sellmate-design-system-react 0.7.0 → 0.8.1
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.
- package/dist/components/SBarcodeInput/SBarcodeInput.cjs +61 -49
- package/dist/components/SBarcodeInput/SBarcodeInput.cjs.map +1 -1
- package/dist/components/SBarcodeInput/SBarcodeInput.js +61 -49
- package/dist/components/SBarcodeInput/SBarcodeInput.js.map +1 -1
- package/dist/components/SChipInput/SChipInput.cjs +64 -49
- package/dist/components/SChipInput/SChipInput.cjs.map +1 -1
- package/dist/components/SChipInput/SChipInput.js +64 -49
- package/dist/components/SChipInput/SChipInput.js.map +1 -1
- package/dist/components/SDatePicker/SDatePicker.cjs +61 -49
- package/dist/components/SDatePicker/SDatePicker.cjs.map +1 -1
- package/dist/components/SDatePicker/SDatePicker.js +61 -49
- package/dist/components/SDatePicker/SDatePicker.js.map +1 -1
- package/dist/components/SDateRangePicker/SDateRangePicker.cjs +61 -49
- package/dist/components/SDateRangePicker/SDateRangePicker.cjs.map +1 -1
- package/dist/components/SDateRangePicker/SDateRangePicker.js +61 -49
- package/dist/components/SDateRangePicker/SDateRangePicker.js.map +1 -1
- package/dist/components/SField/SField.cjs +61 -49
- package/dist/components/SField/SField.cjs.map +1 -1
- package/dist/components/SField/SField.d.ts +5 -2
- package/dist/components/SField/SField.js +61 -49
- package/dist/components/SField/SField.js.map +1 -1
- package/dist/components/SFilePicker/SFilePicker.cjs +61 -49
- package/dist/components/SFilePicker/SFilePicker.cjs.map +1 -1
- package/dist/components/SFilePicker/SFilePicker.js +61 -49
- package/dist/components/SFilePicker/SFilePicker.js.map +1 -1
- package/dist/components/SInput/SInput.cjs +61 -49
- package/dist/components/SInput/SInput.cjs.map +1 -1
- package/dist/components/SInput/SInput.js +61 -49
- package/dist/components/SInput/SInput.js.map +1 -1
- package/dist/components/SKeyValueTable/SKeyValueTable.cjs +72 -50
- package/dist/components/SKeyValueTable/SKeyValueTable.cjs.map +1 -1
- package/dist/components/SKeyValueTable/SKeyValueTable.js +72 -50
- package/dist/components/SKeyValueTable/SKeyValueTable.js.map +1 -1
- package/dist/components/SNumberInput/SNumberInput.cjs +61 -49
- package/dist/components/SNumberInput/SNumberInput.cjs.map +1 -1
- package/dist/components/SNumberInput/SNumberInput.js +61 -49
- package/dist/components/SNumberInput/SNumberInput.js.map +1 -1
- package/dist/components/SPage/SPage.cjs +19 -2
- package/dist/components/SPage/SPage.cjs.map +1 -1
- package/dist/components/SPage/SPage.d.ts +7 -1
- package/dist/components/SPage/SPage.js +19 -2
- package/dist/components/SPage/SPage.js.map +1 -1
- package/dist/components/SPage/index.d.ts +1 -0
- package/dist/components/SPage/page.config.d.ts +8 -0
- package/dist/components/SPopup/SPopup.cjs.map +1 -1
- package/dist/components/SPopup/SPopup.js.map +1 -1
- package/dist/components/SPortal/SPortal.cjs +3 -0
- package/dist/components/SPortal/SPortal.cjs.map +1 -1
- package/dist/components/SPortal/SPortal.d.ts +3 -1
- package/dist/components/SPortal/SPortal.js +3 -0
- package/dist/components/SPortal/SPortal.js.map +1 -1
- package/dist/components/SScrollArea/SScrollArea.cjs.map +1 -1
- package/dist/components/SScrollArea/SScrollArea.js.map +1 -1
- package/dist/components/SSelect/SSelect.cjs +72 -50
- package/dist/components/SSelect/SSelect.cjs.map +1 -1
- package/dist/components/SSelect/SSelect.js +72 -50
- package/dist/components/SSelect/SSelect.js.map +1 -1
- package/dist/components/STable/STable.cjs +78 -56
- package/dist/components/STable/STable.cjs.map +1 -1
- package/dist/components/STable/STable.d.ts +2 -0
- package/dist/components/STable/STable.js +78 -56
- package/dist/components/STable/STable.js.map +1 -1
- package/dist/components/STextarea/STextarea.cjs +61 -49
- package/dist/components/STextarea/STextarea.cjs.map +1 -1
- package/dist/components/STextarea/STextarea.js +61 -49
- package/dist/components/STextarea/STextarea.js.map +1 -1
- package/dist/components/STimePicker/STimePicker.cjs +61 -49
- package/dist/components/STimePicker/STimePicker.cjs.map +1 -1
- package/dist/components/STimePicker/STimePicker.js +61 -49
- package/dist/components/STimePicker/STimePicker.js.map +1 -1
- package/dist/components/STimeRangePicker/STimeRangePicker.cjs +61 -49
- package/dist/components/STimeRangePicker/STimeRangePicker.cjs.map +1 -1
- package/dist/components/STimeRangePicker/STimeRangePicker.js +61 -49
- package/dist/components/STimeRangePicker/STimeRangePicker.js.map +1 -1
- package/dist/index.cjs +95 -58
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +95 -59
- package/dist/index.js.map +1 -1
- package/dist/lib/scrollbar.cjs +2 -0
- package/dist/lib/scrollbar.cjs.map +1 -1
- package/dist/lib/scrollbar.d.ts +13 -1
- package/dist/lib/scrollbar.js +2 -1
- package/dist/lib/scrollbar.js.map +1 -1
- package/dist/styles.css +53 -3
- package/package.json +1 -1
|
@@ -3318,6 +3318,7 @@ var SField = react.forwardRef(function SField2({
|
|
|
3318
3318
|
const resolvedSuccess = status === "pass";
|
|
3319
3319
|
const showError = resolvedError && errorMessage !== "";
|
|
3320
3320
|
const interactive = !disabled && !readOnly;
|
|
3321
|
+
const hug = cssLen(width) !== void 0;
|
|
3321
3322
|
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)";
|
|
3322
3323
|
const bgColor = borderless ? "transparent" : disabled ? "var(--color-grey-30)" : readOnly ? "var(--sys-color-field-bg-readOnly)" : "var(--sys-color-field-bg-default)";
|
|
3323
3324
|
const textColor = disabled ? "var(--color-grey-65)" : readOnly ? "var(--sys-color-field-text-readOnly)" : "var(--sys-color-field-text-default)";
|
|
@@ -3326,7 +3327,13 @@ var SField = react.forwardRef(function SField2({
|
|
|
3326
3327
|
{
|
|
3327
3328
|
ref: rootRef,
|
|
3328
3329
|
"data-name": name || void 0,
|
|
3329
|
-
className: cn(
|
|
3330
|
+
className: cn(
|
|
3331
|
+
"h-fit flex-col",
|
|
3332
|
+
// hug 시 inline-flex 를 유지하면 기존에 세로로 쌓여 있던 필드들이 한 줄에 붙어버리므로
|
|
3333
|
+
// 블록 레벨(flex)로 두어 쌓임은 그대로 유지한다. 나란히 놓으려면 부모를 flex 로.
|
|
3334
|
+
hug ? "flex w-fit max-w-full" : "inline-flex w-full",
|
|
3335
|
+
className
|
|
3336
|
+
),
|
|
3330
3337
|
style,
|
|
3331
3338
|
onMouseEnter,
|
|
3332
3339
|
onMouseLeave,
|
|
@@ -3364,55 +3371,60 @@ var SField = react.forwardRef(function SField2({
|
|
|
3364
3371
|
]
|
|
3365
3372
|
}
|
|
3366
3373
|
),
|
|
3367
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3368
|
-
|
|
3369
|
-
|
|
3370
|
-
|
|
3371
|
-
|
|
3372
|
-
|
|
3373
|
-
|
|
3374
|
-
|
|
3374
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3375
|
+
"div",
|
|
3376
|
+
{
|
|
3377
|
+
className: cn("flex min-w-0 flex-col", !hug && "flex-1"),
|
|
3378
|
+
style: { width: cssLen(width), minWidth: cssLen(minWidth) },
|
|
3379
|
+
children: [
|
|
3380
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3381
|
+
"div",
|
|
3382
|
+
{
|
|
3383
|
+
className: cn(
|
|
3384
|
+
"relative box-border flex min-w-0 items-stretch overflow-hidden border border-solid border-(--field-bc)",
|
|
3385
|
+
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]",
|
|
3386
|
+
disabled && "cursor-not-allowed"
|
|
3387
|
+
),
|
|
3388
|
+
style: {
|
|
3389
|
+
// @ts-expect-error CSS 변수
|
|
3390
|
+
"--field-bc": borderColor,
|
|
3391
|
+
// focused/hovered prop이 명시된 경우 강조를 즉시 반영
|
|
3392
|
+
...interactive && !borderless && focused ? { boxShadow: "0px 0px 4px 0px #0071ff66" } : {},
|
|
3393
|
+
...multiline ? { minHeight: s.height } : { height: s.height },
|
|
3394
|
+
"borderRadius": s.radius,
|
|
3395
|
+
"background": bgColor,
|
|
3396
|
+
"color": textColor
|
|
3397
|
+
},
|
|
3398
|
+
"data-focused": focused || void 0,
|
|
3399
|
+
"data-hovered": hovered || void 0,
|
|
3400
|
+
children: [
|
|
3401
|
+
effectiveAddonLabel !== "" && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3402
|
+
"div",
|
|
3403
|
+
{
|
|
3404
|
+
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",
|
|
3405
|
+
style: {
|
|
3406
|
+
// 원본 sd-field: labelWidth가 addon 폭(--sd-field-addon-width)에도 적용됨
|
|
3407
|
+
width: cssLen(labelWidth),
|
|
3408
|
+
justifyContent: ALIGN[addonAlign],
|
|
3409
|
+
background: "var(--cmp-field-addonLabel-bg)",
|
|
3410
|
+
borderRightColor: disabled ? "var(--cmp-field-addonLabel-border-disabled)" : "var(--cmp-field-addonLabel-border-default)",
|
|
3411
|
+
borderTopLeftRadius: s.radius - 1,
|
|
3412
|
+
borderBottomLeftRadius: s.radius - 1
|
|
3413
|
+
},
|
|
3414
|
+
children: [
|
|
3415
|
+
icon && !label && /* @__PURE__ */ jsxRuntime.jsx(SIcon, { name: icon, size: s.icon, color: iconColor }),
|
|
3416
|
+
effectiveAddonLabel
|
|
3417
|
+
]
|
|
3418
|
+
}
|
|
3419
|
+
),
|
|
3420
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-w-0 flex-1", children })
|
|
3421
|
+
]
|
|
3422
|
+
}
|
|
3375
3423
|
),
|
|
3376
|
-
|
|
3377
|
-
|
|
3378
|
-
|
|
3379
|
-
|
|
3380
|
-
...interactive && !borderless && focused ? { boxShadow: "0px 0px 4px 0px #0071ff66" } : {},
|
|
3381
|
-
...multiline ? { minHeight: s.height } : { height: s.height },
|
|
3382
|
-
"minWidth": cssLen(minWidth),
|
|
3383
|
-
"width": cssLen(width),
|
|
3384
|
-
"borderRadius": s.radius,
|
|
3385
|
-
"background": bgColor,
|
|
3386
|
-
"color": textColor
|
|
3387
|
-
},
|
|
3388
|
-
"data-focused": focused || void 0,
|
|
3389
|
-
"data-hovered": hovered || void 0,
|
|
3390
|
-
children: [
|
|
3391
|
-
effectiveAddonLabel !== "" && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3392
|
-
"div",
|
|
3393
|
-
{
|
|
3394
|
-
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",
|
|
3395
|
-
style: {
|
|
3396
|
-
// 원본 sd-field: labelWidth가 addon 폭(--sd-field-addon-width)에도 적용됨
|
|
3397
|
-
width: cssLen(labelWidth),
|
|
3398
|
-
justifyContent: ALIGN[addonAlign],
|
|
3399
|
-
background: "var(--cmp-field-addonLabel-bg)",
|
|
3400
|
-
borderRightColor: disabled ? "var(--cmp-field-addonLabel-border-disabled)" : "var(--cmp-field-addonLabel-border-default)",
|
|
3401
|
-
borderTopLeftRadius: s.radius - 1,
|
|
3402
|
-
borderBottomLeftRadius: s.radius - 1
|
|
3403
|
-
},
|
|
3404
|
-
children: [
|
|
3405
|
-
icon && !label && /* @__PURE__ */ jsxRuntime.jsx(SIcon, { name: icon, size: s.icon, color: iconColor }),
|
|
3406
|
-
effectiveAddonLabel
|
|
3407
|
-
]
|
|
3408
|
-
}
|
|
3409
|
-
),
|
|
3410
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-w-0 flex-1", children })
|
|
3411
|
-
]
|
|
3412
|
-
}
|
|
3413
|
-
),
|
|
3414
|
-
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
|
|
3415
|
-
] })
|
|
3424
|
+
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
|
|
3425
|
+
]
|
|
3426
|
+
}
|
|
3427
|
+
)
|
|
3416
3428
|
] })
|
|
3417
3429
|
}
|
|
3418
3430
|
);
|
|
@@ -3673,6 +3685,7 @@ function SPortal({
|
|
|
3673
3685
|
viewportPadding = 0,
|
|
3674
3686
|
onOpenAutoFocus,
|
|
3675
3687
|
onCloseAutoFocus,
|
|
3688
|
+
onPointerDownOutside,
|
|
3676
3689
|
children,
|
|
3677
3690
|
className,
|
|
3678
3691
|
style,
|
|
@@ -3701,7 +3714,9 @@ function SPortal({
|
|
|
3701
3714
|
onPointerDownOutside: (e) => {
|
|
3702
3715
|
if (persistent || anchorRef.current?.contains(e.target)) {
|
|
3703
3716
|
e.preventDefault();
|
|
3717
|
+
return;
|
|
3704
3718
|
}
|
|
3719
|
+
onPointerDownOutside?.(e);
|
|
3705
3720
|
},
|
|
3706
3721
|
onFocusOutside: (e) => {
|
|
3707
3722
|
if (persistent || anchorRef.current?.contains(e.target)) {
|