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
@@ -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,
@@ -3467,6 +3469,11 @@ function formatTimeRangeDisplay(value, type) {
3467
3469
  if (value == null || value[0] === "" || value[1] === "") return "";
3468
3470
  return `${formatTimeDisplay(value[0], type)} ~ ${formatTimeDisplay(value[1], type)}`;
3469
3471
  }
3472
+ var TIME_RANGE_SELECTOR_WIDTH = 345;
3473
+ var MIDDAY_FIELD_MIN_WIDTH = {
3474
+ sm: 178,
3475
+ md: 216
3476
+ };
3470
3477
  function RangeTimeSelector({
3471
3478
  value,
3472
3479
  useMeridiem,
@@ -3756,7 +3763,9 @@ function STimeRangePicker({
3756
3763
  style
3757
3764
  }) {
3758
3765
  const portalContainer = usePortalContainer();
3766
+ const triggerRef = useRef(null);
3759
3767
  const [open, setOpen] = useState(false);
3768
+ const [popoverAlignOffset, setPopoverAlignOffset] = useState(0);
3760
3769
  const [focused, setFocused] = useState(false);
3761
3770
  const [ruleError, setRuleError] = useState("");
3762
3771
  const dims = TIMEPICKER_SIZE_CONFIG[size] ?? TIMEPICKER_SIZE_CONFIG.sm;
@@ -3780,6 +3789,10 @@ function STimeRangePicker({
3780
3789
  const resolvedStatus = status ?? (rules && rules.length > 0 ? ruleError !== "" ? "error" : void 0 : void 0);
3781
3790
  const commitOpen = (next) => {
3782
3791
  if (disabled) return;
3792
+ if (next) {
3793
+ const triggerWidth = triggerRef.current?.getBoundingClientRect().width ?? 0;
3794
+ setPopoverAlignOffset(Math.max(0, (triggerWidth - TIME_RANGE_SELECTOR_WIDTH) / 2));
3795
+ }
3783
3796
  setOpen(next);
3784
3797
  onOpenChange?.(next);
3785
3798
  if (!next && rules && rules.length > 0) setRuleError(runRules(value, rules));
@@ -3806,19 +3819,32 @@ function STimeRangePicker({
3806
3819
  focused: focused || open,
3807
3820
  errorMessage: ruleError !== "" ? ruleError : errorMessage,
3808
3821
  width,
3822
+ minWidth: effectiveUseMeridiem ? MIDDAY_FIELD_MIN_WIDTH[size] : dims.fieldMinWidth,
3809
3823
  disabled,
3810
3824
  className,
3811
- style: { minWidth: dims.fieldMinWidth, ...style },
3825
+ style,
3812
3826
  children: /* @__PURE__ */ jsxs(RPopover2.Root, { open, onOpenChange: commitOpen, children: [
3813
3827
  /* @__PURE__ */ jsx(RPopover2.Trigger, { asChild: true, children: /* @__PURE__ */ jsxs(
3814
- "button",
3828
+ "div",
3815
3829
  {
3816
- type: "button",
3817
- name,
3818
- disabled,
3830
+ ref: triggerRef,
3831
+ role: "button",
3832
+ "aria-disabled": disabled,
3833
+ tabIndex: disabled ? -1 : 0,
3834
+ "data-name": name,
3819
3835
  onFocus: () => setFocused(true),
3820
3836
  onBlur: () => setFocused(false),
3821
- className: "flex h-full w-full items-center overflow-hidden bg-transparent outline-none disabled:cursor-not-allowed",
3837
+ onKeyDown: (event) => {
3838
+ if (disabled) return;
3839
+ if (event.key === "Enter" || event.key === " ") {
3840
+ event.preventDefault();
3841
+ commitOpen(!open);
3842
+ }
3843
+ },
3844
+ className: cn(
3845
+ "flex h-full w-full items-center overflow-hidden bg-transparent outline-none",
3846
+ disabled ? "cursor-not-allowed" : "cursor-pointer"
3847
+ ),
3822
3848
  style: { padding: `0 ${dims.paddingX}`, gap: dims.gap, borderRadius: dims.radius },
3823
3849
  children: [
3824
3850
  /* @__PURE__ */ jsx(
@@ -3864,6 +3890,7 @@ function STimeRangePicker({
3864
3890
  side: "bottom",
3865
3891
  align: "start",
3866
3892
  sideOffset: 4,
3893
+ alignOffset: popoverAlignOffset,
3867
3894
  className: cn("z-50", FLOATING_SLIDE_ANIM),
3868
3895
  children: /* @__PURE__ */ jsx(
3869
3896
  RangeTimeSelector,