@luzmo/dashboard-contents-types 1.0.42 → 1.0.43

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 (157) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/area-chart/area-chart-options.config.cjs +1 -1
  3. package/area-chart/area-chart-options.config.cjs.map +1 -1
  4. package/area-chart/area-chart-options.config.js +12 -7
  5. package/area-chart/area-chart-options.config.js.map +1 -1
  6. package/bar-chart/bar-chart-options.config.cjs +1 -1
  7. package/bar-chart/bar-chart-options.config.cjs.map +1 -1
  8. package/bar-chart/bar-chart-options.config.js +12 -10
  9. package/bar-chart/bar-chart-options.config.js.map +1 -1
  10. package/box-plot/box-plot-options.config.cjs +1 -1
  11. package/box-plot/box-plot-options.config.cjs.map +1 -1
  12. package/box-plot/box-plot-options.config.js +24 -19
  13. package/box-plot/box-plot-options.config.js.map +1 -1
  14. package/bubble-chart/bubble-chart-options.config.cjs +1 -1
  15. package/bubble-chart/bubble-chart-options.config.cjs.map +1 -1
  16. package/bubble-chart/bubble-chart-options.config.js +9 -7
  17. package/bubble-chart/bubble-chart-options.config.js.map +1 -1
  18. package/choropleth-map/choropleth-map-options.config.cjs +1 -1
  19. package/choropleth-map/choropleth-map-options.config.cjs.map +1 -1
  20. package/choropleth-map/choropleth-map-options.config.js +32 -30
  21. package/choropleth-map/choropleth-map-options.config.js.map +1 -1
  22. package/circle-pack-chart/circle-pack-chart-options.config.cjs +1 -1
  23. package/circle-pack-chart/circle-pack-chart-options.config.cjs.map +1 -1
  24. package/circle-pack-chart/circle-pack-chart-options.config.js +36 -31
  25. package/circle-pack-chart/circle-pack-chart-options.config.js.map +1 -1
  26. package/column-chart/column-chart-options.config.cjs +1 -1
  27. package/column-chart/column-chart-options.config.cjs.map +1 -1
  28. package/column-chart/column-chart-options.config.js +12 -10
  29. package/column-chart/column-chart-options.config.js.map +1 -1
  30. package/combination-chart/combination-chart-options.config.cjs +1 -1
  31. package/combination-chart/combination-chart-options.config.cjs.map +1 -1
  32. package/combination-chart/combination-chart-options.config.js +8 -3
  33. package/combination-chart/combination-chart-options.config.js.map +1 -1
  34. package/donut-chart/donut-chart-options.config.cjs +1 -1
  35. package/donut-chart/donut-chart-options.config.cjs.map +1 -1
  36. package/donut-chart/donut-chart-options.config.js +8 -4
  37. package/donut-chart/donut-chart-options.config.js.map +1 -1
  38. package/funnel-chart/funnel-chart-options.config.cjs +1 -1
  39. package/funnel-chart/funnel-chart-options.config.cjs.map +1 -1
  40. package/funnel-chart/funnel-chart-options.config.js +5 -3
  41. package/funnel-chart/funnel-chart-options.config.js.map +1 -1
  42. package/heat-table/heat-table-options.config.cjs +1 -1
  43. package/heat-table/heat-table-options.config.cjs.map +1 -1
  44. package/heat-table/heat-table-options.config.js +21 -19
  45. package/heat-table/heat-table-options.config.js.map +1 -1
  46. package/index.cjs +1 -1
  47. package/index.js +192 -191
  48. package/line-chart/line-chart-options.config.cjs +1 -1
  49. package/line-chart/line-chart-options.config.cjs.map +1 -1
  50. package/line-chart/line-chart-options.config.js +10 -5
  51. package/line-chart/line-chart-options.config.js.map +1 -1
  52. package/ohlc-chart/ohlc-chart-options.config.cjs +1 -1
  53. package/ohlc-chart/ohlc-chart-options.config.cjs.map +1 -1
  54. package/ohlc-chart/ohlc-chart-options.config.js +8 -3
  55. package/ohlc-chart/ohlc-chart-options.config.js.map +1 -1
  56. package/package.json +1 -1
  57. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.de.cjs +1 -1
  58. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.de.cjs.map +1 -1
  59. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.de.js +2 -1
  60. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.de.js.map +1 -1
  61. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.en.cjs +1 -1
  62. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.en.cjs.map +1 -1
  63. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.en.js +2 -1
  64. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.en.js.map +1 -1
  65. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.es.cjs +1 -1
  66. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.es.cjs.map +1 -1
  67. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.es.js +2 -1
  68. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.es.js.map +1 -1
  69. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.fr.cjs +1 -1
  70. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.fr.cjs.map +1 -1
  71. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.fr.js +2 -1
  72. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.fr.js.map +1 -1
  73. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.nl.cjs +1 -1
  74. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.nl.cjs.map +1 -1
  75. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.nl.js +2 -1
  76. package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.nl.js.map +1 -1
  77. package/parallel-coordinates-plot/parallel-coordinates-plot-options.config.cjs +1 -1
  78. package/parallel-coordinates-plot/parallel-coordinates-plot-options.config.cjs.map +1 -1
  79. package/parallel-coordinates-plot/parallel-coordinates-plot-options.config.js +25 -20
  80. package/parallel-coordinates-plot/parallel-coordinates-plot-options.config.js.map +1 -1
  81. package/pivot-table/pivot-table-options.config.cjs +1 -1
  82. package/pivot-table/pivot-table-options.config.cjs.map +1 -1
  83. package/pivot-table/pivot-table-options.config.js +5 -3
  84. package/pivot-table/pivot-table-options.config.js.map +1 -1
  85. package/pyramid-chart/pyramid-chart-options.config.cjs +1 -1
  86. package/pyramid-chart/pyramid-chart-options.config.cjs.map +1 -1
  87. package/pyramid-chart/pyramid-chart-options.config.js +5 -3
  88. package/pyramid-chart/pyramid-chart-options.config.js.map +1 -1
  89. package/sankey-diagram/sankey-diagram-options.config.cjs +1 -1
  90. package/sankey-diagram/sankey-diagram-options.config.cjs.map +1 -1
  91. package/sankey-diagram/sankey-diagram-options.config.js +5 -3
  92. package/sankey-diagram/sankey-diagram-options.config.js.map +1 -1
  93. package/scatter-plot/scatter-plot-options.config.cjs +1 -1
  94. package/scatter-plot/scatter-plot-options.config.cjs.map +1 -1
  95. package/scatter-plot/scatter-plot-options.config.js +10 -5
  96. package/scatter-plot/scatter-plot-options.config.js.map +1 -1
  97. package/shared/utils/interactivity-options.config.cjs +2 -0
  98. package/shared/utils/interactivity-options.config.cjs.map +1 -0
  99. package/shared/utils/interactivity-options.config.js +56 -0
  100. package/shared/utils/interactivity-options.config.js.map +1 -0
  101. package/shared/utils/interactivity-options.i18n.cjs +2 -0
  102. package/shared/utils/interactivity-options.i18n.cjs.map +1 -0
  103. package/shared/utils/interactivity-options.i18n.js +42 -0
  104. package/shared/utils/interactivity-options.i18n.js.map +1 -0
  105. package/shared/utils/options-loader.cjs +1 -1
  106. package/shared/utils/options-loader.cjs.map +1 -1
  107. package/shared/utils/options-loader.js +11 -11
  108. package/shared/utils/options-loader.js.map +1 -1
  109. package/src/lib/area-chart/area-chart-options.config.d.ts.map +1 -1
  110. package/src/lib/bar-chart/bar-chart-options.config.d.ts.map +1 -1
  111. package/src/lib/box-plot/box-plot-options.config.d.ts.map +1 -1
  112. package/src/lib/bubble-chart/bubble-chart-options.config.d.ts.map +1 -1
  113. package/src/lib/choropleth-map/choropleth-map-options.config.d.ts.map +1 -1
  114. package/src/lib/circle-pack-chart/circle-pack-chart-options.config.d.ts.map +1 -1
  115. package/src/lib/column-chart/column-chart-options.config.d.ts.map +1 -1
  116. package/src/lib/combination-chart/combination-chart-options.config.d.ts.map +1 -1
  117. package/src/lib/donut-chart/donut-chart-options.config.d.ts.map +1 -1
  118. package/src/lib/funnel-chart/funnel-chart-options.config.d.ts.map +1 -1
  119. package/src/lib/heat-table/heat-table-options.config.d.ts.map +1 -1
  120. package/src/lib/line-chart/line-chart-options.config.d.ts.map +1 -1
  121. package/src/lib/ohlc-chart/ohlc-chart-options.config.d.ts.map +1 -1
  122. package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.de.d.ts +3 -0
  123. package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.de.d.ts.map +1 -1
  124. package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.en.d.ts +3 -0
  125. package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.en.d.ts.map +1 -1
  126. package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.es.d.ts +3 -0
  127. package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.es.d.ts.map +1 -1
  128. package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.fr.d.ts +3 -0
  129. package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.fr.d.ts.map +1 -1
  130. package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.nl.d.ts +3 -0
  131. package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.nl.d.ts.map +1 -1
  132. package/src/lib/parallel-coordinates-plot/parallel-coordinates-plot-options.config.d.ts.map +1 -1
  133. package/src/lib/pivot-table/pivot-table-options.config.d.ts.map +1 -1
  134. package/src/lib/pyramid-chart/pyramid-chart-options.config.d.ts.map +1 -1
  135. package/src/lib/sankey-diagram/sankey-diagram-options.config.d.ts.map +1 -1
  136. package/src/lib/scatter-plot/scatter-plot-options.config.d.ts.map +1 -1
  137. package/src/lib/shared/utils/index.d.ts +1 -0
  138. package/src/lib/shared/utils/index.d.ts.map +1 -1
  139. package/src/lib/shared/utils/interactivity-options.config.d.ts +15 -0
  140. package/src/lib/shared/utils/interactivity-options.config.d.ts.map +1 -0
  141. package/src/lib/shared/utils/interactivity-options.i18n.d.ts +3 -0
  142. package/src/lib/shared/utils/interactivity-options.i18n.d.ts.map +1 -0
  143. package/src/lib/sunburst-chart/sunburst-chart-options.config.d.ts.map +1 -1
  144. package/src/lib/treemap-chart/treemap-chart-options.config.d.ts.map +1 -1
  145. package/src/lib/wordcloud-chart/wordcloud-chart-options.config.d.ts.map +1 -1
  146. package/sunburst-chart/sunburst-chart-options.config.cjs +1 -1
  147. package/sunburst-chart/sunburst-chart-options.config.cjs.map +1 -1
  148. package/sunburst-chart/sunburst-chart-options.config.js +5 -3
  149. package/sunburst-chart/sunburst-chart-options.config.js.map +1 -1
  150. package/treemap-chart/treemap-chart-options.config.cjs +1 -1
  151. package/treemap-chart/treemap-chart-options.config.cjs.map +1 -1
  152. package/treemap-chart/treemap-chart-options.config.js +10 -8
  153. package/treemap-chart/treemap-chart-options.config.js.map +1 -1
  154. package/wordcloud-chart/wordcloud-chart-options.config.cjs +1 -1
  155. package/wordcloud-chart/wordcloud-chart-options.config.cjs.map +1 -1
  156. package/wordcloud-chart/wordcloud-chart-options.config.js +5 -3
  157. package/wordcloud-chart/wordcloud-chart-options.config.js.map +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  All notable changes to this project will be documented in this file.
2
2
 
3
+ ## [1.0.43] - 2026-10-02
4
+
5
+ ### Added
6
+
7
+ - Exposed filter-on-select and brush-filter controls in supported chart option configurations, including translated labels and compatibility handling for Go to URL and custom events.
8
+
3
9
  ## [1.0.42] - 2026-09-28
4
10
 
5
11
  ### Added
@@ -1,2 +1,2 @@
1
- const e=require("../helpers.cjs"),t=require("../shared/utils/axis-options.config.cjs"),n=require("../shared/utils/guidelines-options.config.cjs"),r=require("../shared/utils/info-tooltip-options.config.cjs");var i=({slots:e})=>Array.isArray(e)&&e?.length>0?(e?.find(e=>e?.name===`legend`)?.content?.length??0)>0||(e?.find(e=>e?.name===`measure`)?.content?.length??0)>1:!1,a=[{key:`general`,type:`group`,open:!0,children:[{key:`display.title`,control:{label:`Title`,type:`switch`,default:!0}},{type:`divider`},{key:`mode`,control:{label:`Mode`,type:`picker`,default:`stacked`,enum:[`100`,`unstacked`,`stacked`,`stream`]},visibleIf:i},{key:`interpolation`,control:{label:`Interpolation`,type:`picker`,default:`linear`,enum:[`linear`,`step-before`,`step-after`,`monotone`]}},{key:`display.legend`,control:{label:`Legend`,type:`switch`,default:!0},visibleIf:i},{key:`display.modeOption`,control:{label:`Mode option`,type:`switch`,default:!0},visibleIf:i},{key:`missingValue.type`,control:{label:`Fill missing values`,type:`picker`,default:`no`,enum:[`no`,`break`,`manual`]},visibleIf:({slots:e})=>Array.isArray(e)&&e?.find(e=>e?.name===`x-axis`)?.content?.[0]?.type===`datetime`},{key:`missingValue.value`,control:{label:`Value`,type:`number-field`,default:0,min:1},visibleIf:({options:e,slots:t})=>Array.isArray(t)&&t?.find(e=>e?.name===`x-axis`)?.content?.[0]?.type===`datetime`&&e?.missingValue?.type===`manual`},{key:`color`,control:{label:`Area color`,type:`color-picker`,default:({theme:t})=>e.getThemeMainColor(t),extraLabel:({options:t,theme:n})=>e.getThemeMainColorResetLabel(t,n,`color`),extraLabelHasClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelHasClickAction(t,n,`color`),extraLabelClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelClickAction(t,n,`color`)},visibleIf:({slots:e})=>Array.isArray(e)&&e?.length>0?!((e?.find(e=>e?.name===`legend`)?.content?.length??0)>0)&&(e?.find(e=>e?.name===`measure`)?.content?.length??0)<=1:!0}]},t.createAxesOptionsGroup([{axis:`x`,role:`category`,color:!0,label:!0,tickMode:!0,gridlines:!0,datetimeTickStyle:!0},{axis:`y`,role:`measure`,scale:!0,manualRange:{key:`axis.y.manualAxesRange`,discriminatorKey:`axis.y.type`},color:!0,label:!0,tickDensity:!0,tickMode:!0,gridlines:!0}]),{key:`legend`,type:`group`,open:!1,children:[{key:`legend.position`,control:{label:`Position`,type:`position-picker`,default:`topRight`,enum:[`topLeft`,`top`,`topRight`,`right`,`bottomRight`,`bottom`,`bottomLeft`,`left`]}},{key:`legend.customOrder`,control:{label:`Custom order`,description:`Drag items in the chart legend to set the order.`,type:`switch`,default:!1}},{key:`interactivity.legendReorder`,control:{label:`Allow viewers to reorder`,type:`switch`,default:!1},visibleIf:({options:e})=>e?.legend?.customOrder===!0}],visibleIf:i},n.createGuidelinesOptionsGroup(n.cartesianGuidelineLineTypes),r.createInfoTooltipOptionsGroup()];exports.default=a;
1
+ const e=require("../helpers.cjs"),t=require("../shared/utils/axis-options.config.cjs"),n=require("../shared/utils/guidelines-options.config.cjs"),r=require("../shared/utils/info-tooltip-options.config.cjs"),i=require("../shared/utils/interactivity-options.config.cjs");var a=({slots:e})=>Array.isArray(e)&&e?.length>0?(e?.find(e=>e?.name===`legend`)?.content?.length??0)>0||(e?.find(e=>e?.name===`measure`)?.content?.length??0)>1:!1,o=[{key:`general`,type:`group`,open:!0,children:[{key:`display.title`,control:{label:`Title`,type:`switch`,default:!0}},{type:`divider`},{key:`mode`,control:{label:`Mode`,type:`picker`,default:`stacked`,enum:[`100`,`unstacked`,`stacked`,`stream`]},visibleIf:a},{key:`interpolation`,control:{label:`Interpolation`,type:`picker`,default:`linear`,enum:[`linear`,`step-before`,`step-after`,`monotone`]}},{key:`display.legend`,control:{label:`Legend`,type:`switch`,default:!0},visibleIf:a},{key:`display.modeOption`,control:{label:`Mode option`,type:`switch`,default:!0},visibleIf:a},{key:`missingValue.type`,control:{label:`Fill missing values`,type:`picker`,default:`no`,enum:[`no`,`break`,`manual`]},visibleIf:({slots:e})=>Array.isArray(e)&&e?.find(e=>e?.name===`x-axis`)?.content?.[0]?.type===`datetime`},{key:`missingValue.value`,control:{label:`Value`,type:`number-field`,default:0,min:1},visibleIf:({options:e,slots:t})=>Array.isArray(t)&&t?.find(e=>e?.name===`x-axis`)?.content?.[0]?.type===`datetime`&&e?.missingValue?.type===`manual`},{key:`color`,control:{label:`Area color`,type:`color-picker`,default:({theme:t})=>e.getThemeMainColor(t),extraLabel:({options:t,theme:n})=>e.getThemeMainColorResetLabel(t,n,`color`),extraLabelHasClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelHasClickAction(t,n,`color`),extraLabelClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelClickAction(t,n,`color`)},visibleIf:({slots:e})=>Array.isArray(e)&&e?.length>0?!((e?.find(e=>e?.name===`legend`)?.content?.length??0)>0)&&(e?.find(e=>e?.name===`measure`)?.content?.length??0)<=1:!0}]},t.createAxesOptionsGroup([{axis:`x`,role:`category`,color:!0,label:!0,tickMode:!0,gridlines:!0,datetimeTickStyle:!0},{axis:`y`,role:`measure`,scale:!0,manualRange:{key:`axis.y.manualAxesRange`,discriminatorKey:`axis.y.type`},color:!0,label:!0,tickDensity:!0,tickMode:!0,gridlines:!0}]),{key:`legend`,type:`group`,open:!1,children:[{key:`legend.position`,control:{label:`Position`,type:`position-picker`,default:`topRight`,enum:[`topLeft`,`top`,`topRight`,`right`,`bottomRight`,`bottom`,`bottomLeft`,`left`]}},{key:`legend.customOrder`,control:{label:`Custom order`,description:`Drag items in the chart legend to set the order.`,type:`switch`,default:!1}},{key:`interactivity.legendReorder`,control:{label:`Allow viewers to reorder`,type:`switch`,default:!1},visibleIf:({options:e})=>e?.legend?.customOrder===!0}],visibleIf:a},n.createGuidelinesOptionsGroup(n.cartesianGuidelineLineTypes),r.createInfoTooltipOptionsGroup(),i.createInteractivityOptionsGroup({brush:{default:!0,excludesClickActions:!0}})];exports.default=o;
2
2
  //# sourceMappingURL=area-chart-options.config.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"area-chart-options.config.cjs","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/area-chart/area-chart-options.config.ts"],"sourcesContent":["import {\n getThemeMainColor,\n getThemeMainColorExtraLabelClickAction,\n getThemeMainColorExtraLabelHasClickAction,\n getThemeMainColorResetLabel\n} from '../helpers';\nimport { createAxesOptionsGroup } from '../shared/utils/axis-options.config';\nimport {\n cartesianGuidelineLineTypes,\n createGuidelinesOptionsGroup\n} from '../shared/utils/guidelines-options.config';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { AreaChartViewOptions } from './area-chart-options';\n\ntype AreaChartConfigContext = OptionsConfigContext<AreaChartViewOptions>;\n\nconst hasLegendOrMultipleMeasure = ({ slots }: AreaChartConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (\n (slots?.find((s) => s?.name === 'legend')?.content?.length ?? 0) > 0\n || (slots?.find((s) => s?.name === 'measure')?.content?.length ?? 0) > 1\n );\n }\n\n return false;\n};\n\nconst hasNoLegendAndNoMultipleMeasure = ({ slots }: AreaChartConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (\n !((slots?.find((s) => s?.name === 'legend')?.content?.length ?? 0) > 0)\n && (slots?.find((s) => s?.name === 'measure')?.content?.length ?? 0) <= 1\n );\n }\n\n return true;\n};\n\nconst hasDatetimeAxis = ({ slots }: AreaChartConfigContext) =>\n Array.isArray(slots) && slots?.find((s) => s?.name === 'x-axis')?.content?.[0]?.type === 'datetime';\n\nconst hasDatetimeAxisAndManualBreak = ({ options, slots }: AreaChartConfigContext) =>\n Array.isArray(slots)\n && slots?.find((s) => s?.name === 'x-axis')?.content?.[0]?.type === 'datetime'\n && options?.missingValue?.type === 'manual';\n\nconst areaChartOptionsConfig: OptionsConfig<AreaChartConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'display.title',\n control: {\n label: 'Title',\n type: 'switch',\n default: true\n }\n },\n {\n type: 'divider'\n },\n {\n key: 'mode',\n control: {\n label: 'Mode',\n type: 'picker',\n default: 'stacked',\n enum: ['100', 'unstacked', 'stacked', 'stream']\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'interpolation',\n control: {\n label: 'Interpolation',\n type: 'picker',\n default: 'linear',\n enum: ['linear', 'step-before', 'step-after', 'monotone']\n }\n },\n {\n key: 'display.legend',\n control: {\n label: 'Legend',\n type: 'switch',\n default: true\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'display.modeOption',\n control: {\n label: 'Mode option',\n type: 'switch',\n default: true\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'missingValue.type',\n control: {\n label: 'Fill missing values',\n type: 'picker',\n default: 'no',\n enum: ['no', 'break', 'manual']\n },\n visibleIf: hasDatetimeAxis\n },\n {\n key: 'missingValue.value',\n control: {\n label: 'Value',\n type: 'number-field',\n default: 0,\n min: 1\n },\n visibleIf: hasDatetimeAxisAndManualBreak\n },\n {\n key: 'color',\n control: {\n label: 'Area color',\n type: 'color-picker',\n default: ({ theme }: AreaChartConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: AreaChartConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'color'),\n extraLabelHasClickAction: ({ options, theme }: AreaChartConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'color'),\n extraLabelClickAction: ({ options, theme }: AreaChartConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'color')\n },\n visibleIf: hasNoLegendAndNoMultipleMeasure\n }\n ]\n },\n createAxesOptionsGroup<AreaChartConfigContext>([\n { axis: 'x', role: 'category', color: true, label: true, tickMode: true, gridlines: true, datetimeTickStyle: true },\n { axis: 'y', role: 'measure', scale: true, manualRange: { key: 'axis.y.manualAxesRange', discriminatorKey: 'axis.y.type' }, color: true, label: true, tickDensity: true, tickMode: true, gridlines: true }\n ]),\n {\n key: 'legend',\n type: 'group',\n open: false,\n children: [\n {\n key: 'legend.position',\n control: {\n label: 'Position',\n type: 'position-picker',\n default: 'topRight',\n enum: ['topLeft', 'top', 'topRight', 'right', 'bottomRight', 'bottom', 'bottomLeft', 'left']\n }\n },\n {\n key: 'legend.customOrder',\n control: {\n label: 'Custom order',\n description: 'Drag items in the chart legend to set the order.',\n type: 'switch',\n default: false\n }\n },\n {\n key: 'interactivity.legendReorder',\n control: {\n label: 'Allow viewers to reorder',\n type: 'switch',\n default: false\n },\n visibleIf: ({ options }: AreaChartConfigContext) => options?.legend?.customOrder === true\n }\n ],\n visibleIf: hasLegendOrMultipleMeasure\n },\n createGuidelinesOptionsGroup(cartesianGuidelineLineTypes),\n createInfoTooltipOptionsGroup<AreaChartConfigContext>()\n];\n\nexport default areaChartOptionsConfig;\n"],"mappings":"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"}
1
+ {"version":3,"file":"area-chart-options.config.cjs","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/area-chart/area-chart-options.config.ts"],"sourcesContent":["import {\n getThemeMainColor,\n getThemeMainColorExtraLabelClickAction,\n getThemeMainColorExtraLabelHasClickAction,\n getThemeMainColorResetLabel\n} from '../helpers';\nimport { createAxesOptionsGroup } from '../shared/utils/axis-options.config';\nimport {\n cartesianGuidelineLineTypes,\n createGuidelinesOptionsGroup\n} from '../shared/utils/guidelines-options.config';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport { createInteractivityOptionsGroup } from '../shared/utils/interactivity-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { AreaChartViewOptions } from './area-chart-options';\n\ntype AreaChartConfigContext = OptionsConfigContext<AreaChartViewOptions>;\n\nconst hasLegendOrMultipleMeasure = ({ slots }: AreaChartConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (\n (slots?.find((s) => s?.name === 'legend')?.content?.length ?? 0) > 0\n || (slots?.find((s) => s?.name === 'measure')?.content?.length ?? 0) > 1\n );\n }\n\n return false;\n};\n\nconst hasNoLegendAndNoMultipleMeasure = ({ slots }: AreaChartConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (\n !((slots?.find((s) => s?.name === 'legend')?.content?.length ?? 0) > 0)\n && (slots?.find((s) => s?.name === 'measure')?.content?.length ?? 0) <= 1\n );\n }\n\n return true;\n};\n\nconst hasDatetimeAxis = ({ slots }: AreaChartConfigContext) =>\n Array.isArray(slots) && slots?.find((s) => s?.name === 'x-axis')?.content?.[0]?.type === 'datetime';\n\nconst hasDatetimeAxisAndManualBreak = ({ options, slots }: AreaChartConfigContext) =>\n Array.isArray(slots)\n && slots?.find((s) => s?.name === 'x-axis')?.content?.[0]?.type === 'datetime'\n && options?.missingValue?.type === 'manual';\n\nconst areaChartOptionsConfig: OptionsConfig<AreaChartConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'display.title',\n control: {\n label: 'Title',\n type: 'switch',\n default: true\n }\n },\n {\n type: 'divider'\n },\n {\n key: 'mode',\n control: {\n label: 'Mode',\n type: 'picker',\n default: 'stacked',\n enum: ['100', 'unstacked', 'stacked', 'stream']\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'interpolation',\n control: {\n label: 'Interpolation',\n type: 'picker',\n default: 'linear',\n enum: ['linear', 'step-before', 'step-after', 'monotone']\n }\n },\n {\n key: 'display.legend',\n control: {\n label: 'Legend',\n type: 'switch',\n default: true\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'display.modeOption',\n control: {\n label: 'Mode option',\n type: 'switch',\n default: true\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'missingValue.type',\n control: {\n label: 'Fill missing values',\n type: 'picker',\n default: 'no',\n enum: ['no', 'break', 'manual']\n },\n visibleIf: hasDatetimeAxis\n },\n {\n key: 'missingValue.value',\n control: {\n label: 'Value',\n type: 'number-field',\n default: 0,\n min: 1\n },\n visibleIf: hasDatetimeAxisAndManualBreak\n },\n {\n key: 'color',\n control: {\n label: 'Area color',\n type: 'color-picker',\n default: ({ theme }: AreaChartConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: AreaChartConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'color'),\n extraLabelHasClickAction: ({ options, theme }: AreaChartConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'color'),\n extraLabelClickAction: ({ options, theme }: AreaChartConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'color')\n },\n visibleIf: hasNoLegendAndNoMultipleMeasure\n }\n ]\n },\n createAxesOptionsGroup<AreaChartConfigContext>([\n { axis: 'x', role: 'category', color: true, label: true, tickMode: true, gridlines: true, datetimeTickStyle: true },\n { axis: 'y', role: 'measure', scale: true, manualRange: { key: 'axis.y.manualAxesRange', discriminatorKey: 'axis.y.type' }, color: true, label: true, tickDensity: true, tickMode: true, gridlines: true }\n ]),\n {\n key: 'legend',\n type: 'group',\n open: false,\n children: [\n {\n key: 'legend.position',\n control: {\n label: 'Position',\n type: 'position-picker',\n default: 'topRight',\n enum: ['topLeft', 'top', 'topRight', 'right', 'bottomRight', 'bottom', 'bottomLeft', 'left']\n }\n },\n {\n key: 'legend.customOrder',\n control: {\n label: 'Custom order',\n description: 'Drag items in the chart legend to set the order.',\n type: 'switch',\n default: false\n }\n },\n {\n key: 'interactivity.legendReorder',\n control: {\n label: 'Allow viewers to reorder',\n type: 'switch',\n default: false\n },\n visibleIf: ({ options }: AreaChartConfigContext) => options?.legend?.customOrder === true\n }\n ],\n visibleIf: hasLegendOrMultipleMeasure\n },\n createGuidelinesOptionsGroup(cartesianGuidelineLineTypes),\n createInfoTooltipOptionsGroup<AreaChartConfigContext>(),\n createInteractivityOptionsGroup<AreaChartConfigContext>({ brush: { default: true, excludesClickActions: true } })\n];\n\nexport default areaChartOptionsConfig;\n"],"mappings":"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"}
@@ -2,8 +2,9 @@ import { getThemeMainColor as e, getThemeMainColorExtraLabelClickAction as t, ge
2
2
  import { createAxesOptionsGroup as i } from "../shared/utils/axis-options.config.js";
3
3
  import { cartesianGuidelineLineTypes as a, createGuidelinesOptionsGroup as o } from "../shared/utils/guidelines-options.config.js";
4
4
  import { createInfoTooltipOptionsGroup as s } from "../shared/utils/info-tooltip-options.config.js";
5
+ import { createInteractivityOptionsGroup as c } from "../shared/utils/interactivity-options.config.js";
5
6
  //#region src/lib/area-chart/area-chart-options.config.ts
6
- var c = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?.name === "legend")?.content?.length ?? 0) > 0 || (e?.find((e) => e?.name === "measure")?.content?.length ?? 0) > 1 : !1, l = [
7
+ var l = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?.name === "legend")?.content?.length ?? 0) > 0 || (e?.find((e) => e?.name === "measure")?.content?.length ?? 0) > 1 : !1, u = [
7
8
  {
8
9
  key: "general",
9
10
  type: "group",
@@ -31,7 +32,7 @@ var c = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?
31
32
  "stream"
32
33
  ]
33
34
  },
34
- visibleIf: c
35
+ visibleIf: l
35
36
  },
36
37
  {
37
38
  key: "interpolation",
@@ -54,7 +55,7 @@ var c = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?
54
55
  type: "switch",
55
56
  default: !0
56
57
  },
57
- visibleIf: c
58
+ visibleIf: l
58
59
  },
59
60
  {
60
61
  key: "display.modeOption",
@@ -63,7 +64,7 @@ var c = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?
63
64
  type: "switch",
64
65
  default: !0
65
66
  },
66
- visibleIf: c
67
+ visibleIf: l
67
68
  },
68
69
  {
69
70
  key: "missingValue.type",
@@ -167,12 +168,16 @@ var c = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?
167
168
  visibleIf: ({ options: e }) => e?.legend?.customOrder === !0
168
169
  }
169
170
  ],
170
- visibleIf: c
171
+ visibleIf: l
171
172
  },
172
173
  o(a),
173
- s()
174
+ s(),
175
+ c({ brush: {
176
+ default: !0,
177
+ excludesClickActions: !0
178
+ } })
174
179
  ];
175
180
  //#endregion
176
- export { l as default };
181
+ export { u as default };
177
182
 
178
183
  //# sourceMappingURL=area-chart-options.config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"area-chart-options.config.js","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/area-chart/area-chart-options.config.ts"],"sourcesContent":["import {\n getThemeMainColor,\n getThemeMainColorExtraLabelClickAction,\n getThemeMainColorExtraLabelHasClickAction,\n getThemeMainColorResetLabel\n} from '../helpers';\nimport { createAxesOptionsGroup } from '../shared/utils/axis-options.config';\nimport {\n cartesianGuidelineLineTypes,\n createGuidelinesOptionsGroup\n} from '../shared/utils/guidelines-options.config';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { AreaChartViewOptions } from './area-chart-options';\n\ntype AreaChartConfigContext = OptionsConfigContext<AreaChartViewOptions>;\n\nconst hasLegendOrMultipleMeasure = ({ slots }: AreaChartConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (\n (slots?.find((s) => s?.name === 'legend')?.content?.length ?? 0) > 0\n || (slots?.find((s) => s?.name === 'measure')?.content?.length ?? 0) > 1\n );\n }\n\n return false;\n};\n\nconst hasNoLegendAndNoMultipleMeasure = ({ slots }: AreaChartConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (\n !((slots?.find((s) => s?.name === 'legend')?.content?.length ?? 0) > 0)\n && (slots?.find((s) => s?.name === 'measure')?.content?.length ?? 0) <= 1\n );\n }\n\n return true;\n};\n\nconst hasDatetimeAxis = ({ slots }: AreaChartConfigContext) =>\n Array.isArray(slots) && slots?.find((s) => s?.name === 'x-axis')?.content?.[0]?.type === 'datetime';\n\nconst hasDatetimeAxisAndManualBreak = ({ options, slots }: AreaChartConfigContext) =>\n Array.isArray(slots)\n && slots?.find((s) => s?.name === 'x-axis')?.content?.[0]?.type === 'datetime'\n && options?.missingValue?.type === 'manual';\n\nconst areaChartOptionsConfig: OptionsConfig<AreaChartConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'display.title',\n control: {\n label: 'Title',\n type: 'switch',\n default: true\n }\n },\n {\n type: 'divider'\n },\n {\n key: 'mode',\n control: {\n label: 'Mode',\n type: 'picker',\n default: 'stacked',\n enum: ['100', 'unstacked', 'stacked', 'stream']\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'interpolation',\n control: {\n label: 'Interpolation',\n type: 'picker',\n default: 'linear',\n enum: ['linear', 'step-before', 'step-after', 'monotone']\n }\n },\n {\n key: 'display.legend',\n control: {\n label: 'Legend',\n type: 'switch',\n default: true\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'display.modeOption',\n control: {\n label: 'Mode option',\n type: 'switch',\n default: true\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'missingValue.type',\n control: {\n label: 'Fill missing values',\n type: 'picker',\n default: 'no',\n enum: ['no', 'break', 'manual']\n },\n visibleIf: hasDatetimeAxis\n },\n {\n key: 'missingValue.value',\n control: {\n label: 'Value',\n type: 'number-field',\n default: 0,\n min: 1\n },\n visibleIf: hasDatetimeAxisAndManualBreak\n },\n {\n key: 'color',\n control: {\n label: 'Area color',\n type: 'color-picker',\n default: ({ theme }: AreaChartConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: AreaChartConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'color'),\n extraLabelHasClickAction: ({ options, theme }: AreaChartConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'color'),\n extraLabelClickAction: ({ options, theme }: AreaChartConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'color')\n },\n visibleIf: hasNoLegendAndNoMultipleMeasure\n }\n ]\n },\n createAxesOptionsGroup<AreaChartConfigContext>([\n { axis: 'x', role: 'category', color: true, label: true, tickMode: true, gridlines: true, datetimeTickStyle: true },\n { axis: 'y', role: 'measure', scale: true, manualRange: { key: 'axis.y.manualAxesRange', discriminatorKey: 'axis.y.type' }, color: true, label: true, tickDensity: true, tickMode: true, gridlines: true }\n ]),\n {\n key: 'legend',\n type: 'group',\n open: false,\n children: [\n {\n key: 'legend.position',\n control: {\n label: 'Position',\n type: 'position-picker',\n default: 'topRight',\n enum: ['topLeft', 'top', 'topRight', 'right', 'bottomRight', 'bottom', 'bottomLeft', 'left']\n }\n },\n {\n key: 'legend.customOrder',\n control: {\n label: 'Custom order',\n description: 'Drag items in the chart legend to set the order.',\n type: 'switch',\n default: false\n }\n },\n {\n key: 'interactivity.legendReorder',\n control: {\n label: 'Allow viewers to reorder',\n type: 'switch',\n default: false\n },\n visibleIf: ({ options }: AreaChartConfigContext) => options?.legend?.customOrder === true\n }\n ],\n visibleIf: hasLegendOrMultipleMeasure\n },\n createGuidelinesOptionsGroup(cartesianGuidelineLineTypes),\n createInfoTooltipOptionsGroup<AreaChartConfigContext>()\n];\n\nexport default areaChartOptionsConfig;\n"],"mappings":"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"}
1
+ {"version":3,"file":"area-chart-options.config.js","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/area-chart/area-chart-options.config.ts"],"sourcesContent":["import {\n getThemeMainColor,\n getThemeMainColorExtraLabelClickAction,\n getThemeMainColorExtraLabelHasClickAction,\n getThemeMainColorResetLabel\n} from '../helpers';\nimport { createAxesOptionsGroup } from '../shared/utils/axis-options.config';\nimport {\n cartesianGuidelineLineTypes,\n createGuidelinesOptionsGroup\n} from '../shared/utils/guidelines-options.config';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport { createInteractivityOptionsGroup } from '../shared/utils/interactivity-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { AreaChartViewOptions } from './area-chart-options';\n\ntype AreaChartConfigContext = OptionsConfigContext<AreaChartViewOptions>;\n\nconst hasLegendOrMultipleMeasure = ({ slots }: AreaChartConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (\n (slots?.find((s) => s?.name === 'legend')?.content?.length ?? 0) > 0\n || (slots?.find((s) => s?.name === 'measure')?.content?.length ?? 0) > 1\n );\n }\n\n return false;\n};\n\nconst hasNoLegendAndNoMultipleMeasure = ({ slots }: AreaChartConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (\n !((slots?.find((s) => s?.name === 'legend')?.content?.length ?? 0) > 0)\n && (slots?.find((s) => s?.name === 'measure')?.content?.length ?? 0) <= 1\n );\n }\n\n return true;\n};\n\nconst hasDatetimeAxis = ({ slots }: AreaChartConfigContext) =>\n Array.isArray(slots) && slots?.find((s) => s?.name === 'x-axis')?.content?.[0]?.type === 'datetime';\n\nconst hasDatetimeAxisAndManualBreak = ({ options, slots }: AreaChartConfigContext) =>\n Array.isArray(slots)\n && slots?.find((s) => s?.name === 'x-axis')?.content?.[0]?.type === 'datetime'\n && options?.missingValue?.type === 'manual';\n\nconst areaChartOptionsConfig: OptionsConfig<AreaChartConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'display.title',\n control: {\n label: 'Title',\n type: 'switch',\n default: true\n }\n },\n {\n type: 'divider'\n },\n {\n key: 'mode',\n control: {\n label: 'Mode',\n type: 'picker',\n default: 'stacked',\n enum: ['100', 'unstacked', 'stacked', 'stream']\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'interpolation',\n control: {\n label: 'Interpolation',\n type: 'picker',\n default: 'linear',\n enum: ['linear', 'step-before', 'step-after', 'monotone']\n }\n },\n {\n key: 'display.legend',\n control: {\n label: 'Legend',\n type: 'switch',\n default: true\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'display.modeOption',\n control: {\n label: 'Mode option',\n type: 'switch',\n default: true\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'missingValue.type',\n control: {\n label: 'Fill missing values',\n type: 'picker',\n default: 'no',\n enum: ['no', 'break', 'manual']\n },\n visibleIf: hasDatetimeAxis\n },\n {\n key: 'missingValue.value',\n control: {\n label: 'Value',\n type: 'number-field',\n default: 0,\n min: 1\n },\n visibleIf: hasDatetimeAxisAndManualBreak\n },\n {\n key: 'color',\n control: {\n label: 'Area color',\n type: 'color-picker',\n default: ({ theme }: AreaChartConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: AreaChartConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'color'),\n extraLabelHasClickAction: ({ options, theme }: AreaChartConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'color'),\n extraLabelClickAction: ({ options, theme }: AreaChartConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'color')\n },\n visibleIf: hasNoLegendAndNoMultipleMeasure\n }\n ]\n },\n createAxesOptionsGroup<AreaChartConfigContext>([\n { axis: 'x', role: 'category', color: true, label: true, tickMode: true, gridlines: true, datetimeTickStyle: true },\n { axis: 'y', role: 'measure', scale: true, manualRange: { key: 'axis.y.manualAxesRange', discriminatorKey: 'axis.y.type' }, color: true, label: true, tickDensity: true, tickMode: true, gridlines: true }\n ]),\n {\n key: 'legend',\n type: 'group',\n open: false,\n children: [\n {\n key: 'legend.position',\n control: {\n label: 'Position',\n type: 'position-picker',\n default: 'topRight',\n enum: ['topLeft', 'top', 'topRight', 'right', 'bottomRight', 'bottom', 'bottomLeft', 'left']\n }\n },\n {\n key: 'legend.customOrder',\n control: {\n label: 'Custom order',\n description: 'Drag items in the chart legend to set the order.',\n type: 'switch',\n default: false\n }\n },\n {\n key: 'interactivity.legendReorder',\n control: {\n label: 'Allow viewers to reorder',\n type: 'switch',\n default: false\n },\n visibleIf: ({ options }: AreaChartConfigContext) => options?.legend?.customOrder === true\n }\n ],\n visibleIf: hasLegendOrMultipleMeasure\n },\n createGuidelinesOptionsGroup(cartesianGuidelineLineTypes),\n createInfoTooltipOptionsGroup<AreaChartConfigContext>(),\n createInteractivityOptionsGroup<AreaChartConfigContext>({ brush: { default: true, excludesClickActions: true } })\n];\n\nexport default areaChartOptionsConfig;\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- const e=require("../helpers.cjs"),t=require("../shared/utils/axis-options.config.cjs"),n=require("../shared/utils/guidelines-options.config.cjs"),r=require("../shared/utils/info-tooltip-options.config.cjs");var i=({slots:e})=>Array.isArray(e)&&e?.length>0?(e?.find(e=>e?.name===`legend`)?.content?.length??0)>0||(e?.find(e=>e?.name===`measure`)?.content?.length??0)>1:!1,a=({slots:e})=>Array.isArray(e)&&e?.length>0?(e?.find(e=>e?.name===`legend`)?.content?.length??0)===0&&(e?.find(e=>e?.name===`measure`)?.content?.length??0)<=1:!0,o=[{key:`general`,type:`group`,open:!0,children:[{key:`mode`,control:{type:`picker`,default:`grouped`,enum:[`grouped`,`stacked`,`100`]},visibleIf:i},{type:`divider`,visibleIf:i},{key:`display.title`,control:{type:`switch`,default:!0}},{key:`display.legend`,control:{type:`switch`,default:!0},visibleIf:i},{key:`display.modeOption`,control:{type:`switch`,default:!1},visibleIf:i},{key:`bars.label`,control:{type:`picker`,default:`none`,enum:[`none`,`absolute`,`percentage`,`percentageLegend`,`percentageCategory`,`percentageMax`]}},{key:`categories.colored`,control:{type:`switch`,default:!1},visibleIf:a},{key:`bars.roundedCorners`,control:{type:`slider`,default:({theme:e})=>e?.itemSpecific?.rounding,min:0,max:20,step:1,extraLabel:({options:e,theme:t})=>typeof t?.itemSpecific?.rounding==`number`?typeof e?.bars?.roundedCorners==`number`?`reset`:`auto`:null,extraLabelHasClickAction:({options:e,theme:t})=>typeof t?.itemSpecific?.rounding==`number`&&typeof e?.bars?.roundedCorners==`number`,extraLabelClickAction:({options:e})=>{let t={...e};return delete t?.bars?.roundedCorners,{value:null,options:t}}}},{key:`color`,control:{type:`color-picker`,label:`Bar color`,default:({theme:t})=>e.getThemeMainColor(t),extraLabel:({options:t,theme:n})=>e.getThemeMainColorResetLabel(t,n,`color`),extraLabelHasClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelHasClickAction(t,n,`color`),extraLabelClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelClickAction(t,n,`color`)},visibleIf:e=>a(e)&&e.options?.categories?.colored!==!0}]},{key:`order`,type:`group`,label:`Order & Limit`,open:!0,children:[{key:`ranking.active`,control:{type:`switch`,label:`Limit to`,default:!1}},{key:`ranking.direction`,control:{type:`picker`,label:`Direction`,default:`top`,enum:[`top`,`bottom`]},visibleIf:({options:e})=>e?.ranking?.active===!0},{key:`ranking.number`,control:{type:`number-field`,label:`Number`,default:10,min:1,max:999999},visibleIf:({options:e})=>e?.ranking?.active===!0},{key:`sort.by`,control:{type:`picker`,label:`Order by`,default:`measure`,enum:[`measure`,`category`]}},{key:`sort.direction`,control:{type:`picker`,label:`Direction`,default:`desc`,enum:[`asc`,`desc`]}},{key:`limit.number`,control:{type:`number-field`,label:`Limit`,default:1e5,min:1,max:1e5}}]},t.createAxesOptionsGroup([{axis:`x`,role:`measure`,scale:!0,manualRange:{key:`manualAxesRange`},color:!0,label:!0,tickDensity:!0,tickMode:!0,gridlines:!0},{axis:`y`,role:`category`,color:!0,label:!0,tickMode:!0,gridlines:!0}]),{key:`legend`,type:`group`,open:!1,children:[{key:`legend.position`,control:{label:`Position`,type:`position-picker`,default:`topRight`,enum:[`topLeft`,`top`,`topRight`,`right`,`bottomRight`,`bottom`,`bottomLeft`,`left`]}},{key:`legend.customOrder`,control:{label:`Custom order`,description:`Drag items in the chart legend to set the order.`,type:`switch`,default:!1}},{key:`interactivity.legendReorder`,control:{label:`Allow viewers to reorder`,type:`switch`,default:!1},visibleIf:({options:e})=>e?.legend?.customOrder===!0}],visibleIf:i},n.createGuidelinesOptionsGroup(n.cartesianGuidelineLineTypes),r.createInfoTooltipOptionsGroup()];exports.default=o;
1
+ const e=require("../helpers.cjs"),t=require("../shared/utils/axis-options.config.cjs"),n=require("../shared/utils/guidelines-options.config.cjs"),r=require("../shared/utils/info-tooltip-options.config.cjs"),i=require("../shared/utils/interactivity-options.config.cjs");var a=({slots:e})=>Array.isArray(e)&&e?.length>0?(e?.find(e=>e?.name===`legend`)?.content?.length??0)>0||(e?.find(e=>e?.name===`measure`)?.content?.length??0)>1:!1,o=({slots:e})=>Array.isArray(e)&&e?.length>0?(e?.find(e=>e?.name===`legend`)?.content?.length??0)===0&&(e?.find(e=>e?.name===`measure`)?.content?.length??0)<=1:!0,s=[{key:`general`,type:`group`,open:!0,children:[{key:`mode`,control:{type:`picker`,default:`grouped`,enum:[`grouped`,`stacked`,`100`]},visibleIf:a},{type:`divider`,visibleIf:a},{key:`display.title`,control:{type:`switch`,default:!0}},{key:`display.legend`,control:{type:`switch`,default:!0},visibleIf:a},{key:`display.modeOption`,control:{type:`switch`,default:!1},visibleIf:a},{key:`bars.label`,control:{type:`picker`,default:`none`,enum:[`none`,`absolute`,`percentage`,`percentageLegend`,`percentageCategory`,`percentageMax`]}},{key:`categories.colored`,control:{type:`switch`,default:!1},visibleIf:o},{key:`bars.roundedCorners`,control:{type:`slider`,default:({theme:e})=>e?.itemSpecific?.rounding,min:0,max:20,step:1,extraLabel:({options:e,theme:t})=>typeof t?.itemSpecific?.rounding==`number`?typeof e?.bars?.roundedCorners==`number`?`reset`:`auto`:null,extraLabelHasClickAction:({options:e,theme:t})=>typeof t?.itemSpecific?.rounding==`number`&&typeof e?.bars?.roundedCorners==`number`,extraLabelClickAction:({options:e})=>{let t={...e};return delete t?.bars?.roundedCorners,{value:null,options:t}}}},{key:`color`,control:{type:`color-picker`,label:`Bar color`,default:({theme:t})=>e.getThemeMainColor(t),extraLabel:({options:t,theme:n})=>e.getThemeMainColorResetLabel(t,n,`color`),extraLabelHasClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelHasClickAction(t,n,`color`),extraLabelClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelClickAction(t,n,`color`)},visibleIf:e=>o(e)&&e.options?.categories?.colored!==!0}]},{key:`order`,type:`group`,label:`Order & Limit`,open:!0,children:[{key:`ranking.active`,control:{type:`switch`,label:`Limit to`,default:!1}},{key:`ranking.direction`,control:{type:`picker`,label:`Direction`,default:`top`,enum:[`top`,`bottom`]},visibleIf:({options:e})=>e?.ranking?.active===!0},{key:`ranking.number`,control:{type:`number-field`,label:`Number`,default:10,min:1,max:999999},visibleIf:({options:e})=>e?.ranking?.active===!0},{key:`sort.by`,control:{type:`picker`,label:`Order by`,default:`measure`,enum:[`measure`,`category`]}},{key:`sort.direction`,control:{type:`picker`,label:`Direction`,default:`desc`,enum:[`asc`,`desc`]}},{key:`limit.number`,control:{type:`number-field`,label:`Limit`,default:1e5,min:1,max:1e5}}]},t.createAxesOptionsGroup([{axis:`x`,role:`measure`,scale:!0,manualRange:{key:`manualAxesRange`},color:!0,label:!0,tickDensity:!0,tickMode:!0,gridlines:!0},{axis:`y`,role:`category`,color:!0,label:!0,tickMode:!0,gridlines:!0}]),{key:`legend`,type:`group`,open:!1,children:[{key:`legend.position`,control:{label:`Position`,type:`position-picker`,default:`topRight`,enum:[`topLeft`,`top`,`topRight`,`right`,`bottomRight`,`bottom`,`bottomLeft`,`left`]}},{key:`legend.customOrder`,control:{label:`Custom order`,description:`Drag items in the chart legend to set the order.`,type:`switch`,default:!1}},{key:`interactivity.legendReorder`,control:{label:`Allow viewers to reorder`,type:`switch`,default:!1},visibleIf:({options:e})=>e?.legend?.customOrder===!0}],visibleIf:a},n.createGuidelinesOptionsGroup(n.cartesianGuidelineLineTypes),r.createInfoTooltipOptionsGroup(),i.createInteractivityOptionsGroup({select:{default:!0}})];exports.default=s;
2
2
  //# sourceMappingURL=bar-chart-options.config.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"bar-chart-options.config.cjs","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/bar-chart/bar-chart-options.config.ts"],"sourcesContent":["import {\n getThemeMainColor,\n getThemeMainColorExtraLabelClickAction,\n getThemeMainColorExtraLabelHasClickAction,\n getThemeMainColorResetLabel\n} from '../helpers';\nimport { createAxesOptionsGroup } from '../shared/utils/axis-options.config';\nimport {\n cartesianGuidelineLineTypes,\n createGuidelinesOptionsGroup\n} from '../shared/utils/guidelines-options.config';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { BarChartViewOptions } from './bar-chart-options';\n\ntype BarChartConfigContext = OptionsConfigContext<BarChartViewOptions>;\n\nconst hasLegendOrMultipleMeasure = ({ slots }: BarChartConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (\n (slots?.find((s) => s?.name === 'legend')?.content?.length ?? 0) > 0\n || (slots?.find((s) => s?.name === 'measure')?.content?.length ?? 0) > 1\n );\n }\n\n return false;\n};\n\nconst hasNoLegendAndNoMultipleMeasure = ({ slots }: BarChartConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (\n (slots?.find((s) => s?.name === 'legend')?.content?.length ?? 0) === 0\n && (slots?.find((s) => s?.name === 'measure')?.content?.length ?? 0) <= 1\n );\n }\n\n return true;\n};\n\nconst barChartOptionsConfig: OptionsConfig<BarChartConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'mode',\n control: {\n type: 'picker',\n default: 'grouped',\n enum: ['grouped', 'stacked', '100']\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n type: 'divider',\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'display.title',\n control: {\n type: 'switch',\n default: true\n }\n },\n {\n key: 'display.legend',\n control: {\n type: 'switch',\n default: true\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'display.modeOption',\n control: {\n type: 'switch',\n default: false\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'bars.label',\n control: {\n type: 'picker',\n default: 'none',\n enum: ['none', 'absolute', 'percentage', 'percentageLegend', 'percentageCategory', 'percentageMax']\n }\n },\n {\n key: 'categories.colored',\n control: {\n type: 'switch',\n default: false\n },\n visibleIf: hasNoLegendAndNoMultipleMeasure\n },\n {\n key: 'bars.roundedCorners',\n control: {\n type: 'slider',\n default: ({ theme }: BarChartConfigContext) => theme?.itemSpecific?.rounding,\n min: 0,\n max: 20,\n step: 1,\n extraLabel: ({ options, theme }: BarChartConfigContext) => {\n if (typeof theme?.itemSpecific?.rounding !== 'number') {\n return null;\n }\n\n if (typeof options?.bars?.roundedCorners !== 'number') {\n return 'auto';\n }\n\n return 'reset';\n },\n extraLabelHasClickAction: ({ options, theme }: BarChartConfigContext) => {\n if (\n typeof theme?.itemSpecific?.rounding !== 'number'\n || typeof options?.bars?.roundedCorners !== 'number'\n ) {\n return false;\n }\n\n return true;\n },\n extraLabelClickAction: ({ options }: BarChartConfigContext) => {\n const newOptions = { ...options };\n\n delete newOptions?.bars?.roundedCorners;\n\n return { value: null, options: newOptions };\n }\n }\n },\n {\n key: 'color',\n control: {\n type: 'color-picker',\n label: 'Bar color',\n default: ({ theme }: BarChartConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: BarChartConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'color'),\n extraLabelHasClickAction: ({ options, theme }: BarChartConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'color'),\n extraLabelClickAction: ({ options, theme }: BarChartConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'color')\n },\n visibleIf: (context: BarChartConfigContext) =>\n hasNoLegendAndNoMultipleMeasure(context) && context.options?.categories?.colored !== true\n }\n ]\n },\n {\n key: 'order',\n type: 'group',\n label: 'Order & Limit',\n open: true,\n children: [\n {\n key: 'ranking.active',\n control: {\n type: 'switch',\n label: 'Limit to',\n default: false\n }\n },\n {\n key: 'ranking.direction',\n control: {\n type: 'picker',\n label: 'Direction',\n default: 'top',\n enum: ['top', 'bottom']\n },\n visibleIf: ({ options }: BarChartConfigContext) => options?.ranking?.active === true\n },\n {\n key: 'ranking.number',\n control: {\n type: 'number-field',\n label: 'Number',\n default: 10,\n min: 1,\n max: 999999\n },\n visibleIf: ({ options }: BarChartConfigContext) => options?.ranking?.active === true\n },\n {\n key: 'sort.by',\n control: {\n type: 'picker',\n label: 'Order by',\n default: 'measure',\n enum: ['measure', 'category']\n }\n },\n {\n key: 'sort.direction',\n control: {\n type: 'picker',\n label: 'Direction',\n default: 'desc',\n enum: ['asc', 'desc']\n }\n },\n {\n key: 'limit.number',\n control: {\n type: 'number-field',\n label: 'Limit',\n default: 100000,\n min: 1,\n max: 100000\n }\n }\n ]\n },\n createAxesOptionsGroup<BarChartConfigContext>([\n { axis: 'x', role: 'measure', scale: true, manualRange: { key: 'manualAxesRange' }, color: true, label: true, tickDensity: true, tickMode: true, gridlines: true },\n { axis: 'y', role: 'category', color: true, label: true, tickMode: true, gridlines: true }\n ]),\n {\n key: 'legend',\n type: 'group',\n open: false,\n children: [\n {\n key: 'legend.position',\n control: {\n label: 'Position',\n type: 'position-picker',\n default: 'topRight',\n enum: ['topLeft', 'top', 'topRight', 'right', 'bottomRight', 'bottom', 'bottomLeft', 'left']\n }\n },\n {\n key: 'legend.customOrder',\n control: {\n label: 'Custom order',\n description: 'Drag items in the chart legend to set the order.',\n type: 'switch',\n default: false\n }\n },\n {\n key: 'interactivity.legendReorder',\n control: {\n label: 'Allow viewers to reorder',\n type: 'switch',\n default: false\n },\n visibleIf: ({ options }: BarChartConfigContext) => options?.legend?.customOrder === true\n }\n ],\n visibleIf: hasLegendOrMultipleMeasure\n },\n createGuidelinesOptionsGroup(cartesianGuidelineLineTypes),\n createInfoTooltipOptionsGroup<BarChartConfigContext>()\n];\n\nexport default barChartOptionsConfig;\n"],"mappings":"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"}
1
+ {"version":3,"file":"bar-chart-options.config.cjs","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/bar-chart/bar-chart-options.config.ts"],"sourcesContent":["import {\n getThemeMainColor,\n getThemeMainColorExtraLabelClickAction,\n getThemeMainColorExtraLabelHasClickAction,\n getThemeMainColorResetLabel\n} from '../helpers';\nimport { createAxesOptionsGroup } from '../shared/utils/axis-options.config';\nimport {\n cartesianGuidelineLineTypes,\n createGuidelinesOptionsGroup\n} from '../shared/utils/guidelines-options.config';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport { createInteractivityOptionsGroup } from '../shared/utils/interactivity-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { BarChartViewOptions } from './bar-chart-options';\n\ntype BarChartConfigContext = OptionsConfigContext<BarChartViewOptions>;\n\nconst hasLegendOrMultipleMeasure = ({ slots }: BarChartConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (\n (slots?.find((s) => s?.name === 'legend')?.content?.length ?? 0) > 0\n || (slots?.find((s) => s?.name === 'measure')?.content?.length ?? 0) > 1\n );\n }\n\n return false;\n};\n\nconst hasNoLegendAndNoMultipleMeasure = ({ slots }: BarChartConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (\n (slots?.find((s) => s?.name === 'legend')?.content?.length ?? 0) === 0\n && (slots?.find((s) => s?.name === 'measure')?.content?.length ?? 0) <= 1\n );\n }\n\n return true;\n};\n\nconst barChartOptionsConfig: OptionsConfig<BarChartConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'mode',\n control: {\n type: 'picker',\n default: 'grouped',\n enum: ['grouped', 'stacked', '100']\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n type: 'divider',\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'display.title',\n control: {\n type: 'switch',\n default: true\n }\n },\n {\n key: 'display.legend',\n control: {\n type: 'switch',\n default: true\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'display.modeOption',\n control: {\n type: 'switch',\n default: false\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'bars.label',\n control: {\n type: 'picker',\n default: 'none',\n enum: ['none', 'absolute', 'percentage', 'percentageLegend', 'percentageCategory', 'percentageMax']\n }\n },\n {\n key: 'categories.colored',\n control: {\n type: 'switch',\n default: false\n },\n visibleIf: hasNoLegendAndNoMultipleMeasure\n },\n {\n key: 'bars.roundedCorners',\n control: {\n type: 'slider',\n default: ({ theme }: BarChartConfigContext) => theme?.itemSpecific?.rounding,\n min: 0,\n max: 20,\n step: 1,\n extraLabel: ({ options, theme }: BarChartConfigContext) => {\n if (typeof theme?.itemSpecific?.rounding !== 'number') {\n return null;\n }\n\n if (typeof options?.bars?.roundedCorners !== 'number') {\n return 'auto';\n }\n\n return 'reset';\n },\n extraLabelHasClickAction: ({ options, theme }: BarChartConfigContext) => {\n if (\n typeof theme?.itemSpecific?.rounding !== 'number'\n || typeof options?.bars?.roundedCorners !== 'number'\n ) {\n return false;\n }\n\n return true;\n },\n extraLabelClickAction: ({ options }: BarChartConfigContext) => {\n const newOptions = { ...options };\n\n delete newOptions?.bars?.roundedCorners;\n\n return { value: null, options: newOptions };\n }\n }\n },\n {\n key: 'color',\n control: {\n type: 'color-picker',\n label: 'Bar color',\n default: ({ theme }: BarChartConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: BarChartConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'color'),\n extraLabelHasClickAction: ({ options, theme }: BarChartConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'color'),\n extraLabelClickAction: ({ options, theme }: BarChartConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'color')\n },\n visibleIf: (context: BarChartConfigContext) =>\n hasNoLegendAndNoMultipleMeasure(context) && context.options?.categories?.colored !== true\n }\n ]\n },\n {\n key: 'order',\n type: 'group',\n label: 'Order & Limit',\n open: true,\n children: [\n {\n key: 'ranking.active',\n control: {\n type: 'switch',\n label: 'Limit to',\n default: false\n }\n },\n {\n key: 'ranking.direction',\n control: {\n type: 'picker',\n label: 'Direction',\n default: 'top',\n enum: ['top', 'bottom']\n },\n visibleIf: ({ options }: BarChartConfigContext) => options?.ranking?.active === true\n },\n {\n key: 'ranking.number',\n control: {\n type: 'number-field',\n label: 'Number',\n default: 10,\n min: 1,\n max: 999999\n },\n visibleIf: ({ options }: BarChartConfigContext) => options?.ranking?.active === true\n },\n {\n key: 'sort.by',\n control: {\n type: 'picker',\n label: 'Order by',\n default: 'measure',\n enum: ['measure', 'category']\n }\n },\n {\n key: 'sort.direction',\n control: {\n type: 'picker',\n label: 'Direction',\n default: 'desc',\n enum: ['asc', 'desc']\n }\n },\n {\n key: 'limit.number',\n control: {\n type: 'number-field',\n label: 'Limit',\n default: 100000,\n min: 1,\n max: 100000\n }\n }\n ]\n },\n createAxesOptionsGroup<BarChartConfigContext>([\n { axis: 'x', role: 'measure', scale: true, manualRange: { key: 'manualAxesRange' }, color: true, label: true, tickDensity: true, tickMode: true, gridlines: true },\n { axis: 'y', role: 'category', color: true, label: true, tickMode: true, gridlines: true }\n ]),\n {\n key: 'legend',\n type: 'group',\n open: false,\n children: [\n {\n key: 'legend.position',\n control: {\n label: 'Position',\n type: 'position-picker',\n default: 'topRight',\n enum: ['topLeft', 'top', 'topRight', 'right', 'bottomRight', 'bottom', 'bottomLeft', 'left']\n }\n },\n {\n key: 'legend.customOrder',\n control: {\n label: 'Custom order',\n description: 'Drag items in the chart legend to set the order.',\n type: 'switch',\n default: false\n }\n },\n {\n key: 'interactivity.legendReorder',\n control: {\n label: 'Allow viewers to reorder',\n type: 'switch',\n default: false\n },\n visibleIf: ({ options }: BarChartConfigContext) => options?.legend?.customOrder === true\n }\n ],\n visibleIf: hasLegendOrMultipleMeasure\n },\n createGuidelinesOptionsGroup(cartesianGuidelineLineTypes),\n createInfoTooltipOptionsGroup<BarChartConfigContext>(),\n createInteractivityOptionsGroup<BarChartConfigContext>({ select: { default: true } })\n];\n\nexport default barChartOptionsConfig;\n"],"mappings":"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"}
@@ -2,8 +2,9 @@ import { getThemeMainColor as e, getThemeMainColorExtraLabelClickAction as t, ge
2
2
  import { createAxesOptionsGroup as i } from "../shared/utils/axis-options.config.js";
3
3
  import { cartesianGuidelineLineTypes as a, createGuidelinesOptionsGroup as o } from "../shared/utils/guidelines-options.config.js";
4
4
  import { createInfoTooltipOptionsGroup as s } from "../shared/utils/info-tooltip-options.config.js";
5
+ import { createInteractivityOptionsGroup as c } from "../shared/utils/interactivity-options.config.js";
5
6
  //#region src/lib/bar-chart/bar-chart-options.config.ts
6
- var c = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?.name === "legend")?.content?.length ?? 0) > 0 || (e?.find((e) => e?.name === "measure")?.content?.length ?? 0) > 1 : !1, l = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?.name === "legend")?.content?.length ?? 0) === 0 && (e?.find((e) => e?.name === "measure")?.content?.length ?? 0) <= 1 : !0, u = [
7
+ var l = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?.name === "legend")?.content?.length ?? 0) > 0 || (e?.find((e) => e?.name === "measure")?.content?.length ?? 0) > 1 : !1, u = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?.name === "legend")?.content?.length ?? 0) === 0 && (e?.find((e) => e?.name === "measure")?.content?.length ?? 0) <= 1 : !0, d = [
7
8
  {
8
9
  key: "general",
9
10
  type: "group",
@@ -20,11 +21,11 @@ var c = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?
20
21
  "100"
21
22
  ]
22
23
  },
23
- visibleIf: c
24
+ visibleIf: l
24
25
  },
25
26
  {
26
27
  type: "divider",
27
- visibleIf: c
28
+ visibleIf: l
28
29
  },
29
30
  {
30
31
  key: "display.title",
@@ -39,7 +40,7 @@ var c = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?
39
40
  type: "switch",
40
41
  default: !0
41
42
  },
42
- visibleIf: c
43
+ visibleIf: l
43
44
  },
44
45
  {
45
46
  key: "display.modeOption",
@@ -47,7 +48,7 @@ var c = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?
47
48
  type: "switch",
48
49
  default: !1
49
50
  },
50
- visibleIf: c
51
+ visibleIf: l
51
52
  },
52
53
  {
53
54
  key: "bars.label",
@@ -70,7 +71,7 @@ var c = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?
70
71
  type: "switch",
71
72
  default: !1
72
73
  },
73
- visibleIf: l
74
+ visibleIf: u
74
75
  },
75
76
  {
76
77
  key: "bars.roundedCorners",
@@ -101,7 +102,7 @@ var c = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?
101
102
  extraLabelHasClickAction: ({ options: e, theme: t }) => n(e, t, "color"),
102
103
  extraLabelClickAction: ({ options: e, theme: n }) => t(e, n, "color")
103
104
  },
104
- visibleIf: (e) => l(e) && e.options?.categories?.colored !== !0
105
+ visibleIf: (e) => u(e) && e.options?.categories?.colored !== !0
105
106
  }
106
107
  ]
107
108
  },
@@ -230,12 +231,13 @@ var c = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?
230
231
  visibleIf: ({ options: e }) => e?.legend?.customOrder === !0
231
232
  }
232
233
  ],
233
- visibleIf: c
234
+ visibleIf: l
234
235
  },
235
236
  o(a),
236
- s()
237
+ s(),
238
+ c({ select: { default: !0 } })
237
239
  ];
238
240
  //#endregion
239
- export { u as default };
241
+ export { d as default };
240
242
 
241
243
  //# sourceMappingURL=bar-chart-options.config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bar-chart-options.config.js","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/bar-chart/bar-chart-options.config.ts"],"sourcesContent":["import {\n getThemeMainColor,\n getThemeMainColorExtraLabelClickAction,\n getThemeMainColorExtraLabelHasClickAction,\n getThemeMainColorResetLabel\n} from '../helpers';\nimport { createAxesOptionsGroup } from '../shared/utils/axis-options.config';\nimport {\n cartesianGuidelineLineTypes,\n createGuidelinesOptionsGroup\n} from '../shared/utils/guidelines-options.config';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { BarChartViewOptions } from './bar-chart-options';\n\ntype BarChartConfigContext = OptionsConfigContext<BarChartViewOptions>;\n\nconst hasLegendOrMultipleMeasure = ({ slots }: BarChartConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (\n (slots?.find((s) => s?.name === 'legend')?.content?.length ?? 0) > 0\n || (slots?.find((s) => s?.name === 'measure')?.content?.length ?? 0) > 1\n );\n }\n\n return false;\n};\n\nconst hasNoLegendAndNoMultipleMeasure = ({ slots }: BarChartConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (\n (slots?.find((s) => s?.name === 'legend')?.content?.length ?? 0) === 0\n && (slots?.find((s) => s?.name === 'measure')?.content?.length ?? 0) <= 1\n );\n }\n\n return true;\n};\n\nconst barChartOptionsConfig: OptionsConfig<BarChartConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'mode',\n control: {\n type: 'picker',\n default: 'grouped',\n enum: ['grouped', 'stacked', '100']\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n type: 'divider',\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'display.title',\n control: {\n type: 'switch',\n default: true\n }\n },\n {\n key: 'display.legend',\n control: {\n type: 'switch',\n default: true\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'display.modeOption',\n control: {\n type: 'switch',\n default: false\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'bars.label',\n control: {\n type: 'picker',\n default: 'none',\n enum: ['none', 'absolute', 'percentage', 'percentageLegend', 'percentageCategory', 'percentageMax']\n }\n },\n {\n key: 'categories.colored',\n control: {\n type: 'switch',\n default: false\n },\n visibleIf: hasNoLegendAndNoMultipleMeasure\n },\n {\n key: 'bars.roundedCorners',\n control: {\n type: 'slider',\n default: ({ theme }: BarChartConfigContext) => theme?.itemSpecific?.rounding,\n min: 0,\n max: 20,\n step: 1,\n extraLabel: ({ options, theme }: BarChartConfigContext) => {\n if (typeof theme?.itemSpecific?.rounding !== 'number') {\n return null;\n }\n\n if (typeof options?.bars?.roundedCorners !== 'number') {\n return 'auto';\n }\n\n return 'reset';\n },\n extraLabelHasClickAction: ({ options, theme }: BarChartConfigContext) => {\n if (\n typeof theme?.itemSpecific?.rounding !== 'number'\n || typeof options?.bars?.roundedCorners !== 'number'\n ) {\n return false;\n }\n\n return true;\n },\n extraLabelClickAction: ({ options }: BarChartConfigContext) => {\n const newOptions = { ...options };\n\n delete newOptions?.bars?.roundedCorners;\n\n return { value: null, options: newOptions };\n }\n }\n },\n {\n key: 'color',\n control: {\n type: 'color-picker',\n label: 'Bar color',\n default: ({ theme }: BarChartConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: BarChartConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'color'),\n extraLabelHasClickAction: ({ options, theme }: BarChartConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'color'),\n extraLabelClickAction: ({ options, theme }: BarChartConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'color')\n },\n visibleIf: (context: BarChartConfigContext) =>\n hasNoLegendAndNoMultipleMeasure(context) && context.options?.categories?.colored !== true\n }\n ]\n },\n {\n key: 'order',\n type: 'group',\n label: 'Order & Limit',\n open: true,\n children: [\n {\n key: 'ranking.active',\n control: {\n type: 'switch',\n label: 'Limit to',\n default: false\n }\n },\n {\n key: 'ranking.direction',\n control: {\n type: 'picker',\n label: 'Direction',\n default: 'top',\n enum: ['top', 'bottom']\n },\n visibleIf: ({ options }: BarChartConfigContext) => options?.ranking?.active === true\n },\n {\n key: 'ranking.number',\n control: {\n type: 'number-field',\n label: 'Number',\n default: 10,\n min: 1,\n max: 999999\n },\n visibleIf: ({ options }: BarChartConfigContext) => options?.ranking?.active === true\n },\n {\n key: 'sort.by',\n control: {\n type: 'picker',\n label: 'Order by',\n default: 'measure',\n enum: ['measure', 'category']\n }\n },\n {\n key: 'sort.direction',\n control: {\n type: 'picker',\n label: 'Direction',\n default: 'desc',\n enum: ['asc', 'desc']\n }\n },\n {\n key: 'limit.number',\n control: {\n type: 'number-field',\n label: 'Limit',\n default: 100000,\n min: 1,\n max: 100000\n }\n }\n ]\n },\n createAxesOptionsGroup<BarChartConfigContext>([\n { axis: 'x', role: 'measure', scale: true, manualRange: { key: 'manualAxesRange' }, color: true, label: true, tickDensity: true, tickMode: true, gridlines: true },\n { axis: 'y', role: 'category', color: true, label: true, tickMode: true, gridlines: true }\n ]),\n {\n key: 'legend',\n type: 'group',\n open: false,\n children: [\n {\n key: 'legend.position',\n control: {\n label: 'Position',\n type: 'position-picker',\n default: 'topRight',\n enum: ['topLeft', 'top', 'topRight', 'right', 'bottomRight', 'bottom', 'bottomLeft', 'left']\n }\n },\n {\n key: 'legend.customOrder',\n control: {\n label: 'Custom order',\n description: 'Drag items in the chart legend to set the order.',\n type: 'switch',\n default: false\n }\n },\n {\n key: 'interactivity.legendReorder',\n control: {\n label: 'Allow viewers to reorder',\n type: 'switch',\n default: false\n },\n visibleIf: ({ options }: BarChartConfigContext) => options?.legend?.customOrder === true\n }\n ],\n visibleIf: hasLegendOrMultipleMeasure\n },\n createGuidelinesOptionsGroup(cartesianGuidelineLineTypes),\n createInfoTooltipOptionsGroup<BarChartConfigContext>()\n];\n\nexport default barChartOptionsConfig;\n"],"mappings":"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"}
1
+ {"version":3,"file":"bar-chart-options.config.js","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/bar-chart/bar-chart-options.config.ts"],"sourcesContent":["import {\n getThemeMainColor,\n getThemeMainColorExtraLabelClickAction,\n getThemeMainColorExtraLabelHasClickAction,\n getThemeMainColorResetLabel\n} from '../helpers';\nimport { createAxesOptionsGroup } from '../shared/utils/axis-options.config';\nimport {\n cartesianGuidelineLineTypes,\n createGuidelinesOptionsGroup\n} from '../shared/utils/guidelines-options.config';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport { createInteractivityOptionsGroup } from '../shared/utils/interactivity-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { BarChartViewOptions } from './bar-chart-options';\n\ntype BarChartConfigContext = OptionsConfigContext<BarChartViewOptions>;\n\nconst hasLegendOrMultipleMeasure = ({ slots }: BarChartConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (\n (slots?.find((s) => s?.name === 'legend')?.content?.length ?? 0) > 0\n || (slots?.find((s) => s?.name === 'measure')?.content?.length ?? 0) > 1\n );\n }\n\n return false;\n};\n\nconst hasNoLegendAndNoMultipleMeasure = ({ slots }: BarChartConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (\n (slots?.find((s) => s?.name === 'legend')?.content?.length ?? 0) === 0\n && (slots?.find((s) => s?.name === 'measure')?.content?.length ?? 0) <= 1\n );\n }\n\n return true;\n};\n\nconst barChartOptionsConfig: OptionsConfig<BarChartConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'mode',\n control: {\n type: 'picker',\n default: 'grouped',\n enum: ['grouped', 'stacked', '100']\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n type: 'divider',\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'display.title',\n control: {\n type: 'switch',\n default: true\n }\n },\n {\n key: 'display.legend',\n control: {\n type: 'switch',\n default: true\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'display.modeOption',\n control: {\n type: 'switch',\n default: false\n },\n visibleIf: hasLegendOrMultipleMeasure\n },\n {\n key: 'bars.label',\n control: {\n type: 'picker',\n default: 'none',\n enum: ['none', 'absolute', 'percentage', 'percentageLegend', 'percentageCategory', 'percentageMax']\n }\n },\n {\n key: 'categories.colored',\n control: {\n type: 'switch',\n default: false\n },\n visibleIf: hasNoLegendAndNoMultipleMeasure\n },\n {\n key: 'bars.roundedCorners',\n control: {\n type: 'slider',\n default: ({ theme }: BarChartConfigContext) => theme?.itemSpecific?.rounding,\n min: 0,\n max: 20,\n step: 1,\n extraLabel: ({ options, theme }: BarChartConfigContext) => {\n if (typeof theme?.itemSpecific?.rounding !== 'number') {\n return null;\n }\n\n if (typeof options?.bars?.roundedCorners !== 'number') {\n return 'auto';\n }\n\n return 'reset';\n },\n extraLabelHasClickAction: ({ options, theme }: BarChartConfigContext) => {\n if (\n typeof theme?.itemSpecific?.rounding !== 'number'\n || typeof options?.bars?.roundedCorners !== 'number'\n ) {\n return false;\n }\n\n return true;\n },\n extraLabelClickAction: ({ options }: BarChartConfigContext) => {\n const newOptions = { ...options };\n\n delete newOptions?.bars?.roundedCorners;\n\n return { value: null, options: newOptions };\n }\n }\n },\n {\n key: 'color',\n control: {\n type: 'color-picker',\n label: 'Bar color',\n default: ({ theme }: BarChartConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: BarChartConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'color'),\n extraLabelHasClickAction: ({ options, theme }: BarChartConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'color'),\n extraLabelClickAction: ({ options, theme }: BarChartConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'color')\n },\n visibleIf: (context: BarChartConfigContext) =>\n hasNoLegendAndNoMultipleMeasure(context) && context.options?.categories?.colored !== true\n }\n ]\n },\n {\n key: 'order',\n type: 'group',\n label: 'Order & Limit',\n open: true,\n children: [\n {\n key: 'ranking.active',\n control: {\n type: 'switch',\n label: 'Limit to',\n default: false\n }\n },\n {\n key: 'ranking.direction',\n control: {\n type: 'picker',\n label: 'Direction',\n default: 'top',\n enum: ['top', 'bottom']\n },\n visibleIf: ({ options }: BarChartConfigContext) => options?.ranking?.active === true\n },\n {\n key: 'ranking.number',\n control: {\n type: 'number-field',\n label: 'Number',\n default: 10,\n min: 1,\n max: 999999\n },\n visibleIf: ({ options }: BarChartConfigContext) => options?.ranking?.active === true\n },\n {\n key: 'sort.by',\n control: {\n type: 'picker',\n label: 'Order by',\n default: 'measure',\n enum: ['measure', 'category']\n }\n },\n {\n key: 'sort.direction',\n control: {\n type: 'picker',\n label: 'Direction',\n default: 'desc',\n enum: ['asc', 'desc']\n }\n },\n {\n key: 'limit.number',\n control: {\n type: 'number-field',\n label: 'Limit',\n default: 100000,\n min: 1,\n max: 100000\n }\n }\n ]\n },\n createAxesOptionsGroup<BarChartConfigContext>([\n { axis: 'x', role: 'measure', scale: true, manualRange: { key: 'manualAxesRange' }, color: true, label: true, tickDensity: true, tickMode: true, gridlines: true },\n { axis: 'y', role: 'category', color: true, label: true, tickMode: true, gridlines: true }\n ]),\n {\n key: 'legend',\n type: 'group',\n open: false,\n children: [\n {\n key: 'legend.position',\n control: {\n label: 'Position',\n type: 'position-picker',\n default: 'topRight',\n enum: ['topLeft', 'top', 'topRight', 'right', 'bottomRight', 'bottom', 'bottomLeft', 'left']\n }\n },\n {\n key: 'legend.customOrder',\n control: {\n label: 'Custom order',\n description: 'Drag items in the chart legend to set the order.',\n type: 'switch',\n default: false\n }\n },\n {\n key: 'interactivity.legendReorder',\n control: {\n label: 'Allow viewers to reorder',\n type: 'switch',\n default: false\n },\n visibleIf: ({ options }: BarChartConfigContext) => options?.legend?.customOrder === true\n }\n ],\n visibleIf: hasLegendOrMultipleMeasure\n },\n createGuidelinesOptionsGroup(cartesianGuidelineLineTypes),\n createInfoTooltipOptionsGroup<BarChartConfigContext>(),\n createInteractivityOptionsGroup<BarChartConfigContext>({ select: { default: true } })\n];\n\nexport default barChartOptionsConfig;\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- const e=require("../helpers.cjs"),t=require("../shared/utils/axis-options.config.cjs"),n=require("../shared/utils/info-tooltip-options.config.cjs"),r=require("../shared/utils/color/color-palettes.cjs");var i=({options:e})=>e?.observations?.display===!0,a=[{key:`general`,type:`group`,open:!0,children:[{key:`display.title`,control:{type:`switch`,label:`Title`,default:!0}},{key:`horizontal`,control:{type:`picker`,label:`Display`,default:`vertical`,enum:[`vertical`,`horizontal`],parseValue:e=>e?`horizontal`:`vertical`,toValue:e=>e===`horizontal`}},{key:`extentTicks`,control:{type:`switch`,label:`Extent ticks`,default:!0}}]},{key:`box`,type:`group`,open:!0,children:[{key:`boxWidth`,control:{type:`slider`,label:`Box width`,default:.9,min:.1,max:1,step:.1}},{key:`boxFill`,control:{type:`color-picker`,label:`Box fill`,default:({theme:t})=>e.getThemeMainColor(t),extraLabel:({options:t,theme:n})=>e.getThemeMainColorResetLabel(t,n,`boxFill`),extraLabelHasClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelHasClickAction(t,n,`boxFill`),extraLabelClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelClickAction(t,n,`boxFill`)}},{key:`roundedCorners`,control:{type:`slider`,label:`Rounded corners`,default:({theme:e})=>e?.itemSpecific?.rounding??8,min:0,max:24,step:1,extraLabel:({options:e,theme:t})=>typeof t?.itemSpecific?.rounding==`number`?typeof e?.roundedCorners==`number`?`reset`:`auto`:null,extraLabelHasClickAction:({options:e,theme:t})=>typeof t?.itemSpecific?.rounding==`number`&&typeof e?.roundedCorners==`number`,extraLabelClickAction:({options:e})=>{let t={...e};return t?.roundedCorners!==void 0&&delete t.roundedCorners,{value:null,options:t}}}},{key:`boxStrokeWidth`,control:{type:`slider`,label:`Box stroke width`,default:1,min:0,max:5,step:.5}},{key:`boxStrokeColor`,control:{type:`color-picker`,label:`Box stroke color`,default:({theme:t})=>e.getThemeMainColor(t),extraLabel:({options:t,theme:n})=>e.getThemeMainColorResetLabel(t,n,`boxStrokeColor`),extraLabelHasClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelHasClickAction(t,n,`boxStrokeColor`),extraLabelClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelClickAction(t,n,`boxStrokeColor`)}},{key:`medianStrokeWidth`,control:{type:`slider`,label:`Median stroke width`,default:2,min:0,max:5,step:.5}},{key:`medianStrokeColor`,control:{type:`color-picker`,label:`Median stroke color`,default:`#000000`}}]},{key:`observations`,type:`group`,open:!0,children:[{key:`observations.display`,control:{type:`switch`,label:`Show`,default:!1}},{key:`observations.onlyOutliers`,control:{type:`switch`,label:`Only outliers`,default:!1},visibleIf:i},{key:`observations.type`,control:{type:`picker`,label:`Type`,default:`dot`,enum:[`dot`,`ticks`]},visibleIf:i},{key:`observations.size`,control:{type:`slider`,label:`Size`,default:3,min:1,max:10,step:1},visibleIf:i},{key:`observations.opacity`,control:{type:`slider`,label:`Opacity`,default:.4,min:.1,max:1,step:.1},visibleIf:i},{key:`observations.jitter`,control:{type:`slider`,label:`Jitter`,default:30,min:1,max:100,step:1},visibleIf:i},{key:`observations.colorType`,control:{type:`picker`,label:`Color mode`,default:`single`,enum:[`single`,`range`]},visibleIf:i},{key:`observations.color`,control:{type:`color-picker`,label:`Color`,default:({theme:e})=>e?.colors?.[1],extraLabel:({options:e,theme:t})=>t?.colors?.[1]&&e.observations?.color&&e.observations?.color!==t?.colors?.[1]?`reset`:null,extraLabelHasClickAction:({options:e,theme:t})=>!!(t?.colors?.[1]&&e.observations?.color!==t?.colors?.[1]),extraLabelClickAction:({options:e,theme:t})=>{let n={...e};return n.observations&&(n.observations.color=t?.colors?.[1]),{value:n.observations?.color,options:n}}},visibleIf:({options:e})=>i({options:e})&&e?.observations?.colorType===`single`},{key:`observations.colorsType`,control:{type:`picker`,label:`Colors type`,default:`divergent`,enum:[`sequential`,`divergent`],calculateValue:({options:e})=>e?.observations?.colorsClass===`manual`?`manual`:r.getColorMaps()?.[e?.observations?.colorsClass]?.type??`divergent`,toOptions:({options:e,value:t})=>{if(t===`manual`)return{...e,observations:{...e.observations,colorsType:`manual`,colorsClass:`manual`}};let n=e.observations?.colorsClass;return t!==r.getColorMaps()?.[e?.observations?.colorsClass]?.type&&(n=r.getColorMapKeys(t??`divergent`)[0]),{...e,observations:{...e.observations,colorsClass:n,colorsType:t}}}},visibleIf:({options:e})=>i({options:e})&&e?.observations?.colorType===`range`},{key:`observations.colorsClass`,control:{type:`color-palette-picker`,label:`Color palette`,hideLabel:!0,default:({options:e})=>{let t=r.getColorMaps()?.[e?.observations?.colorsClass]?.type;return r.getColorMapKeys(t??`divergent`)[0]},enum:({options:e})=>{let t=r.getColorMaps()?.[e?.observations?.colorsClass]?.type;return r.getColorMapKeys(t??`divergent`)}},visibleIf:({options:e})=>i({options:e})&&e?.observations?.colorType===`range`&&e?.observations?.colorsClass!==`manual`}]},t.createAxesOptionsGroup([{axis:`x`,role:`axis`,scale:!0,color:!0,label:!0,tickDensity:!0,tickMode:!0,gridlines:!0},{axis:`y`,role:`axis`,scale:!0,color:!0,label:!0,tickDensity:!0,tickMode:!0,gridlines:!0}],t.createManualRangeControls({rangeKey:`manualAxisRange`,labels:{range:`Measure axis range`,minimum:`Measure axis minimum`,maximum:`Measure axis maximum`},discriminator:{key:`measureAxisType`,default:`variable`}})),n.createInfoTooltipOptionsGroup()];exports.default=a;
1
+ const e=require("../helpers.cjs"),t=require("../shared/utils/axis-options.config.cjs"),n=require("../shared/utils/info-tooltip-options.config.cjs"),r=require("../shared/utils/interactivity-options.config.cjs"),i=require("../shared/utils/color/color-palettes.cjs");var a=({options:e})=>e?.observations?.display===!0,o=[{key:`general`,type:`group`,open:!0,children:[{key:`display.title`,control:{type:`switch`,label:`Title`,default:!0}},{key:`horizontal`,control:{type:`picker`,label:`Display`,default:`vertical`,enum:[`vertical`,`horizontal`],parseValue:e=>e?`horizontal`:`vertical`,toValue:e=>e===`horizontal`}},{key:`extentTicks`,control:{type:`switch`,label:`Extent ticks`,default:!0}}]},{key:`box`,type:`group`,open:!0,children:[{key:`boxWidth`,control:{type:`slider`,label:`Box width`,default:.9,min:.1,max:1,step:.1}},{key:`boxFill`,control:{type:`color-picker`,label:`Box fill`,default:({theme:t})=>e.getThemeMainColor(t),extraLabel:({options:t,theme:n})=>e.getThemeMainColorResetLabel(t,n,`boxFill`),extraLabelHasClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelHasClickAction(t,n,`boxFill`),extraLabelClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelClickAction(t,n,`boxFill`)}},{key:`roundedCorners`,control:{type:`slider`,label:`Rounded corners`,default:({theme:e})=>e?.itemSpecific?.rounding??8,min:0,max:24,step:1,extraLabel:({options:e,theme:t})=>typeof t?.itemSpecific?.rounding==`number`?typeof e?.roundedCorners==`number`?`reset`:`auto`:null,extraLabelHasClickAction:({options:e,theme:t})=>typeof t?.itemSpecific?.rounding==`number`&&typeof e?.roundedCorners==`number`,extraLabelClickAction:({options:e})=>{let t={...e};return t?.roundedCorners!==void 0&&delete t.roundedCorners,{value:null,options:t}}}},{key:`boxStrokeWidth`,control:{type:`slider`,label:`Box stroke width`,default:1,min:0,max:5,step:.5}},{key:`boxStrokeColor`,control:{type:`color-picker`,label:`Box stroke color`,default:({theme:t})=>e.getThemeMainColor(t),extraLabel:({options:t,theme:n})=>e.getThemeMainColorResetLabel(t,n,`boxStrokeColor`),extraLabelHasClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelHasClickAction(t,n,`boxStrokeColor`),extraLabelClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelClickAction(t,n,`boxStrokeColor`)}},{key:`medianStrokeWidth`,control:{type:`slider`,label:`Median stroke width`,default:2,min:0,max:5,step:.5}},{key:`medianStrokeColor`,control:{type:`color-picker`,label:`Median stroke color`,default:`#000000`}}]},{key:`observations`,type:`group`,open:!0,children:[{key:`observations.display`,control:{type:`switch`,label:`Show`,default:!1}},{key:`observations.onlyOutliers`,control:{type:`switch`,label:`Only outliers`,default:!1},visibleIf:a},{key:`observations.type`,control:{type:`picker`,label:`Type`,default:`dot`,enum:[`dot`,`ticks`]},visibleIf:a},{key:`observations.size`,control:{type:`slider`,label:`Size`,default:3,min:1,max:10,step:1},visibleIf:a},{key:`observations.opacity`,control:{type:`slider`,label:`Opacity`,default:.4,min:.1,max:1,step:.1},visibleIf:a},{key:`observations.jitter`,control:{type:`slider`,label:`Jitter`,default:30,min:1,max:100,step:1},visibleIf:a},{key:`observations.colorType`,control:{type:`picker`,label:`Color mode`,default:`single`,enum:[`single`,`range`]},visibleIf:a},{key:`observations.color`,control:{type:`color-picker`,label:`Color`,default:({theme:e})=>e?.colors?.[1],extraLabel:({options:e,theme:t})=>t?.colors?.[1]&&e.observations?.color&&e.observations?.color!==t?.colors?.[1]?`reset`:null,extraLabelHasClickAction:({options:e,theme:t})=>!!(t?.colors?.[1]&&e.observations?.color!==t?.colors?.[1]),extraLabelClickAction:({options:e,theme:t})=>{let n={...e};return n.observations&&(n.observations.color=t?.colors?.[1]),{value:n.observations?.color,options:n}}},visibleIf:({options:e})=>a({options:e})&&e?.observations?.colorType===`single`},{key:`observations.colorsType`,control:{type:`picker`,label:`Colors type`,default:`divergent`,enum:[`sequential`,`divergent`],calculateValue:({options:e})=>e?.observations?.colorsClass===`manual`?`manual`:i.getColorMaps()?.[e?.observations?.colorsClass]?.type??`divergent`,toOptions:({options:e,value:t})=>{if(t===`manual`)return{...e,observations:{...e.observations,colorsType:`manual`,colorsClass:`manual`}};let n=e.observations?.colorsClass;return t!==i.getColorMaps()?.[e?.observations?.colorsClass]?.type&&(n=i.getColorMapKeys(t??`divergent`)[0]),{...e,observations:{...e.observations,colorsClass:n,colorsType:t}}}},visibleIf:({options:e})=>a({options:e})&&e?.observations?.colorType===`range`},{key:`observations.colorsClass`,control:{type:`color-palette-picker`,label:`Color palette`,hideLabel:!0,default:({options:e})=>{let t=i.getColorMaps()?.[e?.observations?.colorsClass]?.type;return i.getColorMapKeys(t??`divergent`)[0]},enum:({options:e})=>{let t=i.getColorMaps()?.[e?.observations?.colorsClass]?.type;return i.getColorMapKeys(t??`divergent`)}},visibleIf:({options:e})=>a({options:e})&&e?.observations?.colorType===`range`&&e?.observations?.colorsClass!==`manual`}]},t.createAxesOptionsGroup([{axis:`x`,role:`axis`,scale:!0,color:!0,label:!0,tickDensity:!0,tickMode:!0,gridlines:!0},{axis:`y`,role:`axis`,scale:!0,color:!0,label:!0,tickDensity:!0,tickMode:!0,gridlines:!0}],t.createManualRangeControls({rangeKey:`manualAxisRange`,labels:{range:`Measure axis range`,minimum:`Measure axis minimum`,maximum:`Measure axis maximum`},discriminator:{key:`measureAxisType`,default:`variable`}})),n.createInfoTooltipOptionsGroup(),r.createInteractivityOptionsGroup({brush:{default:!1,excludesClickActions:!0}})];exports.default=o;
2
2
  //# sourceMappingURL=box-plot-options.config.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"box-plot-options.config.cjs","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/box-plot/box-plot-options.config.ts"],"sourcesContent":["import { type ColorsClassKey, getColorMapKeys, getColorMaps } from '../shared/utils/color/color-palettes';\nimport {\n getThemeMainColor,\n getThemeMainColorExtraLabelClickAction,\n getThemeMainColorExtraLabelHasClickAction,\n getThemeMainColorResetLabel\n} from '../helpers';\nimport { createAxesOptionsGroup, createManualRangeControls } from '../shared/utils/axis-options.config';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { BoxPlotViewOptions } from './box-plot-options';\n\ntype BoxPlotConfigContext = OptionsConfigContext<BoxPlotViewOptions>;\ntype BoxPlotConfigContextWithValue<T> = BoxPlotConfigContext & { value: T };\n\nconst observationsEnabled = ({ options }: BoxPlotConfigContext) => options?.observations?.display === true;\n\nconst boxPlotOptionsConfig: OptionsConfig<BoxPlotConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'display.title',\n control: {\n type: 'switch',\n label: 'Title',\n default: true\n }\n },\n {\n key: 'horizontal',\n control: {\n type: 'picker',\n label: 'Display',\n default: 'vertical',\n enum: ['vertical', 'horizontal'],\n parseValue: (value: boolean | null | undefined) => (value ? 'horizontal' : 'vertical'),\n toValue: (value: 'horizontal' | 'vertical') => value === 'horizontal'\n }\n },\n {\n key: 'extentTicks',\n control: {\n type: 'switch',\n label: 'Extent ticks',\n default: true\n }\n }\n ]\n },\n {\n key: 'box',\n type: 'group',\n open: true,\n children: [\n {\n key: 'boxWidth',\n control: {\n type: 'slider',\n label: 'Box width',\n default: 0.9,\n min: 0.1,\n max: 1,\n step: 0.1\n }\n },\n {\n key: 'boxFill',\n control: {\n type: 'color-picker',\n label: 'Box fill',\n default: ({ theme }: BoxPlotConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: BoxPlotConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'boxFill'),\n extraLabelHasClickAction: ({ options, theme }: BoxPlotConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'boxFill'),\n extraLabelClickAction: ({ options, theme }: BoxPlotConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'boxFill')\n }\n },\n {\n key: 'roundedCorners',\n control: {\n type: 'slider',\n label: 'Rounded corners',\n default: ({ theme }: BoxPlotConfigContext) => theme?.itemSpecific?.rounding ?? 8,\n min: 0,\n max: 24,\n step: 1,\n extraLabel: ({ options, theme }: BoxPlotConfigContext) => {\n if (typeof theme?.itemSpecific?.rounding !== 'number') {\n return null;\n }\n\n if (typeof options?.roundedCorners !== 'number') {\n return 'auto';\n }\n\n return 'reset';\n },\n extraLabelHasClickAction: ({ options, theme }: BoxPlotConfigContext) => {\n if (typeof theme?.itemSpecific?.rounding !== 'number' || typeof options?.roundedCorners !== 'number') {\n return false;\n }\n\n return true;\n },\n extraLabelClickAction: ({ options }: BoxPlotConfigContext) => {\n const newOptions = { ...options };\n\n if (newOptions?.roundedCorners !== undefined) {\n delete newOptions.roundedCorners;\n }\n\n return { value: null, options: newOptions };\n }\n }\n },\n {\n key: 'boxStrokeWidth',\n control: {\n type: 'slider',\n label: 'Box stroke width',\n default: 1,\n min: 0,\n max: 5,\n step: 0.5\n }\n },\n {\n key: 'boxStrokeColor',\n control: {\n type: 'color-picker',\n label: 'Box stroke color',\n default: ({ theme }: BoxPlotConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: BoxPlotConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'boxStrokeColor'),\n extraLabelHasClickAction: ({ options, theme }: BoxPlotConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'boxStrokeColor'),\n extraLabelClickAction: ({ options, theme }: BoxPlotConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'boxStrokeColor')\n }\n },\n {\n key: 'medianStrokeWidth',\n control: {\n type: 'slider',\n label: 'Median stroke width',\n default: 2,\n min: 0,\n max: 5,\n step: 0.5\n }\n },\n {\n key: 'medianStrokeColor',\n control: {\n type: 'color-picker',\n label: 'Median stroke color',\n default: '#000000'\n }\n }\n ]\n },\n {\n key: 'observations',\n type: 'group',\n open: true,\n children: [\n {\n key: 'observations.display',\n control: {\n type: 'switch',\n label: 'Show',\n default: false\n }\n },\n {\n key: 'observations.onlyOutliers',\n control: {\n type: 'switch',\n label: 'Only outliers',\n default: false\n },\n visibleIf: observationsEnabled\n },\n {\n key: 'observations.type',\n control: {\n type: 'picker',\n label: 'Type',\n default: 'dot',\n enum: ['dot', 'ticks']\n },\n visibleIf: observationsEnabled\n },\n {\n key: 'observations.size',\n control: {\n type: 'slider',\n label: 'Size',\n default: 3,\n min: 1,\n max: 10,\n step: 1\n },\n visibleIf: observationsEnabled\n },\n {\n key: 'observations.opacity',\n control: {\n type: 'slider',\n label: 'Opacity',\n default: 0.4,\n min: 0.1,\n max: 1,\n step: 0.1\n },\n visibleIf: observationsEnabled\n },\n {\n key: 'observations.jitter',\n control: {\n type: 'slider',\n label: 'Jitter',\n default: 30,\n min: 1,\n max: 100,\n step: 1\n },\n visibleIf: observationsEnabled\n },\n {\n key: 'observations.colorType',\n control: {\n type: 'picker',\n label: 'Color mode',\n default: 'single',\n enum: ['single', 'range']\n },\n visibleIf: observationsEnabled\n },\n {\n key: 'observations.color',\n control: {\n type: 'color-picker',\n label: 'Color',\n default: ({ theme }: BoxPlotConfigContext) => theme?.colors?.[1],\n extraLabel: ({ options, theme }: BoxPlotConfigContext) => {\n if (\n theme?.colors?.[1]\n && options.observations?.color\n && options.observations?.color !== theme?.colors?.[1]\n ) {\n return 'reset';\n }\n\n return null;\n },\n extraLabelHasClickAction: ({ options, theme }: BoxPlotConfigContext) => {\n if (theme?.colors?.[1] && options.observations?.color !== theme?.colors?.[1]) {\n return true;\n }\n\n return false;\n },\n extraLabelClickAction: ({ options, theme }: BoxPlotConfigContext) => {\n const newOptions = { ...options };\n\n if (newOptions.observations) {\n newOptions.observations.color = theme?.colors?.[1];\n }\n\n return {\n value: newOptions.observations?.color,\n options: newOptions\n };\n }\n },\n visibleIf: ({ options }: BoxPlotConfigContext) =>\n observationsEnabled({ options }) && options?.observations?.colorType === 'single'\n },\n {\n key: 'observations.colorsType',\n control: {\n type: 'picker',\n label: 'Colors type',\n default: 'divergent',\n // TODO: add manual when being able to retrieve values from the boxplot\n enum: ['sequential', 'divergent' /* , 'manual' */],\n calculateValue: ({ options }: BoxPlotConfigContext) => {\n if (options?.observations?.colorsClass === 'manual') {\n return 'manual';\n }\n\n const colorMaps = getColorMaps();\n const type = colorMaps?.[options?.observations?.colorsClass as ColorsClassKey]?.type;\n\n return type ?? 'divergent';\n },\n toOptions: ({ options, value }: BoxPlotConfigContextWithValue<'manual' | 'sequential' | 'divergent'>) => {\n if (value === 'manual') {\n return {\n ...options,\n observations: {\n ...options.observations,\n // TODO needed to save the type?\n colorsType: 'manual',\n colorsClass: 'manual'\n }\n };\n }\n\n let colorsClass = options.observations?.colorsClass;\n const colorMaps = getColorMaps();\n const colorClassType = colorMaps?.[options?.observations?.colorsClass as ColorsClassKey]?.type;\n\n if (value !== colorClassType) {\n colorsClass = getColorMapKeys(value ?? 'divergent')[0];\n }\n\n return {\n ...options,\n observations: {\n ...options.observations,\n colorsClass,\n colorsType: value\n }\n };\n }\n },\n visibleIf: ({ options }: BoxPlotConfigContext) =>\n observationsEnabled({ options }) && options?.observations?.colorType === 'range'\n },\n /* TODO: need to be able to retrieve values from the boxplot\n {\n key: 'observations.manualValues.ranges',\n control: {\n type: 'color-range',\n editRangeSize: false,\n noValues: true,\n noAlphaChannel: true,\n label: 'Color ranges',\n hideLabel: true,\n default: () => structuredClone(defaultRangeValues)\n },\n visibleIf: ({ options }: BoxPlotConfigContext) =>\n options?.observations?.colorType === 'range' &&\n options?.observations?.colorsClass === 'manual'\n },\n */\n {\n key: 'observations.colorsClass',\n control: {\n type: 'color-palette-picker',\n label: 'Color palette',\n hideLabel: true,\n default: ({ options }: BoxPlotConfigContext) => {\n const colorMaps = getColorMaps();\n const colorClassType = colorMaps?.[options?.observations?.colorsClass as ColorsClassKey]?.type;\n\n return getColorMapKeys(colorClassType ?? 'divergent')[0];\n },\n enum: ({ options }: BoxPlotConfigContext) => {\n const colorMaps = getColorMaps();\n const colorClassType = colorMaps?.[options?.observations?.colorsClass as ColorsClassKey]?.type;\n\n return getColorMapKeys(colorClassType ?? 'divergent');\n }\n },\n visibleIf: ({ options }: BoxPlotConfigContext) =>\n observationsEnabled({ options })\n && options?.observations?.colorType === 'range'\n && options?.observations?.colorsClass !== 'manual'\n }\n ]\n },\n createAxesOptionsGroup<BoxPlotConfigContext>([\n { axis: 'x', role: 'axis', scale: true, color: true, label: true, tickDensity: true, tickMode: true, gridlines: true },\n { axis: 'y', role: 'axis', scale: true, color: true, label: true, tickDensity: true, tickMode: true, gridlines: true }\n ], createManualRangeControls<BoxPlotConfigContext>({\n rangeKey: 'manualAxisRange',\n labels: {\n range: 'Measure axis range',\n minimum: 'Measure axis minimum',\n maximum: 'Measure axis maximum'\n },\n discriminator: { key: 'measureAxisType', default: 'variable' }\n })),\n createInfoTooltipOptionsGroup<BoxPlotConfigContext>()\n];\n\nexport default boxPlotOptionsConfig;\n"],"mappings":"0MAeA,IAAM,GAAuB,CAAE,aAAoC,GAAS,cAAc,UAAY,GAEhG,EAA4D,CAChE,CACE,IAAK,UACL,KAAM,QACN,KAAM,GACN,SAAU,CACR,CACE,IAAK,gBACL,QAAS,CACP,KAAM,SACN,MAAO,QACP,QAAS,EACX,CACF,EACA,CACE,IAAK,aACL,QAAS,CACP,KAAM,SACN,MAAO,UACP,QAAS,WACT,KAAM,CAAC,WAAY,YAAY,EAC/B,WAAa,GAAuC,EAAQ,aAAe,WAC3E,QAAU,GAAqC,IAAU,YAC3D,CACF,EACA,CACE,IAAK,cACL,QAAS,CACP,KAAM,SACN,MAAO,eACP,QAAS,EACX,CACF,CACF,CACF,EACA,CACE,IAAK,MACL,KAAM,QACN,KAAM,GACN,SAAU,CACR,CACE,IAAK,WACL,QAAS,CACP,KAAM,SACN,MAAO,YACP,QAAS,GACT,IAAK,GACL,IAAK,EACL,KAAM,EACR,CACF,EACA,CACE,IAAK,UACL,QAAS,CACP,KAAM,eACN,MAAO,WACP,SAAU,CAAE,WAAkC,EAAA,kBAAkB,CAAK,EACrE,YAAa,CAAE,UAAS,WACtB,EAAA,4BAA4B,EAAS,EAAO,SAAS,EACvD,0BAA2B,CAAE,UAAS,WACpC,EAAA,0CAA0C,EAAS,EAAO,SAAS,EACrE,uBAAwB,CAAE,UAAS,WACjC,EAAA,uCAAuC,EAAS,EAAO,SAAS,CACpE,CACF,EACA,CACE,IAAK,iBACL,QAAS,CACP,KAAM,SACN,MAAO,kBACP,SAAU,CAAE,WAAkC,GAAO,cAAc,UAAY,EAC/E,IAAK,EACL,IAAK,GACL,KAAM,EACN,YAAa,CAAE,UAAS,WAClB,OAAO,GAAO,cAAc,UAAa,SAIzC,OAAO,GAAS,gBAAmB,SAIhC,QAHE,OAJA,KASX,0BAA2B,CAAE,UAAS,WAChC,OAAO,GAAO,cAAc,UAAa,UAAY,OAAO,GAAS,gBAAmB,SAM9F,uBAAwB,CAAE,aAAoC,CAC5D,IAAM,EAAa,CAAE,GAAG,CAAQ,EAMhC,OAJI,GAAY,iBAAmB,IAAA,IACjC,OAAO,EAAW,eAGb,CAAE,MAAO,KAAM,QAAS,CAAW,CAC5C,CACF,CACF,EACA,CACE,IAAK,iBACL,QAAS,CACP,KAAM,SACN,MAAO,mBACP,QAAS,EACT,IAAK,EACL,IAAK,EACL,KAAM,EACR,CACF,EACA,CACE,IAAK,iBACL,QAAS,CACP,KAAM,eACN,MAAO,mBACP,SAAU,CAAE,WAAkC,EAAA,kBAAkB,CAAK,EACrE,YAAa,CAAE,UAAS,WACtB,EAAA,4BAA4B,EAAS,EAAO,gBAAgB,EAC9D,0BAA2B,CAAE,UAAS,WACpC,EAAA,0CAA0C,EAAS,EAAO,gBAAgB,EAC5E,uBAAwB,CAAE,UAAS,WACjC,EAAA,uCAAuC,EAAS,EAAO,gBAAgB,CAC3E,CACF,EACA,CACE,IAAK,oBACL,QAAS,CACP,KAAM,SACN,MAAO,sBACP,QAAS,EACT,IAAK,EACL,IAAK,EACL,KAAM,EACR,CACF,EACA,CACE,IAAK,oBACL,QAAS,CACP,KAAM,eACN,MAAO,sBACP,QAAS,SACX,CACF,CACF,CACF,EACA,CACE,IAAK,eACL,KAAM,QACN,KAAM,GACN,SAAU,CACR,CACE,IAAK,uBACL,QAAS,CACP,KAAM,SACN,MAAO,OACP,QAAS,EACX,CACF,EACA,CACE,IAAK,4BACL,QAAS,CACP,KAAM,SACN,MAAO,gBACP,QAAS,EACX,EACA,UAAW,CACb,EACA,CACE,IAAK,oBACL,QAAS,CACP,KAAM,SACN,MAAO,OACP,QAAS,MACT,KAAM,CAAC,MAAO,OAAO,CACvB,EACA,UAAW,CACb,EACA,CACE,IAAK,oBACL,QAAS,CACP,KAAM,SACN,MAAO,OACP,QAAS,EACT,IAAK,EACL,IAAK,GACL,KAAM,CACR,EACA,UAAW,CACb,EACA,CACE,IAAK,uBACL,QAAS,CACP,KAAM,SACN,MAAO,UACP,QAAS,GACT,IAAK,GACL,IAAK,EACL,KAAM,EACR,EACA,UAAW,CACb,EACA,CACE,IAAK,sBACL,QAAS,CACP,KAAM,SACN,MAAO,SACP,QAAS,GACT,IAAK,EACL,IAAK,IACL,KAAM,CACR,EACA,UAAW,CACb,EACA,CACE,IAAK,yBACL,QAAS,CACP,KAAM,SACN,MAAO,aACP,QAAS,SACT,KAAM,CAAC,SAAU,OAAO,CAC1B,EACA,UAAW,CACb,EACA,CACE,IAAK,qBACL,QAAS,CACP,KAAM,eACN,MAAO,QACP,SAAU,CAAE,WAAkC,GAAO,SAAS,GAC9D,YAAa,CAAE,UAAS,WAEpB,GAAO,SAAS,IACb,EAAQ,cAAc,OACtB,EAAQ,cAAc,QAAU,GAAO,SAAS,GAE5C,QAGF,KAET,0BAA2B,CAAE,UAAS,WACpC,GAAI,GAAO,SAAS,IAAM,EAAQ,cAAc,QAAU,GAAO,SAAS,IAM5E,uBAAwB,CAAE,UAAS,WAAkC,CACnE,IAAM,EAAa,CAAE,GAAG,CAAQ,EAMhC,OAJI,EAAW,eACb,EAAW,aAAa,MAAQ,GAAO,SAAS,IAG3C,CACL,MAAO,EAAW,cAAc,MAChC,QAAS,CACX,CACF,CACF,EACA,WAAY,CAAE,aACZ,EAAoB,CAAE,SAAQ,CAAC,GAAK,GAAS,cAAc,YAAc,QAC7E,EACA,CACE,IAAK,0BACL,QAAS,CACP,KAAM,SACN,MAAO,cACP,QAAS,YAET,KAAM,CAAC,aAAc,WAA4B,EACjD,gBAAiB,CAAE,aACb,GAAS,cAAc,cAAgB,SAClC,SAGS,EAAA,aACL,CAAA,GAAY,GAAS,cAAc,YAA8B,EAAE,MAEjE,YAEjB,WAAY,CAAE,UAAS,WAAkF,CACvG,GAAI,IAAU,SACZ,MAAO,CACL,GAAG,EACH,aAAc,CACZ,GAAG,EAAQ,aAEX,WAAY,SACZ,YAAa,QACf,CACF,EAGF,IAAI,EAAc,EAAQ,cAAc,YAQxC,OAJI,IAHc,EAAA,aACK,CAAA,GAAY,GAAS,cAAc,YAA8B,EAAE,OAGxF,EAAc,EAAA,gBAAgB,GAAS,WAAW,CAAC,CAAC,IAG/C,CACL,GAAG,EACH,aAAc,CACZ,GAAG,EAAQ,aACX,cACA,WAAY,CACd,CACF,CACF,CACF,EACA,WAAY,CAAE,aACZ,EAAoB,CAAE,SAAQ,CAAC,GAAK,GAAS,cAAc,YAAc,OAC7E,EAkBA,CACE,IAAK,2BACL,QAAS,CACP,KAAM,uBACN,MAAO,gBACP,UAAW,GACX,SAAU,CAAE,aAAoC,CAE9C,IAAM,EADY,EAAA,aACK,CAAA,GAAY,GAAS,cAAc,YAA8B,EAAE,KAE1F,OAAO,EAAA,gBAAgB,GAAkB,WAAW,CAAC,CAAC,EACxD,EACA,MAAO,CAAE,aAAoC,CAE3C,IAAM,EADY,EAAA,aACK,CAAA,GAAY,GAAS,cAAc,YAA8B,EAAE,KAE1F,OAAO,EAAA,gBAAgB,GAAkB,WAAW,CACtD,CACF,EACA,WAAY,CAAE,aACZ,EAAoB,CAAE,SAAQ,CAAC,GAC5B,GAAS,cAAc,YAAc,SACrC,GAAS,cAAc,cAAgB,QAC9C,CACF,CACF,EACA,EAAA,uBAA6C,CAC3C,CAAE,KAAM,IAAK,KAAM,OAAQ,MAAO,GAAM,MAAO,GAAM,MAAO,GAAM,YAAa,GAAM,SAAU,GAAM,UAAW,EAAK,EACrH,CAAE,KAAM,IAAK,KAAM,OAAQ,MAAO,GAAM,MAAO,GAAM,MAAO,GAAM,YAAa,GAAM,SAAU,GAAM,UAAW,EAAK,CACvH,EAAG,EAAA,0BAAgD,CACjD,SAAU,kBACV,OAAQ,CACN,MAAO,qBACP,QAAS,uBACT,QAAS,sBACX,EACA,cAAe,CAAE,IAAK,kBAAmB,QAAS,UAAW,CAC/D,CAAC,CAAC,EACF,EAAA,8BAAoD,CACtD"}
1
+ {"version":3,"file":"box-plot-options.config.cjs","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/box-plot/box-plot-options.config.ts"],"sourcesContent":["import { type ColorsClassKey, getColorMapKeys, getColorMaps } from '../shared/utils/color/color-palettes';\nimport {\n getThemeMainColor,\n getThemeMainColorExtraLabelClickAction,\n getThemeMainColorExtraLabelHasClickAction,\n getThemeMainColorResetLabel\n} from '../helpers';\nimport { createAxesOptionsGroup, createManualRangeControls } from '../shared/utils/axis-options.config';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport { createInteractivityOptionsGroup } from '../shared/utils/interactivity-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { BoxPlotViewOptions } from './box-plot-options';\n\ntype BoxPlotConfigContext = OptionsConfigContext<BoxPlotViewOptions>;\ntype BoxPlotConfigContextWithValue<T> = BoxPlotConfigContext & { value: T };\n\nconst observationsEnabled = ({ options }: BoxPlotConfigContext) => options?.observations?.display === true;\n\nconst boxPlotOptionsConfig: OptionsConfig<BoxPlotConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'display.title',\n control: {\n type: 'switch',\n label: 'Title',\n default: true\n }\n },\n {\n key: 'horizontal',\n control: {\n type: 'picker',\n label: 'Display',\n default: 'vertical',\n enum: ['vertical', 'horizontal'],\n parseValue: (value: boolean | null | undefined) => (value ? 'horizontal' : 'vertical'),\n toValue: (value: 'horizontal' | 'vertical') => value === 'horizontal'\n }\n },\n {\n key: 'extentTicks',\n control: {\n type: 'switch',\n label: 'Extent ticks',\n default: true\n }\n }\n ]\n },\n {\n key: 'box',\n type: 'group',\n open: true,\n children: [\n {\n key: 'boxWidth',\n control: {\n type: 'slider',\n label: 'Box width',\n default: 0.9,\n min: 0.1,\n max: 1,\n step: 0.1\n }\n },\n {\n key: 'boxFill',\n control: {\n type: 'color-picker',\n label: 'Box fill',\n default: ({ theme }: BoxPlotConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: BoxPlotConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'boxFill'),\n extraLabelHasClickAction: ({ options, theme }: BoxPlotConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'boxFill'),\n extraLabelClickAction: ({ options, theme }: BoxPlotConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'boxFill')\n }\n },\n {\n key: 'roundedCorners',\n control: {\n type: 'slider',\n label: 'Rounded corners',\n default: ({ theme }: BoxPlotConfigContext) => theme?.itemSpecific?.rounding ?? 8,\n min: 0,\n max: 24,\n step: 1,\n extraLabel: ({ options, theme }: BoxPlotConfigContext) => {\n if (typeof theme?.itemSpecific?.rounding !== 'number') {\n return null;\n }\n\n if (typeof options?.roundedCorners !== 'number') {\n return 'auto';\n }\n\n return 'reset';\n },\n extraLabelHasClickAction: ({ options, theme }: BoxPlotConfigContext) => {\n if (typeof theme?.itemSpecific?.rounding !== 'number' || typeof options?.roundedCorners !== 'number') {\n return false;\n }\n\n return true;\n },\n extraLabelClickAction: ({ options }: BoxPlotConfigContext) => {\n const newOptions = { ...options };\n\n if (newOptions?.roundedCorners !== undefined) {\n delete newOptions.roundedCorners;\n }\n\n return { value: null, options: newOptions };\n }\n }\n },\n {\n key: 'boxStrokeWidth',\n control: {\n type: 'slider',\n label: 'Box stroke width',\n default: 1,\n min: 0,\n max: 5,\n step: 0.5\n }\n },\n {\n key: 'boxStrokeColor',\n control: {\n type: 'color-picker',\n label: 'Box stroke color',\n default: ({ theme }: BoxPlotConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: BoxPlotConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'boxStrokeColor'),\n extraLabelHasClickAction: ({ options, theme }: BoxPlotConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'boxStrokeColor'),\n extraLabelClickAction: ({ options, theme }: BoxPlotConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'boxStrokeColor')\n }\n },\n {\n key: 'medianStrokeWidth',\n control: {\n type: 'slider',\n label: 'Median stroke width',\n default: 2,\n min: 0,\n max: 5,\n step: 0.5\n }\n },\n {\n key: 'medianStrokeColor',\n control: {\n type: 'color-picker',\n label: 'Median stroke color',\n default: '#000000'\n }\n }\n ]\n },\n {\n key: 'observations',\n type: 'group',\n open: true,\n children: [\n {\n key: 'observations.display',\n control: {\n type: 'switch',\n label: 'Show',\n default: false\n }\n },\n {\n key: 'observations.onlyOutliers',\n control: {\n type: 'switch',\n label: 'Only outliers',\n default: false\n },\n visibleIf: observationsEnabled\n },\n {\n key: 'observations.type',\n control: {\n type: 'picker',\n label: 'Type',\n default: 'dot',\n enum: ['dot', 'ticks']\n },\n visibleIf: observationsEnabled\n },\n {\n key: 'observations.size',\n control: {\n type: 'slider',\n label: 'Size',\n default: 3,\n min: 1,\n max: 10,\n step: 1\n },\n visibleIf: observationsEnabled\n },\n {\n key: 'observations.opacity',\n control: {\n type: 'slider',\n label: 'Opacity',\n default: 0.4,\n min: 0.1,\n max: 1,\n step: 0.1\n },\n visibleIf: observationsEnabled\n },\n {\n key: 'observations.jitter',\n control: {\n type: 'slider',\n label: 'Jitter',\n default: 30,\n min: 1,\n max: 100,\n step: 1\n },\n visibleIf: observationsEnabled\n },\n {\n key: 'observations.colorType',\n control: {\n type: 'picker',\n label: 'Color mode',\n default: 'single',\n enum: ['single', 'range']\n },\n visibleIf: observationsEnabled\n },\n {\n key: 'observations.color',\n control: {\n type: 'color-picker',\n label: 'Color',\n default: ({ theme }: BoxPlotConfigContext) => theme?.colors?.[1],\n extraLabel: ({ options, theme }: BoxPlotConfigContext) => {\n if (\n theme?.colors?.[1]\n && options.observations?.color\n && options.observations?.color !== theme?.colors?.[1]\n ) {\n return 'reset';\n }\n\n return null;\n },\n extraLabelHasClickAction: ({ options, theme }: BoxPlotConfigContext) => {\n if (theme?.colors?.[1] && options.observations?.color !== theme?.colors?.[1]) {\n return true;\n }\n\n return false;\n },\n extraLabelClickAction: ({ options, theme }: BoxPlotConfigContext) => {\n const newOptions = { ...options };\n\n if (newOptions.observations) {\n newOptions.observations.color = theme?.colors?.[1];\n }\n\n return {\n value: newOptions.observations?.color,\n options: newOptions\n };\n }\n },\n visibleIf: ({ options }: BoxPlotConfigContext) =>\n observationsEnabled({ options }) && options?.observations?.colorType === 'single'\n },\n {\n key: 'observations.colorsType',\n control: {\n type: 'picker',\n label: 'Colors type',\n default: 'divergent',\n // TODO: add manual when being able to retrieve values from the boxplot\n enum: ['sequential', 'divergent' /* , 'manual' */],\n calculateValue: ({ options }: BoxPlotConfigContext) => {\n if (options?.observations?.colorsClass === 'manual') {\n return 'manual';\n }\n\n const colorMaps = getColorMaps();\n const type = colorMaps?.[options?.observations?.colorsClass as ColorsClassKey]?.type;\n\n return type ?? 'divergent';\n },\n toOptions: ({ options, value }: BoxPlotConfigContextWithValue<'manual' | 'sequential' | 'divergent'>) => {\n if (value === 'manual') {\n return {\n ...options,\n observations: {\n ...options.observations,\n // TODO needed to save the type?\n colorsType: 'manual',\n colorsClass: 'manual'\n }\n };\n }\n\n let colorsClass = options.observations?.colorsClass;\n const colorMaps = getColorMaps();\n const colorClassType = colorMaps?.[options?.observations?.colorsClass as ColorsClassKey]?.type;\n\n if (value !== colorClassType) {\n colorsClass = getColorMapKeys(value ?? 'divergent')[0];\n }\n\n return {\n ...options,\n observations: {\n ...options.observations,\n colorsClass,\n colorsType: value\n }\n };\n }\n },\n visibleIf: ({ options }: BoxPlotConfigContext) =>\n observationsEnabled({ options }) && options?.observations?.colorType === 'range'\n },\n /* TODO: need to be able to retrieve values from the boxplot\n {\n key: 'observations.manualValues.ranges',\n control: {\n type: 'color-range',\n editRangeSize: false,\n noValues: true,\n noAlphaChannel: true,\n label: 'Color ranges',\n hideLabel: true,\n default: () => structuredClone(defaultRangeValues)\n },\n visibleIf: ({ options }: BoxPlotConfigContext) =>\n options?.observations?.colorType === 'range' &&\n options?.observations?.colorsClass === 'manual'\n },\n */\n {\n key: 'observations.colorsClass',\n control: {\n type: 'color-palette-picker',\n label: 'Color palette',\n hideLabel: true,\n default: ({ options }: BoxPlotConfigContext) => {\n const colorMaps = getColorMaps();\n const colorClassType = colorMaps?.[options?.observations?.colorsClass as ColorsClassKey]?.type;\n\n return getColorMapKeys(colorClassType ?? 'divergent')[0];\n },\n enum: ({ options }: BoxPlotConfigContext) => {\n const colorMaps = getColorMaps();\n const colorClassType = colorMaps?.[options?.observations?.colorsClass as ColorsClassKey]?.type;\n\n return getColorMapKeys(colorClassType ?? 'divergent');\n }\n },\n visibleIf: ({ options }: BoxPlotConfigContext) =>\n observationsEnabled({ options })\n && options?.observations?.colorType === 'range'\n && options?.observations?.colorsClass !== 'manual'\n }\n ]\n },\n createAxesOptionsGroup<BoxPlotConfigContext>([\n { axis: 'x', role: 'axis', scale: true, color: true, label: true, tickDensity: true, tickMode: true, gridlines: true },\n { axis: 'y', role: 'axis', scale: true, color: true, label: true, tickDensity: true, tickMode: true, gridlines: true }\n ], createManualRangeControls<BoxPlotConfigContext>({\n rangeKey: 'manualAxisRange',\n labels: {\n range: 'Measure axis range',\n minimum: 'Measure axis minimum',\n maximum: 'Measure axis maximum'\n },\n discriminator: { key: 'measureAxisType', default: 'variable' }\n })),\n createInfoTooltipOptionsGroup<BoxPlotConfigContext>(),\n createInteractivityOptionsGroup<BoxPlotConfigContext>({ brush: { default: false, excludesClickActions: true } })\n];\n\nexport default boxPlotOptionsConfig;\n"],"mappings":"wQAgBA,IAAM,GAAuB,CAAE,aAAoC,GAAS,cAAc,UAAY,GAEhG,EAA4D,CAChE,CACE,IAAK,UACL,KAAM,QACN,KAAM,GACN,SAAU,CACR,CACE,IAAK,gBACL,QAAS,CACP,KAAM,SACN,MAAO,QACP,QAAS,EACX,CACF,EACA,CACE,IAAK,aACL,QAAS,CACP,KAAM,SACN,MAAO,UACP,QAAS,WACT,KAAM,CAAC,WAAY,YAAY,EAC/B,WAAa,GAAuC,EAAQ,aAAe,WAC3E,QAAU,GAAqC,IAAU,YAC3D,CACF,EACA,CACE,IAAK,cACL,QAAS,CACP,KAAM,SACN,MAAO,eACP,QAAS,EACX,CACF,CACF,CACF,EACA,CACE,IAAK,MACL,KAAM,QACN,KAAM,GACN,SAAU,CACR,CACE,IAAK,WACL,QAAS,CACP,KAAM,SACN,MAAO,YACP,QAAS,GACT,IAAK,GACL,IAAK,EACL,KAAM,EACR,CACF,EACA,CACE,IAAK,UACL,QAAS,CACP,KAAM,eACN,MAAO,WACP,SAAU,CAAE,WAAkC,EAAA,kBAAkB,CAAK,EACrE,YAAa,CAAE,UAAS,WACtB,EAAA,4BAA4B,EAAS,EAAO,SAAS,EACvD,0BAA2B,CAAE,UAAS,WACpC,EAAA,0CAA0C,EAAS,EAAO,SAAS,EACrE,uBAAwB,CAAE,UAAS,WACjC,EAAA,uCAAuC,EAAS,EAAO,SAAS,CACpE,CACF,EACA,CACE,IAAK,iBACL,QAAS,CACP,KAAM,SACN,MAAO,kBACP,SAAU,CAAE,WAAkC,GAAO,cAAc,UAAY,EAC/E,IAAK,EACL,IAAK,GACL,KAAM,EACN,YAAa,CAAE,UAAS,WAClB,OAAO,GAAO,cAAc,UAAa,SAIzC,OAAO,GAAS,gBAAmB,SAIhC,QAHE,OAJA,KASX,0BAA2B,CAAE,UAAS,WAChC,OAAO,GAAO,cAAc,UAAa,UAAY,OAAO,GAAS,gBAAmB,SAM9F,uBAAwB,CAAE,aAAoC,CAC5D,IAAM,EAAa,CAAE,GAAG,CAAQ,EAMhC,OAJI,GAAY,iBAAmB,IAAA,IACjC,OAAO,EAAW,eAGb,CAAE,MAAO,KAAM,QAAS,CAAW,CAC5C,CACF,CACF,EACA,CACE,IAAK,iBACL,QAAS,CACP,KAAM,SACN,MAAO,mBACP,QAAS,EACT,IAAK,EACL,IAAK,EACL,KAAM,EACR,CACF,EACA,CACE,IAAK,iBACL,QAAS,CACP,KAAM,eACN,MAAO,mBACP,SAAU,CAAE,WAAkC,EAAA,kBAAkB,CAAK,EACrE,YAAa,CAAE,UAAS,WACtB,EAAA,4BAA4B,EAAS,EAAO,gBAAgB,EAC9D,0BAA2B,CAAE,UAAS,WACpC,EAAA,0CAA0C,EAAS,EAAO,gBAAgB,EAC5E,uBAAwB,CAAE,UAAS,WACjC,EAAA,uCAAuC,EAAS,EAAO,gBAAgB,CAC3E,CACF,EACA,CACE,IAAK,oBACL,QAAS,CACP,KAAM,SACN,MAAO,sBACP,QAAS,EACT,IAAK,EACL,IAAK,EACL,KAAM,EACR,CACF,EACA,CACE,IAAK,oBACL,QAAS,CACP,KAAM,eACN,MAAO,sBACP,QAAS,SACX,CACF,CACF,CACF,EACA,CACE,IAAK,eACL,KAAM,QACN,KAAM,GACN,SAAU,CACR,CACE,IAAK,uBACL,QAAS,CACP,KAAM,SACN,MAAO,OACP,QAAS,EACX,CACF,EACA,CACE,IAAK,4BACL,QAAS,CACP,KAAM,SACN,MAAO,gBACP,QAAS,EACX,EACA,UAAW,CACb,EACA,CACE,IAAK,oBACL,QAAS,CACP,KAAM,SACN,MAAO,OACP,QAAS,MACT,KAAM,CAAC,MAAO,OAAO,CACvB,EACA,UAAW,CACb,EACA,CACE,IAAK,oBACL,QAAS,CACP,KAAM,SACN,MAAO,OACP,QAAS,EACT,IAAK,EACL,IAAK,GACL,KAAM,CACR,EACA,UAAW,CACb,EACA,CACE,IAAK,uBACL,QAAS,CACP,KAAM,SACN,MAAO,UACP,QAAS,GACT,IAAK,GACL,IAAK,EACL,KAAM,EACR,EACA,UAAW,CACb,EACA,CACE,IAAK,sBACL,QAAS,CACP,KAAM,SACN,MAAO,SACP,QAAS,GACT,IAAK,EACL,IAAK,IACL,KAAM,CACR,EACA,UAAW,CACb,EACA,CACE,IAAK,yBACL,QAAS,CACP,KAAM,SACN,MAAO,aACP,QAAS,SACT,KAAM,CAAC,SAAU,OAAO,CAC1B,EACA,UAAW,CACb,EACA,CACE,IAAK,qBACL,QAAS,CACP,KAAM,eACN,MAAO,QACP,SAAU,CAAE,WAAkC,GAAO,SAAS,GAC9D,YAAa,CAAE,UAAS,WAEpB,GAAO,SAAS,IACb,EAAQ,cAAc,OACtB,EAAQ,cAAc,QAAU,GAAO,SAAS,GAE5C,QAGF,KAET,0BAA2B,CAAE,UAAS,WACpC,GAAI,GAAO,SAAS,IAAM,EAAQ,cAAc,QAAU,GAAO,SAAS,IAM5E,uBAAwB,CAAE,UAAS,WAAkC,CACnE,IAAM,EAAa,CAAE,GAAG,CAAQ,EAMhC,OAJI,EAAW,eACb,EAAW,aAAa,MAAQ,GAAO,SAAS,IAG3C,CACL,MAAO,EAAW,cAAc,MAChC,QAAS,CACX,CACF,CACF,EACA,WAAY,CAAE,aACZ,EAAoB,CAAE,SAAQ,CAAC,GAAK,GAAS,cAAc,YAAc,QAC7E,EACA,CACE,IAAK,0BACL,QAAS,CACP,KAAM,SACN,MAAO,cACP,QAAS,YAET,KAAM,CAAC,aAAc,WAA4B,EACjD,gBAAiB,CAAE,aACb,GAAS,cAAc,cAAgB,SAClC,SAGS,EAAA,aACL,CAAA,GAAY,GAAS,cAAc,YAA8B,EAAE,MAEjE,YAEjB,WAAY,CAAE,UAAS,WAAkF,CACvG,GAAI,IAAU,SACZ,MAAO,CACL,GAAG,EACH,aAAc,CACZ,GAAG,EAAQ,aAEX,WAAY,SACZ,YAAa,QACf,CACF,EAGF,IAAI,EAAc,EAAQ,cAAc,YAQxC,OAJI,IAHc,EAAA,aACK,CAAA,GAAY,GAAS,cAAc,YAA8B,EAAE,OAGxF,EAAc,EAAA,gBAAgB,GAAS,WAAW,CAAC,CAAC,IAG/C,CACL,GAAG,EACH,aAAc,CACZ,GAAG,EAAQ,aACX,cACA,WAAY,CACd,CACF,CACF,CACF,EACA,WAAY,CAAE,aACZ,EAAoB,CAAE,SAAQ,CAAC,GAAK,GAAS,cAAc,YAAc,OAC7E,EAkBA,CACE,IAAK,2BACL,QAAS,CACP,KAAM,uBACN,MAAO,gBACP,UAAW,GACX,SAAU,CAAE,aAAoC,CAE9C,IAAM,EADY,EAAA,aACK,CAAA,GAAY,GAAS,cAAc,YAA8B,EAAE,KAE1F,OAAO,EAAA,gBAAgB,GAAkB,WAAW,CAAC,CAAC,EACxD,EACA,MAAO,CAAE,aAAoC,CAE3C,IAAM,EADY,EAAA,aACK,CAAA,GAAY,GAAS,cAAc,YAA8B,EAAE,KAE1F,OAAO,EAAA,gBAAgB,GAAkB,WAAW,CACtD,CACF,EACA,WAAY,CAAE,aACZ,EAAoB,CAAE,SAAQ,CAAC,GAC5B,GAAS,cAAc,YAAc,SACrC,GAAS,cAAc,cAAgB,QAC9C,CACF,CACF,EACA,EAAA,uBAA6C,CAC3C,CAAE,KAAM,IAAK,KAAM,OAAQ,MAAO,GAAM,MAAO,GAAM,MAAO,GAAM,YAAa,GAAM,SAAU,GAAM,UAAW,EAAK,EACrH,CAAE,KAAM,IAAK,KAAM,OAAQ,MAAO,GAAM,MAAO,GAAM,MAAO,GAAM,YAAa,GAAM,SAAU,GAAM,UAAW,EAAK,CACvH,EAAG,EAAA,0BAAgD,CACjD,SAAU,kBACV,OAAQ,CACN,MAAO,qBACP,QAAS,uBACT,QAAS,sBACX,EACA,cAAe,CAAE,IAAK,kBAAmB,QAAS,UAAW,CAC/D,CAAC,CAAC,EACF,EAAA,8BAAoD,EACpD,EAAA,gCAAsD,CAAE,MAAO,CAAE,QAAS,GAAO,qBAAsB,EAAK,CAAE,CAAC,CACjH"}