@embeddable.com/remarkable-ui 0.1.51 → 1.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 (421) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +3 -3
  2. package/dist/BarChartDefaultPro.js +3 -3
  3. package/dist/BarChartGroupedHorizontalPro.js +3 -3
  4. package/dist/BarChartGroupedPro.js +3 -3
  5. package/dist/BarChartStackedHorizontalPro.js +15 -15
  6. package/dist/BarChartStackedHorizontalPro.js.map +1 -1
  7. package/dist/BarChartStackedPro.js +33 -33
  8. package/dist/BarChartStackedPro.js.map +1 -1
  9. package/dist/ChartCard-CyemTSay.js +122 -0
  10. package/dist/ChartCard-CyemTSay.js.map +1 -0
  11. package/dist/{ComparisonPeriod.type.emb-CYp3nw-9.js → ComparisonPeriod.type.emb-i3iGuRJI.js} +2 -2
  12. package/dist/{ComparisonPeriod.type.emb-CYp3nw-9.js.map → ComparisonPeriod.type.emb-i3iGuRJI.js.map} +1 -1
  13. package/dist/ComparisonPeriodSelectFieldPro.js +4 -4
  14. package/dist/DateRangeSelectFieldPro.js +2 -2
  15. package/dist/DonutChartPro.js +2 -2
  16. package/dist/DonutLabelChartPro.js +2 -2
  17. package/dist/EditorCard-BICCSvPo.js +74 -0
  18. package/dist/EditorCard-BICCSvPo.js.map +1 -0
  19. package/dist/HeatMap-BueWUQTI.js +208 -0
  20. package/dist/HeatMap-BueWUQTI.js.map +1 -0
  21. package/dist/HeatMapPro.js +4 -4
  22. package/dist/KpiChart-BxmGCIn5.js +105 -0
  23. package/dist/KpiChart-BxmGCIn5.js.map +1 -0
  24. package/dist/KpiChartNumberComparisonPro.js +21 -21
  25. package/dist/KpiChartNumberComparisonPro.js.map +1 -1
  26. package/dist/KpiChartNumberPro.js +9 -9
  27. package/dist/KpiChartNumberPro.js.map +1 -1
  28. package/dist/LineChartComparisonDefaultPro.js +46 -49
  29. package/dist/LineChartComparisonDefaultPro.js.map +1 -1
  30. package/dist/LineChartDefaultPro.js +25 -28
  31. package/dist/LineChartDefaultPro.js.map +1 -1
  32. package/dist/LineChartGroupedPro.js +47 -50
  33. package/dist/LineChartGroupedPro.js.map +1 -1
  34. package/dist/MultiSelectFieldPro.js +2 -2
  35. package/dist/PieChartPro.js +2 -2
  36. package/dist/PivotTable-DrN-dl-H.js +249 -0
  37. package/dist/PivotTable-DrN-dl-H.js.map +1 -0
  38. package/dist/PivotTablePro.js +4 -4
  39. package/dist/SingleSelectField-CSJOpQeh.js +109 -0
  40. package/dist/SingleSelectField-CSJOpQeh.js.map +1 -0
  41. package/dist/SingleSelectFieldPro.js +2 -2
  42. package/dist/TableChartPaginated.js +123 -152
  43. package/dist/TableChartPaginated.js.map +1 -1
  44. package/dist/{bars.utils-DTdoPs5N.js → bars.utils-wy9RMO2F.js} +4 -4
  45. package/dist/bars.utils-wy9RMO2F.js.map +1 -0
  46. package/dist/{charts.utils-D9TXwxGs.js → charts.utils-eHB_o46Z.js} +2633 -2773
  47. package/dist/charts.utils-eHB_o46Z.js.map +1 -0
  48. package/dist/{component.constants-DCOqCFoY.js → component.constants-CYS5-3qd.js} +3553 -3529
  49. package/dist/component.constants-CYS5-3qd.js.map +1 -0
  50. package/dist/embeddable-components.json +11 -11
  51. package/dist/embeddable-theme-2b917.js +3789 -3929
  52. package/dist/{formatter.utils-B80iNq9Q.js → formatter.utils-CaFr8SlX.js} +2 -2
  53. package/dist/{formatter.utils-B80iNq9Q.js.map → formatter.utils-CaFr8SlX.js.map} +1 -1
  54. package/dist/index-B7QvKSGz.js +204 -0
  55. package/dist/index-B7QvKSGz.js.map +1 -0
  56. package/dist/{index-CmE__sUg.js → index-BYxqGfuR.js} +15 -14
  57. package/dist/index-BYxqGfuR.js.map +1 -0
  58. package/dist/{index-D4oPbYPT.js → index-CGRZXASn.js} +16 -14
  59. package/dist/index-CGRZXASn.js.map +1 -0
  60. package/dist/{index--tdFwk_H.js → index-CwCkuHzT.js} +16 -14
  61. package/dist/index-CwCkuHzT.js.map +1 -0
  62. package/dist/{index-C3o3AQpK.js → index-DfsOzpdV.js} +9 -14
  63. package/dist/index-DfsOzpdV.js.map +1 -0
  64. package/dist/{index-DpIR-B0R.js → index-b_iMiCHA.js} +4 -4
  65. package/dist/{index-DpIR-B0R.js.map → index-b_iMiCHA.js.map} +1 -1
  66. package/dist/index.js +216 -254
  67. package/dist/index.js.map +1 -1
  68. package/dist/pies.utils-BvSC2qnJ.js +73 -0
  69. package/dist/pies.utils-BvSC2qnJ.js.map +1 -0
  70. package/dist/remarkable-pro/components/charts/bars/bars.utils.d.ts.map +1 -1
  71. package/dist/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.d.ts.map +1 -1
  72. package/dist/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +1 -1
  73. package/dist/remarkable-pro/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.d.ts.map +1 -1
  74. package/dist/remarkable-pro/components/charts/lines/LineChartDefaultPro/index.d.ts.map +1 -1
  75. package/dist/remarkable-pro/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts.map +1 -1
  76. package/dist/remarkable-pro/components/charts/lines/LineChartGroupedPro/index.d.ts.map +1 -1
  77. package/dist/remarkable-pro/components/charts/pies/DonutChartPro/index.d.ts.map +1 -1
  78. package/dist/remarkable-pro/components/charts/pies/DonutLabelChartPro/index.d.ts.map +1 -1
  79. package/dist/remarkable-pro/components/charts/pies/PieChartPro/index.d.ts.map +1 -1
  80. package/dist/remarkable-pro/components/charts/pies/pies.utils.d.ts +1 -7
  81. package/dist/remarkable-pro/components/charts/pies/pies.utils.d.ts.map +1 -1
  82. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.d.ts.map +1 -1
  83. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.stories.d.ts.map +1 -1
  84. package/dist/remarkable-pro/components/charts/tables/TableChartPaginated/index.d.ts.map +1 -1
  85. package/dist/remarkable-pro/index.d.ts +0 -1
  86. package/dist/remarkable-pro/index.d.ts.map +1 -1
  87. package/dist/remarkable-pro/theme/theme.types.d.ts +0 -3
  88. package/dist/remarkable-pro/theme/theme.types.d.ts.map +1 -1
  89. package/dist/remarkable-ui/components/charts/bars/BarChart.d.ts.map +1 -0
  90. package/dist/remarkable-ui/components/charts/bars/BarChart.stories.d.ts +72 -0
  91. package/dist/remarkable-ui/components/charts/bars/BarChart.stories.d.ts.map +1 -0
  92. package/dist/remarkable-ui/{charts → components/charts}/bars/bars.types.d.ts +1 -1
  93. package/dist/remarkable-ui/components/charts/bars/bars.types.d.ts.map +1 -0
  94. package/dist/remarkable-ui/components/charts/bars/bars.utils.d.ts.map +1 -0
  95. package/dist/remarkable-ui/{charts → components/charts}/chartjs.cartesian.constants.d.ts +1 -0
  96. package/dist/remarkable-ui/components/charts/chartjs.cartesian.constants.d.ts.map +1 -0
  97. package/dist/remarkable-ui/components/charts/chartjs.constants.d.ts.map +1 -0
  98. package/dist/remarkable-ui/components/charts/chartjs.utils.d.ts.map +1 -0
  99. package/dist/remarkable-ui/components/charts/charts.constants.d.ts.map +1 -0
  100. package/dist/remarkable-ui/components/charts/kpis/KpiChart.d.ts.map +1 -0
  101. package/dist/remarkable-ui/components/charts/kpis/KpiChart.stories.d.ts +32 -0
  102. package/dist/remarkable-ui/components/charts/kpis/KpiChart.stories.d.ts.map +1 -0
  103. package/dist/remarkable-ui/{charts → components/charts}/kpis/KpiChart.types.d.ts +1 -1
  104. package/dist/remarkable-ui/components/charts/kpis/KpiChart.types.d.ts.map +1 -0
  105. package/dist/remarkable-ui/components/charts/kpis/components/KpiChartChange.d.ts.map +1 -0
  106. package/dist/remarkable-ui/components/charts/lines/LineChart.d.ts.map +1 -0
  107. package/dist/remarkable-ui/components/charts/lines/LineChart.stories.d.ts +35 -0
  108. package/dist/remarkable-ui/components/charts/lines/LineChart.stories.d.ts.map +1 -0
  109. package/dist/remarkable-ui/components/charts/lines/lines.types.d.ts.map +1 -0
  110. package/dist/remarkable-ui/components/charts/lines/lines.utils.d.ts.map +1 -0
  111. package/dist/remarkable-ui/{charts/pies → components/charts/pies/DonutChart}/DonutChart.d.ts +1 -1
  112. package/dist/remarkable-ui/components/charts/pies/DonutChart/DonutChart.d.ts.map +1 -0
  113. package/dist/remarkable-ui/components/charts/pies/DonutChart/DonutChart.stories.d.ts +28 -0
  114. package/dist/remarkable-ui/components/charts/pies/DonutChart/DonutChart.stories.d.ts.map +1 -0
  115. package/dist/remarkable-ui/{charts/pies → components/charts/pies/PieChart}/PieChart.d.ts +1 -1
  116. package/dist/remarkable-ui/components/charts/pies/PieChart/PieChart.d.ts.map +1 -0
  117. package/dist/remarkable-ui/components/charts/pies/PieChart/PieChart.stories.d.ts +25 -0
  118. package/dist/remarkable-ui/components/charts/pies/PieChart/PieChart.stories.d.ts.map +1 -0
  119. package/dist/remarkable-ui/components/charts/pies/pies.mock.d.ts.map +1 -0
  120. package/dist/remarkable-ui/{charts → components/charts}/pies/pies.types.d.ts +6 -1
  121. package/dist/remarkable-ui/components/charts/pies/pies.types.d.ts.map +1 -0
  122. package/dist/remarkable-ui/components/charts/pies/pies.utils.d.ts +9 -0
  123. package/dist/remarkable-ui/components/charts/pies/pies.utils.d.ts.map +1 -0
  124. package/dist/remarkable-ui/components/charts/tables/HeatMap/HeatMap.d.ts.map +1 -0
  125. package/dist/remarkable-ui/components/charts/tables/HeatMap/HeatMap.stories.d.ts +36 -0
  126. package/dist/remarkable-ui/components/charts/tables/HeatMap/HeatMap.stories.d.ts.map +1 -0
  127. package/dist/remarkable-ui/components/charts/tables/HeatMap/HeatMap.types.d.ts.map +1 -0
  128. package/dist/remarkable-ui/{charts → components/charts}/tables/HeatMap/HeatMap.utils.d.ts +1 -1
  129. package/dist/remarkable-ui/components/charts/tables/HeatMap/HeatMap.utils.d.ts.map +1 -0
  130. package/dist/remarkable-ui/components/charts/tables/PivotTable/PivotTable.d.ts.map +1 -0
  131. package/dist/remarkable-ui/components/charts/tables/PivotTable/PivotTable.stories.d.ts +43 -0
  132. package/dist/remarkable-ui/components/charts/tables/PivotTable/PivotTable.stories.d.ts.map +1 -0
  133. package/dist/remarkable-ui/components/charts/tables/PivotTable/PivotTable.types.d.ts.map +1 -0
  134. package/dist/remarkable-ui/components/charts/tables/Table/Table.hooks.d.ts.map +1 -0
  135. package/dist/remarkable-ui/components/charts/tables/Table/TablePaginated.d.ts.map +1 -0
  136. package/dist/remarkable-ui/{charts → components/charts}/tables/Table/TablePaginated.stories.d.ts +2 -1
  137. package/dist/remarkable-ui/components/charts/tables/Table/TablePaginated.stories.d.ts.map +1 -0
  138. package/dist/remarkable-ui/components/charts/tables/Table/components/TableBody/TableBody.d.ts.map +1 -0
  139. package/dist/remarkable-ui/components/charts/tables/Table/components/TableHeader/TableHeader.d.ts.map +1 -0
  140. package/dist/remarkable-ui/components/charts/tables/Table/components/TablePagination/TablePagination.d.ts.map +1 -0
  141. package/dist/remarkable-ui/{charts → components/charts}/tables/Table/components/TablePagination/TablePagination.stories.d.ts +1 -0
  142. package/dist/remarkable-ui/components/charts/tables/Table/components/TablePagination/TablePagination.stories.d.ts.map +1 -0
  143. package/dist/remarkable-ui/{charts → components/charts}/tables/Table/table.types.d.ts +1 -1
  144. package/dist/remarkable-ui/components/charts/tables/Table/table.types.d.ts.map +1 -0
  145. package/dist/remarkable-ui/components/charts/tables/tables.utils.d.ts.map +1 -0
  146. package/dist/remarkable-ui/components/editors/Switch/Switch.d.ts.map +1 -0
  147. package/dist/remarkable-ui/components/editors/Switch/Switch.stories.d.ts +27 -0
  148. package/dist/remarkable-ui/components/editors/Switch/Switch.stories.d.ts.map +1 -0
  149. package/dist/remarkable-ui/{editors → components/editors/inputs}/NumberField/NumberField.d.ts +1 -3
  150. package/dist/remarkable-ui/components/editors/inputs/NumberField/NumberField.d.ts.map +1 -0
  151. package/dist/remarkable-ui/components/editors/inputs/NumberField/NumberField.stories.d.ts +36 -0
  152. package/dist/remarkable-ui/components/editors/inputs/NumberField/NumberField.stories.d.ts.map +1 -0
  153. package/dist/remarkable-ui/{editors → components/editors/inputs}/TextField/TextField.d.ts +1 -1
  154. package/dist/remarkable-ui/components/editors/inputs/TextField/TextField.d.ts.map +1 -0
  155. package/dist/remarkable-ui/components/editors/inputs/TextField/TextField.stories.d.ts +40 -0
  156. package/dist/remarkable-ui/components/editors/inputs/TextField/TextField.stories.d.ts.map +1 -0
  157. package/dist/remarkable-ui/{editors → components/editors/inputs/shared}/InputField/InputField.d.ts +3 -2
  158. package/dist/remarkable-ui/components/editors/inputs/shared/InputField/InputField.d.ts.map +1 -0
  159. package/dist/remarkable-ui/{editors/select → components/editors/selects}/MultiSelectField/MultiSelectField.d.ts +5 -2
  160. package/dist/remarkable-ui/components/editors/selects/MultiSelectField/MultiSelectField.d.ts.map +1 -0
  161. package/dist/remarkable-ui/components/editors/selects/MultiSelectField/MultiSelectField.stories.d.ts +34 -0
  162. package/dist/remarkable-ui/components/editors/selects/MultiSelectField/MultiSelectField.stories.d.ts.map +1 -0
  163. package/dist/remarkable-ui/{editors/select → components/editors/selects}/SingleSelectField/SingleSelectField.d.ts +3 -2
  164. package/dist/remarkable-ui/components/editors/selects/SingleSelectField/SingleSelectField.d.ts.map +1 -0
  165. package/dist/remarkable-ui/components/editors/selects/SingleSelectField/SingleSelectField.stories.d.ts +34 -0
  166. package/dist/remarkable-ui/components/editors/selects/SingleSelectField/SingleSelectField.stories.d.ts.map +1 -0
  167. package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectFieldContent.d.ts +16 -0
  168. package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectFieldContent.d.ts.map +1 -0
  169. package/dist/remarkable-ui/{editors/select/shared/SelectList/selectList.utils.d.ts → components/editors/selects/shared/SelectFieldContent/SelectFieldContent.utils.d.ts} +2 -2
  170. package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectFieldContent.utils.d.ts.map +1 -0
  171. package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectListOptions/SelectFieldCategory/SelectFieldCategory.d.ts +7 -0
  172. package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectListOptions/SelectFieldCategory/SelectFieldCategory.d.ts.map +1 -0
  173. package/dist/remarkable-ui/{editors/select/shared/SelectList/SelectListOptions/SelectListOption/SelectListOption.d.ts → components/editors/selects/shared/SelectFieldContent/SelectListOptions/SelectFieldOption/SelectFieldOption.d.ts} +1 -1
  174. package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectListOptions/SelectFieldOption/SelectFieldOption.d.ts.map +1 -0
  175. package/dist/remarkable-ui/{editors/select/shared/SelectButton/SelectButton.d.ts → components/editors/selects/shared/SelectFieldTrigger/SelectFieldTrigger.d.ts} +2 -2
  176. package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldTrigger/SelectFieldTrigger.d.ts.map +1 -0
  177. package/dist/remarkable-ui/components/editors/selects/shared/useSelectSearchFocus.hook.d.ts.map +1 -0
  178. package/dist/remarkable-ui/components/shared/ActionIcon/ActionIcon.d.ts +9 -0
  179. package/dist/remarkable-ui/components/shared/ActionIcon/ActionIcon.d.ts.map +1 -0
  180. package/dist/remarkable-ui/components/shared/ActionIcon/ActionIcon.stories.d.ts +23 -0
  181. package/dist/remarkable-ui/components/shared/ActionIcon/ActionIcon.stories.d.ts.map +1 -0
  182. package/dist/remarkable-ui/{shared → components/shared}/Button/Button.d.ts +4 -4
  183. package/dist/remarkable-ui/components/shared/Button/Button.d.ts.map +1 -0
  184. package/dist/remarkable-ui/components/shared/Button/Button.stories.d.ts +47 -0
  185. package/dist/remarkable-ui/components/shared/Button/Button.stories.d.ts.map +1 -0
  186. package/dist/remarkable-ui/components/shared/ButtonIcon/ButtonIcon.d.ts +10 -0
  187. package/dist/remarkable-ui/components/shared/ButtonIcon/ButtonIcon.d.ts.map +1 -0
  188. package/dist/remarkable-ui/components/shared/ButtonIcon/ButtonIcon.stories.d.ts +30 -0
  189. package/dist/remarkable-ui/components/shared/ButtonIcon/ButtonIcon.stories.d.ts.map +1 -0
  190. package/dist/remarkable-ui/{shared → components/shared}/Card/Card.d.ts +1 -1
  191. package/dist/remarkable-ui/components/shared/Card/Card.d.ts.map +1 -0
  192. package/dist/remarkable-ui/components/shared/Card/Card.stories.d.ts +13 -0
  193. package/dist/remarkable-ui/components/shared/Card/Card.stories.d.ts.map +1 -0
  194. package/dist/remarkable-ui/components/shared/Card/CardFeedback/CardFeedback.d.ts +11 -0
  195. package/dist/remarkable-ui/components/shared/Card/CardFeedback/CardFeedback.d.ts.map +1 -0
  196. package/dist/remarkable-ui/components/shared/Dropdown/Dropdown.d.ts.map +1 -0
  197. package/dist/remarkable-ui/components/shared/Field/FieldFeedback.d.ts +8 -0
  198. package/dist/remarkable-ui/components/shared/Field/FieldFeedback.d.ts.map +1 -0
  199. package/dist/remarkable-ui/components/shared/Field/FieldHeader.d.ts +8 -0
  200. package/dist/remarkable-ui/components/shared/Field/FieldHeader.d.ts.map +1 -0
  201. package/dist/remarkable-ui/components/shared/Foundations/BorderRadius.stories.d.ts +6 -0
  202. package/dist/remarkable-ui/components/shared/Foundations/BorderRadius.stories.d.ts.map +1 -0
  203. package/dist/remarkable-ui/{shared → components/shared}/Foundations/Colors.stories.d.ts +1 -1
  204. package/dist/remarkable-ui/components/shared/Foundations/Colors.stories.d.ts.map +1 -0
  205. package/dist/remarkable-ui/components/shared/Foundations/Size.stories.d.ts +6 -0
  206. package/dist/remarkable-ui/components/shared/Foundations/Size.stories.d.ts.map +1 -0
  207. package/dist/remarkable-ui/components/shared/Foundations/Spacing.stories.d.ts +6 -0
  208. package/dist/remarkable-ui/components/shared/Foundations/Spacing.stories.d.ts.map +1 -0
  209. package/dist/remarkable-ui/components/shared/GhostButton/GhostButton.d.ts.map +1 -0
  210. package/dist/remarkable-ui/components/shared/GhostButton/GhostButton.stories.d.ts +29 -0
  211. package/dist/remarkable-ui/components/shared/GhostButton/GhostButton.stories.d.ts.map +1 -0
  212. package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.d.ts.map +1 -0
  213. package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.stories.d.ts +7 -0
  214. package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.stories.d.ts.map +1 -0
  215. package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.types.d.ts.map +1 -0
  216. package/dist/remarkable-ui/components/shared/Skeleton/Skeleton.d.ts.map +1 -0
  217. package/dist/remarkable-ui/{shared → components/shared}/Skeleton/Skeleton.stories.d.ts +2 -0
  218. package/dist/remarkable-ui/components/shared/Skeleton/Skeleton.stories.d.ts.map +1 -0
  219. package/dist/remarkable-ui/components/shared/Typography/Typography.d.ts.map +1 -0
  220. package/dist/remarkable-ui/{shared → components/shared}/Typography/Typography.stories.d.ts +1 -0
  221. package/dist/remarkable-ui/components/shared/Typography/Typography.stories.d.ts.map +1 -0
  222. package/dist/remarkable-ui/components/shared/Typography/Typography.types.d.ts.map +1 -0
  223. package/dist/remarkable-ui/index.d.ts +41 -40
  224. package/dist/remarkable-ui/index.d.ts.map +1 -1
  225. package/dist/remarkable-ui/storybook.constants.d.ts +8 -0
  226. package/dist/remarkable-ui/storybook.constants.d.ts.map +1 -0
  227. package/dist/remarkable-ui/styles/styles.constants.d.ts +7 -603
  228. package/dist/remarkable-ui/styles/styles.constants.d.ts.map +1 -1
  229. package/dist/remarkable-ui/styles/styles.tokensComponents.constants.d.ts +347 -0
  230. package/dist/remarkable-ui/styles/styles.tokensComponents.constants.d.ts.map +1 -0
  231. package/dist/remarkable-ui/styles/styles.tokensCore.constants.d.ts +90 -0
  232. package/dist/remarkable-ui/styles/styles.tokensCore.constants.d.ts.map +1 -0
  233. package/dist/remarkable-ui/styles/styles.tokensSemantic.constants.d.ts +31 -0
  234. package/dist/remarkable-ui/styles/styles.tokensSemantic.constants.d.ts.map +1 -0
  235. package/dist/remarkable-ui/styles/styles.utils.d.ts +1 -1
  236. package/dist/remarkable-ui/styles/styles.utils.d.ts.map +1 -1
  237. package/dist/remarkable-ui.css +451 -585
  238. package/dist/tables.utils-D7KXdM2S.js.map +1 -1
  239. package/dist/{timeRange.utils-u1NZ0u7o.js → timeRange.utils-CplLUFvd.js} +2 -2
  240. package/dist/{timeRange.utils-u1NZ0u7o.js.map → timeRange.utils-CplLUFvd.js.map} +1 -1
  241. package/dist/useDebounce.hook-DxiPFcz9.js +36 -0
  242. package/dist/useDebounce.hook-DxiPFcz9.js.map +1 -0
  243. package/package.json +3 -1
  244. package/dist/ChartCard-D-0O5ugW.js +0 -117
  245. package/dist/ChartCard-D-0O5ugW.js.map +0 -1
  246. package/dist/EditorCard-BhC7oToX.js +0 -76
  247. package/dist/EditorCard-BhC7oToX.js.map +0 -1
  248. package/dist/HeatMap-By9_uzV_.js +0 -223
  249. package/dist/HeatMap-By9_uzV_.js.map +0 -1
  250. package/dist/KpiChart-CS9s8nJ4.js +0 -79
  251. package/dist/KpiChart-CS9s8nJ4.js.map +0 -1
  252. package/dist/PivotTable-Cx4WG6MV.js +0 -273
  253. package/dist/PivotTable-Cx4WG6MV.js.map +0 -1
  254. package/dist/SingleSelectField-DlVCi5Ej.js +0 -107
  255. package/dist/SingleSelectField-DlVCi5Ej.js.map +0 -1
  256. package/dist/bars.utils-DTdoPs5N.js.map +0 -1
  257. package/dist/charts.utils-D9TXwxGs.js.map +0 -1
  258. package/dist/component.constants-DCOqCFoY.js.map +0 -1
  259. package/dist/index--tdFwk_H.js.map +0 -1
  260. package/dist/index-BcPj51g3.js +0 -220
  261. package/dist/index-BcPj51g3.js.map +0 -1
  262. package/dist/index-C3o3AQpK.js.map +0 -1
  263. package/dist/index-CmE__sUg.js.map +0 -1
  264. package/dist/index-D4oPbYPT.js.map +0 -1
  265. package/dist/pies.utils-DEkgZgVk.js +0 -75
  266. package/dist/pies.utils-DEkgZgVk.js.map +0 -1
  267. package/dist/remarkable-ui/charts/bars/BarChart.d.ts.map +0 -1
  268. package/dist/remarkable-ui/charts/bars/BarChart.stories.d.ts +0 -29
  269. package/dist/remarkable-ui/charts/bars/BarChart.stories.d.ts.map +0 -1
  270. package/dist/remarkable-ui/charts/bars/bars.types.d.ts.map +0 -1
  271. package/dist/remarkable-ui/charts/bars/bars.utils.d.ts.map +0 -1
  272. package/dist/remarkable-ui/charts/chartjs.cartesian.constants.d.ts.map +0 -1
  273. package/dist/remarkable-ui/charts/chartjs.constants.d.ts.map +0 -1
  274. package/dist/remarkable-ui/charts/chartjs.utils.d.ts.map +0 -1
  275. package/dist/remarkable-ui/charts/charts.constants.d.ts.map +0 -1
  276. package/dist/remarkable-ui/charts/kpis/KpiChart.d.ts.map +0 -1
  277. package/dist/remarkable-ui/charts/kpis/KpiChart.stories.d.ts +0 -23
  278. package/dist/remarkable-ui/charts/kpis/KpiChart.stories.d.ts.map +0 -1
  279. package/dist/remarkable-ui/charts/kpis/KpiChart.types.d.ts.map +0 -1
  280. package/dist/remarkable-ui/charts/kpis/components/KpiChartChange.d.ts.map +0 -1
  281. package/dist/remarkable-ui/charts/lines/LineChart.d.ts.map +0 -1
  282. package/dist/remarkable-ui/charts/lines/LineChart.stories.d.ts +0 -8
  283. package/dist/remarkable-ui/charts/lines/LineChart.stories.d.ts.map +0 -1
  284. package/dist/remarkable-ui/charts/lines/lines.types.d.ts.map +0 -1
  285. package/dist/remarkable-ui/charts/lines/lines.utils.d.ts.map +0 -1
  286. package/dist/remarkable-ui/charts/pies/DonutChart.d.ts.map +0 -1
  287. package/dist/remarkable-ui/charts/pies/DonutChart.stories.d.ts +0 -8
  288. package/dist/remarkable-ui/charts/pies/DonutChart.stories.d.ts.map +0 -1
  289. package/dist/remarkable-ui/charts/pies/PieChart.d.ts.map +0 -1
  290. package/dist/remarkable-ui/charts/pies/PieChart.stories.d.ts +0 -9
  291. package/dist/remarkable-ui/charts/pies/PieChart.stories.d.ts.map +0 -1
  292. package/dist/remarkable-ui/charts/pies/pies.constants.d.ts +0 -5
  293. package/dist/remarkable-ui/charts/pies/pies.constants.d.ts.map +0 -1
  294. package/dist/remarkable-ui/charts/pies/pies.mock.d.ts.map +0 -1
  295. package/dist/remarkable-ui/charts/pies/pies.types.d.ts.map +0 -1
  296. package/dist/remarkable-ui/charts/pies/pies.utils.d.ts +0 -3
  297. package/dist/remarkable-ui/charts/pies/pies.utils.d.ts.map +0 -1
  298. package/dist/remarkable-ui/charts/tables/HeatMap/HeatMap.d.ts.map +0 -1
  299. package/dist/remarkable-ui/charts/tables/HeatMap/HeatMap.stories.d.ts +0 -9
  300. package/dist/remarkable-ui/charts/tables/HeatMap/HeatMap.stories.d.ts.map +0 -1
  301. package/dist/remarkable-ui/charts/tables/HeatMap/HeatMap.types.d.ts.map +0 -1
  302. package/dist/remarkable-ui/charts/tables/HeatMap/HeatMap.utils.d.ts.map +0 -1
  303. package/dist/remarkable-ui/charts/tables/PivotTable/PivotTable.d.ts.map +0 -1
  304. package/dist/remarkable-ui/charts/tables/PivotTable/PivotTable.stories.d.ts +0 -24
  305. package/dist/remarkable-ui/charts/tables/PivotTable/PivotTable.stories.d.ts.map +0 -1
  306. package/dist/remarkable-ui/charts/tables/PivotTable/PivotTable.types.d.ts.map +0 -1
  307. package/dist/remarkable-ui/charts/tables/Table/Table.hooks.d.ts.map +0 -1
  308. package/dist/remarkable-ui/charts/tables/Table/TablePaginated.d.ts.map +0 -1
  309. package/dist/remarkable-ui/charts/tables/Table/TablePaginated.stories.d.ts.map +0 -1
  310. package/dist/remarkable-ui/charts/tables/Table/components/TableBody/TableBody.d.ts.map +0 -1
  311. package/dist/remarkable-ui/charts/tables/Table/components/TableHeader/TableHeader.d.ts.map +0 -1
  312. package/dist/remarkable-ui/charts/tables/Table/components/TablePagination/TablePagination.d.ts.map +0 -1
  313. package/dist/remarkable-ui/charts/tables/Table/components/TablePagination/TablePagination.stories.d.ts.map +0 -1
  314. package/dist/remarkable-ui/charts/tables/Table/table.types.d.ts.map +0 -1
  315. package/dist/remarkable-ui/charts/tables/tables.utils.d.ts.map +0 -1
  316. package/dist/remarkable-ui/editors/InputField/InputField.d.ts.map +0 -1
  317. package/dist/remarkable-ui/editors/NumberField/NumberField.d.ts.map +0 -1
  318. package/dist/remarkable-ui/editors/NumberField/NumberField.stories.d.ts +0 -23
  319. package/dist/remarkable-ui/editors/NumberField/NumberField.stories.d.ts.map +0 -1
  320. package/dist/remarkable-ui/editors/TextField/TextField.d.ts.map +0 -1
  321. package/dist/remarkable-ui/editors/TextField/TextField.stories.d.ts +0 -28
  322. package/dist/remarkable-ui/editors/TextField/TextField.stories.d.ts.map +0 -1
  323. package/dist/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.d.ts.map +0 -1
  324. package/dist/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.stories.d.ts +0 -15
  325. package/dist/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.stories.d.ts.map +0 -1
  326. package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.d.ts.map +0 -1
  327. package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.stories.d.ts +0 -18
  328. package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.stories.d.ts.map +0 -1
  329. package/dist/remarkable-ui/editors/select/shared/SelectButton/SelectButton.d.ts.map +0 -1
  330. package/dist/remarkable-ui/editors/select/shared/SelectList/SelectList.d.ts +0 -8
  331. package/dist/remarkable-ui/editors/select/shared/SelectList/SelectList.d.ts.map +0 -1
  332. package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListCategory/SelectListCategory.d.ts +0 -7
  333. package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListCategory/SelectListCategory.d.ts.map +0 -1
  334. package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListOption/SelectListOption.d.ts.map +0 -1
  335. package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListOptions.d.ts +0 -7
  336. package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListOptions.d.ts.map +0 -1
  337. package/dist/remarkable-ui/editors/select/shared/SelectList/selectList.utils.d.ts.map +0 -1
  338. package/dist/remarkable-ui/editors/select/shared/useSelectSearchFocus.hook.d.ts.map +0 -1
  339. package/dist/remarkable-ui/shared/BaseButton/BaseButton.d.ts +0 -8
  340. package/dist/remarkable-ui/shared/BaseButton/BaseButton.d.ts.map +0 -1
  341. package/dist/remarkable-ui/shared/BaseButton/index.d.ts +0 -2
  342. package/dist/remarkable-ui/shared/BaseButton/index.d.ts.map +0 -1
  343. package/dist/remarkable-ui/shared/Button/Button.d.ts.map +0 -1
  344. package/dist/remarkable-ui/shared/Button/Button.stories.d.ts +0 -20
  345. package/dist/remarkable-ui/shared/Button/Button.stories.d.ts.map +0 -1
  346. package/dist/remarkable-ui/shared/ButtonIcon/ButtonIcon.d.ts +0 -9
  347. package/dist/remarkable-ui/shared/ButtonIcon/ButtonIcon.d.ts.map +0 -1
  348. package/dist/remarkable-ui/shared/ButtonIcon/ButtonIcon.stories.d.ts +0 -11
  349. package/dist/remarkable-ui/shared/ButtonIcon/ButtonIcon.stories.d.ts.map +0 -1
  350. package/dist/remarkable-ui/shared/Card/Card.d.ts.map +0 -1
  351. package/dist/remarkable-ui/shared/Card/Card.stories.d.ts +0 -8
  352. package/dist/remarkable-ui/shared/Card/Card.stories.d.ts.map +0 -1
  353. package/dist/remarkable-ui/shared/Card/CardContentInfo/CardContentInfo.d.ts +0 -10
  354. package/dist/remarkable-ui/shared/Card/CardContentInfo/CardContentInfo.d.ts.map +0 -1
  355. package/dist/remarkable-ui/shared/ConfirmCancelModal/ConfirmCancelModal.d.ts +0 -4
  356. package/dist/remarkable-ui/shared/ConfirmCancelModal/ConfirmCancelModal.d.ts.map +0 -1
  357. package/dist/remarkable-ui/shared/ConfirmCancelModal/ConfirmCancelModal.stories.d.ts +0 -25
  358. package/dist/remarkable-ui/shared/ConfirmCancelModal/ConfirmCancelModal.stories.d.ts.map +0 -1
  359. package/dist/remarkable-ui/shared/ConfirmCancelModal/ConfirmCancelModal.types.d.ts +0 -10
  360. package/dist/remarkable-ui/shared/ConfirmCancelModal/ConfirmCancelModal.types.d.ts.map +0 -1
  361. package/dist/remarkable-ui/shared/ConfirmCancelModal/index.d.ts +0 -3
  362. package/dist/remarkable-ui/shared/ConfirmCancelModal/index.d.ts.map +0 -1
  363. package/dist/remarkable-ui/shared/Dropdown/Dropdown.d.ts.map +0 -1
  364. package/dist/remarkable-ui/shared/EmptyStateSkeleton/EmptyStateSkeleton.d.ts +0 -7
  365. package/dist/remarkable-ui/shared/EmptyStateSkeleton/EmptyStateSkeleton.d.ts.map +0 -1
  366. package/dist/remarkable-ui/shared/EmptyStateSkeleton/EmptyStateSkeleton.stories.d.ts +0 -6
  367. package/dist/remarkable-ui/shared/EmptyStateSkeleton/EmptyStateSkeleton.stories.d.ts.map +0 -1
  368. package/dist/remarkable-ui/shared/FieldErrorMessage/FieldErrorMessage.d.ts +0 -5
  369. package/dist/remarkable-ui/shared/FieldErrorMessage/FieldErrorMessage.d.ts.map +0 -1
  370. package/dist/remarkable-ui/shared/Foundations/Colors.stories.d.ts.map +0 -1
  371. package/dist/remarkable-ui/shared/GhostButton/GhostButton.d.ts.map +0 -1
  372. package/dist/remarkable-ui/shared/GhostButton/GhostButton.stories.d.ts +0 -44
  373. package/dist/remarkable-ui/shared/GhostButton/GhostButton.stories.d.ts.map +0 -1
  374. package/dist/remarkable-ui/shared/IconButton/IconButton.d.ts +0 -10
  375. package/dist/remarkable-ui/shared/IconButton/IconButton.d.ts.map +0 -1
  376. package/dist/remarkable-ui/shared/IconButton/IconButton.stories.d.ts +0 -11
  377. package/dist/remarkable-ui/shared/IconButton/IconButton.stories.d.ts.map +0 -1
  378. package/dist/remarkable-ui/shared/PageOverlay/PageOverlay.d.ts.map +0 -1
  379. package/dist/remarkable-ui/shared/PageOverlay/PageOverlay.stories.d.ts +0 -10
  380. package/dist/remarkable-ui/shared/PageOverlay/PageOverlay.stories.d.ts.map +0 -1
  381. package/dist/remarkable-ui/shared/PageOverlay/PageOverlay.types.d.ts.map +0 -1
  382. package/dist/remarkable-ui/shared/PageOverlay/index.d.ts +0 -3
  383. package/dist/remarkable-ui/shared/PageOverlay/index.d.ts.map +0 -1
  384. package/dist/remarkable-ui/shared/Skeleton/Skeleton.d.ts.map +0 -1
  385. package/dist/remarkable-ui/shared/Skeleton/Skeleton.stories.d.ts.map +0 -1
  386. package/dist/remarkable-ui/shared/Switch/Switch.d.ts.map +0 -1
  387. package/dist/remarkable-ui/shared/Switch/Switch.stories.d.ts +0 -36
  388. package/dist/remarkable-ui/shared/Switch/Switch.stories.d.ts.map +0 -1
  389. package/dist/remarkable-ui/shared/Typography/Typography.d.ts.map +0 -1
  390. package/dist/remarkable-ui/shared/Typography/Typography.stories.d.ts.map +0 -1
  391. package/dist/remarkable-ui/shared/Typography/Typography.types.d.ts.map +0 -1
  392. /package/dist/remarkable-ui/{charts → components/charts}/bars/BarChart.d.ts +0 -0
  393. /package/dist/remarkable-ui/{charts → components/charts}/bars/bars.utils.d.ts +0 -0
  394. /package/dist/remarkable-ui/{charts → components/charts}/chartjs.constants.d.ts +0 -0
  395. /package/dist/remarkable-ui/{charts → components/charts}/chartjs.utils.d.ts +0 -0
  396. /package/dist/remarkable-ui/{charts → components/charts}/charts.constants.d.ts +0 -0
  397. /package/dist/remarkable-ui/{charts → components/charts}/kpis/KpiChart.d.ts +0 -0
  398. /package/dist/remarkable-ui/{charts → components/charts}/kpis/components/KpiChartChange.d.ts +0 -0
  399. /package/dist/remarkable-ui/{charts → components/charts}/lines/LineChart.d.ts +0 -0
  400. /package/dist/remarkable-ui/{charts → components/charts}/lines/lines.types.d.ts +0 -0
  401. /package/dist/remarkable-ui/{charts → components/charts}/lines/lines.utils.d.ts +0 -0
  402. /package/dist/remarkable-ui/{charts → components/charts}/pies/pies.mock.d.ts +0 -0
  403. /package/dist/remarkable-ui/{charts → components/charts}/tables/HeatMap/HeatMap.d.ts +0 -0
  404. /package/dist/remarkable-ui/{charts → components/charts}/tables/HeatMap/HeatMap.types.d.ts +0 -0
  405. /package/dist/remarkable-ui/{charts → components/charts}/tables/PivotTable/PivotTable.d.ts +0 -0
  406. /package/dist/remarkable-ui/{charts → components/charts}/tables/PivotTable/PivotTable.types.d.ts +0 -0
  407. /package/dist/remarkable-ui/{charts → components/charts}/tables/Table/Table.hooks.d.ts +0 -0
  408. /package/dist/remarkable-ui/{charts → components/charts}/tables/Table/TablePaginated.d.ts +0 -0
  409. /package/dist/remarkable-ui/{charts → components/charts}/tables/Table/components/TableBody/TableBody.d.ts +0 -0
  410. /package/dist/remarkable-ui/{charts → components/charts}/tables/Table/components/TableHeader/TableHeader.d.ts +0 -0
  411. /package/dist/remarkable-ui/{charts → components/charts}/tables/Table/components/TablePagination/TablePagination.d.ts +0 -0
  412. /package/dist/remarkable-ui/{charts → components/charts}/tables/tables.utils.d.ts +0 -0
  413. /package/dist/remarkable-ui/{shared → components/editors}/Switch/Switch.d.ts +0 -0
  414. /package/dist/remarkable-ui/{editors/select → components/editors/selects}/shared/useSelectSearchFocus.hook.d.ts +0 -0
  415. /package/dist/remarkable-ui/{shared → components/shared}/Dropdown/Dropdown.d.ts +0 -0
  416. /package/dist/remarkable-ui/{shared → components/shared}/GhostButton/GhostButton.d.ts +0 -0
  417. /package/dist/remarkable-ui/{shared → components/shared}/PageOverlay/PageOverlay.d.ts +0 -0
  418. /package/dist/remarkable-ui/{shared → components/shared}/PageOverlay/PageOverlay.types.d.ts +0 -0
  419. /package/dist/remarkable-ui/{shared → components/shared}/Skeleton/Skeleton.d.ts +0 -0
  420. /package/dist/remarkable-ui/{shared → components/shared}/Typography/Typography.d.ts +0 -0
  421. /package/dist/remarkable-ui/{shared → components/shared}/Typography/Typography.types.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditorCard-BICCSvPo.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.mjs","../src/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectFieldContent.utils.ts","../src/remarkable-ui/components/editors/selects/shared/useSelectSearchFocus.hook.ts","../src/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectListOptions/SelectFieldCategory/SelectFieldCategory.tsx","../src/remarkable-ui/utils/debounce.utils.ts","../src/remarkable-pro/components/editors/shared/EditorCard/EditorCard.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.35.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M21 21l-6 -6\", \"key\": \"svg-1\" }]];\nconst IconSearch = createReactComponent(\"outline\", \"search\", \"Search\", __iconNode);\n\nexport { __iconNode, IconSearch as default };\n//# sourceMappingURL=IconSearch.mjs.map\n","import {\n SelectListOptionProps,\n SelectListOptionPropsWithCategory,\n} from './SelectListOptions/SelectFieldOption/SelectFieldOption';\n\ntype GroupedOptions = {\n [category: string]: SelectListOptionPropsWithCategory[];\n};\n\nexport const groupOptionsByCategory = (\n options: (SelectListOptionProps | SelectListOptionPropsWithCategory)[],\n): GroupedOptions | null => {\n const result = options.reduce<GroupedOptions>((acc, option) => {\n if ('category' in option && option.category) {\n const category = option.category;\n if (!acc[category]) {\n acc[category] = [];\n }\n acc[category].push(option);\n }\n return acc;\n }, {});\n\n // Return null if no categories were found\n return Object.keys(result).length === 0 ? null : result;\n};\n","import { useEffect } from 'react';\n\nexport const useSelectSearchFocus = (\n isOpen: boolean,\n searchFieldRef: React.RefObject<HTMLInputElement | null>,\n) => {\n useEffect(() => {\n if (isOpen) {\n setTimeout(() => {\n (searchFieldRef.current as unknown as HTMLInputElement)?.focus();\n }, 100);\n }\n }, [isOpen, searchFieldRef]);\n};\n","import { FC } from 'react';\nimport styles from './SelectFieldCategory.module.css';\n\ntype SelectFieldCategoryProps = {\n label: string;\n};\n\nexport const SelectFieldCategory: FC<SelectFieldCategoryProps> = ({ label }) => {\n return <span className={styles.selectFieldCategory}>{label}</span>;\n};\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function debounce<T extends (...args: any[]) => void>(\n fn: T,\n delay = 300,\n): (...args: Parameters<T>) => void {\n let timer: NodeJS.Timeout;\n return (...args: Parameters<T>) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n fn(...args);\n }, delay);\n };\n}\n","import { useTheme } from '@embeddable.com/react';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport styles from './EditorCard.module.css';\nimport { FC } from 'react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { Card, CardContent, CardFeedback, CardHeader } from '../../../../../remarkable-ui';\nimport { IconAlertCircle } from '@tabler/icons-react';\n\ntype EditorCardProps = {\n title?: string;\n subtitle?: string;\n children: React.ReactNode;\n errorMessage?: string;\n};\n\nexport const EditorCard: FC<EditorCardProps> = ({\n title,\n subtitle,\n children,\n errorMessage,\n ...props\n}) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const getDisplay = () => {\n if (errorMessage) {\n return (\n <CardFeedback\n variant=\"error\"\n icon={IconAlertCircle}\n title={i18n.t('editors.errorTitle')}\n message={errorMessage}\n />\n );\n }\n\n return children;\n };\n\n return (\n <Card className={styles.card} {...props}>\n <CardHeader title={title} subtitle={subtitle} />\n <CardContent>{getDisplay()}</CardContent>\n </Card>\n );\n};\n"],"names":["__iconNode","IconSearch","createReactComponent","groupOptionsByCategory","options","result","acc","option","category","useSelectSearchFocus","isOpen","searchFieldRef","useEffect","_a","SelectFieldCategory","label","jsx","styles","debounce","fn","delay","timer","args","EditorCard","title","subtitle","children","errorMessage","props","theme","useTheme","i18nSetup","getDisplay","CardFeedback","IconAlertCircle","i18n","Card","CardHeader","CardContent"],"mappings":";;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,8CAA8C,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,gBAAgB,KAAO,QAAO,CAAE,CAAC,GAChJC,IAAaC,EAAqB,WAAW,UAAU,UAAUF,CAAU,GCDpEG,IAAyB,CACpCC,MAC0B;AAC1B,QAAMC,IAASD,EAAQ,OAAuB,CAACE,GAAKC,MAAW;AAC7D,QAAI,cAAcA,KAAUA,EAAO,UAAU;AAC3C,YAAMC,IAAWD,EAAO;AACxB,MAAKD,EAAIE,CAAQ,MACfF,EAAIE,CAAQ,IAAI,CAAA,IAElBF,EAAIE,CAAQ,EAAE,KAAKD,CAAM;AAAA,IAC3B;AACA,WAAOD;AAAA,EACT,GAAG,CAAA,CAAE;AAGL,SAAO,OAAO,KAAKD,CAAM,EAAE,WAAW,IAAI,OAAOA;AACnD;;;GCvBaI,IAAuB,CAClCC,GACAC,MACG;AACH,EAAAC,EAAU,MAAM;AACd,IAAIF,KACF,WAAW,MAAM;;AACd,OAAAG,IAAAF,EAAe,YAAf,QAAAE,EAAwD;AAAA,IAC3D,GAAG,GAAG;AAAA,EAEV,GAAG,CAACH,GAAQC,CAAc,CAAC;AAC7B;;GCNaG,IAAoD,CAAC,EAAE,OAAAC,QAC3DC,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAWC,EAAO,qBAAsB,UAAAF,GAAM;ACPtD,SAASG,EACdC,GACAC,IAAQ,KAC0B;AAClC,MAAIC;AACJ,SAAO,IAAIC,MAAwB;AACjC,iBAAaD,CAAK,GAClBA,IAAQ,WAAW,MAAM;AACvB,MAAAF,EAAG,GAAGG,CAAI;AAAA,IACZ,GAAGF,CAAK;AAAA,EACV;AACF;;;GCGaG,IAAkC,CAAC;AAAA,EAC9C,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAMG,IAAa,MACbL,IAEAX,gBAAAA,EAAAA;AAAAA,IAACiB;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAMC;AAAA,MACN,OAAOC,EAAK,EAAE,oBAAoB;AAAA,MAClC,SAASR;AAAA,IAAA;AAAA,EAAA,IAKRD;AAGT,gCACGU,GAAA,EAAK,WAAWnB,EAAO,MAAO,GAAGW,GAChC,UAAA;AAAA,IAAAZ,gBAAAA,EAAAA,IAACqB,GAAA,EAAW,OAAAb,GAAc,UAAAC,EAAA,CAAoB;AAAA,IAC9CT,gBAAAA,EAAAA,IAACsB,GAAA,EAAa,UAAAN,EAAA,EAAW,CAAE;AAAA,EAAA,GAC7B;AAEJ;","x_google_ignoreList":[0]}
@@ -0,0 +1,208 @@
1
+ import { aq as z, j as f, a2 as T, aI as N } from "./component.constants-CYS5-3qd.js";
2
+ import { useMemo as S, useCallback as Q } from "react";
3
+ import { g as k } from "./tables.utils-D7KXdM2S.js";
4
+ const $ = (t) => t < 0 ? 0 : t > 1 ? 1 : t, I = (t) => 1 - (1 - t) * (1 - t), j = (t, e, r) => t + (e - t) * r, P = 0.35, U = "#000000", J = "#FFFFFF", C = (t) => String(t ?? ""), W = /rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/i, w = /* @__PURE__ */ new Map(), B = (t) => {
5
+ if (!t || t[0] !== "#") return t;
6
+ const e = t.slice(1).toLowerCase();
7
+ return e.length === 3 ? `#${e[0]}${e[0]}${e[1]}${e[1]}${e[2]}${e[2]}` : e.length === 6 ? `#${e}` : t.toLowerCase();
8
+ }, Y = (t) => {
9
+ if (!t) return t;
10
+ const e = w.get(t);
11
+ if (e) return e;
12
+ if (t.startsWith("#")) {
13
+ const h = B(t);
14
+ return w.set(t, h), h;
15
+ }
16
+ if (typeof document > "u")
17
+ return t;
18
+ const r = document.createElement("span");
19
+ r.style.color = t, document.body.appendChild(r);
20
+ const o = getComputedStyle(r).color || "";
21
+ r.remove();
22
+ const s = o.match(W);
23
+ if (!s) return t;
24
+ const [, l = "0", a = "0", p = "0"] = s, b = (h) => Number(h).toString(16).padStart(2, "0"), d = `#${b(l)}${b(a)}${b(p)}`.toLowerCase();
25
+ return w.set(t, d), d;
26
+ }, R = (t) => {
27
+ const e = B(Y(t)).slice(1);
28
+ if (e.length !== 6) return { r: 0, g: 0, b: 0 };
29
+ const r = parseInt(e, 16);
30
+ return { r: r >> 16 & 255, g: r >> 8 & 255, b: r & 255 };
31
+ }, Z = (t, e, r) => {
32
+ const o = (s) => Math.round(s).toString(16).padStart(2, "0");
33
+ return `#${o(t)}${o(e)}${o(r)}`;
34
+ }, M = (t, e, r) => {
35
+ const o = R(t), s = R(e);
36
+ return Z(j(o.r, s.r, r), j(o.g, s.g, r), j(o.b, s.b, r));
37
+ }, D = (t) => {
38
+ const { r: e, g: r, b: o } = R(t);
39
+ return (e * 299 + r * 587 + o * 114) / 1e3;
40
+ }, v = (t) => D(t) < 150 ? "#FFFFFF" : "#212129", tt = (t, e, r, o = 0.5) => {
41
+ const s = $(o);
42
+ return (l) => {
43
+ const a = $(l);
44
+ return a <= s ? M(t, e, s === 0 ? 1 : a / s) : M(e, r, (a - s) / (1 - s));
45
+ };
46
+ }, et = (t) => {
47
+ const e = t.trim();
48
+ if (!e.endsWith("%")) return null;
49
+ const r = Number.parseFloat(e.slice(0, -1));
50
+ return Number.isFinite(r) ? $(r / 100) : null;
51
+ }, V = (t, e, r, o) => {
52
+ if (t == null) return o;
53
+ if (typeof t == "number" && Number.isFinite(t)) return t;
54
+ const s = typeof t == "string" ? et(t) : null;
55
+ if (s != null) return e + s * (r - e);
56
+ const l = Number(t);
57
+ return Number.isFinite(l) ? l : o;
58
+ }, rt = (t) => {
59
+ if (t == null) return t;
60
+ const e = Number(t);
61
+ return Number.isFinite(e) ? e : t;
62
+ }, A = (t, e) => {
63
+ const r = e && Number.isFinite(Number(e)) ? Number(e) : e;
64
+ return rt(t ?? r);
65
+ }, nt = (t, e) => typeof t != "number" || !Number.isFinite(t) ? "white" : e(t), st = (t, e, r) => e ? typeof t == "string" || t == null || Number.isNaN(t) ? t : r != null && r.format ? r.format(Number(t)) : t : null, ot = (t, e) => {
66
+ const r = e - t;
67
+ return r === 0 ? 0.5 : ((t + e) / 2 - t) / r;
68
+ }, ct = ({
69
+ domainMin: t,
70
+ domainMax: e,
71
+ rawMin: r,
72
+ rawMax: o,
73
+ minColor: s,
74
+ midColor: l,
75
+ maxColor: a
76
+ }) => {
77
+ const p = ot(t, e), b = tt(s, l, a, p), d = Math.max(1e-6, t - r), h = Math.max(1e-6, o - e), x = e - t;
78
+ if (x === 0) {
79
+ const g = b(0.5);
80
+ return (F) => g;
81
+ }
82
+ return (g) => {
83
+ if (!Number.isFinite(g)) return b(0.5);
84
+ const F = (g - t) / x;
85
+ if (F <= 0) {
86
+ const m = Math.max(0, t - g) / d, i = I($(m)) * P;
87
+ return i > 0 ? M(s, J, i) : s;
88
+ }
89
+ if (F >= 1) {
90
+ const m = Math.max(0, g - e) / h, i = I($(m)) * P;
91
+ return i > 0 ? M(a, U, i) : a;
92
+ }
93
+ return b(F);
94
+ };
95
+ }, ut = ({
96
+ data: t,
97
+ showValues: e = !1,
98
+ className: r,
99
+ columnDimension: o,
100
+ rowDimension: s,
101
+ measure: l,
102
+ minThreshold: a,
103
+ maxThreshold: p,
104
+ minColor: b,
105
+ midColor: d = z("--em-tablechart-heatmap-color", "#FF5400"),
106
+ maxColor: h,
107
+ columnWidth: x,
108
+ firstColumnWidth: g,
109
+ displayNullAs: F
110
+ }) => {
111
+ const { rawMin: m, rawMax: i } = S(() => {
112
+ let n = 1 / 0, c = -1 / 0;
113
+ for (const y of t) {
114
+ const u = A(y[l.key], F);
115
+ u != null && typeof u == "number" && Number.isFinite(u) && (u < n && (n = u), u > c && (c = u));
116
+ }
117
+ return !Number.isFinite(n) || !Number.isFinite(c) ? { rawMin: 0, rawMax: 0 } : { rawMin: n, rawMax: c };
118
+ }, [t, l.key, F]), { domainMin: E, domainMax: L } = S(() => {
119
+ const n = V(a, m, i, m), c = V(p, m, i, i);
120
+ return n <= c ? { domainMin: n, domainMax: c } : { domainMin: c, domainMax: n };
121
+ }, [a, p, m, i]), O = S(
122
+ () => Array.from(
123
+ new Set(
124
+ t.map((n) => n[o.key]).filter((n) => n != null).map(C)
125
+ )
126
+ ),
127
+ [t, o.key]
128
+ ), G = S(
129
+ () => Array.from(
130
+ new Set(
131
+ t.map((n) => n[s.key]).filter((n) => n != null).map(C)
132
+ )
133
+ ),
134
+ [t, s.key]
135
+ ), K = S(() => {
136
+ const n = /* @__PURE__ */ new Map();
137
+ for (const c of t) {
138
+ const y = C(c[s.key]), u = C(c[o.key]);
139
+ n.has(y) || n.set(y, /* @__PURE__ */ new Map()), n.get(y).set(u, c);
140
+ }
141
+ return n;
142
+ }, [t, s.key, o.key]), X = Q(
143
+ (n) => ct({
144
+ domainMin: E,
145
+ domainMax: L,
146
+ rawMin: m,
147
+ rawMax: i,
148
+ minColor: b,
149
+ midColor: d,
150
+ maxColor: h
151
+ })(n),
152
+ [E, L, m, i, b, d, h]
153
+ );
154
+ return /* @__PURE__ */ f.jsx("div", { className: T(N.tableFullContainer, r), children: /* @__PURE__ */ f.jsx(
155
+ "div",
156
+ {
157
+ className: T(
158
+ N.tableAdjustedContainer,
159
+ (!x || !g) && N.fullWidth
160
+ ),
161
+ children: /* @__PURE__ */ f.jsxs("table", { className: N.table, "aria-label": "Heat map", children: [
162
+ /* @__PURE__ */ f.jsx("thead", { children: /* @__PURE__ */ f.jsxs("tr", { children: [
163
+ /* @__PURE__ */ f.jsx(
164
+ "th",
165
+ {
166
+ className: N.stickyFirstColumn,
167
+ style: k(g),
168
+ children: l.label
169
+ }
170
+ ),
171
+ O.map((n, c) => /* @__PURE__ */ f.jsx("th", { style: k(x), children: o.format ? o.format(n) : n }, `col-${n}-${c}`))
172
+ ] }) }),
173
+ /* @__PURE__ */ f.jsx("tbody", { children: G.map((n) => /* @__PURE__ */ f.jsxs("tr", { children: [
174
+ /* @__PURE__ */ f.jsx(
175
+ "th",
176
+ {
177
+ scope: "row",
178
+ className: N.stickyFirstColumn,
179
+ style: k(g),
180
+ children: s.format ? s.format(n) : n
181
+ }
182
+ ),
183
+ O.map((c) => {
184
+ var H;
185
+ const y = (H = K.get(n)) == null ? void 0 : H.get(c), u = A(y == null ? void 0 : y[l.key], F), _ = nt(u, X), q = v(_);
186
+ return /* @__PURE__ */ f.jsx(
187
+ "td",
188
+ {
189
+ style: {
190
+ background: _,
191
+ color: q,
192
+ textAlign: "center",
193
+ ...k(x)
194
+ },
195
+ children: st(u, e, l)
196
+ },
197
+ `cell-${n}-${c}`
198
+ );
199
+ })
200
+ ] }, `row-${n}`)) })
201
+ ] })
202
+ }
203
+ ) });
204
+ };
205
+ export {
206
+ ut as H
207
+ };
208
+ //# sourceMappingURL=HeatMap-BueWUQTI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeatMap-BueWUQTI.js","sources":["../src/remarkable-ui/components/charts/tables/HeatMap/HeatMap.utils.ts","../src/remarkable-ui/components/charts/tables/HeatMap/HeatMap.tsx"],"sourcesContent":["import { HeatMapPropsMeasure, HeatMapPropsThreshold } from './HeatMap.types';\n\n/* -------------------------------------------------------------------------- */\n/* Core math + tiny helpers */\n/* -------------------------------------------------------------------------- */\n\nconst clamp01 = (x: number) => (x < 0 ? 0 : x > 1 ? 1 : x);\nconst easeOutQuad = (x: number) => 1 - (1 - x) * (1 - x);\nconst lerp = (a: number, b: number, t: number) => a + (b - a) * t;\n\n/** Max darkening applied for values outside the domain (0..1). Lower = lighter tails. */\nconst OUTSIDE_DARKEN_MAX = 0.35;\n/** Darkest color to lerp toward when outside domain (kept as const for tree-shakeability). */\nconst LERP_DARKEST_COLOR = '#000000';\nconst LERP_LIGHTEST_COLOR = '#FFFFFF';\n\nexport const idOf = (v: unknown) => String(v ?? '');\n\n/* -------------------------------------------------------------------------- */\n/* Color parsing / conversion */\n/* - Resolves hex/rgb/hsl/named/var(...) to a hex string (#rrggbb) */\n/* - Memoized to avoid repeated DOM work */\n/* -------------------------------------------------------------------------- */\n\nconst CSS_RGB_REGEX = /rgba?\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)/i;\nconst COLOR_CACHE = new Map<string, string>();\n\n/** Normalizes short or long hex to lowercase #rrggbb; returns input if not hex. */\nconst normalizeHex = (hex: string) => {\n if (!hex || hex[0] !== '#') return hex;\n const v = hex.slice(1).toLowerCase();\n if (v.length === 3) return `#${v[0]}${v[0]}${v[1]}${v[1]}${v[2]}${v[2]}`;\n if (v.length === 6) return `#${v}`;\n return hex.toLowerCase();\n};\n\n/**\n * Resolves any CSS color (hex, rgb/rgba, hsl/hsla, named, var(--token)) into #rrggbb.\n * SSR-safe: returns input unchanged if `document` is not available.\n */\nconst resolveCssColorToHex = (input: string): string => {\n if (!input) return input;\n const cached = COLOR_CACHE.get(input);\n if (cached) return cached;\n\n // Quick-path for hex.\n if (input.startsWith('#')) {\n const hex = normalizeHex(input);\n COLOR_CACHE.set(input, hex);\n return hex;\n }\n\n if (typeof document === 'undefined') {\n // SSR: cannot resolve computed styles → return as-is (caller should accept).\n return input;\n }\n\n // Use the browser to compute final color (resolves var(...), named, hsl, etc.)\n const el = document.createElement('span');\n el.style.color = input;\n document.body.appendChild(el);\n const computed = getComputedStyle(el).color || '';\n el.remove();\n\n // Expect \"rgb(...)\" or \"rgba(...)\" now.\n const m = computed.match(CSS_RGB_REGEX);\n if (!m) return input;\n\n const [, r = '0', g = '0', b = '0'] = m;\n const toHex = (n: string) => Number(n).toString(16).padStart(2, '0');\n const hex = `#${toHex(r)}${toHex(g)}${toHex(b)}`.toLowerCase();\n COLOR_CACHE.set(input, hex);\n return hex;\n};\n\nconst hexToRgb = (color: string) => {\n const hex = normalizeHex(resolveCssColorToHex(color)).slice(1);\n // Guard against bad inputs\n if (hex.length !== 6) return { r: 0, g: 0, b: 0 };\n const i = parseInt(hex, 16);\n return { r: (i >> 16) & 255, g: (i >> 8) & 255, b: i & 255 };\n};\n\nconst rgbToHex = (r: number, g: number, b: number) => {\n const to = (x: number) => Math.round(x).toString(16).padStart(2, '0');\n return `#${to(r)}${to(g)}${to(b)}`;\n};\n\n/** Linear interpolation between two colors (0..1). */\nexport const lerpColor = (a: string, b: string, t: number) => {\n const A = hexToRgb(a);\n const B = hexToRgb(b);\n return rgbToHex(lerp(A.r, B.r, t), lerp(A.g, B.g, t), lerp(A.b, B.b, t));\n};\n\n/** YIQ perceived brightness, used to pick white/black text. */\nconst getBrightness = (color: string) => {\n const { r, g, b } = hexToRgb(color);\n return (r * 299 + g * 587 + b * 114) / 1000;\n};\n\n/** Returns '#FFFFFF' for dark backgrounds, '#212129' for light ones. */\nexport const getCellColor = (backgroundColor: string) => {\n return getBrightness(backgroundColor) < 150 ? '#FFFFFF' : '#212129';\n};\n\n/* -------------------------------------------------------------------------- */\n/* Scales / thresholds */\n/* -------------------------------------------------------------------------- */\n\n/** Creates a diverging scale: t∈[0..1] → color blended across [min→mid→max]. */\nconst makeDiverging = (minC: string, midC: string, maxC: string, midpoint = 0.5) => {\n const m = clamp01(midpoint);\n return (t: number) => {\n const x = clamp01(t);\n return x <= m\n ? lerpColor(minC, midC, m === 0 ? 1 : x / m)\n : lerpColor(midC, maxC, (x - m) / (1 - m));\n };\n};\n\n/** Parses \"NN%\" → 0..1; otherwise null. */\nconst parsePercentString = (s: string): number | null => {\n const t = s.trim();\n if (!t.endsWith('%')) return null;\n const n = Number.parseFloat(t.slice(0, -1));\n return Number.isFinite(n) ? clamp01(n / 100) : null;\n};\n\n/**\n * Converts a flexible threshold into a RAW domain value.\n * - number → raw value\n * - \"NN%\" → percentage of [rawMin..rawMax]\n * - undefined/invalid → fallback\n */\nexport const thresholdToRaw = (\n t: HeatMapPropsThreshold,\n rawMin: number,\n rawMax: number,\n fallback: number,\n): number => {\n if (t == null) return fallback;\n if (typeof t === 'number' && Number.isFinite(t)) return t;\n const asPct = typeof t === 'string' ? parsePercentString(t) : null;\n if (asPct != null) return rawMin + asPct * (rawMax - rawMin);\n\n // Last-chance: numeric string without %\n const maybe = Number(t as unknown as string);\n return Number.isFinite(maybe) ? maybe : fallback;\n};\n\n/* -------------------------------------------------------------------------- */\n/* Cell value helpers */\n/* -------------------------------------------------------------------------- */\n\nconst toFiniteOrSelf = (v: number | string | undefined): number | string | undefined => {\n if (v == null) return v;\n const n = Number(v);\n return Number.isFinite(n) ? n : v;\n};\n\n/**\n * Normalizes the raw cell value for display/compute:\n * - if nullish, uses `displayNullAs` (if numeric string, coerces to number)\n * - if numeric-like, returns as number\n * - otherwise returns original string\n */\nexport const getCellValue = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: any,\n displayNullAs: string | number | undefined,\n): string | number | undefined => {\n const fallback =\n displayNullAs && Number.isFinite(Number(displayNullAs)) ? Number(displayNullAs) : displayNullAs;\n return toFiniteOrSelf(value ?? fallback);\n};\n\n/** Returns the background color for a given cell value using a prepared mapper. */\nexport const getCellBackground = (\n value: number | string | undefined,\n colorForValue: (t: number) => string,\n): string => {\n if (typeof value !== 'number' || !Number.isFinite(value)) return 'white';\n return colorForValue(value);\n};\n\n/** Formats the cell’s display text (respects showValues & measure.format). */\nexport const getCellDisplayValue = (\n value: number | string | undefined,\n showValues: boolean,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n measure: HeatMapPropsMeasure<any>,\n) => {\n if (!showValues) return null;\n if (typeof value === 'string' || value == null || Number.isNaN(value as number)) return value;\n return measure?.format ? measure.format(Number(value)) : value;\n};\n\n/* -------------------------------------------------------------------------- */\n/* Color mapper factory */\n/* -------------------------------------------------------------------------- */\n\n/** Returns midpoint in [0..1] for the diverging scale given raw min/max. */\nconst getMidPoint = (domainMin: number, domainMax: number) => {\n const range = domainMax - domainMin;\n if (range === 0) return 0.5;\n return ((domainMin + domainMax) / 2 - domainMin) / range;\n};\n\n/**\n * Builds a fast `(value:number) => color` mapper.\n *\n * Behavior:\n * - Inside [domainMin..domainMax]: interpolate via diverging scale.\n * - Below domain: darken from `minColor` toward black, eased & capped.\n * - Above domain: darken from `maxColor` toward black, eased & capped.\n * - Degenerate domain: always returns mid color.\n */\nexport const createColorForValue = ({\n domainMin,\n domainMax,\n rawMin,\n rawMax,\n minColor,\n midColor,\n maxColor,\n}: {\n domainMin: number;\n domainMax: number;\n rawMin: number;\n rawMax: number;\n minColor: string;\n midColor: string;\n maxColor: string;\n}) => {\n const midPoint = getMidPoint(domainMin, domainMax);\n const scale = makeDiverging(minColor, midColor, maxColor, midPoint);\n\n const leftTailLen = Math.max(1e-6, domainMin - rawMin);\n const rightTailLen = Math.max(1e-6, rawMax - domainMax);\n const domRange = domainMax - domainMin;\n\n if (domRange === 0) {\n // Degenerate domain → fixed color\n const mid = scale(0.5);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n return (_v: number) => mid;\n }\n\n return (v: number) => {\n if (!Number.isFinite(v)) return scale(0.5);\n\n const t = (v - domainMin) / domRange;\n\n if (t <= 0) {\n const dist = Math.max(0, domainMin - v) / leftTailLen;\n const strength = easeOutQuad(clamp01(dist)) * OUTSIDE_DARKEN_MAX;\n return strength > 0 ? lerpColor(minColor, LERP_LIGHTEST_COLOR, strength) : minColor;\n }\n\n if (t >= 1) {\n const dist = Math.max(0, v - domainMax) / rightTailLen;\n const strength = easeOutQuad(clamp01(dist)) * OUTSIDE_DARKEN_MAX;\n return strength > 0 ? lerpColor(maxColor, LERP_DARKEST_COLOR, strength) : maxColor;\n }\n\n return scale(t);\n };\n};\n","import { useMemo, useCallback } from 'react';\nimport tableStyles from '../tables.module.css';\nimport clsx from 'clsx';\nimport { HeatMapProps } from './HeatMap.types';\nimport {\n createColorForValue,\n getCellBackground,\n getCellColor,\n getCellDisplayValue,\n getCellValue,\n idOf,\n thresholdToRaw,\n} from './HeatMap.utils';\nimport { getTableCellWidthStyle } from '../tables.utils';\nimport { getStyle } from '../../../../styles/styles.utils';\n\nexport const HeatMap = <T extends Record<string, unknown>>({\n data,\n showValues = false,\n className,\n columnDimension,\n rowDimension,\n measure,\n minThreshold,\n maxThreshold,\n minColor,\n midColor = getStyle('--em-tablechart-heatmap-color', '#FF5400'),\n maxColor,\n columnWidth,\n firstColumnWidth,\n displayNullAs,\n}: HeatMapProps<T>) => {\n // 1. Get raw min/max from data\n const { rawMin, rawMax } = useMemo(() => {\n let min = Infinity;\n let max = -Infinity;\n for (const d of data) {\n const value = getCellValue(d[measure.key], displayNullAs);\n\n if (value != null && typeof value === 'number' && Number.isFinite(value)) {\n if (value < min) min = value;\n if (value > max) max = value;\n }\n }\n if (!Number.isFinite(min) || !Number.isFinite(max)) return { rawMin: 0, rawMax: 0 };\n return { rawMin: min, rawMax: max };\n }, [data, measure.key, displayNullAs]);\n\n // 2. Resolve thresholds to a raw domain\n const { domainMin, domainMax } = useMemo(() => {\n const domMin = thresholdToRaw(minThreshold, rawMin, rawMax, rawMin);\n const domMax = thresholdToRaw(maxThreshold, rawMin, rawMax, rawMax);\n return domMin <= domMax\n ? { domainMin: domMin, domainMax: domMax }\n : { domainMin: domMax, domainMax: domMin };\n }, [minThreshold, maxThreshold, rawMin, rawMax]);\n\n const columnValues = useMemo(\n () =>\n Array.from(\n new Set(\n data\n .map((d) => d[columnDimension.key])\n .filter((v) => v != null)\n .map(idOf),\n ),\n ),\n [data, columnDimension.key],\n );\n\n const rowValues = useMemo(\n () =>\n Array.from(\n new Set(\n data\n .map((d) => d[rowDimension.key])\n .filter((v) => v != null)\n .map(idOf),\n ),\n ),\n [data, rowDimension.key],\n );\n\n // 3. Store data in a map for fast lookup\n const cellMap = useMemo(() => {\n const map = new Map<string, Map<string, Record<string, unknown>>>();\n for (const d of data) {\n const r = idOf(d[rowDimension.key]);\n const c = idOf(d[columnDimension.key]);\n if (!map.has(r)) map.set(r, new Map());\n map.get(r)!.set(c, d as Record<string, unknown>);\n }\n return map;\n }, [data, rowDimension.key, columnDimension.key]);\n\n // 4. Create color scale function\n const colorForValue = useCallback(\n (v: number) => {\n return createColorForValue({\n domainMin,\n domainMax,\n rawMin,\n rawMax,\n minColor,\n midColor,\n maxColor,\n })(v);\n },\n [domainMin, domainMax, rawMin, rawMax, minColor, midColor, maxColor],\n );\n\n return (\n <div className={clsx(tableStyles.tableFullContainer, className)}>\n <div\n className={clsx(\n tableStyles.tableAdjustedContainer,\n (!columnWidth || !firstColumnWidth) && tableStyles.fullWidth,\n )}\n >\n <table className={tableStyles.table} aria-label=\"Heat map\">\n <thead>\n <tr>\n <th\n className={tableStyles.stickyFirstColumn}\n style={getTableCellWidthStyle(firstColumnWidth)}\n >\n {measure.label}\n </th>\n {columnValues.map((cv, index) => (\n <th key={`col-${cv}-${index}`} style={getTableCellWidthStyle(columnWidth)}>\n {columnDimension.format ? columnDimension.format(cv) : cv}\n </th>\n ))}\n </tr>\n </thead>\n\n <tbody>\n {rowValues.map((rv) => (\n <tr key={`row-${rv}`}>\n <th\n scope=\"row\"\n className={tableStyles.stickyFirstColumn}\n style={getTableCellWidthStyle(firstColumnWidth)}\n >\n {rowDimension.format ? rowDimension.format(rv) : rv}\n </th>\n\n {columnValues.map((cv) => {\n const obj = cellMap.get(rv)?.get(cv);\n const value = getCellValue(obj?.[measure.key], displayNullAs);\n const background = getCellBackground(value, colorForValue);\n const color = getCellColor(background);\n\n return (\n <td\n key={`cell-${rv}-${cv}`}\n style={{\n background,\n color,\n textAlign: 'center',\n ...getTableCellWidthStyle(columnWidth),\n }}\n >\n {getCellDisplayValue(value, showValues, measure)}\n </td>\n );\n })}\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n"],"names":["clamp01","x","easeOutQuad","lerp","a","b","t","OUTSIDE_DARKEN_MAX","LERP_DARKEST_COLOR","LERP_LIGHTEST_COLOR","idOf","v","CSS_RGB_REGEX","COLOR_CACHE","normalizeHex","hex","resolveCssColorToHex","input","cached","el","computed","m","r","g","toHex","n","hexToRgb","color","i","rgbToHex","to","lerpColor","A","B","getBrightness","getCellColor","backgroundColor","makeDiverging","minC","midC","maxC","midpoint","parsePercentString","s","thresholdToRaw","rawMin","rawMax","fallback","asPct","maybe","toFiniteOrSelf","getCellValue","value","displayNullAs","getCellBackground","colorForValue","getCellDisplayValue","showValues","measure","getMidPoint","domainMin","domainMax","range","createColorForValue","minColor","midColor","maxColor","midPoint","scale","leftTailLen","rightTailLen","domRange","mid","_v","dist","strength","HeatMap","data","className","columnDimension","rowDimension","minThreshold","maxThreshold","getStyle","columnWidth","firstColumnWidth","useMemo","min","max","d","domMin","domMax","columnValues","rowValues","cellMap","map","c","useCallback","clsx","tableStyles","jsx","getTableCellWidthStyle","cv","index","rv","obj","_a","background"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { i as v, r as F, j as u, d as S, w as A, b as d, t as j, c as N, R as i, S as l, I as P, J as c, A as q, o as E } from "./component.constants-DCOqCFoY.js";
1
+ import { i as v, r as F, j as u, d as S, w as A, b as d, t as j, c as N, R as i, S as l, I as P, J as c, A as q, o as E } from "./component.constants-CYS5-3qd.js";
2
2
  import { useTheme as k, defineComponent as B } from "@embeddable.com/react";
3
- import { C as G } from "./ChartCard-D-0O5ugW.js";
3
+ import { C as G } from "./ChartCard-CyemTSay.js";
4
4
  import "react";
5
- import { H as I } from "./HeatMap-By9_uzV_.js";
6
- import { g as C } from "./formatter.utils-B80iNq9Q.js";
5
+ import { H as I } from "./HeatMap-BueWUQTI.js";
6
+ import { g as C } from "./formatter.utils-CaFr8SlX.js";
7
7
  import { u as h } from "./charts.fillGaps.hooks-5WclK2CD.js";
8
8
  const O = (e, a) => {
9
9
  const n = C(a);
@@ -0,0 +1,105 @@
1
+ import { a0 as y, j as n, a2 as j } from "./component.constants-CYS5-3qd.js";
2
+ import { useRef as b, useState as S, useEffect as w } from "react";
3
+ /**
4
+ * @license @tabler/icons-react v3.35.0 - MIT
5
+ *
6
+ * This source code is licensed under the MIT license.
7
+ * See the LICENSE file in the root directory of this source tree.
8
+ */
9
+ const M = [["path", { d: "M3 7l6 6l4 -4l8 8", key: "svg-0" }], ["path", { d: "M21 10l0 7l-7 0", key: "svg-1" }]], R = y("outline", "trending-down", "TrendingDown", M);
10
+ /**
11
+ * @license @tabler/icons-react v3.35.0 - MIT
12
+ *
13
+ * This source code is licensed under the MIT license.
14
+ * See the LICENSE file in the root directory of this source tree.
15
+ */
16
+ const $ = [["path", { d: "M3 17l6 -6l4 4l8 -8", key: "svg-0" }], ["path", { d: "M14 7l7 0l0 7", key: "svg-1" }]], B = y("outline", "trending-up", "TrendingUp", $), L = "_kpiChartContainer_r3g69_1", T = "_kpiChartCenter_r3g69_9", I = "_kpiComparisonContainer_r3g69_26", x = {
17
+ kpiChartContainer: L,
18
+ kpiChartCenter: T,
19
+ kpiComparisonContainer: I
20
+ }, K = "_kpiChartChangeContainer_c9xhz_1", D = "_kpiChangeBadge_c9xhz_10", E = "_positive_c9xhz_33", U = "_negative_c9xhz_38", q = "_kpiComparisonLabel_c9xhz_43", s = {
21
+ kpiChartChangeContainer: K,
22
+ kpiChangeBadge: D,
23
+ positive: E,
24
+ negative: U,
25
+ kpiComparisonLabel: q
26
+ }, H = (e, t) => e ? t ? s.negative : s.positive : t ? s.positive : s.negative, O = ({
27
+ value: e,
28
+ comparisonValue: t = 0,
29
+ showChangeAsPercentage: c,
30
+ invertChangeColors: p = !1,
31
+ comparisonLabel: C,
32
+ valueFormatter: h,
33
+ percentageDecimalPlaces: l = 1,
34
+ equalComparisonLabel: k,
35
+ className: _
36
+ }) => {
37
+ const o = t === e, i = e - t, a = i > 0;
38
+ let r;
39
+ c ? r = `${(t === 0 ? 0 : i / t * 100).toFixed(l)}%` : r = h ? h(i) : i.toString();
40
+ const f = `${a ? "+" : ""}${r}`, d = a ? B : R;
41
+ return /* @__PURE__ */ n.jsxs("div", { className: j(_, s.kpiChartChangeContainer), children: [
42
+ !o && /* @__PURE__ */ n.jsxs(
43
+ "span",
44
+ {
45
+ className: j(s.kpiChangeBadge, H(a, p)),
46
+ children: [
47
+ /* @__PURE__ */ n.jsx(d, {}),
48
+ /* @__PURE__ */ n.jsx("span", { children: f })
49
+ ]
50
+ }
51
+ ),
52
+ /* @__PURE__ */ n.jsx("span", { className: s.kpiComparisonLabel, children: o ? k ?? C : C })
53
+ ] });
54
+ }, A = ({
55
+ value: e,
56
+ valueFontSize: t,
57
+ changeFontSize: c,
58
+ comparisonValue: p,
59
+ comparisonLabel: C,
60
+ invertChangeColors: h,
61
+ showChangeAsPercentage: l,
62
+ percentageDecimalPlaces: k = 1,
63
+ equalComparisonLabel: _ = "No change",
64
+ valueFormatter: o
65
+ }) => {
66
+ const i = b(null), [a, r] = S(20);
67
+ w(() => {
68
+ const g = i.current, v = () => {
69
+ const z = g.offsetWidth, N = g.offsetHeight, u = Math.min(z, N) * 0.3;
70
+ r(u);
71
+ }, m = new ResizeObserver(v);
72
+ return m.observe(g), v(), () => m.disconnect();
73
+ }, []);
74
+ const f = p !== void 0, d = e === void 0 ? "" : o ? o(e) : e;
75
+ return /* @__PURE__ */ n.jsx("div", { className: x.kpiChartContainer, ref: i, children: /* @__PURE__ */ n.jsxs("div", { className: x.kpiChartCenter, children: [
76
+ /* @__PURE__ */ n.jsx(
77
+ "h2",
78
+ {
79
+ title: d.toString(),
80
+ style: {
81
+ fontSize: t ?? a
82
+ },
83
+ children: d
84
+ }
85
+ ),
86
+ /* @__PURE__ */ n.jsx("div", { className: x.kpiComparisonContainer, style: { fontSize: c }, children: f && /* @__PURE__ */ n.jsx(
87
+ O,
88
+ {
89
+ equalComparisonLabel: _,
90
+ changeFontSize: c,
91
+ comparisonLabel: C,
92
+ comparisonValue: p,
93
+ invertChangeColors: h,
94
+ percentageDecimalPlaces: k,
95
+ showChangeAsPercentage: l,
96
+ value: e,
97
+ valueFormatter: o
98
+ }
99
+ ) })
100
+ ] }) });
101
+ };
102
+ export {
103
+ A as K
104
+ };
105
+ //# sourceMappingURL=KpiChart-BxmGCIn5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KpiChart-BxmGCIn5.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconTrendingDown.mjs","../node_modules/@tabler/icons-react/dist/esm/icons/IconTrendingUp.mjs","../src/remarkable-ui/components/charts/kpis/components/KpiChartChange.tsx","../src/remarkable-ui/components/charts/kpis/KpiChart.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.35.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M3 7l6 6l4 -4l8 8\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M21 10l0 7l-7 0\", \"key\": \"svg-1\" }]];\nconst IconTrendingDown = createReactComponent(\"outline\", \"trending-down\", \"TrendingDown\", __iconNode);\n\nexport { __iconNode, IconTrendingDown as default };\n//# sourceMappingURL=IconTrendingDown.mjs.map\n","/**\n * @license @tabler/icons-react v3.35.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M3 17l6 -6l4 4l8 -8\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M14 7l7 0l0 7\", \"key\": \"svg-1\" }]];\nconst IconTrendingUp = createReactComponent(\"outline\", \"trending-up\", \"TrendingUp\", __iconNode);\n\nexport { __iconNode, IconTrendingUp as default };\n//# sourceMappingURL=IconTrendingUp.mjs.map\n","import { FC } from 'react';\nimport styles from './KpiChartChange.module.css';\nimport clsx from 'clsx';\nimport { IconTrendingDown, IconTrendingUp } from '@tabler/icons-react';\nimport { KpiChartProps } from '../KpiChart.types';\n\nconst getChangeClass = (isPositive: boolean, invertChangeColors: boolean) => {\n if (isPositive) return invertChangeColors ? styles.negative : styles.positive;\n return invertChangeColors ? styles.positive : styles.negative;\n};\n\ntype KpiChartChangeProps = KpiChartProps & { className?: string };\n\nexport const KpiChartChange: FC<KpiChartChangeProps> = ({\n value,\n comparisonValue = 0,\n showChangeAsPercentage,\n invertChangeColors = false,\n comparisonLabel,\n valueFormatter,\n percentageDecimalPlaces = 1,\n equalComparisonLabel,\n className,\n}) => {\n const equalComparison = comparisonValue === value;\n\n const difference = value - comparisonValue;\n const isPositive = difference > 0;\n\n let differenceLabel: string;\n\n if (showChangeAsPercentage) {\n const percentage = comparisonValue === 0 ? 0 : (difference / comparisonValue) * 100;\n differenceLabel = `${percentage.toFixed(percentageDecimalPlaces)}%`;\n } else {\n differenceLabel = valueFormatter ? valueFormatter(difference) : difference.toString();\n }\n\n const displayValue = `${isPositive ? '+' : ''}${differenceLabel}`;\n\n const Icon = isPositive ? IconTrendingUp : IconTrendingDown;\n\n return (\n <div className={clsx(className, styles.kpiChartChangeContainer)}>\n {!equalComparison && (\n <span\n className={clsx(styles.kpiChangeBadge, getChangeClass(isPositive, invertChangeColors))}\n >\n <Icon />\n <span>{displayValue}</span>\n </span>\n )}\n\n <span className={styles.kpiComparisonLabel}>\n {equalComparison ? (equalComparisonLabel ?? comparisonLabel) : comparisonLabel}\n </span>\n </div>\n );\n};\n","import { FC, useEffect, useRef, useState } from 'react';\nimport styles from './KpiChart.module.css';\nimport { KpiChartChange } from './components/KpiChartChange';\nimport { KpiChartProps } from './KpiChart.types';\n\nexport const KpiChart: FC<KpiChartProps> = ({\n value,\n valueFontSize,\n changeFontSize,\n comparisonValue,\n comparisonLabel,\n invertChangeColors,\n showChangeAsPercentage,\n percentageDecimalPlaces = 1,\n equalComparisonLabel = 'No change',\n valueFormatter,\n}) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [fontSize, setFontSize] = useState(20);\n\n useEffect(() => {\n const container = containerRef.current!;\n\n const updateFont = () => {\n const w = container.offsetWidth;\n const h = container.offsetHeight;\n\n // proportional to the smaller dimension\n const newSize = Math.min(w, h) * 0.3; // 40% of the smaller dimension\n setFontSize(newSize);\n };\n\n const observer = new ResizeObserver(updateFont);\n observer.observe(container);\n\n updateFont(); // initial run\n\n return () => observer.disconnect();\n }, []);\n\n const hasComparisonValue = comparisonValue !== undefined;\n\n const displayValue = value === undefined ? '' : valueFormatter ? valueFormatter(value) : value;\n\n return (\n <div className={styles.kpiChartContainer} ref={containerRef}>\n <div className={styles.kpiChartCenter}>\n <h2\n title={displayValue.toString()}\n style={{\n fontSize: valueFontSize ?? fontSize,\n }}\n >\n {displayValue}\n </h2>\n <div className={styles.kpiComparisonContainer} style={{ fontSize: changeFontSize }}>\n {hasComparisonValue && (\n <KpiChartChange\n equalComparisonLabel={equalComparisonLabel}\n changeFontSize={changeFontSize}\n comparisonLabel={comparisonLabel}\n comparisonValue={comparisonValue}\n invertChangeColors={invertChangeColors}\n percentageDecimalPlaces={percentageDecimalPlaces}\n showChangeAsPercentage={showChangeAsPercentage}\n value={value}\n valueFormatter={valueFormatter}\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n"],"names":["__iconNode","IconTrendingDown","createReactComponent","IconTrendingUp","getChangeClass","isPositive","invertChangeColors","styles","KpiChartChange","value","comparisonValue","showChangeAsPercentage","comparisonLabel","valueFormatter","percentageDecimalPlaces","equalComparisonLabel","className","equalComparison","difference","differenceLabel","displayValue","Icon","clsx","jsxs","jsx","KpiChart","valueFontSize","changeFontSize","containerRef","useRef","fontSize","setFontSize","useState","useEffect","container","updateFont","w","h","newSize","observer","hasComparisonValue"],"mappings":";;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,qBAAqB,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,mBAAmB,KAAO,QAAO,CAAE,CAAC,GAC1HC,IAAmBC,EAAqB,WAAW,iBAAiB,gBAAgBF,CAAU;ACVpG;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,uBAAuB,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,iBAAiB,KAAO,QAAO,CAAE,CAAC,GAC1HG,IAAiBD,EAAqB,WAAW,eAAe,cAAcF,CAAU;;;;;;;;;;GCJxFI,IAAiB,CAACC,GAAqBC,MACvCD,IAAmBC,IAAqBC,EAAO,WAAWA,EAAO,WAC9DD,IAAqBC,EAAO,WAAWA,EAAO,UAK1CC,IAA0C,CAAC;AAAA,EACtD,OAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,wBAAAC;AAAA,EACA,oBAAAL,IAAqB;AAAA,EACrB,iBAAAM;AAAA,EACA,gBAAAC;AAAA,EACA,yBAAAC,IAA0B;AAAA,EAC1B,sBAAAC;AAAA,EACA,WAAAC;AACF,MAAM;AACJ,QAAMC,IAAkBP,MAAoBD,GAEtCS,IAAaT,IAAQC,GACrBL,IAAaa,IAAa;AAEhC,MAAIC;AAEJ,EAAIR,IAEFQ,IAAkB,IADCT,MAAoB,IAAI,IAAKQ,IAAaR,IAAmB,KAChD,QAAQI,CAAuB,CAAC,MAEhEK,IAAkBN,IAAiBA,EAAeK,CAAU,IAAIA,EAAW,SAAA;AAG7E,QAAME,IAAe,GAAGf,IAAa,MAAM,EAAE,GAAGc,CAAe,IAEzDE,IAAOhB,IAAaF,IAAiBF;AAE3C,gCACG,OAAA,EAAI,WAAWqB,EAAKN,GAAWT,EAAO,uBAAuB,GAC3D,UAAA;AAAA,IAAA,CAACU,KACAM,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWD,EAAKf,EAAO,gBAAgBH,EAAeC,GAAYC,CAAkB,CAAC;AAAA,QAErF,UAAA;AAAA,UAAAkB,gBAAAA,EAAAA,IAACH,GAAA,EAAK;AAAA,UACNG,gBAAAA,EAAAA,IAAC,UAAM,UAAAJ,EAAA,CAAa;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAIxBI,gBAAAA,EAAAA,IAAC,UAAK,WAAWjB,EAAO,oBACrB,UAAAU,IAAmBF,KAAwBH,IAAmBA,EAAA,CACjE;AAAA,EAAA,GACF;AAEJ,GCrDaa,IAA8B,CAAC;AAAA,EAC1C,OAAAhB;AAAA,EACA,eAAAiB;AAAA,EACA,gBAAAC;AAAA,EACA,iBAAAjB;AAAA,EACA,iBAAAE;AAAA,EACA,oBAAAN;AAAA,EACA,wBAAAK;AAAA,EACA,yBAAAG,IAA0B;AAAA,EAC1B,sBAAAC,IAAuB;AAAA,EACvB,gBAAAF;AACF,MAAM;AACJ,QAAMe,IAAeC,EAAuB,IAAI,GAC1C,CAACC,GAAUC,CAAW,IAAIC,EAAS,EAAE;AAE3C,EAAAC,EAAU,MAAM;AACd,UAAMC,IAAYN,EAAa,SAEzBO,IAAa,MAAM;AACvB,YAAMC,IAAIF,EAAU,aACdG,IAAIH,EAAU,cAGdI,IAAU,KAAK,IAAIF,GAAGC,CAAC,IAAI;AACjC,MAAAN,EAAYO,CAAO;AAAA,IACrB,GAEMC,IAAW,IAAI,eAAeJ,CAAU;AAC9C,WAAAI,EAAS,QAAQL,CAAS,GAE1BC,EAAA,GAEO,MAAMI,EAAS,WAAA;AAAA,EACxB,GAAG,CAAA,CAAE;AAEL,QAAMC,IAAqB9B,MAAoB,QAEzCU,IAAeX,MAAU,SAAY,KAAKI,IAAiBA,EAAeJ,CAAK,IAAIA;AAEzF,SACEe,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAWjB,EAAO,mBAAmB,KAAKqB,GAC7C,UAAAL,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAWhB,EAAO,gBACrB,UAAA;AAAA,IAAAiB,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAOJ,EAAa,SAAA;AAAA,QACpB,OAAO;AAAA,UACL,UAAUM,KAAiBI;AAAA,QAAA;AAAA,QAG5B,UAAAV;AAAA,MAAA;AAAA,IAAA;AAAA,IAEHI,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAWjB,EAAO,wBAAwB,OAAO,EAAE,UAAUoB,EAAA,GAC/D,UAAAa,KACChB,gBAAAA,EAAAA;AAAAA,MAAChB;AAAA,MAAA;AAAA,QACC,sBAAAO;AAAA,QACA,gBAAAY;AAAA,QACA,iBAAAf;AAAA,QACA,iBAAAF;AAAA,QACA,oBAAAJ;AAAA,QACA,yBAAAQ;AAAA,QACA,wBAAAH;AAAA,QACA,OAAAF;AAAA,QACA,gBAAAI;AAAA,MAAA;AAAA,IAAA,EACF,CAEJ;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;","x_google_ignoreList":[0,1]}
@@ -1,16 +1,16 @@
1
1
  import { useTheme as j, defineComponent as w } from "@embeddable.com/react";
2
- import { i as A, r as q, F as l, j as y, d as B, w as E, G as I, H as J, t as M, c as Y, I as b, J as c, o as v } from "./component.constants-DCOqCFoY.js";
3
- import { C as G } from "./ChartCard-D-0O5ugW.js";
2
+ import { i as A, r as B, F as l, j as f, d as E, w as I, G as J, H as M, t as Y, c as q, I as v, J as c, o as u } from "./component.constants-CYS5-3qd.js";
3
+ import { C as G } from "./ChartCard-CyemTSay.js";
4
4
  import { useEffect as H } from "react";
5
- import { K as O } from "./KpiChart-CS9s8nJ4.js";
6
- import { g as $ } from "./formatter.utils-B80iNq9Q.js";
7
- import { g as k, a as Q } from "./timeRange.utils-u1NZ0u7o.js";
8
- import { C as U } from "./ComparisonPeriod.type.emb-CYp3nw-9.js";
5
+ import { K as O } from "./KpiChart-BxmGCIn5.js";
6
+ import { g as $ } from "./formatter.utils-CaFr8SlX.js";
7
+ import { g as k, a as Q } from "./timeRange.utils-CplLUFvd.js";
8
+ import { C as U } from "./ComparisonPeriod.type.emb-i3iGuRJI.js";
9
9
  const W = (e) => {
10
- var d, C, P, h, u, f;
10
+ var d, C, P, h, y, b;
11
11
  const a = j();
12
12
  A(a);
13
- const { title: i, description: n } = q(e), {
13
+ const { title: i, description: n } = B(e), {
14
14
  changeFontSize: D,
15
15
  comparisonPeriod: s,
16
16
  comparisonDateRange: R,
@@ -35,11 +35,11 @@ const W = (e) => {
35
35
  const L = (C = (d = r.data) == null ? void 0 : d[0]) == null ? void 0 : C[t.name], T = R ? (h = (P = o == null ? void 0 : o.data) == null ? void 0 : P[0]) == null ? void 0 : h[t.name] : void 0, V = $(a), x = (m) => V.data(t, m), _ = `vs ${Q(s, a).toLowerCase()}`, g = {
36
36
  isLoading: !!(r.isLoading || o != null && o.isLoading),
37
37
  data: !(r != null && r.data) && !(o != null && o.data) ? void 0 : [
38
- ...(u = r.data) != null && u.length ? [{ label: l.t("charts.primaryPeriod"), ...r.data[0] }] : [],
39
- ...(f = o == null ? void 0 : o.data) != null && f.length ? [{ label: l.t("charts.comparisonPeriod"), ...o.data[0] }] : []
38
+ ...(y = r.data) != null && y.length ? [{ label: l.t("charts.primaryPeriod"), ...r.data[0] }] : [],
39
+ ...(b = o == null ? void 0 : o.data) != null && b.length ? [{ label: l.t("charts.comparisonPeriod"), ...o.data[0] }] : []
40
40
  ]
41
41
  };
42
- return /* @__PURE__ */ y.jsx(
42
+ return /* @__PURE__ */ f.jsx(
43
43
  G,
44
44
  {
45
45
  data: g,
@@ -56,7 +56,7 @@ const W = (e) => {
56
56
  errorMessage: r.error,
57
57
  subtitle: n,
58
58
  title: i,
59
- children: /* @__PURE__ */ y.jsx(
59
+ children: /* @__PURE__ */ f.jsx(
60
60
  O,
61
61
  {
62
62
  value: L,
@@ -77,11 +77,11 @@ const W = (e) => {
77
77
  label: "Kpi Chart - Number Comparison",
78
78
  category: "Kpi Charts",
79
79
  inputs: [
80
- B,
81
80
  E,
82
- { ...I, name: "timeProperty", label: "Time Property" },
81
+ I,
82
+ { ...J, name: "timeProperty", label: "Time Property" },
83
83
  {
84
- ...J,
84
+ ...M,
85
85
  name: "primaryDateRange",
86
86
  label: "Primary Date Range",
87
87
  description: "You can also connect this to a date range selector using its variable",
@@ -94,10 +94,10 @@ const W = (e) => {
94
94
  description: "You can also connect this to a comparison period selector using its variable",
95
95
  category: "Component Data"
96
96
  },
97
- M,
98
97
  Y,
98
+ q,
99
99
  {
100
- ...b,
100
+ ...v,
101
101
  name: "displayChangeAsPercentage",
102
102
  label: "Display Change as %",
103
103
  defaultValue: !1
@@ -109,12 +109,12 @@ const W = (e) => {
109
109
  defaultValue: 1
110
110
  },
111
111
  {
112
- ...b,
112
+ ...v,
113
113
  name: "reversePositiveNegativeColors",
114
114
  label: "Reverse Positive/Negative Colors",
115
115
  defaultValue: !1
116
116
  },
117
- { ...c, name: "fontSize", label: "Font Size", defaultValue: 44, required: !0 },
117
+ { ...c, name: "fontSize", label: "Font Size" },
118
118
  {
119
119
  ...c,
120
120
  name: "changeFontSize",
@@ -129,7 +129,7 @@ const W = (e) => {
129
129
  ...e,
130
130
  comparisonDateRange: a == null ? void 0 : a.comparisonDateRange,
131
131
  setComparisonDateRange: (n) => i({ comparisonDateRange: n }),
132
- results: v({
132
+ results: u({
133
133
  from: e.dataset,
134
134
  select: [e.measure],
135
135
  limit: 1,
@@ -141,7 +141,7 @@ const W = (e) => {
141
141
  }
142
142
  ] : void 0
143
143
  }),
144
- resultsComparison: e.primaryDateRange && e.timeProperty && (a != null && a.comparisonDateRange) ? v({
144
+ resultsComparison: e.primaryDateRange && e.timeProperty && (a != null && a.comparisonDateRange) ? u({
145
145
  from: e.dataset,
146
146
  select: [e.measure],
147
147
  limit: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"KpiChartNumberComparisonPro.js","sources":["../src/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/index.tsx","../src/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/KpiChartNumberComparisonPro.emb.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure, TimeRange } from '@embeddable.com/core';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '../../../../../remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useEffect } from 'react';\nimport {\n getComparisonPeriodDateRange,\n getComparisonPeriodLabel,\n} from '../../../utils/timeRange.utils';\n\ntype KpiChartNumberComparisonProProp = {\n changeFontSize: number;\n comparisonPeriod?: string;\n description: string;\n displayChangeAsPercentage?: boolean;\n fontSize: number;\n measure: Measure;\n primaryDateRange: TimeRange;\n results: DataResponse;\n resultsComparison: DataResponse | undefined;\n reversePositiveNegativeColors?: boolean;\n title: string;\n percentageDecimalPlaces: number;\n comparisonDateRange: TimeRange;\n setComparisonDateRange: (dateRange: TimeRange) => void;\n};\n\nconst KpiChartNumberComparisonPro = (props: KpiChartNumberComparisonProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description } = resolveI18nProps(props);\n const {\n changeFontSize,\n comparisonPeriod,\n comparisonDateRange,\n displayChangeAsPercentage,\n fontSize,\n measure,\n primaryDateRange,\n results,\n resultsComparison,\n reversePositiveNegativeColors,\n percentageDecimalPlaces,\n setComparisonDateRange,\n } = props;\n\n useEffect(() => {\n const newComparisonDateRange = getComparisonPeriodDateRange(\n primaryDateRange,\n comparisonPeriod,\n theme,\n );\n setComparisonDateRange(newComparisonDateRange);\n }, [comparisonPeriod, JSON.stringify(primaryDateRange), theme]);\n\n const value: number = results.data?.[0]?.[measure.name];\n const comparisonValue = comparisonDateRange\n ? resultsComparison?.data?.[0]?.[measure.name]\n : undefined;\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n const comparisonLabel = `vs ${getComparisonPeriodLabel(comparisonPeriod, theme).toLowerCase()}`;\n\n const resultsCombined: DataResponse = {\n isLoading: Boolean(results.isLoading || resultsComparison?.isLoading),\n data:\n !results?.data && !resultsComparison?.data\n ? undefined\n : [\n ...(results.data?.length\n ? [{ label: i18n.t('charts.primaryPeriod'), ...results.data[0] }]\n : []),\n ...(resultsComparison?.data?.length\n ? [{ label: i18n.t('charts.comparisonPeriod'), ...resultsComparison.data[0] }]\n : []),\n ],\n };\n\n return (\n <ChartCard\n data={resultsCombined}\n dimensionsAndMeasures={[\n // Add a label dimension to distinguish primary and comparison periods in exports\n {\n name: 'label',\n title: i18n.t('charts.label'),\n nativeType: 'string',\n __type__: 'dimension',\n },\n measure,\n ]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <KpiChart\n value={value}\n comparisonValue={resultsCombined.isLoading ? undefined : comparisonValue}\n valueFormatter={valueFormatter}\n valueFontSize={fontSize}\n changeFontSize={changeFontSize}\n invertChangeColors={reversePositiveNegativeColors}\n showChangeAsPercentage={displayChangeAsPercentage}\n comparisonLabel={comparisonLabel}\n percentageDecimalPlaces={percentageDecimalPlaces}\n />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberComparisonPro;\n","import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport {\n dataset,\n description,\n dimensionTime,\n genericBoolean,\n genericNumber,\n genericTimeRange,\n measure,\n title,\n} from '../../../component.constants';\nimport KpiChartNumberComparisonPro from './index';\nimport { loadData, TimeRange } from '@embeddable.com/core';\nimport ComparisonPeriodType from '../../../types/ComparisonPeriod.type.emb';\n\nexport const meta = {\n name: 'KpiChartNumberComparisonPro',\n label: 'Kpi Chart - Number Comparison',\n category: 'Kpi Charts',\n inputs: [\n dataset,\n measure,\n { ...dimensionTime, name: 'timeProperty', label: 'Time Property' },\n {\n ...genericTimeRange,\n name: 'primaryDateRange',\n label: 'Primary Date Range',\n description: 'You can also connect this to a date range selector using its variable',\n category: 'Component Data',\n },\n {\n name: 'comparisonPeriod',\n type: ComparisonPeriodType,\n label: 'Comparison Period',\n description: 'You can also connect this to a comparison period selector using its variable',\n category: 'Component Data',\n },\n title,\n description,\n {\n ...genericBoolean,\n name: 'displayChangeAsPercentage',\n label: 'Display Change as %',\n defaultValue: false,\n },\n {\n ...genericNumber,\n name: 'percentageDecimalPlaces',\n label: 'Percentage Decimal Places',\n defaultValue: 1,\n },\n {\n ...genericBoolean,\n name: 'reversePositiveNegativeColors',\n label: 'Reverse Positive/Negative Colors',\n defaultValue: false,\n },\n { ...genericNumber, name: 'fontSize', label: 'Font Size', defaultValue: 44, required: true },\n {\n ...genericNumber,\n name: 'changeFontSize',\n label: 'Change Font Size',\n defaultValue: 16,\n required: true,\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\ntype KpiChartNumberComparisonProState = {\n comparisonDateRange: TimeRange;\n};\n\nexport default defineComponent(KpiChartNumberComparisonPro, meta, {\n /* @ts-expect-error - to be fixed in @embeddable.com/react */\n props: (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n KpiChartNumberComparisonProState,\n (state: KpiChartNumberComparisonProState) => void,\n ],\n ) => {\n return {\n ...inputs,\n comparisonDateRange: state?.comparisonDateRange,\n setComparisonDateRange: (comparisonDateRange: TimeRange) => setState({ comparisonDateRange }),\n results: loadData({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n filters:\n inputs.primaryDateRange && inputs.timeProperty\n ? [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: inputs.primaryDateRange,\n },\n ]\n : undefined,\n }),\n resultsComparison:\n inputs.primaryDateRange && inputs.timeProperty && state?.comparisonDateRange\n ? loadData({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n filters: [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: state.comparisonDateRange,\n },\n ],\n })\n : undefined,\n };\n },\n});\n"],"names":["KpiChartNumberComparisonPro","props","theme","useTheme","i18nSetup","title","description","resolveI18nProps","changeFontSize","comparisonPeriod","comparisonDateRange","displayChangeAsPercentage","fontSize","measure","primaryDateRange","results","resultsComparison","reversePositiveNegativeColors","percentageDecimalPlaces","setComparisonDateRange","useEffect","newComparisonDateRange","getComparisonPeriodDateRange","value","_b","_a","comparisonValue","_d","_c","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","comparisonLabel","getComparisonPeriodLabel","resultsCombined","_e","i18n","_f","jsx","ChartCard","KpiChart","meta","dataset","dimensionTime","genericTimeRange","ComparisonPeriodType","genericBoolean","genericNumber","KpiChartNumberComparisonPro_emb","defineComponent","inputs","state","setState","loadData"],"mappings":"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"}
1
+ {"version":3,"file":"KpiChartNumberComparisonPro.js","sources":["../src/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/index.tsx","../src/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/KpiChartNumberComparisonPro.emb.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure, TimeRange } from '@embeddable.com/core';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '../../../../../remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useEffect } from 'react';\nimport {\n getComparisonPeriodDateRange,\n getComparisonPeriodLabel,\n} from '../../../utils/timeRange.utils';\n\ntype KpiChartNumberComparisonProProp = {\n changeFontSize: number;\n comparisonPeriod?: string;\n description: string;\n displayChangeAsPercentage?: boolean;\n fontSize: number;\n measure: Measure;\n primaryDateRange: TimeRange;\n results: DataResponse;\n resultsComparison: DataResponse | undefined;\n reversePositiveNegativeColors?: boolean;\n title: string;\n percentageDecimalPlaces: number;\n comparisonDateRange: TimeRange;\n setComparisonDateRange: (dateRange: TimeRange) => void;\n};\n\nconst KpiChartNumberComparisonPro = (props: KpiChartNumberComparisonProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description } = resolveI18nProps(props);\n const {\n changeFontSize,\n comparisonPeriod,\n comparisonDateRange,\n displayChangeAsPercentage,\n fontSize,\n measure,\n primaryDateRange,\n results,\n resultsComparison,\n reversePositiveNegativeColors,\n percentageDecimalPlaces,\n setComparisonDateRange,\n } = props;\n\n useEffect(() => {\n const newComparisonDateRange = getComparisonPeriodDateRange(\n primaryDateRange,\n comparisonPeriod,\n theme,\n );\n setComparisonDateRange(newComparisonDateRange);\n }, [comparisonPeriod, JSON.stringify(primaryDateRange), theme]);\n\n const value: number = results.data?.[0]?.[measure.name];\n const comparisonValue = comparisonDateRange\n ? resultsComparison?.data?.[0]?.[measure.name]\n : undefined;\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n const comparisonLabel = `vs ${getComparisonPeriodLabel(comparisonPeriod, theme).toLowerCase()}`;\n\n const resultsCombined: DataResponse = {\n isLoading: Boolean(results.isLoading || resultsComparison?.isLoading),\n data:\n !results?.data && !resultsComparison?.data\n ? undefined\n : [\n ...(results.data?.length\n ? [{ label: i18n.t('charts.primaryPeriod'), ...results.data[0] }]\n : []),\n ...(resultsComparison?.data?.length\n ? [{ label: i18n.t('charts.comparisonPeriod'), ...resultsComparison.data[0] }]\n : []),\n ],\n };\n\n return (\n <ChartCard\n data={resultsCombined}\n dimensionsAndMeasures={[\n // Add a label dimension to distinguish primary and comparison periods in exports\n {\n name: 'label',\n title: i18n.t('charts.label'),\n nativeType: 'string',\n __type__: 'dimension',\n },\n measure,\n ]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <KpiChart\n value={value}\n comparisonValue={resultsCombined.isLoading ? undefined : comparisonValue}\n valueFormatter={valueFormatter}\n valueFontSize={fontSize}\n changeFontSize={changeFontSize}\n invertChangeColors={reversePositiveNegativeColors}\n showChangeAsPercentage={displayChangeAsPercentage}\n comparisonLabel={comparisonLabel}\n percentageDecimalPlaces={percentageDecimalPlaces}\n />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberComparisonPro;\n","import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport {\n dataset,\n description,\n dimensionTime,\n genericBoolean,\n genericNumber,\n genericTimeRange,\n measure,\n title,\n} from '../../../component.constants';\nimport KpiChartNumberComparisonPro from './index';\nimport { loadData, TimeRange } from '@embeddable.com/core';\nimport ComparisonPeriodType from '../../../types/ComparisonPeriod.type.emb';\n\nexport const meta = {\n name: 'KpiChartNumberComparisonPro',\n label: 'Kpi Chart - Number Comparison',\n category: 'Kpi Charts',\n inputs: [\n dataset,\n measure,\n { ...dimensionTime, name: 'timeProperty', label: 'Time Property' },\n {\n ...genericTimeRange,\n name: 'primaryDateRange',\n label: 'Primary Date Range',\n description: 'You can also connect this to a date range selector using its variable',\n category: 'Component Data',\n },\n {\n name: 'comparisonPeriod',\n type: ComparisonPeriodType,\n label: 'Comparison Period',\n description: 'You can also connect this to a comparison period selector using its variable',\n category: 'Component Data',\n },\n title,\n description,\n {\n ...genericBoolean,\n name: 'displayChangeAsPercentage',\n label: 'Display Change as %',\n defaultValue: false,\n },\n {\n ...genericNumber,\n name: 'percentageDecimalPlaces',\n label: 'Percentage Decimal Places',\n defaultValue: 1,\n },\n {\n ...genericBoolean,\n name: 'reversePositiveNegativeColors',\n label: 'Reverse Positive/Negative Colors',\n defaultValue: false,\n },\n { ...genericNumber, name: 'fontSize', label: 'Font Size' },\n {\n ...genericNumber,\n name: 'changeFontSize',\n label: 'Change Font Size',\n defaultValue: 16,\n required: true,\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\ntype KpiChartNumberComparisonProState = {\n comparisonDateRange: TimeRange;\n};\n\nexport default defineComponent(KpiChartNumberComparisonPro, meta, {\n /* @ts-expect-error - to be fixed in @embeddable.com/react */\n props: (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n KpiChartNumberComparisonProState,\n (state: KpiChartNumberComparisonProState) => void,\n ],\n ) => {\n return {\n ...inputs,\n comparisonDateRange: state?.comparisonDateRange,\n setComparisonDateRange: (comparisonDateRange: TimeRange) => setState({ comparisonDateRange }),\n results: loadData({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n filters:\n inputs.primaryDateRange && inputs.timeProperty\n ? [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: inputs.primaryDateRange,\n },\n ]\n : undefined,\n }),\n resultsComparison:\n inputs.primaryDateRange && inputs.timeProperty && state?.comparisonDateRange\n ? loadData({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n filters: [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: state.comparisonDateRange,\n },\n ],\n })\n : undefined,\n };\n },\n});\n"],"names":["KpiChartNumberComparisonPro","props","theme","useTheme","i18nSetup","title","description","resolveI18nProps","changeFontSize","comparisonPeriod","comparisonDateRange","displayChangeAsPercentage","fontSize","measure","primaryDateRange","results","resultsComparison","reversePositiveNegativeColors","percentageDecimalPlaces","setComparisonDateRange","useEffect","newComparisonDateRange","getComparisonPeriodDateRange","value","_b","_a","comparisonValue","_d","_c","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","comparisonLabel","getComparisonPeriodLabel","resultsCombined","_e","i18n","_f","jsx","ChartCard","KpiChart","meta","dataset","dimensionTime","genericTimeRange","ComparisonPeriodType","genericBoolean","genericNumber","KpiChartNumberComparisonPro_emb","defineComponent","inputs","state","setState","loadData"],"mappings":"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"}