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
|
@@ -2959,12 +2959,35 @@ var COLOR_MAP = {
|
|
|
2959
2959
|
};
|
|
2960
2960
|
var clamp = (v) => Number.isFinite(v) ? Math.max(0, Math.min(100, v)) : 0;
|
|
2961
2961
|
var SCircleProgress = react.forwardRef(
|
|
2962
|
-
function SCircleProgress2({
|
|
2962
|
+
function SCircleProgress2({
|
|
2963
|
+
value = 0,
|
|
2964
|
+
type = "primary",
|
|
2965
|
+
indeterminate = false,
|
|
2966
|
+
label,
|
|
2967
|
+
innerValue = false,
|
|
2968
|
+
className,
|
|
2969
|
+
style
|
|
2970
|
+
}, ref) {
|
|
2963
2971
|
const v = clamp(value);
|
|
2964
2972
|
const colors = COLOR_MAP[type];
|
|
2965
2973
|
const c = VIEWBOX / 2;
|
|
2966
2974
|
const percentColor = v === 0 ? "var(--sys-color-fg-tertiary, #888888)" : colors.arc;
|
|
2967
2975
|
const filled = v / 100 * CIRCUMFERENCE;
|
|
2976
|
+
const showPercent = !indeterminate;
|
|
2977
|
+
const percentNode = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2978
|
+
"span",
|
|
2979
|
+
{
|
|
2980
|
+
className: cn(
|
|
2981
|
+
"text-center text-[16px] font-bold leading-[26px]",
|
|
2982
|
+
innerValue && "absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2"
|
|
2983
|
+
),
|
|
2984
|
+
style: { color: percentColor },
|
|
2985
|
+
children: [
|
|
2986
|
+
Math.round(v),
|
|
2987
|
+
"%"
|
|
2988
|
+
]
|
|
2989
|
+
}
|
|
2990
|
+
);
|
|
2968
2991
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2969
2992
|
"div",
|
|
2970
2993
|
{
|
|
@@ -2975,57 +2998,53 @@ var SCircleProgress = react.forwardRef(
|
|
|
2975
2998
|
),
|
|
2976
2999
|
style,
|
|
2977
3000
|
children: [
|
|
2978
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
"circle"
|
|
2987
|
-
{
|
|
2988
|
-
cx: c,
|
|
2989
|
-
cy: c,
|
|
2990
|
-
r: RADIUS,
|
|
2991
|
-
fill: "none",
|
|
2992
|
-
strokeWidth: STROKE,
|
|
2993
|
-
style: { stroke: colors.track }
|
|
2994
|
-
}
|
|
3001
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(innerValue && "relative"), children: [
|
|
3002
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3003
|
+
"svg",
|
|
3004
|
+
{
|
|
3005
|
+
viewBox: `0 0 ${VIEWBOX} ${VIEWBOX}`,
|
|
3006
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3007
|
+
className: cn(
|
|
3008
|
+
"h-[80px] w-[80px]",
|
|
3009
|
+
indeterminate && "origin-center animate-circle-spin"
|
|
2995
3010
|
),
|
|
2996
|
-
|
|
2997
|
-
|
|
2998
|
-
|
|
2999
|
-
|
|
3000
|
-
|
|
3001
|
-
|
|
3002
|
-
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
"origin-center",
|
|
3007
|
-
indeterminate ? "animate-circle-arc" : "-rotate-90 transition-[stroke-dasharray] duration-[400ms] ease-linear"
|
|
3008
|
-
),
|
|
3009
|
-
style: {
|
|
3010
|
-
stroke: colors.arc,
|
|
3011
|
-
...indeterminate ? {} : { strokeDasharray: `${filled} ${CIRCUMFERENCE}`, strokeDashoffset: 0 }
|
|
3011
|
+
children: [
|
|
3012
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3013
|
+
"circle",
|
|
3014
|
+
{
|
|
3015
|
+
cx: c,
|
|
3016
|
+
cy: c,
|
|
3017
|
+
r: RADIUS,
|
|
3018
|
+
fill: "none",
|
|
3019
|
+
strokeWidth: STROKE,
|
|
3020
|
+
style: { stroke: colors.track }
|
|
3012
3021
|
}
|
|
3013
|
-
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
|
|
3027
|
-
|
|
3028
|
-
|
|
3022
|
+
),
|
|
3023
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3024
|
+
"circle",
|
|
3025
|
+
{
|
|
3026
|
+
cx: c,
|
|
3027
|
+
cy: c,
|
|
3028
|
+
r: RADIUS,
|
|
3029
|
+
fill: "none",
|
|
3030
|
+
strokeWidth: STROKE,
|
|
3031
|
+
strokeLinecap: "round",
|
|
3032
|
+
className: cn(
|
|
3033
|
+
"origin-center",
|
|
3034
|
+
indeterminate ? "animate-circle-arc" : "-rotate-90 transition-[stroke-dasharray] duration-[400ms] ease-linear"
|
|
3035
|
+
),
|
|
3036
|
+
style: {
|
|
3037
|
+
stroke: colors.arc,
|
|
3038
|
+
...indeterminate ? {} : { strokeDasharray: `${filled} ${CIRCUMFERENCE}`, strokeDashoffset: 0 }
|
|
3039
|
+
}
|
|
3040
|
+
}
|
|
3041
|
+
)
|
|
3042
|
+
]
|
|
3043
|
+
}
|
|
3044
|
+
),
|
|
3045
|
+
showPercent && innerValue && percentNode
|
|
3046
|
+
] }),
|
|
3047
|
+
showPercent && !innerValue && percentNode,
|
|
3029
3048
|
label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-center text-[12px] font-normal leading-[20px] text-[color:var(--cmp-progress-color-label)]", children: label })
|
|
3030
3049
|
]
|
|
3031
3050
|
}
|
|
@@ -3391,7 +3410,7 @@ var STooltip = react.forwardRef(function STooltip2({
|
|
|
3391
3410
|
if (disabled || body == null) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: triggerNode });
|
|
3392
3411
|
const isHover = trigger === "hover";
|
|
3393
3412
|
const contentClass = cn(
|
|
3394
|
-
"z-50 max-w-xs rounded-[6px] px-[16px] py-[12px] text-[12px] leading-[20px]
|
|
3413
|
+
"z-50 max-w-xs rounded-[6px] px-[16px] py-[12px] text-[12px] leading-[20px]",
|
|
3395
3414
|
FLOATING_SLIDE_ANIM,
|
|
3396
3415
|
className
|
|
3397
3416
|
);
|
|
@@ -3993,7 +4012,7 @@ function ItemList({
|
|
|
3993
4012
|
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",
|
|
3994
4013
|
// 하위가 전부 비활성이면(select.config 에서 bubble-up) 어미 그룹도 비활성 처리:
|
|
3995
4014
|
// 텍스트는 회색(#888), depth1 그룹은 파란 배경 대신 회색(#EEE)으로 (depth2 는 #F6F6F6 유지)
|
|
3996
|
-
o.disabled && "text-[color:var(--cmp-listItem-content-disabled)]",
|
|
4015
|
+
o.disabled && "cursor-not-allowed text-[color:var(--cmp-listItem-content-disabled)]",
|
|
3997
4016
|
o.disabled && isDepth1 && "bg-[var(--cmp-listItem-depth1-bg-disabled)]"
|
|
3998
4017
|
),
|
|
3999
4018
|
style: { paddingLeft: padLeft },
|
|
@@ -4008,10 +4027,14 @@ function ItemList({
|
|
|
4008
4027
|
{
|
|
4009
4028
|
value: o.value,
|
|
4010
4029
|
disabled: o.disabled,
|
|
4030
|
+
accessibleWhenDisabled: true,
|
|
4011
4031
|
className: cn(
|
|
4012
4032
|
itemBase,
|
|
4013
4033
|
isSelected && !multi && "font-bold text-[color:var(--cmp-listItem-content-selected)]",
|
|
4014
|
-
|
|
4034
|
+
// Ariakit은 disabled 항목도 hover 시 active(data-active-item) 처리하므로,
|
|
4035
|
+
// 비활성 항목에는 hover 하이라이트를 적용하지 않아 회색 비활성 스타일을 유지한다.
|
|
4036
|
+
// (원본 Stencil의 `--focused...:not(--disabled)` 규칙과 동일한 의도)
|
|
4037
|
+
!o.disabled && activeClass
|
|
4015
4038
|
),
|
|
4016
4039
|
style: { paddingTop: 4, paddingBottom: 4, paddingRight: 12, paddingLeft: padLeft },
|
|
4017
4040
|
render: useSearch ? /* @__PURE__ */ jsxRuntime.jsx(Ariakit__namespace.ComboboxItem, {}) : void 0,
|
|
@@ -4024,7 +4047,7 @@ function ItemList({
|
|
|
4024
4047
|
"flex h-[16px] w-[16px] flex-shrink-0 items-center justify-center rounded-[2px] border border-solid",
|
|
4025
4048
|
o.disabled ? (
|
|
4026
4049
|
// 비활성: 회색 채움(#E1E1E1) + 회색 테두리(#CCCCCC)
|
|
4027
|
-
"border-[color:var(--cmp-checkbox-border-disabled)] bg-[var(--cmp-checkbox-bg-disabled)]"
|
|
4050
|
+
"cursor-not-allowed border-[color:var(--cmp-checkbox-border-disabled)] bg-[var(--cmp-checkbox-bg-disabled)]"
|
|
4028
4051
|
) : cn(
|
|
4029
4052
|
"group-data-[active-item]:border-[color:var(--cmp-checkbox-checked-border-inverse)]",
|
|
4030
4053
|
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"
|
|
@@ -4326,7 +4349,8 @@ var STable = react.forwardRef(function STable2({
|
|
|
4326
4349
|
else onSelectedChange?.([...selected, row]);
|
|
4327
4350
|
};
|
|
4328
4351
|
const radiusClass = radius === "full" ? "rounded-none" : radius === "useTop" ? "rounded-b-[var(--cmp-table-radius)] rounded-t-none" : "rounded-[var(--cmp-table-radius)]";
|
|
4329
|
-
const cellPadY = dense ? "var(--cmp-table-body-dense
|
|
4352
|
+
const cellPadY = dense ? "var(--cmp-table-body-paddingY-dense)" : "var(--cmp-table-body-paddingY-default)";
|
|
4353
|
+
const cellPadX = dense ? "var(--cmp-table-body-paddingX-default)" : "var(--cmp-table-body-paddingX-wide)";
|
|
4330
4354
|
const rowH = dense ? "var(--cmp-table-body-dense-height)" : "var(--cmp-table-body-default-height)";
|
|
4331
4355
|
const totalColSpan = visibleCols.length + (selectable ? 1 : 0);
|
|
4332
4356
|
const stickyInfo = (i) => {
|
|
@@ -4501,13 +4525,15 @@ var STable = react.forwardRef(function STable2({
|
|
|
4501
4525
|
className: cn(
|
|
4502
4526
|
// 원본 .td: 컬럼 폭에 맞춰 내용 말줄임(overflow hidden + ellipsis) + 행 구분선(border-b)
|
|
4503
4527
|
// 셀 배경은 흰색으로 채워 뒤 배경이 비치지 않게 하고, hover 시 행 배경(grey_05)을 따른다.
|
|
4504
|
-
"overflow-hidden text-ellipsis whitespace-nowrap border-b border-solid border-[color:var(--cmp-table-border-color)]
|
|
4528
|
+
"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)]",
|
|
4505
4529
|
rowBg,
|
|
4506
4530
|
"group-hover:bg-[var(--color-grey-05)]",
|
|
4507
4531
|
stickyShadowClass(i),
|
|
4508
4532
|
col.tdClass
|
|
4509
4533
|
),
|
|
4510
4534
|
style: {
|
|
4535
|
+
paddingLeft: cellPadX,
|
|
4536
|
+
paddingRight: cellPadX,
|
|
4511
4537
|
paddingTop: cellPadY,
|
|
4512
4538
|
paddingBottom: cellPadY,
|
|
4513
4539
|
textAlign: col.align ?? "left",
|