@rafal.lemieszewski/tide-ui 0.83.0 → 0.84.3

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 (256) hide show
  1. package/README.md +20 -8
  2. package/dist/cjs/components/core-index.cjs +1 -0
  3. package/dist/cjs/components/fundamental/accordion.cjs +1 -0
  4. package/dist/cjs/components/fundamental/alert-dialog.cjs +1 -0
  5. package/dist/cjs/components/fundamental/alert.cjs +1 -0
  6. package/dist/cjs/components/fundamental/autocomplete-search.cjs +1 -0
  7. package/dist/cjs/components/fundamental/avatar-group.cjs +1 -0
  8. package/dist/cjs/components/fundamental/avatar.cjs +1 -0
  9. package/dist/cjs/components/fundamental/badge.cjs +1 -0
  10. package/dist/cjs/components/fundamental/breadcrumb.cjs +1 -0
  11. package/dist/cjs/components/fundamental/button-group.cjs +1 -0
  12. package/dist/cjs/components/fundamental/button.cjs +1 -0
  13. package/dist/cjs/components/fundamental/calendar.cjs +1 -0
  14. package/dist/cjs/components/fundamental/card.cjs +1 -0
  15. package/dist/cjs/components/fundamental/chart.cjs +1 -0
  16. package/dist/cjs/components/fundamental/checkbox.cjs +1 -0
  17. package/dist/cjs/components/fundamental/collapsible.cjs +1 -0
  18. package/dist/cjs/components/fundamental/combobox.cjs +1 -0
  19. package/dist/cjs/components/fundamental/command.cjs +1 -0
  20. package/dist/cjs/components/fundamental/country-dropdown.cjs +1 -0
  21. package/dist/cjs/components/fundamental/custom-icons.cjs +1 -0
  22. package/dist/cjs/components/fundamental/date-picker.cjs +1 -0
  23. package/dist/cjs/components/fundamental/dialog.cjs +1 -0
  24. package/dist/cjs/components/fundamental/drawer.cjs +1 -0
  25. package/dist/cjs/components/fundamental/dropdown-menu.cjs +1 -0
  26. package/dist/cjs/components/fundamental/editable.cjs +1 -0
  27. package/dist/cjs/components/fundamental/empty.cjs +1 -0
  28. package/dist/cjs/components/fundamental/file-upload.cjs +1 -0
  29. package/dist/cjs/components/fundamental/flag.cjs +1 -0
  30. package/dist/cjs/components/fundamental/form-field.cjs +1 -0
  31. package/dist/cjs/components/fundamental/hover-card.cjs +1 -0
  32. package/dist/cjs/components/fundamental/icon.cjs +1 -0
  33. package/dist/cjs/components/fundamental/input-group.cjs +1 -0
  34. package/dist/cjs/components/fundamental/input.cjs +1 -0
  35. package/dist/cjs/components/fundamental/kbd.cjs +1 -0
  36. package/dist/cjs/components/fundamental/label.cjs +1 -0
  37. package/dist/cjs/components/fundamental/month-picker.cjs +1 -0
  38. package/dist/cjs/components/fundamental/pagination.cjs +1 -0
  39. package/dist/cjs/components/fundamental/popover.cjs +1 -0
  40. package/dist/cjs/components/fundamental/progress.cjs +1 -0
  41. package/dist/cjs/components/fundamental/radio-group.cjs +1 -0
  42. package/dist/cjs/components/fundamental/resizable.cjs +1 -0
  43. package/dist/cjs/components/fundamental/scroll-area.cjs +1 -0
  44. package/dist/cjs/components/fundamental/select.cjs +1 -0
  45. package/dist/cjs/components/fundamental/separator.cjs +1 -0
  46. package/dist/cjs/components/fundamental/sheet.cjs +1 -0
  47. package/dist/cjs/components/fundamental/sidebar.cjs +1 -0
  48. package/dist/cjs/components/fundamental/skeleton.cjs +1 -0
  49. package/dist/cjs/components/fundamental/slider.cjs +1 -0
  50. package/dist/cjs/components/fundamental/spinner.cjs +1 -0
  51. package/dist/cjs/components/fundamental/switch.cjs +1 -0
  52. package/dist/cjs/components/fundamental/table.cjs +1 -0
  53. package/dist/cjs/components/fundamental/tabs.cjs +1 -0
  54. package/dist/cjs/components/fundamental/tag.cjs +27 -0
  55. package/dist/cjs/components/fundamental/text-link.cjs +1 -0
  56. package/dist/cjs/components/fundamental/textarea.cjs +1 -0
  57. package/dist/cjs/components/fundamental/toast.cjs +1 -0
  58. package/dist/cjs/components/fundamental/toggle-group.cjs +1 -0
  59. package/dist/cjs/components/fundamental/toggle.cjs +1 -0
  60. package/dist/cjs/components/fundamental/tooltip.cjs +1 -0
  61. package/dist/cjs/components/fundamental/tree.cjs +1 -0
  62. package/dist/cjs/components/product/activity-log.cjs +1 -0
  63. package/dist/cjs/components/product/app-frame.cjs +1 -0
  64. package/dist/cjs/components/product/attributes-list.cjs +1 -0
  65. package/dist/cjs/components/product/bookmarks.cjs +1 -0
  66. package/dist/cjs/components/product/data-table-settings-menu.cjs +1 -0
  67. package/dist/cjs/components/product/data-table.cjs +1 -0
  68. package/dist/cjs/components/product/filters.cjs +1 -0
  69. package/dist/cjs/components/product/fixture-status.cjs +1 -0
  70. package/dist/cjs/components/product/linked-chart.cjs +1 -0
  71. package/dist/cjs/components/product/view-mode-menu.cjs +1 -0
  72. package/dist/cjs/lib/date-utils.cjs +1 -0
  73. package/dist/cjs/lib/hooks.cjs +1 -0
  74. package/dist/cjs/lib/index.cjs +1 -0
  75. package/dist/cjs/lib/utils.cjs +1 -0
  76. package/dist/es/components/core-index.js +37 -0
  77. package/dist/es/components/fundamental/accordion.js +60 -0
  78. package/dist/es/components/fundamental/alert-dialog.js +116 -0
  79. package/dist/es/components/fundamental/alert.js +65 -0
  80. package/dist/es/components/fundamental/autocomplete-search.js +139 -0
  81. package/dist/es/components/fundamental/avatar-group.js +51 -0
  82. package/dist/es/components/fundamental/avatar.js +165 -0
  83. package/dist/es/components/fundamental/badge.js +157 -0
  84. package/dist/es/components/fundamental/breadcrumb.js +142 -0
  85. package/dist/es/components/fundamental/button-group.js +86 -0
  86. package/dist/es/components/fundamental/button.js +186 -0
  87. package/dist/es/components/fundamental/calendar.js +130 -0
  88. package/dist/es/components/fundamental/card.js +68 -0
  89. package/dist/es/components/fundamental/chart.js +1006 -0
  90. package/dist/es/components/fundamental/checkbox.js +51 -0
  91. package/dist/es/components/fundamental/collapsible.js +55 -0
  92. package/dist/es/components/fundamental/combobox.js +229 -0
  93. package/dist/es/components/fundamental/command.js +155 -0
  94. package/dist/es/components/fundamental/country-dropdown.js +215 -0
  95. package/dist/es/components/fundamental/custom-icons.js +876 -0
  96. package/dist/es/components/fundamental/date-picker.js +119 -0
  97. package/dist/es/components/fundamental/dialog.js +106 -0
  98. package/dist/es/components/fundamental/drawer.js +93 -0
  99. package/dist/es/components/fundamental/dropdown-menu.js +600 -0
  100. package/dist/es/components/fundamental/editable.js +123 -0
  101. package/dist/es/components/fundamental/empty.js +152 -0
  102. package/dist/es/components/fundamental/file-upload.js +289 -0
  103. package/dist/es/components/fundamental/flag.js +60 -0
  104. package/dist/es/components/fundamental/form-field.js +352 -0
  105. package/dist/es/components/fundamental/hover-card.js +23 -0
  106. package/dist/es/components/fundamental/icon.js +200 -0
  107. package/dist/es/components/fundamental/input-group.js +135 -0
  108. package/dist/es/components/fundamental/input.js +78 -0
  109. package/dist/es/components/fundamental/kbd.js +57 -0
  110. package/dist/es/components/fundamental/label.js +54 -0
  111. package/dist/es/components/fundamental/month-picker.js +161 -0
  112. package/dist/es/components/fundamental/pagination.js +109 -0
  113. package/dist/es/components/fundamental/popover.js +24 -0
  114. package/dist/es/components/fundamental/progress.js +66 -0
  115. package/dist/es/components/fundamental/radio-group.js +64 -0
  116. package/dist/es/components/fundamental/resizable.js +43 -0
  117. package/dist/es/components/fundamental/scroll-area.js +38 -0
  118. package/dist/es/components/fundamental/select.js +136 -0
  119. package/dist/es/components/fundamental/separator.js +47 -0
  120. package/dist/es/components/fundamental/sheet.js +134 -0
  121. package/dist/es/components/fundamental/sidebar.js +709 -0
  122. package/dist/es/components/fundamental/skeleton.js +158 -0
  123. package/dist/es/components/fundamental/slider.js +35 -0
  124. package/dist/es/components/fundamental/spinner.js +225 -0
  125. package/dist/es/components/fundamental/switch.js +27 -0
  126. package/dist/es/components/fundamental/table.js +263 -0
  127. package/dist/es/components/fundamental/tabs.js +170 -0
  128. package/dist/es/components/fundamental/tag.js +295 -0
  129. package/dist/es/components/fundamental/text-link.js +105 -0
  130. package/dist/es/components/fundamental/textarea.js +47 -0
  131. package/dist/es/components/fundamental/toast.js +108 -0
  132. package/dist/es/components/fundamental/toggle-group.js +37 -0
  133. package/dist/es/components/fundamental/toggle.js +51 -0
  134. package/dist/es/components/fundamental/tooltip.js +26 -0
  135. package/dist/es/components/fundamental/tree.js +161 -0
  136. package/dist/es/components/product/activity-log.js +231 -0
  137. package/dist/es/components/product/app-frame.js +985 -0
  138. package/dist/es/components/product/attributes-list.js +351 -0
  139. package/dist/es/components/product/bookmarks.js +833 -0
  140. package/dist/es/components/product/data-table-settings-menu.js +169 -0
  141. package/dist/es/components/product/data-table.js +2473 -0
  142. package/dist/es/components/product/filters.js +1041 -0
  143. package/dist/es/components/product/fixture-status.js +178 -0
  144. package/dist/es/components/product/linked-chart.js +179 -0
  145. package/dist/es/components/product/view-mode-menu.js +353 -0
  146. package/dist/es/lib/date-utils.js +151 -0
  147. package/dist/es/lib/hooks.js +29 -0
  148. package/dist/es/lib/index.js +348 -0
  149. package/dist/es/lib/utils.js +8 -0
  150. package/dist/es/style.css +1 -0
  151. package/dist/types/bookmarks.d.ts +2 -0
  152. package/dist/types/calendar.d.ts +2 -0
  153. package/dist/types/chart.d.ts +2 -0
  154. package/dist/types/components/core-index.d.cts +135 -0
  155. package/dist/types/components/core-index.d.ts +135 -0
  156. package/dist/{components → types/components}/fundamental/avatar.d.ts +3 -3
  157. package/dist/{components → types/components}/fundamental/badge.d.ts +2 -2
  158. package/dist/{components → types/components}/fundamental/button-group.d.ts +2 -2
  159. package/dist/{components → types/components}/fundamental/button.d.ts +1 -1
  160. package/dist/types/components/fundamental/calendar.d.ts +7 -0
  161. package/dist/types/components/fundamental/chart.d.ts +95 -0
  162. package/dist/{components → types/components}/fundamental/command.d.ts +2 -2
  163. package/dist/types/components/fundamental/country-dropdown.d.ts +34 -0
  164. package/dist/types/components/fundamental/date-picker.d.ts +30 -0
  165. package/dist/{components → types/components}/fundamental/file-upload.d.ts +1 -1
  166. package/dist/{components → types/components}/fundamental/form-field.d.ts +2 -2
  167. package/dist/{components → types/components}/fundamental/form.d.ts +2 -2
  168. package/dist/{components → types/components}/fundamental/icon.d.ts +1 -1
  169. package/dist/{components → types/components}/fundamental/input-group.d.ts +1 -1
  170. package/dist/types/components/fundamental/resizable.d.cts +23 -0
  171. package/dist/{components → types/components}/fundamental/resizable.d.ts +1 -1
  172. package/dist/{components → types/components}/fundamental/sidebar.d.ts +3 -3
  173. package/dist/{components → types/components}/fundamental/spinner.d.ts +1 -1
  174. package/dist/{components → types/components}/fundamental/table.d.ts +3 -3
  175. package/dist/{components → types/components}/fundamental/text-link.d.ts +1 -1
  176. package/dist/{components → types/components}/index.d.ts +118 -118
  177. package/dist/{components → types/components}/product/activity-log.d.ts +1 -1
  178. package/dist/{components → types/components}/product/attributes-list.d.ts +1 -1
  179. package/dist/types/components/product/bookmarks.d.cts +90 -0
  180. package/dist/{components → types/components}/product/bookmarks.d.ts +1 -1
  181. package/dist/types/components/product/data-table.d.ts +802 -0
  182. package/dist/types/components/product/filters.d.ts +124 -0
  183. package/dist/{components → types/components}/product/fixture-status.d.ts +1 -1
  184. package/dist/types/components/product/linked-chart.d.cts +22 -0
  185. package/dist/{components → types/components}/product/linked-chart.d.ts +1 -1
  186. package/dist/types/country-dropdown.d.ts +2 -0
  187. package/dist/types/data-table.d.ts +2 -0
  188. package/dist/types/date-picker.d.ts +2 -0
  189. package/dist/types/filters.d.ts +2 -0
  190. package/dist/types/index.d.ts +2 -0
  191. package/dist/types/lib/index.d.cts +104 -0
  192. package/dist/types/lib/index.d.ts +104 -0
  193. package/dist/types/linked-chart.d.ts +2 -0
  194. package/dist/types/resizable.d.ts +2 -0
  195. package/package.json +191 -31
  196. package/dist/index.cjs.js +0 -144
  197. package/dist/index.cjs.js.map +0 -1
  198. package/dist/index.d.ts +0 -2
  199. package/dist/index.es.js +0 -87768
  200. package/dist/index.es.js.map +0 -1
  201. package/dist/lib/index.d.ts +0 -3
  202. package/dist/style.css +0 -1
  203. /package/dist/{components → types/components}/fundamental/accordion.d.ts +0 -0
  204. /package/dist/{components → types/components}/fundamental/alert-dialog.d.ts +0 -0
  205. /package/dist/{components → types/components}/fundamental/alert.d.ts +0 -0
  206. /package/dist/{components → types/components}/fundamental/autocomplete-search.d.ts +0 -0
  207. /package/dist/{components → types/components}/fundamental/avatar-group.d.ts +0 -0
  208. /package/dist/{components → types/components}/fundamental/breadcrumb.d.ts +0 -0
  209. /package/dist/{components → types/components}/fundamental/button.test.d.ts +0 -0
  210. /package/dist/{components/fundamental/calendar.d.ts → types/components/fundamental/calendar.d.cts} +0 -0
  211. /package/dist/{components → types/components}/fundamental/card.d.ts +0 -0
  212. /package/dist/{components/fundamental/chart.d.ts → types/components/fundamental/chart.d.cts} +0 -0
  213. /package/dist/{components → types/components}/fundamental/checkbox.d.ts +0 -0
  214. /package/dist/{components → types/components}/fundamental/collapsible.d.ts +0 -0
  215. /package/dist/{components → types/components}/fundamental/combobox.d.ts +0 -0
  216. /package/dist/{components/fundamental/country-dropdown.d.ts → types/components/fundamental/country-dropdown.d.cts} +0 -0
  217. /package/dist/{components → types/components}/fundamental/custom-icons.d.ts +0 -0
  218. /package/dist/{components/fundamental/date-picker.d.ts → types/components/fundamental/date-picker.d.cts} +0 -0
  219. /package/dist/{components → types/components}/fundamental/dialog.d.ts +0 -0
  220. /package/dist/{components → types/components}/fundamental/drawer.d.ts +0 -0
  221. /package/dist/{components → types/components}/fundamental/dropdown-menu.d.ts +0 -0
  222. /package/dist/{components → types/components}/fundamental/editable.d.ts +0 -0
  223. /package/dist/{components → types/components}/fundamental/empty.d.ts +0 -0
  224. /package/dist/{components → types/components}/fundamental/flag.d.ts +0 -0
  225. /package/dist/{components → types/components}/fundamental/hover-card.d.ts +0 -0
  226. /package/dist/{components → types/components}/fundamental/input.d.ts +0 -0
  227. /package/dist/{components → types/components}/fundamental/kbd.d.ts +0 -0
  228. /package/dist/{components → types/components}/fundamental/label.d.ts +0 -0
  229. /package/dist/{components → types/components}/fundamental/month-picker.d.ts +0 -0
  230. /package/dist/{components → types/components}/fundamental/pagination.d.ts +0 -0
  231. /package/dist/{components → types/components}/fundamental/popover.d.ts +0 -0
  232. /package/dist/{components → types/components}/fundamental/progress.d.ts +0 -0
  233. /package/dist/{components → types/components}/fundamental/radio-group.d.ts +0 -0
  234. /package/dist/{components → types/components}/fundamental/scroll-area.d.ts +0 -0
  235. /package/dist/{components → types/components}/fundamental/select.d.ts +0 -0
  236. /package/dist/{components → types/components}/fundamental/separator.d.ts +0 -0
  237. /package/dist/{components → types/components}/fundamental/sheet.d.ts +0 -0
  238. /package/dist/{components → types/components}/fundamental/skeleton.d.ts +0 -0
  239. /package/dist/{components → types/components}/fundamental/slider.d.ts +0 -0
  240. /package/dist/{components → types/components}/fundamental/switch.d.ts +0 -0
  241. /package/dist/{components → types/components}/fundamental/tabs.d.ts +0 -0
  242. /package/dist/{components → types/components}/fundamental/tag.d.ts +0 -0
  243. /package/dist/{components → types/components}/fundamental/textarea.d.ts +0 -0
  244. /package/dist/{components → types/components}/fundamental/toast.d.ts +0 -0
  245. /package/dist/{components → types/components}/fundamental/toggle-group.d.ts +0 -0
  246. /package/dist/{components → types/components}/fundamental/toggle.d.ts +0 -0
  247. /package/dist/{components → types/components}/fundamental/tooltip.d.ts +0 -0
  248. /package/dist/{components → types/components}/fundamental/tree.d.ts +0 -0
  249. /package/dist/{components → types/components}/product/app-frame.d.ts +0 -0
  250. /package/dist/{components → types/components}/product/data-table-settings-menu.d.ts +0 -0
  251. /package/dist/{components/product/data-table.d.ts → types/components/product/data-table.d.cts} +0 -0
  252. /package/dist/{components/product/filters.d.ts → types/components/product/filters.d.cts} +0 -0
  253. /package/dist/{components → types/components}/product/view-mode-menu.d.ts +0 -0
  254. /package/dist/{lib → types/lib}/date-utils.d.ts +0 -0
  255. /package/dist/{lib → types/lib}/hooks.d.ts +0 -0
  256. /package/dist/{lib → types/lib}/utils.d.ts +0 -0
@@ -0,0 +1,108 @@
1
+ import { jsx as o, jsxs as l } from "react/jsx-runtime";
2
+ import { Toaster as s } from "sonner";
3
+ import { toast as f } from "sonner";
4
+ import { cn as r } from "../../lib/utils.js";
5
+ import { Spinner as n } from "./spinner.js";
6
+ import { Icon as i } from "./icon.js";
7
+ const a = ({ name: e, color: t, blurColor: c }) => /* @__PURE__ */ l("div", { className: "relative", children: [
8
+ c && /* @__PURE__ */ o(
9
+ "div",
10
+ {
11
+ className: "absolute inset-0 w-[20px] h-[20px] rounded-full -z-10",
12
+ style: {
13
+ backgroundColor: c,
14
+ filter: "blur(40px)"
15
+ }
16
+ }
17
+ ),
18
+ /* @__PURE__ */ o(i, { name: e, size: "m", className: t })
19
+ ] }), x = ({ className: e, ...t }) => /* @__PURE__ */ o(
20
+ s,
21
+ {
22
+ className: r("toaster group", e),
23
+ icons: {
24
+ loading: /* @__PURE__ */ o(n, { size: "m", variant: "primary", className: "mt-1" }),
25
+ success: /* @__PURE__ */ o(a, { name: "circle-check", color: "text-[var(--color-icon-success-bold)]", blurColor: "#1C741F" }),
26
+ error: /* @__PURE__ */ o(a, { name: "triangle-alert", color: "text-[var(--color-icon-error-bold)]", blurColor: "#D9493E" }),
27
+ warning: /* @__PURE__ */ o(a, { name: "circle-alert", color: "text-[var(--color-icon-warning-bold)]", blurColor: "#E57F19" }),
28
+ info: null
29
+ },
30
+ toastOptions: {
31
+ classNames: {
32
+ toast: r(
33
+ "group toast",
34
+ // Layout & dimensions
35
+ "w-[535px] max-w-[calc(100vw-2rem)] p-[var(--space-l)]",
36
+ // Background & borders
37
+ "bg-[var(--color-surface-primary)]",
38
+ "!border !border-[var(--color-border-primary-medium)] !border-solid",
39
+ "rounded-m",
40
+ // Shadow
41
+ "shadow-lg",
42
+ // Contain blur effect
43
+ "overflow-hidden",
44
+ // Flex layout
45
+ "flex items-start gap-[var(--space-l)]",
46
+ // Typography defaults
47
+ "text-[var(--color-text-primary)]"
48
+ ),
49
+ title: "text-heading-sm text-[var(--color-text-primary)]",
50
+ description: "text-body-md text-[var(--color-text-primary)] flex-1 min-w-0",
51
+ icon: "self-start mt-1",
52
+ actionButton: r(
53
+ // Base button styling
54
+ "h-[var(--size-m)] px-[var(--space-m)]",
55
+ "rounded-s",
56
+ "text-label-md",
57
+ // Primary action colors
58
+ "bg-[var(--color-background-blue-bold)]",
59
+ "text-[var(--color-text-on-action)]",
60
+ // Hover states
61
+ "hover:bg-[var(--color-background-blue-bold-hovered)]",
62
+ // Focus states
63
+ "focus:ring-2 focus:ring-[var(--color-border-focused)]"
64
+ ),
65
+ cancelButton: r(
66
+ // Base button styling
67
+ "h-[var(--size-m)] px-[var(--space-m)]",
68
+ "rounded-s",
69
+ "text-label-md",
70
+ // Secondary action colors
71
+ "bg-[var(--color-background-neutral-subtlest)]",
72
+ "text-[var(--color-text-secondary)]",
73
+ "border border-[var(--color-border-action-outline)]",
74
+ // Hover states
75
+ "hover:bg-[var(--color-background-neutral-subtlest-hovered)]",
76
+ "hover:border-[var(--color-border-action-outline-hovered)]",
77
+ // Focus states
78
+ "focus:ring-2 focus:ring-[var(--color-border-focused)]"
79
+ ),
80
+ closeButton: r(
81
+ // Icon sizing
82
+ "w-[20px] h-[20px]",
83
+ // Icon color
84
+ "text-[var(--color-icon-tertiary)]",
85
+ // Hover state
86
+ "hover:text-[var(--color-icon-tertiary-hovered)]"
87
+ ),
88
+ success: r(
89
+ // Icon color is handled by custom icon component
90
+ "[&_svg]:text-[var(--color-icon-success-bold)]"
91
+ ),
92
+ error: r(
93
+ // Icon color is handled by custom icon component
94
+ "[&_svg]:text-[var(--color-icon-error-bold)]"
95
+ ),
96
+ warning: r(
97
+ // Icon color is handled by custom icon component
98
+ "[&_svg]:text-[var(--color-icon-warning-bold)]"
99
+ )
100
+ }
101
+ },
102
+ ...t
103
+ }
104
+ );
105
+ export {
106
+ x as Toaster,
107
+ f as toast
108
+ };
@@ -0,0 +1,37 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import * as e from "react";
3
+ import * as o from "@radix-ui/react-toggle-group";
4
+ import { cn as p } from "../../lib/utils.js";
5
+ import { toggleVariants as c } from "./toggle.js";
6
+ const l = e.createContext({}), f = /* @__PURE__ */ e.forwardRef(({ className: t, size: r, children: a, ...m }, s) => /* @__PURE__ */ i(
7
+ o.Root,
8
+ {
9
+ ref: s,
10
+ className: p("flex items-center justify-center gap-1", t),
11
+ ...m,
12
+ children: /* @__PURE__ */ i(l.Provider, { value: { size: r }, children: a })
13
+ }
14
+ ));
15
+ f.displayName = o.Root.displayName;
16
+ const g = /* @__PURE__ */ e.forwardRef(({ className: t, children: r, size: a, ...m }, s) => {
17
+ const n = e.useContext(l);
18
+ return /* @__PURE__ */ i(
19
+ o.Item,
20
+ {
21
+ ref: s,
22
+ className: p(
23
+ c({
24
+ size: n.size || a
25
+ }),
26
+ t
27
+ ),
28
+ ...m,
29
+ children: r
30
+ }
31
+ );
32
+ });
33
+ g.displayName = o.Item.displayName;
34
+ export {
35
+ f as ToggleGroup,
36
+ g as ToggleGroupItem
37
+ };
@@ -0,0 +1,51 @@
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import * as c from "react";
3
+ import * as e from "@radix-ui/react-toggle";
4
+ import { cva as d } from "class-variance-authority";
5
+ import { cn as n } from "../../lib/utils.js";
6
+ const b = d(
7
+ "inline-flex items-center justify-center font-medium ring-offset-[var(--color-surface-primary)] transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:transition-colors gap-[var(--space-s)] cursor-pointer",
8
+ {
9
+ variants: {
10
+ variant: {
11
+ default: [
12
+ "bg-transparent text-[var(--color-text-primary)]",
13
+ "hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",
14
+ "data-[state=on]:bg-[var(--color-background-blue-subtle-selected)] data-[state=on]:text-[var(--color-text-brand-bold)] data-[state=on]:[&_svg]:text-[var(--color-text-brand-bold)]",
15
+ "data-[state=on]:hover:bg-[var(--color-background-blue-subtle-selected-hovered)]",
16
+ "aria-checked:bg-[var(--color-background-blue-subtle-selected)] aria-checked:text-[var(--color-text-brand-bold)] aria-checked:[&_svg]:text-[var(--color-text-brand-bold)]",
17
+ "aria-checked:hover:bg-[var(--color-background-blue-subtle-selected-hovered)]"
18
+ ],
19
+ outline: [
20
+ "border border-[var(--color-border-primary-subtle)] bg-[var(--color-surface-primary)] text-[var(--color-text-primary)]",
21
+ "hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]",
22
+ "data-[state=on]:bg-[var(--color-background-blue-subtle-selected)] data-[state=on]:text-[var(--color-text-brand-bold)] data-[state=on]:border-transparent data-[state=on]:[&_svg]:text-[var(--color-text-brand-bold)]",
23
+ "data-[state=on]:hover:bg-[var(--color-background-blue-subtle-selected-hovered)]",
24
+ "aria-checked:bg-[var(--color-background-blue-subtle-selected)] aria-checked:text-[var(--color-text-brand-bold)] aria-checked:border-transparent aria-checked:[&_svg]:text-[var(--color-text-brand-bold)]",
25
+ "aria-checked:hover:bg-[var(--color-background-blue-subtle-selected-hovered)]"
26
+ ]
27
+ },
28
+ size: {
29
+ s: "text-label-sm rounded-s px-[var(--space-s)] py-[var(--space-xs)]",
30
+ m: "text-label-md rounded-m px-[var(--space-m)] py-[var(--dimension-150)]",
31
+ l: "text-label-md rounded-m px-[var(--space-l)] py-[var(--space-m)]"
32
+ }
33
+ },
34
+ defaultVariants: {
35
+ variant: "default",
36
+ size: "s"
37
+ }
38
+ }
39
+ ), i = /* @__PURE__ */ c.forwardRef(({ className: r, variant: a, size: t, ...o }, s) => /* @__PURE__ */ l(
40
+ e.Root,
41
+ {
42
+ ref: s,
43
+ className: n(b({ variant: a, size: t, className: r })),
44
+ ...o
45
+ }
46
+ ));
47
+ i.displayName = e.Root.displayName;
48
+ export {
49
+ i as Toggle,
50
+ b as toggleVariants
51
+ };
@@ -0,0 +1,26 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import * as d from "react";
3
+ import * as o from "@radix-ui/react-tooltip";
4
+ import { cn as s } from "../../lib/utils.js";
5
+ const p = ({
6
+ delayDuration: t = 400,
7
+ ...e
8
+ }) => /* @__PURE__ */ a(o.Provider, { delayDuration: t, ...e }), c = o.Root, f = o.Trigger, m = /* @__PURE__ */ d.forwardRef(({ className: t, sideOffset: e = 4, ...i }, r) => /* @__PURE__ */ a(
9
+ o.Content,
10
+ {
11
+ ref: r,
12
+ sideOffset: e,
13
+ className: s(
14
+ "[&]:text-body-sm animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-w-[320px] overflow-hidden rounded-m bg-[var(--color-background-inverse)] px-[var(--space-m)] py-[var(--space-s)] text-[var(--color-text-inverse)] shadow-lg",
15
+ t
16
+ ),
17
+ ...i
18
+ }
19
+ ));
20
+ m.displayName = o.Content.displayName;
21
+ export {
22
+ c as Tooltip,
23
+ m as TooltipContent,
24
+ p as TooltipProvider,
25
+ f as TooltipTrigger
26
+ };
@@ -0,0 +1,161 @@
1
+ import { jsx as s, jsxs as C } from "react/jsx-runtime";
2
+ import * as n from "react";
3
+ import { FileIcon as g, FolderIcon as S, ChevronRightIcon as A } from "lucide-react";
4
+ import { cn as u } from "../../lib/utils.js";
5
+ import { Button as P } from "./button.js";
6
+ const T = n.createContext(null), R = () => {
7
+ const e = n.useContext(T);
8
+ if (!e)
9
+ throw new Error("useTree must be used within a TreeProvider");
10
+ return e;
11
+ }, k = /* @__PURE__ */ n.forwardRef(
12
+ ({ item: e, level: l }, c) => {
13
+ const {
14
+ selectedItemId: d,
15
+ expandedItems: t,
16
+ handleExpand: h,
17
+ handleSelect: I,
18
+ defaultNodeIcon: b,
19
+ defaultLeafIcon: p
20
+ } = R(), a = t.has(e.id), f = d === e.id, o = e.children && e.children.length > 0, i = f && !o, v = n.useMemo(() => e.disabled ? p || g : f && e.selectedIcon ? e.selectedIcon : o ? a && e.openIcon ? e.openIcon : e.icon || b || S : e.icon || p || g, [
21
+ e.disabled,
22
+ e.selectedIcon,
23
+ e.openIcon,
24
+ e.icon,
25
+ f,
26
+ o,
27
+ a,
28
+ b,
29
+ p
30
+ ]), y = () => {
31
+ e.disabled || (o && h(e.id), I(e), e.onClick?.());
32
+ }, w = (r) => {
33
+ r.stopPropagation(), o && !e.disabled && h(e.id);
34
+ };
35
+ return /* @__PURE__ */ C("div", { ref: c, className: "relative", children: [
36
+ /* @__PURE__ */ C(
37
+ "div",
38
+ {
39
+ className: u(
40
+ "flex items-center gap-1 rounded-s py-1 pr-1 cursor-pointer transition-colors",
41
+ "hover:bg-[var(--color-background-neutral-subtlest-hovered)]",
42
+ i && "bg-[var(--color-background-blue-subtle-selected)] hover:bg-[var(--color-background-blue-subtle-selected-hovered)]",
43
+ e.disabled && "opacity-50 cursor-not-allowed"
44
+ ),
45
+ style: { paddingLeft: `${l * 16 + 8}px` },
46
+ onClick: y,
47
+ children: [
48
+ o ? /* @__PURE__ */ s(
49
+ P,
50
+ {
51
+ variant: "ghost",
52
+ size: "s",
53
+ className: "h-4 w-4 p-0 opacity-50 hover:opacity-100",
54
+ onClick: w,
55
+ disabled: e.disabled,
56
+ children: /* @__PURE__ */ s(
57
+ A,
58
+ {
59
+ className: u(
60
+ "h-3 w-3 transition-transform duration-200",
61
+ a && "transform rotate-90"
62
+ )
63
+ }
64
+ )
65
+ }
66
+ ) : /* @__PURE__ */ s("div", { className: "h-4 w-4" }),
67
+ /* @__PURE__ */ s(v, { className: u(
68
+ "h-4 w-4 shrink-0",
69
+ i && "text-[var(--color-icon-brand-bold-selected)]"
70
+ ) }),
71
+ /* @__PURE__ */ s("span", { className: u(
72
+ "flex-1 truncate",
73
+ i ? "text-body-strong-sm" : "text-body-sm"
74
+ ), children: /* @__PURE__ */ s("span", { className: u(
75
+ i && "text-[var(--color-text-brand-bold-selected)]"
76
+ ), children: e.name }) }),
77
+ e.actions && /* @__PURE__ */ s(
78
+ "div",
79
+ {
80
+ className: "flex items-center gap-1",
81
+ onClick: (r) => r.stopPropagation(),
82
+ children: e.actions
83
+ }
84
+ )
85
+ ]
86
+ }
87
+ ),
88
+ o && a && /* @__PURE__ */ s("div", { children: e.children?.map((r) => /* @__PURE__ */ s(k, { item: r, level: l + 1 }, r.id)) })
89
+ ] });
90
+ }
91
+ );
92
+ k.displayName = "TreeItem";
93
+ const L = /* @__PURE__ */ n.forwardRef(
94
+ ({
95
+ data: e,
96
+ initialSelectedItemId: l,
97
+ onSelectChange: c,
98
+ expandAll: d = !1,
99
+ defaultNodeIcon: t = S,
100
+ defaultLeafIcon: h = g,
101
+ className: I,
102
+ ...b
103
+ }, p) => {
104
+ const [a, f] = n.useState(
105
+ l
106
+ ), [o, m] = n.useState(
107
+ new Set(d ? N(Array.isArray(e) ? e : [e]) : [])
108
+ );
109
+ n.useEffect(() => {
110
+ d && m(new Set(N(Array.isArray(e) ? e : [e])));
111
+ }, [e, d]);
112
+ const i = n.useCallback((r) => {
113
+ m((E) => {
114
+ const x = new Set(E);
115
+ return x.has(r) ? x.delete(r) : x.add(r), x;
116
+ });
117
+ }, []), v = n.useCallback((r) => {
118
+ r.disabled || (f(r.id), c?.(r));
119
+ }, [c]), y = n.useMemo(
120
+ () => ({
121
+ selectedItemId: a,
122
+ expandedItems: o,
123
+ handleExpand: i,
124
+ handleSelect: v,
125
+ onSelectChange: c,
126
+ defaultNodeIcon: t,
127
+ defaultLeafIcon: h
128
+ }),
129
+ [
130
+ a,
131
+ o,
132
+ i,
133
+ v,
134
+ c,
135
+ t,
136
+ h
137
+ ]
138
+ ), w = Array.isArray(e) ? e : [e];
139
+ return /* @__PURE__ */ s(T.Provider, { value: y, children: /* @__PURE__ */ s(
140
+ "div",
141
+ {
142
+ ref: p,
143
+ className: u("space-y-1", I),
144
+ ...b,
145
+ children: w.map((r) => /* @__PURE__ */ s(k, { item: r, level: 0 }, r.id))
146
+ }
147
+ ) });
148
+ }
149
+ );
150
+ L.displayName = "Tree";
151
+ function N(e) {
152
+ const l = [];
153
+ function c(d) {
154
+ for (const t of d)
155
+ l.push(t.id), t.children && c(t.children);
156
+ }
157
+ return c(e), l;
158
+ }
159
+ export {
160
+ L as Tree
161
+ };
@@ -0,0 +1,231 @@
1
+ import { jsx as a, jsxs as A, Fragment as b } from "react/jsx-runtime";
2
+ import * as r from "react";
3
+ import { cn as n } from "../../lib/utils.js";
4
+ import { Collapsible as L, CollapsibleTrigger as C, CollapsibleContent as R } from "../fundamental/collapsible.js";
5
+ import { Icon as D } from "../fundamental/icon.js";
6
+ const I = /* @__PURE__ */ r.forwardRef(
7
+ ({
8
+ className: i,
9
+ children: e,
10
+ separatorThreshold: t,
11
+ "aria-label": o = "Activity log",
12
+ ...d
13
+ }, y) => {
14
+ const v = r.useMemo(() => {
15
+ if (!t) return e;
16
+ const s = r.Children.toArray(e), c = [];
17
+ for (let m = 0; m < s.length; m++) {
18
+ const f = s[m];
19
+ c.push(f);
20
+ const p = s[m + 1];
21
+ if (p && r.isValidElement(f) && r.isValidElement(p) && f.type === w && p.type === w) {
22
+ const u = f.props.timestamp, g = p.props.timestamp;
23
+ if (u && g) {
24
+ const x = new Date(u), l = new Date(g);
25
+ Math.abs(l.getTime() - x.getTime()) >= t && c.push(/* @__PURE__ */ a(N, {}, `separator-${m}`));
26
+ }
27
+ }
28
+ }
29
+ return c;
30
+ }, [e, t]);
31
+ return /* @__PURE__ */ a(
32
+ "div",
33
+ {
34
+ ref: y,
35
+ role: "log",
36
+ "aria-label": o,
37
+ "aria-live": "polite",
38
+ "aria-relevant": "additions",
39
+ className: n("flex flex-col gap-[var(--space-s)]", i),
40
+ ...d,
41
+ children: v
42
+ }
43
+ );
44
+ }
45
+ );
46
+ I.displayName = "ActivityLog";
47
+ const w = /* @__PURE__ */ r.forwardRef(
48
+ ({
49
+ className: i,
50
+ children: e,
51
+ collapsible: t = !1,
52
+ defaultOpen: o,
53
+ open: d,
54
+ onOpenChange: y,
55
+ timestamp: v,
56
+ ...s
57
+ }, c) => t ? /* @__PURE__ */ a(
58
+ L,
59
+ {
60
+ ref: c,
61
+ defaultOpen: o,
62
+ open: d,
63
+ onOpenChange: y,
64
+ className: n("w-full group peer", i),
65
+ ...s,
66
+ children: e
67
+ }
68
+ ) : /* @__PURE__ */ a("div", { ref: c, className: n("w-full", i), ...s, children: e })
69
+ );
70
+ w.displayName = "ActivityLogItem";
71
+ const N = /* @__PURE__ */ r.memo(
72
+ /* @__PURE__ */ r.forwardRef(
73
+ ({ className: i, ...e }, t) => /* @__PURE__ */ a(
74
+ "div",
75
+ {
76
+ ref: t,
77
+ role: "separator",
78
+ "aria-hidden": "true",
79
+ className: n(
80
+ "flex items-center ml-[7.5px] peer-data-[state=open]:hidden",
81
+ i
82
+ ),
83
+ ...e,
84
+ children: /* @__PURE__ */ a("div", { className: "w-px h-[var(--space-l)] bg-[var(--grey-alpha-100)]" })
85
+ }
86
+ )
87
+ )
88
+ );
89
+ N.displayName = "ActivityLogSeparator";
90
+ const V = /* @__PURE__ */ r.forwardRef(
91
+ ({ className: i, children: e, asCollapsibleTrigger: t, ...o }, d) => {
92
+ const { avatarOrIcon: y, description: v, chevron: s, otherChildren: c } = r.useMemo(() => {
93
+ const f = r.Children.toArray(e);
94
+ let p = null, u = null, g = null;
95
+ const x = [];
96
+ return f.forEach((l) => {
97
+ if (r.isValidElement(l)) {
98
+ const h = l.type?.displayName;
99
+ h === "ActivityLogDescription" ? u = l : h === "ActivityLogChevron" ? g = l : p ? x.push(l) : p = l;
100
+ } else
101
+ x.push(l);
102
+ }), {
103
+ avatarOrIcon: p,
104
+ description: u,
105
+ chevron: g,
106
+ otherChildren: x
107
+ };
108
+ }, [e]), m = /* @__PURE__ */ A(
109
+ "div",
110
+ {
111
+ ref: t ? void 0 : d,
112
+ className: n(
113
+ "flex gap-[var(--space-s)] items-start w-full [&>*:first-child]:translate-y-[1px]",
114
+ t && "cursor-pointer rounded-s focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2",
115
+ i
116
+ ),
117
+ ...o,
118
+ children: [
119
+ y,
120
+ v && s ? (
121
+ // Group description and chevron together
122
+ /* @__PURE__ */ A("div", { className: "inline-flex gap-[var(--space-xs)] items-center min-w-0 flex-1", children: [
123
+ v,
124
+ s
125
+ ] })
126
+ ) : /* @__PURE__ */ A(b, { children: [
127
+ v,
128
+ s
129
+ ] }),
130
+ c
131
+ ]
132
+ }
133
+ );
134
+ return t ? /* @__PURE__ */ a(C, { asChild: !0, hideIcon: !0, children: m }) : m;
135
+ }
136
+ );
137
+ V.displayName = "ActivityLogHeader";
138
+ const k = /* @__PURE__ */ r.forwardRef(({ className: i, children: e, ...t }, o) => /* @__PURE__ */ a(
139
+ R,
140
+ {
141
+ ref: o,
142
+ className: n(
143
+ "mt-[var(--space-s)] pl-[var(--space-s)] ml-[7.5px] border-l border-l-[var(--grey-alpha-100)] max-w-[320px]",
144
+ "[.group:last-child_&]:border-l-0",
145
+ i
146
+ ),
147
+ ...t,
148
+ children: e
149
+ }
150
+ ));
151
+ k.displayName = "ActivityLogContent";
152
+ const E = /* @__PURE__ */ r.forwardRef(({ className: i, children: e, ...t }, o) => /* @__PURE__ */ a(
153
+ "div",
154
+ {
155
+ ref: o,
156
+ className: n(
157
+ "inline-flex flex-wrap gap-x-[var(--space-xs)] gap-y-0 items-center min-w-0 [&]:text-body-sm text-[var(--color-text-primary)]",
158
+ i
159
+ ),
160
+ ...t,
161
+ children: e
162
+ }
163
+ ));
164
+ E.displayName = "ActivityLogDescription";
165
+ const M = /* @__PURE__ */ r.forwardRef(
166
+ ({ className: i, children: e, dateTime: t, ...o }, d) => /* @__PURE__ */ a(
167
+ "time",
168
+ {
169
+ ref: d,
170
+ dateTime: t,
171
+ className: n(
172
+ "[&]:text-body-xsm text-[var(--color-text-tertiary)] shrink-0 whitespace-nowrap",
173
+ i
174
+ ),
175
+ ...o,
176
+ children: e
177
+ }
178
+ )
179
+ );
180
+ M.displayName = "ActivityLogTime";
181
+ const T = /* @__PURE__ */ r.memo(
182
+ /* @__PURE__ */ r.forwardRef(
183
+ ({ className: i, ...e }, t) => /* @__PURE__ */ a(
184
+ "div",
185
+ {
186
+ ref: t,
187
+ "aria-hidden": "true",
188
+ className: n("shrink-0", i),
189
+ ...e,
190
+ children: /* @__PURE__ */ a(
191
+ D,
192
+ {
193
+ name: "chevron-down",
194
+ size: "s",
195
+ color: "tertiary",
196
+ className: "[.group[data-state=open]_&]:rotate-180"
197
+ }
198
+ )
199
+ }
200
+ )
201
+ )
202
+ );
203
+ T.displayName = "ActivityLogChevron";
204
+ const j = /* @__PURE__ */ r.memo(
205
+ /* @__PURE__ */ r.forwardRef(
206
+ ({ className: i, children: e, ...t }, o) => /* @__PURE__ */ a(
207
+ "div",
208
+ {
209
+ ref: o,
210
+ className: n(
211
+ "inline-flex items-center gap-[var(--space-xs)] px-[4px] py-[2px] bg-[var(--color-background-neutral-subtlest)] border border-[var(--color-border-primary-medium)] rounded-xs shrink",
212
+ i
213
+ ),
214
+ ...t,
215
+ children: /* @__PURE__ */ a("span", { className: "[&]:text-body-medium-xsm text-[var(--color-text-primary)] whitespace-nowrap", children: e })
216
+ }
217
+ )
218
+ )
219
+ );
220
+ j.displayName = "ActivityLogValue";
221
+ export {
222
+ I as ActivityLog,
223
+ T as ActivityLogChevron,
224
+ k as ActivityLogContent,
225
+ E as ActivityLogDescription,
226
+ V as ActivityLogHeader,
227
+ w as ActivityLogItem,
228
+ N as ActivityLogSeparator,
229
+ M as ActivityLogTime,
230
+ j as ActivityLogValue
231
+ };