sellmate-design-system-react 0.1.9 → 0.1.10
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 +1 -1
- package/dist/components/SBarcodeInput/SBarcodeInput.cjs.map +1 -1
- package/dist/components/SBarcodeInput/SBarcodeInput.js +1 -1
- package/dist/components/SBarcodeInput/SBarcodeInput.js.map +1 -1
- package/dist/components/SChipInput/SChipInput.cjs +1 -1
- package/dist/components/SChipInput/SChipInput.cjs.map +1 -1
- package/dist/components/SChipInput/SChipInput.js +1 -1
- package/dist/components/SChipInput/SChipInput.js.map +1 -1
- package/dist/components/SCircleProgress/SCircleProgress.cjs +69 -50
- package/dist/components/SCircleProgress/SCircleProgress.cjs.map +1 -1
- package/dist/components/SCircleProgress/SCircleProgress.d.ts +2 -0
- package/dist/components/SCircleProgress/SCircleProgress.js +69 -50
- package/dist/components/SCircleProgress/SCircleProgress.js.map +1 -1
- package/dist/components/SDatePicker/SDatePicker.cjs +1 -1
- package/dist/components/SDatePicker/SDatePicker.cjs.map +1 -1
- package/dist/components/SDatePicker/SDatePicker.js +1 -1
- package/dist/components/SDatePicker/SDatePicker.js.map +1 -1
- package/dist/components/SDateRangePicker/SDateRangePicker.cjs +1 -1
- package/dist/components/SDateRangePicker/SDateRangePicker.cjs.map +1 -1
- package/dist/components/SDateRangePicker/SDateRangePicker.js +1 -1
- package/dist/components/SDateRangePicker/SDateRangePicker.js.map +1 -1
- package/dist/components/SField/SField.cjs +1 -1
- package/dist/components/SField/SField.cjs.map +1 -1
- package/dist/components/SField/SField.js +1 -1
- package/dist/components/SField/SField.js.map +1 -1
- package/dist/components/SFilePicker/SFilePicker.cjs +36 -17
- package/dist/components/SFilePicker/SFilePicker.cjs.map +1 -1
- package/dist/components/SFilePicker/SFilePicker.d.ts +1 -1
- package/dist/components/SFilePicker/SFilePicker.js +35 -17
- package/dist/components/SFilePicker/SFilePicker.js.map +1 -1
- package/dist/components/SInput/SInput.cjs +1 -1
- package/dist/components/SInput/SInput.cjs.map +1 -1
- package/dist/components/SInput/SInput.js +1 -1
- package/dist/components/SInput/SInput.js.map +1 -1
- package/dist/components/SKeyValueTable/SKeyValueTable.cjs +43 -22
- package/dist/components/SKeyValueTable/SKeyValueTable.cjs.map +1 -1
- package/dist/components/SKeyValueTable/SKeyValueTable.js +43 -22
- package/dist/components/SKeyValueTable/SKeyValueTable.js.map +1 -1
- package/dist/components/SLoadingContainer/SLoadingContainer.cjs +69 -50
- package/dist/components/SLoadingContainer/SLoadingContainer.cjs.map +1 -1
- package/dist/components/SLoadingContainer/SLoadingContainer.js +69 -50
- package/dist/components/SLoadingContainer/SLoadingContainer.js.map +1 -1
- package/dist/components/SLoadingContainer/loading.cjs +69 -50
- package/dist/components/SLoadingContainer/loading.cjs.map +1 -1
- package/dist/components/SLoadingContainer/loading.js +69 -50
- package/dist/components/SLoadingContainer/loading.js.map +1 -1
- package/dist/components/SLoadingModal/SLoadingModal.cjs +72 -50
- package/dist/components/SLoadingModal/SLoadingModal.cjs.map +1 -1
- package/dist/components/SLoadingModal/SLoadingModal.d.ts +3 -1
- package/dist/components/SLoadingModal/SLoadingModal.js +72 -50
- package/dist/components/SLoadingModal/SLoadingModal.js.map +1 -1
- package/dist/components/SNumberInput/SNumberInput.cjs +1 -1
- package/dist/components/SNumberInput/SNumberInput.cjs.map +1 -1
- package/dist/components/SNumberInput/SNumberInput.js +1 -1
- package/dist/components/SNumberInput/SNumberInput.js.map +1 -1
- package/dist/components/SRadio/SRadioGroup.cjs +1 -1
- package/dist/components/SRadio/SRadioGroup.cjs.map +1 -1
- package/dist/components/SRadio/SRadioGroup.js +1 -1
- package/dist/components/SRadio/SRadioGroup.js.map +1 -1
- package/dist/components/SSelect/SSelect.cjs +8 -4
- package/dist/components/SSelect/SSelect.cjs.map +1 -1
- package/dist/components/SSelect/SSelect.js +8 -4
- package/dist/components/SSelect/SSelect.js.map +1 -1
- package/dist/components/STable/STable.cjs +82 -56
- package/dist/components/STable/STable.cjs.map +1 -1
- package/dist/components/STable/STable.js +82 -56
- package/dist/components/STable/STable.js.map +1 -1
- package/dist/components/STextarea/STextarea.cjs +1 -1
- package/dist/components/STextarea/STextarea.cjs.map +1 -1
- package/dist/components/STextarea/STextarea.js +1 -1
- package/dist/components/STextarea/STextarea.js.map +1 -1
- package/dist/components/STooltip/STooltip.cjs +1 -1
- package/dist/components/STooltip/STooltip.cjs.map +1 -1
- package/dist/components/STooltip/STooltip.js +1 -1
- package/dist/components/STooltip/STooltip.js.map +1 -1
- package/dist/index.cjs +120 -74
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +120 -74
- package/dist/index.js.map +1 -1
- package/dist/styles.css +62 -21
- package/dist/theme.css +45 -21
- package/package.json +1 -1
|
@@ -2935,12 +2935,35 @@ var COLOR_MAP = {
|
|
|
2935
2935
|
};
|
|
2936
2936
|
var clamp = (v) => Number.isFinite(v) ? Math.max(0, Math.min(100, v)) : 0;
|
|
2937
2937
|
var SCircleProgress = forwardRef(
|
|
2938
|
-
function SCircleProgress2({
|
|
2938
|
+
function SCircleProgress2({
|
|
2939
|
+
value = 0,
|
|
2940
|
+
type = "primary",
|
|
2941
|
+
indeterminate = false,
|
|
2942
|
+
label,
|
|
2943
|
+
innerValue = false,
|
|
2944
|
+
className,
|
|
2945
|
+
style
|
|
2946
|
+
}, ref) {
|
|
2939
2947
|
const v = clamp(value);
|
|
2940
2948
|
const colors = COLOR_MAP[type];
|
|
2941
2949
|
const c = VIEWBOX / 2;
|
|
2942
2950
|
const percentColor = v === 0 ? "var(--sys-color-fg-tertiary, #888888)" : colors.arc;
|
|
2943
2951
|
const filled = v / 100 * CIRCUMFERENCE;
|
|
2952
|
+
const showPercent = !indeterminate;
|
|
2953
|
+
const percentNode = /* @__PURE__ */ jsxs(
|
|
2954
|
+
"span",
|
|
2955
|
+
{
|
|
2956
|
+
className: cn(
|
|
2957
|
+
"text-center text-[16px] font-bold leading-[26px]",
|
|
2958
|
+
innerValue && "absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2"
|
|
2959
|
+
),
|
|
2960
|
+
style: { color: percentColor },
|
|
2961
|
+
children: [
|
|
2962
|
+
Math.round(v),
|
|
2963
|
+
"%"
|
|
2964
|
+
]
|
|
2965
|
+
}
|
|
2966
|
+
);
|
|
2944
2967
|
return /* @__PURE__ */ jsxs(
|
|
2945
2968
|
"div",
|
|
2946
2969
|
{
|
|
@@ -2951,57 +2974,53 @@ var SCircleProgress = forwardRef(
|
|
|
2951
2974
|
),
|
|
2952
2975
|
style,
|
|
2953
2976
|
children: [
|
|
2954
|
-
/* @__PURE__ */ jsxs(
|
|
2955
|
-
|
|
2956
|
-
|
|
2957
|
-
|
|
2958
|
-
|
|
2959
|
-
|
|
2960
|
-
|
|
2961
|
-
|
|
2962
|
-
"circle"
|
|
2963
|
-
{
|
|
2964
|
-
cx: c,
|
|
2965
|
-
cy: c,
|
|
2966
|
-
r: RADIUS,
|
|
2967
|
-
fill: "none",
|
|
2968
|
-
strokeWidth: STROKE,
|
|
2969
|
-
style: { stroke: colors.track }
|
|
2970
|
-
}
|
|
2977
|
+
/* @__PURE__ */ jsxs("div", { className: cn(innerValue && "relative"), children: [
|
|
2978
|
+
/* @__PURE__ */ jsxs(
|
|
2979
|
+
"svg",
|
|
2980
|
+
{
|
|
2981
|
+
viewBox: `0 0 ${VIEWBOX} ${VIEWBOX}`,
|
|
2982
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2983
|
+
className: cn(
|
|
2984
|
+
"h-[80px] w-[80px]",
|
|
2985
|
+
indeterminate && "origin-center animate-circle-spin"
|
|
2971
2986
|
),
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
"origin-center",
|
|
2983
|
-
indeterminate ? "animate-circle-arc" : "-rotate-90 transition-[stroke-dasharray] duration-[400ms] ease-linear"
|
|
2984
|
-
),
|
|
2985
|
-
style: {
|
|
2986
|
-
stroke: colors.arc,
|
|
2987
|
-
...indeterminate ? {} : { strokeDasharray: `${filled} ${CIRCUMFERENCE}`, strokeDashoffset: 0 }
|
|
2987
|
+
children: [
|
|
2988
|
+
/* @__PURE__ */ jsx(
|
|
2989
|
+
"circle",
|
|
2990
|
+
{
|
|
2991
|
+
cx: c,
|
|
2992
|
+
cy: c,
|
|
2993
|
+
r: RADIUS,
|
|
2994
|
+
fill: "none",
|
|
2995
|
+
strokeWidth: STROKE,
|
|
2996
|
+
style: { stroke: colors.track }
|
|
2988
2997
|
}
|
|
2989
|
-
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
|
|
2998
|
-
|
|
2999
|
-
|
|
3000
|
-
|
|
3001
|
-
|
|
3002
|
-
|
|
3003
|
-
|
|
3004
|
-
|
|
2998
|
+
),
|
|
2999
|
+
/* @__PURE__ */ jsx(
|
|
3000
|
+
"circle",
|
|
3001
|
+
{
|
|
3002
|
+
cx: c,
|
|
3003
|
+
cy: c,
|
|
3004
|
+
r: RADIUS,
|
|
3005
|
+
fill: "none",
|
|
3006
|
+
strokeWidth: STROKE,
|
|
3007
|
+
strokeLinecap: "round",
|
|
3008
|
+
className: cn(
|
|
3009
|
+
"origin-center",
|
|
3010
|
+
indeterminate ? "animate-circle-arc" : "-rotate-90 transition-[stroke-dasharray] duration-[400ms] ease-linear"
|
|
3011
|
+
),
|
|
3012
|
+
style: {
|
|
3013
|
+
stroke: colors.arc,
|
|
3014
|
+
...indeterminate ? {} : { strokeDasharray: `${filled} ${CIRCUMFERENCE}`, strokeDashoffset: 0 }
|
|
3015
|
+
}
|
|
3016
|
+
}
|
|
3017
|
+
)
|
|
3018
|
+
]
|
|
3019
|
+
}
|
|
3020
|
+
),
|
|
3021
|
+
showPercent && innerValue && percentNode
|
|
3022
|
+
] }),
|
|
3023
|
+
showPercent && !innerValue && percentNode,
|
|
3005
3024
|
label && /* @__PURE__ */ jsx("span", { className: "text-center text-[12px] font-normal leading-[20px] text-[color:var(--cmp-progress-color-label)]", children: label })
|
|
3006
3025
|
]
|
|
3007
3026
|
}
|
|
@@ -3367,7 +3386,7 @@ var STooltip = forwardRef(function STooltip2({
|
|
|
3367
3386
|
if (disabled || body == null) return /* @__PURE__ */ jsx(Fragment, { children: triggerNode });
|
|
3368
3387
|
const isHover = trigger === "hover";
|
|
3369
3388
|
const contentClass = cn(
|
|
3370
|
-
"z-50 max-w-xs rounded-[6px] px-[16px] py-[12px] text-[12px] leading-[20px]
|
|
3389
|
+
"z-50 max-w-xs rounded-[6px] px-[16px] py-[12px] text-[12px] leading-[20px]",
|
|
3371
3390
|
FLOATING_SLIDE_ANIM,
|
|
3372
3391
|
className
|
|
3373
3392
|
);
|
|
@@ -3969,7 +3988,7 @@ function ItemList({
|
|
|
3969
3988
|
isDepth1 ? "border-t border-solid border-[color:var(--cmp-listItem-depth1-border-color)] bg-[var(--cmp-listItem-depth1-bg-default)] font-bold" : "bg-[var(--cmp-listItem-depth2-middle-bg)] font-medium",
|
|
3970
3989
|
// 하위가 전부 비활성이면(select.config 에서 bubble-up) 어미 그룹도 비활성 처리:
|
|
3971
3990
|
// 텍스트는 회색(#888), depth1 그룹은 파란 배경 대신 회색(#EEE)으로 (depth2 는 #F6F6F6 유지)
|
|
3972
|
-
o.disabled && "text-[color:var(--cmp-listItem-content-disabled)]",
|
|
3991
|
+
o.disabled && "cursor-not-allowed text-[color:var(--cmp-listItem-content-disabled)]",
|
|
3973
3992
|
o.disabled && isDepth1 && "bg-[var(--cmp-listItem-depth1-bg-disabled)]"
|
|
3974
3993
|
),
|
|
3975
3994
|
style: { paddingLeft: padLeft },
|
|
@@ -3984,10 +4003,14 @@ function ItemList({
|
|
|
3984
4003
|
{
|
|
3985
4004
|
value: o.value,
|
|
3986
4005
|
disabled: o.disabled,
|
|
4006
|
+
accessibleWhenDisabled: true,
|
|
3987
4007
|
className: cn(
|
|
3988
4008
|
itemBase,
|
|
3989
4009
|
isSelected && !multi && "font-bold text-[color:var(--cmp-listItem-content-selected)]",
|
|
3990
|
-
|
|
4010
|
+
// Ariakit은 disabled 항목도 hover 시 active(data-active-item) 처리하므로,
|
|
4011
|
+
// 비활성 항목에는 hover 하이라이트를 적용하지 않아 회색 비활성 스타일을 유지한다.
|
|
4012
|
+
// (원본 Stencil의 `--focused...:not(--disabled)` 규칙과 동일한 의도)
|
|
4013
|
+
!o.disabled && activeClass
|
|
3991
4014
|
),
|
|
3992
4015
|
style: { paddingTop: 4, paddingBottom: 4, paddingRight: 12, paddingLeft: padLeft },
|
|
3993
4016
|
render: useSearch ? /* @__PURE__ */ jsx(Ariakit.ComboboxItem, {}) : void 0,
|
|
@@ -4000,7 +4023,7 @@ function ItemList({
|
|
|
4000
4023
|
"flex h-[16px] w-[16px] flex-shrink-0 items-center justify-center rounded-[2px] border border-solid",
|
|
4001
4024
|
o.disabled ? (
|
|
4002
4025
|
// 비활성: 회색 채움(#E1E1E1) + 회색 테두리(#CCCCCC)
|
|
4003
|
-
"border-[color:var(--cmp-checkbox-border-disabled)] bg-[var(--cmp-checkbox-bg-disabled)]"
|
|
4026
|
+
"cursor-not-allowed border-[color:var(--cmp-checkbox-border-disabled)] bg-[var(--cmp-checkbox-bg-disabled)]"
|
|
4004
4027
|
) : cn(
|
|
4005
4028
|
"group-data-[active-item]:border-[color:var(--cmp-checkbox-checked-border-inverse)]",
|
|
4006
4029
|
isSelected ? "border-[color:var(--cmp-checkbox-checked-bg-default)] bg-[var(--cmp-checkbox-checked-bg-default)] group-data-[active-item]:bg-transparent" : "border-[color:var(--cmp-checkbox-unchecked-border-default)] bg-transparent"
|
|
@@ -4302,7 +4325,8 @@ var STable = forwardRef(function STable2({
|
|
|
4302
4325
|
else onSelectedChange?.([...selected, row]);
|
|
4303
4326
|
};
|
|
4304
4327
|
const radiusClass = radius === "full" ? "rounded-none" : radius === "useTop" ? "rounded-b-[var(--cmp-table-radius)] rounded-t-none" : "rounded-[var(--cmp-table-radius)]";
|
|
4305
|
-
const cellPadY = dense ? "var(--cmp-table-body-dense
|
|
4328
|
+
const cellPadY = dense ? "var(--cmp-table-body-paddingY-dense)" : "var(--cmp-table-body-paddingY-default)";
|
|
4329
|
+
const cellPadX = dense ? "var(--cmp-table-body-paddingX-default)" : "var(--cmp-table-body-paddingX-wide)";
|
|
4306
4330
|
const rowH = dense ? "var(--cmp-table-body-dense-height)" : "var(--cmp-table-body-default-height)";
|
|
4307
4331
|
const totalColSpan = visibleCols.length + (selectable ? 1 : 0);
|
|
4308
4332
|
const stickyInfo = (i) => {
|
|
@@ -4477,13 +4501,15 @@ var STable = forwardRef(function STable2({
|
|
|
4477
4501
|
className: cn(
|
|
4478
4502
|
// 원본 .td: 컬럼 폭에 맞춰 내용 말줄임(overflow hidden + ellipsis) + 행 구분선(border-b)
|
|
4479
4503
|
// 셀 배경은 흰색으로 채워 뒤 배경이 비치지 않게 하고, hover 시 행 배경(grey_05)을 따른다.
|
|
4480
|
-
"overflow-hidden text-ellipsis whitespace-nowrap border-b border-solid border-[color:var(--cmp-table-border-color)]
|
|
4504
|
+
"overflow-hidden text-ellipsis whitespace-nowrap border-b border-solid border-[color:var(--cmp-table-border-color)] text-[12px] leading-[20px] text-[color:var(--sys-color-fg-primary)]",
|
|
4481
4505
|
rowBg,
|
|
4482
4506
|
"group-hover:bg-[var(--color-grey-05)]",
|
|
4483
4507
|
stickyShadowClass(i),
|
|
4484
4508
|
col.tdClass
|
|
4485
4509
|
),
|
|
4486
4510
|
style: {
|
|
4511
|
+
paddingLeft: cellPadX,
|
|
4512
|
+
paddingRight: cellPadX,
|
|
4487
4513
|
paddingTop: cellPadY,
|
|
4488
4514
|
paddingBottom: cellPadY,
|
|
4489
4515
|
textAlign: col.align ?? "left",
|