sellmate-design-system-react 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/components/SBarcodeInput/SBarcodeInput.cjs +2 -0
  2. package/dist/components/SBarcodeInput/SBarcodeInput.cjs.map +1 -1
  3. package/dist/components/SBarcodeInput/SBarcodeInput.js +2 -0
  4. package/dist/components/SBarcodeInput/SBarcodeInput.js.map +1 -1
  5. package/dist/components/SChipInput/SChipInput.cjs +2 -0
  6. package/dist/components/SChipInput/SChipInput.cjs.map +1 -1
  7. package/dist/components/SChipInput/SChipInput.js +2 -0
  8. package/dist/components/SChipInput/SChipInput.js.map +1 -1
  9. package/dist/components/SDatePicker/SDatePicker.cjs +2 -0
  10. package/dist/components/SDatePicker/SDatePicker.cjs.map +1 -1
  11. package/dist/components/SDatePicker/SDatePicker.js +2 -0
  12. package/dist/components/SDatePicker/SDatePicker.js.map +1 -1
  13. package/dist/components/SDateRangePicker/SDateRangePicker.cjs +2 -0
  14. package/dist/components/SDateRangePicker/SDateRangePicker.cjs.map +1 -1
  15. package/dist/components/SDateRangePicker/SDateRangePicker.js +2 -0
  16. package/dist/components/SDateRangePicker/SDateRangePicker.js.map +1 -1
  17. package/dist/components/SField/SField.cjs +2 -0
  18. package/dist/components/SField/SField.cjs.map +1 -1
  19. package/dist/components/SField/SField.d.ts +2 -0
  20. package/dist/components/SField/SField.js +2 -0
  21. package/dist/components/SField/SField.js.map +1 -1
  22. package/dist/components/SFilePicker/SFilePicker.cjs +2 -0
  23. package/dist/components/SFilePicker/SFilePicker.cjs.map +1 -1
  24. package/dist/components/SFilePicker/SFilePicker.js +2 -0
  25. package/dist/components/SFilePicker/SFilePicker.js.map +1 -1
  26. package/dist/components/SGnb/SGnb.cjs +21 -3
  27. package/dist/components/SGnb/SGnb.cjs.map +1 -1
  28. package/dist/components/SGnb/SGnb.js +21 -3
  29. package/dist/components/SGnb/SGnb.js.map +1 -1
  30. package/dist/components/SInput/SInput.cjs +2 -0
  31. package/dist/components/SInput/SInput.cjs.map +1 -1
  32. package/dist/components/SInput/SInput.js +2 -0
  33. package/dist/components/SInput/SInput.js.map +1 -1
  34. package/dist/components/SKeyValueTable/SKeyValueTable.cjs +14 -1
  35. package/dist/components/SKeyValueTable/SKeyValueTable.cjs.map +1 -1
  36. package/dist/components/SKeyValueTable/SKeyValueTable.js +14 -1
  37. package/dist/components/SKeyValueTable/SKeyValueTable.js.map +1 -1
  38. package/dist/components/SNumberInput/SNumberInput.cjs +2 -0
  39. package/dist/components/SNumberInput/SNumberInput.cjs.map +1 -1
  40. package/dist/components/SNumberInput/SNumberInput.js +2 -0
  41. package/dist/components/SNumberInput/SNumberInput.js.map +1 -1
  42. package/dist/components/SPopup/SPopup.cjs +18 -1
  43. package/dist/components/SPopup/SPopup.cjs.map +1 -1
  44. package/dist/components/SPopup/SPopup.js +18 -1
  45. package/dist/components/SPopup/SPopup.js.map +1 -1
  46. package/dist/components/SScrollArea/SScrollArea.cjs +64 -0
  47. package/dist/components/SScrollArea/SScrollArea.cjs.map +1 -0
  48. package/dist/components/SScrollArea/SScrollArea.d.ts +21 -0
  49. package/dist/components/SScrollArea/SScrollArea.js +62 -0
  50. package/dist/components/SScrollArea/SScrollArea.js.map +1 -0
  51. package/dist/components/SScrollArea/index.d.ts +2 -0
  52. package/dist/components/SScrollArea/scrollArea.config.d.ts +2 -0
  53. package/dist/components/SSelect/SSelect.cjs +14 -1
  54. package/dist/components/SSelect/SSelect.cjs.map +1 -1
  55. package/dist/components/SSelect/SSelect.js +14 -1
  56. package/dist/components/SSelect/SSelect.js.map +1 -1
  57. package/dist/components/SStepper/SStepper.cjs +3015 -0
  58. package/dist/components/SStepper/SStepper.cjs.map +1 -0
  59. package/dist/components/SStepper/SStepper.d.ts +16 -0
  60. package/dist/components/SStepper/SStepper.js +3013 -0
  61. package/dist/components/SStepper/SStepper.js.map +1 -0
  62. package/dist/components/SStepper/index.d.ts +2 -0
  63. package/dist/components/SStepper/stepper.config.d.ts +42 -0
  64. package/dist/components/STable/STable.cjs +17 -1
  65. package/dist/components/STable/STable.cjs.map +1 -1
  66. package/dist/components/STable/STable.js +17 -1
  67. package/dist/components/STable/STable.js.map +1 -1
  68. package/dist/components/STextarea/STextarea.cjs +2 -0
  69. package/dist/components/STextarea/STextarea.cjs.map +1 -1
  70. package/dist/components/STextarea/STextarea.js +2 -0
  71. package/dist/components/STextarea/STextarea.js.map +1 -1
  72. package/dist/components/STimePicker/STimePicker.cjs +31 -6
  73. package/dist/components/STimePicker/STimePicker.cjs.map +1 -1
  74. package/dist/components/STimePicker/STimePicker.js +31 -6
  75. package/dist/components/STimePicker/STimePicker.js.map +1 -1
  76. package/dist/components/STimeRangePicker/STimeRangePicker.cjs +33 -6
  77. package/dist/components/STimeRangePicker/STimeRangePicker.cjs.map +1 -1
  78. package/dist/components/STimeRangePicker/STimeRangePicker.js +33 -6
  79. package/dist/components/STimeRangePicker/STimeRangePicker.js.map +1 -1
  80. package/dist/index.cjs +323 -28
  81. package/dist/index.cjs.map +1 -1
  82. package/dist/index.d.ts +2 -0
  83. package/dist/index.js +320 -29
  84. package/dist/index.js.map +1 -1
  85. package/dist/lib/scrollbar.cjs +13 -0
  86. package/dist/lib/scrollbar.cjs.map +1 -0
  87. package/dist/lib/scrollbar.d.ts +20 -0
  88. package/dist/lib/scrollbar.js +9 -0
  89. package/dist/lib/scrollbar.js.map +1 -0
  90. package/dist/styles.css +115 -14
  91. package/package.json +1 -1
@@ -3258,6 +3258,7 @@ var SField = forwardRef(function SField2({
3258
3258
  disabled = false,
3259
3259
  readOnly = false,
3260
3260
  width,
3261
+ minWidth,
3261
3262
  multiline = false,
3262
3263
  borderless = false,
3263
3264
  children,
@@ -3354,6 +3355,7 @@ var SField = forwardRef(function SField2({
3354
3355
  // focused/hovered prop이 명시된 경우 강조를 즉시 반영
3355
3356
  ...interactive && !borderless && focused ? { boxShadow: "0px 0px 4px 0px #0071ff66" } : {},
3356
3357
  ...multiline ? { minHeight: s.height } : { height: s.height },
3358
+ "minWidth": cssLen(minWidth),
3357
3359
  "width": cssLen(width),
3358
3360
  "borderRadius": s.radius,
3359
3361
  "background": bgColor,
@@ -3446,6 +3448,8 @@ function formatTimeDisplay(value, type) {
3446
3448
  const displayHour = hour % 12 === 0 ? 12 : hour % 12;
3447
3449
  return `${meridiem} ${padTimePart(displayHour)}:${padTimePart(minute)}`;
3448
3450
  }
3451
+ var TIME_SELECTOR_WIDTH = 136;
3452
+ var MERIDIEM_TIME_SELECTOR_WIDTH = 154;
3449
3453
  function TimeSelector({
3450
3454
  value,
3451
3455
  useMeridiem,
@@ -3684,7 +3688,9 @@ function STimePicker({
3684
3688
  style
3685
3689
  }) {
3686
3690
  const portalContainer = usePortalContainer();
3691
+ const triggerRef = useRef(null);
3687
3692
  const [open, setOpen] = useState(false);
3693
+ const [popoverAlignOffset, setPopoverAlignOffset] = useState(0);
3688
3694
  const [focused, setFocused] = useState(false);
3689
3695
  const [ruleError, setRuleError] = useState("");
3690
3696
  const dims = TIMEPICKER_SIZE_CONFIG[size] ?? TIMEPICKER_SIZE_CONFIG.sm;
@@ -3705,6 +3711,11 @@ function STimePicker({
3705
3711
  const resolvedStatus = status ?? (rules && rules.length > 0 ? ruleError !== "" ? "error" : void 0 : void 0);
3706
3712
  const commitOpen = (next) => {
3707
3713
  if (disabled) return;
3714
+ if (next) {
3715
+ const triggerWidth = triggerRef.current?.getBoundingClientRect().width ?? 0;
3716
+ const selectorWidth = effectiveUseMeridiem ? MERIDIEM_TIME_SELECTOR_WIDTH : TIME_SELECTOR_WIDTH;
3717
+ setPopoverAlignOffset(Math.max(0, (triggerWidth - selectorWidth) / 2));
3718
+ }
3708
3719
  setOpen(next);
3709
3720
  onOpenChange?.(next);
3710
3721
  if (!next && rules && rules.length > 0) setRuleError(runRules(value, rules));
@@ -3731,19 +3742,32 @@ function STimePicker({
3731
3742
  focused: focused || open,
3732
3743
  errorMessage: ruleError !== "" ? ruleError : errorMessage,
3733
3744
  width,
3745
+ minWidth: dims.fieldMinWidth,
3734
3746
  disabled,
3735
3747
  className,
3736
- style: { minWidth: dims.fieldMinWidth, ...style },
3748
+ style,
3737
3749
  children: /* @__PURE__ */ jsxs(RPopover2.Root, { open, onOpenChange: commitOpen, children: [
3738
3750
  /* @__PURE__ */ jsx(RPopover2.Trigger, { asChild: true, children: /* @__PURE__ */ jsxs(
3739
- "button",
3751
+ "div",
3740
3752
  {
3741
- type: "button",
3742
- name,
3743
- disabled,
3753
+ ref: triggerRef,
3754
+ role: "button",
3755
+ "aria-disabled": disabled,
3756
+ tabIndex: disabled ? -1 : 0,
3757
+ "data-name": name,
3744
3758
  onFocus: () => setFocused(true),
3745
3759
  onBlur: () => setFocused(false),
3746
- className: "flex h-full w-full items-center overflow-hidden bg-transparent outline-none disabled:cursor-not-allowed",
3760
+ onKeyDown: (event) => {
3761
+ if (disabled) return;
3762
+ if (event.key === "Enter" || event.key === " ") {
3763
+ event.preventDefault();
3764
+ commitOpen(!open);
3765
+ }
3766
+ },
3767
+ className: cn(
3768
+ "flex h-full w-full items-center overflow-hidden bg-transparent outline-none",
3769
+ disabled ? "cursor-not-allowed" : "cursor-pointer"
3770
+ ),
3747
3771
  style: { padding: `0 ${dims.paddingX}`, gap: dims.gap, borderRadius: dims.radius },
3748
3772
  children: [
3749
3773
  /* @__PURE__ */ jsx(
@@ -3789,6 +3813,7 @@ function STimePicker({
3789
3813
  side: "bottom",
3790
3814
  align: "start",
3791
3815
  sideOffset: 4,
3816
+ alignOffset: popoverAlignOffset,
3792
3817
  className: cn("z-50", FLOATING_SLIDE_ANIM),
3793
3818
  children: /* @__PURE__ */ jsx(
3794
3819
  TimeSelector,