@luzmo/analytics-components-kit 1.0.5 → 1.0.7

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 (359) hide show
  1. package/README.md +17 -4
  2. package/angular/components/data-fields-select.ts +7 -0
  3. package/angular/components/filter-item.ts +15 -0
  4. package/angular/components/filter-parameter-picker.ts +70 -18
  5. package/angular/components/filters.ts +46 -6
  6. package/angular/esm/components/data-fields-select.d.ts +3 -1
  7. package/angular/esm/components/data-fields-select.js +9 -1
  8. package/angular/esm/components/filter-item.d.ts +7 -1
  9. package/angular/esm/components/filter-item.js +18 -2
  10. package/angular/esm/components/filter-parameter-picker.d.ts +22 -7
  11. package/angular/esm/components/filter-parameter-picker.js +63 -22
  12. package/angular/esm/components/filters.d.ts +21 -7
  13. package/angular/esm/components/filters.js +41 -5
  14. package/angular/package.json +2 -2
  15. package/angular/utils/formula/store/formula-display-store.d.ts +6 -0
  16. package/components/ai-chat/index.cjs +1 -1
  17. package/components/ai-chat/index.js +3 -3
  18. package/components/{ai-chat-BtQaM37y.js → ai-chat-CDSRFmJK.js} +713 -677
  19. package/components/ai-chat-CVNU2mCV.cjs +319 -0
  20. package/components/ai-interaction-textarea/index.cjs +1 -1
  21. package/components/ai-interaction-textarea/index.js +2 -2
  22. package/components/{ai-interaction-textarea-CQBP9-DW.cjs → ai-interaction-textarea-BXDeplJF.cjs} +1 -1
  23. package/components/{ai-interaction-textarea-Bgd3y_cP.js → ai-interaction-textarea-BiMbUGCy.js} +3 -3
  24. package/components/{area-chart-positioning.config-QGEo5sr-.js → area-chart-positioning.config-SLtTkKJB.js} +1 -1
  25. package/components/{area-chart-positioning.config-1YVSxjRa.cjs → area-chart-positioning.config-dwRUFC--.cjs} +1 -1
  26. package/components/{bar-chart-positioning.config-Cs56EAWY.cjs → bar-chart-positioning.config-CcQ2iQdl.cjs} +1 -1
  27. package/components/{bar-chart-positioning.config-KLzBnoCu.js → bar-chart-positioning.config-Ch4sVyJS.js} +1 -1
  28. package/components/{base-DMQUzJ4L.js → base-2sulw8ws.js} +1 -1
  29. package/components/{base-DRFleWoz.cjs → base-DYRe99_q.cjs} +1 -1
  30. package/components/{box-plot-positioning.config-DKGY1Qqb.js → box-plot-positioning.config-Bb7r-Rfl.js} +1 -1
  31. package/components/{box-plot-positioning.config-BpDEb4Uo.cjs → box-plot-positioning.config-Dwtiqho4.cjs} +1 -1
  32. package/components/{bubble-chart-positioning.config-BZsvCSyT.cjs → bubble-chart-positioning.config-Bp_l4Cw1.cjs} +1 -1
  33. package/components/{bubble-chart-positioning.config-CL3mDsC-.js → bubble-chart-positioning.config-Q7mIfpcz.js} +1 -1
  34. package/components/{bullet-chart-positioning.config-DxXEGnbz.js → bullet-chart-positioning.config-B7aXCajU.js} +1 -1
  35. package/components/{bullet-chart-positioning.config-DA-1zmsD.cjs → bullet-chart-positioning.config-sj7E3xEM.cjs} +1 -1
  36. package/components/{choropleth-map-positioning.config-BicHLfN0.js → choropleth-map-positioning.config-CtoJov9H.js} +1 -1
  37. package/components/{choropleth-map-positioning.config-D_1MCD5i.cjs → choropleth-map-positioning.config-DM-iNbgs.cjs} +1 -1
  38. package/components/{circle-pack-chart-positioning.config-a_vo4VFg.js → circle-pack-chart-positioning.config-BgxnBOQT.js} +1 -1
  39. package/components/{circle-pack-chart-positioning.config-oTUkvFFJ.cjs → circle-pack-chart-positioning.config-Cs9xMDpi.cjs} +1 -1
  40. package/components/{circular-gauge-positioning.config-TG1wPyHz.cjs → circular-gauge-positioning.config-Bzulob5F.cjs} +1 -1
  41. package/components/{circular-gauge-positioning.config-BEM85XhO.js → circular-gauge-positioning.config-FEkbw6hK.js} +1 -1
  42. package/components/{column-chart-positioning.config-D1kXKreT.cjs → column-chart-positioning.config-9ho9oUo8.cjs} +1 -1
  43. package/components/{column-chart-positioning.config-x-wEIoTZ.js → column-chart-positioning.config-BeVOSQaJ.js} +1 -1
  44. package/components/{combination-chart-positioning.config-COksdK7F.cjs → combination-chart-positioning.config-CaShl4vv.cjs} +1 -1
  45. package/components/{combination-chart-positioning.config-DLyPa1Im.js → combination-chart-positioning.config-D4VUK54k.js} +1 -1
  46. package/components/{conditional-number-positioning.config-5SBhp4Kh.cjs → conditional-number-positioning.config-BEMjjhdi.cjs} +1 -1
  47. package/components/{conditional-number-positioning.config-6ZQHIgAA.js → conditional-number-positioning.config-C-LpjCJN.js} +1 -1
  48. package/components/data-field/index.cjs +1 -1
  49. package/components/data-field/index.js +2 -2
  50. package/components/{data-field-D1lrRnLX.js → data-field-Dz0XFrep.js} +3 -3
  51. package/components/{data-field-D050EJkx.cjs → data-field-lGJ557o4.cjs} +1 -1
  52. package/components/data-field-level/index.cjs +1 -1
  53. package/components/data-field-level/index.js +2 -2
  54. package/components/{data-field-level-CKlijSjc.cjs → data-field-level-B9r4ucP6.cjs} +1 -1
  55. package/components/{data-field-level-Da8Pwva2.js → data-field-level-DJoidlHN.js} +1 -1
  56. package/components/data-field-panel/index.cjs +1 -1
  57. package/components/data-field-panel/index.js +2 -2
  58. package/components/{data-field-panel-47PGrrIi.cjs → data-field-panel-BzyjbJO5.cjs} +1 -1
  59. package/components/{data-field-panel-CgqJ1bLg.js → data-field-panel-CdeJxZCr.js} +3 -3
  60. package/components/data-fields-select/data-fields-select.d.ts +6 -0
  61. package/components/data-fields-select/index.cjs +1 -1
  62. package/components/data-fields-select/index.js +2 -2
  63. package/components/data-fields-select-BBzzUG2u.cjs +41 -0
  64. package/components/{data-fields-select-B40TXGd7.js → data-fields-select-BRBBrS-x.js} +23 -5
  65. package/components/dataset-icon/index.js +1 -1
  66. package/components/dataset-selector-list/index.cjs +1 -1
  67. package/components/dataset-selector-list/index.js +2 -2
  68. package/components/{dataset-selector-list-C0dheupb.js → dataset-selector-list-DGCh1bvb.js} +1 -1
  69. package/components/{dataset-selector-list-CKQ7OgMN.cjs → dataset-selector-list-xF3yKGan.cjs} +1 -1
  70. package/components/dataset-selector-row/index.cjs +1 -1
  71. package/components/dataset-selector-row/index.js +2 -2
  72. package/components/{dataset-selector-row-DP6QUWYs.js → dataset-selector-row-BbnjxfIz.js} +1 -1
  73. package/components/{dataset-selector-row-_FZPTBE1.cjs → dataset-selector-row-fmrY3y86.cjs} +1 -1
  74. package/components/de-BzcAVqyW.cjs +20 -0
  75. package/components/{de-CPcJgwTx.js → de-CRrCVuH7.js} +15 -0
  76. package/components/display-settings/index.cjs +1 -1
  77. package/components/display-settings/index.js +2 -2
  78. package/components/{display-settings-B-eamVdN.js → display-settings-C9OQ4Eou.js} +3 -3
  79. package/components/display-settings-binning/index.cjs +1 -1
  80. package/components/display-settings-binning/index.js +2 -2
  81. package/components/{display-settings-binning-BGtp0Wvl.js → display-settings-binning-B8E2H5cY.js} +2 -2
  82. package/components/{display-settings-binning-Cs8MS7BY.cjs → display-settings-binning-BBNL97l9.cjs} +1 -1
  83. package/components/display-settings-datetime/index.cjs +1 -1
  84. package/components/display-settings-datetime/index.js +2 -2
  85. package/components/{display-settings-datetime-CbTnG486.js → display-settings-datetime-BBzvzwl5.js} +2 -2
  86. package/components/{display-settings-datetime-q20qbrOL.cjs → display-settings-datetime-czjk5Msv.cjs} +1 -1
  87. package/components/display-settings-eSQCidqh.cjs +140 -0
  88. package/components/display-settings-grand-totals/index.cjs +1 -1
  89. package/components/display-settings-grand-totals/index.js +2 -2
  90. package/components/{display-settings-grand-totals-BDeeC6-h.js → display-settings-grand-totals-CF01m8x-.js} +2 -2
  91. package/components/{display-settings-grand-totals-DdEXs_mA.cjs → display-settings-grand-totals-RwMnGwFZ.cjs} +1 -1
  92. package/components/display-settings-numeric/index.cjs +1 -1
  93. package/components/display-settings-numeric/index.js +2 -2
  94. package/components/{display-settings-numeric-C5FlahN_.js → display-settings-numeric-BcpwYX16.js} +2 -2
  95. package/components/{display-settings-numeric-PtcxP80Z.cjs → display-settings-numeric-C4X7oOEU.cjs} +1 -1
  96. package/components/display-settings-period-over-period/index.cjs +1 -1
  97. package/components/display-settings-period-over-period/index.js +2 -2
  98. package/components/{display-settings-period-over-period-CUlsSQZv.js → display-settings-period-over-period-B8UNYZ0I.js} +2 -2
  99. package/components/{display-settings-period-over-period-Csv7Kwri.cjs → display-settings-period-over-period-BG9YAcCw.cjs} +1 -1
  100. package/components/{donut-chart-positioning.config-EudGY45O.js → donut-chart-positioning.config-CaADC7Qr.js} +1 -1
  101. package/components/{donut-chart-positioning.config-m_uVKoNn.cjs → donut-chart-positioning.config-Dfws3ojS.cjs} +1 -1
  102. package/components/{es-fXPjX3vY.js → es-BIgv-ijQ.js} +15 -0
  103. package/components/es-mPmtD7j4.cjs +20 -0
  104. package/components/{evolution-number-positioning.config-BcLsEydB.js → evolution-number-positioning.config-C-OV1wpL.js} +1 -1
  105. package/components/{evolution-number-positioning.config-CJii0q3V.cjs → evolution-number-positioning.config-CI_2m2Sr.cjs} +1 -1
  106. package/components/filter-expression-picker/index.cjs +1 -1
  107. package/components/filter-expression-picker/index.js +2 -2
  108. package/components/{filter-expression-picker-nW1Hff7C.js → filter-expression-picker-CH2Fna8C.js} +1 -1
  109. package/components/{filter-expression-picker-D28THjzU.cjs → filter-expression-picker-_mfcXZ-n.cjs} +1 -1
  110. package/components/filter-item/filter-item.d.ts +15 -0
  111. package/components/filter-item/index.cjs +1 -1
  112. package/components/filter-item/index.js +2 -2
  113. package/components/filter-item-5HCSM9cu.cjs +71 -0
  114. package/components/{filter-item-BoYKU9tK.js → filter-item-CL3S9HOx.js} +100 -41
  115. package/components/filter-parameter-picker/filter-parameter-picker.d.ts +71 -9
  116. package/components/filter-parameter-picker/filter-parameter-picker.helpers.d.ts +8 -0
  117. package/components/filter-parameter-picker/index.cjs +1 -3
  118. package/components/filter-parameter-picker/index.d.ts +2 -0
  119. package/components/filter-parameter-picker/index.js +3 -33
  120. package/components/filter-parameter-picker/types.d.ts +4 -0
  121. package/components/filter-parameter-picker-CU48aEOS.js +363 -0
  122. package/components/filter-parameter-picker-CxbAY5hy.cjs +123 -0
  123. package/components/filter-value-picker/filter-value-picker.d.ts +1 -0
  124. package/components/filter-value-picker/index.cjs +1 -1
  125. package/components/filter-value-picker/index.js +2 -2
  126. package/components/{filter-value-picker-1kMJ9slB.js → filter-value-picker-CD8DjcHo.js} +5 -5
  127. package/components/{filter-value-picker-D08bAAKt.cjs → filter-value-picker-CRrUhngj.cjs} +1 -1
  128. package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +2 -0
  129. package/components/filter-value-picker-datetime/index.cjs +1 -1
  130. package/components/filter-value-picker-datetime/index.js +2 -2
  131. package/components/{filter-value-picker-datetime-Cnwlipah.js → filter-value-picker-datetime-DS7IK9aN.js} +2 -2
  132. package/components/{filter-value-picker-datetime-OIgFSdU2.cjs → filter-value-picker-datetime-dXaHpCRX.cjs} +1 -1
  133. package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +2 -0
  134. package/components/filter-value-picker-hierarchy/index.cjs +1 -1
  135. package/components/filter-value-picker-hierarchy/index.js +2 -2
  136. package/components/{filter-value-picker-hierarchy-DdMLbCO3.js → filter-value-picker-hierarchy-k0T56CvH.js} +3 -3
  137. package/components/{filter-value-picker-hierarchy-BGgHIji-.cjs → filter-value-picker-hierarchy-kwnEzxIk.cjs} +1 -1
  138. package/components/filter-value-picker-numeric/filter-value-picker-numeric.d.ts +1 -0
  139. package/components/filter-value-picker-numeric/index.cjs +1 -1
  140. package/components/filter-value-picker-numeric/index.js +2 -2
  141. package/components/{filter-value-picker-numeric-BL2gD2ED.cjs → filter-value-picker-numeric-BVei4Vlc.cjs} +1 -1
  142. package/components/{filter-value-picker-numeric-BqrsENh6.js → filter-value-picker-numeric-BaQe4r82.js} +2 -2
  143. package/components/filters/filters.d.ts +38 -4
  144. package/components/filters/index.cjs +1 -1
  145. package/components/filters/index.d.ts +4 -1
  146. package/components/filters/index.js +3 -3
  147. package/components/filters/transformations/clean-filters.d.ts +37 -0
  148. package/components/filters/transformations/filter-format.d.ts +54 -0
  149. package/components/filters/transformations/transform-filters.d.ts +27 -12
  150. package/components/filters/types.d.ts +48 -3
  151. package/components/filters-B70hF2NT.js +742 -0
  152. package/components/filters-ms2gFstA.cjs +153 -0
  153. package/components/formula/index.cjs +1 -1
  154. package/components/formula/index.js +2 -2
  155. package/components/{formula-CNzBOTRQ.js → formula-DdgD312W.js} +2 -2
  156. package/components/{formula-codemirror-pnijOvXU.js → formula-codemirror-D3Z1Qa0J.js} +4 -4
  157. package/components/{formula-codemirror-D1hgPIW_.cjs → formula-codemirror-GoFCSp6r.cjs} +1 -1
  158. package/components/{formula-display-store-BBMmHCRp.js → formula-display-store-bPGDv_xk.js} +10 -7
  159. package/components/formula-display-store-eE3zaCyB.cjs +20 -0
  160. package/components/formula-editor/index.cjs +1 -1
  161. package/components/formula-editor/index.js +4 -4
  162. package/components/{formula-editor-Uejdzkm6.cjs → formula-editor-8wWzGGJr.cjs} +1 -1
  163. package/components/{formula-editor-DvDB6JYI.js → formula-editor-BnWiiFr5.js} +5 -5
  164. package/components/formula-field/index.cjs +1 -1
  165. package/components/formula-field/index.js +2 -2
  166. package/components/{formula-field-o_zZQACN.js → formula-field-DlEgUu58.js} +1 -1
  167. package/components/{formula-field-CNyKz9wY.cjs → formula-field-IHf6I8mL.cjs} +1 -1
  168. package/components/{formula-DeRjtboJ.cjs → formula-glPlLx_5.cjs} +1 -1
  169. package/components/{formula-input-base-DlVNZBUA.js → formula-input-base-7I069pOJ.js} +1 -1
  170. package/components/{formula-input-base-fTF1KXpl.cjs → formula-input-base-D5yx7RYX.cjs} +1 -1
  171. package/components/fr-BHUhOl6R.cjs +20 -0
  172. package/components/{fr-B50vb6LP.js → fr-CI9fC-NM.js} +15 -0
  173. package/components/{funnel-chart-positioning.config-B_C8nr1y.js → funnel-chart-positioning.config-CNEeOwuT.js} +1 -1
  174. package/components/{funnel-chart-positioning.config-DhrMsuyt.cjs → funnel-chart-positioning.config-Cz8gQRh_.cjs} +1 -1
  175. package/components/{get-dataset-name-DrTVBElb.cjs → get-dataset-name-Bae0I2_J.cjs} +1 -1
  176. package/components/{get-dataset-name-DYLJB67F.js → get-dataset-name-OJK38mEs.js} +1 -1
  177. package/components/{groupings-BPlu4GFe.cjs → groupings-B0qMZHSd.cjs} +1 -1
  178. package/components/{groupings-DAj2iFeA.js → groupings-BZJTnpwR.js} +1 -1
  179. package/components/{heat-map-positioning.config-Bya2_TR8.cjs → heat-map-positioning.config-CEH6qyrN.cjs} +1 -1
  180. package/components/{heat-map-positioning.config-Cxembqle.js → heat-map-positioning.config-D-Ba4Ts_.js} +1 -1
  181. package/components/{heat-table-positioning.config-CNeTnuHy.js → heat-table-positioning.config-DCnowqOc.js} +1 -1
  182. package/components/{heat-table-positioning.config-CYZr5ksc.cjs → heat-table-positioning.config-DWNETZMx.cjs} +1 -1
  183. package/components/{hexbin-map-positioning.config-Dfdgub0y.js → hexbin-map-positioning.config-Br0pjvMN.js} +1 -1
  184. package/components/{hexbin-map-positioning.config-bXZEY4nP.cjs → hexbin-map-positioning.config-DoiUVZ8h.cjs} +1 -1
  185. package/components/index.cjs +1 -1
  186. package/components/index.js +64 -63
  187. package/components/interactive-viz-item/index.cjs +1 -1
  188. package/components/interactive-viz-item/index.js +2 -2
  189. package/components/{interactive-viz-item-D-hR2G5x.cjs → interactive-viz-item-DZoRqeJW.cjs} +1 -1
  190. package/components/{interactive-viz-item-C3fzZq7j.js → interactive-viz-item-Dogksvpq.js} +5 -5
  191. package/components/item-grid/index.cjs +1 -1
  192. package/components/item-grid/index.js +2 -2
  193. package/components/{item-grid-BruAZOla.cjs → item-grid-VPRvzGCa.cjs} +1 -1
  194. package/components/{item-grid-cyMiRw7P.js → item-grid-ZQpp1brq.js} +1 -1
  195. package/components/item-option/index.cjs +1 -1
  196. package/components/item-option/index.js +2 -2
  197. package/components/{item-option-CZb01VJb.js → item-option-B9tALelF.js} +1 -1
  198. package/components/{item-option-BclNWwdZ.cjs → item-option-BRgOBMM0.cjs} +1 -1
  199. package/components/item-option-action-button-group/index.cjs +1 -1
  200. package/components/item-option-action-button-group/index.js +2 -2
  201. package/components/{item-option-action-button-group-AkMaJHuv.cjs → item-option-action-button-group-BYE7i8Zd.cjs} +1 -1
  202. package/components/{item-option-action-button-group-HfUtaTi9.js → item-option-action-button-group-WrHKP761.js} +1 -1
  203. package/components/{item-option-base-CZegYACf.cjs → item-option-base-CTBIeARi.cjs} +1 -1
  204. package/components/{item-option-base-DlHZAfWZ.js → item-option-base-CuxvyS-a.js} +1 -1
  205. package/components/item-option-color-palette-picker/index.cjs +1 -1
  206. package/components/item-option-color-palette-picker/index.js +2 -2
  207. package/components/{item-option-color-palette-picker-B336qQRk.cjs → item-option-color-palette-picker-CyailqDd.cjs} +1 -1
  208. package/components/{item-option-color-palette-picker-Dt4z0c4W.js → item-option-color-palette-picker-eYAyoXM1.js} +1 -1
  209. package/components/item-option-color-picker/index.cjs +1 -1
  210. package/components/item-option-color-picker/index.js +2 -2
  211. package/components/{item-option-color-picker-BRO416_T.js → item-option-color-picker-D_x6FgZy.js} +1 -1
  212. package/components/{item-option-color-picker-Hfu2fhRF.cjs → item-option-color-picker-DsfZKPDo.cjs} +1 -1
  213. package/components/item-option-color-range/index.cjs +1 -1
  214. package/components/item-option-color-range/index.js +2 -2
  215. package/components/{item-option-color-range-DgalNZ9b.js → item-option-color-range-CHSbql1w.js} +1 -1
  216. package/components/{item-option-color-range-DWoaz57E.cjs → item-option-color-range-tAMMKg6y.cjs} +1 -1
  217. package/components/item-option-multi-language-field/index.cjs +1 -1
  218. package/components/item-option-multi-language-field/index.js +2 -2
  219. package/components/{item-option-multi-language-field-BvJXIFgu.js → item-option-multi-language-field-D51cJ4BM.js} +1 -1
  220. package/components/{item-option-multi-language-field-IQP6fbgB.cjs → item-option-multi-language-field-DjWm-jWC.cjs} +1 -1
  221. package/components/item-option-number-field/index.cjs +1 -1
  222. package/components/item-option-number-field/index.js +2 -2
  223. package/components/{item-option-number-field-B07NhNSm.cjs → item-option-number-field-Dep43Ym5.cjs} +1 -1
  224. package/components/{item-option-number-field-CvGknDpu.js → item-option-number-field-Df56sivV.js} +1 -1
  225. package/components/item-option-panel/index.cjs +1 -1
  226. package/components/item-option-panel/index.js +2 -2
  227. package/components/{item-option-panel-RYdx8Hfk.js → item-option-panel-BYCfnDeP.js} +3 -3
  228. package/components/{item-option-panel-BWP9E8cW.cjs → item-option-panel-ClDspg51.cjs} +1 -1
  229. package/components/item-option-picker/index.cjs +1 -1
  230. package/components/item-option-picker/index.js +2 -2
  231. package/components/{item-option-picker-DM1pU3w9.js → item-option-picker-BCsB7psT.js} +1 -1
  232. package/components/{item-option-picker-C7SZfnLP.cjs → item-option-picker-CBfFgSKs.cjs} +1 -1
  233. package/components/item-option-position-picker/index.cjs +1 -1
  234. package/components/item-option-position-picker/index.js +2 -2
  235. package/components/{item-option-position-picker-BuDvx3SX.js → item-option-position-picker-CXJGmmWF.js} +1 -1
  236. package/components/{item-option-position-picker-M9CBH9NE.cjs → item-option-position-picker-CYoOkH1m.cjs} +1 -1
  237. package/components/item-option-positions-number-field/index.cjs +1 -1
  238. package/components/item-option-positions-number-field/index.js +2 -2
  239. package/components/{item-option-positions-number-field-C4zW5-Hc.cjs → item-option-positions-number-field-CNUCVm78.cjs} +1 -1
  240. package/components/{item-option-positions-number-field-RN5AG-Ic.js → item-option-positions-number-field-CkfSHCFO.js} +1 -1
  241. package/components/item-option-radio-button-group/index.cjs +1 -1
  242. package/components/item-option-radio-button-group/index.js +2 -2
  243. package/components/{item-option-radio-button-group-Ce780UyR.js → item-option-radio-button-group-CSyh4eS2.js} +1 -1
  244. package/components/{item-option-radio-button-group-DRiwqorh.cjs → item-option-radio-button-group-ZIvbpJf9.cjs} +1 -1
  245. package/components/item-option-slider/index.cjs +1 -1
  246. package/components/item-option-slider/index.js +2 -2
  247. package/components/item-option-slider/item-option-slider.d.ts +5 -0
  248. package/components/{item-option-slider-BUdWMAzT.js → item-option-slider-CTt5aYbb.js} +31 -16
  249. package/components/{item-option-slider-CycHQFnr.cjs → item-option-slider-CaxIGDWN.cjs} +3 -3
  250. package/components/item-option-switch/index.cjs +1 -1
  251. package/components/item-option-switch/index.js +2 -2
  252. package/components/{item-option-switch-CvcZSytb.js → item-option-switch-B91r65eW.js} +1 -1
  253. package/components/{item-option-switch-CM5R8wO_.cjs → item-option-switch-wEx5JkSe.cjs} +1 -1
  254. package/components/item-option-text-field/index.cjs +1 -1
  255. package/components/item-option-text-field/index.js +2 -2
  256. package/components/{item-option-text-field-BZjOilSu.cjs → item-option-text-field-BLcYkH-j.cjs} +1 -1
  257. package/components/{item-option-text-field-CyuYUITv.js → item-option-text-field-BvSCGhuH.js} +1 -1
  258. package/components/item-slot-drop/index.cjs +1 -1
  259. package/components/item-slot-drop/index.js +2 -2
  260. package/components/{item-slot-drop-C6DO5mPk.js → item-slot-drop-Box1wnvM.js} +5 -5
  261. package/components/{item-slot-drop-CrzFRobc.cjs → item-slot-drop-n-lD8Zyh.cjs} +1 -1
  262. package/components/item-slot-drop-panel/index.cjs +1 -1
  263. package/components/item-slot-drop-panel/index.js +2 -2
  264. package/components/{item-slot-drop-panel-DvmPk1pJ.js → item-slot-drop-panel-KtZKw0Ly.js} +39 -39
  265. package/components/{item-slot-drop-panel-ChazcNSe.cjs → item-slot-drop-panel-sCkQ0dUU.cjs} +1 -1
  266. package/components/item-slot-picker/index.cjs +1 -1
  267. package/components/item-slot-picker/index.js +2 -2
  268. package/components/{item-slot-picker-CmG71mGy.js → item-slot-picker-Cm8o4A00.js} +6 -6
  269. package/components/{item-slot-picker-DQkG3Lt7.cjs → item-slot-picker-DKPE2NQn.cjs} +1 -1
  270. package/components/item-slot-picker-panel/index.cjs +1 -1
  271. package/components/item-slot-picker-panel/index.js +2 -2
  272. package/components/{item-slot-picker-panel-Bi2jXvQA.cjs → item-slot-picker-panel-DK5jRBYs.cjs} +1 -1
  273. package/components/{item-slot-picker-panel-DmGYI5YI.js → item-slot-picker-panel-DOHi_8UO.js} +3 -3
  274. package/components/{line-chart-positioning.config-Cqnfz4Lc.cjs → line-chart-positioning.config-C05IZ4Jj.cjs} +1 -1
  275. package/components/{line-chart-positioning.config-CFHFq0wp.js → line-chart-positioning.config-DQfyOkWV.js} +1 -1
  276. package/components/{localized-mixin-CUuRZu9t.cjs → localized-mixin-BForHr3t.cjs} +1 -1
  277. package/components/{localized-mixin-B4fDdsF0.js → localized-mixin-D-vXCJuU.js} +1 -1
  278. package/components/{marker-map-positioning.config-x3KUsgzD.js → marker-map-positioning.config-CD7n0uLB.js} +1 -1
  279. package/components/{marker-map-positioning.config-BM-ZrmE9.cjs → marker-map-positioning.config-DOhXf-CR.cjs} +1 -1
  280. package/components/{nl-Do6FfV7U.js → nl-HLnZHvTS.js} +15 -0
  281. package/components/nl-NxeHJ8X8.cjs +20 -0
  282. package/components/{ohlc-chart-positioning.config-C-vx6lt-.js → ohlc-chart-positioning.config-Bl-ckdlQ.js} +1 -1
  283. package/components/{ohlc-chart-positioning.config-SIhJhFel.cjs → ohlc-chart-positioning.config-CDf77OgH.cjs} +1 -1
  284. package/components/{parallel-coordinates-plot-positioning.config-Br1OGTEZ.cjs → parallel-coordinates-plot-positioning.config-DfsKsUdv.cjs} +1 -1
  285. package/components/{parallel-coordinates-plot-positioning.config-BaofZgit.js → parallel-coordinates-plot-positioning.config-Tbzzr5L6.js} +1 -1
  286. package/components/{pivot-table-positioning.config-BaBkuXV0.cjs → pivot-table-positioning.config-DwuKN2xz.cjs} +1 -1
  287. package/components/{pivot-table-positioning.config-DeeS1MaO.js → pivot-table-positioning.config-_YDPeFQz.js} +1 -1
  288. package/components/{pyramid-chart-positioning.config-g55mkotb.cjs → pyramid-chart-positioning.config-7AJy2_zR.cjs} +1 -1
  289. package/components/{pyramid-chart-positioning.config-D14NnyH1.js → pyramid-chart-positioning.config-Btm_8m46.js} +1 -1
  290. package/components/{radar-chart-positioning.config-CWGfQ7-j.cjs → radar-chart-positioning.config-7Kx_uKbW.cjs} +1 -1
  291. package/components/{radar-chart-positioning.config-C9fiYOnB.js → radar-chart-positioning.config-DWziVqMW.js} +1 -1
  292. package/components/{route-map-positioning.config-Cd4azpuW.js → route-map-positioning.config-C4-2zLGp.js} +1 -1
  293. package/components/{route-map-positioning.config-Dswq4pH_.cjs → route-map-positioning.config-DDgEAW4k.cjs} +1 -1
  294. package/components/{sankey-diagram-positioning.config-CAHzdKBq.cjs → sankey-diagram-positioning.config-BxVJaOKN.cjs} +1 -1
  295. package/components/{sankey-diagram-positioning.config-CzGCvTeX.js → sankey-diagram-positioning.config-DQcUg8Cg.js} +1 -1
  296. package/components/{scatter-plot-positioning.config-CrVJZ-X9.cjs → scatter-plot-positioning.config-D3xI_5P8.cjs} +1 -1
  297. package/components/{scatter-plot-positioning.config-C7nu7quv.js → scatter-plot-positioning.config-DOgeShUF.js} +1 -1
  298. package/components/{set-locale-DBVSKk_b.js → set-locale-D9gR8t-s.js} +4 -4
  299. package/components/{set-locale-1r0lDa7J.cjs → set-locale-MQpiifTB.cjs} +1 -1
  300. package/components/{slicer-filter-positioning.config-7sucz3_y.js → slicer-filter-positioning.config-CiHfPrM5.js} +1 -1
  301. package/components/{slicer-filter-positioning.config-D9Tehydc.cjs → slicer-filter-positioning.config-bN36DdLc.cjs} +1 -1
  302. package/components/slot-menu/index.cjs +1 -1
  303. package/components/slot-menu/index.js +2 -2
  304. package/components/{slot-menu-AavTGkLk.cjs → slot-menu-K5QiEu6o.cjs} +1 -1
  305. package/components/{slot-menu-Dz-O1ypQ.js → slot-menu-Qy35BZZ_.js} +3 -3
  306. package/components/slot-menu-list/index.cjs +1 -1
  307. package/components/slot-menu-list/index.js +2 -2
  308. package/components/{slot-menu-list-BegM0w8C.js → slot-menu-list-BKMbIFg1.js} +1 -1
  309. package/components/{slot-menu-list-Cahst0TY.cjs → slot-menu-list-DmQe7882.cjs} +1 -1
  310. package/components/{speedometer-chart-positioning.config-DiDSe44G.js → speedometer-chart-positioning.config-B7M91sKN.js} +1 -1
  311. package/components/{speedometer-chart-positioning.config-CZgXkEsG.cjs → speedometer-chart-positioning.config-Ce70l0Ei.cjs} +1 -1
  312. package/components/{spike-map-positioning.config-RExJASrJ.cjs → spike-map-positioning.config-D3wIf0RU.cjs} +1 -1
  313. package/components/{spike-map-positioning.config-W-xJbchu.js → spike-map-positioning.config-Qf4LOPvB.js} +1 -1
  314. package/components/{strip-plot-positioning.config-C70pTRqg.cjs → strip-plot-positioning.config-BIoncLjm.cjs} +1 -1
  315. package/components/{strip-plot-positioning.config-DsKb9ton.js → strip-plot-positioning.config-MbfBVHf8.js} +1 -1
  316. package/components/{sunburst-chart-positioning.config-BAhEnZtE.js → sunburst-chart-positioning.config-CqyXZPxE.js} +1 -1
  317. package/components/{sunburst-chart-positioning.config-BHvaDZCC.cjs → sunburst-chart-positioning.config-zqPLL8yF.cjs} +1 -1
  318. package/components/{symbol-map-positioning.config-B2RZQPND.cjs → symbol-map-positioning.config-CQ4Vxu96.cjs} +1 -1
  319. package/components/{symbol-map-positioning.config-DNPiG975.js → symbol-map-positioning.config-plXDTBA3.js} +1 -1
  320. package/components/{treemap-chart-positioning.config-C0LbkC6B.js → treemap-chart-positioning.config-BTGBN1f9.js} +1 -1
  321. package/components/{treemap-chart-positioning.config-CIYguC9V.cjs → treemap-chart-positioning.config-CSZXzuT5.cjs} +1 -1
  322. package/components/utils/base.cjs +1 -1
  323. package/components/utils/base.js +2 -2
  324. package/components/{utils-Cx4X0PBr.cjs → utils-BDvDwAn7.cjs} +1 -1
  325. package/components/{utils-C8ATDm66.js → utils-Z9xbTTWG.js} +1 -1
  326. package/components/utils.cjs +1 -1
  327. package/components/utils.js +2 -2
  328. package/components/{venn-diagram-positioning.config-CGmfYuoj.cjs → venn-diagram-positioning.config-C4vcZDtW.cjs} +1 -1
  329. package/components/{venn-diagram-positioning.config-CPUT2LXS.js → venn-diagram-positioning.config-fPvrjtfX.js} +1 -1
  330. package/components/viz-item-menu/index.cjs +1 -1
  331. package/components/viz-item-menu/index.js +2 -2
  332. package/components/{viz-item-menu-BKXdr3_Q.cjs → viz-item-menu-DxA295eM.cjs} +1 -1
  333. package/components/{viz-item-menu-XoCSn7z_.js → viz-item-menu-vckPQBdf.js} +1 -1
  334. package/components/{wordcloud-chart-positioning.config-roHRUT_m.cjs → wordcloud-chart-positioning.config-Cf1ErL-B.cjs} +1 -1
  335. package/components/{wordcloud-chart-positioning.config-CqCOWKL4.js → wordcloud-chart-positioning.config-ChUx_Ahc.js} +1 -1
  336. package/custom-elements.json +1325 -122
  337. package/index.d.ts +1 -0
  338. package/package.json +5 -5
  339. package/react/components/filter-parameter-picker.component.ts +15 -4
  340. package/react/components/filters.component.ts +9 -3
  341. package/react/esm/components/filter-parameter-picker.component.d.ts +11 -3
  342. package/react/esm/components/filter-parameter-picker.component.js +9 -1
  343. package/react/esm/components/filters.component.d.ts +10 -2
  344. package/react/esm/components/filters.component.js +6 -2
  345. package/react/luzmo-stub.d.ts +2 -1
  346. package/react/package.json +2 -2
  347. package/storybook/register-components.d.ts +18 -13
  348. package/utils/formula/store/formula-display-store.d.ts +6 -0
  349. package/components/ai-chat-CBLWbv9C.cjs +0 -319
  350. package/components/data-fields-select-CQVqxMCS.cjs +0 -41
  351. package/components/de-CFFG1QN7.cjs +0 -20
  352. package/components/display-settings-1AdcENcv.cjs +0 -140
  353. package/components/es-Bd7rtLnM.cjs +0 -20
  354. package/components/filter-item-BirgEXGE.cjs +0 -58
  355. package/components/filters-BLss6wBx.js +0 -407
  356. package/components/filters-rjc5xsF_.cjs +0 -150
  357. package/components/formula-display-store-Dn7r5kK8.cjs +0 -20
  358. package/components/fr-kmzf1vls.cjs +0 -20
  359. package/components/nl-FcPtgtcL.cjs +0 -20
@@ -4900,6 +4900,17 @@
4900
4900
  "attribute": "icons",
4901
4901
  "reflects": true
4902
4902
  },
4903
+ {
4904
+ "kind": "field",
4905
+ "name": "levels",
4906
+ "type": {
4907
+ "text": "'on' | 'off'"
4908
+ },
4909
+ "default": "'on'",
4910
+ "description": "Whether datetime and hierarchy columns expand into selectable sublevels. Turn this off in\ncontexts that address the column as a whole, so the column stays selectable by its own id.",
4911
+ "attribute": "levels",
4912
+ "reflects": true
4913
+ },
4903
4914
  {
4904
4915
  "kind": "field",
4905
4916
  "name": "allowEmpty",
@@ -5108,6 +5119,15 @@
5108
5119
  "description": "Where to show icons",
5109
5120
  "fieldName": "icons"
5110
5121
  },
5122
+ {
5123
+ "name": "levels",
5124
+ "type": {
5125
+ "text": "'on' | 'off'"
5126
+ },
5127
+ "default": "'on'",
5128
+ "description": "Whether datetime and hierarchy columns expand into selectable sublevels. Turn this off in\ncontexts that address the column as a whole, so the column stays selectable by its own id.",
5129
+ "fieldName": "levels"
5130
+ },
5111
5131
  {
5112
5132
  "name": "allow-empty",
5113
5133
  "type": {
@@ -7995,6 +8015,20 @@
7995
8015
  "kind": "class",
7996
8016
  "description": "",
7997
8017
  "name": "LuzmoFilterItem",
8018
+ "cssProperties": [
8019
+ {
8020
+ "description": "Gap between the field, expression and value controls of a filter row.",
8021
+ "name": "--luzmo-filter-item-gap"
8022
+ },
8023
+ {
8024
+ "description": "Smallest width the data field select may shrink to in a narrow filter row.",
8025
+ "name": "--luzmo-filter-item-field-min-width"
8026
+ },
8027
+ {
8028
+ "description": "Smallest width of the value and parameter button cell in a narrow filter row.",
8029
+ "name": "--luzmo-filter-item-value-min-width"
8030
+ }
8031
+ ],
7998
8032
  "members": [
7999
8033
  {
8000
8034
  "kind": "field",
@@ -8079,6 +8113,26 @@
8079
8113
  "description": "The filter to display",
8080
8114
  "attribute": "filter"
8081
8115
  },
8116
+ {
8117
+ "kind": "field",
8118
+ "name": "allowParameters",
8119
+ "type": {
8120
+ "text": "boolean"
8121
+ },
8122
+ "default": "false",
8123
+ "description": "Whether parameter-backed filter values can be created and selected.",
8124
+ "attribute": "allow-parameters",
8125
+ "reflects": true
8126
+ },
8127
+ {
8128
+ "kind": "field",
8129
+ "name": "parameters",
8130
+ "type": {
8131
+ "text": "FilterParameter[]"
8132
+ },
8133
+ "default": "[]",
8134
+ "description": "Consumer-owned parameter definitions available for selection."
8135
+ },
8082
8136
  {
8083
8137
  "kind": "field",
8084
8138
  "name": "language",
@@ -8187,6 +8241,15 @@
8187
8241
  "description": "The filter to display",
8188
8242
  "fieldName": "filter"
8189
8243
  },
8244
+ {
8245
+ "name": "allow-parameters",
8246
+ "type": {
8247
+ "text": "boolean"
8248
+ },
8249
+ "default": "false",
8250
+ "description": "Whether parameter-backed filter values can be created and selected.",
8251
+ "fieldName": "allowParameters"
8252
+ },
8190
8253
  {
8191
8254
  "name": "size",
8192
8255
  "type": {
@@ -8259,190 +8322,463 @@
8259
8322
  },
8260
8323
  {
8261
8324
  "kind": "javascript-module",
8262
- "path": "src/components/filter-parameter-picker/filter-parameter-picker.ts",
8325
+ "path": "src/components/filter-parameter-picker/filter-parameter-picker.helpers.ts",
8263
8326
  "declarations": [
8264
8327
  {
8265
- "kind": "class",
8266
- "description": "",
8267
- "name": "LuzmoFilterParameterPicker",
8268
- "members": [
8328
+ "kind": "function",
8329
+ "name": "getSelectableParameterTypes",
8330
+ "return": {
8331
+ "type": {
8332
+ "text": "FilterParameterType[]"
8333
+ }
8334
+ },
8335
+ "parameters": [
8269
8336
  {
8270
- "kind": "field",
8271
- "name": "language",
8337
+ "name": "columnType",
8272
8338
  "type": {
8273
- "text": "string"
8274
- },
8275
- "default": "'en'",
8276
- "description": "The language of the settings interface",
8277
- "attribute": "language",
8278
- "reflects": true
8339
+ "text": "ColumnType | undefined"
8340
+ }
8279
8341
  },
8280
8342
  {
8281
- "kind": "field",
8282
- "name": "contentLanguage",
8343
+ "name": "expression",
8283
8344
  "type": {
8284
- "text": "string"
8285
- },
8286
- "default": "'en'",
8287
- "description": "The language to use for locale-aware formatting and labels",
8288
- "attribute": "content-language",
8289
- "reflects": true
8290
- },
8345
+ "text": "ItemQueryFilterExpression | undefined"
8346
+ }
8347
+ }
8348
+ ]
8349
+ },
8350
+ {
8351
+ "kind": "function",
8352
+ "name": "getParameterTypeLabel",
8353
+ "return": {
8354
+ "type": {
8355
+ "text": "string"
8356
+ }
8357
+ },
8358
+ "parameters": [
8291
8359
  {
8292
- "kind": "field",
8293
- "name": "_expressionSelected",
8360
+ "name": "type",
8294
8361
  "type": {
8295
- "text": "any"
8362
+ "text": "FilterParameterType"
8296
8363
  }
8297
8364
  }
8298
- ],
8299
- "attributes": [
8365
+ ]
8366
+ },
8367
+ {
8368
+ "kind": "function",
8369
+ "name": "isFilterParameterDefinition",
8370
+ "return": {
8371
+ "type": {
8372
+ "text": "value is ItemFilterParameterDefinition"
8373
+ }
8374
+ },
8375
+ "parameters": [
8300
8376
  {
8301
- "name": "language",
8377
+ "name": "value",
8378
+ "type": {
8379
+ "text": "unknown"
8380
+ }
8381
+ }
8382
+ ]
8383
+ },
8384
+ {
8385
+ "kind": "function",
8386
+ "name": "normalizeParameterName",
8387
+ "return": {
8388
+ "type": {
8389
+ "text": "string"
8390
+ }
8391
+ },
8392
+ "parameters": [
8393
+ {
8394
+ "name": "name",
8302
8395
  "type": {
8303
8396
  "text": "string"
8304
- },
8305
- "default": "'en'",
8306
- "description": "The language of the settings interface",
8307
- "fieldName": "language"
8308
- },
8397
+ }
8398
+ }
8399
+ ]
8400
+ },
8401
+ {
8402
+ "kind": "function",
8403
+ "name": "createFilterParameter",
8404
+ "return": {
8405
+ "type": {
8406
+ "text": "ItemFilterParameterDefinition"
8407
+ }
8408
+ },
8409
+ "parameters": [
8309
8410
  {
8310
- "name": "content-language",
8411
+ "name": "name",
8311
8412
  "type": {
8312
8413
  "text": "string"
8313
- },
8314
- "default": "'en'",
8315
- "description": "The language to use for locale-aware formatting and labels",
8316
- "fieldName": "contentLanguage"
8414
+ }
8317
8415
  },
8318
8416
  {
8319
- "name": "size",
8417
+ "name": "type",
8320
8418
  "type": {
8321
- "text": "'s' | 'm' | 'l' | 'xl'"
8322
- },
8323
- "default": "m",
8324
- "description": "The size of the element",
8325
- "fieldName": "size"
8419
+ "text": "FilterParameterType"
8420
+ }
8326
8421
  },
8327
8422
  {
8328
- "name": "disabled",
8423
+ "name": "currentValue",
8424
+ "optional": true,
8329
8425
  "type": {
8330
- "text": "boolean"
8331
- },
8332
- "default": "false",
8333
- "description": "Disable this control. It will not receive focus or events",
8334
- "fieldName": "disabled"
8335
- },
8426
+ "text": "unknown"
8427
+ }
8428
+ }
8429
+ ]
8430
+ },
8431
+ {
8432
+ "kind": "function",
8433
+ "name": "getDefaultLiteralValue",
8434
+ "return": {
8435
+ "type": {
8436
+ "text": "ItemFilterParameterValue | undefined"
8437
+ }
8438
+ },
8439
+ "parameters": [
8336
8440
  {
8337
- "name": "autofocus",
8441
+ "name": "columnType",
8338
8442
  "type": {
8339
- "text": "boolean"
8340
- },
8341
- "default": "false",
8342
- "description": "When this control is rendered, focus it automatically",
8343
- "fieldName": "autofocus"
8443
+ "text": "ColumnType | undefined"
8444
+ }
8344
8445
  },
8345
8446
  {
8346
- "name": "tabIndex",
8447
+ "name": "expression",
8347
8448
  "type": {
8348
- "text": "number"
8349
- },
8350
- "description": "The tab index to apply to this control. See general documentation about the tabindex HTML property",
8351
- "fieldName": "tabIndex"
8449
+ "text": "ItemQueryFilterExpression | undefined"
8450
+ }
8352
8451
  }
8353
- ],
8354
- "tagName": "luzmo-filter-parameter-picker",
8355
- "customElement": true
8452
+ ]
8356
8453
  }
8357
8454
  ],
8358
8455
  "exports": [
8359
8456
  {
8360
8457
  "kind": "js",
8361
- "name": "LuzmoFilterParameterPicker",
8458
+ "name": "getSelectableParameterTypes",
8362
8459
  "declaration": {
8363
- "name": "LuzmoFilterParameterPicker",
8364
- "module": "src/components/filter-parameter-picker/filter-parameter-picker.ts"
8460
+ "name": "getSelectableParameterTypes",
8461
+ "module": "src/components/filter-parameter-picker/filter-parameter-picker.helpers.ts"
8462
+ }
8463
+ },
8464
+ {
8465
+ "kind": "js",
8466
+ "name": "getParameterTypeLabel",
8467
+ "declaration": {
8468
+ "name": "getParameterTypeLabel",
8469
+ "module": "src/components/filter-parameter-picker/filter-parameter-picker.helpers.ts"
8470
+ }
8471
+ },
8472
+ {
8473
+ "kind": "js",
8474
+ "name": "isFilterParameterDefinition",
8475
+ "declaration": {
8476
+ "name": "isFilterParameterDefinition",
8477
+ "module": "src/components/filter-parameter-picker/filter-parameter-picker.helpers.ts"
8478
+ }
8479
+ },
8480
+ {
8481
+ "kind": "js",
8482
+ "name": "normalizeParameterName",
8483
+ "declaration": {
8484
+ "name": "normalizeParameterName",
8485
+ "module": "src/components/filter-parameter-picker/filter-parameter-picker.helpers.ts"
8486
+ }
8487
+ },
8488
+ {
8489
+ "kind": "js",
8490
+ "name": "createFilterParameter",
8491
+ "declaration": {
8492
+ "name": "createFilterParameter",
8493
+ "module": "src/components/filter-parameter-picker/filter-parameter-picker.helpers.ts"
8494
+ }
8495
+ },
8496
+ {
8497
+ "kind": "js",
8498
+ "name": "getDefaultLiteralValue",
8499
+ "declaration": {
8500
+ "name": "getDefaultLiteralValue",
8501
+ "module": "src/components/filter-parameter-picker/filter-parameter-picker.helpers.ts"
8365
8502
  }
8366
8503
  }
8367
8504
  ]
8368
8505
  },
8369
8506
  {
8370
8507
  "kind": "javascript-module",
8371
- "path": "src/components/filter-value-picker/filter-value-picker.ts",
8508
+ "path": "src/components/filter-parameter-picker/filter-parameter-picker.ts",
8372
8509
  "declarations": [
8373
8510
  {
8374
8511
  "kind": "class",
8375
8512
  "description": "",
8376
- "name": "LuzmoFilterValuePicker",
8513
+ "name": "LuzmoFilterParameterPicker",
8377
8514
  "members": [
8378
8515
  {
8379
8516
  "kind": "field",
8380
- "name": "apiUrl",
8517
+ "name": "parameters",
8381
8518
  "type": {
8382
- "text": "string | undefined"
8519
+ "text": "ItemFilterParameterDefinition[]"
8383
8520
  },
8384
- "description": "The API URL of the databroker",
8385
- "default": "https://api.luzmo.com",
8386
- "attribute": "api-url",
8387
- "reflects": true
8521
+ "default": "[]",
8522
+ "description": "Parameter definitions available for selection."
8388
8523
  },
8389
8524
  {
8390
8525
  "kind": "field",
8391
- "name": "authKey",
8526
+ "name": "allowedTypes",
8392
8527
  "type": {
8393
- "text": "string | undefined"
8528
+ "text": "FilterParameterType[]"
8394
8529
  },
8395
- "description": "The auth key of the databroker",
8396
- "attribute": "auth-key",
8397
- "reflects": true
8530
+ "default": "[]",
8531
+ "description": "Parameter types compatible with the active field and expression."
8398
8532
  },
8399
8533
  {
8400
8534
  "kind": "field",
8401
- "name": "authToken",
8535
+ "name": "selectedParameter",
8402
8536
  "type": {
8403
- "text": "string | undefined"
8537
+ "text": "ItemFilterParameterDefinition | undefined"
8404
8538
  },
8405
- "description": "The auth token of the databroker",
8406
- "attribute": "auth-token",
8407
- "reflects": true
8539
+ "description": "The parameter currently attached to the filter."
8408
8540
  },
8409
8541
  {
8410
8542
  "kind": "field",
8411
- "name": "cacheTime",
8543
+ "name": "currentValue",
8412
8544
  "type": {
8413
- "text": "number | undefined"
8545
+ "text": "unknown | undefined"
8414
8546
  },
8415
- "description": "The cache time of the databroker",
8416
- "default": "30000",
8417
- "attribute": "cache-time",
8418
- "reflects": true
8547
+ "description": "The current literal filter value used as the default for a new parameter."
8419
8548
  },
8420
8549
  {
8421
8550
  "kind": "field",
8422
- "name": "contentLanguage",
8551
+ "name": "disabled",
8423
8552
  "type": {
8424
- "text": "string"
8553
+ "text": "boolean"
8425
8554
  },
8426
- "default": "'en'",
8427
- "description": "The language to use for locale-aware formatting and labels",
8428
- "attribute": "content-language",
8555
+ "default": "false",
8556
+ "description": "Whether parameter selection is disabled.",
8557
+ "attribute": "disabled",
8429
8558
  "reflects": true
8430
8559
  },
8431
8560
  {
8432
8561
  "kind": "field",
8433
- "name": "timeZone",
8562
+ "name": "language",
8434
8563
  "type": {
8435
- "text": "string | undefined"
8564
+ "text": "string"
8436
8565
  },
8437
- "description": "The time zone to use for the date picker",
8438
- "attribute": "time-zone",
8439
- "reflects": true
8440
- },
8441
- {
8442
- "kind": "field",
8443
- "name": "valueType",
8444
- "type": {
8445
- "text": "'hierarchy' | 'numeric' | 'datetime' | undefined"
8566
+ "default": "'en'",
8567
+ "description": "The language for UI labels.\nSupported values: 'en', 'nl', 'fr', 'de', 'es'",
8568
+ "attribute": "language",
8569
+ "reflects": true,
8570
+ "inheritedFrom": {
8571
+ "name": "LocalizedMixin",
8572
+ "module": "src/utils/base/localized-mixin.ts"
8573
+ }
8574
+ },
8575
+ {
8576
+ "kind": "method",
8577
+ "name": "_syncLocale",
8578
+ "privacy": "private",
8579
+ "return": {
8580
+ "type": {
8581
+ "text": "void"
8582
+ }
8583
+ },
8584
+ "inheritedFrom": {
8585
+ "name": "LocalizedMixin",
8586
+ "module": "src/utils/base/localized-mixin.ts"
8587
+ }
8588
+ }
8589
+ ],
8590
+ "events": [
8591
+ {
8592
+ "name": "luzmo-parameter-selected",
8593
+ "type": {
8594
+ "text": "CustomEvent<FilterParameterPickerEventDetail>"
8595
+ },
8596
+ "description": "Fired when a parameter is selected."
8597
+ },
8598
+ {
8599
+ "name": "luzmo-parameter-created",
8600
+ "type": {
8601
+ "text": "CustomEvent<FilterParameterPickerEventDetail>"
8602
+ },
8603
+ "description": "Fired when a parameter is created."
8604
+ },
8605
+ {
8606
+ "name": "luzmo-parameter-removed",
8607
+ "type": {
8608
+ "text": "CustomEvent<FilterParameterPickerEventDetail>"
8609
+ },
8610
+ "description": "Fired when a parameter is detached from the filter."
8611
+ }
8612
+ ],
8613
+ "attributes": [
8614
+ {
8615
+ "name": "disabled",
8616
+ "type": {
8617
+ "text": "boolean"
8618
+ },
8619
+ "default": "false",
8620
+ "description": "Whether parameter selection is disabled.",
8621
+ "fieldName": "disabled"
8622
+ },
8623
+ {
8624
+ "name": "size",
8625
+ "type": {
8626
+ "text": "'s' | 'm' | 'l' | 'xl'"
8627
+ },
8628
+ "default": "m",
8629
+ "description": "The size of the element",
8630
+ "fieldName": "size"
8631
+ },
8632
+ {
8633
+ "name": "disabled",
8634
+ "type": {
8635
+ "text": "boolean"
8636
+ },
8637
+ "default": "false",
8638
+ "description": "Disable this control. It will not receive focus or events",
8639
+ "fieldName": "disabled"
8640
+ },
8641
+ {
8642
+ "name": "autofocus",
8643
+ "type": {
8644
+ "text": "boolean"
8645
+ },
8646
+ "default": "false",
8647
+ "description": "When this control is rendered, focus it automatically",
8648
+ "fieldName": "autofocus"
8649
+ },
8650
+ {
8651
+ "name": "tabIndex",
8652
+ "type": {
8653
+ "text": "number"
8654
+ },
8655
+ "description": "The tab index to apply to this control. See general documentation about the tabindex HTML property",
8656
+ "fieldName": "tabIndex"
8657
+ },
8658
+ {
8659
+ "name": "language",
8660
+ "type": {
8661
+ "text": "string"
8662
+ },
8663
+ "default": "'en'",
8664
+ "description": "The language for UI labels.\nSupported values: 'en', 'nl', 'fr', 'de', 'es'",
8665
+ "fieldName": "language",
8666
+ "inheritedFrom": {
8667
+ "name": "LocalizedMixin",
8668
+ "module": "src/utils/base/localized-mixin.ts"
8669
+ }
8670
+ }
8671
+ ],
8672
+ "mixins": [
8673
+ {
8674
+ "name": "LocalizedMixin",
8675
+ "module": "/src/utils/base/localized-mixin"
8676
+ }
8677
+ ],
8678
+ "tagName": "luzmo-filter-parameter-picker",
8679
+ "customElement": true
8680
+ }
8681
+ ],
8682
+ "exports": [
8683
+ {
8684
+ "kind": "js",
8685
+ "name": "LuzmoFilterParameterPicker",
8686
+ "declaration": {
8687
+ "name": "LuzmoFilterParameterPicker",
8688
+ "module": "src/components/filter-parameter-picker/filter-parameter-picker.ts"
8689
+ }
8690
+ }
8691
+ ]
8692
+ },
8693
+ {
8694
+ "kind": "javascript-module",
8695
+ "path": "src/components/filter-parameter-picker/types.ts",
8696
+ "declarations": [],
8697
+ "exports": []
8698
+ },
8699
+ {
8700
+ "kind": "javascript-module",
8701
+ "path": "src/components/filter-value-picker/filter-value-picker.ts",
8702
+ "declarations": [
8703
+ {
8704
+ "kind": "class",
8705
+ "description": "",
8706
+ "name": "LuzmoFilterValuePicker",
8707
+ "cssProperties": [
8708
+ {
8709
+ "description": "Smallest width a value control may shrink to in a narrow filter row.",
8710
+ "name": "--luzmo-filter-value-picker-control-min-width"
8711
+ }
8712
+ ],
8713
+ "members": [
8714
+ {
8715
+ "kind": "field",
8716
+ "name": "apiUrl",
8717
+ "type": {
8718
+ "text": "string | undefined"
8719
+ },
8720
+ "description": "The API URL of the databroker",
8721
+ "default": "https://api.luzmo.com",
8722
+ "attribute": "api-url",
8723
+ "reflects": true
8724
+ },
8725
+ {
8726
+ "kind": "field",
8727
+ "name": "authKey",
8728
+ "type": {
8729
+ "text": "string | undefined"
8730
+ },
8731
+ "description": "The auth key of the databroker",
8732
+ "attribute": "auth-key",
8733
+ "reflects": true
8734
+ },
8735
+ {
8736
+ "kind": "field",
8737
+ "name": "authToken",
8738
+ "type": {
8739
+ "text": "string | undefined"
8740
+ },
8741
+ "description": "The auth token of the databroker",
8742
+ "attribute": "auth-token",
8743
+ "reflects": true
8744
+ },
8745
+ {
8746
+ "kind": "field",
8747
+ "name": "cacheTime",
8748
+ "type": {
8749
+ "text": "number | undefined"
8750
+ },
8751
+ "description": "The cache time of the databroker",
8752
+ "default": "30000",
8753
+ "attribute": "cache-time",
8754
+ "reflects": true
8755
+ },
8756
+ {
8757
+ "kind": "field",
8758
+ "name": "contentLanguage",
8759
+ "type": {
8760
+ "text": "string"
8761
+ },
8762
+ "default": "'en'",
8763
+ "description": "The language to use for locale-aware formatting and labels",
8764
+ "attribute": "content-language",
8765
+ "reflects": true
8766
+ },
8767
+ {
8768
+ "kind": "field",
8769
+ "name": "timeZone",
8770
+ "type": {
8771
+ "text": "string | undefined"
8772
+ },
8773
+ "description": "The time zone to use for the date picker",
8774
+ "attribute": "time-zone",
8775
+ "reflects": true
8776
+ },
8777
+ {
8778
+ "kind": "field",
8779
+ "name": "valueType",
8780
+ "type": {
8781
+ "text": "'hierarchy' | 'numeric' | 'datetime' | undefined"
8446
8782
  },
8447
8783
  "description": "The type value picker to render",
8448
8784
  "attribute": "value-type",
@@ -8642,6 +8978,16 @@
8642
8978
  "kind": "class",
8643
8979
  "description": "",
8644
8980
  "name": "LuzmoFilterValuePickerDatetime",
8981
+ "cssProperties": [
8982
+ {
8983
+ "description": "Gap between the controls of a relative range value.",
8984
+ "name": "--luzmo-filter-value-picker-datetime-gap"
8985
+ },
8986
+ {
8987
+ "description": "Wrap floor for each control of a relative range before they move onto separate lines.",
8988
+ "name": "--luzmo-filter-value-picker-datetime-control-min-width"
8989
+ }
8990
+ ],
8645
8991
  "members": [
8646
8992
  {
8647
8993
  "kind": "field",
@@ -8852,6 +9198,16 @@
8852
9198
  "kind": "class",
8853
9199
  "description": "",
8854
9200
  "name": "LuzmoFilterValuePickerHierarchy",
9201
+ "cssProperties": [
9202
+ {
9203
+ "description": "Color of the label shown when the stored value is no longer available.",
9204
+ "name": "--luzmo-filter-value-picker-hierarchy-missing-value-color"
9205
+ },
9206
+ {
9207
+ "description": "Smallest width a value control may shrink to in a narrow filter row.",
9208
+ "name": "--luzmo-filter-value-picker-hierarchy-control-min-width"
9209
+ }
9210
+ ],
8855
9211
  "members": [
8856
9212
  {
8857
9213
  "kind": "field",
@@ -9094,6 +9450,12 @@
9094
9450
  "kind": "class",
9095
9451
  "description": "",
9096
9452
  "name": "LuzmoFilterValuePickerNumeric",
9453
+ "cssProperties": [
9454
+ {
9455
+ "description": "Smallest width a value control may shrink to in a narrow filter row.",
9456
+ "name": "--luzmo-filter-value-picker-numeric-control-min-width"
9457
+ }
9458
+ ],
9097
9459
  "members": [
9098
9460
  {
9099
9461
  "kind": "field",
@@ -9413,12 +9775,43 @@
9413
9775
  "kind": "field",
9414
9776
  "name": "filters",
9415
9777
  "type": {
9416
- "text": "ItemFilterGroup[]"
9778
+ "text": "FiltersInput"
9417
9779
  },
9418
9780
  "default": "[]",
9419
- "description": "The filter groups to display",
9781
+ "description": "The filter groups to display.\n\nAccepts both halves of the public `ItemFilterOutput` / `DashboardFilterOutput`\nunions: canonical `ItemFilterGroup[]` and clean clause groups with flattened\nleaves. Nested `and` / `or` groups are preserved either way.",
9420
9782
  "attribute": "filters"
9421
9783
  },
9784
+ {
9785
+ "kind": "field",
9786
+ "name": "format",
9787
+ "type": {
9788
+ "text": "FiltersFormat"
9789
+ },
9790
+ "default": "'canonical'",
9791
+ "description": "Output format for the `luzmo-filters-changed` event.\n\n`canonical` emits `ItemFilterGroup[]`; `clean` emits the clean clause groups\nthat aligned hosts consume. A tree that cannot be represented cleanly falls\nback to canonical output, and the event says which format it carries.",
9792
+ "attribute": "format",
9793
+ "reflects": true
9794
+ },
9795
+ {
9796
+ "kind": "field",
9797
+ "name": "allowParameters",
9798
+ "type": {
9799
+ "text": "boolean"
9800
+ },
9801
+ "default": "false",
9802
+ "description": "Whether parameter-backed filter values can be created and selected.",
9803
+ "attribute": "allow-parameters",
9804
+ "reflects": true
9805
+ },
9806
+ {
9807
+ "kind": "field",
9808
+ "name": "parameters",
9809
+ "type": {
9810
+ "text": "FilterParameter[]"
9811
+ },
9812
+ "default": "[]",
9813
+ "description": "Consumer-owned parameter definitions available to filter rows."
9814
+ },
9422
9815
  {
9423
9816
  "kind": "field",
9424
9817
  "name": "debounce",
@@ -9466,7 +9859,21 @@
9466
9859
  "type": {
9467
9860
  "text": "CustomEvent<FiltersChangedEventDetail>"
9468
9861
  },
9469
- "description": "Announces that the filters have changed"
9862
+ "description": "Announces that the filters have changed, carrying the emitted groups and the format they are in"
9863
+ },
9864
+ {
9865
+ "type": {
9866
+ "text": "CustomEvent<{ parameter: FilterParameter }>"
9867
+ },
9868
+ "description": "Announces that a parameter was created and added to `parameters`.",
9869
+ "name": "luzmo-parameter-created"
9870
+ },
9871
+ {
9872
+ "type": {
9873
+ "text": "CustomEvent<{ parameter: FilterParameter }>"
9874
+ },
9875
+ "description": "Announces that a parameter was detached from a filter.",
9876
+ "name": "luzmo-parameter-removed"
9470
9877
  }
9471
9878
  ],
9472
9879
  "attributes": [
@@ -9531,12 +9938,30 @@
9531
9938
  {
9532
9939
  "name": "filters",
9533
9940
  "type": {
9534
- "text": "ItemFilterGroup[]"
9941
+ "text": "FiltersInput"
9535
9942
  },
9536
9943
  "default": "[]",
9537
- "description": "The filter groups to display",
9944
+ "description": "The filter groups to display.\n\nAccepts both halves of the public `ItemFilterOutput` / `DashboardFilterOutput`\nunions: canonical `ItemFilterGroup[]` and clean clause groups with flattened\nleaves. Nested `and` / `or` groups are preserved either way.",
9538
9945
  "fieldName": "filters"
9539
9946
  },
9947
+ {
9948
+ "name": "format",
9949
+ "type": {
9950
+ "text": "FiltersFormat"
9951
+ },
9952
+ "default": "'canonical'",
9953
+ "description": "Output format for the `luzmo-filters-changed` event.\n\n`canonical` emits `ItemFilterGroup[]`; `clean` emits the clean clause groups\nthat aligned hosts consume. A tree that cannot be represented cleanly falls\nback to canonical output, and the event says which format it carries.",
9954
+ "fieldName": "format"
9955
+ },
9956
+ {
9957
+ "name": "allow-parameters",
9958
+ "type": {
9959
+ "text": "boolean"
9960
+ },
9961
+ "default": "false",
9962
+ "description": "Whether parameter-backed filter values can be created and selected.",
9963
+ "fieldName": "allowParameters"
9964
+ },
9540
9965
  {
9541
9966
  "name": "debounce",
9542
9967
  "type": {
@@ -9620,9 +10045,617 @@
9620
10045
  "kind": "javascript-module",
9621
10046
  "path": "src/components/filters/types.ts",
9622
10047
  "declarations": [],
9623
- "exports": []
9624
- },
9625
- {
10048
+ "exports": [
10049
+ {
10050
+ "kind": "js",
10051
+ "name": "CleanFilter",
10052
+ "declaration": {
10053
+ "name": "CleanFilter",
10054
+ "module": "src/components/filters/types.ts"
10055
+ }
10056
+ },
10057
+ {
10058
+ "kind": "js",
10059
+ "name": "CleanFilterClauseGroup",
10060
+ "declaration": {
10061
+ "name": "CleanFilterClauseGroup",
10062
+ "module": "src/components/filters/types.ts"
10063
+ }
10064
+ },
10065
+ {
10066
+ "kind": "js",
10067
+ "name": "CleanFilterGroup",
10068
+ "declaration": {
10069
+ "name": "CleanFilterGroup",
10070
+ "module": "src/components/filters/types.ts"
10071
+ }
10072
+ },
10073
+ {
10074
+ "kind": "js",
10075
+ "name": "CleanRetrievedFilterGroup",
10076
+ "declaration": {
10077
+ "name": "CleanRetrievedFilterGroup",
10078
+ "module": "src/components/filters/types.ts"
10079
+ }
10080
+ },
10081
+ {
10082
+ "kind": "js",
10083
+ "name": "DashboardFilterOutput",
10084
+ "declaration": {
10085
+ "name": "DashboardFilterOutput",
10086
+ "module": "src/components/filters/types.ts"
10087
+ }
10088
+ },
10089
+ {
10090
+ "kind": "js",
10091
+ "name": "ItemFilterOutput",
10092
+ "declaration": {
10093
+ "name": "ItemFilterOutput",
10094
+ "module": "src/components/filters/types.ts"
10095
+ }
10096
+ }
10097
+ ]
10098
+ },
10099
+ {
10100
+ "kind": "javascript-module",
10101
+ "path": "src/components/filters/transformations/clean-filters.ts",
10102
+ "declarations": [
10103
+ {
10104
+ "kind": "function",
10105
+ "name": "isFilterReference",
10106
+ "return": {
10107
+ "type": {
10108
+ "text": "value is UnknownRecord"
10109
+ }
10110
+ },
10111
+ "parameters": [
10112
+ {
10113
+ "name": "value",
10114
+ "type": {
10115
+ "text": "unknown"
10116
+ }
10117
+ }
10118
+ ],
10119
+ "description": "A value that names a column rather than holding a literal. Mirrors the shared\n`isFilterColumnParam`: a named source stands on its own, while a bare\n`expression` needs a dataset to be a reference rather than a value. A reference\nmissing its dataset still matches, so that clean emit rejects it instead of\npassing the raw canonical object through as a value."
10120
+ },
10121
+ {
10122
+ "kind": "variable",
10123
+ "name": "expression"
10124
+ },
10125
+ {
10126
+ "kind": "function",
10127
+ "name": "cleanReferenceToCanonical",
10128
+ "return": {
10129
+ "type": {
10130
+ "text": "UnknownRecord"
10131
+ }
10132
+ },
10133
+ "parameters": [
10134
+ {
10135
+ "name": "reference",
10136
+ "type": {
10137
+ "text": "UnknownRecord"
10138
+ }
10139
+ },
10140
+ {
10141
+ "name": "allowExpressionAlias",
10142
+ "default": "true"
10143
+ }
10144
+ ],
10145
+ "description": "Clean reference -> canonical `parameters[0]`. `columnId` wins over an ad-hoc\nexpression, and `columnExpression` becomes the canonical reference `expression`."
10146
+ },
10147
+ {
10148
+ "kind": "function",
10149
+ "name": "canonicalReferenceToClean",
10150
+ "return": {
10151
+ "type": {
10152
+ "text": "UnknownRecord"
10153
+ }
10154
+ },
10155
+ "parameters": [
10156
+ {
10157
+ "name": "reference",
10158
+ "type": {
10159
+ "text": "UnknownRecord"
10160
+ }
10161
+ }
10162
+ ],
10163
+ "description": "Canonical `parameters[0]` -> clean inlined reference. Nested references inside\n`discretization.over` and `aggregation` are converted too, `lowestLevel` and\nnull-valued optional members are dropped, and a reference that cannot be\nexpressed publicly throws rather than leaking canonical keys into clean output."
10164
+ },
10165
+ {
10166
+ "kind": "function",
10167
+ "name": "cleanLeafToCondition",
10168
+ "return": {
10169
+ "type": {
10170
+ "text": "FilterCondition"
10171
+ }
10172
+ },
10173
+ "parameters": [
10174
+ {
10175
+ "name": "leaf",
10176
+ "type": {
10177
+ "text": "UnknownRecord"
10178
+ }
10179
+ },
10180
+ {
10181
+ "name": "inheritedClause",
10182
+ "optional": true,
10183
+ "type": {
10184
+ "text": "FilterClause"
10185
+ }
10186
+ }
10187
+ ],
10188
+ "description": "Clean leaf -> editor condition, restoring the canonical `parameters` tuple."
10189
+ },
10190
+ {
10191
+ "kind": "variable",
10192
+ "name": "parameters",
10193
+ "type": {
10194
+ "text": "unknown[]"
10195
+ },
10196
+ "default": "[cleanReferenceToCanonical(leaf, false)]"
10197
+ },
10198
+ {
10199
+ "kind": "function",
10200
+ "name": "conditionToCleanLeaf",
10201
+ "return": {
10202
+ "type": {
10203
+ "text": "CleanFilter | null"
10204
+ }
10205
+ },
10206
+ "parameters": [
10207
+ {
10208
+ "name": "condition",
10209
+ "type": {
10210
+ "text": "FilterCondition"
10211
+ }
10212
+ }
10213
+ ],
10214
+ "description": "Editor condition -> clean leaf. Returns `null` only for a leaf with no\nexpression, matching the canonical exporter's drop rule. Anything else that\ncannot be expressed cleanly throws, the way the shared normalizer does:\ndropping a live predicate would silently widen the rows the host applies."
10215
+ },
10216
+ {
10217
+ "kind": "variable",
10218
+ "name": "filters",
10219
+ "type": {
10220
+ "text": "unknown[]"
10221
+ },
10222
+ "default": "[]"
10223
+ },
10224
+ {
10225
+ "kind": "function",
10226
+ "name": "editGroupToCleanGroups",
10227
+ "return": {
10228
+ "type": {
10229
+ "text": "CleanFilterClauseGroup[]"
10230
+ }
10231
+ },
10232
+ "parameters": [
10233
+ {
10234
+ "name": "group",
10235
+ "type": {
10236
+ "text": "EditFilterGroup"
10237
+ }
10238
+ }
10239
+ ],
10240
+ "description": "Editor group -> clean clause groups. A group holding both clauses becomes one\n`where` group and one `having` group; neither reuses the original group id."
10241
+ }
10242
+ ],
10243
+ "exports": [
10244
+ {
10245
+ "kind": "js",
10246
+ "name": "isFilterReference",
10247
+ "declaration": {
10248
+ "name": "isFilterReference",
10249
+ "module": "src/components/filters/transformations/clean-filters.ts"
10250
+ }
10251
+ },
10252
+ {
10253
+ "kind": "js",
10254
+ "name": "cleanReferenceToCanonical",
10255
+ "declaration": {
10256
+ "name": "cleanReferenceToCanonical",
10257
+ "module": "src/components/filters/transformations/clean-filters.ts"
10258
+ }
10259
+ },
10260
+ {
10261
+ "kind": "js",
10262
+ "name": "canonicalReferenceToClean",
10263
+ "declaration": {
10264
+ "name": "canonicalReferenceToClean",
10265
+ "module": "src/components/filters/transformations/clean-filters.ts"
10266
+ }
10267
+ },
10268
+ {
10269
+ "kind": "js",
10270
+ "name": "cleanLeafToCondition",
10271
+ "declaration": {
10272
+ "name": "cleanLeafToCondition",
10273
+ "module": "src/components/filters/transformations/clean-filters.ts"
10274
+ }
10275
+ },
10276
+ {
10277
+ "kind": "js",
10278
+ "name": "conditionToCleanLeaf",
10279
+ "declaration": {
10280
+ "name": "conditionToCleanLeaf",
10281
+ "module": "src/components/filters/transformations/clean-filters.ts"
10282
+ }
10283
+ },
10284
+ {
10285
+ "kind": "js",
10286
+ "name": "editGroupToCleanGroups",
10287
+ "declaration": {
10288
+ "name": "editGroupToCleanGroups",
10289
+ "module": "src/components/filters/transformations/clean-filters.ts"
10290
+ }
10291
+ }
10292
+ ]
10293
+ },
10294
+ {
10295
+ "kind": "javascript-module",
10296
+ "path": "src/components/filters/transformations/filter-format.ts",
10297
+ "declarations": [
10298
+ {
10299
+ "kind": "variable",
10300
+ "name": "MAX_FILTER_NESTING_DEPTH",
10301
+ "type": {
10302
+ "text": "number"
10303
+ },
10304
+ "default": "20",
10305
+ "description": "Shared nesting limit, matching the platform-wide filter depth guard."
10306
+ },
10307
+ {
10308
+ "kind": "class",
10309
+ "description": "Raised when a filter tree cannot be represented in the requested encoding.",
10310
+ "name": "FilterUnrepresentableError",
10311
+ "members": [
10312
+ {
10313
+ "kind": "field",
10314
+ "name": "name",
10315
+ "type": {
10316
+ "text": "string"
10317
+ },
10318
+ "default": "'FilterUnrepresentableError'"
10319
+ }
10320
+ ],
10321
+ "superclass": {
10322
+ "name": "Error",
10323
+ "module": "src/components/filters/transformations/filter-format.ts"
10324
+ }
10325
+ },
10326
+ {
10327
+ "kind": "function",
10328
+ "name": "isRecord",
10329
+ "return": {
10330
+ "type": {
10331
+ "text": "value is Record<string, unknown>"
10332
+ }
10333
+ },
10334
+ "parameters": [
10335
+ {
10336
+ "name": "value",
10337
+ "type": {
10338
+ "text": "unknown"
10339
+ }
10340
+ }
10341
+ ]
10342
+ },
10343
+ {
10344
+ "kind": "function",
10345
+ "name": "isFilterGroupLike",
10346
+ "return": {
10347
+ "type": {
10348
+ "text": "value is Record<string, unknown>"
10349
+ }
10350
+ },
10351
+ "parameters": [
10352
+ {
10353
+ "name": "value",
10354
+ "type": {
10355
+ "text": "unknown"
10356
+ }
10357
+ }
10358
+ ],
10359
+ "description": "A group in either encoding, including a leftover uppercase condition. A group\nmay omit `condition` entirely, which `toLogicalCondition` resolves to `and`;\na condition that is present but not `and` / `or` is not a group."
10360
+ },
10361
+ {
10362
+ "kind": "function",
10363
+ "name": "isFilterLeafLike",
10364
+ "return": {
10365
+ "type": {
10366
+ "text": "value is Record<string, unknown>"
10367
+ }
10368
+ },
10369
+ "parameters": [
10370
+ {
10371
+ "name": "value",
10372
+ "type": {
10373
+ "text": "unknown"
10374
+ }
10375
+ }
10376
+ ],
10377
+ "description": "A leaf in either encoding. Groups are excluded by their `condition`."
10378
+ },
10379
+ {
10380
+ "kind": "function",
10381
+ "name": "hasCleanEncodingMarker",
10382
+ "return": {
10383
+ "type": {
10384
+ "text": "boolean"
10385
+ }
10386
+ },
10387
+ "parameters": [
10388
+ {
10389
+ "name": "leaf",
10390
+ "type": {
10391
+ "text": "Record<string, unknown>"
10392
+ }
10393
+ }
10394
+ ]
10395
+ },
10396
+ {
10397
+ "kind": "function",
10398
+ "name": "hasExactlyOneReferenceSource",
10399
+ "return": {
10400
+ "type": {
10401
+ "text": "boolean"
10402
+ }
10403
+ },
10404
+ "parameters": [
10405
+ {
10406
+ "name": "reference",
10407
+ "type": {
10408
+ "text": "Record<string, unknown>"
10409
+ }
10410
+ },
10411
+ {
10412
+ "name": "allowExpressionAlias",
10413
+ "default": "false"
10414
+ }
10415
+ ],
10416
+ "description": "Clean references name exactly one source. `columnExpression` is an alias that\nloses to `columnId` rather than competing with it, so the two together are one\nsource; `columnId` with `formulaId` is genuinely ambiguous and is rejected.\n\n`allowExpressionAlias` covers a standalone reference object, where a bare\n`expression` is the ad-hoc column. On a flattened leaf `expression` is the\nfilter operator instead, so callers there must leave it off."
10417
+ },
10418
+ {
10419
+ "kind": "function",
10420
+ "name": "isCleanFilterLeaf",
10421
+ "return": {
10422
+ "type": {
10423
+ "text": "value is Record<string, unknown>"
10424
+ }
10425
+ },
10426
+ "parameters": [
10427
+ {
10428
+ "name": "value",
10429
+ "type": {
10430
+ "text": "unknown"
10431
+ }
10432
+ }
10433
+ ],
10434
+ "description": "A flattened leaf: a dataset, exactly one reference source, and no `parameters`."
10435
+ },
10436
+ {
10437
+ "kind": "function",
10438
+ "name": "isCanonicalFilterLeaf",
10439
+ "return": {
10440
+ "type": {
10441
+ "text": "value is Record<string, unknown>"
10442
+ }
10443
+ },
10444
+ "parameters": [
10445
+ {
10446
+ "name": "value",
10447
+ "type": {
10448
+ "text": "unknown"
10449
+ }
10450
+ }
10451
+ ],
10452
+ "description": "A canonical leaf: an ordered `parameters` tuple and no clean inline key."
10453
+ },
10454
+ {
10455
+ "kind": "function",
10456
+ "name": "assertLeafEncodingNotMixed",
10457
+ "return": {
10458
+ "type": {
10459
+ "text": "void"
10460
+ }
10461
+ },
10462
+ "parameters": [
10463
+ {
10464
+ "name": "leaf",
10465
+ "type": {
10466
+ "text": "Record<string, unknown>"
10467
+ }
10468
+ }
10469
+ ],
10470
+ "description": "A leaf carrying both encodings is ambiguous about which operand is the\npredicate, so it is rejected rather than guessed."
10471
+ },
10472
+ {
10473
+ "kind": "function",
10474
+ "name": "assertCleanLeafIsComplete",
10475
+ "return": {
10476
+ "type": {
10477
+ "text": "void"
10478
+ }
10479
+ },
10480
+ "parameters": [
10481
+ {
10482
+ "name": "leaf",
10483
+ "type": {
10484
+ "text": "Record<string, unknown>"
10485
+ }
10486
+ }
10487
+ ],
10488
+ "description": "A leaf that is clean-encoded but not a valid clean leaf. Called only once\n`isCleanFilterLeaf` has rejected it, so that an incomplete reference is\nreported rather than silently reinterpreted as an empty canonical leaf."
10489
+ },
10490
+ {
10491
+ "kind": "function",
10492
+ "name": "isFilterClause",
10493
+ "return": {
10494
+ "type": {
10495
+ "text": "value is 'where' | 'having'"
10496
+ }
10497
+ },
10498
+ "parameters": [
10499
+ {
10500
+ "name": "value",
10501
+ "type": {
10502
+ "text": "unknown"
10503
+ }
10504
+ }
10505
+ ]
10506
+ },
10507
+ {
10508
+ "kind": "function",
10509
+ "name": "assertFilterNestingDepth",
10510
+ "return": {
10511
+ "type": {
10512
+ "text": "void"
10513
+ }
10514
+ },
10515
+ "parameters": [
10516
+ {
10517
+ "name": "depth",
10518
+ "type": {
10519
+ "text": "number"
10520
+ }
10521
+ }
10522
+ ]
10523
+ },
10524
+ {
10525
+ "kind": "function",
10526
+ "name": "detectFiltersFormat",
10527
+ "return": {
10528
+ "type": {
10529
+ "text": "DetectedFiltersFormat"
10530
+ }
10531
+ },
10532
+ "parameters": [
10533
+ {
10534
+ "name": "input",
10535
+ "type": {
10536
+ "text": "unknown"
10537
+ }
10538
+ }
10539
+ ],
10540
+ "description": "Classifies a filter payload for diagnostics. Never throws."
10541
+ }
10542
+ ],
10543
+ "exports": [
10544
+ {
10545
+ "kind": "js",
10546
+ "name": "MAX_FILTER_NESTING_DEPTH",
10547
+ "declaration": {
10548
+ "name": "MAX_FILTER_NESTING_DEPTH",
10549
+ "module": "src/components/filters/transformations/filter-format.ts"
10550
+ }
10551
+ },
10552
+ {
10553
+ "kind": "js",
10554
+ "name": "FilterUnrepresentableError",
10555
+ "declaration": {
10556
+ "name": "FilterUnrepresentableError",
10557
+ "module": "src/components/filters/transformations/filter-format.ts"
10558
+ }
10559
+ },
10560
+ {
10561
+ "kind": "js",
10562
+ "name": "isRecord",
10563
+ "declaration": {
10564
+ "name": "isRecord",
10565
+ "module": "src/components/filters/transformations/filter-format.ts"
10566
+ }
10567
+ },
10568
+ {
10569
+ "kind": "js",
10570
+ "name": "isFilterGroupLike",
10571
+ "declaration": {
10572
+ "name": "isFilterGroupLike",
10573
+ "module": "src/components/filters/transformations/filter-format.ts"
10574
+ }
10575
+ },
10576
+ {
10577
+ "kind": "js",
10578
+ "name": "isFilterLeafLike",
10579
+ "declaration": {
10580
+ "name": "isFilterLeafLike",
10581
+ "module": "src/components/filters/transformations/filter-format.ts"
10582
+ }
10583
+ },
10584
+ {
10585
+ "kind": "js",
10586
+ "name": "hasCleanEncodingMarker",
10587
+ "declaration": {
10588
+ "name": "hasCleanEncodingMarker",
10589
+ "module": "src/components/filters/transformations/filter-format.ts"
10590
+ }
10591
+ },
10592
+ {
10593
+ "kind": "js",
10594
+ "name": "hasExactlyOneReferenceSource",
10595
+ "declaration": {
10596
+ "name": "hasExactlyOneReferenceSource",
10597
+ "module": "src/components/filters/transformations/filter-format.ts"
10598
+ }
10599
+ },
10600
+ {
10601
+ "kind": "js",
10602
+ "name": "isCleanFilterLeaf",
10603
+ "declaration": {
10604
+ "name": "isCleanFilterLeaf",
10605
+ "module": "src/components/filters/transformations/filter-format.ts"
10606
+ }
10607
+ },
10608
+ {
10609
+ "kind": "js",
10610
+ "name": "isCanonicalFilterLeaf",
10611
+ "declaration": {
10612
+ "name": "isCanonicalFilterLeaf",
10613
+ "module": "src/components/filters/transformations/filter-format.ts"
10614
+ }
10615
+ },
10616
+ {
10617
+ "kind": "js",
10618
+ "name": "assertLeafEncodingNotMixed",
10619
+ "declaration": {
10620
+ "name": "assertLeafEncodingNotMixed",
10621
+ "module": "src/components/filters/transformations/filter-format.ts"
10622
+ }
10623
+ },
10624
+ {
10625
+ "kind": "js",
10626
+ "name": "assertCleanLeafIsComplete",
10627
+ "declaration": {
10628
+ "name": "assertCleanLeafIsComplete",
10629
+ "module": "src/components/filters/transformations/filter-format.ts"
10630
+ }
10631
+ },
10632
+ {
10633
+ "kind": "js",
10634
+ "name": "isFilterClause",
10635
+ "declaration": {
10636
+ "name": "isFilterClause",
10637
+ "module": "src/components/filters/transformations/filter-format.ts"
10638
+ }
10639
+ },
10640
+ {
10641
+ "kind": "js",
10642
+ "name": "assertFilterNestingDepth",
10643
+ "declaration": {
10644
+ "name": "assertFilterNestingDepth",
10645
+ "module": "src/components/filters/transformations/filter-format.ts"
10646
+ }
10647
+ },
10648
+ {
10649
+ "kind": "js",
10650
+ "name": "detectFiltersFormat",
10651
+ "declaration": {
10652
+ "name": "detectFiltersFormat",
10653
+ "module": "src/components/filters/transformations/filter-format.ts"
10654
+ }
10655
+ }
10656
+ ]
10657
+ },
10658
+ {
9626
10659
  "kind": "javascript-module",
9627
10660
  "path": "src/components/filters/transformations/transform-filters.ts",
9628
10661
  "declarations": [
@@ -9644,6 +10677,14 @@
9644
10677
  ],
9645
10678
  "description": "Normalize a group condition to the lowercase `'and' | 'or'` contract.\nAccepts legacy uppercase `'AND' | 'OR'` values."
9646
10679
  },
10680
+ {
10681
+ "kind": "variable",
10682
+ "name": "subGroups",
10683
+ "type": {
10684
+ "text": "ItemFilterGroup[]"
10685
+ },
10686
+ "default": "[]"
10687
+ },
9647
10688
  {
9648
10689
  "kind": "function",
9649
10690
  "name": "transformFilters",
@@ -9659,9 +10700,115 @@
9659
10700
  "text": "EditFilterGroup | null | undefined"
9660
10701
  },
9661
10702
  "description": "Filter group in the internal/legacy filters format"
10703
+ },
10704
+ {
10705
+ "description": "`format: 'clean'` opts into clean clause-group output",
10706
+ "name": "options"
9662
10707
  }
9663
10708
  ],
9664
- "description": "Transform EditFilterGroup from filters component into the format\nexpected by luzmo-embed-viz-item (ItemFilterGroup[])."
10709
+ "description": "Transform EditFilterGroup from filters component into the format\nexpected by luzmo-embed-viz-item (ItemFilterGroup[]), or into the clean\nclause groups published as `ItemFilterOutput` / `DashboardFilterOutput`."
10710
+ },
10711
+ {
10712
+ "kind": "function",
10713
+ "name": "transformFilters",
10714
+ "return": {
10715
+ "type": {
10716
+ "text": "CleanFilterClauseGroup[]"
10717
+ }
10718
+ },
10719
+ "parameters": [
10720
+ {
10721
+ "name": "filters",
10722
+ "type": {
10723
+ "text": "EditFilterGroup | null | undefined"
10724
+ }
10725
+ },
10726
+ {
10727
+ "name": "options",
10728
+ "type": {
10729
+ "text": "{ format: 'clean' }"
10730
+ }
10731
+ }
10732
+ ]
10733
+ },
10734
+ {
10735
+ "kind": "function",
10736
+ "name": "transformFilters",
10737
+ "return": {
10738
+ "type": {
10739
+ "text": "ItemFilterGroup[]"
10740
+ }
10741
+ },
10742
+ "parameters": [
10743
+ {
10744
+ "name": "filters",
10745
+ "type": {
10746
+ "text": "EditFilterGroup | null | undefined"
10747
+ }
10748
+ },
10749
+ {
10750
+ "name": "options",
10751
+ "type": {
10752
+ "text": "{ format?: 'canonical' }"
10753
+ }
10754
+ }
10755
+ ]
10756
+ },
10757
+ {
10758
+ "kind": "function",
10759
+ "name": "transformFilters",
10760
+ "return": {
10761
+ "type": {
10762
+ "text": "FiltersOutput"
10763
+ }
10764
+ },
10765
+ "parameters": [
10766
+ {
10767
+ "name": "filters",
10768
+ "type": {
10769
+ "text": "EditFilterGroup | null | undefined"
10770
+ }
10771
+ },
10772
+ {
10773
+ "name": "options",
10774
+ "optional": true,
10775
+ "type": {
10776
+ "text": "TransformFiltersOptions"
10777
+ }
10778
+ }
10779
+ ]
10780
+ },
10781
+ {
10782
+ "kind": "function",
10783
+ "name": "transformFilters",
10784
+ "return": {
10785
+ "type": {
10786
+ "text": "FiltersOutput"
10787
+ }
10788
+ },
10789
+ "parameters": [
10790
+ {
10791
+ "name": "filters",
10792
+ "type": {
10793
+ "text": "EditFilterGroup | null | undefined"
10794
+ }
10795
+ },
10796
+ {
10797
+ "name": "options",
10798
+ "optional": true,
10799
+ "type": {
10800
+ "text": "TransformFiltersOptions"
10801
+ }
10802
+ }
10803
+ ]
10804
+ },
10805
+ {
10806
+ "kind": "variable",
10807
+ "name": "filters",
10808
+ "type": {
10809
+ "text": "(FilterCondition | EditFilterGroup)[]"
10810
+ },
10811
+ "default": "[]"
9665
10812
  },
9666
10813
  {
9667
10814
  "kind": "function",
@@ -9675,21 +10822,45 @@
9675
10822
  {
9676
10823
  "name": "filters",
9677
10824
  "type": {
9678
- "text": "ItemFilterGroup[] | null | undefined"
10825
+ "text": "FiltersInput | null | undefined"
9679
10826
  },
9680
10827
  "description": "Filter groups from viz-item filters property or getFilters()"
9681
10828
  }
9682
10829
  ],
9683
- "description": "Transform filter groups from luzmo-embed-viz-item format into the format\nused internally by luzmo-filters."
10830
+ "description": "Transform filter groups from luzmo-embed-viz-item format into the format\nused internally by luzmo-filters.\n\nAccepts both halves of the public `ItemFilterOutput` / `DashboardFilterOutput`\nunions: canonical `ItemFilterGroup[]` and clean clause groups with flattened\nleaves. Nested `and` / `or` groups are preserved, never flattened."
9684
10831
  }
9685
10832
  ],
9686
10833
  "exports": [
9687
10834
  {
9688
10835
  "kind": "js",
9689
- "name": "VizItemFilterGroup",
10836
+ "name": "detectFiltersFormat",
10837
+ "declaration": {
10838
+ "name": "detectFiltersFormat",
10839
+ "module": "./filter-format"
10840
+ }
10841
+ },
10842
+ {
10843
+ "kind": "js",
10844
+ "name": "FilterUnrepresentableError",
10845
+ "declaration": {
10846
+ "name": "FilterUnrepresentableError",
10847
+ "module": "./filter-format"
10848
+ }
10849
+ },
10850
+ {
10851
+ "kind": "js",
10852
+ "name": "MAX_FILTER_NESTING_DEPTH",
10853
+ "declaration": {
10854
+ "name": "MAX_FILTER_NESTING_DEPTH",
10855
+ "module": "./filter-format"
10856
+ }
10857
+ },
10858
+ {
10859
+ "kind": "js",
10860
+ "name": "DetectedFiltersFormat",
9690
10861
  "declaration": {
9691
- "name": "ItemFilterGroup",
9692
- "package": "@luzmo/dashboard-contents-types"
10862
+ "name": "DetectedFiltersFormat",
10863
+ "module": "./filter-format"
9693
10864
  }
9694
10865
  },
9695
10866
  {
@@ -9708,6 +10879,38 @@
9708
10879
  "module": "src/components/filters/transformations/transform-filters.ts"
9709
10880
  }
9710
10881
  },
10882
+ {
10883
+ "kind": "js",
10884
+ "name": "transformFilters",
10885
+ "declaration": {
10886
+ "name": "transformFilters",
10887
+ "module": "src/components/filters/transformations/transform-filters.ts"
10888
+ }
10889
+ },
10890
+ {
10891
+ "kind": "js",
10892
+ "name": "transformFilters",
10893
+ "declaration": {
10894
+ "name": "transformFilters",
10895
+ "module": "src/components/filters/transformations/transform-filters.ts"
10896
+ }
10897
+ },
10898
+ {
10899
+ "kind": "js",
10900
+ "name": "transformFilters",
10901
+ "declaration": {
10902
+ "name": "transformFilters",
10903
+ "module": "src/components/filters/transformations/transform-filters.ts"
10904
+ }
10905
+ },
10906
+ {
10907
+ "kind": "js",
10908
+ "name": "transformFilters",
10909
+ "declaration": {
10910
+ "name": "transformFilters",
10911
+ "module": "src/components/filters/transformations/transform-filters.ts"
10912
+ }
10913
+ },
9711
10914
  {
9712
10915
  "kind": "js",
9713
10916
  "name": "reverseTransformFilters",