@redvars/peacock 3.8.2 → 3.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/components.css.map +1 -1
- package/dist/assets/styles.css.map +1 -1
- package/dist/babel-DBsfpl3B.js +18 -0
- package/dist/babel-DBsfpl3B.js.map +1 -0
- package/dist/button-group.js +4 -4
- package/dist/button-group.js.map +1 -1
- package/dist/button.js +5 -5
- package/dist/card.js +22 -7
- package/dist/card.js.map +1 -1
- package/dist/code-highlighter.js +74 -11212
- package/dist/code-highlighter.js.map +1 -1
- package/dist/color-picker.js +701 -0
- package/dist/color-picker.js.map +1 -0
- package/dist/custom-elements-jsdocs.json +96 -3
- package/dist/custom-elements.json +1202 -576
- package/dist/estree-C2LDzX4U.js +47 -0
- package/dist/estree-C2LDzX4U.js.map +1 -0
- package/dist/fab.js +1 -3
- package/dist/fab.js.map +1 -1
- package/dist/html-D22sQuVy.js +27 -0
- package/dist/html-D22sQuVy.js.map +1 -0
- package/dist/icon-button.js +5 -5
- package/dist/index-_g_oLekF.js +14095 -0
- package/dist/index-_g_oLekF.js.map +1 -0
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/item.js +3 -2
- package/dist/item.js.map +1 -1
- package/dist/{list-D6JLh1uh.js → list-H0itjRte.js} +194 -20
- package/dist/list-H0itjRte.js.map +1 -0
- package/dist/list.js +2 -2
- package/dist/loader.js +6 -2
- package/dist/loader.js.map +1 -1
- package/dist/menu-item.js +103 -33
- package/dist/menu-item.js.map +1 -1
- package/dist/menu.js +4 -18
- package/dist/menu.js.map +1 -1
- package/dist/navigation-rail-item.js +21 -6
- package/dist/navigation-rail-item.js.map +1 -1
- package/dist/navigation-rail.js +22 -20
- package/dist/navigation-rail.js.map +1 -1
- package/dist/pierre-dark-DFWl0m-C.js +4 -0
- package/dist/pierre-dark-DFWl0m-C.js.map +1 -0
- package/dist/pierre-light-BEkAPImt.js +4 -0
- package/dist/pierre-light-BEkAPImt.js.map +1 -0
- package/dist/postcss-BhbitHaI.js +64 -0
- package/dist/postcss-BhbitHaI.js.map +1 -0
- package/dist/{select-Dwtk0RIU.js → select-CspawZ18.js} +13 -6
- package/dist/{select-Dwtk0RIU.js.map → select-CspawZ18.js.map} +1 -1
- package/dist/side-sheet.js +1 -1
- package/dist/side-sheet.js.map +1 -1
- package/dist/src/button/button-group/button-group.d.ts +4 -4
- package/dist/src/code-highlighter/code-highlighter.d.ts +2 -2
- package/dist/src/color-picker/color-picker.d.ts +85 -0
- package/dist/src/color-picker/index.d.ts +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/item/item.d.ts +0 -1
- package/dist/src/list/list-item.d.ts +3 -1
- package/dist/src/list/list.d.ts +24 -0
- package/dist/src/menu/menu-item/menu-item.d.ts +1 -2
- package/dist/standalone-Ccq0tWwA.js +32 -0
- package/dist/standalone-Ccq0tWwA.js.map +1 -0
- package/dist/sub-menu.js +6 -1
- package/dist/sub-menu.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/readme.md +3 -3
- package/scss/mixin.scss +1 -0
- package/src/button/button/button-base.scss +2 -1
- package/src/button/button/button-layers.scss +2 -6
- package/src/button/button-group/button-group.ts +4 -4
- package/src/button/fab/fab.ts +0 -4
- package/src/card/card.scss +18 -5
- package/src/code-highlighter/code-highlighter.ts +94 -39
- package/src/color-picker/color-picker.scss +217 -0
- package/src/color-picker/color-picker.ts +478 -0
- package/src/color-picker/index.ts +1 -0
- package/src/index.ts +1 -0
- package/src/item/item.scss +3 -1
- package/src/item/item.ts +0 -1
- package/src/list/list-item.scss +5 -1
- package/src/list/list-item.ts +40 -14
- package/src/list/list.ts +164 -2
- package/src/loader.ts +4 -0
- package/src/menu/menu/menu.scss +4 -18
- package/src/menu/menu/menu.ts +0 -1
- package/src/menu/menu-item/menu-item.scss +73 -43
- package/src/menu/menu-item/menu-item.ts +60 -27
- package/src/menu/sub-menu/sub-menu.scss +5 -1
- package/src/navigation-rail/navigation-rail-item.scss +25 -8
- package/src/navigation-rail/navigation-rail.scss +25 -22
- package/src/side-sheet/side-sheet.ts +1 -1
- package/src/sidebar-menu/sidebar-menu-item.scss +12 -6
- package/dist/list-D6JLh1uh.js.map +0 -1
package/dist/button-group.js
CHANGED
|
@@ -99,14 +99,14 @@ var css_248z = i`* {
|
|
|
99
99
|
|
|
100
100
|
* @example
|
|
101
101
|
* ```html
|
|
102
|
-
* <wc-button-group connected
|
|
103
|
-
* <wc-icon-button toggle="true"
|
|
102
|
+
* <wc-button-group connected>
|
|
103
|
+
* <wc-icon-button toggle="true" shape="wide" selected>
|
|
104
104
|
* <wc-icon name="format_bold"></wc-icon>
|
|
105
105
|
* </wc-icon-button>
|
|
106
|
-
* <wc-icon-button toggle="true"
|
|
106
|
+
* <wc-icon-button toggle="true" shape="wide">
|
|
107
107
|
* <wc-icon name="format_italic"></wc-icon>
|
|
108
108
|
* </wc-icon-button>
|
|
109
|
-
* <wc-icon-button toggle="true"
|
|
109
|
+
* <wc-icon-button toggle="true" shape="wide">
|
|
110
110
|
* <wc-icon name="format_underlined"></wc-icon>
|
|
111
111
|
* </wc-icon-button>
|
|
112
112
|
* </wc-button-group>
|
package/dist/button-group.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-group.js","sources":["../../src/button/button-group/button-group.ts"],"sourcesContent":["import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './button-group.scss';\nimport { Button, ButtonColor } from '../button/button.js';\nimport { IconButton } from '../icon-button/icon-button.js';\n\n/**\n * @label Button Group\n * @tag wc-button-group\n * @rawTag button-group\n *\n * @summary Group a series of buttons together on a single line with the button group, and super-power.\n\n * @example\n * ```html\n * <wc-button-group connected
|
|
1
|
+
{"version":3,"file":"button-group.js","sources":["../../src/button/button-group/button-group.ts"],"sourcesContent":["import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './button-group.scss';\nimport { Button, ButtonColor } from '../button/button.js';\nimport { IconButton } from '../icon-button/icon-button.js';\n\n/**\n * @label Button Group\n * @tag wc-button-group\n * @rawTag button-group\n *\n * @summary Group a series of buttons together on a single line with the button group, and super-power.\n\n * @example\n * ```html\n * <wc-button-group connected>\n * <wc-icon-button toggle=\"true\" shape=\"wide\" selected>\n * <wc-icon name=\"format_bold\"></wc-icon>\n * </wc-icon-button>\n * <wc-icon-button toggle=\"true\" shape=\"wide\">\n * <wc-icon name=\"format_italic\"></wc-icon>\n * </wc-icon-button>\n * <wc-icon-button toggle=\"true\" shape=\"wide\">\n * <wc-icon name=\"format_underlined\"></wc-icon>\n * </wc-icon-button>\n * </wc-button-group>\n * ```\n *\n * @tags controls\n */\n@IndividualComponent\nclass ButtonGroup extends LitElement {\n // Lit prefers CSS-in-JS for better performance and scoping.\n // If you prefer keeping the SCSS file, you'll need a build tool (like Vite or Webpack)\n // that can import .scss files as lit-css.\n static styles = [styles];\n\n static Button = Button;\n\n static IconButton = IconButton;\n\n /**\n * Button size.\n * Possible values are `\"sm\"`, `\"md\"`, `\"lg\"`. Defaults to `\"md\"`.\n */\n @property({ reflect: true }) size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = 'sm';\n\n /**\n * Layout variant of the button group.\n * `\"standard\"` shows buttons with a small gap between them.\n * `\"connected\"` places buttons with a 2px gap;\n * rounded outer corners and middle buttons keep standard rounded corners.\n * Defaults to `\"standard\"`.\n */\n @property({ type: Boolean, reflect: true }) connected = false;\n\n /**\n * Color applied to all buttons in the group.\n * Possible values are `\"primary\"`, `\"success\"`, `\"danger\"`, `\"warning\"`, `\"surface\"`, `\"on-surface\"`.\n */\n @property({ reflect: true }) color?: ButtonColor;\n\n /**\n * Visual style applied to all buttons in the group.\n * Possible values are `\"filled\"`, `\"tonal\"`, `\"outlined\"`.\n */\n @property({ attribute: 'variant', reflect: true }) variant?:\n | 'filled'\n | 'tonal'\n | 'outlined';\n\n override updated() {\n this._syncButtonProperties();\n }\n\n private _getSlottedElements(): HTMLElement[] {\n const slot = this.shadowRoot?.querySelector('slot');\n return (slot?.assignedElements({ flatten: true }) ?? []) as HTMLElement[];\n }\n\n private _syncButtonProperties() {\n const children = this._getSlottedElements();\n children.forEach((child, index) => {\n ['color', 'variant', 'toggle', 'size'].forEach(prop => {\n // @ts-ignore\n if (this[prop] && prop in child) {\n // @ts-ignore\n (child as any)[prop] = this[prop];\n }\n });\n });\n }\n\n render() {\n return html`\n <slot @slotchange=${() => this._syncButtonProperties()}></slot>\n `;\n }\n}\n\nexport default ButtonGroup;\n"],"names":["LitElement","html","styles","property"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AAEH,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQA,GAAU,CAAA;AAApC,IAAA,WAAA,GAAA;;AAUE;;;AAGG;QAC0B,IAAA,CAAA,IAAI,GAAqC,IAAI;AAE1E;;;;;;AAMG;QACyC,IAAA,CAAA,SAAS,GAAG,KAAK;IA4C/D;IA3BW,OAAO,GAAA;QACd,IAAI,CAAC,qBAAqB,EAAE;IAC9B;IAEQ,mBAAmB,GAAA;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC;AACnD,QAAA,QAAQ,IAAI,EAAE,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE;IACzD;IAEQ,qBAAqB,GAAA;AAC3B,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,EAAE;QAC3C,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,KAAI;AAChC,YAAA,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,IAAG;;gBAEpD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,EAAE;;oBAE9B,KAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;gBACnC;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;IAEA,MAAM,GAAA;AACJ,QAAA,OAAOC,CAAI,CAAA;AACW,wBAAA,EAAA,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAA;KACvD;IACH;;AAjEA;AACA;AACA;AACO,WAAA,CAAA,MAAM,GAAG,CAACC,QAAM,CAAC;AAEjB,WAAA,CAAA,MAAM,GAAG,MAAH;AAEN,WAAA,CAAA,UAAU,GAAG,UAAH;AAMY,UAAA,CAAA;AAA5B,IAAAC,CAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AAAgD,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAS/B,UAAA,CAAA;IAA3CA,CAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAAoB,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,WAAA,EAAA,MAAA,CAAA;AAMjC,UAAA,CAAA;AAA5B,IAAAA,CAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AAAsB,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAME,UAAA,CAAA;IAAlDA,CAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;AAGlC,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAtCX,WAAW,GAAA,UAAA,CAAA;IADhB;AACK,CAAA,EAAA,WAAW,CAmEhB;AAED,oBAAe,WAAW;;;;"}
|
package/dist/button.js
CHANGED
|
@@ -59,7 +59,7 @@ var css_248z = i`.button {
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
.focus-ring {
|
|
62
|
-
z-index:
|
|
62
|
+
z-index: 1;
|
|
63
63
|
pointer-events: none;
|
|
64
64
|
--focus-ring-container-shape-start-start: var(
|
|
65
65
|
--private-button-container-shape-start-start,
|
|
@@ -98,7 +98,6 @@ var css_248z = i`.button {
|
|
|
98
98
|
position: absolute;
|
|
99
99
|
inset: 0;
|
|
100
100
|
pointer-events: none;
|
|
101
|
-
z-index: 2;
|
|
102
101
|
--skeleton-container-shape-start-start: var(
|
|
103
102
|
--private-button-container-shape-start-start,
|
|
104
103
|
var(--private-button-container-shape)
|
|
@@ -150,7 +149,6 @@ var css_248z = i`.button {
|
|
|
150
149
|
position: absolute;
|
|
151
150
|
inset: 0;
|
|
152
151
|
pointer-events: none;
|
|
153
|
-
z-index: 0;
|
|
154
152
|
border: var(--private-button-outline-width) solid var(--private-button-outline-color);
|
|
155
153
|
opacity: var(--private-button-outline-opacity, 1);
|
|
156
154
|
border-start-start-radius: var(--private-button-container-shape-start-start, var(--private-button-container-shape));
|
|
@@ -165,7 +163,7 @@ var css_248z = i`.button {
|
|
|
165
163
|
}
|
|
166
164
|
|
|
167
165
|
.tooltip {
|
|
168
|
-
z-index:
|
|
166
|
+
z-index: 1;
|
|
169
167
|
}
|
|
170
168
|
|
|
171
169
|
* {
|
|
@@ -226,6 +224,7 @@ var css_248z = i`.button {
|
|
|
226
224
|
text-decoration: none;
|
|
227
225
|
color: inherit;
|
|
228
226
|
cursor: pointer;
|
|
227
|
+
outline: none;
|
|
229
228
|
}
|
|
230
229
|
.native-link:link, .native-link:visited, .native-link:hover, .native-link:active {
|
|
231
230
|
text-decoration: none;
|
|
@@ -239,7 +238,6 @@ var css_248z = i`.button {
|
|
|
239
238
|
height: var(--button-height);
|
|
240
239
|
padding: 0 var(--button-container-padding, var(--private-button-container-padding));
|
|
241
240
|
width: 100%;
|
|
242
|
-
z-index: 0;
|
|
243
241
|
}
|
|
244
242
|
.button .label {
|
|
245
243
|
font-family: var(--font-family-sans) !important;
|
|
@@ -250,6 +248,8 @@ var css_248z = i`.button {
|
|
|
250
248
|
color: var(--private-button-label-text-color);
|
|
251
249
|
--icon-size: var(--button-icon-size, var(--private-button-icon-size));
|
|
252
250
|
--icon-color: var(--private-button-label-text-color);
|
|
251
|
+
opacity: var(--private-button-label-text-opacity, 1);
|
|
252
|
+
display: inline-flex;
|
|
253
253
|
pointer-events: none;
|
|
254
254
|
}
|
|
255
255
|
.button .touch {
|
package/dist/card.js
CHANGED
|
@@ -33,10 +33,22 @@ var css_248z$1 = i`* {
|
|
|
33
33
|
--card-container-shape-start-end: unset;
|
|
34
34
|
--card-container-shape-end-start: unset;
|
|
35
35
|
--card-container-shape-end-end: unset;
|
|
36
|
-
--_container-shape-start-start: var(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
--_container-shape-start-start: var(
|
|
37
|
+
--card-container-shape-start-start,
|
|
38
|
+
var(--card-container-shape)
|
|
39
|
+
);
|
|
40
|
+
--_container-shape-start-end: var(
|
|
41
|
+
--card-container-shape-start-end,
|
|
42
|
+
var(--card-container-shape)
|
|
43
|
+
);
|
|
44
|
+
--_container-shape-end-start: var(
|
|
45
|
+
--card-container-shape-end-start,
|
|
46
|
+
var(--card-container-shape)
|
|
47
|
+
);
|
|
48
|
+
--_container-shape-end-end: var(
|
|
49
|
+
--card-container-shape-end-end,
|
|
50
|
+
var(--card-container-shape)
|
|
51
|
+
);
|
|
40
52
|
}
|
|
41
53
|
|
|
42
54
|
/*
|
|
@@ -151,11 +163,14 @@ var css_248z$1 = i`* {
|
|
|
151
163
|
corner-shape: var(--_container-corner-shape-variant);
|
|
152
164
|
}
|
|
153
165
|
|
|
154
|
-
:host([actionable]) .focus-ring,
|
|
155
|
-
:host([actionable]) .ripple
|
|
166
|
+
:host([actionable]:not([disabled])) .focus-ring,
|
|
167
|
+
:host([actionable]:not([disabled])) .ripple,
|
|
168
|
+
:host([href]) .focus-ring,
|
|
169
|
+
:host([href]) .ripple {
|
|
156
170
|
display: block;
|
|
157
171
|
}
|
|
158
|
-
:host([actionable]) .card-content
|
|
172
|
+
:host([actionable]:not([disabled])) .card-content,
|
|
173
|
+
:host([href]) .card-content {
|
|
159
174
|
pointer-events: none;
|
|
160
175
|
}
|
|
161
176
|
|
package/dist/card.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sources":["../../src/card/card.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport {\n dispatchActivationClick,\n isActivationClick,\n} from '../__internal/utils/dispatch-event-utils.js';\nimport { isLink } from '@/__internal/utils/is-link.js';\nimport { observerSlotChangesWithCallback } from '@/__internal/utils/observe-slot-change.js';\nimport { throttle } from '@/__internal/utils/throttle.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './card.scss';\nimport colorStyles from './card-colors.scss';\nimport NativeHyperlinkMixin from '@/__internal/mixins/NativeHyperlinkMixin.js';\n\ntype CardVariant = 'elevated' | 'filled' | 'outlined';\n\n/**\n * @label Card\n * @tag wc-card\n * @rawTag card\n * @summary A card surface for grouping related content.\n * @cssprop --card-padding - Inner padding for the card container. Defaults to 1rem.\n * @cssprop --card-shape - Corner radius for the card container. Defaults to a large radius.\n * @cssprop --card-gap - Gap between slotted children.\n *\n * @example\n * ```html\n * <wc-card variant=\"outlined\" style=\"padding-block: 1rem;\">\n * <wc-card-content>\n * <h3 class=\"text-headline\">Title</h3>\n * <p class=\"text-body\">Supportive text</p>\n * </wc-card-content>\n * </wc-card>\n * ```\n */\n@IndividualComponent\nexport class Card extends NativeHyperlinkMixin(LitElement) {\n static styles = [styles, colorStyles];\n\n #id = crypto.randomUUID();\n\n @property({ type: String, reflect: true })\n variant: CardVariant = 'elevated';\n\n @property({ type: Boolean, reflect: true })\n disabled: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n actionable: boolean = false;\n\n /**\n * If button is disabled, the reason why it is disabled.\n */\n @property({ attribute: 'disabled-reason' })\n disabledReason: string = '';\n\n /**\n * Sets the delay for throttle in milliseconds. When null (default), no throttle is applied.\n */\n @property() throttleDelay?: number;\n\n /**\n * States\n */\n @state()\n private slotHasContent = false;\n\n @query('.card') readonly cardElement!: HTMLElement | null;\n\n #tabindex?: number = 0;\n\n constructor() {\n super();\n this.addEventListener('click', this.__dispatchClickWithThrottle);\n }\n\n override firstUpdated() {\n if (typeof this.throttleDelay === 'number') {\n this.__dispatchClickWithThrottle = throttle(\n this.__dispatchClick,\n this.throttleDelay,\n );\n }\n observerSlotChangesWithCallback(\n this.renderRoot.querySelector('slot'),\n hasContent => {\n this.slotHasContent = hasContent;\n this.requestUpdate();\n },\n );\n }\n\n __dispatchClickWithThrottle: (event: MouseEvent | KeyboardEvent) => void =\n event => {\n this.__dispatchClick(event);\n };\n\n __dispatchClick = (event: MouseEvent | KeyboardEvent) => {\n // If the button is soft-disabled or a disabled link, we need to explicitly\n // prevent the click from propagating to other event listeners as well as\n // prevent the default action.\n if (this.disabled && this.href) {\n event.stopImmediatePropagation();\n event.preventDefault();\n return;\n }\n\n if (!isActivationClick(event) || !this.cardElement) {\n return;\n }\n\n this.focus();\n dispatchActivationClick(this.cardElement);\n };\n\n __getDisabledReasonID() {\n return this.disabled && this.disabledReason\n ? `disabled-reason-${this.#id}`\n : nothing;\n }\n\n __renderDisabledReason() {\n const disabledReasonID = this.__getDisabledReasonID();\n if (disabledReasonID)\n return html`<div\n id=\"disabled-reason-${this.#id}\"\n role=\"tooltip\"\n aria-label=${this.disabledReason}\n class=\"screen-reader-only\"\n >\n ${this.disabledReason}\n </div>`;\n return nothing;\n }\n\n render() {\n const isLinkElement = isLink(this);\n const disableSlotTabbing = this.actionable || isLinkElement;\n\n return html`\n <wc-focus-ring class=\"focus-ring\" for=\"card\"></wc-focus-ring>\n <wc-elevation class=\"elevation\"></wc-elevation>\n <div class=\"background\"></div>\n <div class=\"outline\"></div>\n <wc-ripple class=\"ripple\" for=\"card\"></wc-ripple>\n\n ${this.renderCardElement(isLinkElement, disableSlotTabbing)}\n `;\n }\n\n renderCardElement(isLinkElement: boolean, disableSlotTabbing: boolean) {\n const cssClasses = {\n card: true,\n 'card-element': true,\n [`variant-${this.variant}`]: true,\n actionable: (this.actionable && !this.disabled) || isLinkElement,\n disabled: this.disabled,\n 'has-content': this.slotHasContent,\n };\n\n if (!this.actionable && !isLinkElement) {\n return html`<div class=${classMap(cssClasses)} id=\"card\">\n ${this.renderCardContent(disableSlotTabbing)}\n </div>`;\n }\n\n if (!isLinkElement) {\n return html`<button\n class=${classMap(cssClasses)}\n id=\"card\"\n tabindex=${this.#tabindex}\n ?aria-describedby=${this.__getDisabledReasonID()}\n aria-disabled=${`${this.disabled}`}\n ?disabled=${this.disabled}\n >\n ${this.renderCardContent(disableSlotTabbing)}\n </button>`;\n }\n return html`<a\n class=${classMap(cssClasses)}\n id=\"card\"\n tabindex=${this.#tabindex}\n href=${this.href}\n target=${this.target}\n role=\"button\"\n ?aria-describedby=${this.__getDisabledReasonID()}\n aria-disabled=${`${this.disabled}`}\n >\n ${this.renderCardContent(disableSlotTabbing)}\n </a>`;\n }\n\n renderCardContent(disableSlotTabbing: boolean) {\n return html`\n <div class=\"card-content\">\n <div class=\"slot-container\" ?inert=${disableSlotTabbing}>\n <slot></slot>\n </div>\n </div>\n `;\n }\n}\n"],"names":["LitElement","nothing","html","classMap","styles","colorStyles","property","state","query"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"card.js","sources":["../../src/card/card.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport {\n dispatchActivationClick,\n isActivationClick,\n} from '../__internal/utils/dispatch-event-utils.js';\nimport { isLink } from '@/__internal/utils/is-link.js';\nimport { observerSlotChangesWithCallback } from '@/__internal/utils/observe-slot-change.js';\nimport { throttle } from '@/__internal/utils/throttle.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './card.scss';\nimport colorStyles from './card-colors.scss';\nimport NativeHyperlinkMixin from '@/__internal/mixins/NativeHyperlinkMixin.js';\n\ntype CardVariant = 'elevated' | 'filled' | 'outlined';\n\n/**\n * @label Card\n * @tag wc-card\n * @rawTag card\n * @summary A card surface for grouping related content.\n * @cssprop --card-padding - Inner padding for the card container. Defaults to 1rem.\n * @cssprop --card-shape - Corner radius for the card container. Defaults to a large radius.\n * @cssprop --card-gap - Gap between slotted children.\n *\n * @example\n * ```html\n * <wc-card variant=\"outlined\" style=\"padding-block: 1rem;\">\n * <wc-card-content>\n * <h3 class=\"text-headline\">Title</h3>\n * <p class=\"text-body\">Supportive text</p>\n * </wc-card-content>\n * </wc-card>\n * ```\n */\n@IndividualComponent\nexport class Card extends NativeHyperlinkMixin(LitElement) {\n static styles = [styles, colorStyles];\n\n #id = crypto.randomUUID();\n\n @property({ type: String, reflect: true })\n variant: CardVariant = 'elevated';\n\n @property({ type: Boolean, reflect: true })\n disabled: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n actionable: boolean = false;\n\n /**\n * If button is disabled, the reason why it is disabled.\n */\n @property({ attribute: 'disabled-reason' })\n disabledReason: string = '';\n\n /**\n * Sets the delay for throttle in milliseconds. When null (default), no throttle is applied.\n */\n @property() throttleDelay?: number;\n\n /**\n * States\n */\n @state()\n private slotHasContent = false;\n\n @query('.card') readonly cardElement!: HTMLElement | null;\n\n #tabindex?: number = 0;\n\n constructor() {\n super();\n this.addEventListener('click', this.__dispatchClickWithThrottle);\n }\n\n override firstUpdated() {\n if (typeof this.throttleDelay === 'number') {\n this.__dispatchClickWithThrottle = throttle(\n this.__dispatchClick,\n this.throttleDelay,\n );\n }\n observerSlotChangesWithCallback(\n this.renderRoot.querySelector('slot'),\n hasContent => {\n this.slotHasContent = hasContent;\n this.requestUpdate();\n },\n );\n }\n\n __dispatchClickWithThrottle: (event: MouseEvent | KeyboardEvent) => void =\n event => {\n this.__dispatchClick(event);\n };\n\n __dispatchClick = (event: MouseEvent | KeyboardEvent) => {\n // If the button is soft-disabled or a disabled link, we need to explicitly\n // prevent the click from propagating to other event listeners as well as\n // prevent the default action.\n if (this.disabled && this.href) {\n event.stopImmediatePropagation();\n event.preventDefault();\n return;\n }\n\n if (!isActivationClick(event) || !this.cardElement) {\n return;\n }\n\n this.focus();\n dispatchActivationClick(this.cardElement);\n };\n\n __getDisabledReasonID() {\n return this.disabled && this.disabledReason\n ? `disabled-reason-${this.#id}`\n : nothing;\n }\n\n __renderDisabledReason() {\n const disabledReasonID = this.__getDisabledReasonID();\n if (disabledReasonID)\n return html`<div\n id=\"disabled-reason-${this.#id}\"\n role=\"tooltip\"\n aria-label=${this.disabledReason}\n class=\"screen-reader-only\"\n >\n ${this.disabledReason}\n </div>`;\n return nothing;\n }\n\n render() {\n const isLinkElement = isLink(this);\n const disableSlotTabbing = this.actionable || isLinkElement;\n\n return html`\n <wc-focus-ring class=\"focus-ring\" for=\"card\"></wc-focus-ring>\n <wc-elevation class=\"elevation\"></wc-elevation>\n <div class=\"background\"></div>\n <div class=\"outline\"></div>\n <wc-ripple class=\"ripple\" for=\"card\"></wc-ripple>\n\n ${this.renderCardElement(isLinkElement, disableSlotTabbing)}\n `;\n }\n\n renderCardElement(isLinkElement: boolean, disableSlotTabbing: boolean) {\n const cssClasses = {\n card: true,\n 'card-element': true,\n [`variant-${this.variant}`]: true,\n actionable: (this.actionable && !this.disabled) || isLinkElement,\n disabled: this.disabled,\n 'has-content': this.slotHasContent,\n };\n\n if (!this.actionable && !isLinkElement) {\n return html`<div class=${classMap(cssClasses)} id=\"card\">\n ${this.renderCardContent(disableSlotTabbing)}\n </div>`;\n }\n\n if (!isLinkElement) {\n return html`<button\n class=${classMap(cssClasses)}\n id=\"card\"\n tabindex=${this.#tabindex}\n ?aria-describedby=${this.__getDisabledReasonID()}\n aria-disabled=${`${this.disabled}`}\n ?disabled=${this.disabled}\n >\n ${this.renderCardContent(disableSlotTabbing)}\n </button>`;\n }\n return html`<a\n class=${classMap(cssClasses)}\n id=\"card\"\n tabindex=${this.#tabindex}\n href=${this.href}\n target=${this.target}\n role=\"button\"\n ?aria-describedby=${this.__getDisabledReasonID()}\n aria-disabled=${`${this.disabled}`}\n >\n ${this.renderCardContent(disableSlotTabbing)}\n </a>`;\n }\n\n renderCardContent(disableSlotTabbing: boolean) {\n return html`\n <div class=\"card-content\">\n <div class=\"slot-container\" ?inert=${disableSlotTabbing}>\n <slot></slot>\n </div>\n </div>\n `;\n }\n}\n"],"names":["LitElement","nothing","html","classMap","styles","colorStyles","property","state","query"],"mappings":"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"}
|