sellmate-design-system-react 0.6.1 → 0.8.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 (92) hide show
  1. package/dist/components/SBarcodeInput/SBarcodeInput.cjs +62 -48
  2. package/dist/components/SBarcodeInput/SBarcodeInput.cjs.map +1 -1
  3. package/dist/components/SBarcodeInput/SBarcodeInput.js +62 -48
  4. package/dist/components/SBarcodeInput/SBarcodeInput.js.map +1 -1
  5. package/dist/components/SChipInput/SChipInput.cjs +62 -48
  6. package/dist/components/SChipInput/SChipInput.cjs.map +1 -1
  7. package/dist/components/SChipInput/SChipInput.js +62 -48
  8. package/dist/components/SChipInput/SChipInput.js.map +1 -1
  9. package/dist/components/SDatePicker/SDatePicker.cjs +62 -48
  10. package/dist/components/SDatePicker/SDatePicker.cjs.map +1 -1
  11. package/dist/components/SDatePicker/SDatePicker.js +62 -48
  12. package/dist/components/SDatePicker/SDatePicker.js.map +1 -1
  13. package/dist/components/SDateRangePicker/SDateRangePicker.cjs +62 -48
  14. package/dist/components/SDateRangePicker/SDateRangePicker.cjs.map +1 -1
  15. package/dist/components/SDateRangePicker/SDateRangePicker.js +62 -48
  16. package/dist/components/SDateRangePicker/SDateRangePicker.js.map +1 -1
  17. package/dist/components/SField/SField.cjs +62 -48
  18. package/dist/components/SField/SField.cjs.map +1 -1
  19. package/dist/components/SField/SField.d.ts +6 -1
  20. package/dist/components/SField/SField.js +62 -48
  21. package/dist/components/SField/SField.js.map +1 -1
  22. package/dist/components/SFilePicker/SFilePicker.cjs +62 -48
  23. package/dist/components/SFilePicker/SFilePicker.cjs.map +1 -1
  24. package/dist/components/SFilePicker/SFilePicker.js +62 -48
  25. package/dist/components/SFilePicker/SFilePicker.js.map +1 -1
  26. package/dist/components/SInput/SInput.cjs +62 -48
  27. package/dist/components/SInput/SInput.cjs.map +1 -1
  28. package/dist/components/SInput/SInput.js +62 -48
  29. package/dist/components/SInput/SInput.js.map +1 -1
  30. package/dist/components/SKeyValueTable/SKeyValueTable.cjs +74 -49
  31. package/dist/components/SKeyValueTable/SKeyValueTable.cjs.map +1 -1
  32. package/dist/components/SKeyValueTable/SKeyValueTable.js +74 -49
  33. package/dist/components/SKeyValueTable/SKeyValueTable.js.map +1 -1
  34. package/dist/components/SNumberInput/SNumberInput.cjs +62 -48
  35. package/dist/components/SNumberInput/SNumberInput.cjs.map +1 -1
  36. package/dist/components/SNumberInput/SNumberInput.js +62 -48
  37. package/dist/components/SNumberInput/SNumberInput.js.map +1 -1
  38. package/dist/components/SPage/SPage.cjs +19 -2
  39. package/dist/components/SPage/SPage.cjs.map +1 -1
  40. package/dist/components/SPage/SPage.d.ts +7 -1
  41. package/dist/components/SPage/SPage.js +19 -2
  42. package/dist/components/SPage/SPage.js.map +1 -1
  43. package/dist/components/SPage/index.d.ts +1 -0
  44. package/dist/components/SPage/page.config.d.ts +8 -0
  45. package/dist/components/SPopup/SPopup.cjs +18 -1
  46. package/dist/components/SPopup/SPopup.cjs.map +1 -1
  47. package/dist/components/SPopup/SPopup.js +18 -1
  48. package/dist/components/SPopup/SPopup.js.map +1 -1
  49. package/dist/components/SScrollArea/SScrollArea.cjs +64 -0
  50. package/dist/components/SScrollArea/SScrollArea.cjs.map +1 -0
  51. package/dist/components/SScrollArea/SScrollArea.d.ts +21 -0
  52. package/dist/components/SScrollArea/SScrollArea.js +62 -0
  53. package/dist/components/SScrollArea/SScrollArea.js.map +1 -0
  54. package/dist/components/SScrollArea/index.d.ts +2 -0
  55. package/dist/components/SScrollArea/scrollArea.config.d.ts +2 -0
  56. package/dist/components/SSelect/SSelect.cjs +74 -49
  57. package/dist/components/SSelect/SSelect.cjs.map +1 -1
  58. package/dist/components/SSelect/SSelect.js +74 -49
  59. package/dist/components/SSelect/SSelect.js.map +1 -1
  60. package/dist/components/SStepper/SStepper.cjs +7 -11
  61. package/dist/components/SStepper/SStepper.cjs.map +1 -1
  62. package/dist/components/SStepper/SStepper.js +7 -11
  63. package/dist/components/SStepper/SStepper.js.map +1 -1
  64. package/dist/components/STable/STable.cjs +83 -55
  65. package/dist/components/STable/STable.cjs.map +1 -1
  66. package/dist/components/STable/STable.d.ts +2 -0
  67. package/dist/components/STable/STable.js +83 -55
  68. package/dist/components/STable/STable.js.map +1 -1
  69. package/dist/components/STextarea/STextarea.cjs +62 -48
  70. package/dist/components/STextarea/STextarea.cjs.map +1 -1
  71. package/dist/components/STextarea/STextarea.js +62 -48
  72. package/dist/components/STextarea/STextarea.js.map +1 -1
  73. package/dist/components/STimePicker/STimePicker.cjs +91 -54
  74. package/dist/components/STimePicker/STimePicker.cjs.map +1 -1
  75. package/dist/components/STimePicker/STimePicker.js +91 -54
  76. package/dist/components/STimePicker/STimePicker.js.map +1 -1
  77. package/dist/components/STimeRangePicker/STimeRangePicker.cjs +93 -54
  78. package/dist/components/STimeRangePicker/STimeRangePicker.cjs.map +1 -1
  79. package/dist/components/STimeRangePicker/STimeRangePicker.js +93 -54
  80. package/dist/components/STimeRangePicker/STimeRangePicker.js.map +1 -1
  81. package/dist/index.cjs +220 -81
  82. package/dist/index.cjs.map +1 -1
  83. package/dist/index.d.ts +1 -0
  84. package/dist/index.js +218 -82
  85. package/dist/index.js.map +1 -1
  86. package/dist/lib/scrollbar.cjs +15 -0
  87. package/dist/lib/scrollbar.cjs.map +1 -0
  88. package/dist/lib/scrollbar.d.ts +32 -0
  89. package/dist/lib/scrollbar.js +10 -0
  90. package/dist/lib/scrollbar.js.map +1 -0
  91. package/dist/styles.css +168 -17
  92. package/package.json +1 -1
@@ -3254,6 +3254,7 @@ var SField = react.forwardRef(function SField2({
3254
3254
  disabled = false,
3255
3255
  readOnly = false,
3256
3256
  width,
3257
+ minWidth,
3257
3258
  multiline = false,
3258
3259
  borderless = false,
3259
3260
  children,
@@ -3289,6 +3290,7 @@ var SField = react.forwardRef(function SField2({
3289
3290
  const resolvedSuccess = status === "pass";
3290
3291
  const showError = resolvedError && errorMessage !== "";
3291
3292
  const interactive = !disabled && !readOnly;
3293
+ const hug = cssLen(width) !== void 0;
3292
3294
  const borderColor = borderless ? "transparent" : disabled ? "var(--color-grey-45)" : interactive && focused ? "var(--sys-color-field-border-focus)" : resolvedSuccess ? "var(--sys-color-field-border-success)" : resolvedError ? "var(--sys-color-field-border-danger)" : "var(--sys-color-field-border-default)";
3293
3295
  const bgColor = borderless ? "transparent" : disabled ? "var(--color-grey-30)" : readOnly ? "var(--sys-color-field-bg-readOnly)" : "var(--sys-color-field-bg-default)";
3294
3296
  const textColor = disabled ? "var(--color-grey-65)" : readOnly ? "var(--sys-color-field-text-readOnly)" : "var(--sys-color-field-text-default)";
@@ -3297,7 +3299,13 @@ var SField = react.forwardRef(function SField2({
3297
3299
  {
3298
3300
  ref: rootRef,
3299
3301
  "data-name": name || void 0,
3300
- className: cn("inline-flex h-fit w-full flex-col", className),
3302
+ className: cn(
3303
+ "h-fit flex-col",
3304
+ // hug 시 inline-flex 를 유지하면 기존에 세로로 쌓여 있던 필드들이 한 줄에 붙어버리므로
3305
+ // 블록 레벨(flex)로 두어 쌓임은 그대로 유지한다. 나란히 놓으려면 부모를 flex 로.
3306
+ hug ? "flex w-fit max-w-full" : "inline-flex w-full",
3307
+ className
3308
+ ),
3301
3309
  style,
3302
3310
  onMouseEnter,
3303
3311
  onMouseLeave,
@@ -3335,54 +3343,60 @@ var SField = react.forwardRef(function SField2({
3335
3343
  ]
3336
3344
  }
3337
3345
  ),
3338
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-1 flex-col", children: [
3339
- /* @__PURE__ */ jsxRuntime.jsxs(
3340
- "div",
3341
- {
3342
- className: cn(
3343
- "relative box-border flex min-w-0 items-stretch overflow-hidden border border-solid border-(--field-bc)",
3344
- interactive && !borderless && "hover:border-(--sys-color-field-border-focus) hover:shadow-[0px_0px_4px_0px_#0071ff66] focus-within:border-(--sys-color-field-border-focus) focus-within:shadow-[0px_0px_4px_0px_#0071ff66]",
3345
- disabled && "cursor-not-allowed"
3346
+ /* @__PURE__ */ jsxRuntime.jsxs(
3347
+ "div",
3348
+ {
3349
+ className: cn("flex min-w-0 flex-col", !hug && "flex-1"),
3350
+ style: { width: cssLen(width), minWidth: cssLen(minWidth) },
3351
+ children: [
3352
+ /* @__PURE__ */ jsxRuntime.jsxs(
3353
+ "div",
3354
+ {
3355
+ className: cn(
3356
+ "relative box-border flex min-w-0 items-stretch overflow-hidden border border-solid border-(--field-bc)",
3357
+ interactive && !borderless && "hover:border-(--sys-color-field-border-focus) hover:shadow-[0px_0px_4px_0px_#0071ff66] focus-within:border-(--sys-color-field-border-focus) focus-within:shadow-[0px_0px_4px_0px_#0071ff66]",
3358
+ disabled && "cursor-not-allowed"
3359
+ ),
3360
+ style: {
3361
+ // @ts-expect-error CSS 변수
3362
+ "--field-bc": borderColor,
3363
+ // focused/hovered prop이 명시된 경우 강조를 즉시 반영
3364
+ ...interactive && !borderless && focused ? { boxShadow: "0px 0px 4px 0px #0071ff66" } : {},
3365
+ ...multiline ? { minHeight: s.height } : { height: s.height },
3366
+ "borderRadius": s.radius,
3367
+ "background": bgColor,
3368
+ "color": textColor
3369
+ },
3370
+ "data-focused": focused || void 0,
3371
+ "data-hovered": hovered || void 0,
3372
+ children: [
3373
+ effectiveAddonLabel !== "" && /* @__PURE__ */ jsxRuntime.jsxs(
3374
+ "div",
3375
+ {
3376
+ className: "flex shrink-0 items-center gap-(--cmp-field-addonLabel-gap) whitespace-nowrap border-r border-solid px-(--cmp-field-addonLabel-paddingX) text-12 font-medium leading-20",
3377
+ style: {
3378
+ // 원본 sd-field: labelWidth가 addon 폭(--sd-field-addon-width)에도 적용됨
3379
+ width: cssLen(labelWidth),
3380
+ justifyContent: ALIGN[addonAlign],
3381
+ background: "var(--cmp-field-addonLabel-bg)",
3382
+ borderRightColor: disabled ? "var(--cmp-field-addonLabel-border-disabled)" : "var(--cmp-field-addonLabel-border-default)",
3383
+ borderTopLeftRadius: s.radius - 1,
3384
+ borderBottomLeftRadius: s.radius - 1
3385
+ },
3386
+ children: [
3387
+ icon && !label && /* @__PURE__ */ jsxRuntime.jsx(SIcon, { name: icon, size: s.icon, color: iconColor }),
3388
+ effectiveAddonLabel
3389
+ ]
3390
+ }
3391
+ ),
3392
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-w-0 flex-1", children })
3393
+ ]
3394
+ }
3346
3395
  ),
3347
- style: {
3348
- // @ts-expect-error CSS 변수
3349
- "--field-bc": borderColor,
3350
- // focused/hovered prop이 명시된 경우 강조를 즉시 반영
3351
- ...interactive && !borderless && focused ? { boxShadow: "0px 0px 4px 0px #0071ff66" } : {},
3352
- ...multiline ? { minHeight: s.height } : { height: s.height },
3353
- "width": cssLen(width),
3354
- "borderRadius": s.radius,
3355
- "background": bgColor,
3356
- "color": textColor
3357
- },
3358
- "data-focused": focused || void 0,
3359
- "data-hovered": hovered || void 0,
3360
- children: [
3361
- effectiveAddonLabel !== "" && /* @__PURE__ */ jsxRuntime.jsxs(
3362
- "div",
3363
- {
3364
- className: "flex shrink-0 items-center gap-(--cmp-field-addonLabel-gap) whitespace-nowrap border-r border-solid px-(--cmp-field-addonLabel-paddingX) text-12 font-medium leading-20",
3365
- style: {
3366
- // 원본 sd-field: labelWidth가 addon 폭(--sd-field-addon-width)에도 적용됨
3367
- width: cssLen(labelWidth),
3368
- justifyContent: ALIGN[addonAlign],
3369
- background: "var(--cmp-field-addonLabel-bg)",
3370
- borderRightColor: disabled ? "var(--cmp-field-addonLabel-border-disabled)" : "var(--cmp-field-addonLabel-border-default)",
3371
- borderTopLeftRadius: s.radius - 1,
3372
- borderBottomLeftRadius: s.radius - 1
3373
- },
3374
- children: [
3375
- icon && !label && /* @__PURE__ */ jsxRuntime.jsx(SIcon, { name: icon, size: s.icon, color: iconColor }),
3376
- effectiveAddonLabel
3377
- ]
3378
- }
3379
- ),
3380
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-w-0 flex-1", children })
3381
- ]
3382
- }
3383
- ),
3384
- showError ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-(--cmp-field-contents-gap) text-12 font-normal leading-20 text-(--cmp-field-errorMessage-color)", children: errorMessage }) : hint !== "" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-(--cmp-field-contents-gap) text-12 font-normal leading-20 text-(--cmp-field-hint-color)", children: hint }) : null
3385
- ] })
3396
+ showError ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-(--cmp-field-contents-gap) text-12 font-normal leading-20 text-(--cmp-field-errorMessage-color)", children: errorMessage }) : hint !== "" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-(--cmp-field-contents-gap) text-12 font-normal leading-20 text-(--cmp-field-hint-color)", children: hint }) : null
3397
+ ]
3398
+ }
3399
+ )
3386
3400
  ] })
3387
3401
  }
3388
3402
  );