@luzmo/analytics-components-kit 1.0.8-beta.1 → 1.0.8-beta.2

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 (516) hide show
  1. package/README.md +14 -1
  2. package/components/ai-chat/index.cjs +1 -1
  3. package/components/ai-chat/index.js +2 -2
  4. package/components/{ai-chat-Bo0ELL9Z.cjs → ai-chat-D1Rzwdxy.cjs} +1 -1
  5. package/components/{ai-chat-hOxsY5sO.js → ai-chat-Dy_utMXO.js} +1 -1
  6. package/components/ai-interaction-textarea/index.cjs +1 -1
  7. package/components/ai-interaction-textarea/index.js +1 -1
  8. package/components/{ai-interaction-textarea-DvILxmFe.cjs → ai-interaction-textarea-CJO50_1F.cjs} +1 -1
  9. package/components/{ai-interaction-textarea-r77TFOk6.js → ai-interaction-textarea-DMT8RNUP.js} +2 -2
  10. package/components/{area-chart-positioning.config-BqKl3pFu.cjs → area-chart-positioning.config-BstzDLRL.cjs} +1 -1
  11. package/components/{area-chart-positioning.config-Br2P8CiM.js → area-chart-positioning.config-DeMlkQZO.js} +1 -1
  12. package/components/{bar-chart-positioning.config-BIIRV0eK.js → bar-chart-positioning.config-Cw4xXpaU.js} +1 -1
  13. package/components/{bar-chart-positioning.config-CuZ6-d9P.cjs → bar-chart-positioning.config-DDKGGZhU.cjs} +1 -1
  14. package/components/{base-store-DmDe0dTU.js → base-store-BhGpnbqi.js} +0 -8
  15. package/components/{base-store-DHC2m2Os.cjs → base-store-D5cDq6d4.cjs} +1 -1
  16. package/components/{box-plot-positioning.config-AHLRC1d-.js → box-plot-positioning.config-BQf8CX15.js} +1 -1
  17. package/components/{box-plot-positioning.config-DAYgLURB.cjs → box-plot-positioning.config-Cni8SYCB.cjs} +1 -1
  18. package/components/{bubble-chart-positioning.config-0rqhisQ0.cjs → bubble-chart-positioning.config-1Q2GxFJ4.cjs} +1 -1
  19. package/components/{bubble-chart-positioning.config-55OuqSo_.js → bubble-chart-positioning.config-BYeXJRKW.js} +1 -1
  20. package/components/{bullet-chart-positioning.config-CIkbLbi3.js → bullet-chart-positioning.config-D-fuuO8D.js} +1 -1
  21. package/components/{bullet-chart-positioning.config-COKnJxPm.cjs → bullet-chart-positioning.config-NSHvsWAf.cjs} +1 -1
  22. package/components/{choropleth-map-positioning.config-C9QGy6XL.js → choropleth-map-positioning.config-Bk2lcbUF.js} +1 -1
  23. package/components/{choropleth-map-positioning.config-0EBrFMj-.cjs → choropleth-map-positioning.config-DZCuGwit.cjs} +1 -1
  24. package/components/{circle-pack-chart-positioning.config-BtQ9KsU9.cjs → circle-pack-chart-positioning.config-CuESD4oH.cjs} +1 -1
  25. package/components/{circle-pack-chart-positioning.config-vl4eZHhs.js → circle-pack-chart-positioning.config-pvlFSoeh.js} +1 -1
  26. package/components/{circular-gauge-positioning.config-B-65zgBL.js → circular-gauge-positioning.config-BI5_9VzK.js} +1 -1
  27. package/components/{circular-gauge-positioning.config-BjDwC0zc.cjs → circular-gauge-positioning.config-DIYxTFVO.cjs} +1 -1
  28. package/components/{column-chart-positioning.config-CDISLkz9.js → column-chart-positioning.config-CoekgrWc.js} +1 -1
  29. package/components/{column-chart-positioning.config-hIAFqQkL.cjs → column-chart-positioning.config-F5liDplz.cjs} +1 -1
  30. package/components/{combination-chart-positioning.config-CFo18WDh.cjs → combination-chart-positioning.config-BIqhiqPc.cjs} +1 -1
  31. package/components/{combination-chart-positioning.config-C0immu_Z.js → combination-chart-positioning.config-gfmXofUL.js} +1 -1
  32. package/components/{conditional-number-positioning.config-Bw0gHZ2o.cjs → conditional-number-positioning.config-7xN8yNaC.cjs} +1 -1
  33. package/components/{conditional-number-positioning.config-BfOZxdI3.js → conditional-number-positioning.config-DoA_qMvA.js} +1 -1
  34. package/components/{data-broker-Bdv5V8Yp.js → data-broker-B0uUO5er.js} +4 -0
  35. package/components/{data-broker-DWEXs6-2.cjs → data-broker-CyMYR6w1.cjs} +1 -1
  36. package/components/data-field-panel/index.cjs +1 -1
  37. package/components/data-field-panel/index.js +1 -1
  38. package/components/{data-field-panel-bka3sr4V.cjs → data-field-panel-B9aYsBfe.cjs} +1 -1
  39. package/components/{data-field-panel-Y8MKxsTL.js → data-field-panel-COHppDw6.js} +2 -2
  40. package/components/data-fields-select/index.cjs +1 -1
  41. package/components/data-fields-select/index.js +1 -1
  42. package/components/data-fields-select-BMDWXAMz.cjs +41 -0
  43. package/components/{data-fields-select-2P9sGs_9.js → data-fields-select-CvdABHum.js} +1 -1
  44. package/components/dataset-selector-list/index.cjs +1 -1
  45. package/components/dataset-selector-list/index.js +1 -1
  46. package/components/{dataset-selector-list-DhiiMGU8.cjs → dataset-selector-list-CekhYtbU.cjs} +1 -1
  47. package/components/{dataset-selector-list-qeYvQkeD.js → dataset-selector-list-yU9o-gBK.js} +1 -1
  48. package/components/dataset-selector-row/index.cjs +1 -1
  49. package/components/dataset-selector-row/index.js +1 -1
  50. package/components/{dataset-selector-row-Cau2IKg2.cjs → dataset-selector-row-Cte3skmf.cjs} +1 -1
  51. package/components/{dataset-selector-row-C8_Hnlp5.js → dataset-selector-row-eb2fUxMB.js} +1 -1
  52. package/components/display-settings/index.cjs +1 -1
  53. package/components/display-settings/index.js +1 -1
  54. package/components/{display-settings-C088VTeJ.cjs → display-settings-B_sY5MXH.cjs} +1 -1
  55. package/components/{display-settings-BShiJjYL.js → display-settings-DpPSk_da.js} +1 -1
  56. package/components/{donut-chart-positioning.config-BPY9_d1a.js → donut-chart-positioning.config-B-CWvQDP.js} +1 -1
  57. package/components/{donut-chart-positioning.config-D1CzQ5Xn.cjs → donut-chart-positioning.config-DsHR-HET.cjs} +1 -1
  58. package/components/{evolution-number-positioning.config-DLO4M9Cs.cjs → evolution-number-positioning.config-DWJlecZ8.cjs} +1 -1
  59. package/components/{evolution-number-positioning.config-Cylb9kiq.js → evolution-number-positioning.config-DogBtixy.js} +1 -1
  60. package/components/filter-expression-picker/index.cjs +1 -1
  61. package/components/filter-expression-picker/index.js +1 -1
  62. package/components/{filter-expression-picker-CGgLtygy.cjs → filter-expression-picker-Dtd04YHa.cjs} +1 -1
  63. package/components/{filter-expression-picker-DC_fSNw3.js → filter-expression-picker-vZcmpdhp.js} +1 -1
  64. package/components/filter-item/filter-item.d.ts +4 -0
  65. package/components/filter-item/index.cjs +1 -1
  66. package/components/filter-item/index.js +1 -1
  67. package/components/{filter-item-xi4ViBw6.js → filter-item-DhWm1nZ2.js} +26 -11
  68. package/components/filter-item-QGXrunyl.cjs +71 -0
  69. package/components/filter-value-picker/index.cjs +1 -1
  70. package/components/filter-value-picker/index.js +1 -1
  71. package/components/{filter-value-picker-CaMy7sgw.js → filter-value-picker-DL-XI9zN.js} +3 -3
  72. package/components/{filter-value-picker-BhZ1btu2.cjs → filter-value-picker-DUPgUphE.cjs} +1 -1
  73. package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +2 -1
  74. package/components/filter-value-picker-datetime/index.cjs +1 -1
  75. package/components/filter-value-picker-datetime/index.js +1 -1
  76. package/components/{filter-value-picker-datetime-DeXo9m9J.cjs → filter-value-picker-datetime-BYosmOVo.cjs} +1 -1
  77. package/components/{filter-value-picker-datetime-swmPuya2.js → filter-value-picker-datetime-DrtBsmhk.js} +1 -1
  78. package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +16 -0
  79. package/components/filter-value-picker-hierarchy/index.cjs +1 -1
  80. package/components/filter-value-picker-hierarchy/index.js +1 -1
  81. package/components/filter-value-picker-hierarchy-Co7tEAF0.cjs +48 -0
  82. package/components/{filter-value-picker-hierarchy-CUrCfFBg.js → filter-value-picker-hierarchy-D9HPNjXi.js} +119 -52
  83. package/components/filter-value-picker-numeric/index.cjs +1 -1
  84. package/components/filter-value-picker-numeric/index.js +1 -1
  85. package/components/{filter-value-picker-numeric-LHFsFwHY.cjs → filter-value-picker-numeric-BCaSriJT.cjs} +1 -1
  86. package/components/{filter-value-picker-numeric-_7THOfQ3.js → filter-value-picker-numeric-CLRBOcom.js} +2 -2
  87. package/components/filters/index.cjs +1 -1
  88. package/components/filters/index.js +1 -1
  89. package/components/filters-DPh6G5_6.cjs +153 -0
  90. package/components/{filters-CGlwSB1c.js → filters-hIID3Ol5.js} +172 -169
  91. package/components/formula/index.cjs +1 -1
  92. package/components/formula/index.js +1 -1
  93. package/components/{formula-Cs6dyuWv.js → formula-D6fZk242.js} +2 -2
  94. package/components/{formula-fK-POHy0.cjs → formula-DJa0m0vt.cjs} +1 -1
  95. package/components/{formula-codemirror-DQjUbRXS.js → formula-codemirror-CS38irmY.js} +2 -2
  96. package/components/{formula-codemirror-DWNgYsVG.cjs → formula-codemirror-ClMjdWte.cjs} +1 -1
  97. package/components/{formula-display-store-B7NE3yk2.js → formula-display-store-BVCcrqMB.js} +2 -2
  98. package/components/{formula-display-store-CIaihdJt.cjs → formula-display-store-riWDbPmO.cjs} +1 -1
  99. package/components/formula-editor/index.cjs +1 -1
  100. package/components/formula-editor/index.js +3 -3
  101. package/components/{formula-editor-RrAmSugR.js → formula-editor-C63ifj9i.js} +4 -4
  102. package/components/{formula-editor-DHau0kyj.cjs → formula-editor-KuJjGn6h.cjs} +1 -1
  103. package/components/formula-field/index.cjs +1 -1
  104. package/components/formula-field/index.js +1 -1
  105. package/components/{formula-field-YNbqmroG.cjs → formula-field-BIseRR26.cjs} +1 -1
  106. package/components/{formula-field-BU-tU8RC.js → formula-field-CZu-WBKI.js} +1 -1
  107. package/components/{formula-input-base-DbJu89ug.cjs → formula-input-base-B1D56Klw.cjs} +1 -1
  108. package/components/{formula-input-base-BL7QCVYc.js → formula-input-base-DhhV4mbQ.js} +1 -1
  109. package/components/{funnel-chart-positioning.config-si2pX2gx.js → funnel-chart-positioning.config-D7871iXX.js} +1 -1
  110. package/components/{funnel-chart-positioning.config-BBNWT_VE.cjs → funnel-chart-positioning.config-DswPJ8VG.cjs} +1 -1
  111. package/components/{groupings-Xmt8wNT9.js → groupings-BwzDflId.js} +1 -1
  112. package/components/{groupings-4QHaRJAm.cjs → groupings-Dt2yC9fH.cjs} +1 -1
  113. package/components/{heat-map-positioning.config-DI5FunDJ.cjs → heat-map-positioning.config-C9xyxr1p.cjs} +1 -1
  114. package/components/{heat-map-positioning.config-DOlrArXK.js → heat-map-positioning.config-sZTsAUnf.js} +1 -1
  115. package/components/{heat-table-positioning.config-iu4AP8qY.cjs → heat-table-positioning.config-B5XgRMIn.cjs} +1 -1
  116. package/components/{heat-table-positioning.config-COaenQ4o.js → heat-table-positioning.config-DSsD8apM.js} +1 -1
  117. package/components/{hexbin-map-positioning.config-BhuH9uzL.js → hexbin-map-positioning.config-Dc9wAdAv.js} +1 -1
  118. package/components/{marker-map-positioning.config-Bt-iQQTT.cjs → hexbin-map-positioning.config-Dq2TuFz1.cjs} +1 -1
  119. package/components/index.cjs +1 -1
  120. package/components/index.js +38 -38
  121. package/components/interactive-viz-item/index.cjs +1 -1
  122. package/components/interactive-viz-item/index.js +1 -1
  123. package/components/{interactive-viz-item-Ckksv6BC.cjs → interactive-viz-item-Bn9IhEvD.cjs} +1 -1
  124. package/components/{interactive-viz-item-diknEJmH.js → interactive-viz-item-CXHq9Csp.js} +3 -3
  125. package/components/item-grid/index.cjs +1 -1
  126. package/components/item-grid/index.js +1 -1
  127. package/components/{item-grid-Dv_KLkHv.cjs → item-grid-B8tT6ztQ.cjs} +2 -2
  128. package/components/{item-grid-BxeW2lFX.js → item-grid-D7b0blK6.js} +47 -47
  129. package/components/item-option/index.cjs +1 -1
  130. package/components/item-option/index.js +1 -1
  131. package/components/{item-option-n8o2amMX.js → item-option-Dc4GNRMW.js} +120 -126
  132. package/components/item-option-dwknAAj9.cjs +269 -0
  133. package/components/item-option-panel/index.cjs +1 -1
  134. package/components/item-option-panel/index.js +1 -1
  135. package/components/{item-option-panel-h1z2MCbr.js → item-option-panel-DIU-3auc.js} +1 -1
  136. package/components/{item-option-panel-m9BDbDRw.cjs → item-option-panel-Dv6v7RzM.cjs} +1 -1
  137. package/components/item-slot-drop/index.cjs +1 -1
  138. package/components/item-slot-drop/index.js +1 -1
  139. package/components/{item-slot-drop-iXidsCW1.js → item-slot-drop-BL7DOudd.js} +12 -12
  140. package/components/{item-slot-drop-CViqm_N2.cjs → item-slot-drop-Ds06u_vn.cjs} +1 -1
  141. package/components/item-slot-drop-panel/index.cjs +1 -1
  142. package/components/item-slot-drop-panel/index.js +1 -1
  143. package/components/{item-slot-drop-panel-BjOPdyYH.cjs → item-slot-drop-panel-D_EFyM9J.cjs} +1 -1
  144. package/components/{item-slot-drop-panel-DwNCcxm1.js → item-slot-drop-panel-DkHylw7i.js} +37 -37
  145. package/components/item-slot-picker/index.cjs +1 -1
  146. package/components/item-slot-picker/index.js +1 -1
  147. package/components/{item-slot-picker-D8e1NtDd.cjs → item-slot-picker-BbpPIoIq.cjs} +3 -3
  148. package/components/{item-slot-picker-DpnpGTvR.js → item-slot-picker-CywUgvNX.js} +15 -15
  149. package/components/item-slot-picker-panel/index.cjs +1 -1
  150. package/components/item-slot-picker-panel/index.js +1 -1
  151. package/components/{item-slot-picker-panel-l53YLi4e.js → item-slot-picker-panel-Bi8xZaYc.js} +2 -2
  152. package/components/{item-slot-picker-panel-DyP6Uls5.cjs → item-slot-picker-panel-DQLwQXdI.cjs} +1 -1
  153. package/components/{line-chart-positioning.config-BAt_nsVA.cjs → line-chart-positioning.config-CCsZMpp-.cjs} +1 -1
  154. package/components/{line-chart-positioning.config-A4TQKtrY.js → line-chart-positioning.config-q_XJiQBO.js} +1 -1
  155. package/components/{load-data-fields-for-datasets-BNnr8x3m.js → load-data-fields-for-datasets-B3XcFFfg.js} +1 -1
  156. package/components/{load-data-fields-for-datasets-CW4Voiex.cjs → load-data-fields-for-datasets-rL24A68g.cjs} +1 -1
  157. package/components/{hexbin-map-positioning.config-CZGNbr60.cjs → marker-map-positioning.config-B4GDDPUn.cjs} +1 -1
  158. package/components/{marker-map-positioning.config-B-EQ3Kdq.js → marker-map-positioning.config-qEo6YbOG.js} +1 -1
  159. package/components/{ohlc-chart-positioning.config-Shmm9MJf.js → ohlc-chart-positioning.config-CU7qaa8y.js} +1 -1
  160. package/components/{ohlc-chart-positioning.config-COj7yt6H.cjs → ohlc-chart-positioning.config-TquTA1gZ.cjs} +1 -1
  161. package/components/{parallel-coordinates-plot-positioning.config-ClvpDIFu.cjs → parallel-coordinates-plot-positioning.config-C8_F3uzs.cjs} +1 -1
  162. package/components/{parallel-coordinates-plot-positioning.config-C05rBaKD.js → parallel-coordinates-plot-positioning.config-DuQWnPKv.js} +1 -1
  163. package/components/{pivot-table-positioning.config-BGlPvMyz.js → pivot-table-positioning.config-B6ra1dbJ.js} +1 -1
  164. package/components/{pivot-table-positioning.config-CDJ5gAfT.cjs → pivot-table-positioning.config-DhtDGn-Z.cjs} +1 -1
  165. package/components/{pyramid-chart-positioning.config-DvhVY2uQ.cjs → pyramid-chart-positioning.config-5bWhJBP_.cjs} +1 -1
  166. package/components/{pyramid-chart-positioning.config-BcqgH441.js → pyramid-chart-positioning.config-C_KASxlG.js} +1 -1
  167. package/components/{radar-chart-positioning.config-COMI8Da1.cjs → radar-chart-positioning.config-D2NVgsg1.cjs} +1 -1
  168. package/components/{radar-chart-positioning.config-C9tXOa0G.js → radar-chart-positioning.config-l6ioKbxT.js} +1 -1
  169. package/components/{route-map-positioning.config-Bi8-Dmc4.cjs → route-map-positioning.config-5Xju6VM-.cjs} +1 -1
  170. package/components/{route-map-positioning.config-BUIlsZig.js → route-map-positioning.config-HDuhd3TI.js} +1 -1
  171. package/components/{sankey-diagram-positioning.config-DUAsNKP9.js → sankey-diagram-positioning.config-BKeksOQ2.js} +1 -1
  172. package/components/{sankey-diagram-positioning.config-DgZpfj7d.cjs → sankey-diagram-positioning.config-BXseVUED.cjs} +1 -1
  173. package/components/{scatter-plot-positioning.config-8c9ToDBN.cjs → scatter-plot-positioning.config-Ci_UFZZ7.cjs} +1 -1
  174. package/components/{scatter-plot-positioning.config-D6dyNojk.js → scatter-plot-positioning.config-MFGPELRh.js} +1 -1
  175. package/components/set-nested-value-B-4IelRl.cjs +20 -0
  176. package/components/set-nested-value-V1TdquO3.js +33 -0
  177. package/components/{slicer-filter-positioning.config-CqPOeeeg.cjs → slicer-filter-positioning.config-C2w10p-X.cjs} +1 -1
  178. package/components/{slicer-filter-positioning.config-BnxE_Ac2.js → slicer-filter-positioning.config-CKyzt_nF.js} +1 -1
  179. package/components/slot-menu/index.cjs +1 -1
  180. package/components/slot-menu/index.js +1 -1
  181. package/components/slot-menu-7Lsnn5mp.cjs +71 -0
  182. package/components/{slot-menu-BsaFfMfl.js → slot-menu-JcmVjv2g.js} +15 -12
  183. package/components/{speedometer-chart-positioning.config-B6ydcNl1.js → speedometer-chart-positioning.config-BEWibjyH.js} +1 -1
  184. package/components/{speedometer-chart-positioning.config-CWVs9wdL.cjs → speedometer-chart-positioning.config-Df5CIOwp.cjs} +1 -1
  185. package/components/{spike-map-positioning.config-CzTPhLvN.cjs → spike-map-positioning.config-C6aRn7nn.cjs} +1 -1
  186. package/components/{spike-map-positioning.config-BUDKv3D-.js → spike-map-positioning.config-CdT1dVMG.js} +1 -1
  187. package/components/{strip-plot-positioning.config-d8qB2u-P.js → strip-plot-positioning.config-B8vN0A44.js} +1 -1
  188. package/components/{strip-plot-positioning.config-C6-0AgIF.cjs → strip-plot-positioning.config-DXJci5zk.cjs} +1 -1
  189. package/components/{sunburst-chart-positioning.config-DcYT58kl.js → sunburst-chart-positioning.config-D-qWT3sC.js} +1 -1
  190. package/components/{sunburst-chart-positioning.config-D_APT9mf.cjs → sunburst-chart-positioning.config-XfxGkqp6.cjs} +1 -1
  191. package/components/{symbol-map-positioning.config-CWkkURYU.cjs → symbol-map-positioning.config-BB8-Feba.cjs} +1 -1
  192. package/components/{symbol-map-positioning.config-D12TczYa.js → symbol-map-positioning.config-CAC8XCec.js} +1 -1
  193. package/components/{treemap-chart-positioning.config-BmxLpNn2.js → treemap-chart-positioning.config-CJKe5rf1.js} +1 -1
  194. package/components/{treemap-chart-positioning.config-BS-BO3sD.cjs → treemap-chart-positioning.config-Daf9Kk3k.cjs} +1 -1
  195. package/components/utils/store.cjs +1 -1
  196. package/components/utils/store.js +59 -58
  197. package/components/{utils-DUeh8VMp.js → utils-BMmRy1Nn.js} +1 -1
  198. package/components/{utils-pKA3Rwn3.cjs → utils-D9CBsoMV.cjs} +1 -1
  199. package/components/utils.cjs +1 -1
  200. package/components/utils.js +2 -2
  201. package/components/{venn-diagram-positioning.config-B-4Uoe_o.js → venn-diagram-positioning.config-8pfbiReM.js} +1 -1
  202. package/components/{venn-diagram-positioning.config-D4Zhdh2X.cjs → venn-diagram-positioning.config-DqxSgLGR.cjs} +1 -1
  203. package/components/{wordcloud-chart-positioning.config-DTEauH2w.cjs → wordcloud-chart-positioning.config-Cb7lzr9N.cjs} +1 -1
  204. package/components/{wordcloud-chart-positioning.config-Cr9lzAHP.js → wordcloud-chart-positioning.config-DUazjx5M.js} +1 -1
  205. package/custom-elements.json +21 -1
  206. package/package.json +2 -2
  207. package/react/package.json +2 -2
  208. package/utils/data-broker/index.d.ts +20 -14
  209. package/utils/set-nested-value.d.ts +6 -0
  210. package/utils/store/base-store.d.ts +0 -4
  211. package/angular/README.md +0 -40
  212. package/angular/components/ai-chat-empty-state.ts +0 -98
  213. package/angular/components/ai-chat.ts +0 -412
  214. package/angular/components/ai-interaction-textarea.ts +0 -263
  215. package/angular/components/data-field-level.ts +0 -130
  216. package/angular/components/data-field-panel.ts +0 -256
  217. package/angular/components/data-field.ts +0 -130
  218. package/angular/components/data-fields-select.ts +0 -212
  219. package/angular/components/dataset-icon.ts +0 -83
  220. package/angular/components/dataset-selector-list.ts +0 -140
  221. package/angular/components/dataset-selector-row.ts +0 -157
  222. package/angular/components/display-settings-binning.ts +0 -92
  223. package/angular/components/display-settings-datetime.ts +0 -100
  224. package/angular/components/display-settings-grand-totals.ts +0 -92
  225. package/angular/components/display-settings-numeric.ts +0 -113
  226. package/angular/components/display-settings-period-over-period.ts +0 -107
  227. package/angular/components/display-settings.ts +0 -227
  228. package/angular/components/filter-expression-picker.ts +0 -168
  229. package/angular/components/filter-item.ts +0 -175
  230. package/angular/components/filter-parameter-picker.ts +0 -155
  231. package/angular/components/filter-value-picker-datetime.ts +0 -125
  232. package/angular/components/filter-value-picker-hierarchy.ts +0 -146
  233. package/angular/components/filter-value-picker-numeric.ts +0 -146
  234. package/angular/components/filter-value-picker.ts +0 -160
  235. package/angular/components/filters.ts +0 -209
  236. package/angular/components/formula-editor.ts +0 -229
  237. package/angular/components/formula-field.ts +0 -198
  238. package/angular/components/formula.ts +0 -170
  239. package/angular/components/interactive-viz-item.ts +0 -186
  240. package/angular/components/item-grid-item-actions-menu.ts +0 -113
  241. package/angular/components/item-grid.ts +0 -242
  242. package/angular/components/item-option-action-button-group.ts +0 -105
  243. package/angular/components/item-option-color-palette-picker.ts +0 -126
  244. package/angular/components/item-option-color-picker.ts +0 -134
  245. package/angular/components/item-option-color-range.ts +0 -168
  246. package/angular/components/item-option-guidelines.ts +0 -84
  247. package/angular/components/item-option-multi-language-field.ts +0 -133
  248. package/angular/components/item-option-number-field.ts +0 -161
  249. package/angular/components/item-option-panel.ts +0 -149
  250. package/angular/components/item-option-picker.ts +0 -120
  251. package/angular/components/item-option-position-picker.ts +0 -98
  252. package/angular/components/item-option-positions-number-field.ts +0 -140
  253. package/angular/components/item-option-radio-button-group.ts +0 -119
  254. package/angular/components/item-option-slider.ts +0 -126
  255. package/angular/components/item-option-switch.ts +0 -98
  256. package/angular/components/item-option-text-field.ts +0 -112
  257. package/angular/components/item-option.ts +0 -163
  258. package/angular/components/item-slot-drop-panel.ts +0 -236
  259. package/angular/components/item-slot-drop.ts +0 -231
  260. package/angular/components/item-slot-picker-panel.ts +0 -299
  261. package/angular/components/item-slot-picker.ts +0 -241
  262. package/angular/components/slot-menu-list.ts +0 -121
  263. package/angular/components/slot-menu.ts +0 -304
  264. package/angular/components/viz-item-menu.ts +0 -118
  265. package/angular/esm/components/ai-chat-empty-state.d.ts +0 -39
  266. package/angular/esm/components/ai-chat-empty-state.js +0 -99
  267. package/angular/esm/components/ai-chat.d.ts +0 -137
  268. package/angular/esm/components/ai-chat.js +0 -423
  269. package/angular/esm/components/ai-interaction-textarea.d.ts +0 -99
  270. package/angular/esm/components/ai-interaction-textarea.js +0 -281
  271. package/angular/esm/components/data-field-level.d.ts +0 -50
  272. package/angular/esm/components/data-field-level.js +0 -129
  273. package/angular/esm/components/data-field-panel.d.ts +0 -86
  274. package/angular/esm/components/data-field-panel.js +0 -268
  275. package/angular/esm/components/data-field.d.ts +0 -50
  276. package/angular/esm/components/data-field.js +0 -129
  277. package/angular/esm/components/data-fields-select.d.ts +0 -81
  278. package/angular/esm/components/data-fields-select.js +0 -227
  279. package/angular/esm/components/dataset-icon.d.ts +0 -34
  280. package/angular/esm/components/dataset-icon.js +0 -86
  281. package/angular/esm/components/dataset-selector-list.d.ts +0 -53
  282. package/angular/esm/components/dataset-selector-list.js +0 -147
  283. package/angular/esm/components/dataset-selector-row.d.ts +0 -58
  284. package/angular/esm/components/dataset-selector-row.js +0 -161
  285. package/angular/esm/components/display-settings-binning.d.ts +0 -37
  286. package/angular/esm/components/display-settings-binning.js +0 -91
  287. package/angular/esm/components/display-settings-datetime.d.ts +0 -40
  288. package/angular/esm/components/display-settings-datetime.js +0 -99
  289. package/angular/esm/components/display-settings-grand-totals.d.ts +0 -37
  290. package/angular/esm/components/display-settings-grand-totals.js +0 -91
  291. package/angular/esm/components/display-settings-numeric.d.ts +0 -45
  292. package/angular/esm/components/display-settings-numeric.js +0 -115
  293. package/angular/esm/components/display-settings-period-over-period.d.ts +0 -44
  294. package/angular/esm/components/display-settings-period-over-period.js +0 -107
  295. package/angular/esm/components/display-settings.d.ts +0 -83
  296. package/angular/esm/components/display-settings.js +0 -231
  297. package/angular/esm/components/filter-expression-picker.d.ts +0 -64
  298. package/angular/esm/components/filter-expression-picker.js +0 -179
  299. package/angular/esm/components/filter-item.d.ts +0 -63
  300. package/angular/esm/components/filter-item.js +0 -187
  301. package/angular/esm/components/filter-parameter-picker.d.ts +0 -56
  302. package/angular/esm/components/filter-parameter-picker.js +0 -151
  303. package/angular/esm/components/filter-value-picker-datetime.d.ts +0 -47
  304. package/angular/esm/components/filter-value-picker-datetime.js +0 -131
  305. package/angular/esm/components/filter-value-picker-hierarchy.d.ts +0 -53
  306. package/angular/esm/components/filter-value-picker-hierarchy.js +0 -155
  307. package/angular/esm/components/filter-value-picker-numeric.d.ts +0 -53
  308. package/angular/esm/components/filter-value-picker-numeric.js +0 -155
  309. package/angular/esm/components/filter-value-picker.d.ts +0 -57
  310. package/angular/esm/components/filter-value-picker.js +0 -171
  311. package/angular/esm/components/filters.d.ts +0 -75
  312. package/angular/esm/components/filters.js +0 -215
  313. package/angular/esm/components/formula-editor.d.ts +0 -78
  314. package/angular/esm/components/formula-editor.js +0 -236
  315. package/angular/esm/components/formula-field.d.ts +0 -70
  316. package/angular/esm/components/formula-field.js +0 -209
  317. package/angular/esm/components/formula.d.ts +0 -60
  318. package/angular/esm/components/formula.js +0 -177
  319. package/angular/esm/components/interactive-viz-item.d.ts +0 -63
  320. package/angular/esm/components/interactive-viz-item.js +0 -188
  321. package/angular/esm/components/item-grid-item-actions-menu.d.ts +0 -45
  322. package/angular/esm/components/item-grid-item-actions-menu.js +0 -115
  323. package/angular/esm/components/item-grid.d.ts +0 -80
  324. package/angular/esm/components/item-grid.js +0 -245
  325. package/angular/esm/components/item-option-action-button-group.d.ts +0 -41
  326. package/angular/esm/components/item-option-action-button-group.js +0 -107
  327. package/angular/esm/components/item-option-color-palette-picker.d.ts +0 -48
  328. package/angular/esm/components/item-option-color-palette-picker.js +0 -131
  329. package/angular/esm/components/item-option-color-picker.d.ts +0 -51
  330. package/angular/esm/components/item-option-color-picker.js +0 -139
  331. package/angular/esm/components/item-option-color-range.d.ts +0 -66
  332. package/angular/esm/components/item-option-color-range.js +0 -179
  333. package/angular/esm/components/item-option-guidelines.d.ts +0 -34
  334. package/angular/esm/components/item-option-guidelines.js +0 -83
  335. package/angular/esm/components/item-option-multi-language-field.d.ts +0 -50
  336. package/angular/esm/components/item-option-multi-language-field.js +0 -139
  337. package/angular/esm/components/item-option-number-field.d.ts +0 -58
  338. package/angular/esm/components/item-option-number-field.js +0 -171
  339. package/angular/esm/components/item-option-panel.d.ts +0 -54
  340. package/angular/esm/components/item-option-panel.js +0 -155
  341. package/angular/esm/components/item-option-picker.d.ts +0 -46
  342. package/angular/esm/components/item-option-picker.js +0 -123
  343. package/angular/esm/components/item-option-position-picker.d.ts +0 -39
  344. package/angular/esm/components/item-option-position-picker.js +0 -99
  345. package/angular/esm/components/item-option-positions-number-field.d.ts +0 -54
  346. package/angular/esm/components/item-option-positions-number-field.js +0 -147
  347. package/angular/esm/components/item-option-radio-button-group.d.ts +0 -45
  348. package/angular/esm/components/item-option-radio-button-group.js +0 -123
  349. package/angular/esm/components/item-option-slider.d.ts +0 -46
  350. package/angular/esm/components/item-option-slider.js +0 -131
  351. package/angular/esm/components/item-option-switch.d.ts +0 -40
  352. package/angular/esm/components/item-option-switch.js +0 -99
  353. package/angular/esm/components/item-option-text-field.d.ts +0 -44
  354. package/angular/esm/components/item-option-text-field.js +0 -115
  355. package/angular/esm/components/item-option.d.ts +0 -58
  356. package/angular/esm/components/item-option.js +0 -171
  357. package/angular/esm/components/item-slot-drop-panel.d.ts +0 -82
  358. package/angular/esm/components/item-slot-drop-panel.js +0 -249
  359. package/angular/esm/components/item-slot-drop.d.ts +0 -77
  360. package/angular/esm/components/item-slot-drop.js +0 -227
  361. package/angular/esm/components/item-slot-picker-panel.d.ts +0 -97
  362. package/angular/esm/components/item-slot-picker-panel.js +0 -309
  363. package/angular/esm/components/item-slot-picker.d.ts +0 -86
  364. package/angular/esm/components/item-slot-picker.js +0 -259
  365. package/angular/esm/components/slot-menu-list.d.ts +0 -46
  366. package/angular/esm/components/slot-menu-list.js +0 -123
  367. package/angular/esm/components/slot-menu.d.ts +0 -104
  368. package/angular/esm/components/slot-menu.js +0 -300
  369. package/angular/esm/components/viz-item-menu.d.ts +0 -42
  370. package/angular/esm/components/viz-item-menu.js +0 -111
  371. package/angular/esm/index.d.ts +0 -109
  372. package/angular/esm/index.js +0 -217
  373. package/angular/index.ts +0 -223
  374. package/angular/package.json +0 -40
  375. package/angular/tsconfig.json +0 -36
  376. package/angular/type-fallbacks.d.ts +0 -0
  377. package/angular/utils/ai-prompt/attachments.d.ts +0 -10
  378. package/angular/utils/ai-prompt/dictation.d.ts +0 -50
  379. package/angular/utils/ai-prompt/image-upload.d.ts +0 -12
  380. package/angular/utils/ai-prompt/index.d.ts +0 -6
  381. package/angular/utils/ai-prompt/tests/dictation.test.d.ts +0 -1
  382. package/angular/utils/ai-prompt/tests/image-upload.test.d.ts +0 -1
  383. package/angular/utils/base/base.d.ts +0 -16
  384. package/angular/utils/base/focus-visible.d.ts +0 -29
  385. package/angular/utils/base/focusable.d.ts +0 -58
  386. package/angular/utils/base/index.d.ts +0 -5
  387. package/angular/utils/base/localized-mixin.d.ts +0 -22
  388. package/angular/utils/base/sized-mixin.d.ts +0 -17
  389. package/angular/utils/color/color-palettes.d.ts +0 -17
  390. package/angular/utils/color/extrapolate-color.d.ts +0 -1
  391. package/angular/utils/data/load-data-fields-for-datasets.d.ts +0 -22
  392. package/angular/utils/data-broker/index.d.ts +0 -257
  393. package/angular/utils/data-field-types/calculate-data-field-icon.d.ts +0 -12
  394. package/angular/utils/data-field-types/default-acceptable-data-field-types.d.ts +0 -1
  395. package/angular/utils/data-field-types/tests/calculate-data-field-icon.test.d.ts +0 -1
  396. package/angular/utils/drag/draggable.d.ts +0 -13
  397. package/angular/utils/drag/pragmatic-element-adapter.d.ts +0 -2
  398. package/angular/utils/drag/tests/pragmatic-element-adapter.first-import.test.d.ts +0 -1
  399. package/angular/utils/drag/tests/pragmatic-element-adapter.test.d.ts +0 -1
  400. package/angular/utils/filters/expressions.d.ts +0 -15
  401. package/angular/utils/filters/index.d.ts +0 -1
  402. package/angular/utils/formatter/calculate-duration.d.ts +0 -2
  403. package/angular/utils/formatter/decompose-numeric-format.d.ts +0 -11
  404. package/angular/utils/formatter/default-local-formats.d.ts +0 -20
  405. package/angular/utils/formatter/formats/cs.d.ts +0 -20
  406. package/angular/utils/formatter/formats/da.d.ts +0 -20
  407. package/angular/utils/formatter/formats/de.d.ts +0 -21
  408. package/angular/utils/formatter/formats/en-GB.d.ts +0 -21
  409. package/angular/utils/formatter/formats/en-US.d.ts +0 -1
  410. package/angular/utils/formatter/formats/en.d.ts +0 -1
  411. package/angular/utils/formatter/formats/es.d.ts +0 -54
  412. package/angular/utils/formatter/formats/fi.d.ts +0 -20
  413. package/angular/utils/formatter/formats/fr.d.ts +0 -54
  414. package/angular/utils/formatter/formats/he.d.ts +0 -20
  415. package/angular/utils/formatter/formats/hu.d.ts +0 -20
  416. package/angular/utils/formatter/formats/it.d.ts +0 -54
  417. package/angular/utils/formatter/formats/ja.d.ts +0 -20
  418. package/angular/utils/formatter/formats/ko.d.ts +0 -20
  419. package/angular/utils/formatter/formats/mk.d.ts +0 -20
  420. package/angular/utils/formatter/formats/nl.d.ts +0 -21
  421. package/angular/utils/formatter/formats/no.d.ts +0 -21
  422. package/angular/utils/formatter/formats/pl.d.ts +0 -20
  423. package/angular/utils/formatter/formats/pt.d.ts +0 -20
  424. package/angular/utils/formatter/formats/ru.d.ts +0 -20
  425. package/angular/utils/formatter/formats/sv.d.ts +0 -20
  426. package/angular/utils/formatter/formats/tr.d.ts +0 -21
  427. package/angular/utils/formatter/formats/zh-CN.d.ts +0 -20
  428. package/angular/utils/formatter/formats/zh-TW.d.ts +0 -20
  429. package/angular/utils/formatter/formatter.d.ts +0 -9
  430. package/angular/utils/formatter/get-dataset-name.d.ts +0 -2
  431. package/angular/utils/formatter/localize.d.ts +0 -3
  432. package/angular/utils/formatter/smart-datetime-formats.const.d.ts +0 -36
  433. package/angular/utils/formatter/tests/calculate-duration.test.d.ts +0 -1
  434. package/angular/utils/formatter/tests/decompose-numeric-format.test.d.ts +0 -1
  435. package/angular/utils/formatter/tests/default-local-formats.test.d.ts +0 -1
  436. package/angular/utils/formatter/tests/formatter.test.d.ts +0 -1
  437. package/angular/utils/formatter/tests/localize.test.d.ts +0 -1
  438. package/angular/utils/formula/base/formula-base.d.ts +0 -117
  439. package/angular/utils/formula/base/formula-input-base.d.ts +0 -62
  440. package/angular/utils/formula/codemirror/actions.d.ts +0 -47
  441. package/angular/utils/formula/codemirror/drop-cursor.d.ts +0 -15
  442. package/angular/utils/formula/codemirror/icon-element.d.ts +0 -7
  443. package/angular/utils/formula/codemirror/parser.d.ts +0 -16
  444. package/angular/utils/formula/codemirror/tests/actions.test.d.ts +0 -1
  445. package/angular/utils/formula/codemirror/theme.d.ts +0 -20
  446. package/angular/utils/formula/codemirror/widget.d.ts +0 -18
  447. package/angular/utils/formula/config/aggregations.d.ts +0 -9
  448. package/angular/utils/formula/config/build-datasets.d.ts +0 -10
  449. package/angular/utils/formula/config/expression-helpers.d.ts +0 -42
  450. package/angular/utils/formula/config/functions.d.ts +0 -3
  451. package/angular/utils/formula/config/groupings.d.ts +0 -9
  452. package/angular/utils/formula/config/regex.d.ts +0 -39
  453. package/angular/utils/formula/config/resolve-column-presentation.d.ts +0 -19
  454. package/angular/utils/formula/config/tests/build-datasets.test.d.ts +0 -1
  455. package/angular/utils/formula/config/validate-expression.d.ts +0 -19
  456. package/angular/utils/formula/load-formula-codemirror.d.ts +0 -4
  457. package/angular/utils/formula/render-explanation-tooltip.d.ts +0 -7
  458. package/angular/utils/formula/store/formula-display-store.d.ts +0 -93
  459. package/angular/utils/formula/store/formula-editor-context.d.ts +0 -8
  460. package/angular/utils/formula/store/formula-editor-store.d.ts +0 -46
  461. package/angular/utils/formula/store/tests/formula-editor-store.test.d.ts +0 -1
  462. package/angular/utils/formula/tests/validate-expression.test.d.ts +0 -1
  463. package/angular/utils/get-css-variable.d.ts +0 -1
  464. package/angular/utils/index.d.ts +0 -10
  465. package/angular/utils/localize/set-locale.d.ts +0 -7
  466. package/angular/utils/map-tile-providers/index.d.ts +0 -93
  467. package/angular/utils/slot-content/ad-hoc-slot-content.d.ts +0 -7
  468. package/angular/utils/slot-content/render-calculation-label.d.ts +0 -7
  469. package/angular/utils/slot-content/tests/ad-hoc-slot-content.test.d.ts +0 -1
  470. package/angular/utils/slot-state/slot-context.d.ts +0 -4
  471. package/angular/utils/slot-state/slot-store.d.ts +0 -39
  472. package/angular/utils/store/base-store.d.ts +0 -162
  473. package/angular/utils/store/dashboard-store.d.ts +0 -49
  474. package/angular/utils/store/index.d.ts +0 -135
  475. package/angular/utils/store/item-store.d.ts +0 -33
  476. package/angular/utils/store/store-registry.d.ts +0 -170
  477. package/angular/utils/store/tests/dashboard-store.test.d.ts +0 -1
  478. package/angular/utils/store/tests/item-store.test.d.ts +0 -1
  479. package/angular/utils/store/tests/store-registry.test.d.ts +0 -1
  480. package/angular/utils/store/types.d.ts +0 -270
  481. package/angular/utils/switch-item/index.d.ts +0 -34
  482. package/angular/utils/switch-item/slot-role-classification.d.ts +0 -31
  483. package/angular/utils/switch-item/stories/switch-item.stories.d.ts +0 -17
  484. package/angular/utils/switch-item/tests/slot-role-classification.test.d.ts +0 -1
  485. package/angular/utils/switch-item/tests/switch-item.test.d.ts +0 -1
  486. package/angular/utils/themes/bliss.d.ts +0 -2
  487. package/angular/utils/themes/classic-dark.d.ts +0 -2
  488. package/angular/utils/themes/classic.d.ts +0 -2
  489. package/angular/utils/themes/default-dark.d.ts +0 -2
  490. package/angular/utils/themes/default.d.ts +0 -2
  491. package/angular/utils/themes/index.d.ts +0 -4
  492. package/angular/utils/themes/orion.d.ts +0 -2
  493. package/angular/utils/themes/pinky.d.ts +0 -2
  494. package/angular/utils/themes/radiant.d.ts +0 -2
  495. package/angular/utils/themes/royale.d.ts +0 -2
  496. package/angular/utils/themes/seasonal.d.ts +0 -2
  497. package/angular/utils/themes/urban.d.ts +0 -2
  498. package/angular/utils/themes/vivid.d.ts +0 -2
  499. package/angular/utils/time/formats.const.d.ts +0 -4
  500. package/angular/utils/time/period-over-period-condition.const.d.ts +0 -8
  501. package/angular/utils/time/periods.const.d.ts +0 -15
  502. package/angular/utils/timezone/datetime-timezone.d.ts +0 -25
  503. package/angular/utils/timezone/tests/datetime-timezone.test.d.ts +0 -1
  504. package/angular/utils/transformations/convert-data-field-to-slot-content.d.ts +0 -9
  505. package/angular/utils/transformations/convert-datasets-to-data-fields.d.ts +0 -30
  506. package/angular/utils/transformations/tests/convert-data-field-to-slot-content.test.d.ts +0 -1
  507. package/angular/utils/transformations/tests/convert-datasets-to-data-fields.test.d.ts +0 -1
  508. package/angular/utils/types/tests/type-check.test.d.ts +0 -1
  509. package/angular/utils/types/type-check.d.ts +0 -28
  510. package/components/data-fields-select-CAyr7ju6.cjs +0 -41
  511. package/components/filter-item-DMerwomA.cjs +0 -71
  512. package/components/filter-value-picker-hierarchy-DxluZMYy.cjs +0 -47
  513. package/components/filters-qljuVmv3.cjs +0 -153
  514. package/components/item-option-B8J9IqkK.cjs +0 -269
  515. package/components/slot-menu-11KQJc_U.cjs +0 -71
  516. /package/{angular/utils/ai-prompt/tests/attachments.test.d.ts → utils/tests/set-nested-value.test.d.ts} +0 -0
@@ -1,98 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/ai-chat';
3
- import type { LuzmoAiChatEmptyState as LuzmoAiChatEmptyStateHostElement, AiChatEmptyStateSuggestion, AiChatEmptyStateSuggestionSelectedDetail } from '@luzmo/analytics-components-kit/ai-chat';
4
- export type { AgentStreamDefinition, 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, BuildAiDictationRequestOptions, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail, ProgressTreeNode, PromptBoxAttachment, PromptBoxFileIcons, RecognizedStepEvent, StreamAiDictationOptions, StreamHandlerCallbacks, StreamHandlerContext, StreamHandlerState, StreamingRequestOptions, StreamingResponse, UnknownStepEvent, UploadAiPromptImagesOptions } from '@luzmo/analytics-components-kit/ai-chat';
5
-
6
- @Component({
7
- selector: 'luzmo-ai-chat-empty-state',
8
- exportAs: 'luzmoAiChatEmptyState',
9
- standalone: true,
10
- changeDetection: ChangeDetectionStrategy.OnPush,
11
- template: '<ng-content />'
12
- })
13
- /**
14
- * Angular wrapper component for <luzmo-ai-chat-empty-state>
15
- */
16
- export class LuzmoAiChatEmptyState implements OnChanges {
17
- private readonly elementRef = inject<ElementRef<LuzmoAiChatEmptyStateHostElement>>(ElementRef);
18
- private readonly renderer = inject<Renderer2>(Renderer2);
19
- private readonly destroyRef = inject<DestroyRef>(DestroyRef);
20
- private readonly host = this.elementRef.nativeElement;
21
- private readonly listenerCleanup: Array<() => void> = [];
22
-
23
- /** The underlying custom element instance. Use to call imperative methods. */
24
- get nativeElement(): LuzmoAiChatEmptyStateHostElement {
25
- return this.host;
26
- }
27
-
28
- /** Heading shown above the suggestions. */
29
- @Input({ alias: 'title' })
30
- title?: string;
31
-
32
- /** Supporting text shown above suggestion chips when `suggestions` is non-empty. */
33
- @Input({ alias: 'subtitle' })
34
- subtitle?: string;
35
-
36
- /** Suggestion chips rendered with https://lucero.luzmo.com/ | Lucero `luzmo-action-button` (`variant="accent"`). */
37
- @Input({ alias: 'suggestions' })
38
- suggestions?: AiChatEmptyStateSuggestion[];
39
-
40
- /** When true, suggestion chips cannot be activated. */
41
- @Input({ alias: 'disabled', transform: booleanAttribute })
42
- disabled?: boolean;
43
-
44
- /** Fired when the user selects a suggestion chip */
45
- readonly luzmoSuggestionSelected = output<CustomEvent<AiChatEmptyStateSuggestionSelectedDetail>>({ alias: 'luzmoSuggestionSelected' });
46
-
47
- constructor() {
48
- this.bindEvents();
49
- this.destroyRef.onDestroy(() => {
50
- for (const cleanup of this.listenerCleanup) {
51
- cleanup();
52
- }
53
- });
54
- }
55
-
56
- ngOnChanges(changes: SimpleChanges): void {
57
- for (const key of Object.keys(changes)) {
58
- switch (key) {
59
- case 'title':
60
- this.setHostProperty('title', changes['title'].currentValue);
61
- break;
62
- case 'subtitle':
63
- this.setHostProperty('subtitle', changes['subtitle'].currentValue);
64
- break;
65
- case 'suggestions':
66
- this.setHostProperty('suggestions', changes['suggestions'].currentValue);
67
- break;
68
- case 'disabled':
69
- this.setHostProperty('disabled', changes['disabled'].currentValue);
70
- break;
71
- default:
72
- break;
73
- }
74
- }
75
- }
76
-
77
- /**
78
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
79
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
80
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
81
- * undefined / null by clearing their bindings.
82
- */
83
- private setHostProperty(key: string, value: unknown): void {
84
- this.renderer.setProperty(this.host, key, value);
85
- }
86
-
87
- private bindEvents(): void {
88
- this.listenerCleanup.push(
89
- this.renderer.listen(this.host, 'luzmo-suggestion-selected', (event: Event) => {
90
- const typed = event as CustomEvent<AiChatEmptyStateSuggestionSelectedDetail>;
91
- this.luzmoSuggestionSelected.emit(typed);
92
- })
93
- );
94
- }
95
- }
96
-
97
- /** The underlying custom element type for LuzmoAiChatEmptyState */
98
- export type LuzmoAiChatEmptyStateElement = LuzmoAiChatEmptyStateHostElement;
@@ -1,412 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/ai-chat';
3
- import type { LuzmoAiChat as LuzmoAiChatHostElement, AiChatCompleteEvent, AiChatConversationIdChangedEventDetail, AiChatDatasetsChangedEventDetail, AiChatEmptyStateSuggestion, AiChatMessageSentEventDetail, AiChatSession, AiChatStepEvent, AssistantMessageActionEventDetail } from '@luzmo/analytics-components-kit/ai-chat';
4
- export type { AgentStreamDefinition, 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, BuildAiDictationRequestOptions, 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, AiPromptItemTask, AiPromptScreenMode, DashboardStatePayload } from '@luzmo/analytics-components-kit/ai-chat';
6
- import type { ChatMessage, Dataset, LuzmoChart } from '@luzmo/analytics-components-kit/types';
7
-
8
- @Component({
9
- selector: 'luzmo-ai-chat',
10
- exportAs: 'luzmoAiChat',
11
- standalone: true,
12
- changeDetection: ChangeDetectionStrategy.OnPush,
13
- template: '<ng-content />'
14
- })
15
- /**
16
- * Angular wrapper component for <luzmo-ai-chat>
17
- */
18
- export class LuzmoAiChat implements OnChanges {
19
- private readonly elementRef = inject<ElementRef<LuzmoAiChatHostElement>>(ElementRef);
20
- private readonly renderer = inject<Renderer2>(Renderer2);
21
- private readonly destroyRef = inject<DestroyRef>(DestroyRef);
22
- private readonly host = this.elementRef.nativeElement;
23
- private readonly listenerCleanup: Array<() => void> = [];
24
-
25
- /** The underlying custom element instance. Use to call imperative methods. */
26
- get nativeElement(): LuzmoAiChatHostElement {
27
- return this.host;
28
- }
29
-
30
- /** Live transcript is AiChatSessionState.messages. This prop optionally seeds the session on first connect. */
31
- @Input({ alias: 'messages' })
32
- messages?: ChatMessage[];
33
-
34
- /** Live selection is in the session. This prop optionally seeds on first connect. */
35
- @Input({ alias: 'selectedDatasets' })
36
- selectedDatasets?: Dataset[];
37
-
38
- /** Placeholder text for the textarea */
39
- @Input({ alias: 'placeholder' })
40
- placeholder?: string;
41
-
42
- /** When true, disables the entire chat interface */
43
- @Input({ alias: 'disabled', transform: booleanAttribute })
44
- disabled?: boolean;
45
-
46
- /** When true, shows a stop control on the prompt input while a response is generating */
47
- @Input({ alias: 'stoppable', transform: booleanAttribute })
48
- stoppable?: boolean;
49
-
50
- /** When true, shows context menu (3 dots) on assistant messages */
51
- @Input({ alias: 'showAssistantContextMenu', transform: booleanAttribute })
52
- showAssistantContextMenu?: boolean;
53
-
54
- /** Auth key for DataBroker authentication */
55
- @Input({ alias: 'authKey' })
56
- authKey?: string;
57
-
58
- /** Auth token for DataBroker authentication */
59
- @Input({ alias: 'authToken' })
60
- authToken?: string;
61
-
62
- /** API URL for DataBroker */
63
- @Input({ alias: 'apiUrl' })
64
- apiUrl?: string;
65
-
66
- /** The URL of the app server for thumbnails and assets */
67
- @Input({ alias: 'appServer' })
68
- appServer?: string;
69
-
70
- /** When true, restricts results to public datasets (opendata parity) */
71
- @Input({ alias: 'flagOpendata', transform: booleanAttribute })
72
- flagOpendata?: boolean;
73
-
74
- /** When true, hides the "+ Add dataset" button in the input */
75
- @Input({ alias: 'hideDatasetButton', transform: booleanAttribute })
76
- hideDatasetButton?: boolean;
77
-
78
- /** When true, hides dataset icons in the input dataset selector and @ mention dataset headers */
79
- @Input({ alias: 'hideDatasetIcons', transform: booleanAttribute })
80
- hideDatasetIcons?: boolean;
81
-
82
- /** When true, hides the add-dataset button and disables removing selected datasets while keeping pills visible */
83
- @Input({ alias: 'disableDatasetModification', transform: booleanAttribute })
84
- disableDatasetModification?: boolean;
85
-
86
- /** When true, hides the dataset row and add-dataset button entirely */
87
- @Input({ alias: 'hideSelectedDatasets', transform: booleanAttribute })
88
- hideSelectedDatasets?: boolean;
89
-
90
- /** When true, disables @ trigger mentions for dataset fields in the input */
91
- @Input({ alias: 'disableColumnMentions', transform: booleanAttribute })
92
- disableColumnMentions?: boolean;
93
-
94
- /** When true, at least one dataset must be selected before the prompt can be submitted */
95
- @Input({ alias: 'requireDataset', transform: booleanAttribute })
96
- requireDataset?: boolean;
97
-
98
- /** Enables image attachments (PNG/JPEG/WebP/GIF). */
99
- @Input({ alias: 'allowImages', transform: booleanAttribute })
100
- allowImages?: boolean;
101
-
102
- /** Enables mic dictation; audio is transcribed via `POST /aidictation` and inserted as editable text. */
103
- @Input({ alias: 'allowVoiceInput', transform: booleanAttribute })
104
- allowVoiceInput?: boolean;
105
-
106
- /** Attachment MIME types/extensions. Defaults to PNG/JPEG/WebP/GIF when `allow-images` is set. */
107
- @Input({ alias: 'acceptedFileTypes' })
108
- acceptedFileTypes?: string[];
109
-
110
- /** Optional upload override; otherwise uploads via `POST /upload` on attach. */
111
- @Input({ alias: 'uploadAttachments' })
112
- uploadAttachments?: unknown;
113
-
114
- /** Which aiprompt agent to use. Determines request payload and stream handling. With `agent-id` set it no longer shapes the request payload, only stream handling. */
115
- @Input({ alias: 'agent' })
116
- agent?: AiPromptAgent;
117
-
118
- /** Saved Agent id (UUID) to run the prompt as. */
119
- @Input({ alias: 'agentId' })
120
- agentId?: string;
121
-
122
- /** Task for the item agent (`generate`, `suggest`, `describe`). Ignored when `agent-id` is set. */
123
- @Input({ alias: 'task' })
124
- task?: AiPromptItemTask;
125
-
126
- /** AI model preference for item agent chart generation */
127
- @Input({ alias: 'modelPreference' })
128
- modelPreference?: 'performance' | 'quality';
129
-
130
- /** Host-owned AiChatSession. The component subscribes and renders; does not abort on disconnect. */
131
- @Input({ alias: 'chatSession' })
132
- chatSession?: AiChatSession | null;
133
-
134
- /** Conversation ID (synced into the session; updated when the API returns a new id). */
135
- @Input({ alias: 'conversationId' })
136
- conversationId?: string | null;
137
-
138
- /** Chart context for `agent="item"`. */
139
- @Input({ alias: 'chart' })
140
- chart?: LuzmoChart | null;
141
-
142
- /** Dashboard context for `agent="dashboard"`. */
143
- @Input({ alias: 'dashboard' })
144
- dashboard?: DashboardStatePayload | null;
145
-
146
- /** Current screen mode when editing a dashboard. */
147
- @Input({ alias: 'currentScreenMode' })
148
- currentScreenMode?: AiPromptScreenMode;
149
-
150
- /** Locale ID sent to the aiprompt API. */
151
- @Input({ alias: 'localeId' })
152
- localeId?: string;
153
-
154
- /** Timezone ID for dashboard agent requests. */
155
- @Input({ alias: 'timezoneId' })
156
- timezoneId?: string;
157
-
158
- /** API version */
159
- @Input({ alias: 'apiVersion' })
160
- apiVersion?: string;
161
-
162
- /** When true, uses NDJSON streaming for AI responses. When false, uses a single JSON response. */
163
- @Input({ alias: 'stream', transform: booleanAttribute })
164
- stream?: boolean;
165
-
166
- /** Loading message shown while generating and before progress steps are available. */
167
- @Input({ alias: 'loadingMessage' })
168
- loadingMessage?: string | null;
169
-
170
- /** Message shown in place of the assistant reply when the user stops an in-flight response. Falls back to a localized default when not set. */
171
- @Input({ alias: 'cancelledMessage' })
172
- cancelledMessage?: string | null;
173
-
174
- /** When set, auto-submits via the session without adding a duplicate user message (assumes the prompt is already in the transcript). */
175
- @Input({ alias: 'initialPrompt' })
176
- initialPrompt?: string | null;
177
-
178
- /** Title for the empty state when there are no messages. */
179
- @Input({ alias: 'emptyStateTitle' })
180
- emptyStateTitle?: string;
181
-
182
- /** Optional label above empty-state suggestion chips. Only shown when `emptyStateSuggestions` is non-empty. */
183
- @Input({ alias: 'emptyStateSubtitle' })
184
- emptyStateSubtitle?: string;
185
-
186
- /** Optional suggestion chips for the empty state. When empty, only the title is shown. Each entry may include `selectedDatasets` to pre-select datasets when the chip is activated. */
187
- @Input({ alias: 'emptyStateSuggestions' })
188
- emptyStateSuggestions?: AiChatEmptyStateSuggestion[];
189
-
190
- /** Fired when a user sends a message */
191
- readonly luzmoMessageSent = output<CustomEvent<AiChatMessageSentEventDetail>>({ alias: 'luzmoMessageSent' });
192
-
193
- /** Fired when the selected datasets change */
194
- readonly luzmoDatasetsChanged = output<CustomEvent<AiChatDatasetsChangedEventDetail>>({ alias: 'luzmoDatasetsChanged' });
195
-
196
- /** Fired for every incremental, kit-assembled event during a streamed response (decision, text, progress, dashboard-title/layout/item, chart, interrupt, plus forward-by-default unrecognized chunks). Use `isRecognizedStep` to narrow. */
197
- readonly luzmoStep = output<CustomEvent<AiChatStepEvent>>({ alias: 'luzmoStep' });
198
-
199
- /** Fired exactly once per response with the authoritative final result (dashboard/chart/name) or an `error`. */
200
- readonly luzmoComplete = output<CustomEvent<AiChatCompleteEvent>>({ alias: 'luzmoComplete' });
201
-
202
- /** Fired when an in-flight prompt is stopped Custom actions beyond built-in `ChatMessage.actions` buttons can be projected via the `assistant-message-actions` light-DOM slot on the latest assistant message. */
203
- readonly luzmoStop = output<CustomEvent<void>>({ alias: 'luzmoStop' });
204
-
205
- /** Fired when the conversation ID is updated from the API */
206
- readonly luzmoConversationIdChanged = output<CustomEvent<AiChatConversationIdChangedEventDetail>>({ alias: 'luzmoConversationIdChanged' });
207
-
208
- /** Fired when a built-in assistant message action is activated (after confirmation when `confirm` is set) */
209
- readonly luzmoAssistantMessageAction = output<CustomEvent<AssistantMessageActionEventDetail>>({ alias: 'luzmoAssistantMessageAction' });
210
-
211
- constructor() {
212
- this.bindEvents();
213
- this.destroyRef.onDestroy(() => {
214
- for (const cleanup of this.listenerCleanup) {
215
- cleanup();
216
- }
217
- });
218
- }
219
-
220
- ngOnChanges(changes: SimpleChanges): void {
221
- for (const key of Object.keys(changes)) {
222
- switch (key) {
223
- case 'messages':
224
- this.setHostProperty('messages', changes['messages'].currentValue);
225
- break;
226
- case 'selectedDatasets':
227
- this.setHostProperty('selectedDatasets', changes['selectedDatasets'].currentValue);
228
- break;
229
- case 'placeholder':
230
- this.setHostProperty('placeholder', changes['placeholder'].currentValue);
231
- break;
232
- case 'disabled':
233
- this.setHostProperty('disabled', changes['disabled'].currentValue);
234
- break;
235
- case 'stoppable':
236
- this.setHostProperty('stoppable', changes['stoppable'].currentValue);
237
- break;
238
- case 'showAssistantContextMenu':
239
- this.setHostProperty('showAssistantContextMenu', changes['showAssistantContextMenu'].currentValue);
240
- break;
241
- case 'authKey':
242
- this.setHostProperty('authKey', changes['authKey'].currentValue);
243
- break;
244
- case 'authToken':
245
- this.setHostProperty('authToken', changes['authToken'].currentValue);
246
- break;
247
- case 'apiUrl':
248
- this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
249
- break;
250
- case 'appServer':
251
- this.setHostProperty('appServer', changes['appServer'].currentValue);
252
- break;
253
- case 'flagOpendata':
254
- this.setHostProperty('flagOpendata', changes['flagOpendata'].currentValue);
255
- break;
256
- case 'hideDatasetButton':
257
- this.setHostProperty('hideDatasetButton', changes['hideDatasetButton'].currentValue);
258
- break;
259
- case 'hideDatasetIcons':
260
- this.setHostProperty('hideDatasetIcons', changes['hideDatasetIcons'].currentValue);
261
- break;
262
- case 'disableDatasetModification':
263
- this.setHostProperty('disableDatasetModification', changes['disableDatasetModification'].currentValue);
264
- break;
265
- case 'hideSelectedDatasets':
266
- this.setHostProperty('hideSelectedDatasets', changes['hideSelectedDatasets'].currentValue);
267
- break;
268
- case 'disableColumnMentions':
269
- this.setHostProperty('disableColumnMentions', changes['disableColumnMentions'].currentValue);
270
- break;
271
- case 'requireDataset':
272
- this.setHostProperty('requireDataset', changes['requireDataset'].currentValue);
273
- break;
274
- case 'allowImages':
275
- this.setHostProperty('allowImages', changes['allowImages'].currentValue);
276
- break;
277
- case 'allowVoiceInput':
278
- this.setHostProperty('allowVoiceInput', changes['allowVoiceInput'].currentValue);
279
- break;
280
- case 'acceptedFileTypes':
281
- this.setHostProperty('acceptedFileTypes', changes['acceptedFileTypes'].currentValue);
282
- break;
283
- case 'uploadAttachments':
284
- this.setHostProperty('uploadAttachments', changes['uploadAttachments'].currentValue);
285
- break;
286
- case 'agent':
287
- this.setHostProperty('agent', changes['agent'].currentValue);
288
- break;
289
- case 'agentId':
290
- this.setHostProperty('agentId', changes['agentId'].currentValue);
291
- break;
292
- case 'task':
293
- this.setHostProperty('task', changes['task'].currentValue);
294
- break;
295
- case 'modelPreference':
296
- this.setHostProperty('modelPreference', changes['modelPreference'].currentValue);
297
- break;
298
- case 'chatSession':
299
- this.setHostProperty('chatSession', changes['chatSession'].currentValue);
300
- break;
301
- case 'conversationId':
302
- this.setHostProperty('conversationId', changes['conversationId'].currentValue);
303
- break;
304
- case 'chart':
305
- this.setHostProperty('chart', changes['chart'].currentValue);
306
- break;
307
- case 'dashboard':
308
- this.setHostProperty('dashboard', changes['dashboard'].currentValue);
309
- break;
310
- case 'currentScreenMode':
311
- this.setHostProperty('currentScreenMode', changes['currentScreenMode'].currentValue);
312
- break;
313
- case 'localeId':
314
- this.setHostProperty('localeId', changes['localeId'].currentValue);
315
- break;
316
- case 'timezoneId':
317
- this.setHostProperty('timezoneId', changes['timezoneId'].currentValue);
318
- break;
319
- case 'apiVersion':
320
- this.setHostProperty('apiVersion', changes['apiVersion'].currentValue);
321
- break;
322
- case 'stream':
323
- this.setHostProperty('stream', changes['stream'].currentValue);
324
- break;
325
- case 'loadingMessage':
326
- this.setHostProperty('loadingMessage', changes['loadingMessage'].currentValue);
327
- break;
328
- case 'cancelledMessage':
329
- this.setHostProperty('cancelledMessage', changes['cancelledMessage'].currentValue);
330
- break;
331
- case 'initialPrompt':
332
- this.setHostProperty('initialPrompt', changes['initialPrompt'].currentValue);
333
- break;
334
- case 'emptyStateTitle':
335
- this.setHostProperty('emptyStateTitle', changes['emptyStateTitle'].currentValue);
336
- break;
337
- case 'emptyStateSubtitle':
338
- this.setHostProperty('emptyStateSubtitle', changes['emptyStateSubtitle'].currentValue);
339
- break;
340
- case 'emptyStateSuggestions':
341
- this.setHostProperty('emptyStateSuggestions', changes['emptyStateSuggestions'].currentValue);
342
- break;
343
- default:
344
- break;
345
- }
346
- }
347
- }
348
-
349
- /**
350
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
351
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
352
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
353
- * undefined / null by clearing their bindings.
354
- */
355
- private setHostProperty(key: string, value: unknown): void {
356
- this.renderer.setProperty(this.host, key, value);
357
- }
358
-
359
- private bindEvents(): void {
360
- this.listenerCleanup.push(
361
- this.renderer.listen(this.host, 'luzmo-message-sent', (event: Event) => {
362
- const typed = event as CustomEvent<AiChatMessageSentEventDetail>;
363
- this.luzmoMessageSent.emit(typed);
364
- })
365
- );
366
-
367
- this.listenerCleanup.push(
368
- this.renderer.listen(this.host, 'luzmo-datasets-changed', (event: Event) => {
369
- const typed = event as CustomEvent<AiChatDatasetsChangedEventDetail>;
370
- this.luzmoDatasetsChanged.emit(typed);
371
- })
372
- );
373
-
374
- this.listenerCleanup.push(
375
- this.renderer.listen(this.host, 'luzmo-step', (event: Event) => {
376
- const typed = event as CustomEvent<AiChatStepEvent>;
377
- this.luzmoStep.emit(typed);
378
- })
379
- );
380
-
381
- this.listenerCleanup.push(
382
- this.renderer.listen(this.host, 'luzmo-complete', (event: Event) => {
383
- const typed = event as CustomEvent<AiChatCompleteEvent>;
384
- this.luzmoComplete.emit(typed);
385
- })
386
- );
387
-
388
- this.listenerCleanup.push(
389
- this.renderer.listen(this.host, 'luzmo-stop', (event: Event) => {
390
- const typed = event as CustomEvent<void>;
391
- this.luzmoStop.emit(typed);
392
- })
393
- );
394
-
395
- this.listenerCleanup.push(
396
- this.renderer.listen(this.host, 'luzmo-conversation-id-changed', (event: Event) => {
397
- const typed = event as CustomEvent<AiChatConversationIdChangedEventDetail>;
398
- this.luzmoConversationIdChanged.emit(typed);
399
- })
400
- );
401
-
402
- this.listenerCleanup.push(
403
- this.renderer.listen(this.host, 'luzmo-assistant-message-action', (event: Event) => {
404
- const typed = event as CustomEvent<AssistantMessageActionEventDetail>;
405
- this.luzmoAssistantMessageAction.emit(typed);
406
- })
407
- );
408
- }
409
- }
410
-
411
- /** The underlying custom element type for LuzmoAiChat */
412
- export type LuzmoAiChatElement = LuzmoAiChatHostElement;