sellmate-design-system-react 0.1.7 → 0.1.8

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 (137) hide show
  1. package/dist/components/SActionModal/SActionModal.cjs +10 -2
  2. package/dist/components/SActionModal/SActionModal.cjs.map +1 -1
  3. package/dist/components/SActionModal/SActionModal.js +10 -2
  4. package/dist/components/SActionModal/SActionModal.js.map +1 -1
  5. package/dist/components/SBarcodeInput/SBarcodeInput.cjs +8 -0
  6. package/dist/components/SBarcodeInput/SBarcodeInput.cjs.map +1 -1
  7. package/dist/components/SBarcodeInput/SBarcodeInput.js +8 -0
  8. package/dist/components/SBarcodeInput/SBarcodeInput.js.map +1 -1
  9. package/dist/components/SCalendar/SCalendar.cjs +8 -0
  10. package/dist/components/SCalendar/SCalendar.cjs.map +1 -1
  11. package/dist/components/SCalendar/SCalendar.js +8 -0
  12. package/dist/components/SCalendar/SCalendar.js.map +1 -1
  13. package/dist/components/SChip/SChip.cjs +8 -0
  14. package/dist/components/SChip/SChip.cjs.map +1 -1
  15. package/dist/components/SChip/SChip.js +8 -0
  16. package/dist/components/SChip/SChip.js.map +1 -1
  17. package/dist/components/SChipInput/SChipInput.cjs +25 -14
  18. package/dist/components/SChipInput/SChipInput.cjs.map +1 -1
  19. package/dist/components/SChipInput/SChipInput.js +24 -14
  20. package/dist/components/SChipInput/SChipInput.js.map +1 -1
  21. package/dist/components/SCircleProgress/SCircleProgress.cjs +3 -3
  22. package/dist/components/SCircleProgress/SCircleProgress.cjs.map +1 -1
  23. package/dist/components/SCircleProgress/SCircleProgress.js +3 -3
  24. package/dist/components/SCircleProgress/SCircleProgress.js.map +1 -1
  25. package/dist/components/SConfirmModal/SConfirmModal.cjs +9 -1
  26. package/dist/components/SConfirmModal/SConfirmModal.cjs.map +1 -1
  27. package/dist/components/SConfirmModal/SConfirmModal.js +9 -1
  28. package/dist/components/SConfirmModal/SConfirmModal.js.map +1 -1
  29. package/dist/components/SDatePicker/SDatePicker.cjs +26 -9
  30. package/dist/components/SDatePicker/SDatePicker.cjs.map +1 -1
  31. package/dist/components/SDatePicker/SDatePicker.js +26 -9
  32. package/dist/components/SDatePicker/SDatePicker.js.map +1 -1
  33. package/dist/components/SDateRangePicker/SDateRangePicker.cjs +26 -9
  34. package/dist/components/SDateRangePicker/SDateRangePicker.cjs.map +1 -1
  35. package/dist/components/SDateRangePicker/SDateRangePicker.js +26 -9
  36. package/dist/components/SDateRangePicker/SDateRangePicker.js.map +1 -1
  37. package/dist/components/SDropdownButton/SDropdownButton.cjs +48 -1
  38. package/dist/components/SDropdownButton/SDropdownButton.cjs.map +1 -1
  39. package/dist/components/SDropdownButton/SDropdownButton.js +49 -2
  40. package/dist/components/SDropdownButton/SDropdownButton.js.map +1 -1
  41. package/dist/components/SField/SField.cjs +8 -0
  42. package/dist/components/SField/SField.cjs.map +1 -1
  43. package/dist/components/SField/SField.js +8 -0
  44. package/dist/components/SField/SField.js.map +1 -1
  45. package/dist/components/SFilePicker/SFilePicker.cjs +8 -0
  46. package/dist/components/SFilePicker/SFilePicker.cjs.map +1 -1
  47. package/dist/components/SFilePicker/SFilePicker.js +8 -0
  48. package/dist/components/SFilePicker/SFilePicker.js.map +1 -1
  49. package/dist/components/SGhostButton/SGhostButton.cjs +8 -0
  50. package/dist/components/SGhostButton/SGhostButton.cjs.map +1 -1
  51. package/dist/components/SGhostButton/SGhostButton.js +8 -0
  52. package/dist/components/SGhostButton/SGhostButton.js.map +1 -1
  53. package/dist/components/SGuide/SGuide.cjs +12 -1
  54. package/dist/components/SGuide/SGuide.cjs.map +1 -1
  55. package/dist/components/SGuide/SGuide.js +12 -1
  56. package/dist/components/SGuide/SGuide.js.map +1 -1
  57. package/dist/components/SInput/SInput.cjs +8 -0
  58. package/dist/components/SInput/SInput.cjs.map +1 -1
  59. package/dist/components/SInput/SInput.js +8 -0
  60. package/dist/components/SInput/SInput.js.map +1 -1
  61. package/dist/components/SKeyValueTable/SKeyValueTable.cjs +48 -21
  62. package/dist/components/SKeyValueTable/SKeyValueTable.cjs.map +1 -1
  63. package/dist/components/SKeyValueTable/SKeyValueTable.js +48 -21
  64. package/dist/components/SKeyValueTable/SKeyValueTable.js.map +1 -1
  65. package/dist/components/SLoadingContainer/SLoadingContainer.cjs +3 -3
  66. package/dist/components/SLoadingContainer/SLoadingContainer.cjs.map +1 -1
  67. package/dist/components/SLoadingContainer/SLoadingContainer.js +3 -3
  68. package/dist/components/SLoadingContainer/SLoadingContainer.js.map +1 -1
  69. package/dist/components/SLoadingContainer/loading.cjs +3 -3
  70. package/dist/components/SLoadingContainer/loading.cjs.map +1 -1
  71. package/dist/components/SLoadingContainer/loading.js +3 -3
  72. package/dist/components/SLoadingContainer/loading.js.map +1 -1
  73. package/dist/components/SLoadingModal/SLoadingModal.cjs +12 -4
  74. package/dist/components/SLoadingModal/SLoadingModal.cjs.map +1 -1
  75. package/dist/components/SLoadingModal/SLoadingModal.js +12 -4
  76. package/dist/components/SLoadingModal/SLoadingModal.js.map +1 -1
  77. package/dist/components/SModalContainer/SModalContainer.cjs +9 -1
  78. package/dist/components/SModalContainer/SModalContainer.cjs.map +1 -1
  79. package/dist/components/SModalContainer/SModalContainer.js +9 -1
  80. package/dist/components/SModalContainer/SModalContainer.js.map +1 -1
  81. package/dist/components/SNumberInput/SNumberInput.cjs +8 -0
  82. package/dist/components/SNumberInput/SNumberInput.cjs.map +1 -1
  83. package/dist/components/SNumberInput/SNumberInput.js +8 -0
  84. package/dist/components/SNumberInput/SNumberInput.js.map +1 -1
  85. package/dist/components/SPopover/SPopover.cjs +20 -3
  86. package/dist/components/SPopover/SPopover.cjs.map +1 -1
  87. package/dist/components/SPopover/SPopover.js +20 -4
  88. package/dist/components/SPopover/SPopover.js.map +1 -1
  89. package/dist/components/SPopup/SPopup.cjs +2 -2
  90. package/dist/components/SPopup/SPopup.cjs.map +1 -1
  91. package/dist/components/SPopup/SPopup.js +2 -2
  92. package/dist/components/SPopup/SPopup.js.map +1 -1
  93. package/dist/components/SPortal/SPortal.cjs +8 -0
  94. package/dist/components/SPortal/SPortal.cjs.map +1 -1
  95. package/dist/components/SPortal/SPortal.js +8 -0
  96. package/dist/components/SPortal/SPortal.js.map +1 -1
  97. package/dist/components/SSelect/SSelect.cjs +10 -1
  98. package/dist/components/SSelect/SSelect.cjs.map +1 -1
  99. package/dist/components/SSelect/SSelect.js +10 -1
  100. package/dist/components/SSelect/SSelect.js.map +1 -1
  101. package/dist/components/STable/STable.cjs +13 -4
  102. package/dist/components/STable/STable.cjs.map +1 -1
  103. package/dist/components/STable/STable.js +13 -4
  104. package/dist/components/STable/STable.js.map +1 -1
  105. package/dist/components/STextLink/STextLink.cjs +137 -3
  106. package/dist/components/STextLink/STextLink.cjs.map +1 -1
  107. package/dist/components/STextLink/STextLink.d.ts +1 -1
  108. package/dist/components/STextLink/STextLink.js +118 -4
  109. package/dist/components/STextLink/STextLink.js.map +1 -1
  110. package/dist/components/STextarea/STextarea.cjs +8 -0
  111. package/dist/components/STextarea/STextarea.cjs.map +1 -1
  112. package/dist/components/STextarea/STextarea.js +8 -0
  113. package/dist/components/STextarea/STextarea.js.map +1 -1
  114. package/dist/components/SToast/SToast.cjs +8 -0
  115. package/dist/components/SToast/SToast.cjs.map +1 -1
  116. package/dist/components/SToast/SToast.js +8 -0
  117. package/dist/components/SToast/SToast.js.map +1 -1
  118. package/dist/components/SToast/SToastContainer.cjs +8 -0
  119. package/dist/components/SToast/SToastContainer.cjs.map +1 -1
  120. package/dist/components/SToast/SToastContainer.js +8 -0
  121. package/dist/components/SToast/SToastContainer.js.map +1 -1
  122. package/dist/components/STooltip/STooltip.cjs +8 -0
  123. package/dist/components/STooltip/STooltip.cjs.map +1 -1
  124. package/dist/components/STooltip/STooltip.js +8 -0
  125. package/dist/components/STooltip/STooltip.js.map +1 -1
  126. package/dist/index.cjs +119 -59
  127. package/dist/index.cjs.map +1 -1
  128. package/dist/index.js +118 -59
  129. package/dist/index.js.map +1 -1
  130. package/dist/lib/floating-anim.cjs +8 -0
  131. package/dist/lib/floating-anim.cjs.map +1 -1
  132. package/dist/lib/floating-anim.d.ts +5 -1
  133. package/dist/lib/floating-anim.js +8 -0
  134. package/dist/lib/floating-anim.js.map +1 -1
  135. package/dist/styles.css +127 -42
  136. package/dist/theme.css +45 -20
  137. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ import { forwardRef, useState, useEffect, useRef, useCallback, createContext, us
4
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
5
  import { createPortal } from 'react-dom';
6
6
  import { createRoot } from 'react-dom/client';
7
+ import * as RTooltip from '@radix-ui/react-tooltip';
7
8
  import * as RDropdown from '@radix-ui/react-dropdown-menu';
8
9
  import * as RPopover2 from '@radix-ui/react-popover';
9
10
  import * as RSwitch from '@radix-ui/react-switch';
@@ -3291,11 +3292,11 @@ var RADIUS = 34;
3291
3292
  var STROKE = 12;
3292
3293
  var CIRCUMFERENCE = 2 * Math.PI * RADIUS;
3293
3294
  var COLOR_MAP = {
3294
- primary: { arc: "var(--cmp-spinner-color-arc)", track: "var(--cmp-spinner-color-track)" },
3295
+ primary: { arc: "var(--cmp-progress-active-color)", track: "var(--cmp-progress-color-track)" },
3295
3296
  // inverse: 어두운 배경용 — arc 흰색, track 은 흰색 40%(회색 링)
3296
3297
  inverse: { arc: "var(--color-white)", track: "rgba(255,255,255,0.4)" },
3297
- error: { arc: "var(--color-red-75)", track: "var(--cmp-spinner-color-track)" },
3298
- complete: { arc: "#01BB4B", track: "var(--cmp-spinner-color-track)" }
3298
+ error: { arc: "var(--color-red-75)", track: "var(--cmp-progress-color-track)" },
3299
+ complete: { arc: "#01BB4B", track: "var(--cmp-progress-color-track)" }
3299
3300
  };
3300
3301
  var clamp2 = (v) => Number.isFinite(v) ? Math.max(0, Math.min(100, v)) : 0;
3301
3302
  var SCircleProgress = forwardRef(
@@ -3458,6 +3459,31 @@ var loading = {
3458
3459
  setState({ open: false });
3459
3460
  }
3460
3461
  };
3462
+
3463
+ // src/lib/floating-anim.ts
3464
+ var FLOATING_SLIDE_ANIM = [
3465
+ "data-[state=open]:data-[side=top]:animate-floating-in-top",
3466
+ "data-[state=delayed-open]:data-[side=top]:animate-floating-in-top",
3467
+ "data-[state=instant-open]:data-[side=top]:animate-floating-in-top",
3468
+ "data-[state=closed]:data-[side=top]:animate-floating-out-top",
3469
+ "data-[state=open]:data-[side=bottom]:animate-floating-in-bottom",
3470
+ "data-[state=delayed-open]:data-[side=bottom]:animate-floating-in-bottom",
3471
+ "data-[state=instant-open]:data-[side=bottom]:animate-floating-in-bottom",
3472
+ "data-[state=closed]:data-[side=bottom]:animate-floating-out-bottom",
3473
+ "data-[state=open]:data-[side=left]:animate-floating-in-left",
3474
+ "data-[state=delayed-open]:data-[side=left]:animate-floating-in-left",
3475
+ "data-[state=instant-open]:data-[side=left]:animate-floating-in-left",
3476
+ "data-[state=closed]:data-[side=left]:animate-floating-out-left",
3477
+ "data-[state=open]:data-[side=right]:animate-floating-in-right",
3478
+ "data-[state=delayed-open]:data-[side=right]:animate-floating-in-right",
3479
+ "data-[state=instant-open]:data-[side=right]:animate-floating-in-right",
3480
+ "data-[state=closed]:data-[side=right]:animate-floating-out-right"
3481
+ ].join(" ");
3482
+ var PortalContainerContext = createContext(null);
3483
+ var PortalContainerProvider = PortalContainerContext.Provider;
3484
+ function usePortalContainer() {
3485
+ return useContext(PortalContainerContext) ?? void 0;
3486
+ }
3461
3487
  var SIZE_CONFIG = {
3462
3488
  sm: {
3463
3489
  gap: 4,
@@ -3491,6 +3517,7 @@ var STextLink = forwardRef(function STextLink2({
3491
3517
  className,
3492
3518
  onClick,
3493
3519
  children,
3520
+ style,
3494
3521
  ...rest
3495
3522
  }, ref) {
3496
3523
  const s = SIZE_CONFIG[size];
@@ -3499,13 +3526,13 @@ var STextLink = forwardRef(function STextLink2({
3499
3526
  const handle = () => {
3500
3527
  if (!disabled) onClick?.();
3501
3528
  };
3502
- return /* @__PURE__ */ jsxs(
3529
+ const portalContainer = usePortalContainer();
3530
+ const link = /* @__PURE__ */ jsxs(
3503
3531
  "span",
3504
3532
  {
3505
3533
  ref,
3506
3534
  role: "button",
3507
3535
  tabIndex: disabled ? -1 : 0,
3508
- title: tooltipText,
3509
3536
  onClick: handle,
3510
3537
  onKeyDown: (e) => {
3511
3538
  if (e.key === "Enter" || e.key === " ") {
@@ -3520,7 +3547,7 @@ var STextLink = forwardRef(function STextLink2({
3520
3547
  disabled && "cursor-not-allowed",
3521
3548
  className
3522
3549
  ),
3523
- style: { gap: s.gap, color: contentColor },
3550
+ style: { gap: s.gap, color: contentColor, ...style },
3524
3551
  ...rest,
3525
3552
  children: [
3526
3553
  icon && /* @__PURE__ */ jsx(SIcon, { name: icon, size: s.iconSize, color: resolvedIconColor }),
@@ -3543,12 +3570,13 @@ var STextLink = forwardRef(function STextLink2({
3543
3570
  ]
3544
3571
  }
3545
3572
  );
3573
+ const text = (tooltipText ?? "").trim();
3574
+ if (text === "") return link;
3575
+ return /* @__PURE__ */ jsx(RTooltip.Provider, { delayDuration: 200, children: /* @__PURE__ */ jsxs(RTooltip.Root, { children: [
3576
+ /* @__PURE__ */ jsx(RTooltip.Trigger, { asChild: true, children: link }),
3577
+ /* @__PURE__ */ jsx(RTooltip.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx(RTooltip.Content, { side: "top", sideOffset: 4, className: cn("z-50", FLOATING_SLIDE_ANIM), children: /* @__PURE__ */ jsx(STag, { shape: "square", size: "xs", color: "grey", label: text }) }) })
3578
+ ] }) });
3546
3579
  });
3547
- var PortalContainerContext = createContext(null);
3548
- var PortalContainerProvider = PortalContainerContext.Provider;
3549
- function usePortalContainer() {
3550
- return useContext(PortalContainerContext) ?? void 0;
3551
- }
3552
3580
 
3553
3581
  // src/lib/sanitize-inline-html.ts
3554
3582
  var ALLOWED_INLINE_TAGS = /* @__PURE__ */ new Set(["A", "B", "STRONG", "I", "EM", "BR", "SPAN"]);
@@ -3677,6 +3705,25 @@ var SDropdownButton = forwardRef(
3677
3705
  }, ref) {
3678
3706
  const portalContainer = usePortalContainer();
3679
3707
  const [open, setOpen] = useState(false);
3708
+ const splitWrapRef = useRef(null);
3709
+ const splitToggleRef = useRef(null);
3710
+ const [splitAlignOffset, setSplitAlignOffset] = useState(0);
3711
+ const [splitWidth, setSplitWidth] = useState(0);
3712
+ useEffect(() => {
3713
+ if (!split) return;
3714
+ const update = () => {
3715
+ if (splitWrapRef.current && splitToggleRef.current) {
3716
+ setSplitAlignOffset(
3717
+ -(splitWrapRef.current.offsetWidth - splitToggleRef.current.offsetWidth)
3718
+ );
3719
+ setSplitWidth(splitWrapRef.current.offsetWidth);
3720
+ }
3721
+ };
3722
+ update();
3723
+ const ro = new ResizeObserver(update);
3724
+ ro.observe(splitWrapRef.current);
3725
+ return () => ro.disconnect();
3726
+ }, [split, label]);
3680
3727
  useImperativeHandle(
3681
3728
  ref,
3682
3729
  () => ({
@@ -3714,7 +3761,13 @@ var SDropdownButton = forwardRef(
3714
3761
  {
3715
3762
  sideOffset: 4,
3716
3763
  align: "start",
3717
- className: "z-50 min-w-[var(--radix-dropdown-menu-trigger-width)] overflow-hidden rounded-[var(--cmp-listBox-radius)] bg-[var(--cmp-listBox-bg)] py-[4px] shadow-normal-sm",
3764
+ alignOffset: split ? splitAlignOffset : 0,
3765
+ className: cn(
3766
+ "z-50 overflow-hidden rounded-[var(--cmp-listBox-radius)] bg-[var(--cmp-listBox-bg)] py-[4px] shadow-normal-sm",
3767
+ !split && "min-w-[var(--radix-dropdown-menu-trigger-width)]",
3768
+ FLOATING_SLIDE_ANIM
3769
+ ),
3770
+ style: split ? { minWidth: splitWidth } : void 0,
3718
3771
  children: items.map((it) => /* @__PURE__ */ jsxs(
3719
3772
  RDropdown.Item,
3720
3773
  {
@@ -3748,6 +3801,7 @@ var SDropdownButton = forwardRef(
3748
3801
  split ? /* @__PURE__ */ jsxs(
3749
3802
  "div",
3750
3803
  {
3804
+ ref: splitWrapRef,
3751
3805
  className: cn("inline-flex items-stretch", className),
3752
3806
  style: { minWidth: s.splitMinWidth, ...style },
3753
3807
  children: [
@@ -3770,6 +3824,7 @@ var SDropdownButton = forwardRef(
3770
3824
  /* @__PURE__ */ jsx(RDropdown.Trigger, { asChild: true, children: /* @__PURE__ */ jsx(
3771
3825
  "button",
3772
3826
  {
3827
+ ref: splitToggleRef,
3773
3828
  type: "button",
3774
3829
  disabled,
3775
3830
  "aria-label": "\uBA54\uB274 \uC5F4\uAE30",
@@ -3813,18 +3868,6 @@ var SDropdownButton = forwardRef(
3813
3868
  }
3814
3869
  );
3815
3870
  SDropdownButton.displayName = "SDropdownButton";
3816
-
3817
- // src/lib/floating-anim.ts
3818
- var FLOATING_SLIDE_ANIM = [
3819
- "data-[state=open]:data-[side=top]:animate-floating-in-top",
3820
- "data-[state=closed]:data-[side=top]:animate-floating-out-top",
3821
- "data-[state=open]:data-[side=bottom]:animate-floating-in-bottom",
3822
- "data-[state=closed]:data-[side=bottom]:animate-floating-out-bottom",
3823
- "data-[state=open]:data-[side=left]:animate-floating-in-left",
3824
- "data-[state=closed]:data-[side=left]:animate-floating-out-left",
3825
- "data-[state=open]:data-[side=right]:animate-floating-in-right",
3826
- "data-[state=closed]:data-[side=right]:animate-floating-out-right"
3827
- ].join(" ");
3828
3871
  var SIZE2 = {
3829
3872
  xxs: { icon: 12, radius: "sm" },
3830
3873
  xs: { icon: 16, radius: "sm" },
@@ -4358,9 +4401,9 @@ var SPopup = forwardRef(function SPopup2({
4358
4401
  useFooter && /* @__PURE__ */ jsxs(
4359
4402
  "footer",
4360
4403
  {
4361
- className: "relative z-[1] flex h-[52px] w-full flex-shrink-0 items-center gap-[var(--cmp-popup-footer-gap)] px-[var(--cmp-popup-footer-paddingX)] py-[var(--cmp-popup-footer-paddingY)]",
4404
+ className: "relative z-[1] flex h-[52px] w-full flex-shrink-0 items-center gap-[var(--cmp-overlay-footer-gap)] px-[var(--cmp-overlay-footer-paddingX)] py-[var(--cmp-overlay-footer-paddingY)]",
4362
4405
  style: {
4363
- background: "var(--cmp-popup-footer-bg)",
4406
+ background: "var(--cmp-overlay-footer-bg-default)",
4364
4407
  boxShadow: "var(--shadow-spread-md)"
4365
4408
  },
4366
4409
  children: [
@@ -4439,7 +4482,10 @@ function SGuide({
4439
4482
  side: "bottom",
4440
4483
  align: "start",
4441
4484
  sideOffset: 4,
4442
- className: "relative z-50 rounded-[var(--cmp-guide-contents-radius)] bg-[var(--color-white)]",
4485
+ className: cn(
4486
+ "relative z-50 rounded-[var(--cmp-guide-contents-radius)] bg-[var(--color-white)]",
4487
+ FLOATING_SLIDE_ANIM
4488
+ ),
4443
4489
  style: {
4444
4490
  width: popupWidth != null ? popupWidth : 426,
4445
4491
  padding: "var(--cmp-guide-contents-paddingY) var(--cmp-guide-contents-paddingX)",
@@ -4548,7 +4594,7 @@ function SModalContainer({
4548
4594
  ]
4549
4595
  }
4550
4596
  ) }),
4551
- /* @__PURE__ */ jsx("div", { ref: setPortalContainer, className: "fixed left-0 top-0 z-[1001]" })
4597
+ /* @__PURE__ */ jsx("div", { ref: setPortalContainer, className: "pointer-events-auto fixed left-0 top-0 z-[1001]" })
4552
4598
  ] }) });
4553
4599
  }
4554
4600
  var TYPE_ICON = {
@@ -4688,7 +4734,7 @@ function SActionModal({
4688
4734
  height,
4689
4735
  className: "w-fit min-w-[480px]",
4690
4736
  children: /* @__PURE__ */ jsxs("div", { className: "flex h-full min-h-[320px] flex-col", children: [
4691
- /* @__PURE__ */ jsx("header", { className: "flex flex-shrink-0 items-center gap-[var(--cmp-modal-action-header-gap)] py-[var(--cmp-modal-action-header-paddingY)] pl-[var(--cmp-modal-action-header-paddingX)] pr-[calc(var(--cmp-modal-action-header-paddingX)+20px)]", children: /* @__PURE__ */ jsx("h2", { className: "text-[16px] font-bold leading-[26px] text-[color:var(--cmp-modal-action-title-color)]", children: modalTitle }) }),
4737
+ /* @__PURE__ */ jsx("header", { className: "flex flex-shrink-0 items-center gap-[var(--cmp-overlay-header-gap)] py-[var(--cmp-overlay-header-paddingY)] pl-[var(--cmp-overlay-header-paddingX)] pr-[calc(var(--cmp-overlay-header-paddingX)+20px)]", children: /* @__PURE__ */ jsx("h2", { className: "text-[16px] font-bold leading-[26px] text-[color:var(--cmp-overlay-header-title-color)]", children: modalTitle }) }),
4692
4738
  /* @__PURE__ */ jsx("div", { className: "min-h-0 flex-1 overflow-auto px-[var(--cmp-modal-action-body-paddingX)] pb-[var(--cmp-modal-action-body-paddingBottom)]", children }),
4693
4739
  button && /* @__PURE__ */ jsx(
4694
4740
  "footer",
@@ -5386,6 +5432,7 @@ var SSelect = forwardRef(function SSelect2({
5386
5432
  const selectStore = /* @__PURE__ */ jsxs(
5387
5433
  Ariakit.SelectProvider,
5388
5434
  {
5435
+ animated: portalContainer == null ? 150 : false,
5389
5436
  value: multi ? selected : selected[0] ?? "",
5390
5437
  setValue: (v) => emit2(Array.isArray(v) ? v : v === "" ? [] : [v]),
5391
5438
  open,
@@ -5433,7 +5480,7 @@ var SSelect = forwardRef(function SSelect2({
5433
5480
  portalElement: portalContainer,
5434
5481
  gutter: 4,
5435
5482
  sameWidth: !dropdownWidth,
5436
- className: "z-50 overflow-auto rounded-[var(--cmp-listBox-radius)] bg-[var(--cmp-listBox-bg)] py-[4px] shadow-[2px_2px_12px_2px_rgba(0,0,0,0.1)]",
5483
+ className: "z-50 overflow-auto rounded-[var(--cmp-listBox-radius)] bg-[var(--cmp-listBox-bg)] py-[4px] shadow-[2px_2px_12px_2px_rgba(0,0,0,0.1)] data-[enter]:animate-floating-in-bottom data-[leave]:animate-floating-out-bottom",
5437
5484
  style: {
5438
5485
  maxHeight: dropdownHeight,
5439
5486
  ...dropdownWidth ? { width: dropdownWidth } : {},
@@ -7068,16 +7115,25 @@ function SDatePicker({
7068
7115
  ]
7069
7116
  }
7070
7117
  ) }),
7071
- /* @__PURE__ */ jsx(RPopover2.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx(RPopover2.Content, { side: "bottom", align: "start", sideOffset: 4, className: "z-50", children: /* @__PURE__ */ jsx(
7072
- SCalendar,
7118
+ /* @__PURE__ */ jsx(RPopover2.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx(
7119
+ RPopover2.Content,
7073
7120
  {
7074
- value: value ?? void 0,
7075
- selectable,
7076
- elevated: true,
7077
- onValueChange: select,
7078
- onViewChange
7121
+ side: "bottom",
7122
+ align: "start",
7123
+ sideOffset: 4,
7124
+ className: cn("z-50", FLOATING_SLIDE_ANIM),
7125
+ children: /* @__PURE__ */ jsx(
7126
+ SCalendar,
7127
+ {
7128
+ value: value ?? void 0,
7129
+ selectable,
7130
+ elevated: true,
7131
+ onValueChange: select,
7132
+ onViewChange
7133
+ }
7134
+ )
7079
7135
  }
7080
- ) }) })
7136
+ ) })
7081
7137
  ] })
7082
7138
  }
7083
7139
  );
@@ -7360,16 +7416,25 @@ function SDateRangePicker({
7360
7416
  ]
7361
7417
  }
7362
7418
  ) }),
7363
- /* @__PURE__ */ jsx(RPopover2.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx(RPopover2.Content, { side: "bottom", align: "start", sideOffset: 4, className: "z-50", children: /* @__PURE__ */ jsx(
7364
- RangeCalendar,
7419
+ /* @__PURE__ */ jsx(RPopover2.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx(
7420
+ RPopover2.Content,
7365
7421
  {
7366
- value: value ?? null,
7367
- selectable,
7368
- maxRange,
7369
- onSelect: select,
7370
- onViewChange
7422
+ side: "bottom",
7423
+ align: "start",
7424
+ sideOffset: 4,
7425
+ className: cn("z-50", FLOATING_SLIDE_ANIM),
7426
+ children: /* @__PURE__ */ jsx(
7427
+ RangeCalendar,
7428
+ {
7429
+ value: value ?? null,
7430
+ selectable,
7431
+ maxRange,
7432
+ onSelect: select,
7433
+ onViewChange
7434
+ }
7435
+ )
7371
7436
  }
7372
- ) }) })
7437
+ ) })
7373
7438
  ] })
7374
7439
  }
7375
7440
  );
@@ -7810,7 +7875,7 @@ function SKeyValueTable({
7810
7875
  rowSpan: f.thRowSpan && f.thRowSpan > 1 ? f.thRowSpan : void 0,
7811
7876
  colSpan: f.thColSpan && f.thColSpan > 1 ? f.thColSpan : void 0,
7812
7877
  className: cn(
7813
- "h-[var(--cmp-table-keyValue-height)] box-border bg-[var(--cmp-table-header-bg)] px-[var(--cmp-table-header-paddingX)] py-[var(--cmp-table-keyValue-body-padding)] text-left align-middle",
7878
+ "h-[var(--cmp-table-keyValue-height)] box-border bg-[var(--cmp-table-header-bg)] px-[var(--cmp-table-header-paddingX)] py-[var(--cmp-table-keyValue-body-paddingY)] text-left align-middle",
7814
7879
  cellBorder,
7815
7880
  f.thClass
7816
7881
  ),
@@ -7839,7 +7904,7 @@ function SKeyValueTable({
7839
7904
  rowSpan: f.tdRowSpan && f.tdRowSpan > 1 ? f.tdRowSpan : void 0,
7840
7905
  colSpan: f.tdColSpan && f.tdColSpan > 1 ? f.tdColSpan : void 0,
7841
7906
  className: cn(
7842
- "h-[var(--cmp-table-keyValue-height)] box-border bg-[var(--sys-color-bg-frame)] p-[var(--cmp-table-keyValue-body-padding)] align-middle",
7907
+ "h-[var(--cmp-table-keyValue-height)] box-border bg-[var(--sys-color-bg-frame)] px-[var(--cmp-table-keyValue-body-paddingX-default)] py-[var(--cmp-table-keyValue-body-paddingY)] align-middle",
7843
7908
  cellBorder,
7844
7909
  f.tdClass
7845
7910
  ),
@@ -8630,17 +8695,11 @@ var SChipInput = forwardRef(function SChipInput2({
8630
8695
  style: { width: 1, height: 12, backgroundColor: "#E1E1E1" }
8631
8696
  }
8632
8697
  ),
8633
- showMaxCount && /* @__PURE__ */ jsxs(
8634
- "span",
8635
- {
8636
- className: "s-chip-input__max-count text-12 text-(--cmp-chipInput-text-placeholder)",
8637
- children: [
8638
- "\uCD5C\uB300 ",
8639
- maxCount,
8640
- "\uAC1C"
8641
- ]
8642
- }
8643
- ),
8698
+ showMaxCount && /* @__PURE__ */ jsxs("span", { className: "s-chip-input__max-count text-12 text-(--cmp-chipInput-text-placeholder)", children: [
8699
+ "\uCD5C\uB300 ",
8700
+ maxCount,
8701
+ "\uAC1C"
8702
+ ] }),
8644
8703
  showResetLink && /* @__PURE__ */ jsx(
8645
8704
  STextLink,
8646
8705
  {