mirror of
https://github.com/shoelace-style/webawesome.git
synced 2026-01-21 08:14:16 +00:00
Compare commits
4 Commits
kj/card-fi
...
v3.0.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fc38e59d9f | ||
|
|
9716ecec41 | ||
|
|
776b980ce5 | ||
|
|
02f58d3c8b |
19
packages/webawesome/docs/_includes/_banner-wa-launch.njk
Normal file
19
packages/webawesome/docs/_includes/_banner-wa-launch.njk
Normal file
@@ -0,0 +1,19 @@
|
||||
{% raw %}
|
||||
{%- if not currentUser.hasPro -%}
|
||||
<div slot="banner" class="banner-wa-launch wa-dark">
|
||||
<div class="banner-content wa-split">
|
||||
<div class="wa-cluster wa-gap-s">
|
||||
<wa-icon name="badge-percent" class="banner-icon"></wa-icon>
|
||||
<p class="wa-body-s">
|
||||
<strong style="margin-inline-end: var(--wa-space-2xs)">Web Awesome is here!</strong>
|
||||
Celebrate with <span class="appearance-underlined variant-drawn">20% off</span> on a Web Awesome Pro plan… <span class="appearance-underlined variant-drawn">for life</span>!
|
||||
</p>
|
||||
</div>
|
||||
<wa-button appearance="outlined" variant="brand" size="small" href="/purchase" class="brand-font">
|
||||
<wa-icon slot="start" variant="regular" name="rocket-launch"></wa-icon>
|
||||
Get Pro + Save 20%
|
||||
</wa-button>
|
||||
</div>
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{% endraw %}
|
||||
@@ -27,7 +27,11 @@
|
||||
</script>
|
||||
</head>
|
||||
<body class="layout-{{ layout | stripExtension }} page-{{ pageClass or page.fileSlug or 'home' }}{{ ' page-wide' if wide }}">
|
||||
{% set defaultWaPageAttributes = defaultWaPageAttributes or { view: 'desktop', 'disable-navigation-toggle': true, 'mobile-breakpoint': 1180 } %}
|
||||
{% if hasBanner == undefined %}
|
||||
{% set hasBanner = true %}
|
||||
{% endif %}
|
||||
|
||||
{% set defaultWaPageAttributes = defaultWaPageAttributes or { view: 'desktop', 'disable-navigation-toggle': true, 'mobile-breakpoint': 1180, 'disable-sticky': 'banner' } %}
|
||||
{% set waPageAttributes = waPageAttributes or {} %}
|
||||
{% set mergedWaPageAttributes = defaultWaPageAttributes | merge(waPageAttributes) %}
|
||||
<wa-page
|
||||
@@ -37,6 +41,13 @@
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
>
|
||||
{% block pageBanner %}
|
||||
{% if hasBanner %}
|
||||
{#- WA Launch Banner -#}
|
||||
{% include "_banner-wa-launch.njk" ignore missing %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block pageHeader %}
|
||||
<header slot="header" class="wa-split">
|
||||
{# Nav toggle #}
|
||||
|
||||
@@ -27,6 +27,43 @@ body.theme-transitioning {
|
||||
transition: opacity 200ms ease-out;
|
||||
}
|
||||
|
||||
/* banner */
|
||||
wa-page > [slot='banner'] {
|
||||
padding: var(--wa-space-0);
|
||||
|
||||
.banner-content {
|
||||
/* match docs header padding-inline by default */
|
||||
padding-inline: var(--wa-space-xl);
|
||||
padding-block: var(--wa-space-m);
|
||||
}
|
||||
|
||||
&.banner-wa-launch {
|
||||
/* custom brand colors carrried over from theme-site for the banner */
|
||||
--wa-color-brand-95: #fef0ec;
|
||||
--wa-color-brand-90: #fce0d8;
|
||||
--wa-color-brand-80: #f8bcac;
|
||||
--wa-color-brand-70: #fa9378;
|
||||
--wa-color-brand-60: #f46a45;
|
||||
--wa-color-brand-50: #cb4b27;
|
||||
--wa-color-brand-40: #9d371a;
|
||||
--wa-color-brand-30: #7c2a13;
|
||||
--wa-color-brand-20: #5d1d0b;
|
||||
--wa-color-brand-10: #3b0f05;
|
||||
--wa-color-brand-05: #270802;
|
||||
--wa-color-brand: var(--wa-color-brand-60);
|
||||
--wa-color-brand-on: var(--wa-color-brand-10);
|
||||
|
||||
.banner-icon {
|
||||
color: var(--wa-color-brand-fill-loud);
|
||||
font-size: var(--wa-font-size-xl);
|
||||
}
|
||||
|
||||
.appearance-underlined.variant-drawn {
|
||||
--underline-color: var(--wa-color-brand);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Header */
|
||||
wa-page::part(header) {
|
||||
background-color: var(--wa-color-surface-default);
|
||||
|
||||
@@ -127,6 +127,28 @@
|
||||
|
||||
/* #region funsies + cosmetics */
|
||||
|
||||
/* decorative underline emphasis */
|
||||
.appearance-underlined.variant-drawn {
|
||||
--underline-color: currentColor;
|
||||
position: relative;
|
||||
text-decoration: none;
|
||||
padding-bottom: 0.4em;
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
height: 0.4em;
|
||||
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20'%3E%3Cpath d='M0,12 Q50,8 100,12' stroke='black' stroke-width='4' fill='none'/%3E%3C/svg%3E");
|
||||
mask-repeat: no-repeat;
|
||||
mask-size: 100% auto;
|
||||
mask-position: 0 100%;
|
||||
background-color: var(--underline-color);
|
||||
}
|
||||
}
|
||||
|
||||
/* grid background */
|
||||
.background-grid {
|
||||
--grid-spacing: var(--wa-space-2xl);
|
||||
|
||||
@@ -100,19 +100,20 @@ If using SSR, you need to also use the `with-media` attribute to add a media sec
|
||||
```html {.example}
|
||||
<div class="wa-grid">
|
||||
<wa-card class="card-media">
|
||||
<img
|
||||
slot="media"
|
||||
src="https://images.unsplash.com/photo-1547191783-94d5f8f6d8b1?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=400&q=80"
|
||||
alt="A kitten walks towards camera on top of pallet."
|
||||
/>
|
||||
This is a kitten, but not just any kitten. This kitten likes walking along pallets.
|
||||
<div slot="media" class="wa-frame:landscape">
|
||||
<img
|
||||
src="https://images.unsplash.com/photo-1547191783-94d5f8f6d8b1?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=400&q=80"
|
||||
alt="A kitten walks towards camera on top of pallet."
|
||||
/>
|
||||
</div>
|
||||
This card has an image of a kitten walking along a pallet.
|
||||
</wa-card>
|
||||
<wa-card class="card-media">
|
||||
<video slot="media" controls>
|
||||
<source src="https://uploads.webawesome.com/dog-with-glasses.mp4" />
|
||||
<p>Your browser doesn't support HTML video</p>
|
||||
</video>
|
||||
This is a kitten, but not just any kitten. This kitten likes walking along pallets.
|
||||
This card has a video of a dog wearing shades.
|
||||
</wa-card>
|
||||
</div>
|
||||
|
||||
@@ -153,10 +154,10 @@ Use the `appearance` attribute to change the card's visual appearance.
|
||||
### Orientation
|
||||
|
||||
Set the `orientation` attribute to `horizontal` to create a card with a horizontal, side-by-side layout. Make sure to set a width or maximum width for the media slot. Horizontal cards do not currently contain the header and footer slots.
|
||||
<wa-callout>
|
||||
<wa-icon slot="icon" name="circle-info" variant="regular"></wa-icon>
|
||||
|
||||
:::info
|
||||
The `actions` slot is only available for the horizontal orientation
|
||||
</wa-callout>
|
||||
:::
|
||||
|
||||
```html {.example}
|
||||
<div class="wa-grid">
|
||||
@@ -166,7 +167,7 @@ The `actions` slot is only available for the horizontal orientation
|
||||
src="https://images.unsplash.com/photo-1559209172-0ff8f6d49ff7?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=500&q=80"
|
||||
alt="A kitten sits patiently between a terracotta pot and decorative grasses."
|
||||
/>
|
||||
This is a kitten, but not just any kitten. This kitten likes walking along pallets.
|
||||
This card has a horizontal orientation with media, body, and actions arranged side-by-side.
|
||||
<wa-button slot="actions" variant="neutral" appearance="plain"
|
||||
><wa-icon name="ellipsis" label="actions"></wa-icon
|
||||
></wa-button>
|
||||
|
||||
@@ -10,7 +10,7 @@ Web Awesome follows [Semantic Versioning](https://semver.org/). Breaking changes
|
||||
|
||||
Components with the <wa-badge variant="warning">Experimental</wa-badge> badge should not be used in production. They are made available as release candidates for development and testing purposes. As such, changes to experimental components will not be subject to semantic versioning.
|
||||
|
||||
## Next
|
||||
## 3.0.0
|
||||
|
||||
- 🚨 BREAKING: Changed `appearance="filled outlined"` to `appearance="filled-outlined"` in the following elements [issue:1127]
|
||||
- `<wa-badge>`
|
||||
@@ -27,6 +27,7 @@ Components with the <wa-badge variant="warning">Experimental</wa-badge> badge sh
|
||||
- Added back the missing `form-control-label` part to `<wa-textarea>` for consistency with other form controls [pr:1533]
|
||||
- Added focus delegation to `<wa-button>` to ensure tabbing works properly when using `tabindex` [issue:1622]
|
||||
- Added [text utilities](/docs/utilities/text/) for longform text, form control text, font sizes, font weights, text color, and truncation [pr:1602]
|
||||
- Added version 1.0.0 of the [official Web Awesome Figma Design Kit](/docs/resources/figma)
|
||||
- Fixed a bug in `<wa-button>` where slotted badges weren't properly positioned in buttons with an `href` [issue:1377]
|
||||
- Fixed focus outline styles in `<wa-details>` and native `<details>` [issue:1456]
|
||||
- Fixed focus outline styles in `<wa-scroller>`, `<wa-dialog>`, and `<wa-drawer>` [issue:1484]
|
||||
@@ -40,7 +41,9 @@ Components with the <wa-badge variant="warning">Experimental</wa-badge> badge sh
|
||||
- Fixed a bug that caused the required `*` in form labels to have incorrect spacing in `<wa-checkbox>` and `<wa-switch>` [issue:1472]
|
||||
- Fixed a bug in `<wa-dialog>` and `<wa-drawer>` that caused the component to prematurely hide when certain child elements are used [pr:1636]
|
||||
- Fixed a bug in `<wa-popover>` and `<wa-tooltip>` that prevented dots and other valid ID characters from being used [issue:1648]
|
||||
- [Pro] Fixed a bug in `<wa-page>` that caused menu and aside content to reserve space for slots with `disable-sticky`
|
||||
- Fixed incorrect docs for the `wa-include-error` event which is dispatched by `<wa-include>` [issue:1663]
|
||||
- Fixed a bug in `<wa-card>` where slotted header and footer content wasn't properly aligned [pr:1435]
|
||||
- Improved autofill styles in `<wa-input>` so they span the entire width of the visual input [issue:1439]
|
||||
- Improved [text utilities](/docs/utilities/text/) so that each size modifier always exactly matches the applied font size [pr:1602]
|
||||
- Improved Native Styles to use the `--wa-font-weight-code` design token
|
||||
@@ -489,4 +492,4 @@ Many of these changes and improvements were the direct result of feedback from u
|
||||
|
||||
</details>
|
||||
|
||||
Did we miss something? [Let us know!](https://github.com/shoelace-style/webawesome/discussions)
|
||||
Did we miss something? [Let us know!](https://github.com/shoelace-style/webawesome/discussions)
|
||||
@@ -4,7 +4,7 @@
|
||||
"access": "public"
|
||||
},
|
||||
"description": "A forward-thinking library of web components.",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0",
|
||||
"homepage": "https://webawesome.com/",
|
||||
"author": "Web Awesome",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -77,9 +77,7 @@
|
||||
}
|
||||
|
||||
.header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
display: block;
|
||||
border-block-end-style: inherit;
|
||||
border-block-end-color: var(--wa-color-surface-border);
|
||||
border-block-end-width: var(--wa-panel-border-width);
|
||||
@@ -92,15 +90,20 @@
|
||||
}
|
||||
|
||||
.footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
display: block;
|
||||
border-block-start-style: inherit;
|
||||
border-block-start-color: var(--wa-color-surface-border);
|
||||
border-block-start-width: var(--wa-panel-border-width);
|
||||
padding: var(--spacing);
|
||||
}
|
||||
|
||||
/* Push slots to sides when the action slots renders */
|
||||
.has-actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
:host(:not([with-header])) .header,
|
||||
:host(:not([with-footer])) .footer,
|
||||
:host(:not([with-media])) .media {
|
||||
@@ -115,7 +118,12 @@
|
||||
border-start-start-radius: var(--inner-border-radius);
|
||||
border-end-start-radius: var(--inner-border-radius);
|
||||
border-start-end-radius: 0;
|
||||
object-fit: cover;
|
||||
|
||||
&::slotted(*) {
|
||||
block-size: 100%;
|
||||
inline-size: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -69,15 +69,25 @@ export default class WaCard extends WebAwesomeElement {
|
||||
// Vertical Orientation
|
||||
return html`
|
||||
<slot name="media" part="media" class="media"></slot>
|
||||
<header part="header" class="header">
|
||||
<slot name="header"></slot>
|
||||
<slot name="header-actions"></slot>
|
||||
</header>
|
||||
|
||||
${this.hasSlotController.test('header-actions')
|
||||
? html` <header part="header" class="header has-actions">
|
||||
<slot name="header"></slot>
|
||||
<slot name="header-actions"></slot>
|
||||
</header>`
|
||||
: html` <header part="header" class="header">
|
||||
<slot name="header"></slot>
|
||||
</header>`}
|
||||
|
||||
<slot part="body" class="body"></slot>
|
||||
<footer part="footer" class="footer">
|
||||
<slot name="footer"></slot>
|
||||
<slot name="footer-actions"></slot>
|
||||
</footer>
|
||||
${this.hasSlotController.test('footer-actions')
|
||||
? html` <footer part="footer" class="footer has-actions">
|
||||
<slot name="footer"></slot>
|
||||
<slot name="footer-actions"></slot>
|
||||
</footer>`
|
||||
: html` <footer part="footer" class="footer">
|
||||
<slot name="footer"></slot>
|
||||
</footer>`}
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user