@axzydev/axzy_ui_system 1.4.1 → 1.4.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.js CHANGED
@@ -7575,6 +7575,7 @@ function ITSegmentedControl({
7575
7575
 
7576
7576
  // src/components/organisms/sidebar/sidebar.tsx
7577
7577
  import { useEffect as useEffect13, useRef as useRef20, useState as useState27 } from "react";
7578
+ import clsx40 from "clsx";
7578
7579
  import { FaChevronDown as FaChevronDown4 } from "react-icons/fa";
7579
7580
  import { jsx as jsx56, jsxs as jsxs43 } from "react/jsx-runtime";
7580
7581
  function isSubItemGroup(entry) {
@@ -7593,7 +7594,8 @@ function ITSidebar({
7593
7594
  onItemClick,
7594
7595
  onSubItemClick,
7595
7596
  subitemConnector = "dot",
7596
- header
7597
+ header,
7598
+ notification
7597
7599
  }) {
7598
7600
  const [expandedItems, setExpandedItems] = useState27(/* @__PURE__ */ new Set());
7599
7601
  const [isHovering, setIsHovering] = useState27(false);
@@ -7738,6 +7740,87 @@ function ITSidebar({
7738
7740
  /* @__PURE__ */ jsx56("ul", { "aria-labelledby": headingId, className: "flex flex-col gap-0", children: group.items.map(renderSubItem) })
7739
7741
  ] }, group.id);
7740
7742
  };
7743
+ const renderNotification = () => {
7744
+ if (!notification) return null;
7745
+ const {
7746
+ count,
7747
+ icon,
7748
+ label = "Notificaciones",
7749
+ onClick,
7750
+ badgeProps
7751
+ } = notification;
7752
+ const { className: badgeClassName, ...badgeRest } = badgeProps ?? {};
7753
+ const badge = /* @__PURE__ */ jsx56(
7754
+ ITBadget,
7755
+ {
7756
+ color: "danger",
7757
+ size: "sm",
7758
+ ...badgeRest,
7759
+ className: clsx40("shadow-md", badgeClassName),
7760
+ children: String(count)
7761
+ }
7762
+ );
7763
+ if (isSidebarCollapsed) {
7764
+ return /* @__PURE__ */ jsxs43(
7765
+ "button",
7766
+ {
7767
+ type: "button",
7768
+ "aria-label": label,
7769
+ title: label,
7770
+ onClick,
7771
+ className: "relative flex items-center justify-center w-full p-2 mb-1 rounded-xl transition-all duration-300",
7772
+ style: { color: "var(--it-sidebar-icon-color, var(--color-secondary-500))" },
7773
+ onMouseEnter: (e) => {
7774
+ e.currentTarget.style.backgroundColor = "var(--it-sidebar-hover-bg, var(--color-secondary-100))";
7775
+ },
7776
+ onMouseLeave: (e) => {
7777
+ e.currentTarget.style.backgroundColor = "transparent";
7778
+ },
7779
+ children: [
7780
+ icon && /* @__PURE__ */ jsx56("span", { className: "flex items-center justify-center text-[1.05rem]", children: icon }),
7781
+ /* @__PURE__ */ jsx56("span", { className: "absolute top-0.5 right-0.5 pointer-events-none", children: badge })
7782
+ ]
7783
+ }
7784
+ );
7785
+ }
7786
+ return /* @__PURE__ */ jsxs43(
7787
+ "button",
7788
+ {
7789
+ type: "button",
7790
+ "aria-label": label,
7791
+ title: label,
7792
+ onClick,
7793
+ className: "flex items-center gap-2.5 w-full text-left px-3 py-2 mb-1 rounded-xl transition-all duration-300",
7794
+ style: { color: "var(--it-sidebar-label-color, var(--color-secondary-600))" },
7795
+ onMouseEnter: (e) => {
7796
+ e.currentTarget.style.backgroundColor = "var(--it-sidebar-hover-bg, var(--color-secondary-100))";
7797
+ },
7798
+ onMouseLeave: (e) => {
7799
+ e.currentTarget.style.backgroundColor = "transparent";
7800
+ },
7801
+ children: [
7802
+ icon && /* @__PURE__ */ jsx56(
7803
+ "span",
7804
+ {
7805
+ className: "flex-shrink-0 flex items-center justify-center text-[1.05rem]",
7806
+ style: { color: "var(--it-sidebar-icon-color, #9ca3af)" },
7807
+ children: icon
7808
+ }
7809
+ ),
7810
+ /* @__PURE__ */ jsx56(
7811
+ ITText,
7812
+ {
7813
+ as: "span",
7814
+ className: "truncate tracking-wide",
7815
+ style: { fontSize: "0.8rem", fontWeight: 500 },
7816
+ children: label
7817
+ }
7818
+ ),
7819
+ /* @__PURE__ */ jsx56("span", { className: "ml-auto flex-shrink-0", children: badge })
7820
+ ]
7821
+ }
7822
+ );
7823
+ };
7741
7824
  return /* @__PURE__ */ jsxs43(
7742
7825
  "aside",
7743
7826
  {
@@ -7759,9 +7842,11 @@ function ITSidebar({
7759
7842
  },
7760
7843
  children: [
7761
7844
  header && !isSidebarCollapsed && /* @__PURE__ */ jsx56("div", { className: "px-4 pt-4 pb-1 flex-shrink-0", children: header }),
7845
+ notification && /* @__PURE__ */ jsx56("div", { className: "px-4 pt-3 flex-shrink-0", children: renderNotification() }),
7762
7846
  /* @__PURE__ */ jsx56("nav", { "aria-label": "Componentes de la librer\xEDa", className: "flex-1 py-4 overflow-y-auto overflow-x-hidden custom-scrollbar px-4", children: /* @__PURE__ */ jsx56("ul", { className: "space-y-1", children: navigationItems.map((item) => {
7763
7847
  const hasSubmenu = !!item.subitems && item.subitems.length > 0;
7764
7848
  const submenuId = `it-sidebar-submenu-${item.id}`;
7849
+ const { className: badgeClassName, ...badgeRest } = item.badgeProps ?? {};
7765
7850
  return /* @__PURE__ */ jsxs43("li", { className: "relative group/navitem", children: [
7766
7851
  /* @__PURE__ */ jsxs43(
7767
7852
  "div",
@@ -7838,19 +7923,18 @@ function ITSidebar({
7838
7923
  children: /* @__PURE__ */ jsx56(FaChevronDown4, { className: "w-3 h-3" })
7839
7924
  }
7840
7925
  ),
7841
- item.badge && /* @__PURE__ */ jsx56(
7842
- "span",
7926
+ item.badge != null && item.badge !== "" && /* @__PURE__ */ jsx56(
7927
+ ITBadget,
7843
7928
  {
7844
- className: `
7845
- absolute flex items-center justify-center font-bold shadow-md
7846
- ${isSidebarCollapsed ? "top-1 right-1 w-2.5 h-2.5 rounded-full ring-2 ring-white" : "right-3 top-1/2 transform -translate-y-1/2 px-1.5 py-0 text-[9px] rounded-full backdrop-blur-sm"}
7847
- `,
7848
- style: {
7849
- backgroundColor: "var(--it-sidebar-badge-bg, var(--color-primary-500))",
7850
- color: "var(--it-sidebar-badge-color, #ffffff)",
7851
- boxShadow: isSidebarCollapsed ? "0 0 0 2px var(--it-sidebar-bg, var(--color-secondary-900))" : "none"
7852
- },
7853
- children: isSidebarCollapsed ? "" : item.badge
7929
+ color: "primary",
7930
+ size: "sm",
7931
+ ...badgeRest,
7932
+ className: clsx40(
7933
+ "absolute shadow-md",
7934
+ isSidebarCollapsed ? "top-0.5 right-0.5" : "right-3 top-1/2 -translate-y-1/2",
7935
+ badgeClassName
7936
+ ),
7937
+ children: String(item.badge)
7854
7938
  }
7855
7939
  )
7856
7940
  ]
@@ -7916,7 +8000,7 @@ function ITSidebar({
7916
8000
 
7917
8001
  // src/components/atoms/slide/slide.tsx
7918
8002
  import { useState as useState28, useEffect as useEffect14 } from "react";
7919
- import clsx40 from "clsx";
8003
+ import clsx41 from "clsx";
7920
8004
  import { jsx as jsx57 } from "react/jsx-runtime";
7921
8005
  function ITSlideToggle({
7922
8006
  onToggle,
@@ -7974,7 +8058,7 @@ function ITSlideToggle({
7974
8058
  "div",
7975
8059
  {
7976
8060
  onClick: toggleSwitch,
7977
- className: clsx40(
8061
+ className: clsx41(
7978
8062
  "flex items-center rounded-full p-1 transition-colors duration-300",
7979
8063
  container,
7980
8064
  disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer",
@@ -7993,7 +8077,7 @@ function ITSlideToggle({
7993
8077
  children: /* @__PURE__ */ jsx57(
7994
8078
  "div",
7995
8079
  {
7996
- className: clsx40(
8080
+ className: clsx41(
7997
8081
  "bg-white rounded-full shadow-md transform transition-transform duration-300 pointer-events-none",
7998
8082
  knob,
7999
8083
  isOn ? translate : "translate-x-0"
@@ -8005,7 +8089,7 @@ function ITSlideToggle({
8005
8089
  }
8006
8090
 
8007
8091
  // src/components/atoms/slider/slider.tsx
8008
- import clsx41 from "clsx";
8092
+ import clsx42 from "clsx";
8009
8093
  import { jsx as jsx58, jsxs as jsxs44 } from "react/jsx-runtime";
8010
8094
  function ITSlider({
8011
8095
  value,
@@ -8017,7 +8101,7 @@ function ITSlider({
8017
8101
  disabled = false,
8018
8102
  className
8019
8103
  }) {
8020
- return /* @__PURE__ */ jsxs44("div", { className: clsx41("flex flex-col gap-1.5", className), children: [
8104
+ return /* @__PURE__ */ jsxs44("div", { className: clsx42("flex flex-col gap-1.5", className), children: [
8021
8105
  label && /* @__PURE__ */ jsxs44(ITText, { as: "label", className: "text-xs font-semibold text-secondary-600 dark:text-secondary-400", children: [
8022
8106
  label,
8023
8107
  ": ",
@@ -8033,7 +8117,7 @@ function ITSlider({
8033
8117
  value,
8034
8118
  onChange: (e) => onChange(Number(e.target.value)),
8035
8119
  disabled,
8036
- className: clsx41(
8120
+ className: clsx42(
8037
8121
  "w-full h-1.5 appearance-none rounded-full outline-none cursor-pointer",
8038
8122
  "bg-secondary-200 dark:bg-secondary-700",
8039
8123
  "accent-primary-500",
@@ -8053,7 +8137,7 @@ function ITSlider({
8053
8137
  }
8054
8138
 
8055
8139
  // src/components/molecules/stat-card/stat-card.tsx
8056
- import clsx42 from "clsx";
8140
+ import clsx43 from "clsx";
8057
8141
  import { jsx as jsx59, jsxs as jsxs45 } from "react/jsx-runtime";
8058
8142
  var trendColors = {
8059
8143
  up: "text-emerald-600 bg-emerald-50 dark:text-emerald-400 dark:bg-emerald-950/30",
@@ -8074,7 +8158,7 @@ function ITStatCard({
8074
8158
  return /* @__PURE__ */ jsxs45(
8075
8159
  "div",
8076
8160
  {
8077
- className: clsx42("rounded-xl p-4 border border-slate-100 dark:border-slate-800", color, className),
8161
+ className: clsx43("rounded-xl p-4 border border-slate-100 dark:border-slate-800", color, className),
8078
8162
  style,
8079
8163
  onClick,
8080
8164
  role: onClick ? "button" : void 0,
@@ -8086,7 +8170,7 @@ function ITStatCard({
8086
8170
  ] }),
8087
8171
  /* @__PURE__ */ jsxs45("div", { className: "flex items-baseline gap-2", children: [
8088
8172
  /* @__PURE__ */ jsx59(ITText, { as: "span", className: "text-2xl font-bold text-slate-800 dark:text-white", children: value }),
8089
- trend && /* @__PURE__ */ jsx59(ITText, { as: "span", className: clsx42("text-[11px] font-semibold px-1.5 py-0.5 rounded-md", trendColors[trendDirection]), children: trend })
8173
+ trend && /* @__PURE__ */ jsx59(ITText, { as: "span", className: clsx43("text-[11px] font-semibold px-1.5 py-0.5 rounded-md", trendColors[trendDirection]), children: trend })
8090
8174
  ] })
8091
8175
  ]
8092
8176
  }
@@ -8094,7 +8178,7 @@ function ITStatCard({
8094
8178
  }
8095
8179
 
8096
8180
  // src/components/molecules/table/table.tsx
8097
- import clsx43 from "clsx";
8181
+ import clsx44 from "clsx";
8098
8182
  import React11, { useState as useState29 } from "react";
8099
8183
  import {
8100
8184
  FaCheck as FaCheck4,
@@ -8271,7 +8355,7 @@ function ITTable({
8271
8355
  children: /* @__PURE__ */ jsx60("div", { className: "relative w-10 h-5 bg-secondary-300 rounded-full", children: /* @__PURE__ */ jsx60(
8272
8356
  "div",
8273
8357
  {
8274
- className: clsx43(
8358
+ className: clsx44(
8275
8359
  "absolute top-0.5 w-4 h-4 rounded-full transition-all duration-300 shadow-sm",
8276
8360
  {
8277
8361
  "left-0.5 bg-secondary-400": currentValue === void 0,
@@ -8462,7 +8546,7 @@ function ITTable({
8462
8546
  event.preventDefault();
8463
8547
  onRowClick(row, event);
8464
8548
  };
8465
- return /* @__PURE__ */ jsx60("div", { ref: rootRef, className: clsx43("space-y-4 w-full", containerClassName), children: /* @__PURE__ */ jsxs46("div", { className: tableContainer, style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: [
8549
+ return /* @__PURE__ */ jsx60("div", { ref: rootRef, className: clsx44("space-y-4 w-full", containerClassName), children: /* @__PURE__ */ jsxs46("div", { className: tableContainer, style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: [
8466
8550
  title && /* @__PURE__ */ jsxs46("div", { className: "px-6 py-5 flex items-center justify-between", style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: [
8467
8551
  /* @__PURE__ */ jsx60(ITText, { as: "h2", className: "text-xl font-bold text-secondary-900 leading-tight", children: title }),
8468
8552
  /* @__PURE__ */ jsxs46("div", { className: "flex items-center bg-slate-100 dark:bg-slate-800/80 rounded-lg p-0.5 border border-slate-200 dark:border-slate-700/50", children: [
@@ -8519,7 +8603,7 @@ function ITTable({
8519
8603
  effectiveView === "cards" ? /* @__PURE__ */ jsx60("div", { className: "p-4 space-y-3 max-h-[400px] overflow-y-auto", children: currentData.length > 0 ? currentData.map((row, i) => /* @__PURE__ */ jsx60(
8520
8604
  "div",
8521
8605
  {
8522
- className: clsx43(tableCardHover, onRowClick && tableCardClickable),
8606
+ className: clsx44(tableCardHover, onRowClick && tableCardClickable),
8523
8607
  role: onRowClick ? "button" : void 0,
8524
8608
  tabIndex: onRowClick ? 0 : void 0,
8525
8609
  onClick: onRowClick ? handleRowClick(row) : void 0,
@@ -8527,7 +8611,7 @@ function ITTable({
8527
8611
  children: renderCard ? renderCard(row) : renderDefaultCard(row)
8528
8612
  },
8529
8613
  i
8530
- )) : /* @__PURE__ */ jsxs46("div", { className: clsx43(tableEmptyContent, "py-12"), children: [
8614
+ )) : /* @__PURE__ */ jsxs46("div", { className: clsx44(tableEmptyContent, "py-12"), children: [
8531
8615
  /* @__PURE__ */ jsx60(ITText, { as: "span", className: "text-lg", children: "No se encontraron resultados" }),
8532
8616
  /* @__PURE__ */ jsx60(ITText, { as: "span", className: "text-sm mt-1", children: "Intenta ajustar los filtros" })
8533
8617
  ] }) }) : /* @__PURE__ */ jsx60(
@@ -8539,7 +8623,7 @@ function ITTable({
8539
8623
  children: /* @__PURE__ */ jsxs46(
8540
8624
  "table",
8541
8625
  {
8542
- className: clsx43(
8626
+ className: clsx44(
8543
8627
  tableLayoutClass,
8544
8628
  showVerticalBorder && "[&_th]:border-r [&_th:last-child]:border-r-0 [&_td]:border-r [&_td:last-child]:border-r-0",
8545
8629
  showVerticalBorder && (verticalBorderClassname || "[&_th]:border-slate-100 dark:[&_th]:border-slate-700/30 [&_td]:border-slate-100 dark:[&_td]:border-slate-700/30"),
@@ -8559,7 +8643,7 @@ function ITTable({
8559
8643
  /* @__PURE__ */ jsx60("thead", { children: /* @__PURE__ */ jsx60(
8560
8644
  "tr",
8561
8645
  {
8562
- className: clsx43(tableHeaderRow, "dark:text-slate-200"),
8646
+ className: clsx44(tableHeaderRow, "dark:text-slate-200"),
8563
8647
  "aria-rowindex": isTableVirtual ? 1 : void 0,
8564
8648
  children: columns.map((col) => {
8565
8649
  const pin = pinnedMeta[col.key];
@@ -8568,7 +8652,7 @@ function ITTable({
8568
8652
  "th",
8569
8653
  {
8570
8654
  scope: "col",
8571
- className: clsx43(
8655
+ className: clsx44(
8572
8656
  tableHeaderCell(col.className, density),
8573
8657
  col.align && tableAlignClasses[col.align],
8574
8658
  isPinned && "sticky",
@@ -8602,7 +8686,7 @@ function ITTable({
8602
8686
  })
8603
8687
  }
8604
8688
  ) }),
8605
- /* @__PURE__ */ jsx60("tbody", { className: clsx43(tableBody, "dark:divide-slate-700/30"), children: currentData.length > 0 ? /* @__PURE__ */ jsxs46(Fragment9, { children: [
8689
+ /* @__PURE__ */ jsx60("tbody", { className: clsx44(tableBody, "dark:divide-slate-700/30"), children: currentData.length > 0 ? /* @__PURE__ */ jsxs46(Fragment9, { children: [
8606
8690
  isTableVirtual && topSpacerHeight > 0 && /* @__PURE__ */ jsx60("tr", { "aria-hidden": "true", style: { height: topSpacerHeight }, children: /* @__PURE__ */ jsx60("td", { colSpan: columnCount, style: { padding: 0, border: 0 } }) }),
8607
8691
  windowData.map((row, windowIndex) => {
8608
8692
  const absoluteIndex = isTableVirtual ? startIndex + windowIndex : windowIndex;
@@ -8610,7 +8694,7 @@ function ITTable({
8610
8694
  "tr",
8611
8695
  {
8612
8696
  "aria-rowindex": isTableVirtual ? absoluteIndex + 2 : void 0,
8613
- className: clsx43(
8697
+ className: clsx44(
8614
8698
  tableRow,
8615
8699
  variant === "striped" && absoluteIndex % 2 === 0 && "bg-secondary-50/40 dark:bg-slate-800/20",
8616
8700
  onRowClick && tableRowClickable
@@ -8626,7 +8710,7 @@ function ITTable({
8626
8710
  return /* @__PURE__ */ jsx60(
8627
8711
  "td",
8628
8712
  {
8629
- className: clsx43(
8713
+ className: clsx44(
8630
8714
  tableCell(col.className, density),
8631
8715
  col.align && tableAlignClasses[col.align],
8632
8716
  isPinned && "sticky bg-[var(--color-table-rowBg,white)] group-hover:bg-[var(--color-table-rowHover,var(--color-secondary-50))]",
@@ -8638,7 +8722,7 @@ function ITTable({
8638
8722
  ...isPinned ? pin.side === "left" ? { left: pin.offset } : { right: pin.offset } : {}
8639
8723
  } : void 0,
8640
8724
  title: truncateTitle,
8641
- children: col.type === "actions" ? /* @__PURE__ */ jsx60("div", { className: tableActionsCell, children: renderCellContent(col, row) }) : /* @__PURE__ */ jsx60("div", { className: clsx43(tableCellText, col.truncate && "truncate"), children: renderCellContent(col, row) })
8725
+ children: col.type === "actions" ? /* @__PURE__ */ jsx60("div", { className: tableActionsCell, children: renderCellContent(col, row) }) : /* @__PURE__ */ jsx60("div", { className: clsx44(tableCellText, col.truncate && "truncate"), children: renderCellContent(col, row) })
8642
8726
  },
8643
8727
  `${absoluteIndex}-${col.key}`
8644
8728
  );
@@ -8674,7 +8758,7 @@ function ITTable({
8674
8758
  }
8675
8759
 
8676
8760
  // src/components/atoms/textarea/textarea.tsx
8677
- import clsx44 from "clsx";
8761
+ import clsx45 from "clsx";
8678
8762
  import { jsx as jsx61, jsxs as jsxs47 } from "react/jsx-runtime";
8679
8763
  var resizeMap = {
8680
8764
  none: "resize-none",
@@ -8695,7 +8779,7 @@ function ITTextarea({
8695
8779
  maxLength,
8696
8780
  resize = "vertical"
8697
8781
  }) {
8698
- return /* @__PURE__ */ jsxs47("div", { className: clsx44("flex flex-col gap-1.5", className), children: [
8782
+ return /* @__PURE__ */ jsxs47("div", { className: clsx45("flex flex-col gap-1.5", className), children: [
8699
8783
  label && /* @__PURE__ */ jsx61(ITText, { as: "label", className: inputLabel(!!error), htmlFor: name, children: label }),
8700
8784
  /* @__PURE__ */ jsx61(
8701
8785
  "textarea",
@@ -8708,7 +8792,7 @@ function ITTextarea({
8708
8792
  rows,
8709
8793
  disabled,
8710
8794
  maxLength,
8711
- className: clsx44(
8795
+ className: clsx45(
8712
8796
  "w-full border border-solid transition-all duration-200 rounded-lg px-3 py-2 text-sm outline-none",
8713
8797
  "focus:ring-2",
8714
8798
  resizeMap[resize],
@@ -8723,7 +8807,7 @@ function ITTextarea({
8723
8807
 
8724
8808
  // src/components/molecules/tabs/tabs.tsx
8725
8809
  import { useState as useState30 } from "react";
8726
- import { clsx as clsx45 } from "clsx";
8810
+ import { clsx as clsx46 } from "clsx";
8727
8811
  import { jsx as jsx62, jsxs as jsxs48 } from "react/jsx-runtime";
8728
8812
  var ITTabs = ({
8729
8813
  items,
@@ -8740,8 +8824,8 @@ var ITTabs = ({
8740
8824
  if (onChange) onChange(id);
8741
8825
  };
8742
8826
  const activeContent = items.find((item) => item.id === activeId)?.content;
8743
- return /* @__PURE__ */ jsxs48("div", { className: clsx45("w-full", containerClassName), children: [
8744
- /* @__PURE__ */ jsx62("div", { className: clsx45(
8827
+ return /* @__PURE__ */ jsxs48("div", { className: clsx46("w-full", containerClassName), children: [
8828
+ /* @__PURE__ */ jsx62("div", { className: clsx46(
8745
8829
  "flex border-secondary-200 mb-4",
8746
8830
  variant === "line" ? "border-b" : "gap-2 p-1 bg-secondary-100 rounded-lg w-fit",
8747
8831
  className
@@ -8752,7 +8836,7 @@ var ITTabs = ({
8752
8836
  {
8753
8837
  onClick: () => handleTabClick(item.id, item.disabled),
8754
8838
  disabled: item.disabled,
8755
- className: clsx45(
8839
+ className: clsx46(
8756
8840
  "flex items-center gap-2 px-4 py-2 text-sm font-medium transition-all duration-200 outline-none",
8757
8841
  // LINE VARIANT
8758
8842
  variant === "line" && [
@@ -8780,7 +8864,7 @@ var ITTabs = ({
8780
8864
  var tabs_default = ITTabs;
8781
8865
 
8782
8866
  // src/components/organisms/triple-filter/tripleFilter.tsx
8783
- import clsx46 from "clsx";
8867
+ import clsx47 from "clsx";
8784
8868
  import { jsx as jsx63 } from "react/jsx-runtime";
8785
8869
  var colorMap2 = {
8786
8870
  primary: "text-primary-600",
@@ -8803,14 +8887,14 @@ var ITTripleFilter = ({
8803
8887
  return /* @__PURE__ */ jsx63(
8804
8888
  "div",
8805
8889
  {
8806
- className: clsx46("flex bg-slate-100 p-1 rounded-xl gap-1 w-fit", className),
8890
+ className: clsx47("flex bg-slate-100 p-1 rounded-xl gap-1 w-fit", className),
8807
8891
  children: options.map((option) => /* @__PURE__ */ jsx63(
8808
8892
  "button",
8809
8893
  {
8810
8894
  onClick: () => onChange(option.value),
8811
- className: clsx46(
8895
+ className: clsx47(
8812
8896
  "px-4 py-1.5 rounded-lg text-[10px] font-bold uppercase tracking-wider transition-all duration-200 whitespace-nowrap",
8813
- value === option.value ? clsx46("bg-white shadow-sm", colorMap2[color]) : "text-slate-400 hover:text-slate-600"
8897
+ value === option.value ? clsx47("bg-white shadow-sm", colorMap2[color]) : "text-slate-400 hover:text-slate-600"
8814
8898
  ),
8815
8899
  children: /* @__PURE__ */ jsx63(ITText, { as: "span", children: option.label })
8816
8900
  },
@@ -8832,7 +8916,7 @@ var positionStyles = {
8832
8916
  };
8833
8917
 
8834
8918
  // src/components/organisms/toast/toast.tsx
8835
- import clsx47 from "clsx";
8919
+ import clsx48 from "clsx";
8836
8920
  import { useEffect as useEffect15, useState as useState31 } from "react";
8837
8921
  import { FaTimesCircle as FaTimesCircle2, FaCheckCircle as FaCheckCircle2, FaExclamationTriangle as FaExclamationTriangle3, FaInfoCircle as FaInfoCircle2, FaTimes as FaTimes10 } from "react-icons/fa";
8838
8922
  import { jsx as jsx64, jsxs as jsxs49 } from "react/jsx-runtime";
@@ -8878,7 +8962,7 @@ function ITToast({
8878
8962
  return /* @__PURE__ */ jsxs49(
8879
8963
  "div",
8880
8964
  {
8881
- className: clsx47(
8965
+ className: clsx48(
8882
8966
  "fixed z-[80] p-4 rounded-xl shadow-xl flex items-center justify-between gap-4 transition-all duration-300 text-white min-w-[300px]",
8883
8967
  positionStyles[position],
8884
8968
  {
@@ -8916,7 +9000,7 @@ import {
8916
9000
  useRef as useRef21,
8917
9001
  useState as useState33
8918
9002
  } from "react";
8919
- import clsx49 from "clsx";
9003
+ import clsx50 from "clsx";
8920
9004
  import {
8921
9005
  FaBold,
8922
9006
  FaEraser,
@@ -8940,7 +9024,7 @@ var toolbarActions = [
8940
9024
 
8941
9025
  // src/components/atoms/tooltip/tooltip.tsx
8942
9026
  import { useState as useState32 } from "react";
8943
- import clsx48 from "clsx";
9027
+ import clsx49 from "clsx";
8944
9028
  import { jsx as jsx65, jsxs as jsxs50 } from "react/jsx-runtime";
8945
9029
  var positionClasses2 = {
8946
9030
  top: "bottom-full left-1/2 -translate-x-1/2 mb-2",
@@ -8973,14 +9057,14 @@ function ITTooltip({
8973
9057
  return /* @__PURE__ */ jsxs50(
8974
9058
  "div",
8975
9059
  {
8976
- className: clsx48("relative inline-flex", className),
9060
+ className: clsx49("relative inline-flex", className),
8977
9061
  onMouseEnter: handleMouseEnter,
8978
9062
  onMouseLeave: handleMouseLeave,
8979
9063
  children: [
8980
9064
  children,
8981
- visible && /* @__PURE__ */ jsxs50("div", { className: clsx48("absolute z-[70] pointer-events-none", positionClasses2[position]), children: [
9065
+ visible && /* @__PURE__ */ jsxs50("div", { className: clsx49("absolute z-[70] pointer-events-none", positionClasses2[position]), children: [
8982
9066
  /* @__PURE__ */ jsx65("div", { className: "bg-slate-800 dark:bg-slate-700 text-white text-xs rounded-lg px-2.5 py-1.5 whitespace-nowrap shadow-lg", children: /* @__PURE__ */ jsx65(ITText, { as: "span", children: content }) }),
8983
- /* @__PURE__ */ jsx65("div", { className: clsx48("absolute", arrowClasses[position]) })
9067
+ /* @__PURE__ */ jsx65("div", { className: clsx49("absolute", arrowClasses[position]) })
8984
9068
  ] })
8985
9069
  ]
8986
9070
  }
@@ -9424,7 +9508,7 @@ function ITWysiwyg({
9424
9508
  "aria-pressed": isActive,
9425
9509
  onMouseDown: (e) => e.preventDefault(),
9426
9510
  onClick: () => runAction(action),
9427
- className: clsx49(
9511
+ className: clsx50(
9428
9512
  "flex h-8 w-8 items-center justify-center rounded-md text-[13px] transition-colors",
9429
9513
  isActive ? "bg-primary-100 text-primary-700 dark:bg-primary-900/40 dark:text-primary-300" : "text-secondary-500 hover:bg-secondary-200/70 hover:text-secondary-800 dark:text-secondary-400 dark:hover:bg-slate-700 dark:hover:text-secondary-200",
9430
9514
  isLocked && "cursor-not-allowed opacity-40"
@@ -9438,7 +9522,7 @@ function ITWysiwyg({
9438
9522
  /* @__PURE__ */ jsxs51(
9439
9523
  "div",
9440
9524
  {
9441
- className: clsx49(
9525
+ className: clsx50(
9442
9526
  "w-full border border-solid rounded-lg overflow-hidden transition-all duration-200",
9443
9527
  error ? "ring-2 ring-danger-100 border-danger-500" : "border-secondary-300 focus-within:ring-2 focus-within:border-primary-500 focus-within:ring-primary-100",
9444
9528
  isLocked && "opacity-50 cursor-not-allowed bg-secondary-100 dark:bg-slate-800"
@@ -9447,7 +9531,7 @@ function ITWysiwyg({
9447
9531
  /* @__PURE__ */ jsx66(
9448
9532
  "div",
9449
9533
  {
9450
- className: clsx49(
9534
+ className: clsx50(
9451
9535
  "flex flex-wrap items-center gap-0.5 px-1.5 py-1 border-b border-secondary-200 bg-secondary-50 dark:bg-slate-800",
9452
9536
  isLocked && "bg-secondary-100 dark:bg-slate-900"
9453
9537
  ),
@@ -9474,7 +9558,7 @@ function ITWysiwyg({
9474
9558
  focusedRef.current = false;
9475
9559
  emitChange();
9476
9560
  },
9477
- className: clsx49(
9561
+ className: clsx50(
9478
9562
  "outline-none bg-white dark:bg-slate-900 text-secondary-800 dark:text-secondary-200",
9479
9563
  "empty:before:content-[attr(data-placeholder)] empty:before:text-secondary-400 empty:before:pointer-events-none empty:before:select-none",
9480
9564
  "[&_ul]:list-disc [&_ol]:list-decimal [&_ul]:pl-5 [&_ol]:pl-5 [&_li]:ml-4",
@@ -9498,7 +9582,7 @@ function ITWysiwyg({
9498
9582
  // src/components/organisms/dropfile/dropfile.tsx
9499
9583
  import { useState as useState34, useEffect as useEffect17 } from "react";
9500
9584
  import { useDropzone } from "react-dropzone";
9501
- import clsx50 from "clsx";
9585
+ import clsx51 from "clsx";
9502
9586
 
9503
9587
  // src/components/organisms/dropfile/dropfile.props.ts
9504
9588
  var FileTypeEnum = /* @__PURE__ */ ((FileTypeEnum2) => {
@@ -9801,7 +9885,7 @@ var ITDropfile = ({
9801
9885
  /* @__PURE__ */ jsx67(ITText, { as: "p", className: "text-[10px] text-secondary-500", children: selectedFile ? (selectedFile.size / 1024 / 1024).toFixed(2) + " MB" : "" })
9802
9886
  ] })
9803
9887
  ] }) }),
9804
- /* @__PURE__ */ jsx67("div", { className: clsx50("relative bg-secondary-100 flex items-center justify-center", !contentClassName ? "max-h-[200px] min-h-[100px] overflow-auto" : contentClassName), children: selectedFile && fileType?.startsWith("image/") || !selectedFile && imagePreview ? /* @__PURE__ */ jsx67(
9888
+ /* @__PURE__ */ jsx67("div", { className: clsx51("relative bg-secondary-100 flex items-center justify-center", !contentClassName ? "max-h-[200px] min-h-[100px] overflow-auto" : contentClassName), children: selectedFile && fileType?.startsWith("image/") || !selectedFile && imagePreview ? /* @__PURE__ */ jsx67(
9805
9889
  "img",
9806
9890
  {
9807
9891
  src: imagePreview,
@@ -9865,7 +9949,7 @@ var ITDropfile = ({
9865
9949
  ] }) });
9866
9950
  if (view === "button") {
9867
9951
  const hasFile = Boolean(selectedFile || imagePreview);
9868
- return /* @__PURE__ */ jsxs52("div", { className: clsx50("inline-block", containerClassName), children: [
9952
+ return /* @__PURE__ */ jsxs52("div", { className: clsx51("inline-block", containerClassName), children: [
9869
9953
  /* @__PURE__ */ jsx67(
9870
9954
  ITButton,
9871
9955
  {
@@ -9887,7 +9971,7 @@ var ITDropfile = ({
9887
9971
  ] }) })
9888
9972
  ] });
9889
9973
  }
9890
- return /* @__PURE__ */ jsxs52("div", { className: clsx50("w-full transition-all duration-300", containerClassName), children: [
9974
+ return /* @__PURE__ */ jsxs52("div", { className: clsx51("w-full transition-all duration-300", containerClassName), children: [
9891
9975
  headerRow,
9892
9976
  dropZoneOrPreview
9893
9977
  ] });
@@ -9896,7 +9980,7 @@ var dropfile_default = ITDropfile;
9896
9980
 
9897
9981
  // src/components/templates/layout/layout.tsx
9898
9982
  import { useState as useState36 } from "react";
9899
- import clsx51 from "clsx";
9983
+ import clsx52 from "clsx";
9900
9984
 
9901
9985
  // src/components/organisms/topbar/topbar.tsx
9902
9986
  import { FaUserCircle as FaUserCircle2, FaBars } from "react-icons/fa";
@@ -10154,7 +10238,7 @@ function ITLayout({
10154
10238
  )
10155
10239
  }
10156
10240
  ),
10157
- /* @__PURE__ */ jsx69("main", { className: "flex-1 overflow-y-auto w-full custom-scrollbar relative z-0", children: /* @__PURE__ */ jsx69("div", { className: clsx51("mx-auto w-full max-w-7xl px-4 sm:px-6 lg:px-8 py-6 h-full", contentClassName), children }) })
10241
+ /* @__PURE__ */ jsx69("main", { className: "flex-1 overflow-y-auto w-full custom-scrollbar relative z-0", children: /* @__PURE__ */ jsx69("div", { className: clsx52("mx-auto w-full max-w-7xl px-4 sm:px-6 lg:px-8 py-6 h-full", contentClassName), children }) })
10158
10242
  ]
10159
10243
  }
10160
10244
  )
@@ -10247,7 +10331,7 @@ function ITLoader({
10247
10331
  }
10248
10332
 
10249
10333
  // src/components/molecules/stepper/stepper.tsx
10250
- import clsx52 from "clsx";
10334
+ import clsx53 from "clsx";
10251
10335
  import { useEffect as useEffect18, useRef as useRef23, useState as useState37 } from "react";
10252
10336
  import { FaChevronLeft as FaChevronLeft4, FaChevronRight as FaChevronRight5, FaCheck as FaCheck5 } from "react-icons/fa";
10253
10337
  import { jsx as jsx71, jsxs as jsxs55 } from "react/jsx-runtime";
@@ -10324,7 +10408,7 @@ function ITStepper({
10324
10408
  }
10325
10409
  return /* @__PURE__ */ jsx71(ITText, { as: "span", className: "text-sm font-semibold", children: index + 1 });
10326
10410
  };
10327
- return /* @__PURE__ */ jsxs55("div", { className: clsx52("w-full max-w-5xl mx-auto px-4", containerClassName), children: [
10411
+ return /* @__PURE__ */ jsxs55("div", { className: clsx53("w-full max-w-5xl mx-auto px-4", containerClassName), children: [
10328
10412
  /* @__PURE__ */ jsxs55("div", { className: "relative mb-8", children: [
10329
10413
  /* @__PURE__ */ jsx71(
10330
10414
  "div",
@@ -10359,7 +10443,7 @@ function ITStepper({
10359
10443
  /* @__PURE__ */ jsx71(
10360
10444
  "div",
10361
10445
  {
10362
- className: clsx52(
10446
+ className: clsx53(
10363
10447
  "flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300 transform",
10364
10448
  hasIcon && "p-2",
10365
10449
  isCompleted && "bg-slate-400 border-slate-400 text-white scale-100 shadow",
@@ -10374,7 +10458,7 @@ function ITStepper({
10374
10458
  ITText,
10375
10459
  {
10376
10460
  as: "span",
10377
- className: clsx52(
10461
+ className: clsx53(
10378
10462
  "mt-2 text-xs sm:text-sm font-medium transition-colors text-center",
10379
10463
  isCompleted ? "text-slate-400" : !isActive && "text-secondary-400"
10380
10464
  ),
@@ -10395,7 +10479,7 @@ function ITStepper({
10395
10479
  tabIndex: -1,
10396
10480
  role: "region",
10397
10481
  "aria-labelledby": `step-${currentStep}`,
10398
- className: clsx52(
10482
+ className: clsx53(
10399
10483
  stepClassName,
10400
10484
  "bg-white border border-secondary-100 rounded-2xl shadow-lg min-h-[280px] transition-transform duration-400 no-scrollbar p-6",
10401
10485
  scrollableContent && "overflow-y-auto hide-scrollbar"