@moduix/react 1.1.1 → 2.0.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 (254) hide show
  1. package/README.md +16 -16
  2. package/dist/components/accordion/Accordion.css +8 -1
  3. package/dist/components/accordion/Accordion.d.ts +3 -2
  4. package/dist/components/accordion/Accordion.js +17 -5
  5. package/dist/components/accordion/Accordion.module.js +1 -0
  6. package/dist/components/accordion/index.d.ts +2 -2
  7. package/dist/components/alert/Alert.css +19 -5
  8. package/dist/components/alert/Alert.d.ts +5 -3
  9. package/dist/components/alert/Alert.js +17 -5
  10. package/dist/components/alert/Alert.module.js +1 -0
  11. package/dist/components/angle-slider/AngleSlider.d.ts +18 -2
  12. package/dist/components/angle-slider/AngleSlider.js +34 -18
  13. package/dist/components/angle-slider/index.d.ts +2 -2
  14. package/dist/components/aspect-ratio/AspectRatio.css +3 -1
  15. package/dist/components/aspect-ratio/AspectRatio.js +2 -2
  16. package/dist/components/avatar/Avatar.d.ts +6 -3
  17. package/dist/components/avatar/Avatar.js +12 -5
  18. package/dist/components/avatar/index.d.ts +2 -2
  19. package/dist/components/badge/Badge.css +44 -1
  20. package/dist/components/badge/Badge.d.ts +2 -2
  21. package/dist/components/badge/Badge.js +1 -1
  22. package/dist/components/bleed/Bleed.d.ts +6 -4
  23. package/dist/components/bleed/Bleed.js +3 -3
  24. package/dist/components/breadcrumbs/Breadcrumbs.css +7 -1
  25. package/dist/components/breadcrumbs/Breadcrumbs.d.ts +18 -0
  26. package/dist/components/breadcrumbs/Breadcrumbs.js +18 -4
  27. package/dist/components/breadcrumbs/Breadcrumbs.module.js +2 -1
  28. package/dist/components/breadcrumbs/index.d.ts +2 -0
  29. package/dist/components/button/Button.css +21 -1
  30. package/dist/components/button/Button.d.ts +6 -0
  31. package/dist/components/button/Button.js +12 -7
  32. package/dist/components/card/Card.css +20 -4
  33. package/dist/components/card/Card.d.ts +1 -0
  34. package/dist/components/card/Card.js +12 -1
  35. package/dist/components/card/Card.module.js +1 -0
  36. package/dist/components/carousel/Carousel.css +2 -0
  37. package/dist/components/carousel/Carousel.d.ts +4 -0
  38. package/dist/components/carousel/Carousel.js +15 -2
  39. package/dist/components/checkbox/Checkbox.d.ts +2 -3
  40. package/dist/components/checkbox/Checkbox.js +25 -22
  41. package/dist/components/checkbox/index.d.ts +2 -2
  42. package/dist/components/clipboard/Clipboard.css +1 -1
  43. package/dist/components/clipboard/Clipboard.d.ts +2 -0
  44. package/dist/components/clipboard/Clipboard.js +15 -4
  45. package/dist/components/close-button/CloseButton.d.ts +12 -2
  46. package/dist/components/close-button/CloseButton.js +9 -9
  47. package/dist/components/collapsible/Collapsible.css +9 -2
  48. package/dist/components/collapsible/Collapsible.d.ts +3 -2
  49. package/dist/components/collapsible/Collapsible.js +18 -6
  50. package/dist/components/collapsible/Collapsible.module.js +1 -0
  51. package/dist/components/collapsible/index.d.ts +2 -2
  52. package/dist/components/color-picker/ColorPicker.css +35 -6
  53. package/dist/components/color-picker/ColorPicker.d.ts +3 -3
  54. package/dist/components/color-picker/ColorPicker.js +78 -27
  55. package/dist/components/color-picker/ColorPicker.module.js +1 -0
  56. package/dist/components/color-picker/index.d.ts +2 -2
  57. package/dist/components/combobox/Combobox.css +37 -8
  58. package/dist/components/combobox/Combobox.d.ts +9 -2
  59. package/dist/components/combobox/Combobox.js +34 -8
  60. package/dist/components/combobox/index.d.ts +2 -2
  61. package/dist/components/command-palette/CommandPalette.css +40 -74
  62. package/dist/components/command-palette/CommandPalette.d.ts +13 -3
  63. package/dist/components/command-palette/CommandPalette.js +54 -43
  64. package/dist/components/command-palette/CommandPalette.module.js +0 -2
  65. package/dist/components/container/Container.js +1 -1
  66. package/dist/components/date-input/DateInput.css +3 -1
  67. package/dist/components/date-input/DateInput.d.ts +12 -7
  68. package/dist/components/date-input/DateInput.js +35 -14
  69. package/dist/components/date-input/index.d.ts +2 -2
  70. package/dist/components/date-picker/DatePicker.css +41 -13
  71. package/dist/components/date-picker/DatePicker.d.ts +30 -2
  72. package/dist/components/date-picker/DatePicker.js +94 -9
  73. package/dist/components/date-picker/index.d.ts +2 -2
  74. package/dist/components/dialog/Dialog.css +14 -10
  75. package/dist/components/dialog/Dialog.d.ts +2 -2
  76. package/dist/components/dialog/Dialog.js +3 -3
  77. package/dist/components/dialog/index.d.ts +2 -2
  78. package/dist/components/drawer/Drawer.d.ts +2 -2
  79. package/dist/components/drawer/Drawer.js +3 -3
  80. package/dist/components/drawer/index.d.ts +2 -2
  81. package/dist/components/editable/Editable.d.ts +9 -2
  82. package/dist/components/editable/Editable.js +14 -5
  83. package/dist/components/editable/index.d.ts +2 -2
  84. package/dist/components/empty/Empty.js +1 -1
  85. package/dist/components/field/Field.css +0 -4
  86. package/dist/components/field/Field.d.ts +3 -2
  87. package/dist/components/field/Field.js +6 -5
  88. package/dist/components/field/Field.module.js +0 -1
  89. package/dist/components/field/index.d.ts +2 -2
  90. package/dist/components/fieldset/Fieldset.d.ts +2 -2
  91. package/dist/components/fieldset/Fieldset.js +3 -3
  92. package/dist/components/fieldset/index.d.ts +2 -2
  93. package/dist/components/file-upload/FileUpload.css +81 -8
  94. package/dist/components/file-upload/FileUpload.d.ts +22 -5
  95. package/dist/components/file-upload/FileUpload.js +79 -21
  96. package/dist/components/file-upload/FileUpload.module.js +3 -0
  97. package/dist/components/file-upload/index.d.ts +2 -2
  98. package/dist/components/floating-panel/FloatingPanel.css +14 -10
  99. package/dist/components/floating-panel/FloatingPanel.d.ts +11 -3
  100. package/dist/components/floating-panel/FloatingPanel.js +15 -9
  101. package/dist/components/heading/Heading.js +1 -1
  102. package/dist/components/highlight/Highlight.js +1 -1
  103. package/dist/components/hover-card/HoverCard.css +14 -10
  104. package/dist/components/hover-card/HoverCard.d.ts +3 -2
  105. package/dist/components/hover-card/HoverCard.js +5 -4
  106. package/dist/components/hover-card/index.d.ts +2 -2
  107. package/dist/components/image/Image.css +7 -0
  108. package/dist/components/image/Image.d.ts +12 -0
  109. package/dist/components/image/Image.js +28 -0
  110. package/dist/components/image/Image.module.js +5 -0
  111. package/dist/components/image/index.d.ts +2 -0
  112. package/dist/components/image-cropper/ImageCropper.d.ts +7 -2
  113. package/dist/components/image-cropper/ImageCropper.js +25 -3
  114. package/dist/components/image-cropper/index.d.ts +2 -2
  115. package/dist/components/input/Input.js +1 -1
  116. package/dist/components/input-group/InputGroup.d.ts +3 -0
  117. package/dist/components/input-group/InputGroup.js +1 -1
  118. package/dist/components/kbd/Kbd.js +1 -1
  119. package/dist/components/lightbox/Lightbox.css +12 -10
  120. package/dist/components/lightbox/Lightbox.d.ts +4 -2
  121. package/dist/components/lightbox/Lightbox.js +9 -7
  122. package/dist/components/lightbox/index.d.ts +2 -2
  123. package/dist/components/list/List.js +1 -1
  124. package/dist/components/listbox/Listbox.css +60 -1
  125. package/dist/components/listbox/Listbox.d.ts +14 -2
  126. package/dist/components/listbox/Listbox.js +41 -5
  127. package/dist/components/listbox/Listbox.module.js +3 -0
  128. package/dist/components/listbox/index.d.ts +2 -2
  129. package/dist/components/marquee/Marquee.d.ts +2 -1
  130. package/dist/components/marquee/Marquee.js +4 -3
  131. package/dist/components/marquee/index.d.ts +2 -2
  132. package/dist/components/menu/Menu.css +14 -8
  133. package/dist/components/menu/Menu.d.ts +3 -2
  134. package/dist/components/menu/Menu.js +6 -5
  135. package/dist/components/menu/index.d.ts +2 -2
  136. package/dist/components/native-select/NativeSelect.d.ts +6 -2
  137. package/dist/components/native-select/NativeSelect.js +5 -4
  138. package/dist/components/number-input/NumberInput.css +0 -6
  139. package/dist/components/number-input/NumberInput.d.ts +7 -2
  140. package/dist/components/number-input/NumberInput.js +17 -4
  141. package/dist/components/number-input/index.d.ts +2 -2
  142. package/dist/components/pagination/Pagination.d.ts +4 -0
  143. package/dist/components/pagination/Pagination.js +13 -4
  144. package/dist/components/password-input/PasswordInput.d.ts +4 -0
  145. package/dist/components/password-input/PasswordInput.js +10 -2
  146. package/dist/components/pin-input/PinInput.d.ts +6 -1
  147. package/dist/components/pin-input/PinInput.js +25 -16
  148. package/dist/components/popover/Popover.css +20 -11
  149. package/dist/components/popover/Popover.js +1 -1
  150. package/dist/components/progress-circular/ProgressCircular.d.ts +6 -0
  151. package/dist/components/progress-circular/ProgressCircular.js +14 -3
  152. package/dist/components/progress-linear/ProgressLinear.d.ts +3 -0
  153. package/dist/components/progress-linear/ProgressLinear.js +6 -3
  154. package/dist/components/qr-code/QrCode.css +3 -2
  155. package/dist/components/qr-code/QrCode.d.ts +2 -2
  156. package/dist/components/qr-code/QrCode.js +3 -3
  157. package/dist/components/qr-code/index.d.ts +2 -2
  158. package/dist/components/radio-group/RadioGroup.d.ts +8 -4
  159. package/dist/components/radio-group/RadioGroup.js +22 -14
  160. package/dist/components/radio-group/index.d.ts +2 -2
  161. package/dist/components/rating-group/RatingGroup.css +3 -3
  162. package/dist/components/rating-group/RatingGroup.d.ts +11 -4
  163. package/dist/components/rating-group/RatingGroup.js +29 -18
  164. package/dist/components/rating-group/index.d.ts +2 -2
  165. package/dist/components/scroll-area/ScrollArea.css +7 -2
  166. package/dist/components/scroll-area/ScrollArea.d.ts +3 -0
  167. package/dist/components/scroll-area/ScrollArea.js +9 -6
  168. package/dist/components/segment-group/SegmentGroup.d.ts +13 -3
  169. package/dist/components/segment-group/SegmentGroup.js +23 -15
  170. package/dist/components/segment-group/index.d.ts +2 -2
  171. package/dist/components/select/Select.css +24 -15
  172. package/dist/components/select/Select.d.ts +18 -4
  173. package/dist/components/select/Select.js +65 -20
  174. package/dist/components/separator/Separator.js +1 -1
  175. package/dist/components/sidebar/Sidebar.css +144 -4
  176. package/dist/components/sidebar/Sidebar.d.ts +26 -0
  177. package/dist/components/sidebar/Sidebar.js +105 -13
  178. package/dist/components/sidebar/Sidebar.module.js +6 -0
  179. package/dist/components/signature-pad/SignaturePad.css +12 -41
  180. package/dist/components/signature-pad/SignaturePad.d.ts +14 -6
  181. package/dist/components/signature-pad/SignaturePad.js +56 -17
  182. package/dist/components/signature-pad/index.d.ts +2 -2
  183. package/dist/components/simple-grid/SimpleGrid.js +3 -3
  184. package/dist/components/skeleton/Skeleton.js +1 -1
  185. package/dist/components/slider/Slider.css +6 -4
  186. package/dist/components/slider/Slider.d.ts +12 -3
  187. package/dist/components/slider/Slider.js +24 -15
  188. package/dist/components/slider/index.d.ts +2 -2
  189. package/dist/components/spinner/Spinner.js +2 -2
  190. package/dist/components/split-button/SplitButton.d.ts +1 -1
  191. package/dist/components/split-button/SplitButton.js +3 -4
  192. package/dist/components/splitter/Splitter.css +13 -12
  193. package/dist/components/splitter/Splitter.d.ts +2 -2
  194. package/dist/components/splitter/Splitter.js +12 -11
  195. package/dist/components/splitter/index.d.ts +2 -2
  196. package/dist/components/stack/Stack.d.ts +1 -3
  197. package/dist/components/stack/Stack.js +4 -6
  198. package/dist/components/steps/Steps.d.ts +2 -1
  199. package/dist/components/steps/Steps.js +5 -4
  200. package/dist/components/swap/Swap.css +45 -0
  201. package/dist/components/swap/Swap.d.ts +11 -0
  202. package/dist/components/swap/Swap.js +39 -0
  203. package/dist/components/swap/Swap.module.js +11 -0
  204. package/dist/components/swap/index.d.ts +2 -0
  205. package/dist/components/switch/Switch.css +2 -2
  206. package/dist/components/switch/Switch.d.ts +4 -4
  207. package/dist/components/switch/Switch.js +19 -16
  208. package/dist/components/switch/index.d.ts +2 -2
  209. package/dist/components/table/Table.css +3 -3
  210. package/dist/components/table/Table.js +3 -2
  211. package/dist/components/table/Table.module.js +0 -1
  212. package/dist/components/tabs/Tabs.css +3 -1
  213. package/dist/components/tabs/Tabs.d.ts +3 -2
  214. package/dist/components/tabs/Tabs.js +5 -4
  215. package/dist/components/tabs/index.d.ts +2 -2
  216. package/dist/components/tag/Tag.css +12 -42
  217. package/dist/components/tag/Tag.js +7 -20
  218. package/dist/components/tags-input/TagsInput.css +3 -40
  219. package/dist/components/tags-input/TagsInput.d.ts +7 -4
  220. package/dist/components/tags-input/TagsInput.js +33 -21
  221. package/dist/components/tags-input/index.d.ts +2 -2
  222. package/dist/components/text/Text.d.ts +2 -2
  223. package/dist/components/text/Text.js +1 -1
  224. package/dist/components/textarea/Textarea.js +1 -1
  225. package/dist/components/timer/Timer.d.ts +14 -2
  226. package/dist/components/timer/Timer.js +13 -5
  227. package/dist/components/timer/index.d.ts +2 -2
  228. package/dist/components/toast/Toast.d.ts +3 -1
  229. package/dist/components/toast/Toast.js +11 -2
  230. package/dist/components/toggle/Toggle.css +3 -3
  231. package/dist/components/toggle/Toggle.d.ts +3 -2
  232. package/dist/components/toggle/Toggle.js +5 -4
  233. package/dist/components/toggle/index.d.ts +2 -2
  234. package/dist/components/toggle-group/ToggleGroup.d.ts +3 -2
  235. package/dist/components/toggle-group/ToggleGroup.js +4 -3
  236. package/dist/components/toggle-group/index.d.ts +2 -2
  237. package/dist/components/tooltip/Tooltip.css +14 -10
  238. package/dist/components/tooltip/Tooltip.d.ts +3 -2
  239. package/dist/components/tooltip/Tooltip.js +10 -3
  240. package/dist/components/tooltip/index.d.ts +2 -2
  241. package/dist/components/tour/Tour.css +23 -18
  242. package/dist/components/tour/Tour.d.ts +6 -0
  243. package/dist/components/tour/Tour.js +8 -1
  244. package/dist/components/tree-view/TreeView.css +1 -1
  245. package/dist/components/tree-view/TreeView.d.ts +2 -2
  246. package/dist/components/tree-view/TreeView.js +4 -4
  247. package/dist/components/tree-view/index.d.ts +2 -2
  248. package/dist/index.d.ts +40 -39
  249. package/dist/index.js +40 -39
  250. package/dist/lib/moduix/icons/ui/Icons.d.ts +1 -45
  251. package/dist/lib/moduix/icons/ui/Icons.js +36 -263
  252. package/dist/lib/moduix/icons/ui/index.d.ts +2 -2
  253. package/dist/lib/moduix/overlayPortal.js +1 -1
  254. package/package.json +4 -3
package/README.md CHANGED
@@ -58,8 +58,8 @@ bundle, so moduix does not ship duplicate React or Ark UI runtimes.
58
58
 
59
59
  ### shadcn copy-owned install
60
60
 
61
- `shadcn` can install selected moduix components from the GitHub registry directly into your project.
62
- The files become part of your codebase instead of staying in `node_modules`.
61
+ `shadcn` can install selected moduix components from the hosted registry directly into your
62
+ project. The files become part of your codebase instead of staying in `node_modules`.
63
63
 
64
64
  Make sure your project resolves the `@/*` alias to `src/*` in both `tsconfig.json` and
65
65
  `tsconfig.app.json`, and mirror it in your bundler config.
@@ -88,13 +88,15 @@ Create `components.json` in the project root when your app does not already have
88
88
  "lib": "@/lib",
89
89
  "hooks": "@/hooks"
90
90
  },
91
- "registries": {}
91
+ "registries": {
92
+ "@moduix-react": "https://moduix.dev/r/react/{name}.json"
93
+ }
92
94
  }
93
95
  ```
94
96
 
95
97
  ```bash
96
- npx shadcn@latest add Blinks44/moduix/react-button
97
- npx shadcn@latest add Blinks44/moduix/react-accordion
98
+ npx shadcn@latest add @moduix-react/button
99
+ npx shadcn@latest add @moduix-react/accordion
98
100
  ```
99
101
 
100
102
  The registry install also pulls in the shared moduix foundation files those components need, such as
@@ -137,7 +139,7 @@ import '@moduix/react/style.css';
137
139
  Then import and compose the components you need:
138
140
 
139
141
  ```tsx
140
- import { Button, Dialog, Portal } from '@moduix/react';
142
+ import { Button, Dialog } from '@moduix/react';
141
143
 
142
144
  export function Example() {
143
145
  return (
@@ -145,14 +147,12 @@ export function Example() {
145
147
  <Dialog.Trigger asChild>
146
148
  <Button>Open dialog</Button>
147
149
  </Dialog.Trigger>
148
- <Portal>
149
- <Dialog.Backdrop />
150
- <Dialog.Positioner>
151
- <Dialog.Content>
152
- <Dialog.Title>Project settings</Dialog.Title>
153
- </Dialog.Content>
154
- </Dialog.Positioner>
155
- </Portal>
150
+ <Dialog.Backdrop />
151
+ <Dialog.Positioner>
152
+ <Dialog.Content>
153
+ <Dialog.Title>Project settings</Dialog.Title>
154
+ </Dialog.Content>
155
+ </Dialog.Positioner>
156
156
  </Dialog.Root>
157
157
  );
158
158
  }
@@ -176,7 +176,7 @@ attributes for targeted styling. Theme values are regular CSS custom properties:
176
176
  Library CSS is organized with cascade layers:
177
177
 
178
178
  ```css
179
- @layer ui.reset, ui.tokens, ui.components;
179
+ @layer ui.reset, ui.tokens, ui.base, ui.components;
180
180
  ```
181
181
 
182
182
  This keeps defaults predictable while still letting application styles override tokens,
@@ -190,7 +190,7 @@ QrCode, Select, Tabs, Toast, Tooltip, TreeView, and supporting layout and displa
190
190
 
191
191
  ## Documentation
192
192
 
193
- - Documentation: https://moduix.blinks44.workers.dev/
193
+ - Documentation: https://moduix.dev/
194
194
  - npm package: https://www.npmjs.com/package/@moduix/react
195
195
  - React package README: `packages/react/README.md`
196
196
  - Docs app README: `apps/docs/README.md`
@@ -49,7 +49,7 @@
49
49
 
50
50
  .tIMeYW_root {
51
51
  box-sizing: border-box;
52
- width: var(--accordion-width, 22rem);
52
+ width: var(--accordion-width, 100%);
53
53
  max-width: var(--accordion-max-width, 100%);
54
54
  min-width: 0;
55
55
  color: var(--accordion-color, var(--color-foreground));
@@ -187,4 +187,11 @@
187
187
  width: var(--accordion-horizontal-content-width, 16rem);
188
188
  }
189
189
  }
190
+
191
+ .tIMeYW_itemBody {
192
+ gap: var(--accordion-item-body-gap, var(--spacing-3));
193
+ min-width: 0;
194
+ padding: var(--accordion-item-body-padding, var(--spacing-3));
195
+ display: grid;
196
+ }
190
197
  }
@@ -1,4 +1,4 @@
1
- import { Accordion } from "@ark-ui/react/accordion";
1
+ import { Accordion, useAccordion } from "@ark-ui/react/accordion";
2
2
 
3
3
  //#region src/components/accordion/Accordion.d.ts
4
4
  declare const Accordion$1: import("react").ForwardRefExoticComponent<Omit<Accordion.RootProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>> & {
@@ -8,6 +8,7 @@ declare const Accordion$1: import("react").ForwardRefExoticComponent<Omit<Accord
8
8
  ItemTrigger: import("react").ForwardRefExoticComponent<Omit<Accordion.ItemTriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
9
9
  ItemIndicator: import("react").ForwardRefExoticComponent<Omit<Accordion.ItemIndicatorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
10
10
  ItemContent: import("react").ForwardRefExoticComponent<Omit<Accordion.ItemContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
11
+ ItemBody: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLDivElement>>;
11
12
  };
12
13
  //#endregion
13
- export { Accordion$1 as Accordion };
14
+ export { Accordion$1 as Accordion, useAccordion };
@@ -1,10 +1,11 @@
1
- import { PlusIcon } from "../../lib/moduix/icons/ui/Icons.js";
2
1
  import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
2
+ import { PlusIcon } from "../../lib/moduix/icons/ui/Icons.js";
3
3
  import Accordion_module_default from "./Accordion.module.js";
4
- import { jsx } from "react/jsx-runtime";
4
+ import { ark } from "@ark-ui/react/factory";
5
5
  import { clsx } from "clsx";
6
6
  import { forwardRef } from "react";
7
- import { Accordion } from "@ark-ui/react/accordion";
7
+ import { jsx } from "react/jsx-runtime";
8
+ import { Accordion, useAccordion } from "@ark-ui/react/accordion";
8
9
  //#region src/components/accordion/Accordion.tsx
9
10
  const AccordionRoot = forwardRef(function AccordionRoot({ className, ...props }, ref) {
10
11
  return /* @__PURE__ */ jsx(Accordion.Root, {
@@ -55,13 +56,24 @@ const AccordionItemContent = forwardRef(function AccordionItemContent({ classNam
55
56
  ...props
56
57
  });
57
58
  });
59
+ const AccordionItemBody = forwardRef(function AccordionItemBody({ className, ...props }, ref) {
60
+ return /* @__PURE__ */ jsx(ark.div, {
61
+ ref,
62
+ "data-scope": "accordion",
63
+ "data-part": "item-body",
64
+ "data-slot": "accordion-item-body",
65
+ className: clsx(Accordion_module_default.itemBody, normalizeClassName(className)),
66
+ ...props
67
+ });
68
+ });
58
69
  const Accordion$1 = Object.assign(AccordionRoot, {
59
70
  Root: AccordionRoot,
60
71
  RootProvider: AccordionRootProvider,
61
72
  Item: AccordionItem,
62
73
  ItemTrigger: AccordionItemTrigger,
63
74
  ItemIndicator: AccordionItemIndicator,
64
- ItemContent: AccordionItemContent
75
+ ItemContent: AccordionItemContent,
76
+ ItemBody: AccordionItemBody
65
77
  });
66
78
  //#endregion
67
- export { Accordion$1 as Accordion };
79
+ export { Accordion$1 as Accordion, useAccordion };
@@ -6,6 +6,7 @@ var Accordion_module_default = {
6
6
  "accordion-item-content-open": "tIMeYW_accordion-item-content-open",
7
7
  "accordion-item-content-open-horizontal": "tIMeYW_accordion-item-content-open-horizontal",
8
8
  "item": "tIMeYW_item",
9
+ "itemBody": "tIMeYW_itemBody",
9
10
  "itemContent": "tIMeYW_itemContent",
10
11
  "itemIndicator": "tIMeYW_itemIndicator",
11
12
  "itemTrigger": "tIMeYW_itemTrigger",
@@ -1,2 +1,2 @@
1
- import { Accordion } from "./Accordion.js";
2
- export { Accordion };
1
+ import { Accordion, useAccordion } from "./Accordion.js";
2
+ export { Accordion, useAccordion };
@@ -2,19 +2,24 @@
2
2
  .ZXk2dW_root {
3
3
  box-sizing: border-box;
4
4
  align-items: start;
5
- gap: var(--alert-gap, var(--spacing-3));
5
+ row-gap: var(--alert-content-gap, var(--spacing-1));
6
+ column-gap: var(--alert-gap, var(--spacing-3));
6
7
  border: var(--alert-border-width, var(--border-width-sm)) solid
7
8
  var(--alert-border-color, var(--alert-border-color-default, var(--color-border)));
8
9
  border-radius: var(--alert-radius, var(--radius-lg));
9
10
  width: 100%;
10
11
  min-width: 0;
11
- padding: var(--alert-padding, var(--spacing-4));
12
+ padding: var(--alert-padding, var(--spacing-3));
12
13
  background-color: var(--alert-bg, var(--alert-bg-default, var(--color-card)));
13
14
  color: var(--alert-color, var(--alert-color-default, var(--color-card-foreground)));
14
15
  box-shadow: var(--alert-shadow, none);
15
16
  grid-template-columns: auto minmax(0, 1fr);
16
17
  display: grid;
17
18
 
19
+ & > [data-part="title"], & > [data-part="description"] {
20
+ grid-column: 2;
21
+ }
22
+
18
23
  &[data-status="neutral"] {
19
24
  --alert-bg-default: var(--color-card);
20
25
  --alert-border-color-default: var(--color-border);
@@ -50,9 +55,11 @@
50
55
  --alert-indicator-color-default: var(--color-destructive);
51
56
  }
52
57
 
53
- &:not(:has([data-part="indicator"])) {
54
- & [data-part="content"] {
55
- grid-column: 1 / -1;
58
+ &:not(:has( > [data-part="indicator"])) {
59
+ grid-template-columns: minmax(0, 1fr);
60
+
61
+ & > [data-part="content"], & > [data-part="title"], & > [data-part="description"] {
62
+ grid-column: 1;
56
63
  }
57
64
  }
58
65
  }
@@ -105,4 +112,11 @@
105
112
  margin-bottom: 0;
106
113
  }
107
114
  }
115
+
116
+ .ZXk2dW_actions {
117
+ gap: var(--alert-actions-gap, var(--spacing-2));
118
+ flex-wrap: wrap;
119
+ margin-block-start: var(--alert-actions-margin-top, var(--spacing-2));
120
+ display: flex;
121
+ }
108
122
  }
@@ -1,14 +1,16 @@
1
1
  //#region src/components/alert/Alert.d.ts
2
+ type AlertStatus = 'neutral' | 'info' | 'success' | 'warning' | 'error';
2
3
  declare const Alert: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & {
3
- status?: "neutral" | "info" | "success" | "warning" | "error";
4
+ status?: AlertStatus;
4
5
  } & import("react").RefAttributes<HTMLDivElement>> & {
5
6
  Root: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & {
6
- status?: "neutral" | "info" | "success" | "warning" | "error";
7
+ status?: AlertStatus;
7
8
  } & import("react").RefAttributes<HTMLDivElement>>;
8
9
  Indicator: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLSpanElement>>;
9
10
  Content: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLDivElement>>;
10
- Title: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLHeadingElement>>;
11
+ Title: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLParagraphElement>>;
11
12
  Description: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLDivElement>>;
13
+ Actions: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLDivElement>>;
12
14
  };
13
15
  //#endregion
14
16
  export { Alert };
@@ -1,11 +1,11 @@
1
1
  import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
2
2
  import Alert_module_default from "./Alert.module.js";
3
- import { jsx } from "react/jsx-runtime";
4
3
  import { ark } from "@ark-ui/react/factory";
5
4
  import { clsx } from "clsx";
6
5
  import { forwardRef } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
7
  //#region src/components/alert/Alert.tsx
8
- const AlertRoot = forwardRef(function AlertRoot({ className, role, status = "neutral", ...props }, ref) {
8
+ const AlertRoot = forwardRef(function AlertRoot({ children, className, role, status = "neutral", ...props }, ref) {
9
9
  return /* @__PURE__ */ jsx(ark.div, {
10
10
  ref,
11
11
  role: role ?? (status === "error" ? "alert" : "status"),
@@ -14,7 +14,8 @@ const AlertRoot = forwardRef(function AlertRoot({ className, role, status = "neu
14
14
  "data-slot": "alert-root",
15
15
  "data-status": status,
16
16
  className: clsx(Alert_module_default.root, normalizeClassName(className)),
17
- ...props
17
+ ...props,
18
+ children
18
19
  });
19
20
  });
20
21
  const AlertIndicator = forwardRef(function AlertIndicator({ className, ...props }, ref) {
@@ -39,7 +40,7 @@ const AlertContent = forwardRef(function AlertContent({ className, ...props }, r
39
40
  });
40
41
  });
41
42
  const AlertTitle = forwardRef(function AlertTitle({ className, ...props }, ref) {
42
- return /* @__PURE__ */ jsx(ark.h3, {
43
+ return /* @__PURE__ */ jsx(ark.p, {
43
44
  ref,
44
45
  "data-scope": "alert",
45
46
  "data-part": "title",
@@ -58,12 +59,23 @@ const AlertDescription = forwardRef(function AlertDescription({ className, ...pr
58
59
  ...props
59
60
  });
60
61
  });
62
+ const AlertActions = forwardRef(function AlertActions({ className, ...props }, ref) {
63
+ return /* @__PURE__ */ jsx(ark.div, {
64
+ ref,
65
+ "data-scope": "alert",
66
+ "data-part": "actions",
67
+ "data-slot": "alert-actions",
68
+ className: clsx(Alert_module_default.actions, normalizeClassName(className)),
69
+ ...props
70
+ });
71
+ });
61
72
  const Alert = Object.assign(AlertRoot, {
62
73
  Root: AlertRoot,
63
74
  Indicator: AlertIndicator,
64
75
  Content: AlertContent,
65
76
  Title: AlertTitle,
66
- Description: AlertDescription
77
+ Description: AlertDescription,
78
+ Actions: AlertActions
67
79
  });
68
80
  //#endregion
69
81
  export { Alert };
@@ -1,6 +1,7 @@
1
1
  import './Alert.css';
2
2
  //#region src/components/alert/Alert.module.css
3
3
  var Alert_module_default = {
4
+ "actions": "ZXk2dW_actions",
4
5
  "content": "ZXk2dW_content",
5
6
  "description": "ZXk2dW_description",
6
7
  "indicator": "ZXk2dW_indicator",
@@ -1,16 +1,32 @@
1
+ import { ComponentProps } from "react";
1
2
  import { AngleSlider } from "@ark-ui/react/angle-slider";
2
3
 
3
4
  //#region src/components/angle-slider/AngleSlider.d.ts
5
+ declare function AngleSliderMarks({
6
+ values,
7
+ ...props
8
+ }: ComponentProps<typeof AngleSlider.MarkerGroup> & {
9
+ values: readonly number[];
10
+ }): import("react").JSX.Element;
11
+ declare function AngleSliderDial({
12
+ children,
13
+ thumbClassName,
14
+ ...props
15
+ }: ComponentProps<typeof AngleSlider.Control> & {
16
+ thumbClassName?: string;
17
+ }): import("react").JSX.Element;
4
18
  declare const AngleSlider$1: import("react").ForwardRefExoticComponent<Omit<AngleSlider.RootProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>> & {
5
19
  Root: import("react").ForwardRefExoticComponent<Omit<AngleSlider.RootProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
6
20
  RootProvider: import("react").ForwardRefExoticComponent<Omit<AngleSlider.RootProviderProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
7
21
  Label: import("react").ForwardRefExoticComponent<Omit<AngleSlider.LabelProps & import("react").RefAttributes<HTMLLabelElement>, "ref"> & import("react").RefAttributes<HTMLLabelElement>>;
8
22
  Control: import("react").ForwardRefExoticComponent<Omit<AngleSlider.ControlProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
23
+ Dial: typeof AngleSliderDial;
9
24
  Thumb: import("react").ForwardRefExoticComponent<Omit<AngleSlider.ThumbProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
10
25
  MarkerGroup: import("react").ForwardRefExoticComponent<Omit<AngleSlider.MarkerGroupProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
11
26
  Marker: import("react").ForwardRefExoticComponent<Omit<AngleSlider.MarkerProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
27
+ Marks: typeof AngleSliderMarks;
12
28
  ValueText: import("react").ForwardRefExoticComponent<Omit<AngleSlider.ValueTextProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
13
- HiddenInput: import("react").ForwardRefExoticComponent<Omit<AngleSlider.HiddenInputProps & import("react").RefAttributes<HTMLInputElement>, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
14
29
  };
30
+ declare const useAngleSlider$1: (props?: import("@ark-ui/react/angle-slider").UseAngleSliderProps) => import("@ark-ui/react/angle-slider").UseAngleSliderReturn;
15
31
  //#endregion
16
- export { AngleSlider$1 as AngleSlider };
32
+ export { AngleSlider$1 as AngleSlider, useAngleSlider$1 as useAngleSlider };
@@ -1,16 +1,18 @@
1
1
  import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
2
2
  import AngleSlider_module_default from "./AngleSlider.module.js";
3
- import { jsx } from "react/jsx-runtime";
4
3
  import { clsx } from "clsx";
5
- import { forwardRef } from "react";
6
- import { AngleSlider } from "@ark-ui/react/angle-slider";
4
+ import { Children, cloneElement, forwardRef } from "react";
5
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
6
+ import { AngleSlider, useAngleSlider } from "@ark-ui/react/angle-slider";
7
7
  //#region src/components/angle-slider/AngleSlider.tsx
8
- const AngleSliderRoot = forwardRef(function AngleSliderRoot({ className, ...props }, ref) {
8
+ const AngleSliderRoot = forwardRef(function AngleSliderRoot({ asChild, children, className, ...props }, ref) {
9
9
  return /* @__PURE__ */ jsx(AngleSlider.Root, {
10
10
  ref,
11
11
  "data-slot": "angle-slider-root",
12
12
  className: clsx(AngleSlider_module_default.root, normalizeClassName(className)),
13
- ...props
13
+ asChild,
14
+ ...props,
15
+ children: withHiddenInput(children, asChild)
14
16
  });
15
17
  });
16
18
  const AngleSliderLabel = forwardRef(function AngleSliderLabel({ className, ...props }, ref) {
@@ -21,14 +23,22 @@ const AngleSliderLabel = forwardRef(function AngleSliderLabel({ className, ...pr
21
23
  ...props
22
24
  });
23
25
  });
24
- const AngleSliderRootProvider = forwardRef(function AngleSliderRootProvider({ className, ...props }, ref) {
26
+ const AngleSliderRootProvider = forwardRef(function AngleSliderRootProvider({ asChild, children, className, ...props }, ref) {
25
27
  return /* @__PURE__ */ jsx(AngleSlider.RootProvider, {
26
28
  ref,
27
29
  "data-slot": "angle-slider-root-provider",
28
30
  className: clsx(AngleSlider_module_default.root, normalizeClassName(className)),
29
- ...props
31
+ asChild,
32
+ ...props,
33
+ children: withHiddenInput(children, asChild)
30
34
  });
31
35
  });
36
+ function withHiddenInput(children, asChild) {
37
+ const hiddenInput = /* @__PURE__ */ jsx(AngleSlider.HiddenInput, { "data-slot": "angle-slider-hidden-input" });
38
+ if (!asChild) return /* @__PURE__ */ jsxs(Fragment$1, { children: [children, hiddenInput] });
39
+ const child = Children.only(children);
40
+ return cloneElement(child, {}, child.props.children, hiddenInput);
41
+ }
32
42
  const AngleSliderControl = forwardRef(function AngleSliderControl({ className, ...props }, ref) {
33
43
  return /* @__PURE__ */ jsx(AngleSlider.Control, {
34
44
  ref,
@@ -61,6 +71,18 @@ const AngleSliderMarker = forwardRef(function AngleSliderMarker({ className, ...
61
71
  ...props
62
72
  });
63
73
  });
74
+ function AngleSliderMarks({ values, ...props }) {
75
+ return /* @__PURE__ */ jsx(AngleSliderMarkerGroup, {
76
+ ...props,
77
+ children: values.map((value) => /* @__PURE__ */ jsx(AngleSliderMarker, { value }, value))
78
+ });
79
+ }
80
+ function AngleSliderDial({ children, thumbClassName, ...props }) {
81
+ return /* @__PURE__ */ jsxs(AngleSliderControl, {
82
+ ...props,
83
+ children: [children, /* @__PURE__ */ jsx(AngleSliderThumb, { className: thumbClassName })]
84
+ });
85
+ }
64
86
  const AngleSliderValueText = forwardRef(function AngleSliderValueText({ className, ...props }, ref) {
65
87
  return /* @__PURE__ */ jsx(AngleSlider.ValueText, {
66
88
  ref,
@@ -69,24 +91,18 @@ const AngleSliderValueText = forwardRef(function AngleSliderValueText({ classNam
69
91
  ...props
70
92
  });
71
93
  });
72
- const AngleSliderHiddenInput = forwardRef(function AngleSliderHiddenInput({ className, ...props }, ref) {
73
- return /* @__PURE__ */ jsx(AngleSlider.HiddenInput, {
74
- ref,
75
- "data-slot": "angle-slider-hidden-input",
76
- className: normalizeClassName(className),
77
- ...props
78
- });
79
- });
80
94
  const AngleSlider$1 = Object.assign(AngleSliderRoot, {
81
95
  Root: AngleSliderRoot,
82
96
  RootProvider: AngleSliderRootProvider,
83
97
  Label: AngleSliderLabel,
84
98
  Control: AngleSliderControl,
99
+ Dial: AngleSliderDial,
85
100
  Thumb: AngleSliderThumb,
86
101
  MarkerGroup: AngleSliderMarkerGroup,
87
102
  Marker: AngleSliderMarker,
88
- ValueText: AngleSliderValueText,
89
- HiddenInput: AngleSliderHiddenInput
103
+ Marks: AngleSliderMarks,
104
+ ValueText: AngleSliderValueText
90
105
  });
106
+ const useAngleSlider$1 = useAngleSlider;
91
107
  //#endregion
92
- export { AngleSlider$1 as AngleSlider };
108
+ export { AngleSlider$1 as AngleSlider, useAngleSlider$1 as useAngleSlider };
@@ -1,2 +1,2 @@
1
- import { AngleSlider } from "./AngleSlider.js";
2
- export { AngleSlider };
1
+ import { AngleSlider, useAngleSlider } from "./AngleSlider.js";
2
+ export { AngleSlider, useAngleSlider };
@@ -1,7 +1,9 @@
1
1
  @layer ui.components {
2
2
  .iOVgxW_root {
3
- border-radius: var(--aspect-ratio-radius, var(--radius-md));
3
+ --aspect-ratio-value: 1;
4
4
  width: 100%;
5
+ aspect-ratio: var(--aspect-ratio-value);
6
+ border-radius: var(--aspect-ratio-radius, var(--radius-md));
5
7
  position: relative;
6
8
  overflow: hidden;
7
9
 
@@ -1,9 +1,9 @@
1
1
  import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
2
2
  import AspectRatio_module_default from "./AspectRatio.module.js";
3
- import { jsx } from "react/jsx-runtime";
4
3
  import { ark } from "@ark-ui/react/factory";
5
4
  import { clsx } from "clsx";
6
5
  import { forwardRef } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
7
  //#region src/components/aspect-ratio/AspectRatio.tsx
8
8
  const AspectRatioRoot = forwardRef(function AspectRatioRoot({ ratio, className, style, ...props }, ref) {
9
9
  return /* @__PURE__ */ jsx(ark.div, {
@@ -13,7 +13,7 @@ const AspectRatioRoot = forwardRef(function AspectRatioRoot({ ratio, className,
13
13
  "data-slot": "aspect-ratio-root",
14
14
  className: clsx(AspectRatio_module_default.root, normalizeClassName(className)),
15
15
  style: {
16
- aspectRatio: ratio,
16
+ "--aspect-ratio-value": ratio,
17
17
  ...style
18
18
  },
19
19
  ...props
@@ -1,5 +1,5 @@
1
1
  import { ComponentProps } from "react";
2
- import { Avatar } from "@ark-ui/react/avatar";
2
+ import { Avatar, useAvatar, useAvatarContext } from "@ark-ui/react/avatar";
3
3
 
4
4
  //#region src/components/avatar/Avatar.d.ts
5
5
  type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
@@ -9,11 +9,14 @@ type AvatarRootProps = ComponentProps<typeof Avatar.Root> & {
9
9
  type AvatarRootProviderProps = ComponentProps<typeof Avatar.RootProvider> & {
10
10
  size?: AvatarSize;
11
11
  };
12
+ type AvatarFallbackProps = ComponentProps<typeof Avatar.Fallback> & {
13
+ name?: string;
14
+ };
12
15
  declare const Avatar$1: import("react").ForwardRefExoticComponent<Omit<AvatarRootProps, "ref"> & import("react").RefAttributes<HTMLDivElement>> & {
13
16
  Root: import("react").ForwardRefExoticComponent<Omit<AvatarRootProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
14
17
  RootProvider: import("react").ForwardRefExoticComponent<Omit<AvatarRootProviderProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
15
18
  Image: import("react").ForwardRefExoticComponent<Omit<Avatar.ImageProps & import("react").RefAttributes<HTMLImageElement>, "ref"> & import("react").RefAttributes<HTMLImageElement>>;
16
- Fallback: import("react").ForwardRefExoticComponent<Omit<Avatar.FallbackProps & import("react").RefAttributes<HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
19
+ Fallback: import("react").ForwardRefExoticComponent<Omit<AvatarFallbackProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
17
20
  };
18
21
  //#endregion
19
- export { Avatar$1 as Avatar };
22
+ export { Avatar$1 as Avatar, useAvatar, useAvatarContext };
@@ -1,10 +1,16 @@
1
1
  import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
2
2
  import Avatar_module_default from "./Avatar.module.js";
3
- import { jsx } from "react/jsx-runtime";
4
3
  import { clsx } from "clsx";
5
4
  import { forwardRef } from "react";
6
- import { Avatar } from "@ark-ui/react/avatar";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import { Avatar, useAvatar, useAvatarContext } from "@ark-ui/react/avatar";
7
7
  //#region src/components/avatar/Avatar.tsx
8
+ const getInitials = (name) => {
9
+ const parts = name.trim().split(/\s+/).filter(Boolean);
10
+ const firstName = parts[0] ?? "";
11
+ const lastName = parts.length > 1 ? parts[parts.length - 1] : "";
12
+ return firstName && lastName ? `${firstName[0]}${lastName[0]}` : firstName[0] ?? "";
13
+ };
8
14
  const AvatarRoot = forwardRef(function AvatarRoot({ className, size, ...props }, ref) {
9
15
  return /* @__PURE__ */ jsx(Avatar.Root, {
10
16
  ref,
@@ -31,12 +37,13 @@ const AvatarImage = forwardRef(function AvatarImage({ className, ...props }, ref
31
37
  ...props
32
38
  });
33
39
  });
34
- const AvatarFallback = forwardRef(function AvatarFallback({ className, ...props }, ref) {
40
+ const AvatarFallback = forwardRef(function AvatarFallback({ children, className, name, ...props }, ref) {
35
41
  return /* @__PURE__ */ jsx(Avatar.Fallback, {
36
42
  ref,
37
43
  "data-slot": "avatar-fallback",
38
44
  className: clsx(Avatar_module_default.fallback, normalizeClassName(className)),
39
- ...props
45
+ ...props,
46
+ children: children ?? (name ? getInitials(name) : void 0)
40
47
  });
41
48
  });
42
49
  const Avatar$1 = Object.assign(AvatarRoot, {
@@ -46,4 +53,4 @@ const Avatar$1 = Object.assign(AvatarRoot, {
46
53
  Fallback: AvatarFallback
47
54
  });
48
55
  //#endregion
49
- export { Avatar$1 as Avatar };
56
+ export { Avatar$1 as Avatar, useAvatar, useAvatarContext };
@@ -1,2 +1,2 @@
1
- import { Avatar } from "./Avatar.js";
2
- export { Avatar };
1
+ import { Avatar, useAvatar, useAvatarContext } from "./Avatar.js";
2
+ export { Avatar, useAvatar, useAvatarContext };
@@ -29,6 +29,34 @@
29
29
  display: inline-flex;
30
30
  overflow: hidden;
31
31
 
32
+ &:is(a, button, [role="button"]) {
33
+ cursor: pointer;
34
+
35
+ &:focus-visible {
36
+ outline: var(--border-width-md) solid var(--color-ring);
37
+ outline-offset: var(--spacing-1);
38
+ }
39
+
40
+ &[data-variant="default"], &[data-variant="secondary"], &[data-variant="destructive"] {
41
+ &:hover {
42
+ opacity: .9;
43
+ }
44
+ }
45
+
46
+ &[data-variant="outline"], &[data-variant="ghost"] {
47
+ &:hover {
48
+ border-color: var(--badge-border-color, var(--color-primary));
49
+ color: var(--badge-color, var(--color-primary));
50
+ }
51
+ }
52
+
53
+ &[data-variant="link"] {
54
+ &:hover {
55
+ text-decoration-color: currentColor;
56
+ }
57
+ }
58
+ }
59
+
32
60
  & > svg {
33
61
  width: var(--badge-icon-size, .75rem);
34
62
  height: var(--badge-icon-size, .75rem);
@@ -46,14 +74,29 @@
46
74
  color: var(--badge-color, var(--color-primary-foreground));
47
75
  }
48
76
 
49
- &[data-variant="outline"], &[data-variant="ghost"] {
77
+ &[data-variant="outline"], &[data-variant="ghost"], &[data-variant="link"] {
50
78
  background-color: var(--badge-bg, transparent);
79
+ }
80
+
81
+ &[data-variant="outline"], &[data-variant="ghost"] {
51
82
  color: var(--badge-color, var(--color-foreground));
52
83
  }
53
84
 
54
85
  &[data-variant="outline"] {
55
86
  border-color: var(--badge-border-color, var(--color-border));
56
87
  }
88
+
89
+ &[data-variant="link"] {
90
+ min-height: auto;
91
+ color: var(--badge-color, var(--color-primary));
92
+ text-decoration: underline;
93
+ text-decoration-color: color-mix(in oklab, currentColor 55%, transparent);
94
+ text-underline-offset: .15em;
95
+ border-color: #0000;
96
+ padding-inline: 0;
97
+ text-decoration-thickness: from-font;
98
+ overflow: visible;
99
+ }
57
100
  }
58
101
 
59
102
  .NXa69G_dot {
@@ -1,9 +1,9 @@
1
1
  //#region src/components/badge/Badge.d.ts
2
2
  declare const Badge: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & {
3
- variant?: "default" | "secondary" | "destructive" | "outline" | "ghost";
3
+ variant?: "default" | "secondary" | "destructive" | "outline" | "ghost" | "link";
4
4
  } & import("react").RefAttributes<HTMLSpanElement>> & {
5
5
  Root: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & {
6
- variant?: "default" | "secondary" | "destructive" | "outline" | "ghost";
6
+ variant?: "default" | "secondary" | "destructive" | "outline" | "ghost" | "link";
7
7
  } & import("react").RefAttributes<HTMLSpanElement>>;
8
8
  Dot: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLSpanElement>>;
9
9
  };