@giddaa-housing/ui 0.1.0 → 1.1.0

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 (315) hide show
  1. package/README.md +18 -6
  2. package/css/base.css +37 -0
  3. package/css/components.css +135 -0
  4. package/css/generated/shared.css +1 -0
  5. package/css/giddaa.css +402 -0
  6. package/css/preset.css +77 -0
  7. package/css/styles.css +2 -0
  8. package/css/theme.css +255 -0
  9. package/dist/accordion.d.ts +9 -10
  10. package/dist/accordion.js +41 -117
  11. package/dist/activity-timeline.d.ts +29 -0
  12. package/dist/activity-timeline.js +97 -0
  13. package/dist/alert.d.ts +8 -9
  14. package/dist/alert.js +53 -141
  15. package/dist/auth-layout.d.ts +23 -0
  16. package/dist/auth-layout.js +153 -0
  17. package/dist/avatar.d.ts +6 -6
  18. package/dist/avatar.js +40 -142
  19. package/dist/badge.d.ts +12 -13
  20. package/dist/badge.js +66 -114
  21. package/dist/bar-chart.d.ts +136 -114
  22. package/dist/bar-chart.js +244 -297
  23. package/dist/breadcrumb.d.ts +5 -5
  24. package/dist/breadcrumb.js +56 -148
  25. package/dist/bullet-chart.d.ts +33 -33
  26. package/dist/bullet-chart.js +123 -183
  27. package/dist/button-BZIeyUw6.d.ts +17 -0
  28. package/dist/button-group.d.ts +13 -16
  29. package/dist/button-group.js +38 -163
  30. package/dist/button.d.ts +2 -19
  31. package/dist/button.js +90 -142
  32. package/dist/calendar.d.ts +6 -6
  33. package/dist/calendar.js +134 -288
  34. package/dist/card.d.ts +14 -16
  35. package/dist/card.js +58 -174
  36. package/dist/carousel.d.ts +34 -35
  37. package/dist/carousel.js +319 -378
  38. package/dist/chart.d.ts +58 -59
  39. package/dist/chart.js +350 -466
  40. package/dist/checkbox.d.ts +10 -12
  41. package/dist/checkbox.js +84 -84
  42. package/dist/cn-BI_4DMBf.js +23 -0
  43. package/dist/collapsible.d.ts +7 -8
  44. package/dist/collapsible.js +23 -77
  45. package/dist/combobox.d.ts +10 -10
  46. package/dist/combobox.js +220 -696
  47. package/dist/cta.d.ts +64 -0
  48. package/dist/cta.js +192 -0
  49. package/dist/currency-selector.d.ts +41 -0
  50. package/dist/currency-selector.js +114 -0
  51. package/dist/data-table.d.ts +164 -0
  52. package/dist/data-table.js +673 -0
  53. package/dist/date-picker.d.ts +27 -20
  54. package/dist/date-picker.js +122 -520
  55. package/dist/details-card.d.ts +19 -0
  56. package/dist/details-card.js +118 -0
  57. package/dist/dialog.d.ts +13 -14
  58. package/dist/dialog.js +117 -320
  59. package/dist/dropdown-menu.d.ts +14 -14
  60. package/dist/dropdown-menu.js +170 -365
  61. package/dist/dropzone.d.ts +55 -55
  62. package/dist/dropzone.js +328 -467
  63. package/dist/editorial-card.d.ts +27 -0
  64. package/dist/editorial-card.js +144 -0
  65. package/dist/empty-state.d.ts +8 -9
  66. package/dist/empty-state.js +48 -135
  67. package/dist/field.d.ts +23 -25
  68. package/dist/field.js +111 -327
  69. package/dist/filter.d.ts +118 -0
  70. package/dist/filter.js +775 -0
  71. package/dist/footer.d.ts +40 -0
  72. package/dist/footer.js +227 -0
  73. package/dist/funnel-chart.d.ts +38 -41
  74. package/dist/funnel-chart.js +168 -563
  75. package/dist/gallery-indicator.d.ts +17 -0
  76. package/dist/gallery-indicator.js +75 -0
  77. package/dist/heatmap-chart.d.ts +95 -0
  78. package/dist/heatmap-chart.js +197 -0
  79. package/dist/infotip.d.ts +10 -0
  80. package/dist/infotip.js +40 -0
  81. package/dist/input-CfoEJ8A6.d.ts +12 -0
  82. package/dist/input-group.d.ts +16 -19
  83. package/dist/input-group.js +92 -372
  84. package/dist/input-size-context-C-SFx9sx.d.ts +10 -0
  85. package/dist/input-size-context.d.ts +2 -11
  86. package/dist/input-size-context.js +14 -20
  87. package/dist/input.d.ts +2 -13
  88. package/dist/input.js +23 -79
  89. package/dist/item.d.ts +7 -8
  90. package/dist/item.js +22 -89
  91. package/dist/kpi-card.d.ts +18 -20
  92. package/dist/kpi-card.js +84 -232
  93. package/dist/label.d.ts +6 -6
  94. package/dist/label.js +39 -66
  95. package/dist/line-chart.d.ts +88 -89
  96. package/dist/line-chart.js +143 -262
  97. package/dist/logo.d.ts +4 -4
  98. package/dist/logo.js +87 -141
  99. package/dist/map-indicator.d.ts +13 -0
  100. package/dist/map-indicator.js +83 -0
  101. package/dist/match.d.ts +15 -0
  102. package/dist/match.js +68 -0
  103. package/dist/media-gallery-hero.d.ts +58 -0
  104. package/dist/media-gallery-hero.js +201 -0
  105. package/dist/media-player.d.ts +60 -0
  106. package/dist/media-player.js +919 -0
  107. package/dist/multi-step-form.d.ts +56 -0
  108. package/dist/multi-step-form.js +342 -0
  109. package/dist/number-input.d.ts +34 -34
  110. package/dist/number-input.js +62 -413
  111. package/dist/page-header.d.ts +10 -11
  112. package/dist/page-header.js +34 -107
  113. package/dist/pagination.d.ts +17 -20
  114. package/dist/pagination.js +132 -341
  115. package/dist/password-input.d.ts +5 -12
  116. package/dist/password-input.js +32 -354
  117. package/dist/phone-input.d.ts +19 -19
  118. package/dist/phone-input.js +232 -561
  119. package/dist/photo-gallery.d.ts +20 -20
  120. package/dist/photo-gallery.js +314 -746
  121. package/dist/picker-lzgmsNfG.js +32 -0
  122. package/dist/pie-chart.d.ts +60 -60
  123. package/dist/pie-chart.js +141 -184
  124. package/dist/popover.d.ts +9 -9
  125. package/dist/popover.js +60 -156
  126. package/dist/price-tag.d.ts +34 -0
  127. package/dist/price-tag.js +118 -0
  128. package/dist/progress.d.ts +18 -16
  129. package/dist/progress.js +156 -300
  130. package/dist/property-listing-card.d.ts +29 -0
  131. package/dist/property-listing-card.js +117 -0
  132. package/dist/radar-chart.d.ts +108 -0
  133. package/dist/radar-chart.js +172 -0
  134. package/dist/radio-group.d.ts +11 -13
  135. package/dist/radio-group.js +47 -96
  136. package/dist/review-block.d.ts +18 -0
  137. package/dist/review-block.js +154 -0
  138. package/dist/rich-text-editor.d.ts +30 -14
  139. package/dist/rich-text-editor.js +594 -979
  140. package/dist/scatter-chart.d.ts +140 -0
  141. package/dist/scatter-chart.js +248 -0
  142. package/dist/search-input.d.ts +8 -15
  143. package/dist/search-input.js +58 -408
  144. package/dist/select.d.ts +8 -8
  145. package/dist/select.js +131 -291
  146. package/dist/separator.d.ts +8 -9
  147. package/dist/separator.js +31 -70
  148. package/dist/sheet.d.ts +11 -11
  149. package/dist/sheet.js +84 -262
  150. package/dist/sidebar.d.ts +32 -37
  151. package/dist/sidebar.js +380 -1055
  152. package/dist/size-context-D4mYvcg8.d.ts +10 -0
  153. package/dist/size-context.d.ts +2 -11
  154. package/dist/size-context.js +14 -18
  155. package/dist/skeleton.d.ts +4 -5
  156. package/dist/skeleton.js +9 -45
  157. package/dist/slider.d.ts +27 -0
  158. package/dist/slider.js +81 -0
  159. package/dist/sparkline.d.ts +43 -46
  160. package/dist/sparkline.js +223 -561
  161. package/dist/stepper.d.ts +23 -24
  162. package/dist/stepper.js +149 -276
  163. package/dist/styles.css +9995 -2
  164. package/dist/switch.d.ts +10 -12
  165. package/dist/switch.js +49 -106
  166. package/dist/table-card.d.ts +35 -0
  167. package/dist/table-card.js +125 -0
  168. package/dist/table.d.ts +18 -14
  169. package/dist/table.js +114 -182
  170. package/dist/tabs.d.ts +23 -15
  171. package/dist/tabs.js +62 -149
  172. package/dist/tag.d.ts +22 -23
  173. package/dist/tag.js +104 -156
  174. package/dist/testimonial-block.d.ts +33 -0
  175. package/dist/testimonial-block.js +208 -0
  176. package/dist/textarea-IS_D8pXf.d.ts +11 -0
  177. package/dist/textarea.d.ts +2 -12
  178. package/dist/textarea.js +20 -74
  179. package/dist/time-picker.d.ts +11 -11
  180. package/dist/time-picker.js +247 -464
  181. package/dist/toast.d.ts +16 -18
  182. package/dist/toast.js +154 -310
  183. package/dist/tooltip.d.ts +9 -10
  184. package/dist/tooltip.js +33 -91
  185. package/dist/tree-map.d.ts +54 -57
  186. package/dist/tree-map.js +231 -646
  187. package/dist/use-uncontrolled-CLfM1XbB.js +21 -0
  188. package/dist/waterfall-chart.d.ts +126 -0
  189. package/dist/waterfall-chart.js +480 -0
  190. package/package.json +123 -34
  191. package/dist/accordion.js.map +0 -1
  192. package/dist/alert.js.map +0 -1
  193. package/dist/avatar.js.map +0 -1
  194. package/dist/badge.js.map +0 -1
  195. package/dist/bar-chart.js.map +0 -1
  196. package/dist/base.css +0 -32
  197. package/dist/breadcrumb.js.map +0 -1
  198. package/dist/bullet-chart.js.map +0 -1
  199. package/dist/button-group.js.map +0 -1
  200. package/dist/button.js.map +0 -1
  201. package/dist/calendar.js.map +0 -1
  202. package/dist/card.js.map +0 -1
  203. package/dist/carousel.js.map +0 -1
  204. package/dist/chart.js.map +0 -1
  205. package/dist/checkbox.js.map +0 -1
  206. package/dist/collapsible.js.map +0 -1
  207. package/dist/combobox.js.map +0 -1
  208. package/dist/date-picker.js.map +0 -1
  209. package/dist/dialog.js.map +0 -1
  210. package/dist/dropdown-menu.js.map +0 -1
  211. package/dist/dropzone.js.map +0 -1
  212. package/dist/empty-state.js.map +0 -1
  213. package/dist/field.js.map +0 -1
  214. package/dist/files/red-hat-display-latin-300-italic.woff +0 -0
  215. package/dist/files/red-hat-display-latin-300-italic.woff2 +0 -0
  216. package/dist/files/red-hat-display-latin-300-normal.woff +0 -0
  217. package/dist/files/red-hat-display-latin-300-normal.woff2 +0 -0
  218. package/dist/files/red-hat-display-latin-400-italic.woff +0 -0
  219. package/dist/files/red-hat-display-latin-400-italic.woff2 +0 -0
  220. package/dist/files/red-hat-display-latin-400-normal.woff +0 -0
  221. package/dist/files/red-hat-display-latin-400-normal.woff2 +0 -0
  222. package/dist/files/red-hat-display-latin-500-italic.woff +0 -0
  223. package/dist/files/red-hat-display-latin-500-italic.woff2 +0 -0
  224. package/dist/files/red-hat-display-latin-500-normal.woff +0 -0
  225. package/dist/files/red-hat-display-latin-500-normal.woff2 +0 -0
  226. package/dist/files/red-hat-display-latin-600-italic.woff +0 -0
  227. package/dist/files/red-hat-display-latin-600-italic.woff2 +0 -0
  228. package/dist/files/red-hat-display-latin-600-normal.woff +0 -0
  229. package/dist/files/red-hat-display-latin-600-normal.woff2 +0 -0
  230. package/dist/files/red-hat-display-latin-700-italic.woff +0 -0
  231. package/dist/files/red-hat-display-latin-700-italic.woff2 +0 -0
  232. package/dist/files/red-hat-display-latin-700-normal.woff +0 -0
  233. package/dist/files/red-hat-display-latin-700-normal.woff2 +0 -0
  234. package/dist/files/red-hat-display-latin-800-italic.woff +0 -0
  235. package/dist/files/red-hat-display-latin-800-italic.woff2 +0 -0
  236. package/dist/files/red-hat-display-latin-800-normal.woff +0 -0
  237. package/dist/files/red-hat-display-latin-800-normal.woff2 +0 -0
  238. package/dist/files/red-hat-display-latin-900-italic.woff +0 -0
  239. package/dist/files/red-hat-display-latin-900-italic.woff2 +0 -0
  240. package/dist/files/red-hat-display-latin-900-normal.woff +0 -0
  241. package/dist/files/red-hat-display-latin-900-normal.woff2 +0 -0
  242. package/dist/files/red-hat-display-latin-ext-300-italic.woff +0 -0
  243. package/dist/files/red-hat-display-latin-ext-300-italic.woff2 +0 -0
  244. package/dist/files/red-hat-display-latin-ext-300-normal.woff +0 -0
  245. package/dist/files/red-hat-display-latin-ext-300-normal.woff2 +0 -0
  246. package/dist/files/red-hat-display-latin-ext-400-italic.woff +0 -0
  247. package/dist/files/red-hat-display-latin-ext-400-italic.woff2 +0 -0
  248. package/dist/files/red-hat-display-latin-ext-400-normal.woff +0 -0
  249. package/dist/files/red-hat-display-latin-ext-400-normal.woff2 +0 -0
  250. package/dist/files/red-hat-display-latin-ext-500-italic.woff +0 -0
  251. package/dist/files/red-hat-display-latin-ext-500-italic.woff2 +0 -0
  252. package/dist/files/red-hat-display-latin-ext-500-normal.woff +0 -0
  253. package/dist/files/red-hat-display-latin-ext-500-normal.woff2 +0 -0
  254. package/dist/files/red-hat-display-latin-ext-600-italic.woff +0 -0
  255. package/dist/files/red-hat-display-latin-ext-600-italic.woff2 +0 -0
  256. package/dist/files/red-hat-display-latin-ext-600-normal.woff +0 -0
  257. package/dist/files/red-hat-display-latin-ext-600-normal.woff2 +0 -0
  258. package/dist/files/red-hat-display-latin-ext-700-italic.woff +0 -0
  259. package/dist/files/red-hat-display-latin-ext-700-italic.woff2 +0 -0
  260. package/dist/files/red-hat-display-latin-ext-700-normal.woff +0 -0
  261. package/dist/files/red-hat-display-latin-ext-700-normal.woff2 +0 -0
  262. package/dist/files/red-hat-display-latin-ext-800-italic.woff +0 -0
  263. package/dist/files/red-hat-display-latin-ext-800-italic.woff2 +0 -0
  264. package/dist/files/red-hat-display-latin-ext-800-normal.woff +0 -0
  265. package/dist/files/red-hat-display-latin-ext-800-normal.woff2 +0 -0
  266. package/dist/files/red-hat-display-latin-ext-900-italic.woff +0 -0
  267. package/dist/files/red-hat-display-latin-ext-900-italic.woff2 +0 -0
  268. package/dist/files/red-hat-display-latin-ext-900-normal.woff +0 -0
  269. package/dist/files/red-hat-display-latin-ext-900-normal.woff2 +0 -0
  270. package/dist/funnel-chart.js.map +0 -1
  271. package/dist/index.d.ts +0 -87
  272. package/dist/index.js +0 -10448
  273. package/dist/index.js.map +0 -1
  274. package/dist/input-group.js.map +0 -1
  275. package/dist/input-size-context.js.map +0 -1
  276. package/dist/input.js.map +0 -1
  277. package/dist/item.js.map +0 -1
  278. package/dist/kpi-card.js.map +0 -1
  279. package/dist/label.js.map +0 -1
  280. package/dist/line-chart.js.map +0 -1
  281. package/dist/logo.js.map +0 -1
  282. package/dist/number-input.js.map +0 -1
  283. package/dist/page-header.js.map +0 -1
  284. package/dist/pagination.js.map +0 -1
  285. package/dist/password-input.js.map +0 -1
  286. package/dist/phone-input.js.map +0 -1
  287. package/dist/photo-gallery.js.map +0 -1
  288. package/dist/pie-chart.js.map +0 -1
  289. package/dist/popover.js.map +0 -1
  290. package/dist/progress.js.map +0 -1
  291. package/dist/radio-group.js.map +0 -1
  292. package/dist/red-hat-display.css +0 -2
  293. package/dist/rich-text-editor.js.map +0 -1
  294. package/dist/search-input.js.map +0 -1
  295. package/dist/select.js.map +0 -1
  296. package/dist/separator.js.map +0 -1
  297. package/dist/sheet.js.map +0 -1
  298. package/dist/sidebar.js.map +0 -1
  299. package/dist/size-context.js.map +0 -1
  300. package/dist/skeleton.js.map +0 -1
  301. package/dist/sparkline.js.map +0 -1
  302. package/dist/stepper.js.map +0 -1
  303. package/dist/switch.js.map +0 -1
  304. package/dist/tab-list.d.ts +0 -38
  305. package/dist/tab-list.js +0 -394
  306. package/dist/tab-list.js.map +0 -1
  307. package/dist/table.js.map +0 -1
  308. package/dist/tabs.js.map +0 -1
  309. package/dist/tag.js.map +0 -1
  310. package/dist/textarea.js.map +0 -1
  311. package/dist/theme/giddaa.css +0 -2
  312. package/dist/time-picker.js.map +0 -1
  313. package/dist/toast.js.map +0 -1
  314. package/dist/tooltip.js.map +0 -1
  315. package/dist/tree-map.js.map +0 -1
@@ -1,380 +1,100 @@
1
- // src/components/ui/input-group.tsx
2
- import { cva as cva4 } from "class-variance-authority";
3
-
4
- // src/lib/cn.ts
5
- import { clsx } from "clsx";
6
- import { extendTailwindMerge } from "tailwind-merge";
7
- var twMerge = extendTailwindMerge({
8
- extend: {
9
- classGroups: {
10
- "font-size": [
11
- {
12
- text: [
13
- "gdt-display",
14
- "gdt-h1",
15
- "gdt-h2",
16
- "gdt-h3",
17
- "gdt-h4",
18
- "gdt-h5",
19
- "gdt-xl",
20
- "gdt-lg",
21
- "gdt-md",
22
- "gdt-sm",
23
- "gdt-xs",
24
- "gdt-subtext",
25
- "gdt-capitalized"
26
- ]
27
- }
28
- ]
29
- }
30
- }
31
- });
32
- function cn(...inputs) {
33
- return twMerge(clsx(inputs));
34
- }
35
-
36
- // src/components/ui/button.tsx
37
- import { Button as ButtonPrimitive } from "@base-ui/react/button";
1
+ "use client";
2
+ import { t as cn } from "./cn-BI_4DMBf.js";
3
+ import { SizeProvider, useComponentSize } from "./size-context.js";
4
+ import { Button } from "./button.js";
5
+ import { InputSizeProvider } from "./input-size-context.js";
6
+ import { Input } from "./input.js";
7
+ import { Textarea } from "./textarea.js";
8
+ import { jsx } from "react/jsx-runtime";
38
9
  import { cva } from "class-variance-authority";
39
- import { Loader } from "lucide-react";
40
-
41
- // src/components/ui/size-context.tsx
42
- import { createContext, useContext } from "react";
43
- import { Fragment, jsx } from "react/jsx-runtime";
44
- var SizeContext = createContext(void 0);
45
- function SizeProvider({
46
- children,
47
- size
48
- }) {
49
- if (!size) {
50
- return /* @__PURE__ */ jsx(Fragment, { children });
51
- }
52
- return /* @__PURE__ */ jsx(SizeContext.Provider, { value: size, children });
53
- }
54
- function useComponentSize(size, fallback = "md") {
55
- const inheritedSize = useContext(SizeContext);
56
- return size ?? inheritedSize ?? fallback;
57
- }
58
-
59
- // src/components/ui/button.tsx
60
- import { jsx as jsx2, jsxs } from "react/jsx-runtime";
61
- var buttonVariants = cva(
62
- "group/button inline-flex shrink-0 items-center justify-center rounded-full bg-clip-padding whitespace-nowrap font-bold transition-[background-color,color,border-color,box-shadow,transform] outline-none select-none focus-visible:border-line-focus focus-visible:shadow-[0px_0px_0px_2px_var(--color-line-focus)] active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 aria-invalid:border-line-danger aria-invalid:ring-3 aria-invalid:ring-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
63
- {
64
- variants: {
65
- variant: {
66
- primary: "bg-action-primary text-fg-on-brand hover:bg-action-primary-hover active:bg-action-primary-pressed",
67
- "primary-outline": "border-2 border-action-primary bg-transparent text-fg-brand hover:bg-surface-brand-subtle active:bg-surface-brand-subtle data-focused:bg-surface-brand-subtle data-pressed:bg-surface-brand-subtle",
68
- secondary: "bg-surface-brand-subtle text-fg-brand hover:bg-action-primary-hover hover:text-fg-on-brand active:bg-action-primary-pressed active:text-fg-on-brand data-focused:bg-action-primary-hover data-pressed:bg-action-primary-pressed data-focused:text-fg-on-brand data-pressed:text-fg-on-brand",
69
- "secondary-outline": "border-2 border-action-secondary bg-transparent text-fg-brand hover:bg-surface-brand-subtle active:bg-surface-brand-subtle data-focused:bg-surface-brand-subtle data-pressed:bg-surface-brand-subtle",
70
- tertiary: "bg-action-tertiary text-fg-primary hover:bg-action-tertiary-hover active:bg-action-tertiary-pressed data-focused:bg-action-tertiary-hover data-pressed:bg-action-tertiary-pressed",
71
- "tertiary-outline": "border border-line-strong bg-transparent text-fg-primary hover:bg-surface active:bg-surface-raised data-focused:bg-surface data-pressed:bg-surface-raised",
72
- ghost: "bg-transparent text-fg-primary hover:bg-surface active:bg-surface-raised data-focused:bg-surface data-pressed:bg-surface-raised",
73
- danger: "bg-action-danger text-fg-on-brand hover:bg-action-danger-hover active:bg-action-danger-pressed data-focused:bg-action-danger-hover data-pressed:bg-action-danger-pressed",
74
- "glass-overlay": "bg-surface-glass-overlay-button text-fg-on-brand",
75
- "link-brand": "border-transparent bg-transparent px-0 text-fg-brand hover:underline active:underline active:opacity-70",
76
- "link-neutral": "border-transparent bg-transparent px-0 text-fg-secondary hover:underline active:underline active:opacity-70"
77
- },
78
- size: {
79
- sm: "h-8 gap-2 px-3.5 text-gdt-xs has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3 [&_svg:not([class*='size-'])]:size-3.5",
80
- md: "h-10 gap-2 px-4.5 text-gdt-sm has-data-[icon=inline-end]:pr-4 has-data-[icon=inline-start]:pl-4",
81
- lg: "h-12.5 gap-2.5 px-5.5 text-gdt-md has-data-[icon=inline-end]:pr-5 has-data-[icon=inline-start]:pl-5 [&_svg:not([class*='size-'])]:size-4.5",
82
- xl: "h-14 gap-3 px-6.5 text-gdt-lg has-data-[icon=inline-end]:pr-6 has-data-[icon=inline-start]:pl-6 [&_svg:not([class*='size-'])]:size-5",
83
- icon: "size-10",
84
- "icon-xs": "size-6 text-gdt-xs [&_svg:not([class*='size-'])]:size-3",
85
- "icon-sm": "size-8 text-gdt-sm [&_svg:not([class*='size-'])]:size-3.5",
86
- "icon-lg": "size-12.5 text-gdt-md [&_svg:not([class*='size-'])]:size-4.5",
87
- "icon-xl": "size-14 text-gdt-lg [&_svg:not([class*='size-'])]:size-5"
88
- }
89
- },
90
- defaultVariants: {
91
- variant: "primary",
92
- size: "md"
93
- }
94
- }
95
- );
96
- function Button({
97
- className,
98
- variant = "primary",
99
- size,
100
- isLoading = false,
101
- children,
102
- disabled = false,
103
- ...props
104
- }) {
105
- const inheritedSize = useComponentSize();
106
- const resolvedSize = size ?? inheritedSize;
107
- const _disabled = disabled || isLoading;
108
- return /* @__PURE__ */ jsxs(
109
- ButtonPrimitive,
110
- {
111
- "data-slot": "button",
112
- className: cn(buttonVariants({ variant, size: resolvedSize, className })),
113
- disabled: _disabled,
114
- ...props,
115
- children: [
116
- isLoading && /* @__PURE__ */ jsx2(Loader, { className: "size-4 animate-spin" }),
117
- " ",
118
- children
119
- ]
120
- }
121
- );
122
- }
123
-
124
- // src/components/ui/input.tsx
125
- import { Input as InputPrimitive } from "@base-ui/react/input";
126
- import { cva as cva2 } from "class-variance-authority";
127
-
128
- // src/components/ui/input-size-context.tsx
129
- import { createContext as createContext2, useContext as useContext2 } from "react";
130
- import { Fragment as Fragment2, jsx as jsx3 } from "react/jsx-runtime";
131
- var InputSizeContext = createContext2(
132
- void 0
133
- );
134
- function InputSizeProvider({
135
- children,
136
- size
137
- }) {
138
- if (!size) {
139
- return /* @__PURE__ */ jsx3(Fragment2, { children });
140
- }
141
- return /* @__PURE__ */ jsx3(InputSizeContext.Provider, { value: size, children });
142
- }
143
- function useInputComponentSize(size, fallback = "md") {
144
- const inheritedSize = useContext2(InputSizeContext);
145
- return size ?? inheritedSize ?? fallback;
146
- }
147
-
148
- // src/components/ui/input.tsx
149
- import { jsx as jsx4 } from "react/jsx-runtime";
150
- var inputVariants = cva2(
151
- "flex w-full min-w-0 rounded-full border border-line bg-canvas text-fg-primary transition-[background-color,border-color,box-shadow,color] outline-none file:inline-flex file:border-0 file:bg-transparent file:font-normal file:text-fg-primary placeholder:text-fg-muted hover:border-line-strong focus-visible:border-line-focus focus-visible:inset-ring-1 inset-ring-line-focus disabled:pointer-events-none disabled:cursor-not-allowed disabled:border-line-subtle disabled:bg-surface disabled:text-fg-muted disabled:placeholder:text-fg-muted aria-invalid:border-line-danger aria-invalid:text-fg-danger aria-invalid:placeholder:text-fg-danger aria-invalid:shadow-none",
152
- {
153
- variants: {
154
- size: {
155
- sm: "h-8 px-3 text-gdt-xs font-normal file:text-gdt-xs",
156
- md: "h-10 px-3.5 text-gdt-sm font-normal file:text-gdt-sm",
157
- lg: "h-12 px-4 text-gdt-md font-normal file:text-gdt-md",
158
- xl: "h-14 px-4.5 text-gdt-lg font-normal file:text-gdt-lg"
159
- }
160
- },
161
- defaultVariants: {
162
- size: "md"
163
- }
164
- }
165
- );
166
- function Input({ className, size, type, ...props }) {
167
- const resolvedSize = useInputComponentSize(size);
168
- return /* @__PURE__ */ jsx4(
169
- InputPrimitive,
170
- {
171
- type,
172
- "data-slot": "input",
173
- "data-size": resolvedSize,
174
- className: cn(inputVariants({ size: resolvedSize }), className),
175
- ...props
176
- }
177
- );
178
- }
179
-
180
- // src/components/ui/textarea.tsx
181
- import { cva as cva3 } from "class-variance-authority";
182
- import { jsx as jsx5 } from "react/jsx-runtime";
183
- var textareaVariants = cva3(
184
- "flex field-sizing-content w-full min-w-0 resize-y rounded-xl border border-line bg-canvas text-fg-primary transition-[background-color,border-color,box-shadow,color] outline-none placeholder:text-fg-caption-placeholder hover:border-line-strong focus-visible:border-line-focus focus-visible:inset-ring-1 inset-ring-line-focus disabled:pointer-events-none disabled:cursor-not-allowed disabled:border-line-subtle disabled:bg-surface disabled:text-fg-caption-placeholder disabled:placeholder:text-fg-caption-placeholder aria-invalid:border-line-danger aria-invalid:text-fg-danger aria-invalid:placeholder:text-fg-danger aria-invalid:shadow-none",
185
- {
186
- variants: {
187
- size: {
188
- sm: "min-h-22 px-3 py-2 text-gdt-xs",
189
- md: "min-h-26 px-3.5 py-2.5 text-gdt-sm",
190
- lg: "min-h-31 px-4 py-3 text-gdt-md"
191
- }
192
- },
193
- defaultVariants: {
194
- size: "md"
195
- }
196
- }
197
- );
198
- function Textarea({ className, size, ...props }) {
199
- const resolvedSize = useComponentSize(size);
200
- return /* @__PURE__ */ jsx5(
201
- "textarea",
202
- {
203
- "data-slot": "textarea",
204
- "data-size": resolvedSize,
205
- className: cn(textareaVariants({ size: resolvedSize }), className),
206
- ...props
207
- }
208
- );
209
- }
210
-
211
- // src/components/ui/input-group.tsx
212
- import { jsx as jsx6 } from "react/jsx-runtime";
213
- var inputGroupVariants = cva4(
214
- "group/input-group relative flex w-full min-w-0 items-center rounded-full has-[textarea]:rounded-xl has-data-[align=block-end]:rounded-xl has-data-[align=block-start]:rounded-xl border border-line bg-canvas transition-[background-color,border-color,box-shadow,color] outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:border-line-subtle has-disabled:bg-surface has-disabled:text-fg-muted focus-within:border-line-focus focus-within:inset-ring-1 inset-ring-line-focus has-[[data-slot][aria-invalid=true]]:border-line-danger has-[[data-slot][aria-invalid=true]]:inset-shadow-none has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:group-data-[size=sm]/input-group:pl-2 has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:group-data-[size=md]/input-group:pl-2.5 has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:group-data-[size=lg]/input-group:pl-3 has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:group-data-[size=xl]/input-group:pl-3 has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:group-data-[size=sm]/input-group:pr-2 has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:group-data-[size=md]/input-group:pr-2.5 has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:group-data-[size=lg]/input-group:pr-3 has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:group-data-[size=xl]/input-group:pr-3",
215
- {
216
- variants: {
217
- size: {
218
- sm: "h-8",
219
- md: "h-10",
220
- lg: "h-12",
221
- xl: "h-14"
222
- }
223
- },
224
- defaultVariants: {
225
- size: "md"
226
- }
227
- }
228
- );
229
- function InputGroup({
230
- className,
231
- size,
232
- ...props
233
- }) {
234
- const inheritedSize = useComponentSize();
235
- const resolvedSize = size ?? inheritedSize;
236
- const componentSize = resolvedSize === "xl" ? void 0 : resolvedSize;
237
- return /* @__PURE__ */ jsx6(SizeProvider, { size: componentSize, children: /* @__PURE__ */ jsx6(InputSizeProvider, { size: resolvedSize, children: /* @__PURE__ */ jsx6(
238
- "div",
239
- {
240
- "data-slot": "input-group",
241
- "data-size": resolvedSize,
242
- role: "group",
243
- className: cn(inputGroupVariants({ size: resolvedSize }), className),
244
- ...props
245
- }
246
- ) }) });
10
+ //#region src/input-group.tsx
11
+ const inputGroupVariants = cva("group/input-group relative flex w-full min-w-0 items-center rounded-full has-[textarea]:rounded-xl has-data-[align=block-end]:rounded-xl has-data-[align=block-start]:rounded-xl border border-line bg-canvas transition-[background-color,border-color,box-shadow,color] outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:border-line-subtle has-disabled:bg-surface has-disabled:text-fg-caption-placeholder focus-within:border-line-focus focus-within:inset-ring-1 inset-ring-line-focus has-[[data-slot][aria-invalid=true]]:border-line-danger has-[[data-slot][aria-invalid=true]]:inset-shadow-none has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:group-data-[size=sm]/input-group:pl-2 has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:group-data-[size=md]/input-group:pl-2.5 has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:group-data-[size=lg]/input-group:pl-3 has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:group-data-[size=xl]/input-group:pl-3 has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:group-data-[size=sm]/input-group:pr-2 has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:group-data-[size=md]/input-group:pr-2.5 has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:group-data-[size=lg]/input-group:pr-3 has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:group-data-[size=xl]/input-group:pr-3", {
12
+ variants: { size: {
13
+ sm: "h-8",
14
+ md: "h-10",
15
+ lg: "h-12",
16
+ xl: "h-14"
17
+ } },
18
+ defaultVariants: { size: "md" }
19
+ });
20
+ function InputGroup({ className, size, ...props }) {
21
+ const inheritedSize = useComponentSize();
22
+ const resolvedSize = size ?? inheritedSize;
23
+ return /* @__PURE__ */ jsx(SizeProvider, {
24
+ size: resolvedSize === "xl" ? void 0 : resolvedSize,
25
+ children: /* @__PURE__ */ jsx(InputSizeProvider, {
26
+ size: resolvedSize,
27
+ children: /* @__PURE__ */ jsx("div", {
28
+ "data-slot": "input-group",
29
+ "data-size": resolvedSize,
30
+ role: "group",
31
+ className: cn(inputGroupVariants({ size: resolvedSize }), className),
32
+ ...props
33
+ })
34
+ })
35
+ });
247
36
  }
248
- var inputGroupAddonVariants = cva4(
249
- "flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-gdt-sm font-normal text-fg-secondary select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[size=lg]/input-group:[&>svg:not([class*='size-'])]:size-4.5 group-data-[size=xl]/input-group:[&>svg:not([class*='size-'])]:size-5 [&>svg:not([class*='size-'])]:size-4",
250
- {
251
- variants: {
252
- align: {
253
- "inline-start": "order-first group-data-[size=sm]/input-group:pl-3 group-data-[size=md]/input-group:pl-3.5 group-data-[size=lg]/input-group:pl-4 group-data-[size=xl]/input-group:pl-4.5 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]",
254
- "inline-end": "order-last group-data-[size=sm]/input-group:pr-3 group-data-[size=md]/input-group:pr-3.5 group-data-[size=lg]/input-group:pr-4 group-data-[size=xl]/input-group:pr-4.5 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]",
255
- "block-start": "order-first w-full justify-start px-3 group-data-[size=md]/input-group:px-3.5 group-data-[size=lg]/input-group:px-4 group-data-[size=xl]/input-group:px-4.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2",
256
- "block-end": "order-last w-full justify-start px-3 group-data-[size=md]/input-group:px-3.5 group-data-[size=lg]/input-group:px-4 group-data-[size=xl]/input-group:px-4.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2"
257
- }
258
- },
259
- defaultVariants: {
260
- align: "inline-start"
261
- }
262
- }
263
- );
264
- function InputGroupAddon({
265
- className,
266
- align = "inline-start",
267
- ...props
268
- }) {
269
- return (
270
- // biome-ignore lint/a11y/useSemanticElements: addon is a structural wrapper for grouped input affordances.
271
- // biome-ignore lint/a11y/useKeyWithClickEvents: click only forwards focus to the sibling input and is not a standalone action target.
272
- /* @__PURE__ */ jsx6(
273
- "div",
274
- {
275
- role: "group",
276
- "data-slot": "input-group-addon",
277
- "data-align": align,
278
- className: cn(inputGroupAddonVariants({ align }), className),
279
- onClick: (e) => {
280
- if (e.target.closest("button")) {
281
- return;
282
- }
283
- e.currentTarget.parentElement?.querySelector("input")?.focus();
284
- },
285
- ...props
286
- }
287
- )
288
- );
37
+ const inputGroupAddonVariants = cva("flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-gdt-sm font-normal text-fg-secondary select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[size=lg]/input-group:[&>svg:not([class*='size-'])]:size-4.5 group-data-[size=xl]/input-group:[&>svg:not([class*='size-'])]:size-5 [&>svg:not([class*='size-'])]:size-4", {
38
+ variants: { align: {
39
+ "inline-start": "order-first group-data-[size=sm]/input-group:pl-3 group-data-[size=md]/input-group:pl-3.5 group-data-[size=lg]/input-group:pl-4 group-data-[size=xl]/input-group:pl-4.5 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]",
40
+ "inline-end": "order-last group-data-[size=sm]/input-group:pr-3 group-data-[size=md]/input-group:pr-3.5 group-data-[size=lg]/input-group:pr-4 group-data-[size=xl]/input-group:pr-4.5 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]",
41
+ "block-start": "order-first w-full justify-start px-3 group-data-[size=md]/input-group:px-3.5 group-data-[size=lg]/input-group:px-4 group-data-[size=xl]/input-group:px-4.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2",
42
+ "block-end": "order-last w-full justify-start px-3 group-data-[size=md]/input-group:px-3.5 group-data-[size=lg]/input-group:px-4 group-data-[size=xl]/input-group:px-4.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2"
43
+ } },
44
+ defaultVariants: { align: "inline-start" }
45
+ });
46
+ function InputGroupAddon({ className, align = "inline-start", ...props }) {
47
+ return /* @__PURE__ */ jsx("div", {
48
+ role: "group",
49
+ "data-slot": "input-group-addon",
50
+ "data-align": align,
51
+ className: cn(inputGroupAddonVariants({ align }), className),
52
+ onClick: (e) => {
53
+ if (e.target.closest("button")) return;
54
+ e.currentTarget.parentElement?.querySelector("input")?.focus();
55
+ },
56
+ ...props
57
+ });
289
58
  }
290
- var inputGroupButtonVariants = cva4(
291
- "flex items-center gap-2 text-sm shadow-none rounded-full",
292
- {
293
- variants: {
294
- size: {
295
- xs: "h-6 gap-1 px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
296
- sm: "",
297
- "icon-xs": "size-6 p-0 has-[>svg]:p-0",
298
- "icon-sm": "size-8 p-0 has-[>svg]:p-0"
299
- }
300
- },
301
- defaultVariants: {
302
- size: "xs"
303
- }
304
- }
305
- );
306
- function InputGroupButton({
307
- className,
308
- type = "button",
309
- variant = "ghost",
310
- size = "xs",
311
- ...props
312
- }) {
313
- return /* @__PURE__ */ jsx6(
314
- Button,
315
- {
316
- type,
317
- "data-size": size,
318
- variant,
319
- className: cn(inputGroupButtonVariants({ size }), className),
320
- ...props
321
- }
322
- );
59
+ const inputGroupButtonVariants = cva("flex items-center gap-2 text-sm shadow-none rounded-full", {
60
+ variants: { size: {
61
+ xs: "h-6 gap-1 px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
62
+ sm: "",
63
+ "icon-xs": "size-6 p-0 has-[>svg]:p-0",
64
+ "icon-sm": "size-8 p-0 has-[>svg]:p-0"
65
+ } },
66
+ defaultVariants: { size: "xs" }
67
+ });
68
+ function InputGroupButton({ className, type = "button", variant = "ghost", size = "xs", ...props }) {
69
+ return /* @__PURE__ */ jsx(Button, {
70
+ type,
71
+ "data-size": size,
72
+ variant,
73
+ className: cn(inputGroupButtonVariants({ size }), className),
74
+ ...props
75
+ });
323
76
  }
324
77
  function InputGroupText({ className, ...props }) {
325
- return /* @__PURE__ */ jsx6(
326
- "span",
327
- {
328
- className: cn(
329
- "flex items-center gap-2 text-gdt-sm text-fg-secondary [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4",
330
- className
331
- ),
332
- ...props
333
- }
334
- );
78
+ return /* @__PURE__ */ jsx("span", {
79
+ className: cn("flex items-center gap-2 text-gdt-sm text-fg-secondary [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", className),
80
+ ...props
81
+ });
335
82
  }
336
- function InputGroupInput({
337
- className,
338
- size,
339
- ...props
340
- }) {
341
- return /* @__PURE__ */ jsx6(
342
- Input,
343
- {
344
- "data-slot": "input-group-control",
345
- size,
346
- className: cn(
347
- "flex-1 rounded-none border-0 bg-transparent shadow-none inset-shadow-none inset-ring-0 focus:border-transparent focus:shadow-none focus:inset-shadow-none focus-visible:border-transparent focus-visible:shadow-none focus-visible:ring-0 focus-visible:inset-ring-0 focus-visible:inset-shadow-none disabled:bg-transparent aria-invalid:ring-0 aria-invalid:inset-ring-0 dark:bg-transparent dark:disabled:bg-transparent",
348
- className
349
- ),
350
- ...props
351
- }
352
- );
83
+ function InputGroupInput({ className, size, ...props }) {
84
+ return /* @__PURE__ */ jsx(Input, {
85
+ "data-slot": "input-group-control",
86
+ size,
87
+ className: cn("flex-1 rounded-none border-0 bg-transparent shadow-none inset-shadow-none inset-ring-0 focus:border-transparent focus:shadow-none focus:inset-shadow-none focus-visible:border-transparent focus-visible:shadow-none focus-visible:ring-0 focus-visible:inset-ring-0 focus-visible:inset-shadow-none disabled:bg-transparent aria-invalid:ring-0 aria-invalid:inset-ring-0 dark:bg-transparent dark:disabled:bg-transparent", className),
88
+ ...props
89
+ });
353
90
  }
354
- function InputGroupTextarea({
355
- className,
356
- size,
357
- ...props
358
- }) {
359
- return /* @__PURE__ */ jsx6(
360
- Textarea,
361
- {
362
- "data-slot": "input-group-control",
363
- size,
364
- className: cn(
365
- "flex-1 resize-none rounded-none border-0 bg-transparent shadow-none inset-shadow-none inset-ring-0 focus:border-transparent focus:shadow-none focus:inset-shadow-none focus-visible:border-transparent focus-visible:shadow-none focus-visible:ring-0 focus-visible:inset-ring-0 focus-visible:inset-shadow-none disabled:bg-transparent aria-invalid:ring-0 aria-invalid:inset-ring-0 dark:bg-transparent dark:disabled:bg-transparent",
366
- className
367
- ),
368
- ...props
369
- }
370
- );
91
+ function InputGroupTextarea({ className, size, ...props }) {
92
+ return /* @__PURE__ */ jsx(Textarea, {
93
+ "data-slot": "input-group-control",
94
+ size,
95
+ className: cn("flex-1 resize-none rounded-none border-0 bg-transparent shadow-none inset-shadow-none inset-ring-0 focus:border-transparent focus:shadow-none focus:inset-shadow-none focus-visible:border-transparent focus-visible:shadow-none focus-visible:ring-0 focus-visible:inset-ring-0 focus-visible:inset-shadow-none disabled:bg-transparent aria-invalid:ring-0 aria-invalid:inset-ring-0 dark:bg-transparent dark:disabled:bg-transparent", className),
96
+ ...props
97
+ });
371
98
  }
372
- export {
373
- InputGroup,
374
- InputGroupAddon,
375
- InputGroupButton,
376
- InputGroupInput,
377
- InputGroupText,
378
- InputGroupTextarea
379
- };
380
- //# sourceMappingURL=input-group.js.map
99
+ //#endregion
100
+ export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea };
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from "react";
2
+ //#region src/input-size-context.d.ts
3
+ type InputComponentSize = "sm" | "md" | "lg" | "xl";
4
+ declare function InputSizeProvider({ children, size }: {
5
+ children: ReactNode;
6
+ size?: InputComponentSize | null;
7
+ }): import("react").JSX.Element;
8
+ declare function useInputComponentSize(size?: InputComponentSize | null, fallback?: InputComponentSize): InputComponentSize;
9
+ //#endregion
10
+ export { InputSizeProvider as n, useInputComponentSize as r, InputComponentSize as t };
@@ -1,11 +1,2 @@
1
- import * as React from 'react';
2
- import { ReactNode } from 'react';
3
-
4
- type InputComponentSize = "sm" | "md" | "lg" | "xl";
5
- declare function InputSizeProvider({ children, size, }: {
6
- children: ReactNode;
7
- size?: InputComponentSize | null;
8
- }): React.JSX.Element;
9
- declare function useInputComponentSize(size?: InputComponentSize | null, fallback?: InputComponentSize): InputComponentSize;
10
-
11
- export { type InputComponentSize, InputSizeProvider, useInputComponentSize };
1
+ import { n as InputSizeProvider, r as useInputComponentSize, t as InputComponentSize } from "./input-size-context-C-SFx9sx.js";
2
+ export { type InputComponentSize, InputSizeProvider, useInputComponentSize };
@@ -1,24 +1,18 @@
1
- // src/components/ui/input-size-context.tsx
2
- import { createContext, useContext } from "react";
1
+ "use client";
3
2
  import { Fragment, jsx } from "react/jsx-runtime";
4
- var InputSizeContext = createContext(
5
- void 0
6
- );
7
- function InputSizeProvider({
8
- children,
9
- size
10
- }) {
11
- if (!size) {
12
- return /* @__PURE__ */ jsx(Fragment, { children });
13
- }
14
- return /* @__PURE__ */ jsx(InputSizeContext.Provider, { value: size, children });
3
+ import { createContext, useContext } from "react";
4
+ //#region src/input-size-context.tsx
5
+ const InputSizeContext = createContext(void 0);
6
+ function InputSizeProvider({ children, size }) {
7
+ if (!size) return /* @__PURE__ */ jsx(Fragment, { children });
8
+ return /* @__PURE__ */ jsx(InputSizeContext.Provider, {
9
+ value: size,
10
+ children
11
+ });
15
12
  }
16
13
  function useInputComponentSize(size, fallback = "md") {
17
- const inheritedSize = useContext(InputSizeContext);
18
- return size ?? inheritedSize ?? fallback;
14
+ const inheritedSize = useContext(InputSizeContext);
15
+ return size ?? inheritedSize ?? fallback;
19
16
  }
20
- export {
21
- InputSizeProvider,
22
- useInputComponentSize
23
- };
24
- //# sourceMappingURL=input-size-context.js.map
17
+ //#endregion
18
+ export { InputSizeProvider, useInputComponentSize };
package/dist/input.d.ts CHANGED
@@ -1,13 +1,2 @@
1
- import * as class_variance_authority_types from 'class-variance-authority/types';
2
- import { VariantProps } from 'class-variance-authority';
3
- import * as React from 'react';
4
- import { InputComponentSize } from './input-size-context.js';
5
-
6
- declare const inputVariants: (props?: ({
7
- size?: "sm" | "md" | "lg" | "xl" | null | undefined;
8
- } & class_variance_authority_types.ClassProp) | undefined) => string;
9
- type InputProps = Omit<React.ComponentProps<"input">, "size"> & VariantProps<typeof inputVariants>;
10
- type InputSize = InputComponentSize;
11
- declare function Input({ className, size, type, ...props }: InputProps): React.JSX.Element;
12
-
13
- export { Input, type InputSize, inputVariants };
1
+ import { n as InputSize, r as inputVariants, t as Input } from "./input-CfoEJ8A6.js";
2
+ export { Input, type InputSize, inputVariants };