sellmate-design-system-react 0.7.0 → 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 (80) hide show
  1. package/dist/components/SBarcodeInput/SBarcodeInput.cjs +61 -49
  2. package/dist/components/SBarcodeInput/SBarcodeInput.cjs.map +1 -1
  3. package/dist/components/SBarcodeInput/SBarcodeInput.js +61 -49
  4. package/dist/components/SBarcodeInput/SBarcodeInput.js.map +1 -1
  5. package/dist/components/SChipInput/SChipInput.cjs +61 -49
  6. package/dist/components/SChipInput/SChipInput.cjs.map +1 -1
  7. package/dist/components/SChipInput/SChipInput.js +61 -49
  8. package/dist/components/SChipInput/SChipInput.js.map +1 -1
  9. package/dist/components/SDatePicker/SDatePicker.cjs +61 -49
  10. package/dist/components/SDatePicker/SDatePicker.cjs.map +1 -1
  11. package/dist/components/SDatePicker/SDatePicker.js +61 -49
  12. package/dist/components/SDatePicker/SDatePicker.js.map +1 -1
  13. package/dist/components/SDateRangePicker/SDateRangePicker.cjs +61 -49
  14. package/dist/components/SDateRangePicker/SDateRangePicker.cjs.map +1 -1
  15. package/dist/components/SDateRangePicker/SDateRangePicker.js +61 -49
  16. package/dist/components/SDateRangePicker/SDateRangePicker.js.map +1 -1
  17. package/dist/components/SField/SField.cjs +61 -49
  18. package/dist/components/SField/SField.cjs.map +1 -1
  19. package/dist/components/SField/SField.d.ts +5 -2
  20. package/dist/components/SField/SField.js +61 -49
  21. package/dist/components/SField/SField.js.map +1 -1
  22. package/dist/components/SFilePicker/SFilePicker.cjs +61 -49
  23. package/dist/components/SFilePicker/SFilePicker.cjs.map +1 -1
  24. package/dist/components/SFilePicker/SFilePicker.js +61 -49
  25. package/dist/components/SFilePicker/SFilePicker.js.map +1 -1
  26. package/dist/components/SInput/SInput.cjs +61 -49
  27. package/dist/components/SInput/SInput.cjs.map +1 -1
  28. package/dist/components/SInput/SInput.js +61 -49
  29. package/dist/components/SInput/SInput.js.map +1 -1
  30. package/dist/components/SKeyValueTable/SKeyValueTable.cjs +61 -49
  31. package/dist/components/SKeyValueTable/SKeyValueTable.cjs.map +1 -1
  32. package/dist/components/SKeyValueTable/SKeyValueTable.js +61 -49
  33. package/dist/components/SKeyValueTable/SKeyValueTable.js.map +1 -1
  34. package/dist/components/SNumberInput/SNumberInput.cjs +61 -49
  35. package/dist/components/SNumberInput/SNumberInput.cjs.map +1 -1
  36. package/dist/components/SNumberInput/SNumberInput.js +61 -49
  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.map +1 -1
  46. package/dist/components/SPopup/SPopup.js.map +1 -1
  47. package/dist/components/SScrollArea/SScrollArea.cjs.map +1 -1
  48. package/dist/components/SScrollArea/SScrollArea.js.map +1 -1
  49. package/dist/components/SSelect/SSelect.cjs +61 -49
  50. package/dist/components/SSelect/SSelect.cjs.map +1 -1
  51. package/dist/components/SSelect/SSelect.js +61 -49
  52. package/dist/components/SSelect/SSelect.js.map +1 -1
  53. package/dist/components/STable/STable.cjs +67 -55
  54. package/dist/components/STable/STable.cjs.map +1 -1
  55. package/dist/components/STable/STable.d.ts +2 -0
  56. package/dist/components/STable/STable.js +67 -55
  57. package/dist/components/STable/STable.js.map +1 -1
  58. package/dist/components/STextarea/STextarea.cjs +61 -49
  59. package/dist/components/STextarea/STextarea.cjs.map +1 -1
  60. package/dist/components/STextarea/STextarea.js +61 -49
  61. package/dist/components/STextarea/STextarea.js.map +1 -1
  62. package/dist/components/STimePicker/STimePicker.cjs +61 -49
  63. package/dist/components/STimePicker/STimePicker.cjs.map +1 -1
  64. package/dist/components/STimePicker/STimePicker.js +61 -49
  65. package/dist/components/STimePicker/STimePicker.js.map +1 -1
  66. package/dist/components/STimeRangePicker/STimeRangePicker.cjs +61 -49
  67. package/dist/components/STimeRangePicker/STimeRangePicker.cjs.map +1 -1
  68. package/dist/components/STimeRangePicker/STimeRangePicker.js +61 -49
  69. package/dist/components/STimeRangePicker/STimeRangePicker.js.map +1 -1
  70. package/dist/index.cjs +84 -57
  71. package/dist/index.cjs.map +1 -1
  72. package/dist/index.js +84 -58
  73. package/dist/index.js.map +1 -1
  74. package/dist/lib/scrollbar.cjs +2 -0
  75. package/dist/lib/scrollbar.cjs.map +1 -1
  76. package/dist/lib/scrollbar.d.ts +13 -1
  77. package/dist/lib/scrollbar.js +2 -1
  78. package/dist/lib/scrollbar.js.map +1 -1
  79. package/dist/styles.css +53 -3
  80. package/package.json +1 -1
@@ -3290,6 +3290,7 @@ var SField = react.forwardRef(function SField2({
3290
3290
  const resolvedSuccess = status === "pass";
3291
3291
  const showError = resolvedError && errorMessage !== "";
3292
3292
  const interactive = !disabled && !readOnly;
3293
+ const hug = cssLen(width) !== void 0;
3293
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)";
3294
3295
  const bgColor = borderless ? "transparent" : disabled ? "var(--color-grey-30)" : readOnly ? "var(--sys-color-field-bg-readOnly)" : "var(--sys-color-field-bg-default)";
3295
3296
  const textColor = disabled ? "var(--color-grey-65)" : readOnly ? "var(--sys-color-field-text-readOnly)" : "var(--sys-color-field-text-default)";
@@ -3298,7 +3299,13 @@ var SField = react.forwardRef(function SField2({
3298
3299
  {
3299
3300
  ref: rootRef,
3300
3301
  "data-name": name || void 0,
3301
- 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
+ ),
3302
3309
  style,
3303
3310
  onMouseEnter,
3304
3311
  onMouseLeave,
@@ -3336,55 +3343,60 @@ var SField = react.forwardRef(function SField2({
3336
3343
  ]
3337
3344
  }
3338
3345
  ),
3339
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-1 flex-col", children: [
3340
- /* @__PURE__ */ jsxRuntime.jsxs(
3341
- "div",
3342
- {
3343
- className: cn(
3344
- "relative box-border flex min-w-0 items-stretch overflow-hidden border border-solid border-(--field-bc)",
3345
- 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]",
3346
- 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
+ }
3347
3395
  ),
3348
- style: {
3349
- // @ts-expect-error CSS 변수
3350
- "--field-bc": borderColor,
3351
- // focused/hovered prop이 명시된 경우 강조를 즉시 반영
3352
- ...interactive && !borderless && focused ? { boxShadow: "0px 0px 4px 0px #0071ff66" } : {},
3353
- ...multiline ? { minHeight: s.height } : { height: s.height },
3354
- "minWidth": cssLen(minWidth),
3355
- "width": cssLen(width),
3356
- "borderRadius": s.radius,
3357
- "background": bgColor,
3358
- "color": textColor
3359
- },
3360
- "data-focused": focused || void 0,
3361
- "data-hovered": hovered || void 0,
3362
- children: [
3363
- effectiveAddonLabel !== "" && /* @__PURE__ */ jsxRuntime.jsxs(
3364
- "div",
3365
- {
3366
- 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",
3367
- style: {
3368
- // 원본 sd-field: labelWidth가 addon 폭(--sd-field-addon-width)에도 적용됨
3369
- width: cssLen(labelWidth),
3370
- justifyContent: ALIGN[addonAlign],
3371
- background: "var(--cmp-field-addonLabel-bg)",
3372
- borderRightColor: disabled ? "var(--cmp-field-addonLabel-border-disabled)" : "var(--cmp-field-addonLabel-border-default)",
3373
- borderTopLeftRadius: s.radius - 1,
3374
- borderBottomLeftRadius: s.radius - 1
3375
- },
3376
- children: [
3377
- icon && !label && /* @__PURE__ */ jsxRuntime.jsx(SIcon, { name: icon, size: s.icon, color: iconColor }),
3378
- effectiveAddonLabel
3379
- ]
3380
- }
3381
- ),
3382
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-w-0 flex-1", children })
3383
- ]
3384
- }
3385
- ),
3386
- 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
3387
- ] })
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
+ )
3388
3400
  ] })
3389
3401
  }
3390
3402
  );