@ds-mo/ui 1.0.1 → 1.1.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 (179) hide show
  1. package/dist/components/ds-bar-nav-action.js +1 -1
  2. package/dist/components/ds-bar-nav.js +1 -1
  3. package/dist/components/ds-bar-nav.js.map +1 -1
  4. package/dist/components/ds-breadcrumb.js +1 -1
  5. package/dist/components/ds-button-group.js +1 -1
  6. package/dist/components/ds-button.js +1 -1
  7. package/dist/components/ds-card.js +1 -1
  8. package/dist/components/ds-card.js.map +1 -1
  9. package/dist/components/ds-checkbox.js +1 -1
  10. package/dist/components/ds-divider.js +1 -1
  11. package/dist/components/ds-empty-state.js +1 -1
  12. package/dist/components/ds-empty-state.js.map +1 -1
  13. package/dist/components/ds-fade.js +1 -1
  14. package/dist/components/ds-field.js +1 -1
  15. package/dist/components/ds-header.js +1 -1
  16. package/dist/components/ds-header.js.map +1 -1
  17. package/dist/components/ds-icon.js +1 -1
  18. package/dist/components/ds-input.js +1 -1
  19. package/dist/components/ds-label-wrap.js +1 -1
  20. package/dist/components/ds-menu.js +1 -1
  21. package/dist/components/ds-modal.js +1 -1
  22. package/dist/components/ds-panel-nav.js +1 -1
  23. package/dist/components/ds-radio-group.js +1 -1
  24. package/dist/components/ds-radio-group.js.map +1 -1
  25. package/dist/components/ds-scrollbar.js +1 -1
  26. package/dist/components/ds-select.js +1 -1
  27. package/dist/components/ds-slider.js +1 -1
  28. package/dist/components/ds-slider.js.map +1 -1
  29. package/dist/components/ds-surface.js +1 -1
  30. package/dist/components/ds-tab-group-nav.d.ts +11 -0
  31. package/dist/components/ds-tab-group-nav.js +2 -0
  32. package/dist/components/ds-tab-group-nav.js.map +1 -0
  33. package/dist/components/ds-tab-group.js +1 -1
  34. package/dist/components/ds-tab-group.js.map +1 -1
  35. package/dist/components/ds-table.js +1 -1
  36. package/dist/components/ds-table.js.map +1 -1
  37. package/dist/components/ds-tag.js +1 -1
  38. package/dist/components/ds-text.js +1 -1
  39. package/dist/components/ds-toast-provider.js +1 -1
  40. package/dist/components/ds-toggle-button-group.js +1 -1
  41. package/dist/components/ds-toggle-button.js +1 -1
  42. package/dist/components/ds-toggle.js +1 -1
  43. package/dist/components/ds-tooltip.js +1 -1
  44. package/dist/components/p-BQq26pt9.js +2 -0
  45. package/dist/components/p-BQq26pt9.js.map +1 -0
  46. package/dist/components/p-CMyQsk0K.js +2 -0
  47. package/dist/components/p-CMyQsk0K.js.map +1 -0
  48. package/dist/components/{p-D3CwGoIu.js → p-COsKOwZR.js} +2 -2
  49. package/dist/components/p-CpbnmEu1.js +2 -0
  50. package/dist/components/p-CpbnmEu1.js.map +1 -0
  51. package/dist/components/{p-DHF5BQbO.js → p-Dd0GrKaF.js} +2 -2
  52. package/dist/components/p-H89PzqGU.js +2 -0
  53. package/dist/components/p-H89PzqGU.js.map +1 -0
  54. package/dist/components/{p-Dfx0StHj.js → p-Vwlmhl4E.js} +2 -2
  55. package/dist/components/{p-C4p1fG67.js → p-woooYulR.js} +2 -2
  56. package/dist/types/.stencil/BarNav/BarNav.d.ts +7 -2
  57. package/dist/types/.stencil/BarNav/bar-nav-dom-utils.d.ts +1 -2
  58. package/dist/types/.stencil/TabGroupNav/TabGroupNav.d.ts +27 -0
  59. package/dist/types/components.d.ts +68 -0
  60. package/package.json +39 -9
  61. package/src/angular/index.ts +1 -0
  62. package/src/angular/proxies.ts +28 -0
  63. package/src/react/components.ts +46 -0
  64. package/src/react/ds-accordion.ts +27 -0
  65. package/src/react/ds-badge.ts +26 -0
  66. package/src/react/ds-banner.ts +27 -0
  67. package/src/react/ds-bar-nav-action.ts +27 -0
  68. package/src/react/ds-bar-nav.ts +33 -0
  69. package/src/react/ds-breadcrumb.ts +27 -0
  70. package/src/react/ds-button-group.ts +27 -0
  71. package/src/react/ds-button.ts +35 -0
  72. package/src/react/ds-card.ts +26 -0
  73. package/src/react/ds-checkbox.ts +27 -0
  74. package/src/react/ds-divider.ts +26 -0
  75. package/src/react/ds-empty-state.ts +26 -0
  76. package/src/react/ds-fade.ts +26 -0
  77. package/src/react/ds-field.ts +26 -0
  78. package/src/react/ds-header.ts +26 -0
  79. package/src/react/ds-icon.ts +26 -0
  80. package/src/react/ds-input.ts +33 -0
  81. package/src/react/ds-label-wrap.ts +26 -0
  82. package/src/react/ds-loader.ts +26 -0
  83. package/src/react/ds-menu.ts +33 -0
  84. package/src/react/ds-modal.ts +27 -0
  85. package/src/react/ds-pagination.ts +27 -0
  86. package/src/react/ds-panel-nav.ts +37 -0
  87. package/src/react/ds-radio-group.ts +27 -0
  88. package/src/react/ds-scrollbar.ts +26 -0
  89. package/src/react/ds-select.ts +27 -0
  90. package/src/react/ds-sidebar.ts +33 -0
  91. package/src/react/ds-skeleton.ts +26 -0
  92. package/src/react/ds-slider.ts +27 -0
  93. package/src/react/ds-surface.ts +26 -0
  94. package/src/react/ds-tab-group-nav.ts +27 -0
  95. package/src/react/ds-tab-group.ts +27 -0
  96. package/src/react/ds-table.ts +35 -0
  97. package/src/react/ds-tag.ts +35 -0
  98. package/src/react/ds-text.ts +26 -0
  99. package/src/react/ds-toast-provider.ts +26 -0
  100. package/src/react/ds-toggle-button-group.ts +27 -0
  101. package/src/react/ds-toggle-button.ts +27 -0
  102. package/src/react/ds-toggle.ts +27 -0
  103. package/src/react/ds-tooltip.ts +26 -0
  104. package/src/wc/components/Accordion/Accordion.tsx +144 -0
  105. package/src/wc/components/Badge/Badge.tsx +34 -0
  106. package/src/wc/components/Badge/index.ts +1 -0
  107. package/src/wc/components/Banner/Banner.tsx +148 -0
  108. package/src/wc/components/BarNav/BarNav.tsx +605 -0
  109. package/src/wc/components/BarNav/bar-nav-dom-utils.ts +23 -0
  110. package/src/wc/components/BarNav/bar-nav-tabs-menu-utils.ts +59 -0
  111. package/src/wc/components/BarNav/bar-nav-utils.ts +76 -0
  112. package/src/wc/components/BarNav/index.ts +1 -0
  113. package/src/wc/components/BarNavAction/BarNavAction.tsx +67 -0
  114. package/src/wc/components/BarNavAction/index.ts +1 -0
  115. package/src/wc/components/Breadcrumb/Breadcrumb.tsx +61 -0
  116. package/src/wc/components/Button/Button.tsx +158 -0
  117. package/src/wc/components/Button/index.ts +1 -0
  118. package/src/wc/components/ButtonGroup/ButtonGroup.tsx +110 -0
  119. package/src/wc/components/Card/Card.tsx +26 -0
  120. package/src/wc/components/Checkbox/Checkbox.tsx +60 -0
  121. package/src/wc/components/Checkbox/index.ts +1 -0
  122. package/src/wc/components/Divider/Divider.tsx +23 -0
  123. package/src/wc/components/Divider/index.ts +2 -0
  124. package/src/wc/components/EmptyState/EmptyState.tsx +32 -0
  125. package/src/wc/components/Fade/Fade.tsx +32 -0
  126. package/src/wc/components/Fade/index.ts +1 -0
  127. package/src/wc/components/Field/Field.tsx +28 -0
  128. package/src/wc/components/Header/Header.tsx +33 -0
  129. package/src/wc/components/Icon/Icon.tsx +112 -0
  130. package/src/wc/components/Icon/flag-icon-catalog.ts +68 -0
  131. package/src/wc/components/Icon/index.ts +1 -0
  132. package/src/wc/components/Icon/system-icon-catalog.ts +798 -0
  133. package/src/wc/components/Input/Input.tsx +100 -0
  134. package/src/wc/components/Input/index.ts +1 -0
  135. package/src/wc/components/LabelWrap/LabelWrap.tsx +38 -0
  136. package/src/wc/components/Loader/Loader.tsx +47 -0
  137. package/src/wc/components/Loader/index.ts +1 -0
  138. package/src/wc/components/Menu/Menu.tsx +340 -0
  139. package/src/wc/components/Modal/Modal.tsx +197 -0
  140. package/src/wc/components/Pagination/Pagination.tsx +97 -0
  141. package/src/wc/components/PanelNav/PanelNav.tsx +666 -0
  142. package/src/wc/components/PanelNav/index.ts +7 -0
  143. package/src/wc/components/PanelNav/panel-nav-utils.ts +124 -0
  144. package/src/wc/components/RadioGroup/RadioGroup.tsx +128 -0
  145. package/src/wc/components/RadioGroup/index.ts +1 -0
  146. package/src/wc/components/Scrollbar/Scrollbar.tsx +189 -0
  147. package/src/wc/components/Select/Select.tsx +195 -0
  148. package/src/wc/components/Sidebar/Sidebar.tsx +245 -0
  149. package/src/wc/components/Skeleton/Skeleton.tsx +64 -0
  150. package/src/wc/components/Skeleton/index.ts +1 -0
  151. package/src/wc/components/Slider/Slider.tsx +68 -0
  152. package/src/wc/components/Slider/index.ts +1 -0
  153. package/src/wc/components/Surface/Surface.tsx +81 -0
  154. package/src/wc/components/TabGroup/TabGroup.tsx +188 -0
  155. package/src/wc/components/TabGroup/tab-item-utils.ts +24 -0
  156. package/src/wc/components/TabGroupNav/TabGroupNav.tsx +188 -0
  157. package/src/wc/components/Table/Table.tsx +268 -0
  158. package/src/wc/components/Tag/Tag.tsx +135 -0
  159. package/src/wc/components/Tag/index.ts +1 -0
  160. package/src/wc/components/Text/Text.tsx +100 -0
  161. package/src/wc/components/Text/index.ts +1 -0
  162. package/src/wc/components/Toast/Toast.tsx +174 -0
  163. package/src/wc/components/Toast/toast-service.ts +60 -0
  164. package/src/wc/components/Toggle/Toggle.tsx +43 -0
  165. package/src/wc/components/Toggle/index.ts +1 -0
  166. package/src/wc/components/ToggleButton/ToggleButton.tsx +120 -0
  167. package/src/wc/components/ToggleButtonGroup/ToggleButtonGroup.tsx +118 -0
  168. package/src/wc/components/Tooltip/Tooltip.tsx +196 -0
  169. package/src/wc/components.d.ts +3028 -0
  170. package/dist/components/p-DV8pmt1m.js +0 -2
  171. package/dist/components/p-DV8pmt1m.js.map +0 -1
  172. package/dist/components/p-Dqga4VCz.js +0 -2
  173. package/dist/components/p-Dqga4VCz.js.map +0 -1
  174. package/dist/components/p-STnE_bmQ.js +0 -2
  175. package/dist/components/p-STnE_bmQ.js.map +0 -1
  176. /package/dist/components/{p-D3CwGoIu.js.map → p-COsKOwZR.js.map} +0 -0
  177. /package/dist/components/{p-DHF5BQbO.js.map → p-Dd0GrKaF.js.map} +0 -0
  178. /package/dist/components/{p-Dfx0StHj.js.map → p-Vwlmhl4E.js.map} +0 -0
  179. /package/dist/components/{p-C4p1fG67.js.map → p-woooYulR.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{p as r,H as e,c as o,h as a,a as t,t as s}from"./index.js";function i(r){return"type"in r&&r.type==="divider"}function n(r){return r.filter((r=>!i(r)))}const d=()=>`.sc-ds-tab-group-h{display:block}.tab-list.sc-ds-tab-group{display:flex;align-items:center;gap:var(--dimension-space-050);position:relative}.tab-list--vertical.sc-ds-tab-group{flex-direction:column;align-items:stretch}.tab.sc-ds-tab-group{display:flex;align-items:center;justify-content:center;gap:var(--dimension-space-050);padding:var(--dimension-space-075);background-color:transparent;border:none;border-radius:var(--dimension-radius-025);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-foreground-secondary);position:relative;transition:color var(--effect-motion-short-2);flex-shrink:0;height:var(--dimension-size-400);min-width:var(--dimension-size-400);box-sizing:border-box;--_hover-bg:var(--color-interaction-hover);--_pressed-bg:var(--color-interaction-pressed);--_dot:var(--color-foreground-bold-brand);--_dot-ring:var(--color-background-secondary)}.tab.sc-ds-tab-group::after{content:'';position:absolute;inset:0;border-radius:var(--dimension-radius-025, 2px);background:transparent;pointer-events:none;transition:none}.tab.sc-ds-tab-group:hover::after{background:var(--_hover-bg);transition:none}.tab.sc-ds-tab-group:active::after{background:var(--_pressed-bg);transition:none}.tab.sc-ds-tab-group:focus-visible:not(:hover):not(:active)::after{background:transparent}.tab--selected.sc-ds-tab-group{color:var(--color-foreground-primary)}.tab.sc-ds-tab-group:focus-visible{outline:var(--dimension-stroke-width-025) solid var(--color-interaction-focus);outline-offset:var(--dimension-space-025)}.tab.sc-ds-tab-group:disabled,.tab[aria-disabled="true"].sc-ds-tab-group{opacity:0.5;cursor:not-allowed;pointer-events:none}.tab-list--vertical.sc-ds-tab-group .tab.sc-ds-tab-group{justify-content:flex-start}.tab__label.sc-ds-tab-group{position:relative;display:inline-flex;align-items:center;padding:0 var(--dimension-space-025);white-space:nowrap}.tab__label--dot.sc-ds-tab-group{padding-right:calc(var(--dimension-space-025) + var(--dimension-space-050))}.tab__dot.sc-ds-tab-group{position:absolute;top:0;right:0;width:var(--dimension-size-075, calc(var(--dimension-size-base) * 3 / 4));height:var(--dimension-size-075, calc(var(--dimension-size-base) * 3 / 4));border-radius:var(--dimension-radius-half);background:var(--_dot);box-shadow:0 0 0 var(--dimension-stroke-width-018) var(--_dot-ring);pointer-events:none}.on-medium.sc-ds-tab-group{--_hover-bg:var(--color-interaction-on-medium-background-hover);--_pressed-bg:var(--color-interaction-on-medium-background-pressed);--_dot-ring:var(--color-background-medium)}.on-bold.sc-ds-tab-group{--_hover-bg:var(--color-interaction-on-bold-background-hover);--_pressed-bg:var(--color-interaction-on-bold-background-pressed);--_dot-ring:var(--color-background-bold);color:var(--color-foreground-on-bold-background-secondary)}.on-bold.tab--selected.sc-ds-tab-group{color:var(--color-foreground-on-bold-background-primary)}.on-strong.sc-ds-tab-group{--_hover-bg:var(--color-interaction-on-strong-background-hover);--_pressed-bg:var(--color-interaction-on-strong-background-pressed);--_dot-ring:var(--color-background-strong);color:var(--color-foreground-on-bold-background-secondary)}.on-strong.tab--selected.sc-ds-tab-group{color:var(--color-foreground-on-bold-background-primary)}.on-always-dark.sc-ds-tab-group{--_hover-bg:var(--color-always-dark-interaction-hover);--_pressed-bg:var(--color-always-dark-interaction-pressed);--_dot-ring:var(--color-always-dark-background);color:var(--color-always-dark-foreground-secondary)}.on-always-dark.tab--selected.sc-ds-tab-group{color:var(--color-always-dark-foreground-primary)}.tab-divider.sc-ds-tab-group{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--dimension-space-100);height:var(--dimension-size-400);padding-block:var(--dimension-space-075);flex-shrink:0;pointer-events:none}.tab-divider__line.sc-ds-tab-group{width:var(--dimension-stroke-width-012);align-self:stretch;background-color:var(--color-border-secondary)}.tab-divider--vertical.sc-ds-tab-group{width:auto;height:var(--dimension-space-100);align-self:stretch;padding-block:0;padding-inline:var(--dimension-space-075)}.tab-divider--vertical.sc-ds-tab-group .tab-divider__line.sc-ds-tab-group{width:auto;height:var(--dimension-stroke-width-012);align-self:stretch}`;const c=r(class r extends e{constructor(r){super();if(r!==false){this.__registerHost()}this.dsChange=o(this,"dsChange");this.value="";this.tabs=[];this.orientation="horizontal"}get selectableTabs(){return n(this.tabs)}selectTab(r,e){this.value=r;this.dsChange.emit(r);if(e?.focus!==false){this.focusTab(r)}}focusTab(r){const e=this.el.querySelector(`[data-tab-id="${r}"]`);e?.focus({preventScroll:true})}onValueChange(r,e){if(e===undefined||r===e)return;requestAnimationFrame((()=>{const e=document.activeElement;if(!e||!this.el.contains(e))return;const o=e.getAttribute("data-tab-id");if(o===r)return;const a=this.el.querySelector(`[data-tab-id="${r}"]`);if(a){a.focus({preventScroll:true})}else{e.blur()}}))}findEnabled(r,e){const o=this.selectableTabs;const a=o.length;for(let t=0;t<a;t++){const s=(r+e*(t+1)+a*(t+1))%a;if(!o[s]?.disabled)return s}return r}handleKeyDown(r){const e=this.selectableTabs;if(!e.length)return;const o=e.findIndex((r=>r.id===this.value));const a=this.orientation==="vertical";let t=null;if(!a){if(r.key==="ArrowRight"){t=this.findEnabled(o,1)}else if(r.key==="ArrowLeft"){t=this.findEnabled(o,-1)}}else{if(r.key==="ArrowDown"){t=this.findEnabled(o,1)}else if(r.key==="ArrowUp"){t=this.findEnabled(o,-1)}}if(r.key==="Home"){const r=e.findIndex((r=>!r.disabled));t=r===-1?null:r}else if(r.key==="End"){const r=[...e].reverse().findIndex((r=>!r.disabled));t=r===-1?null:e.length-1-r}if(t!==null){r.preventDefault();const o=e[t];this.selectTab(o.id)}}getBgClass(){if(!this.background||this.background==="faint")return"";if(this.background==="always-dark")return"on-always-dark";return`on-${this.background}`}render(){const r=this.getBgClass();const e=this.orientation==="vertical";return a(t,{key:"296efe6e0bc35d7eba81fa2ba35b70e78694a5d4",class:"tab-group-host"},a("div",{key:"8fe9c592fadd1e8ec05e8d01610ad6db9db3ee85",role:"tablist",class:{"tab-list":true,"tab-list--vertical":e},"aria-label":this.ariaLabel,"aria-labelledby":this.ariaLabelledby,"aria-orientation":e?"vertical":undefined},this.tabs.map(((o,t)=>{if(i(o)){return a("div",{key:`divider-${t}`,class:{"tab-divider":true,"tab-divider--vertical":e},"aria-hidden":"true"},a("div",{class:"tab-divider__line"}))}const s=o.id===this.value;return a("button",{key:o.id,type:"button",role:"tab","data-tab-id":o.id,class:{tab:true,"tab--selected":s,[r]:!!r},"aria-selected":s,"aria-disabled":o.disabled||undefined,"aria-controls":o.panelId??undefined,disabled:o.disabled,tabIndex:s?0:-1,onClick:()=>!o.disabled&&this.selectTab(o.id)},a("span",{class:{tab__label:true,"tab__label--dot":!!o.dot,[s?"text-body-medium-emphasis":"text-body-medium"]:true}},o.label,o.dot&&a("span",{class:"tab__dot","aria-hidden":"true"})))}))))}get el(){return this}static get watchers(){return{value:[{onValueChange:0}]}}static get style(){return d()}},[2,"ds-tab-group",{value:[1025],tabs:[16],background:[1],ariaLabel:[1,"aria-label"],ariaLabelledby:[1,"aria-labelledby"],orientation:[1]},[[0,"keydown","handleKeyDown"]],{value:[{onValueChange:0}]}]);function l(){if(typeof customElements==="undefined"){return}const r=["ds-tab-group"];r.forEach((r=>{switch(r){case"ds-tab-group":if(!customElements.get(s(r))){customElements.define(s(r),c)}break}}))}l();export{c as T,l as d,n as g,i};
2
- //# sourceMappingURL=p-DV8pmt1m.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["isTabDivider","item","type","getSelectableTabs","tabs","filter","t","tabGroupCss","TabGroup","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","value","orientation","selectableTabs","selectTab","id","options","dsChange","emit","focus","focusTab","btn","el","querySelector","preventScroll","onValueChange","next","prev","undefined","requestAnimationFrame","active","document","activeElement","contains","activeId","getAttribute","nextTab","blur","findEnabled","from","step","len","length","n","i","disabled","handleKeyDown","e","currentIdx","findIndex","isVertical","nextIdx","key","first","lastEnabled","reverse","preventDefault","getBgClass","background","render","bgClass","h","Host","class","role","ariaLabel","ariaLabelledby","map","tab","index","isSelected","panelId","tabIndex","onClick","tab__label","dot","label"],"sources":["src/wc/components/TabGroup/tab-item-utils.ts","src/wc/components/TabGroup/TabGroup.css?tag=ds-tab-group&encapsulation=scoped","src/wc/components/TabGroup/TabGroup.tsx"],"sourcesContent":["export interface TabItemDivider {\n type: 'divider';\n}\n\nexport interface TabItemTab {\n id: string;\n label: string;\n disabled?: boolean;\n /** id of the tabpanel this tab controls */\n panelId?: string;\n /** Show a notification dot (brand) on the tab — no count, matching panel-nav. */\n dot?: boolean;\n}\n\nexport type TabItem = TabItemTab | TabItemDivider;\n\nexport function isTabDivider(item: TabItem): item is TabItemDivider {\n return 'type' in item && item.type === 'divider';\n}\n\n/** Tab entries that participate in selection, keyboard nav, and URL matching. */\nexport function getSelectableTabs(tabs: TabItem[]): TabItemTab[] {\n return tabs.filter((t): t is TabItemTab => !isTabDivider(t));\n}\n",":host {\n display: block;\n}\n\n.tab-list {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-050);\n position: relative;\n}\n\n/* Vertical orientation */\n.tab-list--vertical {\n flex-direction: column;\n align-items: stretch;\n}\n\n.tab {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--dimension-space-050);\n padding: var(--dimension-space-075);\n background-color: transparent;\n border: none;\n border-radius: var(--dimension-radius-025);\n cursor: pointer;\n -webkit-user-select: none;\n user-select: none;\n color: var(--color-foreground-secondary);\n position: relative;\n /* Only transition color — hover bg is instant (see ::after below) */\n transition: color var(--effect-motion-short-2);\n flex-shrink: 0;\n height: var(--dimension-size-400);\n min-width: var(--dimension-size-400);\n box-sizing: border-box;\n --_hover-bg: var(--color-interaction-hover);\n --_pressed-bg: var(--color-interaction-pressed);\n --_dot: var(--color-foreground-bold-brand);\n --_dot-ring: var(--color-background-secondary);\n}\n\n/* Interaction layer — same pattern as PanelNav */\n.tab::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: var(--dimension-radius-025, 2px);\n background: transparent;\n pointer-events: none;\n transition: none;\n}\n\n.tab:hover::after { background: var(--_hover-bg); transition: none; }\n.tab:active::after { background: var(--_pressed-bg); transition: none; }\n\n/* Focus ring only — no persistent hover fill from keyboard focus */\n.tab:focus-visible:not(:hover):not(:active)::after {\n background: transparent;\n}\n\n.tab--selected { color: var(--color-foreground-primary); }\n\n.tab:focus-visible {\n outline: var(--dimension-stroke-width-025) solid var(--color-interaction-focus);\n outline-offset: var(--dimension-space-025);\n}\n\n.tab:disabled,\n.tab[aria-disabled=\"true\"] {\n opacity: 0.5;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* Vertical tabs read as a list — left-align the label */\n.tab-list--vertical .tab { justify-content: flex-start; }\n\n/* Label — dot anchors top-right like BarNav action icon zone */\n.tab__label {\n position: relative;\n display: inline-flex;\n align-items: center;\n padding: 0 var(--dimension-space-025);\n white-space: nowrap;\n}\n\n/* Clearance for top-right dot — slightly less than space-025 + space-075 */\n.tab__label--dot {\n padding-right: calc(var(--dimension-space-025) + var(--dimension-space-050));\n}\n\n/* Notification dot — top-right corner of the label zone */\n.tab__dot {\n position: absolute;\n top: 0;\n right: 0;\n width: var(--dimension-size-075, calc(var(--dimension-size-base) * 3 / 4));\n height: var(--dimension-size-075, calc(var(--dimension-size-base) * 3 / 4));\n border-radius: var(--dimension-radius-half);\n background: var(--_dot);\n box-shadow: 0 0 0 var(--dimension-stroke-width-018) var(--_dot-ring);\n pointer-events: none;\n}\n\n/* Background context */\n.on-medium {\n --_hover-bg: var(--color-interaction-on-medium-background-hover);\n --_pressed-bg: var(--color-interaction-on-medium-background-pressed);\n --_dot-ring: var(--color-background-medium);\n}\n\n.on-bold {\n --_hover-bg: var(--color-interaction-on-bold-background-hover);\n --_pressed-bg: var(--color-interaction-on-bold-background-pressed);\n --_dot-ring: var(--color-background-bold);\n color: var(--color-foreground-on-bold-background-secondary);\n}\n\n.on-bold.tab--selected { color: var(--color-foreground-on-bold-background-primary); }\n\n.on-strong {\n --_hover-bg: var(--color-interaction-on-strong-background-hover);\n --_pressed-bg: var(--color-interaction-on-strong-background-pressed);\n --_dot-ring: var(--color-background-strong);\n color: var(--color-foreground-on-bold-background-secondary);\n}\n\n.on-strong.tab--selected { color: var(--color-foreground-on-bold-background-primary); }\n\n.on-always-dark {\n --_hover-bg: var(--color-always-dark-interaction-hover);\n --_pressed-bg: var(--color-always-dark-interaction-pressed);\n --_dot-ring: var(--color-always-dark-background);\n color: var(--color-always-dark-foreground-secondary);\n}\n\n.on-always-dark.tab--selected { color: var(--color-always-dark-foreground-primary); }\n\n/* In-tablist visual group separator — not focusable, skipped by keyboard nav */\n.tab-divider {\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: var(--dimension-space-100);\n height: var(--dimension-size-400);\n padding-block: var(--dimension-space-075);\n flex-shrink: 0;\n pointer-events: none;\n}\n\n.tab-divider__line {\n width: var(--dimension-stroke-width-012);\n align-self: stretch;\n background-color: var(--color-border-secondary);\n}\n\n.tab-divider--vertical {\n width: auto;\n height: var(--dimension-space-100);\n align-self: stretch;\n padding-block: 0;\n padding-inline: var(--dimension-space-075);\n}\n\n.tab-divider--vertical .tab-divider__line {\n width: auto;\n height: var(--dimension-stroke-width-012);\n align-self: stretch;\n}\n","import { Component, Prop, Event, EventEmitter, Element, Listen, Watch, h, Host } from '@stencil/core';\nimport {\n getSelectableTabs,\n isTabDivider,\n type TabItem,\n type TabItemTab,\n} from './tab-item-utils';\n\nexport type TabBackground = 'faint' | 'medium' | 'bold' | 'strong' | 'always-dark';\n\n@Component({\n tag: 'ds-tab-group',\n styleUrl: 'TabGroup.css',\n scoped: true,\n})\nexport class TabGroup {\n @Element() el!: HTMLElement;\n\n @Prop({ mutable: true }) value: string = '';\n @Prop() tabs: TabItem[] = [];\n @Prop() background: TabBackground | undefined;\n @Prop({ attribute: 'aria-label' }) ariaLabel: string | undefined;\n @Prop({ attribute: 'aria-labelledby' }) ariaLabelledby: string | undefined;\n @Prop() orientation: 'horizontal' | 'vertical' = 'horizontal';\n\n @Event() dsChange!: EventEmitter<string>;\n\n private get selectableTabs(): TabItemTab[] {\n return getSelectableTabs(this.tabs);\n }\n\n private selectTab(id: string, options?: { focus?: boolean }) {\n this.value = id;\n this.dsChange.emit(id);\n if (options?.focus !== false) {\n this.focusTab(id);\n }\n }\n\n private focusTab(id: string) {\n const btn = this.el.querySelector(`[data-tab-id=\"${id}\"]`) as HTMLElement | null;\n btn?.focus({ preventScroll: true });\n }\n\n /** Keep focus on the selected tab when value changes externally (e.g. BarNav menu). */\n @Watch('value')\n onValueChange(next: string, prev: string | undefined) {\n if (prev === undefined || next === prev) return;\n\n requestAnimationFrame(() => {\n const active = document.activeElement as HTMLElement | null;\n if (!active || !this.el.contains(active)) return;\n\n const activeId = active.getAttribute('data-tab-id');\n if (activeId === next) return;\n\n const nextTab = this.el.querySelector(`[data-tab-id=\"${next}\"]`) as HTMLElement | null;\n if (nextTab) {\n nextTab.focus({ preventScroll: true });\n } else {\n active.blur();\n }\n });\n }\n\n /**\n * Find the next non-disabled tab index relative to `from`, stepping by `step`.\n * Returns `from` unchanged if no other enabled tab exists.\n */\n private findEnabled(from: number, step: 1 | -1): number {\n const tabs = this.selectableTabs;\n const len = tabs.length;\n for (let n = 0; n < len; n++) {\n const i = (from + step * (n + 1) + len * (n + 1)) % len;\n if (!tabs[i]?.disabled) return i;\n }\n return from;\n }\n\n @Listen('keydown')\n handleKeyDown(e: KeyboardEvent) {\n const tabs = this.selectableTabs;\n if (!tabs.length) return;\n\n const currentIdx = tabs.findIndex(t => t.id === this.value);\n const isVertical = this.orientation === 'vertical';\n\n let nextIdx: number | null = null;\n\n if (!isVertical) {\n if (e.key === 'ArrowRight') {\n nextIdx = this.findEnabled(currentIdx, 1);\n } else if (e.key === 'ArrowLeft') {\n nextIdx = this.findEnabled(currentIdx, -1);\n }\n } else {\n if (e.key === 'ArrowDown') {\n nextIdx = this.findEnabled(currentIdx, 1);\n } else if (e.key === 'ArrowUp') {\n nextIdx = this.findEnabled(currentIdx, -1);\n }\n }\n\n if (e.key === 'Home') {\n const first = tabs.findIndex(t => !t.disabled);\n nextIdx = first === -1 ? null : first;\n } else if (e.key === 'End') {\n const lastEnabled = [...tabs].reverse().findIndex(t => !t.disabled);\n nextIdx = lastEnabled === -1 ? null : tabs.length - 1 - lastEnabled;\n }\n\n if (nextIdx !== null) {\n e.preventDefault();\n const next = tabs[nextIdx];\n this.selectTab(next.id);\n }\n }\n\n private getBgClass(): string {\n if (!this.background || this.background === 'faint') return '';\n if (this.background === 'always-dark') return 'on-always-dark';\n return `on-${this.background}`;\n }\n\n render() {\n const bgClass = this.getBgClass();\n const isVertical = this.orientation === 'vertical';\n\n return (\n <Host class=\"tab-group-host\">\n <div\n role=\"tablist\"\n class={{ 'tab-list': true, 'tab-list--vertical': isVertical }}\n aria-label={this.ariaLabel}\n aria-labelledby={this.ariaLabelledby}\n aria-orientation={isVertical ? 'vertical' : undefined}\n >\n {this.tabs.map((tab, index) => {\n if (isTabDivider(tab)) {\n return (\n <div\n key={`divider-${index}`}\n class={{\n 'tab-divider': true,\n 'tab-divider--vertical': isVertical,\n }}\n aria-hidden=\"true\"\n >\n <div class=\"tab-divider__line\" />\n </div>\n );\n }\n\n const isSelected = tab.id === this.value;\n return (\n <button\n key={tab.id}\n type=\"button\"\n role=\"tab\"\n data-tab-id={tab.id}\n class={{\n tab: true,\n 'tab--selected': isSelected,\n [bgClass]: !!bgClass,\n }}\n aria-selected={isSelected}\n aria-disabled={tab.disabled || undefined}\n aria-controls={tab.panelId ?? undefined}\n disabled={tab.disabled}\n tabIndex={isSelected ? 0 : -1}\n onClick={() => !tab.disabled && this.selectTab(tab.id)}\n >\n <span class={{\n tab__label: true,\n 'tab__label--dot': !!tab.dot,\n [isSelected ? 'text-body-medium-emphasis' : 'text-body-medium']: true,\n }}>\n {tab.label}\n {tab.dot && <span class=\"tab__dot\" aria-hidden=\"true\" />}\n </span>\n </button>\n );\n })}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{p as o,H as r,h as i,a as s,t as m}from"./index.js";import{FlagAustria as n}from"@ds-mo/icons/svg/flags/FlagAustria";import{FlagBelgium as e}from"@ds-mo/icons/svg/flags/FlagBelgium";import{FlagBulgaria as c}from"@ds-mo/icons/svg/flags/FlagBulgaria";import{FlagCanada as t}from"@ds-mo/icons/svg/flags/FlagCanada";import{FlagCroatia as l}from"@ds-mo/icons/svg/flags/FlagCroatia";import{FlagCyprus as d}from"@ds-mo/icons/svg/flags/FlagCyprus";import{FlagCzechRepublic as a}from"@ds-mo/icons/svg/flags/FlagCzechRepublic";import{FlagDenmark as g}from"@ds-mo/icons/svg/flags/FlagDenmark";import{FlagEU as f}from"@ds-mo/icons/svg/flags/FlagEU";import{FlagEstonia as p}from"@ds-mo/icons/svg/flags/FlagEstonia";import{FlagFinland as v}from"@ds-mo/icons/svg/flags/FlagFinland";import{FlagFrance as u}from"@ds-mo/icons/svg/flags/FlagFrance";import{FlagGermany as h}from"@ds-mo/icons/svg/flags/FlagGermany";import{FlagGreece as C}from"@ds-mo/icons/svg/flags/FlagGreece";import{FlagHungary as F}from"@ds-mo/icons/svg/flags/FlagHungary";import{FlagIreland as S}from"@ds-mo/icons/svg/flags/FlagIreland";import{FlagItaly as b}from"@ds-mo/icons/svg/flags/FlagItaly";import{FlagLatvia as P}from"@ds-mo/icons/svg/flags/FlagLatvia";import{FlagLithuania as D}from"@ds-mo/icons/svg/flags/FlagLithuania";import{FlagLuxembourg as y}from"@ds-mo/icons/svg/flags/FlagLuxembourg";import{FlagMalta as k}from"@ds-mo/icons/svg/flags/FlagMalta";import{FlagMexico as w}from"@ds-mo/icons/svg/flags/FlagMexico";import{FlagNetherlands as B}from"@ds-mo/icons/svg/flags/FlagNetherlands";import{FlagPoland as L}from"@ds-mo/icons/svg/flags/FlagPoland";import{FlagPortugal as T}from"@ds-mo/icons/svg/flags/FlagPortugal";import{FlagRomania as E}from"@ds-mo/icons/svg/flags/FlagRomania";import{FlagSlovakia as A}from"@ds-mo/icons/svg/flags/FlagSlovakia";import{FlagSlovenia as G}from"@ds-mo/icons/svg/flags/FlagSlovenia";import{FlagSpain as R}from"@ds-mo/icons/svg/flags/FlagSpain";import{FlagSweden as M}from"@ds-mo/icons/svg/flags/FlagSweden";import{FlagUnitedKingdom as x}from"@ds-mo/icons/svg/flags/FlagUnitedKingdom";import{FlagUnitedStates as I}from"@ds-mo/icons/svg/flags/FlagUnitedStates";import{AI as V}from"@ds-mo/icons/svg/AI";import{AIChip as z}from"@ds-mo/icons/svg/AIChip";import{AINew as q}from"@ds-mo/icons/svg/AINew";import{AISparkle as W}from"@ds-mo/icons/svg/AISparkle";import{AUX as U}from"@ds-mo/icons/svg/AUX";import{AUXFilled as H}from"@ds-mo/icons/svg/AUXFilled";import{AndroidFilled as O}from"@ds-mo/icons/svg/AndroidFilled";import{ArrowDown as _}from"@ds-mo/icons/svg/ArrowDown";import{ArrowLeft as N}from"@ds-mo/icons/svg/ArrowLeft";import{ArrowPath as K}from"@ds-mo/icons/svg/ArrowPath";import{ArrowRight as Z}from"@ds-mo/icons/svg/ArrowRight";import{ArrowUp as J}from"@ds-mo/icons/svg/ArrowUp";import{ArrowsDiagonal as Q}from"@ds-mo/icons/svg/ArrowsDiagonal";import{ArrowsDiff as X}from"@ds-mo/icons/svg/ArrowsDiff";import{ArrowsDiffDisabled as j}from"@ds-mo/icons/svg/ArrowsDiffDisabled";import{ArrowsVertical as $}from"@ds-mo/icons/svg/ArrowsVertical";import{AtSign as Y}from"@ds-mo/icons/svg/AtSign";import{Avatar as oo}from"@ds-mo/icons/svg/Avatar";import{BackslashBrackets as ro}from"@ds-mo/icons/svg/BackslashBrackets";import{BatteryCharging as io}from"@ds-mo/icons/svg/BatteryCharging";import{BatteryEmpty as so}from"@ds-mo/icons/svg/BatteryEmpty";import{BatteryFull as mo}from"@ds-mo/icons/svg/BatteryFull";import{BatteryHalf as no}from"@ds-mo/icons/svg/BatteryHalf";import{BatteryLow as eo}from"@ds-mo/icons/svg/BatteryLow";import{Beaker as co}from"@ds-mo/icons/svg/Beaker";import{Bell as to}from"@ds-mo/icons/svg/Bell";import{BellCircle as lo}from"@ds-mo/icons/svg/BellCircle";import{BellExclamation as ao}from"@ds-mo/icons/svg/BellExclamation";import{BellFilled as go}from"@ds-mo/icons/svg/BellFilled";import{BellRinging as fo}from"@ds-mo/icons/svg/BellRinging";import{BellWifi as po}from"@ds-mo/icons/svg/BellWifi";import{BlackWhite as vo}from"@ds-mo/icons/svg/BlackWhite";import{BlankUI as uo}from"@ds-mo/icons/svg/BlankUI";import{Bluetooth as ho}from"@ds-mo/icons/svg/Bluetooth";import{Bolt as Co}from"@ds-mo/icons/svg/Bolt";import{BoltFilled as Fo}from"@ds-mo/icons/svg/BoltFilled";import{Bookmark as So}from"@ds-mo/icons/svg/Bookmark";import{Box as bo}from"@ds-mo/icons/svg/Box";import{Braces as Po}from"@ds-mo/icons/svg/Braces";import{Bug as Do}from"@ds-mo/icons/svg/Bug";import{BuildingFacility as yo}from"@ds-mo/icons/svg/BuildingFacility";import{BuildingHome as ko}from"@ds-mo/icons/svg/BuildingHome";import{BuildingOffice as wo}from"@ds-mo/icons/svg/BuildingOffice";import{BuildingPublic as Bo}from"@ds-mo/icons/svg/BuildingPublic";import{BuildingShop as Lo}from"@ds-mo/icons/svg/BuildingShop";import{Bulb as To}from"@ds-mo/icons/svg/Bulb";import{Calculator as Eo}from"@ds-mo/icons/svg/Calculator";import{Calendar as Ao}from"@ds-mo/icons/svg/Calendar";import{CalendarClock as Go}from"@ds-mo/icons/svg/CalendarClock";import{CameraA as Ro}from"@ds-mo/icons/svg/CameraA";import{CameraB as Mo}from"@ds-mo/icons/svg/CameraB";import{Card as xo}from"@ds-mo/icons/svg/Card";import{CardPerson as Io}from"@ds-mo/icons/svg/CardPerson";import{Cart as Vo}from"@ds-mo/icons/svg/Cart";import{Chart as zo}from"@ds-mo/icons/svg/Chart";import{Check as qo}from"@ds-mo/icons/svg/Check";import{CheckCircle as Wo}from"@ds-mo/icons/svg/CheckCircle";import{CheckCircleFilled as Uo}from"@ds-mo/icons/svg/CheckCircleFilled";import{CheckDouble as Ho}from"@ds-mo/icons/svg/CheckDouble";import{ChevronDown as Oo}from"@ds-mo/icons/svg/ChevronDown";import{ChevronLeft as _o}from"@ds-mo/icons/svg/ChevronLeft";import{ChevronLeftDouble as No}from"@ds-mo/icons/svg/ChevronLeftDouble";import{ChevronRight as Ko}from"@ds-mo/icons/svg/ChevronRight";import{ChevronRightDouble as Zo}from"@ds-mo/icons/svg/ChevronRightDouble";import{ChevronUp as Jo}from"@ds-mo/icons/svg/ChevronUp";import{ChevronUpDown as Qo}from"@ds-mo/icons/svg/ChevronUpDown";import{Circle as Xo}from"@ds-mo/icons/svg/Circle";import{CircleArrow as jo}from"@ds-mo/icons/svg/CircleArrow";import{CircleArrowsDiff as $o}from"@ds-mo/icons/svg/CircleArrowsDiff";import{CircleArrowsDiffDisabled as Yo}from"@ds-mo/icons/svg/CircleArrowsDiffDisabled";import{CircleConcentricFilled as or}from"@ds-mo/icons/svg/CircleConcentricFilled";import{CircleConcentricThree as rr}from"@ds-mo/icons/svg/CircleConcentricThree";import{CircleConcentricTwo as ir}from"@ds-mo/icons/svg/CircleConcentricTwo";import{CircleExclamation as sr}from"@ds-mo/icons/svg/CircleExclamation";import{CircleExclamationFilled as mr}from"@ds-mo/icons/svg/CircleExclamationFilled";import{CircleFastForward as nr}from"@ds-mo/icons/svg/CircleFastForward";import{CircleFilled as er}from"@ds-mo/icons/svg/CircleFilled";import{CircleGrid as cr}from"@ds-mo/icons/svg/CircleGrid";import{CirclePlay as tr}from"@ds-mo/icons/svg/CirclePlay";import{CircleQuestion as lr}from"@ds-mo/icons/svg/CircleQuestion";import{CircleSlash as dr}from"@ds-mo/icons/svg/CircleSlash";import{Clipboard as ar}from"@ds-mo/icons/svg/Clipboard";import{ClipboardCheck as gr}from"@ds-mo/icons/svg/ClipboardCheck";import{Clock as fr}from"@ds-mo/icons/svg/Clock";import{ClockDefer as pr}from"@ds-mo/icons/svg/ClockDefer";import{ClockFilled as vr}from"@ds-mo/icons/svg/ClockFilled";import{ClockSixteenHour as ur}from"@ds-mo/icons/svg/ClockSixteenHour";import{Cloud as hr}from"@ds-mo/icons/svg/Cloud";import{CloudEllipses as Cr}from"@ds-mo/icons/svg/CloudEllipses";import{CloudLightning as Fr}from"@ds-mo/icons/svg/CloudLightning";import{CloudRain as Sr}from"@ds-mo/icons/svg/CloudRain";import{CloudRainSun as br}from"@ds-mo/icons/svg/CloudRainSun";import{CloudSun as Pr}from"@ds-mo/icons/svg/CloudSun";import{CloudWind as Dr}from"@ds-mo/icons/svg/CloudWind";import{Cluster as yr}from"@ds-mo/icons/svg/Cluster";import{Coin as kr}from"@ds-mo/icons/svg/Coin";import{CoinStack as wr}from"@ds-mo/icons/svg/CoinStack";import{CoinStackGeneral as Br}from"@ds-mo/icons/svg/CoinStackGeneral";import{Compass as Lr}from"@ds-mo/icons/svg/Compass";import{Copy as Tr}from"@ds-mo/icons/svg/Copy";import{Crop as Er}from"@ds-mo/icons/svg/Crop";import{Cross as Ar}from"@ds-mo/icons/svg/Cross";import{CrossCircle as Gr}from"@ds-mo/icons/svg/CrossCircle";import{CrossCircleFilled as Rr}from"@ds-mo/icons/svg/CrossCircleFilled";import{Cube as Mr}from"@ds-mo/icons/svg/Cube";import{Cup as xr}from"@ds-mo/icons/svg/Cup";import{CursorPointer as Ir}from"@ds-mo/icons/svg/CursorPointer";import{CursorPointerMinus as Vr}from"@ds-mo/icons/svg/CursorPointerMinus";import{CursorPointerPlus as zr}from"@ds-mo/icons/svg/CursorPointerPlus";import{Dashboard as qr}from"@ds-mo/icons/svg/Dashboard";import{DeviceAIDashcamPlus as Wr}from"@ds-mo/icons/svg/DeviceAIDashcamPlus";import{DeviceAssetTracker as Ur}from"@ds-mo/icons/svg/DeviceAssetTracker";import{DeviceDVR as Hr}from"@ds-mo/icons/svg/DeviceDVR";import{DeviceDashcam as Or}from"@ds-mo/icons/svg/DeviceDashcam";import{DeviceDashcamLiveStream as _r}from"@ds-mo/icons/svg/DeviceDashcamLiveStream";import{DeviceMobile as Nr}from"@ds-mo/icons/svg/DeviceMobile";import{DeviceOmnicam as Kr}from"@ds-mo/icons/svg/DeviceOmnicam";import{DeviceSensor as Zr}from"@ds-mo/icons/svg/DeviceSensor";import{DeviceTablet as Jr}from"@ds-mo/icons/svg/DeviceTablet";import{DeviceVehicleGateway as Qr}from"@ds-mo/icons/svg/DeviceVehicleGateway";import{Devices as Xr}from"@ds-mo/icons/svg/Devices";import{Document as jr}from"@ds-mo/icons/svg/Document";import{DocumentArrow as $r}from"@ds-mo/icons/svg/DocumentArrow";import{DocumentChart as Yr}from"@ds-mo/icons/svg/DocumentChart";import{DocumentDollar as oi}from"@ds-mo/icons/svg/DocumentDollar";import{DocumentGear as ri}from"@ds-mo/icons/svg/DocumentGear";import{DocumentInverted as ii}from"@ds-mo/icons/svg/DocumentInverted";import{DocumentPencil as si}from"@ds-mo/icons/svg/DocumentPencil";import{DocumentPlus as mi}from"@ds-mo/icons/svg/DocumentPlus";import{DocumentQuestion as ni}from"@ds-mo/icons/svg/DocumentQuestion";import{DocumentReceipt as ei}from"@ds-mo/icons/svg/DocumentReceipt";import{DocumentStacked as ci}from"@ds-mo/icons/svg/DocumentStacked";import{DoorSensor as ti}from"@ds-mo/icons/svg/DoorSensor";import{Dot as li}from"@ds-mo/icons/svg/Dot";import{DotFilled as di}from"@ds-mo/icons/svg/DotFilled";import{DotPath as ai}from"@ds-mo/icons/svg/DotPath";import{Download as gi}from"@ds-mo/icons/svg/Download";import{Drag as fi}from"@ds-mo/icons/svg/Drag";import{Ellipses as pi}from"@ds-mo/icons/svg/Ellipses";import{Email as vi}from"@ds-mo/icons/svg/Email";import{Engine as ui}from"@ds-mo/icons/svg/Engine";import{Enter as hi}from"@ds-mo/icons/svg/Enter";import{EntityAsset as Ci}from"@ds-mo/icons/svg/EntityAsset";import{EntityAssetFilled as Fi}from"@ds-mo/icons/svg/EntityAssetFilled";import{EntityDriver as Si}from"@ds-mo/icons/svg/EntityDriver";import{EntityDriverFilled as bi}from"@ds-mo/icons/svg/EntityDriverFilled";import{EntityTravelGroup as Pi}from"@ds-mo/icons/svg/EntityTravelGroup";import{EntityTravelGroupFilled as Di}from"@ds-mo/icons/svg/EntityTravelGroupFilled";import{EntityVehicle as yi}from"@ds-mo/icons/svg/EntityVehicle";import{EntityVehicleCharging as ki}from"@ds-mo/icons/svg/EntityVehicleCharging";import{EntityVehicleChargingFilled as wi}from"@ds-mo/icons/svg/EntityVehicleChargingFilled";import{EntityVehicleFilled as Bi}from"@ds-mo/icons/svg/EntityVehicleFilled";import{EntityVehicleImmobilized as Li}from"@ds-mo/icons/svg/EntityVehicleImmobilized";import{EntityVehicleImmobilizedFilled as Ti}from"@ds-mo/icons/svg/EntityVehicleImmobilizedFilled";import{ErrorTriangle as Ei}from"@ds-mo/icons/svg/ErrorTriangle";import{ErrorTriangleFilled as Ai}from"@ds-mo/icons/svg/ErrorTriangleFilled";import{ErrorTriangleSimpleFilled as Gi}from"@ds-mo/icons/svg/ErrorTriangleSimpleFilled";import{Export as Ri}from"@ds-mo/icons/svg/Export";import{ExternalLink as Mi}from"@ds-mo/icons/svg/ExternalLink";import{Eye as xi}from"@ds-mo/icons/svg/Eye";import{EyeDisabled as Ii}from"@ds-mo/icons/svg/EyeDisabled";import{EyeLock as Vi}from"@ds-mo/icons/svg/EyeLock";import{FastForward as zi}from"@ds-mo/icons/svg/FastForward";import{FastForwardSkip as qi}from"@ds-mo/icons/svg/FastForwardSkip";import{Filters as Wi}from"@ds-mo/icons/svg/Filters";import{FitToScreen as Ui}from"@ds-mo/icons/svg/FitToScreen";import{Flag as Hi}from"@ds-mo/icons/svg/Flag";import{FlagFilled as Oi}from"@ds-mo/icons/svg/FlagFilled";import{FloppyDisk as _i}from"@ds-mo/icons/svg/FloppyDisk";import{Folder as Ni}from"@ds-mo/icons/svg/Folder";import{FolderFilled as Ki}from"@ds-mo/icons/svg/FolderFilled";import{FuelPump as Zi}from"@ds-mo/icons/svg/FuelPump";import{FullScreen as Ji}from"@ds-mo/icons/svg/FullScreen";import{FullScreenExit as Qi}from"@ds-mo/icons/svg/FullScreenExit";import{Gauge as Xi}from"@ds-mo/icons/svg/Gauge";import{GaugeTemperature as ji}from"@ds-mo/icons/svg/GaugeTemperature";import{Gear as $i}from"@ds-mo/icons/svg/Gear";import{GearCheck as Yi}from"@ds-mo/icons/svg/GearCheck";import{Geofence as os}from"@ds-mo/icons/svg/Geofence";import{GeofenceCircle as rs}from"@ds-mo/icons/svg/GeofenceCircle";import{GeofenceDiamond as is}from"@ds-mo/icons/svg/GeofenceDiamond";import{GeofenceSquare as ss}from"@ds-mo/icons/svg/GeofenceSquare";import{GlobeNetwork as ms}from"@ds-mo/icons/svg/GlobeNetwork";import{GlobeWorldMap as ns}from"@ds-mo/icons/svg/GlobeWorldMap";import{Graph as es}from"@ds-mo/icons/svg/Graph";import{GraphArrow as cs}from"@ds-mo/icons/svg/GraphArrow";import{GraphBars as ts}from"@ds-mo/icons/svg/GraphBars";import{GraphDecreasing as ls}from"@ds-mo/icons/svg/GraphDecreasing";import{GraphIncreasing as ds}from"@ds-mo/icons/svg/GraphIncreasing";import{GroupBy as as}from"@ds-mo/icons/svg/GroupBy";import{Hamburger as gs}from"@ds-mo/icons/svg/Hamburger";import{HandOpen as fs}from"@ds-mo/icons/svg/HandOpen";import{Headset as ps}from"@ds-mo/icons/svg/Headset";import{History as vs}from"@ds-mo/icons/svg/History";import{HourGlass as us}from"@ds-mo/icons/svg/HourGlass";import{Image as hs}from"@ds-mo/icons/svg/Image";import{Import as Cs}from"@ds-mo/icons/svg/Import";import{ImportClock as Fs}from"@ds-mo/icons/svg/ImportClock";import{Inbox as Ss}from"@ds-mo/icons/svg/Inbox";import{IosFilled as bs}from"@ds-mo/icons/svg/IosFilled";import{Jerrycan as Ps}from"@ds-mo/icons/svg/Jerrycan";import{KeyA as Ds}from"@ds-mo/icons/svg/KeyA";import{KeyB as ys}from"@ds-mo/icons/svg/KeyB";import{KeyCmd as ks}from"@ds-mo/icons/svg/KeyCmd";import{KeyShift as ws}from"@ds-mo/icons/svg/KeyShift";import{LED as Bs}from"@ds-mo/icons/svg/LED";import{Layers as Ls}from"@ds-mo/icons/svg/Layers";import{Leaf as Ts}from"@ds-mo/icons/svg/Leaf";import{LeftCollapse as Es}from"@ds-mo/icons/svg/LeftCollapse";import{LeftCollapseB as As}from"@ds-mo/icons/svg/LeftCollapseB";import{LeftExpand as Gs}from"@ds-mo/icons/svg/LeftExpand";import{LeftExpandB as Rs}from"@ds-mo/icons/svg/LeftExpandB";import{LeftTurnSignal as Ms}from"@ds-mo/icons/svg/LeftTurnSignal";import{LetterB as xs}from"@ds-mo/icons/svg/LetterB";import{LetterC as Is}from"@ds-mo/icons/svg/LetterC";import{LetterI as Vs}from"@ds-mo/icons/svg/LetterI";import{License as zs}from"@ds-mo/icons/svg/License";import{LicensePlate as qs}from"@ds-mo/icons/svg/LicensePlate";import{Lifebuoy as Ws}from"@ds-mo/icons/svg/Lifebuoy";import{Link as Us}from"@ds-mo/icons/svg/Link";import{List as Hs}from"@ds-mo/icons/svg/List";import{Loads as Os}from"@ds-mo/icons/svg/Loads";import{LocationPin as _s}from"@ds-mo/icons/svg/LocationPin";import{LocationPinArrows as Ns}from"@ds-mo/icons/svg/LocationPinArrows";import{LocationPinDisabled as Ks}from"@ds-mo/icons/svg/LocationPinDisabled";import{LocationPinDollar as Zs}from"@ds-mo/icons/svg/LocationPinDollar";import{LockClosed as Js}from"@ds-mo/icons/svg/LockClosed";import{LockClosedFilled as Qs}from"@ds-mo/icons/svg/LockClosedFilled";import{LockOpen as Xs}from"@ds-mo/icons/svg/LockOpen";import{Logout as js}from"@ds-mo/icons/svg/Logout";import{Logs as $s}from"@ds-mo/icons/svg/Logs";import{LogsMagnifyingGlass as Ys}from"@ds-mo/icons/svg/LogsMagnifyingGlass";import{MagnifyingGlass as om}from"@ds-mo/icons/svg/MagnifyingGlass";import{MagnifyingGlassGraph as rm}from"@ds-mo/icons/svg/MagnifyingGlassGraph";import{MagnifyingGlassZoomIn as im}from"@ds-mo/icons/svg/MagnifyingGlassZoomIn";import{MagnifyingGlassZoomOut as sm}from"@ds-mo/icons/svg/MagnifyingGlassZoomOut";import{MapNavigation as mm}from"@ds-mo/icons/svg/MapNavigation";import{MapPage as nm}from"@ds-mo/icons/svg/MapPage";import{MapPin as em}from"@ds-mo/icons/svg/MapPin";import{MarkRead as cm}from"@ds-mo/icons/svg/MarkRead";import{Match as tm}from"@ds-mo/icons/svg/Match";import{MessageBubble as lm}from"@ds-mo/icons/svg/MessageBubble";import{MessageBubbleStack as dm}from"@ds-mo/icons/svg/MessageBubbleStack";import{Messaging as am}from"@ds-mo/icons/svg/Messaging";import{Mic as gm}from"@ds-mo/icons/svg/Mic";import{MicMute as fm}from"@ds-mo/icons/svg/MicMute";import{Minimize as pm}from"@ds-mo/icons/svg/Minimize";import{Monitor as vm}from"@ds-mo/icons/svg/Monitor";import{Notification as um}from"@ds-mo/icons/svg/Notification";import{NumberTen as hm}from"@ds-mo/icons/svg/NumberTen";import{OctagonSubtract as Cm}from"@ds-mo/icons/svg/OctagonSubtract";import{Odometer as Fm}from"@ds-mo/icons/svg/Odometer";import{OverviewAI as Sm}from"@ds-mo/icons/svg/OverviewAI";import{PanelCollapse as bm}from"@ds-mo/icons/svg/PanelCollapse";import{PanelExpand as Pm}from"@ds-mo/icons/svg/PanelExpand";import{Paperclip as Dm}from"@ds-mo/icons/svg/Paperclip";import{PaperplaneSend as ym}from"@ds-mo/icons/svg/PaperplaneSend";import{Paragraph as km}from"@ds-mo/icons/svg/Paragraph";import{ParagraphCheck as wm}from"@ds-mo/icons/svg/ParagraphCheck";import{ParagraphPencil as Bm}from"@ds-mo/icons/svg/ParagraphPencil";import{Pause as Lm}from"@ds-mo/icons/svg/Pause";import{PauseFilled as Tm}from"@ds-mo/icons/svg/PauseFilled";import{Pencil as Em}from"@ds-mo/icons/svg/Pencil";import{PencilSquiggle as Am}from"@ds-mo/icons/svg/PencilSquiggle";import{Person as Gm}from"@ds-mo/icons/svg/Person";import{PersonAt as Rm}from"@ds-mo/icons/svg/PersonAt";import{PersonConnect as Mm}from"@ds-mo/icons/svg/PersonConnect";import{PersonFrame as xm}from"@ds-mo/icons/svg/PersonFrame";import{PersonGear as Im}from"@ds-mo/icons/svg/PersonGear";import{PersonGroup as Vm}from"@ds-mo/icons/svg/PersonGroup";import{PersonGroupArrows as zm}from"@ds-mo/icons/svg/PersonGroupArrows";import{PersonManager as qm}from"@ds-mo/icons/svg/PersonManager";import{PersonShield as Wm}from"@ds-mo/icons/svg/PersonShield";import{PersonStar as Um}from"@ds-mo/icons/svg/PersonStar";import{Phone as Hm}from"@ds-mo/icons/svg/Phone";import{PhoneDisconnect as Om}from"@ds-mo/icons/svg/PhoneDisconnect";import{PicmanFilled as _m}from"@ds-mo/icons/svg/PicmanFilled";import{Pin as Nm}from"@ds-mo/icons/svg/Pin";import{PipBottomLeft as Km}from"@ds-mo/icons/svg/PipBottomLeft";import{PipBottomRight as Zm}from"@ds-mo/icons/svg/PipBottomRight";import{PipTopLeft as Jm}from"@ds-mo/icons/svg/PipTopLeft";import{PipTopRight as Qm}from"@ds-mo/icons/svg/PipTopRight";import{Play as Xm}from"@ds-mo/icons/svg/Play";import{PlayFilled as jm}from"@ds-mo/icons/svg/PlayFilled";import{Plug as $m}from"@ds-mo/icons/svg/Plug";import{Plus as Ym}from"@ds-mo/icons/svg/Plus";import{PlusCircle as on}from"@ds-mo/icons/svg/PlusCircle";import{Preferences as rn}from"@ds-mo/icons/svg/Preferences";import{Printer as sn}from"@ds-mo/icons/svg/Printer";import{PunchCard as mn}from"@ds-mo/icons/svg/PunchCard";import{Puzzle as nn}from"@ds-mo/icons/svg/Puzzle";import{PuzzleJoined as en}from"@ds-mo/icons/svg/PuzzleJoined";import{Redo as cn}from"@ds-mo/icons/svg/Redo";import{Refresh as tn}from"@ds-mo/icons/svg/Refresh";import{Restore as ln}from"@ds-mo/icons/svg/Restore";import{RewardRibbon as dn}from"@ds-mo/icons/svg/RewardRibbon";import{Rewind as an}from"@ds-mo/icons/svg/Rewind";import{RewindSkip as gn}from"@ds-mo/icons/svg/RewindSkip";import{RewindSkipFilled as fn}from"@ds-mo/icons/svg/RewindSkipFilled";import{RightCollapse as pn}from"@ds-mo/icons/svg/RightCollapse";import{RightCollapseB as vn}from"@ds-mo/icons/svg/RightCollapseB";import{RightExpand as un}from"@ds-mo/icons/svg/RightExpand";import{RightExpandB as hn}from"@ds-mo/icons/svg/RightExpandB";import{RightTurnSignal as Cn}from"@ds-mo/icons/svg/RightTurnSignal";import{Rotate as Fn}from"@ds-mo/icons/svg/Rotate";import{Satellite as Sn}from"@ds-mo/icons/svg/Satellite";import{Scan as bn}from"@ds-mo/icons/svg/Scan";import{Scissor as Pn}from"@ds-mo/icons/svg/Scissor";import{Scope as Dn}from"@ds-mo/icons/svg/Scope";import{Seatbelt as yn}from"@ds-mo/icons/svg/Seatbelt";import{SeatbeltBuckle as kn}from"@ds-mo/icons/svg/SeatbeltBuckle";import{Shapes as wn}from"@ds-mo/icons/svg/Shapes";import{ShareCircles as Bn}from"@ds-mo/icons/svg/ShareCircles";import{ShareCirclesFilled as Ln}from"@ds-mo/icons/svg/ShareCirclesFilled";import{SharePaperplane as Tn}from"@ds-mo/icons/svg/SharePaperplane";import{Shield as En}from"@ds-mo/icons/svg/Shield";import{ShieldCheck as An}from"@ds-mo/icons/svg/ShieldCheck";import{ShieldCheckmarkFilled as Gn}from"@ds-mo/icons/svg/ShieldCheckmarkFilled";import{ShieldCircle as Rn}from"@ds-mo/icons/svg/ShieldCircle";import{ShieldCircleFilled as Mn}from"@ds-mo/icons/svg/ShieldCircleFilled";import{ShieldCross as xn}from"@ds-mo/icons/svg/ShieldCross";import{ShieldCrossFilled as In}from"@ds-mo/icons/svg/ShieldCrossFilled";import{ShieldFilled as Vn}from"@ds-mo/icons/svg/ShieldFilled";import{ShieldLock as zn}from"@ds-mo/icons/svg/ShieldLock";import{ShieldLockFilled as qn}from"@ds-mo/icons/svg/ShieldLockFilled";import{ShoppingBag as Wn}from"@ds-mo/icons/svg/ShoppingBag";import{Snowflake as Un}from"@ds-mo/icons/svg/Snowflake";import{SpeakerPhone as Hn}from"@ds-mo/icons/svg/SpeakerPhone";import{SpeedometerArrow as On}from"@ds-mo/icons/svg/SpeedometerArrow";import{SpeedometerLeft as _n}from"@ds-mo/icons/svg/SpeedometerLeft";import{SpeedometerRight as Nn}from"@ds-mo/icons/svg/SpeedometerRight";import{SpikeCirclePercentage as Kn}from"@ds-mo/icons/svg/SpikeCirclePercentage";import{SpikeCirclePercentageFilled as Zn}from"@ds-mo/icons/svg/SpikeCirclePercentageFilled";import{Square as Jn}from"@ds-mo/icons/svg/Square";import{SquareArrowTopRight as Qn}from"@ds-mo/icons/svg/SquareArrowTopRight";import{SquareCheck as Xn}from"@ds-mo/icons/svg/SquareCheck";import{SquareCheckFilled as jn}from"@ds-mo/icons/svg/SquareCheckFilled";import{SquareDollar as $n}from"@ds-mo/icons/svg/SquareDollar";import{SquareDollarFilled as Yn}from"@ds-mo/icons/svg/SquareDollarFilled";import{SquareDottedMinus as oe}from"@ds-mo/icons/svg/SquareDottedMinus";import{SquareFilled as re}from"@ds-mo/icons/svg/SquareFilled";import{SquareGrid as ie}from"@ds-mo/icons/svg/SquareGrid";import{SquarePencil as se}from"@ds-mo/icons/svg/SquarePencil";import{SquarePlus as me}from"@ds-mo/icons/svg/SquarePlus";import{SquareSubtract as ne}from"@ds-mo/icons/svg/SquareSubtract";import{SquareSubtractFilled as ee}from"@ds-mo/icons/svg/SquareSubtractFilled";import{Star as ce}from"@ds-mo/icons/svg/Star";import{StarFilled as te}from"@ds-mo/icons/svg/StarFilled";import{Stopwatch as le}from"@ds-mo/icons/svg/Stopwatch";import{Street as de}from"@ds-mo/icons/svg/Street";import{Subtract as ae}from"@ds-mo/icons/svg/Subtract";import{SubtractCircle as ge}from"@ds-mo/icons/svg/SubtractCircle";import{SubtractCircleFilled as fe}from"@ds-mo/icons/svg/SubtractCircleFilled";import{Table as pe}from"@ds-mo/icons/svg/Table";import{Tag as ve}from"@ds-mo/icons/svg/Tag";import{Target as ue}from"@ds-mo/icons/svg/Target";import{TargetDollar as he}from"@ds-mo/icons/svg/TargetDollar";import{Text as Ce}from"@ds-mo/icons/svg/Text";import{ThemeDark as Fe}from"@ds-mo/icons/svg/ThemeDark";import{ThemeLight as Se}from"@ds-mo/icons/svg/ThemeLight";import{ThumbsDown as be}from"@ds-mo/icons/svg/ThumbsDown";import{ThumbsDownFilled as Pe}from"@ds-mo/icons/svg/ThumbsDownFilled";import{ThumbsUp as De}from"@ds-mo/icons/svg/ThumbsUp";import{ThumbsUpFilled as ye}from"@ds-mo/icons/svg/ThumbsUpFilled";import{TirePressure as ke}from"@ds-mo/icons/svg/TirePressure";import{Toggle as we}from"@ds-mo/icons/svg/Toggle";import{TrafficLight as Be}from"@ds-mo/icons/svg/TrafficLight";import{Trash as Le}from"@ds-mo/icons/svg/Trash";import{Trophy as Te}from"@ds-mo/icons/svg/Trophy";import{TurnSignal as Ee}from"@ds-mo/icons/svg/TurnSignal";import{TurnSignalFilled as Ae}from"@ds-mo/icons/svg/TurnSignalFilled";import{TwoDevices as Ge}from"@ds-mo/icons/svg/TwoDevices";import{Undo as Re}from"@ds-mo/icons/svg/Undo";import{Upgrade as Me}from"@ds-mo/icons/svg/Upgrade";import{Upload as xe}from"@ds-mo/icons/svg/Upload";import{VehicleTrailer as Ie}from"@ds-mo/icons/svg/VehicleTrailer";import{VehicleTruck as Ve}from"@ds-mo/icons/svg/VehicleTruck";import{VehicleTruckMagnifyingGlass as ze}from"@ds-mo/icons/svg/VehicleTruckMagnifyingGlass";import{Video as qe}from"@ds-mo/icons/svg/Video";import{ViewMenu as We}from"@ds-mo/icons/svg/ViewMenu";import{Volume as Ue}from"@ds-mo/icons/svg/Volume";import{VolumeFilled as He}from"@ds-mo/icons/svg/VolumeFilled";import{VolumeMute as Oe}from"@ds-mo/icons/svg/VolumeMute";import{VolumeMuteFilled as _e}from"@ds-mo/icons/svg/VolumeMuteFilled";import{WandSparkle as Ne}from"@ds-mo/icons/svg/WandSparkle";import{Waveform as Ke}from"@ds-mo/icons/svg/Waveform";import{Webhooks as Ze}from"@ds-mo/icons/svg/Webhooks";import{Whistle as Je}from"@ds-mo/icons/svg/Whistle";import{WiFiHorizontal as Qe}from"@ds-mo/icons/svg/WiFiHorizontal";import{WiFiTower as Xe}from"@ds-mo/icons/svg/WiFiTower";import{WifiVertical as je}from"@ds-mo/icons/svg/WifiVertical";import{WifiVerticalFilled as $e}from"@ds-mo/icons/svg/WifiVerticalFilled";import{WifiVerticalFilledDisabled as Ye}from"@ds-mo/icons/svg/WifiVerticalFilledDisabled";import{WorkflowA as oc}from"@ds-mo/icons/svg/WorkflowA";import{WorkflowB as rc}from"@ds-mo/icons/svg/WorkflowB";import{Wrench as ic}from"@ds-mo/icons/svg/Wrench";import{ZoomBackOut as sc}from"@ds-mo/icons/svg/ZoomBackOut";const mc={FlagAustria:n,FlagBelgium:e,FlagBulgaria:c,FlagCanada:t,FlagCroatia:l,FlagCyprus:d,FlagCzechRepublic:a,FlagDenmark:g,FlagEU:f,FlagEstonia:p,FlagFinland:v,FlagFrance:u,FlagGermany:h,FlagGreece:C,FlagHungary:F,FlagIreland:S,FlagItaly:b,FlagLatvia:P,FlagLithuania:D,FlagLuxembourg:y,FlagMalta:k,FlagMexico:w,FlagNetherlands:B,FlagPoland:L,FlagPortugal:T,FlagRomania:E,FlagSlovakia:A,FlagSlovenia:G,FlagSpain:R,FlagSweden:M,FlagUnitedKingdom:x,FlagUnitedStates:I};const nc={AI:V,AIChip:z,AINew:q,AISparkle:W,AUX:U,AUXFilled:H,AndroidFilled:O,ArrowDown:_,ArrowLeft:N,ArrowPath:K,ArrowRight:Z,ArrowUp:J,ArrowsDiagonal:Q,ArrowsDiff:X,ArrowsDiffDisabled:j,ArrowsVertical:$,AtSign:Y,Avatar:oo,BackslashBrackets:ro,BatteryCharging:io,BatteryEmpty:so,BatteryFull:mo,BatteryHalf:no,BatteryLow:eo,Beaker:co,Bell:to,BellCircle:lo,BellExclamation:ao,BellFilled:go,BellRinging:fo,BellWifi:po,BlackWhite:vo,BlankUI:uo,Bluetooth:ho,Bolt:Co,BoltFilled:Fo,Bookmark:So,Box:bo,Braces:Po,Bug:Do,BuildingFacility:yo,BuildingHome:ko,BuildingOffice:wo,BuildingPublic:Bo,BuildingShop:Lo,Bulb:To,Calculator:Eo,Calendar:Ao,CalendarClock:Go,CameraA:Ro,CameraB:Mo,Card:xo,CardPerson:Io,Cart:Vo,Chart:zo,Check:qo,CheckCircle:Wo,CheckCircleFilled:Uo,CheckDouble:Ho,ChevronDown:Oo,ChevronLeft:_o,ChevronLeftDouble:No,ChevronRight:Ko,ChevronRightDouble:Zo,ChevronUp:Jo,ChevronUpDown:Qo,Circle:Xo,CircleArrow:jo,CircleArrowsDiff:$o,CircleArrowsDiffDisabled:Yo,CircleConcentricFilled:or,CircleConcentricThree:rr,CircleConcentricTwo:ir,CircleExclamation:sr,CircleExclamationFilled:mr,CircleFastForward:nr,CircleFilled:er,CircleGrid:cr,CirclePlay:tr,CircleQuestion:lr,CircleSlash:dr,Clipboard:ar,ClipboardCheck:gr,Clock:fr,ClockDefer:pr,ClockFilled:vr,ClockSixteenHour:ur,Cloud:hr,CloudEllipses:Cr,CloudLightning:Fr,CloudRain:Sr,CloudRainSun:br,CloudSun:Pr,CloudWind:Dr,Cluster:yr,Coin:kr,CoinStack:wr,CoinStackGeneral:Br,Compass:Lr,Copy:Tr,Crop:Er,Cross:Ar,CrossCircle:Gr,CrossCircleFilled:Rr,Cube:Mr,Cup:xr,CursorPointer:Ir,CursorPointerMinus:Vr,CursorPointerPlus:zr,Dashboard:qr,DeviceAIDashcamPlus:Wr,DeviceAssetTracker:Ur,DeviceDVR:Hr,DeviceDashcam:Or,DeviceDashcamLiveStream:_r,DeviceMobile:Nr,DeviceOmnicam:Kr,DeviceSensor:Zr,DeviceTablet:Jr,DeviceVehicleGateway:Qr,Devices:Xr,Document:jr,DocumentArrow:$r,DocumentChart:Yr,DocumentDollar:oi,DocumentGear:ri,DocumentInverted:ii,DocumentPencil:si,DocumentPlus:mi,DocumentQuestion:ni,DocumentReceipt:ei,DocumentStacked:ci,DoorSensor:ti,Dot:li,DotFilled:di,DotPath:ai,Download:gi,Drag:fi,Ellipses:pi,Email:vi,Engine:ui,Enter:hi,EntityAsset:Ci,EntityAssetFilled:Fi,EntityDriver:Si,EntityDriverFilled:bi,EntityTravelGroup:Pi,EntityTravelGroupFilled:Di,EntityVehicle:yi,EntityVehicleCharging:ki,EntityVehicleChargingFilled:wi,EntityVehicleFilled:Bi,EntityVehicleImmobilized:Li,EntityVehicleImmobilizedFilled:Ti,ErrorTriangle:Ei,ErrorTriangleFilled:Ai,ErrorTriangleSimpleFilled:Gi,Export:Ri,ExternalLink:Mi,Eye:xi,EyeDisabled:Ii,EyeLock:Vi,FastForward:zi,FastForwardSkip:qi,Filters:Wi,FitToScreen:Ui,Flag:Hi,FlagFilled:Oi,FloppyDisk:_i,Folder:Ni,FolderFilled:Ki,FuelPump:Zi,FullScreen:Ji,FullScreenExit:Qi,Gauge:Xi,GaugeTemperature:ji,Gear:$i,GearCheck:Yi,Geofence:os,GeofenceCircle:rs,GeofenceDiamond:is,GeofenceSquare:ss,GlobeNetwork:ms,GlobeWorldMap:ns,Graph:es,GraphArrow:cs,GraphBars:ts,GraphDecreasing:ls,GraphIncreasing:ds,GroupBy:as,Hamburger:gs,HandOpen:fs,Headset:ps,History:vs,HourGlass:us,Image:hs,Import:Cs,ImportClock:Fs,Inbox:Ss,IosFilled:bs,Jerrycan:Ps,KeyA:Ds,KeyB:ys,KeyCmd:ks,KeyShift:ws,LED:Bs,Layers:Ls,Leaf:Ts,LeftCollapse:Es,LeftCollapseB:As,LeftExpand:Gs,LeftExpandB:Rs,LeftTurnSignal:Ms,LetterB:xs,LetterC:Is,LetterI:Vs,License:zs,LicensePlate:qs,Lifebuoy:Ws,Link:Us,List:Hs,Loads:Os,LocationPin:_s,LocationPinArrows:Ns,LocationPinDisabled:Ks,LocationPinDollar:Zs,LockClosed:Js,LockClosedFilled:Qs,LockOpen:Xs,Logout:js,Logs:$s,LogsMagnifyingGlass:Ys,MagnifyingGlass:om,MagnifyingGlassGraph:rm,MagnifyingGlassZoomIn:im,MagnifyingGlassZoomOut:sm,MapNavigation:mm,MapPage:nm,MapPin:em,MarkRead:cm,Match:tm,MessageBubble:lm,MessageBubbleStack:dm,Messaging:am,Mic:gm,MicMute:fm,Minimize:pm,Monitor:vm,Notification:um,NumberTen:hm,OctagonSubtract:Cm,Odometer:Fm,OverviewAI:Sm,PanelCollapse:bm,PanelExpand:Pm,Paperclip:Dm,PaperplaneSend:ym,Paragraph:km,ParagraphCheck:wm,ParagraphPencil:Bm,Pause:Lm,PauseFilled:Tm,Pencil:Em,PencilSquiggle:Am,Person:Gm,PersonAt:Rm,PersonConnect:Mm,PersonFrame:xm,PersonGear:Im,PersonGroup:Vm,PersonGroupArrows:zm,PersonManager:qm,PersonShield:Wm,PersonStar:Um,Phone:Hm,PhoneDisconnect:Om,PicmanFilled:_m,Pin:Nm,PipBottomLeft:Km,PipBottomRight:Zm,PipTopLeft:Jm,PipTopRight:Qm,Play:Xm,PlayFilled:jm,Plug:$m,Plus:Ym,PlusCircle:on,Preferences:rn,Printer:sn,PunchCard:mn,Puzzle:nn,PuzzleJoined:en,Redo:cn,Refresh:tn,Restore:ln,RewardRibbon:dn,Rewind:an,RewindSkip:gn,RewindSkipFilled:fn,RightCollapse:pn,RightCollapseB:vn,RightExpand:un,RightExpandB:hn,RightTurnSignal:Cn,Rotate:Fn,Satellite:Sn,Scan:bn,Scissor:Pn,Scope:Dn,Seatbelt:yn,SeatbeltBuckle:kn,Shapes:wn,ShareCircles:Bn,ShareCirclesFilled:Ln,SharePaperplane:Tn,Shield:En,ShieldCheck:An,ShieldCheckmarkFilled:Gn,ShieldCircle:Rn,ShieldCircleFilled:Mn,ShieldCross:xn,ShieldCrossFilled:In,ShieldFilled:Vn,ShieldLock:zn,ShieldLockFilled:qn,ShoppingBag:Wn,Snowflake:Un,SpeakerPhone:Hn,SpeedometerArrow:On,SpeedometerLeft:_n,SpeedometerRight:Nn,SpikeCirclePercentage:Kn,SpikeCirclePercentageFilled:Zn,Square:Jn,SquareArrowTopRight:Qn,SquareCheck:Xn,SquareCheckFilled:jn,SquareDollar:$n,SquareDollarFilled:Yn,SquareDottedMinus:oe,SquareFilled:re,SquareGrid:ie,SquarePencil:se,SquarePlus:me,SquareSubtract:ne,SquareSubtractFilled:ee,Star:ce,StarFilled:te,Stopwatch:le,Street:de,Subtract:ae,SubtractCircle:ge,SubtractCircleFilled:fe,Table:pe,Tag:ve,Target:ue,TargetDollar:he,Text:Ce,ThemeDark:Fe,ThemeLight:Se,ThumbsDown:be,ThumbsDownFilled:Pe,ThumbsUp:De,ThumbsUpFilled:ye,TirePressure:ke,Toggle:we,TrafficLight:Be,Trash:Le,Trophy:Te,TurnSignal:Ee,TurnSignalFilled:Ae,TwoDevices:Ge,Undo:Re,Upgrade:Me,Upload:xe,VehicleTrailer:Ie,VehicleTruck:Ve,VehicleTruckMagnifyingGlass:ze,Video:qe,ViewMenu:We,Volume:Ue,VolumeFilled:He,VolumeMute:Oe,VolumeMuteFilled:_e,WandSparkle:Ne,Waveform:Ke,Webhooks:Ze,Whistle:Je,WiFiHorizontal:Qe,WiFiTower:Xe,WifiVertical:je,WifiVerticalFilled:$e,WifiVerticalFilledDisabled:Ye,WorkflowA:oc,WorkflowB:rc,Wrench:ic,ZoomBackOut:sc};const ec=()=>`.icon.sc-ds-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0;color:var(--color-foreground-primary);width:var(--_icon-sz, var(--dimension-iconography-md));height:var(--_icon-sz, var(--dimension-iconography-md))}.icon__svg.sc-ds-icon{display:contents;line-height:0}.icon--size-xs.sc-ds-icon{--_icon-sz:var(--dimension-iconography-xs)}.icon--size-sm.sc-ds-icon{--_icon-sz:var(--dimension-iconography-sm)}.icon--size-md.sc-ds-icon{--_icon-sz:var(--dimension-iconography-md)}.icon--size-lg.sc-ds-icon{--_icon-sz:var(--dimension-iconography-lg)}.icon--size-xl.sc-ds-icon{--_icon-sz:var(--dimension-iconography-xl)}.icon--size-2xl.sc-ds-icon{--_icon-sz:var(--dimension-iconography-2xl)}.icon--size-3xl.sc-ds-icon{--_icon-sz:var(--dimension-iconography-3xl)}.icon--color-primary.sc-ds-icon{color:var(--color-foreground-primary)}.icon--color-secondary.sc-ds-icon{color:var(--color-foreground-secondary)}.icon--color-tertiary.sc-ds-icon{color:var(--color-foreground-tertiary)}.icon--color-quaternary.sc-ds-icon{color:var(--color-foreground-quaternary)}.icon--color-inherit.sc-ds-icon{color:inherit}.icon--color-brand.sc-ds-icon{color:var(--color-foreground-bold-brand)}.icon--color-negative.sc-ds-icon{color:var(--color-foreground-bold-negative)}.icon--color-positive.sc-ds-icon{color:var(--color-foreground-bold-positive)}.icon--color-warning.sc-ds-icon{color:var(--color-foreground-bold-warning)}.icon--color-caution.sc-ds-icon{color:var(--color-foreground-bold-caution)}.icon--color-ai.sc-ds-icon{color:var(--color-foreground-bold-ai)}.icon--color-guide.sc-ds-icon{color:var(--color-foreground-bold-guide)}.icon--color-neutral.sc-ds-icon{color:var(--color-foreground-bold-neutral)}.icon--color-faint-brand.sc-ds-icon{color:var(--color-foreground-faint-brand)}.icon--color-faint-negative.sc-ds-icon{color:var(--color-foreground-faint-negative)}.icon--color-faint-positive.sc-ds-icon{color:var(--color-foreground-faint-positive)}.icon--color-faint-warning.sc-ds-icon{color:var(--color-foreground-faint-warning)}.icon--color-faint-caution.sc-ds-icon{color:var(--color-foreground-faint-caution)}.icon--color-faint-ai.sc-ds-icon{color:var(--color-foreground-faint-ai)}.icon--color-faint-neutral.sc-ds-icon{color:var(--color-foreground-faint-neutral)}.icon--color-medium-brand.sc-ds-icon{color:var(--color-foreground-medium-brand)}.icon--color-medium-negative.sc-ds-icon{color:var(--color-foreground-medium-negative)}.icon--color-medium-positive.sc-ds-icon{color:var(--color-foreground-medium-positive)}.icon--color-medium-warning.sc-ds-icon{color:var(--color-foreground-medium-warning)}.icon--color-medium-caution.sc-ds-icon{color:var(--color-foreground-medium-caution)}.icon--color-medium-ai.sc-ds-icon{color:var(--color-foreground-medium-ai)}.icon--color-medium-neutral.sc-ds-icon{color:var(--color-foreground-medium-neutral)}.icon--color-bold-brand.sc-ds-icon{color:var(--color-foreground-bold-brand)}.icon--color-bold-negative.sc-ds-icon{color:var(--color-foreground-bold-negative)}.icon--color-bold-positive.sc-ds-icon{color:var(--color-foreground-bold-positive)}.icon--color-bold-warning.sc-ds-icon{color:var(--color-foreground-bold-warning)}.icon--color-bold-caution.sc-ds-icon{color:var(--color-foreground-bold-caution)}.icon--color-bold-ai.sc-ds-icon{color:var(--color-foreground-bold-ai)}.icon--color-bold-neutral.sc-ds-icon{color:var(--color-foreground-bold-neutral)}.icon--color-strong-brand.sc-ds-icon{color:var(--color-foreground-strong-brand)}.icon--color-strong-negative.sc-ds-icon{color:var(--color-foreground-strong-negative)}.icon--color-strong-positive.sc-ds-icon{color:var(--color-foreground-strong-positive)}.icon--color-strong-warning.sc-ds-icon{color:var(--color-foreground-strong-warning)}.icon--color-strong-caution.sc-ds-icon{color:var(--color-foreground-strong-caution)}.icon--color-strong-ai.sc-ds-icon{color:var(--color-foreground-strong-ai)}.icon--color-strong-neutral.sc-ds-icon{color:var(--color-foreground-strong-neutral)}.icon--color-on-strong.sc-ds-icon{color:var(--color-foreground-on-strong-background-primary)}.icon--color-on-bold.sc-ds-icon{color:var(--color-foreground-on-bold-background-primary)}`;const cc=o(class o extends r{constructor(o){super();if(o!==false){this.__registerHost()}this.name="";this.size="md";this.flag=false}get svgString(){const o=this.flag?mc:nc;return o[this.name]??""}updateSvg(){const o=this.el.querySelector(".icon__svg");if(!o)return;o.innerHTML=this.svgString;const r=o.querySelector("svg");if(r){r.removeAttribute("width");r.removeAttribute("height");r.setAttribute("focusable","false");r.setAttribute("aria-hidden","true");r.style.display="block";r.style.flexShrink="0";r.style.width="100%";r.style.height="100%"}}onIconChange(){this.updateSvg()}componentDidRender(){this.updateSvg()}render(){const o=typeof this.color==="string"&&this.color.startsWith("var(--");const r={icon:true,[`icon--size-${this.size}`]:true,[`icon--color-${this.color}`]:!!this.color&&!o&&this.color!=="inherit","icon--color-inherit":this.color==="inherit"};const m=o?{color:this.color}:undefined;return i(s,{key:"21296dc00f6dc35c731d61de65f8c1c00ccbb666",style:{display:"inline-flex",alignItems:"center",justifyContent:"center"}},i("span",{key:"a9d03d84b8dabb3899f3f8c7698d1489dbb6d73c",class:r,style:m,role:this.label?"img":"presentation","aria-label":this.label,"aria-hidden":!this.label?"true":undefined},i("span",{key:"eb832a9bc662b58f63e6467252fbd1b70fc7eab7",class:"icon__svg"})))}get el(){return this}static get watchers(){return{name:[{onIconChange:0}],flag:[{onIconChange:0}]}}static get style(){return ec()}},[2,"ds-icon",{name:[1],size:[1],color:[1],label:[1],flag:[4]},undefined,{name:[{onIconChange:0}],flag:[{onIconChange:0}]}]);function tc(){if(typeof customElements==="undefined"){return}const o=["ds-icon"];o.forEach((o=>{switch(o){case"ds-icon":if(!customElements.get(m(o))){customElements.define(m(o),cc)}break}}))}tc();export{cc as I,tc as d};
2
- //# sourceMappingURL=p-Dqga4VCz.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["flagIconCatalog","FlagAustria","FlagBelgium","FlagBulgaria","FlagCanada","FlagCroatia","FlagCyprus","FlagCzechRepublic","FlagDenmark","FlagEU","FlagEstonia","FlagFinland","FlagFrance","FlagGermany","FlagGreece","FlagHungary","FlagIreland","FlagItaly","FlagLatvia","FlagLithuania","FlagLuxembourg","FlagMalta","FlagMexico","FlagNetherlands","FlagPoland","FlagPortugal","FlagRomania","FlagSlovakia","FlagSlovenia","FlagSpain","FlagSweden","FlagUnitedKingdom","FlagUnitedStates","systemIconCatalog","AI","AIChip","AINew","AISparkle","AUX","AUXFilled","AndroidFilled","ArrowDown","ArrowLeft","ArrowPath","ArrowRight","ArrowUp","ArrowsDiagonal","ArrowsDiff","ArrowsDiffDisabled","ArrowsVertical","AtSign","Avatar","BackslashBrackets","BatteryCharging","BatteryEmpty","BatteryFull","BatteryHalf","BatteryLow","Beaker","Bell","BellCircle","BellExclamation","BellFilled","BellRinging","BellWifi","BlackWhite","BlankUI","Bluetooth","Bolt","BoltFilled","Bookmark","Box","Braces","Bug","BuildingFacility","BuildingHome","BuildingOffice","BuildingPublic","BuildingShop","Bulb","Calculator","Calendar","CalendarClock","CameraA","CameraB","Card","CardPerson","Cart","Chart","Check","CheckCircle","CheckCircleFilled","CheckDouble","ChevronDown","ChevronLeft","ChevronLeftDouble","ChevronRight","ChevronRightDouble","ChevronUp","ChevronUpDown","Circle","CircleArrow","CircleArrowsDiff","CircleArrowsDiffDisabled","CircleConcentricFilled","CircleConcentricThree","CircleConcentricTwo","CircleExclamation","CircleExclamationFilled","CircleFastForward","CircleFilled","CircleGrid","CirclePlay","CircleQuestion","CircleSlash","Clipboard","ClipboardCheck","Clock","ClockDefer","ClockFilled","ClockSixteenHour","Cloud","CloudEllipses","CloudLightning","CloudRain","CloudRainSun","CloudSun","CloudWind","Cluster","Coin","CoinStack","CoinStackGeneral","Compass","Copy","Crop","Cross","CrossCircle","CrossCircleFilled","Cube","Cup","CursorPointer","CursorPointerMinus","CursorPointerPlus","Dashboard","DeviceAIDashcamPlus","DeviceAssetTracker","DeviceDVR","DeviceDashcam","DeviceDashcamLiveStream","DeviceMobile","DeviceOmnicam","DeviceSensor","DeviceTablet","DeviceVehicleGateway","Devices","Document","DocumentArrow","DocumentChart","DocumentDollar","DocumentGear","DocumentInverted","DocumentPencil","DocumentPlus","DocumentQuestion","DocumentReceipt","DocumentStacked","DoorSensor","Dot","DotFilled","DotPath","Download","Drag","Ellipses","Email","Engine","Enter","EntityAsset","EntityAssetFilled","EntityDriver","EntityDriverFilled","EntityTravelGroup","EntityTravelGroupFilled","EntityVehicle","EntityVehicleCharging","EntityVehicleChargingFilled","EntityVehicleFilled","EntityVehicleImmobilized","EntityVehicleImmobilizedFilled","ErrorTriangle","ErrorTriangleFilled","ErrorTriangleSimpleFilled","Export","ExternalLink","Eye","EyeDisabled","EyeLock","FastForward","FastForwardSkip","Filters","FitToScreen","Flag","FlagFilled","FloppyDisk","Folder","FolderFilled","FuelPump","FullScreen","FullScreenExit","Gauge","GaugeTemperature","Gear","GearCheck","Geofence","GeofenceCircle","GeofenceDiamond","GeofenceSquare","GlobeNetwork","GlobeWorldMap","Graph","GraphArrow","GraphBars","GraphDecreasing","GraphIncreasing","GroupBy","Hamburger","HandOpen","Headset","History","HourGlass","Image","Import","ImportClock","Inbox","IosFilled","Jerrycan","KeyA","KeyB","KeyCmd","KeyShift","LED","Layers","Leaf","LeftCollapse","LeftCollapseB","LeftExpand","LeftExpandB","LeftTurnSignal","LetterB","LetterC","LetterI","License","LicensePlate","Lifebuoy","Link","List","Loads","LocationPin","LocationPinArrows","LocationPinDisabled","LocationPinDollar","LockClosed","LockClosedFilled","LockOpen","Logout","Logs","LogsMagnifyingGlass","MagnifyingGlass","MagnifyingGlassGraph","MagnifyingGlassZoomIn","MagnifyingGlassZoomOut","MapNavigation","MapPage","MapPin","MarkRead","Match","MessageBubble","MessageBubbleStack","Messaging","Mic","MicMute","Minimize","Monitor","Notification","NumberTen","OctagonSubtract","Odometer","OverviewAI","PanelCollapse","PanelExpand","Paperclip","PaperplaneSend","Paragraph","ParagraphCheck","ParagraphPencil","Pause","PauseFilled","Pencil","PencilSquiggle","Person","PersonAt","PersonConnect","PersonFrame","PersonGear","PersonGroup","PersonGroupArrows","PersonManager","PersonShield","PersonStar","Phone","PhoneDisconnect","PicmanFilled","Pin","PipBottomLeft","PipBottomRight","PipTopLeft","PipTopRight","Play","PlayFilled","Plug","Plus","PlusCircle","Preferences","Printer","PunchCard","Puzzle","PuzzleJoined","Redo","Refresh","Restore","RewardRibbon","Rewind","RewindSkip","RewindSkipFilled","RightCollapse","RightCollapseB","RightExpand","RightExpandB","RightTurnSignal","Rotate","Satellite","Scan","Scissor","Scope","Seatbelt","SeatbeltBuckle","Shapes","ShareCircles","ShareCirclesFilled","SharePaperplane","Shield","ShieldCheck","ShieldCheckmarkFilled","ShieldCircle","ShieldCircleFilled","ShieldCross","ShieldCrossFilled","ShieldFilled","ShieldLock","ShieldLockFilled","ShoppingBag","Snowflake","SpeakerPhone","SpeedometerArrow","SpeedometerLeft","SpeedometerRight","SpikeCirclePercentage","SpikeCirclePercentageFilled","Square","SquareArrowTopRight","SquareCheck","SquareCheckFilled","SquareDollar","SquareDollarFilled","SquareDottedMinus","SquareFilled","SquareGrid","SquarePencil","SquarePlus","SquareSubtract","SquareSubtractFilled","Star","StarFilled","Stopwatch","Street","Subtract","SubtractCircle","SubtractCircleFilled","Table","Tag","Target","TargetDollar","Text","ThemeDark","ThemeLight","ThumbsDown","ThumbsDownFilled","ThumbsUp","ThumbsUpFilled","TirePressure","Toggle","TrafficLight","Trash","Trophy","TurnSignal","TurnSignalFilled","TwoDevices","Undo","Upgrade","Upload","VehicleTrailer","VehicleTruck","VehicleTruckMagnifyingGlass","Video","ViewMenu","Volume","VolumeFilled","VolumeMute","VolumeMuteFilled","WandSparkle","Waveform","Webhooks","Whistle","WiFiHorizontal","WiFiTower","WifiVertical","WifiVerticalFilled","WifiVerticalFilledDisabled","WorkflowA","WorkflowB","Wrench","ZoomBackOut","iconCss","Icon","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","name","size","flag","svgString","source","updateSvg","container","el","querySelector","innerHTML","svg","removeAttribute","setAttribute","style","display","flexShrink","width","height","onIconChange","componentDidRender","render","isCustomColor","color","startsWith","cls","icon","undefined","h","Host","key","alignItems","justifyContent","class","role","label"],"sources":["src/wc/components/Icon/flag-icon-catalog.ts","src/wc/components/Icon/system-icon-catalog.ts","src/wc/components/Icon/Icon.css?tag=ds-icon&encapsulation=scoped","src/wc/components/Icon/Icon.tsx"],"sourcesContent":["/** Auto-generated by scripts/generate-icon-catalog.mjs — do not edit. */\nimport { FlagAustria } from '@ds-mo/icons/svg/flags/FlagAustria';\nimport { FlagBelgium } from '@ds-mo/icons/svg/flags/FlagBelgium';\nimport { FlagBulgaria } from '@ds-mo/icons/svg/flags/FlagBulgaria';\nimport { FlagCanada } from '@ds-mo/icons/svg/flags/FlagCanada';\nimport { FlagCroatia } from '@ds-mo/icons/svg/flags/FlagCroatia';\nimport { FlagCyprus } from '@ds-mo/icons/svg/flags/FlagCyprus';\nimport { FlagCzechRepublic } from '@ds-mo/icons/svg/flags/FlagCzechRepublic';\nimport { FlagDenmark } from '@ds-mo/icons/svg/flags/FlagDenmark';\nimport { FlagEU } from '@ds-mo/icons/svg/flags/FlagEU';\nimport { FlagEstonia } from '@ds-mo/icons/svg/flags/FlagEstonia';\nimport { FlagFinland } from '@ds-mo/icons/svg/flags/FlagFinland';\nimport { FlagFrance } from '@ds-mo/icons/svg/flags/FlagFrance';\nimport { FlagGermany } from '@ds-mo/icons/svg/flags/FlagGermany';\nimport { FlagGreece } from '@ds-mo/icons/svg/flags/FlagGreece';\nimport { FlagHungary } from '@ds-mo/icons/svg/flags/FlagHungary';\nimport { FlagIreland } from '@ds-mo/icons/svg/flags/FlagIreland';\nimport { FlagItaly } from '@ds-mo/icons/svg/flags/FlagItaly';\nimport { FlagLatvia } from '@ds-mo/icons/svg/flags/FlagLatvia';\nimport { FlagLithuania } from '@ds-mo/icons/svg/flags/FlagLithuania';\nimport { FlagLuxembourg } from '@ds-mo/icons/svg/flags/FlagLuxembourg';\nimport { FlagMalta } from '@ds-mo/icons/svg/flags/FlagMalta';\nimport { FlagMexico } from '@ds-mo/icons/svg/flags/FlagMexico';\nimport { FlagNetherlands } from '@ds-mo/icons/svg/flags/FlagNetherlands';\nimport { FlagPoland } from '@ds-mo/icons/svg/flags/FlagPoland';\nimport { FlagPortugal } from '@ds-mo/icons/svg/flags/FlagPortugal';\nimport { FlagRomania } from '@ds-mo/icons/svg/flags/FlagRomania';\nimport { FlagSlovakia } from '@ds-mo/icons/svg/flags/FlagSlovakia';\nimport { FlagSlovenia } from '@ds-mo/icons/svg/flags/FlagSlovenia';\nimport { FlagSpain } from '@ds-mo/icons/svg/flags/FlagSpain';\nimport { FlagSweden } from '@ds-mo/icons/svg/flags/FlagSweden';\nimport { FlagUnitedKingdom } from '@ds-mo/icons/svg/flags/FlagUnitedKingdom';\nimport { FlagUnitedStates } from '@ds-mo/icons/svg/flags/FlagUnitedStates';\n\nexport const flagIconCatalog: Record<string, string> = {\n FlagAustria,\n FlagBelgium,\n FlagBulgaria,\n FlagCanada,\n FlagCroatia,\n FlagCyprus,\n FlagCzechRepublic,\n FlagDenmark,\n FlagEU,\n FlagEstonia,\n FlagFinland,\n FlagFrance,\n FlagGermany,\n FlagGreece,\n FlagHungary,\n FlagIreland,\n FlagItaly,\n FlagLatvia,\n FlagLithuania,\n FlagLuxembourg,\n FlagMalta,\n FlagMexico,\n FlagNetherlands,\n FlagPoland,\n FlagPortugal,\n FlagRomania,\n FlagSlovakia,\n FlagSlovenia,\n FlagSpain,\n FlagSweden,\n FlagUnitedKingdom,\n FlagUnitedStates,\n};\n","/** Auto-generated by scripts/generate-icon-catalog.mjs — do not edit. */\nimport { AI } from '@ds-mo/icons/svg/AI';\nimport { AIChip } from '@ds-mo/icons/svg/AIChip';\nimport { AINew } from '@ds-mo/icons/svg/AINew';\nimport { AISparkle } from '@ds-mo/icons/svg/AISparkle';\nimport { AUX } from '@ds-mo/icons/svg/AUX';\nimport { AUXFilled } from '@ds-mo/icons/svg/AUXFilled';\nimport { AndroidFilled } from '@ds-mo/icons/svg/AndroidFilled';\nimport { ArrowDown } from '@ds-mo/icons/svg/ArrowDown';\nimport { ArrowLeft } from '@ds-mo/icons/svg/ArrowLeft';\nimport { ArrowPath } from '@ds-mo/icons/svg/ArrowPath';\nimport { ArrowRight } from '@ds-mo/icons/svg/ArrowRight';\nimport { ArrowUp } from '@ds-mo/icons/svg/ArrowUp';\nimport { ArrowsDiagonal } from '@ds-mo/icons/svg/ArrowsDiagonal';\nimport { ArrowsDiff } from '@ds-mo/icons/svg/ArrowsDiff';\nimport { ArrowsDiffDisabled } from '@ds-mo/icons/svg/ArrowsDiffDisabled';\nimport { ArrowsVertical } from '@ds-mo/icons/svg/ArrowsVertical';\nimport { AtSign } from '@ds-mo/icons/svg/AtSign';\nimport { Avatar } from '@ds-mo/icons/svg/Avatar';\nimport { BackslashBrackets } from '@ds-mo/icons/svg/BackslashBrackets';\nimport { BatteryCharging } from '@ds-mo/icons/svg/BatteryCharging';\nimport { BatteryEmpty } from '@ds-mo/icons/svg/BatteryEmpty';\nimport { BatteryFull } from '@ds-mo/icons/svg/BatteryFull';\nimport { BatteryHalf } from '@ds-mo/icons/svg/BatteryHalf';\nimport { BatteryLow } from '@ds-mo/icons/svg/BatteryLow';\nimport { Beaker } from '@ds-mo/icons/svg/Beaker';\nimport { Bell } from '@ds-mo/icons/svg/Bell';\nimport { BellCircle } from '@ds-mo/icons/svg/BellCircle';\nimport { BellExclamation } from '@ds-mo/icons/svg/BellExclamation';\nimport { BellFilled } from '@ds-mo/icons/svg/BellFilled';\nimport { BellRinging } from '@ds-mo/icons/svg/BellRinging';\nimport { BellWifi } from '@ds-mo/icons/svg/BellWifi';\nimport { BlackWhite } from '@ds-mo/icons/svg/BlackWhite';\nimport { BlankUI } from '@ds-mo/icons/svg/BlankUI';\nimport { Bluetooth } from '@ds-mo/icons/svg/Bluetooth';\nimport { Bolt } from '@ds-mo/icons/svg/Bolt';\nimport { BoltFilled } from '@ds-mo/icons/svg/BoltFilled';\nimport { Bookmark } from '@ds-mo/icons/svg/Bookmark';\nimport { Box } from '@ds-mo/icons/svg/Box';\nimport { Braces } from '@ds-mo/icons/svg/Braces';\nimport { Bug } from '@ds-mo/icons/svg/Bug';\nimport { BuildingFacility } from '@ds-mo/icons/svg/BuildingFacility';\nimport { BuildingHome } from '@ds-mo/icons/svg/BuildingHome';\nimport { BuildingOffice } from '@ds-mo/icons/svg/BuildingOffice';\nimport { BuildingPublic } from '@ds-mo/icons/svg/BuildingPublic';\nimport { BuildingShop } from '@ds-mo/icons/svg/BuildingShop';\nimport { Bulb } from '@ds-mo/icons/svg/Bulb';\nimport { Calculator } from '@ds-mo/icons/svg/Calculator';\nimport { Calendar } from '@ds-mo/icons/svg/Calendar';\nimport { CalendarClock } from '@ds-mo/icons/svg/CalendarClock';\nimport { CameraA } from '@ds-mo/icons/svg/CameraA';\nimport { CameraB } from '@ds-mo/icons/svg/CameraB';\nimport { Card } from '@ds-mo/icons/svg/Card';\nimport { CardPerson } from '@ds-mo/icons/svg/CardPerson';\nimport { Cart } from '@ds-mo/icons/svg/Cart';\nimport { Chart } from '@ds-mo/icons/svg/Chart';\nimport { Check } from '@ds-mo/icons/svg/Check';\nimport { CheckCircle } from '@ds-mo/icons/svg/CheckCircle';\nimport { CheckCircleFilled } from '@ds-mo/icons/svg/CheckCircleFilled';\nimport { CheckDouble } from '@ds-mo/icons/svg/CheckDouble';\nimport { ChevronDown } from '@ds-mo/icons/svg/ChevronDown';\nimport { ChevronLeft } from '@ds-mo/icons/svg/ChevronLeft';\nimport { ChevronLeftDouble } from '@ds-mo/icons/svg/ChevronLeftDouble';\nimport { ChevronRight } from '@ds-mo/icons/svg/ChevronRight';\nimport { ChevronRightDouble } from '@ds-mo/icons/svg/ChevronRightDouble';\nimport { ChevronUp } from '@ds-mo/icons/svg/ChevronUp';\nimport { ChevronUpDown } from '@ds-mo/icons/svg/ChevronUpDown';\nimport { Circle } from '@ds-mo/icons/svg/Circle';\nimport { CircleArrow } from '@ds-mo/icons/svg/CircleArrow';\nimport { CircleArrowsDiff } from '@ds-mo/icons/svg/CircleArrowsDiff';\nimport { CircleArrowsDiffDisabled } from '@ds-mo/icons/svg/CircleArrowsDiffDisabled';\nimport { CircleConcentricFilled } from '@ds-mo/icons/svg/CircleConcentricFilled';\nimport { CircleConcentricThree } from '@ds-mo/icons/svg/CircleConcentricThree';\nimport { CircleConcentricTwo } from '@ds-mo/icons/svg/CircleConcentricTwo';\nimport { CircleExclamation } from '@ds-mo/icons/svg/CircleExclamation';\nimport { CircleExclamationFilled } from '@ds-mo/icons/svg/CircleExclamationFilled';\nimport { CircleFastForward } from '@ds-mo/icons/svg/CircleFastForward';\nimport { CircleFilled } from '@ds-mo/icons/svg/CircleFilled';\nimport { CircleGrid } from '@ds-mo/icons/svg/CircleGrid';\nimport { CirclePlay } from '@ds-mo/icons/svg/CirclePlay';\nimport { CircleQuestion } from '@ds-mo/icons/svg/CircleQuestion';\nimport { CircleSlash } from '@ds-mo/icons/svg/CircleSlash';\nimport { Clipboard } from '@ds-mo/icons/svg/Clipboard';\nimport { ClipboardCheck } from '@ds-mo/icons/svg/ClipboardCheck';\nimport { Clock } from '@ds-mo/icons/svg/Clock';\nimport { ClockDefer } from '@ds-mo/icons/svg/ClockDefer';\nimport { ClockFilled } from '@ds-mo/icons/svg/ClockFilled';\nimport { ClockSixteenHour } from '@ds-mo/icons/svg/ClockSixteenHour';\nimport { Cloud } from '@ds-mo/icons/svg/Cloud';\nimport { CloudEllipses } from '@ds-mo/icons/svg/CloudEllipses';\nimport { CloudLightning } from '@ds-mo/icons/svg/CloudLightning';\nimport { CloudRain } from '@ds-mo/icons/svg/CloudRain';\nimport { CloudRainSun } from '@ds-mo/icons/svg/CloudRainSun';\nimport { CloudSun } from '@ds-mo/icons/svg/CloudSun';\nimport { CloudWind } from '@ds-mo/icons/svg/CloudWind';\nimport { Cluster } from '@ds-mo/icons/svg/Cluster';\nimport { Coin } from '@ds-mo/icons/svg/Coin';\nimport { CoinStack } from '@ds-mo/icons/svg/CoinStack';\nimport { CoinStackGeneral } from '@ds-mo/icons/svg/CoinStackGeneral';\nimport { Compass } from '@ds-mo/icons/svg/Compass';\nimport { Copy } from '@ds-mo/icons/svg/Copy';\nimport { Crop } from '@ds-mo/icons/svg/Crop';\nimport { Cross } from '@ds-mo/icons/svg/Cross';\nimport { CrossCircle } from '@ds-mo/icons/svg/CrossCircle';\nimport { CrossCircleFilled } from '@ds-mo/icons/svg/CrossCircleFilled';\nimport { Cube } from '@ds-mo/icons/svg/Cube';\nimport { Cup } from '@ds-mo/icons/svg/Cup';\nimport { CursorPointer } from '@ds-mo/icons/svg/CursorPointer';\nimport { CursorPointerMinus } from '@ds-mo/icons/svg/CursorPointerMinus';\nimport { CursorPointerPlus } from '@ds-mo/icons/svg/CursorPointerPlus';\nimport { Dashboard } from '@ds-mo/icons/svg/Dashboard';\nimport { DeviceAIDashcamPlus } from '@ds-mo/icons/svg/DeviceAIDashcamPlus';\nimport { DeviceAssetTracker } from '@ds-mo/icons/svg/DeviceAssetTracker';\nimport { DeviceDVR } from '@ds-mo/icons/svg/DeviceDVR';\nimport { DeviceDashcam } from '@ds-mo/icons/svg/DeviceDashcam';\nimport { DeviceDashcamLiveStream } from '@ds-mo/icons/svg/DeviceDashcamLiveStream';\nimport { DeviceMobile } from '@ds-mo/icons/svg/DeviceMobile';\nimport { DeviceOmnicam } from '@ds-mo/icons/svg/DeviceOmnicam';\nimport { DeviceSensor } from '@ds-mo/icons/svg/DeviceSensor';\nimport { DeviceTablet } from '@ds-mo/icons/svg/DeviceTablet';\nimport { DeviceVehicleGateway } from '@ds-mo/icons/svg/DeviceVehicleGateway';\nimport { Devices } from '@ds-mo/icons/svg/Devices';\nimport { Document } from '@ds-mo/icons/svg/Document';\nimport { DocumentArrow } from '@ds-mo/icons/svg/DocumentArrow';\nimport { DocumentChart } from '@ds-mo/icons/svg/DocumentChart';\nimport { DocumentDollar } from '@ds-mo/icons/svg/DocumentDollar';\nimport { DocumentGear } from '@ds-mo/icons/svg/DocumentGear';\nimport { DocumentInverted } from '@ds-mo/icons/svg/DocumentInverted';\nimport { DocumentPencil } from '@ds-mo/icons/svg/DocumentPencil';\nimport { DocumentPlus } from '@ds-mo/icons/svg/DocumentPlus';\nimport { DocumentQuestion } from '@ds-mo/icons/svg/DocumentQuestion';\nimport { DocumentReceipt } from '@ds-mo/icons/svg/DocumentReceipt';\nimport { DocumentStacked } from '@ds-mo/icons/svg/DocumentStacked';\nimport { DoorSensor } from '@ds-mo/icons/svg/DoorSensor';\nimport { Dot } from '@ds-mo/icons/svg/Dot';\nimport { DotFilled } from '@ds-mo/icons/svg/DotFilled';\nimport { DotPath } from '@ds-mo/icons/svg/DotPath';\nimport { Download } from '@ds-mo/icons/svg/Download';\nimport { Drag } from '@ds-mo/icons/svg/Drag';\nimport { Ellipses } from '@ds-mo/icons/svg/Ellipses';\nimport { Email } from '@ds-mo/icons/svg/Email';\nimport { Engine } from '@ds-mo/icons/svg/Engine';\nimport { Enter } from '@ds-mo/icons/svg/Enter';\nimport { EntityAsset } from '@ds-mo/icons/svg/EntityAsset';\nimport { EntityAssetFilled } from '@ds-mo/icons/svg/EntityAssetFilled';\nimport { EntityDriver } from '@ds-mo/icons/svg/EntityDriver';\nimport { EntityDriverFilled } from '@ds-mo/icons/svg/EntityDriverFilled';\nimport { EntityTravelGroup } from '@ds-mo/icons/svg/EntityTravelGroup';\nimport { EntityTravelGroupFilled } from '@ds-mo/icons/svg/EntityTravelGroupFilled';\nimport { EntityVehicle } from '@ds-mo/icons/svg/EntityVehicle';\nimport { EntityVehicleCharging } from '@ds-mo/icons/svg/EntityVehicleCharging';\nimport { EntityVehicleChargingFilled } from '@ds-mo/icons/svg/EntityVehicleChargingFilled';\nimport { EntityVehicleFilled } from '@ds-mo/icons/svg/EntityVehicleFilled';\nimport { EntityVehicleImmobilized } from '@ds-mo/icons/svg/EntityVehicleImmobilized';\nimport { EntityVehicleImmobilizedFilled } from '@ds-mo/icons/svg/EntityVehicleImmobilizedFilled';\nimport { ErrorTriangle } from '@ds-mo/icons/svg/ErrorTriangle';\nimport { ErrorTriangleFilled } from '@ds-mo/icons/svg/ErrorTriangleFilled';\nimport { ErrorTriangleSimpleFilled } from '@ds-mo/icons/svg/ErrorTriangleSimpleFilled';\nimport { Export } from '@ds-mo/icons/svg/Export';\nimport { ExternalLink } from '@ds-mo/icons/svg/ExternalLink';\nimport { Eye } from '@ds-mo/icons/svg/Eye';\nimport { EyeDisabled } from '@ds-mo/icons/svg/EyeDisabled';\nimport { EyeLock } from '@ds-mo/icons/svg/EyeLock';\nimport { FastForward } from '@ds-mo/icons/svg/FastForward';\nimport { FastForwardSkip } from '@ds-mo/icons/svg/FastForwardSkip';\nimport { Filters } from '@ds-mo/icons/svg/Filters';\nimport { FitToScreen } from '@ds-mo/icons/svg/FitToScreen';\nimport { Flag } from '@ds-mo/icons/svg/Flag';\nimport { FlagFilled } from '@ds-mo/icons/svg/FlagFilled';\nimport { FloppyDisk } from '@ds-mo/icons/svg/FloppyDisk';\nimport { Folder } from '@ds-mo/icons/svg/Folder';\nimport { FolderFilled } from '@ds-mo/icons/svg/FolderFilled';\nimport { FuelPump } from '@ds-mo/icons/svg/FuelPump';\nimport { FullScreen } from '@ds-mo/icons/svg/FullScreen';\nimport { FullScreenExit } from '@ds-mo/icons/svg/FullScreenExit';\nimport { Gauge } from '@ds-mo/icons/svg/Gauge';\nimport { GaugeTemperature } from '@ds-mo/icons/svg/GaugeTemperature';\nimport { Gear } from '@ds-mo/icons/svg/Gear';\nimport { GearCheck } from '@ds-mo/icons/svg/GearCheck';\nimport { Geofence } from '@ds-mo/icons/svg/Geofence';\nimport { GeofenceCircle } from '@ds-mo/icons/svg/GeofenceCircle';\nimport { GeofenceDiamond } from '@ds-mo/icons/svg/GeofenceDiamond';\nimport { GeofenceSquare } from '@ds-mo/icons/svg/GeofenceSquare';\nimport { GlobeNetwork } from '@ds-mo/icons/svg/GlobeNetwork';\nimport { GlobeWorldMap } from '@ds-mo/icons/svg/GlobeWorldMap';\nimport { Graph } from '@ds-mo/icons/svg/Graph';\nimport { GraphArrow } from '@ds-mo/icons/svg/GraphArrow';\nimport { GraphBars } from '@ds-mo/icons/svg/GraphBars';\nimport { GraphDecreasing } from '@ds-mo/icons/svg/GraphDecreasing';\nimport { GraphIncreasing } from '@ds-mo/icons/svg/GraphIncreasing';\nimport { GroupBy } from '@ds-mo/icons/svg/GroupBy';\nimport { Hamburger } from '@ds-mo/icons/svg/Hamburger';\nimport { HandOpen } from '@ds-mo/icons/svg/HandOpen';\nimport { Headset } from '@ds-mo/icons/svg/Headset';\nimport { History } from '@ds-mo/icons/svg/History';\nimport { HourGlass } from '@ds-mo/icons/svg/HourGlass';\nimport { Image } from '@ds-mo/icons/svg/Image';\nimport { Import } from '@ds-mo/icons/svg/Import';\nimport { ImportClock } from '@ds-mo/icons/svg/ImportClock';\nimport { Inbox } from '@ds-mo/icons/svg/Inbox';\nimport { IosFilled } from '@ds-mo/icons/svg/IosFilled';\nimport { Jerrycan } from '@ds-mo/icons/svg/Jerrycan';\nimport { KeyA } from '@ds-mo/icons/svg/KeyA';\nimport { KeyB } from '@ds-mo/icons/svg/KeyB';\nimport { KeyCmd } from '@ds-mo/icons/svg/KeyCmd';\nimport { KeyShift } from '@ds-mo/icons/svg/KeyShift';\nimport { LED } from '@ds-mo/icons/svg/LED';\nimport { Layers } from '@ds-mo/icons/svg/Layers';\nimport { Leaf } from '@ds-mo/icons/svg/Leaf';\nimport { LeftCollapse } from '@ds-mo/icons/svg/LeftCollapse';\nimport { LeftCollapseB } from '@ds-mo/icons/svg/LeftCollapseB';\nimport { LeftExpand } from '@ds-mo/icons/svg/LeftExpand';\nimport { LeftExpandB } from '@ds-mo/icons/svg/LeftExpandB';\nimport { LeftTurnSignal } from '@ds-mo/icons/svg/LeftTurnSignal';\nimport { LetterB } from '@ds-mo/icons/svg/LetterB';\nimport { LetterC } from '@ds-mo/icons/svg/LetterC';\nimport { LetterI } from '@ds-mo/icons/svg/LetterI';\nimport { License } from '@ds-mo/icons/svg/License';\nimport { LicensePlate } from '@ds-mo/icons/svg/LicensePlate';\nimport { Lifebuoy } from '@ds-mo/icons/svg/Lifebuoy';\nimport { Link } from '@ds-mo/icons/svg/Link';\nimport { List } from '@ds-mo/icons/svg/List';\nimport { Loads } from '@ds-mo/icons/svg/Loads';\nimport { LocationPin } from '@ds-mo/icons/svg/LocationPin';\nimport { LocationPinArrows } from '@ds-mo/icons/svg/LocationPinArrows';\nimport { LocationPinDisabled } from '@ds-mo/icons/svg/LocationPinDisabled';\nimport { LocationPinDollar } from '@ds-mo/icons/svg/LocationPinDollar';\nimport { LockClosed } from '@ds-mo/icons/svg/LockClosed';\nimport { LockClosedFilled } from '@ds-mo/icons/svg/LockClosedFilled';\nimport { LockOpen } from '@ds-mo/icons/svg/LockOpen';\nimport { Logout } from '@ds-mo/icons/svg/Logout';\nimport { Logs } from '@ds-mo/icons/svg/Logs';\nimport { LogsMagnifyingGlass } from '@ds-mo/icons/svg/LogsMagnifyingGlass';\nimport { MagnifyingGlass } from '@ds-mo/icons/svg/MagnifyingGlass';\nimport { MagnifyingGlassGraph } from '@ds-mo/icons/svg/MagnifyingGlassGraph';\nimport { MagnifyingGlassZoomIn } from '@ds-mo/icons/svg/MagnifyingGlassZoomIn';\nimport { MagnifyingGlassZoomOut } from '@ds-mo/icons/svg/MagnifyingGlassZoomOut';\nimport { MapNavigation } from '@ds-mo/icons/svg/MapNavigation';\nimport { MapPage } from '@ds-mo/icons/svg/MapPage';\nimport { MapPin } from '@ds-mo/icons/svg/MapPin';\nimport { MarkRead } from '@ds-mo/icons/svg/MarkRead';\nimport { Match } from '@ds-mo/icons/svg/Match';\nimport { MessageBubble } from '@ds-mo/icons/svg/MessageBubble';\nimport { MessageBubbleStack } from '@ds-mo/icons/svg/MessageBubbleStack';\nimport { Messaging } from '@ds-mo/icons/svg/Messaging';\nimport { Mic } from '@ds-mo/icons/svg/Mic';\nimport { MicMute } from '@ds-mo/icons/svg/MicMute';\nimport { Minimize } from '@ds-mo/icons/svg/Minimize';\nimport { Monitor } from '@ds-mo/icons/svg/Monitor';\nimport { Notification } from '@ds-mo/icons/svg/Notification';\nimport { NumberTen } from '@ds-mo/icons/svg/NumberTen';\nimport { OctagonSubtract } from '@ds-mo/icons/svg/OctagonSubtract';\nimport { Odometer } from '@ds-mo/icons/svg/Odometer';\nimport { OverviewAI } from '@ds-mo/icons/svg/OverviewAI';\nimport { PanelCollapse } from '@ds-mo/icons/svg/PanelCollapse';\nimport { PanelExpand } from '@ds-mo/icons/svg/PanelExpand';\nimport { Paperclip } from '@ds-mo/icons/svg/Paperclip';\nimport { PaperplaneSend } from '@ds-mo/icons/svg/PaperplaneSend';\nimport { Paragraph } from '@ds-mo/icons/svg/Paragraph';\nimport { ParagraphCheck } from '@ds-mo/icons/svg/ParagraphCheck';\nimport { ParagraphPencil } from '@ds-mo/icons/svg/ParagraphPencil';\nimport { Pause } from '@ds-mo/icons/svg/Pause';\nimport { PauseFilled } from '@ds-mo/icons/svg/PauseFilled';\nimport { Pencil } from '@ds-mo/icons/svg/Pencil';\nimport { PencilSquiggle } from '@ds-mo/icons/svg/PencilSquiggle';\nimport { Person } from '@ds-mo/icons/svg/Person';\nimport { PersonAt } from '@ds-mo/icons/svg/PersonAt';\nimport { PersonConnect } from '@ds-mo/icons/svg/PersonConnect';\nimport { PersonFrame } from '@ds-mo/icons/svg/PersonFrame';\nimport { PersonGear } from '@ds-mo/icons/svg/PersonGear';\nimport { PersonGroup } from '@ds-mo/icons/svg/PersonGroup';\nimport { PersonGroupArrows } from '@ds-mo/icons/svg/PersonGroupArrows';\nimport { PersonManager } from '@ds-mo/icons/svg/PersonManager';\nimport { PersonShield } from '@ds-mo/icons/svg/PersonShield';\nimport { PersonStar } from '@ds-mo/icons/svg/PersonStar';\nimport { Phone } from '@ds-mo/icons/svg/Phone';\nimport { PhoneDisconnect } from '@ds-mo/icons/svg/PhoneDisconnect';\nimport { PicmanFilled } from '@ds-mo/icons/svg/PicmanFilled';\nimport { Pin } from '@ds-mo/icons/svg/Pin';\nimport { PipBottomLeft } from '@ds-mo/icons/svg/PipBottomLeft';\nimport { PipBottomRight } from '@ds-mo/icons/svg/PipBottomRight';\nimport { PipTopLeft } from '@ds-mo/icons/svg/PipTopLeft';\nimport { PipTopRight } from '@ds-mo/icons/svg/PipTopRight';\nimport { Play } from '@ds-mo/icons/svg/Play';\nimport { PlayFilled } from '@ds-mo/icons/svg/PlayFilled';\nimport { Plug } from '@ds-mo/icons/svg/Plug';\nimport { Plus } from '@ds-mo/icons/svg/Plus';\nimport { PlusCircle } from '@ds-mo/icons/svg/PlusCircle';\nimport { Preferences } from '@ds-mo/icons/svg/Preferences';\nimport { Printer } from '@ds-mo/icons/svg/Printer';\nimport { PunchCard } from '@ds-mo/icons/svg/PunchCard';\nimport { Puzzle } from '@ds-mo/icons/svg/Puzzle';\nimport { PuzzleJoined } from '@ds-mo/icons/svg/PuzzleJoined';\nimport { Redo } from '@ds-mo/icons/svg/Redo';\nimport { Refresh } from '@ds-mo/icons/svg/Refresh';\nimport { Restore } from '@ds-mo/icons/svg/Restore';\nimport { RewardRibbon } from '@ds-mo/icons/svg/RewardRibbon';\nimport { Rewind } from '@ds-mo/icons/svg/Rewind';\nimport { RewindSkip } from '@ds-mo/icons/svg/RewindSkip';\nimport { RewindSkipFilled } from '@ds-mo/icons/svg/RewindSkipFilled';\nimport { RightCollapse } from '@ds-mo/icons/svg/RightCollapse';\nimport { RightCollapseB } from '@ds-mo/icons/svg/RightCollapseB';\nimport { RightExpand } from '@ds-mo/icons/svg/RightExpand';\nimport { RightExpandB } from '@ds-mo/icons/svg/RightExpandB';\nimport { RightTurnSignal } from '@ds-mo/icons/svg/RightTurnSignal';\nimport { Rotate } from '@ds-mo/icons/svg/Rotate';\nimport { Satellite } from '@ds-mo/icons/svg/Satellite';\nimport { Scan } from '@ds-mo/icons/svg/Scan';\nimport { Scissor } from '@ds-mo/icons/svg/Scissor';\nimport { Scope } from '@ds-mo/icons/svg/Scope';\nimport { Seatbelt } from '@ds-mo/icons/svg/Seatbelt';\nimport { SeatbeltBuckle } from '@ds-mo/icons/svg/SeatbeltBuckle';\nimport { Shapes } from '@ds-mo/icons/svg/Shapes';\nimport { ShareCircles } from '@ds-mo/icons/svg/ShareCircles';\nimport { ShareCirclesFilled } from '@ds-mo/icons/svg/ShareCirclesFilled';\nimport { SharePaperplane } from '@ds-mo/icons/svg/SharePaperplane';\nimport { Shield } from '@ds-mo/icons/svg/Shield';\nimport { ShieldCheck } from '@ds-mo/icons/svg/ShieldCheck';\nimport { ShieldCheckmarkFilled } from '@ds-mo/icons/svg/ShieldCheckmarkFilled';\nimport { ShieldCircle } from '@ds-mo/icons/svg/ShieldCircle';\nimport { ShieldCircleFilled } from '@ds-mo/icons/svg/ShieldCircleFilled';\nimport { ShieldCross } from '@ds-mo/icons/svg/ShieldCross';\nimport { ShieldCrossFilled } from '@ds-mo/icons/svg/ShieldCrossFilled';\nimport { ShieldFilled } from '@ds-mo/icons/svg/ShieldFilled';\nimport { ShieldLock } from '@ds-mo/icons/svg/ShieldLock';\nimport { ShieldLockFilled } from '@ds-mo/icons/svg/ShieldLockFilled';\nimport { ShoppingBag } from '@ds-mo/icons/svg/ShoppingBag';\nimport { Snowflake } from '@ds-mo/icons/svg/Snowflake';\nimport { SpeakerPhone } from '@ds-mo/icons/svg/SpeakerPhone';\nimport { SpeedometerArrow } from '@ds-mo/icons/svg/SpeedometerArrow';\nimport { SpeedometerLeft } from '@ds-mo/icons/svg/SpeedometerLeft';\nimport { SpeedometerRight } from '@ds-mo/icons/svg/SpeedometerRight';\nimport { SpikeCirclePercentage } from '@ds-mo/icons/svg/SpikeCirclePercentage';\nimport { SpikeCirclePercentageFilled } from '@ds-mo/icons/svg/SpikeCirclePercentageFilled';\nimport { Square } from '@ds-mo/icons/svg/Square';\nimport { SquareArrowTopRight } from '@ds-mo/icons/svg/SquareArrowTopRight';\nimport { SquareCheck } from '@ds-mo/icons/svg/SquareCheck';\nimport { SquareCheckFilled } from '@ds-mo/icons/svg/SquareCheckFilled';\nimport { SquareDollar } from '@ds-mo/icons/svg/SquareDollar';\nimport { SquareDollarFilled } from '@ds-mo/icons/svg/SquareDollarFilled';\nimport { SquareDottedMinus } from '@ds-mo/icons/svg/SquareDottedMinus';\nimport { SquareFilled } from '@ds-mo/icons/svg/SquareFilled';\nimport { SquareGrid } from '@ds-mo/icons/svg/SquareGrid';\nimport { SquarePencil } from '@ds-mo/icons/svg/SquarePencil';\nimport { SquarePlus } from '@ds-mo/icons/svg/SquarePlus';\nimport { SquareSubtract } from '@ds-mo/icons/svg/SquareSubtract';\nimport { SquareSubtractFilled } from '@ds-mo/icons/svg/SquareSubtractFilled';\nimport { Star } from '@ds-mo/icons/svg/Star';\nimport { StarFilled } from '@ds-mo/icons/svg/StarFilled';\nimport { Stopwatch } from '@ds-mo/icons/svg/Stopwatch';\nimport { Street } from '@ds-mo/icons/svg/Street';\nimport { Subtract } from '@ds-mo/icons/svg/Subtract';\nimport { SubtractCircle } from '@ds-mo/icons/svg/SubtractCircle';\nimport { SubtractCircleFilled } from '@ds-mo/icons/svg/SubtractCircleFilled';\nimport { Table } from '@ds-mo/icons/svg/Table';\nimport { Tag } from '@ds-mo/icons/svg/Tag';\nimport { Target } from '@ds-mo/icons/svg/Target';\nimport { TargetDollar } from '@ds-mo/icons/svg/TargetDollar';\nimport { Text } from '@ds-mo/icons/svg/Text';\nimport { ThemeDark } from '@ds-mo/icons/svg/ThemeDark';\nimport { ThemeLight } from '@ds-mo/icons/svg/ThemeLight';\nimport { ThumbsDown } from '@ds-mo/icons/svg/ThumbsDown';\nimport { ThumbsDownFilled } from '@ds-mo/icons/svg/ThumbsDownFilled';\nimport { ThumbsUp } from '@ds-mo/icons/svg/ThumbsUp';\nimport { ThumbsUpFilled } from '@ds-mo/icons/svg/ThumbsUpFilled';\nimport { TirePressure } from '@ds-mo/icons/svg/TirePressure';\nimport { Toggle } from '@ds-mo/icons/svg/Toggle';\nimport { TrafficLight } from '@ds-mo/icons/svg/TrafficLight';\nimport { Trash } from '@ds-mo/icons/svg/Trash';\nimport { Trophy } from '@ds-mo/icons/svg/Trophy';\nimport { TurnSignal } from '@ds-mo/icons/svg/TurnSignal';\nimport { TurnSignalFilled } from '@ds-mo/icons/svg/TurnSignalFilled';\nimport { TwoDevices } from '@ds-mo/icons/svg/TwoDevices';\nimport { Undo } from '@ds-mo/icons/svg/Undo';\nimport { Upgrade } from '@ds-mo/icons/svg/Upgrade';\nimport { Upload } from '@ds-mo/icons/svg/Upload';\nimport { VehicleTrailer } from '@ds-mo/icons/svg/VehicleTrailer';\nimport { VehicleTruck } from '@ds-mo/icons/svg/VehicleTruck';\nimport { VehicleTruckMagnifyingGlass } from '@ds-mo/icons/svg/VehicleTruckMagnifyingGlass';\nimport { Video } from '@ds-mo/icons/svg/Video';\nimport { ViewMenu } from '@ds-mo/icons/svg/ViewMenu';\nimport { Volume } from '@ds-mo/icons/svg/Volume';\nimport { VolumeFilled } from '@ds-mo/icons/svg/VolumeFilled';\nimport { VolumeMute } from '@ds-mo/icons/svg/VolumeMute';\nimport { VolumeMuteFilled } from '@ds-mo/icons/svg/VolumeMuteFilled';\nimport { WandSparkle } from '@ds-mo/icons/svg/WandSparkle';\nimport { Waveform } from '@ds-mo/icons/svg/Waveform';\nimport { Webhooks } from '@ds-mo/icons/svg/Webhooks';\nimport { Whistle } from '@ds-mo/icons/svg/Whistle';\nimport { WiFiHorizontal } from '@ds-mo/icons/svg/WiFiHorizontal';\nimport { WiFiTower } from '@ds-mo/icons/svg/WiFiTower';\nimport { WifiVertical } from '@ds-mo/icons/svg/WifiVertical';\nimport { WifiVerticalFilled } from '@ds-mo/icons/svg/WifiVerticalFilled';\nimport { WifiVerticalFilledDisabled } from '@ds-mo/icons/svg/WifiVerticalFilledDisabled';\nimport { WorkflowA } from '@ds-mo/icons/svg/WorkflowA';\nimport { WorkflowB } from '@ds-mo/icons/svg/WorkflowB';\nimport { Wrench } from '@ds-mo/icons/svg/Wrench';\nimport { ZoomBackOut } from '@ds-mo/icons/svg/ZoomBackOut';\n\nexport const systemIconCatalog: Record<string, string> = {\n AI,\n AIChip,\n AINew,\n AISparkle,\n AUX,\n AUXFilled,\n AndroidFilled,\n ArrowDown,\n ArrowLeft,\n ArrowPath,\n ArrowRight,\n ArrowUp,\n ArrowsDiagonal,\n ArrowsDiff,\n ArrowsDiffDisabled,\n ArrowsVertical,\n AtSign,\n Avatar,\n BackslashBrackets,\n BatteryCharging,\n BatteryEmpty,\n BatteryFull,\n BatteryHalf,\n BatteryLow,\n Beaker,\n Bell,\n BellCircle,\n BellExclamation,\n BellFilled,\n BellRinging,\n BellWifi,\n BlackWhite,\n BlankUI,\n Bluetooth,\n Bolt,\n BoltFilled,\n Bookmark,\n Box,\n Braces,\n Bug,\n BuildingFacility,\n BuildingHome,\n BuildingOffice,\n BuildingPublic,\n BuildingShop,\n Bulb,\n Calculator,\n Calendar,\n CalendarClock,\n CameraA,\n CameraB,\n Card,\n CardPerson,\n Cart,\n Chart,\n Check,\n CheckCircle,\n CheckCircleFilled,\n CheckDouble,\n ChevronDown,\n ChevronLeft,\n ChevronLeftDouble,\n ChevronRight,\n ChevronRightDouble,\n ChevronUp,\n ChevronUpDown,\n Circle,\n CircleArrow,\n CircleArrowsDiff,\n CircleArrowsDiffDisabled,\n CircleConcentricFilled,\n CircleConcentricThree,\n CircleConcentricTwo,\n CircleExclamation,\n CircleExclamationFilled,\n CircleFastForward,\n CircleFilled,\n CircleGrid,\n CirclePlay,\n CircleQuestion,\n CircleSlash,\n Clipboard,\n ClipboardCheck,\n Clock,\n ClockDefer,\n ClockFilled,\n ClockSixteenHour,\n Cloud,\n CloudEllipses,\n CloudLightning,\n CloudRain,\n CloudRainSun,\n CloudSun,\n CloudWind,\n Cluster,\n Coin,\n CoinStack,\n CoinStackGeneral,\n Compass,\n Copy,\n Crop,\n Cross,\n CrossCircle,\n CrossCircleFilled,\n Cube,\n Cup,\n CursorPointer,\n CursorPointerMinus,\n CursorPointerPlus,\n Dashboard,\n DeviceAIDashcamPlus,\n DeviceAssetTracker,\n DeviceDVR,\n DeviceDashcam,\n DeviceDashcamLiveStream,\n DeviceMobile,\n DeviceOmnicam,\n DeviceSensor,\n DeviceTablet,\n DeviceVehicleGateway,\n Devices,\n Document,\n DocumentArrow,\n DocumentChart,\n DocumentDollar,\n DocumentGear,\n DocumentInverted,\n DocumentPencil,\n DocumentPlus,\n DocumentQuestion,\n DocumentReceipt,\n DocumentStacked,\n DoorSensor,\n Dot,\n DotFilled,\n DotPath,\n Download,\n Drag,\n Ellipses,\n Email,\n Engine,\n Enter,\n EntityAsset,\n EntityAssetFilled,\n EntityDriver,\n EntityDriverFilled,\n EntityTravelGroup,\n EntityTravelGroupFilled,\n EntityVehicle,\n EntityVehicleCharging,\n EntityVehicleChargingFilled,\n EntityVehicleFilled,\n EntityVehicleImmobilized,\n EntityVehicleImmobilizedFilled,\n ErrorTriangle,\n ErrorTriangleFilled,\n ErrorTriangleSimpleFilled,\n Export,\n ExternalLink,\n Eye,\n EyeDisabled,\n EyeLock,\n FastForward,\n FastForwardSkip,\n Filters,\n FitToScreen,\n Flag,\n FlagFilled,\n FloppyDisk,\n Folder,\n FolderFilled,\n FuelPump,\n FullScreen,\n FullScreenExit,\n Gauge,\n GaugeTemperature,\n Gear,\n GearCheck,\n Geofence,\n GeofenceCircle,\n GeofenceDiamond,\n GeofenceSquare,\n GlobeNetwork,\n GlobeWorldMap,\n Graph,\n GraphArrow,\n GraphBars,\n GraphDecreasing,\n GraphIncreasing,\n GroupBy,\n Hamburger,\n HandOpen,\n Headset,\n History,\n HourGlass,\n Image,\n Import,\n ImportClock,\n Inbox,\n IosFilled,\n Jerrycan,\n KeyA,\n KeyB,\n KeyCmd,\n KeyShift,\n LED,\n Layers,\n Leaf,\n LeftCollapse,\n LeftCollapseB,\n LeftExpand,\n LeftExpandB,\n LeftTurnSignal,\n LetterB,\n LetterC,\n LetterI,\n License,\n LicensePlate,\n Lifebuoy,\n Link,\n List,\n Loads,\n LocationPin,\n LocationPinArrows,\n LocationPinDisabled,\n LocationPinDollar,\n LockClosed,\n LockClosedFilled,\n LockOpen,\n Logout,\n Logs,\n LogsMagnifyingGlass,\n MagnifyingGlass,\n MagnifyingGlassGraph,\n MagnifyingGlassZoomIn,\n MagnifyingGlassZoomOut,\n MapNavigation,\n MapPage,\n MapPin,\n MarkRead,\n Match,\n MessageBubble,\n MessageBubbleStack,\n Messaging,\n Mic,\n MicMute,\n Minimize,\n Monitor,\n Notification,\n NumberTen,\n OctagonSubtract,\n Odometer,\n OverviewAI,\n PanelCollapse,\n PanelExpand,\n Paperclip,\n PaperplaneSend,\n Paragraph,\n ParagraphCheck,\n ParagraphPencil,\n Pause,\n PauseFilled,\n Pencil,\n PencilSquiggle,\n Person,\n PersonAt,\n PersonConnect,\n PersonFrame,\n PersonGear,\n PersonGroup,\n PersonGroupArrows,\n PersonManager,\n PersonShield,\n PersonStar,\n Phone,\n PhoneDisconnect,\n PicmanFilled,\n Pin,\n PipBottomLeft,\n PipBottomRight,\n PipTopLeft,\n PipTopRight,\n Play,\n PlayFilled,\n Plug,\n Plus,\n PlusCircle,\n Preferences,\n Printer,\n PunchCard,\n Puzzle,\n PuzzleJoined,\n Redo,\n Refresh,\n Restore,\n RewardRibbon,\n Rewind,\n RewindSkip,\n RewindSkipFilled,\n RightCollapse,\n RightCollapseB,\n RightExpand,\n RightExpandB,\n RightTurnSignal,\n Rotate,\n Satellite,\n Scan,\n Scissor,\n Scope,\n Seatbelt,\n SeatbeltBuckle,\n Shapes,\n ShareCircles,\n ShareCirclesFilled,\n SharePaperplane,\n Shield,\n ShieldCheck,\n ShieldCheckmarkFilled,\n ShieldCircle,\n ShieldCircleFilled,\n ShieldCross,\n ShieldCrossFilled,\n ShieldFilled,\n ShieldLock,\n ShieldLockFilled,\n ShoppingBag,\n Snowflake,\n SpeakerPhone,\n SpeedometerArrow,\n SpeedometerLeft,\n SpeedometerRight,\n SpikeCirclePercentage,\n SpikeCirclePercentageFilled,\n Square,\n SquareArrowTopRight,\n SquareCheck,\n SquareCheckFilled,\n SquareDollar,\n SquareDollarFilled,\n SquareDottedMinus,\n SquareFilled,\n SquareGrid,\n SquarePencil,\n SquarePlus,\n SquareSubtract,\n SquareSubtractFilled,\n Star,\n StarFilled,\n Stopwatch,\n Street,\n Subtract,\n SubtractCircle,\n SubtractCircleFilled,\n Table,\n Tag,\n Target,\n TargetDollar,\n Text,\n ThemeDark,\n ThemeLight,\n ThumbsDown,\n ThumbsDownFilled,\n ThumbsUp,\n ThumbsUpFilled,\n TirePressure,\n Toggle,\n TrafficLight,\n Trash,\n Trophy,\n TurnSignal,\n TurnSignalFilled,\n TwoDevices,\n Undo,\n Upgrade,\n Upload,\n VehicleTrailer,\n VehicleTruck,\n VehicleTruckMagnifyingGlass,\n Video,\n ViewMenu,\n Volume,\n VolumeFilled,\n VolumeMute,\n VolumeMuteFilled,\n WandSparkle,\n Waveform,\n Webhooks,\n Whistle,\n WiFiHorizontal,\n WiFiTower,\n WifiVertical,\n WifiVerticalFilled,\n WifiVerticalFilledDisabled,\n WorkflowA,\n WorkflowB,\n Wrench,\n ZoomBackOut,\n};\n","/* ── Base icon ───────────────────────────────────────────────────────────── */\n\n.icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n line-height: 0;\n color: var(--color-foreground-primary);\n /* Explicit size so the SVG (width/height: 100% via JS) has a defined container */\n width: var(--_icon-sz, var(--dimension-iconography-md));\n height: var(--_icon-sz, var(--dimension-iconography-md));\n}\n\n.icon__svg {\n display: contents;\n line-height: 0;\n}\n\n/* SVG width/height are set via inline style in updateSvg() because Stencil's\n scoped CSS cannot reach innerHTML-injected elements (they lack the sc-* class). */\n\n/* ── Sizes ───────────────────────────────────────────────────────────────── */\n\n.icon--size-xs { --_icon-sz: var(--dimension-iconography-xs); }\n.icon--size-sm { --_icon-sz: var(--dimension-iconography-sm); }\n.icon--size-md { --_icon-sz: var(--dimension-iconography-md); }\n.icon--size-lg { --_icon-sz: var(--dimension-iconography-lg); }\n.icon--size-xl { --_icon-sz: var(--dimension-iconography-xl); }\n.icon--size-2xl { --_icon-sz: var(--dimension-iconography-2xl); }\n.icon--size-3xl { --_icon-sz: var(--dimension-iconography-3xl); }\n\n/* ── Colors — hierarchy ──────────────────────────────────────────────────── */\n\n.icon--color-primary { color: var(--color-foreground-primary); }\n.icon--color-secondary { color: var(--color-foreground-secondary); }\n.icon--color-tertiary { color: var(--color-foreground-tertiary); }\n.icon--color-quaternary { color: var(--color-foreground-quaternary); }\n.icon--color-inherit { color: inherit; }\n\n/* ── Colors — intent (bold contrast default) ─────────────────────────────── */\n\n.icon--color-brand { color: var(--color-foreground-bold-brand); }\n.icon--color-negative { color: var(--color-foreground-bold-negative); }\n.icon--color-positive { color: var(--color-foreground-bold-positive); }\n.icon--color-warning { color: var(--color-foreground-bold-warning); }\n.icon--color-caution { color: var(--color-foreground-bold-caution); }\n.icon--color-ai { color: var(--color-foreground-bold-ai); }\n.icon--color-guide { color: var(--color-foreground-bold-guide); }\n.icon--color-neutral { color: var(--color-foreground-bold-neutral); }\n\n/* ── Colors — intent faint ───────────────────────────────────────────────── */\n\n.icon--color-faint-brand { color: var(--color-foreground-faint-brand); }\n.icon--color-faint-negative { color: var(--color-foreground-faint-negative); }\n.icon--color-faint-positive { color: var(--color-foreground-faint-positive); }\n.icon--color-faint-warning { color: var(--color-foreground-faint-warning); }\n.icon--color-faint-caution { color: var(--color-foreground-faint-caution); }\n.icon--color-faint-ai { color: var(--color-foreground-faint-ai); }\n.icon--color-faint-neutral { color: var(--color-foreground-faint-neutral); }\n\n/* ── Colors — intent medium ─────────────────────────────────────────────── */\n\n.icon--color-medium-brand { color: var(--color-foreground-medium-brand); }\n.icon--color-medium-negative { color: var(--color-foreground-medium-negative); }\n.icon--color-medium-positive { color: var(--color-foreground-medium-positive); }\n.icon--color-medium-warning { color: var(--color-foreground-medium-warning); }\n.icon--color-medium-caution { color: var(--color-foreground-medium-caution); }\n.icon--color-medium-ai { color: var(--color-foreground-medium-ai); }\n.icon--color-medium-neutral { color: var(--color-foreground-medium-neutral); }\n\n/* ── Colors — intent bold (explicit) ────────────────────────────────────── */\n\n.icon--color-bold-brand { color: var(--color-foreground-bold-brand); }\n.icon--color-bold-negative { color: var(--color-foreground-bold-negative); }\n.icon--color-bold-positive { color: var(--color-foreground-bold-positive); }\n.icon--color-bold-warning { color: var(--color-foreground-bold-warning); }\n.icon--color-bold-caution { color: var(--color-foreground-bold-caution); }\n.icon--color-bold-ai { color: var(--color-foreground-bold-ai); }\n.icon--color-bold-neutral { color: var(--color-foreground-bold-neutral); }\n\n/* ── Colors — intent strong ──────────────────────────────────────────────── */\n\n.icon--color-strong-brand { color: var(--color-foreground-strong-brand); }\n.icon--color-strong-negative { color: var(--color-foreground-strong-negative); }\n.icon--color-strong-positive { color: var(--color-foreground-strong-positive); }\n.icon--color-strong-warning { color: var(--color-foreground-strong-warning); }\n.icon--color-strong-caution { color: var(--color-foreground-strong-caution); }\n.icon--color-strong-ai { color: var(--color-foreground-strong-ai); }\n.icon--color-strong-neutral { color: var(--color-foreground-strong-neutral); }\n\n/* ── Colors — contextual ────────────────────────────────────────────────── */\n\n.icon--color-on-strong { color: var(--color-foreground-on-strong-background-primary); }\n.icon--color-on-bold { color: var(--color-foreground-on-bold-background-primary); }\n","import { Component, Prop, Element, Watch, h, Host } from '@stencil/core';\nimport { flagIconCatalog } from './flag-icon-catalog';\nimport { systemIconCatalog } from './system-icon-catalog';\n\nexport type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';\n\nexport type IconColorToken =\n // Hierarchy\n | 'primary' | 'secondary' | 'tertiary' | 'quaternary'\n // Intent — bold contrast (default)\n | 'brand' | 'negative' | 'positive' | 'warning' | 'caution' | 'ai' | 'guide' | 'neutral'\n // Intent — faint\n | 'faint-brand' | 'faint-negative' | 'faint-positive' | 'faint-warning'\n | 'faint-caution' | 'faint-ai' | 'faint-neutral'\n // Intent — medium\n | 'medium-brand' | 'medium-negative' | 'medium-positive' | 'medium-warning'\n | 'medium-caution' | 'medium-ai' | 'medium-neutral'\n // Intent — bold (explicit)\n | 'bold-brand' | 'bold-negative' | 'bold-positive' | 'bold-warning'\n | 'bold-caution' | 'bold-ai' | 'bold-neutral'\n // Intent — strong\n | 'strong-brand' | 'strong-negative' | 'strong-positive' | 'strong-warning'\n | 'strong-caution' | 'strong-ai' | 'strong-neutral'\n // Contextual\n | 'on-strong' | 'on-bold'\n // Pass-through\n | 'inherit';\n\nexport type IconColor = IconColorToken | `var(--${string})`;\n\n@Component({\n tag: 'ds-icon',\n styleUrl: 'Icon.css',\n scoped: true,\n})\nexport class Icon {\n @Element() el!: HTMLElement;\n\n /** Name of the system icon (e.g. `\"Gear\"`, `\"ArrowRight\"`) or flag (e.g. `\"US\"`) */\n @Prop() name: string = '';\n /** Iconography size token. Maps to `--dimension-iconography-{size}`. Default `md` = 20 px. */\n @Prop() size: IconSize = 'md';\n /** Semantic foreground color token, or a raw CSS var reference. */\n @Prop() color: IconColor | undefined;\n /** Accessible label. Sets `role=\"img\"` and `aria-label`. Omit for decorative icons. */\n @Prop() label: string | undefined;\n /** Set `true` to look up from the flag icon set instead of the system icon set. */\n @Prop() flag: boolean = false;\n\n private get svgString(): string {\n const source = this.flag ? flagIconCatalog : systemIconCatalog;\n return source[this.name] ?? '';\n }\n\n private updateSvg() {\n const container = this.el.querySelector<HTMLElement>('.icon__svg');\n if (!container) return;\n container.innerHTML = this.svgString;\n // Stencil's scoped CSS cannot reach innerHTML-injected elements (no sc-* class).\n // Apply width/height as inline styles so sizing works regardless of scope class.\n const svg = container.querySelector<SVGElement>('svg');\n if (svg) {\n svg.removeAttribute('width');\n svg.removeAttribute('height');\n // Prevent SVG from being natively focusable (Firefox/IE default) while\n // sitting inside an aria-hidden parent — fixes aria-hidden-focus violation.\n svg.setAttribute('focusable', 'false');\n svg.setAttribute('aria-hidden', 'true');\n svg.style.display = 'block';\n svg.style.flexShrink = '0';\n svg.style.width = '100%';\n svg.style.height = '100%';\n }\n }\n\n @Watch('name')\n @Watch('flag')\n onIconChange() {\n this.updateSvg();\n }\n\n componentDidRender() {\n this.updateSvg();\n }\n\n render() {\n const isCustomColor = typeof this.color === 'string' && this.color.startsWith('var(--');\n\n const cls: Record<string, boolean> = {\n icon: true,\n [`icon--size-${this.size}`]: true,\n [`icon--color-${this.color}`]: !!this.color && !isCustomColor && this.color !== 'inherit',\n 'icon--color-inherit': this.color === 'inherit',\n };\n\n const style = isCustomColor ? { color: this.color as string } : undefined;\n\n return (\n <Host style={{ display: 'inline-flex', alignItems: 'center', justifyContent: 'center' }}>\n <span\n class={cls}\n style={style}\n role={this.label ? 'img' : 'presentation'}\n aria-label={this.label}\n aria-hidden={!this.label ? 'true' : undefined}\n >\n <span class=\"icon__svg\" />\n </span>\n </Host>\n );\n }\n}\n"],"mappings":"oxyBAkCO,MAAMA,GAA0C,CACrDC,cACAC,cACAC,eACAC,aACAC,cACAC,aACAC,oBACAC,cACAC,SACAC,cACAC,cACAC,aACAC,cACAC,aACAC,cACAC,cACAC,YACAC,aACAC,gBACAC,iBACAC,YACAC,aACAC,kBACAC,aACAC,eACAC,cACAC,eACAC,eACAC,YACAC,aACAC,oBACAC,oBC6UK,MAAMC,GAA4C,CACvDC,KACAC,SACAC,QACAC,YACAC,MACAC,YACAC,gBACAC,YACAC,YACAC,YACAC,aACAC,UACAC,iBACAC,aACAC,qBACAC,iBACAC,SACAC,UACAC,qBACAC,mBACAC,gBACAC,eACAC,eACAC,cACAC,UACAC,QACAC,cACAC,mBACAC,cACAC,eACAC,YACAC,cACAC,WACAC,aACAC,QACAC,cACAC,YACAC,OACAC,UACAC,OACAC,oBACAC,gBACAC,kBACAC,kBACAC,gBACAC,QACAC,cACAC,YACAC,iBACAC,WACAC,WACAC,QACAC,cACAC,QACAC,SACAC,SACAC,eACAC,qBACAC,eACAC,eACAC,eACAC,qBACAC,gBACAC,sBACAC,aACAC,iBACAC,UACAC,eACAC,oBACAC,4BACAC,0BACAC,yBACAC,uBACAC,qBACAC,2BACAC,qBACAC,gBACAC,cACAC,cACAC,kBACAC,eACAC,aACAC,kBACAC,SACAC,cACAC,eACAC,oBACAC,SACAC,iBACAC,kBACAC,aACAC,gBACAC,YACAC,aACAC,WACAC,QACAC,aACAC,oBACAC,WACAC,QACAC,QACAC,SACAC,eACAC,qBACAC,QACAC,OACAC,iBACAC,sBACAC,qBACAC,aACAC,uBACAC,sBACAC,aACAC,iBACAC,2BACAC,gBACAC,iBACAC,gBACAC,gBACAC,wBACAC,WACAC,YACAC,iBACAC,iBACAC,kBACAC,gBACAC,oBACAC,kBACAC,gBACAC,oBACAC,mBACAC,mBACAC,cACAC,OACAC,aACAC,WACAC,YACAC,QACAC,YACAC,SACAC,UACAC,SACAC,eACAC,qBACAC,gBACAC,sBACAC,qBACAC,2BACAC,iBACAC,yBACAC,+BACAC,uBACAC,4BACAC,kCACAC,iBACAC,uBACAC,6BACAC,UACAC,gBACAC,OACAC,eACAC,WACAC,eACAC,mBACAC,WACAC,eACAC,QACAC,cACAC,cACAC,UACAC,gBACAC,YACAC,cACAC,kBACAC,SACAC,oBACAC,QACAC,aACAC,YACAC,kBACAC,mBACAC,kBACAC,gBACAC,iBACAC,SACAC,cACAC,aACAC,mBACAC,mBACAC,WACAC,aACAC,YACAC,WACAC,WACAC,aACAC,SACAC,UACAC,eACAC,SACAC,aACAC,YACAC,QACAC,QACAC,UACAC,YACAC,OACAC,UACAC,QACAC,gBACAC,iBACAC,cACAC,eACAC,kBACAC,WACAC,WACAC,WACAC,WACAC,gBACAC,YACAC,QACAC,QACAC,SACAC,eACAC,qBACAC,uBACAC,qBACAC,cACAC,oBACAC,YACAC,UACAC,QACAC,uBACAC,mBACAC,wBACAC,yBACAC,0BACAC,iBACAC,WACAC,UACAC,YACAC,SACAC,iBACAC,sBACAC,aACAC,OACAC,WACAC,YACAC,WACAC,gBACAC,aACAC,mBACAC,YACAC,cACAC,iBACAC,eACAC,aACAC,kBACAC,aACAC,kBACAC,mBACAC,SACAC,eACAC,UACAC,kBACAC,UACAC,YACAC,iBACAC,eACAC,cACAC,eACAC,qBACAC,iBACAC,gBACAC,cACAC,SACAC,mBACAC,gBACAC,OACAC,iBACAC,kBACAC,cACAC,eACAC,QACAC,cACAC,QACAC,QACAC,cACAC,eACAC,WACAC,aACAC,UACAC,gBACAC,QACAC,WACAC,WACAC,gBACAC,UACAC,cACAC,oBACAC,iBACAC,kBACAC,eACAC,gBACAC,mBACAC,UACAC,aACAC,QACAC,WACAC,SACAC,YACAC,kBACAC,UACAC,gBACAC,sBACAC,mBACAC,UACAC,eACAC,yBACAC,gBACAC,sBACAC,eACAC,qBACAC,gBACAC,cACAC,oBACAC,eACAC,aACAC,gBACAC,oBACAC,mBACAC,oBACAC,yBACAC,+BACAC,UACAC,uBACAC,eACAC,qBACAC,gBACAC,sBACAC,qBACAC,gBACAC,cACAC,gBACAC,cACAC,kBACAC,wBACAC,QACAC,cACAC,aACAC,UACAC,YACAC,kBACAC,wBACAC,SACAC,OACAC,UACAC,gBACAC,QACAC,aACAC,cACAC,cACAC,oBACAC,YACAC,kBACAC,gBACAC,UACAC,gBACAC,SACAC,UACAC,cACAC,oBACAC,cACAC,QACAC,WACAC,UACAC,kBACAC,gBACAC,+BACAC,SACAC,YACAC,UACAC,gBACAC,cACAC,oBACAC,eACAC,YACAC,YACAC,WACAC,kBACAC,aACAC,gBACAC,sBACAC,8BACAC,aACAC,aACAC,UACAC,gBC5xBF,MAAMC,GAAU,IAAM,+kI,MCmCTC,GAAIC,EAAA,MAAAD,UAAAE,EALjB,WAAAC,CAAAC,G,4CASUC,KAAAC,KAAe,GAEfD,KAAAE,KAAiB,KAMjBF,KAAAG,KAAgB,KAgEzB,CA9DC,aAAYC,GACV,MAAMC,EAASL,KAAKG,KAAOxb,GAAkBiC,GAC7C,OAAOyZ,EAAOL,KAAKC,OAAS,E,CAGtB,SAAAK,GACN,MAAMC,EAAYP,KAAKQ,GAAGC,cAA2B,cACrD,IAAKF,EAAW,OAChBA,EAAUG,UAAYV,KAAKI,UAG3B,MAAMO,EAAMJ,EAAUE,cAA0B,OAChD,GAAIE,EAAK,CACPA,EAAIC,gBAAgB,SACpBD,EAAIC,gBAAgB,UAGpBD,EAAIE,aAAa,YAAa,SAC9BF,EAAIE,aAAa,cAAe,QAChCF,EAAIG,MAAMC,QAAU,QACpBJ,EAAIG,MAAME,WAAa,IACvBL,EAAIG,MAAMG,MAAQ,OAClBN,EAAIG,MAAMI,OAAS,M,EAMvB,YAAAC,GACEnB,KAAKM,W,CAGP,kBAAAc,GACEpB,KAAKM,W,CAGP,MAAAe,GACE,MAAMC,SAAuBtB,KAAKuB,QAAU,UAAYvB,KAAKuB,MAAMC,WAAW,UAE9E,MAAMC,EAA+B,CACnCC,KAAM,KACN,CAAC,cAAc1B,KAAKE,QAAS,KAC7B,CAAC,eAAeF,KAAKuB,WAAYvB,KAAKuB,QAAUD,GAAiBtB,KAAKuB,QAAU,UAChF,sBAAuBvB,KAAKuB,QAAU,WAGxC,MAAMT,EAAQQ,EAAgB,CAAEC,MAAOvB,KAAKuB,OAAoBI,UAEhE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAAChB,MAAO,CAAEC,QAAS,cAAegB,WAAY,SAAUC,eAAgB,WAC3EJ,EAAA,QAAAE,IAAA,2CACEG,MAAOR,EACPX,MAAOA,EACPoB,KAAMlC,KAAKmC,MAAQ,MAAQ,eAAc,aAC7BnC,KAAKmC,MAAK,eACRnC,KAAKmC,MAAQ,OAASR,WAEpCC,EAAA,QAAAE,IAAA,2CAAMG,MAAM,e","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{p as e,H as t,c as s,h as i,a as n,t as o}from"./index.js";const r=()=>`.menu-popup.sc-ds-menu{box-sizing:border-box;display:flex;flex-direction:column;min-width:200px;max-width:600px;overflow:hidden;background-color:var(--color-background-primary);border-radius:var(--dimension-radius-075);box-shadow:var(--effect-elevation-elevated-floating);animation:menuFadeIn var(--effect-motion-short-2) forwards;backface-visibility:hidden;will-change:transform}.menu-popup--closing.sc-ds-menu{animation:menuFadeOut var(--effect-motion-short-3) forwards}@keyframes menuFadeIn{from{opacity:0;transform:inherit scale(0.97)}to{opacity:1}}@keyframes menuFadeOut{from{opacity:1}to{opacity:0}}.menu-section.sc-ds-menu{display:flex;flex-direction:column;gap:var(--dimension-space-050);padding:var(--dimension-space-050)}.menu-section--divided.sc-ds-menu{border-bottom:var(--dimension-stroke-width-015) solid var(--color-border-tertiary)}.section-header.sc-ds-menu{display:flex;align-items:center;height:var(--dimension-size-400);padding:var(--dimension-space-050) var(--dimension-space-075);-webkit-user-select:none;user-select:none}.section-label.sc-ds-menu{color:var(--color-foreground-secondary)}.menu-item.sc-ds-menu{display:flex;align-items:center;gap:var(--dimension-space-050);position:relative;width:100%;min-height:var(--dimension-size-400);padding:var(--dimension-space-075);box-sizing:border-box;border:none;border-radius:var(--dimension-radius-025);background:transparent;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;color:inherit;--_hover-bg:var(--color-interaction-hover);--_pressed-bg:var(--color-interaction-pressed);--_selected-bg:var(--color-interaction-active)}.menu-item.sc-ds-menu:has(.menu-item__subtext){align-items:flex-start}.menu-item.sc-ds-menu::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;transition:none}.menu-item--selected.sc-ds-menu::after{background:var(--_selected-bg);transition:none}.menu-item.sc-ds-menu:hover:not(:disabled):not(.menu-item--selected)::after,.menu-item--focused.sc-ds-menu:not(:disabled):not(.menu-item--selected)::after{background:var(--_hover-bg);transition:none}.menu-item.sc-ds-menu:active:not(:disabled)::after{background:var(--_pressed-bg);transition:none}.menu-item.sc-ds-menu:focus-visible{outline:var(--dimension-stroke-width-025) solid var(--color-interaction-focus);outline-offset:var(--dimension-space-025)}.menu-item--inactive.sc-ds-menu{opacity:0.5;cursor:not-allowed;pointer-events:none}.menu-item--destructive.sc-ds-menu .menu-item__label.sc-ds-menu{color:var(--color-foreground-bold-negative) !important}.menu-item__content.sc-ds-menu{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;gap:var(--dimension-space-025);min-width:0}.menu-item__label.sc-ds-menu{color:var(--color-foreground-secondary)}.menu-item.sc-ds-menu:has(.menu-item__subtext) .menu-item__label.sc-ds-menu,.menu-item--selected.sc-ds-menu .menu-item__label.sc-ds-menu{color:var(--color-foreground-primary)}.menu-item__subtext.sc-ds-menu{color:var(--color-foreground-secondary);line-height:1.4}.menu-item__toggle.sc-ds-menu{position:relative;z-index:1;flex-shrink:0;width:calc(var(--dimension-size-400) + var(--dimension-size-050));height:var(--dimension-size-250);border-radius:var(--dimension-radius-125);background-color:var(--color-background-translucent);transition:background-color var(--effect-motion-short-2)}.menu-item__toggle--on.sc-ds-menu{background-color:var(--color-background-medium-brand)}.menu-item__toggle-thumb.sc-ds-menu{position:absolute;top:var(--dimension-space-025);left:var(--dimension-space-025);width:var(--dimension-size-200);height:var(--dimension-size-200);border-radius:50%;background-color:var(--color-foreground-on-bold-background-primary);transition:transform var(--effect-motion-short-2)}.menu-item__toggle--on.sc-ds-menu .menu-item__toggle-thumb.sc-ds-menu{transform:translateX(var(--dimension-offset-200, 16px))}`;const a=220;const d=4;const c=e(class e extends t{constructor(e){super();if(e!==false){this.__registerHost()}this.dsClose=s(this,"dsClose");this.dsSelect=s(this,"dsSelect");this.open=false;this.items=[];this.sections=[];this.side="bottom";this.align="start";this.sideOffset=4;this.alignOffset=0;this.shouldRender=false;this.closing=false;this.pos={x:0,y:0};this.focusedIndex=0;this.positionReady=false;this.clickOutsideHandler=null;this.scrollResizeHandler=null;this.closeTimer=null;this.itemEls=[]}componentDidLoad(){if(this.open)this.onOpenChange(true)}disconnectedCallback(){this.teardownListeners()}onOpenChange(e){if(e){this.shouldRender=true;this.closing=false;this.positionReady=false;requestAnimationFrame((()=>{this.calculatePosition();this.positionReady=true;this.focusInitialItem();this.setupListeners()}))}else if(this.shouldRender){this.closing=true;this.teardownListeners();this.closeTimer=setTimeout((()=>{this.shouldRender=false;this.closing=false;this.closeTimer=null}),a)}}get resolvedAnchor(){if(this.anchor)return this.anchor;if(this.anchorId)return document.getElementById(this.anchorId);return null}get activeSections(){if(this.sections.length>0)return this.sections;if(this.items.length>0)return[{items:this.items}];return[]}get flatItems(){return this.activeSections.flatMap((e=>e.items))}calculatePosition(){const e=this.resolvedAnchor;if(!e)return;const t=this.el.querySelector(".menu-popup");if(!t)return;const s=e.getBoundingClientRect();const i=t.offsetWidth||200;const n=t.offsetHeight||160;let o=0,r=0;switch(this.side){case"top":r=s.top-n-this.sideOffset;o=this.align==="start"?s.left+this.alignOffset:this.align==="end"?s.right-i+this.alignOffset:s.left+s.width/2-i/2+this.alignOffset;break;case"bottom":r=s.bottom+this.sideOffset;o=this.align==="start"?s.left+this.alignOffset:this.align==="end"?s.right-i+this.alignOffset:s.left+s.width/2-i/2+this.alignOffset;break;case"left":o=s.left-i-this.sideOffset;r=this.align==="start"?s.top+this.alignOffset:this.align==="end"?s.bottom-n+this.alignOffset:s.top+s.height/2-n/2+this.alignOffset;break;case"right":o=s.right+this.sideOffset;r=this.align==="start"?s.top+this.alignOffset:this.align==="end"?s.bottom-n+this.alignOffset:s.top+s.height/2-n/2+this.alignOffset;break}this.pos={x:Math.min(Math.max(o,d),window.innerWidth-i-d),y:Math.min(Math.max(r,d),window.innerHeight-n-d)}}focusInitialItem(){const e=this.flatItems;const t=e.findIndex((e=>e.isSelected&&!e.isInactive));const s=e.findIndex((e=>!e.isInactive));this.focusedIndex=t>=0?t:s>=0?s:0;requestAnimationFrame((()=>{const e=this.el.querySelectorAll(".menu-item");e[this.focusedIndex]?.focus()}))}setupListeners(){this.clickOutsideHandler=e=>{const t=e.target;const s=this.el.querySelector(".menu-popup");const i=this.resolvedAnchor;if(s?.contains(t)||i?.contains(t))return;this.close()};this.scrollResizeHandler=()=>this.calculatePosition();document.addEventListener("mousedown",this.clickOutsideHandler,true);window.addEventListener("scroll",this.scrollResizeHandler,true);window.addEventListener("resize",this.scrollResizeHandler)}teardownListeners(){if(this.clickOutsideHandler){document.removeEventListener("mousedown",this.clickOutsideHandler,true);this.clickOutsideHandler=null}if(this.scrollResizeHandler){window.removeEventListener("scroll",this.scrollResizeHandler,true);window.removeEventListener("resize",this.scrollResizeHandler);this.scrollResizeHandler=null}if(this.closeTimer){clearTimeout(this.closeTimer);this.closeTimer=null}}close(){this.resolvedAnchor?.focus();this.dsClose.emit();this.open=false}handleKeyDown(e){if(!this.open)return;const t=this.flatItems;const s=t.map(((e,t)=>({it:e,i:t}))).filter((({it:e})=>!e.isInactive)).map((({i:e})=>e));if(!s.length)return;const i=s.indexOf(this.focusedIndex);const n=i<0?0:i;switch(e.key){case"ArrowDown":e.preventDefault();e.stopPropagation();this.focusedIndex=s[(n+1)%s.length];this.focusItem(this.focusedIndex);break;case"ArrowUp":e.preventDefault();e.stopPropagation();this.focusedIndex=s[(n-1+s.length)%s.length];this.focusItem(this.focusedIndex);break;case"Home":e.preventDefault();e.stopPropagation();this.focusedIndex=s[0];this.focusItem(this.focusedIndex);break;case"End":e.preventDefault();e.stopPropagation();this.focusedIndex=s[s.length-1];this.focusItem(this.focusedIndex);break;case"Escape":e.preventDefault();this.close();break;case"Tab":e.preventDefault();this.close();break}}focusItem(e){const t=this.el.querySelectorAll(".menu-item");t[e]?.focus()}handleItemClick(e){if(e.isInactive)return;this.dsSelect.emit(e);this.close()}render(){if(!this.shouldRender)return i(n,{style:{display:"contents"}});const e=this.activeSections;let t=0;const s={position:"fixed",left:"0",top:"0",transform:`translate(${Math.round(this.pos.x)}px, ${Math.round(this.pos.y)}px)`,zIndex:"9998",visibility:this.positionReady?"visible":"hidden"};if(this.menuWidth)s["width"]=this.menuWidth;if(this.minWidth)s["min-width"]=this.minWidth;return i(n,{style:{display:"contents"}},i("div",{class:{"menu-popup":true,"menu-popup--closing":this.closing},style:s,role:"menu","aria-label":"Menu","aria-orientation":"vertical"},e.map(((s,n)=>i("div",{key:n,class:{"menu-section":true,"menu-section--divided":n<e.length-1},role:s.header?"group":undefined,"aria-label":s.header},s.header&&i("div",{class:"section-header","aria-hidden":"true"},i("span",{class:"text-body-small-emphasis section-label"},s.header)),s.items.map((e=>{const s=t++;const n=this.focusedIndex===s;return i("button",{key:s,type:"button",class:{"menu-item":true,"menu-item--selected":!!e.isSelected,"menu-item--inactive":!!e.isInactive,"menu-item--destructive":!!e.isDestructive,"menu-item--focused":n},role:"menuitem","aria-current":e.isSelected?"true":undefined,disabled:e.isInactive,tabIndex:n?0:-1,onClick:()=>this.handleItemClick(e),onFocus:()=>{this.focusedIndex=s}},i("div",{class:"menu-item__content"},i("span",{class:e.isSelected?"text-body-medium-emphasis menu-item__label":"text-body-medium menu-item__label"},e.label),e.subtext&&i("span",{class:"text-body-small menu-item__subtext"},e.subtext)),e.showToggle&&i("div",{class:{"menu-item__toggle":true,"menu-item__toggle--on":!!e.toggleValue},"aria-hidden":"true"},i("div",{class:"menu-item__toggle-thumb"})))})))))))}get el(){return this}static get watchers(){return{open:[{onOpenChange:0}]}}static get style(){return r()}},[2,"ds-menu",{open:[1028],items:[16],sections:[16],side:[1],align:[1],sideOffset:[2,"side-offset"],alignOffset:[2,"align-offset"],menuWidth:[1,"menu-width"],minWidth:[1,"min-width"],anchor:[16],anchorId:[1,"anchor-id"],shouldRender:[32],closing:[32],pos:[32],focusedIndex:[32],positionReady:[32]},[[0,"keydown","handleKeyDown"]],{open:[{onOpenChange:0}]}]);function m(){if(typeof customElements==="undefined"){return}const e=["ds-menu"];e.forEach((e=>{switch(e){case"ds-menu":if(!customElements.get(o(e))){customElements.define(o(e),c)}break}}))}m();export{c as M,m as d};
2
- //# sourceMappingURL=p-STnE_bmQ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["menuCss","CLOSE_ANIMATION_MS","VP_PAD","Menu","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","open","items","sections","side","align","sideOffset","alignOffset","shouldRender","closing","pos","x","y","focusedIndex","positionReady","clickOutsideHandler","scrollResizeHandler","closeTimer","itemEls","componentDidLoad","onOpenChange","disconnectedCallback","teardownListeners","isOpen","requestAnimationFrame","calculatePosition","focusInitialItem","setupListeners","setTimeout","resolvedAnchor","anchor","anchorId","document","getElementById","activeSections","length","flatItems","flatMap","s","anchorEl","popup","el","querySelector","a","getBoundingClientRect","pw","offsetWidth","ph","offsetHeight","top","left","right","width","bottom","height","Math","min","max","window","innerWidth","innerHeight","flat","selectedIdx","findIndex","it","isSelected","isInactive","firstEnabledIdx","btns","querySelectorAll","focus","e","t","target","contains","close","addEventListener","removeEventListener","clearTimeout","dsClose","emit","handleKeyDown","enabled","map","i","filter","cur","indexOf","safe","key","preventDefault","stopPropagation","focusItem","idx","handleItemClick","item","dsSelect","render","h","Host","style","display","flatIdx","popupStyle","position","transform","round","zIndex","visibility","menuWidth","minWidth","class","role","section","si","header","undefined","isFocused","type","isDestructive","disabled","tabIndex","onClick","onFocus","label","subtext","showToggle","toggleValue"],"sources":["src/wc/components/Menu/Menu.css?tag=ds-menu&encapsulation=scoped","src/wc/components/Menu/Menu.tsx"],"sourcesContent":["/* ── Popup shell ─────────────────────────────────────────────────────────── */\n\n.menu-popup {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n min-width: 200px;\n max-width: 600px;\n overflow: hidden;\n background-color: var(--color-background-primary);\n border-radius: var(--dimension-radius-075);\n box-shadow: var(--effect-elevation-elevated-floating);\n animation: menuFadeIn var(--effect-motion-short-2) forwards;\n backface-visibility: hidden;\n will-change: transform;\n}\n\n.menu-popup--closing {\n animation: menuFadeOut var(--effect-motion-short-3) forwards;\n}\n\n@keyframes menuFadeIn {\n from { opacity: 0; transform: inherit scale(0.97); }\n to { opacity: 1; }\n}\n\n@keyframes menuFadeOut {\n from { opacity: 1; }\n to { opacity: 0; }\n}\n\n/* ── Sections ────────────────────────────────────────────────────────────── */\n\n.menu-section {\n display: flex;\n flex-direction: column;\n gap: var(--dimension-space-050);\n padding: var(--dimension-space-050);\n}\n\n.menu-section--divided {\n border-bottom: var(--dimension-stroke-width-015) solid var(--color-border-tertiary);\n}\n\n.section-header {\n display: flex;\n align-items: center;\n height: var(--dimension-size-400);\n padding: var(--dimension-space-050) var(--dimension-space-075);\n -webkit-user-select: none;\n user-select: none;\n}\n\n.section-label {\n color: var(--color-foreground-secondary);\n}\n\n/* ── Items ───────────────────────────────────────────────────────────────── */\n\n.menu-item {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-050);\n position: relative;\n width: 100%;\n min-height: var(--dimension-size-400);\n padding: var(--dimension-space-075);\n box-sizing: border-box;\n border: none;\n border-radius: var(--dimension-radius-025);\n background: transparent;\n cursor: pointer;\n -webkit-user-select: none;\n user-select: none;\n text-align: left;\n color: inherit;\n --_hover-bg: var(--color-interaction-hover);\n --_pressed-bg: var(--color-interaction-pressed);\n --_selected-bg: var(--color-interaction-active);\n}\n\n.menu-item:has(.menu-item__subtext) {\n align-items: flex-start;\n}\n\n/* Interaction layer — same ::after pattern as tabs / BarNav trigger */\n.menu-item::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n background: transparent;\n pointer-events: none;\n transition: none;\n}\n\n.menu-item--selected::after {\n background: var(--_selected-bg);\n transition: none;\n}\n\n.menu-item:hover:not(:disabled):not(.menu-item--selected)::after,\n.menu-item--focused:not(:disabled):not(.menu-item--selected)::after {\n background: var(--_hover-bg);\n transition: none;\n}\n\n.menu-item:active:not(:disabled)::after {\n background: var(--_pressed-bg);\n transition: none;\n}\n\n.menu-item:focus-visible {\n outline: var(--dimension-stroke-width-025) solid var(--color-interaction-focus);\n outline-offset: var(--dimension-space-025);\n}\n\n.menu-item--inactive {\n opacity: 0.5;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.menu-item--destructive .menu-item__label {\n color: var(--color-foreground-bold-negative) !important;\n}\n\n.menu-item__content {\n position: relative;\n z-index: 1;\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--dimension-space-025);\n min-width: 0;\n}\n\n.menu-item__label {\n color: var(--color-foreground-secondary);\n}\n\n.menu-item:has(.menu-item__subtext) .menu-item__label,\n.menu-item--selected .menu-item__label {\n color: var(--color-foreground-primary);\n}\n\n.menu-item__subtext {\n color: var(--color-foreground-secondary);\n line-height: 1.4;\n}\n\n/* ── Toggle suffix ───────────────────────────────────────────────────────── */\n\n.menu-item__toggle {\n position: relative;\n z-index: 1;\n flex-shrink: 0;\n width: calc(var(--dimension-size-400) + var(--dimension-size-050));\n height: var(--dimension-size-250);\n border-radius: var(--dimension-radius-125);\n background-color: var(--color-background-translucent);\n transition: background-color var(--effect-motion-short-2);\n}\n\n.menu-item__toggle--on {\n background-color: var(--color-background-medium-brand);\n}\n\n.menu-item__toggle-thumb {\n position: absolute;\n top: var(--dimension-space-025);\n left: var(--dimension-space-025);\n width: var(--dimension-size-200);\n height: var(--dimension-size-200);\n border-radius: 50%;\n background-color: var(--color-foreground-on-bold-background-primary);\n transition: transform var(--effect-motion-short-2);\n}\n\n.menu-item__toggle--on .menu-item__toggle-thumb {\n transform: translateX(var(--dimension-offset-200, 16px));\n}\n","import { Component, Prop, State, Event, EventEmitter, Element, Watch, Listen, h, Host } from '@stencil/core';\n\nexport type MenuSide = 'top' | 'right' | 'bottom' | 'left';\nexport type MenuAlign = 'start' | 'center' | 'end';\n\nexport interface MenuItemData {\n label: string;\n value?: string;\n subtext?: string;\n isSelected?: boolean;\n isInactive?: boolean;\n isDestructive?: boolean;\n showToggle?: boolean;\n toggleValue?: boolean;\n}\n\nexport interface MenuSection {\n header?: string;\n items: MenuItemData[];\n}\n\nconst CLOSE_ANIMATION_MS = 220;\nconst VP_PAD = 4;\n\n@Component({\n tag: 'ds-menu',\n styleUrl: 'Menu.css',\n scoped: true,\n})\nexport class Menu {\n @Element() el!: HTMLElement;\n\n @Prop({ mutable: true }) open: boolean = false;\n @Prop() items: MenuItemData[] = [];\n @Prop() sections: MenuSection[] = [];\n @Prop() side: MenuSide = 'bottom';\n @Prop() align: MenuAlign = 'start';\n @Prop() sideOffset: number = 4;\n @Prop() alignOffset: number = 0;\n @Prop() menuWidth: string | undefined;\n @Prop() minWidth: string | undefined;\n /** External trigger element to position against. Set via JS: menuEl.anchor = buttonEl */\n @Prop() anchor: HTMLElement | undefined;\n /** ID of the external trigger element for positioning */\n @Prop() anchorId: string | undefined;\n\n @State() private shouldRender: boolean = false;\n @State() private closing: boolean = false;\n @State() private pos: { x: number; y: number } = { x: 0, y: 0 };\n @State() private focusedIndex: number = 0;\n @State() private positionReady: boolean = false;\n\n @Event() dsClose!: EventEmitter<void>;\n @Event() dsSelect!: EventEmitter<MenuItemData>;\n\n private clickOutsideHandler: ((e: MouseEvent) => void) | null = null;\n private scrollResizeHandler: (() => void) | null = null;\n private closeTimer: ReturnType<typeof setTimeout> | null = null;\n private itemEls: HTMLElement[] = [];\n\n componentDidLoad() {\n if (this.open) this.onOpenChange(true);\n }\n\n disconnectedCallback() {\n this.teardownListeners();\n }\n\n @Watch('open')\n onOpenChange(isOpen: boolean) {\n if (isOpen) {\n this.shouldRender = true;\n this.closing = false;\n this.positionReady = false;\n requestAnimationFrame(() => {\n this.calculatePosition();\n this.positionReady = true;\n this.focusInitialItem();\n this.setupListeners();\n });\n } else if (this.shouldRender) {\n this.closing = true;\n this.teardownListeners();\n this.closeTimer = setTimeout(() => {\n this.shouldRender = false;\n this.closing = false;\n this.closeTimer = null;\n }, CLOSE_ANIMATION_MS);\n }\n }\n\n private get resolvedAnchor(): HTMLElement | null {\n if (this.anchor) return this.anchor;\n if (this.anchorId) return document.getElementById(this.anchorId);\n return null;\n }\n\n private get activeSections(): MenuSection[] {\n if (this.sections.length > 0) return this.sections;\n if (this.items.length > 0) return [{ items: this.items }];\n return [];\n }\n\n private get flatItems(): MenuItemData[] {\n return this.activeSections.flatMap(s => s.items);\n }\n\n private calculatePosition() {\n const anchorEl = this.resolvedAnchor;\n if (!anchorEl) return;\n const popup = this.el.querySelector('.menu-popup') as HTMLElement | null;\n if (!popup) return;\n\n const a = anchorEl.getBoundingClientRect();\n const pw = popup.offsetWidth || 200;\n const ph = popup.offsetHeight || 160;\n let x = 0, y = 0;\n\n switch (this.side) {\n case 'top':\n y = a.top - ph - this.sideOffset;\n x = this.align === 'start' ? a.left + this.alignOffset\n : this.align === 'end' ? a.right - pw + this.alignOffset\n : a.left + a.width / 2 - pw / 2 + this.alignOffset;\n break;\n case 'bottom':\n y = a.bottom + this.sideOffset;\n x = this.align === 'start' ? a.left + this.alignOffset\n : this.align === 'end' ? a.right - pw + this.alignOffset\n : a.left + a.width / 2 - pw / 2 + this.alignOffset;\n break;\n case 'left':\n x = a.left - pw - this.sideOffset;\n y = this.align === 'start' ? a.top + this.alignOffset\n : this.align === 'end' ? a.bottom - ph + this.alignOffset\n : a.top + a.height / 2 - ph / 2 + this.alignOffset;\n break;\n case 'right':\n x = a.right + this.sideOffset;\n y = this.align === 'start' ? a.top + this.alignOffset\n : this.align === 'end' ? a.bottom - ph + this.alignOffset\n : a.top + a.height / 2 - ph / 2 + this.alignOffset;\n break;\n }\n\n this.pos = {\n x: Math.min(Math.max(x, VP_PAD), window.innerWidth - pw - VP_PAD),\n y: Math.min(Math.max(y, VP_PAD), window.innerHeight - ph - VP_PAD),\n };\n }\n\n /** Focus the selected item when present, otherwise the first enabled item. */\n private focusInitialItem() {\n const flat = this.flatItems;\n const selectedIdx = flat.findIndex(it => it.isSelected && !it.isInactive);\n const firstEnabledIdx = flat.findIndex(it => !it.isInactive);\n this.focusedIndex = selectedIdx >= 0\n ? selectedIdx\n : (firstEnabledIdx >= 0 ? firstEnabledIdx : 0);\n\n requestAnimationFrame(() => {\n const btns = this.el.querySelectorAll<HTMLElement>('.menu-item');\n btns[this.focusedIndex]?.focus();\n });\n }\n\n private setupListeners() {\n this.clickOutsideHandler = (e: MouseEvent) => {\n const t = e.target as Node;\n const popup = this.el.querySelector('.menu-popup');\n const anchorEl = this.resolvedAnchor;\n if (popup?.contains(t) || anchorEl?.contains(t)) return;\n this.close();\n };\n\n this.scrollResizeHandler = () => this.calculatePosition();\n\n document.addEventListener('mousedown', this.clickOutsideHandler, true);\n window.addEventListener('scroll', this.scrollResizeHandler, true);\n window.addEventListener('resize', this.scrollResizeHandler);\n }\n\n private teardownListeners() {\n if (this.clickOutsideHandler) {\n document.removeEventListener('mousedown', this.clickOutsideHandler, true);\n this.clickOutsideHandler = null;\n }\n if (this.scrollResizeHandler) {\n window.removeEventListener('scroll', this.scrollResizeHandler, true);\n window.removeEventListener('resize', this.scrollResizeHandler);\n this.scrollResizeHandler = null;\n }\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = null;\n }\n }\n\n private close() {\n this.resolvedAnchor?.focus();\n this.dsClose.emit();\n this.open = false;\n }\n\n @Listen('keydown')\n handleKeyDown(e: KeyboardEvent) {\n if (!this.open) return;\n const flat = this.flatItems;\n const enabled = flat.map((it, i) => ({ it, i })).filter(({ it }) => !it.isInactive).map(({ i }) => i);\n if (!enabled.length) return;\n\n const cur = enabled.indexOf(this.focusedIndex);\n const safe = cur < 0 ? 0 : cur;\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault(); e.stopPropagation();\n this.focusedIndex = enabled[(safe + 1) % enabled.length];\n this.focusItem(this.focusedIndex);\n break;\n case 'ArrowUp':\n e.preventDefault(); e.stopPropagation();\n this.focusedIndex = enabled[(safe - 1 + enabled.length) % enabled.length];\n this.focusItem(this.focusedIndex);\n break;\n case 'Home':\n e.preventDefault(); e.stopPropagation();\n this.focusedIndex = enabled[0];\n this.focusItem(this.focusedIndex);\n break;\n case 'End':\n e.preventDefault(); e.stopPropagation();\n this.focusedIndex = enabled[enabled.length - 1];\n this.focusItem(this.focusedIndex);\n break;\n case 'Escape':\n e.preventDefault();\n this.close();\n break;\n case 'Tab':\n e.preventDefault();\n this.close();\n break;\n }\n }\n\n private focusItem(idx: number) {\n const btns = this.el.querySelectorAll<HTMLElement>('.menu-item');\n btns[idx]?.focus();\n }\n\n private handleItemClick(item: MenuItemData) {\n if (item.isInactive) return;\n this.dsSelect.emit(item);\n this.close();\n }\n\n render() {\n if (!this.shouldRender) return <Host style={{ display: 'contents' }} />;\n\n const sections = this.activeSections;\n let flatIdx = 0;\n\n const popupStyle: Record<string, string> = {\n position: 'fixed',\n left: '0',\n top: '0',\n transform: `translate(${Math.round(this.pos.x)}px, ${Math.round(this.pos.y)}px)`,\n zIndex: '9998',\n visibility: this.positionReady ? 'visible' : 'hidden',\n };\n\n if (this.menuWidth) popupStyle['width'] = this.menuWidth;\n if (this.minWidth) popupStyle['min-width'] = this.minWidth;\n\n return (\n <Host style={{ display: 'contents' }}>\n <div\n class={{ 'menu-popup': true, 'menu-popup--closing': this.closing }}\n style={popupStyle}\n role=\"menu\"\n aria-label=\"Menu\"\n aria-orientation=\"vertical\"\n >\n {sections.map((section, si) => (\n <div\n key={si}\n class={{ 'menu-section': true, 'menu-section--divided': si < sections.length - 1 }}\n role={section.header ? 'group' : undefined}\n aria-label={section.header}\n >\n {section.header && (\n <div class=\"section-header\" aria-hidden=\"true\">\n <span class=\"text-body-small-emphasis section-label\">{section.header}</span>\n </div>\n )}\n {section.items.map(item => {\n const idx = flatIdx++;\n const isFocused = this.focusedIndex === idx;\n return (\n <button\n key={idx}\n type=\"button\"\n class={{\n 'menu-item': true,\n 'menu-item--selected': !!item.isSelected,\n 'menu-item--inactive': !!item.isInactive,\n 'menu-item--destructive': !!item.isDestructive,\n 'menu-item--focused': isFocused,\n }}\n role=\"menuitem\"\n aria-current={item.isSelected ? 'true' : undefined}\n disabled={item.isInactive}\n tabIndex={isFocused ? 0 : -1}\n onClick={() => this.handleItemClick(item)}\n onFocus={() => { this.focusedIndex = idx; }}\n >\n <div class=\"menu-item__content\">\n <span class={item.isSelected ? 'text-body-medium-emphasis menu-item__label' : 'text-body-medium menu-item__label'}>\n {item.label}\n </span>\n {item.subtext && (\n <span class=\"text-body-small menu-item__subtext\">{item.subtext}</span>\n )}\n </div>\n {item.showToggle && (\n <div class={{ 'menu-item__toggle': true, 'menu-item__toggle--on': !!item.toggleValue }} aria-hidden=\"true\">\n <div class=\"menu-item__toggle-thumb\" />\n </div>\n )}\n </button>\n );\n })}\n </div>\n ))}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"kEAAA,MAAMA,EAAU,IAAM,s0HCqBtB,MAAMC,EAAqB,IAC3B,MAAMC,EAAS,E,MAOFC,EAAIC,EAAA,MAAAD,UAAAE,EALjB,WAAAC,CAAAC,G,4GAQ2BC,KAAAC,KAAgB,MACjCD,KAAAE,MAAwB,GACxBF,KAAAG,SAA0B,GAC1BH,KAAAI,KAAiB,SACjBJ,KAAAK,MAAmB,QACnBL,KAAAM,WAAqB,EACrBN,KAAAO,YAAsB,EAQbP,KAAAQ,aAAwB,MACxBR,KAAAS,QAAmB,MACnBT,KAAAU,IAAgC,CAAEC,EAAG,EAAGC,EAAG,GAC3CZ,KAAAa,aAAuB,EACvBb,KAAAc,cAAyB,MAKlCd,KAAAe,oBAAwD,KACxDf,KAAAgB,oBAA2C,KAC3ChB,KAAAiB,WAAmD,KACnDjB,KAAAkB,QAAyB,EAyRlC,CAvRC,gBAAAC,GACE,GAAInB,KAAKC,KAAMD,KAAKoB,aAAa,K,CAGnC,oBAAAC,GACErB,KAAKsB,mB,CAIP,YAAAF,CAAaG,GACX,GAAIA,EAAQ,CACVvB,KAAKQ,aAAe,KACpBR,KAAKS,QAAU,MACfT,KAAKc,cAAgB,MACrBU,uBAAsB,KACpBxB,KAAKyB,oBACLzB,KAAKc,cAAgB,KACrBd,KAAK0B,mBACL1B,KAAK2B,gBAAgB,G,MAElB,GAAI3B,KAAKQ,aAAc,CAC5BR,KAAKS,QAAU,KACfT,KAAKsB,oBACLtB,KAAKiB,WAAaW,YAAW,KAC3B5B,KAAKQ,aAAe,MACpBR,KAAKS,QAAU,MACfT,KAAKiB,WAAa,IAAI,GACrBxB,E,EAIP,kBAAYoC,GACV,GAAI7B,KAAK8B,OAAQ,OAAO9B,KAAK8B,OAC7B,GAAI9B,KAAK+B,SAAU,OAAOC,SAASC,eAAejC,KAAK+B,UACvD,OAAO,I,CAGT,kBAAYG,GACV,GAAIlC,KAAKG,SAASgC,OAAS,EAAG,OAAOnC,KAAKG,SAC1C,GAAIH,KAAKE,MAAMiC,OAAS,EAAG,MAAO,CAAC,CAAEjC,MAAOF,KAAKE,QACjD,MAAO,E,CAGT,aAAYkC,GACV,OAAOpC,KAAKkC,eAAeG,SAAQC,GAAKA,EAAEpC,O,CAGpC,iBAAAuB,GACN,MAAMc,EAAWvC,KAAK6B,eACtB,IAAKU,EAAU,OACf,MAAMC,EAAQxC,KAAKyC,GAAGC,cAAc,eACpC,IAAKF,EAAO,OAEZ,MAAMG,EAAIJ,EAASK,wBACnB,MAAMC,EAAKL,EAAMM,aAAe,IAChC,MAAMC,EAAKP,EAAMQ,cAAgB,IACjC,IAAIrC,EAAI,EAAGC,EAAI,EAEf,OAAQZ,KAAKI,MACX,IAAK,MACHQ,EAAI+B,EAAEM,IAAMF,EAAK/C,KAAKM,WACtBK,EAAIX,KAAKK,QAAU,QAAUsC,EAAEO,KAAOlD,KAAKO,YACvCP,KAAKK,QAAU,MAAQsC,EAAEQ,MAAQN,EAAK7C,KAAKO,YAC3CoC,EAAEO,KAAOP,EAAES,MAAQ,EAAIP,EAAK,EAAI7C,KAAKO,YACzC,MACF,IAAK,SACHK,EAAI+B,EAAEU,OAASrD,KAAKM,WACpBK,EAAIX,KAAKK,QAAU,QAAUsC,EAAEO,KAAOlD,KAAKO,YACvCP,KAAKK,QAAU,MAAQsC,EAAEQ,MAAQN,EAAK7C,KAAKO,YAC3CoC,EAAEO,KAAOP,EAAES,MAAQ,EAAIP,EAAK,EAAI7C,KAAKO,YACzC,MACF,IAAK,OACHI,EAAIgC,EAAEO,KAAOL,EAAK7C,KAAKM,WACvBM,EAAIZ,KAAKK,QAAU,QAAUsC,EAAEM,IAAMjD,KAAKO,YACtCP,KAAKK,QAAU,MAAQsC,EAAEU,OAASN,EAAK/C,KAAKO,YAC5CoC,EAAEM,IAAMN,EAAEW,OAAS,EAAIP,EAAK,EAAI/C,KAAKO,YACzC,MACF,IAAK,QACHI,EAAIgC,EAAEQ,MAAQnD,KAAKM,WACnBM,EAAIZ,KAAKK,QAAU,QAAUsC,EAAEM,IAAMjD,KAAKO,YACtCP,KAAKK,QAAU,MAAQsC,EAAEU,OAASN,EAAK/C,KAAKO,YAC5CoC,EAAEM,IAAMN,EAAEW,OAAS,EAAIP,EAAK,EAAI/C,KAAKO,YACzC,MAGJP,KAAKU,IAAM,CACTC,EAAG4C,KAAKC,IAAID,KAAKE,IAAI9C,EAAGjB,GAASgE,OAAOC,WAAad,EAAKnD,GAC1DkB,EAAG2C,KAAKC,IAAID,KAAKE,IAAI7C,EAAGlB,GAASgE,OAAOE,YAAcb,EAAKrD,G,CAKvD,gBAAAgC,GACN,MAAMmC,EAAO7D,KAAKoC,UAClB,MAAM0B,EAAcD,EAAKE,WAAUC,GAAMA,EAAGC,aAAeD,EAAGE,aAC9D,MAAMC,EAAkBN,EAAKE,WAAUC,IAAOA,EAAGE,aACjDlE,KAAKa,aAAeiD,GAAe,EAC/BA,EACCK,GAAmB,EAAIA,EAAkB,EAE9C3C,uBAAsB,KACpB,MAAM4C,EAAOpE,KAAKyC,GAAG4B,iBAA8B,cACnDD,EAAKpE,KAAKa,eAAeyD,OAAO,G,CAI5B,cAAA3C,GACN3B,KAAKe,oBAAuBwD,IAC1B,MAAMC,EAAID,EAAEE,OACZ,MAAMjC,EAAQxC,KAAKyC,GAAGC,cAAc,eACpC,MAAMH,EAAWvC,KAAK6B,eACtB,GAAIW,GAAOkC,SAASF,IAAMjC,GAAUmC,SAASF,GAAI,OACjDxE,KAAK2E,OAAO,EAGd3E,KAAKgB,oBAAsB,IAAMhB,KAAKyB,oBAEtCO,SAAS4C,iBAAiB,YAAa5E,KAAKe,oBAAqB,MACjE2C,OAAOkB,iBAAiB,SAAU5E,KAAKgB,oBAAqB,MAC5D0C,OAAOkB,iBAAiB,SAAU5E,KAAKgB,oB,CAGjC,iBAAAM,GACN,GAAItB,KAAKe,oBAAqB,CAC5BiB,SAAS6C,oBAAoB,YAAa7E,KAAKe,oBAAqB,MACpEf,KAAKe,oBAAsB,I,CAE7B,GAAIf,KAAKgB,oBAAqB,CAC5B0C,OAAOmB,oBAAoB,SAAU7E,KAAKgB,oBAAqB,MAC/D0C,OAAOmB,oBAAoB,SAAU7E,KAAKgB,qBAC1ChB,KAAKgB,oBAAsB,I,CAE7B,GAAIhB,KAAKiB,WAAY,CACnB6D,aAAa9E,KAAKiB,YAClBjB,KAAKiB,WAAa,I,EAId,KAAA0D,GACN3E,KAAK6B,gBAAgByC,QACrBtE,KAAK+E,QAAQC,OACbhF,KAAKC,KAAO,K,CAId,aAAAgF,CAAcV,GACZ,IAAKvE,KAAKC,KAAM,OAChB,MAAM4D,EAAO7D,KAAKoC,UAClB,MAAM8C,EAAUrB,EAAKsB,KAAI,CAACnB,EAAIoB,KAAC,CAAQpB,KAAIoB,QAAMC,QAAO,EAAGrB,SAAUA,EAAGE,aAAYiB,KAAI,EAAGC,OAAQA,IACnG,IAAKF,EAAQ/C,OAAQ,OAErB,MAAMmD,EAAMJ,EAAQK,QAAQvF,KAAKa,cACjC,MAAM2E,EAAOF,EAAM,EAAI,EAAIA,EAE3B,OAAQf,EAAEkB,KACR,IAAK,YACHlB,EAAEmB,iBAAkBnB,EAAEoB,kBACtB3F,KAAKa,aAAeqE,GAASM,EAAO,GAAKN,EAAQ/C,QACjDnC,KAAK4F,UAAU5F,KAAKa,cACpB,MACF,IAAK,UACH0D,EAAEmB,iBAAkBnB,EAAEoB,kBACtB3F,KAAKa,aAAeqE,GAASM,EAAO,EAAIN,EAAQ/C,QAAU+C,EAAQ/C,QAClEnC,KAAK4F,UAAU5F,KAAKa,cACpB,MACF,IAAK,OACH0D,EAAEmB,iBAAkBnB,EAAEoB,kBACtB3F,KAAKa,aAAeqE,EAAQ,GAC5BlF,KAAK4F,UAAU5F,KAAKa,cACpB,MACF,IAAK,MACH0D,EAAEmB,iBAAkBnB,EAAEoB,kBACtB3F,KAAKa,aAAeqE,EAAQA,EAAQ/C,OAAS,GAC7CnC,KAAK4F,UAAU5F,KAAKa,cACpB,MACF,IAAK,SACH0D,EAAEmB,iBACF1F,KAAK2E,QACL,MACF,IAAK,MACHJ,EAAEmB,iBACF1F,KAAK2E,QACL,M,CAIE,SAAAiB,CAAUC,GAChB,MAAMzB,EAAOpE,KAAKyC,GAAG4B,iBAA8B,cACnDD,EAAKyB,IAAMvB,O,CAGL,eAAAwB,CAAgBC,GACtB,GAAIA,EAAK7B,WAAY,OACrBlE,KAAKgG,SAAShB,KAAKe,GACnB/F,KAAK2E,O,CAGP,MAAAsB,GACE,IAAKjG,KAAKQ,aAAc,OAAO0F,EAACC,EAAI,CAACC,MAAO,CAAEC,QAAS,cAEvD,MAAMlG,EAAWH,KAAKkC,eACtB,IAAIoE,EAAU,EAEd,MAAMC,EAAqC,CACzCC,SAAU,QACVtD,KAAM,IACND,IAAK,IACLwD,UAAW,aAAalD,KAAKmD,MAAM1G,KAAKU,IAAIC,SAAS4C,KAAKmD,MAAM1G,KAAKU,IAAIE,QACzE+F,OAAQ,OACRC,WAAY5G,KAAKc,cAAgB,UAAY,UAG/C,GAAId,KAAK6G,UAAWN,EAAW,SAAWvG,KAAK6G,UAC/C,GAAI7G,KAAK8G,SAAUP,EAAW,aAAevG,KAAK8G,SAElD,OACEZ,EAACC,EAAI,CAACC,MAAO,CAAEC,QAAS,aACtBH,EAAA,OACEa,MAAO,CAAE,aAAc,KAAM,sBAAuB/G,KAAKS,SACzD2F,MAAOG,EACPS,KAAK,OAAM,aACA,OAAM,mBACA,YAEhB7G,EAASgF,KAAI,CAAC8B,EAASC,IACtBhB,EAAA,OACET,IAAKyB,EACLH,MAAO,CAAE,eAAgB,KAAM,wBAAyBG,EAAK/G,EAASgC,OAAS,GAC/E6E,KAAMC,EAAQE,OAAS,QAAUC,UAAS,aAC9BH,EAAQE,QAEnBF,EAAQE,QACPjB,EAAA,OAAKa,MAAM,iBAAgB,cAAa,QACtCb,EAAA,QAAMa,MAAM,0CAA0CE,EAAQE,SAGjEF,EAAQ/G,MAAMiF,KAAIY,IACjB,MAAMF,EAAMS,IACZ,MAAMe,EAAYrH,KAAKa,eAAiBgF,EACxC,OACEK,EAAA,UACET,IAAKI,EACLyB,KAAK,SACLP,MAAO,CACL,YAAa,KACb,wBAAyBhB,EAAK9B,WAC9B,wBAAyB8B,EAAK7B,WAC9B,2BAA4B6B,EAAKwB,cACjC,qBAAsBF,GAExBL,KAAK,WAAU,eACDjB,EAAK9B,WAAa,OAASmD,UACzCI,SAAUzB,EAAK7B,WACfuD,SAAUJ,EAAY,GAAI,EAC1BK,QAAS,IAAM1H,KAAK8F,gBAAgBC,GACpC4B,QAAS,KAAQ3H,KAAKa,aAAegF,CAAG,GAExCK,EAAA,OAAKa,MAAM,sBACTb,EAAA,QAAMa,MAAOhB,EAAK9B,WAAa,6CAA+C,qCAC3E8B,EAAK6B,OAEP7B,EAAK8B,SACJ3B,EAAA,QAAMa,MAAM,sCAAsChB,EAAK8B,UAG1D9B,EAAK+B,YACJ5B,EAAA,OAAKa,MAAO,CAAE,oBAAqB,KAAM,0BAA2BhB,EAAKgC,aAAa,cAAc,QAClG7B,EAAA,OAAKa,MAAM,6BAGR,Q","ignoreList":[]}