@ktnpm_devops/react-component 0.6.0 → 0.7.1

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.
Files changed (227) hide show
  1. package/dist/composites/FilterDropdown/FilterDropdown.d.ts.map +1 -1
  2. package/dist/composites/MultiSelectDropdown/MultiSelectDropdown.d.ts +5 -1
  3. package/dist/composites/MultiSelectDropdown/MultiSelectDropdown.d.ts.map +1 -1
  4. package/dist/index10.cjs +1 -1
  5. package/dist/index10.js +1 -1
  6. package/dist/index11.cjs +1 -1
  7. package/dist/index11.js +1 -1
  8. package/dist/index12.cjs +1 -1
  9. package/dist/index12.js +1 -1
  10. package/dist/index14.cjs +1 -1
  11. package/dist/index14.js +1 -1
  12. package/dist/index15.cjs +2 -2
  13. package/dist/index15.js +2 -2
  14. package/dist/index16.cjs +1 -1
  15. package/dist/index16.js +1 -1
  16. package/dist/index17.cjs +1 -1
  17. package/dist/index17.js +1 -1
  18. package/dist/index18.cjs +2 -2
  19. package/dist/index18.js +2 -2
  20. package/dist/index19.cjs +2 -2
  21. package/dist/index19.js +2 -2
  22. package/dist/index20.cjs +2 -2
  23. package/dist/index20.js +2 -2
  24. package/dist/index21.cjs +1 -1
  25. package/dist/index21.js +1 -1
  26. package/dist/index22.cjs +1 -1
  27. package/dist/index22.js +1 -1
  28. package/dist/index23.cjs +1 -1
  29. package/dist/index23.js +1 -1
  30. package/dist/index24.cjs +14 -11
  31. package/dist/index24.cjs.map +1 -1
  32. package/dist/index24.js +14 -11
  33. package/dist/index24.js.map +1 -1
  34. package/dist/index25.cjs +1 -1
  35. package/dist/index25.js +1 -1
  36. package/dist/index27.cjs +2 -2
  37. package/dist/index27.js +2 -2
  38. package/dist/index28.cjs +1 -1
  39. package/dist/index28.js +1 -1
  40. package/dist/index29.cjs +11 -9
  41. package/dist/index29.cjs.map +1 -1
  42. package/dist/index29.js +11 -9
  43. package/dist/index29.js.map +1 -1
  44. package/dist/index30.cjs +1 -1
  45. package/dist/index30.js +1 -1
  46. package/dist/index31.cjs +2 -2
  47. package/dist/index31.js +2 -2
  48. package/dist/index32.cjs +2 -2
  49. package/dist/index32.js +2 -2
  50. package/dist/index33.cjs +1 -1
  51. package/dist/index33.js +1 -1
  52. package/dist/index34.cjs +2 -2
  53. package/dist/index34.js +2 -2
  54. package/dist/index35.cjs +1 -1
  55. package/dist/index35.js +1 -1
  56. package/dist/index36.cjs +1 -1
  57. package/dist/index36.js +1 -1
  58. package/dist/index37.cjs +1 -1
  59. package/dist/index37.js +1 -1
  60. package/dist/index38.cjs +1 -1
  61. package/dist/index38.js +1 -1
  62. package/dist/index39.cjs +2 -2
  63. package/dist/index39.js +2 -2
  64. package/dist/index40.cjs +1 -1
  65. package/dist/index40.js +1 -1
  66. package/dist/index41.cjs +3 -3
  67. package/dist/index41.js +3 -3
  68. package/dist/index42.cjs +1 -1
  69. package/dist/index42.js +1 -1
  70. package/dist/index43.cjs +1 -1
  71. package/dist/index43.js +1 -1
  72. package/dist/index44.cjs +2 -2
  73. package/dist/index44.js +2 -2
  74. package/dist/index45.cjs +1 -1
  75. package/dist/index45.js +1 -1
  76. package/dist/index46.cjs +1 -1
  77. package/dist/index46.js +1 -1
  78. package/dist/index47.cjs +2 -2
  79. package/dist/index47.js +2 -2
  80. package/dist/index49.cjs +20 -2
  81. package/dist/index49.cjs.map +1 -1
  82. package/dist/index49.js +21 -3
  83. package/dist/index49.js.map +1 -1
  84. package/dist/index50.cjs +12 -15
  85. package/dist/index50.cjs.map +1 -1
  86. package/dist/index50.js +12 -15
  87. package/dist/index50.js.map +1 -1
  88. package/dist/index51.cjs +18 -76
  89. package/dist/index51.cjs.map +1 -1
  90. package/dist/index51.js +17 -75
  91. package/dist/index51.js.map +1 -1
  92. package/dist/index52.cjs +13 -13
  93. package/dist/index52.js +13 -13
  94. package/dist/index53.cjs +76 -27
  95. package/dist/index53.cjs.map +1 -1
  96. package/dist/index53.js +75 -26
  97. package/dist/index53.js.map +1 -1
  98. package/dist/index54.cjs +22 -19
  99. package/dist/index54.cjs.map +1 -1
  100. package/dist/index54.js +22 -19
  101. package/dist/index54.js.map +1 -1
  102. package/dist/index57.cjs +10 -19
  103. package/dist/index57.cjs.map +1 -1
  104. package/dist/index57.js +11 -20
  105. package/dist/index57.js.map +1 -1
  106. package/dist/index58.cjs +35 -5
  107. package/dist/index58.cjs.map +1 -1
  108. package/dist/index58.js +36 -6
  109. package/dist/index58.js.map +1 -1
  110. package/dist/index59.cjs +19 -10
  111. package/dist/index59.cjs.map +1 -1
  112. package/dist/index59.js +19 -10
  113. package/dist/index59.js.map +1 -1
  114. package/dist/index60.cjs +34 -10
  115. package/dist/index60.cjs.map +1 -1
  116. package/dist/index60.js +35 -11
  117. package/dist/index60.js.map +1 -1
  118. package/dist/index61.cjs +19 -64
  119. package/dist/index61.cjs.map +1 -1
  120. package/dist/index61.js +20 -65
  121. package/dist/index61.js.map +1 -1
  122. package/dist/index62.cjs +2 -11
  123. package/dist/index62.cjs.map +1 -1
  124. package/dist/index62.js +3 -12
  125. package/dist/index62.js.map +1 -1
  126. package/dist/index63.cjs +20 -2
  127. package/dist/index63.cjs.map +1 -1
  128. package/dist/index63.js +21 -3
  129. package/dist/index63.js.map +1 -1
  130. package/dist/index64.cjs +76 -31
  131. package/dist/index64.cjs.map +1 -1
  132. package/dist/index64.js +76 -31
  133. package/dist/index64.js.map +1 -1
  134. package/dist/index65.cjs +16 -19
  135. package/dist/index65.cjs.map +1 -1
  136. package/dist/index65.js +16 -19
  137. package/dist/index65.js.map +1 -1
  138. package/dist/index66.cjs +2 -14
  139. package/dist/index66.cjs.map +1 -1
  140. package/dist/index66.js +2 -14
  141. package/dist/index66.js.map +1 -1
  142. package/dist/index67.cjs +66 -30
  143. package/dist/index67.cjs.map +1 -1
  144. package/dist/index67.js +66 -30
  145. package/dist/index67.js.map +1 -1
  146. package/dist/index69.cjs +16 -19
  147. package/dist/index69.cjs.map +1 -1
  148. package/dist/index69.js +16 -19
  149. package/dist/index69.js.map +1 -1
  150. package/dist/index70.cjs +10 -13
  151. package/dist/index70.cjs.map +1 -1
  152. package/dist/index70.js +10 -13
  153. package/dist/index70.js.map +1 -1
  154. package/dist/index71.cjs +9 -9
  155. package/dist/index71.js +10 -10
  156. package/dist/index72.cjs +2 -5
  157. package/dist/index72.cjs.map +1 -1
  158. package/dist/index72.js +2 -5
  159. package/dist/index72.js.map +1 -1
  160. package/dist/index73.cjs +5 -38
  161. package/dist/index73.cjs.map +1 -1
  162. package/dist/index73.js +6 -39
  163. package/dist/index73.js.map +1 -1
  164. package/dist/index74.cjs +37 -16
  165. package/dist/index74.cjs.map +1 -1
  166. package/dist/index74.js +38 -17
  167. package/dist/index74.js.map +1 -1
  168. package/dist/index75.cjs +43 -34
  169. package/dist/index75.cjs.map +1 -1
  170. package/dist/index75.js +43 -34
  171. package/dist/index75.js.map +1 -1
  172. package/dist/index76.cjs +50 -2
  173. package/dist/index76.cjs.map +1 -1
  174. package/dist/index76.js +51 -3
  175. package/dist/index76.js.map +1 -1
  176. package/dist/index77.cjs +134 -58
  177. package/dist/index77.cjs.map +1 -1
  178. package/dist/index77.js +133 -57
  179. package/dist/index77.js.map +1 -1
  180. package/dist/index78.cjs +40 -25
  181. package/dist/index78.cjs.map +1 -1
  182. package/dist/index78.js +40 -25
  183. package/dist/index78.js.map +1 -1
  184. package/dist/index79.cjs +13 -49
  185. package/dist/index79.cjs.map +1 -1
  186. package/dist/index79.js +14 -50
  187. package/dist/index79.js.map +1 -1
  188. package/dist/index80.cjs +49 -43
  189. package/dist/index80.cjs.map +1 -1
  190. package/dist/index80.js +50 -44
  191. package/dist/index80.js.map +1 -1
  192. package/dist/index81.cjs +28 -31
  193. package/dist/index81.cjs.map +1 -1
  194. package/dist/index81.js +28 -31
  195. package/dist/index81.js.map +1 -1
  196. package/dist/index82.cjs +52 -16
  197. package/dist/index82.cjs.map +1 -1
  198. package/dist/index82.js +52 -16
  199. package/dist/index82.js.map +1 -1
  200. package/dist/index83.cjs +30 -54
  201. package/dist/index83.cjs.map +1 -1
  202. package/dist/index83.js +30 -54
  203. package/dist/index83.js.map +1 -1
  204. package/dist/index84.cjs +13 -16
  205. package/dist/index84.cjs.map +1 -1
  206. package/dist/index84.js +14 -17
  207. package/dist/index84.js.map +1 -1
  208. package/dist/index85.cjs +35 -77
  209. package/dist/index85.cjs.map +1 -1
  210. package/dist/index85.js +35 -77
  211. package/dist/index85.js.map +1 -1
  212. package/dist/index86.cjs +22 -134
  213. package/dist/index86.cjs.map +1 -1
  214. package/dist/index86.js +21 -133
  215. package/dist/index86.js.map +1 -1
  216. package/dist/index87.cjs +4 -40
  217. package/dist/index87.cjs.map +1 -1
  218. package/dist/index87.js +5 -41
  219. package/dist/index87.js.map +1 -1
  220. package/dist/index88.cjs +25 -28
  221. package/dist/index88.cjs.map +1 -1
  222. package/dist/index88.js +25 -28
  223. package/dist/index88.js.map +1 -1
  224. package/dist/index9.cjs +1 -1
  225. package/dist/index9.js +1 -1
  226. package/dist/style.css +37 -16
  227. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FilterDropdown.d.ts","sourceRoot":"","sources":["../../../src/composites/FilterDropdown/FilterDropdown.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAGlE,eAAO,MAAM,cAAc;kHAYxB,mBAAmB;;CAyHrB,CAAC"}
1
+ {"version":3,"file":"FilterDropdown.d.ts","sourceRoot":"","sources":["../../../src/composites/FilterDropdown/FilterDropdown.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAGlE,eAAO,MAAM,cAAc;kHAYxB,mBAAmB;;CA6HrB,CAAC"}
@@ -24,6 +24,10 @@ export interface MultiSelectDropdownProps {
24
24
  customTriggerLabel?: string;
25
25
  /** Explicit selection mode override. */
26
26
  selectionMode?: 'all' | 'custom';
27
+ /** Treat an empty `selected` array as "all selected" (opt-in, legacy behavior). */
28
+ emptyMeansAll?: boolean;
29
+ /** What the trigger shows as a summary: the value label ('text') or just the count badge ('count'). */
30
+ triggerSummary?: 'text' | 'count';
27
31
  }
28
- export declare const MultiSelectDropdown: ({ label, options, selected, onApply, isLoading, error, allowCustomValues, customTriggerLabel, selectionMode, }: MultiSelectDropdownProps) => import("react/jsx-runtime").JSX.Element;
32
+ export declare const MultiSelectDropdown: ({ label, options, selected, onApply, isLoading, error, allowCustomValues, customTriggerLabel, selectionMode, emptyMeansAll, triggerSummary, }: MultiSelectDropdownProps) => import("react/jsx-runtime").JSX.Element;
29
33
  //# sourceMappingURL=MultiSelectDropdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectDropdown.d.ts","sourceRoot":"","sources":["../../../src/composites/MultiSelectDropdown/MultiSelectDropdown.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,oDAAoD;IACpD,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE;QAAE,aAAa,EAAE,KAAK,GAAG,QAAQ,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF,mDAAmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wCAAwC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,wCAAwC;IACxC,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CAClC;AAQD,eAAO,MAAM,mBAAmB,GAAI,gHAUjC,wBAAwB,4CAwP1B,CAAC"}
1
+ {"version":3,"file":"MultiSelectDropdown.d.ts","sourceRoot":"","sources":["../../../src/composites/MultiSelectDropdown/MultiSelectDropdown.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,oDAAoD;IACpD,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE;QAAE,aAAa,EAAE,KAAK,GAAG,QAAQ,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF,mDAAmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wCAAwC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,wCAAwC;IACxC,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IACjC,mFAAmF;IACnF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uGAAuG;IACvG,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAQD,eAAO,MAAM,mBAAmB,GAAI,+IAYjC,wBAAwB,4CA0P1B,CAAC"}
package/dist/index10.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const clsx = require("./index48.cjs");
5
- const AuthLayout_module = require("./index60.cjs");
5
+ const AuthLayout_module = require("./index70.cjs");
6
6
  const AuthLayout = ({
7
7
  children,
8
8
  logo,
package/dist/index10.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { clsx } from "./index48.js";
3
- import styles from "./index60.js";
3
+ import styles from "./index70.js";
4
4
  const AuthLayout = ({
5
5
  children,
6
6
  logo,
package/dist/index11.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const clsx = require("./index48.cjs");
5
- const Avatar_module = require("./index62.cjs");
5
+ const Avatar_module = require("./index57.cjs");
6
6
  const Avatar = ({ label, size = "md", className, ...props }) => {
7
7
  const initials = label.split(" ").filter(Boolean).map((part) => part[0]).join("").slice(0, 2).toUpperCase();
8
8
  return /* @__PURE__ */ jsxRuntime.jsx(
package/dist/index11.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { clsx } from "./index48.js";
3
- import styles from "./index62.js";
3
+ import styles from "./index57.js";
4
4
  const Avatar = ({ label, size = "md", className, ...props }) => {
5
5
  const initials = label.split(" ").filter(Boolean).map((part) => part[0]).join("").slice(0, 2).toUpperCase();
6
6
  return /* @__PURE__ */ jsx(
package/dist/index12.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const clsx = require("./index48.cjs");
5
- const Badge_module = require("./index52.cjs");
5
+ const Badge_module = require("./index51.cjs");
6
6
  const Badge = ({ className, variant = "info", ...props }) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx.clsx(Badge_module.default.root, Badge_module.default[variant], className), ...props });
7
7
  exports.Badge = Badge;
8
8
  //# sourceMappingURL=index12.cjs.map
package/dist/index12.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { clsx } from "./index48.js";
3
- import styles from "./index52.js";
3
+ import styles from "./index51.js";
4
4
  const Badge = ({ className, variant = "info", ...props }) => /* @__PURE__ */ jsx("span", { className: clsx(styles.root, styles[variant], className), ...props });
5
5
  export {
6
6
  Badge
package/dist/index14.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const clsx = require("./index48.cjs");
5
- const Card_module = require("./index59.cjs");
5
+ const Card_module = require("./index50.cjs");
6
6
  const Card = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx.clsx(Card_module.default.root, className), ...props });
7
7
  const CardHeader = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx.clsx(Card_module.default.header, className), ...props });
8
8
  const CardContent = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx.clsx(Card_module.default.content, className), ...props });
package/dist/index14.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { clsx } from "./index48.js";
3
- import styles from "./index59.js";
3
+ import styles from "./index50.js";
4
4
  const Card = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { className: clsx(styles.root, className), ...props });
5
5
  const CardHeader = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { className: clsx(styles.header, className), ...props });
6
6
  const CardContent = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { className: clsx(styles.content, className), ...props });
package/dist/index15.cjs CHANGED
@@ -4,9 +4,9 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const reactDom = require("react-dom");
6
6
  const useEscapeKey = require("./index5.cjs");
7
- const constants = require("./index51.cjs");
7
+ const constants = require("./index53.cjs");
8
8
  const clsx = require("./index48.cjs");
9
- const ChartExpandModal_module = require("./index67.cjs");
9
+ const ChartExpandModal_module = require("./index83.cjs");
10
10
  const getInitialSize = (override) => {
11
11
  if (typeof window === "undefined") {
12
12
  return {
package/dist/index15.js CHANGED
@@ -2,9 +2,9 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { useState, useRef, useEffect, useCallback } from "react";
3
3
  import { createPortal } from "react-dom";
4
4
  import { useEscapeKey } from "./index5.js";
5
- import { SVG_STROKE_WIDTH, SVG_VIEWBOX, ICON_SIZE, CHART_MODAL, VIEWPORT_MARGIN } from "./index51.js";
5
+ import { SVG_STROKE_WIDTH, SVG_VIEWBOX, ICON_SIZE, CHART_MODAL, VIEWPORT_MARGIN } from "./index53.js";
6
6
  import { clsx } from "./index48.js";
7
- import styles from "./index67.js";
7
+ import styles from "./index83.js";
8
8
  const getInitialSize = (override) => {
9
9
  if (typeof window === "undefined") {
10
10
  return {
package/dist/index16.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const clsx = require("./index48.cjs");
5
- const ChatLayout_module = require("./index84.cjs");
5
+ const ChatLayout_module = require("./index69.cjs");
6
6
  const ChatLayout = ({
7
7
  sidebar,
8
8
  conversationList,
package/dist/index16.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { clsx } from "./index48.js";
3
- import styles from "./index84.js";
3
+ import styles from "./index69.js";
4
4
  const ChatLayout = ({
5
5
  sidebar,
6
6
  conversationList,
package/dist/index17.cjs CHANGED
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const clsx = require("./index48.cjs");
6
- const Col_module = require("./index76.cjs");
6
+ const Col_module = require("./index62.cjs");
7
7
  const GRID_COLUMNS = 12;
8
8
  function toFlexValue(value) {
9
9
  if (value === true) return 1;
package/dist/index17.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
3
  import { clsx } from "./index48.js";
4
- import styles from "./index76.js";
4
+ import styles from "./index62.js";
5
5
  const GRID_COLUMNS = 12;
6
6
  function toFlexValue(value) {
7
7
  if (value === true) return 1;
package/dist/index18.cjs CHANGED
@@ -4,9 +4,9 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const reactDom = require("react-dom");
6
6
  const useEscapeKey = require("./index5.cjs");
7
- const constants = require("./index51.cjs");
7
+ const constants = require("./index53.cjs");
8
8
  const clsx = require("./index48.cjs");
9
- const ContextMenu_module = require("./index70.cjs");
9
+ const ContextMenu_module = require("./index84.cjs");
10
10
  const ContextMenu = ({ x, y, items, onClose }) => {
11
11
  const menuRef = react.useRef(null);
12
12
  const [focusedIndex, setFocusedIndex] = react.useState(-1);
package/dist/index18.js CHANGED
@@ -2,9 +2,9 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { useRef, useState, useCallback, useEffect } from "react";
3
3
  import { createPortal } from "react-dom";
4
4
  import { useEscapeKey } from "./index5.js";
5
- import { CONTEXT_MENU_MARGIN } from "./index51.js";
5
+ import { CONTEXT_MENU_MARGIN } from "./index53.js";
6
6
  import { clsx } from "./index48.js";
7
- import styles from "./index70.js";
7
+ import styles from "./index84.js";
8
8
  const ContextMenu = ({ x, y, items, onClose }) => {
9
9
  const menuRef = useRef(null);
10
10
  const [focusedIndex, setFocusedIndex] = useState(-1);
package/dist/index19.cjs CHANGED
@@ -4,8 +4,8 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const ReactECharts = require("echarts-for-react");
6
6
  const clsx = require("./index48.cjs");
7
- const constants = require("./index51.cjs");
8
- const CounterTimeseriesChart_module = require("./index88.cjs");
7
+ const constants = require("./index53.cjs");
8
+ const CounterTimeseriesChart_module = require("./index81.cjs");
9
9
  const DEFAULT_TIME_RANGE_OPTIONS = ["auto", "1h", "6h", "24h", "7d", "30d"];
10
10
  const buildMarkAreas = (annotations) => annotations.filter((a) => a.end).map((a) => [
11
11
  { name: a.label, xAxis: a.start, itemStyle: { color: a.color ?? "rgba(255,107,90,0.12)" } },
package/dist/index19.js CHANGED
@@ -2,8 +2,8 @@ import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useMemo } from "react";
3
3
  import ReactECharts from "echarts-for-react";
4
4
  import { clsx } from "./index48.js";
5
- import { CHART_COLORS } from "./index51.js";
6
- import styles from "./index88.js";
5
+ import { CHART_COLORS } from "./index53.js";
6
+ import styles from "./index81.js";
7
7
  const DEFAULT_TIME_RANGE_OPTIONS = ["auto", "1h", "6h", "24h", "7d", "30d"];
8
8
  const buildMarkAreas = (annotations) => annotations.filter((a) => a.end).map((a) => [
9
9
  { name: a.label, xAxis: a.start, itemStyle: { color: a.color ?? "rgba(255,107,90,0.12)" } },
package/dist/index20.cjs CHANGED
@@ -3,8 +3,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const clsx = require("./index48.cjs");
6
- const constants = require("./index51.cjs");
7
- const CountersAnalysisCard_module = require("./index77.cjs");
6
+ const constants = require("./index53.cjs");
7
+ const CountersAnalysisCard_module = require("./index82.cjs");
8
8
  const CounterTimeseriesChart = require("./index19.cjs");
9
9
  const COLUMN_HEADERS = [
10
10
  { key: "counter", label: "Counter" },
package/dist/index20.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useState, useMemo } from "react";
3
3
  import { clsx } from "./index48.js";
4
- import { COUNTERS_PAGE_SIZE } from "./index51.js";
5
- import styles from "./index77.js";
4
+ import { COUNTERS_PAGE_SIZE } from "./index53.js";
5
+ import styles from "./index82.js";
6
6
  import { CounterTimeseriesChart } from "./index19.js";
7
7
  const COLUMN_HEADERS = [
8
8
  { key: "counter", label: "Counter" },
package/dist/index21.cjs CHANGED
@@ -6,7 +6,7 @@ const clsx = require("./index48.cjs");
6
6
  const useClickOutside = require("./index4.cjs");
7
7
  const useEscapeKey = require("./index5.cjs");
8
8
  const format = require("./index7.cjs");
9
- const CustomRangePicker_module = require("./index64.cjs");
9
+ const CustomRangePicker_module = require("./index58.cjs");
10
10
  const formatInputValue = (iso) => {
11
11
  if (!iso) return "";
12
12
  const date = new Date(iso);
package/dist/index21.js CHANGED
@@ -4,7 +4,7 @@ import { clsx } from "./index48.js";
4
4
  import { useClickOutside } from "./index4.js";
5
5
  import { useEscapeKey } from "./index5.js";
6
6
  import { formatLocalISOString } from "./index7.js";
7
- import styles from "./index64.js";
7
+ import styles from "./index58.js";
8
8
  const formatInputValue = (iso) => {
9
9
  if (!iso) return "";
10
10
  const date = new Date(iso);
package/dist/index22.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const clsx = require("./index48.cjs");
5
- const DashboardLayout_module = require("./index82.cjs");
5
+ const DashboardLayout_module = require("./index71.cjs");
6
6
  const DashboardLayout = ({
7
7
  sidebar,
8
8
  filterBar,
package/dist/index22.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { clsx } from "./index48.js";
3
- import styles from "./index82.js";
3
+ import styles from "./index71.js";
4
4
  const DashboardLayout = ({
5
5
  sidebar,
6
6
  filterBar,
package/dist/index23.cjs CHANGED
@@ -5,7 +5,7 @@ const react = require("react");
5
5
  const clsx = require("./index48.cjs");
6
6
  const useClickOutside = require("./index4.cjs");
7
7
  const useEscapeKey = require("./index5.cjs");
8
- const DatePickerDropdown_module = require("./index80.cjs");
8
+ const DatePickerDropdown_module = require("./index75.cjs");
9
9
  const MONTHS = [
10
10
  "January",
11
11
  "February",
package/dist/index23.js CHANGED
@@ -3,7 +3,7 @@ import { useState, useRef, useCallback, useEffect, useMemo } from "react";
3
3
  import { clsx } from "./index48.js";
4
4
  import { useClickOutside } from "./index4.js";
5
5
  import { useEscapeKey } from "./index5.js";
6
- import styles from "./index80.js";
6
+ import styles from "./index75.js";
7
7
  const MONTHS = [
8
8
  "January",
9
9
  "February",
package/dist/index24.cjs CHANGED
@@ -5,7 +5,8 @@ const react = require("react");
5
5
  const clsx = require("./index48.cjs");
6
6
  const useClickOutside = require("./index4.cjs");
7
7
  const useEscapeKey = require("./index5.cjs");
8
- const FilterDropdown_module = require("./index81.cjs");
8
+ const constants = require("./index53.cjs");
9
+ const FilterDropdown_module = require("./index60.cjs");
9
10
  const FilterDropdown = ({
10
11
  label,
11
12
  mode,
@@ -58,32 +59,34 @@ const FilterDropdown = ({
58
59
  };
59
60
  const clearHandler = mode === "multi" ? onClear : clearText;
60
61
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: containerRef, className: clsx.clsx(FilterDropdown_module.default.root, className), children: [
61
- /* @__PURE__ */ jsxRuntime.jsxs(
62
+ /* @__PURE__ */ jsxRuntime.jsx(
62
63
  "button",
63
64
  {
64
65
  type: "button",
65
- className: clsx.clsx(FilterDropdown_module.default.trigger, hasSelection && FilterDropdown_module.default.isActive),
66
+ className: FilterDropdown_module.default.trigger,
66
67
  "aria-haspopup": "true",
67
68
  "aria-expanded": isOpen,
68
69
  onClick: () => setIsOpen((open) => !open),
69
- children: [
70
- label,
71
- count > 0 && ` (${count})`,
70
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: FilterDropdown_module.default.triggerContent, children: [
72
71
  /* @__PURE__ */ jsxRuntime.jsx(
73
72
  "svg",
74
73
  {
75
- className: clsx.clsx(FilterDropdown_module.default.arrow, isOpen && FilterDropdown_module.default.arrowOpen),
76
- viewBox: "0 0 24 24",
74
+ className: clsx.clsx(FilterDropdown_module.default.chevron, isOpen && FilterDropdown_module.default.chevronOpen),
75
+ width: constants.ICON_SIZE.MD,
76
+ height: constants.ICON_SIZE.MD,
77
+ viewBox: constants.SVG_VIEWBOX,
77
78
  fill: "none",
78
79
  stroke: "currentColor",
79
- strokeWidth: "2",
80
+ strokeWidth: constants.SVG_STROKE_WIDTH,
80
81
  strokeLinecap: "round",
81
82
  strokeLinejoin: "round",
82
83
  "aria-hidden": "true",
83
84
  children: /* @__PURE__ */ jsxRuntime.jsx("polyline", { points: "6 9 12 15 18 9" })
84
85
  }
85
- )
86
- ]
86
+ ),
87
+ label,
88
+ count > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: FilterDropdown_module.default.badge, children: count })
89
+ ] })
87
90
  }
88
91
  ),
89
92
  isOpen && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: FilterDropdown_module.default.pop, children: [
@@ -1 +1 @@
1
- {"version":3,"file":"index24.cjs","sources":["../src/composites/FilterDropdown/FilterDropdown.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport { useClickOutside } from '../../hooks/useClickOutside';\nimport { useEscapeKey } from '../../hooks/useEscapeKey';\nimport type { FilterDropdownProps } from './FilterDropdown.types';\nimport styles from './FilterDropdown.module.css';\n\nexport const FilterDropdown = ({\n label,\n mode,\n options = [],\n selected,\n onToggle,\n onClear,\n value = '',\n onChange,\n placeholder,\n clearLabel = 'Limpiar',\n className,\n}: FilterDropdownProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n\n // Text mode keeps a draft that is only committed on Enter / blur / close.\n const [draft, setDraft] = useState(value);\n const lastCommitted = useRef(value);\n useEffect(() => {\n if (isOpen) {\n setDraft(value);\n lastCommitted.current = value;\n }\n }, [isOpen, value]);\n\n const commitDraft = useCallback(() => {\n if (draft !== lastCommitted.current) {\n lastCommitted.current = draft;\n onChange?.(draft);\n }\n }, [draft, onChange]);\n\n const close = useCallback(() => {\n if (mode === 'text') commitDraft();\n setIsOpen(false);\n }, [mode, commitDraft]);\n\n const cancel = useCallback(() => {\n setDraft(lastCommitted.current);\n setIsOpen(false);\n }, []);\n\n useClickOutside(containerRef, close);\n useEscapeKey(cancel, isOpen);\n\n const selectedSet = useMemo(\n () => (selected instanceof Set ? selected : new Set(selected ?? [])),\n [selected],\n );\n\n const count = mode === 'multi' ? selectedSet.size : value ? 1 : 0;\n const hasSelection = count > 0;\n\n const clearText = () => {\n setDraft('');\n lastCommitted.current = '';\n (onClear ?? (() => onChange?.('')))();\n };\n const clearHandler = mode === 'multi' ? onClear : clearText;\n\n return (\n <div ref={containerRef} className={clsx(styles.root, className)}>\n <button\n type=\"button\"\n className={clsx(styles.trigger, hasSelection && styles.isActive)}\n aria-haspopup=\"true\"\n aria-expanded={isOpen}\n onClick={() => setIsOpen((open) => !open)}\n >\n {label}\n {count > 0 && ` (${count})`}\n <svg\n className={clsx(styles.arrow, isOpen && styles.arrowOpen)}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n </button>\n\n {isOpen && (\n <div className={styles.pop}>\n {mode === 'multi' ? (\n <div className={styles.chips}>\n {options.map((option) => {\n const on = selectedSet.has(option.value);\n return (\n <button\n key={option.value}\n type=\"button\"\n className={clsx(styles.chip, on && styles.chipOn)}\n aria-pressed={on}\n onClick={() => onToggle?.(option.value)}\n >\n {option.label}\n </button>\n );\n })}\n </div>\n ) : (\n <input\n type=\"text\"\n className={styles.input}\n value={draft}\n placeholder={placeholder}\n aria-label={label}\n onChange={(event) => setDraft(event.target.value)}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n close();\n }\n }}\n onBlur={(event) => {\n if (!containerRef.current?.contains(event.relatedTarget as Node)) commitDraft();\n }}\n />\n )}\n {hasSelection && clearHandler && (\n <button type=\"button\" className={styles.clear} onClick={clearHandler}>\n {clearLabel} {label.toLowerCase()}\n </button>\n )}\n </div>\n )}\n </div>\n );\n};\n\nFilterDropdown.displayName = 'FilterDropdown';\n"],"names":["useState","useRef","useEffect","useCallback","useClickOutside","useEscapeKey","useMemo","jsxs","clsx","styles","jsx"],"mappings":"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"}
1
+ {"version":3,"file":"index24.cjs","sources":["../src/composites/FilterDropdown/FilterDropdown.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport { useClickOutside } from '../../hooks/useClickOutside';\nimport { useEscapeKey } from '../../hooks/useEscapeKey';\nimport { ICON_SIZE, SVG_VIEWBOX, SVG_STROKE_WIDTH } from '../../constants';\nimport type { FilterDropdownProps } from './FilterDropdown.types';\nimport styles from './FilterDropdown.module.css';\n\nexport const FilterDropdown = ({\n label,\n mode,\n options = [],\n selected,\n onToggle,\n onClear,\n value = '',\n onChange,\n placeholder,\n clearLabel = 'Limpiar',\n className,\n}: FilterDropdownProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n\n // Text mode keeps a draft that is only committed on Enter / blur / close.\n const [draft, setDraft] = useState(value);\n const lastCommitted = useRef(value);\n useEffect(() => {\n if (isOpen) {\n setDraft(value);\n lastCommitted.current = value;\n }\n }, [isOpen, value]);\n\n const commitDraft = useCallback(() => {\n if (draft !== lastCommitted.current) {\n lastCommitted.current = draft;\n onChange?.(draft);\n }\n }, [draft, onChange]);\n\n const close = useCallback(() => {\n if (mode === 'text') commitDraft();\n setIsOpen(false);\n }, [mode, commitDraft]);\n\n const cancel = useCallback(() => {\n setDraft(lastCommitted.current);\n setIsOpen(false);\n }, []);\n\n useClickOutside(containerRef, close);\n useEscapeKey(cancel, isOpen);\n\n const selectedSet = useMemo(\n () => (selected instanceof Set ? selected : new Set(selected ?? [])),\n [selected],\n );\n\n const count = mode === 'multi' ? selectedSet.size : value ? 1 : 0;\n const hasSelection = count > 0;\n\n const clearText = () => {\n setDraft('');\n lastCommitted.current = '';\n (onClear ?? (() => onChange?.('')))();\n };\n const clearHandler = mode === 'multi' ? onClear : clearText;\n\n return (\n <div ref={containerRef} className={clsx(styles.root, className)}>\n <button\n type=\"button\"\n className={styles.trigger}\n aria-haspopup=\"true\"\n aria-expanded={isOpen}\n onClick={() => setIsOpen((open) => !open)}\n >\n <div className={styles.triggerContent}>\n <svg\n className={clsx(styles.chevron, isOpen && styles.chevronOpen)}\n width={ICON_SIZE.MD}\n height={ICON_SIZE.MD}\n viewBox={SVG_VIEWBOX}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={SVG_STROKE_WIDTH}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n {label}\n {count > 0 && <span className={styles.badge}>{count}</span>}\n </div>\n </button>\n\n {isOpen && (\n <div className={styles.pop}>\n {mode === 'multi' ? (\n <div className={styles.chips}>\n {options.map((option) => {\n const on = selectedSet.has(option.value);\n return (\n <button\n key={option.value}\n type=\"button\"\n className={clsx(styles.chip, on && styles.chipOn)}\n aria-pressed={on}\n onClick={() => onToggle?.(option.value)}\n >\n {option.label}\n </button>\n );\n })}\n </div>\n ) : (\n <input\n type=\"text\"\n className={styles.input}\n value={draft}\n placeholder={placeholder}\n aria-label={label}\n onChange={(event) => setDraft(event.target.value)}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n close();\n }\n }}\n onBlur={(event) => {\n if (!containerRef.current?.contains(event.relatedTarget as Node)) commitDraft();\n }}\n />\n )}\n {hasSelection && clearHandler && (\n <button type=\"button\" className={styles.clear} onClick={clearHandler}>\n {clearLabel} {label.toLowerCase()}\n </button>\n )}\n </div>\n )}\n </div>\n );\n};\n\nFilterDropdown.displayName = 'FilterDropdown';\n"],"names":["useState","useRef","useEffect","useCallback","useClickOutside","useEscapeKey","useMemo","jsxs","clsx","styles","jsx","ICON_SIZE","SVG_VIEWBOX","SVG_STROKE_WIDTH"],"mappings":"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"}
package/dist/index24.js CHANGED
@@ -3,7 +3,8 @@ import { useState, useRef, useEffect, useCallback, useMemo } from "react";
3
3
  import { clsx } from "./index48.js";
4
4
  import { useClickOutside } from "./index4.js";
5
5
  import { useEscapeKey } from "./index5.js";
6
- import styles from "./index81.js";
6
+ import { SVG_STROKE_WIDTH, SVG_VIEWBOX, ICON_SIZE } from "./index53.js";
7
+ import styles from "./index60.js";
7
8
  const FilterDropdown = ({
8
9
  label,
9
10
  mode,
@@ -56,32 +57,34 @@ const FilterDropdown = ({
56
57
  };
57
58
  const clearHandler = mode === "multi" ? onClear : clearText;
58
59
  return /* @__PURE__ */ jsxs("div", { ref: containerRef, className: clsx(styles.root, className), children: [
59
- /* @__PURE__ */ jsxs(
60
+ /* @__PURE__ */ jsx(
60
61
  "button",
61
62
  {
62
63
  type: "button",
63
- className: clsx(styles.trigger, hasSelection && styles.isActive),
64
+ className: styles.trigger,
64
65
  "aria-haspopup": "true",
65
66
  "aria-expanded": isOpen,
66
67
  onClick: () => setIsOpen((open) => !open),
67
- children: [
68
- label,
69
- count > 0 && ` (${count})`,
68
+ children: /* @__PURE__ */ jsxs("div", { className: styles.triggerContent, children: [
70
69
  /* @__PURE__ */ jsx(
71
70
  "svg",
72
71
  {
73
- className: clsx(styles.arrow, isOpen && styles.arrowOpen),
74
- viewBox: "0 0 24 24",
72
+ className: clsx(styles.chevron, isOpen && styles.chevronOpen),
73
+ width: ICON_SIZE.MD,
74
+ height: ICON_SIZE.MD,
75
+ viewBox: SVG_VIEWBOX,
75
76
  fill: "none",
76
77
  stroke: "currentColor",
77
- strokeWidth: "2",
78
+ strokeWidth: SVG_STROKE_WIDTH,
78
79
  strokeLinecap: "round",
79
80
  strokeLinejoin: "round",
80
81
  "aria-hidden": "true",
81
82
  children: /* @__PURE__ */ jsx("polyline", { points: "6 9 12 15 18 9" })
82
83
  }
83
- )
84
- ]
84
+ ),
85
+ label,
86
+ count > 0 && /* @__PURE__ */ jsx("span", { className: styles.badge, children: count })
87
+ ] })
85
88
  }
86
89
  ),
87
90
  isOpen && /* @__PURE__ */ jsxs("div", { className: styles.pop, children: [
@@ -1 +1 @@
1
- {"version":3,"file":"index24.js","sources":["../src/composites/FilterDropdown/FilterDropdown.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport { useClickOutside } from '../../hooks/useClickOutside';\nimport { useEscapeKey } from '../../hooks/useEscapeKey';\nimport type { FilterDropdownProps } from './FilterDropdown.types';\nimport styles from './FilterDropdown.module.css';\n\nexport const FilterDropdown = ({\n label,\n mode,\n options = [],\n selected,\n onToggle,\n onClear,\n value = '',\n onChange,\n placeholder,\n clearLabel = 'Limpiar',\n className,\n}: FilterDropdownProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n\n // Text mode keeps a draft that is only committed on Enter / blur / close.\n const [draft, setDraft] = useState(value);\n const lastCommitted = useRef(value);\n useEffect(() => {\n if (isOpen) {\n setDraft(value);\n lastCommitted.current = value;\n }\n }, [isOpen, value]);\n\n const commitDraft = useCallback(() => {\n if (draft !== lastCommitted.current) {\n lastCommitted.current = draft;\n onChange?.(draft);\n }\n }, [draft, onChange]);\n\n const close = useCallback(() => {\n if (mode === 'text') commitDraft();\n setIsOpen(false);\n }, [mode, commitDraft]);\n\n const cancel = useCallback(() => {\n setDraft(lastCommitted.current);\n setIsOpen(false);\n }, []);\n\n useClickOutside(containerRef, close);\n useEscapeKey(cancel, isOpen);\n\n const selectedSet = useMemo(\n () => (selected instanceof Set ? selected : new Set(selected ?? [])),\n [selected],\n );\n\n const count = mode === 'multi' ? selectedSet.size : value ? 1 : 0;\n const hasSelection = count > 0;\n\n const clearText = () => {\n setDraft('');\n lastCommitted.current = '';\n (onClear ?? (() => onChange?.('')))();\n };\n const clearHandler = mode === 'multi' ? onClear : clearText;\n\n return (\n <div ref={containerRef} className={clsx(styles.root, className)}>\n <button\n type=\"button\"\n className={clsx(styles.trigger, hasSelection && styles.isActive)}\n aria-haspopup=\"true\"\n aria-expanded={isOpen}\n onClick={() => setIsOpen((open) => !open)}\n >\n {label}\n {count > 0 && ` (${count})`}\n <svg\n className={clsx(styles.arrow, isOpen && styles.arrowOpen)}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n </button>\n\n {isOpen && (\n <div className={styles.pop}>\n {mode === 'multi' ? (\n <div className={styles.chips}>\n {options.map((option) => {\n const on = selectedSet.has(option.value);\n return (\n <button\n key={option.value}\n type=\"button\"\n className={clsx(styles.chip, on && styles.chipOn)}\n aria-pressed={on}\n onClick={() => onToggle?.(option.value)}\n >\n {option.label}\n </button>\n );\n })}\n </div>\n ) : (\n <input\n type=\"text\"\n className={styles.input}\n value={draft}\n placeholder={placeholder}\n aria-label={label}\n onChange={(event) => setDraft(event.target.value)}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n close();\n }\n }}\n onBlur={(event) => {\n if (!containerRef.current?.contains(event.relatedTarget as Node)) commitDraft();\n }}\n />\n )}\n {hasSelection && clearHandler && (\n <button type=\"button\" className={styles.clear} onClick={clearHandler}>\n {clearLabel} {label.toLowerCase()}\n </button>\n )}\n </div>\n )}\n </div>\n );\n};\n\nFilterDropdown.displayName = 'FilterDropdown';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index24.js","sources":["../src/composites/FilterDropdown/FilterDropdown.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport { useClickOutside } from '../../hooks/useClickOutside';\nimport { useEscapeKey } from '../../hooks/useEscapeKey';\nimport { ICON_SIZE, SVG_VIEWBOX, SVG_STROKE_WIDTH } from '../../constants';\nimport type { FilterDropdownProps } from './FilterDropdown.types';\nimport styles from './FilterDropdown.module.css';\n\nexport const FilterDropdown = ({\n label,\n mode,\n options = [],\n selected,\n onToggle,\n onClear,\n value = '',\n onChange,\n placeholder,\n clearLabel = 'Limpiar',\n className,\n}: FilterDropdownProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n\n // Text mode keeps a draft that is only committed on Enter / blur / close.\n const [draft, setDraft] = useState(value);\n const lastCommitted = useRef(value);\n useEffect(() => {\n if (isOpen) {\n setDraft(value);\n lastCommitted.current = value;\n }\n }, [isOpen, value]);\n\n const commitDraft = useCallback(() => {\n if (draft !== lastCommitted.current) {\n lastCommitted.current = draft;\n onChange?.(draft);\n }\n }, [draft, onChange]);\n\n const close = useCallback(() => {\n if (mode === 'text') commitDraft();\n setIsOpen(false);\n }, [mode, commitDraft]);\n\n const cancel = useCallback(() => {\n setDraft(lastCommitted.current);\n setIsOpen(false);\n }, []);\n\n useClickOutside(containerRef, close);\n useEscapeKey(cancel, isOpen);\n\n const selectedSet = useMemo(\n () => (selected instanceof Set ? selected : new Set(selected ?? [])),\n [selected],\n );\n\n const count = mode === 'multi' ? selectedSet.size : value ? 1 : 0;\n const hasSelection = count > 0;\n\n const clearText = () => {\n setDraft('');\n lastCommitted.current = '';\n (onClear ?? (() => onChange?.('')))();\n };\n const clearHandler = mode === 'multi' ? onClear : clearText;\n\n return (\n <div ref={containerRef} className={clsx(styles.root, className)}>\n <button\n type=\"button\"\n className={styles.trigger}\n aria-haspopup=\"true\"\n aria-expanded={isOpen}\n onClick={() => setIsOpen((open) => !open)}\n >\n <div className={styles.triggerContent}>\n <svg\n className={clsx(styles.chevron, isOpen && styles.chevronOpen)}\n width={ICON_SIZE.MD}\n height={ICON_SIZE.MD}\n viewBox={SVG_VIEWBOX}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={SVG_STROKE_WIDTH}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n {label}\n {count > 0 && <span className={styles.badge}>{count}</span>}\n </div>\n </button>\n\n {isOpen && (\n <div className={styles.pop}>\n {mode === 'multi' ? (\n <div className={styles.chips}>\n {options.map((option) => {\n const on = selectedSet.has(option.value);\n return (\n <button\n key={option.value}\n type=\"button\"\n className={clsx(styles.chip, on && styles.chipOn)}\n aria-pressed={on}\n onClick={() => onToggle?.(option.value)}\n >\n {option.label}\n </button>\n );\n })}\n </div>\n ) : (\n <input\n type=\"text\"\n className={styles.input}\n value={draft}\n placeholder={placeholder}\n aria-label={label}\n onChange={(event) => setDraft(event.target.value)}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n close();\n }\n }}\n onBlur={(event) => {\n if (!containerRef.current?.contains(event.relatedTarget as Node)) commitDraft();\n }}\n />\n )}\n {hasSelection && clearHandler && (\n <button type=\"button\" className={styles.clear} onClick={clearHandler}>\n {clearLabel} {label.toLowerCase()}\n </button>\n )}\n </div>\n )}\n </div>\n );\n};\n\nFilterDropdown.displayName = 'FilterDropdown';\n"],"names":[],"mappings":"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"}
package/dist/index25.cjs CHANGED
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const clsx = require("./index48.cjs");
6
- const HeatmapMatrix_module = require("./index78.cjs");
6
+ const HeatmapMatrix_module = require("./index88.cjs");
7
7
  function activateOnKey(event, action) {
8
8
  if (event.key === "Enter" || event.key === " ") {
9
9
  event.preventDefault();
package/dist/index25.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
3
  import { clsx } from "./index48.js";
4
- import styles from "./index78.js";
4
+ import styles from "./index88.js";
5
5
  function activateOnKey(event, action) {
6
6
  if (event.key === "Enter" || event.key === " ") {
7
7
  event.preventDefault();
package/dist/index27.cjs CHANGED
@@ -3,8 +3,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const clsx = require("./index48.cjs");
6
- const constants = require("./index51.cjs");
7
- const LiveExplorerTable_module = require("./index79.cjs");
6
+ const constants = require("./index53.cjs");
7
+ const LiveExplorerTable_module = require("./index76.cjs");
8
8
  const SKELETON_ROWS = 5;
9
9
  const FULL_PERCENT = 100;
10
10
  const LiveExplorerTable = ({
package/dist/index27.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useRef, useEffect, useCallback } from "react";
3
3
  import { clsx } from "./index48.js";
4
- import { MIN_COLUMN_WIDTH } from "./index51.js";
5
- import styles from "./index79.js";
4
+ import { MIN_COLUMN_WIDTH } from "./index53.js";
5
+ import styles from "./index76.js";
6
6
  const SKELETON_ROWS = 5;
7
7
  const FULL_PERCENT = 100;
8
8
  const LiveExplorerTable = ({
package/dist/index28.cjs CHANGED
@@ -4,7 +4,7 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const reactDom = require("react-dom");
5
5
  const clsx = require("./index48.cjs");
6
6
  const useEscapeKey = require("./index5.cjs");
7
- const Modal_module = require("./index69.cjs");
7
+ const Modal_module = require("./index63.cjs");
8
8
  const Modal = ({
9
9
  open,
10
10
  title,
package/dist/index28.js CHANGED
@@ -2,7 +2,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { createPortal } from "react-dom";
3
3
  import { clsx } from "./index48.js";
4
4
  import { useEscapeKey } from "./index5.js";
5
- import styles from "./index69.js";
5
+ import styles from "./index63.js";
6
6
  const Modal = ({
7
7
  open,
8
8
  title,