@ktnpm_devops/react-component 0.5.0 → 0.6.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.
Files changed (278) hide show
  1. package/dist/constants.d.ts +7 -0
  2. package/dist/constants.d.ts.map +1 -1
  3. package/dist/index.cjs +18 -16
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.d.ts +2 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +18 -16
  8. package/dist/index.js.map +1 -1
  9. package/dist/index10.cjs +2 -2
  10. package/dist/index10.js +2 -2
  11. package/dist/index11.cjs +2 -2
  12. package/dist/index11.js +2 -2
  13. package/dist/index12.cjs +2 -2
  14. package/dist/index12.js +2 -2
  15. package/dist/index13.cjs +2 -2
  16. package/dist/index13.js +2 -2
  17. package/dist/index14.cjs +2 -2
  18. package/dist/index14.js +2 -2
  19. package/dist/index15.cjs +2 -2
  20. package/dist/index15.js +2 -2
  21. package/dist/index16.cjs +2 -2
  22. package/dist/index16.js +2 -2
  23. package/dist/index17.cjs +2 -2
  24. package/dist/index17.js +2 -2
  25. package/dist/index18.cjs +2 -2
  26. package/dist/index18.js +2 -2
  27. package/dist/index19.cjs +2 -2
  28. package/dist/index19.js +2 -2
  29. package/dist/index20.cjs +2 -2
  30. package/dist/index20.js +2 -2
  31. package/dist/index21.cjs +2 -2
  32. package/dist/index21.js +2 -2
  33. package/dist/index22.cjs +2 -2
  34. package/dist/index22.js +2 -2
  35. package/dist/index23.cjs +2 -2
  36. package/dist/index23.js +2 -2
  37. package/dist/index24.cjs +2 -2
  38. package/dist/index24.js +2 -2
  39. package/dist/index25.cjs +2 -2
  40. package/dist/index25.js +2 -2
  41. package/dist/index26.cjs +1 -1
  42. package/dist/index26.js +1 -1
  43. package/dist/index27.cjs +2 -2
  44. package/dist/index27.js +2 -2
  45. package/dist/index28.cjs +2 -2
  46. package/dist/index28.js +2 -2
  47. package/dist/index29.cjs +2 -2
  48. package/dist/index29.js +2 -2
  49. package/dist/index30.cjs +2 -2
  50. package/dist/index30.js +2 -2
  51. package/dist/index31.cjs +105 -73
  52. package/dist/index31.cjs.map +1 -1
  53. package/dist/index31.js +108 -76
  54. package/dist/index31.js.map +1 -1
  55. package/dist/index32.cjs +76 -57
  56. package/dist/index32.cjs.map +1 -1
  57. package/dist/index32.js +78 -59
  58. package/dist/index32.js.map +1 -1
  59. package/dist/index33.cjs +56 -150
  60. package/dist/index33.cjs.map +1 -1
  61. package/dist/index33.js +58 -152
  62. package/dist/index33.js.map +1 -1
  63. package/dist/index34.cjs +147 -66
  64. package/dist/index34.cjs.map +1 -1
  65. package/dist/index34.js +149 -68
  66. package/dist/index34.js.map +1 -1
  67. package/dist/index35.cjs +71 -7
  68. package/dist/index35.cjs.map +1 -1
  69. package/dist/index35.js +72 -8
  70. package/dist/index35.js.map +1 -1
  71. package/dist/index36.cjs +8 -17
  72. package/dist/index36.cjs.map +1 -1
  73. package/dist/index36.js +9 -18
  74. package/dist/index36.js.map +1 -1
  75. package/dist/index37.cjs +15 -75
  76. package/dist/index37.cjs.map +1 -1
  77. package/dist/index37.js +16 -76
  78. package/dist/index37.js.map +1 -1
  79. package/dist/index38.cjs +67 -133
  80. package/dist/index38.cjs.map +1 -1
  81. package/dist/index38.js +70 -136
  82. package/dist/index38.js.map +1 -1
  83. package/dist/index39.cjs +137 -58
  84. package/dist/index39.cjs.map +1 -1
  85. package/dist/index39.js +138 -59
  86. package/dist/index39.js.map +1 -1
  87. package/dist/index40.cjs +61 -102
  88. package/dist/index40.cjs.map +1 -1
  89. package/dist/index40.js +62 -103
  90. package/dist/index40.js.map +1 -1
  91. package/dist/index41.cjs +102 -44
  92. package/dist/index41.cjs.map +1 -1
  93. package/dist/index41.js +103 -45
  94. package/dist/index41.js.map +1 -1
  95. package/dist/index42.cjs +47 -6
  96. package/dist/index42.cjs.map +1 -1
  97. package/dist/index42.js +48 -7
  98. package/dist/index42.js.map +1 -1
  99. package/dist/index43.cjs +6 -216
  100. package/dist/index43.cjs.map +1 -1
  101. package/dist/index43.js +7 -217
  102. package/dist/index43.js.map +1 -1
  103. package/dist/index44.cjs +215 -7
  104. package/dist/index44.cjs.map +1 -1
  105. package/dist/index44.js +217 -9
  106. package/dist/index44.js.map +1 -1
  107. package/dist/index45.cjs +6 -15
  108. package/dist/index45.cjs.map +1 -1
  109. package/dist/index45.js +6 -15
  110. package/dist/index45.js.map +1 -1
  111. package/dist/index46.cjs +14 -63
  112. package/dist/index46.cjs.map +1 -1
  113. package/dist/index46.js +16 -65
  114. package/dist/index46.js.map +1 -1
  115. package/dist/index47.cjs +67 -15
  116. package/dist/index47.cjs.map +1 -1
  117. package/dist/index47.js +66 -14
  118. package/dist/index47.js.map +1 -1
  119. package/dist/index48.cjs +15 -6
  120. package/dist/index48.cjs.map +1 -1
  121. package/dist/index48.js +15 -6
  122. package/dist/index48.js.map +1 -1
  123. package/dist/index49.cjs +2 -23
  124. package/dist/index49.cjs.map +1 -1
  125. package/dist/index49.js +3 -24
  126. package/dist/index49.js.map +1 -1
  127. package/dist/index51.cjs +7 -0
  128. package/dist/index51.cjs.map +1 -1
  129. package/dist/index51.js +7 -0
  130. package/dist/index51.js.map +1 -1
  131. package/dist/index52.cjs +11 -20
  132. package/dist/index52.cjs.map +1 -1
  133. package/dist/index52.js +11 -20
  134. package/dist/index52.js.map +1 -1
  135. package/dist/index53.cjs +22 -13
  136. package/dist/index53.cjs.map +1 -1
  137. package/dist/index53.js +22 -13
  138. package/dist/index53.js.map +1 -1
  139. package/dist/index54.cjs +19 -10
  140. package/dist/index54.cjs.map +1 -1
  141. package/dist/index54.js +20 -11
  142. package/dist/index54.js.map +1 -1
  143. package/dist/index55.cjs +21 -18
  144. package/dist/index55.cjs.map +1 -1
  145. package/dist/index55.js +22 -19
  146. package/dist/index55.js.map +1 -1
  147. package/dist/index57.cjs +20 -2
  148. package/dist/index57.cjs.map +1 -1
  149. package/dist/index57.js +20 -2
  150. package/dist/index57.js.map +1 -1
  151. package/dist/index58.cjs +5 -35
  152. package/dist/index58.cjs.map +1 -1
  153. package/dist/index58.js +6 -36
  154. package/dist/index58.js.map +1 -1
  155. package/dist/index59.cjs +10 -13
  156. package/dist/index59.cjs.map +1 -1
  157. package/dist/index59.js +10 -13
  158. package/dist/index59.js.map +1 -1
  159. package/dist/index60.cjs +10 -16
  160. package/dist/index60.cjs.map +1 -1
  161. package/dist/index60.js +11 -17
  162. package/dist/index60.js.map +1 -1
  163. package/dist/index61.cjs +64 -16
  164. package/dist/index61.cjs.map +1 -1
  165. package/dist/index61.js +64 -16
  166. package/dist/index61.js.map +1 -1
  167. package/dist/index62.cjs +10 -10
  168. package/dist/index62.js +11 -11
  169. package/dist/index63.cjs +2 -14
  170. package/dist/index63.cjs.map +1 -1
  171. package/dist/index63.js +2 -14
  172. package/dist/index63.js.map +1 -1
  173. package/dist/index64.cjs +34 -16
  174. package/dist/index64.cjs.map +1 -1
  175. package/dist/index64.js +34 -16
  176. package/dist/index64.js.map +1 -1
  177. package/dist/index65.cjs +19 -49
  178. package/dist/index65.cjs.map +1 -1
  179. package/dist/index65.js +20 -50
  180. package/dist/index65.js.map +1 -1
  181. package/dist/index66.cjs +13 -37
  182. package/dist/index66.cjs.map +1 -1
  183. package/dist/index66.js +14 -38
  184. package/dist/index66.js.map +1 -1
  185. package/dist/index67.cjs +28 -46
  186. package/dist/index67.cjs.map +1 -1
  187. package/dist/index67.js +29 -47
  188. package/dist/index67.js.map +1 -1
  189. package/dist/index68.cjs +32 -35
  190. package/dist/index68.cjs.map +1 -1
  191. package/dist/index68.js +32 -35
  192. package/dist/index68.js.map +1 -1
  193. package/dist/index69.cjs +20 -2
  194. package/dist/index69.cjs.map +1 -1
  195. package/dist/index69.js +21 -3
  196. package/dist/index69.js.map +1 -1
  197. package/dist/index70.cjs +10 -16
  198. package/dist/index70.cjs.map +1 -1
  199. package/dist/index70.js +10 -16
  200. package/dist/index70.js.map +1 -1
  201. package/dist/index71.cjs +15 -18
  202. package/dist/index71.cjs.map +1 -1
  203. package/dist/index71.js +15 -18
  204. package/dist/index71.js.map +1 -1
  205. package/dist/index73.cjs +37 -31
  206. package/dist/index73.cjs.map +1 -1
  207. package/dist/index73.js +37 -31
  208. package/dist/index73.js.map +1 -1
  209. package/dist/index74.cjs +16 -28
  210. package/dist/index74.cjs.map +1 -1
  211. package/dist/index74.js +17 -29
  212. package/dist/index74.js.map +1 -1
  213. package/dist/index75.cjs +37 -64
  214. package/dist/index75.cjs.map +1 -1
  215. package/dist/index75.js +37 -64
  216. package/dist/index75.js.map +1 -1
  217. package/dist/index76.cjs +2 -20
  218. package/dist/index76.cjs.map +1 -1
  219. package/dist/index76.js +2 -20
  220. package/dist/index76.js.map +1 -1
  221. package/dist/index77.cjs +58 -134
  222. package/dist/index77.cjs.map +1 -1
  223. package/dist/index77.js +57 -133
  224. package/dist/index77.js.map +1 -1
  225. package/dist/index78.cjs +25 -40
  226. package/dist/index78.cjs.map +1 -1
  227. package/dist/index78.js +25 -40
  228. package/dist/index78.js.map +1 -1
  229. package/dist/index79.cjs +49 -79
  230. package/dist/index79.cjs.map +1 -1
  231. package/dist/index79.js +49 -79
  232. package/dist/index79.js.map +1 -1
  233. package/dist/index80.cjs +43 -49
  234. package/dist/index80.cjs.map +1 -1
  235. package/dist/index80.js +44 -50
  236. package/dist/index80.js.map +1 -1
  237. package/dist/index81.cjs +33 -30
  238. package/dist/index81.cjs.map +1 -1
  239. package/dist/index81.js +33 -30
  240. package/dist/index81.js.map +1 -1
  241. package/dist/index82.cjs +16 -25
  242. package/dist/index82.cjs.map +1 -1
  243. package/dist/index82.js +16 -25
  244. package/dist/index82.js.map +1 -1
  245. package/dist/index83.cjs +50 -32
  246. package/dist/index83.cjs.map +1 -1
  247. package/dist/index83.js +50 -32
  248. package/dist/index83.js.map +1 -1
  249. package/dist/index84.cjs +16 -52
  250. package/dist/index84.cjs.map +1 -1
  251. package/dist/index84.js +16 -52
  252. package/dist/index84.js.map +1 -1
  253. package/dist/index85.cjs +80 -5
  254. package/dist/index85.cjs.map +1 -1
  255. package/dist/index85.js +81 -6
  256. package/dist/index85.js.map +1 -1
  257. package/dist/index86.cjs +134 -16
  258. package/dist/index86.cjs.map +1 -1
  259. package/dist/index86.js +133 -15
  260. package/dist/index86.js.map +1 -1
  261. package/dist/index87.cjs +48 -0
  262. package/dist/index87.cjs.map +1 -0
  263. package/dist/index87.js +48 -0
  264. package/dist/index87.js.map +1 -0
  265. package/dist/index88.cjs +36 -0
  266. package/dist/index88.cjs.map +1 -0
  267. package/dist/index88.js +36 -0
  268. package/dist/index88.js.map +1 -0
  269. package/dist/index9.cjs +2 -2
  270. package/dist/index9.js +2 -2
  271. package/dist/primitives/Pagination/Pagination.d.ts +4 -0
  272. package/dist/primitives/Pagination/Pagination.d.ts.map +1 -0
  273. package/dist/primitives/Pagination/Pagination.types.d.ts +21 -0
  274. package/dist/primitives/Pagination/Pagination.types.d.ts.map +1 -0
  275. package/dist/primitives/Pagination/index.d.ts +3 -0
  276. package/dist/primitives/Pagination/index.d.ts.map +1 -0
  277. package/dist/style.css +65 -0
  278. package/package.json +1 -1
package/dist/index46.cjs CHANGED
@@ -2,69 +2,20 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
- const reactDom = require("react-dom");
6
- const constants = require("./index51.cjs");
7
- const Toast = require("./index45.cjs");
5
+ const clsx = require("./index48.cjs");
8
6
  const Toast_module = require("./index50.cjs");
9
- const ToastContext = react.createContext(null);
10
- const ToastProvider = ({
11
- children,
12
- defaultDuration = constants.TOAST_DURATION_MS,
13
- portalTarget
14
- }) => {
15
- const [items, setItems] = react.useState([]);
16
- const idRef = react.useRef(0);
17
- const timers = react.useRef(/* @__PURE__ */ new Map());
18
- const dismiss = react.useCallback((id) => {
19
- setItems((prev) => prev.filter((item) => item.id !== id));
20
- const timer = timers.current.get(id);
21
- if (timer) {
22
- clearTimeout(timer);
23
- timers.current.delete(id);
7
+ const Toast = react.forwardRef(
8
+ ({ variant = "default", className, role = "status", children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
9
+ "div",
10
+ {
11
+ ref,
12
+ role,
13
+ className: clsx.clsx(Toast_module.default.toast, variant !== "default" && Toast_module.default[variant], className),
14
+ ...props,
15
+ children
24
16
  }
25
- }, []);
26
- const toast = react.useCallback(
27
- (message, options) => {
28
- idRef.current += 1;
29
- const id = String(idRef.current);
30
- setItems((prev) => [...prev, { id, message, variant: (options == null ? void 0 : options.variant) ?? "default" }]);
31
- const timer = setTimeout(() => dismiss(id), (options == null ? void 0 : options.duration) ?? defaultDuration);
32
- timers.current.set(id, timer);
33
- },
34
- [defaultDuration, dismiss]
35
- );
36
- react.useEffect(() => {
37
- const map = timers.current;
38
- return () => {
39
- map.forEach((timer) => clearTimeout(timer));
40
- map.clear();
41
- };
42
- }, []);
43
- const target = portalTarget ?? (typeof document !== "undefined" ? document.body : null);
44
- return /* @__PURE__ */ jsxRuntime.jsxs(ToastContext.Provider, { value: { toast }, children: [
45
- children,
46
- target && reactDom.createPortal(
47
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: Toast_module.default.region, "aria-live": "polite", "aria-label": "Notificaciones", children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
48
- Toast.Toast,
49
- {
50
- variant: item.variant,
51
- role: item.variant === "error" ? "alert" : "status",
52
- onClick: () => dismiss(item.id),
53
- children: item.message
54
- },
55
- item.id
56
- )) }),
57
- target
58
- )
59
- ] });
60
- };
61
- function useToast() {
62
- const context = react.useContext(ToastContext);
63
- if (!context) {
64
- throw new Error("useToast must be used within a ToastProvider");
65
- }
66
- return context;
67
- }
68
- exports.ToastProvider = ToastProvider;
69
- exports.useToast = useToast;
17
+ )
18
+ );
19
+ Toast.displayName = "Toast";
20
+ exports.Toast = Toast;
70
21
  //# sourceMappingURL=index46.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index46.cjs","sources":["../src/primitives/Toast/ToastProvider.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { TOAST_DURATION_MS } from '../../constants';\nimport type { ToastContextValue, ToastItem, ToastProviderProps } from './Toast.types';\nimport { Toast } from './Toast';\nimport styles from './Toast.module.css';\n\nconst ToastContext = createContext<ToastContextValue | null>(null);\n\nexport const ToastProvider = ({\n children,\n defaultDuration = TOAST_DURATION_MS,\n portalTarget,\n}: ToastProviderProps) => {\n const [items, setItems] = useState<ToastItem[]>([]);\n const idRef = useRef(0);\n const timers = useRef(new Map<string, ReturnType<typeof setTimeout>>());\n\n const dismiss = useCallback((id: string) => {\n setItems((prev) => prev.filter((item) => item.id !== id));\n const timer = timers.current.get(id);\n if (timer) {\n clearTimeout(timer);\n timers.current.delete(id);\n }\n }, []);\n\n const toast = useCallback<ToastContextValue['toast']>(\n (message, options) => {\n idRef.current += 1;\n const id = String(idRef.current);\n setItems((prev) => [...prev, { id, message, variant: options?.variant ?? 'default' }]);\n const timer = setTimeout(() => dismiss(id), options?.duration ?? defaultDuration);\n timers.current.set(id, timer);\n },\n [defaultDuration, dismiss],\n );\n\n useEffect(() => {\n const map = timers.current;\n return () => {\n map.forEach((timer) => clearTimeout(timer));\n map.clear();\n };\n }, []);\n\n const target = portalTarget ?? (typeof document !== 'undefined' ? document.body : null);\n\n return (\n <ToastContext.Provider value={{ toast }}>\n {children}\n {target &&\n createPortal(\n <div className={styles.region} aria-live=\"polite\" aria-label=\"Notificaciones\">\n {items.map((item) => (\n <Toast\n key={item.id}\n variant={item.variant}\n role={item.variant === 'error' ? 'alert' : 'status'}\n onClick={() => dismiss(item.id)}\n >\n {item.message}\n </Toast>\n ))}\n </div>,\n target,\n )}\n </ToastContext.Provider>\n );\n};\n\nexport function useToast(): ToastContextValue {\n const context = useContext(ToastContext);\n if (!context) {\n throw new Error('useToast must be used within a ToastProvider');\n }\n return context;\n}\n"],"names":["createContext","TOAST_DURATION_MS","useState","useRef","useCallback","useEffect","createPortal","jsx","styles","Toast","useContext"],"mappings":";;;;;;;;AAOA,MAAM,eAAeA,MAAAA,cAAwC,IAAI;AAE1D,MAAM,gBAAgB,CAAC;AAAA,EAC5B;AAAA,EACA,kBAAkBC,UAAAA;AAAAA,EAClB;AACF,MAA0B;AACxB,QAAM,CAAC,OAAO,QAAQ,IAAIC,MAAAA,SAAsB,CAAA,CAAE;AAClD,QAAM,QAAQC,MAAAA,OAAO,CAAC;AACtB,QAAM,SAASA,MAAAA,OAAO,oBAAI,KAA4C;AAEtE,QAAM,UAAUC,kBAAY,CAAC,OAAe;AAC1C,aAAS,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;AACxD,UAAM,QAAQ,OAAO,QAAQ,IAAI,EAAE;AACnC,QAAI,OAAO;AACT,mBAAa,KAAK;AAClB,aAAO,QAAQ,OAAO,EAAE;AAAA,IAC1B;AAAA,EACF,GAAG,CAAA,CAAE;AAEL,QAAM,QAAQA,MAAAA;AAAAA,IACZ,CAAC,SAAS,YAAY;AACpB,YAAM,WAAW;AACjB,YAAM,KAAK,OAAO,MAAM,OAAO;AAC/B,eAAS,CAAC,SAAS,CAAC,GAAG,MAAM,EAAE,IAAI,SAAS,UAAS,mCAAS,YAAW,UAAA,CAAW,CAAC;AACrF,YAAM,QAAQ,WAAW,MAAM,QAAQ,EAAE,IAAG,mCAAS,aAAY,eAAe;AAChF,aAAO,QAAQ,IAAI,IAAI,KAAK;AAAA,IAC9B;AAAA,IACA,CAAC,iBAAiB,OAAO;AAAA,EAAA;AAG3BC,QAAAA,UAAU,MAAM;AACd,UAAM,MAAM,OAAO;AACnB,WAAO,MAAM;AACX,UAAI,QAAQ,CAAC,UAAU,aAAa,KAAK,CAAC;AAC1C,UAAI,MAAA;AAAA,IACN;AAAA,EACF,GAAG,CAAA,CAAE;AAEL,QAAM,SAAS,iBAAiB,OAAO,aAAa,cAAc,SAAS,OAAO;AAElF,yCACG,aAAa,UAAb,EAAsB,OAAO,EAAE,SAC7B,UAAA;AAAA,IAAA;AAAA,IACA,UACCC,SAAAA;AAAAA,MACEC,2BAAAA,IAAC,OAAA,EAAI,WAAWC,aAAAA,QAAO,QAAQ,aAAU,UAAS,cAAW,kBAC1D,UAAA,MAAM,IAAI,CAAC,SACVD,2BAAAA;AAAAA,QAACE,MAAAA;AAAAA,QAAA;AAAA,UAEC,SAAS,KAAK;AAAA,UACd,MAAM,KAAK,YAAY,UAAU,UAAU;AAAA,UAC3C,SAAS,MAAM,QAAQ,KAAK,EAAE;AAAA,UAE7B,UAAA,KAAK;AAAA,QAAA;AAAA,QALD,KAAK;AAAA,MAAA,CAOb,GACH;AAAA,MACA;AAAA,IAAA;AAAA,EACF,GACJ;AAEJ;AAEO,SAAS,WAA8B;AAC5C,QAAM,UAAUC,MAAAA,WAAW,YAAY;AACvC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,8CAA8C;AAAA,EAChE;AACA,SAAO;AACT;;;"}
1
+ {"version":3,"file":"index46.cjs","sources":["../src/primitives/Toast/Toast.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport clsx from 'clsx';\nimport type { ToastProps } from './Toast.types';\nimport styles from './Toast.module.css';\n\n/** Presentational toast bubble. Usually rendered by `ToastProvider`, exported for standalone use. */\nexport const Toast = forwardRef<HTMLDivElement, ToastProps>(\n ({ variant = 'default', className, role = 'status', children, ...props }, ref) => (\n <div\n ref={ref}\n role={role}\n className={clsx(styles.toast, variant !== 'default' && styles[variant], className)}\n {...props}\n >\n {children}\n </div>\n ),\n);\n\nToast.displayName = 'Toast';\n"],"names":["forwardRef","jsx","clsx","styles"],"mappings":";;;;;;AAMO,MAAM,QAAQA,MAAAA;AAAAA,EACnB,CAAC,EAAE,UAAU,WAAW,WAAW,OAAO,UAAU,UAAU,GAAG,SAAS,QACxEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,WAAWC,KAAAA,KAAKC,aAAAA,QAAO,OAAO,YAAY,aAAaA,aAAAA,QAAO,OAAO,GAAG,SAAS;AAAA,MAChF,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;AAEA,MAAM,cAAc;;"}
package/dist/index46.js CHANGED
@@ -1,70 +1,21 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useState, useRef, useCallback, useEffect, useContext, createContext } from "react";
3
- import { createPortal } from "react-dom";
4
- import { TOAST_DURATION_MS } from "./index51.js";
5
- import { Toast } from "./index45.js";
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { clsx } from "./index48.js";
6
4
  import styles from "./index50.js";
7
- const ToastContext = createContext(null);
8
- const ToastProvider = ({
9
- children,
10
- defaultDuration = TOAST_DURATION_MS,
11
- portalTarget
12
- }) => {
13
- const [items, setItems] = useState([]);
14
- const idRef = useRef(0);
15
- const timers = useRef(/* @__PURE__ */ new Map());
16
- const dismiss = useCallback((id) => {
17
- setItems((prev) => prev.filter((item) => item.id !== id));
18
- const timer = timers.current.get(id);
19
- if (timer) {
20
- clearTimeout(timer);
21
- timers.current.delete(id);
5
+ const Toast = forwardRef(
6
+ ({ variant = "default", className, role = "status", children, ...props }, ref) => /* @__PURE__ */ jsx(
7
+ "div",
8
+ {
9
+ ref,
10
+ role,
11
+ className: clsx(styles.toast, variant !== "default" && styles[variant], className),
12
+ ...props,
13
+ children
22
14
  }
23
- }, []);
24
- const toast = useCallback(
25
- (message, options) => {
26
- idRef.current += 1;
27
- const id = String(idRef.current);
28
- setItems((prev) => [...prev, { id, message, variant: (options == null ? void 0 : options.variant) ?? "default" }]);
29
- const timer = setTimeout(() => dismiss(id), (options == null ? void 0 : options.duration) ?? defaultDuration);
30
- timers.current.set(id, timer);
31
- },
32
- [defaultDuration, dismiss]
33
- );
34
- useEffect(() => {
35
- const map = timers.current;
36
- return () => {
37
- map.forEach((timer) => clearTimeout(timer));
38
- map.clear();
39
- };
40
- }, []);
41
- const target = portalTarget ?? (typeof document !== "undefined" ? document.body : null);
42
- return /* @__PURE__ */ jsxs(ToastContext.Provider, { value: { toast }, children: [
43
- children,
44
- target && createPortal(
45
- /* @__PURE__ */ jsx("div", { className: styles.region, "aria-live": "polite", "aria-label": "Notificaciones", children: items.map((item) => /* @__PURE__ */ jsx(
46
- Toast,
47
- {
48
- variant: item.variant,
49
- role: item.variant === "error" ? "alert" : "status",
50
- onClick: () => dismiss(item.id),
51
- children: item.message
52
- },
53
- item.id
54
- )) }),
55
- target
56
- )
57
- ] });
58
- };
59
- function useToast() {
60
- const context = useContext(ToastContext);
61
- if (!context) {
62
- throw new Error("useToast must be used within a ToastProvider");
63
- }
64
- return context;
65
- }
15
+ )
16
+ );
17
+ Toast.displayName = "Toast";
66
18
  export {
67
- ToastProvider,
68
- useToast
19
+ Toast
69
20
  };
70
21
  //# sourceMappingURL=index46.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index46.js","sources":["../src/primitives/Toast/ToastProvider.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { TOAST_DURATION_MS } from '../../constants';\nimport type { ToastContextValue, ToastItem, ToastProviderProps } from './Toast.types';\nimport { Toast } from './Toast';\nimport styles from './Toast.module.css';\n\nconst ToastContext = createContext<ToastContextValue | null>(null);\n\nexport const ToastProvider = ({\n children,\n defaultDuration = TOAST_DURATION_MS,\n portalTarget,\n}: ToastProviderProps) => {\n const [items, setItems] = useState<ToastItem[]>([]);\n const idRef = useRef(0);\n const timers = useRef(new Map<string, ReturnType<typeof setTimeout>>());\n\n const dismiss = useCallback((id: string) => {\n setItems((prev) => prev.filter((item) => item.id !== id));\n const timer = timers.current.get(id);\n if (timer) {\n clearTimeout(timer);\n timers.current.delete(id);\n }\n }, []);\n\n const toast = useCallback<ToastContextValue['toast']>(\n (message, options) => {\n idRef.current += 1;\n const id = String(idRef.current);\n setItems((prev) => [...prev, { id, message, variant: options?.variant ?? 'default' }]);\n const timer = setTimeout(() => dismiss(id), options?.duration ?? defaultDuration);\n timers.current.set(id, timer);\n },\n [defaultDuration, dismiss],\n );\n\n useEffect(() => {\n const map = timers.current;\n return () => {\n map.forEach((timer) => clearTimeout(timer));\n map.clear();\n };\n }, []);\n\n const target = portalTarget ?? (typeof document !== 'undefined' ? document.body : null);\n\n return (\n <ToastContext.Provider value={{ toast }}>\n {children}\n {target &&\n createPortal(\n <div className={styles.region} aria-live=\"polite\" aria-label=\"Notificaciones\">\n {items.map((item) => (\n <Toast\n key={item.id}\n variant={item.variant}\n role={item.variant === 'error' ? 'alert' : 'status'}\n onClick={() => dismiss(item.id)}\n >\n {item.message}\n </Toast>\n ))}\n </div>,\n target,\n )}\n </ToastContext.Provider>\n );\n};\n\nexport function useToast(): ToastContextValue {\n const context = useContext(ToastContext);\n if (!context) {\n throw new Error('useToast must be used within a ToastProvider');\n }\n return context;\n}\n"],"names":[],"mappings":";;;;;;AAOA,MAAM,eAAe,cAAwC,IAAI;AAE1D,MAAM,gBAAgB,CAAC;AAAA,EAC5B;AAAA,EACA,kBAAkB;AAAA,EAClB;AACF,MAA0B;AACxB,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAsB,CAAA,CAAE;AAClD,QAAM,QAAQ,OAAO,CAAC;AACtB,QAAM,SAAS,OAAO,oBAAI,KAA4C;AAEtE,QAAM,UAAU,YAAY,CAAC,OAAe;AAC1C,aAAS,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;AACxD,UAAM,QAAQ,OAAO,QAAQ,IAAI,EAAE;AACnC,QAAI,OAAO;AACT,mBAAa,KAAK;AAClB,aAAO,QAAQ,OAAO,EAAE;AAAA,IAC1B;AAAA,EACF,GAAG,CAAA,CAAE;AAEL,QAAM,QAAQ;AAAA,IACZ,CAAC,SAAS,YAAY;AACpB,YAAM,WAAW;AACjB,YAAM,KAAK,OAAO,MAAM,OAAO;AAC/B,eAAS,CAAC,SAAS,CAAC,GAAG,MAAM,EAAE,IAAI,SAAS,UAAS,mCAAS,YAAW,UAAA,CAAW,CAAC;AACrF,YAAM,QAAQ,WAAW,MAAM,QAAQ,EAAE,IAAG,mCAAS,aAAY,eAAe;AAChF,aAAO,QAAQ,IAAI,IAAI,KAAK;AAAA,IAC9B;AAAA,IACA,CAAC,iBAAiB,OAAO;AAAA,EAAA;AAG3B,YAAU,MAAM;AACd,UAAM,MAAM,OAAO;AACnB,WAAO,MAAM;AACX,UAAI,QAAQ,CAAC,UAAU,aAAa,KAAK,CAAC;AAC1C,UAAI,MAAA;AAAA,IACN;AAAA,EACF,GAAG,CAAA,CAAE;AAEL,QAAM,SAAS,iBAAiB,OAAO,aAAa,cAAc,SAAS,OAAO;AAElF,8BACG,aAAa,UAAb,EAAsB,OAAO,EAAE,SAC7B,UAAA;AAAA,IAAA;AAAA,IACA,UACC;AAAA,MACE,oBAAC,OAAA,EAAI,WAAW,OAAO,QAAQ,aAAU,UAAS,cAAW,kBAC1D,UAAA,MAAM,IAAI,CAAC,SACV;AAAA,QAAC;AAAA,QAAA;AAAA,UAEC,SAAS,KAAK;AAAA,UACd,MAAM,KAAK,YAAY,UAAU,UAAU;AAAA,UAC3C,SAAS,MAAM,QAAQ,KAAK,EAAE;AAAA,UAE7B,UAAA,KAAK;AAAA,QAAA;AAAA,QALD,KAAK;AAAA,MAAA,CAOb,GACH;AAAA,MACA;AAAA,IAAA;AAAA,EACF,GACJ;AAEJ;AAEO,SAAS,WAA8B;AAC5C,QAAM,UAAU,WAAW,YAAY;AACvC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,8CAA8C;AAAA,EAChE;AACA,SAAO;AACT;"}
1
+ {"version":3,"file":"index46.js","sources":["../src/primitives/Toast/Toast.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport clsx from 'clsx';\nimport type { ToastProps } from './Toast.types';\nimport styles from './Toast.module.css';\n\n/** Presentational toast bubble. Usually rendered by `ToastProvider`, exported for standalone use. */\nexport const Toast = forwardRef<HTMLDivElement, ToastProps>(\n ({ variant = 'default', className, role = 'status', children, ...props }, ref) => (\n <div\n ref={ref}\n role={role}\n className={clsx(styles.toast, variant !== 'default' && styles[variant], className)}\n {...props}\n >\n {children}\n </div>\n ),\n);\n\nToast.displayName = 'Toast';\n"],"names":[],"mappings":";;;;AAMO,MAAM,QAAQ;AAAA,EACnB,CAAC,EAAE,UAAU,WAAW,WAAW,OAAO,UAAU,UAAU,GAAG,SAAS,QACxE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,WAAW,KAAK,OAAO,OAAO,YAAY,aAAa,OAAO,OAAO,GAAG,SAAS;AAAA,MAChF,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;AAEA,MAAM,cAAc;"}
package/dist/index47.cjs CHANGED
@@ -1,18 +1,70 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- function r(e) {
4
- var t, f, n = "";
5
- if ("string" == typeof e || "number" == typeof e) n += e;
6
- else if ("object" == typeof e) if (Array.isArray(e)) {
7
- var o = e.length;
8
- for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
9
- } else for (f in e) e[f] && (n && (n += " "), n += f);
10
- return n;
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const react = require("react");
5
+ const reactDom = require("react-dom");
6
+ const constants = require("./index51.cjs");
7
+ const Toast = require("./index46.cjs");
8
+ const Toast_module = require("./index50.cjs");
9
+ const ToastContext = react.createContext(null);
10
+ const ToastProvider = ({
11
+ children,
12
+ defaultDuration = constants.TOAST_DURATION_MS,
13
+ portalTarget
14
+ }) => {
15
+ const [items, setItems] = react.useState([]);
16
+ const idRef = react.useRef(0);
17
+ const timers = react.useRef(/* @__PURE__ */ new Map());
18
+ const dismiss = react.useCallback((id) => {
19
+ setItems((prev) => prev.filter((item) => item.id !== id));
20
+ const timer = timers.current.get(id);
21
+ if (timer) {
22
+ clearTimeout(timer);
23
+ timers.current.delete(id);
24
+ }
25
+ }, []);
26
+ const toast = react.useCallback(
27
+ (message, options) => {
28
+ idRef.current += 1;
29
+ const id = String(idRef.current);
30
+ setItems((prev) => [...prev, { id, message, variant: (options == null ? void 0 : options.variant) ?? "default" }]);
31
+ const timer = setTimeout(() => dismiss(id), (options == null ? void 0 : options.duration) ?? defaultDuration);
32
+ timers.current.set(id, timer);
33
+ },
34
+ [defaultDuration, dismiss]
35
+ );
36
+ react.useEffect(() => {
37
+ const map = timers.current;
38
+ return () => {
39
+ map.forEach((timer) => clearTimeout(timer));
40
+ map.clear();
41
+ };
42
+ }, []);
43
+ const target = portalTarget ?? (typeof document !== "undefined" ? document.body : null);
44
+ return /* @__PURE__ */ jsxRuntime.jsxs(ToastContext.Provider, { value: { toast }, children: [
45
+ children,
46
+ target && reactDom.createPortal(
47
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: Toast_module.default.region, "aria-live": "polite", "aria-label": "Notificaciones", children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
48
+ Toast.Toast,
49
+ {
50
+ variant: item.variant,
51
+ role: item.variant === "error" ? "alert" : "status",
52
+ onClick: () => dismiss(item.id),
53
+ children: item.message
54
+ },
55
+ item.id
56
+ )) }),
57
+ target
58
+ )
59
+ ] });
60
+ };
61
+ function useToast() {
62
+ const context = react.useContext(ToastContext);
63
+ if (!context) {
64
+ throw new Error("useToast must be used within a ToastProvider");
65
+ }
66
+ return context;
11
67
  }
12
- function clsx() {
13
- for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
14
- return n;
15
- }
16
- exports.clsx = clsx;
17
- exports.default = clsx;
68
+ exports.ToastProvider = ToastProvider;
69
+ exports.useToast = useToast;
18
70
  //# sourceMappingURL=index47.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index47.cjs","sources":["../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;"],"names":[],"mappings":";;AAAA,SAAS,EAAE,GAAE;AAAC,MAAI,GAAE,GAAE,IAAE;AAAG,MAAG,YAAU,OAAO,KAAG,YAAU,OAAO,EAAE,MAAG;AAAA,WAAU,YAAU,OAAO,EAAE,KAAG,MAAM,QAAQ,CAAC,GAAE;AAAC,QAAI,IAAE,EAAE;AAAO,SAAI,IAAE,GAAE,IAAE,GAAE,IAAI,GAAE,CAAC,MAAI,IAAE,EAAE,EAAE,CAAC,CAAC,OAAK,MAAI,KAAG,MAAK,KAAG;AAAA,EAAE,MAAM,MAAI,KAAK,EAAE,GAAE,CAAC,MAAI,MAAI,KAAG,MAAK,KAAG;AAAG,SAAO;AAAC;AAAQ,SAAS,OAAM;AAAC,WAAQ,GAAE,GAAE,IAAE,GAAE,IAAE,IAAG,IAAE,UAAU,QAAO,IAAE,GAAE,IAAI,EAAC,IAAE,UAAU,CAAC,OAAK,IAAE,EAAE,CAAC,OAAK,MAAI,KAAG,MAAK,KAAG;AAAG,SAAO;AAAC;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index47.cjs","sources":["../src/primitives/Toast/ToastProvider.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { TOAST_DURATION_MS } from '../../constants';\nimport type { ToastContextValue, ToastItem, ToastProviderProps } from './Toast.types';\nimport { Toast } from './Toast';\nimport styles from './Toast.module.css';\n\nconst ToastContext = createContext<ToastContextValue | null>(null);\n\nexport const ToastProvider = ({\n children,\n defaultDuration = TOAST_DURATION_MS,\n portalTarget,\n}: ToastProviderProps) => {\n const [items, setItems] = useState<ToastItem[]>([]);\n const idRef = useRef(0);\n const timers = useRef(new Map<string, ReturnType<typeof setTimeout>>());\n\n const dismiss = useCallback((id: string) => {\n setItems((prev) => prev.filter((item) => item.id !== id));\n const timer = timers.current.get(id);\n if (timer) {\n clearTimeout(timer);\n timers.current.delete(id);\n }\n }, []);\n\n const toast = useCallback<ToastContextValue['toast']>(\n (message, options) => {\n idRef.current += 1;\n const id = String(idRef.current);\n setItems((prev) => [...prev, { id, message, variant: options?.variant ?? 'default' }]);\n const timer = setTimeout(() => dismiss(id), options?.duration ?? defaultDuration);\n timers.current.set(id, timer);\n },\n [defaultDuration, dismiss],\n );\n\n useEffect(() => {\n const map = timers.current;\n return () => {\n map.forEach((timer) => clearTimeout(timer));\n map.clear();\n };\n }, []);\n\n const target = portalTarget ?? (typeof document !== 'undefined' ? document.body : null);\n\n return (\n <ToastContext.Provider value={{ toast }}>\n {children}\n {target &&\n createPortal(\n <div className={styles.region} aria-live=\"polite\" aria-label=\"Notificaciones\">\n {items.map((item) => (\n <Toast\n key={item.id}\n variant={item.variant}\n role={item.variant === 'error' ? 'alert' : 'status'}\n onClick={() => dismiss(item.id)}\n >\n {item.message}\n </Toast>\n ))}\n </div>,\n target,\n )}\n </ToastContext.Provider>\n );\n};\n\nexport function useToast(): ToastContextValue {\n const context = useContext(ToastContext);\n if (!context) {\n throw new Error('useToast must be used within a ToastProvider');\n }\n return context;\n}\n"],"names":["createContext","TOAST_DURATION_MS","useState","useRef","useCallback","useEffect","createPortal","jsx","styles","Toast","useContext"],"mappings":";;;;;;;;AAOA,MAAM,eAAeA,MAAAA,cAAwC,IAAI;AAE1D,MAAM,gBAAgB,CAAC;AAAA,EAC5B;AAAA,EACA,kBAAkBC,UAAAA;AAAAA,EAClB;AACF,MAA0B;AACxB,QAAM,CAAC,OAAO,QAAQ,IAAIC,MAAAA,SAAsB,CAAA,CAAE;AAClD,QAAM,QAAQC,MAAAA,OAAO,CAAC;AACtB,QAAM,SAASA,MAAAA,OAAO,oBAAI,KAA4C;AAEtE,QAAM,UAAUC,kBAAY,CAAC,OAAe;AAC1C,aAAS,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;AACxD,UAAM,QAAQ,OAAO,QAAQ,IAAI,EAAE;AACnC,QAAI,OAAO;AACT,mBAAa,KAAK;AAClB,aAAO,QAAQ,OAAO,EAAE;AAAA,IAC1B;AAAA,EACF,GAAG,CAAA,CAAE;AAEL,QAAM,QAAQA,MAAAA;AAAAA,IACZ,CAAC,SAAS,YAAY;AACpB,YAAM,WAAW;AACjB,YAAM,KAAK,OAAO,MAAM,OAAO;AAC/B,eAAS,CAAC,SAAS,CAAC,GAAG,MAAM,EAAE,IAAI,SAAS,UAAS,mCAAS,YAAW,UAAA,CAAW,CAAC;AACrF,YAAM,QAAQ,WAAW,MAAM,QAAQ,EAAE,IAAG,mCAAS,aAAY,eAAe;AAChF,aAAO,QAAQ,IAAI,IAAI,KAAK;AAAA,IAC9B;AAAA,IACA,CAAC,iBAAiB,OAAO;AAAA,EAAA;AAG3BC,QAAAA,UAAU,MAAM;AACd,UAAM,MAAM,OAAO;AACnB,WAAO,MAAM;AACX,UAAI,QAAQ,CAAC,UAAU,aAAa,KAAK,CAAC;AAC1C,UAAI,MAAA;AAAA,IACN;AAAA,EACF,GAAG,CAAA,CAAE;AAEL,QAAM,SAAS,iBAAiB,OAAO,aAAa,cAAc,SAAS,OAAO;AAElF,yCACG,aAAa,UAAb,EAAsB,OAAO,EAAE,SAC7B,UAAA;AAAA,IAAA;AAAA,IACA,UACCC,SAAAA;AAAAA,MACEC,2BAAAA,IAAC,OAAA,EAAI,WAAWC,aAAAA,QAAO,QAAQ,aAAU,UAAS,cAAW,kBAC1D,UAAA,MAAM,IAAI,CAAC,SACVD,2BAAAA;AAAAA,QAACE,MAAAA;AAAAA,QAAA;AAAA,UAEC,SAAS,KAAK;AAAA,UACd,MAAM,KAAK,YAAY,UAAU,UAAU;AAAA,UAC3C,SAAS,MAAM,QAAQ,KAAK,EAAE;AAAA,UAE7B,UAAA,KAAK;AAAA,QAAA;AAAA,QALD,KAAK;AAAA,MAAA,CAOb,GACH;AAAA,MACA;AAAA,IAAA;AAAA,EACF,GACJ;AAEJ;AAEO,SAAS,WAA8B;AAC5C,QAAM,UAAUC,MAAAA,WAAW,YAAY;AACvC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,8CAA8C;AAAA,EAChE;AACA,SAAO;AACT;;;"}
package/dist/index47.js CHANGED
@@ -1,18 +1,70 @@
1
- function r(e) {
2
- var t, f, n = "";
3
- if ("string" == typeof e || "number" == typeof e) n += e;
4
- else if ("object" == typeof e) if (Array.isArray(e)) {
5
- var o = e.length;
6
- for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
7
- } else for (f in e) e[f] && (n && (n += " "), n += f);
8
- return n;
9
- }
10
- function clsx() {
11
- for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
12
- return n;
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useState, useRef, useCallback, useEffect, useContext, createContext } from "react";
3
+ import { createPortal } from "react-dom";
4
+ import { TOAST_DURATION_MS } from "./index51.js";
5
+ import { Toast } from "./index46.js";
6
+ import styles from "./index50.js";
7
+ const ToastContext = createContext(null);
8
+ const ToastProvider = ({
9
+ children,
10
+ defaultDuration = TOAST_DURATION_MS,
11
+ portalTarget
12
+ }) => {
13
+ const [items, setItems] = useState([]);
14
+ const idRef = useRef(0);
15
+ const timers = useRef(/* @__PURE__ */ new Map());
16
+ const dismiss = useCallback((id) => {
17
+ setItems((prev) => prev.filter((item) => item.id !== id));
18
+ const timer = timers.current.get(id);
19
+ if (timer) {
20
+ clearTimeout(timer);
21
+ timers.current.delete(id);
22
+ }
23
+ }, []);
24
+ const toast = useCallback(
25
+ (message, options) => {
26
+ idRef.current += 1;
27
+ const id = String(idRef.current);
28
+ setItems((prev) => [...prev, { id, message, variant: (options == null ? void 0 : options.variant) ?? "default" }]);
29
+ const timer = setTimeout(() => dismiss(id), (options == null ? void 0 : options.duration) ?? defaultDuration);
30
+ timers.current.set(id, timer);
31
+ },
32
+ [defaultDuration, dismiss]
33
+ );
34
+ useEffect(() => {
35
+ const map = timers.current;
36
+ return () => {
37
+ map.forEach((timer) => clearTimeout(timer));
38
+ map.clear();
39
+ };
40
+ }, []);
41
+ const target = portalTarget ?? (typeof document !== "undefined" ? document.body : null);
42
+ return /* @__PURE__ */ jsxs(ToastContext.Provider, { value: { toast }, children: [
43
+ children,
44
+ target && createPortal(
45
+ /* @__PURE__ */ jsx("div", { className: styles.region, "aria-live": "polite", "aria-label": "Notificaciones", children: items.map((item) => /* @__PURE__ */ jsx(
46
+ Toast,
47
+ {
48
+ variant: item.variant,
49
+ role: item.variant === "error" ? "alert" : "status",
50
+ onClick: () => dismiss(item.id),
51
+ children: item.message
52
+ },
53
+ item.id
54
+ )) }),
55
+ target
56
+ )
57
+ ] });
58
+ };
59
+ function useToast() {
60
+ const context = useContext(ToastContext);
61
+ if (!context) {
62
+ throw new Error("useToast must be used within a ToastProvider");
63
+ }
64
+ return context;
13
65
  }
14
66
  export {
15
- clsx,
16
- clsx as default
67
+ ToastProvider,
68
+ useToast
17
69
  };
18
70
  //# sourceMappingURL=index47.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index47.js","sources":["../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;"],"names":[],"mappings":"AAAA,SAAS,EAAE,GAAE;AAAC,MAAI,GAAE,GAAE,IAAE;AAAG,MAAG,YAAU,OAAO,KAAG,YAAU,OAAO,EAAE,MAAG;AAAA,WAAU,YAAU,OAAO,EAAE,KAAG,MAAM,QAAQ,CAAC,GAAE;AAAC,QAAI,IAAE,EAAE;AAAO,SAAI,IAAE,GAAE,IAAE,GAAE,IAAI,GAAE,CAAC,MAAI,IAAE,EAAE,EAAE,CAAC,CAAC,OAAK,MAAI,KAAG,MAAK,KAAG;AAAA,EAAE,MAAM,MAAI,KAAK,EAAE,GAAE,CAAC,MAAI,MAAI,KAAG,MAAK,KAAG;AAAG,SAAO;AAAC;AAAQ,SAAS,OAAM;AAAC,WAAQ,GAAE,GAAE,IAAE,GAAE,IAAE,IAAG,IAAE,UAAU,QAAO,IAAE,GAAE,IAAI,EAAC,IAAE,UAAU,CAAC,OAAK,IAAE,EAAE,CAAC,OAAK,MAAI,KAAG,MAAK,KAAG;AAAG,SAAO;AAAC;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index47.js","sources":["../src/primitives/Toast/ToastProvider.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { TOAST_DURATION_MS } from '../../constants';\nimport type { ToastContextValue, ToastItem, ToastProviderProps } from './Toast.types';\nimport { Toast } from './Toast';\nimport styles from './Toast.module.css';\n\nconst ToastContext = createContext<ToastContextValue | null>(null);\n\nexport const ToastProvider = ({\n children,\n defaultDuration = TOAST_DURATION_MS,\n portalTarget,\n}: ToastProviderProps) => {\n const [items, setItems] = useState<ToastItem[]>([]);\n const idRef = useRef(0);\n const timers = useRef(new Map<string, ReturnType<typeof setTimeout>>());\n\n const dismiss = useCallback((id: string) => {\n setItems((prev) => prev.filter((item) => item.id !== id));\n const timer = timers.current.get(id);\n if (timer) {\n clearTimeout(timer);\n timers.current.delete(id);\n }\n }, []);\n\n const toast = useCallback<ToastContextValue['toast']>(\n (message, options) => {\n idRef.current += 1;\n const id = String(idRef.current);\n setItems((prev) => [...prev, { id, message, variant: options?.variant ?? 'default' }]);\n const timer = setTimeout(() => dismiss(id), options?.duration ?? defaultDuration);\n timers.current.set(id, timer);\n },\n [defaultDuration, dismiss],\n );\n\n useEffect(() => {\n const map = timers.current;\n return () => {\n map.forEach((timer) => clearTimeout(timer));\n map.clear();\n };\n }, []);\n\n const target = portalTarget ?? (typeof document !== 'undefined' ? document.body : null);\n\n return (\n <ToastContext.Provider value={{ toast }}>\n {children}\n {target &&\n createPortal(\n <div className={styles.region} aria-live=\"polite\" aria-label=\"Notificaciones\">\n {items.map((item) => (\n <Toast\n key={item.id}\n variant={item.variant}\n role={item.variant === 'error' ? 'alert' : 'status'}\n onClick={() => dismiss(item.id)}\n >\n {item.message}\n </Toast>\n ))}\n </div>,\n target,\n )}\n </ToastContext.Provider>\n );\n};\n\nexport function useToast(): ToastContextValue {\n const context = useContext(ToastContext);\n if (!context) {\n throw new Error('useToast must be used within a ToastProvider');\n }\n return context;\n}\n"],"names":[],"mappings":";;;;;;AAOA,MAAM,eAAe,cAAwC,IAAI;AAE1D,MAAM,gBAAgB,CAAC;AAAA,EAC5B;AAAA,EACA,kBAAkB;AAAA,EAClB;AACF,MAA0B;AACxB,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAsB,CAAA,CAAE;AAClD,QAAM,QAAQ,OAAO,CAAC;AACtB,QAAM,SAAS,OAAO,oBAAI,KAA4C;AAEtE,QAAM,UAAU,YAAY,CAAC,OAAe;AAC1C,aAAS,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;AACxD,UAAM,QAAQ,OAAO,QAAQ,IAAI,EAAE;AACnC,QAAI,OAAO;AACT,mBAAa,KAAK;AAClB,aAAO,QAAQ,OAAO,EAAE;AAAA,IAC1B;AAAA,EACF,GAAG,CAAA,CAAE;AAEL,QAAM,QAAQ;AAAA,IACZ,CAAC,SAAS,YAAY;AACpB,YAAM,WAAW;AACjB,YAAM,KAAK,OAAO,MAAM,OAAO;AAC/B,eAAS,CAAC,SAAS,CAAC,GAAG,MAAM,EAAE,IAAI,SAAS,UAAS,mCAAS,YAAW,UAAA,CAAW,CAAC;AACrF,YAAM,QAAQ,WAAW,MAAM,QAAQ,EAAE,IAAG,mCAAS,aAAY,eAAe;AAChF,aAAO,QAAQ,IAAI,IAAI,KAAK;AAAA,IAC9B;AAAA,IACA,CAAC,iBAAiB,OAAO;AAAA,EAAA;AAG3B,YAAU,MAAM;AACd,UAAM,MAAM,OAAO;AACnB,WAAO,MAAM;AACX,UAAI,QAAQ,CAAC,UAAU,aAAa,KAAK,CAAC;AAC1C,UAAI,MAAA;AAAA,IACN;AAAA,EACF,GAAG,CAAA,CAAE;AAEL,QAAM,SAAS,iBAAiB,OAAO,aAAa,cAAc,SAAS,OAAO;AAElF,8BACG,aAAa,UAAb,EAAsB,OAAO,EAAE,SAC7B,UAAA;AAAA,IAAA;AAAA,IACA,UACC;AAAA,MACE,oBAAC,OAAA,EAAI,WAAW,OAAO,QAAQ,aAAU,UAAS,cAAW,kBAC1D,UAAA,MAAM,IAAI,CAAC,SACV;AAAA,QAAC;AAAA,QAAA;AAAA,UAEC,SAAS,KAAK;AAAA,UACd,MAAM,KAAK,YAAY,UAAU,UAAU;AAAA,UAC3C,SAAS,MAAM,QAAQ,KAAK,EAAE;AAAA,UAE7B,UAAA,KAAK;AAAA,QAAA;AAAA,QALD,KAAK;AAAA,MAAA,CAOb,GACH;AAAA,MACA;AAAA,IAAA;AAAA,EACF,GACJ;AAEJ;AAEO,SAAS,WAA8B;AAC5C,QAAM,UAAU,WAAW,YAAY;AACvC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,8CAA8C;AAAA,EAChE;AACA,SAAO;AACT;"}
package/dist/index48.cjs CHANGED
@@ -1,9 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const root = "krc-root-jba0x";
4
- const styles = {
5
- root
6
- };
7
- exports.default = styles;
8
- exports.root = root;
3
+ function r(e) {
4
+ var t, f, n = "";
5
+ if ("string" == typeof e || "number" == typeof e) n += e;
6
+ else if ("object" == typeof e) if (Array.isArray(e)) {
7
+ var o = e.length;
8
+ for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
9
+ } else for (f in e) e[f] && (n && (n += " "), n += f);
10
+ return n;
11
+ }
12
+ function clsx() {
13
+ for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
14
+ return n;
15
+ }
16
+ exports.clsx = clsx;
17
+ exports.default = clsx;
9
18
  //# sourceMappingURL=index48.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index48.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"index48.cjs","sources":["../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;"],"names":[],"mappings":";;AAAA,SAAS,EAAE,GAAE;AAAC,MAAI,GAAE,GAAE,IAAE;AAAG,MAAG,YAAU,OAAO,KAAG,YAAU,OAAO,EAAE,MAAG;AAAA,WAAU,YAAU,OAAO,EAAE,KAAG,MAAM,QAAQ,CAAC,GAAE;AAAC,QAAI,IAAE,EAAE;AAAO,SAAI,IAAE,GAAE,IAAE,GAAE,IAAI,GAAE,CAAC,MAAI,IAAE,EAAE,EAAE,CAAC,CAAC,OAAK,MAAI,KAAG,MAAK,KAAG;AAAA,EAAE,MAAM,MAAI,KAAK,EAAE,GAAE,CAAC,MAAI,MAAI,KAAG,MAAK,KAAG;AAAG,SAAO;AAAC;AAAQ,SAAS,OAAM;AAAC,WAAQ,GAAE,GAAE,IAAE,GAAE,IAAE,IAAG,IAAE,UAAU,QAAO,IAAE,GAAE,IAAI,EAAC,IAAE,UAAU,CAAC,OAAK,IAAE,EAAE,CAAC,OAAK,MAAI,KAAG,MAAK,KAAG;AAAG,SAAO;AAAC;;;","x_google_ignoreList":[0]}
package/dist/index48.js CHANGED
@@ -1,9 +1,18 @@
1
- const root = "krc-root-jba0x";
2
- const styles = {
3
- root
4
- };
1
+ function r(e) {
2
+ var t, f, n = "";
3
+ if ("string" == typeof e || "number" == typeof e) n += e;
4
+ else if ("object" == typeof e) if (Array.isArray(e)) {
5
+ var o = e.length;
6
+ for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
7
+ } else for (f in e) e[f] && (n && (n += " "), n += f);
8
+ return n;
9
+ }
10
+ function clsx() {
11
+ for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
12
+ return n;
13
+ }
5
14
  export {
6
- styles as default,
7
- root
15
+ clsx,
16
+ clsx as default
8
17
  };
9
18
  //# sourceMappingURL=index48.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index48.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"index48.js","sources":["../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;"],"names":[],"mappings":"AAAA,SAAS,EAAE,GAAE;AAAC,MAAI,GAAE,GAAE,IAAE;AAAG,MAAG,YAAU,OAAO,KAAG,YAAU,OAAO,EAAE,MAAG;AAAA,WAAU,YAAU,OAAO,EAAE,KAAG,MAAM,QAAQ,CAAC,GAAE;AAAC,QAAI,IAAE,EAAE;AAAO,SAAI,IAAE,GAAE,IAAE,GAAE,IAAI,GAAE,CAAC,MAAI,IAAE,EAAE,EAAE,CAAC,CAAC,OAAK,MAAI,KAAG,MAAK,KAAG;AAAA,EAAE,MAAM,MAAI,KAAK,EAAE,GAAE,CAAC,MAAI,MAAI,KAAG,MAAK,KAAG;AAAG,SAAO;AAAC;AAAQ,SAAS,OAAM;AAAC,WAAQ,GAAE,GAAE,IAAE,GAAE,IAAE,IAAG,IAAE,UAAU,QAAO,IAAE,GAAE,IAAI,EAAC,IAAE,UAAU,CAAC,OAAK,IAAE,EAAE,CAAC,OAAK,MAAI,KAAG,MAAK,KAAG;AAAG,SAAO;AAAC;","x_google_ignoreList":[0]}
package/dist/index49.cjs CHANGED
@@ -1,30 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const root = "krc-root-ZwPiG";
4
- const label = "krc-label-WG17f";
5
- const value = "krc-value-S9SSu";
6
- const red = "krc-red-stqO-";
7
- const amber = "krc-amber-lZgsd";
8
- const sub = "krc-sub-0xfrv";
9
- const isClick = "krc-isClick-CnKvM";
10
- const isActive = "krc-isActive-YLCNL";
3
+ const root = "krc-root-FVKOX";
11
4
  const styles = {
12
- root,
13
- label,
14
- value,
15
- red,
16
- amber,
17
- sub,
18
- isClick,
19
- isActive
5
+ root
20
6
  };
21
- exports.amber = amber;
22
7
  exports.default = styles;
23
- exports.isActive = isActive;
24
- exports.isClick = isClick;
25
- exports.label = label;
26
- exports.red = red;
27
8
  exports.root = root;
28
- exports.sub = sub;
29
- exports.value = value;
30
9
  //# sourceMappingURL=index49.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index49.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index49.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
package/dist/index49.js CHANGED
@@ -1,30 +1,9 @@
1
- const root = "krc-root-ZwPiG";
2
- const label = "krc-label-WG17f";
3
- const value = "krc-value-S9SSu";
4
- const red = "krc-red-stqO-";
5
- const amber = "krc-amber-lZgsd";
6
- const sub = "krc-sub-0xfrv";
7
- const isClick = "krc-isClick-CnKvM";
8
- const isActive = "krc-isActive-YLCNL";
1
+ const root = "krc-root-FVKOX";
9
2
  const styles = {
10
- root,
11
- label,
12
- value,
13
- red,
14
- amber,
15
- sub,
16
- isClick,
17
- isActive
3
+ root
18
4
  };
19
5
  export {
20
- amber,
21
6
  styles as default,
22
- isActive,
23
- isClick,
24
- label,
25
- red,
26
- root,
27
- sub,
28
- value
7
+ root
29
8
  };
30
9
  //# sourceMappingURL=index49.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index49.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index49.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
package/dist/index51.cjs CHANGED
@@ -53,6 +53,12 @@ const SIDEBAR = {
53
53
  };
54
54
  const COUNTERS_PAGE_SIZE = 100;
55
55
  const TOAST_DURATION_MS = 3200;
56
+ const PAGINATION = {
57
+ /** Page numbers shown on each side of the current page. */
58
+ SIBLING_COUNT: 1,
59
+ /** Page numbers pinned at the first/last boundaries. */
60
+ BOUNDARY_COUNT: 1
61
+ };
56
62
  exports.CHART_COLORS = CHART_COLORS;
57
63
  exports.CHART_MODAL = CHART_MODAL;
58
64
  exports.CONTEXT_MENU_MARGIN = CONTEXT_MENU_MARGIN;
@@ -64,6 +70,7 @@ exports.MAX_SANKEY_NODES = MAX_SANKEY_NODES;
64
70
  exports.MAX_SERIES = MAX_SERIES;
65
71
  exports.MAX_SUBCATEGORIES = MAX_SUBCATEGORIES;
66
72
  exports.MIN_COLUMN_WIDTH = MIN_COLUMN_WIDTH;
73
+ exports.PAGINATION = PAGINATION;
67
74
  exports.SIDEBAR = SIDEBAR;
68
75
  exports.SVG_STROKE_WIDTH = SVG_STROKE_WIDTH;
69
76
  exports.SVG_VIEWBOX = SVG_VIEWBOX;
@@ -1 +1 @@
1
- {"version":3,"file":"index51.cjs","sources":["../src/constants.ts"],"sourcesContent":["/**\n * Shared constants for the component library.\n * Centralises magic numbers used across components.\n */\n\n/** SVG icon rendered sizes (px — used as HTML/SVG attributes, not CSS). */\nexport const ICON_SIZE = {\n SM: 14,\n MD: 16,\n LG: 18,\n} as const;\n\n/** Standard SVG viewBox for 24×24 icon grid. */\nexport const SVG_VIEWBOX = '0 0 24 24';\n\n/** Standard SVG stroke width. */\nexport const SVG_STROKE_WIDTH = 2;\n\n/** Keyboard accessibility step (percentage points per arrow press). */\nexport const KEYBOARD_STEP = 2;\n\n/** Viewport safety margin (px — used in JS calculations with DOM APIs). */\nexport const VIEWPORT_MARGIN = 32;\n\n/** ContextMenu viewport margin (px). */\nexport const CONTEXT_MENU_MARGIN = 10;\n\n/** ChartExpandModal dimension constraints (px — used with window.innerWidth). */\nexport const CHART_MODAL = {\n MIN_WIDTH: 960,\n MIN_HEIGHT: 480,\n MAX_WIDTH: 2400,\n MAX_HEIGHT: 1300,\n DEFAULT_WIDTH: 1500,\n DEFAULT_HEIGHT: 820,\n FALLBACK_WIDTH: 1400,\n FALLBACK_HEIGHT: 800,\n} as const;\n\n/** Maximum Sankey nodes before truncation warning. */\nexport const MAX_SANKEY_NODES = 150;\n\n/** Maximum stacked series before \"Other\" aggregation. */\nexport const MAX_SERIES = 20;\n\n/** Maximum categories in stacked bar chart. */\nexport const MAX_CATEGORIES = 20;\n\n/** Maximum subcategories per category. */\nexport const MAX_SUBCATEGORIES = 10;\n\n/** Time range preset durations in milliseconds. */\nexport const TIME_PRESET_MS = {\n '1h': 3_600_000,\n '6h': 21_600_000,\n '24h': 86_400_000,\n '7d': 604_800_000,\n '30d': 2_592_000_000,\n} as const;\n\n/** Default chart color palette. */\nexport const CHART_COLORS = [\n '#FF6B5A', '#5B8DEF', '#4ECDC4', '#F7B731', '#A55EEA',\n '#26DE81', '#FC5C65', '#45AAF2', '#FD9644', '#2BCBBA',\n '#D1D8E0', '#778CA3', '#EB3B5A', '#3867D6', '#20BF6B',\n '#F7B731', '#8854D0', '#0FB9B1', '#FA8231', '#4B6584',\n] as const;\n\n/** Minimum column width for resizable tables (px — used in JS calculations). */\nexport const MIN_COLUMN_WIDTH = 40;\n\n/** Sidebar dimension constants (px — used as inline styles). */\nexport const SIDEBAR = {\n WIDTH: 240,\n COLLAPSED_WIDTH: 80,\n} as const;\n\n/** Counters analysis pagination. */\nexport const COUNTERS_PAGE_SIZE = 100;\n\n/** Default time a toast stays visible before auto-dismiss (ms). */\nexport const TOAST_DURATION_MS = 3200;\n"],"names":[],"mappings":";;AAMO,MAAM,YAAY;AAAA,EACvB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAGO,MAAM,cAAc;AAGpB,MAAM,mBAAmB;AAGzB,MAAM,gBAAgB;AAGtB,MAAM,kBAAkB;AAGxB,MAAM,sBAAsB;AAG5B,MAAM,cAAc;AAAA,EACzB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,iBAAiB;AACnB;AAGO,MAAM,mBAAmB;AAGzB,MAAM,aAAa;AAGnB,MAAM,iBAAiB;AAGvB,MAAM,oBAAoB;AAY1B,MAAM,eAAe;AAAA,EAC1B;AAAA,EAAW;AAAA,EAAW;AAAA,EAAW;AAAA,EAAW;AAAA,EAC5C;AAAA,EAAW;AAAA,EAAW;AAAA,EAAW;AAAA,EAAW;AAAA,EAC5C;AAAA,EAAW;AAAA,EAAW;AAAA,EAAW;AAAA,EAAW;AAAA,EAC5C;AAAA,EAAW;AAAA,EAAW;AAAA,EAAW;AAAA,EAAW;AAC9C;AAGO,MAAM,mBAAmB;AAGzB,MAAM,UAAU;AAAA,EACrB,OAAO;AAAA,EACP,iBAAiB;AACnB;AAGO,MAAM,qBAAqB;AAG3B,MAAM,oBAAoB;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index51.cjs","sources":["../src/constants.ts"],"sourcesContent":["/**\n * Shared constants for the component library.\n * Centralises magic numbers used across components.\n */\n\n/** SVG icon rendered sizes (px — used as HTML/SVG attributes, not CSS). */\nexport const ICON_SIZE = {\n SM: 14,\n MD: 16,\n LG: 18,\n} as const;\n\n/** Standard SVG viewBox for 24×24 icon grid. */\nexport const SVG_VIEWBOX = '0 0 24 24';\n\n/** Standard SVG stroke width. */\nexport const SVG_STROKE_WIDTH = 2;\n\n/** Keyboard accessibility step (percentage points per arrow press). */\nexport const KEYBOARD_STEP = 2;\n\n/** Viewport safety margin (px — used in JS calculations with DOM APIs). */\nexport const VIEWPORT_MARGIN = 32;\n\n/** ContextMenu viewport margin (px). */\nexport const CONTEXT_MENU_MARGIN = 10;\n\n/** ChartExpandModal dimension constraints (px — used with window.innerWidth). */\nexport const CHART_MODAL = {\n MIN_WIDTH: 960,\n MIN_HEIGHT: 480,\n MAX_WIDTH: 2400,\n MAX_HEIGHT: 1300,\n DEFAULT_WIDTH: 1500,\n DEFAULT_HEIGHT: 820,\n FALLBACK_WIDTH: 1400,\n FALLBACK_HEIGHT: 800,\n} as const;\n\n/** Maximum Sankey nodes before truncation warning. */\nexport const MAX_SANKEY_NODES = 150;\n\n/** Maximum stacked series before \"Other\" aggregation. */\nexport const MAX_SERIES = 20;\n\n/** Maximum categories in stacked bar chart. */\nexport const MAX_CATEGORIES = 20;\n\n/** Maximum subcategories per category. */\nexport const MAX_SUBCATEGORIES = 10;\n\n/** Time range preset durations in milliseconds. */\nexport const TIME_PRESET_MS = {\n '1h': 3_600_000,\n '6h': 21_600_000,\n '24h': 86_400_000,\n '7d': 604_800_000,\n '30d': 2_592_000_000,\n} as const;\n\n/** Default chart color palette. */\nexport const CHART_COLORS = [\n '#FF6B5A', '#5B8DEF', '#4ECDC4', '#F7B731', '#A55EEA',\n '#26DE81', '#FC5C65', '#45AAF2', '#FD9644', '#2BCBBA',\n '#D1D8E0', '#778CA3', '#EB3B5A', '#3867D6', '#20BF6B',\n '#F7B731', '#8854D0', '#0FB9B1', '#FA8231', '#4B6584',\n] as const;\n\n/** Minimum column width for resizable tables (px — used in JS calculations). */\nexport const MIN_COLUMN_WIDTH = 40;\n\n/** Sidebar dimension constants (px — used as inline styles). */\nexport const SIDEBAR = {\n WIDTH: 240,\n COLLAPSED_WIDTH: 80,\n} as const;\n\n/** Counters analysis pagination. */\nexport const COUNTERS_PAGE_SIZE = 100;\n\n/** Default time a toast stays visible before auto-dismiss (ms). */\nexport const TOAST_DURATION_MS = 3200;\n\n/** Pagination page-range defaults. */\nexport const PAGINATION = {\n /** Page numbers shown on each side of the current page. */\n SIBLING_COUNT: 1,\n /** Page numbers pinned at the first/last boundaries. */\n BOUNDARY_COUNT: 1,\n} as const;\n"],"names":[],"mappings":";;AAMO,MAAM,YAAY;AAAA,EACvB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAGO,MAAM,cAAc;AAGpB,MAAM,mBAAmB;AAGzB,MAAM,gBAAgB;AAGtB,MAAM,kBAAkB;AAGxB,MAAM,sBAAsB;AAG5B,MAAM,cAAc;AAAA,EACzB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,iBAAiB;AACnB;AAGO,MAAM,mBAAmB;AAGzB,MAAM,aAAa;AAGnB,MAAM,iBAAiB;AAGvB,MAAM,oBAAoB;AAY1B,MAAM,eAAe;AAAA,EAC1B;AAAA,EAAW;AAAA,EAAW;AAAA,EAAW;AAAA,EAAW;AAAA,EAC5C;AAAA,EAAW;AAAA,EAAW;AAAA,EAAW;AAAA,EAAW;AAAA,EAC5C;AAAA,EAAW;AAAA,EAAW;AAAA,EAAW;AAAA,EAAW;AAAA,EAC5C;AAAA,EAAW;AAAA,EAAW;AAAA,EAAW;AAAA,EAAW;AAC9C;AAGO,MAAM,mBAAmB;AAGzB,MAAM,UAAU;AAAA,EACrB,OAAO;AAAA,EACP,iBAAiB;AACnB;AAGO,MAAM,qBAAqB;AAG3B,MAAM,oBAAoB;AAG1B,MAAM,aAAa;AAAA;AAAA,EAExB,eAAe;AAAA;AAAA,EAEf,gBAAgB;AAClB;;;;;;;;;;;;;;;;;;"}
package/dist/index51.js CHANGED
@@ -51,6 +51,12 @@ const SIDEBAR = {
51
51
  };
52
52
  const COUNTERS_PAGE_SIZE = 100;
53
53
  const TOAST_DURATION_MS = 3200;
54
+ const PAGINATION = {
55
+ /** Page numbers shown on each side of the current page. */
56
+ SIBLING_COUNT: 1,
57
+ /** Page numbers pinned at the first/last boundaries. */
58
+ BOUNDARY_COUNT: 1
59
+ };
54
60
  export {
55
61
  CHART_COLORS,
56
62
  CHART_MODAL,
@@ -63,6 +69,7 @@ export {
63
69
  MAX_SERIES,
64
70
  MAX_SUBCATEGORIES,
65
71
  MIN_COLUMN_WIDTH,
72
+ PAGINATION,
66
73
  SIDEBAR,
67
74
  SVG_STROKE_WIDTH,
68
75
  SVG_VIEWBOX,