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
@@ -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,
@@ -3489,6 +3491,11 @@ function formatTimeRangeDisplay(value, type) {
3489
3491
  if (value == null || value[0] === "" || value[1] === "") return "";
3490
3492
  return `${formatTimeDisplay(value[0], type)} ~ ${formatTimeDisplay(value[1], type)}`;
3491
3493
  }
3494
+ var TIME_RANGE_SELECTOR_WIDTH = 345;
3495
+ var MIDDAY_FIELD_MIN_WIDTH = {
3496
+ sm: 178,
3497
+ md: 216
3498
+ };
3492
3499
  function RangeTimeSelector({
3493
3500
  value,
3494
3501
  useMeridiem,
@@ -3778,7 +3785,9 @@ function STimeRangePicker({
3778
3785
  style
3779
3786
  }) {
3780
3787
  const portalContainer = usePortalContainer();
3788
+ const triggerRef = react.useRef(null);
3781
3789
  const [open, setOpen] = react.useState(false);
3790
+ const [popoverAlignOffset, setPopoverAlignOffset] = react.useState(0);
3782
3791
  const [focused, setFocused] = react.useState(false);
3783
3792
  const [ruleError, setRuleError] = react.useState("");
3784
3793
  const dims = TIMEPICKER_SIZE_CONFIG[size] ?? TIMEPICKER_SIZE_CONFIG.sm;
@@ -3802,6 +3811,10 @@ function STimeRangePicker({
3802
3811
  const resolvedStatus = status ?? (rules && rules.length > 0 ? ruleError !== "" ? "error" : void 0 : void 0);
3803
3812
  const commitOpen = (next) => {
3804
3813
  if (disabled) return;
3814
+ if (next) {
3815
+ const triggerWidth = triggerRef.current?.getBoundingClientRect().width ?? 0;
3816
+ setPopoverAlignOffset(Math.max(0, (triggerWidth - TIME_RANGE_SELECTOR_WIDTH) / 2));
3817
+ }
3805
3818
  setOpen(next);
3806
3819
  onOpenChange?.(next);
3807
3820
  if (!next && rules && rules.length > 0) setRuleError(runRules(value, rules));
@@ -3828,19 +3841,32 @@ function STimeRangePicker({
3828
3841
  focused: focused || open,
3829
3842
  errorMessage: ruleError !== "" ? ruleError : errorMessage,
3830
3843
  width,
3844
+ minWidth: effectiveUseMeridiem ? MIDDAY_FIELD_MIN_WIDTH[size] : dims.fieldMinWidth,
3831
3845
  disabled,
3832
3846
  className,
3833
- style: { minWidth: dims.fieldMinWidth, ...style },
3847
+ style,
3834
3848
  children: /* @__PURE__ */ jsxRuntime.jsxs(RPopover2__namespace.Root, { open, onOpenChange: commitOpen, children: [
3835
3849
  /* @__PURE__ */ jsxRuntime.jsx(RPopover2__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
3836
- "button",
3850
+ "div",
3837
3851
  {
3838
- type: "button",
3839
- name,
3840
- disabled,
3852
+ ref: triggerRef,
3853
+ role: "button",
3854
+ "aria-disabled": disabled,
3855
+ tabIndex: disabled ? -1 : 0,
3856
+ "data-name": name,
3841
3857
  onFocus: () => setFocused(true),
3842
3858
  onBlur: () => setFocused(false),
3843
- className: "flex h-full w-full items-center overflow-hidden bg-transparent outline-none disabled:cursor-not-allowed",
3859
+ onKeyDown: (event) => {
3860
+ if (disabled) return;
3861
+ if (event.key === "Enter" || event.key === " ") {
3862
+ event.preventDefault();
3863
+ commitOpen(!open);
3864
+ }
3865
+ },
3866
+ className: cn(
3867
+ "flex h-full w-full items-center overflow-hidden bg-transparent outline-none",
3868
+ disabled ? "cursor-not-allowed" : "cursor-pointer"
3869
+ ),
3844
3870
  style: { padding: `0 ${dims.paddingX}`, gap: dims.gap, borderRadius: dims.radius },
3845
3871
  children: [
3846
3872
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -3886,6 +3912,7 @@ function STimeRangePicker({
3886
3912
  side: "bottom",
3887
3913
  align: "start",
3888
3914
  sideOffset: 4,
3915
+ alignOffset: popoverAlignOffset,
3889
3916
  className: cn("z-50", FLOATING_SLIDE_ANIM),
3890
3917
  children: /* @__PURE__ */ jsxRuntime.jsx(
3891
3918
  RangeTimeSelector,