@luzmo/analytics-components-kit 1.0.6 → 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 (1207) hide show
  1. package/README.md +15 -4
  2. package/angular/README.md +40 -0
  3. package/angular/components/ai-chat-empty-state.ts +98 -0
  4. package/angular/components/ai-chat.ts +412 -0
  5. package/angular/components/ai-interaction-textarea.ts +256 -0
  6. package/angular/components/data-field-level.ts +130 -0
  7. package/angular/components/data-field-panel.ts +256 -0
  8. package/angular/components/data-field.ts +130 -0
  9. package/angular/components/data-fields-select.ts +212 -0
  10. package/angular/components/dataset-icon.ts +83 -0
  11. package/angular/components/dataset-selector-list.ts +140 -0
  12. package/angular/components/dataset-selector-row.ts +143 -0
  13. package/angular/components/display-settings-binning.ts +92 -0
  14. package/angular/components/display-settings-datetime.ts +100 -0
  15. package/angular/components/display-settings-grand-totals.ts +92 -0
  16. package/angular/components/display-settings-numeric.ts +113 -0
  17. package/angular/components/display-settings-period-over-period.ts +107 -0
  18. package/angular/components/display-settings.ts +227 -0
  19. package/angular/components/filter-expression-picker.ts +168 -0
  20. package/angular/components/filter-item.ts +175 -0
  21. package/angular/components/filter-parameter-picker.ts +155 -0
  22. package/angular/components/filter-value-picker-datetime.ts +125 -0
  23. package/angular/components/filter-value-picker-hierarchy.ts +146 -0
  24. package/angular/components/filter-value-picker-numeric.ts +146 -0
  25. package/angular/components/filter-value-picker.ts +160 -0
  26. package/angular/components/filters.ts +209 -0
  27. package/angular/components/formula-editor.ts +229 -0
  28. package/angular/components/formula-field.ts +198 -0
  29. package/angular/components/formula.ts +170 -0
  30. package/angular/components/interactive-viz-item.ts +186 -0
  31. package/angular/components/item-grid-item-actions-menu.ts +113 -0
  32. package/angular/components/item-grid.ts +242 -0
  33. package/angular/components/item-option-action-button-group.ts +105 -0
  34. package/angular/components/item-option-color-palette-picker.ts +126 -0
  35. package/angular/components/item-option-color-picker.ts +134 -0
  36. package/angular/components/item-option-color-range.ts +168 -0
  37. package/angular/components/item-option-multi-language-field.ts +133 -0
  38. package/angular/components/item-option-number-field.ts +161 -0
  39. package/angular/components/item-option-panel.ts +149 -0
  40. package/angular/components/item-option-picker.ts +120 -0
  41. package/angular/components/item-option-position-picker.ts +98 -0
  42. package/angular/components/item-option-positions-number-field.ts +140 -0
  43. package/angular/components/item-option-radio-button-group.ts +119 -0
  44. package/angular/components/item-option-slider.ts +126 -0
  45. package/angular/components/item-option-switch.ts +98 -0
  46. package/angular/components/item-option-text-field.ts +112 -0
  47. package/angular/components/item-option.ts +163 -0
  48. package/angular/components/item-slot-drop-panel.ts +236 -0
  49. package/angular/components/item-slot-drop.ts +231 -0
  50. package/angular/components/item-slot-picker-panel.ts +299 -0
  51. package/angular/components/item-slot-picker.ts +241 -0
  52. package/angular/components/slot-menu-list.ts +121 -0
  53. package/angular/components/slot-menu.ts +304 -0
  54. package/angular/components/viz-item-menu.ts +118 -0
  55. package/angular/esm/components/ai-chat-empty-state.d.ts +39 -0
  56. package/angular/esm/components/ai-chat-empty-state.js +99 -0
  57. package/angular/esm/components/ai-chat.d.ts +137 -0
  58. package/angular/esm/components/ai-chat.js +423 -0
  59. package/angular/esm/components/ai-interaction-textarea.d.ts +97 -0
  60. package/angular/esm/components/ai-interaction-textarea.js +273 -0
  61. package/angular/esm/components/data-field-level.d.ts +50 -0
  62. package/angular/esm/components/data-field-level.js +129 -0
  63. package/angular/esm/components/data-field-panel.d.ts +86 -0
  64. package/angular/esm/components/data-field-panel.js +268 -0
  65. package/angular/esm/components/data-field.d.ts +50 -0
  66. package/angular/esm/components/data-field.js +129 -0
  67. package/angular/esm/components/data-fields-select.d.ts +81 -0
  68. package/angular/esm/components/data-fields-select.js +227 -0
  69. package/angular/esm/components/dataset-icon.d.ts +34 -0
  70. package/angular/esm/components/dataset-icon.js +86 -0
  71. package/angular/esm/components/dataset-selector-list.d.ts +53 -0
  72. package/angular/esm/components/dataset-selector-list.js +147 -0
  73. package/angular/esm/components/dataset-selector-row.d.ts +53 -0
  74. package/angular/esm/components/dataset-selector-row.js +145 -0
  75. package/angular/esm/components/display-settings-binning.d.ts +37 -0
  76. package/angular/esm/components/display-settings-binning.js +91 -0
  77. package/angular/esm/components/display-settings-datetime.d.ts +40 -0
  78. package/angular/esm/components/display-settings-datetime.js +99 -0
  79. package/angular/esm/components/display-settings-grand-totals.d.ts +37 -0
  80. package/angular/esm/components/display-settings-grand-totals.js +91 -0
  81. package/angular/esm/components/display-settings-numeric.d.ts +45 -0
  82. package/angular/esm/components/display-settings-numeric.js +115 -0
  83. package/angular/esm/components/display-settings-period-over-period.d.ts +44 -0
  84. package/angular/esm/components/display-settings-period-over-period.js +107 -0
  85. package/angular/esm/components/display-settings.d.ts +83 -0
  86. package/angular/esm/components/display-settings.js +231 -0
  87. package/angular/esm/components/filter-expression-picker.d.ts +64 -0
  88. package/angular/esm/components/filter-expression-picker.js +179 -0
  89. package/angular/esm/components/filter-item.d.ts +63 -0
  90. package/angular/esm/components/filter-item.js +187 -0
  91. package/angular/esm/components/filter-parameter-picker.d.ts +56 -0
  92. package/angular/esm/components/filter-parameter-picker.js +151 -0
  93. package/angular/esm/components/filter-value-picker-datetime.d.ts +47 -0
  94. package/angular/esm/components/filter-value-picker-datetime.js +131 -0
  95. package/angular/esm/components/filter-value-picker-hierarchy.d.ts +53 -0
  96. package/angular/esm/components/filter-value-picker-hierarchy.js +155 -0
  97. package/angular/esm/components/filter-value-picker-numeric.d.ts +53 -0
  98. package/angular/esm/components/filter-value-picker-numeric.js +155 -0
  99. package/angular/esm/components/filter-value-picker.d.ts +57 -0
  100. package/angular/esm/components/filter-value-picker.js +171 -0
  101. package/angular/esm/components/filters.d.ts +75 -0
  102. package/angular/esm/components/filters.js +215 -0
  103. package/angular/esm/components/formula-editor.d.ts +78 -0
  104. package/angular/esm/components/formula-editor.js +236 -0
  105. package/angular/esm/components/formula-field.d.ts +70 -0
  106. package/angular/esm/components/formula-field.js +209 -0
  107. package/angular/esm/components/formula.d.ts +60 -0
  108. package/angular/esm/components/formula.js +177 -0
  109. package/angular/esm/components/interactive-viz-item.d.ts +63 -0
  110. package/angular/esm/components/interactive-viz-item.js +188 -0
  111. package/angular/esm/components/item-grid-item-actions-menu.d.ts +45 -0
  112. package/angular/esm/components/item-grid-item-actions-menu.js +115 -0
  113. package/angular/esm/components/item-grid.d.ts +80 -0
  114. package/angular/esm/components/item-grid.js +245 -0
  115. package/angular/esm/components/item-option-action-button-group.d.ts +41 -0
  116. package/angular/esm/components/item-option-action-button-group.js +107 -0
  117. package/angular/esm/components/item-option-color-palette-picker.d.ts +48 -0
  118. package/angular/esm/components/item-option-color-palette-picker.js +131 -0
  119. package/angular/esm/components/item-option-color-picker.d.ts +51 -0
  120. package/angular/esm/components/item-option-color-picker.js +139 -0
  121. package/angular/esm/components/item-option-color-range.d.ts +66 -0
  122. package/angular/esm/components/item-option-color-range.js +179 -0
  123. package/angular/esm/components/item-option-multi-language-field.d.ts +50 -0
  124. package/angular/esm/components/item-option-multi-language-field.js +139 -0
  125. package/angular/esm/components/item-option-number-field.d.ts +58 -0
  126. package/angular/esm/components/item-option-number-field.js +171 -0
  127. package/angular/esm/components/item-option-panel.d.ts +54 -0
  128. package/angular/esm/components/item-option-panel.js +155 -0
  129. package/angular/esm/components/item-option-picker.d.ts +46 -0
  130. package/angular/esm/components/item-option-picker.js +123 -0
  131. package/angular/esm/components/item-option-position-picker.d.ts +39 -0
  132. package/angular/esm/components/item-option-position-picker.js +99 -0
  133. package/angular/esm/components/item-option-positions-number-field.d.ts +54 -0
  134. package/angular/esm/components/item-option-positions-number-field.js +147 -0
  135. package/angular/esm/components/item-option-radio-button-group.d.ts +45 -0
  136. package/angular/esm/components/item-option-radio-button-group.js +123 -0
  137. package/angular/esm/components/item-option-slider.d.ts +46 -0
  138. package/angular/esm/components/item-option-slider.js +131 -0
  139. package/angular/esm/components/item-option-switch.d.ts +40 -0
  140. package/angular/esm/components/item-option-switch.js +99 -0
  141. package/angular/esm/components/item-option-text-field.d.ts +44 -0
  142. package/angular/esm/components/item-option-text-field.js +115 -0
  143. package/angular/esm/components/item-option.d.ts +58 -0
  144. package/angular/esm/components/item-option.js +171 -0
  145. package/angular/esm/components/item-slot-drop-panel.d.ts +82 -0
  146. package/angular/esm/components/item-slot-drop-panel.js +249 -0
  147. package/angular/esm/components/item-slot-drop.d.ts +77 -0
  148. package/angular/esm/components/item-slot-drop.js +227 -0
  149. package/angular/esm/components/item-slot-picker-panel.d.ts +97 -0
  150. package/angular/esm/components/item-slot-picker-panel.js +309 -0
  151. package/angular/esm/components/item-slot-picker.d.ts +86 -0
  152. package/angular/esm/components/item-slot-picker.js +259 -0
  153. package/angular/esm/components/slot-menu-list.d.ts +46 -0
  154. package/angular/esm/components/slot-menu-list.js +123 -0
  155. package/angular/esm/components/slot-menu.d.ts +104 -0
  156. package/angular/esm/components/slot-menu.js +300 -0
  157. package/angular/esm/components/viz-item-menu.d.ts +42 -0
  158. package/angular/esm/components/viz-item-menu.js +111 -0
  159. package/angular/esm/index.d.ts +107 -0
  160. package/angular/esm/index.js +213 -0
  161. package/angular/index.ts +219 -0
  162. package/angular/package.json +40 -0
  163. package/angular/tsconfig.json +36 -0
  164. package/angular/type-fallbacks.d.ts +0 -0
  165. package/angular/utils/ai-prompt/attachments.d.ts +10 -0
  166. package/angular/utils/ai-prompt/dictation.d.ts +50 -0
  167. package/angular/utils/ai-prompt/image-upload.d.ts +12 -0
  168. package/angular/utils/ai-prompt/index.d.ts +6 -0
  169. package/angular/utils/ai-prompt/tests/attachments.test.d.ts +1 -0
  170. package/angular/utils/ai-prompt/tests/dictation.test.d.ts +1 -0
  171. package/angular/utils/ai-prompt/tests/image-upload.test.d.ts +1 -0
  172. package/angular/utils/base/base.d.ts +16 -0
  173. package/angular/utils/base/focus-visible.d.ts +29 -0
  174. package/angular/utils/base/focusable.d.ts +58 -0
  175. package/angular/utils/base/index.d.ts +5 -0
  176. package/angular/utils/base/localized-mixin.d.ts +22 -0
  177. package/angular/utils/base/sized-mixin.d.ts +17 -0
  178. package/angular/utils/color/color-palettes.d.ts +17 -0
  179. package/angular/utils/color/extrapolate-color.d.ts +1 -0
  180. package/angular/utils/data/load-data-fields-for-datasets.d.ts +22 -0
  181. package/angular/utils/data-broker/index.d.ts +257 -0
  182. package/angular/utils/data-field-types/calculate-data-field-icon.d.ts +12 -0
  183. package/angular/utils/data-field-types/default-acceptable-data-field-types.d.ts +1 -0
  184. package/angular/utils/data-field-types/tests/calculate-data-field-icon.test.d.ts +1 -0
  185. package/angular/utils/drag/draggable.d.ts +13 -0
  186. package/angular/utils/drag/pragmatic-element-adapter.d.ts +2 -0
  187. package/angular/utils/drag/tests/pragmatic-element-adapter.first-import.test.d.ts +1 -0
  188. package/angular/utils/drag/tests/pragmatic-element-adapter.test.d.ts +1 -0
  189. package/angular/utils/filters/expressions.d.ts +15 -0
  190. package/angular/utils/filters/index.d.ts +1 -0
  191. package/angular/utils/formatter/calculate-duration.d.ts +2 -0
  192. package/angular/utils/formatter/decompose-numeric-format.d.ts +11 -0
  193. package/angular/utils/formatter/default-local-formats.d.ts +20 -0
  194. package/angular/utils/formatter/formats/cs.d.ts +20 -0
  195. package/angular/utils/formatter/formats/da.d.ts +20 -0
  196. package/angular/utils/formatter/formats/de.d.ts +21 -0
  197. package/angular/utils/formatter/formats/en-GB.d.ts +21 -0
  198. package/angular/utils/formatter/formats/en-US.d.ts +1 -0
  199. package/angular/utils/formatter/formats/en.d.ts +1 -0
  200. package/angular/utils/formatter/formats/es.d.ts +54 -0
  201. package/angular/utils/formatter/formats/fi.d.ts +20 -0
  202. package/angular/utils/formatter/formats/fr.d.ts +54 -0
  203. package/angular/utils/formatter/formats/he.d.ts +20 -0
  204. package/angular/utils/formatter/formats/hu.d.ts +20 -0
  205. package/angular/utils/formatter/formats/it.d.ts +54 -0
  206. package/angular/utils/formatter/formats/ja.d.ts +20 -0
  207. package/angular/utils/formatter/formats/ko.d.ts +20 -0
  208. package/angular/utils/formatter/formats/mk.d.ts +20 -0
  209. package/angular/utils/formatter/formats/nl.d.ts +21 -0
  210. package/angular/utils/formatter/formats/no.d.ts +21 -0
  211. package/angular/utils/formatter/formats/pl.d.ts +20 -0
  212. package/angular/utils/formatter/formats/pt.d.ts +20 -0
  213. package/angular/utils/formatter/formats/ru.d.ts +20 -0
  214. package/angular/utils/formatter/formats/sv.d.ts +20 -0
  215. package/angular/utils/formatter/formats/tr.d.ts +21 -0
  216. package/angular/utils/formatter/formats/zh-CN.d.ts +20 -0
  217. package/angular/utils/formatter/formats/zh-TW.d.ts +20 -0
  218. package/angular/utils/formatter/formatter.d.ts +9 -0
  219. package/angular/utils/formatter/get-dataset-name.d.ts +2 -0
  220. package/angular/utils/formatter/localize.d.ts +3 -0
  221. package/angular/utils/formatter/smart-datetime-formats.const.d.ts +36 -0
  222. package/angular/utils/formatter/tests/calculate-duration.test.d.ts +1 -0
  223. package/angular/utils/formatter/tests/decompose-numeric-format.test.d.ts +1 -0
  224. package/angular/utils/formatter/tests/default-local-formats.test.d.ts +1 -0
  225. package/angular/utils/formatter/tests/formatter.test.d.ts +1 -0
  226. package/angular/utils/formatter/tests/localize.test.d.ts +1 -0
  227. package/angular/utils/formula/base/formula-base.d.ts +117 -0
  228. package/angular/utils/formula/base/formula-input-base.d.ts +62 -0
  229. package/angular/utils/formula/codemirror/actions.d.ts +47 -0
  230. package/angular/utils/formula/codemirror/drop-cursor.d.ts +15 -0
  231. package/angular/utils/formula/codemirror/icon-element.d.ts +7 -0
  232. package/angular/utils/formula/codemirror/parser.d.ts +16 -0
  233. package/angular/utils/formula/codemirror/tests/actions.test.d.ts +1 -0
  234. package/angular/utils/formula/codemirror/theme.d.ts +20 -0
  235. package/angular/utils/formula/codemirror/widget.d.ts +18 -0
  236. package/angular/utils/formula/config/aggregations.d.ts +9 -0
  237. package/angular/utils/formula/config/build-datasets.d.ts +10 -0
  238. package/angular/utils/formula/config/expression-helpers.d.ts +42 -0
  239. package/angular/utils/formula/config/functions.d.ts +3 -0
  240. package/angular/utils/formula/config/groupings.d.ts +9 -0
  241. package/angular/utils/formula/config/regex.d.ts +39 -0
  242. package/angular/utils/formula/config/resolve-column-presentation.d.ts +19 -0
  243. package/angular/utils/formula/config/tests/build-datasets.test.d.ts +1 -0
  244. package/angular/utils/formula/config/validate-expression.d.ts +19 -0
  245. package/angular/utils/formula/load-formula-codemirror.d.ts +4 -0
  246. package/angular/utils/formula/render-explanation-tooltip.d.ts +7 -0
  247. package/angular/utils/formula/store/formula-display-store.d.ts +93 -0
  248. package/angular/utils/formula/store/formula-editor-context.d.ts +8 -0
  249. package/angular/utils/formula/store/formula-editor-store.d.ts +46 -0
  250. package/angular/utils/formula/store/tests/formula-editor-store.test.d.ts +1 -0
  251. package/angular/utils/formula/tests/validate-expression.test.d.ts +1 -0
  252. package/angular/utils/get-css-variable.d.ts +1 -0
  253. package/angular/utils/index.d.ts +10 -0
  254. package/angular/utils/localize/set-locale.d.ts +7 -0
  255. package/angular/utils/map-tile-providers/index.d.ts +93 -0
  256. package/angular/utils/slot-content/ad-hoc-slot-content.d.ts +7 -0
  257. package/angular/utils/slot-content/render-calculation-label.d.ts +7 -0
  258. package/angular/utils/slot-content/tests/ad-hoc-slot-content.test.d.ts +1 -0
  259. package/angular/utils/slot-state/slot-context.d.ts +4 -0
  260. package/angular/utils/slot-state/slot-store.d.ts +39 -0
  261. package/angular/utils/store/base-store.d.ts +162 -0
  262. package/angular/utils/store/dashboard-store.d.ts +49 -0
  263. package/angular/utils/store/index.d.ts +135 -0
  264. package/angular/utils/store/item-store.d.ts +33 -0
  265. package/angular/utils/store/store-registry.d.ts +170 -0
  266. package/angular/utils/store/tests/dashboard-store.test.d.ts +1 -0
  267. package/angular/utils/store/tests/item-store.test.d.ts +1 -0
  268. package/angular/utils/store/tests/store-registry.test.d.ts +1 -0
  269. package/angular/utils/store/types.d.ts +270 -0
  270. package/angular/utils/switch-item/index.d.ts +34 -0
  271. package/angular/utils/switch-item/slot-role-classification.d.ts +31 -0
  272. package/angular/utils/switch-item/stories/switch-item.stories.d.ts +17 -0
  273. package/angular/utils/switch-item/tests/slot-role-classification.test.d.ts +1 -0
  274. package/angular/utils/switch-item/tests/switch-item.test.d.ts +1 -0
  275. package/angular/utils/themes/bliss.d.ts +2 -0
  276. package/angular/utils/themes/classic-dark.d.ts +2 -0
  277. package/angular/utils/themes/classic.d.ts +2 -0
  278. package/angular/utils/themes/default-dark.d.ts +2 -0
  279. package/angular/utils/themes/default.d.ts +2 -0
  280. package/angular/utils/themes/index.d.ts +4 -0
  281. package/angular/utils/themes/orion.d.ts +2 -0
  282. package/angular/utils/themes/pinky.d.ts +2 -0
  283. package/angular/utils/themes/radiant.d.ts +2 -0
  284. package/angular/utils/themes/royale.d.ts +2 -0
  285. package/angular/utils/themes/seasonal.d.ts +2 -0
  286. package/angular/utils/themes/urban.d.ts +2 -0
  287. package/angular/utils/themes/vivid.d.ts +2 -0
  288. package/angular/utils/time/formats.const.d.ts +4 -0
  289. package/angular/utils/time/period-over-period-condition.const.d.ts +8 -0
  290. package/angular/utils/time/periods.const.d.ts +15 -0
  291. package/angular/utils/timezone/datetime-timezone.d.ts +25 -0
  292. package/angular/utils/timezone/tests/datetime-timezone.test.d.ts +1 -0
  293. package/angular/utils/transformations/convert-data-field-to-slot-content.d.ts +9 -0
  294. package/angular/utils/transformations/convert-datasets-to-data-fields.d.ts +30 -0
  295. package/angular/utils/transformations/tests/convert-data-field-to-slot-content.test.d.ts +1 -0
  296. package/angular/utils/transformations/tests/convert-datasets-to-data-fields.test.d.ts +1 -0
  297. package/angular/utils/types/tests/type-check.test.d.ts +1 -0
  298. package/angular/utils/types/type-check.d.ts +28 -0
  299. package/components/ad-hoc-slot-content-BwcFfXCV.cjs +20 -0
  300. package/components/ad-hoc-slot-content-hSlT62VS.js +29 -0
  301. package/components/ai-chat/ai-chat-events.d.ts +123 -0
  302. package/components/ai-chat/ai-chat-request.d.ts +20 -0
  303. package/components/ai-chat/ai-chat.d.ts +318 -0
  304. package/components/ai-chat/ai-prompt-types.d.ts +118 -0
  305. package/components/ai-chat/empty-state/ai-chat-empty-state.d.ts +46 -0
  306. package/components/ai-chat/empty-state/index.d.ts +8 -0
  307. package/components/ai-chat/empty-state/types.d.ts +14 -0
  308. package/components/ai-chat/index.cjs +20 -0
  309. package/components/ai-chat/index.d.ts +23 -0
  310. package/components/ai-chat/index.js +29 -0
  311. package/components/ai-chat/session/ai-chat-session-controller.d.ts +57 -0
  312. package/components/ai-chat/session/ai-chat-session-types.d.ts +101 -0
  313. package/components/ai-chat/session/ai-chat-session.d.ts +102 -0
  314. package/components/ai-chat/session/index.d.ts +2 -0
  315. package/components/ai-chat/stream/chunk-extractors.d.ts +27 -0
  316. package/components/ai-chat/stream/index.d.ts +52 -0
  317. package/components/ai-chat/stream/progress.d.ts +3 -0
  318. package/components/ai-chat/stream/registry.d.ts +6 -0
  319. package/components/ai-chat/stream/stream-processor.d.ts +2 -0
  320. package/components/ai-chat/stream/transport.d.ts +26 -0
  321. package/components/ai-chat/stream/types.d.ts +55 -0
  322. package/components/ai-chat-CDSRFmJK.js +4034 -0
  323. package/components/ai-chat-CVNU2mCV.cjs +319 -0
  324. package/components/ai-interaction-textarea/ai-interaction-textarea.d.ts +212 -0
  325. package/components/ai-interaction-textarea/index.cjs +20 -0
  326. package/components/ai-interaction-textarea/index.d.ts +8 -0
  327. package/components/ai-interaction-textarea/index.js +28 -0
  328. package/components/ai-interaction-textarea/types.d.ts +10 -0
  329. package/components/ai-interaction-textarea-BXDeplJF.cjs +93 -0
  330. package/components/ai-interaction-textarea-BiMbUGCy.js +785 -0
  331. package/components/area-chart-options.config-Dc4P64YS.js +229 -0
  332. package/components/area-chart-positioning.config-SLtTkKJB.js +55 -0
  333. package/components/area-chart-positioning.config-dwRUFC--.cjs +20 -0
  334. package/components/area-chart-slots.config-DdPO34_g.js +55 -0
  335. package/components/bar-chart-options.config-B7tknpxM.js +300 -0
  336. package/components/bar-chart-positioning.config-CcQ2iQdl.cjs +20 -0
  337. package/components/bar-chart-positioning.config-Ch4sVyJS.js +59 -0
  338. package/components/bar-chart-slots.config-BnbZRLIr.js +50 -0
  339. package/components/base-2sulw8ws.js +249 -0
  340. package/components/base-DYRe99_q.cjs +20 -0
  341. package/components/box-plot-options.config-D6Wvmx36.js +356 -0
  342. package/components/box-plot-positioning.config-Bb7r-Rfl.js +48 -0
  343. package/components/box-plot-positioning.config-Dwtiqho4.cjs +20 -0
  344. package/components/box-plot-slots.config-D6F2R2dw.js +40 -0
  345. package/components/bubble-chart-options.config-CDY6pFK6.js +135 -0
  346. package/components/bubble-chart-positioning.config-Bp_l4Cw1.cjs +20 -0
  347. package/components/bubble-chart-positioning.config-Q7mIfpcz.js +55 -0
  348. package/components/bubble-chart-slots.config-BJdtdpS0.js +47 -0
  349. package/components/bullet-chart-options.config-B4vBSWrH.js +75 -0
  350. package/components/bullet-chart-positioning.config-B7aXCajU.js +56 -0
  351. package/components/bullet-chart-positioning.config-sj7E3xEM.cjs +20 -0
  352. package/components/bullet-chart-slots.config-NeUTKgYI.js +46 -0
  353. package/components/choropleth-map-options.config-6-xaMCeR.js +348 -0
  354. package/components/choropleth-map-positioning.config-CtoJov9H.js +55 -0
  355. package/components/choropleth-map-positioning.config-DM-iNbgs.cjs +20 -0
  356. package/components/choropleth-map-slots.config-BbBwTeuw.js +53 -0
  357. package/components/circle-pack-chart-options.config-DWkyGqA_.js +54 -0
  358. package/components/circle-pack-chart-positioning.config-BgxnBOQT.js +48 -0
  359. package/components/circle-pack-chart-positioning.config-Cs9xMDpi.cjs +20 -0
  360. package/components/circle-pack-chart-slots.config-CJFjalBn.js +38 -0
  361. package/components/circular-gauge-options.config-D_xHWhBy.js +188 -0
  362. package/components/circular-gauge-positioning.config-Bzulob5F.cjs +20 -0
  363. package/components/circular-gauge-positioning.config-FEkbw6hK.js +48 -0
  364. package/components/circular-gauge-slots.config-DAKsa5Hq.js +39 -0
  365. package/components/column-chart-options.config-B_a7iN-c.js +299 -0
  366. package/components/column-chart-positioning.config-9ho9oUo8.cjs +20 -0
  367. package/components/column-chart-positioning.config-BeVOSQaJ.js +55 -0
  368. package/components/column-chart-slots.config-Bpr-WaCi.js +50 -0
  369. package/components/combination-chart-options.config-l4szBpws.js +150 -0
  370. package/components/combination-chart-positioning.config-CaShl4vv.cjs +20 -0
  371. package/components/combination-chart-positioning.config-D4VUK54k.js +48 -0
  372. package/components/combination-chart-slots.config-u-QLoQQ-.js +43 -0
  373. package/components/conditional-number-options.config-DB4_BYN2.js +205 -0
  374. package/components/conditional-number-positioning.config-BEMjjhdi.cjs +20 -0
  375. package/components/conditional-number-positioning.config-C-LpjCJN.js +48 -0
  376. package/components/conditional-number-slots.config-CiLUXRSe.js +39 -0
  377. package/components/convert-data-field-to-slot-content-C6IIqU7G.js +53 -0
  378. package/components/convert-data-field-to-slot-content-DLzkk6dT.cjs +20 -0
  379. package/components/convert-datasets-to-data-fields-B13rl1an.cjs +20 -0
  380. package/components/convert-datasets-to-data-fields-PmQzeVLG.js +68 -0
  381. package/components/data-field/index.cjs +1 -1
  382. package/components/data-field/index.d.ts +1 -0
  383. package/components/data-field/index.js +1 -1
  384. package/components/data-field-Dz0XFrep.js +121 -0
  385. package/components/data-field-lGJ557o4.cjs +54 -0
  386. package/components/data-field-level/data-field-level.d.ts +40 -0
  387. package/components/data-field-level/helpers/generate-preview.d.ts +9 -0
  388. package/components/data-field-level/index.cjs +20 -0
  389. package/components/data-field-level/index.d.ts +8 -0
  390. package/components/data-field-level/index.js +28 -0
  391. package/components/data-field-level-B9r4ucP6.cjs +55 -0
  392. package/components/data-field-level-DJoidlHN.js +247 -0
  393. package/components/data-field-panel/index.cjs +1 -1
  394. package/components/data-field-panel/index.d.ts +1 -0
  395. package/components/data-field-panel/index.js +1 -1
  396. package/components/data-field-panel-BzyjbJO5.cjs +87 -0
  397. package/components/data-field-panel-CdeJxZCr.js +385 -0
  398. package/components/data-fields-select/data-fields-select.d.ts +133 -0
  399. package/components/data-fields-select/index.cjs +20 -0
  400. package/components/data-fields-select/index.d.ts +9 -0
  401. package/components/data-fields-select/index.js +28 -0
  402. package/components/data-fields-select/types.d.ts +4 -0
  403. package/components/data-fields-select-BBzzUG2u.cjs +41 -0
  404. package/components/data-fields-select-BRBBrS-x.js +280 -0
  405. package/components/dataset-icon/dataset-icon.d.ts +45 -0
  406. package/components/dataset-icon/index.cjs +20 -0
  407. package/components/dataset-icon/index.d.ts +8 -0
  408. package/components/dataset-icon/index.js +28 -0
  409. package/components/dataset-icon/types.d.ts +11 -0
  410. package/components/dataset-icon-BAV0S4sZ.cjs +64 -0
  411. package/components/dataset-icon-CWT5Ju8w.js +125 -0
  412. package/components/dataset-selector-list/dataset-selector-list.d.ts +102 -0
  413. package/components/dataset-selector-list/index.cjs +20 -0
  414. package/components/dataset-selector-list/index.d.ts +8 -0
  415. package/components/dataset-selector-list/index.js +28 -0
  416. package/components/dataset-selector-list-DGCh1bvb.js +313 -0
  417. package/components/dataset-selector-list-xF3yKGan.cjs +75 -0
  418. package/components/dataset-selector-row/dataset-selector-row.d.ts +89 -0
  419. package/components/dataset-selector-row/index.cjs +20 -0
  420. package/components/dataset-selector-row/index.d.ts +8 -0
  421. package/components/dataset-selector-row/index.js +28 -0
  422. package/components/dataset-selector-row-BbnjxfIz.js +273 -0
  423. package/components/dataset-selector-row-fmrY3y86.cjs +79 -0
  424. package/components/date-comparison-filter-options.config-BSzzAJPM.js +126 -0
  425. package/components/date-comparison-filter-slots.config-Cvze969w.js +33 -0
  426. package/components/date-filter-options.config-C6VvDjd8.js +118 -0
  427. package/components/date-filter-slots.config-Y8hmQh0S.js +37 -0
  428. package/components/de-BzcAVqyW.cjs +20 -0
  429. package/components/de-CRrCVuH7.js +503 -0
  430. package/components/decompose-numeric-format-DGJua3rU.cjs +20 -0
  431. package/components/decompose-numeric-format-DS0j2wa1.js +36 -0
  432. package/components/decorate-DCJt-2rt.cjs +20 -0
  433. package/components/decorate-DyMgX_Uh.js +28 -0
  434. package/components/display-settings/display-settings.d.ts +117 -0
  435. package/components/display-settings/index.cjs +20 -0
  436. package/components/display-settings/index.d.ts +8 -0
  437. package/components/display-settings/index.js +28 -0
  438. package/components/display-settings/types.d.ts +9 -0
  439. package/components/display-settings-C9OQ4Eou.js +313 -0
  440. package/components/display-settings-binning/display-settings-binning.d.ts +32 -0
  441. package/components/display-settings-binning/index.cjs +20 -0
  442. package/components/display-settings-binning/index.d.ts +8 -0
  443. package/components/display-settings-binning/index.js +28 -0
  444. package/components/display-settings-binning-B8E2H5cY.js +110 -0
  445. package/components/display-settings-binning-BBNL97l9.cjs +56 -0
  446. package/components/display-settings-datetime/display-settings-datetime.d.ts +86 -0
  447. package/components/display-settings-datetime/index.cjs +20 -0
  448. package/components/display-settings-datetime/index.d.ts +8 -0
  449. package/components/display-settings-datetime/index.js +28 -0
  450. package/components/display-settings-datetime-BBzvzwl5.js +413 -0
  451. package/components/display-settings-datetime-czjk5Msv.cjs +217 -0
  452. package/components/display-settings-eSQCidqh.cjs +140 -0
  453. package/components/display-settings-grand-totals/display-settings-grand-totals.d.ts +29 -0
  454. package/components/display-settings-grand-totals/index.cjs +20 -0
  455. package/components/display-settings-grand-totals/index.d.ts +8 -0
  456. package/components/display-settings-grand-totals/index.js +28 -0
  457. package/components/display-settings-grand-totals-CF01m8x-.js +89 -0
  458. package/components/display-settings-grand-totals-RwMnGwFZ.cjs +44 -0
  459. package/components/display-settings-numeric/display-settings-numeric.d.ts +82 -0
  460. package/components/display-settings-numeric/helpers/constants.d.ts +19 -0
  461. package/components/display-settings-numeric/index.cjs +20 -0
  462. package/components/display-settings-numeric/index.d.ts +8 -0
  463. package/components/display-settings-numeric/index.js +28 -0
  464. package/components/display-settings-numeric-BcpwYX16.js +479 -0
  465. package/components/display-settings-numeric-C4X7oOEU.cjs +190 -0
  466. package/components/display-settings-period-over-period/display-settings-period-over-period.d.ts +68 -0
  467. package/components/display-settings-period-over-period/helpers/constants.d.ts +44 -0
  468. package/components/display-settings-period-over-period/index.cjs +20 -0
  469. package/components/display-settings-period-over-period/index.d.ts +8 -0
  470. package/components/display-settings-period-over-period/index.js +28 -0
  471. package/components/display-settings-period-over-period-B8UNYZ0I.js +433 -0
  472. package/components/display-settings-period-over-period-BG9YAcCw.cjs +229 -0
  473. package/components/donut-chart-options.config-CjtEDiJI.js +207 -0
  474. package/components/donut-chart-positioning.config-CaADC7Qr.js +48 -0
  475. package/components/donut-chart-positioning.config-Dfws3ojS.cjs +20 -0
  476. package/components/donut-chart-slots.config-DilGk7ju.js +39 -0
  477. package/components/dropdown-filter-options.config-DFJKns3l.js +153 -0
  478. package/components/dropdown-filter-slots.config-7heZtoEY.js +38 -0
  479. package/components/en-CcLhGxIh.js +21 -0
  480. package/components/en-GB-DzkdeUQh.js +28 -0
  481. package/components/en-GB-uxY5qmIM.cjs +20 -0
  482. package/components/en-US-CcLhGxIh.js +21 -0
  483. package/components/en-US-q_Ruzags.cjs +20 -0
  484. package/components/en-q_Ruzags.cjs +20 -0
  485. package/components/es-BIgv-ijQ.js +503 -0
  486. package/components/es-mPmtD7j4.cjs +20 -0
  487. package/components/evolution-number-options.config-C3tU650w.js +228 -0
  488. package/components/evolution-number-positioning.config-C-OV1wpL.js +48 -0
  489. package/components/evolution-number-positioning.config-CI_2m2Sr.cjs +20 -0
  490. package/components/evolution-number-slots.config-noZzIHkT.js +37 -0
  491. package/components/filter-expression-picker/filter-expression-picker.d.ts +73 -0
  492. package/components/filter-expression-picker/index.cjs +20 -0
  493. package/components/filter-expression-picker/index.d.ts +7 -0
  494. package/components/filter-expression-picker/index.js +28 -0
  495. package/components/filter-expression-picker-CH2Fna8C.js +425 -0
  496. package/components/filter-expression-picker-_mfcXZ-n.cjs +38 -0
  497. package/components/filter-item/filter-item.d.ts +99 -0
  498. package/components/filter-item/index.cjs +20 -0
  499. package/components/filter-item/index.d.ts +7 -0
  500. package/components/filter-item/index.js +28 -0
  501. package/components/filter-item-5HCSM9cu.cjs +71 -0
  502. package/components/filter-item-CL3S9HOx.js +301 -0
  503. package/components/filter-parameter-picker/filter-parameter-picker.d.ts +87 -0
  504. package/components/filter-parameter-picker/filter-parameter-picker.helpers.d.ts +8 -0
  505. package/components/filter-parameter-picker/index.cjs +20 -0
  506. package/components/filter-parameter-picker/index.d.ts +9 -0
  507. package/components/filter-parameter-picker/index.js +28 -0
  508. package/components/filter-parameter-picker/types.d.ts +4 -0
  509. package/components/filter-parameter-picker-CU48aEOS.js +363 -0
  510. package/components/filter-parameter-picker-CxbAY5hy.cjs +123 -0
  511. package/components/filter-value-picker/filter-value-picker.d.ts +66 -0
  512. package/components/filter-value-picker/index.cjs +20 -0
  513. package/components/filter-value-picker/index.d.ts +7 -0
  514. package/components/filter-value-picker/index.js +28 -0
  515. package/components/filter-value-picker-CD8DjcHo.js +151 -0
  516. package/components/filter-value-picker-CRrUhngj.cjs +60 -0
  517. package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +44 -0
  518. package/components/filter-value-picker-datetime/index.cjs +20 -0
  519. package/components/filter-value-picker-datetime/index.d.ts +7 -0
  520. package/components/filter-value-picker-datetime/index.js +28 -0
  521. package/components/filter-value-picker-datetime-DS7IK9aN.js +139 -0
  522. package/components/filter-value-picker-datetime-dXaHpCRX.cjs +42 -0
  523. package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +83 -0
  524. package/components/filter-value-picker-hierarchy/index.cjs +20 -0
  525. package/components/filter-value-picker-hierarchy/index.d.ts +7 -0
  526. package/components/filter-value-picker-hierarchy/index.js +28 -0
  527. package/components/filter-value-picker-hierarchy-k0T56CvH.js +232 -0
  528. package/components/filter-value-picker-hierarchy-kwnEzxIk.cjs +47 -0
  529. package/components/filter-value-picker-numeric/filter-value-picker-numeric.d.ts +83 -0
  530. package/components/filter-value-picker-numeric/index.cjs +20 -0
  531. package/components/filter-value-picker-numeric/index.d.ts +7 -0
  532. package/components/filter-value-picker-numeric/index.js +28 -0
  533. package/components/filter-value-picker-numeric-BVei4Vlc.cjs +48 -0
  534. package/components/filter-value-picker-numeric-BaQe4r82.js +219 -0
  535. package/components/filters/filters.d.ts +38 -4
  536. package/components/filters/index.cjs +1 -1
  537. package/components/filters/index.d.ts +4 -1
  538. package/components/filters/index.js +2 -2
  539. package/components/filters/transformations/clean-filters.d.ts +37 -0
  540. package/components/filters/transformations/filter-format.d.ts +54 -0
  541. package/components/filters/transformations/transform-filters.d.ts +27 -12
  542. package/components/filters/types.d.ts +48 -3
  543. package/components/filters-B70hF2NT.js +742 -0
  544. package/components/filters-ms2gFstA.cjs +153 -0
  545. package/components/formatter-BeXmurVe.cjs +20 -0
  546. package/components/formatter-Cq5dFCyU.js +1473 -0
  547. package/components/formula/index.cjs +1 -1
  548. package/components/formula/index.js +1 -1
  549. package/components/formula-DdgD312W.js +138 -0
  550. package/components/formula-codemirror/formula-codemirror.d.ts +79 -0
  551. package/components/formula-codemirror/index.d.ts +7 -0
  552. package/components/formula-codemirror/pills/formula-aggregation/formula-aggregation.d.ts +125 -0
  553. package/components/formula-codemirror/pills/formula-aggregation/index.d.ts +7 -0
  554. package/components/formula-codemirror/pills/formula-empty-argument-pill/formula-empty-argument-pill.d.ts +28 -0
  555. package/components/formula-codemirror/pills/formula-empty-argument-pill/index.d.ts +7 -0
  556. package/components/formula-codemirror/pills/formula-include-exclude-panel.d.ts +38 -0
  557. package/components/formula-codemirror-D3Z1Qa0J.js +12018 -0
  558. package/components/formula-codemirror-GoFCSp6r.cjs +215 -0
  559. package/components/formula-display-store-bPGDv_xk.js +1093 -0
  560. package/components/formula-display-store-eE3zaCyB.cjs +20 -0
  561. package/components/formula-draggable-field/formula-draggable-field.d.ts +53 -0
  562. package/components/formula-draggable-field/index.d.ts +8 -0
  563. package/components/formula-draggable-field/types.d.ts +24 -0
  564. package/components/formula-editor/index.cjs +1 -1
  565. package/components/formula-editor/index.d.ts +1 -0
  566. package/components/formula-editor/index.js +4 -3
  567. package/components/formula-editor-8wWzGGJr.cjs +224 -0
  568. package/components/formula-editor-BnWiiFr5.js +690 -0
  569. package/components/formula-field/formula-field.d.ts +20 -0
  570. package/components/formula-field/index.cjs +20 -0
  571. package/components/formula-field/index.d.ts +7 -0
  572. package/components/formula-field/index.js +28 -0
  573. package/components/formula-field-DlEgUu58.js +40 -0
  574. package/components/formula-field-IHf6I8mL.cjs +20 -0
  575. package/components/formula-glPlLx_5.cjs +45 -0
  576. package/components/formula-input-base-7I069pOJ.js +236 -0
  577. package/components/formula-input-base-D5yx7RYX.cjs +49 -0
  578. package/components/fr-BHUhOl6R.cjs +20 -0
  579. package/components/fr-CI9fC-NM.js +503 -0
  580. package/components/funnel-chart-options.config-6ifTq7Xh.js +207 -0
  581. package/components/funnel-chart-positioning.config-CNEeOwuT.js +48 -0
  582. package/components/funnel-chart-positioning.config-Cz8gQRh_.cjs +20 -0
  583. package/components/funnel-chart-slots.config-BWszdEe8.js +43 -0
  584. package/components/get-css-variable-B8sJUuig.cjs +20 -0
  585. package/components/get-css-variable-r1spgqX0.js +63 -0
  586. package/components/get-dataset-name-Bae0I2_J.cjs +20 -0
  587. package/components/get-dataset-name-OJK38mEs.js +27 -0
  588. package/components/groupings-B0qMZHSd.cjs +20 -0
  589. package/components/groupings-BZJTnpwR.js +52 -0
  590. package/components/heat-map-options.config-CezceVM3.js +224 -0
  591. package/components/heat-map-positioning.config-CEH6qyrN.cjs +20 -0
  592. package/components/heat-map-positioning.config-D-Ba4Ts_.js +48 -0
  593. package/components/heat-map-slots.config-Cwun49Qb.js +37 -0
  594. package/components/heat-table-options.config-C7kvRE10.js +372 -0
  595. package/components/heat-table-positioning.config-DCnowqOc.js +55 -0
  596. package/components/heat-table-positioning.config-DWNETZMx.cjs +20 -0
  597. package/components/heat-table-slots.config-nGB_B2mh.js +49 -0
  598. package/components/hexbin-map-options.config-8brGMkt_.js +276 -0
  599. package/components/hexbin-map-positioning.config-Br0pjvMN.js +48 -0
  600. package/components/hexbin-map-positioning.config-DoiUVZ8h.cjs +20 -0
  601. package/components/hexbin-map-slots.config-BK-ftozd.js +37 -0
  602. package/components/image-options.config-Cz55iN7J.js +153 -0
  603. package/components/image-slots.config-kvHutBFK.js +24 -0
  604. package/components/index.cjs +1 -793
  605. package/components/index.js +65 -6227
  606. package/components/interactive-viz-item/helpers/chart-helpers.d.ts +7 -0
  607. package/components/interactive-viz-item/index.cjs +20 -0
  608. package/components/interactive-viz-item/index.d.ts +10 -0
  609. package/components/interactive-viz-item/index.js +28 -0
  610. package/components/interactive-viz-item/interactive-viz-item.d.ts +96 -0
  611. package/components/interactive-viz-item/types.d.ts +117 -0
  612. package/components/interactive-viz-item-DZoRqeJW.cjs +247 -0
  613. package/components/interactive-viz-item-Dogksvpq.js +693 -0
  614. package/components/item-grid/index.cjs +1 -1
  615. package/components/item-grid/index.js +1 -1
  616. package/components/item-grid-VPRvzGCa.cjs +113 -0
  617. package/components/item-grid-ZQpp1brq.js +4559 -0
  618. package/components/item-menu/item-list/item-list.d.ts +37 -0
  619. package/components/item-option/index.cjs +1 -1
  620. package/components/item-option/index.js +1 -1
  621. package/components/item-option-B9tALelF.js +919 -0
  622. package/components/item-option-BRgOBMM0.cjs +252 -0
  623. package/components/item-option-action-button-group/index.cjs +1 -1
  624. package/components/item-option-action-button-group/index.js +1 -1
  625. package/components/item-option-action-button-group-BYE7i8Zd.cjs +53 -0
  626. package/components/item-option-action-button-group-WrHKP761.js +118 -0
  627. package/components/item-option-base/item-option-base.d.ts +23 -0
  628. package/components/item-option-base-CTBIeARi.cjs +56 -0
  629. package/components/item-option-base-CuxvyS-a.js +123 -0
  630. package/components/item-option-color-palette-picker/index.cjs +1 -1
  631. package/components/item-option-color-palette-picker/index.js +1 -1
  632. package/components/item-option-color-palette-picker-CyailqDd.cjs +40 -0
  633. package/components/item-option-color-palette-picker-eYAyoXM1.js +2041 -0
  634. package/components/item-option-color-picker/index.cjs +1 -1
  635. package/components/item-option-color-picker/index.js +1 -1
  636. package/components/item-option-color-picker-D_x6FgZy.js +87 -0
  637. package/components/item-option-color-picker-DsfZKPDo.cjs +34 -0
  638. package/components/item-option-color-range/index.cjs +1 -1
  639. package/components/item-option-color-range/index.js +1 -1
  640. package/components/item-option-color-range-CHSbql1w.js +220 -0
  641. package/components/item-option-color-range-tAMMKg6y.cjs +98 -0
  642. package/components/item-option-multi-language-field/index.cjs +1 -1
  643. package/components/item-option-multi-language-field/index.js +1 -1
  644. package/components/item-option-multi-language-field-D51cJ4BM.js +82 -0
  645. package/components/item-option-multi-language-field-DjWm-jWC.cjs +33 -0
  646. package/components/item-option-number-field/index.cjs +1 -1
  647. package/components/item-option-number-field/index.js +1 -1
  648. package/components/item-option-number-field-Dep43Ym5.cjs +38 -0
  649. package/components/item-option-number-field-Df56sivV.js +102 -0
  650. package/components/item-option-panel/index.cjs +1 -1
  651. package/components/item-option-panel/index.js +1 -1
  652. package/components/item-option-panel-BYCfnDeP.js +183 -0
  653. package/components/item-option-panel-ClDspg51.cjs +67 -0
  654. package/components/item-option-picker/index.cjs +1 -1
  655. package/components/item-option-picker/index.js +1 -1
  656. package/components/item-option-picker-BCsB7psT.js +77 -0
  657. package/components/item-option-picker-CBfFgSKs.cjs +37 -0
  658. package/components/item-option-position-picker/index.cjs +1 -1
  659. package/components/item-option-position-picker/index.js +1 -1
  660. package/components/item-option-position-picker-CXJGmmWF.js +117 -0
  661. package/components/item-option-position-picker-CYoOkH1m.cjs +32 -0
  662. package/components/item-option-positions-number-field/index.cjs +1 -1
  663. package/components/item-option-positions-number-field/index.js +1 -1
  664. package/components/item-option-positions-number-field-CNUCVm78.cjs +49 -0
  665. package/components/item-option-positions-number-field-CkfSHCFO.js +164 -0
  666. package/components/item-option-radio-button-group/index.cjs +1 -1
  667. package/components/item-option-radio-button-group/index.js +1 -1
  668. package/components/item-option-radio-button-group-CSyh4eS2.js +74 -0
  669. package/components/item-option-radio-button-group-ZIvbpJf9.cjs +37 -0
  670. package/components/item-option-slider/index.cjs +1 -1
  671. package/components/item-option-slider/index.js +1 -1
  672. package/components/item-option-slider-CTt5aYbb.js +96 -0
  673. package/components/item-option-slider-CaxIGDWN.cjs +33 -0
  674. package/components/item-option-switch/index.cjs +1 -1
  675. package/components/item-option-switch/index.js +1 -1
  676. package/components/item-option-switch-B91r65eW.js +69 -0
  677. package/components/item-option-switch-wEx5JkSe.cjs +30 -0
  678. package/components/item-option-text-field/index.cjs +1 -1
  679. package/components/item-option-text-field/index.js +1 -1
  680. package/components/item-option-text-field-BLcYkH-j.cjs +33 -0
  681. package/components/item-option-text-field-BvSCGhuH.js +80 -0
  682. package/components/item-options-configs.js +45 -45
  683. package/components/item-slot-drop/index.cjs +1 -1
  684. package/components/item-slot-drop/index.d.ts +2 -0
  685. package/components/item-slot-drop/index.js +1 -1
  686. package/components/item-slot-drop-Box1wnvM.js +331 -0
  687. package/components/item-slot-drop-n-lD8Zyh.cjs +91 -0
  688. package/components/item-slot-drop-panel/index.cjs +1 -1
  689. package/components/item-slot-drop-panel/index.js +1 -1
  690. package/components/item-slot-drop-panel-KtZKw0Ly.js +355 -0
  691. package/components/item-slot-drop-panel-sCkQ0dUU.cjs +57 -0
  692. package/components/item-slot-picker/index.cjs +1 -1
  693. package/components/item-slot-picker/index.js +1 -1
  694. package/components/item-slot-picker-Cm8o4A00.js +505 -0
  695. package/components/item-slot-picker-DKPE2NQn.cjs +174 -0
  696. package/components/item-slot-picker-panel/index.cjs +1 -1
  697. package/components/item-slot-picker-panel/index.js +1 -1
  698. package/components/item-slot-picker-panel-DK5jRBYs.cjs +81 -0
  699. package/components/item-slot-picker-panel-DOHi_8UO.js +448 -0
  700. package/components/item-slots-configs.js +45 -45
  701. package/components/line-chart-options.config-OeRMkKMP.js +248 -0
  702. package/components/line-chart-positioning.config-C05IZ4Jj.cjs +20 -0
  703. package/components/line-chart-positioning.config-DQfyOkWV.js +55 -0
  704. package/components/line-chart-slots.config-C6LEwEwh.js +55 -0
  705. package/components/load-data-fields-for-datasets-BNnr8x3m.js +42 -0
  706. package/components/load-data-fields-for-datasets-CW4Voiex.cjs +20 -0
  707. package/components/localized-mixin-BForHr3t.cjs +20 -0
  708. package/components/localized-mixin-D-vXCJuU.js +45 -0
  709. package/components/marker-map-options.config-CtW7nl1C.js +117 -0
  710. package/components/marker-map-positioning.config-CD7n0uLB.js +48 -0
  711. package/components/marker-map-positioning.config-DOhXf-CR.cjs +20 -0
  712. package/components/marker-map-slots.config-Cyk-QFPT.js +37 -0
  713. package/components/nl-HLnZHvTS.js +503 -0
  714. package/components/nl-NxeHJ8X8.cjs +20 -0
  715. package/components/ohlc-chart-options.config-Db40TXcB.js +124 -0
  716. package/components/ohlc-chart-positioning.config-Bl-ckdlQ.js +78 -0
  717. package/components/ohlc-chart-positioning.config-CDf77OgH.cjs +20 -0
  718. package/components/ohlc-chart-slots.config-CQFi8BIT.js +68 -0
  719. package/components/parallel-coordinates-plot-options.config-Bw8T5EE4.js +42 -0
  720. package/components/parallel-coordinates-plot-positioning.config-DfsKsUdv.cjs +20 -0
  721. package/components/parallel-coordinates-plot-positioning.config-Tbzzr5L6.js +48 -0
  722. package/components/parallel-coordinates-plot-slots.config-D5o-5y_j.js +46 -0
  723. package/components/period-over-period-condition.const-BZ7j5Z5t.js +29 -0
  724. package/components/period-over-period-condition.const-C1NZ9Bkp.cjs +20 -0
  725. package/components/pivot-table-options.config-gL2C_zvT.js +245 -0
  726. package/components/pivot-table-positioning.config-DwuKN2xz.cjs +20 -0
  727. package/components/pivot-table-positioning.config-_YDPeFQz.js +55 -0
  728. package/components/pivot-table-slots.config-Cl5z3IQo.js +55 -0
  729. package/components/pragmatic-element-adapter-C_7HSvGV.js +1252 -0
  730. package/components/pragmatic-element-adapter-DPWYJiW9.cjs +24 -0
  731. package/components/pyramid-chart-options.config-348RYXh8.js +260 -0
  732. package/components/pyramid-chart-positioning.config-7AJy2_zR.cjs +20 -0
  733. package/components/pyramid-chart-positioning.config-Btm_8m46.js +55 -0
  734. package/components/pyramid-chart-slots.config-DNzq2hMx.js +50 -0
  735. package/components/radar-chart-options.config-BeGjchnc.js +150 -0
  736. package/components/radar-chart-positioning.config-7Kx_uKbW.cjs +20 -0
  737. package/components/radar-chart-positioning.config-DWziVqMW.js +55 -0
  738. package/components/radar-chart-slots.config-CXgfvAkt.js +53 -0
  739. package/components/regular-table-options.config-Bf0VAtT_.js +148 -0
  740. package/components/regular-table-slots.config-DCkw4Xkq.js +35 -0
  741. package/components/route-map-options.config-DWG5127-.js +326 -0
  742. package/components/route-map-positioning.config-C4-2zLGp.js +66 -0
  743. package/components/route-map-positioning.config-DDgEAW4k.cjs +20 -0
  744. package/components/route-map-slots.config-DJ76FOsJ.js +59 -0
  745. package/components/sankey-diagram-options.config-DW72WBKU.js +126 -0
  746. package/components/sankey-diagram-positioning.config-BxVJaOKN.cjs +20 -0
  747. package/components/sankey-diagram-positioning.config-DQcUg8Cg.js +66 -0
  748. package/components/sankey-diagram-slots.config-BCc8P4j0.js +61 -0
  749. package/components/scatter-plot-options.config-CUyWy2xE.js +322 -0
  750. package/components/scatter-plot-positioning.config-D3xI_5P8.cjs +20 -0
  751. package/components/scatter-plot-positioning.config-DOgeShUF.js +77 -0
  752. package/components/scatter-plot-slots.config-BMTdhTZG.js +74 -0
  753. package/components/search-filter-options.config-B_qQjr68.js +103 -0
  754. package/components/search-filter-slots.config-qCILSYzs.js +39 -0
  755. package/components/set-locale-D9gR8t-s.js +43 -0
  756. package/components/set-locale-MQpiifTB.cjs +20 -0
  757. package/components/slicer-filter-options.config-DK62SCMp.js +235 -0
  758. package/components/slicer-filter-positioning.config-CiHfPrM5.js +48 -0
  759. package/components/slicer-filter-positioning.config-bN36DdLc.cjs +20 -0
  760. package/components/slicer-filter-slots.config-C9_NdJm4.js +44 -0
  761. package/components/slider-filter-options.config-CP5bXdih.js +72 -0
  762. package/components/slider-filter-slots.config-15eAAGVn.js +43 -0
  763. package/components/slot-menu/index.cjs +20 -0
  764. package/components/slot-menu/index.d.ts +10 -0
  765. package/components/slot-menu/index.js +28 -0
  766. package/components/slot-menu/slot-menu.d.ts +148 -0
  767. package/components/slot-menu/types.d.ts +24 -0
  768. package/components/slot-menu-K5QiEu6o.cjs +71 -0
  769. package/components/slot-menu-Qy35BZZ_.js +426 -0
  770. package/components/slot-menu-list/index.cjs +20 -0
  771. package/components/slot-menu-list/index.d.ts +8 -0
  772. package/components/slot-menu-list/index.js +28 -0
  773. package/components/slot-menu-list/slot-menu-list.d.ts +47 -0
  774. package/components/slot-menu-list-BKMbIFg1.js +347 -0
  775. package/components/slot-menu-list-DmQe7882.cjs +44 -0
  776. package/components/slot-role-classification-2wChhpcq.cjs +20 -0
  777. package/components/slot-role-classification-B8bkGhQ_.js +133 -0
  778. package/components/slots-config-Cd4xAG4H.cjs +20 -0
  779. package/components/slots-config-D3ivNWtC.js +76 -0
  780. package/components/speedometer-chart-options.config-CtWGujmb.js +246 -0
  781. package/components/speedometer-chart-positioning.config-B7M91sKN.js +48 -0
  782. package/components/speedometer-chart-positioning.config-Ce70l0Ei.cjs +20 -0
  783. package/components/speedometer-chart-slots.config-DfTw7JTF.js +39 -0
  784. package/components/spike-map-options.config-Ch0p9Q5l.js +413 -0
  785. package/components/spike-map-positioning.config-D3wIf0RU.cjs +20 -0
  786. package/components/spike-map-positioning.config-Qf4LOPvB.js +55 -0
  787. package/components/spike-map-slots.config-i-c0F9QM.js +47 -0
  788. package/components/strip-plot-options.config-WICS2rnK.js +53 -0
  789. package/components/strip-plot-positioning.config-BIoncLjm.cjs +20 -0
  790. package/components/strip-plot-positioning.config-MbfBVHf8.js +48 -0
  791. package/components/strip-plot-slots.config-BuF7X3xN.js +38 -0
  792. package/components/sunburst-chart-options.config-Bz-jP-gZ.js +180 -0
  793. package/components/sunburst-chart-positioning.config-CqyXZPxE.js +48 -0
  794. package/components/sunburst-chart-positioning.config-zqPLL8yF.cjs +20 -0
  795. package/components/sunburst-chart-slots.config-Cq-E6kyI.js +38 -0
  796. package/components/symbol-map-options.config-I89tFJUU.js +177 -0
  797. package/components/symbol-map-positioning.config-CQ4Vxu96.cjs +20 -0
  798. package/components/symbol-map-positioning.config-plXDTBA3.js +55 -0
  799. package/components/symbol-map-slots.config-BfdBHkzN.js +53 -0
  800. package/components/text-options.config-BUiRyi3L.js +67 -0
  801. package/components/text-slots.config-CM_ZaW3p.js +24 -0
  802. package/components/treemap-chart-options.config-i7BH9mNl.js +204 -0
  803. package/components/treemap-chart-positioning.config-BTGBN1f9.js +55 -0
  804. package/components/treemap-chart-positioning.config-CSZXzuT5.cjs +20 -0
  805. package/components/treemap-chart-slots.config-CHkGtIOa.js +47 -0
  806. package/components/utils/base.cjs +1 -1
  807. package/components/utils/base.js +2 -2
  808. package/components/utils/store.js +1 -1
  809. package/components/utils-BDvDwAn7.cjs +20 -0
  810. package/components/utils-Z9xbTTWG.js +240 -0
  811. package/components/utils.cjs +1 -1
  812. package/components/utils.js +9 -6
  813. package/components/venn-diagram-options.config-Wi0dQsAu.js +24 -0
  814. package/components/venn-diagram-positioning.config-C4vcZDtW.cjs +20 -0
  815. package/components/venn-diagram-positioning.config-fPvrjtfX.js +55 -0
  816. package/components/venn-diagram-slots.config-DY04aeYK.js +47 -0
  817. package/components/video-options.config-B6pQUPB7.js +127 -0
  818. package/components/video-slots.config-C-kXGzo3.js +24 -0
  819. package/components/viz-item-menu/index.cjs +20 -0
  820. package/components/viz-item-menu/index.d.ts +8 -0
  821. package/components/viz-item-menu/index.js +28 -0
  822. package/components/viz-item-menu/types.d.ts +9 -0
  823. package/components/viz-item-menu/viz-item-menu.d.ts +75 -0
  824. package/components/viz-item-menu-DxA295eM.cjs +55 -0
  825. package/components/viz-item-menu-vckPQBdf.js +170 -0
  826. package/components/wordcloud-chart-options.config-D_AhgZRs.js +90 -0
  827. package/components/wordcloud-chart-positioning.config-Cf1ErL-B.cjs +20 -0
  828. package/components/wordcloud-chart-positioning.config-ChUx_Ahc.js +55 -0
  829. package/components/wordcloud-chart-slots.config-Cc5F92Tv.js +45 -0
  830. package/custom-elements.json +17712 -5888
  831. package/deprecated-react/components/ai-chat.component.cjs +1 -0
  832. package/deprecated-react/components/ai-interaction-textarea.component.cjs +1 -0
  833. package/deprecated-react/components/data-field-level.component.cjs +1 -0
  834. package/deprecated-react/components/data-fields-select.component.cjs +1 -0
  835. package/deprecated-react/components/dataset-icon.component.cjs +1 -0
  836. package/deprecated-react/components/dataset-selector-list.component.cjs +1 -0
  837. package/deprecated-react/components/dataset-selector-row.component.cjs +1 -0
  838. package/deprecated-react/components/display-settings-binning.component.cjs +1 -0
  839. package/deprecated-react/components/display-settings-datetime.component.cjs +1 -0
  840. package/deprecated-react/components/display-settings-grand-totals.component.cjs +1 -0
  841. package/deprecated-react/components/display-settings-numeric.component.cjs +1 -0
  842. package/deprecated-react/components/display-settings-period-over-period.component.cjs +1 -0
  843. package/deprecated-react/components/display-settings.component.cjs +1 -0
  844. package/deprecated-react/components/filter-expression-picker.component.cjs +1 -0
  845. package/deprecated-react/components/filter-item.component.cjs +1 -0
  846. package/deprecated-react/components/filter-parameter-picker.component.cjs +1 -0
  847. package/deprecated-react/components/filter-value-picker-datetime.component.cjs +1 -0
  848. package/deprecated-react/components/filter-value-picker-hierarchy.component.cjs +1 -0
  849. package/deprecated-react/components/filter-value-picker-numeric.component.cjs +1 -0
  850. package/deprecated-react/components/filter-value-picker.component.cjs +1 -0
  851. package/deprecated-react/components/formula-field.component.cjs +1 -0
  852. package/deprecated-react/components/interactive-viz-item.component.cjs +1 -0
  853. package/deprecated-react/components/slot-menu-list.component.cjs +1 -0
  854. package/deprecated-react/components/slot-menu.component.cjs +1 -0
  855. package/deprecated-react/components/viz-item-menu.component.cjs +1 -0
  856. package/index.d.ts +25 -0
  857. package/package.json +128 -3
  858. package/react/components/ai-chat.component.ts +45 -0
  859. package/react/components/ai-interaction-textarea.component.ts +30 -0
  860. package/react/components/data-field-level.component.ts +30 -0
  861. package/react/components/data-fields-select.component.ts +27 -0
  862. package/react/components/dataset-icon.component.ts +22 -0
  863. package/react/components/dataset-selector-list.component.ts +27 -0
  864. package/react/components/dataset-selector-row.component.ts +30 -0
  865. package/react/components/display-settings-binning.component.ts +27 -0
  866. package/react/components/display-settings-datetime.component.ts +27 -0
  867. package/react/components/display-settings-grand-totals.component.ts +27 -0
  868. package/react/components/display-settings-numeric.component.ts +27 -0
  869. package/react/components/display-settings-period-over-period.component.ts +27 -0
  870. package/react/components/display-settings.component.ts +33 -0
  871. package/react/components/filter-expression-picker.component.ts +27 -0
  872. package/react/components/filter-item.component.ts +27 -0
  873. package/react/components/filter-parameter-picker.component.ts +33 -0
  874. package/react/components/filter-value-picker-datetime.component.ts +27 -0
  875. package/react/components/filter-value-picker-hierarchy.component.ts +27 -0
  876. package/react/components/filter-value-picker-numeric.component.ts +27 -0
  877. package/react/components/filter-value-picker.component.ts +27 -0
  878. package/react/components/filters.component.ts +9 -3
  879. package/react/components/formula-field.component.ts +30 -0
  880. package/react/components/interactive-viz-item.component.ts +33 -0
  881. package/react/components/slot-menu-list.component.ts +27 -0
  882. package/react/components/slot-menu.component.ts +42 -0
  883. package/react/components/viz-item-menu.component.ts +33 -0
  884. package/react/esm/components/ai-chat.component.d.ts +24 -0
  885. package/react/esm/components/ai-chat.component.js +29 -0
  886. package/react/esm/components/ai-interaction-textarea.component.d.ts +14 -0
  887. package/react/esm/components/ai-interaction-textarea.component.js +19 -0
  888. package/react/esm/components/data-field-level.component.d.ts +14 -0
  889. package/react/esm/components/data-field-level.component.js +19 -0
  890. package/react/esm/components/data-fields-select.component.d.ts +12 -0
  891. package/react/esm/components/data-fields-select.component.js +17 -0
  892. package/react/esm/components/dataset-icon.component.d.ts +8 -0
  893. package/react/esm/components/dataset-icon.component.js +13 -0
  894. package/react/esm/components/dataset-selector-list.component.d.ts +12 -0
  895. package/react/esm/components/dataset-selector-list.component.js +17 -0
  896. package/react/esm/components/dataset-selector-row.component.d.ts +14 -0
  897. package/react/esm/components/dataset-selector-row.component.js +19 -0
  898. package/react/esm/components/display-settings-binning.component.d.ts +12 -0
  899. package/react/esm/components/display-settings-binning.component.js +17 -0
  900. package/react/esm/components/display-settings-datetime.component.d.ts +12 -0
  901. package/react/esm/components/display-settings-datetime.component.js +17 -0
  902. package/react/esm/components/display-settings-grand-totals.component.d.ts +12 -0
  903. package/react/esm/components/display-settings-grand-totals.component.js +17 -0
  904. package/react/esm/components/display-settings-numeric.component.d.ts +12 -0
  905. package/react/esm/components/display-settings-numeric.component.js +17 -0
  906. package/react/esm/components/display-settings-period-over-period.component.d.ts +12 -0
  907. package/react/esm/components/display-settings-period-over-period.component.js +17 -0
  908. package/react/esm/components/display-settings.component.d.ts +16 -0
  909. package/react/esm/components/display-settings.component.js +21 -0
  910. package/react/esm/components/filter-expression-picker.component.d.ts +12 -0
  911. package/react/esm/components/filter-expression-picker.component.js +17 -0
  912. package/react/esm/components/filter-item.component.d.ts +12 -0
  913. package/react/esm/components/filter-item.component.js +17 -0
  914. package/react/esm/components/filter-parameter-picker.component.d.ts +16 -0
  915. package/react/esm/components/filter-parameter-picker.component.js +21 -0
  916. package/react/esm/components/filter-value-picker-datetime.component.d.ts +12 -0
  917. package/react/esm/components/filter-value-picker-datetime.component.js +17 -0
  918. package/react/esm/components/filter-value-picker-hierarchy.component.d.ts +12 -0
  919. package/react/esm/components/filter-value-picker-hierarchy.component.js +17 -0
  920. package/react/esm/components/filter-value-picker-numeric.component.d.ts +12 -0
  921. package/react/esm/components/filter-value-picker-numeric.component.js +17 -0
  922. package/react/esm/components/filter-value-picker.component.d.ts +12 -0
  923. package/react/esm/components/filter-value-picker.component.js +17 -0
  924. package/react/esm/components/filters.component.d.ts +10 -2
  925. package/react/esm/components/filters.component.js +6 -2
  926. package/react/esm/components/formula-field.component.d.ts +14 -0
  927. package/react/esm/components/formula-field.component.js +19 -0
  928. package/react/esm/components/interactive-viz-item.component.d.ts +16 -0
  929. package/react/esm/components/interactive-viz-item.component.js +21 -0
  930. package/react/esm/components/slot-menu-list.component.d.ts +12 -0
  931. package/react/esm/components/slot-menu-list.component.js +17 -0
  932. package/react/esm/components/slot-menu.component.d.ts +22 -0
  933. package/react/esm/components/slot-menu.component.js +27 -0
  934. package/react/esm/components/viz-item-menu.component.d.ts +16 -0
  935. package/react/esm/components/viz-item-menu.component.js +21 -0
  936. package/react/esm/index.d.ts +27 -2
  937. package/react/esm/index.js +102 -2
  938. package/react/index.ts +102 -2
  939. package/react/luzmo-stub.d.ts +140 -0
  940. package/react/package.json +2 -2
  941. package/storybook/inject-global-vars.d.ts +1 -0
  942. package/storybook/register-components.d.ts +56 -0
  943. package/types/ai-chat.types.d.ts +95 -0
  944. package/types/data-field-events.types.d.ts +7 -0
  945. package/types.d.ts +8 -0
  946. package/components/area-chart-options.config-C49V29Y8.js +0 -229
  947. package/components/area-chart-positioning.config-1oFe5GQZ.cjs +0 -20
  948. package/components/area-chart-positioning.config-CpN8ybzu.js +0 -55
  949. package/components/area-chart-slots.config-DHeIgMLg.js +0 -55
  950. package/components/bar-chart-options.config-CL5P0qO3.js +0 -300
  951. package/components/bar-chart-positioning.config-D8xaCMCZ.cjs +0 -20
  952. package/components/bar-chart-positioning.config-FY7a9tkw.js +0 -59
  953. package/components/bar-chart-slots.config-DwTg8FbR.js +0 -50
  954. package/components/base-C637VyP1.cjs +0 -20
  955. package/components/base-DCUhSENj.js +0 -248
  956. package/components/box-plot-options.config-Qr3EjXtR.js +0 -356
  957. package/components/box-plot-positioning.config-B8KZRp7Z.cjs +0 -20
  958. package/components/box-plot-positioning.config-BDiLuilt.js +0 -48
  959. package/components/box-plot-slots.config-DiKHnGWa.js +0 -40
  960. package/components/bubble-chart-options.config-C5AjfJ-e.js +0 -135
  961. package/components/bubble-chart-positioning.config-B_iuArqa.js +0 -55
  962. package/components/bubble-chart-positioning.config-CjQj2Xw7.cjs +0 -20
  963. package/components/bubble-chart-slots.config-B8jVSy39.js +0 -47
  964. package/components/bullet-chart-options.config-oj1ECQfr.js +0 -75
  965. package/components/bullet-chart-positioning.config-DCIEjZ-u.js +0 -56
  966. package/components/bullet-chart-positioning.config-DYa0-Ssl.cjs +0 -20
  967. package/components/bullet-chart-slots.config-fNIvT9pt.js +0 -46
  968. package/components/choropleth-map-options.config-CBCRL0Q9.js +0 -348
  969. package/components/choropleth-map-positioning.config-CBaaidlT.js +0 -55
  970. package/components/choropleth-map-positioning.config-Cmgu7SkX.cjs +0 -20
  971. package/components/choropleth-map-slots.config-DEFBSjr_.js +0 -53
  972. package/components/circle-pack-chart-options.config-Ql_H79R5.js +0 -54
  973. package/components/circle-pack-chart-positioning.config-BpRTuvX3.js +0 -48
  974. package/components/circle-pack-chart-positioning.config-D-OOazzj.cjs +0 -20
  975. package/components/circle-pack-chart-slots.config-C88i4e0I.js +0 -38
  976. package/components/circular-gauge-options.config-DVqkM9J-.js +0 -188
  977. package/components/circular-gauge-positioning.config-CPmuEH4P.js +0 -48
  978. package/components/circular-gauge-positioning.config-CU5j-YVN.cjs +0 -20
  979. package/components/circular-gauge-slots.config-tCi8lb6r.js +0 -39
  980. package/components/column-chart-options.config-CP6dQDMX.js +0 -299
  981. package/components/column-chart-positioning.config-BZrwf5kb.js +0 -55
  982. package/components/column-chart-positioning.config-COLCV6uF.cjs +0 -20
  983. package/components/column-chart-slots.config-DlgmagVN.js +0 -50
  984. package/components/combination-chart-options.config-CxipfQJd.js +0 -150
  985. package/components/combination-chart-positioning.config-C7x9UeXL.cjs +0 -20
  986. package/components/combination-chart-positioning.config-vlhurz7H.js +0 -48
  987. package/components/combination-chart-slots.config-HWXOi_xL.js +0 -43
  988. package/components/conditional-number-options.config-DEoWU4SM.js +0 -205
  989. package/components/conditional-number-positioning.config-B5cUO8xu.cjs +0 -20
  990. package/components/conditional-number-positioning.config-B_yYXm1g.js +0 -48
  991. package/components/conditional-number-slots.config-B1c3brbY.js +0 -39
  992. package/components/data-field-DHgFf3bH.js +0 -341
  993. package/components/data-field-panel-D8jv5MJx.js +0 -384
  994. package/components/data-field-panel-DX_D-jOn.cjs +0 -87
  995. package/components/data-field-ud8KRJ4-.cjs +0 -89
  996. package/components/data-fields-select-CfGQXzkr.js +0 -261
  997. package/components/data-fields-select-DdNVT54e.cjs +0 -41
  998. package/components/date-comparison-filter-options.config-b46nQkma.js +0 -126
  999. package/components/date-comparison-filter-slots.config-BO_WlGJf.js +0 -33
  1000. package/components/date-filter-options.config-DsAxIR5F.js +0 -118
  1001. package/components/date-filter-slots.config-DOwkclvY.js +0 -37
  1002. package/components/de-CFFG1QN7.cjs +0 -20
  1003. package/components/de-CPcJgwTx.js +0 -488
  1004. package/components/display-settings-binning-D5PEKaBI.cjs +0 -56
  1005. package/components/display-settings-binning-DjRX5Ysr.js +0 -112
  1006. package/components/display-settings-datetime-CPBtYtAy.cjs +0 -217
  1007. package/components/display-settings-datetime-D0pphxmh.js +0 -415
  1008. package/components/display-settings-grand-totals-C4feNejJ.cjs +0 -44
  1009. package/components/display-settings-grand-totals-DlTKDKin.js +0 -91
  1010. package/components/display-settings-numeric-BFjHxdXz.cjs +0 -190
  1011. package/components/display-settings-numeric-CzC7orK1.js +0 -481
  1012. package/components/display-settings-period-over-period-CzQW7v30.cjs +0 -229
  1013. package/components/display-settings-period-over-period-DFWx_SLM.js +0 -434
  1014. package/components/donut-chart-options.config-wVCdbZZr.js +0 -207
  1015. package/components/donut-chart-positioning.config-S0YvSx2H.cjs +0 -20
  1016. package/components/donut-chart-positioning.config-_6eKwCtI.js +0 -48
  1017. package/components/donut-chart-slots.config-BiyZvM68.js +0 -39
  1018. package/components/dropdown-filter-options.config-D8Nr-pia.js +0 -153
  1019. package/components/dropdown-filter-slots.config-kuGNR6kG.js +0 -38
  1020. package/components/en-CSPDwq2y.cjs +0 -20
  1021. package/components/en-GB-CJR66Ci_.cjs +0 -20
  1022. package/components/en-GB-DPjL71xN.js +0 -28
  1023. package/components/en-US-CSPDwq2y.cjs +0 -20
  1024. package/components/en-US-dzaDznn9.js +0 -21
  1025. package/components/en-dzaDznn9.js +0 -21
  1026. package/components/es-Bd7rtLnM.cjs +0 -20
  1027. package/components/es-fXPjX3vY.js +0 -488
  1028. package/components/evolution-number-options.config-C3J_ZYpv.js +0 -228
  1029. package/components/evolution-number-positioning.config-BOdHq6-i.cjs +0 -20
  1030. package/components/evolution-number-positioning.config-tvmjQEaG.js +0 -48
  1031. package/components/evolution-number-slots.config-CoDxHhwF.js +0 -37
  1032. package/components/filters-B6jGM3ej.cjs +0 -323
  1033. package/components/filters-Dj6sRMSR.js +0 -1644
  1034. package/components/formula-BFcOs8RL.js +0 -137
  1035. package/components/formula-BcVDJ9m_.cjs +0 -45
  1036. package/components/formula-codemirror-DiVcMrIg.cjs +0 -215
  1037. package/components/formula-codemirror-J0QWRZ49.js +0 -12016
  1038. package/components/formula-display-store-BH4tCSWY.js +0 -1122
  1039. package/components/formula-display-store-BWDj367s.cjs +0 -20
  1040. package/components/formula-editor-Boo1er25.js +0 -895
  1041. package/components/formula-editor-N227w8sy.cjs +0 -253
  1042. package/components/fr-B50vb6LP.js +0 -488
  1043. package/components/fr-kmzf1vls.cjs +0 -20
  1044. package/components/funnel-chart-options.config-DjF4mn2V.js +0 -207
  1045. package/components/funnel-chart-positioning.config-B27G3I3l.cjs +0 -20
  1046. package/components/funnel-chart-positioning.config-qBendkC6.js +0 -48
  1047. package/components/funnel-chart-slots.config-YDfkl0W9.js +0 -43
  1048. package/components/get-css-variable-N_PVMivH.cjs +0 -20
  1049. package/components/get-css-variable-SptLB8Tz.js +0 -63
  1050. package/components/heat-map-options.config-Tr3qWkye.js +0 -224
  1051. package/components/heat-map-positioning.config-BF2SUfIH.cjs +0 -20
  1052. package/components/heat-map-positioning.config-C06WNZYE.js +0 -48
  1053. package/components/heat-map-slots.config-BTkTaVV1.js +0 -37
  1054. package/components/heat-table-options.config-cXCjQymW.js +0 -372
  1055. package/components/heat-table-positioning.config-B6fQCm6r.cjs +0 -20
  1056. package/components/heat-table-positioning.config-CtKVYd7I.js +0 -55
  1057. package/components/heat-table-slots.config-dqh1PMWX.js +0 -49
  1058. package/components/hexbin-map-options.config-Bc5rtsom.js +0 -276
  1059. package/components/hexbin-map-positioning.config-CC1odymH.js +0 -48
  1060. package/components/hexbin-map-positioning.config-CsDTcimL.cjs +0 -20
  1061. package/components/hexbin-map-slots.config-BrfF5JYT.js +0 -37
  1062. package/components/image-options.config-BQHeuAsU.js +0 -153
  1063. package/components/image-slots.config-ZRSv3b5w.js +0 -24
  1064. package/components/item-grid-B9Y-6W5m.cjs +0 -113
  1065. package/components/item-grid-pykaS5G4.js +0 -4558
  1066. package/components/item-option-DYXtwzIM.js +0 -919
  1067. package/components/item-option-XpGZVVdr.cjs +0 -252
  1068. package/components/item-option-action-button-group-CBtZKVx-.js +0 -118
  1069. package/components/item-option-action-button-group-DyzXk2JJ.cjs +0 -53
  1070. package/components/item-option-base-BrU7dJsV.js +0 -123
  1071. package/components/item-option-base-Cqo4amTV.cjs +0 -56
  1072. package/components/item-option-color-palette-picker-DEys6FIg.js +0 -2041
  1073. package/components/item-option-color-palette-picker-E49SIqt5.cjs +0 -40
  1074. package/components/item-option-color-picker-B8imRobf.js +0 -87
  1075. package/components/item-option-color-picker-DqEWnNcU.cjs +0 -34
  1076. package/components/item-option-color-range-CJnk4E24.cjs +0 -98
  1077. package/components/item-option-color-range-CqJwKIEd.js +0 -220
  1078. package/components/item-option-multi-language-field-Dp2Mpr5b.js +0 -82
  1079. package/components/item-option-multi-language-field-sgiTxGdm.cjs +0 -33
  1080. package/components/item-option-number-field-C3nRZtW1.js +0 -102
  1081. package/components/item-option-number-field-DT2HXuYC.cjs +0 -38
  1082. package/components/item-option-panel-DLdIbuAy.cjs +0 -67
  1083. package/components/item-option-panel-DwGkEeMw.js +0 -183
  1084. package/components/item-option-picker-Crb6PnE8.cjs +0 -37
  1085. package/components/item-option-picker-nS_nnfVF.js +0 -77
  1086. package/components/item-option-position-picker-BMuua3Lj.cjs +0 -32
  1087. package/components/item-option-position-picker-BbAOSkmu.js +0 -117
  1088. package/components/item-option-positions-number-field-BOp3cutd.js +0 -164
  1089. package/components/item-option-positions-number-field-DKSdRWTW.cjs +0 -49
  1090. package/components/item-option-radio-button-group-B_iWBD9w.js +0 -74
  1091. package/components/item-option-radio-button-group-DGbhldoK.cjs +0 -37
  1092. package/components/item-option-slider-4PSjHHGu.js +0 -96
  1093. package/components/item-option-slider-Ct0dd0ci.cjs +0 -33
  1094. package/components/item-option-switch-BbqKaspH.js +0 -69
  1095. package/components/item-option-switch-DgYg5msr.cjs +0 -30
  1096. package/components/item-option-text-field-DlDfvOFf.js +0 -80
  1097. package/components/item-option-text-field-DsYobVm7.cjs +0 -33
  1098. package/components/item-slot-drop-BuXYBvhO.js +0 -326
  1099. package/components/item-slot-drop-panel-4lKBdSdq.js +0 -354
  1100. package/components/item-slot-drop-panel-FLuz9znI.cjs +0 -57
  1101. package/components/item-slot-drop-pl3ZTBEo.cjs +0 -91
  1102. package/components/item-slot-picker-BllkOiQu.cjs +0 -174
  1103. package/components/item-slot-picker-C-lCNPY_.js +0 -500
  1104. package/components/item-slot-picker-panel-BsAwO_BR.cjs +0 -81
  1105. package/components/item-slot-picker-panel-Dn5yJrZi.js +0 -447
  1106. package/components/line-chart-options.config-DbEfF3_P.js +0 -248
  1107. package/components/line-chart-positioning.config-BTYG1EVp.cjs +0 -20
  1108. package/components/line-chart-positioning.config-Ca4m3l8g.js +0 -55
  1109. package/components/line-chart-slots.config-Dtdt3oil.js +0 -55
  1110. package/components/load-data-fields-for-datasets-BOcizGTk.cjs +0 -20
  1111. package/components/load-data-fields-for-datasets-B_SpkBqA.js +0 -86
  1112. package/components/localized-mixin-C-4Zk9oh.cjs +0 -20
  1113. package/components/localized-mixin-CRSfJ73Q.js +0 -52
  1114. package/components/marker-map-options.config-B9uOw9qk.js +0 -117
  1115. package/components/marker-map-positioning.config-C5VuPrAq.js +0 -48
  1116. package/components/marker-map-positioning.config-Ds7dX4x5.cjs +0 -20
  1117. package/components/marker-map-slots.config-CF-OLWDb.js +0 -37
  1118. package/components/nl-Do6FfV7U.js +0 -488
  1119. package/components/nl-FcPtgtcL.cjs +0 -20
  1120. package/components/ohlc-chart-options.config-CUXSO5cK.js +0 -124
  1121. package/components/ohlc-chart-positioning.config-B1E1qu9y.js +0 -78
  1122. package/components/ohlc-chart-positioning.config-BoWmcM8Y.cjs +0 -20
  1123. package/components/ohlc-chart-slots.config-BlsG3ikV.js +0 -68
  1124. package/components/parallel-coordinates-plot-options.config-BupZFL8M.js +0 -42
  1125. package/components/parallel-coordinates-plot-positioning.config-B3J9h4rQ.js +0 -48
  1126. package/components/parallel-coordinates-plot-positioning.config-DCn_VF7d.cjs +0 -20
  1127. package/components/parallel-coordinates-plot-slots.config-BX9mYub0.js +0 -46
  1128. package/components/period-over-period-condition.const-CLEyEn-5.js +0 -1663
  1129. package/components/period-over-period-condition.const-DDgiXIfR.cjs +0 -20
  1130. package/components/pivot-table-options.config-BhVQ-skJ.js +0 -245
  1131. package/components/pivot-table-positioning.config-DEZdZrYw.js +0 -55
  1132. package/components/pivot-table-positioning.config-_a8fijeQ.cjs +0 -20
  1133. package/components/pivot-table-slots.config-BpyBX1NS.js +0 -55
  1134. package/components/pragmatic-element-adapter-Ply5c6uO.js +0 -1252
  1135. package/components/pragmatic-element-adapter-SUClsRR1.cjs +0 -24
  1136. package/components/pyramid-chart-options.config-B271YknE.js +0 -260
  1137. package/components/pyramid-chart-positioning.config-ChK8059K.cjs +0 -20
  1138. package/components/pyramid-chart-positioning.config-tDeNGN2t.js +0 -55
  1139. package/components/pyramid-chart-slots.config-B8_Qqs5b.js +0 -50
  1140. package/components/radar-chart-options.config-kpK-dF2z.js +0 -150
  1141. package/components/radar-chart-positioning.config-BohPnY6O.js +0 -55
  1142. package/components/radar-chart-positioning.config-C00q0Cjc.cjs +0 -20
  1143. package/components/radar-chart-slots.config-rkMoLc6Z.js +0 -53
  1144. package/components/regular-table-options.config-CiITNIRD.js +0 -148
  1145. package/components/regular-table-slots.config-BU7B9OGz.js +0 -35
  1146. package/components/route-map-options.config-D1A47spF.js +0 -326
  1147. package/components/route-map-positioning.config-BFoD9vn8.cjs +0 -20
  1148. package/components/route-map-positioning.config-BKdyt6ko.js +0 -66
  1149. package/components/route-map-slots.config-v3BZi_k3.js +0 -59
  1150. package/components/sankey-diagram-options.config-Cs76JI4R.js +0 -126
  1151. package/components/sankey-diagram-positioning.config-QtjnfHQb.js +0 -66
  1152. package/components/sankey-diagram-positioning.config-lU-WAy9R.cjs +0 -20
  1153. package/components/sankey-diagram-slots.config-C7W-p_iq.js +0 -61
  1154. package/components/scatter-plot-options.config-KnuZCIK9.js +0 -322
  1155. package/components/scatter-plot-positioning.config-BMx7JzXT.js +0 -77
  1156. package/components/scatter-plot-positioning.config-Dl3dC8_q.cjs +0 -20
  1157. package/components/scatter-plot-slots.config-e4r8rPGq.js +0 -74
  1158. package/components/search-filter-options.config-BAxmEAiE.js +0 -103
  1159. package/components/search-filter-slots.config-Bh5AkIlV.js +0 -39
  1160. package/components/set-locale-1r0lDa7J.cjs +0 -20
  1161. package/components/set-locale-DBVSKk_b.js +0 -43
  1162. package/components/slicer-filter-options.config-B9G5S-w5.js +0 -235
  1163. package/components/slicer-filter-positioning.config-D0ySBKRi.js +0 -48
  1164. package/components/slicer-filter-positioning.config-V0xQ7zn4.cjs +0 -20
  1165. package/components/slicer-filter-slots.config-ClnjpKoR.js +0 -44
  1166. package/components/slider-filter-options.config-pVni2VeP.js +0 -72
  1167. package/components/slider-filter-slots.config-C8ndKeOs.js +0 -43
  1168. package/components/slot-menu-B18viCq_.js +0 -1056
  1169. package/components/slot-menu-I0ZOhAwn.cjs +0 -215
  1170. package/components/speedometer-chart-options.config-CRfWCHWe.js +0 -246
  1171. package/components/speedometer-chart-positioning.config-Bxh2OpBf.cjs +0 -20
  1172. package/components/speedometer-chart-positioning.config-DtvW38X7.js +0 -48
  1173. package/components/speedometer-chart-slots.config-BkKyAqra.js +0 -39
  1174. package/components/spike-map-options.config-01V52me2.js +0 -413
  1175. package/components/spike-map-positioning.config-DkEQ8a85.cjs +0 -20
  1176. package/components/spike-map-positioning.config-q0Ko-o6u.js +0 -55
  1177. package/components/spike-map-slots.config-Bu63-9ET.js +0 -47
  1178. package/components/strip-plot-options.config-CT8sqO2c.js +0 -53
  1179. package/components/strip-plot-positioning.config-DFPJ4BKu.cjs +0 -20
  1180. package/components/strip-plot-positioning.config-DVCL5TLA.js +0 -48
  1181. package/components/strip-plot-slots.config-QBq7bq-Q.js +0 -38
  1182. package/components/sunburst-chart-options.config-BIcUx_Ml.js +0 -180
  1183. package/components/sunburst-chart-positioning.config--XMbmimi.cjs +0 -20
  1184. package/components/sunburst-chart-positioning.config-Dy1GtLwf.js +0 -48
  1185. package/components/sunburst-chart-slots.config-BDR8g83g.js +0 -38
  1186. package/components/symbol-map-options.config-sY3sR_13.js +0 -177
  1187. package/components/symbol-map-positioning.config-CS7s_Zrs.js +0 -55
  1188. package/components/symbol-map-positioning.config-Cc_p6btx.cjs +0 -20
  1189. package/components/symbol-map-slots.config-BhHW2t4h.js +0 -53
  1190. package/components/text-options.config-zV8AxiZ-.js +0 -67
  1191. package/components/text-slots.config-CexlYey1.js +0 -24
  1192. package/components/treemap-chart-options.config-DaBT0Bud.js +0 -204
  1193. package/components/treemap-chart-positioning.config-C6iouW1J.js +0 -55
  1194. package/components/treemap-chart-positioning.config-DZ2hZtsF.cjs +0 -20
  1195. package/components/treemap-chart-slots.config-vuiywUbz.js +0 -47
  1196. package/components/utils-5J0VIvk6.cjs +0 -20
  1197. package/components/utils-C6ysI98r.js +0 -239
  1198. package/components/venn-diagram-options.config-CQIZxPZm.js +0 -24
  1199. package/components/venn-diagram-positioning.config-8NrocJLI.cjs +0 -20
  1200. package/components/venn-diagram-positioning.config-m2jp6blI.js +0 -55
  1201. package/components/venn-diagram-slots.config-VYaBQMGD.js +0 -47
  1202. package/components/video-options.config-CvyslCJl.js +0 -127
  1203. package/components/video-slots.config-CBtjayTL.js +0 -24
  1204. package/components/wordcloud-chart-options.config-B47Oxu0A.js +0 -90
  1205. package/components/wordcloud-chart-positioning.config-ClALXn39.js +0 -55
  1206. package/components/wordcloud-chart-positioning.config-DGD93axw.cjs +0 -20
  1207. package/components/wordcloud-chart-slots.config-CLNtT9m5.js +0 -45
@@ -1,1644 +0,0 @@
1
- /*! * A kit of modern Luzmo Web Components for analytics in your web application.
2
- *
3
- * Copyright © 2026 Luzmo
4
- * All rights reserved.
5
- * Luzmo web components (“Luzmo Web Components”)
6
- * must be used according to the Luzmo Terms of Service.
7
- * This license allows users with a current active Luzmo account
8
- * to use the Luzmo Web Components. This license terminates
9
- * automatically if a user no longer has an active Luzmo account.
10
- * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
11
- *
12
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
- * SOFTWARE.
19
- * */
20
- import { n as e, t } from "./localized-mixin-CRSfJ73Q.js";
21
- import { t as n } from "./data-broker-Bdv5V8Yp.js";
22
- import { c as r } from "./type-check-CGREdneG.js";
23
- import { t as i } from "./localize-BT7REYBY.js";
24
- import { n as a } from "./periods.const-NCTkxnvG.js";
25
- import "./data-fields-select-CfGQXzkr.js";
26
- import "./utils-C6ysI98r.js";
27
- import { luzmoPlus as o, luzmoTrashOutline as s } from "@luzmo/icons";
28
- import "@luzmo/lucero/button";
29
- import "@luzmo/lucero/icon";
30
- import { html as c, unsafeCSS as l } from "lit";
31
- import { property as u, state as d } from "lit/decorators.js";
32
- import { localized as f, msg as p } from "@lit/localize";
33
- import "@luzmo/lucero/action-button";
34
- import "@luzmo/lucero/select";
35
- import { repeat as m } from "lit/directives/repeat.js";
36
- import "@luzmo/lucero/field-label";
37
- import "@luzmo/lucero/number-field";
38
- import "@luzmo/lucero/picker";
39
- import { ElementSizes as h, LuzmoElement as g, SizedMixin as _ } from "@luzmo/lucero/utils";
40
- import { ifDefined as v } from "lit/directives/if-defined.js";
41
- import "@luzmo/lucero/menu";
42
- import "@luzmo/lucero/text-field";
43
- import "@luzmo/lucero/date-time-picker";
44
- //#region src/components/filters/transformations/transform-filters.ts
45
- function y(e) {
46
- return typeof e == "string" && e.toLowerCase() === "or" ? "or" : "and";
47
- }
48
- function b(e) {
49
- return typeof e == "object" && !!e && "condition" in e && "filters" in e;
50
- }
51
- function x(e) {
52
- return typeof e == "object" && !!e && !Array.isArray(e);
53
- }
54
- function S(e) {
55
- if (!Array.isArray(e) || e.length === 0) return [];
56
- let t = x(e[0]) ? e[0] : void 0, n = e.length > 1 ? e[1] : void 0;
57
- return e.length > 1 ? [t, n] : [t];
58
- }
59
- function C(e) {
60
- return typeof e.expression != "string" || e.expression.length === 0 ? null : {
61
- expression: e.expression,
62
- parameters: S(e.parameters)
63
- };
64
- }
65
- function w(e) {
66
- if (!e || !e.filters) return {
67
- condition: "and",
68
- filters: [],
69
- subGroups: []
70
- };
71
- let t = [], n = [];
72
- for (let r of e.filters) if (b(r)) n.push(w(r));
73
- else {
74
- let e = C(r);
75
- e && t.push(e);
76
- }
77
- return {
78
- condition: y(e.condition),
79
- filters: t,
80
- subGroups: n
81
- };
82
- }
83
- function T(e) {
84
- return e ? [w(e)] : [];
85
- }
86
- function E(e) {
87
- return {
88
- expression: e.expression,
89
- parameters: Array.isArray(e.parameters) ? [...e.parameters] : []
90
- };
91
- }
92
- function D(e) {
93
- let t = e.subGroups ?? [];
94
- return {
95
- condition: y(e.condition),
96
- filters: [...e.filters.map(E), ...t.map((e) => D(e))]
97
- };
98
- }
99
- function O(e) {
100
- return !e || e.length === 0 ? [] : e.map((e) => D(e));
101
- }
102
- //#endregion
103
- //#region src/utils/filters/expressions.ts
104
- var k = () => [
105
- {
106
- id: "? = ?",
107
- key: "? = ?",
108
- expression: "? = ?",
109
- name: p("equals", { desc: "Filter expression for equals comparison" }),
110
- description: p("equals", { desc: "Filter expression for equals comparison" }),
111
- tiny: p("eq", { desc: "Short form of equals comparison" }),
112
- type: ["numeric", "hierarchy"],
113
- subtype: ["ip_address"]
114
- },
115
- {
116
- id: "? != ?",
117
- key: "? != ?",
118
- expression: "? != ?",
119
- name: p("not equals", { desc: "Filter expression for not equals comparison" }),
120
- description: p("not equals", { desc: "Filter expression for not equals comparison" }),
121
- tiny: p("not eq", { desc: "Short form of not equals comparison" }),
122
- type: ["numeric", "hierarchy"],
123
- subtype: ["ip_address"]
124
- },
125
- {
126
- id: "? in ?",
127
- key: "? in ?",
128
- expression: "? in ?",
129
- name: p("is in", { desc: "Filter expression for in comparison" }),
130
- description: p("is in", { desc: "Filter expression for in comparison" }),
131
- tiny: p("is in", { desc: "Filter expression for in comparison" }),
132
- type: ["numeric", "hierarchy"],
133
- subtype: ["ip_address"]
134
- },
135
- {
136
- id: "? not in ?",
137
- key: "? not in ?",
138
- expression: "? not in ?",
139
- name: p("is not in", { desc: "Filter expression for not in comparison" }),
140
- description: p("is not in", { desc: "Filter expression for not in comparison" }),
141
- tiny: p("is not in", { desc: "Filter expression for not in comparison" }),
142
- type: ["numeric", "hierarchy"],
143
- subtype: ["ip_address"]
144
- },
145
- {
146
- id: "? like ?",
147
- key: "? like ?",
148
- expression: "? like ?",
149
- name: p("contains", { desc: "Filter expression for contains comparison" }),
150
- description: p("contains", { desc: "Filter expression for contains comparison" }),
151
- tiny: p("cont", { desc: "Short form of contains comparison in filter expression" }),
152
- type: ["hierarchy"],
153
- subtype: ["ip_address"]
154
- },
155
- {
156
- id: "? not like ?",
157
- key: "? not like ?",
158
- expression: "? not like ?",
159
- name: p("does not contain", { desc: "Filter expression for does not contain comparison" }),
160
- description: p("does not contain", { desc: "Filter expression for does not contain comparison" }),
161
- tiny: p("not cont", { desc: "Short form of does not contain comparison in filter expression" }),
162
- type: ["hierarchy"],
163
- subtype: ["ip_address"]
164
- },
165
- {
166
- id: "? starts with ?",
167
- key: "? starts with ?",
168
- expression: "? starts with ?",
169
- name: p("starts with", { desc: "Filter expression for starts with comparison" }),
170
- description: p("starts with", { desc: "Filter expression for starts with comparison" }),
171
- tiny: p("starts with", { desc: "Filter expression for starts with comparison" }),
172
- type: ["hierarchy"],
173
- subtype: ["ip_address"]
174
- },
175
- {
176
- id: "? not starts with ?",
177
- key: "? not starts with ?",
178
- expression: "? not starts with ?",
179
- name: p("does not start with", { desc: "Filter expression for does not start with comparison" }),
180
- description: p("does not start with", { desc: "Filter expression for does not start with comparison" }),
181
- tiny: p("not starts with", { desc: "Short form of does not start with comparison in filter expression" }),
182
- type: ["hierarchy"],
183
- subtype: ["ip_address"]
184
- },
185
- {
186
- id: "? ends with ?",
187
- key: "? ends with ?",
188
- expression: "? ends with ?",
189
- name: p("ends with", { desc: "Filter expression for ends with comparison" }),
190
- description: p("ends with", { desc: "Filter expression for ends with comparison" }),
191
- tiny: p("ends with", { desc: "Filter expression for ends with comparison" }),
192
- type: ["hierarchy"],
193
- subtype: ["ip_address"]
194
- },
195
- {
196
- id: "? not ends with ?",
197
- key: "? not ends with ?",
198
- expression: "? not ends with ?",
199
- name: p("does not end with", { desc: "Filter expression for does not end with comparison" }),
200
- description: p("does not end with", { desc: "Filter expression for does not end with comparison" }),
201
- tiny: p("not ends with", { desc: "Short form of does not end with comparison in filter expression" }),
202
- type: ["hierarchy"],
203
- subtype: ["ip_address"]
204
- },
205
- {
206
- id: "? < ?",
207
- key: "? < ?",
208
- expression: "? < ?",
209
- name: p("less than", { desc: "Filter expression for less than comparison" }),
210
- description: p("less than", { desc: "Filter expression for less than comparison" }),
211
- tiny: "<",
212
- type: ["numeric", "datetime"],
213
- subtype: ["ip_address"]
214
- },
215
- {
216
- id: "? <= ?",
217
- key: "? <= ?",
218
- expression: "? <= ?",
219
- name: p("less than or equal", { desc: "Filter expression for less than or equal comparison" }),
220
- description: p("less than or equal", { desc: "Filter expression for less than or equal comparison" }),
221
- tiny: "<=",
222
- type: ["numeric", "datetime"],
223
- subtype: ["ip_address"]
224
- },
225
- {
226
- id: "? > ?",
227
- key: "? > ?",
228
- expression: "? > ?",
229
- name: p("greater than", { desc: "Filter expression for greater than comparison" }),
230
- description: p("greater than", { desc: "Filter expression for greater than comparison" }),
231
- tiny: ">",
232
- type: ["numeric", "datetime"],
233
- subtype: ["ip_address"]
234
- },
235
- {
236
- id: "? >= ?",
237
- key: "? >= ?",
238
- expression: "? >= ?",
239
- name: p("greater than or equal", { desc: "Filter expression for greater than or equal comparison" }),
240
- description: p("greater than or equal", { desc: "Filter expression for greater than or equal comparison" }),
241
- tiny: ">=",
242
- type: ["numeric", "datetime"],
243
- subtype: ["ip_address"]
244
- },
245
- {
246
- id: "? between ?",
247
- key: "? between ?",
248
- expression: "? between ?",
249
- name: p("is between", { desc: "Filter expression for between comparison" }),
250
- description: p("is between", { desc: "Filter expression for between comparison" }),
251
- tiny: p("between", { desc: "Short form of between comparison in filter expression" }),
252
- type: [],
253
- subtype: ["ip_address"]
254
- },
255
- {
256
- id: "last_now",
257
- key: "last_now",
258
- expression: "last_now",
259
- name: p("last (x) periods", { desc: "Filter expression for last (x) periods" }),
260
- description: p("last (x) periods", { desc: "Filter expression for last (x) periods" }),
261
- tiny: p("last", { desc: "Short form of last (x) periods in filter expression" }),
262
- type: ["datetime"]
263
- },
264
- {
265
- id: "last_available",
266
- key: "last_available",
267
- expression: "last_available",
268
- name: p("last (x) available periods", { desc: "Filter expression for last (x) available periods" }),
269
- description: p("last (x) available periods", { desc: "Filter expression for last (x) available periods" }),
270
- tiny: p("last available", { desc: "Short form of last (x) available periods in filter expression" }),
271
- type: ["datetime"]
272
- },
273
- {
274
- id: "last_completed",
275
- key: "last_completed",
276
- expression: "last_completed",
277
- name: p("last completed period", { desc: "Filter expression for last completed period" }),
278
- description: p("last completed (period)", { desc: "Filter expression for last completed period" }),
279
- tiny: p("last completed", { desc: "Short form of last completed period in filter expression" }),
280
- type: ["datetime"]
281
- },
282
- {
283
- id: "next_now",
284
- key: "next_now",
285
- expression: "next_now",
286
- name: p("next (x) periods", { desc: "Filter expression for next (x) periods" }),
287
- description: p("next (x) periods", { desc: "Filter expression for next (x) periods" }),
288
- tiny: p("next", { desc: "Short form of next (x) periods in filter expression" }),
289
- type: ["datetime"]
290
- },
291
- {
292
- id: "more_than_ago",
293
- key: "more_than_ago",
294
- expression: "more_than_ago",
295
- name: p("more than (x) periods ago", { desc: "Filter expression for more than (x) periods ago" }),
296
- description: p("more than (x) periods ago", { desc: "Filter expression for more than (x) periods ago" }),
297
- tiny: p("more than ago", { desc: "Short form of more than (x) periods ago in filter expression" }),
298
- type: ["datetime"]
299
- },
300
- {
301
- id: "or_more_ago",
302
- key: "or_more_ago",
303
- expression: "or_more_ago",
304
- name: p("(x) periods or more ago", { desc: "Filter expression for (x) periods or more ago" }),
305
- description: p("(x) periods or more ago", { desc: "Filter expression for (x) periods or more ago" }),
306
- tiny: p("or more ago", { desc: "Short form of (x) periods or more ago in filter expression" }),
307
- type: ["datetime"]
308
- },
309
- {
310
- id: "next_full",
311
- key: "next_full",
312
- expression: "next_full",
313
- name: p("next full (period)", { desc: "Filter expression for next full period" }),
314
- description: p("next full (period)", { desc: "Filter expression for next full period" }),
315
- tiny: p("next full", { desc: "Short form of next full period in filter expression" }),
316
- type: ["datetime"]
317
- },
318
- {
319
- id: "WTD",
320
- key: "to_date",
321
- expression: "to_date",
322
- unit: 4,
323
- name: p("week to date", { desc: "Filter expression for week to date" }),
324
- description: p("week to date", { desc: "Filter expression for week to date" }),
325
- tiny: p("WTD", { desc: "Short form of week to date in filter expression" }),
326
- type: ["datetime"]
327
- },
328
- {
329
- id: "MTD",
330
- key: "to_date",
331
- expression: "to_date",
332
- unit: 3,
333
- name: p("month to date", { desc: "Filter expression for month to date" }),
334
- description: p("month to date", { desc: "Filter expression for month to date" }),
335
- tiny: p("MTD", { desc: "Short form of month to date in filter expression" }),
336
- type: ["datetime"]
337
- },
338
- {
339
- id: "QTD",
340
- key: "to_date",
341
- expression: "to_date",
342
- unit: 2,
343
- name: p("quarter to date", { desc: "Filter expression for quarter to date" }),
344
- description: p("quarter to date", { desc: "Filter expression for quarter to date" }),
345
- tiny: p("QTD", { desc: "Short form of quarter to date in filter expression" }),
346
- type: ["datetime"]
347
- },
348
- {
349
- id: "YTD",
350
- key: "to_date",
351
- expression: "to_date",
352
- unit: 1,
353
- name: p("year to date", { desc: "Filter expression for year to date" }),
354
- description: p("year to date", { desc: "Filter expression for year to date" }),
355
- tiny: p("YTD", { desc: "Short form of year to date in filter expression" }),
356
- type: ["datetime"]
357
- },
358
- {
359
- id: "? is null",
360
- key: "? is null",
361
- expression: "? is null",
362
- name: p("is missing", { desc: "Filter expression for is missing" }),
363
- description: p("is missing", { desc: "Filter expression for is missing" }),
364
- tiny: p("missing", { desc: "Short form of is missing in filter expression" }),
365
- type: [
366
- "numeric",
367
- "datetime",
368
- "hierarchy",
369
- "spatial"
370
- ],
371
- subtype: ["ip_address"]
372
- },
373
- {
374
- id: "? is not null",
375
- key: "? is not null",
376
- expression: "? is not null",
377
- name: p("is not missing", { desc: "Filter expression for is not missing" }),
378
- description: p("is not missing", { desc: "Filter expression for is not missing" }),
379
- tiny: p("not missing", { desc: "Short form of is not missing in filter expression" }),
380
- type: [
381
- "numeric",
382
- "datetime",
383
- "hierarchy",
384
- "spatial"
385
- ],
386
- subtype: ["ip_address"]
387
- }
388
- ], A = (e, t, n) => {
389
- let r = /* @__PURE__ */ new Set(["? in ?", "? not in ?"]);
390
- return !e && !t ? k() : k().filter((i) => (e && i.type.includes(e) || t && i.subtype?.includes(t)) && !(n && r.has(i.key)));
391
- }, j = ":host{font-family:var(--luzmo-font-family);--var:blue}", M = class extends t(_(g, { validSizes: Object.values(h) })) {
392
- constructor(...e) {
393
- super(...e), this.hasLabel = !1, this.allowEmpty = !1, this.placeholder = "", this.disabled = !1, this.invalid = !1, this.isFormula = !1, this._expressionConfigurations = k();
394
- }
395
- static get styles() {
396
- return [l(j)];
397
- }
398
- _sendChangeEvent() {
399
- if (this.disabled) return;
400
- let e = { expression: this.filter?.expression };
401
- this.filter?.parameters?.[1]?.unit && (e.unit = this.filter?.parameters?.[1]?.unit), this.dispatchEvent(new CustomEvent("luzmo-expression-selected", {
402
- bubbles: !0,
403
- composed: !0,
404
- cancelable: !0,
405
- detail: e
406
- }));
407
- }
408
- setExpression(e) {
409
- this._richExpression = e?.detail?.value?.[0];
410
- let t = this._expressionConfigurations.find((e) => e.id === this._richExpression), n = structuredClone(this.filter);
411
- n.expression = t?.expression, t?.unit && (this._unit = t.unit, n?.parameters[0] && (n.parameters[1] = { unit: this._unit })), this.filter = n, this._sendChangeEvent();
412
- }
413
- willUpdate(e) {
414
- super.willUpdate(e);
415
- let t = e.has("filter"), n = e.has("type"), r = e.has("subtype"), i = e.has("isFormula"), a = A(this.type, this.subtype, this.isFormula), o = [
416
- "YTD",
417
- "QTD",
418
- "MTD",
419
- "WTD"
420
- ];
421
- if (this.filter?.expression === "to_date") {
422
- let e = this.filter?.parameters[1]?.unit ?? 1;
423
- this._unit = e, this._richExpression = o[e - 1] ?? "YTD";
424
- } else this._richExpression = this.filter?.expression;
425
- (n || r || i || t) && this.filter && !this.disabled && !a?.find((e) => e.expression === this.filter?.expression) ? (this.invalid = !0, console.warn(`Warning: ${this.filter?.expression} is not valid given the type: ${this.type} and subtype: ${this.subtype}`)) : this.invalid = !1, !this.filter?.expression && !this.allowEmpty && (this._richExpression = a?.[0]?.id, this.filter = {
426
- ...this.filter,
427
- expression: this._richExpression
428
- }, this._sendChangeEvent());
429
- }
430
- render() {
431
- let e = A(this.type, this.subtype, this.isFormula)?.map((e) => ({
432
- value: e.id,
433
- label: e.description,
434
- shortLabel: e.tiny
435
- })), t = this.disabled || !this.filter?.expression && !this.allowEmpty, n = c`<luzmo-field-label
436
- for="expression"
437
- size=${this.size}
438
- >${this.label ?? p("Select an expression", { desc: "Label for expression picker" })}</luzmo-field-label
439
- >`, r = this.hasLabel ? this.placeholder ?? p("Select...") : this.placeholder || this.label || p("Filter expression", { desc: "Accessible label for expression picker" });
440
- return c`${this.hasLabel ? n : ""}
441
- <luzmo-select
442
- label=${r}
443
- id="expression"
444
- size=${this.size}
445
- variant="highlight"
446
- selects="single"
447
- .language=${this.language}
448
- ?disabled=${t}
449
- ?invalid=${this.invalid}
450
- .options=${e}
451
- .value=${[this._richExpression]}
452
- @change=${this.setExpression}
453
- >
454
- </luzmo-select>`;
455
- }
456
- };
457
- //#endregion
458
- //#region src/components/filter-expression-picker/index.ts
459
- e([u({
460
- type: String,
461
- reflect: !0
462
- })], M.prototype, "filter", void 0), e([u({
463
- type: Boolean,
464
- attribute: "has-label",
465
- reflect: !0
466
- })], M.prototype, "hasLabel", void 0), e([u({
467
- type: String,
468
- reflect: !0
469
- })], M.prototype, "label", void 0), e([u({
470
- type: Boolean,
471
- attribute: "allow-empty",
472
- reflect: !0
473
- })], M.prototype, "allowEmpty", void 0), e([u({
474
- type: String,
475
- attribute: "placeholder",
476
- reflect: !0
477
- })], M.prototype, "placeholder", void 0), e([u({
478
- type: Boolean,
479
- attribute: "disabled",
480
- reflect: !0
481
- })], M.prototype, "disabled", void 0), e([u({
482
- type: String,
483
- attribute: "type",
484
- reflect: !0
485
- })], M.prototype, "type", void 0), e([u({
486
- type: String,
487
- attribute: "subtype",
488
- reflect: !0
489
- })], M.prototype, "subtype", void 0), e([u({
490
- type: Boolean,
491
- attribute: "invalid",
492
- reflect: !0
493
- })], M.prototype, "invalid", void 0), e([u({
494
- type: Boolean,
495
- attribute: "is-formula",
496
- reflect: !0
497
- })], M.prototype, "isFormula", void 0), e([d()], M.prototype, "_richExpression", void 0), e([d()], M.prototype, "_unit", void 0), M = e([f()], M), customElements.get("luzmo-filter-expression-picker") || customElements.define("luzmo-filter-expression-picker", M);
498
- //#endregion
499
- //#region src/components/filter-value-picker/filter-value-picker.module.scss?inline
500
- var N = ":host{--var:blue}", P = ":host{gap:var(--luzmo-filter-value-picker-datetime-gap,var(--filter-value-picker-datetime-gap));--filter-value-picker-datetime-gap:var(--luzmo-spacing-3);flex-direction:row;flex-shrink:1;min-width:0;display:flex}:host([size=s]){--filter-value-picker-datetime-gap:var(--luzmo-spacing-2)}:host([size=m]){--filter-value-picker-datetime-gap:var(--luzmo-spacing-3)}:host([size=l]){--filter-value-picker-datetime-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1))}:host([size=xl]){--filter-value-picker-datetime-gap:var(--luzmo-spacing-4)}", F = class extends t(_(g, { validSizes: Object.values(h) })) {
501
- constructor(...e) {
502
- super(...e), this.contentLanguage = "en";
503
- }
504
- static get styles() {
505
- return [l(P)];
506
- }
507
- willUpdate(e) {
508
- super.willUpdate(e), e.get("filter") && ([
509
- "last_now",
510
- "last_available",
511
- "next_now",
512
- "more_than_ago",
513
- "or_more_ago"
514
- ].includes(this.filter?.expression) ? this.filter.parameters[1] = {
515
- quantity: this.filter?.parameters?.[1]?.quantity ?? 1,
516
- unit: this.filter?.parameters?.[1]?.unit ?? 1
517
- } : [
518
- "last_completed",
519
- "next_full",
520
- "to_date"
521
- ].includes(this.filter?.expression) ? this.filter.parameters[1] = { unit: this.filter?.parameters?.[1]?.unit ?? 1 } : this.filter.parameters[1] = typeof this.filter.parameters[1] == "string" ? this.filter.parameters[1] : (/* @__PURE__ */ new Date()).toISOString());
522
- }
523
- _sendChangeEvent() {
524
- this.filter.parameters = [{ ...this.filter?.parameters?.[0] }, this._value], this.dispatchEvent(new CustomEvent("luzmo-filter-value-changed", {
525
- bubbles: !0,
526
- composed: !0,
527
- cancelable: !0,
528
- detail: { value: this._value }
529
- }));
530
- }
531
- setDate(e) {
532
- this._value = e.detail.value, this._value !== this.filter?.parameters?.[1] && this._sendChangeEvent();
533
- }
534
- setUnit(e) {
535
- let t = a.find((t) => t.key === e?.target?.value)?.level;
536
- this.filter?.parameters?.[1]?.unit !== t && (this._value = {
537
- unit: t ?? 1,
538
- quantity: this.filter?.parameters?.[1]?.quantity ?? 1
539
- }, this._sendChangeEvent());
540
- }
541
- setQuantity(e) {
542
- let t = e?.target?.value;
543
- this.filter?.parameters?.[1]?.quantity !== t && (this._value = {
544
- quantity: t,
545
- unit: this.filter?.parameters?.[1]?.unit ?? 1
546
- }, this._sendChangeEvent());
547
- }
548
- renderDatePicker() {
549
- let e = "second";
550
- return this.filter?.parameters?.[0]?.lowestLevel > 4 && (e = this.filter?.parameters?.[0]?.lowestLevel === 5 ? "day" : this.filter?.parameters?.[0]?.lowestLevel === 6 ? "hour" : this.filter?.parameters?.[0]?.lowestLevel === 7 ? "minute" : "second"), c`<luzmo-date-time-picker
551
- aria-label=${p("Filter date", { desc: "Aria label for filter date picker" })}
552
- .size=${this.size}
553
- .precision=${e}
554
- .timeZone=${this.timeZone}
555
- @change=${this.setDate}
556
- .value=${this.filter?.parameters?.[1]}
557
- ></luzmo-date-time-picker>`;
558
- }
559
- renderQuantityField() {
560
- return c`<luzmo-number-field
561
- label=${p("Quantity", { desc: "Label for quantity number field" })}
562
- .size=${this.size}
563
- .value=${this.filter?.parameters?.[1]?.quantity}
564
- @input=${this.setQuantity}
565
- @change=${this.setQuantity}
566
- ></luzmo-number-field>`;
567
- }
568
- renderUnitPicker() {
569
- let e = a.map((e) => c`<luzmo-menu-item .value=${e.key}>
570
- ${e.i18n()}
571
- </luzmo-menu-item>`), t = a.find((e) => e.level === this.filter?.parameters?.[1]?.unit)?.key ?? a?.[0]?.key;
572
- return c`<luzmo-picker
573
- .label=${p("Time unit", { desc: "Aria label for time unit picker" })}
574
- .size=${this.size}
575
- .value=${t}
576
- @change=${this.setUnit}
577
- variant="highlight"
578
- >${e}</luzmo-picker
579
- >`;
580
- }
581
- render() {
582
- let e = this.filter?.expression;
583
- return [
584
- "last_now",
585
- "last_available",
586
- "next_now",
587
- "more_than_ago",
588
- "or_more_ago"
589
- ].includes(e) ? c`${this.renderQuantityField()}${this.renderUnitPicker()}` : ["last_completed", "next_full"].includes(e) ? this.renderUnitPicker() : this.renderDatePicker();
590
- }
591
- };
592
- //#endregion
593
- //#region src/components/filter-value-picker-datetime/index.ts
594
- e([u({
595
- type: String,
596
- attribute: "content-language",
597
- reflect: !0
598
- })], F.prototype, "contentLanguage", void 0), e([u({
599
- type: String,
600
- attribute: "time-zone",
601
- reflect: !0
602
- })], F.prototype, "timeZone", void 0), e([u({
603
- type: Object,
604
- reflect: !1
605
- })], F.prototype, "filter", void 0), F = e([f()], F), customElements.get("luzmo-filter-value-picker-datetime") || customElements.define("luzmo-filter-value-picker-datetime", F);
606
- //#endregion
607
- //#region src/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.module.scss?inline
608
- var I = ".missing-value{color:var(--luzmo-filter-value-picker-hierarchy-missing-value-color,#767676)}:host{--var:blue}", L = 5e3, R = class extends t(_(g, { validSizes: Object.values(h) })) {
609
- constructor(...e) {
610
- super(...e), this.contentLanguage = "en", this._hierarchyValues = [], this._retrieving = !0, this._search = "", this._error = null, this._allValuesRetrieved = !1, this._runningQueries = [];
611
- }
612
- static get styles() {
613
- return [l(I)];
614
- }
615
- connectedCallback() {
616
- super.connectedCallback();
617
- let e = {};
618
- this.apiUrl && (e.apiUrl = this.apiUrl), this.cacheTime && (e.staleTime = this.cacheTime, e.gcTime = this.cacheTime * 2), this.authKey && this.authToken && (e.authKey = this.authKey, e.authToken = this.authToken), n.configure(e);
619
- }
620
- willUpdate(e) {
621
- if (super.willUpdate(e), e.has("filter") && this.filter) {
622
- let t = e.get("filter")?.expression;
623
- (e.get("filter")?.parameters?.[0]?.columnId || e.get("filter")?.parameters?.[0]?.formulaId) !== (this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId) && ([
624
- "? in ?",
625
- "? not in ?",
626
- "? = ?",
627
- "? != ?"
628
- ].includes(this.filter?.expression) || ![
629
- "? in ?",
630
- "? not in ?",
631
- "? = ?",
632
- "? != ?"
633
- ].includes(t)) && (this._hierarchyValues = [], this._allValuesRetrieved = !1, this._retrieving = !0);
634
- }
635
- }
636
- async _fetchHierarchyValues(e = 0) {
637
- if (this._allValuesRetrieved) {
638
- this._retrieving = !1;
639
- return;
640
- }
641
- if (!this.filter?.parameters?.[0]) {
642
- this._retrieving = !1, this._error = "Missing column parameters";
643
- return;
644
- }
645
- let t = this.filter.parameters[0], r = t.columnId, i = t.formulaId, a = t.datasetId;
646
- if (!r && !i) {
647
- this._retrieving = !1, this._error = "Missing column id or formula id";
648
- return;
649
- } else if (!a) {
650
- this._retrieving = !1, this._error = "Missing dataset id";
651
- return;
652
- }
653
- this._retrieving = !0, this._error = null;
654
- let o = {
655
- expression: "? like ?",
656
- parameters: [{
657
- column_id: r,
658
- formula_id: i,
659
- dataset_id: a
660
- }, this._search]
661
- }, s = {
662
- dimensions: [{
663
- column_id: r,
664
- formula_id: i,
665
- dataset_id: a
666
- }],
667
- where: [],
668
- order: [{
669
- column_id: r,
670
- formula_id: i,
671
- dataset_id: a,
672
- order: "asc"
673
- }],
674
- limit: {
675
- by: L,
676
- offset: e
677
- }
678
- };
679
- this._search && this._allValuesRetrieved && s.where.push(o);
680
- let c = new AbortController(), l = new Promise((e, t) => {
681
- n.fetchData(s).then(e).catch(t), c.signal.addEventListener("abort", () => {
682
- console.warn("Request aborted"), t({ status: "aborted" });
683
- });
684
- }), u = {
685
- promise: l,
686
- abortController: c
687
- };
688
- this._runningQueries.push(u);
689
- try {
690
- let t = await l, n = t && Array.isArray(t.data) ? t.data.map((e) => e[0]) : [];
691
- this._search || (this._allValuesRetrieved = n.length < L), this._hierarchyValues = e > 0 ? [...this._hierarchyValues, ...n] : n;
692
- } catch (e) {
693
- if (e?.status === "aborted") return;
694
- this._error = e instanceof Error ? e.message : "Unknown error", this._hierarchyValues = [];
695
- } finally {
696
- this._runningQueries = this._runningQueries.filter((e) => e.promise !== l), this._retrieving = !1;
697
- }
698
- }
699
- _sendChangeEvent() {
700
- this.dispatchEvent(new CustomEvent("luzmo-filter-value-changed", {
701
- bubbles: !0,
702
- composed: !0,
703
- cancelable: !0,
704
- detail: { value: this._value }
705
- }));
706
- }
707
- setHierarchy(e) {
708
- let t;
709
- t = ["? in ?", "? not in ?"].includes(this.filter?.expression) ? e?.detail?.value : ["? = ?", "? != ?"].includes(this.filter?.expression) ? e?.detail?.value?.[0] : e?.target?.value, this._value !== t && (this._value = t, this.filter = {
710
- ...this.filter,
711
- parameters: [{ ...this.filter?.parameters?.[0] }, this._value]
712
- }, this._sendChangeEvent());
713
- }
714
- onScrolled(e) {
715
- !this._retrieving && !this._allValuesRetrieved && e?.detail?.last === this._hierarchyValues.length - 1 && this._fetchHierarchyValues(this._hierarchyValues.length);
716
- }
717
- renderTextField() {
718
- return c`<luzmo-text-field
719
- label=${p("Filter value", { desc: "Label for filter value text field" })}
720
- .size=${this.size}
721
- @change=${this.setHierarchy}
722
- @input=${this.setHierarchy}
723
- .value=${this.filter?.parameters?.[1] ?? ""}
724
- ></luzmo-text-field>`;
725
- }
726
- setSearchString(e) {
727
- this._search = e?.detail?.string ?? "", this._allValuesRetrieved || (this._searchQueryTimeout && (this._runningQueries.forEach((e) => {
728
- e?.abortController && e.abortController.abort();
729
- }), this._runningQueries = [], clearTimeout(this._searchQueryTimeout)), this._searchQueryTimeout = setTimeout(() => {
730
- this._fetchHierarchyValues();
731
- }, 500));
732
- }
733
- resetSearchString() {
734
- this._search = "";
735
- }
736
- onOpened() {
737
- this._fetchHierarchyValues();
738
- }
739
- renderHierarchyPicker() {
740
- if (this._error) return c`<div class="error" role="alert">Error: ${this._error}</div>`;
741
- let e = (this._search ? this._hierarchyValues.filter((e) => i(e.name, this.contentLanguage, { allowEmpty: !0 })?.toLowerCase().includes(this._search.toLowerCase()) || e.toString().toLowerCase().includes(this._search.toLowerCase())) : this._hierarchyValues).map((e) => {
742
- let t = i(e?.name, this.contentLanguage) ?? "N/A";
743
- return typeof t != "string" && (t = "N/A"), {
744
- value: e?.id,
745
- label: t
746
- };
747
- }), t = this.filter?.expression, n = ["? = ?", "? != ?"].includes(t), r = p("Selected {count} items"), a = p("Search"), o = p("No data"), s = p("No results"), l = p("Select...");
748
- return c`<luzmo-select
749
- .size=${this.size}
750
- .label=${l}
751
- .retrieving=${this._retrieving}
752
- .selects=${n ? "single" : "multiple"}
753
- .variant=${n ? "highlight" : "checkboxes"}
754
- emphasized
755
- no-wrap
756
- ?invalid=${!!this._error}
757
- .multipleLabelTemplate=${r}
758
- .searchLabel=${a}
759
- .noDataLabel=${o}
760
- .noResultsLabel=${s}
761
- @change=${this.setHierarchy}
762
- @luzmo-search=${this.setSearchString}
763
- @luzmo-opened=${this.onOpened}
764
- @luzmo-closed=${this.resetSearchString}
765
- @luzmo-scrolled=${this.onScrolled}
766
- .options=${e}
767
- .value=${n ? [this.filter?.parameters?.[1]] : this.filter?.parameters?.[1]}
768
- >
769
- </luzmo-select>`;
770
- }
771
- render() {
772
- let e = this.filter?.expression;
773
- return [
774
- "? in ?",
775
- "? not in ?",
776
- "? = ?",
777
- "? != ?"
778
- ].includes(e) ? this.renderHierarchyPicker() : this.renderTextField();
779
- }
780
- };
781
- //#endregion
782
- //#region src/components/filter-value-picker-hierarchy/index.ts
783
- e([u({
784
- type: String,
785
- attribute: "api-url",
786
- reflect: !0
787
- })], R.prototype, "apiUrl", void 0), e([u({
788
- type: String,
789
- attribute: "auth-key",
790
- reflect: !0
791
- })], R.prototype, "authKey", void 0), e([u({
792
- type: String,
793
- attribute: "auth-token",
794
- reflect: !0
795
- })], R.prototype, "authToken", void 0), e([u({
796
- type: Number,
797
- attribute: "cache-time",
798
- reflect: !0
799
- })], R.prototype, "cacheTime", void 0), e([u({
800
- type: String,
801
- attribute: "content-language",
802
- reflect: !0
803
- })], R.prototype, "contentLanguage", void 0), e([u({
804
- type: Object,
805
- reflect: !1
806
- })], R.prototype, "filter", void 0), e([d()], R.prototype, "_hierarchyValues", void 0), e([d()], R.prototype, "_retrieving", void 0), e([d()], R.prototype, "_search", void 0), e([d()], R.prototype, "_error", void 0), R = e([f()], R), customElements.get("luzmo-filter-value-picker-hierarchy") || customElements.define("luzmo-filter-value-picker-hierarchy", R);
807
- //#endregion
808
- //#region src/components/filter-value-picker-numeric/filter-value-picker-numeric.module.scss?inline
809
- var z = ".missing-value{opacity:.4}:host{--var:blue}", B = 5e3, V = class extends t(_(g, { validSizes: Object.values(h) })) {
810
- constructor(...e) {
811
- super(...e), this.contentLanguage = "en", this._numericValues = [], this._retrieving = !0, this._search = "", this._error = null, this._allValuesRetrieved = !1, this._runningQueries = [];
812
- }
813
- static get styles() {
814
- return [l(z)];
815
- }
816
- connectedCallback() {
817
- super.connectedCallback();
818
- let e = {};
819
- this.apiUrl && (e.apiUrl = this.apiUrl), this.cacheTime && (e.staleTime = this.cacheTime, e.gcTime = this.cacheTime * 2), this.authKey && this.authToken && (e.authKey = this.authKey, e.authToken = this.authToken), n.configure(e);
820
- }
821
- willUpdate(e) {
822
- if (super.willUpdate(e), e.has("filter") && this.filter) {
823
- let t = e.get("filter")?.expression, n = this.filter?.expression;
824
- ((e.get("filter")?.parameters?.[0]?.columnId || e.get("filter")?.parameters?.[0]?.formulaId) !== (this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId) || !["? in ?", "? not in ?"].includes(t)) && ["? in ?", "? not in ?"].includes(n) && (this._numericValues = [], this._allValuesRetrieved = !1, this._retrieving = !0);
825
- }
826
- }
827
- async _fetchNumericValues(e = 0) {
828
- if (this._allValuesRetrieved) {
829
- this._retrieving = !1;
830
- return;
831
- }
832
- if (!this.filter?.parameters?.[0]) {
833
- this._retrieving = !1, this._error = "Missing column parameters";
834
- return;
835
- }
836
- let t = this.filter.parameters[0], r = t.columnId, i = t.formulaId, a = t.datasetId;
837
- if (!r && !i) {
838
- this._retrieving = !1, this._error = "Missing column id or formula id";
839
- return;
840
- } else if (!a) {
841
- this._retrieving = !1, this._error = "Missing dataset id";
842
- return;
843
- }
844
- this._retrieving = !0, this._error = null;
845
- let o = {
846
- expression: "? like ?",
847
- parameters: [{
848
- dataset_id: a,
849
- expression: `CAST({${a}:${r ?? i}},hierarchy)`
850
- }, this._search]
851
- }, s = {
852
- dimensions: [{
853
- column_id: r,
854
- formula_id: i,
855
- dataset_id: a
856
- }],
857
- where: [],
858
- order: [{
859
- column_id: r,
860
- formula_id: i,
861
- dataset_id: a,
862
- order: "asc"
863
- }],
864
- limit: {
865
- by: B,
866
- offset: e
867
- }
868
- };
869
- this._search && !this._allValuesRetrieved && s.where.push(o);
870
- let c = new AbortController(), l = new Promise((e, t) => {
871
- n.fetchData(s).then(e).catch(t), c.signal.addEventListener("abort", () => {
872
- console.warn("Request aborted"), t({ status: "aborted" });
873
- });
874
- }), u = {
875
- promise: l,
876
- abortController: c
877
- };
878
- this._runningQueries.push(u);
879
- try {
880
- let t = await l, n = t && Array.isArray(t.data) ? t.data.map((e) => e[0]) : [];
881
- this._search || (this._allValuesRetrieved = n.length < B), this._numericValues = e > 0 ? [...this._numericValues, ...n] : n;
882
- } catch (e) {
883
- if (e?.status === "aborted") return;
884
- this._error = e instanceof Error ? e.message : "Unknown error", this._numericValues = [];
885
- } finally {
886
- this._runningQueries = this._runningQueries.filter((e) => e.promise !== l), this._retrieving = !1;
887
- }
888
- }
889
- _sendChangeEvent() {
890
- this.dispatchEvent(new CustomEvent("luzmo-filter-value-changed", {
891
- bubbles: !0,
892
- composed: !0,
893
- cancelable: !0,
894
- detail: { value: this._value }
895
- }));
896
- }
897
- setValue(e) {
898
- let t = ["? in ?", "? not in ?"].includes(this.filter?.expression) ? e?.detail?.value : e?.target?.value;
899
- this._value !== t && (this._value = t, this.filter = {
900
- ...this.filter,
901
- parameters: [{ ...this.filter?.parameters?.[0] }, t]
902
- }, this._sendChangeEvent());
903
- }
904
- selectValue(e) {
905
- let t = (e.detail?.value ?? "").map((e) => Number.parseFloat(e));
906
- this.filter = {
907
- ...this.filter,
908
- parameters: [{ ...this.filter?.parameters?.[0] }, t]
909
- }, this._value = t, this._sendChangeEvent();
910
- }
911
- onScrolled(e) {
912
- !this._retrieving && !this._allValuesRetrieved && e?.detail?.last === this._numericValues.length - 1 && this._fetchNumericValues(this._numericValues.length);
913
- }
914
- renderNumberField() {
915
- return c`<luzmo-number-field
916
- label="Numeric filter value"
917
- grows
918
- .size=${this.size}
919
- @change=${this.setValue}
920
- @input=${this.setValue}
921
- .value=${this.filter?.parameters?.[1]}
922
- ></luzmo-number-field>`;
923
- }
924
- setSearchString(e) {
925
- this._search = e?.detail?.string ?? "", this._allValuesRetrieved || (this._searchQueryTimeout && (this._runningQueries.forEach((e) => {
926
- e?.abortController && e.abortController.abort();
927
- }), this._runningQueries = [], clearTimeout(this._searchQueryTimeout)), this._searchQueryTimeout = setTimeout(() => {
928
- this._fetchNumericValues();
929
- }, 500));
930
- }
931
- resetSearchString() {
932
- this._search = "";
933
- }
934
- onOpened() {
935
- this._fetchNumericValues();
936
- }
937
- renderValuePicker() {
938
- if (this._error) return c`<div class="error" role="alert">${this._error}</div>`;
939
- let e = this._numericValues.filter((e) => e.toString().toLowerCase().includes(this._search.toLowerCase())).map((e) => ({
940
- value: e,
941
- label: e
942
- })), t = p("Selected {count} items"), n = p("Search"), r = p("No data"), i = p("No results"), a = p("Select...");
943
- return c`<luzmo-select
944
- .size=${this.size}
945
- .label=${a}
946
- .retrieving=${this._retrieving}
947
- selects="multiple"
948
- variant="checkboxes"
949
- emphasized
950
- no-wrap
951
- ?invalid=${!!this._error}
952
- .multipleLabelTemplate=${t}
953
- .searchLabel=${n}
954
- .noDataLabel=${r}
955
- .noResultsLabel=${i}
956
- @change=${this.selectValue}
957
- @luzmo-search=${this.setSearchString}
958
- @luzmo-opened=${this.onOpened}
959
- @luzmo-closed=${this.resetSearchString}
960
- @luzmo-scrolled=${this.onScrolled}
961
- .options=${e}
962
- .value=${this.filter?.parameters?.[1]}
963
- >
964
- </luzmo-select>`;
965
- }
966
- render() {
967
- let e = this.filter?.expression;
968
- return ["? in ?", "? not in ?"].includes(e) ? this.renderValuePicker() : this.renderNumberField();
969
- }
970
- };
971
- //#endregion
972
- //#region src/components/filter-value-picker-numeric/index.ts
973
- e([u({
974
- type: String,
975
- attribute: "api-url",
976
- reflect: !0
977
- })], V.prototype, "apiUrl", void 0), e([u({
978
- type: String,
979
- attribute: "auth-key",
980
- reflect: !0
981
- })], V.prototype, "authKey", void 0), e([u({
982
- type: String,
983
- attribute: "auth-token",
984
- reflect: !0
985
- })], V.prototype, "authToken", void 0), e([u({
986
- type: Number,
987
- attribute: "cache-time",
988
- reflect: !0
989
- })], V.prototype, "cacheTime", void 0), e([u({
990
- type: String,
991
- attribute: "content-language",
992
- reflect: !0
993
- })], V.prototype, "contentLanguage", void 0), e([u({
994
- type: Object,
995
- reflect: !1
996
- })], V.prototype, "filter", void 0), e([d()], V.prototype, "_numericValues", void 0), e([d()], V.prototype, "_retrieving", void 0), e([d()], V.prototype, "_search", void 0), e([d()], V.prototype, "_error", void 0), V = e([f()], V), customElements.get("luzmo-filter-value-picker-numeric") || customElements.define("luzmo-filter-value-picker-numeric", V);
997
- //#endregion
998
- //#region src/components/filter-value-picker/filter-value-picker.ts
999
- var H = class extends t(_(g, { validSizes: Object.values(h) })) {
1000
- constructor(...e) {
1001
- super(...e), this.contentLanguage = "en", this._expressionsWithoutValuePicker = /* @__PURE__ */ new Set([
1002
- "? is null",
1003
- "? is not null",
1004
- "to_date"
1005
- ]);
1006
- }
1007
- static get styles() {
1008
- return [l(N)];
1009
- }
1010
- _sendChangeEvent(e) {
1011
- this.dispatchEvent(new CustomEvent("luzmo-filter-value-changed", {
1012
- bubbles: !0,
1013
- composed: !0,
1014
- cancelable: !0,
1015
- detail: { value: e }
1016
- }));
1017
- }
1018
- setFilterValue(e) {
1019
- e.stopPropagation(), this._sendChangeEvent(e?.detail?.value);
1020
- }
1021
- renderNumericValuePicker() {
1022
- return c`<luzmo-filter-value-picker-numeric
1023
- .apiUrl=${this.apiUrl}
1024
- .authKey=${this.authKey}
1025
- .authToken=${this.authToken}
1026
- .cacheTime=${this.cacheTime}
1027
- .filter=${this.filter}
1028
- .size=${this.size}
1029
- .language=${this.language}
1030
- .contentLanguage=${this.contentLanguage}
1031
- @luzmo-filter-value-changed=${this.setFilterValue}
1032
- ></luzmo-filter-value-picker-numeric>`;
1033
- }
1034
- renderHierarchyValuePicker() {
1035
- return c`<luzmo-filter-value-picker-hierarchy
1036
- .apiUrl=${this.apiUrl}
1037
- .authKey=${this.authKey}
1038
- .authToken=${this.authToken}
1039
- .cacheTime=${this.cacheTime}
1040
- .filter=${this.filter}
1041
- .size=${this.size}
1042
- .language=${this.language}
1043
- .contentLanguage=${this.contentLanguage}
1044
- @luzmo-filter-value-changed=${this.setFilterValue}
1045
- ></luzmo-filter-value-picker-hierarchy>`;
1046
- }
1047
- renderDateTimeValuePicker() {
1048
- return c`<luzmo-filter-value-picker-datetime
1049
- .apiUrl=${this.apiUrl}
1050
- .authKey=${this.authKey}
1051
- .authToken=${this.authToken}
1052
- .cacheTime=${this.cacheTime}
1053
- .filter=${this.filter}
1054
- .timeZone=${this.timeZone}
1055
- .language=${this.language}
1056
- .contentLanguage=${this.contentLanguage}
1057
- .size=${this.size}
1058
- @luzmo-filter-value-changed=${this.setFilterValue}
1059
- ></luzmo-filter-value-picker-datetime>`;
1060
- }
1061
- renderDisabledTextField() {
1062
- let e = this.filter?.parameters?.[1] ?? "";
1063
- return c`<luzmo-text-field
1064
- label=${p("Filter value", { desc: "Label for filter value text field" })}
1065
- .size=${this.size}
1066
- .value=${e}
1067
- .disabled=${!0}
1068
- ></luzmo-text-field>`;
1069
- }
1070
- render() {
1071
- let e = this.valueType ?? "", t = this.filter?.expression;
1072
- return !t || this._expressionsWithoutValuePicker.has(t) ? c`
1073
-
1074
- ` : [
1075
- "numeric",
1076
- "hierarchy",
1077
- "datetime"
1078
- ].includes(e) ? e === "numeric" ? this.renderNumericValuePicker() : e === "datetime" ? this.renderDateTimeValuePicker() : this.renderHierarchyValuePicker() : typeof this.filter?.parameters?.[1] == "string" ? this.renderDisabledTextField() : c`
1079
-
1080
- `;
1081
- }
1082
- };
1083
- //#endregion
1084
- //#region src/components/filter-value-picker/index.ts
1085
- e([u({
1086
- type: String,
1087
- attribute: "api-url",
1088
- reflect: !0
1089
- })], H.prototype, "apiUrl", void 0), e([u({
1090
- type: String,
1091
- attribute: "auth-key",
1092
- reflect: !0
1093
- })], H.prototype, "authKey", void 0), e([u({
1094
- type: String,
1095
- attribute: "auth-token",
1096
- reflect: !0
1097
- })], H.prototype, "authToken", void 0), e([u({
1098
- type: Number,
1099
- attribute: "cache-time",
1100
- reflect: !0
1101
- })], H.prototype, "cacheTime", void 0), e([u({
1102
- type: String,
1103
- attribute: "content-language",
1104
- reflect: !0
1105
- })], H.prototype, "contentLanguage", void 0), e([u({
1106
- type: String,
1107
- attribute: "time-zone",
1108
- reflect: !0
1109
- })], H.prototype, "timeZone", void 0), e([u({
1110
- type: String,
1111
- attribute: "value-type",
1112
- reflect: !0
1113
- })], H.prototype, "valueType", void 0), e([u({
1114
- type: Object,
1115
- reflect: !1
1116
- })], H.prototype, "filter", void 0), customElements.get("luzmo-filter-value-picker") || customElements.define("luzmo-filter-value-picker", H);
1117
- //#endregion
1118
- //#region src/components/filter-item/filter-item.module.scss?inline
1119
- var U = ":host{flex-direction:row;min-width:0;max-width:100%;display:flex}[role=group]{gap:var(--luzmo-filter-item-gap,var(--filter-item-gap));flex-direction:row;min-width:0;max-width:100%;display:flex}luzmo-data-fields-select{flex-shrink:1;min-width:0}luzmo-filter-value-picker{flex-shrink:2;min-width:0}:host{--filter-item-gap:var(--luzmo-spacing-3)}:host([size=s]){--filter-item-gap:var(--luzmo-spacing-2)}:host([size=m]){--filter-item-gap:var(--luzmo-spacing-3)}:host([size=l]){--filter-item-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1))}:host([size=xl]){--filter-item-gap:var(--luzmo-spacing-4)}", W = class extends t(_(g, { validSizes: Object.values(h) })) {
1120
- constructor(...e) {
1121
- super(...e), this.apiUrl = "https://api.luzmo.com", this.contentLanguage = "en", this.filter = {}, this._loading = !1, this._datasetsDataFields = [];
1122
- }
1123
- static get styles() {
1124
- return [l(U)];
1125
- }
1126
- connectedCallback() {
1127
- super.connectedCallback();
1128
- let e = {};
1129
- this.apiUrl && (e.apiUrl = this.apiUrl), this.cacheTime && (e.staleTime = this.cacheTime, e.gcTime = this.cacheTime * 2), e.authKey = this.authKey || "", e.authToken = this.authToken || "", n.configure(e);
1130
- }
1131
- _clearTypeState() {
1132
- this._type = void 0, this._subType = void 0, this._isFormula = void 0;
1133
- }
1134
- async _fetchDatasetDataFields() {
1135
- if (!this.datasetIds || this.datasetIds.length === 0) {
1136
- this._error = "Missing dataset ids to fetch columns & formulas", this._datasetsDataFields = [], this._loading = !1;
1137
- return;
1138
- }
1139
- let { valid: e, invalid: t } = r(this.datasetIds);
1140
- if (t.length > 0 && console.warn(`[LuzmoFilterItem] Invalid dataset IDs provided (not valid UUIDs): ${t.join(", ")}. These will be skipped.`), e.length === 0) {
1141
- this._error = "Invalid dataset IDs provided. Dataset IDs must be valid UUIDs.", this._datasetsDataFields = [], this._loading = !1;
1142
- return;
1143
- }
1144
- this._loading = !0, this._error = null;
1145
- try {
1146
- let t = await n.fetchDatasetsWithColumnsAndFormulas(e);
1147
- for (let e of t) for (let t of [...e.columns, ...e.formulas]) t.datasetId = e.id;
1148
- this._datasetsDataFields = t;
1149
- } catch (e) {
1150
- console.error("Error fetching dataset columns & formulas:", e), this._error = e instanceof Error ? e.message : "Unknown error", this._datasetsDataFields = [];
1151
- } finally {
1152
- this._loading = !1;
1153
- }
1154
- }
1155
- willUpdate(e) {
1156
- super.willUpdate(e);
1157
- let t = e.has("filter"), r = e.has("datasetIds"), i = e.has("authKey"), a = e.has("authToken"), o = e.has("_datasetsDataFields");
1158
- if (t || r || o && this.filter?.parameters?.[0]?.columnId && (this.filter?.parameters?.[0]?.datasetId || this.filter?.parameters?.[0]?.formulaId)) if (!this.datasetIds || this.datasetIds.length === 0 || this._datasetsDataFields.length === 0) this._clearTypeState();
1159
- else {
1160
- let e = this._datasetsDataFields.find((e) => e.id === this.filter.parameters?.[0]?.datasetId);
1161
- if (e) {
1162
- let t = !1;
1163
- for (let n of [...e.columns || [], ...e?.formulas || []]) if (n.id === this.filter.parameters?.[0]?.columnId || n.id === this.filter.parameters?.[0]?.formulaId) {
1164
- this._type = n.type, this._subType = n.subtype, this._isFormula = n.id === this.filter.parameters?.[0]?.formulaId, t = !0;
1165
- break;
1166
- }
1167
- t || this._clearTypeState();
1168
- } else this._clearTypeState();
1169
- }
1170
- if (i || a) {
1171
- let e = {
1172
- authKey: this.authKey || "",
1173
- authToken: this.authToken || ""
1174
- };
1175
- n.configure(e);
1176
- }
1177
- (r || i || a) && this._fetchDatasetDataFields();
1178
- }
1179
- _sendChangeEvent() {
1180
- this.dispatchEvent(new CustomEvent("luzmo-filter-changed", {
1181
- bubbles: !0,
1182
- composed: !0,
1183
- cancelable: !0,
1184
- detail: { filter: this.filter }
1185
- }));
1186
- }
1187
- setFilterDataField(e) {
1188
- if (this._cannotReferenceColumn()) return;
1189
- let t = e.detail?.dataFields?.[0], n = this._type, r = this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId, i = t?.columnId || t?.formulaId;
1190
- this._type = t?.type, this._subType = t?.subtype, this._isFormula = !!t?.formulaId;
1191
- let a = A(this._type, this._subType, this._isFormula);
1192
- this.filter = structuredClone(this.filter ?? {}), a?.includes(this.filter?.expression) || (this.filter.expression = a?.[0]?.expression), this.filter.parameters = this.filter?.parameters ?? [], this.filter.parameters[0] = { datasetId: t?.datasetId }, this._isFormula ? this.filter.parameters[0].formulaId = t?.formulaId : this.filter.parameters[0].columnId = t?.columnId, t?.lowestLevel, n === this._type ? r !== i && this._type === "hierarchy" && (this.filter.parameters[1] = ["? in ?", "? not in ?"].includes(this.filter.expression) ? [] : "") : this._type === "hierarchy" ? (this.filter.expression = "? like ?", this.filter.parameters[1] = "") : this._type === "numeric" ? (this.filter.expression = "? > ?", this.filter.parameters[1] = 0) : this._type === "datetime" ? (this.filter.expression = "? < ?", this.filter.parameters[1] = (/* @__PURE__ */ new Date()).toISOString()) : (this.filter.expression = "? is not null", this.filter.parameters = [this.filter.parameters[0]]), this._sendChangeEvent();
1193
- }
1194
- setFilterExpression(e) {
1195
- if (this._cannotReferenceColumn()) return;
1196
- let t = structuredClone(this.filter ?? {}), n = t.expression;
1197
- if (t.expression = e.detail?.expression, n !== t.expression) {
1198
- if (["? is null", "? is not null"].includes(t.expression)) t.parameters = [t.parameters[0]];
1199
- else if (this._type === "datetime") if ([
1200
- "YTD",
1201
- "QTD",
1202
- "MTD",
1203
- "WTD"
1204
- ].includes(t.expression)) {
1205
- let n = e?.detail?.unit;
1206
- n && (t.parameters[1] = { unit: typeof n == "number" ? n : 1 });
1207
- } else if ([
1208
- "last_completed",
1209
- "next_full",
1210
- "to_date"
1211
- ].includes(t.expression)) {
1212
- let e = t?.parameters?.[1]?.unit;
1213
- t.parameters[1] = { unit: typeof e == "number" ? e : 1 };
1214
- } else if ([
1215
- "last_now",
1216
- "last_available",
1217
- "next_now",
1218
- "more_than_ago",
1219
- "or_more_ago"
1220
- ].includes(t.expression)) {
1221
- let e = t?.parameters?.[1]?.unit, n = t?.parameters?.[1]?.quantity;
1222
- t.parameters[1] = {
1223
- unit: typeof e == "number" ? e : 1,
1224
- quantity: typeof n == "number" ? n : 1
1225
- };
1226
- } else t.parameters[1] = (/* @__PURE__ */ new Date()).toISOString();
1227
- else this._type === "hierarchy" ? ["? in ?", "? not in ?"].includes(t.expression) ? ["? = ?", "? != ?"].includes(n) ? t.parameters[1] = t.parameters[1] ? [t.parameters[1]] : [] : t.parameters[1] = [] : ["? = ?", "? != ?"].includes(t.expression) ? ["? in ?", "? not in ?"].includes(n) ? t.parameters[1] = Array.isArray(t.parameters[1]) && t.parameters[1][0] ? t.parameters[1][0] : "" : t.parameters[1] = "" : t.parameters[1] = ["? in ?", "? not in ?"].includes(n) ? "" : t.parameters[1] ?? "" : this._type === "numeric" && (["? in ?", "? not in ?"].includes(t.expression) && ["? in ?", "? not in ?"].includes(n) ? t.parameters[1] = t.parameters[1] ?? [] : ["? in ?", "? not in ?"].includes(t.expression) ? t.parameters[1] = [] : t.parameters[1] = ["? in ?", "? not in ?"].includes(n) ? 0 : t.parameters[1] ?? 0);
1228
- this.filter = t, this._sendChangeEvent();
1229
- }
1230
- }
1231
- setFilterValue(e) {
1232
- this._cannotReferenceColumn() || (this.filter.parameters[1] = e?.detail?.value, this._sendChangeEvent());
1233
- }
1234
- _cannotReferenceColumn() {
1235
- if (!(this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId)) return !1;
1236
- if (!this.datasetIds || this.datasetIds.length === 0 || this._datasetsDataFields.length === 0) return !0;
1237
- let e = this.filter?.parameters?.[0]?.datasetId, t = this._datasetsDataFields.find((t) => t.id === e);
1238
- return !t || ![...t.columns || [], ...t.formulas || []].find((e) => e.id === this.filter?.parameters?.[0]?.columnId || e.id === this.filter?.parameters?.[0]?.formulaId);
1239
- }
1240
- renderDataFieldPicker() {
1241
- let e = this._cannotReferenceColumn(), t = e ? p("Unknown") : void 0, n = e || this._loading ? "" : this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId;
1242
- return c`<luzmo-data-fields-select
1243
- .language=${this.language}
1244
- .contentLanguage=${this.contentLanguage}
1245
- .size=${this.size}
1246
- .value=${n ? [n] : []}
1247
- selects="single"
1248
- .datasetsDataFields=${this._datasetsDataFields}
1249
- placeholder=${v(t)}
1250
- .invalid=${!!this._error || e}
1251
- ?disabled=${e}
1252
- .retrieving=${this._loading}
1253
- .pending=${this._loading}
1254
- @luzmo-data-fields-selected=${this.setFilterDataField}
1255
- ></luzmo-data-fields-select>`;
1256
- }
1257
- renderExpressionPicker() {
1258
- let e = this._cannotReferenceColumn(), t = !this.filter?.parameters?.[0]?.datasetId || !this.filter?.parameters?.[0]?.columnId || e;
1259
- return c`<luzmo-filter-expression-picker
1260
- .language=${this.language}
1261
- .size=${this.size}
1262
- .type=${this._type}
1263
- .subtype=${this._subType}
1264
- .filter=${this.filter}
1265
- ?isFormula=${this._isFormula}
1266
- ?disabled=${t}
1267
- @luzmo-expression-selected=${this.setFilterExpression}
1268
- ></luzmo-filter-expression-picker>`;
1269
- }
1270
- renderValuePicker() {
1271
- let e = this._cannotReferenceColumn(), t = !this.filter?.parameters?.[0]?.datasetId || !this.filter?.parameters?.[0]?.columnId || e;
1272
- return c`<luzmo-filter-value-picker
1273
- .apiUrl=${this.apiUrl}
1274
- .authKey=${this.authKey}
1275
- .authToken=${this.authToken}
1276
- .cacheTime=${this.cacheTime}
1277
- .language=${this.language}
1278
- .contentLanguage=${this.contentLanguage}
1279
- .timeZone=${this.timeZone}
1280
- .size=${this.size}
1281
- .filter=${this.filter}
1282
- .valueType=${this._type}
1283
- ?disabled=${t}
1284
- @luzmo-filter-value-changed=${this.setFilterValue}
1285
- ></luzmo-filter-value-picker>`;
1286
- }
1287
- render() {
1288
- return c`<div role="group" aria-label=${p("Filter condition", { desc: "Accessible label for filter item group" })}>
1289
- ${this.renderDataFieldPicker()} ${this.renderExpressionPicker()}
1290
- ${this.renderValuePicker()}
1291
- </div>`;
1292
- }
1293
- };
1294
- //#endregion
1295
- //#region src/components/filter-item/index.ts
1296
- e([u({
1297
- type: String,
1298
- attribute: "api-url",
1299
- reflect: !0
1300
- })], W.prototype, "apiUrl", void 0), e([u({
1301
- type: String,
1302
- attribute: "auth-key",
1303
- reflect: !0
1304
- })], W.prototype, "authKey", void 0), e([u({
1305
- type: String,
1306
- attribute: "auth-token",
1307
- reflect: !0
1308
- })], W.prototype, "authToken", void 0), e([u({
1309
- type: Number,
1310
- attribute: "cache-time",
1311
- reflect: !0
1312
- })], W.prototype, "cacheTime", void 0), e([u({
1313
- type: String,
1314
- reflect: !0
1315
- })], W.prototype, "contentLanguage", void 0), e([u({
1316
- type: String,
1317
- attribute: "time-zone",
1318
- reflect: !0
1319
- })], W.prototype, "timeZone", void 0), e([u({
1320
- type: Array,
1321
- attribute: "dataset-ids",
1322
- reflect: !0
1323
- })], W.prototype, "datasetIds", void 0), e([u({
1324
- type: Object,
1325
- reflect: !1
1326
- })], W.prototype, "filter", void 0), e([d()], W.prototype, "_type", void 0), e([d()], W.prototype, "_subType", void 0), e([d()], W.prototype, "_isFormula", void 0), e([d()], W.prototype, "_error", void 0), e([d()], W.prototype, "_loading", void 0), e([d()], W.prototype, "_datasetsDataFields", void 0), W = e([f()], W), customElements.get("luzmo-filter-item") || customElements.define("luzmo-filter-item", W);
1327
- //#endregion
1328
- //#region src/components/filters/filters.module.scss?inline
1329
- var G = ":host{font-family:var(--luzmo-filters-font-family,var(--luzmo-font-family));color:var(--luzmo-filters-font-color,var(--luzmo-font-color));max-width:100%;display:block}.filter-group-container{max-width:100%;padding:calc(var(--luzmo-indicator-gap) + 2 * var(--luzmo-indicator-width));overflow:hidden}.filter-group{flex-direction:row;min-width:0;max-width:100%;display:flex}.filter-group.nested{margin-top:var(--luzmo-filters-nested-group-margin-top,var(--filters-nested-group-margin-top));margin-bottom:var(--luzmo-filters-nested-group-margin-bottom,var(--filters-nested-group-margin-bottom))}.group-content{flex-direction:column;flex:1;min-width:0;display:flex}.filters-list{gap:var(--luzmo-filters-filters-list-gap,var(--filters-filters-list-gap));flex-direction:column;min-width:0;max-width:100%;display:flex}.filter-item-wrapper{align-items:flex-start;min-width:0;max-width:100%;display:flex;position:relative}.filter-item-content{align-items:center;gap:var(--luzmo-filters-filter-line-gap,var(--filters-filter-line-gap));flex:1;min-width:0;display:flex}.filter-item-content luzmo-filter-item{flex:1;min-width:0}.filter-item-content .delete-filter-button{flex-shrink:0;align-self:center}.condition-wrapper{flex:0 0 var(--luzmo-filters-condition-warpper-width,var(--filters-condition-warpper-width));justify-content:center;align-items:center;display:flex;position:relative}.condition-wrapper:before{content:\"\";left:50%;top:var(--luzmo-filters-vertical-line-top,var(--filters-vertical-line-top));bottom:var(--luzmo-filters-vertical-line-bottom,var(--filters-vertical-line-bottom));width:var(--luzmo-filters-vertical-line-width,var(--filters-vertical-line-width));background:var(--luzmo-filters-vertical-line-color,var(--luzmo-border-color));position:absolute}.condition-badge{min-width:auto;padding-inline:var(--luzmo-filters-condition-padding-horizontal,var(--filters-condition-padding-horizontal));text-transform:uppercase;background:var(--luzmo-filters-condition-badge-background,var(--luzmo-primary));color:var(--luzmo-filters-condition-badge-color,var(--luzmo-primary-inverse-color));border-radius:var(--luzmo-filters-condition-badge-border-radius,var(--luzmo-border-radius));box-shadow:0 0 0 var(--luzmo-filters-condition-badge-halo,var(--filters-condition-badge-halo)) var(--luzmo-filters-condition-badge-background,var(--luzmo-background-color));font-weight:700}.condition-badge:hover{background:var(--luzmo-filters-condition-badge-background-hover,var(--luzmo-primary-hover))}.group-actions{margin-top:var(--luzmo-filters-group-actions-margin-top,var(--filters-group-actions-margin-top));gap:var(--luzmo-filters-group-actions-gap,var(--filters-group-actions-gap));flex-wrap:wrap;display:flex}.delete-group-button{margin-left:auto}.add-root-group-container{margin-top:var(--luzmo-filters-add-root-group-container-margin-top,var(--filters-add-root-group-container-margin-top));padding-left:0}.add-subgroup-button,.add-filter-button{--luzmo-action-button-text-to-visual:var(--luzmo-filters-group-actions-text-to-visual,var(--filters-group-actions-text-to-visual));--luzmo-action-button-content-color-default:var(--luzmo-filters-group-actions-color,var(--luzmo-primary-hover));--luzmo-action-button-content-color-hover:var(--luzmo-filters-group-actions-color-hover,var(--luzmo-primary-hover));--luzmo-action-button-content-color-down:var(--luzmo-filters-group-actions-color-down,var(--luzmo-primary-down));--luzmo-action-button-content-color-focus:var(--luzmo-filters-group-actions-color-focus,var(--luzmo-primary-focus))}.add-group-button{--luzmo-button-padding-label-to-icon:var(--luzmo-filters-add-group-button-text-to-visual,var(--filters-add-group-button-text-to-visual))}.dataset-ids-empty-message{color:var(--luzmo-filters-error-message-color,var(--luzmo-disabled-color));font-size:var(--luzmo-filters-error-message-font-size,var(--filters-font-size))}:host{--filters-condition-warpper-width:56px;--filters-condition-padding-horizontal:var(--luzmo-spacing-2);--filters-condition-badge-halo:var(--luzmo-spacing-3);--filters-filters-list-gap:var(--luzmo-spacing-3);--filters-nested-group-margin-top:var(--luzmo-spacing-3);--filters-nested-group-margin-bottom:var(--luzmo-spacing-3);--filters-vertical-line-top:var(--luzmo-spacing-2);--filters-vertical-line-bottom:var(--luzmo-spacing-2);--filters-vertical-line-width:1px;--filters-group-actions-text-to-visual:var(--luzmo-spacing-2);--filters-add-group-button-text-to-visual:var(--luzmo-spacing-3);--filters-group-actions-gap:var(--luzmo-spacing-3);--filters-add-root-group-container-margin-top:var(--luzmo-spacing-4);--filters-filter-line-gap:var(--luzmo-spacing-3);--filters-group-actions-margin-top:var(--luzmo-spacing-3);--filters-error-message-font-size:var(--luzmo-font-size)}:host([size=s]){--filters-condition-warpper-width:48px;--filters-condition-padding-horizontal:var(--luzmo-spacing-2);--filters-condition-badge-halo:var(--luzmo-spacing-2);--filters-filters-list-gap:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--filters-nested-group-margin-top:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--filters-nested-group-margin-bottom:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--filters-vertical-line-top:var(--luzmo-spacing-2);--filters-vertical-line-bottom:var(--luzmo-spacing-2);--filters-group-actions-text-to-visual:var(--luzmo-spacing-1);--filters-add-group-button-text-to-visual:var(--luzmo-spacing-2);--filters-group-actions-gap:var(--luzmo-spacing-2);--filters-add-root-group-container-margin-top:var(--luzmo-spacing-3);--filters-filter-line-gap:var(--luzmo-spacing-2);--filters-group-actions-margin-top:var(--luzmo-spacing-2);--filters-error-message-font-size:var(--luzmo-font-size-s)}:host([size=l]){--filters-condition-warpper-width:64px;--filters-condition-padding-horizontal:var(--luzmo-spacing-3);--filters-condition-badge-halo:var(--luzmo-spacing-4);--filters-filters-list-gap:var(--luzmo-spacing-4);--filters-nested-group-margin-top:var(--luzmo-spacing-4);--filters-nested-group-margin-bottom:var(--luzmo-spacing-4);--filters-vertical-line-top:var(--luzmo-spacing-3);--filters-vertical-line-bottom:var(--luzmo-spacing-3);--filters-group-actions-text-to-visual:var(--luzmo-spacing-2);--filters-add-group-button-text-to-visual:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--filters-group-actions-gap:var(--luzmo-spacing-3);--filters-add-root-group-container-margin-top:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--filters-filter-line-gap:var(--luzmo-spacing-3);--filters-group-actions-margin-top:var(--luzmo-spacing-3);--filters-error-message-font-size:var(--luzmo-font-size-l)}:host([size=xl]){--filters-condition-warpper-width:72px;--filters-condition-padding-horizontal:var(--luzmo-spacing-3);--filters-condition-badge-halo:var(--luzmo-spacing-4);--filters-filters-list-gap:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--filters-nested-group-margin-top:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--filters-nested-group-margin-bottom:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--filters-vertical-line-top:var(--luzmo-spacing-3);--filters-vertical-line-bottom:var(--luzmo-spacing-3);--filters-group-actions-text-to-visual:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--filters-add-group-button-text-to-visual:var(--luzmo-spacing-4);--filters-group-actions-gap:var(--luzmo-spacing-4);--filters-add-root-group-container-margin-top:var(--luzmo-spacing-5);--filters-filter-line-gap:var(--luzmo-spacing-4);--filters-group-actions-margin-top:var(--luzmo-spacing-4);--filters-error-message-font-size:var(--luzmo-font-size-xl)}", K = {
1330
- and: () => p("AND", { desc: "Logical AND condition for combining filters" }),
1331
- or: () => p("OR", { desc: "Logical OR condition for combining filters" })
1332
- };
1333
- function q(e) {
1334
- return e === "and" ? "or" : "and";
1335
- }
1336
- var J = class extends t(_(g, { validSizes: Object.values(h) })) {
1337
- constructor(...e) {
1338
- super(...e), this.apiUrl = "https://api.luzmo.com", this.contentLanguage = "en", this.filters = [], this.debounce = 300, this._internalFilterGroup = null, this._debounceTimeout = null;
1339
- }
1340
- static get styles() {
1341
- return [l(G)];
1342
- }
1343
- get _oneSizeSmaller() {
1344
- return {
1345
- xxs: "xxs",
1346
- xs: "xs",
1347
- s: "xs",
1348
- m: "s",
1349
- l: "m",
1350
- xl: "l",
1351
- xxl: "xl"
1352
- }[this.size] || "s";
1353
- }
1354
- get _isDatasetIdsEmpty() {
1355
- return !this.datasetIds || this.datasetIds.length === 0;
1356
- }
1357
- disconnectedCallback() {
1358
- super.disconnectedCallback(), this._debounceTimeout &&= (clearTimeout(this._debounceTimeout), null);
1359
- }
1360
- willUpdate(e) {
1361
- if (super.willUpdate(e), e.has("filters")) {
1362
- let e = O(this.filters);
1363
- e.length === 0 ? this._internalFilterGroup = null : e.length === 1 ? this._internalFilterGroup = structuredClone(e[0]) : this._internalFilterGroup = {
1364
- condition: "and",
1365
- filters: structuredClone(e)
1366
- };
1367
- }
1368
- }
1369
- _generateEmptyGroup() {
1370
- return {
1371
- condition: "and",
1372
- filters: []
1373
- };
1374
- }
1375
- _generateEmptyFilter() {
1376
- return {
1377
- expression: void 0,
1378
- parameters: []
1379
- };
1380
- }
1381
- _getFiltersForExport() {
1382
- if (!this._internalFilterGroup) return [];
1383
- if (this._internalFilterGroup.filters.length > 0 && this._internalFilterGroup.filters.every((e) => this._isGroup(e))) return structuredClone(this._internalFilterGroup.filters).map((e) => T(e)[0]).filter((e) => !!e);
1384
- let [e] = T(structuredClone(this._internalFilterGroup));
1385
- return e ? [e] : [];
1386
- }
1387
- _sendChangeEvent() {
1388
- this._debounceTimeout && clearTimeout(this._debounceTimeout);
1389
- let e = () => {
1390
- this.dispatchEvent(new CustomEvent("luzmo-filters-changed", {
1391
- bubbles: !0,
1392
- composed: !0,
1393
- cancelable: !0,
1394
- detail: { filters: this._getFiltersForExport() }
1395
- }));
1396
- };
1397
- this.debounce > 0 ? this._debounceTimeout = setTimeout(e, this.debounce) : e();
1398
- }
1399
- _isGroup(e) {
1400
- return "condition" in e && "filters" in e;
1401
- }
1402
- _toggleCondition(e) {
1403
- e.condition = q(e.condition), this.requestUpdate(), this._sendChangeEvent();
1404
- }
1405
- _addFilter(e) {
1406
- if (this._isDatasetIdsEmpty) return;
1407
- let t = e;
1408
- t ||= (this._internalFilterGroup ||= this._generateEmptyGroup(), this._internalFilterGroup), t.filters.push(this._generateEmptyFilter()), this.requestUpdate(), this._sendChangeEvent();
1409
- }
1410
- _addSubGroup(e) {
1411
- if (this._isDatasetIdsEmpty) return;
1412
- let t = this._generateEmptyGroup();
1413
- t.condition = q(e.condition), t.filters.push(this._generateEmptyFilter()), e.filters.push(t), this.requestUpdate(), this._sendChangeEvent();
1414
- }
1415
- _removeFilter(e, t) {
1416
- if (this._internalFilterGroup) {
1417
- if (e.filters.splice(t, 1), e !== this._internalFilterGroup && e.filters.length === 0) {
1418
- let t = this._findParentGroup(this._internalFilterGroup, e);
1419
- if (t) {
1420
- let n = t.filters.indexOf(e);
1421
- n !== -1 && t.filters.splice(n, 1);
1422
- }
1423
- }
1424
- this._collapseGroupsAfterDelete(), this.requestUpdate(), this._sendChangeEvent();
1425
- }
1426
- }
1427
- _updateFilter(e, t, n) {
1428
- n.stopPropagation(), this._isGroup(e.filters[t]) || (e.filters[t] = n.detail.filter, this._sendChangeEvent());
1429
- }
1430
- _addGroup() {
1431
- if (this._isDatasetIdsEmpty) return;
1432
- this._internalFilterGroup ||= this._generateEmptyGroup();
1433
- let e = this._generateEmptyGroup();
1434
- e.condition = q(this._internalFilterGroup.condition), e.filters.push(this._internalFilterGroup);
1435
- let t = this._generateEmptyGroup();
1436
- t.condition = q(e.condition), t.filters.push(this._generateEmptyFilter()), e.filters.push(t), this._internalFilterGroup = e, this.requestUpdate(), this._sendChangeEvent();
1437
- }
1438
- _renderFilterItem(e, t, n) {
1439
- return c`
1440
- <div class="filter-item-wrapper">
1441
- <div class="filter-item-content">
1442
- <luzmo-filter-item
1443
- .apiUrl=${this.apiUrl}
1444
- .authKey=${this.authKey}
1445
- .authToken=${this.authToken}
1446
- .cacheTime=${this.cacheTime}
1447
- .language=${this.language}
1448
- .contentLanguage=${this.contentLanguage}
1449
- .timeZone=${this.timeZone}
1450
- .datasetIds=${this.datasetIds}
1451
- .filter=${e}
1452
- .size=${this.size}
1453
- @luzmo-filter-changed=${this._updateFilter.bind(this, t, n)}
1454
- ></luzmo-filter-item>
1455
- <luzmo-action-button
1456
- class="delete-filter-button"
1457
- .size=${this.size}
1458
- quiet
1459
- .label=${p("Remove filter", { desc: "Aria label for remove filter button" })}
1460
- @click=${this._removeFilter.bind(this, t, n)}
1461
- >
1462
- <luzmo-icon slot="icon" .icon=${s} .size=${this.size}></luzmo-icon>
1463
- </luzmo-action-button>
1464
- </div>
1465
- </div>
1466
- `;
1467
- }
1468
- _renderGroup(e, t = !1) {
1469
- let n = e.filters.length > 0, r = e.filters.length > 1, i = K[e.condition]?.() ?? e.condition;
1470
- return c`
1471
- <div class="filter-group ${t ? "nested" : ""}" role="group">
1472
- ${t ? c`
1473
- <div class="condition-wrapper">
1474
- ${r ? c`
1475
- <luzmo-action-button
1476
- class="condition-badge"
1477
- .size=${this._oneSizeSmaller}
1478
- quiet
1479
- aria-pressed=${e.condition === "and" ? "true" : "false"}
1480
- .label=${p("Toggle filter condition, currently ", { desc: "Aria label prefix for filter condition toggle" }) + i}
1481
- @click=${this._toggleCondition.bind(this, e)}
1482
- >
1483
- ${i}
1484
- </luzmo-action-button>
1485
- ` : ""}
1486
- </div>
1487
- ` : r ? c`
1488
- <div class="condition-wrapper">
1489
- <luzmo-action-button
1490
- class="condition-badge"
1491
- .size=${this._oneSizeSmaller}
1492
- quiet
1493
- aria-pressed=${e.condition === "and" ? "true" : "false"}
1494
- .label=${p("Toggle filter condition, currently ", { desc: "Aria label prefix for filter condition toggle" }) + i}
1495
- @click=${this._toggleCondition.bind(this, e)}
1496
- >
1497
- ${i}
1498
- </luzmo-action-button>
1499
- </div>
1500
- ` : ""}
1501
- <div class="group-content">
1502
- ${n ? c`
1503
- <div class="filters-list">
1504
- ${m(e.filters, (e, t) => t, (t, n) => c`
1505
- ${this._isGroup(t) ? this._renderGroup(t, !0) : this._renderFilterItem(t, e, n)}
1506
- `)}
1507
- </div>
1508
- ` : ""}
1509
-
1510
- <div class="group-actions">
1511
- <luzmo-action-button
1512
- class="add-filter-button"
1513
- .size=${this.size}
1514
- quiet
1515
- ?disabled=${this._isDatasetIdsEmpty}
1516
- @click=${this._addFilter.bind(this, e)}
1517
- >
1518
- <luzmo-icon slot="icon" .icon=${o} .size=${this._oneSizeSmaller}></luzmo-icon>
1519
- ${p("Filter", { desc: "Add filter button label" })}
1520
- </luzmo-action-button>
1521
-
1522
- <luzmo-action-button
1523
- class="add-subgroup-button"
1524
- .size=${this.size}
1525
- quiet
1526
- ?disabled=${this._isDatasetIdsEmpty}
1527
- @click=${this._addSubGroup.bind(this, e)}
1528
- >
1529
- <luzmo-icon slot="icon" .icon=${o} .size=${this._oneSizeSmaller}></luzmo-icon>
1530
- ${p("Subgroup", { desc: "Add subgroup button label" })}
1531
- </luzmo-action-button>
1532
- </div>
1533
- </div>
1534
- </div>
1535
- `;
1536
- }
1537
- _findParentGroup(e, t) {
1538
- for (let n of e.filters) {
1539
- if (n === t) return e;
1540
- if (this._isGroup(n)) {
1541
- let e = this._findParentGroup(n, t);
1542
- if (e) return e;
1543
- }
1544
- }
1545
- return null;
1546
- }
1547
- _collapseIfNeeded(e) {
1548
- if (e.filters.length === 1 && this._isGroup(e.filters[0])) {
1549
- let t = e.filters[0];
1550
- e.condition = t.condition, e.filters = t.filters;
1551
- }
1552
- }
1553
- _collapseGroupsAfterDelete() {
1554
- if (!this._internalFilterGroup) return;
1555
- let e = (t) => {
1556
- for (let n of t.filters) this._isGroup(n) && e(n);
1557
- this._collapseIfNeeded(t);
1558
- };
1559
- e(this._internalFilterGroup);
1560
- }
1561
- render() {
1562
- if (this._isDatasetIdsEmpty) return c`
1563
- <div class="filter-group-container">
1564
- <div class="dataset-ids-empty-message" role="status">
1565
- ${p("Cannot retrieve dataset data fields", { desc: "Error message when datasetIds is empty" })}
1566
- </div>
1567
- </div>
1568
- `;
1569
- if (!this._internalFilterGroup || this._internalFilterGroup.filters.length === 0) return c`
1570
- <div class="filter-group-container">
1571
- <luzmo-button
1572
- class="add-filter-button"
1573
- .size=${this.size}
1574
- treatment="outline"
1575
- ?disabled=${this._isDatasetIdsEmpty}
1576
- @click=${() => this._addFilter()}
1577
- >
1578
- <luzmo-icon slot="icon" .icon=${o} .size=${this._oneSizeSmaller}></luzmo-icon>
1579
- ${p("Add filter", { desc: "Add filter button label" })}
1580
- </luzmo-button>
1581
- </div>
1582
- `;
1583
- let e = this._internalFilterGroup.filters.length > 1;
1584
- return c`
1585
- <div class="filter-group-container">
1586
- ${this._renderGroup(this._internalFilterGroup)}
1587
-
1588
- ${e ? c`
1589
- <div class="add-root-group-container">
1590
- <luzmo-button
1591
- class="add-group-button"
1592
- .size=${this.size}
1593
- treatment="outline"
1594
- ?disabled=${this._isDatasetIdsEmpty}
1595
- @click=${this._addGroup}
1596
- >
1597
- <luzmo-icon slot="icon" .icon=${o} .size=${this._oneSizeSmaller}></luzmo-icon>
1598
- ${p("Group", { desc: "Add group button label" })}
1599
- </luzmo-button>
1600
- </div>
1601
- ` : ""}
1602
- </div>
1603
- `;
1604
- }
1605
- };
1606
- //#endregion
1607
- //#region src/components/filters/index.ts
1608
- e([u({
1609
- type: String,
1610
- attribute: "api-url",
1611
- reflect: !0
1612
- })], J.prototype, "apiUrl", void 0), e([u({
1613
- type: String,
1614
- attribute: "auth-key",
1615
- reflect: !0
1616
- })], J.prototype, "authKey", void 0), e([u({
1617
- type: String,
1618
- attribute: "auth-token",
1619
- reflect: !0
1620
- })], J.prototype, "authToken", void 0), e([u({
1621
- type: Number,
1622
- attribute: "cache-time",
1623
- reflect: !0
1624
- })], J.prototype, "cacheTime", void 0), e([u({
1625
- type: String,
1626
- attribute: "content-language",
1627
- reflect: !0
1628
- })], J.prototype, "contentLanguage", void 0), e([u({
1629
- type: String,
1630
- attribute: "time-zone",
1631
- reflect: !0
1632
- })], J.prototype, "timeZone", void 0), e([u({
1633
- type: Array,
1634
- attribute: "dataset-ids",
1635
- reflect: !0
1636
- })], J.prototype, "datasetIds", void 0), e([u({
1637
- type: Array,
1638
- reflect: !1
1639
- })], J.prototype, "filters", void 0), e([u({
1640
- type: Number,
1641
- reflect: !0
1642
- })], J.prototype, "debounce", void 0), e([d()], J.prototype, "_internalFilterGroup", void 0), J = e([f()], J), customElements.get("luzmo-filters") || customElements.define("luzmo-filters", J);
1643
- //#endregion
1644
- export { R as a, V as i, W as n, F as o, H as r, M as s, J as t };