sellmate-design-system-react 0.8.4 → 0.10.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/index.cjs CHANGED
@@ -5195,6 +5195,9 @@ var SGnb = react.forwardRef(function SGnb2({
5195
5195
  onFoldChange,
5196
5196
  onLauncherClick,
5197
5197
  logo,
5198
+ railFooter,
5199
+ menuFooter,
5200
+ foldedFooter,
5198
5201
  ariaLabel = "global navigation",
5199
5202
  className,
5200
5203
  style,
@@ -5348,7 +5351,7 @@ var SGnb = react.forwardRef(function SGnb2({
5348
5351
  className: "shrink-0"
5349
5352
  }
5350
5353
  ),
5351
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap flex flex-no-wrap items-center", children: [
5354
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap flex items-center", children: [
5352
5355
  depth > 1 && iconBranch ? /* @__PURE__ */ jsxRuntime.jsx(
5353
5356
  "div",
5354
5357
  {
@@ -5559,42 +5562,77 @@ var SGnb = react.forwardRef(function SGnb2({
5559
5562
  transition: `transform ${GNB_FOLD_MS}ms ease-out, ${hideAfterSlide(folded)}`
5560
5563
  },
5561
5564
  children: [
5562
- useRail && // 레일도 내비게이션 landmark nav 세워야 aria-label(레일) 스크린리더에 노출된다
5563
- // (role 없는 ul aria-label 영역명으로 읽히지 않는다). 메뉴 nav 와는 레이블로 구분된다.
5564
- /* @__PURE__ */ jsxRuntime.jsx(
5565
- "nav",
5565
+ useRail && // 레일 컬럼스크롤되는 아이템 목록(nav) 하단 고정 footer 를 한 컬럼에 담는다.
5566
+ // footer 내비게이션이 아니므로 nav(landmark) 밖에 두고, 컬럼 폭·구분선·배경은 래퍼가
5567
+ // 전체 높이에 걸쳐 책임진다(그래야 footer 자리까지 배경·오른쪽 선이 이어진다).
5568
+ /* @__PURE__ */ jsxRuntime.jsxs(
5569
+ "div",
5566
5570
  {
5567
- "aria-label": `${ariaLabel} rail`,
5568
- className: "flex shrink-0 flex-col overflow-y-auto",
5571
+ className: "flex shrink-0 flex-col overflow-hidden",
5569
5572
  style: {
5570
5573
  width: GNB_RAIL_WIDTH,
5571
- padding: GNB_RAIL.padding,
5572
5574
  borderRight: `1px solid ${C.topBorder}`,
5573
5575
  backgroundColor: C.panelBg,
5574
5576
  pointerEvents: "auto"
5575
5577
  },
5576
- children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "m-0 flex list-none flex-col p-0", style: { gap: GNB_RAIL.gap }, children: railItems.map(renderRailItem) })
5578
+ children: [
5579
+ /* @__PURE__ */ jsxRuntime.jsx(
5580
+ "nav",
5581
+ {
5582
+ "aria-label": `${ariaLabel} rail`,
5583
+ className: cn(
5584
+ "flex min-h-0 flex-1 flex-col overflow-x-hidden overflow-y-auto",
5585
+ SCROLLBAR_CLASS
5586
+ ),
5587
+ style: { padding: GNB_RAIL.padding },
5588
+ children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "m-0 flex list-none flex-col p-0", style: { gap: GNB_RAIL.gap }, children: railItems.map(renderRailItem) })
5589
+ }
5590
+ ),
5591
+ railFooter && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: railFooter })
5592
+ ]
5577
5593
  }
5578
5594
  ),
5579
- showMenu && /* @__PURE__ */ jsxRuntime.jsx(
5580
- "nav",
5595
+ showMenu && /* @__PURE__ */ jsxRuntime.jsxs(
5596
+ "div",
5581
5597
  {
5582
- "aria-label": ariaLabel,
5583
- className: "flex shrink-0 flex-col overflow-y-auto",
5598
+ className: "flex shrink-0 flex-col overflow-hidden",
5584
5599
  style: {
5585
5600
  width: GNB_MENU_WIDTH,
5586
- paddingTop: M.bodyPaddingY,
5587
- paddingBottom: M.bodyPaddingY,
5588
5601
  backgroundColor: C.panelBg,
5589
5602
  // full 은 상단바가 전폭이라 루트가 오른쪽 선을 못 그린다 → 메뉴 오른쪽(페이지 경계)이 대신 그린다.
5590
5603
  borderRight: header === "full" ? rightBorder : void 0,
5591
5604
  pointerEvents: "auto"
5592
5605
  },
5593
- children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "m-0 flex list-none flex-col p-0", children: menuItems.map((item) => renderItem(item, 1)) })
5606
+ children: [
5607
+ /* @__PURE__ */ jsxRuntime.jsx(
5608
+ "nav",
5609
+ {
5610
+ "aria-label": ariaLabel,
5611
+ className: cn(
5612
+ "flex min-h-0 flex-1 flex-col overflow-x-hidden overflow-y-auto",
5613
+ SCROLLBAR_CLASS
5614
+ ),
5615
+ style: {
5616
+ paddingTop: M.bodyPaddingY,
5617
+ paddingBottom: M.bodyPaddingY
5618
+ },
5619
+ children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "m-0 flex list-none flex-col p-0", children: menuItems.map((item) => renderItem(item, 1)) })
5620
+ }
5621
+ ),
5622
+ menuFooter && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: menuFooter })
5623
+ ]
5594
5624
  }
5595
5625
  )
5596
5626
  ]
5597
5627
  }
5628
+ ),
5629
+ railFolded && foldedFooter && /* @__PURE__ */ jsxRuntime.jsx(
5630
+ "div",
5631
+ {
5632
+ className: "flex shrink-0 items-center justify-center mb-[24px]",
5633
+ style: { pointerEvents: "auto" },
5634
+ children: foldedFooter
5635
+ }
5598
5636
  )
5599
5637
  ]
5600
5638
  }