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
|
@@ -3429,6 +3429,7 @@ var SField = forwardRef(function SField2({
|
|
|
3429
3429
|
disabled = false,
|
|
3430
3430
|
readOnly = false,
|
|
3431
3431
|
width,
|
|
3432
|
+
minWidth,
|
|
3432
3433
|
multiline = false,
|
|
3433
3434
|
borderless = false,
|
|
3434
3435
|
children,
|
|
@@ -3464,6 +3465,7 @@ var SField = forwardRef(function SField2({
|
|
|
3464
3465
|
const resolvedSuccess = status === "pass";
|
|
3465
3466
|
const showError = resolvedError && errorMessage !== "";
|
|
3466
3467
|
const interactive = !disabled && !readOnly;
|
|
3468
|
+
const hug = cssLen(width) !== void 0;
|
|
3467
3469
|
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)";
|
|
3468
3470
|
const bgColor = borderless ? "transparent" : disabled ? "var(--color-grey-30)" : readOnly ? "var(--sys-color-field-bg-readOnly)" : "var(--sys-color-field-bg-default)";
|
|
3469
3471
|
const textColor = disabled ? "var(--color-grey-65)" : readOnly ? "var(--sys-color-field-text-readOnly)" : "var(--sys-color-field-text-default)";
|
|
@@ -3472,7 +3474,13 @@ var SField = forwardRef(function SField2({
|
|
|
3472
3474
|
{
|
|
3473
3475
|
ref: rootRef,
|
|
3474
3476
|
"data-name": name || void 0,
|
|
3475
|
-
className: cn(
|
|
3477
|
+
className: cn(
|
|
3478
|
+
"h-fit flex-col",
|
|
3479
|
+
// hug 시 inline-flex 를 유지하면 기존에 세로로 쌓여 있던 필드들이 한 줄에 붙어버리므로
|
|
3480
|
+
// 블록 레벨(flex)로 두어 쌓임은 그대로 유지한다. 나란히 놓으려면 부모를 flex 로.
|
|
3481
|
+
hug ? "flex w-fit max-w-full" : "inline-flex w-full",
|
|
3482
|
+
className
|
|
3483
|
+
),
|
|
3476
3484
|
style,
|
|
3477
3485
|
onMouseEnter,
|
|
3478
3486
|
onMouseLeave,
|
|
@@ -3510,54 +3518,60 @@ var SField = forwardRef(function SField2({
|
|
|
3510
3518
|
]
|
|
3511
3519
|
}
|
|
3512
3520
|
),
|
|
3513
|
-
/* @__PURE__ */ jsxs(
|
|
3514
|
-
|
|
3515
|
-
|
|
3516
|
-
|
|
3517
|
-
|
|
3518
|
-
|
|
3519
|
-
|
|
3520
|
-
|
|
3521
|
+
/* @__PURE__ */ jsxs(
|
|
3522
|
+
"div",
|
|
3523
|
+
{
|
|
3524
|
+
className: cn("flex min-w-0 flex-col", !hug && "flex-1"),
|
|
3525
|
+
style: { width: cssLen(width), minWidth: cssLen(minWidth) },
|
|
3526
|
+
children: [
|
|
3527
|
+
/* @__PURE__ */ jsxs(
|
|
3528
|
+
"div",
|
|
3529
|
+
{
|
|
3530
|
+
className: cn(
|
|
3531
|
+
"relative box-border flex min-w-0 items-stretch overflow-hidden border border-solid border-(--field-bc)",
|
|
3532
|
+
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]",
|
|
3533
|
+
disabled && "cursor-not-allowed"
|
|
3534
|
+
),
|
|
3535
|
+
style: {
|
|
3536
|
+
// @ts-expect-error CSS 변수
|
|
3537
|
+
"--field-bc": borderColor,
|
|
3538
|
+
// focused/hovered prop이 명시된 경우 강조를 즉시 반영
|
|
3539
|
+
...interactive && !borderless && focused ? { boxShadow: "0px 0px 4px 0px #0071ff66" } : {},
|
|
3540
|
+
...multiline ? { minHeight: s.height } : { height: s.height },
|
|
3541
|
+
"borderRadius": s.radius,
|
|
3542
|
+
"background": bgColor,
|
|
3543
|
+
"color": textColor
|
|
3544
|
+
},
|
|
3545
|
+
"data-focused": focused || void 0,
|
|
3546
|
+
"data-hovered": hovered || void 0,
|
|
3547
|
+
children: [
|
|
3548
|
+
effectiveAddonLabel !== "" && /* @__PURE__ */ jsxs(
|
|
3549
|
+
"div",
|
|
3550
|
+
{
|
|
3551
|
+
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",
|
|
3552
|
+
style: {
|
|
3553
|
+
// 원본 sd-field: labelWidth가 addon 폭(--sd-field-addon-width)에도 적용됨
|
|
3554
|
+
width: cssLen(labelWidth),
|
|
3555
|
+
justifyContent: ALIGN[addonAlign],
|
|
3556
|
+
background: "var(--cmp-field-addonLabel-bg)",
|
|
3557
|
+
borderRightColor: disabled ? "var(--cmp-field-addonLabel-border-disabled)" : "var(--cmp-field-addonLabel-border-default)",
|
|
3558
|
+
borderTopLeftRadius: s.radius - 1,
|
|
3559
|
+
borderBottomLeftRadius: s.radius - 1
|
|
3560
|
+
},
|
|
3561
|
+
children: [
|
|
3562
|
+
icon && !label && /* @__PURE__ */ jsx(SIcon, { name: icon, size: s.icon, color: iconColor }),
|
|
3563
|
+
effectiveAddonLabel
|
|
3564
|
+
]
|
|
3565
|
+
}
|
|
3566
|
+
),
|
|
3567
|
+
/* @__PURE__ */ jsx("div", { className: "flex min-w-0 flex-1", children })
|
|
3568
|
+
]
|
|
3569
|
+
}
|
|
3521
3570
|
),
|
|
3522
|
-
|
|
3523
|
-
|
|
3524
|
-
|
|
3525
|
-
|
|
3526
|
-
...interactive && !borderless && focused ? { boxShadow: "0px 0px 4px 0px #0071ff66" } : {},
|
|
3527
|
-
...multiline ? { minHeight: s.height } : { height: s.height },
|
|
3528
|
-
"width": cssLen(width),
|
|
3529
|
-
"borderRadius": s.radius,
|
|
3530
|
-
"background": bgColor,
|
|
3531
|
-
"color": textColor
|
|
3532
|
-
},
|
|
3533
|
-
"data-focused": focused || void 0,
|
|
3534
|
-
"data-hovered": hovered || void 0,
|
|
3535
|
-
children: [
|
|
3536
|
-
effectiveAddonLabel !== "" && /* @__PURE__ */ jsxs(
|
|
3537
|
-
"div",
|
|
3538
|
-
{
|
|
3539
|
-
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",
|
|
3540
|
-
style: {
|
|
3541
|
-
// 원본 sd-field: labelWidth가 addon 폭(--sd-field-addon-width)에도 적용됨
|
|
3542
|
-
width: cssLen(labelWidth),
|
|
3543
|
-
justifyContent: ALIGN[addonAlign],
|
|
3544
|
-
background: "var(--cmp-field-addonLabel-bg)",
|
|
3545
|
-
borderRightColor: disabled ? "var(--cmp-field-addonLabel-border-disabled)" : "var(--cmp-field-addonLabel-border-default)",
|
|
3546
|
-
borderTopLeftRadius: s.radius - 1,
|
|
3547
|
-
borderBottomLeftRadius: s.radius - 1
|
|
3548
|
-
},
|
|
3549
|
-
children: [
|
|
3550
|
-
icon && !label && /* @__PURE__ */ jsx(SIcon, { name: icon, size: s.icon, color: iconColor }),
|
|
3551
|
-
effectiveAddonLabel
|
|
3552
|
-
]
|
|
3553
|
-
}
|
|
3554
|
-
),
|
|
3555
|
-
/* @__PURE__ */ jsx("div", { className: "flex min-w-0 flex-1", children })
|
|
3556
|
-
]
|
|
3557
|
-
}
|
|
3558
|
-
),
|
|
3559
|
-
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
|
|
3560
|
-
] })
|
|
3571
|
+
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
|
|
3572
|
+
]
|
|
3573
|
+
}
|
|
3574
|
+
)
|
|
3561
3575
|
] })
|
|
3562
3576
|
}
|
|
3563
3577
|
);
|
|
@@ -4144,6 +4158,12 @@ var SNumberInput = forwardRef(function SNumberInput2({
|
|
|
4144
4158
|
);
|
|
4145
4159
|
});
|
|
4146
4160
|
|
|
4161
|
+
// src/lib/scrollbar.ts
|
|
4162
|
+
var FIREFOX_SCROLLBAR_CLASS = "supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-width:thin] supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_transparent]";
|
|
4163
|
+
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`;
|
|
4164
|
+
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)]";
|
|
4165
|
+
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]";
|
|
4166
|
+
|
|
4147
4167
|
// src/lib/sanitize-inline-html.ts
|
|
4148
4168
|
var ALLOWED_INLINE_TAGS = /* @__PURE__ */ new Set(["A", "B", "STRONG", "I", "EM", "BR", "SPAN"]);
|
|
4149
4169
|
var ALLOWED_ATTRS_BY_TAG = {
|
|
@@ -4627,7 +4647,12 @@ var SSelect = forwardRef(function SSelect2({
|
|
|
4627
4647
|
"div",
|
|
4628
4648
|
{
|
|
4629
4649
|
ref: listRef,
|
|
4630
|
-
className:
|
|
4650
|
+
className: cn(
|
|
4651
|
+
"overflow-auto",
|
|
4652
|
+
SCROLLBAR_CLASS,
|
|
4653
|
+
SCROLLBAR_TRACK_BG_CLASS,
|
|
4654
|
+
SCROLLBAR_TRACK_BORDER_CLASS
|
|
4655
|
+
),
|
|
4631
4656
|
style: { maxHeight: dropdownHeight },
|
|
4632
4657
|
onMouseLeave: () => setFocusedIndex(-1),
|
|
4633
4658
|
children: [
|