@embeddable.com/remarkable-ui 1.0.5 → 2.0.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 (674) hide show
  1. package/dist/ActionIcon.module-WZFHG44L.module.css +34 -0
  2. package/dist/Button.module-UAYCVFGG.module.css +84 -0
  3. package/dist/ButtonIcon.module-JHFZQSMJ.module.css +67 -0
  4. package/dist/Card.module-DHO64CIG.module.css +55 -0
  5. package/dist/CardFeedback.module-WCSHLBSM.module.css +40 -0
  6. package/dist/FieldFeedback.module-F7Z33KCS.module.css +17 -0
  7. package/dist/FieldHeader.module-QOLBH472.module.css +20 -0
  8. package/dist/GhostButton.module-43KOFC6W.module.css +53 -0
  9. package/dist/InputField.module-LDLOMDBK.module.css +78 -0
  10. package/dist/KpiChart.module-KRTSMOWN.module.css +34 -0
  11. package/dist/KpiChartChange.module-M7E4IU7A.module.css +52 -0
  12. package/dist/Overlay.module-FCW64VWM.module.css +12 -0
  13. package/dist/SelectFieldCategory.module-FMZMX5V2.module.css +12 -0
  14. package/dist/SelectFieldContent.module-6FORUMWR.module.css +34 -0
  15. package/dist/SelectFieldOption.module-SH3TOVNB.module.css +95 -0
  16. package/dist/SelectFieldTrigger.module-M6BRE7IY.module.css +80 -0
  17. package/dist/Skeleton.module-ZN5S5VRF.module.css +22 -0
  18. package/dist/Switch.module-MXKS66UI.module.css +71 -0
  19. package/dist/TableBody.module-ARNVVKDL.module.css +16 -0
  20. package/dist/TableHeader.module-XXXLQWHC.module.css +31 -0
  21. package/dist/TablePagination.module-VGIQ7VN7.module.css +27 -0
  22. package/dist/Typography.module-SW6CT55P.module.css +4 -0
  23. package/dist/charts.module-YNKCWRLU.module.css +5 -0
  24. package/dist/chunk-TBNFMVQR.js +462 -0
  25. package/dist/chunk-TBNFMVQR.js.map +1 -0
  26. package/dist/{remarkable-ui/styles/styles.tokensComponents.constants.d.ts → index-C2c7n1lv.d.ts} +123 -10
  27. package/dist/index.d.ts +472 -3
  28. package/dist/index.js +2739 -230
  29. package/dist/index.js.map +1 -1
  30. package/dist/selects.module-MRJADSDF.module.css +8 -0
  31. package/dist/styles.d.ts +1 -0
  32. package/dist/styles.js +7 -0
  33. package/dist/styles.js.map +1 -0
  34. package/dist/tables.module-WFOONEPQ.module.css +183 -0
  35. package/package.json +23 -32
  36. package/dist/BarChartDefaultHorizontalPro.js +0 -117
  37. package/dist/BarChartDefaultHorizontalPro.js.map +0 -1
  38. package/dist/BarChartDefaultPro.js +0 -116
  39. package/dist/BarChartDefaultPro.js.map +0 -1
  40. package/dist/BarChartGroupedHorizontalPro.js +0 -134
  41. package/dist/BarChartGroupedHorizontalPro.js.map +0 -1
  42. package/dist/BarChartGroupedPro.js +0 -133
  43. package/dist/BarChartGroupedPro.js.map +0 -1
  44. package/dist/BarChartStackedHorizontalPro.js +0 -136
  45. package/dist/BarChartStackedHorizontalPro.js.map +0 -1
  46. package/dist/BarChartStackedPro.js +0 -135
  47. package/dist/BarChartStackedPro.js.map +0 -1
  48. package/dist/ChartCard-BzLW_64B.js +0 -122
  49. package/dist/ChartCard-BzLW_64B.js.map +0 -1
  50. package/dist/ComparisonPeriod.type.emb-D0_AP_PM.js +0 -14
  51. package/dist/ComparisonPeriod.type.emb-D0_AP_PM.js.map +0 -1
  52. package/dist/ComparisonPeriodSelectFieldPro.js +0 -106
  53. package/dist/ComparisonPeriodSelectFieldPro.js.map +0 -1
  54. package/dist/DateRangeSelectFieldPro.js +0 -61
  55. package/dist/DateRangeSelectFieldPro.js.map +0 -1
  56. package/dist/DonutChartPro.js +0 -50
  57. package/dist/DonutChartPro.js.map +0 -1
  58. package/dist/DonutLabelChartPro.js +0 -63
  59. package/dist/DonutLabelChartPro.js.map +0 -1
  60. package/dist/EditorCard-BLudeyiZ.js +0 -74
  61. package/dist/EditorCard-BLudeyiZ.js.map +0 -1
  62. package/dist/HeatMap-HTlj76CN.js +0 -208
  63. package/dist/HeatMap-HTlj76CN.js.map +0 -1
  64. package/dist/HeatMapPro.js +0 -138
  65. package/dist/HeatMapPro.js.map +0 -1
  66. package/dist/KpiChart-DWnEF3iA.js +0 -105
  67. package/dist/KpiChart-DWnEF3iA.js.map +0 -1
  68. package/dist/KpiChartNumberComparisonPro.js +0 -160
  69. package/dist/KpiChartNumberComparisonPro.js.map +0 -1
  70. package/dist/KpiChartNumberPro.js +0 -47
  71. package/dist/KpiChartNumberPro.js.map +0 -1
  72. package/dist/LineChartComparisonDefaultPro.js +0 -453
  73. package/dist/LineChartComparisonDefaultPro.js.map +0 -1
  74. package/dist/LineChartDefaultPro.js +0 -219
  75. package/dist/LineChartDefaultPro.js.map +0 -1
  76. package/dist/LineChartGroupedPro.js +0 -216
  77. package/dist/LineChartGroupedPro.js.map +0 -1
  78. package/dist/MultiSelectFieldPro.js +0 -96
  79. package/dist/MultiSelectFieldPro.js.map +0 -1
  80. package/dist/PieChartPro.js +0 -50
  81. package/dist/PieChartPro.js.map +0 -1
  82. package/dist/PivotTable-Diy2xzoH.js +0 -249
  83. package/dist/PivotTable-Diy2xzoH.js.map +0 -1
  84. package/dist/PivotTablePro.js +0 -141
  85. package/dist/PivotTablePro.js.map +0 -1
  86. package/dist/SingleSelectField-CX2hEN0u.js +0 -109
  87. package/dist/SingleSelectField-CX2hEN0u.js.map +0 -1
  88. package/dist/SingleSelectFieldPro.js +0 -94
  89. package/dist/SingleSelectFieldPro.js.map +0 -1
  90. package/dist/TableChartPaginated.js +0 -252
  91. package/dist/TableChartPaginated.js.map +0 -1
  92. package/dist/af-CEVi4R94.js +0 -42
  93. package/dist/af-CEVi4R94.js.map +0 -1
  94. package/dist/am-BsxfeHL-.js +0 -42
  95. package/dist/am-BsxfeHL-.js.map +0 -1
  96. package/dist/ar-Csxpn9Sb.js +0 -52
  97. package/dist/ar-Csxpn9Sb.js.map +0 -1
  98. package/dist/az-CzJn6lg0.js +0 -42
  99. package/dist/az-CzJn6lg0.js.map +0 -1
  100. package/dist/bars.utils-CAMiF7iA.js +0 -146
  101. package/dist/bars.utils-CAMiF7iA.js.map +0 -1
  102. package/dist/be-DcRqzG_0.js +0 -42
  103. package/dist/be-DcRqzG_0.js.map +0 -1
  104. package/dist/bg-EyI1heHM.js +0 -45
  105. package/dist/bg-EyI1heHM.js.map +0 -1
  106. package/dist/bi-CtrTfk3i.js +0 -42
  107. package/dist/bi-CtrTfk3i.js.map +0 -1
  108. package/dist/bm-45Gpgcta.js +0 -42
  109. package/dist/bm-45Gpgcta.js.map +0 -1
  110. package/dist/bn-BVcBD-e2.js +0 -50
  111. package/dist/bn-BVcBD-e2.js.map +0 -1
  112. package/dist/bo-MaHg7g5W.js +0 -42
  113. package/dist/bo-MaHg7g5W.js.map +0 -1
  114. package/dist/br-D511Ny90.js +0 -66
  115. package/dist/br-D511Ny90.js.map +0 -1
  116. package/dist/bs-lcbFZ4-X.js +0 -42
  117. package/dist/bs-lcbFZ4-X.js.map +0 -1
  118. package/dist/ca-DF-DYhBB.js +0 -42
  119. package/dist/ca-DF-DYhBB.js.map +0 -1
  120. package/dist/charts.fillGaps.hooks-5WclK2CD.js +0 -65
  121. package/dist/charts.fillGaps.hooks-5WclK2CD.js.map +0 -1
  122. package/dist/charts.utils-Cw4SeX2m.js +0 -17228
  123. package/dist/charts.utils-Cw4SeX2m.js.map +0 -1
  124. package/dist/color.utils-CVyp-fGP.js +0 -1645
  125. package/dist/color.utils-CVyp-fGP.js.map +0 -1
  126. package/dist/component.constants-B5vygi6l.js +0 -17905
  127. package/dist/component.constants-B5vygi6l.js.map +0 -1
  128. package/dist/cs-BsxNDnze.js +0 -73
  129. package/dist/cs-BsxNDnze.js.map +0 -1
  130. package/dist/cv-BdNq2fce.js +0 -42
  131. package/dist/cv-BdNq2fce.js.map +0 -1
  132. package/dist/cy-DVuhAvas.js +0 -42
  133. package/dist/cy-DVuhAvas.js.map +0 -1
  134. package/dist/da-CljcNZBu.js +0 -42
  135. package/dist/da-CljcNZBu.js.map +0 -1
  136. package/dist/de-CqKn3Q5q.js +0 -47
  137. package/dist/de-CqKn3Q5q.js.map +0 -1
  138. package/dist/dv-N9QEzsDH.js +0 -42
  139. package/dist/dv-N9QEzsDH.js.map +0 -1
  140. package/dist/editors.timeRange.utils-D9m6B3r1.js +0 -143
  141. package/dist/editors.timeRange.utils-D9m6B3r1.js.map +0 -1
  142. package/dist/el-eXnP3rgm.js +0 -42
  143. package/dist/el-eXnP3rgm.js.map +0 -1
  144. package/dist/embeddable-components.json +0 -27
  145. package/dist/embeddable-lifecycle.js +0 -42
  146. package/dist/embeddable-theme-2b917.js +0 -19505
  147. package/dist/embeddable-types-363c8.js +0 -118
  148. package/dist/embeddable-types.js.map +0 -1
  149. package/dist/en-0TbQbONC.js +0 -39
  150. package/dist/en-0TbQbONC.js.map +0 -1
  151. package/dist/eo-BI4lvPeN.js +0 -42
  152. package/dist/eo-BI4lvPeN.js.map +0 -1
  153. package/dist/es-CwI2IZ2y.js +0 -42
  154. package/dist/es-CwI2IZ2y.js.map +0 -1
  155. package/dist/et-BIhrE52B.js +0 -47
  156. package/dist/et-BIhrE52B.js.map +0 -1
  157. package/dist/eu-C7L6yj0n.js +0 -42
  158. package/dist/eu-C7L6yj0n.js.map +0 -1
  159. package/dist/fa-DpGxo7Ue.js +0 -42
  160. package/dist/fa-DpGxo7Ue.js.map +0 -1
  161. package/dist/fi-Bi3p4gPj.js +0 -47
  162. package/dist/fi-Bi3p4gPj.js.map +0 -1
  163. package/dist/fo-D8jrXIOj.js +0 -42
  164. package/dist/fo-D8jrXIOj.js.map +0 -1
  165. package/dist/formatter.utils-N2gk49ys.js +0 -46
  166. package/dist/formatter.utils-N2gk49ys.js.map +0 -1
  167. package/dist/fr-Bm8NrBLU.js +0 -42
  168. package/dist/fr-Bm8NrBLU.js.map +0 -1
  169. package/dist/fy-Adn-MJV1.js +0 -42
  170. package/dist/fy-Adn-MJV1.js.map +0 -1
  171. package/dist/ga-BgTlCTPa.js +0 -42
  172. package/dist/ga-BgTlCTPa.js.map +0 -1
  173. package/dist/gd-CWb22v62.js +0 -42
  174. package/dist/gd-CWb22v62.js.map +0 -1
  175. package/dist/gl-CGzJ6Hxv.js +0 -42
  176. package/dist/gl-CGzJ6Hxv.js.map +0 -1
  177. package/dist/globalHooks.json +0 -6
  178. package/dist/gu-DGhkrtNL.js +0 -42
  179. package/dist/gu-DGhkrtNL.js.map +0 -1
  180. package/dist/he-CmybeT6U.js +0 -46
  181. package/dist/he-CmybeT6U.js.map +0 -1
  182. package/dist/hi-Cqdry3mg.js +0 -42
  183. package/dist/hi-Cqdry3mg.js.map +0 -1
  184. package/dist/hr-pR6ks_2b.js +0 -46
  185. package/dist/hr-pR6ks_2b.js.map +0 -1
  186. package/dist/ht-NZhydEjn.js +0 -42
  187. package/dist/ht-NZhydEjn.js.map +0 -1
  188. package/dist/hu-Dwb0gSAw.js +0 -64
  189. package/dist/hu-Dwb0gSAw.js.map +0 -1
  190. package/dist/id-C4VwUvcv.js +0 -42
  191. package/dist/id-C4VwUvcv.js.map +0 -1
  192. package/dist/index-BKkfcfXT.js +0 -62
  193. package/dist/index-BKkfcfXT.js.map +0 -1
  194. package/dist/index-BOcQ7e6Q.js +0 -71
  195. package/dist/index-BOcQ7e6Q.js.map +0 -1
  196. package/dist/index-DhfbSAKi.js +0 -62
  197. package/dist/index-DhfbSAKi.js.map +0 -1
  198. package/dist/index-Dwe8JLUr.js +0 -47
  199. package/dist/index-Dwe8JLUr.js.map +0 -1
  200. package/dist/index-Jm7acUco.js +0 -204
  201. package/dist/index-Jm7acUco.js.map +0 -1
  202. package/dist/index-_mthkdMa.js +0 -56
  203. package/dist/index-_mthkdMa.js.map +0 -1
  204. package/dist/index.d.ts.map +0 -1
  205. package/dist/is-Crat4bPr.js +0 -50
  206. package/dist/is-Crat4bPr.js.map +0 -1
  207. package/dist/it-CA9ooIqN.js +0 -42
  208. package/dist/it-CA9ooIqN.js.map +0 -1
  209. package/dist/ja-Bfx12C7X.js +0 -44
  210. package/dist/ja-Bfx12C7X.js.map +0 -1
  211. package/dist/jv-DXlRCux6.js +0 -42
  212. package/dist/jv-DXlRCux6.js.map +0 -1
  213. package/dist/ka-BS5GvTRN.js +0 -42
  214. package/dist/ka-BS5GvTRN.js.map +0 -1
  215. package/dist/kk-BRHA3Lmp.js +0 -42
  216. package/dist/kk-BRHA3Lmp.js.map +0 -1
  217. package/dist/km-DSsGjrkI.js +0 -42
  218. package/dist/km-DSsGjrkI.js.map +0 -1
  219. package/dist/kn-XdKuARlN.js +0 -42
  220. package/dist/kn-XdKuARlN.js.map +0 -1
  221. package/dist/ko-ByUCowNk.js +0 -44
  222. package/dist/ko-ByUCowNk.js.map +0 -1
  223. package/dist/ku-B0nl0i-z.js +0 -52
  224. package/dist/ku-B0nl0i-z.js.map +0 -1
  225. package/dist/ky-dK3a_rjc.js +0 -42
  226. package/dist/ky-dK3a_rjc.js.map +0 -1
  227. package/dist/lb-Bmmf1loS.js +0 -42
  228. package/dist/lb-Bmmf1loS.js.map +0 -1
  229. package/dist/lines.utils-CFEUUo4k.js +0 -40
  230. package/dist/lines.utils-CFEUUo4k.js.map +0 -1
  231. package/dist/lo-BEZDZcIe.js +0 -42
  232. package/dist/lo-BEZDZcIe.js.map +0 -1
  233. package/dist/lt-BsaPsRFg.js +0 -46
  234. package/dist/lt-BsaPsRFg.js.map +0 -1
  235. package/dist/lv-JAiyIS1p.js +0 -42
  236. package/dist/lv-JAiyIS1p.js.map +0 -1
  237. package/dist/me-CeO1grzQ.js +0 -42
  238. package/dist/me-CeO1grzQ.js.map +0 -1
  239. package/dist/mi-DA8p3mOu.js +0 -42
  240. package/dist/mi-DA8p3mOu.js.map +0 -1
  241. package/dist/mk-CxB2TOH9.js +0 -42
  242. package/dist/mk-CxB2TOH9.js.map +0 -1
  243. package/dist/ml-BcvGZKGp.js +0 -42
  244. package/dist/ml-BcvGZKGp.js.map +0 -1
  245. package/dist/mn-C0kml-28.js +0 -42
  246. package/dist/mn-C0kml-28.js.map +0 -1
  247. package/dist/mr-kCrsv4XA.js +0 -42
  248. package/dist/mr-kCrsv4XA.js.map +0 -1
  249. package/dist/ms-DEqH2OlK.js +0 -42
  250. package/dist/ms-DEqH2OlK.js.map +0 -1
  251. package/dist/mt-CWmBtkRv.js +0 -42
  252. package/dist/mt-CWmBtkRv.js.map +0 -1
  253. package/dist/my-ByKCYiQK.js +0 -42
  254. package/dist/my-ByKCYiQK.js.map +0 -1
  255. package/dist/nb-BVxYWrs6.js +0 -42
  256. package/dist/nb-BVxYWrs6.js.map +0 -1
  257. package/dist/ne-CBcGkZE8.js +0 -44
  258. package/dist/ne-CBcGkZE8.js.map +0 -1
  259. package/dist/nl-Dq8C_-yW.js +0 -42
  260. package/dist/nl-Dq8C_-yW.js.map +0 -1
  261. package/dist/nn-DP4qtXLW.js +0 -42
  262. package/dist/nn-DP4qtXLW.js.map +0 -1
  263. package/dist/object.utils-D_Zzon-H.js +0 -37
  264. package/dist/object.utils-D_Zzon-H.js.map +0 -1
  265. package/dist/pies.utils-E8f3Hj1h.js +0 -73
  266. package/dist/pies.utils-E8f3Hj1h.js.map +0 -1
  267. package/dist/pl-CyKSJskL.js +0 -67
  268. package/dist/pl-CyKSJskL.js.map +0 -1
  269. package/dist/pt-BLEe0Ejm.js +0 -42
  270. package/dist/pt-BLEe0Ejm.js.map +0 -1
  271. package/dist/quarterOfYear-C0maIilJ.js +0 -68
  272. package/dist/quarterOfYear-C0maIilJ.js.map +0 -1
  273. package/dist/remarkable-pro/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts +0 -24
  274. package/dist/remarkable-pro/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts.map +0 -1
  275. package/dist/remarkable-pro/components/charts/bars/BarChartDefaultPro/index.d.ts +0 -24
  276. package/dist/remarkable-pro/components/charts/bars/BarChartDefaultPro/index.d.ts.map +0 -1
  277. package/dist/remarkable-pro/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts +0 -26
  278. package/dist/remarkable-pro/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts.map +0 -1
  279. package/dist/remarkable-pro/components/charts/bars/BarChartGroupedPro/index.d.ts +0 -26
  280. package/dist/remarkable-pro/components/charts/bars/BarChartGroupedPro/index.d.ts.map +0 -1
  281. package/dist/remarkable-pro/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts +0 -26
  282. package/dist/remarkable-pro/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts.map +0 -1
  283. package/dist/remarkable-pro/components/charts/bars/BarChartStackedPro/index.d.ts +0 -27
  284. package/dist/remarkable-pro/components/charts/bars/BarChartStackedPro/index.d.ts.map +0 -1
  285. package/dist/remarkable-pro/components/charts/bars/bars.utils.d.ts +0 -26
  286. package/dist/remarkable-pro/components/charts/bars/bars.utils.d.ts.map +0 -1
  287. package/dist/remarkable-pro/components/charts/charts.fillGaps.hooks.d.ts +0 -10
  288. package/dist/remarkable-pro/components/charts/charts.fillGaps.hooks.d.ts.map +0 -1
  289. package/dist/remarkable-pro/components/charts/charts.utils.d.ts +0 -5
  290. package/dist/remarkable-pro/components/charts/charts.utils.d.ts.map +0 -1
  291. package/dist/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts +0 -20
  292. package/dist/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts.map +0 -1
  293. package/dist/remarkable-pro/components/charts/kpis/KpiChartNumberPro/index.d.ts +0 -11
  294. package/dist/remarkable-pro/components/charts/kpis/KpiChartNumberPro/index.d.ts.map +0 -1
  295. package/dist/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.d.ts +0 -23
  296. package/dist/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.d.ts.map +0 -1
  297. package/dist/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts +0 -28
  298. package/dist/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +0 -1
  299. package/dist/remarkable-pro/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.d.ts +0 -17
  300. package/dist/remarkable-pro/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.d.ts.map +0 -1
  301. package/dist/remarkable-pro/components/charts/lines/LineChartDefaultPro/index.d.ts +0 -25
  302. package/dist/remarkable-pro/components/charts/lines/LineChartDefaultPro/index.d.ts.map +0 -1
  303. package/dist/remarkable-pro/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts +0 -18
  304. package/dist/remarkable-pro/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts.map +0 -1
  305. package/dist/remarkable-pro/components/charts/lines/LineChartGroupedPro/index.d.ts +0 -27
  306. package/dist/remarkable-pro/components/charts/lines/LineChartGroupedPro/index.d.ts.map +0 -1
  307. package/dist/remarkable-pro/components/charts/lines/lines.utils.d.ts +0 -10
  308. package/dist/remarkable-pro/components/charts/lines/lines.utils.d.ts.map +0 -1
  309. package/dist/remarkable-pro/components/charts/pies/DonutChartPro/index.d.ts +0 -5
  310. package/dist/remarkable-pro/components/charts/pies/DonutChartPro/index.d.ts.map +0 -1
  311. package/dist/remarkable-pro/components/charts/pies/DonutLabelChartPro/index.d.ts +0 -10
  312. package/dist/remarkable-pro/components/charts/pies/DonutLabelChartPro/index.d.ts.map +0 -1
  313. package/dist/remarkable-pro/components/charts/pies/PieChartPro/index.d.ts +0 -5
  314. package/dist/remarkable-pro/components/charts/pies/PieChartPro/index.d.ts.map +0 -1
  315. package/dist/remarkable-pro/components/charts/pies/pies.types.d.ts +0 -16
  316. package/dist/remarkable-pro/components/charts/pies/pies.types.d.ts.map +0 -1
  317. package/dist/remarkable-pro/components/charts/pies/pies.utils.d.ts +0 -11
  318. package/dist/remarkable-pro/components/charts/pies/pies.utils.d.ts.map +0 -1
  319. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.d.ts +0 -17
  320. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.d.ts.map +0 -1
  321. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.stories.d.ts +0 -20
  322. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.stories.d.ts.map +0 -1
  323. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardLoading/ChartCardLoading.d.ts +0 -2
  324. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardLoading/ChartCardLoading.d.ts.map +0 -1
  325. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.constants.d.ts +0 -3
  326. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.constants.d.ts.map +0 -1
  327. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.d.ts +0 -6
  328. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.d.ts.map +0 -1
  329. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.stories.d.ts +0 -16
  330. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.stories.d.ts.map +0 -1
  331. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.types.d.ts +0 -16
  332. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.types.d.ts.map +0 -1
  333. package/dist/remarkable-pro/components/charts/tables/HeatMapPro/index.d.ts +0 -29
  334. package/dist/remarkable-pro/components/charts/tables/HeatMapPro/index.d.ts.map +0 -1
  335. package/dist/remarkable-pro/components/charts/tables/PivotTablePro/PivotPro.utils.d.ts +0 -14
  336. package/dist/remarkable-pro/components/charts/tables/PivotTablePro/PivotPro.utils.d.ts.map +0 -1
  337. package/dist/remarkable-pro/components/charts/tables/PivotTablePro/index.d.ts +0 -16
  338. package/dist/remarkable-pro/components/charts/tables/PivotTablePro/index.d.ts.map +0 -1
  339. package/dist/remarkable-pro/components/charts/tables/TableChartPaginated/index.d.ts +0 -28
  340. package/dist/remarkable-pro/components/charts/tables/TableChartPaginated/index.d.ts.map +0 -1
  341. package/dist/remarkable-pro/components/charts/tables/tables.utils.d.ts +0 -17
  342. package/dist/remarkable-pro/components/charts/tables/tables.utils.d.ts.map +0 -1
  343. package/dist/remarkable-pro/components/component.constants.d.ts +0 -338
  344. package/dist/remarkable-pro/components/component.constants.d.ts.map +0 -1
  345. package/dist/remarkable-pro/components/component.utils.d.ts +0 -3
  346. package/dist/remarkable-pro/components/component.utils.d.ts.map +0 -1
  347. package/dist/remarkable-pro/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.types.d.ts +0 -8
  348. package/dist/remarkable-pro/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.types.d.ts.map +0 -1
  349. package/dist/remarkable-pro/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.utils.d.ts +0 -6
  350. package/dist/remarkable-pro/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.utils.d.ts.map +0 -1
  351. package/dist/remarkable-pro/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts +0 -12
  352. package/dist/remarkable-pro/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts.map +0 -1
  353. package/dist/remarkable-pro/components/editors/ComparisonPeriodSelectFieldPro/index.stories.d.ts +0 -12
  354. package/dist/remarkable-pro/components/editors/ComparisonPeriodSelectFieldPro/index.stories.d.ts.map +0 -1
  355. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.types.d.ts +0 -8
  356. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.types.d.ts.map +0 -1
  357. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.utils.d.ts +0 -4
  358. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.utils.d.ts.map +0 -1
  359. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/index.d.ts +0 -11
  360. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/index.d.ts.map +0 -1
  361. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/index.stories.d.ts +0 -17
  362. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/index.stories.d.ts.map +0 -1
  363. package/dist/remarkable-pro/components/editors/MultiSelectFieldPro/index.d.ts +0 -17
  364. package/dist/remarkable-pro/components/editors/MultiSelectFieldPro/index.d.ts.map +0 -1
  365. package/dist/remarkable-pro/components/editors/SingleSelectFieldPro/index.d.ts +0 -17
  366. package/dist/remarkable-pro/components/editors/SingleSelectFieldPro/index.d.ts.map +0 -1
  367. package/dist/remarkable-pro/components/editors/editors.timeRange.utils.d.ts +0 -5
  368. package/dist/remarkable-pro/components/editors/editors.timeRange.utils.d.ts.map +0 -1
  369. package/dist/remarkable-pro/components/editors/shared/EditorCard/EditorCard.d.ts +0 -10
  370. package/dist/remarkable-pro/components/editors/shared/EditorCard/EditorCard.d.ts.map +0 -1
  371. package/dist/remarkable-pro/components/editors/shared/EditorCard/EditorCard.stories.d.ts +0 -12
  372. package/dist/remarkable-pro/components/editors/shared/EditorCard/EditorCard.stories.d.ts.map +0 -1
  373. package/dist/remarkable-pro/components/utils/timeRange.utils.d.ts +0 -5
  374. package/dist/remarkable-pro/components/utils/timeRange.utils.d.ts.map +0 -1
  375. package/dist/remarkable-pro/index.d.ts +0 -22
  376. package/dist/remarkable-pro/index.d.ts.map +0 -1
  377. package/dist/remarkable-pro/theme/defaults/defaults.ComparisonPeriods.constants.d.ts +0 -9
  378. package/dist/remarkable-pro/theme/defaults/defaults.ComparisonPeriods.constants.d.ts.map +0 -1
  379. package/dist/remarkable-pro/theme/defaults/defaults.DateRanges.constants.d.ts +0 -9
  380. package/dist/remarkable-pro/theme/defaults/defaults.DateRanges.constants.d.ts.map +0 -1
  381. package/dist/remarkable-pro/theme/formatter/formatter.constants.d.ts +0 -3
  382. package/dist/remarkable-pro/theme/formatter/formatter.constants.d.ts.map +0 -1
  383. package/dist/remarkable-pro/theme/formatter/formatter.types.d.ts +0 -20
  384. package/dist/remarkable-pro/theme/formatter/formatter.types.d.ts.map +0 -1
  385. package/dist/remarkable-pro/theme/formatter/formatter.utils.d.ts +0 -11
  386. package/dist/remarkable-pro/theme/formatter/formatter.utils.d.ts.map +0 -1
  387. package/dist/remarkable-pro/theme/i18n/i18n.d.ts +0 -5
  388. package/dist/remarkable-pro/theme/i18n/i18n.d.ts.map +0 -1
  389. package/dist/remarkable-pro/theme/i18n/translations/de.d.ts +0 -3
  390. package/dist/remarkable-pro/theme/i18n/translations/de.d.ts.map +0 -1
  391. package/dist/remarkable-pro/theme/i18n/translations/en.d.ts +0 -3
  392. package/dist/remarkable-pro/theme/i18n/translations/en.d.ts.map +0 -1
  393. package/dist/remarkable-pro/theme/styles/styles.constants.d.ts +0 -2
  394. package/dist/remarkable-pro/theme/styles/styles.constants.d.ts.map +0 -1
  395. package/dist/remarkable-pro/theme/styles/styles.types.d.ts +0 -3
  396. package/dist/remarkable-pro/theme/styles/styles.types.d.ts.map +0 -1
  397. package/dist/remarkable-pro/theme/styles/styles.utils.d.ts +0 -3
  398. package/dist/remarkable-pro/theme/styles/styles.utils.d.ts.map +0 -1
  399. package/dist/remarkable-pro/theme/theme.constants.d.ts +0 -3
  400. package/dist/remarkable-pro/theme/theme.constants.d.ts.map +0 -1
  401. package/dist/remarkable-pro/theme/theme.types.d.ts +0 -68
  402. package/dist/remarkable-pro/theme/theme.types.d.ts.map +0 -1
  403. package/dist/remarkable-pro/theme/utils/export.utils.d.ts +0 -5
  404. package/dist/remarkable-pro/theme/utils/export.utils.d.ts.map +0 -1
  405. package/dist/remarkable-pro/types/deep-partial.d.ts +0 -4
  406. package/dist/remarkable-pro/types/deep-partial.d.ts.map +0 -1
  407. package/dist/remarkable-pro/utils.ts/cache.utils.d.ts +0 -6
  408. package/dist/remarkable-pro/utils.ts/cache.utils.d.ts.map +0 -1
  409. package/dist/remarkable-pro/utils.ts/color.utils.d.ts +0 -3
  410. package/dist/remarkable-pro/utils.ts/color.utils.d.ts.map +0 -1
  411. package/dist/remarkable-pro/utils.ts/data.utils.d.ts +0 -2
  412. package/dist/remarkable-pro/utils.ts/data.utils.d.ts.map +0 -1
  413. package/dist/remarkable-pro/utils.ts/date.utils.d.ts +0 -8
  414. package/dist/remarkable-pro/utils.ts/date.utils.d.ts.map +0 -1
  415. package/dist/remarkable-pro/utils.ts/object.utils.d.ts +0 -2
  416. package/dist/remarkable-pro/utils.ts/object.utils.d.ts.map +0 -1
  417. package/dist/remarkable-ui/components/charts/bars/BarChart.d.ts +0 -5
  418. package/dist/remarkable-ui/components/charts/bars/BarChart.d.ts.map +0 -1
  419. package/dist/remarkable-ui/components/charts/bars/BarChart.stories.d.ts +0 -72
  420. package/dist/remarkable-ui/components/charts/bars/BarChart.stories.d.ts.map +0 -1
  421. package/dist/remarkable-ui/components/charts/bars/bars.types.d.ts +0 -28
  422. package/dist/remarkable-ui/components/charts/bars/bars.types.d.ts.map +0 -1
  423. package/dist/remarkable-ui/components/charts/bars/bars.utils.d.ts +0 -5
  424. package/dist/remarkable-ui/components/charts/bars/bars.utils.d.ts.map +0 -1
  425. package/dist/remarkable-ui/components/charts/chartjs.cartesian.constants.d.ts +0 -11
  426. package/dist/remarkable-ui/components/charts/chartjs.cartesian.constants.d.ts.map +0 -1
  427. package/dist/remarkable-ui/components/charts/chartjs.constants.d.ts +0 -5
  428. package/dist/remarkable-ui/components/charts/chartjs.constants.d.ts.map +0 -1
  429. package/dist/remarkable-ui/components/charts/chartjs.utils.d.ts +0 -3
  430. package/dist/remarkable-ui/components/charts/chartjs.utils.d.ts.map +0 -1
  431. package/dist/remarkable-ui/components/charts/charts.constants.d.ts +0 -3
  432. package/dist/remarkable-ui/components/charts/charts.constants.d.ts.map +0 -1
  433. package/dist/remarkable-ui/components/charts/kpis/KpiChart.d.ts +0 -4
  434. package/dist/remarkable-ui/components/charts/kpis/KpiChart.d.ts.map +0 -1
  435. package/dist/remarkable-ui/components/charts/kpis/KpiChart.stories.d.ts +0 -32
  436. package/dist/remarkable-ui/components/charts/kpis/KpiChart.stories.d.ts.map +0 -1
  437. package/dist/remarkable-ui/components/charts/kpis/KpiChart.types.d.ts +0 -14
  438. package/dist/remarkable-ui/components/charts/kpis/KpiChart.types.d.ts.map +0 -1
  439. package/dist/remarkable-ui/components/charts/kpis/components/KpiChartChange.d.ts +0 -8
  440. package/dist/remarkable-ui/components/charts/kpis/components/KpiChartChange.d.ts.map +0 -1
  441. package/dist/remarkable-ui/components/charts/lines/LineChart.d.ts +0 -5
  442. package/dist/remarkable-ui/components/charts/lines/LineChart.d.ts.map +0 -1
  443. package/dist/remarkable-ui/components/charts/lines/LineChart.stories.d.ts +0 -35
  444. package/dist/remarkable-ui/components/charts/lines/LineChart.stories.d.ts.map +0 -1
  445. package/dist/remarkable-ui/components/charts/lines/lines.types.d.ts +0 -18
  446. package/dist/remarkable-ui/components/charts/lines/lines.types.d.ts.map +0 -1
  447. package/dist/remarkable-ui/components/charts/lines/lines.utils.d.ts +0 -5
  448. package/dist/remarkable-ui/components/charts/lines/lines.utils.d.ts.map +0 -1
  449. package/dist/remarkable-ui/components/charts/pies/DonutChart/DonutChart.d.ts +0 -8
  450. package/dist/remarkable-ui/components/charts/pies/DonutChart/DonutChart.d.ts.map +0 -1
  451. package/dist/remarkable-ui/components/charts/pies/DonutChart/DonutChart.stories.d.ts +0 -28
  452. package/dist/remarkable-ui/components/charts/pies/DonutChart/DonutChart.stories.d.ts.map +0 -1
  453. package/dist/remarkable-ui/components/charts/pies/PieChart/PieChart.d.ts +0 -5
  454. package/dist/remarkable-ui/components/charts/pies/PieChart/PieChart.d.ts.map +0 -1
  455. package/dist/remarkable-ui/components/charts/pies/PieChart/PieChart.stories.d.ts +0 -25
  456. package/dist/remarkable-ui/components/charts/pies/PieChart/PieChart.stories.d.ts.map +0 -1
  457. package/dist/remarkable-ui/components/charts/pies/pies.mock.d.ts +0 -7
  458. package/dist/remarkable-ui/components/charts/pies/pies.mock.d.ts.map +0 -1
  459. package/dist/remarkable-ui/components/charts/pies/pies.types.d.ts +0 -13
  460. package/dist/remarkable-ui/components/charts/pies/pies.types.d.ts.map +0 -1
  461. package/dist/remarkable-ui/components/charts/pies/pies.utils.d.ts +0 -9
  462. package/dist/remarkable-ui/components/charts/pies/pies.utils.d.ts.map +0 -1
  463. package/dist/remarkable-ui/components/charts/tables/HeatMap/HeatMap.d.ts +0 -3
  464. package/dist/remarkable-ui/components/charts/tables/HeatMap/HeatMap.d.ts.map +0 -1
  465. package/dist/remarkable-ui/components/charts/tables/HeatMap/HeatMap.stories.d.ts +0 -36
  466. package/dist/remarkable-ui/components/charts/tables/HeatMap/HeatMap.stories.d.ts.map +0 -1
  467. package/dist/remarkable-ui/components/charts/tables/HeatMap/HeatMap.types.d.ts +0 -30
  468. package/dist/remarkable-ui/components/charts/tables/HeatMap/HeatMap.types.d.ts.map +0 -1
  469. package/dist/remarkable-ui/components/charts/tables/HeatMap/HeatMap.utils.d.ts +0 -43
  470. package/dist/remarkable-ui/components/charts/tables/HeatMap/HeatMap.utils.d.ts.map +0 -1
  471. package/dist/remarkable-ui/components/charts/tables/PivotTable/PivotTable.d.ts +0 -4
  472. package/dist/remarkable-ui/components/charts/tables/PivotTable/PivotTable.d.ts.map +0 -1
  473. package/dist/remarkable-ui/components/charts/tables/PivotTable/PivotTable.stories.d.ts +0 -43
  474. package/dist/remarkable-ui/components/charts/tables/PivotTable/PivotTable.stories.d.ts.map +0 -1
  475. package/dist/remarkable-ui/components/charts/tables/PivotTable/PivotTable.types.d.ts +0 -40
  476. package/dist/remarkable-ui/components/charts/tables/PivotTable/PivotTable.types.d.ts.map +0 -1
  477. package/dist/remarkable-ui/components/charts/tables/Table/Table.hooks.d.ts +0 -9
  478. package/dist/remarkable-ui/components/charts/tables/Table/Table.hooks.d.ts.map +0 -1
  479. package/dist/remarkable-ui/components/charts/tables/Table/TablePaginated.d.ts +0 -4
  480. package/dist/remarkable-ui/components/charts/tables/Table/TablePaginated.d.ts.map +0 -1
  481. package/dist/remarkable-ui/components/charts/tables/Table/TablePaginated.stories.d.ts +0 -7
  482. package/dist/remarkable-ui/components/charts/tables/Table/TablePaginated.stories.d.ts.map +0 -1
  483. package/dist/remarkable-ui/components/charts/tables/Table/components/TableBody/TableBody.d.ts +0 -4
  484. package/dist/remarkable-ui/components/charts/tables/Table/components/TableBody/TableBody.d.ts.map +0 -1
  485. package/dist/remarkable-ui/components/charts/tables/Table/components/TableHeader/TableHeader.d.ts +0 -4
  486. package/dist/remarkable-ui/components/charts/tables/Table/components/TableHeader/TableHeader.d.ts.map +0 -1
  487. package/dist/remarkable-ui/components/charts/tables/Table/components/TablePagination/TablePagination.d.ts +0 -6
  488. package/dist/remarkable-ui/components/charts/tables/Table/components/TablePagination/TablePagination.d.ts.map +0 -1
  489. package/dist/remarkable-ui/components/charts/tables/Table/components/TablePagination/TablePagination.stories.d.ts +0 -11
  490. package/dist/remarkable-ui/components/charts/tables/Table/components/TablePagination/TablePagination.stories.d.ts.map +0 -1
  491. package/dist/remarkable-ui/components/charts/tables/Table/table.types.d.ts +0 -44
  492. package/dist/remarkable-ui/components/charts/tables/Table/table.types.d.ts.map +0 -1
  493. package/dist/remarkable-ui/components/charts/tables/tables.utils.d.ts +0 -6
  494. package/dist/remarkable-ui/components/charts/tables/tables.utils.d.ts.map +0 -1
  495. package/dist/remarkable-ui/components/editors/Switch/Switch.d.ts +0 -10
  496. package/dist/remarkable-ui/components/editors/Switch/Switch.d.ts.map +0 -1
  497. package/dist/remarkable-ui/components/editors/Switch/Switch.stories.d.ts +0 -27
  498. package/dist/remarkable-ui/components/editors/Switch/Switch.stories.d.ts.map +0 -1
  499. package/dist/remarkable-ui/components/editors/inputs/NumberField/NumberField.d.ts +0 -9
  500. package/dist/remarkable-ui/components/editors/inputs/NumberField/NumberField.d.ts.map +0 -1
  501. package/dist/remarkable-ui/components/editors/inputs/NumberField/NumberField.stories.d.ts +0 -36
  502. package/dist/remarkable-ui/components/editors/inputs/NumberField/NumberField.stories.d.ts.map +0 -1
  503. package/dist/remarkable-ui/components/editors/inputs/TextField/TextField.d.ts +0 -11
  504. package/dist/remarkable-ui/components/editors/inputs/TextField/TextField.d.ts.map +0 -1
  505. package/dist/remarkable-ui/components/editors/inputs/TextField/TextField.stories.d.ts +0 -40
  506. package/dist/remarkable-ui/components/editors/inputs/TextField/TextField.stories.d.ts.map +0 -1
  507. package/dist/remarkable-ui/components/editors/inputs/shared/InputField/InputField.d.ts +0 -23
  508. package/dist/remarkable-ui/components/editors/inputs/shared/InputField/InputField.d.ts.map +0 -1
  509. package/dist/remarkable-ui/components/editors/selects/MultiSelectField/MultiSelectField.d.ts +0 -22
  510. package/dist/remarkable-ui/components/editors/selects/MultiSelectField/MultiSelectField.d.ts.map +0 -1
  511. package/dist/remarkable-ui/components/editors/selects/MultiSelectField/MultiSelectField.stories.d.ts +0 -34
  512. package/dist/remarkable-ui/components/editors/selects/MultiSelectField/MultiSelectField.stories.d.ts.map +0 -1
  513. package/dist/remarkable-ui/components/editors/selects/SingleSelectField/SingleSelectField.d.ts +0 -21
  514. package/dist/remarkable-ui/components/editors/selects/SingleSelectField/SingleSelectField.d.ts.map +0 -1
  515. package/dist/remarkable-ui/components/editors/selects/SingleSelectField/SingleSelectField.stories.d.ts +0 -34
  516. package/dist/remarkable-ui/components/editors/selects/SingleSelectField/SingleSelectField.stories.d.ts.map +0 -1
  517. package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectFieldContent.d.ts +0 -16
  518. package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectFieldContent.d.ts.map +0 -1
  519. package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectFieldContent.utils.d.ts +0 -7
  520. package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectFieldContent.utils.d.ts.map +0 -1
  521. package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectListOptions/SelectFieldCategory/SelectFieldCategory.d.ts +0 -7
  522. package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectListOptions/SelectFieldCategory/SelectFieldCategory.d.ts.map +0 -1
  523. package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectListOptions/SelectFieldOption/SelectFieldOption.d.ts +0 -18
  524. package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectListOptions/SelectFieldOption/SelectFieldOption.d.ts.map +0 -1
  525. package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldTrigger/SelectFieldTrigger.d.ts +0 -11
  526. package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldTrigger/SelectFieldTrigger.d.ts.map +0 -1
  527. package/dist/remarkable-ui/components/editors/selects/shared/useSelectSearchFocus.hook.d.ts +0 -2
  528. package/dist/remarkable-ui/components/editors/selects/shared/useSelectSearchFocus.hook.d.ts.map +0 -1
  529. package/dist/remarkable-ui/components/shared/ActionIcon/ActionIcon.d.ts +0 -9
  530. package/dist/remarkable-ui/components/shared/ActionIcon/ActionIcon.d.ts.map +0 -1
  531. package/dist/remarkable-ui/components/shared/ActionIcon/ActionIcon.stories.d.ts +0 -23
  532. package/dist/remarkable-ui/components/shared/ActionIcon/ActionIcon.stories.d.ts.map +0 -1
  533. package/dist/remarkable-ui/components/shared/Button/Button.d.ts +0 -11
  534. package/dist/remarkable-ui/components/shared/Button/Button.d.ts.map +0 -1
  535. package/dist/remarkable-ui/components/shared/Button/Button.stories.d.ts +0 -47
  536. package/dist/remarkable-ui/components/shared/Button/Button.stories.d.ts.map +0 -1
  537. package/dist/remarkable-ui/components/shared/ButtonIcon/ButtonIcon.d.ts +0 -10
  538. package/dist/remarkable-ui/components/shared/ButtonIcon/ButtonIcon.d.ts.map +0 -1
  539. package/dist/remarkable-ui/components/shared/ButtonIcon/ButtonIcon.stories.d.ts +0 -30
  540. package/dist/remarkable-ui/components/shared/ButtonIcon/ButtonIcon.stories.d.ts.map +0 -1
  541. package/dist/remarkable-ui/components/shared/Card/Card.d.ts +0 -16
  542. package/dist/remarkable-ui/components/shared/Card/Card.d.ts.map +0 -1
  543. package/dist/remarkable-ui/components/shared/Card/Card.stories.d.ts +0 -13
  544. package/dist/remarkable-ui/components/shared/Card/Card.stories.d.ts.map +0 -1
  545. package/dist/remarkable-ui/components/shared/Card/CardFeedback/CardFeedback.d.ts +0 -11
  546. package/dist/remarkable-ui/components/shared/Card/CardFeedback/CardFeedback.d.ts.map +0 -1
  547. package/dist/remarkable-ui/components/shared/Dropdown/Dropdown.d.ts +0 -13
  548. package/dist/remarkable-ui/components/shared/Dropdown/Dropdown.d.ts.map +0 -1
  549. package/dist/remarkable-ui/components/shared/Field/FieldFeedback.d.ts +0 -8
  550. package/dist/remarkable-ui/components/shared/Field/FieldFeedback.d.ts.map +0 -1
  551. package/dist/remarkable-ui/components/shared/Field/FieldHeader.d.ts +0 -8
  552. package/dist/remarkable-ui/components/shared/Field/FieldHeader.d.ts.map +0 -1
  553. package/dist/remarkable-ui/components/shared/Foundations/BorderRadius.stories.d.ts +0 -6
  554. package/dist/remarkable-ui/components/shared/Foundations/BorderRadius.stories.d.ts.map +0 -1
  555. package/dist/remarkable-ui/components/shared/Foundations/Colors.stories.d.ts +0 -6
  556. package/dist/remarkable-ui/components/shared/Foundations/Colors.stories.d.ts.map +0 -1
  557. package/dist/remarkable-ui/components/shared/Foundations/Size.stories.d.ts +0 -6
  558. package/dist/remarkable-ui/components/shared/Foundations/Size.stories.d.ts.map +0 -1
  559. package/dist/remarkable-ui/components/shared/Foundations/Spacing.stories.d.ts +0 -6
  560. package/dist/remarkable-ui/components/shared/Foundations/Spacing.stories.d.ts.map +0 -1
  561. package/dist/remarkable-ui/components/shared/GhostButton/GhostButton.d.ts +0 -9
  562. package/dist/remarkable-ui/components/shared/GhostButton/GhostButton.d.ts.map +0 -1
  563. package/dist/remarkable-ui/components/shared/GhostButton/GhostButton.stories.d.ts +0 -29
  564. package/dist/remarkable-ui/components/shared/GhostButton/GhostButton.stories.d.ts.map +0 -1
  565. package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.d.ts +0 -3
  566. package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.d.ts.map +0 -1
  567. package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.stories.d.ts +0 -7
  568. package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.stories.d.ts.map +0 -1
  569. package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.types.d.ts +0 -7
  570. package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.types.d.ts.map +0 -1
  571. package/dist/remarkable-ui/components/shared/Skeleton/Skeleton.d.ts +0 -2
  572. package/dist/remarkable-ui/components/shared/Skeleton/Skeleton.d.ts.map +0 -1
  573. package/dist/remarkable-ui/components/shared/Skeleton/Skeleton.stories.d.ts +0 -8
  574. package/dist/remarkable-ui/components/shared/Skeleton/Skeleton.stories.d.ts.map +0 -1
  575. package/dist/remarkable-ui/components/shared/Typography/Typography.d.ts +0 -12
  576. package/dist/remarkable-ui/components/shared/Typography/Typography.d.ts.map +0 -1
  577. package/dist/remarkable-ui/components/shared/Typography/Typography.stories.d.ts +0 -10
  578. package/dist/remarkable-ui/components/shared/Typography/Typography.stories.d.ts.map +0 -1
  579. package/dist/remarkable-ui/components/shared/Typography/Typography.types.d.ts +0 -13
  580. package/dist/remarkable-ui/components/shared/Typography/Typography.types.d.ts.map +0 -1
  581. package/dist/remarkable-ui/hooks/useDebounce.hook.d.ts +0 -2
  582. package/dist/remarkable-ui/hooks/useDebounce.hook.d.ts.map +0 -1
  583. package/dist/remarkable-ui/hooks/useObserverHeight.hook.d.ts +0 -2
  584. package/dist/remarkable-ui/hooks/useObserverHeight.hook.d.ts.map +0 -1
  585. package/dist/remarkable-ui/index.d.ts +0 -44
  586. package/dist/remarkable-ui/index.d.ts.map +0 -1
  587. package/dist/remarkable-ui/storybook.constants.d.ts +0 -8
  588. package/dist/remarkable-ui/storybook.constants.d.ts.map +0 -1
  589. package/dist/remarkable-ui/styles/styles.constants.d.ts +0 -11
  590. package/dist/remarkable-ui/styles/styles.constants.d.ts.map +0 -1
  591. package/dist/remarkable-ui/styles/styles.tokensComponents.constants.d.ts.map +0 -1
  592. package/dist/remarkable-ui/styles/styles.tokensCore.constants.d.ts +0 -90
  593. package/dist/remarkable-ui/styles/styles.tokensCore.constants.d.ts.map +0 -1
  594. package/dist/remarkable-ui/styles/styles.tokensSemantic.constants.d.ts +0 -31
  595. package/dist/remarkable-ui/styles/styles.tokensSemantic.constants.d.ts.map +0 -1
  596. package/dist/remarkable-ui/styles/styles.utils.d.ts +0 -4
  597. package/dist/remarkable-ui/styles/styles.utils.d.ts.map +0 -1
  598. package/dist/remarkable-ui/types/css.types.d.ts +0 -2
  599. package/dist/remarkable-ui/types/css.types.d.ts.map +0 -1
  600. package/dist/remarkable-ui/utils/debounce.utils.d.ts +0 -2
  601. package/dist/remarkable-ui/utils/debounce.utils.d.ts.map +0 -1
  602. package/dist/remarkable-ui.css +0 -457
  603. package/dist/ro-CwdOEcKy.js +0 -42
  604. package/dist/ro-CwdOEcKy.js.map +0 -1
  605. package/dist/ru-Bl9u9Jzr.js +0 -57
  606. package/dist/ru-Bl9u9Jzr.js.map +0 -1
  607. package/dist/rw-Ci515v3C.js +0 -42
  608. package/dist/rw-Ci515v3C.js.map +0 -1
  609. package/dist/sd-BdrHBFln.js +0 -42
  610. package/dist/sd-BdrHBFln.js.map +0 -1
  611. package/dist/se-D8wyrag1.js +0 -42
  612. package/dist/se-D8wyrag1.js.map +0 -1
  613. package/dist/si-AyRZ5TEx.js +0 -42
  614. package/dist/si-AyRZ5TEx.js.map +0 -1
  615. package/dist/sk-CRQNIKoX.js +0 -73
  616. package/dist/sk-CRQNIKoX.js.map +0 -1
  617. package/dist/sl-CDxi2Mlk.js +0 -76
  618. package/dist/sl-CDxi2Mlk.js.map +0 -1
  619. package/dist/sq-DsU4BTs1.js +0 -42
  620. package/dist/sq-DsU4BTs1.js.map +0 -1
  621. package/dist/sr-DXt91IDQ.js +0 -49
  622. package/dist/sr-DXt91IDQ.js.map +0 -1
  623. package/dist/ss-BW3vUXw_.js +0 -42
  624. package/dist/ss-BW3vUXw_.js.map +0 -1
  625. package/dist/sv-D_akb-mL.js +0 -43
  626. package/dist/sv-D_akb-mL.js.map +0 -1
  627. package/dist/sw-Mk3XuEkK.js +0 -42
  628. package/dist/sw-Mk3XuEkK.js.map +0 -1
  629. package/dist/ta-x7qrmNJV.js +0 -42
  630. package/dist/ta-x7qrmNJV.js.map +0 -1
  631. package/dist/tables.utils-D7KXdM2S.js +0 -9
  632. package/dist/tables.utils-D7KXdM2S.js.map +0 -1
  633. package/dist/te-DNPXq9GN.js +0 -42
  634. package/dist/te-DNPXq9GN.js.map +0 -1
  635. package/dist/tet-Bxdba6c9.js +0 -42
  636. package/dist/tet-Bxdba6c9.js.map +0 -1
  637. package/dist/tg-BNcteXJP.js +0 -42
  638. package/dist/tg-BNcteXJP.js.map +0 -1
  639. package/dist/th-t8Wqywbq.js +0 -42
  640. package/dist/th-t8Wqywbq.js.map +0 -1
  641. package/dist/timeRange.utils-DuutFoIE.js +0 -20
  642. package/dist/timeRange.utils-DuutFoIE.js.map +0 -1
  643. package/dist/tk-BuKvHjlY.js +0 -42
  644. package/dist/tk-BuKvHjlY.js.map +0 -1
  645. package/dist/tlh-CagUFrkt.js +0 -42
  646. package/dist/tlh-CagUFrkt.js.map +0 -1
  647. package/dist/tr-ZRnpYGmZ.js +0 -42
  648. package/dist/tr-ZRnpYGmZ.js.map +0 -1
  649. package/dist/tzl-CgmSGZCN.js +0 -42
  650. package/dist/tzl-CgmSGZCN.js.map +0 -1
  651. package/dist/tzm-BiSbQpig.js +0 -42
  652. package/dist/tzm-BiSbQpig.js.map +0 -1
  653. package/dist/uk-D_o7bSHT.js +0 -51
  654. package/dist/uk-D_o7bSHT.js.map +0 -1
  655. package/dist/ur-D71_hrXh.js +0 -42
  656. package/dist/ur-D71_hrXh.js.map +0 -1
  657. package/dist/useDebounce.hook-DxiPFcz9.js +0 -36
  658. package/dist/useDebounce.hook-DxiPFcz9.js.map +0 -1
  659. package/dist/utc-B2gCnkBk.js +0 -367
  660. package/dist/utc-B2gCnkBk.js.map +0 -1
  661. package/dist/uz-DJly2bV5.js +0 -42
  662. package/dist/uz-DJly2bV5.js.map +0 -1
  663. package/dist/vi-gIuBEDjl.js +0 -42
  664. package/dist/vi-gIuBEDjl.js.map +0 -1
  665. package/dist/x-pseudo-BY0BZL5O.js +0 -42
  666. package/dist/x-pseudo-BY0BZL5O.js.map +0 -1
  667. package/dist/yo-BPEpwjuC.js +0 -42
  668. package/dist/yo-BPEpwjuC.js.map +0 -1
  669. package/dist/zh-cn-Dg913EDW.js +0 -45
  670. package/dist/zh-cn-Dg913EDW.js.map +0 -1
  671. package/dist/zh-hk-RGAfh362.js +0 -45
  672. package/dist/zh-hk-RGAfh362.js.map +0 -1
  673. package/dist/zh-tw-B-s9oDuW.js +0 -45
  674. package/dist/zh-tw-B-s9oDuW.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,247 +1,2756 @@
1
- import { C as N, S as M } from "./ChartCard-BzLW_64B.js";
2
- import { j as a, a2 as n } from "./component.constants-B5vygi6l.js";
3
- import { a7 as G, B as H, a3 as K, a4 as $, a6 as E, a5 as q, al as W, a8 as z, aa as J, ab as V, N as X, ag as Y, am as Q, ad as U, ae as Z, ac as aa, a9 as sa, U as ea, W as ta, ar as ra, af as oa, D as ia, E as na, aw as ca, ax as la, as as ua, av as pa, d as ha, c as ma, z as da, aL as xa, $ as ga, G as ba, b as Ca, aK as ya, Y as _a, aM as wa, I as Sa, J as fa, R as Ta, H as ka, ah as Ia, ai as Pa, au as Aa, ay as ja, L as La, at as Da, M as va, ap as Oa, aj as Fa, ak as Ba, an as Na, ao as Ma, aq as Ra, K as Ga, X as Ha, F as Ka, i as $a, S as Ea, Q as qa, A as Wa, w as za, a as Ja, a1 as Va, r as Xa, p as Ya, h as Qa, s as Ua, g as Za, e as as, aN as ss, C as es, f as ts, aG as rs, _ as os, O as is, aF as ns, aH as cs, aE as ls, aB as us, T as ps, aC as hs, aI as ms, aD as ds, az as xs, aA as gs, Z as bs, aJ as Cs, t as ys, x as _s, v as ws, l as Ss, k as fs, y as Ts, n as ks, u as Is, q as Ps } from "./component.constants-B5vygi6l.js";
4
- import { B as js, b as Ls, i as Ds } from "./index-Jm7acUco.js";
5
- import { S as Os } from "./SingleSelectField-CX2hEN0u.js";
6
- import { E as Bs, S as Ns } from "./EditorCard-BLudeyiZ.js";
7
- import { K as Rs } from "./KpiChart-DWnEF3iA.js";
8
- import { P as Hs } from "./PivotTable-Diy2xzoH.js";
9
- import { H as $s } from "./HeatMap-HTlj76CN.js";
10
- import { a as qs, u as Ws } from "./useDebounce.hook-DxiPFcz9.js";
11
- import { r as Js, s as Vs } from "./charts.utils-Cw4SeX2m.js";
12
- import { g as Ys } from "./object.utils-D_Zzon-H.js";
13
- import { g as Us } from "./formatter.utils-N2gk49ys.js";
14
- import { i as ae } from "./index-BKkfcfXT.js";
15
- import { i as ee } from "./index-DhfbSAKi.js";
16
- import { i as re } from "./index-BOcQ7e6Q.js";
17
- import { g as ie, a as ne } from "./pies.utils-E8f3Hj1h.js";
18
- import { i as le } from "./index-Dwe8JLUr.js";
19
- import { i as pe } from "./index-_mthkdMa.js";
20
- import { C as me } from "./ComparisonPeriod.type.emb-D0_AP_PM.js";
21
- import { i as xe, s as ge } from "./color.utils-CVyp-fGP.js";
22
- const h = "_typography_g1one_1", m = {
23
- typography: h
24
- };
25
- function j({
26
- children: s,
27
- as: e = "p",
28
- className: t,
29
- style: o,
30
- title: r
1
+ import "./chunk-TBNFMVQR.js";
2
+
3
+ // src/components/shared/Skeleton/Skeleton.tsx
4
+ import styles from "./Skeleton.module-ZN5S5VRF.module.css";
5
+ import { jsx } from "react/jsx-runtime";
6
+ var Skeleton = () => {
7
+ return /* @__PURE__ */ jsx("div", { className: styles.skeleton });
8
+ };
9
+
10
+ // src/components/shared/Card/Card.tsx
11
+ import React from "react";
12
+ import styles2 from "./Card.module-DHO64CIG.module.css";
13
+ import clsx from "clsx";
14
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
15
+ var Card = React.forwardRef(
16
+ ({ children, className, ...props }, ref) => {
17
+ return /* @__PURE__ */ jsx2("div", { className: clsx(styles2.card, className), ref, ...props, children });
18
+ }
19
+ );
20
+ Card.displayName = "Card";
21
+ var CardHeader = ({ title, subtitle, rightContent }) => {
22
+ if (!title && !subtitle && !rightContent) {
23
+ return null;
24
+ }
25
+ return /* @__PURE__ */ jsxs("div", { className: styles2.cardHeader, children: [
26
+ /* @__PURE__ */ jsxs("div", { className: styles2.leftContent, children: [
27
+ title && /* @__PURE__ */ jsx2("h1", { children: title }),
28
+ subtitle && /* @__PURE__ */ jsx2("p", { children: subtitle })
29
+ ] }),
30
+ rightContent
31
+ ] });
32
+ };
33
+ var CardContent = React.forwardRef(
34
+ ({ children }, ref) => {
35
+ return /* @__PURE__ */ jsx2("div", { className: styles2.cardContent, ref, children });
36
+ }
37
+ );
38
+ CardContent.displayName = "CardContent";
39
+
40
+ // src/components/shared/Card/CardFeedback/CardFeedback.tsx
41
+ import clsx2 from "clsx";
42
+ import styles3 from "./CardFeedback.module-WCSHLBSM.module.css";
43
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
44
+ var CardFeedback = ({
45
+ icon: Icon,
46
+ title,
47
+ message,
48
+ className,
49
+ variant = "info"
50
+ }) => {
51
+ return /* @__PURE__ */ jsxs2("div", { className: clsx2(styles3.feedback, styles3[variant], className), children: [
52
+ Icon && /* @__PURE__ */ jsx3(Icon, {}),
53
+ /* @__PURE__ */ jsx3("h2", { children: title }),
54
+ /* @__PURE__ */ jsx3("p", { children: message })
55
+ ] });
56
+ };
57
+
58
+ // src/components/shared/Typography/Typography.tsx
59
+ import styles4 from "./Typography.module-SW6CT55P.module.css";
60
+ import clsx3 from "clsx";
61
+ import { jsx as jsx4 } from "react/jsx-runtime";
62
+ function Typography({
63
+ children,
64
+ as: Component = "p",
65
+ className,
66
+ style,
67
+ title
31
68
  }) {
32
- return /* @__PURE__ */ a.jsx(e, { title: r, className: n(m.typography, t), style: o, children: s });
69
+ return /* @__PURE__ */ jsx4(Component, { title, className: clsx3(styles4.typography, className), style, children });
33
70
  }
34
- const d = "_buttonIcon_17kgb_1", x = "_small_17kgb_11", g = "_medium_17kgb_18", b = "_primary_17kgb_25", C = "_secondary_17kgb_42", c = {
35
- buttonIcon: d,
36
- small: x,
37
- medium: g,
38
- primary: b,
39
- secondary: C
40
- }, L = ({
41
- icon: s,
42
- size: e = "medium",
43
- variant: t = "primary",
44
- className: o,
45
- ...r
46
- }) => /* @__PURE__ */ a.jsx(
47
- "button",
48
- {
49
- className: n(c.buttonIcon, c[t], c[e], o),
50
- ...r,
51
- children: /* @__PURE__ */ a.jsx(s, {})
52
- }
53
- ), y = "_ghostButton_118d3_1", _ = {
54
- ghostButton: y
55
- }, D = ({
56
- startIcon: s,
57
- endIcon: e,
58
- children: t,
59
- className: o,
60
- ...r
61
- }) => /* @__PURE__ */ a.jsxs("button", { className: n(_.ghostButton, o), ...r, children: [
62
- s && /* @__PURE__ */ a.jsx(s, {}),
63
- /* @__PURE__ */ a.jsx("span", { children: t }),
64
- e && /* @__PURE__ */ a.jsx(e, {})
65
- ] }), w = "_overlay_1t3tm_1", S = {
66
- overlay: w
67
- }, v = ({ className: s, children: e }) => /* @__PURE__ */ a.jsx("div", { className: n(S.overlay, s), children: e }), f = "_disabled_vkmwe_8", T = "_switchTrack_vkmwe_19", k = "_switchThumb_vkmwe_30", I = "_checked_vkmwe_41", P = "_switchLabel_vkmwe_60", i = {
68
- switch: "_switch_vkmwe_1",
69
- disabled: f,
70
- switchTrack: T,
71
- switchThumb: k,
72
- checked: I,
73
- switchLabel: P
74
- }, O = ({
75
- checked: s,
76
- onChange: e,
77
- disabled: t = !1,
78
- className: o,
79
- label: r,
80
- ...l
81
- }) => {
82
- const u = (p) => {
83
- !t && e && e(p.target.checked);
84
- };
85
- return l["aria-label"] || console.warn(
86
- "Switch component requires either a label prop or aria-label prop for accessibility"
87
- ), /* @__PURE__ */ a.jsxs(
71
+
72
+ // src/components/shared/ActionIcon/ActionIcon.tsx
73
+ import clsx4 from "clsx";
74
+ import styles5 from "./ActionIcon.module-WZFHG44L.module.css";
75
+ import { jsx as jsx5 } from "react/jsx-runtime";
76
+ var ActionIcon = ({ icon: Icon, className, ...props }) => {
77
+ return /* @__PURE__ */ jsx5("button", { className: clsx4(styles5.actionIcon, className), ...props, children: /* @__PURE__ */ jsx5(Icon, { className: styles5.icon }) });
78
+ };
79
+
80
+ // src/components/shared/ButtonIcon/ButtonIcon.tsx
81
+ import clsx5 from "clsx";
82
+ import styles6 from "./ButtonIcon.module-JHFZQSMJ.module.css";
83
+ import { jsx as jsx6 } from "react/jsx-runtime";
84
+ var ButtonIcon = ({
85
+ icon: Icon,
86
+ size = "medium",
87
+ variant = "primary",
88
+ className,
89
+ ...props
90
+ }) => {
91
+ return /* @__PURE__ */ jsx6(
92
+ "button",
93
+ {
94
+ className: clsx5(styles6.buttonIcon, styles6[variant], styles6[size], className),
95
+ ...props,
96
+ children: /* @__PURE__ */ jsx6(Icon, {})
97
+ }
98
+ );
99
+ };
100
+
101
+ // src/components/shared/Dropdown/Dropdown.tsx
102
+ import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
103
+ import { jsx as jsx7, jsxs as jsxs3 } from "react/jsx-runtime";
104
+ var Dropdown = ({
105
+ triggerComponent,
106
+ children,
107
+ disabled,
108
+ open,
109
+ side = "bottom",
110
+ align = "start",
111
+ onOpenChange
112
+ }) => {
113
+ return /* @__PURE__ */ jsxs3(DropdownMenu.Root, { open, onOpenChange, children: [
114
+ /* @__PURE__ */ jsx7(DropdownMenu.Trigger, { asChild: true, disabled, children: triggerComponent }),
115
+ /* @__PURE__ */ jsx7(DropdownMenu.Content, { side, align, style: { zIndex: 5 }, children })
116
+ ] });
117
+ };
118
+
119
+ // src/components/editors/selects/shared/SelectFieldContent/SelectFieldOptions/SelectFieldOption/SelectFieldOption.tsx
120
+ import * as DropdownMenu2 from "@radix-ui/react-dropdown-menu";
121
+ import styles7 from "./SelectFieldOption.module-SH3TOVNB.module.css";
122
+ import clsx6 from "clsx";
123
+ import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
124
+ var SelectListOption = ({
125
+ value,
126
+ isSelected,
127
+ label,
128
+ rightLabel,
129
+ startIcon,
130
+ endIcon,
131
+ disabled,
132
+ ...props
133
+ }) => {
134
+ return /* @__PURE__ */ jsxs4(
135
+ DropdownMenu2.Item,
136
+ {
137
+ className: clsx6(
138
+ styles7.selectFieldOption,
139
+ disabled && styles7.disabled,
140
+ isSelected && styles7.selected
141
+ ),
142
+ "data-value": value,
143
+ ...props,
144
+ children: [
145
+ /* @__PURE__ */ jsxs4("span", { className: styles7.leftContent, children: [
146
+ startIcon,
147
+ /* @__PURE__ */ jsx8("span", { title: label, children: label })
148
+ ] }),
149
+ /* @__PURE__ */ jsxs4("span", { className: styles7.rightContent, children: [
150
+ /* @__PURE__ */ jsx8("span", { title: rightLabel, children: rightLabel }),
151
+ endIcon
152
+ ] })
153
+ ]
154
+ }
155
+ );
156
+ };
157
+
158
+ // src/components/shared/Button/Button.tsx
159
+ import styles8 from "./Button.module-UAYCVFGG.module.css";
160
+ import clsx7 from "clsx";
161
+ import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
162
+ var Button = ({
163
+ children,
164
+ variant = "primary",
165
+ size = "medium",
166
+ startIcon: StartIcon,
167
+ endIcon: EndIcon,
168
+ className,
169
+ ...props
170
+ }) => {
171
+ return /* @__PURE__ */ jsxs5("button", { className: clsx7(styles8.button, styles8[variant], styles8[size], className), ...props, children: [
172
+ StartIcon && /* @__PURE__ */ jsx9(StartIcon, {}),
173
+ /* @__PURE__ */ jsx9("span", { children }),
174
+ EndIcon && /* @__PURE__ */ jsx9(EndIcon, {})
175
+ ] });
176
+ };
177
+
178
+ // src/components/shared/GhostButton/GhostButton.tsx
179
+ import clsx8 from "clsx";
180
+ import styles9 from "./GhostButton.module-43KOFC6W.module.css";
181
+ import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
182
+ var GhostButton = ({
183
+ startIcon: StartIcon,
184
+ endIcon: EndIcon,
185
+ children,
186
+ className,
187
+ ...props
188
+ }) => {
189
+ return /* @__PURE__ */ jsxs6("button", { className: clsx8(styles9.ghostButton, className), ...props, children: [
190
+ StartIcon && /* @__PURE__ */ jsx10(StartIcon, {}),
191
+ /* @__PURE__ */ jsx10("span", { children }),
192
+ EndIcon && /* @__PURE__ */ jsx10(EndIcon, {})
193
+ ] });
194
+ };
195
+
196
+ // src/components/shared/Overlay/Overlay.tsx
197
+ import clsx9 from "clsx";
198
+ import styles10 from "./Overlay.module-FCW64VWM.module.css";
199
+ import { jsx as jsx11 } from "react/jsx-runtime";
200
+ var Overlay = ({ className, children }) => {
201
+ return /* @__PURE__ */ jsx11("div", { className: clsx9(styles10.overlay, className), children });
202
+ };
203
+
204
+ // src/components/editors/selects/MultiSelectField/MultiSelectField.tsx
205
+ import { Fragment as Fragment2, useEffect as useEffect3, useMemo, useRef as useRef2, useState } from "react";
206
+
207
+ // src/components/editors/selects/shared/SelectFieldTrigger/SelectFieldTrigger.tsx
208
+ import styles11 from "./SelectFieldTrigger.module-M6BRE7IY.module.css";
209
+ import { IconCaretDownFilled, IconLoader2, IconX } from "@tabler/icons-react";
210
+ import clsx10 from "clsx";
211
+ import { forwardRef } from "react";
212
+ import { jsx as jsx12, jsxs as jsxs7 } from "react/jsx-runtime";
213
+ var SelectFieldTrigger = forwardRef(
214
+ ({
215
+ startIcon: StartIcon,
216
+ valueLabel,
217
+ placeholder = "Select",
218
+ isClearable,
219
+ isLoading,
220
+ onClear,
221
+ error = false,
222
+ ...props
223
+ }, ref) => {
224
+ const displayValue = valueLabel || placeholder;
225
+ const showClearButton = valueLabel && isClearable;
226
+ const handleClear = (e) => {
227
+ e.stopPropagation();
228
+ e.preventDefault();
229
+ onClear?.();
230
+ };
231
+ return /* @__PURE__ */ jsxs7(
232
+ "button",
233
+ {
234
+ ref,
235
+ className: clsx10(
236
+ styles11.selectFieldTrigger,
237
+ valueLabel && styles11.filled,
238
+ error && styles11.error
239
+ ),
240
+ ...props,
241
+ children: [
242
+ StartIcon && /* @__PURE__ */ jsx12(StartIcon, {}),
243
+ /* @__PURE__ */ jsx12("span", { children: displayValue }),
244
+ showClearButton && /* @__PURE__ */ jsx12(IconX, { onPointerDown: handleClear }),
245
+ isLoading ? /* @__PURE__ */ jsx12(IconLoader2, { className: styles11.loading }) : /* @__PURE__ */ jsx12(IconCaretDownFilled, {})
246
+ ]
247
+ }
248
+ );
249
+ }
250
+ );
251
+ SelectFieldTrigger.displayName = "SelectFieldTrigger";
252
+
253
+ // src/components/editors/selects/shared/SelectFieldContent/SelectFieldContent.tsx
254
+ import { useEffect, useRef } from "react";
255
+ import styles12 from "./SelectFieldContent.module-6FORUMWR.module.css";
256
+ import clsx11 from "clsx";
257
+ import { jsx as jsx13 } from "react/jsx-runtime";
258
+ var SelectFieldContent = ({
259
+ children,
260
+ autoFocus,
261
+ className
262
+ }) => {
263
+ const containerRef = useRef(null);
264
+ const currentIndex = useRef(0);
265
+ useEffect(() => {
266
+ const container = containerRef.current;
267
+ if (!container) return;
268
+ const items = Array.from(
269
+ container.querySelectorAll('[role="menuitem"], [role="searchbox"], button')
270
+ );
271
+ const focusItem = (index) => {
272
+ if (index >= 0 && index < items.length) {
273
+ items[index]?.focus();
274
+ currentIndex.current = index;
275
+ }
276
+ };
277
+ const onKeyDown = (e) => {
278
+ if (items.length === 0) return;
279
+ switch (e.key) {
280
+ case "ArrowDown":
281
+ e.preventDefault();
282
+ focusItem((currentIndex.current + 1) % items.length);
283
+ break;
284
+ case "ArrowUp":
285
+ e.preventDefault();
286
+ focusItem((currentIndex.current - 1 + items.length) % items.length);
287
+ break;
288
+ case "Home":
289
+ e.preventDefault();
290
+ focusItem(0);
291
+ break;
292
+ case "End":
293
+ e.preventDefault();
294
+ focusItem(items.length - 1);
295
+ break;
296
+ }
297
+ };
298
+ container.addEventListener("keydown", onKeyDown);
299
+ if (autoFocus) {
300
+ setTimeout(() => {
301
+ currentIndex.current = 0;
302
+ focusItem(0);
303
+ }, 0);
304
+ }
305
+ return () => {
306
+ container.removeEventListener("keydown", onKeyDown);
307
+ };
308
+ }, [autoFocus, children]);
309
+ return /* @__PURE__ */ jsx13("div", { ref: containerRef, tabIndex: -1, className: clsx11(styles12.selectFieldContent, className), children });
310
+ };
311
+ var SelectFieldContentList = ({ children, disabled }) => {
312
+ return /* @__PURE__ */ jsx13("div", { className: clsx11(styles12.selectFieldContentList, disabled && styles12.disabled), children });
313
+ };
314
+
315
+ // src/components/editors/selects/shared/SelectFieldContent/SelectFieldContent.utils.ts
316
+ var groupOptionsByCategory = (options) => {
317
+ const result = options.reduce((acc, option) => {
318
+ if ("category" in option && option.category) {
319
+ const category = option.category;
320
+ if (!acc[category]) {
321
+ acc[category] = [];
322
+ }
323
+ acc[category].push(option);
324
+ }
325
+ return acc;
326
+ }, {});
327
+ return Object.keys(result).length === 0 ? null : result;
328
+ };
329
+
330
+ // src/components/editors/selects/MultiSelectField/MultiSelectField.tsx
331
+ import { IconSearch, IconSquare, IconSquareCheckFilled } from "@tabler/icons-react";
332
+ import styles17 from "./selects.module-MRJADSDF.module.css";
333
+
334
+ // src/components/editors/selects/shared/useSelectSearchFocus.hook.ts
335
+ import { useEffect as useEffect2 } from "react";
336
+ var useSelectSearchFocus = (isOpen, searchFieldRef) => {
337
+ useEffect2(() => {
338
+ if (isOpen) {
339
+ setTimeout(() => {
340
+ searchFieldRef.current?.focus();
341
+ }, 100);
342
+ }
343
+ }, [isOpen, searchFieldRef]);
344
+ };
345
+
346
+ // src/components/editors/selects/shared/SelectFieldContent/SelectFieldOptions/SelectFieldCategory/SelectFieldCategory.tsx
347
+ import styles13 from "./SelectFieldCategory.module-FMZMX5V2.module.css";
348
+ import { jsx as jsx14 } from "react/jsx-runtime";
349
+ var SelectFieldCategory = ({ label }) => {
350
+ return /* @__PURE__ */ jsx14("span", { className: styles13.selectFieldCategory, children: label });
351
+ };
352
+
353
+ // src/components/shared/Field/FieldFeedback.tsx
354
+ import clsx12 from "clsx";
355
+ import styles14 from "./FieldFeedback.module-F7Z33KCS.module.css";
356
+ import { jsx as jsx15 } from "react/jsx-runtime";
357
+ var FieldFeedback = ({ message, variant, className }) => {
358
+ return /* @__PURE__ */ jsx15("p", { className: clsx12(styles14.fieldFeedback, variant && styles14[variant], className), children: message });
359
+ };
360
+
361
+ // src/components/shared/Field/FieldHeader.tsx
362
+ import clsx13 from "clsx";
363
+ import styles15 from "./FieldHeader.module-QOLBH472.module.css";
364
+ import { jsx as jsx16, jsxs as jsxs8 } from "react/jsx-runtime";
365
+ var FieldHeader = ({
366
+ label,
367
+ required,
368
+ requiredLabel = "Required",
369
+ className
370
+ }) => {
371
+ if (!label && !required) {
372
+ return null;
373
+ }
374
+ return /* @__PURE__ */ jsxs8("label", { className: clsx13(styles15.fieldHeader, className), children: [
375
+ label,
376
+ required && /* @__PURE__ */ jsx16("span", { children: requiredLabel })
377
+ ] });
378
+ };
379
+
380
+ // src/components/editors/inputs/TextField/TextField.tsx
381
+ import { forwardRef as forwardRef3 } from "react";
382
+
383
+ // src/components/editors/inputs/shared/InputField/InputField.tsx
384
+ import { IconX as IconX2 } from "@tabler/icons-react";
385
+ import styles16 from "./InputField.module-LDLOMDBK.module.css";
386
+ import clsx14 from "clsx";
387
+ import { forwardRef as forwardRef2 } from "react";
388
+ import { jsx as jsx17, jsxs as jsxs9 } from "react/jsx-runtime";
389
+ var InputField = forwardRef2(
390
+ ({
391
+ label,
392
+ required,
393
+ value = "",
394
+ disabled,
395
+ placeholder = "Enter text",
396
+ role,
397
+ startIcon: StartIcon,
398
+ endIcon: EndIcon,
399
+ onChange,
400
+ className,
401
+ clearable = false,
402
+ type = "text",
403
+ error = false,
404
+ errorMessage,
405
+ requiredLabel,
406
+ ...props
407
+ }, ref) => {
408
+ const showClearButton = value && clearable;
409
+ const hasError = error || errorMessage;
410
+ return /* @__PURE__ */ jsxs9("div", { className, children: [
411
+ /* @__PURE__ */ jsx17(FieldHeader, { label, required, requiredLabel }),
412
+ /* @__PURE__ */ jsxs9("div", { className: clsx14(styles16.input, hasError && styles16.error), children: [
413
+ StartIcon && /* @__PURE__ */ jsx17(StartIcon, {}),
414
+ /* @__PURE__ */ jsx17(
415
+ "input",
416
+ {
417
+ ref,
418
+ type,
419
+ role,
420
+ value,
421
+ disabled,
422
+ placeholder,
423
+ onChange: (e) => onChange(e.target.value),
424
+ required,
425
+ ...props
426
+ }
427
+ ),
428
+ /* @__PURE__ */ jsx17(
429
+ IconX2,
430
+ {
431
+ className: clsx14(styles16.clearIcon, showClearButton && styles16.clearIconVisible),
432
+ onClick: () => onChange("")
433
+ }
434
+ ),
435
+ EndIcon && /* @__PURE__ */ jsx17(EndIcon, {})
436
+ ] }),
437
+ errorMessage && /* @__PURE__ */ jsx17(FieldFeedback, { variant: "error", message: errorMessage })
438
+ ] });
439
+ }
440
+ );
441
+ InputField.displayName = "InputField";
442
+
443
+ // src/components/editors/inputs/TextField/TextField.tsx
444
+ import { Fragment, jsx as jsx18, jsxs as jsxs10 } from "react/jsx-runtime";
445
+ var TextField = forwardRef3(
446
+ ({ value = "", placeholder = "Enter text", maxLength, error, errorMessage, ...props }, ref) => {
447
+ return /* @__PURE__ */ jsxs10(Fragment, { children: [
448
+ /* @__PURE__ */ jsx18(
449
+ InputField,
450
+ {
451
+ value,
452
+ placeholder,
453
+ ref,
454
+ maxLength,
455
+ clearable: true,
456
+ error,
457
+ errorMessage,
458
+ ...props
459
+ }
460
+ ),
461
+ maxLength && /* @__PURE__ */ jsx18(FieldFeedback, { message: `${value?.length}/${maxLength} Characters` })
462
+ ] });
463
+ }
464
+ );
465
+ TextField.displayName = "TextField";
466
+
467
+ // src/utils/debounce.utils.ts
468
+ function debounce(fn, delay = 300) {
469
+ let timer;
470
+ return (...args) => {
471
+ clearTimeout(timer);
472
+ timer = setTimeout(() => {
473
+ fn(...args);
474
+ }, delay);
475
+ };
476
+ }
477
+
478
+ // src/components/editors/selects/MultiSelectField/MultiSelectField.tsx
479
+ import { jsx as jsx19, jsxs as jsxs11 } from "react/jsx-runtime";
480
+ var MultiSelectField = ({
481
+ startIcon,
482
+ label,
483
+ required,
484
+ disabled,
485
+ isClearable,
486
+ isLoading,
487
+ isSearchable,
488
+ noOptionsMessage,
489
+ options,
490
+ placeholder,
491
+ submitLabel = "Apply",
492
+ values = [],
493
+ onChange,
494
+ onSearch,
495
+ error = false,
496
+ errorMessage
497
+ }) => {
498
+ const [isOpen, setIsOpen] = useState(false);
499
+ const [searchValue, setSearchValue] = useState("");
500
+ const [preValues, setPreValues] = useState(values);
501
+ const [selectedLabel, setSelectedLabel] = useState("");
502
+ const searchFieldRef = useRef2(null);
503
+ useSelectSearchFocus(isOpen, searchFieldRef);
504
+ useEffect3(() => {
505
+ setPreValues(values);
506
+ }, [JSON.stringify(values)]);
507
+ useEffect3(() => {
508
+ if (isLoading) {
509
+ return;
510
+ }
511
+ if (!values || values.length === 0) {
512
+ setSelectedLabel("");
513
+ return;
514
+ }
515
+ const selectedOptions = values.map(
516
+ (value) => options.find((o) => o.value === value)?.label ?? value
517
+ );
518
+ if (selectedOptions.length > 0) {
519
+ const newLabel = selectedOptions.join(", ");
520
+ setSelectedLabel(`(${selectedOptions.length}) ${newLabel}`);
521
+ }
522
+ }, [values, options, isLoading]);
523
+ const debouncedSearch = useMemo(() => onSearch ? debounce(onSearch) : void 0, [onSearch]);
524
+ const displayOptions = isSearchable && !onSearch ? options.filter((option) => option.label.toLowerCase().includes(searchValue.toLowerCase())) : options;
525
+ const groupedOptions = useMemo(() => groupOptionsByCategory(displayOptions), [displayOptions]);
526
+ const isSubmitDisabled = preValues.every((preValue) => values.includes(preValue)) && values.every((value) => preValues.includes(value));
527
+ const handleSelectOption = (e, newValue) => {
528
+ e.preventDefault();
529
+ if (!newValue) return;
530
+ if (preValues.includes(newValue)) {
531
+ setPreValues(preValues.filter((v) => v !== newValue));
532
+ } else {
533
+ setPreValues([...preValues, newValue]);
534
+ }
535
+ };
536
+ const handleSearch = (newSearch) => {
537
+ setSearchValue(newSearch);
538
+ debouncedSearch?.(newSearch);
539
+ };
540
+ const handleSave = (newValues) => {
541
+ onChange(newValues);
542
+ setIsOpen(false);
543
+ setSearchValue("");
544
+ onSearch?.("");
545
+ };
546
+ const handleClearAll = () => {
547
+ setSearchValue("");
548
+ onSearch?.("");
549
+ onChange([]);
550
+ };
551
+ const hasError = error || !!errorMessage;
552
+ return /* @__PURE__ */ jsxs11("div", { children: [
553
+ /* @__PURE__ */ jsx19(FieldHeader, { label, required }),
554
+ /* @__PURE__ */ jsx19(
555
+ Dropdown,
556
+ {
557
+ open: isOpen,
558
+ onOpenChange: setIsOpen,
559
+ disabled,
560
+ triggerComponent: /* @__PURE__ */ jsx19(
561
+ SelectFieldTrigger,
562
+ {
563
+ startIcon,
564
+ "aria-label": "Select options",
565
+ placeholder,
566
+ disabled,
567
+ valueLabel: selectedLabel,
568
+ onClear: handleClearAll,
569
+ isClearable,
570
+ isLoading,
571
+ error: hasError
572
+ }
573
+ ),
574
+ children: /* @__PURE__ */ jsxs11(SelectFieldContent, { children: [
575
+ isSearchable && /* @__PURE__ */ jsx19(
576
+ TextField,
577
+ {
578
+ ref: searchFieldRef,
579
+ startIcon: IconSearch,
580
+ "aria-label": "Search options",
581
+ placeholder: "Search\u2026",
582
+ role: "searchbox",
583
+ value: searchValue,
584
+ onKeyDown: (e) => e.stopPropagation(),
585
+ onChange: handleSearch,
586
+ className: styles17.searchField
587
+ }
588
+ ),
589
+ /* @__PURE__ */ jsxs11(SelectFieldContentList, { disabled: isLoading, children: [
590
+ groupedOptions ? Object.entries(groupedOptions).map(([category, categoryOptions]) => /* @__PURE__ */ jsxs11(Fragment2, { children: [
591
+ /* @__PURE__ */ jsx19(SelectFieldCategory, { label: category }),
592
+ categoryOptions.map((option) => /* @__PURE__ */ jsx19(
593
+ SelectListOption,
594
+ {
595
+ onClick: (e) => handleSelectOption(e, option.value),
596
+ startIcon: preValues.includes(option.value) ? /* @__PURE__ */ jsx19(IconSquareCheckFilled, {}) : /* @__PURE__ */ jsx19(IconSquare, {}),
597
+ ...option
598
+ },
599
+ option?.value ?? option.label
600
+ ))
601
+ ] }, category)) : displayOptions.map((option) => /* @__PURE__ */ jsx19(
602
+ SelectListOption,
603
+ {
604
+ onClick: (e) => handleSelectOption(e, option.value),
605
+ startIcon: preValues.includes(option.value) ? /* @__PURE__ */ jsx19(IconSquareCheckFilled, {}) : /* @__PURE__ */ jsx19(IconSquare, {}),
606
+ ...option
607
+ },
608
+ option?.value ?? option.label
609
+ )),
610
+ noOptionsMessage && displayOptions.length === 0 && /* @__PURE__ */ jsx19(SelectListOption, { disabled: true, value: "empty", label: noOptionsMessage })
611
+ ] }),
612
+ /* @__PURE__ */ jsx19(
613
+ Button,
614
+ {
615
+ className: styles17.submitButton,
616
+ disabled: isSubmitDisabled || isLoading,
617
+ variant: "primary",
618
+ size: "medium",
619
+ onClick: () => handleSave(preValues),
620
+ role: "button",
621
+ children: submitLabel
622
+ }
623
+ )
624
+ ] })
625
+ }
626
+ ),
627
+ errorMessage && /* @__PURE__ */ jsx19(FieldFeedback, { message: errorMessage, variant: "error" })
628
+ ] });
629
+ };
630
+
631
+ // src/components/editors/Switch/Switch.tsx
632
+ import clsx15 from "clsx";
633
+ import styles18 from "./Switch.module-MXKS66UI.module.css";
634
+ import { jsx as jsx20, jsxs as jsxs12 } from "react/jsx-runtime";
635
+ var Switch = ({
636
+ checked,
637
+ onChange,
638
+ disabled = false,
639
+ className,
640
+ label,
641
+ ...props
642
+ }) => {
643
+ const handleChange = (event) => {
644
+ if (!disabled && onChange) {
645
+ onChange(event.target.checked);
646
+ }
647
+ };
648
+ if (!props["aria-label"]) {
649
+ console.warn(
650
+ "Switch component requires either a label prop or aria-label prop for accessibility"
651
+ );
652
+ }
653
+ return /* @__PURE__ */ jsxs12(
88
654
  "label",
89
655
  {
90
- className: n(
91
- o,
92
- i.switch,
93
- s && i.checked,
94
- t && i.disabled
656
+ className: clsx15(
657
+ className,
658
+ styles18.switch,
659
+ checked && styles18.checked,
660
+ disabled && styles18.disabled
95
661
  ),
96
662
  children: [
97
- /* @__PURE__ */ a.jsx(
663
+ /* @__PURE__ */ jsx20(
98
664
  "input",
99
665
  {
100
666
  type: "checkbox",
101
- checked: s,
102
- onChange: u,
103
- disabled: t,
667
+ checked,
668
+ onChange: handleChange,
669
+ disabled,
104
670
  role: "switch",
105
- "aria-checked": s,
106
- "aria-disabled": t,
107
- ...l
671
+ "aria-checked": checked,
672
+ "aria-disabled": disabled,
673
+ ...props
108
674
  }
109
675
  ),
110
- /* @__PURE__ */ a.jsx("span", { className: i.switchTrack, "aria-hidden": "true", children: /* @__PURE__ */ a.jsx("span", { className: i.switchThumb, "aria-hidden": "true" }) }),
111
- r && /* @__PURE__ */ a.jsx("span", { className: n(i.switchLabel), children: r })
676
+ /* @__PURE__ */ jsx20("span", { className: styles18.switchTrack, "aria-hidden": "true", children: /* @__PURE__ */ jsx20("span", { className: styles18.switchThumb, "aria-hidden": "true" }) }),
677
+ label && /* @__PURE__ */ jsx20("span", { className: clsx15(styles18.switchLabel), children: label })
112
678
  ]
113
679
  }
114
680
  );
115
681
  };
682
+
683
+ // src/components/editors/selects/SingleSelectField/SingleSelectField.tsx
684
+ import { Fragment as Fragment3, useEffect as useEffect4, useMemo as useMemo2, useRef as useRef3, useState as useState2 } from "react";
685
+ import { IconSearch as IconSearch2 } from "@tabler/icons-react";
686
+ import styles19 from "./selects.module-MRJADSDF.module.css";
687
+ import { jsx as jsx21, jsxs as jsxs13 } from "react/jsx-runtime";
688
+ var SingleSelectField = ({
689
+ label,
690
+ required,
691
+ value = "",
692
+ startIcon,
693
+ options,
694
+ disabled,
695
+ placeholder,
696
+ searchable,
697
+ clearable,
698
+ isLoading,
699
+ noOptionsMessage = "No options available",
700
+ onChange,
701
+ onSearch,
702
+ error = false,
703
+ errorMessage
704
+ }) => {
705
+ const [isOpen, setIsOpen] = useState2(false);
706
+ const [searchValue, setSearchValue] = useState2("");
707
+ const [selectedLabel, setSelectedLabel] = useState2(value);
708
+ const searchFieldRef = useRef3(null);
709
+ useSelectSearchFocus(isOpen, searchFieldRef);
710
+ useEffect4(() => {
711
+ if (!value) {
712
+ setSelectedLabel("");
713
+ return;
714
+ }
715
+ const option = options.find((opt) => opt.value === value);
716
+ if (option) {
717
+ setSelectedLabel(option.label);
718
+ }
719
+ }, [value, options]);
720
+ const debouncedSearch = useMemo2(() => onSearch ? debounce(onSearch) : void 0, [onSearch]);
721
+ const displayOptions = searchable && !onSearch ? options.filter((option) => option.label.toLowerCase().includes(searchValue.toLowerCase())) : options;
722
+ const groupedOptions = useMemo2(() => groupOptionsByCategory(displayOptions), [displayOptions]);
723
+ const handleChange = (newValue) => {
724
+ setSearchValue("");
725
+ onChange(newValue ?? "");
726
+ onSearch?.("");
727
+ if (newValue === "") {
728
+ setSelectedLabel("");
729
+ } else {
730
+ const option = options.find((opt) => opt.value === newValue);
731
+ if (option) setSelectedLabel(option.label);
732
+ }
733
+ };
734
+ const handleSearch = (newSearch) => {
735
+ setSearchValue(newSearch);
736
+ debouncedSearch?.(newSearch);
737
+ };
738
+ const hasError = error || !!errorMessage;
739
+ return /* @__PURE__ */ jsxs13("div", { children: [
740
+ /* @__PURE__ */ jsx21(FieldHeader, { label, required }),
741
+ /* @__PURE__ */ jsx21(
742
+ Dropdown,
743
+ {
744
+ open: isOpen,
745
+ onOpenChange: setIsOpen,
746
+ disabled,
747
+ triggerComponent: /* @__PURE__ */ jsx21(
748
+ SelectFieldTrigger,
749
+ {
750
+ startIcon,
751
+ "aria-label": "Select option",
752
+ placeholder,
753
+ disabled,
754
+ valueLabel: selectedLabel,
755
+ onClear: () => handleChange(""),
756
+ isClearable: clearable,
757
+ isLoading,
758
+ error: hasError
759
+ }
760
+ ),
761
+ children: /* @__PURE__ */ jsxs13(SelectFieldContent, { children: [
762
+ searchable && /* @__PURE__ */ jsx21(
763
+ TextField,
764
+ {
765
+ ref: searchFieldRef,
766
+ startIcon: IconSearch2,
767
+ "aria-label": "Search options",
768
+ placeholder: "Search\u2026",
769
+ role: "searchbox",
770
+ value: searchValue,
771
+ onKeyDown: (e) => e.stopPropagation(),
772
+ onChange: handleSearch,
773
+ className: styles19.searchField
774
+ }
775
+ ),
776
+ /* @__PURE__ */ jsxs13(SelectFieldContentList, { disabled: isLoading, children: [
777
+ groupedOptions ? Object.entries(groupedOptions).map(([category, categoryOptions]) => /* @__PURE__ */ jsxs13(Fragment3, { children: [
778
+ /* @__PURE__ */ jsx21(SelectFieldCategory, { label: category }),
779
+ categoryOptions.map((option) => /* @__PURE__ */ jsx21(
780
+ SelectListOption,
781
+ {
782
+ onClick: () => handleChange(option?.value),
783
+ isSelected: option.value === value,
784
+ ...option
785
+ },
786
+ option?.value ?? option.label
787
+ ))
788
+ ] }, category)) : displayOptions.map((option) => /* @__PURE__ */ jsx21(
789
+ SelectListOption,
790
+ {
791
+ onClick: () => handleChange(option?.value),
792
+ isSelected: option.value === value,
793
+ ...option
794
+ },
795
+ option?.value ?? option.label
796
+ )),
797
+ options.length === 0 && /* @__PURE__ */ jsx21(SelectListOption, { disabled: true, value: "empty", label: noOptionsMessage })
798
+ ] })
799
+ ] })
800
+ }
801
+ ),
802
+ errorMessage && /* @__PURE__ */ jsx21(FieldFeedback, { message: errorMessage, variant: "error" })
803
+ ] });
804
+ };
805
+
806
+ // src/components/editors/inputs/NumberField/NumberField.tsx
807
+ import { forwardRef as forwardRef4 } from "react";
808
+ import { jsx as jsx22 } from "react/jsx-runtime";
809
+ var NumberField = forwardRef4(
810
+ ({
811
+ value = null,
812
+ placeholder = "Enter number",
813
+ onChange,
814
+ error,
815
+ errorMessage,
816
+ clearable,
817
+ ...props
818
+ }, ref) => {
819
+ const handleChange = (value2) => {
820
+ if (value2 === "") {
821
+ onChange?.(null);
822
+ return;
823
+ }
824
+ const numericValue = Number(value2);
825
+ if (!isNaN(numericValue) && isFinite(numericValue)) {
826
+ onChange?.(numericValue);
827
+ }
828
+ };
829
+ return /* @__PURE__ */ jsx22(
830
+ InputField,
831
+ {
832
+ ...props,
833
+ value: value?.toString() || "",
834
+ placeholder,
835
+ onChange: handleChange,
836
+ type: "number",
837
+ clearable,
838
+ error,
839
+ errorMessage,
840
+ ref
841
+ }
842
+ );
843
+ }
844
+ );
845
+ NumberField.displayName = "NumberField";
846
+
847
+ // src/components/charts/bars/BarChart.tsx
848
+ import { useRef as useRef4 } from "react";
849
+ import { Bar } from "react-chartjs-2";
850
+ import {
851
+ Chart as ChartJS,
852
+ CategoryScale,
853
+ LinearScale,
854
+ BarElement,
855
+ Title,
856
+ Tooltip,
857
+ Legend,
858
+ LogarithmicScale
859
+ } from "chart.js";
860
+
861
+ // src/components/charts/chartjs.utils.ts
862
+ var getSegmentIndexClicked = (event, chartRef) => {
863
+ const chart = chartRef.current;
864
+ if (!chart) return void 0;
865
+ const points = chart.getElementsAtEventForMode(
866
+ event.nativeEvent,
867
+ "nearest",
868
+ { intersect: true },
869
+ false
870
+ );
871
+ return points[0]?.index;
872
+ };
873
+
874
+ // src/styles/styles.utils.ts
875
+ var numericRegex = /^-?\d+(\.\d+)?$/;
876
+ var getStyleValue = (variableName) => {
877
+ if (typeof window === "undefined" || typeof document === "undefined") return "";
878
+ const computedStyle = getComputedStyle(document.documentElement);
879
+ return computedStyle.getPropertyValue(variableName).trim();
880
+ };
881
+ var getStyle = (variableName, fallbackValue) => {
882
+ const rawValue = getStyleValue(variableName);
883
+ if (!rawValue) return fallbackValue ?? rawValue;
884
+ const firstChar = rawValue.charAt(0);
885
+ if (firstChar === "#" || rawValue.startsWith("rgb(") || rawValue.startsWith("rgba(")) {
886
+ return rawValue;
887
+ }
888
+ return rawValue;
889
+ };
890
+ var getStyleNumber = (variableName, fallbackValue) => {
891
+ const rawValue = getStyleValue(variableName) || fallbackValue;
892
+ if (!rawValue) return void 0;
893
+ const numericValue = parseFloat(rawValue);
894
+ const rootFontSize = parseFloat(getComputedStyle(document.documentElement).fontSize);
895
+ if (rawValue.slice(-2) === "px") {
896
+ return numericValue;
897
+ }
898
+ const unit3 = rawValue.slice(-3);
899
+ if (unit3 === "rem") {
900
+ return numericValue * rootFontSize;
901
+ }
902
+ if (numericRegex.test(rawValue)) {
903
+ return numericValue;
904
+ }
905
+ return void 0;
906
+ };
907
+
908
+ // src/components/charts/charts.constants.ts
909
+ var getChartColors = () => [
910
+ getStyle("--em-sem-chart-color--1"),
911
+ getStyle("--em-sem-chart-color--2"),
912
+ getStyle("--em-sem-chart-color--3"),
913
+ getStyle("--em-sem-chart-color--4"),
914
+ getStyle("--em-sem-chart-color--5"),
915
+ getStyle("--em-sem-chart-color--6"),
916
+ getStyle("--em-sem-chart-color--7"),
917
+ getStyle("--em-sem-chart-color--8"),
918
+ getStyle("--em-sem-chart-color--9"),
919
+ getStyle("--em-sem-chart-color--10")
920
+ ];
921
+ var getChartContrastColors = () => [
922
+ getStyle("--em-sem-chart-color--1"),
923
+ getStyle("--em-sem-chart-color--4"),
924
+ getStyle("--em-sem-chart-color--7"),
925
+ getStyle("--em-sem-chart-color--10")
926
+ ];
927
+
928
+ // src/components/charts/bars/bars.utils.ts
929
+ import { mergician as mergician2 } from "mergician";
930
+
931
+ // src/components/charts/chartjs.cartesian.constants.ts
932
+ import { mergician } from "mergician";
933
+
934
+ // src/components/charts/chartjs.constants.ts
935
+ var getChartjsOptionsPlugins = () => ({
936
+ datalabels: {
937
+ backgroundColor: getStyle("--em-chart-label-background", "#FFF"),
938
+ borderRadius: getStyleNumber("--em-chart-label-border-radius", "624.9375rem"),
939
+ padding: {
940
+ top: getStyleNumber("--em-chart-label-padding-top-bottom", "0.125rem"),
941
+ bottom: getStyleNumber("--em-chart-label-padding-top-bottom", "0.125rem"),
942
+ right: getStyleNumber("--em-chart-label-padding-left-right", "0.25rem"),
943
+ left: getStyleNumber("--em-chart-label-padding-left-right", "0.25rem")
944
+ },
945
+ color: getStyle("--em-chart-label-color", "#212129"),
946
+ font: {
947
+ size: getStyleNumber("--em-chart-label-font-size", "0.75rem"),
948
+ weight: getStyleNumber("--em-chart-label-font-weight", "500"),
949
+ family: getStyle("--em-chart-label-font-family", "sans-serif")
950
+ }
951
+ },
952
+ legend: {
953
+ position: "bottom",
954
+ labels: {
955
+ boxWidth: getStyleNumber("--em-chart-category-size", "0.75rem") / 2,
956
+ boxHeight: getStyleNumber("--em-chart-category-size", "0.75rem") / 2,
957
+ usePointStyle: true,
958
+ color: getStyle("--em-chart-category-color", "#5C5C66"),
959
+ padding: getStyleNumber("--em-chart-category-list-gap", "1rem"),
960
+ font: {
961
+ family: getStyle("--em-chart-category-font-family", "sans-serif"),
962
+ size: getStyleNumber("--em-chart-category-font-size", "0.75rem"),
963
+ weight: getStyleNumber("--em-chart-category-font-weight", "500")
964
+ }
965
+ }
966
+ },
967
+ tooltip: {
968
+ usePointStyle: true,
969
+ caretSize: 0,
970
+ enabled: true,
971
+ backgroundColor: getStyle("--em-chart-tooltip-background", "#212129"),
972
+ cornerRadius: getStyleNumber("--em-chart-tooltip-border-radius", "0.75rem"),
973
+ padding: getStyleNumber("--em-chart-tooltip-padding", "1rem"),
974
+ displayColors: true,
975
+ bodyColor: getStyle("--em-chart-tooltip-title-color", "#FFF"),
976
+ bodyAlign: "left",
977
+ boxPadding: getStyleNumber("--em-chart-category-gap", "0.25rem"),
978
+ bodyFont: {
979
+ size: getStyleNumber("--em-chart-category-font-size", "0.75rem"),
980
+ weight: getStyleNumber("--em-chart-category-font-weight", "500"),
981
+ family: getStyle("--em-chart-tooltip-family", "sans-serif")
982
+ },
983
+ titleAlign: "left",
984
+ titleColor: getStyle("--em-chart-tooltip-title-color", "#FFF"),
985
+ titleFont: {
986
+ size: getStyleNumber("--em-chart-tooltip-title-font-size", "0.875rem"),
987
+ weight: getStyleNumber("--em-chart-tooltip-title-font-weight", "700"),
988
+ family: getStyle("--em-chart-tooltip-family", "sans-serif")
989
+ }
990
+ }
991
+ });
992
+ var getChartjsOptions = () => ({
993
+ responsive: true,
994
+ maintainAspectRatio: false,
995
+ plugins: getChartjsOptionsPlugins()
996
+ });
997
+
998
+ // src/components/charts/chartjs.cartesian.constants.ts
999
+ var getChartjsAxisOptionsPlugins = () => ({
1000
+ datalabels: {
1001
+ labels: {
1002
+ total: {
1003
+ anchor: (context) => {
1004
+ const value = context.dataset.data[context.dataIndex];
1005
+ return value >= 0 ? "end" : "start";
1006
+ },
1007
+ align: (context) => {
1008
+ const value = context.dataset.data[context.dataIndex];
1009
+ return value >= 0 ? "top" : "bottom";
1010
+ }
1011
+ },
1012
+ value: {
1013
+ anchor: (context) => {
1014
+ const value = context.dataset.data[context.dataIndex];
1015
+ return value >= 0 ? "end" : "start";
1016
+ },
1017
+ align: (context) => {
1018
+ const value = context.dataset.data[context.dataIndex];
1019
+ return value >= 0 ? "top" : "bottom";
1020
+ }
1021
+ }
1022
+ }
1023
+ }
1024
+ });
1025
+ var getChartjsAxisOptionsScalesTicksDefault = () => ({
1026
+ display: true,
1027
+ color: getStyle("--em-chart-grid-label-color", "#212129"),
1028
+ font: {
1029
+ size: getStyleNumber("--em-chart-grid-label-font-size", "0.75rem"),
1030
+ family: getStyle("--em-chart-grid-font-family", "sans-serif"),
1031
+ weight: getStyleNumber("--em-chart-grid-label-font-weight", "400")
1032
+ }
1033
+ });
1034
+ var getChartjsAxisOptionsScalesTicksMuted = () => ({
1035
+ display: true,
1036
+ color: getStyle("--em-chart-grid-label-color--muted", "#5C5C66"),
1037
+ font: {
1038
+ size: getStyleNumber("--em-chart-grid-label-font-size", "0.75rem"),
1039
+ family: getStyle("--em-chart-grid-font-family", "sans-serif"),
1040
+ weight: getStyleNumber("--em-chart-grid-label-font-weight", "400")
1041
+ }
1042
+ });
1043
+ var getChartjsAxisOptionsScalesTitle = () => ({
1044
+ color: getStyle("--em-chart-grid-label-color", "#212129"),
1045
+ font: {
1046
+ size: getStyleNumber("--em-chart-grid-title-font-size", "0.875rem"),
1047
+ weight: getStyleNumber("--em-chart-grid-title-font-weight", "700"),
1048
+ family: getStyle("--em-chart-grid-font-family", "sans-serif")
1049
+ }
1050
+ });
1051
+ var getChartjsAxisOptionsScalesGrid = () => ({
1052
+ color: getStyle("--em-chart-grid-line-color--light", "#EDEDF1"),
1053
+ lineWidth: getStyleNumber("--em-chart-grid-line-width--thin", "0.0625rem")
1054
+ });
1055
+ var getChartjsAxisOptionsScales = () => ({
1056
+ x: {
1057
+ grid: getChartjsAxisOptionsScalesGrid(),
1058
+ title: getChartjsAxisOptionsScalesTitle(),
1059
+ ticks: getChartjsAxisOptionsScalesTicksDefault()
1060
+ },
1061
+ y: {
1062
+ grid: getChartjsAxisOptionsScalesGrid(),
1063
+ title: getChartjsAxisOptionsScalesTitle(),
1064
+ ticks: getChartjsAxisOptionsScalesTicksMuted()
1065
+ }
1066
+ });
1067
+ var getChartjsAxisOptions = () => mergician(getChartjsOptions(), {
1068
+ plugins: getChartjsAxisOptionsPlugins(),
1069
+ scales: getChartjsAxisOptionsScales()
1070
+ });
1071
+ var chartjsAxisOptionsLayoutPadding = 30;
1072
+ function isMixedValues(values) {
1073
+ const hasPos = values.some((v) => v > 0);
1074
+ const hasNeg = values.some((v) => v < 0);
1075
+ return hasPos && hasNeg;
1076
+ }
1077
+ var getChartjsAxisOptionsScalesGridColor = (ctx) => {
1078
+ if (ctx.tick.value === 0) {
1079
+ const values = ctx.chart.data.datasets[0].data;
1080
+ if (isMixedValues(values)) {
1081
+ return getStyle("--em-chart-grid-line-color", "#212129");
1082
+ }
1083
+ return getStyle("--em-chart-grid-line-color--subtle", "#B8B8BD");
1084
+ }
1085
+ return getStyle("--em-chart-grid-line-color--light", "#EDEDF1");
1086
+ };
1087
+
1088
+ // src/components/charts/bars/bars.utils.ts
1089
+ var getBarChartData = (data) => {
1090
+ const chartContrastColors = getChartContrastColors();
1091
+ return {
1092
+ ...data,
1093
+ datasets: data.datasets?.map((dataset, index) => {
1094
+ const colors = chartContrastColors[index % chartContrastColors.length];
1095
+ const defaultDataset = {
1096
+ ...dataset,
1097
+ backgroundColor: colors,
1098
+ borderColor: colors
1099
+ };
1100
+ return mergician2(defaultDataset, dataset);
1101
+ })
1102
+ };
1103
+ };
1104
+ var getDatalabelTotalDisplay = (context, showTotalLabels) => showTotalLabels && context.datasetIndex === context.chart.data.datasets.length - 1 ? "auto" : false;
1105
+ var getDatalabelTotalFormatter = (_value, context) => {
1106
+ const { datasets } = context.chart.data;
1107
+ const i = context.dataIndex;
1108
+ const total = datasets.reduce((sum, ds) => {
1109
+ const val = ds.data[i];
1110
+ return sum + (val || 0);
1111
+ }, 0);
1112
+ return total > 0 ? total : "";
1113
+ };
1114
+ var getBarVerticalChartOptions = (config) => {
1115
+ return {
1116
+ indexAxis: "x",
1117
+ layout: {
1118
+ padding: {
1119
+ top: (config.stacked ? config.showTotalLabels : config.showValueLabels) ? chartjsAxisOptionsLayoutPadding : 0
1120
+ }
1121
+ },
1122
+ plugins: {
1123
+ datalabels: {
1124
+ labels: {
1125
+ total: {
1126
+ align: (context) => {
1127
+ const value = context.dataset.data[context.dataIndex];
1128
+ return value >= 0 ? "top" : "left";
1129
+ }
1130
+ },
1131
+ value: {
1132
+ align: (context) => {
1133
+ if (config.stacked) {
1134
+ return "center";
1135
+ }
1136
+ const value = context.dataset.data[context.dataIndex];
1137
+ return value >= 0 ? "top" : "bottom";
1138
+ }
1139
+ }
1140
+ }
1141
+ }
1142
+ },
1143
+ scales: {
1144
+ x: {
1145
+ grid: { display: false },
1146
+ border: {
1147
+ display: false
1148
+ },
1149
+ ticks: getChartjsAxisOptionsScalesTicksDefault(),
1150
+ reverse: config.reverseXAxis
1151
+ },
1152
+ y: {
1153
+ beginAtZero: true,
1154
+ grid: {
1155
+ display: true,
1156
+ color: getChartjsAxisOptionsScalesGridColor
1157
+ },
1158
+ border: {
1159
+ display: false
1160
+ },
1161
+ ticks: getChartjsAxisOptionsScalesTicksMuted(),
1162
+ min: config.yAxisRangeMin,
1163
+ max: config.yAxisRangeMax,
1164
+ type: config.showLogarithmicScale ? "logarithmic" : "linear"
1165
+ }
1166
+ }
1167
+ };
1168
+ };
1169
+ var getBarHorizontalChartOptions = (config) => {
1170
+ return {
1171
+ indexAxis: "y",
1172
+ layout: {
1173
+ padding: {
1174
+ right: (config.stacked ? config.showTotalLabels : config.showValueLabels) ? chartjsAxisOptionsLayoutPadding : 0
1175
+ }
1176
+ },
1177
+ plugins: {
1178
+ datalabels: {
1179
+ labels: {
1180
+ total: {
1181
+ align: (context) => {
1182
+ const value = context.dataset.data[context.dataIndex];
1183
+ return value >= 0 ? "right" : "left";
1184
+ }
1185
+ },
1186
+ value: {
1187
+ align: (context) => {
1188
+ if (config.stacked) {
1189
+ return "center";
1190
+ }
1191
+ const value = context.dataset.data[context.dataIndex];
1192
+ return value >= 0 ? "right" : "left";
1193
+ }
1194
+ }
1195
+ }
1196
+ }
1197
+ },
1198
+ scales: {
1199
+ x: {
1200
+ grid: { display: true, color: getChartjsAxisOptionsScalesGridColor },
1201
+ border: { display: false },
1202
+ ticks: getChartjsAxisOptionsScalesTicksMuted(),
1203
+ min: config.xAxisRangeMin,
1204
+ max: config.xAxisRangeMax,
1205
+ type: config.showLogarithmicScale ? "logarithmic" : "linear"
1206
+ },
1207
+ y: {
1208
+ grid: { display: false },
1209
+ border: {
1210
+ display: false
1211
+ },
1212
+ ticks: getChartjsAxisOptionsScalesTicksDefault(),
1213
+ reverse: config.reverseYAxis
1214
+ }
1215
+ }
1216
+ };
1217
+ };
1218
+ var getBarChartOptions = (options) => {
1219
+ const baseBarChartOptions = {
1220
+ elements: {
1221
+ bar: {
1222
+ borderRadius: getStyleNumber("--em-barchart-border-radius", "0.375rem")
1223
+ }
1224
+ },
1225
+ plugins: {
1226
+ legend: { display: options.showLegend },
1227
+ tooltip: {
1228
+ enabled: options.showTooltips
1229
+ },
1230
+ datalabels: {
1231
+ display: (context) => {
1232
+ return options.showValueLabels && context.dataset.data[context.dataIndex] !== 0 ? "auto" : false;
1233
+ },
1234
+ labels: {
1235
+ total: {
1236
+ display: (context) => getDatalabelTotalDisplay(context, options.showTotalLabels),
1237
+ formatter: getDatalabelTotalFormatter,
1238
+ anchor: (context) => {
1239
+ const value = context.dataset.data[context.dataIndex];
1240
+ return value >= 0 ? "end" : "start";
1241
+ }
1242
+ },
1243
+ value: {
1244
+ anchor: (context) => {
1245
+ if (options.stacked) {
1246
+ return "center";
1247
+ }
1248
+ const value = context.dataset.data[context.dataIndex];
1249
+ return value >= 0 ? "end" : "start";
1250
+ }
1251
+ }
1252
+ }
1253
+ }
1254
+ },
1255
+ scales: {
1256
+ x: {
1257
+ stacked: Boolean(options.stacked),
1258
+ title: {
1259
+ display: Boolean(options.xAxisLabel),
1260
+ text: options.xAxisLabel ?? ""
1261
+ },
1262
+ ticks: { display: true }
1263
+ },
1264
+ y: {
1265
+ stacked: Boolean(options.stacked),
1266
+ title: {
1267
+ display: Boolean(options.yAxisLabel),
1268
+ text: options.yAxisLabel ?? ""
1269
+ },
1270
+ ticks: { display: true }
1271
+ }
1272
+ }
1273
+ };
1274
+ const getVerticalHorizontalOptions = options.horizontal ? getBarHorizontalChartOptions : getBarVerticalChartOptions;
1275
+ const verticalHorizontalOptions = getVerticalHorizontalOptions(options);
1276
+ return mergician2(getChartjsAxisOptions(), baseBarChartOptions, verticalHorizontalOptions);
1277
+ };
1278
+
1279
+ // src/components/charts/bars/BarChart.tsx
1280
+ import styles20 from "./charts.module-YNKCWRLU.module.css";
1281
+ import { mergician as mergician3 } from "mergician";
1282
+ import ChartDataLabels from "chartjs-plugin-datalabels";
1283
+ import { jsx as jsx23 } from "react/jsx-runtime";
1284
+ ChartJS.register(
1285
+ CategoryScale,
1286
+ LinearScale,
1287
+ BarElement,
1288
+ LogarithmicScale,
1289
+ Title,
1290
+ Tooltip,
1291
+ Legend,
1292
+ ChartDataLabels
1293
+ );
1294
+ var BarChart = ({ data, onSegmentClick, options = {}, ...props }) => {
1295
+ const chartRef = useRef4(null);
1296
+ const barChartOptions = mergician3(getBarChartOptions(props), options);
1297
+ const handleSegmentClick = (event) => {
1298
+ const indexClicked = getSegmentIndexClicked(event, chartRef);
1299
+ onSegmentClick?.(indexClicked);
1300
+ };
1301
+ return /* @__PURE__ */ jsx23("div", { className: styles20.chartContainer, children: /* @__PURE__ */ jsx23(
1302
+ Bar,
1303
+ {
1304
+ ref: chartRef,
1305
+ data: getBarChartData(data),
1306
+ options: barChartOptions,
1307
+ onClick: handleSegmentClick
1308
+ }
1309
+ ) });
1310
+ };
1311
+
1312
+ // src/components/charts/lines/LineChart.tsx
1313
+ import {
1314
+ Chart as ChartJS2,
1315
+ CategoryScale as CategoryScale2,
1316
+ LinearScale as LinearScale2,
1317
+ PointElement,
1318
+ LineElement,
1319
+ Title as Title2,
1320
+ Tooltip as Tooltip2,
1321
+ Legend as Legend2,
1322
+ LogarithmicScale as LogarithmicScale2,
1323
+ Filler
1324
+ } from "chart.js";
1325
+ import { Line } from "react-chartjs-2";
1326
+ import styles21 from "./charts.module-YNKCWRLU.module.css";
1327
+ import { useRef as useRef5 } from "react";
1328
+ import { mergician as mergician5 } from "mergician";
1329
+
1330
+ // src/components/charts/lines/lines.utils.ts
1331
+ import { mergician as mergician4 } from "mergician";
1332
+ var getLineChartData = (data) => {
1333
+ const chartContrastColors = getChartContrastColors();
1334
+ const mergedData = {
1335
+ ...data,
1336
+ datasets: data.datasets?.map((dataset, index) => {
1337
+ const colors = chartContrastColors[index % chartContrastColors.length];
1338
+ const defaultDataset = {
1339
+ backgroundColor: colors,
1340
+ borderColor: colors
1341
+ };
1342
+ const merged = mergician4(defaultDataset, dataset);
1343
+ return merged;
1344
+ }) || []
1345
+ };
1346
+ return mergedData;
1347
+ };
1348
+ var getLineChartOptions = (options) => {
1349
+ const newOptions = {
1350
+ interaction: {
1351
+ mode: "x",
1352
+ intersect: false
1353
+ },
1354
+ elements: {
1355
+ point: {
1356
+ radius: getStyleNumber("--em-linechart-point-size", "0.5rem") / 2,
1357
+ hoverRadius: getStyleNumber("--em-linechart-point-size--hover", "0.75rem") / 2
1358
+ },
1359
+ line: {
1360
+ tension: 0.2,
1361
+ borderWidth: getStyleNumber("--em-linechart-line-width", "0.125rem")
1362
+ }
1363
+ },
1364
+ layout: {
1365
+ padding: {
1366
+ top: options.showValueLabels ? chartjsAxisOptionsLayoutPadding : 0
1367
+ }
1368
+ },
1369
+ plugins: {
1370
+ datalabels: {
1371
+ display: (context) => {
1372
+ if (!options.showValueLabels) return false;
1373
+ const value = context.dataset.data[context.dataIndex];
1374
+ const yScale = context.chart.scales.y;
1375
+ return value !== void 0 && yScale && value >= yScale.min && value <= yScale.max ? "auto" : false;
1376
+ }
1377
+ },
1378
+ legend: {
1379
+ display: options.showLegend
1380
+ },
1381
+ tooltip: {
1382
+ enabled: options.showTooltips
1383
+ }
1384
+ },
1385
+ scales: {
1386
+ x: {
1387
+ grid: { display: false },
1388
+ border: {
1389
+ display: false
1390
+ },
1391
+ ticks: getChartjsAxisOptionsScalesTicksDefault(),
1392
+ title: {
1393
+ display: Boolean(options.xAxisLabel),
1394
+ text: options.xAxisLabel
1395
+ },
1396
+ reverse: options.reverseXAxis
1397
+ },
1398
+ y: {
1399
+ beginAtZero: true,
1400
+ ticks: getChartjsAxisOptionsScalesTicksMuted(),
1401
+ grid: { display: true, color: getChartjsAxisOptionsScalesGridColor },
1402
+ border: {
1403
+ display: false
1404
+ },
1405
+ type: options.showLogarithmicScale ? "logarithmic" : "linear",
1406
+ title: {
1407
+ display: Boolean(options.yAxisLabel),
1408
+ text: options.yAxisLabel
1409
+ },
1410
+ min: options.yAxisRangeMin,
1411
+ max: options.yAxisRangeMax
1412
+ }
1413
+ }
1414
+ };
1415
+ return mergician4(getChartjsAxisOptions(), newOptions);
1416
+ };
1417
+
1418
+ // src/components/charts/lines/LineChart.tsx
1419
+ import ChartDataLabels2 from "chartjs-plugin-datalabels";
1420
+ import AnnotationPlugin from "chartjs-plugin-annotation";
1421
+ import { jsx as jsx24 } from "react/jsx-runtime";
1422
+ ChartJS2.register(
1423
+ CategoryScale2,
1424
+ LinearScale2,
1425
+ PointElement,
1426
+ LineElement,
1427
+ LogarithmicScale2,
1428
+ Filler,
1429
+ Title2,
1430
+ Tooltip2,
1431
+ Legend2,
1432
+ ChartDataLabels2,
1433
+ AnnotationPlugin
1434
+ );
1435
+ var LineChart = ({ options = {}, data, onSegmentClick, ...props }) => {
1436
+ const chartRef = useRef5(null);
1437
+ const pieOptions = mergician5(getLineChartOptions(props), options);
1438
+ const handleSegmentClick = (event) => {
1439
+ const indexClicked = getSegmentIndexClicked(event, chartRef);
1440
+ onSegmentClick?.(indexClicked);
1441
+ };
1442
+ return /* @__PURE__ */ jsx24("div", { className: styles21.chartContainer, children: /* @__PURE__ */ jsx24(
1443
+ Line,
1444
+ {
1445
+ ref: chartRef,
1446
+ data: getLineChartData(data),
1447
+ options: pieOptions,
1448
+ onClick: handleSegmentClick
1449
+ }
1450
+ ) });
1451
+ };
1452
+
1453
+ // src/components/charts/kpis/KpiChart.tsx
1454
+ import { useEffect as useEffect5, useRef as useRef6, useState as useState3 } from "react";
1455
+ import styles23 from "./KpiChart.module-KRTSMOWN.module.css";
1456
+
1457
+ // src/components/charts/kpis/components/KpiChartChange.tsx
1458
+ import styles22 from "./KpiChartChange.module-M7E4IU7A.module.css";
1459
+ import clsx16 from "clsx";
1460
+ import { IconTrendingDown, IconTrendingUp } from "@tabler/icons-react";
1461
+ import { jsx as jsx25, jsxs as jsxs14 } from "react/jsx-runtime";
1462
+ var getChangeClass = (isPositive, invertChangeColors) => {
1463
+ if (isPositive) return invertChangeColors ? styles22.negative : styles22.positive;
1464
+ return invertChangeColors ? styles22.positive : styles22.negative;
1465
+ };
1466
+ var KpiChartChange = ({
1467
+ value,
1468
+ comparisonValue = 0,
1469
+ showChangeAsPercentage,
1470
+ invertChangeColors = false,
1471
+ comparisonLabel,
1472
+ valueFormatter,
1473
+ percentageDecimalPlaces = 1,
1474
+ equalComparisonLabel,
1475
+ className
1476
+ }) => {
1477
+ const equalComparison = comparisonValue === value;
1478
+ const difference = value - comparisonValue;
1479
+ const isPositive = difference > 0;
1480
+ let differenceLabel;
1481
+ if (showChangeAsPercentage) {
1482
+ const percentage = comparisonValue === 0 ? 0 : difference / comparisonValue * 100;
1483
+ differenceLabel = `${percentage.toFixed(percentageDecimalPlaces)}%`;
1484
+ } else {
1485
+ differenceLabel = valueFormatter ? valueFormatter(difference) : difference.toString();
1486
+ }
1487
+ const displayValue = `${isPositive ? "+" : ""}${differenceLabel}`;
1488
+ const Icon = isPositive ? IconTrendingUp : IconTrendingDown;
1489
+ return /* @__PURE__ */ jsxs14("div", { className: clsx16(className, styles22.kpiChartChangeContainer), children: [
1490
+ !equalComparison && /* @__PURE__ */ jsxs14(
1491
+ "span",
1492
+ {
1493
+ className: clsx16(styles22.kpiChangeBadge, getChangeClass(isPositive, invertChangeColors)),
1494
+ children: [
1495
+ /* @__PURE__ */ jsx25(Icon, {}),
1496
+ /* @__PURE__ */ jsx25("span", { children: displayValue })
1497
+ ]
1498
+ }
1499
+ ),
1500
+ /* @__PURE__ */ jsx25("span", { className: styles22.kpiComparisonLabel, children: equalComparison ? equalComparisonLabel ?? comparisonLabel : comparisonLabel })
1501
+ ] });
1502
+ };
1503
+
1504
+ // src/components/charts/kpis/KpiChart.tsx
1505
+ import { jsx as jsx26, jsxs as jsxs15 } from "react/jsx-runtime";
1506
+ var KpiChart = ({
1507
+ value,
1508
+ valueFontSize,
1509
+ changeFontSize,
1510
+ comparisonValue,
1511
+ comparisonLabel,
1512
+ invertChangeColors,
1513
+ showChangeAsPercentage,
1514
+ percentageDecimalPlaces = 1,
1515
+ equalComparisonLabel = "No change",
1516
+ valueFormatter
1517
+ }) => {
1518
+ const containerRef = useRef6(null);
1519
+ const [fontSize, setFontSize] = useState3(20);
1520
+ useEffect5(() => {
1521
+ const container = containerRef.current;
1522
+ const updateFont = () => {
1523
+ const w = container.offsetWidth;
1524
+ const h = container.offsetHeight;
1525
+ const newSize = Math.min(w, h) * 0.3;
1526
+ setFontSize(newSize);
1527
+ };
1528
+ const observer = new ResizeObserver(updateFont);
1529
+ observer.observe(container);
1530
+ updateFont();
1531
+ return () => observer.disconnect();
1532
+ }, []);
1533
+ const hasComparisonValue = comparisonValue !== void 0;
1534
+ const displayValue = value === void 0 ? "" : valueFormatter ? valueFormatter(value) : value;
1535
+ return /* @__PURE__ */ jsx26("div", { className: styles23.kpiChartContainer, ref: containerRef, children: /* @__PURE__ */ jsxs15("div", { className: styles23.kpiChartCenter, children: [
1536
+ /* @__PURE__ */ jsx26(
1537
+ "h2",
1538
+ {
1539
+ title: displayValue.toString(),
1540
+ style: {
1541
+ fontSize: valueFontSize ?? fontSize
1542
+ },
1543
+ children: displayValue
1544
+ }
1545
+ ),
1546
+ /* @__PURE__ */ jsx26("div", { className: styles23.kpiComparisonContainer, style: { fontSize: changeFontSize }, children: hasComparisonValue && /* @__PURE__ */ jsx26(
1547
+ KpiChartChange,
1548
+ {
1549
+ equalComparisonLabel,
1550
+ changeFontSize,
1551
+ comparisonLabel,
1552
+ comparisonValue,
1553
+ invertChangeColors,
1554
+ percentageDecimalPlaces,
1555
+ showChangeAsPercentage,
1556
+ value,
1557
+ valueFormatter
1558
+ }
1559
+ ) })
1560
+ ] }) });
1561
+ };
1562
+
1563
+ // src/components/charts/pies/DonutChart/DonutChart.tsx
1564
+ import { useRef as useRef7 } from "react";
1565
+ import { Pie } from "react-chartjs-2";
1566
+ import { ArcElement, Chart as ChartJS3, Legend as Legend3, Tooltip as Tooltip3 } from "chart.js";
1567
+ import ChartDataLabels3 from "chartjs-plugin-datalabels";
1568
+ import AnnotationPlugin2 from "chartjs-plugin-annotation";
1569
+
1570
+ // src/components/charts/pies/pies.utils.ts
1571
+ import { mergician as mergician6 } from "mergician";
1572
+ var getPieChartData = (data) => {
1573
+ const chartColors = getChartColors();
1574
+ const mergedData = {
1575
+ ...data,
1576
+ datasets: data.datasets?.map((dataset) => {
1577
+ const colors = dataset.data.map((_value, index) => chartColors[index % chartColors.length]);
1578
+ const defaultDataset = {
1579
+ backgroundColor: colors,
1580
+ borderColor: colors
1581
+ };
1582
+ const merged = mergician6(defaultDataset, dataset);
1583
+ return merged;
1584
+ }) || []
1585
+ };
1586
+ return mergedData;
1587
+ };
1588
+ var getPieChartOptions = (options) => {
1589
+ const pieChartOptions = {
1590
+ plugins: {
1591
+ legend: { display: options.showLegend },
1592
+ datalabels: {
1593
+ display: options.showValueLabels ? "auto" : false
1594
+ },
1595
+ tooltip: {
1596
+ enabled: options.showTooltips
1597
+ }
1598
+ }
1599
+ };
1600
+ return mergician6(getChartjsOptions(), pieChartOptions);
1601
+ };
1602
+ var getDonutChartOptions = (options) => {
1603
+ const donutChartOptions = {
1604
+ cutout: "60%",
1605
+ plugins: {
1606
+ annotation: {
1607
+ annotations: {
1608
+ innerlabel: {
1609
+ content: [options.label ?? "", options.subLabel ?? ""],
1610
+ type: "doughnutLabel",
1611
+ font: [
1612
+ {
1613
+ size: getStyleNumber("--em-piechart-donut-number-line-height", "2.375rem"),
1614
+ weight: getStyleNumber("--em-piechart-donut-number-font-weight", "700"),
1615
+ height: getStyleNumber("--em-piechart-donut-number-line-height", "2.375rem"),
1616
+ family: getStyle("--em-piechart-font-family", "sans-serif")
1617
+ },
1618
+ {
1619
+ size: getStyleNumber("--em-piechart-donut-label-font-size", "1rem"),
1620
+ weight: getStyleNumber("--em-piechart-donut-label-font-weight", "500"),
1621
+ height: getStyleNumber("--em-piechart-donut-label-line-height", "1rem"),
1622
+ family: getStyle("--em-piechart-font-family", "sans-serif")
1623
+ }
1624
+ ],
1625
+ color: [getStyle("--em-piechart-donut-color", "#212129")]
1626
+ }
1627
+ // According to the last comment, a fix should be coming in the next release:
1628
+ // https://github.com/chartjs/chartjs-plugin-annotation/commit/1e95744fb98e6fe9426f8b6a7bd17b1fcdee2f42
1629
+ }
1630
+ }
1631
+ }
1632
+ };
1633
+ return mergician6(getPieChartOptions(options), donutChartOptions);
1634
+ };
1635
+
1636
+ // src/components/charts/pies/DonutChart/DonutChart.tsx
1637
+ import { mergician as mergician7 } from "mergician";
1638
+ import styles24 from "./charts.module-YNKCWRLU.module.css";
1639
+ import { jsx as jsx27 } from "react/jsx-runtime";
1640
+ ChartJS3.register(ArcElement, Tooltip3, Legend3, ChartDataLabels3, AnnotationPlugin2);
1641
+ var DonutChart = ({
1642
+ label,
1643
+ subLabel,
1644
+ options = {},
1645
+ data,
1646
+ onSegmentClick,
1647
+ showLegend = true,
1648
+ showTooltips = true,
1649
+ showValueLabels = true
1650
+ }) => {
1651
+ const chartRef = useRef7(null);
1652
+ const donutLabelOptions = mergician7(
1653
+ getDonutChartOptions({ showLegend, showTooltips, showValueLabels, label, subLabel }),
1654
+ options
1655
+ );
1656
+ const handleSegmentClick = (event) => {
1657
+ const indexClicked = getSegmentIndexClicked(event, chartRef);
1658
+ onSegmentClick?.(indexClicked);
1659
+ };
1660
+ return /* @__PURE__ */ jsx27("div", { className: styles24.chartContainer, children: /* @__PURE__ */ jsx27(
1661
+ Pie,
1662
+ {
1663
+ ref: chartRef,
1664
+ data: getPieChartData(data),
1665
+ options: donutLabelOptions,
1666
+ onClick: handleSegmentClick
1667
+ }
1668
+ ) });
1669
+ };
1670
+
1671
+ // src/components/charts/pies/PieChart/PieChart.tsx
1672
+ import { useRef as useRef8 } from "react";
1673
+ import { Pie as Pie2 } from "react-chartjs-2";
1674
+ import { ArcElement as ArcElement2, Chart as ChartJS4, Legend as Legend4, Tooltip as Tooltip4 } from "chart.js";
1675
+ import ChartDataLabels4 from "chartjs-plugin-datalabels";
1676
+ import { mergician as mergician8 } from "mergician";
1677
+ import styles25 from "./charts.module-YNKCWRLU.module.css";
1678
+ import { jsx as jsx28 } from "react/jsx-runtime";
1679
+ ChartJS4.register(ArcElement2, Tooltip4, Legend4, ChartDataLabels4);
1680
+ var PieChart = ({
1681
+ data,
1682
+ options = {},
1683
+ onSegmentClick,
1684
+ showLegend = true,
1685
+ showTooltips = true,
1686
+ showValueLabels = true
1687
+ }) => {
1688
+ const chartRef = useRef8(null);
1689
+ const pieOptions = mergician8(
1690
+ getPieChartOptions({
1691
+ showLegend,
1692
+ showTooltips,
1693
+ showValueLabels
1694
+ }),
1695
+ options
1696
+ );
1697
+ const handleSegmentClick = (event) => {
1698
+ const indexClicked = getSegmentIndexClicked(event, chartRef);
1699
+ onSegmentClick?.(indexClicked);
1700
+ };
1701
+ return /* @__PURE__ */ jsx28("div", { className: styles25.chartContainer, children: /* @__PURE__ */ jsx28(
1702
+ Pie2,
1703
+ {
1704
+ ref: chartRef,
1705
+ data: getPieChartData(data),
1706
+ options: pieOptions,
1707
+ onClick: handleSegmentClick
1708
+ }
1709
+ ) });
1710
+ };
1711
+
1712
+ // src/components/charts/tables/Table/TablePaginated.tsx
1713
+ import * as React2 from "react";
1714
+ import styles29 from "./tables.module-WFOONEPQ.module.css";
1715
+ import clsx19 from "clsx";
1716
+
1717
+ // src/components/charts/tables/Table/components/TablePagination/TablePagination.tsx
1718
+ import {
1719
+ IconChevronLeft,
1720
+ IconChevronRight,
1721
+ IconChevronsLeft,
1722
+ IconChevronsRight
1723
+ } from "@tabler/icons-react";
1724
+ import styles26 from "./TablePagination.module-VGIQ7VN7.module.css";
1725
+ import { useEffect as useEffect6 } from "react";
1726
+ import { jsx as jsx29, jsxs as jsxs16 } from "react/jsx-runtime";
1727
+ var getTableTotalPages = (total, pageSize) => {
1728
+ return total ? Math.ceil(total / pageSize) : void 0;
1729
+ };
1730
+ var TablePagination = ({
1731
+ page,
1732
+ pageSize,
1733
+ paginationLabel,
1734
+ total,
1735
+ onPageChange
1736
+ }) => {
1737
+ const totalPages = getTableTotalPages(total, pageSize);
1738
+ const disabledPrev = page <= 0;
1739
+ const disabledNext = !totalPages || page >= totalPages - 1;
1740
+ useEffect6(() => {
1741
+ if (totalPages && page >= totalPages) {
1742
+ onPageChange(0);
1743
+ }
1744
+ }, [totalPages, page]);
1745
+ return /* @__PURE__ */ jsx29("div", { className: styles26.tablePagination, "aria-label": "Table pagination controls", children: /* @__PURE__ */ jsxs16("div", { className: styles26.tablePaginationCentral, children: [
1746
+ /* @__PURE__ */ jsxs16("div", { className: styles26.tablePaginationCentralButtons, children: [
1747
+ /* @__PURE__ */ jsx29(
1748
+ ActionIcon,
1749
+ {
1750
+ icon: IconChevronsLeft,
1751
+ onClick: () => {
1752
+ onPageChange(0);
1753
+ },
1754
+ disabled: disabledPrev,
1755
+ "aria-label": "First page"
1756
+ }
1757
+ ),
1758
+ /* @__PURE__ */ jsx29(
1759
+ ActionIcon,
1760
+ {
1761
+ icon: IconChevronLeft,
1762
+ onClick: () => {
1763
+ onPageChange(page - 1);
1764
+ },
1765
+ disabled: disabledPrev,
1766
+ "aria-label": "Previous page"
1767
+ }
1768
+ )
1769
+ ] }),
1770
+ /* @__PURE__ */ jsx29("span", { children: paginationLabel ?? `Page ${page + 1} of ${totalPages ?? "?"}` }),
1771
+ /* @__PURE__ */ jsxs16("div", { className: styles26.tablePaginationCentralButtons, children: [
1772
+ /* @__PURE__ */ jsx29(
1773
+ ActionIcon,
1774
+ {
1775
+ icon: IconChevronRight,
1776
+ onClick: () => {
1777
+ onPageChange(page + 1);
1778
+ },
1779
+ disabled: disabledNext,
1780
+ "aria-label": "Next page"
1781
+ }
1782
+ ),
1783
+ /* @__PURE__ */ jsx29(
1784
+ ActionIcon,
1785
+ {
1786
+ icon: IconChevronsRight,
1787
+ onClick: () => totalPages && onPageChange(totalPages - 1),
1788
+ disabled: disabledNext,
1789
+ "aria-label": "Last page"
1790
+ }
1791
+ )
1792
+ ] })
1793
+ ] }) });
1794
+ };
1795
+
1796
+ // src/components/charts/tables/Table/components/TableHeader/TableHeader.tsx
1797
+ import { IconCaretDownFilled as IconCaretDownFilled2, IconCaretUpDownFilled, IconCaretUpFilled } from "@tabler/icons-react";
1798
+ import styles27 from "./TableHeader.module-XXXLQWHC.module.css";
1799
+
1800
+ // src/components/charts/tables/Table/table.types.ts
1801
+ var TableSortDirection = {
1802
+ ASC: "asc",
1803
+ DESC: "desc"
1804
+ };
1805
+ var TableHeaderAlign = {
1806
+ LEFT: "left",
1807
+ CENTER: "center",
1808
+ RIGHT: "right"
1809
+ };
1810
+
1811
+ // src/components/charts/tables/Table/components/TableHeader/TableHeader.tsx
1812
+ import tableStyles from "./tables.module-WFOONEPQ.module.css";
1813
+ import clsx17 from "clsx";
1814
+ import { jsx as jsx30, jsxs as jsxs17 } from "react/jsx-runtime";
1815
+ var getHeaderAriaSort = (sort, header) => {
1816
+ return sort?.id === header.id ? sort.direction === "asc" ? "ascending" : "descending" : "none";
1817
+ };
1818
+ var getHeaderAriaLabel = (sort, header) => {
1819
+ return sort?.id === header.id ? sort.direction === "asc" ? `Sort by ${header.title}, currently ascending. Activate to sort descending.` : `Sort by ${header.title}, currently descending. Activate to sort ascending.` : `Sort by ${header.title}. Activate to sort ascending.`;
1820
+ };
1821
+ var TableHeader = ({
1822
+ headers,
1823
+ sort,
1824
+ showIndex,
1825
+ onSortChange
1826
+ }) => {
1827
+ const getSortIcon = (header) => {
1828
+ if (!sort) return /* @__PURE__ */ jsx30(IconCaretUpDownFilled, {});
1829
+ if (sort.id === header.id) {
1830
+ if (sort.direction === TableSortDirection.ASC) {
1831
+ return /* @__PURE__ */ jsx30(IconCaretUpFilled, {});
1832
+ } else if (sort.direction === TableSortDirection.DESC) {
1833
+ return /* @__PURE__ */ jsx30(IconCaretDownFilled2, {});
1834
+ }
1835
+ }
1836
+ return /* @__PURE__ */ jsx30(IconCaretUpDownFilled, {});
1837
+ };
1838
+ const handleSort = (id) => {
1839
+ if (!onSortChange) return;
1840
+ if (!sort) {
1841
+ return onSortChange({ id, direction: TableSortDirection.ASC });
1842
+ }
1843
+ if (sort) {
1844
+ if (sort.id !== id) {
1845
+ return onSortChange({ id, direction: TableSortDirection.ASC });
1846
+ }
1847
+ if (sort.direction === TableSortDirection.ASC) {
1848
+ return onSortChange({ id, direction: TableSortDirection.DESC });
1849
+ } else if (sort.direction === TableSortDirection.DESC) {
1850
+ return onSortChange(void 0);
1851
+ }
1852
+ }
1853
+ };
1854
+ return /* @__PURE__ */ jsx30("thead", { className: styles27.tableHeader, children: /* @__PURE__ */ jsxs17("tr", { children: [
1855
+ showIndex && /* @__PURE__ */ jsx30("th", { className: clsx17(tableStyles.mutedCell, tableStyles.stickyFirstColumn), children: "#" }),
1856
+ headers.map((header) => /* @__PURE__ */ jsx30(
1857
+ "th",
1858
+ {
1859
+ className: styles27.tableHeaderCell,
1860
+ style: { minWidth: header.minWidth },
1861
+ scope: "col",
1862
+ "aria-sort": getHeaderAriaSort(sort, header),
1863
+ children: /* @__PURE__ */ jsxs17(
1864
+ "button",
1865
+ {
1866
+ onClick: () => handleSort(header.id),
1867
+ "aria-label": getHeaderAriaLabel(sort, header),
1868
+ children: [
1869
+ header.title,
1870
+ getSortIcon(header)
1871
+ ]
1872
+ }
1873
+ )
1874
+ },
1875
+ header.id
1876
+ ))
1877
+ ] }) });
1878
+ };
1879
+
1880
+ // src/components/charts/tables/Table/components/TableBody/TableBody.tsx
1881
+ import styles28 from "./TableBody.module-ARNVVKDL.module.css";
1882
+ import clsx18 from "clsx";
1883
+ import { IconCopy, IconCopyCheckFilled } from "@tabler/icons-react";
1884
+ import { useState as useState4 } from "react";
1885
+ import tableStyles2 from "./tables.module-WFOONEPQ.module.css";
1886
+ import { jsx as jsx31, jsxs as jsxs18 } from "react/jsx-runtime";
1887
+ var TableBody = ({
1888
+ headers,
1889
+ rows,
1890
+ pageSize,
1891
+ page,
1892
+ showIndex,
1893
+ onRowIndexClick
1894
+ }) => {
1895
+ return /* @__PURE__ */ jsx31("tbody", { className: styles28.tableBody, children: rows.map((row, rowIndex) => /* @__PURE__ */ jsxs18(
1896
+ "tr",
1897
+ {
1898
+ onClick: () => onRowIndexClick?.(rowIndex),
1899
+ className: clsx18(rowIndex === rows.length - 1 && tableStyles2.tableLastRow),
1900
+ children: [
1901
+ showIndex && /* @__PURE__ */ jsx31("td", { className: clsx18(tableStyles2.mutedCell, tableStyles2.stickyFirstColumn), children: pageSize * page + rowIndex + 1 }),
1902
+ headers.map((header, cellIndex) => /* @__PURE__ */ jsx31(
1903
+ TableBodyCell,
1904
+ {
1905
+ header,
1906
+ row,
1907
+ rowIndex,
1908
+ cellIndex
1909
+ },
1910
+ cellIndex
1911
+ ))
1912
+ ]
1913
+ },
1914
+ rowIndex
1915
+ )) });
1916
+ };
1917
+ var TableBodyCell = ({ header, row, rowIndex, cellIndex }) => {
1918
+ const [isPressedCopy, setIsPressedCopy] = useState4(false);
1919
+ const value = header.accessor !== void 0 ? header.accessor(row) : header.id !== void 0 ? (
1920
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1921
+ row[header.id]
1922
+ ) : void 0;
1923
+ if (header.cell) {
1924
+ return header.cell({ value, className: styles28.tableBodyCell });
1925
+ }
1926
+ const handleCopy = () => {
1927
+ setIsPressedCopy(true);
1928
+ if (value !== void 0) {
1929
+ navigator.clipboard.writeText(String(value));
1930
+ }
1931
+ };
1932
+ return /* @__PURE__ */ jsxs18(
1933
+ "td",
1934
+ {
1935
+ title: value,
1936
+ style: { textAlign: header.align },
1937
+ onMouseLeave: () => setIsPressedCopy(false),
1938
+ children: [
1939
+ /* @__PURE__ */ jsx31(
1940
+ ActionIcon,
1941
+ {
1942
+ title: `Copy: ${String(value)}`,
1943
+ onMouseDown: handleCopy,
1944
+ icon: isPressedCopy ? IconCopyCheckFilled : IconCopy,
1945
+ className: clsx18(
1946
+ styles28.copyButton,
1947
+ header.align === TableHeaderAlign.RIGHT && styles28.leftAlign
1948
+ ),
1949
+ onClick: handleCopy
1950
+ }
1951
+ ),
1952
+ value
1953
+ ]
1954
+ },
1955
+ `${rowIndex}-${cellIndex}`
1956
+ );
1957
+ };
1958
+
1959
+ // src/components/charts/tables/Table/TablePaginated.tsx
1960
+ import { jsx as jsx32, jsxs as jsxs19 } from "react/jsx-runtime";
1961
+ var TablePaginated = React2.forwardRef(
1962
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1963
+ (props, ref) => {
1964
+ const {
1965
+ headers,
1966
+ rows,
1967
+ className,
1968
+ total,
1969
+ page,
1970
+ pageSize,
1971
+ paginationLabel,
1972
+ sort,
1973
+ showIndex = false,
1974
+ onRowIndexClick,
1975
+ onPageChange,
1976
+ onSortChange
1977
+ } = props;
1978
+ return /* @__PURE__ */ jsxs19("div", { ref, className: clsx19(styles29.tableContainer, className), children: [
1979
+ /* @__PURE__ */ jsx32("div", { className: styles29.tableContainerScroll, children: /* @__PURE__ */ jsxs19("table", { className: styles29.table, children: [
1980
+ /* @__PURE__ */ jsx32(
1981
+ TableHeader,
1982
+ {
1983
+ showIndex,
1984
+ headers,
1985
+ sort,
1986
+ onSortChange
1987
+ }
1988
+ ),
1989
+ /* @__PURE__ */ jsx32(
1990
+ TableBody,
1991
+ {
1992
+ onRowIndexClick,
1993
+ showIndex,
1994
+ headers,
1995
+ rows,
1996
+ page,
1997
+ pageSize
1998
+ }
1999
+ )
2000
+ ] }) }),
2001
+ /* @__PURE__ */ jsx32(
2002
+ TablePagination,
2003
+ {
2004
+ page,
2005
+ pageSize,
2006
+ paginationLabel,
2007
+ total,
2008
+ onPageChange
2009
+ }
2010
+ )
2011
+ ] });
2012
+ }
2013
+ );
2014
+ TablePaginated.displayName = "TablePaginated";
2015
+
2016
+ // src/components/charts/tables/PivotTable/PivotTable.tsx
2017
+ import { useEffect as useEffect7, useMemo as useMemo3, useState as useState5 } from "react";
2018
+ import tableStyles3 from "./tables.module-WFOONEPQ.module.css";
2019
+ import clsx20 from "clsx";
2020
+
2021
+ // src/components/charts/tables/tables.utils.ts
2022
+ var getTableCellWidthStyle = (width) => {
2023
+ return {
2024
+ minWidth: width ? `${width}px` : "unset",
2025
+ maxWidth: width ? `${width}px` : "unset",
2026
+ width: width ? `${width}px` : "unset"
2027
+ };
2028
+ };
2029
+
2030
+ // src/components/charts/tables/PivotTable/PivotTable.tsx
2031
+ import { jsx as jsx33, jsxs as jsxs20 } from "react/jsx-runtime";
2032
+ var isNumber = (v) => typeof v === "number" && !Number.isNaN(v);
2033
+ var getPercentageDisplay = (percentage, percentageDecimalPlaces) => {
2034
+ return `${percentage.toFixed(percentageDecimalPlaces)}%`;
2035
+ };
2036
+ var PivotTable = ({
2037
+ columnWidth,
2038
+ firstColumnWidth,
2039
+ data,
2040
+ measures,
2041
+ rowDimension,
2042
+ columnDimension,
2043
+ progressive = true,
2044
+ batchSize = 100,
2045
+ batchDelayMs = 0,
2046
+ rowTotalsFor = [],
2047
+ columnTotalsFor = [],
2048
+ totalLabel = "Total",
2049
+ className
2050
+ }) => {
2051
+ const rowValues = useMemo3(() => {
2052
+ const s = /* @__PURE__ */ new Set();
2053
+ for (const d of data) {
2054
+ const rowValue = d[rowDimension.key];
2055
+ if (rowValue) s.add(rowValue);
2056
+ }
2057
+ return Array.from(s);
2058
+ }, [data, rowDimension.key]);
2059
+ const columnValues = useMemo3(() => {
2060
+ const s = /* @__PURE__ */ new Set();
2061
+ for (const d of data) {
2062
+ const columnValue = d[columnDimension.key];
2063
+ if (columnValue) s.add(columnValue);
2064
+ }
2065
+ return Array.from(s);
2066
+ }, [data, columnDimension.key]);
2067
+ const cellMap = useMemo3(() => {
2068
+ const map = /* @__PURE__ */ new Map();
2069
+ for (const d of data) {
2070
+ const r = String(d[rowDimension.key]);
2071
+ const c = String(d[columnDimension.key]);
2072
+ if (!map.has(r)) map.set(r, /* @__PURE__ */ new Map());
2073
+ map.get(r).set(c, d);
2074
+ }
2075
+ return map;
2076
+ }, [data, rowDimension.key, columnDimension.key]);
2077
+ const rowTotalsSet = useMemo3(() => new Set(rowTotalsFor), [rowTotalsFor]);
2078
+ const columnTotalsSet = useMemo3(() => new Set(columnTotalsFor), [columnTotalsFor]);
2079
+ const hasRowTotals = rowTotalsSet.size > 0;
2080
+ const hasColumnTotals = columnTotalsSet.size > 0;
2081
+ const measureIndexByKey = useMemo3(() => {
2082
+ const map = /* @__PURE__ */ new Map();
2083
+ measures.forEach((m, i) => map.set(String(m.key), i));
2084
+ return map;
2085
+ }, [measures]);
2086
+ const { colTotals, rowTotals, grandTotals } = useMemo3(() => {
2087
+ const cTotals = /* @__PURE__ */ new Map();
2088
+ const rTotals = /* @__PURE__ */ new Map();
2089
+ const gTotals = measures.map(() => 0);
2090
+ for (const d of data) {
2091
+ const r = String(d[rowDimension.key]);
2092
+ const c = String(d[columnDimension.key]);
2093
+ const cArr = cTotals.get(c) ?? measures.map(() => 0);
2094
+ const rArr = rTotals.get(r) ?? measures.map(() => 0);
2095
+ measures.forEach((m, i) => {
2096
+ const raw = d?.[m.key];
2097
+ const v = Number(raw);
2098
+ if (!Number.isNaN(v)) {
2099
+ cArr[i] += v;
2100
+ rArr[i] += v;
2101
+ gTotals[i] += v;
2102
+ }
2103
+ });
2104
+ cTotals.set(c, cArr);
2105
+ rTotals.set(r, rArr);
2106
+ }
2107
+ for (const c of columnValues) {
2108
+ if (!cTotals.has(String(c)))
2109
+ cTotals.set(
2110
+ String(c),
2111
+ measures.map(() => 0)
2112
+ );
2113
+ }
2114
+ for (const r of rowValues) {
2115
+ if (!rTotals.has(String(r)))
2116
+ rTotals.set(
2117
+ String(r),
2118
+ measures.map(() => 0)
2119
+ );
2120
+ }
2121
+ return { colTotals: cTotals, rowTotals: rTotals, grandTotals: gTotals };
2122
+ }, [data, measures, rowDimension.key, columnDimension.key, columnValues, rowValues]);
2123
+ const [visibleCount, setVisibleCount] = useState5(
2124
+ () => progressive ? Math.min(batchSize, rowValues.length) : rowValues.length
2125
+ );
2126
+ useEffect7(() => {
2127
+ if (!progressive) {
2128
+ setVisibleCount(rowValues.length);
2129
+ return;
2130
+ }
2131
+ let cancelled = false;
2132
+ let t = null;
2133
+ setVisibleCount(0);
2134
+ const tick = () => {
2135
+ setVisibleCount((prev) => {
2136
+ const next = Math.min(prev + batchSize, rowValues.length);
2137
+ if (next < rowValues.length && !cancelled) {
2138
+ t = window.setTimeout(tick, batchDelayMs);
2139
+ }
2140
+ return next;
2141
+ });
2142
+ };
2143
+ t = window.setTimeout(tick, batchDelayMs);
2144
+ return () => {
2145
+ cancelled = true;
2146
+ if (t !== null) window.clearTimeout(t);
2147
+ };
2148
+ }, [progressive, batchSize, batchDelayMs, rowValues.length, data]);
2149
+ const visibleRows = progressive ? rowValues.slice(0, visibleCount) : rowValues;
2150
+ return /* @__PURE__ */ jsx33("div", { className: clsx20(tableStyles3.tableFullContainer, className), children: /* @__PURE__ */ jsx33(
2151
+ "div",
2152
+ {
2153
+ className: clsx20(
2154
+ tableStyles3.tableAdjustedContainer,
2155
+ (!columnWidth || !firstColumnWidth) && tableStyles3.fullWidth
2156
+ ),
2157
+ children: /* @__PURE__ */ jsxs20(
2158
+ "table",
2159
+ {
2160
+ className: tableStyles3.table,
2161
+ "aria-label": `${rowDimension.label} by ${columnDimension.label}`,
2162
+ children: [
2163
+ /* @__PURE__ */ jsxs20("thead", { children: [
2164
+ /* @__PURE__ */ jsxs20("tr", { children: [
2165
+ /* @__PURE__ */ jsx33(
2166
+ "th",
2167
+ {
2168
+ scope: "col",
2169
+ rowSpan: 1,
2170
+ title: columnDimension.label,
2171
+ className: tableStyles3.stickyFirstColumn,
2172
+ children: columnDimension.label
2173
+ }
2174
+ ),
2175
+ columnValues.map((columnValue) => {
2176
+ const columnValueDisplay = columnDimension.formatValue ? columnDimension.formatValue(columnValue) : columnValue;
2177
+ return /* @__PURE__ */ jsx33(
2178
+ "th",
2179
+ {
2180
+ scope: "colgroup",
2181
+ colSpan: measures.length,
2182
+ title: columnValueDisplay,
2183
+ children: columnValueDisplay
2184
+ },
2185
+ `col-${columnValue}`
2186
+ );
2187
+ }),
2188
+ hasRowTotals && /* @__PURE__ */ jsx33(
2189
+ "th",
2190
+ {
2191
+ scope: "colgroup",
2192
+ colSpan: Array.from(rowTotalsSet).length,
2193
+ className: tableStyles3.boltCell,
2194
+ title: totalLabel,
2195
+ children: totalLabel
2196
+ },
2197
+ "col-total-group"
2198
+ )
2199
+ ] }),
2200
+ /* @__PURE__ */ jsxs20("tr", { children: [
2201
+ /* @__PURE__ */ jsx33(
2202
+ "th",
2203
+ {
2204
+ scope: "col",
2205
+ rowSpan: 1,
2206
+ title: rowDimension.label,
2207
+ className: tableStyles3.stickyFirstColumn,
2208
+ style: getTableCellWidthStyle(firstColumnWidth),
2209
+ children: rowDimension.label
2210
+ }
2211
+ ),
2212
+ columnValues.flatMap(
2213
+ (col) => measures.map((measure, idx) => /* @__PURE__ */ jsx33(
2214
+ "th",
2215
+ {
2216
+ scope: "col",
2217
+ title: measure.label,
2218
+ style: getTableCellWidthStyle(columnWidth),
2219
+ children: measure.label
2220
+ },
2221
+ `sub-${String(col)}-${measure.key}-${idx}`
2222
+ ))
2223
+ ),
2224
+ hasRowTotals && measures.filter((measure) => rowTotalsSet.has(measure.key)).map((measure, idx) => /* @__PURE__ */ jsx33(
2225
+ "th",
2226
+ {
2227
+ scope: "col",
2228
+ className: tableStyles3.boltCell,
2229
+ title: measure.label,
2230
+ style: getTableCellWidthStyle(columnWidth),
2231
+ children: measure.label
2232
+ },
2233
+ `sub-total-${measure.key}-${idx}`
2234
+ ))
2235
+ ] })
2236
+ ] }),
2237
+ /* @__PURE__ */ jsxs20("tbody", { children: [
2238
+ visibleRows.map((row) => {
2239
+ const rowDimensionValue = rowDimension.formatValue ? rowDimension.formatValue(row) : row;
2240
+ return /* @__PURE__ */ jsxs20("tr", { children: [
2241
+ /* @__PURE__ */ jsx33(
2242
+ "th",
2243
+ {
2244
+ scope: "row",
2245
+ title: rowDimensionValue,
2246
+ className: tableStyles3.stickyFirstColumn,
2247
+ children: rowDimensionValue
2248
+ }
2249
+ ),
2250
+ columnValues.flatMap(
2251
+ (columnValue) => measures.map((measure, idx) => {
2252
+ const object = cellMap.get(row)?.get(columnValue) ?? {};
2253
+ const value = object?.[measure.key];
2254
+ const key = `cell-${row}-${columnValue}-${measure.key}-${idx}`;
2255
+ const getDisplayValue = () => {
2256
+ if (measure.showAsPercentage) {
2257
+ const mi = measureIndexByKey.get(String(measure.key)) ?? -1;
2258
+ const totalsForCol = colTotals.get(String(columnValue)) ?? measures.map(() => 0);
2259
+ const colTotal = mi >= 0 ? totalsForCol[mi] ?? 0 : 0;
2260
+ const shouldShowPct = measure.showAsPercentage && isNumber(Number(value)) && isNumber(colTotal) && colTotal > 0;
2261
+ if (shouldShowPct) {
2262
+ const percentage = value / colTotal * 100;
2263
+ return `${percentage.toFixed(measure.percentageDecimalPlaces ?? 0)}%`;
2264
+ }
2265
+ }
2266
+ return measure.accessor ? measure.accessor(object) : value;
2267
+ };
2268
+ const columnValueDisplay = getDisplayValue();
2269
+ return /* @__PURE__ */ jsx33("td", { title: columnValueDisplay, children: columnValueDisplay }, key);
2270
+ })
2271
+ ),
2272
+ hasRowTotals && measures.filter((measure) => rowTotalsSet.has(measure.key)).map((measure, idx) => {
2273
+ const totalsForRow = rowTotals.get(row) ?? measures.map(() => 0);
2274
+ const measureIndex = measureIndexByKey.get(measure.key) ?? -1;
2275
+ const key = `row-total-${String(row)}-${measure.key}-${idx}`;
2276
+ const value = measureIndex >= 0 ? totalsForRow[measureIndex] ?? 0 : 0;
2277
+ let displayValue = value;
2278
+ if (measure.showAsPercentage) {
2279
+ displayValue = getPercentageDisplay(
2280
+ value / (grandTotals[measureIndex] || 1) * 100,
2281
+ measure.percentageDecimalPlaces ?? 0
2282
+ );
2283
+ } else if (measure.accessor) {
2284
+ displayValue = measure.accessor({ [measure.key]: value });
2285
+ }
2286
+ return /* @__PURE__ */ jsx33("td", { className: tableStyles3.boltCell, title: displayValue, children: displayValue }, key);
2287
+ })
2288
+ ] }, `row-${row}`);
2289
+ }),
2290
+ hasColumnTotals && /* @__PURE__ */ jsxs20("tr", { className: tableStyles3.stickyLastRow, children: [
2291
+ /* @__PURE__ */ jsx33(
2292
+ "th",
2293
+ {
2294
+ scope: "row",
2295
+ className: clsx20(tableStyles3.stickyFirstColumn, tableStyles3.boltCell),
2296
+ title: totalLabel,
2297
+ children: totalLabel
2298
+ }
2299
+ ),
2300
+ columnValues.flatMap(
2301
+ (columnValue) => measures.map((measure, idx) => {
2302
+ const show = columnTotalsSet.has(String(measure.key));
2303
+ const totalsForCol = colTotals.get(String(columnValue)) ?? measures.map(() => 0);
2304
+ const mi = measures.findIndex((mm) => String(mm.key) === String(measure.key));
2305
+ const key = `col-total-${String(columnValue)}-${measure.key}-${idx}`;
2306
+ const value = totalsForCol[mi] ?? 0;
2307
+ let displayValue = value;
2308
+ if (measure.showAsPercentage) {
2309
+ displayValue = getPercentageDisplay(
2310
+ 100,
2311
+ measure.percentageDecimalPlaces ?? 0
2312
+ );
2313
+ } else if (measure.accessor) {
2314
+ displayValue = measure.accessor({ [measure.key]: value });
2315
+ }
2316
+ const columnValueDisplay = show ? displayValue : "";
2317
+ return /* @__PURE__ */ jsx33("td", { className: tableStyles3.boltCell, title: columnValueDisplay, children: columnValueDisplay }, key);
2318
+ })
2319
+ ),
2320
+ hasRowTotals && measures.filter((measure) => rowTotalsSet.has(measure.key)).map((measure, idx) => {
2321
+ const measureIndex = measures.findIndex((m) => String(m.key) === measure.key);
2322
+ const key = `grand-total-${measure.key}-${idx}`;
2323
+ const value = grandTotals[measureIndex] ?? 0;
2324
+ let displayValue = value;
2325
+ if (measure.showAsPercentage) {
2326
+ displayValue = getPercentageDisplay(
2327
+ 100,
2328
+ measure.percentageDecimalPlaces ?? 0
2329
+ );
2330
+ } else if (measure.accessor) {
2331
+ displayValue = measure.accessor({ [measure.key]: value });
2332
+ }
2333
+ return /* @__PURE__ */ jsx33("td", { className: tableStyles3.boltCell, title: displayValue, children: displayValue }, key);
2334
+ })
2335
+ ] }, "totals-row")
2336
+ ] })
2337
+ ]
2338
+ }
2339
+ )
2340
+ }
2341
+ ) });
2342
+ };
2343
+
2344
+ // src/components/charts/tables/HeatMap/HeatMap.tsx
2345
+ import { useMemo as useMemo4, useCallback } from "react";
2346
+ import tableStyles4 from "./tables.module-WFOONEPQ.module.css";
2347
+ import clsx21 from "clsx";
2348
+
2349
+ // src/components/charts/tables/HeatMap/HeatMap.utils.ts
2350
+ var clamp01 = (x) => x < 0 ? 0 : x > 1 ? 1 : x;
2351
+ var easeOutQuad = (x) => 1 - (1 - x) * (1 - x);
2352
+ var lerp = (a, b, t) => a + (b - a) * t;
2353
+ var OUTSIDE_DARKEN_MAX = 0.35;
2354
+ var LERP_DARKEST_COLOR = "#000000";
2355
+ var LERP_LIGHTEST_COLOR = "#FFFFFF";
2356
+ var idOf = (v) => String(v ?? "");
2357
+ var CSS_RGB_REGEX = /rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/i;
2358
+ var COLOR_CACHE = /* @__PURE__ */ new Map();
2359
+ var normalizeHex = (hex) => {
2360
+ if (!hex || hex[0] !== "#") return hex;
2361
+ const v = hex.slice(1).toLowerCase();
2362
+ if (v.length === 3) return `#${v[0]}${v[0]}${v[1]}${v[1]}${v[2]}${v[2]}`;
2363
+ if (v.length === 6) return `#${v}`;
2364
+ return hex.toLowerCase();
2365
+ };
2366
+ var resolveCssColorToHex = (input) => {
2367
+ if (!input) return input;
2368
+ const cached = COLOR_CACHE.get(input);
2369
+ if (cached) return cached;
2370
+ if (input.startsWith("#")) {
2371
+ const hex2 = normalizeHex(input);
2372
+ COLOR_CACHE.set(input, hex2);
2373
+ return hex2;
2374
+ }
2375
+ if (typeof document === "undefined") {
2376
+ return input;
2377
+ }
2378
+ const el = document.createElement("span");
2379
+ el.style.color = input;
2380
+ document.body.appendChild(el);
2381
+ const computed = getComputedStyle(el).color || "";
2382
+ el.remove();
2383
+ const m = computed.match(CSS_RGB_REGEX);
2384
+ if (!m) return input;
2385
+ const [, r = "0", g = "0", b = "0"] = m;
2386
+ const toHex = (n) => Number(n).toString(16).padStart(2, "0");
2387
+ const hex = `#${toHex(r)}${toHex(g)}${toHex(b)}`.toLowerCase();
2388
+ COLOR_CACHE.set(input, hex);
2389
+ return hex;
2390
+ };
2391
+ var hexToRgb = (color) => {
2392
+ const hex = normalizeHex(resolveCssColorToHex(color)).slice(1);
2393
+ if (hex.length !== 6) return { r: 0, g: 0, b: 0 };
2394
+ const i = parseInt(hex, 16);
2395
+ return { r: i >> 16 & 255, g: i >> 8 & 255, b: i & 255 };
2396
+ };
2397
+ var rgbToHex = (r, g, b) => {
2398
+ const to = (x) => Math.round(x).toString(16).padStart(2, "0");
2399
+ return `#${to(r)}${to(g)}${to(b)}`;
2400
+ };
2401
+ var lerpColor = (a, b, t) => {
2402
+ const A = hexToRgb(a);
2403
+ const B = hexToRgb(b);
2404
+ return rgbToHex(lerp(A.r, B.r, t), lerp(A.g, B.g, t), lerp(A.b, B.b, t));
2405
+ };
2406
+ var getBrightness = (color) => {
2407
+ const { r, g, b } = hexToRgb(color);
2408
+ return (r * 299 + g * 587 + b * 114) / 1e3;
2409
+ };
2410
+ var getCellColor = (backgroundColor) => {
2411
+ return getBrightness(backgroundColor) < 150 ? "#FFFFFF" : "#212129";
2412
+ };
2413
+ var makeDiverging = (minC, midC, maxC, midpoint = 0.5) => {
2414
+ const m = clamp01(midpoint);
2415
+ return (t) => {
2416
+ const x = clamp01(t);
2417
+ return x <= m ? lerpColor(minC, midC, m === 0 ? 1 : x / m) : lerpColor(midC, maxC, (x - m) / (1 - m));
2418
+ };
2419
+ };
2420
+ var parsePercentString = (s) => {
2421
+ const t = s.trim();
2422
+ if (!t.endsWith("%")) return null;
2423
+ const n = Number.parseFloat(t.slice(0, -1));
2424
+ return Number.isFinite(n) ? clamp01(n / 100) : null;
2425
+ };
2426
+ var thresholdToRaw = (t, rawMin, rawMax, fallback) => {
2427
+ if (t == null) return fallback;
2428
+ if (typeof t === "number" && Number.isFinite(t)) return t;
2429
+ const asPct = typeof t === "string" ? parsePercentString(t) : null;
2430
+ if (asPct != null) return rawMin + asPct * (rawMax - rawMin);
2431
+ const maybe = Number(t);
2432
+ return Number.isFinite(maybe) ? maybe : fallback;
2433
+ };
2434
+ var toFiniteOrSelf = (v) => {
2435
+ if (v == null) return v;
2436
+ const n = Number(v);
2437
+ return Number.isFinite(n) ? n : v;
2438
+ };
2439
+ var getCellValue = (value, displayNullAs) => {
2440
+ const fallback = displayNullAs && Number.isFinite(Number(displayNullAs)) ? Number(displayNullAs) : displayNullAs;
2441
+ return toFiniteOrSelf(value ?? fallback);
2442
+ };
2443
+ var getCellBackground = (value, colorForValue) => {
2444
+ if (typeof value !== "number" || !Number.isFinite(value))
2445
+ return getStyle("--em-tablechart-cell-background", "#fff");
2446
+ return colorForValue(value);
2447
+ };
2448
+ var getCellDisplayValue = (value, showValues, measure) => {
2449
+ if (!showValues) return null;
2450
+ if (typeof value === "string" || value == null || Number.isNaN(value)) return value;
2451
+ return measure?.format ? measure.format(Number(value)) : value;
2452
+ };
2453
+ var getMidPoint = (domainMin, domainMax) => {
2454
+ const range = domainMax - domainMin;
2455
+ if (range === 0) return 0.5;
2456
+ return ((domainMin + domainMax) / 2 - domainMin) / range;
2457
+ };
2458
+ var createColorForValue = ({
2459
+ domainMin,
2460
+ domainMax,
2461
+ rawMin,
2462
+ rawMax,
2463
+ minColor,
2464
+ midColor,
2465
+ maxColor
2466
+ }) => {
2467
+ const midPoint = getMidPoint(domainMin, domainMax);
2468
+ const scale = makeDiverging(minColor, midColor, maxColor, midPoint);
2469
+ const leftTailLen = Math.max(1e-6, domainMin - rawMin);
2470
+ const rightTailLen = Math.max(1e-6, rawMax - domainMax);
2471
+ const domRange = domainMax - domainMin;
2472
+ if (domRange === 0) {
2473
+ const mid = scale(0.5);
2474
+ return (_v) => mid;
2475
+ }
2476
+ return (v) => {
2477
+ if (!Number.isFinite(v)) return scale(0.5);
2478
+ const t = (v - domainMin) / domRange;
2479
+ if (t <= 0) {
2480
+ const dist = Math.max(0, domainMin - v) / leftTailLen;
2481
+ const strength = easeOutQuad(clamp01(dist)) * OUTSIDE_DARKEN_MAX;
2482
+ return strength > 0 ? lerpColor(minColor, LERP_LIGHTEST_COLOR, strength) : minColor;
2483
+ }
2484
+ if (t >= 1) {
2485
+ const dist = Math.max(0, v - domainMax) / rightTailLen;
2486
+ const strength = easeOutQuad(clamp01(dist)) * OUTSIDE_DARKEN_MAX;
2487
+ return strength > 0 ? lerpColor(maxColor, LERP_DARKEST_COLOR, strength) : maxColor;
2488
+ }
2489
+ return scale(t);
2490
+ };
2491
+ };
2492
+
2493
+ // src/components/charts/tables/HeatMap/HeatMap.tsx
2494
+ import { jsx as jsx34, jsxs as jsxs21 } from "react/jsx-runtime";
2495
+ var HeatMap = ({
2496
+ data,
2497
+ showValues = false,
2498
+ className,
2499
+ columnDimension,
2500
+ rowDimension,
2501
+ measure,
2502
+ minThreshold,
2503
+ maxThreshold,
2504
+ minColor,
2505
+ midColor = getStyle("--em-tablechart-heatmap-color", "#FF5400"),
2506
+ maxColor,
2507
+ columnWidth,
2508
+ firstColumnWidth,
2509
+ displayNullAs
2510
+ }) => {
2511
+ const { rawMin, rawMax } = useMemo4(() => {
2512
+ let min = Infinity;
2513
+ let max = -Infinity;
2514
+ for (const d of data) {
2515
+ const value = getCellValue(d[measure.key], displayNullAs);
2516
+ if (value != null && typeof value === "number" && Number.isFinite(value)) {
2517
+ if (value < min) min = value;
2518
+ if (value > max) max = value;
2519
+ }
2520
+ }
2521
+ if (!Number.isFinite(min) || !Number.isFinite(max)) return { rawMin: 0, rawMax: 0 };
2522
+ return { rawMin: min, rawMax: max };
2523
+ }, [data, measure.key, displayNullAs]);
2524
+ const { domainMin, domainMax } = useMemo4(() => {
2525
+ const domMin = thresholdToRaw(minThreshold, rawMin, rawMax, rawMin);
2526
+ const domMax = thresholdToRaw(maxThreshold, rawMin, rawMax, rawMax);
2527
+ return domMin <= domMax ? { domainMin: domMin, domainMax: domMax } : { domainMin: domMax, domainMax: domMin };
2528
+ }, [minThreshold, maxThreshold, rawMin, rawMax]);
2529
+ const columnValues = useMemo4(
2530
+ () => Array.from(
2531
+ new Set(
2532
+ data.map((d) => d[columnDimension.key]).filter((v) => v != null).map(idOf)
2533
+ )
2534
+ ),
2535
+ [data, columnDimension.key]
2536
+ );
2537
+ const rowValues = useMemo4(
2538
+ () => Array.from(
2539
+ new Set(
2540
+ data.map((d) => d[rowDimension.key]).filter((v) => v != null).map(idOf)
2541
+ )
2542
+ ),
2543
+ [data, rowDimension.key]
2544
+ );
2545
+ const cellMap = useMemo4(() => {
2546
+ const map = /* @__PURE__ */ new Map();
2547
+ for (const d of data) {
2548
+ const r = idOf(d[rowDimension.key]);
2549
+ const c = idOf(d[columnDimension.key]);
2550
+ if (!map.has(r)) map.set(r, /* @__PURE__ */ new Map());
2551
+ map.get(r).set(c, d);
2552
+ }
2553
+ return map;
2554
+ }, [data, rowDimension.key, columnDimension.key]);
2555
+ const colorForValue = useCallback(
2556
+ (v) => {
2557
+ return createColorForValue({
2558
+ domainMin,
2559
+ domainMax,
2560
+ rawMin,
2561
+ rawMax,
2562
+ minColor,
2563
+ midColor,
2564
+ maxColor
2565
+ })(v);
2566
+ },
2567
+ [domainMin, domainMax, rawMin, rawMax, minColor, midColor, maxColor]
2568
+ );
2569
+ return /* @__PURE__ */ jsx34("div", { className: clsx21(tableStyles4.tableFullContainer, className), children: /* @__PURE__ */ jsx34(
2570
+ "div",
2571
+ {
2572
+ className: clsx21(
2573
+ tableStyles4.tableAdjustedContainer,
2574
+ (!columnWidth || !firstColumnWidth) && tableStyles4.fullWidth
2575
+ ),
2576
+ children: /* @__PURE__ */ jsxs21("table", { className: tableStyles4.table, "aria-label": "Heat map", children: [
2577
+ /* @__PURE__ */ jsx34("thead", { children: /* @__PURE__ */ jsxs21("tr", { children: [
2578
+ /* @__PURE__ */ jsx34(
2579
+ "th",
2580
+ {
2581
+ className: tableStyles4.stickyFirstColumn,
2582
+ style: getTableCellWidthStyle(firstColumnWidth),
2583
+ children: measure.label
2584
+ }
2585
+ ),
2586
+ columnValues.map((cv, index) => /* @__PURE__ */ jsx34("th", { style: getTableCellWidthStyle(columnWidth), children: columnDimension.format ? columnDimension.format(cv) : cv }, `col-${cv}-${index}`))
2587
+ ] }) }),
2588
+ /* @__PURE__ */ jsx34("tbody", { children: rowValues.map((rv) => /* @__PURE__ */ jsxs21("tr", { children: [
2589
+ /* @__PURE__ */ jsx34(
2590
+ "th",
2591
+ {
2592
+ scope: "row",
2593
+ className: tableStyles4.stickyFirstColumn,
2594
+ style: getTableCellWidthStyle(firstColumnWidth),
2595
+ children: rowDimension.format ? rowDimension.format(rv) : rv
2596
+ }
2597
+ ),
2598
+ columnValues.map((cv) => {
2599
+ const obj = cellMap.get(rv)?.get(cv);
2600
+ const value = getCellValue(obj?.[measure.key], displayNullAs);
2601
+ const background = getCellBackground(value, colorForValue);
2602
+ const color = getCellColor(background);
2603
+ return /* @__PURE__ */ jsx34(
2604
+ "td",
2605
+ {
2606
+ style: {
2607
+ background,
2608
+ color,
2609
+ textAlign: "center",
2610
+ ...getTableCellWidthStyle(columnWidth)
2611
+ },
2612
+ children: getCellDisplayValue(value, showValues, measure)
2613
+ },
2614
+ `cell-${rv}-${cv}`
2615
+ );
2616
+ })
2617
+ ] }, `row-${rv}`)) })
2618
+ ] })
2619
+ }
2620
+ ) });
2621
+ };
2622
+
2623
+ // src/components/charts/tables/Table/Table.hooks.ts
2624
+ import { useMemo as useMemo5 } from "react";
2625
+ var useTableGetRowsPerPage = ({
2626
+ availableHeight,
2627
+ headerHeight,
2628
+ rowHeight,
2629
+ footerHeight = 0
2630
+ }) => useMemo5(() => {
2631
+ const h = availableHeight;
2632
+ if (!h) return 0;
2633
+ let available = h - headerHeight - footerHeight;
2634
+ if (available < 0) available = 0;
2635
+ const rows = Math.floor(available / rowHeight);
2636
+ return Math.max(0, rows);
2637
+ }, [availableHeight, headerHeight, rowHeight, footerHeight]);
2638
+
2639
+ // src/hooks/useDebounce.hook.ts
2640
+ import { useRef as useRef9, useEffect as useEffect8, useCallback as useCallback2 } from "react";
2641
+ function useDebounce(fn, delay = 300) {
2642
+ const timerRef = useRef9(null);
2643
+ const fnRef = useRef9(fn);
2644
+ useEffect8(() => {
2645
+ fnRef.current = fn;
2646
+ }, [fn]);
2647
+ const debouncedFn = useCallback2(
2648
+ (...args) => {
2649
+ if (timerRef.current) {
2650
+ clearTimeout(timerRef.current);
2651
+ }
2652
+ timerRef.current = setTimeout(() => {
2653
+ fnRef.current(...args);
2654
+ }, delay);
2655
+ },
2656
+ [delay]
2657
+ );
2658
+ useEffect8(() => {
2659
+ return () => {
2660
+ if (timerRef.current) clearTimeout(timerRef.current);
2661
+ };
2662
+ }, []);
2663
+ return debouncedFn;
2664
+ }
2665
+
2666
+ // src/hooks/useObserverHeight.hook.ts
2667
+ import { useLayoutEffect, useRef as useRef10, useState as useState6 } from "react";
2668
+ var useObserverHeight = (elRef) => {
2669
+ const [height, setHeight] = useState6(0);
2670
+ const timeoutRef = useRef10(void 0);
2671
+ useLayoutEffect(() => {
2672
+ const el = elRef.current;
2673
+ if (!el) return;
2674
+ const updateHeight = (newHeight) => {
2675
+ setHeight(Math.max(0, newHeight));
2676
+ };
2677
+ const ro = new ResizeObserver((entries) => {
2678
+ const entry = entries[0];
2679
+ if (!entry) return;
2680
+ if (timeoutRef.current) {
2681
+ clearTimeout(timeoutRef.current);
2682
+ }
2683
+ timeoutRef.current = window.setTimeout(() => {
2684
+ updateHeight(entry.contentRect.height);
2685
+ }, 100);
2686
+ });
2687
+ ro.observe(el);
2688
+ updateHeight(el.getBoundingClientRect().height || 0);
2689
+ return () => {
2690
+ if (timeoutRef.current) clearTimeout(timeoutRef.current);
2691
+ ro.disconnect();
2692
+ };
2693
+ }, [elRef]);
2694
+ return height;
2695
+ };
116
2696
  export {
117
- G as ActionIcon,
118
- H as BarChart,
119
- js as Button,
120
- L as ButtonIcon,
121
- K as Card,
122
- $ as CardContent,
123
- E as CardFeedback,
124
- q as CardHeader,
125
- N as ChartCard,
126
- me as ComparisonPeriodType,
127
- pe as DateRangeSelectFieldPro,
128
- W as DonutChart,
129
- ee as DonutChartPro,
130
- re as DonutLabelChartPro,
131
- z as Dropdown,
132
- Bs as EditorCard,
133
- J as FieldFeedback,
134
- V as FieldHeader,
135
- D as GhostButton,
136
- $s as HeatMap,
137
- Rs as KpiChart,
138
- X as LineChart,
139
- Ls as MultiSelectField,
140
- Ds as MultiSelectFieldPro,
141
- Y as NumberField,
142
- v as PageOverlay,
143
- Q as PieChart,
144
- ae as PieChartPro,
145
- Hs as PivotTable,
146
- Ns as SelectFieldCategory,
147
- U as SelectFieldContent,
148
- Z as SelectFieldContentList,
149
- aa as SelectFieldTrigger,
150
- sa as SelectListOption,
151
- Os as SingleSelectField,
152
- le as SingleSelectFieldPro,
153
- M as Skeleton,
154
- O as Switch,
155
- ea as TableHeaderAlign,
156
- ta as TablePaginated,
157
- ra as TableSortDirection,
158
- oa as TextField,
159
- j as Typography,
160
- ia as chartColors,
161
- na as chartContrastColors,
162
- ca as chartjsAxisOptions,
163
- la as chartjsAxisOptionsLayoutPadding,
164
- ua as chartjsAxisOptionsPlugins,
165
- pa as chartjsAxisOptionsScales,
166
- ha as dataset,
167
- ma as description,
168
- da as dimension,
169
- xa as dimensionOrMeasure,
170
- ga as dimensionSimple,
171
- ba as dimensionTime,
172
- Ca as dimensionWithDateBounds,
173
- ya as dimensions,
174
- _a as dimensionsAndMeasures,
175
- wa as displayPercentages,
176
- Sa as genericBoolean,
177
- fa as genericNumber,
178
- Ta as genericString,
179
- ka as genericTimeRange,
180
- Ia as getBarChartData,
181
- Pa as getBarChartOptions,
182
- Aa as getChartjsAxisOptionsScalesGrid,
183
- ja as getChartjsAxisOptionsScalesGridColor,
184
- La as getChartjsAxisOptionsScalesTicksDefault,
185
- Da as getChartjsAxisOptionsScalesTicksMuted,
186
- va as getChartjsAxisOptionsScalesTitle,
187
- Oa as getDonutChartOptions,
188
- Fa as getLineChartData,
189
- Ba as getLineChartOptions,
190
- Ys as getObjectStableKey,
191
- Na as getPieChartData,
192
- Ma as getPieChartOptions,
193
- ie as getPieChartProData,
194
- ne as getPieChartProOptions,
195
- Ra as getStyle,
196
- Ga as getStyleNumber,
197
- Ha as getTableTotalPages,
198
- Us as getThemeFormatter,
199
- Ka as i18n,
200
- $a as i18nSetup,
201
- Ea as inputColor,
202
- xe as isColorValid,
203
- qa as maxLegendItems,
204
- Wa as maxResults,
205
- za as measure,
206
- Ja as measures,
207
- Va as placeholder,
208
- Js as remarkableTheme,
209
- Xa as resolveI18nProps,
210
- Ya as reverseXAxis,
211
- Qa as reverseYAxis,
212
- ge as setColorAlpha,
213
- Ua as showLegend,
214
- Za as showLogarithmicScale,
215
- as as showTooltips,
216
- ss as showTopItems,
217
- es as showTotalLabels,
218
- ts as showValueLabels,
219
- Vs as styles,
220
- rs as subInputAbbreviateLargeNumber,
221
- os as subInputAlign,
222
- is as subInputColor,
223
- ns as subInputCurrency,
224
- cs as subInputDateBounds,
225
- ls as subInputDecimalPlaces,
226
- us as subInputDisplayName,
227
- ps as subInputGenericBoolean,
228
- hs as subInputGenericNumber,
229
- ms as subInputGranularity,
230
- ds as subInputMaxCharacters,
231
- xs as subInputPrefix,
232
- gs as subInputSuffix,
233
- bs as subInputWidth,
234
- Cs as timeDimensionSubInputs,
235
- ys as title,
236
- qs as useDebounce,
237
- Ws as useTableGetRowsPerPage,
238
- _s as xAxisLabel,
239
- ws as xAxisMaxItems,
240
- Ss as xAxisRangeMax,
241
- fs as xAxisRangeMin,
242
- Ts as yAxisLabel,
243
- ks as yAxisMaxItems,
244
- Is as yAxisRangeMax,
245
- Ps as yAxisRangeMin
246
- };
247
- //# sourceMappingURL=index.js.map
2697
+ ActionIcon,
2698
+ BarChart,
2699
+ Button,
2700
+ ButtonIcon,
2701
+ Card,
2702
+ CardContent,
2703
+ CardFeedback,
2704
+ CardHeader,
2705
+ DonutChart,
2706
+ Dropdown,
2707
+ FieldFeedback,
2708
+ FieldHeader,
2709
+ GhostButton,
2710
+ HeatMap,
2711
+ KpiChart,
2712
+ LineChart,
2713
+ MultiSelectField,
2714
+ NumberField,
2715
+ Overlay,
2716
+ PieChart,
2717
+ PivotTable,
2718
+ SelectFieldCategory,
2719
+ SelectFieldContent,
2720
+ SelectFieldContentList,
2721
+ SelectFieldTrigger,
2722
+ SelectListOption,
2723
+ SingleSelectField,
2724
+ Skeleton,
2725
+ Switch,
2726
+ TableHeaderAlign,
2727
+ TablePaginated,
2728
+ TableSortDirection,
2729
+ TextField,
2730
+ Typography,
2731
+ chartjsAxisOptionsLayoutPadding,
2732
+ getBarChartData,
2733
+ getBarChartOptions,
2734
+ getChartColors,
2735
+ getChartContrastColors,
2736
+ getChartjsAxisOptions,
2737
+ getChartjsAxisOptionsPlugins,
2738
+ getChartjsAxisOptionsScales,
2739
+ getChartjsAxisOptionsScalesGrid,
2740
+ getChartjsAxisOptionsScalesGridColor,
2741
+ getChartjsAxisOptionsScalesTicksDefault,
2742
+ getChartjsAxisOptionsScalesTicksMuted,
2743
+ getChartjsAxisOptionsScalesTitle,
2744
+ getDonutChartOptions,
2745
+ getLineChartData,
2746
+ getLineChartOptions,
2747
+ getPieChartData,
2748
+ getPieChartOptions,
2749
+ getStyle,
2750
+ getStyleNumber,
2751
+ getTableTotalPages,
2752
+ useDebounce,
2753
+ useObserverHeight,
2754
+ useTableGetRowsPerPage
2755
+ };
2756
+ //# sourceMappingURL=index.js.map