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.
- package/dist/components/SBarcodeInput/SBarcodeInput.cjs +62 -48
- package/dist/components/SBarcodeInput/SBarcodeInput.cjs.map +1 -1
- package/dist/components/SBarcodeInput/SBarcodeInput.js +62 -48
- package/dist/components/SBarcodeInput/SBarcodeInput.js.map +1 -1
- package/dist/components/SChipInput/SChipInput.cjs +62 -48
- package/dist/components/SChipInput/SChipInput.cjs.map +1 -1
- package/dist/components/SChipInput/SChipInput.js +62 -48
- package/dist/components/SChipInput/SChipInput.js.map +1 -1
- package/dist/components/SDatePicker/SDatePicker.cjs +62 -48
- package/dist/components/SDatePicker/SDatePicker.cjs.map +1 -1
- package/dist/components/SDatePicker/SDatePicker.js +62 -48
- package/dist/components/SDatePicker/SDatePicker.js.map +1 -1
- package/dist/components/SDateRangePicker/SDateRangePicker.cjs +62 -48
- package/dist/components/SDateRangePicker/SDateRangePicker.cjs.map +1 -1
- package/dist/components/SDateRangePicker/SDateRangePicker.js +62 -48
- package/dist/components/SDateRangePicker/SDateRangePicker.js.map +1 -1
- package/dist/components/SField/SField.cjs +62 -48
- package/dist/components/SField/SField.cjs.map +1 -1
- package/dist/components/SField/SField.d.ts +6 -1
- package/dist/components/SField/SField.js +62 -48
- package/dist/components/SField/SField.js.map +1 -1
- package/dist/components/SFilePicker/SFilePicker.cjs +62 -48
- package/dist/components/SFilePicker/SFilePicker.cjs.map +1 -1
- package/dist/components/SFilePicker/SFilePicker.js +62 -48
- package/dist/components/SFilePicker/SFilePicker.js.map +1 -1
- package/dist/components/SInput/SInput.cjs +62 -48
- package/dist/components/SInput/SInput.cjs.map +1 -1
- package/dist/components/SInput/SInput.js +62 -48
- package/dist/components/SInput/SInput.js.map +1 -1
- package/dist/components/SKeyValueTable/SKeyValueTable.cjs +74 -49
- package/dist/components/SKeyValueTable/SKeyValueTable.cjs.map +1 -1
- package/dist/components/SKeyValueTable/SKeyValueTable.js +74 -49
- package/dist/components/SKeyValueTable/SKeyValueTable.js.map +1 -1
- package/dist/components/SNumberInput/SNumberInput.cjs +62 -48
- package/dist/components/SNumberInput/SNumberInput.cjs.map +1 -1
- package/dist/components/SNumberInput/SNumberInput.js +62 -48
- 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 +18 -1
- package/dist/components/SPopup/SPopup.cjs.map +1 -1
- package/dist/components/SPopup/SPopup.js +18 -1
- package/dist/components/SPopup/SPopup.js.map +1 -1
- package/dist/components/SScrollArea/SScrollArea.cjs +64 -0
- package/dist/components/SScrollArea/SScrollArea.cjs.map +1 -0
- package/dist/components/SScrollArea/SScrollArea.d.ts +21 -0
- package/dist/components/SScrollArea/SScrollArea.js +62 -0
- package/dist/components/SScrollArea/SScrollArea.js.map +1 -0
- package/dist/components/SScrollArea/index.d.ts +2 -0
- package/dist/components/SScrollArea/scrollArea.config.d.ts +2 -0
- package/dist/components/SSelect/SSelect.cjs +74 -49
- package/dist/components/SSelect/SSelect.cjs.map +1 -1
- package/dist/components/SSelect/SSelect.js +74 -49
- package/dist/components/SSelect/SSelect.js.map +1 -1
- package/dist/components/SStepper/SStepper.cjs +7 -11
- package/dist/components/SStepper/SStepper.cjs.map +1 -1
- package/dist/components/SStepper/SStepper.js +7 -11
- package/dist/components/SStepper/SStepper.js.map +1 -1
- package/dist/components/STable/STable.cjs +83 -55
- package/dist/components/STable/STable.cjs.map +1 -1
- package/dist/components/STable/STable.d.ts +2 -0
- package/dist/components/STable/STable.js +83 -55
- package/dist/components/STable/STable.js.map +1 -1
- package/dist/components/STextarea/STextarea.cjs +62 -48
- package/dist/components/STextarea/STextarea.cjs.map +1 -1
- package/dist/components/STextarea/STextarea.js +62 -48
- package/dist/components/STextarea/STextarea.js.map +1 -1
- package/dist/components/STimePicker/STimePicker.cjs +91 -54
- package/dist/components/STimePicker/STimePicker.cjs.map +1 -1
- package/dist/components/STimePicker/STimePicker.js +91 -54
- package/dist/components/STimePicker/STimePicker.js.map +1 -1
- package/dist/components/STimeRangePicker/STimeRangePicker.cjs +93 -54
- package/dist/components/STimeRangePicker/STimeRangePicker.cjs.map +1 -1
- package/dist/components/STimeRangePicker/STimeRangePicker.js +93 -54
- package/dist/components/STimeRangePicker/STimeRangePicker.js.map +1 -1
- package/dist/index.cjs +220 -81
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +218 -82
- package/dist/index.js.map +1 -1
- package/dist/lib/scrollbar.cjs +15 -0
- package/dist/lib/scrollbar.cjs.map +1 -0
- package/dist/lib/scrollbar.d.ts +32 -0
- package/dist/lib/scrollbar.js +10 -0
- package/dist/lib/scrollbar.js.map +1 -0
- package/dist/styles.css +168 -17
- package/package.json +1 -1
|
@@ -15,6 +15,12 @@ var twMerge = extendTailwindMerge({
|
|
|
15
15
|
function cn(...inputs) {
|
|
16
16
|
return twMerge(clsx(inputs));
|
|
17
17
|
}
|
|
18
|
+
|
|
19
|
+
// src/lib/scrollbar.ts
|
|
20
|
+
var FIREFOX_SCROLLBAR_CLASS = "supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-width:thin] supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_transparent]";
|
|
21
|
+
var SCROLLBAR_CLASS = `${FIREFOX_SCROLLBAR_CLASS} [&::-webkit-scrollbar]:h-[12px] [&::-webkit-scrollbar]:w-[12px] [&::-webkit-scrollbar]:bg-transparent [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:border-2 [&::-webkit-scrollbar-thumb]:border-solid [&::-webkit-scrollbar-thumb]:border-transparent [&::-webkit-scrollbar-thumb]:bg-[var(--color-grey-45)] [&::-webkit-scrollbar-thumb]:bg-clip-padding`;
|
|
22
|
+
var SCROLLBAR_TRACK_BG_CLASS = "supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_var(--color-grey-10)] [&::-webkit-scrollbar]:bg-[var(--color-grey-10)] [&::-webkit-scrollbar-track]:bg-[var(--color-grey-10)]";
|
|
23
|
+
var SCROLLBAR_TRACK_BORDER_CLASS = "[&::-webkit-scrollbar-track:vertical]:[border-left:1px_solid_var(--sys-color-border-default)] [&::-webkit-scrollbar-track:horizontal]:[border-top:1px_solid_var(--sys-color-border-default)] [&::-webkit-scrollbar-thumb:vertical]:[border-left-width:3px] [&::-webkit-scrollbar-thumb:horizontal]:[border-top-width:3px]";
|
|
18
24
|
var PortalContainerContext = createContext(null);
|
|
19
25
|
var InsideModalContext = createContext(false);
|
|
20
26
|
PortalContainerContext.Provider;
|
|
@@ -3330,6 +3336,7 @@ var SField = forwardRef(function SField2({
|
|
|
3330
3336
|
disabled = false,
|
|
3331
3337
|
readOnly = false,
|
|
3332
3338
|
width,
|
|
3339
|
+
minWidth,
|
|
3333
3340
|
multiline = false,
|
|
3334
3341
|
borderless = false,
|
|
3335
3342
|
children,
|
|
@@ -3365,6 +3372,7 @@ var SField = forwardRef(function SField2({
|
|
|
3365
3372
|
const resolvedSuccess = status === "pass";
|
|
3366
3373
|
const showError = resolvedError && errorMessage !== "";
|
|
3367
3374
|
const interactive = !disabled && !readOnly;
|
|
3375
|
+
const hug = cssLen(width) !== void 0;
|
|
3368
3376
|
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)";
|
|
3369
3377
|
const bgColor = borderless ? "transparent" : disabled ? "var(--color-grey-30)" : readOnly ? "var(--sys-color-field-bg-readOnly)" : "var(--sys-color-field-bg-default)";
|
|
3370
3378
|
const textColor = disabled ? "var(--color-grey-65)" : readOnly ? "var(--sys-color-field-text-readOnly)" : "var(--sys-color-field-text-default)";
|
|
@@ -3373,7 +3381,13 @@ var SField = forwardRef(function SField2({
|
|
|
3373
3381
|
{
|
|
3374
3382
|
ref: rootRef,
|
|
3375
3383
|
"data-name": name || void 0,
|
|
3376
|
-
className: cn(
|
|
3384
|
+
className: cn(
|
|
3385
|
+
"h-fit flex-col",
|
|
3386
|
+
// hug 시 inline-flex 를 유지하면 기존에 세로로 쌓여 있던 필드들이 한 줄에 붙어버리므로
|
|
3387
|
+
// 블록 레벨(flex)로 두어 쌓임은 그대로 유지한다. 나란히 놓으려면 부모를 flex 로.
|
|
3388
|
+
hug ? "flex w-fit max-w-full" : "inline-flex w-full",
|
|
3389
|
+
className
|
|
3390
|
+
),
|
|
3377
3391
|
style,
|
|
3378
3392
|
onMouseEnter,
|
|
3379
3393
|
onMouseLeave,
|
|
@@ -3411,54 +3425,60 @@ var SField = forwardRef(function SField2({
|
|
|
3411
3425
|
]
|
|
3412
3426
|
}
|
|
3413
3427
|
),
|
|
3414
|
-
/* @__PURE__ */ jsxs(
|
|
3415
|
-
|
|
3416
|
-
|
|
3417
|
-
|
|
3418
|
-
|
|
3419
|
-
|
|
3420
|
-
|
|
3421
|
-
|
|
3428
|
+
/* @__PURE__ */ jsxs(
|
|
3429
|
+
"div",
|
|
3430
|
+
{
|
|
3431
|
+
className: cn("flex min-w-0 flex-col", !hug && "flex-1"),
|
|
3432
|
+
style: { width: cssLen(width), minWidth: cssLen(minWidth) },
|
|
3433
|
+
children: [
|
|
3434
|
+
/* @__PURE__ */ jsxs(
|
|
3435
|
+
"div",
|
|
3436
|
+
{
|
|
3437
|
+
className: cn(
|
|
3438
|
+
"relative box-border flex min-w-0 items-stretch overflow-hidden border border-solid border-(--field-bc)",
|
|
3439
|
+
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]",
|
|
3440
|
+
disabled && "cursor-not-allowed"
|
|
3441
|
+
),
|
|
3442
|
+
style: {
|
|
3443
|
+
// @ts-expect-error CSS 변수
|
|
3444
|
+
"--field-bc": borderColor,
|
|
3445
|
+
// focused/hovered prop이 명시된 경우 강조를 즉시 반영
|
|
3446
|
+
...interactive && !borderless && focused ? { boxShadow: "0px 0px 4px 0px #0071ff66" } : {},
|
|
3447
|
+
...multiline ? { minHeight: s.height } : { height: s.height },
|
|
3448
|
+
"borderRadius": s.radius,
|
|
3449
|
+
"background": bgColor,
|
|
3450
|
+
"color": textColor
|
|
3451
|
+
},
|
|
3452
|
+
"data-focused": focused || void 0,
|
|
3453
|
+
"data-hovered": hovered || void 0,
|
|
3454
|
+
children: [
|
|
3455
|
+
effectiveAddonLabel !== "" && /* @__PURE__ */ jsxs(
|
|
3456
|
+
"div",
|
|
3457
|
+
{
|
|
3458
|
+
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",
|
|
3459
|
+
style: {
|
|
3460
|
+
// 원본 sd-field: labelWidth가 addon 폭(--sd-field-addon-width)에도 적용됨
|
|
3461
|
+
width: cssLen(labelWidth),
|
|
3462
|
+
justifyContent: ALIGN[addonAlign],
|
|
3463
|
+
background: "var(--cmp-field-addonLabel-bg)",
|
|
3464
|
+
borderRightColor: disabled ? "var(--cmp-field-addonLabel-border-disabled)" : "var(--cmp-field-addonLabel-border-default)",
|
|
3465
|
+
borderTopLeftRadius: s.radius - 1,
|
|
3466
|
+
borderBottomLeftRadius: s.radius - 1
|
|
3467
|
+
},
|
|
3468
|
+
children: [
|
|
3469
|
+
icon && !label && /* @__PURE__ */ jsx(SIcon, { name: icon, size: s.icon, color: iconColor }),
|
|
3470
|
+
effectiveAddonLabel
|
|
3471
|
+
]
|
|
3472
|
+
}
|
|
3473
|
+
),
|
|
3474
|
+
/* @__PURE__ */ jsx("div", { className: "flex min-w-0 flex-1", children })
|
|
3475
|
+
]
|
|
3476
|
+
}
|
|
3422
3477
|
),
|
|
3423
|
-
|
|
3424
|
-
|
|
3425
|
-
|
|
3426
|
-
|
|
3427
|
-
...interactive && !borderless && focused ? { boxShadow: "0px 0px 4px 0px #0071ff66" } : {},
|
|
3428
|
-
...multiline ? { minHeight: s.height } : { height: s.height },
|
|
3429
|
-
"width": cssLen(width),
|
|
3430
|
-
"borderRadius": s.radius,
|
|
3431
|
-
"background": bgColor,
|
|
3432
|
-
"color": textColor
|
|
3433
|
-
},
|
|
3434
|
-
"data-focused": focused || void 0,
|
|
3435
|
-
"data-hovered": hovered || void 0,
|
|
3436
|
-
children: [
|
|
3437
|
-
effectiveAddonLabel !== "" && /* @__PURE__ */ jsxs(
|
|
3438
|
-
"div",
|
|
3439
|
-
{
|
|
3440
|
-
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",
|
|
3441
|
-
style: {
|
|
3442
|
-
// 원본 sd-field: labelWidth가 addon 폭(--sd-field-addon-width)에도 적용됨
|
|
3443
|
-
width: cssLen(labelWidth),
|
|
3444
|
-
justifyContent: ALIGN[addonAlign],
|
|
3445
|
-
background: "var(--cmp-field-addonLabel-bg)",
|
|
3446
|
-
borderRightColor: disabled ? "var(--cmp-field-addonLabel-border-disabled)" : "var(--cmp-field-addonLabel-border-default)",
|
|
3447
|
-
borderTopLeftRadius: s.radius - 1,
|
|
3448
|
-
borderBottomLeftRadius: s.radius - 1
|
|
3449
|
-
},
|
|
3450
|
-
children: [
|
|
3451
|
-
icon && !label && /* @__PURE__ */ jsx(SIcon, { name: icon, size: s.icon, color: iconColor }),
|
|
3452
|
-
effectiveAddonLabel
|
|
3453
|
-
]
|
|
3454
|
-
}
|
|
3455
|
-
),
|
|
3456
|
-
/* @__PURE__ */ jsx("div", { className: "flex min-w-0 flex-1", children })
|
|
3457
|
-
]
|
|
3458
|
-
}
|
|
3459
|
-
),
|
|
3460
|
-
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
|
|
3461
|
-
] })
|
|
3478
|
+
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
|
|
3479
|
+
]
|
|
3480
|
+
}
|
|
3481
|
+
)
|
|
3462
3482
|
] })
|
|
3463
3483
|
}
|
|
3464
3484
|
);
|
|
@@ -3878,7 +3898,12 @@ var SSelect = forwardRef(function SSelect2({
|
|
|
3878
3898
|
"div",
|
|
3879
3899
|
{
|
|
3880
3900
|
ref: listRef,
|
|
3881
|
-
className:
|
|
3901
|
+
className: cn(
|
|
3902
|
+
"overflow-auto",
|
|
3903
|
+
SCROLLBAR_CLASS,
|
|
3904
|
+
SCROLLBAR_TRACK_BG_CLASS,
|
|
3905
|
+
SCROLLBAR_TRACK_BORDER_CLASS
|
|
3906
|
+
),
|
|
3882
3907
|
style: { maxHeight: dropdownHeight },
|
|
3883
3908
|
onMouseLeave: () => setFocusedIndex(-1),
|
|
3884
3909
|
children: [
|