@octavius2929-personal/design-system 0.20.0 → 0.22.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.d.cts CHANGED
@@ -1503,6 +1503,7 @@ interface ChipProps extends Omit<HTMLAttributes<HTMLSpanElement>, "className"> {
1503
1503
  selected?: boolean;
1504
1504
  tone?: ChipTone;
1505
1505
  onDelete?: () => void;
1506
+ startIcon?: Icon;
1506
1507
  /** Segmento de contexto para el data-testid. */
1507
1508
  testId?: string;
1508
1509
  }
@@ -1729,6 +1730,7 @@ declare const Stepper: react.ForwardRefExoticComponent<StepperProps & react.RefA
1729
1730
  interface TabItem {
1730
1731
  value: string;
1731
1732
  label: ReactNode;
1733
+ icon?: Icon;
1732
1734
  /** Contenido del panel asociado. Si algún item lo define, Tabs renderiza los tabpanel cableados. */
1733
1735
  content?: ReactNode;
1734
1736
  }
@@ -1746,6 +1748,7 @@ interface MenuItemDef {
1746
1748
  label: ReactNode;
1747
1749
  onClick?: () => void;
1748
1750
  danger?: boolean;
1751
+ icon?: Icon;
1749
1752
  }
1750
1753
  interface MenuProps {
1751
1754
  trigger: ReactElement;
package/dist/index.d.ts CHANGED
@@ -1503,6 +1503,7 @@ interface ChipProps extends Omit<HTMLAttributes<HTMLSpanElement>, "className"> {
1503
1503
  selected?: boolean;
1504
1504
  tone?: ChipTone;
1505
1505
  onDelete?: () => void;
1506
+ startIcon?: Icon;
1506
1507
  /** Segmento de contexto para el data-testid. */
1507
1508
  testId?: string;
1508
1509
  }
@@ -1729,6 +1730,7 @@ declare const Stepper: react.ForwardRefExoticComponent<StepperProps & react.RefA
1729
1730
  interface TabItem {
1730
1731
  value: string;
1731
1732
  label: ReactNode;
1733
+ icon?: Icon;
1732
1734
  /** Contenido del panel asociado. Si algún item lo define, Tabs renderiza los tabpanel cableados. */
1733
1735
  content?: ReactNode;
1734
1736
  }
@@ -1746,6 +1748,7 @@ interface MenuItemDef {
1746
1748
  label: ReactNode;
1747
1749
  onClick?: () => void;
1748
1750
  danger?: boolean;
1751
+ icon?: Icon;
1749
1752
  }
1750
1753
  interface MenuProps {
1751
1754
  trigger: ReactElement;
package/dist/index.js CHANGED
@@ -801,7 +801,8 @@ function useStyles8({
801
801
 
802
802
  // src/components/chip/index.tsx
803
803
  import { jsx as jsx11, jsxs as jsxs5 } from "react/jsx-runtime";
804
- var Chip = forwardRef8(function Chip2({ selected: selected3, tone: tone4, onDelete, onClick, children, testId, ...rest }, ref) {
804
+ var ICON_SIZE2 = 13;
805
+ var Chip = forwardRef8(function Chip2({ selected: selected3, tone: tone4, onDelete, onClick, startIcon: StartIcon, children, testId, ...rest }, ref) {
805
806
  const clickable2 = Boolean(onClick);
806
807
  const { root: root24, deleteBtn: deleteBtn2 } = useStyles8({ selected: selected3, tone: tone4, clickable: clickable2 });
807
808
  const { testId: dataTestId, slot } = useTestId("media", testId);
@@ -819,6 +820,7 @@ var Chip = forwardRef8(function Chip2({ selected: selected3, tone: tone4, onDele
819
820
  "data-state": states({ selected: selected3 }),
820
821
  ...rest,
821
822
  children: [
823
+ StartIcon ? /* @__PURE__ */ jsx11(StartIcon, { size: ICON_SIZE2 }) : null,
822
824
  children,
823
825
  onDelete && /* @__PURE__ */ jsx11(
824
826
  "button",
@@ -828,7 +830,7 @@ var Chip = forwardRef8(function Chip2({ selected: selected3, tone: tone4, onDele
828
830
  "aria-label": "Remove",
829
831
  onClick: handleDelete,
830
832
  "data-testid": slot("delete"),
831
- children: /* @__PURE__ */ jsx11(XIcon, { size: 13 })
833
+ children: /* @__PURE__ */ jsx11(XIcon, { size: ICON_SIZE2 })
832
834
  }
833
835
  )
834
836
  ]
@@ -2333,6 +2335,7 @@ function useStyles24() {
2333
2335
 
2334
2336
  // src/components/tabs/index.tsx
2335
2337
  import { Fragment as Fragment3, jsx as jsx39, jsxs as jsxs24 } from "react/jsx-runtime";
2338
+ var ICON_SIZE3 = 16;
2336
2339
  var Tabs = forwardRef26(function Tabs2({ items, value, onChange, testId, ...rest }, ref) {
2337
2340
  const { root: root24, tabClass, panel: panel3 } = useStyles24();
2338
2341
  const { testId: dataTestId, slot } = useTestId("nav", testId);
@@ -2373,7 +2376,8 @@ var Tabs = forwardRef26(function Tabs2({ items, value, onChange, testId, ...rest
2373
2376
  /* @__PURE__ */ jsx39("div", { ref, role: "tablist", className: root24, "data-testid": dataTestId, ...rest, children: items.map((item3, index) => {
2374
2377
  const active2 = item3.value === value;
2375
2378
  const tabbable = active2 || activeIndex === -1 && index === 0;
2376
- return /* @__PURE__ */ jsx39(
2379
+ const ItemIcon = item3.icon;
2380
+ return /* @__PURE__ */ jsxs24(
2377
2381
  "button",
2378
2382
  {
2379
2383
  ref: (el) => {
@@ -2390,7 +2394,10 @@ var Tabs = forwardRef26(function Tabs2({ items, value, onChange, testId, ...rest
2390
2394
  "data-state": states({ selected: active2 }),
2391
2395
  onClick: () => onChange?.(item3.value),
2392
2396
  onKeyDown: (event) => onKeyDown(event, index),
2393
- children: item3.label
2397
+ children: [
2398
+ ItemIcon ? /* @__PURE__ */ jsx39(ItemIcon, { size: ICON_SIZE3 }) : null,
2399
+ item3.label
2400
+ ]
2394
2401
  },
2395
2402
  item3.value
2396
2403
  );
@@ -2447,6 +2454,7 @@ function useStyles25() {
2447
2454
 
2448
2455
  // src/components/menu/index.tsx
2449
2456
  import { jsx as jsx40, jsxs as jsxs25 } from "react/jsx-runtime";
2457
+ var ICON_SIZE4 = 16;
2450
2458
  function assignRef(ref, value) {
2451
2459
  if (typeof ref === "function") ref(value);
2452
2460
  else if (ref) ref.current = value;
@@ -2569,22 +2577,28 @@ var Menu = forwardRef27(function Menu2({ trigger: trigger2, items, testId }, ref
2569
2577
  "data-align": alignEnd ? "end" : "start",
2570
2578
  "data-testid": slot("list"),
2571
2579
  onKeyDown: onMenuKeyDown,
2572
- children: items.map((entry, index) => /* @__PURE__ */ jsx40(
2573
- "button",
2574
- {
2575
- type: "button",
2576
- role: "menuitem",
2577
- tabIndex: -1,
2578
- className: entry.danger ? dangerItem : item3,
2579
- "data-testid": slot(`item-${index}`),
2580
- onClick: () => {
2581
- entry.onClick?.();
2582
- setOpen(false);
2580
+ children: items.map((entry, index) => {
2581
+ const ItemIcon = entry.icon;
2582
+ return /* @__PURE__ */ jsxs25(
2583
+ "button",
2584
+ {
2585
+ type: "button",
2586
+ role: "menuitem",
2587
+ tabIndex: -1,
2588
+ className: entry.danger ? dangerItem : item3,
2589
+ "data-testid": slot(`item-${index}`),
2590
+ onClick: () => {
2591
+ entry.onClick?.();
2592
+ setOpen(false);
2593
+ },
2594
+ children: [
2595
+ ItemIcon ? /* @__PURE__ */ jsx40(ItemIcon, { size: ICON_SIZE4 }) : null,
2596
+ entry.label
2597
+ ]
2583
2598
  },
2584
- children: entry.label
2585
- },
2586
- index
2587
- ))
2599
+ index
2600
+ );
2601
+ })
2588
2602
  }
2589
2603
  )
2590
2604
  ]