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/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 h-auto w-px self-stretch" : "block h-px w-full",
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: { backgroundColor: "var(--sys-color-divider-default, #E1E1E1)", ...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 ?? (dense ? DENSE_ROW_HEIGHT : DEFAULT_ROW_HEIGHT);
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 = dense ? "var(--cmp-table-body-paddingY-dense)" : "var(--cmp-table-body-paddingY-default)";
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 = dense ? "var(--cmp-table-body-dense-height)" : "var(--cmp-table-body-default-height)";
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
- (useDensityToggle || useRowsPerPageSelect) && /* @__PURE__ */ jsxs("div", { className: "absolute right-[10px] top-1/2 flex -translate-y-1/2 items-center gap-[12px]", children: [
11934
- useDensityToggle && // 라벨·아이콘은 현재 밀도가 아니라 **누르면 되는 상태**를 가리킨다 (dense 면 "넓게 보기").
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: dense ? "row" : "rowDense",
11951
+ icon: innerDense ? "row" : "rowDense",
11941
11952
  iconRotate: 90,
11942
11953
  iconColor: "var(--sys-color-fg-quaternary)",
11943
- label: dense ? "\uB113\uAC8C \uBCF4\uAE30" : "\uC881\uAC8C \uBCF4\uAE30",
11944
- onClick: () => onDenseChange?.(!dense)
11954
+ label: innerDense ? "\uB113\uAC8C \uBCF4\uAE30" : "\uC881\uAC8C \uBCF4\uAE30",
11955
+ onClick: () => changeDense(!innerDense)
11945
11956
  }
11946
11957
  ),
11947
- useDensityToggle && useRowsPerPageSelect && /* @__PURE__ */ jsx(SDivider, { vertical: true, className: "my-[6px]" }),
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
- className: "h-[var(--cmp-table-bar-divider-height)] self-center",
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,