sellmate-design-system-react 9.0.0-beta.21 → 9.0.0-beta.22
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/AGENTS.md +33 -10
- package/README.md +15 -14
- package/dist/components/SDivider/README.md +1 -0
- package/dist/components/SDivider/SDivider.d.ts +11 -0
- package/dist/components/STable/README.md +2 -3
- package/dist/components/STable/STable.d.ts +12 -12
- package/dist/index.cjs +30 -25
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +30 -25
- package/dist/index.js.map +1 -1
- package/dist/llms-full.txt +36 -13
- package/dist/llms.txt +33 -10
- package/dist/styles.css +20 -3
- package/eslint/index.mjs +4 -0
- package/eslint/rules/divider-vertical-height.mjs +137 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3944,7 +3944,8 @@ var SDraggableItemImpl = /* @__PURE__ */ forwardRef(function SDraggableItem({
|
|
|
3944
3944
|
] });
|
|
3945
3945
|
});
|
|
3946
3946
|
var SDraggableItem2 = /* @__PURE__ */ withDisplayName(SDraggableItemImpl, "SDraggableItem");
|
|
3947
|
-
var SDivider = /* @__PURE__ */ forwardRef(function SDivider2({ vertical = false, className, style, ...rest }, ref) {
|
|
3947
|
+
var SDivider = /* @__PURE__ */ forwardRef(function SDivider2({ vertical = false, height, className, style, ...rest }, ref) {
|
|
3948
|
+
const fixedHeight = vertical && height !== void 0;
|
|
3948
3949
|
return /* @__PURE__ */ jsx(
|
|
3949
3950
|
"hr",
|
|
3950
3951
|
{
|
|
@@ -3952,10 +3953,14 @@ var SDivider = /* @__PURE__ */ forwardRef(function SDivider2({ vertical = false,
|
|
|
3952
3953
|
"aria-orientation": vertical ? "vertical" : "horizontal",
|
|
3953
3954
|
className: cn(
|
|
3954
3955
|
"shrink-0 border-0",
|
|
3955
|
-
vertical ? "inline-block
|
|
3956
|
+
vertical ? cn("inline-block w-px", fixedHeight ? "self-center" : "h-auto self-stretch") : "block h-px w-full",
|
|
3956
3957
|
className
|
|
3957
3958
|
),
|
|
3958
|
-
style: {
|
|
3959
|
+
style: {
|
|
3960
|
+
backgroundColor: "var(--sys-color-divider-default, #E1E1E1)",
|
|
3961
|
+
...fixedHeight ? { height: typeof height === "number" ? `${height}px` : height } : null,
|
|
3962
|
+
...style
|
|
3963
|
+
},
|
|
3959
3964
|
...rest
|
|
3960
3965
|
}
|
|
3961
3966
|
);
|
|
@@ -11313,7 +11318,6 @@ var STable = /* @__PURE__ */ forwardRef(function STable2({
|
|
|
11313
11318
|
onPageChange,
|
|
11314
11319
|
useInternalPagination = false,
|
|
11315
11320
|
useRowsPerPageSelect = false,
|
|
11316
|
-
useDensityToggle = false,
|
|
11317
11321
|
rowsPerPageOption = DEFAULT_ROWS_PER_PAGE_OPTION,
|
|
11318
11322
|
onRowsPerPageChange,
|
|
11319
11323
|
useVirtualScroll = false,
|
|
@@ -11329,10 +11333,18 @@ var STable = /* @__PURE__ */ forwardRef(function STable2({
|
|
|
11329
11333
|
}, ref) {
|
|
11330
11334
|
const autoId = useId();
|
|
11331
11335
|
const resolvedTableId = tableId ?? autoId;
|
|
11336
|
+
const [innerDense, setInnerDense] = useState(dense);
|
|
11337
|
+
useEffect(() => {
|
|
11338
|
+
setInnerDense(dense);
|
|
11339
|
+
}, [dense]);
|
|
11340
|
+
const changeDense = (next) => {
|
|
11341
|
+
setInnerDense(next);
|
|
11342
|
+
onDenseChange?.(next);
|
|
11343
|
+
};
|
|
11332
11344
|
const visibleCols = useMemo(() => columns.filter((c) => c.visible !== false), [columns]);
|
|
11333
11345
|
const stickyLeft = stickyColumn?.left ?? 0;
|
|
11334
11346
|
const stickyRight = stickyColumn?.right ?? 0;
|
|
11335
|
-
const effectiveRowHeight = rowHeight ?? (
|
|
11347
|
+
const effectiveRowHeight = rowHeight ?? (innerDense ? DENSE_ROW_HEIGHT : DEFAULT_ROW_HEIGHT);
|
|
11336
11348
|
const colSignature = useMemo(
|
|
11337
11349
|
() => visibleCols.map((c) => `${c.name}:${c.width ?? ""}:${c.autoWidth ? 1 : 0}`).join("|"),
|
|
11338
11350
|
[visibleCols]
|
|
@@ -11562,9 +11574,9 @@ var STable = /* @__PURE__ */ forwardRef(function STable2({
|
|
|
11562
11574
|
else onSelectedChange?.([...selected, row]);
|
|
11563
11575
|
};
|
|
11564
11576
|
const radiusClass = radius === "full" ? "rounded-none" : radius === "useTop" ? "rounded-b-[var(--cmp-table-radius)] rounded-t-none" : "rounded-[var(--cmp-table-radius)]";
|
|
11565
|
-
const cellPadY =
|
|
11577
|
+
const cellPadY = innerDense ? "var(--cmp-table-body-paddingY-dense)" : "var(--cmp-table-body-paddingY-default)";
|
|
11566
11578
|
const cellPadXOf = (col) => col.contentType === "control" ? "var(--cmp-table-body-paddingX-default)" : "var(--cmp-table-body-paddingX-wide)";
|
|
11567
|
-
const rowH =
|
|
11579
|
+
const rowH = innerDense ? "var(--cmp-table-body-dense-height)" : "var(--cmp-table-body-default-height)";
|
|
11568
11580
|
const totalColSpan = visibleCols.length + (selectable ? 1 : 0);
|
|
11569
11581
|
const stickyInfo = (i) => {
|
|
11570
11582
|
const isLeft = i < stickyLeft;
|
|
@@ -11916,10 +11928,11 @@ var STable = /* @__PURE__ */ forwardRef(function STable2({
|
|
|
11916
11928
|
]
|
|
11917
11929
|
}
|
|
11918
11930
|
),
|
|
11919
|
-
showPagination && // 원본 sd-table__pagination: 테이블 하단에 이어붙는 회색 바(높이 48px, margin-top:-1px로 테두리 겹침).
|
|
11931
|
+
(showPagination || dense) && // 원본 sd-table__pagination: 테이블 하단에 이어붙는 회색 바(높이 48px, margin-top:-1px로 테두리 겹침).
|
|
11920
11932
|
// SPagination은 전체 폭 기준 중앙, rows-per-page SSelect는 우측에 absolute 배치해 중앙 정렬을 유지한다.
|
|
11921
11933
|
// 루트 높이가 확정된 경우(테이블이 남은 영역을 채우는 배치) 페이지네이션 바가
|
|
11922
11934
|
// 눌리지 않도록 shrink-0으로 48px를 보장한다.
|
|
11935
|
+
// 페이지네이션이 없어도 dense 면 이 바를 그린다 — 밀도 토글이 사는 곳이 여기다.
|
|
11923
11936
|
/* @__PURE__ */ jsxs(
|
|
11924
11937
|
"div",
|
|
11925
11938
|
{
|
|
@@ -11929,22 +11942,20 @@ var STable = /* @__PURE__ */ forwardRef(function STable2({
|
|
|
11929
11942
|
bordered && "-mt-px border border-solid border-[color:var(--cmp-table-border-color)]"
|
|
11930
11943
|
),
|
|
11931
11944
|
children: [
|
|
11932
|
-
/* @__PURE__ */ jsx(SPagination, { currentPage: displayPage, lastPage, onPageChange: changePage }),
|
|
11933
|
-
(
|
|
11934
|
-
|
|
11935
|
-
// row·rowDense 는 세로 막대라 90도 돌려 가로 행으로 쓴다.
|
|
11936
|
-
/* @__PURE__ */ jsx(
|
|
11945
|
+
showPagination && /* @__PURE__ */ jsx(SPagination, { currentPage: displayPage, lastPage, onPageChange: changePage }),
|
|
11946
|
+
(dense || useRowsPerPageSelect) && /* @__PURE__ */ jsxs("div", { className: "absolute right-[10px] top-1/2 flex -translate-y-1/2 items-center gap-[12px]", children: [
|
|
11947
|
+
dense && /* @__PURE__ */ jsx(
|
|
11937
11948
|
STextLink,
|
|
11938
11949
|
{
|
|
11939
11950
|
size: "sm",
|
|
11940
|
-
icon:
|
|
11951
|
+
icon: innerDense ? "row" : "rowDense",
|
|
11941
11952
|
iconRotate: 90,
|
|
11942
11953
|
iconColor: "var(--sys-color-fg-quaternary)",
|
|
11943
|
-
label:
|
|
11944
|
-
onClick: () =>
|
|
11954
|
+
label: innerDense ? "\uB113\uAC8C \uBCF4\uAE30" : "\uC881\uAC8C \uBCF4\uAE30",
|
|
11955
|
+
onClick: () => changeDense(!innerDense)
|
|
11945
11956
|
}
|
|
11946
11957
|
),
|
|
11947
|
-
|
|
11958
|
+
dense && useRowsPerPageSelect && /* @__PURE__ */ jsx(SDivider, { vertical: true, className: "my-[6px]" }),
|
|
11948
11959
|
useRowsPerPageSelect && /* @__PURE__ */ jsx(
|
|
11949
11960
|
SSelect2,
|
|
11950
11961
|
{
|
|
@@ -12007,7 +12018,7 @@ var STableBar = /* @__PURE__ */ forwardRef(function STableBar2({ total, selected
|
|
|
12007
12018
|
SDivider,
|
|
12008
12019
|
{
|
|
12009
12020
|
vertical: true,
|
|
12010
|
-
|
|
12021
|
+
height: "var(--cmp-table-bar-divider-height)",
|
|
12011
12022
|
style: { backgroundColor: "var(--cmp-table-border-color)" }
|
|
12012
12023
|
}
|
|
12013
12024
|
),
|
|
@@ -12932,13 +12943,7 @@ function SCalendar({
|
|
|
12932
12943
|
}
|
|
12933
12944
|
)
|
|
12934
12945
|
] }),
|
|
12935
|
-
/* @__PURE__ */ jsx(
|
|
12936
|
-
SDivider,
|
|
12937
|
-
{
|
|
12938
|
-
vertical: true,
|
|
12939
|
-
className: "h-[var(--cmp-datepicker-calendar-header-divider-height)] self-center"
|
|
12940
|
-
}
|
|
12941
|
-
),
|
|
12946
|
+
/* @__PURE__ */ jsx(SDivider, { vertical: true, height: "var(--cmp-datepicker-calendar-header-divider-height)" }),
|
|
12942
12947
|
/* @__PURE__ */ jsxs("div", { className: "flex w-full items-center gap-[var(--cmp-datepicker-calendar-gap)]", children: [
|
|
12943
12948
|
/* @__PURE__ */ jsx(
|
|
12944
12949
|
SGhostButton,
|