sellmate-design-system-react 0.6.1 → 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 (84) 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/SInput/SInput.cjs +2 -0
  27. package/dist/components/SInput/SInput.cjs.map +1 -1
  28. package/dist/components/SInput/SInput.js +2 -0
  29. package/dist/components/SInput/SInput.js.map +1 -1
  30. package/dist/components/SKeyValueTable/SKeyValueTable.cjs +14 -1
  31. package/dist/components/SKeyValueTable/SKeyValueTable.cjs.map +1 -1
  32. package/dist/components/SKeyValueTable/SKeyValueTable.js +14 -1
  33. package/dist/components/SKeyValueTable/SKeyValueTable.js.map +1 -1
  34. package/dist/components/SNumberInput/SNumberInput.cjs +2 -0
  35. package/dist/components/SNumberInput/SNumberInput.cjs.map +1 -1
  36. package/dist/components/SNumberInput/SNumberInput.js +2 -0
  37. package/dist/components/SNumberInput/SNumberInput.js.map +1 -1
  38. package/dist/components/SPopup/SPopup.cjs +18 -1
  39. package/dist/components/SPopup/SPopup.cjs.map +1 -1
  40. package/dist/components/SPopup/SPopup.js +18 -1
  41. package/dist/components/SPopup/SPopup.js.map +1 -1
  42. package/dist/components/SScrollArea/SScrollArea.cjs +64 -0
  43. package/dist/components/SScrollArea/SScrollArea.cjs.map +1 -0
  44. package/dist/components/SScrollArea/SScrollArea.d.ts +21 -0
  45. package/dist/components/SScrollArea/SScrollArea.js +62 -0
  46. package/dist/components/SScrollArea/SScrollArea.js.map +1 -0
  47. package/dist/components/SScrollArea/index.d.ts +2 -0
  48. package/dist/components/SScrollArea/scrollArea.config.d.ts +2 -0
  49. package/dist/components/SSelect/SSelect.cjs +14 -1
  50. package/dist/components/SSelect/SSelect.cjs.map +1 -1
  51. package/dist/components/SSelect/SSelect.js +14 -1
  52. package/dist/components/SSelect/SSelect.js.map +1 -1
  53. package/dist/components/SStepper/SStepper.cjs +7 -11
  54. package/dist/components/SStepper/SStepper.cjs.map +1 -1
  55. package/dist/components/SStepper/SStepper.js +7 -11
  56. package/dist/components/SStepper/SStepper.js.map +1 -1
  57. package/dist/components/STable/STable.cjs +17 -1
  58. package/dist/components/STable/STable.cjs.map +1 -1
  59. package/dist/components/STable/STable.js +17 -1
  60. package/dist/components/STable/STable.js.map +1 -1
  61. package/dist/components/STextarea/STextarea.cjs +2 -0
  62. package/dist/components/STextarea/STextarea.cjs.map +1 -1
  63. package/dist/components/STextarea/STextarea.js +2 -0
  64. package/dist/components/STextarea/STextarea.js.map +1 -1
  65. package/dist/components/STimePicker/STimePicker.cjs +31 -6
  66. package/dist/components/STimePicker/STimePicker.cjs.map +1 -1
  67. package/dist/components/STimePicker/STimePicker.js +31 -6
  68. package/dist/components/STimePicker/STimePicker.js.map +1 -1
  69. package/dist/components/STimeRangePicker/STimeRangePicker.cjs +33 -6
  70. package/dist/components/STimeRangePicker/STimeRangePicker.cjs.map +1 -1
  71. package/dist/components/STimeRangePicker/STimeRangePicker.js +33 -6
  72. package/dist/components/STimeRangePicker/STimeRangePicker.js.map +1 -1
  73. package/dist/index.cjs +137 -25
  74. package/dist/index.cjs.map +1 -1
  75. package/dist/index.d.ts +1 -0
  76. package/dist/index.js +136 -26
  77. package/dist/index.js.map +1 -1
  78. package/dist/lib/scrollbar.cjs +13 -0
  79. package/dist/lib/scrollbar.cjs.map +1 -0
  80. package/dist/lib/scrollbar.d.ts +20 -0
  81. package/dist/lib/scrollbar.js +9 -0
  82. package/dist/lib/scrollbar.js.map +1 -0
  83. package/dist/styles.css +115 -14
  84. package/package.json +1 -1
@@ -3280,6 +3280,7 @@ var SField = react.forwardRef(function SField2({
3280
3280
  disabled = false,
3281
3281
  readOnly = false,
3282
3282
  width,
3283
+ minWidth,
3283
3284
  multiline = false,
3284
3285
  borderless = false,
3285
3286
  children,
@@ -3376,6 +3377,7 @@ var SField = react.forwardRef(function SField2({
3376
3377
  // focused/hovered prop이 명시된 경우 강조를 즉시 반영
3377
3378
  ...interactive && !borderless && focused ? { boxShadow: "0px 0px 4px 0px #0071ff66" } : {},
3378
3379
  ...multiline ? { minHeight: s.height } : { height: s.height },
3380
+ "minWidth": cssLen(minWidth),
3379
3381
  "width": cssLen(width),
3380
3382
  "borderRadius": s.radius,
3381
3383
  "background": bgColor,
@@ -3468,6 +3470,8 @@ function formatTimeDisplay(value, type) {
3468
3470
  const displayHour = hour % 12 === 0 ? 12 : hour % 12;
3469
3471
  return `${meridiem} ${padTimePart(displayHour)}:${padTimePart(minute)}`;
3470
3472
  }
3473
+ var TIME_SELECTOR_WIDTH = 136;
3474
+ var MERIDIEM_TIME_SELECTOR_WIDTH = 154;
3471
3475
  function TimeSelector({
3472
3476
  value,
3473
3477
  useMeridiem,
@@ -3706,7 +3710,9 @@ function STimePicker({
3706
3710
  style
3707
3711
  }) {
3708
3712
  const portalContainer = usePortalContainer();
3713
+ const triggerRef = react.useRef(null);
3709
3714
  const [open, setOpen] = react.useState(false);
3715
+ const [popoverAlignOffset, setPopoverAlignOffset] = react.useState(0);
3710
3716
  const [focused, setFocused] = react.useState(false);
3711
3717
  const [ruleError, setRuleError] = react.useState("");
3712
3718
  const dims = TIMEPICKER_SIZE_CONFIG[size] ?? TIMEPICKER_SIZE_CONFIG.sm;
@@ -3727,6 +3733,11 @@ function STimePicker({
3727
3733
  const resolvedStatus = status ?? (rules && rules.length > 0 ? ruleError !== "" ? "error" : void 0 : void 0);
3728
3734
  const commitOpen = (next) => {
3729
3735
  if (disabled) return;
3736
+ if (next) {
3737
+ const triggerWidth = triggerRef.current?.getBoundingClientRect().width ?? 0;
3738
+ const selectorWidth = effectiveUseMeridiem ? MERIDIEM_TIME_SELECTOR_WIDTH : TIME_SELECTOR_WIDTH;
3739
+ setPopoverAlignOffset(Math.max(0, (triggerWidth - selectorWidth) / 2));
3740
+ }
3730
3741
  setOpen(next);
3731
3742
  onOpenChange?.(next);
3732
3743
  if (!next && rules && rules.length > 0) setRuleError(runRules(value, rules));
@@ -3753,19 +3764,32 @@ function STimePicker({
3753
3764
  focused: focused || open,
3754
3765
  errorMessage: ruleError !== "" ? ruleError : errorMessage,
3755
3766
  width,
3767
+ minWidth: dims.fieldMinWidth,
3756
3768
  disabled,
3757
3769
  className,
3758
- style: { minWidth: dims.fieldMinWidth, ...style },
3770
+ style,
3759
3771
  children: /* @__PURE__ */ jsxRuntime.jsxs(RPopover2__namespace.Root, { open, onOpenChange: commitOpen, children: [
3760
3772
  /* @__PURE__ */ jsxRuntime.jsx(RPopover2__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
3761
- "button",
3773
+ "div",
3762
3774
  {
3763
- type: "button",
3764
- name,
3765
- disabled,
3775
+ ref: triggerRef,
3776
+ role: "button",
3777
+ "aria-disabled": disabled,
3778
+ tabIndex: disabled ? -1 : 0,
3779
+ "data-name": name,
3766
3780
  onFocus: () => setFocused(true),
3767
3781
  onBlur: () => setFocused(false),
3768
- className: "flex h-full w-full items-center overflow-hidden bg-transparent outline-none disabled:cursor-not-allowed",
3782
+ onKeyDown: (event) => {
3783
+ if (disabled) return;
3784
+ if (event.key === "Enter" || event.key === " ") {
3785
+ event.preventDefault();
3786
+ commitOpen(!open);
3787
+ }
3788
+ },
3789
+ className: cn(
3790
+ "flex h-full w-full items-center overflow-hidden bg-transparent outline-none",
3791
+ disabled ? "cursor-not-allowed" : "cursor-pointer"
3792
+ ),
3769
3793
  style: { padding: `0 ${dims.paddingX}`, gap: dims.gap, borderRadius: dims.radius },
3770
3794
  children: [
3771
3795
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -3811,6 +3835,7 @@ function STimePicker({
3811
3835
  side: "bottom",
3812
3836
  align: "start",
3813
3837
  sideOffset: 4,
3838
+ alignOffset: popoverAlignOffset,
3814
3839
  className: cn("z-50", FLOATING_SLIDE_ANIM),
3815
3840
  children: /* @__PURE__ */ jsxRuntime.jsx(
3816
3841
  TimeSelector,