@thewhatmatters/wmds 0.4.42 → 0.4.45

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 (253) hide show
  1. package/CHANGELOG.md +55 -1
  2. package/dist/components/atoms/Button/ButtonSpinner.js +1 -1
  3. package/dist/components/atoms/Button/ButtonStatusButton.d.ts.map +1 -1
  4. package/dist/components/atoms/Button/ButtonStatusButton.js +57 -38
  5. package/dist/components/atoms/Button/ButtonStatusContent.d.ts.map +1 -1
  6. package/dist/components/atoms/Button/ButtonStatusContent.js +10 -10
  7. package/dist/components/atoms/Button/buttonStatusMotion.d.ts.map +1 -1
  8. package/dist/components/atoms/Button/buttonStatusMotion.js +2 -2
  9. package/dist/components/atoms/Button/buttonStatusStyles.d.ts +4 -0
  10. package/dist/components/atoms/Button/buttonStatusStyles.d.ts.map +1 -1
  11. package/dist/components/atoms/Button/buttonStatusStyles.js +4 -4
  12. package/dist/components/atoms/Checkbox/Checkbox.d.ts.map +1 -1
  13. package/dist/components/atoms/Checkbox/Checkbox.js +41 -40
  14. package/dist/components/atoms/IconButton/IconButton.d.ts.map +1 -1
  15. package/dist/components/atoms/IconButton/IconButton.js +75 -74
  16. package/dist/components/atoms/Input/Input.d.ts +2 -0
  17. package/dist/components/atoms/Input/Input.d.ts.map +1 -1
  18. package/dist/components/atoms/Input/Input.js +87 -81
  19. package/dist/components/atoms/Status/Status.js +1 -1
  20. package/dist/components/atoms/Status/statusRingStyles.d.ts +1 -1
  21. package/dist/components/atoms/Status/statusRingStyles.d.ts.map +1 -1
  22. package/dist/components/atoms/Status/statusRingStyles.js +1 -1
  23. package/dist/components/atoms/Switch/Switch.d.ts.map +1 -1
  24. package/dist/components/atoms/Switch/Switch.js +53 -52
  25. package/dist/components/atoms/TextArea/TextArea.d.ts +2 -0
  26. package/dist/components/atoms/TextArea/TextArea.d.ts.map +1 -1
  27. package/dist/components/atoms/TextArea/TextArea.js +59 -49
  28. package/dist/components/atoms/inputShared/InputTrailingAffordance.d.ts.map +1 -1
  29. package/dist/components/atoms/inputShared/InputTrailingAffordance.js +16 -14
  30. package/dist/components/molecules/CalEmbed/CalEmbed.d.ts.map +1 -1
  31. package/dist/components/molecules/CalEmbed/CalEmbed.js +17 -23
  32. package/dist/components/molecules/EmptyState/EmptyState.d.ts +41 -0
  33. package/dist/components/molecules/EmptyState/EmptyState.d.ts.map +1 -0
  34. package/dist/components/molecules/EmptyState/EmptyState.js +46 -0
  35. package/dist/components/molecules/EmptyState/emptyStateStyles.d.ts +10 -0
  36. package/dist/components/molecules/EmptyState/emptyStateStyles.d.ts.map +1 -0
  37. package/dist/components/molecules/EmptyState/emptyStateStyles.js +11 -0
  38. package/dist/components/molecules/IndexList/IndexList.d.ts +6 -1
  39. package/dist/components/molecules/IndexList/IndexList.d.ts.map +1 -1
  40. package/dist/components/molecules/IndexList/IndexList.js +67 -58
  41. package/dist/components/molecules/LinkTile/LinkTile.d.ts +4 -2
  42. package/dist/components/molecules/LinkTile/LinkTile.d.ts.map +1 -1
  43. package/dist/components/molecules/LinkTile/LinkTile.js +89 -81
  44. package/dist/components/molecules/LogView/LogView.d.ts.map +1 -1
  45. package/dist/components/molecules/LogView/LogView.js +68 -63
  46. package/dist/components/molecules/Progress/Progress.d.ts +38 -0
  47. package/dist/components/molecules/Progress/Progress.d.ts.map +1 -0
  48. package/dist/components/molecules/Progress/Progress.js +96 -0
  49. package/dist/components/molecules/Progress/progressStyles.d.ts +17 -0
  50. package/dist/components/molecules/Progress/progressStyles.d.ts.map +1 -0
  51. package/dist/components/molecules/Progress/progressStyles.js +9 -0
  52. package/dist/components/molecules/Stat/Stat.d.ts.map +1 -1
  53. package/dist/components/molecules/Stat/Stat.js +65 -61
  54. package/dist/components/molecules/TaskRows/TaskRowsTable.d.ts.map +1 -1
  55. package/dist/components/molecules/TaskRows/TaskRowsTable.js +77 -76
  56. package/dist/components/molecules/TileGrid/TileGrid.d.ts +6 -1
  57. package/dist/components/molecules/TileGrid/TileGrid.d.ts.map +1 -1
  58. package/dist/components/molecules/TileGrid/TileGrid.js +52 -47
  59. package/dist/components/organisms/AppShell/AppShell.d.ts +10 -2
  60. package/dist/components/organisms/AppShell/AppShell.d.ts.map +1 -1
  61. package/dist/components/organisms/AppShell/AppShell.js +237 -198
  62. package/dist/components/organisms/AppShell/appShellStyles.d.ts +11 -0
  63. package/dist/components/organisms/AppShell/appShellStyles.d.ts.map +1 -1
  64. package/dist/components/organisms/AppShell/appShellStyles.js +2 -2
  65. package/dist/components/organisms/Chart/ChartSegmentedRing.d.ts +10 -4
  66. package/dist/components/organisms/Chart/ChartSegmentedRing.d.ts.map +1 -1
  67. package/dist/components/organisms/Chart/ChartSegmentedRing.js +7 -2
  68. package/dist/components/organisms/Chart/chartStyles.d.ts +4 -0
  69. package/dist/components/organisms/Chart/chartStyles.d.ts.map +1 -1
  70. package/dist/components/organisms/Chart/chartStyles.js +4 -2
  71. package/dist/components/organisms/SiteNav/SiteNav.d.ts +8 -1
  72. package/dist/components/organisms/SiteNav/SiteNav.d.ts.map +1 -1
  73. package/dist/components/organisms/SiteNav/SiteNav.js +73 -69
  74. package/dist/components/organisms/SiteNav/siteNavStyles.d.ts +6 -0
  75. package/dist/components/organisms/SiteNav/siteNavStyles.d.ts.map +1 -1
  76. package/dist/components/organisms/SiteNav/siteNavStyles.js +6 -6
  77. package/dist/index.d.ts +3 -0
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js +158 -153
  80. package/dist/lib/useDelayedLoading.d.ts +13 -0
  81. package/dist/lib/useDelayedLoading.d.ts.map +1 -0
  82. package/dist/lib/useDelayedLoading.js +27 -0
  83. package/dist/motion.css +10 -0
  84. package/dist/styles.css +1 -1
  85. package/docs/components.md +1 -1
  86. package/docs/exports.json +26 -1
  87. package/docs/patterns/components-accordion--flush.tsx +1 -1
  88. package/docs/patterns/components-appshell--portal-dashboard-pattern.tsx +1 -1
  89. package/docs/patterns/components-avatar--dropdown-row.tsx +1 -1
  90. package/docs/patterns/components-badge--outline-tags.tsx +1 -1
  91. package/docs/patterns/components-badge--status-pill.tsx +1 -1
  92. package/docs/patterns/components-badge--with-avatar.tsx +1 -1
  93. package/docs/patterns/components-band--page-in-bands.tsx +1 -1
  94. package/docs/patterns/components-breadcrumb--editorial.tsx +1 -1
  95. package/docs/patterns/components-breadcrumb--long-path.tsx +1 -1
  96. package/docs/patterns/components-breadcrumb--path.tsx +1 -1
  97. package/docs/patterns/components-breadcrumb--router-links.tsx +1 -1
  98. package/docs/patterns/components-button-button--copy-button.tsx +1 -1
  99. package/docs/patterns/components-button-button--destructive-action.tsx +1 -1
  100. package/docs/patterns/components-button-button--external-link.tsx +1 -1
  101. package/docs/patterns/components-button-button--ghost-action.tsx +1 -1
  102. package/docs/patterns/components-button-button--inverse-action.tsx +1 -1
  103. package/docs/patterns/components-button-button--link-render.tsx +1 -1
  104. package/docs/patterns/components-button-button--multi-state-badge.tsx +2 -2
  105. package/docs/patterns/components-button-button--outline-mono.tsx +1 -1
  106. package/docs/patterns/components-button-button--primary-action.tsx +1 -1
  107. package/docs/patterns/components-button-button--row-hug.tsx +1 -1
  108. package/docs/patterns/components-button-button--row-layout.tsx +1 -1
  109. package/docs/patterns/components-button-button--secondary-action.tsx +1 -1
  110. package/docs/patterns/components-button-button--suggestion-pills.tsx +1 -1
  111. package/docs/patterns/components-button-button--with-count.tsx +1 -1
  112. package/docs/patterns/components-button-button--with-icon.tsx +1 -1
  113. package/docs/patterns/components-button-floatingactionbutton--vertical-actions.tsx +1 -1
  114. package/docs/patterns/components-calembed--pattern-skip-above.tsx +1 -1
  115. package/docs/patterns/components-card-card--body-slot-occupancy-history.tsx +1 -1
  116. package/docs/patterns/components-card-card--headerless-media.tsx +1 -1
  117. package/docs/patterns/components-card-card--outlined-layout.tsx +1 -1
  118. package/docs/patterns/components-card-card--pinned-height.tsx +1 -1
  119. package/docs/patterns/components-card-card--terminal-frame.tsx +1 -1
  120. package/docs/patterns/components-card-selectablecard--selectable-cards-pattern.tsx +1 -1
  121. package/docs/patterns/components-carousel--image-carousel.tsx +1 -1
  122. package/docs/patterns/components-chart--audience-activity-heatmap.tsx +1 -1
  123. package/docs/patterns/components-chart--cartesian-no-data-gaps.tsx +1 -1
  124. package/docs/patterns/components-chart--occupancy-history-in-card.tsx +1 -1
  125. package/docs/patterns/components-chart--occupancy-in-card.tsx +1 -1
  126. package/docs/patterns/components-chart--post-reach-distribution.tsx +1 -1
  127. package/docs/patterns/components-chart--ranked-audience-breakdown.tsx +1 -1
  128. package/docs/patterns/components-chart--revenue-by-line.tsx +1 -1
  129. package/docs/patterns/components-chart--segmented-ring-pattern.tsx +1 -1
  130. package/docs/patterns/components-chart--unit-grid-composition.tsx +1 -1
  131. package/docs/patterns/components-chatdock--pattern-chat-dock.tsx +1 -1
  132. package/docs/patterns/components-chatdock--pattern-start-project-gate.tsx +1 -1
  133. package/docs/patterns/components-chatqa--pattern-qa-with-reply.tsx +1 -1
  134. package/docs/patterns/components-checkbox-checkbox--default.tsx +1 -1
  135. package/docs/patterns/components-checkbox-checkbox--with-count.tsx +1 -1
  136. package/docs/patterns/components-checkbox-checkbox--with-description.tsx +1 -1
  137. package/docs/patterns/components-checkbox-checkboxgroup--default.tsx +1 -1
  138. package/docs/patterns/components-checkbox-checkboxgroup--option-counts.tsx +1 -1
  139. package/docs/patterns/components-copyfield--clipboard-blocked.tsx +1 -1
  140. package/docs/patterns/components-copyfield--copied.tsx +1 -1
  141. package/docs/patterns/components-copyfield--copy-key.tsx +1 -1
  142. package/docs/patterns/components-copyfield--on-navy.tsx +1 -1
  143. package/docs/patterns/components-descriptionlist--details.tsx +1 -1
  144. package/docs/patterns/components-descriptionlist--post-metadata.tsx +1 -1
  145. package/docs/patterns/components-dialog--alert-dialog-destructive.tsx +1 -1
  146. package/docs/patterns/components-dialog--alert-dialog-typed-confirmation.tsx +1 -1
  147. package/docs/patterns/components-dialog--default-dialog.tsx +1 -1
  148. package/docs/patterns/components-dialog--form-dialog.tsx +1 -1
  149. package/docs/patterns/components-displaycontrols--page-utilities.tsx +1 -1
  150. package/docs/patterns/components-displaycontrols--theme-switch.tsx +1 -1
  151. package/docs/patterns/components-errorsummary--contact-form.tsx +1 -1
  152. package/docs/patterns/components-field--horizontal-input.tsx +1 -1
  153. package/docs/patterns/components-field--horizontal-text-area.tsx +1 -1
  154. package/docs/patterns/components-field--multi-control.tsx +1 -1
  155. package/docs/patterns/components-filterpanel--panel.tsx +1 -1
  156. package/docs/patterns/components-footerreveal--marketing-hero-pattern.tsx +1 -1
  157. package/docs/patterns/components-footerreveal--marketing-hero-ruled-pattern.tsx +1 -1
  158. package/docs/patterns/components-footerreveal--marketing-hero-with-gallery-intro.tsx +1 -1
  159. package/docs/patterns/components-footerreveal--marketing-page-pattern.tsx +1 -1
  160. package/docs/patterns/components-footerreveal--ruled-grid-footer-pattern.tsx +1 -1
  161. package/docs/patterns/components-footerreveal--sequenced-marketing-hero.tsx +1 -1
  162. package/docs/patterns/components-herointro--two-line-intro.tsx +1 -1
  163. package/docs/patterns/components-herointro--with-actions.tsx +1 -1
  164. package/docs/patterns/components-herotilestack--marketing-hero-pattern.tsx +1 -1
  165. package/docs/patterns/components-herotilestack--marketing-hero-text-sequence.tsx +1 -1
  166. package/docs/patterns/components-herotilestack--marketing-hero-with-gallery-intro.tsx +1 -1
  167. package/docs/patterns/components-indexlist--post-index.tsx +1 -1
  168. package/docs/patterns/components-intakeconfirmation--booked-pattern.tsx +1 -1
  169. package/docs/patterns/components-intakeconfirmation--emailed-pattern.tsx +1 -1
  170. package/docs/patterns/components-intakeform--about-you-pattern.tsx +1 -1
  171. package/docs/patterns/components-intakeform--short-form-pattern.tsx +1 -1
  172. package/docs/patterns/components-intakemodal--intake-modal-pattern.tsx +1 -1
  173. package/docs/patterns/components-kbd--command-row.tsx +1 -1
  174. package/docs/patterns/components-kbd--numbered-choices.tsx +1 -1
  175. package/docs/patterns/components-kbd--shortcut.tsx +1 -1
  176. package/docs/patterns/components-linktile--resource-tile.tsx +1 -1
  177. package/docs/patterns/components-linktile--router-link.tsx +1 -1
  178. package/docs/patterns/components-logview--detail-pane.tsx +1 -1
  179. package/docs/patterns/components-logview--log-viewer.tsx +1 -1
  180. package/docs/patterns/components-moremenu--action-menu.tsx +1 -1
  181. package/docs/patterns/components-moremenu--in-card-header.tsx +1 -1
  182. package/docs/patterns/components-navlist--app-sidebar.tsx +1 -1
  183. package/docs/patterns/components-navlist--side-nav-settings.tsx +1 -1
  184. package/docs/patterns/components-notice--account-not-connected.tsx +1 -1
  185. package/docs/patterns/components-notice--holiday-closure.tsx +1 -1
  186. package/docs/patterns/components-notice--private-buyout.tsx +1 -1
  187. package/docs/patterns/components-notice--sync-failed.tsx +1 -1
  188. package/docs/patterns/components-pageheader--app-header-pattern.tsx +1 -1
  189. package/docs/patterns/components-pageheader--page-section-header.tsx +1 -1
  190. package/docs/patterns/components-pageheader--toolbar-header.tsx +1 -1
  191. package/docs/patterns/components-panel--end-detail-rail.tsx +1 -1
  192. package/docs/patterns/components-pillgroup--pill-group-pattern.tsx +1 -1
  193. package/docs/patterns/components-progress--upload-pattern.tsx +9 -0
  194. package/docs/patterns/components-promptbar--pattern-prompt-bar.tsx +1 -1
  195. package/docs/patterns/components-prose--article-body.tsx +1 -1
  196. package/docs/patterns/components-radio-radiogroup--default.tsx +1 -1
  197. package/docs/patterns/components-scrollhorizontal--project-gallery-pattern.tsx +1 -1
  198. package/docs/patterns/components-scrollhorizontal--with-intro.tsx +1 -1
  199. package/docs/patterns/components-sectioncaption--column-caption.tsx +1 -1
  200. package/docs/patterns/components-sectioncaption--with-action.tsx +1 -1
  201. package/docs/patterns/components-sheet--bottom-sheet.tsx +1 -1
  202. package/docs/patterns/components-sheet--end-sheet.tsx +1 -1
  203. package/docs/patterns/components-sheet--side-sheet-header-actions.tsx +1 -1
  204. package/docs/patterns/components-sheet--side-sheet-url-deep-link.tsx +1 -1
  205. package/docs/patterns/components-sheet--side-sheet.tsx +1 -1
  206. package/docs/patterns/components-sitenav--brand-and-cta.tsx +1 -1
  207. package/docs/patterns/components-sitenav--centered-links.tsx +1 -1
  208. package/docs/patterns/components-sitenav--compact.tsx +1 -1
  209. package/docs/patterns/components-sitenav--marketing-header.tsx +1 -1
  210. package/docs/patterns/components-sitenav--mega-menu.tsx +1 -1
  211. package/docs/patterns/components-stat--hero-stat.tsx +1 -1
  212. package/docs/patterns/components-stat--insights-row.tsx +1 -1
  213. package/docs/patterns/components-stepprogress--step-progress-pattern.tsx +1 -1
  214. package/docs/patterns/components-switch--default.tsx +1 -1
  215. package/docs/patterns/components-switch--settings-row.tsx +1 -1
  216. package/docs/patterns/components-tab--settings-pages.tsx +1 -1
  217. package/docs/patterns/components-table--approvals-with-sheet.tsx +1 -1
  218. package/docs/patterns/components-table--approvals.tsx +1 -1
  219. package/docs/patterns/components-table--basic.tsx +1 -1
  220. package/docs/patterns/components-taskrows--action-details.tsx +1 -1
  221. package/docs/patterns/components-taskrows--capsules.tsx +1 -1
  222. package/docs/patterns/components-taskrows--card-with-status-rows.tsx +1 -1
  223. package/docs/patterns/components-taskrows--controlled-expand.tsx +1 -1
  224. package/docs/patterns/components-taskrows--custom-slots.tsx +1 -1
  225. package/docs/patterns/components-taskrows--needs-you-table.tsx +1 -1
  226. package/docs/patterns/components-taskrows--status-list.tsx +1 -1
  227. package/docs/patterns/components-taskrows--tag-chips.tsx +1 -1
  228. package/docs/patterns/components-textarea--save-status.tsx +1 -1
  229. package/docs/patterns/components-textlink--external-destination.tsx +1 -1
  230. package/docs/patterns/components-textlink--inline-prose.tsx +1 -1
  231. package/docs/patterns/components-textlink--quiet-title.tsx +1 -1
  232. package/docs/patterns/components-textlink--supporting-copy.tsx +1 -1
  233. package/docs/patterns/components-textsequence--default.tsx +1 -1
  234. package/docs/patterns/components-textsequence--reduced-motion.tsx +1 -1
  235. package/docs/patterns/components-textsequence--shapes.tsx +1 -1
  236. package/docs/patterns/components-tilegrid--masonry.tsx +1 -1
  237. package/docs/patterns/components-toast--stacked-notifications.tsx +1 -1
  238. package/docs/patterns/components-tooltip--controlled.tsx +1 -1
  239. package/docs/patterns/components-tooltip--disabled-control.tsx +1 -1
  240. package/docs/patterns/components-tooltip--icon-action.tsx +1 -1
  241. package/docs/patterns/components-tooltip--keyboard-shortcut.tsx +1 -1
  242. package/docs/patterns/components-tooltip--placement.tsx +1 -1
  243. package/docs/patterns/foundations-scroll-fade--horizontal-rail.tsx +1 -1
  244. package/docs/patterns/foundations-scroll-fade--overflowing-list.tsx +1 -1
  245. package/docs/patterns/guides-chart-explorations--comparison-gallery.tsx +1 -1
  246. package/docs/patterns/guides-filter-panel--filtered-grid.tsx +1 -1
  247. package/docs/patterns/guides-filter-panel--filtered-index.tsx +1 -1
  248. package/docs/patterns/guides-overlay-flows--notification-preferences.tsx +1 -1
  249. package/docs/patterns/guides-post-page--post-page.tsx +1 -1
  250. package/docs/patterns/guides-profile-typography--editorial-profile.tsx +1 -1
  251. package/docs/patterns/guides-resource-detail--detail.tsx +1 -1
  252. package/docs/patterns/index.json +9 -1
  253. package/package.json +2 -1
@@ -5,293 +5,331 @@ import { IconButton as n } from "../../atoms/IconButton/IconButton.js";
5
5
  import { Kbd as r } from "../../atoms/Kbd/Kbd.js";
6
6
  import { Tooltip as i } from "../../atoms/Tooltip/Tooltip.js";
7
7
  import { pageHeaderTitleClasses as ee } from "../../molecules/PageHeader/pageHeaderStyles.js";
8
- import { PageHeader as a } from "../../molecules/PageHeader/PageHeader.js";
9
- import { overlayPanelBodyScrollClasses as te, overlayPanelSectionStackClasses as ne } from "../Dialog/dialogStyles.js";
10
- import { OverlayPanelHeader as re } from "../Dialog/OverlayPanelHeader.js";
11
- import { Panel as ie } from "../Panel/Panel.js";
12
- import { Sheet as ae } from "../Sheet/Sheet.js";
13
- import { appShellAsideDockedClasses as oe, appShellBrandClasses as se, appShellCanvasClasses as ce, appShellMainClasses as le, appShellRootClasses as ue, appShellSheetBodyClasses as de, appShellSidebarBodyClasses as o, appShellSidebarClasses as fe, appShellSidebarFooterClasses as pe, appShellSkipLinkClasses as me, appShellSurfaceClasses as he, appShellToggleDesktopClasses as ge, appShellToggleMobileClasses as s } from "./appShellStyles.js";
14
- import { Children as c, createContext as _e, isValidElement as ve, useCallback as l, useContext as ye, useEffect as u, useId as be, useMemo as xe, useRef as d, useState as f } from "react";
15
- import { ChevronDown as Se, PanelLeft as p } from "lucide-react";
16
- import { Fragment as m, jsx as h, jsxs as g } from "react/jsx-runtime";
8
+ import { PageHeader as te } from "../../molecules/PageHeader/PageHeader.js";
9
+ import { overlayPanelBodyScrollClasses as ne, overlayPanelFooterDelineatedInnerClasses as re, overlayPanelFooterDelineatedShellClasses as ie, overlayPanelFooterHairlineClasses as ae, overlayPanelSectionStackClasses as oe } from "../Dialog/dialogStyles.js";
10
+ import { OverlayPanelHeader as se } from "../Dialog/OverlayPanelHeader.js";
11
+ import { Panel as a } from "../Panel/Panel.js";
12
+ import { Sheet as ce } from "../Sheet/Sheet.js";
13
+ import { appShellAsideDockedClasses as le, appShellAsideInsetClasses as ue, appShellAsideInsetHeaderClasses as de, appShellBrandClasses as fe, appShellCanvasClasses as pe, appShellInsetRowClasses as me, appShellMainClasses as o, appShellRootClasses as he, appShellSheetBodyClasses as ge, appShellSidebarBodyClasses as s, appShellSidebarClasses as _e, appShellSidebarFooterClasses as ve, appShellSkipLinkClasses as ye, appShellSurfaceClasses as be, appShellToggleDesktopClasses as xe, appShellToggleMobileClasses as c, appShellToolbarClasses as Se } from "./appShellStyles.js";
14
+ import { Children as l, createContext as Ce, isValidElement as we, useCallback as u, useContext as Te, useEffect as d, useId as Ee, useMemo as De, useRef as f, useState as p } from "react";
15
+ import { ChevronDown as Oe, PanelLeft as m } from "lucide-react";
16
+ import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
17
17
  //#region src/components/organisms/AppShell/AppShell.tsx
18
- var Ce = {
18
+ var ke = {
19
19
  collapse: "Collapse sidebar",
20
20
  expand: "Expand sidebar",
21
21
  menu: "Menu",
22
22
  aside: "Details",
23
23
  skipToContent: "Skip to content"
24
- }, _ = ["overlay", "docked"], v = [
24
+ }, v = [
25
+ "overlay",
26
+ "docked",
27
+ "inset"
28
+ ], y = [
25
29
  "icon",
26
30
  "label",
27
31
  "picker"
28
32
  ];
29
- function y({ children: e }) {
30
- return /* @__PURE__ */ h(m, { children: e });
31
- }
32
33
  function b({ children: e }) {
33
- return /* @__PURE__ */ h(m, { children: e });
34
+ return /* @__PURE__ */ g(h, { children: e });
34
35
  }
35
36
  function x({ children: e }) {
36
- return /* @__PURE__ */ h(m, { children: e });
37
+ return /* @__PURE__ */ g(h, { children: e });
37
38
  }
38
39
  function S({ children: e }) {
39
- return /* @__PURE__ */ h(m, { children: e });
40
+ return /* @__PURE__ */ g(h, { children: e });
40
41
  }
41
42
  function C({ children: e }) {
42
- return /* @__PURE__ */ h(m, { children: e });
43
+ return /* @__PURE__ */ g(h, { children: e });
44
+ }
45
+ function w({ children: e }) {
46
+ return /* @__PURE__ */ g(h, { children: e });
47
+ }
48
+ function T({ children: e }) {
49
+ return /* @__PURE__ */ g(h, { children: e });
43
50
  }
44
- var w = _e(null);
45
- function T() {
46
- let e = ye(w);
51
+ var E = Ce(null);
52
+ function D() {
53
+ let e = Te(E);
47
54
  if (e == null) throw Error("useAppShell must be used inside <AppShell>.");
48
55
  return e;
49
56
  }
50
- function E(e, t, n) {
51
- let [r, i] = f(t);
52
- return [e ?? r, l((t) => {
57
+ function O(e, t, n) {
58
+ let [r, i] = p(t);
59
+ return [e ?? r, u((t) => {
53
60
  e ?? i(t), n?.(t);
54
61
  }, [e, n])];
55
62
  }
56
- var D = "(min-width: 1024px)";
57
- function we(e) {
63
+ var k = "(min-width: 1024px)";
64
+ function Ae(e) {
58
65
  return e instanceof HTMLElement && e.isContentEditable;
59
66
  }
60
- function Te(e) {
67
+ function je(e) {
61
68
  let t = { content: [] };
62
- return c.forEach(e, (e) => {
63
- if (!ve(e)) {
69
+ return l.forEach(e, (e) => {
70
+ if (!we(e)) {
64
71
  e != null && e !== !1 && t.content.push(e);
65
72
  return;
66
73
  }
67
- e.type === y ? t.brand = e.props.children : e.type === b ? t.sidebar = e.props.children : e.type === x ? t.sidebarFooter = e.props.children : e.type === S ? t.header = e.props.children : e.type === C ? t.aside = e.props : t.content.push(e);
74
+ e.type === b ? t.brand = e.props.children : e.type === x ? t.sidebar = e.props.children : e.type === S ? t.sidebarFooter = e.props.children : e.type === C ? t.header = e.props.children : e.type === w ? t.toolbar = e.props.children : e.type === T ? t.aside = e.props : t.content.push(e);
68
75
  }), t;
69
76
  }
70
- function O({ title: c, brand: _e, sidebar: ve, sidebarFooter: ye, header: _, aside: v, asideTitle: y, asideDescription: b, sidebarOpen: x, defaultSidebarOpen: S = !0, onSidebarOpenChange: C, asideOpen: T, defaultAsideOpen: O = !1, onAsideOpenChange: k, asideMode: Ee = "overlay", menuButton: A = "icon", labels: De, children: Oe, className: ke }) {
71
- let j = {
72
- ...Ce,
73
- ...De
74
- }, M = Te(Oe), N = _e ?? M.brand, P = ve ?? M.sidebar, F = ye ?? M.sidebarFooter, I = _ ?? M.header, L = v ?? M.aside?.children, R = P != null, z = L != null, [B, Ae] = E(x, S, C), [V, H] = E(T, O, k), [U, W] = f(!1), [je, G] = f(!1), K = be(), Me = d(null), Ne = d(null), q = l((e) => {
75
- !e && Me.current?.contains(document.activeElement) && Ne.current?.focus(), Ae(e);
76
- }, [Ae]), J = l(() => {
77
- window.matchMedia(D).matches ? q(!B) : W((e) => !e);
78
- }, [q, B]);
79
- u(() => {
80
- let e = window.matchMedia(D);
81
- G(e.matches);
77
+ function A({ title: l, brand: Ce, sidebar: we, sidebarFooter: Te, header: v, toolbar: y, aside: b, asideTitle: x, asideDescription: S, asideFooter: C, sidebarOpen: w, defaultSidebarOpen: T = !0, onSidebarOpenChange: D, asideOpen: A, defaultAsideOpen: j = !1, onAsideOpenChange: Me, asideMode: M = "overlay", menuButton: N = "icon", labels: Ne, children: Pe, className: Fe }) {
78
+ let P = {
79
+ ...ke,
80
+ ...Ne
81
+ }, F = je(Pe), Ie = Ce ?? F.brand, I = we ?? F.sidebar, Le = Te ?? F.sidebarFooter, Re = v ?? F.header, ze = y ?? F.toolbar, L = b ?? F.aside?.children, R = I != null, Be = L != null, [z, Ve] = O(w, T, D), [B, V] = O(A, j, Me), [H, U] = p(!1), [He, Ue] = p(!1), [We, Ge] = p(!1), W = Ee(), G = f(null), Ke = f(null), K = u((e) => {
82
+ !e && G.current?.contains(document.activeElement) && Ke.current?.focus(), Ve(e);
83
+ }, [Ve]), q = u(() => {
84
+ window.matchMedia(k).matches ? K(!z) : U((e) => !e);
85
+ }, [K, z]);
86
+ d(() => {
87
+ let e = window.matchMedia(k);
88
+ Ue(e.matches), Ge(!0);
82
89
  function t(e) {
83
- G(e.matches), e.matches && W(!1);
90
+ Ue(e.matches), e.matches && U(!1);
84
91
  }
85
92
  return e.addEventListener("change", t), () => e.removeEventListener("change", t);
86
- }, []), u(() => {
93
+ }, []), d(() => {
87
94
  if (!R) return;
88
95
  function e(e) {
89
- e.defaultPrevented || e.altKey || e.shiftKey || !(e.metaKey || e.ctrlKey) || e.key.toLowerCase() !== "b" || we(e.target) || (e.preventDefault(), J());
96
+ e.defaultPrevented || e.altKey || e.shiftKey || !(e.metaKey || e.ctrlKey) || e.key.toLowerCase() !== "b" || Ae(e.target) || (e.preventDefault(), q());
90
97
  }
91
98
  return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
92
- }, [R, J]);
93
- let Pe = xe(() => ({
94
- sidebarOpen: B,
95
- setSidebarOpen: q,
96
- menuOpen: U,
97
- setMenuOpen: W,
98
- asideOpen: V,
99
- setAsideOpen: H,
100
- toggleSidebar: J
99
+ }, [R, q]);
100
+ let qe = De(() => ({
101
+ sidebarOpen: z,
102
+ setSidebarOpen: K,
103
+ menuOpen: H,
104
+ setMenuOpen: U,
105
+ asideOpen: B,
106
+ setAsideOpen: V,
107
+ toggleSidebar: q
101
108
  }), [
102
- V,
103
- U,
104
- H,
105
- q,
106
109
  B,
107
- J
110
+ H,
111
+ V,
112
+ K,
113
+ z,
114
+ q
108
115
  ]);
109
- function Fe(e) {
110
- e.target.closest("nav a[href], nav button") != null && W(!1);
116
+ function Je(e) {
117
+ e.target.closest("nav a[href], nav button") != null && U(!1);
111
118
  }
112
- let Y = z && Ee === "docked" && je, X = `${K}-aside`, Ie = d(null), Z = d(null);
113
- u(() => {
114
- Y && (V ? Z.current = document.activeElement : Z.current = null);
115
- }, [V, Y]);
116
- function Le() {
117
- let e = Z.current, t = Ie.current?.contains(document.activeElement) ?? !1;
118
- H(!1), t && (e?.isConnected ? e.focus() : document.getElementById(`${K}-main`)?.focus());
119
+ let J = Be && (M === "docked" || M === "inset") && He, Y = J && M === "inset", X = `${W}-aside`, Ye = f(null), Z = f(null);
120
+ d(() => {
121
+ J && (B ? Z.current = document.activeElement : Z.current = null);
122
+ }, [B, J]);
123
+ let Xe = J && B ? /* @__PURE__ */ g("aside", {
124
+ ref: Ye,
125
+ id: X,
126
+ "aria-labelledby": `${X}-title`,
127
+ className: Y ? ue : le,
128
+ onKeyDown: (e) => {
129
+ e.key === "Escape" && !e.defaultPrevented && (e.preventDefault(), Ze());
130
+ },
131
+ children: /* @__PURE__ */ _("div", {
132
+ className: oe,
133
+ children: [
134
+ /* @__PURE__ */ g(se, {
135
+ titleId: `${X}-title`,
136
+ descriptionId: `${X}-description`,
137
+ title: x ?? F.aside?.title ?? P.aside,
138
+ description: S ?? F.aside?.description,
139
+ closeLabel: "Close panel",
140
+ onClose: Ze,
141
+ delineated: !Y,
142
+ className: Y ? de : void 0
143
+ }),
144
+ /* @__PURE__ */ g("div", {
145
+ className: e(ne, C == null && "pb-4"),
146
+ children: L
147
+ }),
148
+ C == null ? null : /* @__PURE__ */ _("footer", {
149
+ className: ie,
150
+ children: [/* @__PURE__ */ g("hr", {
151
+ className: ae,
152
+ "aria-hidden": "true"
153
+ }), /* @__PURE__ */ g("div", {
154
+ className: re,
155
+ children: C
156
+ })]
157
+ })
158
+ ]
159
+ })
160
+ }) : null;
161
+ function Ze() {
162
+ let e = Z.current, t = Ye.current?.contains(document.activeElement) ?? !1;
163
+ V(!1), t && (e?.isConnected ? e.focus() : document.getElementById(`${W}-main`)?.focus());
119
164
  }
120
- let Re = B ? j.collapse : j.expand, Q = `${K}-main`, ze = N == null ? null : /* @__PURE__ */ h("div", {
121
- className: se,
122
- children: N
123
- }), Be = F == null ? null : /* @__PURE__ */ h("div", {
124
- className: pe,
125
- children: F
126
- }), $ = R ? /* @__PURE__ */ g(i.Provider, { children: [/* @__PURE__ */ g(i, { children: [/* @__PURE__ */ h(i.Trigger, { render: /* @__PURE__ */ h(n, {
127
- ref: Ne,
165
+ let Qe = z ? P.collapse : P.expand, Q = `${W}-main`, $e = Ie == null ? null : /* @__PURE__ */ g("div", {
166
+ className: fe,
167
+ children: Ie
168
+ }), et = Le == null ? null : /* @__PURE__ */ g("div", {
169
+ className: ve,
170
+ children: Le
171
+ }), $ = R ? /* @__PURE__ */ _(i.Provider, { children: [/* @__PURE__ */ _(i, { children: [/* @__PURE__ */ g(i.Trigger, { render: /* @__PURE__ */ g(n, {
172
+ ref: Ke,
128
173
  role: "ghost",
129
174
  size: "sm",
130
175
  title: "",
131
- icon: /* @__PURE__ */ h(p, { strokeWidth: 2 }),
132
- "aria-label": Re,
133
- "aria-expanded": B,
134
- "aria-controls": K,
176
+ icon: /* @__PURE__ */ g(m, { strokeWidth: 2 }),
177
+ "aria-label": Qe,
178
+ "aria-expanded": z,
179
+ "aria-controls": W,
135
180
  "aria-keyshortcuts": "Control+B Meta+B",
136
- className: ge,
137
- onClick: () => q(!B)
138
- }) }), /* @__PURE__ */ h(i.Content, { children: /* @__PURE__ */ g("span", {
181
+ className: xe,
182
+ onClick: () => K(!z)
183
+ }) }), /* @__PURE__ */ g(i.Content, { children: /* @__PURE__ */ _("span", {
139
184
  className: "inline-flex items-center gap-2",
140
185
  children: [
141
- Re,
142
- /* @__PURE__ */ h(r, {
186
+ Qe,
187
+ /* @__PURE__ */ g(r, {
143
188
  size: "sm",
144
189
  children: "Ctrl"
145
190
  }),
146
- /* @__PURE__ */ h(r, {
191
+ /* @__PURE__ */ g(r, {
147
192
  size: "sm",
148
193
  children: "B"
149
194
  })
150
195
  ]
151
- }) })] }), A === "picker" ? /* @__PURE__ */ h(t, {
196
+ }) })] }), N === "picker" ? /* @__PURE__ */ g(t, {
152
197
  role: "ghost",
153
198
  size: "sm",
154
- icon: /* @__PURE__ */ h(p, { strokeWidth: 2 }),
155
- "aria-label": `${j.menu}: ${c}`,
156
- "aria-expanded": U,
199
+ icon: /* @__PURE__ */ g(m, { strokeWidth: 2 }),
200
+ "aria-label": `${P.menu}: ${l}`,
201
+ "aria-expanded": H,
157
202
  "aria-haspopup": "dialog",
158
203
  "aria-keyshortcuts": "Control+B Meta+B",
159
- className: e(s, "min-w-0 max-w-full [&>span:last-child]:min-w-0"),
160
- onClick: () => W(!0),
161
- children: /* @__PURE__ */ g("span", {
204
+ className: e(c, "min-w-0 max-w-full [&>span:last-child]:min-w-0"),
205
+ onClick: () => U(!0),
206
+ children: /* @__PURE__ */ _("span", {
162
207
  className: "flex min-w-0 items-center gap-1",
163
- children: [/* @__PURE__ */ h("span", {
208
+ children: [/* @__PURE__ */ g("span", {
164
209
  className: "min-w-0 truncate",
165
- children: c
166
- }), /* @__PURE__ */ h(Se, {
210
+ children: l
211
+ }), /* @__PURE__ */ g(Oe, {
167
212
  strokeWidth: 2,
168
213
  "aria-hidden": "true",
169
214
  className: "size-4 shrink-0 text-muted"
170
215
  })]
171
216
  })
172
- }) : A === "label" ? /* @__PURE__ */ h(t, {
217
+ }) : N === "label" ? /* @__PURE__ */ g(t, {
173
218
  role: "ghost",
174
219
  size: "sm",
175
- icon: /* @__PURE__ */ h(p, { strokeWidth: 2 }),
176
- "aria-expanded": U,
220
+ icon: /* @__PURE__ */ g(m, { strokeWidth: 2 }),
221
+ "aria-expanded": H,
177
222
  "aria-haspopup": "dialog",
178
223
  "aria-keyshortcuts": "Control+B Meta+B",
179
- className: e(s, "shrink-0"),
180
- onClick: () => W(!0),
181
- children: j.menu
182
- }) : /* @__PURE__ */ h(n, {
224
+ className: e(c, "shrink-0"),
225
+ onClick: () => U(!0),
226
+ children: P.menu
227
+ }) : /* @__PURE__ */ g(n, {
183
228
  role: "ghost",
184
229
  size: "sm",
185
- icon: /* @__PURE__ */ h(p, { strokeWidth: 2 }),
186
- "aria-label": j.menu,
187
- "aria-expanded": U,
230
+ icon: /* @__PURE__ */ g(m, { strokeWidth: 2 }),
231
+ "aria-label": P.menu,
232
+ "aria-expanded": H,
188
233
  "aria-haspopup": "dialog",
189
234
  "aria-keyshortcuts": "Control+B Meta+B",
190
- className: s,
191
- onClick: () => W(!0)
235
+ className: c,
236
+ onClick: () => U(!0)
192
237
  })] }) : null;
193
- return /* @__PURE__ */ h(w.Provider, {
194
- value: Pe,
195
- children: /* @__PURE__ */ g("div", {
196
- className: e(ue, ke),
238
+ return /* @__PURE__ */ g(E.Provider, {
239
+ value: qe,
240
+ children: /* @__PURE__ */ _("div", {
241
+ className: e(he, Fe),
197
242
  children: [
198
- /* @__PURE__ */ h("a", {
243
+ /* @__PURE__ */ g("a", {
199
244
  href: `#${Q}`,
200
- className: me,
245
+ className: ye,
201
246
  onClick: (e) => {
202
247
  e.preventDefault(), document.getElementById(Q)?.focus();
203
248
  },
204
- children: j.skipToContent
249
+ children: P.skipToContent
205
250
  }),
206
- R ? /* @__PURE__ */ g("div", {
207
- ref: Me,
208
- id: K,
209
- className: e(fe, !B && "lg:!hidden"),
251
+ R ? /* @__PURE__ */ _("div", {
252
+ ref: G,
253
+ id: W,
254
+ className: e(_e, !z && "lg:!hidden"),
210
255
  children: [
211
- ze,
212
- /* @__PURE__ */ h("div", {
213
- className: o,
214
- children: P
256
+ $e,
257
+ /* @__PURE__ */ g("div", {
258
+ className: s,
259
+ children: I
215
260
  }),
216
- Be
261
+ et
217
262
  ]
218
263
  }) : null,
219
- /* @__PURE__ */ g("div", {
220
- className: ce,
221
- children: [/* @__PURE__ */ g("div", {
222
- className: he,
223
- children: [A === "picker" ? /* @__PURE__ */ h(a, {
224
- variant: "app",
225
- "aria-label": c,
226
- start: /* @__PURE__ */ g(m, { children: [$, /* @__PURE__ */ h("h1", {
227
- className: e(ee.app, "max-lg:sr-only"),
228
- children: c
229
- })] }),
230
- end: I
231
- }) : /* @__PURE__ */ h(a, {
232
- variant: "app",
233
- title: c,
234
- "aria-label": c,
235
- start: $,
236
- end: I
237
- }), /* @__PURE__ */ h("main", {
238
- id: Q,
239
- tabIndex: -1,
240
- className: le,
241
- children: M.content
242
- })]
243
- }), Y && V ? /* @__PURE__ */ h("aside", {
244
- ref: Ie,
245
- id: X,
246
- "aria-labelledby": `${X}-title`,
247
- className: oe,
248
- onKeyDown: (e) => {
249
- e.key === "Escape" && !e.defaultPrevented && (e.preventDefault(), Le());
250
- },
251
- children: /* @__PURE__ */ g("div", {
252
- className: ne,
253
- children: [/* @__PURE__ */ h(re, {
254
- titleId: `${X}-title`,
255
- descriptionId: `${X}-description`,
256
- title: y ?? M.aside?.title ?? j.aside,
257
- description: b ?? M.aside?.description,
258
- closeLabel: "Close panel",
259
- onClose: Le,
260
- delineated: !0
261
- }), /* @__PURE__ */ h("div", {
262
- className: e(te, "pb-4"),
263
- children: L
264
- })]
265
- })
266
- }) : null]
264
+ /* @__PURE__ */ _("div", {
265
+ className: pe,
266
+ children: [/* @__PURE__ */ _("div", {
267
+ className: be,
268
+ children: [
269
+ N === "picker" ? /* @__PURE__ */ g(te, {
270
+ variant: "app",
271
+ "aria-label": l,
272
+ start: /* @__PURE__ */ _(h, { children: [$, /* @__PURE__ */ g("h1", {
273
+ className: e(ee.app, "max-lg:sr-only"),
274
+ children: l
275
+ })] }),
276
+ end: Re
277
+ }) : /* @__PURE__ */ g(te, {
278
+ variant: "app",
279
+ title: l,
280
+ "aria-label": l,
281
+ start: $,
282
+ end: Re
283
+ }),
284
+ ze == null ? null : /* @__PURE__ */ g("div", {
285
+ className: Se,
286
+ children: ze
287
+ }),
288
+ Y ? /* @__PURE__ */ _("div", {
289
+ className: me,
290
+ children: [/* @__PURE__ */ g("main", {
291
+ id: Q,
292
+ tabIndex: -1,
293
+ className: o,
294
+ children: F.content
295
+ }), Xe]
296
+ }) : /* @__PURE__ */ g("main", {
297
+ id: Q,
298
+ tabIndex: -1,
299
+ className: o,
300
+ children: F.content
301
+ })
302
+ ]
303
+ }), J && !Y ? Xe : null]
267
304
  }),
268
- R ? /* @__PURE__ */ h(ae, {
269
- open: U,
270
- onOpenChange: W,
271
- children: /* @__PURE__ */ h(ae.Content, {
305
+ R ? /* @__PURE__ */ g(ce, {
306
+ open: H,
307
+ onOpenChange: U,
308
+ children: /* @__PURE__ */ g(ce.Content, {
272
309
  side: "start",
273
- title: j.menu,
274
- children: /* @__PURE__ */ g("div", {
275
- className: de,
276
- onClick: Fe,
310
+ title: P.menu,
311
+ children: /* @__PURE__ */ _("div", {
312
+ className: ge,
313
+ onClick: Je,
277
314
  children: [
278
- ze,
279
- /* @__PURE__ */ h("div", {
280
- className: o,
281
- children: P
315
+ $e,
316
+ /* @__PURE__ */ g("div", {
317
+ className: s,
318
+ children: I
282
319
  }),
283
- Be
320
+ et
284
321
  ]
285
322
  })
286
323
  })
287
324
  }) : null,
288
- z && !Y ? /* @__PURE__ */ h(ie, {
289
- open: V,
290
- onOpenChange: H,
291
- children: /* @__PURE__ */ h(ie.Content, {
325
+ Be && !J && (M === "overlay" || We) ? /* @__PURE__ */ g(a, {
326
+ open: B,
327
+ onOpenChange: V,
328
+ children: /* @__PURE__ */ g(a.Content, {
292
329
  side: "end",
293
- title: y ?? M.aside?.title ?? j.aside,
294
- description: b ?? M.aside?.description,
330
+ title: x ?? F.aside?.title ?? P.aside,
331
+ description: S ?? F.aside?.description,
332
+ footer: C,
295
333
  children: L
296
334
  })
297
335
  }) : null
@@ -299,12 +337,13 @@ function O({ title: c, brand: _e, sidebar: ve, sidebarFooter: ye, header: _, asi
299
337
  })
300
338
  });
301
339
  }
302
- var k = Object.assign(O, {
303
- Brand: y,
304
- Sidebar: b,
305
- SidebarFooter: x,
306
- Header: S,
307
- Aside: C
340
+ var j = Object.assign(A, {
341
+ Brand: b,
342
+ Sidebar: x,
343
+ SidebarFooter: S,
344
+ Header: C,
345
+ Toolbar: w,
346
+ Aside: T
308
347
  });
309
348
  //#endregion
310
- export { k as AppShell, _ as appShellAsideModes, v as appShellMenuButtons, T as useAppShell };
349
+ export { j as AppShell, v as appShellAsideModes, y as appShellMenuButtons, D as useAppShell };
@@ -22,4 +22,15 @@ export declare const appShellMainClasses = "min-h-0 flex-1 overflow-y-auto px-[v
22
22
  export declare const appShellToggleDesktopClasses = "max-lg:!hidden";
23
23
  export declare const appShellToggleMobileClasses = "lg:!hidden";
24
24
  export declare const appShellSheetBodyClasses = "flex h-full min-h-0 flex-col";
25
+ /** Full-width band under the title bar: a view toolbar for the page (and an inset aside below it). */
26
+ export declare const appShellToolbarClasses = "shrink-0 border-b border-border";
27
+ /** `asideMode="inset"`: the page body and the floating aside side by side, under the toolbar. */
28
+ export declare const appShellInsetRowClasses = "flex min-h-0 flex-1";
29
+ /**
30
+ * `asideMode="inset"` from `lg`: a raised card floating inside the page surface, 12px from its end and
31
+ * bottom edges; the page body narrows beside it, never covered.
32
+ */
33
+ export declare const appShellAsideInsetClasses = "mb-3 me-3 mt-3 flex min-h-0 w-80 shrink-0 flex-col overflow-hidden rounded-[var(--radius-surface-md)] border border-border bg-surface shadow-lg";
34
+ /** Inset aside header: the title bar's 56px band, title and description centred in it. */
35
+ export declare const appShellAsideInsetHeaderClasses: string;
25
36
  //# sourceMappingURL=appShellStyles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"appShellStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/AppShell/appShellStyles.ts"],"names":[],"mappings":"AAIA,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB,yDAAyD,CAAC;AAE1F,sFAAsF;AACtF,eAAO,MAAM,sBAAsB,mEAAmE,CAAC;AAEvG,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,QAGhC,CAAC;AAEF,eAAO,MAAM,0BAA0B,mCAAmC,CAAC;AAE3E,6EAA6E;AAC7E,eAAO,MAAM,4BAA4B,kCAAkC,CAAC;AAE5E,qFAAqF;AACrF,eAAO,MAAM,qBAAqB,0CAA0C,CAAC;AAE7E;;;GAGG;AACH,eAAO,MAAM,0BAA0B,QAGtC,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,sBAAsB,QAGlC,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,uBAAuB,QAGqB,CAAC;AAE1D,eAAO,MAAM,mBAAmB,2FAC0D,CAAC;AAE3F,eAAO,MAAM,4BAA4B,mBAAmB,CAAC;AAE7D,eAAO,MAAM,2BAA2B,eAAe,CAAC;AAExD,eAAO,MAAM,wBAAwB,iCAAiC,CAAC"}
1
+ {"version":3,"file":"appShellStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/AppShell/appShellStyles.ts"],"names":[],"mappings":"AAIA,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB,yDAAyD,CAAC;AAE1F,sFAAsF;AACtF,eAAO,MAAM,sBAAsB,mEAAmE,CAAC;AAEvG,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,QAGhC,CAAC;AAEF,eAAO,MAAM,0BAA0B,mCAAmC,CAAC;AAE3E,6EAA6E;AAC7E,eAAO,MAAM,4BAA4B,kCAAkC,CAAC;AAE5E,qFAAqF;AACrF,eAAO,MAAM,qBAAqB,0CAA0C,CAAC;AAE7E;;;GAGG;AACH,eAAO,MAAM,0BAA0B,QAGtC,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,sBAAsB,QAGlC,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,uBAAuB,QAGqB,CAAC;AAE1D,eAAO,MAAM,mBAAmB,2FAC0D,CAAC;AAE3F,eAAO,MAAM,4BAA4B,mBAAmB,CAAC;AAE7D,eAAO,MAAM,2BAA2B,eAAe,CAAC;AAExD,eAAO,MAAM,wBAAwB,iCAAiC,CAAC;AAEvE,sGAAsG;AACtG,eAAO,MAAM,sBAAsB,oCAAoC,CAAC;AAExE,iGAAiG;AACjG,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,yBAAyB,oJAC6G,CAAC;AAEpJ,0FAA0F;AAC1F,eAAO,MAAM,+BAA+B,QAA8F,CAAC"}
@@ -3,6 +3,6 @@ import { cn as e } from "../../../lib/cn.js";
3
3
  import { cardLayoutShellShapeClasses as t } from "../../molecules/Card/cardStyles.js";
4
4
  import { pageHeaderAppBandHeightClasses as n } from "../../molecules/PageHeader/pageHeaderStyles.js";
5
5
  //#region src/components/organisms/AppShell/appShellStyles.ts
6
- var r = "flex h-full min-h-0 w-full bg-body font-sans text-fg", i = "flex h-full min-h-0 w-60 shrink-0 flex-col pt-2 max-lg:!hidden", a = e("box-border flex shrink-0 items-center gap-2 px-4", n), o = "min-h-0 flex-1 overflow-y-auto", s = "box-border shrink-0 px-4 py-3", c = "flex min-h-0 min-w-0 flex-1 gap-2 p-2", l = e("flex min-h-0 w-80 shrink-0 flex-col overflow-hidden bg-surface shadow-soft-card", t.rounded), u = e("flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden bg-surface shadow-soft-card", t.rounded), d = "sr-only focus:not-sr-only focus:fixed focus:start-4 focus:top-4 focus:z-50 focus:rounded-[var(--radius-control)] focus:bg-body focus:px-4 focus:py-2 focus:text-sm focus:font-medium focus:text-fg focus:outline-none focus:ring-2 focus:ring-focus-ring", f = "min-h-0 flex-1 overflow-y-auto px-[var(--grid-margin)] py-6 focus-visible:outline-none", p = "max-lg:!hidden", m = "lg:!hidden", h = "flex h-full min-h-0 flex-col";
6
+ var r = "flex h-full min-h-0 w-full bg-body font-sans text-fg", i = "flex h-full min-h-0 w-60 shrink-0 flex-col pt-2 max-lg:!hidden", a = e("box-border flex shrink-0 items-center gap-2 px-4", n), o = "min-h-0 flex-1 overflow-y-auto", s = "box-border shrink-0 px-4 py-3", c = "flex min-h-0 min-w-0 flex-1 gap-2 p-2", l = e("flex min-h-0 w-80 shrink-0 flex-col overflow-hidden bg-surface shadow-soft-card", t.rounded), u = e("flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden bg-surface shadow-soft-card", t.rounded), d = "sr-only focus:not-sr-only focus:fixed focus:start-4 focus:top-4 focus:z-50 focus:rounded-[var(--radius-control)] focus:bg-body focus:px-4 focus:py-2 focus:text-sm focus:font-medium focus:text-fg focus:outline-none focus:ring-2 focus:ring-focus-ring", f = "min-h-0 flex-1 overflow-y-auto px-[var(--grid-margin)] py-6 focus-visible:outline-none", p = "max-lg:!hidden", m = "lg:!hidden", h = "flex h-full min-h-0 flex-col", g = "shrink-0 border-b border-border", _ = "flex min-h-0 flex-1", v = "mb-3 me-3 mt-3 flex min-h-0 w-80 shrink-0 flex-col overflow-hidden rounded-[var(--radius-surface-md)] border border-border bg-surface shadow-lg", y = e("box-border !items-center !py-0 border-b border-border", n);
7
7
  //#endregion
8
- export { l as appShellAsideDockedClasses, a as appShellBrandClasses, c as appShellCanvasClasses, f as appShellMainClasses, r as appShellRootClasses, h as appShellSheetBodyClasses, o as appShellSidebarBodyClasses, i as appShellSidebarClasses, s as appShellSidebarFooterClasses, d as appShellSkipLinkClasses, u as appShellSurfaceClasses, p as appShellToggleDesktopClasses, m as appShellToggleMobileClasses };
8
+ export { l as appShellAsideDockedClasses, v as appShellAsideInsetClasses, y as appShellAsideInsetHeaderClasses, a as appShellBrandClasses, c as appShellCanvasClasses, _ as appShellInsetRowClasses, f as appShellMainClasses, r as appShellRootClasses, h as appShellSheetBodyClasses, o as appShellSidebarBodyClasses, i as appShellSidebarClasses, s as appShellSidebarFooterClasses, d as appShellSkipLinkClasses, u as appShellSurfaceClasses, p as appShellToggleDesktopClasses, m as appShellToggleMobileClasses, g as appShellToolbarClasses };
@@ -3,7 +3,7 @@ import { type ChartTone } from "../../../lib/chartTheme";
3
3
  import { type ChartSegmentedBarAnimate } from "./chartSegmentedBarMotion";
4
4
  /** Discrete ticks around the ring. Channels uses a fine meter; 72 keeps the gaps visible. */
5
5
  export declare const chartSegmentedRingSegmentDefault = 72;
6
- export declare const chartSegmentedRingSizes: readonly ["sm", "md", "lg"];
6
+ export declare const chartSegmentedRingSizes: readonly ["sm", "md", "lg", "fluid"];
7
7
  export type ChartSegmentedRingSize = (typeof chartSegmentedRingSizes)[number];
8
8
  /** Replaces the center figure when the source is unwired. The track stays empty. */
9
9
  export interface ChartSegmentedRingUnavailable {
@@ -24,10 +24,16 @@ export interface ChartSegmentedRingProps {
24
24
  centerValue?: ReactNode;
25
25
  /** Caption under `centerValue`. */
26
26
  centerLabel?: ReactNode;
27
- /** sm 96px, md 160px, lg 192px. */
27
+ /**
28
+ * sm 96px, md 160px, lg 192px. `fluid` fills its container's width (square, so give the container a height
29
+ * cap such as `max-h-[70svh]` with `aspect-square`) and sizes the centre figure to the ring.
30
+ */
28
31
  size?: ChartSegmentedRingSize;
29
- /** `initial` sweeps from empty on mount. Reduced motion stays on the final fill. */
30
- animate?: ChartSegmentedBarAnimate;
32
+ /**
33
+ * `initial` sweeps from empty on mount, then jumps to new values. `always` also sweeps from the current fill
34
+ * to each new value (one gauge stepping through figures). Reduced motion stays on the final fill.
35
+ */
36
+ animate?: ChartSegmentedBarAnimate | "always";
31
37
  /** Accessible name. Defaults to the percent of capacity. */
32
38
  label?: string;
33
39
  /** Source not wired — empty track, muted label and reason in the hole. */
@@ -1 +1 @@
1
- {"version":3,"file":"ChartSegmentedRing.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Chart/ChartSegmentedRing.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGnF,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,2BAA2B,CAAC;AAYnC,6FAA6F;AAC7F,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAEnD,eAAO,MAAM,uBAAuB,6BAA8B,CAAC;AAEnE,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E,oFAAoF;AACpF,MAAM,WAAW,6BAA6B;IAC5C,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gEAAgE;IAChE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,mCAAmC;IACnC,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,mCAAmC;IACnC,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B,oFAAoF;IACpF,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,WAAW,CAAC,EAAE,6BAA6B,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;EAQnF;AAED,sFAAsF;AACtF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAgB/E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,GAAG,EACH,QAA2C,EAC3C,IAAgB,EAChB,WAAW,EACX,WAAW,EACX,IAAW,EACX,OAAmB,EACnB,KAAK,EACL,WAAW,EACX,SAAS,GACV,EAAE,uBAAuB,+BA6FzB"}
1
+ {"version":3,"file":"ChartSegmentedRing.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Chart/ChartSegmentedRing.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGnF,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,2BAA2B,CAAC;AAYnC,6FAA6F;AAC7F,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAEnD,eAAO,MAAM,uBAAuB,sCAAuC,CAAC;AAE5E,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E,oFAAoF;AACpF,MAAM,WAAW,6BAA6B;IAC5C,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gEAAgE;IAChE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,mCAAmC;IACnC,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,wBAAwB,GAAG,QAAQ,CAAC;IAC9C,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,WAAW,CAAC,EAAE,6BAA6B,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;EAQnF;AAED,sFAAsF;AACtF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAgB/E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,GAAG,EACH,QAA2C,EAC3C,IAAgB,EAChB,WAAW,EACX,WAAW,EACX,IAAW,EACX,OAAmB,EACnB,KAAK,EACL,WAAW,EACX,SAAS,GACV,EAAE,uBAAuB,+BAiGzB"}