@redvars/peacock 3.8.2 → 3.8.4

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.
Files changed (225) hide show
  1. package/dist/accordion-item.js +15 -6
  2. package/dist/accordion-item.js.map +1 -1
  3. package/dist/accordion.js +12 -11
  4. package/dist/accordion.js.map +1 -1
  5. package/dist/alert.js +1 -0
  6. package/dist/alert.js.map +1 -1
  7. package/dist/app-bar.js +1 -0
  8. package/dist/app-bar.js.map +1 -1
  9. package/dist/assets/components.css +1 -1
  10. package/dist/assets/components.css.map +1 -1
  11. package/dist/assets/styles.css +1 -1
  12. package/dist/assets/styles.css.map +1 -1
  13. package/dist/avatar.js +1 -0
  14. package/dist/avatar.js.map +1 -1
  15. package/dist/babel-DBsfpl3B.js +18 -0
  16. package/dist/babel-DBsfpl3B.js.map +1 -0
  17. package/dist/badge.js +1 -0
  18. package/dist/badge.js.map +1 -1
  19. package/dist/bottom-sheet.js +1 -0
  20. package/dist/bottom-sheet.js.map +1 -1
  21. package/dist/breadcrumb-item.js +1 -0
  22. package/dist/breadcrumb-item.js.map +1 -1
  23. package/dist/breadcrumb.js +1 -0
  24. package/dist/breadcrumb.js.map +1 -1
  25. package/dist/button-group.js +5 -4
  26. package/dist/button-group.js.map +1 -1
  27. package/dist/button.js +9 -8
  28. package/dist/button.js.map +1 -1
  29. package/dist/calendar-column-view.js +1 -0
  30. package/dist/calendar-column-view.js.map +1 -1
  31. package/dist/calendar-month-view.js +1 -0
  32. package/dist/calendar-month-view.js.map +1 -1
  33. package/dist/calendar.js +1 -0
  34. package/dist/calendar.js.map +1 -1
  35. package/dist/canvas.js +1 -0
  36. package/dist/canvas.js.map +1 -1
  37. package/dist/card.js +23 -7
  38. package/dist/card.js.map +1 -1
  39. package/dist/cb-compound-expression.js +1 -0
  40. package/dist/cb-compound-expression.js.map +1 -1
  41. package/dist/cb-divider.js +1 -0
  42. package/dist/cb-divider.js.map +1 -1
  43. package/dist/cb-expression.js +1 -0
  44. package/dist/cb-expression.js.map +1 -1
  45. package/dist/cb-predicate.js +1 -0
  46. package/dist/cb-predicate.js.map +1 -1
  47. package/dist/{chart-bar-CYoGNXnK.js → chart-bar-CapLbc2e.js} +2 -1
  48. package/dist/{chart-bar-CYoGNXnK.js.map → chart-bar-CapLbc2e.js.map} +1 -1
  49. package/dist/chart-bar.js +1 -1
  50. package/dist/chart-doughnut.js +1 -0
  51. package/dist/chart-doughnut.js.map +1 -1
  52. package/dist/chart-pie.js +1 -0
  53. package/dist/chart-pie.js.map +1 -1
  54. package/dist/chart-stacked-bar.js +1 -1
  55. package/dist/checkbox.js +1 -0
  56. package/dist/checkbox.js.map +1 -1
  57. package/dist/chip.js +1 -0
  58. package/dist/chip.js.map +1 -1
  59. package/dist/clock.js +1 -0
  60. package/dist/clock.js.map +1 -1
  61. package/dist/code-editor.js +1 -0
  62. package/dist/code-editor.js.map +1 -1
  63. package/dist/code-highlighter.js +75 -11212
  64. package/dist/code-highlighter.js.map +1 -1
  65. package/dist/color-picker.js +701 -0
  66. package/dist/color-picker.js.map +1 -0
  67. package/dist/condition-builder.js +1 -0
  68. package/dist/condition-builder.js.map +1 -1
  69. package/dist/container.js +1 -0
  70. package/dist/container.js.map +1 -1
  71. package/dist/custom-elements-jsdocs.json +103 -10
  72. package/dist/custom-elements.json +1212 -586
  73. package/dist/divider.js +1 -0
  74. package/dist/divider.js.map +1 -1
  75. package/dist/dropdown-button.js +1 -0
  76. package/dist/dropdown-button.js.map +1 -1
  77. package/dist/elevation.js +1 -0
  78. package/dist/elevation.js.map +1 -1
  79. package/dist/empty-state.js +1 -0
  80. package/dist/empty-state.js.map +1 -1
  81. package/dist/estree-C2LDzX4U.js +47 -0
  82. package/dist/estree-C2LDzX4U.js.map +1 -0
  83. package/dist/fab.js +2 -3
  84. package/dist/fab.js.map +1 -1
  85. package/dist/field.js +1 -0
  86. package/dist/field.js.map +1 -1
  87. package/dist/{flow-designer-node-DsVwQTac.js → flow-designer-node-CGSm6cUH.js} +2 -1
  88. package/dist/{flow-designer-node-DsVwQTac.js.map → flow-designer-node-CGSm6cUH.js.map} +1 -1
  89. package/dist/flow-designer-node.js +1 -1
  90. package/dist/flow-designer.js +1 -1
  91. package/dist/html-D22sQuVy.js +27 -0
  92. package/dist/html-D22sQuVy.js.map +1 -0
  93. package/dist/html-editor.js +1 -0
  94. package/dist/html-editor.js.map +1 -1
  95. package/dist/icon-button.js +6 -5
  96. package/dist/icon-button.js.map +1 -1
  97. package/dist/icon.js +1 -0
  98. package/dist/icon.js.map +1 -1
  99. package/dist/index-_g_oLekF.js +14095 -0
  100. package/dist/index-_g_oLekF.js.map +1 -0
  101. package/dist/index.js +5 -4
  102. package/dist/index.js.map +1 -1
  103. package/dist/item.js +4 -2
  104. package/dist/item.js.map +1 -1
  105. package/dist/link.js +1 -0
  106. package/dist/link.js.map +1 -1
  107. package/dist/{list-D6JLh1uh.js → list-BBmnHm8f.js} +196 -20
  108. package/dist/list-BBmnHm8f.js.map +1 -0
  109. package/dist/list.js +2 -2
  110. package/dist/loader.js +6 -2
  111. package/dist/loader.js.map +1 -1
  112. package/dist/menu-item.js +104 -33
  113. package/dist/menu-item.js.map +1 -1
  114. package/dist/menu.js +5 -18
  115. package/dist/menu.js.map +1 -1
  116. package/dist/modal.js +1 -0
  117. package/dist/modal.js.map +1 -1
  118. package/dist/navigation-rail-item.js +22 -6
  119. package/dist/navigation-rail-item.js.map +1 -1
  120. package/dist/navigation-rail.js +23 -20
  121. package/dist/navigation-rail.js.map +1 -1
  122. package/dist/notification-manager.js +1 -0
  123. package/dist/notification-manager.js.map +1 -1
  124. package/dist/notification.js +1 -0
  125. package/dist/notification.js.map +1 -1
  126. package/dist/number-counter.js +1 -0
  127. package/dist/number-counter.js.map +1 -1
  128. package/dist/pagination.js +1 -0
  129. package/dist/pagination.js.map +1 -1
  130. package/dist/pierre-dark-DFWl0m-C.js +4 -0
  131. package/dist/pierre-dark-DFWl0m-C.js.map +1 -0
  132. package/dist/pierre-light-BEkAPImt.js +4 -0
  133. package/dist/pierre-light-BEkAPImt.js.map +1 -0
  134. package/dist/popover-content.js +1 -0
  135. package/dist/popover-content.js.map +1 -1
  136. package/dist/popover.js +1 -0
  137. package/dist/popover.js.map +1 -1
  138. package/dist/postcss-BhbitHaI.js +64 -0
  139. package/dist/postcss-BhbitHaI.js.map +1 -0
  140. package/dist/radio.js +1 -0
  141. package/dist/radio.js.map +1 -1
  142. package/dist/search.js +1 -0
  143. package/dist/search.js.map +1 -1
  144. package/dist/segmented-button-group.js +1 -0
  145. package/dist/segmented-button-group.js.map +1 -1
  146. package/dist/segmented-button.js +1 -0
  147. package/dist/segmented-button.js.map +1 -1
  148. package/dist/{select-Dwtk0RIU.js → select-D85kpjUt.js} +28 -7
  149. package/dist/{select-Dwtk0RIU.js.map → select-D85kpjUt.js.map} +1 -1
  150. package/dist/side-sheet.js +2 -1
  151. package/dist/side-sheet.js.map +1 -1
  152. package/dist/skeleton.js +1 -0
  153. package/dist/skeleton.js.map +1 -1
  154. package/dist/snackbar.js +1 -0
  155. package/dist/snackbar.js.map +1 -1
  156. package/dist/spinner.js +1 -0
  157. package/dist/spinner.js.map +1 -1
  158. package/dist/split-button.js +1 -0
  159. package/dist/split-button.js.map +1 -1
  160. package/dist/src/accordion/accordion-item.d.ts +1 -1
  161. package/dist/src/accordion/accordion.d.ts +3 -3
  162. package/dist/src/button/button/button.d.ts +2 -2
  163. package/dist/src/button/button-group/button-group.d.ts +4 -4
  164. package/dist/src/code-highlighter/code-highlighter.d.ts +2 -2
  165. package/dist/src/color-picker/color-picker.d.ts +85 -0
  166. package/dist/src/color-picker/index.d.ts +1 -0
  167. package/dist/src/index.d.ts +1 -0
  168. package/dist/src/item/item.d.ts +0 -1
  169. package/dist/src/list/list-item.d.ts +3 -1
  170. package/dist/src/list/list.d.ts +24 -0
  171. package/dist/src/menu/menu-item/menu-item.d.ts +1 -2
  172. package/dist/standalone-Ccq0tWwA.js +32 -0
  173. package/dist/standalone-Ccq0tWwA.js.map +1 -0
  174. package/dist/sub-menu.js +7 -1
  175. package/dist/sub-menu.js.map +1 -1
  176. package/dist/svg.js +1 -0
  177. package/dist/svg.js.map +1 -1
  178. package/dist/tab-group.js +1 -0
  179. package/dist/tab-group.js.map +1 -1
  180. package/dist/tab-panel.js +1 -0
  181. package/dist/tab-panel.js.map +1 -1
  182. package/dist/tab.js +1 -0
  183. package/dist/tab.js.map +1 -1
  184. package/dist/table.js +1 -0
  185. package/dist/table.js.map +1 -1
  186. package/dist/tabs.js +1 -0
  187. package/dist/tabs.js.map +1 -1
  188. package/dist/toolbar.js +1 -0
  189. package/dist/toolbar.js.map +1 -1
  190. package/dist/tooltip.js +1 -0
  191. package/dist/tooltip.js.map +1 -1
  192. package/dist/tsconfig.tsbuildinfo +1 -1
  193. package/package.json +1 -1
  194. package/readme.md +3 -3
  195. package/scss/mixin.scss +2 -0
  196. package/src/accordion/accordion-item.ts +16 -6
  197. package/src/accordion/accordion.scss +2 -2
  198. package/src/accordion/accordion.ts +7 -7
  199. package/src/button/button/button-base.scss +2 -1
  200. package/src/button/button/button-layers.scss +2 -6
  201. package/src/button/button/button.ts +3 -3
  202. package/src/button/button-group/button-group.ts +4 -4
  203. package/src/button/fab/fab.ts +0 -4
  204. package/src/card/card.scss +18 -5
  205. package/src/code-highlighter/code-highlighter.ts +94 -39
  206. package/src/color-picker/color-picker.scss +217 -0
  207. package/src/color-picker/color-picker.ts +478 -0
  208. package/src/color-picker/index.ts +1 -0
  209. package/src/index.ts +1 -0
  210. package/src/item/item.scss +3 -1
  211. package/src/item/item.ts +0 -1
  212. package/src/list/list-item.scss +5 -1
  213. package/src/list/list-item.ts +40 -14
  214. package/src/list/list.ts +164 -2
  215. package/src/loader.ts +4 -0
  216. package/src/menu/menu/menu.scss +4 -18
  217. package/src/menu/menu/menu.ts +0 -1
  218. package/src/menu/menu-item/menu-item.scss +73 -43
  219. package/src/menu/menu-item/menu-item.ts +60 -27
  220. package/src/menu/sub-menu/sub-menu.scss +5 -1
  221. package/src/navigation-rail/navigation-rail-item.scss +25 -8
  222. package/src/navigation-rail/navigation-rail.scss +25 -22
  223. package/src/side-sheet/side-sheet.ts +1 -1
  224. package/src/sidebar-menu/sidebar-menu-item.scss +14 -7
  225. package/dist/list-D6JLh1uh.js.map +0 -1
@@ -8,6 +8,7 @@ import './directive-ZPhl09Yt.js';
8
8
 
9
9
  var css_248z = i`* {
10
10
  box-sizing: border-box;
11
+ -webkit-tap-highlight-color: transparent;
11
12
  }
12
13
 
13
14
  .screen-reader-only {
@@ -179,7 +180,7 @@ var AccordionItem_1;
179
180
  * @part description - The description text container.
180
181
  * @part content - The expandable content region wrapper.
181
182
  *
182
- * @fires {CustomEvent<{ open: boolean }>} accordion-item:toggle - Fired when the panel is expanded or collapsed.
183
+ * @fires {CustomEvent<{ open: boolean }>} accordion-item-toggle - Fired when the panel is expanded or collapsed.
183
184
  *
184
185
  * @example
185
186
  * ```html
@@ -228,7 +229,7 @@ let AccordionItem = AccordionItem_1 = class AccordionItem extends i$1 {
228
229
  if (this.disabled)
229
230
  return;
230
231
  this.open = !this.open;
231
- this.dispatchEvent(new CustomEvent('accordion-item:toggle', {
232
+ this.dispatchEvent(new CustomEvent('accordion-item-toggle', {
232
233
  bubbles: true,
233
234
  composed: true,
234
235
  detail: { open: this.open },
@@ -270,12 +271,16 @@ let AccordionItem = AccordionItem_1 = class AccordionItem extends i$1 {
270
271
  ?disabled=${this.disabled}
271
272
  @click=${this._handleToggle}
272
273
  >
273
- ${this.togglePosition === 'before' ? this._renderToggleIcon() : A}
274
+ ${this.togglePosition === 'before'
275
+ ? this._renderToggleIcon()
276
+ : A}
274
277
  <span class="header-label">
275
278
  <span part="title" class="panel-title">
276
279
  <slot
277
280
  name="heading"
278
- @slotchange=${(e) => AccordionItem_1._onSlotChange(e, v => { this._hasHeadingSlot = v; })}
281
+ @slotchange=${(e) => AccordionItem_1._onSlotChange(e, v => {
282
+ this._hasHeadingSlot = v;
283
+ })}
279
284
  ></slot>
280
285
  </span>
281
286
  <span
@@ -285,12 +290,16 @@ let AccordionItem = AccordionItem_1 = class AccordionItem extends i$1 {
285
290
  >
286
291
  <slot
287
292
  name="description"
288
- @slotchange=${(e) => AccordionItem_1._onSlotChange(e, v => { this._hasDescriptionSlot = v; })}
293
+ @slotchange=${(e) => AccordionItem_1._onSlotChange(e, v => {
294
+ this._hasDescriptionSlot = v;
295
+ })}
289
296
  ></slot>
290
297
  </span>
291
298
  </span>
292
299
  <slot name="header-actions" class="header-actions"></slot>
293
- ${this.togglePosition === 'after' ? this._renderToggleIcon() : A}
300
+ ${this.togglePosition === 'after'
301
+ ? this._renderToggleIcon()
302
+ : A}
294
303
  </button>
295
304
  <div
296
305
  id=${`panel-content-${__classPrivateFieldGet(this, _AccordionItem_id, "f")}`}
@@ -1 +1 @@
1
- {"version":3,"file":"accordion-item.js","sources":["../../src/accordion/accordion-item.ts"],"sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport styles from './accordion-item.scss';\nimport IndividualComponent from '@/IndividualComponent.js';\n\n/**\n * @label Accordion Item\n * @tag wc-accordion-item\n * @rawTag accordion-item\n * @summary An expansion panel with a header that reveals or hides associated content.\n *\n * @slot - The body content revealed when the panel is expanded.\n * @slot heading - The panel title. Renders as `body-large` text.\n * @slot description - Optional subtitle rendered below the title. Renders as `body-small` text.\n * @slot header-actions - Actions (e.g. icon buttons) placed at the trailing end of the header, before the toggle icon.\n *\n * @part header - The header `<button>` element.\n * @part title - The title text container.\n * @part description - The description text container.\n * @part content - The expandable content region wrapper.\n *\n * @fires {CustomEvent<{ open: boolean }>} accordion-item:toggle - Fired when the panel is expanded or collapsed.\n *\n * @example\n * ```html\n * <wc-accordion-item>\n * <span slot=\"heading\">Personal information</span>\n * <span slot=\"description\">Fill in your details</span>\n * <p>Content goes here.</p>\n * </wc-accordion-item>\n * ```\n * @tags display\n */\n@IndividualComponent\nexport class AccordionItem extends LitElement {\n static styles = [styles];\n\n #id = crypto.randomUUID();\n\n /**\n * Whether the user cannot interact with the panel.\n */\n @property({ type: Boolean, reflect: true })\n disabled: boolean = false;\n\n /**\n * Whether the panel is expanded.\n */\n @property({ type: Boolean, reflect: true })\n open: boolean = false;\n\n /**\n * Whether to hide the expand/collapse toggle indicator icon.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-toggle' })\n hideToggle: boolean = false;\n\n /**\n * Position of the toggle icon relative to the panel title.\n * `'after'` places it at the trailing end (default, matches M3).\n * `'before'` places it at the leading start.\n */\n @property({ type: String, reflect: true, attribute: 'toggle-position' })\n togglePosition: 'before' | 'after' = 'after';\n\n /** True when the `description` slot contains at least one non-empty node. */\n @state()\n private _hasDescriptionSlot = false;\n\n /** True when the `heading` slot contains at least one non-empty node. */\n @state()\n private _hasHeadingSlot = false;\n\n @query('.header-button')\n private readonly buttonElement!: HTMLElement | null;\n\n override focus() {\n this.buttonElement?.focus();\n }\n\n override blur() {\n this.buttonElement?.blur();\n }\n\n private _handleToggle() {\n if (this.disabled) return;\n this.open = !this.open;\n this.dispatchEvent(\n new CustomEvent('accordion-item:toggle', {\n bubbles: true,\n composed: true,\n detail: { open: this.open },\n }),\n );\n }\n\n private static _onSlotChange(e: Event, setter: (v: boolean) => void) {\n const slot = e.target as HTMLSlotElement;\n const nodes = slot.assignedNodes({ flatten: true });\n setter(\n nodes.some(n =>\n n.nodeType === Node.TEXT_NODE\n ? (n.textContent?.trim() ?? '') !== ''\n : true,\n ),\n );\n }\n\n private _renderToggleIcon() {\n if (this.hideToggle) return nothing;\n return html`<wc-icon\n class=\"toggle-icon\"\n name=\"keyboard_arrow_down\"\n aria-hidden=\"true\"\n ></wc-icon>`;\n }\n\n render() {\n return html`\n <div\n class=${classMap({\n 'expansion-panel': true,\n open: this.open,\n disabled: this.disabled,\n })}\n >\n <button\n id=${`panel-header-${this.#id}`}\n part=\"header\"\n class=\"header-button\"\n tabindex=${this.disabled ? '-1' : '0'}\n aria-controls=${`panel-content-${this.#id}`}\n aria-disabled=${this.disabled}\n aria-expanded=${this.open}\n ?disabled=${this.disabled}\n @click=${this._handleToggle}\n >\n ${this.togglePosition === 'before' ? this._renderToggleIcon() : nothing}\n <span class=\"header-label\">\n <span part=\"title\" class=\"panel-title\">\n <slot\n name=\"heading\"\n @slotchange=${(e: Event) => AccordionItem._onSlotChange(e, v => { this._hasHeadingSlot = v; })}\n ></slot>\n </span>\n <span\n part=\"description\"\n class=\"panel-description\"\n ?hidden=${!this._hasDescriptionSlot}\n >\n <slot\n name=\"description\"\n @slotchange=${(e: Event) => AccordionItem._onSlotChange(e, v => { this._hasDescriptionSlot = v; })}\n ></slot>\n </span>\n </span>\n <slot name=\"header-actions\" class=\"header-actions\"></slot>\n ${this.togglePosition === 'after' ? this._renderToggleIcon() : nothing}\n </button>\n <div\n id=${`panel-content-${this.#id}`}\n part=\"content\"\n class=\"panel-content\"\n role=\"region\"\n aria-labelledby=${`panel-header-${this.#id}`}\n >\n <div class=\"content-inner\">\n <slot></slot>\n </div>\n </div>\n </div>\n `;\n }\n}\n"],"names":["LitElement","nothing","html","classMap","styles","property","state","query"],"mappings":"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"}
1
+ {"version":3,"file":"accordion-item.js","sources":["../../src/accordion/accordion-item.ts"],"sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport styles from './accordion-item.scss';\nimport IndividualComponent from '@/IndividualComponent.js';\n\n/**\n * @label Accordion Item\n * @tag wc-accordion-item\n * @rawTag accordion-item\n * @summary An expansion panel with a header that reveals or hides associated content.\n *\n * @slot - The body content revealed when the panel is expanded.\n * @slot heading - The panel title. Renders as `body-large` text.\n * @slot description - Optional subtitle rendered below the title. Renders as `body-small` text.\n * @slot header-actions - Actions (e.g. icon buttons) placed at the trailing end of the header, before the toggle icon.\n *\n * @part header - The header `<button>` element.\n * @part title - The title text container.\n * @part description - The description text container.\n * @part content - The expandable content region wrapper.\n *\n * @fires {CustomEvent<{ open: boolean }>} accordion-item-toggle - Fired when the panel is expanded or collapsed.\n *\n * @example\n * ```html\n * <wc-accordion-item>\n * <span slot=\"heading\">Personal information</span>\n * <span slot=\"description\">Fill in your details</span>\n * <p>Content goes here.</p>\n * </wc-accordion-item>\n * ```\n * @tags display\n */\n@IndividualComponent\nexport class AccordionItem extends LitElement {\n static styles = [styles];\n\n #id = crypto.randomUUID();\n\n /**\n * Whether the user cannot interact with the panel.\n */\n @property({ type: Boolean, reflect: true })\n disabled: boolean = false;\n\n /**\n * Whether the panel is expanded.\n */\n @property({ type: Boolean, reflect: true })\n open: boolean = false;\n\n /**\n * Whether to hide the expand/collapse toggle indicator icon.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-toggle' })\n hideToggle: boolean = false;\n\n /**\n * Position of the toggle icon relative to the panel title.\n * `'after'` places it at the trailing end (default, matches M3).\n * `'before'` places it at the leading start.\n */\n @property({ type: String, reflect: true, attribute: 'toggle-position' })\n togglePosition: 'before' | 'after' = 'after';\n\n /** True when the `description` slot contains at least one non-empty node. */\n @state()\n private _hasDescriptionSlot = false;\n\n /** True when the `heading` slot contains at least one non-empty node. */\n @state()\n private _hasHeadingSlot = false;\n\n @query('.header-button')\n private readonly buttonElement!: HTMLElement | null;\n\n override focus() {\n this.buttonElement?.focus();\n }\n\n override blur() {\n this.buttonElement?.blur();\n }\n\n private _handleToggle() {\n if (this.disabled) return;\n this.open = !this.open;\n this.dispatchEvent(\n new CustomEvent('accordion-item-toggle', {\n bubbles: true,\n composed: true,\n detail: { open: this.open },\n }),\n );\n }\n\n private static _onSlotChange(e: Event, setter: (v: boolean) => void) {\n const slot = e.target as HTMLSlotElement;\n const nodes = slot.assignedNodes({ flatten: true });\n setter(\n nodes.some(n =>\n n.nodeType === Node.TEXT_NODE\n ? (n.textContent?.trim() ?? '') !== ''\n : true,\n ),\n );\n }\n\n private _renderToggleIcon() {\n if (this.hideToggle) return nothing;\n return html`<wc-icon\n class=\"toggle-icon\"\n name=\"keyboard_arrow_down\"\n aria-hidden=\"true\"\n ></wc-icon>`;\n }\n\n render() {\n return html`\n <div\n class=${classMap({\n 'expansion-panel': true,\n open: this.open,\n disabled: this.disabled,\n })}\n >\n <button\n id=${`panel-header-${this.#id}`}\n part=\"header\"\n class=\"header-button\"\n tabindex=${this.disabled ? '-1' : '0'}\n aria-controls=${`panel-content-${this.#id}`}\n aria-disabled=${this.disabled}\n aria-expanded=${this.open}\n ?disabled=${this.disabled}\n @click=${this._handleToggle}\n >\n ${this.togglePosition === 'before'\n ? this._renderToggleIcon()\n : nothing}\n <span class=\"header-label\">\n <span part=\"title\" class=\"panel-title\">\n <slot\n name=\"heading\"\n @slotchange=${(e: Event) =>\n AccordionItem._onSlotChange(e, v => {\n this._hasHeadingSlot = v;\n })}\n ></slot>\n </span>\n <span\n part=\"description\"\n class=\"panel-description\"\n ?hidden=${!this._hasDescriptionSlot}\n >\n <slot\n name=\"description\"\n @slotchange=${(e: Event) =>\n AccordionItem._onSlotChange(e, v => {\n this._hasDescriptionSlot = v;\n })}\n ></slot>\n </span>\n </span>\n <slot name=\"header-actions\" class=\"header-actions\"></slot>\n ${this.togglePosition === 'after'\n ? this._renderToggleIcon()\n : nothing}\n </button>\n <div\n id=${`panel-content-${this.#id}`}\n part=\"content\"\n class=\"panel-content\"\n role=\"region\"\n aria-labelledby=${`panel-header-${this.#id}`}\n >\n <div class=\"content-inner\">\n <slot></slot>\n </div>\n </div>\n </div>\n `;\n }\n}\n"],"names":["LitElement","nothing","html","classMap","styles","property","state","query"],"mappings":"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"}
package/dist/accordion.js CHANGED
@@ -10,6 +10,7 @@ import './directive-ZPhl09Yt.js';
10
10
 
11
11
  var css_248z = i`* {
12
12
  box-sizing: border-box;
13
+ -webkit-tap-highlight-color: transparent;
13
14
  }
14
15
 
15
16
  .screen-reader-only {
@@ -30,10 +31,10 @@ var css_248z = i`* {
30
31
  gap: var(--spacing-100);
31
32
  }
32
33
 
33
- :host([display-mode=flat]) .accordion {
34
+ :host([variant=flat]) .accordion {
34
35
  gap: 0;
35
36
  }
36
- :host([display-mode=flat]) slot::slotted(wc-accordion-item) {
37
+ :host([variant=flat]) slot::slotted(wc-accordion-item) {
37
38
  --_accordion-item-border: none;
38
39
  --_accordion-item-background: transparent;
39
40
  }`;
@@ -67,25 +68,25 @@ let Accordion = class Accordion extends i$1 {
67
68
  * Whether multiple panels can be expanded simultaneously.
68
69
  * When `false` (default), expanding one panel collapses all others.
69
70
  */
70
- this.multi = false;
71
+ this.multiple = false;
71
72
  /**
72
- * Display mode for the accordion.
73
+ * Variant for the accordion.
73
74
  * `'default'` renders panels with a subtle background on expand and dividers between items.
74
75
  * `'flat'` renders panels without borders or background changes — suitable for use inside cards.
75
76
  */
76
- this.displayMode = 'default';
77
+ this.variant = 'default';
77
78
  }
78
79
  connectedCallback() {
79
80
  super.connectedCallback();
80
81
  // @ts-ignore
81
82
  // eslint-disable-next-line wc/require-listener-teardown
82
- this.addEventListener('accordion-item:toggle', this._onItemToggle);
83
+ this.addEventListener('accordion-item-toggle', this._onItemToggle);
83
84
  this.addEventListener('keydown', this._onKeyDown);
84
85
  }
85
86
  disconnectedCallback() {
86
87
  super.disconnectedCallback();
87
88
  // @ts-ignore
88
- this.removeEventListener('accordion-item:toggle', this._onItemToggle);
89
+ this.removeEventListener('accordion-item-toggle', this._onItemToggle);
89
90
  this.removeEventListener('keydown', this._onKeyDown);
90
91
  }
91
92
  _onItemToggle(e) {
@@ -93,7 +94,7 @@ let Accordion = class Accordion extends i$1 {
93
94
  // Ignore events from nested accordions — only handle direct children
94
95
  if (targetItem.parentElement !== this)
95
96
  return;
96
- if (!this.multi && targetItem.open) {
97
+ if (!this.multiple && targetItem.open) {
97
98
  this.items.forEach(item => {
98
99
  if (item !== targetItem && item.open) {
99
100
  // eslint-disable-next-line no-param-reassign
@@ -144,10 +145,10 @@ Accordion.styles = [css_248z];
144
145
  Accordion.Item = AccordionItem;
145
146
  __decorate([
146
147
  n({ type: Boolean, reflect: true })
147
- ], Accordion.prototype, "multi", void 0);
148
+ ], Accordion.prototype, "multiple", void 0);
148
149
  __decorate([
149
- n({ type: String, reflect: true, attribute: 'display-mode' })
150
- ], Accordion.prototype, "displayMode", void 0);
150
+ n({ type: String, reflect: true })
151
+ ], Accordion.prototype, "variant", void 0);
151
152
  __decorate([
152
153
  o({ selector: 'wc-accordion-item' })
153
154
  ], Accordion.prototype, "items", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.js","sources":["../../src/accordion/accordion.ts"],"sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\nimport styles from './accordion.scss';\nimport { AccordionItem } from './accordion-item.js';\nimport IndividualComponent from '@/IndividualComponent.js';\n\n/**\n * @label Accordion\n * @tag wc-accordion\n * @rawTag accordion\n * @summary A vertically stacked set of expansion panels.\n *\n * @example\n * ```html\n * <wc-accordion>\n * <wc-accordion-item>\n * <span slot=\"heading\">Panel 1</span>\n * <span slot=\"description\">Summary text</span>\n * Content\n * </wc-accordion-item>\n * <wc-accordion-item>\n * <span slot=\"heading\">Panel 2</span>\n * Content\n * </wc-accordion-item>\n * </wc-accordion>\n * ```\n * @tags display\n */\n@IndividualComponent\nexport class Accordion extends LitElement {\n static styles = [styles];\n\n /**\n * Whether multiple panels can be expanded simultaneously.\n * When `false` (default), expanding one panel collapses all others.\n */\n @property({ type: Boolean, reflect: true })\n multi = false;\n\n /**\n * Display mode for the accordion.\n * `'default'` renders panels with a subtle background on expand and dividers between items.\n * `'flat'` renders panels without borders or background changes — suitable for use inside cards.\n */\n @property({ type: String, reflect: true, attribute: 'display-mode' })\n displayMode: 'default' | 'flat' = 'default';\n\n @queryAssignedElements({ selector: 'wc-accordion-item' })\n items!: Array<AccordionItem>;\n\n connectedCallback() {\n super.connectedCallback();\n // @ts-ignore\n // eslint-disable-next-line wc/require-listener-teardown\n this.addEventListener('accordion-item:toggle', this._onItemToggle);\n this.addEventListener('keydown', this._onKeyDown);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n // @ts-ignore\n this.removeEventListener('accordion-item:toggle', this._onItemToggle);\n this.removeEventListener('keydown', this._onKeyDown);\n }\n\n private _onItemToggle(e: CustomEvent) {\n const targetItem = e.target as AccordionItem;\n\n // Ignore events from nested accordions — only handle direct children\n if (targetItem.parentElement !== this) return;\n\n if (!this.multi && targetItem.open) {\n this.items.forEach(item => {\n if (item !== targetItem && item.open) {\n // eslint-disable-next-line no-param-reassign\n item.open = false;\n }\n });\n }\n }\n\n private _onKeyDown(e: KeyboardEvent) {\n const focusedItemIndex = this.items.findIndex(item => {\n const root = item.shadowRoot;\n return root?.activeElement?.classList.contains('header-button');\n });\n\n if (focusedItemIndex === -1) return;\n\n let nextIndex = -1;\n\n // eslint-disable-next-line default-case\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n nextIndex = (focusedItemIndex + 1) % this.items.length;\n break;\n case 'ArrowUp':\n e.preventDefault();\n nextIndex =\n (focusedItemIndex - 1 + this.items.length) % this.items.length;\n break;\n case 'Home':\n e.preventDefault();\n nextIndex = 0;\n break;\n case 'End':\n e.preventDefault();\n nextIndex = this.items.length - 1;\n break;\n }\n\n if (nextIndex !== -1) {\n const itemToFocus = this.items[nextIndex];\n const button = itemToFocus.shadowRoot?.querySelector(\n '.header-button',\n ) as HTMLElement;\n button?.focus();\n }\n }\n\n render() {\n return html`<div class=\"accordion\"><slot></slot></div>`;\n }\n\n static Item = AccordionItem;\n}\n"],"names":["LitElement","html","styles","property","queryAssignedElements"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;;;;;;;;;;;;;;;;;;;;;AAqBG;AAEI,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQA,GAAU,CAAA;AAAlC,IAAA,WAAA,GAAA;;AAGL;;;AAGG;QAEH,IAAA,CAAA,KAAK,GAAG,KAAK;AAEb;;;;AAIG;QAEH,IAAA,CAAA,WAAW,GAAuB,SAAS;IAiF7C;IA5EE,iBAAiB,GAAA;QACf,KAAK,CAAC,iBAAiB,EAAE;;;QAGzB,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,IAAI,CAAC,aAAa,CAAC;QAClE,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC;IACnD;IAEA,oBAAoB,GAAA;QAClB,KAAK,CAAC,oBAAoB,EAAE;;QAE5B,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,EAAE,IAAI,CAAC,aAAa,CAAC;QACrE,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC;IACtD;AAEQ,IAAA,aAAa,CAAC,CAAc,EAAA;AAClC,QAAA,MAAM,UAAU,GAAG,CAAC,CAAC,MAAuB;;AAG5C,QAAA,IAAI,UAAU,CAAC,aAAa,KAAK,IAAI;YAAE;QAEvC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,EAAE;AAClC,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;gBACxB,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE;;AAEpC,oBAAA,IAAI,CAAC,IAAI,GAAG,KAAK;gBACnB;AACF,YAAA,CAAC,CAAC;QACJ;IACF;AAEQ,IAAA,UAAU,CAAC,CAAgB,EAAA;QACjC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAG;AACnD,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU;YAC5B,OAAO,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC;AACjE,QAAA,CAAC,CAAC;QAEF,IAAI,gBAAgB,KAAK,EAAE;YAAE;AAE7B,QAAA,IAAI,SAAS,GAAG,EAAE;;AAGlB,QAAA,QAAQ,CAAC,CAAC,GAAG;AACX,YAAA,KAAK,WAAW;gBACd,CAAC,CAAC,cAAc,EAAE;AAClB,gBAAA,SAAS,GAAG,CAAC,gBAAgB,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;gBACtD;AACF,YAAA,KAAK,SAAS;gBACZ,CAAC,CAAC,cAAc,EAAE;gBAClB,SAAS;AACP,oBAAA,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;gBAChE;AACF,YAAA,KAAK,MAAM;gBACT,CAAC,CAAC,cAAc,EAAE;gBAClB,SAAS,GAAG,CAAC;gBACb;AACF,YAAA,KAAK,KAAK;gBACR,CAAC,CAAC,cAAc,EAAE;gBAClB,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBACjC;;AAGJ,QAAA,IAAI,SAAS,KAAK,EAAE,EAAE;YACpB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YACzC,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,EAAE,aAAa,CAClD,gBAAgB,CACF;YAChB,MAAM,EAAE,KAAK,EAAE;QACjB;IACF;IAEA,MAAM,GAAA;QACJ,OAAOC,CAAI,CAAA,CAAA,0CAAA,CAA4C;IACzD;;AA7FO,SAAA,CAAA,MAAM,GAAG,CAACC,QAAM,CAAC;AA+FjB,SAAA,CAAA,IAAI,GAAG,aAAH;AAxFX,UAAA,CAAA;IADCC,CAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAC5B,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAQd,UAAA,CAAA;AADC,IAAAA,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE;AACxB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,aAAA,EAAA,MAAA,CAAA;AAG5C,UAAA,CAAA;AADC,IAAAC,CAAqB,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE;AAC3B,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAnBlB,SAAS,GAAA,UAAA,CAAA;IADrB;AACY,CAAA,EAAA,SAAS,CAiGrB;;;;"}
1
+ {"version":3,"file":"accordion.js","sources":["../../src/accordion/accordion.ts"],"sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\nimport styles from './accordion.scss';\nimport { AccordionItem } from './accordion-item.js';\nimport IndividualComponent from '@/IndividualComponent.js';\n\n/**\n * @label Accordion\n * @tag wc-accordion\n * @rawTag accordion\n * @summary A vertically stacked set of expansion panels.\n *\n * @example\n * ```html\n * <wc-accordion>\n * <wc-accordion-item>\n * <span slot=\"heading\">Panel 1</span>\n * <span slot=\"description\">Summary text</span>\n * Content\n * </wc-accordion-item>\n * <wc-accordion-item>\n * <span slot=\"heading\">Panel 2</span>\n * Content\n * </wc-accordion-item>\n * </wc-accordion>\n * ```\n * @tags display\n */\n@IndividualComponent\nexport class Accordion extends LitElement {\n static styles = [styles];\n\n /**\n * Whether multiple panels can be expanded simultaneously.\n * When `false` (default), expanding one panel collapses all others.\n */\n @property({ type: Boolean, reflect: true })\n multiple = false;\n\n /**\n * Variant for the accordion.\n * `'default'` renders panels with a subtle background on expand and dividers between items.\n * `'flat'` renders panels without borders or background changes — suitable for use inside cards.\n */\n @property({ type: String, reflect: true })\n variant: 'default' | 'flat' = 'default';\n\n @queryAssignedElements({ selector: 'wc-accordion-item' })\n items!: Array<AccordionItem>;\n\n connectedCallback() {\n super.connectedCallback();\n // @ts-ignore\n // eslint-disable-next-line wc/require-listener-teardown\n this.addEventListener('accordion-item-toggle', this._onItemToggle);\n this.addEventListener('keydown', this._onKeyDown);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n // @ts-ignore\n this.removeEventListener('accordion-item-toggle', this._onItemToggle);\n this.removeEventListener('keydown', this._onKeyDown);\n }\n\n private _onItemToggle(e: CustomEvent) {\n const targetItem = e.target as AccordionItem;\n\n // Ignore events from nested accordions — only handle direct children\n if (targetItem.parentElement !== this) return;\n\n if (!this.multiple && targetItem.open) {\n this.items.forEach(item => {\n if (item !== targetItem && item.open) {\n // eslint-disable-next-line no-param-reassign\n item.open = false;\n }\n });\n }\n }\n\n private _onKeyDown(e: KeyboardEvent) {\n const focusedItemIndex = this.items.findIndex(item => {\n const root = item.shadowRoot;\n return root?.activeElement?.classList.contains('header-button');\n });\n\n if (focusedItemIndex === -1) return;\n\n let nextIndex = -1;\n\n // eslint-disable-next-line default-case\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n nextIndex = (focusedItemIndex + 1) % this.items.length;\n break;\n case 'ArrowUp':\n e.preventDefault();\n nextIndex =\n (focusedItemIndex - 1 + this.items.length) % this.items.length;\n break;\n case 'Home':\n e.preventDefault();\n nextIndex = 0;\n break;\n case 'End':\n e.preventDefault();\n nextIndex = this.items.length - 1;\n break;\n }\n\n if (nextIndex !== -1) {\n const itemToFocus = this.items[nextIndex];\n const button = itemToFocus.shadowRoot?.querySelector(\n '.header-button',\n ) as HTMLElement;\n button?.focus();\n }\n }\n\n render() {\n return html`<div class=\"accordion\"><slot></slot></div>`;\n }\n\n static Item = AccordionItem;\n}\n"],"names":["LitElement","html","styles","property","queryAssignedElements"],"mappings":"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"}
package/dist/alert.js CHANGED
@@ -5,6 +5,7 @@ import './directive-ZPhl09Yt.js';
5
5
 
6
6
  var css_248z = i`* {
7
7
  box-sizing: border-box;
8
+ -webkit-tap-highlight-color: transparent;
8
9
  }
9
10
 
10
11
  .screen-reader-only {
package/dist/alert.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"alert.js","sources":["../../src/alert/alert.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './alert.scss';\n\ntype AlertVariant = 'note' | 'info' | 'success' | 'warning' | 'error';\n\nconst VARIANT_LABELS: Record<AlertVariant, string> = {\n note: 'Note',\n info: 'Info',\n success: 'Success',\n warning: 'Warning',\n error: 'Error',\n};\n\nconst VARIANT_ICONS: Record<AlertVariant, string> = {\n note: 'star',\n info: 'info',\n success: 'check_circle',\n warning: 'warning',\n error: 'error',\n};\n\n/**\n * @label Alert\n * @tag wc-alert\n * @rawTag alert\n * @summary Alerts show short, prominent contextual messages with optional icon and description.\n *\n * @cssprop --alert-container-color - Background color of the alert container.\n * @cssprop --alert-label-text-color - Label text color.\n * @cssprop --alert-description-text-color - Description text color.\n * @cssprop --alert-icon-color - Icon color.\n * @cssprop --alert-border-radius - Border radius of the alert surface.\n *\n * @example\n * ```html\n * <wc-alert variant=\"note\" description=\"Use semantic roles that preserve a 3:1 contrast ratio.\"></wc-alert>\n * ```\n * @tags display, feedback\n */\n@IndividualComponent\nexport class Alert extends LitElement {\n static styles = [styles];\n\n /**\n * Visual intent of the alert.\n */\n @property({ type: String, reflect: true })\n variant: AlertVariant = 'note';\n\n /**\n * Optional explicit label text. Falls back to a variant-based label.\n */\n @property({ type: String })\n label?: string;\n\n /**\n * Optional explicit icon name. Falls back to a variant-based icon.\n */\n @property({ type: String })\n icon?: string;\n\n /**\n * Optional description text when a default slot is not provided.\n */\n @property({ type: String })\n description = '';\n\n private get resolvedLabel() {\n return this.label || VARIANT_LABELS[this.variant];\n }\n\n private get resolvedIcon() {\n return this.icon || VARIANT_ICONS[this.variant];\n }\n\n render() {\n return html`\n <div class=${classMap({ 'alert': true, [this.variant]: true })} role=\"status\" aria-live=\"polite\">\n <div class=\"alert-icon\" aria-hidden=\"true\">\n <slot name=\"icon\">\n <wc-icon name=${this.resolvedIcon}></wc-icon>\n </slot>\n </div>\n\n <div class=${classMap({ 'alert-content': true, [this.variant]: true })}>\n <div class=\"alert-label\">\n <slot name=\"label\">${this.resolvedLabel}:</slot>\n </div>\n\n <div class=\"alert-description\">\n <slot>${this.description || nothing}</slot>\n </div>\n </div>\n </div>\n `;\n }\n}\n"],"names":["LitElement","html","classMap","nothing","styles","property"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,cAAc,GAAiC;AACnD,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE,OAAO;CACf;AAED,MAAM,aAAa,GAAiC;AAClD,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,OAAO,EAAE,cAAc;AACvB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE,OAAO;CACf;AAED;;;;;;;;;;;;;;;;;AAiBG;AAEI,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQA,GAAU,CAAA;AAA9B,IAAA,WAAA,GAAA;;AAGL;;AAEG;QAEH,IAAA,CAAA,OAAO,GAAiB,MAAM;AAc9B;;AAEG;QAEH,IAAA,CAAA,WAAW,GAAG,EAAE;IA+BlB;AA7BE,IAAA,IAAY,aAAa,GAAA;QACvB,OAAO,IAAI,CAAC,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;IACnD;AAEA,IAAA,IAAY,YAAY,GAAA;QACtB,OAAO,IAAI,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;IACjD;IAEA,MAAM,GAAA;AACJ,QAAA,OAAOC,CAAI,CAAA;AACI,iBAAA,EAAAC,CAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC,CAAA;;;AAGxC,0BAAA,EAAA,IAAI,CAAC,YAAY,CAAA;;;;AAIxB,mBAAA,EAAAA,CAAQ,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC,CAAA;;AAE7C,+BAAA,EAAA,IAAI,CAAC,aAAa,CAAA;;;;oBAI/B,IAAI,CAAC,WAAW,IAAIC,CAAO,CAAA;;;;KAI1C;IACH;;AAtDO,KAAA,CAAA,MAAM,GAAG,CAACC,QAAM,CAAC;AAMxB,UAAA,CAAA;IADCC,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACV,CAAA,EAAA,KAAA,CAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAM/B,UAAA,CAAA;AADC,IAAAA,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AACX,CAAA,EAAA,KAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAMf,UAAA,CAAA;AADC,IAAAA,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AACZ,CAAA,EAAA,KAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAMd,UAAA,CAAA;AADC,IAAAA,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AACT,CAAA,EAAA,KAAA,CAAA,SAAA,EAAA,aAAA,EAAA,MAAA,CAAA;AAzBN,KAAK,GAAA,UAAA,CAAA;IADjB;AACY,CAAA,EAAA,KAAK,CAwDjB;;;;"}
1
+ {"version":3,"file":"alert.js","sources":["../../src/alert/alert.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './alert.scss';\n\ntype AlertVariant = 'note' | 'info' | 'success' | 'warning' | 'error';\n\nconst VARIANT_LABELS: Record<AlertVariant, string> = {\n note: 'Note',\n info: 'Info',\n success: 'Success',\n warning: 'Warning',\n error: 'Error',\n};\n\nconst VARIANT_ICONS: Record<AlertVariant, string> = {\n note: 'star',\n info: 'info',\n success: 'check_circle',\n warning: 'warning',\n error: 'error',\n};\n\n/**\n * @label Alert\n * @tag wc-alert\n * @rawTag alert\n * @summary Alerts show short, prominent contextual messages with optional icon and description.\n *\n * @cssprop --alert-container-color - Background color of the alert container.\n * @cssprop --alert-label-text-color - Label text color.\n * @cssprop --alert-description-text-color - Description text color.\n * @cssprop --alert-icon-color - Icon color.\n * @cssprop --alert-border-radius - Border radius of the alert surface.\n *\n * @example\n * ```html\n * <wc-alert variant=\"note\" description=\"Use semantic roles that preserve a 3:1 contrast ratio.\"></wc-alert>\n * ```\n * @tags display, feedback\n */\n@IndividualComponent\nexport class Alert extends LitElement {\n static styles = [styles];\n\n /**\n * Visual intent of the alert.\n */\n @property({ type: String, reflect: true })\n variant: AlertVariant = 'note';\n\n /**\n * Optional explicit label text. Falls back to a variant-based label.\n */\n @property({ type: String })\n label?: string;\n\n /**\n * Optional explicit icon name. Falls back to a variant-based icon.\n */\n @property({ type: String })\n icon?: string;\n\n /**\n * Optional description text when a default slot is not provided.\n */\n @property({ type: String })\n description = '';\n\n private get resolvedLabel() {\n return this.label || VARIANT_LABELS[this.variant];\n }\n\n private get resolvedIcon() {\n return this.icon || VARIANT_ICONS[this.variant];\n }\n\n render() {\n return html`\n <div class=${classMap({ 'alert': true, [this.variant]: true })} role=\"status\" aria-live=\"polite\">\n <div class=\"alert-icon\" aria-hidden=\"true\">\n <slot name=\"icon\">\n <wc-icon name=${this.resolvedIcon}></wc-icon>\n </slot>\n </div>\n\n <div class=${classMap({ 'alert-content': true, [this.variant]: true })}>\n <div class=\"alert-label\">\n <slot name=\"label\">${this.resolvedLabel}:</slot>\n </div>\n\n <div class=\"alert-description\">\n <slot>${this.description || nothing}</slot>\n </div>\n </div>\n </div>\n `;\n }\n}\n"],"names":["LitElement","html","classMap","nothing","styles","property"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,cAAc,GAAiC;AACnD,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE,OAAO;CACf;AAED,MAAM,aAAa,GAAiC;AAClD,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,OAAO,EAAE,cAAc;AACvB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE,OAAO;CACf;AAED;;;;;;;;;;;;;;;;;AAiBG;AAEI,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQA,GAAU,CAAA;AAA9B,IAAA,WAAA,GAAA;;AAGL;;AAEG;QAEH,IAAA,CAAA,OAAO,GAAiB,MAAM;AAc9B;;AAEG;QAEH,IAAA,CAAA,WAAW,GAAG,EAAE;IA+BlB;AA7BE,IAAA,IAAY,aAAa,GAAA;QACvB,OAAO,IAAI,CAAC,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;IACnD;AAEA,IAAA,IAAY,YAAY,GAAA;QACtB,OAAO,IAAI,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;IACjD;IAEA,MAAM,GAAA;AACJ,QAAA,OAAOC,CAAI,CAAA;AACI,iBAAA,EAAAC,CAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC,CAAA;;;AAGxC,0BAAA,EAAA,IAAI,CAAC,YAAY,CAAA;;;;AAIxB,mBAAA,EAAAA,CAAQ,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC,CAAA;;AAE7C,+BAAA,EAAA,IAAI,CAAC,aAAa,CAAA;;;;oBAI/B,IAAI,CAAC,WAAW,IAAIC,CAAO,CAAA;;;;KAI1C;IACH;;AAtDO,KAAA,CAAA,MAAM,GAAG,CAACC,QAAM,CAAC;AAMxB,UAAA,CAAA;IADCC,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACV,CAAA,EAAA,KAAA,CAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAM/B,UAAA,CAAA;AADC,IAAAA,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AACX,CAAA,EAAA,KAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAMf,UAAA,CAAA;AADC,IAAAA,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AACZ,CAAA,EAAA,KAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAMd,UAAA,CAAA;AADC,IAAAA,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AACT,CAAA,EAAA,KAAA,CAAA,SAAA,EAAA,aAAA,EAAA,MAAA,CAAA;AAzBN,KAAK,GAAA,UAAA,CAAA;IADjB;AACY,CAAA,EAAA,KAAK,CAwDjB;;;;"}
package/dist/app-bar.js CHANGED
@@ -5,6 +5,7 @@ import './directive-ZPhl09Yt.js';
5
5
 
6
6
  var css_248z$1 = i`* {
7
7
  box-sizing: border-box;
8
+ -webkit-tap-highlight-color: transparent;
8
9
  }
9
10
 
10
11
  .screen-reader-only {
@@ -1 +1 @@
1
- {"version":3,"file":"app-bar.js","sources":["../../src/app-bar/app-bar.ts"],"sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './app-bar.scss';\nimport colorStyles from './app-bar-colors.scss';\n\n/**\n * @label App Bar\n * @tag wc-app-bar\n * @rawTag app-bar\n *\n * @summary A top app bar for page-level navigation and actions.\n * @overview\n * <p>The app bar component implements the top app bar pattern. It provides a\n * consistent header for screens, housing a navigation icon, a page title/headline, and\n * optional trailing action icons.</p>\n *\n * <p>Four size variants are available: <strong>small</strong> (64dp, single-row),\n * <strong>center-aligned</strong> (64dp, centred headline), <strong>medium</strong>\n * (112dp, headline below the row), and <strong>large</strong> (152dp, large headline).</p>\n *\n * <p>Use the <code>leading</code> slot for a navigation icon (e.g. a hamburger or back\n * button), the default slot for the headline text, and the <code>trailing</code> slot for\n * action icon buttons.</p>\n *\n * @slot leading - Navigation icon placed at the start of the bar.\n * @slot - Headline / title text.\n * @slot trailing - Trailing action icon buttons placed at the end of the bar.\n *\n * @cssprop --app-bar-container-color - Background color of the app bar.\n * @cssprop --app-bar-container-height - Height of the bar in small / center-aligned variants.\n * @cssprop --app-bar-headline-color - Color of the headline text.\n * @cssprop --app-bar-leading-icon-color - Color of the leading slot icons.\n * @cssprop --app-bar-trailing-icon-color - Color of the trailing slot icons.\n * @cssprop --app-bar-shadow - Box-shadow applied when the bar is scrolled / elevated.\n *\n * @example\n * ```html\n * <!-- Small app bar (default) -->\n * <wc-app-bar>\n * <wc-icon-button slot=\"leading\" variant=\"text\"><wc-icon name=\"menu\"></wc-icon></wc-icon-button>\n * Page Title\n * <wc-icon-button slot=\"trailing\" variant=\"text\"><wc-icon name=\"search\"></wc-icon></wc-icon-button>\n * <wc-icon-button slot=\"trailing\" variant=\"text\"><wc-icon name=\"more_vert\"></wc-icon></wc-icon-button>\n * </wc-app-bar>\n * ```\n *\n * @example\n * ```html\n * <!-- Center-aligned app bar -->\n * <wc-app-bar variant=\"center-aligned\">\n * <wc-icon-button slot=\"leading\" variant=\"text\"><wc-icon name=\"arrow_back\"></wc-icon></wc-icon-button>\n * Details\n * <wc-icon-button slot=\"trailing\" variant=\"text\"><wc-icon name=\"more_vert\"></wc-icon></wc-icon-button>\n * </wc-app-bar>\n * ```\n *\n * @example\n * ```html\n * <!-- Medium app bar -->\n * <wc-app-bar variant=\"medium\">\n * <wc-icon-button slot=\"leading\" variant=\"text\"><wc-icon name=\"menu\"></wc-icon></wc-icon-button>\n * Medium Headline\n * <wc-icon-button slot=\"trailing\" variant=\"text\"><wc-icon name=\"search\"></wc-icon></wc-icon-button>\n * </wc-app-bar>\n * ```\n *\n * @example\n * ```html\n * <!-- Large app bar -->\n * <wc-app-bar variant=\"large\">\n * <wc-icon-button slot=\"leading\" variant=\"text\"><wc-icon name=\"arrow_back\"></wc-icon></wc-icon-button>\n * Large Headline\n * <wc-icon-button slot=\"trailing\" variant=\"text\"><wc-icon name=\"more_vert\"></wc-icon></wc-icon-button>\n * </wc-app-bar>\n * ```\n * @tags navigation display\n */\n@IndividualComponent\nexport class AppBar extends LitElement {\n static styles = [styles, colorStyles];\n\n /**\n * Visual variant of the app bar.\n * - `\"small\"`: 64dp single-row bar with leading, title, and trailing (default).\n * - `\"center-aligned\"`: 64dp single-row bar with a centred headline.\n * - `\"medium\"`: Two-row bar (64dp top row + 48dp headline row).\n * - `\"large\"`: Two-row bar with a larger headline (64dp top row + 88dp headline row).\n */\n @property({ type: String, reflect: true })\n variant: 'small' | 'center-aligned' | 'medium' | 'large' = 'small';\n\n /**\n * Whether the bar is in its scrolled state, which adds a shadow and optionally\n * changes the container color to indicate elevation above page content.\n */\n @property({ type: Boolean, reflect: true })\n scrolled: boolean = false;\n\n override render() {\n const isTwoRow = this.variant === 'medium' || this.variant === 'large';\n\n const cssClasses = {\n 'app-bar': true,\n [`variant-${this.variant}`]: true,\n scrolled: this.scrolled,\n };\n\n if (isTwoRow) {\n return this.__renderTwoRow(cssClasses);\n }\n return this.__renderSingleRow(cssClasses);\n }\n\n private __renderSingleRow(cssClasses: Record<string, boolean>) {\n return html`\n <header class=${classMap(cssClasses)} role=\"banner\">\n <div class=\"background\"></div>\n <div class=\"row row-top\">\n <div class=\"leading\">\n <slot name=\"leading\"></slot>\n </div>\n <div class=\"headline\">\n <slot></slot>\n </div>\n <div class=\"trailing\">\n <slot name=\"trailing\"></slot>\n </div>\n </div>\n </header>\n `;\n }\n\n private __renderTwoRow(cssClasses: Record<string, boolean>) {\n return html`\n <header class=${classMap(cssClasses)} role=\"banner\">\n <div class=\"background\"></div>\n <div class=\"row row-top\">\n <div class=\"leading\">\n <slot name=\"leading\"></slot>\n </div>\n <div class=\"trailing\">\n <slot name=\"trailing\"></slot>\n </div>\n </div>\n <div class=\"row row-bottom\">\n <div class=\"headline\">\n <slot></slot>\n </div>\n </div>\n </header>\n `;\n }\n}\n"],"names":["LitElement","html","classMap","styles","colorStyles","property"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEG;AAEI,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQA,GAAU,CAAA;AAA/B,IAAA,WAAA,GAAA;;AAGL;;;;;;AAMG;QAEH,IAAA,CAAA,OAAO,GAAoD,OAAO;AAElE;;;AAGG;QAEH,IAAA,CAAA,QAAQ,GAAY,KAAK;IAwD3B;IAtDW,MAAM,GAAA;AACb,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;AAEtE,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAA,CAAE,GAAG,IAAI;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;QAED,IAAI,QAAQ,EAAE;AACZ,YAAA,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;QACxC;AACA,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;IAC3C;AAEQ,IAAA,iBAAiB,CAAC,UAAmC,EAAA;AAC3D,QAAA,OAAOC,CAAI,CAAA;sBACOC,CAAQ,CAAC,UAAU,CAAC,CAAA;;;;;;;;;;;;;;KAcrC;IACH;AAEQ,IAAA,cAAc,CAAC,UAAmC,EAAA;AACxD,QAAA,OAAOD,CAAI,CAAA;sBACOC,CAAQ,CAAC,UAAU,CAAC,CAAA;;;;;;;;;;;;;;;;KAgBrC;IACH;;AAxEO,MAAA,CAAA,MAAM,GAAG,CAACC,UAAM,EAAEC,QAAW,CAAC;AAUrC,UAAA,CAAA;IADCC,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AAC0B,CAAA,EAAA,MAAA,CAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAOnE,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAChB,CAAA,EAAA,MAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAlBf,MAAM,GAAA,UAAA,CAAA;IADlB;AACY,CAAA,EAAA,MAAM,CA0ElB;;;;"}
1
+ {"version":3,"file":"app-bar.js","sources":["../../src/app-bar/app-bar.ts"],"sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './app-bar.scss';\nimport colorStyles from './app-bar-colors.scss';\n\n/**\n * @label App Bar\n * @tag wc-app-bar\n * @rawTag app-bar\n *\n * @summary A top app bar for page-level navigation and actions.\n * @overview\n * <p>The app bar component implements the top app bar pattern. It provides a\n * consistent header for screens, housing a navigation icon, a page title/headline, and\n * optional trailing action icons.</p>\n *\n * <p>Four size variants are available: <strong>small</strong> (64dp, single-row),\n * <strong>center-aligned</strong> (64dp, centred headline), <strong>medium</strong>\n * (112dp, headline below the row), and <strong>large</strong> (152dp, large headline).</p>\n *\n * <p>Use the <code>leading</code> slot for a navigation icon (e.g. a hamburger or back\n * button), the default slot for the headline text, and the <code>trailing</code> slot for\n * action icon buttons.</p>\n *\n * @slot leading - Navigation icon placed at the start of the bar.\n * @slot - Headline / title text.\n * @slot trailing - Trailing action icon buttons placed at the end of the bar.\n *\n * @cssprop --app-bar-container-color - Background color of the app bar.\n * @cssprop --app-bar-container-height - Height of the bar in small / center-aligned variants.\n * @cssprop --app-bar-headline-color - Color of the headline text.\n * @cssprop --app-bar-leading-icon-color - Color of the leading slot icons.\n * @cssprop --app-bar-trailing-icon-color - Color of the trailing slot icons.\n * @cssprop --app-bar-shadow - Box-shadow applied when the bar is scrolled / elevated.\n *\n * @example\n * ```html\n * <!-- Small app bar (default) -->\n * <wc-app-bar>\n * <wc-icon-button slot=\"leading\" variant=\"text\"><wc-icon name=\"menu\"></wc-icon></wc-icon-button>\n * Page Title\n * <wc-icon-button slot=\"trailing\" variant=\"text\"><wc-icon name=\"search\"></wc-icon></wc-icon-button>\n * <wc-icon-button slot=\"trailing\" variant=\"text\"><wc-icon name=\"more_vert\"></wc-icon></wc-icon-button>\n * </wc-app-bar>\n * ```\n *\n * @example\n * ```html\n * <!-- Center-aligned app bar -->\n * <wc-app-bar variant=\"center-aligned\">\n * <wc-icon-button slot=\"leading\" variant=\"text\"><wc-icon name=\"arrow_back\"></wc-icon></wc-icon-button>\n * Details\n * <wc-icon-button slot=\"trailing\" variant=\"text\"><wc-icon name=\"more_vert\"></wc-icon></wc-icon-button>\n * </wc-app-bar>\n * ```\n *\n * @example\n * ```html\n * <!-- Medium app bar -->\n * <wc-app-bar variant=\"medium\">\n * <wc-icon-button slot=\"leading\" variant=\"text\"><wc-icon name=\"menu\"></wc-icon></wc-icon-button>\n * Medium Headline\n * <wc-icon-button slot=\"trailing\" variant=\"text\"><wc-icon name=\"search\"></wc-icon></wc-icon-button>\n * </wc-app-bar>\n * ```\n *\n * @example\n * ```html\n * <!-- Large app bar -->\n * <wc-app-bar variant=\"large\">\n * <wc-icon-button slot=\"leading\" variant=\"text\"><wc-icon name=\"arrow_back\"></wc-icon></wc-icon-button>\n * Large Headline\n * <wc-icon-button slot=\"trailing\" variant=\"text\"><wc-icon name=\"more_vert\"></wc-icon></wc-icon-button>\n * </wc-app-bar>\n * ```\n * @tags navigation display\n */\n@IndividualComponent\nexport class AppBar extends LitElement {\n static styles = [styles, colorStyles];\n\n /**\n * Visual variant of the app bar.\n * - `\"small\"`: 64dp single-row bar with leading, title, and trailing (default).\n * - `\"center-aligned\"`: 64dp single-row bar with a centred headline.\n * - `\"medium\"`: Two-row bar (64dp top row + 48dp headline row).\n * - `\"large\"`: Two-row bar with a larger headline (64dp top row + 88dp headline row).\n */\n @property({ type: String, reflect: true })\n variant: 'small' | 'center-aligned' | 'medium' | 'large' = 'small';\n\n /**\n * Whether the bar is in its scrolled state, which adds a shadow and optionally\n * changes the container color to indicate elevation above page content.\n */\n @property({ type: Boolean, reflect: true })\n scrolled: boolean = false;\n\n override render() {\n const isTwoRow = this.variant === 'medium' || this.variant === 'large';\n\n const cssClasses = {\n 'app-bar': true,\n [`variant-${this.variant}`]: true,\n scrolled: this.scrolled,\n };\n\n if (isTwoRow) {\n return this.__renderTwoRow(cssClasses);\n }\n return this.__renderSingleRow(cssClasses);\n }\n\n private __renderSingleRow(cssClasses: Record<string, boolean>) {\n return html`\n <header class=${classMap(cssClasses)} role=\"banner\">\n <div class=\"background\"></div>\n <div class=\"row row-top\">\n <div class=\"leading\">\n <slot name=\"leading\"></slot>\n </div>\n <div class=\"headline\">\n <slot></slot>\n </div>\n <div class=\"trailing\">\n <slot name=\"trailing\"></slot>\n </div>\n </div>\n </header>\n `;\n }\n\n private __renderTwoRow(cssClasses: Record<string, boolean>) {\n return html`\n <header class=${classMap(cssClasses)} role=\"banner\">\n <div class=\"background\"></div>\n <div class=\"row row-top\">\n <div class=\"leading\">\n <slot name=\"leading\"></slot>\n </div>\n <div class=\"trailing\">\n <slot name=\"trailing\"></slot>\n </div>\n </div>\n <div class=\"row row-bottom\">\n <div class=\"headline\">\n <slot></slot>\n </div>\n </div>\n </header>\n `;\n }\n}\n"],"names":["LitElement","html","classMap","styles","colorStyles","property"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEG;AAEI,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQA,GAAU,CAAA;AAA/B,IAAA,WAAA,GAAA;;AAGL;;;;;;AAMG;QAEH,IAAA,CAAA,OAAO,GAAoD,OAAO;AAElE;;;AAGG;QAEH,IAAA,CAAA,QAAQ,GAAY,KAAK;IAwD3B;IAtDW,MAAM,GAAA;AACb,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;AAEtE,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAA,CAAE,GAAG,IAAI;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;QAED,IAAI,QAAQ,EAAE;AACZ,YAAA,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;QACxC;AACA,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;IAC3C;AAEQ,IAAA,iBAAiB,CAAC,UAAmC,EAAA;AAC3D,QAAA,OAAOC,CAAI,CAAA;sBACOC,CAAQ,CAAC,UAAU,CAAC,CAAA;;;;;;;;;;;;;;KAcrC;IACH;AAEQ,IAAA,cAAc,CAAC,UAAmC,EAAA;AACxD,QAAA,OAAOD,CAAI,CAAA;sBACOC,CAAQ,CAAC,UAAU,CAAC,CAAA;;;;;;;;;;;;;;;;KAgBrC;IACH;;AAxEO,MAAA,CAAA,MAAM,GAAG,CAACC,UAAM,EAAEC,QAAW,CAAC;AAUrC,UAAA,CAAA;IADCC,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AAC0B,CAAA,EAAA,MAAA,CAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAOnE,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAChB,CAAA,EAAA,MAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAlBf,MAAM,GAAA,UAAA,CAAA;IADlB;AACY,CAAA,EAAA,MAAM,CA0ElB;;;;"}
@@ -1,2 +1,2 @@
1
- *{box-sizing:border-box}.screen-reader-only{display:none !important}[hidden]{display:none !important}.text-display{font-family:var(--typography-display-medium-font-family) !important;font-size:var(--typography-display-medium-font-size) !important;font-weight:var(--typography-display-medium-font-weight) !important;line-height:var(--typography-display-medium-line-height) !important;letter-spacing:var(--typography-display-medium-letter-spacing) !important}.text-display-emphasized{font-family:var(--typography-display-medium-emphasized-font-family) !important;font-size:var(--typography-display-medium-emphasized-font-size) !important;font-weight:var(--typography-display-medium-emphasized-font-weight) !important;line-height:var(--typography-display-medium-emphasized-line-height) !important;letter-spacing:var(--typography-display-medium-emphasized-letter-spacing) !important}.text-display-large{font-family:var(--typography-display-large-font-family) !important;font-size:var(--typography-display-large-font-size) !important;font-weight:var(--typography-display-large-font-weight) !important;line-height:var(--typography-display-large-line-height) !important;letter-spacing:var(--typography-display-large-letter-spacing) !important}.text-display-large-emphasized{font-family:var(--typography-display-large-emphasized-font-family) !important;font-size:var(--typography-display-large-emphasized-font-size) !important;font-weight:var(--typography-display-large-emphasized-font-weight) !important;line-height:var(--typography-display-large-emphasized-line-height) !important;letter-spacing:var(--typography-display-large-emphasized-letter-spacing) !important}.text-display-medium{font-family:var(--typography-display-medium-font-family) !important;font-size:var(--typography-display-medium-font-size) !important;font-weight:var(--typography-display-medium-font-weight) !important;line-height:var(--typography-display-medium-line-height) !important;letter-spacing:var(--typography-display-medium-letter-spacing) !important}.text-display-medium-emphasized{font-family:var(--typography-display-medium-emphasized-font-family) !important;font-size:var(--typography-display-medium-emphasized-font-size) !important;font-weight:var(--typography-display-medium-emphasized-font-weight) !important;line-height:var(--typography-display-medium-emphasized-line-height) !important;letter-spacing:var(--typography-display-medium-emphasized-letter-spacing) !important}.text-display-small{font-family:var(--typography-display-small-font-family) !important;font-size:var(--typography-display-small-font-size) !important;font-weight:var(--typography-display-small-font-weight) !important;line-height:var(--typography-display-small-line-height) !important;letter-spacing:var(--typography-display-small-letter-spacing) !important}.text-display-small-emphasized{font-family:var(--typography-display-small-emphasized-font-family) !important;font-size:var(--typography-display-small-emphasized-font-size) !important;font-weight:var(--typography-display-small-emphasized-font-weight) !important;line-height:var(--typography-display-small-emphasized-line-height) !important;letter-spacing:var(--typography-display-small-emphasized-letter-spacing) !important}.text-headline{font-family:var(--typography-headline-medium-font-family) !important;font-size:var(--typography-headline-medium-font-size) !important;font-weight:var(--typography-headline-medium-font-weight) !important;line-height:var(--typography-headline-medium-line-height) !important;letter-spacing:var(--typography-headline-medium-letter-spacing) !important}.text-headline-emphasized{font-family:var(--typography-headline-medium-emphasized-font-family) !important;font-size:var(--typography-headline-medium-emphasized-font-size) !important;font-weight:var(--typography-headline-medium-emphasized-font-weight) !important;line-height:var(--typography-headline-medium-emphasized-line-height) !important;letter-spacing:var(--typography-headline-medium-emphasized-letter-spacing) !important}.text-headline-large{font-family:var(--typography-headline-large-font-family) !important;font-size:var(--typography-headline-large-font-size) !important;font-weight:var(--typography-headline-large-font-weight) !important;line-height:var(--typography-headline-large-line-height) !important;letter-spacing:var(--typography-headline-large-letter-spacing) !important}.text-headline-large-emphasized{font-family:var(--typography-headline-large-emphasized-font-family) !important;font-size:var(--typography-headline-large-emphasized-font-size) !important;font-weight:var(--typography-headline-large-emphasized-font-weight) !important;line-height:var(--typography-headline-large-emphasized-line-height) !important;letter-spacing:var(--typography-headline-large-emphasized-letter-spacing) !important}.text-headline-medium{font-family:var(--typography-headline-medium-font-family) !important;font-size:var(--typography-headline-medium-font-size) !important;font-weight:var(--typography-headline-medium-font-weight) !important;line-height:var(--typography-headline-medium-line-height) !important;letter-spacing:var(--typography-headline-medium-letter-spacing) !important}.text-headline-medium-emphasized{font-family:var(--typography-headline-medium-emphasized-font-family) !important;font-size:var(--typography-headline-medium-emphasized-font-size) !important;font-weight:var(--typography-headline-medium-emphasized-font-weight) !important;line-height:var(--typography-headline-medium-emphasized-line-height) !important;letter-spacing:var(--typography-headline-medium-emphasized-letter-spacing) !important}.text-headline-small{font-family:var(--typography-headline-small-font-family) !important;font-size:var(--typography-headline-small-font-size) !important;font-weight:var(--typography-headline-small-font-weight) !important;line-height:var(--typography-headline-small-line-height) !important;letter-spacing:var(--typography-headline-small-letter-spacing) !important}.text-headline-small-emphasized{font-family:var(--typography-headline-small-emphasized-font-family) !important;font-size:var(--typography-headline-small-emphasized-font-size) !important;font-weight:var(--typography-headline-small-emphasized-font-weight) !important;line-height:var(--typography-headline-small-emphasized-line-height) !important;letter-spacing:var(--typography-headline-small-emphasized-letter-spacing) !important}.text-body{font-family:var(--typography-body-medium-font-family) !important;font-size:var(--typography-body-medium-font-size) !important;font-weight:var(--typography-body-medium-font-weight) !important;line-height:var(--typography-body-medium-line-height) !important;letter-spacing:var(--typography-body-medium-letter-spacing) !important}.text-body-emphasized{font-family:var(--typography-body-medium-emphasized-font-family) !important;font-size:var(--typography-body-medium-emphasized-font-size) !important;font-weight:var(--typography-body-medium-emphasized-font-weight) !important;line-height:var(--typography-body-medium-emphasized-line-height) !important;letter-spacing:var(--typography-body-medium-emphasized-letter-spacing) !important}.text-body-large{font-family:var(--typography-body-large-font-family) !important;font-size:var(--typography-body-large-font-size) !important;font-weight:var(--typography-body-large-font-weight) !important;line-height:var(--typography-body-large-line-height) !important;letter-spacing:var(--typography-body-large-letter-spacing) !important}.text-body-large-emphasized{font-family:var(--typography-body-large-emphasized-font-family) !important;font-size:var(--typography-body-large-emphasized-font-size) !important;font-weight:var(--typography-body-large-emphasized-font-weight) !important;line-height:var(--typography-body-large-emphasized-line-height) !important;letter-spacing:var(--typography-body-large-emphasized-letter-spacing) !important}.text-body-medium{font-family:var(--typography-body-medium-font-family) !important;font-size:var(--typography-body-medium-font-size) !important;font-weight:var(--typography-body-medium-font-weight) !important;line-height:var(--typography-body-medium-line-height) !important;letter-spacing:var(--typography-body-medium-letter-spacing) !important}.text-body-medium-emphasized{font-family:var(--typography-body-medium-emphasized-font-family) !important;font-size:var(--typography-body-medium-emphasized-font-size) !important;font-weight:var(--typography-body-medium-emphasized-font-weight) !important;line-height:var(--typography-body-medium-emphasized-line-height) !important;letter-spacing:var(--typography-body-medium-emphasized-letter-spacing) !important}.text-body-small{font-family:var(--typography-body-small-font-family) !important;font-size:var(--typography-body-small-font-size) !important;font-weight:var(--typography-body-small-font-weight) !important;line-height:var(--typography-body-small-line-height) !important;letter-spacing:var(--typography-body-small-letter-spacing) !important}.text-body-small-emphasized{font-family:var(--typography-body-small-emphasized-font-family) !important;font-size:var(--typography-body-small-emphasized-font-size) !important;font-weight:var(--typography-body-small-emphasized-font-weight) !important;line-height:var(--typography-body-small-emphasized-line-height) !important;letter-spacing:var(--typography-body-small-emphasized-letter-spacing) !important}.text-code{font-family:var(--typography-code-medium-font-family) !important;font-size:var(--typography-code-medium-font-size) !important;font-weight:var(--typography-code-medium-font-weight) !important;line-height:var(--typography-code-medium-line-height) !important;letter-spacing:var(--typography-code-medium-letter-spacing) !important}.text-code-emphasized{font-family:var(--typography-code-medium-emphasized-font-family) !important;font-size:var(--typography-code-medium-emphasized-font-size) !important;font-weight:var(--typography-code-medium-emphasized-font-weight) !important;line-height:var(--typography-code-medium-emphasized-line-height) !important;letter-spacing:var(--typography-code-medium-emphasized-letter-spacing) !important}.text-code-large{font-family:var(--typography-code-large-font-family) !important;font-size:var(--typography-code-large-font-size) !important;font-weight:var(--typography-code-large-font-weight) !important;line-height:var(--typography-code-large-line-height) !important;letter-spacing:var(--typography-code-large-letter-spacing) !important}.text-code-large-emphasized{font-family:var(--typography-code-large-emphasized-font-family) !important;font-size:var(--typography-code-large-emphasized-font-size) !important;font-weight:var(--typography-code-large-emphasized-font-weight) !important;line-height:var(--typography-code-large-emphasized-line-height) !important;letter-spacing:var(--typography-code-large-emphasized-letter-spacing) !important}.text-code-medium{font-family:var(--typography-code-medium-font-family) !important;font-size:var(--typography-code-medium-font-size) !important;font-weight:var(--typography-code-medium-font-weight) !important;line-height:var(--typography-code-medium-line-height) !important;letter-spacing:var(--typography-code-medium-letter-spacing) !important}.text-code-medium-emphasized{font-family:var(--typography-code-medium-emphasized-font-family) !important;font-size:var(--typography-code-medium-emphasized-font-size) !important;font-weight:var(--typography-code-medium-emphasized-font-weight) !important;line-height:var(--typography-code-medium-emphasized-line-height) !important;letter-spacing:var(--typography-code-medium-emphasized-letter-spacing) !important}.text-code-small{font-family:var(--typography-code-small-font-family) !important;font-size:var(--typography-code-small-font-size) !important;font-weight:var(--typography-code-small-font-weight) !important;line-height:var(--typography-code-small-line-height) !important;letter-spacing:var(--typography-code-small-letter-spacing) !important}.text-code-small-emphasized{font-family:var(--typography-code-small-emphasized-font-family) !important;font-size:var(--typography-code-small-emphasized-font-size) !important;font-weight:var(--typography-code-small-emphasized-font-weight) !important;line-height:var(--typography-code-small-emphasized-line-height) !important;letter-spacing:var(--typography-code-small-emphasized-letter-spacing) !important}.text-label{font-family:var(--typography-label-medium-font-family) !important;font-size:var(--typography-label-medium-font-size) !important;font-weight:var(--typography-label-medium-font-weight) !important;line-height:var(--typography-label-medium-line-height) !important;letter-spacing:var(--typography-label-medium-letter-spacing) !important}.text-label-emphasized{font-family:var(--typography-label-medium-emphasized-font-family) !important;font-size:var(--typography-label-medium-emphasized-font-size) !important;font-weight:var(--typography-label-medium-emphasized-font-weight) !important;line-height:var(--typography-label-medium-emphasized-line-height) !important;letter-spacing:var(--typography-label-medium-emphasized-letter-spacing) !important}.text-label-large{font-family:var(--typography-label-large-font-family) !important;font-size:var(--typography-label-large-font-size) !important;font-weight:var(--typography-label-large-font-weight) !important;line-height:var(--typography-label-large-line-height) !important;letter-spacing:var(--typography-label-large-letter-spacing) !important}.text-label-large-emphasized{font-family:var(--typography-label-large-emphasized-font-family) !important;font-size:var(--typography-label-large-emphasized-font-size) !important;font-weight:var(--typography-label-large-emphasized-font-weight) !important;line-height:var(--typography-label-large-emphasized-line-height) !important;letter-spacing:var(--typography-label-large-emphasized-letter-spacing) !important}.text-label-medium{font-family:var(--typography-label-medium-font-family) !important;font-size:var(--typography-label-medium-font-size) !important;font-weight:var(--typography-label-medium-font-weight) !important;line-height:var(--typography-label-medium-line-height) !important;letter-spacing:var(--typography-label-medium-letter-spacing) !important}.text-label-medium-emphasized{font-family:var(--typography-label-medium-emphasized-font-family) !important;font-size:var(--typography-label-medium-emphasized-font-size) !important;font-weight:var(--typography-label-medium-emphasized-font-weight) !important;line-height:var(--typography-label-medium-emphasized-line-height) !important;letter-spacing:var(--typography-label-medium-emphasized-letter-spacing) !important}.text-label-small{font-family:var(--typography-label-small-font-family) !important;font-size:var(--typography-label-small-font-size) !important;font-weight:var(--typography-label-small-font-weight) !important;line-height:var(--typography-label-small-line-height) !important;letter-spacing:var(--typography-label-small-letter-spacing) !important}.text-label-small-emphasized{font-family:var(--typography-label-small-emphasized-font-family) !important;font-size:var(--typography-label-small-emphasized-font-size) !important;font-weight:var(--typography-label-small-emphasized-font-weight) !important;line-height:var(--typography-label-small-emphasized-line-height) !important;letter-spacing:var(--typography-label-small-emphasized-letter-spacing) !important}.text-title{font-family:var(--typography-title-medium-font-family) !important;font-size:var(--typography-title-medium-font-size) !important;font-weight:var(--typography-title-medium-font-weight) !important;line-height:var(--typography-title-medium-line-height) !important;letter-spacing:var(--typography-title-medium-letter-spacing) !important}.text-title-emphasized{font-family:var(--typography-title-medium-emphasized-font-family) !important;font-size:var(--typography-title-medium-emphasized-font-size) !important;font-weight:var(--typography-title-medium-emphasized-font-weight) !important;line-height:var(--typography-title-medium-emphasized-line-height) !important;letter-spacing:var(--typography-title-medium-emphasized-letter-spacing) !important}.text-title-large{font-family:var(--typography-title-large-font-family) !important;font-size:var(--typography-title-large-font-size) !important;font-weight:var(--typography-title-large-font-weight) !important;line-height:var(--typography-title-large-line-height) !important;letter-spacing:var(--typography-title-large-letter-spacing) !important}.text-title-large-emphasized{font-family:var(--typography-title-large-emphasized-font-family) !important;font-size:var(--typography-title-large-emphasized-font-size) !important;font-weight:var(--typography-title-large-emphasized-font-weight) !important;line-height:var(--typography-title-large-emphasized-line-height) !important;letter-spacing:var(--typography-title-large-emphasized-letter-spacing) !important}.text-title-medium{font-family:var(--typography-title-medium-font-family) !important;font-size:var(--typography-title-medium-font-size) !important;font-weight:var(--typography-title-medium-font-weight) !important;line-height:var(--typography-title-medium-line-height) !important;letter-spacing:var(--typography-title-medium-letter-spacing) !important}.text-title-medium-emphasized{font-family:var(--typography-title-medium-emphasized-font-family) !important;font-size:var(--typography-title-medium-emphasized-font-size) !important;font-weight:var(--typography-title-medium-emphasized-font-weight) !important;line-height:var(--typography-title-medium-emphasized-line-height) !important;letter-spacing:var(--typography-title-medium-emphasized-letter-spacing) !important}.text-title-small{font-family:var(--typography-title-small-font-family) !important;font-size:var(--typography-title-small-font-size) !important;font-weight:var(--typography-title-small-font-weight) !important;line-height:var(--typography-title-small-line-height) !important;letter-spacing:var(--typography-title-small-letter-spacing) !important}.text-title-small-emphasized{font-family:var(--typography-title-small-emphasized-font-family) !important;font-size:var(--typography-title-small-emphasized-font-size) !important;font-weight:var(--typography-title-small-emphasized-font-weight) !important;line-height:var(--typography-title-small-emphasized-line-height) !important;letter-spacing:var(--typography-title-small-emphasized-letter-spacing) !important}.text-code-block{background-color:var(--color-surface-variant);text-shadow:0 1px 1px var(--color-surface-variant);color:var(--color-on-surface);border-radius:var(--shape-corner-extra-small);padding:var(--spacing-050);font-family:var(--font-family-monospace);display:inline-block;max-width:100%;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;vertical-align:middle}*{box-sizing:border-box}.screen-reader-only{display:none !important}[hidden]{display:none !important}.link{border-radius:inherit;corner-shape:inherit;color:var(--color-primary);--icon-color: currentColor;text-decoration:none}.link:hover,.link:focus-visible{text-decoration:underline}.link.inherit{color:inherit;text-decoration:none !important}.link.with-icon{display:inline-flex;align-items:center;gap:.5em}
1
+ *{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.screen-reader-only{display:none !important}[hidden]{display:none !important}.text-display{font-family:var(--typography-display-medium-font-family) !important;font-size:var(--typography-display-medium-font-size) !important;font-weight:var(--typography-display-medium-font-weight) !important;line-height:var(--typography-display-medium-line-height) !important;letter-spacing:var(--typography-display-medium-letter-spacing) !important}.text-display-emphasized{font-family:var(--typography-display-medium-emphasized-font-family) !important;font-size:var(--typography-display-medium-emphasized-font-size) !important;font-weight:var(--typography-display-medium-emphasized-font-weight) !important;line-height:var(--typography-display-medium-emphasized-line-height) !important;letter-spacing:var(--typography-display-medium-emphasized-letter-spacing) !important}.text-display-large{font-family:var(--typography-display-large-font-family) !important;font-size:var(--typography-display-large-font-size) !important;font-weight:var(--typography-display-large-font-weight) !important;line-height:var(--typography-display-large-line-height) !important;letter-spacing:var(--typography-display-large-letter-spacing) !important}.text-display-large-emphasized{font-family:var(--typography-display-large-emphasized-font-family) !important;font-size:var(--typography-display-large-emphasized-font-size) !important;font-weight:var(--typography-display-large-emphasized-font-weight) !important;line-height:var(--typography-display-large-emphasized-line-height) !important;letter-spacing:var(--typography-display-large-emphasized-letter-spacing) !important}.text-display-medium{font-family:var(--typography-display-medium-font-family) !important;font-size:var(--typography-display-medium-font-size) !important;font-weight:var(--typography-display-medium-font-weight) !important;line-height:var(--typography-display-medium-line-height) !important;letter-spacing:var(--typography-display-medium-letter-spacing) !important}.text-display-medium-emphasized{font-family:var(--typography-display-medium-emphasized-font-family) !important;font-size:var(--typography-display-medium-emphasized-font-size) !important;font-weight:var(--typography-display-medium-emphasized-font-weight) !important;line-height:var(--typography-display-medium-emphasized-line-height) !important;letter-spacing:var(--typography-display-medium-emphasized-letter-spacing) !important}.text-display-small{font-family:var(--typography-display-small-font-family) !important;font-size:var(--typography-display-small-font-size) !important;font-weight:var(--typography-display-small-font-weight) !important;line-height:var(--typography-display-small-line-height) !important;letter-spacing:var(--typography-display-small-letter-spacing) !important}.text-display-small-emphasized{font-family:var(--typography-display-small-emphasized-font-family) !important;font-size:var(--typography-display-small-emphasized-font-size) !important;font-weight:var(--typography-display-small-emphasized-font-weight) !important;line-height:var(--typography-display-small-emphasized-line-height) !important;letter-spacing:var(--typography-display-small-emphasized-letter-spacing) !important}.text-headline{font-family:var(--typography-headline-medium-font-family) !important;font-size:var(--typography-headline-medium-font-size) !important;font-weight:var(--typography-headline-medium-font-weight) !important;line-height:var(--typography-headline-medium-line-height) !important;letter-spacing:var(--typography-headline-medium-letter-spacing) !important}.text-headline-emphasized{font-family:var(--typography-headline-medium-emphasized-font-family) !important;font-size:var(--typography-headline-medium-emphasized-font-size) !important;font-weight:var(--typography-headline-medium-emphasized-font-weight) !important;line-height:var(--typography-headline-medium-emphasized-line-height) !important;letter-spacing:var(--typography-headline-medium-emphasized-letter-spacing) !important}.text-headline-large{font-family:var(--typography-headline-large-font-family) !important;font-size:var(--typography-headline-large-font-size) !important;font-weight:var(--typography-headline-large-font-weight) !important;line-height:var(--typography-headline-large-line-height) !important;letter-spacing:var(--typography-headline-large-letter-spacing) !important}.text-headline-large-emphasized{font-family:var(--typography-headline-large-emphasized-font-family) !important;font-size:var(--typography-headline-large-emphasized-font-size) !important;font-weight:var(--typography-headline-large-emphasized-font-weight) !important;line-height:var(--typography-headline-large-emphasized-line-height) !important;letter-spacing:var(--typography-headline-large-emphasized-letter-spacing) !important}.text-headline-medium{font-family:var(--typography-headline-medium-font-family) !important;font-size:var(--typography-headline-medium-font-size) !important;font-weight:var(--typography-headline-medium-font-weight) !important;line-height:var(--typography-headline-medium-line-height) !important;letter-spacing:var(--typography-headline-medium-letter-spacing) !important}.text-headline-medium-emphasized{font-family:var(--typography-headline-medium-emphasized-font-family) !important;font-size:var(--typography-headline-medium-emphasized-font-size) !important;font-weight:var(--typography-headline-medium-emphasized-font-weight) !important;line-height:var(--typography-headline-medium-emphasized-line-height) !important;letter-spacing:var(--typography-headline-medium-emphasized-letter-spacing) !important}.text-headline-small{font-family:var(--typography-headline-small-font-family) !important;font-size:var(--typography-headline-small-font-size) !important;font-weight:var(--typography-headline-small-font-weight) !important;line-height:var(--typography-headline-small-line-height) !important;letter-spacing:var(--typography-headline-small-letter-spacing) !important}.text-headline-small-emphasized{font-family:var(--typography-headline-small-emphasized-font-family) !important;font-size:var(--typography-headline-small-emphasized-font-size) !important;font-weight:var(--typography-headline-small-emphasized-font-weight) !important;line-height:var(--typography-headline-small-emphasized-line-height) !important;letter-spacing:var(--typography-headline-small-emphasized-letter-spacing) !important}.text-body{font-family:var(--typography-body-medium-font-family) !important;font-size:var(--typography-body-medium-font-size) !important;font-weight:var(--typography-body-medium-font-weight) !important;line-height:var(--typography-body-medium-line-height) !important;letter-spacing:var(--typography-body-medium-letter-spacing) !important}.text-body-emphasized{font-family:var(--typography-body-medium-emphasized-font-family) !important;font-size:var(--typography-body-medium-emphasized-font-size) !important;font-weight:var(--typography-body-medium-emphasized-font-weight) !important;line-height:var(--typography-body-medium-emphasized-line-height) !important;letter-spacing:var(--typography-body-medium-emphasized-letter-spacing) !important}.text-body-large{font-family:var(--typography-body-large-font-family) !important;font-size:var(--typography-body-large-font-size) !important;font-weight:var(--typography-body-large-font-weight) !important;line-height:var(--typography-body-large-line-height) !important;letter-spacing:var(--typography-body-large-letter-spacing) !important}.text-body-large-emphasized{font-family:var(--typography-body-large-emphasized-font-family) !important;font-size:var(--typography-body-large-emphasized-font-size) !important;font-weight:var(--typography-body-large-emphasized-font-weight) !important;line-height:var(--typography-body-large-emphasized-line-height) !important;letter-spacing:var(--typography-body-large-emphasized-letter-spacing) !important}.text-body-medium{font-family:var(--typography-body-medium-font-family) !important;font-size:var(--typography-body-medium-font-size) !important;font-weight:var(--typography-body-medium-font-weight) !important;line-height:var(--typography-body-medium-line-height) !important;letter-spacing:var(--typography-body-medium-letter-spacing) !important}.text-body-medium-emphasized{font-family:var(--typography-body-medium-emphasized-font-family) !important;font-size:var(--typography-body-medium-emphasized-font-size) !important;font-weight:var(--typography-body-medium-emphasized-font-weight) !important;line-height:var(--typography-body-medium-emphasized-line-height) !important;letter-spacing:var(--typography-body-medium-emphasized-letter-spacing) !important}.text-body-small{font-family:var(--typography-body-small-font-family) !important;font-size:var(--typography-body-small-font-size) !important;font-weight:var(--typography-body-small-font-weight) !important;line-height:var(--typography-body-small-line-height) !important;letter-spacing:var(--typography-body-small-letter-spacing) !important}.text-body-small-emphasized{font-family:var(--typography-body-small-emphasized-font-family) !important;font-size:var(--typography-body-small-emphasized-font-size) !important;font-weight:var(--typography-body-small-emphasized-font-weight) !important;line-height:var(--typography-body-small-emphasized-line-height) !important;letter-spacing:var(--typography-body-small-emphasized-letter-spacing) !important}.text-code{font-family:var(--typography-code-medium-font-family) !important;font-size:var(--typography-code-medium-font-size) !important;font-weight:var(--typography-code-medium-font-weight) !important;line-height:var(--typography-code-medium-line-height) !important;letter-spacing:var(--typography-code-medium-letter-spacing) !important}.text-code-emphasized{font-family:var(--typography-code-medium-emphasized-font-family) !important;font-size:var(--typography-code-medium-emphasized-font-size) !important;font-weight:var(--typography-code-medium-emphasized-font-weight) !important;line-height:var(--typography-code-medium-emphasized-line-height) !important;letter-spacing:var(--typography-code-medium-emphasized-letter-spacing) !important}.text-code-large{font-family:var(--typography-code-large-font-family) !important;font-size:var(--typography-code-large-font-size) !important;font-weight:var(--typography-code-large-font-weight) !important;line-height:var(--typography-code-large-line-height) !important;letter-spacing:var(--typography-code-large-letter-spacing) !important}.text-code-large-emphasized{font-family:var(--typography-code-large-emphasized-font-family) !important;font-size:var(--typography-code-large-emphasized-font-size) !important;font-weight:var(--typography-code-large-emphasized-font-weight) !important;line-height:var(--typography-code-large-emphasized-line-height) !important;letter-spacing:var(--typography-code-large-emphasized-letter-spacing) !important}.text-code-medium{font-family:var(--typography-code-medium-font-family) !important;font-size:var(--typography-code-medium-font-size) !important;font-weight:var(--typography-code-medium-font-weight) !important;line-height:var(--typography-code-medium-line-height) !important;letter-spacing:var(--typography-code-medium-letter-spacing) !important}.text-code-medium-emphasized{font-family:var(--typography-code-medium-emphasized-font-family) !important;font-size:var(--typography-code-medium-emphasized-font-size) !important;font-weight:var(--typography-code-medium-emphasized-font-weight) !important;line-height:var(--typography-code-medium-emphasized-line-height) !important;letter-spacing:var(--typography-code-medium-emphasized-letter-spacing) !important}.text-code-small{font-family:var(--typography-code-small-font-family) !important;font-size:var(--typography-code-small-font-size) !important;font-weight:var(--typography-code-small-font-weight) !important;line-height:var(--typography-code-small-line-height) !important;letter-spacing:var(--typography-code-small-letter-spacing) !important}.text-code-small-emphasized{font-family:var(--typography-code-small-emphasized-font-family) !important;font-size:var(--typography-code-small-emphasized-font-size) !important;font-weight:var(--typography-code-small-emphasized-font-weight) !important;line-height:var(--typography-code-small-emphasized-line-height) !important;letter-spacing:var(--typography-code-small-emphasized-letter-spacing) !important}.text-label{font-family:var(--typography-label-medium-font-family) !important;font-size:var(--typography-label-medium-font-size) !important;font-weight:var(--typography-label-medium-font-weight) !important;line-height:var(--typography-label-medium-line-height) !important;letter-spacing:var(--typography-label-medium-letter-spacing) !important}.text-label-emphasized{font-family:var(--typography-label-medium-emphasized-font-family) !important;font-size:var(--typography-label-medium-emphasized-font-size) !important;font-weight:var(--typography-label-medium-emphasized-font-weight) !important;line-height:var(--typography-label-medium-emphasized-line-height) !important;letter-spacing:var(--typography-label-medium-emphasized-letter-spacing) !important}.text-label-large{font-family:var(--typography-label-large-font-family) !important;font-size:var(--typography-label-large-font-size) !important;font-weight:var(--typography-label-large-font-weight) !important;line-height:var(--typography-label-large-line-height) !important;letter-spacing:var(--typography-label-large-letter-spacing) !important}.text-label-large-emphasized{font-family:var(--typography-label-large-emphasized-font-family) !important;font-size:var(--typography-label-large-emphasized-font-size) !important;font-weight:var(--typography-label-large-emphasized-font-weight) !important;line-height:var(--typography-label-large-emphasized-line-height) !important;letter-spacing:var(--typography-label-large-emphasized-letter-spacing) !important}.text-label-medium{font-family:var(--typography-label-medium-font-family) !important;font-size:var(--typography-label-medium-font-size) !important;font-weight:var(--typography-label-medium-font-weight) !important;line-height:var(--typography-label-medium-line-height) !important;letter-spacing:var(--typography-label-medium-letter-spacing) !important}.text-label-medium-emphasized{font-family:var(--typography-label-medium-emphasized-font-family) !important;font-size:var(--typography-label-medium-emphasized-font-size) !important;font-weight:var(--typography-label-medium-emphasized-font-weight) !important;line-height:var(--typography-label-medium-emphasized-line-height) !important;letter-spacing:var(--typography-label-medium-emphasized-letter-spacing) !important}.text-label-small{font-family:var(--typography-label-small-font-family) !important;font-size:var(--typography-label-small-font-size) !important;font-weight:var(--typography-label-small-font-weight) !important;line-height:var(--typography-label-small-line-height) !important;letter-spacing:var(--typography-label-small-letter-spacing) !important}.text-label-small-emphasized{font-family:var(--typography-label-small-emphasized-font-family) !important;font-size:var(--typography-label-small-emphasized-font-size) !important;font-weight:var(--typography-label-small-emphasized-font-weight) !important;line-height:var(--typography-label-small-emphasized-line-height) !important;letter-spacing:var(--typography-label-small-emphasized-letter-spacing) !important}.text-title{font-family:var(--typography-title-medium-font-family) !important;font-size:var(--typography-title-medium-font-size) !important;font-weight:var(--typography-title-medium-font-weight) !important;line-height:var(--typography-title-medium-line-height) !important;letter-spacing:var(--typography-title-medium-letter-spacing) !important}.text-title-emphasized{font-family:var(--typography-title-medium-emphasized-font-family) !important;font-size:var(--typography-title-medium-emphasized-font-size) !important;font-weight:var(--typography-title-medium-emphasized-font-weight) !important;line-height:var(--typography-title-medium-emphasized-line-height) !important;letter-spacing:var(--typography-title-medium-emphasized-letter-spacing) !important}.text-title-large{font-family:var(--typography-title-large-font-family) !important;font-size:var(--typography-title-large-font-size) !important;font-weight:var(--typography-title-large-font-weight) !important;line-height:var(--typography-title-large-line-height) !important;letter-spacing:var(--typography-title-large-letter-spacing) !important}.text-title-large-emphasized{font-family:var(--typography-title-large-emphasized-font-family) !important;font-size:var(--typography-title-large-emphasized-font-size) !important;font-weight:var(--typography-title-large-emphasized-font-weight) !important;line-height:var(--typography-title-large-emphasized-line-height) !important;letter-spacing:var(--typography-title-large-emphasized-letter-spacing) !important}.text-title-medium{font-family:var(--typography-title-medium-font-family) !important;font-size:var(--typography-title-medium-font-size) !important;font-weight:var(--typography-title-medium-font-weight) !important;line-height:var(--typography-title-medium-line-height) !important;letter-spacing:var(--typography-title-medium-letter-spacing) !important}.text-title-medium-emphasized{font-family:var(--typography-title-medium-emphasized-font-family) !important;font-size:var(--typography-title-medium-emphasized-font-size) !important;font-weight:var(--typography-title-medium-emphasized-font-weight) !important;line-height:var(--typography-title-medium-emphasized-line-height) !important;letter-spacing:var(--typography-title-medium-emphasized-letter-spacing) !important}.text-title-small{font-family:var(--typography-title-small-font-family) !important;font-size:var(--typography-title-small-font-size) !important;font-weight:var(--typography-title-small-font-weight) !important;line-height:var(--typography-title-small-line-height) !important;letter-spacing:var(--typography-title-small-letter-spacing) !important}.text-title-small-emphasized{font-family:var(--typography-title-small-emphasized-font-family) !important;font-size:var(--typography-title-small-emphasized-font-size) !important;font-weight:var(--typography-title-small-emphasized-font-weight) !important;line-height:var(--typography-title-small-emphasized-line-height) !important;letter-spacing:var(--typography-title-small-emphasized-letter-spacing) !important}.text-code-block{background-color:var(--color-surface-variant);text-shadow:0 1px 1px var(--color-surface-variant);color:var(--color-on-surface);border-radius:var(--shape-corner-extra-small);padding:var(--spacing-050);font-family:var(--font-family-monospace);display:inline-block;max-width:100%;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;vertical-align:middle}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.screen-reader-only{display:none !important}[hidden]{display:none !important}.link{border-radius:inherit;corner-shape:inherit;color:var(--color-primary);--icon-color: currentColor;text-decoration:none}.link:hover,.link:focus-visible{text-decoration:underline}.link.inherit{color:inherit;text-decoration:none !important}.link.with-icon{display:inline-flex;align-items:center;gap:.5em}
2
2
  /*# sourceMappingURL=components.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["file:///home/runner/work/peacock/peacock/components/scss/mixin.scss","file:///home/runner/work/peacock/peacock/components/src/text/text.css-component.scss","file:///home/runner/work/peacock/peacock/components/src/link/link.css-component.scss"],"names":[],"mappings":"AACE,EACE,sBAGF,oBACE,wBAGF,SACE,wBCFF,cD8BA,oEACA,gEACA,oEACA,oEACA,0EC9BA,yBD0BA,+EACA,2EACA,+EACA,+EACA,qFClCA,oBD8BA,mEACA,+DACA,mEACA,mEACA,yEC9BA,+BD0BA,8EACA,0EACA,8EACA,8EACA,oFClCA,qBD8BA,oEACA,gEACA,oEACA,oEACA,0EC9BA,gCD0BA,+EACA,2EACA,+EACA,+EACA,qFClCA,oBD8BA,mEACA,+DACA,mEACA,mEACA,yEC9BA,+BD0BA,8EACA,0EACA,8EACA,8EACA,oFClCA,eD8BA,qEACA,iEACA,qEACA,qEACA,2EC9BA,0BD0BA,gFACA,4EACA,gFACA,gFACA,sFClCA,qBD8BA,oEACA,gEACA,oEACA,oEACA,0EC9BA,gCD0BA,+EACA,2EACA,+EACA,+EACA,qFClCA,sBD8BA,qEACA,iEACA,qEACA,qEACA,2EC9BA,iCD0BA,gFACA,4EACA,gFACA,gFACA,sFClCA,qBD8BA,oEACA,gEACA,oEACA,oEACA,0EC9BA,gCD0BA,+EACA,2EACA,+EACA,+EACA,qFClCA,WD8BA,iEACA,6DACA,iEACA,iEACA,uEC9BA,sBD0BA,4EACA,wEACA,4EACA,4EACA,kFClCA,iBD8BA,gEACA,4DACA,gEACA,gEACA,sEC9BA,4BD0BA,2EACA,uEACA,2EACA,2EACA,iFClCA,kBD8BA,iEACA,6DACA,iEACA,iEACA,uEC9BA,6BD0BA,4EACA,wEACA,4EACA,4EACA,kFClCA,iBD8BA,gEACA,4DACA,gEACA,gEACA,sEC9BA,4BD0BA,2EACA,uEACA,2EACA,2EACA,iFClCA,WD8BA,iEACA,6DACA,iEACA,iEACA,uEC9BA,sBD0BA,4EACA,wEACA,4EACA,4EACA,kFClCA,iBD8BA,gEACA,4DACA,gEACA,gEACA,sEC9BA,4BD0BA,2EACA,uEACA,2EACA,2EACA,iFClCA,kBD8BA,iEACA,6DACA,iEACA,iEACA,uEC9BA,6BD0BA,4EACA,wEACA,4EACA,4EACA,kFClCA,iBD8BA,gEACA,4DACA,gEACA,gEACA,sEC9BA,4BD0BA,2EACA,uEACA,2EACA,2EACA,iFClCA,YD8BA,kEACA,8DACA,kEACA,kEACA,wEC9BA,uBD0BA,6EACA,yEACA,6EACA,6EACA,mFClCA,kBD8BA,iEACA,6DACA,iEACA,iEACA,uEC9BA,6BD0BA,4EACA,wEACA,4EACA,4EACA,kFClCA,mBD8BA,kEACA,8DACA,kEACA,kEACA,wEC9BA,8BD0BA,6EACA,yEACA,6EACA,6EACA,mFClCA,kBD8BA,iEACA,6DACA,iEACA,iEACA,uEC9BA,6BD0BA,4EACA,wEACA,4EACA,4EACA,kFClCA,YD8BA,kEACA,8DACA,kEACA,kEACA,wEC9BA,uBD0BA,6EACA,yEACA,6EACA,6EACA,mFClCA,kBD8BA,iEACA,6DACA,iEACA,iEACA,uEC9BA,6BD0BA,4EACA,wEACA,4EACA,4EACA,kFClCA,mBD8BA,kEACA,8DACA,kEACA,kEACA,wEC9BA,8BD0BA,6EACA,yEACA,6EACA,6EACA,mFClCA,kBD8BA,iEACA,6DACA,iEACA,iEACA,uEC9BA,6BD0BA,4EACA,wEACA,4EACA,4EACA,kFCVF,iBACE,8CACA,mDACA,8BACA,8CACA,2BACA,yCAEA,qBACA,eACA,qBACA,sBACA,uBACA,sBD5CA,EACE,sBAGF,oBACE,wBAGF,SACE,wBENJ,MACE,sBACA,qBAEA,2BACA,2BACA,qBAEA,gCACE,0BAGF,cACE,cACA,gCAGF,gBACE,oBACA,mBACA","sourcesContent":["@mixin base-styles {\n * {\n box-sizing: border-box;\n }\n\n .screen-reader-only {\n display: none !important;\n }\n\n [hidden] {\n display: none !important;\n }\n}\n\n@mixin reset-button-styles {\n background: transparent;\n border: none;\n appearance: none;\n margin: 0;\n outline: none;\n padding: 0;\n}\n\n@mixin reset-link-styles {\n text-decoration: none;\n color: inherit;\n cursor: pointer;\n\n &:link,\n &:visited,\n &:hover,\n &:active {\n text-decoration: none;\n color: inherit;\n }\n}\n\n@mixin get-typography($name) {\n font-family: var(--typography-#{$name}-font-family) !important;\n font-size: var(--typography-#{$name}-font-size) !important;\n font-weight: var(--typography-#{$name}-font-weight) !important;\n line-height: var(--typography-#{$name}-line-height) !important;\n letter-spacing: var(--typography-#{$name}-letter-spacing) !important;\n}\n\n@mixin get-typography-not-important($name) {\n font-family: var(--typography-#{$name}-font-family);\n font-size: var(--typography-#{$name}-font-size);\n font-weight: var(--typography-#{$name}-font-weight);\n line-height: var(--typography-#{$name}-line-height);\n letter-spacing: var(--typography-#{$name}-letter-spacing);\n}\n\n@mixin focus-ring($color: var(--color-black)) {\n outline: 2px solid $color;\n}\n\n@mixin for-phone-only {\n @media (max-width: 671px) {\n @content;\n }\n}\n\n@mixin for-tablet-portrait-up {\n @media (min-width: 672px) {\n @content;\n }\n}\n\n@mixin for-tablet-landscape-up {\n @media (min-width: 1056px) {\n @content;\n }\n}\n\n@mixin for-desktop-up {\n @media (min-width: 1312px) {\n @content;\n }\n}\n\n@mixin for-big-desktop-up {\n @media (min-width: 1584px) {\n @content;\n }\n}\n\n// Layers\n@mixin layer-background {\n}\n\n// NOTE: `apply-container-shape` and `copy-container-shape` were removed.\n// These helpers previously copied container-shape custom properties and\n// applied them as physical border radii. They are intentionally deleted\n// because the loader now manages container shape via CSS custom properties\n// directly. If you need to reintroduce shape helpers, add small, focused\n// utilities instead of the previous macros.\n","@use \"../../scss/mixin\";\n\n@include mixin.base-styles;\n\n/// Mixin to define text classes for a specific type and value-type\n/// @param {String} $type - The type name to be used in the class name (e.g., .text-#{$type})\n/// @param {String} $value-type - The value-type name to be passed to get-typography\n@mixin define-text-classes($type, $value-type) {\n .text-#{$type} {\n @include mixin.get-typography(#{$value-type});\n }\n\n .text-#{$type}-emphasized {\n @include mixin.get-typography(#{$value-type}-emphasized);\n }\n}\n\n\n/// List of typography types\n$types: \"display\", \"headline\", \"body\", 'code', 'label', 'title';\n\n/// List of typography sizes\n$sizes: \"large\", \"medium\", 'small';\n\n/// Generate text classes for each type and size\n@each $type in $types {\n @include define-text-classes($type, #{$type}-medium);\n @each $size in $sizes {\n @include define-text-classes(#{$type}-#{$size}, #{$type}-#{$size});\n }\n}\n\n.text-code-block {\n background-color: var(--color-surface-variant);\n text-shadow: 0 1px 1px var(--color-surface-variant);\n color: var(--color-on-surface);\n border-radius: var(--shape-corner-extra-small);\n padding: var(--spacing-050);\n font-family: var(--font-family-monospace);\n\n display: inline-block;\n max-width: 100%;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n vertical-align: middle;\n}\n","@use \"../../scss/mixin\";\n\n@include mixin.base-styles;\n\n.link {\n border-radius: inherit;\n corner-shape: inherit;\n\n color: var(--color-primary);\n --icon-color: currentColor;\n text-decoration: none;\n\n &:hover, &:focus-visible {\n text-decoration: underline;\n }\n\n &.inherit {\n color: inherit;\n text-decoration: none !important;\n }\n\n &.with-icon {\n display: inline-flex;\n align-items: center;\n gap: 0.5em;\n }\n}\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["file:///home/runner/work/peacock/peacock/components/scss/mixin.scss","file:///home/runner/work/peacock/peacock/components/src/text/text.css-component.scss","file:///home/runner/work/peacock/peacock/components/src/link/link.css-component.scss"],"names":[],"mappings":"AACE,EACE,sBACA,0CAGF,oBACE,wBAGF,SACE,wBCHF,cDgCA,oEACA,gEACA,oEACA,oEACA,0EChCA,yBD4BA,+EACA,2EACA,+EACA,+EACA,qFCpCA,oBDgCA,mEACA,+DACA,mEACA,mEACA,yEChCA,+BD4BA,8EACA,0EACA,8EACA,8EACA,oFCpCA,qBDgCA,oEACA,gEACA,oEACA,oEACA,0EChCA,gCD4BA,+EACA,2EACA,+EACA,+EACA,qFCpCA,oBDgCA,mEACA,+DACA,mEACA,mEACA,yEChCA,+BD4BA,8EACA,0EACA,8EACA,8EACA,oFCpCA,eDgCA,qEACA,iEACA,qEACA,qEACA,2EChCA,0BD4BA,gFACA,4EACA,gFACA,gFACA,sFCpCA,qBDgCA,oEACA,gEACA,oEACA,oEACA,0EChCA,gCD4BA,+EACA,2EACA,+EACA,+EACA,qFCpCA,sBDgCA,qEACA,iEACA,qEACA,qEACA,2EChCA,iCD4BA,gFACA,4EACA,gFACA,gFACA,sFCpCA,qBDgCA,oEACA,gEACA,oEACA,oEACA,0EChCA,gCD4BA,+EACA,2EACA,+EACA,+EACA,qFCpCA,WDgCA,iEACA,6DACA,iEACA,iEACA,uEChCA,sBD4BA,4EACA,wEACA,4EACA,4EACA,kFCpCA,iBDgCA,gEACA,4DACA,gEACA,gEACA,sEChCA,4BD4BA,2EACA,uEACA,2EACA,2EACA,iFCpCA,kBDgCA,iEACA,6DACA,iEACA,iEACA,uEChCA,6BD4BA,4EACA,wEACA,4EACA,4EACA,kFCpCA,iBDgCA,gEACA,4DACA,gEACA,gEACA,sEChCA,4BD4BA,2EACA,uEACA,2EACA,2EACA,iFCpCA,WDgCA,iEACA,6DACA,iEACA,iEACA,uEChCA,sBD4BA,4EACA,wEACA,4EACA,4EACA,kFCpCA,iBDgCA,gEACA,4DACA,gEACA,gEACA,sEChCA,4BD4BA,2EACA,uEACA,2EACA,2EACA,iFCpCA,kBDgCA,iEACA,6DACA,iEACA,iEACA,uEChCA,6BD4BA,4EACA,wEACA,4EACA,4EACA,kFCpCA,iBDgCA,gEACA,4DACA,gEACA,gEACA,sEChCA,4BD4BA,2EACA,uEACA,2EACA,2EACA,iFCpCA,YDgCA,kEACA,8DACA,kEACA,kEACA,wEChCA,uBD4BA,6EACA,yEACA,6EACA,6EACA,mFCpCA,kBDgCA,iEACA,6DACA,iEACA,iEACA,uEChCA,6BD4BA,4EACA,wEACA,4EACA,4EACA,kFCpCA,mBDgCA,kEACA,8DACA,kEACA,kEACA,wEChCA,8BD4BA,6EACA,yEACA,6EACA,6EACA,mFCpCA,kBDgCA,iEACA,6DACA,iEACA,iEACA,uEChCA,6BD4BA,4EACA,wEACA,4EACA,4EACA,kFCpCA,YDgCA,kEACA,8DACA,kEACA,kEACA,wEChCA,uBD4BA,6EACA,yEACA,6EACA,6EACA,mFCpCA,kBDgCA,iEACA,6DACA,iEACA,iEACA,uEChCA,6BD4BA,4EACA,wEACA,4EACA,4EACA,kFCpCA,mBDgCA,kEACA,8DACA,kEACA,kEACA,wEChCA,8BD4BA,6EACA,yEACA,6EACA,6EACA,mFCpCA,kBDgCA,iEACA,6DACA,iEACA,iEACA,uEChCA,6BD4BA,4EACA,wEACA,4EACA,4EACA,kFCZF,iBACE,8CACA,mDACA,8BACA,8CACA,2BACA,yCAEA,qBACA,eACA,qBACA,sBACA,uBACA,sBD5CA,EACE,sBACA,0CAGF,oBACE,wBAGF,SACE,wBEPJ,MACE,sBACA,qBAEA,2BACA,2BACA,qBAEA,gCACE,0BAGF,cACE,cACA,gCAGF,gBACE,oBACA,mBACA","sourcesContent":["@mixin base-styles {\n * {\n box-sizing: border-box;\n -webkit-tap-highlight-color: transparent;\n }\n\n .screen-reader-only {\n display: none !important;\n }\n\n [hidden] {\n display: none !important;\n }\n}\n\n@mixin reset-button-styles {\n background: transparent;\n border: none;\n appearance: none;\n margin: 0;\n outline: none;\n padding: 0;\n}\n\n@mixin reset-link-styles {\n text-decoration: none;\n color: inherit;\n cursor: pointer;\n outline: none;\n\n &:link,\n &:visited,\n &:hover,\n &:active {\n text-decoration: none;\n color: inherit;\n }\n}\n\n@mixin get-typography($name) {\n font-family: var(--typography-#{$name}-font-family) !important;\n font-size: var(--typography-#{$name}-font-size) !important;\n font-weight: var(--typography-#{$name}-font-weight) !important;\n line-height: var(--typography-#{$name}-line-height) !important;\n letter-spacing: var(--typography-#{$name}-letter-spacing) !important;\n}\n\n@mixin get-typography-not-important($name) {\n font-family: var(--typography-#{$name}-font-family);\n font-size: var(--typography-#{$name}-font-size);\n font-weight: var(--typography-#{$name}-font-weight);\n line-height: var(--typography-#{$name}-line-height);\n letter-spacing: var(--typography-#{$name}-letter-spacing);\n}\n\n@mixin focus-ring($color: var(--color-black)) {\n outline: 2px solid $color;\n}\n\n@mixin for-phone-only {\n @media (max-width: 671px) {\n @content;\n }\n}\n\n@mixin for-tablet-portrait-up {\n @media (min-width: 672px) {\n @content;\n }\n}\n\n@mixin for-tablet-landscape-up {\n @media (min-width: 1056px) {\n @content;\n }\n}\n\n@mixin for-desktop-up {\n @media (min-width: 1312px) {\n @content;\n }\n}\n\n@mixin for-big-desktop-up {\n @media (min-width: 1584px) {\n @content;\n }\n}\n\n// Layers\n@mixin layer-background {\n}\n\n// NOTE: `apply-container-shape` and `copy-container-shape` were removed.\n// These helpers previously copied container-shape custom properties and\n// applied them as physical border radii. They are intentionally deleted\n// because the loader now manages container shape via CSS custom properties\n// directly. If you need to reintroduce shape helpers, add small, focused\n// utilities instead of the previous macros.\n","@use \"../../scss/mixin\";\n\n@include mixin.base-styles;\n\n/// Mixin to define text classes for a specific type and value-type\n/// @param {String} $type - The type name to be used in the class name (e.g., .text-#{$type})\n/// @param {String} $value-type - The value-type name to be passed to get-typography\n@mixin define-text-classes($type, $value-type) {\n .text-#{$type} {\n @include mixin.get-typography(#{$value-type});\n }\n\n .text-#{$type}-emphasized {\n @include mixin.get-typography(#{$value-type}-emphasized);\n }\n}\n\n\n/// List of typography types\n$types: \"display\", \"headline\", \"body\", 'code', 'label', 'title';\n\n/// List of typography sizes\n$sizes: \"large\", \"medium\", 'small';\n\n/// Generate text classes for each type and size\n@each $type in $types {\n @include define-text-classes($type, #{$type}-medium);\n @each $size in $sizes {\n @include define-text-classes(#{$type}-#{$size}, #{$type}-#{$size});\n }\n}\n\n.text-code-block {\n background-color: var(--color-surface-variant);\n text-shadow: 0 1px 1px var(--color-surface-variant);\n color: var(--color-on-surface);\n border-radius: var(--shape-corner-extra-small);\n padding: var(--spacing-050);\n font-family: var(--font-family-monospace);\n\n display: inline-block;\n max-width: 100%;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n vertical-align: middle;\n}\n","@use \"../../scss/mixin\";\n\n@include mixin.base-styles;\n\n.link {\n border-radius: inherit;\n corner-shape: inherit;\n\n color: var(--color-primary);\n --icon-color: currentColor;\n text-decoration: none;\n\n &:hover, &:focus-visible {\n text-decoration: underline;\n }\n\n &.inherit {\n color: inherit;\n text-decoration: none !important;\n }\n\n &.with-icon {\n display: inline-flex;\n align-items: center;\n gap: 0.5em;\n }\n}\n"]}