@siyahi/ui 0.0.0-stage → 0.1.0-next.4

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 (192) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +174 -2
  3. package/THIRD_PARTY_NOTICES.md +51 -0
  4. package/dist/components/registry/dashboard-01/section-cards.d.ts +17 -0
  5. package/dist/components/registry/dashboard-01/section-cards.js +39 -0
  6. package/dist/components/registry/dashboardcn/bar-list.d.ts +24 -0
  7. package/dist/components/registry/dashboardcn/bar-list.js +71 -0
  8. package/dist/components/registry/heatmap/calendar-heatmap.d.ts +134 -0
  9. package/dist/components/registry/heatmap/calendar-heatmap.js +497 -0
  10. package/dist/components/registry/heatmap/status-heatmap.d.ts +120 -0
  11. package/dist/components/registry/heatmap/status-heatmap.js +330 -0
  12. package/dist/components/registry/heatmap/weekday-heatmap.d.ts +145 -0
  13. package/dist/components/registry/heatmap/weekday-heatmap.js +489 -0
  14. package/dist/components/registry/niko-table/components/data-table-column-actions.d.ts +26 -0
  15. package/dist/components/registry/niko-table/components/data-table-column-actions.js +32 -0
  16. package/dist/components/registry/niko-table/components/data-table-column-filter.d.ts +13 -0
  17. package/dist/components/registry/niko-table/components/data-table-column-filter.js +17 -0
  18. package/dist/components/registry/niko-table/components/data-table-column-header.d.ts +30 -0
  19. package/dist/components/registry/niko-table/components/data-table-column-header.js +35 -0
  20. package/dist/components/registry/niko-table/components/data-table-column-sort.d.ts +21 -0
  21. package/dist/components/registry/niko-table/components/data-table-column-sort.js +36 -0
  22. package/dist/components/registry/niko-table/components/data-table-column-title.d.ts +12 -0
  23. package/dist/components/registry/niko-table/components/data-table-column-title.js +18 -0
  24. package/dist/components/registry/niko-table/components/data-table-empty-state.d.ts +108 -0
  25. package/dist/components/registry/niko-table/components/data-table-empty-state.js +148 -0
  26. package/dist/components/registry/niko-table/components/data-table-faceted-filter.d.ts +46 -0
  27. package/dist/components/registry/niko-table/components/data-table-faceted-filter.js +133 -0
  28. package/dist/components/registry/niko-table/components/data-table-grouped-rows.d.ts +111 -0
  29. package/dist/components/registry/niko-table/components/data-table-grouped-rows.js +77 -0
  30. package/dist/components/registry/niko-table/components/data-table-row-context-menu-slot.d.ts +65 -0
  31. package/dist/components/registry/niko-table/components/data-table-row-context-menu-slot.js +65 -0
  32. package/dist/components/registry/niko-table/components/data-table-row-context-menu.d.ts +50 -0
  33. package/dist/components/registry/niko-table/components/data-table-row-context-menu.js +42 -0
  34. package/dist/components/registry/niko-table/components/data-table-row-menu.d.ts +51 -0
  35. package/dist/components/registry/niko-table/components/data-table-row-menu.js +65 -0
  36. package/dist/components/registry/niko-table/components/data-table-toolbar-section.d.ts +7 -0
  37. package/dist/components/registry/niko-table/components/data-table-toolbar-section.js +63 -0
  38. package/dist/components/registry/niko-table/config/data-table.d.ts +156 -0
  39. package/dist/components/registry/niko-table/config/data-table.js +279 -0
  40. package/dist/components/registry/niko-table/config/feature-detection.d.ts +39 -0
  41. package/dist/components/registry/niko-table/config/feature-detection.js +174 -0
  42. package/dist/components/registry/niko-table/core/data-table-context.d.ts +157 -0
  43. package/dist/components/registry/niko-table/core/data-table-context.js +326 -0
  44. package/dist/components/registry/niko-table/core/data-table-error-boundary.d.ts +85 -0
  45. package/dist/components/registry/niko-table/core/data-table-error-boundary.js +116 -0
  46. package/dist/components/registry/niko-table/core/data-table-grouped-row.d.ts +49 -0
  47. package/dist/components/registry/niko-table/core/data-table-grouped-row.js +112 -0
  48. package/dist/components/registry/niko-table/core/data-table-root.d.ts +62 -0
  49. package/dist/components/registry/niko-table/core/data-table-root.js +406 -0
  50. package/dist/components/registry/niko-table/core/data-table-structure.d.ts +153 -0
  51. package/dist/components/registry/niko-table/core/data-table-structure.js +370 -0
  52. package/dist/components/registry/niko-table/core/data-table.d.ts +30 -0
  53. package/dist/components/registry/niko-table/core/data-table.js +126 -0
  54. package/dist/components/registry/niko-table/filters/table-column-actions.d.ts +49 -0
  55. package/dist/components/registry/niko-table/filters/table-column-actions.js +48 -0
  56. package/dist/components/registry/niko-table/filters/table-column-sort.d.ts +51 -0
  57. package/dist/components/registry/niko-table/filters/table-column-sort.js +184 -0
  58. package/dist/components/registry/niko-table/filters/table-column-title.d.ts +17 -0
  59. package/dist/components/registry/niko-table/filters/table-column-title.js +20 -0
  60. package/dist/components/registry/niko-table/filters/table-faceted-filter.d.ts +40 -0
  61. package/dist/components/registry/niko-table/filters/table-faceted-filter.js +210 -0
  62. package/dist/components/registry/niko-table/hooks/use-derived-column-title.d.ts +29 -0
  63. package/dist/components/registry/niko-table/hooks/use-derived-column-title.js +40 -0
  64. package/dist/components/registry/niko-table/hooks/use-generated-options.d.ts +49 -0
  65. package/dist/components/registry/niko-table/hooks/use-generated-options.js +144 -0
  66. package/dist/components/registry/niko-table/lib/build-faceted-options.d.ts +59 -0
  67. package/dist/components/registry/niko-table/lib/build-faceted-options.js +82 -0
  68. package/dist/components/registry/niko-table/lib/column-resize-handle.d.ts +33 -0
  69. package/dist/components/registry/niko-table/lib/column-resize-handle.js +175 -0
  70. package/dist/components/registry/niko-table/lib/constants.d.ts +128 -0
  71. package/dist/components/registry/niko-table/lib/constants.js +123 -0
  72. package/dist/components/registry/niko-table/lib/create-scroll-handler.d.ts +35 -0
  73. package/dist/components/registry/niko-table/lib/create-scroll-handler.js +63 -0
  74. package/dist/components/registry/niko-table/lib/data-table-features.d.ts +218 -0
  75. package/dist/components/registry/niko-table/lib/data-table-features.js +127 -0
  76. package/dist/components/registry/niko-table/lib/filter-functions.d.ts +47 -0
  77. package/dist/components/registry/niko-table/lib/filter-functions.js +309 -0
  78. package/dist/components/registry/niko-table/lib/filter-rows.d.ts +14 -0
  79. package/dist/components/registry/niko-table/lib/filter-rows.js +28 -0
  80. package/dist/components/registry/niko-table/lib/flex-columns.d.ts +48 -0
  81. package/dist/components/registry/niko-table/lib/flex-columns.js +65 -0
  82. package/dist/components/registry/niko-table/lib/format.d.ts +33 -0
  83. package/dist/components/registry/niko-table/lib/format.js +99 -0
  84. package/dist/components/registry/niko-table/lib/render-cell-content.d.ts +17 -0
  85. package/dist/components/registry/niko-table/lib/render-cell-content.js +65 -0
  86. package/dist/components/registry/niko-table/lib/row-click.d.ts +67 -0
  87. package/dist/components/registry/niko-table/lib/row-click.js +28 -0
  88. package/dist/components/registry/niko-table/lib/styles.d.ts +6 -0
  89. package/dist/components/registry/niko-table/lib/styles.js +24 -0
  90. package/dist/components/registry/niko-table/lib/use-header-min-widths.d.ts +17 -0
  91. package/dist/components/registry/niko-table/lib/use-header-min-widths.js +82 -0
  92. package/dist/components/registry/niko-table/types/index.d.ts +141 -0
  93. package/dist/components/registry/niko-table/types/index.js +2 -0
  94. package/dist/components/registry/niko-table/ui/table.d.ts +13 -0
  95. package/dist/components/registry/niko-table/ui/table.js +74 -0
  96. package/dist/components/registry/sidebar-07/app-sidebar.d.ts +18 -0
  97. package/dist/components/registry/sidebar-07/app-sidebar.js +26 -0
  98. package/dist/components/registry/sidebar-07/nav-main.d.ts +15 -0
  99. package/dist/components/registry/sidebar-07/nav-main.js +25 -0
  100. package/dist/components/registry/sidebar-07/nav-projects.d.ts +9 -0
  101. package/dist/components/registry/sidebar-07/nav-projects.js +43 -0
  102. package/dist/components/registry/sidebar-07/nav-user.d.ts +9 -0
  103. package/dist/components/registry/sidebar-07/nav-user.js +70 -0
  104. package/dist/components/registry/sidebar-07/team-switcher.d.ts +10 -0
  105. package/dist/components/registry/sidebar-07/team-switcher.js +70 -0
  106. package/dist/components/siyahi/delta.d.ts +10 -0
  107. package/dist/components/siyahi/delta.js +27 -0
  108. package/dist/components/siyahi/local-time.d.ts +7 -0
  109. package/dist/components/siyahi/local-time.js +22 -0
  110. package/dist/components/siyahi/price-chart.d.ts +12 -0
  111. package/dist/components/siyahi/price-chart.js +80 -0
  112. package/dist/components/siyahi/siyahi-provider.d.ts +12 -0
  113. package/dist/components/siyahi/siyahi-provider.js +31 -0
  114. package/dist/components/siyahi/treemap.d.ts +14 -0
  115. package/dist/components/siyahi/treemap.js +58 -0
  116. package/dist/components/ui/alert.d.ts +12 -0
  117. package/dist/components/ui/alert.js +43 -0
  118. package/dist/components/ui/avatar.d.ts +13 -0
  119. package/dist/components/ui/avatar.js +50 -0
  120. package/dist/components/ui/badge.d.ts +9 -0
  121. package/dist/components/ui/badge.js +29 -0
  122. package/dist/components/ui/breadcrumb.d.ts +12 -0
  123. package/dist/components/ui/breadcrumb.js +72 -0
  124. package/dist/components/ui/button.d.ts +10 -0
  125. package/dist/components/ui/button.js +44 -0
  126. package/dist/components/ui/calendar.d.ts +12 -0
  127. package/dist/components/ui/calendar.js +107 -0
  128. package/dist/components/ui/card.d.ts +13 -0
  129. package/dist/components/ui/card.js +56 -0
  130. package/dist/components/ui/chart.d.ts +46 -0
  131. package/dist/components/ui/chart.js +149 -0
  132. package/dist/components/ui/collapsible.d.ts +7 -0
  133. package/dist/components/ui/collapsible.js +24 -0
  134. package/dist/components/ui/command.d.ts +21 -0
  135. package/dist/components/ui/command.js +88 -0
  136. package/dist/components/ui/context-menu.d.ts +31 -0
  137. package/dist/components/ui/context-menu.js +132 -0
  138. package/dist/components/ui/dialog.d.ts +19 -0
  139. package/dist/components/ui/dialog.js +91 -0
  140. package/dist/components/ui/dropdown-menu.d.ts +31 -0
  141. package/dist/components/ui/dropdown-menu.js +136 -0
  142. package/dist/components/ui/input-group.d.ts +20 -0
  143. package/dist/components/ui/input-group.js +79 -0
  144. package/dist/components/ui/input.d.ts +5 -0
  145. package/dist/components/ui/input.js +15 -0
  146. package/dist/components/ui/popover.d.ts +11 -0
  147. package/dist/components/ui/popover.js +55 -0
  148. package/dist/components/ui/progress.d.ts +9 -0
  149. package/dist/components/ui/progress.js +43 -0
  150. package/dist/components/ui/scroll-area.d.ts +7 -0
  151. package/dist/components/ui/scroll-area.js +36 -0
  152. package/dist/components/ui/select.d.ts +17 -0
  153. package/dist/components/ui/select.js +97 -0
  154. package/dist/components/ui/separator.d.ts +5 -0
  155. package/dist/components/ui/separator.js +15 -0
  156. package/dist/components/ui/sheet.d.ts +16 -0
  157. package/dist/components/ui/sheet.js +89 -0
  158. package/dist/components/ui/sidebar.d.ts +65 -0
  159. package/dist/components/ui/sidebar.js +385 -0
  160. package/dist/components/ui/skeleton.d.ts +4 -0
  161. package/dist/components/ui/skeleton.js +12 -0
  162. package/dist/components/ui/slider.d.ts +5 -0
  163. package/dist/components/ui/slider.js +33 -0
  164. package/dist/components/ui/table.d.ts +12 -0
  165. package/dist/components/ui/table.js +66 -0
  166. package/dist/components/ui/tabs.d.ts +12 -0
  167. package/dist/components/ui/tabs.js +45 -0
  168. package/dist/components/ui/textarea.d.ts +5 -0
  169. package/dist/components/ui/textarea.js +13 -0
  170. package/dist/components/ui/toggle-group.d.ts +13 -0
  171. package/dist/components/ui/toggle-group.js +52 -0
  172. package/dist/components/ui/toggle.d.ts +10 -0
  173. package/dist/components/ui/toggle.js +36 -0
  174. package/dist/components/ui/tooltip.d.ts +8 -0
  175. package/dist/components/ui/tooltip.js +41 -0
  176. package/dist/hooks/use-mobile.d.ts +3 -0
  177. package/dist/hooks/use-mobile.js +18 -0
  178. package/dist/index.d.ts +73 -0
  179. package/dist/index.js +71 -0
  180. package/dist/lib/format.d.ts +24 -0
  181. package/dist/lib/format.js +58 -0
  182. package/dist/lib/locale.d.ts +12 -0
  183. package/dist/lib/locale.js +8 -0
  184. package/dist/lib/recharts.d.ts +2 -0
  185. package/dist/lib/recharts.js +1 -0
  186. package/dist/lib/utils.d.ts +2 -0
  187. package/dist/lib/utils.js +1 -0
  188. package/package.json +78 -3
  189. package/registry.lock.json +413 -0
  190. package/report.css +129 -0
  191. package/styles/shadcn.css +643 -0
  192. package/styles/siyahi.css +189 -0
@@ -0,0 +1,15 @@
1
+ import "react";
2
+ import { cn } from "cn";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { Input as Input$1 } from "@base-ui/react/input";
5
+ //#region src/components/ui/input.tsx
6
+ function Input({ className, type, ...props }) {
7
+ return /* @__PURE__ */ jsx(Input$1, {
8
+ type,
9
+ "data-slot": "input",
10
+ className: cn("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-2.5 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 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:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", className),
11
+ ...props
12
+ });
13
+ }
14
+ //#endregion
15
+ export { Input };
@@ -0,0 +1,11 @@
1
+ import * as React$1 from "react";
2
+ import { Popover as Popover$1 } from "@base-ui/react/popover";
3
+ //#region src/components/ui/popover.d.ts
4
+ declare function Popover({ ...props }: Popover$1.Root.Props): React$1.JSX.Element;
5
+ declare function PopoverTrigger({ ...props }: Popover$1.Trigger.Props): React$1.JSX.Element;
6
+ declare function PopoverContent({ className, align, alignOffset, side, sideOffset, ...props }: Popover$1.Popup.Props & Pick<Popover$1.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset">): React$1.JSX.Element;
7
+ declare function PopoverHeader({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
8
+ declare function PopoverTitle({ className, ...props }: Popover$1.Title.Props): React$1.JSX.Element;
9
+ declare function PopoverDescription({ className, ...props }: Popover$1.Description.Props): React$1.JSX.Element;
10
+ //#endregion
11
+ export { Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger };
@@ -0,0 +1,55 @@
1
+ "use client";
2
+ import "react";
3
+ import { cn } from "cn";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import { Popover as Popover$1 } from "@base-ui/react/popover";
6
+ //#region src/components/ui/popover.tsx
7
+ function Popover({ ...props }) {
8
+ return /* @__PURE__ */ jsx(Popover$1.Root, {
9
+ "data-slot": "popover",
10
+ ...props
11
+ });
12
+ }
13
+ function PopoverTrigger({ ...props }) {
14
+ return /* @__PURE__ */ jsx(Popover$1.Trigger, {
15
+ "data-slot": "popover-trigger",
16
+ ...props
17
+ });
18
+ }
19
+ function PopoverContent({ className, align = "center", alignOffset = 0, side = "bottom", sideOffset = 4, ...props }) {
20
+ return /* @__PURE__ */ jsx(Popover$1.Portal, { children: /* @__PURE__ */ jsx(Popover$1.Positioner, {
21
+ align,
22
+ alignOffset,
23
+ side,
24
+ sideOffset,
25
+ className: "isolate z-50",
26
+ children: /* @__PURE__ */ jsx(Popover$1.Popup, {
27
+ "data-slot": "popover-content",
28
+ className: cn("z-50 flex w-72 origin-(--transform-origin) flex-col gap-4 rounded-md bg-popover p-4 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 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),
29
+ ...props
30
+ })
31
+ }) });
32
+ }
33
+ function PopoverHeader({ className, ...props }) {
34
+ return /* @__PURE__ */ jsx("div", {
35
+ "data-slot": "popover-header",
36
+ className: cn("flex flex-col gap-1 text-sm", className),
37
+ ...props
38
+ });
39
+ }
40
+ function PopoverTitle({ className, ...props }) {
41
+ return /* @__PURE__ */ jsx(Popover$1.Title, {
42
+ "data-slot": "popover-title",
43
+ className: cn("font-medium", className),
44
+ ...props
45
+ });
46
+ }
47
+ function PopoverDescription({ className, ...props }) {
48
+ return /* @__PURE__ */ jsx(Popover$1.Description, {
49
+ "data-slot": "popover-description",
50
+ className: cn("text-muted-foreground", className),
51
+ ...props
52
+ });
53
+ }
54
+ //#endregion
55
+ export { Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger };
@@ -0,0 +1,9 @@
1
+ import { Progress as Progress$1 } from "@base-ui/react/progress";
2
+ //#region src/components/ui/progress.d.ts
3
+ declare function Progress({ className, children, value, ...props }: Progress$1.Root.Props): import("react").JSX.Element;
4
+ declare function ProgressTrack({ className, ...props }: Progress$1.Track.Props): import("react").JSX.Element;
5
+ declare function ProgressIndicator({ className, ...props }: Progress$1.Indicator.Props): import("react").JSX.Element;
6
+ declare function ProgressLabel({ className, ...props }: Progress$1.Label.Props): import("react").JSX.Element;
7
+ declare function ProgressValue({ className, ...props }: Progress$1.Value.Props): import("react").JSX.Element;
8
+ //#endregion
9
+ export { Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue };
@@ -0,0 +1,43 @@
1
+ import { cn } from "cn";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { Progress as Progress$1 } from "@base-ui/react/progress";
4
+ //#region src/components/ui/progress.tsx
5
+ function Progress({ className, children, value, ...props }) {
6
+ return /* @__PURE__ */ jsxs(Progress$1.Root, {
7
+ value,
8
+ "data-slot": "progress",
9
+ className: cn("flex flex-wrap gap-3", className),
10
+ ...props,
11
+ children: [children, /* @__PURE__ */ jsx(ProgressTrack, { children: /* @__PURE__ */ jsx(ProgressIndicator, {}) })]
12
+ });
13
+ }
14
+ function ProgressTrack({ className, ...props }) {
15
+ return /* @__PURE__ */ jsx(Progress$1.Track, {
16
+ className: cn("relative flex h-1.5 w-full items-center overflow-x-hidden rounded-full bg-muted", className),
17
+ "data-slot": "progress-track",
18
+ ...props
19
+ });
20
+ }
21
+ function ProgressIndicator({ className, ...props }) {
22
+ return /* @__PURE__ */ jsx(Progress$1.Indicator, {
23
+ "data-slot": "progress-indicator",
24
+ className: cn("h-full bg-primary transition-all", className),
25
+ ...props
26
+ });
27
+ }
28
+ function ProgressLabel({ className, ...props }) {
29
+ return /* @__PURE__ */ jsx(Progress$1.Label, {
30
+ className: cn("text-sm font-medium", className),
31
+ "data-slot": "progress-label",
32
+ ...props
33
+ });
34
+ }
35
+ function ProgressValue({ className, ...props }) {
36
+ return /* @__PURE__ */ jsx(Progress$1.Value, {
37
+ className: cn("ml-auto text-sm text-muted-foreground tabular-nums", className),
38
+ "data-slot": "progress-value",
39
+ ...props
40
+ });
41
+ }
42
+ //#endregion
43
+ export { Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue };
@@ -0,0 +1,7 @@
1
+ import * as React$1 from "react";
2
+ import { ScrollArea as ScrollArea$1 } from "@base-ui/react/scroll-area";
3
+ //#region src/components/ui/scroll-area.d.ts
4
+ declare function ScrollArea({ className, children, ...props }: ScrollArea$1.Root.Props): React$1.JSX.Element;
5
+ declare function ScrollBar({ className, orientation, ...props }: ScrollArea$1.Scrollbar.Props): React$1.JSX.Element;
6
+ //#endregion
7
+ export { ScrollArea, ScrollBar };
@@ -0,0 +1,36 @@
1
+ import "react";
2
+ import { cn } from "cn";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { ScrollArea as ScrollArea$1 } from "@base-ui/react/scroll-area";
5
+ //#region src/components/ui/scroll-area.tsx
6
+ function ScrollArea({ className, children, ...props }) {
7
+ return /* @__PURE__ */ jsxs(ScrollArea$1.Root, {
8
+ "data-slot": "scroll-area",
9
+ className: cn("relative", className),
10
+ ...props,
11
+ children: [
12
+ /* @__PURE__ */ jsx(ScrollArea$1.Viewport, {
13
+ "data-slot": "scroll-area-viewport",
14
+ className: "size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",
15
+ children
16
+ }),
17
+ /* @__PURE__ */ jsx(ScrollBar, {}),
18
+ /* @__PURE__ */ jsx(ScrollArea$1.Corner, {})
19
+ ]
20
+ });
21
+ }
22
+ function ScrollBar({ className, orientation = "vertical", ...props }) {
23
+ return /* @__PURE__ */ jsx(ScrollArea$1.Scrollbar, {
24
+ "data-slot": "scroll-area-scrollbar",
25
+ "data-orientation": orientation,
26
+ orientation,
27
+ className: cn("flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent", className),
28
+ ...props,
29
+ children: /* @__PURE__ */ jsx(ScrollArea$1.Thumb, {
30
+ "data-slot": "scroll-area-thumb",
31
+ className: "relative flex-1 rounded-full bg-border"
32
+ })
33
+ });
34
+ }
35
+ //#endregion
36
+ export { ScrollArea, ScrollBar };
@@ -0,0 +1,17 @@
1
+ import * as React$1 from "react";
2
+ import { Select as Select$1 } from "@base-ui/react/select";
3
+ //#region src/components/ui/select.d.ts
4
+ declare const Select: typeof Select$1.Root;
5
+ declare function SelectGroup({ className, ...props }: Select$1.Group.Props): React$1.JSX.Element;
6
+ declare function SelectValue({ className, ...props }: Select$1.Value.Props): React$1.JSX.Element;
7
+ declare function SelectTrigger({ className, size, children, ...props }: Select$1.Trigger.Props & {
8
+ size?: "sm" | "default";
9
+ }): React$1.JSX.Element;
10
+ declare function SelectContent({ className, children, side, sideOffset, align, alignOffset, alignItemWithTrigger, ...props }: Select$1.Popup.Props & Pick<Select$1.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset" | "alignItemWithTrigger">): React$1.JSX.Element;
11
+ declare function SelectLabel({ className, ...props }: Select$1.GroupLabel.Props): React$1.JSX.Element;
12
+ declare function SelectItem({ className, children, ...props }: Select$1.Item.Props): React$1.JSX.Element;
13
+ declare function SelectSeparator({ className, ...props }: Select$1.Separator.Props): React$1.JSX.Element;
14
+ declare function SelectScrollUpButton({ className, ...props }: React$1.ComponentProps<typeof Select$1.ScrollUpArrow>): React$1.JSX.Element;
15
+ declare function SelectScrollDownButton({ className, ...props }: React$1.ComponentProps<typeof Select$1.ScrollDownArrow>): React$1.JSX.Element;
16
+ //#endregion
17
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue };
@@ -0,0 +1,97 @@
1
+ import "react";
2
+ import { cn } from "cn";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
5
+ import { Select as Select$1 } from "@base-ui/react/select";
6
+ //#region src/components/ui/select.tsx
7
+ const Select = Select$1.Root;
8
+ function SelectGroup({ className, ...props }) {
9
+ return /* @__PURE__ */ jsx(Select$1.Group, {
10
+ "data-slot": "select-group",
11
+ className: cn("scroll-my-1 p-1", className),
12
+ ...props
13
+ });
14
+ }
15
+ function SelectValue({ className, ...props }) {
16
+ return /* @__PURE__ */ jsx(Select$1.Value, {
17
+ "data-slot": "select-value",
18
+ className: cn("flex flex-1 text-left", className),
19
+ ...props
20
+ });
21
+ }
22
+ function SelectTrigger({ className, size = "default", children, ...props }) {
23
+ return /* @__PURE__ */ jsxs(Select$1.Trigger, {
24
+ "data-slot": "select-trigger",
25
+ "data-size": size,
26
+ className: cn("flex w-fit items-center justify-between gap-1.5 rounded-md border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 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", className),
27
+ ...props,
28
+ children: [children, /* @__PURE__ */ jsx(Select$1.Icon, { render: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "pointer-events-none size-4 text-muted-foreground" }) })]
29
+ });
30
+ }
31
+ function SelectContent({ className, children, side = "bottom", sideOffset = 4, align = "center", alignOffset = 0, alignItemWithTrigger = true, ...props }) {
32
+ return /* @__PURE__ */ jsx(Select$1.Portal, { children: /* @__PURE__ */ jsx(Select$1.Positioner, {
33
+ side,
34
+ sideOffset,
35
+ align,
36
+ alignOffset,
37
+ alignItemWithTrigger,
38
+ className: "isolate z-50",
39
+ children: /* @__PURE__ */ jsxs(Select$1.Popup, {
40
+ "data-slot": "select-content",
41
+ "data-align-trigger": alignItemWithTrigger,
42
+ className: cn("relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]: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),
43
+ ...props,
44
+ children: [
45
+ /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
46
+ /* @__PURE__ */ jsx(Select$1.List, { children }),
47
+ /* @__PURE__ */ jsx(SelectScrollDownButton, {})
48
+ ]
49
+ })
50
+ }) });
51
+ }
52
+ function SelectLabel({ className, ...props }) {
53
+ return /* @__PURE__ */ jsx(Select$1.GroupLabel, {
54
+ "data-slot": "select-label",
55
+ className: cn("px-2 py-1.5 text-xs text-muted-foreground", className),
56
+ ...props
57
+ });
58
+ }
59
+ function SelectItem({ className, children, ...props }) {
60
+ return /* @__PURE__ */ jsxs(Select$1.Item, {
61
+ "data-slot": "select-item",
62
+ className: cn("relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", className),
63
+ ...props,
64
+ children: [/* @__PURE__ */ jsx(Select$1.ItemText, {
65
+ className: "flex flex-1 shrink-0 gap-2 whitespace-nowrap",
66
+ children
67
+ }), /* @__PURE__ */ jsx(Select$1.ItemIndicator, {
68
+ render: /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center" }),
69
+ children: /* @__PURE__ */ jsx(CheckIcon, { className: "pointer-events-none" })
70
+ })]
71
+ });
72
+ }
73
+ function SelectSeparator({ className, ...props }) {
74
+ return /* @__PURE__ */ jsx(Select$1.Separator, {
75
+ "data-slot": "select-separator",
76
+ className: cn("pointer-events-none -mx-1 my-1 h-px bg-border", className),
77
+ ...props
78
+ });
79
+ }
80
+ function SelectScrollUpButton({ className, ...props }) {
81
+ return /* @__PURE__ */ jsx(Select$1.ScrollUpArrow, {
82
+ "data-slot": "select-scroll-up-button",
83
+ className: cn("top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", className),
84
+ ...props,
85
+ children: /* @__PURE__ */ jsx(ChevronUpIcon, {})
86
+ });
87
+ }
88
+ function SelectScrollDownButton({ className, ...props }) {
89
+ return /* @__PURE__ */ jsx(Select$1.ScrollDownArrow, {
90
+ "data-slot": "select-scroll-down-button",
91
+ className: cn("bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", className),
92
+ ...props,
93
+ children: /* @__PURE__ */ jsx(ChevronDownIcon, {})
94
+ });
95
+ }
96
+ //#endregion
97
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue };
@@ -0,0 +1,5 @@
1
+ import { Separator as Separator$1 } from "@base-ui/react/separator";
2
+ //#region src/components/ui/separator.d.ts
3
+ declare function Separator({ className, orientation, ...props }: Separator$1.Props): import("react").JSX.Element;
4
+ //#endregion
5
+ export { Separator };
@@ -0,0 +1,15 @@
1
+ "use client";
2
+ import { cn } from "cn";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { Separator as Separator$1 } from "@base-ui/react/separator";
5
+ //#region src/components/ui/separator.tsx
6
+ function Separator({ className, orientation = "horizontal", ...props }) {
7
+ return /* @__PURE__ */ jsx(Separator$1, {
8
+ "data-slot": "separator",
9
+ orientation,
10
+ className: cn("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch", className),
11
+ ...props
12
+ });
13
+ }
14
+ //#endregion
15
+ export { Separator };
@@ -0,0 +1,16 @@
1
+ import * as React$1 from "react";
2
+ import { Dialog } from "@base-ui/react/dialog";
3
+ //#region src/components/ui/sheet.d.ts
4
+ declare function Sheet({ ...props }: Dialog.Root.Props): React$1.JSX.Element;
5
+ declare function SheetTrigger({ ...props }: Dialog.Trigger.Props): React$1.JSX.Element;
6
+ declare function SheetClose({ ...props }: Dialog.Close.Props): React$1.JSX.Element;
7
+ declare function SheetContent({ className, children, side, showCloseButton, ...props }: Dialog.Popup.Props & {
8
+ side?: "top" | "right" | "bottom" | "left";
9
+ showCloseButton?: boolean;
10
+ }): React$1.JSX.Element;
11
+ declare function SheetHeader({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
12
+ declare function SheetFooter({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
13
+ declare function SheetTitle({ className, ...props }: Dialog.Title.Props): React$1.JSX.Element;
14
+ declare function SheetDescription({ className, ...props }: Dialog.Description.Props): React$1.JSX.Element;
15
+ //#endregion
16
+ export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger };
@@ -0,0 +1,89 @@
1
+ "use client";
2
+ import { Button } from "./button.js";
3
+ import "react";
4
+ import { cn } from "cn";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { XIcon } from "lucide-react";
7
+ import { Dialog } from "@base-ui/react/dialog";
8
+ //#region src/components/ui/sheet.tsx
9
+ function Sheet({ ...props }) {
10
+ return /* @__PURE__ */ jsx(Dialog.Root, {
11
+ "data-slot": "sheet",
12
+ ...props
13
+ });
14
+ }
15
+ function SheetTrigger({ ...props }) {
16
+ return /* @__PURE__ */ jsx(Dialog.Trigger, {
17
+ "data-slot": "sheet-trigger",
18
+ ...props
19
+ });
20
+ }
21
+ function SheetClose({ ...props }) {
22
+ return /* @__PURE__ */ jsx(Dialog.Close, {
23
+ "data-slot": "sheet-close",
24
+ ...props
25
+ });
26
+ }
27
+ function SheetPortal({ ...props }) {
28
+ return /* @__PURE__ */ jsx(Dialog.Portal, {
29
+ "data-slot": "sheet-portal",
30
+ ...props
31
+ });
32
+ }
33
+ function SheetOverlay({ className, ...props }) {
34
+ return /* @__PURE__ */ jsx(Dialog.Backdrop, {
35
+ "data-slot": "sheet-overlay",
36
+ className: cn("fixed inset-0 z-50 bg-black/10 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs", className),
37
+ ...props
38
+ });
39
+ }
40
+ function SheetContent({ className, children, side = "right", showCloseButton = true, ...props }) {
41
+ return /* @__PURE__ */ jsxs(SheetPortal, { children: [/* @__PURE__ */ jsx(SheetOverlay, {}), /* @__PURE__ */ jsxs(Dialog.Popup, {
42
+ "data-slot": "sheet-content",
43
+ "data-side": side,
44
+ className: cn("fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm", className),
45
+ ...props,
46
+ children: [children, showCloseButton && /* @__PURE__ */ jsxs(Dialog.Close, {
47
+ "data-slot": "sheet-close",
48
+ render: /* @__PURE__ */ jsx(Button, {
49
+ variant: "ghost",
50
+ className: "absolute top-4 right-4",
51
+ size: "icon-sm"
52
+ }),
53
+ children: [/* @__PURE__ */ jsx(XIcon, {}), /* @__PURE__ */ jsx("span", {
54
+ className: "sr-only",
55
+ children: "Close"
56
+ })]
57
+ })]
58
+ })] });
59
+ }
60
+ function SheetHeader({ className, ...props }) {
61
+ return /* @__PURE__ */ jsx("div", {
62
+ "data-slot": "sheet-header",
63
+ className: cn("flex flex-col gap-1.5 p-4", className),
64
+ ...props
65
+ });
66
+ }
67
+ function SheetFooter({ className, ...props }) {
68
+ return /* @__PURE__ */ jsx("div", {
69
+ "data-slot": "sheet-footer",
70
+ className: cn("mt-auto flex flex-col gap-2 p-4", className),
71
+ ...props
72
+ });
73
+ }
74
+ function SheetTitle({ className, ...props }) {
75
+ return /* @__PURE__ */ jsx(Dialog.Title, {
76
+ "data-slot": "sheet-title",
77
+ className: cn("font-medium text-foreground", className),
78
+ ...props
79
+ });
80
+ }
81
+ function SheetDescription({ className, ...props }) {
82
+ return /* @__PURE__ */ jsx(Dialog.Description, {
83
+ "data-slot": "sheet-description",
84
+ className: cn("text-sm text-muted-foreground", className),
85
+ ...props
86
+ });
87
+ }
88
+ //#endregion
89
+ export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger };
@@ -0,0 +1,65 @@
1
+ import { Button } from "./button.js";
2
+ import { Input } from "./input.js";
3
+ import { Separator } from "./separator.js";
4
+ import { TooltipContent } from "./tooltip.js";
5
+ import * as React$1 from "react";
6
+ import { VariantProps } from "class-variance-authority";
7
+ import { useRender } from "@base-ui/react/use-render";
8
+ //#region src/components/ui/sidebar.d.ts
9
+ type SidebarContextProps = {
10
+ state: "expanded" | "collapsed";
11
+ open: boolean;
12
+ setOpen: (open: boolean) => void;
13
+ openMobile: boolean;
14
+ setOpenMobile: (open: boolean) => void;
15
+ isMobile: boolean;
16
+ toggleSidebar: () => void;
17
+ };
18
+ declare function useSidebar(): SidebarContextProps;
19
+ declare function SidebarProvider({ defaultOpen, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }: React$1.ComponentProps<"div"> & {
20
+ defaultOpen?: boolean;
21
+ open?: boolean;
22
+ onOpenChange?: (open: boolean) => void;
23
+ }): React$1.JSX.Element;
24
+ declare function Sidebar({ side, variant, collapsible, className, children, dir, ...props }: React$1.ComponentProps<"div"> & {
25
+ side?: "left" | "right";
26
+ variant?: "sidebar" | "floating" | "inset";
27
+ collapsible?: "offcanvas" | "icon" | "none";
28
+ }): React$1.JSX.Element;
29
+ declare function SidebarTrigger({ className, onClick, ...props }: React$1.ComponentProps<typeof Button>): React$1.JSX.Element;
30
+ declare function SidebarRail({ className, ...props }: React$1.ComponentProps<"button">): React$1.JSX.Element;
31
+ declare function SidebarInset({ className, ...props }: React$1.ComponentProps<"main">): React$1.JSX.Element;
32
+ declare function SidebarInput({ className, ...props }: React$1.ComponentProps<typeof Input>): React$1.JSX.Element;
33
+ declare function SidebarHeader({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
34
+ declare function SidebarFooter({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
35
+ declare function SidebarSeparator({ className, ...props }: React$1.ComponentProps<typeof Separator>): React$1.JSX.Element;
36
+ declare function SidebarContent({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
37
+ declare function SidebarGroup({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
38
+ declare function SidebarGroupLabel({ className, render, ...props }: useRender.ComponentProps<"div"> & React$1.ComponentProps<"div">): React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>>;
39
+ declare function SidebarGroupAction({ className, render, ...props }: useRender.ComponentProps<"button"> & React$1.ComponentProps<"button">): React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>>;
40
+ declare function SidebarGroupContent({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
41
+ declare function SidebarMenu({ className, ...props }: React$1.ComponentProps<"ul">): React$1.JSX.Element;
42
+ declare function SidebarMenuItem({ className, ...props }: React$1.ComponentProps<"li">): React$1.JSX.Element;
43
+ declare const sidebarMenuButtonVariants: (props?: ({
44
+ variant?: "default" | "outline" | null | undefined;
45
+ size?: "default" | "lg" | "sm" | null | undefined;
46
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
47
+ declare function SidebarMenuButton({ render, isActive, variant, size, tooltip, className, ...props }: useRender.ComponentProps<"button"> & React$1.ComponentProps<"button"> & {
48
+ isActive?: boolean;
49
+ tooltip?: string | React$1.ComponentProps<typeof TooltipContent>;
50
+ } & VariantProps<typeof sidebarMenuButtonVariants>): React$1.JSX.Element;
51
+ declare function SidebarMenuAction({ className, render, showOnHover, ...props }: useRender.ComponentProps<"button"> & React$1.ComponentProps<"button"> & {
52
+ showOnHover?: boolean;
53
+ }): React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>>;
54
+ declare function SidebarMenuBadge({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
55
+ declare function SidebarMenuSkeleton({ className, showIcon, ...props }: React$1.ComponentProps<"div"> & {
56
+ showIcon?: boolean;
57
+ }): React$1.JSX.Element;
58
+ declare function SidebarMenuSub({ className, ...props }: React$1.ComponentProps<"ul">): React$1.JSX.Element;
59
+ declare function SidebarMenuSubItem({ className, ...props }: React$1.ComponentProps<"li">): React$1.JSX.Element;
60
+ declare function SidebarMenuSubButton({ render, size, isActive, className, ...props }: useRender.ComponentProps<"a"> & React$1.ComponentProps<"a"> & {
61
+ size?: "sm" | "md";
62
+ isActive?: boolean;
63
+ }): React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>>;
64
+ //#endregion
65
+ export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar };