sellmate-design-system-react 0.8.4 → 0.9.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.js CHANGED
@@ -5167,6 +5167,9 @@ var SGnb = forwardRef(function SGnb2({
5167
5167
  onFoldChange,
5168
5168
  onLauncherClick,
5169
5169
  logo,
5170
+ railFooter,
5171
+ menuFooter,
5172
+ foldedFooter,
5170
5173
  ariaLabel = "global navigation",
5171
5174
  className,
5172
5175
  style,
@@ -5320,7 +5323,7 @@ var SGnb = forwardRef(function SGnb2({
5320
5323
  className: "shrink-0"
5321
5324
  }
5322
5325
  ),
5323
- /* @__PURE__ */ jsxs("span", { className: "min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap flex flex-no-wrap items-center", children: [
5326
+ /* @__PURE__ */ jsxs("span", { className: "min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap flex items-center", children: [
5324
5327
  depth > 1 && iconBranch ? /* @__PURE__ */ jsx(
5325
5328
  "div",
5326
5329
  {
@@ -5531,42 +5534,77 @@ var SGnb = forwardRef(function SGnb2({
5531
5534
  transition: `transform ${GNB_FOLD_MS}ms ease-out, ${hideAfterSlide(folded)}`
5532
5535
  },
5533
5536
  children: [
5534
- useRail && // 레일도 내비게이션 landmark nav 세워야 aria-label(레일) 스크린리더에 노출된다
5535
- // (role 없는 ul aria-label 영역명으로 읽히지 않는다). 메뉴 nav 와는 레이블로 구분된다.
5536
- /* @__PURE__ */ jsx(
5537
- "nav",
5537
+ useRail && // 레일 컬럼스크롤되는 아이템 목록(nav) 하단 고정 footer 를 한 컬럼에 담는다.
5538
+ // footer 내비게이션이 아니므로 nav(landmark) 밖에 두고, 컬럼 폭·구분선·배경은 래퍼가
5539
+ // 전체 높이에 걸쳐 책임진다(그래야 footer 자리까지 배경·오른쪽 선이 이어진다).
5540
+ /* @__PURE__ */ jsxs(
5541
+ "div",
5538
5542
  {
5539
- "aria-label": `${ariaLabel} rail`,
5540
- className: "flex shrink-0 flex-col overflow-y-auto",
5543
+ className: "flex shrink-0 flex-col overflow-hidden",
5541
5544
  style: {
5542
5545
  width: GNB_RAIL_WIDTH,
5543
- padding: GNB_RAIL.padding,
5544
5546
  borderRight: `1px solid ${C.topBorder}`,
5545
5547
  backgroundColor: C.panelBg,
5546
5548
  pointerEvents: "auto"
5547
5549
  },
5548
- children: /* @__PURE__ */ jsx("ul", { className: "m-0 flex list-none flex-col p-0", style: { gap: GNB_RAIL.gap }, children: railItems.map(renderRailItem) })
5550
+ children: [
5551
+ /* @__PURE__ */ jsx(
5552
+ "nav",
5553
+ {
5554
+ "aria-label": `${ariaLabel} rail`,
5555
+ className: cn(
5556
+ "flex min-h-0 flex-1 flex-col overflow-x-hidden overflow-y-auto",
5557
+ SCROLLBAR_CLASS
5558
+ ),
5559
+ style: { padding: GNB_RAIL.padding },
5560
+ children: /* @__PURE__ */ jsx("ul", { className: "m-0 flex list-none flex-col p-0", style: { gap: GNB_RAIL.gap }, children: railItems.map(renderRailItem) })
5561
+ }
5562
+ ),
5563
+ railFooter && /* @__PURE__ */ jsx("div", { className: "shrink-0", children: railFooter })
5564
+ ]
5549
5565
  }
5550
5566
  ),
5551
- showMenu && /* @__PURE__ */ jsx(
5552
- "nav",
5567
+ showMenu && /* @__PURE__ */ jsxs(
5568
+ "div",
5553
5569
  {
5554
- "aria-label": ariaLabel,
5555
- className: "flex shrink-0 flex-col overflow-y-auto",
5570
+ className: "flex shrink-0 flex-col overflow-hidden",
5556
5571
  style: {
5557
5572
  width: GNB_MENU_WIDTH,
5558
- paddingTop: M.bodyPaddingY,
5559
- paddingBottom: M.bodyPaddingY,
5560
5573
  backgroundColor: C.panelBg,
5561
5574
  // full 은 상단바가 전폭이라 루트가 오른쪽 선을 못 그린다 → 메뉴 오른쪽(페이지 경계)이 대신 그린다.
5562
5575
  borderRight: header === "full" ? rightBorder : void 0,
5563
5576
  pointerEvents: "auto"
5564
5577
  },
5565
- children: /* @__PURE__ */ jsx("ul", { className: "m-0 flex list-none flex-col p-0", children: menuItems.map((item) => renderItem(item, 1)) })
5578
+ children: [
5579
+ /* @__PURE__ */ jsx(
5580
+ "nav",
5581
+ {
5582
+ "aria-label": ariaLabel,
5583
+ className: cn(
5584
+ "flex min-h-0 flex-1 flex-col overflow-x-hidden overflow-y-auto",
5585
+ SCROLLBAR_CLASS
5586
+ ),
5587
+ style: {
5588
+ paddingTop: M.bodyPaddingY,
5589
+ paddingBottom: M.bodyPaddingY
5590
+ },
5591
+ children: /* @__PURE__ */ jsx("ul", { className: "m-0 flex list-none flex-col p-0", children: menuItems.map((item) => renderItem(item, 1)) })
5592
+ }
5593
+ ),
5594
+ menuFooter && /* @__PURE__ */ jsx("div", { className: "shrink-0", children: menuFooter })
5595
+ ]
5566
5596
  }
5567
5597
  )
5568
5598
  ]
5569
5599
  }
5600
+ ),
5601
+ railFolded && foldedFooter && /* @__PURE__ */ jsx(
5602
+ "div",
5603
+ {
5604
+ className: "flex shrink-0 items-center justify-center mb-[24px]",
5605
+ style: { pointerEvents: "auto" },
5606
+ children: foldedFooter
5607
+ }
5570
5608
  )
5571
5609
  ]
5572
5610
  }