@nexub/react 1.3.0 → 1.4.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 (201) hide show
  1. package/dist/{chunk-BYF223HT.js → chunk-2555JXCP.js} +1 -1
  2. package/dist/{chunk-6AZP6VBM.js → chunk-2FCSWBSM.js} +1 -1
  3. package/dist/{chunk-YJD66LTV.js → chunk-3AXIMXDU.js} +1 -1
  4. package/dist/{chunk-H4MXRAXP.js → chunk-3LP2CR7F.js} +1 -1
  5. package/dist/chunk-3TMIZQPR.js +49 -0
  6. package/dist/chunk-47UGX37F.js +21 -0
  7. package/dist/{chunk-PANDAMD2.js → chunk-4I5ULCYG.js} +1 -1
  8. package/dist/{chunk-3U54QLYB.js → chunk-4SSUM4CL.js} +1 -1
  9. package/dist/{chunk-KZW37FQZ.js → chunk-56FERRWW.js} +1 -1
  10. package/dist/{chunk-YUNWZAAD.js → chunk-5URGARPH.js} +8 -3
  11. package/dist/{chunk-QF7GUDOE.js → chunk-63DPMUMR.js} +1 -1
  12. package/dist/{chunk-BMVAZIAJ.js → chunk-6J3QTWKC.js} +1 -1
  13. package/dist/{chunk-2RLSIOGB.js → chunk-6QLLH6ID.js} +21 -11
  14. package/dist/{chunk-KWWV3CM3.js → chunk-6RBNM5RO.js} +1 -1
  15. package/dist/{chunk-WPPNDU2E.js → chunk-6SJPVQQW.js} +7 -6
  16. package/dist/{chunk-NAIZ7R2L.js → chunk-72I7EVOL.js} +1 -1
  17. package/dist/{chunk-UWWL5FPC.js → chunk-7Q7ZF6BY.js} +1 -1
  18. package/dist/chunk-7SXR4PGO.js +31 -0
  19. package/dist/{chunk-W4IEXUD4.js → chunk-7ZWBHHRK.js} +14 -11
  20. package/dist/{chunk-PER3O4FD.js → chunk-A4IMFAZX.js} +1 -1
  21. package/dist/{chunk-E3QPDCEV.js → chunk-AEBYQKLS.js} +34 -7
  22. package/dist/chunk-AHT35UWY.js +92 -0
  23. package/dist/chunk-B54WADL4.js +103 -0
  24. package/dist/{chunk-CMYEVLQT.js → chunk-BFRX6X4O.js} +9 -7
  25. package/dist/{chunk-KBB7M6WO.js → chunk-BTRTORKU.js} +1 -1
  26. package/dist/{chunk-TCTFQYLH.js → chunk-CHGPGRML.js} +1 -1
  27. package/dist/{chunk-U3AEA4BZ.js → chunk-CNNJFWFA.js} +1 -1
  28. package/dist/chunk-CWS37T3K.js +80 -0
  29. package/dist/chunk-DEIBF3P7.js +8 -0
  30. package/dist/{chunk-RIDDJUPA.js → chunk-DJZZ3FIP.js} +13 -4
  31. package/dist/{chunk-K7CUCLLI.js → chunk-DYWJ7BIK.js} +2 -2
  32. package/dist/{chunk-6Y734SXN.js → chunk-E4JM3HUM.js} +1 -1
  33. package/dist/{chunk-POFKKYHY.js → chunk-EQNETGTV.js} +1 -1
  34. package/dist/{chunk-BBVOB4EC.js → chunk-EZ23IA3H.js} +1 -1
  35. package/dist/{chunk-LOP63AVE.js → chunk-FD7YU53N.js} +1 -1
  36. package/dist/{chunk-CPV367VS.js → chunk-FHFVBOF3.js} +1 -1
  37. package/dist/chunk-GHCV6UXG.js +57 -0
  38. package/dist/{chunk-UALYS4XI.js → chunk-GIGOTRXX.js} +9 -4
  39. package/dist/{chunk-BTZW34TX.js → chunk-GRB6T2TT.js} +7 -6
  40. package/dist/chunk-GUB7YKG2.js +35 -0
  41. package/dist/{chunk-POBSY7EZ.js → chunk-H2W7IYVY.js} +1 -1
  42. package/dist/{chunk-I5Z3A7N3.js → chunk-HG6HTUWU.js} +2 -2
  43. package/dist/{chunk-DEH2Z27F.js → chunk-HJERFB7J.js} +1 -1
  44. package/dist/{chunk-FUJOSPNQ.js → chunk-I4URNMI7.js} +1 -1
  45. package/dist/{chunk-24CZFBTG.js → chunk-IIPYF6ZQ.js} +1 -1
  46. package/dist/{chunk-CVBAWKNG.js → chunk-IK23Q2OF.js} +32 -27
  47. package/dist/{chunk-4OCXGNP3.js → chunk-J2T4GFFS.js} +1 -1
  48. package/dist/{chunk-BJKW3G2L.js → chunk-J6TU45KP.js} +1 -1
  49. package/dist/{chunk-ELC2NBGH.js → chunk-JSD3H7WV.js} +1 -1
  50. package/dist/{chunk-46CFSBEO.js → chunk-KA2J5OBA.js} +3 -2
  51. package/dist/{chunk-OUBBOOZE.js → chunk-KM6Z3VTI.js} +1 -1
  52. package/dist/chunk-KQPLFVFR.js +27 -0
  53. package/dist/{chunk-MV7WMQI4.js → chunk-LDYD7WL3.js} +1 -1
  54. package/dist/{chunk-DOHXBNOP.js → chunk-LH3BSAIS.js} +1 -1
  55. package/dist/chunk-LMPGHWUA.js +114 -0
  56. package/dist/chunk-LZB3KTSH.js +61 -0
  57. package/dist/{chunk-BUBYXAJK.js → chunk-M7YB3MSW.js} +1 -1
  58. package/dist/{chunk-V3FZHIEB.js → chunk-NCRFKPA4.js} +1 -1
  59. package/dist/{chunk-QURKXXNS.js → chunk-NDCNVQ47.js} +1 -1
  60. package/dist/{chunk-JKTZMWWC.js → chunk-NIX4SEKM.js} +1 -1
  61. package/dist/{chunk-PBLEGOLM.js → chunk-NMH5WSZG.js} +6 -5
  62. package/dist/{chunk-ZFVBFCYV.js → chunk-NQVRF4RB.js} +1 -1
  63. package/dist/{chunk-IU76LV3W.js → chunk-OASFXI27.js} +6 -6
  64. package/dist/chunk-OJ2TLWYD.js +89 -0
  65. package/dist/{chunk-MY6XUJ5P.js → chunk-OJRSPDNJ.js} +21 -14
  66. package/dist/chunk-P26VJEIW.js +1 -0
  67. package/dist/{chunk-IBCYG6HR.js → chunk-P44EROBX.js} +1 -1
  68. package/dist/{chunk-52KTX5A7.js → chunk-PQ6GU7SG.js} +2 -2
  69. package/dist/{chunk-CZUNTABW.js → chunk-PVTACENM.js} +1 -1
  70. package/dist/{chunk-Y45JAJKW.js → chunk-PWBPHGM3.js} +2 -2
  71. package/dist/chunk-Q7G5WGYV.js +33 -0
  72. package/dist/{chunk-BYCTJHXY.js → chunk-QCNLE27O.js} +2 -2
  73. package/dist/{chunk-7W2YDJ5W.js → chunk-QD7H3WV3.js} +10 -7
  74. package/dist/{chunk-HW3I7I3R.js → chunk-RB4CVS22.js} +1 -1
  75. package/dist/{chunk-ZLSUVZM2.js → chunk-RHOYF7MO.js} +17 -11
  76. package/dist/{chunk-QHJ43Q2T.js → chunk-RLE5RN3T.js} +1 -1
  77. package/dist/{chunk-7B4FS7VQ.js → chunk-RTDUTWJ4.js} +31 -14
  78. package/dist/{chunk-DR2Y3PIT.js → chunk-S46W2QER.js} +1 -1
  79. package/dist/{chunk-LAWZQ6R6.js → chunk-SVQCINRE.js} +1 -1
  80. package/dist/{chunk-6MYVXJPJ.js → chunk-SY6V3HAK.js} +17 -23
  81. package/dist/{chunk-OZPPL76D.js → chunk-T5BS4OIV.js} +1 -1
  82. package/dist/{chunk-VT7RKY46.js → chunk-TEOLG3N2.js} +1 -1
  83. package/dist/{chunk-A7L75YXY.js → chunk-TJCHA3OI.js} +2 -2
  84. package/dist/chunk-TNBBQ7IP.js +43 -0
  85. package/dist/{chunk-IHW2L532.js → chunk-TYTW4F3B.js} +12 -9
  86. package/dist/{chunk-T4IVMVMQ.js → chunk-UMC64NCT.js} +1 -1
  87. package/dist/{chunk-UTBUIBEP.js → chunk-UVWCZHLD.js} +1 -1
  88. package/dist/chunk-V3TETH4J.js +146 -0
  89. package/dist/{chunk-SZKUSLHI.js → chunk-VTL3GJJG.js} +21 -11
  90. package/dist/{chunk-JQDLCN5D.js → chunk-W2NEXOTG.js} +1 -1
  91. package/dist/{chunk-XNDCVVNE.js → chunk-WESZPFBZ.js} +2 -2
  92. package/dist/{chunk-DD6XCW6R.js → chunk-XR4NBY54.js} +1 -1
  93. package/dist/{chunk-YGOR3KT7.js → chunk-YJ3JQYAN.js} +1 -1
  94. package/dist/chunk-YRDCY6BI.js +55 -0
  95. package/dist/{chunk-2VDP2ML4.js → chunk-Z3IG5WRA.js} +10 -9
  96. package/dist/{chunk-YUFCNHZF.js → chunk-ZV3AF5CL.js} +1 -1
  97. package/dist/components/Accordion/index.js +2 -2
  98. package/dist/components/Alert/index.js +2 -2
  99. package/dist/components/AlertDialog/index.js +6 -2
  100. package/dist/components/AppShell/index.js +2 -2
  101. package/dist/components/AspectRatio/index.js +2 -2
  102. package/dist/components/Autocomplete/index.js +3 -3
  103. package/dist/components/Avatar/index.js +2 -2
  104. package/dist/components/AvatarGroup/index.js +3 -3
  105. package/dist/components/Badge/index.js +2 -2
  106. package/dist/components/Banner/index.js +2 -2
  107. package/dist/components/Box/index.js +2 -2
  108. package/dist/components/Breadcrumb/index.js +2 -2
  109. package/dist/components/Button/index.js +5 -2
  110. package/dist/components/ButtonGroup/index.js +2 -2
  111. package/dist/components/Callout/index.js +2 -2
  112. package/dist/components/Card/index.js +3 -3
  113. package/dist/components/CheckList/index.js +2 -2
  114. package/dist/components/Checkbox/index.js +2 -2
  115. package/dist/components/Chip/index.js +2 -2
  116. package/dist/components/Code/index.js +2 -2
  117. package/dist/components/Collapsible/index.js +2 -2
  118. package/dist/components/Combobox/index.js +2 -2
  119. package/dist/components/CommandPalette/index.js +4 -2
  120. package/dist/components/Container/index.js +2 -2
  121. package/dist/components/ContextMenu/index.js +3 -2
  122. package/dist/components/CountryBadge/index.js +3 -3
  123. package/dist/components/DataTable/index.js +2 -2
  124. package/dist/components/DatePicker/index.js +2 -2
  125. package/dist/components/DateRangePicker/index.js +2 -2
  126. package/dist/components/Dialog/index.js +4 -3
  127. package/dist/components/Drawer/index.js +5 -3
  128. package/dist/components/DropdownMenu/index.js +3 -2
  129. package/dist/components/EmptyState/index.js +2 -2
  130. package/dist/components/ErrorState/index.js +2 -2
  131. package/dist/components/EyebrowChip/index.js +2 -2
  132. package/dist/components/FileUpload/index.js +2 -2
  133. package/dist/components/FilterChip/index.js +2 -2
  134. package/dist/components/Flag/index.js +2 -2
  135. package/dist/components/Flex/index.js +2 -2
  136. package/dist/components/FormError/index.js +2 -2
  137. package/dist/components/FormField/index.js +5 -5
  138. package/dist/components/GradientDivider/index.js +2 -2
  139. package/dist/components/Grid/index.js +2 -2
  140. package/dist/components/Heading/index.js +2 -2
  141. package/dist/components/HelperText/index.js +2 -2
  142. package/dist/components/HoverCard/index.js +3 -2
  143. package/dist/components/IconButton/index.js +3 -2
  144. package/dist/components/Input/index.js +3 -2
  145. package/dist/components/Kbd/index.js +2 -2
  146. package/dist/components/KeyboardShortcut/index.js +3 -3
  147. package/dist/components/Label/index.js +2 -2
  148. package/dist/components/Link/index.js +2 -2
  149. package/dist/components/Logo/index.js +2 -2
  150. package/dist/components/Menubar/index.js +3 -2
  151. package/dist/components/NavigationMenu/index.js +3 -2
  152. package/dist/components/NumberInput/index.js +4 -3
  153. package/dist/components/PageHeader/index.js +2 -2
  154. package/dist/components/Pagination/index.js +2 -2
  155. package/dist/components/PasswordInput/index.js +4 -3
  156. package/dist/components/Popover/index.js +4 -3
  157. package/dist/components/Progress/index.js +2 -2
  158. package/dist/components/RadioGroup/index.js +2 -2
  159. package/dist/components/Rating/index.js +2 -2
  160. package/dist/components/ScrollArea/index.js +2 -2
  161. package/dist/components/SearchInput/index.js +4 -3
  162. package/dist/components/Section/index.js +2 -2
  163. package/dist/components/SegmentedControl/index.js +4 -2
  164. package/dist/components/Select/index.js +4 -2
  165. package/dist/components/Separator/index.js +2 -2
  166. package/dist/components/Sidebar/index.js +2 -2
  167. package/dist/components/Skeleton/index.js +2 -2
  168. package/dist/components/Slider/index.js +2 -2
  169. package/dist/components/Spinner/index.js +2 -2
  170. package/dist/components/Stack/index.js +2 -2
  171. package/dist/components/StatusPill/index.js +2 -2
  172. package/dist/components/Switch/index.js +2 -2
  173. package/dist/components/Table/index.js +2 -2
  174. package/dist/components/Tabs/index.js +4 -2
  175. package/dist/components/Tag/index.js +2 -2
  176. package/dist/components/Text/index.js +2 -2
  177. package/dist/components/TextGradient/index.js +2 -2
  178. package/dist/components/Textarea/index.js +3 -2
  179. package/dist/components/ThemeProvider/index.js +1 -1
  180. package/dist/components/Toast/index.js +2 -2
  181. package/dist/components/Toggle/index.js +2 -2
  182. package/dist/components/ToggleGroup/index.js +3 -3
  183. package/dist/components/Toolbar/index.js +2 -2
  184. package/dist/components/Tooltip/index.js +2 -2
  185. package/dist/components/TopNav/index.js +3 -3
  186. package/dist/index.d.ts +47 -19
  187. package/dist/index.js +130 -141
  188. package/package.json +8 -5
  189. package/dist/chunk-3CSKW56L.js +0 -44
  190. package/dist/chunk-AT6RPKU3.js +0 -12
  191. package/dist/chunk-BGY23Y5O.js +0 -104
  192. package/dist/chunk-DAXDAFNG.js +0 -92
  193. package/dist/chunk-EVCTOIRS.js +0 -66
  194. package/dist/chunk-GTQIA62H.js +0 -60
  195. package/dist/chunk-JCUVWDUC.js +0 -57
  196. package/dist/chunk-N2GIMMTF.js +0 -98
  197. package/dist/chunk-P6BZNFVU.js +0 -38
  198. package/dist/chunk-QRZV2FLW.js +0 -106
  199. package/dist/chunk-ROZVVWPV.js +0 -8
  200. package/dist/chunk-U3EGB3JL.js +0 -43
  201. package/dist/chunk-VPZCQFVY.js +0 -33
@@ -1,7 +1,15 @@
1
1
  'use client';
2
+ import {
3
+ enterExit,
4
+ floatingSurface,
5
+ menuContent,
6
+ menuItem,
7
+ menuLabel,
8
+ menuSeparator
9
+ } from "./chunk-KQPLFVFR.js";
2
10
  import {
3
11
  cn
4
- } from "./chunk-AT6RPKU3.js";
12
+ } from "./chunk-Q7G5WGYV.js";
5
13
 
6
14
  // src/components/Menubar/Menubar.tsx
7
15
  import * as React from "react";
@@ -20,8 +28,7 @@ var Root2 = React.forwardRef(
20
28
  {
21
29
  ref,
22
30
  className: cn(
23
- "flex h-9 items-center gap-1 rounded-md border border-[var(--color-border-default)]",
24
- "bg-[var(--color-bg-default)] px-3",
31
+ "flex h-control-md items-center gap-0.5 rounded-shape-control bg-[var(--color-surface-container-low)] p-1",
25
32
  className
26
33
  ),
27
34
  ...props
@@ -37,9 +44,9 @@ var Trigger2 = React.forwardRef(
37
44
  {
38
45
  ref,
39
46
  className: cn(
40
- "relative flex cursor-default select-none items-center rounded-sm px-3 py-1 text-sm font-medium",
41
- "outline-none focus:bg-[var(--color-bg-subtle)]",
42
- "data-[state=open]:bg-[var(--color-bg-subtle)]",
47
+ "nx-state-layer relative flex h-full cursor-default select-none items-center rounded-shape-control px-3 text-label-lg text-[var(--color-on-surface)]",
48
+ "outline-none",
49
+ "data-[state=open]:bg-[color-mix(in_srgb,var(--color-on-surface)_8%,transparent)]",
43
50
  className
44
51
  ),
45
52
  ...props
@@ -49,8 +56,10 @@ var Trigger2 = React.forwardRef(
49
56
  );
50
57
  Trigger2.displayName = "Menubar.Trigger";
51
58
  var contentBaseClasses = cn(
52
- "z-[var(--z-popover)] min-w-48 rounded-lg border border-[var(--color-border-default)]",
53
- "bg-[var(--color-bg-default)] p-1 shadow-md outline-none",
59
+ "z-[var(--z-popover)] min-w-48 outline-none",
60
+ floatingSurface,
61
+ menuContent,
62
+ enterExit,
54
63
  "data-[state=open]:animate-in data-[state=closed]:animate-out",
55
64
  "data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0",
56
65
  "data-[state=open]:zoom-in-95 data-[state=closed]:zoom-out-95",
@@ -72,9 +81,7 @@ var Content2 = React.forwardRef(
72
81
  );
73
82
  Content2.displayName = "Menubar.Content";
74
83
  var itemBaseClasses = cn(
75
- "relative flex cursor-default select-none items-center rounded-md px-2 py-1.5 text-sm outline-none",
76
- "transition-colors hover:bg-[var(--color-bg-subtle)] focus:bg-[var(--color-bg-subtle)]",
77
- "data-[disabled]:pointer-events-none data-[disabled]:opacity-50"
84
+ menuItem
78
85
  );
79
86
  var Item2 = React.forwardRef(
80
87
  function MenubarItem({ className, ...props }, ref) {
@@ -96,7 +103,7 @@ var Label2 = React.forwardRef(
96
103
  {
97
104
  ref,
98
105
  className: cn(
99
- "px-2 py-1 text-xs font-semibold text-[var(--color-text-muted)]",
106
+ menuLabel,
100
107
  className
101
108
  ),
102
109
  ...props
@@ -111,7 +118,7 @@ var Separator2 = React.forwardRef(
111
118
  RadixMenubar.Separator,
112
119
  {
113
120
  ref,
114
- className: cn("-mx-1 my-1 h-px bg-[var(--color-border-default)]", className),
121
+ className: cn(menuSeparator, className),
115
122
  ...props
116
123
  }
117
124
  );
@@ -156,7 +163,7 @@ var SubTrigger2 = React.forwardRef(function MenubarSubTrigger({ className, child
156
163
  ref,
157
164
  className: cn(
158
165
  itemBaseClasses,
159
- "data-[state=open]:bg-[var(--color-bg-subtle)]",
166
+ "data-[state=open]:bg-[color-mix(in_srgb,var(--color-on-surface)_8%,transparent)]",
160
167
  className
161
168
  ),
162
169
  ...props,
@@ -0,0 +1 @@
1
+ 'use client';
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import {
3
3
  cn
4
- } from "./chunk-AT6RPKU3.js";
4
+ } from "./chunk-Q7G5WGYV.js";
5
5
 
6
6
  // src/components/Tag/Tag.tsx
7
7
  import * as React from "react";
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import {
3
3
  inputWrapperVariants
4
- } from "./chunk-CVBAWKNG.js";
4
+ } from "./chunk-IK23Q2OF.js";
5
5
  import {
6
6
  cn
7
- } from "./chunk-AT6RPKU3.js";
7
+ } from "./chunk-Q7G5WGYV.js";
8
8
 
9
9
  // src/components/NumberInput/NumberInput.tsx
10
10
  import * as React from "react";
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import {
3
3
  cn
4
- } from "./chunk-AT6RPKU3.js";
4
+ } from "./chunk-Q7G5WGYV.js";
5
5
 
6
6
  // src/components/PageHeader/PageHeader.tsx
7
7
  import * as React from "react";
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import {
3
3
  Flag
4
- } from "./chunk-POFKKYHY.js";
4
+ } from "./chunk-EQNETGTV.js";
5
5
  import {
6
6
  cn
7
- } from "./chunk-AT6RPKU3.js";
7
+ } from "./chunk-Q7G5WGYV.js";
8
8
 
9
9
  // src/components/CountryBadge/CountryBadge.tsx
10
10
  import * as React from "react";
@@ -0,0 +1,33 @@
1
+ 'use client';
2
+
3
+ // src/utils/cn.ts
4
+ import { clsx } from "clsx";
5
+ import { extendTailwindMerge } from "tailwind-merge";
6
+ var sizes = ["xs", "sm", "md", "lg", "xl"];
7
+ var typeRoles = ["display", "headline", "title", "body", "label"].flatMap(
8
+ (r) => ["lg", "md", "sm"].map((s) => `${r}-${s}`)
9
+ );
10
+ var springs = ["spatial", "effects", "expressive"].flatMap(
11
+ (k) => ["fast", "default", "slow"].map((s) => `${k}-${s}`)
12
+ );
13
+ var twMerge = extendTailwindMerge({
14
+ extend: {
15
+ theme: {
16
+ spacing: sizes.map((s) => `control-${s}`),
17
+ borderRadius: ["control", "field", "container", "overlay", "tooltip", "min"].map((s) => `shape-${s}`)
18
+ },
19
+ classGroups: {
20
+ "font-size": [{ text: typeRoles }],
21
+ shadow: [{ shadow: ["elevation-0", "elevation-1", "elevation-2", "elevation-3"] }],
22
+ duration: [{ duration: springs }],
23
+ ease: [{ ease: springs }]
24
+ }
25
+ }
26
+ });
27
+ function cn(...inputs) {
28
+ return twMerge(clsx(inputs));
29
+ }
30
+
31
+ export {
32
+ cn
33
+ };
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import {
3
3
  avatarVariants
4
- } from "./chunk-CPV367VS.js";
4
+ } from "./chunk-FHFVBOF3.js";
5
5
  import {
6
6
  cn
7
- } from "./chunk-AT6RPKU3.js";
7
+ } from "./chunk-Q7G5WGYV.js";
8
8
 
9
9
  // src/components/AvatarGroup/AvatarGroup.tsx
10
10
  import * as React from "react";
@@ -1,7 +1,10 @@
1
1
  'use client';
2
+ import {
3
+ floatingSurface
4
+ } from "./chunk-KQPLFVFR.js";
2
5
  import {
3
6
  cn
4
- } from "./chunk-AT6RPKU3.js";
7
+ } from "./chunk-Q7G5WGYV.js";
5
8
 
6
9
  // src/components/NavigationMenu/NavigationMenu.tsx
7
10
  import * as React from "react";
@@ -41,10 +44,9 @@ var Trigger2 = React.forwardRef(
41
44
  {
42
45
  ref,
43
46
  className: cn(
44
- "group inline-flex h-9 w-max items-center justify-center rounded-md px-4 py-2 text-sm font-medium transition-colors",
45
- "hover:bg-[var(--color-bg-subtle)] hover:text-[var(--color-text-primary)] focus:bg-[var(--color-bg-subtle)] focus:text-[var(--color-text-primary)] focus:outline-none",
46
- "data-[active]:bg-[var(--color-bg-subtle)]/50 data-[state=open]:bg-[var(--color-bg-subtle)]/50",
47
- "disabled:pointer-events-none disabled:opacity-50",
47
+ "nx-state-layer group relative inline-flex h-control-sm w-max items-center justify-center rounded-shape-control px-3.5 text-label-lg text-[var(--color-on-surface-variant)]",
48
+ "data-[active]:text-[var(--color-on-surface)] data-[state=open]:bg-[var(--color-secondary-container)] data-[state=open]:text-[var(--color-on-secondary-container)]",
49
+ "disabled:pointer-events-none disabled:text-[var(--color-text-disabled)]",
48
50
  className
49
51
  ),
50
52
  ...props,
@@ -83,7 +85,7 @@ var Link2 = React.forwardRef(
83
85
  {
84
86
  ref,
85
87
  className: cn(
86
- "block select-none rounded-md p-3 leading-none no-underline outline-none transition-colors hover:bg-[var(--color-bg-subtle)] hover:text-[var(--color-text-primary)] focus:bg-[var(--color-bg-subtle)] focus:text-[var(--color-text-primary)]",
88
+ "nx-state-layer relative block select-none rounded-[10px] p-3 leading-none text-[var(--color-on-surface)] no-underline outline-none",
87
89
  className
88
90
  ),
89
91
  ...props
@@ -97,7 +99,8 @@ var Viewport2 = React.forwardRef(
97
99
  {
98
100
  ref,
99
101
  className: cn(
100
- "origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-lg border border-[var(--color-border-default)] bg-[var(--color-bg-default)] shadow-md",
102
+ "origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden",
103
+ floatingSurface,
101
104
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",
102
105
  className
103
106
  ),
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import {
3
3
  cn
4
- } from "./chunk-AT6RPKU3.js";
4
+ } from "./chunk-Q7G5WGYV.js";
5
5
 
6
6
  // src/components/TextGradient/TextGradient.tsx
7
7
  import * as React from "react";
@@ -1,7 +1,15 @@
1
1
  'use client';
2
+ import {
3
+ enterExit,
4
+ overlaySurface,
5
+ scrim
6
+ } from "./chunk-KQPLFVFR.js";
7
+ import {
8
+ buttonVariants
9
+ } from "./chunk-LMPGHWUA.js";
2
10
  import {
3
11
  cn
4
- } from "./chunk-AT6RPKU3.js";
12
+ } from "./chunk-Q7G5WGYV.js";
5
13
 
6
14
  // src/components/AlertDialog/AlertDialog.tsx
7
15
  import * as React from "react";
@@ -17,7 +25,9 @@ var Overlay2 = React.forwardRef(
17
25
  {
18
26
  ref,
19
27
  className: cn(
20
- "fixed inset-0 z-[var(--z-modal)] bg-[var(--color-overlay)] backdrop-blur-sm",
28
+ "fixed inset-0 z-[var(--z-modal)]",
29
+ scrim,
30
+ enterExit,
21
31
  "data-[state=open]:animate-in data-[state=closed]:animate-out",
22
32
  "data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0",
23
33
  className
@@ -36,7 +46,8 @@ var Content2 = React.forwardRef(
36
46
  ref,
37
47
  className: cn(
38
48
  "fixed left-1/2 top-1/2 z-[var(--z-modal)] w-full max-w-lg -translate-x-1/2 -translate-y-1/2",
39
- "rounded-xl border border-[var(--color-border-default)] bg-[var(--color-bg-default)] shadow-xl",
49
+ overlaySurface,
50
+ enterExit,
40
51
  "p-6 focus:outline-none",
41
52
  "data-[state=open]:animate-in data-[state=closed]:animate-out",
42
53
  "data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
@@ -95,10 +106,8 @@ var Action2 = React.forwardRef(
95
106
  {
96
107
  ref,
97
108
  className: cn(
98
- "inline-flex items-center justify-center rounded-md px-4 py-2 text-sm font-medium",
99
- "bg-[var(--color-fill-danger)] text-white hover:bg-[var(--color-fill-danger-hover)] focus:outline-none",
100
- "focus-visible:ring-2 focus-visible:ring-red-600 focus-visible:ring-offset-2 ring-offset-[var(--color-ring-offset)]",
101
- "disabled:pointer-events-none disabled:opacity-50",
109
+ // The destructive confirm: same as <Button variant="destructive">.
110
+ buttonVariants({ variant: "destructive" }),
102
111
  className
103
112
  ),
104
113
  ...props
@@ -114,10 +123,7 @@ var Cancel2 = React.forwardRef(
114
123
  {
115
124
  ref,
116
125
  className: cn(
117
- "inline-flex items-center justify-center rounded-md border border-[var(--color-border-default)] px-4 py-2 text-sm font-medium",
118
- "bg-[var(--color-bg-default)] text-[var(--color-text-primary)] hover:bg-[var(--color-bg-subtle)]",
119
- "focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-ring-default)] focus-visible:ring-offset-2 ring-offset-[var(--color-ring-offset)]",
120
- "disabled:pointer-events-none disabled:opacity-50",
126
+ buttonVariants({ variant: "outlined" }),
121
127
  className
122
128
  ),
123
129
  ...props
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import {
3
3
  cn
4
- } from "./chunk-AT6RPKU3.js";
4
+ } from "./chunk-Q7G5WGYV.js";
5
5
 
6
6
  // src/components/Spinner/Spinner.tsx
7
7
  import * as React from "react";
@@ -1,7 +1,18 @@
1
1
  'use client';
2
+ import {
3
+ enterExit,
4
+ floatingSurface,
5
+ menuLabel,
6
+ menuSeparator
7
+ } from "./chunk-KQPLFVFR.js";
8
+ import {
9
+ field,
10
+ fieldFocusVisible,
11
+ fieldInvalid
12
+ } from "./chunk-7SXR4PGO.js";
2
13
  import {
3
14
  cn
4
- } from "./chunk-AT6RPKU3.js";
15
+ } from "./chunk-Q7G5WGYV.js";
5
16
 
6
17
  // src/components/Select/Select.tsx
7
18
  import * as React from "react";
@@ -17,18 +28,21 @@ var Trigger2 = React.forwardRef(
17
28
  {
18
29
  ref,
19
30
  className: cn(
20
- "flex h-9 w-full items-center justify-between rounded-md border border-[var(--color-border-input)] bg-[var(--color-bg-default)] px-3 py-2 text-sm",
21
- // Border shifts to ring color on focus; ring is a semi-transparent halo.
22
- "placeholder:text-[var(--color-text-muted)] focus:outline-none focus:border-[var(--color-ring-default)] focus:ring-2 focus:ring-[color-mix(in_srgb,var(--color-ring-default)_25%,transparent)]",
23
- "disabled:cursor-not-allowed disabled:opacity-50",
24
- invalid && "border-[var(--color-semantic-error-default)] focus:border-[var(--color-semantic-error-default)] focus:ring-[color-mix(in_srgb,var(--color-semantic-error-default)_25%,transparent)]",
31
+ "flex h-control-md w-full items-center justify-between gap-2 px-3.5 text-body-md",
32
+ field,
33
+ fieldFocusVisible,
34
+ // Open reads like focus: the 2px primary border.
35
+ "data-[state=open]:border-[var(--color-primary)] data-[state=open]:shadow-[inset_0_0_0_1px_var(--color-primary)]",
36
+ "data-[placeholder]:text-[var(--color-text-placeholder)]",
37
+ "disabled:cursor-not-allowed disabled:border-[var(--color-outline-variant)] disabled:bg-[var(--color-surface-container-low)] disabled:text-[var(--color-text-disabled)]",
38
+ invalid && fieldInvalid,
25
39
  "[&>span]:line-clamp-1",
26
40
  className
27
41
  ),
28
42
  ...props,
29
43
  children: [
30
44
  children,
31
- /* @__PURE__ */ jsx(RadixSelect.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDown, { size: "sm", className: "opacity-50", "aria-hidden": "true" }) })
45
+ /* @__PURE__ */ jsx(RadixSelect.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDown, { size: "sm", className: "shrink-0 text-[var(--color-on-surface-variant)]", "aria-hidden": "true" }) })
32
46
  ]
33
47
  }
34
48
  )
@@ -64,7 +78,9 @@ var Content2 = React.forwardRef(
64
78
  {
65
79
  ref,
66
80
  className: cn(
67
- "relative z-[var(--z-popover)] max-h-96 min-w-32 overflow-hidden rounded-lg border border-[var(--color-border-default)] bg-[var(--color-bg-default)] shadow-md",
81
+ "relative z-[var(--z-popover)] max-h-96 min-w-32 overflow-hidden",
82
+ floatingSurface,
83
+ enterExit,
68
84
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
69
85
  "data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2",
70
86
  position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1 w-[var(--radix-select-trigger-width)]",
@@ -78,7 +94,7 @@ var Content2 = React.forwardRef(
78
94
  RadixSelect.Viewport,
79
95
  {
80
96
  className: cn(
81
- "p-1",
97
+ "p-1.5",
82
98
  position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
83
99
  ),
84
100
  children
@@ -95,7 +111,7 @@ var Label2 = React.forwardRef(
95
111
  RadixSelect.Label,
96
112
  {
97
113
  ref,
98
- className: cn("px-2 py-1.5 text-xs font-semibold text-[var(--color-text-muted)]", className),
114
+ className: cn(menuLabel, className),
99
115
  ...props
100
116
  }
101
117
  )
@@ -107,9 +123,10 @@ var Item2 = React.forwardRef(
107
123
  {
108
124
  ref,
109
125
  className: cn(
110
- "relative flex w-full cursor-default select-none items-center rounded-md py-1.5 pl-8 pr-2 text-sm outline-none",
111
- "focus:bg-[var(--color-bg-subtle)] focus:text-[var(--color-text-primary)]",
112
- "data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
126
+ "relative flex w-full cursor-default select-none items-center rounded-[10px] py-2 pl-8 pr-2 text-body-sm text-[var(--color-on-surface)] outline-none",
127
+ // Highlight = the on-surface state layer at hover opacity.
128
+ "focus:bg-[color-mix(in_srgb,var(--color-on-surface)_8%,transparent)]",
129
+ "data-[disabled]:pointer-events-none data-[disabled]:text-[var(--color-text-disabled)]",
113
130
  className
114
131
  ),
115
132
  ...props,
@@ -126,7 +143,7 @@ var Separator2 = React.forwardRef(
126
143
  RadixSelect.Separator,
127
144
  {
128
145
  ref,
129
- className: cn("-mx-1 my-1 h-px bg-[var(--color-border-default)]", className),
146
+ className: cn(menuSeparator, className),
130
147
  ...props
131
148
  }
132
149
  )
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import {
3
3
  cn
4
- } from "./chunk-AT6RPKU3.js";
4
+ } from "./chunk-Q7G5WGYV.js";
5
5
 
6
6
  // src/components/FilterChip/FilterChip.tsx
7
7
  import * as React from "react";
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import {
3
3
  cn
4
- } from "./chunk-AT6RPKU3.js";
4
+ } from "./chunk-Q7G5WGYV.js";
5
5
 
6
6
  // src/components/Heading/Heading.tsx
7
7
  import * as React from "react";
@@ -1,10 +1,16 @@
1
1
  'use client';
2
+ import {
3
+ useClassScrollLock
4
+ } from "./chunk-47UGX37F.js";
5
+ import {
6
+ scrim
7
+ } from "./chunk-KQPLFVFR.js";
2
8
  import {
3
9
  glassSurfaceClass
4
- } from "./chunk-ROZVVWPV.js";
10
+ } from "./chunk-DEIBF3P7.js";
5
11
  import {
6
12
  cn
7
- } from "./chunk-AT6RPKU3.js";
13
+ } from "./chunk-Q7G5WGYV.js";
8
14
 
9
15
  // src/components/Drawer/Drawer.tsx
10
16
  import * as React2 from "react";
@@ -1521,19 +1527,6 @@ Root3.displayName = "Drawer.Root";
1521
1527
  var Trigger2 = Drawer.Trigger;
1522
1528
  var Close2 = Drawer.Close;
1523
1529
  var Portal3 = Drawer.Portal;
1524
- var scrollLocks = 0;
1525
- function useClassScrollLock() {
1526
- React2.useEffect(() => {
1527
- const html = document.documentElement;
1528
- if (scrollLocks++ === 0) {
1529
- html.classList.toggle("nexub-scroll-gutter", window.innerWidth > html.clientWidth);
1530
- html.classList.add("nexub-scroll-lock");
1531
- }
1532
- return () => {
1533
- if (--scrollLocks === 0) html.classList.remove("nexub-scroll-lock", "nexub-scroll-gutter");
1534
- };
1535
- }, []);
1536
- }
1537
1530
  var ClassLockOverlay = React2.forwardRef(
1538
1531
  ({ asChild, forceMount: _forceMount, open, ...props }, ref) => {
1539
1532
  useClassScrollLock();
@@ -1553,7 +1546,7 @@ var ClassLockOverlay = React2.forwardRef(
1553
1546
  var Overlay3 = React2.forwardRef(
1554
1547
  ({ className, ...props }, ref) => {
1555
1548
  const { scrollLock, open, modal } = React2.useContext(DrawerContext2);
1556
- const classes = cn("fixed inset-0 z-[var(--z-modal)] bg-[var(--color-overlay)]", className);
1549
+ const classes = cn("fixed inset-0 z-[var(--z-modal)]", scrim, className);
1557
1550
  if (scrollLock === "class") {
1558
1551
  if (!modal) return null;
1559
1552
  return /* @__PURE__ */ jsx(ClassLockOverlay, { ref, open, className: cn("pointer-events-auto", classes), ...props });
@@ -1564,22 +1557,23 @@ var Overlay3 = React2.forwardRef(
1564
1557
  Overlay3.displayName = "Drawer.Overlay";
1565
1558
  var Content3 = React2.forwardRef(({ className, children, side = "right", surface = "solid", ...props }, ref) => {
1566
1559
  const sideMap = {
1567
- right: "inset-y-0 right-0 h-full w-3/4 max-w-sm border-l overflow-x-hidden",
1568
- left: "inset-y-0 left-0 h-full w-3/4 max-w-sm border-r overflow-x-hidden",
1569
- top: "inset-x-0 top-0 w-full border-b",
1570
- bottom: "inset-x-0 bottom-0 w-full border-t rounded-t-2xl"
1560
+ right: "inset-y-0 right-0 h-full w-3/4 max-w-sm overflow-x-hidden",
1561
+ left: "inset-y-0 left-0 h-full w-3/4 max-w-sm overflow-x-hidden",
1562
+ top: "inset-x-0 top-0 w-full rounded-b-[var(--shape-overlay)]",
1563
+ bottom: "inset-x-0 bottom-0 w-full rounded-t-[var(--shape-overlay)]"
1571
1564
  };
1572
1565
  return /* @__PURE__ */ jsxs(
1573
1566
  Drawer.Content,
1574
1567
  {
1575
1568
  ref,
1576
1569
  className: cn(
1577
- "fixed z-[var(--z-modal)] flex flex-col bg-[var(--color-bg-default)] shadow-xl focus:outline-none",
1570
+ "fixed z-[var(--z-modal)] flex flex-col bg-[var(--color-surface-elevated)] text-[var(--color-on-surface)] shadow-elevation-3 focus:outline-none",
1578
1571
  sideMap[side],
1579
1572
  surface === "glass" && glassSurfaceClass,
1580
1573
  className
1581
1574
  ),
1582
1575
  "data-material": surface === "glass" ? "glass" : void 0,
1576
+ "data-glass-thickness": surface === "glass" ? "thick" : void 0,
1583
1577
  ...props,
1584
1578
  children: [
1585
1579
  side === "bottom" && /* @__PURE__ */ jsx("div", { className: "mx-auto mt-4 h-2 w-20 rounded-full bg-[var(--color-border-default)]" }),
@@ -1594,7 +1588,7 @@ var Title2 = React2.forwardRef(
1594
1588
  Drawer.Title,
1595
1589
  {
1596
1590
  ref,
1597
- className: cn("text-lg font-semibold text-[var(--color-text-primary)]", className),
1591
+ className: cn("text-title-lg text-[var(--color-on-surface)]", className),
1598
1592
  ...props
1599
1593
  }
1600
1594
  )
@@ -1605,7 +1599,7 @@ var Description2 = React2.forwardRef(
1605
1599
  Drawer.Description,
1606
1600
  {
1607
1601
  ref,
1608
- className: cn("text-sm text-[var(--color-text-muted)]", className),
1602
+ className: cn("text-body-sm text-[var(--color-on-surface-muted)]", className),
1609
1603
  ...props
1610
1604
  }
1611
1605
  )
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import {
3
3
  cn
4
- } from "./chunk-AT6RPKU3.js";
4
+ } from "./chunk-Q7G5WGYV.js";
5
5
 
6
6
  // src/components/Toolbar/Toolbar.tsx
7
7
  import * as React from "react";
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import {
3
3
  Combobox
4
- } from "./chunk-2VDP2ML4.js";
4
+ } from "./chunk-Z3IG5WRA.js";
5
5
 
6
6
  // src/components/Autocomplete/Autocomplete.tsx
7
7
  import * as React from "react";
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import {
3
3
  Input
4
- } from "./chunk-CVBAWKNG.js";
4
+ } from "./chunk-IK23Q2OF.js";
5
5
  import {
6
6
  cn
7
- } from "./chunk-AT6RPKU3.js";
7
+ } from "./chunk-Q7G5WGYV.js";
8
8
 
9
9
  // src/components/SearchInput/SearchInput.tsx
10
10
  import * as React from "react";
@@ -0,0 +1,43 @@
1
+ 'use client';
2
+ import {
3
+ cn
4
+ } from "./chunk-Q7G5WGYV.js";
5
+
6
+ // src/components/Slider/Slider.tsx
7
+ import * as React from "react";
8
+ import * as RadixSlider from "@radix-ui/react-slider";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ var Slider = React.forwardRef(
11
+ ({ className, thumbLabels, "aria-label": ariaLabel, ...props }, ref) => {
12
+ const count = (props.value ?? props.defaultValue ?? [0]).length;
13
+ return /* @__PURE__ */ jsxs(
14
+ RadixSlider.Root,
15
+ {
16
+ ref,
17
+ className: cn("group relative flex h-control-sm w-full touch-none select-none items-center", className),
18
+ ...props,
19
+ children: [
20
+ /* @__PURE__ */ jsx(RadixSlider.Track, { className: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-[var(--color-surface-container-highest)]", children: /* @__PURE__ */ jsx(RadixSlider.Range, { className: "absolute h-full bg-[var(--color-primary)] group-data-[disabled]:bg-[var(--color-text-disabled)]" }) }),
21
+ Array.from({ length: count }, (_, i) => /* @__PURE__ */ jsx(
22
+ RadixSlider.Thumb,
23
+ {
24
+ "aria-label": thumbLabels?.[i] ?? ariaLabel,
25
+ className: cn(
26
+ "nx-state-layer block h-5 w-5 rounded-full border-2 border-[var(--color-surface-container-lowest)] bg-[var(--color-primary)] text-[var(--color-primary)] shadow-elevation-1",
27
+ "before:-inset-2.5 cursor-grab active:cursor-grabbing",
28
+ // Opaque disabled knob (text-disabled is translucent and would show the range through it).
29
+ "group-data-[disabled]:pointer-events-none group-data-[disabled]:bg-[color-mix(in_srgb,var(--color-on-surface)_38%,var(--color-surface))]"
30
+ )
31
+ },
32
+ i
33
+ ))
34
+ ]
35
+ }
36
+ );
37
+ }
38
+ );
39
+ Slider.displayName = "Slider";
40
+
41
+ export {
42
+ Slider
43
+ };