@ds-mo/ui 9.2.0 → 10.0.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.
- package/README.md +2 -81
- package/dist/.build-stamp +1 -1
- package/dist/agent-patterns.json +1 -1
- package/dist/agent.json +400 -135
- package/dist/angular/boolean-value-accessor.js +3 -3
- package/dist/angular/ds-agent-activity.js +3 -3
- package/dist/angular/ds-agent-response.js +3 -3
- package/dist/angular/ds-agent-source-list.js +3 -3
- package/dist/angular/ds-agent-tool-call.js +3 -3
- package/dist/angular/ds-app-shell.js +3 -3
- package/dist/angular/ds-attachment-list.js +3 -3
- package/dist/angular/ds-avatar.d.ts +1 -1
- package/dist/angular/ds-avatar.js +5 -5
- package/dist/angular/ds-badge.js +3 -3
- package/dist/angular/ds-bar-nav.js +3 -3
- package/dist/angular/ds-button-filled.js +3 -3
- package/dist/angular/ds-button-unfilled.js +3 -3
- package/dist/angular/ds-card-data-viz-donut.js +3 -3
- package/dist/angular/ds-card-setting.d.ts +5 -4
- package/dist/angular/ds-card-setting.js +6 -6
- package/dist/angular/ds-card-shell-data-viz.js +3 -3
- package/dist/angular/ds-chart-bar.js +3 -3
- package/dist/angular/ds-chart-donut.js +3 -3
- package/dist/angular/ds-chart-legend.js +3 -3
- package/dist/angular/ds-chart-line.js +3 -3
- package/dist/angular/ds-checkbox.js +3 -3
- package/dist/angular/ds-chip.js +3 -3
- package/dist/angular/ds-code-block.js +3 -3
- package/dist/angular/ds-conversation-list-item.d.ts +1 -1
- package/dist/angular/ds-conversation-list-item.js +5 -5
- package/dist/angular/ds-conversation-list-section.js +3 -3
- package/dist/angular/ds-conversation-list.js +3 -3
- package/dist/angular/ds-divider.js +3 -3
- package/dist/angular/ds-empty-state.js +3 -3
- package/dist/angular/ds-field.js +3 -3
- package/dist/angular/ds-icon.js +3 -3
- package/dist/angular/ds-input.js +3 -3
- package/dist/angular/ds-loader.js +3 -3
- package/dist/angular/ds-markdown.js +3 -3
- package/dist/angular/ds-menu.d.ts +6 -1
- package/dist/angular/ds-menu.js +7 -4
- package/dist/angular/ds-message-bubble.js +3 -3
- package/dist/angular/ds-message-composer.js +3 -3
- package/dist/angular/ds-message-scroller.js +3 -3
- package/dist/angular/ds-message.js +3 -3
- package/dist/angular/ds-modal.d.ts +12 -3
- package/dist/angular/ds-modal.js +9 -6
- package/dist/angular/ds-panel-nav.d.ts +1 -1
- package/dist/angular/ds-panel-nav.js +5 -5
- package/dist/angular/ds-panel-sub-nav.js +3 -3
- package/dist/angular/ds-panel-tool-header.js +3 -3
- package/dist/angular/ds-panel-tool-search.js +3 -3
- package/dist/angular/ds-panel-tools.js +3 -3
- package/dist/angular/ds-radio.js +3 -3
- package/dist/angular/ds-select-multi.js +3 -3
- package/dist/angular/ds-select.js +3 -3
- package/dist/angular/ds-shell-gradient-picker.js +3 -3
- package/dist/angular/ds-shell-gradient-swatch.js +3 -3
- package/dist/angular/ds-skeleton.js +3 -3
- package/dist/angular/ds-slider.js +3 -3
- package/dist/angular/ds-swatch-picker.js +3 -3
- package/dist/angular/ds-switch.js +3 -3
- package/dist/angular/ds-tab-group.js +3 -3
- package/dist/angular/ds-tag.js +3 -3
- package/dist/angular/ds-text.js +3 -3
- package/dist/angular/ds-toast.d.ts +22 -0
- package/dist/angular/{ds-banner.js → ds-toast.js} +21 -15
- package/dist/angular/ds-tooltip-data-viz.js +3 -3
- package/dist/angular/ds-tooltip.js +3 -3
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +1 -2
- package/dist/angular/proxies.d.ts +1 -2
- package/dist/angular/proxies.js +1 -2
- package/dist/angular/radio-value-accessor.js +3 -3
- package/dist/angular/select-value-accessor.js +3 -3
- package/dist/angular/text-value-accessor.js +3 -3
- package/dist/angular/value-accessor.js +3 -3
- package/dist/components/ds-agent-activity.js +1 -1
- package/dist/components/ds-agent-response.js +1 -1
- package/dist/components/ds-agent-response.js.map +1 -1
- package/dist/components/ds-agent-source-list.js +1 -1
- package/dist/components/ds-agent-tool-call.js +1 -1
- package/dist/components/ds-app-shell.js +1 -1
- package/dist/components/ds-attachment-list.js +1 -1
- package/dist/components/ds-avatar.js +1 -1
- package/dist/components/ds-avatar.js.map +1 -1
- package/dist/components/ds-badge.js +1 -1
- package/dist/components/ds-bar-nav.js +1 -1
- package/dist/components/ds-bar-nav.js.map +1 -1
- package/dist/components/ds-button-filled.js +1 -1
- package/dist/components/ds-button-unfilled.js +1 -1
- package/dist/components/ds-card-data-viz-donut.js +1 -1
- package/dist/components/ds-card-data-viz-donut.js.map +1 -1
- package/dist/components/ds-card-setting.js +1 -1
- package/dist/components/ds-card-setting.js.map +1 -1
- package/dist/components/ds-card-shell-data-viz.js +1 -1
- package/dist/components/ds-chart-bar.js +1 -1
- package/dist/components/ds-chart-donut.js +1 -1
- package/dist/components/ds-chart-legend.js +1 -1
- package/dist/components/ds-chart-line.js +1 -1
- package/dist/components/ds-checkbox.js +1 -1
- package/dist/components/ds-chip.js +1 -1
- package/dist/components/ds-code-block.js +1 -1
- package/dist/components/ds-conversation-list-item.js +1 -1
- package/dist/components/ds-conversation-list-item.js.map +1 -1
- package/dist/components/ds-conversation-list-section.js +1 -1
- package/dist/components/ds-conversation-list-section.js.map +1 -1
- package/dist/components/ds-conversation-list.js +1 -1
- package/dist/components/ds-conversation-list.js.map +1 -1
- package/dist/components/ds-divider.js +1 -1
- package/dist/components/ds-empty-state.js +1 -1
- package/dist/components/ds-field.js +1 -1
- package/dist/components/ds-icon.js +1 -1
- package/dist/components/ds-input.js +1 -1
- package/dist/components/ds-markdown.js +1 -1
- package/dist/components/ds-menu.js +1 -1
- package/dist/components/ds-message-bubble.js +1 -1
- package/dist/components/ds-message-composer.js +1 -1
- package/dist/components/ds-message-composer.js.map +1 -1
- package/dist/components/ds-message-scroller.js +1 -1
- package/dist/components/ds-message-scroller.js.map +1 -1
- package/dist/components/ds-message.js +1 -1
- package/dist/components/ds-modal.js +1 -1
- package/dist/components/ds-modal.js.map +1 -1
- package/dist/components/ds-panel-nav.js +1 -1
- package/dist/components/ds-panel-nav.js.map +1 -1
- package/dist/components/ds-panel-sub-nav.js +1 -1
- package/dist/components/ds-panel-tool-header.js +1 -1
- package/dist/components/ds-panel-tool-search.js +1 -1
- package/dist/components/ds-panel-tools.js +1 -1
- package/dist/components/ds-panel-tools.js.map +1 -1
- package/dist/components/ds-radio.js +1 -1
- package/dist/components/ds-select-multi.js +1 -1
- package/dist/components/ds-select.js +1 -1
- package/dist/components/ds-shell-gradient-picker.js +1 -1
- package/dist/components/ds-shell-gradient-picker.js.map +1 -1
- package/dist/components/ds-shell-gradient-swatch.js +1 -1
- package/dist/components/ds-skeleton.js +1 -1
- package/dist/components/ds-slider.js +1 -1
- package/dist/components/ds-slider.js.map +1 -1
- package/dist/components/ds-swatch-picker.js +1 -1
- package/dist/components/ds-switch.js +1 -1
- package/dist/components/ds-tab-group.js +1 -1
- package/dist/components/ds-tag.js +1 -1
- package/dist/components/ds-tag.js.map +1 -1
- package/dist/components/ds-text.js +1 -1
- package/dist/components/{ds-card.d.ts → ds-toast.d.ts} +4 -4
- package/dist/components/ds-toast.js +2 -0
- package/dist/components/ds-toast.js.map +1 -0
- package/dist/components/ds-tooltip-data-viz.js +1 -1
- package/dist/components/ds-tooltip.js +1 -1
- package/dist/components/{p-Bo5wikia.js → p-0kEg-Z4f.js} +2 -2
- package/dist/components/p-B4RQoNmL.js +2 -0
- package/dist/components/p-B4RQoNmL.js.map +1 -0
- package/dist/components/p-B8C_yfLQ.js +2 -0
- package/dist/components/p-B8C_yfLQ.js.map +1 -0
- package/dist/components/{p-Di-ThR90.js → p-BJUcsBHt.js} +2 -2
- package/dist/components/p-BJUcsBHt.js.map +1 -0
- package/dist/components/{p-C0sq948W.js → p-BTo4pNdp.js} +2 -2
- package/dist/components/p-Bet_UjML.js +2 -0
- package/dist/components/{p-BFWC17em.js.map → p-Bet_UjML.js.map} +1 -1
- package/dist/components/{p-2br9YDbG.js → p-BkwBtZs3.js} +2 -2
- package/dist/components/{p-CZMEhdlA.js → p-CKnoWZd9.js} +2 -2
- package/dist/components/p-CKnoWZd9.js.map +1 -0
- package/dist/components/p-CLn7QnE0.js +2 -0
- package/dist/components/p-CLn7QnE0.js.map +1 -0
- package/dist/components/{p-Bx1G7P6W.js → p-CPPAndX2.js} +2 -2
- package/dist/components/{p-Di4HBckb.js → p-CS12e52R.js} +2 -2
- package/dist/components/{p-BSOZXagj.js → p-CZZYGqKz.js} +2 -2
- package/dist/components/p-C_0Q8Cnp.js +2 -0
- package/dist/components/p-C_0Q8Cnp.js.map +1 -0
- package/dist/components/{p-t9Ei1kHP.js → p-CxyjoTN1.js} +2 -2
- package/dist/components/p-CyoHRqy6.js +2 -0
- package/dist/components/p-CyoHRqy6.js.map +1 -0
- package/dist/components/p-DBJ2I3mH.js +2 -0
- package/dist/components/p-DBJ2I3mH.js.map +1 -0
- package/dist/components/p-DM-95BX1.js +2 -0
- package/dist/components/p-DM-95BX1.js.map +1 -0
- package/dist/components/p-DZAtgSZo.js +2 -0
- package/dist/components/p-DZAtgSZo.js.map +1 -0
- package/dist/components/{p--KbMQblZ.js → p-Dh4q5TSS.js} +2 -2
- package/dist/components/{p-DIsDiGcp.js → p-DhsO0939.js} +2 -2
- package/dist/components/p-DhsO0939.js.map +1 -0
- package/dist/components/{p-CiwdnKKp.js → p-DrDHC7V6.js} +2 -2
- package/dist/components/{p-BZAEZENv.js → p-DsbhBb5F.js} +2 -2
- package/dist/components/p-DuNZGFkV.js +2 -0
- package/dist/components/p-DuNZGFkV.js.map +1 -0
- package/dist/components/{p-B1pWGQn1.js → p-P_4vE1ub.js} +2 -2
- package/dist/docs/components.json +1647 -1435
- package/dist/framework/select-multi-value-accessor.js +3 -3
- package/dist/lib/toast/index.d.ts +2 -0
- package/dist/lib/toast/index.js +158 -0
- package/dist/lib/toast/index.js.map +7 -0
- package/dist/lib/toast/toast-manager.d.ts +3 -0
- package/dist/lib/toast/toast-types.d.ts +85 -0
- package/dist/mcp-data/registry/agent-activity.json +1 -1
- package/dist/mcp-data/registry/agent-response.json +3 -3
- package/dist/mcp-data/registry/agent-source-list.json +1 -1
- package/dist/mcp-data/registry/agent-tool-call.json +1 -1
- package/dist/mcp-data/registry/app-shell.json +1 -1
- package/dist/mcp-data/registry/attachment-list.json +1 -1
- package/dist/mcp-data/registry/avatar.json +20 -2
- package/dist/mcp-data/registry/badge.json +1 -1
- package/dist/mcp-data/registry/bar-nav.json +2 -2
- package/dist/mcp-data/registry/button-filled.json +1 -1
- package/dist/mcp-data/registry/button-unfilled.json +3 -3
- package/dist/mcp-data/registry/card-data-viz-donut.json +2 -2
- package/dist/mcp-data/registry/card-setting.json +99 -13
- package/dist/mcp-data/registry/card-shell-data-viz.json +8 -8
- package/dist/mcp-data/registry/chart-bar.json +1 -1
- package/dist/mcp-data/registry/chart-donut.json +1 -1
- package/dist/mcp-data/registry/chart-legend.json +1 -1
- package/dist/mcp-data/registry/chart-line.json +1 -1
- package/dist/mcp-data/registry/checkbox.json +1 -1
- package/dist/mcp-data/registry/chip.json +1 -1
- package/dist/mcp-data/registry/code-block.json +2 -2
- package/dist/mcp-data/registry/conversation-list-item.json +22 -4
- package/dist/mcp-data/registry/conversation-list-section.json +2 -2
- package/dist/mcp-data/registry/conversation-list.json +2 -2
- package/dist/mcp-data/registry/divider.json +5 -5
- package/dist/mcp-data/registry/empty-state.json +1 -1
- package/dist/mcp-data/registry/field.json +1 -1
- package/dist/mcp-data/registry/icon.json +2 -2
- package/dist/mcp-data/registry/input.json +1 -1
- package/dist/mcp-data/registry/loader.json +1 -1
- package/dist/mcp-data/registry/markdown.json +2 -2
- package/dist/mcp-data/registry/menu.json +18 -2
- package/dist/mcp-data/registry/message-bubble.json +7 -7
- package/dist/mcp-data/registry/message-composer.json +3 -3
- package/dist/mcp-data/registry/message-scroller.json +3 -3
- package/dist/mcp-data/registry/message.json +7 -6
- package/dist/mcp-data/registry/modal.json +154 -24
- package/dist/mcp-data/registry/panel-nav.json +21 -3
- package/dist/mcp-data/registry/panel-sub-nav.json +2 -2
- package/dist/mcp-data/registry/panel-tool-header.json +2 -2
- package/dist/mcp-data/registry/panel-tool-search.json +1 -1
- package/dist/mcp-data/registry/panel-tools.json +2 -2
- package/dist/mcp-data/registry/radio.json +1 -1
- package/dist/mcp-data/registry/registry.json +403 -141
- package/dist/mcp-data/registry/select-multi.json +1 -1
- package/dist/mcp-data/registry/select.json +1 -1
- package/dist/mcp-data/registry/shell-gradient-picker.json +1 -1
- package/dist/mcp-data/registry/shell-gradient-swatch.json +1 -1
- package/dist/mcp-data/registry/skeleton.json +2 -2
- package/dist/mcp-data/registry/slider.json +2 -2
- package/dist/mcp-data/registry/swatch-picker.json +1 -1
- package/dist/mcp-data/registry/switch.json +2 -2
- package/dist/mcp-data/registry/tab-group.json +1 -1
- package/dist/mcp-data/registry/tag.json +4 -4
- package/dist/mcp-data/registry/text.json +2 -2
- package/dist/mcp-data/registry/toast.json +318 -0
- package/dist/mcp-data/registry/tooltip-data-viz.json +1 -1
- package/dist/mcp-data/registry/tooltip.json +1 -1
- package/dist/react/components.d.ts +1 -2
- package/dist/react/components.js +1 -2
- package/dist/react/ds-card-setting.d.ts +2 -2
- package/dist/react/ds-card-setting.js +1 -1
- package/dist/react/ds-menu.d.ts +1 -0
- package/dist/react/ds-menu.js +1 -0
- package/dist/react/ds-modal.d.ts +3 -2
- package/dist/react/ds-modal.js +4 -1
- package/dist/react/ds-toast.d.ts +14 -0
- package/dist/react/ds-toast.js +16 -0
- package/dist/types/components/Avatar/Avatar.d.ts +3 -0
- package/dist/types/components/BarNav/BarNav.d.ts +2 -0
- package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +2 -0
- package/dist/types/components/CardSetting/CardSetting.d.ts +9 -6
- package/dist/types/components/CardSetting/index.d.ts +1 -1
- package/dist/types/components/ConversationListItem/ConversationListItem.d.ts +2 -0
- package/dist/types/components/Menu/Menu.d.ts +6 -0
- package/dist/types/components/MessageBubble/MessageBubble.d.ts +1 -1
- package/dist/types/components/MessageScroller/MessageScroller.d.ts +4 -0
- package/dist/types/components/Modal/Modal.d.ts +21 -18
- package/dist/types/components/PanelNav/PanelNav.d.ts +2 -0
- package/dist/types/components/Toast/Toast.d.ts +106 -0
- package/dist/types/components/Toast/index.d.ts +2 -0
- package/dist/types/components.d.ts +180 -186
- package/dist/types/toast/index.d.ts +3 -0
- package/dist/types/toast/toast-manager.d.ts +4 -0
- package/dist/types/toast/toast-types.d.ts +86 -0
- package/package.json +19 -18
- package/dist/angular/ds-banner.d.ts +0 -15
- package/dist/angular/ds-card.d.ts +0 -12
- package/dist/angular/ds-card.js +0 -38
- package/dist/components/ds-banner.d.ts +0 -11
- package/dist/components/ds-banner.js +0 -2
- package/dist/components/ds-banner.js.map +0 -1
- package/dist/components/ds-card.js +0 -2
- package/dist/components/ds-card.js.map +0 -1
- package/dist/components/p-41UAx2eq.js +0 -2
- package/dist/components/p-41UAx2eq.js.map +0 -1
- package/dist/components/p-B7NbIYjS.js +0 -2
- package/dist/components/p-B7NbIYjS.js.map +0 -1
- package/dist/components/p-BEQB8EnB.js +0 -2
- package/dist/components/p-BEQB8EnB.js.map +0 -1
- package/dist/components/p-BFWC17em.js +0 -2
- package/dist/components/p-BO6C8abO.js +0 -2
- package/dist/components/p-BO6C8abO.js.map +0 -1
- package/dist/components/p-CC1C8s6m.js +0 -2
- package/dist/components/p-CC1C8s6m.js.map +0 -1
- package/dist/components/p-CZMEhdlA.js.map +0 -1
- package/dist/components/p-CnM9SW_8.js +0 -2
- package/dist/components/p-CnM9SW_8.js.map +0 -1
- package/dist/components/p-CuKn9I5f.js +0 -2
- package/dist/components/p-CuKn9I5f.js.map +0 -1
- package/dist/components/p-DFMM60My.js +0 -2
- package/dist/components/p-DFMM60My.js.map +0 -1
- package/dist/components/p-DIsDiGcp.js.map +0 -1
- package/dist/components/p-Di-ThR90.js.map +0 -1
- package/dist/components/p-drBA73M_.js +0 -2
- package/dist/components/p-drBA73M_.js.map +0 -1
- package/dist/mcp-data/registry/banner.json +0 -206
- package/dist/mcp-data/registry/card.json +0 -126
- package/dist/react/ds-banner.d.ts +0 -12
- package/dist/react/ds-banner.js +0 -12
- package/dist/react/ds-card.d.ts +0 -9
- package/dist/react/ds-card.js +0 -12
- package/dist/types/components/Banner/Banner.d.ts +0 -31
- package/dist/types/components/Card/Card.d.ts +0 -21
- package/dist/types/components/Card/index.d.ts +0 -2
- /package/dist/components/{p-Bo5wikia.js.map → p-0kEg-Z4f.js.map} +0 -0
- /package/dist/components/{p-C0sq948W.js.map → p-BTo4pNdp.js.map} +0 -0
- /package/dist/components/{p-2br9YDbG.js.map → p-BkwBtZs3.js.map} +0 -0
- /package/dist/components/{p-Bx1G7P6W.js.map → p-CPPAndX2.js.map} +0 -0
- /package/dist/components/{p-Di4HBckb.js.map → p-CS12e52R.js.map} +0 -0
- /package/dist/components/{p-BSOZXagj.js.map → p-CZZYGqKz.js.map} +0 -0
- /package/dist/components/{p-t9Ei1kHP.js.map → p-CxyjoTN1.js.map} +0 -0
- /package/dist/components/{p--KbMQblZ.js.map → p-Dh4q5TSS.js.map} +0 -0
- /package/dist/components/{p-CiwdnKKp.js.map → p-DrDHC7V6.js.map} +0 -0
- /package/dist/components/{p-BZAEZENv.js.map → p-DsbhBb5F.js.map} +0 -0
- /package/dist/components/{p-B1pWGQn1.js.map → p-P_4vE1ub.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["flagIconLoaders","FlagAustria","import","then","m","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","systemIconLoaders","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","DeviceDoorSensor","DeviceMobile","DeviceMobileTwo","DeviceOmnicam","DeviceSensor","DeviceTablet","DeviceVehicleGateway","Devices","Document","DocumentArrow","DocumentChart","DocumentDollar","DocumentGear","DocumentInverted","DocumentPencil","DocumentPlus","DocumentQuestion","DocumentReceipt","DocumentStacked","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","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","CACHE_KEY","Symbol","for","iconCacheKey","name","flag","iconCache","g","globalThis","Map","FORBIDDEN_ELEMENTS","Set","isValidIconSvgElement","el","has","localName","toLowerCase","attr","getAttributeNames","lower","startsWith","value","getAttribute","i","children","length","isValidIconSvgRoot","root","parseIconSvg","svg","DOMParser","doc","parseFromString","querySelector","documentElement","iconCss","Icon","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","size","color","loadToken","renderedSvg","resolveSvg","key","token","cached","get","undefined","loaders","loader","Object","prototype","hasOwnProperty","call","set","catch","componentWillLoad","updateSvg","container","replaceChildren","removeAttribute","setAttribute","style","display","flexShrink","width","height","onIconChange","componentDidRender","render","isCustomColor","cls","icon","h","Host","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-cache.ts","src/wc/components/Icon/icon-svg.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. */\n\nexport const flagIconLoaders: Record<string, () => Promise<string>> = {\n FlagAustria: () => import('@ds-mo/icons/svg/flags/FlagAustria').then(m => m.FlagAustria),\n FlagBelgium: () => import('@ds-mo/icons/svg/flags/FlagBelgium').then(m => m.FlagBelgium),\n FlagBulgaria: () => import('@ds-mo/icons/svg/flags/FlagBulgaria').then(m => m.FlagBulgaria),\n FlagCanada: () => import('@ds-mo/icons/svg/flags/FlagCanada').then(m => m.FlagCanada),\n FlagCroatia: () => import('@ds-mo/icons/svg/flags/FlagCroatia').then(m => m.FlagCroatia),\n FlagCyprus: () => import('@ds-mo/icons/svg/flags/FlagCyprus').then(m => m.FlagCyprus),\n FlagCzechRepublic: () => import('@ds-mo/icons/svg/flags/FlagCzechRepublic').then(m => m.FlagCzechRepublic),\n FlagDenmark: () => import('@ds-mo/icons/svg/flags/FlagDenmark').then(m => m.FlagDenmark),\n FlagEU: () => import('@ds-mo/icons/svg/flags/FlagEU').then(m => m.FlagEU),\n FlagEstonia: () => import('@ds-mo/icons/svg/flags/FlagEstonia').then(m => m.FlagEstonia),\n FlagFinland: () => import('@ds-mo/icons/svg/flags/FlagFinland').then(m => m.FlagFinland),\n FlagFrance: () => import('@ds-mo/icons/svg/flags/FlagFrance').then(m => m.FlagFrance),\n FlagGermany: () => import('@ds-mo/icons/svg/flags/FlagGermany').then(m => m.FlagGermany),\n FlagGreece: () => import('@ds-mo/icons/svg/flags/FlagGreece').then(m => m.FlagGreece),\n FlagHungary: () => import('@ds-mo/icons/svg/flags/FlagHungary').then(m => m.FlagHungary),\n FlagIreland: () => import('@ds-mo/icons/svg/flags/FlagIreland').then(m => m.FlagIreland),\n FlagItaly: () => import('@ds-mo/icons/svg/flags/FlagItaly').then(m => m.FlagItaly),\n FlagLatvia: () => import('@ds-mo/icons/svg/flags/FlagLatvia').then(m => m.FlagLatvia),\n FlagLithuania: () => import('@ds-mo/icons/svg/flags/FlagLithuania').then(m => m.FlagLithuania),\n FlagLuxembourg: () => import('@ds-mo/icons/svg/flags/FlagLuxembourg').then(m => m.FlagLuxembourg),\n FlagMalta: () => import('@ds-mo/icons/svg/flags/FlagMalta').then(m => m.FlagMalta),\n FlagMexico: () => import('@ds-mo/icons/svg/flags/FlagMexico').then(m => m.FlagMexico),\n FlagNetherlands: () => import('@ds-mo/icons/svg/flags/FlagNetherlands').then(m => m.FlagNetherlands),\n FlagPoland: () => import('@ds-mo/icons/svg/flags/FlagPoland').then(m => m.FlagPoland),\n FlagPortugal: () => import('@ds-mo/icons/svg/flags/FlagPortugal').then(m => m.FlagPortugal),\n FlagRomania: () => import('@ds-mo/icons/svg/flags/FlagRomania').then(m => m.FlagRomania),\n FlagSlovakia: () => import('@ds-mo/icons/svg/flags/FlagSlovakia').then(m => m.FlagSlovakia),\n FlagSlovenia: () => import('@ds-mo/icons/svg/flags/FlagSlovenia').then(m => m.FlagSlovenia),\n FlagSpain: () => import('@ds-mo/icons/svg/flags/FlagSpain').then(m => m.FlagSpain),\n FlagSweden: () => import('@ds-mo/icons/svg/flags/FlagSweden').then(m => m.FlagSweden),\n FlagUnitedKingdom: () => import('@ds-mo/icons/svg/flags/FlagUnitedKingdom').then(m => m.FlagUnitedKingdom),\n FlagUnitedStates: () => import('@ds-mo/icons/svg/flags/FlagUnitedStates').then(m => m.FlagUnitedStates),\n};\n","/** Auto-generated by scripts/generate-icon-catalog.mjs — do not edit. */\n\nexport const systemIconLoaders: Record<string, () => Promise<string>> = {\n AI: () => import('@ds-mo/icons/svg/AI').then(m => m.AI),\n AIChip: () => import('@ds-mo/icons/svg/AIChip').then(m => m.AIChip),\n AINew: () => import('@ds-mo/icons/svg/AINew').then(m => m.AINew),\n AISparkle: () => import('@ds-mo/icons/svg/AISparkle').then(m => m.AISparkle),\n AUX: () => import('@ds-mo/icons/svg/AUX').then(m => m.AUX),\n AUXFilled: () => import('@ds-mo/icons/svg/AUXFilled').then(m => m.AUXFilled),\n AndroidFilled: () => import('@ds-mo/icons/svg/AndroidFilled').then(m => m.AndroidFilled),\n ArrowDown: () => import('@ds-mo/icons/svg/ArrowDown').then(m => m.ArrowDown),\n ArrowLeft: () => import('@ds-mo/icons/svg/ArrowLeft').then(m => m.ArrowLeft),\n ArrowPath: () => import('@ds-mo/icons/svg/ArrowPath').then(m => m.ArrowPath),\n ArrowRight: () => import('@ds-mo/icons/svg/ArrowRight').then(m => m.ArrowRight),\n ArrowUp: () => import('@ds-mo/icons/svg/ArrowUp').then(m => m.ArrowUp),\n ArrowsDiagonal: () => import('@ds-mo/icons/svg/ArrowsDiagonal').then(m => m.ArrowsDiagonal),\n ArrowsDiff: () => import('@ds-mo/icons/svg/ArrowsDiff').then(m => m.ArrowsDiff),\n ArrowsDiffDisabled: () => import('@ds-mo/icons/svg/ArrowsDiffDisabled').then(m => m.ArrowsDiffDisabled),\n ArrowsVertical: () => import('@ds-mo/icons/svg/ArrowsVertical').then(m => m.ArrowsVertical),\n AtSign: () => import('@ds-mo/icons/svg/AtSign').then(m => m.AtSign),\n Avatar: () => import('@ds-mo/icons/svg/Avatar').then(m => m.Avatar),\n BackslashBrackets: () => import('@ds-mo/icons/svg/BackslashBrackets').then(m => m.BackslashBrackets),\n BatteryCharging: () => import('@ds-mo/icons/svg/BatteryCharging').then(m => m.BatteryCharging),\n BatteryEmpty: () => import('@ds-mo/icons/svg/BatteryEmpty').then(m => m.BatteryEmpty),\n BatteryFull: () => import('@ds-mo/icons/svg/BatteryFull').then(m => m.BatteryFull),\n BatteryHalf: () => import('@ds-mo/icons/svg/BatteryHalf').then(m => m.BatteryHalf),\n BatteryLow: () => import('@ds-mo/icons/svg/BatteryLow').then(m => m.BatteryLow),\n Beaker: () => import('@ds-mo/icons/svg/Beaker').then(m => m.Beaker),\n Bell: () => import('@ds-mo/icons/svg/Bell').then(m => m.Bell),\n BellCircle: () => import('@ds-mo/icons/svg/BellCircle').then(m => m.BellCircle),\n BellExclamation: () => import('@ds-mo/icons/svg/BellExclamation').then(m => m.BellExclamation),\n BellFilled: () => import('@ds-mo/icons/svg/BellFilled').then(m => m.BellFilled),\n BellRinging: () => import('@ds-mo/icons/svg/BellRinging').then(m => m.BellRinging),\n BellWifi: () => import('@ds-mo/icons/svg/BellWifi').then(m => m.BellWifi),\n BlackWhite: () => import('@ds-mo/icons/svg/BlackWhite').then(m => m.BlackWhite),\n BlankUI: () => import('@ds-mo/icons/svg/BlankUI').then(m => m.BlankUI),\n Bluetooth: () => import('@ds-mo/icons/svg/Bluetooth').then(m => m.Bluetooth),\n Bolt: () => import('@ds-mo/icons/svg/Bolt').then(m => m.Bolt),\n BoltFilled: () => import('@ds-mo/icons/svg/BoltFilled').then(m => m.BoltFilled),\n Bookmark: () => import('@ds-mo/icons/svg/Bookmark').then(m => m.Bookmark),\n Box: () => import('@ds-mo/icons/svg/Box').then(m => m.Box),\n Braces: () => import('@ds-mo/icons/svg/Braces').then(m => m.Braces),\n Bug: () => import('@ds-mo/icons/svg/Bug').then(m => m.Bug),\n BuildingFacility: () => import('@ds-mo/icons/svg/BuildingFacility').then(m => m.BuildingFacility),\n BuildingHome: () => import('@ds-mo/icons/svg/BuildingHome').then(m => m.BuildingHome),\n BuildingOffice: () => import('@ds-mo/icons/svg/BuildingOffice').then(m => m.BuildingOffice),\n BuildingPublic: () => import('@ds-mo/icons/svg/BuildingPublic').then(m => m.BuildingPublic),\n BuildingShop: () => import('@ds-mo/icons/svg/BuildingShop').then(m => m.BuildingShop),\n Bulb: () => import('@ds-mo/icons/svg/Bulb').then(m => m.Bulb),\n Calculator: () => import('@ds-mo/icons/svg/Calculator').then(m => m.Calculator),\n Calendar: () => import('@ds-mo/icons/svg/Calendar').then(m => m.Calendar),\n CalendarClock: () => import('@ds-mo/icons/svg/CalendarClock').then(m => m.CalendarClock),\n CameraA: () => import('@ds-mo/icons/svg/CameraA').then(m => m.CameraA),\n CameraB: () => import('@ds-mo/icons/svg/CameraB').then(m => m.CameraB),\n Card: () => import('@ds-mo/icons/svg/Card').then(m => m.Card),\n CardPerson: () => import('@ds-mo/icons/svg/CardPerson').then(m => m.CardPerson),\n Cart: () => import('@ds-mo/icons/svg/Cart').then(m => m.Cart),\n Chart: () => import('@ds-mo/icons/svg/Chart').then(m => m.Chart),\n Check: () => import('@ds-mo/icons/svg/Check').then(m => m.Check),\n CheckCircle: () => import('@ds-mo/icons/svg/CheckCircle').then(m => m.CheckCircle),\n CheckCircleFilled: () => import('@ds-mo/icons/svg/CheckCircleFilled').then(m => m.CheckCircleFilled),\n CheckDouble: () => import('@ds-mo/icons/svg/CheckDouble').then(m => m.CheckDouble),\n ChevronDown: () => import('@ds-mo/icons/svg/ChevronDown').then(m => m.ChevronDown),\n ChevronLeft: () => import('@ds-mo/icons/svg/ChevronLeft').then(m => m.ChevronLeft),\n ChevronLeftDouble: () => import('@ds-mo/icons/svg/ChevronLeftDouble').then(m => m.ChevronLeftDouble),\n ChevronRight: () => import('@ds-mo/icons/svg/ChevronRight').then(m => m.ChevronRight),\n ChevronRightDouble: () => import('@ds-mo/icons/svg/ChevronRightDouble').then(m => m.ChevronRightDouble),\n ChevronUp: () => import('@ds-mo/icons/svg/ChevronUp').then(m => m.ChevronUp),\n ChevronUpDown: () => import('@ds-mo/icons/svg/ChevronUpDown').then(m => m.ChevronUpDown),\n Circle: () => import('@ds-mo/icons/svg/Circle').then(m => m.Circle),\n CircleArrow: () => import('@ds-mo/icons/svg/CircleArrow').then(m => m.CircleArrow),\n CircleArrowsDiff: () => import('@ds-mo/icons/svg/CircleArrowsDiff').then(m => m.CircleArrowsDiff),\n CircleArrowsDiffDisabled: () => import('@ds-mo/icons/svg/CircleArrowsDiffDisabled').then(m => m.CircleArrowsDiffDisabled),\n CircleConcentricFilled: () => import('@ds-mo/icons/svg/CircleConcentricFilled').then(m => m.CircleConcentricFilled),\n CircleConcentricThree: () => import('@ds-mo/icons/svg/CircleConcentricThree').then(m => m.CircleConcentricThree),\n CircleConcentricTwo: () => import('@ds-mo/icons/svg/CircleConcentricTwo').then(m => m.CircleConcentricTwo),\n CircleExclamation: () => import('@ds-mo/icons/svg/CircleExclamation').then(m => m.CircleExclamation),\n CircleExclamationFilled: () => import('@ds-mo/icons/svg/CircleExclamationFilled').then(m => m.CircleExclamationFilled),\n CircleFastForward: () => import('@ds-mo/icons/svg/CircleFastForward').then(m => m.CircleFastForward),\n CircleFilled: () => import('@ds-mo/icons/svg/CircleFilled').then(m => m.CircleFilled),\n CircleGrid: () => import('@ds-mo/icons/svg/CircleGrid').then(m => m.CircleGrid),\n CirclePlay: () => import('@ds-mo/icons/svg/CirclePlay').then(m => m.CirclePlay),\n CircleQuestion: () => import('@ds-mo/icons/svg/CircleQuestion').then(m => m.CircleQuestion),\n CircleSlash: () => import('@ds-mo/icons/svg/CircleSlash').then(m => m.CircleSlash),\n Clipboard: () => import('@ds-mo/icons/svg/Clipboard').then(m => m.Clipboard),\n ClipboardCheck: () => import('@ds-mo/icons/svg/ClipboardCheck').then(m => m.ClipboardCheck),\n Clock: () => import('@ds-mo/icons/svg/Clock').then(m => m.Clock),\n ClockDefer: () => import('@ds-mo/icons/svg/ClockDefer').then(m => m.ClockDefer),\n ClockFilled: () => import('@ds-mo/icons/svg/ClockFilled').then(m => m.ClockFilled),\n ClockSixteenHour: () => import('@ds-mo/icons/svg/ClockSixteenHour').then(m => m.ClockSixteenHour),\n Cloud: () => import('@ds-mo/icons/svg/Cloud').then(m => m.Cloud),\n CloudEllipses: () => import('@ds-mo/icons/svg/CloudEllipses').then(m => m.CloudEllipses),\n CloudLightning: () => import('@ds-mo/icons/svg/CloudLightning').then(m => m.CloudLightning),\n CloudRain: () => import('@ds-mo/icons/svg/CloudRain').then(m => m.CloudRain),\n CloudRainSun: () => import('@ds-mo/icons/svg/CloudRainSun').then(m => m.CloudRainSun),\n CloudSun: () => import('@ds-mo/icons/svg/CloudSun').then(m => m.CloudSun),\n CloudWind: () => import('@ds-mo/icons/svg/CloudWind').then(m => m.CloudWind),\n Cluster: () => import('@ds-mo/icons/svg/Cluster').then(m => m.Cluster),\n Coin: () => import('@ds-mo/icons/svg/Coin').then(m => m.Coin),\n CoinStack: () => import('@ds-mo/icons/svg/CoinStack').then(m => m.CoinStack),\n CoinStackGeneral: () => import('@ds-mo/icons/svg/CoinStackGeneral').then(m => m.CoinStackGeneral),\n Compass: () => import('@ds-mo/icons/svg/Compass').then(m => m.Compass),\n Copy: () => import('@ds-mo/icons/svg/Copy').then(m => m.Copy),\n Crop: () => import('@ds-mo/icons/svg/Crop').then(m => m.Crop),\n Cross: () => import('@ds-mo/icons/svg/Cross').then(m => m.Cross),\n CrossCircle: () => import('@ds-mo/icons/svg/CrossCircle').then(m => m.CrossCircle),\n CrossCircleFilled: () => import('@ds-mo/icons/svg/CrossCircleFilled').then(m => m.CrossCircleFilled),\n Cube: () => import('@ds-mo/icons/svg/Cube').then(m => m.Cube),\n Cup: () => import('@ds-mo/icons/svg/Cup').then(m => m.Cup),\n CursorPointer: () => import('@ds-mo/icons/svg/CursorPointer').then(m => m.CursorPointer),\n CursorPointerMinus: () => import('@ds-mo/icons/svg/CursorPointerMinus').then(m => m.CursorPointerMinus),\n CursorPointerPlus: () => import('@ds-mo/icons/svg/CursorPointerPlus').then(m => m.CursorPointerPlus),\n Dashboard: () => import('@ds-mo/icons/svg/Dashboard').then(m => m.Dashboard),\n DeviceAIDashcamPlus: () => import('@ds-mo/icons/svg/DeviceAIDashcamPlus').then(m => m.DeviceAIDashcamPlus),\n DeviceAssetTracker: () => import('@ds-mo/icons/svg/DeviceAssetTracker').then(m => m.DeviceAssetTracker),\n DeviceDVR: () => import('@ds-mo/icons/svg/DeviceDVR').then(m => m.DeviceDVR),\n DeviceDashcam: () => import('@ds-mo/icons/svg/DeviceDashcam').then(m => m.DeviceDashcam),\n DeviceDashcamLiveStream: () => import('@ds-mo/icons/svg/DeviceDashcamLiveStream').then(m => m.DeviceDashcamLiveStream),\n DeviceDoorSensor: () => import('@ds-mo/icons/svg/DeviceDoorSensor').then(m => m.DeviceDoorSensor),\n DeviceMobile: () => import('@ds-mo/icons/svg/DeviceMobile').then(m => m.DeviceMobile),\n DeviceMobileTwo: () => import('@ds-mo/icons/svg/DeviceMobileTwo').then(m => m.DeviceMobileTwo),\n DeviceOmnicam: () => import('@ds-mo/icons/svg/DeviceOmnicam').then(m => m.DeviceOmnicam),\n DeviceSensor: () => import('@ds-mo/icons/svg/DeviceSensor').then(m => m.DeviceSensor),\n DeviceTablet: () => import('@ds-mo/icons/svg/DeviceTablet').then(m => m.DeviceTablet),\n DeviceVehicleGateway: () => import('@ds-mo/icons/svg/DeviceVehicleGateway').then(m => m.DeviceVehicleGateway),\n Devices: () => import('@ds-mo/icons/svg/Devices').then(m => m.Devices),\n Document: () => import('@ds-mo/icons/svg/Document').then(m => m.Document),\n DocumentArrow: () => import('@ds-mo/icons/svg/DocumentArrow').then(m => m.DocumentArrow),\n DocumentChart: () => import('@ds-mo/icons/svg/DocumentChart').then(m => m.DocumentChart),\n DocumentDollar: () => import('@ds-mo/icons/svg/DocumentDollar').then(m => m.DocumentDollar),\n DocumentGear: () => import('@ds-mo/icons/svg/DocumentGear').then(m => m.DocumentGear),\n DocumentInverted: () => import('@ds-mo/icons/svg/DocumentInverted').then(m => m.DocumentInverted),\n DocumentPencil: () => import('@ds-mo/icons/svg/DocumentPencil').then(m => m.DocumentPencil),\n DocumentPlus: () => import('@ds-mo/icons/svg/DocumentPlus').then(m => m.DocumentPlus),\n DocumentQuestion: () => import('@ds-mo/icons/svg/DocumentQuestion').then(m => m.DocumentQuestion),\n DocumentReceipt: () => import('@ds-mo/icons/svg/DocumentReceipt').then(m => m.DocumentReceipt),\n DocumentStacked: () => import('@ds-mo/icons/svg/DocumentStacked').then(m => m.DocumentStacked),\n Dot: () => import('@ds-mo/icons/svg/Dot').then(m => m.Dot),\n DotFilled: () => import('@ds-mo/icons/svg/DotFilled').then(m => m.DotFilled),\n DotPath: () => import('@ds-mo/icons/svg/DotPath').then(m => m.DotPath),\n Download: () => import('@ds-mo/icons/svg/Download').then(m => m.Download),\n Drag: () => import('@ds-mo/icons/svg/Drag').then(m => m.Drag),\n Ellipses: () => import('@ds-mo/icons/svg/Ellipses').then(m => m.Ellipses),\n Email: () => import('@ds-mo/icons/svg/Email').then(m => m.Email),\n Engine: () => import('@ds-mo/icons/svg/Engine').then(m => m.Engine),\n Enter: () => import('@ds-mo/icons/svg/Enter').then(m => m.Enter),\n EntityAsset: () => import('@ds-mo/icons/svg/EntityAsset').then(m => m.EntityAsset),\n EntityAssetFilled: () => import('@ds-mo/icons/svg/EntityAssetFilled').then(m => m.EntityAssetFilled),\n EntityDriver: () => import('@ds-mo/icons/svg/EntityDriver').then(m => m.EntityDriver),\n EntityDriverFilled: () => import('@ds-mo/icons/svg/EntityDriverFilled').then(m => m.EntityDriverFilled),\n EntityTravelGroup: () => import('@ds-mo/icons/svg/EntityTravelGroup').then(m => m.EntityTravelGroup),\n EntityTravelGroupFilled: () => import('@ds-mo/icons/svg/EntityTravelGroupFilled').then(m => m.EntityTravelGroupFilled),\n EntityVehicle: () => import('@ds-mo/icons/svg/EntityVehicle').then(m => m.EntityVehicle),\n EntityVehicleCharging: () => import('@ds-mo/icons/svg/EntityVehicleCharging').then(m => m.EntityVehicleCharging),\n EntityVehicleChargingFilled: () => import('@ds-mo/icons/svg/EntityVehicleChargingFilled').then(m => m.EntityVehicleChargingFilled),\n EntityVehicleFilled: () => import('@ds-mo/icons/svg/EntityVehicleFilled').then(m => m.EntityVehicleFilled),\n EntityVehicleImmobilized: () => import('@ds-mo/icons/svg/EntityVehicleImmobilized').then(m => m.EntityVehicleImmobilized),\n EntityVehicleImmobilizedFilled: () => import('@ds-mo/icons/svg/EntityVehicleImmobilizedFilled').then(m => m.EntityVehicleImmobilizedFilled),\n ErrorTriangle: () => import('@ds-mo/icons/svg/ErrorTriangle').then(m => m.ErrorTriangle),\n ErrorTriangleFilled: () => import('@ds-mo/icons/svg/ErrorTriangleFilled').then(m => m.ErrorTriangleFilled),\n ErrorTriangleSimpleFilled: () => import('@ds-mo/icons/svg/ErrorTriangleSimpleFilled').then(m => m.ErrorTriangleSimpleFilled),\n Export: () => import('@ds-mo/icons/svg/Export').then(m => m.Export),\n ExternalLink: () => import('@ds-mo/icons/svg/ExternalLink').then(m => m.ExternalLink),\n Eye: () => import('@ds-mo/icons/svg/Eye').then(m => m.Eye),\n EyeDisabled: () => import('@ds-mo/icons/svg/EyeDisabled').then(m => m.EyeDisabled),\n EyeLock: () => import('@ds-mo/icons/svg/EyeLock').then(m => m.EyeLock),\n FastForward: () => import('@ds-mo/icons/svg/FastForward').then(m => m.FastForward),\n FastForwardSkip: () => import('@ds-mo/icons/svg/FastForwardSkip').then(m => m.FastForwardSkip),\n Filters: () => import('@ds-mo/icons/svg/Filters').then(m => m.Filters),\n FitToScreen: () => import('@ds-mo/icons/svg/FitToScreen').then(m => m.FitToScreen),\n Flag: () => import('@ds-mo/icons/svg/Flag').then(m => m.Flag),\n FlagFilled: () => import('@ds-mo/icons/svg/FlagFilled').then(m => m.FlagFilled),\n FloppyDisk: () => import('@ds-mo/icons/svg/FloppyDisk').then(m => m.FloppyDisk),\n Folder: () => import('@ds-mo/icons/svg/Folder').then(m => m.Folder),\n FolderFilled: () => import('@ds-mo/icons/svg/FolderFilled').then(m => m.FolderFilled),\n FuelPump: () => import('@ds-mo/icons/svg/FuelPump').then(m => m.FuelPump),\n FullScreen: () => import('@ds-mo/icons/svg/FullScreen').then(m => m.FullScreen),\n FullScreenExit: () => import('@ds-mo/icons/svg/FullScreenExit').then(m => m.FullScreenExit),\n Gauge: () => import('@ds-mo/icons/svg/Gauge').then(m => m.Gauge),\n GaugeTemperature: () => import('@ds-mo/icons/svg/GaugeTemperature').then(m => m.GaugeTemperature),\n Gear: () => import('@ds-mo/icons/svg/Gear').then(m => m.Gear),\n GearCheck: () => import('@ds-mo/icons/svg/GearCheck').then(m => m.GearCheck),\n Geofence: () => import('@ds-mo/icons/svg/Geofence').then(m => m.Geofence),\n GeofenceCircle: () => import('@ds-mo/icons/svg/GeofenceCircle').then(m => m.GeofenceCircle),\n GeofenceDiamond: () => import('@ds-mo/icons/svg/GeofenceDiamond').then(m => m.GeofenceDiamond),\n GeofenceSquare: () => import('@ds-mo/icons/svg/GeofenceSquare').then(m => m.GeofenceSquare),\n GlobeNetwork: () => import('@ds-mo/icons/svg/GlobeNetwork').then(m => m.GlobeNetwork),\n GlobeWorldMap: () => import('@ds-mo/icons/svg/GlobeWorldMap').then(m => m.GlobeWorldMap),\n Graph: () => import('@ds-mo/icons/svg/Graph').then(m => m.Graph),\n GraphArrow: () => import('@ds-mo/icons/svg/GraphArrow').then(m => m.GraphArrow),\n GraphBars: () => import('@ds-mo/icons/svg/GraphBars').then(m => m.GraphBars),\n GraphDecreasing: () => import('@ds-mo/icons/svg/GraphDecreasing').then(m => m.GraphDecreasing),\n GraphIncreasing: () => import('@ds-mo/icons/svg/GraphIncreasing').then(m => m.GraphIncreasing),\n GroupBy: () => import('@ds-mo/icons/svg/GroupBy').then(m => m.GroupBy),\n Hamburger: () => import('@ds-mo/icons/svg/Hamburger').then(m => m.Hamburger),\n HandOpen: () => import('@ds-mo/icons/svg/HandOpen').then(m => m.HandOpen),\n Headset: () => import('@ds-mo/icons/svg/Headset').then(m => m.Headset),\n History: () => import('@ds-mo/icons/svg/History').then(m => m.History),\n HourGlass: () => import('@ds-mo/icons/svg/HourGlass').then(m => m.HourGlass),\n Image: () => import('@ds-mo/icons/svg/Image').then(m => m.Image),\n Import: () => import('@ds-mo/icons/svg/Import').then(m => m.Import),\n ImportClock: () => import('@ds-mo/icons/svg/ImportClock').then(m => m.ImportClock),\n Inbox: () => import('@ds-mo/icons/svg/Inbox').then(m => m.Inbox),\n IosFilled: () => import('@ds-mo/icons/svg/IosFilled').then(m => m.IosFilled),\n Jerrycan: () => import('@ds-mo/icons/svg/Jerrycan').then(m => m.Jerrycan),\n KeyA: () => import('@ds-mo/icons/svg/KeyA').then(m => m.KeyA),\n KeyB: () => import('@ds-mo/icons/svg/KeyB').then(m => m.KeyB),\n KeyCmd: () => import('@ds-mo/icons/svg/KeyCmd').then(m => m.KeyCmd),\n KeyShift: () => import('@ds-mo/icons/svg/KeyShift').then(m => m.KeyShift),\n LED: () => import('@ds-mo/icons/svg/LED').then(m => m.LED),\n Layers: () => import('@ds-mo/icons/svg/Layers').then(m => m.Layers),\n Leaf: () => import('@ds-mo/icons/svg/Leaf').then(m => m.Leaf),\n LeftCollapse: () => import('@ds-mo/icons/svg/LeftCollapse').then(m => m.LeftCollapse),\n LeftCollapseB: () => import('@ds-mo/icons/svg/LeftCollapseB').then(m => m.LeftCollapseB),\n LeftExpand: () => import('@ds-mo/icons/svg/LeftExpand').then(m => m.LeftExpand),\n LeftExpandB: () => import('@ds-mo/icons/svg/LeftExpandB').then(m => m.LeftExpandB),\n LeftTurnSignal: () => import('@ds-mo/icons/svg/LeftTurnSignal').then(m => m.LeftTurnSignal),\n LetterB: () => import('@ds-mo/icons/svg/LetterB').then(m => m.LetterB),\n LetterC: () => import('@ds-mo/icons/svg/LetterC').then(m => m.LetterC),\n LetterI: () => import('@ds-mo/icons/svg/LetterI').then(m => m.LetterI),\n License: () => import('@ds-mo/icons/svg/License').then(m => m.License),\n LicensePlate: () => import('@ds-mo/icons/svg/LicensePlate').then(m => m.LicensePlate),\n Lifebuoy: () => import('@ds-mo/icons/svg/Lifebuoy').then(m => m.Lifebuoy),\n Link: () => import('@ds-mo/icons/svg/Link').then(m => m.Link),\n List: () => import('@ds-mo/icons/svg/List').then(m => m.List),\n Loads: () => import('@ds-mo/icons/svg/Loads').then(m => m.Loads),\n LocationPin: () => import('@ds-mo/icons/svg/LocationPin').then(m => m.LocationPin),\n LocationPinArrows: () => import('@ds-mo/icons/svg/LocationPinArrows').then(m => m.LocationPinArrows),\n LocationPinDisabled: () => import('@ds-mo/icons/svg/LocationPinDisabled').then(m => m.LocationPinDisabled),\n LocationPinDollar: () => import('@ds-mo/icons/svg/LocationPinDollar').then(m => m.LocationPinDollar),\n LockClosed: () => import('@ds-mo/icons/svg/LockClosed').then(m => m.LockClosed),\n LockClosedFilled: () => import('@ds-mo/icons/svg/LockClosedFilled').then(m => m.LockClosedFilled),\n LockOpen: () => import('@ds-mo/icons/svg/LockOpen').then(m => m.LockOpen),\n Logout: () => import('@ds-mo/icons/svg/Logout').then(m => m.Logout),\n Logs: () => import('@ds-mo/icons/svg/Logs').then(m => m.Logs),\n LogsMagnifyingGlass: () => import('@ds-mo/icons/svg/LogsMagnifyingGlass').then(m => m.LogsMagnifyingGlass),\n MagnifyingGlass: () => import('@ds-mo/icons/svg/MagnifyingGlass').then(m => m.MagnifyingGlass),\n MagnifyingGlassGraph: () => import('@ds-mo/icons/svg/MagnifyingGlassGraph').then(m => m.MagnifyingGlassGraph),\n MagnifyingGlassZoomIn: () => import('@ds-mo/icons/svg/MagnifyingGlassZoomIn').then(m => m.MagnifyingGlassZoomIn),\n MagnifyingGlassZoomOut: () => import('@ds-mo/icons/svg/MagnifyingGlassZoomOut').then(m => m.MagnifyingGlassZoomOut),\n MapNavigation: () => import('@ds-mo/icons/svg/MapNavigation').then(m => m.MapNavigation),\n MapPage: () => import('@ds-mo/icons/svg/MapPage').then(m => m.MapPage),\n MapPin: () => import('@ds-mo/icons/svg/MapPin').then(m => m.MapPin),\n MarkRead: () => import('@ds-mo/icons/svg/MarkRead').then(m => m.MarkRead),\n Match: () => import('@ds-mo/icons/svg/Match').then(m => m.Match),\n MessageBubble: () => import('@ds-mo/icons/svg/MessageBubble').then(m => m.MessageBubble),\n MessageBubbleStack: () => import('@ds-mo/icons/svg/MessageBubbleStack').then(m => m.MessageBubbleStack),\n Messaging: () => import('@ds-mo/icons/svg/Messaging').then(m => m.Messaging),\n Mic: () => import('@ds-mo/icons/svg/Mic').then(m => m.Mic),\n MicMute: () => import('@ds-mo/icons/svg/MicMute').then(m => m.MicMute),\n Minimize: () => import('@ds-mo/icons/svg/Minimize').then(m => m.Minimize),\n Monitor: () => import('@ds-mo/icons/svg/Monitor').then(m => m.Monitor),\n Notification: () => import('@ds-mo/icons/svg/Notification').then(m => m.Notification),\n NumberTen: () => import('@ds-mo/icons/svg/NumberTen').then(m => m.NumberTen),\n OctagonSubtract: () => import('@ds-mo/icons/svg/OctagonSubtract').then(m => m.OctagonSubtract),\n Odometer: () => import('@ds-mo/icons/svg/Odometer').then(m => m.Odometer),\n OverviewAI: () => import('@ds-mo/icons/svg/OverviewAI').then(m => m.OverviewAI),\n PanelCollapse: () => import('@ds-mo/icons/svg/PanelCollapse').then(m => m.PanelCollapse),\n PanelExpand: () => import('@ds-mo/icons/svg/PanelExpand').then(m => m.PanelExpand),\n Paperclip: () => import('@ds-mo/icons/svg/Paperclip').then(m => m.Paperclip),\n PaperplaneSend: () => import('@ds-mo/icons/svg/PaperplaneSend').then(m => m.PaperplaneSend),\n Paragraph: () => import('@ds-mo/icons/svg/Paragraph').then(m => m.Paragraph),\n ParagraphCheck: () => import('@ds-mo/icons/svg/ParagraphCheck').then(m => m.ParagraphCheck),\n ParagraphPencil: () => import('@ds-mo/icons/svg/ParagraphPencil').then(m => m.ParagraphPencil),\n Pause: () => import('@ds-mo/icons/svg/Pause').then(m => m.Pause),\n PauseFilled: () => import('@ds-mo/icons/svg/PauseFilled').then(m => m.PauseFilled),\n Pencil: () => import('@ds-mo/icons/svg/Pencil').then(m => m.Pencil),\n PencilSquiggle: () => import('@ds-mo/icons/svg/PencilSquiggle').then(m => m.PencilSquiggle),\n Person: () => import('@ds-mo/icons/svg/Person').then(m => m.Person),\n PersonAt: () => import('@ds-mo/icons/svg/PersonAt').then(m => m.PersonAt),\n PersonConnect: () => import('@ds-mo/icons/svg/PersonConnect').then(m => m.PersonConnect),\n PersonFrame: () => import('@ds-mo/icons/svg/PersonFrame').then(m => m.PersonFrame),\n PersonGear: () => import('@ds-mo/icons/svg/PersonGear').then(m => m.PersonGear),\n PersonGroup: () => import('@ds-mo/icons/svg/PersonGroup').then(m => m.PersonGroup),\n PersonGroupArrows: () => import('@ds-mo/icons/svg/PersonGroupArrows').then(m => m.PersonGroupArrows),\n PersonManager: () => import('@ds-mo/icons/svg/PersonManager').then(m => m.PersonManager),\n PersonShield: () => import('@ds-mo/icons/svg/PersonShield').then(m => m.PersonShield),\n PersonStar: () => import('@ds-mo/icons/svg/PersonStar').then(m => m.PersonStar),\n Phone: () => import('@ds-mo/icons/svg/Phone').then(m => m.Phone),\n PhoneDisconnect: () => import('@ds-mo/icons/svg/PhoneDisconnect').then(m => m.PhoneDisconnect),\n PicmanFilled: () => import('@ds-mo/icons/svg/PicmanFilled').then(m => m.PicmanFilled),\n Pin: () => import('@ds-mo/icons/svg/Pin').then(m => m.Pin),\n PipBottomLeft: () => import('@ds-mo/icons/svg/PipBottomLeft').then(m => m.PipBottomLeft),\n PipBottomRight: () => import('@ds-mo/icons/svg/PipBottomRight').then(m => m.PipBottomRight),\n PipTopLeft: () => import('@ds-mo/icons/svg/PipTopLeft').then(m => m.PipTopLeft),\n PipTopRight: () => import('@ds-mo/icons/svg/PipTopRight').then(m => m.PipTopRight),\n Play: () => import('@ds-mo/icons/svg/Play').then(m => m.Play),\n PlayFilled: () => import('@ds-mo/icons/svg/PlayFilled').then(m => m.PlayFilled),\n Plug: () => import('@ds-mo/icons/svg/Plug').then(m => m.Plug),\n Plus: () => import('@ds-mo/icons/svg/Plus').then(m => m.Plus),\n PlusCircle: () => import('@ds-mo/icons/svg/PlusCircle').then(m => m.PlusCircle),\n Preferences: () => import('@ds-mo/icons/svg/Preferences').then(m => m.Preferences),\n Printer: () => import('@ds-mo/icons/svg/Printer').then(m => m.Printer),\n PunchCard: () => import('@ds-mo/icons/svg/PunchCard').then(m => m.PunchCard),\n Puzzle: () => import('@ds-mo/icons/svg/Puzzle').then(m => m.Puzzle),\n PuzzleJoined: () => import('@ds-mo/icons/svg/PuzzleJoined').then(m => m.PuzzleJoined),\n Redo: () => import('@ds-mo/icons/svg/Redo').then(m => m.Redo),\n Refresh: () => import('@ds-mo/icons/svg/Refresh').then(m => m.Refresh),\n Restore: () => import('@ds-mo/icons/svg/Restore').then(m => m.Restore),\n RewardRibbon: () => import('@ds-mo/icons/svg/RewardRibbon').then(m => m.RewardRibbon),\n Rewind: () => import('@ds-mo/icons/svg/Rewind').then(m => m.Rewind),\n RewindSkip: () => import('@ds-mo/icons/svg/RewindSkip').then(m => m.RewindSkip),\n RewindSkipFilled: () => import('@ds-mo/icons/svg/RewindSkipFilled').then(m => m.RewindSkipFilled),\n RightCollapse: () => import('@ds-mo/icons/svg/RightCollapse').then(m => m.RightCollapse),\n RightCollapseB: () => import('@ds-mo/icons/svg/RightCollapseB').then(m => m.RightCollapseB),\n RightExpand: () => import('@ds-mo/icons/svg/RightExpand').then(m => m.RightExpand),\n RightExpandB: () => import('@ds-mo/icons/svg/RightExpandB').then(m => m.RightExpandB),\n RightTurnSignal: () => import('@ds-mo/icons/svg/RightTurnSignal').then(m => m.RightTurnSignal),\n Rotate: () => import('@ds-mo/icons/svg/Rotate').then(m => m.Rotate),\n Satellite: () => import('@ds-mo/icons/svg/Satellite').then(m => m.Satellite),\n Scan: () => import('@ds-mo/icons/svg/Scan').then(m => m.Scan),\n Scissor: () => import('@ds-mo/icons/svg/Scissor').then(m => m.Scissor),\n Scope: () => import('@ds-mo/icons/svg/Scope').then(m => m.Scope),\n Seatbelt: () => import('@ds-mo/icons/svg/Seatbelt').then(m => m.Seatbelt),\n SeatbeltBuckle: () => import('@ds-mo/icons/svg/SeatbeltBuckle').then(m => m.SeatbeltBuckle),\n Shapes: () => import('@ds-mo/icons/svg/Shapes').then(m => m.Shapes),\n ShareCircles: () => import('@ds-mo/icons/svg/ShareCircles').then(m => m.ShareCircles),\n ShareCirclesFilled: () => import('@ds-mo/icons/svg/ShareCirclesFilled').then(m => m.ShareCirclesFilled),\n SharePaperplane: () => import('@ds-mo/icons/svg/SharePaperplane').then(m => m.SharePaperplane),\n Shield: () => import('@ds-mo/icons/svg/Shield').then(m => m.Shield),\n ShieldCheck: () => import('@ds-mo/icons/svg/ShieldCheck').then(m => m.ShieldCheck),\n ShieldCheckmarkFilled: () => import('@ds-mo/icons/svg/ShieldCheckmarkFilled').then(m => m.ShieldCheckmarkFilled),\n ShieldCircle: () => import('@ds-mo/icons/svg/ShieldCircle').then(m => m.ShieldCircle),\n ShieldCircleFilled: () => import('@ds-mo/icons/svg/ShieldCircleFilled').then(m => m.ShieldCircleFilled),\n ShieldCross: () => import('@ds-mo/icons/svg/ShieldCross').then(m => m.ShieldCross),\n ShieldCrossFilled: () => import('@ds-mo/icons/svg/ShieldCrossFilled').then(m => m.ShieldCrossFilled),\n ShieldFilled: () => import('@ds-mo/icons/svg/ShieldFilled').then(m => m.ShieldFilled),\n ShieldLock: () => import('@ds-mo/icons/svg/ShieldLock').then(m => m.ShieldLock),\n ShieldLockFilled: () => import('@ds-mo/icons/svg/ShieldLockFilled').then(m => m.ShieldLockFilled),\n ShoppingBag: () => import('@ds-mo/icons/svg/ShoppingBag').then(m => m.ShoppingBag),\n Snowflake: () => import('@ds-mo/icons/svg/Snowflake').then(m => m.Snowflake),\n SpeakerPhone: () => import('@ds-mo/icons/svg/SpeakerPhone').then(m => m.SpeakerPhone),\n SpeedometerArrow: () => import('@ds-mo/icons/svg/SpeedometerArrow').then(m => m.SpeedometerArrow),\n SpeedometerLeft: () => import('@ds-mo/icons/svg/SpeedometerLeft').then(m => m.SpeedometerLeft),\n SpeedometerRight: () => import('@ds-mo/icons/svg/SpeedometerRight').then(m => m.SpeedometerRight),\n SpikeCirclePercentage: () => import('@ds-mo/icons/svg/SpikeCirclePercentage').then(m => m.SpikeCirclePercentage),\n SpikeCirclePercentageFilled: () => import('@ds-mo/icons/svg/SpikeCirclePercentageFilled').then(m => m.SpikeCirclePercentageFilled),\n Square: () => import('@ds-mo/icons/svg/Square').then(m => m.Square),\n SquareArrowTopRight: () => import('@ds-mo/icons/svg/SquareArrowTopRight').then(m => m.SquareArrowTopRight),\n SquareCheck: () => import('@ds-mo/icons/svg/SquareCheck').then(m => m.SquareCheck),\n SquareCheckFilled: () => import('@ds-mo/icons/svg/SquareCheckFilled').then(m => m.SquareCheckFilled),\n SquareDollar: () => import('@ds-mo/icons/svg/SquareDollar').then(m => m.SquareDollar),\n SquareDollarFilled: () => import('@ds-mo/icons/svg/SquareDollarFilled').then(m => m.SquareDollarFilled),\n SquareDottedMinus: () => import('@ds-mo/icons/svg/SquareDottedMinus').then(m => m.SquareDottedMinus),\n SquareFilled: () => import('@ds-mo/icons/svg/SquareFilled').then(m => m.SquareFilled),\n SquareGrid: () => import('@ds-mo/icons/svg/SquareGrid').then(m => m.SquareGrid),\n SquarePencil: () => import('@ds-mo/icons/svg/SquarePencil').then(m => m.SquarePencil),\n SquarePlus: () => import('@ds-mo/icons/svg/SquarePlus').then(m => m.SquarePlus),\n SquareSubtract: () => import('@ds-mo/icons/svg/SquareSubtract').then(m => m.SquareSubtract),\n SquareSubtractFilled: () => import('@ds-mo/icons/svg/SquareSubtractFilled').then(m => m.SquareSubtractFilled),\n Star: () => import('@ds-mo/icons/svg/Star').then(m => m.Star),\n StarFilled: () => import('@ds-mo/icons/svg/StarFilled').then(m => m.StarFilled),\n Stopwatch: () => import('@ds-mo/icons/svg/Stopwatch').then(m => m.Stopwatch),\n Street: () => import('@ds-mo/icons/svg/Street').then(m => m.Street),\n Subtract: () => import('@ds-mo/icons/svg/Subtract').then(m => m.Subtract),\n SubtractCircle: () => import('@ds-mo/icons/svg/SubtractCircle').then(m => m.SubtractCircle),\n SubtractCircleFilled: () => import('@ds-mo/icons/svg/SubtractCircleFilled').then(m => m.SubtractCircleFilled),\n Table: () => import('@ds-mo/icons/svg/Table').then(m => m.Table),\n Tag: () => import('@ds-mo/icons/svg/Tag').then(m => m.Tag),\n Target: () => import('@ds-mo/icons/svg/Target').then(m => m.Target),\n TargetDollar: () => import('@ds-mo/icons/svg/TargetDollar').then(m => m.TargetDollar),\n Text: () => import('@ds-mo/icons/svg/Text').then(m => m.Text),\n ThemeDark: () => import('@ds-mo/icons/svg/ThemeDark').then(m => m.ThemeDark),\n ThemeLight: () => import('@ds-mo/icons/svg/ThemeLight').then(m => m.ThemeLight),\n ThumbsDown: () => import('@ds-mo/icons/svg/ThumbsDown').then(m => m.ThumbsDown),\n ThumbsDownFilled: () => import('@ds-mo/icons/svg/ThumbsDownFilled').then(m => m.ThumbsDownFilled),\n ThumbsUp: () => import('@ds-mo/icons/svg/ThumbsUp').then(m => m.ThumbsUp),\n ThumbsUpFilled: () => import('@ds-mo/icons/svg/ThumbsUpFilled').then(m => m.ThumbsUpFilled),\n TirePressure: () => import('@ds-mo/icons/svg/TirePressure').then(m => m.TirePressure),\n Toggle: () => import('@ds-mo/icons/svg/Toggle').then(m => m.Toggle),\n TrafficLight: () => import('@ds-mo/icons/svg/TrafficLight').then(m => m.TrafficLight),\n Trash: () => import('@ds-mo/icons/svg/Trash').then(m => m.Trash),\n Trophy: () => import('@ds-mo/icons/svg/Trophy').then(m => m.Trophy),\n TurnSignal: () => import('@ds-mo/icons/svg/TurnSignal').then(m => m.TurnSignal),\n TurnSignalFilled: () => import('@ds-mo/icons/svg/TurnSignalFilled').then(m => m.TurnSignalFilled),\n Undo: () => import('@ds-mo/icons/svg/Undo').then(m => m.Undo),\n Upgrade: () => import('@ds-mo/icons/svg/Upgrade').then(m => m.Upgrade),\n Upload: () => import('@ds-mo/icons/svg/Upload').then(m => m.Upload),\n VehicleTrailer: () => import('@ds-mo/icons/svg/VehicleTrailer').then(m => m.VehicleTrailer),\n VehicleTruck: () => import('@ds-mo/icons/svg/VehicleTruck').then(m => m.VehicleTruck),\n VehicleTruckMagnifyingGlass: () => import('@ds-mo/icons/svg/VehicleTruckMagnifyingGlass').then(m => m.VehicleTruckMagnifyingGlass),\n Video: () => import('@ds-mo/icons/svg/Video').then(m => m.Video),\n ViewMenu: () => import('@ds-mo/icons/svg/ViewMenu').then(m => m.ViewMenu),\n Volume: () => import('@ds-mo/icons/svg/Volume').then(m => m.Volume),\n VolumeFilled: () => import('@ds-mo/icons/svg/VolumeFilled').then(m => m.VolumeFilled),\n VolumeMute: () => import('@ds-mo/icons/svg/VolumeMute').then(m => m.VolumeMute),\n VolumeMuteFilled: () => import('@ds-mo/icons/svg/VolumeMuteFilled').then(m => m.VolumeMuteFilled),\n WandSparkle: () => import('@ds-mo/icons/svg/WandSparkle').then(m => m.WandSparkle),\n Waveform: () => import('@ds-mo/icons/svg/Waveform').then(m => m.Waveform),\n Webhooks: () => import('@ds-mo/icons/svg/Webhooks').then(m => m.Webhooks),\n Whistle: () => import('@ds-mo/icons/svg/Whistle').then(m => m.Whistle),\n WifiHorizontal: () => import('@ds-mo/icons/svg/WifiHorizontal').then(m => m.WifiHorizontal),\n WifiTower: () => import('@ds-mo/icons/svg/WifiTower').then(m => m.WifiTower),\n WifiVertical: () => import('@ds-mo/icons/svg/WifiVertical').then(m => m.WifiVertical),\n WifiVerticalFilled: () => import('@ds-mo/icons/svg/WifiVerticalFilled').then(m => m.WifiVerticalFilled),\n WifiVerticalFilledDisabled: () => import('@ds-mo/icons/svg/WifiVerticalFilledDisabled').then(m => m.WifiVerticalFilledDisabled),\n WorkflowA: () => import('@ds-mo/icons/svg/WorkflowA').then(m => m.WorkflowA),\n WorkflowB: () => import('@ds-mo/icons/svg/WorkflowB').then(m => m.WorkflowB),\n Wrench: () => import('@ds-mo/icons/svg/Wrench').then(m => m.Wrench),\n ZoomBackOut: () => import('@ds-mo/icons/svg/ZoomBackOut').then(m => m.ZoomBackOut),\n};\n","/**\n * Shared SVG glyph cache for ds-icon.\n *\n * Keyed on a global symbol so every module instance (the compiled Stencil chunk\n * inside dist/components and any direct source import, e.g. via `@ds-mo/ui/utils`)\n * reads and writes the same cache. Without this, `registerIcons` called from an\n * app would fill a different Map than the one ds-icon resolves from.\n */\nconst CACHE_KEY = Symbol.for('ds-mo.icon-svg-cache');\n\ntype IconCacheMap = Map<string, string>;\n\ntype GlobalWithIconCache = { [CACHE_KEY]?: IconCacheMap };\n\nexport function iconCacheKey(name: string, flag: boolean): string {\n return flag ? `flag:${name}` : `system:${name}`;\n}\n\nexport function iconCache(): IconCacheMap {\n const g = globalThis as GlobalWithIconCache;\n return (g[CACHE_KEY] ??= new Map());\n}\n\n/**\n * Pre-register glyphs so ds-icon renders them synchronously — no lazy-chunk\n * fetch, no first-paint pop-in. Import the SVG strings from `@ds-mo/icons`\n * in the app (statically, so they ship in the app's own bundle):\n *\n * ```ts\n * import { Bell } from '@ds-mo/icons/svg/Bell';\n * import { FlagUnitedStates } from '@ds-mo/icons/svg/flags/FlagUnitedStates';\n * import { registerIcons } from '@ds-mo/ui/utils';\n *\n * registerIcons({ Bell });\n * registerIcons({ FlagUnitedStates });\n * ```\n *\n * Icons that are not registered still work — they lazy-load on first render\n * and stay cached afterwards.\n */\nexport function registerIcons(icons: Record<string, string>, options?: { flag?: boolean }): void {\n const cache = iconCache();\n for (const [name, svg] of Object.entries(icons)) {\n const flag = options?.flag ?? name.startsWith('Flag');\n cache.set(iconCacheKey(name, flag), svg);\n }\n}\n","/**\n * Glyph markup validation + Trusted-Types-safe parsing for ds-icon.\n *\n * Glyphs normally come from the trusted @ds-mo/icons build pipeline, but\n * `registerIcons` accepts arbitrary app-provided strings and injection is a\n * sink — so every glyph is validated at the render boundary. Injection uses\n * parsed DOM nodes (never innerHTML), which keeps ds-icon working under a\n * strict CSP with `require-trusted-types-for 'script'`.\n */\n\n/** Structural view of an element so the walk is unit-testable without a DOM. */\nexport interface IconSvgElementLike {\n localName: string;\n getAttributeNames(): string[];\n getAttribute(name: string): string | null;\n children: ArrayLike<IconSvgElementLike>;\n}\n\n/** Elements that can execute or embed foreign content — never valid in a glyph. */\nconst FORBIDDEN_ELEMENTS = new Set([\n 'script',\n 'foreignobject',\n 'iframe',\n 'object',\n 'embed',\n 'animation', // SVG 1.2 external-content element (distinct from animate/animateTransform)\n]);\n\nfunction isValidIconSvgElement(el: IconSvgElementLike): boolean {\n if (FORBIDDEN_ELEMENTS.has(el.localName.toLowerCase())) return false;\n\n for (const attr of el.getAttributeNames()) {\n const lower = attr.toLowerCase();\n // Event handler attributes (onclick, onload, …) — any casing.\n if (lower.startsWith('on')) return false;\n // References must stay internal (#gradient-id); rejects javascript:, data:,\n // and external URLs on <use>, <a>, <image>, …\n if (lower === 'href' || lower === 'xlink:href') {\n const value = el.getAttribute(attr) ?? '';\n if (!value.startsWith('#')) return false;\n }\n }\n\n for (let i = 0; i < el.children.length; i++) {\n if (!isValidIconSvgElement(el.children[i])) return false;\n }\n\n return true;\n}\n\n/** True when `root` is an `<svg>` whose whole tree passes validation. */\nexport function isValidIconSvgRoot(root: IconSvgElementLike | null): boolean {\n return root != null && root.localName === 'svg' && isValidIconSvgElement(root);\n}\n\n/**\n * Parse + validate glyph markup. Returns a detached `<svg>` element ready to\n * append (appending adopts it into the document), or `null` when the markup\n * is not well-formed XML, not rooted at `<svg>`, or fails validation —\n * ds-icon renders an empty fixed-size box in that case.\n */\nexport function parseIconSvg(svg: string): SVGElement | null {\n if (typeof DOMParser === 'undefined') return null;\n\n const doc = new DOMParser().parseFromString(svg, 'image/svg+xml');\n // Malformed XML yields a parsererror document (root or nested, per browser).\n if (doc.querySelector('parsererror')) return null;\n\n const root = doc.documentElement as unknown as IconSvgElementLike;\n if (!isValidIconSvgRoot(root)) return null;\n\n return doc.documentElement as unknown as SVGElement;\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: inherit;\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, State, Watch, h, Host } from '@stencil/core';\nimport { flagIconLoaders } from './flag-icon-catalog';\nimport { systemIconLoaders } from './system-icon-catalog';\nimport { iconCache, iconCacheKey } from './icon-cache';\nimport { parseIconSvg } from './icon-svg';\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 /** Exact canonical IcoMo export name, including the `Flag` prefix for flags. */\n @Prop() name: string = '';\n /** Iconography size token. Maps to `--dimension-iconography-{size}`. Default `md` = 20 px. */\n @Prop() size: IconSize = 'md';\n /**\n * Semantic foreground color token, or a raw CSS var reference. `tertiary`\n * and the still-fainter `quaternary` are restricted to icons inside genuinely\n * inactive/disabled UI or to purely decorative icons; informative icons must\n * retain sufficient contrast.\n */\n @Prop() color: IconColor = 'inherit';\n /** Accessible label. Sets `role=\"img\"` and `aria-label`. Omit for decorative icons. */\n @Prop() label: string | undefined;\n\n /** Resolved SVG markup — set synchronously on cache hit, async after a lazy load. */\n @State() private svg: string = '';\n\n /** Guards against out-of-order async resolutions when `name`/`flag` change quickly. */\n private loadToken = 0;\n\n /**\n * Cache hit → render synchronously (pre-registered via `registerIcons` or\n * previously loaded). Miss → fire the per-icon lazy loader; the glyph pops in\n * when the (tiny, per-icon) chunk resolves and stays cached for every other\n * ds-icon instance.\n */\n private resolveSvg() {\n const flag = this.name.startsWith('Flag');\n const key = iconCacheKey(this.name, flag);\n const token = ++this.loadToken;\n\n const cached = iconCache().get(key);\n if (cached !== undefined) {\n this.svg = cached;\n return;\n }\n\n // Own-key lookup only: names resolve by exact canonical IcoMo export key —\n // never meta.json aliases (not in the maps) and never inherited prototype\n // keys ('constructor', 'toString', …) that a bare index access would hit.\n const loaders = flag ? flagIconLoaders : systemIconLoaders;\n const loader = Object.prototype.hasOwnProperty.call(loaders, this.name)\n ? loaders[this.name]\n : undefined;\n if (!loader) {\n this.svg = '';\n return;\n }\n\n loader()\n .then(svg => {\n iconCache().set(key, svg);\n if (token === this.loadToken) this.svg = svg;\n })\n .catch(() => {\n if (token === this.loadToken) this.svg = '';\n });\n }\n\n componentWillLoad() {\n // Fire-and-forget: do not return the promise — a cache miss must not block\n // the parent render tree on a network fetch.\n this.resolveSvg();\n }\n\n /** Last markup injected into the DOM — skips redundant re-parse on unrelated re-renders. */\n private renderedSvg: string | null = null;\n\n private updateSvg() {\n const container = this.el.querySelector<HTMLElement>('.icon__svg');\n if (!container) return;\n if (this.svg === this.renderedSvg) return;\n this.renderedSvg = this.svg;\n\n // Validate + inject as parsed DOM nodes — never innerHTML. Keeps ds-icon\n // Trusted-Types compatible and rejects executable/foreign content in\n // glyph strings (registerIcons accepts app-provided markup).\n const svg = this.svg ? parseIconSvg(this.svg) : null;\n if (!svg) {\n container.replaceChildren();\n return;\n }\n\n // Stencil's scoped CSS cannot reach injected elements (no sc-* class).\n // Apply width/height as inline styles so sizing works regardless of scope class.\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 container.replaceChildren(svg);\n }\n\n @Watch('name')\n onIconChange() {\n this.resolveSvg();\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":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{p as t,H as e,h as s,a,t as c}from"./index.js";import{d as i}from"./p-BEQB8EnB.js";import{d}from"./p-BSOZXagj.js";const n=()=>`.sc-ds-empty-state-h{display:block;width:100%;height:100%}.sc-ds-empty-state-h,.empty-state.sc-ds-empty-state,.empty-state__text.sc-ds-empty-state{box-sizing:border-box}.empty-state.sc-ds-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--dimension-space-100);height:100%;width:100%;text-align:center}.empty-state__icon.sc-ds-empty-state{flex:0 0 auto}.empty-state__text.sc-ds-empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--dimension-space-050);width:100%}`;const o=t(class t extends e{constructor(t){super();if(t!==false){this.__registerHost()}this.body=""}render(){const t=Boolean(this.heading?.trim());const e=t&&Boolean(this.icon);return s(a,{key:"86cd574d196e72356d0c37c5bca4bf4fc68b0d02"},s("div",{key:"bedee33449e10a812e1eb6abd9b852c002388f21",class:"empty-state"},e&&s("ds-icon",{key:"3cb6ac652a95512131110ac4e019c27d6ce6ff83",class:"empty-state__icon",name:this.icon,size:"xl",color:"primary"}),s("div",{key:"b1bdecceb6bbb432e1ce577f23d504d546cbf41c",class:"empty-state__text"},t&&s("ds-text",{key:"a9390e60b125f3d2b6d68cc4653a489308c3ae69",class:"empty-state__title",as:"div",variant:"text-title-small",color:"primary",align:"center"},this.heading),this.body&&s("ds-text",{key:"8c62ad03bbb9f5451764b9dbf198d5035150303f",class:"empty-state__body",as:"p",variant:"text-body-medium",color:"secondary",align:"center"},this.body))))}static get style(){return n()}},[2,"ds-empty-state",{icon:[1],heading:[1],body:[1]}]);function m(){if(typeof customElements==="undefined"){return}const t=["ds-empty-state","ds-icon","ds-text"];t.forEach((t=>{switch(t){case"ds-empty-state":if(!customElements.get(c(t))){customElements.define(c(t),o)}break;case"ds-icon":if(!customElements.get(c(t))){i()}break;case"ds-text":if(!customElements.get(c(t))){d()}break}}))}m();export{o as E,m as d};
|
|
2
|
-
//# sourceMappingURL=p-BFWC17em.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{p as t,H as i,h as s,a as o,t as n}from"./index.js";import{d as e}from"./p-BSOZXagj.js";import{a as r,T as a}from"./p-drBA73M_.js";import{r as h}from"./p-BWUTr_XN.js";import{a as d,r as l}from"./p-BHtg1fh3.js";import{C as c}from"./p-Cx-ywr1e.js";const p=new Set(["⌘","⇧","⌥","⌃"]);const u={alt:"⌥",cmd:"⌘",command:"⌘",control:"⌃",ctrl:"⌃",option:"⌥",shift:"⇧"};function f(t){return u[t.toLowerCase()]??t}function m(t){const i=t.trim();if(!i)return[];if(i.includes("+")){return i.split("+").map((t=>t.trim())).filter(Boolean).map(f)}if(/\s/.test(i)){return i.split(/\s+/).filter(Boolean).map(f)}const s=Array.from(i);const o=[];while(s.length>1&&p.has(s[0])){o.push(s.shift())}o.push(s.join(""));return o}const g={top:"bottom",right:"left",bottom:"top",left:"right"};function v(t,i){const{anchorRect:s,popupWidth:o,popupHeight:n,align:e,sideOffsetPx:r,alignOffsetPx:a}=t;if(i==="top"||i==="bottom"){return{x:e==="start"?s.left+a:e==="end"?s.right-o+a:s.left+s.width/2-o/2+a,y:i==="top"?s.top-n-r:s.bottom+r}}return{x:i==="left"?s.left-o-r:s.right+r,y:e==="start"?s.top+a:e==="end"?s.bottom-n+a:s.top+s.height/2-n/2+a}}function y(t,i,s){const{popupWidth:o,popupHeight:n,viewportPadPx:e,viewportWidth:r,viewportHeight:a}=t;if(i==="top"||i==="bottom"){return Math.max(e-s.y,0)+Math.max(s.y+n-(a-e),0)}return Math.max(e-s.x,0)+Math.max(s.x+o-(r-e),0)}function b(t){const i=v(t,t.side);const s=g[t.side];const o=v(t,s);const n=y(t,t.side,i);const e=y(t,s,o);const r=n>0&&e<n;const a=r?s:t.side;const h=r?o:i;const d=Math.max(t.viewportPadPx,t.viewportWidth-t.popupWidth-t.viewportPadPx);const l=Math.max(t.viewportPadPx,t.viewportHeight-t.popupHeight-t.viewportPadPx);return{x:Math.min(Math.max(h.x,t.viewportPadPx),d),y:Math.min(Math.max(h.y,t.viewportPadPx),l),resolvedSide:a}}const x=()=>`.ds-control--md.sc-ds-tooltip-h,.ds-control--md.sc-ds-tooltip{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050);--ds-control-radius:var(--dimension-radius-025)}.ds-control--sm.sc-ds-tooltip-h,.ds-control--sm.sc-ds-tooltip{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025);--ds-control-radius:var(--dimension-radius-025)}.ds-control--xs.sc-ds-tooltip-h,.ds-control--xs.sc-ds-tooltip{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0;--ds-control-radius:var(--dimension-radius-025)}.ds-control--md.sc-ds-tooltip-h,.ds-control--md.sc-ds-tooltip{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050);--ds-control-radius:var(--dimension-radius-025)}.ds-control--sm.sc-ds-tooltip-h,.ds-control--sm.sc-ds-tooltip{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025);--ds-control-radius:var(--dimension-radius-025)}.ds-control--xs.sc-ds-tooltip-h,.ds-control--xs.sc-ds-tooltip{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0;--ds-control-radius:var(--dimension-radius-025)}.key-hint-group.sc-ds-tooltip{display:inline-flex;align-items:center;gap:var(--dimension-stroke-width-012);width:max-content;flex-shrink:0}.key-hint.sc-ds-tooltip{box-sizing:border-box;min-width:var(--ds-control-icon, var(--dimension-iconography-md));width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md));padding-inline:0;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background-color:var(--color-background-secondary);border:var(--dimension-stroke-width-015) solid var(--color-border-tertiary);border-bottom-width:var(--dimension-stroke-width-025);border-radius:var(--dimension-radius-025);color:var(--color-foreground-secondary)}.key-hint--wide.sc-ds-tooltip{width:calc(var(--ds-control-icon, var(--dimension-iconography-md)) * 1.5)}.key-hint__label.sc-ds-tooltip{display:inline-flex;width:max-content;min-width:max-content;font-family:var(--typography-font-family);font-size:var(--typography-fontsize-xs);line-height:1;font-weight:var(--typography-weight-regular);letter-spacing:0;text-transform:uppercase;color:inherit}.ds-control--xs.sc-ds-tooltip .key-hint__label.sc-ds-tooltip{font-size:calc(var(--typography-fontsize-xs) * 0.78)}.tooltip-popup.sc-ds-tooltip{box-sizing:border-box;background-color:var(--color-background-primary);border-radius:var(--ds-control-radius, var(--dimension-radius-025));box-shadow:var(--effect-elevation-elevated-floating);white-space:nowrap;pointer-events:none;animation:tooltipFadeIn var(--effect-motion-short-2) forwards;will-change:transform;backface-visibility:hidden}.tooltip-popup--instant.sc-ds-tooltip{animation:none;opacity:1}.tooltip-popup--closing.sc-ds-tooltip{animation:tooltipFadeOut var(--effect-motion-short-3) forwards}.tooltip-inner.sc-ds-tooltip{box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));display:flex;align-items:center;gap:var(--ds-control-gap, var(--dimension-space-050));padding:0 var(--ds-control-padding-inline, var(--dimension-space-075))}.tooltip-inner.sc-ds-tooltip>ds-text.sc-ds-tooltip{flex-shrink:0;min-width:max-content;max-width:none;padding:0 var(--ds-control-label-inset, var(--dimension-space-025));color:var(--color-foreground-primary)}@keyframes tooltipFadeIn{from{opacity:0}to{opacity:1}}@keyframes tooltipFadeOut{from{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.tooltip-popup.sc-ds-tooltip,.tooltip-popup--instant.sc-ds-tooltip{animation:none;opacity:1}.tooltip-popup--closing.sc-ds-tooltip{animation:none;opacity:0}}`;const w={md:a.size400,sm:a.size300,xs:a.size200};let P=0;let C=0;let O=null;function k(t){const i=document.createElement("ds-text");i.as="span";i.variant=t.variant;i.emphasis=t.emphasis??false;i.color=t.color??"inherit";if(t.wrap)i.wrap=t.wrap;i.textContent=t.text;return i}function z(t){t.style.flexShrink="0";t.style.minWidth="max-content";t.style.maxWidth="none";t.style.padding="0 var(--ds-control-label-inset, var(--dimension-space-025))";t.style.color="var(--color-foreground-primary)"}const M=t(class t extends i{constructor(t){super();if(t!==false){this.__registerHost()}this.size="md";this.side="top";this.align="center";this.sideOffset=r.space050;this.alignOffset=0;this.delay=a.animationDelayMedium3;this.shortcutKeyPosition="end";this.tooltipId=`ds-tooltip-${++C}`;this.delayTimer=null;this.closeTimer=null;this.anchor=null;this.popupEl=null;this.positionObserver=null;this.anchorObserver=null;this.positionFrame=null;this.skipEnterAnimation=false;this.isOpen=false;this.lastInteractionWasKeyboard=false;this.pointerEnterHandler=t=>{if(t.pointerType==="touch")return;this.show()};this.pointerLeaveHandler=t=>{if(t.pointerType==="touch")return;this.hide()};this.pointerDownHandler=t=>{this.lastInteractionWasKeyboard=false;if(t.pointerType==="touch"&&(this.isOpen||this.popupEl))this.hideInstant()};this.keyDownHandler=()=>{this.lastInteractionWasKeyboard=true};this.focusHandler=()=>{if(this.lastInteractionWasKeyboard||this.anchor?.matches(":focus-visible"))this.show()};this.blurHandler=t=>{const i=t.relatedTarget;if(i&&this.anchor?.contains(i))return;this.hide()};this.scrollResizeHandler=()=>{if(this.positionFrame!==null)return;this.positionFrame=requestAnimationFrame((()=>{this.positionFrame=null;this.calculatePosition()}))};this.escapeHandler=t=>{if(t.key!=="Escape"||!this.isOpen)return;t.preventDefault();this.hide()};this.handleSlotChange=()=>{const t=this.el.querySelector("slot");const i=t?.assignedElements?.()[0]??this.el.firstElementChild;if(i===this.anchor)return;if(this.isOpen||this.popupEl)this.hideInstant();this.unbindAnchor();this.bindAnchor()}}componentDidLoad(){this.bindAnchor();this.anchorObserver=new MutationObserver((()=>this.handleSlotChange()));this.anchorObserver.observe(this.el,{childList:true})}disconnectedCallback(){if(O===this)O=null;this.anchorObserver?.disconnect();this.anchorObserver=null;this.unbindAnchor();this.clearTimers();this.destroyPopup()}onContentOrPositionChange(){if(!this.label?.trim()){if(this.isOpen||this.popupEl)this.hideInstant();return}if(!this.popupEl||!this.isOpen)return;this.renderPopupContent();this.schedulePosition()}get viewportPadPx(){return h(a.space050,a.space050)}get sideOffsetPx(){return h(this.sideOffset,a.space050)}get alignOffsetPx(){return h(this.alignOffset,0)}get hoverDelayMs(){return d(this.delay,a.animationDelayMedium3)}get instantReopenMs(){return d(a.animationDurationMedium1,a.animationDurationMedium1)}get fadeOutMs(){return l(a.motionShort3,a.animationDurationShort3)}get tooltipFallbackWidthPx(){return h(a.tooltipFallbackWidth,a.tooltipFallbackWidth)}get tooltipFallbackHeightPx(){const t=w[this.size];return h(t,t)}bindAnchor(){const t=this.el.querySelector("slot");const i=t?.assignedElements?.()??[];const s=i[0]??this.el.firstElementChild;if(!s||s===this.anchor)return;this.anchor=s;s.addEventListener("pointerenter",this.pointerEnterHandler);s.addEventListener("pointerleave",this.pointerLeaveHandler);s.addEventListener("pointerdown",this.pointerDownHandler);s.addEventListener("keydown",this.keyDownHandler);s.addEventListener("focusin",this.focusHandler);s.addEventListener("focusout",this.blurHandler)}unbindAnchor(){if(!this.anchor)return;this.unlinkDescribedBy();this.anchor.removeEventListener("pointerenter",this.pointerEnterHandler);this.anchor.removeEventListener("pointerleave",this.pointerLeaveHandler);this.anchor.removeEventListener("pointerdown",this.pointerDownHandler);this.anchor.removeEventListener("keydown",this.keyDownHandler);this.anchor.removeEventListener("focusin",this.focusHandler);this.anchor.removeEventListener("focusout",this.blurHandler);this.anchor=null}linkDescribedBy(){if(!this.anchor||!this.popupEl)return;const t=new Set((this.anchor.getAttribute("aria-describedby")??"").split(/\s+/).filter(Boolean));t.add(this.tooltipId);this.anchor.setAttribute("aria-describedby",Array.from(t).join(" "))}unlinkDescribedBy(){if(!this.anchor)return;const t=(this.anchor.getAttribute("aria-describedby")??"").split(/\s+/).filter((t=>t&&t!==this.tooltipId));if(t.length)this.anchor.setAttribute("aria-describedby",t.join(" "));else this.anchor.removeAttribute("aria-describedby")}clearTimers(){if(this.delayTimer){clearTimeout(this.delayTimer);this.delayTimer=null}if(this.closeTimer){clearTimeout(this.closeTimer);this.closeTimer=null}}setupOpenListeners(){window.addEventListener("scroll",this.scrollResizeHandler,true);window.addEventListener("resize",this.scrollResizeHandler);document.addEventListener("keydown",this.escapeHandler)}teardownOpenListeners(){window.removeEventListener("scroll",this.scrollResizeHandler,true);window.removeEventListener("resize",this.scrollResizeHandler);document.removeEventListener("keydown",this.escapeHandler);if(this.positionFrame!==null){cancelAnimationFrame(this.positionFrame);this.positionFrame=null}}destroyPopup(){this.teardownOpenListeners();this.positionObserver?.disconnect();this.positionObserver=null;this.unlinkDescribedBy();if(!this.popupEl)return;this.popupEl.remove();this.popupEl=null}schedulePosition(){if(!this.popupEl)return;const t=()=>{const t=this.popupEl?.querySelector(":scope > .tooltip-inner > ds-text");if(t instanceof i)z(t)};requestAnimationFrame((()=>{t();this.calculatePosition();requestAnimationFrame((()=>{t();this.calculatePosition()}))}));this.positionObserver?.disconnect();this.positionObserver=new ResizeObserver((()=>this.calculatePosition()));this.positionObserver.observe(this.popupEl);if(this.anchor)this.positionObserver.observe(this.anchor)}hideInstant(){this.clearTimers();P=Date.now();if(O===this)O=null;this.destroyPopup();this.isOpen=false;this.skipEnterAnimation=false}show(){if(!this.label?.trim())return;this.clearTimers();let t=Date.now()-P<this.instantReopenMs;if(O&&O!==this){O.hideInstant();t=true}O=this;this.skipEnterAnimation=t;if(t){this.mountPopup();return}this.delayTimer=setTimeout((()=>{this.delayTimer=null;if(!this.label?.trim())return;this.mountPopup()}),this.hoverDelayMs)}hide(){this.clearTimers();if(!this.popupEl&&!this.isOpen)return;P=Date.now();if(!this.popupEl){this.isOpen=false;return}this.popupEl.classList.remove("tooltip-popup--instant");this.popupEl.classList.add("tooltip-popup--closing");if(this.fadeOutMs===0){if(O===this)O=null;this.destroyPopup();this.isOpen=false;this.skipEnterAnimation=false;return}this.closeTimer=setTimeout((()=>{this.closeTimer=null;if(O===this)O=null;this.destroyPopup();this.isOpen=false;this.skipEnterAnimation=false}),this.fadeOutMs)}mountPopup(){if(!this.popupEl){const t=document.createElement("div");t.id=this.tooltipId;t.setAttribute("role","tooltip");t.className="tooltip-popup sc-ds-tooltip";Object.assign(t.style,{position:"fixed",left:"0",top:"0",zIndex:"var(--dimension-z-index-tooltip)",pointerEvents:"none"});document.body.appendChild(t);this.popupEl=t}this.setupOpenListeners();this.linkDescribedBy();this.popupEl.classList.toggle("tooltip-popup--instant",this.skipEnterAnimation);this.popupEl.classList.remove("tooltip-popup--closing");this.renderPopupContent();this.schedulePosition();this.isOpen=true}renderPopupContent(){if(!this.popupEl)return;const t=c[this.size];const i=this.size==="md"?"ds-control--md":this.size==="sm"?"ds-control--sm":"ds-control--xs";const s="sc-ds-tooltip";const o=document.createElement("div");o.className=`tooltip-inner ${i} ${s}`;const n=t=>{if(!this.shortcutKey||this.shortcutKeyPosition!==t)return;const i=document.createElement("span");i.className=`key-hint-group ${s}`;i.setAttribute("aria-hidden","true");for(const t of m(this.shortcutKey)){const o=document.createElement("span");const n=Array.from(t).length>1?" key-hint--wide":"";o.className=`key-hint${n} ${s}`;const e=document.createElement("span");e.className=`key-hint__label ${s}`;e.textContent=t;o.appendChild(e);i.appendChild(o)}o.appendChild(i)};n("start");const e=k({variant:t,wrap:"nowrap",text:this.label});z(e);o.appendChild(e);n("end");this.popupEl.replaceChildren(o)}calculatePosition(){if(!this.anchor||!this.popupEl)return;const t=this.popupEl;const i=this.anchor.getBoundingClientRect();const s=t.offsetWidth||this.tooltipFallbackWidthPx;const o=t.offsetHeight||this.tooltipFallbackHeightPx;const{x:n,y:e,resolvedSide:r}=b({anchorRect:i,popupWidth:s,popupHeight:o,side:this.side,align:this.align,sideOffsetPx:this.sideOffsetPx,alignOffsetPx:this.alignOffsetPx,viewportPadPx:this.viewportPadPx,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});t.dataset.side=r;t.style.transform=`translate(${Math.round(n)}px, ${Math.round(e)}px)`}render(){return s(o,{key:"43d3921da0ec9cd4c7f40407b883dffe6fa78f61",style:{display:"contents"}},s("slot",{key:"d54e419a0029330665185917fa0b587960eee487",onSlotchange:this.handleSlotChange}))}get el(){return this}static get watchers(){return{label:[{onContentOrPositionChange:0}],size:[{onContentOrPositionChange:0}],side:[{onContentOrPositionChange:0}],align:[{onContentOrPositionChange:0}],sideOffset:[{onContentOrPositionChange:0}],alignOffset:[{onContentOrPositionChange:0}],shortcutKey:[{onContentOrPositionChange:0}],shortcutKeyPosition:[{onContentOrPositionChange:0}]}}static get style(){return x()}},[262,"ds-tooltip",{label:[1],size:[1],side:[1],align:[1],sideOffset:[8,"side-offset"],alignOffset:[8,"align-offset"],delay:[8],shortcutKey:[1,"shortcut-key"],shortcutKeyPosition:[1,"shortcut-key-position"]},undefined,{label:[{onContentOrPositionChange:0}],size:[{onContentOrPositionChange:0}],side:[{onContentOrPositionChange:0}],align:[{onContentOrPositionChange:0}],sideOffset:[{onContentOrPositionChange:0}],alignOffset:[{onContentOrPositionChange:0}],shortcutKey:[{onContentOrPositionChange:0}],shortcutKeyPosition:[{onContentOrPositionChange:0}]}]);function A(){if(typeof customElements==="undefined"){return}const t=["ds-tooltip","ds-text"];t.forEach((t=>{switch(t){case"ds-tooltip":if(!customElements.get(n(t))){customElements.define(n(t),M)}break;case"ds-text":if(!customElements.get(n(t))){e()}break}}))}A();export{M as T,A as d};
|
|
2
|
-
//# sourceMappingURL=p-BO6C8abO.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["MODIFIER_GLYPHS","Set","MODIFIER_LABELS","alt","cmd","command","control","ctrl","option","shift","canonicalKeyLabel","label","toLowerCase","shortcutKeyLabels","shortcut","normalized","trim","includes","split","map","part","filter","Boolean","test","characters","Array","from","labels","length","has","push","join","OPPOSITE_SIDE","top","right","bottom","left","rawPosition","input","side","anchorRect","anchor","popupWidth","popupHeight","align","sideOffsetPx","alignOffsetPx","x","width","y","height","mainAxisOverflow","position","viewportPadPx","viewportWidth","viewportHeight","Math","max","computeTooltipPosition","preferred","oppositeSide","opposite","preferredOverflow","oppositeOverflow","useOpposite","resolvedSide","maxX","maxY","min","tooltipCss","FALLBACK_HEIGHT","md","TOKEN_DEFAULTS","size400","sm","size300","xs","size200","lastDismissedAt","tooltipIdCounter","activeTooltip","createDsText","opts","el","document","createElement","as","variant","emphasis","color","wrap","textContent","text","styleTooltipLabel","style","flexShrink","minWidth","maxWidth","padding","Tooltip","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","size","sideOffset","TOKEN_CSS_LENGTHS","space050","alignOffset","delay","animationDelayMedium3","shortcutKeyPosition","tooltipId","delayTimer","closeTimer","popupEl","positionObserver","anchorObserver","positionFrame","skipEnterAnimation","isOpen","lastInteractionWasKeyboard","pointerEnterHandler","event","pointerType","show","pointerLeaveHandler","hide","pointerDownHandler","hideInstant","keyDownHandler","focusHandler","matches","blurHandler","e","next","relatedTarget","contains","scrollResizeHandler","requestAnimationFrame","calculatePosition","escapeHandler","key","preventDefault","handleSlotChange","slot","querySelector","assignedElements","firstElementChild","unbindAnchor","bindAnchor","componentDidLoad","MutationObserver","observe","childList","disconnectedCallback","disconnect","clearTimers","destroyPopup","onContentOrPositionChange","renderPopupContent","schedulePosition","resolveCssLengthPx","hoverDelayMs","resolveCssTimeMs","instantReopenMs","animationDurationMedium1","fadeOutMs","resolveMotionTimeMs","motionShort3","animationDurationShort3","tooltipFallbackWidthPx","tooltipFallbackWidth","tooltipFallbackHeightPx","token","slotted","child","addEventListener","unlinkDescribedBy","removeEventListener","linkDescribedBy","ids","getAttribute","add","setAttribute","id","removeAttribute","clearTimeout","setupOpenListeners","window","teardownOpenListeners","cancelAnimationFrame","remove","reapplyLabelStyles","ResizeObserver","Date","now","instant","mountPopup","setTimeout","classList","tip","className","Object","assign","zIndex","pointerEvents","body","appendChild","toggle","textVariant","CONTROL_TEXT_VARIANT","density","sc","inner","appendShortcut","shortcutKey","group","hint","wide","replaceChildren","a","getBoundingClientRect","tw","offsetWidth","th","offsetHeight","innerWidth","innerHeight","dataset","transform","round","render","h","Host","display","onSlotchange"],"sources":["src/wc/utils/shortcut-key.ts","src/wc/components/Tooltip/tooltip-position.ts","src/wc/components/Tooltip/Tooltip.css?tag=ds-tooltip&encapsulation=scoped","src/wc/components/Tooltip/Tooltip.tsx"],"sourcesContent":["const MODIFIER_GLYPHS = new Set(['⌘', '⇧', '⌥', '⌃']);\nconst MODIFIER_LABELS: Readonly<Record<string, string>> = {\n alt: '⌥',\n cmd: '⌘',\n command: '⌘',\n control: '⌃',\n ctrl: '⌃',\n option: '⌥',\n shift: '⇧',\n};\n\nfunction canonicalKeyLabel(label: string): string {\n return MODIFIER_LABELS[label.toLowerCase()] ?? label;\n}\n\n/** Split a shortcut chord into the labels rendered on individual keycaps. */\nexport function shortcutKeyLabels(shortcut: string): string[] {\n const normalized = shortcut.trim();\n if (!normalized) return [];\n\n if (normalized.includes('+')) {\n return normalized.split('+').map(part => part.trim()).filter(Boolean).map(canonicalKeyLabel);\n }\n\n if (/\\s/.test(normalized)) {\n return normalized.split(/\\s+/).filter(Boolean).map(canonicalKeyLabel);\n }\n\n const characters = Array.from(normalized);\n const labels: string[] = [];\n while (characters.length > 1 && MODIFIER_GLYPHS.has(characters[0])) {\n labels.push(characters.shift()!);\n }\n labels.push(characters.join(''));\n return labels;\n}\n","import type { TooltipAlign, TooltipSide } from './Tooltip';\n\nexport interface TooltipPositionInput {\n anchorRect: Pick<DOMRectReadOnly, 'top' | 'left' | 'right' | 'bottom' | 'width' | 'height'>;\n popupWidth: number;\n popupHeight: number;\n side: TooltipSide;\n align: TooltipAlign;\n sideOffsetPx: number;\n alignOffsetPx: number;\n viewportPadPx: number;\n viewportWidth: number;\n viewportHeight: number;\n}\n\nexport interface TooltipPosition {\n x: number;\n y: number;\n resolvedSide: TooltipSide;\n}\n\nconst OPPOSITE_SIDE: Record<TooltipSide, TooltipSide> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\nfunction rawPosition(\n input: TooltipPositionInput,\n side: TooltipSide,\n): Pick<TooltipPosition, 'x' | 'y'> {\n const {\n anchorRect: anchor,\n popupWidth,\n popupHeight,\n align,\n sideOffsetPx,\n alignOffsetPx,\n } = input;\n\n if (side === 'top' || side === 'bottom') {\n return {\n x:\n align === 'start'\n ? anchor.left + alignOffsetPx\n : align === 'end'\n ? anchor.right - popupWidth + alignOffsetPx\n : anchor.left + anchor.width / 2 - popupWidth / 2 + alignOffsetPx,\n y: side === 'top'\n ? anchor.top - popupHeight - sideOffsetPx\n : anchor.bottom + sideOffsetPx,\n };\n }\n\n return {\n x: side === 'left'\n ? anchor.left - popupWidth - sideOffsetPx\n : anchor.right + sideOffsetPx,\n y:\n align === 'start'\n ? anchor.top + alignOffsetPx\n : align === 'end'\n ? anchor.bottom - popupHeight + alignOffsetPx\n : anchor.top + anchor.height / 2 - popupHeight / 2 + alignOffsetPx,\n };\n}\n\nfunction mainAxisOverflow(\n input: TooltipPositionInput,\n side: TooltipSide,\n position: Pick<TooltipPosition, 'x' | 'y'>,\n): number {\n const {\n popupWidth,\n popupHeight,\n viewportPadPx,\n viewportWidth,\n viewportHeight,\n } = input;\n\n if (side === 'top' || side === 'bottom') {\n return Math.max(viewportPadPx - position.y, 0) +\n Math.max(position.y + popupHeight - (viewportHeight - viewportPadPx), 0);\n }\n\n return Math.max(viewportPadPx - position.x, 0) +\n Math.max(position.x + popupWidth - (viewportWidth - viewportPadPx), 0);\n}\n\n/** Flip on the preferred axis when needed, then clamp within the viewport. */\nexport function computeTooltipPosition(input: TooltipPositionInput): TooltipPosition {\n const preferred = rawPosition(input, input.side);\n const oppositeSide = OPPOSITE_SIDE[input.side];\n const opposite = rawPosition(input, oppositeSide);\n const preferredOverflow = mainAxisOverflow(input, input.side, preferred);\n const oppositeOverflow = mainAxisOverflow(input, oppositeSide, opposite);\n const useOpposite = preferredOverflow > 0 && oppositeOverflow < preferredOverflow;\n const resolvedSide = useOpposite ? oppositeSide : input.side;\n const position = useOpposite ? opposite : preferred;\n const maxX = Math.max(input.viewportPadPx, input.viewportWidth - input.popupWidth - input.viewportPadPx);\n const maxY = Math.max(input.viewportPadPx, input.viewportHeight - input.popupHeight - input.viewportPadPx);\n\n return {\n x: Math.min(Math.max(position.x, input.viewportPadPx), maxX),\n y: Math.min(Math.max(position.y, input.viewportPadPx), maxY),\n resolvedSide,\n };\n}\n","@import '../../utils/control-density.css';\n@import '../../utils/key-hint.css';\n\n.tooltip-popup {\n box-sizing: border-box;\n background-color: var(--color-background-primary);\n border-radius: var(--ds-control-radius, var(--dimension-radius-025));\n box-shadow: var(--effect-elevation-elevated-floating);\n white-space: nowrap;\n pointer-events: none;\n animation: tooltipFadeIn var(--effect-motion-short-2) forwards;\n will-change: transform;\n backface-visibility: hidden;\n}\n\n/* Warm handoff between nearby triggers — no enter fade (avoids 20–100ms lag). */\n.tooltip-popup--instant {\n animation: none;\n opacity: 1;\n}\n\n.tooltip-popup--closing {\n animation: tooltipFadeOut var(--effect-motion-short-3) forwards;\n}\n\n/* Density: md / sm / xs via `.ds-control--*` on `.tooltip-inner`. */\n.tooltip-inner {\n box-sizing: border-box;\n height: var(--ds-control-height, var(--dimension-size-400));\n display: flex;\n align-items: center;\n gap: var(--ds-control-gap, var(--dimension-space-050));\n padding: 0 var(--ds-control-padding-inline, var(--dimension-space-075));\n}\n\n/*\n * Label layout lives on ds-text (metric-box + control label-inset).\n * NOTE: Stencil scopes this to `ds-text.sc-ds-tooltip`, but portaled\n * createElement ds-text loses that class when Text's <Host class> renders.\n * `renderPopupContent` therefore also sets these as inline styles.\n */\n.tooltip-inner > ds-text {\n flex-shrink: 0;\n min-width: max-content;\n max-width: none;\n padding: 0 var(--ds-control-label-inset, var(--dimension-space-025));\n color: var(--color-foreground-primary);\n}\n\n@keyframes tooltipFadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n@keyframes tooltipFadeOut {\n from { opacity: 1; }\n to { opacity: 0; }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .tooltip-popup,\n .tooltip-popup--instant {\n animation: none;\n opacity: 1;\n }\n\n .tooltip-popup--closing {\n animation: none;\n opacity: 0;\n }\n}\n","import { Component, Prop, Element, Watch, h, Host } from '@stencil/core';\nimport {\n CONTROL_TEXT_VARIANT,\n resolveCssLengthPx,\n resolveCssTimeMs,\n resolveMotionTimeMs,\n TOKEN_CSS_LENGTHS,\n TOKEN_DEFAULTS,\n} from '../../utils';\nimport type { TextVariant } from '../Text/text-types';\nimport { shortcutKeyLabels } from '../../utils/shortcut-key';\nimport { computeTooltipPosition } from './tooltip-position';\n// Side-effect: register `ds-text` — the portal builds it via createElement, not JSX.\nimport '../Text/Text';\n\nexport type TooltipSide = 'top' | 'right' | 'bottom' | 'left';\nexport type TooltipAlign = 'start' | 'center' | 'end';\nexport type TooltipSize = 'md' | 'sm' | 'xs';\n\nconst FALLBACK_HEIGHT: Record<TooltipSize, string> = {\n md: TOKEN_DEFAULTS.size400,\n sm: TOKEN_DEFAULTS.size300,\n xs: TOKEN_DEFAULTS.size200,\n};\n\nlet lastDismissedAt = 0;\nlet tooltipIdCounter = 0;\n/** Currently open tooltip — force-cleared on warm handoff so tips don't cross-fade. */\nlet activeTooltip: Tooltip | null = null;\n\ntype DsTextEl = HTMLElement & {\n as: string;\n variant: TextVariant;\n emphasis: boolean;\n color: string;\n wrap: string;\n};\n\nfunction createDsText(opts: {\n variant: TextVariant;\n emphasis?: boolean;\n color?: string;\n wrap?: 'wrap' | 'nowrap' | 'balance' | 'pretty';\n text: string;\n}): DsTextEl {\n const el = document.createElement('ds-text') as DsTextEl;\n el.as = 'span';\n el.variant = opts.variant;\n el.emphasis = opts.emphasis ?? false;\n el.color = opts.color ?? 'inherit';\n if (opts.wrap) el.wrap = opts.wrap;\n el.textContent = opts.text;\n return el;\n}\n\n/**\n * Control-density label styles for portaled ds-text.\n * Scoped CSS requires `sc-ds-tooltip` on the host, but Text's `<Host class>`\n * overwrites imperative className — so these must be inline to stick.\n */\nfunction styleTooltipLabel(el: HTMLElement) {\n el.style.flexShrink = '0';\n el.style.minWidth = 'max-content';\n el.style.maxWidth = 'none';\n el.style.padding = '0 var(--ds-control-label-inset, var(--dimension-space-025))';\n el.style.color = 'var(--color-foreground-primary)';\n}\n\n/**\n * Imperative body portal for the popup.\n * Stencil must not own the portaled node — moving a VDOM child to `document.body`\n * causes recreate → re-portal → @State loops that freeze the page.\n */\n@Component({\n tag: 'ds-tooltip',\n styleUrl: 'Tooltip.css',\n scoped: true,\n})\nexport class Tooltip {\n @Element() el!: HTMLElement;\n\n /**\n * Tooltip text. Empty/whitespace skips show — useful when the wrapper must stay\n * mounted for layout/animation stability (e.g. PanelNav expand/collapse).\n */\n @Prop() label!: string;\n\n /** Control density (height, padding, type). */\n @Prop() size: TooltipSize = 'md';\n\n @Prop() side: TooltipSide = 'top';\n @Prop() align: TooltipAlign = 'center';\n /** Gap between anchor and tooltip — number (px) or TokoMo length. */\n @Prop() sideOffset: number | string = TOKEN_CSS_LENGTHS.space050;\n /** Cross-axis offset — number (px) or TokoMo length. */\n @Prop() alignOffset: number | string = 0;\n /**\n * Hover show delay before the tooltip appears.\n * Default: `--effect-animation-delay-medium-3` (1000ms). Accepts a number (ms)\n * or a TokoMo time token / `var(--effect-animation-delay-*)`. Applies to the\n * initial hover/focus show only — after a recent dismiss, reopen is instant.\n * Prefer the default; override only for denser chrome or rare/destructive actions.\n */\n @Prop() delay: number | string = TOKEN_DEFAULTS.animationDelayMedium3;\n @Prop() shortcutKey: string | undefined;\n @Prop() shortcutKeyPosition: 'start' | 'end' = 'end';\n\n private tooltipId = `ds-tooltip-${++tooltipIdCounter}`;\n private delayTimer: ReturnType<typeof setTimeout> | null = null;\n private closeTimer: ReturnType<typeof setTimeout> | null = null;\n private anchor: HTMLElement | null = null;\n private popupEl: HTMLElement | null = null;\n private positionObserver: ResizeObserver | null = null;\n private anchorObserver: MutationObserver | null = null;\n private positionFrame: number | null = null;\n private skipEnterAnimation = false;\n private isOpen = false;\n private lastInteractionWasKeyboard = false;\n private pointerEnterHandler = (event: PointerEvent) => {\n if (event.pointerType === 'touch') return;\n this.show();\n };\n private pointerLeaveHandler = (event: PointerEvent) => {\n if (event.pointerType === 'touch') return;\n this.hide();\n };\n private pointerDownHandler = (event: PointerEvent) => {\n this.lastInteractionWasKeyboard = false;\n if (event.pointerType === 'touch' && (this.isOpen || this.popupEl)) this.hideInstant();\n };\n private keyDownHandler = () => {\n this.lastInteractionWasKeyboard = true;\n };\n /** focusin/focusout so nested focus targets (e.g. ds-button-* inner button) still open the tip. */\n private focusHandler = () => {\n if (this.lastInteractionWasKeyboard || this.anchor?.matches(':focus-visible')) this.show();\n };\n private blurHandler: (e: FocusEvent) => void = (e) => {\n const next = e.relatedTarget as Node | null;\n if (next && this.anchor?.contains(next)) return;\n this.hide();\n };\n private scrollResizeHandler = () => {\n if (this.positionFrame !== null) return;\n this.positionFrame = requestAnimationFrame(() => {\n this.positionFrame = null;\n this.calculatePosition();\n });\n };\n private escapeHandler = (event: KeyboardEvent) => {\n if (event.key !== 'Escape' || !this.isOpen) return;\n event.preventDefault();\n this.hide();\n };\n\n componentDidLoad() {\n this.bindAnchor();\n this.anchorObserver = new MutationObserver(() => this.handleSlotChange());\n this.anchorObserver.observe(this.el, { childList: true });\n }\n\n disconnectedCallback() {\n if (activeTooltip === this) activeTooltip = null;\n this.anchorObserver?.disconnect();\n this.anchorObserver = null;\n this.unbindAnchor();\n this.clearTimers();\n this.destroyPopup();\n }\n\n @Watch('label')\n @Watch('size')\n @Watch('side')\n @Watch('align')\n @Watch('sideOffset')\n @Watch('alignOffset')\n @Watch('shortcutKey')\n @Watch('shortcutKeyPosition')\n onContentOrPositionChange() {\n if (!this.label?.trim()) {\n if (this.isOpen || this.popupEl) this.hideInstant();\n return;\n }\n if (!this.popupEl || !this.isOpen) return;\n this.renderPopupContent();\n this.schedulePosition();\n }\n\n private get viewportPadPx(): number {\n return resolveCssLengthPx(TOKEN_DEFAULTS.space050, TOKEN_DEFAULTS.space050);\n }\n\n private get sideOffsetPx(): number {\n return resolveCssLengthPx(this.sideOffset, TOKEN_DEFAULTS.space050);\n }\n\n private get alignOffsetPx(): number {\n return resolveCssLengthPx(this.alignOffset, 0);\n }\n\n private get hoverDelayMs(): number {\n return resolveCssTimeMs(this.delay, TOKEN_DEFAULTS.animationDelayMedium3);\n }\n\n private get instantReopenMs(): number {\n return resolveCssTimeMs(\n TOKEN_DEFAULTS.animationDurationMedium1,\n TOKEN_DEFAULTS.animationDurationMedium1,\n );\n }\n\n private get fadeOutMs(): number {\n return resolveMotionTimeMs(TOKEN_DEFAULTS.motionShort3, TOKEN_DEFAULTS.animationDurationShort3);\n }\n\n private get tooltipFallbackWidthPx(): number {\n return resolveCssLengthPx(TOKEN_DEFAULTS.tooltipFallbackWidth, TOKEN_DEFAULTS.tooltipFallbackWidth);\n }\n\n private get tooltipFallbackHeightPx(): number {\n const token = FALLBACK_HEIGHT[this.size];\n return resolveCssLengthPx(token, token);\n }\n\n private bindAnchor() {\n const slot = this.el.querySelector('slot') as HTMLSlotElement | null;\n const slotted = slot?.assignedElements?.() ?? [];\n const child = (slotted[0] ?? this.el.firstElementChild) as HTMLElement | null;\n if (!child || child === this.anchor) return;\n this.anchor = child;\n child.addEventListener('pointerenter', this.pointerEnterHandler);\n child.addEventListener('pointerleave', this.pointerLeaveHandler);\n child.addEventListener('pointerdown', this.pointerDownHandler);\n child.addEventListener('keydown', this.keyDownHandler);\n child.addEventListener('focusin', this.focusHandler);\n child.addEventListener('focusout', this.blurHandler);\n }\n\n private unbindAnchor() {\n if (!this.anchor) return;\n this.unlinkDescribedBy();\n this.anchor.removeEventListener('pointerenter', this.pointerEnterHandler);\n this.anchor.removeEventListener('pointerleave', this.pointerLeaveHandler);\n this.anchor.removeEventListener('pointerdown', this.pointerDownHandler);\n this.anchor.removeEventListener('keydown', this.keyDownHandler);\n this.anchor.removeEventListener('focusin', this.focusHandler);\n this.anchor.removeEventListener('focusout', this.blurHandler);\n this.anchor = null;\n }\n\n private linkDescribedBy() {\n if (!this.anchor || !this.popupEl) return;\n const ids = new Set((this.anchor.getAttribute('aria-describedby') ?? '').split(/\\s+/).filter(Boolean));\n ids.add(this.tooltipId);\n this.anchor.setAttribute('aria-describedby', Array.from(ids).join(' '));\n }\n\n private unlinkDescribedBy() {\n if (!this.anchor) return;\n const ids = (this.anchor.getAttribute('aria-describedby') ?? '')\n .split(/\\s+/)\n .filter(id => id && id !== this.tooltipId);\n if (ids.length) this.anchor.setAttribute('aria-describedby', ids.join(' '));\n else this.anchor.removeAttribute('aria-describedby');\n }\n\n private handleSlotChange = () => {\n const slot = this.el.querySelector('slot') as HTMLSlotElement | null;\n const next = (slot?.assignedElements?.()[0] ?? this.el.firstElementChild) as HTMLElement | null;\n if (next === this.anchor) return;\n if (this.isOpen || this.popupEl) this.hideInstant();\n this.unbindAnchor();\n this.bindAnchor();\n };\n\n private clearTimers() {\n if (this.delayTimer) { clearTimeout(this.delayTimer); this.delayTimer = null; }\n if (this.closeTimer) { clearTimeout(this.closeTimer); this.closeTimer = null; }\n }\n\n private setupOpenListeners() {\n window.addEventListener('scroll', this.scrollResizeHandler, true);\n window.addEventListener('resize', this.scrollResizeHandler);\n document.addEventListener('keydown', this.escapeHandler);\n }\n\n private teardownOpenListeners() {\n window.removeEventListener('scroll', this.scrollResizeHandler, true);\n window.removeEventListener('resize', this.scrollResizeHandler);\n document.removeEventListener('keydown', this.escapeHandler);\n if (this.positionFrame !== null) {\n cancelAnimationFrame(this.positionFrame);\n this.positionFrame = null;\n }\n }\n\n private destroyPopup() {\n this.teardownOpenListeners();\n this.positionObserver?.disconnect();\n this.positionObserver = null;\n this.unlinkDescribedBy();\n if (!this.popupEl) return;\n this.popupEl.remove();\n this.popupEl = null;\n }\n\n /**\n * Position after `ds-text` upgrades and lays out. Measuring synchronously in\n * `mountPopup` reads a collapsed/fallback width and places left/right tips wrong.\n */\n private schedulePosition() {\n if (!this.popupEl) return;\n\n const reapplyLabelStyles = () => {\n const label = this.popupEl?.querySelector(':scope > .tooltip-inner > ds-text');\n if (label instanceof HTMLElement) styleTooltipLabel(label);\n };\n\n requestAnimationFrame(() => {\n reapplyLabelStyles();\n this.calculatePosition();\n requestAnimationFrame(() => {\n reapplyLabelStyles();\n this.calculatePosition();\n });\n });\n\n this.positionObserver?.disconnect();\n this.positionObserver = new ResizeObserver(() => this.calculatePosition());\n this.positionObserver.observe(this.popupEl);\n if (this.anchor) this.positionObserver.observe(this.anchor);\n }\n\n /** Drop the open tip immediately (warm handoff to another tooltip). */\n private hideInstant() {\n this.clearTimers();\n lastDismissedAt = Date.now();\n if (activeTooltip === this) activeTooltip = null;\n this.destroyPopup();\n this.isOpen = false;\n this.skipEnterAnimation = false;\n }\n\n private show() {\n // Empty label = wrapper present for DOM stability (e.g. PanelNav expand/collapse)\n // but no tip should appear.\n if (!this.label?.trim()) return;\n this.clearTimers();\n let instant = Date.now() - lastDismissedAt < this.instantReopenMs;\n if (activeTooltip && activeTooltip !== this) {\n activeTooltip.hideInstant();\n instant = true;\n }\n // eslint-disable-next-line @typescript-eslint/no-this-alias -- module singleton tracks the active instance\n activeTooltip = this;\n this.skipEnterAnimation = instant;\n if (instant) {\n this.mountPopup();\n return;\n }\n this.delayTimer = setTimeout(() => {\n this.delayTimer = null;\n if (!this.label?.trim()) return;\n this.mountPopup();\n }, this.hoverDelayMs);\n }\n\n private hide() {\n this.clearTimers();\n if (!this.popupEl && !this.isOpen) return;\n lastDismissedAt = Date.now();\n if (!this.popupEl) {\n this.isOpen = false;\n return;\n }\n this.popupEl.classList.remove('tooltip-popup--instant');\n this.popupEl.classList.add('tooltip-popup--closing');\n if (this.fadeOutMs === 0) {\n if (activeTooltip === this) activeTooltip = null;\n this.destroyPopup();\n this.isOpen = false;\n this.skipEnterAnimation = false;\n return;\n }\n this.closeTimer = setTimeout(() => {\n this.closeTimer = null;\n if (activeTooltip === this) activeTooltip = null;\n this.destroyPopup();\n this.isOpen = false;\n this.skipEnterAnimation = false;\n }, this.fadeOutMs);\n }\n\n private mountPopup() {\n if (!this.popupEl) {\n const tip = document.createElement('div');\n tip.id = this.tooltipId;\n tip.setAttribute('role', 'tooltip');\n // `sc-ds-tooltip` is required for Stencil scoped CSS to match outside the host.\n tip.className = 'tooltip-popup sc-ds-tooltip';\n Object.assign(tip.style, {\n position: 'fixed',\n left: '0',\n top: '0',\n zIndex: 'var(--dimension-z-index-tooltip)',\n pointerEvents: 'none',\n });\n document.body.appendChild(tip);\n this.popupEl = tip;\n }\n\n this.setupOpenListeners();\n this.linkDescribedBy();\n this.popupEl.classList.toggle('tooltip-popup--instant', this.skipEnterAnimation);\n this.popupEl.classList.remove('tooltip-popup--closing');\n this.renderPopupContent();\n this.schedulePosition();\n this.isOpen = true;\n }\n\n private renderPopupContent() {\n if (!this.popupEl) return;\n const textVariant = CONTROL_TEXT_VARIANT[this.size];\n const density =\n this.size === 'md' ? 'ds-control--md' : this.size === 'sm' ? 'ds-control--sm' : 'ds-control--xs';\n // Every layout node needs `sc-ds-tooltip` so scoped selectors (`.foo.sc-ds-tooltip`) match.\n const sc = 'sc-ds-tooltip';\n\n const inner = document.createElement('div');\n inner.className = `tooltip-inner ${density} ${sc}`;\n\n const appendShortcut = (position: 'start' | 'end') => {\n if (!this.shortcutKey || this.shortcutKeyPosition !== position) return;\n const group = document.createElement('span');\n group.className = `key-hint-group ${sc}`;\n group.setAttribute('aria-hidden', 'true');\n\n for (const label of shortcutKeyLabels(this.shortcutKey)) {\n const hint = document.createElement('span');\n const wide = Array.from(label).length > 1 ? ' key-hint--wide' : '';\n hint.className = `key-hint${wide} ${sc}`;\n const text = document.createElement('span');\n text.className = `key-hint__label ${sc}`;\n text.textContent = label;\n hint.appendChild(text);\n group.appendChild(hint);\n }\n inner.appendChild(group);\n };\n\n appendShortcut('start');\n\n // ds-text is the layout box (metric-box + 2px control label-inset).\n // Inline styles required — see styleTooltipLabel.\n const label = createDsText({ variant: textVariant, wrap: 'nowrap', text: this.label });\n styleTooltipLabel(label);\n inner.appendChild(label);\n\n appendShortcut('end');\n\n this.popupEl.replaceChildren(inner);\n }\n\n private calculatePosition() {\n if (!this.anchor || !this.popupEl) return;\n const tip = this.popupEl;\n const a = this.anchor.getBoundingClientRect();\n const tw = tip.offsetWidth || this.tooltipFallbackWidthPx;\n const th = tip.offsetHeight || this.tooltipFallbackHeightPx;\n const { x, y, resolvedSide } = computeTooltipPosition({\n anchorRect: a,\n popupWidth: tw,\n popupHeight: th,\n side: this.side,\n align: this.align,\n sideOffsetPx: this.sideOffsetPx,\n alignOffsetPx: this.alignOffsetPx,\n viewportPadPx: this.viewportPadPx,\n viewportWidth: window.innerWidth,\n viewportHeight: window.innerHeight,\n });\n tip.dataset.side = resolvedSide;\n tip.style.transform = `translate(${Math.round(x)}px, ${Math.round(y)}px)`;\n }\n\n render() {\n return (\n <Host style={{ display: 'contents' }}>\n <slot onSlotchange={this.handleSlotChange} />\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{p as e,H as s,h as r,a,t as n}from"./index.js";import{d as o}from"./p-CiwdnKKp.js";import{d as t}from"./p-CZMEhdlA.js";import{d}from"./p-41UAx2eq.js";import{d as i}from"./p-BEQB8EnB.js";import{d as c}from"./p-Cpr3K41-.js";import{d as l}from"./p-BSOZXagj.js";const m=()=>`.sc-ds-markdown-h{display:block;min-width:0;color:inherit;box-sizing:border-box}.markdown.sc-ds-markdown{min-width:0;font-family:var(--typography-font-family);font-size:var(--typography-fontsize-md);line-height:var(--typography-lineheight-md);font-weight:var(--typography-weight-regular);letter-spacing:var(--typography-letterspacing-negative-half);overflow-wrap:anywhere}.markdown.sc-ds-markdown>.sc-ds-markdown:first-child{margin-top:0}.markdown.sc-ds-markdown>.sc-ds-markdown:last-child{margin-bottom:0}p.sc-ds-markdown,ul.sc-ds-markdown,ol.sc-ds-markdown,blockquote.sc-ds-markdown,.markdown__table-wrap.sc-ds-markdown,ds-code-block.sc-ds-markdown{margin:0 0 var(--dimension-space-150)}h1.sc-ds-markdown,h2.sc-ds-markdown,h3.sc-ds-markdown,h4.sc-ds-markdown,h5.sc-ds-markdown,h6.sc-ds-markdown{margin:var(--dimension-space-200) 0 var(--dimension-space-100);color:var(--color-foreground-primary);font-family:var(--typography-font-family);font-weight:var(--typography-weight-semibold)}h1.sc-ds-markdown,h2.sc-ds-markdown{font-size:var(--typography-fontsize-xl);line-height:var(--typography-lineheight-xl)}h3.sc-ds-markdown,h4.sc-ds-markdown,h5.sc-ds-markdown,h6.sc-ds-markdown{font-size:var(--typography-fontsize-lg);line-height:var(--typography-lineheight-lg)}ul.sc-ds-markdown,ol.sc-ds-markdown{padding-left:var(--dimension-space-300)}li.sc-ds-markdown+li.sc-ds-markdown{margin-top:var(--dimension-space-050)}li.sc-ds-markdown>input.sc-ds-markdown{margin-right:var(--dimension-space-050)}blockquote.sc-ds-markdown{padding-left:var(--dimension-space-150);border-left:var(--dimension-stroke-width-025) solid var(--color-border-secondary);color:var(--color-foreground-secondary)}a.sc-ds-markdown{color:var(--color-foreground-brand);text-decoration:underline}code.sc-ds-markdown:not(ds-code-block code){padding:var(--dimension-space-012) var(--dimension-space-025);border-radius:var(--dimension-radius-025);background:var(--color-background-secondary);font-family:var(--typography-fontfamily-mono);font-size:var(--typography-fontsize-sm)}hr.sc-ds-markdown{margin:var(--dimension-space-200) 0;border:none;border-top:var(--dimension-stroke-width-012) solid var(--color-border-tertiary)}.markdown__table-wrap.sc-ds-markdown{overflow-x:auto}table.sc-ds-markdown{width:100%;border-collapse:collapse}th.sc-ds-markdown,td.sc-ds-markdown{padding:var(--dimension-space-075);border:var(--dimension-stroke-width-012) solid var(--color-border-tertiary);text-align:left;vertical-align:top}th.sc-ds-markdown{font-weight:var(--typography-weight-semibold)}`;let h;function k(){h??(h=Promise.all([import("./p-BjtXYFhw.js"),import("./p-DVsje4AY.js"),import("./p-gidVv1FX.js")]).then((([e,s,r])=>({fromMarkdown:e.fromMarkdown,gfmFromMarkdown:s.gfmFromMarkdown,gfm:r.gfm}))));return h}function p(e){if(!e)return undefined;try{const s=new URL(e,document.baseURI);if(!["http:","https:","mailto:"].includes(s.protocol))return undefined;return s.href}catch{return undefined}}const w=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.content="";this.streaming=false;this.tree=null;this.parseRevision=0}componentWillLoad(){if(typeof document!=="undefined")return this.parse()}disconnectedCallback(){this.parseRevision+=1;if(this.parseFrame&&typeof cancelAnimationFrame==="function"){cancelAnimationFrame(this.parseFrame)}}scheduleParse(){if(typeof requestAnimationFrame!=="function")return;if(this.parseFrame)cancelAnimationFrame(this.parseFrame);this.parseFrame=requestAnimationFrame((()=>{this.parseFrame=undefined;void this.parse()}))}async parse(){const e=++this.parseRevision;try{const{fromMarkdown:s,gfmFromMarkdown:r,gfm:a}=await k();const n=s(this.content,{extensions:[a()],mdastExtensions:[r()]});if(e===this.parseRevision)this.tree=n}catch{if(e===this.parseRevision)this.tree=null}}children(e){if(!("children"in e))return[];return e.children.map((e=>this.renderNode(e)))}renderNode(e){switch(e.type){case"root":return this.children(e);case"text":return r("span",{class:"markdown__text"},e.value);case"paragraph":return r("p",{class:"markdown__paragraph"},this.children(e));case"heading":{const s=`h${e.depth}`;return r(s,{class:"markdown__heading"},this.children(e))}case"strong":return r("strong",{class:"markdown__strong"},this.children(e));case"emphasis":return r("em",{class:"markdown__emphasis"},this.children(e));case"delete":return r("del",{class:"markdown__delete"},this.children(e));case"blockquote":return r("blockquote",{class:"markdown__blockquote"},this.children(e));case"break":return r("br",{class:"markdown__break"});case"thematicBreak":return r("hr",{class:"markdown__thematic-break"});case"inlineCode":return r("code",{class:"markdown__inline-code"},e.value);case"code":return r("ds-code-block",{class:"markdown__code-block",code:e.value,language:e.lang??"",filename:e.meta??""});case"link":{const s=p(e.url);return s?r("a",{class:"markdown__link",href:s,target:"_blank",rel:"noopener noreferrer"},this.children(e)):this.children(e)}case"list":{const s=e.ordered?"ol":"ul";return r(s,{class:"markdown__list",start:e.ordered&&e.start?e.start:undefined},this.children(e))}case"listItem":return r("li",{class:"markdown__list-item"},typeof e.checked==="boolean"?r("input",{class:"markdown__task-indicator",type:"checkbox",checked:e.checked,disabled:true,"aria-hidden":"true",tabIndex:-1}):null,this.children(e));case"table":{const[s,...a]=e.children;return r("div",{class:"markdown__table-wrap"},r("table",{class:"markdown__table"},s?r("thead",{class:"markdown__table-head"},r("tr",{class:"markdown__table-row"},s.children.map((e=>r("th",{class:"markdown__table-heading",scope:"col"},this.children(e)))))):null,r("tbody",{class:"markdown__table-body"},a.map((e=>this.renderNode(e))))))}case"tableRow":return r("tr",{class:"markdown__table-row"},this.children(e));case"tableCell":return r("td",{class:"markdown__table-cell"},this.children(e));case"image":{const s=p(e.url);return s?r("a",{class:"markdown__image-link",href:s,target:"_blank",rel:"noopener noreferrer"},e.alt||"View image"):e.alt||null}case"html":case"definition":case"footnoteDefinition":return null;case"footnoteReference":return r("sup",{class:"markdown__footnote"},e.label);default:return this.children(e)}}render(){return r(a,{key:"604562b68b4efeec4d5e0547ed4f0ce92a4d49e8","aria-busy":this.streaming?"true":undefined},r("div",{key:"afad454a1e440a1703e29f737b8f6d8e2e01ee89",class:"markdown"},this.tree?this.renderNode(this.tree):r("p",{class:"markdown__paragraph"},r("span",{class:"markdown__text"},this.content))))}static get watchers(){return{content:[{scheduleParse:0}]}}static get style(){return m()}},[2,"ds-markdown",{content:[1],streaming:[4],tree:[32]},undefined,{content:[{scheduleParse:0}]}]);function f(){if(typeof customElements==="undefined"){return}const e=["ds-markdown","ds-badge","ds-button-unfilled","ds-code-block","ds-icon","ds-loader","ds-text"];e.forEach((e=>{switch(e){case"ds-markdown":if(!customElements.get(n(e))){customElements.define(n(e),w)}break;case"ds-badge":if(!customElements.get(n(e))){o()}break;case"ds-button-unfilled":if(!customElements.get(n(e))){t()}break;case"ds-code-block":if(!customElements.get(n(e))){d()}break;case"ds-icon":if(!customElements.get(n(e))){i()}break;case"ds-loader":if(!customElements.get(n(e))){c()}break;case"ds-text":if(!customElements.get(n(e))){l()}break}}))}f();export{w as M,f as d};
|
|
2
|
-
//# sourceMappingURL=p-CC1C8s6m.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["markdownCss","parserPromise","loadParser","Promise","all","import","then","fromMarkdownModule","gfmFromMarkdownModule","gfmModule","fromMarkdown","gfmFromMarkdown","gfm","safeHref","value","undefined","url","URL","document","baseURI","includes","protocol","href","Markdown","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","content","streaming","tree","parseRevision","componentWillLoad","parse","disconnectedCallback","parseFrame","cancelAnimationFrame","scheduleParse","requestAnimationFrame","revision","extensions","mdastExtensions","children","node","map","child","renderNode","type","h","class","Tag","depth","code","language","lang","filename","meta","target","rel","ordered","start","checked","disabled","tabIndex","heading","rows","cell","scope","row","alt","label","render","Host","key"],"sources":["src/wc/components/Markdown/Markdown.css?tag=ds-markdown&encapsulation=scoped","src/wc/components/Markdown/Markdown.tsx"],"sourcesContent":[":host {\n display: block;\n min-width: 0;\n color: inherit;\n box-sizing: border-box;\n}\n\n.markdown {\n min-width: 0;\n font-family: var(--typography-font-family);\n font-size: var(--typography-fontsize-md);\n line-height: var(--typography-lineheight-md);\n font-weight: var(--typography-weight-regular);\n letter-spacing: var(--typography-letterspacing-negative-half);\n overflow-wrap: anywhere;\n}\n\n.markdown > :first-child {\n margin-top: 0;\n}\n\n.markdown > :last-child {\n margin-bottom: 0;\n}\n\np,\nul,\nol,\nblockquote,\n.markdown__table-wrap,\nds-code-block {\n margin: 0 0 var(--dimension-space-150);\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin: var(--dimension-space-200) 0 var(--dimension-space-100);\n color: var(--color-foreground-primary);\n font-family: var(--typography-font-family);\n font-weight: var(--typography-weight-semibold);\n}\n\nh1,\nh2 {\n font-size: var(--typography-fontsize-xl);\n line-height: var(--typography-lineheight-xl);\n}\n\nh3,\nh4,\nh5,\nh6 {\n font-size: var(--typography-fontsize-lg);\n line-height: var(--typography-lineheight-lg);\n}\n\nul,\nol {\n padding-left: var(--dimension-space-300);\n}\n\nli + li {\n margin-top: var(--dimension-space-050);\n}\n\nli > input {\n margin-right: var(--dimension-space-050);\n}\n\nblockquote {\n padding-left: var(--dimension-space-150);\n border-left: var(--dimension-stroke-width-025) solid var(--color-border-secondary);\n color: var(--color-foreground-secondary);\n}\n\na {\n color: var(--color-foreground-brand);\n text-decoration: underline;\n}\n\ncode:not(ds-code-block code) {\n padding: var(--dimension-space-012) var(--dimension-space-025);\n border-radius: var(--dimension-radius-025);\n background: var(--color-background-secondary);\n font-family: var(--typography-fontfamily-mono);\n font-size: var(--typography-fontsize-sm);\n}\n\nhr {\n margin: var(--dimension-space-200) 0;\n border: none;\n border-top: var(--dimension-stroke-width-012) solid var(--color-border-tertiary);\n}\n\n.markdown__table-wrap {\n overflow-x: auto;\n}\n\ntable {\n width: 100%;\n border-collapse: collapse;\n}\n\nth,\ntd {\n padding: var(--dimension-space-075);\n border: var(--dimension-stroke-width-012) solid var(--color-border-tertiary);\n text-align: left;\n vertical-align: top;\n}\n\nth {\n font-weight: var(--typography-weight-semibold);\n}\n","import { Component, h, Host, Prop, State, VNode, Watch } from '@stencil/core';\nimport type { Nodes, Root } from 'mdast';\n\ntype MarkdownRender = VNode | string | null | MarkdownRender[];\ntype MarkdownParser = {\n fromMarkdown: typeof import('mdast-util-from-markdown').fromMarkdown;\n gfmFromMarkdown: typeof import('mdast-util-gfm').gfmFromMarkdown;\n gfm: typeof import('micromark-extension-gfm').gfm;\n};\n\nlet parserPromise: Promise<MarkdownParser> | undefined;\n\nfunction loadParser(): Promise<MarkdownParser> {\n parserPromise ??= Promise.all([\n import('mdast-util-from-markdown'),\n import('mdast-util-gfm'),\n import('micromark-extension-gfm'),\n ]).then(([fromMarkdownModule, gfmFromMarkdownModule, gfmModule]) => ({\n fromMarkdown: fromMarkdownModule.fromMarkdown,\n gfmFromMarkdown: gfmFromMarkdownModule.gfmFromMarkdown,\n gfm: gfmModule.gfm,\n }));\n return parserPromise;\n}\n\nfunction safeHref(value: string | null | undefined): string | undefined {\n if (!value) return undefined;\n try {\n const url = new URL(value, document.baseURI);\n if (!['http:', 'https:', 'mailto:'].includes(url.protocol)) return undefined;\n return url.href;\n } catch {\n return undefined;\n }\n}\n\n@Component({\n tag: 'ds-markdown',\n styleUrl: 'Markdown.css',\n scoped: true,\n})\nexport class Markdown {\n @Prop() content: string = '';\n @Prop() streaming: boolean = false;\n\n @State() private tree: Root | null = null;\n private parseFrame?: number;\n private parseRevision = 0;\n\n componentWillLoad() {\n // The browser-targeted named-character decoder used by the Markdown parser\n // creates a DOM element when its module is evaluated. Keep public package\n // imports server-safe by loading that parser only in a browser context.\n if (typeof document !== 'undefined') return this.parse();\n }\n\n disconnectedCallback() {\n this.parseRevision += 1;\n if (this.parseFrame && typeof cancelAnimationFrame === 'function') {\n cancelAnimationFrame(this.parseFrame);\n }\n }\n\n @Watch('content')\n scheduleParse() {\n if (typeof requestAnimationFrame !== 'function') return;\n if (this.parseFrame) cancelAnimationFrame(this.parseFrame);\n this.parseFrame = requestAnimationFrame(() => {\n this.parseFrame = undefined;\n void this.parse();\n });\n }\n\n private async parse() {\n const revision = ++this.parseRevision;\n try {\n const { fromMarkdown, gfmFromMarkdown, gfm } = await loadParser();\n const tree = fromMarkdown(this.content, {\n extensions: [gfm()],\n mdastExtensions: [gfmFromMarkdown()],\n });\n if (revision === this.parseRevision) this.tree = tree;\n } catch {\n if (revision === this.parseRevision) this.tree = null;\n }\n }\n\n private children(node: Nodes): MarkdownRender[] {\n if (!('children' in node)) return [];\n return node.children.map(child => this.renderNode(child));\n }\n\n private renderNode(node: Nodes): MarkdownRender {\n switch (node.type) {\n case 'root':\n return this.children(node);\n case 'text':\n // Keep prose text on an element boundary. Besides giving streaming updates a\n // stable render target, this avoids axe-core treating a bare Stencil text\n // vnode as an element while it generates a contrast-result selector.\n return <span class=\"markdown__text\">{node.value}</span>;\n case 'paragraph':\n return <p class=\"markdown__paragraph\">{this.children(node)}</p>;\n case 'heading': {\n const Tag = `h${node.depth}`;\n return <Tag class=\"markdown__heading\">{this.children(node)}</Tag>;\n }\n case 'strong':\n return <strong class=\"markdown__strong\">{this.children(node)}</strong>;\n case 'emphasis':\n return <em class=\"markdown__emphasis\">{this.children(node)}</em>;\n case 'delete':\n return <del class=\"markdown__delete\">{this.children(node)}</del>;\n case 'blockquote':\n return <blockquote class=\"markdown__blockquote\">{this.children(node)}</blockquote>;\n case 'break':\n return <br class=\"markdown__break\" />;\n case 'thematicBreak':\n return <hr class=\"markdown__thematic-break\" />;\n case 'inlineCode':\n return <code class=\"markdown__inline-code\">{node.value}</code>;\n case 'code':\n return (\n <ds-code-block\n class=\"markdown__code-block\"\n code={node.value}\n language={node.lang ?? ''}\n filename={node.meta ?? ''}\n />\n );\n case 'link': {\n const href = safeHref(node.url);\n return href ? (\n <a class=\"markdown__link\" href={href} target=\"_blank\" rel=\"noopener noreferrer\">\n {this.children(node)}\n </a>\n ) : (\n this.children(node)\n );\n }\n case 'list': {\n const Tag = node.ordered ? 'ol' : 'ul';\n return (\n <Tag class=\"markdown__list\" start={node.ordered && node.start ? node.start : undefined}>\n {this.children(node)}\n </Tag>\n );\n }\n case 'listItem':\n return (\n <li class=\"markdown__list-item\">\n {typeof node.checked === 'boolean' ? (\n <input\n class=\"markdown__task-indicator\"\n type=\"checkbox\"\n checked={node.checked}\n disabled\n aria-hidden=\"true\"\n tabIndex={-1}\n />\n ) : null}\n {this.children(node)}\n </li>\n );\n case 'table': {\n const [heading, ...rows] = node.children;\n return (\n <div class=\"markdown__table-wrap\">\n <table class=\"markdown__table\">\n {heading ? (\n <thead class=\"markdown__table-head\">\n <tr class=\"markdown__table-row\">\n {heading.children.map(cell => (\n <th class=\"markdown__table-heading\" scope=\"col\">\n {this.children(cell)}\n </th>\n ))}\n </tr>\n </thead>\n ) : null}\n <tbody class=\"markdown__table-body\">{rows.map(row => this.renderNode(row))}</tbody>\n </table>\n </div>\n );\n }\n case 'tableRow':\n return <tr class=\"markdown__table-row\">{this.children(node)}</tr>;\n case 'tableCell':\n return <td class=\"markdown__table-cell\">{this.children(node)}</td>;\n case 'image': {\n const href = safeHref(node.url);\n return href ? (\n <a class=\"markdown__image-link\" href={href} target=\"_blank\" rel=\"noopener noreferrer\">\n {node.alt || 'View image'}\n </a>\n ) : (\n node.alt || null\n );\n }\n case 'html':\n case 'definition':\n case 'footnoteDefinition':\n return null;\n case 'footnoteReference':\n return <sup class=\"markdown__footnote\">{node.label}</sup>;\n default:\n return this.children(node);\n }\n }\n\n render() {\n return (\n <Host aria-busy={this.streaming ? 'true' : undefined}>\n <div class=\"markdown\">\n {this.tree ? (\n this.renderNode(this.tree)\n ) : (\n <p class=\"markdown__paragraph\">\n <span class=\"markdown__text\">{this.content}</span>\n </p>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["buttonUnfilledCss","ICON_SIZE","md","sm","xs","ButtonUnfilled","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","variant","size","width","label","icon","isActive","activeFill","hasBorder","rounded","dot","isInactive","isLoading","type","ariaLabel","buttonEl","handleClick","event","preventDefault","stopPropagation","dsClick","emit","dsChange","setFocus","focus","showIcon","showLabel","showDot","dotRing","accessibleName","undefined","render","bg","background","textVariant","CONTROL_TEXT_VARIANT","iconSize","cls","h","Host","key","class","controlWidthClass","tabIndex","ref","el","disabled","focusTabIndex","controls","expanded","String","haspopup","pressed","onClick","color","name","as","emphasis"],"sources":["src/wc/components/ButtonUnfilled/ButtonUnfilled.css?tag=ds-button-unfilled&encapsulation=scoped","src/wc/components/ButtonUnfilled/ButtonUnfilled.tsx"],"sourcesContent":["@import '../../utils/focus-ring.css';\n@import '../../utils/interaction-fill.css';\n@import '../../utils/control-inactive.css';\n@import '../../utils/control-density.css';\n@import '../../utils/control-width.css';\n\n:host {\n display: inline-flex;\n outline: none;\n --ds-button-unfilled-fg: var(--color-foreground-secondary);\n --ds-button-unfilled-fg-active: var(--color-foreground-primary);\n --ds-button-unfilled-dot-ring: var(--color-background-secondary);\n --ds-button-unfilled-border: var(--color-border-secondary);\n}\n\n/* Icon-only: fixed square from density height (hug). Fill stretches the hit target. */\n:host(.button-unfilled-host--icon.ds-control-width--hug) {\n width: var(--ds-control-height, var(--dimension-size-400));\n height: var(--ds-control-height, var(--dimension-size-400));\n min-width: var(--ds-control-height, var(--dimension-size-400));\n min-height: var(--ds-control-height, var(--dimension-size-400));\n}\n\n:host(.button-unfilled-host--icon.ds-control-width--fill) {\n height: var(--ds-control-height, var(--dimension-size-400));\n min-height: var(--ds-control-height, var(--dimension-size-400));\n}\n\n:host(.ds-control-width--fill) .button-unfilled {\n width: 100%;\n}\n\n.button-unfilled {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n height: var(--ds-control-height, var(--dimension-size-400));\n padding: 0 var(--ds-control-padding-inline, var(--dimension-space-075));\n gap: var(--ds-control-gap, var(--dimension-space-050));\n background: transparent;\n border: none;\n border-radius: var(--ds-control-radius, var(--dimension-radius-025));\n color: var(--ds-button-unfilled-fg);\n cursor: pointer;\n -webkit-user-select: none;\n user-select: none;\n overflow: hidden;\n transition: color var(--effect-motion-short-2);\n /* Hover/press/selected fill: `.ds-interaction-fill` (+ `--selected` / `--on-*`).\n Active always promotes foreground to primary (toggle mode). */\n}\n\n.button-unfilled--icon {\n width: 100%;\n height: 100%;\n padding: 0;\n}\n\n.button-unfilled--rounded {\n --ds-control-radius: var(--dimension-radius-half);\n}\n\n.button-unfilled--active {\n color: var(--ds-button-unfilled-fg-active);\n}\n\n/* Inset stroke via interaction-fill ::after (above selected / hover washes). */\n.button-unfilled--bordered {\n --ds-interaction-border-width: var(--dimension-stroke-width-012);\n --ds-interaction-border-color: var(--ds-button-unfilled-border);\n}\n\n/* Fallback if interaction-fill is omitted (should be rare — prefer keep the util class). */\n.button-unfilled--bordered:not(.ds-interaction-fill) {\n box-shadow: inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color);\n}\n\n/* Inactive: `.ds-control-inactive` (25% opacity). */\n\n/* Foreground / chrome tokens per surface — interaction tokens come from util `--on-*`. */\n.button-unfilled--background-medium {\n --ds-button-unfilled-fg: var(--color-foreground-on-medium-background-secondary);\n --ds-button-unfilled-fg-active: var(--color-foreground-on-medium-background-primary);\n --ds-button-unfilled-dot-ring: var(--color-background-medium-neutral);\n --ds-button-unfilled-border: var(--color-border-on-medium-background-secondary);\n}\n\n.button-unfilled--background-bold {\n --ds-button-unfilled-fg: var(--color-foreground-on-bold-background-secondary);\n --ds-button-unfilled-fg-active: var(--color-foreground-on-bold-background-primary);\n --ds-button-unfilled-dot-ring: var(--color-background-bold-neutral);\n --ds-button-unfilled-border: var(--color-border-on-bold-background-secondary);\n}\n\n.button-unfilled--background-strong {\n --ds-button-unfilled-fg: var(--color-foreground-on-strong-background-secondary);\n --ds-button-unfilled-fg-active: var(--color-foreground-on-strong-background-primary);\n --ds-button-unfilled-dot-ring: var(--color-background-strong-neutral);\n --ds-button-unfilled-border: var(--color-border-on-strong-background-secondary);\n}\n\n.button-unfilled--background-translucent {\n --ds-button-unfilled-fg: var(--color-translucent-foreground-secondary);\n --ds-button-unfilled-fg-active: var(--color-translucent-foreground-primary);\n --ds-button-unfilled-dot-ring: var(--color-translucent-translucent);\n --ds-button-unfilled-border: var(--color-translucent-border-secondary);\n}\n\n.button-unfilled--background-inverted {\n --ds-button-unfilled-fg: var(--color-inverted-foreground-secondary);\n --ds-button-unfilled-fg-active: var(--color-inverted-foreground-primary);\n --ds-button-unfilled-dot-ring: var(--color-inverted-background);\n --ds-button-unfilled-border: var(--color-inverted-border-secondary);\n}\n\n.button-unfilled--background-media {\n --ds-button-unfilled-fg: var(--color-media-foreground-secondary);\n --ds-button-unfilled-fg-active: var(--color-media-foreground-primary);\n --ds-button-unfilled-dot-ring: var(--color-media-background);\n --ds-button-unfilled-border: var(--color-media-border-secondary);\n}\n\n.button-unfilled--on-always-dark {\n --ds-button-unfilled-fg: var(--color-always-dark-foreground-secondary);\n --ds-button-unfilled-fg-active: var(--color-always-dark-foreground-primary);\n --ds-button-unfilled-dot-ring: var(--color-always-dark-background);\n --ds-button-unfilled-border: var(--color-always-dark-border-secondary);\n}\n\n/*\n * After surface ring defaults: selected fill remaps the knock-out to the active\n * wash so the badge halo matches the selected background.\n */\n.button-unfilled.ds-interaction-fill--selected {\n --ds-button-unfilled-dot-ring: var(--ds-interaction-active);\n}\n\n.button-unfilled__icon-wrap {\n position: relative;\n width: var(--ds-control-icon, var(--dimension-iconography-md));\n height: var(--ds-control-icon, var(--dimension-iconography-md));\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n z-index: 2;\n}\n\n.button-unfilled__label {\n position: relative;\n z-index: 2;\n padding: 0 var(--ds-control-label-inset, var(--dimension-space-025));\n white-space: nowrap;\n flex-shrink: 0;\n min-width: 0;\n}\n\n.button-unfilled__label--loading {\n visibility: hidden;\n}\n\n.button-unfilled > .button-unfilled__loader-overlay {\n position: absolute;\n inset: 0;\n z-index: 2;\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n}\n\n.button-unfilled__dot {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n pointer-events: none;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop } from '@stencil/core';\nimport { controlWidthClass, CONTROL_TEXT_VARIANT, type ControlWidth } from '../../utils';\n\nexport type ButtonUnfilledBackground =\n | 'faint'\n | 'medium'\n | 'bold'\n | 'strong'\n | 'translucent'\n | 'inverted'\n | 'media'\n | 'always-dark';\n\nexport type ButtonUnfilledVariant = 'icon' | 'label' | 'icon-label';\n\nexport type ButtonUnfilledSize = 'md' | 'sm' | 'xs';\n\nexport type ButtonUnfilledWidth = ControlWidth;\nexport type ButtonUnfilledPopup = 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';\n\n/**\n * `ds-icon` size prop matching control-density icon metrics\n * (md→20 / sm→16 / xs→12 via `--dimension-iconography-*`).\n */\nconst ICON_SIZE: Record<ButtonUnfilledSize, 'md' | 'sm' | 'xs'> = {\n md: 'md',\n sm: 'sm',\n xs: 'xs',\n};\n\n@Component({\n tag: 'ds-button-unfilled',\n styleUrl: 'ButtonUnfilled.css',\n scoped: true,\n})\nexport class ButtonUnfilled {\n @Element() el!: HTMLElement;\n\n /**\n * Content layout. Default is label-only; pass `icon` for icon-only chrome\n * (nav / tool rails) or `icon-label` for leading icon + text.\n */\n @Prop() variant: ButtonUnfilledVariant = 'label';\n\n /** Control density (height, padding, icon, type). */\n @Prop() size: ButtonUnfilledSize = 'md';\n\n /** Width fit — hug content (default) or fill the parent. */\n @Prop() width: ButtonUnfilledWidth = 'hug';\n\n /** Visible text for `label` / `icon-label` variants. */\n @Prop() label: string = '';\n\n /** Icon name passed to <ds-icon> for `icon` / `icon-label` variants. */\n @Prop() icon: string = '';\n\n /** Active/selected visual state. Always promotes foreground to primary. */\n @Prop() isActive: boolean = false;\n\n /**\n * When active, render the selected interaction fill.\n * Default `true` for general UI. Shell chrome (nav / tool rails) should pass\n * `false` so selection is foreground-only (primary color, no fill).\n */\n @Prop() activeFill: boolean = true;\n\n /** Show a 1px secondary inset border. Default on; shell chrome can pass `false`. */\n @Prop() hasBorder: boolean = true;\n\n /** Use the half-radius treatment instead of the default control radius. */\n @Prop() rounded: boolean = false;\n\n /** Show a notification dot at the top-right of the icon zone (icon variant only). */\n @Prop() dot: boolean = false;\n\n /** Disables interaction. */\n @Prop() isInactive: boolean = false;\n\n /** Shows an inline loader and prevents interaction without applying inactive opacity. */\n @Prop() isLoading: boolean = false;\n\n /** Native button type. */\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n\n /** Actual parent surface context. Omit on primary and secondary surfaces. */\n @Prop() background: ButtonUnfilledBackground | undefined;\n\n /** Accessible name override. Required for icon-only buttons. */\n @Prop({ attribute: 'aria-label' }) ariaLabel: string | null = null;\n @Prop() controls: string | undefined;\n @Prop() expanded: boolean | undefined;\n @Prop() haspopup: ButtonUnfilledPopup | undefined;\n @Prop() pressed: boolean | undefined;\n\n /**\n * Native `tabindex` for roving keyboard groups in shell chrome.\n * Omit for the default button tab stop (`0`).\n */\n @Prop({ attribute: 'tab-index' }) focusTabIndex?: number;\n\n @Event() dsClick!: EventEmitter<MouseEvent>;\n @Event() dsChange!: EventEmitter<boolean>;\n\n private buttonEl: HTMLButtonElement | null = null;\n\n @Method()\n async setFocus() {\n this.buttonEl?.focus();\n }\n\n private handleClick = (event: MouseEvent) => {\n if (this.isInactive || this.isLoading) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n this.dsClick.emit(event);\n this.dsChange.emit(!this.isActive);\n };\n\n private get showIcon(): boolean {\n return this.variant === 'icon' || this.variant === 'icon-label';\n }\n\n private get showLabel(): boolean {\n return this.variant === 'label' || this.variant === 'icon-label';\n }\n\n private get showDot(): boolean {\n return this.variant === 'icon' && this.dot && !this.isLoading;\n }\n\n /** Knock-out ring: selected fill → active wash; otherwise surface token. */\n private get dotRing(): string {\n if (this.isActive && this.activeFill) {\n return 'var(--ds-interaction-active)';\n }\n return 'var(--ds-button-unfilled-dot-ring)';\n }\n\n private get accessibleName(): string | undefined {\n if (this.ariaLabel) return this.ariaLabel;\n if (this.isLoading && this.variant === 'label' && this.label) return this.label;\n return undefined;\n }\n\n render() {\n const bg = this.background;\n const textVariant = CONTROL_TEXT_VARIANT[this.size];\n const iconSize = ICON_SIZE[this.size];\n\n const cls: Record<string, boolean> = {\n 'button-unfilled': true,\n 'ds-focus-ring-inset': true,\n 'ds-interaction-fill': true,\n 'ds-interaction-fill--selected': this.isActive && this.activeFill && !this.isInactive,\n 'ds-interaction-fill--on-faint': bg === 'faint',\n 'ds-interaction-fill--on-medium': bg === 'medium',\n 'ds-interaction-fill--on-bold': bg === 'bold',\n 'ds-interaction-fill--on-strong': bg === 'strong',\n 'ds-interaction-fill--on-translucent': bg === 'translucent',\n 'ds-interaction-fill--on-inverted': bg === 'inverted',\n 'ds-interaction-fill--on-media': bg === 'media',\n 'ds-interaction-fill--on-always-dark': bg === 'always-dark',\n 'button-unfilled--active': this.isActive,\n 'button-unfilled--bordered': this.hasBorder,\n 'button-unfilled--rounded': this.rounded,\n 'ds-control-inactive': this.isInactive,\n 'ds-control--md': this.size === 'md',\n 'ds-control--sm': this.size === 'sm',\n 'ds-control--xs': this.size === 'xs',\n 'button-unfilled--icon': this.variant === 'icon',\n 'button-unfilled--label': this.variant === 'label',\n 'button-unfilled--icon-label': this.variant === 'icon-label',\n 'button-unfilled--background-faint': bg === 'faint',\n 'button-unfilled--background-medium': bg === 'medium',\n 'button-unfilled--background-bold': bg === 'bold',\n 'button-unfilled--background-strong': bg === 'strong',\n 'button-unfilled--background-translucent': bg === 'translucent',\n 'button-unfilled--background-inverted': bg === 'inverted',\n 'button-unfilled--background-media': bg === 'media',\n 'button-unfilled--on-always-dark': bg === 'always-dark',\n };\n\n return (\n <Host\n class={{\n 'button-unfilled-host': true,\n 'button-unfilled-host--icon': this.variant === 'icon',\n 'ds-control--md': this.size === 'md',\n 'ds-control--sm': this.size === 'sm',\n 'ds-control--xs': this.size === 'xs',\n ...controlWidthClass(this.width),\n }}\n tabIndex={-1}\n >\n <button\n ref={el => {\n this.buttonEl = el ?? null;\n }}\n type={this.type}\n class={cls}\n disabled={this.isInactive}\n tabIndex={this.focusTabIndex ?? 0}\n aria-label={this.accessibleName}\n aria-busy={this.isLoading ? 'true' : undefined}\n aria-disabled={this.isLoading ? 'true' : undefined}\n aria-controls={this.controls}\n aria-expanded={this.expanded === undefined ? undefined : String(this.expanded)}\n aria-haspopup={this.haspopup}\n aria-pressed={this.pressed === undefined ? undefined : String(this.pressed)}\n onClick={this.handleClick}\n >\n {this.showIcon && (\n <span class=\"button-unfilled__icon-wrap ds-interaction-fill__content\">\n {this.isLoading\n ? <ds-loader size={iconSize} color=\"inherit\" />\n : <ds-icon name={this.icon} size={iconSize} color=\"inherit\" />\n }\n {this.showDot && (\n <ds-badge\n class=\"button-unfilled__dot\"\n variant=\"dot\"\n background={this.dotRing}\n label=\"\"\n aria-hidden=\"true\"\n />\n )}\n </span>\n )}\n {this.showLabel && (\n <ds-text\n class={{\n 'button-unfilled__label': true,\n 'button-unfilled__label--loading': this.isLoading && this.variant === 'label',\n 'ds-interaction-fill__content': true,\n }}\n as=\"span\"\n variant={textVariant}\n emphasis\n color=\"inherit\"\n >\n {this.label}\n </ds-text>\n )}\n {this.isLoading && this.variant === 'label' && (\n <span class=\"button-unfilled__loader-overlay ds-interaction-fill__content\">\n <ds-loader size={iconSize} color=\"inherit\" />\n </span>\n )}\n </button>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{p as d,H as r,h as a,a as e,t as s}from"./index.js";import{d as c}from"./p-BSOZXagj.js";const i=()=>`.sc-ds-card-h{display:flex;flex-direction:column;box-sizing:border-box;width:var(--_card-width);min-height:var(--_card-min-height);max-width:100%;border:none;border-radius:var(--dimension-radius-025);background-color:var(--color-background-primary);box-shadow:0 0 0 var(--dimension-stroke-width-012) var(--color-border-tertiary);overflow:hidden}.card--editing.sc-ds-card-h{background-color:var(--color-background-bold-brand);box-shadow:0 0 0 var(--dimension-stroke-width-025) var(--color-border-bold-brand)}.card__header.sc-ds-card{display:flex;align-items:center;justify-content:space-between;gap:var(--dimension-space-100);height:var(--dimension-size-600);flex-shrink:0;padding:var(--dimension-space-100);background-color:var(--color-background-secondary);border-bottom:var(--dimension-stroke-width-012) solid var(--color-border-tertiary);box-sizing:border-box}.card--editing.sc-ds-card-h .card__header.sc-ds-card{background-color:transparent;border-bottom-color:transparent}ds-text.card__title.sc-ds-card{flex:1 1 auto;min-width:0;display:flex;align-items:center;box-sizing:border-box;padding:calc( var(--dimension-space-075) + var(--dimension-space-025) );-webkit-user-select:none;user-select:none}.card__actions.sc-ds-card{display:flex;flex-shrink:0;align-items:center;gap:var(--dimension-space-100)}.card__actions.sc-ds-card:empty{display:none}.card__body.sc-ds-card{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;border-radius:0 0 var(--dimension-radius-025) var(--dimension-radius-025);background-color:var(--color-background-primary);box-sizing:border-box}.card--editing.sc-ds-card-h .card__body.sc-ds-card{border-radius:var(--dimension-radius-025)}`;const o={sm:"var(--dimension-card-width-sm)",md:"var(--dimension-card-width-md)",lg:"var(--dimension-card-width-lg)"};const n={sm:"var(--dimension-card-height-sm)",md:"var(--dimension-card-height-md)",lg:"var(--dimension-card-height-lg)"};const t="var(--color-foreground-faint-brand)";const b=d(class d extends r{constructor(d){super();if(d!==false){this.__registerHost()}this.cardWidth="md";this.appearance="default"}render(){const d=this.appearance==="editing";return a(e,{key:"3055caae521a796b41d8b63ce7bcfb7eac3c51ac",class:{card:true,"card--editing":d},style:{"--_card-width":o[this.cardWidth],"--_card-min-height":n[this.cardWidth]}},a("header",{key:"ca7b30de6c82ab54bc7e5f7091f0c3f930df46df",class:"card__header"},a("ds-text",{key:"3812e92b3230f5bc6bd9cb3d193beef8c96651fb",class:"card__title",variant:"text-title-small",emphasis:true,color:d?t:"primary",as:"h2"},this.heading),a("div",{key:"1adae95915471e1488e6590b431a2ebd933a26fe",class:"card__actions"},a("slot",{key:"2e38d6d86bb71dd1358dfacc3f557f8fced583b3",name:"actions"}))),a("div",{key:"4524dcd8455b435126d48fab8bb79c144dcac5c3",class:"card__body"},a("slot",{key:"36dad2dba425f36d0fbd7e5cecc2fa563ecdc72b"})))}static get style(){return i()}},[262,"ds-card",{heading:[1],cardWidth:[1,"card-width"],appearance:[1]}]);function l(){if(typeof customElements==="undefined"){return}const d=["ds-card","ds-text"];d.forEach((d=>{switch(d){case"ds-card":if(!customElements.get(s(d))){customElements.define(s(d),b)}break;case"ds-text":if(!customElements.get(s(d))){c()}break}}))}l();export{b as C,l as d};
|
|
2
|
-
//# sourceMappingURL=p-CnM9SW_8.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["cardCss","CARD_WIDTH_VARS","sm","md","lg","CARD_HEIGHT_VARS","FAINT_BRAND_TITLE_COLOR","Card","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","cardWidth","appearance","render","editing","h","Host","key","class","card","style","variant","emphasis","color","as","heading","name"],"sources":["src/wc/components/Card/Card.css?tag=ds-card&encapsulation=scoped","src/wc/components/Card/Card.tsx"],"sourcesContent":[":host {\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n width: var(--_card-width);\n min-height: var(--_card-min-height);\n max-width: 100%;\n border: none;\n border-radius: var(--dimension-radius-025);\n background-color: var(--color-background-primary);\n box-shadow: 0 0 0 var(--dimension-stroke-width-012) var(--color-border-tertiary);\n overflow: hidden;\n}\n\n:host(.card--editing) {\n background-color: var(--color-background-bold-brand);\n box-shadow: 0 0 0 var(--dimension-stroke-width-025) var(--color-border-bold-brand);\n}\n\n.card__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--dimension-space-100);\n height: var(--dimension-size-600);\n flex-shrink: 0;\n padding: var(--dimension-space-100);\n background-color: var(--color-background-secondary);\n border-bottom: var(--dimension-stroke-width-012) solid var(--color-border-tertiary);\n box-sizing: border-box;\n}\n\n:host(.card--editing) .card__header {\n background-color: transparent;\n border-bottom-color: transparent;\n}\n\n/* Title owns wrap + label inset (was nested wrap 075 + title 025 before metric-box).\n Beat Text’s block/inline-box display so flex centering still applies. */\nds-text.card__title {\n flex: 1 1 auto;\n min-width: 0;\n display: flex;\n align-items: center;\n box-sizing: border-box;\n padding: calc(\n var(--dimension-space-075) + var(--dimension-space-025)\n );\n -webkit-user-select: none;\n user-select: none;\n}\n\n.card__actions {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n gap: var(--dimension-space-100);\n}\n\n.card__actions:empty {\n display: none;\n}\n\n.card__body {\n flex: 1 1 auto;\n min-height: 0;\n display: flex;\n flex-direction: column;\n border-radius: 0 0 var(--dimension-radius-025) var(--dimension-radius-025);\n background-color: var(--color-background-primary);\n box-sizing: border-box;\n}\n\n:host(.card--editing) .card__body {\n border-radius: var(--dimension-radius-025);\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\nexport type CardWidth = 'sm' | 'md' | 'lg';\n\n/** Visual chrome recipe — default app surface, or settings edit wash. */\nexport type CardAppearance = 'default' | 'editing';\n\nconst CARD_WIDTH_VARS: Record<CardWidth, string> = {\n sm: 'var(--dimension-card-width-sm)',\n md: 'var(--dimension-card-width-md)',\n lg: 'var(--dimension-card-width-lg)',\n};\n\nconst CARD_HEIGHT_VARS: Record<CardWidth, string> = {\n sm: 'var(--dimension-card-height-sm)',\n md: 'var(--dimension-card-height-md)',\n lg: 'var(--dimension-card-height-lg)',\n};\n\nconst FAINT_BRAND_TITLE_COLOR = 'var(--color-foreground-faint-brand)';\n\n/**\n * Shared card chrome — width + matching min-height tokens, header (title + actions),\n * and a flex body that fills leftover space. Data-visualization cards use their\n * dedicated `ds-card-shell-data-viz` boundary instead.\n */\n@Component({\n tag: 'ds-card',\n styleUrl: 'Card.css',\n scoped: true,\n})\nexport class Card {\n /** Section heading shown in the card header. */\n @Prop() heading!: string;\n\n /**\n * Card width token (`sm` / `md` / `lg`). Also sets host `min-height` to the\n * matching `--dimension-card-height-*` so empty bodies still fill the card.\n */\n @Prop() cardWidth: CardWidth = 'md';\n\n /** Chrome recipe — `editing` applies the settings edit wash. */\n @Prop() appearance: CardAppearance = 'default';\n\n render() {\n const editing = this.appearance === 'editing';\n\n return (\n <Host\n class={{\n card: true,\n 'card--editing': editing,\n }}\n style={{\n '--_card-width': CARD_WIDTH_VARS[this.cardWidth],\n '--_card-min-height': CARD_HEIGHT_VARS[this.cardWidth],\n }}\n >\n <header class=\"card__header\">\n <ds-text\n class=\"card__title\"\n variant=\"text-title-small\"\n emphasis\n color={editing ? FAINT_BRAND_TITLE_COLOR : 'primary'}\n as=\"h2\"\n >\n {this.heading}\n </ds-text>\n <div class=\"card__actions\">\n <slot name=\"actions\" />\n </div>\n </header>\n <div class=\"card__body\">\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"+FAAA,MAAMA,EAAU,IAAM,kpDCOtB,MAAMC,EAA6C,CACjDC,GAAI,iCACJC,GAAI,iCACJC,GAAI,kCAGN,MAAMC,EAA8C,CAClDH,GAAI,kCACJC,GAAI,kCACJC,GAAI,mCAGN,MAAME,EAA0B,sC,MAYnBC,EAAIC,EAAA,MAAAD,UAAAE,EALjB,WAAAC,CAAAC,G,4CAaUC,KAAAC,UAAuB,KAGvBD,KAAAE,WAA6B,SAoCtC,CAlCC,MAAAC,GACE,MAAMC,EAAUJ,KAAKE,aAAe,UAEpC,OACEG,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACLC,KAAM,KACN,gBAAiBL,GAEnBM,MAAO,CACL,gBAAiBrB,EAAgBW,KAAKC,WACtC,qBAAsBR,EAAiBO,KAAKC,aAG9CI,EAAA,UAAAE,IAAA,2CAAQC,MAAM,gBACZH,EAAA,WAAAE,IAAA,2CACEC,MAAM,cACNG,QAAQ,mBACRC,SAAQ,KACRC,MAAOT,EAAUV,EAA0B,UAC3CoB,GAAG,MAEFd,KAAKe,SAERV,EAAA,OAAAE,IAAA,2CAAKC,MAAM,iBACTH,EAAA,QAAAE,IAAA,2CAAMS,KAAK,cAGfX,EAAA,OAAAE,IAAA,2CAAKC,MAAM,cACTH,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{p as s,H as i,c as t,h as e,a as n,t as o}from"./index.js";const r=()=>`:host{--ds-focus-ring-width:var(--dimension-stroke-width-025, 2px);--ds-focus-ring-offset:var(--dimension-space-025, 2px);--ds-focus-ring-color:var(--color-interaction-focus)}:host(.ds-focus-ring:focus-visible),.ds-focus-ring:focus-visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}:host(.ds-focus-ring.ds-focus-ring--visible),.ds-focus-ring.ds-focus-ring--visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}:host(.ds-focus-ring-inset:focus-visible),.ds-focus-ring-inset:focus-visible{outline:none}:host(.ds-focus-ring-inset:focus-visible)::after,.ds-focus-ring-inset:focus-visible::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}:host(.ds-focus-ring-inset.ds-focus-ring--visible),.ds-focus-ring-inset.ds-focus-ring--visible{outline:none}:host(.ds-focus-ring-inset.ds-focus-ring--visible)::after,.ds-focus-ring-inset.ds-focus-ring--visible::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}:host(.ds-control-inactive),.ds-control-inactive{opacity:0.25;pointer-events:none;cursor:not-allowed}:host{--ds-switch-width:var(--dimension-size-400);--ds-switch-height:var(--dimension-size-250);--ds-switch-thumb-size:var(--dimension-size-150);--ds-switch-gap:var(--dimension-space-050);--ds-switch-stroke:var(--dimension-stroke-width-015);--ds-switch-inset:var(--ds-switch-gap);--ds-switch-thumb-hover:var(--color-interaction-hover);--ds-switch-thumb-pressed:var(--color-interaction-pressed);--ds-switch-travel:calc( var(--ds-switch-width) - var(--ds-switch-thumb-size) - var(--ds-switch-inset) - var(--ds-switch-inset) );position:relative;display:inline-flex;width:var(--ds-switch-width);height:var(--ds-switch-height);padding:0;border:none;border-radius:var(--dimension-radius-half);box-sizing:border-box;flex-shrink:0;overflow:visible;cursor:pointer;user-select:none;outline:none;background-color:transparent;box-shadow:inset 0 0 0 var(--ds-switch-stroke) var(--color-foreground-tertiary);transition:background-color var(--effect-motion-short-3), box-shadow var(--effect-motion-short-3)}:host(.switch--sm){--ds-switch-width:var(--dimension-size-300);--ds-switch-height:var(--dimension-size-200);--ds-switch-thumb-size:calc(var(--dimension-size-base) * 5 / 4);--ds-switch-gap:calc(var(--dimension-space-025) + var(--dimension-space-012));--ds-switch-stroke:var(--dimension-stroke-width-012)}:host(.switch--xs){--ds-switch-width:var(--dimension-size-250);--ds-switch-height:var(--dimension-size-150);--ds-switch-thumb-size:var(--dimension-size-100);--ds-switch-gap:var(--dimension-space-025);--ds-switch-stroke:calc(var(--dimension-stroke-width-base) * 3 / 32)}:host(.checked){background-color:var(--color-background-bold-brand);box-shadow:none}:host(.switch--readonly),:host(.switch--presentation){cursor:default}:host(.switch--presentation){pointer-events:none}.thumb{position:absolute;top:50%;left:var(--ds-switch-inset);width:var(--ds-switch-thumb-size);height:var(--ds-switch-thumb-size);border-radius:var(--dimension-radius-half);background-color:var(--color-foreground-tertiary);box-shadow:none;transform:translateY(-50%);transition:background-color var(--effect-motion-short-3), transform var(--effect-motion-short-3);pointer-events:none}.thumb::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none}:host(:hover:not(:disabled):not(.ds-control-inactive):not(.switch--readonly):not(.switch--presentation)) .thumb::after{background:var(--ds-switch-thumb-hover)}:host(:active:not(:disabled):not(.ds-control-inactive):not(.switch--readonly):not(.switch--presentation)) .thumb::after{background:var(--ds-switch-thumb-pressed)}:host(.checked) .thumb{background-color:var(--color-background-primary);box-shadow:none;transform:translate3d(var(--ds-switch-travel), -50%, 0)}@media (prefers-reduced-motion: reduce){:host{transition:none}.thumb{transition:none}}`;let a=0;const d=s(class s extends i{constructor(s){super();if(s!==false){this.__registerHost()}this.__attachShadow();this.dsChange=t(this,"dsChange");this.internals=this.attachInternals();this.checked=false;this.value="on";this.disabled=false;this.readOnly=false;this.required=false;this.requiredMessage="This field is required.";this.isInactive=false;this.size="md";this.presentation=false;this.initialChecked=false;this.formDisabled=false;this.focused=false;this.touched=false;this.handleClick=()=>{if(this.presentation||this.readOnly||this.isInactive||this.disabled||this.formDisabled)return;this.checked=!this.checked;this.dsChange.emit(this.checked)};this.handleKeyDown=s=>{if(this.presentation||this.readOnly||this.isInactive||this.disabled||this.formDisabled)return;if(s.key===" "||s.key==="Enter"){s.preventDefault();this.handleClick()}};this.handleFocus=()=>{if(!this.presentation)this.focused=true};this.handleBlur=()=>{if(this.presentation)return;this.focused=false;this.touched=true}}componentWillLoad(){this.initialChecked=this.checked;this.syncFormValue()}componentDidLoad(){this.syncNativeLabels()}syncFormValue(){const s=this.presentation||this.isInactive||this.disabled||this.formDisabled;const i=this.checked?this.value:this.uncheckedValue??null;const t=this.checked?"checked":"unchecked";this.internals.setFormValue(s?null:i,t);const e=this.required&&!s&&!this.checked;this.internals.setValidity(e?{valueMissing:true}:{},e?this.requiredMessage:"")}formDisabledCallback(s){this.formDisabled=s;this.syncFormValue()}formResetCallback(){this.checked=this.initialChecked;this.focused=false;this.touched=false}formStateRestoreCallback(s){this.checked=s==="checked"}syncNativeLabels(){if(this.presentation)return;if(this.el.hasAttribute("aria-label")||this.el.hasAttribute("aria-labelledby"))return;const s=Array.from(this.internals.labels).map((s=>{if(!s.id)s.id=`ds-switch-label-${++a}`;return s.id}));if(s.length)this.el.setAttribute("aria-labelledby",s.join(" "))}render(){const s=this.isInactive||this.disabled||this.formDisabled;const i=this.required&&!s&&!this.checked;const t=this.checked!==this.initialChecked;return e(n,{key:"f208fd374b2360e14e8ee644efe301dfc6444a2b",role:this.presentation?undefined:"switch","aria-checked":this.presentation?undefined:String(this.checked),"aria-disabled":!this.presentation&&s?"true":undefined,"aria-readonly":!this.presentation&&this.readOnly?"true":undefined,"aria-required":!this.presentation&&this.required?"true":undefined,"aria-invalid":!this.presentation&&i?"true":undefined,"aria-hidden":this.presentation?"true":undefined,"data-checked":this.checked?"":undefined,"data-unchecked":!this.checked?"":undefined,"data-disabled":s?"":undefined,"data-readonly":this.readOnly?"":undefined,"data-required":this.required?"":undefined,"data-focused":!this.presentation&&this.focused?"":undefined,"data-filled":!this.presentation&&this.checked?"":undefined,"data-dirty":!this.presentation&&t?"":undefined,"data-touched":!this.presentation&&this.touched?"":undefined,"data-valid":!this.presentation&&!s&&!i?"":undefined,"data-invalid":!this.presentation&&i?"":undefined,tabIndex:this.presentation||s?-1:0,class:{switch:true,checked:this.checked,"switch--md":this.size==="md","switch--sm":this.size==="sm","switch--xs":this.size==="xs","switch--readonly":this.readOnly,"switch--presentation":this.presentation,"ds-focus-ring":true,"ds-control-inactive":s},onClick:this.handleClick,onKeyDown:this.handleKeyDown,onFocus:this.handleFocus,onBlur:this.handleBlur},e("span",{key:"e38f5b412ae538d782fa38b228a037c2dff825c5",class:"thumb"}))}static get formAssociated(){return true}get el(){return this}static get watchers(){return{checked:[{syncFormValue:0}],value:[{syncFormValue:0}],uncheckedValue:[{syncFormValue:0}],disabled:[{syncFormValue:0}],isInactive:[{syncFormValue:0}],presentation:[{syncFormValue:0}],required:[{syncFormValue:0}]}}static get style(){return r()}},[65,"ds-switch",{checked:[1028],name:[513],value:[1],uncheckedValue:[1,"unchecked-value"],form:[513],disabled:[516],readOnly:[516,"read-only"],required:[516],requiredMessage:[1,"required-message"],isInactive:[4,"is-inactive"],size:[1],presentation:[4],formDisabled:[32],focused:[32],touched:[32]},undefined,{checked:[{syncFormValue:0}],value:[{syncFormValue:0}],uncheckedValue:[{syncFormValue:0}],disabled:[{syncFormValue:0}],isInactive:[{syncFormValue:0}],presentation:[{syncFormValue:0}],required:[{syncFormValue:0}]}]);function h(){if(typeof customElements==="undefined"){return}const s=["ds-switch"];s.forEach((s=>{switch(s){case"ds-switch":if(!customElements.get(o(s))){customElements.define(o(s),d)}break}}))}h();export{d as S,h as d};
|
|
2
|
-
//# sourceMappingURL=p-CuKn9I5f.js.map
|