@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,170 @@
1
+ import { jsx as i, jsxs as b } from "react/jsx-runtime";
2
+ import * as o from "react";
3
+ import * as t from "@radix-ui/react-tabs";
4
+ import { cva as v } from "class-variance-authority";
5
+ import { cn as l } from "../../lib/utils.js";
6
+ const m = v(
7
+ "inline-flex items-center text-[var(--color-text-secondary)]",
8
+ {
9
+ variants: {
10
+ variant: {
11
+ pilled: "bg-[var(--color-surface-deepest)] p-[4px] rounded-m gap-[var(--space-2xs)]",
12
+ line: "border-b border-[var(--grey-100)] gap-[var(--space-s)] p-0"
13
+ },
14
+ size: {
15
+ s: "",
16
+ m: "",
17
+ l: ""
18
+ },
19
+ fullWidth: {
20
+ true: "w-full",
21
+ false: ""
22
+ }
23
+ },
24
+ compoundVariants: [
25
+ {
26
+ variant: "pilled",
27
+ size: "s",
28
+ className: "h-[32px]"
29
+ },
30
+ {
31
+ variant: "pilled",
32
+ size: "m",
33
+ className: "h-[40px]"
34
+ },
35
+ {
36
+ variant: "pilled",
37
+ size: "l",
38
+ className: "h-[48px]"
39
+ }
40
+ ],
41
+ defaultVariants: {
42
+ variant: "pilled",
43
+ size: "m",
44
+ fullWidth: !1
45
+ }
46
+ }
47
+ ), x = v(
48
+ [
49
+ "inline-flex items-center justify-center whitespace-nowrap cursor-pointer gap-[var(--space-s)]",
50
+ "transition-all ring-offset-[var(--color-surface-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-border-focus)] focus-visible:ring-offset-2",
51
+ "disabled:cursor-not-allowed disabled:pointer-events-none"
52
+ ],
53
+ {
54
+ variants: {
55
+ variant: {
56
+ pilled: [
57
+ "rounded-s bg-transparent",
58
+ "data-[state=active]:bg-[var(--color-surface-primary)] data-[state=active]:text-[var(--color-text-brand-bold-selected)] data-[state=active]:[&_svg]:text-[var(--color-text-brand-bold-selected)] data-[state=active]:shadow-xs",
59
+ "hover:bg-[var(--grey-alpha-50)] hover:text-[var(--color-text-primary)]",
60
+ "disabled:opacity-50"
61
+ ],
62
+ line: [
63
+ "h-full border-0 border-b-2 border-transparent rounded-none",
64
+ "data-[state=active]:border-[var(--color-border-selected)] data-[state=active]:text-[var(--color-text-brand-bold)] data-[state=active]:[&_svg]:text-[var(--color-text-brand-bold)] data-[state=active]:shadow-none",
65
+ "hover:data-[state=inactive]:border-[var(--color-border-action-outline-hovered)] hover:data-[state=inactive]:text-[var(--color-text-primary)] hover:data-[state=inactive]:[&_svg]:text-[var(--color-text-primary)]",
66
+ "focus-visible:data-[state=active]:bg-[var(--color-background-brand-subtle-selected)]",
67
+ "focus-visible:data-[state=inactive]:bg-[var(--color-background-neutral-subtlest-hovered)] focus-visible:data-[state=inactive]:border-[var(--color-border-action-outline-hovered)] focus-visible:data-[state=inactive]:text-[var(--color-text-primary)]",
68
+ "disabled:text-[var(--color-text-disabled)] disabled:border-transparent disabled:[&_svg]:text-[var(--color-text-disabled)]"
69
+ ]
70
+ },
71
+ size: {
72
+ s: "text-label-sm px-[var(--space-m)] py-[var(--space-xs)] [&_svg]:w-[var(--size-3xs)] [&_svg]:h-[var(--size-3xs)]",
73
+ m: "text-label-md px-[var(--space-m)] py-[6px] [&_svg]:w-[var(--size-2xs)] [&_svg]:h-[var(--size-2xs)]",
74
+ l: "text-label-md px-[var(--space-l)] py-[10px] [&_svg]:w-[var(--size-xs)] [&_svg]:h-[var(--size-xs)]"
75
+ },
76
+ fullWidth: {
77
+ true: "flex-1",
78
+ false: ""
79
+ }
80
+ },
81
+ compoundVariants: [
82
+ {
83
+ variant: "line",
84
+ size: "s",
85
+ className: "text-label-sm px-[var(--space-s)] py-[var(--space-xs)]"
86
+ },
87
+ {
88
+ variant: "line",
89
+ size: "m",
90
+ className: "text-label-md px-[var(--space-s)] py-[var(--space-s)]"
91
+ },
92
+ {
93
+ variant: "line",
94
+ size: "l",
95
+ className: "text-body-medium-lg px-[var(--space-s)] py-[var(--space-s)]"
96
+ }
97
+ ],
98
+ defaultVariants: {
99
+ variant: "pilled",
100
+ size: "m",
101
+ fullWidth: !1
102
+ }
103
+ }
104
+ ), f = /* @__PURE__ */ o.forwardRef(({ className: a, ...e }, s) => /* @__PURE__ */ i(
105
+ t.Root,
106
+ {
107
+ ref: s,
108
+ className: l("flex flex-col gap-[var(--space-s)]", a),
109
+ ...e
110
+ }
111
+ ));
112
+ f.displayName = t.Root.displayName;
113
+ const u = /* @__PURE__ */ o.forwardRef(({ className: a, variant: e, size: s, fullWidth: r, ...c }, d) => /* @__PURE__ */ i(
114
+ t.List,
115
+ {
116
+ ref: d,
117
+ className: l(m({ variant: e, size: s, fullWidth: r }), a),
118
+ ...c
119
+ }
120
+ ));
121
+ u.displayName = t.List.displayName;
122
+ const g = /* @__PURE__ */ o.forwardRef(({ className: a, variant: e, size: s, fullWidth: r, icon: c, children: d, ...n }, p) => /* @__PURE__ */ b(
123
+ t.Trigger,
124
+ {
125
+ ref: p,
126
+ className: l(x({ variant: e, size: s, fullWidth: r }), a),
127
+ ...n,
128
+ children: [
129
+ c && /* @__PURE__ */ i("span", { className: "shrink-0", children: c }),
130
+ d
131
+ ]
132
+ }
133
+ ));
134
+ g.displayName = t.Trigger.displayName;
135
+ const y = /* @__PURE__ */ o.forwardRef(({ className: a, ...e }, s) => /* @__PURE__ */ i(
136
+ t.Content,
137
+ {
138
+ ref: s,
139
+ className: l(
140
+ "mt-[var(--space-s)] ring-offset-[var(--color-surface-primary)] focus-visible:ring-2 focus-visible:ring-[var(--color-border-focus)] focus-visible:ring-offset-2 focus-visible:outline-none",
141
+ a
142
+ ),
143
+ ...e
144
+ }
145
+ ));
146
+ y.displayName = t.Content.displayName;
147
+ const h = /* @__PURE__ */ o.forwardRef(
148
+ ({ className: a, children: e, ...s }, r) => /* @__PURE__ */ i(
149
+ "div",
150
+ {
151
+ ref: r,
152
+ className: l(
153
+ "text-caption-sm mb-[var(--space-s)] font-medium text-[var(--color-text-tertiary)]",
154
+ a
155
+ ),
156
+ ...s,
157
+ children: e
158
+ }
159
+ )
160
+ );
161
+ h.displayName = "TabsGroupLabel";
162
+ export {
163
+ f as Tabs,
164
+ y as TabsContent,
165
+ h as TabsGroupLabel,
166
+ u as TabsList,
167
+ g as TabsTrigger,
168
+ m as tabsListVariants,
169
+ x as tabsTriggerVariants
170
+ };
@@ -0,0 +1,295 @@
1
+ import { jsxs as C, jsx as t } from "react/jsx-runtime";
2
+ import * as p from "react";
3
+ import { cn as i } from "../../lib/utils.js";
4
+ import { Icon as X } from "./icon.js";
5
+ const E = {
6
+ cyan: "var(--cyan-500)",
7
+ neutral: "var(--grey-400)",
8
+ magenta: "var(--magenta-500)",
9
+ brand: "var(--blue-500)",
10
+ green: "var(--green-500)",
11
+ red: "var(--red-500)",
12
+ orange: "var(--orange-500)",
13
+ violet: "var(--violet-500)"
14
+ }, I = {
15
+ neutral: "neutral",
16
+ brand: "brand",
17
+ success: "green",
18
+ warning: "orange",
19
+ destructive: "red"
20
+ }, Q = ({ width: n, interactive: s = !1, className: a }) => {
21
+ const e = n - 0.5, l = `
22
+ M 11.8333 0.5
23
+ L ${e - 4} 0.5
24
+ Q ${e} 0.5 ${e} ${0.5 + 4}
25
+ L ${e} ${23.5 - 4}
26
+ Q ${e} 23.5 ${e - 4} 23.5
27
+ L 11.8333 23.5
28
+ C 10.7121 23.5 9.64236 23.0294 8.88472 22.2029
29
+ L 1.55138 14.2029
30
+ C 0.149538 12.6736 0.14954 10.3264 1.55138 8.7971
31
+ L 8.88472 0.7971
32
+ C 9.64236 0.5 10.7121 0.5 11.8333 0.5
33
+ Z
34
+ `;
35
+ return /* @__PURE__ */ t(
36
+ "svg",
37
+ {
38
+ width: n,
39
+ height: 24,
40
+ viewBox: `0 0 ${n} 24`,
41
+ fill: "none",
42
+ xmlns: "http://www.w3.org/2000/svg",
43
+ className: i("absolute inset-0 pointer-events-none overflow-visible", a),
44
+ preserveAspectRatio: "none",
45
+ children: /* @__PURE__ */ t(
46
+ "path",
47
+ {
48
+ d: l,
49
+ stroke: "var(--grey-100)",
50
+ className: i(
51
+ "fill-[var(--neutral-white)] transition-[fill]",
52
+ s && "group-hover:fill-[var(--grey-25)]"
53
+ )
54
+ }
55
+ )
56
+ }
57
+ );
58
+ }, _ = ({ width: n, interactive: s = !1, className: a }) => {
59
+ const e = n - 0.5, l = `
60
+ M 11.1 0.5
61
+ L ${e - 4} 0.5
62
+ Q ${e} 0.5 ${e} ${0.5 + 4}
63
+ L ${e} ${19.5 - 4}
64
+ Q ${e} 19.5 ${e - 4} 19.5
65
+ L 11.1 19.5
66
+ C 10.1049 19.5 9.14559 19.1291 8.40931 18.4598
67
+ L 1.80931 12.4598
68
+ C 0.0635623 10.8727 0.0635653 8.1273 1.80931 6.5402
69
+ L 8.40931 0.5402
70
+ C 9.14559 0.5 10.1049 0.5 11.1 0.5
71
+ Z
72
+ `;
73
+ return /* @__PURE__ */ t(
74
+ "svg",
75
+ {
76
+ width: n,
77
+ height: 20,
78
+ viewBox: `0 0 ${n} 20`,
79
+ fill: "none",
80
+ xmlns: "http://www.w3.org/2000/svg",
81
+ className: i("absolute inset-0 pointer-events-none overflow-visible", a),
82
+ preserveAspectRatio: "none",
83
+ children: /* @__PURE__ */ t(
84
+ "path",
85
+ {
86
+ d: l,
87
+ stroke: "var(--grey-100)",
88
+ className: i(
89
+ "fill-[var(--neutral-white)] transition-[fill]",
90
+ s && "group-hover:fill-[var(--grey-25)]"
91
+ )
92
+ }
93
+ )
94
+ }
95
+ );
96
+ }, j = {
97
+ s: {
98
+ height: 20,
99
+ typography: "[&]:text-label-sm",
100
+ dotSize: "w-1.5 h-1.5",
101
+ dotMargin: "mr-1",
102
+ closeSize: "w-3.5 h-3.5",
103
+ closeMargin: "ml-0.5",
104
+ paddingX: "px-[var(--space-s)]"
105
+ },
106
+ m: {
107
+ height: 24,
108
+ typography: "[&]:text-label-sm",
109
+ dotSize: "w-2 h-2",
110
+ dotMargin: "mr-1.5",
111
+ closeSize: "w-4 h-4",
112
+ closeMargin: "ml-1",
113
+ paddingX: "px-[var(--space-s)]"
114
+ }
115
+ }, b = /* @__PURE__ */ p.forwardRef(
116
+ ({
117
+ className: n,
118
+ size: s = "m",
119
+ variant: a = "triangular",
120
+ children: g,
121
+ intent: h,
122
+ color: e,
123
+ showDot: l,
124
+ closable: f = !1,
125
+ onClose: x,
126
+ disabled: c = !1,
127
+ onClick: w,
128
+ interactive: r = !1,
129
+ style: $,
130
+ ...S
131
+ }, m) => {
132
+ const [y, N] = p.useState(0), v = p.useRef(null), o = j[s], u = a === "triangular";
133
+ p.useEffect(() => {
134
+ if (u && v.current) {
135
+ const d = new ResizeObserver((B) => {
136
+ for (const T of B) {
137
+ const D = T.borderBoxSize?.[0]?.inlineSize ?? T.target.getBoundingClientRect().width;
138
+ N(D);
139
+ }
140
+ });
141
+ return d.observe(v.current), () => d.disconnect();
142
+ }
143
+ }, [u]);
144
+ const z = (d) => {
145
+ d.stopPropagation(), c || x?.();
146
+ }, L = () => {
147
+ !c && r && w && w();
148
+ }, M = (d) => {
149
+ r && (d.key === "Enter" || d.key === " ") && (d.preventDefault(), L());
150
+ }, k = e || (h ? I[h] : void 0), R = k ? E[k] : void 0, O = l ?? k !== void 0, A = s === "s" ? _ : Q;
151
+ return /* @__PURE__ */ C(
152
+ "div",
153
+ {
154
+ ref: m,
155
+ className: i(
156
+ "relative inline-flex group",
157
+ r && "cursor-pointer",
158
+ c && "opacity-50 cursor-not-allowed",
159
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-1",
160
+ n
161
+ ),
162
+ style: { height: `${o.height}px`, ...$ },
163
+ onClick: r ? L : void 0,
164
+ role: r ? "button" : void 0,
165
+ tabIndex: r && !c ? 0 : void 0,
166
+ onKeyDown: r ? M : void 0,
167
+ ...S,
168
+ children: [
169
+ u && y > 0 && /* @__PURE__ */ t(
170
+ A,
171
+ {
172
+ width: y,
173
+ interactive: r
174
+ }
175
+ ),
176
+ /* @__PURE__ */ C(
177
+ "div",
178
+ {
179
+ ref: u ? v : void 0,
180
+ className: i(
181
+ "relative z-10 inline-flex items-center",
182
+ o.typography,
183
+ o.paddingX,
184
+ "text-[var(--color-text-primary)]",
185
+ u && "pl-[12px]",
186
+ // notch width clearance
187
+ !u && [
188
+ "border border-[var(--grey-100)] rounded-m",
189
+ "bg-[var(--neutral-white)]",
190
+ r && "group-hover:bg-[var(--grey-25)]",
191
+ "transition-[background-color]"
192
+ ]
193
+ ),
194
+ children: [
195
+ O && R && /* @__PURE__ */ t(
196
+ "span",
197
+ {
198
+ className: i(
199
+ "rounded-full shrink-0",
200
+ o.dotSize,
201
+ o.dotMargin
202
+ ),
203
+ style: { backgroundColor: R },
204
+ "aria-hidden": "true"
205
+ }
206
+ ),
207
+ /* @__PURE__ */ t("span", { className: "truncate", children: g }),
208
+ f && /* @__PURE__ */ t(
209
+ "button",
210
+ {
211
+ type: "button",
212
+ className: i(
213
+ "inline-flex items-center justify-center shrink-0 hover:bg-[var(--grey-alpha-50)] rounded-xs transition-colors",
214
+ o.closeMargin,
215
+ o.closeSize
216
+ ),
217
+ onClick: z,
218
+ disabled: c,
219
+ "aria-label": "Remove tag",
220
+ children: /* @__PURE__ */ t(
221
+ X,
222
+ {
223
+ name: "x",
224
+ size: "s",
225
+ color: c ? "disabled" : "secondary"
226
+ }
227
+ )
228
+ }
229
+ )
230
+ ]
231
+ }
232
+ )
233
+ ]
234
+ }
235
+ );
236
+ }
237
+ );
238
+ b.displayName = "Tag";
239
+ const G = /* @__PURE__ */ p.forwardRef(
240
+ ({
241
+ className: n,
242
+ tags: s,
243
+ onTagRemove: a,
244
+ onTagClick: g,
245
+ closable: h = !1,
246
+ interactive: e = !1,
247
+ size: l = "m",
248
+ variant: f,
249
+ intent: x,
250
+ color: c,
251
+ showDot: w,
252
+ maxVisible: r,
253
+ ...$
254
+ }, S) => {
255
+ const [m, y] = p.useState(!1), N = r && !m ? s.slice(0, r) : s, v = r && !m ? s.length - r : 0;
256
+ return /* @__PURE__ */ C(
257
+ "div",
258
+ {
259
+ ref: S,
260
+ className: i("flex flex-wrap items-center gap-[var(--space-s)]", n),
261
+ ...$,
262
+ children: [
263
+ N.map((o) => /* @__PURE__ */ t(
264
+ b,
265
+ {
266
+ intent: o.intent || x,
267
+ color: o.color || c,
268
+ size: l,
269
+ variant: f,
270
+ closable: h,
271
+ interactive: e,
272
+ disabled: o.disabled,
273
+ showDot: w,
274
+ onClose: a ? () => a(o.id) : void 0,
275
+ onClick: g ? () => g(o.id) : void 0,
276
+ children: o.label
277
+ },
278
+ o.id
279
+ )),
280
+ v > 0 && /* @__PURE__ */ C(b, { size: l, variant: f, interactive: !0, onClick: () => y(!0), children: [
281
+ "+",
282
+ v,
283
+ " more"
284
+ ] }),
285
+ m && r && /* @__PURE__ */ t(b, { size: l, variant: f, interactive: !0, onClick: () => y(!1), children: "Show less" })
286
+ ]
287
+ }
288
+ );
289
+ }
290
+ );
291
+ G.displayName = "TagGroup";
292
+ export {
293
+ b as Tag,
294
+ G as TagGroup
295
+ };
@@ -0,0 +1,105 @@
1
+ import { jsxs as y, jsx as i } from "react/jsx-runtime";
2
+ import * as r from "react";
3
+ import { cva as w } from "class-variance-authority";
4
+ import { cn as g } from "../../lib/utils.js";
5
+ import { Icon as d } from "./icon.js";
6
+ const N = w(
7
+ "inline-flex items-center gap-[var(--space-xs)] min-w-0 max-w-full transition-colors underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-border-focused)] focus-visible:ring-offset-2",
8
+ {
9
+ variants: {
10
+ size: {
11
+ s: "[&]:text-body-sm",
12
+ m: "[&]:text-body-md",
13
+ l: "[&]:text-body-lg"
14
+ },
15
+ variant: {
16
+ default: "text-[var(--color-text-action-brand-bold)] hover:text-[var(--color-text-action-brand-bold-hovered)]",
17
+ subtle: "text-[var(--color-text-secondary)] hover:text-[var(--color-text-primary)]"
18
+ }
19
+ },
20
+ defaultVariants: {
21
+ size: "m",
22
+ variant: "default"
23
+ }
24
+ }
25
+ ), z = /* @__PURE__ */ r.forwardRef(
26
+ ({
27
+ className: x,
28
+ size: n = "m",
29
+ variant: a = "default",
30
+ icon: t,
31
+ iconPosition: l = "right",
32
+ disabled: e = !1,
33
+ children: v,
34
+ target: s,
35
+ rel: o,
36
+ onClick: c,
37
+ ...b
38
+ }, h) => {
39
+ const u = r.useMemo(() => {
40
+ switch (n) {
41
+ case "s":
42
+ return "s";
43
+ case "m":
44
+ return "s";
45
+ case "l":
46
+ return "m";
47
+ default:
48
+ return "s";
49
+ }
50
+ }, [n]), p = r.useMemo(() => s === "_blank" ? o ? `${o} noopener noreferrer` : "noopener noreferrer" : o, [s, o]), k = r.useCallback(
51
+ (m) => {
52
+ if (e) {
53
+ m.preventDefault();
54
+ return;
55
+ }
56
+ c?.(m);
57
+ },
58
+ [e, c]
59
+ ), f = r.useMemo(() => e ? "disabled" : a === "subtle" ? "secondary" : "brand", [e, a]);
60
+ return /* @__PURE__ */ y(
61
+ "a",
62
+ {
63
+ ref: h,
64
+ className: g(
65
+ N({ size: n, variant: a, className: x }),
66
+ e && "cursor-not-allowed text-[var(--color-text-disabled)] no-underline hover:no-underline hover:text-[var(--color-text-disabled)]"
67
+ ),
68
+ target: s,
69
+ rel: p,
70
+ onClick: k,
71
+ "aria-disabled": e,
72
+ tabIndex: e ? -1 : void 0,
73
+ ...b,
74
+ children: [
75
+ t && l === "left" && /* @__PURE__ */ i(
76
+ d,
77
+ {
78
+ name: t,
79
+ size: u,
80
+ color: f,
81
+ "aria-hidden": "true",
82
+ className: "flex-shrink-0"
83
+ }
84
+ ),
85
+ /* @__PURE__ */ i("span", { className: "min-w-0 truncate", children: v }),
86
+ t && l === "right" && /* @__PURE__ */ i(
87
+ d,
88
+ {
89
+ name: t,
90
+ size: u,
91
+ color: f,
92
+ "aria-hidden": "true",
93
+ className: "flex-shrink-0"
94
+ }
95
+ )
96
+ ]
97
+ }
98
+ );
99
+ }
100
+ );
101
+ z.displayName = "TextLink";
102
+ export {
103
+ z as TextLink,
104
+ N as textLinkVariants
105
+ };
@@ -0,0 +1,47 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import * as s from "react";
3
+ import { cva as c } from "class-variance-authority";
4
+ import { cn as l } from "../../lib/utils.js";
5
+ const p = c(
6
+ "flex min-h-[80px] w-full rounded-m border transition-colors placeholder:text-[var(--color-text-tertiary)] focus-visible:outline-none focus-visible:shadow-[0px_0px_0px_2px_rgba(0,95,133,0.2),0px_3px_4px_0px_rgba(0,14,20,0.03)] disabled:cursor-not-allowed disabled:opacity-50 resize-y",
7
+ {
8
+ variants: {
9
+ variant: {
10
+ default: [
11
+ "bg-[var(--color-interaction-background-input-neutral)] text-[var(--color-text-primary)]",
12
+ "border-[var(--color-interaction-border-input)]",
13
+ "hover:border-[var(--color-interaction-border-input-hovered)]",
14
+ "focus-visible:border-[#005f85]"
15
+ ],
16
+ error: [
17
+ "bg-[var(--color-interaction-background-input-neutral)] text-[var(--color-text-primary)]",
18
+ "border-[var(--color-border-error-bold)]",
19
+ "focus-visible:border-[var(--color-border-error-bold)]"
20
+ ]
21
+ },
22
+ size: {
23
+ s: "px-[var(--space-s)] py-[var(--space-xs)] text-body-sm",
24
+ m: "px-[var(--space-m)] py-[var(--space-s)] text-body-md",
25
+ l: "px-[var(--space-l)] py-[var(--space-m)] text-body-md"
26
+ }
27
+ },
28
+ defaultVariants: {
29
+ variant: "default",
30
+ size: "m"
31
+ }
32
+ }
33
+ ), d = /* @__PURE__ */ s.forwardRef(
34
+ ({ className: r, variant: e, size: o, ...a }, t) => /* @__PURE__ */ i(
35
+ "textarea",
36
+ {
37
+ className: l(p({ variant: e, size: o }), r),
38
+ ref: t,
39
+ ...a
40
+ }
41
+ )
42
+ );
43
+ d.displayName = "Textarea";
44
+ export {
45
+ d as Textarea,
46
+ p as textareaVariants
47
+ };