@luxfi/ui 7.0.0 → 7.2.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/alert.cjs +184 -335
- package/dist/alert.js +184 -335
- package/dist/badge.cjs +162 -321
- package/dist/badge.d.cts +3 -7
- package/dist/badge.d.ts +3 -7
- package/dist/badge.js +162 -320
- package/dist/bank.d.cts +1 -1
- package/dist/bank.d.ts +1 -1
- package/dist/button.cjs +373 -484
- package/dist/button.d.cts +10 -7
- package/dist/button.d.ts +10 -7
- package/dist/button.js +373 -484
- package/dist/close-button.cjs +37 -18
- package/dist/close-button.d.cts +1 -1
- package/dist/close-button.d.ts +1 -1
- package/dist/close-button.js +37 -18
- package/dist/collapsible.cjs +125 -272
- package/dist/collapsible.js +125 -272
- package/dist/dialog.cjs +60 -44
- package/dist/dialog.d.cts +7 -8
- package/dist/dialog.d.ts +7 -8
- package/dist/dialog.js +60 -43
- package/dist/drawer.cjs +37 -13
- package/dist/drawer.js +37 -13
- package/dist/heading.cjs +3 -8
- package/dist/heading.js +3 -8
- package/dist/icon-button.cjs +213 -337
- package/dist/icon-button.d.cts +4 -4
- package/dist/icon-button.d.ts +4 -4
- package/dist/icon-button.js +213 -338
- package/dist/image.cjs +125 -272
- package/dist/image.js +125 -272
- package/dist/index.cjs +695 -858
- package/dist/index.d.cts +0 -3
- package/dist/index.d.ts +0 -3
- package/dist/index.js +695 -856
- package/dist/input.cjs +25 -36
- package/dist/input.js +25 -36
- package/dist/link.cjs +125 -272
- package/dist/link.js +125 -272
- package/dist/popover.cjs +55 -40
- package/dist/popover.js +55 -39
- package/dist/select.cjs +125 -272
- package/dist/select.js +125 -272
- package/dist/skeleton.cjs +125 -272
- package/dist/skeleton.js +125 -272
- package/dist/table.cjs +127 -274
- package/dist/table.js +127 -274
- package/dist/tag.cjs +199 -341
- package/dist/tag.js +199 -340
- package/dist/textarea.cjs +25 -36
- package/dist/textarea.js +25 -36
- package/dist/tooltip.cjs +22 -21
- package/dist/tooltip.d.cts +2 -3
- package/dist/tooltip.d.ts +2 -3
- package/dist/tooltip.js +22 -20
- package/package.json +9 -8
- package/src/alert.tsx +23 -51
- package/src/badge.tsx +20 -31
- package/src/button.tsx +304 -238
- package/src/close-button.tsx +48 -22
- package/src/dialog.tsx +37 -47
- package/src/heading.tsx +8 -19
- package/src/icon-button.tsx +129 -104
- package/src/input.tsx +27 -36
- package/src/popover.tsx +30 -44
- package/src/skeleton.tsx +96 -144
- package/src/tag.tsx +17 -35
- package/src/textarea.tsx +27 -36
- package/src/tooltip.tsx +54 -47
package/dist/index.cjs
CHANGED
|
@@ -6,19 +6,19 @@ var tailwindMerge = require('tailwind-merge');
|
|
|
6
6
|
var AccordionPrimitive = require('@radix-ui/react-accordion');
|
|
7
7
|
var React29 = require('react');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
-
var
|
|
9
|
+
var core = require('@hanzogui/core');
|
|
10
10
|
var RadixAvatar = require('@radix-ui/react-avatar');
|
|
11
|
-
var
|
|
11
|
+
var tooltip = require('@hanzogui/tooltip');
|
|
12
12
|
var usehooks = require('@uidotdev/usehooks');
|
|
13
|
-
var reactSlot = require('@radix-ui/react-slot');
|
|
14
13
|
var RadixCheckbox = require('@radix-ui/react-checkbox');
|
|
15
14
|
var Collapsible = require('@radix-ui/react-collapsible');
|
|
15
|
+
var dialog = require('@hanzogui/dialog');
|
|
16
16
|
var RadixDialog = require('@radix-ui/react-dialog');
|
|
17
17
|
var LabelPrimitive = require('@radix-ui/react-label');
|
|
18
18
|
var esToolkit = require('es-toolkit');
|
|
19
19
|
var DropdownMenu = require('@radix-ui/react-dropdown-menu');
|
|
20
20
|
var lu = require('react-icons/lu');
|
|
21
|
-
var
|
|
21
|
+
var popover = require('@hanzogui/popover');
|
|
22
22
|
var RadixProgress = require('@radix-ui/react-progress');
|
|
23
23
|
var RadixRadioGroup = require('@radix-ui/react-radio-group');
|
|
24
24
|
var RadixSelect = require('@radix-ui/react-select');
|
|
@@ -26,7 +26,6 @@ var RadixSlider = require('@radix-ui/react-slider');
|
|
|
26
26
|
var RadixSwitch = require('@radix-ui/react-switch');
|
|
27
27
|
var RadixTabs = require('@radix-ui/react-tabs');
|
|
28
28
|
var sonner = require('sonner');
|
|
29
|
-
var core = require('@hanzogui/core');
|
|
30
29
|
|
|
31
30
|
function _interopNamespace(e) {
|
|
32
31
|
if (e && e.__esModule) return e;
|
|
@@ -49,13 +48,11 @@ function _interopNamespace(e) {
|
|
|
49
48
|
var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
|
|
50
49
|
var React29__namespace = /*#__PURE__*/_interopNamespace(React29);
|
|
51
50
|
var RadixAvatar__namespace = /*#__PURE__*/_interopNamespace(RadixAvatar);
|
|
52
|
-
var RadixTooltip__namespace = /*#__PURE__*/_interopNamespace(RadixTooltip);
|
|
53
51
|
var RadixCheckbox__namespace = /*#__PURE__*/_interopNamespace(RadixCheckbox);
|
|
54
52
|
var Collapsible__namespace = /*#__PURE__*/_interopNamespace(Collapsible);
|
|
55
53
|
var RadixDialog__namespace = /*#__PURE__*/_interopNamespace(RadixDialog);
|
|
56
54
|
var LabelPrimitive__namespace = /*#__PURE__*/_interopNamespace(LabelPrimitive);
|
|
57
55
|
var DropdownMenu__namespace = /*#__PURE__*/_interopNamespace(DropdownMenu);
|
|
58
|
-
var RadixPopover__namespace = /*#__PURE__*/_interopNamespace(RadixPopover);
|
|
59
56
|
var RadixProgress__namespace = /*#__PURE__*/_interopNamespace(RadixProgress);
|
|
60
57
|
var RadixRadioGroup__namespace = /*#__PURE__*/_interopNamespace(RadixRadioGroup);
|
|
61
58
|
var RadixSelect__namespace = /*#__PURE__*/_interopNamespace(RadixSelect);
|
|
@@ -241,24 +238,47 @@ function useAccordion(items) {
|
|
|
241
238
|
}, [value, onValueChange, scrollToItemFromUrl]);
|
|
242
239
|
}
|
|
243
240
|
var CLOSE_ICON_PATH = "M9.44 8.035a.791.791 0 0 0 1.12 0l3.802-3.803a.791.791 0 0 1 1.119 0l.287.287a.79.79 0 0 1 0 1.119L11.965 9.44a.79.79 0 0 0 0 1.118l3.803 3.803a.791.791 0 0 1 0 1.119l-.287.287a.791.791 0 0 1-1.119 0l-3.803-3.803a.79.79 0 0 0-1.118 0l-3.803 3.803a.79.79 0 0 1-1.119 0l-.287-.287a.791.791 0 0 1 0-1.119l3.803-3.803a.791.791 0 0 0 0-1.118L4.232 5.638a.791.791 0 0 1 0-1.119l.287-.287a.791.791 0 0 1 1.119 0L9.44 8.035Z";
|
|
241
|
+
var CloseButtonFrame = core.styled(core.View, {
|
|
242
|
+
name: "LuxCloseButton",
|
|
243
|
+
render: /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", "aria-label": "Close" }),
|
|
244
|
+
role: "button",
|
|
245
|
+
cursor: "pointer",
|
|
246
|
+
display: "inline-flex",
|
|
247
|
+
alignItems: "center",
|
|
248
|
+
justifyContent: "center",
|
|
249
|
+
width: 20,
|
|
250
|
+
height: 20,
|
|
251
|
+
minWidth: 0,
|
|
252
|
+
flexShrink: 1,
|
|
253
|
+
padding: 0,
|
|
254
|
+
borderRadius: 4,
|
|
255
|
+
borderWidth: 0,
|
|
256
|
+
overflow: "hidden",
|
|
257
|
+
backgroundColor: "transparent",
|
|
258
|
+
hoverStyle: {
|
|
259
|
+
backgroundColor: "transparent"
|
|
260
|
+
},
|
|
261
|
+
variants: {
|
|
262
|
+
disabled: {
|
|
263
|
+
true: {
|
|
264
|
+
opacity: 0.4,
|
|
265
|
+
pointerEvents: "none"
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
var CLOSE_BUTTON_CLASSES = [
|
|
271
|
+
"text-[var(--closeButton-fg,currentColor)]",
|
|
272
|
+
"hover:text-[var(--hover-color,currentColor)]",
|
|
273
|
+
"disabled:opacity-40"
|
|
274
|
+
].join(" ");
|
|
244
275
|
var CloseButton = React29__namespace.forwardRef(function CloseButton2(props, ref) {
|
|
245
276
|
const { variant: _variant, size: _size, className, children, ...rest } = props;
|
|
246
277
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
247
|
-
|
|
278
|
+
CloseButtonFrame,
|
|
248
279
|
{
|
|
249
|
-
type: "button",
|
|
250
|
-
"aria-label": "Close",
|
|
251
280
|
ref,
|
|
252
|
-
className:
|
|
253
|
-
"inline-flex items-center justify-center",
|
|
254
|
-
"size-5 min-w-0 shrink-0 p-0",
|
|
255
|
-
"rounded-sm border-0 overflow-hidden",
|
|
256
|
-
"bg-transparent text-[var(--closeButton-fg,currentColor)]",
|
|
257
|
-
"hover:bg-transparent hover:text-[var(--hover-color,currentColor)]",
|
|
258
|
-
"disabled:opacity-40",
|
|
259
|
-
"cursor-pointer",
|
|
260
|
-
className
|
|
261
|
-
),
|
|
281
|
+
className: [CLOSE_BUTTON_CLASSES, className].filter(Boolean).join(" "),
|
|
262
282
|
...rest,
|
|
263
283
|
children: children ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
264
284
|
"svg",
|
|
@@ -279,272 +299,137 @@ var CloseButton = React29__namespace.forwardRef(function CloseButton2(props, ref
|
|
|
279
299
|
}
|
|
280
300
|
);
|
|
281
301
|
});
|
|
282
|
-
var
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
302
|
+
var SHIM_PROPS = [
|
|
303
|
+
"w",
|
|
304
|
+
"h",
|
|
305
|
+
"minW",
|
|
306
|
+
"maxW",
|
|
307
|
+
"display",
|
|
308
|
+
"flexGrow",
|
|
309
|
+
"flexShrink",
|
|
310
|
+
"flexBasis",
|
|
311
|
+
"fontWeight",
|
|
312
|
+
"textStyle",
|
|
313
|
+
"borderRadius",
|
|
314
|
+
"alignSelf",
|
|
315
|
+
"alignItems",
|
|
316
|
+
"justifyContent",
|
|
317
|
+
"color",
|
|
318
|
+
"mt",
|
|
319
|
+
"mb",
|
|
320
|
+
"ml",
|
|
321
|
+
"mr",
|
|
322
|
+
"height",
|
|
323
|
+
"overflow",
|
|
324
|
+
"whiteSpace",
|
|
325
|
+
"textOverflow",
|
|
326
|
+
"textTransform",
|
|
327
|
+
"gap",
|
|
328
|
+
"gridTemplateColumns",
|
|
329
|
+
"minWidth",
|
|
330
|
+
"boxSize",
|
|
331
|
+
"py",
|
|
332
|
+
"px",
|
|
333
|
+
"p",
|
|
334
|
+
"hideBelow",
|
|
335
|
+
"fontSize",
|
|
336
|
+
"flexWrap",
|
|
337
|
+
"wordBreak",
|
|
338
|
+
"lineHeight",
|
|
339
|
+
"marginRight",
|
|
340
|
+
"position",
|
|
341
|
+
"background"
|
|
342
|
+
];
|
|
343
|
+
var S = 4;
|
|
344
|
+
function dim(v) {
|
|
345
|
+
if (v == null) return void 0;
|
|
346
|
+
if (typeof v === "number") return `${v * S}px`;
|
|
347
|
+
if (typeof v === "string") return v;
|
|
348
|
+
if (typeof v === "object") {
|
|
349
|
+
const o = v;
|
|
350
|
+
return o.base ?? o.lg ?? o.xl ?? Object.values(o)[0];
|
|
351
|
+
}
|
|
352
|
+
return void 0;
|
|
287
353
|
}
|
|
288
|
-
function
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
354
|
+
function sp(v) {
|
|
355
|
+
if (v === void 0) return void 0;
|
|
356
|
+
return typeof v === "number" ? `${v * S}px` : v;
|
|
357
|
+
}
|
|
358
|
+
function shimToStyle(props) {
|
|
359
|
+
const s = {};
|
|
360
|
+
if (props.w !== void 0) s.width = dim(props.w);
|
|
361
|
+
if (props.h !== void 0) s.height = dim(props.h);
|
|
362
|
+
if (props.minW !== void 0) s.minWidth = dim(props.minW);
|
|
363
|
+
if (props.maxW !== void 0) s.maxWidth = dim(props.maxW);
|
|
364
|
+
if (props.display !== void 0) s.display = props.display;
|
|
365
|
+
if (props.flexGrow !== void 0) s.flexGrow = props.flexGrow;
|
|
366
|
+
if (props.flexShrink !== void 0) s.flexShrink = props.flexShrink;
|
|
367
|
+
if (props.flexBasis !== void 0) s.flexBasis = props.flexBasis;
|
|
368
|
+
if (props.fontWeight !== void 0) s.fontWeight = props.fontWeight;
|
|
369
|
+
if (props.borderRadius !== void 0) s.borderRadius = props.borderRadius;
|
|
370
|
+
if (props.alignSelf !== void 0) s.alignSelf = props.alignSelf;
|
|
371
|
+
if (props.alignItems !== void 0) s.alignItems = props.alignItems;
|
|
372
|
+
if (props.justifyContent !== void 0) s.justifyContent = props.justifyContent;
|
|
373
|
+
if (props.color !== void 0) s.color = props.color;
|
|
374
|
+
if (props.mt !== void 0) s.marginTop = sp(props.mt);
|
|
375
|
+
if (props.mb !== void 0) s.marginBottom = sp(props.mb);
|
|
376
|
+
if (props.ml !== void 0) s.marginLeft = sp(props.ml);
|
|
377
|
+
if (props.mr !== void 0) s.marginRight = sp(props.mr);
|
|
378
|
+
if (props.height !== void 0) s.height = props.height;
|
|
379
|
+
if (props.overflow !== void 0) s.overflow = props.overflow;
|
|
380
|
+
if (props.whiteSpace !== void 0) s.whiteSpace = props.whiteSpace;
|
|
381
|
+
if (props.textOverflow !== void 0) s.textOverflow = props.textOverflow;
|
|
382
|
+
if (props.textTransform !== void 0) s.textTransform = props.textTransform;
|
|
383
|
+
if (props.gap !== void 0) s.gap = sp(props.gap);
|
|
384
|
+
if (props.gridTemplateColumns !== void 0) s.gridTemplateColumns = props.gridTemplateColumns;
|
|
385
|
+
if (props.minWidth !== void 0) s.minWidth = props.minWidth;
|
|
386
|
+
if (props.boxSize !== void 0) {
|
|
387
|
+
const v = typeof props.boxSize === "number" ? `${props.boxSize * S}px` : props.boxSize;
|
|
388
|
+
s.width = v;
|
|
389
|
+
s.height = v;
|
|
300
390
|
}
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
const v = resolveDimension(value);
|
|
306
|
-
if (v) style.width = v;
|
|
307
|
-
break;
|
|
308
|
-
}
|
|
309
|
-
case "h": {
|
|
310
|
-
const v = resolveDimension(value);
|
|
311
|
-
if (v) style.height = v;
|
|
312
|
-
break;
|
|
313
|
-
}
|
|
314
|
-
case "minW": {
|
|
315
|
-
const v = resolveDimension(value);
|
|
316
|
-
if (v) style.minWidth = v;
|
|
317
|
-
break;
|
|
318
|
-
}
|
|
319
|
-
case "maxW": {
|
|
320
|
-
const v = resolveDimension(value);
|
|
321
|
-
if (v) style.maxWidth = v;
|
|
322
|
-
break;
|
|
323
|
-
}
|
|
324
|
-
case "height":
|
|
325
|
-
style.height = value;
|
|
326
|
-
break;
|
|
327
|
-
case "display":
|
|
328
|
-
style.display = value;
|
|
329
|
-
break;
|
|
330
|
-
case "flexGrow":
|
|
331
|
-
style.flexGrow = value;
|
|
332
|
-
break;
|
|
333
|
-
case "flexShrink":
|
|
334
|
-
style.flexShrink = value;
|
|
335
|
-
break;
|
|
336
|
-
case "flexBasis":
|
|
337
|
-
style.flexBasis = value;
|
|
338
|
-
break;
|
|
339
|
-
case "fontWeight":
|
|
340
|
-
style.fontWeight = value;
|
|
341
|
-
break;
|
|
342
|
-
case "borderRadius":
|
|
343
|
-
style.borderRadius = value;
|
|
344
|
-
break;
|
|
345
|
-
case "alignSelf":
|
|
346
|
-
style.alignSelf = value;
|
|
347
|
-
break;
|
|
348
|
-
case "alignItems":
|
|
349
|
-
style.alignItems = value;
|
|
350
|
-
break;
|
|
351
|
-
case "justifyContent":
|
|
352
|
-
style.justifyContent = value;
|
|
353
|
-
break;
|
|
354
|
-
case "color":
|
|
355
|
-
style.color = value;
|
|
356
|
-
break;
|
|
357
|
-
case "mt":
|
|
358
|
-
style.marginTop = toStylePx(value);
|
|
359
|
-
break;
|
|
360
|
-
case "mb":
|
|
361
|
-
style.marginBottom = toStylePx(value);
|
|
362
|
-
break;
|
|
363
|
-
case "ml":
|
|
364
|
-
style.marginLeft = toStylePx(value);
|
|
365
|
-
break;
|
|
366
|
-
case "mr":
|
|
367
|
-
style.marginRight = toStylePx(value);
|
|
368
|
-
break;
|
|
369
|
-
case "overflow":
|
|
370
|
-
style.overflow = value;
|
|
371
|
-
break;
|
|
372
|
-
case "whiteSpace":
|
|
373
|
-
style.whiteSpace = value;
|
|
374
|
-
break;
|
|
375
|
-
case "textOverflow":
|
|
376
|
-
style.textOverflow = value;
|
|
377
|
-
break;
|
|
378
|
-
case "textTransform":
|
|
379
|
-
style.textTransform = value;
|
|
380
|
-
break;
|
|
381
|
-
case "gap":
|
|
382
|
-
style.gap = typeof value === "number" ? `${value * SPACING_SCALE}px` : value;
|
|
383
|
-
break;
|
|
384
|
-
case "gridTemplateColumns":
|
|
385
|
-
style.gridTemplateColumns = value;
|
|
386
|
-
break;
|
|
387
|
-
case "minWidth":
|
|
388
|
-
style.minWidth = value;
|
|
389
|
-
break;
|
|
390
|
-
case "boxSize": {
|
|
391
|
-
const s = typeof value === "number" ? `${value * SPACING_SCALE}px` : value;
|
|
392
|
-
style.width = s;
|
|
393
|
-
style.height = s;
|
|
394
|
-
break;
|
|
395
|
-
}
|
|
396
|
-
case "py": {
|
|
397
|
-
const v = toStylePx(value);
|
|
398
|
-
style.paddingTop = v;
|
|
399
|
-
style.paddingBottom = v;
|
|
400
|
-
break;
|
|
401
|
-
}
|
|
402
|
-
case "px": {
|
|
403
|
-
const v = toStylePx(value);
|
|
404
|
-
style.paddingLeft = v;
|
|
405
|
-
style.paddingRight = v;
|
|
406
|
-
break;
|
|
407
|
-
}
|
|
408
|
-
case "p": {
|
|
409
|
-
const v = toStylePx(value);
|
|
410
|
-
style.padding = v;
|
|
411
|
-
break;
|
|
412
|
-
}
|
|
413
|
-
case "hideBelow":
|
|
414
|
-
break;
|
|
415
|
-
// handled via className
|
|
416
|
-
case "textStyle":
|
|
417
|
-
break;
|
|
418
|
-
// drop textStyle, not directly applicable
|
|
419
|
-
case "fontSize":
|
|
420
|
-
style.fontSize = value;
|
|
421
|
-
break;
|
|
422
|
-
case "flexWrap":
|
|
423
|
-
style.flexWrap = value;
|
|
424
|
-
break;
|
|
425
|
-
case "wordBreak":
|
|
426
|
-
style.wordBreak = value;
|
|
427
|
-
break;
|
|
428
|
-
case "lineHeight":
|
|
429
|
-
style.lineHeight = value;
|
|
430
|
-
break;
|
|
431
|
-
case "marginRight":
|
|
432
|
-
style.marginRight = value;
|
|
433
|
-
break;
|
|
434
|
-
case "position":
|
|
435
|
-
style.position = value;
|
|
436
|
-
break;
|
|
437
|
-
case "background":
|
|
438
|
-
style.background = value;
|
|
439
|
-
break;
|
|
440
|
-
default:
|
|
441
|
-
rest[key] = value;
|
|
442
|
-
break;
|
|
443
|
-
}
|
|
391
|
+
if (props.py !== void 0) {
|
|
392
|
+
const v = sp(props.py);
|
|
393
|
+
s.paddingTop = v;
|
|
394
|
+
s.paddingBottom = v;
|
|
444
395
|
}
|
|
445
|
-
|
|
396
|
+
if (props.px !== void 0) {
|
|
397
|
+
const v = sp(props.px);
|
|
398
|
+
s.paddingLeft = v;
|
|
399
|
+
s.paddingRight = v;
|
|
400
|
+
}
|
|
401
|
+
if (props.p !== void 0) s.padding = sp(props.p);
|
|
402
|
+
if (props.fontSize !== void 0) s.fontSize = props.fontSize;
|
|
403
|
+
if (props.flexWrap !== void 0) s.flexWrap = props.flexWrap;
|
|
404
|
+
if (props.wordBreak !== void 0) s.wordBreak = props.wordBreak;
|
|
405
|
+
if (props.lineHeight !== void 0) s.lineHeight = props.lineHeight;
|
|
406
|
+
if (props.marginRight !== void 0) s.marginRight = props.marginRight;
|
|
407
|
+
if (props.position !== void 0) s.position = props.position;
|
|
408
|
+
if (props.background !== void 0) s.background = props.background;
|
|
409
|
+
return s;
|
|
410
|
+
}
|
|
411
|
+
function stripShims(props) {
|
|
412
|
+
const out = { ...props };
|
|
413
|
+
for (const k of SHIM_PROPS) delete out[k];
|
|
414
|
+
return out;
|
|
446
415
|
}
|
|
416
|
+
var SKELETON_CLASSES = [
|
|
417
|
+
"animate-skeleton-shimmer rounded-sm",
|
|
418
|
+
"bg-[linear-gradient(90deg,var(--color-skeleton-start)_0%,var(--color-skeleton-end)_50%,var(--color-skeleton-start)_100%)]",
|
|
419
|
+
"bg-[length:200%_100%]"
|
|
420
|
+
].join(" ");
|
|
421
|
+
var HIDE_BELOW_MAP = { lg: "lg:hidden", md: "md:hidden", sm: "sm:hidden" };
|
|
447
422
|
var Skeleton = React29__namespace.forwardRef(
|
|
448
423
|
function Skeleton2(props, ref) {
|
|
449
|
-
const {
|
|
450
|
-
|
|
451
|
-
asChild,
|
|
452
|
-
className,
|
|
453
|
-
children,
|
|
454
|
-
style: styleProp,
|
|
455
|
-
// Destructure style-prop shims so they don't leak into DOM
|
|
456
|
-
w: _w,
|
|
457
|
-
h: _h,
|
|
458
|
-
minW: _minW,
|
|
459
|
-
maxW: _maxW,
|
|
460
|
-
display: _display,
|
|
461
|
-
flexGrow: _flexGrow,
|
|
462
|
-
flexShrink: _flexShrink,
|
|
463
|
-
flexBasis: _flexBasis,
|
|
464
|
-
fontWeight: _fontWeight,
|
|
465
|
-
textStyle: _textStyle,
|
|
466
|
-
borderRadius: _borderRadius,
|
|
467
|
-
alignSelf: _alignSelf,
|
|
468
|
-
alignItems: _alignItems,
|
|
469
|
-
justifyContent: _justifyContent,
|
|
470
|
-
color: _color,
|
|
471
|
-
mt: _mt,
|
|
472
|
-
mb: _mb,
|
|
473
|
-
ml: _ml,
|
|
474
|
-
mr: _mr,
|
|
475
|
-
height: _height,
|
|
476
|
-
overflow: _overflow,
|
|
477
|
-
whiteSpace: _whiteSpace,
|
|
478
|
-
textOverflow: _textOverflow,
|
|
479
|
-
textTransform: _textTransform,
|
|
480
|
-
gap: _gap,
|
|
481
|
-
gridTemplateColumns: _gridTemplateColumns,
|
|
482
|
-
minWidth: _minWidth,
|
|
483
|
-
boxSize: _boxSize,
|
|
484
|
-
py: _py,
|
|
485
|
-
px: _px,
|
|
486
|
-
p: _p,
|
|
487
|
-
hideBelow: _hideBelow,
|
|
488
|
-
fontSize: _fontSize,
|
|
489
|
-
flexWrap: _flexWrap,
|
|
490
|
-
wordBreak: _wordBreak,
|
|
491
|
-
lineHeight: _lineHeight,
|
|
492
|
-
marginRight: _marginRight,
|
|
493
|
-
position: _position,
|
|
494
|
-
background: _background,
|
|
495
|
-
as: Component = "div",
|
|
496
|
-
...htmlRest
|
|
497
|
-
} = props;
|
|
498
|
-
const { style: shimStyle } = extractSkeletonStyleProps({
|
|
499
|
-
w: _w,
|
|
500
|
-
h: _h,
|
|
501
|
-
minW: _minW,
|
|
502
|
-
maxW: _maxW,
|
|
503
|
-
display: _display,
|
|
504
|
-
flexGrow: _flexGrow,
|
|
505
|
-
flexShrink: _flexShrink,
|
|
506
|
-
flexBasis: _flexBasis,
|
|
507
|
-
fontWeight: _fontWeight,
|
|
508
|
-
textStyle: _textStyle,
|
|
509
|
-
borderRadius: _borderRadius,
|
|
510
|
-
alignSelf: _alignSelf,
|
|
511
|
-
alignItems: _alignItems,
|
|
512
|
-
justifyContent: _justifyContent,
|
|
513
|
-
color: _color,
|
|
514
|
-
mt: _mt,
|
|
515
|
-
mb: _mb,
|
|
516
|
-
ml: _ml,
|
|
517
|
-
mr: _mr,
|
|
518
|
-
height: _height,
|
|
519
|
-
overflow: _overflow,
|
|
520
|
-
whiteSpace: _whiteSpace,
|
|
521
|
-
textOverflow: _textOverflow,
|
|
522
|
-
textTransform: _textTransform,
|
|
523
|
-
gap: _gap,
|
|
524
|
-
gridTemplateColumns: _gridTemplateColumns,
|
|
525
|
-
minWidth: _minWidth,
|
|
526
|
-
boxSize: _boxSize,
|
|
527
|
-
py: _py,
|
|
528
|
-
px: _px,
|
|
529
|
-
p: _p,
|
|
530
|
-
hideBelow: _hideBelow,
|
|
531
|
-
fontSize: _fontSize,
|
|
532
|
-
flexWrap: _flexWrap,
|
|
533
|
-
wordBreak: _wordBreak,
|
|
534
|
-
lineHeight: _lineHeight,
|
|
535
|
-
marginRight: _marginRight,
|
|
536
|
-
position: _position,
|
|
537
|
-
background: _background
|
|
538
|
-
});
|
|
424
|
+
const { loading = false, asChild, className, children, style: styleProp, as: Component = "div", ...allRest } = props;
|
|
425
|
+
const shimStyle = shimToStyle(props);
|
|
539
426
|
const mergedStyle = Object.keys(shimStyle).length > 0 || styleProp ? { ...shimStyle, ...styleProp } : void 0;
|
|
540
|
-
const
|
|
541
|
-
const
|
|
542
|
-
const
|
|
427
|
+
const hideBelowClass = props.hideBelow ? HIDE_BELOW_MAP[props.hideBelow] : void 0;
|
|
428
|
+
const cls = hideBelowClass ? cn(className, hideBelowClass) : className;
|
|
429
|
+
const htmlRest = stripShims(allRest);
|
|
543
430
|
if (!loading) {
|
|
544
|
-
if (asChild && React29__namespace.isValidElement(children))
|
|
545
|
-
|
|
546
|
-
}
|
|
547
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Component, { ref, className: finalClassName, style: mergedStyle, ...htmlRest, children });
|
|
431
|
+
if (asChild && React29__namespace.isValidElement(children)) return children;
|
|
432
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Component, { ref, className: cls, style: mergedStyle, ...htmlRest, children });
|
|
548
433
|
}
|
|
549
434
|
if (asChild && React29__namespace.isValidElement(children)) {
|
|
550
435
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -552,13 +437,7 @@ var Skeleton = React29__namespace.forwardRef(
|
|
|
552
437
|
{
|
|
553
438
|
ref,
|
|
554
439
|
"data-loading": true,
|
|
555
|
-
className: cn(
|
|
556
|
-
"animate-skeleton-shimmer rounded-sm",
|
|
557
|
-
"bg-[linear-gradient(90deg,var(--color-skeleton-start)_0%,var(--color-skeleton-end)_50%,var(--color-skeleton-start)_100%)]",
|
|
558
|
-
"bg-[length:200%_100%]",
|
|
559
|
-
"text-transparent [&_*]:invisible",
|
|
560
|
-
finalClassName
|
|
561
|
-
),
|
|
440
|
+
className: cn(SKELETON_CLASSES, "text-transparent [&_*]:invisible", cls),
|
|
562
441
|
style: mergedStyle,
|
|
563
442
|
...htmlRest,
|
|
564
443
|
children
|
|
@@ -570,13 +449,7 @@ var Skeleton = React29__namespace.forwardRef(
|
|
|
570
449
|
{
|
|
571
450
|
ref,
|
|
572
451
|
"data-loading": true,
|
|
573
|
-
className: cn(
|
|
574
|
-
"animate-skeleton-shimmer rounded-sm",
|
|
575
|
-
"bg-[linear-gradient(90deg,var(--color-skeleton-start)_0%,var(--color-skeleton-end)_50%,var(--color-skeleton-start)_100%)]",
|
|
576
|
-
"bg-[length:200%_100%]",
|
|
577
|
-
children ? "text-transparent [&_*]:invisible" : "min-h-5",
|
|
578
|
-
finalClassName
|
|
579
|
-
),
|
|
452
|
+
className: cn(SKELETON_CLASSES, children ? "text-transparent [&_*]:invisible" : "min-h-5", cls),
|
|
580
453
|
style: mergedStyle,
|
|
581
454
|
...htmlRest,
|
|
582
455
|
children
|
|
@@ -614,52 +487,22 @@ var SkeletonText = React29__namespace.forwardRef(
|
|
|
614
487
|
}
|
|
615
488
|
);
|
|
616
489
|
var IndicatorIcon2 = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { className, viewBox: "0 0 20 20", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm.75-11.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM9.25 10a.75.75 0 011.5 0v3a.75.75 0 01-1.5 0v-3z" }) });
|
|
617
|
-
var
|
|
618
|
-
|
|
619
|
-
"
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
},
|
|
634
|
-
defaultVariants: {
|
|
635
|
-
status: "info",
|
|
636
|
-
size: "md"
|
|
637
|
-
}
|
|
638
|
-
}
|
|
639
|
-
);
|
|
640
|
-
var alertContent = classVarianceAuthority.cva("flex flex-1", {
|
|
641
|
-
variants: {
|
|
642
|
-
inline: {
|
|
643
|
-
"true": "inline-flex flex-row items-center",
|
|
644
|
-
"false": "flex flex-col"
|
|
645
|
-
}
|
|
646
|
-
},
|
|
647
|
-
defaultVariants: {
|
|
648
|
-
inline: true
|
|
649
|
-
}
|
|
650
|
-
});
|
|
651
|
-
var INDICATOR_BASE = "inline-flex items-center justify-center shrink-0 w-5 h-5 text-[var(--color-alert-fg)] [&>svg]:w-full [&>svg]:h-full";
|
|
652
|
-
var indicatorVariants = classVarianceAuthority.cva(INDICATOR_BASE, {
|
|
653
|
-
variants: {
|
|
654
|
-
size: {
|
|
655
|
-
sm: "w-5 h-5 my-0",
|
|
656
|
-
md: "w-5 h-5 my-[2px]"
|
|
657
|
-
}
|
|
658
|
-
},
|
|
659
|
-
defaultVariants: {
|
|
660
|
-
size: "md"
|
|
661
|
-
}
|
|
662
|
-
});
|
|
490
|
+
var ALERT_BASE = "w-full flex items-start relative rounded text-[var(--color-alert-fg)]";
|
|
491
|
+
var STATUS_CLASSES = {
|
|
492
|
+
info: "bg-[var(--color-alert-bg-info)]",
|
|
493
|
+
warning: "bg-[var(--color-alert-bg-warning)]",
|
|
494
|
+
warning_table: "bg-[var(--color-alert-bg-warning-table)]",
|
|
495
|
+
success: "bg-[var(--color-alert-bg-success)]",
|
|
496
|
+
error: "bg-[var(--color-alert-bg-error)]"
|
|
497
|
+
};
|
|
498
|
+
var SIZE_CLASSES = {
|
|
499
|
+
sm: "gap-2 px-2 py-2 text-xs",
|
|
500
|
+
md: "gap-2 px-3 py-2 text-base"
|
|
501
|
+
};
|
|
502
|
+
var INDICATOR_SIZE_CLASSES = {
|
|
503
|
+
sm: "w-5 h-5 my-0",
|
|
504
|
+
md: "w-5 h-5 my-[2px]"
|
|
505
|
+
};
|
|
663
506
|
var Alert = React29__namespace.forwardRef(
|
|
664
507
|
function Alert2(props, ref) {
|
|
665
508
|
const {
|
|
@@ -695,7 +538,10 @@ var Alert = React29__namespace.forwardRef(
|
|
|
695
538
|
if (!showIcon && icon === void 0) {
|
|
696
539
|
return null;
|
|
697
540
|
}
|
|
698
|
-
return /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
541
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(
|
|
542
|
+
"inline-flex items-center justify-center shrink-0 text-[var(--color-alert-fg)] [&>svg]:w-full [&>svg]:h-full",
|
|
543
|
+
INDICATOR_SIZE_CLASSES[resolvedSize]
|
|
544
|
+
), children: icon || defaultIcon });
|
|
699
545
|
})();
|
|
700
546
|
const handleClose = React29__namespace.useCallback(() => {
|
|
701
547
|
setIsOpen(false);
|
|
@@ -728,12 +574,12 @@ var Alert = React29__namespace.forwardRef(
|
|
|
728
574
|
"div",
|
|
729
575
|
{
|
|
730
576
|
ref,
|
|
731
|
-
className: cn(
|
|
577
|
+
className: cn(ALERT_BASE, STATUS_CLASSES[status], SIZE_CLASSES[resolvedSize], className),
|
|
732
578
|
style: alertStyle,
|
|
733
579
|
...alertRest,
|
|
734
580
|
children: [
|
|
735
581
|
iconElement,
|
|
736
|
-
children ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
582
|
+
children ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-1", inline ? "inline-flex flex-row items-center" : "flex flex-col"), children: [
|
|
737
583
|
title && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-semibold", children: title }),
|
|
738
584
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
739
585
|
"div",
|
|
@@ -758,7 +604,7 @@ var Alert = React29__namespace.forwardRef(
|
|
|
758
604
|
) });
|
|
759
605
|
}
|
|
760
606
|
);
|
|
761
|
-
var
|
|
607
|
+
var SIZE_CLASSES2 = {
|
|
762
608
|
xs: "h-6 w-6 text-[10px]",
|
|
763
609
|
sm: "h-8 w-8 text-xs",
|
|
764
610
|
md: "h-10 w-10 text-sm",
|
|
@@ -803,7 +649,7 @@ var Avatar = React29__namespace.forwardRef(
|
|
|
803
649
|
ref,
|
|
804
650
|
className: cn(
|
|
805
651
|
"relative inline-flex shrink-0 items-center justify-center overflow-hidden rounded-full align-middle",
|
|
806
|
-
|
|
652
|
+
SIZE_CLASSES2[size],
|
|
807
653
|
VARIANT_CLASSES[variant],
|
|
808
654
|
!isBorderless && "ring-2 ring-white dark:ring-gray-900",
|
|
809
655
|
className
|
|
@@ -886,6 +732,10 @@ function useIsMobile() {
|
|
|
886
732
|
}, []);
|
|
887
733
|
return isMobile;
|
|
888
734
|
}
|
|
735
|
+
function mapPlacement(p) {
|
|
736
|
+
if (!p) return void 0;
|
|
737
|
+
return p;
|
|
738
|
+
}
|
|
889
739
|
var Tooltip = React29__namespace.forwardRef(
|
|
890
740
|
function Tooltip2(props, ref) {
|
|
891
741
|
const {
|
|
@@ -896,10 +746,8 @@ var Tooltip = React29__namespace.forwardRef(
|
|
|
896
746
|
children,
|
|
897
747
|
disabled,
|
|
898
748
|
disableOnMobile,
|
|
899
|
-
portalled = true,
|
|
900
749
|
content,
|
|
901
750
|
contentProps,
|
|
902
|
-
portalRef,
|
|
903
751
|
defaultOpen = false,
|
|
904
752
|
triggerProps,
|
|
905
753
|
closeDelay = 100,
|
|
@@ -947,36 +795,34 @@ var Tooltip = React29__namespace.forwardRef(
|
|
|
947
795
|
if (disabled || disableOnMobile && isMobile) return children;
|
|
948
796
|
const defaultShowArrow = variant === "popover" ? false : true;
|
|
949
797
|
const showArrow = showArrowProp !== void 0 ? showArrowProp : defaultShowArrow;
|
|
950
|
-
const placement = positioning?.placement ?? "top";
|
|
951
|
-
const side = placement.split("-")[0];
|
|
952
|
-
const align = placement.includes("-") ? placement.split("-")[1] : void 0;
|
|
953
|
-
const sideOffset = positioning?.offset?.mainAxis ?? 4;
|
|
954
798
|
const isPopover = variant === "popover";
|
|
955
|
-
|
|
956
|
-
|
|
799
|
+
const placement = mapPlacement(positioning?.placement) ?? "top";
|
|
800
|
+
const offset = positioning?.offset?.mainAxis ?? 4;
|
|
801
|
+
return /* @__PURE__ */ jsxRuntime.jsx(tooltip.TooltipGroup, { delay: openDelay, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
802
|
+
tooltip.Tooltip,
|
|
957
803
|
{
|
|
958
804
|
open,
|
|
959
805
|
onOpenChange: handleOpenChange,
|
|
960
|
-
|
|
806
|
+
delay: { open: openDelay, close: closeDelay },
|
|
807
|
+
placement,
|
|
808
|
+
offset,
|
|
809
|
+
unstyled: true,
|
|
961
810
|
children: [
|
|
962
811
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
963
|
-
|
|
812
|
+
tooltip.Tooltip.Trigger,
|
|
964
813
|
{
|
|
965
814
|
ref: open ? triggerRef : void 0,
|
|
966
815
|
asChild: true,
|
|
967
|
-
|
|
816
|
+
...isMobile ? { onPress: handleTriggerClick } : {},
|
|
968
817
|
...triggerProps,
|
|
969
818
|
children
|
|
970
819
|
}
|
|
971
820
|
),
|
|
972
|
-
/* @__PURE__ */ jsxRuntime.
|
|
973
|
-
|
|
821
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
822
|
+
tooltip.Tooltip.Content,
|
|
974
823
|
{
|
|
975
824
|
ref,
|
|
976
|
-
|
|
977
|
-
align,
|
|
978
|
-
sideOffset,
|
|
979
|
-
onClick: interactive ? handleContentClick : void 0,
|
|
825
|
+
unstyled: true,
|
|
980
826
|
className: cn(
|
|
981
827
|
"z-[9999] overflow-hidden rounded-lg px-3 py-2 text-sm",
|
|
982
828
|
"animate-in fade-in-0 zoom-in-95",
|
|
@@ -985,12 +831,14 @@ var Tooltip = React29__namespace.forwardRef(
|
|
|
985
831
|
!isPopover && "bg-[var(--color-tooltip-bg)] text-[var(--color-tooltip-fg)] max-w-xs",
|
|
986
832
|
contentProps?.className
|
|
987
833
|
),
|
|
834
|
+
onClick: interactive ? handleContentClick : void 0,
|
|
988
835
|
...selected ? { "data-selected": true } : {},
|
|
989
836
|
...contentProps,
|
|
990
837
|
children: [
|
|
991
838
|
showArrow && /* @__PURE__ */ jsxRuntime.jsx(
|
|
992
|
-
|
|
839
|
+
tooltip.Tooltip.Arrow,
|
|
993
840
|
{
|
|
841
|
+
unstyled: true,
|
|
994
842
|
className: cn(
|
|
995
843
|
isPopover ? "fill-[var(--color-popover-bg)]" : "fill-[var(--color-tooltip-bg)]"
|
|
996
844
|
)
|
|
@@ -999,7 +847,7 @@ var Tooltip = React29__namespace.forwardRef(
|
|
|
999
847
|
content
|
|
1000
848
|
]
|
|
1001
849
|
}
|
|
1002
|
-
)
|
|
850
|
+
)
|
|
1003
851
|
]
|
|
1004
852
|
}
|
|
1005
853
|
) });
|
|
@@ -1008,26 +856,12 @@ var Tooltip = React29__namespace.forwardRef(
|
|
|
1008
856
|
function TruncatedTextTooltip({ label, children }) {
|
|
1009
857
|
return /* @__PURE__ */ jsxRuntime.jsx(Tooltip, { content: label, positioning: { placement: "top" }, children });
|
|
1010
858
|
}
|
|
1011
|
-
var
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
solid: ""
|
|
1018
|
-
},
|
|
1019
|
-
size: {
|
|
1020
|
-
sm: "text-xs p-1 h-[18px] min-h-[18px]",
|
|
1021
|
-
md: "text-sm px-1 py-0.5 min-h-6",
|
|
1022
|
-
lg: "text-sm px-2 py-1 min-h-7 font-semibold"
|
|
1023
|
-
}
|
|
1024
|
-
},
|
|
1025
|
-
defaultVariants: {
|
|
1026
|
-
variant: "subtle",
|
|
1027
|
-
size: "md"
|
|
1028
|
-
}
|
|
1029
|
-
}
|
|
1030
|
-
);
|
|
859
|
+
var BASE_CLASSES = "inline-flex items-center rounded-sm gap-1 font-medium w-fit max-w-full whitespace-nowrap select-text";
|
|
860
|
+
var SIZE_CLASSES3 = {
|
|
861
|
+
sm: "text-xs p-1 h-[18px] min-h-[18px]",
|
|
862
|
+
md: "text-sm px-1 py-0.5 min-h-6",
|
|
863
|
+
lg: "text-sm px-2 py-1 min-h-7 font-semibold"
|
|
864
|
+
};
|
|
1031
865
|
var COLOR_PALETTE_CLASSES = {
|
|
1032
866
|
gray: "bg-badge-gray-bg text-badge-gray-fg",
|
|
1033
867
|
green: "bg-badge-green-bg text-badge-green-fg",
|
|
@@ -1052,6 +886,7 @@ var COLOR_PALETTE_CLASSES = {
|
|
|
1052
886
|
bright_purple: "bg-badge-bright-purple-bg text-badge-bright-purple-fg",
|
|
1053
887
|
bright_pink: "bg-badge-bright-pink-bg text-badge-bright-pink-fg"
|
|
1054
888
|
};
|
|
889
|
+
var S2 = 4;
|
|
1055
890
|
var Badge = React29__namespace.default.forwardRef(
|
|
1056
891
|
function Badge2(props, ref) {
|
|
1057
892
|
const {
|
|
@@ -1060,8 +895,8 @@ var Badge = React29__namespace.default.forwardRef(
|
|
|
1060
895
|
children,
|
|
1061
896
|
truncated = false,
|
|
1062
897
|
endElement,
|
|
1063
|
-
variant,
|
|
1064
|
-
size,
|
|
898
|
+
variant: _variant,
|
|
899
|
+
size = "md",
|
|
1065
900
|
colorPalette = "gray",
|
|
1066
901
|
className,
|
|
1067
902
|
flexShrink: _flexShrink,
|
|
@@ -1073,16 +908,16 @@ var Badge = React29__namespace.default.forwardRef(
|
|
|
1073
908
|
} = props;
|
|
1074
909
|
const shimStyle = { ...styleProp };
|
|
1075
910
|
if (_flexShrink !== void 0) shimStyle.flexShrink = _flexShrink;
|
|
1076
|
-
if (_gap !== void 0) shimStyle.gap = typeof _gap === "number" ? `${_gap *
|
|
911
|
+
if (_gap !== void 0) shimStyle.gap = typeof _gap === "number" ? `${_gap * S2}px` : _gap;
|
|
1077
912
|
if (_ml !== void 0) {
|
|
1078
913
|
if (typeof _ml === "object") {
|
|
1079
914
|
const obj = _ml;
|
|
1080
|
-
shimStyle.marginLeft = `${(obj.base ?? obj.lg ?? 0) *
|
|
915
|
+
shimStyle.marginLeft = `${(obj.base ?? obj.lg ?? 0) * S2}px`;
|
|
1081
916
|
} else {
|
|
1082
|
-
shimStyle.marginLeft = typeof _ml === "number" ? `${_ml *
|
|
917
|
+
shimStyle.marginLeft = typeof _ml === "number" ? `${_ml * S2}px` : _ml;
|
|
1083
918
|
}
|
|
1084
919
|
}
|
|
1085
|
-
if (_mr !== void 0) shimStyle.marginRight = typeof _mr === "number" ? `${_mr *
|
|
920
|
+
if (_mr !== void 0) shimStyle.marginRight = typeof _mr === "number" ? `${_mr * S2}px` : _mr;
|
|
1086
921
|
const badgeStyle = Object.keys(shimStyle).length > 0 ? shimStyle : void 0;
|
|
1087
922
|
const child = children ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "overflow-hidden text-ellipsis", children }) : null;
|
|
1088
923
|
const childrenElement = truncated ? /* @__PURE__ */ jsxRuntime.jsx(TruncatedTextTooltip, { label: children, children: child }) : child;
|
|
@@ -1091,7 +926,8 @@ var Badge = React29__namespace.default.forwardRef(
|
|
|
1091
926
|
{
|
|
1092
927
|
ref,
|
|
1093
928
|
className: cn(
|
|
1094
|
-
|
|
929
|
+
BASE_CLASSES,
|
|
930
|
+
SIZE_CLASSES3[size],
|
|
1095
931
|
COLOR_PALETTE_CLASSES[colorPalette],
|
|
1096
932
|
className
|
|
1097
933
|
),
|
|
@@ -1110,171 +946,202 @@ var Badge = React29__namespace.default.forwardRef(
|
|
|
1110
946
|
return badgeElement;
|
|
1111
947
|
}
|
|
1112
948
|
);
|
|
1113
|
-
var
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
variant: {
|
|
1125
|
-
// --- Solid ---
|
|
1126
|
-
solid: [
|
|
1127
|
-
"bg-[var(--color-button-solid-bg)] text-[var(--color-button-solid-text)]",
|
|
1128
|
-
"hover:bg-[var(--color-hover)]",
|
|
1129
|
-
"data-[expanded]:bg-[var(--color-hover)]"
|
|
1130
|
-
],
|
|
1131
|
-
// --- Solid Danger ---
|
|
1132
|
-
solid_danger: [
|
|
1133
|
-
"bg-red-600 text-[var(--color-button-solid-text)]",
|
|
1134
|
-
"hover:bg-red-500",
|
|
1135
|
-
"data-[expanded]:bg-red-500"
|
|
1136
|
-
],
|
|
1137
|
-
// --- Outline ---
|
|
1138
|
-
outline: [
|
|
1139
|
-
"border-2 border-solid bg-transparent",
|
|
1140
|
-
"text-[var(--color-button-outline-fg)] border-[var(--color-button-outline-fg)]",
|
|
1141
|
-
"hover:bg-transparent hover:text-[var(--color-hover)] hover:border-[var(--color-hover)]"
|
|
1142
|
-
],
|
|
1143
|
-
// --- Outline Danger ---
|
|
1144
|
-
outline_danger: [
|
|
1145
|
-
"border-2 border-solid bg-transparent",
|
|
1146
|
-
"text-red-600 border-red-600",
|
|
1147
|
-
"hover:bg-transparent hover:text-red-500 hover:border-red-500"
|
|
1148
|
-
],
|
|
1149
|
-
// --- Dropdown ---
|
|
1150
|
-
dropdown: [
|
|
1151
|
-
"border-2 border-solid bg-transparent",
|
|
1152
|
-
"text-[var(--color-button-dropdown-fg)] border-[var(--color-button-dropdown-border)]",
|
|
1153
|
-
"hover:bg-transparent hover:text-[var(--color-hover)] hover:border-[var(--color-hover)]",
|
|
1154
|
-
"data-[expanded]:bg-transparent data-[expanded]:text-[var(--color-hover)] data-[expanded]:border-[var(--color-hover)]",
|
|
1155
|
-
"data-[selected]:bg-[var(--color-selected-control-bg)] data-[selected]:text-[var(--color-selected-control-text)] data-[selected]:border-transparent",
|
|
1156
|
-
"data-[selected]:hover:bg-[var(--color-selected-control-bg)]",
|
|
1157
|
-
"data-[selected]:hover:text-[var(--color-hover)] data-[selected]:hover:border-transparent",
|
|
1158
|
-
"data-[selected]:data-[expanded]:text-[var(--color-hover)]"
|
|
1159
|
-
],
|
|
1160
|
-
// --- Header ---
|
|
1161
|
-
header: [
|
|
1162
|
-
"bg-transparent border-2 border-solid",
|
|
1163
|
-
"text-[var(--color-button-header-fg)] border-[var(--color-button-header-border)]",
|
|
1164
|
-
"hover:bg-transparent hover:text-[var(--color-hover)] hover:border-[var(--color-hover)]",
|
|
1165
|
-
// selected
|
|
1166
|
-
"data-[selected]:bg-[var(--color-button-header-bg-selected)]",
|
|
1167
|
-
"data-[selected]:text-[var(--color-button-header-fg-selected)] data-[selected]:border-transparent data-[selected]:border-0",
|
|
1168
|
-
"data-[selected]:hover:bg-[var(--color-button-header-bg-selected)] data-[selected]:hover:text-[var(--color-hover)]",
|
|
1169
|
-
"data-[selected]:data-[expanded]:text-[var(--color-hover)]",
|
|
1170
|
-
// selected + highlighted
|
|
1171
|
-
"data-[selected]:data-[highlighted]:bg-[var(--color-button-header-bg-highlighted)]",
|
|
1172
|
-
"data-[selected]:data-[highlighted]:text-[var(--color-button-header-fg-highlighted)]",
|
|
1173
|
-
"data-[selected]:data-[highlighted]:border-transparent data-[selected]:data-[highlighted]:border-0",
|
|
1174
|
-
"data-[selected]:data-[highlighted]:hover:bg-[var(--color-button-header-bg-highlighted)]",
|
|
1175
|
-
"data-[selected]:data-[highlighted]:hover:text-[var(--color-hover)]",
|
|
1176
|
-
"data-[selected]:data-[highlighted]:data-[expanded]:text-[var(--color-hover)]"
|
|
1177
|
-
],
|
|
1178
|
-
// --- Hero ---
|
|
1179
|
-
hero: [
|
|
1180
|
-
"bg-[var(--color-button-hero-bg)] text-[var(--color-button-hero-fg)]",
|
|
1181
|
-
"hover:bg-[var(--color-button-hero-bg-hover)] hover:text-[var(--color-button-hero-fg-hover)]",
|
|
1182
|
-
"data-[selected]:bg-[var(--color-button-hero-bg-selected)] data-[selected]:text-[var(--color-button-hero-fg-selected)]",
|
|
1183
|
-
"data-[selected]:hover:bg-[var(--color-button-hero-bg-selected)] data-[selected]:hover:text-[var(--color-hover)]",
|
|
1184
|
-
"data-[selected]:data-[expanded]:text-[var(--color-hover)]"
|
|
1185
|
-
],
|
|
1186
|
-
// --- Segmented ---
|
|
1187
|
-
segmented: [
|
|
1188
|
-
"bg-transparent border-2 border-solid rounded-none",
|
|
1189
|
-
"text-[var(--color-button-segmented-fg)] border-[var(--color-selected-control-bg)]",
|
|
1190
|
-
"hover:text-[var(--color-hover)]",
|
|
1191
|
-
// selected
|
|
1192
|
-
"data-[selected]:bg-[var(--color-selected-control-bg)] data-[selected]:text-[var(--color-selected-control-text)]",
|
|
1193
|
-
"data-[selected]:hover:bg-[var(--color-selected-control-bg)] data-[selected]:hover:text-[var(--color-selected-control-text)]",
|
|
1194
|
-
// border collapse: hide right border except when selected; first/last get rounded
|
|
1195
|
-
"[&:not(:last-child)]:border-r-0 data-[selected]:[&:not(:last-child)]:border-r-2",
|
|
1196
|
-
"data-[selected]+*:border-l-0",
|
|
1197
|
-
"first:rounded-l-md last:rounded-r-md"
|
|
1198
|
-
],
|
|
1199
|
-
// --- Plain ---
|
|
1200
|
-
plain: [
|
|
1201
|
-
"bg-transparent text-inherit border-none",
|
|
1202
|
-
"hover:bg-transparent"
|
|
1203
|
-
],
|
|
1204
|
-
// --- Subtle ---
|
|
1205
|
-
subtle: [
|
|
1206
|
-
"bg-[var(--color-button-subtle-bg)] text-[var(--color-button-subtle-fg)]",
|
|
1207
|
-
"hover:bg-[var(--color-button-subtle-bg)] hover:text-[var(--color-hover)]",
|
|
1208
|
-
"disabled:bg-[var(--color-button-subtle-bg)] disabled:text-[var(--color-button-subtle-fg)]"
|
|
1209
|
-
],
|
|
1210
|
-
// --- Link ---
|
|
1211
|
-
link: [
|
|
1212
|
-
"bg-transparent text-[var(--color-link-primary)] border-none font-normal",
|
|
1213
|
-
"px-0 h-auto",
|
|
1214
|
-
"hover:bg-transparent hover:text-[var(--color-link-primary-hover)]",
|
|
1215
|
-
"disabled:text-[var(--color-text-secondary)]"
|
|
1216
|
-
],
|
|
1217
|
-
// --- Icon Secondary ---
|
|
1218
|
-
icon_secondary: [
|
|
1219
|
-
"bg-transparent text-[var(--color-icon-secondary)] border-none",
|
|
1220
|
-
"hover:text-[var(--color-hover)]",
|
|
1221
|
-
"data-[selected]:bg-[var(--color-selected-control-bg)] data-[selected]:text-[var(--color-selected-control-text)]",
|
|
1222
|
-
"data-[selected]:hover:bg-[var(--color-selected-control-bg)] data-[selected]:hover:text-[var(--color-hover)]",
|
|
1223
|
-
"data-[selected]:data-[expanded]:text-[var(--color-hover)]",
|
|
1224
|
-
"data-[expanded]:text-[var(--color-hover)]"
|
|
1225
|
-
],
|
|
1226
|
-
// --- Icon Background ---
|
|
1227
|
-
icon_background: [
|
|
1228
|
-
"bg-[var(--color-button-icon-background-bg)] text-[var(--color-icon-secondary)] border-none",
|
|
1229
|
-
"hover:text-[var(--color-hover)]",
|
|
1230
|
-
"data-[selected]:bg-[var(--color-selected-control-bg)] data-[selected]:text-[var(--color-selected-control-text)]",
|
|
1231
|
-
"data-[selected]:hover:bg-[var(--color-selected-control-bg)] data-[selected]:hover:text-[var(--color-hover)]",
|
|
1232
|
-
"data-[selected]:data-[expanded]:text-[var(--color-hover)]",
|
|
1233
|
-
"data-[expanded]:text-[var(--color-hover)]"
|
|
1234
|
-
],
|
|
1235
|
-
// --- Pagination ---
|
|
1236
|
-
pagination: [
|
|
1237
|
-
"border-2 border-solid bg-transparent",
|
|
1238
|
-
"text-[var(--color-button-pagination-fg)] border-[var(--color-button-pagination-border)]",
|
|
1239
|
-
"hover:bg-transparent hover:text-[var(--color-hover)] hover:border-[var(--color-hover)]",
|
|
1240
|
-
"data-[selected]:bg-[var(--color-selected-control-bg)] data-[selected]:text-[var(--color-selected-control-text)] data-[selected]:border-transparent",
|
|
1241
|
-
"data-[selected]:hover:bg-[var(--color-selected-control-bg)]",
|
|
1242
|
-
"data-[selected]:hover:text-[var(--color-selected-control-text)] data-[selected]:hover:border-transparent"
|
|
1243
|
-
]
|
|
1244
|
-
},
|
|
1245
|
-
size: {
|
|
1246
|
-
"2xs": "px-2 h-5 min-w-5 text-xs rounded-sm gap-1",
|
|
1247
|
-
xs: "px-2 h-6 min-w-6 text-sm rounded-sm gap-1",
|
|
1248
|
-
sm: "px-3 h-8 min-w-8 text-sm rounded-md gap-1",
|
|
1249
|
-
md: "px-3 h-10 min-w-10 text-base rounded-md gap-2"
|
|
1250
|
-
}
|
|
1251
|
-
},
|
|
1252
|
-
defaultVariants: {
|
|
1253
|
-
variant: "solid",
|
|
1254
|
-
size: "md"
|
|
1255
|
-
}
|
|
1256
|
-
}
|
|
1257
|
-
);
|
|
949
|
+
var SpinnerFrame = core.styled(core.View, {
|
|
950
|
+
name: "ButtonSpinner",
|
|
951
|
+
render: /* @__PURE__ */ jsxRuntime.jsx("span", {}),
|
|
952
|
+
width: 16,
|
|
953
|
+
height: 16,
|
|
954
|
+
borderRadius: 1e3,
|
|
955
|
+
borderWidth: 2,
|
|
956
|
+
borderColor: "currentColor",
|
|
957
|
+
borderBottomColor: "transparent",
|
|
958
|
+
borderLeftColor: "transparent"
|
|
959
|
+
});
|
|
1258
960
|
function Spinner({ className }) {
|
|
1259
961
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1260
|
-
|
|
962
|
+
SpinnerFrame,
|
|
1261
963
|
{
|
|
1262
|
-
className: cn(
|
|
1263
|
-
"inline-block h-4 w-4 animate-spin rounded-full",
|
|
1264
|
-
"border-2 border-current border-b-transparent border-l-transparent",
|
|
1265
|
-
className
|
|
1266
|
-
),
|
|
1267
964
|
role: "status",
|
|
1268
|
-
"aria-label": "Loading"
|
|
965
|
+
"aria-label": "Loading",
|
|
966
|
+
className: [
|
|
967
|
+
"animate-spin",
|
|
968
|
+
className
|
|
969
|
+
].filter(Boolean).join(" ")
|
|
1269
970
|
}
|
|
1270
971
|
);
|
|
1271
972
|
}
|
|
973
|
+
var ButtonFrame = core.styled(core.View, {
|
|
974
|
+
name: "LuxButton",
|
|
975
|
+
render: /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button" }),
|
|
976
|
+
role: "button",
|
|
977
|
+
tabIndex: 0,
|
|
978
|
+
cursor: "pointer",
|
|
979
|
+
userSelect: "none",
|
|
980
|
+
display: "inline-flex",
|
|
981
|
+
alignItems: "center",
|
|
982
|
+
justifyContent: "center",
|
|
983
|
+
gap: 0,
|
|
984
|
+
overflow: "hidden",
|
|
985
|
+
borderRadius: 6,
|
|
986
|
+
// Whitespace nowrap via className since hanzogui doesn't have a direct token
|
|
987
|
+
// Transition via className
|
|
988
|
+
variants: {
|
|
989
|
+
size: {
|
|
990
|
+
"2xs": { paddingHorizontal: 8, height: 20, minWidth: 20, fontSize: 12, borderRadius: 4, gap: 4 },
|
|
991
|
+
xs: { paddingHorizontal: 8, height: 24, minWidth: 24, fontSize: 14, borderRadius: 4, gap: 4 },
|
|
992
|
+
sm: { paddingHorizontal: 12, height: 32, minWidth: 32, fontSize: 14, borderRadius: 6, gap: 4 },
|
|
993
|
+
md: { paddingHorizontal: 12, height: 40, minWidth: 40, fontSize: 16, borderRadius: 6, gap: 8 }
|
|
994
|
+
},
|
|
995
|
+
disabled: {
|
|
996
|
+
true: {
|
|
997
|
+
opacity: 0.2,
|
|
998
|
+
cursor: "not-allowed",
|
|
999
|
+
pointerEvents: "none"
|
|
1000
|
+
}
|
|
1001
|
+
}
|
|
1002
|
+
},
|
|
1003
|
+
defaultVariants: {
|
|
1004
|
+
size: "md"
|
|
1005
|
+
}
|
|
1006
|
+
});
|
|
1007
|
+
var VARIANT_CLASSES2 = {
|
|
1008
|
+
solid: [
|
|
1009
|
+
"bg-[var(--color-button-solid-bg)] text-[var(--color-button-solid-text)]",
|
|
1010
|
+
"hover:bg-[var(--color-hover)]",
|
|
1011
|
+
"data-[expanded]:bg-[var(--color-hover)]"
|
|
1012
|
+
].join(" "),
|
|
1013
|
+
solid_danger: [
|
|
1014
|
+
"bg-red-600 text-[var(--color-button-solid-text)]",
|
|
1015
|
+
"hover:bg-red-500",
|
|
1016
|
+
"data-[expanded]:bg-red-500"
|
|
1017
|
+
].join(" "),
|
|
1018
|
+
outline: [
|
|
1019
|
+
"border-2 border-solid bg-transparent",
|
|
1020
|
+
"text-[var(--color-button-outline-fg)] border-[var(--color-button-outline-fg)]",
|
|
1021
|
+
"hover:bg-transparent hover:text-[var(--color-hover)] hover:border-[var(--color-hover)]"
|
|
1022
|
+
].join(" "),
|
|
1023
|
+
outline_danger: [
|
|
1024
|
+
"border-2 border-solid bg-transparent",
|
|
1025
|
+
"text-red-600 border-red-600",
|
|
1026
|
+
"hover:bg-transparent hover:text-red-500 hover:border-red-500"
|
|
1027
|
+
].join(" "),
|
|
1028
|
+
dropdown: [
|
|
1029
|
+
"border-2 border-solid bg-transparent",
|
|
1030
|
+
"text-[var(--color-button-dropdown-fg)] border-[var(--color-button-dropdown-border)]",
|
|
1031
|
+
"hover:bg-transparent hover:text-[var(--color-hover)] hover:border-[var(--color-hover)]",
|
|
1032
|
+
"data-[expanded]:bg-transparent data-[expanded]:text-[var(--color-hover)] data-[expanded]:border-[var(--color-hover)]",
|
|
1033
|
+
"data-[selected]:bg-[var(--color-selected-control-bg)] data-[selected]:text-[var(--color-selected-control-text)] data-[selected]:border-transparent",
|
|
1034
|
+
"data-[selected]:hover:bg-[var(--color-selected-control-bg)]",
|
|
1035
|
+
"data-[selected]:hover:text-[var(--color-hover)] data-[selected]:hover:border-transparent",
|
|
1036
|
+
"data-[selected]:data-[expanded]:text-[var(--color-hover)]"
|
|
1037
|
+
].join(" "),
|
|
1038
|
+
header: [
|
|
1039
|
+
"bg-transparent border-2 border-solid",
|
|
1040
|
+
"text-[var(--color-button-header-fg)] border-[var(--color-button-header-border)]",
|
|
1041
|
+
"hover:bg-transparent hover:text-[var(--color-hover)] hover:border-[var(--color-hover)]",
|
|
1042
|
+
"data-[selected]:bg-[var(--color-button-header-bg-selected)]",
|
|
1043
|
+
"data-[selected]:text-[var(--color-button-header-fg-selected)] data-[selected]:border-transparent data-[selected]:border-0",
|
|
1044
|
+
"data-[selected]:hover:bg-[var(--color-button-header-bg-selected)] data-[selected]:hover:text-[var(--color-hover)]",
|
|
1045
|
+
"data-[selected]:data-[expanded]:text-[var(--color-hover)]",
|
|
1046
|
+
"data-[selected]:data-[highlighted]:bg-[var(--color-button-header-bg-highlighted)]",
|
|
1047
|
+
"data-[selected]:data-[highlighted]:text-[var(--color-button-header-fg-highlighted)]",
|
|
1048
|
+
"data-[selected]:data-[highlighted]:border-transparent data-[selected]:data-[highlighted]:border-0",
|
|
1049
|
+
"data-[selected]:data-[highlighted]:hover:bg-[var(--color-button-header-bg-highlighted)]",
|
|
1050
|
+
"data-[selected]:data-[highlighted]:hover:text-[var(--color-hover)]",
|
|
1051
|
+
"data-[selected]:data-[highlighted]:data-[expanded]:text-[var(--color-hover)]"
|
|
1052
|
+
].join(" "),
|
|
1053
|
+
hero: [
|
|
1054
|
+
"bg-[var(--color-button-hero-bg)] text-[var(--color-button-hero-fg)]",
|
|
1055
|
+
"hover:bg-[var(--color-button-hero-bg-hover)] hover:text-[var(--color-button-hero-fg-hover)]",
|
|
1056
|
+
"data-[selected]:bg-[var(--color-button-hero-bg-selected)] data-[selected]:text-[var(--color-button-hero-fg-selected)]",
|
|
1057
|
+
"data-[selected]:hover:bg-[var(--color-button-hero-bg-selected)] data-[selected]:hover:text-[var(--color-hover)]",
|
|
1058
|
+
"data-[selected]:data-[expanded]:text-[var(--color-hover)]"
|
|
1059
|
+
].join(" "),
|
|
1060
|
+
segmented: [
|
|
1061
|
+
"bg-transparent border-2 border-solid rounded-none",
|
|
1062
|
+
"text-[var(--color-button-segmented-fg)] border-[var(--color-selected-control-bg)]",
|
|
1063
|
+
"hover:text-[var(--color-hover)]",
|
|
1064
|
+
"data-[selected]:bg-[var(--color-selected-control-bg)] data-[selected]:text-[var(--color-selected-control-text)]",
|
|
1065
|
+
"data-[selected]:hover:bg-[var(--color-selected-control-bg)] data-[selected]:hover:text-[var(--color-selected-control-text)]",
|
|
1066
|
+
"[&:not(:last-child)]:border-r-0 data-[selected]:[&:not(:last-child)]:border-r-2",
|
|
1067
|
+
"data-[selected]+*:border-l-0",
|
|
1068
|
+
"first:rounded-l-md last:rounded-r-md"
|
|
1069
|
+
].join(" "),
|
|
1070
|
+
plain: "bg-transparent text-inherit border-none hover:bg-transparent",
|
|
1071
|
+
subtle: [
|
|
1072
|
+
"bg-[var(--color-button-subtle-bg)] text-[var(--color-button-subtle-fg)]",
|
|
1073
|
+
"hover:bg-[var(--color-button-subtle-bg)] hover:text-[var(--color-hover)]",
|
|
1074
|
+
"disabled:bg-[var(--color-button-subtle-bg)] disabled:text-[var(--color-button-subtle-fg)]"
|
|
1075
|
+
].join(" "),
|
|
1076
|
+
link: [
|
|
1077
|
+
"bg-transparent text-[var(--color-link-primary)] border-none font-normal",
|
|
1078
|
+
"px-0 h-auto",
|
|
1079
|
+
"hover:bg-transparent hover:text-[var(--color-link-primary-hover)]",
|
|
1080
|
+
"disabled:text-[var(--color-text-secondary)]"
|
|
1081
|
+
].join(" "),
|
|
1082
|
+
icon_secondary: [
|
|
1083
|
+
"bg-transparent text-[var(--color-icon-secondary)] border-none",
|
|
1084
|
+
"hover:text-[var(--color-hover)]",
|
|
1085
|
+
"data-[selected]:bg-[var(--color-selected-control-bg)] data-[selected]:text-[var(--color-selected-control-text)]",
|
|
1086
|
+
"data-[selected]:hover:bg-[var(--color-selected-control-bg)] data-[selected]:hover:text-[var(--color-hover)]",
|
|
1087
|
+
"data-[selected]:data-[expanded]:text-[var(--color-hover)]",
|
|
1088
|
+
"data-[expanded]:text-[var(--color-hover)]"
|
|
1089
|
+
].join(" "),
|
|
1090
|
+
icon_background: [
|
|
1091
|
+
"bg-[var(--color-button-icon-background-bg)] text-[var(--color-icon-secondary)] border-none",
|
|
1092
|
+
"hover:text-[var(--color-hover)]",
|
|
1093
|
+
"data-[selected]:bg-[var(--color-selected-control-bg)] data-[selected]:text-[var(--color-selected-control-text)]",
|
|
1094
|
+
"data-[selected]:hover:bg-[var(--color-selected-control-bg)] data-[selected]:hover:text-[var(--color-hover)]",
|
|
1095
|
+
"data-[selected]:data-[expanded]:text-[var(--color-hover)]",
|
|
1096
|
+
"data-[expanded]:text-[var(--color-hover)]"
|
|
1097
|
+
].join(" "),
|
|
1098
|
+
pagination: [
|
|
1099
|
+
"border-2 border-solid bg-transparent",
|
|
1100
|
+
"text-[var(--color-button-pagination-fg)] border-[var(--color-button-pagination-border)]",
|
|
1101
|
+
"hover:bg-transparent hover:text-[var(--color-hover)] hover:border-[var(--color-hover)]",
|
|
1102
|
+
"data-[selected]:bg-[var(--color-selected-control-bg)] data-[selected]:text-[var(--color-selected-control-text)] data-[selected]:border-transparent",
|
|
1103
|
+
"data-[selected]:hover:bg-[var(--color-selected-control-bg)]",
|
|
1104
|
+
"data-[selected]:hover:text-[var(--color-selected-control-text)] data-[selected]:hover:border-transparent"
|
|
1105
|
+
].join(" ")
|
|
1106
|
+
};
|
|
1107
|
+
var BASE_CLASSES2 = "font-semibold whitespace-nowrap transition-colors duration-150";
|
|
1108
|
+
var SP = 4;
|
|
1109
|
+
function buildShimStyle(props) {
|
|
1110
|
+
const s = { ...props.style };
|
|
1111
|
+
if (props.mt !== void 0) s.marginTop = typeof props.mt === "number" ? `${props.mt * SP}px` : props.mt;
|
|
1112
|
+
if (props.ml !== void 0) s.marginLeft = typeof props.ml === "number" ? `${props.ml * SP}px` : props.ml;
|
|
1113
|
+
if (props.mr !== void 0) s.marginRight = typeof props.mr === "number" ? `${props.mr * SP}px` : props.mr;
|
|
1114
|
+
if (props.px !== void 0) {
|
|
1115
|
+
const v = typeof props.px === "number" ? `${props.px * SP}px` : props.px;
|
|
1116
|
+
s.paddingLeft = v;
|
|
1117
|
+
s.paddingRight = v;
|
|
1118
|
+
}
|
|
1119
|
+
if (props.py !== void 0) {
|
|
1120
|
+
const v = typeof props.py === "number" ? `${props.py * SP}px` : props.py;
|
|
1121
|
+
s.paddingTop = v;
|
|
1122
|
+
s.paddingBottom = v;
|
|
1123
|
+
}
|
|
1124
|
+
if (props.fontWeight !== void 0) s.fontWeight = props.fontWeight;
|
|
1125
|
+
if (props.gap !== void 0) s.gap = typeof props.gap === "number" ? `${props.gap * SP}px` : props.gap;
|
|
1126
|
+
if (props.flexShrink !== void 0) s.flexShrink = props.flexShrink;
|
|
1127
|
+
if (props.columnGap !== void 0) s.columnGap = typeof props.columnGap === "number" ? `${props.columnGap * SP}px` : props.columnGap;
|
|
1128
|
+
if (props.gridColumn !== void 0) s.gridColumn = typeof props.gridColumn === "number" ? String(props.gridColumn) : props.gridColumn;
|
|
1129
|
+
if (props.gridRow) s.gridRow = props.gridRow;
|
|
1130
|
+
if (props.justifySelf) s.justifySelf = props.justifySelf;
|
|
1131
|
+
if (props.alignSelf) s.alignSelf = props.alignSelf;
|
|
1132
|
+
if (props.h) s.height = props.h;
|
|
1133
|
+
if (props.w) s.width = props.w;
|
|
1134
|
+
if (props.display) s.display = props.display;
|
|
1135
|
+
if (props.borderBottomRightRadius !== void 0) s.borderBottomRightRadius = typeof props.borderBottomRightRadius === "number" ? `${props.borderBottomRightRadius}px` : props.borderBottomRightRadius;
|
|
1136
|
+
if (props.borderTopRightRadius !== void 0) s.borderTopRightRadius = typeof props.borderTopRightRadius === "number" ? `${props.borderTopRightRadius}px` : props.borderTopRightRadius;
|
|
1137
|
+
return Object.keys(s).length > 0 ? s : void 0;
|
|
1138
|
+
}
|
|
1272
1139
|
var Button = React29__namespace.forwardRef(
|
|
1273
1140
|
function Button2(props, ref) {
|
|
1274
1141
|
const {
|
|
1275
1142
|
className,
|
|
1276
|
-
variant,
|
|
1277
|
-
size,
|
|
1143
|
+
variant = "solid",
|
|
1144
|
+
size = "md",
|
|
1278
1145
|
asChild = false,
|
|
1279
1146
|
loading = false,
|
|
1280
1147
|
loadingText,
|
|
@@ -1286,57 +1153,48 @@ var Button = React29__namespace.forwardRef(
|
|
|
1286
1153
|
children,
|
|
1287
1154
|
style: styleProp,
|
|
1288
1155
|
// Strip Chakra style props
|
|
1289
|
-
mt
|
|
1290
|
-
ml
|
|
1291
|
-
mr
|
|
1292
|
-
px
|
|
1293
|
-
py
|
|
1294
|
-
fontWeight
|
|
1295
|
-
gap
|
|
1296
|
-
flexShrink
|
|
1297
|
-
columnGap
|
|
1298
|
-
gridColumn
|
|
1299
|
-
gridRow
|
|
1300
|
-
justifySelf
|
|
1301
|
-
alignSelf
|
|
1156
|
+
mt,
|
|
1157
|
+
ml,
|
|
1158
|
+
mr,
|
|
1159
|
+
px,
|
|
1160
|
+
py,
|
|
1161
|
+
fontWeight,
|
|
1162
|
+
gap,
|
|
1163
|
+
flexShrink,
|
|
1164
|
+
columnGap,
|
|
1165
|
+
gridColumn,
|
|
1166
|
+
gridRow,
|
|
1167
|
+
justifySelf,
|
|
1168
|
+
alignSelf,
|
|
1302
1169
|
textStyle: _textStyle,
|
|
1303
|
-
h
|
|
1304
|
-
w
|
|
1305
|
-
display
|
|
1306
|
-
borderBottomRightRadius
|
|
1307
|
-
borderTopRightRadius
|
|
1170
|
+
h,
|
|
1171
|
+
w,
|
|
1172
|
+
display,
|
|
1173
|
+
borderBottomRightRadius,
|
|
1174
|
+
borderTopRightRadius,
|
|
1308
1175
|
...rest
|
|
1309
1176
|
} = props;
|
|
1310
|
-
const
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
if (_justifySelf) shimStyle.justifySelf = _justifySelf;
|
|
1332
|
-
if (_alignSelf) shimStyle.alignSelf = _alignSelf;
|
|
1333
|
-
if (_h) shimStyle.height = _h;
|
|
1334
|
-
if (_w) shimStyle.width = _w;
|
|
1335
|
-
if (_display) shimStyle.display = _display;
|
|
1336
|
-
if (_bbrr !== void 0) shimStyle.borderBottomRightRadius = typeof _bbrr === "number" ? `${_bbrr}px` : _bbrr;
|
|
1337
|
-
if (_btrr !== void 0) shimStyle.borderTopRightRadius = typeof _btrr === "number" ? `${_btrr}px` : _btrr;
|
|
1338
|
-
const mergedStyle = Object.keys(shimStyle).length > 0 ? shimStyle : void 0;
|
|
1339
|
-
const Comp = asChild ? reactSlot.Slot : "button";
|
|
1177
|
+
const mergedStyle = buildShimStyle({
|
|
1178
|
+
style: styleProp,
|
|
1179
|
+
mt,
|
|
1180
|
+
ml,
|
|
1181
|
+
mr,
|
|
1182
|
+
px,
|
|
1183
|
+
py,
|
|
1184
|
+
fontWeight,
|
|
1185
|
+
gap,
|
|
1186
|
+
flexShrink,
|
|
1187
|
+
columnGap,
|
|
1188
|
+
gridColumn,
|
|
1189
|
+
gridRow,
|
|
1190
|
+
justifySelf,
|
|
1191
|
+
alignSelf,
|
|
1192
|
+
h,
|
|
1193
|
+
w,
|
|
1194
|
+
display,
|
|
1195
|
+
borderBottomRightRadius,
|
|
1196
|
+
borderTopRightRadius
|
|
1197
|
+
});
|
|
1340
1198
|
const dataAttrs = {};
|
|
1341
1199
|
if (expanded) dataAttrs["data-expanded"] = true;
|
|
1342
1200
|
if (selected) dataAttrs["data-selected"] = true;
|
|
@@ -1345,15 +1203,19 @@ var Button = React29__namespace.forwardRef(
|
|
|
1345
1203
|
const isDisabled = !loadingSkeleton && (loading || disabled);
|
|
1346
1204
|
const inner = loading ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1347
1205
|
/* @__PURE__ */ jsxRuntime.jsx(Spinner, {}),
|
|
1348
|
-
loadingText != null && /* @__PURE__ */ jsxRuntime.jsx("span", {
|
|
1206
|
+
loadingText != null && /* @__PURE__ */ jsxRuntime.jsx("span", { style: { marginLeft: 8 }, children: loadingText })
|
|
1349
1207
|
] }) : children;
|
|
1208
|
+
const variantClass = VARIANT_CLASSES2[variant] ?? VARIANT_CLASSES2.solid;
|
|
1209
|
+
const combinedClassName = [BASE_CLASSES2, variantClass, className].filter(Boolean).join(" ");
|
|
1350
1210
|
const button = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1351
|
-
|
|
1211
|
+
ButtonFrame,
|
|
1352
1212
|
{
|
|
1353
1213
|
ref,
|
|
1354
|
-
|
|
1355
|
-
style: mergedStyle,
|
|
1214
|
+
size,
|
|
1356
1215
|
disabled: isDisabled || void 0,
|
|
1216
|
+
asChild: asChild || void 0,
|
|
1217
|
+
className: combinedClassName,
|
|
1218
|
+
style: mergedStyle,
|
|
1357
1219
|
...dataAttrs,
|
|
1358
1220
|
...rest,
|
|
1359
1221
|
children: inner
|
|
@@ -1365,6 +1227,17 @@ var Button = React29__namespace.forwardRef(
|
|
|
1365
1227
|
return button;
|
|
1366
1228
|
}
|
|
1367
1229
|
);
|
|
1230
|
+
var SIZE_CLASSES4 = {
|
|
1231
|
+
"2xs": "px-2 h-5 min-w-5 text-xs rounded-sm gap-1",
|
|
1232
|
+
xs: "px-2 h-6 min-w-6 text-sm rounded-sm gap-1",
|
|
1233
|
+
sm: "px-3 h-8 min-w-8 text-sm rounded-md gap-1",
|
|
1234
|
+
md: "px-3 h-10 min-w-10 text-base rounded-md gap-2"
|
|
1235
|
+
};
|
|
1236
|
+
function buttonVariants(opts) {
|
|
1237
|
+
const v = opts?.variant ?? "solid";
|
|
1238
|
+
const s = opts?.size ?? "md";
|
|
1239
|
+
return [BASE_CLASSES2, VARIANT_CLASSES2[v] ?? "", SIZE_CLASSES4[s] ?? ""].filter(Boolean).join(" ");
|
|
1240
|
+
}
|
|
1368
1241
|
var ButtonGroup = React29__namespace.forwardRef(
|
|
1369
1242
|
function ButtonGroup2(props, ref) {
|
|
1370
1243
|
const { className, ...rest } = props;
|
|
@@ -1372,7 +1245,7 @@ var ButtonGroup = React29__namespace.forwardRef(
|
|
|
1372
1245
|
"div",
|
|
1373
1246
|
{
|
|
1374
1247
|
ref,
|
|
1375
|
-
className:
|
|
1248
|
+
className: ["inline-flex", className].filter(Boolean).join(" "),
|
|
1376
1249
|
role: "group",
|
|
1377
1250
|
...rest
|
|
1378
1251
|
}
|
|
@@ -1413,11 +1286,11 @@ var ButtonGroupRadio = React29__namespace.forwardRef(
|
|
|
1413
1286
|
"div",
|
|
1414
1287
|
{
|
|
1415
1288
|
ref,
|
|
1416
|
-
className:
|
|
1289
|
+
className: [
|
|
1417
1290
|
"inline-flex gap-0",
|
|
1418
|
-
equalWidth
|
|
1291
|
+
equalWidth ? "grid" : "",
|
|
1419
1292
|
className
|
|
1420
|
-
),
|
|
1293
|
+
].filter(Boolean).join(" "),
|
|
1421
1294
|
style: equalWidth ? { gridTemplateColumns: `repeat(${childrenLength}, 1fr)` } : void 0,
|
|
1422
1295
|
role: "group",
|
|
1423
1296
|
...rest,
|
|
@@ -1480,7 +1353,7 @@ var CheckboxGroupBase = React29__namespace.forwardRef(
|
|
|
1480
1353
|
}
|
|
1481
1354
|
);
|
|
1482
1355
|
var CheckboxGroup2 = CheckboxGroupBase;
|
|
1483
|
-
var
|
|
1356
|
+
var SIZE_CLASSES5 = {
|
|
1484
1357
|
sm: {
|
|
1485
1358
|
root: "gap-1.5",
|
|
1486
1359
|
control: "h-3.5 w-3.5 rounded-sm",
|
|
@@ -1590,7 +1463,7 @@ var CheckboxBase = React29__namespace.forwardRef(
|
|
|
1590
1463
|
},
|
|
1591
1464
|
[readOnly, isControlled, isInGroup, group, value, onCheckedChange, onChange]
|
|
1592
1465
|
);
|
|
1593
|
-
const sizeClasses2 =
|
|
1466
|
+
const sizeClasses2 = SIZE_CLASSES5[size];
|
|
1594
1467
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1595
1468
|
"label",
|
|
1596
1469
|
{
|
|
@@ -1666,7 +1539,7 @@ function stripUtmParams(url) {
|
|
|
1666
1539
|
return url;
|
|
1667
1540
|
}
|
|
1668
1541
|
}
|
|
1669
|
-
var
|
|
1542
|
+
var VARIANT_CLASSES3 = {
|
|
1670
1543
|
primary: cn(
|
|
1671
1544
|
"text-[var(--color-link-primary)]",
|
|
1672
1545
|
"hover:no-underline hover:text-[var(--color-link-primary-hover)]",
|
|
@@ -1706,7 +1579,7 @@ var VARIANT_CLASSES2 = {
|
|
|
1706
1579
|
"data-[hover]:no-underline"
|
|
1707
1580
|
)
|
|
1708
1581
|
};
|
|
1709
|
-
var
|
|
1582
|
+
var BASE_CLASSES3 = "inline-flex items-center gap-0 cursor-pointer data-[disabled]:cursor-not-allowed";
|
|
1710
1583
|
var LinkExternalIcon = ({ color }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1711
1584
|
ArrowIcon,
|
|
1712
1585
|
{
|
|
@@ -1775,7 +1648,7 @@ var Link = React29__namespace.default.forwardRef(
|
|
|
1775
1648
|
if (_minW !== void 0) shimStyle.minWidth = typeof _minW === "number" ? `${_minW * SPACING}px` : _minW;
|
|
1776
1649
|
if (_justifyContent) shimStyle.justifyContent = _justifyContent;
|
|
1777
1650
|
if (_position) shimStyle.position = _position;
|
|
1778
|
-
const linkClasses = cn(
|
|
1651
|
+
const linkClasses = cn(BASE_CLASSES3, VARIANT_CLASSES3[variant], className);
|
|
1779
1652
|
const linkStyle = Object.keys(shimStyle).length > 0 ? shimStyle : void 0;
|
|
1780
1653
|
if (external) {
|
|
1781
1654
|
const processedHref = typeof href === "string" ? stripUtmParams(href) : href;
|
|
@@ -1864,8 +1737,8 @@ var LinkOverlay = React29__namespace.default.forwardRef(
|
|
|
1864
1737
|
...rest
|
|
1865
1738
|
} = props;
|
|
1866
1739
|
const overlayClasses = cn(
|
|
1867
|
-
|
|
1868
|
-
|
|
1740
|
+
BASE_CLASSES3,
|
|
1741
|
+
VARIANT_CLASSES3[variant],
|
|
1869
1742
|
// Static positioning with a ::before pseudo-element that covers the LinkBox
|
|
1870
1743
|
"static",
|
|
1871
1744
|
'before:absolute before:inset-0 before:z-0 before:content-[""]',
|
|
@@ -2063,9 +1936,9 @@ function BackToButton({ onClick }) {
|
|
|
2063
1936
|
}
|
|
2064
1937
|
);
|
|
2065
1938
|
}
|
|
2066
|
-
var
|
|
2067
|
-
function
|
|
2068
|
-
return React29__namespace.useContext(
|
|
1939
|
+
var DialogSizeContext = React29__namespace.createContext({ size: "md" });
|
|
1940
|
+
function useDialogSizeContext() {
|
|
1941
|
+
return React29__namespace.useContext(DialogSizeContext);
|
|
2069
1942
|
}
|
|
2070
1943
|
var CONTENT_SIZE_MAP = {
|
|
2071
1944
|
sm: "max-w-[400px]",
|
|
@@ -2095,7 +1968,7 @@ var DialogRoot = ({
|
|
|
2095
1968
|
onOpenChange,
|
|
2096
1969
|
size = "md",
|
|
2097
1970
|
modal = true
|
|
2098
|
-
// motionPreset is intentionally unused
|
|
1971
|
+
// motionPreset is intentionally unused -- kept for API compat
|
|
2099
1972
|
}) => {
|
|
2100
1973
|
const handleOpenChange = React29__namespace.useCallback(
|
|
2101
1974
|
(nextOpen) => {
|
|
@@ -2104,8 +1977,8 @@ var DialogRoot = ({
|
|
|
2104
1977
|
[onOpenChange]
|
|
2105
1978
|
);
|
|
2106
1979
|
const ctx = React29__namespace.useMemo(() => ({ size }), [size]);
|
|
2107
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2108
|
-
|
|
1980
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DialogSizeContext.Provider, { value: ctx, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1981
|
+
dialog.Dialog,
|
|
2109
1982
|
{
|
|
2110
1983
|
open,
|
|
2111
1984
|
defaultOpen,
|
|
@@ -2118,8 +1991,8 @@ var DialogRoot = ({
|
|
|
2118
1991
|
var DialogContent = React29__namespace.forwardRef(function DialogContent2(props, ref) {
|
|
2119
1992
|
const {
|
|
2120
1993
|
children,
|
|
2121
|
-
portalled = true,
|
|
2122
|
-
portalRef,
|
|
1994
|
+
portalled: _portalled = true,
|
|
1995
|
+
portalRef: _portalRef,
|
|
2123
1996
|
backdrop = true,
|
|
2124
1997
|
className,
|
|
2125
1998
|
paddingTop: _paddingTop,
|
|
@@ -2130,21 +2003,12 @@ var DialogContent = React29__namespace.forwardRef(function DialogContent2(props,
|
|
|
2130
2003
|
...styleProp,
|
|
2131
2004
|
..._paddingTop !== void 0 ? { paddingTop: typeof _paddingTop === "number" ? `${_paddingTop * 4}px` : _paddingTop } : {}
|
|
2132
2005
|
};
|
|
2133
|
-
const { size } =
|
|
2134
|
-
|
|
2135
|
-
if (!portalled) {
|
|
2136
|
-
portalProps = { container: void 0 };
|
|
2137
|
-
} else if (portalRef) {
|
|
2138
|
-
portalProps = { container: portalRef.current };
|
|
2139
|
-
} else {
|
|
2140
|
-
portalProps = {};
|
|
2141
|
-
}
|
|
2142
|
-
const Wrapper = portalled ? RadixDialog__namespace.Portal : React29__namespace.Fragment;
|
|
2143
|
-
const wrapperProps = portalled ? portalProps : {};
|
|
2144
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Wrapper, { ...wrapperProps, children: [
|
|
2006
|
+
const { size } = useDialogSizeContext();
|
|
2007
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(dialog.Dialog.Portal, { children: [
|
|
2145
2008
|
backdrop && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2146
|
-
|
|
2009
|
+
dialog.Dialog.Overlay,
|
|
2147
2010
|
{
|
|
2011
|
+
unstyled: true,
|
|
2148
2012
|
className: "fixed inset-0 z-[1400] bg-black/80"
|
|
2149
2013
|
}
|
|
2150
2014
|
),
|
|
@@ -2157,9 +2021,10 @@ var DialogContent = React29__namespace.forwardRef(function DialogContent2(props,
|
|
|
2157
2021
|
"overflow-hidden"
|
|
2158
2022
|
),
|
|
2159
2023
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2160
|
-
|
|
2024
|
+
dialog.Dialog.Content,
|
|
2161
2025
|
{
|
|
2162
2026
|
ref,
|
|
2027
|
+
unstyled: true,
|
|
2163
2028
|
className: cn(
|
|
2164
2029
|
// Base content styles
|
|
2165
2030
|
"relative flex flex-col w-full p-6 outline-none text-base",
|
|
@@ -2182,7 +2047,7 @@ var DialogContent = React29__namespace.forwardRef(function DialogContent2(props,
|
|
|
2182
2047
|
});
|
|
2183
2048
|
var DialogCloseTrigger = React29__namespace.forwardRef(function DialogCloseTrigger2(props, ref) {
|
|
2184
2049
|
const { className, ...rest } = props;
|
|
2185
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2050
|
+
return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(CloseButton, { ref, className, ...rest, children: props.children }) });
|
|
2186
2051
|
});
|
|
2187
2052
|
var DialogHeader = React29__namespace.forwardRef(function DialogHeader2(props, ref) {
|
|
2188
2053
|
const { startElement: startElementProp, onBackToClick, className, children, ...rest } = props;
|
|
@@ -2199,8 +2064,9 @@ var DialogHeader = React29__namespace.forwardRef(function DialogHeader2(props, r
|
|
|
2199
2064
|
children: [
|
|
2200
2065
|
startElement,
|
|
2201
2066
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2202
|
-
|
|
2067
|
+
dialog.Dialog.Title,
|
|
2203
2068
|
{
|
|
2069
|
+
unstyled: true,
|
|
2204
2070
|
className: cn(
|
|
2205
2071
|
"text-base lg:text-lg font-medium",
|
|
2206
2072
|
"whitespace-nowrap overflow-hidden text-ellipsis"
|
|
@@ -2240,11 +2106,11 @@ var DialogFooter = React29__namespace.forwardRef(function DialogFooter2({ classN
|
|
|
2240
2106
|
}
|
|
2241
2107
|
);
|
|
2242
2108
|
});
|
|
2243
|
-
var DialogBackdrop =
|
|
2244
|
-
var DialogTitle =
|
|
2245
|
-
var DialogDescription =
|
|
2246
|
-
var DialogTrigger =
|
|
2247
|
-
var DialogActionTrigger =
|
|
2109
|
+
var DialogBackdrop = dialog.Dialog.Overlay;
|
|
2110
|
+
var DialogTitle = dialog.Dialog.Title;
|
|
2111
|
+
var DialogDescription = dialog.Dialog.Description;
|
|
2112
|
+
var DialogTrigger = dialog.Dialog.Trigger;
|
|
2113
|
+
var DialogActionTrigger = dialog.Dialog.Close;
|
|
2248
2114
|
var DrawerPlacementContext = React29__namespace.createContext("right");
|
|
2249
2115
|
var DrawerSizeContext = React29__namespace.createContext("md");
|
|
2250
2116
|
var DrawerRoot = (props) => {
|
|
@@ -2293,7 +2159,7 @@ var PLACEMENT_CLASSES = {
|
|
|
2293
2159
|
"data-[state=closed]:animate-out data-[state=closed]:slide-out-to-bottom"
|
|
2294
2160
|
].join(" ")
|
|
2295
2161
|
};
|
|
2296
|
-
var
|
|
2162
|
+
var SIZE_CLASSES6 = {
|
|
2297
2163
|
right: { xs: "w-60", sm: "w-80", md: "w-96", lg: "w-[480px]", xl: "w-[640px]", full: "w-screen" },
|
|
2298
2164
|
left: { xs: "w-60", sm: "w-80", md: "w-96", lg: "w-[480px]", xl: "w-[640px]", full: "w-screen" },
|
|
2299
2165
|
top: { xs: "h-40", sm: "h-60", md: "h-80", lg: "h-96", xl: "h-[480px]", full: "h-screen" },
|
|
@@ -2322,7 +2188,7 @@ var DrawerContent = React29__namespace.forwardRef(
|
|
|
2322
2188
|
className: cn(
|
|
2323
2189
|
"fixed z-50 flex flex-col bg-[var(--color-drawer-bg)] shadow-[var(--shadow-drawer)] duration-300",
|
|
2324
2190
|
PLACEMENT_CLASSES[placement] ?? PLACEMENT_CLASSES.right,
|
|
2325
|
-
|
|
2191
|
+
SIZE_CLASSES6[placement]?.[size] ?? SIZE_CLASSES6.right?.md,
|
|
2326
2192
|
className
|
|
2327
2193
|
),
|
|
2328
2194
|
...rest,
|
|
@@ -2574,92 +2440,100 @@ var Field = React29__namespace.forwardRef(
|
|
|
2574
2440
|
);
|
|
2575
2441
|
}
|
|
2576
2442
|
);
|
|
2577
|
-
var LEVEL_TAG = {
|
|
2578
|
-
"1": "h1",
|
|
2579
|
-
"2": "h2",
|
|
2580
|
-
"3": "h3"
|
|
2581
|
-
};
|
|
2443
|
+
var LEVEL_TAG = { "1": "h1", "2": "h2", "3": "h3" };
|
|
2582
2444
|
var LEVEL_CLASSES = {
|
|
2583
2445
|
"1": "text-[18px] leading-[24px] font-medium lg:text-[32px] lg:leading-[40px] lg:tracking-[-0.5px]",
|
|
2584
2446
|
"2": "text-[16px] leading-[24px] font-medium lg:text-[24px] lg:leading-[32px]",
|
|
2585
2447
|
"3": "text-[14px] leading-[20px] font-semibold lg:text-[18px] lg:leading-[24px] lg:font-medium"
|
|
2586
2448
|
};
|
|
2587
|
-
var
|
|
2449
|
+
var BASE_CLASSES4 = "font-heading text-heading";
|
|
2588
2450
|
var Heading = React29__namespace.default.forwardRef(
|
|
2589
2451
|
function Heading2({ level, className, mb, size: _size, style: styleProp, ...rest }, ref) {
|
|
2590
2452
|
const Tag3 = level ? LEVEL_TAG[level] : "h2";
|
|
2591
2453
|
const levelClasses = level ? LEVEL_CLASSES[level] : void 0;
|
|
2592
|
-
const
|
|
2593
|
-
if (mb !== void 0) shimStyle.marginBottom = typeof mb === "number" ? `${mb * 4}px` : mb;
|
|
2454
|
+
const mergedStyle = mb !== void 0 ? { ...styleProp, marginBottom: typeof mb === "number" ? `${mb * 4}px` : mb } : styleProp;
|
|
2594
2455
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2595
2456
|
Tag3,
|
|
2596
2457
|
{
|
|
2597
2458
|
ref,
|
|
2598
|
-
className: cn(
|
|
2599
|
-
style:
|
|
2459
|
+
className: cn(BASE_CLASSES4, levelClasses, className),
|
|
2460
|
+
style: mergedStyle,
|
|
2600
2461
|
...rest
|
|
2601
2462
|
}
|
|
2602
2463
|
);
|
|
2603
2464
|
}
|
|
2604
2465
|
);
|
|
2605
|
-
var
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
],
|
|
2624
|
-
icon_background: [
|
|
2625
|
-
"bg-[var(--color-button-icon-background-bg)] text-icon-secondary border-none",
|
|
2626
|
-
"hover:text-hover",
|
|
2627
|
-
"data-[selected]:bg-selected-control-bg data-[selected]:text-selected-control-text",
|
|
2628
|
-
"data-[selected]:hover:text-hover",
|
|
2629
|
-
"data-[expanded]:text-hover"
|
|
2630
|
-
],
|
|
2631
|
-
link: [
|
|
2632
|
-
"bg-transparent text-link-primary border-none font-normal px-0 h-auto",
|
|
2633
|
-
"hover:bg-transparent hover:text-link-primary-hover",
|
|
2634
|
-
"disabled:text-text-secondary"
|
|
2635
|
-
],
|
|
2636
|
-
dropdown: [
|
|
2637
|
-
"border-2 border-solid bg-transparent",
|
|
2638
|
-
"text-[var(--color-button-dropdown-fg)] border-[var(--color-button-dropdown-border)]",
|
|
2639
|
-
"hover:bg-transparent hover:text-hover hover:border-hover",
|
|
2640
|
-
"data-[expanded]:bg-transparent data-[expanded]:text-hover data-[expanded]:border-hover",
|
|
2641
|
-
"data-[selected]:bg-selected-control-bg data-[selected]:text-selected-control-text data-[selected]:border-transparent",
|
|
2642
|
-
"data-[selected]:hover:text-hover"
|
|
2643
|
-
],
|
|
2644
|
-
pagination: [
|
|
2645
|
-
"border-2 border-solid bg-transparent",
|
|
2646
|
-
"text-[var(--color-button-pagination-fg)] border-[var(--color-button-pagination-border)]",
|
|
2647
|
-
"hover:bg-transparent hover:text-hover hover:border-hover",
|
|
2648
|
-
"data-[selected]:bg-selected-control-bg data-[selected]:text-selected-control-text data-[selected]:border-transparent"
|
|
2649
|
-
]
|
|
2650
|
-
},
|
|
2651
|
-
size: {
|
|
2652
|
-
"2xs": "size-5 rounded-sm [&_svg]:size-5",
|
|
2653
|
-
"2xs_alt": "size-5 rounded-sm [&_svg]:size-3",
|
|
2654
|
-
md: "size-8 rounded-[var(--radius-base,8px)] [&_svg]:size-5"
|
|
2655
|
-
}
|
|
2466
|
+
var IconButtonFrame = core.styled(core.View, {
|
|
2467
|
+
name: "LuxIconButton",
|
|
2468
|
+
render: /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button" }),
|
|
2469
|
+
role: "button",
|
|
2470
|
+
cursor: "pointer",
|
|
2471
|
+
display: "inline-flex",
|
|
2472
|
+
alignItems: "center",
|
|
2473
|
+
justifyContent: "center",
|
|
2474
|
+
padding: 0,
|
|
2475
|
+
minWidth: "auto",
|
|
2476
|
+
flexShrink: 1,
|
|
2477
|
+
backgroundColor: "transparent",
|
|
2478
|
+
borderWidth: 0,
|
|
2479
|
+
variants: {
|
|
2480
|
+
size: {
|
|
2481
|
+
"2xs": { width: 20, height: 20, borderRadius: 4 },
|
|
2482
|
+
"2xs_alt": { width: 20, height: 20, borderRadius: 4 },
|
|
2483
|
+
md: { width: 32, height: 32, borderRadius: "var(--radius-base, 8px)" }
|
|
2656
2484
|
},
|
|
2657
|
-
|
|
2658
|
-
|
|
2485
|
+
disabled: {
|
|
2486
|
+
true: {
|
|
2487
|
+
opacity: 0.4,
|
|
2488
|
+
cursor: "not-allowed",
|
|
2489
|
+
pointerEvents: "none"
|
|
2490
|
+
}
|
|
2659
2491
|
}
|
|
2660
2492
|
}
|
|
2661
|
-
);
|
|
2662
|
-
var
|
|
2493
|
+
});
|
|
2494
|
+
var VARIANT_CLASSES4 = {
|
|
2495
|
+
plain: "bg-transparent text-inherit border-none hover:bg-transparent",
|
|
2496
|
+
icon_secondary: [
|
|
2497
|
+
"bg-transparent text-icon-secondary border-none",
|
|
2498
|
+
"hover:text-hover",
|
|
2499
|
+
"data-[selected]:bg-selected-control-bg data-[selected]:text-selected-control-text",
|
|
2500
|
+
"data-[selected]:hover:text-hover",
|
|
2501
|
+
"data-[expanded]:text-hover"
|
|
2502
|
+
].join(" "),
|
|
2503
|
+
icon_background: [
|
|
2504
|
+
"bg-[var(--color-button-icon-background-bg)] text-icon-secondary border-none",
|
|
2505
|
+
"hover:text-hover",
|
|
2506
|
+
"data-[selected]:bg-selected-control-bg data-[selected]:text-selected-control-text",
|
|
2507
|
+
"data-[selected]:hover:text-hover",
|
|
2508
|
+
"data-[expanded]:text-hover"
|
|
2509
|
+
].join(" "),
|
|
2510
|
+
link: [
|
|
2511
|
+
"bg-transparent text-link-primary border-none font-normal px-0 h-auto",
|
|
2512
|
+
"hover:bg-transparent hover:text-link-primary-hover",
|
|
2513
|
+
"disabled:text-text-secondary"
|
|
2514
|
+
].join(" "),
|
|
2515
|
+
dropdown: [
|
|
2516
|
+
"border-2 border-solid bg-transparent",
|
|
2517
|
+
"text-[var(--color-button-dropdown-fg)] border-[var(--color-button-dropdown-border)]",
|
|
2518
|
+
"hover:bg-transparent hover:text-hover hover:border-hover",
|
|
2519
|
+
"data-[expanded]:bg-transparent data-[expanded]:text-hover data-[expanded]:border-hover",
|
|
2520
|
+
"data-[selected]:bg-selected-control-bg data-[selected]:text-selected-control-text data-[selected]:border-transparent",
|
|
2521
|
+
"data-[selected]:hover:text-hover"
|
|
2522
|
+
].join(" "),
|
|
2523
|
+
pagination: [
|
|
2524
|
+
"border-2 border-solid bg-transparent",
|
|
2525
|
+
"text-[var(--color-button-pagination-fg)] border-[var(--color-button-pagination-border)]",
|
|
2526
|
+
"hover:bg-transparent hover:text-hover hover:border-hover",
|
|
2527
|
+
"data-[selected]:bg-selected-control-bg data-[selected]:text-selected-control-text data-[selected]:border-transparent"
|
|
2528
|
+
].join(" ")
|
|
2529
|
+
};
|
|
2530
|
+
var ICON_SIZE_CLASSES = {
|
|
2531
|
+
"2xs": "[&_svg]:size-5",
|
|
2532
|
+
"2xs_alt": "[&_svg]:size-3",
|
|
2533
|
+
md: "[&_svg]:size-5"
|
|
2534
|
+
};
|
|
2535
|
+
var SP2 = 4;
|
|
2536
|
+
var IconButton = React29__namespace.forwardRef(
|
|
2663
2537
|
function IconButton2(props, ref) {
|
|
2664
2538
|
const {
|
|
2665
2539
|
size,
|
|
@@ -2672,7 +2546,7 @@ var IconButton = React29__namespace.default.forwardRef(
|
|
|
2672
2546
|
disabled,
|
|
2673
2547
|
className,
|
|
2674
2548
|
children,
|
|
2675
|
-
as:
|
|
2549
|
+
as: _as,
|
|
2676
2550
|
style: styleProp,
|
|
2677
2551
|
// Strip Chakra style props
|
|
2678
2552
|
boxSize: _boxSize,
|
|
@@ -2685,37 +2559,47 @@ var IconButton = React29__namespace.default.forwardRef(
|
|
|
2685
2559
|
_expanded,
|
|
2686
2560
|
...rest
|
|
2687
2561
|
} = props;
|
|
2688
|
-
const SP = 4;
|
|
2689
2562
|
const shimStyle = { ...styleProp };
|
|
2690
2563
|
if (_boxSize !== void 0) {
|
|
2691
|
-
const bs = typeof _boxSize === "number" ? `${_boxSize *
|
|
2564
|
+
const bs = typeof _boxSize === "number" ? `${_boxSize * SP2}px` : _boxSize;
|
|
2692
2565
|
shimStyle.width = bs;
|
|
2693
2566
|
shimStyle.height = bs;
|
|
2694
2567
|
}
|
|
2695
2568
|
if (_color) shimStyle.color = _color;
|
|
2696
2569
|
if (_px !== void 0) {
|
|
2697
|
-
const v = typeof _px === "number" ? `${_px *
|
|
2570
|
+
const v = typeof _px === "number" ? `${_px * SP2}px` : _px;
|
|
2698
2571
|
shimStyle.paddingLeft = v;
|
|
2699
2572
|
shimStyle.paddingRight = v;
|
|
2700
2573
|
}
|
|
2701
2574
|
if (_borderRadius) shimStyle.borderRadius = _borderRadius;
|
|
2702
|
-
if (_ml !== void 0) shimStyle.marginLeft = typeof _ml === "number" ? `${_ml *
|
|
2703
|
-
if (_mr !== void 0) shimStyle.marginRight = typeof _mr === "number" ? `${_mr *
|
|
2704
|
-
const
|
|
2575
|
+
if (_ml !== void 0) shimStyle.marginLeft = typeof _ml === "number" ? `${_ml * SP2}px` : _ml;
|
|
2576
|
+
if (_mr !== void 0) shimStyle.marginRight = typeof _mr === "number" ? `${_mr * SP2}px` : _mr;
|
|
2577
|
+
const mergedStyle = Object.keys(shimStyle).length > 0 ? shimStyle : void 0;
|
|
2578
|
+
const variantClass = VARIANT_CLASSES4[variant] ?? VARIANT_CLASSES4.plain;
|
|
2579
|
+
const iconSizeClass = size ? ICON_SIZE_CLASSES[size] ?? "" : "";
|
|
2580
|
+
const combinedClassName = [variantClass, iconSizeClass, className].filter(Boolean).join(" ");
|
|
2705
2581
|
const button = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2706
|
-
|
|
2582
|
+
IconButtonFrame,
|
|
2707
2583
|
{
|
|
2708
2584
|
ref,
|
|
2709
|
-
|
|
2710
|
-
disabled: !loadingSkeleton && (loading || disabled),
|
|
2711
|
-
|
|
2712
|
-
|
|
2585
|
+
size,
|
|
2586
|
+
disabled: !loadingSkeleton && (loading || disabled) || void 0,
|
|
2587
|
+
render: _as ? React29__namespace.createElement(_as) : void 0,
|
|
2588
|
+
className: combinedClassName,
|
|
2589
|
+
style: mergedStyle,
|
|
2713
2590
|
...expanded ? { "data-expanded": true } : {},
|
|
2714
2591
|
...selected ? { "data-selected": true } : {},
|
|
2715
2592
|
...highlighted ? { "data-highlighted": true } : {},
|
|
2716
2593
|
...loadingSkeleton ? { "data-loading-skeleton": true } : {},
|
|
2717
2594
|
...rest,
|
|
2718
|
-
children: loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2595
|
+
children: loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2596
|
+
"span",
|
|
2597
|
+
{
|
|
2598
|
+
className: "inline-block size-5 animate-spin rounded-full border-2 border-current border-b-transparent border-l-transparent",
|
|
2599
|
+
role: "status",
|
|
2600
|
+
"aria-label": "Loading"
|
|
2601
|
+
}
|
|
2602
|
+
) : children
|
|
2719
2603
|
}
|
|
2720
2604
|
);
|
|
2721
2605
|
if (loadingSkeleton) {
|
|
@@ -2928,46 +2812,36 @@ var Image2 = React29__namespace.default.forwardRef(
|
|
|
2928
2812
|
] });
|
|
2929
2813
|
}
|
|
2930
2814
|
);
|
|
2931
|
-
var
|
|
2932
|
-
|
|
2933
|
-
|
|
2934
|
-
|
|
2935
|
-
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
|
|
2947
|
-
|
|
2948
|
-
|
|
2949
|
-
|
|
2950
|
-
|
|
2951
|
-
|
|
2952
|
-
|
|
2953
|
-
|
|
2954
|
-
filled: "border-0 bg-[var(--color-input-filled-bg,theme(colors.gray.100))]",
|
|
2955
|
-
unstyled: "border-0 bg-transparent p-0 h-auto"
|
|
2956
|
-
}
|
|
2957
|
-
},
|
|
2958
|
-
defaultVariants: {
|
|
2959
|
-
size: "md",
|
|
2960
|
-
variant: "outline"
|
|
2961
|
-
}
|
|
2962
|
-
}
|
|
2963
|
-
);
|
|
2815
|
+
var INPUT_BASE = [
|
|
2816
|
+
"w-full appearance-none outline-none transition-colors",
|
|
2817
|
+
"bg-[var(--color-input-bg)] text-[var(--color-input-fg)] border-[var(--color-input-border)]",
|
|
2818
|
+
"placeholder:text-[var(--color-input-placeholder,theme(colors.gray.400))]",
|
|
2819
|
+
"hover:border-[var(--color-input-border-hover,theme(colors.gray.400))]",
|
|
2820
|
+
"focus:border-[var(--color-input-border-focus,theme(colors.blue.500))]",
|
|
2821
|
+
"focus:placeholder:text-[var(--color-input-placeholder-focus,theme(colors.gray.300))]",
|
|
2822
|
+
"disabled:opacity-40 disabled:cursor-not-allowed",
|
|
2823
|
+
"read-only:opacity-70",
|
|
2824
|
+
"data-[invalid]:border-[var(--color-input-border-invalid,theme(colors.red.500))]"
|
|
2825
|
+
].join(" ");
|
|
2826
|
+
var INPUT_SIZE_CLASSES = {
|
|
2827
|
+
xs: "h-6 px-2 text-xs rounded",
|
|
2828
|
+
sm: "h-8 px-3 text-sm rounded-md",
|
|
2829
|
+
md: "h-10 px-4 text-base rounded-md",
|
|
2830
|
+
lg: "h-12 px-4 text-lg rounded-lg",
|
|
2831
|
+
"2xl": "h-14 px-4 text-xl rounded-lg"
|
|
2832
|
+
};
|
|
2833
|
+
var INPUT_VARIANT_CLASSES = {
|
|
2834
|
+
outline: "border border-solid",
|
|
2835
|
+
filled: "border-0 bg-[var(--color-input-filled-bg,theme(colors.gray.100))]",
|
|
2836
|
+
unstyled: "border-0 bg-transparent p-0 h-auto"
|
|
2837
|
+
};
|
|
2964
2838
|
var Input = React29__namespace.default.forwardRef(
|
|
2965
|
-
({ size, variant, className, ...rest }, ref) => {
|
|
2839
|
+
({ size = "md", variant = "outline", className, ...rest }, ref) => {
|
|
2966
2840
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2967
2841
|
"input",
|
|
2968
2842
|
{
|
|
2969
2843
|
ref,
|
|
2970
|
-
className: cn(
|
|
2844
|
+
className: cn(INPUT_BASE, INPUT_SIZE_CLASSES[size], INPUT_VARIANT_CLASSES[variant], className),
|
|
2971
2845
|
...rest
|
|
2972
2846
|
}
|
|
2973
2847
|
);
|
|
@@ -3350,7 +3224,7 @@ var MenuTriggerItem = React29__namespace.forwardRef(function MenuTriggerItem2(pr
|
|
|
3350
3224
|
}
|
|
3351
3225
|
) });
|
|
3352
3226
|
});
|
|
3353
|
-
var
|
|
3227
|
+
var INPUT_BASE2 = [
|
|
3354
3228
|
"w-10 h-10",
|
|
3355
3229
|
"text-center text-sm font-medium",
|
|
3356
3230
|
"border-2 rounded-md",
|
|
@@ -3481,7 +3355,7 @@ var PinInput = React29__namespace.forwardRef(
|
|
|
3481
3355
|
"aria-invalid": invalid || void 0,
|
|
3482
3356
|
value: values[index] || "",
|
|
3483
3357
|
className: cn(
|
|
3484
|
-
|
|
3358
|
+
INPUT_BASE2,
|
|
3485
3359
|
values[index] && INPUT_FILLED,
|
|
3486
3360
|
invalid && INPUT_INVALID,
|
|
3487
3361
|
attached && index > 0 && "-ml-0.5"
|
|
@@ -3531,8 +3405,7 @@ var PopoverRoot = (props) => {
|
|
|
3531
3405
|
positioning,
|
|
3532
3406
|
autoFocus = false,
|
|
3533
3407
|
closeOnInteractOutside = true,
|
|
3534
|
-
|
|
3535
|
-
// lazyMount and unmountOnExit are handled via forceMount on Portal/Content
|
|
3408
|
+
// lazyMount and unmountOnExit are handled via keepChildrenMounted
|
|
3536
3409
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3537
3410
|
lazyMount: _lazyMount,
|
|
3538
3411
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -3568,23 +3441,27 @@ var PopoverRoot = (props) => {
|
|
|
3568
3441
|
const handleOpenChange = React29__namespace.useCallback((isOpen) => {
|
|
3569
3442
|
onOpenChange?.({ open: isOpen });
|
|
3570
3443
|
}, [onOpenChange]);
|
|
3444
|
+
const placement = mergedPositioning.placement ?? "bottom-start";
|
|
3445
|
+
const offset = mergedPositioning.offset?.mainAxis ?? 4;
|
|
3571
3446
|
return /* @__PURE__ */ jsxRuntime.jsx(PositioningContext2.Provider, { value: positioningValue, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3572
|
-
|
|
3447
|
+
popover.Popover,
|
|
3573
3448
|
{
|
|
3574
3449
|
open,
|
|
3575
3450
|
defaultOpen,
|
|
3576
3451
|
onOpenChange: handleOpenChange,
|
|
3577
|
-
|
|
3452
|
+
placement,
|
|
3453
|
+
offset,
|
|
3454
|
+
disableFocus: !autoFocus,
|
|
3578
3455
|
children
|
|
3579
3456
|
}
|
|
3580
3457
|
) });
|
|
3581
3458
|
};
|
|
3582
3459
|
var PopoverTrigger = React29__namespace.forwardRef(function PopoverTrigger2(props, ref) {
|
|
3583
3460
|
const { asChild = true, ...rest } = props;
|
|
3584
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3461
|
+
return /* @__PURE__ */ jsxRuntime.jsx(popover.Popover.Trigger, { asChild: asChild ? "except-style" : void 0, ref, ...rest });
|
|
3585
3462
|
});
|
|
3586
3463
|
var PopoverContent = React29__namespace.forwardRef(function PopoverContent2(props, ref) {
|
|
3587
|
-
const { portalled = true, portalRef, className, w, minW, maxW, paddingTop, style: styleProp, ...rest } = props;
|
|
3464
|
+
const { portalled = true, portalRef: _portalRef, className, w, minW, maxW, paddingTop, style: styleProp, ...rest } = props;
|
|
3588
3465
|
const resolvedW = typeof w === "object" ? w.base ?? w.lg : w;
|
|
3589
3466
|
const contentStyle = {
|
|
3590
3467
|
...styleProp,
|
|
@@ -3593,20 +3470,11 @@ var PopoverContent = React29__namespace.forwardRef(function PopoverContent2(prop
|
|
|
3593
3470
|
...maxW ? { maxWidth: maxW } : {},
|
|
3594
3471
|
...paddingTop !== void 0 ? { paddingTop: typeof paddingTop === "number" ? `${paddingTop * 4}px` : paddingTop } : {}
|
|
3595
3472
|
};
|
|
3596
|
-
|
|
3597
|
-
|
|
3598
|
-
const preventInteract = React29__namespace.useCallback((e) => e.preventDefault(), []);
|
|
3599
|
-
const content = /* @__PURE__ */ jsxRuntime.jsx(
|
|
3600
|
-
RadixPopover__namespace.Content,
|
|
3473
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3474
|
+
popover.Popover.Content,
|
|
3601
3475
|
{
|
|
3602
3476
|
ref,
|
|
3603
|
-
|
|
3604
|
-
align: positioning.align,
|
|
3605
|
-
sideOffset: positioning.sideOffset,
|
|
3606
|
-
alignOffset: positioning.alignOffset,
|
|
3607
|
-
collisionPadding: positioning.collisionPadding,
|
|
3608
|
-
onOpenAutoFocus: positioning.autoFocus ? void 0 : preventFocus,
|
|
3609
|
-
onInteractOutside: positioning.closeOnInteractOutside ? void 0 : preventInteract,
|
|
3477
|
+
unstyled: true,
|
|
3610
3478
|
className: cn(
|
|
3611
3479
|
"z-50 rounded-lg border border-[var(--color-popover-border,var(--color-border-divider))]",
|
|
3612
3480
|
"bg-[var(--color-popover-bg,var(--color-dialog-bg))]",
|
|
@@ -3622,17 +3490,14 @@ var PopoverContent = React29__namespace.forwardRef(function PopoverContent2(prop
|
|
|
3622
3490
|
...rest
|
|
3623
3491
|
}
|
|
3624
3492
|
);
|
|
3625
|
-
if (!portalled) {
|
|
3626
|
-
return content;
|
|
3627
|
-
}
|
|
3628
|
-
return /* @__PURE__ */ jsxRuntime.jsx(RadixPopover__namespace.Portal, { container: portalRef?.current ?? void 0, children: content });
|
|
3629
3493
|
});
|
|
3630
3494
|
var PopoverArrow = React29__namespace.forwardRef(function PopoverArrow2(props, ref) {
|
|
3631
3495
|
const { className, ...rest } = props;
|
|
3632
3496
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3633
|
-
|
|
3497
|
+
popover.Popover.Arrow,
|
|
3634
3498
|
{
|
|
3635
3499
|
ref,
|
|
3500
|
+
unstyled: true,
|
|
3636
3501
|
className: cn("fill-[var(--color-popover-bg,var(--color-dialog-bg))]", className),
|
|
3637
3502
|
...rest
|
|
3638
3503
|
}
|
|
@@ -3641,8 +3506,9 @@ var PopoverArrow = React29__namespace.forwardRef(function PopoverArrow2(props, r
|
|
|
3641
3506
|
var PopoverCloseTrigger = React29__namespace.forwardRef(function PopoverCloseTrigger2(props, ref) {
|
|
3642
3507
|
const { className, ...rest } = props;
|
|
3643
3508
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3644
|
-
|
|
3509
|
+
popover.Popover.Close,
|
|
3645
3510
|
{
|
|
3511
|
+
unstyled: true,
|
|
3646
3512
|
className: cn("absolute top-1 right-1", className),
|
|
3647
3513
|
...rest,
|
|
3648
3514
|
asChild: true,
|
|
@@ -3656,7 +3522,7 @@ var PopoverCloseTriggerWrapper = React29__namespace.forwardRef(function PopoverC
|
|
|
3656
3522
|
if (disabled) {
|
|
3657
3523
|
return children;
|
|
3658
3524
|
}
|
|
3659
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3525
|
+
return /* @__PURE__ */ jsxRuntime.jsx(popover.Popover.Close, { ref, ...rest, asChild: true, children });
|
|
3660
3526
|
});
|
|
3661
3527
|
var PopoverBody = React29__namespace.forwardRef(function PopoverBody2(props, ref) {
|
|
3662
3528
|
const {
|
|
@@ -3740,7 +3606,7 @@ var PopoverDescription = React29__namespace.forwardRef(function PopoverDescripti
|
|
|
3740
3606
|
}
|
|
3741
3607
|
);
|
|
3742
3608
|
});
|
|
3743
|
-
var
|
|
3609
|
+
var SIZE_CLASSES7 = {
|
|
3744
3610
|
sm: "h-1",
|
|
3745
3611
|
md: "h-2",
|
|
3746
3612
|
lg: "h-3",
|
|
@@ -3798,7 +3664,7 @@ var Progress = React29__namespace.forwardRef(
|
|
|
3798
3664
|
className: cn(
|
|
3799
3665
|
"w-full overflow-hidden rounded-full",
|
|
3800
3666
|
"bg-[var(--color-progress-track)]",
|
|
3801
|
-
|
|
3667
|
+
SIZE_CLASSES7[size],
|
|
3802
3668
|
trackProps?.className
|
|
3803
3669
|
),
|
|
3804
3670
|
style: trackStyle,
|
|
@@ -3937,7 +3803,7 @@ var ProgressCircleValueText = React29__namespace.forwardRef(function ProgressCir
|
|
|
3937
3803
|
}
|
|
3938
3804
|
);
|
|
3939
3805
|
});
|
|
3940
|
-
var
|
|
3806
|
+
var SIZE_CLASSES8 = {
|
|
3941
3807
|
xs: {
|
|
3942
3808
|
root: "gap-1.5",
|
|
3943
3809
|
control: "h-3 w-3",
|
|
@@ -4018,7 +3884,7 @@ var RadioBase = React29__namespace.forwardRef(
|
|
|
4018
3884
|
function Radio(props, ref) {
|
|
4019
3885
|
const { children, inputProps, rootRef, value, disabled, className, ...rest } = props;
|
|
4020
3886
|
const size = React29__namespace.useContext(RadioSizeContext);
|
|
4021
|
-
const sizeClasses2 =
|
|
3887
|
+
const sizeClasses2 = SIZE_CLASSES8[size];
|
|
4022
3888
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4023
3889
|
"label",
|
|
4024
3890
|
{
|
|
@@ -4533,7 +4399,7 @@ var SelectAsync = React29__namespace.forwardRef((props, ref) => {
|
|
|
4533
4399
|
}
|
|
4534
4400
|
);
|
|
4535
4401
|
});
|
|
4536
|
-
var
|
|
4402
|
+
var VARIANT_CLASSES5 = {
|
|
4537
4403
|
solid: "border-solid",
|
|
4538
4404
|
dashed: "border-dashed",
|
|
4539
4405
|
dotted: "border-dotted"
|
|
@@ -4562,7 +4428,7 @@ var Separator2 = React29__namespace.default.forwardRef(
|
|
|
4562
4428
|
className: cn(
|
|
4563
4429
|
"border-[var(--color-border-divider)]",
|
|
4564
4430
|
"border-0",
|
|
4565
|
-
|
|
4431
|
+
VARIANT_CLASSES5[variant],
|
|
4566
4432
|
isVertical ? VERTICAL_SIZE_CLASSES[size] : HORIZONTAL_SIZE_CLASSES[size],
|
|
4567
4433
|
isVertical ? "self-stretch h-auto w-0" : "w-full",
|
|
4568
4434
|
className
|
|
@@ -4676,7 +4542,7 @@ function SliderMarks(props) {
|
|
|
4676
4542
|
}
|
|
4677
4543
|
var NOOP3 = () => {
|
|
4678
4544
|
};
|
|
4679
|
-
var
|
|
4545
|
+
var SIZE_CLASSES9 = {
|
|
4680
4546
|
sm: {
|
|
4681
4547
|
root: "h-4 w-7",
|
|
4682
4548
|
thumb: "h-3 w-3 data-[state=checked]:translate-x-3",
|
|
@@ -4726,7 +4592,7 @@ var SwitchBase = React29__namespace.forwardRef(
|
|
|
4726
4592
|
},
|
|
4727
4593
|
[isControlled, onCheckedChange]
|
|
4728
4594
|
);
|
|
4729
|
-
const sizeClasses2 =
|
|
4595
|
+
const sizeClasses2 = SIZE_CLASSES9[size];
|
|
4730
4596
|
const isRtl = direction === "rtl";
|
|
4731
4597
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4732
4598
|
"label",
|
|
@@ -4802,11 +4668,11 @@ var SwitchBase = React29__namespace.forwardRef(
|
|
|
4802
4668
|
);
|
|
4803
4669
|
var Switch2 = SwitchBase;
|
|
4804
4670
|
var ArrowIcon3 = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { className, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5 12h14M12 5l7 7-7 7", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
4805
|
-
var
|
|
4671
|
+
var SPACING_SCALE = 4;
|
|
4806
4672
|
function toPixels(value) {
|
|
4807
4673
|
if (value === void 0) return void 0;
|
|
4808
4674
|
if (typeof value === "string") return value;
|
|
4809
|
-
return `${value *
|
|
4675
|
+
return `${value * SPACING_SCALE}px`;
|
|
4810
4676
|
}
|
|
4811
4677
|
function extractStyles(props) {
|
|
4812
4678
|
const style = {};
|
|
@@ -5411,39 +5277,18 @@ var nbsp = String.fromCharCode(160);
|
|
|
5411
5277
|
function TruncatedTextTooltip2({ label, children }) {
|
|
5412
5278
|
return /* @__PURE__ */ jsxRuntime.jsx(Tooltip, { content: label, positioning: { placement: "top" }, children });
|
|
5413
5279
|
}
|
|
5414
|
-
var
|
|
5415
|
-
|
|
5416
|
-
|
|
5417
|
-
|
|
5418
|
-
|
|
5419
|
-
|
|
5420
|
-
|
|
5421
|
-
|
|
5422
|
-
|
|
5423
|
-
|
|
5424
|
-
|
|
5425
|
-
|
|
5426
|
-
"hover:opacity-76"
|
|
5427
|
-
].join(" "),
|
|
5428
|
-
filter: "bg-[var(--color-tag-filter-bg)]",
|
|
5429
|
-
select: [
|
|
5430
|
-
"cursor-pointer",
|
|
5431
|
-
"bg-[var(--color-tag-select-bg)] text-[var(--color-tag-select-fg)]",
|
|
5432
|
-
"hover:text-[var(--color-hover)] hover:opacity-76"
|
|
5433
|
-
].join(" ")
|
|
5434
|
-
},
|
|
5435
|
-
size: {
|
|
5436
|
-
sm: "px-1 py-0.5 min-h-5 gap-1 text-xs",
|
|
5437
|
-
md: "px-1 py-0.5 min-h-6 gap-1 text-sm",
|
|
5438
|
-
lg: "px-1.5 py-1.5 min-h-8 min-w-8 gap-1 text-sm"
|
|
5439
|
-
}
|
|
5440
|
-
},
|
|
5441
|
-
defaultVariants: {
|
|
5442
|
-
variant: "subtle",
|
|
5443
|
-
size: "md"
|
|
5444
|
-
}
|
|
5445
|
-
}
|
|
5446
|
-
);
|
|
5280
|
+
var TAG_BASE = "inline-flex items-center align-top max-w-full select-text rounded-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gray-500";
|
|
5281
|
+
var TAG_VARIANT_CLASSES = {
|
|
5282
|
+
subtle: "bg-[var(--color-tag-subtle-bg)] text-[var(--color-tag-subtle-fg)]",
|
|
5283
|
+
clickable: "cursor-pointer bg-[var(--color-tag-clickable-bg)] text-[var(--color-tag-clickable-fg)] hover:opacity-76",
|
|
5284
|
+
filter: "bg-[var(--color-tag-filter-bg)]",
|
|
5285
|
+
select: "cursor-pointer bg-[var(--color-tag-select-bg)] text-[var(--color-tag-select-fg)] hover:text-[var(--color-hover)] hover:opacity-76"
|
|
5286
|
+
};
|
|
5287
|
+
var TAG_SIZE_CLASSES = {
|
|
5288
|
+
sm: "px-1 py-0.5 min-h-5 gap-1 text-xs",
|
|
5289
|
+
md: "px-1 py-0.5 min-h-6 gap-1 text-sm",
|
|
5290
|
+
lg: "px-1.5 py-1.5 min-h-8 min-w-8 gap-1 text-sm"
|
|
5291
|
+
};
|
|
5447
5292
|
var TAG_SELECTED_CLASSES = [
|
|
5448
5293
|
"bg-[var(--color-tag-select-selected-bg)]",
|
|
5449
5294
|
"text-[var(--color-tag-select-selected-fg)]",
|
|
@@ -5485,7 +5330,9 @@ var Tag = React29__namespace.forwardRef(
|
|
|
5485
5330
|
{
|
|
5486
5331
|
ref,
|
|
5487
5332
|
className: cn(
|
|
5488
|
-
|
|
5333
|
+
TAG_BASE,
|
|
5334
|
+
TAG_VARIANT_CLASSES[variant ?? "subtle"],
|
|
5335
|
+
TAG_SIZE_CLASSES[size ?? "md"],
|
|
5489
5336
|
selected && !loading && TAG_SELECTED_CLASSES,
|
|
5490
5337
|
disabled && TAG_DISABLED_CLASSES,
|
|
5491
5338
|
className
|
|
@@ -5513,46 +5360,36 @@ var Tag = React29__namespace.forwardRef(
|
|
|
5513
5360
|
) });
|
|
5514
5361
|
}
|
|
5515
5362
|
);
|
|
5516
|
-
var
|
|
5517
|
-
|
|
5518
|
-
|
|
5519
|
-
|
|
5520
|
-
|
|
5521
|
-
|
|
5522
|
-
|
|
5523
|
-
|
|
5524
|
-
|
|
5525
|
-
|
|
5526
|
-
|
|
5527
|
-
|
|
5528
|
-
|
|
5529
|
-
|
|
5530
|
-
|
|
5531
|
-
|
|
5532
|
-
|
|
5533
|
-
|
|
5534
|
-
|
|
5535
|
-
|
|
5536
|
-
|
|
5537
|
-
|
|
5538
|
-
|
|
5539
|
-
filled: "border-0 bg-[var(--color-input-filled-bg,theme(colors.gray.100))]",
|
|
5540
|
-
unstyled: "border-0 bg-transparent p-0"
|
|
5541
|
-
}
|
|
5542
|
-
},
|
|
5543
|
-
defaultVariants: {
|
|
5544
|
-
size: "md",
|
|
5545
|
-
variant: "outline"
|
|
5546
|
-
}
|
|
5547
|
-
}
|
|
5548
|
-
);
|
|
5363
|
+
var TEXTAREA_BASE = [
|
|
5364
|
+
"w-full appearance-none outline-none transition-colors resize-y",
|
|
5365
|
+
"bg-[var(--color-input-bg)] text-[var(--color-input-fg)] border-[var(--color-input-border)]",
|
|
5366
|
+
"placeholder:text-[var(--color-input-placeholder,theme(colors.gray.400))]",
|
|
5367
|
+
"hover:border-[var(--color-input-border-hover,theme(colors.gray.400))]",
|
|
5368
|
+
"focus:border-[var(--color-input-border-focus,theme(colors.blue.500))]",
|
|
5369
|
+
"focus:placeholder:text-[var(--color-input-placeholder-focus,theme(colors.gray.300))]",
|
|
5370
|
+
"disabled:opacity-40 disabled:cursor-not-allowed",
|
|
5371
|
+
"read-only:opacity-70",
|
|
5372
|
+
"data-[invalid]:border-[var(--color-input-border-invalid,theme(colors.red.500))]"
|
|
5373
|
+
].join(" ");
|
|
5374
|
+
var TEXTAREA_SIZE_CLASSES = {
|
|
5375
|
+
xs: "px-2 py-1 text-xs rounded",
|
|
5376
|
+
sm: "px-3 py-2 text-sm rounded-md",
|
|
5377
|
+
md: "px-4 py-2 text-base rounded-md",
|
|
5378
|
+
lg: "px-4 py-3 text-lg rounded-lg",
|
|
5379
|
+
"2xl": "px-4 py-3 text-xl rounded-lg"
|
|
5380
|
+
};
|
|
5381
|
+
var TEXTAREA_VARIANT_CLASSES = {
|
|
5382
|
+
outline: "border border-solid",
|
|
5383
|
+
filled: "border-0 bg-[var(--color-input-filled-bg,theme(colors.gray.100))]",
|
|
5384
|
+
unstyled: "border-0 bg-transparent p-0"
|
|
5385
|
+
};
|
|
5549
5386
|
var Textarea = React29__namespace.default.forwardRef(
|
|
5550
|
-
({ size, variant, className, ...rest }, ref) => {
|
|
5387
|
+
({ size = "md", variant = "outline", className, ...rest }, ref) => {
|
|
5551
5388
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5552
5389
|
"textarea",
|
|
5553
5390
|
{
|
|
5554
5391
|
ref,
|
|
5555
|
-
className: cn(
|
|
5392
|
+
className: cn(TEXTAREA_BASE, TEXTAREA_SIZE_CLASSES[size], TEXTAREA_VARIANT_CLASSES[variant], className),
|
|
5556
5393
|
...rest
|
|
5557
5394
|
}
|
|
5558
5395
|
);
|
|
@@ -5649,7 +5486,7 @@ var Toaster = () => {
|
|
|
5649
5486
|
}
|
|
5650
5487
|
);
|
|
5651
5488
|
};
|
|
5652
|
-
function
|
|
5489
|
+
function Provider(props) {
|
|
5653
5490
|
return /* @__PURE__ */ jsxRuntime.jsx(ColorModeProvider, { ...props });
|
|
5654
5491
|
}
|
|
5655
5492
|
function fmt(n, decimals = 2) {
|
|
@@ -7264,7 +7101,7 @@ exports.Progress = Progress;
|
|
|
7264
7101
|
exports.ProgressCircleRing = ProgressCircleRing;
|
|
7265
7102
|
exports.ProgressCircleRoot = ProgressCircleRoot;
|
|
7266
7103
|
exports.ProgressCircleValueText = ProgressCircleValueText;
|
|
7267
|
-
exports.Provider =
|
|
7104
|
+
exports.Provider = Provider;
|
|
7268
7105
|
exports.Radio = Radio2;
|
|
7269
7106
|
exports.RadioGroup = RadioGroup3;
|
|
7270
7107
|
exports.Rating = Rating;
|