@nexus-cross/design-system 1.0.4-beta.1 → 1.0.4

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 (327) hide show
  1. package/cursor-rules/nexus-project-setup.mdc +167 -145
  2. package/cursor-rules/nexus-ui-api.mdc +894 -311
  3. package/cursor-rules/nexus-ui-components.mdc +179 -91
  4. package/dist/accordion.js +7 -7
  5. package/dist/accordion.mjs +2 -2
  6. package/dist/alert.d.mts +17 -0
  7. package/dist/alert.d.ts +17 -0
  8. package/dist/alert.js +16 -0
  9. package/dist/alert.mjs +3 -0
  10. package/dist/avatar.js +4 -4
  11. package/dist/avatar.mjs +2 -2
  12. package/dist/badge.d.mts +18 -0
  13. package/dist/badge.d.ts +18 -0
  14. package/dist/badge.js +16 -0
  15. package/dist/badge.mjs +3 -0
  16. package/dist/breadcrumb.d.mts +15 -0
  17. package/dist/breadcrumb.d.ts +15 -0
  18. package/dist/breadcrumb.js +12 -0
  19. package/dist/breadcrumb.mjs +3 -0
  20. package/dist/button.js +4 -4
  21. package/dist/button.mjs +2 -2
  22. package/dist/carousel.js +8 -8
  23. package/dist/carousel.mjs +2 -2
  24. package/dist/checkbox.js +5 -5
  25. package/dist/checkbox.mjs +2 -2
  26. package/dist/chip.d.mts +1 -1
  27. package/dist/chip.d.ts +1 -1
  28. package/dist/chip.js +4 -4
  29. package/dist/chip.mjs +2 -2
  30. package/dist/chunks/{chunk-5TBXVD56.js → chunk-2MC7XJSE.js} +16 -6
  31. package/dist/chunks/chunk-2N2EPBO4.js +120 -0
  32. package/dist/chunks/{chunk-BEA727LO.mjs → chunk-2RPRCWKV.mjs} +57 -26
  33. package/dist/chunks/chunk-2UPGFY6E.mjs +76 -0
  34. package/dist/chunks/{chunk-5I2VRWWU.js → chunk-2ZXDXO4I.js} +32 -38
  35. package/dist/chunks/{chunk-RLP3U52D.mjs → chunk-33UFQJIO.mjs} +22 -40
  36. package/dist/chunks/{chunk-AOVU67NI.mjs → chunk-3HHJORN7.mjs} +23 -25
  37. package/dist/chunks/{chunk-TWHDXCKR.js → chunk-3PCNRCTB.js} +8 -8
  38. package/dist/chunks/chunk-3ZWN66YH.js +53 -0
  39. package/dist/chunks/chunk-4ENXP7WH.js +224 -0
  40. package/dist/chunks/{chunk-YEGPB7A7.js → chunk-5JHJNN2K.js} +4 -4
  41. package/dist/chunks/chunk-5PQ3UCKF.js +99 -0
  42. package/dist/chunks/chunk-6BWOKTVQ.mjs +87 -0
  43. package/dist/chunks/chunk-6DBRL6NA.mjs +81 -0
  44. package/dist/chunks/{chunk-C3E7CSKG.mjs → chunk-6FMDO6TT.mjs} +7 -8
  45. package/dist/chunks/{chunk-76CY4STF.js → chunk-7G65JBTN.js} +34 -66
  46. package/dist/chunks/{chunk-GMIGQ5VP.mjs → chunk-ADO7PDLY.mjs} +15 -35
  47. package/dist/chunks/{chunk-ZINDMFOI.js → chunk-AFSEYJZT.js} +24 -32
  48. package/dist/chunks/chunk-B5O6W3Z4.mjs +73 -0
  49. package/dist/chunks/{chunk-6FHK6CBR.js → chunk-B6G5TJRO.js} +7 -8
  50. package/dist/chunks/chunk-BBLBTOP4.js +205 -0
  51. package/dist/chunks/{chunk-5XVEYVYA.js → chunk-BLGQHR3M.js} +5 -8
  52. package/dist/chunks/{chunk-LVTD2UQN.mjs → chunk-BPUQ2CO2.mjs} +2 -2
  53. package/dist/chunks/{chunk-AWBGWBFS.js → chunk-BSZ2LN6E.js} +21 -27
  54. package/dist/chunks/chunk-C2DSAJTL.js +109 -0
  55. package/dist/chunks/{chunk-KWPIEHD2.mjs → chunk-CA3SOLI3.mjs} +1 -1
  56. package/dist/chunks/{chunk-MPKRXMCJ.js → chunk-CSJDDREF.js} +7 -10
  57. package/dist/chunks/chunk-CUTMLBC3.mjs +86 -0
  58. package/dist/chunks/chunk-CV4GMFWP.js +174 -0
  59. package/dist/chunks/{chunk-SXLMI7CZ.mjs → chunk-CWMLTXOH.mjs} +162 -234
  60. package/dist/chunks/chunk-CZC76ZD5.js +10 -0
  61. package/dist/chunks/chunk-DICN6GKE.js +99 -0
  62. package/dist/chunks/{chunk-TLTEUIBY.js → chunk-DLFV7ZZV.js} +4 -4
  63. package/dist/chunks/chunk-DO6VK2QQ.mjs +108 -0
  64. package/dist/chunks/chunk-DYPPVXQF.js +143 -0
  65. package/dist/chunks/{chunk-GQP7IXH2.mjs → chunk-ECVAVQUY.mjs} +23 -31
  66. package/dist/chunks/{chunk-3CHRUKSJ.mjs → chunk-EHAUUUWB.mjs} +3 -3
  67. package/dist/chunks/chunk-EJY7IVSK.mjs +31 -0
  68. package/dist/chunks/{chunk-G4XJG7XI.js → chunk-EVOOTSY5.js} +3 -10
  69. package/dist/chunks/chunk-FUIBYZZ4.mjs +98 -0
  70. package/dist/chunks/{chunk-VH5FF6DZ.mjs → chunk-GX6GSWX3.mjs} +7 -7
  71. package/dist/chunks/chunk-H2G5FMRN.mjs +75 -0
  72. package/dist/chunks/chunk-H2V7RHYV.mjs +120 -0
  73. package/dist/chunks/{chunk-DDMZSNTG.js → chunk-HFBTS42N.js} +168 -240
  74. package/dist/chunks/{chunk-OGUTGD4J.mjs → chunk-HNLI646G.mjs} +71 -39
  75. package/dist/chunks/{chunk-C6H2UNOX.js → chunk-IE4DGLMH.js} +13 -21
  76. package/dist/chunks/{chunk-U76LT5GE.js → chunk-IOSIQLZL.js} +2 -2
  77. package/dist/chunks/{chunk-ZCMKIB5U.js → chunk-J5ZKGPBY.js} +33 -41
  78. package/dist/chunks/{chunk-JUZHWKGS.mjs → chunk-K2TBLM3F.mjs} +6 -12
  79. package/dist/chunks/chunk-KZ7S5VN2.js +7 -0
  80. package/dist/chunks/{chunk-FHPHDK3O.mjs → chunk-LI7SFBUQ.mjs} +4 -4
  81. package/dist/chunks/{chunk-7OEK2KX3.mjs → chunk-LMMON5AU.mjs} +4 -4
  82. package/dist/chunks/{chunk-6DZVNFVY.js → chunk-LOQXCHKL.js} +4 -12
  83. package/dist/chunks/{chunk-377KBJQG.js → chunk-MA2VCCIY.js} +19 -22
  84. package/dist/chunks/chunk-MCKOWMLS.mjs +8 -0
  85. package/dist/chunks/chunk-MMCA33FW.mjs +85 -0
  86. package/dist/chunks/{chunk-TR5JBBEA.mjs → chunk-MRRKW5QN.mjs} +31 -39
  87. package/dist/chunks/{chunk-76K6KXCT.js → chunk-NFIPQZ4O.js} +1 -1
  88. package/dist/chunks/chunk-NZHK76R3.js +109 -0
  89. package/dist/chunks/{chunk-I7YJB2F5.js → chunk-OMN5YQCE.js} +3 -3
  90. package/dist/chunks/{chunk-B7UU3FSS.mjs → chunk-P2T72N62.mjs} +4 -7
  91. package/dist/chunks/chunk-P3DZKXG4.js +116 -0
  92. package/dist/chunks/chunk-P73MEU7N.mjs +150 -0
  93. package/dist/chunks/chunk-PDJTSQOC.js +59 -0
  94. package/dist/chunks/{chunk-RXVYL4AU.js → chunk-PEIEVKD5.js} +7 -13
  95. package/dist/chunks/chunk-PI464222.mjs +5 -0
  96. package/dist/chunks/{chunk-IJG7J2VU.mjs → chunk-QZ4QR3XV.mjs} +30 -36
  97. package/dist/chunks/{chunk-6NTASYZO.js → chunk-RS3SBY3I.js} +61 -30
  98. package/dist/chunks/{chunk-AKIBUO5A.mjs → chunk-RX5UKRYK.mjs} +19 -26
  99. package/dist/chunks/chunk-S2GMEC43.js +109 -0
  100. package/dist/chunks/{chunk-WJ2OVQD3.mjs → chunk-SGNRVYYQ.mjs} +19 -25
  101. package/dist/chunks/{chunk-IB5UCYQY.mjs → chunk-SJMCPSVH.mjs} +15 -5
  102. package/dist/chunks/chunk-UKRU46PH.mjs +182 -0
  103. package/dist/chunks/{chunk-WNFJ4NJN.mjs → chunk-ULGYTBCT.mjs} +3 -11
  104. package/dist/chunks/{chunk-TXYYBJBQ.js → chunk-VGO4Z2WH.js} +73 -41
  105. package/dist/chunks/{chunk-LBKBCI2K.mjs → chunk-VIGRCJAE.mjs} +3 -10
  106. package/dist/chunks/chunk-VVXQZ4XH.mjs +93 -0
  107. package/dist/chunks/{chunk-Z7OKV6NW.mjs → chunk-W4GG5A7K.mjs} +12 -20
  108. package/dist/chunks/chunk-WGGBE4ZD.mjs +201 -0
  109. package/dist/chunks/{chunk-WSWD5ZUJ.js → chunk-WKCXACMZ.js} +20 -27
  110. package/dist/chunks/{chunk-GSLIY6WW.js → chunk-X2SHTVZQ.js} +17 -37
  111. package/dist/chunks/chunk-X3CTJ7TD.js +108 -0
  112. package/dist/chunks/{chunk-U6KOUYWX.mjs → chunk-XG6QG65W.mjs} +7 -10
  113. package/dist/chunks/chunk-XGIJZ3NZ.js +160 -0
  114. package/dist/chunks/chunk-YB5ZKHVB.js +64 -0
  115. package/dist/chunks/{chunk-Q7H6LCNN.js → chunk-YCG4FZC3.js} +23 -25
  116. package/dist/chunks/{chunk-JZ3PWHKS.mjs → chunk-YLO4UKSC.mjs} +18 -21
  117. package/dist/chunks/chunk-YO5MSDPX.mjs +36 -0
  118. package/dist/chunks/{chunk-Q2TMXHPK.js → chunk-YZV6FWE7.js} +25 -43
  119. package/dist/chunks/chunk-ZI4LN2B2.js +96 -0
  120. package/dist/chunks/chunk-ZU4AWAFT.mjs +137 -0
  121. package/dist/chunks/chunk-ZWSIIGA3.mjs +58 -0
  122. package/dist/countdown.js +4 -4
  123. package/dist/countdown.mjs +2 -2
  124. package/dist/counter.js +2 -2
  125. package/dist/counter.mjs +1 -1
  126. package/dist/data-list.js +5 -5
  127. package/dist/data-list.mjs +4 -4
  128. package/dist/date-picker.d.mts +17 -0
  129. package/dist/date-picker.d.ts +17 -0
  130. package/dist/date-picker.js +12 -0
  131. package/dist/date-picker.mjs +3 -0
  132. package/dist/divider.js +4 -4
  133. package/dist/divider.mjs +2 -2
  134. package/dist/drawer.d.mts +1 -1
  135. package/dist/drawer.d.ts +1 -1
  136. package/dist/drawer.js +11 -11
  137. package/dist/drawer.mjs +2 -2
  138. package/dist/dropdown-menu.d.mts +30 -0
  139. package/dist/dropdown-menu.d.ts +30 -0
  140. package/dist/dropdown-menu.js +32 -0
  141. package/dist/dropdown-menu.mjs +3 -0
  142. package/dist/ellipsis.js +3 -3
  143. package/dist/ellipsis.mjs +2 -2
  144. package/dist/empty-state.d.mts +16 -0
  145. package/dist/empty-state.d.ts +16 -0
  146. package/dist/empty-state.js +16 -0
  147. package/dist/empty-state.mjs +3 -0
  148. package/dist/error-boundary.d.mts +1 -1
  149. package/dist/error-boundary.d.ts +1 -1
  150. package/dist/error-boundary.js +2 -2
  151. package/dist/error-boundary.mjs +1 -1
  152. package/dist/index.d.mts +15 -0
  153. package/dist/index.d.ts +15 -0
  154. package/dist/index.js +322 -200
  155. package/dist/index.mjs +49 -35
  156. package/dist/infinite-scroll.js +3 -3
  157. package/dist/infinite-scroll.mjs +2 -2
  158. package/dist/marquee.js +3 -3
  159. package/dist/marquee.mjs +2 -2
  160. package/dist/modal/index.js +13 -13
  161. package/dist/modal/index.mjs +4 -4
  162. package/dist/number-input.d.mts +1 -1
  163. package/dist/number-input.d.ts +1 -1
  164. package/dist/number-input.js +5 -5
  165. package/dist/number-input.mjs +2 -2
  166. package/dist/nx-image.d.mts +13 -0
  167. package/dist/nx-image.d.ts +13 -0
  168. package/dist/nx-image.js +12 -0
  169. package/dist/nx-image.mjs +3 -0
  170. package/dist/pagination.d.mts +1 -0
  171. package/dist/pagination.d.ts +1 -0
  172. package/dist/pagination.js +5 -5
  173. package/dist/pagination.mjs +2 -2
  174. package/dist/popover.d.mts +1 -1
  175. package/dist/popover.d.ts +1 -1
  176. package/dist/popover.js +8 -8
  177. package/dist/popover.mjs +2 -2
  178. package/dist/price-input.d.mts +36 -0
  179. package/dist/price-input.d.ts +36 -0
  180. package/dist/price-input.js +16 -0
  181. package/dist/price-input.mjs +3 -0
  182. package/dist/progress.d.mts +18 -0
  183. package/dist/progress.d.ts +18 -0
  184. package/dist/progress.js +16 -0
  185. package/dist/progress.mjs +3 -0
  186. package/dist/radio-group.js +6 -6
  187. package/dist/radio-group.mjs +2 -2
  188. package/dist/schemas/_all.json +2356 -404
  189. package/dist/schemas/accordion.json +14 -11
  190. package/dist/schemas/alert.json +49 -0
  191. package/dist/schemas/avatar.json +13 -7
  192. package/dist/schemas/badge.json +76 -0
  193. package/dist/schemas/breadcrumb.json +47 -0
  194. package/dist/schemas/button.json +27 -9
  195. package/dist/schemas/carousel.json +10 -4
  196. package/dist/schemas/carouselButton.json +20 -0
  197. package/dist/schemas/carouselDots.json +17 -0
  198. package/dist/schemas/carouselSlide.json +20 -0
  199. package/dist/schemas/checkBox.json +33 -8
  200. package/dist/schemas/chip.json +15 -6
  201. package/dist/schemas/clientOnly.json +19 -0
  202. package/dist/schemas/countdown.json +10 -7
  203. package/dist/schemas/counter.json +15 -9
  204. package/dist/schemas/dataList.json +10 -10
  205. package/dist/schemas/datePicker.json +56 -0
  206. package/dist/schemas/divider.json +8 -5
  207. package/dist/schemas/drawer.json +24 -2
  208. package/dist/schemas/drawerClose.json +24 -0
  209. package/dist/schemas/drawerContent.json +9 -6
  210. package/dist/schemas/drawerDescription.json +20 -0
  211. package/dist/schemas/drawerTitle.json +20 -0
  212. package/dist/schemas/drawerTrigger.json +24 -0
  213. package/dist/schemas/dropdownMenu.json +83 -0
  214. package/dist/schemas/ellipsis.json +17 -7
  215. package/dist/schemas/emptyState.json +44 -0
  216. package/dist/schemas/errorBoundary.json +22 -0
  217. package/dist/schemas/infiniteScroll.json +18 -9
  218. package/dist/schemas/marquee.json +12 -6
  219. package/dist/schemas/modalCall.json +81 -3
  220. package/dist/schemas/modalTemplate.json +67 -14
  221. package/dist/schemas/numberInput.json +42 -12
  222. package/dist/schemas/nxImage.json +56 -0
  223. package/dist/schemas/pagination.json +13 -6
  224. package/dist/schemas/popover.json +18 -9
  225. package/dist/schemas/priceInput.json +104 -0
  226. package/dist/schemas/progress.json +63 -0
  227. package/dist/schemas/radioGroup.json +19 -9
  228. package/dist/schemas/radioItem.json +12 -5
  229. package/dist/schemas/select.json +15 -9
  230. package/dist/schemas/selectItem.json +7 -4
  231. package/dist/schemas/skeleton.json +12 -6
  232. package/dist/schemas/slider.json +78 -0
  233. package/dist/schemas/spinner.json +11 -4
  234. package/dist/schemas/stepper.json +73 -0
  235. package/dist/schemas/switch.json +23 -5
  236. package/dist/schemas/tab.json +17 -14
  237. package/dist/schemas/table.json +75 -0
  238. package/dist/schemas/tableRow.json +32 -0
  239. package/dist/schemas/tagInput.json +70 -0
  240. package/dist/schemas/tdColumn.json +107 -0
  241. package/dist/schemas/textArea.json +72 -7
  242. package/dist/schemas/textInput.json +72 -10
  243. package/dist/schemas/themeProvider.json +65 -0
  244. package/dist/schemas/toastOptions.json +81 -0
  245. package/dist/schemas/toaster.json +76 -0
  246. package/dist/schemas/toggleGroup.json +88 -0
  247. package/dist/schemas/tooltip.json +12 -9
  248. package/dist/schemas/virtualGrid.json +22 -11
  249. package/dist/schemas/virtualList.json +14 -8
  250. package/dist/schemas.d.mts +1360 -81
  251. package/dist/schemas.d.ts +1360 -81
  252. package/dist/schemas.js +725 -273
  253. package/dist/schemas.mjs +698 -273
  254. package/dist/select.js +6 -6
  255. package/dist/select.mjs +2 -2
  256. package/dist/skeleton.js +3 -3
  257. package/dist/skeleton.mjs +2 -2
  258. package/dist/slider.d.mts +20 -0
  259. package/dist/slider.d.ts +20 -0
  260. package/dist/slider.js +16 -0
  261. package/dist/slider.mjs +3 -0
  262. package/dist/spinner.js +3 -3
  263. package/dist/spinner.mjs +2 -2
  264. package/dist/stepper.d.mts +20 -0
  265. package/dist/stepper.d.ts +20 -0
  266. package/dist/stepper.js +16 -0
  267. package/dist/stepper.mjs +3 -0
  268. package/dist/styles/layer.d.mts +3 -0
  269. package/dist/styles/layer.d.ts +3 -0
  270. package/dist/styles/layer.js +18 -0
  271. package/dist/styles/layer.mjs +16 -0
  272. package/dist/styles.css +3872 -2
  273. package/dist/styles.js +2 -5
  274. package/dist/styles.layered.css +3875 -0
  275. package/dist/styles.mjs +1 -4
  276. package/dist/switch.js +4 -4
  277. package/dist/switch.mjs +2 -2
  278. package/dist/tab.js +5 -5
  279. package/dist/tab.mjs +2 -2
  280. package/dist/table.d.mts +2 -2
  281. package/dist/table.d.ts +2 -2
  282. package/dist/table.js +9 -9
  283. package/dist/table.mjs +3 -3
  284. package/dist/tag-input.d.mts +21 -0
  285. package/dist/tag-input.d.ts +21 -0
  286. package/dist/tag-input.js +16 -0
  287. package/dist/tag-input.mjs +3 -0
  288. package/dist/text-area.d.mts +5 -1
  289. package/dist/text-area.d.ts +5 -1
  290. package/dist/text-area.js +4 -4
  291. package/dist/text-area.mjs +2 -2
  292. package/dist/text-input.d.mts +5 -1
  293. package/dist/text-input.d.ts +5 -1
  294. package/dist/text-input.js +4 -4
  295. package/dist/text-input.mjs +2 -2
  296. package/dist/toast.js +5 -5
  297. package/dist/toast.mjs +2 -2
  298. package/dist/toggle-group.d.mts +36 -0
  299. package/dist/toggle-group.d.ts +36 -0
  300. package/dist/toggle-group.js +16 -0
  301. package/dist/toggle-group.mjs +3 -0
  302. package/dist/tooltip.js +5 -5
  303. package/dist/tooltip.mjs +2 -2
  304. package/dist/utils/cn.d.mts +0 -10
  305. package/dist/utils/cn.d.ts +0 -10
  306. package/dist/utils/cn.js +2 -2
  307. package/dist/utils/cn.mjs +1 -1
  308. package/dist/virtual-scroll.js +4 -4
  309. package/dist/virtual-scroll.mjs +2 -2
  310. package/package.json +90 -17
  311. package/scripts/setup-cursor-rules.cjs +6 -6
  312. package/dist/chunks/chunk-7MT3QYE6.js +0 -92
  313. package/dist/chunks/chunk-FA2OPP3U.mjs +0 -140
  314. package/dist/chunks/chunk-FKZI2HTI.js +0 -104
  315. package/dist/chunks/chunk-NCQDOPBR.mjs +0 -86
  316. package/dist/chunks/chunk-NTN55ZIX.mjs +0 -113
  317. package/dist/chunks/chunk-Q7GQVAYY.js +0 -88
  318. package/dist/chunks/chunk-QJNQCLMV.js +0 -25
  319. package/dist/chunks/chunk-UDQXLI5Y.mjs +0 -81
  320. package/dist/chunks/chunk-UR6JOKVB.mjs +0 -65
  321. package/dist/chunks/chunk-WVIEIRK2.js +0 -136
  322. package/dist/chunks/chunk-XALPBGSC.mjs +0 -23
  323. package/dist/schemas/typography.json +0 -70
  324. package/dist/typography.d.mts +0 -19
  325. package/dist/typography.d.ts +0 -19
  326. package/dist/typography.js +0 -102
  327. package/dist/typography.mjs +0 -79
@@ -1,49 +1,22 @@
1
- import { cn } from './chunk-XALPBGSC.mjs';
1
+ import { cn } from './chunk-MCKOWMLS.mjs';
2
2
  import * as React from 'react';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { jsx, jsxs } from 'react/jsx-runtime';
5
5
 
6
- var radioGroupVariants = cva("nx:flex", {
6
+ var radioGroupVariants = cva("nexus-radio-group", {
7
7
  variants: {
8
8
  orientation: {
9
- horizontal: "nx:flex-row nx:gap-4",
10
- vertical: "nx:flex-col nx:gap-2"
9
+ horizontal: "nexus-radio-group--horizontal",
10
+ vertical: "nexus-radio-group--vertical"
11
11
  }
12
12
  },
13
13
  defaultVariants: { orientation: "vertical" }
14
14
  });
15
- var radioItemVariants = cva(
16
- "nx:inline-flex nx:items-center nx:gap-2 nx:select-none",
17
- {
18
- variants: {
19
- size: {
20
- sm: "nx:text-xs",
21
- md: "nx:text-sm"
22
- }
23
- },
24
- defaultVariants: { size: "md" }
25
- }
26
- );
27
- var circleVariants = cva(
28
- [
29
- "nx:inline-flex nx:shrink-0 nx:items-center nx:justify-center nx:rounded-full nx:border nx:transition-colors nx:duration-150",
30
- "nx:peer-disabled:opacity-50 nx:peer-disabled:cursor-not-allowed"
31
- ],
32
- {
33
- variants: {
34
- size: {
35
- sm: "nx:size-4",
36
- md: "nx:size-5"
37
- }
38
- },
39
- defaultVariants: { size: "md" }
40
- }
41
- );
42
- var dotVariants = cva("nx:rounded-full nx:bg-current", {
15
+ var radioItemVariants = cva("nexus-radio-item", {
43
16
  variants: {
44
17
  size: {
45
- sm: "nx:size-1.5",
46
- md: "nx:size-2"
18
+ sm: "nexus-radio-item--sm",
19
+ md: "nexus-radio-item--md"
47
20
  }
48
21
  },
49
22
  defaultVariants: { size: "md" }
@@ -114,7 +87,7 @@ var RadioItem = React.forwardRef(
114
87
  {
115
88
  className: cn(
116
89
  radioItemVariants({ size }),
117
- disabled ? "nx:cursor-not-allowed nx:opacity-50" : "nx:cursor-pointer",
90
+ disabled ? "nexus-radio-item--disabled" : "nexus-radio-item--pointer",
118
91
  className
119
92
  ),
120
93
  children: [
@@ -123,7 +96,7 @@ var RadioItem = React.forwardRef(
123
96
  {
124
97
  ref,
125
98
  type: "radio",
126
- className: "nx:peer nx:sr-only",
99
+ className: "nexus-sr-only",
127
100
  name: ctx.name,
128
101
  value,
129
102
  checked,
@@ -136,13 +109,22 @@ var RadioItem = React.forwardRef(
136
109
  "span",
137
110
  {
138
111
  className: cn(
139
- circleVariants({ size }),
140
- checked ? "nx:border-accent-primary nx:text-accent-primary" : "nx:border-border-default nx:bg-surface-default"
112
+ size === "sm" ? "nexus-radio__circle--sm" : "nexus-radio__circle--md",
113
+ "nexus-radio__circle",
114
+ checked ? "nexus-radio__circle--checked" : "nexus-radio__circle--unchecked"
141
115
  ),
142
- children: checked && /* @__PURE__ */ jsx("span", { className: dotVariants({ size }) })
116
+ children: checked && /* @__PURE__ */ jsx(
117
+ "span",
118
+ {
119
+ className: cn(
120
+ "nexus-radio__dot",
121
+ size === "sm" ? "nexus-radio__dot--sm" : "nexus-radio__dot--md"
122
+ )
123
+ }
124
+ )
143
125
  }
144
126
  ),
145
- content && /* @__PURE__ */ jsx("span", { className: "nx:text-text-primary", children: content })
127
+ content && /* @__PURE__ */ jsx("span", { className: "nexus-radio__label", children: content })
146
128
  ]
147
129
  }
148
130
  );
@@ -1,7 +1,7 @@
1
- import { cn } from './chunk-XALPBGSC.mjs';
1
+ import { cn } from './chunk-MCKOWMLS.mjs';
2
2
  import * as React from 'react';
3
3
  import useEmblaCarousel from 'embla-carousel-react';
4
- import { jsx } from 'react/jsx-runtime';
4
+ import { jsx, jsxs } from 'react/jsx-runtime';
5
5
 
6
6
  var CarouselContext = React.createContext(null);
7
7
  function useCarousel() {
@@ -39,11 +39,23 @@ var Carousel = React.forwardRef(
39
39
  }, [api, onSelect, onApiChange]);
40
40
  const scrollPrev = React.useCallback(() => api?.scrollPrev(), [api]);
41
41
  const scrollNext = React.useCallback(() => api?.scrollNext(), [api]);
42
+ const slides = [];
43
+ const extras = [];
44
+ React.Children.forEach(children, (child) => {
45
+ if (React.isValidElement(child) && typeof child.type !== "string" && child.type.displayName === "CarouselSlide") {
46
+ slides.push(child);
47
+ } else {
48
+ extras.push(child);
49
+ }
50
+ });
42
51
  return /* @__PURE__ */ jsx(
43
52
  CarouselContext.Provider,
44
53
  {
45
54
  value: { api, canScrollPrev, canScrollNext, scrollPrev, scrollNext, selectedIndex, scrollSnapCount },
46
- children: /* @__PURE__ */ jsx("div", { ref, className: cn("nx:relative", className), role: "region", "aria-roledescription": "carousel", "aria-label": props["aria-label"] ?? "Carousel", ...props, children: /* @__PURE__ */ jsx("div", { ref: emblaRef, className: "nx:overflow-hidden", children: /* @__PURE__ */ jsx("div", { className: "nx:flex", children }) }) })
55
+ children: /* @__PURE__ */ jsxs("div", { ref, className: cn("nexus-carousel", className), role: "region", "aria-roledescription": "carousel", "aria-label": props["aria-label"] ?? "Carousel", ...props, children: [
56
+ /* @__PURE__ */ jsx("div", { ref: emblaRef, className: "nexus-carousel__viewport", children: /* @__PURE__ */ jsx("div", { className: "nexus-carousel__container", children: slides }) }),
57
+ extras
58
+ ] })
47
59
  }
48
60
  );
49
61
  }
@@ -56,14 +68,14 @@ var CarouselSlide = React.forwardRef(
56
68
  ref,
57
69
  role: "group",
58
70
  "aria-roledescription": "slide",
59
- className: cn("nx:min-w-0 nx:shrink-0 nx:grow-0 nx:basis-full", className),
71
+ className: cn("nexus-carousel-slide", className),
60
72
  ...props
61
73
  }
62
74
  )
63
75
  );
64
76
  CarouselSlide.displayName = "CarouselSlide";
65
- var ChevronLeftIcon = () => /* @__PURE__ */ jsx("svg", { className: "nx:size-4", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("path", { d: "M10 4L6 8l4 4" }) });
66
- var ChevronRightIcon = () => /* @__PURE__ */ jsx("svg", { className: "nx:size-4", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("path", { d: "M6 4l4 4-4 4" }) });
77
+ var ChevronLeftIcon = () => /* @__PURE__ */ jsx("svg", { className: "nexus-carousel-btn__icon", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("path", { d: "M10 4L6 8l4 4" }) });
78
+ var ChevronRightIcon = () => /* @__PURE__ */ jsx("svg", { className: "nexus-carousel-btn__icon", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("path", { d: "M6 4l4 4-4 4" }) });
67
79
  var CarouselPrev = React.forwardRef(
68
80
  ({ className, children, ...props }, ref) => {
69
81
  const { canScrollPrev, scrollPrev } = useCarousel();
@@ -72,14 +84,7 @@ var CarouselPrev = React.forwardRef(
72
84
  {
73
85
  ref,
74
86
  type: "button",
75
- className: cn(
76
- "nx:absolute nx:left-2 nx:top-1/2 nx:-translate-y-1/2 nx:z-10",
77
- "nx:size-8 nx:inline-flex nx:items-center nx:justify-center nx:rounded-full",
78
- "nx:bg-surface-default nx:border nx:border-border-default nx:shadow-sm",
79
- "nx:text-text-primary nx:hover:bg-surface-hover nx:transition-colors",
80
- "nx:disabled:opacity-40 nx:disabled:pointer-events-none",
81
- className
82
- ),
87
+ className: cn("nexus-carousel-btn nexus-carousel-btn--prev", className),
83
88
  disabled: !canScrollPrev,
84
89
  onClick: scrollPrev,
85
90
  "aria-label": "Previous slide",
@@ -98,14 +103,7 @@ var CarouselNext = React.forwardRef(
98
103
  {
99
104
  ref,
100
105
  type: "button",
101
- className: cn(
102
- "nx:absolute nx:right-2 nx:top-1/2 nx:-translate-y-1/2 nx:z-10",
103
- "nx:size-8 nx:inline-flex nx:items-center nx:justify-center nx:rounded-full",
104
- "nx:bg-surface-default nx:border nx:border-border-default nx:shadow-sm",
105
- "nx:text-text-primary nx:hover:bg-surface-hover nx:transition-colors",
106
- "nx:disabled:opacity-40 nx:disabled:pointer-events-none",
107
- className
108
- ),
106
+ className: cn("nexus-carousel-btn nexus-carousel-btn--next", className),
109
107
  disabled: !canScrollNext,
110
108
  onClick: scrollNext,
111
109
  "aria-label": "Next slide",
@@ -118,15 +116,15 @@ var CarouselNext = React.forwardRef(
118
116
  CarouselNext.displayName = "CarouselNext";
119
117
  function CarouselDots({ className }) {
120
118
  const { selectedIndex, scrollSnapCount, api } = useCarousel();
121
- return /* @__PURE__ */ jsx("div", { role: "tablist", "aria-label": "Slide navigation", className: cn("nx:flex nx:justify-center nx:gap-1.5 nx:mt-3", className), children: Array.from({ length: scrollSnapCount }, (_, i) => /* @__PURE__ */ jsx(
119
+ return /* @__PURE__ */ jsx("div", { role: "tablist", "aria-label": "Slide navigation", className: cn("nexus-carousel-dots", className), children: Array.from({ length: scrollSnapCount }, (_, i) => /* @__PURE__ */ jsx(
122
120
  "button",
123
121
  {
124
122
  type: "button",
125
123
  role: "tab",
126
124
  "aria-selected": i === selectedIndex,
127
125
  className: cn(
128
- "nx:size-2 nx:rounded-full nx:transition-colors",
129
- i === selectedIndex ? "nx:bg-accent-primary" : "nx:bg-border-default nx:hover:bg-text-tertiary"
126
+ "nexus-carousel-dot",
127
+ i === selectedIndex ? "nexus-carousel-dot--active" : "nexus-carousel-dot--inactive"
130
128
  ),
131
129
  onClick: () => api?.scrollTo(i),
132
130
  "aria-label": `Go to slide ${i + 1}`
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkQJNQCLMV_js = require('./chunk-QJNQCLMV.js');
3
+ var chunkCZC76ZD5_js = require('./chunk-CZC76ZD5.js');
4
4
  var React = require('react');
5
5
  var classVarianceAuthority = require('class-variance-authority');
6
6
  var jsxRuntime = require('react/jsx-runtime');
@@ -25,16 +25,16 @@ function _interopNamespace(e) {
25
25
 
26
26
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
27
27
 
28
- var dividerVariants = classVarianceAuthority.cva("nx:shrink-0 nx:border-border-default", {
28
+ var dividerVariants = classVarianceAuthority.cva("nexus-divider", {
29
29
  variants: {
30
30
  orientation: {
31
- horizontal: "nx:w-full nx:border-t",
32
- vertical: "nx:self-stretch nx:border-l"
31
+ horizontal: "nexus-divider--horizontal",
32
+ vertical: "nexus-divider--vertical"
33
33
  },
34
34
  variant: {
35
- solid: "nx:border-solid",
36
- dashed: "nx:border-dashed",
37
- dotted: "nx:border-dotted"
35
+ solid: "nexus-divider--solid",
36
+ dashed: "nexus-divider--dashed",
37
+ dotted: "nexus-divider--dotted"
38
38
  }
39
39
  },
40
40
  defaultVariants: {
@@ -49,7 +49,7 @@ var Divider = React__namespace.forwardRef(
49
49
  ref,
50
50
  role: "separator",
51
51
  "aria-orientation": orientation ?? "horizontal",
52
- className: chunkQJNQCLMV_js.cn(dividerVariants({ orientation, variant }), className),
52
+ className: chunkCZC76ZD5_js.cn(dividerVariants({ orientation, variant }), className),
53
53
  style: { ...style, ...color ? { borderColor: color } : {} },
54
54
  ...props
55
55
  }
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var chunkCZC76ZD5_js = require('./chunk-CZC76ZD5.js');
4
+ var React = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n.default = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
26
+
27
+ var ChevronRight = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { className, viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 4l4 4-4 4", strokeLinecap: "round", strokeLinejoin: "round" }) });
28
+ var Breadcrumb = React__namespace.forwardRef(
29
+ ({ className, items, separator, maxItems, ...props }, ref) => {
30
+ let displayItems = items;
31
+ let collapsed = false;
32
+ if (maxItems && maxItems > 2 && items.length > maxItems) {
33
+ displayItems = [
34
+ items[0],
35
+ { label: "..." },
36
+ ...items.slice(-(maxItems - 2))
37
+ ];
38
+ collapsed = true;
39
+ }
40
+ const sep = separator ?? /* @__PURE__ */ jsxRuntime.jsx(ChevronRight, { className: "nexus-breadcrumb__separator-icon" });
41
+ return /* @__PURE__ */ jsxRuntime.jsx("nav", { ref, "aria-label": "Breadcrumb", className: chunkCZC76ZD5_js.cn("nexus-breadcrumb", className), ...props, children: /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "nexus-breadcrumb__list", children: displayItems.map((item, i) => {
42
+ const isLast = i === displayItems.length - 1;
43
+ const isCollapsed = collapsed && i === 1;
44
+ return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "nexus-breadcrumb__item", children: [
45
+ i > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "nexus-breadcrumb__separator", "aria-hidden": "true", children: sep }),
46
+ isCollapsed ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "nexus-breadcrumb__ellipsis", children: "\u2026" }) : isLast ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "nexus-breadcrumb__current", "aria-current": "page", children: item.label }) : item.href ? /* @__PURE__ */ jsxRuntime.jsx("a", { href: item.href, className: "nexus-breadcrumb__link", onClick: item.onClick, children: item.label }) : item.onClick ? /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: "nexus-breadcrumb__link nexus-breadcrumb__link--btn", onClick: item.onClick, children: item.label }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "nexus-breadcrumb__link", children: item.label })
47
+ ] }, i);
48
+ }) }) });
49
+ }
50
+ );
51
+ Breadcrumb.displayName = "Breadcrumb";
52
+
53
+ exports.Breadcrumb = Breadcrumb;
@@ -0,0 +1,224 @@
1
+ 'use strict';
2
+
3
+ var chunkCZC76ZD5_js = require('./chunk-CZC76ZD5.js');
4
+ var React = require('react');
5
+ var classVarianceAuthority = require('class-variance-authority');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n.default = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
27
+
28
+ function formatWithComma(value) {
29
+ if (!value) return value;
30
+ const [intPart, decPart] = value.split(".");
31
+ const formatted = intPart.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
32
+ return decPart !== void 0 ? `${formatted}.${decPart}` : formatted;
33
+ }
34
+ function stripComma(value) {
35
+ return value.replace(/,/g, "");
36
+ }
37
+ var priceInputVariants = classVarianceAuthority.cva("nexus-price-input", {
38
+ variants: {
39
+ size: {
40
+ md: "nexus-price-input--md",
41
+ lg: "nexus-price-input--lg",
42
+ xl: "nexus-price-input--xl"
43
+ },
44
+ state: {
45
+ default: "nexus-price-input--default",
46
+ error: "nexus-price-input--error"
47
+ }
48
+ },
49
+ defaultVariants: { size: "md", state: "default" }
50
+ });
51
+ var PriceInput = React__namespace.forwardRef(
52
+ ({
53
+ className,
54
+ size,
55
+ error,
56
+ prefix = true,
57
+ suffix,
58
+ label,
59
+ description,
60
+ balance,
61
+ balanceLabel = "Balance",
62
+ balanceContent,
63
+ maxBalance,
64
+ separator = false,
65
+ align = "left",
66
+ onValueChange,
67
+ onBalanceClick,
68
+ onChange,
69
+ value: controlledValue,
70
+ disabled,
71
+ id,
72
+ ...props
73
+ }, ref) => {
74
+ const fallbackId = React__namespace.useRef(
75
+ `nexus-pi-${Math.random().toString(36).slice(2, 9)}`
76
+ );
77
+ const inputId = id || fallbackId.current;
78
+ const inputRef = React__namespace.useRef(null);
79
+ const setInputRef = React__namespace.useCallback(
80
+ (node) => {
81
+ inputRef.current = node;
82
+ if (typeof ref === "function") ref(node);
83
+ else if (ref)
84
+ ref.current = node;
85
+ },
86
+ [ref]
87
+ );
88
+ const isControlled = controlledValue !== void 0;
89
+ const [internalValue, setInternalValue] = React__namespace.useState("");
90
+ const currentValue = isControlled ? String(controlledValue) : internalValue;
91
+ const numericValue = currentValue !== "" ? parseFloat(currentValue) : NaN;
92
+ const isExceeded = maxBalance !== void 0 && !Number.isNaN(numericValue) && numericValue > maxBalance;
93
+ const hasError = error || isExceeded;
94
+ const state = hasError ? "error" : "default";
95
+ const prefixContent = prefix === true ? "$" : prefix === false ? null : prefix;
96
+ const hasHeader = !!(label || balance !== void 0);
97
+ const hasField = hasHeader || !!description;
98
+ const handleChange = React__namespace.useCallback(
99
+ (e) => {
100
+ const rawInput = e.target.value;
101
+ const raw = separator ? stripComma(rawInput) : rawInput;
102
+ if (!isControlled) setInternalValue(raw);
103
+ onValueChange?.(raw);
104
+ onChange?.(e);
105
+ if (separator && inputRef.current) {
106
+ const cursorPos = e.target.selectionStart ?? 0;
107
+ const commasBefore = (rawInput.slice(0, cursorPos).match(/,/g) || []).length;
108
+ const formatted = formatWithComma(raw);
109
+ const el = inputRef.current;
110
+ requestAnimationFrame(() => {
111
+ el.value = formatted;
112
+ const commasAfter = (formatted.slice(0, cursorPos).match(/,/g) || []).length;
113
+ const newPos = cursorPos + (commasAfter - commasBefore);
114
+ el.setSelectionRange(newPos, newPos);
115
+ });
116
+ }
117
+ },
118
+ [isControlled, onValueChange, onChange, separator]
119
+ );
120
+ const handleBalanceClick = React__namespace.useCallback(() => {
121
+ if (disabled || balance === void 0) return;
122
+ const balanceStr = String(balance);
123
+ const input = inputRef.current;
124
+ if (input) {
125
+ const setter = Object.getOwnPropertyDescriptor(
126
+ HTMLInputElement.prototype,
127
+ "value"
128
+ )?.set;
129
+ if (setter) {
130
+ setter.call(input, balanceStr);
131
+ input.dispatchEvent(new Event("input", { bubbles: true }));
132
+ }
133
+ }
134
+ if (!isControlled) setInternalValue(balanceStr);
135
+ onValueChange?.(balanceStr);
136
+ onBalanceClick?.(balance);
137
+ input?.focus();
138
+ }, [disabled, balance, isControlled, onValueChange, onBalanceClick]);
139
+ const handleWrapperClick = React__namespace.useCallback(() => {
140
+ if (!disabled) inputRef.current?.focus();
141
+ }, [disabled]);
142
+ const inputBox = /* @__PURE__ */ jsxRuntime.jsxs(
143
+ "div",
144
+ {
145
+ className: chunkCZC76ZD5_js.cn(
146
+ priceInputVariants({ size, state }),
147
+ disabled && "nexus-price-input--disabled",
148
+ !hasField && className
149
+ ),
150
+ onClick: handleWrapperClick,
151
+ children: [
152
+ prefixContent && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "nexus-price-input__prefix", children: prefixContent }),
153
+ /* @__PURE__ */ jsxRuntime.jsx(
154
+ "input",
155
+ {
156
+ ref: setInputRef,
157
+ id: label ? inputId : id,
158
+ className: chunkCZC76ZD5_js.cn(
159
+ "nexus-price-input__inner",
160
+ align === "right" && "nexus-price-input__inner--right"
161
+ ),
162
+ disabled,
163
+ "aria-invalid": hasError || void 0,
164
+ "aria-describedby": description ? `${inputId}-desc` : void 0,
165
+ value: isControlled ? separator ? formatWithComma(String(controlledValue)) : controlledValue : void 0,
166
+ defaultValue: !isControlled ? void 0 : void 0,
167
+ onChange: handleChange,
168
+ inputMode: "decimal",
169
+ ...props
170
+ }
171
+ ),
172
+ suffix && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "nexus-price-input__suffix", children: suffix })
173
+ ]
174
+ }
175
+ );
176
+ if (!hasField) return inputBox;
177
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkCZC76ZD5_js.cn("nexus-price-input-field", className), children: [
178
+ hasHeader && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nexus-price-input-field__header", children: [
179
+ label && /* @__PURE__ */ jsxRuntime.jsx(
180
+ "label",
181
+ {
182
+ className: "nexus-price-input-field__label",
183
+ htmlFor: inputId,
184
+ children: label
185
+ }
186
+ ),
187
+ balance !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(
188
+ "button",
189
+ {
190
+ type: "button",
191
+ className: "nexus-price-input-field__balance",
192
+ onClick: handleBalanceClick,
193
+ disabled,
194
+ tabIndex: -1,
195
+ children: balanceContent ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
196
+ balanceLabel,
197
+ " ",
198
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkCZC76ZD5_js.cn(
199
+ "nexus-price-input-field__balance-value",
200
+ isExceeded && "nexus-price-input-field__balance-value--exceeded"
201
+ ), children: balance })
202
+ ] })
203
+ }
204
+ )
205
+ ] }),
206
+ inputBox,
207
+ description && /* @__PURE__ */ jsxRuntime.jsx(
208
+ "p",
209
+ {
210
+ id: `${inputId}-desc`,
211
+ className: chunkCZC76ZD5_js.cn(
212
+ "nexus-price-input-field__description",
213
+ hasError && "nexus-price-input-field__description--error"
214
+ ),
215
+ children: description
216
+ }
217
+ )
218
+ ] });
219
+ }
220
+ );
221
+ PriceInput.displayName = "PriceInput";
222
+
223
+ exports.PriceInput = PriceInput;
224
+ exports.priceInputVariants = priceInputVariants;
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunkQJNQCLMV_js = require('./chunk-QJNQCLMV.js');
3
+ var chunkCZC76ZD5_js = require('./chunk-CZC76ZD5.js');
4
4
  var react = require('react');
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
 
7
- var DefaultSpinner = () => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nx:flex nx:items-center nx:justify-center nx:py-4", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nx:h-6 nx:w-6 nx:animate-spin nx:rounded-full nx:border-2 nx:border-border-default nx:border-t-accent-primary" }) });
7
+ var DefaultSpinner = () => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nexus-infinite-spinner", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nexus-infinite-spinner-icon" }) });
8
8
  var InfiniteScroll = ({
9
9
  className = "",
10
10
  tag = "div",
@@ -74,9 +74,9 @@ var InfiniteScroll = ({
74
74
  react.useEffect(() => {
75
75
  loadingRef.current = loading;
76
76
  }, [loading]);
77
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkQJNQCLMV_js.cn("nx:relative", className), children: [
77
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkCZC76ZD5_js.cn("nexus-infinite-scroll", className), children: [
78
78
  react.createElement(tag, null, children),
79
- /* @__PURE__ */ jsxRuntime.jsx("div", { ref: target, className: "nx:relative nx:h-px nx:w-full", children: loading && (list ?? []).length > 0 && loadingElement })
79
+ /* @__PURE__ */ jsxRuntime.jsx("div", { ref: target, className: "nexus-infinite-sentinel", role: "status", "aria-live": "polite", children: loading && (list ?? []).length > 0 && loadingElement })
80
80
  ] });
81
81
  };
82
82
 
@@ -0,0 +1,99 @@
1
+ 'use strict';
2
+
3
+ var chunkCZC76ZD5_js = require('./chunk-CZC76ZD5.js');
4
+ var React = require('react');
5
+ var classVarianceAuthority = require('class-variance-authority');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n.default = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
27
+
28
+ var alertVariants = classVarianceAuthority.cva("nexus-alert", {
29
+ variants: {
30
+ variant: {
31
+ info: "nexus-alert--info",
32
+ success: "nexus-alert--success",
33
+ warning: "nexus-alert--warning",
34
+ danger: "nexus-alert--danger"
35
+ }
36
+ },
37
+ defaultVariants: {
38
+ variant: "info"
39
+ }
40
+ });
41
+ var statusIcons = {
42
+ info: ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { className, viewBox: "0 0 20 20", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z", clipRule: "evenodd" }) }),
43
+ success: ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { className, viewBox: "0 0 20 20", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z", clipRule: "evenodd" }) }),
44
+ warning: ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { className, viewBox: "0 0 20 20", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { fillRule: "evenodd", d: "M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z", clipRule: "evenodd" }) }),
45
+ danger: ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { className, viewBox: "0 0 20 20", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z", clipRule: "evenodd" }) })
46
+ };
47
+ var CloseIcon = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { className, viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 4l8 8M12 4l-8 8", strokeLinecap: "round" }) });
48
+ var Alert = React__namespace.forwardRef(
49
+ ({
50
+ className,
51
+ children,
52
+ variant = "info",
53
+ title,
54
+ icon,
55
+ closable = false,
56
+ onClose,
57
+ action,
58
+ ...props
59
+ }, ref) => {
60
+ const [visible, setVisible] = React__namespace.useState(true);
61
+ const handleClose = React__namespace.useCallback(() => {
62
+ setVisible(false);
63
+ onClose?.();
64
+ }, [onClose]);
65
+ if (!visible) return null;
66
+ const IconComp = icon === void 0 ? statusIcons[variant ?? "info"] : null;
67
+ return /* @__PURE__ */ jsxRuntime.jsxs(
68
+ "div",
69
+ {
70
+ ref,
71
+ role: "alert",
72
+ className: chunkCZC76ZD5_js.cn(alertVariants({ variant }), className),
73
+ ...props,
74
+ children: [
75
+ (icon || IconComp) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "nexus-alert__icon", children: icon ?? (IconComp && /* @__PURE__ */ jsxRuntime.jsx(IconComp, { className: "nexus-alert__icon-svg" })) }),
76
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nexus-alert__body", children: [
77
+ title && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "nexus-alert__title", children: title }),
78
+ children && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nexus-alert__description", children })
79
+ ] }),
80
+ action && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nexus-alert__action", children: action }),
81
+ closable && /* @__PURE__ */ jsxRuntime.jsx(
82
+ "button",
83
+ {
84
+ type: "button",
85
+ className: "nexus-alert__close",
86
+ onClick: handleClose,
87
+ "aria-label": "Close",
88
+ children: /* @__PURE__ */ jsxRuntime.jsx(CloseIcon, { className: "nexus-alert__close-icon" })
89
+ }
90
+ )
91
+ ]
92
+ }
93
+ );
94
+ }
95
+ );
96
+ Alert.displayName = "Alert";
97
+
98
+ exports.Alert = Alert;
99
+ exports.alertVariants = alertVariants;