@luzmo/analytics-components-kit 1.4.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (615) hide show
  1. package/README.md +12 -2
  2. package/angular/components/ai-chat-empty-state.ts +1 -1
  3. package/angular/components/ai-chat.ts +10 -3
  4. package/angular/components/display-settings-period-over-period.ts +25 -4
  5. package/angular/components/display-settings.ts +24 -3
  6. package/angular/components/item-slot-drop-panel.ts +7 -0
  7. package/angular/components/item-slot-drop.ts +7 -0
  8. package/angular/components/item-slot-picker-panel.ts +7 -0
  9. package/angular/components/item-slot-picker.ts +15 -1
  10. package/angular/components/slot-menu.ts +15 -1
  11. package/angular/esm/components/ai-chat-empty-state.d.ts +1 -1
  12. package/angular/esm/components/ai-chat.d.ts +6 -4
  13. package/angular/esm/components/ai-chat.js +10 -2
  14. package/angular/esm/components/display-settings-period-over-period.d.ts +12 -5
  15. package/angular/esm/components/display-settings-period-over-period.js +29 -5
  16. package/angular/esm/components/display-settings.d.ts +11 -4
  17. package/angular/esm/components/display-settings.js +28 -4
  18. package/angular/esm/components/item-slot-drop-panel.d.ts +4 -1
  19. package/angular/esm/components/item-slot-drop-panel.js +10 -2
  20. package/angular/esm/components/item-slot-drop.d.ts +4 -1
  21. package/angular/esm/components/item-slot-drop.js +10 -2
  22. package/angular/esm/components/item-slot-picker-panel.d.ts +4 -1
  23. package/angular/esm/components/item-slot-picker-panel.js +10 -2
  24. package/angular/esm/components/item-slot-picker.d.ts +7 -2
  25. package/angular/esm/components/item-slot-picker.js +18 -2
  26. package/angular/esm/components/slot-menu.d.ts +7 -2
  27. package/angular/esm/components/slot-menu.js +18 -2
  28. package/angular/package.json +2 -2
  29. package/angular/utils/filters/expressions.d.ts +2 -0
  30. package/angular/utils/slot-state/slot-store.d.ts +3 -8
  31. package/angular/utils/time/period-over-period-condition.const.d.ts +0 -1
  32. package/angular/utils/time/period-over-period-context.d.ts +75 -0
  33. package/angular/utils/time/tests/period-over-period-context.test.d.ts +1 -0
  34. package/components/add-to-dashboard/index.cjs +1 -1
  35. package/components/add-to-dashboard/index.js +1 -1
  36. package/components/{add-to-dashboard-Bu6S3qVz.js → add-to-dashboard-B5egTFre.js} +3 -3
  37. package/components/{add-to-dashboard-BtzTZdjN.cjs → add-to-dashboard-BC5SObl9.cjs} +1 -1
  38. package/components/advanced-options.i18n-CyfRP6Jc.js +43 -0
  39. package/components/advanced-options.i18n-DPTCLyPj.cjs +20 -0
  40. package/components/ai-chat/ai-chat-events.d.ts +6 -2
  41. package/components/ai-chat/ai-chat-request.d.ts +1 -1
  42. package/components/ai-chat/ai-chat.d.ts +9 -2
  43. package/components/ai-chat/ai-prompt-types.d.ts +19 -1
  44. package/components/ai-chat/helpers/interaction-assets.d.ts +9 -0
  45. package/components/ai-chat/helpers/question-template.d.ts +13 -0
  46. package/components/ai-chat/index.cjs +1 -1
  47. package/components/ai-chat/index.d.ts +2 -1
  48. package/components/ai-chat/index.js +3 -3
  49. package/components/ai-chat/session/ai-chat-session-types.d.ts +6 -1
  50. package/components/ai-chat/session/ai-chat-session.d.ts +14 -3
  51. package/components/{ai-chat-CL894viH.js → ai-chat-CZz60W04.js} +1152 -837
  52. package/components/ai-chat-CkN95EAz.cjs +414 -0
  53. package/components/ai-interaction-textarea/index.cjs +1 -1
  54. package/components/ai-interaction-textarea/index.js +1 -1
  55. package/components/{ai-interaction-textarea-BmvVVCmL.cjs → ai-interaction-textarea-NGtzhkEU.cjs} +1 -1
  56. package/components/{ai-interaction-textarea-CnQ2FBc7.js → ai-interaction-textarea-zpSYvzWC.js} +4 -4
  57. package/components/{area-chart-options.config-D99tvt_H.cjs → area-chart-options.config-DkaWRgGR.cjs} +1 -1
  58. package/components/{area-chart-options.config-Dnw8v2CA.js → area-chart-options.config-E5T5GaAt.js} +3 -3
  59. package/components/{area-chart-positioning.config-ygE3-JQW.js → area-chart-positioning.config-CF5TQdQM.js} +1 -1
  60. package/components/{area-chart-positioning.config-BwEs73dl.cjs → area-chart-positioning.config-D3v03RF2.cjs} +1 -1
  61. package/components/{bar-chart-options.config-DHO8grQN.js → bar-chart-options.config-BmuNCcVu.js} +3 -3
  62. package/components/{bar-chart-options.config-BQ-PbucR.cjs → bar-chart-options.config-DujzIJ03.cjs} +1 -1
  63. package/components/{bar-chart-positioning.config-CPdIIPp0.cjs → bar-chart-positioning.config-B2cBwfjg.cjs} +1 -1
  64. package/components/{bar-chart-positioning.config-GjqSe7CO.js → bar-chart-positioning.config-DD3FsbpL.js} +1 -1
  65. package/components/{base-rAte-QzM.js → base-BqwRKT4V.js} +1 -1
  66. package/components/{base-CGDNY_7v.cjs → base-D-bJhYbS.cjs} +1 -1
  67. package/components/{box-plot-options.config-BgiiwSrU.js → box-plot-options.config-BldiKc1W.js} +1 -1
  68. package/components/{box-plot-options.config-BcGisybi.cjs → box-plot-options.config-CTHQiE0y.cjs} +1 -1
  69. package/components/{box-plot-positioning.config-DDUgau2U.js → box-plot-positioning.config-D7dak0lQ.js} +1 -1
  70. package/components/{box-plot-positioning.config-mSIgw923.cjs → box-plot-positioning.config-DyDjp1GB.cjs} +1 -1
  71. package/components/{bubble-chart-options.config-DMk8Yjfk.cjs → bubble-chart-options.config-CIQV2-nD.cjs} +1 -1
  72. package/components/{bubble-chart-options.config-UM9w5tBs.js → bubble-chart-options.config-DfUueHwL.js} +1 -1
  73. package/components/{bubble-chart-positioning.config-CuOxvXYf.cjs → bubble-chart-positioning.config-CBVdzO-2.cjs} +1 -1
  74. package/components/{bubble-chart-positioning.config-C3UubNLh.js → bubble-chart-positioning.config-DjYnqcoE.js} +1 -1
  75. package/components/{bullet-chart-positioning.config-DB1Fmx1d.cjs → bullet-chart-positioning.config-B1tyFrKD.cjs} +1 -1
  76. package/components/{bullet-chart-positioning.config-BuFhsRMP.js → bullet-chart-positioning.config-C1Fy_8N4.js} +1 -1
  77. package/components/{choropleth-map-options.config-Blu0Z2tR.js → choropleth-map-options.config-BPwJyWoW.js} +1 -1
  78. package/components/{choropleth-map-options.config-DwFJ00CS.cjs → choropleth-map-options.config-mBZ3__hO.cjs} +1 -1
  79. package/components/{choropleth-map-positioning.config-6PsCyhsn.js → choropleth-map-positioning.config-BJ4TNZiP.js} +1 -1
  80. package/components/{choropleth-map-positioning.config-fc5IcNoB.cjs → choropleth-map-positioning.config-DaN1GsN7.cjs} +1 -1
  81. package/components/{circle-pack-chart-options.config-DQs-uitJ.js → circle-pack-chart-options.config-BbTBvJRt.js} +1 -1
  82. package/components/{circle-pack-chart-options.config-DMNMYWZX.cjs → circle-pack-chart-options.config-Cz9c2Oxt.cjs} +1 -1
  83. package/components/{circle-pack-chart-positioning.config-DvQfzJ_Z.cjs → circle-pack-chart-positioning.config-C0iRGjcn.cjs} +1 -1
  84. package/components/{circle-pack-chart-positioning.config-DRHNE10H.js → circle-pack-chart-positioning.config-sm_d4gNL.js} +1 -1
  85. package/components/{circular-gauge-positioning.config-CGOX-Vyn.js → circular-gauge-positioning.config-CP_Ihfyd.js} +1 -1
  86. package/components/{circular-gauge-positioning.config-OX1-mPls.cjs → circular-gauge-positioning.config-GgkU8ivx.cjs} +1 -1
  87. package/components/{column-chart-options.config-BYDJTVx6.js → column-chart-options.config-BoIqFqBu.js} +3 -3
  88. package/components/{column-chart-options.config-CyD8V7j4.cjs → column-chart-options.config-fsV6tk3-.cjs} +1 -1
  89. package/components/{column-chart-positioning.config-BVYa1A42.js → column-chart-positioning.config-B4OsEyKU.js} +1 -1
  90. package/components/{column-chart-positioning.config-NbQbSa8P.cjs → column-chart-positioning.config-oub804lP.cjs} +1 -1
  91. package/components/{combination-chart-options.config-Cg3ZEKMe.cjs → combination-chart-options.config-C_fwwZvd.cjs} +1 -1
  92. package/components/{combination-chart-options.config-B3zsSUFx.js → combination-chart-options.config-Oks0enDz.js} +3 -3
  93. package/components/{combination-chart-positioning.config-B7DtfzCV.cjs → combination-chart-positioning.config-BeEC_NMJ.cjs} +1 -1
  94. package/components/{combination-chart-positioning.config-yHAgveni.js → combination-chart-positioning.config-BxNKTTby.js} +1 -1
  95. package/components/{conditional-number-positioning.config-BZS99jTT.cjs → conditional-number-positioning.config-B7F96ylg.cjs} +1 -1
  96. package/components/{conditional-number-positioning.config-DhixJEpv.js → conditional-number-positioning.config-xMGIw6c7.js} +1 -1
  97. package/components/data-field/index.cjs +1 -1
  98. package/components/data-field/index.js +1 -1
  99. package/components/{data-field-BORlpZZk.cjs → data-field-BxIuPFX_.cjs} +1 -1
  100. package/components/{data-field-B9466d0w.js → data-field-D03w2T6D.js} +3 -3
  101. package/components/data-field-level/index.cjs +1 -1
  102. package/components/data-field-level/index.js +1 -1
  103. package/components/{data-field-level-DOEYwcvM.cjs → data-field-level-BdWZsIny.cjs} +1 -1
  104. package/components/{data-field-level-GrX6yhPV.js → data-field-level-C-C9RCNf.js} +1 -1
  105. package/components/data-field-panel/index.cjs +1 -1
  106. package/components/data-field-panel/index.js +1 -1
  107. package/components/{data-field-panel-BedJ9V2r.js → data-field-panel-DLe4FvTg.js} +3 -3
  108. package/components/{data-field-panel-DmMkAYAz.cjs → data-field-panel-kGncuIuq.cjs} +1 -1
  109. package/components/data-fields-select/index.cjs +1 -1
  110. package/components/data-fields-select/index.js +1 -1
  111. package/components/{data-fields-select-BOqmoE7n.cjs → data-fields-select-CSP6pX9J.cjs} +1 -1
  112. package/components/{data-fields-select-af1HZLWS.js → data-fields-select-DP80Miah.js} +1 -1
  113. package/components/dataset-selector-list/index.cjs +1 -1
  114. package/components/dataset-selector-list/index.js +1 -1
  115. package/components/{dataset-selector-list-BzI8n_dB.js → dataset-selector-list-D2UcUaOx.js} +1 -1
  116. package/components/{dataset-selector-list-CmZaj20L.cjs → dataset-selector-list-DGWiCqpf.cjs} +1 -1
  117. package/components/dataset-selector-row/index.cjs +1 -1
  118. package/components/dataset-selector-row/index.js +1 -1
  119. package/components/{dataset-selector-row-D_7iBmdm.js → dataset-selector-row-7WNwyR9L.js} +3 -3
  120. package/components/{dataset-selector-row-mOGioXLM.cjs → dataset-selector-row-Vfh7jDjW.cjs} +1 -1
  121. package/components/{de-AOtjGNGZ.js → de-BbXtB6N5.js} +19 -4
  122. package/components/de-BfHCg6-Y.cjs +20 -0
  123. package/components/display-settings/display-settings.d.ts +11 -3
  124. package/components/display-settings/index.cjs +1 -1
  125. package/components/display-settings/index.js +1 -1
  126. package/components/{display-settings-Qwp9oJo6.js → display-settings-Bqq9iJ3L.js} +86 -62
  127. package/components/display-settings-CG-qtz9m.cjs +146 -0
  128. package/components/display-settings-binning/index.cjs +1 -1
  129. package/components/display-settings-binning/index.js +1 -1
  130. package/components/{display-settings-binning-IPVCvx8a.js → display-settings-binning-C2Jlf18P.js} +2 -2
  131. package/components/{display-settings-binning-D5zhoC7D.cjs → display-settings-binning-Dx9zEbDo.cjs} +1 -1
  132. package/components/display-settings-datetime/index.cjs +1 -1
  133. package/components/display-settings-datetime/index.js +1 -1
  134. package/components/{display-settings-datetime-t70VEfHe.cjs → display-settings-datetime-B6LMQZOW.cjs} +1 -1
  135. package/components/{display-settings-datetime-DgBBSYfC.js → display-settings-datetime-B6okY4hC.js} +2 -2
  136. package/components/display-settings-grand-totals/index.cjs +1 -1
  137. package/components/display-settings-grand-totals/index.js +1 -1
  138. package/components/{display-settings-grand-totals-C_Fzk7oV.cjs → display-settings-grand-totals-D1Fi1qIx.cjs} +1 -1
  139. package/components/{display-settings-grand-totals-AFtKeeeG.js → display-settings-grand-totals-_v0iGpHZ.js} +2 -2
  140. package/components/display-settings-numeric/index.cjs +1 -1
  141. package/components/display-settings-numeric/index.js +1 -1
  142. package/components/{display-settings-numeric-BF8BA5MH.cjs → display-settings-numeric-DbcsMeEN.cjs} +1 -1
  143. package/components/{display-settings-numeric-DeuXT1UR.js → display-settings-numeric-G2avidxv.js} +2 -2
  144. package/components/display-settings-period-over-period/display-settings-period-over-period.d.ts +20 -10
  145. package/components/display-settings-period-over-period/helpers/constants.d.ts +0 -23
  146. package/components/display-settings-period-over-period/index.cjs +1 -1
  147. package/components/display-settings-period-over-period/index.js +1 -1
  148. package/components/{display-settings-period-over-period-CzxnyVF7.js → display-settings-period-over-period-DjB6sYEF.js} +130 -169
  149. package/components/display-settings-period-over-period-ikA0oE0C.cjs +155 -0
  150. package/components/donut-chart-options.config-B47Y1jhM.cjs +20 -0
  151. package/components/{donut-chart-options.config-B2vxfMyh.js → donut-chart-options.config-C__JfD3B.js} +32 -45
  152. package/components/{donut-chart-options.de-AXRfsiXW.cjs → donut-chart-options.de-Bsze2Gb5.cjs} +1 -1
  153. package/components/{donut-chart-options.de-DgNmBJiQ.js → donut-chart-options.de-Cft1Ppg0.js} +1 -2
  154. package/components/{donut-chart-options.en-aZqu2oEV.cjs → donut-chart-options.en-D3F9v0nN.cjs} +1 -1
  155. package/components/{donut-chart-options.en-BXwxTVpB.js → donut-chart-options.en-DZbap5Oi.js} +1 -2
  156. package/components/{donut-chart-options.es-7WgxuaDe.cjs → donut-chart-options.es-Cm0HGP62.cjs} +1 -1
  157. package/components/{donut-chart-options.es-DW_q5HeE.js → donut-chart-options.es-gM85ij3W.js} +1 -2
  158. package/components/{donut-chart-options.fr-QU3pGELZ.js → donut-chart-options.fr-Tgs8r0XZ.js} +1 -2
  159. package/components/{donut-chart-options.fr-C0Z8xEyF.cjs → donut-chart-options.fr-VSZoCY5q.cjs} +1 -1
  160. package/components/{donut-chart-options.nl-aKVLbRJY.cjs → donut-chart-options.nl-BkwPxEkq.cjs} +1 -1
  161. package/components/{donut-chart-options.nl-D_cgYVAQ.js → donut-chart-options.nl-SfAF0ycW.js} +1 -2
  162. package/components/{donut-chart-positioning.config-Bu1jZwtJ.cjs → donut-chart-positioning.config-BxJLjvJI.cjs} +1 -1
  163. package/components/{donut-chart-positioning.config-C0jkFWni.js → donut-chart-positioning.config-Doti4TgR.js} +1 -1
  164. package/components/{es-CYhv03uu.js → es-DRdklNAj.js} +19 -4
  165. package/components/es-Djk6AXOA.cjs +20 -0
  166. package/components/{evolution-number-positioning.config-DD8HBFtv.js → evolution-number-positioning.config-DHgkhRjt.js} +1 -1
  167. package/components/{evolution-number-positioning.config-DbH1-ODd.cjs → evolution-number-positioning.config-DeJkgT2e.cjs} +1 -1
  168. package/components/expressions-B4TetNaL.js +314 -0
  169. package/components/expressions-_KjBCqb6.cjs +20 -0
  170. package/components/filter-expression-picker/index.cjs +1 -1
  171. package/components/filter-expression-picker/index.js +1 -1
  172. package/components/filter-expression-picker-BuXFbOXQ.js +146 -0
  173. package/components/filter-expression-picker-Cta3MMId.cjs +40 -0
  174. package/components/filter-item/index.cjs +1 -1
  175. package/components/filter-item/index.js +1 -1
  176. package/components/filter-item-DENHWF-1.cjs +111 -0
  177. package/components/{filter-item-QJ3sDlmG.js → filter-item-DXkoGth1.js} +170 -169
  178. package/components/filter-parameter-picker/index.cjs +1 -1
  179. package/components/filter-parameter-picker/index.js +1 -1
  180. package/components/{filter-parameter-picker-DjQVFIfg.cjs → filter-parameter-picker-CYb_At4A.cjs} +1 -1
  181. package/components/{filter-parameter-picker-C8qwIo_H.js → filter-parameter-picker-Dhdrwokt.js} +1 -1
  182. package/components/filter-value-picker/index.cjs +1 -1
  183. package/components/filter-value-picker/index.js +1 -1
  184. package/components/{filter-value-picker-DIYyMymr.js → filter-value-picker-Df2otXtB.js} +4 -4
  185. package/components/{filter-value-picker-CMNxLzj7.cjs → filter-value-picker-IBplK-ue.cjs} +1 -1
  186. package/components/filter-value-picker-datetime/index.cjs +1 -1
  187. package/components/filter-value-picker-datetime/index.js +1 -1
  188. package/components/{filter-value-picker-datetime-DKblyQrs.js → filter-value-picker-datetime-Cxj-X50F.js} +34 -28
  189. package/components/filter-value-picker-datetime-DmJ6vrr8.cjs +53 -0
  190. package/components/filter-value-picker-hierarchy/index.cjs +1 -1
  191. package/components/filter-value-picker-hierarchy/index.js +1 -1
  192. package/components/{filter-value-picker-hierarchy-CXPC_4MU.cjs → filter-value-picker-hierarchy-BAK4urti.cjs} +1 -1
  193. package/components/{filter-value-picker-hierarchy-IswtY6Qa.js → filter-value-picker-hierarchy-JUxA6aOK.js} +2 -2
  194. package/components/filter-value-picker-numeric/index.cjs +1 -1
  195. package/components/filter-value-picker-numeric/index.js +1 -1
  196. package/components/{filter-value-picker-numeric-C7_-Fpol.cjs → filter-value-picker-numeric-Bf7iFwmp.cjs} +1 -1
  197. package/components/{filter-value-picker-numeric-DlFnGZ2O.js → filter-value-picker-numeric-MEFZbKsF.js} +1 -1
  198. package/components/filters/index.cjs +1 -1
  199. package/components/filters/index.js +1 -1
  200. package/components/{filters-LDXhe1Bp.cjs → filters-BLd6si6W.cjs} +1 -1
  201. package/components/{filters-DEpmh9Nj.js → filters-CYSKF57z.js} +2 -2
  202. package/components/formula/index.cjs +1 -1
  203. package/components/formula/index.js +1 -1
  204. package/components/{formula-WqOlEQ5o.js → formula-DPYHw2sr.js} +2 -2
  205. package/components/{formula-codemirror-BTYlGSxE.cjs → formula-codemirror-CZpISqCT.cjs} +1 -1
  206. package/components/{formula-codemirror-bpEb3M2G.js → formula-codemirror-DrcDvAal.js} +4 -4
  207. package/components/{formula-display-store-QU-B6xp9.js → formula-display-store-fFSd4okF.js} +3 -3
  208. package/components/{formula-display-store-D7fzKNfW.cjs → formula-display-store-zZIC2bm-.cjs} +1 -1
  209. package/components/formula-editor/index.cjs +1 -1
  210. package/components/formula-editor/index.js +3 -3
  211. package/components/{formula-editor-BbyDf0vM.js → formula-editor-C9ECzSM6.js} +5 -5
  212. package/components/{formula-editor-D_NRhjUI.cjs → formula-editor-CDx-sZrG.cjs} +1 -1
  213. package/components/formula-field/index.cjs +1 -1
  214. package/components/formula-field/index.js +1 -1
  215. package/components/{formula-field-DSSpI8LB.cjs → formula-field-CV3FLzM2.cjs} +1 -1
  216. package/components/{formula-field-BT9K_W6Q.js → formula-field-DZLfK3cs.js} +1 -1
  217. package/components/{formula-input-base-CQc1OU9G.js → formula-input-base-CTuUw8IY.js} +1 -1
  218. package/components/{formula-input-base-BoWiH97v.cjs → formula-input-base-DN9aVHrY.cjs} +1 -1
  219. package/components/{formula-CXrr9wJZ.cjs → formula-x9mA6jDv.cjs} +1 -1
  220. package/components/{fr-DKAoGI_6.js → fr-C6af3ed2.js} +19 -4
  221. package/components/fr-cuXTTJ19.cjs +20 -0
  222. package/components/{funnel-chart-options.config-W83a8ukL.js → funnel-chart-options.config-AupTvjpk.js} +27 -84
  223. package/components/funnel-chart-options.config-DLRKgBpU.cjs +20 -0
  224. package/components/{funnel-chart-options.de-B2f_xxvV.cjs → funnel-chart-options.de-BXnQCtlb.cjs} +1 -1
  225. package/components/{funnel-chart-options.de-CLMiAr0m.js → funnel-chart-options.de-CRjaoeDf.js} +0 -1
  226. package/components/{funnel-chart-options.en-Pu8yU7Yz.js → funnel-chart-options.en-B0moabZE.js} +0 -1
  227. package/components/{funnel-chart-options.en-Cdvkged9.cjs → funnel-chart-options.en-BxEAM67L.cjs} +1 -1
  228. package/components/{funnel-chart-options.es-CrAp7hOK.cjs → funnel-chart-options.es-B88ZJAvI.cjs} +1 -1
  229. package/components/{funnel-chart-options.es-BPjGIJ7s.js → funnel-chart-options.es-DVVoRoYc.js} +0 -1
  230. package/components/{funnel-chart-options.fr-0RxiqeZg.cjs → funnel-chart-options.fr-B79JhoL2.cjs} +1 -1
  231. package/components/{funnel-chart-options.fr-CtWjGa4q.js → funnel-chart-options.fr-DvQC8k_c.js} +0 -1
  232. package/components/{funnel-chart-options.nl-r_wRg5qR.cjs → funnel-chart-options.nl-CnHVcvGk.cjs} +1 -1
  233. package/components/{funnel-chart-options.nl-2TPEy_CB.js → funnel-chart-options.nl-DJhjX1Pw.js} +0 -1
  234. package/components/{funnel-chart-positioning.config-Dx9E5eiW.cjs → funnel-chart-positioning.config-BZJ5g_XG.cjs} +1 -1
  235. package/components/{funnel-chart-positioning.config-Dbex7egf.js → funnel-chart-positioning.config-y6yFY7jd.js} +1 -1
  236. package/components/{get-dataset-name-C3Sc0hZ0.cjs → get-dataset-name-DddRDGDV.cjs} +1 -1
  237. package/components/{get-dataset-name-BArAzBu2.js → get-dataset-name-OPlPwcJU.js} +1 -1
  238. package/components/{groupings-DMWmtE5F.cjs → groupings-BnI5_4A1.cjs} +1 -1
  239. package/components/{groupings-DXJS4XIU.js → groupings-D_Ri_Z-t.js} +1 -1
  240. package/components/{guidelines-options.config-D-ZuReR_.cjs → guidelines-options.config-BgARZ-fs.cjs} +1 -1
  241. package/components/{guidelines-options.config-DVZrOa3v.js → guidelines-options.config-BqAYiMSF.js} +1 -1
  242. package/components/{heat-map-positioning.config-Bzg0DG60.cjs → heat-map-positioning.config-Cgg-qkcr.cjs} +1 -1
  243. package/components/{heat-map-positioning.config-D4T7PQzN.js → heat-map-positioning.config-DN75-r9r.js} +1 -1
  244. package/components/{heat-table-options.config-CMWWTeyo.js → heat-table-options.config-BL8x1qwt.js} +20 -7
  245. package/components/heat-table-options.config-iEHucwDf.cjs +20 -0
  246. package/components/{heat-table-positioning.config-Cj6LlLe3.cjs → heat-table-positioning.config-C2QPQURh.cjs} +1 -1
  247. package/components/{heat-table-positioning.config-DVQiJfC4.js → heat-table-positioning.config-CHxtZe-0.js} +1 -1
  248. package/components/{hexbin-map-positioning.config-csNrvMwp.js → hexbin-map-positioning.config-B1H1Z6Os.js} +1 -1
  249. package/components/{hexbin-map-positioning.config-ChoCCure.cjs → hexbin-map-positioning.config-BI-RVV35.cjs} +1 -1
  250. package/components/index.cjs +1 -1
  251. package/components/index.js +69 -69
  252. package/components/interactive-viz-item/index.cjs +1 -1
  253. package/components/interactive-viz-item/index.js +1 -1
  254. package/components/{interactive-viz-item-Cc3Ix95e.js → interactive-viz-item-CngeQ579.js} +2 -2
  255. package/components/{interactive-viz-item-SF12d97t.cjs → interactive-viz-item-qrC0vC2O.cjs} +1 -1
  256. package/components/interactivity-options.config-AKgaj2vC.js +131 -0
  257. package/components/interactivity-options.config-CkRDoCWd.cjs +20 -0
  258. package/components/interactivity-options.i18n-Cv5w1nSS.cjs +20 -0
  259. package/components/{interactivity-options.i18n-DY947PNz.js → interactivity-options.i18n-DmrqdhYW.js} +35 -5
  260. package/components/item-grid/index.cjs +1 -1
  261. package/components/item-grid/index.js +2 -2
  262. package/components/{item-grid-DveTRc7D.cjs → item-grid-C-v9kDvq.cjs} +1 -1
  263. package/components/{item-grid-DscQOFMu.js → item-grid-DzR5sfDM.js} +1 -1
  264. package/components/item-grid-item-actions-menu/index.cjs +1 -1
  265. package/components/item-grid-item-actions-menu/index.js +1 -1
  266. package/components/{item-grid-item-actions-menu-B1bKfagj.js → item-grid-item-actions-menu-DJJESWL6.js} +1 -1
  267. package/components/{item-grid-item-actions-menu-xRrT9dkY.cjs → item-grid-item-actions-menu-HIlcOhJA.cjs} +1 -1
  268. package/components/item-option/index.cjs +1 -1
  269. package/components/item-option/index.js +1 -1
  270. package/components/{item-option-DKLRnicU.js → item-option-B6h4E5qR.js} +49 -43
  271. package/components/item-option-action-button-group/index.cjs +1 -1
  272. package/components/item-option-action-button-group/index.js +1 -1
  273. package/components/{item-option-action-button-group-Cpd_CNn-.js → item-option-action-button-group-Bc3bJQUS.js} +1 -1
  274. package/components/{item-option-action-button-group-BMgUwveA.cjs → item-option-action-button-group-CQHpvC5O.cjs} +1 -1
  275. package/components/{item-option-base-BMy6dWbc.cjs → item-option-base-6msESUhx.cjs} +1 -1
  276. package/components/{item-option-base-BfHciede.js → item-option-base-XB_1V6QM.js} +1 -1
  277. package/components/item-option-color-palette-picker/index.cjs +1 -1
  278. package/components/item-option-color-palette-picker/index.js +1 -1
  279. package/components/{item-option-color-palette-picker-8KFuRU1D.js → item-option-color-palette-picker-BYjb4ygk.js} +1 -1
  280. package/components/{item-option-color-palette-picker-CnM1Gi6o.cjs → item-option-color-palette-picker-MhFJgurt.cjs} +1 -1
  281. package/components/item-option-color-picker/index.cjs +1 -1
  282. package/components/item-option-color-picker/index.js +1 -1
  283. package/components/{item-option-color-picker-CNW7GsCO.cjs → item-option-color-picker-CLLWV2M-.cjs} +1 -1
  284. package/components/{item-option-color-picker-DDvsY7hV.js → item-option-color-picker-Dq_NwAn1.js} +1 -1
  285. package/components/item-option-color-range/index.cjs +1 -1
  286. package/components/item-option-color-range/index.js +1 -1
  287. package/components/{item-option-color-range-BqSbuSZh.cjs → item-option-color-range-DlCi_o72.cjs} +1 -1
  288. package/components/{item-option-color-range-FQduqtz3.js → item-option-color-range-abi_vblh.js} +1 -1
  289. package/components/item-option-guidelines/index.cjs +1 -1
  290. package/components/item-option-guidelines/index.js +1 -1
  291. package/components/{item-option-guidelines-k5DwMONo.js → item-option-guidelines-8LmcJ04U.js} +3 -3
  292. package/components/{item-option-guidelines-z9BsGR-l.cjs → item-option-guidelines-Q2M8xSYS.cjs} +1 -1
  293. package/components/item-option-multi-language-field/index.cjs +1 -1
  294. package/components/item-option-multi-language-field/index.js +1 -1
  295. package/components/{item-option-multi-language-field-CqtBl3gM.js → item-option-multi-language-field-6FBm3Xr3.js} +1 -1
  296. package/components/{item-option-multi-language-field-DM2PENxV.cjs → item-option-multi-language-field-Dq3j7XYw.cjs} +1 -1
  297. package/components/item-option-number-field/index.cjs +1 -1
  298. package/components/item-option-number-field/index.js +1 -1
  299. package/components/{item-option-number-field-BgQRhFj3.js → item-option-number-field-CPgwUGTR.js} +1 -1
  300. package/components/{item-option-number-field-Cw2ofJL7.cjs → item-option-number-field-CZSVb9wv.cjs} +1 -1
  301. package/components/item-option-panel/index.cjs +1 -1
  302. package/components/item-option-panel/index.js +1 -1
  303. package/components/{item-option-panel-CU51qvgV.cjs → item-option-panel-B5ZKbaLl.cjs} +1 -1
  304. package/components/{item-option-panel-BLXWIbjX.js → item-option-panel-BZRyyc-9.js} +2 -2
  305. package/components/item-option-picker/index.cjs +1 -1
  306. package/components/item-option-picker/index.js +1 -1
  307. package/components/{item-option-picker-EJlc0bmj.cjs → item-option-picker-DMLk4Uq_.cjs} +1 -1
  308. package/components/{item-option-picker-DkAENDES.js → item-option-picker-mU6X3bbk.js} +1 -1
  309. package/components/item-option-position-picker/index.cjs +1 -1
  310. package/components/item-option-position-picker/index.js +1 -1
  311. package/components/{item-option-position-picker-DX7lLZKO.js → item-option-position-picker-B4AuC_73.js} +1 -1
  312. package/components/{item-option-position-picker-Ba7cBvlL.cjs → item-option-position-picker-BTH6KixE.cjs} +1 -1
  313. package/components/item-option-positions-number-field/index.cjs +1 -1
  314. package/components/item-option-positions-number-field/index.js +1 -1
  315. package/components/{item-option-positions-number-field-Bqfg0MJm.js → item-option-positions-number-field-BTFGhhrb.js} +1 -1
  316. package/components/{item-option-positions-number-field-BQ8gFOAn.cjs → item-option-positions-number-field-Dz0mpPSk.cjs} +1 -1
  317. package/components/item-option-radio-button-group/index.cjs +1 -1
  318. package/components/item-option-radio-button-group/index.js +1 -1
  319. package/components/{item-option-radio-button-group-Bk7VQlpx.js → item-option-radio-button-group-CmYFScry.js} +1 -1
  320. package/components/{item-option-radio-button-group-2hX-E2WV.cjs → item-option-radio-button-group-EBLjtMVd.cjs} +1 -1
  321. package/components/item-option-slider/index.cjs +1 -1
  322. package/components/item-option-slider/index.js +1 -1
  323. package/components/{item-option-slider-BKtJfL3D.js → item-option-slider-C7RfBary.js} +1 -1
  324. package/components/{item-option-slider-Kz2eFBql.cjs → item-option-slider-DRXTGW9W.cjs} +1 -1
  325. package/components/item-option-switch/index.cjs +1 -1
  326. package/components/item-option-switch/index.js +1 -1
  327. package/components/{item-option-switch-BUteU1mc.cjs → item-option-switch-D-FbXXRl.cjs} +1 -1
  328. package/components/{item-option-switch-cGWccE79.js → item-option-switch-D-MY6Uqv.js} +1 -1
  329. package/components/{item-option-DpLdospV.cjs → item-option-t_LsqjoR.cjs} +1 -1
  330. package/components/item-option-text-field/index.cjs +1 -1
  331. package/components/item-option-text-field/index.js +1 -1
  332. package/components/{item-option-text-field-Dy8pqVKJ.js → item-option-text-field-BR2V4ro2.js} +1 -1
  333. package/components/{item-option-text-field-BC9fR-yW.cjs → item-option-text-field-Cn-9lblu.cjs} +1 -1
  334. package/components/item-options-configs.cjs +1 -1
  335. package/components/item-options-configs.js +21 -21
  336. package/components/item-slot-drop/index.cjs +1 -1
  337. package/components/item-slot-drop/index.js +1 -1
  338. package/components/item-slot-drop/item-slot-drop.d.ts +2 -0
  339. package/components/item-slot-drop-7v-n-e1y.cjs +93 -0
  340. package/components/{item-slot-drop-CwZT8bTP.js → item-slot-drop-Db-tVAud.js} +69 -60
  341. package/components/item-slot-drop-panel/index.cjs +1 -1
  342. package/components/item-slot-drop-panel/index.js +1 -1
  343. package/components/item-slot-drop-panel/item-slot-drop-panel.d.ts +2 -0
  344. package/components/{item-slot-drop-panel-o5UdVrY_.js → item-slot-drop-panel-D-g4H1Rp.js} +117 -107
  345. package/components/item-slot-drop-panel-D2_1yWHs.cjs +58 -0
  346. package/components/item-slot-picker/index.cjs +1 -1
  347. package/components/item-slot-picker/index.js +1 -1
  348. package/components/item-slot-picker/item-slot-picker.d.ts +5 -0
  349. package/components/item-slot-picker-9afJORSK.cjs +160 -0
  350. package/components/{item-slot-picker-ilmmb0-8.js → item-slot-picker-BHtj0dRB.js} +109 -101
  351. package/components/item-slot-picker-panel/index.cjs +1 -1
  352. package/components/item-slot-picker-panel/index.js +1 -1
  353. package/components/item-slot-picker-panel/item-slot-picker-panel.d.ts +2 -0
  354. package/components/{item-slot-picker-panel-DprM9Rli.js → item-slot-picker-panel-CIxGfaz3.js} +73 -62
  355. package/components/item-slot-picker-panel-CeOtdtMc.cjs +86 -0
  356. package/components/{kpi-positioning.config-mQuxf1ke.js → kpi-positioning.config-DDTfIZ_h.js} +1 -1
  357. package/components/{kpi-positioning.config-DIYWUwID.cjs → kpi-positioning.config-t9SxIqga.cjs} +1 -1
  358. package/components/legend-options.i18n-0hyeyskh.js +78 -0
  359. package/components/legend-options.i18n-CUZeW5rR.cjs +20 -0
  360. package/components/{line-chart-options.config-Opoz2jPk.js → line-chart-options.config-BdhyECMS.js} +2 -2
  361. package/components/{line-chart-options.config-DOGbeJhy.cjs → line-chart-options.config-CVtYVap1.cjs} +1 -1
  362. package/components/{line-chart-positioning.config-DqjrWmxJ.js → line-chart-positioning.config-BZoKaJVO.js} +1 -1
  363. package/components/{line-chart-positioning.config-DK9PycZ_.cjs → line-chart-positioning.config-DfTMlBBL.cjs} +1 -1
  364. package/components/{localized-mixin-EoNvtTBG.cjs → localized-mixin-BQowFGQK.cjs} +1 -1
  365. package/components/{localized-mixin-FPDNaZhb.js → localized-mixin-BdXrQldH.js} +1 -1
  366. package/components/{marker-map-positioning.config-BB51kE8O.cjs → marker-map-positioning.config-BsPUa8Ui.cjs} +1 -1
  367. package/components/{marker-map-positioning.config-CA08hZcp.js → marker-map-positioning.config-BtuIUPHT.js} +1 -1
  368. package/components/nl-B4gqLp1F.cjs +20 -0
  369. package/components/{nl-DNWGcGqO.js → nl-Chzh7kM2.js} +19 -4
  370. package/components/{ohlc-chart-options.config-CvlHm6hy.cjs → ohlc-chart-options.config-BQJWhXv7.cjs} +1 -1
  371. package/components/{ohlc-chart-options.config-C-TCUtOt.js → ohlc-chart-options.config-MYqetK62.js} +3 -3
  372. package/components/{ohlc-chart-positioning.config-CDL2vGsl.cjs → ohlc-chart-positioning.config-D1X1U96F.cjs} +1 -1
  373. package/components/{ohlc-chart-positioning.config-BqFHD1oj.js → ohlc-chart-positioning.config-Ny3U8zgV.js} +1 -1
  374. package/components/{parallel-coordinates-plot-options.config-UHrCS9q5.cjs → parallel-coordinates-plot-options.config-B4v6BtAz.cjs} +1 -1
  375. package/components/{parallel-coordinates-plot-options.config-C3HTFBTl.js → parallel-coordinates-plot-options.config-CN4p7QDD.js} +1 -1
  376. package/components/{parallel-coordinates-plot-positioning.config-Cc-ooVxV.cjs → parallel-coordinates-plot-positioning.config-BI6JMiBT.cjs} +1 -1
  377. package/components/{parallel-coordinates-plot-positioning.config-D6IuAk_K.js → parallel-coordinates-plot-positioning.config-Curf1XoL.js} +1 -1
  378. package/components/{period-over-period-condition.const-C1NZ9Bkp.cjs → period-over-period-condition.const-BOI8gxO1.cjs} +1 -1
  379. package/components/{period-over-period-condition.const-AE_2h-9O.js → period-over-period-condition.const-C9cn5m-o.js} +1 -2
  380. package/components/period-over-period-context-CeZHXSs0.js +84 -0
  381. package/components/period-over-period-context-Cx4pRKBn.cjs +20 -0
  382. package/components/{pivot-table-options.config-5pYvqc35.cjs → pivot-table-options.config-1DApg-wg.cjs} +1 -1
  383. package/components/{pivot-table-options.config-BlrguysB.js → pivot-table-options.config-DhzyxHTP.js} +1 -1
  384. package/components/{pivot-table-positioning.config-DDwXH70O.js → pivot-table-positioning.config-BoN7P8bs.js} +1 -1
  385. package/components/{pivot-table-positioning.config-DvwKNjoD.cjs → pivot-table-positioning.config-BsyGrzvX.cjs} +1 -1
  386. package/components/{pyramid-chart-options.config-CAC6cMmt.cjs → pyramid-chart-options.config-CNOOucJE.cjs} +1 -1
  387. package/components/{pyramid-chart-options.config-0Qf1naIx.js → pyramid-chart-options.config-DVBuswjg.js} +1 -1
  388. package/components/{pyramid-chart-positioning.config-DWou2jnm.js → pyramid-chart-positioning.config-D9Z40IzT.js} +1 -1
  389. package/components/{pyramid-chart-positioning.config-10BYkgv8.cjs → pyramid-chart-positioning.config-DdjlJjFb.cjs} +1 -1
  390. package/components/{radar-chart-positioning.config-B0O8vn-B.js → radar-chart-positioning.config-C16aywvy.js} +1 -1
  391. package/components/{radar-chart-positioning.config-Dg41uYWY.cjs → radar-chart-positioning.config-DARMkDIv.cjs} +1 -1
  392. package/components/{route-map-positioning.config-C1iUodTh.js → route-map-positioning.config-BmuPL5DK.js} +1 -1
  393. package/components/{route-map-positioning.config-DlM6xJTP.cjs → route-map-positioning.config-CTtpis1h.cjs} +1 -1
  394. package/components/{sankey-diagram-options.config-Y6jRK3wk.js → sankey-diagram-options.config-B86iq8pI.js} +1 -1
  395. package/components/{sankey-diagram-options.config-B8aHKfFt.cjs → sankey-diagram-options.config-mIgABANw.cjs} +1 -1
  396. package/components/{sankey-diagram-positioning.config-5EXNleL5.js → sankey-diagram-positioning.config-BhvJe1IX.js} +1 -1
  397. package/components/{sankey-diagram-positioning.config-BSu02GJ1.cjs → sankey-diagram-positioning.config-aLwXoVGA.cjs} +1 -1
  398. package/components/{scatter-plot-options.config-DhOGahRc.cjs → scatter-plot-options.config-BZVF4r3f.cjs} +1 -1
  399. package/components/{scatter-plot-options.config-DvGofFzR.js → scatter-plot-options.config-ChqZzslY.js} +2 -2
  400. package/components/{scatter-plot-positioning.config-CuyJUmiV.cjs → scatter-plot-positioning.config-CYy1jfz5.cjs} +1 -1
  401. package/components/{scatter-plot-positioning.config-nDbkUUqa.js → scatter-plot-positioning.config-twVc5wWl.js} +1 -1
  402. package/components/{set-locale-m257lVi3.js → set-locale-BeAF7qn4.js} +4 -4
  403. package/components/{set-locale-BkMmLcm6.cjs → set-locale-DvJ1yA4S.cjs} +1 -1
  404. package/components/{slicer-filter-positioning.config-BT5aNPHe.js → slicer-filter-positioning.config-WofHaYJx.js} +1 -1
  405. package/components/{slicer-filter-positioning.config-D7ZLoaGu.cjs → slicer-filter-positioning.config-_frD2LDr.cjs} +1 -1
  406. package/components/slot-menu/index.cjs +1 -1
  407. package/components/slot-menu/index.js +1 -1
  408. package/components/slot-menu/slot-menu.d.ts +6 -0
  409. package/components/slot-menu-B-7MzAd6.cjs +71 -0
  410. package/components/{slot-menu-BB_nJWZx.js → slot-menu-DhGC4yoA.js} +88 -97
  411. package/components/slot-menu-list/index.cjs +1 -1
  412. package/components/slot-menu-list/index.js +1 -1
  413. package/components/{slot-menu-list-C2nLODML.cjs → slot-menu-list-CiJK2fNu.cjs} +1 -1
  414. package/components/{slot-menu-list-3QkrOWgG.js → slot-menu-list-SoDeiZE1.js} +1 -1
  415. package/components/sort-options.config-CiPFyoxx.cjs +20 -0
  416. package/components/sort-options.config-CiZo1AEh.js +104 -0
  417. package/components/{speedometer-chart-positioning.config-CO1MtdU3.js → speedometer-chart-positioning.config-BLXUOOc_.js} +1 -1
  418. package/components/{speedometer-chart-positioning.config-BtDD3TiP.cjs → speedometer-chart-positioning.config-CkTqU3qn.cjs} +1 -1
  419. package/components/{spike-map-positioning.config-BhKVutm1.cjs → spike-map-positioning.config-DmLlz8ZD.cjs} +1 -1
  420. package/components/{spike-map-positioning.config-CQkcCdHD.js → spike-map-positioning.config-pgedE0nh.js} +1 -1
  421. package/components/{strip-plot-positioning.config-DEyOR-yS.js → strip-plot-positioning.config-B4sVlI82.js} +1 -1
  422. package/components/{strip-plot-positioning.config-CEYgtT13.cjs → strip-plot-positioning.config-CtctjJwh.cjs} +1 -1
  423. package/components/sunburst-chart-options.config-DNkL0pN4.cjs +20 -0
  424. package/components/{sunburst-chart-options.config-DVETeZFc.js → sunburst-chart-options.config-Zg42LwmT.js} +26 -83
  425. package/components/{sunburst-chart-options.de-DO65RQI_.cjs → sunburst-chart-options.de-BIJ2Njvn.cjs} +1 -1
  426. package/components/{sunburst-chart-options.de-B0mIITIx.js → sunburst-chart-options.de-BaLziTTh.js} +2 -2
  427. package/components/{sunburst-chart-options.en-C3IkkUBW.cjs → sunburst-chart-options.en-C2P4VIQq.cjs} +1 -1
  428. package/components/{sunburst-chart-options.en-LoUPN34r.js → sunburst-chart-options.en-CxWuNug0.js} +2 -2
  429. package/components/{sunburst-chart-options.es-BV_4fN10.cjs → sunburst-chart-options.es-eGoOC0h2.cjs} +1 -1
  430. package/components/{sunburst-chart-options.es-DBje7CMN.js → sunburst-chart-options.es-nqpK13rB.js} +2 -2
  431. package/components/{sunburst-chart-options.fr-Cnbpsj6t.js → sunburst-chart-options.fr-Dtfoz1Z-.js} +2 -2
  432. package/components/{sunburst-chart-options.fr-DO7-oeNe.cjs → sunburst-chart-options.fr-wdaTbc-I.cjs} +1 -1
  433. package/components/{sunburst-chart-options.nl-DsecjcfE.cjs → sunburst-chart-options.nl-2U3YQ6aP.cjs} +1 -1
  434. package/components/{sunburst-chart-options.nl-CluctKYY.js → sunburst-chart-options.nl-BljrFLha.js} +2 -2
  435. package/components/{sunburst-chart-positioning.config-DP-ifsmn.js → sunburst-chart-positioning.config-BJpphNBF.js} +1 -1
  436. package/components/{sunburst-chart-positioning.config-DNtHXpHg.cjs → sunburst-chart-positioning.config-BaQsxbr9.cjs} +1 -1
  437. package/components/{symbol-map-positioning.config-CoLDPgYM.cjs → symbol-map-positioning.config-657GZ7GZ.cjs} +1 -1
  438. package/components/{symbol-map-positioning.config-Nj7pDOAu.js → symbol-map-positioning.config-DEMmnp7J.js} +1 -1
  439. package/components/theme-options.config-CnSIfTf6.js +47 -0
  440. package/components/theme-options.config-DZJos9OK.cjs +20 -0
  441. package/components/theme-options.i18n-7V690gi-.cjs +20 -0
  442. package/components/theme-options.i18n-DtQoYxRz.js +43 -0
  443. package/components/{treemap-chart-options.config-DLEY6YuI.cjs → treemap-chart-options.config-B-bY4pOq.cjs} +1 -1
  444. package/components/{treemap-chart-options.config-DsqsX9So.js → treemap-chart-options.config-BYbW8htL.js} +1 -1
  445. package/components/{treemap-chart-positioning.config-B_R_cmFs.js → treemap-chart-positioning.config-CLKsuS0b.js} +1 -1
  446. package/components/{treemap-chart-positioning.config-BVOqj2V1.cjs → treemap-chart-positioning.config-DnY0Gnz7.cjs} +1 -1
  447. package/components/utils/base.cjs +1 -1
  448. package/components/utils/base.js +2 -2
  449. package/components/{utils-DIKmx9O1.cjs → utils-BGtDiw5k.cjs} +1 -1
  450. package/components/{utils-DS6Pthr4.js → utils-ZVgZ4EFf.js} +1 -1
  451. package/components/utils.cjs +1 -1
  452. package/components/utils.js +8 -8
  453. package/components/{venn-diagram-positioning.config-DOsSkJYl.js → venn-diagram-positioning.config-BjiidwmG.js} +1 -1
  454. package/components/{venn-diagram-positioning.config-8JCVpYOt.cjs → venn-diagram-positioning.config-OBLHpLAK.cjs} +1 -1
  455. package/components/{wordcloud-chart-options.config-DiyF596X.cjs → wordcloud-chart-options.config-COTlsOrG.cjs} +1 -1
  456. package/components/{wordcloud-chart-options.config-UAl2hfU7.js → wordcloud-chart-options.config-vKHxHgLh.js} +1 -1
  457. package/components/{wordcloud-chart-positioning.config-DSVw_z7Y.js → wordcloud-chart-positioning.config-68AyKLI2.js} +1 -1
  458. package/components/{wordcloud-chart-positioning.config-D13iPEEg.cjs → wordcloud-chart-positioning.config-B_pohQK5.cjs} +1 -1
  459. package/custom-elements.json +494 -31
  460. package/package.json +3 -3
  461. package/react/components/ai-chat.component.ts +1 -1
  462. package/react/esm/components/ai-chat.component.d.ts +1 -1
  463. package/react/esm/components/ai-chat.component.js +1 -1
  464. package/react/package.json +2 -2
  465. package/standalone/add-to-dashboard.js +1 -1
  466. package/standalone/chunks/advanced-options.i18n-BDqAAkCh.js +2 -0
  467. package/standalone/chunks/{area-chart-options.config-BMvUma_d.js → area-chart-options.config-MSCX7GCC.js} +1 -1
  468. package/standalone/chunks/{bar-chart-options.config-BpHqXBFq.js → bar-chart-options.config-C-kawBg1.js} +1 -1
  469. package/standalone/chunks/{box-plot-options.config-DDWb_KmV.js → box-plot-options.config-EeKqXIKW.js} +1 -1
  470. package/standalone/chunks/{bubble-chart-options.config-BKPTymfC.js → bubble-chart-options.config-BEP0haal.js} +1 -1
  471. package/standalone/chunks/{chart-helpers-DZsidiCl.js → chart-helpers-CKlLA7d7.js} +1 -1
  472. package/standalone/chunks/{choropleth-map-options.config-CDMjKnJD.js → choropleth-map-options.config-C9iAp9Kx.js} +1 -1
  473. package/standalone/chunks/{circle-pack-chart-options.config-CjDkh4DG.js → circle-pack-chart-options.config-Ch67WcjC.js} +1 -1
  474. package/standalone/chunks/{color-range-utils-BVyHBRiq.js → color-range-utils-D2amn7jf.js} +1 -1
  475. package/standalone/chunks/{column-chart-options.config-YIe6cMV5.js → column-chart-options.config-kXBPyFRG.js} +1 -1
  476. package/standalone/chunks/{combination-chart-options.config-Bf7cNmpc.js → combination-chart-options.config-CvVDQmwB.js} +1 -1
  477. package/standalone/chunks/{data-broker-DpSrH3IP.js → data-broker-CUCszU0S.js} +1 -1
  478. package/standalone/chunks/de-CBvR-tEX.js +2 -0
  479. package/standalone/chunks/{display-settings-binning-DhHlclWH.js → display-settings-binning-5gaYqJVT.js} +1 -1
  480. package/standalone/chunks/display-settings-datetime-l8eZ7vwV.js +199 -0
  481. package/standalone/chunks/{display-settings-grand-totals-CUpigDcs.js → display-settings-grand-totals-B83suS2N.js} +1 -1
  482. package/standalone/chunks/{display-settings-numeric-BLWF54Jx.js → display-settings-numeric-BVSff_nN.js} +1 -1
  483. package/standalone/chunks/display-settings-period-over-period-By9WHn3a.js +137 -0
  484. package/standalone/chunks/donut-chart-options.config-re9dbce1.js +2 -0
  485. package/standalone/chunks/donut-chart-options.de-C1yjMc7p.js +2 -0
  486. package/standalone/chunks/donut-chart-options.en-CJSA_qMs.js +2 -0
  487. package/standalone/chunks/donut-chart-options.es-9wl-kU6W.js +2 -0
  488. package/standalone/chunks/donut-chart-options.fr-FewVJ9oP.js +2 -0
  489. package/standalone/chunks/donut-chart-options.nl-BA31OsN3.js +2 -0
  490. package/standalone/chunks/{embed-Bv1ps-EM.js → embed-BL4OOcIV.js} +1 -1
  491. package/standalone/chunks/en-COt1Na3D.js +2 -0
  492. package/standalone/chunks/en-GB-6byNwC81.js +2 -0
  493. package/standalone/chunks/en-US-COt1Na3D.js +2 -0
  494. package/standalone/chunks/es-CJnRT1YI.js +2 -0
  495. package/standalone/chunks/{filters-lhg_WVDK.js → filters-Dk7oDe_z.js} +18 -16
  496. package/standalone/chunks/{formula-codemirror-DZMzLE2I.js → formula-codemirror-BqV2Lr6d.js} +8 -8
  497. package/standalone/chunks/fr-DqE0NP1j.js +2 -0
  498. package/standalone/chunks/funnel-chart-options.config-CW0RAyLR.js +2 -0
  499. package/standalone/chunks/{funnel-chart-options.de-u5OrFyng.js → funnel-chart-options.de-D2UImO-s.js} +1 -1
  500. package/standalone/chunks/{funnel-chart-options.en-BEGSBn35.js → funnel-chart-options.en-BJr4frpT.js} +1 -1
  501. package/standalone/chunks/{funnel-chart-options.es-CxWkEgMs.js → funnel-chart-options.es-DkAYtLaS.js} +1 -1
  502. package/standalone/chunks/{funnel-chart-options.fr-DZmmgK2t.js → funnel-chart-options.fr-BD3VKHzw.js} +1 -1
  503. package/standalone/chunks/{funnel-chart-options.nl-C6BitaEJ.js → funnel-chart-options.nl-CubJLSq7.js} +1 -1
  504. package/standalone/chunks/{guidelines-options.config-CS29_J9M.js → guidelines-options.config-CrJ_haaO.js} +1 -1
  505. package/standalone/chunks/{heat-map-options.config-DDQMD38W.js → heat-map-options.config-_1TkgBVb.js} +1 -1
  506. package/standalone/chunks/heat-table-options.config-tgVKW_7X.js +2 -0
  507. package/standalone/chunks/interactivity-options.config-CG_ZbLS5.js +2 -0
  508. package/standalone/chunks/interactivity-options.i18n-V1RAn6Ue.js +2 -0
  509. package/standalone/chunks/{is-same-option-value-7kXNF4st.js → is-same-option-value-CfxEd5pG.js} +1 -1
  510. package/standalone/chunks/{item-option-action-button-group-Bl1HR1JK.js → item-option-action-button-group-C1ke6Jb3.js} +1 -1
  511. package/standalone/chunks/{item-option-base-DF24wTyv.js → item-option-base-DSAq8pgm.js} +1 -1
  512. package/standalone/chunks/{item-option-color-palette-picker-MkIIn56p.js → item-option-color-palette-picker-waW4sAIj.js} +1 -1
  513. package/standalone/chunks/{item-option-color-picker-CxosMo_p.js → item-option-color-picker-9e_3aSen.js} +1 -1
  514. package/standalone/chunks/{item-option-color-range-C7C70r4J.js → item-option-color-range-CWmg4Tdk.js} +1 -1
  515. package/standalone/chunks/{item-option-guidelines-iu8yWRzr.js → item-option-guidelines-CWaGOxXF.js} +1 -1
  516. package/standalone/chunks/{item-option-multi-language-field-foanqCdr.js → item-option-multi-language-field-BN9u0rGs.js} +1 -1
  517. package/standalone/chunks/{item-option-number-field-ByVD4oq0.js → item-option-number-field-D2gvKQN_.js} +1 -1
  518. package/standalone/chunks/{item-option-panel-Bya-K7HH.js → item-option-panel-Ts7D8J7X.js} +2 -2
  519. package/standalone/chunks/{item-option-picker-CqNNVIML.js → item-option-picker-BElgjysX.js} +1 -1
  520. package/standalone/chunks/{item-option-position-picker-BjCFVtDH.js → item-option-position-picker-B7FGJPTv.js} +1 -1
  521. package/standalone/chunks/{item-option-positions-number-field-BJJtXZL-.js → item-option-positions-number-field-CyCWqMby.js} +1 -1
  522. package/standalone/chunks/{item-option-radio-button-group-C5bxsD85.js → item-option-radio-button-group-DjMjG9W3.js} +1 -1
  523. package/standalone/chunks/{item-option-slider-DUXWz70B.js → item-option-slider-CJrobai6.js} +1 -1
  524. package/standalone/chunks/{item-option-switch-BHyJuOkP.js → item-option-switch-DTK0eRzd.js} +1 -1
  525. package/standalone/chunks/{item-option-text-field-rBZY9OX4.js → item-option-text-field-B4-wMWpQ.js} +1 -1
  526. package/standalone/chunks/item-slot-picker-panel-CqG-cZZW.js +438 -0
  527. package/standalone/chunks/legend-options.i18n-Dr6XmdZs.js +2 -0
  528. package/standalone/chunks/line-chart-options.config-VgcDr1j6.js +2 -0
  529. package/standalone/chunks/{load-data-fields-for-datasets-DS9O1oyy.js → load-data-fields-for-datasets-Df6IGwne.js} +1 -1
  530. package/standalone/chunks/{localize-DLl7tgQp.js → localize-DIWFho02.js} +1 -1
  531. package/standalone/chunks/{localized-decorator-DosMCCQo.js → localized-decorator-C2ufmkVS.js} +1 -1
  532. package/standalone/chunks/{localized-mixin-BWJj88bd.js → localized-mixin-CLvEZO1g.js} +1 -1
  533. package/standalone/chunks/{luzmo-icon-markup-ByaNI6dg.js → luzmo-icon-markup-C1Wzxt4b.js} +1 -1
  534. package/standalone/chunks/nl-DBD8_AIO.js +2 -0
  535. package/standalone/chunks/{ohlc-chart-options.config-kyYOgBtR.js → ohlc-chart-options.config-DoFcORQY.js} +1 -1
  536. package/standalone/chunks/{option-interaction-controller-BuwRr21c.js → option-interaction-controller-BfHSkomY.js} +1 -1
  537. package/standalone/chunks/{parallel-coordinates-plot-options.config-BcIYCRdF.js → parallel-coordinates-plot-options.config-JmTkwzbf.js} +1 -1
  538. package/standalone/chunks/{pivot-table-options.config-BZpId1ju.js → pivot-table-options.config-mk1a9meE.js} +1 -1
  539. package/standalone/chunks/{pyramid-chart-options.config-xYIVE_ib.js → pyramid-chart-options.config-DuCSp-ss.js} +1 -1
  540. package/standalone/chunks/{route-map-options.config-CGBkHnhM.js → route-map-options.config-B73cNABj.js} +1 -1
  541. package/standalone/chunks/{sankey-diagram-options.config-Curc2-If.js → sankey-diagram-options.config-BsFxRYGh.js} +1 -1
  542. package/standalone/chunks/scatter-plot-options.config-DiO2UduI.js +2 -0
  543. package/standalone/chunks/sort-options.config-fFAfPcSI.js +2 -0
  544. package/standalone/chunks/{spike-map-options.config-CSenlJ_F.js → spike-map-options.config-BpRwiS7U.js} +1 -1
  545. package/standalone/chunks/sunburst-chart-options.config-TCXdodS8.js +2 -0
  546. package/standalone/chunks/sunburst-chart-options.de-DabJH9rY.js +2 -0
  547. package/standalone/chunks/sunburst-chart-options.en-BNJlsmSV.js +2 -0
  548. package/standalone/chunks/sunburst-chart-options.es-xn2E_v17.js +2 -0
  549. package/standalone/chunks/sunburst-chart-options.fr-DQR4oaiY.js +2 -0
  550. package/standalone/chunks/sunburst-chart-options.nl-BZGlfl67.js +2 -0
  551. package/standalone/chunks/{task-BlhDPTQS.js → task-B6C9QMNJ.js} +1 -1
  552. package/standalone/chunks/theme-options.config-W0JNb9nG.js +2 -0
  553. package/standalone/chunks/theme-options.i18n-DtI0eOJ4.js +2 -0
  554. package/standalone/chunks/{treemap-chart-options.config-DxkumoYq.js → treemap-chart-options.config-CLpDBIB5.js} +1 -1
  555. package/standalone/chunks/{wordcloud-chart-options.config-b-ibtRWp.js → wordcloud-chart-options.config-Bjw10jRd.js} +1 -1
  556. package/standalone/interactive-viz-item.js +1 -1
  557. package/standalone/item-grid.js +1 -1
  558. package/standalone/manifest.json +92 -87
  559. package/types/ai-chat.types.d.ts +60 -0
  560. package/utils/filters/expressions.d.ts +2 -0
  561. package/utils/slot-state/slot-store.d.ts +3 -8
  562. package/utils/time/period-over-period-condition.const.d.ts +0 -1
  563. package/utils/time/period-over-period-context.d.ts +75 -0
  564. package/utils/time/tests/period-over-period-context.test.d.ts +1 -0
  565. package/components/ai-chat-BNcSadGI.cjs +0 -393
  566. package/components/de-KvAhLsm8.cjs +0 -20
  567. package/components/display-settings-DaZ3CiKB.cjs +0 -143
  568. package/components/display-settings-period-over-period-B8Ne3lq-.cjs +0 -227
  569. package/components/donut-chart-options.config-DX-spmaZ.cjs +0 -20
  570. package/components/es-DVISHTAz.cjs +0 -20
  571. package/components/filter-expression-picker-Cc3xfiGT.js +0 -432
  572. package/components/filter-expression-picker-DDSI9bYq.cjs +0 -40
  573. package/components/filter-item-DQNbp7Qn.cjs +0 -111
  574. package/components/filter-value-picker-datetime-BVDQ-og5.cjs +0 -51
  575. package/components/fr-BCxcMVQV.cjs +0 -20
  576. package/components/funnel-chart-options.config-CKp94nx7.cjs +0 -20
  577. package/components/heat-table-options.config-D21xtaIk.cjs +0 -20
  578. package/components/interactivity-options.config-Bzk2L-qh.cjs +0 -20
  579. package/components/interactivity-options.config-MuEP5vSt.js +0 -72
  580. package/components/interactivity-options.i18n-BsYv4Rh9.cjs +0 -20
  581. package/components/item-slot-drop-DLzi4Dik.cjs +0 -91
  582. package/components/item-slot-drop-panel-Oh8zdKJH.cjs +0 -57
  583. package/components/item-slot-picker-O9HKr3mv.cjs +0 -158
  584. package/components/item-slot-picker-panel-Cw3UCK03.cjs +0 -84
  585. package/components/nl-XotE1MQq.cjs +0 -20
  586. package/components/slot-menu-C8p0nkVS.cjs +0 -71
  587. package/components/sunburst-chart-options.config-CZdd6qx0.cjs +0 -20
  588. package/standalone/chunks/de-BkB0q1Eg.js +0 -2
  589. package/standalone/chunks/display-settings-datetime-C8xvOvi4.js +0 -199
  590. package/standalone/chunks/display-settings-period-over-period-COd4tvUw.js +0 -209
  591. package/standalone/chunks/donut-chart-options.config-DWpePR5V.js +0 -2
  592. package/standalone/chunks/donut-chart-options.de-IKGJRoDL.js +0 -2
  593. package/standalone/chunks/donut-chart-options.en-O2IK3YiS.js +0 -2
  594. package/standalone/chunks/donut-chart-options.es-gKAHuFAU.js +0 -2
  595. package/standalone/chunks/donut-chart-options.fr-Q-uMrtQG.js +0 -2
  596. package/standalone/chunks/donut-chart-options.nl-B6v6jK4l.js +0 -2
  597. package/standalone/chunks/en-DNsyAwgq.js +0 -2
  598. package/standalone/chunks/en-GB-Di3OzVdL.js +0 -2
  599. package/standalone/chunks/en-US-DNsyAwgq.js +0 -2
  600. package/standalone/chunks/es-Bo0jStZn.js +0 -2
  601. package/standalone/chunks/fr-Co_qVhhV.js +0 -2
  602. package/standalone/chunks/funnel-chart-options.config-S1yxc6IG.js +0 -2
  603. package/standalone/chunks/heat-table-options.config-B4K0Ygug.js +0 -2
  604. package/standalone/chunks/interactivity-options.config-09eXx6k6.js +0 -2
  605. package/standalone/chunks/interactivity-options.i18n-BLDCmZkC.js +0 -2
  606. package/standalone/chunks/item-slot-picker-panel-BM82vSXi.js +0 -431
  607. package/standalone/chunks/line-chart-options.config--_LXaPbB.js +0 -2
  608. package/standalone/chunks/nl-CQz2jrVx.js +0 -2
  609. package/standalone/chunks/scatter-plot-options.config-DG9Ki-mt.js +0 -2
  610. package/standalone/chunks/sunburst-chart-options.config-DOBSe3i5.js +0 -2
  611. package/standalone/chunks/sunburst-chart-options.de-D3iq4Q-m.js +0 -2
  612. package/standalone/chunks/sunburst-chart-options.en-BUJ_Pr9C.js +0 -2
  613. package/standalone/chunks/sunburst-chart-options.es-stKrKGz2.js +0 -2
  614. package/standalone/chunks/sunburst-chart-options.fr-RkBtlMNp.js +0 -2
  615. package/standalone/chunks/sunburst-chart-options.nl-BUeDNot_.js +0 -2
@@ -15,13 +15,19 @@ export class LuzmoDisplaySettingsPeriodOverPeriod {
15
15
  get nativeElement() {
16
16
  return this.host;
17
17
  }
18
+ /** Full saved slots for deriving comparison levels and implicit datetime offsets. */
19
+ slotsContents;
20
+ /** Visualization type used to interpret comparison slot context. */
21
+ itemType;
22
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
23
+ hasConnectedComparisonFilter;
18
24
  /** The slotContent that is passed to the settings */
19
25
  slotContent;
20
- /** Which period-over-period UI variant to render, based on available datetime columns and comparison filters. */
26
+ /** Optional UI variant supplied by a parent. When absent, derive it from runtime slot and filter context. */
21
27
  periodOverPeriodUiType;
22
- /** Offer the "Periods" offset when there is no datetime category (an offset date column is needed). The item then shifts by the length of the period selected by its date filters. */
28
+ /** Offer the "Periods" offset when there is no datetime category (an offset date column is needed). The item then shifts by the length of the period selected by its date filters. Defaults to true for KPIs, false otherwise. */
23
29
  allowPeriodsWithoutDatetimeColumn;
24
- /** Hide the "Past value" comparison type, e.g. for items that only show the change. */
30
+ /** Hide the "Past value" comparison type. Defaults to true for KPIs, false otherwise; explicit booleans override the default. */
25
31
  hidePastValue;
26
32
  /** Datetime columns from the linked dataset available as offset/comparison date columns. */
27
33
  linkedDatasetDatetimeColumns;
@@ -42,6 +48,15 @@ export class LuzmoDisplaySettingsPeriodOverPeriod {
42
48
  ngOnChanges(changes) {
43
49
  for (const key of Object.keys(changes)) {
44
50
  switch (key) {
51
+ case 'slotsContents':
52
+ this.setHostProperty('slotsContents', changes['slotsContents'].currentValue);
53
+ break;
54
+ case 'itemType':
55
+ this.setHostProperty('itemType', changes['itemType'].currentValue);
56
+ break;
57
+ case 'hasConnectedComparisonFilter':
58
+ this.setHostProperty('hasConnectedComparisonFilter', changes['hasConnectedComparisonFilter'].currentValue);
59
+ break;
45
60
  case 'slotContent':
46
61
  this.setHostProperty('slotContent', changes['slotContent'].currentValue);
47
62
  break;
@@ -84,7 +99,7 @@ export class LuzmoDisplaySettingsPeriodOverPeriod {
84
99
  }));
85
100
  }
86
101
  static ɵfac = function LuzmoDisplaySettingsPeriodOverPeriod_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoDisplaySettingsPeriodOverPeriod)(); };
87
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoDisplaySettingsPeriodOverPeriod, selectors: [["luzmo-display-settings-period-over-period"]], inputs: { slotContent: "slotContent", periodOverPeriodUiType: [0, "periodOverPeriodType", "periodOverPeriodUiType"], allowPeriodsWithoutDatetimeColumn: [2, "allowPeriodsWithoutDatetimeColumn", "allowPeriodsWithoutDatetimeColumn", booleanAttribute], hidePastValue: [2, "hidePastValue", "hidePastValue", booleanAttribute], linkedDatasetDatetimeColumns: "linkedDatasetDatetimeColumns", language: "language", size: "size" }, outputs: { luzmoSlotContentChanged: "luzmoSlotContentChanged" }, exportAs: ["luzmoDisplaySettingsPeriodOverPeriod"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoDisplaySettingsPeriodOverPeriod_Template(rf, ctx) { if (rf & 1) {
102
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoDisplaySettingsPeriodOverPeriod, selectors: [["luzmo-display-settings-period-over-period"]], inputs: { slotsContents: "slotsContents", itemType: "itemType", hasConnectedComparisonFilter: [2, "hasConnectedComparisonFilter", "hasConnectedComparisonFilter", booleanAttribute], slotContent: "slotContent", periodOverPeriodUiType: [0, "periodOverPeriodType", "periodOverPeriodUiType"], allowPeriodsWithoutDatetimeColumn: [2, "allowPeriodsWithoutDatetimeColumn", "allowPeriodsWithoutDatetimeColumn", booleanAttribute], hidePastValue: [2, "hidePastValue", "hidePastValue", booleanAttribute], linkedDatasetDatetimeColumns: "linkedDatasetDatetimeColumns", language: "language", size: "size" }, outputs: { luzmoSlotContentChanged: "luzmoSlotContentChanged" }, exportAs: ["luzmoDisplaySettingsPeriodOverPeriod"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoDisplaySettingsPeriodOverPeriod_Template(rf, ctx) { if (rf & 1) {
88
103
  i0.ɵɵprojectionDef();
89
104
  i0.ɵɵprojection(0);
90
105
  } }, encapsulation: 2 });
@@ -98,7 +113,16 @@ export class LuzmoDisplaySettingsPeriodOverPeriod {
98
113
  changeDetection: ChangeDetectionStrategy.OnPush,
99
114
  template: '<ng-content />'
100
115
  }]
101
- }], () => [], { slotContent: [{
116
+ }], () => [], { slotsContents: [{
117
+ type: Input,
118
+ args: [{ alias: 'slotsContents' }]
119
+ }], itemType: [{
120
+ type: Input,
121
+ args: [{ alias: 'itemType' }]
122
+ }], hasConnectedComparisonFilter: [{
123
+ type: Input,
124
+ args: [{ alias: 'hasConnectedComparisonFilter', transform: booleanAttribute }]
125
+ }], slotContent: [{
102
126
  type: Input,
103
127
  args: [{ alias: 'slotContent' }]
104
128
  }], periodOverPeriodUiType: [{
@@ -4,7 +4,7 @@ import type { LuzmoDisplaySettings as LuzmoDisplaySettingsHostElement, DisplaySe
4
4
  import type { DatasetDataFields } from '@luzmo/analytics-components-kit/data-field-panel';
5
5
  import type { MeasureColumnsItem } from '@luzmo/analytics-components-kit/slot-menu';
6
6
  import type { PeriodOverPeriodCondition, SlotContent } from '@luzmo/analytics-components-kit/types';
7
- import type { SlotName } from '@luzmo/dashboard-contents-types';
7
+ import type { SlotName, VizItemSlot, VizItemType } from '@luzmo/dashboard-contents-types';
8
8
  import * as i0 from "@angular/core";
9
9
  export type { DisplaySettingsRemoveSlotContentEventDetail, DisplaySettingsSlotContentChangedEventDetail, InfoVisibilityChangedEventDetail } from '@luzmo/analytics-components-kit/display-settings';
10
10
  export declare class LuzmoDisplaySettings implements OnChanges {
@@ -15,6 +15,12 @@ export declare class LuzmoDisplaySettings implements OnChanges {
15
15
  private readonly listenerCleanup;
16
16
  /** The underlying custom element instance. Use to call imperative methods. */
17
17
  get nativeElement(): LuzmoDisplaySettingsHostElement;
18
+ /** Full saved slots for deriving comparison levels and implicit datetime offsets. */
19
+ slotsContents?: VizItemSlot[];
20
+ /** Visualization type used to interpret comparison slot context. */
21
+ itemType?: VizItemType;
22
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
23
+ hasConnectedComparisonFilter?: boolean;
18
24
  /** The language of the settings interface */
19
25
  language?: string;
20
26
  /** The language to use for locale-aware formatting and labels */
@@ -31,7 +37,7 @@ export declare class LuzmoDisplaySettings implements OnChanges {
31
37
  isAggregationDisabled?: boolean;
32
38
  /** Whether to show the cumulative sum options */
33
39
  isCumulativeSumEnabled?: boolean;
34
- /** Whether to show the period-over-period in numeric */
40
+ /** Optional comparison UI override for standalone use; null hides comparisons. Otherwise derived from slotsContents, itemType, filters, and datasetsDataFields. */
35
41
  periodOverPeriodUiType?: PeriodOverPeriodCondition | null;
36
42
  /** Whether to show the trash button next to the label */
37
43
  showRemoveButton?: boolean;
@@ -41,7 +47,7 @@ export declare class LuzmoDisplaySettings implements OnChanges {
41
47
  slotName?: SlotName;
42
48
  /** The slot content model (label, formatting, aggregation, etc.) for the field being configured. */
43
49
  slotContent?: SlotContent;
44
- /** Datasets used to resolve column names in ad-hoc calculation previews. */
50
+ /** Datasets used for calculation previews and standalone comparison offset date choices (columns or dataFields). */
45
51
  datasetsDataFields?: DatasetDataFields[];
46
52
  /** The API URL used when resolving calculation previews by dataset id. */
47
53
  apiUrl?: string;
@@ -70,7 +76,8 @@ export declare class LuzmoDisplaySettings implements OnChanges {
70
76
  private setHostProperty;
71
77
  private bindEvents;
72
78
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoDisplaySettings, never>;
73
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoDisplaySettings, "luzmo-display-settings", ["luzmoDisplaySettings"], { "language": { "alias": "language"; "required": false; }; "contentLanguage": { "alias": "contentLanguage"; "required": false; }; "hideDisplaySettings": { "alias": "hideDisplaySettings"; "required": false; }; "isBinningDisabled": { "alias": "isBinningDisabled"; "required": false; }; "areDatetimeOptionsEnabled": { "alias": "areDatetimeOptionsEnabled"; "required": false; }; "areGrandTotalsEnabled": { "alias": "areGrandTotalsEnabled"; "required": false; }; "isAggregationDisabled": { "alias": "isAggregationDisabled"; "required": false; }; "isCumulativeSumEnabled": { "alias": "isCumulativeSumEnabled"; "required": false; }; "periodOverPeriodUiType": { "alias": "periodOverPeriodUiType"; "required": false; }; "showRemoveButton": { "alias": "showRemoveButton"; "required": false; }; "slotType": { "alias": "slotType"; "required": false; }; "slotName": { "alias": "slotName"; "required": false; }; "slotContent": { "alias": "slotContent"; "required": false; }; "datasetsDataFields": { "alias": "datasetsDataFields"; "required": false; }; "apiUrl": { "alias": "apiUrl"; "required": false; }; "authKey": { "alias": "authKey"; "required": false; }; "authToken": { "alias": "authToken"; "required": false; }; "measureColumns": { "alias": "measureColumns"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoSlotContentChanged": "luzmoSlotContentChanged"; "luzmoRemoveSlotContent": "luzmoRemoveSlotContent"; "luzmoInfoVisibilityChanged": "luzmoInfoVisibilityChanged"; }, never, ["*"], true, never>;
79
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoDisplaySettings, "luzmo-display-settings", ["luzmoDisplaySettings"], { "slotsContents": { "alias": "slotsContents"; "required": false; }; "itemType": { "alias": "itemType"; "required": false; }; "hasConnectedComparisonFilter": { "alias": "hasConnectedComparisonFilter"; "required": false; }; "language": { "alias": "language"; "required": false; }; "contentLanguage": { "alias": "contentLanguage"; "required": false; }; "hideDisplaySettings": { "alias": "hideDisplaySettings"; "required": false; }; "isBinningDisabled": { "alias": "isBinningDisabled"; "required": false; }; "areDatetimeOptionsEnabled": { "alias": "areDatetimeOptionsEnabled"; "required": false; }; "areGrandTotalsEnabled": { "alias": "areGrandTotalsEnabled"; "required": false; }; "isAggregationDisabled": { "alias": "isAggregationDisabled"; "required": false; }; "isCumulativeSumEnabled": { "alias": "isCumulativeSumEnabled"; "required": false; }; "periodOverPeriodUiType": { "alias": "periodOverPeriodUiType"; "required": false; }; "showRemoveButton": { "alias": "showRemoveButton"; "required": false; }; "slotType": { "alias": "slotType"; "required": false; }; "slotName": { "alias": "slotName"; "required": false; }; "slotContent": { "alias": "slotContent"; "required": false; }; "datasetsDataFields": { "alias": "datasetsDataFields"; "required": false; }; "apiUrl": { "alias": "apiUrl"; "required": false; }; "authKey": { "alias": "authKey"; "required": false; }; "authToken": { "alias": "authToken"; "required": false; }; "measureColumns": { "alias": "measureColumns"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoSlotContentChanged": "luzmoSlotContentChanged"; "luzmoRemoveSlotContent": "luzmoRemoveSlotContent"; "luzmoInfoVisibilityChanged": "luzmoInfoVisibilityChanged"; }, never, ["*"], true, never>;
80
+ static ngAcceptInputType_hasConnectedComparisonFilter: unknown;
74
81
  static ngAcceptInputType_hideDisplaySettings: unknown;
75
82
  static ngAcceptInputType_isBinningDisabled: unknown;
76
83
  static ngAcceptInputType_areDatetimeOptionsEnabled: unknown;
@@ -15,6 +15,12 @@ export class LuzmoDisplaySettings {
15
15
  get nativeElement() {
16
16
  return this.host;
17
17
  }
18
+ /** Full saved slots for deriving comparison levels and implicit datetime offsets. */
19
+ slotsContents;
20
+ /** Visualization type used to interpret comparison slot context. */
21
+ itemType;
22
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
23
+ hasConnectedComparisonFilter;
18
24
  /** The language of the settings interface */
19
25
  language;
20
26
  /** The language to use for locale-aware formatting and labels */
@@ -31,7 +37,7 @@ export class LuzmoDisplaySettings {
31
37
  isAggregationDisabled;
32
38
  /** Whether to show the cumulative sum options */
33
39
  isCumulativeSumEnabled;
34
- /** Whether to show the period-over-period in numeric */
40
+ /** Optional comparison UI override for standalone use; null hides comparisons. Otherwise derived from slotsContents, itemType, filters, and datasetsDataFields. */
35
41
  periodOverPeriodUiType;
36
42
  /** Whether to show the trash button next to the label */
37
43
  showRemoveButton;
@@ -41,7 +47,7 @@ export class LuzmoDisplaySettings {
41
47
  slotName;
42
48
  /** The slot content model (label, formatting, aggregation, etc.) for the field being configured. */
43
49
  slotContent;
44
- /** Datasets used to resolve column names in ad-hoc calculation previews. */
50
+ /** Datasets used for calculation previews and standalone comparison offset date choices (columns or dataFields). */
45
51
  datasetsDataFields;
46
52
  /** The API URL used when resolving calculation previews by dataset id. */
47
53
  apiUrl;
@@ -70,6 +76,15 @@ export class LuzmoDisplaySettings {
70
76
  ngOnChanges(changes) {
71
77
  for (const key of Object.keys(changes)) {
72
78
  switch (key) {
79
+ case 'slotsContents':
80
+ this.setHostProperty('slotsContents', changes['slotsContents'].currentValue);
81
+ break;
82
+ case 'itemType':
83
+ this.setHostProperty('itemType', changes['itemType'].currentValue);
84
+ break;
85
+ case 'hasConnectedComparisonFilter':
86
+ this.setHostProperty('hasConnectedComparisonFilter', changes['hasConnectedComparisonFilter'].currentValue);
87
+ break;
73
88
  case 'language':
74
89
  this.setHostProperty('language', changes['language'].currentValue);
75
90
  break;
@@ -156,7 +171,7 @@ export class LuzmoDisplaySettings {
156
171
  }));
157
172
  }
158
173
  static ɵfac = function LuzmoDisplaySettings_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoDisplaySettings)(); };
159
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoDisplaySettings, selectors: [["luzmo-display-settings"]], inputs: { language: "language", contentLanguage: "contentLanguage", hideDisplaySettings: [2, "hideDisplaySettings", "hideDisplaySettings", booleanAttribute], isBinningDisabled: [2, "isBinningDisabled", "isBinningDisabled", booleanAttribute], areDatetimeOptionsEnabled: [2, "areDatetimeOptionsEnabled", "areDatetimeOptionsEnabled", booleanAttribute], areGrandTotalsEnabled: [2, "areGrandTotalsEnabled", "areGrandTotalsEnabled", booleanAttribute], isAggregationDisabled: [2, "isAggregationDisabled", "isAggregationDisabled", booleanAttribute], isCumulativeSumEnabled: [2, "isCumulativeSumEnabled", "isCumulativeSumEnabled", booleanAttribute], periodOverPeriodUiType: "periodOverPeriodUiType", showRemoveButton: [2, "showRemoveButton", "showRemoveButton", booleanAttribute], slotType: "slotType", slotName: "slotName", slotContent: "slotContent", datasetsDataFields: "datasetsDataFields", apiUrl: "apiUrl", authKey: "authKey", authToken: "authToken", measureColumns: "measureColumns", size: "size" }, outputs: { luzmoSlotContentChanged: "luzmoSlotContentChanged", luzmoRemoveSlotContent: "luzmoRemoveSlotContent", luzmoInfoVisibilityChanged: "luzmoInfoVisibilityChanged" }, exportAs: ["luzmoDisplaySettings"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoDisplaySettings_Template(rf, ctx) { if (rf & 1) {
174
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoDisplaySettings, selectors: [["luzmo-display-settings"]], inputs: { slotsContents: "slotsContents", itemType: "itemType", hasConnectedComparisonFilter: [2, "hasConnectedComparisonFilter", "hasConnectedComparisonFilter", booleanAttribute], language: "language", contentLanguage: "contentLanguage", hideDisplaySettings: [2, "hideDisplaySettings", "hideDisplaySettings", booleanAttribute], isBinningDisabled: [2, "isBinningDisabled", "isBinningDisabled", booleanAttribute], areDatetimeOptionsEnabled: [2, "areDatetimeOptionsEnabled", "areDatetimeOptionsEnabled", booleanAttribute], areGrandTotalsEnabled: [2, "areGrandTotalsEnabled", "areGrandTotalsEnabled", booleanAttribute], isAggregationDisabled: [2, "isAggregationDisabled", "isAggregationDisabled", booleanAttribute], isCumulativeSumEnabled: [2, "isCumulativeSumEnabled", "isCumulativeSumEnabled", booleanAttribute], periodOverPeriodUiType: "periodOverPeriodUiType", showRemoveButton: [2, "showRemoveButton", "showRemoveButton", booleanAttribute], slotType: "slotType", slotName: "slotName", slotContent: "slotContent", datasetsDataFields: "datasetsDataFields", apiUrl: "apiUrl", authKey: "authKey", authToken: "authToken", measureColumns: "measureColumns", size: "size" }, outputs: { luzmoSlotContentChanged: "luzmoSlotContentChanged", luzmoRemoveSlotContent: "luzmoRemoveSlotContent", luzmoInfoVisibilityChanged: "luzmoInfoVisibilityChanged" }, exportAs: ["luzmoDisplaySettings"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoDisplaySettings_Template(rf, ctx) { if (rf & 1) {
160
175
  i0.ɵɵprojectionDef();
161
176
  i0.ɵɵprojection(0);
162
177
  } }, encapsulation: 2 });
@@ -170,7 +185,16 @@ export class LuzmoDisplaySettings {
170
185
  changeDetection: ChangeDetectionStrategy.OnPush,
171
186
  template: '<ng-content />'
172
187
  }]
173
- }], () => [], { language: [{
188
+ }], () => [], { slotsContents: [{
189
+ type: Input,
190
+ args: [{ alias: 'slotsContents' }]
191
+ }], itemType: [{
192
+ type: Input,
193
+ args: [{ alias: 'itemType' }]
194
+ }], hasConnectedComparisonFilter: [{
195
+ type: Input,
196
+ args: [{ alias: 'hasConnectedComparisonFilter', transform: booleanAttribute }]
197
+ }], language: [{
174
198
  type: Input,
175
199
  args: [{ alias: 'language' }]
176
200
  }], contentLanguage: [{
@@ -13,6 +13,8 @@ export declare class LuzmoItemSlotDropPanel implements OnChanges {
13
13
  private readonly listenerCleanup;
14
14
  /** The underlying custom element instance. Use to call imperative methods. */
15
15
  get nativeElement(): LuzmoItemSlotDropPanelHostElement;
16
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
17
+ hasConnectedComparisonFilter?: boolean;
16
18
  /** The type of the item (e.g., 'bar-chart', 'line-chart', 'area-chart') */
17
19
  itemType?: VizItemType | string;
18
20
  /** The language to use for locale-aware formatting and labels */
@@ -72,7 +74,8 @@ export declare class LuzmoItemSlotDropPanel implements OnChanges {
72
74
  private setHostProperty;
73
75
  private bindEvents;
74
76
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoItemSlotDropPanel, never>;
75
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoItemSlotDropPanel, "luzmo-item-slot-drop-panel", ["luzmoItemSlotDropPanel"], { "itemType": { "alias": "itemType"; "required": false; }; "contentLanguage": { "alias": "contentLanguage"; "required": false; }; "slotsConfiguration": { "alias": "slotsConfiguration"; "required": false; }; "positioningConfiguration": { "alias": "positioningConfiguration"; "required": false; }; "slotsContents": { "alias": "slotsContents"; "required": false; }; "positioned": { "alias": "positioned"; "required": false; }; "dragBoundary": { "alias": "dragBoundary"; "required": false; }; "slotMenuPlacement": { "alias": "slotMenuPlacement"; "required": false; }; "hideDelete": { "alias": "hideDelete"; "required": false; }; "hideConfiguration": { "alias": "hideConfiguration"; "required": false; }; "grows": { "alias": "grows"; "required": false; }; "constraintMode": { "alias": "constraintMode"; "required": false; }; "slotMenuMode": { "alias": "slotMenuMode"; "required": false; }; "apiUrl": { "alias": "apiUrl"; "required": false; }; "authKey": { "alias": "authKey"; "required": false; }; "authToken": { "alias": "authToken"; "required": false; }; "slotspanel": { "alias": "slotsPanel"; "required": false; }; "slotsgrid": { "alias": "slotsGrid"; "required": false; }; "slotcell": { "alias": "slotCell"; "required": false; }; "itemslotdrop": { "alias": "itemSlotDrop"; "required": false; }; "language": { "alias": "language"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoSlotConstraintTriggered": "luzmoSlotConstraintTriggered"; "luzmoSlotsContentsChanged": "luzmoSlotsContentsChanged"; }, never, ["*"], true, never>;
77
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoItemSlotDropPanel, "luzmo-item-slot-drop-panel", ["luzmoItemSlotDropPanel"], { "hasConnectedComparisonFilter": { "alias": "hasConnectedComparisonFilter"; "required": false; }; "itemType": { "alias": "itemType"; "required": false; }; "contentLanguage": { "alias": "contentLanguage"; "required": false; }; "slotsConfiguration": { "alias": "slotsConfiguration"; "required": false; }; "positioningConfiguration": { "alias": "positioningConfiguration"; "required": false; }; "slotsContents": { "alias": "slotsContents"; "required": false; }; "positioned": { "alias": "positioned"; "required": false; }; "dragBoundary": { "alias": "dragBoundary"; "required": false; }; "slotMenuPlacement": { "alias": "slotMenuPlacement"; "required": false; }; "hideDelete": { "alias": "hideDelete"; "required": false; }; "hideConfiguration": { "alias": "hideConfiguration"; "required": false; }; "grows": { "alias": "grows"; "required": false; }; "constraintMode": { "alias": "constraintMode"; "required": false; }; "slotMenuMode": { "alias": "slotMenuMode"; "required": false; }; "apiUrl": { "alias": "apiUrl"; "required": false; }; "authKey": { "alias": "authKey"; "required": false; }; "authToken": { "alias": "authToken"; "required": false; }; "slotspanel": { "alias": "slotsPanel"; "required": false; }; "slotsgrid": { "alias": "slotsGrid"; "required": false; }; "slotcell": { "alias": "slotCell"; "required": false; }; "itemslotdrop": { "alias": "itemSlotDrop"; "required": false; }; "language": { "alias": "language"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoSlotConstraintTriggered": "luzmoSlotConstraintTriggered"; "luzmoSlotsContentsChanged": "luzmoSlotsContentsChanged"; }, never, ["*"], true, never>;
78
+ static ngAcceptInputType_hasConnectedComparisonFilter: unknown;
76
79
  static ngAcceptInputType_positioned: unknown;
77
80
  static ngAcceptInputType_hideDelete: unknown;
78
81
  static ngAcceptInputType_hideConfiguration: unknown;
@@ -15,6 +15,8 @@ export class LuzmoItemSlotDropPanel {
15
15
  get nativeElement() {
16
16
  return this.host;
17
17
  }
18
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
19
+ hasConnectedComparisonFilter;
18
20
  /** The type of the item (e.g., 'bar-chart', 'line-chart', 'area-chart') */
19
21
  itemType;
20
22
  /** The language to use for locale-aware formatting and labels */
@@ -74,6 +76,9 @@ export class LuzmoItemSlotDropPanel {
74
76
  ngOnChanges(changes) {
75
77
  for (const key of Object.keys(changes)) {
76
78
  switch (key) {
79
+ case 'hasConnectedComparisonFilter':
80
+ this.setHostProperty('hasConnectedComparisonFilter', changes['hasConnectedComparisonFilter'].currentValue);
81
+ break;
77
82
  case 'itemType':
78
83
  this.setHostProperty('itemType', changes['itemType'].currentValue);
79
84
  break;
@@ -165,7 +170,7 @@ export class LuzmoItemSlotDropPanel {
165
170
  }));
166
171
  }
167
172
  static ɵfac = function LuzmoItemSlotDropPanel_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoItemSlotDropPanel)(); };
168
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoItemSlotDropPanel, selectors: [["luzmo-item-slot-drop-panel"]], inputs: { itemType: "itemType", contentLanguage: "contentLanguage", slotsConfiguration: "slotsConfiguration", positioningConfiguration: "positioningConfiguration", slotsContents: "slotsContents", positioned: [2, "positioned", "positioned", booleanAttribute], dragBoundary: "dragBoundary", slotMenuPlacement: "slotMenuPlacement", hideDelete: [2, "hideDelete", "hideDelete", booleanAttribute], hideConfiguration: [2, "hideConfiguration", "hideConfiguration", booleanAttribute], grows: [2, "grows", "grows", booleanAttribute], constraintMode: "constraintMode", slotMenuMode: "slotMenuMode", apiUrl: "apiUrl", authKey: "authKey", authToken: "authToken", slotspanel: [0, "slotsPanel", "slotspanel"], slotsgrid: [0, "slotsGrid", "slotsgrid"], slotcell: [0, "slotCell", "slotcell"], itemslotdrop: [0, "itemSlotDrop", "itemslotdrop"], language: "language", size: "size" }, outputs: { luzmoSlotConstraintTriggered: "luzmoSlotConstraintTriggered", luzmoSlotsContentsChanged: "luzmoSlotsContentsChanged" }, exportAs: ["luzmoItemSlotDropPanel"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoItemSlotDropPanel_Template(rf, ctx) { if (rf & 1) {
173
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoItemSlotDropPanel, selectors: [["luzmo-item-slot-drop-panel"]], inputs: { hasConnectedComparisonFilter: [2, "hasConnectedComparisonFilter", "hasConnectedComparisonFilter", booleanAttribute], itemType: "itemType", contentLanguage: "contentLanguage", slotsConfiguration: "slotsConfiguration", positioningConfiguration: "positioningConfiguration", slotsContents: "slotsContents", positioned: [2, "positioned", "positioned", booleanAttribute], dragBoundary: "dragBoundary", slotMenuPlacement: "slotMenuPlacement", hideDelete: [2, "hideDelete", "hideDelete", booleanAttribute], hideConfiguration: [2, "hideConfiguration", "hideConfiguration", booleanAttribute], grows: [2, "grows", "grows", booleanAttribute], constraintMode: "constraintMode", slotMenuMode: "slotMenuMode", apiUrl: "apiUrl", authKey: "authKey", authToken: "authToken", slotspanel: [0, "slotsPanel", "slotspanel"], slotsgrid: [0, "slotsGrid", "slotsgrid"], slotcell: [0, "slotCell", "slotcell"], itemslotdrop: [0, "itemSlotDrop", "itemslotdrop"], language: "language", size: "size" }, outputs: { luzmoSlotConstraintTriggered: "luzmoSlotConstraintTriggered", luzmoSlotsContentsChanged: "luzmoSlotsContentsChanged" }, exportAs: ["luzmoItemSlotDropPanel"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoItemSlotDropPanel_Template(rf, ctx) { if (rf & 1) {
169
174
  i0.ɵɵprojectionDef();
170
175
  i0.ɵɵprojection(0);
171
176
  } }, encapsulation: 2 });
@@ -179,7 +184,10 @@ export class LuzmoItemSlotDropPanel {
179
184
  changeDetection: ChangeDetectionStrategy.OnPush,
180
185
  template: '<ng-content />'
181
186
  }]
182
- }], () => [], { itemType: [{
187
+ }], () => [], { hasConnectedComparisonFilter: [{
188
+ type: Input,
189
+ args: [{ alias: 'hasConnectedComparisonFilter', transform: booleanAttribute }]
190
+ }], itemType: [{
183
191
  type: Input,
184
192
  args: [{ alias: 'itemType' }]
185
193
  }], contentLanguage: [{
@@ -13,6 +13,8 @@ export declare class LuzmoItemSlotDrop implements OnChanges {
13
13
  private readonly listenerCleanup;
14
14
  /** The underlying custom element instance. Use to call imperative methods. */
15
15
  get nativeElement(): LuzmoItemSlotDropHostElement;
16
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
17
+ hasConnectedComparisonFilter?: boolean;
16
18
  /** The visualization item type that determines the available slots and their configuration. */
17
19
  itemType?: VizItemType;
18
20
  /** The name of the slot this drop target represents. */
@@ -68,7 +70,8 @@ export declare class LuzmoItemSlotDrop implements OnChanges {
68
70
  private setHostProperty;
69
71
  private bindEvents;
70
72
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoItemSlotDrop, never>;
71
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoItemSlotDrop, "luzmo-item-slot-drop", ["luzmoItemSlotDrop"], { "itemType": { "alias": "itemType"; "required": false; }; "slotName": { "alias": "slotName"; "required": false; }; "slotConfiguration": { "alias": "slotConfiguration"; "required": false; }; "slotsContents": { "alias": "slotsContents"; "required": false; }; "label": { "alias": "label"; "required": false; }; "contentLanguage": { "alias": "contentLanguage"; "required": false; }; "dragBoundary": { "alias": "dragBoundary"; "required": false; }; "rotate": { "alias": "rotate"; "required": false; }; "apiUrl": { "alias": "apiUrl"; "required": false; }; "authKey": { "alias": "authKey"; "required": false; }; "authToken": { "alias": "authToken"; "required": false; }; "menu": { "alias": "menu"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "hideDelete": { "alias": "hideDelete"; "required": false; }; "hideConfiguration": { "alias": "hideConfiguration"; "required": false; }; "language": { "alias": "language"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoSlotMenuInactive": "luzmoSlotMenuInactive"; "luzmoSlotMenuActive": "luzmoSlotMenuActive"; "luzmoSlotMenuHighlight": "luzmoSlotMenuHighlight"; "luzmoInfoVisibilityChanged": "luzmoInfoVisibilityChanged"; "luzmoSlotContentsChanged": "luzmoSlotContentsChanged"; }, never, ["*"], true, never>;
73
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoItemSlotDrop, "luzmo-item-slot-drop", ["luzmoItemSlotDrop"], { "hasConnectedComparisonFilter": { "alias": "hasConnectedComparisonFilter"; "required": false; }; "itemType": { "alias": "itemType"; "required": false; }; "slotName": { "alias": "slotName"; "required": false; }; "slotConfiguration": { "alias": "slotConfiguration"; "required": false; }; "slotsContents": { "alias": "slotsContents"; "required": false; }; "label": { "alias": "label"; "required": false; }; "contentLanguage": { "alias": "contentLanguage"; "required": false; }; "dragBoundary": { "alias": "dragBoundary"; "required": false; }; "rotate": { "alias": "rotate"; "required": false; }; "apiUrl": { "alias": "apiUrl"; "required": false; }; "authKey": { "alias": "authKey"; "required": false; }; "authToken": { "alias": "authToken"; "required": false; }; "menu": { "alias": "menu"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "hideDelete": { "alias": "hideDelete"; "required": false; }; "hideConfiguration": { "alias": "hideConfiguration"; "required": false; }; "language": { "alias": "language"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoSlotMenuInactive": "luzmoSlotMenuInactive"; "luzmoSlotMenuActive": "luzmoSlotMenuActive"; "luzmoSlotMenuHighlight": "luzmoSlotMenuHighlight"; "luzmoInfoVisibilityChanged": "luzmoInfoVisibilityChanged"; "luzmoSlotContentsChanged": "luzmoSlotContentsChanged"; }, never, ["*"], true, never>;
74
+ static ngAcceptInputType_hasConnectedComparisonFilter: unknown;
72
75
  static ngAcceptInputType_rotate: unknown;
73
76
  static ngAcceptInputType_hideDelete: unknown;
74
77
  static ngAcceptInputType_hideConfiguration: unknown;
@@ -15,6 +15,8 @@ export class LuzmoItemSlotDrop {
15
15
  get nativeElement() {
16
16
  return this.host;
17
17
  }
18
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
19
+ hasConnectedComparisonFilter;
18
20
  /** The visualization item type that determines the available slots and their configuration. */
19
21
  itemType;
20
22
  /** The name of the slot this drop target represents. */
@@ -70,6 +72,9 @@ export class LuzmoItemSlotDrop {
70
72
  ngOnChanges(changes) {
71
73
  for (const key of Object.keys(changes)) {
72
74
  switch (key) {
75
+ case 'hasConnectedComparisonFilter':
76
+ this.setHostProperty('hasConnectedComparisonFilter', changes['hasConnectedComparisonFilter'].currentValue);
77
+ break;
73
78
  case 'itemType':
74
79
  this.setHostProperty('itemType', changes['itemType'].currentValue);
75
80
  break;
@@ -158,7 +163,7 @@ export class LuzmoItemSlotDrop {
158
163
  }));
159
164
  }
160
165
  static ɵfac = function LuzmoItemSlotDrop_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoItemSlotDrop)(); };
161
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoItemSlotDrop, selectors: [["luzmo-item-slot-drop"]], inputs: { itemType: "itemType", slotName: "slotName", slotConfiguration: "slotConfiguration", slotsContents: "slotsContents", label: "label", contentLanguage: "contentLanguage", dragBoundary: "dragBoundary", rotate: [2, "rotate", "rotate", booleanAttribute], apiUrl: "apiUrl", authKey: "authKey", authToken: "authToken", menu: "menu", placement: "placement", hideDelete: [2, "hideDelete", "hideDelete", booleanAttribute], hideConfiguration: [2, "hideConfiguration", "hideConfiguration", booleanAttribute], language: "language", size: "size" }, outputs: { luzmoSlotMenuInactive: "luzmoSlotMenuInactive", luzmoSlotMenuActive: "luzmoSlotMenuActive", luzmoSlotMenuHighlight: "luzmoSlotMenuHighlight", luzmoInfoVisibilityChanged: "luzmoInfoVisibilityChanged", luzmoSlotContentsChanged: "luzmoSlotContentsChanged" }, exportAs: ["luzmoItemSlotDrop"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoItemSlotDrop_Template(rf, ctx) { if (rf & 1) {
166
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoItemSlotDrop, selectors: [["luzmo-item-slot-drop"]], inputs: { hasConnectedComparisonFilter: [2, "hasConnectedComparisonFilter", "hasConnectedComparisonFilter", booleanAttribute], itemType: "itemType", slotName: "slotName", slotConfiguration: "slotConfiguration", slotsContents: "slotsContents", label: "label", contentLanguage: "contentLanguage", dragBoundary: "dragBoundary", rotate: [2, "rotate", "rotate", booleanAttribute], apiUrl: "apiUrl", authKey: "authKey", authToken: "authToken", menu: "menu", placement: "placement", hideDelete: [2, "hideDelete", "hideDelete", booleanAttribute], hideConfiguration: [2, "hideConfiguration", "hideConfiguration", booleanAttribute], language: "language", size: "size" }, outputs: { luzmoSlotMenuInactive: "luzmoSlotMenuInactive", luzmoSlotMenuActive: "luzmoSlotMenuActive", luzmoSlotMenuHighlight: "luzmoSlotMenuHighlight", luzmoInfoVisibilityChanged: "luzmoInfoVisibilityChanged", luzmoSlotContentsChanged: "luzmoSlotContentsChanged" }, exportAs: ["luzmoItemSlotDrop"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoItemSlotDrop_Template(rf, ctx) { if (rf & 1) {
162
167
  i0.ɵɵprojectionDef();
163
168
  i0.ɵɵprojection(0);
164
169
  } }, encapsulation: 2 });
@@ -172,7 +177,10 @@ export class LuzmoItemSlotDrop {
172
177
  changeDetection: ChangeDetectionStrategy.OnPush,
173
178
  template: '<ng-content />'
174
179
  }]
175
- }], () => [], { itemType: [{
180
+ }], () => [], { hasConnectedComparisonFilter: [{
181
+ type: Input,
182
+ args: [{ alias: 'hasConnectedComparisonFilter', transform: booleanAttribute }]
183
+ }], itemType: [{
176
184
  type: Input,
177
185
  args: [{ alias: 'itemType' }]
178
186
  }], slotName: [{
@@ -14,6 +14,8 @@ export declare class LuzmoItemSlotPickerPanel implements OnChanges {
14
14
  private readonly listenerCleanup;
15
15
  /** The underlying custom element instance. Use to call imperative methods. */
16
16
  get nativeElement(): LuzmoItemSlotPickerPanelHostElement;
17
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
18
+ hasConnectedComparisonFilter?: boolean;
17
19
  /** The type of the item (e.g., 'bar-chart', 'line-chart', 'area-chart') */
18
20
  itemType?: VizItemType | string;
19
21
  /** The language to use for locale-aware formatting and labels */
@@ -91,7 +93,8 @@ export declare class LuzmoItemSlotPickerPanel implements OnChanges {
91
93
  private setHostProperty;
92
94
  private bindEvents;
93
95
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoItemSlotPickerPanel, never>;
94
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoItemSlotPickerPanel, "luzmo-item-slot-picker-panel", ["luzmoItemSlotPickerPanel"], { "itemType": { "alias": "itemType"; "required": false; }; "contentLanguage": { "alias": "contentLanguage"; "required": false; }; "slotsConfiguration": { "alias": "slotsConfiguration"; "required": false; }; "slotsContents": { "alias": "slotsContents"; "required": false; }; "selects": { "alias": "selects"; "required": false; }; "dataFieldsSearch": { "alias": "dataFieldsSearch"; "required": false; }; "datasetSearch": { "alias": "datasetSearch"; "required": false; }; "icons": { "alias": "icons"; "required": false; }; "datasetsDataFields": { "alias": "datasetsDataFields"; "required": false; }; "datasetIds": { "alias": "datasetIds"; "required": false; }; "selectedDatasetId": { "alias": "selectedDatasetId"; "required": false; }; "datasetPicker": { "alias": "datasetPicker"; "required": false; }; "datasetPickerLabel": { "alias": "datasetPickerLabel"; "required": false; }; "apiUrl": { "alias": "apiUrl"; "required": false; }; "authKey": { "alias": "authKey"; "required": false; }; "authToken": { "alias": "authToken"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "slotMenuPlacement": { "alias": "slotMenuPlacement"; "required": false; }; "slotMenuMode": { "alias": "slotMenuMode"; "required": false; }; "constraintMode": { "alias": "constraintMode"; "required": false; }; "grows": { "alias": "grows"; "required": false; }; "container": { "alias": "container"; "required": false; }; "datasetfieldlabel": { "alias": "datasetFieldLabel"; "required": false; }; "slotspanel": { "alias": "slotsPanel"; "required": false; }; "slotcontainer": { "alias": "slotContainer"; "required": false; }; "fieldlabel": { "alias": "fieldLabel"; "required": false; }; "itemslotpicker": { "alias": "itemSlotPicker"; "required": false; }; "language": { "alias": "language"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoDatasetConstraintTriggered": "luzmoDatasetConstraintTriggered"; "luzmoSlotsContentsChanged": "luzmoSlotsContentsChanged"; "luzmoDatasetChanged": "luzmoDatasetChanged"; "luzmoSlotConstraintTriggered": "luzmoSlotConstraintTriggered"; }, never, ["*"], true, never>;
96
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoItemSlotPickerPanel, "luzmo-item-slot-picker-panel", ["luzmoItemSlotPickerPanel"], { "hasConnectedComparisonFilter": { "alias": "hasConnectedComparisonFilter"; "required": false; }; "itemType": { "alias": "itemType"; "required": false; }; "contentLanguage": { "alias": "contentLanguage"; "required": false; }; "slotsConfiguration": { "alias": "slotsConfiguration"; "required": false; }; "slotsContents": { "alias": "slotsContents"; "required": false; }; "selects": { "alias": "selects"; "required": false; }; "dataFieldsSearch": { "alias": "dataFieldsSearch"; "required": false; }; "datasetSearch": { "alias": "datasetSearch"; "required": false; }; "icons": { "alias": "icons"; "required": false; }; "datasetsDataFields": { "alias": "datasetsDataFields"; "required": false; }; "datasetIds": { "alias": "datasetIds"; "required": false; }; "selectedDatasetId": { "alias": "selectedDatasetId"; "required": false; }; "datasetPicker": { "alias": "datasetPicker"; "required": false; }; "datasetPickerLabel": { "alias": "datasetPickerLabel"; "required": false; }; "apiUrl": { "alias": "apiUrl"; "required": false; }; "authKey": { "alias": "authKey"; "required": false; }; "authToken": { "alias": "authToken"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "slotMenuPlacement": { "alias": "slotMenuPlacement"; "required": false; }; "slotMenuMode": { "alias": "slotMenuMode"; "required": false; }; "constraintMode": { "alias": "constraintMode"; "required": false; }; "grows": { "alias": "grows"; "required": false; }; "container": { "alias": "container"; "required": false; }; "datasetfieldlabel": { "alias": "datasetFieldLabel"; "required": false; }; "slotspanel": { "alias": "slotsPanel"; "required": false; }; "slotcontainer": { "alias": "slotContainer"; "required": false; }; "fieldlabel": { "alias": "fieldLabel"; "required": false; }; "itemslotpicker": { "alias": "itemSlotPicker"; "required": false; }; "language": { "alias": "language"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoDatasetConstraintTriggered": "luzmoDatasetConstraintTriggered"; "luzmoSlotsContentsChanged": "luzmoSlotsContentsChanged"; "luzmoDatasetChanged": "luzmoDatasetChanged"; "luzmoSlotConstraintTriggered": "luzmoSlotConstraintTriggered"; }, never, ["*"], true, never>;
97
+ static ngAcceptInputType_hasConnectedComparisonFilter: unknown;
95
98
  static ngAcceptInputType_datasetPicker: unknown;
96
99
  static ngAcceptInputType_grows: unknown;
97
100
  }
@@ -15,6 +15,8 @@ export class LuzmoItemSlotPickerPanel {
15
15
  get nativeElement() {
16
16
  return this.host;
17
17
  }
18
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
19
+ hasConnectedComparisonFilter;
18
20
  /** The type of the item (e.g., 'bar-chart', 'line-chart', 'area-chart') */
19
21
  itemType;
20
22
  /** The language to use for locale-aware formatting and labels */
@@ -92,6 +94,9 @@ export class LuzmoItemSlotPickerPanel {
92
94
  ngOnChanges(changes) {
93
95
  for (const key of Object.keys(changes)) {
94
96
  switch (key) {
97
+ case 'hasConnectedComparisonFilter':
98
+ this.setHostProperty('hasConnectedComparisonFilter', changes['hasConnectedComparisonFilter'].currentValue);
99
+ break;
95
100
  case 'itemType':
96
101
  this.setHostProperty('itemType', changes['itemType'].currentValue);
97
102
  break;
@@ -212,7 +217,7 @@ export class LuzmoItemSlotPickerPanel {
212
217
  }));
213
218
  }
214
219
  static ɵfac = function LuzmoItemSlotPickerPanel_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoItemSlotPickerPanel)(); };
215
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoItemSlotPickerPanel, selectors: [["luzmo-item-slot-picker-panel"]], inputs: { itemType: "itemType", contentLanguage: "contentLanguage", slotsConfiguration: "slotsConfiguration", slotsContents: "slotsContents", selects: "selects", dataFieldsSearch: "dataFieldsSearch", datasetSearch: "datasetSearch", icons: "icons", datasetsDataFields: "datasetsDataFields", datasetIds: "datasetIds", selectedDatasetId: "selectedDatasetId", datasetPicker: [2, "datasetPicker", "datasetPicker", booleanAttribute], datasetPickerLabel: "datasetPickerLabel", apiUrl: "apiUrl", authKey: "authKey", authToken: "authToken", placement: "placement", slotMenuPlacement: "slotMenuPlacement", slotMenuMode: "slotMenuMode", constraintMode: "constraintMode", grows: [2, "grows", "grows", booleanAttribute], container: "container", datasetfieldlabel: [0, "datasetFieldLabel", "datasetfieldlabel"], slotspanel: [0, "slotsPanel", "slotspanel"], slotcontainer: [0, "slotContainer", "slotcontainer"], fieldlabel: [0, "fieldLabel", "fieldlabel"], itemslotpicker: [0, "itemSlotPicker", "itemslotpicker"], language: "language", size: "size" }, outputs: { luzmoDatasetConstraintTriggered: "luzmoDatasetConstraintTriggered", luzmoSlotsContentsChanged: "luzmoSlotsContentsChanged", luzmoDatasetChanged: "luzmoDatasetChanged", luzmoSlotConstraintTriggered: "luzmoSlotConstraintTriggered" }, exportAs: ["luzmoItemSlotPickerPanel"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoItemSlotPickerPanel_Template(rf, ctx) { if (rf & 1) {
220
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoItemSlotPickerPanel, selectors: [["luzmo-item-slot-picker-panel"]], inputs: { hasConnectedComparisonFilter: [2, "hasConnectedComparisonFilter", "hasConnectedComparisonFilter", booleanAttribute], itemType: "itemType", contentLanguage: "contentLanguage", slotsConfiguration: "slotsConfiguration", slotsContents: "slotsContents", selects: "selects", dataFieldsSearch: "dataFieldsSearch", datasetSearch: "datasetSearch", icons: "icons", datasetsDataFields: "datasetsDataFields", datasetIds: "datasetIds", selectedDatasetId: "selectedDatasetId", datasetPicker: [2, "datasetPicker", "datasetPicker", booleanAttribute], datasetPickerLabel: "datasetPickerLabel", apiUrl: "apiUrl", authKey: "authKey", authToken: "authToken", placement: "placement", slotMenuPlacement: "slotMenuPlacement", slotMenuMode: "slotMenuMode", constraintMode: "constraintMode", grows: [2, "grows", "grows", booleanAttribute], container: "container", datasetfieldlabel: [0, "datasetFieldLabel", "datasetfieldlabel"], slotspanel: [0, "slotsPanel", "slotspanel"], slotcontainer: [0, "slotContainer", "slotcontainer"], fieldlabel: [0, "fieldLabel", "fieldlabel"], itemslotpicker: [0, "itemSlotPicker", "itemslotpicker"], language: "language", size: "size" }, outputs: { luzmoDatasetConstraintTriggered: "luzmoDatasetConstraintTriggered", luzmoSlotsContentsChanged: "luzmoSlotsContentsChanged", luzmoDatasetChanged: "luzmoDatasetChanged", luzmoSlotConstraintTriggered: "luzmoSlotConstraintTriggered" }, exportAs: ["luzmoItemSlotPickerPanel"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoItemSlotPickerPanel_Template(rf, ctx) { if (rf & 1) {
216
221
  i0.ɵɵprojectionDef();
217
222
  i0.ɵɵprojection(0);
218
223
  } }, encapsulation: 2 });
@@ -226,7 +231,10 @@ export class LuzmoItemSlotPickerPanel {
226
231
  changeDetection: ChangeDetectionStrategy.OnPush,
227
232
  template: '<ng-content />'
228
233
  }]
229
- }], () => [], { itemType: [{
234
+ }], () => [], { hasConnectedComparisonFilter: [{
235
+ type: Input,
236
+ args: [{ alias: 'hasConnectedComparisonFilter', transform: booleanAttribute }]
237
+ }], itemType: [{
230
238
  type: Input,
231
239
  args: [{ alias: 'itemType' }]
232
240
  }], contentLanguage: [{
@@ -3,7 +3,7 @@ import '@luzmo/analytics-components-kit/item-slot-picker';
3
3
  import type { LuzmoItemSlotPicker as LuzmoItemSlotPickerHostElement, SlotContentsChangedEventDetail } from '@luzmo/analytics-components-kit/item-slot-picker';
4
4
  import type { Placement } from '@floating-ui/dom';
5
5
  import type { DatasetsDataFields, SlotContent } from '@luzmo/analytics-components-kit/types';
6
- import type { SlotConfig, SlotName, VizItemType } from '@luzmo/dashboard-contents-types';
6
+ import type { SlotConfig, SlotName, VizItemSlot, VizItemType } from '@luzmo/dashboard-contents-types';
7
7
  import * as i0 from "@angular/core";
8
8
  export type { SlotContentsChangedEventDetail } from '@luzmo/analytics-components-kit/item-slot-picker';
9
9
  export declare class LuzmoItemSlotPicker implements OnChanges {
@@ -14,6 +14,10 @@ export declare class LuzmoItemSlotPicker implements OnChanges {
14
14
  private readonly listenerCleanup;
15
15
  /** The underlying custom element instance. Use to call imperative methods. */
16
16
  get nativeElement(): LuzmoItemSlotPickerHostElement;
17
+ /** Full saved slots for deriving comparison levels and implicit datetime offsets. */
18
+ slotsContents?: VizItemSlot[];
19
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
20
+ hasConnectedComparisonFilter?: boolean;
17
21
  /** The API URL for the databroker */
18
22
  apiUrl?: string;
19
23
  /** The API key to fetch the columns */
@@ -77,7 +81,8 @@ export declare class LuzmoItemSlotPicker implements OnChanges {
77
81
  private setHostProperty;
78
82
  private bindEvents;
79
83
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoItemSlotPicker, never>;
80
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoItemSlotPicker, "luzmo-item-slot-picker", ["luzmoItemSlotPicker"], { "apiUrl": { "alias": "apiUrl"; "required": false; }; "authKey": { "alias": "authKey"; "required": false; }; "authToken": { "alias": "authToken"; "required": false; }; "itemType": { "alias": "itemType"; "required": false; }; "slotName": { "alias": "slotName"; "required": false; }; "slotConfiguration": { "alias": "slotConfiguration"; "required": false; }; "slotContents": { "alias": "slotContents"; "required": false; }; "contentLanguage": { "alias": "contentLanguage"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "grows": { "alias": "grows"; "required": false; }; "menu": { "alias": "menu"; "required": false; }; "hasLabel": { "alias": "hasLabel"; "required": false; }; "label": { "alias": "label"; "required": false; }; "selects": { "alias": "selects"; "required": false; }; "search": { "alias": "search"; "required": false; }; "icons": { "alias": "icons"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "datasetsDataFields": { "alias": "datasetsDataFields"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "slotMenuPlacement": { "alias": "slotMenuPlacement"; "required": false; }; "slotMenuMode": { "alias": "slotMenuMode"; "required": false; }; "hideConfiguration": { "alias": "hideConfiguration"; "required": false; }; "hideClear": { "alias": "hideClear"; "required": false; }; "language": { "alias": "language"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoSlotContentsChanged": "luzmoSlotContentsChanged"; }, never, ["*"], true, never>;
84
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoItemSlotPicker, "luzmo-item-slot-picker", ["luzmoItemSlotPicker"], { "slotsContents": { "alias": "slotsContents"; "required": false; }; "hasConnectedComparisonFilter": { "alias": "hasConnectedComparisonFilter"; "required": false; }; "apiUrl": { "alias": "apiUrl"; "required": false; }; "authKey": { "alias": "authKey"; "required": false; }; "authToken": { "alias": "authToken"; "required": false; }; "itemType": { "alias": "itemType"; "required": false; }; "slotName": { "alias": "slotName"; "required": false; }; "slotConfiguration": { "alias": "slotConfiguration"; "required": false; }; "slotContents": { "alias": "slotContents"; "required": false; }; "contentLanguage": { "alias": "contentLanguage"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "grows": { "alias": "grows"; "required": false; }; "menu": { "alias": "menu"; "required": false; }; "hasLabel": { "alias": "hasLabel"; "required": false; }; "label": { "alias": "label"; "required": false; }; "selects": { "alias": "selects"; "required": false; }; "search": { "alias": "search"; "required": false; }; "icons": { "alias": "icons"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "datasetsDataFields": { "alias": "datasetsDataFields"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "slotMenuPlacement": { "alias": "slotMenuPlacement"; "required": false; }; "slotMenuMode": { "alias": "slotMenuMode"; "required": false; }; "hideConfiguration": { "alias": "hideConfiguration"; "required": false; }; "hideClear": { "alias": "hideClear"; "required": false; }; "language": { "alias": "language"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoSlotContentsChanged": "luzmoSlotContentsChanged"; }, never, ["*"], true, never>;
85
+ static ngAcceptInputType_hasConnectedComparisonFilter: unknown;
81
86
  static ngAcceptInputType_disabled: unknown;
82
87
  static ngAcceptInputType_grows: unknown;
83
88
  static ngAcceptInputType_hasLabel: unknown;
@@ -15,6 +15,10 @@ export class LuzmoItemSlotPicker {
15
15
  get nativeElement() {
16
16
  return this.host;
17
17
  }
18
+ /** Full saved slots for deriving comparison levels and implicit datetime offsets. */
19
+ slotsContents;
20
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
21
+ hasConnectedComparisonFilter;
18
22
  /** The API URL for the databroker */
19
23
  apiUrl;
20
24
  /** The API key to fetch the columns */
@@ -78,6 +82,12 @@ export class LuzmoItemSlotPicker {
78
82
  ngOnChanges(changes) {
79
83
  for (const key of Object.keys(changes)) {
80
84
  switch (key) {
85
+ case 'slotsContents':
86
+ this.setHostProperty('slotsContents', changes['slotsContents'].currentValue);
87
+ break;
88
+ case 'hasConnectedComparisonFilter':
89
+ this.setHostProperty('hasConnectedComparisonFilter', changes['hasConnectedComparisonFilter'].currentValue);
90
+ break;
81
91
  case 'apiUrl':
82
92
  this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
83
93
  break;
@@ -174,7 +184,7 @@ export class LuzmoItemSlotPicker {
174
184
  }));
175
185
  }
176
186
  static ɵfac = function LuzmoItemSlotPicker_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoItemSlotPicker)(); };
177
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoItemSlotPicker, selectors: [["luzmo-item-slot-picker"]], inputs: { apiUrl: "apiUrl", authKey: "authKey", authToken: "authToken", itemType: "itemType", slotName: "slotName", slotConfiguration: "slotConfiguration", slotContents: "slotContents", contentLanguage: "contentLanguage", disabled: [2, "disabled", "disabled", booleanAttribute], grows: [2, "grows", "grows", booleanAttribute], menu: "menu", hasLabel: [2, "hasLabel", "hasLabel", booleanAttribute], label: "label", selects: "selects", search: "search", icons: "icons", placeholder: "placeholder", datasetsDataFields: "datasetsDataFields", placement: "placement", slotMenuPlacement: "slotMenuPlacement", slotMenuMode: "slotMenuMode", hideConfiguration: [2, "hideConfiguration", "hideConfiguration", booleanAttribute], hideClear: [2, "hideClear", "hideClear", booleanAttribute], language: "language", size: "size" }, outputs: { luzmoSlotContentsChanged: "luzmoSlotContentsChanged" }, exportAs: ["luzmoItemSlotPicker"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoItemSlotPicker_Template(rf, ctx) { if (rf & 1) {
187
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoItemSlotPicker, selectors: [["luzmo-item-slot-picker"]], inputs: { slotsContents: "slotsContents", hasConnectedComparisonFilter: [2, "hasConnectedComparisonFilter", "hasConnectedComparisonFilter", booleanAttribute], apiUrl: "apiUrl", authKey: "authKey", authToken: "authToken", itemType: "itemType", slotName: "slotName", slotConfiguration: "slotConfiguration", slotContents: "slotContents", contentLanguage: "contentLanguage", disabled: [2, "disabled", "disabled", booleanAttribute], grows: [2, "grows", "grows", booleanAttribute], menu: "menu", hasLabel: [2, "hasLabel", "hasLabel", booleanAttribute], label: "label", selects: "selects", search: "search", icons: "icons", placeholder: "placeholder", datasetsDataFields: "datasetsDataFields", placement: "placement", slotMenuPlacement: "slotMenuPlacement", slotMenuMode: "slotMenuMode", hideConfiguration: [2, "hideConfiguration", "hideConfiguration", booleanAttribute], hideClear: [2, "hideClear", "hideClear", booleanAttribute], language: "language", size: "size" }, outputs: { luzmoSlotContentsChanged: "luzmoSlotContentsChanged" }, exportAs: ["luzmoItemSlotPicker"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoItemSlotPicker_Template(rf, ctx) { if (rf & 1) {
178
188
  i0.ɵɵprojectionDef();
179
189
  i0.ɵɵprojection(0);
180
190
  } }, encapsulation: 2 });
@@ -188,7 +198,13 @@ export class LuzmoItemSlotPicker {
188
198
  changeDetection: ChangeDetectionStrategy.OnPush,
189
199
  template: '<ng-content />'
190
200
  }]
191
- }], () => [], { apiUrl: [{
201
+ }], () => [], { slotsContents: [{
202
+ type: Input,
203
+ args: [{ alias: 'slotsContents' }]
204
+ }], hasConnectedComparisonFilter: [{
205
+ type: Input,
206
+ args: [{ alias: 'hasConnectedComparisonFilter', transform: booleanAttribute }]
207
+ }], apiUrl: [{
192
208
  type: Input,
193
209
  args: [{ alias: 'apiUrl' }]
194
210
  }], authKey: [{
@@ -5,7 +5,7 @@ import type { DatasetDataFields } from '@luzmo/analytics-components-kit/data-fie
5
5
  import type { LuzmoDisplaySettings } from '@luzmo/analytics-components-kit/display-settings';
6
6
  import type { LuzmoSlotMenuList } from '@luzmo/analytics-components-kit/slot-menu-list';
7
7
  import type { SlotContent } from '@luzmo/analytics-components-kit/types';
8
- import type { SlotName, VizItemType } from '@luzmo/dashboard-contents-types';
8
+ import type { SlotName, VizItemSlot, VizItemType } from '@luzmo/dashboard-contents-types';
9
9
  import * as i0 from "@angular/core";
10
10
  export type { InfoVisibilityChangedEventDetail, MeasureColumnsItem, SlotContentChangedEventDetail, SlotContentsChangedEventDetail, SlotListChangedEventDetail, SlotMenuActiveEventDetail, SlotMenuHighlightEventDetail } from '@luzmo/analytics-components-kit/slot-menu';
11
11
  export declare class LuzmoSlotMenu implements OnChanges {
@@ -16,6 +16,10 @@ export declare class LuzmoSlotMenu implements OnChanges {
16
16
  private readonly listenerCleanup;
17
17
  /** The underlying custom element instance. Use to call imperative methods. */
18
18
  get nativeElement(): LuzmoSlotMenuHostElement;
19
+ /** Full saved slots for deriving comparison levels and implicit datetime offsets. */
20
+ slotsContents?: VizItemSlot[];
21
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
22
+ hasConnectedComparisonFilter?: boolean;
19
23
  /** The language of the settings interface */
20
24
  language?: string;
21
25
  /** The language to use for locale-aware formatting and labels */
@@ -92,7 +96,8 @@ export declare class LuzmoSlotMenu implements OnChanges {
92
96
  private bindEvents;
93
97
  close(): void;
94
98
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoSlotMenu, never>;
95
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoSlotMenu, "luzmo-slot-menu", ["luzmoSlotMenu"], { "language": { "alias": "language"; "required": false; }; "contentLanguage": { "alias": "contentLanguage"; "required": false; }; "slotType": { "alias": "slotType"; "required": false; }; "slotName": { "alias": "slotName"; "required": false; }; "itemType": { "alias": "itemType"; "required": false; }; "noDrag": { "alias": "noDrag"; "required": false; }; "noClose": { "alias": "noClose"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "noTopMenuLabel": { "alias": "noTopMenuLabel"; "required": false; }; "noRemove": { "alias": "noRemove"; "required": false; }; "dragBoundary": { "alias": "dragBoundary"; "required": false; }; "areGrandTotalsEnabled": { "alias": "areGrandTotalsEnabled"; "required": false; }; "areDatetimeOptionsEnabled": { "alias": "areDatetimeOptionsEnabled"; "required": false; }; "isBinningDisabled": { "alias": "isBinningDisabled"; "required": false; }; "isAggregationDisabled": { "alias": "isAggregationDisabled"; "required": false; }; "isCumulativeSumEnabled": { "alias": "isCumulativeSumEnabled"; "required": false; }; "slotContents": { "alias": "slotContents"; "required": false; }; "measureColumns": { "alias": "measureColumns"; "required": false; }; "slotIndex": { "alias": "slotIndex"; "required": false; }; "displaySettingsElement": { "alias": "displaySettingsElement"; "required": false; }; "slotMenuListElement": { "alias": "slotMenuListElement"; "required": false; }; "apiUrl": { "alias": "apiUrl"; "required": false; }; "authKey": { "alias": "authKey"; "required": false; }; "authToken": { "alias": "authToken"; "required": false; }; "datasetsDataFields": { "alias": "datasetsDataFields"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoSlotContentsChanged": "luzmoSlotContentsChanged"; "luzmoClose": "luzmoClose"; "luzmoSlotMenuActive": "luzmoSlotMenuActive"; "luzmoSlotMenuHighlight": "luzmoSlotMenuHighlight"; "luzmoSlotMenuInactive": "luzmoSlotMenuInactive"; "luzmoInfoVisibilityChanged": "luzmoInfoVisibilityChanged"; }, never, ["*"], true, never>;
99
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoSlotMenu, "luzmo-slot-menu", ["luzmoSlotMenu"], { "slotsContents": { "alias": "slotsContents"; "required": false; }; "hasConnectedComparisonFilter": { "alias": "hasConnectedComparisonFilter"; "required": false; }; "language": { "alias": "language"; "required": false; }; "contentLanguage": { "alias": "contentLanguage"; "required": false; }; "slotType": { "alias": "slotType"; "required": false; }; "slotName": { "alias": "slotName"; "required": false; }; "itemType": { "alias": "itemType"; "required": false; }; "noDrag": { "alias": "noDrag"; "required": false; }; "noClose": { "alias": "noClose"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "noTopMenuLabel": { "alias": "noTopMenuLabel"; "required": false; }; "noRemove": { "alias": "noRemove"; "required": false; }; "dragBoundary": { "alias": "dragBoundary"; "required": false; }; "areGrandTotalsEnabled": { "alias": "areGrandTotalsEnabled"; "required": false; }; "areDatetimeOptionsEnabled": { "alias": "areDatetimeOptionsEnabled"; "required": false; }; "isBinningDisabled": { "alias": "isBinningDisabled"; "required": false; }; "isAggregationDisabled": { "alias": "isAggregationDisabled"; "required": false; }; "isCumulativeSumEnabled": { "alias": "isCumulativeSumEnabled"; "required": false; }; "slotContents": { "alias": "slotContents"; "required": false; }; "measureColumns": { "alias": "measureColumns"; "required": false; }; "slotIndex": { "alias": "slotIndex"; "required": false; }; "displaySettingsElement": { "alias": "displaySettingsElement"; "required": false; }; "slotMenuListElement": { "alias": "slotMenuListElement"; "required": false; }; "apiUrl": { "alias": "apiUrl"; "required": false; }; "authKey": { "alias": "authKey"; "required": false; }; "authToken": { "alias": "authToken"; "required": false; }; "datasetsDataFields": { "alias": "datasetsDataFields"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoSlotContentsChanged": "luzmoSlotContentsChanged"; "luzmoClose": "luzmoClose"; "luzmoSlotMenuActive": "luzmoSlotMenuActive"; "luzmoSlotMenuHighlight": "luzmoSlotMenuHighlight"; "luzmoSlotMenuInactive": "luzmoSlotMenuInactive"; "luzmoInfoVisibilityChanged": "luzmoInfoVisibilityChanged"; }, never, ["*"], true, never>;
100
+ static ngAcceptInputType_hasConnectedComparisonFilter: unknown;
96
101
  static ngAcceptInputType_noDrag: unknown;
97
102
  static ngAcceptInputType_noClose: unknown;
98
103
  static ngAcceptInputType_noTopMenuLabel: unknown;