@embeddable.com/remarkable-ui 0.1.19 → 0.1.22

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 (124) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +35 -34
  2. package/dist/BarChartDefaultHorizontalPro.js.map +1 -1
  3. package/dist/BarChartDefaultPro.js +34 -33
  4. package/dist/BarChartDefaultPro.js.map +1 -1
  5. package/dist/BarChartGroupedHorizontalPro.js +52 -46
  6. package/dist/BarChartGroupedHorizontalPro.js.map +1 -1
  7. package/dist/BarChartGroupedPro.js +41 -35
  8. package/dist/BarChartGroupedPro.js.map +1 -1
  9. package/dist/BarChartStackedHorizontalPro.js +37 -31
  10. package/dist/BarChartStackedHorizontalPro.js.map +1 -1
  11. package/dist/BarChartStackedPro.js +38 -32
  12. package/dist/BarChartStackedPro.js.map +1 -1
  13. package/dist/{BaseButton-CuifBVsc.js → BaseButton-Cynr77gm.js} +2 -2
  14. package/dist/{BaseButton-CuifBVsc.js.map → BaseButton-Cynr77gm.js.map} +1 -1
  15. package/dist/{ChartCard-BkrK3C4a.js → ChartCard-DunjH70y.js} +29 -29
  16. package/dist/{ChartCard-BkrK3C4a.js.map → ChartCard-DunjH70y.js.map} +1 -1
  17. package/dist/{ComparisonPeriod.type.emb-Cli9Gpzq.js → ComparisonPeriod.type.emb-CARBg093.js} +2 -2
  18. package/dist/{ComparisonPeriod.type.emb-Cli9Gpzq.js.map → ComparisonPeriod.type.emb-CARBg093.js.map} +1 -1
  19. package/dist/ComparisonPeriodSelectFieldPro.js +9 -9
  20. package/dist/DateRangeSelectFieldPro.js +2 -2
  21. package/dist/DonutChartPro.js +2 -2
  22. package/dist/DonutLabelChartPro.js +2 -2
  23. package/dist/{EditorCard-BQnDPFzf.js → EditorCard-C9RDdL87.js} +11 -11
  24. package/dist/{EditorCard-BQnDPFzf.js.map → EditorCard-C9RDdL87.js.map} +1 -1
  25. package/dist/{KpiChart-ClxfTTJ4.js → KpiChart-DVJLPOzo.js} +2 -2
  26. package/dist/{KpiChart-ClxfTTJ4.js.map → KpiChart-DVJLPOzo.js.map} +1 -1
  27. package/dist/KpiChartNumberComparisonPro.js +61 -73
  28. package/dist/KpiChartNumberComparisonPro.js.map +1 -1
  29. package/dist/KpiChartNumberPro.js +4 -4
  30. package/dist/LineChartComparisonDefaultPro.js +404 -0
  31. package/dist/LineChartComparisonDefaultPro.js.map +1 -0
  32. package/dist/LineChartDefaultPro.js +183 -0
  33. package/dist/LineChartDefaultPro.js.map +1 -0
  34. package/dist/LineChartGroupedPro.js +184 -0
  35. package/dist/LineChartGroupedPro.js.map +1 -0
  36. package/dist/MultiSelectFieldPro.js +2 -2
  37. package/dist/PieChartPro.js +2 -2
  38. package/dist/{SingleSelectField-BAEvpk7-.js → SingleSelectField-k-5pYl1f.js} +21 -21
  39. package/dist/{SingleSelectField-BAEvpk7-.js.map → SingleSelectField-k-5pYl1f.js.map} +1 -1
  40. package/dist/SingleSelectFieldPro.js +2 -2
  41. package/dist/bars.utils-BAkV6I3P.js +311 -0
  42. package/dist/bars.utils-BAkV6I3P.js.map +1 -0
  43. package/dist/charts.newFillGaps.hooks-D6mnKJwQ.js +63 -0
  44. package/dist/charts.newFillGaps.hooks-D6mnKJwQ.js.map +1 -0
  45. package/dist/{object.utils-CaoDr05j.js → charts.utils-Dyj5e5HG.js} +1919 -1977
  46. package/dist/charts.utils-Dyj5e5HG.js.map +1 -0
  47. package/dist/color.utils-CVyp-fGP.js +1645 -0
  48. package/dist/color.utils-CVyp-fGP.js.map +1 -0
  49. package/dist/{component.constants-CL4mGURD.js → component.constants-D7F6GsHW.js} +4976 -3873
  50. package/dist/component.constants-D7F6GsHW.js.map +1 -0
  51. package/dist/embeddable-components.json +9 -6
  52. package/dist/embeddable-theme-2b917.js +19 -16
  53. package/dist/{formatter.utils-BaAiNARZ.js → formatter.utils--2w1e7GE.js} +2 -2
  54. package/dist/{formatter.utils-BaAiNARZ.js.map → formatter.utils--2w1e7GE.js.map} +1 -1
  55. package/dist/{index-9t6SPE91.js → index-B0xeoUyW.js} +9 -9
  56. package/dist/{index-9t6SPE91.js.map → index-B0xeoUyW.js.map} +1 -1
  57. package/dist/{index-BSbQYCwI.js → index-B4-i-g0Z.js} +24 -24
  58. package/dist/{index-BSbQYCwI.js.map → index-B4-i-g0Z.js.map} +1 -1
  59. package/dist/{index-CAGJqsS8.js → index-BGczJvRB.js} +12 -12
  60. package/dist/{index-CAGJqsS8.js.map → index-BGczJvRB.js.map} +1 -1
  61. package/dist/{index-BUwm0Ul3.js → index-CLVeA9pa.js} +8 -8
  62. package/dist/{index-BUwm0Ul3.js.map → index-CLVeA9pa.js.map} +1 -1
  63. package/dist/{index-BehaWXq-.js → index-DPGAAlWv.js} +4 -4
  64. package/dist/{index-BehaWXq-.js.map → index-DPGAAlWv.js.map} +1 -1
  65. package/dist/{index-RqtiYv1c.js → index-DmgDANxV.js} +13 -13
  66. package/dist/{index-RqtiYv1c.js.map → index-DmgDANxV.js.map} +1 -1
  67. package/dist/index.js +133 -125
  68. package/dist/index.js.map +1 -1
  69. package/dist/object.utils-BNKDL7Y9.js +67 -0
  70. package/dist/object.utils-BNKDL7Y9.js.map +1 -0
  71. package/dist/{pies.utils-hekLAU_r.js → pies.utils-CIFMn9ko.js} +9 -8
  72. package/dist/{pies.utils-hekLAU_r.js.map → pies.utils-CIFMn9ko.js.map} +1 -1
  73. package/dist/remarkable-pro/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts.map +1 -1
  74. package/dist/remarkable-pro/components/charts/bars/BarChartGroupedPro/index.d.ts.map +1 -1
  75. package/dist/remarkable-pro/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts.map +1 -1
  76. package/dist/remarkable-pro/components/charts/bars/BarChartStackedPro/index.d.ts.map +1 -1
  77. package/dist/remarkable-pro/components/charts/bars/bars.utils.d.ts +1 -1
  78. package/dist/remarkable-pro/components/charts/bars/bars.utils.d.ts.map +1 -1
  79. package/dist/remarkable-pro/components/charts/charts.newFillGaps.hooks.d.ts +10 -0
  80. package/dist/remarkable-pro/components/charts/charts.newFillGaps.hooks.d.ts.map +1 -0
  81. package/dist/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.d.ts +20 -0
  82. package/dist/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.d.ts.map +1 -0
  83. package/dist/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts +26 -0
  84. package/dist/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +1 -0
  85. package/dist/remarkable-pro/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.d.ts +14 -0
  86. package/dist/remarkable-pro/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.d.ts.map +1 -0
  87. package/dist/remarkable-pro/components/charts/lines/LineChartDefaultPro/index.d.ts +20 -0
  88. package/dist/remarkable-pro/components/charts/lines/LineChartDefaultPro/index.d.ts.map +1 -0
  89. package/dist/remarkable-pro/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts +22 -0
  90. package/dist/remarkable-pro/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts.map +1 -0
  91. package/dist/remarkable-pro/components/charts/lines/LineChartGroupedPro/index.d.ts +21 -0
  92. package/dist/remarkable-pro/components/charts/lines/LineChartGroupedPro/index.d.ts.map +1 -0
  93. package/dist/remarkable-pro/components/charts/lines/lines.utils.d.ts +14 -0
  94. package/dist/remarkable-pro/components/charts/lines/lines.utils.d.ts.map +1 -0
  95. package/dist/remarkable-pro/components/component.constants.d.ts +40 -24
  96. package/dist/remarkable-pro/components/component.constants.d.ts.map +1 -1
  97. package/dist/remarkable-pro/index.d.ts +1 -0
  98. package/dist/remarkable-pro/index.d.ts.map +1 -1
  99. package/dist/remarkable-pro/theme/formatter/formatter.constants.d.ts.map +1 -1
  100. package/dist/remarkable-pro/theme/i18n/translations/de.d.ts.map +1 -1
  101. package/dist/remarkable-pro/theme/i18n/translations/en.d.ts.map +1 -1
  102. package/dist/remarkable-pro/theme/theme.types.d.ts +9 -0
  103. package/dist/remarkable-pro/theme/theme.types.d.ts.map +1 -1
  104. package/dist/remarkable-pro/utils.ts/color.utils.d.ts +3 -0
  105. package/dist/remarkable-pro/utils.ts/color.utils.d.ts.map +1 -0
  106. package/dist/remarkable-ui/charts/lines/LineChart.d.ts.map +1 -1
  107. package/dist/remarkable-ui/charts/lines/lines.utils.d.ts.map +1 -1
  108. package/dist/remarkable-ui/index.d.ts +1 -0
  109. package/dist/remarkable-ui/index.d.ts.map +1 -1
  110. package/dist/remarkable-ui/styles/styles.constants.d.ts +4 -0
  111. package/dist/remarkable-ui/styles/styles.constants.d.ts.map +1 -1
  112. package/dist/remarkable-ui/styles/styles.utils.d.ts.map +1 -1
  113. package/dist/remarkable-ui.css +6 -2
  114. package/dist/timeRange.utils-KDn6xcVP.js +20 -0
  115. package/dist/timeRange.utils-KDn6xcVP.js.map +1 -0
  116. package/package.json +6 -4
  117. package/dist/charts.fillGaps.hooks-BvYoaRpE.js +0 -584
  118. package/dist/charts.fillGaps.hooks-BvYoaRpE.js.map +0 -1
  119. package/dist/component.constants-CL4mGURD.js.map +0 -1
  120. package/dist/object.utils-CaoDr05j.js.map +0 -1
  121. package/dist/remarkable-pro/components/charts/charts.fillGaps.hooks.d.ts +0 -25
  122. package/dist/remarkable-pro/components/charts/charts.fillGaps.hooks.d.ts.map +0 -1
  123. package/dist/remarkable-pro/components/charts/charts.fillGaps.utils.d.ts +0 -31
  124. package/dist/remarkable-pro/components/charts/charts.fillGaps.utils.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index-BehaWXq-.js","sources":["../src/remarkable-pro/components/charts/pies/DonutChartPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DefaultPieChartOptions, getDefaultPieChartOptions, getPieChartData } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { DonutChart } from '../../../../../remarkable-ui';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\ntype DonutChartProProps = DefaultPieChartProps;\n\nconst DonutChartPro = (props: DonutChartProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n dimension,\n maxLegendItems,\n measure,\n results,\n showLegend,\n showTooltips,\n showValueLabels,\n title,\n onSegmentClick,\n } = resolveI18nProps(props);\n\n const data = getPieChartData({ data: results.data, dimension, measure, maxLegendItems }, theme);\n\n const options = mergician(\n getDefaultPieChartOptions(\n {\n measure,\n showTooltips,\n showLegend,\n showValueLabels,\n } as DefaultPieChartOptions,\n theme,\n ),\n theme.charts.donutChartPro?.options ?? {},\n );\n\n const handleSegmentClick = (index: number | undefined) => {\n onSegmentClick({\n dimensionValue: index === undefined ? undefined : results.data?.[index]?.[dimension.name],\n });\n };\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, measure]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <DonutChart data={data} options={options} onSegmentClick={handleSegmentClick} />\n </ChartCard>\n );\n};\n\nexport default DonutChartPro;\n"],"names":["DonutChartPro","props","theme","useTheme","i18nSetup","description","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","title","onSegmentClick","resolveI18nProps","data","getPieChartData","options","mergician","getDefaultPieChartOptions","_a","handleSegmentClick","index","_b","jsx","ChartCard","DonutChart"],"mappings":";;;;;AAYA,MAAMA,IAAgB,CAACC,MAA8B;;AACnD,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpBe,IAAOC,EAAgB,EAAE,MAAMR,EAAQ,MAAM,WAAAH,GAAW,SAAAE,GAAS,gBAAAD,EAAA,GAAkBL,CAAK,GAExFgB,IAAUC;AAAA,IACdC;AAAA,MACE;AAAA,QACE,SAAAZ;AAAA,QACA,cAAAG;AAAA,QACA,YAAAD;AAAA,QACA,iBAAAE;AAAA,MAAA;AAAA,MAEFV;AAAA,IAAA;AAAA,MAEFmB,IAAAnB,EAAM,OAAO,kBAAb,gBAAAmB,EAA4B,YAAW,CAAA;AAAA,EAAC,GAGpCC,IAAqB,CAACC,MAA8B;;AACxD,IAAAT,EAAe;AAAA,MACb,gBAAgBS,MAAU,WAAwBC,KAAAH,IAAAZ,EAAQ,SAAR,gBAAAY,EAAeE,OAAf,OAAZ,SAAYC,EAAwBlB,EAAU;AAAA,IAAI,CACzF;AAAA,EACH;AAEA,SACEmB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMjB;AAAA,MACN,uBAAuB,CAACH,GAAWE,CAAO;AAAA,MAC1C,cAAcC,EAAQ;AAAA,MACtB,UAAUJ;AAAA,MACV,OAAAQ;AAAA,MAEA,UAAAY,gBAAAA,EAAAA,IAACE,GAAA,EAAW,MAAAX,GAAY,SAAAE,GAAkB,gBAAgBI,EAAA,CAAoB;AAAA,IAAA;AAAA,EAAA;AAGpF;;;;"}
1
+ {"version":3,"file":"index-DPGAAlWv.js","sources":["../src/remarkable-pro/components/charts/pies/DonutChartPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DefaultPieChartOptions, getDefaultPieChartOptions, getPieChartData } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { DonutChart } from '../../../../../remarkable-ui';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\ntype DonutChartProProps = DefaultPieChartProps;\n\nconst DonutChartPro = (props: DonutChartProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n dimension,\n maxLegendItems,\n measure,\n results,\n showLegend,\n showTooltips,\n showValueLabels,\n title,\n onSegmentClick,\n } = resolveI18nProps(props);\n\n const data = getPieChartData({ data: results.data, dimension, measure, maxLegendItems }, theme);\n\n const options = mergician(\n getDefaultPieChartOptions(\n {\n measure,\n showTooltips,\n showLegend,\n showValueLabels,\n } as DefaultPieChartOptions,\n theme,\n ),\n theme.charts.donutChartPro?.options ?? {},\n );\n\n const handleSegmentClick = (index: number | undefined) => {\n onSegmentClick({\n dimensionValue: index === undefined ? undefined : results.data?.[index]?.[dimension.name],\n });\n };\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, measure]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <DonutChart data={data} options={options} onSegmentClick={handleSegmentClick} />\n </ChartCard>\n );\n};\n\nexport default DonutChartPro;\n"],"names":["DonutChartPro","props","theme","useTheme","i18nSetup","description","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","title","onSegmentClick","resolveI18nProps","data","getPieChartData","options","mergician","getDefaultPieChartOptions","_a","handleSegmentClick","index","_b","jsx","ChartCard","DonutChart"],"mappings":";;;;;AAYA,MAAMA,IAAgB,CAACC,MAA8B;;AACnD,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpBe,IAAOC,EAAgB,EAAE,MAAMR,EAAQ,MAAM,WAAAH,GAAW,SAAAE,GAAS,gBAAAD,EAAA,GAAkBL,CAAK,GAExFgB,IAAUC;AAAA,IACdC;AAAA,MACE;AAAA,QACE,SAAAZ;AAAA,QACA,cAAAG;AAAA,QACA,YAAAD;AAAA,QACA,iBAAAE;AAAA,MAAA;AAAA,MAEFV;AAAA,IAAA;AAAA,MAEFmB,IAAAnB,EAAM,OAAO,kBAAb,gBAAAmB,EAA4B,YAAW,CAAA;AAAA,EAAC,GAGpCC,IAAqB,CAACC,MAA8B;;AACxD,IAAAT,EAAe;AAAA,MACb,gBAAgBS,MAAU,WAAwBC,KAAAH,IAAAZ,EAAQ,SAAR,gBAAAY,EAAeE,OAAf,OAAZ,SAAYC,EAAwBlB,EAAU;AAAA,IAAI,CACzF;AAAA,EACH;AAEA,SACEmB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMjB;AAAA,MACN,uBAAuB,CAACH,GAAWE,CAAO;AAAA,MAC1C,cAAcC,EAAQ;AAAA,MACtB,UAAUJ;AAAA,MACV,OAAAQ;AAAA,MAEA,UAAAY,gBAAAA,EAAAA,IAACE,GAAA,EAAW,MAAAX,GAAY,SAAAE,GAAkB,gBAAgBI,EAAA,CAAoB;AAAA,IAAA;AAAA,EAAA;AAGpF;;;;"}
@@ -1,11 +1,11 @@
1
- import { r as b, j as i, _ as O } from "./component.constants-CL4mGURD.js";
2
- import { S as j } from "./SingleSelectField-BAEvpk7-.js";
3
- import { g as x } from "./formatter.utils-BaAiNARZ.js";
4
- import { useTheme as _ } from "@embeddable.com/react";
5
- import { E as v } from "./EditorCard-BQnDPFzf.js";
6
- const F = 200, M = (l) => {
1
+ import { r as b, j as i, Z as O } from "./component.constants-D7F6GsHW.js";
2
+ import { S as j } from "./SingleSelectField-k-5pYl1f.js";
3
+ import { g as x } from "./formatter.utils--2w1e7GE.js";
4
+ import { useTheme as v } from "@embeddable.com/react";
5
+ import { E as F } from "./EditorCard-C9RDdL87.js";
6
+ const M = 200, _ = (l) => {
7
7
  var a, r;
8
- const m = _(), c = x(m), {
8
+ const m = v(), c = x(m), {
9
9
  title: d,
10
10
  description: p,
11
11
  dimension: t,
@@ -19,7 +19,7 @@ const F = 200, M = (l) => {
19
19
  value: n ? e[n.name] : e[t.name],
20
20
  label: c.data(t, e[t.name])
21
21
  }))) ?? [], f = !o.isLoading && (((r = o.data) == null ? void 0 : r.length) ?? 0) === 0;
22
- return /* @__PURE__ */ i.jsx(v, { title: d, subtitle: p, children: /* @__PURE__ */ i.jsx(
22
+ return /* @__PURE__ */ i.jsx(F, { title: d, subtitle: p, children: /* @__PURE__ */ i.jsx(
23
23
  j,
24
24
  {
25
25
  isClearable: !0,
@@ -35,12 +35,12 @@ const F = 200, M = (l) => {
35
35
  ) });
36
36
  }, C = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
37
37
  __proto__: null,
38
- MAX_OPTIONS: F,
39
- default: M
38
+ MAX_OPTIONS: M,
39
+ default: _
40
40
  }, Symbol.toStringTag, { value: "Module" }));
41
41
  export {
42
- F as M,
43
- M as S,
42
+ M,
43
+ _ as S,
44
44
  C as i
45
45
  };
46
- //# sourceMappingURL=index-RqtiYv1c.js.map
46
+ //# sourceMappingURL=index-DmgDANxV.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-RqtiYv1c.js","sources":["../src/remarkable-pro/components/editors/SingleSelectFieldPro/index.tsx"],"sourcesContent":["import { DataResponse, Dimension } from '@embeddable.com/core';\nimport { SingleSelectField } from '../../../../remarkable-ui/editors/select/SingleSelectField/SingleSelectField';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../theme/theme.types';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\n\nexport const MAX_OPTIONS = 200;\n\ntype SingleSelectFieldProProps = {\n title?: string;\n description?: string;\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValue: string;\n maxOptions?: number;\n setSearchValue: (search: string) => void;\n onChange?: (selectedValue: string) => void;\n};\n\nconst SingleSelectFieldPro = (props: SingleSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n\n const {\n title,\n description,\n dimension,\n optionalSecondDimension,\n placeholder,\n results,\n selectedValue,\n setSearchValue,\n onChange,\n } = resolveI18nProps(props);\n\n const options =\n results.data?.map((data) => {\n return {\n value: optionalSecondDimension ? data[optionalSecondDimension.name] : data[dimension.name],\n label: themeFormatter.data(dimension, data[dimension.name]),\n };\n }) ?? [];\n\n const showNoOptionsMessage = Boolean(!results.isLoading && (results.data?.length ?? 0) === 0);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <SingleSelectField\n isClearable\n isSearchable\n isLoading={results.isLoading}\n value={selectedValue}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValue) => onChange?.(newValue)}\n onSearch={setSearchValue}\n />\n </EditorCard>\n );\n};\n\nexport default SingleSelectFieldPro;\n"],"names":["MAX_OPTIONS","SingleSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","optionalSecondDimension","placeholder","results","selectedValue","setSearchValue","onChange","resolveI18nProps","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","SingleSelectField","i18n","newValue"],"mappings":";;;;;AASO,MAAMA,IAAc,KAerBC,IAAuB,CAACC,MAAqC;;AACjE,QAAMC,IAAeC,EAAA,GACfC,IAAiBC,EAAkBH,CAAK,GAExC;AAAA,IACJ,OAAAI;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpBe,MACJC,IAAAN,EAAQ,SAAR,gBAAAM,EAAc,IAAI,CAACC,OACV;AAAA,IACL,OAAOT,IAA0BS,EAAKT,EAAwB,IAAI,IAAIS,EAAKV,EAAU,IAAI;AAAA,IACzF,OAAOJ,EAAe,KAAKI,GAAWU,EAAKV,EAAU,IAAI,CAAC;AAAA,EAAA,QAExD,CAAA,GAEFW,IAA+B,CAACR,EAAQ,gBAAcS,IAAAT,EAAQ,SAAR,gBAAAS,EAAc,WAAU,OAAO;AAE3F,SACEC,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAhB,GAAc,UAAUC,GAClC,UAAAc,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,aAAW;AAAA,MACX,cAAY;AAAA,MACZ,WAAWZ,EAAQ;AAAA,MACnB,OAAOC;AAAA,MACP,SAAAI;AAAA,MACA,aAAAN;AAAA,MACA,kBAAkBS,IAAuBK,EAAK,EAAE,uBAAuB,IAAI;AAAA,MAC3E,UAAU,CAACC,MAAaX,KAAA,gBAAAA,EAAWW;AAAA,MACnC,UAAUZ;AAAA,IAAA;AAAA,EAAA,GAEd;AAEJ;;;;;"}
1
+ {"version":3,"file":"index-DmgDANxV.js","sources":["../src/remarkable-pro/components/editors/SingleSelectFieldPro/index.tsx"],"sourcesContent":["import { DataResponse, Dimension } from '@embeddable.com/core';\nimport { SingleSelectField } from '../../../../remarkable-ui/editors/select/SingleSelectField/SingleSelectField';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../theme/theme.types';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\n\nexport const MAX_OPTIONS = 200;\n\ntype SingleSelectFieldProProps = {\n title?: string;\n description?: string;\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValue: string;\n maxOptions?: number;\n setSearchValue: (search: string) => void;\n onChange?: (selectedValue: string) => void;\n};\n\nconst SingleSelectFieldPro = (props: SingleSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n\n const {\n title,\n description,\n dimension,\n optionalSecondDimension,\n placeholder,\n results,\n selectedValue,\n setSearchValue,\n onChange,\n } = resolveI18nProps(props);\n\n const options =\n results.data?.map((data) => {\n return {\n value: optionalSecondDimension ? data[optionalSecondDimension.name] : data[dimension.name],\n label: themeFormatter.data(dimension, data[dimension.name]),\n };\n }) ?? [];\n\n const showNoOptionsMessage = Boolean(!results.isLoading && (results.data?.length ?? 0) === 0);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <SingleSelectField\n isClearable\n isSearchable\n isLoading={results.isLoading}\n value={selectedValue}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValue) => onChange?.(newValue)}\n onSearch={setSearchValue}\n />\n </EditorCard>\n );\n};\n\nexport default SingleSelectFieldPro;\n"],"names":["MAX_OPTIONS","SingleSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","optionalSecondDimension","placeholder","results","selectedValue","setSearchValue","onChange","resolveI18nProps","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","SingleSelectField","i18n","newValue"],"mappings":";;;;;AASO,MAAMA,IAAc,KAerBC,IAAuB,CAACC,MAAqC;;AACjE,QAAMC,IAAeC,EAAA,GACfC,IAAiBC,EAAkBH,CAAK,GAExC;AAAA,IACJ,OAAAI;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpBe,MACJC,IAAAN,EAAQ,SAAR,gBAAAM,EAAc,IAAI,CAACC,OACV;AAAA,IACL,OAAOT,IAA0BS,EAAKT,EAAwB,IAAI,IAAIS,EAAKV,EAAU,IAAI;AAAA,IACzF,OAAOJ,EAAe,KAAKI,GAAWU,EAAKV,EAAU,IAAI,CAAC;AAAA,EAAA,QAExD,CAAA,GAEFW,IAA+B,CAACR,EAAQ,gBAAcS,IAAAT,EAAQ,SAAR,gBAAAS,EAAc,WAAU,OAAO;AAE3F,SACEC,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAhB,GAAc,UAAUC,GAClC,UAAAc,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,aAAW;AAAA,MACX,cAAY;AAAA,MACZ,WAAWZ,EAAQ;AAAA,MACnB,OAAOC;AAAA,MACP,SAAAI;AAAA,MACA,aAAAN;AAAA,MACA,kBAAkBS,IAAuBK,EAAK,EAAE,uBAAuB,IAAI;AAAA,MAC3E,UAAU,CAACC,MAAaX,KAAA,gBAAAA,EAAWW;AAAA,MACnC,UAAUZ;AAAA,IAAA;AAAA,EAAA,GAEd;AAEJ;;;;;"}
package/dist/index.js CHANGED
@@ -1,37 +1,39 @@
1
- import { I as w } from "./ChartCard-BkrK3C4a.js";
2
- import { C as us, S as hs } from "./ChartCard-BkrK3C4a.js";
3
- import { j as s, a0 as u, a1 as v, a2 as S, a3 as I, a4 as N, a5 as C } from "./component.constants-CL4mGURD.js";
4
- import { a6 as xs, ad as ps, a7 as bs, ac as fs, ae as _s, a9 as Cs, aa as gs, a8 as ys, ab as js, R as ws, d as vs, af as Ss, c as Is, z as Ns, T as $s, b as Ts, ap as ks, ar as Ps, W as Ls, X as As, aq as Ms, U as Bs, C as Ds, B as Rs, _ as Fs, i as zs, Y as Os, w as Ws, a as Es, $ as qs, r as Ks, p as Xs, h as Us, s as Vs, g as Ys, e as Gs, as as Hs, A as Js, f as Qs, am as Zs, al as sa, an as aa, ak as ea, ai as ta, ao as na, aj as oa, ag as ra, ah as ia, t as ca, x as la, v as ma, l as ua, k as ha, y as da, n as xa, u as pa, q as ba } from "./component.constants-CL4mGURD.js";
5
- import { useRef as $, useState as T, useEffect as k } from "react";
6
- import { B as P } from "./BaseButton-CuifBVsc.js";
7
- import { E as _a, S as Ca } from "./EditorCard-BQnDPFzf.js";
8
- import { B as _ } from "./index-BSbQYCwI.js";
9
- import { b as ya, i as ja } from "./index-BSbQYCwI.js";
10
- import { S as va } from "./SingleSelectField-BAEvpk7-.js";
11
- import { K as Ia } from "./KpiChart-ClxfTTJ4.js";
12
- import { g as $a, r as Ta, s as ka } from "./object.utils-CaoDr05j.js";
13
- import { g as La } from "./formatter.utils-BaAiNARZ.js";
14
- import { a as Ma, g as Ba } from "./pies.utils-hekLAU_r.js";
15
- import { i as Ra } from "./index-BUwm0Ul3.js";
16
- import { i as za } from "./index-BehaWXq-.js";
17
- import { i as Wa } from "./index-CAGJqsS8.js";
18
- import { i as qa } from "./index-RqtiYv1c.js";
19
- import { i as Xa } from "./index-9t6SPE91.js";
20
- import { C as Va } from "./ComparisonPeriod.type.emb-Cli9Gpzq.js";
1
+ import { I as j } from "./ChartCard-DunjH70y.js";
2
+ import { C as us, S as hs } from "./ChartCard-DunjH70y.js";
3
+ import { j as s, a6 as u, a7 as v, a8 as S, a9 as I, aa as N, ab as C } from "./component.constants-D7F6GsHW.js";
4
+ import { ac as ds, aj as ps, ad as bs, a0 as fs, ai as _s, ak as Cs, af as ys, ag as gs, ae as ws, ah as js, T as vs, d as Ss, al as Is, c as Ns, z as Ts, U as $s, b as ks, ax as Ps, ay as Ls, X as As, Y as Ms, am as Bs, W as Ds, F as Fs, C as Rs, Z as zs, i as Os, a3 as Ws, A as Es, w as qs, a as Ks, a5 as Vs, r as Xs, p as Us, h as Ys, s as Gs, g as Hs, e as Zs, az as Js, B as Qs, f as sa, at as aa, a1 as ea, as as ta, au as oa, ar as na, ap as ra, av as ia, aq as ca, an as la, ao as ma, aw as ua, t as ha, x as xa, v as da, l as pa, k as ba, y as fa, n as _a, u as Ca, q as ya } from "./component.constants-D7F6GsHW.js";
5
+ import { useRef as T, useState as $, useEffect as k } from "react";
6
+ import { B as P } from "./BaseButton-Cynr77gm.js";
7
+ import { E as wa, S as ja } from "./EditorCard-C9RDdL87.js";
8
+ import { B as _ } from "./index-B4-i-g0Z.js";
9
+ import { b as Sa, i as Ia } from "./index-B4-i-g0Z.js";
10
+ import { S as Ta } from "./SingleSelectField-k-5pYl1f.js";
11
+ import { K as ka } from "./KpiChart-DVJLPOzo.js";
12
+ import { r as La, s as Aa } from "./charts.utils-Dyj5e5HG.js";
13
+ import { g as Ba } from "./object.utils-BNKDL7Y9.js";
14
+ import { g as Fa } from "./formatter.utils--2w1e7GE.js";
15
+ import { a as za, g as Oa } from "./pies.utils-CIFMn9ko.js";
16
+ import { i as Ea } from "./index-CLVeA9pa.js";
17
+ import { i as Ka } from "./index-DPGAAlWv.js";
18
+ import { i as Xa } from "./index-BGczJvRB.js";
19
+ import { i as Ya } from "./index-DmgDANxV.js";
20
+ import { i as Ha } from "./index-B0xeoUyW.js";
21
+ import { C as Ja } from "./ComparisonPeriod.type.emb-CARBg093.js";
22
+ import { i as se, s as ae } from "./color.utils-CVyp-fGP.js";
21
23
  const L = "_container_436fl_1", A = "_column_436fl_10", M = "_box_436fl_20", B = "_short_436fl_26", D = "_tall_436fl_34", a = {
22
24
  container: L,
23
25
  column: A,
24
26
  box: M,
25
27
  short: B,
26
28
  tall: D
27
- }, os = ({ className: n }) => {
28
- const e = $(null), [o, l] = T(2);
29
+ }, ns = ({ className: o }) => {
30
+ const e = T(null), [n, l] = $(2);
29
31
  k(() => {
30
32
  const t = () => {
31
33
  if (!e.current) return;
32
- const h = e.current.offsetWidth, g = 32, m = 16, y = 128, b = 256, d = h - g, x = Math.floor((d + m) / (y + m)), j = (d - (x - 1) * m) / x;
33
- let f = x;
34
- j > b && (f = Math.floor((d + m) / (b + m))), l(Math.max(2, f));
34
+ const h = e.current.offsetWidth, y = 32, m = 16, g = 128, b = 256, x = h - y, d = Math.floor((x + m) / (g + m)), w = (x - (d - 1) * m) / d;
35
+ let f = d;
36
+ w > b && (f = Math.floor((x + m) / (b + m))), l(Math.max(2, f));
35
37
  };
36
38
  t();
37
39
  const r = new ResizeObserver(t);
@@ -51,18 +53,18 @@ const L = "_container_436fl_1", A = "_column_436fl_10", M = "_box_436fl_20", B =
51
53
  /* @__PURE__ */ s.jsx("div", { className: `${a.box} ${a.short}` })
52
54
  ] }) }, t);
53
55
  };
54
- return /* @__PURE__ */ s.jsx("div", { ref: e, className: `${a.container} ${n || ""}`, children: Array.from({ length: o }, (t, r) => c(r)) });
55
- }, R = "_icon_bk4b5_1", F = "_iconPrimary_bk4b5_6", z = "_iconSecondary_bk4b5_9", O = "_buttonIcon_bk4b5_12", p = {
56
- icon: R,
57
- iconPrimary: F,
56
+ return /* @__PURE__ */ s.jsx("div", { ref: e, className: `${a.container} ${o || ""}`, children: Array.from({ length: n }, (t, r) => c(r)) });
57
+ }, F = "_icon_bk4b5_1", R = "_iconPrimary_bk4b5_6", z = "_iconSecondary_bk4b5_9", O = "_buttonIcon_bk4b5_12", p = {
58
+ icon: F,
59
+ iconPrimary: R,
58
60
  iconSecondary: z,
59
61
  buttonIcon: O
60
62
  }, rs = ({
61
- icon: n,
63
+ icon: o,
62
64
  variant: e = "primary",
63
- ...o
64
- }) => /* @__PURE__ */ s.jsx(P, { variant: e, size: "medium", className: p.buttonIcon, ...o, children: /* @__PURE__ */ s.jsx(
65
- n,
65
+ ...n
66
+ }) => /* @__PURE__ */ s.jsx(P, { variant: e, size: "medium", className: p.buttonIcon, ...n, children: /* @__PURE__ */ s.jsx(
67
+ o,
66
68
  {
67
69
  className: u(
68
70
  p.icon,
@@ -71,68 +73,68 @@ const L = "_container_436fl_1", A = "_column_436fl_10", M = "_box_436fl_20", B =
71
73
  }
72
74
  ) }), W = "_overlay_1wzuc_1", E = {
73
75
  overlay: W
74
- }, q = ({ className: n, children: e }) => /* @__PURE__ */ s.jsx("div", { className: u(E.overlay, n), children: e }), K = "_actions_pvzr9_1", X = {
76
+ }, q = ({ className: o, children: e }) => /* @__PURE__ */ s.jsx("div", { className: u(E.overlay, o), children: e }), K = "_actions_pvzr9_1", V = {
75
77
  actions: K
76
78
  }, is = ({
77
- title: n,
79
+ title: o,
78
80
  message: e,
79
- confirmLabel: o = "Confirm",
81
+ confirmLabel: n = "Confirm",
80
82
  cancelLabel: l = "Cancel",
81
83
  onConfirm: c,
82
84
  onCancel: t,
83
85
  className: r
84
86
  }) => /* @__PURE__ */ s.jsx(q, { children: /* @__PURE__ */ s.jsxs(v, { className: r, children: [
85
- /* @__PURE__ */ s.jsx(S, { title: n, rightContent: /* @__PURE__ */ s.jsx(w, { icon: I, onClick: t }) }),
87
+ /* @__PURE__ */ s.jsx(S, { title: o, rightContent: /* @__PURE__ */ s.jsx(j, { icon: I, onClick: t }) }),
86
88
  /* @__PURE__ */ s.jsxs(N, { children: [
87
89
  /* @__PURE__ */ s.jsx(C, { as: "span", children: e }),
88
- /* @__PURE__ */ s.jsxs("div", { className: X.actions, children: [
90
+ /* @__PURE__ */ s.jsxs("div", { className: V.actions, children: [
89
91
  /* @__PURE__ */ s.jsx(_, { variant: "secondary", size: "medium", onClick: t, children: l }),
90
- /* @__PURE__ */ s.jsx(_, { variant: "primary", size: "medium", onClick: c, children: o })
92
+ /* @__PURE__ */ s.jsx(_, { variant: "primary", size: "medium", onClick: c, children: n })
91
93
  ] })
92
94
  ] })
93
- ] }) }), U = "_switchContainer_nupfs_1", V = "_switchLabel_nupfs_8", Y = "_switchInput_nupfs_14", G = "_switchTrack_nupfs_21", H = "_switchThumb_nupfs_51", J = "_checked_nupfs_66", Q = "_disabled_nupfs_78", Z = "_labelText_nupfs_100", i = {
94
- switchContainer: U,
95
- switchLabel: V,
95
+ ] }) }), X = "_switchContainer_nupfs_1", U = "_switchLabel_nupfs_8", Y = "_switchInput_nupfs_14", G = "_switchTrack_nupfs_21", H = "_switchThumb_nupfs_51", Z = "_checked_nupfs_66", J = "_disabled_nupfs_78", Q = "_labelText_nupfs_100", i = {
96
+ switchContainer: X,
97
+ switchLabel: U,
96
98
  switchInput: Y,
97
99
  switchTrack: G,
98
100
  switchThumb: H,
99
- checked: J,
100
- disabled: Q,
101
- labelText: Z
101
+ checked: Z,
102
+ disabled: J,
103
+ labelText: Q
102
104
  }, cs = ({
103
- checked: n,
105
+ checked: o,
104
106
  onChange: e,
105
- disabled: o = !1,
107
+ disabled: n = !1,
106
108
  className: l,
107
109
  label: c,
108
110
  ...t
109
111
  }) => {
110
112
  const r = (h) => {
111
- !o && e && e(h.target.checked);
113
+ !n && e && e(h.target.checked);
112
114
  };
113
115
  return t["aria-label"] || console.warn(
114
116
  "Switch component requires either a label prop or aria-label prop for accessibility"
115
117
  ), /* @__PURE__ */ s.jsx("div", { className: u(i.switchContainer, l), children: /* @__PURE__ */ s.jsxs(
116
118
  "label",
117
119
  {
118
- className: u(i.switchLabel, n && i.checked, o && i.disabled),
120
+ className: u(i.switchLabel, o && i.checked, n && i.disabled),
119
121
  children: [
120
122
  /* @__PURE__ */ s.jsx(
121
123
  "input",
122
124
  {
123
125
  type: "checkbox",
124
- checked: n,
126
+ checked: o,
125
127
  onChange: r,
126
- disabled: o,
128
+ disabled: n,
127
129
  className: i.switchInput,
128
130
  role: "switch",
129
- "aria-checked": n,
130
- "aria-disabled": o,
131
+ "aria-checked": o,
132
+ "aria-disabled": n,
131
133
  ...t
132
134
  }
133
135
  ),
134
136
  /* @__PURE__ */ s.jsx("span", { className: i.switchTrack, "aria-hidden": "true", children: /* @__PURE__ */ s.jsx("span", { className: i.switchThumb, "aria-hidden": "true" }) }),
135
- c && /* @__PURE__ */ s.jsx(C, { as: "span", className: u(i.labelText, o && i.disabled), children: c })
137
+ c && /* @__PURE__ */ s.jsx(C, { as: "span", className: u(i.labelText, n && i.disabled), children: c })
136
138
  ]
137
139
  }
138
140
  ) });
@@ -142,89 +144,95 @@ export {
142
144
  rs as ButtonIcon,
143
145
  v as Card,
144
146
  N as CardContent,
145
- xs as CardContentInfo,
147
+ ds as CardContentInfo,
146
148
  S as CardHeader,
147
149
  us as ChartCard,
148
- Va as ComparisonPeriodType,
150
+ Ja as ComparisonPeriodType,
149
151
  is as ConfirmCancelModal,
150
- Xa as DateRangeSelectFieldPro,
152
+ Ha as DateRangeSelectFieldPro,
151
153
  ps as DonutChart,
152
- za as DonutChartPro,
153
- Wa as DonutLabelChartPro,
154
+ Ka as DonutChartPro,
155
+ Xa as DonutLabelChartPro,
154
156
  bs as Dropdown,
155
- _a as EditorCard,
156
- os as EmptyStateSkeleton,
157
- w as IconButton,
158
- Ia as KpiChart,
159
- ya as MultiSelectField,
160
- ja as MultiSelectFieldPro,
161
- fs as NumberField,
157
+ wa as EditorCard,
158
+ ns as EmptyStateSkeleton,
159
+ j as IconButton,
160
+ ka as KpiChart,
161
+ fs as LineChart,
162
+ Sa as MultiSelectField,
163
+ Ia as MultiSelectFieldPro,
164
+ _s as NumberField,
162
165
  q as PageOverlay,
163
- _s as PieChart,
164
- Ra as PieChartPro,
165
- Cs as SelectButton,
166
+ Cs as PieChart,
167
+ Ea as PieChartPro,
168
+ ys as SelectButton,
166
169
  gs as SelectList,
167
- ys as SelectListOption,
168
- Ca as SelectListOptions,
169
- va as SingleSelectField,
170
- qa as SingleSelectFieldPro,
170
+ ws as SelectListOption,
171
+ ja as SelectListOptions,
172
+ Ta as SingleSelectField,
173
+ Ya as SingleSelectFieldPro,
171
174
  hs as Skeleton,
172
175
  cs as Switch,
173
176
  js as TextField,
174
177
  C as Typography,
175
- ws as chartColors,
176
- vs as dataset,
177
- Ss as defaultPieChartOptions,
178
- Is as description,
179
- Ns as dimension,
178
+ vs as chartColors,
179
+ Ss as dataset,
180
+ Is as defaultPieChartOptions,
181
+ Ns as description,
182
+ Ts as dimension,
180
183
  $s as dimensionTime,
181
- Ts as dimensionWithDateBounds,
182
- ks as dimensions,
183
- Ps as displayPercentages,
184
- Ls as genericBoolean,
185
- As as genericNumber,
186
- Ms as genericString,
187
- Bs as genericTimeRange,
188
- Ma as getDefaultPieChartOptions,
189
- $a as getObjectStableKey,
190
- Ba as getPieChartData,
191
- Ds as getStyle,
184
+ ks as dimensionWithDateBounds,
185
+ Ps as dimensions,
186
+ Ls as displayPercentages,
187
+ As as genericBoolean,
188
+ Ms as genericNumber,
189
+ Bs as genericString,
190
+ Ds as genericTimeRange,
191
+ za as getDefaultPieChartOptions,
192
+ Ba as getObjectStableKey,
193
+ Oa as getPieChartData,
194
+ Fs as getStyle,
192
195
  Rs as getStyleNumber,
193
- La as getThemeFormatter,
194
- Fs as i18n,
195
- zs as i18nSetup,
196
- Os as maxLegendItems,
197
- Ws as measure,
198
- Es as measures,
199
- qs as placeholder,
200
- Ta as remarkableTheme,
201
- Ks as resolveI18nProps,
202
- Xs as reverseXAxis,
203
- Us as reverseYAxis,
204
- Vs as showLegend,
205
- Ys as showLogarithmicScale,
206
- Gs as showTooltips,
207
- Hs as showTopItems,
208
- Js as showTotalLabels,
209
- Qs as showValueLabels,
210
- ka as styles,
211
- Zs as subInputAbbreviateLargeNumber,
212
- sa as subInputCurrency,
213
- aa as subInputDateBounds,
214
- ea as subInputDecimalPlaces,
215
- ta as subInputDisplayName,
216
- na as subInputGranularity,
217
- oa as subInputMaxCharacters,
218
- ra as subInputPrefix,
219
- ia as subInputSuffix,
220
- ca as title,
221
- la as xAxisLabel,
222
- ma as xAxisMaxItems,
223
- ua as xAxisRangeMax,
224
- ha as xAxisRangeMin,
225
- da as yAxisLabel,
226
- xa as yAxisMaxItems,
227
- pa as yAxisRangeMax,
228
- ba as yAxisRangeMin
196
+ Fa as getThemeFormatter,
197
+ zs as i18n,
198
+ Os as i18nSetup,
199
+ se as isColorValid,
200
+ Ws as maxLegendItems,
201
+ Es as maxResults,
202
+ qs as measure,
203
+ Ks as measures,
204
+ Vs as placeholder,
205
+ La as remarkableTheme,
206
+ Xs as resolveI18nProps,
207
+ Us as reverseXAxis,
208
+ Ys as reverseYAxis,
209
+ ae as setColorAlpha,
210
+ Gs as showLegend,
211
+ Hs as showLogarithmicScale,
212
+ Zs as showTooltips,
213
+ Js as showTopItems,
214
+ Qs as showTotalLabels,
215
+ sa as showValueLabels,
216
+ Aa as styles,
217
+ aa as subInputAbbreviateLargeNumber,
218
+ ea as subInputColor,
219
+ ta as subInputCurrency,
220
+ oa as subInputDateBounds,
221
+ na as subInputDecimalPlaces,
222
+ ra as subInputDisplayName,
223
+ ia as subInputGranularity,
224
+ ca as subInputMaxCharacters,
225
+ la as subInputPrefix,
226
+ ma as subInputSuffix,
227
+ ua as timeDimensionSubInputs,
228
+ ha as title,
229
+ xa as xAxisLabel,
230
+ da as xAxisMaxItems,
231
+ pa as xAxisRangeMax,
232
+ ba as xAxisRangeMin,
233
+ fa as yAxisLabel,
234
+ _a as yAxisMaxItems,
235
+ Ca as yAxisRangeMax,
236
+ ya as yAxisRangeMin
229
237
  };
230
238
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/remarkable-ui/shared/EmptyStateSkeleton/EmptyStateSkeleton.tsx","../src/remarkable-ui/shared/ButtonIcon/ButtonIcon.tsx","../src/remarkable-ui/shared/PageOverlay/PageOverlay.tsx","../src/remarkable-ui/shared/ConfirmCancelModal/ConfirmCancelModal.tsx","../src/remarkable-ui/shared/Switch/Switch.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport styles from './EmptyStateSkeleton.module.css';\n\ninterface EmptyStateSkeletonProps {\n className?: string;\n}\n\nexport const EmptyStateSkeleton: React.FC<EmptyStateSkeletonProps> = ({ className }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [visibleColumns, setVisibleColumns] = useState(2);\n\n useEffect(() => {\n const calculateColumns = () => {\n if (!containerRef.current) return;\n\n const containerWidth = containerRef.current.offsetWidth;\n const padding = 32; // 2rem total padding (1rem each side)\n const gap = 16; // 1rem gap between columns\n const minColumnWidth = 128; // 8rem\n const maxColumnWidth = 256; // 16rem\n\n const availableWidth = containerWidth - padding;\n\n // Calculate how many columns can fit at minimum width\n const maxPossibleColumns = Math.floor((availableWidth + gap) / (minColumnWidth + gap));\n\n // Calculate actual column width if we use maxPossibleColumns\n const actualColumnWidth =\n (availableWidth - (maxPossibleColumns - 1) * gap) / maxPossibleColumns;\n\n // If columns would be wider than max width, reduce column count\n let finalColumns = maxPossibleColumns;\n if (actualColumnWidth > maxColumnWidth) {\n finalColumns = Math.floor((availableWidth + gap) / (maxColumnWidth + gap));\n }\n\n setVisibleColumns(Math.max(2, finalColumns)); // Minimum 2 columns\n };\n\n calculateColumns();\n\n const resizeObserver = new ResizeObserver(calculateColumns);\n if (containerRef.current) {\n resizeObserver.observe(containerRef.current);\n }\n\n return () => resizeObserver.disconnect();\n }, []);\n\n const renderColumn = (index: number) => {\n const isEvenColumn = index % 2 === 0;\n return (\n <div key={index} className={styles.column}>\n {isEvenColumn ? (\n <>\n <div className={`${styles.box} ${styles.short}`}></div>\n <div className={`${styles.box} ${styles.tall}`}></div>\n <div className={`${styles.box} ${styles.short}`}></div>\n <div className={`${styles.box} ${styles.tall}`}></div>\n </>\n ) : (\n <>\n <div className={`${styles.box} ${styles.tall}`}></div>\n <div className={`${styles.box} ${styles.short}`}></div>\n <div className={`${styles.box} ${styles.tall}`}></div>\n <div className={`${styles.box} ${styles.short}`}></div>\n </>\n )}\n </div>\n );\n };\n\n return (\n <div ref={containerRef} className={`${styles.container} ${className || ''}`}>\n {Array.from({ length: visibleColumns }, (_, index) => renderColumn(index))}\n </div>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport styles from './ButtonIcon.module.css';\nimport { BaseButton, type BaseButtonProps } from '../BaseButton';\nimport { TablerIcon } from '@tabler/icons-react';\n\ntype ButtonIconProps = Omit<BaseButtonProps, 'size'> & {\n icon: TablerIcon;\n};\n\nexport const ButtonIcon: React.FC<ButtonIconProps> = ({\n icon: Icon,\n variant = 'primary',\n ...props\n}) => {\n return (\n <BaseButton variant={variant} size=\"medium\" className={styles.buttonIcon} {...props}>\n <Icon\n className={clsx(\n styles.icon,\n styles[`icon${variant.charAt(0).toUpperCase() + variant.slice(1)}`],\n )}\n />\n </BaseButton>\n );\n};\n","import clsx from 'clsx';\nimport styles from './PageOverlay.module.css';\nimport type { PageOverlayProps } from './PageOverlay.types';\n\nexport const PageOverlay: React.FC<PageOverlayProps> = ({ className, children }) => {\n return <div className={clsx(styles.overlay, className)}>{children}</div>;\n};\n","import React from 'react';\nimport { Card, CardHeader, CardContent } from '../Card/Card';\nimport { Button } from '../Button/Button';\nimport { Typography } from '../Typography/Typography';\nimport styles from './ConfirmCancelModal.module.css';\nimport type { ConfirmCancelModalProps } from './ConfirmCancelModal.types';\nimport { PageOverlay } from '../PageOverlay';\nimport { IconX } from '@tabler/icons-react';\nimport { IconButton } from '../IconButton/IconButton';\n\nexport const ConfirmCancelModal: React.FC<ConfirmCancelModalProps> = ({\n title,\n message,\n confirmLabel = 'Confirm',\n cancelLabel = 'Cancel',\n onConfirm,\n onCancel,\n className,\n}) => {\n return (\n <PageOverlay>\n <Card className={className}>\n <CardHeader title={title} rightContent={<IconButton icon={IconX} onClick={onCancel} />} />\n <CardContent>\n <Typography as=\"span\">{message}</Typography>\n <div className={styles.actions}>\n <Button variant=\"secondary\" size=\"medium\" onClick={onCancel}>\n {cancelLabel}\n </Button>\n <Button variant=\"primary\" size=\"medium\" onClick={onConfirm}>\n {confirmLabel}\n </Button>\n </div>\n </CardContent>\n </Card>\n </PageOverlay>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport styles from './Switch.module.css';\nimport { Typography } from '../Typography/Typography';\n\ntype SwitchProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> & {\n onChange?: (checked: boolean) => void;\n disabled?: boolean;\n className?: string;\n label?: string;\n};\n\nexport const Switch: React.FC<SwitchProps> = ({\n checked,\n onChange,\n disabled = false,\n className,\n label,\n ...props\n}) => {\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (!disabled && onChange) {\n onChange(event.target.checked);\n }\n };\n\n // Ensure accessibility: either aria-label must be provided\n if (!props['aria-label']) {\n console.warn(\n 'Switch component requires either a label prop or aria-label prop for accessibility',\n );\n }\n\n return (\n <div className={clsx(styles.switchContainer, className)}>\n <label\n className={clsx(styles.switchLabel, checked && styles.checked, disabled && styles.disabled)}\n >\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={handleChange}\n disabled={disabled}\n className={styles.switchInput}\n role=\"switch\"\n aria-checked={checked}\n aria-disabled={disabled}\n {...props}\n />\n <span className={styles.switchTrack} aria-hidden=\"true\">\n <span className={styles.switchThumb} aria-hidden=\"true\" />\n </span>\n {label && (\n <Typography as=\"span\" className={clsx(styles.labelText, disabled && styles.disabled)}>\n {label}\n </Typography>\n )}\n </label>\n </div>\n );\n};\n"],"names":["EmptyStateSkeleton","className","containerRef","useRef","visibleColumns","setVisibleColumns","useState","useEffect","calculateColumns","containerWidth","padding","gap","minColumnWidth","maxColumnWidth","availableWidth","maxPossibleColumns","actualColumnWidth","finalColumns","resizeObserver","renderColumn","index","isEvenColumn","styles","jsxs","Fragment","jsx","_","ButtonIcon","Icon","variant","props","BaseButton","clsx","PageOverlay","children","ConfirmCancelModal","title","message","confirmLabel","cancelLabel","onConfirm","onCancel","Card","CardHeader","IconButton","IconX","CardContent","Typography","Button","Switch","checked","onChange","disabled","label","handleChange","event"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/remarkable-ui/shared/EmptyStateSkeleton/EmptyStateSkeleton.tsx","../src/remarkable-ui/shared/ButtonIcon/ButtonIcon.tsx","../src/remarkable-ui/shared/PageOverlay/PageOverlay.tsx","../src/remarkable-ui/shared/ConfirmCancelModal/ConfirmCancelModal.tsx","../src/remarkable-ui/shared/Switch/Switch.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport styles from './EmptyStateSkeleton.module.css';\n\ninterface EmptyStateSkeletonProps {\n className?: string;\n}\n\nexport const EmptyStateSkeleton: React.FC<EmptyStateSkeletonProps> = ({ className }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [visibleColumns, setVisibleColumns] = useState(2);\n\n useEffect(() => {\n const calculateColumns = () => {\n if (!containerRef.current) return;\n\n const containerWidth = containerRef.current.offsetWidth;\n const padding = 32; // 2rem total padding (1rem each side)\n const gap = 16; // 1rem gap between columns\n const minColumnWidth = 128; // 8rem\n const maxColumnWidth = 256; // 16rem\n\n const availableWidth = containerWidth - padding;\n\n // Calculate how many columns can fit at minimum width\n const maxPossibleColumns = Math.floor((availableWidth + gap) / (minColumnWidth + gap));\n\n // Calculate actual column width if we use maxPossibleColumns\n const actualColumnWidth =\n (availableWidth - (maxPossibleColumns - 1) * gap) / maxPossibleColumns;\n\n // If columns would be wider than max width, reduce column count\n let finalColumns = maxPossibleColumns;\n if (actualColumnWidth > maxColumnWidth) {\n finalColumns = Math.floor((availableWidth + gap) / (maxColumnWidth + gap));\n }\n\n setVisibleColumns(Math.max(2, finalColumns)); // Minimum 2 columns\n };\n\n calculateColumns();\n\n const resizeObserver = new ResizeObserver(calculateColumns);\n if (containerRef.current) {\n resizeObserver.observe(containerRef.current);\n }\n\n return () => resizeObserver.disconnect();\n }, []);\n\n const renderColumn = (index: number) => {\n const isEvenColumn = index % 2 === 0;\n return (\n <div key={index} className={styles.column}>\n {isEvenColumn ? (\n <>\n <div className={`${styles.box} ${styles.short}`}></div>\n <div className={`${styles.box} ${styles.tall}`}></div>\n <div className={`${styles.box} ${styles.short}`}></div>\n <div className={`${styles.box} ${styles.tall}`}></div>\n </>\n ) : (\n <>\n <div className={`${styles.box} ${styles.tall}`}></div>\n <div className={`${styles.box} ${styles.short}`}></div>\n <div className={`${styles.box} ${styles.tall}`}></div>\n <div className={`${styles.box} ${styles.short}`}></div>\n </>\n )}\n </div>\n );\n };\n\n return (\n <div ref={containerRef} className={`${styles.container} ${className || ''}`}>\n {Array.from({ length: visibleColumns }, (_, index) => renderColumn(index))}\n </div>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport styles from './ButtonIcon.module.css';\nimport { BaseButton, type BaseButtonProps } from '../BaseButton';\nimport { TablerIcon } from '@tabler/icons-react';\n\ntype ButtonIconProps = Omit<BaseButtonProps, 'size'> & {\n icon: TablerIcon;\n};\n\nexport const ButtonIcon: React.FC<ButtonIconProps> = ({\n icon: Icon,\n variant = 'primary',\n ...props\n}) => {\n return (\n <BaseButton variant={variant} size=\"medium\" className={styles.buttonIcon} {...props}>\n <Icon\n className={clsx(\n styles.icon,\n styles[`icon${variant.charAt(0).toUpperCase() + variant.slice(1)}`],\n )}\n />\n </BaseButton>\n );\n};\n","import clsx from 'clsx';\nimport styles from './PageOverlay.module.css';\nimport type { PageOverlayProps } from './PageOverlay.types';\n\nexport const PageOverlay: React.FC<PageOverlayProps> = ({ className, children }) => {\n return <div className={clsx(styles.overlay, className)}>{children}</div>;\n};\n","import React from 'react';\nimport { Card, CardHeader, CardContent } from '../Card/Card';\nimport { Button } from '../Button/Button';\nimport { Typography } from '../Typography/Typography';\nimport styles from './ConfirmCancelModal.module.css';\nimport type { ConfirmCancelModalProps } from './ConfirmCancelModal.types';\nimport { PageOverlay } from '../PageOverlay';\nimport { IconX } from '@tabler/icons-react';\nimport { IconButton } from '../IconButton/IconButton';\n\nexport const ConfirmCancelModal: React.FC<ConfirmCancelModalProps> = ({\n title,\n message,\n confirmLabel = 'Confirm',\n cancelLabel = 'Cancel',\n onConfirm,\n onCancel,\n className,\n}) => {\n return (\n <PageOverlay>\n <Card className={className}>\n <CardHeader title={title} rightContent={<IconButton icon={IconX} onClick={onCancel} />} />\n <CardContent>\n <Typography as=\"span\">{message}</Typography>\n <div className={styles.actions}>\n <Button variant=\"secondary\" size=\"medium\" onClick={onCancel}>\n {cancelLabel}\n </Button>\n <Button variant=\"primary\" size=\"medium\" onClick={onConfirm}>\n {confirmLabel}\n </Button>\n </div>\n </CardContent>\n </Card>\n </PageOverlay>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport styles from './Switch.module.css';\nimport { Typography } from '../Typography/Typography';\n\ntype SwitchProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> & {\n onChange?: (checked: boolean) => void;\n disabled?: boolean;\n className?: string;\n label?: string;\n};\n\nexport const Switch: React.FC<SwitchProps> = ({\n checked,\n onChange,\n disabled = false,\n className,\n label,\n ...props\n}) => {\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (!disabled && onChange) {\n onChange(event.target.checked);\n }\n };\n\n // Ensure accessibility: either aria-label must be provided\n if (!props['aria-label']) {\n console.warn(\n 'Switch component requires either a label prop or aria-label prop for accessibility',\n );\n }\n\n return (\n <div className={clsx(styles.switchContainer, className)}>\n <label\n className={clsx(styles.switchLabel, checked && styles.checked, disabled && styles.disabled)}\n >\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={handleChange}\n disabled={disabled}\n className={styles.switchInput}\n role=\"switch\"\n aria-checked={checked}\n aria-disabled={disabled}\n {...props}\n />\n <span className={styles.switchTrack} aria-hidden=\"true\">\n <span className={styles.switchThumb} aria-hidden=\"true\" />\n </span>\n {label && (\n <Typography as=\"span\" className={clsx(styles.labelText, disabled && styles.disabled)}>\n {label}\n </Typography>\n )}\n </label>\n </div>\n );\n};\n"],"names":["EmptyStateSkeleton","className","containerRef","useRef","visibleColumns","setVisibleColumns","useState","useEffect","calculateColumns","containerWidth","padding","gap","minColumnWidth","maxColumnWidth","availableWidth","maxPossibleColumns","actualColumnWidth","finalColumns","resizeObserver","renderColumn","index","isEvenColumn","styles","jsxs","Fragment","jsx","_","ButtonIcon","Icon","variant","props","BaseButton","clsx","PageOverlay","children","ConfirmCancelModal","title","message","confirmLabel","cancelLabel","onConfirm","onCancel","Card","CardHeader","IconButton","IconX","CardContent","Typography","Button","Switch","checked","onChange","disabled","label","handleChange","event"],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { g as j } from "./utc-B2gCnkBk.js";
2
+ var h = { exports: {} }, m = h.exports, l;
3
+ function S() {
4
+ return l || (l = 1, (function(r, o) {
5
+ (function(e, s) {
6
+ r.exports = s();
7
+ })(m, (function() {
8
+ var e = "day";
9
+ return function(s, t, n) {
10
+ var y = function(i) {
11
+ return i.add(4 - i.isoWeekday(), e);
12
+ }, f = t.prototype;
13
+ f.isoWeekYear = function() {
14
+ return y(this).year();
15
+ }, f.isoWeek = function(i) {
16
+ if (!this.$utils().u(i)) return this.add(7 * (i - this.isoWeek()), e);
17
+ var a, u, c, p, O = y(this), b = (a = this.isoWeekYear(), u = this.$u, c = (u ? n.utc : n)().year(a).startOf("year"), p = 4 - c.isoWeekday(), c.isoWeekday() > 4 && (p += 7), c.add(p, e));
18
+ return O.diff(b, "week") + 1;
19
+ }, f.isoWeekday = function(i) {
20
+ return this.$utils().u(i) ? this.day() || 7 : this.day(this.day() % 7 ? i : i - 7);
21
+ };
22
+ var k = f.startOf;
23
+ f.startOf = function(i, a) {
24
+ var u = this.$utils(), c = !!u.u(a) || a;
25
+ return u.p(i) === "isoweek" ? c ? this.date(this.date() - (this.isoWeekday() - 1)).startOf("day") : this.date(this.date() - 1 - (this.isoWeekday() - 1) + 7).endOf("day") : k.bind(this)(i, a);
26
+ };
27
+ };
28
+ }));
29
+ })(h)), h.exports;
30
+ }
31
+ var v = S();
32
+ const $ = /* @__PURE__ */ j(v), d = /* @__PURE__ */ new Map(), g = /* @__PURE__ */ new Map(), W = "embeddable", w = () => {
33
+ const r = {};
34
+ for (const [o, e] of d)
35
+ r[o] = Object.fromEntries(e);
36
+ sessionStorage.setItem(W, JSON.stringify(r));
37
+ }, x = () => {
38
+ const r = sessionStorage.getItem(W);
39
+ if (!r) return;
40
+ const o = JSON.parse(r);
41
+ for (const e in o) {
42
+ const s = new Map(Object.entries(o[e] ?? {}));
43
+ d.set(e, s), g.set(e, new Set(s.values()));
44
+ }
45
+ };
46
+ x();
47
+ const A = (r, o, e, s) => {
48
+ d.has(r) || (d.set(r, /* @__PURE__ */ new Map()), g.set(r, /* @__PURE__ */ new Set()));
49
+ const t = d.get(r);
50
+ if (t.has(o)) return t.get(o);
51
+ const n = e[s % e.length];
52
+ if (typeof n != "string")
53
+ throw new Error("No valid color found in palette");
54
+ return t.set(o, n), w(), n;
55
+ }, E = (r) => {
56
+ const o = (t) => t && typeof t == "object" && !Array.isArray(t) ? "{" + Object.keys(t).sort().map((n) => `"${n}":${o(t[n])}`).join(",") + "}" : Array.isArray(t) ? "[" + t.map(o).join(",") + "]" : JSON.stringify(t), e = o(r);
57
+ let s = 2166136261;
58
+ for (let t = 0; t < e.length; t++)
59
+ s ^= e.charCodeAt(t), s += (s << 1) + (s << 4) + (s << 7) + (s << 8) + (s << 24);
60
+ return (s >>> 0).toString(16);
61
+ };
62
+ export {
63
+ A as a,
64
+ E as g,
65
+ $ as i
66
+ };
67
+ //# sourceMappingURL=object.utils-BNKDL7Y9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.utils-BNKDL7Y9.js","sources":["../node_modules/dayjs/plugin/isoWeek.js","../src/remarkable-pro/theme/styles/styles.utils.ts","../src/remarkable-pro/utils.ts/object.utils.ts"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isoWeek=t()}(this,(function(){\"use strict\";var e=\"day\";return function(t,i,s){var a=function(t){return t.add(4-t.isoWeekday(),e)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),e);var i,d,n,o,r=a(this),u=(i=this.isoWeekYear(),d=this.$u,n=(d?s.utc:s)().year(i).startOf(\"year\"),o=4-n.isoWeekday(),n.isoWeekday()>4&&(o+=7),n.add(o,e));return r.diff(u,\"week\")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return\"isoweek\"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf(\"day\"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf(\"day\"):n.bind(this)(e,t)}}}));","const generateCssVariables = (variables: Record<string, string>) => {\n let textContent = '';\n Object.keys(variables).forEach((key) => {\n const value = variables[key];\n textContent += `${key}: ${value};\\n`;\n });\n return textContent;\n};\n\n// TODO: check the possibility of injecting via CSS (future)\nexport const injectCssVariables = (styles: Record<string, string>) => {\n const css = `:root {\\n${generateCssVariables(styles)}}`;\n const styleId = 'remarkable-ui-embeddable-style';\n let styleEl = document.getElementById(styleId) as HTMLStyleElement | null;\n\n if (styleEl) {\n // Overwrite the old vars\n styleEl.textContent = css;\n } else {\n styleEl = document.createElement('style');\n styleEl.id = styleId;\n styleEl.textContent = css;\n document.head.appendChild(styleEl);\n }\n\n return () => styleEl?.remove();\n};\n\nconst colorsMap = new Map<string, Map<string, string>>();\nconst colorsInUse = new Map<string, Set<string>>();\n\n/* \nWe save the colors to session storage so that they are persistent across refreshes. \nThis is important, for example, if the user is looking at multiple tabs, or if the user refreshes the page.\n*/\nconst STORAGE_KEY = 'embeddable';\n\nconst saveColorsMap = () => {\n const obj: Record<string, Record<string, string>> = {};\n for (const [cat, m] of colorsMap) {\n obj[cat] = Object.fromEntries(m);\n }\n sessionStorage.setItem(STORAGE_KEY, JSON.stringify(obj));\n};\n\nconst loadColorMap = () => {\n const data = sessionStorage.getItem(STORAGE_KEY);\n if (!data) return;\n const obj: Record<string, Record<string, string>> = JSON.parse(data);\n for (const cat in obj) {\n const m = new Map(Object.entries(obj[cat] ?? {}));\n colorsMap.set(cat, m);\n colorsInUse.set(cat, new Set(m.values()));\n }\n};\n\nloadColorMap();\n\nexport const getColor = (key: string, value: string, palette: string[], idx: number): string => {\n // Initialize structures if needed\n if (!colorsMap.has(key)) {\n colorsMap.set(key, new Map());\n colorsInUse.set(key, new Set());\n }\n\n const catMap = colorsMap.get(key)!;\n\n // Return existing color if already assigned\n if (catMap.has(value)) return catMap.get(value)!;\n\n // Find first colorsInUse color, fallback to indexed one\n const color = palette[idx % palette.length];\n\n if (typeof color !== 'string') {\n throw new Error('No valid color found in palette');\n }\n\n // Save mapping and mark as colorsInUse\n catMap.set(value, color);\n saveColorsMap();\n\n return color;\n};\n","export const getObjectStableKey = (obj: unknown): string => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const stableStringify = (o: any): string => {\n if (o && typeof o === 'object' && !Array.isArray(o)) {\n return (\n '{' +\n Object.keys(o)\n .sort()\n .map((k) => `\"${k}\":${stableStringify(o[k])}`)\n .join(',') +\n '}'\n );\n } else if (Array.isArray(o)) {\n return '[' + o.map(stableStringify).join(',') + ']';\n }\n return JSON.stringify(o);\n };\n\n const json = stableStringify(obj);\n\n // FNV-1a 32-bit hash\n let hash = 0x811c9dc5;\n for (let i = 0; i < json.length; i++) {\n hash ^= json.charCodeAt(i);\n hash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);\n }\n\n return (hash >>> 0).toString(16);\n};\n"],"names":["t","module","this","i","s","a","d","n","o","r","u","e","colorsMap","colorsInUse","STORAGE_KEY","saveColorsMap","obj","cat","m","loadColorMap","data","getColor","key","value","palette","idx","catMap","color","getObjectStableKey","stableStringify","k","json","hash"],"mappings":"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","x_google_ignoreList":[0]}