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
@@ -3294,6 +3294,7 @@ var SField = forwardRef(function SField2({
3294
3294
  const resolvedSuccess = status === "pass";
3295
3295
  const showError = resolvedError && errorMessage !== "";
3296
3296
  const interactive = !disabled && !readOnly;
3297
+ const hug = cssLen(width) !== void 0;
3297
3298
  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)";
3298
3299
  const bgColor = borderless ? "transparent" : disabled ? "var(--color-grey-30)" : readOnly ? "var(--sys-color-field-bg-readOnly)" : "var(--sys-color-field-bg-default)";
3299
3300
  const textColor = disabled ? "var(--color-grey-65)" : readOnly ? "var(--sys-color-field-text-readOnly)" : "var(--sys-color-field-text-default)";
@@ -3302,7 +3303,13 @@ var SField = forwardRef(function SField2({
3302
3303
  {
3303
3304
  ref: rootRef,
3304
3305
  "data-name": name || void 0,
3305
- className: cn("inline-flex h-fit w-full flex-col", className),
3306
+ className: cn(
3307
+ "h-fit flex-col",
3308
+ // hug 시 inline-flex 를 유지하면 기존에 세로로 쌓여 있던 필드들이 한 줄에 붙어버리므로
3309
+ // 블록 레벨(flex)로 두어 쌓임은 그대로 유지한다. 나란히 놓으려면 부모를 flex 로.
3310
+ hug ? "flex w-fit max-w-full" : "inline-flex w-full",
3311
+ className
3312
+ ),
3306
3313
  style,
3307
3314
  onMouseEnter,
3308
3315
  onMouseLeave,
@@ -3340,55 +3347,60 @@ var SField = forwardRef(function SField2({
3340
3347
  ]
3341
3348
  }
3342
3349
  ),
3343
- /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-col", children: [
3344
- /* @__PURE__ */ jsxs(
3345
- "div",
3346
- {
3347
- className: cn(
3348
- "relative box-border flex min-w-0 items-stretch overflow-hidden border border-solid border-(--field-bc)",
3349
- 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]",
3350
- disabled && "cursor-not-allowed"
3350
+ /* @__PURE__ */ jsxs(
3351
+ "div",
3352
+ {
3353
+ className: cn("flex min-w-0 flex-col", !hug && "flex-1"),
3354
+ style: { width: cssLen(width), minWidth: cssLen(minWidth) },
3355
+ children: [
3356
+ /* @__PURE__ */ jsxs(
3357
+ "div",
3358
+ {
3359
+ className: cn(
3360
+ "relative box-border flex min-w-0 items-stretch overflow-hidden border border-solid border-(--field-bc)",
3361
+ 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]",
3362
+ disabled && "cursor-not-allowed"
3363
+ ),
3364
+ style: {
3365
+ // @ts-expect-error CSS 변수
3366
+ "--field-bc": borderColor,
3367
+ // focused/hovered prop이 명시된 경우 강조를 즉시 반영
3368
+ ...interactive && !borderless && focused ? { boxShadow: "0px 0px 4px 0px #0071ff66" } : {},
3369
+ ...multiline ? { minHeight: s.height } : { height: s.height },
3370
+ "borderRadius": s.radius,
3371
+ "background": bgColor,
3372
+ "color": textColor
3373
+ },
3374
+ "data-focused": focused || void 0,
3375
+ "data-hovered": hovered || void 0,
3376
+ children: [
3377
+ effectiveAddonLabel !== "" && /* @__PURE__ */ jsxs(
3378
+ "div",
3379
+ {
3380
+ 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",
3381
+ style: {
3382
+ // 원본 sd-field: labelWidth가 addon 폭(--sd-field-addon-width)에도 적용됨
3383
+ width: cssLen(labelWidth),
3384
+ justifyContent: ALIGN[addonAlign],
3385
+ background: "var(--cmp-field-addonLabel-bg)",
3386
+ borderRightColor: disabled ? "var(--cmp-field-addonLabel-border-disabled)" : "var(--cmp-field-addonLabel-border-default)",
3387
+ borderTopLeftRadius: s.radius - 1,
3388
+ borderBottomLeftRadius: s.radius - 1
3389
+ },
3390
+ children: [
3391
+ icon && !label && /* @__PURE__ */ jsx(SIcon, { name: icon, size: s.icon, color: iconColor }),
3392
+ effectiveAddonLabel
3393
+ ]
3394
+ }
3395
+ ),
3396
+ /* @__PURE__ */ jsx("div", { className: "flex min-w-0 flex-1", children })
3397
+ ]
3398
+ }
3351
3399
  ),
3352
- style: {
3353
- // @ts-expect-error CSS 변수
3354
- "--field-bc": borderColor,
3355
- // focused/hovered prop이 명시된 경우 강조를 즉시 반영
3356
- ...interactive && !borderless && focused ? { boxShadow: "0px 0px 4px 0px #0071ff66" } : {},
3357
- ...multiline ? { minHeight: s.height } : { height: s.height },
3358
- "minWidth": cssLen(minWidth),
3359
- "width": cssLen(width),
3360
- "borderRadius": s.radius,
3361
- "background": bgColor,
3362
- "color": textColor
3363
- },
3364
- "data-focused": focused || void 0,
3365
- "data-hovered": hovered || void 0,
3366
- children: [
3367
- effectiveAddonLabel !== "" && /* @__PURE__ */ jsxs(
3368
- "div",
3369
- {
3370
- 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",
3371
- style: {
3372
- // 원본 sd-field: labelWidth가 addon 폭(--sd-field-addon-width)에도 적용됨
3373
- width: cssLen(labelWidth),
3374
- justifyContent: ALIGN[addonAlign],
3375
- background: "var(--cmp-field-addonLabel-bg)",
3376
- borderRightColor: disabled ? "var(--cmp-field-addonLabel-border-disabled)" : "var(--cmp-field-addonLabel-border-default)",
3377
- borderTopLeftRadius: s.radius - 1,
3378
- borderBottomLeftRadius: s.radius - 1
3379
- },
3380
- children: [
3381
- icon && !label && /* @__PURE__ */ jsx(SIcon, { name: icon, size: s.icon, color: iconColor }),
3382
- effectiveAddonLabel
3383
- ]
3384
- }
3385
- ),
3386
- /* @__PURE__ */ jsx("div", { className: "flex min-w-0 flex-1", children })
3387
- ]
3388
- }
3389
- ),
3390
- showError ? /* @__PURE__ */ jsx("div", { className: "mt-(--cmp-field-contents-gap) text-12 font-normal leading-20 text-(--cmp-field-errorMessage-color)", children: errorMessage }) : hint !== "" ? /* @__PURE__ */ jsx("div", { className: "mt-(--cmp-field-contents-gap) text-12 font-normal leading-20 text-(--cmp-field-hint-color)", children: hint }) : null
3391
- ] })
3400
+ showError ? /* @__PURE__ */ jsx("div", { className: "mt-(--cmp-field-contents-gap) text-12 font-normal leading-20 text-(--cmp-field-errorMessage-color)", children: errorMessage }) : hint !== "" ? /* @__PURE__ */ jsx("div", { className: "mt-(--cmp-field-contents-gap) text-12 font-normal leading-20 text-(--cmp-field-hint-color)", children: hint }) : null
3401
+ ]
3402
+ }
3403
+ )
3392
3404
  ] })
3393
3405
  }
3394
3406
  );