@exsto/ds 0.0.1-rc.6 → 0.0.1-rc.8

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 (26) hide show
  1. package/README.md +33 -0
  2. package/dist/chunks/toggle-C2c5oDaE.js +629 -0
  3. package/dist/chunks/toggle-C2c5oDaE.js.map +1 -0
  4. package/dist/ds/src/rich-text-editor.d.ts +8 -0
  5. package/dist/index.js +3 -470
  6. package/dist/index.js.map +1 -1
  7. package/dist/rich-text-editor.js +904 -0
  8. package/dist/rich-text-editor.js.map +1 -0
  9. package/dist/styles.css +159 -0
  10. package/dist/ui/src/components/edyn/rich-text-content/allow-list.d.ts +11 -0
  11. package/dist/ui/src/components/edyn/rich-text-content/index.d.ts +2 -0
  12. package/dist/ui/src/components/edyn/rich-text-content/rich-text-content.d.ts +22 -0
  13. package/dist/ui/src/components/edyn/rich-text-content/rich-text-content.test.d.ts +8 -0
  14. package/dist/ui/src/components/edyn/rich-text-editor/extensions.d.ts +18 -0
  15. package/dist/ui/src/components/edyn/rich-text-editor/index.d.ts +3 -0
  16. package/dist/ui/src/components/edyn/rich-text-editor/mention-list.d.ts +17 -0
  17. package/dist/ui/src/components/edyn/rich-text-editor/rich-text-editor.d.ts +53 -0
  18. package/dist/ui/src/components/edyn/rich-text-editor/rich-text-editor.test.d.ts +6 -0
  19. package/dist/ui/src/components/edyn/rich-text-editor/serialize.d.ts +13 -0
  20. package/dist/ui/src/components/edyn/rich-text-editor/sync.d.ts +19 -0
  21. package/dist/ui/src/components/edyn/rich-text-editor/sync.test.d.ts +11 -0
  22. package/dist/ui/src/components/edyn/rich-text-editor/toolbar.d.ts +20 -0
  23. package/dist/ui/src/components/edyn/rich-text-editor/types.d.ts +68 -0
  24. package/dist/ui/src/components/ui/popover/popover.d.ts +1 -1
  25. package/dist/ui/src/index.d.ts +1 -0
  26. package/package.json +21 -1
package/dist/index.js CHANGED
@@ -1,17 +1,13 @@
1
+ import { A as ScrollBar, B as cn, C as RICH_TEXT_ATTRIBUTES, D as POPUP_ITEM_INDICATOR_CLASS, E as isAllowedRichTextHref, F as PopoverHeader, I as PopoverTitle, L as PopoverTrigger, M as Popover, N as PopoverContent, O as popupItemClass, P as PopoverDescription, R as Button, S as richTextToNodes, T as RICH_TEXT_LINK_PROTOCOLS, V as cssLength, _ as DropdownMenuTrigger, a as DropdownMenuContent, b as RICH_TEXT_MENTION_CLASS, c as DropdownMenuLabel, d as DropdownMenuRadioItem, f as DropdownMenuSeparator, g as DropdownMenuSubTrigger, h as DropdownMenuSubContent, i as DropdownMenuCheckboxItem, j as useMergedRefs, k as ScrollArea, l as DropdownMenuPortal, m as DropdownMenuSub, n as toggleVariants, o as DropdownMenuGroup, p as DropdownMenuShortcut, r as DropdownMenu, s as DropdownMenuItem, t as Toggle, u as DropdownMenuRadioGroup, v as Input, w as RICH_TEXT_ELEMENTS, x as RichTextContent, y as RICH_TEXT_BODY_CLASS, z as buttonVariants } from "./chunks/toggle-C2c5oDaE.js";
1
2
  import * as React from "react";
2
- import { createContext, isValidElement, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
3
+ import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
3
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
- import { Button as Button$1 } from "@base-ui/react/button";
5
- import { clsx } from "clsx";
6
- import { twMerge } from "tailwind-merge";
7
5
  import { cva } from "class-variance-authority";
8
6
  import { Slider as Slider$1 } from "@base-ui/react/slider";
9
7
  import { IconAlertOctagon, IconAlertTriangle, IconArrowDown, IconCalendar, IconCheck, IconChevronDown, IconChevronLeft, IconChevronRight, IconCircleCheck, IconDots, IconInfoCircle, IconLayoutSidebar, IconLoader, IconMaximize, IconMinus, IconPlayerPauseFilled, IconPlayerPlayFilled, IconSearch, IconSelector, IconVolume, IconVolumeOff, IconX } from "@tabler/icons-react";
10
8
  import { DayPicker, getDefaultClassNames } from "react-day-picker";
11
- import { Popover as Popover$1 } from "@base-ui/react/popover";
12
9
  import { Avatar as Avatar$1 } from "@base-ui/react/avatar";
13
10
  import { Combobox as Combobox$1 } from "@base-ui/react/combobox";
14
- import { ScrollArea as ScrollArea$1 } from "@base-ui/react/scroll-area";
15
11
  import { Tooltip as Tooltip$1 } from "@base-ui/react/tooltip";
16
12
  import { useVirtualizer } from "@tanstack/react-virtual";
17
13
  import { Accordion as Accordion$1 } from "@base-ui/react/accordion";
@@ -24,7 +20,6 @@ import { Checkbox as Checkbox$1 } from "@base-ui/react/checkbox";
24
20
  import { Collapsible as Collapsible$1 } from "@base-ui/react/collapsible";
25
21
  import { Command as Command$1 } from "cmdk";
26
22
  import { Dialog as Dialog$1 } from "@base-ui/react/dialog";
27
- import { Input as Input$1 } from "@base-ui/react/input";
28
23
  import { ContextMenu as ContextMenu$1 } from "@base-ui/react/context-menu";
29
24
  import { DirectionProvider, useDirection } from "@base-ui/react/direction-provider";
30
25
  import { Menu } from "@base-ui/react/menu";
@@ -147,87 +142,6 @@ var NumberText = ({ element, shown, value, format = formatCount, className }) =>
147
142
  });
148
143
  };
149
144
  //#endregion
150
- //#region ../ui/src/lib/utils.ts
151
- var cn = (...inputs) => twMerge(clsx(inputs));
152
- /**
153
- * Normalise a size prop to a CSS length.
154
- *
155
- * Bare numbers become px, which is also what a bare numeric *string* means: an
156
- * element attribute arrives as a string, so `width="480"` and `width={480}` have
157
- * to land on the same value. Anything with a unit, a percentage or a keyword
158
- * passes through untouched.
159
- */
160
- var cssLength = (value) => {
161
- if (value == null || value === "") return;
162
- if (typeof value === "number") return Number.isFinite(value) ? `${value}px` : void 0;
163
- return /^-?\d*\.?\d+$/.test(value.trim()) ? `${value.trim()}px` : value;
164
- };
165
- //#endregion
166
- //#region ../ui/src/components/ui/button/button.tsx
167
- var buttonVariants = cva("group/button inline-flex shrink-0 cursor-pointer items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all motion-reduce:transition-none motion-reduce:transform-none outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
168
- variants: {
169
- variant: {
170
- default: "bg-primary text-primary-foreground hover:bg-primary/80",
171
- outline: "border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
172
- secondary: "bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
173
- ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
174
- destructive: "bg-destructive/10 text-destructive hover:bg-destructive/15 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/15 dark:hover:bg-destructive/20 dark:focus-visible:ring-destructive/40",
175
- link: "text-primary underline-offset-4 hover:underline"
176
- },
177
- size: {
178
- default: "h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
179
- xs: "h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",
180
- sm: "h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",
181
- lg: "h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
182
- icon: "size-8",
183
- "icon-xs": "size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3",
184
- "icon-sm": "size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg",
185
- "icon-lg": "size-9"
186
- }
187
- },
188
- defaultVariants: {
189
- variant: "default",
190
- size: "default"
191
- }
192
- });
193
- /**
194
- * Whether this Button is rendering a link rather than a button, so it can keep
195
- * link semantics. Covers `render={<a href="..." />}` and a routing component
196
- * that takes an `href` (Next's Link). A component with a different prop for its
197
- * destination (react-router's `to`) cannot be recognised from here: give those
198
- * `nativeButton={false} role={undefined}` directly.
199
- */
200
- var rendersALink = (render) => isValidElement(render) && (render.type === "a" || typeof render.props.href === "string");
201
- /**
202
- * A link that looks like a button is still a link, and has to be announced as
203
- * one: it opens in a new tab, it has an address, Enter follows it and Space
204
- * scrolls the page.
205
- *
206
- * Base UI needs telling, in two steps. Rendering an anchor while `nativeButton`
207
- * is true (its default) warns in development and puts `type="button"` on the
208
- * anchor; following the warning and passing `nativeButton={false}` then adds
209
- * `role="button"`, which is what takes the link semantics away. So this does
210
- * both: non-native, with the role and the tabindex Base UI would add cleared
211
- * again. An explicit prop from the caller still wins over either.
212
- */
213
- var LINK_PROPS = {
214
- nativeButton: false,
215
- role: void 0,
216
- tabIndex: void 0
217
- };
218
- var Button = ({ className, variant = "default", size = "default", ...props }) => {
219
- return /* @__PURE__ */ jsx(Button$1, {
220
- "data-slot": "button",
221
- ...rendersALink(props.render) ? LINK_PROPS : {},
222
- className: cn(buttonVariants({
223
- variant,
224
- size,
225
- className
226
- })),
227
- ...props
228
- });
229
- };
230
- //#endregion
231
145
  //#region ../ui/src/components/ui/slider/slider.tsx
232
146
  var Slider = ({ className, value, defaultValue, min, max, step, disabled, onValueChange, onValueCommitted, name, minStepsBetweenValues, "aria-label": ariaLabel, ...props }) => {
233
147
  const thumbValues = Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [value ?? defaultValue ?? min ?? 0];
@@ -581,55 +495,6 @@ var CalendarDayButton = ({ className, day, modifiers, locale, ...props }) => {
581
495
  });
582
496
  };
583
497
  //#endregion
584
- //#region ../ui/src/components/ui/popover/popover.tsx
585
- var Popover = ({ ...props }) => {
586
- return /* @__PURE__ */ jsx(Popover$1.Root, {
587
- "data-slot": "popover",
588
- ...props
589
- });
590
- };
591
- var PopoverTrigger = ({ ...props }) => {
592
- return /* @__PURE__ */ jsx(Popover$1.Trigger, {
593
- "data-slot": "popover-trigger",
594
- ...props
595
- });
596
- };
597
- var PopoverContent = ({ className, align = "center", alignOffset = 0, side = "bottom", sideOffset = 4, ...props }) => {
598
- return /* @__PURE__ */ jsx(Popover$1.Portal, { children: /* @__PURE__ */ jsx(Popover$1.Positioner, {
599
- align,
600
- alignOffset,
601
- side,
602
- sideOffset,
603
- className: "isolate z-50",
604
- children: /* @__PURE__ */ jsx(Popover$1.Popup, {
605
- "data-slot": "popover-content",
606
- className: cn("z-50 flex w-72 origin-(--transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 motion-reduce:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
607
- ...props
608
- })
609
- }) });
610
- };
611
- var PopoverHeader = ({ className, ...props }) => {
612
- return /* @__PURE__ */ jsx("div", {
613
- "data-slot": "popover-header",
614
- className: cn("flex flex-col gap-0.5 text-sm", className),
615
- ...props
616
- });
617
- };
618
- var PopoverTitle = ({ className, ...props }) => {
619
- return /* @__PURE__ */ jsx(Popover$1.Title, {
620
- "data-slot": "popover-title",
621
- className: cn("font-medium", className),
622
- ...props
623
- });
624
- };
625
- var PopoverDescription = ({ className, ...props }) => {
626
- return /* @__PURE__ */ jsx(Popover$1.Description, {
627
- "data-slot": "popover-description",
628
- className: cn("text-muted-foreground", className),
629
- ...props
630
- });
631
- };
632
- //#endregion
633
498
  //#region ../ui/src/hooks/use-mobile.ts
634
499
  var MOBILE_BREAKPOINT = 768;
635
500
  var useIsMobile = () => {
@@ -815,131 +680,6 @@ var InitialsAvatar = ({ name, photoUrl, size = "md", className, autoColor = true
815
680
  });
816
681
  };
817
682
  //#endregion
818
- //#region ../ui/src/hooks/use-merged-refs.ts
819
- var assignRef = (ref, value) => {
820
- if (typeof ref === "function") ref(value);
821
- else if (ref !== null) ref.current = value;
822
- };
823
- var mergeRefs = (...refs) => {
824
- return (node) => {
825
- for (const ref of refs) if (ref) assignRef(ref, node);
826
- };
827
- };
828
- var useMergedRefs = (...refs) => {
829
- return useCallback(mergeRefs(...refs), [...refs]);
830
- };
831
- //#endregion
832
- //#region ../ui/src/components/ui/scroll-area/scroll-area.tsx
833
- var ScrollBar = ({ className, orientation = "vertical", visibility = "hover", ...props }) => {
834
- return /* @__PURE__ */ jsx(ScrollArea$1.Scrollbar, {
835
- "data-slot": "scroll-area-scrollbar",
836
- orientation,
837
- className: cn("peer/scrollbar z-100 flex touch-none select-none motion-safe:transition-opacity motion-safe:duration-150", orientation === "vertical" && "h-(--scroll-bar-length) w-(--scroll-bar-size) me-(--scroll-bar-gap) mt-(--scroll-bar-offset-top) border-l border-l-transparent p-px", orientation === "horizontal" && "h-(--scroll-bar-size) ms-(--scroll-bar-gap) me-(--scroll-bar-gap) mb-(--scroll-bar-gap) flex-col border-t border-t-transparent p-px", visibility !== "always" && "opacity-0 data-scrolling:opacity-100", visibility === "hover" && "data-hovering:opacity-100 group-hover/scroll-area:opacity-100", className),
838
- ...props,
839
- children: /* @__PURE__ */ jsx(ScrollArea$1.Thumb, { className: "relative flex-1 rounded-full bg-muted-foreground/50 transition-colors hover:bg-muted-foreground/70 data-scrolling:bg-muted-foreground/70" })
840
- });
841
- };
842
- /**
843
- * Which axes fade, published for scroll-fade.css to key its mask off. The
844
- * stylesheet reaches this element's own viewport through a child combinator, so a
845
- * ScrollArea nested in another one cannot pick up its ancestor's edges.
846
- */
847
- /**
848
- * Base UI gives the root, the viewport and the content `role="presentation"`. On
849
- * a div that changes nothing for a screen reader, but it is an EXPLICIT role, and
850
- * axe treats explicit presentation children as foreign to a parent that owns
851
- * required children. A ScrollArea inside `role="menu"` or `role="listbox"` then
852
- * fails as a critical aria-required-children violation, while the same div with
853
- * no role passes straight through. Clearing it is what makes a ScrollArea legal
854
- * in a popup list. A spread because the literal `role={undefined}` is flagged by
855
- * the a11y lint rule, which cannot tell it from an invalid role.
856
- */
857
- var NO_ROLE = { role: void 0 };
858
- /** Base UI makes the viewport a tab stop (0, or -1 with nothing to scroll); undefined takes that away. */
859
- var NO_TAB_STOP = { tabIndex: void 0 };
860
- var FADE_AXIS = {
861
- vertical: "block",
862
- horizontal: "inline",
863
- both: "both"
864
- };
865
- /**
866
- * Themed scroll container (Base UI): overflowing content scrolls INSIDE the component
867
- * with a slim overlay scrollbar instead of exposing a native browser scrollbar. House
868
- * rule: wide/tall content (tables, lists, code) always goes through this, never a bare
869
- * overflow-* utility.
870
- *
871
- * Cap the height with a plain class on the component itself, e.g.
872
- * `<ScrollArea className="max-h-88">`. The viewport picks the cap up through
873
- * `max-h-inherit`, which matters because the viewport is the element that actually
874
- * scrolls: a cap that lands only on the root leaves tall content spilling out
875
- * underneath with no scrollbar, and that reads as a working height right up until the
876
- * content outgrows it.
877
- *
878
- * `fade` fades out each edge that is currently hiding content, rather than always
879
- * fading one: a permanent fade is a lie half the time, dimming the last row that fits
880
- * and promising more below when the reader is already at the end. It is cut into the
881
- * content by a mask (@edyn/theme/scroll-fade.css), so it needs no surface colour and
882
- * reads correctly over a tint, a gradient or a glow. A host that keeps something
883
- * unscrolled at the top, such as a sticky table header, exempts that band by setting
884
- * --scroll-fade-offset on the ScrollArea. The static faded-* utilities in
885
- * @edyn/theme/utilities.css are the other tool, for DECORATIVE edges that do not
886
- * track scroll position.
887
- *
888
- * The viewport publishes its size as --scroll-area-width/--scroll-area-height CSS vars
889
- * so children can size against the visible area.
890
- */
891
- var ScrollArea = ({ className, children, orientation = "vertical", type = "hover", fade = false, fadeFrom = "card", scrollbarClassName, viewportId, viewportRef, viewportClassName, scrollRestorationId, focusable = true, viewPortId, viewPortRef, viewPortClassName, scrollVerticalClassName, scrollHorizontalClassName, ...props }) => {
892
- const refInner = useRef(null);
893
- const refsViewport = useMergedRefs(refInner, viewportRef ?? viewPortRef);
894
- useEffect(() => {
895
- const el = refInner.current;
896
- if (!el) return;
897
- const observer = new ResizeObserver(() => {
898
- el.style.setProperty("--scroll-area-width", `${el.clientWidth}px`);
899
- el.style.setProperty("--scroll-area-height", `${el.clientHeight}px`);
900
- });
901
- observer.observe(el);
902
- return () => {
903
- observer.disconnect();
904
- };
905
- }, []);
906
- return /* @__PURE__ */ jsxs(ScrollArea$1.Root, {
907
- "data-slot": "scroll-area",
908
- "data-focus": "inset",
909
- className: cn("group/scroll-area relative grid min-w-0 grid-rows-1 overflow-hidden", className),
910
- "data-fade": fade ? FADE_AXIS[orientation] : void 0,
911
- ...NO_ROLE,
912
- ...props,
913
- children: [
914
- (orientation === "vertical" || orientation === "both") && /* @__PURE__ */ jsx(ScrollBar, {
915
- orientation: "vertical",
916
- visibility: type,
917
- className: cn(scrollbarClassName, scrollVerticalClassName)
918
- }),
919
- (orientation === "horizontal" || orientation === "both") && /* @__PURE__ */ jsx(ScrollBar, {
920
- orientation: "horizontal",
921
- visibility: type,
922
- className: cn(scrollbarClassName, scrollHorizontalClassName)
923
- }),
924
- /* @__PURE__ */ jsx(ScrollArea$1.Corner, {}),
925
- /* @__PURE__ */ jsx(ScrollArea$1.Viewport, {
926
- "data-slot": "scroll-area-viewport",
927
- id: viewportId ?? viewPortId,
928
- ref: refsViewport,
929
- "data-scroll-restoration-id": scrollRestorationId,
930
- ...NO_ROLE,
931
- ...focusable ? null : NO_TAB_STOP,
932
- className: cn("max-h-inherit w-full rounded-[inherit]", orientation === "vertical" && "overflow-x-hidden!", orientation === "horizontal" && "overflow-y-hidden!", viewportClassName ?? viewPortClassName),
933
- children: /* @__PURE__ */ jsx(ScrollArea$1.Content, {
934
- ...NO_ROLE,
935
- style: orientation === "vertical" ? { minWidth: 0 } : void 0,
936
- children
937
- })
938
- })
939
- ]
940
- });
941
- };
942
- //#endregion
943
683
  //#region ../ui/src/components/ui/tooltip/tooltip.tsx
944
684
  var TooltipProvider = ({ delay = 0, ...props }) => {
945
685
  return /* @__PURE__ */ jsx(Tooltip$1.Provider, {
@@ -976,22 +716,6 @@ var TooltipContent = ({ className, side = "top", sideOffset = 4, align = "center
976
716
  }) });
977
717
  };
978
718
  //#endregion
979
- //#region ../ui/src/lib/popup-list.ts
980
- var ITEM_BASE = "relative flex min-h-8 cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm text-foreground outline-none select-none [&>svg]:pointer-events-none [&>svg]:shrink-0 [&>svg]:text-muted-foreground [&>svg:not([class*='size-'])]:size-4";
981
- var ITEM_STATES = {
982
- "base-ui": "data-highlighted:bg-foreground/6 data-highlighted:[&>svg]:text-foreground data-[selected]:font-medium data-disabled:pointer-events-none data-disabled:opacity-50",
983
- cmdk: "data-[selected=true]:bg-foreground/6 data-[selected=true]:[&>svg]:text-foreground data-[checked=true]:font-medium data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50"
984
- };
985
- /** The shared item look. `checkable` leaves room at the end for the check. */
986
- var popupItemClass = (flavor = "base-ui", checkable = false) => cn(ITEM_BASE, ITEM_STATES[flavor], checkable && "pr-8");
987
- /**
988
- * The check's slot, at the end of the item and the same size whether or not the
989
- * check is in it, so a list does not shift as the choice moves.
990
- */
991
- var POPUP_ITEM_INDICATOR_CLASS = "pointer-events-none absolute right-2 flex size-4 items-center justify-center text-foreground";
992
- /** A group's heading in any of these lists. */
993
- var POPUP_GROUP_LABEL_CLASS = "px-2 py-1.5 text-xs font-medium text-muted-foreground";
994
- //#endregion
995
719
  //#region ../ui/src/components/edyn/multi-select/multi-select.tsx
996
720
  var DEFAULT_MULTI_SELECT_LABELS = {
997
721
  noMatches: "No matches.",
@@ -2553,16 +2277,6 @@ var DialogDescription = ({ className, ...props }) => {
2553
2277
  });
2554
2278
  };
2555
2279
  //#endregion
2556
- //#region ../ui/src/components/ui/input/input.tsx
2557
- var Input = ({ className, type, ...props }) => {
2558
- return /* @__PURE__ */ jsx(Input$1, {
2559
- type,
2560
- "data-slot": "input",
2561
- className: cn("h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", className),
2562
- ...props
2563
- });
2564
- };
2565
- //#endregion
2566
2280
  //#region ../ui/src/components/ui/textarea/textarea.tsx
2567
2281
  var Textarea = ({ className, ...props }) => {
2568
2282
  return /* @__PURE__ */ jsx("textarea", {
@@ -2950,157 +2664,6 @@ var DrawerDescription = ({ className, ...props }) => {
2950
2664
  });
2951
2665
  };
2952
2666
  //#endregion
2953
- //#region ../ui/src/components/ui/dropdown-menu/dropdown-menu.tsx
2954
- var DropdownMenu = ({ ...props }) => {
2955
- return /* @__PURE__ */ jsx(Menu.Root, {
2956
- "data-slot": "dropdown-menu",
2957
- ...props
2958
- });
2959
- };
2960
- var DropdownMenuPortal = ({ ...props }) => {
2961
- return /* @__PURE__ */ jsx(Menu.Portal, {
2962
- "data-slot": "dropdown-menu-portal",
2963
- ...props
2964
- });
2965
- };
2966
- var DropdownMenuTrigger = ({ ...props }) => {
2967
- return /* @__PURE__ */ jsx(Menu.Trigger, {
2968
- "data-slot": "dropdown-menu-trigger",
2969
- ...props
2970
- });
2971
- };
2972
- /**
2973
- * Scrolls inside a DS ScrollArea like the other popup lists, with the bar shown
2974
- * for as long as the menu overflows and a fade on whichever end is cut off.
2975
- *
2976
- * Base UI puts `role="menu"` on this popup itself and offers no inner list part
2977
- * to move it onto, so the ScrollArea sits INSIDE the role. That is only legal
2978
- * because ScrollArea drops the `role="presentation"` Base UI gives its root,
2979
- * viewport and content: a menu may not own presentation wrappers (axe reports
2980
- * a critical aria-required-children violation), but it may own plain divs.
2981
- * e2e/a11y.spec.ts scans the open menu in both themes to keep it that way.
2982
- */
2983
- var DropdownMenuContent = ({ align = "start", alignOffset = 0, side = "bottom", sideOffset = 4, className, children, ...props }) => {
2984
- return /* @__PURE__ */ jsx(Menu.Portal, { children: /* @__PURE__ */ jsx(Menu.Positioner, {
2985
- className: "isolate z-50 outline-none",
2986
- align,
2987
- alignOffset,
2988
- side,
2989
- sideOffset,
2990
- children: /* @__PURE__ */ jsx(Menu.Popup, {
2991
- "data-slot": "dropdown-menu-content",
2992
- className: cn("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-hidden rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95", "motion-reduce:animate-none", className),
2993
- ...props,
2994
- children: /* @__PURE__ */ jsx(ScrollArea, {
2995
- type: "always",
2996
- fade: true,
2997
- focusable: false,
2998
- className: "max-h-inherit",
2999
- children: /* @__PURE__ */ jsx("div", {
3000
- className: "p-1",
3001
- children
3002
- })
3003
- })
3004
- })
3005
- }) });
3006
- };
3007
- var DropdownMenuGroup = ({ ...props }) => {
3008
- return /* @__PURE__ */ jsx(Menu.Group, {
3009
- "data-slot": "dropdown-menu-group",
3010
- ...props
3011
- });
3012
- };
3013
- var DropdownMenuLabel = ({ className, inset, ...props }) => {
3014
- return /* @__PURE__ */ jsx(Menu.GroupLabel, {
3015
- "data-slot": "dropdown-menu-label",
3016
- "data-inset": inset,
3017
- className: cn(POPUP_GROUP_LABEL_CLASS, "data-[inset=true]:pl-7", className),
3018
- ...props
3019
- });
3020
- };
3021
- var DropdownMenuItem = ({ className, inset, variant = "default", ...props }) => {
3022
- return /* @__PURE__ */ jsx(Menu.Item, {
3023
- "data-slot": "dropdown-menu-item",
3024
- "data-inset": inset,
3025
- "data-variant": variant,
3026
- className: cn("group/dropdown-menu-item", popupItemClass(), "data-[inset=true]:pl-7", "data-[variant=destructive]:text-destructive data-[variant=destructive]:[&>svg]:text-destructive", "data-[variant=destructive]:data-highlighted:bg-destructive/10 data-[variant=destructive]:data-highlighted:text-destructive", className),
3027
- ...props
3028
- });
3029
- };
3030
- var DropdownMenuSub = ({ ...props }) => {
3031
- return /* @__PURE__ */ jsx(Menu.SubmenuRoot, {
3032
- "data-slot": "dropdown-menu-sub",
3033
- ...props
3034
- });
3035
- };
3036
- var DropdownMenuSubTrigger = ({ className, inset, children, ...props }) => {
3037
- return /* @__PURE__ */ jsxs(Menu.SubmenuTrigger, {
3038
- "data-slot": "dropdown-menu-sub-trigger",
3039
- "data-inset": inset,
3040
- className: cn(popupItemClass(), "data-[inset=true]:pl-7 data-popup-open:bg-foreground/6 data-popup-open:[&>svg]:text-foreground", className),
3041
- ...props,
3042
- children: [children, /* @__PURE__ */ jsx(IconChevronRight, { className: "ml-auto" })]
3043
- });
3044
- };
3045
- var DropdownMenuSubContent = ({ align = "start", alignOffset = -3, side = "right", sideOffset = 0, className, ...props }) => {
3046
- return /* @__PURE__ */ jsx(DropdownMenuContent, {
3047
- "data-slot": "dropdown-menu-sub-content",
3048
- className: cn("w-auto min-w-[96px] rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", "motion-reduce:animate-none", className),
3049
- align,
3050
- alignOffset,
3051
- side,
3052
- sideOffset,
3053
- ...props
3054
- });
3055
- };
3056
- var DropdownMenuCheckboxItem = ({ className, children, checked, inset, ...props }) => {
3057
- return /* @__PURE__ */ jsxs(Menu.CheckboxItem, {
3058
- "data-slot": "dropdown-menu-checkbox-item",
3059
- "data-inset": inset,
3060
- className: cn(popupItemClass("base-ui", true), "data-checked:font-medium data-[inset=true]:pl-7", className),
3061
- checked,
3062
- ...props,
3063
- children: [/* @__PURE__ */ jsx("span", {
3064
- className: POPUP_ITEM_INDICATOR_CLASS,
3065
- "data-slot": "dropdown-menu-checkbox-item-indicator",
3066
- children: /* @__PURE__ */ jsx(Menu.CheckboxItemIndicator, { children: /* @__PURE__ */ jsx(IconCheck, {}) })
3067
- }), children]
3068
- });
3069
- };
3070
- var DropdownMenuRadioGroup = ({ ...props }) => {
3071
- return /* @__PURE__ */ jsx(Menu.RadioGroup, {
3072
- "data-slot": "dropdown-menu-radio-group",
3073
- ...props
3074
- });
3075
- };
3076
- var DropdownMenuRadioItem = ({ className, children, inset, ...props }) => {
3077
- return /* @__PURE__ */ jsxs(Menu.RadioItem, {
3078
- "data-slot": "dropdown-menu-radio-item",
3079
- "data-inset": inset,
3080
- className: cn(popupItemClass("base-ui", true), "data-checked:font-medium data-[inset=true]:pl-7", className),
3081
- ...props,
3082
- children: [/* @__PURE__ */ jsx("span", {
3083
- className: POPUP_ITEM_INDICATOR_CLASS,
3084
- "data-slot": "dropdown-menu-radio-item-indicator",
3085
- children: /* @__PURE__ */ jsx(Menu.RadioItemIndicator, { children: /* @__PURE__ */ jsx(IconCheck, {}) })
3086
- }), children]
3087
- });
3088
- };
3089
- var DropdownMenuSeparator = ({ className, ...props }) => {
3090
- return /* @__PURE__ */ jsx(Menu.Separator, {
3091
- "data-slot": "dropdown-menu-separator",
3092
- className: cn("-mx-1 my-1 h-px bg-border", className),
3093
- ...props
3094
- });
3095
- };
3096
- var DropdownMenuShortcut = ({ className, ...props }) => {
3097
- return /* @__PURE__ */ jsx("span", {
3098
- "data-slot": "dropdown-menu-shortcut",
3099
- className: cn("ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground", className),
3100
- ...props
3101
- });
3102
- };
3103
- //#endregion
3104
2667
  //#region ../ui/src/components/ui/empty/empty.tsx
3105
2668
  var Empty = ({ className, ...props }) => {
3106
2669
  return /* @__PURE__ */ jsx("div", {
@@ -5025,36 +4588,6 @@ var Toaster = ({ children, toastManager = toast, ...props }) => {
5025
4588
  var createToastManager = Toast$1.createToastManager;
5026
4589
  var useToastManager = Toast$1.useToastManager;
5027
4590
  //#endregion
5028
- //#region ../ui/src/components/ui/toggle/toggle.tsx
5029
- var toggleVariants = cva("inline-flex shrink-0 cursor-pointer items-center justify-center gap-1.5 rounded-lg border border-transparent text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 data-pressed:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\"size-\"])]:size-4", {
5030
- variants: {
5031
- variant: {
5032
- default: "bg-transparent hover:bg-muted hover:text-foreground data-pressed:bg-muted",
5033
- outline: "border-border bg-background hover:bg-muted hover:text-foreground data-pressed:bg-muted dark:border-input dark:bg-input/30 dark:hover:bg-input/50"
5034
- },
5035
- size: {
5036
- sm: "h-7 px-2.5 text-[0.8rem]",
5037
- default: "h-8 px-2.5",
5038
- lg: "h-9 px-3"
5039
- }
5040
- },
5041
- defaultVariants: {
5042
- variant: "default",
5043
- size: "default"
5044
- }
5045
- });
5046
- var Toggle = ({ className, variant = "default", size = "default", ...props }) => {
5047
- return /* @__PURE__ */ jsx(Toggle$1, {
5048
- "data-slot": "toggle",
5049
- className: cn(toggleVariants({
5050
- variant,
5051
- size,
5052
- className
5053
- })),
5054
- ...props
5055
- });
5056
- };
5057
- //#endregion
5058
4591
  //#region ../ui/src/components/ui/toggle-group/toggle-group.tsx
5059
4592
  var ToggleGroupContext = createContext({
5060
4593
  variant: "default",
@@ -5102,6 +4635,6 @@ var ToggleGroupItem = ({ className, variant, size, ...props }) => {
5102
4635
  });
5103
4636
  };
5104
4637
  //#endregion
5105
- export { AVATAR_TONES, Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AnimatedNumber, AspectRatio, Attachment, AttachmentAction, AttachmentActions, AttachmentContent, AttachmentDescription, AttachmentGroup, AttachmentMedia, AttachmentTitle, AttachmentTrigger, AudioPlayer, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxContent, ComboboxEmpty, ComboboxInput, ComboboxItem, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DEFAULT_MULTI_SELECT_LABELS, DateRangePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DirectionProvider, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldDescription, FieldError, FieldLabel, HoverCard, HoverCardContent, HoverCardTrigger, Indicator, InitialsAvatar, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Marker, MarkerContent, MarkerIcon, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, MultiSelect, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, NumberText, PROGRESS_DURATION, PROGRESS_EASE, PROGRESS_LINE_COLOR, Pagination, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, ProgressLine, Questionnaire, QuestionnaireActions, QuestionnaireChoice, QuestionnaireChoiceDescription, QuestionnaireChoices, QuestionnaireDescription, QuestionnaireError, QuestionnaireInput, QuestionnaireItem, QuestionnaireNext, QuestionnairePrevious, QuestionnaireProgress, QuestionnaireSkip, QuestionnaireSubmit, QuestionnaireTitle, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Spinner, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toast, ToastAction, ToastClose, ToastContent, ToastDescription, ToastPortal, ToastProvider, ToastTitle, ToastViewport, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, VIRTUALIZE_FROM, VideoPlayer, avatarTone, badgeVariants, buttonVariants, clampPage, cn, createToastManager, dateToDay, dayToDate, formatCount, formatMediaTime, fullSelection, getPaginationRange, indicatorVariants, initialsOf, markerVariants, navigationMenuTriggerStyle, progressFill, progressTrack, resolveChosen, spinnerVariants, summarize, tabsListVariants, toast, toggleVariants, useAnimatedValues, useCarousel, useDirection, useIsMobile, useMediaPlayer, useMergedRefs, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useSidebar, useToastManager };
4638
+ export { AVATAR_TONES, Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AnimatedNumber, AspectRatio, Attachment, AttachmentAction, AttachmentActions, AttachmentContent, AttachmentDescription, AttachmentGroup, AttachmentMedia, AttachmentTitle, AttachmentTrigger, AudioPlayer, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxContent, ComboboxEmpty, ComboboxInput, ComboboxItem, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DEFAULT_MULTI_SELECT_LABELS, DateRangePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DirectionProvider, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldDescription, FieldError, FieldLabel, HoverCard, HoverCardContent, HoverCardTrigger, Indicator, InitialsAvatar, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Marker, MarkerContent, MarkerIcon, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, MultiSelect, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, NumberText, PROGRESS_DURATION, PROGRESS_EASE, PROGRESS_LINE_COLOR, Pagination, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, ProgressLine, Questionnaire, QuestionnaireActions, QuestionnaireChoice, QuestionnaireChoiceDescription, QuestionnaireChoices, QuestionnaireDescription, QuestionnaireError, QuestionnaireInput, QuestionnaireItem, QuestionnaireNext, QuestionnairePrevious, QuestionnaireProgress, QuestionnaireSkip, QuestionnaireSubmit, QuestionnaireTitle, RICH_TEXT_ATTRIBUTES, RICH_TEXT_BODY_CLASS, RICH_TEXT_ELEMENTS, RICH_TEXT_LINK_PROTOCOLS, RICH_TEXT_MENTION_CLASS, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, RichTextContent, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Spinner, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toast, ToastAction, ToastClose, ToastContent, ToastDescription, ToastPortal, ToastProvider, ToastTitle, ToastViewport, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, VIRTUALIZE_FROM, VideoPlayer, avatarTone, badgeVariants, buttonVariants, clampPage, cn, createToastManager, dateToDay, dayToDate, formatCount, formatMediaTime, fullSelection, getPaginationRange, indicatorVariants, initialsOf, isAllowedRichTextHref, markerVariants, navigationMenuTriggerStyle, progressFill, progressTrack, resolveChosen, richTextToNodes, spinnerVariants, summarize, tabsListVariants, toast, toggleVariants, useAnimatedValues, useCarousel, useDirection, useIsMobile, useMediaPlayer, useMergedRefs, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useSidebar, useToastManager };
5106
4639
 
5107
4640
  //# sourceMappingURL=index.js.map