@uselets/ui 1.12.0 → 1.14.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 (198) hide show
  1. package/README.md +6 -2
  2. package/dist/{chart-lqgodZYQ.d.ts → chart-CVe5-EWS.d.ts} +9 -39
  3. package/dist/components/accordion.d.ts +4 -19
  4. package/dist/components/accordion.js.map +1 -1
  5. package/dist/components/alert-dialog.d.ts +12 -53
  6. package/dist/components/alert-dialog.js.map +1 -1
  7. package/dist/components/alert.d.ts +4 -18
  8. package/dist/components/anchor.d.ts +2 -9
  9. package/dist/components/area-chart.d.ts +2 -26
  10. package/dist/components/area-chart.js.map +1 -1
  11. package/dist/components/avatar.d.ts +6 -26
  12. package/dist/components/badge.d.ts +4 -12
  13. package/dist/components/bar-chart.d.ts +2 -24
  14. package/dist/components/bar-chart.js.map +1 -1
  15. package/dist/components/breadcrumb.d.ts +7 -31
  16. package/dist/components/breadcrumb.js.map +1 -1
  17. package/dist/components/button-group.d.ts +3 -16
  18. package/dist/components/button.d.ts +4 -15
  19. package/dist/components/button.js.map +1 -1
  20. package/dist/components/calendar.d.ts +2 -19
  21. package/dist/components/calendar.js.map +1 -1
  22. package/dist/components/card.d.ts +7 -30
  23. package/dist/components/carousel.d.ts +6 -37
  24. package/dist/components/carousel.js +1 -1
  25. package/dist/components/carousel.js.map +1 -1
  26. package/dist/components/carousel.spec.d.ts +1 -1
  27. package/dist/components/carousel.spec.js +93 -1
  28. package/dist/components/carousel.spec.js.map +1 -1
  29. package/dist/components/center.d.ts +2 -8
  30. package/dist/components/chart.d.ts +1 -1
  31. package/dist/components/chart.js +1 -1
  32. package/dist/components/chart.js.map +1 -1
  33. package/dist/components/checkbox.d.ts +3 -12
  34. package/dist/components/checkbox.js +1 -1
  35. package/dist/components/checkbox.js.map +1 -1
  36. package/dist/components/code.d.ts +1 -5
  37. package/dist/components/collapsible.d.ts +3 -10
  38. package/dist/components/combobox.d.ts +15 -80
  39. package/dist/components/combobox.js.map +1 -1
  40. package/dist/components/command.d.ts +9 -43
  41. package/dist/components/command.js.map +1 -1
  42. package/dist/components/container.d.ts +2 -7
  43. package/dist/components/data-table.d.ts +8 -61
  44. package/dist/components/data-table.js.map +1 -1
  45. package/dist/components/date-range-picker.d.ts +11 -75
  46. package/dist/components/date-range-picker.js +1 -1
  47. package/dist/components/date-range-picker.js.map +1 -1
  48. package/dist/components/dialog.d.ts +12 -49
  49. package/dist/components/dialog.js.map +1 -1
  50. package/dist/components/donut-chart.d.ts +1 -10
  51. package/dist/components/donut-chart.js.map +1 -1
  52. package/dist/components/drawer.d.ts +13 -49
  53. package/dist/components/drawer.js.map +1 -1
  54. package/dist/components/dropdown-menu.d.ts +15 -66
  55. package/dist/components/dropdown-menu.js.map +1 -1
  56. package/dist/components/dropzone.d.ts +1 -5
  57. package/dist/components/dropzone.js.map +1 -1
  58. package/dist/components/empty.d.ts +6 -26
  59. package/dist/components/field.d.ts +11 -48
  60. package/dist/components/field.js.map +1 -1
  61. package/dist/components/field.spec.d.ts +1 -1
  62. package/dist/components/field.spec.js +1 -1
  63. package/dist/components/field.spec.js.map +1 -1
  64. package/dist/components/flex.d.ts +5 -14
  65. package/dist/components/grid.d.ts +2 -18
  66. package/dist/components/group.d.ts +4 -12
  67. package/dist/components/heading.d.ts +2 -8
  68. package/dist/components/hover-card.d.ts +3 -13
  69. package/dist/components/hover-card.js.map +1 -1
  70. package/dist/components/input-group.d.ts +8 -32
  71. package/dist/components/input-otp.d.ts +4 -19
  72. package/dist/components/input-otp.js.map +1 -1
  73. package/dist/components/input.d.ts +1 -7
  74. package/dist/components/kbd.d.ts +2 -9
  75. package/dist/components/label.d.ts +1 -5
  76. package/dist/components/list.d.ts +5 -22
  77. package/dist/components/list.js.map +1 -1
  78. package/dist/components/marker.d.ts +18 -0
  79. package/dist/components/marker.js +2 -0
  80. package/dist/components/marker.js.map +1 -0
  81. package/dist/components/mask-input.d.ts +1 -11
  82. package/dist/components/native-select.d.ts +3 -14
  83. package/dist/components/native-select.js.map +1 -1
  84. package/dist/components/navigation-menu.d.ts +8 -36
  85. package/dist/components/navigation-menu.js.map +1 -1
  86. package/dist/components/number-field.d.ts +35 -0
  87. package/dist/components/number-field.js +2 -0
  88. package/dist/components/number-field.js.map +1 -0
  89. package/dist/components/pagination.d.ts +7 -33
  90. package/dist/components/pagination.js.map +1 -1
  91. package/dist/components/phone-input.d.ts +13 -0
  92. package/dist/components/phone-input.js +2 -0
  93. package/dist/components/phone-input.js.map +1 -0
  94. package/dist/components/pie-chart.d.ts +2 -24
  95. package/dist/components/pie-chart.js.map +1 -1
  96. package/dist/components/popover.d.ts +7 -28
  97. package/dist/components/progress.d.ts +3 -10
  98. package/dist/components/progress.js.map +1 -1
  99. package/dist/components/radio-group.d.ts +4 -17
  100. package/dist/components/radio-group.js +1 -1
  101. package/dist/components/radio-group.js.map +1 -1
  102. package/dist/components/resizable.d.ts +3 -13
  103. package/dist/components/resizable.js.map +1 -1
  104. package/dist/components/ring-progress.d.ts +3 -11
  105. package/dist/components/ring-progress.js.map +1 -1
  106. package/dist/components/scroll-area.d.ts +2 -11
  107. package/dist/components/scroll-area.js.map +1 -1
  108. package/dist/components/select.d.ts +10 -46
  109. package/dist/components/select.js.map +1 -1
  110. package/dist/components/separator.d.ts +1 -7
  111. package/dist/components/sidebar.d.ts +24 -118
  112. package/dist/components/sidebar.js.map +1 -1
  113. package/dist/components/simple-grid.d.ts +1 -10
  114. package/dist/components/skeleton.d.ts +1 -7
  115. package/dist/components/skeleton.js.map +1 -1
  116. package/dist/components/skeleton.spec.d.ts +1 -1
  117. package/dist/components/skeleton.spec.js +1 -1
  118. package/dist/components/skeleton.spec.js.map +1 -1
  119. package/dist/components/slider.d.ts +1 -10
  120. package/dist/components/slider.js.map +1 -1
  121. package/dist/components/sonner.d.ts +0 -1
  122. package/dist/components/spinner.d.ts +2 -7
  123. package/dist/components/stack.d.ts +4 -11
  124. package/dist/components/stepper.d.ts +71 -0
  125. package/dist/components/stepper.js +2 -0
  126. package/dist/components/stepper.js.map +1 -0
  127. package/dist/components/switch.d.ts +1 -10
  128. package/dist/components/switch.js +1 -1
  129. package/dist/components/switch.js.map +1 -1
  130. package/dist/components/table.d.ts +10 -43
  131. package/dist/components/tabs.d.ts +5 -21
  132. package/dist/components/text.d.ts +2 -8
  133. package/dist/components/textarea.d.ts +1 -6
  134. package/dist/components/theme.d.ts +1 -7
  135. package/dist/components/theme.js.map +1 -1
  136. package/dist/components/timeline.d.ts +5 -6
  137. package/dist/components/timeline.js.map +1 -1
  138. package/dist/components/toggle-group.d.ts +2 -19
  139. package/dist/components/toggle-group.js.map +1 -1
  140. package/dist/components/toggle.d.ts +4 -11
  141. package/dist/components/tooltip.d.ts +5 -28
  142. package/dist/components/tooltip.js.map +1 -1
  143. package/dist/components/unstyled-button.d.ts +1 -7
  144. package/dist/components/visibility.d.ts +2 -9
  145. package/dist/hooks/use-breakpoint-value.d.ts +0 -1
  146. package/dist/hooks/use-breakpoint-value.spec.d.ts +1 -1
  147. package/dist/hooks/use-breakpoint-value.spec.js +1 -1
  148. package/dist/hooks/use-breakpoint-value.spec.js.map +1 -1
  149. package/dist/hooks/use-breakpoint.d.ts +0 -1
  150. package/dist/hooks/use-breakpoint.spec.d.ts +1 -1
  151. package/dist/hooks/use-breakpoint.spec.js +1 -1
  152. package/dist/hooks/use-disclosure.d.ts +0 -1
  153. package/dist/hooks/use-disclosure.spec.d.ts +1 -1
  154. package/dist/hooks/use-disclosure.spec.js +1 -1
  155. package/dist/hooks/use-document-visibility.d.ts +0 -1
  156. package/dist/hooks/use-document-visibility.spec.d.ts +1 -1
  157. package/dist/hooks/use-document-visibility.spec.js +1 -1
  158. package/dist/hooks/use-hotkeys.d.ts +1 -1
  159. package/dist/hooks/use-hotkeys.js +1 -1
  160. package/dist/hooks/use-hotkeys.spec.d.ts +1 -1
  161. package/dist/hooks/use-hotkeys.spec.js +1 -1
  162. package/dist/hooks/use-idle.d.ts +0 -1
  163. package/dist/hooks/use-idle.spec.d.ts +1 -1
  164. package/dist/hooks/use-idle.spec.js +1 -1
  165. package/dist/hooks/use-interval.d.ts +10 -8
  166. package/dist/hooks/use-interval.spec.d.ts +1 -1
  167. package/dist/hooks/use-interval.spec.js +1 -1
  168. package/dist/hooks/use-local-storage.d.ts +0 -1
  169. package/dist/hooks/use-local-storage.spec.d.ts +1 -1
  170. package/dist/hooks/use-local-storage.spec.js +1 -1
  171. package/dist/hooks/use-mask.d.ts +0 -1
  172. package/dist/hooks/use-mask.js +1 -1
  173. package/dist/hooks/use-mask.js.map +1 -1
  174. package/dist/hooks/use-mobile.d.ts +0 -1
  175. package/dist/hooks/use-mobile.spec.d.ts +1 -1
  176. package/dist/hooks/use-mobile.spec.js +1 -1
  177. package/dist/index.d.ts +7 -3
  178. package/dist/index.js +1 -1
  179. package/dist/lib/badge.d.ts +0 -1
  180. package/dist/lib/button.d.ts +0 -1
  181. package/dist/lib/color.d.ts +1 -2
  182. package/dist/lib/compose-refs.d.ts +0 -1
  183. package/dist/lib/progress.d.ts +0 -1
  184. package/dist/lib/utils.d.ts +0 -1
  185. package/dist/{magic-string.es-DbBO8R0S.js → magic-string.es-oADFB1hu.js} +2 -2
  186. package/dist/{magic-string.es-DbBO8R0S.js.map → magic-string.es-oADFB1hu.js.map} +1 -1
  187. package/dist/{react.esm-D88qr0ij.js → react.esm-D5AipFQb.js} +5 -5
  188. package/dist/{react.esm-D88qr0ij.js.map → react.esm-D5AipFQb.js.map} +1 -1
  189. package/dist/skills/uselets-ui/references/component-catalog.md +14 -2
  190. package/dist/{use-hotkeys-BOfOFxb5.js → use-hotkeys-C0d5t4yo.js} +2 -2
  191. package/dist/{use-hotkeys-BOfOFxb5.js.map → use-hotkeys-C0d5t4yo.js.map} +1 -1
  192. package/dist/{use-hotkeys-Cl1cV6e8.d.ts → use-hotkeys-DloZH-B4.d.ts} +1 -2
  193. package/dist/utils-Cj3IZeiu.js +37 -0
  194. package/dist/utils-Cj3IZeiu.js.map +1 -0
  195. package/package.json +17 -16
  196. package/skills/uselets-ui/references/component-catalog.md +14 -2
  197. package/dist/dist-B-hwiqYg.js +0 -129
  198. package/dist/dist-B-hwiqYg.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uselets/ui",
3
- "version": "1.12.0",
3
+ "version": "1.14.0",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "description": "React component library for the LET'S design system.",
@@ -58,10 +58,10 @@
58
58
  }
59
59
  },
60
60
  "dependencies": {
61
- "@base-ui/react": "1.5.0",
61
+ "@base-ui/react": "1.6.0",
62
62
  "@fontsource-variable/inter": "5.2.8",
63
63
  "@react-input/mask": "2.0.4",
64
- "@tabler/icons-react": "3.44.0",
64
+ "@tabler/icons-react": "3.45.0",
65
65
  "@tanstack/react-table": "8.21.3",
66
66
  "class-variance-authority": "0.7.1",
67
67
  "clsx": "2.1.1",
@@ -71,12 +71,13 @@
71
71
  "embla-carousel-react": "8.6.0",
72
72
  "input-otp": "1.4.2",
73
73
  "next-themes": "0.4.6",
74
- "radix-ui": "1.5.0",
74
+ "radix-ui": "1.6.2",
75
75
  "react-day-picker": "10.0.1",
76
- "react-dropzone": "15.0.0",
77
- "react-resizable-panels": "4.11.2",
78
- "recharts": "3.8.1",
79
- "shadcn": "4.11.0",
76
+ "react-dropzone": "17.0.0",
77
+ "react-phone-number-input": "3.4.17",
78
+ "react-resizable-panels": "4.12.2",
79
+ "recharts": "3.9.2",
80
+ "shadcn": "4.13.1",
80
81
  "sonner": "2.0.7",
81
82
  "tailwind-merge": "3.6.0",
82
83
  "tailwind-scrollbar": "4.0.2",
@@ -88,17 +89,17 @@
88
89
  },
89
90
  "devDependencies": {
90
91
  "@bosh-code/tsdown-plugin-tailwindcss": "1.0.1",
91
- "@tailwindcss/postcss": "4.3.0",
92
+ "@tailwindcss/postcss": "4.3.3",
92
93
  "@testing-library/react": "16.3.2",
93
- "@tsdown/css": "0.22.2",
94
- "@turbo/gen": "2.9.18",
95
- "@types/node": "25.9.3",
94
+ "@tsdown/css": "0.22.9",
95
+ "@turbo/gen": "2.10.5",
96
+ "@types/node": "26.1.1",
96
97
  "@types/react": "19.2.17",
97
98
  "@types/react-dom": "19.2.3",
98
99
  "jsdom": "29.1.1",
99
- "tailwindcss": "4.3.0",
100
- "tsdown": "0.22.2",
101
- "typescript": "6.0.3",
102
- "vitest": "4.1.8"
100
+ "tailwindcss": "4.3.3",
101
+ "tsdown": "0.22.9",
102
+ "typescript": "7.0.2",
103
+ "vitest": "4.1.10"
103
104
  }
104
105
  }
@@ -154,13 +154,19 @@ Unless noted otherwise, each module also exports its public `*Props` types from
154
154
  - Exports: `InputOTP`, `InputOTPGroup`, `InputOTPSeparator`, `InputOTPSlot`, `REGEXP_ONLY_CHARS`, `REGEXP_ONLY_DIGITS`, `REGEXP_ONLY_DIGITS_AND_CHARS`
155
155
  - `mask-input`
156
156
  - Exports: `MaskInput`
157
- - Notes: formatted input backed by `@react-input/mask`. Required prop `mask`; optional `replacement` (string or `Record<string, RegExp>`), `showMask`, `separate`, `track`, `modify`. Default replacement tokens are `9` (digit), `a` (letter), `*` (any). Renders the standard `Input`, so `Field`/`FieldLabel` and all native `<input>` props work as usual. Forwards a `ref` prop to the underlying `<input>`, composed with the internal mask ref via `composeRefs`.
157
+ - Notes: formatted input backed by `@react-input/mask`. Required prop `mask`; optional `replacement` (string or `Record<string, RegExp>`), `showMask`, `separate`, `track`, `modify`. Default replacement tokens are `_` (digit), `#` (letter), `*` (any) — picked so the token is never a character the user actually types. When no custom `replacement` is passed, `mask` strings using the older `9`/`a` tokens are transparently translated to `_`/`#`, so existing masks keep working. Renders the standard `Input`, so `Field`/`FieldLabel` and all native `<input>` props work as usual. Forwards a `ref` prop to the underlying `<input>`, composed with the internal mask ref via `composeRefs`.
158
+ - `number-field`
159
+ - Exports: `NumberField`, `NumberFieldGroup`, `NumberFieldDecrement`, `NumberFieldIncrement`, `NumberFieldInput`, `NumberFieldScrubArea`
160
+ - Notes: Base UI-backed numeric stepper input. `NumberField.size: 'sm' | 'md' | 'lg'` (default `md`); supports `min`, `max`, `step`, and other Base UI `NumberField.Root` props. `NumberFieldScrubArea` requires a `label` and renders a draggable handle that scrubs the value on pointer drag.
161
+ - `phone-input`
162
+ - Exports: `PhoneInput`
163
+ - Notes: international phone input built on `react-phone-number-input`, composed from the existing `Input` and `Combobox` (country select, with flags); matches `Input`'s styling and single size (no `variant`/size prop). `value` / `onChange` use the E.164 `Value` string from `react-phone-number-input`; `defaultCountry` defaults to `BR`.
158
164
  - `checkbox`
159
165
  - Exports: `Checkbox`
160
166
  - Notes: supports `size: 'sm' | 'md' | 'lg'`, `color: UIColor` (default `primary`), `label?: React.ReactNode`, `labelProps`, and automatic `id`/`htmlFor` wiring when a label is provided without an explicit `id`; composed label text follows checkbox size (`sm` 12px, `md` 14px, `lg` 20px)
161
167
  - `switch`
162
168
  - Exports: `Switch`
163
- - Notes: supports `size: 'sm' | 'md' | 'lg'`, `color: UIColor` (default `green`), `label?: React.ReactNode`, `labelProps`, and automatic `id`/`htmlFor` wiring when a label is provided without an explicit `id`; `color` controls the checked track and indicator color only; track size is `sm` 34x16px, `md` 42x20px, and `lg` 48x22px; the thumb and internal indicator scale with the switch; composed label text follows switch size (`sm` 12px, `md` 14px, `lg` 20px)
169
+ - Notes: supports `size: 'sm' | 'md' | 'lg'`, `color: UIColor` (default `green`), `label?: React.ReactNode`, `labelProps`, and automatic `id`/`htmlFor` wiring when a label is provided without an explicit `id`; `color` controls the checked track and indicator color only; track size is `sm` 34x16px, `md` 42x20px, and `lg` 48x22px; the thumb and internal indicator scale with the switch; composed label text follows switch size (`sm` 14px, `md` 16px, `lg` 18px)
164
170
  - `radio-group`
165
171
  - Exports: `RadioGroup`, `RadioGroupItem`
166
172
  - Notes: `RadioGroup` supports `color: UIColor` (default `primary`) for the group; `RadioGroupItem` supports `size: 'sm' | 'md' | 'lg'`, optional `color: UIColor` item overrides, `label?: React.ReactNode`, `labelProps`, and automatic `id`/`htmlFor` wiring when a label is provided without an explicit `id`; composed label text follows item size (`sm` 12px, `md` 14px, `lg` 20px)
@@ -217,6 +223,9 @@ Unless noted otherwise, each module also exports its public `*Props` types from
217
223
  - Exports: `Pagination`, `PaginationContent`, `PaginationEllipsis`, `PaginationItem`, `PaginationLink`, `PaginationNext`, `PaginationPrevious`
218
224
  - `sidebar`
219
225
  - Exports: `Sidebar`, `SidebarContent`, `SidebarFooter`, `SidebarGroup`, `SidebarGroupAction`, `SidebarGroupContent`, `SidebarGroupLabel`, `SidebarHeader`, `SidebarInput`, `SidebarInset`, `SidebarMenu`, `SidebarMenuAction`, `SidebarMenuBadge`, `SidebarMenuButton`, `SidebarMenuItem`, `SidebarMenuSkeleton`, `SidebarMenuSub`, `SidebarMenuSubButton`, `SidebarMenuSubItem`, `SidebarProvider`, `SidebarRail`, `SidebarSeparator`, `SidebarTrigger`, `useSidebar`
226
+ - `stepper`
227
+ - Exports: `Stepper`, `StepperNav`, `StepperItem`, `StepperTrigger`, `StepperIndicator`, `StepperSeparator`, `StepperTitle`, `StepperDescription`, `StepperPanel`, `StepperContent`, `useStepper`, `useStepItem`
228
+ - Notes: multi-step progress navigation. `Stepper.orientation: 'horizontal' | 'vertical'` (default `horizontal`); supports controlled (`value` / `onValueChange`) and uncontrolled (`defaultValue`) active step, plus custom per-state `indicators` (`active`, `completed`, `inactive`, `loading`). `StepperItem` accepts `completed`, `disabled`, and `loading`. Arrow-key and Home/End keyboard navigation between triggers is built in.
220
229
  - `tabs`
221
230
  - Exports: `Tabs`, `TabsContent`, `TabsList`, `tabsListVariants`, `TabsTrigger`
222
231
  - Notes: `TabsList.variant` supports `line` and `enclosed`, defaults to `line`, accepts `grow?: boolean` for equal-width horizontal tabs, and uses the `primary` color for the active line indicator
@@ -261,6 +270,9 @@ Unless noted otherwise, each module also exports its public `*Props` types from
261
270
  - Notes: horizontal row primitive. Supports `align: 'start' | 'end' | 'center' | 'baseline' | 'stretch'` (default `center`), `justify: 'start' | 'end' | 'center' | 'between' | 'around' | 'evenly'`, `gap: 'xs' | 'sm' | 'md' | 'lg' | 'xl'` (`4/8/16/24/32px`), and `wrap`
262
271
  - `kbd`
263
272
  - Exports: `Kbd`, `KbdGroup`
273
+ - `marker`
274
+ - Exports: `Marker`, `MarkerContent`, `MarkerIcon`, `markerVariants`
275
+ - Notes: inline text row with `variant: 'default' | 'separator' | 'border'` (default `default`) and `asChild`; `separator` renders divider lines flanking the content (labeled divider); `border` renders a bottom border instead. `MarkerIcon` and `MarkerContent` are plain sub-parts for composing an icon + text row.
264
276
  - `resizable`
265
277
  - Exports: `ResizableHandle`, `ResizablePanel`, `ResizablePanelGroup`
266
278
  - `scroll-area`