@studiolxd/brand 49.28.0 → 50.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (279) hide show
  1. package/LICENSE +61 -0
  2. package/README.md +26 -4
  3. package/dist/_shared/assign-ref.js +6 -0
  4. package/dist/_shared/calendargrid.js +57 -57
  5. package/dist/_shared/datepicker.js +67 -65
  6. package/dist/_shared/default-render-link.js +7 -0
  7. package/dist/_shared/dialogsurface.js +1 -1
  8. package/dist/_shared/dropdownitems.js +14 -20
  9. package/dist/_shared/imagecropdialog.js +38 -441
  10. package/dist/_shared/overflow-focusable.js +15 -0
  11. package/dist/_shared/side-offset.js +13 -0
  12. package/dist/_shared/tokens.js +31 -129
  13. package/dist/_shared/useasyncoptions.js +30 -0
  14. package/dist/_types/atoms/Accordion/Accordion.d.ts +7 -1
  15. package/dist/_types/atoms/AsyncMultiSelect/AsyncMultiSelect.d.ts +8 -4
  16. package/dist/_types/atoms/AsyncSelect/AsyncSelect.d.ts +8 -4
  17. package/dist/_types/atoms/Autocomplete/Autocomplete.d.ts +10 -6
  18. package/dist/_types/atoms/CloseButton/CloseButton.d.ts +13 -3
  19. package/dist/_types/atoms/Fieldset/Fieldset.d.ts +1 -1
  20. package/dist/_types/atoms/InputPhone/InputPhone.d.ts +2 -0
  21. package/dist/_types/atoms/MultiSelect/MultiSelect.d.ts +11 -10
  22. package/dist/_types/atoms/Select/Select.d.ts +6 -0
  23. package/dist/_types/atoms/Skeleton/Skeleton.d.ts +1 -1
  24. package/dist/_types/atoms/Spinner/Spinner.d.ts +3 -1
  25. package/dist/_types/atoms/TypingIndicator/TypingIndicator.d.ts +3 -1
  26. package/dist/_types/atoms/_shared/useAsyncOptions.d.ts +36 -0
  27. package/dist/_types/constants/assign-ref.d.ts +12 -0
  28. package/dist/_types/constants/default-render-link.d.ts +13 -0
  29. package/dist/_types/constants/overflow-focusable.d.ts +15 -0
  30. package/dist/_types/constants/side-offset.d.ts +18 -0
  31. package/dist/_types/email/EmailLayout.d.ts +38 -21
  32. package/dist/_types/messages/BrandMessages.d.ts +8 -2
  33. package/dist/_types/messages/index.d.ts +1 -1
  34. package/dist/_types/molecules/AppLauncher/AppLauncher.d.ts +9 -3
  35. package/dist/_types/molecules/Calendar/Calendar.d.ts +10 -1
  36. package/dist/_types/molecules/CalendarPlanner/CalendarPlanner.d.ts +43 -13
  37. package/dist/_types/molecules/CalendarRoster/CalendarRoster.d.ts +10 -2
  38. package/dist/_types/molecules/ContextMenu/ContextMenu.d.ts +8 -1
  39. package/dist/_types/molecules/DatePicker/DatePicker.d.ts +6 -0
  40. package/dist/_types/molecules/DateTimeField/DateTimeField.d.ts +2 -0
  41. package/dist/_types/molecules/DocsSearch/DocsSearch.d.ts +2 -2
  42. package/dist/_types/molecules/FloatingToolbar/FloatingToolbar.d.ts +83 -0
  43. package/dist/_types/molecules/FormField/FormField.d.ts +5 -6
  44. package/dist/_types/molecules/LanguageSwitcher/LanguageSwitcher.d.ts +7 -3
  45. package/dist/_types/molecules/LoadingRegion/LoadingRegion.d.ts +12 -4
  46. package/dist/_types/molecules/Modal/Modal.d.ts +10 -4
  47. package/dist/_types/molecules/OrgSwitcher/OrgSwitcher.d.ts +7 -1
  48. package/dist/_types/molecules/PasswordField/PasswordField.d.ts +9 -2
  49. package/dist/_types/molecules/PrevNextNav/PrevNextNav.d.ts +3 -1
  50. package/dist/_types/molecules/RecurrenceField/RecurrenceField.d.ts +6 -1
  51. package/dist/_types/molecules/SidebarNav/SidebarNav.d.ts +18 -2
  52. package/dist/_types/molecules/SiteNav/SiteNav.d.ts +4 -1
  53. package/dist/_types/molecules/StatTile/StatTile.d.ts +15 -1
  54. package/dist/_types/molecules/Table/Table.d.ts +1 -1
  55. package/dist/_types/molecules/ThemeSwitcher/ThemeSwitcher.d.ts +38 -3
  56. package/dist/_types/molecules/Toast/Toaster.d.ts +8 -0
  57. package/dist/_types/molecules/UserMenu/UserMenu.d.ts +7 -1
  58. package/dist/_types/molecules/_shared/calendarGrid.d.ts +15 -2
  59. package/dist/_types/molecules/_shared/dialogSurface.d.ts +6 -1
  60. package/dist/_types/molecules/_shared/dropdownItems.d.ts +0 -2
  61. package/dist/_types/sections/AppHeader/AppHeader.d.ts +3 -1
  62. package/dist/_types/sections/AppShell/AppShell.d.ts +6 -1
  63. package/dist/_types/sections/LegalFooter/LegalFooter.d.ts +7 -1
  64. package/dist/_types/sections/Sidebar/Sidebar.d.ts +3 -1
  65. package/dist/_types/sections/SiteFooter/SiteFooter.d.ts +6 -2
  66. package/dist/_types/sections/SiteHeader/SiteHeader.d.ts +2 -2
  67. package/dist/_types/templates/ConnectorAuth/ConnectorAuthShell.d.ts +5 -2
  68. package/dist/_types/templates/ConnectorAuth/ConnectorConsentPage.d.ts +1 -1
  69. package/dist/_types/templates/ConnectorAuth/ConnectorExternalSignInPage.d.ts +1 -1
  70. package/dist/_types/templates/ConnectorAuth/ConnectorRejectionPage.d.ts +1 -1
  71. package/dist/_types/templates/ConnectorAuth/ConnectorSignInPage.d.ts +1 -1
  72. package/dist/_types/templates/ErrorPage/ErrorPage.d.ts +7 -1
  73. package/dist/_types/templates/NotFoundPage/NotFoundPage.d.ts +7 -1
  74. package/dist/_types/templates/PublicPageShell/PublicPageShell.d.ts +6 -0
  75. package/dist/accordion.css +1 -1
  76. package/dist/accordion.js +6 -5
  77. package/dist/alert.css +1 -1
  78. package/dist/app-header.js +16 -21
  79. package/dist/app-launcher.css +1 -1
  80. package/dist/app-launcher.js +29 -21
  81. package/dist/app-shell.js +43 -43
  82. package/dist/async-multi-select.css +1 -1
  83. package/dist/async-multi-select.js +104 -173
  84. package/dist/async-select.css +1 -1
  85. package/dist/async-select.js +81 -137
  86. package/dist/autocomplete.css +1 -1
  87. package/dist/autocomplete.js +76 -115
  88. package/dist/brand.css +77 -987
  89. package/dist/breadcrumb.js +11 -16
  90. package/dist/button.css +1 -1
  91. package/dist/calendar-planner.css +1 -1
  92. package/dist/calendar-planner.js +100 -95
  93. package/dist/calendar-roster.css +1 -1
  94. package/dist/calendar-roster.js +69 -61
  95. package/dist/calendar.css +1 -1
  96. package/dist/calendar.js +86 -85
  97. package/dist/card.css +1 -1
  98. package/dist/card.js +42 -41
  99. package/dist/chart.css +1 -1
  100. package/dist/chat-shell.js +48 -47
  101. package/dist/checkbox.css +1 -1
  102. package/dist/close-button.js +14 -12
  103. package/dist/command-palette.css +1 -1
  104. package/dist/connector-consent-page.js +19 -18
  105. package/dist/connector-external-sign-in-page.js +6 -5
  106. package/dist/connector-rejection-page.js +5 -4
  107. package/dist/connector-sign-in-page.js +10 -9
  108. package/dist/consent.css +1 -1
  109. package/dist/context-menu.js +3 -2
  110. package/dist/conversation-list.css +1 -1
  111. package/dist/conversation-thread.css +1 -1
  112. package/dist/conversation-thread.js +1 -0
  113. package/dist/data-table.js +74 -1625
  114. package/dist/date-time-field.js +7 -6
  115. package/dist/docs-search.js +36 -38
  116. package/dist/email.js +10 -7
  117. package/dist/error-page.js +2 -2
  118. package/dist/fieldset.css +1 -1
  119. package/dist/figure.js +1 -0
  120. package/dist/file-upload.css +1 -1
  121. package/dist/file-upload.js +48 -50
  122. package/dist/floating-toolbar.css +1 -0
  123. package/dist/floating-toolbar.js +64 -0
  124. package/dist/form-field.js +55 -53
  125. package/dist/imagecropdialog.css +1 -1
  126. package/dist/input-phone.css +1 -1
  127. package/dist/input-phone.js +30 -31
  128. package/dist/input.css +1 -1
  129. package/dist/label.css +1 -1
  130. package/dist/language-switcher.js +37 -44
  131. package/dist/legal-footer.js +12 -17
  132. package/dist/loading-region.css +1 -1
  133. package/dist/loading-region.js +8 -8
  134. package/dist/menu.css +1 -1
  135. package/dist/menu.js +4 -3
  136. package/dist/message-bubble.css +1 -1
  137. package/dist/message-composer.css +1 -1
  138. package/dist/modal.css +1 -1
  139. package/dist/modal.js +9 -9
  140. package/dist/multi-select.css +1 -1
  141. package/dist/multi-select.js +104 -172
  142. package/dist/not-found-page.js +8 -5
  143. package/dist/notification-list.js +16 -21
  144. package/dist/notification-panel.js +34 -46
  145. package/dist/number-badge.css +1 -1
  146. package/dist/number-input.css +1 -1
  147. package/dist/org-switcher.css +1 -1
  148. package/dist/org-switcher.js +13 -11
  149. package/dist/password-field.js +40 -39
  150. package/dist/popover.css +1 -1
  151. package/dist/popover.js +9 -15
  152. package/dist/prev-next-nav.js +8 -7
  153. package/dist/public-page-shell.js +7 -6
  154. package/dist/radio.css +1 -1
  155. package/dist/recurrence-field.css +1 -1
  156. package/dist/recurrence-field.js +38 -37
  157. package/dist/select.css +1 -1
  158. package/dist/select.js +3 -2
  159. package/dist/sheet.css +1 -1
  160. package/dist/sidebar-nav.css +1 -1
  161. package/dist/sidebar-nav.js +75 -70
  162. package/dist/sidebar.css +1 -1
  163. package/dist/sidebar.js +46 -42
  164. package/dist/site-footer.js +28 -28
  165. package/dist/site-header.js +39 -44
  166. package/dist/site-nav.js +10 -19
  167. package/dist/site-search.js +34 -36
  168. package/dist/site-shell.js +17 -16
  169. package/dist/skeleton.js +8 -6
  170. package/dist/sortable.js +20 -19
  171. package/dist/spinner.js +11 -7
  172. package/dist/stat-tile.js +24 -26
  173. package/dist/switcher.css +1 -1
  174. package/dist/table.css +1 -1
  175. package/dist/table.js +57 -45
  176. package/dist/textarea.css +1 -1
  177. package/dist/theme-switcher.js +57 -56
  178. package/dist/toaster.css +1 -1
  179. package/dist/toggle.css +1 -1
  180. package/dist/tokens.css +75 -986
  181. package/dist/tooltip.css +1 -1
  182. package/dist/tooltip.js +20 -27
  183. package/dist/typing-indicator.css +1 -1
  184. package/dist/typing-indicator.js +4 -4
  185. package/dist/user-menu.css +1 -1
  186. package/dist/user-menu.js +38 -45
  187. package/dist/visuallyhidden.css +1 -1
  188. package/package.json +26 -14
  189. package/src/tokens/components/async-multi-select.css +4 -0
  190. package/src/tokens/components/async-select.css +3 -0
  191. package/src/tokens/components/autocomplete.css +1 -0
  192. package/src/tokens/components/breadcrumb.css +0 -2
  193. package/src/tokens/components/button.css +0 -23
  194. package/src/tokens/components/control.css +0 -4
  195. package/src/tokens/components/file-upload.css +0 -4
  196. package/src/tokens/components/radio.css +2 -0
  197. package/src/tokens/components/site-header.css +0 -1
  198. package/src/tokens/index.css +5 -7
  199. package/src/tokens/molecules/async-multi-select-field.css +0 -6
  200. package/src/tokens/molecules/async-select-field.css +0 -6
  201. package/src/tokens/molecules/autocomplete-field.css +0 -5
  202. package/src/tokens/molecules/avatar-upload.css +0 -6
  203. package/src/tokens/molecules/calendar-roster.css +5 -0
  204. package/src/tokens/molecules/chart.css +0 -3
  205. package/src/tokens/molecules/checkbox-field.css +0 -6
  206. package/src/tokens/molecules/consent.css +1 -0
  207. package/src/tokens/molecules/conversation-thread.css +10 -0
  208. package/src/tokens/molecules/date-picker-field.css +0 -6
  209. package/src/tokens/molecules/date-time-field.css +0 -6
  210. package/src/tokens/molecules/dropdown-field.css +0 -6
  211. package/src/tokens/molecules/file-upload-field.css +0 -6
  212. package/src/tokens/molecules/floating-toolbar.css +18 -0
  213. package/src/tokens/molecules/floating-toolbar.ts +4 -0
  214. package/src/tokens/molecules/input-field.css +0 -1
  215. package/src/tokens/molecules/input-phone-field.css +0 -6
  216. package/src/tokens/molecules/modal.css +1 -0
  217. package/src/tokens/molecules/multi-select-field.css +0 -6
  218. package/src/tokens/molecules/number-input-field.css +0 -6
  219. package/src/tokens/molecules/otp-field.css +0 -6
  220. package/src/tokens/molecules/radio-field.css +0 -6
  221. package/src/tokens/molecules/recurrence-field.css +1 -0
  222. package/src/tokens/molecules/select-field.css +0 -6
  223. package/src/tokens/molecules/sidebar-nav.css +0 -6
  224. package/src/tokens/molecules/site-search.css +0 -2
  225. package/src/tokens/molecules/switcher-field.css +0 -1
  226. package/src/tokens/molecules/table.css +1 -0
  227. package/src/tokens/molecules/textarea-field.css +0 -6
  228. package/src/tokens/molecules/time-field.css +0 -6
  229. package/src/tokens/scss/_index.legacy.scss +1 -0
  230. package/src/tokens/scss/_index.scss +1 -0
  231. package/src/tokens/scss/components/_async-multi-select.scss +4 -0
  232. package/src/tokens/scss/components/_async-select.scss +3 -0
  233. package/src/tokens/scss/components/_autocomplete.scss +1 -0
  234. package/src/tokens/scss/components/_breadcrumb.scss +0 -2
  235. package/src/tokens/scss/components/_button.scss +0 -23
  236. package/src/tokens/scss/components/_control.scss +0 -4
  237. package/src/tokens/scss/components/_file-upload.scss +0 -4
  238. package/src/tokens/scss/components/_site-header.scss +0 -1
  239. package/src/tokens/scss/molecules/_async-multi-select-field.scss +0 -5
  240. package/src/tokens/scss/molecules/_async-select-field.scss +0 -5
  241. package/src/tokens/scss/molecules/_autocomplete-field.scss +0 -5
  242. package/src/tokens/scss/molecules/_avatar-upload.scss +0 -5
  243. package/src/tokens/scss/molecules/_calendar-roster.scss +4 -0
  244. package/src/tokens/scss/molecules/_chart.scss +0 -2
  245. package/src/tokens/scss/molecules/_checkbox-field.scss +0 -5
  246. package/src/tokens/scss/molecules/_consent.scss +1 -0
  247. package/src/tokens/scss/molecules/_conversation-thread.scss +3 -0
  248. package/src/tokens/scss/molecules/_date-picker-field.scss +0 -5
  249. package/src/tokens/scss/molecules/_date-time-field.scss +0 -5
  250. package/src/tokens/scss/molecules/_dropdown-field.scss +0 -5
  251. package/src/tokens/scss/molecules/_file-upload-field.scss +0 -5
  252. package/src/tokens/scss/molecules/_floating-toolbar.scss +15 -0
  253. package/src/tokens/scss/molecules/_input-field.scss +0 -1
  254. package/src/tokens/scss/molecules/_input-phone-field.scss +0 -5
  255. package/src/tokens/scss/molecules/_modal.scss +1 -0
  256. package/src/tokens/scss/molecules/_multi-select-field.scss +0 -5
  257. package/src/tokens/scss/molecules/_number-input-field.scss +0 -5
  258. package/src/tokens/scss/molecules/_otp-field.scss +0 -5
  259. package/src/tokens/scss/molecules/_radio-field.scss +0 -5
  260. package/src/tokens/scss/molecules/_recurrence-field.scss +1 -0
  261. package/src/tokens/scss/molecules/_select-field.scss +0 -5
  262. package/src/tokens/scss/molecules/_sidebar-nav.scss +0 -4
  263. package/src/tokens/scss/molecules/_site-search.scss +0 -2
  264. package/src/tokens/scss/molecules/_switcher-field.scss +0 -1
  265. package/src/tokens/scss/molecules/_table.scss +1 -0
  266. package/src/tokens/scss/molecules/_textarea-field.scss +0 -5
  267. package/src/tokens/scss/molecules/_time-field.scss +0 -5
  268. package/src/tokens/surface-dark-derived.css +2 -1
  269. package/src/tokens/surface-invert.css +15 -21
  270. package/src/tokens/surface-public.css +0 -19
  271. package/src/tokens/tokens.json +31 -129
  272. package/CHANGELOG.md +0 -8154
  273. package/dist/_types/data/home.d.ts +0 -83
  274. package/dist/_types/pages/Auth/AuthPage.d.ts +0 -24
  275. package/dist/_types/pages/Onboarding/OnboardingPage.d.ts +0 -37
  276. package/dist/_types/pages/Status/StatusPage.d.ts +0 -37
  277. package/dist/_types/pages/Status/_datos.d.ts +0 -47
  278. package/src/tokens/surface-light.css +0 -782
  279. package/src/tokens/utils.test.ts +0 -86
package/dist/sidebar.js CHANGED
@@ -12,10 +12,10 @@ function d(e, t) {
12
12
  let r = parseFloat(getComputedStyle(n).inlineSize);
13
13
  return n.remove(), r;
14
14
  }
15
- function f({ logo: t, children: f, footer: p, id: m, label: h, resizerLabel: g, resizerValueText: _, mode: v }) {
16
- let y = e("sidebar"), b = a(r), x = b ? b.sidebar : v ?? "open", S = b ? b.isDesktop : !0, C = S && x === "rail", w = !S, T = s(null), E = s(null), [D, O] = c(null);
15
+ function f({ logo: t, children: f, footer: p, id: m, label: h, resizerLabel: g, resizerValueText: _, mode: v, className: y }) {
16
+ let b = e("sidebar"), x = a(r), S = x ? x.sidebar : v ?? "open", C = x ? x.isDesktop : !0, w = C && S === "rail", T = !C, E = s(null), D = s(null), [O, k] = c(null);
17
17
  o(() => {
18
- let e = T.current;
18
+ let e = E.current;
19
19
  if (!e) return;
20
20
  let t = {
21
21
  min: d(e, "--sidebar-min-width"),
@@ -23,52 +23,56 @@ function f({ logo: t, children: f, footer: p, id: m, label: h, resizerLabel: g,
23
23
  rail: d(e, "--sidebar-rail-width"),
24
24
  base: d(e, "--sidebar-width")
25
25
  };
26
- Object.values(t).every(Number.isFinite) && O(t);
26
+ Object.values(t).every(Number.isFinite) && k(t);
27
27
  }, []);
28
- let k = (e) => {
29
- !w || !b || e.target.closest("a[href], [aria-haspopup=\"dialog\"]") && b.closeSidebar();
30
- }, A = i((e) => {
31
- let t = T.current;
32
- if (!t || !b) return;
28
+ let A = (e) => {
29
+ !T || !x || e.target.closest("a[href], [aria-haspopup=\"dialog\"]") && x.closeSidebar();
30
+ }, j = i((e) => {
31
+ let t = E.current;
32
+ if (!t || !x) return;
33
33
  let n = d(t, "--sidebar-min-width"), r = d(t, "--sidebar-max-width");
34
- e < d(t, "--sidebar-rail-width") ? b.setSidebar("closed") : e < n ? b.setSidebar("rail") : (b.setSidebar("open"), b.setSidebarWidth(Math.min(r, Math.round(e))));
35
- }, [b]), j = (e) => {
36
- if (!T.current) return;
34
+ e < d(t, "--sidebar-rail-width") ? x.setSidebar("closed") : e < n ? x.setSidebar("rail") : (x.setSidebar("open"), x.setSidebarWidth(Math.min(r, Math.round(e))));
35
+ }, [x]), M = (e) => {
36
+ if (!E.current) return;
37
37
  e.preventDefault();
38
38
  let t = e.currentTarget;
39
39
  t.setPointerCapture(e.pointerId), t.dataset.dragging = "true";
40
- let n = T.current.getBoundingClientRect().left, r = (e) => A(e.clientX - n), i = () => {
40
+ let n = E.current.getBoundingClientRect().left, r = (e) => j(e.clientX - n), i = () => {
41
41
  delete t.dataset.dragging, t.removeEventListener("pointermove", r), t.removeEventListener("pointerup", i), t.removeEventListener("pointercancel", i);
42
42
  };
43
43
  t.addEventListener("pointermove", r), t.addEventListener("pointerup", i), t.addEventListener("pointercancel", i);
44
- }, M = (e) => {
45
- if (!T.current || !b) return;
46
- let t = d(T.current, "--sidebar-resize-step-px"), n = T.current.getBoundingClientRect().width;
47
- e.key === "ArrowLeft" && (e.preventDefault(), A(n - t)), e.key === "ArrowRight" && (e.preventDefault(), x === "open" ? A(n + t) : b.setSidebar("open")), e.key === "Home" && (e.preventDefault(), b.setSidebar("rail")), e.key === "End" && (e.preventDefault(), A(d(T.current, "--sidebar-max-width")));
44
+ }, N = (e) => {
45
+ if (!E.current || !x) return;
46
+ let t = d(E.current, "--sidebar-resize-step-px"), n = E.current.getBoundingClientRect().width;
47
+ e.key === "ArrowLeft" && (e.preventDefault(), j(n - t)), e.key === "ArrowRight" && (e.preventDefault(), S === "open" ? j(n + t) : x.setSidebar("open")), e.key === "Home" && (e.preventDefault(), x.setSidebar("rail")), e.key === "End" && (e.preventDefault(), j(d(E.current, "--sidebar-max-width")));
48
48
  };
49
49
  o(() => {
50
- if (!w) return;
51
- if (x === "open") {
52
- E.current = document.activeElement, T.current?.focus();
50
+ if (!T) return;
51
+ if (S === "open") {
52
+ D.current = document.activeElement, E.current?.focus();
53
53
  return;
54
54
  }
55
- let e = T.current, t = document.activeElement;
56
- (e && t instanceof Node && e.contains(t) || t === document.body || t === null) && E.current?.focus?.(), E.current = null;
57
- }, [w, x]);
58
- let N = Math.round(x === "rail" ? D?.rail ?? 0 : (b?.sidebarWidth || D?.base) ?? 0), P = ["sidebar", w ? "sidebar--drawer" : `sidebar--${x}`].join(" ");
55
+ let e = E.current, t = document.activeElement;
56
+ (e && t instanceof Node && e.contains(t) || t === document.body || t === null) && D.current?.focus?.(), D.current = null;
57
+ }, [T, S]);
58
+ let P = Math.round(S === "rail" ? O?.rail ?? 0 : (x?.sidebarWidth || O?.base) ?? 0), F = [
59
+ "sidebar",
60
+ T ? "sidebar--drawer" : `sidebar--${S}`,
61
+ y
62
+ ].filter(Boolean).join(" ");
59
63
  return /* @__PURE__ */ l(n.Provider, {
60
- value: { rail: C },
64
+ value: { rail: w },
61
65
  children: /* @__PURE__ */ u("aside", {
62
- ref: T,
66
+ ref: E,
63
67
  id: m,
64
- className: P,
65
- "aria-label": y("label", h),
66
- role: w && x === "open" ? "dialog" : void 0,
67
- "aria-modal": w && x === "open" ? !0 : void 0,
68
- "data-state": x,
69
- tabIndex: w ? -1 : void 0,
70
- inert: w && x === "closed" ? !0 : void 0,
71
- onClick: k,
68
+ className: F,
69
+ "aria-label": b("label", h),
70
+ role: T && S === "open" ? "dialog" : void 0,
71
+ "aria-modal": T && S === "open" ? !0 : void 0,
72
+ "data-state": S,
73
+ tabIndex: T ? -1 : void 0,
74
+ inert: T && S === "closed" ? !0 : void 0,
75
+ onClick: A,
72
76
  children: [/* @__PURE__ */ u("div", {
73
77
  className: "sidebar__inner",
74
78
  children: [
@@ -85,18 +89,18 @@ function f({ logo: t, children: f, footer: p, id: m, label: h, resizerLabel: g,
85
89
  children: p
86
90
  })
87
91
  ]
88
- }), S && b && x !== "closed" && /* @__PURE__ */ l("div", {
92
+ }), C && x && S !== "closed" && /* @__PURE__ */ l("div", {
89
93
  className: "sidebar__resizer",
90
94
  role: "separator",
91
95
  "aria-orientation": "vertical",
92
- "aria-label": y("resizer", g),
93
- "aria-valuenow": N,
94
- "aria-valuemin": D ? Math.round(D.rail) : void 0,
95
- "aria-valuemax": D ? Math.round(D.max) : void 0,
96
- "aria-valuetext": y("resizerValue", _)(N),
96
+ "aria-label": b("resizer", g),
97
+ "aria-valuenow": P,
98
+ "aria-valuemin": O ? Math.round(O.rail) : void 0,
99
+ "aria-valuemax": O ? Math.round(O.max) : void 0,
100
+ "aria-valuetext": b("resizerValue", _)(P),
97
101
  tabIndex: 0,
98
- onPointerDown: j,
99
- onKeyDown: M
102
+ onPointerDown: M,
103
+ onKeyDown: N
100
104
  })]
101
105
  })
102
106
  });
@@ -4,48 +4,45 @@ import { Heading as t } from "./heading.js";
4
4
  import { List as n } from "./list.js";
5
5
  import { t as r } from "./_shared/logo.js";
6
6
  import { Paragraph as i } from "./paragraph.js";
7
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
7
+ import { t as a } from "./_shared/default-render-link.js";
8
+ import { LegalFooter as o } from "./legal-footer.js";
9
+ import { cloneElement as s, isValidElement as c } from "react";
10
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
8
11
  //#region src/stories/sections/SiteFooter/SiteFooter.tsx
9
- function s({ children: e, ...t }) {
10
- return /* @__PURE__ */ a("a", {
11
- ...t,
12
- children: e
13
- });
14
- }
15
- function c({ logo: c = /* @__PURE__ */ a(r, { size: "lg" }), tagline: l, columns: u, renderLink: d = s, aside: f, legal: p, columnTitleLevel: m = 2, surface: h = "dark", width: g = "xl", className: _, id: v }) {
16
- return /* @__PURE__ */ a("footer", {
17
- id: v,
12
+ function d({ logo: o = /* @__PURE__ */ l(r, { size: "lg" }), tagline: s, columns: c, renderLink: d = a, aside: p, legal: m, columnTitleLevel: h = 2, surface: g = "dark", width: _ = "xl", className: v, id: y }) {
13
+ return /* @__PURE__ */ l("footer", {
14
+ id: y,
18
15
  className: [
19
16
  "site-footer",
20
- h === "dark" && "surface-dark",
21
- _
17
+ g === "dark" && "surface-dark",
18
+ v
22
19
  ].filter(Boolean).join(" "),
23
- children: /* @__PURE__ */ o(e, {
24
- width: g,
20
+ children: /* @__PURE__ */ u(e, {
21
+ width: _,
25
22
  innerClassName: "site-footer__inner",
26
23
  children: [
27
- /* @__PURE__ */ o("div", {
24
+ /* @__PURE__ */ u("div", {
28
25
  className: "site-footer__brand",
29
- children: [c, l && /* @__PURE__ */ a(i, {
26
+ children: [o, s && /* @__PURE__ */ l(i, {
30
27
  size: "large",
31
28
  className: "site-footer__tagline",
32
- children: l
29
+ children: s
33
30
  })]
34
31
  }),
35
- (u?.length || f) && /* @__PURE__ */ o("div", {
32
+ (c?.length || p) && /* @__PURE__ */ u("div", {
36
33
  className: "site-footer__body",
37
- children: [u?.map((e) => /* @__PURE__ */ o("nav", {
34
+ children: [c?.map((e) => /* @__PURE__ */ u("nav", {
38
35
  className: "site-footer__column",
39
36
  "aria-label": e.title,
40
- children: [/* @__PURE__ */ a(t, {
41
- level: m,
37
+ children: [/* @__PURE__ */ l(t, {
38
+ level: h,
42
39
  size: 3,
43
40
  className: "site-footer__column-title",
44
41
  children: e.title
45
- }), /* @__PURE__ */ a(n, {
42
+ }), /* @__PURE__ */ l(n, {
46
43
  type: "plain",
47
44
  className: "site-footer__links",
48
- children: e.links.map((e) => /* @__PURE__ */ a("li", { children: d({
45
+ children: e.links.map((e) => /* @__PURE__ */ l("li", { children: d({
49
46
  href: e.href,
50
47
  className: "site-footer__link link--ink",
51
48
  children: e.label,
@@ -55,18 +52,21 @@ function c({ logo: c = /* @__PURE__ */ a(r, { size: "lg" }), tagline: l, columns
55
52
  } : {}
56
53
  }) }, e.id ?? e.href))
57
54
  })]
58
- }, e.id ?? e.title)), f && /* @__PURE__ */ a("div", {
55
+ }, e.id ?? e.title)), p && /* @__PURE__ */ l("div", {
59
56
  className: "site-footer__aside",
60
- children: f
57
+ children: p
61
58
  })]
62
59
  }),
63
- p && /* @__PURE__ */ a("div", {
60
+ m && /* @__PURE__ */ l("div", {
64
61
  className: "site-footer__legal",
65
- children: p
62
+ children: f(m)
66
63
  })
67
64
  ]
68
65
  })
69
66
  });
70
67
  }
68
+ function f(e) {
69
+ return c(e) && e.type === o ? s(e, { as: "div" }) : e;
70
+ }
71
71
  //#endregion
72
- export { c as SiteFooter };
72
+ export { d as SiteFooter };
@@ -4,72 +4,67 @@ import { n as e } from "./_shared/brandmessagescontext.js";
4
4
  import { Container as t } from "./container.js";
5
5
  import { MenuButton as n } from "./menu-button.js";
6
6
  import { t as r } from "./_shared/logo.js";
7
- import { useEffect as i, useRef as a, useState as o } from "react";
8
- import { jsx as s, jsxs as c } from "react/jsx-runtime";
7
+ import { t as i } from "./_shared/default-render-link.js";
8
+ import { useEffect as a, useId as o, useRef as s, useState as c } from "react";
9
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
9
10
  //#region src/stories/sections/SiteHeader/SiteHeader.tsx
10
- function l({ children: e, ...t }) {
11
- return /* @__PURE__ */ s("a", {
12
- ...t,
13
- children: e
14
- });
15
- }
16
- function u({ logoHref: u = "/", logoLabel: d, menuLabel: f, menuCloseLabel: p, logoSize: m = "xxl", logo: h = /* @__PURE__ */ s(r, { size: m }), menuButtonSize: g = "lg", renderLogoLink: _ = l, width: v = "xl", open: y, onOpenChange: b, children: x, settings: S, panelId: C = "site-header-panel", actions: w, language: T }) {
17
- let E = e("siteHeader"), [D, O] = o(!1), k = y !== void 0, A = k ? y : D, j = !!(x || S || T), M = a(null), N = a(null), P = (e) => {
18
- k || O(e), b?.(e);
11
+ function d({ logoHref: d = "/", logoLabel: f, menuLabel: p, menuCloseLabel: m, logoSize: h = "xxl", logo: g = /* @__PURE__ */ l(r, { size: h }), menuButtonSize: _ = "lg", renderLogoLink: v = i, width: y = "xl", open: b, onOpenChange: x, children: S, settings: C, panelId: w, actions: T, language: E }) {
12
+ let D = e("siteHeader"), O = o(), k = w ?? O, [A, j] = c(!1), M = b !== void 0, N = M ? b : A, P = !!(S || C || E), F = s(null), I = s(null), L = (e) => {
13
+ M || j(e), x?.(e);
19
14
  };
20
- return i(() => {
21
- if (!A) return;
15
+ return a(() => {
16
+ if (!N) return;
22
17
  let e = (e) => {
23
- e.key === "Escape" && (P(!1), N.current?.focus());
18
+ e.key === "Escape" && (L(!1), I.current?.focus());
24
19
  }, t = (e) => {
25
20
  let t = e.target;
26
- M.current?.contains(t) || t?.closest("[role=\"menu\"], [role=\"listbox\"], [role=\"dialog\"]") || P(!1);
21
+ F.current?.contains(t) || t?.closest("[role=\"menu\"], [role=\"listbox\"], [role=\"dialog\"]") || L(!1);
27
22
  };
28
23
  document.addEventListener("keydown", e), document.addEventListener("pointerdown", t);
29
24
  let n = document.body.style.overflow;
30
25
  return document.body.style.overflow = "hidden", () => {
31
26
  document.removeEventListener("keydown", e), document.removeEventListener("pointerdown", t), document.body.style.overflow = n;
32
27
  };
33
- }, [A]), /* @__PURE__ */ s("header", {
34
- ref: M,
28
+ }, [N]), /* @__PURE__ */ l("header", {
29
+ ref: F,
35
30
  className: "site-header",
36
- children: /* @__PURE__ */ c(t, {
37
- width: v,
31
+ children: /* @__PURE__ */ u(t, {
32
+ width: y,
38
33
  innerClassName: "site-header__bar",
39
34
  children: [
40
- _({
41
- href: u,
35
+ v({
36
+ href: d,
42
37
  className: "site-header__logo",
43
- "aria-label": E("logo", d),
44
- children: h
38
+ "aria-label": D("logo", f),
39
+ children: g
45
40
  }),
46
- /* @__PURE__ */ c("div", {
41
+ /* @__PURE__ */ u("div", {
47
42
  className: "site-header__controls",
48
- children: [w && /* @__PURE__ */ s("div", {
43
+ children: [T && /* @__PURE__ */ l("div", {
49
44
  className: "site-header__actions",
50
- children: w
51
- }), j && /* @__PURE__ */ s(n, {
52
- ref: N,
53
- isOpen: A,
54
- onClick: () => P(!A),
55
- label: f,
56
- closeLabel: p,
57
- size: g,
58
- "aria-controls": C
45
+ children: T
46
+ }), P && /* @__PURE__ */ l(n, {
47
+ ref: I,
48
+ isOpen: N,
49
+ onClick: () => L(!N),
50
+ label: p,
51
+ closeLabel: m,
52
+ size: _,
53
+ "aria-controls": k
59
54
  })]
60
55
  }),
61
- j && /* @__PURE__ */ s("div", {
62
- className: ["site-header__panel", A ? "site-header__panel--open" : ""].filter(Boolean).join(" "),
63
- id: C,
64
- inert: !A,
65
- "aria-hidden": !A,
66
- children: /* @__PURE__ */ c(t, {
67
- width: v,
56
+ P && /* @__PURE__ */ l("div", {
57
+ className: ["site-header__panel", N ? "site-header__panel--open" : ""].filter(Boolean).join(" "),
58
+ id: k,
59
+ inert: !N,
60
+ "aria-hidden": !N,
61
+ children: /* @__PURE__ */ u(t, {
62
+ width: y,
68
63
  space: "none",
69
64
  innerClassName: "site-header__panel-inner",
70
- children: [x, (T || S) && /* @__PURE__ */ c("div", {
65
+ children: [S, (E || C) && /* @__PURE__ */ u("div", {
71
66
  className: "site-header__settings",
72
- children: [T, S]
67
+ children: [E, C]
73
68
  })]
74
69
  })
75
70
  })
@@ -78,4 +73,4 @@ function u({ logoHref: u = "/", logoLabel: d, menuLabel: f, menuCloseLabel: p, l
78
73
  });
79
74
  }
80
75
  //#endregion
81
- export { u as SiteHeader };
76
+ export { d as SiteHeader };
package/dist/site-nav.js CHANGED
@@ -3,32 +3,23 @@ import './site-nav.css';
3
3
  import { n as e } from "./_shared/brandmessagescontext.js";
4
4
  import { Heading as t } from "./heading.js";
5
5
  import { Tag as n } from "./tag.js";
6
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
6
+ import { t as r } from "./_shared/default-render-link.js";
7
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
7
8
  //#region src/stories/molecules/SiteNav/SiteNav.tsx
8
- function a({ href: e, children: t, className: n, "aria-current": i, target: a, rel: o }) {
9
- return /* @__PURE__ */ r("a", {
10
- href: e,
11
- className: n,
12
- "aria-current": i,
13
- target: a,
14
- rel: o,
15
- children: t
16
- });
17
- }
18
9
  function o(e, t) {
19
10
  return t || (e === "_blank" ? "noopener noreferrer" : void 0);
20
11
  }
21
12
  var s = 5;
22
- function c({ groups: c, label: l, renderLink: u = a, className: d }) {
13
+ function c({ groups: c, label: l, renderLink: u = r, className: d }) {
23
14
  let f = e("siteNav"), p = ["site-nav", d].filter(Boolean).join(" "), m = c.reduce((e, t) => e + (t.columns ?? 1), 0), h = Math.min(m, s) || 1;
24
- return /* @__PURE__ */ r("nav", {
15
+ return /* @__PURE__ */ i("nav", {
25
16
  className: p,
26
17
  "aria-label": f("label", l),
27
18
  "data-columns": h,
28
- children: c.map((e) => /* @__PURE__ */ i("div", {
19
+ children: c.map((e) => /* @__PURE__ */ a("div", {
29
20
  className: "site-nav__group",
30
21
  "data-group-columns": e.columns === 2 ? 2 : void 0,
31
- children: [/* @__PURE__ */ r(t, {
22
+ children: [/* @__PURE__ */ i(t, {
32
23
  level: 2,
33
24
  size: 6,
34
25
  className: "site-nav__label",
@@ -37,11 +28,11 @@ function c({ groups: c, label: l, renderLink: u = a, className: d }) {
37
28
  className: "site-nav__label-link",
38
29
  children: e.label
39
30
  }) : e.label
40
- }), /* @__PURE__ */ r("ul", {
31
+ }), /* @__PURE__ */ i("ul", {
41
32
  className: "site-nav__list",
42
- children: e.items.map((e) => /* @__PURE__ */ i("li", {
33
+ children: e.items.map((e) => /* @__PURE__ */ a("li", {
43
34
  className: "site-nav__item",
44
- children: [e.disabled ? /* @__PURE__ */ r("span", {
35
+ children: [e.disabled ? /* @__PURE__ */ i("span", {
45
36
  className: "site-nav__link site-nav__link--disabled",
46
37
  role: "link",
47
38
  "aria-disabled": "true",
@@ -53,7 +44,7 @@ function c({ groups: c, label: l, renderLink: u = a, className: d }) {
53
44
  target: e.target,
54
45
  rel: o(e.target, e.rel),
55
46
  children: e.label
56
- }), e.badge && /* @__PURE__ */ r(n, {
47
+ }), e.badge && /* @__PURE__ */ i(n, {
57
48
  variant: e.disabled ? "neutral" : "info",
58
49
  className: "site-nav__badge",
59
50
  children: e.badge
@@ -5,21 +5,19 @@ import { Spinner as t } from "./spinner.js";
5
5
  import { Button as n } from "./button.js";
6
6
  import { Skeleton as r } from "./skeleton.js";
7
7
  import { Alert as i } from "./alert.js";
8
- import { EmptyState as a } from "./empty-state.js";
9
- import { SearchForm as o } from "./search-form.js";
10
- import { forwardRef as s, useId as c } from "react";
11
- import { jsx as l, jsxs as u } from "react/jsx-runtime";
8
+ import { t as a } from "./_shared/default-render-link.js";
9
+ import { EmptyState as o } from "./empty-state.js";
10
+ import { SearchForm as s } from "./search-form.js";
11
+ import { forwardRef as c, useId as l } from "react";
12
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
12
13
  //#region src/stories/organisms/SiteSearch/SiteSearch.tsx
13
- function d(e) {
14
- return /* @__PURE__ */ l("a", { ...e });
15
- }
16
- var f = s(function({ query: s, onQueryChange: f, onSubmit: p, action: m, name: h = "q", status: g = "idle", results: _ = [], total: v, minLength: y = 2, suggestions: b, onSuggestionSelect: x, onRetry: S, toolbar: C, footer: w, headingLevel: T = 2, size: E, loadingRows: D = 3, onSelect: O, renderLink: k = d, label: A, labelHidden: j = !0, placeholder: M, submitLabel: N, resultsLabel: P, className: F, id: I, ...L }, R) {
17
- let z = e("siteSearch"), B = c(), V = I ?? B, H = `${V}-input`, U = `${V}-status`, W = `${V}-results`, G = `h${T}`, K = s.trim(), q = v ?? _.length, J = g === "ready" && _.length > 0, Y = g === "idle" ? z("idle") : g === "typing" ? K.length < y ? z("minLength")(y) : z("pending") : g === "loading" ? z("loading") : g === "error" ? null : z("results")(q, K);
18
- return /* @__PURE__ */ u("div", {
14
+ var f = c(function({ query: c, onQueryChange: f, onSubmit: p, action: m, name: h = "q", status: g = "idle", results: _ = [], total: v, minLength: y = 2, suggestions: b, onSuggestionSelect: x, onRetry: S, toolbar: C, footer: w, headingLevel: T = 2, size: E, loadingRows: D = 3, onSelect: O, renderLink: k = a, label: A, labelHidden: j = !0, placeholder: M, submitLabel: N, resultsLabel: P, className: F, id: I, ...L }, R) {
15
+ let z = e("siteSearch"), B = l(), V = I ?? B, H = `${V}-input`, U = `${V}-status`, W = `${V}-results`, G = `h${T}`, K = c.trim(), q = v ?? _.length, J = g === "ready" && _.length > 0, Y = g === "idle" ? z("idle") : g === "typing" ? K.length < y ? z("minLength")(y) : z("pending") : g === "loading" ? z("loading") : g === "error" ? null : z("results")(q, K);
16
+ return /* @__PURE__ */ d("div", {
19
17
  className: ["site-search", F].filter(Boolean).join(" "),
20
18
  ...L,
21
19
  children: [
22
- /* @__PURE__ */ l(o, {
20
+ /* @__PURE__ */ u(s, {
23
21
  ref: R,
24
22
  className: "site-search__form",
25
23
  id: H,
@@ -28,7 +26,7 @@ var f = s(function({ query: s, onQueryChange: f, onSubmit: p, action: m, name: h
28
26
  labelHidden: j,
29
27
  placeholder: z("placeholder", M),
30
28
  submitLabel: z("submit", N),
31
- value: s,
29
+ value: c,
32
30
  onChange: (e) => f(e.target.value),
33
31
  ...p ? { onSubmit: p } : {},
34
32
  action: m,
@@ -36,33 +34,33 @@ var f = s(function({ query: s, onQueryChange: f, onSubmit: p, action: m, name: h
36
34
  ...J ? { controls: W } : {},
37
35
  ...E ? { size: E } : {}
38
36
  }),
39
- C ? /* @__PURE__ */ l("div", {
37
+ C ? /* @__PURE__ */ u("div", {
40
38
  className: "site-search__toolbar",
41
39
  children: C
42
40
  }) : null,
43
- /* @__PURE__ */ u("p", {
41
+ /* @__PURE__ */ d("p", {
44
42
  className: "site-search__status",
45
43
  id: U,
46
44
  role: "status",
47
45
  "aria-live": "polite",
48
- children: [g === "loading" ? /* @__PURE__ */ l(t, {
46
+ children: [g === "loading" ? /* @__PURE__ */ u(t, {
49
47
  size: "sm",
50
48
  "aria-hidden": !0
51
- }) : null, /* @__PURE__ */ l("span", {
49
+ }) : null, /* @__PURE__ */ u("span", {
52
50
  className: "site-search__status-text",
53
51
  children: Y
54
52
  })]
55
53
  }),
56
- g === "idle" && b && b.length > 0 && x ? /* @__PURE__ */ u("div", {
54
+ g === "idle" && b && b.length > 0 && x ? /* @__PURE__ */ d("div", {
57
55
  className: "site-search__suggestions",
58
- children: [/* @__PURE__ */ l("span", {
56
+ children: [/* @__PURE__ */ u("span", {
59
57
  className: "site-search__suggestions-label",
60
58
  id: `${V}-suggestions`,
61
59
  children: z("suggestionsLabel")
62
- }), /* @__PURE__ */ l("ul", {
60
+ }), /* @__PURE__ */ u("ul", {
63
61
  className: "site-search__suggestions-list",
64
62
  "aria-labelledby": `${V}-suggestions`,
65
- children: b.map((e) => /* @__PURE__ */ l("li", { children: /* @__PURE__ */ l(n, {
63
+ children: b.map((e) => /* @__PURE__ */ u("li", { children: /* @__PURE__ */ u(n, {
66
64
  variant: "outline",
67
65
  size: "sm",
68
66
  onClick: () => x(e),
@@ -70,31 +68,31 @@ var f = s(function({ query: s, onQueryChange: f, onSubmit: p, action: m, name: h
70
68
  }) }, e))
71
69
  })]
72
70
  }) : null,
73
- g === "loading" ? /* @__PURE__ */ l("div", {
71
+ g === "loading" ? /* @__PURE__ */ u("div", {
74
72
  className: "site-search__loading",
75
73
  "aria-hidden": !0,
76
- children: Array.from({ length: D }, (e, t) => /* @__PURE__ */ u("div", {
74
+ children: Array.from({ length: D }, (e, t) => /* @__PURE__ */ d("div", {
77
75
  className: "site-search__ghost",
78
76
  children: [
79
- /* @__PURE__ */ l(r, { className: "site-search__ghost-section" }),
80
- /* @__PURE__ */ l(r, { className: "site-search__ghost-title" }),
81
- /* @__PURE__ */ l(r, {}),
82
- /* @__PURE__ */ l(r, { className: "site-search__ghost-url" })
77
+ /* @__PURE__ */ u(r, { className: "site-search__ghost-section" }),
78
+ /* @__PURE__ */ u(r, { className: "site-search__ghost-title" }),
79
+ /* @__PURE__ */ u(r, {}),
80
+ /* @__PURE__ */ u(r, { className: "site-search__ghost-url" })
83
81
  ]
84
82
  }, t))
85
83
  }) : null,
86
- J ? /* @__PURE__ */ l("ol", {
84
+ J ? /* @__PURE__ */ u("ol", {
87
85
  className: "site-search__results",
88
86
  id: W,
89
87
  "aria-label": z("resultsLabel", P),
90
- children: _.map((e) => /* @__PURE__ */ u("li", {
88
+ children: _.map((e) => /* @__PURE__ */ d("li", {
91
89
  className: "site-search__result",
92
90
  children: [
93
- e.section ? /* @__PURE__ */ l("p", {
91
+ e.section ? /* @__PURE__ */ u("p", {
94
92
  className: "site-search__result-section",
95
93
  children: e.section
96
94
  }) : null,
97
- /* @__PURE__ */ l(G, {
95
+ /* @__PURE__ */ u(G, {
98
96
  className: "site-search__result-title",
99
97
  children: k({
100
98
  href: e.href,
@@ -103,34 +101,34 @@ var f = s(function({ query: s, onQueryChange: f, onSubmit: p, action: m, name: h
103
101
  onClick: () => O?.(e)
104
102
  })
105
103
  }),
106
- e.excerpt ? /* @__PURE__ */ l("p", {
104
+ e.excerpt ? /* @__PURE__ */ u("p", {
107
105
  className: "site-search__result-excerpt",
108
106
  children: e.excerpt
109
107
  }) : null,
110
- e.displayUrl ? /* @__PURE__ */ l("p", {
108
+ e.displayUrl ? /* @__PURE__ */ u("p", {
111
109
  className: "site-search__result-url",
112
110
  children: e.displayUrl
113
111
  }) : null
114
112
  ]
115
113
  }, e.href))
116
114
  }) : null,
117
- g === "ready" && _.length === 0 ? /* @__PURE__ */ l(a, {
115
+ g === "ready" && _.length === 0 ? /* @__PURE__ */ u(o, {
118
116
  className: "site-search__empty",
119
117
  title: z("emptyTitle"),
120
118
  description: z("emptyDescription")
121
119
  }) : null,
122
- g === "error" ? /* @__PURE__ */ l(i, {
120
+ g === "error" ? /* @__PURE__ */ u(i, {
123
121
  className: "site-search__error",
124
122
  variant: "error",
125
123
  title: z("errorTitle"),
126
124
  description: z("errorDescription"),
127
- actions: S ? /* @__PURE__ */ l(n, {
125
+ actions: S ? /* @__PURE__ */ u(n, {
128
126
  variant: "outline",
129
127
  onClick: S,
130
128
  children: z("retry")
131
129
  }) : void 0
132
130
  }) : null,
133
- w && J ? /* @__PURE__ */ l("div", {
131
+ w && J ? /* @__PURE__ */ u("div", {
134
132
  className: "site-search__footer",
135
133
  children: w
136
134
  }) : null
@@ -1,28 +1,29 @@
1
1
  'use client';
2
2
  import './site-shell.css';
3
3
  import { t as e } from "./_shared/portal-container.js";
4
- import { forwardRef as t, useCallback as n, useState as r } from "react";
5
- import { jsx as i, jsxs as a } from "react/jsx-runtime";
4
+ import { t } from "./_shared/assign-ref.js";
5
+ import { forwardRef as n, useCallback as r, useState as i } from "react";
6
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
6
7
  //#region src/stories/sections/SiteShell/SiteShell.tsx
7
- var o = t(function({ header: t, footer: o, children: s, className: c }, l) {
8
- let [u, d] = r(null);
9
- return /* @__PURE__ */ i("div", {
10
- ref: n((e) => {
11
- d(e), typeof l == "function" ? l(e) : l && (l.current = e);
12
- }, [l]),
13
- className: ["site-shell", c].filter(Boolean).join(" "),
14
- children: /* @__PURE__ */ a(e.Provider, {
15
- value: u,
8
+ var s = n(function({ header: n, footer: s, children: c, className: l }, u) {
9
+ let [d, f] = i(null);
10
+ return /* @__PURE__ */ a("div", {
11
+ ref: r((e) => {
12
+ f(e), t(u, e);
13
+ }, [u]),
14
+ className: ["site-shell", l].filter(Boolean).join(" "),
15
+ children: /* @__PURE__ */ o(e.Provider, {
16
+ value: d,
16
17
  children: [
17
- t,
18
- /* @__PURE__ */ i("div", {
18
+ n,
19
+ /* @__PURE__ */ a("div", {
19
20
  className: "site-shell__main",
20
- children: s
21
+ children: c
21
22
  }),
22
- o
23
+ s
23
24
  ]
24
25
  })
25
26
  });
26
27
  });
27
28
  //#endregion
28
- export { o as SiteShell };
29
+ export { s as SiteShell };