@avenue-ticketing/ui 0.12.0-beta.1 → 0.12.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dist/react/badge-groups.js +2 -2
  2. package/dist/react/badge-groups.js.map +1 -1
  3. package/dist/react/badge.js +49 -18
  4. package/dist/react/badge.js.map +1 -1
  5. package/dist/react/button.js +2 -2
  6. package/dist/react/button.js.map +1 -1
  7. package/dist/react/checkbox.js +10 -7
  8. package/dist/react/checkbox.js.map +1 -1
  9. package/dist/react/combobox.d.ts +3 -2
  10. package/dist/react/combobox.js +284 -32
  11. package/dist/react/combobox.js.map +1 -1
  12. package/dist/react/dropdown-account-breadcrumb.js +176 -14
  13. package/dist/react/dropdown-account-breadcrumb.js.map +1 -1
  14. package/dist/react/dropdown-account-button.js +190 -25
  15. package/dist/react/dropdown-account-button.js.map +1 -1
  16. package/dist/react/dropdown-account-card-md.js +189 -24
  17. package/dist/react/dropdown-account-card-md.js.map +1 -1
  18. package/dist/react/dropdown-account-card-sm.js +189 -24
  19. package/dist/react/dropdown-account-card-sm.js.map +1 -1
  20. package/dist/react/dropdown-account-card-xs.js +189 -24
  21. package/dist/react/dropdown-account-card-xs.js.map +1 -1
  22. package/dist/react/dropdown-avatar.js +190 -25
  23. package/dist/react/dropdown-avatar.js.map +1 -1
  24. package/dist/react/dropdown-button-advanced.js +190 -25
  25. package/dist/react/dropdown-button-advanced.js.map +1 -1
  26. package/dist/react/dropdown-button-link.js +189 -24
  27. package/dist/react/dropdown-button-link.js.map +1 -1
  28. package/dist/react/dropdown-button-simple.js +190 -25
  29. package/dist/react/dropdown-button-simple.js.map +1 -1
  30. package/dist/react/dropdown-icon-advanced.js +189 -24
  31. package/dist/react/dropdown-icon-advanced.js.map +1 -1
  32. package/dist/react/dropdown-icon-simple.js +189 -24
  33. package/dist/react/dropdown-icon-simple.js.map +1 -1
  34. package/dist/react/dropdown-integration.js +190 -25
  35. package/dist/react/dropdown-integration.js.map +1 -1
  36. package/dist/react/dropdown-search-advanced.js +191 -26
  37. package/dist/react/dropdown-search-advanced.js.map +1 -1
  38. package/dist/react/dropdown-search-simple.js +191 -26
  39. package/dist/react/dropdown-search-simple.js.map +1 -1
  40. package/dist/react/dropdown.d.ts +4 -1
  41. package/dist/react/dropdown.js +189 -24
  42. package/dist/react/dropdown.js.map +1 -1
  43. package/dist/react/input-date.js.map +1 -1
  44. package/dist/react/input-file.js +3 -3
  45. package/dist/react/input-file.js.map +1 -1
  46. package/dist/react/input-group.js.map +1 -1
  47. package/dist/react/input-number.js +2 -2
  48. package/dist/react/input-number.js.map +1 -1
  49. package/dist/react/input-payment.js +1 -1
  50. package/dist/react/input-payment.js.map +1 -1
  51. package/dist/react/input-tags-outer.js +9 -9
  52. package/dist/react/input-tags-outer.js.map +1 -1
  53. package/dist/react/input-tags.js +8 -8
  54. package/dist/react/input-tags.js.map +1 -1
  55. package/dist/react/input.js +1 -1
  56. package/dist/react/input.js.map +1 -1
  57. package/dist/react/multi-select.d.ts +3 -2
  58. package/dist/react/multi-select.js +230 -29
  59. package/dist/react/multi-select.js.map +1 -1
  60. package/dist/react/popover.d.ts +10 -1
  61. package/dist/react/popover.js +195 -18
  62. package/dist/react/popover.js.map +1 -1
  63. package/dist/react/radio-buttons.js +2 -1
  64. package/dist/react/radio-buttons.js.map +1 -1
  65. package/dist/react/select-item.d.ts +2 -1
  66. package/dist/react/select-item.js +11 -7
  67. package/dist/react/select-item.js.map +1 -1
  68. package/dist/react/select.d.ts +4 -3
  69. package/dist/react/select.js +298 -42
  70. package/dist/react/select.js.map +1 -1
  71. package/dist/react/switch.js +1 -1
  72. package/dist/react/switch.js.map +1 -1
  73. package/dist/react/tag-select.d.ts +5 -2
  74. package/dist/react/tag-select.js +215 -25
  75. package/dist/react/tag-select.js.map +1 -1
  76. package/dist/react/tags.js +8 -8
  77. package/dist/react/tags.js.map +1 -1
  78. package/dist/react/textarea.js.map +1 -1
  79. package/dist/select-mobile-sheet-CB2ptDTJ.d.ts +12 -0
  80. package/dist/{select-shared-B3Y5SMXU.d.ts → select-shared-oJEeJxeB.d.ts} +6 -0
  81. package/package.json +1 -1
  82. package/theme.css +3 -1
@@ -1,15 +1,92 @@
1
- import { createContext, useState, useCallback, useRef, useLayoutEffect } from 'react';
1
+ import { createContext, useState, useMemo, useContext, useEffect, useCallback, useLayoutEffect, useRef } from 'react';
2
2
  import { CaretDownIcon } from '@phosphor-icons/react/dist/csr/CaretDown';
3
3
  import { TrashIcon } from '@phosphor-icons/react/dist/csr/Trash';
4
- import { MenuTrigger, Button, MenuSection, Popover, Menu, MenuItem, Separator } from 'react-aria-components';
4
+ import { MenuTrigger, Button, MenuSection, OverlayTriggerStateContext, Popover, Menu, MenuItem, Separator } from 'react-aria-components';
5
+ import { createPortal } from 'react-dom';
5
6
  import { CheckIcon } from '@phosphor-icons/react/dist/csr/Check';
6
7
  import { CaretRightIcon } from '@phosphor-icons/react/dist/csr/CaretRight';
7
8
  import '@phosphor-icons/react/dist/csr/DotsThreeVertical';
9
+ import { XIcon } from '@phosphor-icons/react/dist/csr/X';
8
10
  import { extendTailwindMerge } from 'tailwind-merge';
9
11
  import { UserIcon } from '@phosphor-icons/react/dist/csr/User';
10
12
  import '@phosphor-icons/react/dist/csr/Plus';
11
- import { jsxs, jsx } from 'react/jsx-runtime';
13
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
12
14
 
15
+ var MOBILE_SHEET_MOTION_MS = 175;
16
+ var MOBILE_SHEET_ENTRY_EASING = "cubic-bezier(0.85, 0, 0.15, 1)";
17
+ var MOBILE_SHEET_EXIT_EASING = "cubic-bezier(0.85, 0, 1, 0.15)";
18
+ var MOBILE_SHEET_SLIDE_ENTRANCE_OFFSET_PX = 120;
19
+ function resolveSelectMobileOptions(mobileOptions) {
20
+ return {
21
+ sheet: mobileOptions?.sheet ?? true,
22
+ title: mobileOptions?.title,
23
+ sheetClassName: mobileOptions?.className,
24
+ contentClassName: mobileOptions?.contentClassName
25
+ };
26
+ }
27
+ function useMobileSheetAnimation(open, enabled, slideEntrance = true, slideOffsetPx = MOBILE_SHEET_SLIDE_ENTRANCE_OFFSET_PX) {
28
+ const [shouldRender, setShouldRender] = useState(open);
29
+ const [isAnimating, setIsAnimating] = useState(false);
30
+ useLayoutEffect(() => {
31
+ if (!enabled) {
32
+ setShouldRender(open);
33
+ return;
34
+ }
35
+ if (open) {
36
+ setShouldRender(true);
37
+ }
38
+ }, [open, enabled]);
39
+ useEffect(() => {
40
+ if (!enabled || open) return;
41
+ const timer = setTimeout(() => setShouldRender(false), MOBILE_SHEET_MOTION_MS);
42
+ return () => clearTimeout(timer);
43
+ }, [open, enabled]);
44
+ useLayoutEffect(() => {
45
+ if (!enabled || open || !shouldRender) return;
46
+ setIsAnimating(false);
47
+ }, [enabled, open, shouldRender]);
48
+ useEffect(() => {
49
+ if (!enabled || !shouldRender || !open) return;
50
+ let raf2 = 0;
51
+ const raf1 = requestAnimationFrame(() => {
52
+ raf2 = requestAnimationFrame(() => setIsAnimating(true));
53
+ });
54
+ return () => {
55
+ cancelAnimationFrame(raf1);
56
+ if (raf2) cancelAnimationFrame(raf2);
57
+ };
58
+ }, [shouldRender, open, enabled]);
59
+ const motionEasing = open ? MOBILE_SHEET_ENTRY_EASING : MOBILE_SHEET_EXIT_EASING;
60
+ const hiddenTransform = slideEntrance ? `translateY(${slideOffsetPx}px)` : "translateY(100%)";
61
+ const panelStyle = enabled ? {
62
+ transform: isAnimating ? "translateY(0)" : hiddenTransform,
63
+ opacity: isAnimating ? 1 : 0,
64
+ transitionProperty: "transform, opacity",
65
+ transitionDuration: `${MOBILE_SHEET_MOTION_MS}ms`,
66
+ transitionTimingFunction: motionEasing
67
+ } : void 0;
68
+ const backdropStyle = enabled ? {
69
+ opacity: isAnimating ? 1 : 0,
70
+ transitionProperty: "opacity",
71
+ transitionDuration: `${MOBILE_SHEET_MOTION_MS}ms`,
72
+ transitionTimingFunction: motionEasing
73
+ } : void 0;
74
+ return { shouldRender, isAnimating, panelStyle, backdropStyle };
75
+ }
76
+ var MOBILE_SHEET_MAX_PX = 1024;
77
+ function useIsMobile(breakpoint = MOBILE_SHEET_MAX_PX + 1) {
78
+ const [isMobile, setIsMobile] = useState(() => {
79
+ if (typeof window === "undefined") return false;
80
+ return window.matchMedia(`(max-width: ${breakpoint - 1}px)`).matches;
81
+ });
82
+ useEffect(() => {
83
+ const mq = window.matchMedia(`(max-width: ${breakpoint - 1}px)`);
84
+ const handler = (e) => setIsMobile(e.matches);
85
+ mq.addEventListener("change", handler);
86
+ return () => mq.removeEventListener("change", handler);
87
+ }, [breakpoint]);
88
+ return isMobile;
89
+ }
13
90
  var twMerge = extendTailwindMerge({
14
91
  extend: {
15
92
  theme: {
@@ -170,7 +247,7 @@ var Avatar = ({
170
247
  };
171
248
  var CHECKBOX_TICK_DELAY_MS = 60;
172
249
  var CHECKBOX_TICK_DRAW_MS = 100;
173
- function CheckboxAnimatedCheckMark({ className }) {
250
+ function CheckboxAnimatedCheckMark({ pixelSize, className }) {
174
251
  const pathRef = useRef(null);
175
252
  useLayoutEffect(() => {
176
253
  const path = pathRef.current;
@@ -191,7 +268,7 @@ function CheckboxAnimatedCheckMark({ className }) {
191
268
  });
192
269
  return () => anim.cancel();
193
270
  }, []);
194
- return /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", viewBox: "0 0 14 14", fill: "none", className: cx("block shrink-0", className), children: /* @__PURE__ */ jsx(
271
+ return /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", width: pixelSize, height: pixelSize, viewBox: "0 0 14 14", fill: "none", className: cx("block", className), children: /* @__PURE__ */ jsx(
195
272
  "path",
196
273
  {
197
274
  ref: pathRef,
@@ -206,14 +283,15 @@ function CheckboxAnimatedCheckMark({ className }) {
206
283
  var focusRingShadow = "outline-none [box-shadow:0px_0px_0px_2px_var(--color-bg-primary),0px_0px_0px_4px_var(--color-focus-ring)]";
207
284
  var CheckboxBase = ({ className, isSelected, isDisabled, isIndeterminate, size = "sm", isFocusVisible = false }) => {
208
285
  const isChecked = isSelected || isIndeterminate;
209
- const iconClassName = size === "sm" ? "size-2.5" : "size-3.5";
286
+ const iconPixelSize = size === "sm" ? 10 : 14;
210
287
  return /* @__PURE__ */ jsxs(
211
288
  "div",
212
289
  {
213
290
  className: cx(
214
- "relative flex shrink-0 cursor-pointer appearance-none items-center justify-center border border-solid border-primary",
291
+ "relative flex shrink-0 cursor-pointer appearance-none items-center justify-center overflow-clip border border-solid border-primary",
215
292
  size === "sm" ? "size-4 rounded-xs" : "size-5 rounded-sm",
216
293
  isChecked ? "border-transparent bg-brand-solid" : "bg-primary",
294
+ !isChecked && !isDisabled && "group-hover:bg-primary_hover",
217
295
  isDisabled && "cursor-not-allowed opacity-50",
218
296
  isDisabled && !isChecked && "bg-tertiary",
219
297
  isFocusVisible && !isDisabled && focusRingShadow,
@@ -224,13 +302,15 @@ var CheckboxBase = ({ className, isSelected, isDisabled, isIndeterminate, size =
224
302
  "svg",
225
303
  {
226
304
  "aria-hidden": "true",
305
+ width: iconPixelSize,
306
+ height: iconPixelSize,
227
307
  viewBox: "0 0 14 14",
228
308
  fill: "none",
229
- className: cx("pointer-events-none block shrink-0 text-fg-white", iconClassName),
309
+ className: "pointer-events-none block text-fg-white",
230
310
  children: /* @__PURE__ */ jsx("path", { d: "M2.91675 7H11.0834", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })
231
311
  }
232
312
  ),
233
- isSelected && !isIndeterminate && /* @__PURE__ */ jsx(CheckboxAnimatedCheckMark, { className: cx("pointer-events-none text-fg-white", iconClassName) })
313
+ isSelected && !isIndeterminate && /* @__PURE__ */ jsx(CheckboxAnimatedCheckMark, { pixelSize: iconPixelSize, className: "pointer-events-none text-fg-white" })
234
314
  ]
235
315
  }
236
316
  );
@@ -275,6 +355,7 @@ var RadioButtonBase = ({ className, isFocusVisible, isSelected, isDisabled, size
275
355
  "relative flex shrink-0 cursor-pointer appearance-none items-center justify-center overflow-clip rounded-full border border-solid border-primary bg-primary",
276
356
  size === "sm" ? "size-4" : "size-5",
277
357
  isSelected && "border-transparent bg-brand-solid",
358
+ !isSelected && !isDisabled && "group-hover:bg-primary_hover",
278
359
  isDisabled && "cursor-not-allowed opacity-50",
279
360
  isDisabled && !isSelected && "bg-tertiary",
280
361
  isFocusVisible && !isDisabled && focusRingShadow2,
@@ -316,7 +397,7 @@ var ToggleBase = ({ className, isHovered, isDisabled, isFocusVisible, isSelected
316
397
  const classes = slim ? styles2.slim[size] : styles2.default[size];
317
398
  const offTrackBackground = (() => {
318
399
  if (isDisabled) return "bg-tertiary";
319
- if (isHovered) return slim ? "bg-tertiary" : "bg-brand-primary";
400
+ if (isHovered) return "bg-toggle-track_hover";
320
401
  return "bg-quaternary";
321
402
  })();
322
403
  return /* @__PURE__ */ jsx(
@@ -411,11 +492,11 @@ var DropdownItem = ({ label, children, addon, icon: Icon, avatarUrl, unstyled, s
411
492
  children: [
412
493
  state.selectionMode !== "none" && !avatarUrl && !Icon && /* @__PURE__ */ jsx(SelectionIndicator, { ...state, className: "mr-2" }),
413
494
  avatarUrl && /* @__PURE__ */ jsx("div", { className: "mr-2 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsx(Avatar, { "aria-hidden": "true", size: "xs", src: avatarUrl, alt: label, className: "size-5" }) }),
414
- Icon && /* @__PURE__ */ jsx(Icon, { "aria-hidden": "true", className: "mr-2 size-4 shrink-0 stroke-[2.25px] text-fg-quaternary" }),
495
+ Icon && /* @__PURE__ */ jsx(Icon, { "aria-hidden": "true", className: "mr-2 size-4 shrink-0 stroke-[2.25px] text-fg-secondary" }),
415
496
  /* @__PURE__ */ jsx("span", { className: cx("grow truncate text-sm font-semibold text-secondary", state.isFocused && "text-secondary_hover"), children: label || (typeof children === "function" ? children(state) : children) }),
416
497
  addon && /* @__PURE__ */ jsx("span", { className: "ml-1 shrink-0 pr-1 text-xs font-medium text-quaternary", children: addon }),
417
498
  state.selectionMode !== "none" && (avatarUrl || Icon) && /* @__PURE__ */ jsx(SelectionIndicator, { ...state, className: "ml-1" }),
418
- state.hasSubmenu && /* @__PURE__ */ jsx(CaretRightIcon, { "aria-hidden": "true", className: "ml-auto size-4 shrink-0 stroke-[2.25px] text-fg-quaternary" })
499
+ state.hasSubmenu && /* @__PURE__ */ jsx(CaretRightIcon, { "aria-hidden": "true", className: "ml-auto size-4 shrink-0 stroke-[2.25px] text-fg-secondary" })
419
500
  ]
420
501
  }
421
502
  )
@@ -431,21 +512,105 @@ var DropdownMenu = (props) => {
431
512
  }
432
513
  );
433
514
  };
434
- var DropdownPopover = (props) => {
435
- return /* @__PURE__ */ jsx(
436
- Popover,
515
+ var DropdownSheetDepthContext = createContext(0);
516
+ function DropdownSheetCloseButton({ onClose }) {
517
+ return /* @__PURE__ */ jsxs(
518
+ "button",
437
519
  {
438
- placement: "bottom right",
439
- ...props,
440
- className: (state) => cx(
441
- "w-62 origin-(--trigger-anchor-point) overflow-auto rounded-lg bg-primary shadow-lg ring-1 ring-secondary_alt will-change-transform",
442
- state.isEntering && "duration-150 ease-out animate-in fade-in placement-right:slide-in-from-left-0.5 placement-top:slide-in-from-bottom-0.5 placement-bottom:slide-in-from-top-0.5",
443
- state.isExiting && "duration-100 ease-in animate-out fade-out placement-right:slide-out-to-left-0.5 placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5",
444
- typeof props.className === "function" ? props.className(state) : props.className
445
- ),
446
- children: props.children
520
+ type: "button",
521
+ onClick: (e) => {
522
+ e.stopPropagation();
523
+ onClose();
524
+ },
525
+ className: "flex size-12 shrink-0 cursor-pointer items-center justify-center rounded-full text-fg-primary transition duration-100 ease-linear hover:bg-primary_hover active:scale-[0.96] focus-visible:outline-none focus-visible:[box-shadow:0px_0px_0px_2px_var(--color-bg-primary),0px_0px_0px_4px_var(--color-focus-ring)]",
526
+ children: [
527
+ /* @__PURE__ */ jsx(XIcon, { className: "size-5", "aria-hidden": "true" }),
528
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
529
+ ]
447
530
  }
448
531
  );
532
+ }
533
+ function DropdownSheetChrome({ title, onClose, children }) {
534
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
535
+ /* @__PURE__ */ jsxs("div", { className: cx("flex w-full shrink-0 items-center py-2 pl-4 pr-2", title ? "justify-between gap-3" : "justify-end"), children: [
536
+ title ? /* @__PURE__ */ jsx("p", { className: "min-w-0 flex-1 truncate text-base font-semibold text-primary", children: title }) : null,
537
+ /* @__PURE__ */ jsx(DropdownSheetCloseButton, { onClose })
538
+ ] }),
539
+ /* @__PURE__ */ jsx("div", { className: "min-h-0 flex-1 overflow-y-auto pb-[max(2.5rem,calc(env(safe-area-inset-bottom)+2rem))]", children })
540
+ ] });
541
+ }
542
+ var DropdownPopover = ({ mobileOptions, children, className, style, ...props }) => {
543
+ const isMobile = useIsMobile();
544
+ const resolvedMobile = useMemo(() => resolveSelectMobileOptions(mobileOptions), [mobileOptions]);
545
+ const useMobileSheet = isMobile && resolvedMobile.sheet;
546
+ const overlayState = useContext(OverlayTriggerStateContext);
547
+ const open = overlayState?.isOpen ?? false;
548
+ const parentDepth = useContext(DropdownSheetDepthContext);
549
+ const depth = parentDepth + 1;
550
+ const { shouldRender, panelStyle, backdropStyle } = useMobileSheetAnimation(open, useMobileSheet);
551
+ useEffect(() => {
552
+ if (!useMobileSheet || !open) return;
553
+ const prev = document.body.style.overflow;
554
+ document.body.style.overflow = "hidden";
555
+ return () => {
556
+ document.body.style.overflow = prev;
557
+ };
558
+ }, [useMobileSheet, open]);
559
+ if (!useMobileSheet) {
560
+ return /* @__PURE__ */ jsx(
561
+ Popover,
562
+ {
563
+ placement: "bottom right",
564
+ ...props,
565
+ style,
566
+ className: (state) => cx(
567
+ "w-62 origin-(--trigger-anchor-point) overflow-auto rounded-lg bg-primary shadow-lg ring-1 ring-secondary_alt will-change-transform",
568
+ state.isEntering && "duration-150 ease-out animate-in fade-in placement-right:slide-in-from-left-0.5 placement-top:slide-in-from-bottom-0.5 placement-bottom:slide-in-from-top-0.5",
569
+ state.isExiting && "duration-100 ease-in animate-out fade-out placement-right:slide-out-to-left-0.5 placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5",
570
+ typeof className === "function" ? className(state) : className
571
+ ),
572
+ children
573
+ }
574
+ );
575
+ }
576
+ const close = () => overlayState?.close();
577
+ const showMobileSheet = shouldRender;
578
+ const isMobileSheetExiting = showMobileSheet && !open;
579
+ const scrimZIndex = 50 + (depth - 1) * 10;
580
+ const sheetZIndex = scrimZIndex + 1;
581
+ const mobileScrim = shouldRender && typeof document !== "undefined" ? createPortal(
582
+ /* @__PURE__ */ jsx(
583
+ "div",
584
+ {
585
+ className: "fixed inset-0 bg-overlay/70",
586
+ style: { ...backdropStyle, zIndex: scrimZIndex },
587
+ onClick: close,
588
+ "aria-hidden": "true"
589
+ }
590
+ ),
591
+ document.body
592
+ ) : null;
593
+ return /* @__PURE__ */ jsxs(DropdownSheetDepthContext.Provider, { value: depth, children: [
594
+ mobileScrim,
595
+ /* @__PURE__ */ jsx(
596
+ Popover,
597
+ {
598
+ placement: "bottom",
599
+ containerPadding: 0,
600
+ offset: 0,
601
+ ...props,
602
+ isExiting: isMobileSheetExiting,
603
+ "data-dropdown-mobile-sheet": true,
604
+ style: { ...panelStyle, zIndex: sheetZIndex, ...style },
605
+ className: (state) => cx(
606
+ "fixed! inset-x-0! bottom-0! top-auto! right-0! left-0! flex max-h-[min(90dvh,calc(100dvh-env(safe-area-inset-bottom,0px)))] w-full! max-w-none! flex-col overflow-hidden rounded-t-2xl rounded-b-none border-x-0 border-t border-secondary bg-primary shadow-xl outline-hidden",
607
+ resolvedMobile.sheetClassName,
608
+ typeof className === "function" ? className(state) : className
609
+ ),
610
+ children: /* @__PURE__ */ jsx(DropdownSheetChrome, { title: resolvedMobile.title, onClose: close, children: typeof children === "function" ? null : children })
611
+ }
612
+ )
613
+ ] });
449
614
  };
450
615
  var DropdownSeparator = (props) => {
451
616
  return /* @__PURE__ */ jsx(Separator, { ...props, className: cx("my-1 h-px w-full bg-border-secondary", props.className) });