@hivcd-printshop/design-system 1.3.0 → 1.3.2

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.mjs CHANGED
@@ -208,8 +208,8 @@ var IconRadioSelected = ({
208
208
  fill: "none",
209
209
  xmlns: "http://www.w3.org/2000/svg",
210
210
  children: [
211
- /* @__PURE__ */ jsx("circle", { cx: "8", cy: "8", r: "7", stroke: stroke || "#121212" }),
212
- /* @__PURE__ */ jsx("circle", { cx: "8", cy: "8", r: "4", fill: fill || "#121212" })
211
+ /* @__PURE__ */ jsx("circle", { cx: "8", cy: "8", r: "7", stroke: stroke || "#121212", strokeWidth: "1.5" }),
212
+ /* @__PURE__ */ jsx("circle", { cx: "8", cy: "8", r: "3.5", fill: fill || "#121212" })
213
213
  ]
214
214
  }
215
215
  );
@@ -227,7 +227,7 @@ var IconRadioUnselected = ({
227
227
  viewBox: "0 0 16 16",
228
228
  fill: "none",
229
229
  xmlns: "http://www.w3.org/2000/svg",
230
- children: /* @__PURE__ */ jsx("circle", { cx: "8", cy: "8", r: "7", stroke: stroke || "#B4B9C2" })
230
+ children: /* @__PURE__ */ jsx("circle", { cx: "8", cy: "8", r: "7", stroke: stroke || "#505865", strokeWidth: "1.5" })
231
231
  }
232
232
  );
233
233
  };
@@ -1422,6 +1422,7 @@ var RadioToggleItem = ({
1422
1422
  className,
1423
1423
  labelTextButton,
1424
1424
  onClickTextButton,
1425
+ textButtonIcon = false,
1425
1426
  open,
1426
1427
  onSelect
1427
1428
  }) => {
@@ -1435,7 +1436,7 @@ var RadioToggleItem = ({
1435
1436
  onClick: onSelect,
1436
1437
  style,
1437
1438
  className: cn(
1438
- "group w-full flex items-center gap-1.5 p-3",
1439
+ "group w-full flex items-center p-3",
1439
1440
  "text-body1-regular text-left cursor-pointer",
1440
1441
  open ? "text-strong" : "text-secondary",
1441
1442
  rowBg,
@@ -1455,7 +1456,7 @@ var RadioToggleItem = ({
1455
1456
  {
1456
1457
  label: labelTextButton,
1457
1458
  onClick: onClickTextButton,
1458
- showIcon: true,
1459
+ showIcon: textButtonIcon,
1459
1460
  className: "self-end"
1460
1461
  }
1461
1462
  )
@@ -1465,8 +1466,9 @@ var RadioToggleItem = ({
1465
1466
  var Radio = ({ selected = false, className }) => {
1466
1467
  const Icon = selected ? IconRadioSelected : IconRadioUnselected;
1467
1468
  return (
1468
- // 디자인 스펙(Figma "radio" 5:781): 아이콘 자체 색은 고정, hover/pressed 시
1469
- // 24px 원형 배경 칩만 나타난다(gray00/gray01). 부모 버튼의 group-hover/active로 동기화.
1469
+ // 디자인 스펙(Figma "radio" 5:781): 24px 히트 영역 안에 10px 원만 중앙에 그려진다.
1470
+ // 아이콘 자체 색은 고정, hover/pressed 시 24px 원형 배경 칩만 나타난다(gray00/gray01).
1471
+ // 부모 버튼의 group-hover/active로 동기화.
1470
1472
  /* @__PURE__ */ jsx34(
1471
1473
  "span",
1472
1474
  {
@@ -1475,7 +1477,7 @@ var Radio = ({ selected = false, className }) => {
1475
1477
  "group-hover:bg-gray00 group-active:bg-gray01",
1476
1478
  className
1477
1479
  ),
1478
- children: /* @__PURE__ */ jsx34(Icon, { className: "size-6" })
1480
+ children: /* @__PURE__ */ jsx34(Icon, { className: "size-2.5" })
1479
1481
  }
1480
1482
  )
1481
1483
  );
@@ -1620,11 +1622,7 @@ var WeekNavigation = forwardRef3(
1620
1622
  var ArrowButton = ({ direction, visible, onClick }) => {
1621
1623
  const divider = /* @__PURE__ */ jsx36("span", { "aria-hidden": true, className: "w-px self-stretch bg-gray02" });
1622
1624
  if (!visible) {
1623
- return /* @__PURE__ */ jsxs20("div", { className: "flex items-stretch", children: [
1624
- direction === "right" && divider,
1625
- /* @__PURE__ */ jsx36("span", { className: "w-[42px]" }),
1626
- direction === "left" && divider
1627
- ] });
1625
+ return /* @__PURE__ */ jsx36("span", { "aria-hidden": true, className: "w-[43px]" });
1628
1626
  }
1629
1627
  return /* @__PURE__ */ jsxs20("div", { className: "flex items-stretch", children: [
1630
1628
  direction === "right" && divider,
@@ -1687,7 +1685,7 @@ var Timetable = forwardRef4(function Timetable2({
1687
1685
  onNextWeek
1688
1686
  }
1689
1687
  ),
1690
- /* @__PURE__ */ jsx37("div", { className: cn("flex", fluid && "w-full"), children: days.map((day) => /* @__PURE__ */ jsx37(
1688
+ /* @__PURE__ */ jsx37("div", { className: cn("flex divide-x divide-gray02", fluid && "w-full"), children: days.map((day) => /* @__PURE__ */ jsx37(
1691
1689
  DailyTimetable,
1692
1690
  {
1693
1691
  date: day.date,
@@ -1702,19 +1700,24 @@ var Timetable = forwardRef4(function Timetable2({
1702
1700
  var DailyTimetable = ({ date, slots, fluid, onSelectTime, className }) => {
1703
1701
  return /* @__PURE__ */ jsxs21("div", { className: cn("flex flex-col", fluid ? "flex-1 min-w-0" : "w-18", className), children: [
1704
1702
  /* @__PURE__ */ jsx37("div", { className: "h-12 flex items-center justify-center border-b border-gray02 text-body1-regular text-secondary", children: formatDayLabel(date) }),
1705
- slots.map((slot) => /* @__PURE__ */ jsx37(
1706
- TimeItem,
1707
- {
1708
- state: slot.state,
1709
- label: slot.time,
1710
- printColor: slot.printColor,
1711
- color: slot.color,
1712
- fluid,
1713
- className: slot.className,
1714
- onClick: onSelectTime ? () => onSelectTime(slot.time) : void 0
1715
- },
1716
- slot.time
1717
- ))
1703
+ slots.map((slot, index) => {
1704
+ const prevState = index > 0 ? slots[index - 1].state : void 0;
1705
+ const withTopBorder = slot.state !== "none" && prevState === "none";
1706
+ return /* @__PURE__ */ jsx37(
1707
+ TimeItem,
1708
+ {
1709
+ state: slot.state,
1710
+ label: slot.time,
1711
+ printColor: slot.printColor,
1712
+ color: slot.color,
1713
+ fluid,
1714
+ withTopBorder,
1715
+ className: slot.className,
1716
+ onClick: onSelectTime ? () => onSelectTime(slot.time) : void 0
1717
+ },
1718
+ slot.time
1719
+ );
1720
+ })
1718
1721
  ] });
1719
1722
  };
1720
1723
  var TimeItem = ({
@@ -1723,6 +1726,7 @@ var TimeItem = ({
1723
1726
  printColor,
1724
1727
  color,
1725
1728
  fluid,
1729
+ withTopBorder = false,
1726
1730
  onClick,
1727
1731
  className
1728
1732
  }) => {
@@ -1739,6 +1743,7 @@ var TimeItem = ({
1739
1743
  "text-body1-medium text-center bg-white text-primary",
1740
1744
  // "none"(일정 없음)은 구분선을 그리지 않아 연속된 빈 칸이 하나의 덩어리로 보이게 한다.
1741
1745
  state === "none" ? "bg-gray00 text-transparent" : "border-b border-gray02",
1746
+ withTopBorder && "border-t border-gray02",
1742
1747
  state === "selected" && "bg-black text-white hover:cursor-pointer",
1743
1748
  state === "disabled" && "bg-gray00 text-gray03",
1744
1749
  state === "default" && [