@j3m-quantum/ui 0.3.0 → 0.7.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.
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ import { twMerge } from 'tailwind-merge';
7
7
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
8
  import * as SeparatorPrimitive from '@radix-ui/react-separator';
9
9
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
10
- import { X, CheckIcon, CircleIcon, ChevronDownIcon, ChevronUpIcon, MinusIcon, ChevronLeftIcon, ChevronRightIcon, ArrowLeft, ArrowRight, Loader2Icon, OctagonXIcon, TriangleAlertIcon, InfoIcon, CircleCheckIcon, ChevronRight, MoreHorizontal, MoreHorizontalIcon, SearchIcon, XIcon, GripVerticalIcon, PanelLeftIcon } from 'lucide-react';
10
+ import { CheckIcon, CircleIcon, ChevronDownIcon, ChevronUpIcon, MinusIcon, ChevronLeftIcon, ChevronRightIcon, ArrowLeft, ArrowRight, Loader2Icon, OctagonXIcon, TriangleAlertIcon, InfoIcon, CircleCheckIcon, ChevronRight, MoreHorizontal, MoreHorizontalIcon, XIcon, SearchIcon, GripVerticalIcon, PanelLeftIcon } from 'lucide-react';
11
11
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
12
12
  import * as SwitchPrimitive from '@radix-ui/react-switch';
13
13
  import * as SliderPrimitive from '@radix-ui/react-slider';
@@ -60,73 +60,24 @@ function cn(...inputs) {
60
60
  return twMerge(clsx(inputs));
61
61
  }
62
62
  var buttonVariants = cva(
63
- // Base styles - shared across all variants
64
- "inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
63
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
65
64
  {
66
65
  variants: {
67
66
  variant: {
68
- // Primary CTA - J3M Orange
69
- default: [
70
- "text-[var(--color-text-on-accent)]",
71
- "bg-[var(--j3m-primary-300)]",
72
- "hover:bg-[var(--j3m-primary-400)]",
73
- "active:bg-[var(--j3m-primary-500)]",
74
- "focus-visible:ring-[var(--j3m-primary-300)]",
75
- "rounded-[var(--j3m-radius-2xs)]",
76
- "shadow-sm"
77
- ].join(" "),
78
- // Secondary - Neutral surface
79
- secondary: [
80
- "text-[var(--color-text-main)]",
81
- "bg-[var(--j3m-neutral-200)]",
82
- "hover:bg-[var(--j3m-neutral-300)]",
83
- "active:bg-[var(--j3m-neutral-400)]",
84
- "focus-visible:ring-[var(--j3m-neutral-400)]",
85
- "rounded-[var(--j3m-radius-2xs)]"
86
- ].join(" "),
87
- // Outline - Border only
88
- outline: [
89
- "text-[var(--color-text-main)]",
90
- "bg-transparent",
91
- "border border-[var(--color-border-strong)]",
92
- "hover:bg-[var(--j3m-neutral-200)]",
93
- "active:bg-[var(--j3m-neutral-300)]",
94
- "focus-visible:ring-[var(--j3m-neutral-400)]",
95
- "rounded-[var(--j3m-radius-2xs)]"
96
- ].join(" "),
97
- // Ghost - Minimal
98
- ghost: [
99
- "text-[var(--color-text-muted)]",
100
- "bg-transparent",
101
- "hover:bg-[var(--j3m-neutral-200)]",
102
- "hover:text-[var(--color-text-main)]",
103
- "active:bg-[var(--j3m-neutral-300)]",
104
- "focus-visible:ring-[var(--j3m-neutral-400)]",
105
- "rounded-[var(--j3m-radius-2xs)]"
106
- ].join(" "),
107
- // Destructive - Error/danger actions
108
- destructive: [
109
- "text-[var(--color-text-on-accent)]",
110
- "bg-[var(--j3m-red-100)]",
111
- "hover:bg-[var(--j3m-red-200)]",
112
- "active:bg-[var(--j3m-red-200)]",
113
- "focus-visible:ring-[var(--j3m-red-100)]",
114
- "rounded-[var(--j3m-radius-2xs)]",
115
- "shadow-sm"
116
- ].join(" "),
117
- // Link - Text only
118
- link: [
119
- "text-[var(--j3m-primary-300)]",
120
- "underline-offset-4",
121
- "hover:underline",
122
- "hover:text-[var(--j3m-primary-400)]"
123
- ].join(" ")
67
+ default: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
68
+ destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
69
+ outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
70
+ secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
71
+ ghost: "hover:bg-accent hover:text-accent-foreground",
72
+ link: "text-primary underline-offset-4 hover:underline"
124
73
  },
125
74
  size: {
126
- sm: "h-8 px-[var(--j3m-spacing-s)] text-xs",
127
- default: "h-10 px-[var(--j3m-spacing-m)] py-[var(--j3m-spacing-xs)] text-sm",
128
- lg: "h-12 px-[var(--j3m-spacing-xl)] text-base",
129
- icon: "h-10 w-10"
75
+ default: "h-9 px-4 py-2",
76
+ sm: "h-8 rounded-md px-3 text-xs",
77
+ lg: "h-10 rounded-md px-8",
78
+ icon: "h-9 w-9",
79
+ "icon-sm": "h-8 w-8",
80
+ "icon-lg": "h-10 w-10"
130
81
  }
131
82
  },
132
83
  defaultVariants: {
@@ -240,44 +191,8 @@ var Input = React10.forwardRef(
240
191
  "input",
241
192
  {
242
193
  type,
243
- "data-slot": "input",
244
194
  className: cn(
245
- // Base
246
- "flex h-10 w-full min-w-0 text-sm",
247
- "px-[var(--j3m-spacing-s)] py-[var(--j3m-spacing-xs)]",
248
- "rounded-[var(--j3m-radius-2xs)]",
249
- // Colors
250
- "bg-[var(--color-bg-surface)]",
251
- "text-[var(--color-text-main)]",
252
- "border border-[var(--color-border-subtle)]",
253
- // Placeholder
254
- "placeholder:text-[var(--color-text-soft)]",
255
- // Focus state
256
- "focus-visible:outline-none",
257
- "focus-visible:ring-2",
258
- "focus-visible:ring-[var(--j3m-primary-300)]",
259
- "focus-visible:ring-offset-1",
260
- "focus-visible:border-[var(--j3m-primary-300)]",
261
- // Hover state
262
- "hover:border-[var(--color-border-strong)]",
263
- // Disabled state
264
- "disabled:cursor-not-allowed",
265
- "disabled:opacity-50",
266
- "disabled:bg-[var(--color-bg-subtle)]",
267
- // Error state (via aria-invalid)
268
- "aria-invalid:border-[var(--j3m-red-100)]",
269
- "aria-invalid:focus-visible:ring-[var(--j3m-red-100)]",
270
- // File input
271
- "file:border-0",
272
- "file:bg-transparent",
273
- "file:text-sm",
274
- "file:font-medium",
275
- "file:text-[var(--color-text-main)]",
276
- // Selection
277
- "selection:bg-[var(--j3m-primary-100)]",
278
- "selection:text-[var(--color-text-main)]",
279
- // Transition
280
- "transition-colors duration-150",
195
+ "flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
281
196
  className
282
197
  ),
283
198
  ref,
@@ -1261,147 +1176,55 @@ function FieldError({
1261
1176
  }
1262
1177
  );
1263
1178
  }
1264
- var cardVariants = cva(
1265
- // Base styles
1266
- "flex flex-col rounded-[var(--j3m-radius-2xs)]",
1179
+ var Card = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1180
+ "div",
1267
1181
  {
1268
- variants: {
1269
- variant: {
1270
- // Default solid card
1271
- default: [
1272
- "bg-[var(--color-bg-surface)]",
1273
- "border border-[var(--color-border-subtle)]",
1274
- "text-[var(--color-text-main)]",
1275
- "shadow-sm"
1276
- ].join(" "),
1277
- // Glass Light - for light backgrounds or over images
1278
- "glass-light": [
1279
- "bg-[var(--j3m-glass-light)]",
1280
- "backdrop-blur-[var(--j3m-blur-md)]",
1281
- "border border-[var(--j3m-glass-border-light)]",
1282
- "text-[var(--color-text-main)]",
1283
- "shadow-[var(--j3m-glass-shadow-md)]"
1284
- ].join(" "),
1285
- // Glass Dark - for light backgrounds, dark card
1286
- "glass-dark": [
1287
- "bg-[var(--j3m-glass-dark)]",
1288
- "backdrop-blur-[var(--j3m-blur-md)]",
1289
- "border border-[var(--j3m-glass-border-dark)]",
1290
- "text-white",
1291
- "shadow-[var(--j3m-glass-shadow-lg)]"
1292
- ].join(" "),
1293
- // Glass Neutral - subtle frosted effect
1294
- "glass-neutral": [
1295
- "bg-[var(--j3m-glass-neutral)]",
1296
- "backdrop-blur-[var(--j3m-blur-lg)]",
1297
- "border border-[var(--j3m-glass-border-subtle)]",
1298
- "text-[var(--color-text-main)]",
1299
- "shadow-[var(--j3m-glass-shadow-sm)]"
1300
- ].join(" "),
1301
- // Glass Primary - with orange tint
1302
- "glass-primary": [
1303
- "bg-[var(--j3m-glass-primary)]",
1304
- "backdrop-blur-[var(--j3m-blur-lg)]",
1305
- "border border-[var(--j3m-glass-border-light)]",
1306
- "text-[var(--color-text-main)]",
1307
- "shadow-[var(--j3m-glass-shadow-glow)]"
1308
- ].join(" ")
1309
- }
1310
- },
1311
- defaultVariants: {
1312
- variant: "default"
1313
- }
1182
+ ref,
1183
+ className: cn(
1184
+ "rounded-xl border bg-card text-card-foreground shadow",
1185
+ className
1186
+ ),
1187
+ ...props
1314
1188
  }
1315
- );
1316
- var Card = React10.forwardRef(
1317
- ({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx(
1318
- "div",
1319
- {
1320
- ref,
1321
- "data-slot": "card",
1322
- className: cn(cardVariants({ variant, className })),
1323
- ...props
1324
- }
1325
- )
1326
- );
1189
+ ));
1327
1190
  Card.displayName = "Card";
1328
- var CardHeader = React10.forwardRef(
1329
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1330
- "div",
1331
- {
1332
- ref,
1333
- "data-slot": "card-header",
1334
- className: cn(
1335
- "flex flex-col gap-[var(--j3m-spacing-2xs)]",
1336
- "px-[var(--j3m-spacing-l)] py-[var(--j3m-spacing-m)]",
1337
- className
1338
- ),
1339
- ...props
1340
- }
1341
- )
1342
- );
1191
+ var CardHeader = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1192
+ "div",
1193
+ {
1194
+ ref,
1195
+ className: cn("flex flex-col space-y-1.5 p-6", className),
1196
+ ...props
1197
+ }
1198
+ ));
1343
1199
  CardHeader.displayName = "CardHeader";
1344
- var CardTitle = React10.forwardRef(
1345
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1346
- "h3",
1347
- {
1348
- ref,
1349
- "data-slot": "card-title",
1350
- className: cn(
1351
- "text-lg font-semibold leading-none tracking-tight",
1352
- className
1353
- ),
1354
- ...props
1355
- }
1356
- )
1357
- );
1200
+ var CardTitle = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1201
+ "div",
1202
+ {
1203
+ ref,
1204
+ className: cn("font-semibold leading-none tracking-tight", className),
1205
+ ...props
1206
+ }
1207
+ ));
1358
1208
  CardTitle.displayName = "CardTitle";
1359
- var CardDescription = React10.forwardRef(
1360
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1361
- "p",
1362
- {
1363
- ref,
1364
- "data-slot": "card-description",
1365
- className: cn(
1366
- "text-sm opacity-80",
1367
- className
1368
- ),
1369
- ...props
1370
- }
1371
- )
1372
- );
1209
+ var CardDescription = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1210
+ "div",
1211
+ {
1212
+ ref,
1213
+ className: cn("text-sm text-muted-foreground", className),
1214
+ ...props
1215
+ }
1216
+ ));
1373
1217
  CardDescription.displayName = "CardDescription";
1374
- var CardContent = React10.forwardRef(
1375
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1376
- "div",
1377
- {
1378
- ref,
1379
- "data-slot": "card-content",
1380
- className: cn(
1381
- "px-[var(--j3m-spacing-l)] pb-[var(--j3m-spacing-m)]",
1382
- className
1383
- ),
1384
- ...props
1385
- }
1386
- )
1387
- );
1218
+ var CardContent = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("p-6 pt-0", className), ...props }));
1388
1219
  CardContent.displayName = "CardContent";
1389
- var CardFooter = React10.forwardRef(
1390
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1391
- "div",
1392
- {
1393
- ref,
1394
- "data-slot": "card-footer",
1395
- className: cn(
1396
- "flex items-center",
1397
- "px-[var(--j3m-spacing-l)] py-[var(--j3m-spacing-m)]",
1398
- "border-t border-[inherit]",
1399
- className
1400
- ),
1401
- ...props
1402
- }
1403
- )
1404
- );
1220
+ var CardFooter = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1221
+ "div",
1222
+ {
1223
+ ref,
1224
+ className: cn("flex items-center p-6 pt-0", className),
1225
+ ...props
1226
+ }
1227
+ ));
1405
1228
  CardFooter.displayName = "CardFooter";
1406
1229
  function Table({ className, ...props }) {
1407
1230
  return /* @__PURE__ */ jsx(
@@ -3107,153 +2930,126 @@ function PaginationEllipsis({
3107
2930
  }
3108
2931
  );
3109
2932
  }
3110
- var Dialog = DialogPrimitive.Root;
3111
- var DialogTrigger = DialogPrimitive.Trigger;
3112
- var DialogPortal = DialogPrimitive.Portal;
3113
- var DialogClose = DialogPrimitive.Close;
3114
- var DialogOverlay = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3115
- DialogPrimitive.Overlay,
3116
- {
3117
- ref,
3118
- className: cn(
3119
- "fixed inset-0 z-50",
3120
- "bg-[var(--j3m-neutral-1000)]/50",
3121
- "backdrop-blur-sm",
3122
- // Animations
3123
- "data-[state=open]:animate-in",
3124
- "data-[state=closed]:animate-out",
3125
- "data-[state=closed]:fade-out-0",
3126
- "data-[state=open]:fade-in-0",
3127
- className
3128
- ),
3129
- ...props
3130
- }
3131
- ));
3132
- DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
3133
- var DialogContent = React10.forwardRef(({ className, children, showCloseButton = true, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
3134
- /* @__PURE__ */ jsx(DialogOverlay, {}),
3135
- /* @__PURE__ */ jsxs(
3136
- DialogPrimitive.Content,
2933
+ function Dialog({
2934
+ ...props
2935
+ }) {
2936
+ return /* @__PURE__ */ jsx(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
2937
+ }
2938
+ function DialogTrigger({
2939
+ ...props
2940
+ }) {
2941
+ return /* @__PURE__ */ jsx(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
2942
+ }
2943
+ function DialogPortal({
2944
+ ...props
2945
+ }) {
2946
+ return /* @__PURE__ */ jsx(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
2947
+ }
2948
+ function DialogClose({
2949
+ ...props
2950
+ }) {
2951
+ return /* @__PURE__ */ jsx(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
2952
+ }
2953
+ function DialogOverlay({
2954
+ className,
2955
+ ...props
2956
+ }) {
2957
+ return /* @__PURE__ */ jsx(
2958
+ DialogPrimitive.Overlay,
3137
2959
  {
3138
- ref,
2960
+ "data-slot": "dialog-overlay",
3139
2961
  className: cn(
3140
- // Positioning
3141
- "fixed left-[50%] top-[50%] z-50",
3142
- "translate-x-[-50%] translate-y-[-50%]",
3143
- "w-full max-w-lg",
3144
- "max-h-[90vh] overflow-y-auto",
3145
- // Card-like styling
3146
- "rounded-[var(--j3m-radius-2xs)]",
3147
- "border border-[var(--color-border-subtle)]",
3148
- "bg-[var(--color-bg-surface)]",
3149
- "shadow-lg",
3150
- // Padding
3151
- "p-[var(--j3m-spacing-l)]",
3152
- // Animations
3153
- "duration-200",
3154
- "data-[state=open]:animate-in",
3155
- "data-[state=closed]:animate-out",
3156
- "data-[state=closed]:fade-out-0",
3157
- "data-[state=open]:fade-in-0",
3158
- "data-[state=closed]:zoom-out-95",
3159
- "data-[state=open]:zoom-in-95",
3160
- "data-[state=closed]:slide-out-to-left-1/2",
3161
- "data-[state=closed]:slide-out-to-top-[48%]",
3162
- "data-[state=open]:slide-in-from-left-1/2",
3163
- "data-[state=open]:slide-in-from-top-[48%]",
2962
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
3164
2963
  className
3165
2964
  ),
3166
- ...props,
3167
- children: [
3168
- children,
3169
- showCloseButton && /* @__PURE__ */ jsxs(
3170
- DialogPrimitive.Close,
3171
- {
3172
- className: cn(
3173
- "absolute right-[var(--j3m-spacing-m)] top-[var(--j3m-spacing-m)]",
3174
- "rounded-[var(--j3m-radius-2xs)]",
3175
- "p-1",
3176
- "text-[var(--color-text-muted)]",
3177
- "opacity-70",
3178
- "ring-offset-background",
3179
- "transition-opacity",
3180
- "hover:opacity-100",
3181
- "hover:bg-[var(--j3m-neutral-200)]",
3182
- "focus:outline-none",
3183
- "focus:ring-2",
3184
- "focus:ring-[var(--j3m-primary-300)]",
3185
- "focus:ring-offset-2",
3186
- "disabled:pointer-events-none"
3187
- ),
3188
- children: [
3189
- /* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
3190
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
3191
- ]
3192
- }
3193
- )
3194
- ]
2965
+ ...props
3195
2966
  }
3196
- )
3197
- ] }));
3198
- DialogContent.displayName = DialogPrimitive.Content.displayName;
3199
- var DialogHeader = ({
2967
+ );
2968
+ }
2969
+ function DialogContent({
3200
2970
  className,
2971
+ children,
2972
+ showCloseButton = true,
3201
2973
  ...props
3202
- }) => /* @__PURE__ */ jsx(
3203
- "div",
3204
- {
3205
- className: cn(
3206
- "flex flex-col gap-[var(--j3m-spacing-2xs)]",
3207
- "mb-[var(--j3m-spacing-m)]",
3208
- "text-center sm:text-left",
3209
- className
3210
- ),
3211
- ...props
3212
- }
3213
- );
3214
- DialogHeader.displayName = "DialogHeader";
3215
- var DialogFooter = ({
2974
+ }) {
2975
+ return /* @__PURE__ */ jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [
2976
+ /* @__PURE__ */ jsx(DialogOverlay, {}),
2977
+ /* @__PURE__ */ jsxs(
2978
+ DialogPrimitive.Content,
2979
+ {
2980
+ "data-slot": "dialog-content",
2981
+ className: cn(
2982
+ "bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
2983
+ className
2984
+ ),
2985
+ ...props,
2986
+ children: [
2987
+ children,
2988
+ showCloseButton && /* @__PURE__ */ jsxs(
2989
+ DialogPrimitive.Close,
2990
+ {
2991
+ "data-slot": "dialog-close",
2992
+ className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
2993
+ children: [
2994
+ /* @__PURE__ */ jsx(XIcon, {}),
2995
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
2996
+ ]
2997
+ }
2998
+ )
2999
+ ]
3000
+ }
3001
+ )
3002
+ ] });
3003
+ }
3004
+ function DialogHeader({ className, ...props }) {
3005
+ return /* @__PURE__ */ jsx(
3006
+ "div",
3007
+ {
3008
+ "data-slot": "dialog-header",
3009
+ className: cn("flex flex-col gap-2 text-center sm:text-left", className),
3010
+ ...props
3011
+ }
3012
+ );
3013
+ }
3014
+ function DialogFooter({ className, ...props }) {
3015
+ return /* @__PURE__ */ jsx(
3016
+ "div",
3017
+ {
3018
+ "data-slot": "dialog-footer",
3019
+ className: cn(
3020
+ "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
3021
+ className
3022
+ ),
3023
+ ...props
3024
+ }
3025
+ );
3026
+ }
3027
+ function DialogTitle({
3216
3028
  className,
3217
3029
  ...props
3218
- }) => /* @__PURE__ */ jsx(
3219
- "div",
3220
- {
3221
- className: cn(
3222
- "flex flex-col-reverse sm:flex-row sm:justify-end",
3223
- "gap-[var(--j3m-spacing-s)]",
3224
- "mt-[var(--j3m-spacing-l)]",
3225
- className
3226
- ),
3227
- ...props
3228
- }
3229
- );
3230
- DialogFooter.displayName = "DialogFooter";
3231
- var DialogTitle = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3232
- DialogPrimitive.Title,
3233
- {
3234
- ref,
3235
- className: cn(
3236
- "text-lg font-semibold leading-none tracking-tight",
3237
- "text-[var(--color-text-main)]",
3238
- className
3239
- ),
3240
- ...props
3241
- }
3242
- ));
3243
- DialogTitle.displayName = DialogPrimitive.Title.displayName;
3244
- var DialogDescription = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3245
- DialogPrimitive.Description,
3246
- {
3247
- ref,
3248
- className: cn(
3249
- "text-sm",
3250
- "text-[var(--color-text-muted)]",
3251
- className
3252
- ),
3253
- ...props
3254
- }
3255
- ));
3256
- DialogDescription.displayName = DialogPrimitive.Description.displayName;
3030
+ }) {
3031
+ return /* @__PURE__ */ jsx(
3032
+ DialogPrimitive.Title,
3033
+ {
3034
+ "data-slot": "dialog-title",
3035
+ className: cn("text-lg leading-none font-semibold", className),
3036
+ ...props
3037
+ }
3038
+ );
3039
+ }
3040
+ function DialogDescription({
3041
+ className,
3042
+ ...props
3043
+ }) {
3044
+ return /* @__PURE__ */ jsx(
3045
+ DialogPrimitive.Description,
3046
+ {
3047
+ "data-slot": "dialog-description",
3048
+ className: cn("text-muted-foreground text-sm", className),
3049
+ ...props
3050
+ }
3051
+ );
3052
+ }
3257
3053
  function Command({
3258
3054
  className,
3259
3055
  ...props
@@ -5352,6 +5148,6 @@ var SectionFooter = React10.forwardRef(
5352
5148
  );
5353
5149
  SectionFooter.displayName = "SectionFooter";
5354
5150
 
5355
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, HoverCard, HoverCardContent, HoverCardTrigger, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item5 as Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label2 as Label, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Section, SectionContent, SectionDescription, SectionFooter, SectionHeader, SectionTitle, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Spinner, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip2 as Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonGroupVariants, buttonVariants, cardVariants, navigationMenuTriggerStyle, sectionVariants, toggleVariants, useFormField, useIsMobile, useSidebar };
5151
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, HoverCard, HoverCardContent, HoverCardTrigger, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item5 as Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label2 as Label, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Section, SectionContent, SectionDescription, SectionFooter, SectionHeader, SectionTitle, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Spinner, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip2 as Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonGroupVariants, buttonVariants, navigationMenuTriggerStyle, sectionVariants, toggleVariants, useFormField, useIsMobile, useSidebar };
5356
5152
  //# sourceMappingURL=index.js.map
5357
5153
  //# sourceMappingURL=index.js.map