@ds-mo/ui 14.28.0 → 14.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +27 -17
  3. package/dist/agent.json +148 -25
  4. package/dist/angular/ds-button-filled.d.ts +1 -1
  5. package/dist/angular/ds-button-filled.js +3 -3
  6. package/dist/angular/ds-button-unfilled.d.ts +1 -1
  7. package/dist/angular/ds-button-unfilled.js +3 -3
  8. package/dist/angular/ds-panel-nav.d.ts +1 -1
  9. package/dist/angular/ds-panel-nav.js +3 -3
  10. package/dist/angular/ds-panel-tool-header.d.ts +1 -1
  11. package/dist/angular/ds-panel-tool-header.js +3 -3
  12. package/dist/angular/ds-panel-tool-search.d.ts +1 -1
  13. package/dist/angular/ds-panel-tool-search.js +3 -3
  14. package/dist/angular/ds-table.d.ts +1 -1
  15. package/dist/angular/ds-table.js +3 -3
  16. package/dist/angular/ds-tag.d.ts +1 -1
  17. package/dist/angular/ds-tag.js +3 -3
  18. package/dist/components/ds-agent-questionnaire.js +1 -1
  19. package/dist/components/ds-agent-response.js +1 -1
  20. package/dist/components/ds-banner.js +1 -1
  21. package/dist/components/ds-bar-nav.js +1 -1
  22. package/dist/components/ds-bar-title.js +1 -1
  23. package/dist/components/ds-bar-workflow.js +1 -1
  24. package/dist/components/ds-button-filled.js +1 -1
  25. package/dist/components/ds-button-unfilled.js +1 -1
  26. package/dist/components/ds-card-chart.js +1 -1
  27. package/dist/components/ds-card-navigation.js +1 -1
  28. package/dist/components/ds-card-navigation.js.map +1 -1
  29. package/dist/components/ds-card-overview.js +1 -1
  30. package/dist/components/ds-card-overview.js.map +1 -1
  31. package/dist/components/ds-card-setting.js +1 -1
  32. package/dist/components/ds-chart-legend.js +1 -1
  33. package/dist/components/ds-chart-legend.js.map +1 -1
  34. package/dist/components/ds-checkbox.js +1 -1
  35. package/dist/components/ds-chip.js +1 -1
  36. package/dist/components/ds-code-block.js +1 -1
  37. package/dist/components/ds-conversation-list-item.js +1 -1
  38. package/dist/components/ds-conversation-list-item.js.map +1 -1
  39. package/dist/components/ds-filter-menu.js +1 -1
  40. package/dist/components/ds-input.js +1 -1
  41. package/dist/components/ds-markdown.js +1 -1
  42. package/dist/components/ds-menu.js +1 -1
  43. package/dist/components/ds-message-actions.js +1 -1
  44. package/dist/components/ds-message-composer.js +1 -1
  45. package/dist/components/ds-message-scroller.js +1 -1
  46. package/dist/components/ds-mobile-bar-nav.js +1 -1
  47. package/dist/components/ds-mobile-header.js +1 -1
  48. package/dist/components/ds-mobile-section-switcher.js +1 -1
  49. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  50. package/dist/components/ds-modal.js +1 -1
  51. package/dist/components/ds-pagination.js +1 -1
  52. package/dist/components/ds-panel-nav.js +1 -1
  53. package/dist/components/ds-panel-sub-nav.js +1 -1
  54. package/dist/components/ds-panel-sub-nav.js.map +1 -1
  55. package/dist/components/ds-panel-tool-header.js +1 -1
  56. package/dist/components/ds-panel-tool-search.js +1 -1
  57. package/dist/components/ds-panel-tool-search.js.map +1 -1
  58. package/dist/components/ds-panel-tools.js +1 -1
  59. package/dist/components/ds-radio.js +1 -1
  60. package/dist/components/ds-select.js +1 -1
  61. package/dist/components/ds-shell-app.js +1 -1
  62. package/dist/components/ds-shell-app.js.map +1 -1
  63. package/dist/components/ds-shell-tools.js +1 -1
  64. package/dist/components/ds-tab-group.js +1 -1
  65. package/dist/components/ds-table-filter.js +1 -1
  66. package/dist/components/ds-table-group.js +1 -1
  67. package/dist/components/ds-table-group.js.map +1 -1
  68. package/dist/components/ds-table-saved-views.js +1 -1
  69. package/dist/components/ds-table-saved-views.js.map +1 -1
  70. package/dist/components/ds-table-search.js +1 -1
  71. package/dist/components/ds-table-search.js.map +1 -1
  72. package/dist/components/ds-table-sort.js +1 -1
  73. package/dist/components/ds-table-sort.js.map +1 -1
  74. package/dist/components/ds-table.js +1 -1
  75. package/dist/components/ds-table.js.map +1 -1
  76. package/dist/components/ds-tag.js +1 -1
  77. package/dist/components/ds-textarea.js +1 -1
  78. package/dist/components/ds-textarea.js.map +1 -1
  79. package/dist/components/ds-toast.js +1 -1
  80. package/dist/components/p--yvQzZoO.js +2 -0
  81. package/dist/components/p--yvQzZoO.js.map +1 -0
  82. package/dist/components/p-B5AZd41L.js +2 -0
  83. package/dist/components/p-B5AZd41L.js.map +1 -0
  84. package/dist/components/p-B5eMVBlz.js +2 -0
  85. package/dist/components/p-B5eMVBlz.js.map +1 -0
  86. package/dist/components/p-BGnRFtBa.js +2 -0
  87. package/dist/components/p-BGnRFtBa.js.map +1 -0
  88. package/dist/components/p-BIDGQ4tc.js +2 -0
  89. package/dist/components/p-BIDGQ4tc.js.map +1 -0
  90. package/dist/components/p-BZDQLjE0.js +2 -0
  91. package/dist/components/p-BZDQLjE0.js.map +1 -0
  92. package/dist/components/{p-DmYZLH_L.js → p-BdC7wxhu.js} +2 -2
  93. package/dist/components/{p-DmYZLH_L.js.map → p-BdC7wxhu.js.map} +1 -1
  94. package/dist/components/p-BfVlFinS.js +2 -0
  95. package/dist/components/{p-WM1GTEun.js.map → p-BfVlFinS.js.map} +1 -1
  96. package/dist/components/p-BmRHJ_jo.js +2 -0
  97. package/dist/components/p-BmRHJ_jo.js.map +1 -0
  98. package/dist/components/{p-CxbGZJBU.js → p-BwAWZAHk.js} +2 -2
  99. package/dist/components/{p-8atLxerP.js → p-By5TDnbF.js} +2 -2
  100. package/dist/components/{p-BdXUd-tK.js → p-CDXcINTO.js} +2 -2
  101. package/dist/components/{p-BdXUd-tK.js.map → p-CDXcINTO.js.map} +1 -1
  102. package/dist/components/{p-DGHeKNfG.js → p-CE8gsv7V.js} +2 -2
  103. package/dist/components/p-CLcwh1kq.js +2 -0
  104. package/dist/components/p-CLcwh1kq.js.map +1 -0
  105. package/dist/components/p-CcK3UiTu.js +2 -0
  106. package/dist/components/{p-NB-SoVpo.js.map → p-CcK3UiTu.js.map} +1 -1
  107. package/dist/components/p-Cr5vn5JO.js +2 -0
  108. package/dist/components/{p-CsW_2w-s.js.map → p-Cr5vn5JO.js.map} +1 -1
  109. package/dist/components/{p-CW7JhWlS.js → p-Crd3PEUx.js} +2 -2
  110. package/dist/components/{p-CW7JhWlS.js.map → p-Crd3PEUx.js.map} +1 -1
  111. package/dist/components/{p-Kp8ifB1g.js → p-Ct90k-nz.js} +2 -2
  112. package/dist/components/{p-C82vesh_.js → p-Cx2dWjaW.js} +2 -2
  113. package/dist/components/p-CyoLh8su.js +2 -0
  114. package/dist/components/p-CyoLh8su.js.map +1 -0
  115. package/dist/components/p-CysCSinT.js +2 -0
  116. package/dist/components/{p-BdU6FPu4.js.map → p-CysCSinT.js.map} +1 -1
  117. package/dist/components/p-CzbsTZt7.js.map +1 -1
  118. package/dist/components/p-D1pPq-y0.js +2 -0
  119. package/dist/components/{p-BWDbER5T.js.map → p-D1pPq-y0.js.map} +1 -1
  120. package/dist/components/{p-B3iy9Rl_.js → p-DF8W85Tz.js} +2 -2
  121. package/dist/components/p-GbtafFds.js +2 -0
  122. package/dist/components/p-GbtafFds.js.map +1 -0
  123. package/dist/components/{p-B_NN7k8H.js → p-K39w53Bw.js} +2 -2
  124. package/dist/components/p-K39w53Bw.js.map +1 -0
  125. package/dist/components/p-frKsmPQn.js +2 -0
  126. package/dist/components/{p-CvB76TJn.js.map → p-frKsmPQn.js.map} +1 -1
  127. package/dist/docs/components.json +188 -6
  128. package/dist/lib/components/ButtonFilled/ButtonFilled.d.ts +11 -3
  129. package/dist/lib/components/PanelTools/panel-tools-types.d.ts +2 -0
  130. package/dist/lib/components/ShellApp/shell-app-types.d.ts +2 -0
  131. package/dist/lib/shell/index.js.map +1 -1
  132. package/dist/lib/utils/choice-list.d.ts +2 -0
  133. package/dist/mcp-data/registry/bar-nav.json +7 -2
  134. package/dist/mcp-data/registry/bar-title.json +8 -3
  135. package/dist/mcp-data/registry/button-filled.json +26 -5
  136. package/dist/mcp-data/registry/button-unfilled.json +27 -6
  137. package/dist/mcp-data/registry/filter-menu.json +7 -2
  138. package/dist/mcp-data/registry/mobile-section-switcher.json +8 -3
  139. package/dist/mcp-data/registry/panel-nav.json +27 -6
  140. package/dist/mcp-data/registry/panel-tool-header.json +23 -2
  141. package/dist/mcp-data/registry/panel-tool-search.json +23 -2
  142. package/dist/mcp-data/registry/panel-tools.json +7 -2
  143. package/dist/mcp-data/registry/registry.json +147 -24
  144. package/dist/mcp-data/registry/select.json +8 -3
  145. package/dist/mcp-data/registry/shell-app.json +8 -3
  146. package/dist/mcp-data/registry/shell-tools.json +7 -2
  147. package/dist/mcp-data/registry/table-group.json +7 -2
  148. package/dist/mcp-data/registry/table-saved-views.json +7 -2
  149. package/dist/mcp-data/registry/table-search.json +7 -2
  150. package/dist/mcp-data/registry/table-sort.json +7 -2
  151. package/dist/mcp-data/registry/table.json +24 -3
  152. package/dist/mcp-data/registry/tag.json +24 -3
  153. package/dist/styles/table.css +1 -0
  154. package/dist/types/components/BarTitle/BarTitle.d.ts +3 -0
  155. package/dist/types/components/ButtonFilled/ButtonFilled.d.ts +11 -3
  156. package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +11 -5
  157. package/dist/types/components/MobileSectionSwitcher/MobileSectionSwitcher.d.ts +2 -0
  158. package/dist/types/components/PanelNav/PanelNav.d.ts +4 -1
  159. package/dist/types/components/PanelToolHeader/PanelToolHeader.d.ts +2 -0
  160. package/dist/types/components/PanelToolSearch/PanelToolSearch.d.ts +2 -0
  161. package/dist/types/components/PanelTools/panel-tools-types.d.ts +2 -0
  162. package/dist/types/components/ShellApp/ShellApp.d.ts +1 -0
  163. package/dist/types/components/ShellApp/shell-app-types.d.ts +2 -0
  164. package/dist/types/components/Table/Table.d.ts +10 -0
  165. package/dist/types/components/Table/table-row-view.d.ts +6 -1
  166. package/dist/types/components/TableSort/TableSort.d.ts +1 -0
  167. package/dist/types/components/Tag/Tag.d.ts +3 -0
  168. package/dist/types/components.d.ts +69 -6
  169. package/dist/types/utils/choice-list.d.ts +2 -0
  170. package/dist/vue/ds-button-filled.js +1 -0
  171. package/dist/vue/ds-button-unfilled.js +1 -0
  172. package/dist/vue/ds-panel-nav.js +1 -0
  173. package/dist/vue/ds-panel-tool-header.js +1 -0
  174. package/dist/vue/ds-panel-tool-search.js +1 -0
  175. package/dist/vue/ds-table.js +1 -0
  176. package/dist/vue/ds-tag.js +1 -0
  177. package/package.json +1 -1
  178. package/dist/components/p-6iF6gdoc.js +0 -2
  179. package/dist/components/p-6iF6gdoc.js.map +0 -1
  180. package/dist/components/p-BWDbER5T.js +0 -2
  181. package/dist/components/p-B_NN7k8H.js.map +0 -1
  182. package/dist/components/p-BdU6FPu4.js +0 -2
  183. package/dist/components/p-Bj018KMC.js +0 -2
  184. package/dist/components/p-Bj018KMC.js.map +0 -1
  185. package/dist/components/p-BxLF8b8a.js +0 -2
  186. package/dist/components/p-BxLF8b8a.js.map +0 -1
  187. package/dist/components/p-C1BJgnHY.js +0 -2
  188. package/dist/components/p-C1BJgnHY.js.map +0 -1
  189. package/dist/components/p-C78uTz-n.js +0 -2
  190. package/dist/components/p-C78uTz-n.js.map +0 -1
  191. package/dist/components/p-COn7l__5.js +0 -2
  192. package/dist/components/p-COn7l__5.js.map +0 -1
  193. package/dist/components/p-CsW_2w-s.js +0 -2
  194. package/dist/components/p-CvB76TJn.js +0 -2
  195. package/dist/components/p-D4-RkuER.js +0 -2
  196. package/dist/components/p-D4-RkuER.js.map +0 -1
  197. package/dist/components/p-DB_tlJ2d.js +0 -2
  198. package/dist/components/p-DB_tlJ2d.js.map +0 -1
  199. package/dist/components/p-NB-SoVpo.js +0 -2
  200. package/dist/components/p-P9My22Z1.js +0 -2
  201. package/dist/components/p-P9My22Z1.js.map +0 -1
  202. package/dist/components/p-WM1GTEun.js +0 -2
  203. package/dist/components/p-oAbq-DLk.js +0 -2
  204. package/dist/components/p-oAbq-DLk.js.map +0 -1
  205. /package/dist/components/{p-CxbGZJBU.js.map → p-BwAWZAHk.js.map} +0 -0
  206. /package/dist/components/{p-8atLxerP.js.map → p-By5TDnbF.js.map} +0 -0
  207. /package/dist/components/{p-DGHeKNfG.js.map → p-CE8gsv7V.js.map} +0 -0
  208. /package/dist/components/{p-Kp8ifB1g.js.map → p-Ct90k-nz.js.map} +0 -0
  209. /package/dist/components/{p-C82vesh_.js.map → p-Cx2dWjaW.js.map} +0 -0
  210. /package/dist/components/{p-B3iy9Rl_.js.map → p-DF8W85Tz.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isBarTitleDivider","item","type","isBarTitleActionDivider","resolveBarTitleActionItems","actionItems","primaryAction","actions","undefined","resolved","primary","push","buttonType","appearance","action","nestedChoices","choices","barTitleActionIdIssues","items","seen","Set","issues","visit","id","trim","has","add","choice","actionCollapses","presentation","mobile","collapse","visibleBarTitleActions","find","menuItem","includeIcon","label","value","icon","isInactive","isDestructive","appendChoices","output","includeIcons","toSections","sections","current","commit","length","barTitleChoiceSections","rows","overflowBarTitleActionSections","visibleAction","findBarTitleAction","candidate","barTitleCss","nextBarTitleId","BarTitle","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","description","showBack","backAriaLabel","backLabel","breadcrumbs","breadcrumbAriaLabel","sectionsAriaLabel","actionsAriaLabel","variant","placement","showDivider","sectionMenuOpen","openActionMenuId","surfaceActionMenuId","sectionSurfaceOpen","sectionMenuInitialFocusVisible","actionMenuInitialFocusVisible","instanceId","sectionMenuTriggerId","sectionMenuId","actionMenuTriggerId","actionMenuId","sectionTriggerEl","actionTriggerEl","actionTriggerEls","Map","toggleSectionMenu","event","detail","closeSectionMenu","handleSectionSelect","String","selected","selectableSections","section","dsSectionChange","emit","requestAnimationFrame","focus","toggleActionMenu","finishActionMenuClose","domId","actionMenuDomId","target","closeActionMenu","handleActionSelect","resolvedActionItems","isLoading","menuId","dsAction","setFocus","trigger","get","split","some","handleBreadcrumbSelect","dsBack","originalEvent","forwarded","dsBreadcrumbSelect","defaultPrevented","preventDefault","componentWillLoad","el","closest","setAttribute","reportActionIdIssues","handleSectionsChange","hasSectionSelector","handleActionsChange","availableActionMenuIds","issue","console","warn","compact","effectiveVariant","dividerVisible","showCompactDivider","expandedBreadcrumbItems","ariaLabel","backTooltipLabel","primaryCollapsed","filter","effectiveValue","selectedSectionLabel","sectionTriggerAriaLabel","groupsFromSections","groups","isSelected","sectionMenuSections","visibleActions","actionMenuSections","showActionMenuTrigger","ids","index","findIndex","actionMenuAnchor","splitMenu","querySelector","menuSectionsForAction","renderSectionSelector","h","class","ref","onClick","as","emphasis","color","lineTruncation","name","size","renderVisibleAction","menu","splitMenuId","splitProps","key","set","delete","menuAriaLabel","controls","expanded","surfaceOpen","onDsClick","onDsMenuClick","intent","contrast","buttonProps","hasMenu","button","side","renderActions","map","activeFill","hasBorder","haspopup","renderActionMenus","flatMap","menuLabel","anchor","align","open","initialFocusVisible","onDsClose","onDsAfterClose","onDsSelect","renderBreadcrumb","renderBack","render","Host","heading","wrap","anchorId"],"sources":["src/wc/components/BarTitle/bar-title-types.ts","src/wc/components/BarTitle/bar-title-actions.ts","src/wc/components/BarTitle/BarTitle.css?tag=ds-bar-title&encapsulation=scoped","src/wc/components/BarTitle/BarTitle.tsx"],"sourcesContent":["import type { ButtonFilledContrast, ButtonFilledIntent } from '../ButtonFilled/ButtonFilled';\n\nexport interface BarTitleSection {\n id: string;\n label: string;\n isInactive?: boolean;\n}\n\nexport interface BarTitleDivider {\n type: 'divider';\n}\n\nexport type BarTitleSectionItem = BarTitleSection | BarTitleDivider;\n\nexport interface BarTitleAction {\n id: string;\n label: string;\n ariaLabel?: string;\n icon?: string;\n isInactive?: boolean;\n isDestructive?: boolean;\n}\n\nexport interface BarTitlePrimaryAction extends BarTitleAction {\n intent?: ButtonFilledIntent;\n contrast?: ButtonFilledContrast;\n isLoading?: boolean;\n type?: 'button' | 'submit' | 'reset';\n collapse?: BarTitlePrimaryActionCollapse;\n}\n\nexport type BarTitleActionItem = BarTitleAction | BarTitleDivider;\n\nexport type BarTitleActionAppearance = 'filled' | 'unfilled';\nexport type BarTitleActionCollapse = 'auto' | 'never';\nexport type BarTitleActionMobile = 'auto' | 'visible' | 'overflow';\n\ninterface BarTitleVisibleActionBase extends BarTitleAction {\n appearance?: BarTitleActionAppearance;\n intent?: ButtonFilledIntent;\n contrast?: ButtonFilledContrast;\n isLoading?: boolean;\n buttonType?: 'button' | 'submit' | 'reset';\n /** Auto moves the action into overflow only in constrained presentation. */\n collapse?: BarTitleActionCollapse;\n /**\n * Mobile defaults icon actions to visible and all labeled actions to overflow.\n * `visible` is supported only by icon actions.\n */\n mobile?: BarTitleActionMobile;\n}\n\n/** Visible labeled command in the authored action order. */\nexport interface BarTitleButtonAction extends BarTitleVisibleActionBase {\n type: 'button';\n}\n\n/** Visible icon-only command. ariaLabel is required because label is not rendered. */\nexport interface BarTitleIconAction extends BarTitleVisibleActionBase {\n type: 'icon';\n icon: string;\n ariaLabel: string;\n}\n\nexport type BarTitleMenuChoice = BarTitleAction;\nexport type BarTitleMenuChoiceItem = BarTitleMenuChoice | BarTitleDivider;\n\n/** Visible labeled menu button. Selecting a choice emits that choice's flat id. */\nexport interface BarTitleMenuAction extends BarTitleVisibleActionBase {\n type: 'menu';\n choices: BarTitleMenuChoiceItem[];\n menuAriaLabel?: string;\n}\n\n/** Command with a dedicated menu segment; defaults filled when appearance is omitted. */\nexport interface BarTitleSplitAction extends BarTitleVisibleActionBase {\n type: 'split';\n choices: BarTitleMenuChoiceItem[];\n menuAriaLabel: string;\n}\n\n/** Command that is always presented in the shared overflow menu. */\nexport interface BarTitleOverflowAction extends BarTitleAction {\n type: 'overflow';\n}\n\n/**\n * Ordered page-header action model. IDs must be non-empty and unique across\n * top-level actions and every nested menu choice. At most the first eligible\n * action renders beside the title; remaining actions use the text-only overflow.\n */\nexport type BarTitleActionConfigItem =\n | BarTitleButtonAction\n | BarTitleIconAction\n | BarTitleMenuAction\n | BarTitleSplitAction\n | BarTitleOverflowAction\n | BarTitleDivider;\n\nexport type BarTitleVariant = 'expanded' | 'compact' | 'constrained';\nexport type BarTitlePlacement = 'page' | 'shell-bar';\n\nexport type BarTitlePrimaryActionCollapse = 'auto' | 'never';\n\nexport function isBarTitleDivider(\n item: BarTitleSectionItem | BarTitleActionItem\n): item is BarTitleDivider {\n return 'type' in item && item.type === 'divider';\n}\n","import type { MenuItemData, MenuSection } from '../Menu/menu-types';\nimport type {\n BarTitleAction,\n BarTitleActionConfigItem,\n BarTitleActionItem,\n BarTitleDivider,\n BarTitleMenuChoiceItem,\n BarTitlePrimaryAction,\n BarTitleVariant,\n} from './bar-title-types';\n\nexport type BarTitleActionPresentation = BarTitleVariant | 'mobile';\n\nexport function isBarTitleActionDivider(\n item: BarTitleActionConfigItem | BarTitleMenuChoiceItem\n): item is BarTitleDivider {\n return 'type' in item && item.type === 'divider';\n}\n\nexport function resolveBarTitleActionItems(\n actionItems: BarTitleActionConfigItem[] | undefined,\n primaryAction: BarTitlePrimaryAction | null,\n actions: BarTitleActionItem[]\n): BarTitleActionConfigItem[] {\n if (actionItems !== undefined) return actionItems;\n\n const resolved: BarTitleActionConfigItem[] = [];\n if (primaryAction) {\n const { type, ...primary } = primaryAction;\n resolved.push({\n ...primary,\n type: 'button',\n buttonType: type,\n appearance: 'filled',\n });\n }\n for (const action of actions) {\n resolved.push(\n 'type' in action\n ? action\n : {\n ...action,\n type: 'overflow',\n }\n );\n }\n return resolved;\n}\n\nfunction nestedChoices(item: BarTitleActionConfigItem): BarTitleMenuChoiceItem[] | undefined {\n return item.type === 'menu' || item.type === 'split' ? item.choices : undefined;\n}\n\nexport function barTitleActionIdIssues(items: BarTitleActionConfigItem[]): string[] {\n const seen = new Set<string>();\n const issues: string[] = [];\n const visit = (id: string) => {\n if (!id.trim()) {\n issues.push('Action ids must be non-empty.');\n return;\n }\n if (seen.has(id)) {\n issues.push(`Duplicate action id: ${id}`);\n return;\n }\n seen.add(id);\n };\n\n for (const item of items) {\n if (isBarTitleActionDivider(item)) continue;\n visit(item.id);\n for (const choice of nestedChoices(item) ?? []) {\n if (!isBarTitleActionDivider(choice)) visit(choice.id);\n }\n }\n return issues;\n}\n\nfunction actionCollapses(\n item: BarTitleActionConfigItem,\n presentation: BarTitleActionPresentation\n): boolean {\n if (isBarTitleActionDivider(item) || item.type === 'overflow') return false;\n if (presentation === 'mobile') {\n if (item.type !== 'icon') return true;\n return (item.mobile ?? 'auto') === 'overflow';\n }\n return presentation === 'constrained' && (item.collapse ?? 'auto') === 'auto';\n}\n\nexport function visibleBarTitleActions(\n items: BarTitleActionConfigItem[],\n presentation: BarTitleActionPresentation\n): BarTitleActionConfigItem[] {\n const primary = items.find(\n item =>\n !isBarTitleActionDivider(item) &&\n item.type !== 'overflow' &&\n !actionCollapses(item, presentation)\n );\n return primary ? [primary] : [];\n}\n\nfunction menuItem(action: BarTitleAction, includeIcon: boolean = true): MenuItemData {\n return {\n label: action.label,\n value: action.id,\n icon: includeIcon ? action.icon : undefined,\n isInactive: action.isInactive,\n isDestructive: action.isDestructive,\n };\n}\n\nfunction appendChoices(\n output: Array<MenuItemData | BarTitleDivider>,\n choices: BarTitleMenuChoiceItem[],\n includeIcons: boolean = true\n) {\n for (const choice of choices) {\n output.push(isBarTitleActionDivider(choice) ? choice : menuItem(choice, includeIcons));\n }\n}\n\nfunction toSections(items: Array<MenuItemData | BarTitleDivider>): MenuSection[] {\n const sections: MenuSection[] = [];\n let current: MenuItemData[] = [];\n const commit = () => {\n if (current.length > 0) sections.push({ items: current });\n current = [];\n };\n\n for (const item of items) {\n if ('type' in item && item.type === 'divider') commit();\n else current.push(item as MenuItemData);\n }\n commit();\n return sections;\n}\n\nexport function barTitleChoiceSections(choices: BarTitleMenuChoiceItem[]): MenuSection[] {\n const rows: Array<MenuItemData | BarTitleDivider> = [];\n appendChoices(rows, choices);\n return toSections(rows);\n}\n\nexport function overflowBarTitleActionSections(\n items: BarTitleActionConfigItem[],\n presentation: BarTitleActionPresentation\n): MenuSection[] {\n const rows: Array<MenuItemData | BarTitleDivider> = [];\n const [visibleAction] = visibleBarTitleActions(items, presentation);\n\n for (const item of items) {\n if (isBarTitleActionDivider(item)) {\n rows.push(item);\n continue;\n }\n if (item.type === 'overflow') {\n rows.push(menuItem(item, false));\n continue;\n }\n if (item === visibleAction) continue;\n\n if (item.type === 'menu') {\n appendChoices(rows, item.choices, false);\n continue;\n }\n if (item.type === 'split') {\n rows.push(menuItem(item, false));\n appendChoices(rows, item.choices, false);\n continue;\n }\n rows.push(menuItem(item, false));\n }\n\n return toSections(rows);\n}\n\nexport function findBarTitleAction(\n items: BarTitleActionConfigItem[],\n id: string\n): BarTitleAction | undefined {\n for (const item of items) {\n if (isBarTitleActionDivider(item)) continue;\n if (item.id === id) return item;\n const choice = nestedChoices(item)?.find(\n candidate => !isBarTitleActionDivider(candidate) && candidate.id === id\n );\n if (choice && !isBarTitleActionDivider(choice)) return choice;\n }\n return undefined;\n}\n","@import '../../utils/control-density.css';\n@import '../../utils/chrome-header.css';\n@import '../../utils/focus-ring.css';\n@import '../../utils/interaction-fill.css';\n\n:host {\n display: block;\n min-width: 0;\n box-sizing: border-box;\n background: var(--_shell-page-header-background, var(--color-background-primary));\n}\n\n:host([placement='shell-bar']) {\n --_shell-page-header-background: var(--color-background-secondary);\n}\n\n:host-context(ds-shell-app:not([gradient-preset='none']))[placement='shell-bar'],\n:host-context(ds-shell-app:not([gradient-preset='none']))[placement='shell-bar'] .bar-title,\n:host-context(ds-shell-app.shell-app--paper-texture)[placement='shell-bar'],\n:host-context(ds-shell-app.shell-app--paper-texture)[placement='shell-bar'] .bar-title {\n background: transparent;\n}\n\n:host([data-shell-page-syncing]) {\n visibility: hidden;\n}\n\n.bar-title {\n position: relative;\n min-width: 0;\n box-sizing: border-box;\n background: var(--_shell-page-header-background, var(--color-background-primary));\n}\n\n.bar-title::after {\n content: '';\n position: absolute;\n inset: auto var(--ds-bar-title-divider-inset, var(--dimension-space-400)) 0;\n height: var(--dimension-stroke-width-012);\n background: var(--color-border-tertiary);\n pointer-events: none;\n}\n\n.bar-title--divider-hidden::after {\n display: none;\n}\n\n.bar-title__inner {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: var(--dimension-space-100);\n padding: var(--dimension-space-400);\n box-sizing: border-box;\n}\n\n.bar-title__row {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--dimension-space-100);\n min-height: var(--dimension-size-400);\n min-width: 0;\n}\n\n:host(.bar-title-host--expanded) .bar-title__row {\n gap: var(--dimension-space-400);\n}\n\n.bar-title__leading {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n gap: var(--dimension-space-100);\n min-width: 0;\n}\n\n.bar-title__title-row {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-100);\n min-width: 0;\n min-height: var(--dimension-size-400);\n}\n\n.bar-title__identity {\n display: flex;\n flex: 0 1 auto;\n align-items: center;\n gap: var(--dimension-space-050);\n min-width: 0;\n}\n\n.bar-title__back,\n.bar-title__section-chevron {\n flex: 0 0 auto;\n}\n\n.bar-title__breadcrumb {\n display: block;\n width: 100%;\n min-width: 0;\n}\n\n.bar-title__heading {\n display: block;\n width: auto;\n min-width: 0;\n user-select: none;\n}\n\n.bar-title__divider {\n width: var(--dimension-stroke-width-012);\n height: var(--dimension-size-250);\n margin-inline-start: var(--dimension-space-100);\n flex: 0 0 var(--dimension-stroke-width-012);\n background: var(--color-border-tertiary);\n}\n\n.bar-title__section-selector {\n display: flex;\n flex: 0 1 auto;\n min-width: 0;\n max-width: var(--dimension-panel-width-sm);\n}\n\n.bar-title__section-trigger {\n --ds-control-radius: var(--dimension-radius-half);\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--ds-control-gap);\n height: var(--ds-control-height);\n min-width: 0;\n max-width: 100%;\n padding-inline: var(--ds-control-padding-inline);\n border: none;\n border-radius: var(--ds-control-radius);\n box-sizing: border-box;\n background: transparent;\n color: var(--color-foreground-secondary);\n cursor: default;\n font-family: inherit;\n user-select: none;\n}\n\n.bar-title__section-label {\n min-width: 0;\n padding-inline: var(--ds-control-label-inset);\n}\n\n.bar-title__actions {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-100);\n flex: 0 0 auto;\n}\n\n.bar-title__description {\n display: block;\n min-width: 0;\n max-width: 100%;\n}\n\n:host(.bar-title-host--compact) .bar-title {\n height: var(--dimension-size-600);\n}\n\n:host(.bar-title-host--compact) .bar-title::after {\n inset-inline: 0;\n}\n\n:host(.bar-title-host--compact) .bar-title__inner {\n flex: 1 1 auto;\n height: 100%;\n min-width: 0;\n padding: 0;\n gap: 0;\n}\n\n:host(.bar-title-host--compact) .bar-title__row {\n height: 100%;\n align-items: center;\n}\n\n:host(.bar-title-host--compact) .bar-title__identity {\n height: var(--dimension-size-400);\n}\n\n:host(.bar-title-host--compact) .bar-title__divider {\n margin-inline-start: 0;\n}\n\n:host(.bar-title-host--compact) .bar-title__heading {\n display: inline-flex;\n flex: 1 1 auto;\n align-items: center;\n height: var(--dimension-size-400);\n padding-inline: calc(var(--ds-control-padding-inline) + var(--ds-control-label-inset));\n box-sizing: border-box;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport type { BreadcrumbItem, BreadcrumbSelectDetail } from '../Breadcrumb/breadcrumb-types';\nimport type { MenuItemData, MenuSection } from '../Menu/menu-types';\nimport {\n isBarTitleDivider,\n type BarTitleActionConfigItem,\n type BarTitleActionItem,\n type BarTitleMenuAction,\n type BarTitlePrimaryAction,\n type BarTitleSection,\n type BarTitleSectionItem,\n type BarTitlePlacement,\n type BarTitleSplitAction,\n type BarTitleVariant,\n} from './bar-title-types';\nimport {\n barTitleActionIdIssues,\n barTitleChoiceSections,\n findBarTitleAction,\n overflowBarTitleActionSections,\n resolveBarTitleActionItems,\n visibleBarTitleActions,\n} from './bar-title-actions';\n\nlet nextBarTitleId = 0;\n\ntype FocusableButton = HTMLElement & {\n setFocus?: (segment?: 'primary' | 'menu') => Promise<void>;\n};\n\n@Component({\n tag: 'ds-bar-title',\n styleUrl: 'BarTitle.css',\n scoped: true,\n})\nexport class BarTitle {\n @Element() el!: HTMLElement;\n\n /** The page's single visible h1. */\n @Prop() heading!: string;\n\n /** Optional supporting copy shown in the expanded presentation. */\n @Prop() description: string = '';\n\n /** Show the leading page-level Back action. */\n @Prop({ attribute: 'show-back' }) showBack: boolean = false;\n\n /** Accessible name for the leading Back action. */\n @Prop() backAriaLabel: string = 'Back';\n\n /** Visible parent-page label used by the expanded breadcrumb when breadcrumbs is empty. */\n @Prop() backLabel: string = 'Back';\n\n /** Optional expanded ancestor path. Compact variants continue to use the Back action. */\n @Prop() breadcrumbs: BreadcrumbItem[] = [];\n\n /** Accessible name for the expanded breadcrumb navigation landmark. */\n @Prop() breadcrumbAriaLabel: string = 'Breadcrumb';\n\n /** Optional page sections exposed through the active-section menu. */\n @Prop() sections: BarTitleSectionItem[] = [];\n\n /** Id of the active page section. */\n @Prop() value: string = '';\n\n /** Accessible name for the page-section menu. */\n @Prop() sectionsAriaLabel: string = 'Change page section';\n\n /** The one highest-emphasis page action. */\n @Prop() primaryAction: BarTitlePrimaryAction | null = null;\n\n /** Secondary page actions shown in the overflow menu. Dividers create groups. */\n @Prop() actions: BarTitleActionItem[] = [];\n\n /**\n * Ordered page-header actions. When supplied, this replaces the legacy\n * primaryAction/actions presentation while preserving the same dsAction event.\n */\n @Prop() actionItems?: BarTitleActionConfigItem[];\n\n /** Accessible name for the page-actions menu. */\n @Prop() actionsAriaLabel: string = 'More page actions';\n\n /** Explicit visual/capacity variant. ShellPage owns automatic selection. */\n @Prop() variant: BarTitleVariant = 'expanded';\n\n /** Page-header placement, or compact application-shell bar placement. */\n @Prop({ reflect: true }) placement: BarTitlePlacement = 'page';\n\n /** Draw the page-title divider beneath the header. */\n @Prop() showDivider: boolean = true;\n\n /** Override divider visibility for compact and constrained variants. */\n @Prop() showCompactDivider?: boolean;\n\n /** Emitted when the leading Back action is activated. */\n @Event() dsBack!: EventEmitter<MouseEvent>;\n\n /** Emitted when an authored expanded breadcrumb item is activated. */\n @Event({ cancelable: true }) dsBreadcrumbSelect!: EventEmitter<BreadcrumbSelectDetail>;\n\n /** Emitted with the newly selected page-section id. */\n @Event() dsSectionChange!: EventEmitter<string>;\n\n /** Emitted with the activated primary or overflow action id. */\n @Event() dsAction!: EventEmitter<string>;\n\n @State() private sectionMenuOpen = false;\n @State() private openActionMenuId = '';\n @State() private surfaceActionMenuId = '';\n @State() private sectionSurfaceOpen = false;\n @State() private sectionMenuInitialFocusVisible = false;\n @State() private actionMenuInitialFocusVisible = false;\n\n private readonly instanceId = nextBarTitleId++;\n private readonly sectionMenuTriggerId = `bar-title-section-trigger-${this.instanceId}`;\n private readonly sectionMenuId = `bar-title-section-menu-${this.instanceId}`;\n private readonly actionMenuTriggerId = `bar-title-action-trigger-${this.instanceId}`;\n private readonly actionMenuId = `bar-title-action-menu-${this.instanceId}`;\n private sectionTriggerEl: HTMLButtonElement | null = null;\n private actionTriggerEl: FocusableButton | null = null;\n private actionTriggerEls = new Map<string, FocusableButton>();\n\n componentWillLoad() {\n if (this.el.closest('ds-shell-page')) {\n this.el.setAttribute('data-shell-page-syncing', '');\n }\n this.reportActionIdIssues();\n }\n\n @Watch('sections')\n handleSectionsChange() {\n if (!this.hasSectionSelector) {\n this.closeSectionMenu();\n this.sectionSurfaceOpen = false;\n }\n }\n\n @Watch('actions')\n @Watch('primaryAction')\n @Watch('actionItems')\n handleActionsChange() {\n this.reportActionIdIssues();\n if (!this.availableActionMenuIds.has(this.openActionMenuId)) this.closeActionMenu();\n if (!this.availableActionMenuIds.has(this.surfaceActionMenuId)) this.surfaceActionMenuId = '';\n }\n\n private reportActionIdIssues() {\n for (const issue of barTitleActionIdIssues(this.resolvedActionItems)) {\n console.warn(`[ds-bar-title] ${issue}`);\n }\n }\n\n private get compact(): boolean {\n return this.effectiveVariant !== 'expanded';\n }\n\n private get effectiveVariant(): BarTitleVariant {\n return this.placement === 'shell-bar' ? 'compact' : this.variant;\n }\n\n private get dividerVisible(): boolean {\n return this.compact ? (this.showCompactDivider ?? this.showDivider) : this.showDivider;\n }\n\n private get expandedBreadcrumbItems(): BreadcrumbItem[] {\n if (this.breadcrumbs.length > 0) return this.breadcrumbs;\n if (!this.showBack) return [];\n return [\n {\n id: 'back',\n label: this.backLabel,\n ariaLabel: this.backAriaLabel,\n },\n ];\n }\n\n /** Tooltip copy is fixed and generic; backAriaLabel/actionsAriaLabel stay page-specific. */\n private get backTooltipLabel(): string {\n return 'Go back';\n }\n\n private get primaryCollapsed(): boolean {\n return (\n this.actionItems === undefined &&\n this.effectiveVariant === 'constrained' &&\n this.primaryAction !== null &&\n (this.primaryAction.collapse ?? 'auto') === 'auto'\n );\n }\n\n private get selectableSections(): BarTitleSection[] {\n return this.sections.filter((item): item is BarTitleSection => !isBarTitleDivider(item));\n }\n\n private get hasSectionSelector(): boolean {\n return this.selectableSections.length > 1;\n }\n\n private get effectiveValue(): string {\n return this.selectableSections.some(section => section.id === this.value)\n ? this.value\n : (this.selectableSections[0]?.id ?? '');\n }\n\n private get selectedSectionLabel(): string {\n return this.selectableSections.find(section => section.id === this.effectiveValue)?.label ?? '';\n }\n\n private get sectionTriggerAriaLabel(): string {\n return `${this.sectionsAriaLabel}. Current section: ${this.selectedSectionLabel}`;\n }\n\n private groupsFromSections(): MenuSection[] {\n const groups: MenuSection[] = [];\n let items: MenuItemData[] = [];\n const commit = () => {\n if (items.length > 0) groups.push({ items });\n items = [];\n };\n\n for (const item of this.sections) {\n if (isBarTitleDivider(item)) {\n commit();\n } else {\n items.push({\n label: item.label,\n value: item.id,\n isSelected: item.id === this.effectiveValue,\n isInactive: item.isInactive,\n });\n }\n }\n commit();\n return groups;\n }\n\n private get sectionMenuSections(): MenuSection[] {\n return this.groupsFromSections();\n }\n\n private get resolvedActionItems(): BarTitleActionConfigItem[] {\n return resolveBarTitleActionItems(this.actionItems, this.primaryAction, this.actions);\n }\n\n private get visibleActions(): BarTitleActionConfigItem[] {\n return visibleBarTitleActions(this.resolvedActionItems, this.effectiveVariant);\n }\n\n private get actionMenuSections(): MenuSection[] {\n return overflowBarTitleActionSections(this.resolvedActionItems, this.effectiveVariant);\n }\n\n private get showActionMenuTrigger(): boolean {\n return this.actionMenuSections.length > 0;\n }\n\n private get availableActionMenuIds(): Set<string> {\n const ids = new Set<string>();\n if (this.showActionMenuTrigger) ids.add('__overflow');\n for (const item of this.visibleActions) {\n if (!isBarTitleDivider(item) && (item.type === 'menu' || item.type === 'split')) {\n ids.add(item.id);\n }\n }\n return ids;\n }\n\n private actionMenuDomId(id: string): string {\n const index = this.resolvedActionItems.findIndex(\n item => !isBarTitleDivider(item) && item.id === id\n );\n return `bar-title-action-menu-${this.instanceId}-${index}`;\n }\n\n private actionMenuAnchor(id: string): HTMLElement | undefined {\n if (id === '__overflow') return this.actionTriggerEl ?? undefined;\n const trigger = this.actionTriggerEls.get(id);\n if (!trigger) return undefined;\n const splitMenu = trigger.querySelector<HTMLElement>('.ds-button-split__menu');\n return splitMenu ?? trigger;\n }\n\n private menuSectionsForAction(action: BarTitleMenuAction | BarTitleSplitAction): MenuSection[] {\n return barTitleChoiceSections(action.choices);\n }\n\n private toggleSectionMenu = (event: MouseEvent) => {\n this.sectionMenuInitialFocusVisible = event.detail === 0;\n this.openActionMenuId = '';\n this.sectionMenuOpen = !this.sectionMenuOpen;\n if (this.sectionMenuOpen) this.sectionSurfaceOpen = true;\n };\n\n private closeSectionMenu = () => {\n this.sectionMenuOpen = false;\n };\n\n private handleSectionSelect = (event: CustomEvent<MenuItemData>) => {\n const id = String(event.detail?.value ?? '');\n const selected = this.selectableSections.find(section => section.id === id);\n if (!selected || selected.isInactive) return;\n this.closeSectionMenu();\n this.dsSectionChange.emit(id);\n requestAnimationFrame(() => this.sectionTriggerEl?.focus());\n };\n\n private toggleActionMenu = (id: string, event: MouseEvent) => {\n this.actionMenuInitialFocusVisible = event.detail === 0;\n this.sectionMenuOpen = false;\n this.openActionMenuId = this.openActionMenuId === id ? '' : id;\n if (this.openActionMenuId) this.surfaceActionMenuId = this.openActionMenuId;\n };\n\n private finishActionMenuClose = (event: CustomEvent<void>) => {\n const id = this.surfaceActionMenuId;\n const domId = id === '__overflow' ? this.actionMenuId : this.actionMenuDomId(id);\n if (this.openActionMenuId !== id && (event.target as HTMLElement).id === domId) {\n this.surfaceActionMenuId = '';\n }\n };\n\n private closeActionMenu = () => {\n this.openActionMenuId = '';\n };\n\n private handleActionSelect = (event: CustomEvent<MenuItemData>) => {\n const id = String(event.detail?.value ?? '');\n const action = findBarTitleAction(this.resolvedActionItems, id);\n if (!action || action.isInactive || ('isLoading' in action && action.isLoading)) return;\n const menuId = this.openActionMenuId;\n this.closeActionMenu();\n this.dsAction.emit(id);\n requestAnimationFrame(() => {\n if (menuId === '__overflow') {\n void this.actionTriggerEl?.setFocus?.();\n return;\n }\n const trigger = this.actionTriggerEls.get(menuId);\n if ('setFocus' in (trigger ?? {})) {\n const split = this.resolvedActionItems.some(\n item => !isBarTitleDivider(item) && item.id === menuId && item.type === 'split'\n );\n void trigger?.setFocus?.(split ? 'menu' : undefined);\n }\n });\n };\n\n private renderSectionSelector() {\n if (!this.hasSectionSelector) return null;\n return [\n <div class=\"bar-title__divider\" aria-hidden=\"true\" />,\n <div class=\"bar-title__section-selector\">\n <button\n ref={el => {\n this.sectionTriggerEl = el ?? null;\n }}\n id={this.sectionMenuTriggerId}\n class={{\n 'bar-title__section-trigger': true,\n 'bar-title__section-trigger--expanded': this.sectionMenuOpen,\n 'ds-interaction-fill--surface-open': this.sectionSurfaceOpen,\n 'ds-control--md': true,\n 'ds-focus-ring-inset': true,\n 'ds-interaction-fill': true,\n }}\n type=\"button\"\n aria-haspopup=\"menu\"\n aria-controls={this.sectionMenuId}\n aria-expanded={String(this.sectionMenuOpen)}\n aria-label={this.sectionTriggerAriaLabel}\n onClick={this.toggleSectionMenu}\n >\n <ds-text\n class=\"bar-title__section-label ds-interaction-fill__content\"\n as=\"span\"\n variant=\"text-body-medium\"\n emphasis\n color=\"primary\"\n lineTruncation={1}\n >\n {this.selectedSectionLabel}\n </ds-text>\n <ds-icon\n class=\"bar-title__section-chevron ds-interaction-fill__content\"\n name=\"ChevronUpDown\"\n size=\"md\"\n color=\"inherit\"\n aria-hidden=\"true\"\n />\n </button>\n </div>,\n ];\n }\n\n private renderVisibleAction(action: BarTitleActionConfigItem) {\n if (isBarTitleDivider(action) || action.type === 'overflow') return null;\n const appearance = action.appearance ?? (action.type === 'split' ? 'filled' : 'unfilled');\n const variant: 'icon' | 'icon-label' | 'label' =\n action.type === 'icon' ? 'icon' : action.icon ? 'icon-label' : 'label';\n const menu = action.type === 'menu';\n const menuId = menu ? this.actionMenuDomId(action.id) : undefined;\n\n if (action.type === 'split') {\n const splitMenuId = this.actionMenuDomId(action.id);\n const splitProps = {\n key: action.id,\n ref: (el: FocusableButton | undefined) => {\n if (el) this.actionTriggerEls.set(action.id, el);\n else this.actionTriggerEls.delete(action.id);\n },\n class: 'bar-title__action bar-title__split-action',\n split: true,\n variant,\n label: action.label,\n icon: action.icon ?? '',\n menuAriaLabel: action.menuAriaLabel,\n controls: splitMenuId,\n expanded: this.openActionMenuId === action.id,\n surfaceOpen: this.surfaceActionMenuId === action.id,\n size: 'md' as const,\n type: action.buttonType ?? 'button',\n isInactive: action.isInactive,\n isLoading: action.isLoading,\n onDsClick: () => this.dsAction.emit(action.id),\n onDsMenuClick: (event: CustomEvent<MouseEvent>) =>\n this.toggleActionMenu(action.id, event.detail),\n };\n return appearance === 'filled' ? (\n <ds-button-filled\n {...splitProps}\n intent={action.intent ?? 'brand'}\n contrast={action.contrast ?? 'bold'}\n />\n ) : (\n <ds-button-unfilled {...splitProps} />\n );\n }\n\n const buttonProps = {\n key: action.id,\n ref: (el: FocusableButton | undefined) => {\n if (el) this.actionTriggerEls.set(action.id, el);\n else this.actionTriggerEls.delete(action.id);\n },\n class: `bar-title__action bar-title__action--${action.type}${\n this.actionItems === undefined && action.id === this.primaryAction?.id\n ? ' bar-title__primary-action'\n : ''\n }`,\n variant,\n icon: action.icon ?? '',\n label: action.label,\n ariaLabel: action.ariaLabel ?? (action.type === 'icon' ? action.label : undefined),\n size: 'md' as const,\n type: action.buttonType ?? 'button',\n isInactive: action.isInactive,\n isLoading: action.isLoading,\n controls: menuId,\n expanded: menu ? this.openActionMenuId === action.id : undefined,\n surfaceOpen: menu && this.surfaceActionMenuId === action.id,\n hasMenu: menu,\n onDsClick: (event: CustomEvent<MouseEvent>) => {\n if (menu) this.toggleActionMenu(action.id, event.detail);\n else this.dsAction.emit(action.id);\n },\n };\n\n const button =\n appearance === 'filled' ? (\n <ds-button-filled\n {...buttonProps}\n intent={action.intent ?? 'brand'}\n contrast={action.contrast ?? 'bold'}\n />\n ) : (\n <ds-button-unfilled {...buttonProps} />\n );\n\n return action.type === 'icon' ? (\n <ds-tooltip key={action.id} label={action.label} side=\"bottom\" size=\"sm\">\n {button}\n </ds-tooltip>\n ) : (\n button\n );\n }\n\n private renderActions() {\n if (this.visibleActions.length === 0 && !this.showActionMenuTrigger) return null;\n\n return (\n <div class=\"bar-title__actions\">\n {this.visibleActions.map(action => this.renderVisibleAction(action))}\n {this.showActionMenuTrigger ? (\n <ds-tooltip label=\"Page options\" side=\"bottom\" size=\"sm\">\n <ds-button-unfilled\n ref={el => {\n this.actionTriggerEl = el ?? null;\n }}\n id={this.actionMenuTriggerId}\n class=\"bar-title__more-actions\"\n variant=\"icon\"\n icon=\"Ellipses\"\n aria-label={this.actionsAriaLabel}\n size=\"md\"\n activeFill={!this.compact}\n hasBorder={this.visibleActions.length > 0}\n haspopup=\"menu\"\n controls={this.actionMenuId}\n expanded={this.openActionMenuId === '__overflow'}\n surfaceOpen={this.surfaceActionMenuId === '__overflow'}\n onDsClick={(event: CustomEvent<MouseEvent>) =>\n this.toggleActionMenu('__overflow', event.detail)\n }\n />\n </ds-tooltip>\n ) : null}\n </div>\n );\n }\n\n private renderActionMenus() {\n return this.visibleActions.flatMap(action => {\n if (isBarTitleDivider(action) || (action.type !== 'menu' && action.type !== 'split')) {\n return [];\n }\n const menuLabel = action.menuAriaLabel ?? action.ariaLabel ?? action.label;\n return [\n <ds-menu\n key={action.id}\n id={this.actionMenuDomId(action.id)}\n class=\"bar-title__action-menu\"\n anchor={this.actionMenuAnchor(action.id)}\n align=\"end\"\n menuLabel={menuLabel}\n open={this.openActionMenuId === action.id}\n initialFocusVisible={this.actionMenuInitialFocusVisible}\n sections={this.menuSectionsForAction(action)}\n onDsClose={this.closeActionMenu}\n onDsAfterClose={this.finishActionMenuClose}\n onDsSelect={this.handleActionSelect}\n />,\n ];\n });\n }\n\n private handleBreadcrumbSelect = (event: CustomEvent<BreadcrumbSelectDetail>) => {\n if (this.breadcrumbs.length === 0) {\n this.dsBack.emit(event.detail.originalEvent);\n return;\n }\n const forwarded = this.dsBreadcrumbSelect.emit(event.detail);\n if (forwarded.defaultPrevented) event.preventDefault();\n };\n\n private renderBreadcrumb() {\n const items = this.expandedBreadcrumbItems;\n if (items.length === 0) return null;\n return (\n <ds-breadcrumb\n class=\"bar-title__breadcrumb\"\n items={items}\n ariaLabel={this.breadcrumbAriaLabel}\n onDsSelect={this.handleBreadcrumbSelect}\n />\n );\n }\n\n private renderBack() {\n if (!this.showBack) return null;\n return (\n <ds-tooltip label={this.backTooltipLabel} side=\"bottom\" size=\"sm\">\n <ds-button-unfilled\n class=\"bar-title__back\"\n variant=\"icon\"\n icon=\"ChevronLeft\"\n aria-label={this.backAriaLabel}\n size=\"md\"\n activeFill={false}\n hasBorder={false}\n onDsClick={(event: CustomEvent<MouseEvent>) => this.dsBack.emit(event.detail)}\n />\n </ds-tooltip>\n );\n }\n\n render() {\n const compact = this.compact;\n return (\n <Host\n class={{\n 'bar-title-host--compact': compact,\n 'bar-title-host--expanded': this.effectiveVariant === 'expanded',\n 'bar-title-host--constrained': this.effectiveVariant === 'constrained',\n 'bar-title-host--has-description': !!this.description,\n 'bar-title-host--has-back': this.showBack,\n 'bar-title-host--has-breadcrumb': !compact && this.expandedBreadcrumbItems.length > 0,\n 'bar-title-host--shell-bar': this.placement === 'shell-bar',\n }}\n >\n <div\n class={{\n 'bar-title': true,\n 'bar-title--divider-hidden': !this.dividerVisible,\n 'ds-chrome-header': compact,\n }}\n >\n <div class=\"bar-title__inner\">\n {!compact ? this.renderBreadcrumb() : null}\n <div class=\"bar-title__row\">\n <div class=\"bar-title__leading\">\n <div class=\"bar-title__title-row\" data-shell-page-header-anchor>\n <div class=\"bar-title__identity\">\n {compact ? this.renderBack() : null}\n <ds-text\n class=\"bar-title__heading ds-control--md\"\n variant={compact ? 'text-title-small' : 'text-title-medium'}\n emphasis\n color=\"primary\"\n as=\"h1\"\n lineTruncation={1}\n >\n {this.heading}\n </ds-text>\n </div>\n {this.renderSectionSelector()}\n </div>\n {this.description && !compact ? (\n <ds-text\n class=\"bar-title__description\"\n variant=\"text-body-small\"\n color=\"secondary\"\n lineTruncation={2}\n wrap=\"wrap\"\n as=\"p\"\n >\n {this.description}\n </ds-text>\n ) : null}\n </div>\n {this.renderActions()}\n </div>\n </div>\n </div>\n\n {this.hasSectionSelector ? (\n <ds-menu\n id={this.sectionMenuId}\n class=\"bar-title__section-menu\"\n anchorId={this.sectionMenuTriggerId}\n menuLabel={this.sectionsAriaLabel}\n open={this.sectionMenuOpen}\n initialFocusVisible={this.sectionMenuInitialFocusVisible}\n sections={this.sectionMenuSections}\n onDsClose={this.closeSectionMenu}\n onDsAfterClose={() => {\n if (!this.sectionMenuOpen) this.sectionSurfaceOpen = false;\n }}\n onDsSelect={this.handleSectionSelect}\n />\n ) : null}\n\n {this.renderActionMenus()}\n\n {this.showActionMenuTrigger ? (\n <ds-menu\n id={this.actionMenuId}\n class=\"bar-title__action-menu\"\n anchorId={this.actionMenuTriggerId}\n align=\"end\"\n menuLabel={this.actionsAriaLabel}\n open={this.openActionMenuId === '__overflow'}\n initialFocusVisible={this.actionMenuInitialFocusVisible}\n sections={this.actionMenuSections}\n onDsClose={this.closeActionMenu}\n onDsAfterClose={this.finishActionMenuClose}\n onDsSelect={this.handleActionSelect}\n />\n ) : null}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{p as e,H as i,c as t,h as n,a as s,t as r}from"./index.js";import{o,d}from"./p--yvQzZoO.js";import{A as a,r as c}from"./p-DjF2m7bf.js";import{r as l,A as u}from"./p-etg-Uk1u.js";import{C as f,a as h}from"./p-BEttT0UB.js";import{d as m}from"./p-CzbsTZt7.js";import{d as g}from"./p-rSC7ZUpy.js";import{d as p}from"./p-CysCSinT.js";import{d as v}from"./p-BFHWoNH3.js";import{d as b}from"./p-Cea7rROU.js";import{d as y}from"./p-Cr5vn5JO.js";import{d as x}from"./p-0XTyQNRG.js";import{d as _}from"./p-Crd3PEUx.js";import{d as w}from"./p-BGnRFtBa.js";import{d as k}from"./p-aMyflqva.js";import{d as C}from"./p-CN8PQLZu.js";import{b as z,a as $,T as D}from"./p-CUL5_8JM.js";import{r as I}from"./p-CochmPyg.js";import{C as F}from"./p-CuwopElg.js";import{c as j}from"./p-DuFm-ieS.js";const T=[{label:"Today",value:"today",days:1,offset:0},{label:"Yesterday",value:"yesterday",days:1,offset:-1},{label:"Last 7 days",value:"last-7-days",days:7,offset:0},{label:"Last 14 days",value:"last-14-days",days:14,offset:0},{label:"Last 30 days",value:"last-30-days",days:30,offset:0},{label:"Last 60 days",value:"last-60-days",days:60,offset:0},{label:"Last 90 days",value:"last-90-days",days:90,offset:0}];const A=/^\d{4}-\d{2}-\d{2}$/;function L(e){if(!A.test(e))return false;const[i,t,n]=e.split("-").map(Number);const s=new Date(Date.UTC(i,t-1,n));return s.getUTCFullYear()===i&&s.getUTCMonth()===t-1&&s.getUTCDate()===n}function O(e,i){if(!L(e))return"";const[t,n,s]=e.split("-").map(Number);const r=new Date(Date.UTC(t,n-1,s+i));return r.toISOString().slice(0,10)}function P(e){return`relative:${e}`}function S(e,i=e){const t=e<=i?[e,i]:[i,e];return`range:${t[0]}/${t[1]}`}function R(e){if(typeof e!=="string"||!e)return null;if(e.startsWith("relative:")){const i=e.slice("relative:".length);return T.some((e=>e.value===i))?{kind:"relative",preset:i}:null}if(e.startsWith("range:")){const[i,t,...n]=e.slice("range:".length).split("/");if(n.length||!L(i)||!L(t))return null;return i<=t?{kind:"range",start:i,end:t}:{kind:"range",start:t,end:i}}return L(e)?{kind:"range",start:e,end:e}:null}const E=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const B=new Intl.DateTimeFormat("en-US",{month:"long",year:"numeric",timeZone:"UTC"});const M=new Intl.DateTimeFormat("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric",timeZone:"UTC"});function H(){const e=new Date;const i=e.getFullYear();const t=String(e.getMonth()+1).padStart(2,"0");const n=String(e.getDate()).padStart(2,"0");return`${i}-${t}-${n}`}function K(e){return L(e)?e.slice(0,7):H().slice(0,7)}function U(e,i){const[t,n]=e.split("-").map(Number);const s=new Date(Date.UTC(t,n-1+i,1));return`${s.getUTCFullYear()}-${String(s.getUTCMonth()+1).padStart(2,"0")}`}function N(e){const[i,t]=e.split("-").map(Number);return B.format(new Date(Date.UTC(i,t-1,1)))}function Z(e){const[i,t]=e.split("-").map(Number);const n=`${i}-${String(t).padStart(2,"0")}-01`;const s=new Date(`${n}T00:00:00Z`).getUTCDay();const r=O(n,-s);return Array.from({length:42},((i,t)=>{const n=O(r,t);const s=new Date(`${n}T00:00:00Z`);return{value:n,day:s.getUTCDate(),inMonth:n.startsWith(`${e}-`),label:M.format(s)}}))}const q=()=>`@media (forced-colors: active){.sc-ds-filter-menu:root,.sc-ds-filter-menu-h,.ds-forced-colors-scope.sc-ds-filter-menu{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.sc-ds-filter-menu-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-filter-menu-h,.ds-focus-ring.sc-ds-filter-menu,.ds-focus-ring-inset.sc-ds-filter-menu-h,.ds-focus-ring-inset.sc-ds-filter-menu{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-filter-menu-h:focus-visible,.ds-focus-ring.sc-ds-filter-menu: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-filter-menu-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-filter-menu{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-filter-menu-h:focus-visible,.ds-focus-ring-inset.sc-ds-filter-menu:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-filter-menu-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-filter-menu: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-filter-menu-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-filter-menu{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-filter-menu-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-filter-menu::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}@media (forced-colors: active){.sc-ds-filter-menu-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-filter-menu:root,.sc-ds-filter-menu-h,.ds-forced-colors-scope.sc-ds-filter-menu{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}@media (forced-colors: active){.sc-ds-filter-menu:root,.sc-ds-filter-menu-h,.ds-forced-colors-scope.sc-ds-filter-menu{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.ds-interaction-fill.sc-ds-filter-menu-h,.ds-interaction-fill.sc-ds-filter-menu{position:var(--ds-interaction-position, relative);z-index:var(--ds-interaction-z-index, 0);cursor:default;--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-divider-width:0px;--ds-interaction-divider-color:transparent;--ds-interaction-divider-inline-start-width:0px;--ds-interaction-divider-inline-start-color:transparent;--ds-interaction-divider-inline-end-width:0px;--ds-interaction-divider-inline-end-color:transparent}.ds-interaction-fill.sc-ds-filter-menu-h::before,.ds-interaction-fill.sc-ds-filter-menu::before,.ds-interaction-fill.sc-ds-filter-menu-h::after,.ds-interaction-fill.sc-ds-filter-menu::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;cursor:inherit;transition:none}.ds-interaction-fill.sc-ds-filter-menu-h::before,.ds-interaction-fill.sc-ds-filter-menu::before{z-index:1}.ds-interaction-fill.sc-ds-filter-menu-h::after,.ds-interaction-fill.sc-ds-filter-menu::after{z-index:3;box-shadow:inset 0 calc(-1 * var(--ds-interaction-divider-width)) 0 var(--ds-interaction-divider-color), inset var(--ds-interaction-divider-inline-start-width) 0 0 var(--ds-interaction-divider-inline-start-color), inset calc(-1 * var(--ds-interaction-divider-inline-end-width)) 0 0 var(--ds-interaction-divider-inline-end-color), inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.ds-interaction-fill--bordered.sc-ds-filter-menu-h,.ds-interaction-fill--bordered.sc-ds-filter-menu{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-filter-menu-h::before,.ds-interaction-fill--selected.sc-ds-filter-menu::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-filter-menu-h,.ds-interaction-fill--selected.sc-ds-filter-menu{--ds-interaction-dot-ring:var(--ds-interaction-active)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-filter-menu-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-filter-menu:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}}.ds-interaction-fill.sc-ds-filter-menu-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-filter-menu:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill--grouped.sc-ds-filter-menu-h::after,.ds-interaction-fill--grouped.sc-ds-filter-menu::after,.ds-interaction-fill--grouped.sc-ds-filter-menu-h:active:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-filter-menu:active:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill--grouped.sc-ds-filter-menu-h:hover:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-filter-menu:hover:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}}.ds-interaction-fill--grouped.sc-ds-filter-menu-h,.ds-interaction-fill--grouped.sc-ds-filter-menu{--ds-interaction-divider-width:var(--ds-interaction-group-divider-width, 0px);--ds-interaction-divider-color:var(--ds-interaction-group-divider-color, transparent);--ds-interaction-divider-inline-start-width:var( --ds-interaction-group-divider-inline-start-width, 0px );--ds-interaction-divider-inline-start-color:var( --ds-interaction-group-divider-inline-start-color, transparent );--ds-interaction-divider-inline-end-width:var( --ds-interaction-group-divider-inline-end-width, 0px );--ds-interaction-divider-inline-end-color:var( --ds-interaction-group-divider-inline-end-color, transparent )}.ds-interaction-fill.sc-ds-filter-menu-h>.ds-interaction-fill__content.sc-ds-filter-menu,.ds-interaction-fill.sc-ds-filter-menu>.ds-interaction-fill__content.sc-ds-filter-menu,.ds-interaction-fill__content.sc-ds-filter-menu{position:relative;z-index:2;cursor:inherit}.ds-interaction-fill--on-faint.sc-ds-filter-menu-h,.ds-interaction-fill--on-faint.sc-ds-filter-menu{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-filter-menu-h,.ds-interaction-fill--on-medium.sc-ds-filter-menu{--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-filter-menu-h,.ds-interaction-fill--on-bold.sc-ds-filter-menu{--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-filter-menu-h,.ds-interaction-fill--on-strong.sc-ds-filter-menu{--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-filter-menu-h,.ds-interaction-fill--on-translucent.sc-ds-filter-menu{--ds-interaction-hover:var(--color-translucent-interaction-hover);--ds-interaction-pressed:var(--color-translucent-interaction-pressed);--ds-interaction-active:var(--color-translucent-interaction-active-brand);--ds-focus-ring-color:var(--color-translucent-interaction-focus)}.ds-interaction-fill--on-inverted.sc-ds-filter-menu-h,.ds-interaction-fill--on-inverted.sc-ds-filter-menu{--ds-interaction-hover:var(--color-inverted-interaction-hover);--ds-interaction-pressed:var(--color-inverted-interaction-pressed);--ds-interaction-active:var(--color-inverted-interaction-active-brand);--ds-focus-ring-color:var(--color-inverted-interaction-focus)}.ds-interaction-fill--on-media.sc-ds-filter-menu-h,.ds-interaction-fill--on-media.sc-ds-filter-menu{--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-filter-menu-h,.ds-interaction-fill--on-always-dark.sc-ds-filter-menu{--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-brand);--ds-focus-ring-color:var(--color-always-dark-interaction-focus)}.ds-interaction-fill--on-navigation.sc-ds-filter-menu-h,.ds-interaction-fill--on-navigation.sc-ds-filter-menu{--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-interaction-fill.ds-interaction-fill--surface-open.sc-ds-filter-menu-h:not(:disabled)::after,.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-filter-menu:not(:disabled)::after{background:var(--ds-interaction-pressed)}@media (forced-colors: active){.ds-interaction-fill.sc-ds-filter-menu-h::after,.ds-interaction-fill.sc-ds-filter-menu::after{box-shadow:none;outline:var(--ds-interaction-border-width) solid var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--ds-interaction-border-width))}.ds-interaction-fill--surface-open.sc-ds-filter-menu-h:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill--surface-open.sc-ds-filter-menu:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline:var(--dimension-stroke-width-025) dashed var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}.ds-interaction-fill--selected.sc-ds-filter-menu-h::before,.ds-interaction-fill--selected.sc-ds-filter-menu::before{background:transparent;outline:var(--dimension-stroke-width-025) solid var(--ds-forced-color-selected);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}}@media (forced-colors: active) and (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-filter-menu-h:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill.sc-ds-filter-menu:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline-color:var(--ds-forced-color-selected);outline-width:var(--dimension-stroke-width-012)}}@media (forced-colors: active){.sc-ds-filter-menu:root,.sc-ds-filter-menu-h,.ds-forced-colors-scope.sc-ds-filter-menu{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.ds-control-inactive.sc-ds-filter-menu-h,.ds-control-inactive.sc-ds-filter-menu{opacity:var(--effect-opacity-medium);pointer-events:none;cursor:not-allowed}@media (forced-colors: active){.ds-control-inactive.sc-ds-filter-menu-h,.ds-control-inactive.sc-ds-filter-menu{color:var(--ds-forced-color-disabled);opacity:1}}.ds-control--lg.sc-ds-filter-menu,.ds-control--lg.sc-ds-filter-menu-h,.ds-control--md.sc-ds-filter-menu-h,.ds-control--md.sc-ds-filter-menu,.ds-control--sm.sc-ds-filter-menu-h,.ds-control--sm.sc-ds-filter-menu,.ds-control--xs.sc-ds-filter-menu-h,.ds-control--xs.sc-ds-filter-menu{--ds-control-radius:var(--dimension-radius-025)}.ds-control--lg.sc-ds-filter-menu-h,.ds-control--lg.sc-ds-filter-menu{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-filter-menu-h,.ds-control--md.sc-ds-filter-menu{--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--sm.sc-ds-filter-menu-h,.ds-control--sm.sc-ds-filter-menu{--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--xs.sc-ds-filter-menu-h,.ds-control--xs.sc-ds-filter-menu{--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-chrome-space--sm.sc-ds-filter-menu-h,.ds-chrome-space--sm.sc-ds-filter-menu{--ds-chrome-padding:var(--dimension-space-050);--ds-chrome-gap:var(--dimension-space-050)}.ds-chrome-space--md.sc-ds-filter-menu-h,.ds-chrome-space--md.sc-ds-filter-menu{--ds-chrome-padding:var(--dimension-space-100);--ds-chrome-gap:var(--dimension-space-100)}.ds-chrome-space--lg.sc-ds-filter-menu-h,.ds-chrome-space--lg.sc-ds-filter-menu{--ds-chrome-padding:var(--dimension-space-200);--ds-chrome-gap:var(--dimension-space-200)}.ds-chrome-row.sc-ds-filter-menu-h,.ds-chrome-row.sc-ds-filter-menu,.ds-chrome-column.sc-ds-filter-menu-h,.ds-chrome-column.sc-ds-filter-menu,.ds-chrome-grid.sc-ds-filter-menu-h,.ds-chrome-grid.sc-ds-filter-menu{display:flex;box-sizing:border-box;gap:var(--ds-chrome-gap, var(--dimension-space-100));padding:var(--ds-chrome-padding, var(--dimension-space-100))}.ds-chrome-row.sc-ds-filter-menu-h,.ds-chrome-row.sc-ds-filter-menu{flex-direction:row;align-items:center}.ds-chrome-column.sc-ds-filter-menu-h,.ds-chrome-column.sc-ds-filter-menu{flex-direction:column}.ds-chrome-grid.sc-ds-filter-menu-h,.ds-chrome-grid.sc-ds-filter-menu{display:grid;align-items:center}.ds-control-frame.sc-ds-filter-menu{display:inline-flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding-inline:var(--ds-control-padding-inline, var(--dimension-space-075));gap:var(--ds-control-gap, var(--dimension-space-050));border-radius:var(--ds-control-radius, var(--dimension-radius-025))}.ds-control-section-heading.sc-ds-filter-menu{display:flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding-inline:calc( var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) )}.ds-control-icon-box.sc-ds-filter-menu{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md))}.ds-control-label-box.sc-ds-filter-menu{min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025))}.ds-control-label-dot.sc-ds-filter-menu{position:relative;padding-inline-end:calc( var(--ds-control-label-inset, var(--dimension-space-025)) + var(--ds-control-gap, var(--dimension-space-050)) )}.ds-control-label-dot__badge.sc-ds-filter-menu{position:absolute;inset-block-start:0;inset-inline-end:0;pointer-events:none}.ds-empty-region.sc-ds-filter-menu{display:flex;flex:1 1 auto;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;min-height:0}.ds-empty-region--padded.sc-ds-filter-menu{padding:var(--dimension-space-200)}.sc-ds-filter-menu:where(.ds-text-decoration,.ds-text-action).sc-ds-filter-menu{text-decoration-color:var(--ds-text-decoration-color, var(--color-foreground-tertiary));text-decoration-thickness:var(--ds-text-decoration-thickness, var(--dimension-stroke-width-012));text-underline-offset:var(--ds-text-decoration-offset, var(--dimension-space-025))}.ds-text-action.sc-ds-filter-menu{--ds-text-action-foreground:var(--color-foreground-bold-brand);--ds-text-decoration-color:var(--ds-text-action-foreground);color:var(--ds-text-action-foreground);text-decoration-line:none}.ds-text-action--on-medium.sc-ds-filter-menu{--ds-text-action-foreground:var(--color-foreground-on-medium-background-primary);--ds-text-decoration-color:var(--color-foreground-on-medium-background-secondary);text-decoration-line:underline}.ds-text-action--on-strong.sc-ds-filter-menu{--ds-text-action-foreground:var(--color-foreground-on-strong-background-primary);--ds-text-decoration-color:var(--color-foreground-on-strong-background-secondary);text-decoration-line:underline}.ds-text-action--on-bold.sc-ds-filter-menu{--ds-text-action-foreground:var(--color-foreground-on-bold-background-primary);--ds-text-decoration-color:var(--color-foreground-on-bold-background-secondary);text-decoration-line:underline}@media (hover: hover) and (pointer: fine){.ds-text-action.sc-ds-filter-menu:hover{text-decoration-line:underline}}@media (forced-colors: active){.ds-text-action.sc-ds-filter-menu{text-decoration-line:underline;text-decoration-color:currentcolor}}.ds-choice-popup.sc-ds-filter-menu{box-sizing:border-box;display:flex;flex-direction:column;min-width:var(--ds-choice-popup-min-inline-size, var(--dimension-menu-width-xs));max-width:min(var(--dimension-panel-width-lg), calc(100vw - var(--dimension-space-200)));max-height:calc(100vh - var(--dimension-space-200));overflow:hidden;inset:auto;margin:0;padding:0;border:0;background-color:var(--color-background-primary);border-radius:var(--dimension-radius-075);box-shadow:var(--effect-shadow-elevated-floating);color:var(--color-foreground-secondary);animation:dsChoiceFadeIn var(--effect-motion-short-2) forwards;backface-visibility:hidden;will-change:transform;text-align:start}.ds-choice-popup.sc-ds-filter-menu::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:var(--effect-highlight-elevated-floating)}.ds-choice-popup--closing.sc-ds-filter-menu{animation:dsChoiceFadeOut var(--effect-motion-short-2) forwards}@keyframes dsChoiceFadeIn{from{opacity:0;transform:inherit scale(0.97)}to{opacity:1}}@keyframes dsChoiceFadeOut{from{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.ds-choice-popup.sc-ds-filter-menu{animation:none;opacity:1}.ds-choice-popup--closing.sc-ds-filter-menu{opacity:0}}.ds-choice-list.sc-ds-filter-menu{display:flex;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior:contain}.ds-choice-section--divided.sc-ds-filter-menu{border-bottom:var(--dimension-stroke-width-015) solid var(--color-border-tertiary)}ds-text.ds-choice-section__header.sc-ds-filter-menu{text-align:start;-webkit-user-select:none;user-select:none}.ds-choice-section--headed-after-first.sc-ds-filter-menu{margin-block-start:var(--dimension-space-050)}.ds-choice-item.sc-ds-filter-menu{width:100%;border:none;border-radius:var(--ds-control-radius, var(--dimension-radius-025));background:transparent;cursor:default;-webkit-user-select:none;user-select:none;text-align:left;color:inherit}.ds-choice-item.sc-ds-filter-menu:has(.ds-choice-item__subtext){height:auto;min-height:var(--ds-control-height, var(--dimension-size-400));padding-block:var(--ds-control-padding-inline, var(--dimension-space-075));align-items:flex-start}.ds-choice-item__content.sc-ds-filter-menu{display:flex;flex:1;flex-direction:column;gap:var(--dimension-space-025);min-width:0}ds-text.ds-choice-item__label.sc-ds-filter-menu{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ds-text.ds-choice-item__subtext.sc-ds-filter-menu{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ds-choice-item__icon.sc-ds-filter-menu,.ds-choice-item__suffix.sc-ds-filter-menu{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md));pointer-events:none}.ds-choice-item.ds-interaction-fill--selected.sc-ds-filter-menu .ds-choice-item__icon.sc-ds-filter-menu{color:var(--color-foreground-primary)}.ds-choice-item__tag.sc-ds-filter-menu{flex-shrink:0;pointer-events:none}.ds-choice-empty.sc-ds-filter-menu,.ds-choice-loading.sc-ds-filter-menu{min-height:var(--dimension-size-600);padding:var(--dimension-space-100)}.ds-choice-footer.sc-ds-filter-menu{position:relative;box-sizing:border-box;padding-block:var(--dimension-space-050)}.ds-choice-footer.sc-ds-filter-menu::before{content:'';position:absolute;inset:0 0 auto;height:var(--dimension-stroke-width-012);background-color:var(--color-border-tertiary);pointer-events:none}.ds-choice-footer__content.sc-ds-filter-menu{display:flex;align-items:center;justify-content:space-between;column-gap:var(--dimension-space-050);box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400))}.ds-choice-footer__summary.sc-ds-filter-menu,.ds-choice-footer__summary-measure.sc-ds-filter-menu,.ds-choice-footer__clear.sc-ds-filter-menu ds-text.sc-ds-filter-menu,.ds-choice-footer__action.sc-ds-filter-menu ds-text.sc-ds-filter-menu{padding-inline:calc( var(--dimension-space-050) + var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) )}.ds-choice-footer__summary.sc-ds-filter-menu,.ds-choice-footer__summary-measure.sc-ds-filter-menu,.ds-choice-footer__clear.sc-ds-filter-menu,.ds-choice-footer__action.sc-ds-filter-menu{white-space:nowrap}.ds-choice-footer__summary-measure.sc-ds-filter-menu{position:absolute;visibility:hidden;pointer-events:none}.ds-choice-footer__clear.sc-ds-filter-menu,.ds-choice-footer__action.sc-ds-filter-menu{appearance:none;display:inline-flex;align-items:center;padding:0;border:0;border-radius:var(--dimension-radius-025);background:transparent;cursor:default}@media (forced-colors: active){.ds-choice-popup.sc-ds-filter-menu{outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);outline-offset:calc(-1 * var(--dimension-stroke-width-012))}.ds-choice-popup.sc-ds-filter-menu::after{box-shadow:none}.ds-choice-section--divided.sc-ds-filter-menu{border-bottom-color:var(--ds-forced-color-content)}.ds-choice-footer.sc-ds-filter-menu::before{background-color:var(--ds-forced-color-content)}}.ds-control--lg.sc-ds-filter-menu,.ds-control--lg.sc-ds-filter-menu-h,.ds-control--md.sc-ds-filter-menu-h,.ds-control--md.sc-ds-filter-menu,.ds-control--sm.sc-ds-filter-menu-h,.ds-control--sm.sc-ds-filter-menu,.ds-control--xs.sc-ds-filter-menu-h,.ds-control--xs.sc-ds-filter-menu{--ds-control-radius:var(--dimension-radius-025)}.ds-control--lg.sc-ds-filter-menu-h,.ds-control--lg.sc-ds-filter-menu{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-filter-menu-h,.ds-control--md.sc-ds-filter-menu{--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--sm.sc-ds-filter-menu-h,.ds-control--sm.sc-ds-filter-menu{--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--xs.sc-ds-filter-menu-h,.ds-control--xs.sc-ds-filter-menu{--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-chrome-header.sc-ds-filter-menu{display:flex;align-items:center;box-sizing:border-box;min-width:0;min-block-size:var(--dimension-size-600);padding:var(--dimension-space-100);gap:var(--dimension-space-100)}.ds-chrome-header--wrapping.sc-ds-filter-menu{flex-wrap:wrap}.ds-chrome-header--bounded.sc-ds-filter-menu{border-block-end:var(--dimension-stroke-width-012) solid var(--color-border-tertiary)}.ds-chrome-header__leading.sc-ds-filter-menu,.ds-chrome-header__trailing.sc-ds-filter-menu{display:flex;align-items:center;flex:0 0 auto;min-width:0}.ds-chrome-header__trailing.sc-ds-filter-menu{margin-inline-start:auto;gap:var(--dimension-space-100)}.ds-chrome-header__copy.sc-ds-filter-menu{display:flex;flex:1 1 0;min-width:0;padding:var(--ds-control-padding-inline, var(--dimension-space-075));box-sizing:border-box}.ds-chrome-header__copy--wrapping.sc-ds-filter-menu{align-items:baseline;flex-wrap:wrap;column-gap:var(--dimension-space-100);row-gap:var(--dimension-space-050)}.ds-chrome-header__copy--stacked.sc-ds-filter-menu{align-items:stretch;flex-direction:column;gap:var(--dimension-space-050)}.ds-chrome-header__heading.sc-ds-filter-menu,.ds-chrome-header__description.sc-ds-filter-menu{width:auto;min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025));box-sizing:border-box}.ds-chrome-header__heading.sc-ds-filter-menu{flex:0 1 auto}.ds-chrome-header__copy--wrapping.sc-ds-filter-menu .ds-chrome-header__description.sc-ds-filter-menu{flex:1 1 var(--dimension-card-width-xs)}.ds-control-frame.sc-ds-filter-menu{display:inline-flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding-inline:var(--ds-control-padding-inline, var(--dimension-space-075));gap:var(--ds-control-gap, var(--dimension-space-050));border-radius:var(--ds-control-radius, var(--dimension-radius-025))}.ds-control-section-heading.sc-ds-filter-menu{display:flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding-inline:calc( var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) )}.ds-control-icon-box.sc-ds-filter-menu{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md))}.ds-control-label-box.sc-ds-filter-menu{min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025))}.ds-control-label-dot.sc-ds-filter-menu{position:relative;padding-inline-end:calc( var(--ds-control-label-inset, var(--dimension-space-025)) + var(--ds-control-gap, var(--dimension-space-050)) )}.ds-control-label-dot__badge.sc-ds-filter-menu{position:absolute;inset-block-start:0;inset-inline-end:0;pointer-events:none}.ds-control-width--hug.sc-ds-filter-menu-h,.ds-control-width--hug.sc-ds-filter-menu{width:fit-content;max-width:100%;flex:0 0 auto}.ds-control-width--fill.sc-ds-filter-menu-h,.ds-control-width--fill.sc-ds-filter-menu{width:100%;min-width:0;flex:1 1 auto;align-self:stretch}.ds-select-trigger-host.sc-ds-filter-menu-h{display:inline-flex;position:relative;min-inline-size:0;outline:none;--ds-select-fg:var(--color-foreground-secondary);--ds-select-fg-active:var(--color-foreground-primary);--ds-select-prefix-fg:var(--ds-select-fg);--ds-select-chevron-fg:var(--ds-select-fg);--ds-select-border:var(--color-border-secondary)}.ds-control-width--fill.sc-ds-filter-menu-h .trigger.sc-ds-filter-menu{width:100%}.trigger.sc-ds-filter-menu{justify-content:flex-start;box-sizing:border-box;inline-size:100%;max-inline-size:100%;min-inline-size:0;background:transparent;border:none;border-radius:var(--ds-control-radius, var(--dimension-radius-025));color:var(--ds-select-fg);cursor:default;font-family:inherit;-webkit-user-select:none;user-select:none;overflow:hidden;transition:color var(--effect-motion-short-2)}.trigger--bordered.sc-ds-filter-menu{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--ds-select-border)}.trigger--has-value.sc-ds-filter-menu .trigger__label-box.sc-ds-filter-menu{color:var(--ds-select-fg-active)}.trigger--label-placeholder.sc-ds-filter-menu .trigger__label-box.sc-ds-filter-menu{color:var(--ds-select-fg)}.trigger__prefix.sc-ds-filter-menu,.trigger__chevron.sc-ds-filter-menu{position:relative;z-index:2}.trigger__prefix.sc-ds-filter-menu{color:var(--ds-select-prefix-fg)}.trigger__chevron.sc-ds-filter-menu{color:var(--ds-select-chevron-fg)}.trigger__label-box.sc-ds-filter-menu{position:relative;z-index:2;display:flex;align-items:center;flex:1 1 auto;overflow:hidden;text-align:left;color:inherit;transition:color var(--effect-motion-short-2)}.trigger__label-content.sc-ds-filter-menu{display:inline-flex;align-items:center;flex:1 1 auto;max-width:100%;min-width:0;overflow:hidden}.trigger__label.sc-ds-filter-menu{flex:1 1 auto;min-width:0;max-width:100%;overflow:hidden}.ds-select-trigger-host--background-medium.sc-ds-filter-menu-h{--ds-select-fg:var(--color-foreground-on-medium-background-secondary);--ds-select-fg-active:var(--color-foreground-on-medium-background-primary);--ds-select-border:var(--color-border-on-medium-background-secondary)}.ds-select-trigger-host--background-bold.sc-ds-filter-menu-h{--ds-select-fg:var(--color-foreground-on-bold-background-secondary);--ds-select-fg-active:var(--color-foreground-on-bold-background-primary);--ds-select-border:var(--color-border-on-bold-background-secondary)}.ds-select-trigger-host--background-strong.sc-ds-filter-menu-h{--ds-select-fg:var(--color-foreground-on-strong-background-secondary);--ds-select-fg-active:var(--color-foreground-on-strong-background-primary);--ds-select-border:var(--color-border-on-strong-background-secondary)}.ds-select-trigger-host--background-translucent.sc-ds-filter-menu-h{--ds-select-fg:var(--color-translucent-foreground-secondary);--ds-select-fg-active:var(--color-translucent-foreground-primary);--ds-select-border:var(--color-translucent-border-secondary)}.ds-select-trigger-host--background-inverted.sc-ds-filter-menu-h{--ds-select-fg:var(--color-inverted-foreground-secondary);--ds-select-fg-active:var(--color-inverted-foreground-primary);--ds-select-border:var(--color-inverted-border-secondary)}.ds-select-trigger-host--background-media.sc-ds-filter-menu-h{--ds-select-fg:var(--color-media-foreground-secondary);--ds-select-fg-active:var(--color-media-foreground-primary);--ds-select-border:var(--color-media-border-secondary)}.ds-select-trigger-host--background-always-dark.sc-ds-filter-menu-h{--ds-select-fg:var(--color-always-dark-foreground-secondary);--ds-select-fg-active:var(--color-always-dark-foreground-primary);--ds-select-border:var(--color-always-dark-border-secondary)}.select-search.sc-ds-filter-menu{position:relative;box-sizing:border-box;padding:var(--dimension-space-050);background:transparent}.select-search.sc-ds-filter-menu::after{content:'';position:absolute;inset:auto 0 0;height:var(--dimension-stroke-width-012);background-color:var(--color-border-tertiary);pointer-events:none}.select-search.sc-ds-filter-menu:focus-within::after{height:var(--dimension-stroke-width-018);background-color:var(--color-border-bold-brand)}.select-search--without-focus-boundary.sc-ds-filter-menu::after{display:none}.select-search__control.sc-ds-filter-menu{display:flex;width:100%;min-width:0}.ds-table-caption-control.sc-ds-filter-menu-h{--ds-choice-popup-min-inline-size:var(--dimension-menu-width-xs)}.ds-table-caption-control.ds-table-caption-control--compact.sc-ds-filter-menu-h{flex:0 0 auto;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));max-width:var(--ds-control-height, var(--dimension-size-400));inline-size:var(--ds-control-height, var(--dimension-size-400));min-inline-size:var(--ds-control-height, var(--dimension-size-400));max-inline-size:var(--ds-control-height, var(--dimension-size-400))}.ds-table-caption-control.ds-table-caption-control--compact.sc-ds-filter-menu-h .trigger.sc-ds-filter-menu{justify-content:center;inline-size:100%;min-inline-size:100%;height:100%;padding-inline:0}.ds-table-caption-control.ds-table-caption-control--compact.sc-ds-filter-menu-h .trigger--has-value.sc-ds-filter-menu{--ds-select-prefix-fg:var(--ds-select-fg-active)}@container ds-table (max-width: 899px){.sc-ds-filter-menu-h.ds-table-caption-control{flex:0 0 auto;inline-size:var(--ds-control-height, var(--dimension-size-400));min-inline-size:var(--ds-control-height, var(--dimension-size-400));max-inline-size:var(--ds-control-height, var(--dimension-size-400))}.sc-ds-filter-menu-h.ds-table-caption-control .trigger{justify-content:center;inline-size:100%;min-inline-size:100%;padding-inline:0}.sc-ds-filter-menu-h.ds-table-caption-control .trigger--has-value{--ds-select-prefix-fg:var(--ds-select-fg-active)}}.filter-menu-host--external-trigger.sc-ds-filter-menu-h{display:contents}.filter-menu.sc-ds-filter-menu{display:flex;min-height:0;flex-direction:column;color:var(--color-foreground-secondary)}.filter-menu__body.sc-ds-filter-menu{display:grid;grid-template-columns:var(--dimension-menu-width-xs) var(--dimension-menu-width-sm);min-height:calc(var(--dimension-size-800) * 4 + var(--dimension-space-150));max-height:calc(100vh - var(--dimension-size-800) - var(--dimension-size-600))}.filter-menu__category-pane.sc-ds-filter-menu{display:flex;min-width:0;min-height:0;flex-direction:column;border-inline-end:var(--dimension-stroke-width-012) solid var(--color-border-tertiary)}.filter-menu__categories.sc-ds-filter-menu{flex:1 1 auto;min-width:0}.filter-menu__category-section.sc-ds-filter-menu{display:flex;min-width:0;flex-direction:column}.filter-menu__category-section.ds-choice-section--divided.sc-ds-filter-menu{padding-block-end:var(--dimension-space-050)}.filter-menu__category.sc-ds-filter-menu{justify-content:space-between;width:100%;border:0;background:transparent;color:var(--color-foreground-secondary);cursor:default;text-align:start}.filter-menu__category--active.sc-ds-filter-menu{color:var(--color-foreground-primary)}.filter-menu__category-dot-box.sc-ds-filter-menu{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md));pointer-events:none}.filter-menu__options.sc-ds-filter-menu{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden}.filter-menu__options-content.sc-ds-filter-menu{display:flex;min-width:0;min-height:0;flex:1 1 auto;flex-direction:column;overflow:auto}.filter-menu__option-search.sc-ds-filter-menu{position:relative;flex:0 0 var(--dimension-size-500);min-width:0;min-height:var(--dimension-size-500);background:transparent}.filter-menu__option-search.sc-ds-filter-menu::after{content:'';position:absolute;inset:auto 0 0;height:var(--dimension-stroke-width-012);background-color:var(--color-border-tertiary);pointer-events:none}.filter-menu__option-search.sc-ds-filter-menu .select-search.sc-ds-filter-menu{height:100%;background:transparent}.filter-menu__options--date.sc-ds-filter-menu,.filter-menu__option-list--date.sc-ds-filter-menu,.filter-menu__date.sc-ds-filter-menu{display:flex;min-width:0;min-height:0;flex-direction:column}.filter-menu__option-list--date.sc-ds-filter-menu,.filter-menu__date.sc-ds-filter-menu{flex:1 1 auto}.filter-menu__date-header.sc-ds-filter-menu{flex:0 0 var(--dimension-size-500);justify-content:center;min-block-size:var(--dimension-size-500);padding:var(--dimension-space-050);background:var(--color-background-secondary)}.filter-menu__date-body.sc-ds-filter-menu{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}.filter-menu__date-relative.sc-ds-filter-menu{flex:1 1 auto}.filter-menu__calendar.sc-ds-filter-menu{display:flex;min-height:0;flex-direction:column;padding:var(--dimension-space-100)}.filter-menu__calendar-heading.sc-ds-filter-menu{display:grid;grid-template-columns:var(--dimension-size-400) minmax(0, 1fr) var(--dimension-size-400);align-items:center;text-align:center}.filter-menu__calendar-nav--previous.sc-ds-filter-menu{justify-self:start}.filter-menu__calendar-nav--next.sc-ds-filter-menu{justify-self:end}.filter-menu__calendar-weekdays.sc-ds-filter-menu,.filter-menu__calendar-grid.sc-ds-filter-menu{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));column-gap:var(--dimension-space-050)}.filter-menu__calendar-grid.sc-ds-filter-menu{row-gap:var(--dimension-space-050)}.filter-menu__calendar-weekdays.sc-ds-filter-menu{align-items:center;min-height:var(--dimension-size-400);margin-block-start:var(--dimension-space-050);color:var(--color-foreground-secondary);text-align:center}.filter-menu__calendar-day.sc-ds-filter-menu{appearance:none;position:relative;display:flex;align-items:center;justify-content:center;min-width:0;width:100%;height:var(--dimension-size-400);padding:0;border:0;border-radius:var(--dimension-radius-025);background:transparent;color:var(--color-foreground-primary);cursor:default}.filter-menu__calendar-day--outside.sc-ds-filter-menu{color:var(--color-foreground-tertiary)}.filter-menu__calendar-day--in-range.sc-ds-filter-menu{background:var(--color-background-faint-brand);color:var(--color-foreground-primary)}.filter-menu__calendar-day--range-preview.sc-ds-filter-menu{background:var(--color-background-faint-brand)}.filter-menu__calendar-day--today.sc-ds-filter-menu{color:var(--color-foreground-primary)}.filter-menu__calendar-day--range-edge.sc-ds-filter-menu{background:var(--color-background-bold-brand);color:var(--color-foreground-on-bold-background-primary)}.filter-menu__footer.sc-ds-filter-menu{flex:0 0 auto}.filter-menu__footer--categories-clear.sc-ds-filter-menu .ds-choice-footer__content.sc-ds-filter-menu{justify-content:flex-start}.filter-menu__footer--categories-clear[aria-hidden='true'].sc-ds-filter-menu::before{visibility:hidden}.filter-menu__clear.sc-ds-filter-menu{color:var(--color-foreground-bold-brand)}.filter-menu__match-mode-footer.sc-ds-filter-menu{flex:0 0 auto}.filter-menu__match-mode-content.sc-ds-filter-menu{justify-content:flex-start;padding-inline:calc( var(--dimension-space-050) + var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) )}.filter-menu__match-mode-toggle.sc-ds-filter-menu{appearance:none;display:inline-flex;align-items:center;padding:0;border:0;border-radius:var(--dimension-radius-025);background:transparent;cursor:default}@media (forced-colors: active){.filter-menu__category-pane.sc-ds-filter-menu{border-inline-end-color:var(--ds-forced-color-content)}.filter-menu__calendar-day--range-edge.sc-ds-filter-menu{outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content)}}`;let W=0;const G={lg:"lg",md:"md",sm:"sm",xs:"xs"};const Q=[{id:"relative",label:"Relative"},{id:"range",label:"Range"}];const V=T.map((e=>({label:e.label,value:P(e.value)})));const J=e(class e extends i{constructor(e){super();if(e!==false){this.__registerHost()}this.dsChange=t(this,"dsChange",7);this.dsClear=t(this,"dsClear",7);this.dsMatchModeChange=t(this,"dsMatchModeChange",7);this.dsActiveFilterChange=t(this,"dsActiveFilterChange",7);this.dsClose=t(this,"dsClose",7);this.dsOpenChange=t(this,"dsOpenChange",7);this.dsAfterClose=t(this,"dsAfterClose",7);this.open=false;this.triggerLabel="Filters";this.showSelectedCount=true;this.icon="Filters";this.size="md";this.width="hug";this.hasBorder=true;this.activeFill=false;this.collapseLabel=false;this.ariaLabel=null;this.filters=[];this.values={};this.matchModes={};this.side="bottom";this.align="end";this.sideOffset=z.space050;this.alignOffset=0;this.menuWidth=z.menuWidthLg;this.menuLabel="Filters";this.categoriesLabel="Filter categories";this.clearLabel="Clear";this.searchPlaceholder="Search";this.noResultsText="No results";this.footerLayout="summary";this.initialFocusVisible=false;this.shouldRender=false;this.closing=false;this.positionReady=false;this.pos={x:0,y:0};this.focusRingVisible=false;this.activeOptionIndex=0;this.captionCompact=false;this.dateModeByFilter={};this.calendarMonthByFilter={};this.pendingRangeStartByFilter={};this.previewRangeEndByFilter={};this.optionQueryByFilter={};this.generatedId=`ds-filter-menu-${++W}`;this.triggerElement=null;this.pendingInitialFocusVisible=false;this.closeTimer=null;this.hasLoaded=false;this.closingSnapshot=null;this.position=new a({getAnchor:()=>this.resolvedAnchor,getPopup:()=>this.el.querySelector(".filter-menu-popup"),getOwnerDocument:()=>this.el.ownerDocument,measure:(e,i)=>{if(!this.open)return null;const t=e.getBoundingClientRect();const n=I(D.space050,D.space050);return{anchorRect:t,popupWidth:i.offsetWidth||this.popupFallbackWidth,popupHeight:i.offsetHeight||this.popupFallbackHeight,side:this.side,align:this.align,sideOffsetPx:I(this.sideOffset,D.space050),alignOffsetPx:l({align:this.align,alignOffsetPx:I(this.alignOffset,0),sectionInsetPx:n}),viewportPadPx:this.viewportPad,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,collisionRect:c(e,this.boundary)}},apply:({x:e,y:i})=>{this.pos={x:e,y:i}},onReady:()=>{this.positionReady=true},liveUpdate:"double-frame",observeResize:true,topLayer:true});this.interaction=new u({getAnchor:()=>this.resolvedAnchor,getPopup:()=>this.el.querySelector(".filter-menu-popup"),getOwnerDocument:()=>this.el.ownerDocument,onOutsideActivation:()=>this.close()})}componentDidLoad(){this.hasLoaded=true;this.syncCaptionCompactObserver();if(this.open)this.onOpenChange(true)}connectedCallback(){if(!this.hasLoaded)return;this.syncCaptionCompactObserver();if(this.open)this.onOpenChange(true)}disconnectedCallback(){this.disconnectCaptionCompactObserver();this.position.unobserve();this.teardownListeners()}onCollapseLabelChange(){this.syncCaptionCompactObserver()}onOpenChange(e){if(e){this.teardownListeners();this.closingSnapshot=null;this.shouldRender=true;this.closing=false;this.positionReady=false;this.focusRingVisible=this.pendingInitialFocusVisible||this.initialFocusVisible;this.setupListeners();this.position.schedule((()=>this.focusInitialCategory()));return}if(!this.shouldRender)return;this.position.cancel();this.captureClosingSnapshot();this.closing=true;this.teardownListeners();const i=$(D.motionShort2,D.animationDurationShort3);if(i<=0){this.finishClose();return}this.closeTimer=setTimeout((()=>this.finishClose()),i)}onPositionInputChange(){if(this.open)this.position.schedule()}handleKeyDown(e){if(!this.shouldRender||this.closing)return;if(e.key==="Escape"){e.preventDefault();this.close();return}if(e.key!=="Tab"||!this.tabLeavesPopup(e))return;e.preventDefault();this.close(false);this.interaction.moveFocusAfterTab(e.shiftKey)}get resolvedAnchor(){if(this.anchor)return this.anchor;if(this.anchorId)return document.getElementById(this.anchorId);return this.triggerElement}get usesInternalTrigger(){return!this.anchor&&!this.anchorId}get viewportPad(){return I(D.space050,D.space050)}get popupFallbackWidth(){return I(D.menuWidthLg,D.menuWidthLg)}get popupFallbackHeight(){return I(D.menuFallbackHeight,D.menuFallbackHeight)}setupListeners(){this.interaction.connect();this.position.observe()}teardownListeners(){this.position.unobserve();this.interaction.disconnect();if(this.closeTimer){clearTimeout(this.closeTimer);this.closeTimer=null}}close(e=true){this.captureClosingSnapshot();if(e)this.interaction.focusAnchor();this.dsOpenChange.emit(false);this.dsClose.emit();this.open=false;this.onOpenChange(false)}toggleFromTrigger(e){if(this.open){this.close();return}this.pendingInitialFocusVisible=e.detail===0;this.open=true;this.dsOpenChange.emit(true);this.onOpenChange(true)}handleTriggerKeyDown(e){if(e.key!=="ArrowDown"||this.open)return;e.preventDefault();this.pendingInitialFocusVisible=true;this.open=true;this.dsOpenChange.emit(true);this.onOpenChange(true)}finishClose(){const e=this.el.querySelector(".filter-menu-popup");if(e?.matches(":popover-open"))e.hidePopover();this.shouldRender=false;this.closing=false;this.closingSnapshot=null;this.closeTimer=null;this.dateModeByFilter={};this.calendarMonthByFilter={};this.pendingRangeStartByFilter={};this.previewRangeEndByFilter={};this.optionQueryByFilter={};this.dsAfterClose.emit()}captureClosingSnapshot(){if(this.closingSnapshot)return;this.closingSnapshot={filters:this.filters.map((e=>({...e,options:e.options?.map((e=>({...e})))}))),values:Object.fromEntries(Object.entries(this.values).map((([e,i])=>[e,Array.isArray(i)?[...i]:i]))),matchModes:{...this.matchModes},activeFilterId:this.activeFilterId}}focusInitialCategory(){requestAnimationFrame((()=>{this.el.querySelector('.filter-menu__category[tabindex="0"]')?.focus();this.pendingInitialFocusVisible=false}))}tabLeavesPopup(e){return this.interaction.tabLeavesPopup(e)}selectedFilter(e,i){return e.find((e=>e.id===i))??e[0]}selectedCount(e,i){const t=i[e.id];if(e.kind==="multiple")return Array.isArray(t)?t.length:0;if(e.kind==="boolean")return t===true?1:0;return typeof t==="string"&&t.length>0?1:0}totalSelected(e,i){return e.reduce(((e,t)=>e+this.selectedCount(t,i)),0)}activeFilterCount(e,i){return e.filter((e=>this.selectedCount(e,i)>0)).length}selectCategory(e,i=false){this.activeOptionIndex=0;this.dsActiveFilterChange.emit(e);if(!i)return;requestAnimationFrame((()=>{this.el.querySelector(`[data-filter-category="${e}"]`)?.focus()}))}handleCategoryKeyDown(e,i,t){const n=i.findIndex((e=>e.id===t));let s;if(e.key==="ArrowDown")s=(n+1)%i.length;else if(e.key==="ArrowUp")s=(n-1+i.length)%i.length;else if(e.key==="Home")s=0;else if(e.key==="End")s=i.length-1;else if(e.key==="ArrowRight"){e.preventDefault();requestAnimationFrame((()=>{this.el.querySelector('.filter-menu__options [role="option"], .filter-menu__options [data-date-option], .filter-menu__options input')?.focus()}));return}else return;e.preventDefault();this.focusRingVisible=true;this.selectCategory(i[s].id,true)}handlePanelKeyDown(e,i){if(e.key!=="ArrowLeft")return;e.preventDefault();this.el.querySelector(`[data-filter-category="${i}"]`)?.focus()}handleOptionKeyDown(e,i,t,n,s,r=i.options??[]){if(e.key==="ArrowLeft"){this.handlePanelKeyDown(e,i.id);return}if(e.key==="Enter"||e.key===" "){e.preventDefault();this.selectOption(i,t,s);return}if(!["ArrowDown","ArrowUp","Home","End"].includes(e.key))return;e.preventDefault();const o=r.map(((e,i)=>({candidate:e,optionIndex:i}))).filter((({candidate:e})=>!e.isInactive)).map((({optionIndex:e})=>e));if(!o.length)return;const d=o.indexOf(n);let a;if(e.key==="Home")a=o[0];else if(e.key==="End")a=o[o.length-1];else{const i=e.key==="ArrowDown"?1:-1;const t=d>=0?d:i===1?-1:0;a=o[(t+i+o.length)%o.length]}this.activeOptionIndex=a;this.focusRingVisible=true;requestAnimationFrame((()=>{this.el.querySelector(`#${this.generatedId}-${i.id}-option-${a}`)?.focus()}))}optionMatchesQuery(e,i){const t=i.trim().toLocaleLowerCase();if(!t)return true;return`${e.label} ${e.description??""}`.toLocaleLowerCase().includes(t)}visibleOptions(e,i=this.optionQueryByFilter[e.id]??""){if(e.kind==="boolean"){const t=this.booleanOption(e);return this.optionMatchesQuery(t,i)?[t]:[]}return(e.options??[]).filter((e=>this.optionMatchesQuery(e,i)))}booleanOption(e){return{label:e.fieldLabel??e.label,value:"true",description:e.description}}setOptionQuery(e,i){const t=this.visibleOptions(e,i);const n=t.findIndex((e=>!e.isInactive));this.activeOptionIndex=n;this.focusRingVisible=false;this.optionQueryByFilter={...this.optionQueryByFilter,[e.id]:i};requestAnimationFrame((()=>{const e=this.el.querySelector(".filter-menu__options-content");if(e)e.scrollTop=0;this.position.schedule()}))}handleOptionSearchKeyDown(e,i){if(e.key!=="ArrowDown"&&e.key!=="ArrowUp")return;const t=this.visibleOptions(i);const n=t.map(((e,i)=>({option:e,index:i}))).filter((({option:e})=>!e.isInactive)).map((({index:e})=>e));if(!n.length)return;e.preventDefault();const s=e.key==="ArrowDown"?n[0]:n[n.length-1];this.activeOptionIndex=s;this.focusRingVisible=true;requestAnimationFrame((()=>{this.el.querySelector(`#${this.generatedId}-${i.id}-option-${s}`)?.focus()}))}toggleMultiple(e,i,t,n){if(i.isInactive)return;const s=Array.isArray(n[e.id])?n[e.id]:[];const r=new Set(s);if(t)r.add(i.value);else r.delete(i.value);const o=(e.options??[]).map((e=>e.value)).filter((e=>r.has(e)));this.dsChange.emit({filterId:e.id,value:o})}selectOption(e,i,t){if(i.isInactive)return;if(e.kind==="single"){this.dsChange.emit({filterId:e.id,value:i.value});return}const n=Array.isArray(t[e.id])?t[e.id].includes(i.value):false;this.toggleMultiple(e,i,!n,t)}dateMode(e,i){return this.dateModeByFilter[e]??R(i)?.kind??"relative"}setDateMode(e,i,t){if(t!=="range"&&t!=="relative")return;this.dateModeByFilter={...this.dateModeByFilter,[e.id]:t};this.activeOptionIndex=0;if(t==="range"&&!this.calendarMonthByFilter[e.id]){const t=R(i);const n=t?.kind==="range"?t.start:H();this.calendarMonthByFilter={...this.calendarMonthByFilter,[e.id]:K(n)}}if(t==="relative"&&this.pendingRangeStartByFilter[e.id]){const i={...this.pendingRangeStartByFilter};delete i[e.id];this.pendingRangeStartByFilter=i}if(t==="relative")this.clearCalendarRangePreview(e.id)}calendarMonth(e,i){const t=R(i);const n=t?.kind==="range"?t.start:H();return this.calendarMonthByFilter[e]??K(n)}moveCalendarMonth(e,i,t){this.clearCalendarRangePreview(e);this.calendarMonthByFilter={...this.calendarMonthByFilter,[e]:U(i,t)}}selectCalendarDate(e,i){this.clearCalendarRangePreview(e);const t=this.pendingRangeStartByFilter[e];const n={...this.pendingRangeStartByFilter};if(t)delete n[e];else n[e]=i;this.pendingRangeStartByFilter=n;this.dsChange.emit({filterId:e,value:S(t??i,i)})}previewCalendarRange(e,i){if(!this.pendingRangeStartByFilter[e])return;if(this.previewRangeEndByFilter[e]===i)return;this.previewRangeEndByFilter={...this.previewRangeEndByFilter,[e]:i}}clearCalendarRangePreview(e){if(!this.previewRangeEndByFilter[e])return;const i={...this.previewRangeEndByFilter};delete i[e];this.previewRangeEndByFilter=i}focusCalendarDate(e,i){this.previewCalendarRange(e,i);const t=K(i);if(this.calendarMonthByFilter[e]!==t){this.calendarMonthByFilter={...this.calendarMonthByFilter,[e]:t}}requestAnimationFrame((()=>{this.el.querySelector(`[data-date-option="${i}"]`)?.focus()}))}handleCalendarDayKeyDown(e,i,t){let n=null;if(e.key==="ArrowLeft")n=-1;else if(e.key==="ArrowRight")n=1;else if(e.key==="ArrowUp")n=-7;else if(e.key==="ArrowDown")n=7;else if(e.key==="Home"){n=-new Date(`${t}T00:00:00Z`).getUTCDay()}else if(e.key==="End"){n=6-new Date(`${t}T00:00:00Z`).getUTCDay()}else if(e.key==="PageUp"){const n=U(K(t),-1);const s=t.slice(8,10);const r=`${n}-${s}`;const o=R(r)?r:`${n}-01`;e.preventDefault();this.focusCalendarDate(i,o);return}else if(e.key==="PageDown"){const n=U(K(t),1);const s=t.slice(8,10);const r=`${n}-${s}`;const o=R(r)?r:`${n}-01`;e.preventDefault();this.focusCalendarDate(i,o);return}if(n===null)return;e.preventDefault();this.focusCalendarDate(i,O(t,n))}renderRelativeDateOptions(e,i){const t={...e,kind:"single",options:V};return n("div",{class:"filter-menu__date-relative ds-choice-list ds-chrome-column ds-chrome-space--sm",role:"listbox","aria-label":"Relative date"},V.map(((s,r)=>n(f,{size:"md",id:`${this.generatedId}-${e.id}-relative-${r}`,option:s,selected:i===s.value,active:r===this.activeOptionIndex,focusRingVisible:this.focusRingVisible,usesSubtext:false,tabIndex:r===this.activeOptionIndex?0:-1,onFocus:()=>{this.activeOptionIndex=r},onKeyDown:n=>this.handleOptionKeyDown(n,t,s,r,{[e.id]:i}),onHover:()=>{this.focusRingVisible=false;this.activeOptionIndex=r},onSelect:()=>this.dsChange.emit({filterId:e.id,value:s.value})}))))}renderDateCalendar(e,i){const t=R(i);const s=t?.kind==="range"?t:null;const r=this.calendarMonth(e.id,i);const o=Z(r);const d=H();const a=this.pendingRangeStartByFilter[e.id];const c=this.previewRangeEndByFilter[e.id];const l=a&&c?[a,c].sort()[0]:null;const u=a&&c?[a,c].sort()[1]:null;const f=this.pendingRangeStartByFilter[e.id]??s?.end??(r===d.slice(0,7)?d:"");const h=o.some((e=>e.value===f))?f:o.find((e=>e.inMonth))?.value??o[0]?.value;return n("div",{class:"filter-menu__calendar"},n("div",{class:"filter-menu__calendar-heading ds-control--md"},n("ds-button-unfilled",{class:"filter-menu__calendar-nav filter-menu__calendar-nav--previous",variant:"icon",icon:"ChevronLeft",size:"md",hasBorder:false,ariaLabel:"Previous month",onDsClick:()=>this.moveCalendarMonth(e.id,r,-1)}),n("ds-text",{as:"span",variant:"text-body-medium",emphasis:true,color:"primary"},N(r)),n("ds-button-unfilled",{class:"filter-menu__calendar-nav filter-menu__calendar-nav--next",variant:"icon",icon:"ChevronRight",size:"md",hasBorder:false,ariaLabel:"Next month",onDsClick:()=>this.moveCalendarMonth(e.id,r,1)})),n("div",{class:"filter-menu__calendar-weekdays","aria-hidden":"true"},E.map((e=>n("ds-text",{as:"span",variant:"text-body-small",color:"secondary"},e)))),n("div",{class:"filter-menu__calendar-grid",role:"grid","aria-label":N(r),onMouseLeave:()=>this.clearCalendarRangePreview(e.id)},o.map((i=>{const t=Boolean(s&&i.value>=s.start&&i.value<=s.end);const r=Boolean(l&&u&&i.value>=l&&i.value<=u);const o=r||t;const c=Boolean(l?i.value===a:s&&(i.value===s.start||i.value===s.end));const f=c?"on-bold":o||i.value===d?"primary":i.inMonth?"secondary":"tertiary";return n("button",{type:"button",role:"gridcell","data-date-option":i.value,class:{"filter-menu__calendar-day":true,"filter-menu__calendar-day--outside":!i.inMonth,"filter-menu__calendar-day--today":i.value===d,"filter-menu__calendar-day--in-range":o,"filter-menu__calendar-day--range-preview":r,"filter-menu__calendar-day--range-edge":c,"ds-focus-ring-inset":true,"ds-interaction-fill":true},"aria-label":i.label,"aria-selected":t?"true":"false",tabIndex:i.value===h?0:-1,onMouseEnter:()=>this.previewCalendarRange(e.id,i.value),onFocus:()=>this.previewCalendarRange(e.id,i.value),onClick:()=>this.selectCalendarDate(e.id,i.value),onKeyDown:t=>this.handleCalendarDayKeyDown(t,e.id,i.value)},n("ds-text",{class:"ds-interaction-fill__content",as:"span",variant:"text-body-medium",color:f,emphasis:i.value===d},i.day))}))))}renderDateFilter(e,i){const t=this.dateMode(e.id,i);return n("div",{class:"filter-menu__date"},n("header",{class:"filter-menu__date-header ds-chrome-header ds-chrome-header--bounded"},n("ds-tab-group",{ariaLabel:"Date filter mode",size:"md",width:"fill",hasContainer:false,value:t,tabs:Q,onDsChange:t=>{t.stopPropagation();this.setDateMode(e,i,t.detail)}})),n("div",{class:"filter-menu__date-body"},t==="relative"?this.renderRelativeDateOptions(e,i):this.renderDateCalendar(e,i)))}renderOptionSearch(e){return n("div",{class:"filter-menu__option-search"},n(h,{size:"md",hasFocusBoundary:false,hasInteractionFill:false,value:this.optionQueryByFilter[e.id]??"",placeholder:this.searchPlaceholder,ariaLabel:`Search ${e.label} options`,controls:`${this.generatedId}-${e.id}-options`,inputRef:()=>undefined,clearLabel:`Clear ${e.label} search`,onValueChange:i=>this.setOptionQuery(e,i),onKeyDown:i=>this.handleOptionSearchKeyDown(i,e)}))}renderNoOptionResults(){return n("div",{class:"ds-choice-empty ds-empty-region",role:"option","aria-selected":"false","aria-disabled":"true","aria-label":this.noResultsText,"aria-live":"polite"},n("ds-empty-state",{body:this.noResultsText}))}renderOptions(e,i){const t=i[e.id];if(e.kind==="multiple"||e.kind==="single"){const s=Array.isArray(t)?t:[];const r=e.options??[];const o=this.visibleOptions(e);const d=m(r.map((e=>({label:e.label,value:e.value,subtext:e.description}))));if(!o.length)return this.renderNoOptionResults();return o.map(((r,a)=>{const c=e.kind==="multiple"?s.includes(r.value):t===r.value;return n(f,{size:"md",id:`${this.generatedId}-${e.id}-option-${a}`,option:{label:r.label,value:r.value,subtext:r.description,isInactive:r.isInactive},selected:c,active:a===this.activeOptionIndex,focusRingVisible:this.focusRingVisible,usesSubtext:d,tabIndex:a===this.activeOptionIndex?0:-1,leading:e.kind==="multiple"?n("span",{class:"ds-choice-item__icon ds-control-icon-box ds-interaction-fill__content","aria-hidden":"true"},n("ds-checkbox",{label:"",size:"md",checked:c,presentation:true})):undefined,onFocus:()=>{this.activeOptionIndex=a},onKeyDown:t=>this.handleOptionKeyDown(t,e,r,a,i,o),onHover:()=>{this.focusRingVisible=false;this.activeOptionIndex=a},onSelect:()=>this.selectOption(e,r,i)})}))}if(e.kind==="boolean"){const[i]=this.visibleOptions(e);if(!i)return this.renderNoOptionResults();return n(f,{size:"md",id:`${this.generatedId}-${e.id}-option-0`,option:{label:i.label,value:i.value,subtext:i.description},selected:t===true,active:true,focusRingVisible:this.focusRingVisible,usesSubtext:Boolean(i.description),tabIndex:0,leading:n("span",{class:"ds-choice-item__icon ds-control-icon-box ds-interaction-fill__content","aria-hidden":"true"},n("ds-checkbox",{label:"",size:"md",checked:t===true,presentation:true})),onKeyDown:i=>{if(i.key==="ArrowLeft")this.handlePanelKeyDown(i,e.id);else if(i.key==="Enter"||i.key===" "){i.preventDefault();this.dsChange.emit({filterId:e.id,value:t!==true})}},onHover:()=>{this.focusRingVisible=false},onSelect:()=>this.dsChange.emit({filterId:e.id,value:t!==true})})}return this.renderDateFilter(e,t)}get captionIconOnly(){return this.collapseLabel&&this.captionCompact&&this.usesInternalTrigger&&Boolean(this.icon)}syncCaptionCompactObserver(){this.disconnectCaptionCompactObserver();if(!this.collapseLabel){if(this.captionCompact)this.captionCompact=false;return}this.captionCompactDisconnect=o(this.el,(e=>{if(this.captionCompact!==e)this.captionCompact=e}))}disconnectCaptionCompactObserver(){this.captionCompactDisconnect?.();this.captionCompactDisconnect=undefined}renderCaptionTooltip(e,i){if(!this.collapseLabel)return e;return n("ds-tooltip",{label:i,side:"top",size:"sm"},e)}renderFooter(e,i){return n("div",{class:{"filter-menu__footer":true,"filter-menu__footer--categories-clear":i,"ds-choice-footer":true},"aria-hidden":i&&e===0?"true":undefined},n("div",{class:"ds-choice-footer__content ds-control--md"},!i?n("ds-text",{class:"ds-choice-footer__summary",as:"span",variant:"text-body-medium",color:"secondary","aria-live":"polite"},e," selected"):null,e>0?n("button",{class:"filter-menu__clear ds-choice-footer__clear ds-text-action",type:"button",onClick:()=>{this.pendingRangeStartByFilter={};this.dsClear.emit()}},n("ds-text",{as:"span",variant:"text-body-medium",color:"inherit"},this.clearLabel)):null))}renderMatchModeFooter(e,i){const t=i[e.id]==="all"?"all":"any";const s=t==="any"?"all":"any";return n("div",{class:"filter-menu__match-mode-footer ds-choice-footer"},n("div",{class:"filter-menu__match-mode-content ds-choice-footer__content ds-control--md"},n("ds-text",{as:"span",variant:"text-body-medium",color:"secondary"},"Limit results to"),n("button",{class:"filter-menu__match-mode-toggle ds-text-action ds-focus-ring",type:"button","aria-label":`Limit ${e.label} results to ${s} selected`,onClick:()=>this.dsMatchModeChange.emit({filterId:e.id,mode:s}),onKeyDown:i=>this.handlePanelKeyDown(i,e.id)},n("ds-text",{as:"span",variant:"text-body-medium",color:"inherit"},t)),n("ds-text",{as:"span",variant:"text-body-medium",color:"secondary"},"selected")))}render(){const e=this.closing&&this.closingSnapshot?this.closingSnapshot:{filters:this.filters,values:this.values,matchModes:this.matchModes,activeFilterId:this.activeFilterId};const i=this.selectedFilter(e.filters,e.activeFilterId);const t=this.totalSelected(e.filters,e.values);const r=this.activeFilterCount(e.filters,e.values);const o=r>0;const d=this.footerLayout==="categories-clear";const a=`${this.triggerLabel}${this.showSelectedCount&&o?` · ${r}`:""}`;const c=F[this.size];const l=G[this.size];const u=`${this.generatedId}-popup`;const f={position:"fixed",left:"0",top:"0",width:this.menuWidth,transform:`translate(${Math.round(this.pos.x)}px, ${Math.round(this.pos.y)}px)`,zIndex:"9998",visibility:this.positionReady?"visible":"hidden"};return n(s,{key:"d3d393282842ab61a605dfaaa693f71054483eb8",class:{"filter-menu-host":true,"filter-menu-host--external-trigger":!this.usesInternalTrigger,"ds-select-trigger-host":this.usesInternalTrigger,[`ds-control--${this.size}`]:true,"ds-table-caption-control":this.collapseLabel,"ds-table-caption-control--compact":this.captionIconOnly,...j(this.width)}},this.usesInternalTrigger?this.renderCaptionTooltip(n("button",{ref:e=>{this.triggerElement=e??null},id:this.inputId??`${this.generatedId}-trigger`,type:"button",class:{trigger:true,"ds-control-frame":true,"ds-focus-ring-inset":true,"ds-interaction-fill":true,"ds-interaction-fill--selected":this.activeFill&&o,"trigger--expanded":this.open||this.closing,"ds-interaction-fill--surface-open":this.open||this.closing,"trigger--bordered":this.hasBorder,"trigger--has-value":o,[`ds-control--${this.size}`]:true},role:"combobox","aria-haspopup":"dialog","aria-expanded":String(this.open),"aria-controls":this.open?u:undefined,"aria-label":this.ariaLabel??this.menuLabel,onClick:e=>this.toggleFromTrigger(e),onKeyDown:e=>this.handleTriggerKeyDown(e)},this.icon?n("span",{class:"trigger__prefix ds-control-icon-box ds-interaction-fill__content","aria-hidden":"true"},n("ds-icon",{name:this.icon,size:l,color:"inherit"})):null,this.captionIconOnly?null:n("ds-text",{class:"trigger__label-box trigger__label trigger__label-content ds-control-label-box ds-interaction-fill__content",as:"span",variant:c,color:"inherit",lineTruncation:1},a),this.captionIconOnly?null:n("span",{class:"trigger__chevron ds-control-icon-box ds-interaction-fill__content","aria-hidden":"true"},n("ds-icon",{name:"ChevronDown",size:l,color:"inherit"}))),this.captionIconOnly?a:""):null,this.shouldRender?n("div",{id:u,popover:"manual",class:{"filter-menu-popup":true,"ds-choice-popup":true,"ds-choice-popup--closing":this.closing},style:f,role:"dialog","aria-label":this.menuLabel},i?n("div",{class:"filter-menu"},n("div",{class:"filter-menu__body"},n("div",{class:"filter-menu__category-pane"},n("div",{class:"filter-menu__categories ds-choice-list ds-chrome-column ds-chrome-space--sm",role:"tablist","aria-label":this.categoriesLabel,"aria-orientation":"vertical"},e.filters.map((t=>{const s=t.id===i.id;const r=this.selectedCount(t,e.values);return n("div",{key:t.id,class:{"filter-menu__category-section":true,"ds-choice-section--divided":Boolean(t.divider)}},n("button",{id:`${this.generatedId}-${t.id}-tab`,type:"button",role:"tab","data-filter-category":t.id,class:{"filter-menu__category":true,"filter-menu__category--active":s,"ds-choice-item":true,"ds-control-frame":true,"ds-control--md":true,"ds-focus-ring-inset":true,"ds-focus-ring--visible":s&&this.focusRingVisible,"ds-interaction-fill":true,"ds-interaction-fill--selected":s},"aria-selected":String(s),"aria-controls":`${this.generatedId}-panel`,tabIndex:s?0:-1,onMouseDown:()=>{this.focusRingVisible=false},onClick:()=>this.selectCategory(t.id),onKeyDown:i=>this.handleCategoryKeyDown(i,e.filters,t.id)},n("ds-text",{class:"ds-choice-item__content ds-choice-item__label ds-control-label-box ds-interaction-fill__content",as:"span",variant:"text-body-medium",color:s?"primary":"secondary"},t.label),r>0&&t.kind==="date"?n("span",{class:"filter-menu__category-dot-box ds-interaction-fill__content","aria-hidden":"true"},n("ds-badge",{variant:"dot",hasRing:false,label:""})):r>0?n("ds-tag",{class:"ds-choice-item__tag ds-interaction-fill__content",label:String(r),size:"sm",intent:"brand",contrast:"bold",isInset:true,rounded:true}):null))}))),d?this.renderFooter(t,true):null),n("div",{id:`${this.generatedId}-panel`,class:{"filter-menu__options":true,"filter-menu__options--date":i.kind==="date"},role:"tabpanel","aria-labelledby":`${this.generatedId}-${i.id}-tab`},i.kind==="date"?null:this.renderOptionSearch(i),n("div",{class:"filter-menu__options-content"},i.kind==="date"?n("div",{key:i.id,class:"filter-menu__option-list--date"},this.renderOptions(i,e.values)):n("div",{id:`${this.generatedId}-${i.id}-options`,key:i.id,class:"filter-menu__option-list ds-choice-list ds-chrome-column ds-chrome-space--sm",role:"listbox","aria-label":i.label,"aria-multiselectable":i.kind==="multiple"?"true":undefined},this.renderOptions(i,e.values))),i.kind==="multiple"?this.renderMatchModeFooter(i,e.matchModes):null)),!d&&t>0?this.renderFooter(t,false):null):null):null)}get el(){return this}static get watchers(){return{collapseLabel:[{onCollapseLabelChange:0}],open:[{onOpenChange:0}],anchor:[{onPositionInputChange:0}],anchorId:[{onPositionInputChange:0}],boundary:[{onPositionInputChange:0}],side:[{onPositionInputChange:0}],align:[{onPositionInputChange:0}],sideOffset:[{onPositionInputChange:0}],alignOffset:[{onPositionInputChange:0}],menuWidth:[{onPositionInputChange:0}]}}static get style(){return q()}},[2,"ds-filter-menu",{open:[1028],triggerLabel:[1,"trigger-label"],showSelectedCount:[4,"show-selected-count"],icon:[1],size:[1],width:[1],hasBorder:[4,"has-border"],activeFill:[4,"active-fill"],collapseLabel:[516,"collapse-label"],inputId:[1,"input-id"],ariaLabel:[1,"aria-label"],filters:[16],values:[16],matchModes:[16],activeFilterId:[1,"active-filter-id"],anchor:[16],anchorId:[1,"anchor-id"],boundary:[16],side:[1],align:[1],sideOffset:[8,"side-offset"],alignOffset:[8,"align-offset"],menuWidth:[1,"menu-width"],menuLabel:[1,"menu-label"],categoriesLabel:[1,"categories-label"],clearLabel:[1,"clear-label"],searchPlaceholder:[1,"search-placeholder"],noResultsText:[1,"no-results-text"],footerLayout:[1,"footer-layout"],initialFocusVisible:[4,"initial-focus-visible"],shouldRender:[32],closing:[32],positionReady:[32],pos:[32],focusRingVisible:[32],activeOptionIndex:[32],captionCompact:[32],dateModeByFilter:[32],calendarMonthByFilter:[32],pendingRangeStartByFilter:[32],previewRangeEndByFilter:[32],optionQueryByFilter:[32]},[[0,"keydown","handleKeyDown"]],{collapseLabel:[{onCollapseLabelChange:0}],open:[{onOpenChange:0}],anchor:[{onPositionInputChange:0}],anchorId:[{onPositionInputChange:0}],boundary:[{onPositionInputChange:0}],side:[{onPositionInputChange:0}],align:[{onPositionInputChange:0}],sideOffset:[{onPositionInputChange:0}],alignOffset:[{onPositionInputChange:0}],menuWidth:[{onPositionInputChange:0}]}]);function X(){if(typeof customElements==="undefined"){return}const e=["ds-filter-menu","ds-badge","ds-button-unfilled","ds-checkbox","ds-empty-state","ds-icon","ds-input","ds-loader","ds-tab-group","ds-tag","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-filter-menu":if(!customElements.get(r(e))){customElements.define(r(e),J)}break;case"ds-badge":if(!customElements.get(r(e))){g()}break;case"ds-button-unfilled":if(!customElements.get(r(e))){d()}break;case"ds-checkbox":if(!customElements.get(r(e))){p()}break;case"ds-empty-state":if(!customElements.get(r(e))){v()}break;case"ds-icon":if(!customElements.get(r(e))){b()}break;case"ds-input":if(!customElements.get(r(e))){y()}break;case"ds-loader":if(!customElements.get(r(e))){x()}break;case"ds-tab-group":if(!customElements.get(r(e))){_()}break;case"ds-tag":if(!customElements.get(r(e))){w()}break;case"ds-text":if(!customElements.get(r(e))){k()}break;case"ds-tooltip":if(!customElements.get(r(e))){C()}break}}))}X();export{J as F,X as d};
2
+ //# sourceMappingURL=p-CcK3UiTu.js.map