@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,52 @@
1
+ import { toggleVariants } from "./toggle.js";
2
+ import * as React$1 from "react";
3
+ import "class-variance-authority";
4
+ import { cn } from "cn";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import { Toggle } from "@base-ui/react/toggle";
7
+ import { ToggleGroup as ToggleGroup$1 } from "@base-ui/react/toggle-group";
8
+ //#region src/components/ui/toggle-group.tsx
9
+ const ToggleGroupContext = React$1.createContext({
10
+ size: "default",
11
+ variant: "default",
12
+ spacing: 2,
13
+ orientation: "horizontal"
14
+ });
15
+ function ToggleGroup({ className, variant, size, spacing = 2, orientation = "horizontal", children, ...props }) {
16
+ return /* @__PURE__ */ jsx(ToggleGroup$1, {
17
+ "data-slot": "toggle-group",
18
+ "data-variant": variant,
19
+ "data-size": size,
20
+ "data-spacing": spacing,
21
+ "data-orientation": orientation,
22
+ style: { "--gap": spacing },
23
+ className: cn("group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=0]:data-[variant=outline]:shadow-xs data-vertical:flex-col data-vertical:items-stretch", className),
24
+ ...props,
25
+ children: /* @__PURE__ */ jsx(ToggleGroupContext.Provider, {
26
+ value: {
27
+ variant,
28
+ size,
29
+ spacing,
30
+ orientation
31
+ },
32
+ children
33
+ })
34
+ });
35
+ }
36
+ function ToggleGroupItem({ className, children, variant = "default", size = "default", ...props }) {
37
+ const context = React$1.useContext(ToggleGroupContext);
38
+ return /* @__PURE__ */ jsx(Toggle, {
39
+ "data-slot": "toggle-group-item",
40
+ "data-variant": context.variant || variant,
41
+ "data-size": context.size || size,
42
+ "data-spacing": context.spacing,
43
+ className: cn("shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 group-data-[spacing=0]/toggle-group:shadow-none focus:z-10 focus-visible:z-10 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-end]:pr-1.5 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-start]:pl-1.5 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-md group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-md group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-md group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-md data-[state=on]:bg-muted group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t", toggleVariants({
44
+ variant: context.variant || variant,
45
+ size: context.size || size
46
+ }), className),
47
+ ...props,
48
+ children
49
+ });
50
+ }
51
+ //#endregion
52
+ export { ToggleGroup, ToggleGroupItem };
@@ -0,0 +1,10 @@
1
+ import { VariantProps } from "class-variance-authority";
2
+ import { Toggle as Toggle$1 } from "@base-ui/react/toggle";
3
+ //#region src/components/ui/toggle.d.ts
4
+ declare const toggleVariants: (props?: ({
5
+ variant?: "default" | "outline" | null | undefined;
6
+ size?: "default" | "lg" | "sm" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ declare function Toggle({ className, variant, size, ...props }: Toggle$1.Props & VariantProps<typeof toggleVariants>): import("react").JSX.Element;
9
+ //#endregion
10
+ export { Toggle, toggleVariants };
@@ -0,0 +1,36 @@
1
+ "use client";
2
+ import { cva } from "class-variance-authority";
3
+ import { cn } from "cn";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import { Toggle as Toggle$1 } from "@base-ui/react/toggle";
6
+ //#region src/components/ui/toggle.tsx
7
+ const toggleVariants = cva("group/toggle inline-flex items-center justify-center gap-1 rounded-md text-sm font-medium whitespace-nowrap transition-[color,box-shadow] outline-none hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:bg-muted dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
8
+ variants: {
9
+ variant: {
10
+ default: "bg-transparent",
11
+ outline: "border border-input bg-transparent shadow-xs hover:bg-muted"
12
+ },
13
+ size: {
14
+ default: "h-9 min-w-9 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
15
+ sm: "h-8 min-w-8 px-2.5 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5",
16
+ lg: "h-10 min-w-10 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2"
17
+ }
18
+ },
19
+ defaultVariants: {
20
+ variant: "default",
21
+ size: "default"
22
+ }
23
+ });
24
+ function Toggle({ className, variant = "default", size = "default", ...props }) {
25
+ return /* @__PURE__ */ jsx(Toggle$1, {
26
+ "data-slot": "toggle",
27
+ className: cn(toggleVariants({
28
+ variant,
29
+ size,
30
+ className
31
+ })),
32
+ ...props
33
+ });
34
+ }
35
+ //#endregion
36
+ export { Toggle, toggleVariants };
@@ -0,0 +1,8 @@
1
+ import { Tooltip as Tooltip$1 } from "@base-ui/react/tooltip";
2
+ //#region src/components/ui/tooltip.d.ts
3
+ declare function TooltipProvider({ delay, ...props }: Tooltip$1.Provider.Props): import("react").JSX.Element;
4
+ declare function Tooltip({ ...props }: Tooltip$1.Root.Props): import("react").JSX.Element;
5
+ declare function TooltipTrigger({ ...props }: Tooltip$1.Trigger.Props): import("react").JSX.Element;
6
+ declare function TooltipContent({ className, side, sideOffset, align, alignOffset, children, ...props }: Tooltip$1.Popup.Props & Pick<Tooltip$1.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset">): import("react").JSX.Element;
7
+ //#endregion
8
+ export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
@@ -0,0 +1,41 @@
1
+ "use client";
2
+ import { cn } from "cn";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { Tooltip as Tooltip$1 } from "@base-ui/react/tooltip";
5
+ //#region src/components/ui/tooltip.tsx
6
+ function TooltipProvider({ delay = 0, ...props }) {
7
+ return /* @__PURE__ */ jsx(Tooltip$1.Provider, {
8
+ "data-slot": "tooltip-provider",
9
+ delay,
10
+ ...props
11
+ });
12
+ }
13
+ function Tooltip({ ...props }) {
14
+ return /* @__PURE__ */ jsx(Tooltip$1.Root, {
15
+ "data-slot": "tooltip",
16
+ ...props
17
+ });
18
+ }
19
+ function TooltipTrigger({ ...props }) {
20
+ return /* @__PURE__ */ jsx(Tooltip$1.Trigger, {
21
+ "data-slot": "tooltip-trigger",
22
+ ...props
23
+ });
24
+ }
25
+ function TooltipContent({ className, side = "top", sideOffset = 4, align = "center", alignOffset = 0, children, ...props }) {
26
+ return /* @__PURE__ */ jsx(Tooltip$1.Portal, { children: /* @__PURE__ */ jsx(Tooltip$1.Positioner, {
27
+ align,
28
+ alignOffset,
29
+ side,
30
+ sideOffset,
31
+ className: "isolate z-50",
32
+ children: /* @__PURE__ */ jsxs(Tooltip$1.Popup, {
33
+ "data-slot": "tooltip-content",
34
+ className: cn("z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pr-1.5 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-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 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),
35
+ ...props,
36
+ children: [children, /* @__PURE__ */ jsx(Tooltip$1.Arrow, { className: "z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5" })]
37
+ })
38
+ }) });
39
+ }
40
+ //#endregion
41
+ export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
@@ -0,0 +1,3 @@
1
+ //#region src/hooks/use-mobile.d.ts
2
+ export declare function useIsMobile(): boolean;
3
+ //#endregion
@@ -0,0 +1,18 @@
1
+ import * as React$1 from "react";
2
+ //#region src/hooks/use-mobile.ts
3
+ const MOBILE_BREAKPOINT = 768;
4
+ function useIsMobile() {
5
+ const [isMobile, setIsMobile] = React$1.useState(void 0);
6
+ React$1.useEffect(() => {
7
+ const mql = window.matchMedia(`(max-width: 767px)`);
8
+ const onChange = () => {
9
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
10
+ };
11
+ mql.addEventListener("change", onChange);
12
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
13
+ return () => mql.removeEventListener("change", onChange);
14
+ }, []);
15
+ return !!isMobile;
16
+ }
17
+ //#endregion
18
+ export { useIsMobile };
@@ -0,0 +1,73 @@
1
+ import { SectionCard, SectionCards } from "./components/registry/dashboard-01/section-cards.js";
2
+ import { BarList, BarListItem, BarListProps } from "./components/registry/dashboardcn/bar-list.js";
3
+ import { Activity, CalendarHeatmap, CalendarHeatmapBlock, CalendarHeatmapBlockProps, CalendarHeatmapBody, CalendarHeatmapBodyProps, CalendarHeatmapFooter, CalendarHeatmapFooterProps, CalendarHeatmapLegend, CalendarHeatmapLegendProps, CalendarHeatmapProps, CalendarHeatmapStat, CalendarHeatmapStatProps, ColorConfig, Labels } from "./components/registry/heatmap/calendar-heatmap.js";
4
+ import { StatusActivity, StatusColorConfig, StatusHeatmap, StatusHeatmapBlock, StatusHeatmapBlockProps, StatusHeatmapBody, StatusHeatmapBodyProps, StatusHeatmapFooter, StatusHeatmapFooterProps, StatusHeatmapLabels, StatusHeatmapLegend, StatusHeatmapLegendProps, StatusHeatmapProps, StatusHeatmapStat, StatusHeatmapStatProps, StatusValue } from "./components/registry/heatmap/status-heatmap.js";
5
+ import { ColorConfig as ColorConfig$1, WeekdayExtraColumnSpec, WeekdayExtraRowSpec, WeekdayHeatmap, WeekdayHeatmapBlock, WeekdayHeatmapBlockProps, WeekdayHeatmapBody, WeekdayHeatmapBodyProps, WeekdayHeatmapFooter, WeekdayHeatmapFooterProps, WeekdayHeatmapLabels, WeekdayHeatmapLegend, WeekdayHeatmapLegendProps, WeekdayHeatmapProps, WeekdayHeatmapStat, WeekdayHeatmapStatProps, WeekdayHour, WeekdayHourlyActivity, WeekdayIndex } from "./components/registry/heatmap/weekday-heatmap.js";
6
+ import { TableColumnActions, TableColumnActionsProps } from "./components/registry/niko-table/filters/table-column-actions.js";
7
+ import { DataTableColumnActions } from "./components/registry/niko-table/components/data-table-column-actions.js";
8
+ import { DataTableColumnFilter } from "./components/registry/niko-table/components/data-table-column-filter.js";
9
+ import { DataTableCell, DataTableColumn, DataTableColumnDef, DataTableColumns, DataTableHeader as DataTableHeader$1, DataTableInstance, DataTableRow, ExtendedColumnFilter, ExtendedColumnSort, FilterOperator, FilterOperatorValues, FilterVariant, FilterVariantValues, GlobalFilter, JoinOperator, JoinOperatorValues, Option, QueryKeys, ValueOf } from "./components/registry/niko-table/types/index.js";
10
+ import { DataTableColumnHeader, DataTableColumnHeaderProps, DataTableColumnHeaderRoot, useColumnHeaderContext } from "./components/registry/niko-table/components/data-table-column-header.js";
11
+ import { TableColumnSortMenu, TableColumnSortOptions } from "./components/registry/niko-table/filters/table-column-sort.js";
12
+ import { DataTableColumnSortMenu, DataTableColumnSortOptions } from "./components/registry/niko-table/components/data-table-column-sort.js";
13
+ import { TableColumnTitle } from "./components/registry/niko-table/filters/table-column-title.js";
14
+ import { DataTableColumnTitle } from "./components/registry/niko-table/components/data-table-column-title.js";
15
+ import { DataTableEmptyActions, DataTableEmptyActionsProps, DataTableEmptyDescription, DataTableEmptyDescriptionProps, DataTableEmptyFilteredMessage, DataTableEmptyFilteredMessageProps, DataTableEmptyIcon, DataTableEmptyIconProps, DataTableEmptyMessage, DataTableEmptyMessageProps, DataTableEmptyState, DataTableEmptyStateProps, DataTableEmptyTitle, DataTableEmptyTitleProps } from "./components/registry/niko-table/components/data-table-empty-state.js";
16
+ import { TableFacetedFilter, TableFacetedFilterContent, TableFacetedFilterProps, useTableFacetedFilter } from "./components/registry/niko-table/filters/table-faceted-filter.js";
17
+ import { DataTableFacetedFilter, DataTableFacetedFilterContent } from "./components/registry/niko-table/components/data-table-faceted-filter.js";
18
+ import { DataTableGroupRowContextValue, DataTableGroupRowProvider, DataTableGroupedRows, DataTableGroupedRowsProps, resolveGroupedRowsSlot, useDataTableGroupRow } from "./components/registry/niko-table/components/data-table-grouped-rows.js";
19
+ import { DataTableRowContextMenuSlot, DataTableRowContextMenuSlotProps, resolveRowContextMenuRenderer, useResolvedRowContextMenuRenderer } from "./components/registry/niko-table/components/data-table-row-context-menu-slot.js";
20
+ import { DataTableRowContextMenu, DataTableRowContextMenuProps } from "./components/registry/niko-table/components/data-table-row-context-menu.js";
21
+ import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from "./components/ui/dropdown-menu.js";
22
+ import { DataTableRowMenuScope, RowMenuGroup, RowMenuItem, RowMenuLabel, RowMenuSeparator, RowMenuSub, RowMenuSubContent, RowMenuSubTrigger, useDataTableRow } from "./components/registry/niko-table/components/data-table-row-menu.js";
23
+ import { DataTableToolbarSection, DataTableToolbarSectionProps } from "./components/registry/niko-table/components/data-table-toolbar-section.js";
24
+ import { ActiveCell, ActiveSelection, ColumnResizeInfo, DataTableActions, DataTableContext, DataTableContextState, DataTableProvider, FlashCellRef, FlashCells, FlashRows, FlashRowsOptions, ScrollAlign, ScrollRowIntoView, flashCellKey, useColumnResizeInfo, useDataTable, useDataTableActiveCell, useDataTableActiveCellSetter } from "./components/registry/niko-table/core/data-table-context.js";
25
+ import { DataTableErrorBoundary, DataTableErrorBoundaryProps } from "./components/registry/niko-table/core/data-table-error-boundary.js";
26
+ import { DataTableGroupedRowCells, GroupedBodyRow, GroupedBodyRowProps } from "./components/registry/niko-table/core/data-table-grouped-row.js";
27
+ import { DataTableConfig, DataTableRoot } from "./components/registry/niko-table/core/data-table-root.js";
28
+ import { ScrollEvent } from "./components/registry/niko-table/lib/create-scroll-handler.js";
29
+ import { DataTableBody, DataTableBodyProps, DataTableEmptyBody, DataTableEmptyBodyProps, DataTableHeader, DataTableHeaderProps, DataTableLoading, DataTableLoadingMore, DataTableLoadingMoreProps, DataTableLoadingProps, DataTableSkeleton, DataTableSkeletonProps } from "./components/registry/niko-table/core/data-table-structure.js";
30
+ import { DataTable, DataTableContainerProps } from "./components/registry/niko-table/core/data-table.js";
31
+ import { NavMain } from "./components/registry/sidebar-07/nav-main.js";
32
+ import { NavProjects } from "./components/registry/sidebar-07/nav-projects.js";
33
+ import { NavUser } from "./components/registry/sidebar-07/nav-user.js";
34
+ import { TeamSwitcher } from "./components/registry/sidebar-07/team-switcher.js";
35
+ import { Button, buttonVariants } from "./components/ui/button.js";
36
+ import { Input } from "./components/ui/input.js";
37
+ import { Separator } from "./components/ui/separator.js";
38
+ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./components/ui/tooltip.js";
39
+ import { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar } from "./components/ui/sidebar.js";
40
+ import { AppSidebar, AppSidebarProps } from "./components/registry/sidebar-07/app-sidebar.js";
41
+ import { Delta, DeltaProps } from "./components/siyahi/delta.js";
42
+ import { LocalTime, LocalTimeProps } from "./components/siyahi/local-time.js";
43
+ import { PriceChart, PriceChartProps } from "./components/siyahi/price-chart.js";
44
+ import { SiyahiLocale, defaultLocale } from "./lib/locale.js";
45
+ import { SiyahiProvider, SiyahiProviderProps, useLocale } from "./components/siyahi/siyahi-provider.js";
46
+ import { Treemap, TreemapItem } from "./components/siyahi/treemap.js";
47
+ import { Alert, AlertAction, AlertDescription, AlertTitle } from "./components/ui/alert.js";
48
+ import { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage } from "./components/ui/avatar.js";
49
+ import { Badge, badgeVariants } from "./components/ui/badge.js";
50
+ import { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from "./components/ui/breadcrumb.js";
51
+ import { Calendar, CalendarDayButton } from "./components/ui/calendar.js";
52
+ import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "./components/ui/card.js";
53
+ import { ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent } from "./components/ui/chart.js";
54
+ import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "./components/ui/collapsible.js";
55
+ import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from "./components/ui/dialog.js";
56
+ import { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut } from "./components/ui/command.js";
57
+ import { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger } from "./components/ui/context-menu.js";
58
+ import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea } from "./components/ui/input-group.js";
59
+ import { Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger } from "./components/ui/popover.js";
60
+ import { Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue } from "./components/ui/progress.js";
61
+ import { ScrollArea, ScrollBar } from "./components/ui/scroll-area.js";
62
+ import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue } from "./components/ui/select.js";
63
+ import { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger } from "./components/ui/sheet.js";
64
+ import { Skeleton } from "./components/ui/skeleton.js";
65
+ import { Slider } from "./components/ui/slider.js";
66
+ import { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from "./components/ui/table.js";
67
+ import { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants } from "./components/ui/tabs.js";
68
+ import { Textarea } from "./components/ui/textarea.js";
69
+ import { Toggle, toggleVariants } from "./components/ui/toggle.js";
70
+ import { ToggleGroup, ToggleGroupItem } from "./components/ui/toggle-group.js";
71
+ import { Formatters, money, moneyCompact, pct, time, useFormat } from "./lib/format.js";
72
+ import { Area, AreaChart, Bar, BarChart, CartesianGrid, Line, LineChart, ReferenceLine, XAxis, YAxis } from "./lib/recharts.js";
73
+ export { ActiveCell, ActiveSelection, Activity, Alert, AlertAction, AlertDescription, AlertTitle, AppSidebar, AppSidebarProps, Area, AreaChart, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Bar, BarChart, BarList, BarListItem, BarListProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, CalendarDayButton, CalendarHeatmap, CalendarHeatmapBlock, CalendarHeatmapBlockProps, CalendarHeatmapBody, CalendarHeatmapBodyProps, CalendarHeatmapFooter, CalendarHeatmapFooterProps, CalendarHeatmapLegend, CalendarHeatmapLegendProps, CalendarHeatmapProps, CalendarHeatmapStat, CalendarHeatmapStatProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CartesianGrid, ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorConfig, ColumnResizeInfo, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DataTable, DataTableActions, DataTableBody, DataTableBodyProps, type DataTableCell, type DataTableColumn, DataTableColumnActions, type DataTableColumnDef, DataTableColumnFilter, DataTableColumnHeader, DataTableColumnHeaderProps, DataTableColumnHeaderRoot, DataTableColumnSortMenu, DataTableColumnSortOptions, DataTableColumnTitle, type DataTableColumns, DataTableConfig, DataTableContainerProps, DataTableContext, DataTableContextState, DataTableEmptyActions, DataTableEmptyActionsProps, DataTableEmptyBody, DataTableEmptyBodyProps, DataTableEmptyDescription, DataTableEmptyDescriptionProps, DataTableEmptyFilteredMessage, DataTableEmptyFilteredMessageProps, DataTableEmptyIcon, DataTableEmptyIconProps, DataTableEmptyMessage, DataTableEmptyMessageProps, DataTableEmptyState, DataTableEmptyStateProps, DataTableEmptyTitle, DataTableEmptyTitleProps, DataTableErrorBoundary, DataTableErrorBoundaryProps, DataTableFacetedFilter, DataTableFacetedFilterContent, DataTableGroupRowContextValue, DataTableGroupRowProvider, DataTableGroupedRowCells, DataTableGroupedRows, DataTableGroupedRowsProps, DataTableHeader, type DataTableHeader$1 as DataTableHeaderCell, DataTableHeaderProps, type DataTableInstance, DataTableLoading, DataTableLoadingMore, DataTableLoadingMoreProps, DataTableLoadingProps, DataTableProvider, DataTableRoot, type DataTableRow, DataTableRowContextMenu, DataTableRowContextMenuProps, DataTableRowContextMenuSlot, DataTableRowContextMenuSlotProps, DataTableRowMenuScope, DataTableSkeleton, DataTableSkeletonProps, DataTableToolbarSection, DataTableToolbarSectionProps, Delta, DeltaProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type ExtendedColumnFilter, type ExtendedColumnSort, type FilterOperator, type FilterOperatorValues, type FilterVariant, type FilterVariantValues, FlashCellRef, FlashCells, FlashRows, FlashRowsOptions, Formatters, type GlobalFilter, GroupedBodyRow, GroupedBodyRowProps, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, type JoinOperator, type JoinOperatorValues, Labels, Line, LineChart, LocalTime, LocalTimeProps, NavMain, NavProjects, NavUser, type Option, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, PriceChart, PriceChartProps, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, type QueryKeys, ReferenceLine, RowMenuGroup, RowMenuItem, RowMenuLabel, RowMenuSeparator, RowMenuSub, RowMenuSubContent, RowMenuSubTrigger, ScrollAlign, ScrollArea, ScrollBar, type ScrollEvent, ScrollRowIntoView, SectionCard, SectionCards, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, 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, SiyahiLocale, SiyahiProvider, SiyahiProviderProps, Skeleton, Slider, StatusActivity, StatusColorConfig, StatusHeatmap, StatusHeatmapBlock, StatusHeatmapBlockProps, StatusHeatmapBody, StatusHeatmapBodyProps, StatusHeatmapFooter, StatusHeatmapFooterProps, StatusHeatmapLabels, StatusHeatmapLegend, StatusHeatmapLegendProps, StatusHeatmapProps, StatusHeatmapStat, StatusHeatmapStatProps, StatusValue, Table, TableBody, TableCaption, TableCell, TableColumnActions, TableColumnActionsProps, TableColumnSortMenu, TableColumnSortOptions, TableColumnTitle, TableFacetedFilter, TableFacetedFilterContent, TableFacetedFilterProps, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TeamSwitcher, Textarea, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Treemap, TreemapItem, type ValueOf, type ColorConfig$1 as WeekdayColorConfig, type WeekdayExtraColumnSpec, type WeekdayExtraRowSpec, WeekdayHeatmap, WeekdayHeatmapBlock, type WeekdayHeatmapBlockProps, WeekdayHeatmapBody, type WeekdayHeatmapBodyProps, WeekdayHeatmapFooter, type WeekdayHeatmapFooterProps, type WeekdayHeatmapLabels, WeekdayHeatmapLegend, type WeekdayHeatmapLegendProps, type WeekdayHeatmapProps, WeekdayHeatmapStat, type WeekdayHeatmapStatProps, type WeekdayHour, type WeekdayHourlyActivity, type WeekdayIndex, XAxis, YAxis, badgeVariants, buttonVariants, defaultLocale, flashCellKey, money, moneyCompact, pct, resolveGroupedRowsSlot, resolveRowContextMenuRenderer, tabsListVariants, time, toggleVariants, useColumnHeaderContext, useColumnResizeInfo, useDataTable, useDataTableActiveCell, useDataTableActiveCellSetter, useDataTableGroupRow, useDataTableRow, useFormat, useLocale, useResolvedRowContextMenuRenderer, useSidebar, useTableFacetedFilter };
package/dist/index.js ADDED
@@ -0,0 +1,71 @@
1
+ import { Alert, AlertAction, AlertDescription, AlertTitle } from "./components/ui/alert.js";
2
+ import { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage } from "./components/ui/avatar.js";
3
+ import { Badge, badgeVariants } from "./components/ui/badge.js";
4
+ import { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from "./components/ui/breadcrumb.js";
5
+ import { Button, buttonVariants } from "./components/ui/button.js";
6
+ import { Calendar, CalendarDayButton } from "./components/ui/calendar.js";
7
+ import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "./components/ui/card.js";
8
+ import { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent } from "./components/ui/chart.js";
9
+ import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "./components/ui/collapsible.js";
10
+ import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from "./components/ui/dialog.js";
11
+ import { Input } from "./components/ui/input.js";
12
+ import { Textarea } from "./components/ui/textarea.js";
13
+ import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea } from "./components/ui/input-group.js";
14
+ import { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut } from "./components/ui/command.js";
15
+ import { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger } from "./components/ui/context-menu.js";
16
+ import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from "./components/ui/dropdown-menu.js";
17
+ import { Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger } from "./components/ui/popover.js";
18
+ import { Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue } from "./components/ui/progress.js";
19
+ import { ScrollArea, ScrollBar } from "./components/ui/scroll-area.js";
20
+ import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue } from "./components/ui/select.js";
21
+ import { Separator } from "./components/ui/separator.js";
22
+ import { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger } from "./components/ui/sheet.js";
23
+ import { Skeleton } from "./components/ui/skeleton.js";
24
+ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./components/ui/tooltip.js";
25
+ import { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar } from "./components/ui/sidebar.js";
26
+ import { Slider } from "./components/ui/slider.js";
27
+ import { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from "./components/ui/table.js";
28
+ import { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants } from "./components/ui/tabs.js";
29
+ import { Toggle, toggleVariants } from "./components/ui/toggle.js";
30
+ import { ToggleGroup, ToggleGroupItem } from "./components/ui/toggle-group.js";
31
+ import { SectionCards } from "./components/registry/dashboard-01/section-cards.js";
32
+ import { defaultLocale } from "./lib/locale.js";
33
+ import { SiyahiProvider, useLocale } from "./components/siyahi/siyahi-provider.js";
34
+ import { money, moneyCompact, pct, time, useFormat } from "./lib/format.js";
35
+ import { BarList } from "./components/registry/dashboardcn/bar-list.js";
36
+ import { CalendarHeatmap, CalendarHeatmapBlock, CalendarHeatmapBody, CalendarHeatmapFooter, CalendarHeatmapLegend, CalendarHeatmapStat } from "./components/registry/heatmap/calendar-heatmap.js";
37
+ import { StatusHeatmap, StatusHeatmapBlock, StatusHeatmapBody, StatusHeatmapFooter, StatusHeatmapLegend, StatusHeatmapStat } from "./components/registry/heatmap/status-heatmap.js";
38
+ import { WeekdayHeatmap, WeekdayHeatmapBlock, WeekdayHeatmapBody, WeekdayHeatmapFooter, WeekdayHeatmapLegend, WeekdayHeatmapStat } from "./components/registry/heatmap/weekday-heatmap.js";
39
+ import { TableColumnActions } from "./components/registry/niko-table/filters/table-column-actions.js";
40
+ import { DataTableColumnHeader, DataTableColumnHeaderRoot, useColumnHeaderContext } from "./components/registry/niko-table/components/data-table-column-header.js";
41
+ import { DataTableColumnActions } from "./components/registry/niko-table/components/data-table-column-actions.js";
42
+ import { DataTableColumnFilter } from "./components/registry/niko-table/components/data-table-column-filter.js";
43
+ import { DataTableActions, DataTableContext, DataTableProvider, flashCellKey, useColumnResizeInfo, useDataTable, useDataTableActiveCell, useDataTableActiveCellSetter } from "./components/registry/niko-table/core/data-table-context.js";
44
+ import { TableColumnSortMenu, TableColumnSortOptions } from "./components/registry/niko-table/filters/table-column-sort.js";
45
+ import { DataTableColumnSortMenu, DataTableColumnSortOptions } from "./components/registry/niko-table/components/data-table-column-sort.js";
46
+ import { TableColumnTitle } from "./components/registry/niko-table/filters/table-column-title.js";
47
+ import { DataTableColumnTitle } from "./components/registry/niko-table/components/data-table-column-title.js";
48
+ import { DataTableEmptyActions, DataTableEmptyDescription, DataTableEmptyFilteredMessage, DataTableEmptyIcon, DataTableEmptyMessage, DataTableEmptyState, DataTableEmptyTitle } from "./components/registry/niko-table/components/data-table-empty-state.js";
49
+ import { TableFacetedFilter, TableFacetedFilterContent, useTableFacetedFilter } from "./components/registry/niko-table/filters/table-faceted-filter.js";
50
+ import { DataTableFacetedFilter, DataTableFacetedFilterContent } from "./components/registry/niko-table/components/data-table-faceted-filter.js";
51
+ import { DataTableGroupRowProvider, DataTableGroupedRows, resolveGroupedRowsSlot, useDataTableGroupRow } from "./components/registry/niko-table/components/data-table-grouped-rows.js";
52
+ import { DataTableRowContextMenuSlot, resolveRowContextMenuRenderer, useResolvedRowContextMenuRenderer } from "./components/registry/niko-table/components/data-table-row-context-menu-slot.js";
53
+ import { DataTableRowMenuScope, RowMenuGroup, RowMenuItem, RowMenuLabel, RowMenuSeparator, RowMenuSub, RowMenuSubContent, RowMenuSubTrigger, useDataTableRow } from "./components/registry/niko-table/components/data-table-row-menu.js";
54
+ import { DataTableRowContextMenu } from "./components/registry/niko-table/components/data-table-row-context-menu.js";
55
+ import { DataTableToolbarSection } from "./components/registry/niko-table/components/data-table-toolbar-section.js";
56
+ import { DataTableErrorBoundary } from "./components/registry/niko-table/core/data-table-error-boundary.js";
57
+ import { DataTableGroupedRowCells, GroupedBodyRow } from "./components/registry/niko-table/core/data-table-grouped-row.js";
58
+ import { DataTableRoot } from "./components/registry/niko-table/core/data-table-root.js";
59
+ import { DataTableBody, DataTableEmptyBody, DataTableHeader, DataTableLoading, DataTableLoadingMore, DataTableSkeleton } from "./components/registry/niko-table/core/data-table-structure.js";
60
+ import { DataTable } from "./components/registry/niko-table/core/data-table.js";
61
+ import { NavMain } from "./components/registry/sidebar-07/nav-main.js";
62
+ import { NavProjects } from "./components/registry/sidebar-07/nav-projects.js";
63
+ import { NavUser } from "./components/registry/sidebar-07/nav-user.js";
64
+ import { TeamSwitcher } from "./components/registry/sidebar-07/team-switcher.js";
65
+ import { AppSidebar } from "./components/registry/sidebar-07/app-sidebar.js";
66
+ import { Delta } from "./components/siyahi/delta.js";
67
+ import { LocalTime } from "./components/siyahi/local-time.js";
68
+ import { PriceChart } from "./components/siyahi/price-chart.js";
69
+ import { Treemap } from "./components/siyahi/treemap.js";
70
+ import { Area, AreaChart, Bar, BarChart, CartesianGrid, Line, LineChart, ReferenceLine, XAxis, YAxis } from "./lib/recharts.js";
71
+ export { Alert, AlertAction, AlertDescription, AlertTitle, AppSidebar, Area, AreaChart, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Bar, BarChart, BarList, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, CalendarDayButton, CalendarHeatmap, CalendarHeatmapBlock, CalendarHeatmapBody, CalendarHeatmapFooter, CalendarHeatmapLegend, CalendarHeatmapStat, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CartesianGrid, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DataTable, DataTableActions, DataTableBody, DataTableColumnActions, DataTableColumnFilter, DataTableColumnHeader, DataTableColumnHeaderRoot, DataTableColumnSortMenu, DataTableColumnSortOptions, DataTableColumnTitle, DataTableContext, DataTableEmptyActions, DataTableEmptyBody, DataTableEmptyDescription, DataTableEmptyFilteredMessage, DataTableEmptyIcon, DataTableEmptyMessage, DataTableEmptyState, DataTableEmptyTitle, DataTableErrorBoundary, DataTableFacetedFilter, DataTableFacetedFilterContent, DataTableGroupRowProvider, DataTableGroupedRowCells, DataTableGroupedRows, DataTableHeader, DataTableLoading, DataTableLoadingMore, DataTableProvider, DataTableRoot, DataTableRowContextMenu, DataTableRowContextMenuSlot, DataTableRowMenuScope, DataTableSkeleton, DataTableToolbarSection, Delta, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, GroupedBodyRow, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Line, LineChart, LocalTime, NavMain, NavProjects, NavUser, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, PriceChart, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, ReferenceLine, RowMenuGroup, RowMenuItem, RowMenuLabel, RowMenuSeparator, RowMenuSub, RowMenuSubContent, RowMenuSubTrigger, ScrollArea, ScrollBar, SectionCards, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, 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, SiyahiProvider, Skeleton, Slider, StatusHeatmap, StatusHeatmapBlock, StatusHeatmapBody, StatusHeatmapFooter, StatusHeatmapLegend, StatusHeatmapStat, Table, TableBody, TableCaption, TableCell, TableColumnActions, TableColumnSortMenu, TableColumnSortOptions, TableColumnTitle, TableFacetedFilter, TableFacetedFilterContent, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TeamSwitcher, Textarea, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Treemap, WeekdayHeatmap, WeekdayHeatmapBlock, WeekdayHeatmapBody, WeekdayHeatmapFooter, WeekdayHeatmapLegend, WeekdayHeatmapStat, XAxis, YAxis, badgeVariants, buttonVariants, defaultLocale, flashCellKey, money, moneyCompact, pct, resolveGroupedRowsSlot, resolveRowContextMenuRenderer, tabsListVariants, time, toggleVariants, useColumnHeaderContext, useColumnResizeInfo, useDataTable, useDataTableActiveCell, useDataTableActiveCellSetter, useDataTableGroupRow, useDataTableRow, useFormat, useLocale, useResolvedRowContextMenuRenderer, useSidebar, useTableFacetedFilter };
@@ -0,0 +1,24 @@
1
+ import { SiyahiLocale } from "./locale.js";
2
+ //#region src/lib/format.d.ts
3
+ /** An amount in the locale's currency, whole units by default: ₹1,53,110. Signed figures belong in `Delta`. */
4
+ export declare function money(value: number, locale?: SiyahiLocale, fractionDigits?: number): string;
5
+ /**
6
+ * A short amount: ₹2.4L and ₹40Cr in en-IN, $2.4M in en-US. Indian readers
7
+ * count in thousands up to a lakh, so in an Indian-region locale amounts under
8
+ * one lakh print in full (₹99,999), never as ₹99.9K. Signed figures belong in
9
+ * `Delta`, which adds the arrow.
10
+ */
11
+ export declare function moneyCompact(value: number, locale?: SiyahiLocale): string;
12
+ /** A fraction as a percentage: 0.1234 is 12.3%. */
13
+ export declare function pct(value: number, locale?: SiyahiLocale, fractionDigits?: number): string;
14
+ /** A 24-hour time in the locale's zone, with the zone written: 14:30 IST. */
15
+ export declare function time(value: Date | number | string, locale?: SiyahiLocale): string;
16
+ export interface Formatters {
17
+ money: (value: number, fractionDigits?: number) => string;
18
+ moneyCompact: (value: number) => string;
19
+ pct: (value: number, fractionDigits?: number) => string;
20
+ time: (value: Date | number | string) => string;
21
+ }
22
+ /** The formatters above, bound to the locale of the nearest `SiyahiProvider`. */
23
+ export declare function useFormat(): Formatters;
24
+ //#endregion
@@ -0,0 +1,58 @@
1
+ import { defaultLocale } from "./locale.js";
2
+ import { useLocale } from "../components/siyahi/siyahi-provider.js";
3
+ import { useMemo } from "react";
4
+ //#region src/lib/format.ts
5
+ /** An amount in the locale's currency, whole units by default: ₹1,53,110. Signed figures belong in `Delta`. */
6
+ function money(value, locale = defaultLocale, fractionDigits = 0) {
7
+ return new Intl.NumberFormat(locale.numberLocale, {
8
+ style: "currency",
9
+ currency: locale.currency,
10
+ minimumFractionDigits: fractionDigits,
11
+ maximumFractionDigits: fractionDigits
12
+ }).format(value);
13
+ }
14
+ /**
15
+ * A short amount: ₹2.4L and ₹40Cr in en-IN, $2.4M in en-US. Indian readers
16
+ * count in thousands up to a lakh, so in an Indian-region locale amounts under
17
+ * one lakh print in full (₹99,999), never as ₹99.9K. Signed figures belong in
18
+ * `Delta`, which adds the arrow.
19
+ */
20
+ function moneyCompact(value, locale = defaultLocale) {
21
+ if (new Intl.Locale(locale.numberLocale).region === "IN" && Math.abs(value) < 1e5) return money(value, locale);
22
+ return new Intl.NumberFormat(locale.numberLocale, {
23
+ style: "currency",
24
+ currency: locale.currency,
25
+ notation: "compact",
26
+ maximumFractionDigits: 1
27
+ }).format(value);
28
+ }
29
+ /** A fraction as a percentage: 0.1234 is 12.3%. */
30
+ function pct(value, locale = defaultLocale, fractionDigits = 1) {
31
+ return new Intl.NumberFormat(locale.numberLocale, {
32
+ style: "percent",
33
+ minimumFractionDigits: fractionDigits,
34
+ maximumFractionDigits: fractionDigits
35
+ }).format(value);
36
+ }
37
+ /** A 24-hour time in the locale's zone, with the zone written: 14:30 IST. */
38
+ function time(value, locale = defaultLocale) {
39
+ return new Intl.DateTimeFormat(locale.numberLocale, {
40
+ hour: "2-digit",
41
+ minute: "2-digit",
42
+ hourCycle: "h23",
43
+ timeZone: locale.timeZone,
44
+ timeZoneName: "short"
45
+ }).format(new Date(value));
46
+ }
47
+ /** The formatters above, bound to the locale of the nearest `SiyahiProvider`. */
48
+ function useFormat() {
49
+ const locale = useLocale();
50
+ return useMemo(() => ({
51
+ money: (value, fractionDigits) => money(value, locale, fractionDigits),
52
+ moneyCompact: (value) => moneyCompact(value, locale),
53
+ pct: (value, fractionDigits) => pct(value, locale, fractionDigits),
54
+ time: (value) => time(value, locale)
55
+ }), [locale]);
56
+ }
57
+ //#endregion
58
+ export { money, moneyCompact, pct, time, useFormat };
@@ -0,0 +1,12 @@
1
+ //#region src/lib/locale.d.ts
2
+ /** Formatting settings `SiyahiProvider` carries. */
3
+ export interface SiyahiLocale {
4
+ /** BCP 47 tag for numbers and times. `en-IN` groups as 1,53,110 and compacts to ₹2.4L. */
5
+ numberLocale: string;
6
+ /** ISO 4217 currency code. */
7
+ currency: string;
8
+ /** IANA time zone that times are shown in. */
9
+ timeZone: string;
10
+ }
11
+ export declare const defaultLocale: SiyahiLocale;
12
+ //#endregion
@@ -0,0 +1,8 @@
1
+ //#region src/lib/locale.ts
2
+ const defaultLocale = {
3
+ numberLocale: "en-IN",
4
+ currency: "INR",
5
+ timeZone: "Asia/Kolkata"
6
+ };
7
+ //#endregion
8
+ export { defaultLocale };
@@ -0,0 +1,2 @@
1
+ import { Area, AreaChart, Bar, BarChart, CartesianGrid, Line, LineChart, ReferenceLine, XAxis, YAxis } from "recharts";
2
+ export { Area, AreaChart, Bar, BarChart, CartesianGrid, Line, LineChart, ReferenceLine, XAxis, YAxis };
@@ -0,0 +1 @@
1
+ export { Area, AreaChart, Bar, BarChart, CartesianGrid, Line, LineChart, ReferenceLine, XAxis, YAxis } from "recharts";
@@ -0,0 +1,2 @@
1
+ import { cn } from "cn";
2
+ export { cn };
@@ -0,0 +1 @@
1
+ export { cn } from "cn";
package/package.json CHANGED
@@ -1,6 +1,81 @@
1
1
  {
2
2
  "name": "@siyahi/ui",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.1.0-next.4",
4
+ "description": "Stock shadcn/ui on Base UI and Tailwind v4, a finance theme, a few compositions and formatters.",
5
+ "keywords": [
6
+ "base-ui",
7
+ "design-system",
8
+ "finance",
9
+ "react",
10
+ "shadcn",
11
+ "tailwindcss"
12
+ ],
13
+ "homepage": "https://siyahi.jatinbansal.com",
14
+ "license": "MIT",
15
+ "author": "Jatin Bansal",
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/jatinbansal1998/siyahi.git",
19
+ "directory": "packages/ui"
20
+ },
21
+ "files": [
22
+ "dist",
23
+ "styles",
24
+ "report.css",
25
+ "registry.lock.json",
26
+ "README.md",
27
+ "LICENSE",
28
+ "THIRD_PARTY_NOTICES.md"
29
+ ],
30
+ "type": "module",
31
+ "sideEffects": [
32
+ "**/*.css"
33
+ ],
34
+ "exports": {
35
+ ".": {
36
+ "types": "./dist/index.d.ts",
37
+ "default": "./dist/index.js"
38
+ },
39
+ "./styles.css": "./styles/siyahi.css",
40
+ "./report.css": "./report.css",
41
+ "./registry.lock.json": "./registry.lock.json",
42
+ "./package.json": "./package.json"
43
+ },
44
+ "dependencies": {
45
+ "@base-ui/react": "^1.9.0",
46
+ "@fontsource-variable/geist": "^5.3.0",
47
+ "@fontsource-variable/geist-mono": "^5.3.0",
48
+ "@tanstack/react-table": "^9.3.1",
49
+ "class-variance-authority": "^0.7.1",
50
+ "cmdk": "^1.1.1",
51
+ "cn": "^0.5.0",
52
+ "d3-hierarchy": "^3.1.2",
53
+ "date-fns": "^4.4.0",
54
+ "lightweight-charts": "^5.2.1",
55
+ "lucide-react": "^1.59.0",
56
+ "react-day-picker": "^10.0.2",
57
+ "recharts": "3.8.0",
58
+ "tw-animate-css": "^1.4.0"
59
+ },
60
+ "devDependencies": {
61
+ "@types/d3-hierarchy": "^3.1.7",
62
+ "@types/node": "24.19.2",
63
+ "@types/react": "~19.3.0",
64
+ "@types/react-dom": "~19.3.0",
65
+ "react": "19.3.1",
66
+ "react-dom": "19.3.1",
67
+ "shadcn": "4.22.1",
68
+ "tailwindcss": "4.3.3",
69
+ "typescript": "7.0.2",
70
+ "vite-plus": "1.3.0"
71
+ },
72
+ "peerDependencies": {
73
+ "react": "^19.2.0",
74
+ "react-dom": "^19.2.0",
75
+ "tailwindcss": "^4.3.0"
76
+ },
77
+ "scripts": {
78
+ "build": "node ../tools/contrast.mjs styles/siyahi.css && vp pack",
79
+ "typecheck": "tsc --noEmit"
80
+ }
6
81
  }