@ds-mo/ui 9.1.0 → 9.2.1
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 +0 -79
- package/dist/.build-stamp +1 -1
- package/dist/agent-patterns.json +165 -1
- package/dist/agent.json +2131 -639
- package/dist/angular/ds-agent-activity.d.ts +12 -0
- package/dist/angular/ds-agent-activity.js +38 -0
- package/dist/angular/ds-agent-response.d.ts +12 -0
- package/dist/angular/ds-agent-response.js +38 -0
- package/dist/angular/ds-agent-source-list.d.ts +12 -0
- package/dist/angular/ds-agent-source-list.js +38 -0
- package/dist/angular/ds-agent-tool-call.d.ts +12 -0
- package/dist/angular/ds-agent-tool-call.js +38 -0
- package/dist/angular/ds-attachment-list.d.ts +12 -0
- package/dist/angular/ds-attachment-list.js +38 -0
- package/dist/angular/ds-avatar.d.ts +12 -0
- package/dist/angular/ds-avatar.js +38 -0
- package/dist/angular/ds-code-block.d.ts +12 -0
- package/dist/angular/ds-code-block.js +38 -0
- package/dist/angular/ds-conversation-list-item.d.ts +19 -0
- package/dist/angular/ds-conversation-list-item.js +42 -0
- package/dist/angular/ds-conversation-list-section.d.ts +12 -0
- package/dist/angular/ds-conversation-list-section.js +38 -0
- package/dist/angular/ds-conversation-list.d.ts +12 -0
- package/dist/angular/ds-conversation-list.js +37 -0
- package/dist/angular/ds-markdown.d.ts +12 -0
- package/dist/angular/ds-markdown.js +38 -0
- package/dist/angular/ds-menu.d.ts +6 -1
- package/dist/angular/ds-menu.js +7 -4
- package/dist/angular/ds-message-bubble.d.ts +12 -0
- package/dist/angular/ds-message-bubble.js +38 -0
- package/dist/angular/ds-message-composer.d.ts +23 -0
- package/dist/angular/ds-message-composer.js +49 -0
- package/dist/angular/ds-message-scroller.d.ts +15 -0
- package/dist/angular/ds-message-scroller.js +43 -0
- package/dist/angular/ds-message.d.ts +12 -0
- package/dist/angular/ds-message.js +38 -0
- package/dist/angular/ds-panel-nav.d.ts +1 -1
- package/dist/angular/ds-panel-nav.js +3 -3
- package/dist/angular/ds-panel-tool-header.d.ts +25 -0
- package/dist/angular/ds-panel-tool-header.js +49 -0
- package/dist/angular/ds-panel-tool-search.d.ts +19 -0
- package/dist/angular/ds-panel-tool-search.js +49 -0
- package/dist/angular/ds-panel-tools.d.ts +30 -1
- package/dist/angular/ds-panel-tools.js +14 -5
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +17 -0
- package/dist/angular/proxies.d.ts +17 -0
- package/dist/angular/proxies.js +17 -0
- package/dist/components/ds-agent-activity.d.ts +11 -0
- package/dist/components/ds-agent-activity.js +2 -0
- package/dist/components/ds-agent-activity.js.map +1 -0
- package/dist/components/ds-agent-response.d.ts +11 -0
- package/dist/components/ds-agent-response.js +2 -0
- package/dist/components/ds-agent-response.js.map +1 -0
- package/dist/components/ds-agent-source-list.d.ts +11 -0
- package/dist/components/ds-agent-source-list.js +2 -0
- package/dist/components/ds-agent-source-list.js.map +1 -0
- package/dist/components/ds-agent-tool-call.d.ts +11 -0
- package/dist/components/ds-agent-tool-call.js +2 -0
- package/dist/components/ds-agent-tool-call.js.map +1 -0
- package/dist/components/ds-app-shell.js +1 -1
- package/dist/components/ds-app-shell.js.map +1 -1
- package/dist/components/ds-attachment-list.d.ts +11 -0
- package/dist/components/ds-attachment-list.js +2 -0
- package/dist/components/ds-attachment-list.js.map +1 -0
- package/dist/components/ds-avatar.d.ts +11 -0
- package/dist/components/ds-avatar.js +2 -0
- package/dist/components/ds-avatar.js.map +1 -0
- package/dist/components/ds-badge.js +1 -1
- package/dist/components/ds-banner.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-setting.js +1 -1
- package/dist/components/ds-card-shell-data-viz.js +1 -1
- package/dist/components/ds-card.js +1 -1
- package/dist/components/ds-chart-bar.js +1 -1
- package/dist/components/ds-chart-bar.js.map +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.d.ts +11 -0
- package/dist/components/ds-code-block.js +2 -0
- package/dist/components/ds-code-block.js.map +1 -0
- package/dist/components/ds-conversation-list-item.d.ts +11 -0
- package/dist/components/ds-conversation-list-item.js +2 -0
- package/dist/components/ds-conversation-list-item.js.map +1 -0
- package/dist/components/ds-conversation-list-section.d.ts +11 -0
- package/dist/components/ds-conversation-list-section.js +2 -0
- package/dist/components/ds-conversation-list-section.js.map +1 -0
- package/dist/components/ds-conversation-list.d.ts +11 -0
- package/dist/components/ds-conversation-list.js +2 -0
- package/dist/components/ds-conversation-list.js.map +1 -0
- package/dist/components/ds-divider.js +1 -1
- package/dist/components/ds-divider.js.map +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.d.ts +11 -0
- package/dist/components/ds-markdown.js +2 -0
- package/dist/components/ds-markdown.js.map +1 -0
- package/dist/components/ds-menu.js +1 -1
- package/dist/components/ds-message-bubble.d.ts +11 -0
- package/dist/components/ds-message-bubble.js +2 -0
- package/dist/components/ds-message-bubble.js.map +1 -0
- package/dist/components/ds-message-composer.d.ts +11 -0
- package/dist/components/ds-message-composer.js +2 -0
- package/dist/components/ds-message-composer.js.map +1 -0
- package/dist/components/ds-message-scroller.d.ts +11 -0
- package/dist/components/ds-message-scroller.js +2 -0
- package/dist/components/ds-message-scroller.js.map +1 -0
- package/dist/components/ds-message.d.ts +11 -0
- package/dist/components/ds-message.js +2 -0
- package/dist/components/ds-message.js.map +1 -0
- package/dist/components/ds-modal.js +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.d.ts +11 -0
- package/dist/components/ds-panel-tool-header.js +2 -0
- package/dist/components/ds-panel-tool-header.js.map +1 -0
- package/dist/components/ds-panel-tool-search.d.ts +11 -0
- package/dist/components/ds-panel-tool-search.js +2 -0
- package/dist/components/ds-panel-tool-search.js.map +1 -0
- 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-multi.js.map +1 -1
- package/dist/components/ds-select.js +1 -1
- package/dist/components/ds-select.js.map +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-tab-group.js.map +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-tooltip-data-viz.js +1 -1
- package/dist/components/ds-tooltip.js +1 -1
- package/dist/components/index.d.ts +14 -0
- package/dist/components/{p-HBIxvS5C.js → p-B1pWGQn1.js} +2 -2
- package/dist/components/p-BBu_Svz7.js +2 -0
- package/dist/components/p-BBu_Svz7.js.map +1 -0
- package/dist/components/p-BHpWYKtP.js +2 -0
- package/dist/components/p-BHpWYKtP.js.map +1 -0
- package/dist/components/{p-KRGBGTu5.js → p-BO6C8abO.js} +2 -2
- package/dist/components/p-BRfOCc_h.js +2 -0
- package/dist/components/p-BRfOCc_h.js.map +1 -0
- package/dist/components/{p-CbS_WWs2.js → p-BSOZXagj.js} +2 -2
- package/dist/components/p-BSOZXagj.js.map +1 -0
- package/dist/components/p-BhC1YyId.js +2 -0
- package/dist/components/p-BhC1YyId.js.map +1 -0
- package/dist/components/p-BjtXYFhw.js +2 -0
- package/dist/components/p-BjtXYFhw.js.map +1 -0
- package/dist/components/p-CBYuvZKM.js +2 -0
- package/dist/components/p-CBYuvZKM.js.map +1 -0
- package/dist/components/{p-CZ9wemOA.js → p-CJlgONwR.js} +2 -2
- package/dist/components/p-CKaJx0IX.js +2 -0
- package/dist/components/p-CKaJx0IX.js.map +1 -0
- package/dist/components/p-CWNdl52Y.js +2 -0
- package/dist/components/p-CWNdl52Y.js.map +1 -0
- package/dist/components/{p-DT2MK8Kt.js → p-CblAABEo.js} +2 -2
- package/dist/components/p-CeFBA7Dx.js +2 -0
- package/dist/components/p-CeFBA7Dx.js.map +1 -0
- package/dist/components/p-CiKGqsA2.js +2 -0
- package/dist/components/{p-BLzivrE3.js.map → p-CiKGqsA2.js.map} +1 -1
- package/dist/components/p-Ci_nVk5P.js +2 -0
- package/dist/components/p-Ci_nVk5P.js.map +1 -0
- package/dist/components/p-Cijzn3YQ.js +2 -0
- package/dist/components/p-Cijzn3YQ.js.map +1 -0
- package/dist/components/{p-BbV68F23.js → p-CiwdnKKp.js} +2 -2
- package/dist/components/p-DFxqk71w.js +2 -0
- package/dist/components/p-DFxqk71w.js.map +1 -0
- package/dist/components/p-DVsje4AY.js +2 -0
- package/dist/components/p-DVsje4AY.js.map +1 -0
- package/dist/components/p-DaQ0ZE_V.js +2 -0
- package/dist/components/p-DaQ0ZE_V.js.map +1 -0
- package/dist/components/p-DiooIO2B.js +2 -0
- package/dist/components/p-DiooIO2B.js.map +1 -0
- package/dist/components/p-Dj5MejHv.js +2 -0
- package/dist/components/p-Dj5MejHv.js.map +1 -0
- package/dist/components/{p-B-zhgAvL.js → p-DnMCRAwx.js} +2 -2
- package/dist/components/{p-DyZj3k9S.js → p-Dst-OliP.js} +2 -2
- package/dist/components/p-Dst-OliP.js.map +1 -0
- package/dist/components/p-T0Mzhv3-.js +2 -0
- package/dist/components/p-T0Mzhv3-.js.map +1 -0
- package/dist/components/p-a9nGf1s6.js +2 -0
- package/dist/components/p-a9nGf1s6.js.map +1 -0
- package/dist/components/p-gidVv1FX.js +2 -0
- package/dist/components/p-gidVv1FX.js.map +1 -0
- package/dist/components/p-kezp2_Xu.js +2 -0
- package/dist/components/p-kezp2_Xu.js.map +1 -0
- package/dist/components/p-rEe-3KR_.js +2 -0
- package/dist/components/p-rEe-3KR_.js.map +1 -0
- package/dist/components/{p-C7RObioO.js → p-xB0GPG3-.js} +2 -2
- package/dist/docs/components.json +8294 -4079
- package/dist/lib/components/Menu/menu-placement.d.ts +13 -0
- package/dist/lib/shell/index.d.ts +1 -1
- package/dist/lib/shell/index.js +8 -0
- package/dist/lib/shell/index.js.map +2 -2
- package/dist/mcp-data/registry/agent-activity.json +158 -0
- package/dist/mcp-data/registry/agent-response.json +211 -0
- package/dist/mcp-data/registry/agent-source-list.json +153 -0
- package/dist/mcp-data/registry/agent-tool-call.json +213 -0
- package/dist/mcp-data/registry/app-shell.json +2 -2
- package/dist/mcp-data/registry/attachment-list.json +137 -0
- package/dist/mcp-data/registry/avatar.json +154 -0
- package/dist/mcp-data/registry/bar-nav.json +2 -2
- package/dist/mcp-data/registry/button-unfilled.json +2 -2
- package/dist/mcp-data/registry/code-block.json +150 -0
- package/dist/mcp-data/registry/conversation-list-item.json +283 -0
- package/dist/mcp-data/registry/conversation-list-section.json +139 -0
- package/dist/mcp-data/registry/conversation-list.json +101 -0
- package/dist/mcp-data/registry/markdown.json +141 -0
- package/dist/mcp-data/registry/menu.json +43 -7
- package/dist/mcp-data/registry/message-bubble.json +119 -0
- package/dist/mcp-data/registry/message-composer.json +265 -0
- package/dist/mcp-data/registry/message-scroller.json +217 -0
- package/dist/mcp-data/registry/message.json +255 -0
- package/dist/mcp-data/registry/panel-nav.json +20 -2
- package/dist/mcp-data/registry/panel-tool-header.json +342 -0
- package/dist/mcp-data/registry/panel-tool-search.json +387 -0
- package/dist/mcp-data/registry/panel-tools.json +150 -10
- package/dist/mcp-data/registry/registry.json +2159 -616
- package/dist/mcp-data/registry/select.json +1 -1
- package/dist/mcp-data/registry/slider.json +4 -4
- package/dist/mcp-data/registry/switch.json +1 -1
- package/dist/mcp-data/registry/tab-group.json +2 -2
- package/dist/mcp-data/registry/tag.json +2 -2
- package/dist/mcp-data/registry/text.json +1 -1
- package/dist/react/components.d.ts +17 -0
- package/dist/react/components.js +17 -0
- package/dist/react/ds-agent-activity.d.ts +9 -0
- package/dist/react/ds-agent-activity.js +12 -0
- package/dist/react/ds-agent-response.d.ts +9 -0
- package/dist/react/ds-agent-response.js +12 -0
- package/dist/react/ds-agent-source-list.d.ts +9 -0
- package/dist/react/ds-agent-source-list.js +12 -0
- package/dist/react/ds-agent-tool-call.d.ts +9 -0
- package/dist/react/ds-agent-tool-call.js +12 -0
- package/dist/react/ds-attachment-list.d.ts +9 -0
- package/dist/react/ds-attachment-list.js +12 -0
- package/dist/react/ds-avatar.d.ts +9 -0
- package/dist/react/ds-avatar.js +12 -0
- package/dist/react/ds-code-block.d.ts +9 -0
- package/dist/react/ds-code-block.js +12 -0
- package/dist/react/ds-conversation-list-item.d.ts +14 -0
- package/dist/react/ds-conversation-list-item.js +12 -0
- package/dist/react/ds-conversation-list-section.d.ts +9 -0
- package/dist/react/ds-conversation-list-section.js +12 -0
- package/dist/react/ds-conversation-list.d.ts +9 -0
- package/dist/react/ds-conversation-list.js +12 -0
- package/dist/react/ds-markdown.d.ts +9 -0
- package/dist/react/ds-markdown.js +12 -0
- package/dist/react/ds-menu.d.ts +1 -0
- package/dist/react/ds-menu.js +1 -0
- package/dist/react/ds-message-bubble.d.ts +9 -0
- package/dist/react/ds-message-bubble.js +12 -0
- package/dist/react/ds-message-composer.d.ts +16 -0
- package/dist/react/ds-message-composer.js +16 -0
- package/dist/react/ds-message-scroller.d.ts +12 -0
- package/dist/react/ds-message-scroller.js +12 -0
- package/dist/react/ds-message.d.ts +9 -0
- package/dist/react/ds-message.js +12 -0
- package/dist/react/ds-panel-tool-header.d.ts +17 -0
- package/dist/react/ds-panel-tool-header.js +16 -0
- package/dist/react/ds-panel-tool-search.d.ts +14 -0
- package/dist/react/ds-panel-tool-search.js +16 -0
- package/dist/react/ds-panel-tools.d.ts +10 -0
- package/dist/react/ds-panel-tools.js +3 -0
- package/dist/types/components/AgentActivity/AgentActivity.d.ts +14 -0
- package/dist/types/components/AgentResponse/AgentResponse.d.ts +12 -0
- package/dist/types/components/AgentSourceList/AgentSourceList.d.ts +9 -0
- package/dist/types/components/AgentToolCall/AgentToolCall.d.ts +13 -0
- package/dist/types/components/AppShell/AppShell.d.ts +4 -0
- package/dist/types/components/AttachmentList/AttachmentList.d.ts +8 -0
- package/dist/types/components/Avatar/Avatar.d.ts +11 -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/CodeBlock/CodeBlock.d.ts +11 -0
- package/dist/types/components/ConversationList/ConversationList.d.ts +4 -0
- package/dist/types/components/ConversationListItem/ConversationListItem.d.ts +24 -0
- package/dist/types/components/ConversationListSection/ConversationListSection.d.ts +9 -0
- package/dist/types/components/Markdown/Markdown.d.ts +15 -0
- package/dist/types/components/Menu/Menu.d.ts +9 -0
- package/dist/types/components/Menu/menu-placement.d.ts +13 -0
- package/dist/types/components/Menu/menu-types.d.ts +1 -1
- package/dist/types/components/Message/Message.d.ts +17 -0
- package/dist/types/components/MessageBubble/MessageBubble.d.ts +6 -0
- package/dist/types/components/MessageComposer/MessageComposer.d.ts +29 -0
- package/dist/types/components/MessageScroller/MessageScroller.d.ts +41 -0
- package/dist/types/components/PanelNav/PanelNav.d.ts +5 -0
- package/dist/types/components/PanelToolHeader/PanelToolHeader.d.ts +34 -0
- package/dist/types/components/PanelToolSearch/PanelToolSearch.d.ts +35 -0
- package/dist/types/components/PanelTools/PanelTools.d.ts +40 -1
- package/dist/types/components/PanelTools/panel-tools-types.d.ts +20 -0
- package/dist/types/components/PanelTools/panel-tools-utils.d.ts +2 -0
- package/dist/types/components/Slider/Slider.d.ts +1 -1
- package/dist/types/components/conversation-types.d.ts +55 -0
- package/dist/types/components.d.ts +1229 -14
- package/dist/types/shell/index.d.ts +1 -1
- package/dist/types/utils/choice-list-parts.d.ts +4 -1
- package/package.json +11 -11
- package/dist/components/p-BLzivrE3.js +0 -2
- package/dist/components/p-C7UFYvsO.js +0 -2
- package/dist/components/p-C7UFYvsO.js.map +0 -1
- package/dist/components/p-CXF8yd-g.js +0 -2
- package/dist/components/p-CXF8yd-g.js.map +0 -1
- package/dist/components/p-CbS_WWs2.js.map +0 -1
- package/dist/components/p-DyZj3k9S.js.map +0 -1
- package/dist/components/p-VKIsOVza.js +0 -2
- package/dist/components/p-VKIsOVza.js.map +0 -1
- package/dist/components/p-tQ1QHeOE.js +0 -2
- package/dist/components/p-tQ1QHeOE.js.map +0 -1
- /package/dist/components/{p-HBIxvS5C.js.map → p-B1pWGQn1.js.map} +0 -0
- /package/dist/components/{p-KRGBGTu5.js.map → p-BO6C8abO.js.map} +0 -0
- /package/dist/components/{p-CZ9wemOA.js.map → p-CJlgONwR.js.map} +0 -0
- /package/dist/components/{p-DT2MK8Kt.js.map → p-CblAABEo.js.map} +0 -0
- /package/dist/components/{p-BbV68F23.js.map → p-CiwdnKKp.js.map} +0 -0
- /package/dist/components/{p-B-zhgAvL.js.map → p-DnMCRAwx.js.map} +0 -0
- /package/dist/components/{p-C7RObioO.js.map → p-xB0GPG3-.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["computeMenuPosition","computeAnchoredPopupPosition","isMenuGradientPickerSection","section","variant","isMenuSwatchPickerSection","isMenuPickerSection","menuCss","POSITION_RETRY_BUDGET","MENU_FOCUSABLE_SELECTOR","join","snapshotMenuSections","sections","map","options","option","swatchSection","items","item","Menu","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","open","selectionMode","side","align","anchorAlignment","sideOffset","TOKEN_CSS_LENGTHS","space050","alignOffset","initialFocusVisible","menuLabel","shouldRender","closing","pos","x","y","focusedIndex","positionReady","focusRingVisible","clickOutsideHandler","scrollResizeHandler","closeTimer","itemEls","positionRetryRaf","listenersReady","lastRenderedSections","closingSections","componentDidLoad","onOpenChange","disconnectedCallback","cancelPositionRetry","teardownListeners","isOpen","setupListeners","schedulePositionUpdate","focusInitialItem","captureClosingSections","closeAnimationMs","finishClose","setTimeout","onAnchorChange","onPositionPropsChange","viewportPadPx","resolveCssLengthPx","TOKEN_DEFAULTS","sideOffsetPx","alignOffsetPx","popupFallbackWidthPx","menuWidthXs","popupFallbackHeightPx","menuFallbackHeight","resolveMotionTimeMs","motionShort2","animationDurationShort3","dsAfterClose","emit","visibleSections","length","activeSections","resolvedAnchor","anchor","anchorId","document","getElementById","anchorFocusTarget","matches","querySelector","focusAnchor","setFocus","focus","moveFocusAfterTab","backwards","candidates","Array","from","querySelectorAll","filter","element","closest","getClientRects","index","indexOf","compositeTabLeavesPopup","event","popup","el","focusables","currentIndex","target","shiftKey","flatItems","flatMap","hasCompositeSections","some","cancelAnimationFrame","onReady","remaining","attempt","calculatePosition","requestAnimationFrame","anchorEl","anchorRect","getBoundingClientRect","sectionInsetPx","minWidth","style","choicePopupMinWidth","width","removeProperty","popupWidth","offsetWidth","popupHeight","offsetHeight","resolveChoicePopupAlignOffset","viewportWidth","window","innerWidth","viewportHeight","innerHeight","flat","selectedIdx","findIndex","it","isSelected","isInactive","firstEnabledIdx","btns","e","t","contains","close","addEventListener","removeEventListener","clearTimeout","restoreFocus","dsClose","handleKeyDown","key","preventDefault","enabled","i","cur","safe","stopPropagation","focusItem","idx","handleItemClick","dsSelect","handleGradientSelect","preset","dsGradientSelect","handleSwatchSelect","value","dsSwatchSelect","render","h","Host","display","flatIdx","popupStyle","position","left","top","transform","Math","round","zIndex","visibility","menuWidth","class","role","undefined","si","header","as","emphasis","color","groupLabel","shellGradientPickerSections","onDsChange","detail","isFocused","isRadioItem","showSwitch","type","isDestructive","String","switchValue","disabled","tabIndex","onMouseDown","onClick","onFocus","label","subtext","dot","hasRing","size","checked","presentation"],"sources":["src/wc/components/Menu/menu-position.ts","src/wc/components/Menu/menu-types.ts","src/wc/components/Menu/Menu.css?tag=ds-menu&encapsulation=scoped","src/wc/components/Menu/Menu.tsx"],"sourcesContent":["import {\n computeAnchoredPopupPosition,\n type AnchoredPopupAlign,\n type AnchoredPopupPositionInput,\n type AnchoredPopupSide,\n} from '../../utils/anchored-popup';\n\nexport type MenuSide = AnchoredPopupSide;\nexport type MenuAlign = AnchoredPopupAlign;\nexport type MenuPositionInput = AnchoredPopupPositionInput;\n\n/** Backward-compatible menu alias for the shared anchored-popup layout math. */\nexport const computeMenuPosition = computeAnchoredPopupPosition;\n","import type { ShellGradientPreset } from '../../shell/shell-gradient-presets';\nimport type { SwatchPickerOption, SwatchPickerSection } from '../SwatchPicker/swatch-picker-types';\n\nexport type { MenuAlign, MenuSide } from './menu-position';\nexport {\n PANEL_NAV_USER_MENU_PLACEMENT,\n PANEL_TOOLS_HEADER_MENU_PLACEMENT,\n type MenuPlacement,\n} from './menu-placement';\n\nexport interface MenuItemData {\n label: string;\n value?: string;\n subtext?: string;\n /** Show a supplemental brand notification dot. */\n dot?: boolean;\n isSelected?: boolean;\n isInactive?: boolean;\n isDestructive?: boolean;\n /** Render a compact switch indicator; the menu row owns interaction. */\n showSwitch?: boolean;\n switchValue?: boolean;\n}\n\nexport interface MenuItemsSection {\n header?: string;\n items: MenuItemData[];\n}\n\nexport interface MenuGradientPickerSection {\n header?: string;\n /** @deprecated Use the generic `swatch-picker` section. */\n variant: 'gradient-picker';\n value: ShellGradientPreset;\n}\n\nexport interface MenuSwatchPickerSection {\n header?: string;\n variant: 'swatch-picker';\n value: string;\n options?: SwatchPickerOption[];\n sections?: SwatchPickerSection[];\n groupLabel?: string;\n}\n\nexport type MenuSection =\n | MenuItemsSection\n | MenuGradientPickerSection\n | MenuSwatchPickerSection;\n\nexport function isMenuGradientPickerSection(\n section: MenuSection,\n): section is MenuGradientPickerSection {\n return 'variant' in section && section.variant === 'gradient-picker';\n}\n\nexport function isMenuSwatchPickerSection(\n section: MenuSection,\n): section is MenuSwatchPickerSection {\n return 'variant' in section && section.variant === 'swatch-picker';\n}\n\nexport function isMenuPickerSection(\n section: MenuSection,\n): section is MenuGradientPickerSection | MenuSwatchPickerSection {\n return isMenuGradientPickerSection(section) || isMenuSwatchPickerSection(section);\n}\n\nexport type { ShellGradientPreset };\nexport type { SwatchPickerOption, SwatchPickerSection };\n","@import '../../utils/choice-list.css';\n\n/* Inactive: `.ds-control-inactive` (25% opacity). */\n\n.menu-item--destructive .menu-item__label {\n /* Beat ds-text color-* host classes for destructive rows. */\n color: var(--color-foreground-bold-negative) !important;\n}\n\n/* Standard md icon zone keeps the dot aligned with other control suffixes. */\n.menu-item__dot-box {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--ds-control-icon, var(--dimension-iconography-md));\n height: var(--ds-control-icon, var(--dimension-iconography-md));\n pointer-events: none;\n}\n\n/* ── Switch suffix ───────────────────────────────────────────────────────── */\n\n.menu-item__switch {\n flex-shrink: 0;\n}\n\n/* ── Single-selection radio indicator ───────────────────────────────────── */\n\n.menu-item__radio-box {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--ds-control-icon, var(--dimension-iconography-md));\n height: var(--ds-control-icon, var(--dimension-iconography-md));\n pointer-events: none;\n}\n\n.menu-item__radio {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: var(--dimension-iconography-sm);\n height: var(--dimension-iconography-sm);\n border-radius: var(--dimension-radius-half);\n box-shadow: inset 0 0 0 var(--dimension-stroke-width-015) var(--color-foreground-tertiary);\n}\n\n.menu-item__radio--checked {\n background-color: var(--color-background-bold-brand);\n box-shadow: none;\n}\n\n.menu-item__radio-dot {\n width: var(--dimension-size-100);\n height: var(--dimension-size-100);\n border-radius: var(--dimension-radius-half);\n background-color: var(--color-foreground-on-bold-background-primary);\n}\n","import {\n Component,\n Prop,\n State,\n Event,\n EventEmitter,\n Element,\n Watch,\n Listen,\n h,\n Host,\n} from '@stencil/core';\nimport {\n choicePopupMinWidth,\n resolveChoicePopupAlignOffset,\n resolveCssLengthPx,\n resolveMotionTimeMs,\n TOKEN_CSS_LENGTHS,\n TOKEN_DEFAULTS,\n type ChoicePopupAnchorAlignment,\n} from '../../utils';\nimport { computeMenuPosition, type MenuAlign, type MenuSide } from './menu-position';\nimport type { MenuItemData, MenuSection } from './menu-types';\n\nexport type MenuSelectionMode = 'none' | 'single';\nimport {\n isMenuGradientPickerSection,\n isMenuPickerSection,\n isMenuSwatchPickerSection,\n} from './menu-types';\nimport {\n shellGradientPickerSections,\n type ShellGradientPreset,\n} from '../../shell/shell-gradient-presets';\n\n/** rAF retries while the popup mounts or the anchor resolves. */\nconst POSITION_RETRY_BUDGET = 8;\nconst MENU_FOCUSABLE_SELECTOR = [\n 'a[href]',\n 'button:not([disabled])',\n 'input:not([disabled]):not([type=\"hidden\"])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n].join(',');\n\nfunction snapshotMenuSections(sections: MenuSection[]): MenuSection[] {\n return sections.map(section => {\n if (isMenuGradientPickerSection(section)) return { ...section };\n if (isMenuSwatchPickerSection(section)) {\n return {\n ...section,\n options: section.options?.map(option => ({ ...option })),\n sections: section.sections?.map(swatchSection => ({\n ...swatchSection,\n options: swatchSection.options.map(option => ({ ...option })),\n })),\n };\n }\n return { ...section, items: section.items.map(item => ({ ...item })) };\n });\n}\n\n@Component({\n tag: 'ds-menu',\n styleUrl: 'Menu.css',\n scoped: true,\n})\nexport class Menu {\n @Element() el!: HTMLElement;\n\n @Prop({ mutable: true }) open: boolean = false;\n @Prop() items: MenuItemData[] = [];\n /** Give ordinary rows mutually-exclusive radio-menu semantics using isSelected. */\n @Prop() selectionMode: MenuSelectionMode = 'none';\n @Prop() sections: MenuSection[] = [];\n @Prop() side: MenuSide = 'bottom';\n @Prop() align: MenuAlign = 'start';\n /** Align choice-row edges to the anchor by default; use `popup-frame` only for custom frame geometry. */\n @Prop() anchorAlignment: ChoicePopupAnchorAlignment = 'choice-cell';\n /** Gap between anchor and menu — number (px) or TokoMo length (`var(--dimension-space-050)`, etc.). */\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 @Prop() menuWidth: string | undefined;\n @Prop() minWidth: string | undefined;\n /** External trigger element to position against. Set via JS: menuEl.anchor = buttonEl */\n @Prop() anchor: HTMLElement | undefined;\n /** ID of the external trigger element for positioning */\n @Prop() anchorId: string | undefined;\n /** Show a visible ring on the initially focused menu item. Use only when the opener was keyboard-driven. */\n @Prop() initialFocusVisible: boolean = false;\n /** Accessible name for the popup menu. */\n @Prop() menuLabel: string = 'Menu';\n\n @State() private shouldRender: boolean = false;\n @State() private closing: boolean = false;\n @State() private pos: { x: number; y: number } = { x: 0, y: 0 };\n @State() private focusedIndex: number = 0;\n @State() private positionReady: boolean = false;\n @State() private focusRingVisible: boolean = false;\n\n @Event() dsClose!: EventEmitter<void>;\n /** Emitted after the popup's exit motion is complete and its rendered content is removed. */\n @Event() dsAfterClose!: EventEmitter<void>;\n @Event() dsSelect!: EventEmitter<MenuItemData>;\n /** Emitted when a `gradient-picker` section swatch is chosen. */\n @Event() dsGradientSelect!: EventEmitter<ShellGradientPreset>;\n /** Emitted when a generic `swatch-picker` section option is chosen. */\n @Event() dsSwatchSelect!: EventEmitter<string>;\n\n private clickOutsideHandler: ((e: MouseEvent) => void) | null = null;\n private scrollResizeHandler: (() => void) | null = null;\n private closeTimer: ReturnType<typeof setTimeout> | null = null;\n private itemEls: HTMLElement[] = [];\n private positionRetryRaf: number | null = null;\n private listenersReady = false;\n /** Last content actually painted while open; retained unchanged through exit motion. */\n private lastRenderedSections: MenuSection[] = [];\n private closingSections: MenuSection[] | null = null;\n\n componentDidLoad() {\n if (this.open) this.onOpenChange(true);\n }\n\n disconnectedCallback() {\n this.cancelPositionRetry();\n this.teardownListeners();\n }\n\n @Watch('open')\n onOpenChange(isOpen: boolean) {\n if (isOpen) {\n this.teardownListeners();\n this.closingSections = null;\n this.shouldRender = true;\n this.closing = false;\n this.positionReady = false;\n this.listenersReady = false;\n this.focusRingVisible = this.initialFocusVisible;\n this.listenersReady = true;\n this.setupListeners();\n this.schedulePositionUpdate(() => {\n this.focusInitialItem();\n });\n } else if (this.shouldRender) {\n this.cancelPositionRetry();\n this.captureClosingSections();\n this.closing = true;\n this.teardownListeners();\n this.listenersReady = false;\n const closeAnimationMs = this.closeAnimationMs;\n if (closeAnimationMs <= 0) {\n this.finishClose();\n return;\n }\n this.closeTimer = setTimeout(() => {\n this.closeTimer = null;\n this.finishClose();\n }, closeAnimationMs);\n }\n }\n\n @Watch('anchor')\n @Watch('anchorId')\n onAnchorChange() {\n if (this.open) this.schedulePositionUpdate();\n }\n\n @Watch('side')\n @Watch('align')\n @Watch('anchorAlignment')\n @Watch('sideOffset')\n @Watch('alignOffset')\n onPositionPropsChange() {\n if (this.open) this.schedulePositionUpdate();\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 popupFallbackWidthPx(): number {\n return resolveCssLengthPx(TOKEN_DEFAULTS.menuWidthXs, TOKEN_DEFAULTS.menuWidthXs);\n }\n\n private get popupFallbackHeightPx(): number {\n return resolveCssLengthPx(TOKEN_DEFAULTS.menuFallbackHeight, TOKEN_DEFAULTS.menuFallbackHeight);\n }\n\n private get closeAnimationMs(): number {\n return resolveMotionTimeMs(TOKEN_DEFAULTS.motionShort2, TOKEN_DEFAULTS.animationDurationShort3);\n }\n\n private finishClose() {\n this.shouldRender = false;\n this.closing = false;\n this.lastRenderedSections = [];\n this.closingSections = null;\n this.dsAfterClose.emit();\n }\n\n private captureClosingSections() {\n if (this.closingSections) return;\n const visibleSections = this.lastRenderedSections.length\n ? this.lastRenderedSections\n : this.activeSections;\n this.closingSections = snapshotMenuSections(visibleSections);\n }\n\n private get resolvedAnchor(): HTMLElement | null {\n if (this.anchor) return this.anchor;\n if (this.anchorId) return document.getElementById(this.anchorId);\n return null;\n }\n\n private get anchorFocusTarget(): HTMLElement | null {\n const anchor = this.resolvedAnchor;\n if (!anchor) return null;\n if (anchor.matches(MENU_FOCUSABLE_SELECTOR)) return anchor;\n return anchor.querySelector<HTMLElement>(MENU_FOCUSABLE_SELECTOR) ?? anchor;\n }\n\n private focusAnchor() {\n const anchor = this.resolvedAnchor as\n | (HTMLElement & { setFocus?: () => Promise<void> | void })\n | null;\n if (anchor?.setFocus) {\n anchor.setFocus();\n return;\n }\n this.anchorFocusTarget?.focus();\n }\n\n private moveFocusAfterTab(backwards: boolean) {\n const anchor = this.anchorFocusTarget;\n if (!anchor) return;\n if (backwards) {\n anchor.focus();\n return;\n }\n\n const candidates = Array.from(\n document.querySelectorAll<HTMLElement>(MENU_FOCUSABLE_SELECTOR)\n ).filter(\n element =>\n !element.closest('.menu-popup') &&\n !element.closest('[inert]') &&\n element.getClientRects().length > 0\n );\n const index = candidates.indexOf(anchor);\n (candidates[index + 1] ?? anchor).focus();\n }\n\n private compositeTabLeavesPopup(event: KeyboardEvent): boolean {\n const popup = this.el.querySelector<HTMLElement>('.menu-popup');\n if (!popup) return true;\n const focusables = Array.from(\n popup.querySelectorAll<HTMLElement>(MENU_FOCUSABLE_SELECTOR)\n ).filter(element => element.getClientRects().length > 0);\n const currentIndex = focusables.indexOf(event.target as HTMLElement);\n if (currentIndex < 0) return true;\n return event.shiftKey ? currentIndex === 0 : currentIndex === focusables.length - 1;\n }\n\n private get activeSections(): MenuSection[] {\n if (this.sections.length > 0) return this.sections;\n if (this.items.length > 0) return [{ items: this.items }];\n return [];\n }\n\n private get flatItems(): MenuItemData[] {\n return this.activeSections.flatMap(section =>\n isMenuPickerSection(section) ? [] : section.items\n );\n }\n\n /** Rich preference content is a non-modal dialog, not an ARIA action menu. */\n private get hasCompositeSections(): boolean {\n return this.activeSections.some(isMenuPickerSection);\n }\n\n private cancelPositionRetry() {\n if (this.positionRetryRaf !== null) {\n cancelAnimationFrame(this.positionRetryRaf);\n this.positionRetryRaf = null;\n }\n }\n\n /** Retry until anchor + popup exist — do not reveal at 0,0 on a failed first pass. */\n private schedulePositionUpdate(onReady?: () => void) {\n if (!this.open) return;\n\n this.cancelPositionRetry();\n this.positionReady = false;\n\n let remaining = POSITION_RETRY_BUDGET;\n\n const attempt = () => {\n this.positionRetryRaf = null;\n if (!this.open) return;\n\n if (this.calculatePosition()) {\n this.positionReady = true;\n onReady?.();\n return;\n }\n\n if (remaining > 0) {\n remaining -= 1;\n this.positionRetryRaf = requestAnimationFrame(attempt);\n }\n };\n\n this.positionRetryRaf = requestAnimationFrame(attempt);\n }\n\n /** @returns `true` when anchor and popup were found and `pos` was updated. */\n private calculatePosition(): boolean {\n const anchorEl = this.resolvedAnchor;\n if (!anchorEl) return false;\n const popup = this.el.querySelector('.menu-popup') as HTMLElement | null;\n if (!popup) return false;\n\n const anchorRect = anchorEl.getBoundingClientRect();\n const sectionInsetPx = this.viewportPadPx;\n if (!this.minWidth) {\n if (\n this.anchorAlignment === 'choice-cell' &&\n (this.side === 'top' || this.side === 'bottom')\n ) {\n popup.style.minWidth = `max(var(--dimension-menu-width-xs), ${choicePopupMinWidth(\n anchorRect.width,\n sectionInsetPx\n )}px)`;\n } else {\n popup.style.removeProperty('min-width');\n }\n }\n\n this.pos = computeMenuPosition({\n anchorRect,\n popupWidth: popup.offsetWidth || this.popupFallbackWidthPx,\n popupHeight: popup.offsetHeight || this.popupFallbackHeightPx,\n side: this.side,\n align: this.align,\n sideOffsetPx: this.sideOffsetPx,\n alignOffsetPx: resolveChoicePopupAlignOffset({\n align: this.align,\n alignOffsetPx: this.alignOffsetPx,\n sectionInsetPx,\n anchorAlignment: this.anchorAlignment,\n }),\n viewportPadPx: this.viewportPadPx,\n viewportWidth: window.innerWidth,\n viewportHeight: window.innerHeight,\n });\n return true;\n }\n\n /** Focus the selected item when present, otherwise the first enabled item. */\n private focusInitialItem() {\n if (this.hasCompositeSections) {\n requestAnimationFrame(() => {\n this.el.querySelector<HTMLElement>('.menu-popup [tabindex=\"0\"]')?.focus();\n });\n return;\n }\n\n const flat = this.flatItems;\n const selectedIdx = flat.findIndex(it => it.isSelected && !it.isInactive);\n const firstEnabledIdx = flat.findIndex(it => !it.isInactive);\n this.focusedIndex = selectedIdx >= 0 ? selectedIdx : firstEnabledIdx >= 0 ? firstEnabledIdx : 0;\n\n requestAnimationFrame(() => {\n const btns = this.el.querySelectorAll<HTMLElement>('.menu-item');\n btns[this.focusedIndex]?.focus();\n });\n }\n\n private setupListeners() {\n this.clickOutsideHandler = (e: MouseEvent) => {\n const t = e.target as Node;\n const popup = this.el.querySelector('.menu-popup');\n const anchorEl = this.resolvedAnchor;\n if (popup?.contains(t) || anchorEl?.contains(t)) return;\n this.close();\n };\n\n this.scrollResizeHandler = () => {\n if (this.shouldRender && !this.closing) this.calculatePosition();\n };\n\n document.addEventListener('mousedown', this.clickOutsideHandler, true);\n window.addEventListener('scroll', this.scrollResizeHandler, true);\n window.addEventListener('resize', this.scrollResizeHandler);\n }\n\n private teardownListeners() {\n if (this.clickOutsideHandler) {\n document.removeEventListener('mousedown', this.clickOutsideHandler, true);\n this.clickOutsideHandler = null;\n }\n if (this.scrollResizeHandler) {\n window.removeEventListener('scroll', this.scrollResizeHandler, true);\n window.removeEventListener('resize', this.scrollResizeHandler);\n this.scrollResizeHandler = null;\n }\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = null;\n }\n }\n\n private close(restoreFocus = true) {\n this.captureClosingSections();\n if (restoreFocus) this.focusAnchor();\n this.dsClose.emit();\n this.open = false;\n this.onOpenChange(false);\n }\n\n @Listen('keydown')\n handleKeyDown(e: KeyboardEvent) {\n if (!this.shouldRender || this.closing) return;\n\n if (e.key === 'Escape') {\n e.preventDefault();\n this.close();\n return;\n }\n\n if (e.key === 'Tab') {\n if (this.hasCompositeSections && !this.compositeTabLeavesPopup(e)) return;\n e.preventDefault();\n this.close(false);\n this.moveFocusAfterTab(e.shiftKey);\n return;\n }\n\n if (this.hasCompositeSections) return;\n\n const flat = this.flatItems;\n const enabled = flat\n .map((it, i) => ({ it, i }))\n .filter(({ it }) => !it.isInactive)\n .map(({ i }) => i);\n if (!enabled.length) return;\n\n const cur = enabled.indexOf(this.focusedIndex);\n const safe = cur < 0 ? 0 : cur;\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n e.stopPropagation();\n this.focusRingVisible = true;\n this.focusedIndex = enabled[(safe + 1) % enabled.length];\n this.focusItem(this.focusedIndex);\n break;\n case 'ArrowUp':\n e.preventDefault();\n e.stopPropagation();\n this.focusRingVisible = true;\n this.focusedIndex = enabled[(safe - 1 + enabled.length) % enabled.length];\n this.focusItem(this.focusedIndex);\n break;\n case 'Home':\n e.preventDefault();\n e.stopPropagation();\n this.focusRingVisible = true;\n this.focusedIndex = enabled[0];\n this.focusItem(this.focusedIndex);\n break;\n case 'End':\n e.preventDefault();\n e.stopPropagation();\n this.focusRingVisible = true;\n this.focusedIndex = enabled[enabled.length - 1];\n this.focusItem(this.focusedIndex);\n break;\n }\n }\n\n private focusItem(idx: number) {\n const btns = this.el.querySelectorAll<HTMLElement>('.menu-item');\n btns[idx]?.focus();\n }\n\n private handleItemClick(item: MenuItemData) {\n if (item.isInactive) return;\n // Consumers commonly change the item source while handling selection.\n // Capture first so the exit animation never paints the next menu context.\n this.captureClosingSections();\n this.dsSelect.emit(item);\n }\n\n private handleGradientSelect(preset: ShellGradientPreset) {\n this.dsGradientSelect.emit(preset);\n }\n\n private handleSwatchSelect(value: string) {\n this.dsSwatchSelect.emit(value);\n }\n\n render() {\n if (!this.shouldRender) return <Host style={{ display: 'contents' }} />;\n\n const sections = this.closing\n ? (this.closingSections ?? this.lastRenderedSections)\n : this.activeSections;\n const hasCompositeSections = sections.some(isMenuPickerSection);\n if (!this.closing) {\n this.lastRenderedSections = snapshotMenuSections(sections);\n this.closingSections = null;\n }\n let flatIdx = 0;\n\n const popupStyle: Record<string, string> = {\n position: 'fixed',\n left: '0',\n top: '0',\n transform: `translate(${Math.round(this.pos.x)}px, ${Math.round(this.pos.y)}px)`,\n zIndex: '9998',\n visibility: this.positionReady ? 'visible' : 'hidden',\n };\n\n if (this.menuWidth) popupStyle['width'] = this.menuWidth;\n if (this.minWidth) popupStyle['min-width'] = this.minWidth;\n\n return (\n <Host style={{ display: 'contents' }}>\n <div\n class={{\n 'menu-popup': true,\n 'menu-popup--closing': this.closing,\n 'ds-choice-popup': true,\n 'ds-choice-popup--closing': this.closing,\n }}\n style={popupStyle}\n role={hasCompositeSections ? 'dialog' : 'menu'}\n aria-label={this.menuLabel}\n aria-orientation={hasCompositeSections ? undefined : 'vertical'}\n >\n <div class=\"ds-choice-list\">\n {sections.map((section, si) => (\n <div\n key={si}\n class={{\n 'menu-section': true,\n 'menu-section--divided': si < sections.length - 1,\n 'menu-section--gradient-picker': isMenuPickerSection(section),\n 'ds-choice-section': true,\n 'ds-choice-section--divided': si < sections.length - 1,\n }}\n role={section.header ? 'group' : undefined}\n aria-label={section.header}\n >\n {section.header && (\n <ds-text\n class=\"section-header ds-choice-section__header ds-control--md\"\n as=\"span\"\n variant=\"text-body-small\"\n emphasis\n color=\"primary\"\n aria-hidden=\"true\"\n >\n {section.header}\n </ds-text>\n )}\n {isMenuGradientPickerSection(section) ? (\n <ds-swatch-picker\n value={section.value}\n groupLabel={section.header ?? 'Shell gradient theme'}\n sections={shellGradientPickerSections()}\n onDsChange={(e: CustomEvent<string>) => {\n e.stopPropagation();\n this.handleGradientSelect(e.detail as ShellGradientPreset);\n }}\n />\n ) : isMenuSwatchPickerSection(section) ? (\n <ds-swatch-picker\n value={section.value}\n groupLabel={section.groupLabel ?? section.header ?? 'Swatch options'}\n options={section.options ?? []}\n sections={section.sections ?? []}\n onDsChange={(e: CustomEvent<string>) => {\n e.stopPropagation();\n this.handleSwatchSelect(e.detail);\n }}\n />\n ) : (\n section.items.map(item => {\n const idx = flatIdx++;\n const isFocused = this.focusedIndex === idx;\n const isRadioItem =\n !hasCompositeSections &&\n this.selectionMode === 'single' &&\n !item.showSwitch;\n return (\n <button\n key={idx}\n type=\"button\"\n class={{\n 'menu-item': true,\n 'ds-choice-item': true,\n 'ds-control--md': true,\n 'ds-focus-ring-inset': true,\n 'ds-focus-ring--visible': isFocused && this.focusRingVisible,\n 'ds-interaction-fill': !item.isInactive,\n 'ds-interaction-fill--selected': !!item.isSelected && !item.isInactive,\n 'menu-item--selected': !!item.isSelected,\n 'ds-control-inactive': !!item.isInactive,\n 'menu-item--destructive': !!item.isDestructive,\n 'menu-item--focused': isFocused,\n }}\n role={\n hasCompositeSections\n ? undefined\n : item.showSwitch\n ? 'menuitemcheckbox'\n : isRadioItem\n ? 'menuitemradio'\n : 'menuitem'\n }\n aria-checked={\n !hasCompositeSections && item.showSwitch\n ? String(!!item.switchValue)\n : isRadioItem\n ? String(!!item.isSelected)\n : undefined\n }\n aria-pressed={\n hasCompositeSections\n ? String(item.showSwitch ? !!item.switchValue : !!item.isSelected)\n : undefined\n }\n aria-current={\n !hasCompositeSections &&\n !item.showSwitch &&\n !isRadioItem &&\n item.isSelected\n ? 'true'\n : undefined\n }\n disabled={item.isInactive}\n tabIndex={hasCompositeSections ? 0 : isFocused ? 0 : -1}\n onMouseDown={() => {\n this.focusRingVisible = false;\n }}\n onClick={() => this.handleItemClick(item)}\n onFocus={() => {\n this.focusedIndex = idx;\n }}\n >\n {isRadioItem && (\n <span\n class=\"menu-item__radio-box ds-interaction-fill__content\"\n aria-hidden=\"true\"\n >\n <span\n class={{\n 'menu-item__radio': true,\n 'menu-item__radio--checked': !!item.isSelected,\n }}\n >\n {item.isSelected && <span class=\"menu-item__radio-dot\" />}\n </span>\n </span>\n )}\n <div class=\"menu-item__content ds-choice-item__content ds-interaction-fill__content\">\n <ds-text\n class=\"menu-item__label ds-choice-item__label\"\n as=\"span\"\n variant=\"text-body-medium\"\n color={item.isSelected ? 'primary' : 'secondary'}\n >\n {item.label}\n </ds-text>\n {item.subtext && (\n <ds-text\n class=\"menu-item__subtext ds-choice-item__subtext\"\n as=\"span\"\n variant=\"text-body-small\"\n color=\"secondary\"\n >\n {item.subtext}\n </ds-text>\n )}\n </div>\n {item.dot && (\n <span\n class=\"menu-item__dot-box ds-interaction-fill__content\"\n aria-hidden=\"true\"\n >\n <ds-badge\n class=\"menu-item__dot\"\n variant=\"dot\"\n hasRing={false}\n label=\"\"\n />\n </span>\n )}\n {item.showSwitch && (\n <ds-switch\n class=\"menu-item__switch ds-interaction-fill__content\"\n size=\"md\"\n checked={!!item.switchValue}\n presentation\n />\n )}\n </button>\n );\n })\n )}\n </div>\n ))}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as a,H as e,h as d,a as s,t as i}from"./index.js";import{d as r}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{p as a,H as e,h as d,a as s,t as i}from"./index.js";import{d as r}from"./p-BSOZXagj.js";const t=()=>`.sc-ds-card-shell-data-viz-h{display:flex;flex-direction:column;box-sizing:border-box;width:var(--_card-shell-data-viz-width);min-height:var(--_card-shell-data-viz-min-height);max-width:100%;overflow:hidden;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)}.card-shell-data-viz__header.sc-ds-card-shell-data-viz{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;box-sizing:border-box;height:var(--dimension-size-600);padding:var(--dimension-space-100);gap:var(--dimension-space-100);border-bottom:var(--dimension-stroke-width-012) solid var(--color-border-tertiary);background-color:var(--color-background-secondary)}ds-text.card-shell-data-viz__title.sc-ds-card-shell-data-viz{display:flex;flex:1 1 auto;align-items:center;box-sizing:border-box;min-width:0;padding:calc(var(--dimension-space-075) + var(--dimension-space-025));-webkit-user-select:none;user-select:none}.card-shell-data-viz__actions.sc-ds-card-shell-data-viz{display:flex;flex-shrink:0;align-items:center;gap:var(--dimension-space-100)}.card-shell-data-viz__actions.sc-ds-card-shell-data-viz:empty{display:none}.card-shell-data-viz__body.sc-ds-card-shell-data-viz{display:flex;flex:1 1 auto;flex-direction:column;box-sizing:border-box;min-height:0;border-radius:0 0 var(--dimension-radius-025) var(--dimension-radius-025);background-color:var(--color-background-primary)}`;const c={sm:"var(--dimension-card-width-sm)",md:"var(--dimension-card-width-md)",lg:"var(--dimension-card-width-lg)"};const l={sm:"var(--dimension-card-height-sm)",md:"var(--dimension-card-height-md)",lg:"var(--dimension-card-height-lg)"};const o=a(class a extends e{constructor(a){super();if(a!==false){this.__registerHost()}this.cardWidth="md"}render(){return d(s,{key:"3408b01e977c04ec7d3eb7cb74d53e23383a73dc",class:"card-shell-data-viz",style:{"--_card-shell-data-viz-width":c[this.cardWidth],"--_card-shell-data-viz-min-height":l[this.cardWidth]}},d("header",{key:"a49569f455ed5797cc4fc6eecd210a7e470b1519",class:"card-shell-data-viz__header"},d("ds-text",{key:"05fefc12c9a93baf06f567f51fecd67eac244592",class:"card-shell-data-viz__title",variant:"text-title-small",emphasis:true,color:"primary",as:"h2"},this.heading),d("div",{key:"ad5085420b13e75154bee9b8409a5c8c7ffdd0ec",class:"card-shell-data-viz__actions"},d("slot",{key:"68d3473089689dab20c36994fa1f38ee42cad03a",name:"actions"}))),d("div",{key:"22b047344aacbb8529d440189d901afddb524d24",class:"card-shell-data-viz__body"},d("slot",{key:"a1992b33b44319baca53fbff9942a10a3f0659cd"})))}static get style(){return t()}},[262,"ds-card-shell-data-viz",{heading:[1],cardWidth:[1,"card-width"]}]);function n(){if(typeof customElements==="undefined"){return}const a=["ds-card-shell-data-viz","ds-text"];a.forEach((a=>{switch(a){case"ds-card-shell-data-viz":if(!customElements.get(i(a))){customElements.define(i(a),o)}break;case"ds-text":if(!customElements.get(i(a))){r()}break}}))}n();export{o as C,n as d};
|
|
2
|
+
//# sourceMappingURL=p-DnMCRAwx.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as n,H as t,c as i,h as o,a as e,t as s}from"./index.js";import{d}from"./p-BbV68F23.js";import{d as r}from"./p-CXF8yd-g.js";import{d as l}from"./p-Cpr3K41-.js";import{d as a}from"./p-CbS_WWs2.js";import{C as c}from"./p-Cx-ywr1e.js";import{c as u}from"./p-DuFm-ieS.js";const f=()=>`.sc-ds-button-unfilled-h{--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)}.ds-focus-ring.sc-ds-button-unfilled-h:focus-visible,.ds-focus-ring.sc-ds-button-unfilled:focus-visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring.ds-focus-ring--visible.sc-ds-button-unfilled-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-button-unfilled{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring-inset.sc-ds-button-unfilled-h:focus-visible,.ds-focus-ring-inset.sc-ds-button-unfilled:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-button-unfilled-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-button-unfilled:focus-visible::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-button-unfilled-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-button-unfilled{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-button-unfilled-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-button-unfilled::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-interaction-fill.sc-ds-button-unfilled-h,.ds-interaction-fill.sc-ds-button-unfilled{position:relative;z-index:0;--ds-interaction-hover:var(--color-interaction-hover);--ds-interaction-pressed:var(--color-interaction-pressed);--ds-interaction-active:var(--color-interaction-active-brand);--ds-interaction-border-width:0px;--ds-interaction-border-color:transparent}.ds-interaction-fill.sc-ds-button-unfilled-h::before,.ds-interaction-fill.sc-ds-button-unfilled::before,.ds-interaction-fill.sc-ds-button-unfilled-h::after,.ds-interaction-fill.sc-ds-button-unfilled::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;transition:none}.ds-interaction-fill.sc-ds-button-unfilled-h::before,.ds-interaction-fill.sc-ds-button-unfilled::before{z-index:1}.ds-interaction-fill.sc-ds-button-unfilled-h::after,.ds-interaction-fill.sc-ds-button-unfilled::after{z-index:3;box-shadow:inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.ds-interaction-fill--bordered.sc-ds-button-unfilled-h,.ds-interaction-fill--bordered.sc-ds-button-unfilled{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-button-unfilled-h::before,.ds-interaction-fill--selected.sc-ds-button-unfilled::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-button-unfilled-h,.ds-interaction-fill--selected.sc-ds-button-unfilled{--ds-interaction-dot-ring:var(--ds-interaction-active)}.ds-interaction-fill.sc-ds-button-unfilled-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-button-unfilled:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}.ds-interaction-fill.sc-ds-button-unfilled-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-button-unfilled:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill.sc-ds-button-unfilled-h>.ds-interaction-fill__content.sc-ds-button-unfilled,.ds-interaction-fill.sc-ds-button-unfilled>.ds-interaction-fill__content.sc-ds-button-unfilled,.ds-interaction-fill__content.sc-ds-button-unfilled{position:relative;z-index:2}.ds-interaction-fill--on-faint.sc-ds-button-unfilled-h,.ds-interaction-fill--on-faint.sc-ds-button-unfilled{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-button-unfilled-h,.ds-interaction-fill--on-medium.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-interaction-on-medium-background-hover);--ds-interaction-pressed:var(--color-interaction-on-medium-background-pressed);--ds-interaction-active:var(--color-interaction-on-medium-background-active);--ds-focus-ring-color:var(--color-interaction-on-medium-background-focus)}.ds-interaction-fill--on-bold.sc-ds-button-unfilled-h,.ds-interaction-fill--on-bold.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-interaction-on-bold-background-hover);--ds-interaction-pressed:var(--color-interaction-on-bold-background-pressed);--ds-interaction-active:var(--color-interaction-on-bold-background-active);--ds-focus-ring-color:var(--color-interaction-on-bold-background-focus)}.ds-interaction-fill--on-strong.sc-ds-button-unfilled-h,.ds-interaction-fill--on-strong.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-interaction-on-strong-background-hover);--ds-interaction-pressed:var(--color-interaction-on-strong-background-pressed);--ds-interaction-active:var(--color-interaction-on-strong-background-active);--ds-focus-ring-color:var(--color-interaction-on-strong-background-focus)}.ds-interaction-fill--on-translucent.sc-ds-button-unfilled-h,.ds-interaction-fill--on-translucent.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-translucent-interaction-hover);--ds-interaction-pressed:var(--color-translucent-interaction-pressed);--ds-interaction-active:var(--color-translucent-interaction-active);--ds-focus-ring-color:var(--color-translucent-interaction-focus)}.ds-interaction-fill--on-inverted.sc-ds-button-unfilled-h,.ds-interaction-fill--on-inverted.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-inverted-interaction-hover);--ds-interaction-pressed:var(--color-inverted-interaction-pressed);--ds-interaction-active:var(--color-inverted-interaction-active);--ds-focus-ring-color:var(--color-inverted-interaction-focus)}.ds-interaction-fill--on-media.sc-ds-button-unfilled-h,.ds-interaction-fill--on-media.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-media-interaction-hover);--ds-interaction-pressed:var(--color-media-interaction-pressed);--ds-interaction-active:var(--color-media-interaction-active);--ds-focus-ring-color:var(--color-media-interaction-focus)}.ds-interaction-fill--on-always-dark.sc-ds-button-unfilled-h,.ds-interaction-fill--on-always-dark.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-always-dark-interaction-hover);--ds-interaction-pressed:var(--color-always-dark-interaction-pressed);--ds-interaction-active:var(--color-always-dark-interaction-active);--ds-focus-ring-color:var(--color-always-dark-interaction-focus)}.ds-interaction-fill--on-navigation.sc-ds-button-unfilled-h,.ds-interaction-fill--on-navigation.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-navigation-interaction-hover);--ds-interaction-pressed:var(--color-navigation-interaction-pressed);--ds-interaction-active:var(--color-navigation-interaction-active);--ds-focus-ring-color:var(--color-navigation-interaction-focus)}.ds-control-inactive.sc-ds-button-unfilled-h,.ds-control-inactive.sc-ds-button-unfilled{opacity:0.25;pointer-events:none;cursor:not-allowed}.ds-control--md.sc-ds-button-unfilled-h,.ds-control--md.sc-ds-button-unfilled{--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-button-unfilled-h,.ds-control--sm.sc-ds-button-unfilled{--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-button-unfilled-h,.ds-control--xs.sc-ds-button-unfilled{--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-width--hug.sc-ds-button-unfilled-h,.ds-control-width--hug.sc-ds-button-unfilled{width:fit-content;max-width:100%;flex:0 0 auto;align-self:flex-start}.ds-control-width--fill.sc-ds-button-unfilled-h,.ds-control-width--fill.sc-ds-button-unfilled{width:100%;min-width:0;flex:1 1 auto;align-self:stretch}.sc-ds-button-unfilled-h{display:inline-flex;outline:none;--ds-button-unfilled-fg:var(--color-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-background-secondary);--ds-button-unfilled-border:var(--color-border-secondary)}.button-unfilled-host--icon.ds-control-width--hug.sc-ds-button-unfilled-h{width:var(--ds-control-height, var(--dimension-size-400));height:var(--ds-control-height, var(--dimension-size-400));min-width:var(--ds-control-height, var(--dimension-size-400));min-height:var(--ds-control-height, var(--dimension-size-400))}.button-unfilled-host--icon.ds-control-width--fill.sc-ds-button-unfilled-h{height:var(--ds-control-height, var(--dimension-size-400));min-height:var(--ds-control-height, var(--dimension-size-400))}.ds-control-width--fill.sc-ds-button-unfilled-h .button-unfilled.sc-ds-button-unfilled{width:100%}.button-unfilled.sc-ds-button-unfilled{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding:0 var(--ds-control-padding-inline, var(--dimension-space-075));gap:var(--ds-control-gap, var(--dimension-space-050));background:transparent;border:none;border-radius:var(--ds-control-radius, var(--dimension-radius-025));color:var(--ds-button-unfilled-fg);cursor:pointer;-webkit-user-select:none;user-select:none;overflow:hidden;transition:color var(--effect-motion-short-2)}.button-unfilled--icon.sc-ds-button-unfilled{width:100%;height:100%;padding:0}.button-unfilled--rounded.sc-ds-button-unfilled{--ds-control-radius:var(--dimension-radius-half)}.button-unfilled--active.sc-ds-button-unfilled{color:var(--ds-button-unfilled-fg-active)}.button-unfilled--bordered.sc-ds-button-unfilled{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--ds-button-unfilled-border)}.button-unfilled--bordered.sc-ds-button-unfilled:not(.ds-interaction-fill){box-shadow:inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.button-unfilled--background-medium.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-foreground-on-medium-background-secondary);--ds-button-unfilled-fg-active:var(--color-foreground-on-medium-background-primary);--ds-button-unfilled-dot-ring:var(--color-background-medium-neutral);--ds-button-unfilled-border:var(--color-border-on-medium-background-secondary)}.button-unfilled--background-bold.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-foreground-on-bold-background-secondary);--ds-button-unfilled-fg-active:var(--color-foreground-on-bold-background-primary);--ds-button-unfilled-dot-ring:var(--color-background-bold-neutral);--ds-button-unfilled-border:var(--color-border-on-bold-background-secondary)}.button-unfilled--background-strong.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-foreground-on-strong-background-secondary);--ds-button-unfilled-fg-active:var(--color-foreground-on-strong-background-primary);--ds-button-unfilled-dot-ring:var(--color-background-strong-neutral);--ds-button-unfilled-border:var(--color-border-on-strong-background-secondary)}.button-unfilled--background-translucent.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-translucent-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-translucent-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-translucent-translucent);--ds-button-unfilled-border:var(--color-translucent-border-secondary)}.button-unfilled--background-inverted.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-inverted-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-inverted-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-inverted-background);--ds-button-unfilled-border:var(--color-inverted-border-secondary)}.button-unfilled--background-media.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-media-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-media-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-media-background);--ds-button-unfilled-border:var(--color-media-border-secondary)}.button-unfilled--on-always-dark.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-always-dark-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-always-dark-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-always-dark-background);--ds-button-unfilled-border:var(--color-always-dark-border-secondary)}.button-unfilled.ds-interaction-fill--selected.sc-ds-button-unfilled{--ds-button-unfilled-dot-ring:var(--ds-interaction-active)}.button-unfilled__icon-wrap.sc-ds-button-unfilled{position:relative;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md));display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;z-index:2}.button-unfilled__label.sc-ds-button-unfilled{position:relative;z-index:2;padding:0 var(--ds-control-label-inset, var(--dimension-space-025));white-space:nowrap;flex-shrink:0;min-width:0}.button-unfilled__label--loading.sc-ds-button-unfilled{visibility:hidden}.button-unfilled.sc-ds-button-unfilled>.button-unfilled__loader-overlay.sc-ds-button-unfilled{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;pointer-events:none}.button-unfilled__dot.sc-ds-button-unfilled{position:absolute;top:0;right:0;z-index:2;pointer-events:none}`;const b={md:"md",sm:"sm",xs:"xs"};const v=n(class n extends t{constructor(n){super();if(n!==false){this.__registerHost()}this.dsClick=i(this,"dsClick");this.dsChange=i(this,"dsChange");this.variant="label";this.size="md";this.width="hug";this.label="";this.icon="";this.isActive=false;this.activeFill=true;this.hasBorder=true;this.rounded=false;this.dot=false;this.isInactive=false;this.isLoading=false;this.type="button";this.ariaLabel=null;this.buttonEl=null;this.handleClick=n=>{if(this.isInactive||this.isLoading){n.preventDefault();n.stopPropagation();return}this.dsClick.emit(n);this.dsChange.emit(!this.isActive)}}async setFocus(){this.buttonEl?.focus()}get showIcon(){return this.variant==="icon"||this.variant==="icon-label"}get showLabel(){return this.variant==="label"||this.variant==="icon-label"}get showDot(){return this.variant==="icon"&&this.dot&&!this.isLoading}get dotRing(){if(this.isActive&&this.activeFill){return"var(--ds-interaction-active)"}return"var(--ds-button-unfilled-dot-ring)"}get accessibleName(){if(this.ariaLabel)return this.ariaLabel;if(this.isLoading&&this.variant==="label"&&this.label)return this.label;return undefined}render(){const n=this.background;const t=c[this.size];const i=b[this.size];const s={"button-unfilled":true,"ds-focus-ring-inset":true,"ds-interaction-fill":true,"ds-interaction-fill--selected":this.isActive&&this.activeFill&&!this.isInactive,"ds-interaction-fill--on-faint":n==="faint","ds-interaction-fill--on-medium":n==="medium","ds-interaction-fill--on-bold":n==="bold","ds-interaction-fill--on-strong":n==="strong","ds-interaction-fill--on-translucent":n==="translucent","ds-interaction-fill--on-inverted":n==="inverted","ds-interaction-fill--on-media":n==="media","ds-interaction-fill--on-always-dark":n==="always-dark","button-unfilled--active":this.isActive,"button-unfilled--bordered":this.hasBorder,"button-unfilled--rounded":this.rounded,"ds-control-inactive":this.isInactive,"ds-control--md":this.size==="md","ds-control--sm":this.size==="sm","ds-control--xs":this.size==="xs","button-unfilled--icon":this.variant==="icon","button-unfilled--label":this.variant==="label","button-unfilled--icon-label":this.variant==="icon-label","button-unfilled--background-faint":n==="faint","button-unfilled--background-medium":n==="medium","button-unfilled--background-bold":n==="bold","button-unfilled--background-strong":n==="strong","button-unfilled--background-translucent":n==="translucent","button-unfilled--background-inverted":n==="inverted","button-unfilled--background-media":n==="media","button-unfilled--on-always-dark":n==="always-dark"};return o(e,{key:"9a46e345e1debcdf060eb58efa72e9a46ff69096",class:{"button-unfilled-host":true,"button-unfilled-host--icon":this.variant==="icon","ds-control--md":this.size==="md","ds-control--sm":this.size==="sm","ds-control--xs":this.size==="xs",...u(this.width)},tabIndex:-1},o("button",{key:"11f882cafc35e5b82c952b14fb01be0cbcbeca35",ref:n=>{this.buttonEl=n??null},type:this.type,class:s,disabled:this.isInactive,tabIndex:this.focusTabIndex??0,"aria-label":this.accessibleName,"aria-busy":this.isLoading?"true":undefined,"aria-disabled":this.isLoading?"true":undefined,"aria-controls":this.controls,"aria-expanded":this.expanded===undefined?undefined:String(this.expanded),"aria-haspopup":this.haspopup,"aria-pressed":this.pressed===undefined?undefined:String(this.pressed),onClick:this.handleClick},this.showIcon&&o("span",{key:"d1aa0d7236d4499d4201fb7760dcb1b3584df7c2",class:"button-unfilled__icon-wrap ds-interaction-fill__content"},this.isLoading?o("ds-loader",{size:i,color:"inherit"}):o("ds-icon",{name:this.icon,size:i,color:"inherit"}),this.showDot&&o("ds-badge",{key:"d3a48cd325b1e57747dc6370a4151dd39f24745b",class:"button-unfilled__dot",variant:"dot",background:this.dotRing,label:"","aria-hidden":"true"})),this.showLabel&&o("ds-text",{key:"d4b5ffb790b4b15eb5c765f49199a9ecf79daaf7",class:{"button-unfilled__label":true,"button-unfilled__label--loading":this.isLoading&&this.variant==="label","ds-interaction-fill__content":true},as:"span",variant:t,emphasis:true,color:"inherit"},this.label),this.isLoading&&this.variant==="label"&&o("span",{key:"238813024821e831b0f23b5332cb8a4588ec8bcd",class:"button-unfilled__loader-overlay ds-interaction-fill__content"},o("ds-loader",{key:"98ac117352a50b470f4757be1bf733da96101e7c",size:i,color:"inherit"}))))}get el(){return this}static get style(){return f()}},[2,"ds-button-unfilled",{variant:[1],size:[1],width:[1],label:[1],icon:[1],isActive:[4,"is-active"],activeFill:[4,"active-fill"],hasBorder:[4,"has-border"],rounded:[4],dot:[4],isInactive:[4,"is-inactive"],isLoading:[4,"is-loading"],type:[1],background:[1],ariaLabel:[1,"aria-label"],controls:[1],expanded:[4],haspopup:[1],pressed:[4],focusTabIndex:[2,"tab-index"],setFocus:[64]}]);function h(){if(typeof customElements==="undefined"){return}const n=["ds-button-unfilled","ds-badge","ds-icon","ds-loader","ds-text"];n.forEach((n=>{switch(n){case"ds-button-unfilled":if(!customElements.get(s(n))){customElements.define(s(n),v)}break;case"ds-badge":if(!customElements.get(s(n))){d()}break;case"ds-icon":if(!customElements.get(s(n))){r()}break;case"ds-loader":if(!customElements.get(s(n))){l()}break;case"ds-text":if(!customElements.get(s(n))){a()}break}}))}h();export{v as B,h as d};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{p as n,H as t,c as i,h as o,a as e,t as s}from"./index.js";import{d}from"./p-CiwdnKKp.js";import{d as r}from"./p-CBYuvZKM.js";import{d as l}from"./p-Cpr3K41-.js";import{d as a}from"./p-BSOZXagj.js";import{C as c}from"./p-Cx-ywr1e.js";import{c as u}from"./p-DuFm-ieS.js";const f=()=>`.sc-ds-button-unfilled-h{--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)}.ds-focus-ring.sc-ds-button-unfilled-h:focus-visible,.ds-focus-ring.sc-ds-button-unfilled:focus-visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring.ds-focus-ring--visible.sc-ds-button-unfilled-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-button-unfilled{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring-inset.sc-ds-button-unfilled-h:focus-visible,.ds-focus-ring-inset.sc-ds-button-unfilled:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-button-unfilled-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-button-unfilled:focus-visible::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-button-unfilled-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-button-unfilled{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-button-unfilled-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-button-unfilled::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-interaction-fill.sc-ds-button-unfilled-h,.ds-interaction-fill.sc-ds-button-unfilled{position:relative;z-index:0;--ds-interaction-hover:var(--color-interaction-hover);--ds-interaction-pressed:var(--color-interaction-pressed);--ds-interaction-active:var(--color-interaction-active-brand);--ds-interaction-border-width:0px;--ds-interaction-border-color:transparent}.ds-interaction-fill.sc-ds-button-unfilled-h::before,.ds-interaction-fill.sc-ds-button-unfilled::before,.ds-interaction-fill.sc-ds-button-unfilled-h::after,.ds-interaction-fill.sc-ds-button-unfilled::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;transition:none}.ds-interaction-fill.sc-ds-button-unfilled-h::before,.ds-interaction-fill.sc-ds-button-unfilled::before{z-index:1}.ds-interaction-fill.sc-ds-button-unfilled-h::after,.ds-interaction-fill.sc-ds-button-unfilled::after{z-index:3;box-shadow:inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.ds-interaction-fill--bordered.sc-ds-button-unfilled-h,.ds-interaction-fill--bordered.sc-ds-button-unfilled{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-button-unfilled-h::before,.ds-interaction-fill--selected.sc-ds-button-unfilled::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-button-unfilled-h,.ds-interaction-fill--selected.sc-ds-button-unfilled{--ds-interaction-dot-ring:var(--ds-interaction-active)}.ds-interaction-fill.sc-ds-button-unfilled-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-button-unfilled:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}.ds-interaction-fill.sc-ds-button-unfilled-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-button-unfilled:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill.sc-ds-button-unfilled-h>.ds-interaction-fill__content.sc-ds-button-unfilled,.ds-interaction-fill.sc-ds-button-unfilled>.ds-interaction-fill__content.sc-ds-button-unfilled,.ds-interaction-fill__content.sc-ds-button-unfilled{position:relative;z-index:2}.ds-interaction-fill--on-faint.sc-ds-button-unfilled-h,.ds-interaction-fill--on-faint.sc-ds-button-unfilled{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-button-unfilled-h,.ds-interaction-fill--on-medium.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-interaction-on-medium-background-hover);--ds-interaction-pressed:var(--color-interaction-on-medium-background-pressed);--ds-interaction-active:var(--color-interaction-on-medium-background-active);--ds-focus-ring-color:var(--color-interaction-on-medium-background-focus)}.ds-interaction-fill--on-bold.sc-ds-button-unfilled-h,.ds-interaction-fill--on-bold.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-interaction-on-bold-background-hover);--ds-interaction-pressed:var(--color-interaction-on-bold-background-pressed);--ds-interaction-active:var(--color-interaction-on-bold-background-active);--ds-focus-ring-color:var(--color-interaction-on-bold-background-focus)}.ds-interaction-fill--on-strong.sc-ds-button-unfilled-h,.ds-interaction-fill--on-strong.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-interaction-on-strong-background-hover);--ds-interaction-pressed:var(--color-interaction-on-strong-background-pressed);--ds-interaction-active:var(--color-interaction-on-strong-background-active);--ds-focus-ring-color:var(--color-interaction-on-strong-background-focus)}.ds-interaction-fill--on-translucent.sc-ds-button-unfilled-h,.ds-interaction-fill--on-translucent.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-translucent-interaction-hover);--ds-interaction-pressed:var(--color-translucent-interaction-pressed);--ds-interaction-active:var(--color-translucent-interaction-active);--ds-focus-ring-color:var(--color-translucent-interaction-focus)}.ds-interaction-fill--on-inverted.sc-ds-button-unfilled-h,.ds-interaction-fill--on-inverted.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-inverted-interaction-hover);--ds-interaction-pressed:var(--color-inverted-interaction-pressed);--ds-interaction-active:var(--color-inverted-interaction-active);--ds-focus-ring-color:var(--color-inverted-interaction-focus)}.ds-interaction-fill--on-media.sc-ds-button-unfilled-h,.ds-interaction-fill--on-media.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-media-interaction-hover);--ds-interaction-pressed:var(--color-media-interaction-pressed);--ds-interaction-active:var(--color-media-interaction-active);--ds-focus-ring-color:var(--color-media-interaction-focus)}.ds-interaction-fill--on-always-dark.sc-ds-button-unfilled-h,.ds-interaction-fill--on-always-dark.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-always-dark-interaction-hover);--ds-interaction-pressed:var(--color-always-dark-interaction-pressed);--ds-interaction-active:var(--color-always-dark-interaction-active);--ds-focus-ring-color:var(--color-always-dark-interaction-focus)}.ds-interaction-fill--on-navigation.sc-ds-button-unfilled-h,.ds-interaction-fill--on-navigation.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-navigation-interaction-hover);--ds-interaction-pressed:var(--color-navigation-interaction-pressed);--ds-interaction-active:var(--color-navigation-interaction-active);--ds-focus-ring-color:var(--color-navigation-interaction-focus)}.ds-control-inactive.sc-ds-button-unfilled-h,.ds-control-inactive.sc-ds-button-unfilled{opacity:0.25;pointer-events:none;cursor:not-allowed}.ds-control--md.sc-ds-button-unfilled-h,.ds-control--md.sc-ds-button-unfilled{--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-button-unfilled-h,.ds-control--sm.sc-ds-button-unfilled{--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-button-unfilled-h,.ds-control--xs.sc-ds-button-unfilled{--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-width--hug.sc-ds-button-unfilled-h,.ds-control-width--hug.sc-ds-button-unfilled{width:fit-content;max-width:100%;flex:0 0 auto;align-self:flex-start}.ds-control-width--fill.sc-ds-button-unfilled-h,.ds-control-width--fill.sc-ds-button-unfilled{width:100%;min-width:0;flex:1 1 auto;align-self:stretch}.sc-ds-button-unfilled-h{display:inline-flex;outline:none;--ds-button-unfilled-fg:var(--color-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-background-secondary);--ds-button-unfilled-border:var(--color-border-secondary)}.button-unfilled-host--icon.ds-control-width--hug.sc-ds-button-unfilled-h{width:var(--ds-control-height, var(--dimension-size-400));height:var(--ds-control-height, var(--dimension-size-400));min-width:var(--ds-control-height, var(--dimension-size-400));min-height:var(--ds-control-height, var(--dimension-size-400))}.button-unfilled-host--icon.ds-control-width--fill.sc-ds-button-unfilled-h{height:var(--ds-control-height, var(--dimension-size-400));min-height:var(--ds-control-height, var(--dimension-size-400))}.ds-control-width--fill.sc-ds-button-unfilled-h .button-unfilled.sc-ds-button-unfilled{width:100%}.button-unfilled.sc-ds-button-unfilled{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding:0 var(--ds-control-padding-inline, var(--dimension-space-075));gap:var(--ds-control-gap, var(--dimension-space-050));background:transparent;border:none;border-radius:var(--ds-control-radius, var(--dimension-radius-025));color:var(--ds-button-unfilled-fg);cursor:pointer;-webkit-user-select:none;user-select:none;overflow:hidden;transition:color var(--effect-motion-short-2)}.button-unfilled--icon.sc-ds-button-unfilled{width:100%;height:100%;padding:0}.button-unfilled--rounded.sc-ds-button-unfilled{--ds-control-radius:var(--dimension-radius-half)}.button-unfilled--active.sc-ds-button-unfilled{color:var(--ds-button-unfilled-fg-active)}.button-unfilled.button-unfilled--expanded.sc-ds-button-unfilled::after,.button-unfilled.button-unfilled--expanded.sc-ds-button-unfilled:hover:not(:disabled)::after{background:var(--ds-interaction-pressed)}.button-unfilled--bordered.sc-ds-button-unfilled{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--ds-button-unfilled-border)}.button-unfilled--bordered.sc-ds-button-unfilled:not(.ds-interaction-fill){box-shadow:inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.button-unfilled--background-medium.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-foreground-on-medium-background-secondary);--ds-button-unfilled-fg-active:var(--color-foreground-on-medium-background-primary);--ds-button-unfilled-dot-ring:var(--color-background-medium-neutral);--ds-button-unfilled-border:var(--color-border-on-medium-background-secondary)}.button-unfilled--background-bold.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-foreground-on-bold-background-secondary);--ds-button-unfilled-fg-active:var(--color-foreground-on-bold-background-primary);--ds-button-unfilled-dot-ring:var(--color-background-bold-neutral);--ds-button-unfilled-border:var(--color-border-on-bold-background-secondary)}.button-unfilled--background-strong.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-foreground-on-strong-background-secondary);--ds-button-unfilled-fg-active:var(--color-foreground-on-strong-background-primary);--ds-button-unfilled-dot-ring:var(--color-background-strong-neutral);--ds-button-unfilled-border:var(--color-border-on-strong-background-secondary)}.button-unfilled--background-translucent.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-translucent-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-translucent-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-translucent-translucent);--ds-button-unfilled-border:var(--color-translucent-border-secondary)}.button-unfilled--background-inverted.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-inverted-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-inverted-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-inverted-background);--ds-button-unfilled-border:var(--color-inverted-border-secondary)}.button-unfilled--background-media.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-media-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-media-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-media-background);--ds-button-unfilled-border:var(--color-media-border-secondary)}.button-unfilled--on-always-dark.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-always-dark-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-always-dark-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-always-dark-background);--ds-button-unfilled-border:var(--color-always-dark-border-secondary)}.button-unfilled.ds-interaction-fill--selected.sc-ds-button-unfilled{--ds-button-unfilled-dot-ring:var(--ds-interaction-active)}.button-unfilled__icon-wrap.sc-ds-button-unfilled{position:relative;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md));display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;z-index:2}.button-unfilled__label.sc-ds-button-unfilled{position:relative;z-index:2;padding:0 var(--ds-control-label-inset, var(--dimension-space-025));white-space:nowrap;flex-shrink:0;min-width:0}.button-unfilled__label--loading.sc-ds-button-unfilled{visibility:hidden}.button-unfilled.sc-ds-button-unfilled>.button-unfilled__loader-overlay.sc-ds-button-unfilled{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;pointer-events:none}.button-unfilled__dot.sc-ds-button-unfilled{position:absolute;top:0;right:0;z-index:2;pointer-events:none}`;const b={md:"md",sm:"sm",xs:"xs"};const v=n(class n extends t{constructor(n){super();if(n!==false){this.__registerHost()}this.dsClick=i(this,"dsClick");this.dsChange=i(this,"dsChange");this.variant="label";this.size="md";this.width="hug";this.label="";this.icon="";this.isActive=false;this.activeFill=true;this.hasBorder=true;this.rounded=false;this.dot=false;this.isInactive=false;this.isLoading=false;this.type="button";this.ariaLabel=null;this.buttonEl=null;this.handleClick=n=>{if(this.isInactive||this.isLoading){n.preventDefault();n.stopPropagation();return}this.dsClick.emit(n);this.dsChange.emit(!this.isActive)}}async setFocus(){this.buttonEl?.focus()}get showIcon(){return this.variant==="icon"||this.variant==="icon-label"}get showLabel(){return this.variant==="label"||this.variant==="icon-label"}get showDot(){return this.variant==="icon"&&this.dot&&!this.isLoading}get visuallyActive(){return this.isActive||this.expanded===true}get dotRing(){if(this.isActive&&this.activeFill){return"var(--ds-interaction-active)"}return"var(--ds-button-unfilled-dot-ring)"}get accessibleName(){if(this.ariaLabel)return this.ariaLabel;if(this.isLoading&&this.variant==="label"&&this.label)return this.label;return undefined}render(){const n=this.background;const t=c[this.size];const i=b[this.size];const s={"button-unfilled":true,"ds-focus-ring-inset":true,"ds-interaction-fill":true,"ds-interaction-fill--selected":this.isActive&&this.activeFill&&!this.isInactive,"ds-interaction-fill--on-faint":n==="faint","ds-interaction-fill--on-medium":n==="medium","ds-interaction-fill--on-bold":n==="bold","ds-interaction-fill--on-strong":n==="strong","ds-interaction-fill--on-translucent":n==="translucent","ds-interaction-fill--on-inverted":n==="inverted","ds-interaction-fill--on-media":n==="media","ds-interaction-fill--on-always-dark":n==="always-dark","button-unfilled--active":this.visuallyActive,"button-unfilled--expanded":this.expanded===true&&!this.isInactive,"button-unfilled--bordered":this.hasBorder,"button-unfilled--rounded":this.rounded,"ds-control-inactive":this.isInactive,"ds-control--md":this.size==="md","ds-control--sm":this.size==="sm","ds-control--xs":this.size==="xs","button-unfilled--icon":this.variant==="icon","button-unfilled--label":this.variant==="label","button-unfilled--icon-label":this.variant==="icon-label","button-unfilled--background-faint":n==="faint","button-unfilled--background-medium":n==="medium","button-unfilled--background-bold":n==="bold","button-unfilled--background-strong":n==="strong","button-unfilled--background-translucent":n==="translucent","button-unfilled--background-inverted":n==="inverted","button-unfilled--background-media":n==="media","button-unfilled--on-always-dark":n==="always-dark"};return o(e,{key:"11c05ff1300fc4aeaa2065d2cf17ff4096069179",class:{"button-unfilled-host":true,"button-unfilled-host--icon":this.variant==="icon","ds-control--md":this.size==="md","ds-control--sm":this.size==="sm","ds-control--xs":this.size==="xs",...u(this.width)},tabIndex:-1},o("button",{key:"1a2b2668496bd14230888522398f09545753823e",ref:n=>{this.buttonEl=n??null},type:this.type,class:s,disabled:this.isInactive,tabIndex:this.focusTabIndex??0,"aria-label":this.accessibleName,"aria-busy":this.isLoading?"true":undefined,"aria-disabled":this.isLoading?"true":undefined,"aria-controls":this.controls,"aria-expanded":this.expanded===undefined?undefined:String(this.expanded),"aria-haspopup":this.haspopup,"aria-pressed":this.pressed===undefined?undefined:String(this.pressed),onClick:this.handleClick},this.showIcon&&o("span",{key:"54880f13012596b28135a4e18edf14c368145f5d",class:"button-unfilled__icon-wrap ds-interaction-fill__content"},this.isLoading?o("ds-loader",{size:i,color:"inherit"}):o("ds-icon",{name:this.icon,size:i,color:"inherit"}),this.showDot&&o("ds-badge",{key:"314415e5199ca5beb4f6d728cb86b32dcb79eaa0",class:"button-unfilled__dot",variant:"dot",background:this.dotRing,label:"","aria-hidden":"true"})),this.showLabel&&o("ds-text",{key:"0cc64914ec525457ccb644e9453eb51f8a32ebc7",class:{"button-unfilled__label":true,"button-unfilled__label--loading":this.isLoading&&this.variant==="label","ds-interaction-fill__content":true},as:"span",variant:t,emphasis:true,color:"inherit"},this.label),this.isLoading&&this.variant==="label"&&o("span",{key:"de74bf5b87505552627c0db1889e505a1af1cd76",class:"button-unfilled__loader-overlay ds-interaction-fill__content"},o("ds-loader",{key:"53202ceb6ef0b6f67c150bd7e0714aa1bce6fc12",size:i,color:"inherit"}))))}get el(){return this}static get style(){return f()}},[2,"ds-button-unfilled",{variant:[1],size:[1],width:[1],label:[1],icon:[1],isActive:[4,"is-active"],activeFill:[4,"active-fill"],hasBorder:[4,"has-border"],rounded:[4],dot:[4],isInactive:[4,"is-inactive"],isLoading:[4,"is-loading"],type:[1],background:[1],ariaLabel:[1,"aria-label"],controls:[1],expanded:[4],haspopup:[1],pressed:[4],focusTabIndex:[2,"tab-index"],setFocus:[64]}]);function h(){if(typeof customElements==="undefined"){return}const n=["ds-button-unfilled","ds-badge","ds-icon","ds-loader","ds-text"];n.forEach((n=>{switch(n){case"ds-button-unfilled":if(!customElements.get(s(n))){customElements.define(s(n),v)}break;case"ds-badge":if(!customElements.get(s(n))){d()}break;case"ds-icon":if(!customElements.get(s(n))){r()}break;case"ds-loader":if(!customElements.get(s(n))){l()}break;case"ds-text":if(!customElements.get(s(n))){a()}break}}))}h();export{v as B,h as d};
|
|
2
|
+
//# sourceMappingURL=p-Dst-OliP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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","visuallyActive","expanded","dotRing","accessibleName","undefined","render","bg","background","textVariant","CONTROL_TEXT_VARIANT","iconSize","cls","h","Host","key","class","controlWidthClass","tabIndex","ref","el","disabled","focusTabIndex","controls","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/*\n * An open popup is a transient pressed state, not a selected state. Keep the\n * pressed wash visible for the popup's complete rendered lifecycle even when\n * shell chrome opts out of selected fills with `activeFill=false`.\n */\n.button-unfilled.button-unfilled--expanded::after,\n.button-unfilled.button-unfilled--expanded:hover:not(:disabled)::after {\n background: var(--ds-interaction-pressed);\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 /** An expanded popup trigger is visually active even when selection is controlled separately. */\n private get visuallyActive(): boolean {\n return this.isActive || this.expanded === true;\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.visuallyActive,\n 'button-unfilled--expanded': this.expanded === true && !this.isInactive,\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":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{p as e,H as s,h as r,a,t}from"./index.js";import{d as n}from"./p-CiwdnKKp.js";import{d as o}from"./p-Dst-OliP.js";import{d}from"./p-Cijzn3YQ.js";import{d as i}from"./p-CBYuvZKM.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;-webkit-user-select:text;user-select:text}.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 t=s(this.content,{extensions:[a()],mdastExtensions:[r()]});if(e===this.parseRevision)this.tree=t}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 u(){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(t(e))){customElements.define(t(e),w)}break;case"ds-badge":if(!customElements.get(t(e))){n()}break;case"ds-button-unfilled":if(!customElements.get(t(e))){o()}break;case"ds-code-block":if(!customElements.get(t(e))){d()}break;case"ds-icon":if(!customElements.get(t(e))){i()}break;case"ds-loader":if(!customElements.get(t(e))){c()}break;case"ds-text":if(!customElements.get(t(e))){l()}break}}))}u();export{w as M,u as d};
|
|
2
|
+
//# sourceMappingURL=p-T0Mzhv3-.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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 -webkit-user-select: text;\n user-select: text;\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":"oQAAA,MAAMA,EAAc,IAAM,whFCU1B,IAAIC,EAEJ,SAASC,IACPD,MAAkBE,QAAQC,IAAI,CAC5BC,OAAO,mBACPA,OAAO,mBACPA,OAAO,qBACNC,MAAK,EAAEC,EAAoBC,EAAuBC,MAAU,CAC7DC,aAAcH,EAAmBG,aACjCC,gBAAiBH,EAAsBG,gBACvCC,IAAKH,EAAUG,SAEjB,OAAOX,CACT,CAEA,SAASY,EAASC,GAChB,IAAKA,EAAO,OAAOC,UACnB,IACE,MAAMC,EAAM,IAAIC,IAAIH,EAAOI,SAASC,SACpC,IAAK,CAAC,QAAS,SAAU,WAAWC,SAASJ,EAAIK,UAAW,OAAON,UACnE,OAAOC,EAAIM,I,CACX,MACA,OAAOP,S,CAEX,C,MAOaQ,EAAQC,EAAA,MAAAD,UAAAE,EALrB,WAAAC,CAAAC,G,4CAMUC,KAAAC,QAAkB,GAClBD,KAAAE,UAAqB,MAEZF,KAAAG,KAAoB,KAE7BH,KAAAI,cAAgB,CAkLzB,CAhLC,iBAAAC,GAIE,UAAWf,WAAa,YAAa,OAAOU,KAAKM,O,CAGnD,oBAAAC,GACEP,KAAKI,eAAiB,EACtB,GAAIJ,KAAKQ,mBAAqBC,uBAAyB,WAAY,CACjEA,qBAAqBT,KAAKQ,W,EAK9B,aAAAE,GACE,UAAWC,wBAA0B,WAAY,OACjD,GAAIX,KAAKQ,WAAYC,qBAAqBT,KAAKQ,YAC/CR,KAAKQ,WAAaG,uBAAsB,KACtCX,KAAKQ,WAAarB,eACba,KAAKM,OAAO,G,CAIb,WAAMA,GACZ,MAAMM,IAAaZ,KAAKI,cACxB,IACE,MAAMtB,aAAEA,EAAYC,gBAAEA,EAAeC,IAAEA,SAAcV,IACrD,MAAM6B,EAAOrB,EAAakB,KAAKC,QAAS,CACtCY,WAAY,CAAC7B,KACb8B,gBAAiB,CAAC/B,OAEpB,GAAI6B,IAAaZ,KAAKI,cAAeJ,KAAKG,KAAOA,C,CACjD,MACA,GAAIS,IAAaZ,KAAKI,cAAeJ,KAAKG,KAAO,I,EAI7C,QAAAY,CAASC,GACf,KAAM,aAAcA,GAAO,MAAO,GAClC,OAAOA,EAAKD,SAASE,KAAIC,GAASlB,KAAKmB,WAAWD,I,CAG5C,UAAAC,CAAWH,GACjB,OAAQA,EAAKI,MACX,IAAK,OACH,OAAOpB,KAAKe,SAASC,GACvB,IAAK,OAIH,OAAOK,EAAA,QAAMC,MAAM,kBAAkBN,EAAK9B,OAC5C,IAAK,YACH,OAAOmC,EAAA,KAAGC,MAAM,uBAAuBtB,KAAKe,SAASC,IACvD,IAAK,UAAW,CACd,MAAMO,EAAM,IAAIP,EAAKQ,QACrB,OAAOH,EAACE,EAAG,CAACD,MAAM,qBAAqBtB,KAAKe,SAASC,G,CAEvD,IAAK,SACH,OAAOK,EAAA,UAAQC,MAAM,oBAAoBtB,KAAKe,SAASC,IACzD,IAAK,WACH,OAAOK,EAAA,MAAIC,MAAM,sBAAsBtB,KAAKe,SAASC,IACvD,IAAK,SACH,OAAOK,EAAA,OAAKC,MAAM,oBAAoBtB,KAAKe,SAASC,IACtD,IAAK,aACH,OAAOK,EAAA,cAAYC,MAAM,wBAAwBtB,KAAKe,SAASC,IACjE,IAAK,QACH,OAAOK,EAAA,MAAIC,MAAM,oBACnB,IAAK,gBACH,OAAOD,EAAA,MAAIC,MAAM,6BACnB,IAAK,aACH,OAAOD,EAAA,QAAMC,MAAM,yBAAyBN,EAAK9B,OACnD,IAAK,OACH,OACEmC,EAAA,iBACEC,MAAM,uBACNG,KAAMT,EAAK9B,MACXwC,SAAUV,EAAKW,MAAQ,GACvBC,SAAUZ,EAAKa,MAAQ,KAG7B,IAAK,OAAQ,CACX,MAAMnC,EAAOT,EAAS+B,EAAK5B,KAC3B,OAAOM,EACL2B,EAAA,KAAGC,MAAM,iBAAiB5B,KAAMA,EAAMoC,OAAO,SAASC,IAAI,uBACvD/B,KAAKe,SAASC,IAGjBhB,KAAKe,SAASC,E,CAGlB,IAAK,OAAQ,CACX,MAAMO,EAAMP,EAAKgB,QAAU,KAAO,KAClC,OACEX,EAACE,EAAG,CAACD,MAAM,iBAAiBW,MAAOjB,EAAKgB,SAAWhB,EAAKiB,MAAQjB,EAAKiB,MAAQ9C,WAC1Ea,KAAKe,SAASC,G,CAIrB,IAAK,WACH,OACEK,EAAA,MAAIC,MAAM,8BACAN,EAAKkB,UAAY,UACvBb,EAAA,SACEC,MAAM,2BACNF,KAAK,WACLc,QAASlB,EAAKkB,QACdC,SAAQ,mBACI,OACZC,UAAU,IAEV,KACHpC,KAAKe,SAASC,IAGrB,IAAK,QAAS,CACZ,MAAOqB,KAAYC,GAAQtB,EAAKD,SAChC,OACEM,EAAA,OAAKC,MAAM,wBACTD,EAAA,SAAOC,MAAM,mBACVe,EACChB,EAAA,SAAOC,MAAM,wBACXD,EAAA,MAAIC,MAAM,uBACPe,EAAQtB,SAASE,KAAIsB,GACpBlB,EAAA,MAAIC,MAAM,0BAA0BkB,MAAM,OACvCxC,KAAKe,SAASwB,QAKrB,KACJlB,EAAA,SAAOC,MAAM,wBAAwBgB,EAAKrB,KAAIwB,GAAOzC,KAAKmB,WAAWsB,O,CAK7E,IAAK,WACH,OAAOpB,EAAA,MAAIC,MAAM,uBAAuBtB,KAAKe,SAASC,IACxD,IAAK,YACH,OAAOK,EAAA,MAAIC,MAAM,wBAAwBtB,KAAKe,SAASC,IACzD,IAAK,QAAS,CACZ,MAAMtB,EAAOT,EAAS+B,EAAK5B,KAC3B,OAAOM,EACL2B,EAAA,KAAGC,MAAM,uBAAuB5B,KAAMA,EAAMoC,OAAO,SAASC,IAAI,uBAC7Df,EAAK0B,KAAO,cAGf1B,EAAK0B,KAAO,I,CAGhB,IAAK,OACL,IAAK,aACL,IAAK,qBACH,OAAO,KACT,IAAK,oBACH,OAAOrB,EAAA,OAAKC,MAAM,sBAAsBN,EAAK2B,OAC/C,QACE,OAAO3C,KAAKe,SAASC,G,CAI3B,MAAA4B,GACE,OACEvB,EAACwB,EAAI,CAAAC,IAAA,uDAAY9C,KAAKE,UAAY,OAASf,WACzCkC,EAAA,OAAAyB,IAAA,2CAAKxB,MAAM,YACRtB,KAAKG,KACJH,KAAKmB,WAAWnB,KAAKG,MAErBkB,EAAA,KAAGC,MAAM,uBACPD,EAAA,QAAMC,MAAM,kBAAkBtB,KAAKC,W","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{m as n,a as t}from"./p-BBu_Svz7.js";function e(n,t,e,r){const i=n.length;let o=0;let f;if(t<0){t=-t>i?0:i+t}else{t=t>i?i:t}e=e>0?e:0;if(r.length<1e4){f=Array.from(r);f.unshift(t,e);n.splice(...f)}else{if(e)n.splice(t,e);while(o<r.length){f=r.slice(o,o+1e4);f.unshift(t,0);n.splice(...f);o+=1e4;t+=1e4}}}function r(n,t){if(n.length>0){e(n,n.length,0,t);return n}return t}const i={}.hasOwnProperty;function o(n){const t={};let e=-1;while(++e<n.length){f(t,n[e])}return t}function f(n,t){let e;for(e in t){const r=i.call(n,e)?n[e]:undefined;const o=r||(n[e]={});const f=t[e];let c;if(f){for(c in f){if(!i.call(o,c))o[c]=[];const n=f[c];u(o[c],Array.isArray(n)?n:n?[n]:[])}}}}function u(n,t){let r=-1;const i=[];while(++r<t.length){(t[r].add==="after"?n:i).push(t[r])}e(n,0,0,i)}function c(n){const t={};let e=-1;while(++e<n.length){s(t,n[e])}return t}function s(n,t){let e;for(e in t){const r=i.call(n,e)?n[e]:undefined;const o=r||(n[e]={});const f=t[e];let u;if(f){for(u in f){o[u]=f[u]}}}}function l(t,e,r,i){const o=i?i-1:Number.POSITIVE_INFINITY;let f=0;return u;function u(i){if(n(i)){t.enter(r);return c(i)}return e(i)}function c(i){if(n(i)&&f++<o){t.consume(i);return c}t.exit(r);return e(i)}}function a(n,t,e){const r=[];let i=-1;while(++i<n.length){const o=n[i].resolveAll;if(o&&!r.includes(o)){t=o(t,e);r.push(o)}}return t}const h={partial:true,tokenize:p};function p(e,r,i){return o;function o(t){return n(t)?l(e,f,"linePrefix")(t):f(t)}function f(n){return n===null||t(n)?r(n):i(n)}}export{c as a,h as b,o as c,l as f,r as p,a as r,e as s};
|
|
2
|
+
//# sourceMappingURL=p-a9nGf1s6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["splice","list","start","remove","items","end","length","chunkStart","parameters","Array","from","unshift","slice","push","hasOwnProperty","combineExtensions","extensions","all","index","syntaxExtension","extension","hook","maybe","call","undefined","left","right","code","value","constructs","isArray","existing","before","add","combineHtmlExtensions","htmlExtensions","handlers","htmlExtension","type","factorySpace","effects","ok","max","limit","Number","POSITIVE_INFINITY","size","markdownSpace","enter","prefix","consume","exit","resolveAll","events","context","called","resolve","includes","blankLine","partial","tokenize","tokenizeBlankLine","nok","after","markdownLineEnding"],"sources":["node_modules/micromark-util-chunked/index.js","node_modules/micromark-util-combine-extensions/index.js","node_modules/micromark-factory-space/index.js","node_modules/micromark-util-resolve-all/index.js","node_modules/micromark-core-commonmark/lib/blank-line.js"],"sourcesContent":["/**\n * Like `Array#splice`, but smarter for giant arrays.\n *\n * `Array#splice` takes all items to be inserted as individual argument which\n * causes a stack overflow in V8 when trying to insert 100k items for instance.\n *\n * Otherwise, this does not return the removed items, and takes `items` as an\n * array instead of rest parameters.\n *\n * @template {unknown} T\n * Item type.\n * @param {Array<T>} list\n * List to operate on.\n * @param {number} start\n * Index to remove/insert at (can be negative).\n * @param {number} remove\n * Number of items to remove.\n * @param {Array<T>} items\n * Items to inject into `list`.\n * @returns {undefined}\n * Nothing.\n */\nexport function splice(list, start, remove, items) {\n const end = list.length;\n let chunkStart = 0;\n /** @type {Array<unknown>} */\n let parameters;\n\n // Make start between zero and `end` (included).\n if (start < 0) {\n start = -start > end ? 0 : end + start;\n } else {\n start = start > end ? end : start;\n }\n remove = remove > 0 ? remove : 0;\n\n // No need to chunk the items if there’s only a couple (10k) items.\n if (items.length < 10000) {\n parameters = Array.from(items);\n parameters.unshift(start, remove);\n // @ts-expect-error Hush, it’s fine.\n list.splice(...parameters);\n } else {\n // Delete `remove` items starting from `start`\n if (remove) list.splice(start, remove);\n\n // Insert the items in chunks to not cause stack overflows.\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 10000);\n parameters.unshift(start, 0);\n // @ts-expect-error Hush, it’s fine.\n list.splice(...parameters);\n chunkStart += 10000;\n start += 10000;\n }\n }\n}\n\n/**\n * Append `items` (an array) at the end of `list` (another array).\n * When `list` was empty, returns `items` instead.\n *\n * This prevents a potentially expensive operation when `list` is empty,\n * and adds items in batches to prevent V8 from hanging.\n *\n * @template {unknown} T\n * Item type.\n * @param {Array<T>} list\n * List to operate on.\n * @param {Array<T>} items\n * Items to add to `list`.\n * @returns {Array<T>}\n * Either `list` or `items`.\n */\nexport function push(list, items) {\n if (list.length > 0) {\n splice(list, list.length, 0, items);\n return list;\n }\n return items;\n}","/**\n * @import {\n * Extension,\n * Handles,\n * HtmlExtension,\n * NormalizedExtension\n * } from 'micromark-util-types'\n */\n\nimport {splice} from 'micromark-util-chunked'\n\nconst hasOwnProperty = {}.hasOwnProperty\n\n/**\n * Combine multiple syntax extensions into one.\n *\n * @param {ReadonlyArray<Extension>} extensions\n * List of syntax extensions.\n * @returns {NormalizedExtension}\n * A single combined extension.\n */\nexport function combineExtensions(extensions) {\n /** @type {NormalizedExtension} */\n const all = {}\n let index = -1\n\n while (++index < extensions.length) {\n syntaxExtension(all, extensions[index])\n }\n\n return all\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {NormalizedExtension} all\n * Extension to merge into.\n * @param {Extension} extension\n * Extension to merge.\n * @returns {undefined}\n * Nothing.\n */\nfunction syntaxExtension(all, extension) {\n /** @type {keyof Extension} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n /** @type {Record<string, unknown>} */\n const left = maybe || (all[hook] = {})\n /** @type {Record<string, unknown> | undefined} */\n const right = extension[hook]\n /** @type {string} */\n let code\n\n if (right) {\n for (code in right) {\n if (!hasOwnProperty.call(left, code)) left[code] = []\n const value = right[code]\n constructs(\n // @ts-expect-error Looks like a list.\n left[code],\n Array.isArray(value) ? value : value ? [value] : []\n )\n }\n }\n }\n}\n\n/**\n * Merge `list` into `existing` (both lists of constructs).\n * Mutates `existing`.\n *\n * @param {Array<unknown>} existing\n * List of constructs to merge into.\n * @param {Array<unknown>} list\n * List of constructs to merge.\n * @returns {undefined}\n * Nothing.\n */\nfunction constructs(existing, list) {\n let index = -1\n /** @type {Array<unknown>} */\n const before = []\n\n while (++index < list.length) {\n // @ts-expect-error Looks like an object.\n ;(list[index].add === 'after' ? existing : before).push(list[index])\n }\n\n splice(existing, 0, 0, before)\n}\n\n/**\n * Combine multiple HTML extensions into one.\n *\n * @param {ReadonlyArray<HtmlExtension>} htmlExtensions\n * List of HTML extensions.\n * @returns {HtmlExtension}\n * Single combined HTML extension.\n */\nexport function combineHtmlExtensions(htmlExtensions) {\n /** @type {HtmlExtension} */\n const handlers = {}\n let index = -1\n\n while (++index < htmlExtensions.length) {\n htmlExtension(handlers, htmlExtensions[index])\n }\n\n return handlers\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {HtmlExtension} all\n * Extension to merge into.\n * @param {HtmlExtension} extension\n * Extension to merge.\n * @returns {undefined}\n * Nothing.\n */\nfunction htmlExtension(all, extension) {\n /** @type {keyof HtmlExtension} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {keyof Handles} */\n let type\n\n if (right) {\n for (type in right) {\n // @ts-expect-error assume document vs regular handler are managed correctly.\n left[type] = right[type]\n }\n }\n }\n}\n","/**\n * @import {Effects, State, TokenType} from 'micromark-util-types'\n */\n\nimport { markdownSpace } from 'micromark-util-character';\n\n// To do: implement `spaceOrTab`, `spaceOrTabMinMax`, `spaceOrTabWithOptions`.\n\n/**\n * Parse spaces and tabs.\n *\n * There is no `nok` parameter:\n *\n * * spaces in markdown are often optional, in which case this factory can be\n * used and `ok` will be switched to whether spaces were found or not\n * * one line ending or space can be detected with `markdownSpace(code)` right\n * before using `factorySpace`\n *\n * ###### Examples\n *\n * Where `␉` represents a tab (plus how much it expands) and `␠` represents a\n * single space.\n *\n * ```markdown\n * ␉\n * ␠␠␠␠\n * ␉␠\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {TokenType} type\n * Type (`' \\t'`).\n * @param {number | undefined} [max=Infinity]\n * Max (exclusive).\n * @returns {State}\n * Start state.\n */\nexport function factorySpace(effects, ok, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY;\n let size = 0;\n return start;\n\n /** @type {State} */\n function start(code) {\n if (markdownSpace(code)) {\n effects.enter(type);\n return prefix(code);\n }\n return ok(code);\n }\n\n /** @type {State} */\n function prefix(code) {\n if (markdownSpace(code) && size++ < limit) {\n effects.consume(code);\n return prefix;\n }\n effects.exit(type);\n return ok(code);\n }\n}","/**\n * @import {Event, Resolver, TokenizeContext} from 'micromark-util-types'\n */\n\n/**\n * Call all `resolveAll`s.\n *\n * @param {ReadonlyArray<{resolveAll?: Resolver | undefined}>} constructs\n * List of constructs, optionally with `resolveAll`s.\n * @param {Array<Event>} events\n * List of events.\n * @param {TokenizeContext} context\n * Context used by `tokenize`.\n * @returns {Array<Event>}\n * Changed events.\n */\nexport function resolveAll(constructs, events, context) {\n /** @type {Array<Resolver>} */\n const called = []\n let index = -1\n\n while (++index < constructs.length) {\n const resolve = constructs[index].resolveAll\n\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const blankLine = {\n partial: true,\n tokenize: tokenizeBlankLine\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLine(effects, ok, nok) {\n return start;\n\n /**\n * Start of blank line.\n *\n * > 👉 **Note**: `␠` represents a space character.\n *\n * ```markdown\n * > | ␠␠␊\n * ^\n * > | ␊\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n return markdownSpace(code) ? factorySpace(effects, after, \"linePrefix\")(code) : after(code);\n }\n\n /**\n * At eof/eol, after optional whitespace.\n *\n * > 👉 **Note**: `␠` represents a space character.\n *\n * ```markdown\n * > | ␠␠␊\n * ^\n * > | ␊\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code);\n }\n}"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as t,f as e,s as n,r as i,c as r,a as o}from"./p-a9nGf1s6.js";import{b as l,c as u,d as f,u as s,e as a,f as c,n as h,g as b,a as k,m as g}from"./p-BBu_Svz7.js";const m={'"':"quot","&":"amp","<":"lt",">":"gt"};function d(t){return t.replace(/["&<>]/g,e);function e(t){return"&"+m[t]+";"}}function C(t,e){const n=d(p(t||""));{return n}}function p(t){const e=[];let n=-1;let i=0;let r=0;while(++n<t.length){const o=t.charCodeAt(n);let u="";if(o===37&&l(t.charCodeAt(n+1))&&l(t.charCodeAt(n+2))){r=2}else if(o<128){if(!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(o))){u=String.fromCharCode(o)}}else if(o>55295&&o<57344){const e=t.charCodeAt(n+1);if(o<56320&&e>56319&&e<57344){u=String.fromCharCode(o,e);r=1}else{u="�"}}else{u=String.fromCharCode(o)}if(u){e.push(t.slice(i,n),encodeURIComponent(u));i=n+r+1;u=""}if(r){n+=r;r=0}}return e.join("")+t.slice(i)}const D={tokenize:H,partial:true};const F={tokenize:T,partial:true};const w={tokenize:E,partial:true};const x={tokenize:q,partial:true};const S={tokenize:B,partial:true};const L={name:"wwwAutolink",tokenize:R,previous:I};const M={name:"protocolAutolink",tokenize:v,previous:V};const O={name:"emailAutolink",tokenize:z,previous:W};const A={};function j(){return{text:A}}let y=48;while(y<123){A[y]=O;y++;if(y===58)y=65;else if(y===91)y=97}A[43]=O;A[45]=O;A[46]=O;A[95]=O;A[72]=[O,M];A[104]=[O,M];A[87]=[O,L];A[119]=[O,L];function z(t,e,n){const i=this;let r;let o;return f;function f(e){if(!$(e)||!W.call(i,i.previous)||P(i.events)){return n(e)}t.enter("literalAutolink");t.enter("literalAutolinkEmail");return s(e)}function s(e){if($(e)){t.consume(e);return s}if(e===64){t.consume(e);return a}return n(e)}function a(e){if(e===46){return t.check(S,h,c)(e)}if(e===45||e===95||l(e)){o=true;t.consume(e);return a}return h(e)}function c(e){t.consume(e);r=true;return a}function h(l){if(o&&r&&u(i.previous)){t.exit("literalAutolinkEmail");t.exit("literalAutolink");return e(l)}return n(l)}}function R(t,e,n){const i=this;return r;function r(e){if(e!==87&&e!==119||!I.call(i,i.previous)||P(i.events)){return n(e)}t.enter("literalAutolink");t.enter("literalAutolinkWww");return t.check(D,t.attempt(F,t.attempt(w,o),n),n)(e)}function o(n){t.exit("literalAutolinkWww");t.exit("literalAutolink");return e(n)}}function v(t,e,n){const i=this;let r="";let o=false;return l;function l(e){if((e===72||e===104)&&V.call(i,i.previous)&&!P(i.events)){t.enter("literalAutolink");t.enter("literalAutolinkHttp");r+=String.fromCodePoint(e);t.consume(e);return h}return n(e)}function h(e){if(u(e)&&r.length<5){r+=String.fromCodePoint(e);t.consume(e);return h}if(e===58){const n=r.toLowerCase();if(n==="http"||n==="https"){t.consume(e);return b}}return n(e)}function b(e){if(e===47){t.consume(e);if(o){return k}o=true;return b}return n(e)}function k(e){return e===null||c(e)||f(e)||s(e)||a(e)?n(e):t.attempt(F,t.attempt(w,g),n)(e)}function g(n){t.exit("literalAutolinkHttp");t.exit("literalAutolink");return e(n)}}function H(t,e,n){let i=0;return r;function r(e){if((e===87||e===119)&&i<3){i++;t.consume(e);return r}if(e===46&&i===3){t.consume(e);return o}return n(e)}function o(t){return t===null?n(t):e(t)}}function T(t,e,n){let i;let r;let o;return l;function l(e){if(e===46||e===95){return t.check(x,c,u)(e)}if(e===null||f(e)||s(e)||e!==45&&a(e)){return c(e)}o=true;t.consume(e);return l}function u(e){if(e===95){i=true}else{r=i;i=undefined}t.consume(e);return l}function c(t){if(r||i||!o){return n(t)}return e(t)}}function E(t,e){let n=0;let i=0;return r;function r(l){if(l===40){n++;t.consume(l);return r}if(l===41&&i<n){return o(l)}if(l===33||l===34||l===38||l===39||l===41||l===42||l===44||l===46||l===58||l===59||l===60||l===63||l===93||l===95||l===126){return t.check(x,e,o)(l)}if(l===null||f(l)||s(l)){return e(l)}t.consume(l);return r}function o(e){if(e===41){i++}t.consume(e);return r}}function q(t,e,n){return i;function i(l){if(l===33||l===34||l===39||l===41||l===42||l===44||l===46||l===58||l===59||l===63||l===95||l===126){t.consume(l);return i}if(l===38){t.consume(l);return o}if(l===93){t.consume(l);return r}if(l===60||l===null||f(l)||s(l)){return e(l)}return n(l)}function r(t){if(t===null||t===40||t===91||f(t)||s(t)){return e(t)}return i(t)}function o(t){return u(t)?l(t):n(t)}function l(e){if(e===59){t.consume(e);return i}if(u(e)){t.consume(e);return l}return n(e)}}function B(t,e,n){return i;function i(e){t.consume(e);return r}function r(t){return l(t)?n(t):e(t)}}function I(t){return t===null||t===40||t===42||t===95||t===91||t===93||t===126||f(t)}function V(t){return!u(t)}function W(t){return!(t===47||$(t))}function $(t){return t===43||t===45||t===46||t===95||l(t)}function P(t){let e=t.length;let n=false;while(e--){const i=t[e][1];if((i.type==="labelLink"||i.type==="labelImage")&&!i._balanced){n=true;break}if(i._gfmAutolinkLiteralWalkedInto){n=false;break}}if(t.length>0&&!n){t[t.length-1][1]._gfmAutolinkLiteralWalkedInto=true}return n}function U(){return{exit:{literalAutolinkEmail:G,literalAutolinkHttp:Z,literalAutolinkWww:_}}}function _(t){J.call(this,t,"http://")}function G(t){J.call(this,t,"mailto:")}function Z(t){J.call(this,t)}function J(t,e){const n=this.sliceSerialize(t);this.tag('<a href="'+C((e||"")+n)+'">');this.raw(this.encode(n));this.tag("</a>")}const K={tokenize:it,partial:true};function N(){return{document:{[91]:{name:"gfmFootnoteDefinition",tokenize:tt,continuation:{tokenize:et},exit:nt}},text:{[91]:{name:"gfmFootnoteCall",tokenize:Y},[93]:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:Q,resolveTo:X}}}}function Q(t,e,n){const i=this;let r=i.events.length;const o=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let l;while(r--){const t=i.events[r][1];if(t.type==="labelImage"){l=t;break}if(t.type==="gfmFootnoteCall"||t.type==="labelLink"||t.type==="label"||t.type==="image"||t.type==="link"){break}}return u;function u(r){if(!l||!l._balanced){return n(r)}const u=h(i.sliceSerialize({start:l.end,end:i.now()}));if(u.codePointAt(0)!==94||!o.includes(u.slice(1))){return n(r)}t.enter("gfmFootnoteCallLabelMarker");t.consume(r);t.exit("gfmFootnoteCallLabelMarker");return e(r)}}function X(t,e){let n=t.length;while(n--){if(t[n][1].type==="labelImage"&&t[n][0]==="enter"){break}}t[n+1][1].type="data";t[n+3][1].type="gfmFootnoteCallLabelMarker";const i={type:"gfmFootnoteCall",start:Object.assign({},t[n+3][1].start),end:Object.assign({},t[t.length-1][1].end)};const r={type:"gfmFootnoteCallMarker",start:Object.assign({},t[n+3][1].end),end:Object.assign({},t[n+3][1].end)};r.end.column++;r.end.offset++;r.end._bufferIndex++;const o={type:"gfmFootnoteCallString",start:Object.assign({},r.end),end:Object.assign({},t[t.length-1][1].start)};const l={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)};const u=[t[n+1],t[n+2],["enter",i,e],t[n+3],t[n+4],["enter",r,e],["exit",r,e],["enter",o,e],["enter",l,e],["exit",l,e],["exit",o,e],t[t.length-2],t[t.length-1],["exit",i,e]];t.splice(n,t.length-n+1,...u);return t}function Y(t,e,n){const i=this;const r=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let o=0;let l;return u;function u(e){t.enter("gfmFootnoteCall");t.enter("gfmFootnoteCallLabelMarker");t.consume(e);t.exit("gfmFootnoteCallLabelMarker");return s}function s(e){if(e!==94)return n(e);t.enter("gfmFootnoteCallMarker");t.consume(e);t.exit("gfmFootnoteCallMarker");t.enter("gfmFootnoteCallString");t.enter("chunkString").contentType="string";return a}function a(u){if(o>999||u===93&&!l||u===null||u===91||f(u)){return n(u)}if(u===93){t.exit("chunkString");const o=t.exit("gfmFootnoteCallString");if(!r.includes(h(i.sliceSerialize(o)))){return n(u)}t.enter("gfmFootnoteCallLabelMarker");t.consume(u);t.exit("gfmFootnoteCallLabelMarker");t.exit("gfmFootnoteCall");return e}if(!f(u)){l=true}o++;t.consume(u);return u===92?c:a}function c(e){if(e===91||e===92||e===93){t.consume(e);o++;return a}return a(e)}}function tt(t,n,i){const r=this;const o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let l;let u=0;let s;return a;function a(e){t.enter("gfmFootnoteDefinition")._container=true;t.enter("gfmFootnoteDefinitionLabel");t.enter("gfmFootnoteDefinitionLabelMarker");t.consume(e);t.exit("gfmFootnoteDefinitionLabelMarker");return c}function c(e){if(e===94){t.enter("gfmFootnoteDefinitionMarker");t.consume(e);t.exit("gfmFootnoteDefinitionMarker");t.enter("gfmFootnoteDefinitionLabelString");t.enter("chunkString").contentType="string";return b}return i(e)}function b(e){if(u>999||e===93&&!s||e===null||e===91||f(e)){return i(e)}if(e===93){t.exit("chunkString");const n=t.exit("gfmFootnoteDefinitionLabelString");l=h(r.sliceSerialize(n));t.enter("gfmFootnoteDefinitionLabelMarker");t.consume(e);t.exit("gfmFootnoteDefinitionLabelMarker");t.exit("gfmFootnoteDefinitionLabel");return g}if(!f(e)){s=true}u++;t.consume(e);return e===92?k:b}function k(e){if(e===91||e===92||e===93){t.consume(e);u++;return b}return b(e)}function g(n){if(n===58){t.enter("definitionMarker");t.consume(n);t.exit("definitionMarker");if(!o.includes(l)){o.push(l)}return e(t,m,"gfmFootnoteDefinitionWhitespace")}return i(n)}function m(t){return n(t)}}function et(e,n,i){return e.check(t,n,e.attempt(K,n,i))}function nt(t){t.exit("gfmFootnoteDefinition")}function it(t,n,i){const r=this;return e(t,o,"gfmFootnoteDefinitionIndent",4+1);function o(t){const e=r.events[r.events.length-1];return e&&e[1].type==="gfmFootnoteDefinitionIndent"&&e[2].sliceSerialize(e[1],true).length===4?n(t):i(t)}}const rt={}.hasOwnProperty;const ot={};function lt(t,e){return"Back to reference "+(t+1)+(e>1?"-"+e:"")}function ut(t){const e=t||ot;const n=e.label||"Footnotes";const i=e.labelTagName||"h2";const r=e.labelAttributes===null||e.labelAttributes===undefined?'class="sr-only"':e.labelAttributes;const o=e.backLabel||lt;const l=e.clobberPrefix===null||e.clobberPrefix===undefined?"user-content-":e.clobberPrefix;return{enter:{gfmFootnoteDefinition(){const t=this.getData("tightStack");t.push(false)},gfmFootnoteDefinitionLabelString(){this.buffer()},gfmFootnoteCallString(){this.buffer()}},exit:{gfmFootnoteDefinition(){let t=this.getData("gfmFootnoteDefinitions");const e=this.getData("gfmFootnoteDefinitionStack");const n=this.getData("tightStack");const i=e.pop();const r=this.resume();if(!t){this.setData("gfmFootnoteDefinitions",t={})}if(!rt.call(t,i))t[i]=r;n.pop();this.setData("slurpOneLineEnding",true);this.setData("lastWasTag")},gfmFootnoteDefinitionLabelString(t){let e=this.getData("gfmFootnoteDefinitionStack");if(!e){this.setData("gfmFootnoteDefinitionStack",e=[])}e.push(h(this.sliceSerialize(t)));this.resume();this.buffer()},gfmFootnoteCallString(t){let e=this.getData("gfmFootnoteCallOrder");let n=this.getData("gfmFootnoteCallCounts");const i=h(this.sliceSerialize(t));let r;this.resume();if(!e)this.setData("gfmFootnoteCallOrder",e=[]);if(!n)this.setData("gfmFootnoteCallCounts",n={});const o=e.indexOf(i);const u=C(i.toLowerCase());if(o===-1){e.push(i);n[i]=1;r=e.length}else{n[i]++;r=o+1}const f=n[i];this.tag('<sup><a href="#'+l+"fn-"+u+'" id="'+l+"fnref-"+u+(f>1?"-"+f:"")+'" data-footnote-ref="" aria-describedby="footnote-label">'+String(r)+"</a></sup>")},null(){const t=this.getData("gfmFootnoteCallOrder")||[];const e=this.getData("gfmFootnoteCallCounts")||{};const u=this.getData("gfmFootnoteDefinitions")||{};let f=-1;if(t.length>0){this.lineEndingIfNeeded();this.tag('<section data-footnotes="" class="footnotes"><'+i+' id="footnote-label"'+(r?" "+r:"")+">");this.raw(this.encode(n));this.tag("</"+i+">");this.lineEndingIfNeeded();this.tag("<ol>")}while(++f<t.length){const n=t[f];const i=C(n.toLowerCase());let r=0;const s=[];while(++r<=e[n]){s.push('<a href="#'+l+"fnref-"+i+(r>1?"-"+r:"")+'" data-footnote-backref="" aria-label="'+this.encode(typeof o==="string"?o:o(f,r))+'" class="data-footnote-backref">↩'+(r>1?"<sup>"+r+"</sup>":"")+"</a>")}const a=s.join(" ");let c=false;this.lineEndingIfNeeded();this.tag('<li id="'+l+"fn-"+i+'">');this.lineEndingIfNeeded();this.tag(u[n].replace(/<\/p>(?:\r?\n|\r)?$/,(function(t){c=true;return" "+a+t})));if(!c){this.lineEndingIfNeeded();this.tag(a)}this.lineEndingIfNeeded();this.tag("</li>")}if(t.length>0){this.lineEndingIfNeeded();this.tag("</ol>");this.lineEndingIfNeeded();this.tag("</section>")}}}}}function ft(){return{enter:{strikethrough(){this.tag("<del>")}},exit:{strikethrough(){this.tag("</del>")}}}}function st(t){const e=t||{};let r=e.singleTilde;const o={name:"strikethrough",tokenize:u,resolveAll:l};if(r===null||r===undefined){r=true}return{text:{[126]:o},insideSpan:{null:[o]},attentionMarkers:{null:[126]}};function l(t,e){let r=-1;while(++r<t.length){if(t[r][0]==="enter"&&t[r][1].type==="strikethroughSequenceTemporary"&&t[r][1]._close){let o=r;while(o--){if(t[o][0]==="exit"&&t[o][1].type==="strikethroughSequenceTemporary"&&t[o][1]._open&&t[r][1].end.offset-t[r][1].start.offset===t[o][1].end.offset-t[o][1].start.offset){t[r][1].type="strikethroughSequence";t[o][1].type="strikethroughSequence";const l={type:"strikethrough",start:Object.assign({},t[o][1].start),end:Object.assign({},t[r][1].end)};const u={type:"strikethroughText",start:Object.assign({},t[o][1].end),end:Object.assign({},t[r][1].start)};const f=[["enter",l,e],["enter",t[o][1],e],["exit",t[o][1],e],["enter",u,e]];const s=e.parser.constructs.insideSpan.null;if(s){n(f,f.length,0,i(s,t.slice(o+1,r),e))}n(f,f.length,0,[["exit",u,e],["enter",t[r][1],e],["exit",t[r][1],e],["exit",l,e]]);n(t,o-1,r-o+3,f);r=o+f.length-2;break}}}}r=-1;while(++r<t.length){if(t[r][1].type==="strikethroughSequenceTemporary"){t[r][1].type="data"}}return t}function u(t,e,n){const i=this.previous;const o=this.events;let l=0;return u;function u(e){if(i===126&&o[o.length-1][1].type!=="characterEscape"){return n(e)}t.enter("strikethroughSequenceTemporary");return f(e)}function f(o){const u=b(i);if(o===126){if(l>1)return n(o);t.consume(o);l++;return f}if(l<2&&!r)return n(o);const s=t.exit("strikethroughSequenceTemporary");const a=b(o);s._open=!a||a===2&&Boolean(u);s._close=!u||u===2&&Boolean(a);return e(o)}}}const at={none:"",left:' align="left"',right:' align="right"',center:' align="center"'};function ct(){return{enter:{table(t){const e=t._align;this.lineEndingIfNeeded();this.tag("<table>");this.setData("tableAlign",e)},tableBody(){this.tag("<tbody>")},tableData(){const t=this.getData("tableAlign");const e=this.getData("tableColumn");const n=at[t[e]];if(n===undefined){this.buffer()}else{this.lineEndingIfNeeded();this.tag("<td"+n+">")}},tableHead(){this.lineEndingIfNeeded();this.tag("<thead>")},tableHeader(){const t=this.getData("tableAlign");const e=this.getData("tableColumn");const n=at[t[e]];this.lineEndingIfNeeded();this.tag("<th"+n+">")},tableRow(){this.setData("tableColumn",0);this.lineEndingIfNeeded();this.tag("<tr>")}},exit:{codeTextData(t){let e=this.sliceSerialize(t);if(this.getData("tableAlign")){e=e.replace(/\\([\\|])/g,ht)}this.raw(this.encode(e))},table(){this.setData("tableAlign");this.setData("slurpAllLineEndings");this.lineEndingIfNeeded();this.tag("</table>")},tableBody(){this.lineEndingIfNeeded();this.tag("</tbody>")},tableData(){const t=this.getData("tableAlign");const e=this.getData("tableColumn");if(e in t){this.tag("</td>");this.setData("tableColumn",e+1)}else{this.resume()}},tableHead(){this.lineEndingIfNeeded();this.tag("</thead>")},tableHeader(){const t=this.getData("tableColumn");this.tag("</th>");this.setData("tableColumn",t+1)},tableRow(){const t=this.getData("tableAlign");let e=this.getData("tableColumn");while(e<t.length){this.lineEndingIfNeeded();this.tag("<td"+at[t[e]]+"></td>");e++}this.setData("tableColumn",e);this.lineEndingIfNeeded();this.tag("</tr>")}}}}function ht(t,e){return e==="|"?e:t}class bt{constructor(){this.map=[]}add(t,e,n){kt(this,t,e,n)}consume(t){this.map.sort((function(t,e){return t[0]-e[0]}));if(this.map.length===0){return}let e=this.map.length;const n=[];while(e>0){e-=1;n.push(t.slice(this.map[e][0]+this.map[e][1]),this.map[e][2]);t.length=this.map[e][0]}n.push(t.slice());t.length=0;let i=n.pop();while(i){for(const e of i){t.push(e)}i=n.pop()}this.map.length=0}}function kt(t,e,n,i){let r=0;if(n===0&&i.length===0){return}while(r<t.map.length){if(t.map[r][0]===e){t.map[r][1]+=n;t.map[r][2].push(...i);return}r+=1}t.map.push([e,n,i])}function gt(t,e){let n=false;const i=[];while(e<t.length){const r=t[e];if(n){if(r[0]==="enter"){if(r[1].type==="tableContent"){i.push(t[e+1][1].type==="tableDelimiterMarker"?"left":"none")}}else if(r[1].type==="tableContent"){if(t[e-1][1].type==="tableDelimiterMarker"){const t=i.length-1;i[t]=i[t]==="left"?"center":"right"}}else if(r[1].type==="tableDelimiterRow"){break}}else if(r[0]==="enter"&&r[1].type==="tableDelimiterRow"){n=true}e+=1}return i}function mt(){return{flow:{null:{name:"table",tokenize:dt,resolveAll:Ct}}}}function dt(t,n,i){const r=this;let o=0;let l=0;let u;return s;function s(t){let e=r.events.length-1;while(e>-1){const t=r.events[e][1].type;if(t==="lineEnding"||t==="linePrefix")e--;else break}const n=e>-1?r.events[e][1].type:null;const o=n==="tableHead"||n==="tableRow"?M:a;if(o===M&&r.parser.lazy[r.now().line]){return i(t)}return o(t)}function a(e){t.enter("tableHead");t.enter("tableRow");return c(e)}function c(t){if(t===124){return h(t)}u=true;l+=1;return h(t)}function h(n){if(n===null){return i(n)}if(k(n)){if(l>1){l=0;r.interrupt=true;t.exit("tableRow");t.enter("lineEnding");t.consume(n);t.exit("lineEnding");return d}return i(n)}if(g(n)){return e(t,h,"whitespace")(n)}l+=1;if(u){u=false;o+=1}if(n===124){t.enter("tableCellDivider");t.consume(n);t.exit("tableCellDivider");u=true;return h}t.enter("data");return b(n)}function b(e){if(e===null||e===124||f(e)){t.exit("data");return h(e)}t.consume(e);return e===92?m:b}function m(e){if(e===92||e===124){t.consume(e);return b}return b(e)}function d(n){r.interrupt=false;if(r.parser.lazy[r.now().line]){return i(n)}t.enter("tableDelimiterRow");u=false;if(g(n)){return e(t,C,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?undefined:4)(n)}return C(n)}function C(e){if(e===45||e===58){return D(e)}if(e===124){u=true;t.enter("tableCellDivider");t.consume(e);t.exit("tableCellDivider");return p}return L(e)}function p(n){if(g(n)){return e(t,D,"whitespace")(n)}return D(n)}function D(e){if(e===58){l+=1;u=true;t.enter("tableDelimiterMarker");t.consume(e);t.exit("tableDelimiterMarker");return F}if(e===45){l+=1;return F(e)}if(e===null||k(e)){return S(e)}return L(e)}function F(e){if(e===45){t.enter("tableDelimiterFiller");return w(e)}return L(e)}function w(e){if(e===45){t.consume(e);return w}if(e===58){u=true;t.exit("tableDelimiterFiller");t.enter("tableDelimiterMarker");t.consume(e);t.exit("tableDelimiterMarker");return x}t.exit("tableDelimiterFiller");return x(e)}function x(n){if(g(n)){return e(t,S,"whitespace")(n)}return S(n)}function S(e){if(e===124){return C(e)}if(e===null||k(e)){if(!u||o!==l){return L(e)}t.exit("tableDelimiterRow");t.exit("tableHead");return n(e)}return L(e)}function L(t){return i(t)}function M(e){t.enter("tableRow");return O(e)}function O(i){if(i===124){t.enter("tableCellDivider");t.consume(i);t.exit("tableCellDivider");return O}if(i===null||k(i)){t.exit("tableRow");return n(i)}if(g(i)){return e(t,O,"whitespace")(i)}t.enter("data");return A(i)}function A(e){if(e===null||e===124||f(e)){t.exit("data");return O(e)}t.consume(e);return e===92?j:A}function j(e){if(e===92||e===124){t.consume(e);return A}return A(e)}}function Ct(t,e){let n=-1;let i=true;let r=0;let o=[0,0,0,0];let l=[0,0,0,0];let u=false;let f=0;let s;let a;let c;const h=new bt;while(++n<t.length){const b=t[n];const k=b[1];if(b[0]==="enter"){if(k.type==="tableHead"){u=false;if(f!==0){Dt(h,e,f,s,a);a=undefined;f=0}s={type:"table",start:Object.assign({},k.start),end:Object.assign({},k.end)};h.add(n,0,[["enter",s,e]])}else if(k.type==="tableRow"||k.type==="tableDelimiterRow"){i=true;c=undefined;o=[0,0,0,0];l=[0,n+1,0,0];if(u){u=false;a={type:"tableBody",start:Object.assign({},k.start),end:Object.assign({},k.end)};h.add(n,0,[["enter",a,e]])}r=k.type==="tableDelimiterRow"?2:a?3:1}else if(r&&(k.type==="data"||k.type==="tableDelimiterMarker"||k.type==="tableDelimiterFiller")){i=false;if(l[2]===0){if(o[1]!==0){l[0]=l[1];c=pt(h,e,o,r,undefined,c);o=[0,0,0,0]}l[2]=n}}else if(k.type==="tableCellDivider"){if(i){i=false}else{if(o[1]!==0){l[0]=l[1];c=pt(h,e,o,r,undefined,c)}o=l;l=[o[1],n,0,0]}}}else if(k.type==="tableHead"){u=true;f=n}else if(k.type==="tableRow"||k.type==="tableDelimiterRow"){f=n;if(o[1]!==0){l[0]=l[1];c=pt(h,e,o,r,n,c)}else if(l[1]!==0){c=pt(h,e,l,r,n,c)}r=0}else if(r&&(k.type==="data"||k.type==="tableDelimiterMarker"||k.type==="tableDelimiterFiller")){l[3]=n}}if(f!==0){Dt(h,e,f,s,a)}h.consume(e.events);n=-1;while(++n<e.events.length){const t=e.events[n];if(t[0]==="enter"&&t[1].type==="table"){t[1]._align=gt(e.events,n)}}return t}function pt(t,e,n,i,r,o){const l=i===1?"tableHeader":i===2?"tableDelimiter":"tableData";const u="tableContent";if(n[0]!==0){o.end=Object.assign({},Ft(e.events,n[0]));t.add(n[0],0,[["exit",o,e]])}const f=Ft(e.events,n[1]);o={type:l,start:Object.assign({},f),end:Object.assign({},f)};t.add(n[1],0,[["enter",o,e]]);if(n[2]!==0){const r=Ft(e.events,n[2]);const o=Ft(e.events,n[3]);const l={type:u,start:Object.assign({},r),end:Object.assign({},o)};t.add(n[2],0,[["enter",l,e]]);if(i!==2){const i=e.events[n[2]];const r=e.events[n[3]];i[1].end=Object.assign({},r[1].end);i[1].type="chunkText";i[1].contentType="text";if(n[3]>n[2]+1){const e=n[2]+1;const i=n[3]-n[2]-1;t.add(e,i,[])}}t.add(n[3]+1,0,[["exit",l,e]])}if(r!==undefined){o.end=Object.assign({},Ft(e.events,r));t.add(r,0,[["exit",o,e]]);o=undefined}return o}function Dt(t,e,n,i,r){const o=[];const l=Ft(e.events,n);if(r){r.end=Object.assign({},l);o.push(["exit",r,e])}i.end=Object.assign({},l);o.push(["exit",i,e]);t.add(n+1,0,o)}function Ft(t,e){const n=t[e];const i=n[0]==="enter"?"start":"end";return n[1][i]}const wt=/<(\/?)(iframe|noembed|noframes|plaintext|script|style|title|textarea|xmp)(?=[\t\n\f\r />])/gi;const xt=new RegExp("^"+wt.source,"i");function St(){return{exit:{htmlFlowData(t){Lt.call(this,t,wt)},htmlTextData(t){Lt.call(this,t,xt)}}}}function Lt(t,e){let n=this.sliceSerialize(t);if(this.options.allowDangerousHtml){n=n.replace(e,"<$1$2")}this.raw(this.encode(n))}function Mt(){return{enter:{taskListCheck(){this.tag('<input type="checkbox" disabled="" ')}},exit:{taskListCheck(){this.tag("/>")},taskListCheckValueChecked(){this.tag('checked="" ')}}}}const Ot={name:"tasklistCheck",tokenize:jt};function At(){return{text:{[91]:Ot}}}function jt(t,e,n){const i=this;return r;function r(e){if(i.previous!==null||!i._gfmTasklistFirstContentOfListItem){return n(e)}t.enter("taskListCheck");t.enter("taskListCheckMarker");t.consume(e);t.exit("taskListCheckMarker");return o}function o(e){if(f(e)){t.enter("taskListCheckValueUnchecked");t.consume(e);t.exit("taskListCheckValueUnchecked");return l}if(e===88||e===120){t.enter("taskListCheckValueChecked");t.consume(e);t.exit("taskListCheckValueChecked");return l}return n(e)}function l(e){if(e===93){t.enter("taskListCheckMarker");t.consume(e);t.exit("taskListCheckMarker");t.exit("taskListCheck");return u}return n(e)}function u(i){if(k(i)){return e(i)}if(g(i)){return t.check({tokenize:yt},e,n)(i)}return n(i)}}function yt(t,n,i){return e(t,r,"whitespace");function r(t){return t===null?i(t):n(t)}}function zt(t){return r([j(),N(),st(t),mt(),At()])}function Rt(t){return o([U(),ut(t),ft(),ct(),St(),Mt()])}export{zt as gfm,Rt as gfmHtml};
|
|
2
|
+
//# sourceMappingURL=p-gidVv1FX.js.map
|