@mortenbrudvik/waveui 0.14.1 → 0.15.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 (125) hide show
  1. package/README.md +142 -32
  2. package/dist/components/data-display/InfoButton.cjs +1 -1
  3. package/dist/components/data-display/InfoButton.cjs.map +1 -1
  4. package/dist/components/data-display/InfoButton.mjs +90 -82
  5. package/dist/components/data-display/InfoButton.mjs.map +1 -1
  6. package/dist/components/data-display/InfoLabel.cjs +1 -1
  7. package/dist/components/data-display/InfoLabel.cjs.map +1 -1
  8. package/dist/components/data-display/InfoLabel.mjs +19 -18
  9. package/dist/components/data-display/InfoLabel.mjs.map +1 -1
  10. package/dist/components/feedback/MessageBarGroup.cjs +2 -0
  11. package/dist/components/feedback/MessageBarGroup.cjs.map +1 -0
  12. package/dist/components/feedback/MessageBarGroup.mjs +63 -0
  13. package/dist/components/feedback/MessageBarGroup.mjs.map +1 -0
  14. package/dist/components/feedback/ProgressBar.cjs +1 -1
  15. package/dist/components/feedback/ProgressBar.cjs.map +1 -1
  16. package/dist/components/feedback/ProgressBar.mjs +41 -39
  17. package/dist/components/feedback/ProgressBar.mjs.map +1 -1
  18. package/dist/components/feedback/Toaster.cjs +1 -1
  19. package/dist/components/feedback/Toaster.cjs.map +1 -1
  20. package/dist/components/feedback/Toaster.mjs +222 -216
  21. package/dist/components/feedback/Toaster.mjs.map +1 -1
  22. package/dist/components/layout/Accordion.cjs +1 -1
  23. package/dist/components/layout/Accordion.cjs.map +1 -1
  24. package/dist/components/layout/Accordion.mjs +124 -109
  25. package/dist/components/layout/Accordion.mjs.map +1 -1
  26. package/dist/components/layout/Carousel.cjs +1 -1
  27. package/dist/components/layout/Carousel.cjs.map +1 -1
  28. package/dist/components/layout/Carousel.mjs +207 -193
  29. package/dist/components/layout/Carousel.mjs.map +1 -1
  30. package/dist/components/layout/TabList.cjs +1 -1
  31. package/dist/components/layout/TabList.cjs.map +1 -1
  32. package/dist/components/layout/TabList.mjs +149 -108
  33. package/dist/components/layout/TabList.mjs.map +1 -1
  34. package/dist/components/layout/Tree.cjs.map +1 -1
  35. package/dist/components/layout/Tree.context.cjs +1 -1
  36. package/dist/components/layout/Tree.context.cjs.map +1 -1
  37. package/dist/components/layout/Tree.context.mjs +2 -1
  38. package/dist/components/layout/Tree.context.mjs.map +1 -1
  39. package/dist/components/layout/Tree.core.cjs +1 -1
  40. package/dist/components/layout/Tree.core.cjs.map +1 -1
  41. package/dist/components/layout/Tree.core.mjs +178 -165
  42. package/dist/components/layout/Tree.core.mjs.map +1 -1
  43. package/dist/components/layout/Tree.mjs.map +1 -1
  44. package/dist/components/navigation/Menu.popover.cjs +1 -1
  45. package/dist/components/navigation/Menu.popover.cjs.map +1 -1
  46. package/dist/components/navigation/Menu.popover.mjs +154 -168
  47. package/dist/components/navigation/Menu.popover.mjs.map +1 -1
  48. package/dist/components/navigation/Nav.cjs +1 -1
  49. package/dist/components/navigation/Nav.cjs.map +1 -1
  50. package/dist/components/navigation/Nav.mjs +156 -136
  51. package/dist/components/navigation/Nav.mjs.map +1 -1
  52. package/dist/components/navigation/NavDrawer.cjs +1 -1
  53. package/dist/components/navigation/NavDrawer.cjs.map +1 -1
  54. package/dist/components/navigation/NavDrawer.mjs +48 -45
  55. package/dist/components/navigation/NavDrawer.mjs.map +1 -1
  56. package/dist/components/overlays/Dialog.cjs +1 -1
  57. package/dist/components/overlays/Dialog.cjs.map +1 -1
  58. package/dist/components/overlays/Dialog.mjs +128 -122
  59. package/dist/components/overlays/Dialog.mjs.map +1 -1
  60. package/dist/components/overlays/Dialog.slots.cjs +1 -1
  61. package/dist/components/overlays/Dialog.slots.cjs.map +1 -1
  62. package/dist/components/overlays/Dialog.slots.mjs +12 -12
  63. package/dist/components/overlays/Dialog.slots.mjs.map +1 -1
  64. package/dist/components/overlays/Drawer.cjs.map +1 -1
  65. package/dist/components/overlays/Drawer.mjs.map +1 -1
  66. package/dist/components/overlays/Drawer.panel.cjs +1 -1
  67. package/dist/components/overlays/Drawer.panel.cjs.map +1 -1
  68. package/dist/components/overlays/Drawer.panel.mjs +97 -81
  69. package/dist/components/overlays/Drawer.panel.mjs.map +1 -1
  70. package/dist/components/overlays/Drawer.root.cjs +1 -1
  71. package/dist/components/overlays/Drawer.root.cjs.map +1 -1
  72. package/dist/components/overlays/Drawer.root.mjs +34 -31
  73. package/dist/components/overlays/Drawer.root.mjs.map +1 -1
  74. package/dist/components/overlays/Popover.cjs +1 -1
  75. package/dist/components/overlays/Popover.cjs.map +1 -1
  76. package/dist/components/overlays/Popover.mjs +231 -216
  77. package/dist/components/overlays/Popover.mjs.map +1 -1
  78. package/dist/components/overlays/TeachingPopover.cjs.map +1 -1
  79. package/dist/components/overlays/TeachingPopover.mjs.map +1 -1
  80. package/dist/components/overlays/TeachingPopover.parts.cjs +1 -1
  81. package/dist/components/overlays/TeachingPopover.parts.cjs.map +1 -1
  82. package/dist/components/overlays/TeachingPopover.parts.mjs +199 -177
  83. package/dist/components/overlays/TeachingPopover.parts.mjs.map +1 -1
  84. package/dist/components/overlays/TeachingPopover.root.cjs +1 -1
  85. package/dist/components/overlays/TeachingPopover.root.cjs.map +1 -1
  86. package/dist/components/overlays/TeachingPopover.root.mjs +93 -92
  87. package/dist/components/overlays/TeachingPopover.root.mjs.map +1 -1
  88. package/dist/components/overlays/Tooltip.cjs +1 -1
  89. package/dist/components/overlays/Tooltip.cjs.map +1 -1
  90. package/dist/components/overlays/Tooltip.mjs +66 -61
  91. package/dist/components/overlays/Tooltip.mjs.map +1 -1
  92. package/dist/components/provider/WaveProvider.cjs +1 -1
  93. package/dist/components/provider/WaveProvider.cjs.map +1 -1
  94. package/dist/components/provider/WaveProvider.mjs +26 -23
  95. package/dist/components/provider/WaveProvider.mjs.map +1 -1
  96. package/dist/hooks/useCollapsePresence.cjs +2 -0
  97. package/dist/hooks/useCollapsePresence.cjs.map +1 -0
  98. package/dist/hooks/useCollapsePresence.mjs +21 -0
  99. package/dist/hooks/useCollapsePresence.mjs.map +1 -0
  100. package/dist/hooks/useFocusBeforeClose.cjs +2 -0
  101. package/dist/hooks/useFocusBeforeClose.cjs.map +1 -0
  102. package/dist/hooks/useFocusBeforeClose.mjs +33 -0
  103. package/dist/hooks/useFocusBeforeClose.mjs.map +1 -0
  104. package/dist/hooks/useMotion.cjs +2 -0
  105. package/dist/hooks/useMotion.cjs.map +1 -0
  106. package/dist/hooks/useMotion.mjs +14 -0
  107. package/dist/hooks/useMotion.mjs.map +1 -0
  108. package/dist/hooks/usePresenceGroup.cjs +2 -0
  109. package/dist/hooks/usePresenceGroup.cjs.map +1 -0
  110. package/dist/hooks/usePresenceGroup.mjs +68 -0
  111. package/dist/hooks/usePresenceGroup.mjs.map +1 -0
  112. package/dist/index.cjs +1 -1
  113. package/dist/index.d.cts +707 -126
  114. package/dist/index.d.ts +707 -126
  115. package/dist/index.mjs +136 -135
  116. package/dist/lib/classNames.cjs +1 -1
  117. package/dist/lib/classNames.cjs.map +1 -1
  118. package/dist/lib/classNames.mjs +101 -90
  119. package/dist/lib/classNames.mjs.map +1 -1
  120. package/dist/lib/motion.cjs +2 -0
  121. package/dist/lib/motion.cjs.map +1 -0
  122. package/dist/lib/motion.mjs +43 -0
  123. package/dist/lib/motion.mjs.map +1 -0
  124. package/dist/styles.css +1 -1
  125. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCollapsePresence.mjs","names":["useCollapsePresence","options","usePresence","open","motionClassName","useMotionClasses","motion","collapseMotion","usePreserveFocus","partRef","getTrigger","ref","cn","collapseStructure"],"sources":["../../src/hooks/useCollapsePresence.ts"],"sourcesContent":["import type * as React from 'react';\nimport { cn } from '../lib/cn';\nimport { collapseMotion, collapseStructure } from '../lib/motion';\nimport type { MotionSlot } from '../lib/types';\nimport { useMotionClasses } from './useMotion';\nimport { usePreserveFocus } from './usePreserveFocus';\nimport { usePresence, type PresenceAttributes, type PresencePhase } from './usePresence';\n\n/** Options of {@link useCollapsePresence}. */\nexport interface UseCollapsePresenceOptions {\n /**\n * The disclosure's motion slot: `undefined` the default collapse, `null` none, a value replaces\n * it (see `MotionSlot`); the provider's `'none'` acts as `null` unless a value is given.\n */\n motion: MotionSlot | null | undefined;\n /** The part that may hold focus when it collapses. */\n partRef: React.RefObject<HTMLElement | null>;\n /** Where that focus goes: the disclosure's own trigger. */\n getTrigger: () => HTMLElement | null | undefined;\n}\n\n/** Returned by {@link useCollapsePresence}. */\nexport interface UseCollapsePresenceResult {\n /** Whether to render the wrapper and the part: while open, and while the part exits. */\n isMounted: boolean;\n /** The wrapper's phase. */\n phase: PresencePhase;\n /** Callback ref for the wrapper (stable): the presence element, whose motion ends the phases. */\n wrapperRef: React.RefCallback<HTMLElement>;\n /** Spread onto the wrapper: `data-presence` always, `inert` while the part exits. */\n presenceProps: PresenceAttributes;\n /** collapseStructure plus the resolved motion; the caller puts its stable class first. */\n className: string;\n}\n\n/**\n * The collapse of a disclosure's part (Accordion's region, a Tree group, a Nav category's list):\n * the part renders as the only child of a wrapper element, which mounts through the presence core\n * and carries the collapse structure and motion of `src/lib/motion.ts`. The part itself keeps its\n * own props, ref, id and role.\n *\n * - **Mounting.** `usePresence(open)` without `appear`: a part open at mount (on the server, when\n * hydrating and in a client render) is `entered`, since in-flow content never animates on mount.\n * Closing keeps the wrapper and the part mounted, `inert`, until the wrapper's motion ends;\n * opening again during the exit goes back to `entering` with the same elements, so the state\n * inside the part survives. Under reduced motion, with `motion: null` or the provider's `'none'`,\n * a phase ends in the commit that starts it.\n * - **Structure.** While entered the wrapper renders no box, so the part lays out in its parent as\n * it did without the wrapper; while it enters or exits, the wrapper is a clipping one-track grid\n * of rows whose minimum is zero, with the part at the top of the track at its own height (so it\n * is clipped, never squeezed), and the default motion moves that track between zero and the\n * part's height with a fade (200 ms both ways).\n * - **Focus.** Focus inside the part when the disclosure closes moves to `getTrigger()` in the\n * closing commit (`usePreserveFocus` with `enabled: open`), so it never stays in the `inert`,\n * exiting part. A part unmounted while open with focus inside (its disclosure removed) moves\n * focus there after the commit, when that trigger is still in the document.\n *\n * Destructure the result: react-hooks/refs treats an object whose member is passed to `ref` as a\n * ref, so reading its other members during render is an error.\n *\n * @example\n * const partRef = useRef<HTMLDivElement | null>(null);\n * const { isMounted, wrapperRef, presenceProps, className } = useCollapsePresence(open, {\n * motion,\n * partRef,\n * getTrigger: () => triggerRef.current,\n * });\n * return isMounted ? (\n * <div ref={wrapperRef} {...presenceProps} className={cn(stableCollapseClass, className)}>\n * <div ref={partRef} role=\"region\">…</div>\n * </div>\n * ) : null;\n *\n * @param open - Whether the disclosure is open.\n * @param options - See {@link UseCollapsePresenceOptions}.\n */\nexport function useCollapsePresence(\n open: boolean,\n options: UseCollapsePresenceOptions,\n): UseCollapsePresenceResult {\n const { motion, partRef, getTrigger } = options;\n const { isMounted, phase, ref, presenceProps } = usePresence(open);\n const motionClassName = useMotionClasses(motion, collapseMotion);\n usePreserveFocus(partRef, getTrigger, { enabled: open });\n return {\n isMounted,\n phase,\n wrapperRef: ref,\n presenceProps,\n className: cn(collapseStructure, motionClassName),\n };\n}\n"],"mappings":";;;;;;;AA4EA,SAAgBA,EACd,GACA,GAC2B;CAC3B,IAAM,EAAE,WAAQ,YAAS,kBAAeC,GAClC,EAAE,cAAW,UAAO,QAAK,qBAAkBC,EAAYC,CAAI,GAC3DC,IAAkBC,EAAiBC,GAAQC,CAAc;CAE/D,OADAC,EAAiBC,GAASC,GAAY,EAAE,SAASP,EAAK,CAAC,GAChD;EACL;EACA;EACA,YAAYQ;EACZ;EACA,WAAWC,EAAGC,GAAmBT,CAAe;CAClD;AACF"}
@@ -0,0 +1,2 @@
1
+ "use client";const e=require("../_virtual/_rolldown/runtime.cjs"),t=require("./useEventCallback.cjs"),n=require("../lib/focus.cjs");let r=require("react");r=e.__toESM(r,1);function i({open:e,surfaceRef:i,captureOpener:a,candidates:o}){let s=r.useRef(null),c=r.useRef(!1),l=t.useEventCallback(()=>{let e=i.current,t=a(),n=(t??e)?.ownerDocument??document,r=t=>!!t&&t!==n.body&&t!==n.documentElement&&!e?.contains(t),o=n.activeElement;s.current=r(t)?t:r(o)?o:null});r.useInsertionEffect(()=>{let t=c.current;c.current=e,e&&!t&&l()});let u=t.useEventCallback(()=>{let e=i.current;return o(s.current).find(t=>!!t&&n.isConnectedAndFocusable(t)&&!e?.contains(t))??null}),d=r.useRef(!1);r.useLayoutEffect(()=>(d.current=!1,()=>{d.current=!0}),[]);let f=t.useEventCallback(()=>{let e=i.current,t=e?.ownerDocument.activeElement;!d.current&&e&&t&&e.contains(t)&&u()?.focus({preventScroll:!0})});r.useLayoutEffect(()=>{if(e)return f},[e,f])}exports.useFocusBeforeClose=i;
2
+ //# sourceMappingURL=useFocusBeforeClose.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFocusBeforeClose.cjs","names":["React","useEventCallback","isConnectedAndFocusable","require_runtime","require_useEventCallback","require_focus","react","useFocusBeforeClose","openerRef","wasOpenRef","capture","container","surfaceRef","preferred","captureOpener","doc","isCandidate","el","active","wasOpen","open","getCloseFocus","candidates","unmountingRef","focusOutOnClose","surface"],"sources":["../../src/hooks/useFocusBeforeClose.ts"],"sourcesContent":["import * as React from 'react';\nimport { isConnectedAndFocusable } from '../lib/focus';\nimport { useEventCallback } from './useEventCallback';\n\n/** Options of {@link useFocusBeforeClose}. */\nexport interface UseFocusBeforeCloseOptions {\n /** The surface's open state. */\n open: boolean;\n /** The surface element, read in the closing commit. */\n surfaceRef: React.RefObject<HTMLElement | null>;\n /**\n * The preferred opener, read in an insertion effect of the commit that opens the surface;\n * when it returns no candidate, the focused element is taken (never `<body>`, `<html>` or an\n * element inside the surface).\n */\n captureOpener: () => HTMLElement | null;\n /**\n * Focus targets at close, in order; receives the captured opener. The first connected,\n * focusable one outside the surface takes focus.\n */\n candidates: (opener: HTMLElement | null) => ReadonlyArray<HTMLElement | null | undefined>;\n}\n\n/**\n * Internal: moves focus out of a surface that closes while it holds focus, in the closing commit,\n * for the positioned surfaces that stay mounted while they exit (Menu.Popover, and the other\n * popups as they mount through the presence core).\n *\n * - **Capture.** In the commit that opens the surface, in an insertion effect (before focus moves\n * into it): `captureOpener()`, else the focused element; `<body>`, `<html>` and elements inside\n * the surface are no opener.\n * - **Move.** When `open` turns `false` with focus inside the surface, the first of\n * `candidates(opener)` that is connected, focusable and outside the surface takes focus\n * (`preventScroll`), in the closing commit's mutation phase (a layout-effect cleanup). A surface\n * opened in the same update and rendered after this one (a Dialog opened by an item of a closing\n * menu) then records that element as its opener, not the item, which the closing surface keeps\n * in the document, `inert`, until its exit ends and then removes. In a browser React cannot put\n * focus back on an `inert` element, and `useRestoreFocus`, which then finds focus outside the\n * surface, leaves it there: give both the same targets in the same order.\n * - **Unmount.** Nothing moves when the surface's component unmounts (also React StrictMode's\n * simulated unmount, with the surface open and focus inside): that is `useRestoreFocus`'s case.\n *\n * @param options - See {@link UseFocusBeforeCloseOptions}.\n */\nexport function useFocusBeforeClose({\n open,\n surfaceRef,\n captureOpener,\n candidates,\n}: UseFocusBeforeCloseOptions): void {\n // The element focused when the surface opened, captured as useRestoreFocus captures its opener:\n // in the commit that opens the surface, before focus moves into it.\n const openerRef = React.useRef<HTMLElement | null>(null);\n const wasOpenRef = React.useRef(false);\n const capture = useEventCallback(() => {\n const container = surfaceRef.current;\n const preferred = captureOpener();\n const doc = (preferred ?? container)?.ownerDocument ?? document;\n const isCandidate = (el: Element | null | undefined): el is HTMLElement =>\n !!el && el !== doc.body && el !== doc.documentElement && !container?.contains(el);\n const active = doc.activeElement;\n openerRef.current = isCandidate(preferred) ? preferred : isCandidate(active) ? active : null;\n });\n React.useInsertionEffect(() => {\n const wasOpen = wasOpenRef.current;\n wasOpenRef.current = open;\n if (open && !wasOpen) capture();\n });\n\n // Where focus goes: the first candidate that can take it outside the surface.\n const getCloseFocus = useEventCallback((): HTMLElement | null => {\n const container = surfaceRef.current;\n return (\n candidates(openerRef.current).find(\n (el): el is HTMLElement => !!el && isConnectedAndFocusable(el) && !container?.contains(el),\n ) ?? null\n );\n });\n\n // Unmounting (StrictMode's simulated unmount included) runs this cleanup before the one below,\n // which then moves nothing: unmounting is left to useRestoreFocus. Keep this effect first.\n const unmountingRef = React.useRef(false);\n React.useLayoutEffect(() => {\n unmountingRef.current = false;\n return () => {\n unmountingRef.current = true;\n };\n }, []);\n const focusOutOnClose = useEventCallback(() => {\n const surface = surfaceRef.current;\n const active = surface?.ownerDocument.activeElement;\n if (unmountingRef.current || !surface || !active || !surface.contains(active)) return;\n getCloseFocus()?.focus({ preventScroll: true });\n });\n React.useLayoutEffect(() => {\n if (!open) return undefined;\n return focusOutOnClose;\n }, [open, focusOutOnClose]);\n}\n"],"mappings":"4KA4CA,SAAgBO,EAAoB,CAClC,OACA,aACA,gBACA,cACmC,CAGnC,IAAMC,EAAYR,EAAM,OAA2B,IAAI,EACjDS,EAAaT,EAAM,OAAO,EAAK,EAC/BU,EAAUT,EAAAA,qBAAuB,CACrC,IAAMU,EAAYC,EAAW,QACvBC,EAAYC,EAAc,EAC1BC,GAAOF,GAAaF,EAAA,EAAY,eAAiB,SACjDK,EAAe,GACnB,CAAC,CAACC,GAAMA,IAAOF,EAAI,MAAQE,IAAOF,EAAI,iBAAmB,CAACJ,GAAW,SAASM,CAAE,EAC5EC,EAASH,EAAI,cACnB,EAAU,QAAUC,EAAYH,CAAS,EAAIA,EAAYG,EAAYE,CAAM,EAAIA,EAAS,IAC1F,CAAC,EACDZ,EAAM,uBAAyB,CAC7B,IAAMa,EAAUV,EAAW,QAC3B,EAAW,QAAUW,EACjBA,GAAQ,CAACD,GAAST,EAAQ,CAChC,CAAC,EAGD,IAAMW,EAAgBpB,EAAAA,qBAA2C,CAC/D,IAAMU,EAAYC,EAAW,QAC7B,OACEU,EAAWd,EAAU,OAAO,CAAC,CAAC,KAC3B,GAA0B,CAAC,CAACS,GAAMf,EAAAA,wBAAwBe,CAAE,GAAK,CAACN,GAAW,SAASM,CAAE,CAC3F,GAAK,IAET,CAAC,EAIKM,EAAgBvB,EAAM,OAAO,EAAK,EACxCM,EAAM,qBACJ,EAAc,QAAU,OACX,CACX,EAAc,QAAU,EAC1B,GACC,CAAC,CAAC,EACL,IAAMkB,EAAkBvB,EAAAA,qBAAuB,CAC7C,IAAMwB,EAAUb,EAAW,QACrBM,EAASO,GAAS,cAAc,cAClC,GAAc,SAAYA,GAAYP,GAAWO,EAAQ,SAASP,CAAM,GAC5EG,EAAc,CAAC,EAAE,MAAM,CAAE,cAAe,EAAK,CAAC,CAChD,CAAC,EACDf,EAAM,oBAAsB,CAC1B,GAAKc,EACL,OAAOI,CACT,EAAG,CAACJ,EAAMI,CAAe,CAAC,CAC5B"}
@@ -0,0 +1,33 @@
1
+ "use client";
2
+ import { useEventCallback as e } from "./useEventCallback.mjs";
3
+ import { isConnectedAndFocusable as t } from "../lib/focus.mjs";
4
+ import * as n from "react";
5
+ //#region src/hooks/useFocusBeforeClose.ts
6
+ function r({ open: r, surfaceRef: i, captureOpener: a, candidates: o }) {
7
+ let s = n.useRef(null), c = n.useRef(!1), l = e(() => {
8
+ let e = i.current, t = a(), n = (t ?? e)?.ownerDocument ?? document, r = (t) => !!t && t !== n.body && t !== n.documentElement && !e?.contains(t), o = n.activeElement;
9
+ s.current = r(t) ? t : r(o) ? o : null;
10
+ });
11
+ n.useInsertionEffect(() => {
12
+ let e = c.current;
13
+ c.current = r, r && !e && l();
14
+ });
15
+ let u = e(() => {
16
+ let e = i.current;
17
+ return o(s.current).find((n) => !!n && t(n) && !e?.contains(n)) ?? null;
18
+ }), d = n.useRef(!1);
19
+ n.useLayoutEffect(() => (d.current = !1, () => {
20
+ d.current = !0;
21
+ }), []);
22
+ let f = e(() => {
23
+ let e = i.current, t = e?.ownerDocument.activeElement;
24
+ !d.current && e && t && e.contains(t) && u()?.focus({ preventScroll: !0 });
25
+ });
26
+ n.useLayoutEffect(() => {
27
+ if (r) return f;
28
+ }, [r, f]);
29
+ }
30
+ //#endregion
31
+ export { r as useFocusBeforeClose };
32
+
33
+ //# sourceMappingURL=useFocusBeforeClose.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFocusBeforeClose.mjs","names":["React","useFocusBeforeClose","openerRef","wasOpenRef","capture","useEventCallback","container","surfaceRef","preferred","captureOpener","doc","isCandidate","el","active","wasOpen","open","getCloseFocus","candidates","isConnectedAndFocusable","unmountingRef","focusOutOnClose","surface"],"sources":["../../src/hooks/useFocusBeforeClose.ts"],"sourcesContent":["import * as React from 'react';\nimport { isConnectedAndFocusable } from '../lib/focus';\nimport { useEventCallback } from './useEventCallback';\n\n/** Options of {@link useFocusBeforeClose}. */\nexport interface UseFocusBeforeCloseOptions {\n /** The surface's open state. */\n open: boolean;\n /** The surface element, read in the closing commit. */\n surfaceRef: React.RefObject<HTMLElement | null>;\n /**\n * The preferred opener, read in an insertion effect of the commit that opens the surface;\n * when it returns no candidate, the focused element is taken (never `<body>`, `<html>` or an\n * element inside the surface).\n */\n captureOpener: () => HTMLElement | null;\n /**\n * Focus targets at close, in order; receives the captured opener. The first connected,\n * focusable one outside the surface takes focus.\n */\n candidates: (opener: HTMLElement | null) => ReadonlyArray<HTMLElement | null | undefined>;\n}\n\n/**\n * Internal: moves focus out of a surface that closes while it holds focus, in the closing commit,\n * for the positioned surfaces that stay mounted while they exit (Menu.Popover, and the other\n * popups as they mount through the presence core).\n *\n * - **Capture.** In the commit that opens the surface, in an insertion effect (before focus moves\n * into it): `captureOpener()`, else the focused element; `<body>`, `<html>` and elements inside\n * the surface are no opener.\n * - **Move.** When `open` turns `false` with focus inside the surface, the first of\n * `candidates(opener)` that is connected, focusable and outside the surface takes focus\n * (`preventScroll`), in the closing commit's mutation phase (a layout-effect cleanup). A surface\n * opened in the same update and rendered after this one (a Dialog opened by an item of a closing\n * menu) then records that element as its opener, not the item, which the closing surface keeps\n * in the document, `inert`, until its exit ends and then removes. In a browser React cannot put\n * focus back on an `inert` element, and `useRestoreFocus`, which then finds focus outside the\n * surface, leaves it there: give both the same targets in the same order.\n * - **Unmount.** Nothing moves when the surface's component unmounts (also React StrictMode's\n * simulated unmount, with the surface open and focus inside): that is `useRestoreFocus`'s case.\n *\n * @param options - See {@link UseFocusBeforeCloseOptions}.\n */\nexport function useFocusBeforeClose({\n open,\n surfaceRef,\n captureOpener,\n candidates,\n}: UseFocusBeforeCloseOptions): void {\n // The element focused when the surface opened, captured as useRestoreFocus captures its opener:\n // in the commit that opens the surface, before focus moves into it.\n const openerRef = React.useRef<HTMLElement | null>(null);\n const wasOpenRef = React.useRef(false);\n const capture = useEventCallback(() => {\n const container = surfaceRef.current;\n const preferred = captureOpener();\n const doc = (preferred ?? container)?.ownerDocument ?? document;\n const isCandidate = (el: Element | null | undefined): el is HTMLElement =>\n !!el && el !== doc.body && el !== doc.documentElement && !container?.contains(el);\n const active = doc.activeElement;\n openerRef.current = isCandidate(preferred) ? preferred : isCandidate(active) ? active : null;\n });\n React.useInsertionEffect(() => {\n const wasOpen = wasOpenRef.current;\n wasOpenRef.current = open;\n if (open && !wasOpen) capture();\n });\n\n // Where focus goes: the first candidate that can take it outside the surface.\n const getCloseFocus = useEventCallback((): HTMLElement | null => {\n const container = surfaceRef.current;\n return (\n candidates(openerRef.current).find(\n (el): el is HTMLElement => !!el && isConnectedAndFocusable(el) && !container?.contains(el),\n ) ?? null\n );\n });\n\n // Unmounting (StrictMode's simulated unmount included) runs this cleanup before the one below,\n // which then moves nothing: unmounting is left to useRestoreFocus. Keep this effect first.\n const unmountingRef = React.useRef(false);\n React.useLayoutEffect(() => {\n unmountingRef.current = false;\n return () => {\n unmountingRef.current = true;\n };\n }, []);\n const focusOutOnClose = useEventCallback(() => {\n const surface = surfaceRef.current;\n const active = surface?.ownerDocument.activeElement;\n if (unmountingRef.current || !surface || !active || !surface.contains(active)) return;\n getCloseFocus()?.focus({ preventScroll: true });\n });\n React.useLayoutEffect(() => {\n if (!open) return undefined;\n return focusOutOnClose;\n }, [open, focusOutOnClose]);\n}\n"],"mappings":";;;;;AA4CA,SAAgBC,EAAoB,EAClC,SACA,eACA,kBACA,iBACmC;CAGnC,IAAMC,IAAYF,EAAM,OAA2B,IAAI,GACjDG,IAAaH,EAAM,OAAO,EAAK,GAC/BI,IAAUC,QAAuB;EACrC,IAAMC,IAAYC,EAAW,SACvBC,IAAYC,EAAc,GAC1BC,KAAOF,KAAaF,EAAA,EAAY,iBAAiB,UACjDK,KAAe,MACnB,CAAC,CAACC,KAAMA,MAAOF,EAAI,QAAQE,MAAOF,EAAI,mBAAmB,CAACJ,GAAW,SAASM,CAAE,GAC5EC,IAASH,EAAI;EACnB,EAAU,UAAUC,EAAYH,CAAS,IAAIA,IAAYG,EAAYE,CAAM,IAAIA,IAAS;CAC1F,CAAC;CACD,EAAM,yBAAyB;EAC7B,IAAMC,IAAUX,EAAW;EAE3B,AADA,EAAW,UAAUY,GACjBA,KAAQ,CAACD,KAASV,EAAQ;CAChC,CAAC;CAGD,IAAMY,IAAgBX,QAA2C;EAC/D,IAAMC,IAAYC,EAAW;EAC7B,OACEU,EAAWf,EAAU,OAAO,CAAC,CAAC,MAC3B,MAA0B,CAAC,CAACU,KAAMM,EAAwBN,CAAE,KAAK,CAACN,GAAW,SAASM,CAAE,CAC3F,KAAK;CAET,CAAC,GAIKO,IAAgBnB,EAAM,OAAO,EAAK;CACxC,EAAM,uBACJ,EAAc,UAAU,UACX;EACX,EAAc,UAAU;CAC1B,IACC,CAAC,CAAC;CACL,IAAMoB,IAAkBf,QAAuB;EAC7C,IAAMgB,IAAUd,EAAW,SACrBM,IAASQ,GAAS,cAAc;EACtC,AAAI,GAAc,WAAYA,KAAYR,KAAWQ,EAAQ,SAASR,CAAM,KAC5EG,EAAc,CAAC,EAAE,MAAM,EAAE,eAAe,GAAK,CAAC;CAChD,CAAC;CACD,EAAM,sBAAsB;EAC1B,IAAKD,GACL,OAAOK;CACT,GAAG,CAACL,GAAMK,CAAe,CAAC;AAC5B"}
@@ -0,0 +1,2 @@
1
+ "use client";const e=require("../components/provider/WaveProvider.cjs"),t=require("../lib/motion.cjs");function n(){return e.useWaveTheme().motion}function r(e,r,i){return t.resolveMotion(e,r,n(),i)}exports.useMotionClasses=r,exports.useMotionPreference=n;
2
+ //# sourceMappingURL=useMotion.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMotion.cjs","names":["useWaveTheme","resolveMotion","require_WaveProvider","require_motion","useMotionPreference","useMotionClasses","slot","recipe","legacyClassName"],"sources":["../../src/hooks/useMotion.ts"],"sourcesContent":["import { useWaveTheme } from '../components/provider/WaveProvider';\nimport { resolveMotion } from '../lib/motion';\nimport type { MotionPreference, MotionSlot } from '../lib/types';\n\n/**\n * The motion preference of the nearest `WaveProvider`: `'default'` outside one.\n *\n * @returns `'default'`, or `'none'` when a provider above turned motion off.\n */\nexport function useMotionPreference(): MotionPreference {\n return useWaveTheme().motion;\n}\n\n/**\n * The motion classes of an animated part against the provider's preference (see `resolveMotion`).\n *\n * @param slot - The part's `motion` prop: `undefined` the default, `null` none, a value replaces it.\n * @param recipe - The part's default motion classes.\n * @param legacyClassName - The part's `className`, for the parts that keep 0.14's behaviour.\n */\nexport function useMotionClasses(\n slot: MotionSlot | null | undefined,\n recipe: string,\n legacyClassName?: string,\n): string {\n return resolveMotion(slot, recipe, useMotionPreference(), legacyClassName);\n}\n"],"mappings":"uGASA,SAAgBI,GAAwC,CACtD,OAAOJ,EAAAA,aAAa,CAAC,CAAC,MACxB,CASA,SAAgBK,EACd,EACA,EACA,EACQ,CACR,OAAOJ,EAAAA,cAAcK,EAAMC,EAAQH,EAAoB,EAAGI,CAAe,CAC3E"}
@@ -0,0 +1,14 @@
1
+ "use client";
2
+ import { useWaveTheme as e } from "../components/provider/WaveProvider.mjs";
3
+ import { resolveMotion as t } from "../lib/motion.mjs";
4
+ //#region src/hooks/useMotion.ts
5
+ function n() {
6
+ return e().motion;
7
+ }
8
+ function r(e, r, i) {
9
+ return t(e, r, n(), i);
10
+ }
11
+ //#endregion
12
+ export { r as useMotionClasses, n as useMotionPreference };
13
+
14
+ //# sourceMappingURL=useMotion.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMotion.mjs","names":["useMotionPreference","useWaveTheme","useMotionClasses","resolveMotion","slot","recipe","legacyClassName"],"sources":["../../src/hooks/useMotion.ts"],"sourcesContent":["import { useWaveTheme } from '../components/provider/WaveProvider';\nimport { resolveMotion } from '../lib/motion';\nimport type { MotionPreference, MotionSlot } from '../lib/types';\n\n/**\n * The motion preference of the nearest `WaveProvider`: `'default'` outside one.\n *\n * @returns `'default'`, or `'none'` when a provider above turned motion off.\n */\nexport function useMotionPreference(): MotionPreference {\n return useWaveTheme().motion;\n}\n\n/**\n * The motion classes of an animated part against the provider's preference (see `resolveMotion`).\n *\n * @param slot - The part's `motion` prop: `undefined` the default, `null` none, a value replaces it.\n * @param recipe - The part's default motion classes.\n * @param legacyClassName - The part's `className`, for the parts that keep 0.14's behaviour.\n */\nexport function useMotionClasses(\n slot: MotionSlot | null | undefined,\n recipe: string,\n legacyClassName?: string,\n): string {\n return resolveMotion(slot, recipe, useMotionPreference(), legacyClassName);\n}\n"],"mappings":";;;;AASA,SAAgBA,IAAwC;CACtD,OAAOC,EAAa,CAAC,CAAC;AACxB;AASA,SAAgBC,EACd,GACA,GACA,GACQ;CACR,OAAOC,EAAcC,GAAMC,GAAQL,EAAoB,GAAGM,CAAe;AAC3E"}
@@ -0,0 +1,2 @@
1
+ "use client";const e=require("../lib/children.cjs");let t=require("react");function n(e){let t=e.slice(e.lastIndexOf(`/.`)+1);return t.slice(Math.max(t.lastIndexOf(`:`),0)+1).startsWith(`$`)}function r(r){let i=[],a=[];for(let{key:o,node:s}of e.flattenChildren(r))s!==``&&((0,t.isValidElement)(s)&&n(o)?i.push({key:o,element:s}):a.push((0,t.isValidElement)(s)?(0,t.cloneElement)(s,{key:o}):s));return{keyed:i,skipped:a}}function i(e,t,n){let r=new Map(e.map(e=>[e.key,e])),i=new Set(t.map(({key:e})=>e)),a=t.map(({key:e,element:t})=>({key:e,element:t,visible:!0,appear:r.get(e)?.appear??n}));return e.forEach((t,n)=>{if(i.has(t.key))return;let r=t.visible?{...t,visible:!1}:t,o=n===0?-1:a.findIndex(({key:t})=>t===e[n-1].key);a.splice(o+1,0,r)}),a}function a(e,n){let{appear:a}=n,{keyed:o,skipped:s}=r(e),[c,l]=(0,t.useState)(()=>({children:e,entries:o.map(({key:e,element:t})=>({key:e,element:t,visible:!0,appear:!1}))})),{entries:u}=c;e!==c.children&&(u=i(c.entries,o,a),l({children:e,entries:u}));let d=(0,t.useCallback)(e=>{l(t=>{let n=t.entries.find(t=>t.key===e&&!t.visible);return n?{...t,entries:t.entries.filter(e=>e!==n)}:t})},[]);return{entries:u,skipped:s,onExited:d}}exports.usePresenceGroup=a;
2
+ //# sourceMappingURL=usePresenceGroup.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePresenceGroup.cjs","names":["flattenChildren","isValidElement","cloneElement","useState","useCallback","require_children","react","hasConsumerKey","own","key","partitionChildren","keyed","skipped","children","node","mergeEntries","previousByKey","previous","entry","nextKeys","next","merged","appear","kept","before","index","usePresenceGroup","options","state","setState","onExited","exited","current"],"sources":["../../src/hooks/usePresenceGroup.ts"],"sourcesContent":["import { cloneElement, isValidElement, useCallback, useState } from 'react';\nimport type * as React from 'react';\nimport { flattenChildren } from '../lib/children';\n\n/** One child of the group: shown, or kept while it exits. */\nexport interface PresenceGroupEntry {\n /** The child's key among the group's flattened children (`flattenChildren`), e.g. `.$id`. */\n key: string;\n /** The child: its latest element while shown, the last one it had while it exits. */\n element: React.ReactElement;\n /** `false` from the render that removed the child until its item reports the end of its exit. */\n visible: boolean;\n /** `false` for the children of the group's first render, else the group's `appear`. */\n appear: boolean;\n}\n\n/** Returned by {@link usePresenceGroup}. */\nexport interface UsePresenceGroupResult {\n /** The keyed children, shown ones in their order and removed ones kept where they were. */\n entries: readonly PresenceGroupEntry[];\n /** Non-element children and elements without a key of the consumer's, in order (rendered after the entries, unanimated). */\n skipped: readonly React.ReactNode[];\n /** Drops the entry of `key` once its exit has ended (call it from its item's `onExited`). */\n onExited: (key: string) => void;\n}\n\ninterface GroupState {\n /** The children the entries were merged from. */\n children: React.ReactNode;\n entries: readonly PresenceGroupEntry[];\n}\n\n/**\n * Whether the child of a flattened key has a key of the consumer's. `React.Children.toArray` keys\n * a child `.` plus its path through nested arrays, joined by `:`: a key of the consumer's is\n * `$…` (where `:` is escaped), an index is a number (`.1:$id` is a keyed element of an array next\n * to other children, `.0` a child without a key). `flattenChildren` joins a Fragment's key and its\n * children's with `/`, so the child's own segment starts after the last `/.` (a consumer's key may\n * hold a `/`).\n */\nfunction hasConsumerKey(key: string): boolean {\n const own = key.slice(key.lastIndexOf('/.') + 1);\n return own.slice(Math.max(own.lastIndexOf(':'), 0) + 1).startsWith('$');\n}\n\n/** The keyed elements of `children`, and the rest, each in its order. */\nfunction partitionChildren(children: React.ReactNode): {\n keyed: Array<{ key: string; element: React.ReactElement }>;\n skipped: React.ReactNode[];\n} {\n const keyed: Array<{ key: string; element: React.ReactElement }> = [];\n const skipped: React.ReactNode[] = [];\n for (const { key, node } of flattenChildren(children)) {\n // `toArray` keeps an empty string (`{error && <Bar key=\"error\" />}` with `error === ''`),\n // which renders nothing: no child, so it neither renders nor warns.\n if (node === '') continue;\n if (isValidElement(node) && hasConsumerKey(key)) keyed.push({ key, element: node });\n // Keyed by its flattened key, unique across Fragments (its own key repeats in each one).\n else skipped.push(isValidElement(node) ? cloneElement(node, { key }) : node);\n }\n return { keyed, skipped };\n}\n\n/**\n * The entries after a change of the children: the keyed children in their order, shown with\n * their new elements (an entry that exits is shown again), a new key appearing with `appear`; then\n * each previous entry that is no longer among them, not shown, right after the entry that\n * preceded it before (already placed by then, being kept or shown), or first.\n */\nfunction mergeEntries(\n previous: readonly PresenceGroupEntry[],\n next: ReadonlyArray<{ key: string; element: React.ReactElement }>,\n appear: boolean,\n): PresenceGroupEntry[] {\n const previousByKey = new Map(previous.map((entry) => [entry.key, entry]));\n const nextKeys = new Set(next.map(({ key }) => key));\n const merged: PresenceGroupEntry[] = next.map(({ key, element }) => ({\n key,\n element,\n visible: true,\n appear: previousByKey.get(key)?.appear ?? appear,\n }));\n previous.forEach((entry, index) => {\n if (nextKeys.has(entry.key)) return;\n const kept = entry.visible ? { ...entry, visible: false } : entry;\n const before =\n index === 0 ? -1 : merged.findIndex(({ key }) => key === previous[index - 1].key);\n merged.splice(before + 1, 0, kept);\n });\n return merged;\n}\n\n/**\n * Keyed children of a group, with removed ones kept until their exit ends. The caller renders each\n * entry as an item that calls `usePresence(entry.visible, { appear: entry.appear, onExited })`,\n * its `onExited` calling the result's `onExited(entry.key)`, and renders `skipped` after them.\n *\n * - **Children** go through `flattenChildren` (Fragments flattened, consumer keys kept). An\n * element with a key of the consumer's is an entry, also inside a Fragment or an array; any\n * other child (text, a number, an element without a key) is in `skipped`, as given (an element\n * with its flattened key, so the list renders without duplicate keys). An empty string, which\n * renders nothing, is neither.\n * - **Merging**, derived during render from the previous entries: the keyed children in their\n * order, shown; a removed child kept, not shown, right after the child that preceded it (a run\n * of removed children in its order), or first; a key that comes back while it exits is shown\n * again with its new element, so its item, and the state inside it, stay. A reorder moves the\n * entries without removing any. An entry is dropped when its item reports the end of its exit.\n * - **Appearing.** The children of the group's first render (on the server, when hydrating and in\n * a client render) never appear; a child added later appears with `options.appear`.\n *\n * @param children - The group's children.\n * @param options - `appear`: whether a child added after the first render appears.\n */\nexport function usePresenceGroup(\n children: React.ReactNode,\n options: { appear: boolean },\n): UsePresenceGroupResult {\n const { appear } = options;\n const { keyed, skipped } = partitionChildren(children);\n const [state, setState] = useState<GroupState>(() => ({\n children,\n entries: keyed.map(({ key, element }) => ({ key, element, visible: true, appear: false })),\n }));\n\n // Changes of the children, derived during render (C-HOOKS: a previous-value state).\n let { entries } = state;\n if (children !== state.children) {\n entries = mergeEntries(state.entries, keyed, appear);\n setState({ children, entries });\n }\n\n const onExited = useCallback((key: string) => {\n setState((current) => {\n const exited = current.entries.find((entry) => entry.key === key && !entry.visible);\n if (!exited) return current;\n return { ...current, entries: current.entries.filter((entry) => entry !== exited) };\n });\n }, []);\n\n return { entries, skipped, onExited };\n}\n"],"mappings":"2EAwCA,SAASO,EAAe,EAAsB,CAC5C,IAAMC,EAAMC,EAAI,MAAMA,EAAI,YAAY,IAAI,EAAI,CAAC,EAC/C,OAAOD,EAAI,MAAM,KAAK,IAAIA,EAAI,YAAY,GAAG,EAAG,CAAC,EAAI,CAAC,CAAC,CAAC,WAAW,GAAG,CACxE,CAGA,SAASE,EAAkB,EAGzB,CACA,IAAMC,EAA6D,CAAC,EAC9DC,EAA6B,CAAC,EACpC,IAAK,GAAM,CAAE,MAAK,UAAUZ,EAAAA,gBAAgBa,CAAQ,EAG9CC,IAAS,MACb,EAAIb,EAAAA,eAAAA,CAAea,CAAI,GAAKP,EAAeE,CAAG,EAAGE,EAAM,KAAK,CAAE,MAAK,QAASG,CAAK,CAAC,EAE7EF,EAAQ,MAAA,EAAKX,EAAAA,eAAAA,CAAea,CAAI,GAAA,EAAIZ,EAAAA,aAAAA,CAAaY,EAAM,CAAE,KAAI,CAAC,EAAIA,CAAI,GAE7E,MAAO,CAAE,QAAO,SAAQ,CAC1B,CAQA,SAASC,EACP,EACA,EACA,EACsB,CACtB,IAAMC,EAAgB,IAAI,IAAIC,EAAS,IAAK,GAAU,CAACC,EAAM,IAAKA,CAAK,CAAC,CAAC,EACnEC,EAAW,IAAI,IAAIC,EAAK,KAAK,CAAE,SAAUX,CAAG,CAAC,EAC7CY,EAA+BD,EAAK,KAAK,CAAE,MAAK,cAAe,CACnE,MACA,UACA,QAAS,GACT,OAAQJ,EAAc,IAAIP,CAAG,CAAC,EAAE,QAAUa,CAC5C,EAAE,EAQF,OAPAL,EAAS,SAAS,EAAO,IAAU,CACjC,GAAIE,EAAS,IAAID,EAAM,GAAG,EAAG,OAC7B,IAAMK,EAAOL,EAAM,QAAU,CAAE,GAAGA,EAAO,QAAS,EAAM,EAAIA,EACtDM,EACJC,IAAU,EAAI,GAAKJ,EAAO,WAAW,CAAE,SAAUZ,IAAQQ,EAASQ,EAAQ,EAAE,CAAC,GAAG,EAClFJ,EAAO,OAAOG,EAAS,EAAG,EAAGD,CAAI,CACnC,CAAC,EACMF,CACT,CAuBA,SAAgBK,EACd,EACA,EACwB,CACxB,GAAM,CAAE,UAAWC,EACb,CAAE,QAAO,WAAYjB,EAAkBG,CAAQ,EAC/C,CAACe,EAAOC,IAAA,EAAY1B,EAAAA,SAAAA,MAA4B,CACpD,WACA,QAASQ,EAAM,KAAK,CAAE,MAAK,cAAe,CAAE,MAAK,UAAS,QAAS,GAAM,OAAQ,EAAM,EAAE,CAC3F,EAAE,EAGE,CAAE,WAAYiB,EACdf,IAAae,EAAM,WACrB,EAAUb,EAAaa,EAAM,QAASjB,EAAOW,CAAM,EACnDO,EAAS,CAAE,WAAU,SAAQ,CAAC,GAGhC,IAAMC,GAAA,EAAW1B,EAAAA,YAAAA,CAAa,GAAgB,CAC5CyB,EAAU,GAAY,CACpB,IAAME,EAASC,EAAQ,QAAQ,KAAM,GAAUd,EAAM,MAAQT,GAAO,CAACS,EAAM,OAAO,EAElF,OADKa,EACE,CAAE,GAAGC,EAAS,QAASA,EAAQ,QAAQ,OAAQ,GAAUd,IAAUa,CAAM,CAAE,EAD9DC,CAEtB,CAAC,CACH,EAAG,CAAC,CAAC,EAEL,MAAO,CAAE,UAAS,UAAS,UAAS,CACtC"}
@@ -0,0 +1,68 @@
1
+ "use client";
2
+ import { flattenChildren as e } from "../lib/children.mjs";
3
+ import { cloneElement as t, isValidElement as n, useCallback as r, useState as i } from "react";
4
+ //#region src/hooks/usePresenceGroup.ts
5
+ function a(e) {
6
+ let t = e.slice(e.lastIndexOf("/.") + 1);
7
+ return t.slice(Math.max(t.lastIndexOf(":"), 0) + 1).startsWith("$");
8
+ }
9
+ function o(r) {
10
+ let i = [], o = [];
11
+ for (let { key: s, node: c } of e(r)) c !== "" && (n(c) && a(s) ? i.push({
12
+ key: s,
13
+ element: c
14
+ }) : o.push(n(c) ? t(c, { key: s }) : c));
15
+ return {
16
+ keyed: i,
17
+ skipped: o
18
+ };
19
+ }
20
+ function s(e, t, n) {
21
+ let r = new Map(e.map((e) => [e.key, e])), i = new Set(t.map(({ key: e }) => e)), a = t.map(({ key: e, element: t }) => ({
22
+ key: e,
23
+ element: t,
24
+ visible: !0,
25
+ appear: r.get(e)?.appear ?? n
26
+ }));
27
+ return e.forEach((t, n) => {
28
+ if (i.has(t.key)) return;
29
+ let r = t.visible ? {
30
+ ...t,
31
+ visible: !1
32
+ } : t, o = n === 0 ? -1 : a.findIndex(({ key: t }) => t === e[n - 1].key);
33
+ a.splice(o + 1, 0, r);
34
+ }), a;
35
+ }
36
+ function c(e, t) {
37
+ let { appear: n } = t, { keyed: a, skipped: c } = o(e), [l, u] = i(() => ({
38
+ children: e,
39
+ entries: a.map(({ key: e, element: t }) => ({
40
+ key: e,
41
+ element: t,
42
+ visible: !0,
43
+ appear: !1
44
+ }))
45
+ })), { entries: d } = l;
46
+ e !== l.children && (d = s(l.entries, a, n), u({
47
+ children: e,
48
+ entries: d
49
+ }));
50
+ let f = r((e) => {
51
+ u((t) => {
52
+ let n = t.entries.find((t) => t.key === e && !t.visible);
53
+ return n ? {
54
+ ...t,
55
+ entries: t.entries.filter((e) => e !== n)
56
+ } : t;
57
+ });
58
+ }, []);
59
+ return {
60
+ entries: d,
61
+ skipped: c,
62
+ onExited: f
63
+ };
64
+ }
65
+ //#endregion
66
+ export { c as usePresenceGroup };
67
+
68
+ //# sourceMappingURL=usePresenceGroup.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePresenceGroup.mjs","names":["hasConsumerKey","own","key","partitionChildren","keyed","skipped","flattenChildren","children","node","isValidElement","cloneElement","mergeEntries","previousByKey","previous","entry","nextKeys","next","merged","appear","kept","before","index","usePresenceGroup","options","state","setState","useState","onExited","useCallback","exited","current"],"sources":["../../src/hooks/usePresenceGroup.ts"],"sourcesContent":["import { cloneElement, isValidElement, useCallback, useState } from 'react';\nimport type * as React from 'react';\nimport { flattenChildren } from '../lib/children';\n\n/** One child of the group: shown, or kept while it exits. */\nexport interface PresenceGroupEntry {\n /** The child's key among the group's flattened children (`flattenChildren`), e.g. `.$id`. */\n key: string;\n /** The child: its latest element while shown, the last one it had while it exits. */\n element: React.ReactElement;\n /** `false` from the render that removed the child until its item reports the end of its exit. */\n visible: boolean;\n /** `false` for the children of the group's first render, else the group's `appear`. */\n appear: boolean;\n}\n\n/** Returned by {@link usePresenceGroup}. */\nexport interface UsePresenceGroupResult {\n /** The keyed children, shown ones in their order and removed ones kept where they were. */\n entries: readonly PresenceGroupEntry[];\n /** Non-element children and elements without a key of the consumer's, in order (rendered after the entries, unanimated). */\n skipped: readonly React.ReactNode[];\n /** Drops the entry of `key` once its exit has ended (call it from its item's `onExited`). */\n onExited: (key: string) => void;\n}\n\ninterface GroupState {\n /** The children the entries were merged from. */\n children: React.ReactNode;\n entries: readonly PresenceGroupEntry[];\n}\n\n/**\n * Whether the child of a flattened key has a key of the consumer's. `React.Children.toArray` keys\n * a child `.` plus its path through nested arrays, joined by `:`: a key of the consumer's is\n * `$…` (where `:` is escaped), an index is a number (`.1:$id` is a keyed element of an array next\n * to other children, `.0` a child without a key). `flattenChildren` joins a Fragment's key and its\n * children's with `/`, so the child's own segment starts after the last `/.` (a consumer's key may\n * hold a `/`).\n */\nfunction hasConsumerKey(key: string): boolean {\n const own = key.slice(key.lastIndexOf('/.') + 1);\n return own.slice(Math.max(own.lastIndexOf(':'), 0) + 1).startsWith('$');\n}\n\n/** The keyed elements of `children`, and the rest, each in its order. */\nfunction partitionChildren(children: React.ReactNode): {\n keyed: Array<{ key: string; element: React.ReactElement }>;\n skipped: React.ReactNode[];\n} {\n const keyed: Array<{ key: string; element: React.ReactElement }> = [];\n const skipped: React.ReactNode[] = [];\n for (const { key, node } of flattenChildren(children)) {\n // `toArray` keeps an empty string (`{error && <Bar key=\"error\" />}` with `error === ''`),\n // which renders nothing: no child, so it neither renders nor warns.\n if (node === '') continue;\n if (isValidElement(node) && hasConsumerKey(key)) keyed.push({ key, element: node });\n // Keyed by its flattened key, unique across Fragments (its own key repeats in each one).\n else skipped.push(isValidElement(node) ? cloneElement(node, { key }) : node);\n }\n return { keyed, skipped };\n}\n\n/**\n * The entries after a change of the children: the keyed children in their order, shown with\n * their new elements (an entry that exits is shown again), a new key appearing with `appear`; then\n * each previous entry that is no longer among them, not shown, right after the entry that\n * preceded it before (already placed by then, being kept or shown), or first.\n */\nfunction mergeEntries(\n previous: readonly PresenceGroupEntry[],\n next: ReadonlyArray<{ key: string; element: React.ReactElement }>,\n appear: boolean,\n): PresenceGroupEntry[] {\n const previousByKey = new Map(previous.map((entry) => [entry.key, entry]));\n const nextKeys = new Set(next.map(({ key }) => key));\n const merged: PresenceGroupEntry[] = next.map(({ key, element }) => ({\n key,\n element,\n visible: true,\n appear: previousByKey.get(key)?.appear ?? appear,\n }));\n previous.forEach((entry, index) => {\n if (nextKeys.has(entry.key)) return;\n const kept = entry.visible ? { ...entry, visible: false } : entry;\n const before =\n index === 0 ? -1 : merged.findIndex(({ key }) => key === previous[index - 1].key);\n merged.splice(before + 1, 0, kept);\n });\n return merged;\n}\n\n/**\n * Keyed children of a group, with removed ones kept until their exit ends. The caller renders each\n * entry as an item that calls `usePresence(entry.visible, { appear: entry.appear, onExited })`,\n * its `onExited` calling the result's `onExited(entry.key)`, and renders `skipped` after them.\n *\n * - **Children** go through `flattenChildren` (Fragments flattened, consumer keys kept). An\n * element with a key of the consumer's is an entry, also inside a Fragment or an array; any\n * other child (text, a number, an element without a key) is in `skipped`, as given (an element\n * with its flattened key, so the list renders without duplicate keys). An empty string, which\n * renders nothing, is neither.\n * - **Merging**, derived during render from the previous entries: the keyed children in their\n * order, shown; a removed child kept, not shown, right after the child that preceded it (a run\n * of removed children in its order), or first; a key that comes back while it exits is shown\n * again with its new element, so its item, and the state inside it, stay. A reorder moves the\n * entries without removing any. An entry is dropped when its item reports the end of its exit.\n * - **Appearing.** The children of the group's first render (on the server, when hydrating and in\n * a client render) never appear; a child added later appears with `options.appear`.\n *\n * @param children - The group's children.\n * @param options - `appear`: whether a child added after the first render appears.\n */\nexport function usePresenceGroup(\n children: React.ReactNode,\n options: { appear: boolean },\n): UsePresenceGroupResult {\n const { appear } = options;\n const { keyed, skipped } = partitionChildren(children);\n const [state, setState] = useState<GroupState>(() => ({\n children,\n entries: keyed.map(({ key, element }) => ({ key, element, visible: true, appear: false })),\n }));\n\n // Changes of the children, derived during render (C-HOOKS: a previous-value state).\n let { entries } = state;\n if (children !== state.children) {\n entries = mergeEntries(state.entries, keyed, appear);\n setState({ children, entries });\n }\n\n const onExited = useCallback((key: string) => {\n setState((current) => {\n const exited = current.entries.find((entry) => entry.key === key && !entry.visible);\n if (!exited) return current;\n return { ...current, entries: current.entries.filter((entry) => entry !== exited) };\n });\n }, []);\n\n return { entries, skipped, onExited };\n}\n"],"mappings":";;;;AAwCA,SAASA,EAAe,GAAsB;CAC5C,IAAMC,IAAMC,EAAI,MAAMA,EAAI,YAAY,IAAI,IAAI,CAAC;CAC/C,OAAOD,EAAI,MAAM,KAAK,IAAIA,EAAI,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG;AACxE;AAGA,SAASE,EAAkB,GAGzB;CACA,IAAMC,IAA6D,CAAC,GAC9DC,IAA6B,CAAC;CACpC,KAAK,IAAM,EAAE,QAAK,aAAUC,EAAgBC,CAAQ,GAGlD,AAAIC,MAAS,OACTC,EAAeD,CAAI,KAAKR,EAAeE,CAAG,IAAGE,EAAM,KAAK;EAAE;EAAK,SAASI;CAAK,CAAC,IAE7EH,EAAQ,KAAKI,EAAeD,CAAI,IAAIE,EAAaF,GAAM,EAAE,OAAI,CAAC,IAAIA,CAAI;CAE7E,OAAO;EAAE;EAAO;CAAQ;AAC1B;AAQA,SAASG,EACP,GACA,GACA,GACsB;CACtB,IAAMC,IAAgB,IAAI,IAAIC,EAAS,KAAK,MAAU,CAACC,EAAM,KAAKA,CAAK,CAAC,CAAC,GACnEC,IAAW,IAAI,IAAIC,EAAK,KAAK,EAAE,aAAUd,CAAG,CAAC,GAC7Ce,IAA+BD,EAAK,KAAK,EAAE,QAAK,kBAAe;EACnE;EACA;EACA,SAAS;EACT,QAAQJ,EAAc,IAAIV,CAAG,CAAC,EAAE,UAAUgB;CAC5C,EAAE;CAQF,OAPAL,EAAS,SAAS,GAAO,MAAU;EACjC,IAAIE,EAAS,IAAID,EAAM,GAAG,GAAG;EAC7B,IAAMK,IAAOL,EAAM,UAAU;GAAE,GAAGA;GAAO,SAAS;EAAM,IAAIA,GACtDM,IACJC,MAAU,IAAI,KAAKJ,EAAO,WAAW,EAAE,aAAUf,MAAQW,EAASQ,IAAQ,EAAE,CAAC,GAAG;EAClF,EAAO,OAAOD,IAAS,GAAG,GAAGD,CAAI;CACnC,CAAC,GACMF;AACT;AAuBA,SAAgBK,EACd,GACA,GACwB;CACxB,IAAM,EAAE,cAAWC,GACb,EAAE,UAAO,eAAYpB,EAAkBI,CAAQ,GAC/C,CAACiB,GAAOC,KAAYC,SAA4B;EACpD;EACA,SAAStB,EAAM,KAAK,EAAE,QAAK,kBAAe;GAAE;GAAK;GAAS,SAAS;GAAM,QAAQ;EAAM,EAAE;CAC3F,EAAE,GAGE,EAAE,eAAYoB;CAClB,AAAIjB,MAAaiB,EAAM,aACrB,IAAUb,EAAaa,EAAM,SAASpB,GAAOc,CAAM,GACnDO,EAAS;EAAE;EAAU;CAAQ,CAAC;CAGhC,IAAME,IAAWC,GAAa,MAAgB;EAC5C,GAAU,MAAY;GACpB,IAAMC,IAASC,EAAQ,QAAQ,MAAM,MAAUhB,EAAM,QAAQZ,KAAO,CAACY,EAAM,OAAO;GAElF,OADKe,IACE;IAAE,GAAGC;IAAS,SAASA,EAAQ,QAAQ,QAAQ,MAAUhB,MAAUe,CAAM;GAAE,IAD9DC;EAEtB,CAAC;CACH,GAAG,CAAC,CAAC;CAEL,OAAO;EAAE;EAAS;EAAS;CAAS;AACtC"}
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const ee=require("./lib/cn.cjs"),e=require("./lib/slot.cjs"),te=require("./lib/composeEventHandlers.cjs"),ne=require("./lib/mergeRefs.cjs"),t=require("./lib/classNames.cjs"),n=require("./lib/date.cjs"),r=require("./lib/color.cjs"),re=require("./lib/initials.cjs"),i=require("./lib/breadcrumb.cjs"),ie=require("./lib/table.cjs"),ae=require("./lib/toaster.cjs"),oe=require("./hooks/useEventCallback.cjs"),se=require("./hooks/useControllable.cjs"),ce=require("./hooks/useId.cjs"),a=require("./lib/focus.cjs"),le=require("./hooks/useRovingTabIndex.cjs"),ue=require("./hooks/useMergedRefs.cjs"),de=require("./hooks/useIsClient.cjs"),fe=require("./hooks/useFieldControl.cjs"),o=require("./hooks/useAnnounce.cjs"),pe=require("./hooks/usePresence.cjs"),me=require("./hooks/useActiveDescendant.cjs"),s=require("./hooks/useListbox.cjs"),he=require("./lib/theme.cjs"),c=require("./components/provider/WaveProvider.cjs"),ge=require("./hooks/usePopupPosition.cjs"),l=require("./lib/layers.cjs"),u=require("./hooks/useDismiss.cjs"),d=require("./hooks/useFocusTrap.cjs"),_e=require("./hooks/useRestoreFocus.cjs"),ve=require("./hooks/useModalLayer.cjs"),ye=require("./hooks/useModalOpen.cjs"),be=require("./hooks/useFocusVisible.cjs"),xe=require("./hooks/useFocusableGroup.cjs"),Se=require("./components/table/useGridNavigation.cjs"),f=require("./lib/styles.cjs"),Ce=require("./components/portal/Portal.cjs"),we=require("./components/button/Button.cjs"),Te=require("./components/button/CompoundButton.cjs"),Ee=require("./components/button/ToggleButton.cjs"),De=require("./components/button/SplitButton.cjs"),Oe=require("./components/button/MenuButton.cjs"),ke=require("./components/button/Link.cjs"),p=require("./components/button/Toolbar.parts.cjs"),Ae=require("./components/button/Toolbar.cjs"),je=require("./components/input/Input.cjs"),Me=require("./components/input/Textarea.cjs"),Ne=require("./components/input/Field.cjs"),Pe=require("./components/input/Checkbox.cjs"),m=require("./components/input/RadioGroup.cjs"),Fe=require("./components/input/Switch.cjs"),Ie=require("./components/input/Select.cjs"),h=require("./components/input/SearchBox.cjs"),g=require("./components/input/Slider.cjs"),_=require("./components/input/SpinButton.cjs"),Le=require("./components/input/Label.cjs"),v=require("./components/input/Option.cjs"),y=require("./components/input/Combobox.cjs"),b=require("./components/input/Dropdown.cjs"),x=require("./components/input/Listbox.cjs"),S=require("./components/input/SwatchPicker.swatches.cjs"),C=require("./components/input/SwatchPicker.cjs"),w=require("./components/input/ColorPicker.parts.cjs"),Re=require("./components/input/AlphaSlider.cjs"),ze=require("./components/input/ColorArea.cjs"),Be=require("./components/input/ColorSlider.cjs"),Ve=require("./components/input/ColorPicker.cjs"),He=require("./components/data-display/Tag.cjs"),Ue=require("./components/data-display/TagGroup.cjs"),We=require("./components/input/TagPicker.option.cjs"),T=require("./components/input/TagPicker.parts.cjs"),Ge=require("./components/input/TagPicker.cjs"),Ke=require("./components/input/Rating.item.cjs"),E=require("./components/input/Rating.cjs"),qe=require("./components/input/TimePicker.cjs"),Je=require("./components/input/Calendar.cjs"),Ye=require("./components/input/DatePicker.cjs"),Xe=require("./components/data-display/Avatar.cjs"),Ze=require("./components/data-display/AvatarGroup.partition.cjs"),D=require("./components/data-display/AvatarGroup.parts.cjs"),Qe=require("./components/data-display/AvatarGroup.cjs"),$e=require("./components/data-display/Badge.cjs"),et=require("./components/data-display/PresenceBadge.cjs"),tt=require("./components/data-display/CounterBadge.cjs"),O=require("./components/data-display/InteractionTag.cjs"),nt=require("./components/data-display/Persona.cjs"),rt=require("./components/data-display/Divider.cjs"),it=require("./components/data-display/InfoButton.cjs"),at=require("./components/data-display/InfoLabel.cjs"),k=require("./components/data-display/Image.cjs"),A=require("./components/data-display/List.cjs"),ot=require("./components/typography/Text.cjs"),st=require("./components/layout/Card.preview.cjs"),j=require("./components/layout/Card.cjs"),M=require("./components/layout/Accordion.cjs"),N=require("./components/layout/TabList.cjs"),ct=require("./components/layout/Tree.core.cjs"),lt=require("./components/layout/Tree.itemPersonaLayout.cjs"),ut=require("./components/layout/Tree.cjs"),dt=require("./components/layout/Carousel.button.cjs"),P=require("./components/layout/Carousel.cjs"),F=require("./components/layout/Overflow.cjs"),ft=require("./components/layout/Stack.cjs"),pt=require("./components/layout/Flex.cjs"),mt=require("./components/layout/Grid.cjs"),I=require("./components/navigation/Menu.items.cjs"),L=require("./components/navigation/Menu.group.cjs"),ht=require("./components/navigation/Menu.link.cjs"),gt=require("./components/navigation/Menu.popover.cjs"),_t=require("./components/navigation/Menu.trigger.cjs"),R=require("./components/navigation/Menu.selectable.cjs"),vt=require("./components/navigation/Menu.splitGroup.cjs"),yt=require("./components/navigation/Menu.cjs"),z=require("./components/navigation/Breadcrumb.cjs"),B=require("./components/navigation/Nav.parts.cjs"),V=require("./components/navigation/Nav.cjs"),H=require("./components/navigation/NavDrawer.cjs"),bt=require("./components/navigation/Hamburger.cjs"),xt=require("./components/navigation/Pagination.cjs"),U=require("./components/navigation/Stepper.cjs"),W=require("./components/feedback/MessageBar.parts.cjs"),St=require("./components/feedback/MessageBar.cjs"),Ct=require("./components/feedback/ProgressBar.cjs"),wt=require("./components/feedback/Spinner.cjs"),G=require("./components/feedback/Skeleton.cjs"),K=require("./components/feedback/Toast.parts.cjs"),q=require("./components/feedback/Toaster.cjs"),Tt=require("./components/feedback/Toast.cjs"),J=require("./components/overlays/Dialog.cjs"),Y=require("./components/overlays/Popover.cjs"),Et=require("./components/overlays/Tooltip.cjs"),X=require("./components/overlays/Drawer.parts.cjs"),Dt=require("./components/overlays/Drawer.cjs"),Z=require("./components/overlays/TeachingPopover.parts.cjs"),Ot=require("./components/overlays/TeachingPopover.cjs"),Q=require("./components/table/Table.cjs"),$=require("./components/table/DataGrid.cjs"),kt=require("./components/motion/Presence.cjs");exports.Accordion=M.Accordion,exports.AccordionItem=M.AccordionItem,exports.AccordionPanel=M.AccordionPanel,exports.AccordionTrigger=M.AccordionTrigger,exports.AlphaSlider=Re.AlphaSlider,exports.Avatar=Xe.Avatar,exports.AvatarGroup=Qe.AvatarGroup,exports.AvatarGroupItem=D.AvatarGroupItem,exports.AvatarGroupPopover=D.AvatarGroupPopover,exports.Badge=$e.Badge,exports.Breadcrumb=z.Breadcrumb,exports.BreadcrumbItem=z.BreadcrumbItem,exports.Button=we.Button,exports.Calendar=Je.Calendar,exports.Card=j.Card,exports.CardBody=j.CardBody,exports.CardFooter=j.CardFooter,exports.CardHeader=j.CardHeader,exports.CardPreview=st.CardPreview,exports.Carousel=P.Carousel,exports.CarouselButton=dt.CarouselButton,exports.CarouselItem=P.CarouselItem,exports.Checkbox=Pe.Checkbox,exports.ColorArea=ze.ColorArea,exports.ColorPicker=Ve.ColorPicker,exports.ColorPickerHexField=w.ColorPickerHexField,exports.ColorPickerPreview=w.ColorPickerPreview,exports.ColorPickerSwatches=w.ColorPickerSwatches,exports.ColorSlider=Be.ColorSlider,exports.ColorSwatch=S.ColorSwatch,exports.Combobox=y.Combobox,exports.ComboboxOption=y.ComboboxOption,exports.ComboboxOptionGroup=y.ComboboxOptionGroup,exports.CompoundButton=Te.CompoundButton,exports.CounterBadge=tt.CounterBadge,exports.DataGrid=$.DataGrid,exports.DataGridBody=$.DataGridBody,exports.DataGridCell=$.DataGridCell,exports.DataGridHeader=$.DataGridHeader,exports.DataGridHeaderCell=$.DataGridHeaderCell,exports.DataGridRow=$.DataGridRow,exports.DataGridSelectionCell=$.DataGridSelectionCell,exports.DatePicker=Ye.DatePicker,exports.Dialog=J.Dialog,exports.DialogClose=J.DialogClose,exports.DialogContent=J.DialogContent,exports.DialogFooter=J.DialogFooter,exports.DialogTitle=J.DialogTitle,exports.DialogTrigger=J.DialogTrigger,exports.DismissLayerProvider=u.DismissLayerProvider,exports.Divider=rt.Divider,exports.Drawer=Dt.Drawer,exports.DrawerBody=X.DrawerBody,exports.DrawerClose=X.DrawerClose,exports.DrawerFooter=X.DrawerFooter,exports.DrawerHeader=X.DrawerHeader,exports.DrawerHeaderNavigation=X.DrawerHeaderNavigation,exports.DrawerHeaderTitle=X.DrawerHeaderTitle,exports.DrawerTitle=X.DrawerTitle,exports.DrawerTrigger=X.DrawerTrigger,exports.Dropdown=b.Dropdown,exports.DropdownOption=b.DropdownOption,exports.DropdownOptionGroup=b.DropdownOptionGroup,exports.EmptySwatch=S.EmptySwatch,exports.Field=Ne.Field,exports.Flex=pt.Flex,exports.Grid=mt.Grid,exports.Hamburger=bt.Hamburger,exports.Image=k.Image,exports.ImageSwatch=S.ImageSwatch,exports.InfoButton=it.InfoButton,exports.InfoLabel=at.InfoLabel,exports.Input=je.Input,exports.InteractionTag=O.InteractionTag,exports.InteractionTagPrimary=O.InteractionTagPrimary,exports.InteractionTagSecondary=O.InteractionTagSecondary,exports.Label=Le.Label,exports.Link=ke.Link,exports.List=A.List,exports.ListItem=A.ListItem,exports.Listbox=x.Listbox,exports.ListboxOption=x.ListboxOption,exports.ListboxOptionGroup=x.ListboxOptionGroup,exports.ListboxProvider=v.ListboxProvider,exports.ListboxSurface=v.ListboxSurface,exports.Menu=yt.Menu,exports.MenuButton=Oe.MenuButton,exports.MenuDivider=I.MenuDivider,exports.MenuGroup=L.MenuGroup,exports.MenuGroupHeader=L.MenuGroupHeader,exports.MenuItem=I.MenuItem,exports.MenuItemCheckbox=R.MenuItemCheckbox,exports.MenuItemLink=ht.MenuItemLink,exports.MenuItemRadio=R.MenuItemRadio,exports.MenuItemSwitch=R.MenuItemSwitch,exports.MenuPopover=gt.MenuPopover,exports.MenuSplitGroup=vt.MenuSplitGroup,exports.MenuTrigger=_t.MenuTrigger,exports.MessageBar=St.MessageBar,exports.MessageBarActions=W.MessageBarActions,exports.MessageBarTitle=W.MessageBarTitle,exports.Nav=V.Nav,exports.NavAppItem=B.NavAppItem,exports.NavAppItemStatic=B.NavAppItemStatic,exports.NavCategory=V.NavCategory,exports.NavDivider=B.NavDivider,exports.NavDrawer=H.NavDrawer,exports.NavDrawerBody=H.NavDrawerBody,exports.NavDrawerFooter=H.NavDrawerFooter,exports.NavDrawerHeader=H.NavDrawerHeader,exports.NavItem=V.NavItem,exports.NavSectionHeader=B.NavSectionHeader,exports.NavSubItem=V.NavSubItem,exports.Option=v.Option,exports.OptionGroup=v.OptionGroup,exports.Overflow=F.Overflow,exports.OverflowDivider=F.OverflowDivider,exports.OverflowItem=F.OverflowItem,exports.Pagination=xt.Pagination,exports.Persona=nt.Persona,exports.Popover=Y.Popover,exports.PopoverContent=Y.PopoverContent,exports.PopoverTrigger=Y.PopoverTrigger,exports.Portal=Ce.Portal,exports.Presence=kt.Presence,exports.PresenceBadge=et.PresenceBadge,exports.ProgressBar=Ct.ProgressBar,exports.RadioGroup=m.RadioGroup,exports.RadioGroupItem=m.RadioGroupItem,exports.RadioItem=m.RadioItem,exports.Rating=E.Rating,exports.RatingDisplay=E.RatingDisplay,exports.RatingDisplayItem=E.RatingDisplayItem,exports.RatingItem=Ke.RatingItem,exports.SearchBox=h.SearchBox,exports.Select=Ie.Select,exports.Skeleton=G.Skeleton,exports.SkeletonGroup=G.SkeletonGroup,exports.Slider=g.Slider,exports.SpinButton=_.SpinButton,exports.Spinner=wt.Spinner,exports.SplitButton=De.SplitButton,exports.Stack=ft.Stack,exports.Stepper=U.Stepper,exports.StepperStep=U.StepperStep,exports.SwatchPicker=C.SwatchPicker,exports.SwatchPickerRow=C.SwatchPickerRow,exports.Switch=Fe.Switch,exports.TabList=N.TabList,exports.TabListPanel=N.TabListPanel,exports.TabListPanels=N.TabListPanels,exports.TabListTab=N.TabListTab,exports.Table=Q.Table,exports.TableBody=Q.TableBody,exports.TableCell=Q.TableCell,exports.TableCellActions=Q.TableCellActions,exports.TableCellLayout=Q.TableCellLayout,exports.TableHead=Q.TableHead,exports.TableHeadCell=Q.TableHeadCell,exports.TableHeader=Q.TableHeader,exports.TableHeaderCell=Q.TableHeaderCell,exports.TableRow=Q.TableRow,exports.TableSelectionCell=Q.TableSelectionCell,exports.Tag=He.Tag,exports.TagGroup=Ue.TagGroup,exports.TagPicker=Ge.TagPicker,exports.TagPickerButton=T.TagPickerButton,exports.TagPickerControl=T.TagPickerControl,exports.TagPickerGroup=T.TagPickerGroup,exports.TagPickerInput=T.TagPickerInput,exports.TagPickerList=T.TagPickerList,exports.TagPickerOption=We.TagPickerOption,exports.TagPickerOptionGroup=T.TagPickerOptionGroup,exports.TeachingPopover=Ot.TeachingPopover,exports.TeachingPopoverBody=Z.TeachingPopoverBody,exports.TeachingPopoverCarousel=Z.TeachingPopoverCarousel,exports.TeachingPopoverCarouselFooter=Z.TeachingPopoverCarouselFooter,exports.TeachingPopoverCarouselNav=Z.TeachingPopoverCarouselNav,exports.TeachingPopoverCarouselPageCount=Z.TeachingPopoverCarouselPageCount,exports.TeachingPopoverFooter=Z.TeachingPopoverFooter,exports.TeachingPopoverHeader=Z.TeachingPopoverHeader,exports.TeachingPopoverSurface=Z.TeachingPopoverSurface,exports.TeachingPopoverTitle=Z.TeachingPopoverTitle,exports.TeachingPopoverTrigger=Z.TeachingPopoverTrigger,exports.Text=ot.Text,exports.Textarea=Me.Textarea,exports.TimePicker=qe.TimePicker,exports.Toast=Tt.Toast,exports.ToastBody=K.ToastBody,exports.ToastClose=K.ToastClose,exports.ToastFooter=K.ToastFooter,exports.ToastTitle=K.ToastTitle,exports.Toaster=q.Toaster,exports.ToggleButton=Ee.ToggleButton,exports.Toolbar=Ae.Toolbar,exports.ToolbarButton=p.ToolbarButton,exports.ToolbarDivider=p.ToolbarDivider,exports.ToolbarGroup=p.ToolbarGroup,exports.ToolbarRadioButton=p.ToolbarRadioButton,exports.ToolbarRadioGroup=p.ToolbarRadioGroup,exports.ToolbarToggleButton=p.ToolbarToggleButton,exports.Tooltip=Et.Tooltip,exports.Tree=ut.Tree,exports.TreeItem=ct.TreeItem,exports.TreeItemPersonaLayout=lt.TreeItemPersonaLayout,exports.WaveProvider=c.WaveProvider,exports.accordionClassNames=t.accordionClassNames,exports.accordionItemClassNames=t.accordionItemClassNames,exports.accordionPanelClassNames=t.accordionPanelClassNames,exports.accordionTriggerClassNames=t.accordionTriggerClassNames,exports.addDays=n.addDays,exports.addMonths=n.addMonths,exports.alphaSliderClassNames=t.alphaSliderClassNames,exports.announce=o.announce,exports.avatarClassNames=t.avatarClassNames,exports.avatarGroupClassNames=t.avatarGroupClassNames,exports.avatarGroupItemClassNames=t.avatarGroupItemClassNames,exports.avatarGroupPopoverClassNames=t.avatarGroupPopoverClassNames,exports.badgeClassNames=t.badgeClassNames,exports.breadcrumbClassNames=t.breadcrumbClassNames,exports.breadcrumbItemClassNames=t.breadcrumbItemClassNames,exports.buttonClassNames=t.buttonClassNames,exports.calendarClassNames=t.calendarClassNames,exports.cardBodyClassNames=t.cardBodyClassNames,exports.cardClassNames=t.cardClassNames,exports.cardFooterClassNames=t.cardFooterClassNames,exports.cardHeaderClassNames=t.cardHeaderClassNames,exports.cardPreviewClassNames=t.cardPreviewClassNames,exports.carouselButtonClassNames=t.carouselButtonClassNames,exports.carouselClassNames=t.carouselClassNames,exports.carouselItemClassNames=t.carouselItemClassNames,exports.checkboxClassNames=t.checkboxClassNames,exports.cn=ee.cn,exports.collectOptionLabels=s.collectOptionLabels,exports.colorAreaClassNames=t.colorAreaClassNames,exports.colorPickerClassNames=t.colorPickerClassNames,exports.colorPickerHexFieldClassNames=t.colorPickerHexFieldClassNames,exports.colorPickerPreviewClassNames=t.colorPickerPreviewClassNames,exports.colorPickerSwatchesClassNames=t.colorPickerSwatchesClassNames,exports.colorSliderClassNames=t.colorSliderClassNames,exports.colorSwatchClassNames=t.colorSwatchClassNames,exports.comboboxClassNames=t.comboboxClassNames,exports.composeEventHandlers=te.composeEventHandlers,exports.compoundButtonClassNames=t.compoundButtonClassNames,exports.counterBadgeClassNames=t.counterBadgeClassNames,exports.createTableColumn=ie.createTableColumn,exports.createToaster=ae.createToaster,exports.dataGridBodyClassNames=t.dataGridBodyClassNames,exports.dataGridCellClassNames=t.dataGridCellClassNames,exports.dataGridClassNames=t.dataGridClassNames,exports.dataGridHeaderCellClassNames=t.dataGridHeaderCellClassNames,exports.dataGridHeaderClassNames=t.dataGridHeaderClassNames,exports.dataGridRowClassNames=t.dataGridRowClassNames,exports.dataGridSelectionCellClassNames=t.dataGridSelectionCellClassNames,exports.datePickerClassNames=t.datePickerClassNames,exports.dialogContentClassNames=t.dialogContentClassNames,exports.dialogFooterClassNames=t.dialogFooterClassNames,exports.dialogTitleClassNames=t.dialogTitleClassNames,exports.dividerClassNames=t.dividerClassNames,exports.drawerBodyClassNames=t.drawerBodyClassNames,exports.drawerClassNames=t.drawerClassNames,exports.drawerFooterClassNames=t.drawerFooterClassNames,exports.drawerHeaderClassNames=t.drawerHeaderClassNames,exports.drawerHeaderNavigationClassNames=t.drawerHeaderNavigationClassNames,exports.drawerHeaderTitleClassNames=t.drawerHeaderTitleClassNames,exports.drawerTitleClassNames=t.drawerTitleClassNames,exports.dropdownClassNames=t.dropdownClassNames,exports.emptySwatchClassNames=t.emptySwatchClassNames,exports.fieldClassNames=t.fieldClassNames,exports.flexClassNames=t.flexClassNames,exports.focusRing=f.focusRing,exports.focusRingInset=f.focusRingInset,exports.getFirstTabbable=a.getFirstTabbable,exports.getInitials=re.getInitials,exports.getLastTabbable=a.getLastTabbable,exports.getTabbableElements=a.getTabbableElements,exports.getThemeClassName=he.getThemeClassName,exports.getWeekNumber=n.getWeekNumber,exports.gridClassNames=t.gridClassNames,exports.hamburgerClassNames=t.hamburgerClassNames,exports.hasOpenModal=l.hasOpenModal,exports.hexToHsv=r.hexToHsv,exports.hsvToHex=r.hsvToHex,exports.imageClassNames=t.imageClassNames,exports.imageSwatchClassNames=t.imageSwatchClassNames,exports.infoButtonClassNames=t.infoButtonClassNames,exports.infoLabelClassNames=t.infoLabelClassNames,exports.inputClassNames=t.inputClassNames,exports.inputFocus=f.inputFocus,exports.inputFocusWithin=f.inputFocusWithin,exports.interactionTagClassNames=t.interactionTagClassNames,exports.interactionTagPrimaryClassNames=t.interactionTagPrimaryClassNames,exports.interactionTagSecondaryClassNames=t.interactionTagSecondaryClassNames,exports.isSameDay=n.isSameDay,exports.isTruncatableBreadcrumbContent=i.isTruncatableBreadcrumbContent,exports.labelClassNames=t.labelClassNames,exports.linkClassNames=t.linkClassNames,exports.listClassNames=t.listClassNames,exports.listItemClassNames=t.listItemClassNames,exports.listboxClassNames=t.listboxClassNames,exports.listboxSurfaceClassNames=t.listboxSurfaceClassNames,exports.markListboxElement=s.markListboxElement,exports.menuButtonClassNames=t.menuButtonClassNames,exports.menuClassNames=t.menuClassNames,exports.menuDividerClassNames=t.menuDividerClassNames,exports.menuGroupClassNames=t.menuGroupClassNames,exports.menuGroupHeaderClassNames=t.menuGroupHeaderClassNames,exports.menuItemCheckboxClassNames=t.menuItemCheckboxClassNames,exports.menuItemClassNames=t.menuItemClassNames,exports.menuItemLinkClassNames=t.menuItemLinkClassNames,exports.menuItemRadioClassNames=t.menuItemRadioClassNames,exports.menuItemSwitchClassNames=t.menuItemSwitchClassNames,exports.menuPopoverClassNames=t.menuPopoverClassNames,exports.menuSplitGroupClassNames=t.menuSplitGroupClassNames,exports.mergeRefs=ne.mergeRefs,exports.messageBarActionsClassNames=t.messageBarActionsClassNames,exports.messageBarClassNames=t.messageBarClassNames,exports.messageBarTitleClassNames=t.messageBarTitleClassNames,exports.modalAllowProps=l.modalAllowProps,exports.navAppItemClassNames=t.navAppItemClassNames,exports.navAppItemStaticClassNames=t.navAppItemStaticClassNames,exports.navCategoryClassNames=t.navCategoryClassNames,exports.navClassNames=t.navClassNames,exports.navDividerClassNames=t.navDividerClassNames,exports.navDrawerBodyClassNames=t.navDrawerBodyClassNames,exports.navDrawerClassNames=t.navDrawerClassNames,exports.navDrawerFooterClassNames=t.navDrawerFooterClassNames,exports.navDrawerHeaderClassNames=t.navDrawerHeaderClassNames,exports.navItemClassNames=t.navItemClassNames,exports.navSectionHeaderClassNames=t.navSectionHeaderClassNames,exports.navSubItemClassNames=t.navSubItemClassNames,exports.optionClassNames=t.optionClassNames,exports.optionGroupClassNames=t.optionGroupClassNames,exports.overflowClassNames=t.overflowClassNames,exports.overflowDividerClassNames=t.overflowDividerClassNames,exports.overflowItemClassNames=t.overflowItemClassNames,exports.paginationClassNames=t.paginationClassNames,exports.partitionAvatarGroupItems=Ze.partitionAvatarGroupItems,exports.partitionBreadcrumbItems=i.partitionBreadcrumbItems,exports.personaClassNames=t.personaClassNames,exports.popoverContentClassNames=t.popoverContentClassNames,exports.portalClassNames=t.portalClassNames,exports.presenceBadgeClassNames=t.presenceBadgeClassNames,exports.progressBarClassNames=t.progressBarClassNames,exports.radioGroupClassNames=t.radioGroupClassNames,exports.radioGroupItemClassNames=t.radioGroupItemClassNames,exports.ratingClassNames=t.ratingClassNames,exports.ratingDisplayClassNames=t.ratingDisplayClassNames,exports.ratingItemClassNames=t.ratingItemClassNames,exports.renderSlot=e.renderSlot,exports.resolveSlot=e.resolveSlot,exports.searchBoxClassNames=t.searchBoxClassNames,exports.selectClassNames=t.selectClassNames,exports.skeletonClassNames=t.skeletonClassNames,exports.skeletonGroupClassNames=t.skeletonGroupClassNames,exports.sliderClassNames=t.sliderClassNames,exports.spinButtonClassNames=t.spinButtonClassNames,exports.spinnerClassNames=t.spinnerClassNames,exports.splitButtonClassNames=t.splitButtonClassNames,exports.stackClassNames=t.stackClassNames,exports.startOfWeek=n.startOfWeek,exports.stepperClassNames=t.stepperClassNames,exports.stepperStepClassNames=t.stepperStepClassNames,exports.swatchPickerClassNames=t.swatchPickerClassNames,exports.swatchPickerRowClassNames=t.swatchPickerRowClassNames,exports.switchClassNames=t.switchClassNames,exports.tabListClassNames=t.tabListClassNames,exports.tabListPanelClassNames=t.tabListPanelClassNames,exports.tabListPanelsClassNames=t.tabListPanelsClassNames,exports.tabListTabClassNames=t.tabListTabClassNames,exports.tableBodyClassNames=t.tableBodyClassNames,exports.tableCellActionsClassNames=t.tableCellActionsClassNames,exports.tableCellClassNames=t.tableCellClassNames,exports.tableCellLayoutClassNames=t.tableCellLayoutClassNames,exports.tableClassNames=t.tableClassNames,exports.tableHeaderCellClassNames=t.tableHeaderCellClassNames,exports.tableHeaderClassNames=t.tableHeaderClassNames,exports.tableRowClassNames=t.tableRowClassNames,exports.tableSelectionCellClassNames=t.tableSelectionCellClassNames,exports.tagClassNames=t.tagClassNames,exports.tagGroupClassNames=t.tagGroupClassNames,exports.tagPickerButtonClassNames=t.tagPickerButtonClassNames,exports.tagPickerClassNames=t.tagPickerClassNames,exports.tagPickerControlClassNames=t.tagPickerControlClassNames,exports.tagPickerGroupClassNames=t.tagPickerGroupClassNames,exports.tagPickerInputClassNames=t.tagPickerInputClassNames,exports.tagPickerListClassNames=t.tagPickerListClassNames,exports.tagPickerOptionClassNames=t.tagPickerOptionClassNames,exports.teachingPopoverBodyClassNames=t.teachingPopoverBodyClassNames,exports.teachingPopoverCarouselClassNames=t.teachingPopoverCarouselClassNames,exports.teachingPopoverCarouselFooterClassNames=t.teachingPopoverCarouselFooterClassNames,exports.teachingPopoverCarouselNavClassNames=t.teachingPopoverCarouselNavClassNames,exports.teachingPopoverCarouselPageCountClassNames=t.teachingPopoverCarouselPageCountClassNames,exports.teachingPopoverClassNames=t.teachingPopoverClassNames,exports.teachingPopoverFooterClassNames=t.teachingPopoverFooterClassNames,exports.teachingPopoverHeaderClassNames=t.teachingPopoverHeaderClassNames,exports.teachingPopoverSurfaceClassNames=t.teachingPopoverSurfaceClassNames,exports.teachingPopoverTitleClassNames=t.teachingPopoverTitleClassNames,exports.textClassNames=t.textClassNames,exports.textareaClassNames=t.textareaClassNames,exports.timePickerClassNames=t.timePickerClassNames,exports.toastBodyClassNames=t.toastBodyClassNames,exports.toastClassNames=t.toastClassNames,exports.toastFooterClassNames=t.toastFooterClassNames,exports.toastTitleClassNames=t.toastTitleClassNames,exports.toasterClassNames=t.toasterClassNames,exports.toggleButtonClassNames=t.toggleButtonClassNames,exports.toolbarButtonClassNames=t.toolbarButtonClassNames,exports.toolbarClassNames=t.toolbarClassNames,exports.toolbarDividerClassNames=t.toolbarDividerClassNames,exports.toolbarGroupClassNames=t.toolbarGroupClassNames,exports.toolbarRadioButtonClassNames=t.toolbarRadioButtonClassNames,exports.toolbarRadioGroupClassNames=t.toolbarRadioGroupClassNames,exports.toolbarToggleButtonClassNames=t.toolbarToggleButtonClassNames,exports.tooltipClassNames=t.tooltipClassNames,exports.treeClassNames=t.treeClassNames,exports.treeItemClassNames=t.treeItemClassNames,exports.treeItemPersonaLayoutClassNames=t.treeItemPersonaLayoutClassNames,exports.truncateBreadcrumbLongName=i.truncateBreadcrumbLongName,exports.truncateBreadcrumbLongTooltip=i.truncateBreadcrumbLongTooltip,exports.useActiveDescendant=me.useActiveDescendant,exports.useAnnounce=o.useAnnounce,exports.useControllable=se.useControllable,exports.useDismiss=u.useDismiss,exports.useEventCallback=oe.useEventCallback,exports.useFieldControl=fe.useFieldControl,exports.useFocusTrap=d.useFocusTrap,exports.useFocusVisible=be.useFocusVisible,exports.useFocusableGroup=xe.useFocusableGroup,exports.useGridNavigation=Se.useGridNavigation,exports.useHasHiddenItems=F.useHasHiddenItems,exports.useId=ce.useId,exports.useInitialFocus=d.useInitialFocus,exports.useIsClient=de.useIsClient,exports.useIsOverflowGroupVisible=F.useIsOverflowGroupVisible,exports.useIsOverflowItemVisible=F.useIsOverflowItemVisible,exports.useIsOverflowing=F.useIsOverflowing,exports.useListbox=s.useListbox,exports.useListboxOption=s.useListboxOption,exports.useListboxPopup=v.useListboxPopup,exports.useMergedRefs=ue.useMergedRefs,exports.useModalLayer=ve.useModalLayer,exports.useModalOpen=ye.useModalOpen,exports.useOverflowMenu=F.useOverflowMenu,exports.usePopupPosition=ge.usePopupPosition,exports.usePresence=pe.usePresence,exports.useRestoreFocus=_e.useRestoreFocus,exports.useRovingTabIndex=le.useRovingTabIndex,exports.useToastController=q.useToastController,exports.useWaveTheme=c.useWaveTheme,exports.waveProviderClassNames=t.waveProviderClassNames;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const ee=require("./lib/cn.cjs"),e=require("./lib/slot.cjs"),te=require("./lib/composeEventHandlers.cjs"),ne=require("./lib/mergeRefs.cjs"),t=require("./lib/classNames.cjs"),n=require("./lib/date.cjs"),r=require("./lib/color.cjs"),re=require("./lib/initials.cjs"),i=require("./lib/breadcrumb.cjs"),ie=require("./lib/table.cjs"),ae=require("./lib/toaster.cjs"),oe=require("./hooks/useEventCallback.cjs"),se=require("./hooks/useControllable.cjs"),ce=require("./hooks/useId.cjs"),a=require("./lib/focus.cjs"),le=require("./hooks/useRovingTabIndex.cjs"),ue=require("./hooks/useMergedRefs.cjs"),de=require("./hooks/useIsClient.cjs"),fe=require("./hooks/useFieldControl.cjs"),o=require("./hooks/useAnnounce.cjs"),pe=require("./hooks/usePresence.cjs"),me=require("./hooks/useActiveDescendant.cjs"),s=require("./hooks/useListbox.cjs"),he=require("./lib/theme.cjs"),c=require("./components/provider/WaveProvider.cjs"),ge=require("./hooks/usePopupPosition.cjs"),l=require("./lib/layers.cjs"),u=require("./hooks/useDismiss.cjs"),d=require("./hooks/useFocusTrap.cjs"),_e=require("./hooks/useRestoreFocus.cjs"),ve=require("./hooks/useModalLayer.cjs"),ye=require("./hooks/useModalOpen.cjs"),be=require("./hooks/useFocusVisible.cjs"),xe=require("./hooks/useFocusableGroup.cjs"),Se=require("./components/table/useGridNavigation.cjs"),f=require("./lib/styles.cjs"),Ce=require("./components/portal/Portal.cjs"),we=require("./components/button/Button.cjs"),Te=require("./components/button/CompoundButton.cjs"),Ee=require("./components/button/ToggleButton.cjs"),De=require("./components/button/SplitButton.cjs"),Oe=require("./components/button/MenuButton.cjs"),ke=require("./components/button/Link.cjs"),p=require("./components/button/Toolbar.parts.cjs"),Ae=require("./components/button/Toolbar.cjs"),je=require("./components/input/Input.cjs"),Me=require("./components/input/Textarea.cjs"),Ne=require("./components/input/Field.cjs"),Pe=require("./components/input/Checkbox.cjs"),m=require("./components/input/RadioGroup.cjs"),Fe=require("./components/input/Switch.cjs"),Ie=require("./components/input/Select.cjs"),h=require("./components/input/SearchBox.cjs"),g=require("./components/input/Slider.cjs"),_=require("./components/input/SpinButton.cjs"),Le=require("./components/input/Label.cjs"),v=require("./components/input/Option.cjs"),y=require("./components/input/Combobox.cjs"),b=require("./components/input/Dropdown.cjs"),x=require("./components/input/Listbox.cjs"),S=require("./components/input/SwatchPicker.swatches.cjs"),C=require("./components/input/SwatchPicker.cjs"),w=require("./components/input/ColorPicker.parts.cjs"),Re=require("./components/input/AlphaSlider.cjs"),ze=require("./components/input/ColorArea.cjs"),Be=require("./components/input/ColorSlider.cjs"),Ve=require("./components/input/ColorPicker.cjs"),He=require("./components/data-display/Tag.cjs"),Ue=require("./components/data-display/TagGroup.cjs"),We=require("./components/input/TagPicker.option.cjs"),T=require("./components/input/TagPicker.parts.cjs"),Ge=require("./components/input/TagPicker.cjs"),Ke=require("./components/input/Rating.item.cjs"),E=require("./components/input/Rating.cjs"),qe=require("./components/input/TimePicker.cjs"),Je=require("./components/input/Calendar.cjs"),Ye=require("./components/input/DatePicker.cjs"),Xe=require("./components/data-display/Avatar.cjs"),Ze=require("./components/data-display/AvatarGroup.partition.cjs"),D=require("./components/data-display/AvatarGroup.parts.cjs"),Qe=require("./components/data-display/AvatarGroup.cjs"),$e=require("./components/data-display/Badge.cjs"),et=require("./components/data-display/PresenceBadge.cjs"),tt=require("./components/data-display/CounterBadge.cjs"),O=require("./components/data-display/InteractionTag.cjs"),nt=require("./components/data-display/Persona.cjs"),rt=require("./components/data-display/Divider.cjs"),it=require("./components/data-display/InfoButton.cjs"),at=require("./components/data-display/InfoLabel.cjs"),k=require("./components/data-display/Image.cjs"),A=require("./components/data-display/List.cjs"),ot=require("./components/typography/Text.cjs"),st=require("./components/layout/Card.preview.cjs"),j=require("./components/layout/Card.cjs"),M=require("./components/layout/Accordion.cjs"),N=require("./components/layout/TabList.cjs"),ct=require("./components/layout/Tree.core.cjs"),lt=require("./components/layout/Tree.itemPersonaLayout.cjs"),ut=require("./components/layout/Tree.cjs"),dt=require("./components/layout/Carousel.button.cjs"),P=require("./components/layout/Carousel.cjs"),F=require("./components/layout/Overflow.cjs"),ft=require("./components/layout/Stack.cjs"),pt=require("./components/layout/Flex.cjs"),mt=require("./components/layout/Grid.cjs"),I=require("./components/navigation/Menu.items.cjs"),L=require("./components/navigation/Menu.group.cjs"),ht=require("./components/navigation/Menu.link.cjs"),gt=require("./components/navigation/Menu.popover.cjs"),_t=require("./components/navigation/Menu.trigger.cjs"),R=require("./components/navigation/Menu.selectable.cjs"),vt=require("./components/navigation/Menu.splitGroup.cjs"),yt=require("./components/navigation/Menu.cjs"),z=require("./components/navigation/Breadcrumb.cjs"),B=require("./components/navigation/Nav.parts.cjs"),V=require("./components/navigation/Nav.cjs"),H=require("./components/navigation/NavDrawer.cjs"),bt=require("./components/navigation/Hamburger.cjs"),xt=require("./components/navigation/Pagination.cjs"),U=require("./components/navigation/Stepper.cjs"),W=require("./components/feedback/MessageBar.parts.cjs"),St=require("./components/feedback/MessageBar.cjs"),Ct=require("./components/feedback/MessageBarGroup.cjs"),wt=require("./components/feedback/ProgressBar.cjs"),Tt=require("./components/feedback/Spinner.cjs"),G=require("./components/feedback/Skeleton.cjs"),K=require("./components/feedback/Toast.parts.cjs"),q=require("./components/feedback/Toaster.cjs"),Et=require("./components/feedback/Toast.cjs"),J=require("./components/overlays/Dialog.cjs"),Y=require("./components/overlays/Popover.cjs"),Dt=require("./components/overlays/Tooltip.cjs"),X=require("./components/overlays/Drawer.parts.cjs"),Ot=require("./components/overlays/Drawer.cjs"),Z=require("./components/overlays/TeachingPopover.parts.cjs"),kt=require("./components/overlays/TeachingPopover.cjs"),Q=require("./components/table/Table.cjs"),$=require("./components/table/DataGrid.cjs"),At=require("./components/motion/Presence.cjs");exports.Accordion=M.Accordion,exports.AccordionItem=M.AccordionItem,exports.AccordionPanel=M.AccordionPanel,exports.AccordionTrigger=M.AccordionTrigger,exports.AlphaSlider=Re.AlphaSlider,exports.Avatar=Xe.Avatar,exports.AvatarGroup=Qe.AvatarGroup,exports.AvatarGroupItem=D.AvatarGroupItem,exports.AvatarGroupPopover=D.AvatarGroupPopover,exports.Badge=$e.Badge,exports.Breadcrumb=z.Breadcrumb,exports.BreadcrumbItem=z.BreadcrumbItem,exports.Button=we.Button,exports.Calendar=Je.Calendar,exports.Card=j.Card,exports.CardBody=j.CardBody,exports.CardFooter=j.CardFooter,exports.CardHeader=j.CardHeader,exports.CardPreview=st.CardPreview,exports.Carousel=P.Carousel,exports.CarouselButton=dt.CarouselButton,exports.CarouselItem=P.CarouselItem,exports.Checkbox=Pe.Checkbox,exports.ColorArea=ze.ColorArea,exports.ColorPicker=Ve.ColorPicker,exports.ColorPickerHexField=w.ColorPickerHexField,exports.ColorPickerPreview=w.ColorPickerPreview,exports.ColorPickerSwatches=w.ColorPickerSwatches,exports.ColorSlider=Be.ColorSlider,exports.ColorSwatch=S.ColorSwatch,exports.Combobox=y.Combobox,exports.ComboboxOption=y.ComboboxOption,exports.ComboboxOptionGroup=y.ComboboxOptionGroup,exports.CompoundButton=Te.CompoundButton,exports.CounterBadge=tt.CounterBadge,exports.DataGrid=$.DataGrid,exports.DataGridBody=$.DataGridBody,exports.DataGridCell=$.DataGridCell,exports.DataGridHeader=$.DataGridHeader,exports.DataGridHeaderCell=$.DataGridHeaderCell,exports.DataGridRow=$.DataGridRow,exports.DataGridSelectionCell=$.DataGridSelectionCell,exports.DatePicker=Ye.DatePicker,exports.Dialog=J.Dialog,exports.DialogClose=J.DialogClose,exports.DialogContent=J.DialogContent,exports.DialogFooter=J.DialogFooter,exports.DialogTitle=J.DialogTitle,exports.DialogTrigger=J.DialogTrigger,exports.DismissLayerProvider=u.DismissLayerProvider,exports.Divider=rt.Divider,exports.Drawer=Ot.Drawer,exports.DrawerBody=X.DrawerBody,exports.DrawerClose=X.DrawerClose,exports.DrawerFooter=X.DrawerFooter,exports.DrawerHeader=X.DrawerHeader,exports.DrawerHeaderNavigation=X.DrawerHeaderNavigation,exports.DrawerHeaderTitle=X.DrawerHeaderTitle,exports.DrawerTitle=X.DrawerTitle,exports.DrawerTrigger=X.DrawerTrigger,exports.Dropdown=b.Dropdown,exports.DropdownOption=b.DropdownOption,exports.DropdownOptionGroup=b.DropdownOptionGroup,exports.EmptySwatch=S.EmptySwatch,exports.Field=Ne.Field,exports.Flex=pt.Flex,exports.Grid=mt.Grid,exports.Hamburger=bt.Hamburger,exports.Image=k.Image,exports.ImageSwatch=S.ImageSwatch,exports.InfoButton=it.InfoButton,exports.InfoLabel=at.InfoLabel,exports.Input=je.Input,exports.InteractionTag=O.InteractionTag,exports.InteractionTagPrimary=O.InteractionTagPrimary,exports.InteractionTagSecondary=O.InteractionTagSecondary,exports.Label=Le.Label,exports.Link=ke.Link,exports.List=A.List,exports.ListItem=A.ListItem,exports.Listbox=x.Listbox,exports.ListboxOption=x.ListboxOption,exports.ListboxOptionGroup=x.ListboxOptionGroup,exports.ListboxProvider=v.ListboxProvider,exports.ListboxSurface=v.ListboxSurface,exports.Menu=yt.Menu,exports.MenuButton=Oe.MenuButton,exports.MenuDivider=I.MenuDivider,exports.MenuGroup=L.MenuGroup,exports.MenuGroupHeader=L.MenuGroupHeader,exports.MenuItem=I.MenuItem,exports.MenuItemCheckbox=R.MenuItemCheckbox,exports.MenuItemLink=ht.MenuItemLink,exports.MenuItemRadio=R.MenuItemRadio,exports.MenuItemSwitch=R.MenuItemSwitch,exports.MenuPopover=gt.MenuPopover,exports.MenuSplitGroup=vt.MenuSplitGroup,exports.MenuTrigger=_t.MenuTrigger,exports.MessageBar=St.MessageBar,exports.MessageBarActions=W.MessageBarActions,exports.MessageBarGroup=Ct.MessageBarGroup,exports.MessageBarTitle=W.MessageBarTitle,exports.Nav=V.Nav,exports.NavAppItem=B.NavAppItem,exports.NavAppItemStatic=B.NavAppItemStatic,exports.NavCategory=V.NavCategory,exports.NavDivider=B.NavDivider,exports.NavDrawer=H.NavDrawer,exports.NavDrawerBody=H.NavDrawerBody,exports.NavDrawerFooter=H.NavDrawerFooter,exports.NavDrawerHeader=H.NavDrawerHeader,exports.NavItem=V.NavItem,exports.NavSectionHeader=B.NavSectionHeader,exports.NavSubItem=V.NavSubItem,exports.Option=v.Option,exports.OptionGroup=v.OptionGroup,exports.Overflow=F.Overflow,exports.OverflowDivider=F.OverflowDivider,exports.OverflowItem=F.OverflowItem,exports.Pagination=xt.Pagination,exports.Persona=nt.Persona,exports.Popover=Y.Popover,exports.PopoverContent=Y.PopoverContent,exports.PopoverTrigger=Y.PopoverTrigger,exports.Portal=Ce.Portal,exports.Presence=At.Presence,exports.PresenceBadge=et.PresenceBadge,exports.ProgressBar=wt.ProgressBar,exports.RadioGroup=m.RadioGroup,exports.RadioGroupItem=m.RadioGroupItem,exports.RadioItem=m.RadioItem,exports.Rating=E.Rating,exports.RatingDisplay=E.RatingDisplay,exports.RatingDisplayItem=E.RatingDisplayItem,exports.RatingItem=Ke.RatingItem,exports.SearchBox=h.SearchBox,exports.Select=Ie.Select,exports.Skeleton=G.Skeleton,exports.SkeletonGroup=G.SkeletonGroup,exports.Slider=g.Slider,exports.SpinButton=_.SpinButton,exports.Spinner=Tt.Spinner,exports.SplitButton=De.SplitButton,exports.Stack=ft.Stack,exports.Stepper=U.Stepper,exports.StepperStep=U.StepperStep,exports.SwatchPicker=C.SwatchPicker,exports.SwatchPickerRow=C.SwatchPickerRow,exports.Switch=Fe.Switch,exports.TabList=N.TabList,exports.TabListPanel=N.TabListPanel,exports.TabListPanels=N.TabListPanels,exports.TabListTab=N.TabListTab,exports.Table=Q.Table,exports.TableBody=Q.TableBody,exports.TableCell=Q.TableCell,exports.TableCellActions=Q.TableCellActions,exports.TableCellLayout=Q.TableCellLayout,exports.TableHead=Q.TableHead,exports.TableHeadCell=Q.TableHeadCell,exports.TableHeader=Q.TableHeader,exports.TableHeaderCell=Q.TableHeaderCell,exports.TableRow=Q.TableRow,exports.TableSelectionCell=Q.TableSelectionCell,exports.Tag=He.Tag,exports.TagGroup=Ue.TagGroup,exports.TagPicker=Ge.TagPicker,exports.TagPickerButton=T.TagPickerButton,exports.TagPickerControl=T.TagPickerControl,exports.TagPickerGroup=T.TagPickerGroup,exports.TagPickerInput=T.TagPickerInput,exports.TagPickerList=T.TagPickerList,exports.TagPickerOption=We.TagPickerOption,exports.TagPickerOptionGroup=T.TagPickerOptionGroup,exports.TeachingPopover=kt.TeachingPopover,exports.TeachingPopoverBody=Z.TeachingPopoverBody,exports.TeachingPopoverCarousel=Z.TeachingPopoverCarousel,exports.TeachingPopoverCarouselFooter=Z.TeachingPopoverCarouselFooter,exports.TeachingPopoverCarouselNav=Z.TeachingPopoverCarouselNav,exports.TeachingPopoverCarouselPageCount=Z.TeachingPopoverCarouselPageCount,exports.TeachingPopoverFooter=Z.TeachingPopoverFooter,exports.TeachingPopoverHeader=Z.TeachingPopoverHeader,exports.TeachingPopoverSurface=Z.TeachingPopoverSurface,exports.TeachingPopoverTitle=Z.TeachingPopoverTitle,exports.TeachingPopoverTrigger=Z.TeachingPopoverTrigger,exports.Text=ot.Text,exports.Textarea=Me.Textarea,exports.TimePicker=qe.TimePicker,exports.Toast=Et.Toast,exports.ToastBody=K.ToastBody,exports.ToastClose=K.ToastClose,exports.ToastFooter=K.ToastFooter,exports.ToastTitle=K.ToastTitle,exports.Toaster=q.Toaster,exports.ToggleButton=Ee.ToggleButton,exports.Toolbar=Ae.Toolbar,exports.ToolbarButton=p.ToolbarButton,exports.ToolbarDivider=p.ToolbarDivider,exports.ToolbarGroup=p.ToolbarGroup,exports.ToolbarRadioButton=p.ToolbarRadioButton,exports.ToolbarRadioGroup=p.ToolbarRadioGroup,exports.ToolbarToggleButton=p.ToolbarToggleButton,exports.Tooltip=Dt.Tooltip,exports.Tree=ut.Tree,exports.TreeItem=ct.TreeItem,exports.TreeItemPersonaLayout=lt.TreeItemPersonaLayout,exports.WaveProvider=c.WaveProvider,exports.accordionClassNames=t.accordionClassNames,exports.accordionItemClassNames=t.accordionItemClassNames,exports.accordionPanelClassNames=t.accordionPanelClassNames,exports.accordionTriggerClassNames=t.accordionTriggerClassNames,exports.addDays=n.addDays,exports.addMonths=n.addMonths,exports.alphaSliderClassNames=t.alphaSliderClassNames,exports.announce=o.announce,exports.avatarClassNames=t.avatarClassNames,exports.avatarGroupClassNames=t.avatarGroupClassNames,exports.avatarGroupItemClassNames=t.avatarGroupItemClassNames,exports.avatarGroupPopoverClassNames=t.avatarGroupPopoverClassNames,exports.badgeClassNames=t.badgeClassNames,exports.breadcrumbClassNames=t.breadcrumbClassNames,exports.breadcrumbItemClassNames=t.breadcrumbItemClassNames,exports.buttonClassNames=t.buttonClassNames,exports.calendarClassNames=t.calendarClassNames,exports.cardBodyClassNames=t.cardBodyClassNames,exports.cardClassNames=t.cardClassNames,exports.cardFooterClassNames=t.cardFooterClassNames,exports.cardHeaderClassNames=t.cardHeaderClassNames,exports.cardPreviewClassNames=t.cardPreviewClassNames,exports.carouselButtonClassNames=t.carouselButtonClassNames,exports.carouselClassNames=t.carouselClassNames,exports.carouselItemClassNames=t.carouselItemClassNames,exports.checkboxClassNames=t.checkboxClassNames,exports.cn=ee.cn,exports.collectOptionLabels=s.collectOptionLabels,exports.colorAreaClassNames=t.colorAreaClassNames,exports.colorPickerClassNames=t.colorPickerClassNames,exports.colorPickerHexFieldClassNames=t.colorPickerHexFieldClassNames,exports.colorPickerPreviewClassNames=t.colorPickerPreviewClassNames,exports.colorPickerSwatchesClassNames=t.colorPickerSwatchesClassNames,exports.colorSliderClassNames=t.colorSliderClassNames,exports.colorSwatchClassNames=t.colorSwatchClassNames,exports.comboboxClassNames=t.comboboxClassNames,exports.composeEventHandlers=te.composeEventHandlers,exports.compoundButtonClassNames=t.compoundButtonClassNames,exports.counterBadgeClassNames=t.counterBadgeClassNames,exports.createTableColumn=ie.createTableColumn,exports.createToaster=ae.createToaster,exports.dataGridBodyClassNames=t.dataGridBodyClassNames,exports.dataGridCellClassNames=t.dataGridCellClassNames,exports.dataGridClassNames=t.dataGridClassNames,exports.dataGridHeaderCellClassNames=t.dataGridHeaderCellClassNames,exports.dataGridHeaderClassNames=t.dataGridHeaderClassNames,exports.dataGridRowClassNames=t.dataGridRowClassNames,exports.dataGridSelectionCellClassNames=t.dataGridSelectionCellClassNames,exports.datePickerClassNames=t.datePickerClassNames,exports.dialogContentClassNames=t.dialogContentClassNames,exports.dialogFooterClassNames=t.dialogFooterClassNames,exports.dialogTitleClassNames=t.dialogTitleClassNames,exports.dividerClassNames=t.dividerClassNames,exports.drawerBodyClassNames=t.drawerBodyClassNames,exports.drawerClassNames=t.drawerClassNames,exports.drawerFooterClassNames=t.drawerFooterClassNames,exports.drawerHeaderClassNames=t.drawerHeaderClassNames,exports.drawerHeaderNavigationClassNames=t.drawerHeaderNavigationClassNames,exports.drawerHeaderTitleClassNames=t.drawerHeaderTitleClassNames,exports.drawerTitleClassNames=t.drawerTitleClassNames,exports.dropdownClassNames=t.dropdownClassNames,exports.emptySwatchClassNames=t.emptySwatchClassNames,exports.fieldClassNames=t.fieldClassNames,exports.flexClassNames=t.flexClassNames,exports.focusRing=f.focusRing,exports.focusRingInset=f.focusRingInset,exports.getFirstTabbable=a.getFirstTabbable,exports.getInitials=re.getInitials,exports.getLastTabbable=a.getLastTabbable,exports.getTabbableElements=a.getTabbableElements,exports.getThemeClassName=he.getThemeClassName,exports.getWeekNumber=n.getWeekNumber,exports.gridClassNames=t.gridClassNames,exports.hamburgerClassNames=t.hamburgerClassNames,exports.hasOpenModal=l.hasOpenModal,exports.hexToHsv=r.hexToHsv,exports.hsvToHex=r.hsvToHex,exports.imageClassNames=t.imageClassNames,exports.imageSwatchClassNames=t.imageSwatchClassNames,exports.infoButtonClassNames=t.infoButtonClassNames,exports.infoLabelClassNames=t.infoLabelClassNames,exports.inputClassNames=t.inputClassNames,exports.inputFocus=f.inputFocus,exports.inputFocusWithin=f.inputFocusWithin,exports.interactionTagClassNames=t.interactionTagClassNames,exports.interactionTagPrimaryClassNames=t.interactionTagPrimaryClassNames,exports.interactionTagSecondaryClassNames=t.interactionTagSecondaryClassNames,exports.isSameDay=n.isSameDay,exports.isTruncatableBreadcrumbContent=i.isTruncatableBreadcrumbContent,exports.labelClassNames=t.labelClassNames,exports.linkClassNames=t.linkClassNames,exports.listClassNames=t.listClassNames,exports.listItemClassNames=t.listItemClassNames,exports.listboxClassNames=t.listboxClassNames,exports.listboxSurfaceClassNames=t.listboxSurfaceClassNames,exports.markListboxElement=s.markListboxElement,exports.menuButtonClassNames=t.menuButtonClassNames,exports.menuClassNames=t.menuClassNames,exports.menuDividerClassNames=t.menuDividerClassNames,exports.menuGroupClassNames=t.menuGroupClassNames,exports.menuGroupHeaderClassNames=t.menuGroupHeaderClassNames,exports.menuItemCheckboxClassNames=t.menuItemCheckboxClassNames,exports.menuItemClassNames=t.menuItemClassNames,exports.menuItemLinkClassNames=t.menuItemLinkClassNames,exports.menuItemRadioClassNames=t.menuItemRadioClassNames,exports.menuItemSwitchClassNames=t.menuItemSwitchClassNames,exports.menuPopoverClassNames=t.menuPopoverClassNames,exports.menuSplitGroupClassNames=t.menuSplitGroupClassNames,exports.mergeRefs=ne.mergeRefs,exports.messageBarActionsClassNames=t.messageBarActionsClassNames,exports.messageBarClassNames=t.messageBarClassNames,exports.messageBarGroupClassNames=t.messageBarGroupClassNames,exports.messageBarTitleClassNames=t.messageBarTitleClassNames,exports.modalAllowProps=l.modalAllowProps,exports.navAppItemClassNames=t.navAppItemClassNames,exports.navAppItemStaticClassNames=t.navAppItemStaticClassNames,exports.navCategoryClassNames=t.navCategoryClassNames,exports.navClassNames=t.navClassNames,exports.navDividerClassNames=t.navDividerClassNames,exports.navDrawerBodyClassNames=t.navDrawerBodyClassNames,exports.navDrawerClassNames=t.navDrawerClassNames,exports.navDrawerFooterClassNames=t.navDrawerFooterClassNames,exports.navDrawerHeaderClassNames=t.navDrawerHeaderClassNames,exports.navItemClassNames=t.navItemClassNames,exports.navSectionHeaderClassNames=t.navSectionHeaderClassNames,exports.navSubItemClassNames=t.navSubItemClassNames,exports.optionClassNames=t.optionClassNames,exports.optionGroupClassNames=t.optionGroupClassNames,exports.overflowClassNames=t.overflowClassNames,exports.overflowDividerClassNames=t.overflowDividerClassNames,exports.overflowItemClassNames=t.overflowItemClassNames,exports.paginationClassNames=t.paginationClassNames,exports.partitionAvatarGroupItems=Ze.partitionAvatarGroupItems,exports.partitionBreadcrumbItems=i.partitionBreadcrumbItems,exports.personaClassNames=t.personaClassNames,exports.popoverContentClassNames=t.popoverContentClassNames,exports.portalClassNames=t.portalClassNames,exports.presenceBadgeClassNames=t.presenceBadgeClassNames,exports.progressBarClassNames=t.progressBarClassNames,exports.radioGroupClassNames=t.radioGroupClassNames,exports.radioGroupItemClassNames=t.radioGroupItemClassNames,exports.ratingClassNames=t.ratingClassNames,exports.ratingDisplayClassNames=t.ratingDisplayClassNames,exports.ratingItemClassNames=t.ratingItemClassNames,exports.renderSlot=e.renderSlot,exports.resolveSlot=e.resolveSlot,exports.searchBoxClassNames=t.searchBoxClassNames,exports.selectClassNames=t.selectClassNames,exports.skeletonClassNames=t.skeletonClassNames,exports.skeletonGroupClassNames=t.skeletonGroupClassNames,exports.sliderClassNames=t.sliderClassNames,exports.spinButtonClassNames=t.spinButtonClassNames,exports.spinnerClassNames=t.spinnerClassNames,exports.splitButtonClassNames=t.splitButtonClassNames,exports.stackClassNames=t.stackClassNames,exports.startOfWeek=n.startOfWeek,exports.stepperClassNames=t.stepperClassNames,exports.stepperStepClassNames=t.stepperStepClassNames,exports.swatchPickerClassNames=t.swatchPickerClassNames,exports.swatchPickerRowClassNames=t.swatchPickerRowClassNames,exports.switchClassNames=t.switchClassNames,exports.tabListClassNames=t.tabListClassNames,exports.tabListPanelClassNames=t.tabListPanelClassNames,exports.tabListPanelsClassNames=t.tabListPanelsClassNames,exports.tabListTabClassNames=t.tabListTabClassNames,exports.tableBodyClassNames=t.tableBodyClassNames,exports.tableCellActionsClassNames=t.tableCellActionsClassNames,exports.tableCellClassNames=t.tableCellClassNames,exports.tableCellLayoutClassNames=t.tableCellLayoutClassNames,exports.tableClassNames=t.tableClassNames,exports.tableHeaderCellClassNames=t.tableHeaderCellClassNames,exports.tableHeaderClassNames=t.tableHeaderClassNames,exports.tableRowClassNames=t.tableRowClassNames,exports.tableSelectionCellClassNames=t.tableSelectionCellClassNames,exports.tagClassNames=t.tagClassNames,exports.tagGroupClassNames=t.tagGroupClassNames,exports.tagPickerButtonClassNames=t.tagPickerButtonClassNames,exports.tagPickerClassNames=t.tagPickerClassNames,exports.tagPickerControlClassNames=t.tagPickerControlClassNames,exports.tagPickerGroupClassNames=t.tagPickerGroupClassNames,exports.tagPickerInputClassNames=t.tagPickerInputClassNames,exports.tagPickerListClassNames=t.tagPickerListClassNames,exports.tagPickerOptionClassNames=t.tagPickerOptionClassNames,exports.teachingPopoverBodyClassNames=t.teachingPopoverBodyClassNames,exports.teachingPopoverCarouselClassNames=t.teachingPopoverCarouselClassNames,exports.teachingPopoverCarouselFooterClassNames=t.teachingPopoverCarouselFooterClassNames,exports.teachingPopoverCarouselNavClassNames=t.teachingPopoverCarouselNavClassNames,exports.teachingPopoverCarouselPageCountClassNames=t.teachingPopoverCarouselPageCountClassNames,exports.teachingPopoverClassNames=t.teachingPopoverClassNames,exports.teachingPopoverFooterClassNames=t.teachingPopoverFooterClassNames,exports.teachingPopoverHeaderClassNames=t.teachingPopoverHeaderClassNames,exports.teachingPopoverSurfaceClassNames=t.teachingPopoverSurfaceClassNames,exports.teachingPopoverTitleClassNames=t.teachingPopoverTitleClassNames,exports.textClassNames=t.textClassNames,exports.textareaClassNames=t.textareaClassNames,exports.timePickerClassNames=t.timePickerClassNames,exports.toastBodyClassNames=t.toastBodyClassNames,exports.toastClassNames=t.toastClassNames,exports.toastFooterClassNames=t.toastFooterClassNames,exports.toastTitleClassNames=t.toastTitleClassNames,exports.toasterClassNames=t.toasterClassNames,exports.toggleButtonClassNames=t.toggleButtonClassNames,exports.toolbarButtonClassNames=t.toolbarButtonClassNames,exports.toolbarClassNames=t.toolbarClassNames,exports.toolbarDividerClassNames=t.toolbarDividerClassNames,exports.toolbarGroupClassNames=t.toolbarGroupClassNames,exports.toolbarRadioButtonClassNames=t.toolbarRadioButtonClassNames,exports.toolbarRadioGroupClassNames=t.toolbarRadioGroupClassNames,exports.toolbarToggleButtonClassNames=t.toolbarToggleButtonClassNames,exports.tooltipClassNames=t.tooltipClassNames,exports.treeClassNames=t.treeClassNames,exports.treeItemClassNames=t.treeItemClassNames,exports.treeItemPersonaLayoutClassNames=t.treeItemPersonaLayoutClassNames,exports.truncateBreadcrumbLongName=i.truncateBreadcrumbLongName,exports.truncateBreadcrumbLongTooltip=i.truncateBreadcrumbLongTooltip,exports.useActiveDescendant=me.useActiveDescendant,exports.useAnnounce=o.useAnnounce,exports.useControllable=se.useControllable,exports.useDismiss=u.useDismiss,exports.useEventCallback=oe.useEventCallback,exports.useFieldControl=fe.useFieldControl,exports.useFocusTrap=d.useFocusTrap,exports.useFocusVisible=be.useFocusVisible,exports.useFocusableGroup=xe.useFocusableGroup,exports.useGridNavigation=Se.useGridNavigation,exports.useHasHiddenItems=F.useHasHiddenItems,exports.useId=ce.useId,exports.useInitialFocus=d.useInitialFocus,exports.useIsClient=de.useIsClient,exports.useIsOverflowGroupVisible=F.useIsOverflowGroupVisible,exports.useIsOverflowItemVisible=F.useIsOverflowItemVisible,exports.useIsOverflowing=F.useIsOverflowing,exports.useListbox=s.useListbox,exports.useListboxOption=s.useListboxOption,exports.useListboxPopup=v.useListboxPopup,exports.useMergedRefs=ue.useMergedRefs,exports.useModalLayer=ve.useModalLayer,exports.useModalOpen=ye.useModalOpen,exports.useOverflowMenu=F.useOverflowMenu,exports.usePopupPosition=ge.usePopupPosition,exports.usePresence=pe.usePresence,exports.useRestoreFocus=_e.useRestoreFocus,exports.useRovingTabIndex=le.useRovingTabIndex,exports.useToastController=q.useToastController,exports.useWaveTheme=c.useWaveTheme,exports.waveProviderClassNames=t.waveProviderClassNames;