@redvars/peacock 3.6.2 → 3.7.0

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 (200) hide show
  1. package/dist/ButtonConstants-D06bY4uy.js +114 -0
  2. package/dist/ButtonConstants-D06bY4uy.js.map +1 -0
  3. package/dist/{BaseHyperlinkMixin-BNuwbiEf.js → NativeHyperlinkMixin-DrYXyfMQ.js} +8 -10
  4. package/dist/NativeHyperlinkMixin-DrYXyfMQ.js.map +1 -0
  5. package/dist/assets/components.css +1 -1
  6. package/dist/assets/components.css.map +1 -1
  7. package/dist/assets/styles.css +1 -1
  8. package/dist/assets/styles.css.map +1 -1
  9. package/dist/button-colors-Dwnez1tR.js +586 -0
  10. package/dist/button-colors-Dwnez1tR.js.map +1 -0
  11. package/dist/button-group.js +8 -8
  12. package/dist/button-group.js.map +1 -1
  13. package/dist/button.js +236 -133
  14. package/dist/button.js.map +1 -1
  15. package/dist/calendar-column-view.js +0 -1
  16. package/dist/calendar-column-view.js.map +1 -1
  17. package/dist/calendar-month-view.js +0 -1
  18. package/dist/calendar-month-view.js.map +1 -1
  19. package/dist/canvas.js +126 -107
  20. package/dist/canvas.js.map +1 -1
  21. package/dist/card-content.js +0 -1
  22. package/dist/card-content.js.map +1 -1
  23. package/dist/card.js +96 -90
  24. package/dist/card.js.map +1 -1
  25. package/dist/cb-compound-expression.js +4 -1
  26. package/dist/cb-compound-expression.js.map +1 -1
  27. package/dist/cb-divider.js +0 -1
  28. package/dist/cb-divider.js.map +1 -1
  29. package/dist/cb-expression.js +0 -2
  30. package/dist/cb-expression.js.map +1 -1
  31. package/dist/cb-predicate.js +0 -1
  32. package/dist/cb-predicate.js.map +1 -1
  33. package/dist/code-highlighter.js +23 -6
  34. package/dist/code-highlighter.js.map +1 -1
  35. package/dist/custom-elements-jsdocs.json +5079 -17882
  36. package/dist/custom-elements.json +19272 -19314
  37. package/dist/fab.js +181 -117
  38. package/dist/fab.js.map +1 -1
  39. package/dist/flow-designer.js +4 -4
  40. package/dist/icon-button-DJ0kZXYr.js +318 -0
  41. package/dist/icon-button-DJ0kZXYr.js.map +1 -0
  42. package/dist/index.js +7 -7
  43. package/dist/{navigation-rail-CD7IrqbN.js → navigation-rail-CM_svs5_.js} +1311 -730
  44. package/dist/navigation-rail-CM_svs5_.js.map +1 -0
  45. package/dist/observe-slot-change-D8Xg-kSS.js +60 -0
  46. package/dist/observe-slot-change-D8Xg-kSS.js.map +1 -0
  47. package/dist/peacock-loader.js +10 -7
  48. package/dist/peacock-loader.js.map +1 -1
  49. package/dist/popover-content.js +0 -1
  50. package/dist/popover-content.js.map +1 -1
  51. package/dist/search.js +15 -15
  52. package/dist/search.js.map +1 -1
  53. package/dist/src/__controllers/attachable-controller.d.ts +109 -0
  54. package/dist/src/__mixins/{BaseButtonMixin.d.ts → NativeButtonMixin.d.ts} +3 -3
  55. package/dist/src/__mixins/{BaseHyperlinkMixin.d.ts → NativeHyperlinkMixin.d.ts} +3 -4
  56. package/dist/src/__utils/is-link.d.ts +1 -0
  57. package/dist/src/__utils/observe-slot-change.d.ts +1 -1
  58. package/dist/src/accordion/accordion-item.d.ts +0 -1
  59. package/dist/src/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +0 -1
  60. package/dist/src/button/ButtonConstants.d.ts +1 -0
  61. package/dist/src/button/GroupButtonInterface.d.ts +4 -0
  62. package/dist/src/button/button/button.d.ts +32 -7
  63. package/dist/src/button/button-group/button-group.d.ts +2 -1
  64. package/dist/src/button/icon-button/icon-button.d.ts +26 -5
  65. package/dist/src/button/index.d.ts +1 -1
  66. package/dist/src/calendar/calendar-column-view.d.ts +0 -1
  67. package/dist/src/calendar/calendar-month-view.d.ts +0 -1
  68. package/dist/src/canvas/canvas.d.ts +3 -3
  69. package/dist/src/card/card-content.d.ts +0 -1
  70. package/dist/src/card/card.d.ts +9 -6
  71. package/dist/src/chip/chip/chip.d.ts +22 -3
  72. package/dist/src/condition-builder/cb-compound-expression.d.ts +0 -1
  73. package/dist/src/condition-builder/cb-divider.d.ts +0 -1
  74. package/dist/src/condition-builder/cb-expression.d.ts +0 -1
  75. package/dist/src/condition-builder/cb-predicate.d.ts +0 -1
  76. package/dist/src/fab/fab.d.ts +20 -6
  77. package/dist/src/field/field.d.ts +1 -0
  78. package/dist/src/focus-ring/focus-ring.d.ts +26 -20
  79. package/dist/src/image/image.d.ts +2 -2
  80. package/dist/src/index.d.ts +1 -0
  81. package/dist/src/input/input.d.ts +1 -3
  82. package/dist/src/item/index.d.ts +1 -0
  83. package/dist/src/item/item.d.ts +49 -0
  84. package/dist/src/link/link.d.ts +1 -1
  85. package/dist/src/list/list-item.d.ts +1 -2
  86. package/dist/src/menu/menu-item/menu-item.d.ts +9 -11
  87. package/dist/src/menu/sub-menu/sub-menu.d.ts +1 -1
  88. package/dist/src/navigation-rail/navigation-rail-item.d.ts +0 -2
  89. package/dist/src/navigation-rail/navigation-rail.d.ts +2 -6
  90. package/dist/src/popover/popover-content.d.ts +0 -1
  91. package/dist/src/ripple/ripple.d.ts +9 -1
  92. package/dist/src/search/search.d.ts +2 -6
  93. package/dist/src/segmented-button/segmented-button.d.ts +0 -1
  94. package/dist/src/select/option.d.ts +0 -1
  95. package/dist/src/sidebar-menu/sidebar-menu-item.d.ts +0 -1
  96. package/dist/src/sidebar-menu/sidebar-sub-menu.d.ts +0 -1
  97. package/dist/src/tabs/tab-panel.d.ts +0 -1
  98. package/dist/src/tabs/tab.d.ts +4 -6
  99. package/dist/test/item.test.d.ts +1 -0
  100. package/dist/tsconfig.tsbuildinfo +1 -1
  101. package/package.json +4 -2
  102. package/readme.md +2 -2
  103. package/scss/components.scss +0 -1
  104. package/scss/mixin.scss +33 -13
  105. package/scss/styles.scss +1 -3
  106. package/src/__controllers/attachable-controller.ts +198 -0
  107. package/src/__mixins/NativeButtonMixin.ts +87 -0
  108. package/src/__mixins/{BaseHyperlinkMixin.ts → NativeHyperlinkMixin.ts} +15 -15
  109. package/src/__utils/is-link.ts +3 -0
  110. package/src/__utils/observe-slot-change.ts +46 -14
  111. package/src/accordion/accordion-item.scss +1 -1
  112. package/src/accordion/accordion-item.ts +0 -1
  113. package/src/breadcrumb/breadcrumb-item/breadcrumb-item.ts +0 -1
  114. package/src/button/ButtonConstants.ts +1 -0
  115. package/src/button/GroupButtonInterface.ts +4 -0
  116. package/src/button/button/button-colors.scss +2 -2
  117. package/src/button/button/button-layers.scss +124 -0
  118. package/src/button/button/button-sizes.scss +31 -53
  119. package/src/button/button/button.scss +139 -262
  120. package/src/button/button/button.ts +260 -106
  121. package/src/button/button/only-button.scss +13 -0
  122. package/src/button/button-group/button-group.ts +59 -17
  123. package/src/button/icon-button/icon-button-sizes.scss +12 -27
  124. package/src/button/icon-button/icon-button.ts +191 -83
  125. package/src/button/index.ts +1 -1
  126. package/src/calendar/calendar-column-view.ts +0 -1
  127. package/src/calendar/calendar-month-view.ts +0 -1
  128. package/src/canvas/canvas.scss +18 -6
  129. package/src/canvas/canvas.ts +125 -103
  130. package/src/card/card-content.ts +2 -3
  131. package/src/card/card.scss +87 -95
  132. package/src/card/card.ts +62 -60
  133. package/src/chip/chip/chip.scss +66 -71
  134. package/src/chip/chip/chip.ts +155 -56
  135. package/src/code-highlighter/code-highlighter.scss +1 -1
  136. package/src/code-highlighter/code-highlighter.ts +20 -5
  137. package/src/condition-builder/cb-compound-expression.scss +4 -0
  138. package/src/condition-builder/cb-compound-expression.ts +0 -1
  139. package/src/condition-builder/cb-divider.ts +0 -1
  140. package/src/condition-builder/cb-expression.scss +0 -1
  141. package/src/condition-builder/cb-expression.ts +0 -1
  142. package/src/condition-builder/cb-predicate.ts +0 -1
  143. package/src/elevation/elevation.scss +5 -1
  144. package/src/empty-state/empty-state.scss +1 -0
  145. package/src/fab/fab-colors.scss +2 -2
  146. package/src/fab/fab-sizes.scss +24 -34
  147. package/src/fab/fab.scss +77 -71
  148. package/src/fab/fab.ts +141 -65
  149. package/src/field/field.ts +6 -0
  150. package/src/focus-ring/focus-ring.ts +81 -72
  151. package/src/image/image.scss +21 -16
  152. package/src/image/image.ts +13 -14
  153. package/src/index.ts +1 -0
  154. package/src/input/input.ts +16 -25
  155. package/src/item/index.ts +1 -0
  156. package/src/item/item.scss +195 -0
  157. package/src/item/item.ts +362 -0
  158. package/src/link/link.scss +1 -10
  159. package/src/link/link.ts +4 -2
  160. package/src/list/list-item.ts +8 -8
  161. package/src/menu/menu/menu.ts +5 -9
  162. package/src/menu/menu-item/menu-item.scss +30 -108
  163. package/src/menu/menu-item/menu-item.ts +102 -133
  164. package/src/menu/sub-menu/sub-menu.ts +6 -3
  165. package/src/navigation-rail/navigation-rail-item.scss +5 -0
  166. package/src/navigation-rail/navigation-rail-item.ts +10 -15
  167. package/src/navigation-rail/navigation-rail.ts +2 -6
  168. package/src/peacock-loader.ts +5 -1
  169. package/src/popover/popover-content.ts +0 -1
  170. package/src/ripple/ripple.ts +52 -20
  171. package/src/search/search.scss +3 -0
  172. package/src/search/search.ts +11 -16
  173. package/src/segmented-button/segmented-button.ts +0 -1
  174. package/src/select/option.ts +1 -2
  175. package/src/select/select.scss +1 -10
  176. package/src/select/select.ts +2 -0
  177. package/src/sidebar-menu/sidebar-menu-item.ts +0 -1
  178. package/src/sidebar-menu/sidebar-sub-menu.ts +0 -1
  179. package/src/skeleton/skeleton.scss +5 -1
  180. package/src/tabs/tab-panel.ts +0 -1
  181. package/src/tabs/tab.ts +60 -70
  182. package/src/text/text.css-component.scss +3 -21
  183. package/src/tooltip/tooltip.scss +5 -8
  184. package/src/tooltip/tooltip.ts +1 -2
  185. package/dist/BaseButton-BNFAYn-S.js +0 -219
  186. package/dist/BaseButton-BNFAYn-S.js.map +0 -1
  187. package/dist/BaseHyperlinkMixin-BNuwbiEf.js.map +0 -1
  188. package/dist/button-colors-AvGh22Zn.js +0 -561
  189. package/dist/button-colors-AvGh22Zn.js.map +0 -1
  190. package/dist/icon-button-ohxHhy4t.js +0 -247
  191. package/dist/icon-button-ohxHhy4t.js.map +0 -1
  192. package/dist/navigation-rail-CD7IrqbN.js.map +0 -1
  193. package/dist/observe-slot-change-BGJfgg2E.js +0 -31
  194. package/dist/observe-slot-change-BGJfgg2E.js.map +0 -1
  195. package/dist/src/button/BaseButton.d.ts +0 -28
  196. package/dist/src/focus-ring/FocusAttachableController.d.ts +0 -8
  197. package/src/__mixins/BaseButtonMixin.ts +0 -83
  198. package/src/button/BaseButton.ts +0 -113
  199. package/src/focus-ring/FocusAttachableController.ts +0 -28
  200. package/src/popover/tooltip.css-component.scss +0 -19
@@ -0,0 +1,60 @@
1
+ function hasMeaningfulContent(slotElement) {
2
+ const nodes = slotElement?.assignedNodes({ flatten: true }) || [];
3
+ for (const node of nodes) {
4
+ if (node.nodeType === Node.ELEMENT_NODE) {
5
+ return true;
6
+ }
7
+ if (node.nodeType === Node.TEXT_NODE &&
8
+ (node.textContent?.trim().length || 0) > 0) {
9
+ return true;
10
+ }
11
+ }
12
+ return false;
13
+ }
14
+ function observerSlotChangesWithCallback(slot, callback) {
15
+ if (!slot)
16
+ return () => { };
17
+ // Keep track of observers for current assigned nodes so we can reconnect
18
+ let observers = [];
19
+ const observeAssignedNodes = () => {
20
+ // disconnect previous observers
21
+ observers.forEach(o => o.disconnect());
22
+ observers = [];
23
+ const assigned = slot.assignedNodes({ flatten: true }) || [];
24
+ assigned.forEach(node => {
25
+ const obs = new MutationObserver(() => {
26
+ callback(hasMeaningfulContent(slot));
27
+ });
28
+ try {
29
+ obs.observe(node, {
30
+ attributes: true,
31
+ childList: true,
32
+ characterData: true,
33
+ subtree: true,
34
+ });
35
+ observers.push(obs);
36
+ }
37
+ catch (e) {
38
+ // ignore nodes that cannot be observed
39
+ }
40
+ });
41
+ // initial check
42
+ callback(hasMeaningfulContent(slot));
43
+ };
44
+ // When assigned nodes change (elements added/removed), the slot emits a slotchange
45
+ // event — re-run observer setup so we track the new nodes. This fixes the case
46
+ // where an element (e.g. <wc-icon>) is removed from light DOM: previously we
47
+ // only observed the old node and wouldn't detect its removal.
48
+ const onSlotChange = () => observeAssignedNodes();
49
+ slot.addEventListener('slotchange', onSlotChange);
50
+ // Start observing
51
+ observeAssignedNodes();
52
+ // Return a cleanup function so callers can disconnect observers when needed.
53
+ return () => {
54
+ observers.forEach(o => o.disconnect());
55
+ slot.removeEventListener('slotchange', onSlotChange);
56
+ };
57
+ }
58
+
59
+ export { observerSlotChangesWithCallback as o };
60
+ //# sourceMappingURL=observe-slot-change-D8Xg-kSS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observe-slot-change-D8Xg-kSS.js","sources":["../../src/__utils/observe-slot-change.ts"],"sourcesContent":["function hasMeaningfulContent(slotElement: HTMLSlotElement | null) {\n const nodes = slotElement?.assignedNodes({ flatten: true }) || [];\n\n for (const node of nodes) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n return true;\n }\n if (\n node.nodeType === Node.TEXT_NODE &&\n (node.textContent?.trim().length || 0) > 0\n ) {\n return true;\n }\n }\n\n return false;\n}\n\nexport function observerSlotChangesWithCallback(\n slot: HTMLSlotElement | null,\n callback: (hasContent: boolean) => void,\n) {\n if (!slot) return () => {};\n\n // Keep track of observers for current assigned nodes so we can reconnect\n let observers: MutationObserver[] = [];\n\n const observeAssignedNodes = () => {\n // disconnect previous observers\n observers.forEach(o => o.disconnect());\n observers = [];\n\n const assigned = slot.assignedNodes({ flatten: true }) || [];\n assigned.forEach(node => {\n const obs = new MutationObserver(() => {\n callback(hasMeaningfulContent(slot));\n });\n try {\n obs.observe(node as Node, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n });\n observers.push(obs);\n } catch (e) {\n // ignore nodes that cannot be observed\n }\n });\n\n // initial check\n callback(hasMeaningfulContent(slot));\n };\n\n // When assigned nodes change (elements added/removed), the slot emits a slotchange\n // event — re-run observer setup so we track the new nodes. This fixes the case\n // where an element (e.g. <wc-icon>) is removed from light DOM: previously we\n // only observed the old node and wouldn't detect its removal.\n const onSlotChange = () => observeAssignedNodes();\n slot.addEventListener('slotchange', onSlotChange);\n\n // Start observing\n observeAssignedNodes();\n\n // Return a cleanup function so callers can disconnect observers when needed.\n return () => {\n observers.forEach(o => o.disconnect());\n slot.removeEventListener('slotchange', onSlotChange);\n };\n}\n"],"names":[],"mappings":"AAAA,SAAS,oBAAoB,CAAC,WAAmC,EAAA;AAC/D,IAAA,MAAM,KAAK,GAAG,WAAW,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE;AAEjE,IAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;AACvC,YAAA,OAAO,IAAI;QACb;AACA,QAAA,IACE,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS;AAChC,YAAA,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAC1C;AACA,YAAA,OAAO,IAAI;QACb;IACF;AAEA,IAAA,OAAO,KAAK;AACd;AAEM,SAAU,+BAA+B,CAC7C,IAA4B,EAC5B,QAAuC,EAAA;AAEvC,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,MAAK,EAAE,CAAC;;IAG1B,IAAI,SAAS,GAAuB,EAAE;IAEtC,MAAM,oBAAoB,GAAG,MAAK;;AAEhC,QAAA,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;QACtC,SAAS,GAAG,EAAE;AAEd,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE;AAC5D,QAAA,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAG;AACtB,YAAA,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,MAAK;AACpC,gBAAA,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACtC,YAAA,CAAC,CAAC;AACF,YAAA,IAAI;AACF,gBAAA,GAAG,CAAC,OAAO,CAAC,IAAY,EAAE;AACxB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,SAAS,EAAE,IAAI;AACf,oBAAA,aAAa,EAAE,IAAI;AACnB,oBAAA,OAAO,EAAE,IAAI;AACd,iBAAA,CAAC;AACF,gBAAA,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;YACrB;YAAE,OAAO,CAAC,EAAE;;YAEZ;AACF,QAAA,CAAC,CAAC;;AAGF,QAAA,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACtC,IAAA,CAAC;;;;;AAMD,IAAA,MAAM,YAAY,GAAG,MAAM,oBAAoB,EAAE;AACjD,IAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,YAAY,CAAC;;AAGjD,IAAA,oBAAoB,EAAE;;AAGtB,IAAA,OAAO,MAAK;AACV,QAAA,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;AACtC,QAAA,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC;AACtD,IAAA,CAAC;AACH;;;;"}
@@ -1,8 +1,8 @@
1
- import { A as Accordion, p as NavigationRailItem, N as NavigationRail, u as SelectOptionElement, t as Select, G as Snackbar, x as SidebarSubMenu, w as SidebarMenuItem, v as SidebarMenu, P as Pagination, V as Table, z as Slider, K as Svg, I as Image, g as Container, n as ListItem, m as List, J as SubMenu, o as MenuItem, M as Menu, i as EmptyState, H as Spinner, R as Radio, C as Checkbox, O as Switch, c as BreadcrumbItem, b as Breadcrumb, _ as Tooltip, Z as TimePicker, D as DatePicker, Y as Textarea, q as NumberField, $ as UrlField, k as Input, F as Field, y as Skeleton, f as CircularProgress, L as LinearProgress, X as Tag, e as ChipSet, d as Chip, l as Link, U as TabPanel, T as Tab, Q as TabGroup, W as Tabs, r as Ripple, E as Elevation, h as Divider, s as SegmentedButtonGroup, S as SegmentedButton, B as Badge, a as Avatar, j as FocusRing } from './navigation-rail-CD7IrqbN.js';
1
+ import { A as Accordion, q as NavigationRailItem, N as NavigationRail, v as SelectOptionElement, u as Select, H as Snackbar, y as SidebarSubMenu, x as SidebarMenuItem, w as SidebarMenu, P as Pagination, W as Table, G as Slider, O as Svg, I as Image, g as Container, l as Item, o as ListItem, n as List, K as SubMenu, p as MenuItem, M as Menu, i as EmptyState, J as Spinner, R as Radio, C as Checkbox, Q as Switch, c as BreadcrumbItem, b as Breadcrumb, $ as Tooltip, _ as TimePicker, D as DatePicker, Z as Textarea, r as NumberField, a0 as UrlField, k as Input, F as Field, z as Skeleton, f as CircularProgress, L as LinearProgress, Y as Tag, e as ChipSet, d as Chip, m as Link, V as TabPanel, T as Tab, U as TabGroup, X as Tabs, s as Ripple, E as Elevation, h as Divider, t as SegmentedButtonGroup, S as SegmentedButton, B as Badge, a as Avatar, j as FocusRing } from './navigation-rail-CM_svs5_.js';
2
2
  import { I as Icon } from './icon-CueRR7wx.js';
3
3
  import { Button } from './button.js';
4
- import { ButtonGroup } from './button-group.js';
5
- import { I as IconButton } from './icon-button-ohxHhy4t.js';
4
+ import ButtonGroup from './button-group.js';
5
+ import { I as IconButton } from './icon-button-DJ0kZXYr.js';
6
6
  import { Fab } from './fab.js';
7
7
  import { SplitButton } from './split-button.js';
8
8
  import { DropdownButton } from './dropdown-button.js';
@@ -23,16 +23,16 @@ import './property-1psGvXOq.js';
23
23
  import './class-map-YU7g0o3B.js';
24
24
  import './directive-ZPhl09Yt.js';
25
25
  import './state-DwbEjqVk.js';
26
- import './observe-slot-change-BGJfgg2E.js';
26
+ import './observe-slot-change-D8Xg-kSS.js';
27
27
  import './query-QBcUV-L_.js';
28
- import './BaseHyperlinkMixin-BNuwbiEf.js';
29
- import './BaseButton-BNFAYn-S.js';
28
+ import './NativeHyperlinkMixin-DrYXyfMQ.js';
29
+ import './ButtonConstants-D06bY4uy.js';
30
30
  import './dispatch-event-utils-CuEqjlPT.js';
31
31
  import './style-map-DVmWOuYy.js';
32
32
  import './BaseInput-14YmcfK7.js';
33
33
  import './is-dark-mode-DOcaw4Yq.js';
34
34
  import './unsafe-html-BsGUjx94.js';
35
- import './button-colors-AvGh22Zn.js';
35
+ import './button-colors-Dwnez1tR.js';
36
36
 
37
37
  class LoaderUtils {
38
38
  constructor(loaderConfig) {
@@ -342,6 +342,9 @@ const loaderConfig = {
342
342
  'wc-list-item': {
343
343
  CustomElementClass: ListItem,
344
344
  },
345
+ 'wc-item': {
346
+ CustomElementClass: Item,
347
+ },
345
348
  'wc-container': {
346
349
  CustomElementClass: Container,
347
350
  },
@@ -1 +1 @@
1
- {"version":3,"file":"peacock-loader.js","sources":["../../src/LoaderUtils.ts","../../src/CssLoader.ts","../../src/peacock-loader.ts"],"sourcesContent":["interface ComponentConfig {\n CustomElementClass?: any; // earger load\n importPath?: string; // lazy load\n dependencies?: string[];\n}\n\ninterface LoaderConfig {\n components?: Record<string, ComponentConfig>;\n}\n\nexport { LoaderConfig };\n\nexport class LoaderUtils {\n private _loaderConfig: LoaderConfig;\n\n private _observer: MutationObserver | undefined;\n\n constructor(loaderConfig: LoaderConfig) {\n this._loaderConfig = loaderConfig;\n }\n\n static registerComponent(tagName: string, CustomElementClass: any) {\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n }\n\n start() {\n this.eagerLoadComponents();\n this.lazyLoadComponents(document);\n }\n\n eagerLoadComponents() {\n if (!this._loaderConfig.components) return;\n for (const [name, value] of Object.entries(this._loaderConfig.components)) {\n if (value.CustomElementClass)\n LoaderUtils.registerComponent(name, value.CustomElementClass);\n }\n }\n\n async registerAsync(tagName: string): Promise<void> {\n if (customElements.get(tagName)) return;\n\n if (!this._loaderConfig.components) return;\n\n const config = this._loaderConfig.components[tagName];\n if (!config || !config.importPath) return;\n\n try {\n const module = await import(config.importPath);\n\n // Runtime definition: grabbing the class from the module\n const CustomElementClass =\n module.default || module[Object.keys(module)[0]];\n\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n\n // Handle dependencies recursively\n if (config.dependencies) {\n for (const dep of config.dependencies) {\n // eslint-disable-next-line no-await-in-loop\n await this.registerAsync(dep);\n }\n }\n } catch (error) {\n console.error(\n `Unable to load <${tagName}> from ${config.importPath}`,\n error,\n );\n }\n }\n\n async load(root: Element | Document): Promise<void> {\n const rootTagName =\n root instanceof Element ? root.tagName.toLowerCase() : '';\n\n const tags = Array.from(root.querySelectorAll(':not(:defined)')).map(el =>\n el.tagName.toLowerCase(),\n );\n\n if (rootTagName.includes('-') && !customElements.get(rootTagName)) {\n tags.push(rootTagName);\n }\n\n const tagsToRegister = [...new Set(tags)];\n await Promise.allSettled(\n tagsToRegister.map(tagName => this.registerAsync(tagName)),\n );\n }\n\n lazyLoadComponents(root: any) {\n this._observer = new MutationObserver(mutations => {\n for (const { addedNodes } of mutations) {\n for (const node of addedNodes) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n this.load(node as Element);\n }\n }\n }\n });\n\n const target = root instanceof Document ? root.documentElement : root;\n this.load(target);\n\n this._observer.observe(target, {\n subtree: true,\n childList: true,\n });\n }\n}\n","const sheetCache = new Map<string, CSSStyleSheet>();\n\nasync function loadCSS(\n url: string,\n options: any = {}\n): Promise<CSSStyleSheet> {\n const {\n priority = \"high\",\n cache = \"force-cache\",\n media = \"all\",\n } = options;\n\n // Return cached sheet immediately\n if (sheetCache.has(url)) {\n const cached = sheetCache.get(url)!;\n if (!document.adoptedStyleSheets.includes(cached)) {\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, cached];\n }\n return cached;\n }\n\n const response = await fetch(url, {\n cache,\n priority,\n });\n\n if (!response.ok) {\n throw new Error(`Failed to load CSS [${response.status}]: ${url}`);\n }\n\n const css = await response.text();\n const sheet = new CSSStyleSheet({ media });\n\n sheet.replaceSync(css);\n sheetCache.set(url, sheet);\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];\n\n return sheet;\n}\n\nasync function loadMultipleCSS(\n urls: string[],\n options: any = {}\n): Promise<CSSStyleSheet[]> {\n return Promise.all(urls.map((url) => loadCSS(url, options)));\n}\n\nfunction unloadCSS(url: string): boolean {\n const sheet = sheetCache.get(url);\n if (!sheet) return false;\n\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => s !== sheet\n );\n sheetCache.delete(url);\n return true;\n}\n\nfunction clearAllCSS(): void {\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => ![...sheetCache.values()].includes(s)\n );\n sheetCache.clear();\n}\n\nexport { loadCSS, loadMultipleCSS, unloadCSS, clearAllCSS };","// Eager loaded\n\nimport { Elevation } from './elevation/elevation.js';\nimport { FocusRing } from './focus-ring/focus-ring.js';\nimport { Ripple } from './ripple/ripple.js';\n\nimport { Icon } from './icon/icon.js';\nimport { Avatar } from './avatar/avatar.js';\nimport { Badge } from './badge/badge.js';\nimport { Divider } from './divider/divider.js';\nimport { Button } from './button/button/button.js';\nimport { ButtonGroup } from './button/button-group/button-group.js';\nimport { IconButton } from './button/icon-button/icon-button.js';\nimport { Fab } from './fab/fab.js';\nimport { SegmentedButton } from './segmented-button/segmented-button.js';\nimport { SegmentedButtonGroup } from './segmented-button/segmented-button-group.js';\nimport { SplitButton } from './split-button/split-button.js';\nimport { DropdownButton } from './dropdown-button/dropdown-button.js';\nimport { Input } from './input/input.js';\nimport { UrlField } from './url-field/url-field.js';\nimport { Field } from './field/field.js';\nimport { NumberField } from './number-field/number-field.js';\nimport { DatePicker } from './date-picker/date-picker.js';\nimport { TimePicker } from './time-picker/time-picker.js';\nimport { Textarea } from './textarea/textarea.js';\nimport { Switch } from './switch/switch.js';\nimport { Checkbox } from './checkbox/checkbox.js';\nimport { Radio } from './radio/radio.js';\n\nimport { Menu } from './menu/menu/menu.js';\nimport { MenuItem } from './menu/menu-item/menu-item.js';\nimport { SubMenu } from './menu/sub-menu/sub-menu.js';\nimport { List } from './list/list.js';\nimport { ListItem } from './list/list-item.js';\n\nimport { Accordion } from './accordion/accordion.js';\nimport { Link } from './link/link.js';\nimport { Tag } from './chip/tag/tag.js';\nimport { Chip } from './chip/chip/chip.js';\nimport { ChipSet } from './chip/chip-set/chip-set.js';\nimport { LinearProgress } from './progress/linear-progress/linear-progress.js';\nimport { CircularProgress } from './progress/circular-progress/circular-progress.js';\n\nimport { Tooltip } from './tooltip/tooltip.js';\nimport { Popover } from './popover/popover.js';\nimport { PopoverContent } from './popover/popover-content.js';\nimport { Breadcrumb, BreadcrumbItem } from './breadcrumb/index.js';\n\nimport { Skeleton } from './skeleton/skeleton.js';\nimport { Spinner } from './spinner/spinner.js';\n\nimport { EmptyState } from './empty-state/empty-state.js';\nimport { Container } from './container/container.js';\nimport { Image } from './image/image.js';\nimport { Svg } from './svg/svg.js';\n\nimport { LoaderConfig, LoaderUtils } from './LoaderUtils.js';\nimport { loadCSS } from './CssLoader.js';\nimport { TabGroup } from './tabs/tab-group.js';\nimport { Tabs } from './tabs/tabs.js';\nimport { Tab } from './tabs/tab.js';\nimport { TabPanel } from './tabs/tab-panel.js';\nimport { Slider } from './slider/slider.js';\nimport { Table } from './table/table.js';\nimport { Pagination } from './pagination/pagination.js';\nimport { SidebarMenu } from './sidebar-menu/sidebar-menu.js';\nimport { SidebarMenuItem } from './sidebar-menu/sidebar-menu-item.js';\nimport { SidebarSubMenu } from './sidebar-menu/sidebar-sub-menu.js';\nimport { Card } from './card/card.js';\nimport { CardContent } from './card/card-content.js';\nimport { Banner } from './banner/banner.js';\nimport { Notification } from './notification/notification.js';\nimport { NotificationManager } from './notification-manager/notification-manager.js';\nimport { Snackbar } from './snackbar/snackbar.js';\nimport { BottomSheet } from './bottom-sheet/bottom-sheet.js';\nimport { SideSheet } from './side-sheet/side-sheet.js';\nimport { Modal } from './modal/modal.js';\nimport { Select } from './select/select.js';\nimport { SelectOptionElement } from './select/option.js';\nimport { Search } from './search/search.js';\nimport { Toolbar } from './toolbar/toolbar.js';\nimport { NavigationRail } from './navigation-rail/navigation-rail.js';\nimport { NavigationRailItem } from './navigation-rail/navigation-rail-item.js';\n\nconst distDirectory = `${import.meta.url}/..`;\nawait loadCSS(`${distDirectory}/assets/styles.css`);\n\n/*\nimport tooltipStyles from './popover/tooltip.css-component.scss';\n\nfunction buildSheet(styleSheet: any) {\n const sheet = new CSSStyleSheet();\n // Add rules\n sheet.replaceSync(styleSheet.toString());\n return sheet;\n}\n\nconst styleSheets = [\n// buildSheet(cssComponentsStyleSheet),\n// buildSheet(linkStyles),\n// buildSheet(textStylesheet),\n buildSheet(tooltipStyles),\n];\n\ndocument.adoptedStyleSheets = styleSheets;\n*/\n\nconst loaderConfig: LoaderConfig = {\n components: {\n 'wc-icon': {\n CustomElementClass: Icon,\n // importPath: './component/icon.js', - for lazy load give path instead of CustomElementClass\n },\n 'wc-focus-ring': {\n CustomElementClass: FocusRing,\n },\n 'wc-avatar': {\n CustomElementClass: Avatar,\n },\n 'wc-badge': {\n CustomElementClass: Badge,\n },\n 'wc-button': {\n CustomElementClass: Button,\n },\n 'wc-icon-button': {\n CustomElementClass: IconButton,\n },\n 'wc-fab': {\n CustomElementClass: Fab,\n },\n 'wc-button-group': {\n CustomElementClass: ButtonGroup,\n },\n 'wc-segmented-button': {\n CustomElementClass: SegmentedButton,\n },\n 'wc-segmented-button-group': {\n CustomElementClass: SegmentedButtonGroup,\n },\n 'wc-split-button': {\n CustomElementClass: SplitButton,\n },\n 'wc-dropdown-button': {\n CustomElementClass: DropdownButton,\n },\n 'wc-divider': {\n CustomElementClass: Divider,\n },\n 'wc-elevation': {\n CustomElementClass: Elevation,\n },\n 'wc-clock': {\n importPath: `${distDirectory}/clock.js`,\n },\n 'wc-ripple': {\n CustomElementClass: Ripple,\n },\n 'wc-accordion': {\n CustomElementClass: Accordion,\n },\n 'wc-accordion-item': {\n CustomElementClass: Accordion.Item,\n },\n 'wc-tabs': {\n CustomElementClass: Tabs,\n },\n 'wc-tab-group': {\n CustomElementClass: TabGroup,\n },\n 'wc-tab': {\n CustomElementClass: Tab,\n },\n 'wc-tab-panel': {\n CustomElementClass: TabPanel,\n },\n 'wc-link': {\n CustomElementClass: Link,\n },\n 'wc-chip': {\n CustomElementClass: Chip,\n },\n 'wc-chip-set': {\n CustomElementClass: ChipSet,\n },\n 'wc-card': {\n CustomElementClass: Card,\n },\n 'wc-card-content': {\n CustomElementClass: CardContent,\n },\n 'wc-banner': {\n CustomElementClass: Banner,\n },\n 'wc-notification': {\n CustomElementClass: Notification,\n },\n 'wc-notification-manager': {\n CustomElementClass: NotificationManager,\n },\n 'wc-tag': {\n CustomElementClass: Tag,\n },\n 'wc-linear-progress': {\n CustomElementClass: LinearProgress,\n },\n 'wc-circular-progress': {\n CustomElementClass: CircularProgress,\n },\n 'wc-skeleton': {\n CustomElementClass: Skeleton,\n },\n\n 'wc-field': {\n CustomElementClass: Field,\n },\n 'wc-input': {\n CustomElementClass: Input,\n },\n 'wc-url-field': {\n CustomElementClass: UrlField,\n },\n 'wc-number-field': {\n CustomElementClass: NumberField,\n },\n 'wc-textarea': {\n CustomElementClass: Textarea,\n },\n 'wc-date-picker': {\n CustomElementClass: DatePicker,\n },\n 'wc-time-picker': {\n CustomElementClass: TimePicker,\n },\n 'wc-tooltip': {\n CustomElementClass: Tooltip,\n },\n 'wc-popover': {\n CustomElementClass: Popover,\n },\n 'wc-popover-content': {\n CustomElementClass: PopoverContent,\n },\n 'wc-number-counter': {\n importPath: `${distDirectory}/number-counter.js`,\n },\n 'wc-code-editor': {\n importPath: `${distDirectory}/code-editor.js`,\n },\n 'wc-html-editor': {\n importPath: `${distDirectory}/html-editor.js`,\n dependencies: ['wc-code-editor'],\n },\n 'wc-code-highlighter': {\n importPath: `${distDirectory}/code-highlighter.js`,\n },\n 'wc-breadcrumb': {\n CustomElementClass: Breadcrumb,\n },\n 'wc-breadcrumb-item': {\n CustomElementClass: BreadcrumbItem,\n },\n 'wc-switch': {\n CustomElementClass: Switch,\n },\n 'wc-checkbox': {\n CustomElementClass: Checkbox,\n },\n 'wc-radio': {\n CustomElementClass: Radio,\n },\n 'wc-spinner': {\n CustomElementClass: Spinner,\n },\n 'wc-empty-state': {\n CustomElementClass: EmptyState,\n },\n 'wc-menu': {\n CustomElementClass: Menu,\n },\n 'wc-menu-item': {\n CustomElementClass: MenuItem,\n },\n 'wc-sub-menu': {\n CustomElementClass: SubMenu,\n },\n 'wc-list': {\n CustomElementClass: List,\n },\n 'wc-list-item': {\n CustomElementClass: ListItem,\n },\n 'wc-container': {\n CustomElementClass: Container,\n },\n 'wc-image': {\n CustomElementClass: Image,\n },\n 'wc-svg': {\n CustomElementClass: Svg,\n },\n 'wc-slider': {\n CustomElementClass: Slider,\n },\n 'wc-table': {\n CustomElementClass: Table,\n },\n 'wc-pagination': {\n CustomElementClass: Pagination,\n },\n 'wc-sidebar-menu': {\n CustomElementClass: SidebarMenu,\n },\n 'wc-sidebar-menu-item': {\n CustomElementClass: SidebarMenuItem,\n },\n 'wc-sidebar-sub-menu': {\n CustomElementClass: SidebarSubMenu,\n },\n 'wc-snackbar': {\n CustomElementClass: Snackbar,\n },\n 'wc-bottom-sheet': {\n CustomElementClass: BottomSheet,\n },\n 'wc-side-sheet': {\n CustomElementClass: SideSheet,\n },\n 'wc-modal': {\n CustomElementClass: Modal,\n },\n 'wc-select': {\n CustomElementClass: Select,\n },\n 'wc-option': {\n CustomElementClass: SelectOptionElement,\n },\n 'wc-search': {\n CustomElementClass: Search,\n },\n 'wc-toolbar': {\n CustomElementClass: Toolbar,\n },\n 'wc-navigation-rail': {\n CustomElementClass: NavigationRail,\n },\n 'wc-navigation-rail-item': {\n CustomElementClass: NavigationRailItem,\n },\n 'wc-calendar': {\n importPath: `${distDirectory}/calendar.js`,\n dependencies: ['wc-calendar-column-view', 'wc-calendar-month-view'],\n },\n 'wc-calendar-column-view': {\n importPath: `${distDirectory}/calendar-column-view.js`,\n },\n 'wc-calendar-month-view': {\n importPath: `${distDirectory}/calendar-month-view.js`,\n },\n 'wc-canvas': {\n importPath: `${distDirectory}/canvas.js`,\n },\n 'wc-flow-designer': {\n importPath: `${distDirectory}/flow-designer.js`,\n dependencies: ['wc-flow-designer-node'],\n },\n 'wc-flow-designer-node': {\n importPath: `${distDirectory}/flow-designer-node.js`,\n },\n 'wc-chart-doughnut': {\n importPath: `${distDirectory}/chart-doughnut.js`,\n },\n 'wc-chart-pie': {\n importPath: `${distDirectory}/chart-pie.js`,\n },\n 'wc-chart-bar': {\n importPath: `${distDirectory}/chart-bar.js`,\n },\n 'wc-chart-stacked-bar': {\n importPath: `${distDirectory}/chart-stacked-bar.js`,\n },\n 'wc-condition-builder': {\n importPath: `${distDirectory}/condition-builder.js`,\n dependencies: [\n 'wc-cb-predicate',\n 'wc-cb-compound-expression',\n 'wc-cb-expression',\n 'wc-cb-divider',\n ],\n },\n 'wc-cb-predicate': {\n importPath: `${distDirectory}/cb-predicate.js`,\n },\n 'wc-cb-compound-expression': {\n importPath: `${distDirectory}/cb-compound-expression.js`,\n },\n 'wc-cb-expression': {\n importPath: `${distDirectory}/cb-expression.js`,\n },\n 'wc-cb-divider': {\n importPath: `${distDirectory}/cb-divider.js`,\n },\n },\n};\n\nnew LoaderUtils(loaderConfig).start();\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"peacock-loader.js","sources":["../../src/LoaderUtils.ts","../../src/CssLoader.ts","../../src/peacock-loader.ts"],"sourcesContent":["interface ComponentConfig {\n CustomElementClass?: any; // earger load\n importPath?: string; // lazy load\n dependencies?: string[];\n}\n\ninterface LoaderConfig {\n components?: Record<string, ComponentConfig>;\n}\n\nexport { LoaderConfig };\n\nexport class LoaderUtils {\n private _loaderConfig: LoaderConfig;\n\n private _observer: MutationObserver | undefined;\n\n constructor(loaderConfig: LoaderConfig) {\n this._loaderConfig = loaderConfig;\n }\n\n static registerComponent(tagName: string, CustomElementClass: any) {\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n }\n\n start() {\n this.eagerLoadComponents();\n this.lazyLoadComponents(document);\n }\n\n eagerLoadComponents() {\n if (!this._loaderConfig.components) return;\n for (const [name, value] of Object.entries(this._loaderConfig.components)) {\n if (value.CustomElementClass)\n LoaderUtils.registerComponent(name, value.CustomElementClass);\n }\n }\n\n async registerAsync(tagName: string): Promise<void> {\n if (customElements.get(tagName)) return;\n\n if (!this._loaderConfig.components) return;\n\n const config = this._loaderConfig.components[tagName];\n if (!config || !config.importPath) return;\n\n try {\n const module = await import(config.importPath);\n\n // Runtime definition: grabbing the class from the module\n const CustomElementClass =\n module.default || module[Object.keys(module)[0]];\n\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n\n // Handle dependencies recursively\n if (config.dependencies) {\n for (const dep of config.dependencies) {\n // eslint-disable-next-line no-await-in-loop\n await this.registerAsync(dep);\n }\n }\n } catch (error) {\n console.error(\n `Unable to load <${tagName}> from ${config.importPath}`,\n error,\n );\n }\n }\n\n async load(root: Element | Document): Promise<void> {\n const rootTagName =\n root instanceof Element ? root.tagName.toLowerCase() : '';\n\n const tags = Array.from(root.querySelectorAll(':not(:defined)')).map(el =>\n el.tagName.toLowerCase(),\n );\n\n if (rootTagName.includes('-') && !customElements.get(rootTagName)) {\n tags.push(rootTagName);\n }\n\n const tagsToRegister = [...new Set(tags)];\n await Promise.allSettled(\n tagsToRegister.map(tagName => this.registerAsync(tagName)),\n );\n }\n\n lazyLoadComponents(root: any) {\n this._observer = new MutationObserver(mutations => {\n for (const { addedNodes } of mutations) {\n for (const node of addedNodes) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n this.load(node as Element);\n }\n }\n }\n });\n\n const target = root instanceof Document ? root.documentElement : root;\n this.load(target);\n\n this._observer.observe(target, {\n subtree: true,\n childList: true,\n });\n }\n}\n","const sheetCache = new Map<string, CSSStyleSheet>();\n\nasync function loadCSS(\n url: string,\n options: any = {}\n): Promise<CSSStyleSheet> {\n const {\n priority = \"high\",\n cache = \"force-cache\",\n media = \"all\",\n } = options;\n\n // Return cached sheet immediately\n if (sheetCache.has(url)) {\n const cached = sheetCache.get(url)!;\n if (!document.adoptedStyleSheets.includes(cached)) {\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, cached];\n }\n return cached;\n }\n\n const response = await fetch(url, {\n cache,\n priority,\n });\n\n if (!response.ok) {\n throw new Error(`Failed to load CSS [${response.status}]: ${url}`);\n }\n\n const css = await response.text();\n const sheet = new CSSStyleSheet({ media });\n\n sheet.replaceSync(css);\n sheetCache.set(url, sheet);\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];\n\n return sheet;\n}\n\nasync function loadMultipleCSS(\n urls: string[],\n options: any = {}\n): Promise<CSSStyleSheet[]> {\n return Promise.all(urls.map((url) => loadCSS(url, options)));\n}\n\nfunction unloadCSS(url: string): boolean {\n const sheet = sheetCache.get(url);\n if (!sheet) return false;\n\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => s !== sheet\n );\n sheetCache.delete(url);\n return true;\n}\n\nfunction clearAllCSS(): void {\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => ![...sheetCache.values()].includes(s)\n );\n sheetCache.clear();\n}\n\nexport { loadCSS, loadMultipleCSS, unloadCSS, clearAllCSS };","// Eager loaded\n\nimport { Elevation } from './elevation/elevation.js';\nimport { FocusRing } from './focus-ring/focus-ring.js';\nimport { Ripple } from './ripple/ripple.js';\n\nimport { Icon } from './icon/icon.js';\nimport { Avatar } from './avatar/avatar.js';\nimport { Badge } from './badge/badge.js';\nimport { Divider } from './divider/divider.js';\nimport { Button } from './button/button/button.js';\nimport ButtonGroup from './button/button-group/button-group.js';\nimport { IconButton } from './button/icon-button/icon-button.js';\nimport { Fab } from './fab/fab.js';\nimport { SegmentedButton } from './segmented-button/segmented-button.js';\nimport { SegmentedButtonGroup } from './segmented-button/segmented-button-group.js';\nimport { SplitButton } from './split-button/split-button.js';\nimport { DropdownButton } from './dropdown-button/dropdown-button.js';\nimport { Input } from './input/input.js';\nimport { UrlField } from './url-field/url-field.js';\nimport { Field } from './field/field.js';\nimport { NumberField } from './number-field/number-field.js';\nimport { DatePicker } from './date-picker/date-picker.js';\nimport { TimePicker } from './time-picker/time-picker.js';\nimport { Textarea } from './textarea/textarea.js';\nimport { Switch } from './switch/switch.js';\nimport { Checkbox } from './checkbox/checkbox.js';\nimport { Radio } from './radio/radio.js';\n\nimport { Menu } from './menu/menu/menu.js';\nimport { MenuItem } from './menu/menu-item/menu-item.js';\nimport { SubMenu } from './menu/sub-menu/sub-menu.js';\nimport { Item } from './item/item.js';\nimport { List } from './list/list.js';\nimport { ListItem } from './list/list-item.js';\n\nimport { Accordion } from './accordion/accordion.js';\nimport { Link } from './link/link.js';\nimport { Tag } from './chip/tag/tag.js';\nimport { Chip } from './chip/chip/chip.js';\nimport { ChipSet } from './chip/chip-set/chip-set.js';\nimport { LinearProgress } from './progress/linear-progress/linear-progress.js';\nimport { CircularProgress } from './progress/circular-progress/circular-progress.js';\n\nimport { Tooltip } from './tooltip/tooltip.js';\nimport { Popover } from './popover/popover.js';\nimport { PopoverContent } from './popover/popover-content.js';\nimport { Breadcrumb, BreadcrumbItem } from './breadcrumb/index.js';\n\nimport { Skeleton } from './skeleton/skeleton.js';\nimport { Spinner } from './spinner/spinner.js';\n\nimport { EmptyState } from './empty-state/empty-state.js';\nimport { Container } from './container/container.js';\nimport { Image } from './image/image.js';\nimport { Svg } from './svg/svg.js';\n\nimport { LoaderConfig, LoaderUtils } from './LoaderUtils.js';\nimport { loadCSS } from './CssLoader.js';\nimport { TabGroup } from './tabs/tab-group.js';\nimport { Tabs } from './tabs/tabs.js';\nimport { Tab } from './tabs/tab.js';\nimport { TabPanel } from './tabs/tab-panel.js';\nimport { Slider } from './slider/slider.js';\nimport { Table } from './table/table.js';\nimport { Pagination } from './pagination/pagination.js';\nimport { SidebarMenu } from './sidebar-menu/sidebar-menu.js';\nimport { SidebarMenuItem } from './sidebar-menu/sidebar-menu-item.js';\nimport { SidebarSubMenu } from './sidebar-menu/sidebar-sub-menu.js';\nimport { Card } from './card/card.js';\nimport { CardContent } from './card/card-content.js';\nimport { Banner } from './banner/banner.js';\nimport { Notification } from './notification/notification.js';\nimport { NotificationManager } from './notification-manager/notification-manager.js';\nimport { Snackbar } from './snackbar/snackbar.js';\nimport { BottomSheet } from './bottom-sheet/bottom-sheet.js';\nimport { SideSheet } from './side-sheet/side-sheet.js';\nimport { Modal } from './modal/modal.js';\nimport { Select } from './select/select.js';\nimport { SelectOptionElement } from './select/option.js';\nimport { Search } from './search/search.js';\nimport { Toolbar } from './toolbar/toolbar.js';\nimport { NavigationRail } from './navigation-rail/navigation-rail.js';\nimport { NavigationRailItem } from './navigation-rail/navigation-rail-item.js';\n\nconst distDirectory = `${import.meta.url}/..`;\nawait loadCSS(`${distDirectory}/assets/styles.css`);\n\n/*\nimport tooltipStyles from './popover/tooltip.css-component.scss';\n\nfunction buildSheet(styleSheet: any) {\n const sheet = new CSSStyleSheet();\n // Add rules\n sheet.replaceSync(styleSheet.toString());\n return sheet;\n}\n\nconst styleSheets = [\n// buildSheet(cssComponentsStyleSheet),\n// buildSheet(linkStyles),\n// buildSheet(textStylesheet),\n buildSheet(tooltipStyles),\n];\n\ndocument.adoptedStyleSheets = styleSheets;\n*/\n\nconst loaderConfig: LoaderConfig = {\n components: {\n 'wc-icon': {\n CustomElementClass: Icon,\n // importPath: './component/icon.js', - for lazy load give path instead of CustomElementClass\n },\n 'wc-focus-ring': {\n CustomElementClass: FocusRing,\n },\n 'wc-avatar': {\n CustomElementClass: Avatar,\n },\n 'wc-badge': {\n CustomElementClass: Badge,\n },\n 'wc-button': {\n CustomElementClass: Button,\n },\n 'wc-icon-button': {\n CustomElementClass: IconButton,\n },\n 'wc-fab': {\n CustomElementClass: Fab,\n },\n 'wc-button-group': {\n CustomElementClass: ButtonGroup,\n },\n 'wc-segmented-button': {\n CustomElementClass: SegmentedButton,\n },\n 'wc-segmented-button-group': {\n CustomElementClass: SegmentedButtonGroup,\n },\n 'wc-split-button': {\n CustomElementClass: SplitButton,\n },\n 'wc-dropdown-button': {\n CustomElementClass: DropdownButton,\n },\n 'wc-divider': {\n CustomElementClass: Divider,\n },\n 'wc-elevation': {\n CustomElementClass: Elevation,\n },\n 'wc-clock': {\n importPath: `${distDirectory}/clock.js`,\n },\n 'wc-ripple': {\n CustomElementClass: Ripple,\n },\n 'wc-accordion': {\n CustomElementClass: Accordion,\n },\n 'wc-accordion-item': {\n CustomElementClass: Accordion.Item,\n },\n 'wc-tabs': {\n CustomElementClass: Tabs,\n },\n 'wc-tab-group': {\n CustomElementClass: TabGroup,\n },\n 'wc-tab': {\n CustomElementClass: Tab,\n },\n 'wc-tab-panel': {\n CustomElementClass: TabPanel,\n },\n 'wc-link': {\n CustomElementClass: Link,\n },\n 'wc-chip': {\n CustomElementClass: Chip,\n },\n 'wc-chip-set': {\n CustomElementClass: ChipSet,\n },\n 'wc-card': {\n CustomElementClass: Card,\n },\n 'wc-card-content': {\n CustomElementClass: CardContent,\n },\n 'wc-banner': {\n CustomElementClass: Banner,\n },\n 'wc-notification': {\n CustomElementClass: Notification,\n },\n 'wc-notification-manager': {\n CustomElementClass: NotificationManager,\n },\n 'wc-tag': {\n CustomElementClass: Tag,\n },\n 'wc-linear-progress': {\n CustomElementClass: LinearProgress,\n },\n 'wc-circular-progress': {\n CustomElementClass: CircularProgress,\n },\n 'wc-skeleton': {\n CustomElementClass: Skeleton,\n },\n\n 'wc-field': {\n CustomElementClass: Field,\n },\n 'wc-input': {\n CustomElementClass: Input,\n },\n 'wc-url-field': {\n CustomElementClass: UrlField,\n },\n 'wc-number-field': {\n CustomElementClass: NumberField,\n },\n 'wc-textarea': {\n CustomElementClass: Textarea,\n },\n 'wc-date-picker': {\n CustomElementClass: DatePicker,\n },\n 'wc-time-picker': {\n CustomElementClass: TimePicker,\n },\n 'wc-tooltip': {\n CustomElementClass: Tooltip,\n },\n 'wc-popover': {\n CustomElementClass: Popover,\n },\n 'wc-popover-content': {\n CustomElementClass: PopoverContent,\n },\n 'wc-number-counter': {\n importPath: `${distDirectory}/number-counter.js`,\n },\n 'wc-code-editor': {\n importPath: `${distDirectory}/code-editor.js`,\n },\n 'wc-html-editor': {\n importPath: `${distDirectory}/html-editor.js`,\n dependencies: ['wc-code-editor'],\n },\n 'wc-code-highlighter': {\n importPath: `${distDirectory}/code-highlighter.js`,\n },\n 'wc-breadcrumb': {\n CustomElementClass: Breadcrumb,\n },\n 'wc-breadcrumb-item': {\n CustomElementClass: BreadcrumbItem,\n },\n 'wc-switch': {\n CustomElementClass: Switch,\n },\n 'wc-checkbox': {\n CustomElementClass: Checkbox,\n },\n 'wc-radio': {\n CustomElementClass: Radio,\n },\n 'wc-spinner': {\n CustomElementClass: Spinner,\n },\n 'wc-empty-state': {\n CustomElementClass: EmptyState,\n },\n 'wc-menu': {\n CustomElementClass: Menu,\n },\n 'wc-menu-item': {\n CustomElementClass: MenuItem,\n },\n 'wc-sub-menu': {\n CustomElementClass: SubMenu,\n },\n 'wc-list': {\n CustomElementClass: List,\n },\n 'wc-list-item': {\n CustomElementClass: ListItem,\n },\n 'wc-item': {\n CustomElementClass: Item,\n },\n 'wc-container': {\n CustomElementClass: Container,\n },\n 'wc-image': {\n CustomElementClass: Image,\n },\n 'wc-svg': {\n CustomElementClass: Svg,\n },\n 'wc-slider': {\n CustomElementClass: Slider,\n },\n 'wc-table': {\n CustomElementClass: Table,\n },\n 'wc-pagination': {\n CustomElementClass: Pagination,\n },\n 'wc-sidebar-menu': {\n CustomElementClass: SidebarMenu,\n },\n 'wc-sidebar-menu-item': {\n CustomElementClass: SidebarMenuItem,\n },\n 'wc-sidebar-sub-menu': {\n CustomElementClass: SidebarSubMenu,\n },\n 'wc-snackbar': {\n CustomElementClass: Snackbar,\n },\n 'wc-bottom-sheet': {\n CustomElementClass: BottomSheet,\n },\n 'wc-side-sheet': {\n CustomElementClass: SideSheet,\n },\n 'wc-modal': {\n CustomElementClass: Modal,\n },\n 'wc-select': {\n CustomElementClass: Select,\n },\n 'wc-option': {\n CustomElementClass: SelectOptionElement,\n },\n 'wc-search': {\n CustomElementClass: Search,\n },\n 'wc-toolbar': {\n CustomElementClass: Toolbar,\n },\n 'wc-navigation-rail': {\n CustomElementClass: NavigationRail,\n },\n 'wc-navigation-rail-item': {\n CustomElementClass: NavigationRailItem,\n },\n 'wc-calendar': {\n importPath: `${distDirectory}/calendar.js`,\n dependencies: ['wc-calendar-column-view', 'wc-calendar-month-view'],\n },\n 'wc-calendar-column-view': {\n importPath: `${distDirectory}/calendar-column-view.js`,\n },\n 'wc-calendar-month-view': {\n importPath: `${distDirectory}/calendar-month-view.js`,\n },\n 'wc-canvas': {\n importPath: `${distDirectory}/canvas.js`,\n },\n 'wc-flow-designer': {\n importPath: `${distDirectory}/flow-designer.js`,\n dependencies: ['wc-flow-designer-node'],\n },\n 'wc-flow-designer-node': {\n importPath: `${distDirectory}/flow-designer-node.js`,\n },\n 'wc-chart-doughnut': {\n importPath: `${distDirectory}/chart-doughnut.js`,\n },\n 'wc-chart-pie': {\n importPath: `${distDirectory}/chart-pie.js`,\n },\n 'wc-chart-bar': {\n importPath: `${distDirectory}/chart-bar.js`,\n },\n 'wc-chart-stacked-bar': {\n importPath: `${distDirectory}/chart-stacked-bar.js`,\n },\n 'wc-condition-builder': {\n importPath: `${distDirectory}/condition-builder.js`,\n dependencies: [\n 'wc-cb-predicate',\n 'wc-cb-compound-expression',\n 'wc-cb-expression',\n 'wc-cb-divider',\n ],\n },\n 'wc-cb-predicate': {\n importPath: `${distDirectory}/cb-predicate.js`,\n },\n 'wc-cb-compound-expression': {\n importPath: `${distDirectory}/cb-compound-expression.js`,\n },\n 'wc-cb-expression': {\n importPath: `${distDirectory}/cb-expression.js`,\n },\n 'wc-cb-divider': {\n importPath: `${distDirectory}/cb-divider.js`,\n },\n },\n};\n\nnew LoaderUtils(loaderConfig).start();\n"],"names":[],"mappings":"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"}
@@ -74,7 +74,6 @@ var css_248z = i`* {
74
74
  * @tag wc-popover-content
75
75
  * @rawTag popover-content
76
76
  * @summary Content container for the wc-popover component.
77
- * @childComponent true
78
77
  * @tags display
79
78
  *
80
79
  * @cssprop --popover-content-background - Background color of the popover content. Defaults to `var(--color-surface-container)`.
@@ -1 +1 @@
1
- {"version":3,"file":"popover-content.js","sources":["../../src/popover/popover-content.ts"],"sourcesContent":["import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './popover-content.scss';\n\n/**\n * @label Popover Content\n * @tag wc-popover-content\n * @rawTag popover-content\n * @summary Content container for the wc-popover component.\n * @childComponent true\n * @tags display\n *\n * @cssprop --popover-content-background - Background color of the popover content. Defaults to `var(--color-surface-container)`.\n * @cssprop --popover-content-padding - Padding of the popover content. Defaults to `var(--spacing-200)`.\n * @cssprop --popover-content-border-radius - Border radius of the popover content. Defaults to `var(--shape-corner-small)`.\n * @cssprop --popover-content-min-width - Minimum width of the popover content. Defaults to `10rem`.\n *\n * @example\n * ```html\n * <wc-popover-content>\n * <p>Popover body text</p>\n * </wc-popover-content>\n * ```\n */\n@IndividualComponent\nexport class PopoverContent extends LitElement {\n static styles = [styles];\n\n /**\n * Whether the popover content is visible.\n */\n @property({ type: Boolean, reflect: true }) open = false;\n\n render() {\n return html`\n <div\n class=${classMap({\n 'popover-content': true,\n open: this.open,\n })}\n part=\"container\"\n >\n <slot></slot>\n <wc-elevation class=\"elevation\"></wc-elevation>\n <div class=\"arrow\" part=\"arrow\"></div>\n </div>\n `;\n }\n}\n"],"names":["LitElement","html","classMap","styles","property"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;;;;;;;;;;;;;;;;;;;AAmBG;AAEI,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQA,GAAU,CAAA;AAAvC,IAAA,WAAA,GAAA;;AAGL;;AAEG;QACyC,IAAA,CAAA,IAAI,GAAG,KAAK;IAiB1D;IAfE,MAAM,GAAA;AACJ,QAAA,OAAOC,CAAI,CAAA;;AAEC,cAAA,EAAAC,CAAQ,CAAC;AACf,YAAA,iBAAiB,EAAE,IAAI;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;;;;;;;KAOL;IACH;;AArBO,cAAA,CAAA,MAAM,GAAG,CAACC,QAAM,CAAC;AAKoB,UAAA,CAAA;IAA3CC,CAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAAe,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAN9C,cAAc,GAAA,UAAA,CAAA;IAD1B;AACY,CAAA,EAAA,cAAc,CAuB1B;;;;"}
1
+ {"version":3,"file":"popover-content.js","sources":["../../src/popover/popover-content.ts"],"sourcesContent":["import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './popover-content.scss';\n\n/**\n * @label Popover Content\n * @tag wc-popover-content\n * @rawTag popover-content\n * @summary Content container for the wc-popover component.\n * @tags display\n *\n * @cssprop --popover-content-background - Background color of the popover content. Defaults to `var(--color-surface-container)`.\n * @cssprop --popover-content-padding - Padding of the popover content. Defaults to `var(--spacing-200)`.\n * @cssprop --popover-content-border-radius - Border radius of the popover content. Defaults to `var(--shape-corner-small)`.\n * @cssprop --popover-content-min-width - Minimum width of the popover content. Defaults to `10rem`.\n *\n * @example\n * ```html\n * <wc-popover-content>\n * <p>Popover body text</p>\n * </wc-popover-content>\n * ```\n */\n@IndividualComponent\nexport class PopoverContent extends LitElement {\n static styles = [styles];\n\n /**\n * Whether the popover content is visible.\n */\n @property({ type: Boolean, reflect: true }) open = false;\n\n render() {\n return html`\n <div\n class=${classMap({\n 'popover-content': true,\n open: this.open,\n })}\n part=\"container\"\n >\n <slot></slot>\n <wc-elevation class=\"elevation\"></wc-elevation>\n <div class=\"arrow\" part=\"arrow\"></div>\n </div>\n `;\n }\n}\n"],"names":["LitElement","html","classMap","styles","property"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;;;;;;;;;;;;;;;;;;AAkBG;AAEI,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQA,GAAU,CAAA;AAAvC,IAAA,WAAA,GAAA;;AAGL;;AAEG;QACyC,IAAA,CAAA,IAAI,GAAG,KAAK;IAiB1D;IAfE,MAAM,GAAA;AACJ,QAAA,OAAOC,CAAI,CAAA;;AAEC,cAAA,EAAAC,CAAQ,CAAC;AACf,YAAA,iBAAiB,EAAE,IAAI;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;;;;;;;KAOL;IACH;;AArBO,cAAA,CAAA,MAAM,GAAG,CAACC,QAAM,CAAC;AAKoB,UAAA,CAAA;IAA3CC,CAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAAe,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAN9C,cAAc,GAAA,UAAA,CAAA;IAD1B;AACY,CAAA,EAAA,cAAc,CAuB1B;;;;"}
package/dist/search.js CHANGED
@@ -4,7 +4,7 @@ import { r as r$1 } from './state-DwbEjqVk.js';
4
4
  import { e as e$1 } from './query-QBcUV-L_.js';
5
5
  import { e as e$2 } from './class-map-YU7g0o3B.js';
6
6
  import { e, i, t } from './directive-ZPhl09Yt.js';
7
- import { o as observerSlotChangesWithCallback } from './observe-slot-change-BGJfgg2E.js';
7
+ import { o as observerSlotChangesWithCallback } from './observe-slot-change-D8Xg-kSS.js';
8
8
 
9
9
  /**
10
10
  * @license
@@ -52,14 +52,17 @@ var css_248z$1 = i$1`* {
52
52
  padding-inline: 1rem;
53
53
  /* size-md default */
54
54
  --_height: 3.5rem;
55
+ --icon-size: 1.25rem;
55
56
  }
56
57
  .search.size-sm {
57
58
  --_height: 2.5rem;
58
59
  padding-inline: 0.75rem;
60
+ --icon-size: 1rem;
59
61
  }
60
62
  .search.size-lg {
61
63
  --_height: 4rem;
62
64
  padding-inline: 1.25rem;
65
+ --icon-size: 1.5rem;
63
66
  }
64
67
  .search {
65
68
  min-height: var(--_height);
@@ -289,6 +292,9 @@ let Search = class Search extends i$2 {
289
292
  this.size = 'md';
290
293
  this.focused = false;
291
294
  this.leadingSlotHasContent = false;
295
+ this.__handleFocusChange = (event) => {
296
+ this.focused = event.type === 'focus';
297
+ };
292
298
  }
293
299
  firstUpdated() {
294
300
  observerSlotChangesWithCallback(this.renderRoot.querySelector('slot[name="leading"]'), hasContent => {
@@ -296,14 +302,14 @@ let Search = class Search extends i$2 {
296
302
  this.requestUpdate();
297
303
  });
298
304
  }
299
- /** Focuses the internal input element. */
300
- focus() {
305
+ async focus() {
306
+ await Promise.all([
307
+ customElements.whenDefined('wc-input'),
308
+ customElements.whenDefined('wc-field'),
309
+ ]);
310
+ await this.updateComplete;
301
311
  this.inputElement?.focus();
302
312
  }
303
- /** Blurs the internal input element. */
304
- blur() {
305
- this.inputElement?.blur();
306
- }
307
313
  __handleInput(event) {
308
314
  const input = event.target;
309
315
  this.value = input.value;
@@ -338,12 +344,6 @@ let Search = class Search extends i$2 {
338
344
  this.__clearValue();
339
345
  }
340
346
  }
341
- __handleFocus() {
342
- this.focused = true;
343
- }
344
- __handleBlur() {
345
- this.focused = false;
346
- }
347
347
  __clearValue() {
348
348
  this.value = '';
349
349
  this.inputElement?.focus();
@@ -408,8 +408,8 @@ let Search = class Search extends i$2 {
408
408
  @input=${this.__handleInput}
409
409
  @change=${this.__handleChange}
410
410
  @keydown=${this.__handleKeydown}
411
- @focus=${this.__handleFocus}
412
- @blur=${this.__handleBlur}
411
+ @focus=${this.__handleFocusChange}
412
+ @blur=${this.__handleFocusChange}
413
413
  />
414
414
 
415
415
  <div class="trailing-actions">
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sources":["../node_modules/lit-html/directive-helpers.js","../node_modules/lit-html/directives/live.js","../../src/search/search.ts"],"sourcesContent":["import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>o,n=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,e={HTML:1,SVG:2,MATHML:3},l=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,d=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,f=o=>o?._$litDirective$,r=o=>void 0===o.strings,s=()=>document.createComment(\"\"),v=(o,n,e)=>{const l=o._$AA.parentNode,d=void 0===n?o._$AB:n._$AA;if(void 0===e){const i=l.insertBefore(s(),d),n=l.insertBefore(s(),d);e=new t(i,n,o,o.options)}else{const t=e._$AB.nextSibling,n=e._$AM,c=n!==o;if(c){let t;e._$AQ?.(o),e._$AM=o,void 0!==e._$AP&&(t=o._$AU)!==n._$AU&&e._$AP(t)}if(t!==d||c){let o=e._$AA;for(;o!==t;){const t=i(o).nextSibling;i(l).insertBefore(o,d),o=t}}}return e},u=(o,t,i=o)=>(o._$AI(t,i),o),m={},p=(o,t=m)=>o._$AH=t,M=o=>o._$AH,h=o=>{o._$AR(),o._$AA.remove()},j=o=>{o._$AR()};export{e as TemplateResultType,j as clearPart,M as getCommittedValue,f as getDirectiveClass,v as insertPart,d as isCompiledTemplateResult,c as isDirectiveResult,n as isPrimitive,r as isSingleExpression,l as isTemplateResult,h as removePart,u as setChildPartValue,p as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{noChange as r,nothing as e}from\"../lit-html.js\";import{directive as i,Directive as t,PartType as n}from\"../directive.js\";import{isSingleExpression as o,setCommittedValue as s}from\"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=i(class extends t{constructor(r){if(super(r),r.type!==n.PROPERTY&&r.type!==n.ATTRIBUTE&&r.type!==n.BOOLEAN_ATTRIBUTE)throw Error(\"The `live` directive is not allowed on child or event bindings\");if(!o(r))throw Error(\"`live` bindings can only contain a single expression\")}render(r){return r}update(i,[t]){if(t===r||t===e)return t;const o=i.element,l=i.name;if(i.type===n.PROPERTY){if(t===o[l])return r}else if(i.type===n.BOOLEAN_ATTRIBUTE){if(!!t===o.hasAttribute(l))return r}else if(i.type===n.ATTRIBUTE&&o.getAttribute(l)===t+\"\")return r;return s(i),t}});export{l as live};\n//# sourceMappingURL=live.js.map\n","import { LitElement, html, nothing } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { live } from 'lit/directives/live.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './search.scss';\nimport colorStyles from './search-colors.scss';\nimport { observerSlotChangesWithCallback } from '@/__utils/observe-slot-change.js';\n\n/**\n * @label Search\n * @tag wc-search\n * @rawTag search\n *\n * @summary A Material 3 search bar for filtering and finding content.\n * @overview\n * <p>The search component provides a text input designed for search interactions.\n * It supports outlined and filled variants, an optional clear button, and leading/trailing icon slots.</p>\n *\n * @cssprop --search-container-shape - Border radius of the search bar. Defaults to full (pill shape).\n * @cssprop --search-container-color - Background color of the search container.\n * @cssprop --search-input-text-color - Color of the input text.\n * @cssprop --search-placeholder-color - Color of the placeholder text.\n * @cssprop --search-icon-color - Color of the leading and trailing icons.\n * @cssprop --search-outline-color - Border color for the outlined variant.\n * @cssprop --search-outline-width - Border width for the outlined variant.\n *\n * @fires {CustomEvent} input - Dispatched when the search value changes.\n * @fires {CustomEvent} change - Dispatched when the search input loses focus or Enter is pressed.\n * @fires {CustomEvent} clear - Dispatched when the clear button is activated.\n * @fires {CustomEvent} search - Dispatched when the user submits the search (presses Enter).\n *\n * @example\n * ```html\n * <wc-search placeholder=\"Search...\"></wc-search>\n * ```\n * @tags form\n */\n@IndividualComponent\nexport class Search extends LitElement {\n static styles = [styles, colorStyles];\n\n /**\n * Visual style variant.\n * Possible values: `\"outlined\"`, `\"filled\"`. Defaults to `\"filled\"`.\n */\n @property({ type: String, reflect: true })\n variant: 'outlined' | 'filled' = 'filled';\n\n /**\n * Placeholder text shown when the input is empty.\n */\n @property({ type: String })\n placeholder: string = 'Search';\n\n /**\n * Current search value.\n */\n @property({ type: String })\n value: string = '';\n\n /**\n * Whether the search bar is disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled: boolean = false;\n\n /**\n * Whether a clear button is shown when the input has a value.\n */\n @property({ type: Boolean })\n clearable: boolean = true;\n\n /**\n * Size of the search bar.\n * Possible values: `\"sm\"`, `\"md\"`, `\"lg\"`. Defaults to `\"md\"`.\n */\n @property({ type: String, reflect: true })\n size: 'sm' | 'md' | 'lg' = 'md';\n\n @state()\n private focused: boolean = false;\n\n @state()\n private leadingSlotHasContent: boolean = false;\n\n @query('.search-input')\n private inputElement?: HTMLInputElement;\n\n override firstUpdated() {\n observerSlotChangesWithCallback(\n this.renderRoot.querySelector('slot[name=\"leading\"]'),\n hasContent => {\n this.leadingSlotHasContent = hasContent;\n this.requestUpdate();\n },\n );\n }\n\n /** Focuses the internal input element. */\n override focus() {\n this.inputElement?.focus();\n }\n\n /** Blurs the internal input element. */\n override blur() {\n this.inputElement?.blur();\n }\n\n private __handleInput(event: InputEvent) {\n const input = event.target as HTMLInputElement;\n this.value = input.value;\n // Prevent the native input event from escaping in addition to our API event.\n event.stopPropagation();\n this.dispatchEvent(\n new CustomEvent('input', {\n detail: { value: this.value },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n private __handleChange(event: Event) {\n const input = event.target as HTMLInputElement;\n this.value = input.value;\n // Prevent the native change event from escaping in addition to our API event.\n event.stopPropagation();\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: { value: this.value },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n private __handleKeydown(event: KeyboardEvent) {\n if (event.key === 'Enter') {\n this.dispatchEvent(\n new CustomEvent('search', {\n detail: { value: this.value },\n bubbles: true,\n composed: true,\n }),\n );\n }\n if (event.key === 'Escape') {\n this.__clearValue();\n }\n }\n\n private __handleFocus() {\n this.focused = true;\n }\n\n private __handleBlur() {\n this.focused = false;\n }\n\n private __clearValue() {\n this.value = '';\n this.inputElement?.focus();\n this.dispatchEvent(\n new CustomEvent('clear', {\n bubbles: true,\n composed: true,\n }),\n );\n this.dispatchEvent(\n new CustomEvent('input', {\n detail: { value: '' },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n private __renderClearButton() {\n if (!this.clearable || !this.value) return nothing;\n\n return html`\n <button\n class=\"clear-button\"\n aria-label=\"Clear search\"\n tabindex=\"-1\"\n @click=${this.__clearValue}\n ?disabled=${this.disabled}\n >\n <wc-icon name=\"close\"></wc-icon>\n </button>\n `;\n }\n\n private __renderLeadingIcon() {\n return html`\n <div class=\"leading-icon ${this.leadingSlotHasContent ? 'has-slot' : ''}\">\n <slot name=\"leading\">\n <wc-icon name=\"search\"></wc-icon>\n </slot>\n </div>\n `;\n }\n\n override render() {\n const cssClasses = {\n search: true,\n [`variant-${this.variant}`]: true,\n [`size-${this.size}`]: true,\n focused: this.focused,\n disabled: this.disabled,\n 'has-value': !!this.value,\n };\n\n return html`\n <div class=${classMap(cssClasses)} role=\"search\">\n <div class=\"background\"></div>\n <div class=\"outline\"></div>\n\n ${this.__renderLeadingIcon()}\n\n <input\n class=\"search-input\"\n type=\"search\"\n role=\"searchbox\"\n .value=${live(this.value)}\n placeholder=${this.placeholder}\n ?disabled=${this.disabled}\n aria-label=${this.placeholder}\n @input=${this.__handleInput}\n @change=${this.__handleChange}\n @keydown=${this.__handleKeydown}\n @focus=${this.__handleFocus}\n @blur=${this.__handleBlur}\n />\n\n <div class=\"trailing-actions\">\n ${this.__renderClearButton()}\n <slot name=\"trailing\"></slot>\n </div>\n </div>\n `;\n }\n}\n"],"names":["i","t","r","n","o","e","s","LitElement","nothing","html","classMap","live","styles","colorStyles","property","state","query"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"search.js","sources":["../node_modules/lit-html/directive-helpers.js","../node_modules/lit-html/directives/live.js","../../src/search/search.ts"],"sourcesContent":["import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>o,n=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,e={HTML:1,SVG:2,MATHML:3},l=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,d=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,f=o=>o?._$litDirective$,r=o=>void 0===o.strings,s=()=>document.createComment(\"\"),v=(o,n,e)=>{const l=o._$AA.parentNode,d=void 0===n?o._$AB:n._$AA;if(void 0===e){const i=l.insertBefore(s(),d),n=l.insertBefore(s(),d);e=new t(i,n,o,o.options)}else{const t=e._$AB.nextSibling,n=e._$AM,c=n!==o;if(c){let t;e._$AQ?.(o),e._$AM=o,void 0!==e._$AP&&(t=o._$AU)!==n._$AU&&e._$AP(t)}if(t!==d||c){let o=e._$AA;for(;o!==t;){const t=i(o).nextSibling;i(l).insertBefore(o,d),o=t}}}return e},u=(o,t,i=o)=>(o._$AI(t,i),o),m={},p=(o,t=m)=>o._$AH=t,M=o=>o._$AH,h=o=>{o._$AR(),o._$AA.remove()},j=o=>{o._$AR()};export{e as TemplateResultType,j as clearPart,M as getCommittedValue,f as getDirectiveClass,v as insertPart,d as isCompiledTemplateResult,c as isDirectiveResult,n as isPrimitive,r as isSingleExpression,l as isTemplateResult,h as removePart,u as setChildPartValue,p as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{noChange as r,nothing as e}from\"../lit-html.js\";import{directive as i,Directive as t,PartType as n}from\"../directive.js\";import{isSingleExpression as o,setCommittedValue as s}from\"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=i(class extends t{constructor(r){if(super(r),r.type!==n.PROPERTY&&r.type!==n.ATTRIBUTE&&r.type!==n.BOOLEAN_ATTRIBUTE)throw Error(\"The `live` directive is not allowed on child or event bindings\");if(!o(r))throw Error(\"`live` bindings can only contain a single expression\")}render(r){return r}update(i,[t]){if(t===r||t===e)return t;const o=i.element,l=i.name;if(i.type===n.PROPERTY){if(t===o[l])return r}else if(i.type===n.BOOLEAN_ATTRIBUTE){if(!!t===o.hasAttribute(l))return r}else if(i.type===n.ATTRIBUTE&&o.getAttribute(l)===t+\"\")return r;return s(i),t}});export{l as live};\n//# sourceMappingURL=live.js.map\n","import { LitElement, html, nothing } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { live } from 'lit/directives/live.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './search.scss';\nimport colorStyles from './search-colors.scss';\nimport { observerSlotChangesWithCallback } from '@/__utils/observe-slot-change.js';\n\n/**\n * @label Search\n * @tag wc-search\n * @rawTag search\n *\n * @summary A Material 3 search bar for filtering and finding content.\n * @overview\n * <p>The search component provides a text input designed for search interactions.\n * It supports outlined and filled variants, an optional clear button, and leading/trailing icon slots.</p>\n *\n * @cssprop --search-container-shape - Border radius of the search bar. Defaults to full (pill shape).\n * @cssprop --search-container-color - Background color of the search container.\n * @cssprop --search-input-text-color - Color of the input text.\n * @cssprop --search-placeholder-color - Color of the placeholder text.\n * @cssprop --search-icon-color - Color of the leading and trailing icons.\n * @cssprop --search-outline-color - Border color for the outlined variant.\n * @cssprop --search-outline-width - Border width for the outlined variant.\n *\n * @fires {CustomEvent} input - Dispatched when the search value changes.\n * @fires {CustomEvent} change - Dispatched when the search input loses focus or Enter is pressed.\n * @fires {CustomEvent} clear - Dispatched when the clear button is activated.\n * @fires {CustomEvent} search - Dispatched when the user submits the search (presses Enter).\n *\n * @example\n * ```html\n * <wc-search placeholder=\"Search...\"></wc-search>\n * ```\n * @tags form\n */\n@IndividualComponent\nexport class Search extends LitElement {\n static styles = [styles, colorStyles];\n\n /**\n * Visual style variant.\n * Possible values: `\"outlined\"`, `\"filled\"`. Defaults to `\"filled\"`.\n */\n @property({ type: String, reflect: true })\n variant: 'outlined' | 'filled' = 'filled';\n\n /**\n * Placeholder text shown when the input is empty.\n */\n @property({ type: String })\n placeholder: string = 'Search';\n\n /**\n * Current search value.\n */\n @property({ type: String })\n value: string = '';\n\n /**\n * Whether the search bar is disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled: boolean = false;\n\n /**\n * Whether a clear button is shown when the input has a value.\n */\n @property({ type: Boolean })\n clearable: boolean = true;\n\n /**\n * Size of the search bar.\n * Possible values: `\"sm\"`, `\"md\"`, `\"lg\"`. Defaults to `\"md\"`.\n */\n @property({ type: String, reflect: true })\n size: 'sm' | 'md' | 'lg' = 'md';\n\n @state()\n private focused: boolean = false;\n\n @state()\n private leadingSlotHasContent: boolean = false;\n\n @query('.search-input')\n private inputElement?: HTMLInputElement;\n\n override firstUpdated() {\n observerSlotChangesWithCallback(\n this.renderRoot.querySelector('slot[name=\"leading\"]'),\n hasContent => {\n this.leadingSlotHasContent = hasContent;\n this.requestUpdate();\n },\n );\n }\n\n override async focus() {\n await Promise.all([\n customElements.whenDefined('wc-input'),\n customElements.whenDefined('wc-field'),\n ]);\n await this.updateComplete;\n this.inputElement?.focus();\n }\n\n private __handleInput(event: InputEvent) {\n const input = event.target as HTMLInputElement;\n this.value = input.value;\n // Prevent the native input event from escaping in addition to our API event.\n event.stopPropagation();\n this.dispatchEvent(\n new CustomEvent('input', {\n detail: { value: this.value },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n private __handleChange(event: Event) {\n const input = event.target as HTMLInputElement;\n this.value = input.value;\n // Prevent the native change event from escaping in addition to our API event.\n event.stopPropagation();\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: { value: this.value },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n private __handleKeydown(event: KeyboardEvent) {\n if (event.key === 'Enter') {\n this.dispatchEvent(\n new CustomEvent('search', {\n detail: { value: this.value },\n bubbles: true,\n composed: true,\n }),\n );\n }\n if (event.key === 'Escape') {\n this.__clearValue();\n }\n }\n\n private __handleFocusChange = (event: FocusEvent) => {\n this.focused = event.type === 'focus';\n };\n\n private __clearValue() {\n this.value = '';\n this.inputElement?.focus();\n this.dispatchEvent(\n new CustomEvent('clear', {\n bubbles: true,\n composed: true,\n }),\n );\n this.dispatchEvent(\n new CustomEvent('input', {\n detail: { value: '' },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n private __renderClearButton() {\n if (!this.clearable || !this.value) return nothing;\n\n return html`\n <button\n class=\"clear-button\"\n aria-label=\"Clear search\"\n tabindex=\"-1\"\n @click=${this.__clearValue}\n ?disabled=${this.disabled}\n >\n <wc-icon name=\"close\"></wc-icon>\n </button>\n `;\n }\n\n private __renderLeadingIcon() {\n return html`\n <div class=\"leading-icon ${this.leadingSlotHasContent ? 'has-slot' : ''}\">\n <slot name=\"leading\">\n <wc-icon name=\"search\"></wc-icon>\n </slot>\n </div>\n `;\n }\n\n override render() {\n const cssClasses = {\n search: true,\n [`variant-${this.variant}`]: true,\n [`size-${this.size}`]: true,\n focused: this.focused,\n disabled: this.disabled,\n 'has-value': !!this.value,\n };\n\n return html`\n <div class=${classMap(cssClasses)} role=\"search\">\n <div class=\"background\"></div>\n <div class=\"outline\"></div>\n\n ${this.__renderLeadingIcon()}\n\n <input\n class=\"search-input\"\n type=\"search\"\n role=\"searchbox\"\n .value=${live(this.value)}\n placeholder=${this.placeholder}\n ?disabled=${this.disabled}\n aria-label=${this.placeholder}\n @input=${this.__handleInput}\n @change=${this.__handleChange}\n @keydown=${this.__handleKeydown}\n @focus=${this.__handleFocusChange}\n @blur=${this.__handleFocusChange}\n />\n\n <div class=\"trailing-actions\">\n ${this.__renderClearButton()}\n <slot name=\"trailing\"></slot>\n </div>\n </div>\n `;\n }\n}\n"],"names":["i","t","r","n","o","e","s","LitElement","nothing","html","classMap","live","styles","colorStyles","property","state","query"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -0,0 +1,109 @@
1
+ import { ReactiveController, ReactiveControllerHost } from 'lit';
2
+ /**
3
+ * An element that can be attached to an associated controlling element.
4
+ */
5
+ export interface Attachable {
6
+ /**
7
+ * Reflects the value of the `for` attribute, which is the ID of the element's
8
+ * associated control.
9
+ *
10
+ * Use this when the elements's associated control is not its parent.
11
+ *
12
+ * To manually control an element, set its `for` attribute to `""`.
13
+ *
14
+ * @example
15
+ * ```html
16
+ * <div class="container">
17
+ * <md-attachable for="interactive"></md-attachable>
18
+ * <button id="interactive">Action</button>
19
+ * </div>
20
+ * ```
21
+ *
22
+ * @example
23
+ * ```html
24
+ * <button class="manually-controlled">
25
+ * <md-attachable for=""></md-attachable>
26
+ * </button>
27
+ * ```
28
+ */
29
+ htmlFor: string | null;
30
+ /**
31
+ * Gets or sets the element that controls the visibility of the attachable
32
+ * element. It is one of:
33
+ *
34
+ * - The control referenced by the `for` attribute.
35
+ * - The control provided to `element.attach(control)`
36
+ * - The element's parent.
37
+ * - `null` if the element is not controlled.
38
+ */
39
+ control: HTMLElement | null;
40
+ /**
41
+ * Attaches the element to an interactive control.
42
+ *
43
+ * @param control The element that controls the attachable element.
44
+ */
45
+ attach(control: HTMLElement): void;
46
+ /**
47
+ * Detaches the element from its current control.
48
+ */
49
+ detach(): void;
50
+ }
51
+ /**
52
+ * A key to retrieve an `Attachable` element's `AttachableController` from a
53
+ * global `MutationObserver`.
54
+ */
55
+ declare const ATTACHABLE_CONTROLLER: unique symbol;
56
+ /**
57
+ * The host of an `AttachableController`. The controller will add itself to
58
+ * the host so it can be retrieved in a global `MutationObserver`.
59
+ */
60
+ interface AttachableControllerHost extends ReactiveControllerHost, HTMLElement {
61
+ [ATTACHABLE_CONTROLLER]?: AttachableController;
62
+ }
63
+ /**
64
+ * A controller that provides an implementation for `Attachable` elements.
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * class MyElement extends LitElement implements Attachable {
69
+ * get control() { return this.attachableController.control; }
70
+ *
71
+ * private readonly attachableController = new AttachableController(
72
+ * this,
73
+ * (previousControl, newControl) => {
74
+ * previousControl?.removeEventListener('click', this.handleClick);
75
+ * newControl?.addEventListener('click', this.handleClick);
76
+ * }
77
+ * );
78
+ *
79
+ * // Implement remaining `Attachable` properties/methods that call the
80
+ * // controller's properties/methods.
81
+ * }
82
+ * ```
83
+ */
84
+ export declare class AttachableController implements ReactiveController, Attachable {
85
+ private readonly host;
86
+ private readonly onControlChange;
87
+ get htmlFor(): string | null;
88
+ set htmlFor(htmlFor: string | null);
89
+ get control(): HTMLElement | null;
90
+ set control(control: HTMLElement | null);
91
+ private currentControl;
92
+ /**
93
+ * Creates a new controller for an `Attachable` element.
94
+ *
95
+ * @param host The `Attachable` element.
96
+ * @param onControlChange A callback with two parameters for the previous and
97
+ * next control. An `Attachable` element may perform setup or teardown
98
+ * logic whenever the control changes.
99
+ */
100
+ constructor(host: AttachableControllerHost, onControlChange: (prev: HTMLElement | null, next: HTMLElement | null) => void);
101
+ attach(control: HTMLElement): void;
102
+ detach(): void;
103
+ /** @private */
104
+ hostConnected(): void;
105
+ /** @private */
106
+ hostDisconnected(): void;
107
+ private setCurrentControl;
108
+ }
109
+ export {};
@@ -4,7 +4,7 @@ import type { MixinConstructor } from './MixinConstructor.js';
4
4
  * 1. Define an interface for the members the mixin adds.
5
5
  * This makes the type annotation much cleaner.
6
6
  */
7
- export interface BaseButtonInterface {
7
+ export interface NativeButtonInterface {
8
8
  htmlType: 'button' | 'submit' | 'reset';
9
9
  disabled: boolean;
10
10
  softDisabled: boolean;
@@ -16,5 +16,5 @@ export interface BaseButtonInterface {
16
16
  /**
17
17
  * 2. Apply the type annotation to the variable.
18
18
  */
19
- declare const BaseButtonMixin: <T extends MixinConstructor<LitElement>>(superclass: T) => T & MixinConstructor<BaseButtonInterface>;
20
- export default BaseButtonMixin;
19
+ declare const NativeButtonMixin: <T extends MixinConstructor<LitElement>>(superclass: T) => T & MixinConstructor<NativeButtonInterface>;
20
+ export default NativeButtonMixin;
@@ -4,15 +4,14 @@ import type { MixinConstructor } from './MixinConstructor.js';
4
4
  * 1. Define an interface for the members the mixin adds.
5
5
  * This makes the type annotation much cleaner.
6
6
  */
7
- export interface BaseHyperlinkInterface {
7
+ export interface NativeHyperlinkInterface {
8
8
  href?: string;
9
9
  target: '_self' | '_parent' | '_blank' | '_top' | string;
10
10
  rel?: string;
11
11
  download?: string;
12
- __isLink(): boolean;
13
12
  }
14
13
  /**
15
14
  * 2. Apply the type annotation to the variable.
16
15
  */
17
- declare const BaseHyperlinkMixin: <T extends MixinConstructor<LitElement>>(superclass: T) => T & MixinConstructor<BaseHyperlinkInterface>;
18
- export default BaseHyperlinkMixin;
16
+ declare const NativeHyperlinkMixin: <T extends MixinConstructor<LitElement>>(superclass: T) => T & MixinConstructor<NativeHyperlinkInterface>;
17
+ export default NativeHyperlinkMixin;
@@ -0,0 +1 @@
1
+ export declare function isLink(element: any): boolean;
@@ -1 +1 @@
1
- export declare function observerSlotChangesWithCallback(slot: HTMLSlotElement | null, callback: (hasContent: boolean) => void): void;
1
+ export declare function observerSlotChangesWithCallback(slot: HTMLSlotElement | null, callback: (hasContent: boolean) => void): () => void;
@@ -4,7 +4,6 @@ import { LitElement } from 'lit';
4
4
  * @tag wc-accordion-item
5
5
  * @rawTag accordion-item
6
6
  * @summary An expansion panel with a header that reveals or hides associated content. Follows Material Design 3 expansion panel guidelines.
7
- * @parentRawTag accordion
8
7
  *
9
8
  * @slot - The body content revealed when the panel is expanded.
10
9
  * @slot heading - The panel title. Renders as `body-large` text.
@@ -3,7 +3,6 @@ import { LitElement } from 'lit';
3
3
  * @label Breadcrumb Item
4
4
  * @tag wc-breadcrumb-item
5
5
  * @rawTag breadcrumb-item
6
- * @parentRawTag breadcrumb
7
6
  * @summary A breadcrumb item component that represents a single item in a breadcrumb navigation.
8
7
  * @tags navigation
9
8
  *
@@ -0,0 +1 @@
1
+ export declare const DISABLED_REASON_ID = "button-disabled-reason";
@@ -0,0 +1,4 @@
1
+ export type GroupButtonInterface = {
2
+ color?: any;
3
+ variant?: any;
4
+ };