@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
package/README.md CHANGED
@@ -15,7 +15,7 @@ ACK produces and edits chart configuration (type, slots, options, filters). It d
15
15
  ## Installation
16
16
 
17
17
  ```bash
18
- npm install @luzmo/analytics-components-kit lit@^3.3.2 @luzmo/lucero@^2.6.1 @luzmo/icons@^1.0.1-alpha.49
18
+ npm install @luzmo/analytics-components-kit lit@^3.3.2 @luzmo/lucero@^2.7.1 @luzmo/icons@^1.0.1-alpha.49
19
19
  ```
20
20
 
21
21
  ACK uses Lucero 2 for its design-system primitives. Package managers that do not install peer dependencies automatically must install the compatible peer versions explicitly.
@@ -87,6 +87,12 @@ See the [ACK documentation](https://developer.luzmo.com/guide/ack--overview) for
87
87
  usage and API guidance. These exposed APIs follow semantic versioning. Internal
88
88
  helpers are not standalone public component subpaths.
89
89
 
90
+ `luzmo-ai-chat` can render a saved Agent's choice questions. It declares them to
91
+ the aiprompt API only when you opt in with `interactions: ['question']` in the
92
+ `AiChatSession` config, because an API that predates `client_capabilities`
93
+ rejects every request that carries it. Approval cards will follow in a later
94
+ release.
95
+
90
96
  ### Data Fields
91
97
 
92
98
  Present the columns and formulas from a dataset so users can pick the data they want to visualize. Also includes components to display and edit Luzmo formula/column expressions (function syntax, e.g. `SUM({datasetId:columnId})`). Formula components accept datasets directly via `datasetsDataFields` or fetch them from the Luzmo API via `dataset-ids` (+ auth).
@@ -115,6 +121,8 @@ Let users assign data fields to chart slots (e.g. `x-axis`, `measure`, `legend`)
115
121
 
116
122
  Slot panels also surface inline calculations supplied through `slotsContents`. An aggregating ad-hoc measure uses `formula`; a non-aggregating derived dimension uses `expression`. Slots show compact **Formula** or **Expression** labels with matching icons; the **cog menu** shows the full read-only calculation under the same heading, with vertical scrolling after four rows. Override its size-dependent maximum width with `--luzmo-display-settings-calculation-max-width`. Clear the picker with its **X** action, or clear a drop target with its **trash** action, to return to column selection.
117
123
 
124
+ Slot drops, pickers, and their panels accept `hasConnectedComparisonFilter` (default `false`) as runtime context. Update it when applicable comparison filters change, and supply full `slotsContents` plus `itemType` for comparison level limits. Emitted period comparisons, including event-only constraint proposals, contain only saved comparison settings and compact date-column references. Comparisons are supported for area, bar, combination, column and line charts, pivot tables and KPIs; chart categories using arrays, weekly levels or non-default datetime display modes are excluded.
125
+
118
126
  ### Item Options
119
127
 
120
128
  Let users adjust how a chart looks and behaves (colors, labels, chart mode, legend position, ...).
@@ -126,7 +134,7 @@ Let users adjust how a chart looks and behaves (colors, labels, chart mode, lege
126
134
 
127
135
  For an editor with undo, set `live-interactions` on `luzmo-item-option`, `luzmo-item-option-panel`, or `luzmo-interactive-viz-item`. You can also enable it directly on `luzmo-item-option-slider`, `luzmo-item-option-color-picker`, `luzmo-item-option-color-range`, and `luzmo-item-option-guidelines` (line colors). Drags and held keys then update live, without debounce. Gesture updates carry `interaction: { id }` on `luzmo-option-changed` for bare controls, `luzmo-options-changed` for item option/panel, and `luzmo-chart-changed` for interactive viz item.
128
136
 
129
- All these entry points emit or forward `luzmo-option-interaction-start` (detail `{ id }`) and `-end` / `-cancel` (detail `{ id, changed }`) so you can record one history entry per gesture. A press that changes nothing emits no lifecycle events. Events through item option/panel include `optionKey`; bare controls omit it. Interactive viz item forwards the lifecycle with `optionKey`, plus the original `chart` and `generation` context. Call `endInteraction()` on the control or enclosing item option, panel, or interactive viz item before removing or rebinding it: it synchronously ends open gestures while keeping their current values. Live interactions are off by default; the default keeps the debounced behavior. The gesture boundaries come from Lucero; ACK requires `@luzmo/lucero` `^2.6.1` (at least 2.6.1 and below 3.0.0).
137
+ All these entry points emit or forward `luzmo-option-interaction-start` (detail `{ id }`) and `-end` / `-cancel` (detail `{ id, changed }`) so you can record one history entry per gesture. A press that changes nothing emits no lifecycle events. Events through item option/panel include `optionKey`; bare controls omit it. Interactive viz item forwards the lifecycle with `optionKey`, plus the original `chart` and `generation` context. Call `endInteraction()` on the control or enclosing item option, panel, or interactive viz item before removing or rebinding it: it synchronously ends open gestures while keeping their current values. Live interactions are off by default; the default keeps the debounced behavior. The gesture boundaries come from Lucero; ACK requires `@luzmo/lucero` `^2.7.1` (at least 2.7.1 and below 3.0.0).
130
138
 
131
139
  Individual option control editors are also exported for fully custom option UIs: `item-option-action-button-group`, `item-option-color-palette-picker`, `item-option-color-picker`, `item-option-color-range`, `item-option-guidelines`, `item-option-multi-language-field`, `item-option-number-field`, `item-option-picker`, `item-option-position-picker`, `item-option-positions-number-field`, `item-option-radio-button-group`, `item-option-slider`, `item-option-switch`, and `item-option-text-field`.
132
140
 
@@ -350,6 +358,8 @@ import type {
350
358
  DashboardFilterOutput,
351
359
  ItemOptionsChangedEventDetail,
352
360
  ItemOptionInteractionEventDetail,
361
+ ChatMessage,
362
+ ChatMessageQuestion,
353
363
  VizItemExportType
354
364
  } from '@luzmo/analytics-components-kit/types';
355
365
  ```
@@ -1,7 +1,7 @@
1
1
  import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
2
  import '@luzmo/analytics-components-kit/ai-chat';
3
3
  import type { LuzmoAiChatEmptyState as LuzmoAiChatEmptyStateHostElement, AiChatEmptyStateSuggestion, AiChatEmptyStateSuggestionSelectedDetail } from '@luzmo/analytics-components-kit/ai-chat';
4
- export type { AgentStreamDefinition, AiChatAgentConfig, AiChatCompleteEvent, AiChatConversationIdChangedEventDetail, AiChatDatasetsChangedEventDetail, AiChatEmptyStateSuggestion, AiChatEmptyStateSuggestionSelectedDetail, AiChatMessageSentEventDetail, AiChatRecognizedStepType, AiChatSessionBuildContext, AiChatSessionCallbacks, AiChatSessionConfig, AiChatSessionControllerOptions, AiChatSessionRestoreParams, AiChatSessionRestoreResult, AiChatSessionSeed, AiChatSessionState, AiChatSessionSubmitParams, AiChatStepBase, AiChatStepEvent, AiDictationCreateBody, AiDictationProperties, AiPromptCreateBody, AiPromptDeleteBody, AssistantMessageAction, AssistantMessageActionConfirmVariant, AssistantMessageActionEventDetail, AssistantMessageFeedbackEventDetail, AssistantMessageFeedbackRating, BuildAiDictationRequestOptions, ChatMessageElicitation, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail, ProgressTreeNode, PromptBoxAttachment, PromptBoxFileIcons, RecognizedStepEvent, StreamAiDictationOptions, StreamHandlerCallbacks, StreamHandlerContext, StreamHandlerState, StreamingRequestOptions, StreamingResponse, UnknownStepEvent, UploadAiPromptImagesOptions } from '@luzmo/analytics-components-kit/ai-chat';
4
+ export type { AgentStreamDefinition, AiChatAgentConfig, AiChatCompleteEvent, AiChatConversationIdChangedEventDetail, AiChatDatasetsChangedEventDetail, AiChatEmptyStateSuggestion, AiChatEmptyStateSuggestionSelectedDetail, AiChatMessageSentEventDetail, AiChatRecognizedStepType, AiChatSessionBuildContext, AiChatSessionCallbacks, AiChatSessionConfig, AiChatSessionControllerOptions, AiChatSessionRestoreParams, AiChatSessionRestoreResult, AiChatSessionSeed, AiChatSessionState, AiChatSessionSubmitParams, AiChatStepBase, AiChatStepEvent, AiDictationCreateBody, AiDictationProperties, AiPromptCreateBody, AiPromptDeleteBody, AssistantMessageAction, AssistantMessageActionConfirmVariant, AssistantMessageActionEventDetail, AssistantMessageFeedbackEventDetail, AssistantMessageFeedbackRating, BuildAiDictationRequestOptions, ChatChoiceOption, ChatChoiceQuestion, ChatMessageElicitation, ChatMessageQuestion, ChatQuestionAnswers, ChatQuestionResponse, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail, ProgressTreeNode, PromptBoxAttachment, PromptBoxFileIcons, RecognizedStepEvent, StreamAiDictationOptions, StreamHandlerCallbacks, StreamHandlerContext, StreamHandlerState, StreamingRequestOptions, StreamingResponse, UnknownStepEvent, UploadAiPromptImagesOptions } from '@luzmo/analytics-components-kit/ai-chat';
5
5
 
6
6
  @Component({
7
7
  selector: 'luzmo-ai-chat-empty-state',
@@ -1,8 +1,8 @@
1
1
  import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
2
  import '@luzmo/analytics-components-kit/ai-chat';
3
3
  import type { LuzmoAiChat as LuzmoAiChatHostElement, AiChatAgentConfig, AiChatCompleteEvent, AiChatConversationIdChangedEventDetail, AiChatDatasetsChangedEventDetail, AiChatEmptyStateSuggestion, AiChatMessageSentEventDetail, AiChatSession, AiChatStepEvent, AssistantMessageActionEventDetail, AssistantMessageFeedbackEventDetail } from '@luzmo/analytics-components-kit/ai-chat';
4
- export type { AgentStreamDefinition, AiChatAgentConfig, AiChatCompleteEvent, AiChatConversationIdChangedEventDetail, AiChatDatasetsChangedEventDetail, AiChatEmptyStateSuggestion, AiChatEmptyStateSuggestionSelectedDetail, AiChatMessageSentEventDetail, AiChatRecognizedStepType, AiChatSessionBuildContext, AiChatSessionCallbacks, AiChatSessionConfig, AiChatSessionControllerOptions, AiChatSessionRestoreParams, AiChatSessionRestoreResult, AiChatSessionSeed, AiChatSessionState, AiChatSessionSubmitParams, AiChatStepBase, AiChatStepEvent, AiDictationCreateBody, AiDictationProperties, AiPromptCreateBody, AiPromptDeleteBody, AssistantMessageAction, AssistantMessageActionConfirmVariant, AssistantMessageActionEventDetail, AssistantMessageFeedbackEventDetail, AssistantMessageFeedbackRating, BuildAiDictationRequestOptions, ChatMessageElicitation, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail, ProgressTreeNode, PromptBoxAttachment, PromptBoxFileIcons, RecognizedStepEvent, StreamAiDictationOptions, StreamHandlerCallbacks, StreamHandlerContext, StreamHandlerState, StreamingRequestOptions, StreamingResponse, UnknownStepEvent, UploadAiPromptImagesOptions } from '@luzmo/analytics-components-kit/ai-chat';
5
- import type { AiPromptAgent, AiPromptCustomItemInput, AiPromptItemTask, AiPromptScreenMode, DashboardStatePayload } from '@luzmo/analytics-components-kit/ai-chat';
4
+ export type { AgentStreamDefinition, AiChatAgentConfig, AiChatCompleteEvent, AiChatConversationIdChangedEventDetail, AiChatDatasetsChangedEventDetail, AiChatEmptyStateSuggestion, AiChatEmptyStateSuggestionSelectedDetail, AiChatMessageSentEventDetail, AiChatRecognizedStepType, AiChatSessionBuildContext, AiChatSessionCallbacks, AiChatSessionConfig, AiChatSessionControllerOptions, AiChatSessionRestoreParams, AiChatSessionRestoreResult, AiChatSessionSeed, AiChatSessionState, AiChatSessionSubmitParams, AiChatStepBase, AiChatStepEvent, AiDictationCreateBody, AiDictationProperties, AiPromptCreateBody, AiPromptDeleteBody, AssistantMessageAction, AssistantMessageActionConfirmVariant, AssistantMessageActionEventDetail, AssistantMessageFeedbackEventDetail, AssistantMessageFeedbackRating, BuildAiDictationRequestOptions, ChatChoiceOption, ChatChoiceQuestion, ChatMessageElicitation, ChatMessageQuestion, ChatQuestionAnswers, ChatQuestionResponse, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail, ProgressTreeNode, PromptBoxAttachment, PromptBoxFileIcons, RecognizedStepEvent, StreamAiDictationOptions, StreamHandlerCallbacks, StreamHandlerContext, StreamHandlerState, StreamingRequestOptions, StreamingResponse, UnknownStepEvent, UploadAiPromptImagesOptions } from '@luzmo/analytics-components-kit/ai-chat';
5
+ import type { AiChatInteraction, AiPromptAgent, AiPromptCustomItemInput, AiPromptItemTask, AiPromptScreenMode, DashboardStatePayload } from '@luzmo/analytics-components-kit/ai-chat';
6
6
  import type { ChatMessage, Dataset, LuzmoChart } from '@luzmo/analytics-components-kit/types';
7
7
 
8
8
  @Component({
@@ -143,6 +143,10 @@ export class LuzmoAiChat implements OnChanges {
143
143
  @Input({ alias: 'modelPreference' })
144
144
  modelPreference?: 'performance' | 'quality';
145
145
 
146
+ /** Boxes the agent may show, declared on every request as `client_capabilities`. Defaults to none. Pass `['question']` once the aiprompt API accepts `client_capabilities`. Ignored with a host `chatSession`. */
147
+ @Input({ alias: 'interactions' })
148
+ interactions?: AiChatInteraction[];
149
+
146
150
  /** Host-owned AiChatSession. The component subscribes and renders; does not abort on disconnect. */
147
151
  @Input({ alias: 'chatSession' })
148
152
  chatSession?: AiChatSession | null;
@@ -217,7 +221,7 @@ export class LuzmoAiChat implements OnChanges {
217
221
  /** Fired when the selected datasets change */
218
222
  readonly luzmoDatasetsChanged = output<CustomEvent<AiChatDatasetsChangedEventDetail>>({ alias: 'luzmoDatasetsChanged' });
219
223
 
220
- /** Fired for every incremental, kit-assembled event during a streamed response (decision, text, progress, dashboard-title/layout/item, chart, custom-item, elicitation, interrupt, plus forward-by-default unrecognized chunks). Use `isRecognizedStep` to narrow. */
224
+ /** Fired for every incremental, kit-assembled event during a streamed response (decision, text, progress, dashboard-title/layout/item, chart, custom-item, elicitation, question, interrupt, plus forward-by-default unrecognized chunks). Use `isRecognizedStep` to narrow. */
221
225
  readonly luzmoStep = output<CustomEvent<AiChatStepEvent>>({ alias: 'luzmoStep' });
222
226
 
223
227
  /** Fired exactly once per response with the authoritative final result (dashboard/chart/name/customItem) or an `error`. */
@@ -334,6 +338,9 @@ export class LuzmoAiChat implements OnChanges {
334
338
  case 'modelPreference':
335
339
  this.setHostProperty('modelPreference', changes['modelPreference'].currentValue);
336
340
  break;
341
+ case 'interactions':
342
+ this.setHostProperty('interactions', changes['interactions'].currentValue);
343
+ break;
337
344
  case 'chatSession':
338
345
  this.setHostProperty('chatSession', changes['chatSession'].currentValue);
339
346
  break;
@@ -3,7 +3,7 @@ import '@luzmo/analytics-components-kit/display-settings-period-over-period';
3
3
  import type { LuzmoDisplaySettingsPeriodOverPeriod as LuzmoDisplaySettingsPeriodOverPeriodHostElement, DisplaySettingsSlotContentChangedEventDetail } from '@luzmo/analytics-components-kit/display-settings-period-over-period';
4
4
  export type { DisplaySettingsSlotContentChangedEventDetail } from '@luzmo/analytics-components-kit/display-settings-period-over-period';
5
5
  import type { PeriodOverPeriodCondition } from '@luzmo/analytics-components-kit/types';
6
- import type { Column } from '@luzmo/dashboard-contents-types';
6
+ import type { Column, VizItemSlot, VizItemType } from '@luzmo/dashboard-contents-types';
7
7
 
8
8
  @Component({
9
9
  selector: 'luzmo-display-settings-period-over-period',
@@ -27,19 +27,31 @@ export class LuzmoDisplaySettingsPeriodOverPeriod implements OnChanges {
27
27
  return this.host;
28
28
  }
29
29
 
30
+ /** Full saved slots for deriving comparison levels and implicit datetime offsets. */
31
+ @Input({ alias: 'slotsContents' })
32
+ slotsContents?: VizItemSlot[];
33
+
34
+ /** Visualization type used to interpret comparison slot context. */
35
+ @Input({ alias: 'itemType' })
36
+ itemType?: VizItemType;
37
+
38
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
39
+ @Input({ alias: 'hasConnectedComparisonFilter', transform: booleanAttribute })
40
+ hasConnectedComparisonFilter?: boolean;
41
+
30
42
  /** The slotContent that is passed to the settings */
31
43
  @Input({ alias: 'slotContent' })
32
44
  slotContent?: any;
33
45
 
34
- /** Which period-over-period UI variant to render, based on available datetime columns and comparison filters. */
46
+ /** Optional UI variant supplied by a parent. When absent, derive it from runtime slot and filter context. */
35
47
  @Input({ alias: 'periodOverPeriodType' })
36
48
  periodOverPeriodUiType?: PeriodOverPeriodCondition;
37
49
 
38
- /** 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. */
50
+ /** 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. */
39
51
  @Input({ alias: 'allowPeriodsWithoutDatetimeColumn', transform: booleanAttribute })
40
52
  allowPeriodsWithoutDatetimeColumn?: boolean;
41
53
 
42
- /** Hide the "Past value" comparison type, e.g. for items that only show the change. */
54
+ /** Hide the "Past value" comparison type. Defaults to true for KPIs, false otherwise; explicit booleans override the default. */
43
55
  @Input({ alias: 'hidePastValue', transform: booleanAttribute })
44
56
  hidePastValue?: boolean;
45
57
 
@@ -70,6 +82,15 @@ export class LuzmoDisplaySettingsPeriodOverPeriod implements OnChanges {
70
82
  ngOnChanges(changes: SimpleChanges): void {
71
83
  for (const key of Object.keys(changes)) {
72
84
  switch (key) {
85
+ case 'slotsContents':
86
+ this.setHostProperty('slotsContents', changes['slotsContents'].currentValue);
87
+ break;
88
+ case 'itemType':
89
+ this.setHostProperty('itemType', changes['itemType'].currentValue);
90
+ break;
91
+ case 'hasConnectedComparisonFilter':
92
+ this.setHostProperty('hasConnectedComparisonFilter', changes['hasConnectedComparisonFilter'].currentValue);
93
+ break;
73
94
  case 'slotContent':
74
95
  this.setHostProperty('slotContent', changes['slotContent'].currentValue);
75
96
  break;
@@ -5,7 +5,7 @@ export type { DisplaySettingsRemoveSlotContentEventDetail, DisplaySettingsSlotCo
5
5
  import type { DatasetDataFields } from '@luzmo/analytics-components-kit/data-field-panel';
6
6
  import type { MeasureColumnsItem } from '@luzmo/analytics-components-kit/slot-menu';
7
7
  import type { PeriodOverPeriodCondition, SlotContent } from '@luzmo/analytics-components-kit/types';
8
- import type { SlotName } from '@luzmo/dashboard-contents-types';
8
+ import type { SlotName, VizItemSlot, VizItemType } from '@luzmo/dashboard-contents-types';
9
9
 
10
10
  @Component({
11
11
  selector: 'luzmo-display-settings',
@@ -29,6 +29,18 @@ export class LuzmoDisplaySettings implements OnChanges {
29
29
  return this.host;
30
30
  }
31
31
 
32
+ /** Full saved slots for deriving comparison levels and implicit datetime offsets. */
33
+ @Input({ alias: 'slotsContents' })
34
+ slotsContents?: VizItemSlot[];
35
+
36
+ /** Visualization type used to interpret comparison slot context. */
37
+ @Input({ alias: 'itemType' })
38
+ itemType?: VizItemType;
39
+
40
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
41
+ @Input({ alias: 'hasConnectedComparisonFilter', transform: booleanAttribute })
42
+ hasConnectedComparisonFilter?: boolean;
43
+
32
44
  /** The language of the settings interface */
33
45
  @Input({ alias: 'language' })
34
46
  language?: string;
@@ -61,7 +73,7 @@ export class LuzmoDisplaySettings implements OnChanges {
61
73
  @Input({ alias: 'isCumulativeSumEnabled', transform: booleanAttribute })
62
74
  isCumulativeSumEnabled?: boolean;
63
75
 
64
- /** Whether to show the period-over-period in numeric */
76
+ /** Optional comparison UI override for standalone use; null hides comparisons. Otherwise derived from slotsContents, itemType, filters, and datasetsDataFields. */
65
77
  @Input({ alias: 'periodOverPeriodUiType' })
66
78
  periodOverPeriodUiType?: PeriodOverPeriodCondition | null;
67
79
 
@@ -81,7 +93,7 @@ export class LuzmoDisplaySettings implements OnChanges {
81
93
  @Input({ alias: 'slotContent' })
82
94
  slotContent?: SlotContent;
83
95
 
84
- /** Datasets used to resolve column names in ad-hoc calculation previews. */
96
+ /** Datasets used for calculation previews and standalone comparison offset date choices (columns or dataFields). */
85
97
  @Input({ alias: 'datasetsDataFields' })
86
98
  datasetsDataFields?: DatasetDataFields[];
87
99
 
@@ -126,6 +138,15 @@ export class LuzmoDisplaySettings implements OnChanges {
126
138
  ngOnChanges(changes: SimpleChanges): void {
127
139
  for (const key of Object.keys(changes)) {
128
140
  switch (key) {
141
+ case 'slotsContents':
142
+ this.setHostProperty('slotsContents', changes['slotsContents'].currentValue);
143
+ break;
144
+ case 'itemType':
145
+ this.setHostProperty('itemType', changes['itemType'].currentValue);
146
+ break;
147
+ case 'hasConnectedComparisonFilter':
148
+ this.setHostProperty('hasConnectedComparisonFilter', changes['hasConnectedComparisonFilter'].currentValue);
149
+ break;
129
150
  case 'language':
130
151
  this.setHostProperty('language', changes['language'].currentValue);
131
152
  break;
@@ -27,6 +27,10 @@ export class LuzmoItemSlotDropPanel implements OnChanges {
27
27
  return this.host;
28
28
  }
29
29
 
30
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
31
+ @Input({ alias: 'hasConnectedComparisonFilter', transform: booleanAttribute })
32
+ hasConnectedComparisonFilter?: boolean;
33
+
30
34
  /** The type of the item (e.g., 'bar-chart', 'line-chart', 'area-chart') */
31
35
  @Input({ alias: 'itemType' })
32
36
  itemType?: VizItemType | string;
@@ -133,6 +137,9 @@ export class LuzmoItemSlotDropPanel implements OnChanges {
133
137
  ngOnChanges(changes: SimpleChanges): void {
134
138
  for (const key of Object.keys(changes)) {
135
139
  switch (key) {
140
+ case 'hasConnectedComparisonFilter':
141
+ this.setHostProperty('hasConnectedComparisonFilter', changes['hasConnectedComparisonFilter'].currentValue);
142
+ break;
136
143
  case 'itemType':
137
144
  this.setHostProperty('itemType', changes['itemType'].currentValue);
138
145
  break;
@@ -27,6 +27,10 @@ export class LuzmoItemSlotDrop implements OnChanges {
27
27
  return this.host;
28
28
  }
29
29
 
30
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
31
+ @Input({ alias: 'hasConnectedComparisonFilter', transform: booleanAttribute })
32
+ hasConnectedComparisonFilter?: boolean;
33
+
30
34
  /** The visualization item type that determines the available slots and their configuration. */
31
35
  @Input({ alias: 'itemType' })
32
36
  itemType?: VizItemType;
@@ -122,6 +126,9 @@ export class LuzmoItemSlotDrop implements OnChanges {
122
126
  ngOnChanges(changes: SimpleChanges): void {
123
127
  for (const key of Object.keys(changes)) {
124
128
  switch (key) {
129
+ case 'hasConnectedComparisonFilter':
130
+ this.setHostProperty('hasConnectedComparisonFilter', changes['hasConnectedComparisonFilter'].currentValue);
131
+ break;
125
132
  case 'itemType':
126
133
  this.setHostProperty('itemType', changes['itemType'].currentValue);
127
134
  break;
@@ -28,6 +28,10 @@ export class LuzmoItemSlotPickerPanel implements OnChanges {
28
28
  return this.host;
29
29
  }
30
30
 
31
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
32
+ @Input({ alias: 'hasConnectedComparisonFilter', transform: booleanAttribute })
33
+ hasConnectedComparisonFilter?: boolean;
34
+
31
35
  /** The type of the item (e.g., 'bar-chart', 'line-chart', 'area-chart') */
32
36
  @Input({ alias: 'itemType' })
33
37
  itemType?: VizItemType | string;
@@ -168,6 +172,9 @@ export class LuzmoItemSlotPickerPanel implements OnChanges {
168
172
  ngOnChanges(changes: SimpleChanges): void {
169
173
  for (const key of Object.keys(changes)) {
170
174
  switch (key) {
175
+ case 'hasConnectedComparisonFilter':
176
+ this.setHostProperty('hasConnectedComparisonFilter', changes['hasConnectedComparisonFilter'].currentValue);
177
+ break;
171
178
  case 'itemType':
172
179
  this.setHostProperty('itemType', changes['itemType'].currentValue);
173
180
  break;
@@ -4,7 +4,7 @@ import type { LuzmoItemSlotPicker as LuzmoItemSlotPickerHostElement, SlotContent
4
4
  export type { SlotContentsChangedEventDetail } from '@luzmo/analytics-components-kit/item-slot-picker';
5
5
  import type { Placement } from '@floating-ui/dom';
6
6
  import type { DatasetsDataFields, SlotContent } from '@luzmo/analytics-components-kit/types';
7
- import type { SlotConfig, SlotName, VizItemType } from '@luzmo/dashboard-contents-types';
7
+ import type { SlotConfig, SlotName, VizItemSlot, VizItemType } from '@luzmo/dashboard-contents-types';
8
8
 
9
9
  @Component({
10
10
  selector: 'luzmo-item-slot-picker',
@@ -28,6 +28,14 @@ export class LuzmoItemSlotPicker implements OnChanges {
28
28
  return this.host;
29
29
  }
30
30
 
31
+ /** Full saved slots for deriving comparison levels and implicit datetime offsets. */
32
+ @Input({ alias: 'slotsContents' })
33
+ slotsContents?: VizItemSlot[];
34
+
35
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
36
+ @Input({ alias: 'hasConnectedComparisonFilter', transform: booleanAttribute })
37
+ hasConnectedComparisonFilter?: boolean;
38
+
31
39
  /** The API URL for the databroker */
32
40
  @Input({ alias: 'apiUrl' })
33
41
  apiUrl?: string;
@@ -143,6 +151,12 @@ export class LuzmoItemSlotPicker implements OnChanges {
143
151
  ngOnChanges(changes: SimpleChanges): void {
144
152
  for (const key of Object.keys(changes)) {
145
153
  switch (key) {
154
+ case 'slotsContents':
155
+ this.setHostProperty('slotsContents', changes['slotsContents'].currentValue);
156
+ break;
157
+ case 'hasConnectedComparisonFilter':
158
+ this.setHostProperty('hasConnectedComparisonFilter', changes['hasConnectedComparisonFilter'].currentValue);
159
+ break;
146
160
  case 'apiUrl':
147
161
  this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
148
162
  break;
@@ -6,7 +6,7 @@ import type { DatasetDataFields } from '@luzmo/analytics-components-kit/data-fie
6
6
  import type { LuzmoDisplaySettings } from '@luzmo/analytics-components-kit/display-settings';
7
7
  import type { LuzmoSlotMenuList } from '@luzmo/analytics-components-kit/slot-menu-list';
8
8
  import type { SlotContent } from '@luzmo/analytics-components-kit/types';
9
- import type { SlotName, VizItemType } from '@luzmo/dashboard-contents-types';
9
+ import type { SlotName, VizItemSlot, VizItemType } from '@luzmo/dashboard-contents-types';
10
10
 
11
11
  @Component({
12
12
  selector: 'luzmo-slot-menu',
@@ -30,6 +30,14 @@ export class LuzmoSlotMenu implements OnChanges {
30
30
  return this.host;
31
31
  }
32
32
 
33
+ /** Full saved slots for deriving comparison levels and implicit datetime offsets. */
34
+ @Input({ alias: 'slotsContents' })
35
+ slotsContents?: VizItemSlot[];
36
+
37
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
38
+ @Input({ alias: 'hasConnectedComparisonFilter', transform: booleanAttribute })
39
+ hasConnectedComparisonFilter?: boolean;
40
+
33
41
  /** The language of the settings interface */
34
42
  @Input({ alias: 'language' })
35
43
  language?: string;
@@ -164,6 +172,12 @@ export class LuzmoSlotMenu implements OnChanges {
164
172
  ngOnChanges(changes: SimpleChanges): void {
165
173
  for (const key of Object.keys(changes)) {
166
174
  switch (key) {
175
+ case 'slotsContents':
176
+ this.setHostProperty('slotsContents', changes['slotsContents'].currentValue);
177
+ break;
178
+ case 'hasConnectedComparisonFilter':
179
+ this.setHostProperty('hasConnectedComparisonFilter', changes['hasConnectedComparisonFilter'].currentValue);
180
+ break;
167
181
  case 'language':
168
182
  this.setHostProperty('language', changes['language'].currentValue);
169
183
  break;
@@ -2,7 +2,7 @@ import { OnChanges, SimpleChanges } from '@angular/core';
2
2
  import '@luzmo/analytics-components-kit/ai-chat';
3
3
  import type { LuzmoAiChatEmptyState as LuzmoAiChatEmptyStateHostElement, AiChatEmptyStateSuggestion, AiChatEmptyStateSuggestionSelectedDetail } from '@luzmo/analytics-components-kit/ai-chat';
4
4
  import * as i0 from "@angular/core";
5
- export type { AgentStreamDefinition, AiChatAgentConfig, AiChatCompleteEvent, AiChatConversationIdChangedEventDetail, AiChatDatasetsChangedEventDetail, AiChatEmptyStateSuggestion, AiChatEmptyStateSuggestionSelectedDetail, AiChatMessageSentEventDetail, AiChatRecognizedStepType, AiChatSessionBuildContext, AiChatSessionCallbacks, AiChatSessionConfig, AiChatSessionControllerOptions, AiChatSessionRestoreParams, AiChatSessionRestoreResult, AiChatSessionSeed, AiChatSessionState, AiChatSessionSubmitParams, AiChatStepBase, AiChatStepEvent, AiDictationCreateBody, AiDictationProperties, AiPromptCreateBody, AiPromptDeleteBody, AssistantMessageAction, AssistantMessageActionConfirmVariant, AssistantMessageActionEventDetail, AssistantMessageFeedbackEventDetail, AssistantMessageFeedbackRating, BuildAiDictationRequestOptions, ChatMessageElicitation, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail, ProgressTreeNode, PromptBoxAttachment, PromptBoxFileIcons, RecognizedStepEvent, StreamAiDictationOptions, StreamHandlerCallbacks, StreamHandlerContext, StreamHandlerState, StreamingRequestOptions, StreamingResponse, UnknownStepEvent, UploadAiPromptImagesOptions } from '@luzmo/analytics-components-kit/ai-chat';
5
+ export type { AgentStreamDefinition, AiChatAgentConfig, AiChatCompleteEvent, AiChatConversationIdChangedEventDetail, AiChatDatasetsChangedEventDetail, AiChatEmptyStateSuggestion, AiChatEmptyStateSuggestionSelectedDetail, AiChatMessageSentEventDetail, AiChatRecognizedStepType, AiChatSessionBuildContext, AiChatSessionCallbacks, AiChatSessionConfig, AiChatSessionControllerOptions, AiChatSessionRestoreParams, AiChatSessionRestoreResult, AiChatSessionSeed, AiChatSessionState, AiChatSessionSubmitParams, AiChatStepBase, AiChatStepEvent, AiDictationCreateBody, AiDictationProperties, AiPromptCreateBody, AiPromptDeleteBody, AssistantMessageAction, AssistantMessageActionConfirmVariant, AssistantMessageActionEventDetail, AssistantMessageFeedbackEventDetail, AssistantMessageFeedbackRating, BuildAiDictationRequestOptions, ChatChoiceOption, ChatChoiceQuestion, ChatMessageElicitation, ChatMessageQuestion, ChatQuestionAnswers, ChatQuestionResponse, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail, ProgressTreeNode, PromptBoxAttachment, PromptBoxFileIcons, RecognizedStepEvent, StreamAiDictationOptions, StreamHandlerCallbacks, StreamHandlerContext, StreamHandlerState, StreamingRequestOptions, StreamingResponse, UnknownStepEvent, UploadAiPromptImagesOptions } from '@luzmo/analytics-components-kit/ai-chat';
6
6
  export declare class LuzmoAiChatEmptyState implements OnChanges {
7
7
  private readonly elementRef;
8
8
  private readonly renderer;
@@ -1,10 +1,10 @@
1
1
  import { OnChanges, SimpleChanges } from '@angular/core';
2
2
  import '@luzmo/analytics-components-kit/ai-chat';
3
3
  import type { LuzmoAiChat as LuzmoAiChatHostElement, AiChatAgentConfig, AiChatCompleteEvent, AiChatConversationIdChangedEventDetail, AiChatDatasetsChangedEventDetail, AiChatEmptyStateSuggestion, AiChatMessageSentEventDetail, AiChatSession, AiChatStepEvent, AssistantMessageActionEventDetail, AssistantMessageFeedbackEventDetail } from '@luzmo/analytics-components-kit/ai-chat';
4
- import type { AiPromptAgent, AiPromptCustomItemInput, AiPromptItemTask, AiPromptScreenMode, DashboardStatePayload } from '@luzmo/analytics-components-kit/ai-chat';
4
+ import type { AiChatInteraction, AiPromptAgent, AiPromptCustomItemInput, AiPromptItemTask, AiPromptScreenMode, DashboardStatePayload } from '@luzmo/analytics-components-kit/ai-chat';
5
5
  import type { ChatMessage, Dataset, LuzmoChart } from '@luzmo/analytics-components-kit/types';
6
6
  import * as i0 from "@angular/core";
7
- export type { AgentStreamDefinition, AiChatAgentConfig, AiChatCompleteEvent, AiChatConversationIdChangedEventDetail, AiChatDatasetsChangedEventDetail, AiChatEmptyStateSuggestion, AiChatEmptyStateSuggestionSelectedDetail, AiChatMessageSentEventDetail, AiChatRecognizedStepType, AiChatSessionBuildContext, AiChatSessionCallbacks, AiChatSessionConfig, AiChatSessionControllerOptions, AiChatSessionRestoreParams, AiChatSessionRestoreResult, AiChatSessionSeed, AiChatSessionState, AiChatSessionSubmitParams, AiChatStepBase, AiChatStepEvent, AiDictationCreateBody, AiDictationProperties, AiPromptCreateBody, AiPromptDeleteBody, AssistantMessageAction, AssistantMessageActionConfirmVariant, AssistantMessageActionEventDetail, AssistantMessageFeedbackEventDetail, AssistantMessageFeedbackRating, BuildAiDictationRequestOptions, ChatMessageElicitation, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail, ProgressTreeNode, PromptBoxAttachment, PromptBoxFileIcons, RecognizedStepEvent, StreamAiDictationOptions, StreamHandlerCallbacks, StreamHandlerContext, StreamHandlerState, StreamingRequestOptions, StreamingResponse, UnknownStepEvent, UploadAiPromptImagesOptions } from '@luzmo/analytics-components-kit/ai-chat';
7
+ export type { AgentStreamDefinition, AiChatAgentConfig, AiChatCompleteEvent, AiChatConversationIdChangedEventDetail, AiChatDatasetsChangedEventDetail, AiChatEmptyStateSuggestion, AiChatEmptyStateSuggestionSelectedDetail, AiChatMessageSentEventDetail, AiChatRecognizedStepType, AiChatSessionBuildContext, AiChatSessionCallbacks, AiChatSessionConfig, AiChatSessionControllerOptions, AiChatSessionRestoreParams, AiChatSessionRestoreResult, AiChatSessionSeed, AiChatSessionState, AiChatSessionSubmitParams, AiChatStepBase, AiChatStepEvent, AiDictationCreateBody, AiDictationProperties, AiPromptCreateBody, AiPromptDeleteBody, AssistantMessageAction, AssistantMessageActionConfirmVariant, AssistantMessageActionEventDetail, AssistantMessageFeedbackEventDetail, AssistantMessageFeedbackRating, BuildAiDictationRequestOptions, ChatChoiceOption, ChatChoiceQuestion, ChatMessageElicitation, ChatMessageQuestion, ChatQuestionAnswers, ChatQuestionResponse, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail, ProgressTreeNode, PromptBoxAttachment, PromptBoxFileIcons, RecognizedStepEvent, StreamAiDictationOptions, StreamHandlerCallbacks, StreamHandlerContext, StreamHandlerState, StreamingRequestOptions, StreamingResponse, UnknownStepEvent, UploadAiPromptImagesOptions } from '@luzmo/analytics-components-kit/ai-chat';
8
8
  export declare class LuzmoAiChat implements OnChanges {
9
9
  private readonly elementRef;
10
10
  private readonly renderer;
@@ -71,6 +71,8 @@ export declare class LuzmoAiChat implements OnChanges {
71
71
  task?: AiPromptItemTask;
72
72
  /** AI model preference for item agent chart generation */
73
73
  modelPreference?: 'performance' | 'quality';
74
+ /** Boxes the agent may show, declared on every request as `client_capabilities`. Defaults to none. Pass `['question']` once the aiprompt API accepts `client_capabilities`. Ignored with a host `chatSession`. */
75
+ interactions?: AiChatInteraction[];
74
76
  /** Host-owned AiChatSession. The component subscribes and renders; does not abort on disconnect. */
75
77
  chatSession?: AiChatSession | null;
76
78
  /** Conversation ID (synced into the session; updated when the API returns a new id). */
@@ -109,7 +111,7 @@ export declare class LuzmoAiChat implements OnChanges {
109
111
  readonly luzmoMessageSent: import("@angular/core").OutputEmitterRef<CustomEvent<AiChatMessageSentEventDetail>>;
110
112
  /** Fired when the selected datasets change */
111
113
  readonly luzmoDatasetsChanged: import("@angular/core").OutputEmitterRef<CustomEvent<AiChatDatasetsChangedEventDetail>>;
112
- /** Fired for every incremental, kit-assembled event during a streamed response (decision, text, progress, dashboard-title/layout/item, chart, custom-item, elicitation, interrupt, plus forward-by-default unrecognized chunks). Use `isRecognizedStep` to narrow. */
114
+ /** Fired for every incremental, kit-assembled event during a streamed response (decision, text, progress, dashboard-title/layout/item, chart, custom-item, elicitation, question, interrupt, plus forward-by-default unrecognized chunks). Use `isRecognizedStep` to narrow. */
113
115
  readonly luzmoStep: import("@angular/core").OutputEmitterRef<CustomEvent<AiChatStepEvent>>;
114
116
  /** Fired exactly once per response with the authoritative final result (dashboard/chart/name/customItem) or an `error`. */
115
117
  readonly luzmoComplete: import("@angular/core").OutputEmitterRef<CustomEvent<AiChatCompleteEvent>>;
@@ -132,7 +134,7 @@ export declare class LuzmoAiChat implements OnChanges {
132
134
  private setHostProperty;
133
135
  private bindEvents;
134
136
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoAiChat, never>;
135
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoAiChat, "luzmo-ai-chat", ["luzmoAiChat"], { "messages": { "alias": "messages"; "required": false; }; "selectedDatasets": { "alias": "selectedDatasets"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "stoppable": { "alias": "stoppable"; "required": false; }; "showAssistantContextMenu": { "alias": "showAssistantContextMenu"; "required": false; }; "showAssistantMessageFeedback": { "alias": "showAssistantMessageFeedback"; "required": false; }; "authKey": { "alias": "authKey"; "required": false; }; "authToken": { "alias": "authToken"; "required": false; }; "apiUrl": { "alias": "apiUrl"; "required": false; }; "appServer": { "alias": "appServer"; "required": false; }; "includePublicDatasets": { "alias": "includePublicDatasets"; "required": false; }; "flagOpendata": { "alias": "flagOpendata"; "required": false; }; "hideDatasetButton": { "alias": "hideDatasetButton"; "required": false; }; "hideDatasetIcons": { "alias": "hideDatasetIcons"; "required": false; }; "disableDatasetModification": { "alias": "disableDatasetModification"; "required": false; }; "hideSelectedDatasets": { "alias": "hideSelectedDatasets"; "required": false; }; "hideAgents": { "alias": "hideAgents"; "required": false; }; "disableColumnMentions": { "alias": "disableColumnMentions"; "required": false; }; "requireDataset": { "alias": "requireDataset"; "required": false; }; "allowImages": { "alias": "allowImages"; "required": false; }; "allowVoiceInput": { "alias": "allowVoiceInput"; "required": false; }; "acceptedFileTypes": { "alias": "acceptedFileTypes"; "required": false; }; "uploadAttachments": { "alias": "uploadAttachments"; "required": false; }; "agent": { "alias": "agent"; "required": false; }; "agentConfig": { "alias": "agentConfig"; "required": false; }; "agentId": { "alias": "agentId"; "required": false; }; "task": { "alias": "task"; "required": false; }; "modelPreference": { "alias": "modelPreference"; "required": false; }; "chatSession": { "alias": "chatSession"; "required": false; }; "conversationId": { "alias": "conversationId"; "required": false; }; "chart": { "alias": "chart"; "required": false; }; "dashboard": { "alias": "dashboard"; "required": false; }; "customItem": { "alias": "customItem"; "required": false; }; "currentScreenMode": { "alias": "currentScreenMode"; "required": false; }; "localeId": { "alias": "localeId"; "required": false; }; "timezoneId": { "alias": "timezoneId"; "required": false; }; "apiVersion": { "alias": "apiVersion"; "required": false; }; "stream": { "alias": "stream"; "required": false; }; "loadingMessage": { "alias": "loadingMessage"; "required": false; }; "cancelledMessage": { "alias": "cancelledMessage"; "required": false; }; "initialPrompt": { "alias": "initialPrompt"; "required": false; }; "emptyStateTitle": { "alias": "emptyStateTitle"; "required": false; }; "emptyStateSubtitle": { "alias": "emptyStateSubtitle"; "required": false; }; "emptyStateSuggestions": { "alias": "emptyStateSuggestions"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoMessageSent": "luzmoMessageSent"; "luzmoDatasetsChanged": "luzmoDatasetsChanged"; "luzmoStep": "luzmoStep"; "luzmoComplete": "luzmoComplete"; "luzmoStop": "luzmoStop"; "luzmoConversationIdChanged": "luzmoConversationIdChanged"; "luzmoAssistantMessageAction": "luzmoAssistantMessageAction"; "luzmoAssistantMessageFeedback": "luzmoAssistantMessageFeedback"; }, never, ["*"], true, never>;
137
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoAiChat, "luzmo-ai-chat", ["luzmoAiChat"], { "messages": { "alias": "messages"; "required": false; }; "selectedDatasets": { "alias": "selectedDatasets"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "stoppable": { "alias": "stoppable"; "required": false; }; "showAssistantContextMenu": { "alias": "showAssistantContextMenu"; "required": false; }; "showAssistantMessageFeedback": { "alias": "showAssistantMessageFeedback"; "required": false; }; "authKey": { "alias": "authKey"; "required": false; }; "authToken": { "alias": "authToken"; "required": false; }; "apiUrl": { "alias": "apiUrl"; "required": false; }; "appServer": { "alias": "appServer"; "required": false; }; "includePublicDatasets": { "alias": "includePublicDatasets"; "required": false; }; "flagOpendata": { "alias": "flagOpendata"; "required": false; }; "hideDatasetButton": { "alias": "hideDatasetButton"; "required": false; }; "hideDatasetIcons": { "alias": "hideDatasetIcons"; "required": false; }; "disableDatasetModification": { "alias": "disableDatasetModification"; "required": false; }; "hideSelectedDatasets": { "alias": "hideSelectedDatasets"; "required": false; }; "hideAgents": { "alias": "hideAgents"; "required": false; }; "disableColumnMentions": { "alias": "disableColumnMentions"; "required": false; }; "requireDataset": { "alias": "requireDataset"; "required": false; }; "allowImages": { "alias": "allowImages"; "required": false; }; "allowVoiceInput": { "alias": "allowVoiceInput"; "required": false; }; "acceptedFileTypes": { "alias": "acceptedFileTypes"; "required": false; }; "uploadAttachments": { "alias": "uploadAttachments"; "required": false; }; "agent": { "alias": "agent"; "required": false; }; "agentConfig": { "alias": "agentConfig"; "required": false; }; "agentId": { "alias": "agentId"; "required": false; }; "task": { "alias": "task"; "required": false; }; "modelPreference": { "alias": "modelPreference"; "required": false; }; "interactions": { "alias": "interactions"; "required": false; }; "chatSession": { "alias": "chatSession"; "required": false; }; "conversationId": { "alias": "conversationId"; "required": false; }; "chart": { "alias": "chart"; "required": false; }; "dashboard": { "alias": "dashboard"; "required": false; }; "customItem": { "alias": "customItem"; "required": false; }; "currentScreenMode": { "alias": "currentScreenMode"; "required": false; }; "localeId": { "alias": "localeId"; "required": false; }; "timezoneId": { "alias": "timezoneId"; "required": false; }; "apiVersion": { "alias": "apiVersion"; "required": false; }; "stream": { "alias": "stream"; "required": false; }; "loadingMessage": { "alias": "loadingMessage"; "required": false; }; "cancelledMessage": { "alias": "cancelledMessage"; "required": false; }; "initialPrompt": { "alias": "initialPrompt"; "required": false; }; "emptyStateTitle": { "alias": "emptyStateTitle"; "required": false; }; "emptyStateSubtitle": { "alias": "emptyStateSubtitle"; "required": false; }; "emptyStateSuggestions": { "alias": "emptyStateSuggestions"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoMessageSent": "luzmoMessageSent"; "luzmoDatasetsChanged": "luzmoDatasetsChanged"; "luzmoStep": "luzmoStep"; "luzmoComplete": "luzmoComplete"; "luzmoStop": "luzmoStop"; "luzmoConversationIdChanged": "luzmoConversationIdChanged"; "luzmoAssistantMessageAction": "luzmoAssistantMessageAction"; "luzmoAssistantMessageFeedback": "luzmoAssistantMessageFeedback"; }, never, ["*"], true, never>;
136
138
  static ngAcceptInputType_disabled: unknown;
137
139
  static ngAcceptInputType_stoppable: unknown;
138
140
  static ngAcceptInputType_showAssistantContextMenu: unknown;
@@ -73,6 +73,8 @@ export class LuzmoAiChat {
73
73
  task;
74
74
  /** AI model preference for item agent chart generation */
75
75
  modelPreference;
76
+ /** Boxes the agent may show, declared on every request as `client_capabilities`. Defaults to none. Pass `['question']` once the aiprompt API accepts `client_capabilities`. Ignored with a host `chatSession`. */
77
+ interactions;
76
78
  /** Host-owned AiChatSession. The component subscribes and renders; does not abort on disconnect. */
77
79
  chatSession;
78
80
  /** Conversation ID (synced into the session; updated when the API returns a new id). */
@@ -111,7 +113,7 @@ export class LuzmoAiChat {
111
113
  luzmoMessageSent = output({ alias: 'luzmoMessageSent' });
112
114
  /** Fired when the selected datasets change */
113
115
  luzmoDatasetsChanged = output({ alias: 'luzmoDatasetsChanged' });
114
- /** Fired for every incremental, kit-assembled event during a streamed response (decision, text, progress, dashboard-title/layout/item, chart, custom-item, elicitation, interrupt, plus forward-by-default unrecognized chunks). Use `isRecognizedStep` to narrow. */
116
+ /** Fired for every incremental, kit-assembled event during a streamed response (decision, text, progress, dashboard-title/layout/item, chart, custom-item, elicitation, question, interrupt, plus forward-by-default unrecognized chunks). Use `isRecognizedStep` to narrow. */
115
117
  luzmoStep = output({ alias: 'luzmoStep' });
116
118
  /** Fired exactly once per response with the authoritative final result (dashboard/chart/name/customItem) or an `error`. */
117
119
  luzmoComplete = output({ alias: 'luzmoComplete' });
@@ -221,6 +223,9 @@ export class LuzmoAiChat {
221
223
  case 'modelPreference':
222
224
  this.setHostProperty('modelPreference', changes['modelPreference'].currentValue);
223
225
  break;
226
+ case 'interactions':
227
+ this.setHostProperty('interactions', changes['interactions'].currentValue);
228
+ break;
224
229
  case 'chatSession':
225
230
  this.setHostProperty('chatSession', changes['chatSession'].currentValue);
226
231
  break;
@@ -321,7 +326,7 @@ export class LuzmoAiChat {
321
326
  }));
322
327
  }
323
328
  static ɵfac = function LuzmoAiChat_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoAiChat)(); };
324
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoAiChat, selectors: [["luzmo-ai-chat"]], inputs: { messages: "messages", selectedDatasets: "selectedDatasets", placeholder: "placeholder", disabled: [2, "disabled", "disabled", booleanAttribute], stoppable: [2, "stoppable", "stoppable", booleanAttribute], showAssistantContextMenu: [2, "showAssistantContextMenu", "showAssistantContextMenu", booleanAttribute], showAssistantMessageFeedback: [2, "showAssistantMessageFeedback", "showAssistantMessageFeedback", booleanAttribute], authKey: "authKey", authToken: "authToken", apiUrl: "apiUrl", appServer: "appServer", includePublicDatasets: [2, "includePublicDatasets", "includePublicDatasets", booleanAttribute], flagOpendata: [2, "flagOpendata", "flagOpendata", booleanAttribute], hideDatasetButton: [2, "hideDatasetButton", "hideDatasetButton", booleanAttribute], hideDatasetIcons: [2, "hideDatasetIcons", "hideDatasetIcons", booleanAttribute], disableDatasetModification: [2, "disableDatasetModification", "disableDatasetModification", booleanAttribute], hideSelectedDatasets: [2, "hideSelectedDatasets", "hideSelectedDatasets", booleanAttribute], hideAgents: [2, "hideAgents", "hideAgents", booleanAttribute], disableColumnMentions: [2, "disableColumnMentions", "disableColumnMentions", booleanAttribute], requireDataset: [2, "requireDataset", "requireDataset", booleanAttribute], allowImages: [2, "allowImages", "allowImages", booleanAttribute], allowVoiceInput: [2, "allowVoiceInput", "allowVoiceInput", booleanAttribute], acceptedFileTypes: "acceptedFileTypes", uploadAttachments: "uploadAttachments", agent: "agent", agentConfig: "agentConfig", agentId: "agentId", task: "task", modelPreference: "modelPreference", chatSession: "chatSession", conversationId: "conversationId", chart: "chart", dashboard: "dashboard", customItem: "customItem", currentScreenMode: "currentScreenMode", localeId: "localeId", timezoneId: "timezoneId", apiVersion: "apiVersion", stream: [2, "stream", "stream", booleanAttribute], loadingMessage: "loadingMessage", cancelledMessage: "cancelledMessage", initialPrompt: "initialPrompt", emptyStateTitle: "emptyStateTitle", emptyStateSubtitle: "emptyStateSubtitle", emptyStateSuggestions: "emptyStateSuggestions", size: "size" }, outputs: { luzmoMessageSent: "luzmoMessageSent", luzmoDatasetsChanged: "luzmoDatasetsChanged", luzmoStep: "luzmoStep", luzmoComplete: "luzmoComplete", luzmoStop: "luzmoStop", luzmoConversationIdChanged: "luzmoConversationIdChanged", luzmoAssistantMessageAction: "luzmoAssistantMessageAction", luzmoAssistantMessageFeedback: "luzmoAssistantMessageFeedback" }, exportAs: ["luzmoAiChat"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoAiChat_Template(rf, ctx) { if (rf & 1) {
329
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoAiChat, selectors: [["luzmo-ai-chat"]], inputs: { messages: "messages", selectedDatasets: "selectedDatasets", placeholder: "placeholder", disabled: [2, "disabled", "disabled", booleanAttribute], stoppable: [2, "stoppable", "stoppable", booleanAttribute], showAssistantContextMenu: [2, "showAssistantContextMenu", "showAssistantContextMenu", booleanAttribute], showAssistantMessageFeedback: [2, "showAssistantMessageFeedback", "showAssistantMessageFeedback", booleanAttribute], authKey: "authKey", authToken: "authToken", apiUrl: "apiUrl", appServer: "appServer", includePublicDatasets: [2, "includePublicDatasets", "includePublicDatasets", booleanAttribute], flagOpendata: [2, "flagOpendata", "flagOpendata", booleanAttribute], hideDatasetButton: [2, "hideDatasetButton", "hideDatasetButton", booleanAttribute], hideDatasetIcons: [2, "hideDatasetIcons", "hideDatasetIcons", booleanAttribute], disableDatasetModification: [2, "disableDatasetModification", "disableDatasetModification", booleanAttribute], hideSelectedDatasets: [2, "hideSelectedDatasets", "hideSelectedDatasets", booleanAttribute], hideAgents: [2, "hideAgents", "hideAgents", booleanAttribute], disableColumnMentions: [2, "disableColumnMentions", "disableColumnMentions", booleanAttribute], requireDataset: [2, "requireDataset", "requireDataset", booleanAttribute], allowImages: [2, "allowImages", "allowImages", booleanAttribute], allowVoiceInput: [2, "allowVoiceInput", "allowVoiceInput", booleanAttribute], acceptedFileTypes: "acceptedFileTypes", uploadAttachments: "uploadAttachments", agent: "agent", agentConfig: "agentConfig", agentId: "agentId", task: "task", modelPreference: "modelPreference", interactions: "interactions", chatSession: "chatSession", conversationId: "conversationId", chart: "chart", dashboard: "dashboard", customItem: "customItem", currentScreenMode: "currentScreenMode", localeId: "localeId", timezoneId: "timezoneId", apiVersion: "apiVersion", stream: [2, "stream", "stream", booleanAttribute], loadingMessage: "loadingMessage", cancelledMessage: "cancelledMessage", initialPrompt: "initialPrompt", emptyStateTitle: "emptyStateTitle", emptyStateSubtitle: "emptyStateSubtitle", emptyStateSuggestions: "emptyStateSuggestions", size: "size" }, outputs: { luzmoMessageSent: "luzmoMessageSent", luzmoDatasetsChanged: "luzmoDatasetsChanged", luzmoStep: "luzmoStep", luzmoComplete: "luzmoComplete", luzmoStop: "luzmoStop", luzmoConversationIdChanged: "luzmoConversationIdChanged", luzmoAssistantMessageAction: "luzmoAssistantMessageAction", luzmoAssistantMessageFeedback: "luzmoAssistantMessageFeedback" }, exportAs: ["luzmoAiChat"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoAiChat_Template(rf, ctx) { if (rf & 1) {
325
330
  i0.ɵɵprojectionDef();
326
331
  i0.ɵɵprojection(0);
327
332
  } }, encapsulation: 2 });
@@ -422,6 +427,9 @@ export class LuzmoAiChat {
422
427
  }], modelPreference: [{
423
428
  type: Input,
424
429
  args: [{ alias: 'modelPreference' }]
430
+ }], interactions: [{
431
+ type: Input,
432
+ args: [{ alias: 'interactions' }]
425
433
  }], chatSession: [{
426
434
  type: Input,
427
435
  args: [{ alias: 'chatSession' }]
@@ -2,7 +2,7 @@ import { OnChanges, SimpleChanges } from '@angular/core';
2
2
  import '@luzmo/analytics-components-kit/display-settings-period-over-period';
3
3
  import type { LuzmoDisplaySettingsPeriodOverPeriod as LuzmoDisplaySettingsPeriodOverPeriodHostElement, DisplaySettingsSlotContentChangedEventDetail } from '@luzmo/analytics-components-kit/display-settings-period-over-period';
4
4
  import type { PeriodOverPeriodCondition } from '@luzmo/analytics-components-kit/types';
5
- import type { Column } from '@luzmo/dashboard-contents-types';
5
+ import type { Column, VizItemSlot, VizItemType } from '@luzmo/dashboard-contents-types';
6
6
  import * as i0 from "@angular/core";
7
7
  export type { DisplaySettingsSlotContentChangedEventDetail } from '@luzmo/analytics-components-kit/display-settings-period-over-period';
8
8
  export declare class LuzmoDisplaySettingsPeriodOverPeriod implements OnChanges {
@@ -13,13 +13,19 @@ export declare class LuzmoDisplaySettingsPeriodOverPeriod implements OnChanges {
13
13
  private readonly listenerCleanup;
14
14
  /** The underlying custom element instance. Use to call imperative methods. */
15
15
  get nativeElement(): LuzmoDisplaySettingsPeriodOverPeriodHostElement;
16
+ /** Full saved slots for deriving comparison levels and implicit datetime offsets. */
17
+ slotsContents?: VizItemSlot[];
18
+ /** Visualization type used to interpret comparison slot context. */
19
+ itemType?: VizItemType;
20
+ /** Whether a comparison filter currently applies to this item. Runtime only; never saved in slot contents. */
21
+ hasConnectedComparisonFilter?: boolean;
16
22
  /** The slotContent that is passed to the settings */
17
23
  slotContent?: any;
18
- /** Which period-over-period UI variant to render, based on available datetime columns and comparison filters. */
24
+ /** Optional UI variant supplied by a parent. When absent, derive it from runtime slot and filter context. */
19
25
  periodOverPeriodUiType?: PeriodOverPeriodCondition;
20
- /** 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. */
26
+ /** 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. */
21
27
  allowPeriodsWithoutDatetimeColumn?: boolean;
22
- /** Hide the "Past value" comparison type, e.g. for items that only show the change. */
28
+ /** Hide the "Past value" comparison type. Defaults to true for KPIs, false otherwise; explicit booleans override the default. */
23
29
  hidePastValue?: boolean;
24
30
  /** Datetime columns from the linked dataset available as offset/comparison date columns. */
25
31
  linkedDatasetDatetimeColumns?: (Column & {
@@ -42,7 +48,8 @@ export declare class LuzmoDisplaySettingsPeriodOverPeriod implements OnChanges {
42
48
  private setHostProperty;
43
49
  private bindEvents;
44
50
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoDisplaySettingsPeriodOverPeriod, never>;
45
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoDisplaySettingsPeriodOverPeriod, "luzmo-display-settings-period-over-period", ["luzmoDisplaySettingsPeriodOverPeriod"], { "slotContent": { "alias": "slotContent"; "required": false; }; "periodOverPeriodUiType": { "alias": "periodOverPeriodType"; "required": false; }; "allowPeriodsWithoutDatetimeColumn": { "alias": "allowPeriodsWithoutDatetimeColumn"; "required": false; }; "hidePastValue": { "alias": "hidePastValue"; "required": false; }; "linkedDatasetDatetimeColumns": { "alias": "linkedDatasetDatetimeColumns"; "required": false; }; "language": { "alias": "language"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoSlotContentChanged": "luzmoSlotContentChanged"; }, never, ["*"], true, never>;
51
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoDisplaySettingsPeriodOverPeriod, "luzmo-display-settings-period-over-period", ["luzmoDisplaySettingsPeriodOverPeriod"], { "slotsContents": { "alias": "slotsContents"; "required": false; }; "itemType": { "alias": "itemType"; "required": false; }; "hasConnectedComparisonFilter": { "alias": "hasConnectedComparisonFilter"; "required": false; }; "slotContent": { "alias": "slotContent"; "required": false; }; "periodOverPeriodUiType": { "alias": "periodOverPeriodType"; "required": false; }; "allowPeriodsWithoutDatetimeColumn": { "alias": "allowPeriodsWithoutDatetimeColumn"; "required": false; }; "hidePastValue": { "alias": "hidePastValue"; "required": false; }; "linkedDatasetDatetimeColumns": { "alias": "linkedDatasetDatetimeColumns"; "required": false; }; "language": { "alias": "language"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoSlotContentChanged": "luzmoSlotContentChanged"; }, never, ["*"], true, never>;
52
+ static ngAcceptInputType_hasConnectedComparisonFilter: unknown;
46
53
  static ngAcceptInputType_allowPeriodsWithoutDatetimeColumn: unknown;
47
54
  static ngAcceptInputType_hidePastValue: unknown;
48
55
  }