@exsto/ds 0.0.0-stage → 0.0.1-rc.2

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 (216) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +101 -2
  3. package/dist/chunks/toggle-group-ByNq8g7H.js +4263 -0
  4. package/dist/chunks/toggle-group-ByNq8g7H.js.map +1 -0
  5. package/dist/dom/src/context.d.ts +34 -0
  6. package/dist/dom/src/define-element.d.ts +11 -0
  7. package/dist/dom/src/define-element.test.d.ts +1 -0
  8. package/dist/dom/src/field-control.d.ts +5 -0
  9. package/dist/dom/src/index.d.ts +6 -0
  10. package/dist/dom/src/mode.d.ts +8 -0
  11. package/dist/dom/src/native-slot.test.d.ts +1 -0
  12. package/dist/dom/src/styles.d.ts +6 -0
  13. package/dist/dom/src/theme-state.d.ts +1 -0
  14. package/dist/dom/src/types.d.ts +65 -0
  15. package/dist/ds/src/elements.d.ts +12 -0
  16. package/dist/ds/src/index.d.ts +8 -0
  17. package/dist/elements/src/edx-accordion.d.ts +14 -0
  18. package/dist/elements/src/edx-accordion.test.d.ts +1 -0
  19. package/dist/elements/src/edx-alert.d.ts +14 -0
  20. package/dist/elements/src/edx-audio-player.d.ts +11 -0
  21. package/dist/elements/src/edx-avatar.d.ts +10 -0
  22. package/dist/elements/src/edx-badge.d.ts +12 -0
  23. package/dist/elements/src/edx-breadcrumb.d.ts +11 -0
  24. package/dist/elements/src/edx-button-group.d.ts +7 -0
  25. package/dist/elements/src/edx-button.d.ts +20 -0
  26. package/dist/elements/src/edx-calendar.d.ts +21 -0
  27. package/dist/elements/src/edx-card.d.ts +8 -0
  28. package/dist/elements/src/edx-checkbox.d.ts +18 -0
  29. package/dist/elements/src/edx-combobox.d.ts +28 -0
  30. package/dist/elements/src/edx-content-components.d.ts +2 -0
  31. package/dist/elements/src/edx-dialog.d.ts +20 -0
  32. package/dist/elements/src/edx-drawer.d.ts +21 -0
  33. package/dist/elements/src/edx-dropdown-menu.d.ts +29 -0
  34. package/dist/elements/src/edx-field.d.ts +9 -0
  35. package/dist/elements/src/edx-field.test.d.ts +1 -0
  36. package/dist/elements/src/edx-indicator.d.ts +14 -0
  37. package/dist/elements/src/edx-input-group.d.ts +32 -0
  38. package/dist/elements/src/edx-input-otp.d.ts +19 -0
  39. package/dist/elements/src/edx-input.d.ts +31 -0
  40. package/dist/elements/src/edx-interactive-components.d.ts +2 -0
  41. package/dist/elements/src/edx-label.d.ts +6 -0
  42. package/dist/elements/src/edx-pagination.d.ts +8 -0
  43. package/dist/elements/src/edx-popover.d.ts +24 -0
  44. package/dist/elements/src/edx-progress.d.ts +10 -0
  45. package/dist/elements/src/edx-radio-group.d.ts +22 -0
  46. package/dist/elements/src/edx-radio-group.test.d.ts +1 -0
  47. package/dist/elements/src/edx-scroll-area.d.ts +15 -0
  48. package/dist/elements/src/edx-scroll-area.test.d.ts +1 -0
  49. package/dist/elements/src/edx-select.d.ts +34 -0
  50. package/dist/elements/src/edx-separator.d.ts +10 -0
  51. package/dist/elements/src/edx-skeleton.d.ts +8 -0
  52. package/dist/elements/src/edx-slider.d.ts +17 -0
  53. package/dist/elements/src/edx-slider.test.d.ts +1 -0
  54. package/dist/elements/src/edx-switch.d.ts +18 -0
  55. package/dist/elements/src/edx-table.d.ts +13 -0
  56. package/dist/elements/src/edx-table.test.d.ts +1 -0
  57. package/dist/elements/src/edx-tabs.d.ts +15 -0
  58. package/dist/elements/src/edx-tabs.test.d.ts +1 -0
  59. package/dist/elements/src/edx-textarea.d.ts +25 -0
  60. package/dist/elements/src/edx-toggle-group.d.ts +27 -0
  61. package/dist/elements/src/edx-toggle-group.test.d.ts +1 -0
  62. package/dist/elements/src/edx-toggle.d.ts +18 -0
  63. package/dist/elements/src/edx-tooltip.d.ts +28 -0
  64. package/dist/elements/src/edx-video-player.d.ts +16 -0
  65. package/dist/elements/src/field-control-bridge.d.ts +7 -0
  66. package/dist/elements/src/index.d.ts +14 -0
  67. package/dist/elements/src/projected-content.test.d.ts +1 -0
  68. package/dist/elements/src/registry.d.ts +39 -0
  69. package/dist/elements/src/registry.test.d.ts +1 -0
  70. package/dist/elements.js +4020 -0
  71. package/dist/elements.js.map +1 -0
  72. package/dist/index.js +2 -0
  73. package/dist/styles.css +7490 -0
  74. package/dist/styles.css.d.ts +2 -0
  75. package/dist/theme/src/index.d.ts +4 -0
  76. package/dist/theme.css +198 -0
  77. package/dist/theme.css.d.ts +2 -0
  78. package/dist/ui/src/components/edyn/audio-player/audio-player.d.ts +29 -0
  79. package/dist/ui/src/components/edyn/audio-player/index.d.ts +1 -0
  80. package/dist/ui/src/components/edyn/video-player/index.d.ts +1 -0
  81. package/dist/ui/src/components/edyn/video-player/video-player.d.ts +55 -0
  82. package/dist/ui/src/components/ui/accordion/accordion.behavior.test.d.ts +13 -0
  83. package/dist/ui/src/components/ui/accordion/accordion.d.ts +27 -0
  84. package/dist/ui/src/components/ui/accordion/index.d.ts +1 -0
  85. package/dist/ui/src/components/ui/alert/alert.d.ts +10 -0
  86. package/dist/ui/src/components/ui/alert/index.d.ts +1 -0
  87. package/dist/ui/src/components/ui/alert-dialog/alert-dialog.d.ts +17 -0
  88. package/dist/ui/src/components/ui/alert-dialog/index.d.ts +1 -0
  89. package/dist/ui/src/components/ui/aspect-ratio/aspect-ratio.d.ts +3 -0
  90. package/dist/ui/src/components/ui/aspect-ratio/index.d.ts +1 -0
  91. package/dist/ui/src/components/ui/attachment/attachment.d.ts +23 -0
  92. package/dist/ui/src/components/ui/attachment/index.d.ts +1 -0
  93. package/dist/ui/src/components/ui/avatar/avatar.d.ts +10 -0
  94. package/dist/ui/src/components/ui/avatar/index.d.ts +1 -0
  95. package/dist/ui/src/components/ui/badge/badge.d.ts +7 -0
  96. package/dist/ui/src/components/ui/badge/index.d.ts +1 -0
  97. package/dist/ui/src/components/ui/breadcrumb/breadcrumb.d.ts +9 -0
  98. package/dist/ui/src/components/ui/breadcrumb/index.d.ts +1 -0
  99. package/dist/ui/src/components/ui/bubble/bubble.d.ts +16 -0
  100. package/dist/ui/src/components/ui/bubble/index.d.ts +1 -0
  101. package/dist/ui/src/components/ui/button/button.d.ts +7 -0
  102. package/dist/ui/src/components/ui/button/index.d.ts +1 -0
  103. package/dist/ui/src/components/ui/button-group/button-group.d.ts +12 -0
  104. package/dist/ui/src/components/ui/button-group/index.d.ts +1 -0
  105. package/dist/ui/src/components/ui/calendar/calendar.d.ts +9 -0
  106. package/dist/ui/src/components/ui/calendar/index.d.ts +1 -0
  107. package/dist/ui/src/components/ui/card/card.d.ts +10 -0
  108. package/dist/ui/src/components/ui/card/index.d.ts +1 -0
  109. package/dist/ui/src/components/ui/carousel/carousel.d.ts +28 -0
  110. package/dist/ui/src/components/ui/carousel/index.d.ts +3 -0
  111. package/dist/ui/src/components/ui/chart/chart.d.ts +44 -0
  112. package/dist/ui/src/components/ui/chart/index.d.ts +3 -0
  113. package/dist/ui/src/components/ui/checkbox/checkbox.d.ts +2 -0
  114. package/dist/ui/src/components/ui/checkbox/index.d.ts +1 -0
  115. package/dist/ui/src/components/ui/collapsible/collapsible.d.ts +4 -0
  116. package/dist/ui/src/components/ui/collapsible/index.d.ts +1 -0
  117. package/dist/ui/src/components/ui/combobox/combobox.d.ts +15 -0
  118. package/dist/ui/src/components/ui/combobox/index.d.ts +1 -0
  119. package/dist/ui/src/components/ui/command/command.d.ts +18 -0
  120. package/dist/ui/src/components/ui/command/index.d.ts +1 -0
  121. package/dist/ui/src/components/ui/context-menu/context-menu.d.ts +28 -0
  122. package/dist/ui/src/components/ui/context-menu/index.d.ts +1 -0
  123. package/dist/ui/src/components/ui/dialog/dialog.d.ts +16 -0
  124. package/dist/ui/src/components/ui/dialog/index.d.ts +1 -0
  125. package/dist/ui/src/components/ui/direction/direction.d.ts +1 -0
  126. package/dist/ui/src/components/ui/direction/index.d.ts +1 -0
  127. package/dist/ui/src/components/ui/drawer/drawer.d.ts +15 -0
  128. package/dist/ui/src/components/ui/drawer/index.d.ts +1 -0
  129. package/dist/ui/src/components/ui/dropdown-menu/dropdown-menu.d.ts +28 -0
  130. package/dist/ui/src/components/ui/dropdown-menu/index.d.ts +1 -0
  131. package/dist/ui/src/components/ui/empty/empty.d.ts +11 -0
  132. package/dist/ui/src/components/ui/empty/index.d.ts +1 -0
  133. package/dist/ui/src/components/ui/field/field.d.ts +5 -0
  134. package/dist/ui/src/components/ui/field/index.d.ts +1 -0
  135. package/dist/ui/src/components/ui/hover-card/hover-card.d.ts +4 -0
  136. package/dist/ui/src/components/ui/hover-card/index.d.ts +1 -0
  137. package/dist/ui/src/components/ui/indicator/index.d.ts +1 -0
  138. package/dist/ui/src/components/ui/indicator/indicator.d.ts +10 -0
  139. package/dist/ui/src/components/ui/input/index.d.ts +1 -0
  140. package/dist/ui/src/components/ui/input/input.d.ts +2 -0
  141. package/dist/ui/src/components/ui/input-group/index.d.ts +1 -0
  142. package/dist/ui/src/components/ui/input-group/input-group.d.ts +26 -0
  143. package/dist/ui/src/components/ui/input-otp/index.d.ts +1 -0
  144. package/dist/ui/src/components/ui/input-otp/input-otp.d.ts +10 -0
  145. package/dist/ui/src/components/ui/item/index.d.ts +1 -0
  146. package/dist/ui/src/components/ui/item/item.d.ts +22 -0
  147. package/dist/ui/src/components/ui/kbd/index.d.ts +1 -0
  148. package/dist/ui/src/components/ui/kbd/kbd.d.ts +2 -0
  149. package/dist/ui/src/components/ui/label/index.d.ts +1 -0
  150. package/dist/ui/src/components/ui/label/label.d.ts +2 -0
  151. package/dist/ui/src/components/ui/marker/index.d.ts +1 -0
  152. package/dist/ui/src/components/ui/marker/marker.d.ts +9 -0
  153. package/dist/ui/src/components/ui/menubar/index.d.ts +1 -0
  154. package/dist/ui/src/components/ui/menubar/menubar.d.ts +28 -0
  155. package/dist/ui/src/components/ui/message/index.d.ts +1 -0
  156. package/dist/ui/src/components/ui/message/message.d.ts +9 -0
  157. package/dist/ui/src/components/ui/message-scroller/index.d.ts +1 -0
  158. package/dist/ui/src/components/ui/message-scroller/message-scroller.d.ts +10 -0
  159. package/dist/ui/src/components/ui/native-select/index.d.ts +1 -0
  160. package/dist/ui/src/components/ui/native-select/native-select.d.ts +8 -0
  161. package/dist/ui/src/components/ui/navigation-menu/index.d.ts +1 -0
  162. package/dist/ui/src/components/ui/navigation-menu/navigation-menu.d.ts +10 -0
  163. package/dist/ui/src/components/ui/pagination/index.d.ts +1 -0
  164. package/dist/ui/src/components/ui/pagination/pagination.behavior.test.d.ts +1 -0
  165. package/dist/ui/src/components/ui/pagination/pagination.d.ts +17 -0
  166. package/dist/ui/src/components/ui/pagination/pagination.test.d.ts +1 -0
  167. package/dist/ui/src/components/ui/popover/index.d.ts +1 -0
  168. package/dist/ui/src/components/ui/popover/popover.d.ts +8 -0
  169. package/dist/ui/src/components/ui/progress/index.d.ts +1 -0
  170. package/dist/ui/src/components/ui/progress/progress.d.ts +5 -0
  171. package/dist/ui/src/components/ui/questionnaire/index.d.ts +1 -0
  172. package/dist/ui/src/components/ui/questionnaire/questionnaire.d.ts +18 -0
  173. package/dist/ui/src/components/ui/radio-group/index.d.ts +1 -0
  174. package/dist/ui/src/components/ui/radio-group/radio-group.d.ts +10 -0
  175. package/dist/ui/src/components/ui/resizable/index.d.ts +1 -0
  176. package/dist/ui/src/components/ui/resizable/resizable.d.ts +6 -0
  177. package/dist/ui/src/components/ui/scroll-area/index.d.ts +1 -0
  178. package/dist/ui/src/components/ui/scroll-area/scroll-area.d.ts +32 -0
  179. package/dist/ui/src/components/ui/select/index.d.ts +1 -0
  180. package/dist/ui/src/components/ui/select/select.d.ts +17 -0
  181. package/dist/ui/src/components/ui/separator/index.d.ts +1 -0
  182. package/dist/ui/src/components/ui/separator/separator.d.ts +2 -0
  183. package/dist/ui/src/components/ui/sheet/index.d.ts +1 -0
  184. package/dist/ui/src/components/ui/sheet/sheet.d.ts +13 -0
  185. package/dist/ui/src/components/ui/sidebar/index.d.ts +1 -0
  186. package/dist/ui/src/components/ui/sidebar/sidebar.d.ts +63 -0
  187. package/dist/ui/src/components/ui/skeleton/index.d.ts +1 -0
  188. package/dist/ui/src/components/ui/skeleton/skeleton.d.ts +1 -0
  189. package/dist/ui/src/components/ui/slider/index.d.ts +1 -0
  190. package/dist/ui/src/components/ui/slider/slider.d.ts +17 -0
  191. package/dist/ui/src/components/ui/spinner/index.d.ts +1 -0
  192. package/dist/ui/src/components/ui/spinner/spinner.d.ts +5 -0
  193. package/dist/ui/src/components/ui/switch/index.d.ts +1 -0
  194. package/dist/ui/src/components/ui/switch/switch.d.ts +4 -0
  195. package/dist/ui/src/components/ui/table/index.d.ts +1 -0
  196. package/dist/ui/src/components/ui/table/table.behavior.test.d.ts +10 -0
  197. package/dist/ui/src/components/ui/table/table.d.ts +9 -0
  198. package/dist/ui/src/components/ui/tabs/index.d.ts +1 -0
  199. package/dist/ui/src/components/ui/tabs/tabs.behavior.test.d.ts +21 -0
  200. package/dist/ui/src/components/ui/tabs/tabs.d.ts +35 -0
  201. package/dist/ui/src/components/ui/textarea/index.d.ts +1 -0
  202. package/dist/ui/src/components/ui/textarea/textarea.d.ts +2 -0
  203. package/dist/ui/src/components/ui/toast/index.d.ts +1 -0
  204. package/dist/ui/src/components/ui/toast/toast.d.ts +15 -0
  205. package/dist/ui/src/components/ui/toggle/index.d.ts +1 -0
  206. package/dist/ui/src/components/ui/toggle/toggle.d.ts +8 -0
  207. package/dist/ui/src/components/ui/toggle-group/index.d.ts +1 -0
  208. package/dist/ui/src/components/ui/toggle-group/toggle-group.d.ts +7 -0
  209. package/dist/ui/src/components/ui/tooltip/index.d.ts +1 -0
  210. package/dist/ui/src/components/ui/tooltip/tooltip.d.ts +5 -0
  211. package/dist/ui/src/hooks/use-media-player.d.ts +29 -0
  212. package/dist/ui/src/hooks/use-merged-refs.d.ts +4 -0
  213. package/dist/ui/src/hooks/use-mobile.d.ts +1 -0
  214. package/dist/ui/src/index.d.ts +68 -0
  215. package/dist/ui/src/lib/utils.d.ts +13 -0
  216. package/package.json +76 -4
@@ -0,0 +1 @@
1
+ export * from './separator';
@@ -0,0 +1,2 @@
1
+ import { Separator as SeparatorPrimitive } from '@base-ui/react/separator';
2
+ export declare const Separator: ({ className, orientation, ...props }: SeparatorPrimitive.Props) => import('react').JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './sheet';
@@ -0,0 +1,13 @@
1
+ import { Dialog as SheetPrimitive } from '@base-ui/react/dialog';
2
+ import type * as React from 'react';
3
+ export declare const Sheet: ({ ...props }: SheetPrimitive.Root.Props) => React.JSX.Element;
4
+ export declare const SheetTrigger: ({ ...props }: SheetPrimitive.Trigger.Props) => React.JSX.Element;
5
+ export declare const SheetClose: ({ ...props }: SheetPrimitive.Close.Props) => React.JSX.Element;
6
+ export declare const SheetContent: ({ className, children, side, showCloseButton, ...props }: SheetPrimitive.Popup.Props & {
7
+ side?: "top" | "right" | "bottom" | "left";
8
+ showCloseButton?: boolean;
9
+ }) => React.JSX.Element;
10
+ export declare const SheetHeader: ({ className, ...props }: React.ComponentProps<"div">) => React.JSX.Element;
11
+ export declare const SheetFooter: ({ className, ...props }: React.ComponentProps<"div">) => React.JSX.Element;
12
+ export declare const SheetTitle: ({ className, ...props }: SheetPrimitive.Title.Props) => React.JSX.Element;
13
+ export declare const SheetDescription: ({ className, ...props }: SheetPrimitive.Description.Props) => React.JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './sidebar';
@@ -0,0 +1,63 @@
1
+ import { useRender } from '@base-ui/react/use-render';
2
+ import { VariantProps } from 'class-variance-authority';
3
+ import { Button } from '../button';
4
+ import { Input } from '../input';
5
+ import { Separator } from '../separator';
6
+ import { TooltipContent } from '../tooltip';
7
+ import * as React from 'react';
8
+ type TSidebarContextProps = {
9
+ state: 'expanded' | 'collapsed';
10
+ open: boolean;
11
+ setOpen: (open: boolean) => void;
12
+ openMobile: boolean;
13
+ setOpenMobile: (open: boolean) => void;
14
+ isMobile: boolean;
15
+ toggleSidebar: () => void;
16
+ };
17
+ export declare const useSidebar: () => TSidebarContextProps;
18
+ export declare const SidebarProvider: ({ defaultOpen, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }: React.ComponentProps<"div"> & {
19
+ defaultOpen?: boolean;
20
+ open?: boolean;
21
+ onOpenChange?: (open: boolean) => void;
22
+ }) => React.JSX.Element;
23
+ export declare const Sidebar: ({ side, variant, collapsible, className, children, dir, ...props }: React.ComponentProps<"div"> & {
24
+ side?: "left" | "right";
25
+ variant?: "sidebar" | "floating" | "inset";
26
+ collapsible?: "offcanvas" | "icon" | "none";
27
+ }) => React.JSX.Element;
28
+ export declare const SidebarTrigger: ({ className, onClick, ...props }: React.ComponentProps<typeof Button>) => React.JSX.Element;
29
+ export declare const SidebarRail: ({ className, ...props }: React.ComponentProps<"button">) => React.JSX.Element;
30
+ export declare const SidebarInset: ({ className, ...props }: React.ComponentProps<"main">) => React.JSX.Element;
31
+ export declare const SidebarInput: ({ className, ...props }: React.ComponentProps<typeof Input>) => React.JSX.Element;
32
+ export declare const SidebarHeader: ({ className, ...props }: React.ComponentProps<"div">) => React.JSX.Element;
33
+ export declare const SidebarFooter: ({ className, ...props }: React.ComponentProps<"div">) => React.JSX.Element;
34
+ export declare const SidebarSeparator: ({ className, ...props }: React.ComponentProps<typeof Separator>) => React.JSX.Element;
35
+ export declare const SidebarContent: ({ className, ...props }: React.ComponentProps<"div">) => React.JSX.Element;
36
+ export declare const SidebarGroup: ({ className, ...props }: React.ComponentProps<"div">) => React.JSX.Element;
37
+ export declare const SidebarGroupLabel: ({ className, render, ...props }: useRender.ComponentProps<"div"> & React.ComponentProps<"div">) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
38
+ export declare const SidebarGroupAction: ({ className, render, ...props }: useRender.ComponentProps<"button"> & React.ComponentProps<"button">) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
39
+ export declare const SidebarGroupContent: ({ className, ...props }: React.ComponentProps<"div">) => React.JSX.Element;
40
+ export declare const SidebarMenu: ({ className, ...props }: React.ComponentProps<"ul">) => React.JSX.Element;
41
+ export declare const SidebarMenuItem: ({ className, ...props }: React.ComponentProps<"li">) => React.JSX.Element;
42
+ declare const sidebarMenuButtonVariants: (props?: ({
43
+ variant?: "default" | "outline" | null | undefined;
44
+ size?: "default" | "sm" | "lg" | null | undefined;
45
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
46
+ export declare const SidebarMenuButton: ({ render, isActive, variant, size, tooltip, className, ...props }: useRender.ComponentProps<"button"> & React.ComponentProps<"button"> & {
47
+ isActive?: boolean;
48
+ tooltip?: string | React.ComponentProps<typeof TooltipContent>;
49
+ } & VariantProps<typeof sidebarMenuButtonVariants>) => React.JSX.Element;
50
+ export declare const SidebarMenuAction: ({ className, render, showOnHover, ...props }: useRender.ComponentProps<"button"> & React.ComponentProps<"button"> & {
51
+ showOnHover?: boolean;
52
+ }) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
53
+ export declare const SidebarMenuBadge: ({ className, ...props }: React.ComponentProps<"div">) => React.JSX.Element;
54
+ export declare const SidebarMenuSkeleton: ({ className, showIcon, ...props }: React.ComponentProps<"div"> & {
55
+ showIcon?: boolean;
56
+ }) => React.JSX.Element;
57
+ export declare const SidebarMenuSub: ({ className, ...props }: React.ComponentProps<"ul">) => React.JSX.Element;
58
+ export declare const SidebarMenuSubItem: ({ className, ...props }: React.ComponentProps<"li">) => React.JSX.Element;
59
+ export declare const SidebarMenuSubButton: ({ render, size, isActive, className, ...props }: useRender.ComponentProps<"a"> & React.ComponentProps<"a"> & {
60
+ size?: "sm" | "md";
61
+ isActive?: boolean;
62
+ }) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
63
+ export {};
@@ -0,0 +1 @@
1
+ export * from './skeleton';
@@ -0,0 +1 @@
1
+ export declare const Skeleton: ({ className, ...props }: React.ComponentProps<"div">) => import('react').JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './slider';
@@ -0,0 +1,17 @@
1
+ import { Slider as SliderPrimitive } from '@base-ui/react/slider';
2
+ export type TSliderValue = number | readonly number[];
3
+ export interface ISliderProps<TValue extends TSliderValue = number> {
4
+ value?: TValue;
5
+ defaultValue?: TValue;
6
+ min?: number;
7
+ max?: number;
8
+ step?: number;
9
+ disabled?: boolean;
10
+ onValueChange?: (value: TValue extends number ? number : TValue, eventDetails: SliderPrimitive.Root.ChangeEventDetails) => void;
11
+ onValueCommitted?: (value: TValue extends number ? number : TValue, eventDetails: SliderPrimitive.Root.CommitEventDetails) => void;
12
+ className?: string;
13
+ name?: string;
14
+ minStepsBetweenValues?: number;
15
+ 'aria-label'?: string;
16
+ }
17
+ export declare const Slider: <TValue extends TSliderValue = number>({ className, value, defaultValue, min, max, step, disabled, onValueChange, onValueCommitted, name, minStepsBetweenValues, "aria-label": ariaLabel, ...props }: ISliderProps<TValue>) => import('react').JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './spinner';
@@ -0,0 +1,5 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ export declare const spinnerVariants: (props?: ({
3
+ size?: "default" | "xs" | "sm" | "lg" | "xl" | null | undefined;
4
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
5
+ export declare const Spinner: ({ className, size, ...props }: React.ComponentProps<"svg"> & VariantProps<typeof spinnerVariants>) => import('react').JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './switch';
@@ -0,0 +1,4 @@
1
+ import { Switch as SwitchPrimitive } from '@base-ui/react/switch';
2
+ export declare const Switch: ({ className, size, ...props }: SwitchPrimitive.Root.Props & {
3
+ size?: "sm" | "default";
4
+ }) => import('react').JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './table';
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Structure test for the Table primitives.
3
+ *
4
+ * Uses happy-dom (registered by test-setup.ts) and the same React-in-bun-test
5
+ * pattern as packages/dom: render with createRoot + flushSync, then query the
6
+ * real DOM. Guards that the primitives produce a semantic <table> (thead/tbody/
7
+ * th/td/caption) and the shadcn overflow wrapper, so the data-driven edx-table
8
+ * (and the Angular demos that consume it) get a real, accessible table.
9
+ */
10
+ export {};
@@ -0,0 +1,9 @@
1
+ import type * as React from 'react';
2
+ export declare const Table: ({ className, ...props }: React.ComponentProps<"table">) => React.JSX.Element;
3
+ export declare const TableHeader: ({ className, ...props }: React.ComponentProps<"thead">) => React.JSX.Element;
4
+ export declare const TableBody: ({ className, ...props }: React.ComponentProps<"tbody">) => React.JSX.Element;
5
+ export declare const TableFooter: ({ className, ...props }: React.ComponentProps<"tfoot">) => React.JSX.Element;
6
+ export declare const TableRow: ({ className, ...props }: React.ComponentProps<"tr">) => React.JSX.Element;
7
+ export declare const TableHead: ({ className, ...props }: React.ComponentProps<"th">) => React.JSX.Element;
8
+ export declare const TableCell: ({ className, ...props }: React.ComponentProps<"td">) => React.JSX.Element;
9
+ export declare const TableCaption: ({ className, ...props }: React.ComponentProps<"caption">) => React.JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './tabs';
@@ -0,0 +1,21 @@
1
+ /**
2
+ * A11y + keyboard-nav test for Tabs.
3
+ *
4
+ * PATH TAKEN: happy-dom unit test for roles/aria + onValueChange callback.
5
+ * Arrow-key navigation moves focus but does NOT auto-select in Base UI's default
6
+ * (activateOnFocus=false) mode; the user presses Enter/Space (or clicks) to
7
+ * activate. In happy-dom, native button click-from-keyboard is not fully
8
+ * emulated, so we:
9
+ * 1. Assert roles and aria attributes (role=tablist, role=tab, aria-selected,
10
+ * role=tabpanel) to confirm a11y-by-construction.
11
+ * 2. Assert that clicking a tab calls onValueChange with the correct value.
12
+ * 3. Assert that ArrowRight on the tablist fires a keydown and moves the
13
+ * composite highlight (the CompositeRoot processes the event). We verify
14
+ * this by confirming the tablist receives keydown and the handler runs
15
+ * without error.
16
+ * 4. For full browser-level arrow-key navigation proof, see the Playwright
17
+ * e2e suite (e2e/open-popups.spec.ts pattern); a dedicated tabs e2e test
18
+ * should be added there to verify roving tabindex focus movement in a real
19
+ * browser.
20
+ */
21
+ export {};
@@ -0,0 +1,35 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import type * as React from 'react';
3
+ export interface ITabsProps {
4
+ /** Controlled selected tab. Provide with `onValueChange`. */
5
+ value?: string;
6
+ /** Uncontrolled initial tab. Use this when the component should own its state. */
7
+ defaultValue?: string;
8
+ onValueChange?: (value: string) => void;
9
+ className?: string;
10
+ orientation?: 'horizontal' | 'vertical';
11
+ children: React.ReactNode;
12
+ }
13
+ export declare const Tabs: ({ value, defaultValue, onValueChange, className, orientation, children }: ITabsProps) => React.JSX.Element;
14
+ export declare const tabsListVariants: (props?: ({
15
+ variant?: "default" | "line" | null | undefined;
16
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
17
+ export interface ITabsListProps extends VariantProps<typeof tabsListVariants> {
18
+ className?: string;
19
+ children: React.ReactNode;
20
+ }
21
+ export declare const TabsList: ({ className, variant, children }: ITabsListProps) => React.JSX.Element;
22
+ export interface ITabsTriggerProps {
23
+ value: string;
24
+ disabled?: boolean;
25
+ className?: string;
26
+ children: React.ReactNode;
27
+ }
28
+ export declare const TabsTrigger: ({ value, disabled, className, children }: ITabsTriggerProps) => React.JSX.Element;
29
+ export interface ITabsContentProps {
30
+ value: string;
31
+ keepMounted?: boolean;
32
+ className?: string;
33
+ children: React.ReactNode;
34
+ }
35
+ export declare const TabsContent: ({ value, keepMounted, className, children }: ITabsContentProps) => React.JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './textarea';
@@ -0,0 +1,2 @@
1
+ import type * as React from 'react';
2
+ export declare const Textarea: ({ className, ...props }: React.ComponentProps<"textarea">) => React.JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './toast';
@@ -0,0 +1,15 @@
1
+ import { Toast as ToastPrimitive } from '@base-ui/react/toast';
2
+ import type * as React from 'react';
3
+ export declare const toast: import('@base-ui/react').ToastManager<any>;
4
+ export declare const ToastProvider: ({ ...props }: ToastPrimitive.Provider.Props) => React.JSX.Element;
5
+ export declare const ToastPortal: ({ ...props }: ToastPrimitive.Portal.Props) => React.JSX.Element;
6
+ export declare const ToastViewport: ({ className, ...props }: ToastPrimitive.Viewport.Props) => React.JSX.Element;
7
+ export declare const Toast: ({ className, ...props }: ToastPrimitive.Root.Props) => React.JSX.Element;
8
+ export declare const ToastContent: ({ className, ...props }: ToastPrimitive.Content.Props) => React.JSX.Element;
9
+ export declare const ToastTitle: ({ className, ...props }: ToastPrimitive.Title.Props) => React.JSX.Element;
10
+ export declare const ToastDescription: ({ className, ...props }: ToastPrimitive.Description.Props) => React.JSX.Element;
11
+ export declare const ToastAction: ({ className, render, ...props }: ToastPrimitive.Action.Props) => React.JSX.Element;
12
+ export declare const ToastClose: ({ className, children, render, ...props }: ToastPrimitive.Close.Props) => React.JSX.Element;
13
+ export declare const Toaster: ({ children, toastManager, ...props }: ToastPrimitive.Provider.Props) => React.JSX.Element;
14
+ export declare const createToastManager: typeof ToastPrimitive.createToastManager;
15
+ export declare const useToastManager: typeof ToastPrimitive.useToastManager;
@@ -0,0 +1 @@
1
+ export * from './toggle';
@@ -0,0 +1,8 @@
1
+ import { Toggle as TogglePrimitive } from '@base-ui/react/toggle';
2
+ import { VariantProps } from 'class-variance-authority';
3
+ export declare const toggleVariants: (props?: ({
4
+ variant?: "default" | "outline" | null | undefined;
5
+ size?: "default" | "sm" | "lg" | null | undefined;
6
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
+ export type TToggleVariants = VariantProps<typeof toggleVariants>;
8
+ export declare const Toggle: <Value extends string>({ className, variant, size, ...props }: TogglePrimitive.Props<Value> & TToggleVariants) => import('react').JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './toggle-group';
@@ -0,0 +1,7 @@
1
+ import { Toggle as TogglePrimitive } from '@base-ui/react/toggle';
2
+ import { ToggleGroup as ToggleGroupPrimitive } from '@base-ui/react/toggle-group';
3
+ import { TToggleVariants } from '../toggle/toggle';
4
+ export declare const ToggleGroup: <Value extends string>({ className, variant, size, spacing, orientation, children, ...props }: ToggleGroupPrimitive.Props<Value> & TToggleVariants & {
5
+ spacing?: number;
6
+ }) => import('react').JSX.Element;
7
+ export declare const ToggleGroupItem: <Value extends string>({ className, variant, size, ...props }: TogglePrimitive.Props<Value> & TToggleVariants) => import('react').JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './tooltip';
@@ -0,0 +1,5 @@
1
+ import { Tooltip as TooltipPrimitive } from '@base-ui/react/tooltip';
2
+ export declare const TooltipProvider: ({ delay, ...props }: TooltipPrimitive.Provider.Props) => import('react').JSX.Element;
3
+ export declare const Tooltip: ({ ...props }: TooltipPrimitive.Root.Props) => import('react').JSX.Element;
4
+ export declare const TooltipTrigger: ({ ...props }: TooltipPrimitive.Trigger.Props) => import('react').JSX.Element;
5
+ export declare const TooltipContent: ({ className, side, sideOffset, align, alignOffset, children, ...props }: TooltipPrimitive.Popup.Props & Pick<TooltipPrimitive.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset">) => import('react').JSX.Element;
@@ -0,0 +1,29 @@
1
+ import * as React from 'react';
2
+ export interface IMediaPlayerState {
3
+ playing: boolean;
4
+ currentTime: number;
5
+ duration: number;
6
+ volume: number;
7
+ muted: boolean;
8
+ }
9
+ export interface IUseMediaPlayerOptions {
10
+ onPlay?: () => void;
11
+ onPause?: () => void;
12
+ onEnded?: () => void;
13
+ onTimeUpdate?: (currentTime: number, duration: number) => void;
14
+ }
15
+ export interface IUseMediaPlayerResult<TElement extends HTMLMediaElement> extends IMediaPlayerState {
16
+ refMedia: React.RefObject<TElement | null>;
17
+ toggle: () => void;
18
+ seek: (seconds: number) => void;
19
+ changeVolume: (volume: number) => void;
20
+ toggleMute: () => void;
21
+ }
22
+ /** `0:00` for anything that is not a finite, non-negative number, so a loading or errored source still renders. */
23
+ export declare const formatMediaTime: (seconds: number) => string;
24
+ /**
25
+ * Shared playback engine for the Audio and Video players. Both wrap the same
26
+ * HTMLMediaElement API, so the state machine lives here once and each component
27
+ * owns only its own layout and controls.
28
+ */
29
+ export declare const useMediaPlayer: <TElement extends HTMLMediaElement>(options?: IUseMediaPlayerOptions) => IUseMediaPlayerResult<TElement>;
@@ -0,0 +1,4 @@
1
+ import { Ref, RefCallback } from 'react';
2
+ type TPossibleRef<T> = Ref<T> | undefined;
3
+ export declare const useMergedRefs: <T>(...refs: TPossibleRef<T>[]) => RefCallback<T>;
4
+ export {};
@@ -0,0 +1 @@
1
+ export declare const useIsMobile: () => boolean;
@@ -0,0 +1,68 @@
1
+ export * from './components/edyn/audio-player';
2
+ export * from './components/edyn/video-player';
3
+ export * from './components/ui/accordion';
4
+ export * from './components/ui/alert';
5
+ export * from './components/ui/alert-dialog';
6
+ export * from './components/ui/aspect-ratio';
7
+ export * from './components/ui/attachment';
8
+ export * from './components/ui/avatar';
9
+ export * from './components/ui/badge';
10
+ export * from './components/ui/breadcrumb';
11
+ export * from './components/ui/bubble';
12
+ export * from './components/ui/button';
13
+ export * from './components/ui/button-group';
14
+ export * from './components/ui/calendar';
15
+ export * from './components/ui/card';
16
+ export * from './components/ui/carousel';
17
+ export * from './components/ui/chart';
18
+ export * from './components/ui/checkbox';
19
+ export * from './components/ui/collapsible';
20
+ export * from './components/ui/combobox';
21
+ export * from './components/ui/command';
22
+ export * from './components/ui/context-menu';
23
+ export * from './components/ui/dialog';
24
+ export * from './components/ui/direction';
25
+ export * from './components/ui/drawer';
26
+ export * from './components/ui/dropdown-menu';
27
+ export * from './components/ui/empty';
28
+ export * from './components/ui/field';
29
+ export * from './components/ui/hover-card';
30
+ export * from './components/ui/indicator';
31
+ export * from './components/ui/input';
32
+ export * from './components/ui/input-group';
33
+ export * from './components/ui/input-otp';
34
+ export * from './components/ui/item';
35
+ export * from './components/ui/kbd';
36
+ export * from './components/ui/label';
37
+ export * from './components/ui/marker';
38
+ export * from './components/ui/menubar';
39
+ export * from './components/ui/message';
40
+ export * from './components/ui/message-scroller';
41
+ export * from './components/ui/native-select';
42
+ export * from './components/ui/navigation-menu';
43
+ export * from './components/ui/pagination';
44
+ export * from './components/ui/popover';
45
+ export * from './components/ui/progress';
46
+ export * from './components/ui/questionnaire';
47
+ export * from './components/ui/radio-group';
48
+ export * from './components/ui/resizable';
49
+ export * from './components/ui/scroll-area';
50
+ export * from './components/ui/select';
51
+ export * from './components/ui/separator';
52
+ export * from './components/ui/sheet';
53
+ export * from './components/ui/sidebar';
54
+ export * from './components/ui/skeleton';
55
+ export * from './components/ui/slider';
56
+ export * from './components/ui/spinner';
57
+ export * from './components/ui/switch';
58
+ export * from './components/ui/table';
59
+ export * from './components/ui/tabs';
60
+ export * from './components/ui/textarea';
61
+ export * from './components/ui/toast';
62
+ export * from './components/ui/toggle';
63
+ export * from './components/ui/toggle-group';
64
+ export * from './components/ui/tooltip';
65
+ export * from './hooks/use-media-player';
66
+ export * from './hooks/use-merged-refs';
67
+ export * from './hooks/use-mobile';
68
+ export { cn } from './lib/utils';
@@ -0,0 +1,13 @@
1
+ import { ClassValue } from 'clsx';
2
+ export declare const cn: (...inputs: ClassValue[]) => string;
3
+ /** A CSS length as a component prop: a number is px, a string is used verbatim. */
4
+ export type TCssLength = number | string;
5
+ /**
6
+ * Normalise a size prop to a CSS length.
7
+ *
8
+ * Bare numbers become px, which is also what a bare numeric *string* means: an
9
+ * element attribute arrives as a string, so `width="480"` and `width={480}` have
10
+ * to land on the same value. Anything with a unit, a percentage or a keyword
11
+ * passes through untouched.
12
+ */
13
+ export declare const cssLength: (value: TCssLength | null | undefined) => string | undefined;
package/package.json CHANGED
@@ -1,6 +1,78 @@
1
1
  {
2
2
  "name": "@exsto/ds",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.0.1-rc.2",
4
+ "description": "The eDynamix design system: React components, design tokens, and optional web components.",
5
+ "license": "Apache-2.0",
6
+ "keywords": [
7
+ "exsto",
8
+ "edynamix",
9
+ "design-system",
10
+ "react",
11
+ "components",
12
+ "ui",
13
+ "web-components",
14
+ "tailwind"
15
+ ],
16
+ "type": "module",
17
+ "sideEffects": [
18
+ "**/*.css"
19
+ ],
20
+ "files": [
21
+ "dist"
22
+ ],
23
+ "publishConfig": {
24
+ "access": "public"
25
+ },
26
+ "exports": {
27
+ ".": {
28
+ "types": "./dist/ds/src/index.d.ts",
29
+ "default": "./dist/index.js"
30
+ },
31
+ "./elements": {
32
+ "types": "./dist/ds/src/elements.d.ts",
33
+ "default": "./dist/elements.js"
34
+ },
35
+ "./styles.css": {
36
+ "types": "./dist/styles.css.d.ts",
37
+ "default": "./dist/styles.css"
38
+ },
39
+ "./theme.css": {
40
+ "types": "./dist/theme.css.d.ts",
41
+ "default": "./dist/theme.css"
42
+ },
43
+ "./package.json": "./package.json"
44
+ },
45
+ "scripts": {
46
+ "build": "vite build",
47
+ "typecheck": "tsc --noEmit"
48
+ },
49
+ "dependencies": {
50
+ "@base-ui/react": "~1.8.0",
51
+ "@shadcn/react": "^0.3.1",
52
+ "@tabler/icons-react": "^3.44.0",
53
+ "class-variance-authority": "^0.7.1",
54
+ "clsx": "^2.1.1",
55
+ "cmdk": "^1.1.1",
56
+ "date-fns": "^4.4.0",
57
+ "embla-carousel-react": "^8.6.0",
58
+ "input-otp": "^1.4.2",
59
+ "react-day-picker": "^10.0.1",
60
+ "react-resizable-panels": "^4.12.4",
61
+ "recharts": "3.8.0",
62
+ "tailwind-merge": "^3.6.0"
63
+ },
64
+ "peerDependencies": {
65
+ "react": "^19.0.0",
66
+ "react-dom": "^19.0.0"
67
+ },
68
+ "devDependencies": {
69
+ "@edyn/dom": "workspace:*",
70
+ "@edyn/elements": "workspace:*",
71
+ "@edyn/theme": "workspace:*",
72
+ "@edyn/ui": "workspace:*",
73
+ "@tailwindcss/vite": "catalog:",
74
+ "@vitejs/plugin-react": "catalog:",
75
+ "vite": "catalog:",
76
+ "vite-plugin-dts": "^5.1.2"
77
+ }
78
+ }