@thewhatmatters/wmds 0.4.27 → 0.4.28

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 (300) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/CONSUMING.md +62 -1
  3. package/bin/wmds-check.mjs +47 -0
  4. package/dist/colors.css +92 -0
  5. package/dist/components/atoms/Badge/badgeStyles.js +6 -6
  6. package/dist/components/atoms/Band/Band.d.ts +27 -0
  7. package/dist/components/atoms/Band/Band.d.ts.map +1 -0
  8. package/dist/components/atoms/Band/Band.js +22 -0
  9. package/dist/components/atoms/Band/bandStyles.d.ts +20 -0
  10. package/dist/components/atoms/Band/bandStyles.d.ts.map +1 -0
  11. package/dist/components/atoms/Band/bandStyles.js +23 -0
  12. package/dist/components/atoms/Button/ButtonStatusButton.d.ts.map +1 -1
  13. package/dist/components/atoms/Button/ButtonStatusButton.js +12 -5
  14. package/dist/components/atoms/Button/buttonStyles.d.ts +1 -1
  15. package/dist/components/atoms/Button/buttonStyles.d.ts.map +1 -1
  16. package/dist/components/atoms/Button/buttonStyles.js +2 -2
  17. package/dist/components/atoms/Checkbox/Checkbox.d.ts.map +1 -1
  18. package/dist/components/atoms/Checkbox/Checkbox.js +69 -68
  19. package/dist/components/atoms/Checkbox/checkboxStyles.d.ts +1 -1
  20. package/dist/components/atoms/Checkbox/checkboxStyles.d.ts.map +1 -1
  21. package/dist/components/atoms/Checkbox/checkboxStyles.js +1 -1
  22. package/dist/components/atoms/IconButton/IconButton.d.ts.map +1 -1
  23. package/dist/components/atoms/IconButton/IconButton.js +13 -12
  24. package/dist/components/atoms/IconButton/iconButtonStyles.d.ts +2 -2
  25. package/dist/components/atoms/IconButton/iconButtonStyles.d.ts.map +1 -1
  26. package/dist/components/atoms/IconButton/iconButtonStyles.js +1 -1
  27. package/dist/components/atoms/InlinePill/InlinePill.d.ts +42 -0
  28. package/dist/components/atoms/InlinePill/InlinePill.d.ts.map +1 -0
  29. package/dist/components/atoms/InlinePill/InlinePill.js +48 -0
  30. package/dist/components/atoms/InlinePill/inlinePillStyles.d.ts +27 -0
  31. package/dist/components/atoms/InlinePill/inlinePillStyles.d.ts.map +1 -0
  32. package/dist/components/atoms/InlinePill/inlinePillStyles.js +19 -0
  33. package/dist/components/atoms/Input/Input.d.ts +6 -3
  34. package/dist/components/atoms/Input/Input.d.ts.map +1 -1
  35. package/dist/components/atoms/Input/inputShellStyles.d.ts +1 -1
  36. package/dist/components/atoms/Input/inputShellStyles.d.ts.map +1 -1
  37. package/dist/components/atoms/Input/inputShellStyles.js +3 -3
  38. package/dist/components/atoms/Skeleton/skeletonStyles.js +1 -1
  39. package/dist/components/atoms/Switch/Switch.d.ts.map +1 -1
  40. package/dist/components/atoms/Switch/Switch.js +45 -44
  41. package/dist/components/atoms/Switch/switchStyles.d.ts +1 -1
  42. package/dist/components/atoms/Switch/switchStyles.d.ts.map +1 -1
  43. package/dist/components/atoms/Switch/switchStyles.js +1 -1
  44. package/dist/components/atoms/TextArea/textareaShellStyles.js +3 -3
  45. package/dist/components/molecules/Accordion/accordionStyles.d.ts +1 -1
  46. package/dist/components/molecules/Accordion/accordionStyles.d.ts.map +1 -1
  47. package/dist/components/molecules/Accordion/accordionStyles.js +1 -1
  48. package/dist/components/molecules/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  49. package/dist/components/molecules/Breadcrumb/Breadcrumb.js +80 -122
  50. package/dist/components/molecules/Card/cardStyles.js +1 -1
  51. package/dist/components/molecules/ChatQa/chatQaStyles.d.ts +1 -1
  52. package/dist/components/molecules/ChatQa/chatQaStyles.d.ts.map +1 -1
  53. package/dist/components/molecules/ChatQa/chatQaStyles.js +1 -1
  54. package/dist/components/molecules/Chip/chipStyles.js +1 -1
  55. package/dist/components/molecules/Dropdown/Dropdown.d.ts +1 -1
  56. package/dist/components/molecules/Dropdown/DropdownItem.d.ts +2 -2
  57. package/dist/components/molecules/Dropdown/DropdownItem.d.ts.map +1 -1
  58. package/dist/components/molecules/Dropdown/DropdownItem.js +30 -27
  59. package/dist/components/molecules/Dropdown/dropdownStyles.js +1 -1
  60. package/dist/components/molecules/Dropdown/resolveOverflow.d.ts +14 -0
  61. package/dist/components/molecules/Dropdown/resolveOverflow.d.ts.map +1 -0
  62. package/dist/components/{organisms/Tab/tabOverflow.js → molecules/Dropdown/resolveOverflow.js} +2 -2
  63. package/dist/components/molecules/Dropdown/useDropdownMenu.d.ts +70 -0
  64. package/dist/components/molecules/Dropdown/useDropdownMenu.d.ts.map +1 -0
  65. package/dist/components/molecules/Dropdown/useDropdownMenu.js +155 -0
  66. package/dist/components/molecules/Dropdown/useOverflowMenu.d.ts +71 -0
  67. package/dist/components/molecules/Dropdown/useOverflowMenu.d.ts.map +1 -0
  68. package/dist/components/molecules/Dropdown/useOverflowMenu.js +61 -0
  69. package/dist/components/molecules/Field/Field.d.ts.map +1 -1
  70. package/dist/components/molecules/Field/Field.js +11 -10
  71. package/dist/components/molecules/LogView/logViewStyles.d.ts +1 -1
  72. package/dist/components/molecules/LogView/logViewStyles.d.ts.map +1 -1
  73. package/dist/components/molecules/LogView/logViewStyles.js +1 -1
  74. package/dist/components/molecules/PillGroup/pillGroupStyles.js +1 -1
  75. package/dist/components/molecules/Search/searchStyles.js +1 -1
  76. package/dist/components/molecules/SegmentedControl/segmentedControlStyles.d.ts +1 -1
  77. package/dist/components/molecules/SegmentedControl/segmentedControlStyles.d.ts.map +1 -1
  78. package/dist/components/molecules/SegmentedControl/segmentedControlStyles.js +3 -3
  79. package/dist/components/molecules/Select/Select.d.ts +3 -1
  80. package/dist/components/molecules/Select/Select.d.ts.map +1 -1
  81. package/dist/components/molecules/Select/Select.js +75 -119
  82. package/dist/components/molecules/Select/selectStyles.js +3 -3
  83. package/dist/components/molecules/Stat/statStyles.d.ts +1 -1
  84. package/dist/components/molecules/Stat/statStyles.d.ts.map +1 -1
  85. package/dist/components/molecules/Stat/statStyles.js +1 -1
  86. package/dist/components/molecules/TextSequence/TextSequence.d.ts.map +1 -1
  87. package/dist/components/molecules/TextSequence/TextSequence.js +35 -35
  88. package/dist/components/organisms/AppShell/AppShell.d.ts +2 -0
  89. package/dist/components/organisms/AppShell/AppShell.d.ts.map +1 -1
  90. package/dist/components/organisms/AppShell/AppShell.js +138 -129
  91. package/dist/components/organisms/AppShell/appShellStyles.d.ts +2 -0
  92. package/dist/components/organisms/AppShell/appShellStyles.d.ts.map +1 -1
  93. package/dist/components/organisms/AppShell/appShellStyles.js +2 -2
  94. package/dist/components/organisms/Dialog/AlertDialog.d.ts +7 -1
  95. package/dist/components/organisms/Dialog/AlertDialog.d.ts.map +1 -1
  96. package/dist/components/organisms/Dialog/AlertDialog.js +54 -50
  97. package/dist/components/organisms/Dialog/Dialog.d.ts.map +1 -1
  98. package/dist/components/organisms/Dialog/Dialog.js +52 -71
  99. package/dist/components/organisms/Dialog/dialogStyles.d.ts +14 -1
  100. package/dist/components/organisms/Dialog/dialogStyles.d.ts.map +1 -1
  101. package/dist/components/organisms/Dialog/dialogStyles.js +3 -3
  102. package/dist/components/organisms/FilterPanel/FilterPanel.d.ts.map +1 -1
  103. package/dist/components/organisms/FilterPanel/FilterPanel.js +52 -42
  104. package/dist/components/organisms/IntakeModal/IntakeModal.d.ts +6 -1
  105. package/dist/components/organisms/IntakeModal/IntakeModal.d.ts.map +1 -1
  106. package/dist/components/organisms/IntakeModal/IntakeModal.js +54 -66
  107. package/dist/components/organisms/MoreMenu/MoreMenu.d.ts.map +1 -1
  108. package/dist/components/organisms/MoreMenu/MoreMenu.js +45 -101
  109. package/dist/components/organisms/Panel/Panel.d.ts.map +1 -1
  110. package/dist/components/organisms/Panel/Panel.js +44 -53
  111. package/dist/components/organisms/Sheet/Sheet.d.ts.map +1 -1
  112. package/dist/components/organisms/Sheet/Sheet.js +69 -90
  113. package/dist/components/organisms/SiteNav/SiteNav.d.ts +0 -9
  114. package/dist/components/organisms/SiteNav/SiteNav.d.ts.map +1 -1
  115. package/dist/components/organisms/SiteNav/SiteNav.js +236 -286
  116. package/dist/components/organisms/SiteNav/siteNavStyles.js +1 -1
  117. package/dist/components/organisms/Tab/Tab.d.ts.map +1 -1
  118. package/dist/components/organisms/Tab/Tab.js +77 -127
  119. package/dist/components/organisms/Tab/tabStyles.d.ts +2 -1
  120. package/dist/components/organisms/Tab/tabStyles.d.ts.map +1 -1
  121. package/dist/components/organisms/Tab/tabStyles.js +2 -2
  122. package/dist/fonts.css +10 -0
  123. package/dist/grid.css +38 -0
  124. package/dist/index.d.ts +2 -0
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +135 -131
  127. package/dist/lib/contrast.d.ts +11 -0
  128. package/dist/lib/contrast.d.ts.map +1 -0
  129. package/dist/lib/dialogOverlay.d.ts +27 -1
  130. package/dist/lib/dialogOverlay.d.ts.map +1 -1
  131. package/dist/lib/dialogOverlay.js +87 -25
  132. package/dist/lib/typography.d.ts +1 -1
  133. package/dist/lib/typography.d.ts.map +1 -1
  134. package/dist/shape.css +24 -3
  135. package/dist/styles.css +1 -1
  136. package/dist/typography.css +55 -8
  137. package/docs/components.md +4 -2
  138. package/docs/exports.json +55 -1
  139. package/docs/patterns/components-accordion--flush.tsx +1 -1
  140. package/docs/patterns/components-appshell--portal-dashboard-pattern.tsx +1 -1
  141. package/docs/patterns/components-avatar--dropdown-row.tsx +1 -1
  142. package/docs/patterns/components-badge--outline-tags.tsx +1 -1
  143. package/docs/patterns/components-badge--status-pill.tsx +1 -1
  144. package/docs/patterns/components-badge--with-avatar.tsx +1 -1
  145. package/docs/patterns/components-band--page-in-bands.tsx +39 -0
  146. package/docs/patterns/components-breadcrumb--editorial.tsx +1 -1
  147. package/docs/patterns/components-breadcrumb--long-path.tsx +1 -1
  148. package/docs/patterns/components-breadcrumb--path.tsx +1 -1
  149. package/docs/patterns/components-breadcrumb--router-links.tsx +1 -1
  150. package/docs/patterns/components-button-button--copy-button.tsx +1 -1
  151. package/docs/patterns/components-button-button--destructive-action.tsx +1 -1
  152. package/docs/patterns/components-button-button--external-link.tsx +1 -1
  153. package/docs/patterns/components-button-button--ghost-action.tsx +1 -1
  154. package/docs/patterns/components-button-button--inverse-action.tsx +1 -1
  155. package/docs/patterns/components-button-button--link-render.tsx +1 -1
  156. package/docs/patterns/components-button-button--multi-state-badge.tsx +1 -1
  157. package/docs/patterns/components-button-button--outline-mono.tsx +1 -1
  158. package/docs/patterns/components-button-button--primary-action.tsx +1 -1
  159. package/docs/patterns/components-button-button--row-hug.tsx +1 -1
  160. package/docs/patterns/components-button-button--row-layout.tsx +1 -1
  161. package/docs/patterns/components-button-button--secondary-action.tsx +1 -1
  162. package/docs/patterns/components-button-button--suggestion-pills.tsx +1 -1
  163. package/docs/patterns/components-button-button--with-count.tsx +1 -1
  164. package/docs/patterns/components-button-button--with-icon.tsx +1 -1
  165. package/docs/patterns/components-button-floatingactionbutton--vertical-actions.tsx +1 -1
  166. package/docs/patterns/components-calembed--pattern-skip-in-footer.tsx +1 -1
  167. package/docs/patterns/components-card-card--body-slot-occupancy-history.tsx +1 -1
  168. package/docs/patterns/components-card-card--headerless-media.tsx +1 -1
  169. package/docs/patterns/components-card-card--outlined-layout.tsx +1 -1
  170. package/docs/patterns/components-card-card--pinned-height.tsx +1 -1
  171. package/docs/patterns/components-card-card--terminal-frame.tsx +1 -1
  172. package/docs/patterns/components-card-selectablecard--selectable-cards-pattern.tsx +1 -1
  173. package/docs/patterns/components-carousel--image-carousel.tsx +1 -1
  174. package/docs/patterns/components-chart--audience-activity-heatmap.tsx +1 -1
  175. package/docs/patterns/components-chart--cartesian-no-data-gaps.tsx +1 -1
  176. package/docs/patterns/components-chart--occupancy-history-in-card.tsx +1 -1
  177. package/docs/patterns/components-chart--occupancy-in-card.tsx +1 -1
  178. package/docs/patterns/components-chart--post-reach-distribution.tsx +1 -1
  179. package/docs/patterns/components-chart--ranked-audience-breakdown.tsx +1 -1
  180. package/docs/patterns/components-chart--revenue-by-line.tsx +1 -1
  181. package/docs/patterns/components-chart--segmented-ring-pattern.tsx +1 -1
  182. package/docs/patterns/components-chart--unit-grid-composition.tsx +1 -1
  183. package/docs/patterns/components-chatdock--pattern-chat-dock.tsx +1 -1
  184. package/docs/patterns/components-chatdock--pattern-start-project-gate.tsx +1 -1
  185. package/docs/patterns/components-chatqa--pattern-qa-with-reply.tsx +1 -1
  186. package/docs/patterns/components-checkbox-checkbox--default.tsx +1 -1
  187. package/docs/patterns/components-checkbox-checkbox--with-count.tsx +1 -1
  188. package/docs/patterns/components-checkbox-checkbox--with-description.tsx +1 -1
  189. package/docs/patterns/components-checkbox-checkboxgroup--default.tsx +1 -1
  190. package/docs/patterns/components-checkbox-checkboxgroup--option-counts.tsx +1 -1
  191. package/docs/patterns/components-copyfield--clipboard-blocked.tsx +1 -1
  192. package/docs/patterns/components-copyfield--copied.tsx +1 -1
  193. package/docs/patterns/components-copyfield--copy-key.tsx +1 -1
  194. package/docs/patterns/components-copyfield--on-navy.tsx +1 -1
  195. package/docs/patterns/components-descriptionlist--details.tsx +1 -1
  196. package/docs/patterns/components-descriptionlist--post-metadata.tsx +1 -1
  197. package/docs/patterns/components-dialog--alert-dialog-destructive.tsx +1 -1
  198. package/docs/patterns/components-dialog--alert-dialog-typed-confirmation.tsx +54 -0
  199. package/docs/patterns/components-dialog--default-dialog.tsx +1 -1
  200. package/docs/patterns/components-dialog--form-dialog.tsx +1 -1
  201. package/docs/patterns/components-displaycontrols--page-utilities.tsx +1 -1
  202. package/docs/patterns/components-displaycontrols--theme-switch.tsx +1 -1
  203. package/docs/patterns/components-field--horizontal-input.tsx +1 -1
  204. package/docs/patterns/components-field--horizontal-text-area.tsx +1 -1
  205. package/docs/patterns/components-field--multi-control.tsx +1 -1
  206. package/docs/patterns/components-filterpanel--panel.tsx +1 -1
  207. package/docs/patterns/components-footerreveal--marketing-hero-pattern.tsx +1 -1
  208. package/docs/patterns/components-footerreveal--marketing-hero-ruled-pattern.tsx +1 -1
  209. package/docs/patterns/components-footerreveal--marketing-hero-with-gallery-intro.tsx +1 -1
  210. package/docs/patterns/components-footerreveal--marketing-page-pattern.tsx +1 -1
  211. package/docs/patterns/components-footerreveal--ruled-grid-footer-pattern.tsx +1 -1
  212. package/docs/patterns/components-footerreveal--sequenced-marketing-hero.tsx +1 -1
  213. package/docs/patterns/components-herointro--two-line-intro.tsx +1 -1
  214. package/docs/patterns/components-herotilestack--marketing-hero-pattern.tsx +1 -1
  215. package/docs/patterns/components-herotilestack--marketing-hero-text-sequence.tsx +1 -1
  216. package/docs/patterns/components-herotilestack--marketing-hero-with-gallery-intro.tsx +1 -1
  217. package/docs/patterns/components-indexlist--post-index.tsx +1 -1
  218. package/docs/patterns/components-intakeconfirmation--booked-pattern.tsx +1 -1
  219. package/docs/patterns/components-intakeconfirmation--emailed-pattern.tsx +1 -1
  220. package/docs/patterns/components-intakeform--about-you-pattern.tsx +1 -1
  221. package/docs/patterns/components-intakeform--short-form-pattern.tsx +1 -1
  222. package/docs/patterns/components-intakemodal--intake-modal-pattern.tsx +1 -1
  223. package/docs/patterns/components-kbd--command-row.tsx +1 -1
  224. package/docs/patterns/components-kbd--numbered-choices.tsx +1 -1
  225. package/docs/patterns/components-kbd--shortcut.tsx +1 -1
  226. package/docs/patterns/components-linktile--resource-tile.tsx +1 -1
  227. package/docs/patterns/components-linktile--router-link.tsx +1 -1
  228. package/docs/patterns/components-logview--detail-pane.tsx +1 -1
  229. package/docs/patterns/components-logview--log-viewer.tsx +1 -1
  230. package/docs/patterns/components-moremenu--action-menu.tsx +1 -1
  231. package/docs/patterns/components-moremenu--in-card-header.tsx +1 -1
  232. package/docs/patterns/components-navlist--app-sidebar.tsx +1 -1
  233. package/docs/patterns/components-navlist--side-nav-settings.tsx +1 -1
  234. package/docs/patterns/components-pageheader--app-header-pattern.tsx +1 -1
  235. package/docs/patterns/components-pageheader--page-section-header.tsx +1 -1
  236. package/docs/patterns/components-pageheader--toolbar-header.tsx +1 -1
  237. package/docs/patterns/components-panel--end-detail-rail.tsx +1 -1
  238. package/docs/patterns/components-pillgroup--pill-group-pattern.tsx +1 -1
  239. package/docs/patterns/components-promptbar--pattern-prompt-bar.tsx +1 -1
  240. package/docs/patterns/components-prose--article-body.tsx +1 -1
  241. package/docs/patterns/components-radio-radiogroup--default.tsx +1 -1
  242. package/docs/patterns/components-scrollhorizontal--project-gallery-pattern.tsx +1 -1
  243. package/docs/patterns/components-scrollhorizontal--with-intro.tsx +1 -1
  244. package/docs/patterns/components-sectioncaption--column-caption.tsx +1 -1
  245. package/docs/patterns/components-sectioncaption--with-action.tsx +1 -1
  246. package/docs/patterns/components-sheet--bottom-sheet.tsx +1 -1
  247. package/docs/patterns/components-sheet--end-sheet.tsx +1 -1
  248. package/docs/patterns/components-sheet--side-sheet-header-actions.tsx +1 -1
  249. package/docs/patterns/components-sheet--side-sheet-url-deep-link.tsx +1 -1
  250. package/docs/patterns/components-sheet--side-sheet.tsx +1 -1
  251. package/docs/patterns/components-sitenav--brand-and-cta.tsx +1 -1
  252. package/docs/patterns/components-sitenav--centered-links.tsx +1 -1
  253. package/docs/patterns/components-sitenav--compact.tsx +1 -1
  254. package/docs/patterns/components-sitenav--marketing-header.tsx +1 -1
  255. package/docs/patterns/components-sitenav--mega-menu.tsx +1 -1
  256. package/docs/patterns/components-stat--hero-stat.tsx +1 -1
  257. package/docs/patterns/components-stat--insights-row.tsx +1 -1
  258. package/docs/patterns/components-stepprogress--step-progress-pattern.tsx +1 -1
  259. package/docs/patterns/components-switch--default.tsx +1 -1
  260. package/docs/patterns/components-switch--settings-row.tsx +1 -1
  261. package/docs/patterns/components-tab--settings-pages.tsx +1 -1
  262. package/docs/patterns/components-table--approvals-with-sheet.tsx +1 -1
  263. package/docs/patterns/components-table--approvals.tsx +1 -1
  264. package/docs/patterns/components-table--basic.tsx +1 -1
  265. package/docs/patterns/components-taskrows--action-details.tsx +1 -1
  266. package/docs/patterns/components-taskrows--capsules.tsx +1 -1
  267. package/docs/patterns/components-taskrows--card-with-status-rows.tsx +1 -1
  268. package/docs/patterns/components-taskrows--controlled-expand.tsx +1 -1
  269. package/docs/patterns/components-taskrows--custom-slots.tsx +1 -1
  270. package/docs/patterns/components-taskrows--needs-you-table.tsx +1 -1
  271. package/docs/patterns/components-taskrows--status-list.tsx +1 -1
  272. package/docs/patterns/components-taskrows--tag-chips.tsx +1 -1
  273. package/docs/patterns/components-textarea--save-status.tsx +1 -1
  274. package/docs/patterns/components-textlink--external-destination.tsx +1 -1
  275. package/docs/patterns/components-textlink--inline-prose.tsx +1 -1
  276. package/docs/patterns/components-textlink--quiet-title.tsx +1 -1
  277. package/docs/patterns/components-textlink--supporting-copy.tsx +1 -1
  278. package/docs/patterns/components-textsequence--default.tsx +1 -1
  279. package/docs/patterns/components-textsequence--reduced-motion.tsx +1 -1
  280. package/docs/patterns/components-textsequence--shapes.tsx +1 -1
  281. package/docs/patterns/components-tilegrid--masonry.tsx +1 -1
  282. package/docs/patterns/components-toast--stacked-notifications.tsx +1 -1
  283. package/docs/patterns/components-tooltip--controlled.tsx +1 -1
  284. package/docs/patterns/components-tooltip--disabled-control.tsx +1 -1
  285. package/docs/patterns/components-tooltip--icon-action.tsx +1 -1
  286. package/docs/patterns/components-tooltip--keyboard-shortcut.tsx +1 -1
  287. package/docs/patterns/components-tooltip--placement.tsx +1 -1
  288. package/docs/patterns/foundations-scroll-fade--horizontal-rail.tsx +1 -1
  289. package/docs/patterns/foundations-scroll-fade--overflowing-list.tsx +1 -1
  290. package/docs/patterns/guides-chart-explorations--comparison-gallery.tsx +1 -1
  291. package/docs/patterns/guides-filter-panel--filtered-grid.tsx +1 -1
  292. package/docs/patterns/guides-filter-panel--filtered-index.tsx +1 -1
  293. package/docs/patterns/guides-overlay-flows--notification-preferences.tsx +1 -1
  294. package/docs/patterns/guides-post-page--post-page.tsx +1 -1
  295. package/docs/patterns/guides-profile-typography--editorial-profile.tsx +1 -1
  296. package/docs/patterns/guides-resource-detail--detail.tsx +1 -1
  297. package/docs/patterns/index.json +17 -1
  298. package/package.json +1 -1
  299. package/dist/components/organisms/Tab/tabOverflow.d.ts +0 -14
  300. package/dist/components/organisms/Tab/tabOverflow.d.ts.map +0 -1
@@ -1,52 +1,55 @@
1
1
  "use client";
2
2
  import { cn as e } from "../../../lib/cn.js";
3
3
  import { dropdownItemButtonClasses as t, dropdownItemEndClasses as n, dropdownItemLabelClasses as r, dropdownItemLabelFullClasses as i, dropdownItemSelectedCheckClasses as a, dropdownItemStartClasses as o } from "./dropdownStyles.js";
4
- import { Check as s } from "lucide-react";
5
- import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
6
- import { useRender as d } from "@base-ui/react/use-render";
4
+ import { forwardRef as s } from "react";
5
+ import { Check as c } from "lucide-react";
6
+ import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
7
+ import { useRender as f } from "@base-ui/react/use-render";
7
8
  //#region src/components/molecules/Dropdown/DropdownItem.tsx
8
- function f({ children: d, start: f, end: m, selected: h = !1, active: g = !1, truncate: _ = !0, disabled: v, className: y, type: b = "button", render: x, ...S }) {
9
- let C = h ? /* @__PURE__ */ l("span", {
9
+ var p = s(function({ children: s, start: f, end: p, selected: h = !1, active: g = !1, truncate: _ = !0, disabled: v, className: y, type: b = "button", render: x, ...S }, C) {
10
+ let w = h ? /* @__PURE__ */ u("span", {
10
11
  className: a,
11
12
  "aria-hidden": !0,
12
- children: /* @__PURE__ */ l(s, { strokeWidth: 2 })
13
- }) : m == null ? null : /* @__PURE__ */ l("span", {
13
+ children: /* @__PURE__ */ u(c, { strokeWidth: 2 })
14
+ }) : p == null ? null : /* @__PURE__ */ u("span", {
14
15
  className: n,
15
- children: m
16
- }), w = e(t, h && "hover:bg-transparent focus-visible:bg-transparent", g && !h && "bg-accent-muted", v && "pointer-events-none opacity-50", y), T = /* @__PURE__ */ u(c, { children: [
17
- f == null ? null : /* @__PURE__ */ l("span", {
16
+ children: p
17
+ }), T = e(t, h && !g && "hover:bg-transparent", g && "bg-accent-muted", v && "pointer-events-none opacity-50", y), E = /* @__PURE__ */ d(l, { children: [
18
+ f == null ? null : /* @__PURE__ */ u("span", {
18
19
  className: o,
19
20
  "aria-hidden": !0,
20
21
  children: f
21
22
  }),
22
- /* @__PURE__ */ l("span", {
23
+ /* @__PURE__ */ u("span", {
23
24
  className: _ ? r : i,
24
- children: d
25
+ children: s
25
26
  }),
26
- C
27
+ w
27
28
  ] });
28
- return /* @__PURE__ */ l(p, {
29
+ return /* @__PURE__ */ u(m, {
29
30
  ...S,
31
+ elementRef: C,
30
32
  render: x,
31
33
  type: b,
32
34
  disabled: v,
33
- className: w,
34
- children: T
35
+ className: T,
36
+ children: E
35
37
  });
36
- }
37
- function p({ render: e, type: t, disabled: n, ...r }) {
38
- return d({
39
- render: e,
38
+ });
39
+ function m({ elementRef: e, render: t, type: n, disabled: r, ...i }) {
40
+ return f({
41
+ render: t,
42
+ ref: e,
40
43
  defaultTagName: "button",
41
- props: e ? {
42
- ...r,
43
- "aria-disabled": n ? !0 : void 0
44
+ props: t ? {
45
+ ...i,
46
+ "aria-disabled": r ? !0 : void 0
44
47
  } : {
45
- ...r,
46
- type: t,
47
- disabled: n
48
+ ...i,
49
+ type: n,
50
+ disabled: r
48
51
  }
49
52
  });
50
53
  }
51
54
  //#endregion
52
- export { f as DropdownItem };
55
+ export { p as DropdownItem };
@@ -3,6 +3,6 @@ import { cn as e } from "../../../lib/cn.js";
3
3
  import { typographyClass as t } from "../../../lib/typography.js";
4
4
  import { motionTransition as n } from "../../../lib/motion.js";
5
5
  //#region src/components/molecules/Dropdown/dropdownStyles.ts
6
- var r = e("z-50 max-h-60 overflow-y-auto rounded-2xl border border-elevation-edge bg-surface p-0.5 shadow-soft-sm", n("fast")), i = "m-0 flex list-none flex-col gap-0.5 p-0", a = e(t("body"), "cursor-pointer items-center gap-2 rounded-[14px] px-3.5 py-2 text-left text-fg", "transition-[color,background-color] hover:bg-accent-muted focus-visible:outline-none focus-visible:bg-accent-muted", n("fast")), o = e(a, "flex w-full"), s = e(a, "inline-flex w-max max-w-none"), c = "bg-accent-muted", l = "pointer-events-none opacity-50", u = "flex shrink-0 items-center text-muted [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:stroke-current", d = "min-w-0 flex-1 truncate text-left", f = "min-w-0 flex-1 whitespace-nowrap text-left", p = e(t("body"), "whitespace-nowrap text-left"), m = e(t("caption"), "shrink-0 font-mono tabular-nums text-muted"), h = "flex shrink-0 items-center text-fg [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:stroke-current";
6
+ var r = e("z-50 max-h-60 overflow-y-auto rounded-[var(--radius-surface)] border border-elevation-edge bg-surface p-0.5 shadow-soft-sm", n("fast")), i = "m-0 flex list-none flex-col gap-0.5 p-0", a = e(t("body"), "cursor-pointer items-center gap-2 rounded-[14px] px-3.5 py-2 text-left text-fg", "transition-[color,background-color] hover:bg-accent-muted focus-visible:outline-none focus-visible:bg-accent-muted", n("fast")), o = e(a, "flex w-full"), s = e(a, "inline-flex w-max max-w-none"), c = "bg-accent-muted", l = "pointer-events-none opacity-50", u = "flex shrink-0 items-center text-muted [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:stroke-current", d = "min-w-0 flex-1 truncate text-left", f = "min-w-0 flex-1 whitespace-nowrap text-left", p = e(t("body"), "whitespace-nowrap text-left"), m = e(t("caption"), "shrink-0 font-mono tabular-nums text-muted"), h = "flex shrink-0 items-center text-fg [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:stroke-current";
7
7
  //#endregion
8
8
  export { c as dropdownItemActiveClasses, o as dropdownItemButtonClasses, l as dropdownItemDisabledClasses, m as dropdownItemEndClasses, d as dropdownItemLabelClasses, f as dropdownItemLabelFullClasses, s as dropdownItemMeasureButtonClasses, p as dropdownItemMeasureLabelClasses, a as dropdownItemRowClasses, h as dropdownItemSelectedCheckClasses, u as dropdownItemStartClasses, r as dropdownMenuClasses, i as dropdownMenuListClasses };
@@ -0,0 +1,14 @@
1
+ export interface OverflowItem {
2
+ value: string;
3
+ width: number;
4
+ }
5
+ export interface OverflowResult {
6
+ visibleValues: string[];
7
+ overflowValues: string[];
8
+ }
9
+ /**
10
+ * Fits a stable prefix plus More. When the active item came from overflow, it
11
+ * occupies the final visible slot immediately before More. Shared by **Tab** and **SiteNav**.
12
+ */
13
+ export declare function resolveOverflow(items: OverflowItem[], activeValue: string, availableWidth: number, moreWidth: number, trackInset?: number): OverflowResult;
14
+ //# sourceMappingURL=resolveOverflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveOverflow.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Dropdown/resolveOverflow.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,YAAY,EAAE,EACrB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,UAAU,SAAI,GACb,cAAc,CA+ChB"}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- //#region src/components/organisms/Tab/tabOverflow.ts
2
+ //#region src/components/molecules/Dropdown/resolveOverflow.ts
3
3
  function e(e, t, n, r, i = 0) {
4
4
  let a = Math.max(n - i, 0);
5
5
  if (e.reduce((e, t) => e + t.width, 0) <= a) return {
@@ -23,4 +23,4 @@ function e(e, t, n, r, i = 0) {
23
23
  };
24
24
  }
25
25
  //#endregion
26
- export { e as resolveTabOverflow };
26
+ export { e as resolveOverflow };
@@ -0,0 +1,70 @@
1
+ import { type CSSProperties, type FocusEvent, type KeyboardEvent, type RefObject } from "react";
2
+ export type DropdownMenuRow = {
3
+ label: string;
4
+ disabled?: boolean;
5
+ };
6
+ /**
7
+ * Where keyboard focus lives while the menu is open.
8
+ * - `trigger`: focus stays on the trigger, which names the active row with `aria-activedescendant`
9
+ * (a select-only combobox: **Select**).
10
+ * - `items`: focus moves onto the rows (roving focus: the menu-button pattern for action menus and
11
+ * menus of links). `aria-activedescendant` is not allowed on a `button`.
12
+ */
13
+ export type DropdownMenuFocus = "trigger" | "items";
14
+ export type DropdownMenuOpenAt = "first" | "last" | "initial" | number;
15
+ export interface DropdownMenuOptions {
16
+ /** Rows in order. Labels drive type-ahead; disabled rows are skipped by the keyboard. */
17
+ rows: readonly DropdownMenuRow[];
18
+ /** The focusable trigger. Focus returns here on Escape. */
19
+ triggerRef: RefObject<HTMLElement | null>;
20
+ /** Positions the menu against the trigger (or a wider shell); called on open, scroll and resize. */
21
+ measure: () => CSSProperties | null;
22
+ focus: DropdownMenuFocus;
23
+ /** Row the menu opens on with `"initial"`: the selected option of a Select. Default: first enabled. */
24
+ initialIndex?: number;
25
+ /** `trigger` focus only: Enter or Space on the trigger chooses the active row. */
26
+ onChoose?: (index: number) => void;
27
+ }
28
+ /**
29
+ * Open state, dismissal, keyboard, and position for every WMDS dropdown menu (Select, MoreMenu,
30
+ * Breadcrumb, Tab and SiteNav More). Spread `rootProps` on an element that wraps the trigger and the
31
+ * menu (a portaled menu still counts: React events bubble through portals).
32
+ *
33
+ * Dismissal: Escape (handled here, `preventDefault` so an enclosing Dialog or Sheet stays open), a
34
+ * pointer press outside, focus leaving (Tab), and choosing a row. Scroll and resize reposition the menu.
35
+ */
36
+ export declare function useDropdownMenu({ rows, triggerRef, measure, focus, initialIndex, onChoose, }: DropdownMenuOptions): {
37
+ open: boolean;
38
+ activeIndex: number;
39
+ menuStyle: CSSProperties | null;
40
+ openMenu: (at?: DropdownMenuOpenAt) => void;
41
+ close: ({ returnFocus }?: {
42
+ returnFocus?: boolean;
43
+ }) => void;
44
+ toggle: () => void;
45
+ rootProps: {
46
+ ref: (node: HTMLElement | null) => void;
47
+ onKeyDown: (event: KeyboardEvent<HTMLElement>) => void;
48
+ onBlur: (event: FocusEvent<HTMLElement>) => void;
49
+ };
50
+ triggerProps: {
51
+ "aria-expanded": boolean;
52
+ "aria-controls": string | undefined;
53
+ "aria-activedescendant": string | undefined;
54
+ };
55
+ menuProps: {
56
+ id: string;
57
+ ref: (node: HTMLElement | null) => void;
58
+ style: CSSProperties | undefined;
59
+ };
60
+ rowProps: (index: number) => {
61
+ id: string;
62
+ ref: (node: HTMLElement | null) => void;
63
+ tabIndex: number;
64
+ active: boolean;
65
+ onMouseEnter: () => void;
66
+ };
67
+ };
68
+ /** The next enabled row from `from` in `direction`, wrapping; `from` itself if none is enabled. */
69
+ export declare function stepEnabled(rows: readonly DropdownMenuRow[], from: number, direction: 1 | -1): number;
70
+ //# sourceMappingURL=useDropdownMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDropdownMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Dropdown/useDropdownMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpD,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,yFAAyF;IACzF,IAAI,EAAE,SAAS,eAAe,EAAE,CAAC;IACjC,2DAA2D;IAC3D,UAAU,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC1C,oGAAoG;IACpG,OAAO,EAAE,MAAM,aAAa,GAAG,IAAI,CAAC;IACpC,KAAK,EAAE,iBAAiB,CAAC;IACzB,uGAAuG;IACvG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAID;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,UAAU,EACV,OAAO,EACP,KAAK,EACL,YAAY,EACZ,QAAQ,GACT,EAAE,mBAAmB;;;;oBA8Bb,kBAAkB;8BASG;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE;;;oBA4IrC,WAAW,GAAG,IAAI;2BAzEJ,aAAa,CAAC,WAAW,CAAC;wBA6D7B,UAAU,CAAC,WAAW,CAAC;;;;;;;;;oBAyBlC,WAAW,GAAG,IAAI;;;sBAKd,MAAM;;oBAEV,WAAW,GAAG,IAAI;;;;;EAUnC;AAED,mGAAmG;AACnG,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAQrG"}
@@ -0,0 +1,155 @@
1
+ "use client";
2
+ import { useCallback as e, useEffect as t, useId as n, useLayoutEffect as r, useRef as i, useState as a } from "react";
3
+ //#region src/components/molecules/Dropdown/useDropdownMenu.ts
4
+ var o = 500;
5
+ function s({ rows: s, triggerRef: l, measure: u, focus: d, initialIndex: f, onChoose: p }) {
6
+ let m = n(), h = i(null), g = i(null), _ = i([]), v = i({
7
+ text: "",
8
+ at: 0
9
+ }), [y, b] = a(!1), [x, S] = a(0), [C, w] = a(null), T = i(u);
10
+ t(() => {
11
+ T.current = u;
12
+ });
13
+ let E = e((e) => `${m}-row-${e}`, [m]), D = e((e) => typeof e == "number" ? e : e === "last" ? c(s, s.length, -1) : e === "initial" && f != null && f >= 0 && !s[f]?.disabled ? f : c(s, -1, 1), [f, s]), O = e((e = "initial") => {
14
+ w(T.current()), S(D(e)), b(!0);
15
+ }, [D]), k = e(({ returnFocus: e = !1 } = {}) => {
16
+ b(!1), w(null), v.current = {
17
+ text: "",
18
+ at: 0
19
+ }, e && l.current?.focus();
20
+ }, [l]), A = e(() => y ? k() : O(), [
21
+ k,
22
+ y,
23
+ O
24
+ ]);
25
+ r(() => {
26
+ if (!y) return;
27
+ let e = () => w(T.current());
28
+ return window.addEventListener("resize", e), window.addEventListener("scroll", e, !0), () => {
29
+ window.removeEventListener("resize", e), window.removeEventListener("scroll", e, !0);
30
+ };
31
+ }, [y]), t(() => {
32
+ if (!y) return;
33
+ function e(e) {
34
+ j(e.target) || k();
35
+ }
36
+ return document.addEventListener("pointerdown", e), () => document.removeEventListener("pointerdown", e);
37
+ }), r(() => {
38
+ !y || d !== "items" || C == null || _.current[x]?.focus({ preventScroll: !0 });
39
+ }, [
40
+ x,
41
+ d,
42
+ C,
43
+ y
44
+ ]), r(() => {
45
+ !y || d !== "trigger" || _.current[x]?.scrollIntoView?.({ block: "nearest" });
46
+ }, [
47
+ x,
48
+ d,
49
+ y
50
+ ]);
51
+ function j(e) {
52
+ return e != null && (h.current?.contains(e) === !0 || g.current?.contains(e) === !0);
53
+ }
54
+ function M(e) {
55
+ let t = Date.now(), n = v.current;
56
+ n.text = t - n.at > o ? e : n.text + e, n.at = t;
57
+ let r = n.text.toLowerCase(), i = r.length > 1 && [...r].every((e) => e === r[0]), a = i ? r[0] : r, c = y ? x + (i || r.length === 1 ? 1 : 0) : 0;
58
+ for (let e = 0; e < s.length; e += 1) {
59
+ let t = (c + e) % s.length, n = s[t];
60
+ if (n != null && !n.disabled && n.label.toLowerCase().startsWith(a)) return t;
61
+ }
62
+ return null;
63
+ }
64
+ function N(e) {
65
+ if (e.nativeEvent.isComposing) return;
66
+ let { key: t } = e, n = t.length === 1 && t !== " " && !e.metaKey && !e.ctrlKey && !e.altKey, r = l.current?.contains(e.target) === !0;
67
+ if (!y) {
68
+ if (!r) return;
69
+ if (t === "ArrowDown" || t === "ArrowUp") e.preventDefault(), O(d === "trigger" ? "initial" : t === "ArrowDown" ? "first" : "last");
70
+ else if (d === "trigger" && (t === "Home" || t === "End")) e.preventDefault(), O(t === "Home" ? "first" : "last");
71
+ else if (d === "trigger" && (t === "Enter" || t === " ")) e.preventDefault(), O();
72
+ else if (d === "trigger" && n) {
73
+ let e = M(t);
74
+ e != null && O(e);
75
+ }
76
+ return;
77
+ }
78
+ switch (t) {
79
+ case "Escape":
80
+ e.preventDefault(), k({ returnFocus: !0 });
81
+ return;
82
+ case "Tab":
83
+ k();
84
+ return;
85
+ case "ArrowDown":
86
+ case "ArrowUp":
87
+ e.preventDefault(), S((e) => c(s, e, t === "ArrowDown" ? 1 : -1));
88
+ return;
89
+ case "Home":
90
+ case "End":
91
+ e.preventDefault(), S(D(t === "Home" ? "first" : "last"));
92
+ return;
93
+ case "Enter":
94
+ case " ":
95
+ d === "trigger" ? (e.preventDefault(), s[x]?.disabled || p?.(x)) : t === " " && !r && (e.preventDefault(), _.current[x]?.click());
96
+ return;
97
+ default: if (n) {
98
+ let e = M(t);
99
+ e != null && S(e);
100
+ }
101
+ }
102
+ }
103
+ function P(e) {
104
+ y && !j(e.relatedTarget) && k();
105
+ }
106
+ return {
107
+ open: y,
108
+ activeIndex: x,
109
+ menuStyle: C,
110
+ openMenu: O,
111
+ close: k,
112
+ toggle: A,
113
+ rootProps: {
114
+ ref: (e) => {
115
+ h.current = e;
116
+ },
117
+ onKeyDown: N,
118
+ onBlur: P
119
+ },
120
+ triggerProps: {
121
+ "aria-expanded": y,
122
+ "aria-controls": y ? m : void 0,
123
+ "aria-activedescendant": d === "trigger" && y ? E(x) : void 0
124
+ },
125
+ menuProps: {
126
+ id: m,
127
+ ref: (e) => {
128
+ g.current = e;
129
+ },
130
+ style: C ?? void 0
131
+ },
132
+ rowProps: (e) => ({
133
+ id: E(e),
134
+ ref: (t) => {
135
+ _.current[e] = t;
136
+ },
137
+ tabIndex: -1,
138
+ active: e === x,
139
+ onMouseEnter: () => {
140
+ s[e]?.disabled || S(e);
141
+ }
142
+ })
143
+ };
144
+ }
145
+ function c(e, t, n) {
146
+ let r = e.length;
147
+ if (r === 0) return 0;
148
+ for (let i = 1; i <= r; i += 1) {
149
+ let a = ((t + n * i) % r + r) % r;
150
+ if (!e[a]?.disabled) return a;
151
+ }
152
+ return Math.min(Math.max(t, 0), r - 1);
153
+ }
154
+ //#endregion
155
+ export { c as stepEnabled, s as useDropdownMenu };
@@ -0,0 +1,71 @@
1
+ import { type ReactNode } from "react";
2
+ import { type DropdownMenuMeasureRow } from "./dropdownMenuPosition";
3
+ import { type DropdownMenuRow } from "./useDropdownMenu";
4
+ export interface OverflowMenuOptions {
5
+ /** Every item's stable id, in order. */
6
+ ids: readonly string[];
7
+ /** The current item: it stays visible, promoted into the last slot before More. */
8
+ activeId: string;
9
+ /** The More menu's rows for the items that don't fit (a SiteNav menu flattens into several). */
10
+ toMenuRows: (overflowIds: readonly string[]) => DropdownMenuRow[];
11
+ /** How to size the menu (slots, counts, a check). Default: the rows' labels. */
12
+ toMeasureRows?: (overflowIds: readonly string[]) => DropdownMenuMeasureRow[];
13
+ }
14
+ /**
15
+ * A row of items that folds what doesn't fit into a More menu: **Tab** and **SiteNav**.
16
+ *
17
+ * Owns the measuring (an offscreen rail of every item plus More, a ResizeObserver on the row, a
18
+ * remeasure once fonts load), the fit ({@link resolveOverflow}), and the More menu's behaviour
19
+ * ({@link useDropdownMenu}, roving focus). Callers render their own items, More button, and rows.
20
+ */
21
+ export declare function useOverflowMenu({ ids, activeId, toMenuRows, toMeasureRows }: OverflowMenuOptions): {
22
+ visibleIds: readonly string[];
23
+ overflowIds: readonly string[];
24
+ menuRows: DropdownMenuRow[];
25
+ menu: {
26
+ open: boolean;
27
+ activeIndex: number;
28
+ menuStyle: import("react").CSSProperties | null;
29
+ openMenu: (at?: import("./useDropdownMenu").DropdownMenuOpenAt) => void;
30
+ close: ({ returnFocus }?: {
31
+ returnFocus?: boolean;
32
+ }) => void;
33
+ toggle: () => void;
34
+ rootProps: {
35
+ ref: (node: HTMLElement | null) => void;
36
+ onKeyDown: (event: import("react").KeyboardEvent<HTMLElement>) => void;
37
+ onBlur: (event: import("react").FocusEvent<HTMLElement>) => void;
38
+ };
39
+ triggerProps: {
40
+ "aria-expanded": boolean;
41
+ "aria-controls": string | undefined;
42
+ "aria-activedescendant": string | undefined;
43
+ };
44
+ menuProps: {
45
+ id: string;
46
+ ref: (node: HTMLElement | null) => void;
47
+ style: import("react").CSSProperties | undefined;
48
+ };
49
+ rowProps: (index: number) => {
50
+ id: string;
51
+ ref: (node: HTMLElement | null) => void;
52
+ tabIndex: number;
53
+ active: boolean;
54
+ onMouseEnter: () => void;
55
+ };
56
+ };
57
+ moreRef: import("react").RefObject<HTMLButtonElement | null>;
58
+ /** Spread on the element whose width the items share; it also wraps More and its menu. */
59
+ rowProps: {
60
+ ref: (node: HTMLElement | null) => void;
61
+ onKeyDown: (event: import("react").KeyboardEvent<HTMLElement>) => void;
62
+ onBlur: (event: import("react").FocusEvent<HTMLElement>) => void;
63
+ };
64
+ /** Ref for an item's copy in the offscreen measure rail. */
65
+ measureRef: (id: string) => (node: HTMLElement | null) => void;
66
+ /** Ref for More's copy in the offscreen measure rail. */
67
+ moreMeasureRef: (node: HTMLElement | null) => void;
68
+ };
69
+ /** Plain text of a label, for type-ahead in a More menu. */
70
+ export declare function textOf(node: ReactNode): string;
71
+ //# sourceMappingURL=useOverflowMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOverflowMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Dropdown/useOverflowMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvG,OAAO,EAA4B,KAAK,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAE/F,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,gGAAgG;IAChG,UAAU,EAAE,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,KAAK,eAAe,EAAE,CAAC;IAClE,gFAAgF;IAChF,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,KAAK,sBAAsB,EAAE,CAAC;CAC9E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,mBAAmB;;;;;;;;;;uBA0DR,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAtF,0FAA0F;;oBAG5E,WAAW,GAAG,IAAI;;;;IAKhC,4DAA4D;qBAC3C,MAAM,MAAM,MAAM,WAAW,GAAG,IAAI;IAIrD,yDAAyD;2BAClC,WAAW,GAAG,IAAI;EAI5C;AAED,4DAA4D;AAC5D,wBAAgB,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAK9C"}
@@ -0,0 +1,61 @@
1
+ "use client";
2
+ import { measureDropdownMenuStyle as e } from "./dropdownMenuPosition.js";
3
+ import { useDropdownMenu as t } from "./useDropdownMenu.js";
4
+ import { resolveOverflow as n } from "./resolveOverflow.js";
5
+ import { isValidElement as r, useCallback as i, useLayoutEffect as a, useRef as o, useState as s } from "react";
6
+ //#region src/components/molecules/Dropdown/useOverflowMenu.ts
7
+ function c({ ids: r, activeId: c, toMenuRows: l, toMeasureRows: u }) {
8
+ let d = o(null), f = o(null), p = o(null), m = o(/* @__PURE__ */ new Map()), [h, g] = s(r), [_, v] = s([]), y = l(_), b = t({
9
+ rows: y,
10
+ triggerRef: f,
11
+ focus: "items",
12
+ measure: () => f.current == null ? null : e(f.current, u?.(_) ?? y.map((e) => ({ label: e.label })), {
13
+ align: "end",
14
+ widthMode: "content"
15
+ })
16
+ }), { close: x } = b, S = r.join("\0"), C = i(() => {
17
+ let e = d.current, t = p.current;
18
+ if (e == null || t == null) return;
19
+ let r = S.split("\0").map((e) => ({
20
+ value: e,
21
+ width: Math.ceil(m.current.get(e)?.getBoundingClientRect().width ?? 0)
22
+ }));
23
+ if (r.some((e) => e.width === 0)) return;
24
+ let i = n(r, c, e.clientWidth, Math.ceil(t.getBoundingClientRect().width));
25
+ g(i.visibleValues), v(i.overflowValues), i.overflowValues.length === 0 && x();
26
+ }, [
27
+ c,
28
+ x,
29
+ S
30
+ ]);
31
+ return a(() => {
32
+ C();
33
+ let e = d.current;
34
+ if (e == null) return;
35
+ let t = new ResizeObserver(C);
36
+ return t.observe(e), document.fonts?.ready.then(C), () => t.disconnect();
37
+ }, [C]), {
38
+ visibleIds: h,
39
+ overflowIds: _,
40
+ menuRows: y,
41
+ menu: b,
42
+ moreRef: f,
43
+ rowProps: {
44
+ ...b.rootProps,
45
+ ref: (e) => {
46
+ d.current = e, b.rootProps.ref(e);
47
+ }
48
+ },
49
+ measureRef: (e) => (t) => {
50
+ t == null ? m.current.delete(e) : m.current.set(e, t);
51
+ },
52
+ moreMeasureRef: (e) => {
53
+ p.current = e;
54
+ }
55
+ };
56
+ }
57
+ function l(e) {
58
+ return typeof e == "string" || typeof e == "number" ? String(e) : Array.isArray(e) ? e.map(l).join("") : r(e) ? l(e.props.children) : "";
59
+ }
60
+ //#endregion
61
+ export { l as textOf, c as useOverflowMenu };
@@ -1 +1 @@
1
- {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Field/Field.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EAQL,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEzE,sEAAsE;AACtE,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAE1C,MAAM,WAAW,UAAU;IACzB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wFAAwF;IACxF,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC;AA8BD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,WAAW,EACX,WAAwB,EACxB,OAAO,EACP,QAAgB,EAChB,QAAQ,EACR,SAAS,GACV,EAAE,UAAU,+BAwFZ"}
1
+ {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Field/Field.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EAQL,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEzE,sEAAsE;AACtE,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAE1C,MAAM,WAAW,UAAU;IACzB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wFAAwF;IACxF,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC;AA8BD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,WAAW,EACX,WAAwB,EACxB,OAAO,EACP,QAAgB,EAChB,QAAQ,EACR,SAAS,GACV,EAAE,UAAU,+BAsFZ"}
@@ -16,13 +16,13 @@ function _(e) {
16
16
  let t = g(e.children);
17
17
  t != null && t.props.label != null && console.warn("[WMDS Field] Child has its own `label` — omit one label source (Field or control).");
18
18
  }
19
- function v({ label: s, description: l, orientation: d = "vertical", htmlFor: v, disabled: y = !1, children: b, className: x }) {
19
+ function v({ label: s, description: l, orientation: u = "vertical", htmlFor: d, disabled: v = !1, children: b, className: x }) {
20
20
  let S = f();
21
21
  _({
22
22
  label: s,
23
23
  children: b
24
24
  });
25
- let C = h(b), w = g(b), T = v ?? w?.props.id ?? (w == null ? void 0 : `${S}-control`), E = l == null ? void 0 : `${S}-description`, D = s == null ? void 0 : `${S}-legend`, O = w != null && T != null && w.props.id == null ? u(w, { id: T }) : w, k = C > 1 ? /* @__PURE__ */ p("div", {
25
+ let C = h(b), w = g(b), T = d ?? w?.props.id ?? (w == null ? void 0 : `${S}-control`), E = l == null ? void 0 : `${S}-description`, D = s == null ? void 0 : `${S}-legend`, O = w == null ? w : y(w, T, E), k = C > 1 ? /* @__PURE__ */ p("div", {
26
26
  className: o,
27
27
  children: b
28
28
  }) : O ?? b, A = l == null ? null : /* @__PURE__ */ p("p", {
@@ -35,8 +35,7 @@ function v({ label: s, description: l, orientation: d = "vertical", htmlFor: v,
35
35
  children: b
36
36
  }) : s == null ? /* @__PURE__ */ m("div", {
37
37
  className: e(c, x),
38
- "aria-describedby": E,
39
- children: [b, A]
38
+ children: [C > 1 ? b : O ?? b, A]
40
39
  }) : C > 1 ? /* @__PURE__ */ m("div", {
41
40
  role: "group",
42
41
  "aria-labelledby": D,
@@ -45,18 +44,17 @@ function v({ label: s, description: l, orientation: d = "vertical", htmlFor: v,
45
44
  children: [
46
45
  /* @__PURE__ */ p("span", {
47
46
  id: D,
48
- className: a(y),
47
+ className: a(v),
49
48
  children: s
50
49
  }),
51
50
  k,
52
51
  A
53
52
  ]
54
- }) : d === "horizontal" ? /* @__PURE__ */ m("div", {
53
+ }) : u === "horizontal" ? /* @__PURE__ */ m("div", {
55
54
  className: e(i, x),
56
- "aria-describedby": E,
57
55
  children: [/* @__PURE__ */ p("label", {
58
56
  htmlFor: T,
59
- className: e(r, a(y)),
57
+ className: e(r, a(v)),
60
58
  children: s
61
59
  }), /* @__PURE__ */ m("div", {
62
60
  className: n,
@@ -64,11 +62,10 @@ function v({ label: s, description: l, orientation: d = "vertical", htmlFor: v,
64
62
  })]
65
63
  }) : /* @__PURE__ */ m("div", {
66
64
  className: e(c, x),
67
- "aria-describedby": E,
68
65
  children: [
69
66
  /* @__PURE__ */ p("label", {
70
67
  htmlFor: T,
71
- className: a(y),
68
+ className: a(v),
72
69
  children: s
73
70
  }),
74
71
  k,
@@ -76,5 +73,9 @@ function v({ label: s, description: l, orientation: d = "vertical", htmlFor: v,
76
73
  ]
77
74
  });
78
75
  }
76
+ function y(e, t, n) {
77
+ let r = e.props, i = {};
78
+ return r.id == null && t != null && (i.id = t), n != null && (i["aria-describedby"] = [r["aria-describedby"], n].filter(Boolean).join(" ")), Object.keys(i).length > 0 ? u(e, i) : e;
79
+ }
79
80
  //#endregion
80
81
  export { v as Field, s as fieldOrientations };
@@ -1,4 +1,4 @@
1
- export declare const logViewRootClasses = "flex min-h-0 flex-col overflow-hidden rounded-xl border border-border bg-surface";
1
+ export declare const logViewRootClasses = "flex min-h-0 flex-col overflow-hidden rounded-[var(--radius-surface-md)] border border-border bg-surface";
2
2
  export declare const logViewToolbarClasses = "flex h-9 shrink-0 items-center gap-2 border-b border-border px-3";
3
3
  export declare const logViewCountClasses: string;
4
4
  export declare const logViewActionsClasses = "ml-auto flex items-center gap-2";
@@ -1 +1 @@
1
- {"version":3,"file":"logViewStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/LogView/logViewStyles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,qFACqD,CAAC;AAErF,eAAO,MAAM,qBAAqB,qEACkC,CAAC;AAErE,eAAO,MAAM,mBAAmB,QAA0D,CAAC;AAE3F,eAAO,MAAM,qBAAqB,oCAAoC,CAAC;AAEvE,eAAO,MAAM,sBAAsB,gDAAgD,CAAC;AAEpF,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AAEpD,eAAO,MAAM,oBAAoB,4DAC0B,CAAC;AAE5D,eAAO,MAAM,kBAAkB,2DAA2D,CAAC;AAE3F,eAAO,MAAM,mBAAmB,QAAuD,CAAC;AAExF,eAAO,MAAM,sBAAsB,QAAQ,CAAC"}
1
+ {"version":3,"file":"logViewStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/LogView/logViewStyles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,6GAC6E,CAAC;AAE7G,eAAO,MAAM,qBAAqB,qEACkC,CAAC;AAErE,eAAO,MAAM,mBAAmB,QAA0D,CAAC;AAE3F,eAAO,MAAM,qBAAqB,oCAAoC,CAAC;AAEvE,eAAO,MAAM,sBAAsB,gDAAgD,CAAC;AAEpF,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AAEpD,eAAO,MAAM,oBAAoB,4DAC0B,CAAC;AAE5D,eAAO,MAAM,kBAAkB,2DAA2D,CAAC;AAE3F,eAAO,MAAM,mBAAmB,QAAuD,CAAC;AAExF,eAAO,MAAM,sBAAsB,QAAQ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { typographyClass as e } from "../../../lib/typography.js";
3
3
  //#region src/components/molecules/LogView/logViewStyles.ts
4
- var t = "flex min-h-0 flex-col overflow-hidden rounded-xl border border-border bg-surface", n = "flex h-9 shrink-0 items-center gap-2 border-b border-border px-3", r = `${e("caption")} tabular-nums text-muted`, i = "ml-auto flex items-center gap-2", a = "min-h-40 flex-1 overflow-auto scroll-fade-y", o = "flex gap-3 px-3", s = "type-code w-8 shrink-0 text-end text-muted tabular-nums", c = "type-code min-w-0 flex-1 whitespace-pre-wrap break-all", l = `${e("caption")} px-3 py-4 text-muted`;
4
+ var t = "flex min-h-0 flex-col overflow-hidden rounded-[var(--radius-surface-md)] border border-border bg-surface", n = "flex h-9 shrink-0 items-center gap-2 border-b border-border px-3", r = `${e("caption")} tabular-nums text-muted`, i = "ml-auto flex items-center gap-2", a = "min-h-40 flex-1 overflow-auto scroll-fade-y", o = "flex gap-3 px-3", s = "type-code w-8 shrink-0 text-end text-muted tabular-nums", c = "type-code min-w-0 flex-1 whitespace-pre-wrap break-all", l = `${e("caption")} px-3 py-4 text-muted`;
5
5
  //#endregion
6
6
  export { i as logViewActionsClasses, r as logViewCountClasses, l as logViewEmptyClasses, o as logViewLineClasses, s as logViewNumberClasses, t as logViewRootClasses, a as logViewScrollerClasses, c as logViewTextClasses, n as logViewToolbarClasses };
@@ -2,6 +2,6 @@
2
2
  import { cn as e } from "../../../lib/cn.js";
3
3
  import { badgeBaseClasses as t, badgeMutedClasses as n, badgeSolidClasses as r } from "../../atoms/Badge/badgeStyles.js";
4
4
  //#region src/components/molecules/PillGroup/pillGroupStyles.ts
5
- var i = "flex flex-wrap gap-2", a = e(t, "min-h-11 cursor-pointer rounded-full px-4", "peer-focus-visible:ring-2 peer-focus-visible:ring-focus-ring peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-body"), o = e(a, r.neutral), s = e(a, n.neutral), c = e(a, "border border-transparent bg-brand text-on-brand");
5
+ var i = "flex flex-wrap gap-2", a = e(t, "min-h-11 cursor-pointer rounded-[var(--radius-control)] px-4", "peer-focus-visible:ring-2 peer-focus-visible:ring-focus-ring peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-body"), o = e(a, r.neutral), s = e(a, n.neutral), c = e(a, "border border-transparent bg-brand text-on-brand");
6
6
  //#endregion
7
7
  export { i as pillGroupClasses, o as pillGroupIdleClasses, s as pillGroupMutedClasses, c as pillGroupSelectedClasses, a as pillGroupShapeClasses };
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { focusRingTransitionClasses as e } from "../../../lib/motion.js";
3
3
  //#region src/components/molecules/Search/searchStyles.ts
4
- var t = ["sm", "md"], n = "flex w-full items-center rounded-full border border-border-control bg-surface focus-within:outline-none focus-within:ring-2 focus-within:ring-focus-ring focus-within:ring-offset-2 focus-within:ring-offset-body " + e, r = {
4
+ var t = ["sm", "md"], n = "flex w-full items-center rounded-[var(--radius-control)] border border-border-control bg-surface focus-within:outline-none focus-within:ring-2 focus-within:ring-focus-ring focus-within:ring-offset-2 focus-within:ring-offset-body " + e, r = {
5
5
  sm: `${n} h-10 gap-1.5 p-1 pl-2`,
6
6
  md: `${n} h-11 gap-2 p-1 pl-2`
7
7
  }, i = {
@@ -27,5 +27,5 @@ export declare const segmentedControlItemSelectedClasses = "text-fg";
27
27
  /** Idle segment — `text-muted` (secondary text); hover promotes to primary ink. */
28
28
  export declare const segmentedControlItemUnselectedClasses = "text-muted hover:text-fg";
29
29
  /** Sliding selected segment — raised surface pill inside the body well. */
30
- export declare const segmentedControlThumbClasses = "pointer-events-none absolute inset-0 rounded-full bg-surface shadow-raised";
30
+ export declare const segmentedControlThumbClasses = "pointer-events-none absolute inset-0 rounded-[var(--radius-control-inner)] bg-surface shadow-raised";
31
31
  //# sourceMappingURL=segmentedControlStyles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"segmentedControlStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/SegmentedControl/segmentedControlStyles.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,6BAA8B,CAAC;AAEjE,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,eAAO,MAAM,uBAAuB,6BAA8B,CAAC;AAEnE,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E,6FAA6F;AAC7F,eAAO,MAAM,4BAA4B,QAGxC,CAAC;AAEF,eAAO,MAAM,mCAAmC,wBAAwB,CAAC;AAEzE,qFAAqF;AACrF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAIjF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAIhF,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAIvC,CAAC;AAEF,eAAO,MAAM,kCAAkC,mBAAmB,CAAC;AAEnE,eAAO,MAAM,+BAA+B,kEACqB,CAAC;AAElE,eAAO,MAAM,sCAAsC,WAAW,CAAC;AAE/D,iFAAiF;AACjF,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAI/E,CAAC;AAEF,iGAAiG;AACjG,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAIjF,CAAC;AAEF,eAAO,MAAM,gCAAgC,qBAAqB,CAAC;AAEnE,8FAA8F;AAC9F,eAAO,MAAM,8BAA8B,0EAC8B,CAAC;AAE1E,eAAO,MAAM,mCAAmC,YAAY,CAAC;AAE7D,mFAAmF;AACnF,eAAO,MAAM,qCAAqC,6BAA6B,CAAC;AAEhF,2EAA2E;AAC3E,eAAO,MAAM,4BAA4B,+EACqC,CAAC"}
1
+ {"version":3,"file":"segmentedControlStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/SegmentedControl/segmentedControlStyles.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,6BAA8B,CAAC;AAEjE,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,eAAO,MAAM,uBAAuB,6BAA8B,CAAC;AAEnE,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E,6FAA6F;AAC7F,eAAO,MAAM,4BAA4B,QAGxC,CAAC;AAEF,eAAO,MAAM,mCAAmC,wBAAwB,CAAC;AAEzE,qFAAqF;AACrF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAIjF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAIhF,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAIvC,CAAC;AAEF,eAAO,MAAM,kCAAkC,mBAAmB,CAAC;AAEnE,eAAO,MAAM,+BAA+B,kEACqB,CAAC;AAElE,eAAO,MAAM,sCAAsC,WAAW,CAAC;AAE/D,iFAAiF;AACjF,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAI/E,CAAC;AAEF,iGAAiG;AACjG,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAIjF,CAAC;AAEF,eAAO,MAAM,gCAAgC,qBAAqB,CAAC;AAEnE,8FAA8F;AAC9F,eAAO,MAAM,8BAA8B,0EAC8B,CAAC;AAE1E,eAAO,MAAM,mCAAmC,YAAY,CAAC;AAE7D,mFAAmF;AACnF,eAAO,MAAM,qCAAqC,6BAA6B,CAAC;AAEhF,2EAA2E;AAC3E,eAAO,MAAM,4BAA4B,wGAC8D,CAAC"}