@luzmo/analytics-components-kit 1.0.8-beta.5 → 1.0.8-beta.6
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.
- package/angular/README.md +40 -0
- package/angular/components/ai-chat-empty-state.ts +98 -0
- package/angular/components/ai-chat.ts +440 -0
- package/angular/components/ai-interaction-textarea.ts +283 -0
- package/angular/components/data-field-level.ts +130 -0
- package/angular/components/data-field-panel.ts +256 -0
- package/angular/components/data-field.ts +130 -0
- package/angular/components/data-fields-select.ts +212 -0
- package/angular/components/dataset-icon.ts +83 -0
- package/angular/components/dataset-selector-list.ts +147 -0
- package/angular/components/dataset-selector-row.ts +198 -0
- package/angular/components/display-settings-binning.ts +92 -0
- package/angular/components/display-settings-datetime.ts +100 -0
- package/angular/components/display-settings-grand-totals.ts +92 -0
- package/angular/components/display-settings-numeric.ts +113 -0
- package/angular/components/display-settings-period-over-period.ts +107 -0
- package/angular/components/display-settings.ts +227 -0
- package/angular/components/filter-expression-picker.ts +168 -0
- package/angular/components/filter-item.ts +175 -0
- package/angular/components/filter-parameter-picker.ts +155 -0
- package/angular/components/filter-value-picker-datetime.ts +125 -0
- package/angular/components/filter-value-picker-hierarchy.ts +146 -0
- package/angular/components/filter-value-picker-numeric.ts +146 -0
- package/angular/components/filter-value-picker.ts +160 -0
- package/angular/components/filters.ts +209 -0
- package/angular/components/formula-editor.ts +229 -0
- package/angular/components/formula-field.ts +198 -0
- package/angular/components/formula.ts +170 -0
- package/angular/components/interactive-viz-item.ts +186 -0
- package/angular/components/item-grid-item-actions-menu.ts +113 -0
- package/angular/components/item-grid.ts +242 -0
- package/angular/components/item-option-action-button-group.ts +105 -0
- package/angular/components/item-option-color-palette-picker.ts +126 -0
- package/angular/components/item-option-color-picker.ts +134 -0
- package/angular/components/item-option-color-range.ts +168 -0
- package/angular/components/item-option-guidelines.ts +84 -0
- package/angular/components/item-option-multi-language-field.ts +133 -0
- package/angular/components/item-option-number-field.ts +161 -0
- package/angular/components/item-option-panel.ts +149 -0
- package/angular/components/item-option-picker.ts +120 -0
- package/angular/components/item-option-position-picker.ts +98 -0
- package/angular/components/item-option-positions-number-field.ts +140 -0
- package/angular/components/item-option-radio-button-group.ts +119 -0
- package/angular/components/item-option-slider.ts +126 -0
- package/angular/components/item-option-switch.ts +98 -0
- package/angular/components/item-option-text-field.ts +112 -0
- package/angular/components/item-option.ts +163 -0
- package/angular/components/item-slot-drop-panel.ts +236 -0
- package/angular/components/item-slot-drop.ts +231 -0
- package/angular/components/item-slot-picker-panel.ts +299 -0
- package/angular/components/item-slot-picker.ts +241 -0
- package/angular/components/slot-menu-list.ts +121 -0
- package/angular/components/slot-menu.ts +304 -0
- package/angular/components/viz-item-menu.ts +118 -0
- package/angular/esm/components/ai-chat-empty-state.d.ts +39 -0
- package/angular/esm/components/ai-chat-empty-state.js +99 -0
- package/angular/esm/components/ai-chat.d.ts +147 -0
- package/angular/esm/components/ai-chat.js +455 -0
- package/angular/esm/components/ai-interaction-textarea.d.ts +106 -0
- package/angular/esm/components/ai-interaction-textarea.js +305 -0
- package/angular/esm/components/data-field-level.d.ts +50 -0
- package/angular/esm/components/data-field-level.js +129 -0
- package/angular/esm/components/data-field-panel.d.ts +86 -0
- package/angular/esm/components/data-field-panel.js +268 -0
- package/angular/esm/components/data-field.d.ts +50 -0
- package/angular/esm/components/data-field.js +129 -0
- package/angular/esm/components/data-fields-select.d.ts +81 -0
- package/angular/esm/components/data-fields-select.js +227 -0
- package/angular/esm/components/dataset-icon.d.ts +34 -0
- package/angular/esm/components/dataset-icon.js +86 -0
- package/angular/esm/components/dataset-selector-list.d.ts +56 -0
- package/angular/esm/components/dataset-selector-list.js +155 -0
- package/angular/esm/components/dataset-selector-row.d.ts +70 -0
- package/angular/esm/components/dataset-selector-row.js +197 -0
- package/angular/esm/components/display-settings-binning.d.ts +37 -0
- package/angular/esm/components/display-settings-binning.js +91 -0
- package/angular/esm/components/display-settings-datetime.d.ts +40 -0
- package/angular/esm/components/display-settings-datetime.js +99 -0
- package/angular/esm/components/display-settings-grand-totals.d.ts +37 -0
- package/angular/esm/components/display-settings-grand-totals.js +91 -0
- package/angular/esm/components/display-settings-numeric.d.ts +45 -0
- package/angular/esm/components/display-settings-numeric.js +115 -0
- package/angular/esm/components/display-settings-period-over-period.d.ts +44 -0
- package/angular/esm/components/display-settings-period-over-period.js +107 -0
- package/angular/esm/components/display-settings.d.ts +83 -0
- package/angular/esm/components/display-settings.js +231 -0
- package/angular/esm/components/filter-expression-picker.d.ts +64 -0
- package/angular/esm/components/filter-expression-picker.js +179 -0
- package/angular/esm/components/filter-item.d.ts +63 -0
- package/angular/esm/components/filter-item.js +187 -0
- package/angular/esm/components/filter-parameter-picker.d.ts +56 -0
- package/angular/esm/components/filter-parameter-picker.js +151 -0
- package/angular/esm/components/filter-value-picker-datetime.d.ts +47 -0
- package/angular/esm/components/filter-value-picker-datetime.js +131 -0
- package/angular/esm/components/filter-value-picker-hierarchy.d.ts +53 -0
- package/angular/esm/components/filter-value-picker-hierarchy.js +155 -0
- package/angular/esm/components/filter-value-picker-numeric.d.ts +53 -0
- package/angular/esm/components/filter-value-picker-numeric.js +155 -0
- package/angular/esm/components/filter-value-picker.d.ts +57 -0
- package/angular/esm/components/filter-value-picker.js +171 -0
- package/angular/esm/components/filters.d.ts +75 -0
- package/angular/esm/components/filters.js +215 -0
- package/angular/esm/components/formula-editor.d.ts +78 -0
- package/angular/esm/components/formula-editor.js +236 -0
- package/angular/esm/components/formula-field.d.ts +70 -0
- package/angular/esm/components/formula-field.js +209 -0
- package/angular/esm/components/formula.d.ts +60 -0
- package/angular/esm/components/formula.js +177 -0
- package/angular/esm/components/interactive-viz-item.d.ts +63 -0
- package/angular/esm/components/interactive-viz-item.js +188 -0
- package/angular/esm/components/item-grid-item-actions-menu.d.ts +45 -0
- package/angular/esm/components/item-grid-item-actions-menu.js +115 -0
- package/angular/esm/components/item-grid.d.ts +80 -0
- package/angular/esm/components/item-grid.js +245 -0
- package/angular/esm/components/item-option-action-button-group.d.ts +41 -0
- package/angular/esm/components/item-option-action-button-group.js +107 -0
- package/angular/esm/components/item-option-color-palette-picker.d.ts +48 -0
- package/angular/esm/components/item-option-color-palette-picker.js +131 -0
- package/angular/esm/components/item-option-color-picker.d.ts +51 -0
- package/angular/esm/components/item-option-color-picker.js +139 -0
- package/angular/esm/components/item-option-color-range.d.ts +66 -0
- package/angular/esm/components/item-option-color-range.js +179 -0
- package/angular/esm/components/item-option-guidelines.d.ts +34 -0
- package/angular/esm/components/item-option-guidelines.js +83 -0
- package/angular/esm/components/item-option-multi-language-field.d.ts +50 -0
- package/angular/esm/components/item-option-multi-language-field.js +139 -0
- package/angular/esm/components/item-option-number-field.d.ts +58 -0
- package/angular/esm/components/item-option-number-field.js +171 -0
- package/angular/esm/components/item-option-panel.d.ts +54 -0
- package/angular/esm/components/item-option-panel.js +155 -0
- package/angular/esm/components/item-option-picker.d.ts +46 -0
- package/angular/esm/components/item-option-picker.js +123 -0
- package/angular/esm/components/item-option-position-picker.d.ts +39 -0
- package/angular/esm/components/item-option-position-picker.js +99 -0
- package/angular/esm/components/item-option-positions-number-field.d.ts +54 -0
- package/angular/esm/components/item-option-positions-number-field.js +147 -0
- package/angular/esm/components/item-option-radio-button-group.d.ts +45 -0
- package/angular/esm/components/item-option-radio-button-group.js +123 -0
- package/angular/esm/components/item-option-slider.d.ts +46 -0
- package/angular/esm/components/item-option-slider.js +131 -0
- package/angular/esm/components/item-option-switch.d.ts +40 -0
- package/angular/esm/components/item-option-switch.js +99 -0
- package/angular/esm/components/item-option-text-field.d.ts +44 -0
- package/angular/esm/components/item-option-text-field.js +115 -0
- package/angular/esm/components/item-option.d.ts +58 -0
- package/angular/esm/components/item-option.js +171 -0
- package/angular/esm/components/item-slot-drop-panel.d.ts +82 -0
- package/angular/esm/components/item-slot-drop-panel.js +249 -0
- package/angular/esm/components/item-slot-drop.d.ts +77 -0
- package/angular/esm/components/item-slot-drop.js +227 -0
- package/angular/esm/components/item-slot-picker-panel.d.ts +97 -0
- package/angular/esm/components/item-slot-picker-panel.js +309 -0
- package/angular/esm/components/item-slot-picker.d.ts +86 -0
- package/angular/esm/components/item-slot-picker.js +259 -0
- package/angular/esm/components/slot-menu-list.d.ts +46 -0
- package/angular/esm/components/slot-menu-list.js +123 -0
- package/angular/esm/components/slot-menu.d.ts +104 -0
- package/angular/esm/components/slot-menu.js +300 -0
- package/angular/esm/components/viz-item-menu.d.ts +42 -0
- package/angular/esm/components/viz-item-menu.js +111 -0
- package/angular/esm/index.d.ts +109 -0
- package/angular/esm/index.js +217 -0
- package/angular/index.ts +223 -0
- package/angular/package.json +40 -0
- package/angular/tsconfig.json +36 -0
- package/angular/type-fallbacks.d.ts +0 -0
- package/angular/utils/ai-prompt/attachments.d.ts +10 -0
- package/angular/utils/ai-prompt/dictation.d.ts +50 -0
- package/angular/utils/ai-prompt/image-upload.d.ts +12 -0
- package/angular/utils/ai-prompt/index.d.ts +6 -0
- package/angular/utils/ai-prompt/tests/attachments.test.d.ts +1 -0
- package/angular/utils/ai-prompt/tests/dictation.test.d.ts +1 -0
- package/angular/utils/ai-prompt/tests/image-upload.test.d.ts +1 -0
- package/angular/utils/base/base.d.ts +16 -0
- package/angular/utils/base/focus-visible.d.ts +29 -0
- package/angular/utils/base/focusable.d.ts +58 -0
- package/angular/utils/base/index.d.ts +5 -0
- package/angular/utils/base/localized-mixin.d.ts +22 -0
- package/angular/utils/base/sized-mixin.d.ts +17 -0
- package/angular/utils/color/color-palettes.d.ts +17 -0
- package/angular/utils/color/extrapolate-color.d.ts +1 -0
- package/angular/utils/data/load-data-fields-for-datasets.d.ts +22 -0
- package/angular/utils/data-broker/index.d.ts +263 -0
- package/angular/utils/data-field-types/calculate-data-field-icon.d.ts +12 -0
- package/angular/utils/data-field-types/default-acceptable-data-field-types.d.ts +1 -0
- package/angular/utils/data-field-types/tests/calculate-data-field-icon.test.d.ts +1 -0
- package/angular/utils/drag/draggable.d.ts +13 -0
- package/angular/utils/drag/pragmatic-element-adapter.d.ts +2 -0
- package/angular/utils/drag/tests/pragmatic-element-adapter.first-import.test.d.ts +1 -0
- package/angular/utils/drag/tests/pragmatic-element-adapter.test.d.ts +1 -0
- package/angular/utils/filters/expressions.d.ts +15 -0
- package/angular/utils/filters/index.d.ts +1 -0
- package/angular/utils/formatter/calculate-duration.d.ts +2 -0
- package/angular/utils/formatter/decompose-numeric-format.d.ts +11 -0
- package/angular/utils/formatter/default-local-formats.d.ts +20 -0
- package/angular/utils/formatter/formats/cs.d.ts +20 -0
- package/angular/utils/formatter/formats/da.d.ts +20 -0
- package/angular/utils/formatter/formats/de.d.ts +21 -0
- package/angular/utils/formatter/formats/en-GB.d.ts +21 -0
- package/angular/utils/formatter/formats/en-US.d.ts +1 -0
- package/angular/utils/formatter/formats/en.d.ts +1 -0
- package/angular/utils/formatter/formats/es.d.ts +54 -0
- package/angular/utils/formatter/formats/fi.d.ts +20 -0
- package/angular/utils/formatter/formats/fr.d.ts +54 -0
- package/angular/utils/formatter/formats/he.d.ts +20 -0
- package/angular/utils/formatter/formats/hu.d.ts +20 -0
- package/angular/utils/formatter/formats/it.d.ts +54 -0
- package/angular/utils/formatter/formats/ja.d.ts +20 -0
- package/angular/utils/formatter/formats/ko.d.ts +20 -0
- package/angular/utils/formatter/formats/mk.d.ts +20 -0
- package/angular/utils/formatter/formats/nl.d.ts +21 -0
- package/angular/utils/formatter/formats/no.d.ts +21 -0
- package/angular/utils/formatter/formats/pl.d.ts +20 -0
- package/angular/utils/formatter/formats/pt.d.ts +20 -0
- package/angular/utils/formatter/formats/ru.d.ts +20 -0
- package/angular/utils/formatter/formats/sv.d.ts +20 -0
- package/angular/utils/formatter/formats/tr.d.ts +21 -0
- package/angular/utils/formatter/formats/zh-CN.d.ts +20 -0
- package/angular/utils/formatter/formats/zh-TW.d.ts +20 -0
- package/angular/utils/formatter/formatter.d.ts +9 -0
- package/angular/utils/formatter/get-dataset-name.d.ts +2 -0
- package/angular/utils/formatter/get-localized-name.d.ts +4 -0
- package/angular/utils/formatter/localize.d.ts +3 -0
- package/angular/utils/formatter/smart-datetime-formats.const.d.ts +36 -0
- package/angular/utils/formatter/tests/calculate-duration.test.d.ts +1 -0
- package/angular/utils/formatter/tests/decompose-numeric-format.test.d.ts +1 -0
- package/angular/utils/formatter/tests/default-local-formats.test.d.ts +1 -0
- package/angular/utils/formatter/tests/formatter.test.d.ts +1 -0
- package/angular/utils/formatter/tests/get-localized-name.test.d.ts +1 -0
- package/angular/utils/formatter/tests/localize.test.d.ts +1 -0
- package/angular/utils/formula/base/formula-base.d.ts +117 -0
- package/angular/utils/formula/base/formula-input-base.d.ts +62 -0
- package/angular/utils/formula/codemirror/actions.d.ts +47 -0
- package/angular/utils/formula/codemirror/drop-cursor.d.ts +15 -0
- package/angular/utils/formula/codemirror/icon-element.d.ts +7 -0
- package/angular/utils/formula/codemirror/parser.d.ts +16 -0
- package/angular/utils/formula/codemirror/tests/actions.test.d.ts +1 -0
- package/angular/utils/formula/codemirror/theme.d.ts +20 -0
- package/angular/utils/formula/codemirror/widget.d.ts +18 -0
- package/angular/utils/formula/config/aggregations.d.ts +9 -0
- package/angular/utils/formula/config/build-datasets.d.ts +10 -0
- package/angular/utils/formula/config/expression-helpers.d.ts +42 -0
- package/angular/utils/formula/config/functions.d.ts +3 -0
- package/angular/utils/formula/config/groupings.d.ts +9 -0
- package/angular/utils/formula/config/regex.d.ts +39 -0
- package/angular/utils/formula/config/resolve-column-presentation.d.ts +19 -0
- package/angular/utils/formula/config/tests/build-datasets.test.d.ts +1 -0
- package/angular/utils/formula/config/validate-expression.d.ts +19 -0
- package/angular/utils/formula/load-formula-codemirror.d.ts +4 -0
- package/angular/utils/formula/render-explanation-tooltip.d.ts +7 -0
- package/angular/utils/formula/store/formula-display-store.d.ts +93 -0
- package/angular/utils/formula/store/formula-editor-context.d.ts +8 -0
- package/angular/utils/formula/store/formula-editor-store.d.ts +46 -0
- package/angular/utils/formula/store/tests/formula-editor-store.test.d.ts +1 -0
- package/angular/utils/formula/tests/validate-expression.test.d.ts +1 -0
- package/angular/utils/get-css-variable.d.ts +1 -0
- package/angular/utils/index.d.ts +10 -0
- package/angular/utils/localize/set-locale.d.ts +7 -0
- package/angular/utils/map-tile-providers/index.d.ts +93 -0
- package/angular/utils/set-nested-value.d.ts +6 -0
- package/angular/utils/slot-content/ad-hoc-slot-content.d.ts +7 -0
- package/angular/utils/slot-content/render-calculation-label.d.ts +7 -0
- package/angular/utils/slot-content/tests/ad-hoc-slot-content.test.d.ts +1 -0
- package/angular/utils/slot-state/slot-context.d.ts +4 -0
- package/angular/utils/slot-state/slot-store.d.ts +39 -0
- package/angular/utils/store/base-store.d.ts +158 -0
- package/angular/utils/store/dashboard-store.d.ts +49 -0
- package/angular/utils/store/index.d.ts +135 -0
- package/angular/utils/store/item-store.d.ts +33 -0
- package/angular/utils/store/store-registry.d.ts +170 -0
- package/angular/utils/store/tests/dashboard-store.test.d.ts +1 -0
- package/angular/utils/store/tests/item-store.test.d.ts +1 -0
- package/angular/utils/store/tests/store-registry.test.d.ts +1 -0
- package/angular/utils/store/types.d.ts +270 -0
- package/angular/utils/switch-item/index.d.ts +34 -0
- package/angular/utils/switch-item/slot-role-classification.d.ts +31 -0
- package/angular/utils/switch-item/stories/switch-item.stories.d.ts +17 -0
- package/angular/utils/switch-item/tests/slot-role-classification.test.d.ts +1 -0
- package/angular/utils/switch-item/tests/switch-item.test.d.ts +1 -0
- package/angular/utils/tests/set-nested-value.test.d.ts +1 -0
- package/angular/utils/themes/bliss.d.ts +2 -0
- package/angular/utils/themes/classic-dark.d.ts +2 -0
- package/angular/utils/themes/classic.d.ts +2 -0
- package/angular/utils/themes/default-dark.d.ts +2 -0
- package/angular/utils/themes/default.d.ts +2 -0
- package/angular/utils/themes/index.d.ts +4 -0
- package/angular/utils/themes/orion.d.ts +2 -0
- package/angular/utils/themes/pinky.d.ts +2 -0
- package/angular/utils/themes/radiant.d.ts +2 -0
- package/angular/utils/themes/royale.d.ts +2 -0
- package/angular/utils/themes/seasonal.d.ts +2 -0
- package/angular/utils/themes/urban.d.ts +2 -0
- package/angular/utils/themes/vivid.d.ts +2 -0
- package/angular/utils/time/formats.const.d.ts +4 -0
- package/angular/utils/time/period-over-period-condition.const.d.ts +8 -0
- package/angular/utils/time/periods.const.d.ts +15 -0
- package/angular/utils/timezone/datetime-timezone.d.ts +25 -0
- package/angular/utils/timezone/tests/datetime-timezone.test.d.ts +1 -0
- package/angular/utils/transformations/convert-data-field-to-slot-content.d.ts +9 -0
- package/angular/utils/transformations/convert-datasets-to-data-fields.d.ts +30 -0
- package/angular/utils/transformations/tests/convert-data-field-to-slot-content.test.d.ts +1 -0
- package/angular/utils/transformations/tests/convert-datasets-to-data-fields.test.d.ts +1 -0
- package/angular/utils/types/tests/type-check.test.d.ts +1 -0
- package/angular/utils/types/type-check.d.ts +28 -0
- package/components/ai-chat/ai-chat-events.d.ts +19 -3
- package/components/ai-chat/ai-chat-request.d.ts +5 -0
- package/components/ai-chat/ai-chat.d.ts +24 -5
- package/components/ai-chat/ai-prompt-types.d.ts +17 -2
- package/components/ai-chat/helpers/agent-config.d.ts +12 -0
- package/components/ai-chat/helpers/elicitation-template.d.ts +18 -0
- package/components/ai-chat/index.cjs +1 -1
- package/components/ai-chat/index.d.ts +2 -1
- package/components/ai-chat/index.js +3 -3
- package/components/ai-chat/session/ai-chat-session-controller.d.ts +3 -0
- package/components/ai-chat/session/ai-chat-session-types.d.ts +19 -3
- package/components/ai-chat/session/ai-chat-session.d.ts +17 -1
- package/components/ai-chat/stream/chunk-extractors.d.ts +3 -1
- package/components/ai-chat/stream/index.d.ts +1 -0
- package/components/ai-chat/stream/types.d.ts +5 -1
- package/components/ai-chat/types.d.ts +24 -0
- package/components/ai-chat-CG-eIiBr.cjs +337 -0
- package/components/{ai-chat-CI9l8ZOE.js → ai-chat-CMc_9Oo2.js} +917 -694
- package/components/ai-interaction-textarea/index.cjs +1 -1
- package/components/ai-interaction-textarea/index.js +1 -1
- package/components/{ai-interaction-textarea-Crcz4rCV.cjs → ai-interaction-textarea-B6tZgh5k.cjs} +1 -1
- package/components/{ai-interaction-textarea-BbVH-aF4.js → ai-interaction-textarea-D9g9G0T1.js} +3 -3
- package/components/{area-chart-positioning.config-DT7OiLe4.js → area-chart-positioning.config-BEwDQj3T.js} +1 -1
- package/components/{area-chart-positioning.config-D8_KYS-h.cjs → area-chart-positioning.config-CS-5H8-C.cjs} +1 -1
- package/components/{bar-chart-positioning.config-FEwWvMF6.js → bar-chart-positioning.config-CBbTYesB.js} +1 -1
- package/components/{bar-chart-positioning.config-CnMHGk5K.cjs → bar-chart-positioning.config-DkIvwJI5.cjs} +1 -1
- package/components/{base-XtzYH7G4.cjs → base-D6QPZnpu.cjs} +1 -1
- package/components/{base-BkD2CWTy.js → base-DSeXdW9S.js} +1 -1
- package/components/{box-plot-positioning.config-DxRLb2qS.js → box-plot-positioning.config-CNC-RTwl.js} +1 -1
- package/components/{box-plot-positioning.config-Cij5pfeH.cjs → box-plot-positioning.config-o5D-mRFr.cjs} +1 -1
- package/components/{bubble-chart-positioning.config-CVnk6LlN.js → bubble-chart-positioning.config-3ilPXLpZ.js} +1 -1
- package/components/{bubble-chart-positioning.config-BmNR5EQH.cjs → bubble-chart-positioning.config-CtreNdST.cjs} +1 -1
- package/components/{bullet-chart-positioning.config-7sPWksMT.js → bullet-chart-positioning.config-CkFhShBk.js} +1 -1
- package/components/{bullet-chart-positioning.config-CNkU3bzI.cjs → bullet-chart-positioning.config-dHj3YrT_.cjs} +1 -1
- package/components/{choropleth-map-positioning.config-CljoQanM.cjs → choropleth-map-positioning.config-BSs-bRGv.cjs} +1 -1
- package/components/{choropleth-map-positioning.config-CuaL7fSP.js → choropleth-map-positioning.config-DOt86t59.js} +1 -1
- package/components/{circle-pack-chart-positioning.config-maqHu5T2.js → circle-pack-chart-positioning.config-BkFATJjC.js} +1 -1
- package/components/{circle-pack-chart-positioning.config-CiF6h2TX.cjs → circle-pack-chart-positioning.config-CVNdIYau.cjs} +1 -1
- package/components/{circular-gauge-positioning.config-e9_VgpRY.js → circular-gauge-positioning.config-BV2xb5TF.js} +1 -1
- package/components/{circular-gauge-positioning.config-BK2YSDr1.cjs → circular-gauge-positioning.config-SrbCaaOr.cjs} +1 -1
- package/components/{column-chart-positioning.config-DdiwInY-.cjs → column-chart-positioning.config-DTQe3h_H.cjs} +1 -1
- package/components/{column-chart-positioning.config-DpPXllzx.js → column-chart-positioning.config-T7juV3XT.js} +1 -1
- package/components/{combination-chart-positioning.config-D7c6z5j6.js → combination-chart-positioning.config-78C7wKnS.js} +1 -1
- package/components/{combination-chart-positioning.config-5Qnm4ZYG.cjs → combination-chart-positioning.config-BrSmdan-.cjs} +1 -1
- package/components/{conditional-number-positioning.config-Bmc5b4Hr.cjs → conditional-number-positioning.config-_9ySKU1z.cjs} +1 -1
- package/components/{conditional-number-positioning.config-BnMcO9mu.js → conditional-number-positioning.config-z_eEfpud.js} +1 -1
- package/components/data-field/index.cjs +1 -1
- package/components/data-field/index.js +1 -1
- package/components/{data-field-BmpgtPX8.cjs → data-field-9ZZFw68C.cjs} +1 -1
- package/components/{data-field-DTQxvpeM.js → data-field-D1WW_V0N.js} +3 -3
- package/components/data-field-level/index.cjs +1 -1
- package/components/data-field-level/index.js +1 -1
- package/components/{data-field-level-EOj5KvoG.js → data-field-level-DR_dXjnL.js} +1 -1
- package/components/{data-field-level-D0RZHwqF.cjs → data-field-level-Dc-EMhC3.cjs} +1 -1
- package/components/data-field-panel/index.cjs +1 -1
- package/components/data-field-panel/index.js +1 -1
- package/components/{data-field-panel-Bc_4pQwc.cjs → data-field-panel-DFA97_8o.cjs} +1 -1
- package/components/{data-field-panel-Dya_9wHn.js → data-field-panel-U-5Q-TRp.js} +3 -3
- package/components/data-fields-select/index.cjs +1 -1
- package/components/data-fields-select/index.js +1 -1
- package/components/{data-fields-select-2Da7XC6m.js → data-fields-select-BYhAzdA6.js} +1 -1
- package/components/{data-fields-select-D4Sxxb_Z.cjs → data-fields-select-BtXNFZy9.cjs} +1 -1
- package/components/dataset-selector-list/index.cjs +1 -1
- package/components/dataset-selector-list/index.js +1 -1
- package/components/{dataset-selector-list-m1XmVt8T.cjs → dataset-selector-list-BXg6DIKI.cjs} +1 -1
- package/components/{dataset-selector-list-CK9KzC1a.js → dataset-selector-list-q6qWA7B-.js} +1 -1
- package/components/dataset-selector-row/index.cjs +1 -1
- package/components/dataset-selector-row/index.js +1 -1
- package/components/{dataset-selector-row-gBQl1Bza.js → dataset-selector-row-ZKET7lVc.js} +2 -2
- package/components/{dataset-selector-row-B78ZLWQS.cjs → dataset-selector-row-bqwY3zaf.cjs} +1 -1
- package/components/{de-_-1hLVI0.js → de-C5CMIy08.js} +3 -0
- package/components/de-CdZnQbKI.cjs +20 -0
- package/components/display-settings/index.cjs +1 -1
- package/components/display-settings/index.js +1 -1
- package/components/{display-settings-DLWnhQe0.cjs → display-settings-BlMhlvVS.cjs} +1 -1
- package/components/{display-settings-DgOPeUie.js → display-settings-D_wBgzm1.js} +2 -2
- package/components/display-settings-binning/index.cjs +1 -1
- package/components/display-settings-binning/index.js +1 -1
- package/components/{display-settings-binning-CE4hmdtx.js → display-settings-binning-GIE6ww1Q.js} +2 -2
- package/components/{display-settings-binning-CYM7FpXw.cjs → display-settings-binning-HrXOdGwO.cjs} +1 -1
- package/components/display-settings-datetime/index.cjs +1 -1
- package/components/display-settings-datetime/index.js +1 -1
- package/components/{display-settings-datetime-h8CvoTZ8.cjs → display-settings-datetime-DNeLEl3L.cjs} +1 -1
- package/components/{display-settings-datetime-D4f_o6NK.js → display-settings-datetime-YS7_TUet.js} +2 -2
- package/components/display-settings-grand-totals/index.cjs +1 -1
- package/components/display-settings-grand-totals/index.js +1 -1
- package/components/{display-settings-grand-totals-CnP8P-cu.js → display-settings-grand-totals-Bt_ju8jp.js} +2 -2
- package/components/{display-settings-grand-totals-D0YsVbSs.cjs → display-settings-grand-totals-C-7s1Tyo.cjs} +1 -1
- package/components/display-settings-numeric/index.cjs +1 -1
- package/components/display-settings-numeric/index.js +1 -1
- package/components/{display-settings-numeric-DF4zjmZj.cjs → display-settings-numeric--uwJWzC1.cjs} +1 -1
- package/components/{display-settings-numeric-DyAFuYTz.js → display-settings-numeric-OHmktQsz.js} +2 -2
- package/components/display-settings-period-over-period/index.cjs +1 -1
- package/components/display-settings-period-over-period/index.js +1 -1
- package/components/{display-settings-period-over-period-B634a88N.js → display-settings-period-over-period-B1_IJjWK.js} +2 -2
- package/components/{display-settings-period-over-period-DXuRHg-1.cjs → display-settings-period-over-period-C4X8c-_R.cjs} +1 -1
- package/components/{donut-chart-positioning.config-BhIwOPI0.cjs → donut-chart-positioning.config-BY2TIeeY.cjs} +1 -1
- package/components/{donut-chart-positioning.config-Peq3v9qK.js → donut-chart-positioning.config-D34HegyZ.js} +1 -1
- package/components/es-7RD7O4q3.cjs +20 -0
- package/components/{es-Cdl4GvQt.js → es-BCur0-77.js} +3 -0
- package/components/{evolution-number-positioning.config-ClGlayIt.cjs → evolution-number-positioning.config-BBvULr59.cjs} +1 -1
- package/components/{evolution-number-positioning.config-e90XUBQG.js → evolution-number-positioning.config-CKzCTjdO.js} +1 -1
- package/components/filter-expression-picker/index.cjs +1 -1
- package/components/filter-expression-picker/index.js +1 -1
- package/components/{filter-expression-picker-COCoT5LG.cjs → filter-expression-picker-BOLyxG2r.cjs} +1 -1
- package/components/{filter-expression-picker-BPAwOijt.js → filter-expression-picker-DurfSgRY.js} +1 -1
- package/components/filter-item/index.cjs +1 -1
- package/components/filter-item/index.js +1 -1
- package/components/{filter-item-CbDbNmni.js → filter-item-C58zIpPh.js} +5 -5
- package/components/{filter-item-cyApfc9M.cjs → filter-item-obyHcs9f.cjs} +1 -1
- package/components/filter-parameter-picker/index.cjs +1 -1
- package/components/filter-parameter-picker/index.js +1 -1
- package/components/{filter-parameter-picker-CCd77cYS.js → filter-parameter-picker-BWNBc8BI.js} +1 -1
- package/components/{filter-parameter-picker-F68BatwD.cjs → filter-parameter-picker-DSYaE9Sv.cjs} +1 -1
- package/components/filter-value-picker/index.cjs +1 -1
- package/components/filter-value-picker/index.js +1 -1
- package/components/{filter-value-picker-DADia7jo.cjs → filter-value-picker-DYl_1pis.cjs} +1 -1
- package/components/filter-value-picker-datetime/index.cjs +1 -1
- package/components/filter-value-picker-datetime/index.js +1 -1
- package/components/{filter-value-picker-datetime-CuMmWJFV.cjs → filter-value-picker-datetime-BFbmCKs3.cjs} +1 -1
- package/components/{filter-value-picker-datetime-DM2K7Nrv.js → filter-value-picker-datetime-CP5__ua6.js} +1 -1
- package/components/filter-value-picker-hierarchy/index.cjs +1 -1
- package/components/filter-value-picker-hierarchy/index.js +1 -1
- package/components/{filter-value-picker-hierarchy-BQTrc0ZU.cjs → filter-value-picker-hierarchy-BTf992WX.cjs} +1 -1
- package/components/{filter-value-picker-hierarchy-W-a9ycWV.js → filter-value-picker-hierarchy-j0LRYW1c.js} +2 -2
- package/components/{filter-value-picker-CLUUhn1d.js → filter-value-picker-kzIrnmdp.js} +4 -4
- package/components/filter-value-picker-numeric/index.cjs +1 -1
- package/components/filter-value-picker-numeric/index.js +1 -1
- package/components/{filter-value-picker-numeric-DL5cqR8I.js → filter-value-picker-numeric-BmKmeOol.js} +1 -1
- package/components/{filter-value-picker-numeric-CXfgDZ4W.cjs → filter-value-picker-numeric-DJi0Utk_.cjs} +1 -1
- package/components/filters/index.cjs +1 -1
- package/components/filters/index.js +1 -1
- package/components/{filters-bruSosZt.js → filters-BddhKRZC.js} +2 -2
- package/components/{filters-Dj4mQklp.cjs → filters-Dx6g0xl9.cjs} +1 -1
- package/components/formula/index.cjs +1 -1
- package/components/formula/index.js +1 -1
- package/components/{formula-CbApVbw7.js → formula-BYx4gH6i.js} +2 -2
- package/components/{formula-DkANj6Hi.cjs → formula-cc2AaiLt.cjs} +1 -1
- package/components/{formula-codemirror-C_wCMc2M.js → formula-codemirror-CVzyYNLO.js} +4 -4
- package/components/{formula-codemirror-DGxXJYCi.cjs → formula-codemirror-EMK3MCNZ.cjs} +1 -1
- package/components/{formula-display-store-SkrNDfyG.js → formula-display-store-BPn9m5TL.js} +3 -3
- package/components/{formula-display-store-B2DUrVwh.cjs → formula-display-store-DER7C0GG.cjs} +1 -1
- package/components/formula-editor/index.cjs +1 -1
- package/components/formula-editor/index.js +3 -3
- package/components/{formula-editor-DX5FRb2v.js → formula-editor-BxoIkARr.js} +5 -5
- package/components/{formula-editor-Dv4UIAe_.cjs → formula-editor-CWKXcUTF.cjs} +1 -1
- package/components/formula-field/index.cjs +1 -1
- package/components/formula-field/index.js +1 -1
- package/components/{formula-field-CwnAHHpw.js → formula-field-BtvaOWki.js} +1 -1
- package/components/{formula-field-tJsQsXic.cjs → formula-field-CzS2pKJI.cjs} +1 -1
- package/components/{formula-input-base-6iVykYb0.cjs → formula-input-base-CvD0b2cO.cjs} +1 -1
- package/components/{formula-input-base-mKhAiYM0.js → formula-input-base-DVtGLoyA.js} +1 -1
- package/components/{fr-qv7EjBRo.js → fr-BnECl1nx.js} +3 -0
- package/components/fr-CGw2IwXh.cjs +20 -0
- package/components/{funnel-chart-positioning.config-PrEIQPXg.cjs → funnel-chart-positioning.config-BPSmV76y.cjs} +1 -1
- package/components/{funnel-chart-positioning.config-Havc4gNs.js → funnel-chart-positioning.config-CvhpE7rN.js} +1 -1
- package/components/{get-dataset-name-CIf7x0nh.js → get-dataset-name-D53TN7N9.js} +1 -1
- package/components/{get-dataset-name-BR_H1MNL.cjs → get-dataset-name-DYLdbEs-.cjs} +1 -1
- package/components/{groupings-BKSBZ34s.cjs → groupings-Bn9384Zw.cjs} +1 -1
- package/components/{groupings-CIVQITJp.js → groupings-BtmmUlPK.js} +1 -1
- package/components/{heat-map-positioning.config-CF6XNksR.js → heat-map-positioning.config-AOHTEJf7.js} +1 -1
- package/components/{heat-map-positioning.config-L91C9c0t.cjs → heat-map-positioning.config-CHDHFIo2.cjs} +1 -1
- package/components/{heat-table-positioning.config-BuH8txu-.cjs → heat-table-positioning.config-DCLE9cy4.cjs} +1 -1
- package/components/{heat-table-positioning.config-0YNV-Whw.js → heat-table-positioning.config-DprOfmlW.js} +1 -1
- package/components/{hexbin-map-positioning.config-wKi8qbMF.js → hexbin-map-positioning.config-BjxkoqGh.js} +1 -1
- package/components/{hexbin-map-positioning.config-Dx42tGRj.cjs → hexbin-map-positioning.config-BmLljWez.cjs} +1 -1
- package/components/index.cjs +1 -1
- package/components/index.js +67 -67
- package/components/interactive-viz-item/index.cjs +1 -1
- package/components/interactive-viz-item/index.js +1 -1
- package/components/{interactive-viz-item-DMOsdrLN.js → interactive-viz-item-DL5aqkvx.js} +5 -5
- package/components/{interactive-viz-item-YwkjBGtN.cjs → interactive-viz-item-DTr14-9-.cjs} +1 -1
- package/components/item-grid/index.cjs +1 -1
- package/components/item-grid/index.js +1 -1
- package/components/{item-grid-iYxxuvvA.js → item-grid-C_OTtv4T.js} +6 -6
- package/components/{item-grid-B1ColM8x.cjs → item-grid-CcwnD_u5.cjs} +4 -4
- package/components/item-option/index.cjs +1 -1
- package/components/item-option/index.js +1 -1
- package/components/{item-option-BIWC5VRT.js → item-option-DRWLN89_.js} +1 -1
- package/components/item-option-action-button-group/index.cjs +1 -1
- package/components/item-option-action-button-group/index.js +1 -1
- package/components/{item-option-action-button-group-TPUU3sts.js → item-option-action-button-group-B9ghoHeh.js} +1 -1
- package/components/{item-option-action-button-group-Dq6xKpHi.cjs → item-option-action-button-group-Byg9h7uo.cjs} +1 -1
- package/components/{item-option-base-BKo7DBxK.cjs → item-option-base-Dwf3dByS.cjs} +1 -1
- package/components/{item-option-base-DcZILy3S.js → item-option-base-pYrkqt6q.js} +1 -1
- package/components/item-option-color-palette-picker/index.cjs +1 -1
- package/components/item-option-color-palette-picker/index.js +1 -1
- package/components/{item-option-color-palette-picker-i6Tnv4qN.js → item-option-color-palette-picker-DnVqGnm4.js} +1 -1
- package/components/{item-option-color-palette-picker-C_Jx5Prb.cjs → item-option-color-palette-picker-v6TBE-I0.cjs} +1 -1
- package/components/item-option-color-picker/index.cjs +1 -1
- package/components/item-option-color-picker/index.js +1 -1
- package/components/{item-option-color-picker-Co3iTjwo.cjs → item-option-color-picker-CNkNZ1p-.cjs} +1 -1
- package/components/{item-option-color-picker-BSXsKzZ-.js → item-option-color-picker-CO-OAFOs.js} +1 -1
- package/components/item-option-color-range/index.cjs +1 -1
- package/components/item-option-color-range/index.js +1 -1
- package/components/{item-option-color-range-CUYGCwQG.cjs → item-option-color-range-BveD6fsp.cjs} +1 -1
- package/components/{item-option-color-range-DE8-UNxr.js → item-option-color-range-bdYUxgQ9.js} +1 -1
- package/components/item-option-guidelines/index.cjs +1 -1
- package/components/item-option-guidelines/index.js +1 -1
- package/components/{item-option-guidelines-DWdPS45K.js → item-option-guidelines-Ce88dTV-.js} +3 -3
- package/components/{item-option-guidelines-DUjfN-eB.cjs → item-option-guidelines-D8UjylMx.cjs} +1 -1
- package/components/{item-option-Cz10G9yw.cjs → item-option-h8URFjZ2.cjs} +1 -1
- package/components/item-option-multi-language-field/index.cjs +1 -1
- package/components/item-option-multi-language-field/index.js +1 -1
- package/components/{item-option-multi-language-field-D5e36e1G.js → item-option-multi-language-field-0qfdBanp.js} +1 -1
- package/components/{item-option-multi-language-field-CWE9WrxP.cjs → item-option-multi-language-field-D0jRPAjY.cjs} +1 -1
- package/components/item-option-number-field/index.cjs +1 -1
- package/components/item-option-number-field/index.js +1 -1
- package/components/{item-option-number-field-BElZmdUU.js → item-option-number-field-CcEav5C3.js} +1 -1
- package/components/{item-option-number-field-RJ88VAyR.cjs → item-option-number-field-DYJ0eIf7.cjs} +1 -1
- package/components/item-option-panel/index.cjs +1 -1
- package/components/item-option-panel/index.js +1 -1
- package/components/{item-option-panel-BmaT4y_2.cjs → item-option-panel-6Voh87nt.cjs} +1 -1
- package/components/{item-option-panel-D7klHx03.js → item-option-panel-DrI7HYrY.js} +2 -2
- package/components/item-option-picker/index.cjs +1 -1
- package/components/item-option-picker/index.js +1 -1
- package/components/{item-option-picker-DnWKHPYS.js → item-option-picker-Bv4aGaCO.js} +1 -1
- package/components/{item-option-picker-C3M-7kWF.cjs → item-option-picker-DkEgfEE7.cjs} +1 -1
- package/components/item-option-position-picker/index.cjs +1 -1
- package/components/item-option-position-picker/index.js +1 -1
- package/components/{item-option-position-picker-CUTrYLPj.js → item-option-position-picker-1d7qZmDv.js} +1 -1
- package/components/{item-option-position-picker-B2qUrVJd.cjs → item-option-position-picker-CKgaqFJR.cjs} +1 -1
- package/components/item-option-positions-number-field/index.cjs +1 -1
- package/components/item-option-positions-number-field/index.js +1 -1
- package/components/{item-option-positions-number-field-EXPp_Vr4.cjs → item-option-positions-number-field-BJXer0y5.cjs} +1 -1
- package/components/{item-option-positions-number-field-B4zcS62B.js → item-option-positions-number-field-DUlBsbUL.js} +1 -1
- package/components/item-option-radio-button-group/index.cjs +1 -1
- package/components/item-option-radio-button-group/index.js +1 -1
- package/components/{item-option-radio-button-group-D8GbkHVX.cjs → item-option-radio-button-group-ChtTIO3B.cjs} +1 -1
- package/components/{item-option-radio-button-group-Cs1sSCVM.js → item-option-radio-button-group-DuMcIZvr.js} +1 -1
- package/components/item-option-slider/index.cjs +1 -1
- package/components/item-option-slider/index.js +1 -1
- package/components/{item-option-slider-Bo1ALP8q.cjs → item-option-slider-CBSnkHVq.cjs} +1 -1
- package/components/{item-option-slider-CcKLS-V5.js → item-option-slider-CWxRoAbA.js} +1 -1
- package/components/item-option-switch/index.cjs +1 -1
- package/components/item-option-switch/index.js +1 -1
- package/components/{item-option-switch-Ch6u9CAm.js → item-option-switch-DvMLATBO.js} +1 -1
- package/components/{item-option-switch-CpeC7Eh7.cjs → item-option-switch-dO66fjoD.cjs} +1 -1
- package/components/item-option-text-field/index.cjs +1 -1
- package/components/item-option-text-field/index.js +1 -1
- package/components/{item-option-text-field-DAbQegOZ.js → item-option-text-field-DS-gn_Gc.js} +1 -1
- package/components/{item-option-text-field-BxvQAHf3.cjs → item-option-text-field-Furz80ho.cjs} +1 -1
- package/components/item-slot-drop/index.cjs +1 -1
- package/components/item-slot-drop/index.js +1 -1
- package/components/{item-slot-drop-DDffbp-i.js → item-slot-drop-DE90FDdS.js} +5 -5
- package/components/{item-slot-drop-mKhyjodt.cjs → item-slot-drop-f8jm-34W.cjs} +1 -1
- package/components/item-slot-drop-panel/index.cjs +1 -1
- package/components/item-slot-drop-panel/index.js +1 -1
- package/components/{item-slot-drop-panel-BtrZehGL.js → item-slot-drop-panel-CyfhbUlE.js} +39 -39
- package/components/{item-slot-drop-panel-CKXMQCyt.cjs → item-slot-drop-panel-DLqyYvKj.cjs} +1 -1
- package/components/item-slot-picker/index.cjs +1 -1
- package/components/item-slot-picker/index.js +1 -1
- package/components/{item-slot-picker-CWqeOJ8R.js → item-slot-picker-BM03UNRE.js} +6 -6
- package/components/{item-slot-picker-CwMjRpkT.cjs → item-slot-picker-CgEtqhqe.cjs} +1 -1
- package/components/item-slot-picker-panel/index.cjs +1 -1
- package/components/item-slot-picker-panel/index.js +1 -1
- package/components/{item-slot-picker-panel-C6Hpc2rT.cjs → item-slot-picker-panel-CuH3OcmV.cjs} +1 -1
- package/components/{item-slot-picker-panel-cD3DvPbA.js → item-slot-picker-panel-DPaabfv5.js} +3 -3
- package/components/{line-chart-positioning.config-ZZid30rm.cjs → line-chart-positioning.config-BnDYCjGX.cjs} +1 -1
- package/components/{line-chart-positioning.config-DoHg1rwA.js → line-chart-positioning.config-CPGyHeJF.js} +1 -1
- package/components/{localized-mixin-DZFYG6RG.cjs → localized-mixin-CtNoCjjI.cjs} +1 -1
- package/components/{localized-mixin-CSF-kZFt.js → localized-mixin-DBUkUh0o.js} +1 -1
- package/components/{marker-map-positioning.config-DGZWoFAk.cjs → marker-map-positioning.config-Bq1EPg3J.cjs} +1 -1
- package/components/{marker-map-positioning.config-DX6bFQld.js → marker-map-positioning.config-CBERtxkG.js} +1 -1
- package/components/nl-BnzS_ZtB.cjs +20 -0
- package/components/{nl-MWgzbW0R.js → nl-h9vVAk2e.js} +3 -0
- package/components/{ohlc-chart-positioning.config-DaEUcXBJ.js → ohlc-chart-positioning.config-CpPJyyLB.js} +1 -1
- package/components/{ohlc-chart-positioning.config-Bev8Atsx.cjs → ohlc-chart-positioning.config-aCf-SEt7.cjs} +1 -1
- package/components/{parallel-coordinates-plot-positioning.config-DJ7K-dVp.cjs → parallel-coordinates-plot-positioning.config-D1CB7jOv.cjs} +1 -1
- package/components/{parallel-coordinates-plot-positioning.config-NWEEOd4d.js → parallel-coordinates-plot-positioning.config-DsNDp1G7.js} +1 -1
- package/components/{pivot-table-positioning.config-DpMiUVtd.js → pivot-table-positioning.config-BFWS3Yk_.js} +1 -1
- package/components/{pivot-table-positioning.config-U-M08Rwc.cjs → pivot-table-positioning.config-gBHM1_-K.cjs} +1 -1
- package/components/{pyramid-chart-positioning.config-CZwx_f40.js → pyramid-chart-positioning.config-B8dbZhvt.js} +1 -1
- package/components/{pyramid-chart-positioning.config-BpdI6jmg.cjs → pyramid-chart-positioning.config-DD64vCwl.cjs} +1 -1
- package/components/{radar-chart-positioning.config-IFacftgi.js → radar-chart-positioning.config-C2DWQu8V.js} +1 -1
- package/components/{radar-chart-positioning.config-IcaEKe9Q.cjs → radar-chart-positioning.config-DN51_Tzb.cjs} +1 -1
- package/components/{route-map-positioning.config-CHfz0eM_.js → route-map-positioning.config-D7X6QuWY.js} +1 -1
- package/components/{route-map-positioning.config-DKZvRmfJ.cjs → route-map-positioning.config-ryk_dUkh.cjs} +1 -1
- package/components/{sankey-diagram-positioning.config-BaCoBJXV.js → sankey-diagram-positioning.config-A_7xM06n.js} +1 -1
- package/components/{sankey-diagram-positioning.config-DJaK2xJX.cjs → sankey-diagram-positioning.config-CJfGpnPS.cjs} +1 -1
- package/components/{scatter-plot-positioning.config-DaNI54rh.cjs → scatter-plot-positioning.config-Duao2ftU.cjs} +1 -1
- package/components/{scatter-plot-positioning.config-PC47tloI.js → scatter-plot-positioning.config-qpwrugRe.js} +1 -1
- package/components/{set-locale-v6POkwmC.cjs → set-locale-B-GvqA1H.cjs} +1 -1
- package/components/{set-locale-Jz3DhqaW.js → set-locale-CgCeLPlb.js} +4 -4
- package/components/{slicer-filter-positioning.config-DMqYOG9Z.js → slicer-filter-positioning.config-93hC7jID.js} +1 -1
- package/components/{slicer-filter-positioning.config-KANe71ep.cjs → slicer-filter-positioning.config-DxhC39ak.cjs} +1 -1
- package/components/slot-menu/index.cjs +1 -1
- package/components/slot-menu/index.js +1 -1
- package/components/{slot-menu-CWMA97fn.cjs → slot-menu-CPxyyKSe.cjs} +6 -6
- package/components/{slot-menu-Cwee5fNa.js → slot-menu-DHJtAZ5_.js} +16 -16
- package/components/slot-menu-list/index.cjs +1 -1
- package/components/slot-menu-list/index.js +1 -1
- package/components/{slot-menu-list-BEou0QhK.cjs → slot-menu-list-CeWcE4KK.cjs} +1 -1
- package/components/{slot-menu-list-De2q0GGZ.js → slot-menu-list-QltpaoWh.js} +1 -1
- package/components/{speedometer-chart-positioning.config-CYVK0VnJ.js → speedometer-chart-positioning.config-CZbwyYsk.js} +1 -1
- package/components/{speedometer-chart-positioning.config-DW3dJD7n.cjs → speedometer-chart-positioning.config-DtRG3-e5.cjs} +1 -1
- package/components/{spike-map-positioning.config-Dl-Uf_O6.cjs → spike-map-positioning.config-CevjyQ5F.cjs} +1 -1
- package/components/{spike-map-positioning.config-CfVFEygx.js → spike-map-positioning.config-LBqSYD2n.js} +1 -1
- package/components/{strip-plot-positioning.config-eJ5MbyBk.cjs → strip-plot-positioning.config-DF5VxzvB.cjs} +1 -1
- package/components/{strip-plot-positioning.config-BMNtb-to.js → strip-plot-positioning.config-cCdQxMM_.js} +1 -1
- package/components/{sunburst-chart-positioning.config-CJgmPm-9.cjs → sunburst-chart-positioning.config-CERBvfoF.cjs} +1 -1
- package/components/{sunburst-chart-positioning.config-BRWF7dVf.js → sunburst-chart-positioning.config-DmkZEexM.js} +1 -1
- package/components/{symbol-map-positioning.config-_8L-oDxW.js → symbol-map-positioning.config-BwG_G6He.js} +1 -1
- package/components/{symbol-map-positioning.config-ONSN27l9.cjs → symbol-map-positioning.config-DhYxG8RC.cjs} +1 -1
- package/components/{treemap-chart-positioning.config-DrCRoNzf.cjs → treemap-chart-positioning.config-BwrrXs4a.cjs} +1 -1
- package/components/{treemap-chart-positioning.config-Bggn7Mqz.js → treemap-chart-positioning.config-arjPT6b_.js} +1 -1
- package/components/utils/base.cjs +1 -1
- package/components/utils/base.js +2 -2
- package/components/{utils-B2Eqs5i5.js → utils-B_rE5b7a.js} +1 -1
- package/components/{utils-CNH9xGyk.cjs → utils-BwJNkc-z.cjs} +1 -1
- package/components/utils.cjs +1 -1
- package/components/utils.js +2 -2
- package/components/{venn-diagram-positioning.config-BoH0wNEM.js → venn-diagram-positioning.config-DSh3Ns9L.js} +1 -1
- package/components/{venn-diagram-positioning.config-B-prEVEc.cjs → venn-diagram-positioning.config-GGLCcrqp.cjs} +1 -1
- package/components/viz-item-menu/index.cjs +1 -1
- package/components/viz-item-menu/index.js +1 -1
- package/components/{viz-item-menu-BUSjo6j_.js → viz-item-menu-Ht6bklNL.js} +1 -1
- package/components/{viz-item-menu-C-kpX-Ft.cjs → viz-item-menu-XHh4qhtn.cjs} +1 -1
- package/components/{wordcloud-chart-positioning.config-B6pvD7_a.js → wordcloud-chart-positioning.config-B8ZzwIdd.js} +1 -1
- package/components/{wordcloud-chart-positioning.config-BJi5SVYf.cjs → wordcloud-chart-positioning.config-Cxyhs6gk.cjs} +1 -1
- package/custom-elements.json +254 -5
- package/package.json +1 -1
- package/react/components/ai-chat.component.ts +2 -2
- package/react/esm/components/ai-chat.component.d.ts +2 -2
- package/react/esm/components/ai-chat.component.js +2 -2
- package/react/package.json +2 -2
- package/types/ai-chat.types.d.ts +9 -0
- package/components/ai-chat-7kHoMVeu.cjs +0 -321
- package/components/de-g8uRTFxZ.cjs +0 -20
- package/components/es-C3dhJP2H.cjs +0 -20
- package/components/fr-WdV_fXl_.cjs +0 -20
- package/components/nl-D3gRr88b.cjs +0 -20
|
@@ -24,5 +24,5 @@
|
|
|
24
24
|
e.setAttribute("data-luzmo-vars", ""), e.textContent = "html{--luzmo-animation-duration: 0.15s;--luzmo-border-color: rgba(var(--luzmo-border-color-rgb), 0.1);--luzmo-border-color-hover: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-down: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-focus: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-rgb: 0, 0, 0;--luzmo-border-color-full: rgb(180, 180, 180);--luzmo-border-color-full-hover: color-mix(in oklch, var(--luzmo-border-color-full), black 25%);--luzmo-border-color-full-down: color-mix(in oklch, var(--luzmo-border-color-full), black 45%);--luzmo-border-color-full-focus: color-mix(in oklch, var(--luzmo-border-color-full), black 25%);--luzmo-border-color-disabled: #dddddd;--luzmo-border-radius: 6px;--luzmo-border-radius-s: 4px;--luzmo-border-radius-l: 8px;--luzmo-border-radius-xl: 12px;--luzmo-border-radius-full: 999rem;--luzmo-background-color: #ffffff;--luzmo-background-color-rgb: 255, 255, 255;--luzmo-background-color-disabled: #eeeeee;--luzmo-background-color-hover: color-mix( in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 5%), black 1.5% );--luzmo-background-color-down: color-mix(in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 7%), black 1%);--luzmo-background-color-focus: color-mix( in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 5%), black 1.5% );--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: color-mix(in oklch, var(--luzmo-background-color-highlight), black 10%);--luzmo-background-color-highlight-down: color-mix(in oklch, var(--luzmo-background-color-highlight), black 20%);--luzmo-background-color-highlight-focus: color-mix(in oklch, var(--luzmo-background-color-highlight), black 10%);--luzmo-background-color-alt-1: rgb(250, 250, 250);--luzmo-background-color-alt-2: rgb(239, 239, 239);--luzmo-border-width: 1px;--luzmo-shadow-color-rgb: 0, 0, 0;--luzmo-shadow-opacity: 0.1;--luzmo-shadow-color: rgba(var(--luzmo-shadow-color-rgb), var(--luzmo-shadow-opacity));--luzmo-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-hard: #000;--luzmo-font-color-disabled: var(--luzmo-color-disabled);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: color-mix(in oklch, var(--luzmo-font-color), black 8%);--luzmo-font-color-down: color-mix(in oklch, var(--luzmo-font-color), black 20%);--luzmo-font-color-focus: color-mix(in oklch, var(--luzmo-font-color), black 8%);--luzmo-scrollbar-size: 6px;--luzmo-scrollbar-width: thin;--luzmo-scrollbar-track-background: transparent;--luzmo-scrollbar-track-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-thumb-background: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-scrollbar-thumb-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-thumb-hover-background: rgba(var(--luzmo-border-color-rgb), 0.4);--luzmo-primary: #4434ff;--luzmo-primary-hover: color-mix(in oklch, var(--luzmo-primary), black 8%);--luzmo-primary-down: color-mix(in oklch, var(--luzmo-primary), black 20%);--luzmo-primary-focus: color-mix(in oklch, var(--luzmo-primary), black 8%);--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-secondary: #ff00ff;--luzmo-secondary-hover: color-mix(in oklch, var(--luzmo-secondary), black 8%);--luzmo-secondary-down: color-mix(in oklch, var(--luzmo-secondary), black 20%);--luzmo-secondary-focus: color-mix(in oklch, var(--luzmo-secondary), black 8%);--luzmo-secondary-inverse-color: #ffffff;--luzmo-secondary-rgb: 255, 0, 255;--luzmo-secondary-outline: rgba(255, 0, 255, 0.2);--luzmo-negative-color: #ca221c;--luzmo-negative-color-hover: color-mix(in oklch, var(--luzmo-negative-color), black 8%);--luzmo-negative-color-down: color-mix(in oklch, var(--luzmo-negative-color), black 20%);--luzmo-negative-color-focus: color-mix(in oklch, var(--luzmo-negative-color), black 8%);--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-positive-color: rgb(20, 150, 101);--luzmo-positive-color-hover: color-mix(in oklch, var(--luzmo-positive-color), black 8%);--luzmo-positive-color-down: color-mix(in oklch, var(--luzmo-positive-color), black 20%);--luzmo-positive-color-focus: color-mix(in oklch, var(--luzmo-positive-color), black 8%);--luzmo-positive-color-rgb: 20, 150, 101;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: color-mix(in oklch, var(--luzmo-selected-color), black 25%);--luzmo-selected-color-down: color-mix(in oklch, var(--luzmo-selected-color), black 45%);--luzmo-selected-color-focus: color-mix(in oklch, var(--luzmo-selected-color), black 25%);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: color-mix(in oklch, var(--luzmo-selected-color-hard), black 25%);--luzmo-selected-color-hard-down: color-mix(in oklch, var(--luzmo-selected-color-hard), black 45%);--luzmo-selected-color-hard-focus: color-mix(in oklch, var(--luzmo-selected-color-hard), black 25%);--luzmo-color-informative: #1a77e9;--luzmo-color-informative-rgb: 26, 119, 233;--luzmo-color-disabled: #aaaaaa;--luzmo-spacing-1: 2px;--luzmo-spacing-2: 4px;--luzmo-spacing-3: 8px;--luzmo-spacing-4: 12px;--luzmo-spacing-5: 16px;--luzmo-indicator-gap: 2px;--luzmo-indicator-width: 1px;--luzmo-indicator-color: var(--luzmo-primary);--luzmo-component-height-xxs: 20px;--luzmo-component-height-xs: 24px;--luzmo-component-height-s: 28px;--luzmo-component-height: 32px;--luzmo-component-height-l: 40px;--luzmo-component-height-xl: 48px;--luzmo-component-height-xxl: 64px;--luzmo-icon-size-xxs: 12px;--luzmo-icon-size-xs: 14px;--luzmo-icon-size-s: 16px;--luzmo-icon-size-m: 18px;--luzmo-icon-size-l: 20px;--luzmo-icon-size-xl: 22px;--luzmo-icon-size-xxl: 32px}", document.head.appendChild(e);
|
|
25
25
|
}
|
|
26
26
|
})();
|
|
27
|
-
import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../filters-
|
|
27
|
+
import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../filters-BddhKRZC.js";
|
|
28
28
|
export { e as FilterUnrepresentableError, o as LuzmoFilters, r as MAX_FILTER_NESTING_DEPTH, a as detectFiltersFormat, n as reverseTransformFilters, i as toLogicalCondition, t as transformFilters };
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
20
|
import { t as e } from "./decorate-DyMgX_Uh.js";
|
|
21
|
-
import { t } from "./localized-mixin-
|
|
21
|
+
import { t } from "./localized-mixin-DBUkUh0o.js";
|
|
22
22
|
import { t as n } from "./v4-DIjJgmR0.js";
|
|
23
|
-
import "./filter-item-
|
|
23
|
+
import "./filter-item-C58zIpPh.js";
|
|
24
24
|
import { luzmoPlus as r, luzmoTrashOutline as i } from "@luzmo/icons";
|
|
25
25
|
import "@luzmo/lucero/button";
|
|
26
26
|
import "@luzmo/lucero/icon";
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
|
-
const e=require("./decorate-DCJt-2rt.cjs"),t=require("./localized-mixin-DZFYG6RG.cjs"),n=require("./v4-Dyp-SQ1c.cjs");require("./filter-item-cyApfc9M.cjs");let r=require("@luzmo/icons");require("@luzmo/lucero/button"),require("@luzmo/lucero/icon");let i=require("lit"),a=require("lit/decorators.js"),o=require("@lit/localize");require("@luzmo/lucero/action-button");let s=require("lit/directives/repeat.js"),c=require("@luzmo/lucero/utils");var l=20,u=class extends Error{constructor(e){super(e),this.name=`FilterUnrepresentableError`}},d=new Set([`and`,`or`]),f=[`datasetId`,`dataset_id`,`columnId`,`column_id`,`formulaId`,`formula_id`,`formula`,`columnExpression`,`value`,`ignoredItemIds`];function p(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function m(e){return!p(e)||e.condition!==void 0&&(typeof e.condition!=`string`||!d.has(e.condition.toLowerCase()))?!1:`filters`in e||`subGroups`in e}function h(e){return p(e)&&`expression`in e&&!(`condition`in e)}function g(e){return f.some(t=>t in e)}function ee(e,t=!1){let n=[e.columnId!==void 0||e.column_id!==void 0,e.formulaId!==void 0||e.formula_id!==void 0,e.formula!==void 0].filter(Boolean).length;return n===1?!0:n>1?!1:e.columnExpression!==void 0||t&&e.expression!==void 0}function _(e){return!h(e)||typeof e.expression!=`string`||e.expression.length===0||`parameters`in e||typeof e.datasetId!=`string`&&typeof e.dataset_id!=`string`?!1:ee(e)}function v(e){return!h(e)||!Array.isArray(e.parameters)?!1:!g(e)}function te(e){if(!(`parameters`in e))return;let t=f.find(t=>t in e);if(t!==void 0)throw new u(`Filter leaf mixes "parameters" with the clean inline key "${t}".`)}function ne(e){throw typeof e.expression!=`string`||e.expression.length===0?new u(`Clean filter leaf is missing a non-empty "expression".`):typeof e.datasetId!=`string`&&typeof e.dataset_id!=`string`?new u(`Clean filter leaf "${e.expression}" is missing a "datasetId".`):new u(`Clean filter leaf "${e.expression}" must name exactly one of "columnId", "formulaId", "formula", or "columnExpression".`)}function y(e){return e===`where`||e===`having`}function b(e){if(e>20)throw new u(`Filter nesting exceeds the maximum depth of 20.`)}function re(e){if(e==null)return`empty`;if(!Array.isArray(e))return`unknown`;if(e.length===0)return`empty`;let t=!1,n=!1,r=!1,i=(e,a)=>{if(a>20){r=!0;return}if(m(e)){y(e.clause)&&(n=!0);let t=[...Array.isArray(e.filters)?e.filters:[],...Array.isArray(e.subGroups)?e.subGroups:[]];for(let e of t)i(e,a+1);return}if(h(e)){`parameters`in e&&g(e)?r=!0:_(e)?n=!0:v(e)?t=!0:r=!0;return}r=!0};for(let t of e)i(t,1);return r?`unknown`:n&&t?`mixed`:n?`clean`:t?`canonical`:`empty`}var x=new Set([`? is null`,`? is not null`]),S=new Set([`? = ?`,`? != ?`,`? < ?`,`? <= ?`,`? > ?`,`? >= ?`]),ie=new Set([`? in ?`,`? not in ?`,`? between ?`]),C={"array[numeric]":`numeric[]`,"array[hierarchy]":`hierarchy[]`,"array[datetime]":`datetime[]`},ae=new Set([`level`,`lowestLevel`,`unnest`,`discretization`,`aggregation`,`index`,`include_nonoccurring`,`simplification`]);function w(e,t){return e!==`lowestLevel`&&!(t===null&&ae.has(e))}function T(e){return structuredClone(e)}function E(e){let t=e.datasetId??e.dataset_id;if(typeof t!=`string`||t.length===0)throw new u(`Filter reference is missing a "datasetId".`);return t}function D(e){return p(e)?typeof e.columnId==`string`||typeof e.column_id==`string`||typeof e.formulaId==`string`||typeof e.formula_id==`string`||typeof e.formula==`string`||(typeof e.datasetId==`string`||typeof e.dataset_id==`string`)&&(e.columnExpression!==void 0||e.expression!==void 0):!1}function O(e){let t={type:e.type};return e.bins!==void 0&&(t.bins=e.bins),Array.isArray(e.over)&&(t.over=e.over.map(e=>F(e))),t}function k(e){let t={type:e.type},n=e.datasetId??e.dataset_id,r=e.columnId??e.column_id;return n!==void 0&&(t.datasetId=n),r!==void 0&&(t.columnId=r),e.level!==void 0&&w(`level`,e.level)&&(t.level=e.level),p(e.discretization)&&(t.discretization=O(e.discretization)),e.unnest!==void 0&&w(`unnest`,e.unnest)&&(t.unnest=e.unnest),t}function A(e){let t={type:e.type};return e.bins!==void 0&&(t.bins=e.bins),Array.isArray(e.over)&&(t.over=e.over.map(e=>p(e)?P(e):e)),t}function j(e){let t={type:e.type},n=e.datasetId??e.dataset_id,r=e.columnId??e.column_id;return n!==void 0&&(t.datasetId=n),r!==void 0&&(t.columnId=r),e.level!==void 0&&(t.level=e.level),p(e.discretization)&&(t.discretization=A(e.discretization)),e.unnest!==void 0&&(t.unnest=e.unnest),t}function M(e,t){e.level!==void 0&&(t.level=T(e.level)),p(e.discretization)&&(t.discretization=A(e.discretization)),p(e.aggregation)&&(t.aggregation=j(e.aggregation)),e.unnest!==void 0&&(t.unnest=T(e.unnest))}function N(e,t){let n=e.columnId??e.column_id;if(n!==void 0)return{kind:`columnId`,value:n};let r=e.formulaId??e.formula_id;if(r!==void 0)return{kind:`formulaId`,value:r};if(e.formula!==void 0)return{kind:`formula`,value:e.formula};let i=e.columnExpression??(t?e.expression:void 0);if(i!==void 0)return{kind:`expression`,value:i}}function P(e,t=!0){let n={datasetId:E(e)},r=N(e,t);return r!==void 0&&(r.kind===`expression`?n.expression=r.value:n[r.kind]=r.value),M(e,n),n}function F(e){if(!p(e))throw new u(`Cannot emit a clean filter reference.`);let t={datasetId:E(e)};e.level!==void 0&&w(`level`,e.level)&&(t.level=e.level),p(e.discretization)&&(t.discretization=O(e.discretization)),p(e.aggregation)&&(t.aggregation=k(e.aggregation)),e.unnest!==void 0&&w(`unnest`,e.unnest)&&(t.unnest=e.unnest);let n=N(e,!0);if(n===void 0)throw new u(`Cannot emit a clean filter reference: no column, formula, or expression.`);return n.kind===`expression`?t.columnExpression=n.value:t[n.kind]=n.value,t}function oe(e){if(!p(e)||typeof e.parameter!=`string`||typeof e.type!=`string`)return e;let t=C[e.type];return t===void 0?e:{...e,type:t}}function se(e,t){return p(t)&&typeof t.parameter==`string`?!0:Array.isArray(t)?e!==`? between ?`||t.length===2:!1}function ce(e,t){let n=e.expression,r=[P(e,!1)];if(!x.has(n)&&e.value!==void 0){let t=S.has(n)&&D(e.value);r.push(t?P(e.value):T(e.value))}let i={};typeof e.id==`string`&&(i.id=e.id),`ignoredItemIds`in e&&(i.ignore=T(e.ignoredItemIds)),t!==void 0&&(i.type=t);let a={expression:n,parameters:r};return Object.keys(i).length>0&&(a.properties=i),a}function le(e){let{expression:t}=e;if(typeof t!=`string`||t.length===0)return null;let n=Array.isArray(e.parameters)?e.parameters:[];if(!p(n[0]))throw new u(`Cannot emit a clean filter reference for "${t}".`);let r={...F(n[0]),expression:t};if(!x.has(t)){let e=n[1];if(e===void 0)throw new u(`Filter "${t}" is missing its value operand.`);if(r.value=D(e)&&S.has(t)?F(e):oe(T(e)),ie.has(t)&&!se(t,r.value))throw new u(`Cannot emit an invalid clean filter value for "${t}".`)}let{properties:i}=e;return i?.id!==void 0&&(r.id=i.id),i!==void 0&&`ignore`in i&&(r.ignoredItemIds=T(i.ignore)),r}function I(e){return m(e)}function L(e){return Array.isArray(e.filters)?e.filters:[]}function R(e,t){return e.properties?.type===`having`||e.properties?.type===`where`?e.properties.type:t??`where`}function z(e,t,n=1,r=new Set){b(n);let i=e.clause??t;for(let t of L(e))I(t)?z(t,i,n+1,r):typeof t.expression==`string`&&t.expression.length>0&&r.add(R(t,i));return r}function B(e,t,n=1){b(n);let r=e.clause??t;if(e.condition===`or`&&z(e,r,n).size>1)throw new u(`An "or" group mixes "where" and "having" filters, which clean output cannot represent.`);for(let t of L(e))I(t)&&B(t,r,n+1)}function V(e,t,n,r=1){b(r);let i=e.clause??n,a=[];for(let n of L(e)){if(I(n)){let e=V(n,t,i,r+1);e.filters.length>0&&a.push(e);continue}if(R(n,i)!==t)continue;let e=le(n);e&&a.push(e)}let o={condition:e.condition===`or`?`or`:`and`,filters:a};return e.id!==void 0&&z(e,i,r).size<=1&&(o.id=e.id),o}function H(e){let t=e.clause;B(e,t);let n=z(e,t);return n.size===0&&n.add(t??`where`),[`where`,`having`].filter(e=>n.has(e)).map(n=>({...V(e,n,t),clause:n})).filter(e=>e.filters.length>0)}var U=[`origin`,`datasetId`,`vizId`,`itemId`,`isDrilldown`,`type`];function W(e){return typeof e==`string`&&e.toLowerCase()===`or`?`or`:`and`}function ue(e){return m(e)}function de(e){if(!Array.isArray(e)||e.length===0)return[];let t=p(e[0])?e[0]:void 0,n=e.length>1?e[1]:void 0;return e.length>1?[t,n]:[t]}function fe(e){if(typeof e.expression!=`string`||e.expression.length===0)return null;let t={expression:e.expression,parameters:de(e.parameters)};return e.properties!==void 0&&Object.keys(e.properties).length>0&&(t.properties=structuredClone(e.properties)),t}function G(e,t){let n=e,r=t;for(let e of U)n[e]!==void 0&&(r[e]=n[e])}function K(e){if(!e||!e.filters)return{condition:`and`,filters:[],subGroups:[]};let t=[],n=[];for(let r of e.filters)if(ue(r))n.push(K(r));else{let e=fe(r);e&&t.push(e)}let r={condition:W(e.condition),filters:t,subGroups:n};return e.id!==void 0&&(r.id=e.id),G(e,r),r}function q(e,t){return e?t?.format===`clean`?H(e):[K(e)]:[]}function pe(e,t){let n={expression:typeof e.expression==`string`?e.expression:void 0,parameters:Array.isArray(e.parameters)?[...e.parameters]:[]},r=p(e.properties)?structuredClone(e.properties):{};return t!==void 0&&r.type===void 0&&(r.type=t),Object.keys(r).length>0&&(n.properties=r),n}function J(e,t,n){if(m(e))return Y(e,t,n);if(!p(e))return;let r=e.expression;if(te(e),_(e))return ce(e,t);if(g(e)&&ne(e),v(e))return pe(e,t);throw new u(`Filter leaf "${String(r)}" matches neither a complete clean nor a complete canonical encoding.`)}function Y(e,t,n){b(n);let r=y(e.clause)?e.clause:void 0,i=r??t,a=[];for(let t of Array.isArray(e.filters)?e.filters:[]){let e=J(t,i,n+1);e!==void 0&&a.push(e)}for(let t of Array.isArray(e.subGroups)?e.subGroups:[])m(t)&&a.push(Y(t,i,n+1));let o={condition:W(e.condition),filters:a};return typeof e.id==`string`&&(o.id=e.id),r!==void 0&&(o.clause=r),G(e,o),o}function X(e){return!e||e.length===0?[]:e.filter(e=>m(e)).map(e=>Y(e,void 0,1))}var me=`: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;container-type:inline-size}.filter-group-container{max-width:100%;padding:calc(var(--luzmo-indicator-gap) + 2 * var(--luzmo-indicator-width));overflow-x: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:flex-start;gap:var(--luzmo-filters-filter-line-gap,var(--filters-filter-line-gap));flex-wrap:nowrap;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:flex-end;margin-inline-start:auto}.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))}@container (width<=480px){.condition-badge{--luzmo-action-button-font-size:.6875rem;--luzmo-action-button-height:1.2rem;--luzmo-button-line-height:1.2rem;font-size:.6875rem;line-height:1.2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}:host([dir=rtl]) .condition-badge{transform:translate(-50%,-50%)rotate(90deg)}}: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)}@container (width<=480px){.filter-group-container{--filters-condition-warpper-width:32px;--filters-condition-padding-horizontal:var(--luzmo-spacing-2);--filters-condition-badge-halo:var(--luzmo-spacing-2);--filters-filters-list-gap:var(--luzmo-spacing-5)}}`;function Z(e){if(e instanceof u)return e;throw e}var he={and:()=>(0,o.msg)(`AND`,{desc:`Logical AND condition for combining filters`}),or:()=>(0,o.msg)(`OR`,{desc:`Logical OR condition for combining filters`})};function Q(e){return e===`and`?`or`:`and`}var $=class extends t.t((0,c.SizedMixin)(c.LuzmoElement,{validSizes:Object.values(c.ElementSizes)})){constructor(...e){super(...e),this.apiUrl=`https://api.luzmo.com`,this.contentLanguage=`en`,this.filters=[],this.format=`canonical`,this.allowParameters=!1,this.parameters=[],this.debounce=300,this._internalFilterGroup=null,this._hasSyntheticRoot=!1,this._debounceTimeout=null}static get styles(){return[(0,i.unsafeCSS)(me)]}get _oneSizeSmaller(){return{xxs:`xxs`,xs:`xs`,s:`xs`,m:`s`,l:`m`,xl:`l`,xxl:`xl`}[this.size]||`s`}get _isDatasetIdsEmpty(){return!this.datasetIds||this.datasetIds.length===0}disconnectedCallback(){super.disconnectedCallback(),this._debounceTimeout&&=(clearTimeout(this._debounceTimeout),null)}willUpdate(e){if(super.willUpdate(e),e.has(`filters`))try{let e=X(this.filters);e.length===0?(this._internalFilterGroup=null,this._hasSyntheticRoot=!1):e.length===1?(this._internalFilterGroup=structuredClone(e[0]),this._hasSyntheticRoot=!1):(this._internalFilterGroup={condition:`and`,filters:structuredClone(e)},this._hasSyntheticRoot=!0)}catch(t){console.warn(`[${this.localName}] Keeping the current filters, the new value cannot be normalized:`,Z(t)),this.filters=e.get(`filters`)??[]}}_generateEmptyGroup(){return{id:n.t(),condition:`and`,filters:[]}}_generateEmptyFilter(){return{expression:void 0,parameters:[],properties:{id:n.t()}}}_rootGroupsForExport(){if(!this._internalFilterGroup)return[];let e=this._internalFilterGroup.filters.length>0&&this._internalFilterGroup.filters.every(e=>this._isGroup(e));return this._hasSyntheticRoot&&e?structuredClone(this._internalFilterGroup.filters):[structuredClone(this._internalFilterGroup)]}_getFiltersForExport(){let e=this._rootGroupsForExport(),t=this.format===`clean`?`clean`:`canonical`;if(e.length===0)return{filters:[],format:t};if(t===`clean`)try{return{filters:e.flatMap(e=>q(e,{format:`clean`})),format:`clean`}}catch(e){console.warn(`[${this.localName}] Cannot emit clean filters, falling back to canonical output:`,Z(e))}return{filters:e.flatMap(e=>q(e)),format:`canonical`}}_sendChangeEvent(){this._debounceTimeout&&clearTimeout(this._debounceTimeout);let e=()=>{this.dispatchEvent(new CustomEvent(`luzmo-filters-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:this._getFiltersForExport()}))};this.debounce>0?this._debounceTimeout=setTimeout(e,this.debounce):e()}_isGroup(e){return`condition`in e&&`filters`in e}_handleParameterCreated(e){let t=e.detail?.parameter;!t||this.parameters.some(({parameter:e})=>e===t.parameter)||(this.parameters=[...this.parameters,t])}_toggleCondition(e){e.condition=Q(e.condition),e===this._internalFilterGroup&&(this._hasSyntheticRoot=!1),this.requestUpdate(),this._sendChangeEvent()}_addFilter(e){if(this._isDatasetIdsEmpty)return;let t=e;t||=(this._internalFilterGroup||=this._generateEmptyGroup(),this._internalFilterGroup),t.filters.push(this._generateEmptyFilter()),this.requestUpdate(),this._sendChangeEvent()}_addSubGroup(e){if(this._isDatasetIdsEmpty)return;let t=this._generateEmptyGroup();t.condition=Q(e.condition),t.filters.push(this._generateEmptyFilter()),e.filters.push(t),this.requestUpdate(),this._sendChangeEvent()}_removeFilter(e,t){if(this._internalFilterGroup){if(e.filters.splice(t,1),e!==this._internalFilterGroup&&e.filters.length===0){let t=this._findParentGroup(this._internalFilterGroup,e);if(t){let n=t.filters.indexOf(e);n!==-1&&t.filters.splice(n,1)}}this._collapseGroupsAfterDelete(),this.requestUpdate(),this._sendChangeEvent()}}_updateFilter(e,t,n){n.stopPropagation(),this._isGroup(e.filters[t])||(e.filters[t]=n.detail.filter,this._sendChangeEvent())}_addGroup(){if(this._isDatasetIdsEmpty)return;this._internalFilterGroup||=this._generateEmptyGroup();let e=this._generateEmptyGroup();e.condition=Q(this._internalFilterGroup.condition),e.filters.push(this._internalFilterGroup);let t=this._generateEmptyGroup();t.condition=Q(e.condition),t.filters.push(this._generateEmptyFilter()),e.filters.push(t),this._internalFilterGroup=e,this._hasSyntheticRoot=!1,this.requestUpdate(),this._sendChangeEvent()}_renderFilterItem(e,t,n){return i.html`
|
|
20
|
+
const e=require("./decorate-DCJt-2rt.cjs"),t=require("./localized-mixin-CtNoCjjI.cjs"),n=require("./v4-Dyp-SQ1c.cjs");require("./filter-item-obyHcs9f.cjs");let r=require("@luzmo/icons");require("@luzmo/lucero/button"),require("@luzmo/lucero/icon");let i=require("lit"),a=require("lit/decorators.js"),o=require("@lit/localize");require("@luzmo/lucero/action-button");let s=require("lit/directives/repeat.js"),c=require("@luzmo/lucero/utils");var l=20,u=class extends Error{constructor(e){super(e),this.name=`FilterUnrepresentableError`}},d=new Set([`and`,`or`]),f=[`datasetId`,`dataset_id`,`columnId`,`column_id`,`formulaId`,`formula_id`,`formula`,`columnExpression`,`value`,`ignoredItemIds`];function p(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function m(e){return!p(e)||e.condition!==void 0&&(typeof e.condition!=`string`||!d.has(e.condition.toLowerCase()))?!1:`filters`in e||`subGroups`in e}function h(e){return p(e)&&`expression`in e&&!(`condition`in e)}function g(e){return f.some(t=>t in e)}function ee(e,t=!1){let n=[e.columnId!==void 0||e.column_id!==void 0,e.formulaId!==void 0||e.formula_id!==void 0,e.formula!==void 0].filter(Boolean).length;return n===1?!0:n>1?!1:e.columnExpression!==void 0||t&&e.expression!==void 0}function _(e){return!h(e)||typeof e.expression!=`string`||e.expression.length===0||`parameters`in e||typeof e.datasetId!=`string`&&typeof e.dataset_id!=`string`?!1:ee(e)}function v(e){return!h(e)||!Array.isArray(e.parameters)?!1:!g(e)}function te(e){if(!(`parameters`in e))return;let t=f.find(t=>t in e);if(t!==void 0)throw new u(`Filter leaf mixes "parameters" with the clean inline key "${t}".`)}function ne(e){throw typeof e.expression!=`string`||e.expression.length===0?new u(`Clean filter leaf is missing a non-empty "expression".`):typeof e.datasetId!=`string`&&typeof e.dataset_id!=`string`?new u(`Clean filter leaf "${e.expression}" is missing a "datasetId".`):new u(`Clean filter leaf "${e.expression}" must name exactly one of "columnId", "formulaId", "formula", or "columnExpression".`)}function y(e){return e===`where`||e===`having`}function b(e){if(e>20)throw new u(`Filter nesting exceeds the maximum depth of 20.`)}function re(e){if(e==null)return`empty`;if(!Array.isArray(e))return`unknown`;if(e.length===0)return`empty`;let t=!1,n=!1,r=!1,i=(e,a)=>{if(a>20){r=!0;return}if(m(e)){y(e.clause)&&(n=!0);let t=[...Array.isArray(e.filters)?e.filters:[],...Array.isArray(e.subGroups)?e.subGroups:[]];for(let e of t)i(e,a+1);return}if(h(e)){`parameters`in e&&g(e)?r=!0:_(e)?n=!0:v(e)?t=!0:r=!0;return}r=!0};for(let t of e)i(t,1);return r?`unknown`:n&&t?`mixed`:n?`clean`:t?`canonical`:`empty`}var x=new Set([`? is null`,`? is not null`]),S=new Set([`? = ?`,`? != ?`,`? < ?`,`? <= ?`,`? > ?`,`? >= ?`]),ie=new Set([`? in ?`,`? not in ?`,`? between ?`]),C={"array[numeric]":`numeric[]`,"array[hierarchy]":`hierarchy[]`,"array[datetime]":`datetime[]`},ae=new Set([`level`,`lowestLevel`,`unnest`,`discretization`,`aggregation`,`index`,`include_nonoccurring`,`simplification`]);function w(e,t){return e!==`lowestLevel`&&!(t===null&&ae.has(e))}function T(e){return structuredClone(e)}function E(e){let t=e.datasetId??e.dataset_id;if(typeof t!=`string`||t.length===0)throw new u(`Filter reference is missing a "datasetId".`);return t}function D(e){return p(e)?typeof e.columnId==`string`||typeof e.column_id==`string`||typeof e.formulaId==`string`||typeof e.formula_id==`string`||typeof e.formula==`string`||(typeof e.datasetId==`string`||typeof e.dataset_id==`string`)&&(e.columnExpression!==void 0||e.expression!==void 0):!1}function O(e){let t={type:e.type};return e.bins!==void 0&&(t.bins=e.bins),Array.isArray(e.over)&&(t.over=e.over.map(e=>F(e))),t}function k(e){let t={type:e.type},n=e.datasetId??e.dataset_id,r=e.columnId??e.column_id;return n!==void 0&&(t.datasetId=n),r!==void 0&&(t.columnId=r),e.level!==void 0&&w(`level`,e.level)&&(t.level=e.level),p(e.discretization)&&(t.discretization=O(e.discretization)),e.unnest!==void 0&&w(`unnest`,e.unnest)&&(t.unnest=e.unnest),t}function A(e){let t={type:e.type};return e.bins!==void 0&&(t.bins=e.bins),Array.isArray(e.over)&&(t.over=e.over.map(e=>p(e)?P(e):e)),t}function j(e){let t={type:e.type},n=e.datasetId??e.dataset_id,r=e.columnId??e.column_id;return n!==void 0&&(t.datasetId=n),r!==void 0&&(t.columnId=r),e.level!==void 0&&(t.level=e.level),p(e.discretization)&&(t.discretization=A(e.discretization)),e.unnest!==void 0&&(t.unnest=e.unnest),t}function M(e,t){e.level!==void 0&&(t.level=T(e.level)),p(e.discretization)&&(t.discretization=A(e.discretization)),p(e.aggregation)&&(t.aggregation=j(e.aggregation)),e.unnest!==void 0&&(t.unnest=T(e.unnest))}function N(e,t){let n=e.columnId??e.column_id;if(n!==void 0)return{kind:`columnId`,value:n};let r=e.formulaId??e.formula_id;if(r!==void 0)return{kind:`formulaId`,value:r};if(e.formula!==void 0)return{kind:`formula`,value:e.formula};let i=e.columnExpression??(t?e.expression:void 0);if(i!==void 0)return{kind:`expression`,value:i}}function P(e,t=!0){let n={datasetId:E(e)},r=N(e,t);return r!==void 0&&(r.kind===`expression`?n.expression=r.value:n[r.kind]=r.value),M(e,n),n}function F(e){if(!p(e))throw new u(`Cannot emit a clean filter reference.`);let t={datasetId:E(e)};e.level!==void 0&&w(`level`,e.level)&&(t.level=e.level),p(e.discretization)&&(t.discretization=O(e.discretization)),p(e.aggregation)&&(t.aggregation=k(e.aggregation)),e.unnest!==void 0&&w(`unnest`,e.unnest)&&(t.unnest=e.unnest);let n=N(e,!0);if(n===void 0)throw new u(`Cannot emit a clean filter reference: no column, formula, or expression.`);return n.kind===`expression`?t.columnExpression=n.value:t[n.kind]=n.value,t}function oe(e){if(!p(e)||typeof e.parameter!=`string`||typeof e.type!=`string`)return e;let t=C[e.type];return t===void 0?e:{...e,type:t}}function se(e,t){return p(t)&&typeof t.parameter==`string`?!0:Array.isArray(t)?e!==`? between ?`||t.length===2:!1}function ce(e,t){let n=e.expression,r=[P(e,!1)];if(!x.has(n)&&e.value!==void 0){let t=S.has(n)&&D(e.value);r.push(t?P(e.value):T(e.value))}let i={};typeof e.id==`string`&&(i.id=e.id),`ignoredItemIds`in e&&(i.ignore=T(e.ignoredItemIds)),t!==void 0&&(i.type=t);let a={expression:n,parameters:r};return Object.keys(i).length>0&&(a.properties=i),a}function le(e){let{expression:t}=e;if(typeof t!=`string`||t.length===0)return null;let n=Array.isArray(e.parameters)?e.parameters:[];if(!p(n[0]))throw new u(`Cannot emit a clean filter reference for "${t}".`);let r={...F(n[0]),expression:t};if(!x.has(t)){let e=n[1];if(e===void 0)throw new u(`Filter "${t}" is missing its value operand.`);if(r.value=D(e)&&S.has(t)?F(e):oe(T(e)),ie.has(t)&&!se(t,r.value))throw new u(`Cannot emit an invalid clean filter value for "${t}".`)}let{properties:i}=e;return i?.id!==void 0&&(r.id=i.id),i!==void 0&&`ignore`in i&&(r.ignoredItemIds=T(i.ignore)),r}function I(e){return m(e)}function L(e){return Array.isArray(e.filters)?e.filters:[]}function R(e,t){return e.properties?.type===`having`||e.properties?.type===`where`?e.properties.type:t??`where`}function z(e,t,n=1,r=new Set){b(n);let i=e.clause??t;for(let t of L(e))I(t)?z(t,i,n+1,r):typeof t.expression==`string`&&t.expression.length>0&&r.add(R(t,i));return r}function B(e,t,n=1){b(n);let r=e.clause??t;if(e.condition===`or`&&z(e,r,n).size>1)throw new u(`An "or" group mixes "where" and "having" filters, which clean output cannot represent.`);for(let t of L(e))I(t)&&B(t,r,n+1)}function V(e,t,n,r=1){b(r);let i=e.clause??n,a=[];for(let n of L(e)){if(I(n)){let e=V(n,t,i,r+1);e.filters.length>0&&a.push(e);continue}if(R(n,i)!==t)continue;let e=le(n);e&&a.push(e)}let o={condition:e.condition===`or`?`or`:`and`,filters:a};return e.id!==void 0&&z(e,i,r).size<=1&&(o.id=e.id),o}function H(e){let t=e.clause;B(e,t);let n=z(e,t);return n.size===0&&n.add(t??`where`),[`where`,`having`].filter(e=>n.has(e)).map(n=>({...V(e,n,t),clause:n})).filter(e=>e.filters.length>0)}var U=[`origin`,`datasetId`,`vizId`,`itemId`,`isDrilldown`,`type`];function W(e){return typeof e==`string`&&e.toLowerCase()===`or`?`or`:`and`}function ue(e){return m(e)}function de(e){if(!Array.isArray(e)||e.length===0)return[];let t=p(e[0])?e[0]:void 0,n=e.length>1?e[1]:void 0;return e.length>1?[t,n]:[t]}function fe(e){if(typeof e.expression!=`string`||e.expression.length===0)return null;let t={expression:e.expression,parameters:de(e.parameters)};return e.properties!==void 0&&Object.keys(e.properties).length>0&&(t.properties=structuredClone(e.properties)),t}function G(e,t){let n=e,r=t;for(let e of U)n[e]!==void 0&&(r[e]=n[e])}function K(e){if(!e||!e.filters)return{condition:`and`,filters:[],subGroups:[]};let t=[],n=[];for(let r of e.filters)if(ue(r))n.push(K(r));else{let e=fe(r);e&&t.push(e)}let r={condition:W(e.condition),filters:t,subGroups:n};return e.id!==void 0&&(r.id=e.id),G(e,r),r}function q(e,t){return e?t?.format===`clean`?H(e):[K(e)]:[]}function pe(e,t){let n={expression:typeof e.expression==`string`?e.expression:void 0,parameters:Array.isArray(e.parameters)?[...e.parameters]:[]},r=p(e.properties)?structuredClone(e.properties):{};return t!==void 0&&r.type===void 0&&(r.type=t),Object.keys(r).length>0&&(n.properties=r),n}function J(e,t,n){if(m(e))return Y(e,t,n);if(!p(e))return;let r=e.expression;if(te(e),_(e))return ce(e,t);if(g(e)&&ne(e),v(e))return pe(e,t);throw new u(`Filter leaf "${String(r)}" matches neither a complete clean nor a complete canonical encoding.`)}function Y(e,t,n){b(n);let r=y(e.clause)?e.clause:void 0,i=r??t,a=[];for(let t of Array.isArray(e.filters)?e.filters:[]){let e=J(t,i,n+1);e!==void 0&&a.push(e)}for(let t of Array.isArray(e.subGroups)?e.subGroups:[])m(t)&&a.push(Y(t,i,n+1));let o={condition:W(e.condition),filters:a};return typeof e.id==`string`&&(o.id=e.id),r!==void 0&&(o.clause=r),G(e,o),o}function X(e){return!e||e.length===0?[]:e.filter(e=>m(e)).map(e=>Y(e,void 0,1))}var me=`: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;container-type:inline-size}.filter-group-container{max-width:100%;padding:calc(var(--luzmo-indicator-gap) + 2 * var(--luzmo-indicator-width));overflow-x: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:flex-start;gap:var(--luzmo-filters-filter-line-gap,var(--filters-filter-line-gap));flex-wrap:nowrap;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:flex-end;margin-inline-start:auto}.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))}@container (width<=480px){.condition-badge{--luzmo-action-button-font-size:.6875rem;--luzmo-action-button-height:1.2rem;--luzmo-button-line-height:1.2rem;font-size:.6875rem;line-height:1.2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}:host([dir=rtl]) .condition-badge{transform:translate(-50%,-50%)rotate(90deg)}}: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)}@container (width<=480px){.filter-group-container{--filters-condition-warpper-width:32px;--filters-condition-padding-horizontal:var(--luzmo-spacing-2);--filters-condition-badge-halo:var(--luzmo-spacing-2);--filters-filters-list-gap:var(--luzmo-spacing-5)}}`;function Z(e){if(e instanceof u)return e;throw e}var he={and:()=>(0,o.msg)(`AND`,{desc:`Logical AND condition for combining filters`}),or:()=>(0,o.msg)(`OR`,{desc:`Logical OR condition for combining filters`})};function Q(e){return e===`and`?`or`:`and`}var $=class extends t.t((0,c.SizedMixin)(c.LuzmoElement,{validSizes:Object.values(c.ElementSizes)})){constructor(...e){super(...e),this.apiUrl=`https://api.luzmo.com`,this.contentLanguage=`en`,this.filters=[],this.format=`canonical`,this.allowParameters=!1,this.parameters=[],this.debounce=300,this._internalFilterGroup=null,this._hasSyntheticRoot=!1,this._debounceTimeout=null}static get styles(){return[(0,i.unsafeCSS)(me)]}get _oneSizeSmaller(){return{xxs:`xxs`,xs:`xs`,s:`xs`,m:`s`,l:`m`,xl:`l`,xxl:`xl`}[this.size]||`s`}get _isDatasetIdsEmpty(){return!this.datasetIds||this.datasetIds.length===0}disconnectedCallback(){super.disconnectedCallback(),this._debounceTimeout&&=(clearTimeout(this._debounceTimeout),null)}willUpdate(e){if(super.willUpdate(e),e.has(`filters`))try{let e=X(this.filters);e.length===0?(this._internalFilterGroup=null,this._hasSyntheticRoot=!1):e.length===1?(this._internalFilterGroup=structuredClone(e[0]),this._hasSyntheticRoot=!1):(this._internalFilterGroup={condition:`and`,filters:structuredClone(e)},this._hasSyntheticRoot=!0)}catch(t){console.warn(`[${this.localName}] Keeping the current filters, the new value cannot be normalized:`,Z(t)),this.filters=e.get(`filters`)??[]}}_generateEmptyGroup(){return{id:n.t(),condition:`and`,filters:[]}}_generateEmptyFilter(){return{expression:void 0,parameters:[],properties:{id:n.t()}}}_rootGroupsForExport(){if(!this._internalFilterGroup)return[];let e=this._internalFilterGroup.filters.length>0&&this._internalFilterGroup.filters.every(e=>this._isGroup(e));return this._hasSyntheticRoot&&e?structuredClone(this._internalFilterGroup.filters):[structuredClone(this._internalFilterGroup)]}_getFiltersForExport(){let e=this._rootGroupsForExport(),t=this.format===`clean`?`clean`:`canonical`;if(e.length===0)return{filters:[],format:t};if(t===`clean`)try{return{filters:e.flatMap(e=>q(e,{format:`clean`})),format:`clean`}}catch(e){console.warn(`[${this.localName}] Cannot emit clean filters, falling back to canonical output:`,Z(e))}return{filters:e.flatMap(e=>q(e)),format:`canonical`}}_sendChangeEvent(){this._debounceTimeout&&clearTimeout(this._debounceTimeout);let e=()=>{this.dispatchEvent(new CustomEvent(`luzmo-filters-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:this._getFiltersForExport()}))};this.debounce>0?this._debounceTimeout=setTimeout(e,this.debounce):e()}_isGroup(e){return`condition`in e&&`filters`in e}_handleParameterCreated(e){let t=e.detail?.parameter;!t||this.parameters.some(({parameter:e})=>e===t.parameter)||(this.parameters=[...this.parameters,t])}_toggleCondition(e){e.condition=Q(e.condition),e===this._internalFilterGroup&&(this._hasSyntheticRoot=!1),this.requestUpdate(),this._sendChangeEvent()}_addFilter(e){if(this._isDatasetIdsEmpty)return;let t=e;t||=(this._internalFilterGroup||=this._generateEmptyGroup(),this._internalFilterGroup),t.filters.push(this._generateEmptyFilter()),this.requestUpdate(),this._sendChangeEvent()}_addSubGroup(e){if(this._isDatasetIdsEmpty)return;let t=this._generateEmptyGroup();t.condition=Q(e.condition),t.filters.push(this._generateEmptyFilter()),e.filters.push(t),this.requestUpdate(),this._sendChangeEvent()}_removeFilter(e,t){if(this._internalFilterGroup){if(e.filters.splice(t,1),e!==this._internalFilterGroup&&e.filters.length===0){let t=this._findParentGroup(this._internalFilterGroup,e);if(t){let n=t.filters.indexOf(e);n!==-1&&t.filters.splice(n,1)}}this._collapseGroupsAfterDelete(),this.requestUpdate(),this._sendChangeEvent()}}_updateFilter(e,t,n){n.stopPropagation(),this._isGroup(e.filters[t])||(e.filters[t]=n.detail.filter,this._sendChangeEvent())}_addGroup(){if(this._isDatasetIdsEmpty)return;this._internalFilterGroup||=this._generateEmptyGroup();let e=this._generateEmptyGroup();e.condition=Q(this._internalFilterGroup.condition),e.filters.push(this._internalFilterGroup);let t=this._generateEmptyGroup();t.condition=Q(e.condition),t.filters.push(this._generateEmptyFilter()),e.filters.push(t),this._internalFilterGroup=e,this._hasSyntheticRoot=!1,this.requestUpdate(),this._sendChangeEvent()}_renderFilterItem(e,t,n){return i.html`
|
|
21
21
|
<div class="filter-item-wrapper">
|
|
22
22
|
<div class="filter-item-content">
|
|
23
23
|
<luzmo-filter-item
|
|
@@ -17,4 +17,4 @@
|
|
|
17
17
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../formula-
|
|
20
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../formula-cc2AaiLt.cjs");Object.defineProperty(exports,"LuzmoFormula",{enumerable:!0,get:function(){return e.t}});
|
|
@@ -24,5 +24,5 @@
|
|
|
24
24
|
e.setAttribute("data-luzmo-vars", ""), e.textContent = "html{--luzmo-animation-duration: 0.15s;--luzmo-border-color: rgba(var(--luzmo-border-color-rgb), 0.1);--luzmo-border-color-hover: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-down: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-focus: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-rgb: 0, 0, 0;--luzmo-border-color-full: rgb(180, 180, 180);--luzmo-border-color-full-hover: color-mix(in oklch, var(--luzmo-border-color-full), black 25%);--luzmo-border-color-full-down: color-mix(in oklch, var(--luzmo-border-color-full), black 45%);--luzmo-border-color-full-focus: color-mix(in oklch, var(--luzmo-border-color-full), black 25%);--luzmo-border-color-disabled: #dddddd;--luzmo-border-radius: 6px;--luzmo-border-radius-s: 4px;--luzmo-border-radius-l: 8px;--luzmo-border-radius-xl: 12px;--luzmo-border-radius-full: 999rem;--luzmo-background-color: #ffffff;--luzmo-background-color-rgb: 255, 255, 255;--luzmo-background-color-disabled: #eeeeee;--luzmo-background-color-hover: color-mix( in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 5%), black 1.5% );--luzmo-background-color-down: color-mix(in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 7%), black 1%);--luzmo-background-color-focus: color-mix( in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 5%), black 1.5% );--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: color-mix(in oklch, var(--luzmo-background-color-highlight), black 10%);--luzmo-background-color-highlight-down: color-mix(in oklch, var(--luzmo-background-color-highlight), black 20%);--luzmo-background-color-highlight-focus: color-mix(in oklch, var(--luzmo-background-color-highlight), black 10%);--luzmo-background-color-alt-1: rgb(250, 250, 250);--luzmo-background-color-alt-2: rgb(239, 239, 239);--luzmo-border-width: 1px;--luzmo-shadow-color-rgb: 0, 0, 0;--luzmo-shadow-opacity: 0.1;--luzmo-shadow-color: rgba(var(--luzmo-shadow-color-rgb), var(--luzmo-shadow-opacity));--luzmo-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-hard: #000;--luzmo-font-color-disabled: var(--luzmo-color-disabled);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: color-mix(in oklch, var(--luzmo-font-color), black 8%);--luzmo-font-color-down: color-mix(in oklch, var(--luzmo-font-color), black 20%);--luzmo-font-color-focus: color-mix(in oklch, var(--luzmo-font-color), black 8%);--luzmo-scrollbar-size: 6px;--luzmo-scrollbar-width: thin;--luzmo-scrollbar-track-background: transparent;--luzmo-scrollbar-track-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-thumb-background: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-scrollbar-thumb-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-thumb-hover-background: rgba(var(--luzmo-border-color-rgb), 0.4);--luzmo-primary: #4434ff;--luzmo-primary-hover: color-mix(in oklch, var(--luzmo-primary), black 8%);--luzmo-primary-down: color-mix(in oklch, var(--luzmo-primary), black 20%);--luzmo-primary-focus: color-mix(in oklch, var(--luzmo-primary), black 8%);--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-secondary: #ff00ff;--luzmo-secondary-hover: color-mix(in oklch, var(--luzmo-secondary), black 8%);--luzmo-secondary-down: color-mix(in oklch, var(--luzmo-secondary), black 20%);--luzmo-secondary-focus: color-mix(in oklch, var(--luzmo-secondary), black 8%);--luzmo-secondary-inverse-color: #ffffff;--luzmo-secondary-rgb: 255, 0, 255;--luzmo-secondary-outline: rgba(255, 0, 255, 0.2);--luzmo-negative-color: #ca221c;--luzmo-negative-color-hover: color-mix(in oklch, var(--luzmo-negative-color), black 8%);--luzmo-negative-color-down: color-mix(in oklch, var(--luzmo-negative-color), black 20%);--luzmo-negative-color-focus: color-mix(in oklch, var(--luzmo-negative-color), black 8%);--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-positive-color: rgb(20, 150, 101);--luzmo-positive-color-hover: color-mix(in oklch, var(--luzmo-positive-color), black 8%);--luzmo-positive-color-down: color-mix(in oklch, var(--luzmo-positive-color), black 20%);--luzmo-positive-color-focus: color-mix(in oklch, var(--luzmo-positive-color), black 8%);--luzmo-positive-color-rgb: 20, 150, 101;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: color-mix(in oklch, var(--luzmo-selected-color), black 25%);--luzmo-selected-color-down: color-mix(in oklch, var(--luzmo-selected-color), black 45%);--luzmo-selected-color-focus: color-mix(in oklch, var(--luzmo-selected-color), black 25%);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: color-mix(in oklch, var(--luzmo-selected-color-hard), black 25%);--luzmo-selected-color-hard-down: color-mix(in oklch, var(--luzmo-selected-color-hard), black 45%);--luzmo-selected-color-hard-focus: color-mix(in oklch, var(--luzmo-selected-color-hard), black 25%);--luzmo-color-informative: #1a77e9;--luzmo-color-informative-rgb: 26, 119, 233;--luzmo-color-disabled: #aaaaaa;--luzmo-spacing-1: 2px;--luzmo-spacing-2: 4px;--luzmo-spacing-3: 8px;--luzmo-spacing-4: 12px;--luzmo-spacing-5: 16px;--luzmo-indicator-gap: 2px;--luzmo-indicator-width: 1px;--luzmo-indicator-color: var(--luzmo-primary);--luzmo-component-height-xxs: 20px;--luzmo-component-height-xs: 24px;--luzmo-component-height-s: 28px;--luzmo-component-height: 32px;--luzmo-component-height-l: 40px;--luzmo-component-height-xl: 48px;--luzmo-component-height-xxl: 64px;--luzmo-icon-size-xxs: 12px;--luzmo-icon-size-xs: 14px;--luzmo-icon-size-s: 16px;--luzmo-icon-size-m: 18px;--luzmo-icon-size-l: 20px;--luzmo-icon-size-xl: 22px;--luzmo-icon-size-xxl: 32px}", document.head.appendChild(e);
|
|
25
25
|
}
|
|
26
26
|
})();
|
|
27
|
-
import { t as e } from "../formula-
|
|
27
|
+
import { t as e } from "../formula-BYx4gH6i.js";
|
|
28
28
|
export { e as LuzmoFormula };
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
import { t as e } from "./decorate-DyMgX_Uh.js";
|
|
21
21
|
import { t } from "./calculate-data-field-icon-DrSg1PuD.js";
|
|
22
22
|
import { t as n } from "./localize-BT7REYBY.js";
|
|
23
|
-
import { f as r, g as i, h as a, o, t as s } from "./formula-display-store-
|
|
24
|
-
import { n as c } from "./groupings-
|
|
23
|
+
import { f as r, g as i, h as a, o, t as s } from "./formula-display-store-BPn9m5TL.js";
|
|
24
|
+
import { n as c } from "./groupings-BtmmUlPK.js";
|
|
25
25
|
import { t as l } from "./resolve-column-presentation-BaEP1mvs.js";
|
|
26
26
|
import { luzmoIcon as u } from "@luzmo/icons";
|
|
27
27
|
import "@luzmo/lucero/icon";
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
|
-
const e=require("./decorate-DCJt-2rt.cjs"),t=require("./calculate-data-field-icon-DenGmW74.cjs"),n=require("./localize-D3i4Epy_.cjs"),r=require("./formula-display-store-
|
|
20
|
+
const e=require("./decorate-DCJt-2rt.cjs"),t=require("./calculate-data-field-icon-DenGmW74.cjs"),n=require("./localize-D3i4Epy_.cjs"),r=require("./formula-display-store-DER7C0GG.cjs"),i=require("./groupings-Bn9384Zw.cjs"),a=require("./resolve-column-presentation-DUETRVCH.cjs");let o=require("@luzmo/icons");require("@luzmo/lucero/icon");let s=require("lit"),c=require("lit/decorators.js"),l=require("@lit/localize");require("@luzmo/lucero/progress-circle");var u=`:host{box-sizing:border-box;font-family:var(--luzmo-font-family);color:var(--luzmo-font-color);display:inline-block}.formula-text{font-size:var(--luzmo-formula-font-size,var(--luzmo-font-size));white-space:pre-wrap;word-break:break-word;line-height:1.5}.formula-text-column{white-space:nowrap}.formula-text-column-icon{margin-inline-end:var(--luzmo-spacing-1)}.formula-pills{align-items:center;gap:var(--luzmo-spacing-1) 0;font-size:var(--luzmo-formula-font-size,var(--luzmo-font-size));flex-wrap:wrap;line-height:1.5;display:inline-flex}.formula-operator{white-space:pre-wrap}.column-pill-wrapper{vertical-align:middle;padding-inline-end:var(--luzmo-formula-column-pill-trailing-space,var(--luzmo-spacing-1));display:inline-flex}.column-pill{justify-content:center;align-items:center;gap:var(--luzmo-spacing-2);box-sizing:border-box;max-width:16rem;min-height:var(--luzmo-formula-control-height,1.375rem);padding:0 var(--luzmo-formula-column-pill-padding-inline,calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1)));border-radius:var(--luzmo-border-radius-s);background-color:var(--luzmo-formula-column-pill-background,var(--luzmo-background-color-highlight));color:var(--luzmo-font-color);white-space:nowrap;font-size:.85em;line-height:1.2;display:inline-flex}.column-pill-icon{flex:none;display:inline-flex}.column-pill-label{text-overflow:ellipsis;overflow:hidden}.column-pill-loading{--luzmo-progress-circle-size:1em;align-items:center;display:inline-flex}.agg-pill{padding-block:var(--luzmo-spacing-1);border-radius:var(--luzmo-border-radius);background-color:var(--agg-accent,var(--luzmo-primary));color:var(--luzmo-primary-inverse-color);font-size:var(--luzmo-formula-font-size,var(--luzmo-font-size));vertical-align:middle;padding-inline:0;display:inline-flex}.agg-pill-row{align-items:center;gap:var(--luzmo-spacing-1);min-height:var(--luzmo-formula-control-height,1.375rem);display:inline-flex}.agg-fn{text-transform:uppercase;padding-inline-start:var(--luzmo-spacing-3);padding-inline-end:var(--luzmo-spacing-3);font-size:.85em}.agg-value{min-height:var(--luzmo-formula-control-height,1.375rem);padding:0 var(--luzmo-spacing-2);border-radius:var(--luzmo-border-radius-s);background-color:var(--luzmo-background-color);color:var(--luzmo-font-color);--luzmo-formula-column-pill-background:transparent;--luzmo-formula-column-pill-padding-inline:0px;align-items:center;line-height:1;display:inline-flex}.agg-grouping{align-items:center;gap:var(--luzmo-spacing-1);padding-inline:var(--luzmo-spacing-2) var(--luzmo-spacing-3);font-size:var(--luzmo-formula-grouping-icon-size,var(--luzmo-icon-size-m));display:inline-flex}.agg-grouping--no-value{padding-inline-start:0}.agg-grouping-count{border-radius:var(--luzmo-border-radius-full,999rem);background:var(--luzmo-primary-inverse-color);min-width:1.25em;color:var(--agg-accent,var(--luzmo-primary));font-size:.6875rem;font-weight:var(--luzmo-font-weight-bold);justify-content:center;align-items:center;padding:0 .25em;line-height:1.4;display:inline-flex}:host{--luzmo-formula-font-size:var(--luzmo-font-size);--luzmo-formula-grouping-icon-size:var(--luzmo-icon-size-m);--luzmo-formula-control-height:calc(var(--luzmo-component-height) - 2 * var(--luzmo-spacing-1))}:host([size=s]){--luzmo-formula-font-size:var(--luzmo-font-size-s);--luzmo-formula-grouping-icon-size:var(--luzmo-icon-size-s);--luzmo-formula-control-height:calc(var(--luzmo-component-height-s) - 2 * var(--luzmo-spacing-1))}:host([size=l]){--luzmo-formula-font-size:var(--luzmo-font-size-l);--luzmo-formula-grouping-icon-size:var(--luzmo-icon-size-l);--luzmo-formula-control-height:calc(var(--luzmo-component-height-l) - 2 * var(--luzmo-spacing-1))}:host([size=xl]){--luzmo-formula-font-size:var(--luzmo-font-size-xl);--luzmo-formula-grouping-icon-size:var(--luzmo-icon-size-xl);--luzmo-formula-control-height:calc(var(--luzmo-component-height-xl) - 2 * var(--luzmo-spacing-1))}`,d=class extends r.o{constructor(...e){super(...e),this.display=`rich`,this._groupingDataMap=i.n()}static{this.styles=(0,s.unsafeCSS)(u)}_createStore(){return new r.t}_shouldLoadInput(){return!1}_canEmitExpression(){return!1}_applyExternalExpression(){if(this.display===`text`){this._rootContent=``;return}this._store.clearWidgets(),this._rootContent=this._store.transformToAggregationWidgetSyntax(this.expression??``)}willUpdate(e){super.willUpdate(e),e.has(`display`)&&!e.has(`expression`)&&this._applyExternalExpression()}render(){return this.display===`text`?this._renderTextFormula():this._renderPillFormula()}_renderPillFormula(){return s.html`<span class="formula-pills" part="formula">${this._renderPillNodes(this._rootContent)}</span>`}_renderPillNodes(e){let t=[],n=new RegExp(r.h.source,`gm`),i=0,a;for(;(a=n.exec(e))!==null;){a.index>i&&t.push(this._renderOperatorText(e.slice(i,a.index)));let r=a[2],o=a[3];r?t.push(this._renderColumnPill(r)):o&&t.push(this._renderAggregationPill(o)),i=n.lastIndex}return i<e.length&&t.push(this._renderOperatorText(e.slice(i))),t}_renderOperatorText(e){return s.html`<span class="formula-operator">${e}</span>`}_renderColumnPill(e){let[t,n]=e.split(`:`),r=this._datasets.find(e=>e.id===t)?.columns.find(e=>e.columnId===n);if(this._store.loading&&!r){let e=(0,l.msg)(`Loading column`,{desc:`Accessible label for a column pill whose label is still loading`});return s.html`<span class="column-pill-wrapper"
|
|
21
21
|
><span class="column-pill" title=${e}
|
|
22
22
|
><span class="column-pill-loading">
|
|
23
23
|
<luzmo-progress-circle indeterminate size="s" .label=${e}></luzmo-progress-circle></span
|
|
@@ -18,13 +18,13 @@
|
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
20
|
import { n as e } from "./pragmatic-element-adapter-C_7HSvGV.js";
|
|
21
|
-
import { i as t } from "./base-
|
|
21
|
+
import { i as t } from "./base-DSeXdW9S.js";
|
|
22
22
|
import { t as n } from "./decorate-DyMgX_Uh.js";
|
|
23
|
-
import { t as r } from "./localized-mixin-
|
|
23
|
+
import { t as r } from "./localized-mixin-DBUkUh0o.js";
|
|
24
24
|
import { t as i } from "./calculate-data-field-icon-DrSg1PuD.js";
|
|
25
25
|
import { t as a } from "./localize-BT7REYBY.js";
|
|
26
|
-
import { a as o, c as s, g as c, h as l, i as u, m as d, s as f } from "./formula-display-store-
|
|
27
|
-
import { n as p, t as m } from "./groupings-
|
|
26
|
+
import { a as o, c as s, g as c, h as l, i as u, m as d, s as f } from "./formula-display-store-BPn9m5TL.js";
|
|
27
|
+
import { n as p, t as m } from "./groupings-BtmmUlPK.js";
|
|
28
28
|
import { t as h } from "./resolve-column-presentation-BaEP1mvs.js";
|
|
29
29
|
import { i as g, r as _, t as v } from "./icon-element-_jY440X2.js";
|
|
30
30
|
import { luzmoAngleDown as y, luzmoAngleLeft as ee, luzmoArrowDown as b, luzmoArrowUp as te, luzmoClose as ne, luzmoIcon as x, luzmoScopeFixed as re } from "@luzmo/icons";
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
|
-
const e=require("./base-
|
|
20
|
+
const e=require("./base-D6QPZnpu.cjs"),t=require("./decorate-DCJt-2rt.cjs"),n=require("./localized-mixin-CtNoCjjI.cjs"),r=require("./calculate-data-field-icon-DenGmW74.cjs"),i=require("./localize-D3i4Epy_.cjs"),a=require("./formula-display-store-DER7C0GG.cjs"),o=require("./groupings-Bn9384Zw.cjs"),s=require("./resolve-column-presentation-DUETRVCH.cjs"),c=require("./pragmatic-element-adapter-DPWYJiW9.cjs"),l=require("./icon-element-DpN-9yaN.cjs");let u=require("@luzmo/icons");require("@luzmo/lucero/icon"),require("@luzmo/lucero/overlay"),require("@luzmo/lucero/popover");let d=require("lit"),f=require("lit/decorators.js"),p=require("@lit/localize");require("@luzmo/lucero/action-button"),require("@luzmo/lucero/select"),require("@luzmo/lucero/tooltip"),require("@luzmo/lucero/field-label"),require("@luzmo/lucero/progress-circle");var m=[],h=[];(()=>{let e=`lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o`.split(`,`).map(e=>e?parseInt(e,36):1);for(let t=0,n=0;t<e.length;t++)(t%2?h:m).push(n+=e[t])})();function g(e){if(e<768)return!1;for(let t=0,n=m.length;;){let r=t+n>>1;if(e<m[r])n=r;else if(e>=h[r])t=r+1;else return!0;if(t==n)return!1}}function _(e){return e>=127462&&e<=127487}var v=8205;function y(e,t,n=!0,r=!0){return(n?ee:b)(e,t,r)}function ee(e,t,n){if(t==e.length)return t;t&&te(e.charCodeAt(t))&&ne(e.charCodeAt(t-1))&&t--;let r=x(e,t);for(t+=re(r);t<e.length;){let i=x(e,t);if(r==v||i==v||n&&g(i))t+=re(i),r=i;else if(_(i)){let n=0,r=t-2;for(;r>=0&&_(x(e,r));)n++,r-=2;if(n%2==0)break;t+=2}else break}return t}function b(e,t,n){for(;t>1;){let r=ee(e,t-2,n);if(r<t)return r;t--}return 0}function x(e,t){let n=e.charCodeAt(t);if(!ne(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return te(r)?(n-55296<<10)+(r-56320)+65536:n}function te(e){return e>=56320&&e<57344}function ne(e){return e>=55296&&e<56320}function re(e){return e<65536?1:2}var S=class e{lineAt(e){if(e<0||e>this.length)throw RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=fe(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),ie.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=fe(this,e,t);let n=[];return this.decompose(e,t,n,0),ie.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new ce(this),i=new ce(e);for(let e=t,a=t;;){if(r.next(e),i.next(e),e=0,r.lineBreak!=i.lineBreak||r.done!=i.done||r.value!=i.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new ce(this,e)}iterRange(e,t=this.length){return new le(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t??=this.lines+1;let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new ue(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(t){if(t.length==0)throw RangeError(`A document must have at least one line`);return t.length==1&&!t[0]?e.empty:t.length<=32?new C(t):ie.from(C.split(t,[]))}},C=class e extends S{constructor(e,t=ae(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.text[i],o=r+a.length;if((t?n:o)>=e)return new de(r,o,n,a);r=o+1,n++}}decompose(t,n,r,i){let a=t<=0&&n>=this.length?this:new e(se(this.text,t,n),Math.min(n,this.length)-Math.max(0,t));if(i&1){let t=r.pop(),n=oe(a.text,t.text.slice(),0,a.length);if(n.length<=32)r.push(new e(n,t.length+a.length));else{let t=n.length>>1;r.push(new e(n.slice(0,t)),new e(n.slice(t)))}}else r.push(a)}replace(t,n,r){if(!(r instanceof e))return super.replace(t,n,r);[t,n]=fe(this,t,n);let i=oe(this.text,oe(r.text,se(this.text,0,t)),n),a=this.length+r.length-(n-t);return i.length<=32?new e(i,a):ie.from(e.split(i,[]),a)}sliceString(e,t=this.length,n=`
|
|
21
21
|
`){[e,t]=fe(this,e,t);let r=``;for(let i=0,a=0;i<=t&&a<this.text.length;a++){let o=this.text[a],s=i+o.length;i>e&&a&&(r+=n),e<s&&t>i&&(r+=o.slice(Math.max(0,e-i),t-i)),i=s+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(t,n){let r=[],i=-1;for(let a of t)r.push(a),i+=a.length+1,r.length==32&&(n.push(new e(r,i)),r=[],i=-1);return i>-1&&n.push(new e(r,i)),n}},ie=class e extends S{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.children[i],o=r+a.length,s=n+a.lines-1;if((t?s:o)>=e)return a.lineInner(e,t,n,r);r=o+1,n=s+1}}decompose(e,t,n,r){for(let i=0,a=0;a<=t&&i<this.children.length;i++){let o=this.children[i],s=a+o.length;if(e<=s&&t>=a){let i=r&(a<=e|(s>=t?2:0));a>=e&&s<=t&&!i?n.push(o):o.decompose(e-a,t-a,n,i)}a=s+1}}replace(t,n,r){if([t,n]=fe(this,t,n),r.lines<this.lines)for(let i=0,a=0;i<this.children.length;i++){let o=this.children[i],s=a+o.length;if(t>=a&&n<=s){let c=o.replace(t-a,n-a,r),l=this.lines-o.lines+c.lines;if(c.lines<l>>4&&c.lines>l>>6){let a=this.children.slice();return a[i]=c,new e(a,this.length-(n-t)+r.length)}return super.replace(a,s,c)}a=s+1}return super.replace(t,n,r)}sliceString(e,t=this.length,n=`
|
|
22
22
|
`){[e,t]=fe(this,e,t);let r=``;for(let i=0,a=0;i<this.children.length&&a<=t;i++){let o=this.children[i],s=a+o.length;a>e&&i&&(r+=n),e<s&&t>a&&(r+=o.sliceString(e-a,t-a,n)),a=s+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(t,n){if(!(t instanceof e))return 0;let r=0,[i,a,o,s]=n>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;i+=n,a+=n){if(i==o||a==s)return r;let e=this.children[i],c=t.children[a];if(e!=c)return r+e.scanIdentical(c,n);r+=e.length+1}}static from(t,n=t.reduce((e,t)=>e+t.length+1,-1)){let r=0;for(let e of t)r+=e.lines;if(r<32){let e=[];for(let n of t)n.flatten(e);return new C(e,n)}let i=Math.max(32,r>>5),a=i<<1,o=i>>1,s=[],c=0,l=-1,u=[];function d(t){let n;if(t.lines>a&&t instanceof e)for(let e of t.children)d(e);else t.lines>o&&(c>o||!c)?(f(),s.push(t)):t instanceof C&&c&&(n=u[u.length-1])instanceof C&&t.lines+n.lines<=32?(c+=t.lines,l+=t.length+1,u[u.length-1]=new C(n.text.concat(t.text),n.length+1+t.length)):(c+t.lines>i&&f(),c+=t.lines,l+=t.length+1,u.push(t))}function f(){c!=0&&(s.push(u.length==1?u[0]:e.from(u,l)),l=-1,c=u.length=0)}for(let e of t)d(e);return f(),s.length==1?s[0]:new e(s,n)}};S.empty=new C([``],0);function ae(e){let t=-1;for(let n of e)t+=n.length+1;return t}function oe(e,t,n=0,r=1e9){for(let i=0,a=0,o=!0;a<e.length&&i<=r;a++){let s=e[a],c=i+s.length;c>=n&&(c>r&&(s=s.slice(0,r-i)),i<n&&(s=s.slice(n-i)),o?(t[t.length-1]+=s,o=!1):t.push(s)),i=c+1}return t}function se(e,t,n){return oe(e,[``],t,n)}var ce=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value=``,this.nodes=[e],this.offsets=[t>0?1:(e instanceof C?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],i=this.offsets[n],a=i>>1,o=r instanceof C?r.text.length:r.children.length;if(a==(t>0?o:0)){if(n==0)return this.done=!0,this.value=``,this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((i&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=`
|
|
23
23
|
`,this;e--}else if(r instanceof C){let i=r.text[a+(t<0?-1:0)];if(this.offsets[n]+=t,i.length>Math.max(0,e))return this.value=e==0?i:t>0?i.slice(e):i.slice(0,i.length-e),this;e-=i.length}else{let i=r.children[a+(t<0?-1:0)];e>i.length?(e-=i.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(i),this.offsets.push(t>0?1:(i instanceof C?i.text.length:i.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},le=class{constructor(e,t,n){this.value=``,this.done=!1,this.cursor=new ce(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value=``,this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=``}},ue=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value=``,this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value=``,this.afterBreak=!1):t?(this.done=!0,this.value=``):n?this.afterBreak?this.value=``:(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<`u`&&(S.prototype[Symbol.iterator]=function(){return this.iter()},ce.prototype[Symbol.iterator]=le.prototype[Symbol.iterator]=ue.prototype[Symbol.iterator]=function(){return this});var de=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function fe(e,t,n){return t=Math.max(0,Math.min(e.length,t)),[t,Math.max(t,Math.min(e.length,n))]}function w(e,t,n=!0,r=!0){return y(e,t,n,r)}function pe(e){return e>=56320&&e<57344}function me(e){return e>=55296&&e<56320}function he(e,t){let n=e.charCodeAt(t);if(!me(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return pe(r)?(n-55296<<10)+(r-56320)+65536:n}function ge(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}function _e(e){return e<65536?1:2}var ve=/\r\n?|\n/,ye=(function(e){return e[e.Simple=0]=`Simple`,e[e.TrackDel=1]=`TrackDel`,e[e.TrackBefore=2]=`TrackBefore`,e[e.TrackAfter=3]=`TrackAfter`,e})(ye||={}),be=class e{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,r=0;t<this.sections.length;){let i=this.sections[t++],a=this.sections[t++];a<0?(e(n,r,i),r+=i):r+=a,n+=i}}iterChangedRanges(e,t=!1){Ce(this,e,t)}get invertedDesc(){let t=[];for(let e=0;e<this.sections.length;){let n=this.sections[e++],r=this.sections[e++];r<0?t.push(n,r):t.push(r,n)}return new e(t)}composeDesc(e){return this.empty?e:e.empty?this:Te(this,e)}mapDesc(e,t=!1){return e.empty?this:we(this,e,t)}mapPos(e,t=-1,n=ye.Simple){let r=0,i=0;for(let a=0;a<this.sections.length;){let o=this.sections[a++],s=this.sections[a++],c=r+o;if(s<0){if(c>e)return i+(e-r);i+=o}else{if(n!=ye.Simple&&c>=e&&(n==ye.TrackDel&&r<e&&c>e||n==ye.TrackBefore&&r<e||n==ye.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!o)return e==r||t<0?i:i+s;i+=s}r=c}if(e>r)throw RangeError(`Position ${e} is out of range for changeset of length ${r}`);return i}touchesRange(e,t=e){for(let n=0,r=0;n<this.sections.length&&r<=t;){let i=this.sections[n++],a=this.sections[n++],o=r+i;if(a>=0&&r<=t&&o>=e)return r<e&&o>t?`cover`:!0;r=o}return!1}toString(){let e=``;for(let t=0;t<this.sections.length;){let n=this.sections[t++],r=this.sections[t++];e+=(e?` `:``)+n+(r>=0?`:`+r:``)}return e}toJSON(){return this.sections}static fromJSON(t){if(!Array.isArray(t)||t.length%2||t.some(e=>typeof e!=`number`))throw RangeError(`Invalid JSON representation of ChangeDesc`);return new e(t)}static create(t){return new e(t)}},xe=class e extends be{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw RangeError(`Applying change set to a document with the wrong length`);return Ce(this,(t,n,r,i,a)=>e=e.replace(r,r+(n-t),a),!1),e}mapDesc(e,t=!1){return we(this,e,t,!0)}invert(t){let n=this.sections.slice(),r=[];for(let e=0,i=0;e<n.length;e+=2){let a=n[e],o=n[e+1];if(o>=0){n[e]=o,n[e+1]=a;let s=e>>1;for(;r.length<s;)r.push(S.empty);r.push(a?t.slice(i,i+a):S.empty)}i+=a}return new e(n,r)}compose(e){return this.empty?e:e.empty?this:Te(this,e,!0)}map(e,t=!1){return e.empty?this:we(this,e,t,!0)}iterChanges(e,t=!1){Ce(this,e,t)}get desc(){return be.create(this.sections)}filter(t){let n=[],r=[],i=[],a=new Ee(this);done:for(let e=0,o=0;;){let s=e==t.length?1e9:t[e++];for(;o<s||o==s&&a.len==0;){if(a.done)break done;let e=Math.min(a.len,s-o);T(i,e,-1);let t=a.ins==-1?-1:a.off==0?a.ins:0;T(n,e,t),t>0&&Se(r,n,a.text),a.forward(e),o+=e}let c=t[e++];for(;o<c;){if(a.done)break done;let e=Math.min(a.len,c-o);T(n,e,-1),T(i,e,a.ins==-1?-1:a.off==0?a.ins:0),a.forward(e),o+=e}}return{changes:new e(n,r),filtered:be.create(i)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t],r=this.sections[t+1];r<0?e.push(n):r==0?e.push([n]):e.push([n].concat(this.inserted[t>>1].toJSON()))}return e}static of(t,n,r){let i=[],a=[],o=0,s=null;function c(t=!1){if(!t&&!i.length)return;o<n&&T(i,n-o,-1);let r=new e(i,a);s=s?s.compose(r.map(s)):r,i=[],a=[],o=0}function l(t){if(Array.isArray(t))for(let e of t)l(e);else if(t instanceof e){if(t.length!=n)throw RangeError(`Mismatched change set length (got ${t.length}, expected ${n})`);c(),s=s?s.compose(t.map(s)):t}else{let{from:e,to:s=e,insert:l}=t;if(e>s||e<0||s>n)throw RangeError(`Invalid change range ${e} to ${s} (in doc of length ${n})`);let u=l?typeof l==`string`?S.of(l.split(r||ve)):l:S.empty,d=u.length;if(e==s&&d==0)return;e<o&&c(),e>o&&T(i,e-o,-1),T(i,s-e,d),Se(a,i,u),o=s}}return l(t),c(!s),s}static empty(t){return new e(t?[t,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw RangeError(`Invalid JSON representation of ChangeSet`);let n=[],r=[];for(let e=0;e<t.length;e++){let i=t[e];if(typeof i==`number`)n.push(i,-1);else if(!Array.isArray(i)||typeof i[0]!=`number`||i.some((e,t)=>t&&typeof e!=`string`))throw RangeError(`Invalid JSON representation of ChangeSet`);else if(i.length==1)n.push(i[0],0);else{for(;r.length<e;)r.push(S.empty);r[e]=S.of(i.slice(1)),n.push(i[0],r[e].length)}}return new e(n,r)}static createSet(t,n){return new e(t,n)}};function T(e,t,n,r=!1){if(t==0&&n<=0)return;let i=e.length-2;i>=0&&n<=0&&n==e[i+1]?e[i]+=t:i>=0&&t==0&&e[i]==0?e[i+1]+=n:r?(e[i]+=t,e[i+1]+=n):e.push(t,n)}function Se(e,t,n){if(n.length==0)return;let r=t.length-2>>1;if(r<e.length)e[e.length-1]=e[e.length-1].append(n);else{for(;e.length<r;)e.push(S.empty);e.push(n)}}function Ce(e,t,n){let r=e.inserted;for(let i=0,a=0,o=0;o<e.sections.length;){let s=e.sections[o++],c=e.sections[o++];if(c<0)i+=s,a+=s;else{let l=i,u=a,d=S.empty;for(;l+=s,u+=c,c&&r&&(d=d.append(r[o-2>>1])),!(n||o==e.sections.length||e.sections[o+1]<0);)s=e.sections[o++],c=e.sections[o++];t(i,l,a,u,d),i=l,a=u}}}function we(e,t,n,r=!1){let i=[],a=r?[]:null,o=new Ee(e),s=new Ee(t);for(let e=-1;;)if(o.done&&s.len||s.done&&o.len)throw Error(`Mismatched change set lengths`);else if(o.ins==-1&&s.ins==-1){let e=Math.min(o.len,s.len);T(i,e,-1),o.forward(e),s.forward(e)}else if(s.ins>=0&&(o.ins<0||e==o.i||o.off==0&&(s.len<o.len||s.len==o.len&&!n))){let t=s.len;for(T(i,s.ins,-1);t;){let n=Math.min(o.len,t);o.ins>=0&&e<o.i&&o.len<=n&&(T(i,0,o.ins),a&&Se(a,i,o.text),e=o.i),o.forward(n),t-=n}s.next()}else if(o.ins>=0){let t=0,n=o.len;for(;n;)if(s.ins==-1){let e=Math.min(n,s.len);t+=e,n-=e,s.forward(e)}else if(s.ins==0&&s.len<n)n-=s.len,s.next();else break;T(i,t,e<o.i?o.ins:0),a&&e<o.i&&Se(a,i,o.text),e=o.i,o.forward(o.len-n)}else if(o.done&&s.done)return a?xe.createSet(i,a):be.create(i);else throw Error(`Mismatched change set lengths`)}function Te(e,t,n=!1){let r=[],i=n?[]:null,a=new Ee(e),o=new Ee(t);for(let e=!1;;)if(a.done&&o.done)return i?xe.createSet(r,i):be.create(r);else if(a.ins==0)T(r,a.len,0,e),a.next();else if(o.len==0&&!o.done)T(r,0,o.ins,e),i&&Se(i,r,o.text),o.next();else if(a.done||o.done)throw Error(`Mismatched change set lengths`);else{let t=Math.min(a.len2,o.len),n=r.length;if(a.ins==-1){let n=o.ins==-1?-1:o.off?0:o.ins;T(r,t,n,e),i&&n&&Se(i,r,o.text)}else o.ins==-1?(T(r,a.off?0:a.len,t,e),i&&Se(i,r,a.textBit(t))):(T(r,a.off?0:a.len,o.off?0:o.ins,e),i&&!o.off&&Se(i,r,o.text));e=(a.ins>t||o.ins>=0&&o.len>t)&&(e||r.length>n),a.forward2(t),o.forward(t)}}var Ee=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?S.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?S.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},De=class e{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(t,n=-1){let r,i;return this.empty?r=i=t.mapPos(this.from,n):(r=t.mapPos(this.from,1),i=t.mapPos(this.to,-1)),r==this.from&&i==this.to?this:new e(r,i,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return E.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return E.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!=`number`||typeof e.head!=`number`)throw RangeError(`Invalid JSON representation for SelectionRange`);return E.range(e.anchor,e.head)}static create(t,n,r,i){return new e(t,n,r,i)}},E=class e{constructor(e,t){this.ranges=e,this.mainIndex=t}map(t,n=-1){return t.empty?this:e.create(this.ranges.map(e=>e.map(t,n)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;n<this.ranges.length;n++)if(!this.ranges[n].eq(e.ranges[n],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new e([this.main],0)}addRange(t,n=!0){return e.create([t].concat(this.ranges),n?0:this.mainIndex+1)}replaceRange(t,n=this.mainIndex){let r=this.ranges.slice();return r[n]=t,e.create(r,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||typeof t.main!=`number`||t.main>=t.ranges.length)throw RangeError(`Invalid JSON representation for EditorSelection`);return new e(t.ranges.map(e=>De.fromJSON(e)),t.main)}static single(t,n=t){return new e([e.range(t,n)],0)}static create(t,n=0){if(t.length==0)throw RangeError(`A selection needs at least one range`);for(let r=0,i=0;i<t.length;i++){let a=t[i];if(a.empty?a.from<=r:a.from<r)return e.normalized(t.slice(),n);r=a.to}return new e(t,n)}static cursor(e,t=0,n,r){return De.create(e,e,(t==0?0:t<0?8:16)|(n==null?7:Math.min(6,n)),r)}static range(e,t,n,r,i){let a=r==null?7:Math.min(6,r);return!i&&e!=t&&(i=t<e?1:-1),i&&(a|=i<0?8:16),t<e?De.create(t,e,a|32,n):De.create(e,t,a,n)}static undirectionalRange(e,t){return De.create(e,t,64,void 0)}static normalized(t,n=0){let r=t[n];t.sort((e,t)=>e.from-t.from),n=t.indexOf(r);for(let r=1;r<t.length;r++){let i=t[r],a=t[r-1];if(i.empty?i.from<=a.to:i.from<a.to){let o=a.from,s=Math.max(i.to,a.to);r<=n&&n--,t.splice(--r,2,i.anchor>i.head?e.range(s,o):e.range(o,s))}}return new e(t,n)}};function Oe(e,t){for(let n of e.ranges)if(n.to>t)throw RangeError(`Selection points outside of document`)}var ke=0,D=class e{constructor(e,t,n,r,i){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=ke++,this.default=e([]),this.extensions=typeof i==`function`?i(this):i}get reader(){return this}static define(t={}){return new e(t.combine||(e=>e),t.compareInput||((e,t)=>e===t),t.compare||(t.combine?(e,t)=>e===t:Ae),!!t.static,t.enables)}of(e){return new je([],this,0,e)}compute(e,t){if(this.isStatic)throw Error(`Can't compute a static facet`);return new je(e,this,1,t)}computeN(e,t){if(this.isStatic)throw Error(`Can't compute a static facet`);return new je(e,this,2,t)}from(e,t){return t||=e=>e,this.compute([e],n=>t(n.field(e)))}};function Ae(e,t){return e==t||e.length==t.length&&e.every((e,n)=>e===t[n])}var je=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=ke++}dynamicSlot(e){let t=this.value,n=this.facet.compareInput,r=this.id,i=e[r]>>1,a=this.type==2,o=!1,s=!1,c=[];for(let t of this.dependencies)t==`doc`?o=!0:t==`selection`?s=!0:(e[t.id]??1)&1||c.push(e[t.id]);return{create(e){return e.values[i]=t(e),1},update(e,r){if(o&&r.docChanged||s&&(r.docChanged||r.selection)||Ne(e,c)){let r=t(e);if(a?!Me(r,e.values[i],n):!n(r,e.values[i]))return e.values[i]=r,1}return 0},reconfigure:(e,o)=>{let s,c=o.config.address[r];if(c!=null){let r=Ke(o,c);if(this.dependencies.every(t=>t instanceof D?o.facet(t)===e.facet(t):t instanceof Ie?o.field(t,!1)==e.field(t,!1):!0)||(a?Me(s=t(e),r,n):n(s=t(e),r)))return e.values[i]=r,0}else s=t(e);return e.values[i]=s,1}}}get extension(){return this}};function Me(e,t,n){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))return!1;return!0}function Ne(e,t){let n=!1;for(let r of t)Ge(e,r)&1&&(n=!0);return n}function Pe(e,t,n){let r=n.map(t=>e[t.id]),i=n.map(e=>e.type),a=r.filter(e=>!(e&1)),o=e[t.id]>>1;function s(e){let n=[];for(let t=0;t<r.length;t++){let a=Ke(e,r[t]);if(i[t]==2)for(let e of a)n.push(e);else n.push(a)}return t.combine(n)}return{create(e){for(let t of r)Ge(e,t);return e.values[o]=s(e),1},update(e,n){if(!Ne(e,a))return 0;let r=s(e);return t.compare(r,e.values[o])?0:(e.values[o]=r,1)},reconfigure(e,i){let a=Ne(e,r),c=i.config.facets[t.id],l=i.facet(t);if(c&&!a&&Ae(n,c))return e.values[o]=l,0;let u=s(e);return t.compare(u,l)?(e.values[o]=l,0):(e.values[o]=u,1)}}}var Fe=D.define({static:!0}),Ie=class e{constructor(e,t,n,r,i){this.id=e,this.createF=t,this.updateF=n,this.compareF=r,this.spec=i,this.provides=void 0}static define(t){let n=new e(ke++,t.create,t.update,t.compare||((e,t)=>e===t),t);return t.provide&&(n.provides=t.provide(n)),n}create(e){return(e.facet(Fe).find(e=>e.field==this)?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,n)=>{let r=e.values[t],i=this.updateF(r,n);return this.compareF(r,i)?0:(e.values[t]=i,1)},reconfigure:(e,n)=>{let r=e.facet(Fe),i=n.facet(Fe),a;return(a=r.find(e=>e.field==this))&&a!=i.find(e=>e.field==this)?(e.values[t]=a.create(e),1):n.config.address[this.id]==null?(e.values[t]=this.create(e),1):(e.values[t]=n.field(this),0)}}}init(e){return[this,Fe.of({field:this,create:e})]}get extension(){return this}},Le={lowest:4,low:3,default:2,high:1,highest:0};function Re(e){return t=>new Be(t,e)}var ze={highest:Re(Le.highest),high:Re(Le.high),default:Re(Le.default),low:Re(Le.low),lowest:Re(Le.lowest)},Be=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Ve=class e{of(e){return new He(this,e)}reconfigure(t){return e.reconfigure.of({compartment:this,extension:t})}get(e){return e.config.compartments.get(this)}},He=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Ue=class e{constructor(e,t,n,r,i,a){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=i,this.facets=a,this.statusTemplate=[];this.statusTemplate.length<n.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(t,n,r){let i=[],a=Object.create(null),o=new Map;for(let e of We(t,n,o))e instanceof Ie?i.push(e):(a[e.facet.id]||(a[e.facet.id]=[])).push(e);let s=Object.create(null),c=[],l=[];for(let e of i)s[e.id]=l.length<<1,l.push(t=>e.slot(t));let u=r?.config.facets;for(let e in a){let t=a[e],n=t[0].facet,i=u&&u[e]||[];if(t.every(e=>e.type==0))if(s[n.id]=c.length<<1|1,Ae(i,t))c.push(r.facet(n));else{let e=n.combine(t.map(e=>e.value));c.push(r&&n.compare(e,r.facet(n))?r.facet(n):e)}else{for(let e of t)e.type==0?(s[e.id]=c.length<<1|1,c.push(e.value)):(s[e.id]=l.length<<1,l.push(t=>e.dynamicSlot(t)));s[n.id]=l.length<<1,l.push(e=>Pe(e,n,t))}}let d=l.map(e=>e(s));return new e(t,o,d,s,c,a)}};function We(e,t,n){let r=[[],[],[],[],[]],i=new Map;function a(e,o){let s=i.get(e);if(s!=null){if(s<=o)return;let t=r[s].indexOf(e);t>-1&&r[s].splice(t,1),e instanceof He&&n.delete(e.compartment)}if(i.set(e,o),Array.isArray(e))for(let t of e)a(t,o);else if(e instanceof He){if(n.has(e.compartment))throw RangeError(`Duplicate use of compartment in extensions`);let r=t.get(e.compartment)||e.inner;n.set(e.compartment,r),a(r,o)}else if(e instanceof Be)a(e.inner,e.prec);else if(e instanceof Ie)r[o].push(e),e.provides&&a(e.provides,o);else if(e instanceof je)r[o].push(e),e.facet.extensions&&a(e.facet.extensions,Le.default);else{let t=e.extension;if(!t)throw Error(`Unrecognized extension value in extension set (${e}).`);if(t==e)throw Error(`Unrecognized extension value in extension set (${e}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);a(t,o)}}return a(e,Le.default),r.reduce((e,t)=>e.concat(t))}function Ge(e,t){if(t&1)return 2;let n=t>>1,r=e.status[n];if(r==4)throw Error(`Cyclic dependency between fields and/or facets`);if(r&2)return r;e.status[n]=4;let i=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|i}function Ke(e,t){return t&1?e.config.staticValues[t>>1]:e.values[t>>1]}var qe=D.define(),Je=D.define({combine:e=>e.some(e=>e),static:!0}),Ye=D.define({combine:e=>e.length?e[0]:void 0,static:!0}),Xe=D.define(),Ze=D.define(),Qe=D.define(),$e=D.define({combine:e=>e.length?e[0]:!1}),et=class{constructor(e,t){this.type=e,this.value=t}static define(){return new tt}},tt=class{of(e){return new et(this,e)}},nt=class{constructor(e){this.map=e}of(e){return new O(this,e)}},O=class e{constructor(e,t){this.type=e,this.value=t}map(t){let n=this.type.map(this.value,t);return n===void 0?void 0:n==this.value?this:new e(this.type,n)}is(e){return this.type==e}static define(e={}){return new nt(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let e=r.map(t);e&&n.push(e)}return n}};O.reconfigure=O.define(),O.appendConfig=O.define();var k=class e{constructor(t,n,r,i,a,o){this.startState=t,this.changes=n,this.selection=r,this.effects=i,this.annotations=a,this.scrollIntoView=o,this._doc=null,this._state=null,r&&Oe(r,n.newLength),a.some(t=>t.type==e.time)||(this.annotations=a.concat(e.time.of(Date.now())))}static create(t,n,r,i,a,o){return new e(t,n,r,i,a,o)}get newDoc(){return this._doc||=this.changes.apply(this.startState.doc)}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(t){let n=this.annotation(e.userEvent);return!!(n&&(n==t||n.length>t.length&&n.slice(0,t.length)==t&&n[t.length]==`.`))}};k.time=et.define(),k.userEvent=et.define(),k.addToHistory=et.define(),k.remote=et.define();function rt(e,t){let n=[];for(let r=0,i=0;;){let a,o;if(r<e.length&&(i==t.length||t[i]>=e[r]))a=e[r++],o=e[r++];else if(i<t.length)a=t[i++],o=t[i++];else return n;!n.length||n[n.length-1]<a?n.push(a,o):n[n.length-1]<o&&(n[n.length-1]=o)}}function it(e,t,n){let r,i,a;return n?(r=t.changes,i=xe.empty(t.changes.length),a=e.changes.compose(t.changes)):(r=t.changes.map(e.changes),i=e.changes.mapDesc(t.changes,!0),a=e.changes.compose(r)),{changes:a,selection:t.selection?t.selection.map(i):e.selection?.map(r),effects:O.mapEffects(e.effects,r).concat(O.mapEffects(t.effects,i)),annotations:e.annotations.length?e.annotations.concat(t.annotations):t.annotations,scrollIntoView:e.scrollIntoView||t.scrollIntoView}}function at(e,t,n){let r=t.selection,i=ut(t.annotations);return t.userEvent&&(i=i.concat(k.userEvent.of(t.userEvent))),{changes:t.changes instanceof xe?t.changes:xe.of(t.changes||[],n,e.facet(Ye)),selection:r&&(r instanceof E?r:E.single(r.anchor,r.head)),effects:ut(t.effects),annotations:i,scrollIntoView:!!t.scrollIntoView}}function ot(e,t,n){let r=at(e,t.length?t[0]:{},e.doc.length);t.length&&t[0].filter===!1&&(n=!1);for(let i=1;i<t.length;i++){t[i].filter===!1&&(n=!1);let a=!!t[i].sequential;r=it(r,at(e,t[i],a?r.changes.newLength:e.doc.length),a)}let i=k.create(e,r.changes,r.selection,r.effects,r.annotations,r.scrollIntoView);return ct(n?st(i):i)}function st(e){let t=e.startState,n=!0;for(let r of t.facet(Xe)){let t=r(e);if(t===!1){n=!1;break}Array.isArray(t)&&(n=n===!0?t:rt(n,t))}if(n!==!0){let r,i;if(n===!1)i=e.changes.invertedDesc,r=xe.empty(t.doc.length);else{let t=e.changes.filter(n);r=t.changes,i=t.filtered.mapDesc(t.changes).invertedDesc}e=k.create(t,r,e.selection&&e.selection.map(i),O.mapEffects(e.effects,i),e.annotations,e.scrollIntoView)}let r=t.facet(Ze);for(let n=r.length-1;n>=0;n--){let i=r[n](e);e=i instanceof k?i:Array.isArray(i)&&i.length==1&&i[0]instanceof k?i[0]:ot(t,ut(i),!1)}return e}function ct(e){let t=e.startState,n=t.facet(Qe),r=e;for(let i=n.length-1;i>=0;i--){let a=n[i](e);a&&Object.keys(a).length&&(r=it(r,at(t,a,e.changes.newLength),!0))}return r==e?e:k.create(t,e.changes,e.selection,r.effects,r.annotations,r.scrollIntoView)}var lt=[];function ut(e){return e==null?lt:Array.isArray(e)?e:[e]}var dt=(function(e){return e[e.Word=0]=`Word`,e[e.Space=1]=`Space`,e[e.Other=2]=`Other`,e})(dt||={}),ft=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,pt;try{pt=RegExp(`[\\p{Alphabetic}\\p{Number}_]`,`u`)}catch{}function mt(e){if(pt)return pt.test(e);for(let t=0;t<e.length;t++){let n=e[t];if(/\w/.test(n)||n>``&&(n.toUpperCase()!=n.toLowerCase()||ft.test(n)))return!0}return!1}function ht(e){return t=>{if(!/\S/.test(t))return dt.Space;if(mt(t))return dt.Word;for(let n=0;n<e.length;n++)if(t.indexOf(e[n])>-1)return dt.Word;return dt.Other}}var A=class e{constructor(e,t,n,r,i,a){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=i,a&&(a._state=this);for(let e=0;e<this.config.dynamicSlots.length;e++)Ge(this,e<<1);this.computeSlot=null}field(e,t=!0){let n=this.config.address[e.id];if(n==null){if(t)throw RangeError(`Field is not present in this state`);return}return Ge(this,n),Ke(this,n)}update(...e){return ot(this,e,!0)}applyTransaction(t){let n=this.config,{base:r,compartments:i}=n;for(let e of t.effects)e.is(Ve.reconfigure)?(n&&=(i=new Map,n.compartments.forEach((e,t)=>i.set(t,e)),null),i.set(e.value.compartment,e.value.extension)):e.is(O.reconfigure)?(n=null,r=e.value):e.is(O.appendConfig)&&(n=null,r=ut(r).concat(e.value));let a;n?a=t.startState.values.slice():(n=Ue.resolve(r,i,this),a=new e(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values);let o=t.startState.facet(Je)?t.newSelection:t.newSelection.asSingle();new e(n,t.newDoc,o,a,(e,n)=>n.update(e,t),t)}replaceSelection(e){return typeof e==`string`&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:E.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),i=[n.range],a=ut(n.effects);for(let n=1;n<t.ranges.length;n++){let o=e(t.ranges[n]),s=this.changes(o.changes),c=s.map(r);for(let e=0;e<n;e++)i[e]=i[e].map(c);let l=r.mapDesc(s,!0);i.push(o.range.map(l)),r=r.compose(c),a=O.mapEffects(a,c).concat(O.mapEffects(ut(o.effects),l))}return{changes:r,selection:E.create(i,t.mainIndex),effects:a}}changes(t=[]){return t instanceof xe?t:xe.of(t,this.doc.length,this.facet(e.lineSeparator))}toText(t){return S.of(t.split(this.facet(e.lineSeparator)||ve))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(Ge(this,t),Ke(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let r=e[n];r instanceof Ie&&this.config.address[r.id]!=null&&(t[n]=r.spec.toJSON(this.field(e[n]),this))}return t}static fromJSON(t,n={},r){if(!t||typeof t.doc!=`string`)throw RangeError(`Invalid JSON representation for EditorState`);let i=[];if(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(t,e)){let n=r[e],a=t[e];i.push(n.init(e=>n.spec.fromJSON(a,e)))}}return e.create({doc:t.doc,selection:E.fromJSON(t.selection),extensions:n.extensions?i.concat([n.extensions]):i})}static create(t={}){let n=Ue.resolve(t.extensions||[],new Map),r=t.doc instanceof S?t.doc:S.of((t.doc||``).split(n.staticFacet(e.lineSeparator)||ve)),i=t.selection?t.selection instanceof E?t.selection:E.single(t.selection.anchor,t.selection.head):E.single(0);return Oe(i,r.length),n.staticFacet(Je)||(i=i.asSingle()),new e(n,r,i,n.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet(e.tabSize)}get lineBreak(){return this.facet(e.lineSeparator)||`
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
|
-
import { i as e, n as t } from "./base-
|
|
20
|
+
import { i as e, n as t } from "./base-DSeXdW9S.js";
|
|
21
21
|
import { t as n } from "./decorate-DyMgX_Uh.js";
|
|
22
|
-
import { t as r } from "./localized-mixin-
|
|
22
|
+
import { t as r } from "./localized-mixin-DBUkUh0o.js";
|
|
23
23
|
import { t as i } from "./load-data-fields-for-datasets-B3XcFFfg.js";
|
|
24
24
|
import { property as a, state as o } from "lit/decorators.js";
|
|
25
25
|
import { msg as s } from "@lit/localize";
|
|
@@ -126,7 +126,7 @@ function T(e) {
|
|
|
126
126
|
var E = !1, D;
|
|
127
127
|
async function O() {
|
|
128
128
|
if (!E) {
|
|
129
|
-
D ??= import("./formula-codemirror-
|
|
129
|
+
D ??= import("./formula-codemirror-CVzyYNLO.js");
|
|
130
130
|
try {
|
|
131
131
|
await D, E = !0;
|
|
132
132
|
} catch (e) {
|
package/components/{formula-display-store-B2DUrVwh.cjs → formula-display-store-DER7C0GG.cjs}
RENAMED
|
@@ -17,4 +17,4 @@
|
|
|
17
17
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
|
-
const e=require("./base-XtzYH7G4.cjs"),t=require("./decorate-DCJt-2rt.cjs"),n=require("./localized-mixin-DZFYG6RG.cjs"),r=require("./load-data-fields-for-datasets-rL24A68g.cjs");let i=require("lit/decorators.js"),a=require("@lit/localize");var o=function(e){return e.GROUP=``,e.GROUPFULL=`GROUPFULL`,e.GROUPINEX=`GROUPINEX`,e}({}),s=String.raw`[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}`,c=RegExp(`##EMPTYARG-(${s})##|{(${s}:${s})}|##AGGR-(${s})##`,`gm`),l=RegExp(`##EMPTYARG-(${s})##|{(${s}:${s})}`,`gm`),u=/((GROUPFULL|GROUPINEX)\()?(AVG|COUNT|COUNTD|COUNTR|MAX|MIN|SUM)\(/m,d=/(AVG|COUNT|COUNTD|MAX|MIN|SUM)\(\)/m,f=RegExp(`##AGGR-(${s})##`,`m`),p=/\[(.*?)\]/gm,m=RegExp(`{(${s}:${s})}`,`gm`);function h(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e===`x`?t:t&3|8).toString(16)})}function g(){return`##EMPTYARG-${h()}##`}function _(e){return`##AGGR-${e}##`}function v(e,t){let{aggregationFunction:n,content:r,grouping:i,includedColumns:a,excludedColumns:s}=e??{},c=`${n}(${t[n]?.arity>0?r:``})`;switch(i){case o.GROUPFULL:return`GROUPFULL(${c})`;case o.GROUPINEX:return`GROUPINEX(${c}, [${a?.map(e=>`{${e}}`).join(`, `)||``}], [${s?.map(e=>`{${e}}`).join(`, `)||``}])`;default:return c}}function y(e){let t=e.split(``),n=null;for(let e=0;e<t.length;e++){let r=t[e];n?r===n?n=null:t[e]=` `:(r===`'`||r===`"`)&&(n=r)}return t.join(``)}function b(e,t=0){let n=0,r=-1,i=null;for(let a=t,o=e.length;a<o;a++){let t=e[a];if(i){t===i&&(i=null);continue}if(t===`'`||t===`"`)i=t;else if(t===`(`)n++;else if(t===`)`){if(n===0){r=a;break}n--}}return r}function x(e){let t=e.match(p),n=t?.[0],r=t?.[1];return{includedColumns:n?.match(m)?.map(e=>e.slice(1,-1))??[],excludedColumns:r?.match(m)?.map(e=>e.slice(1,-1))??[]}}function S(e=`light`){return!e||e===`light`?[`#0E89E0`,`#F45000`,`#15BF49`,`#685AC2`,`#636363`]:[`#BDDCF9`,`#FFCFA1`,`#C1F3B7`,`#D7D7EF`,`#D7D7EF`]}function C(e){let t=S(`light`),n=e.length>1;return e.map((e,r)=>{let i=[];return`dataFields`in e&&Array.isArray(e.dataFields)&&e.dataFields.length>0?i=e.dataFields.filter(e=>!!e.columnId):`columns`in e&&Array.isArray(e.columns)&&(i=e.columns.map(t=>{let n=`columnId`in t&&typeof t.columnId==`string`?t.columnId:`id`in t&&typeof t.id==`string`?t.id:void 0;if(n)return{...t,columnId:n,datasetId:e.id}}).filter(e=>!!e)),{id:e.id,name:e.name,description:`description`in e?e.description:void 0,color:n?t[r%t.length]:void 0,columns:i}})}var w=!1,T;async function E(){if(!w){T??=Promise.resolve().then(()=>require("./formula-codemirror-DGxXJYCi.cjs"));try{await T,w=!0}catch(e){throw T=void 0,e}}}function D(){return w}var O=class extends n.t(e.n(e.i,{validSizes:[`s`,`m`,`l`,`xl`]})){constructor(){super(),this.expression=``,this.datasetsDataFields=[],this.datasetIds=[],this.apiUrl=`https://api.luzmo.com`,this.showAggregations=!0,this.contentLanguage=`en`,this.multiStageAggregation=!0,this.nestedAggregation=!0,this._datasets=[],this._codeMirrorLoaded=D(),this._rootContent=``,this._lastEmittedExpression=null,this._applyingExternalExpression=!1,this._handleWidgetsChanged=()=>{this._recomputeExpression()},this._store=this._createStore()}connectedCallback(){super.connectedCallback(),this._store.addEventListener(`widgets-changed`,this._handleWidgetsChanged)}disconnectedCallback(){super.disconnectedCallback(),this._store.removeEventListener(`widgets-changed`,this._handleWidgetsChanged),this._emitTimer&&clearTimeout(this._emitTimer)}firstUpdated(e){super.firstUpdated(e),this._pushRootContent()}updated(e){super.updated(e),e.has(`_codeMirrorLoaded`)&&this._codeMirrorLoaded&&this._pushRootContent()}_pushRootContent(){this._rootContent&&this._codeMirrorElement?.setContent(this._rootContent)}get _codeMirrorElement(){return this.renderRoot?.querySelector(`luzmo-formula-codemirror`)}async _ensureCodeMirrorLoaded(){this._codeMirrorLoaded||=(await E(),!0)}willUpdate(e){super.willUpdate(e),this._shouldLoadInput()&&this._ensureCodeMirrorLoaded(),(e.has(`multiStageAggregation`)||e.has(`nestedAggregation`)||e.has(`contentLanguage`)||e.has(`size`))&&(this._store.multiStageAggregation=this.multiStageAggregation,this._store.nestedAggregation=this.nestedAggregation,this._store.contentLanguage=this.contentLanguage,this._store.size=this.size),(e.has(`datasetsDataFields`)||e.has(`datasetIds`)||e.has(`apiUrl`)||e.has(`authKey`)||e.has(`authToken`))&&this._loadDatasets(),e.has(`showAggregations`)&&this._rebuildAutoCompletion(),e.has(`expression`)&&this._applyExternalExpression()}async _loadDatasets(){if(this.datasetsDataFields.length===0&&this.datasetIds.length===0){this._datasets=[],this._store.datasets=[],this._store.refreshDecorations(),this._setLoading(!1),this._rebuildAutoCompletion();return}if(this.datasetsDataFields.length>0){this._datasets=C(this.datasetsDataFields),this._store.datasets=this._datasets,this._store.refreshDecorations(),this._setLoading(!1),this._rebuildAutoCompletion();return}if(this.datasetIds.length>0){this._setLoading(!0);try{let e=await r.t(this.datasetIds,{dataBrokerConfig:{apiUrl:this.apiUrl,authKey:this.authKey,authToken:this.authToken}});this._datasets=C(e),this._store.datasets=this._datasets,this._store.refreshDecorations(),this._rebuildAutoCompletion()}catch(e){console.warn(`[${this.localName}] Failed to load datasets:`,e),this.dispatchEvent(new CustomEvent(`luzmo-datasets-error`,{bubbles:!0,composed:!0,detail:{error:e}}))}finally{this._setLoading(!1)}}}_rebuildAutoCompletion(){}_syncExpressionToStore(){return this.expression===this._lastEmittedExpression?null:(this._store.clearWidgets(),this._rootContent=this.multiStageAggregation?this._store.transformToAggregationWidgetSyntax(this.expression):this.expression,this._rootContent)}_applyExternalExpression(){this._applyingExternalExpression=!0;try{this._syncExpressionToStore()}finally{this._applyingExternalExpression=!1}}_recomputeExpression(){if(this._applyingExternalExpression||!this._canEmitExpression())return;let e=this.multiStageAggregation?this._store.transformToAggregationFunctionSyntax(this._rootContent):this._rootContent;this._emitTimer&&clearTimeout(this._emitTimer),this._emitTimer=setTimeout(()=>this._onExpressionComputed(e),this._emitDebounceMs)}_emitExpressionChanged(e){this._lastEmittedExpression=e,this.dispatchEvent(new CustomEvent(`luzmo-expression-changed`,{bubbles:!0,composed:!0,detail:{expression:e}}))}_shouldLoadInput(){return!0}_canEmitExpression(){return!0}get _emitDebounceMs(){return 300}_onExpressionComputed(e){e!==this._lastEmittedExpression&&this._emitExpressionChanged(e)}_setLoading(e){}};t.t([(0,i.property)({type:String})],O.prototype,`expression`,void 0),t.t([(0,i.property)({attribute:!1})],O.prototype,`datasetsDataFields`,void 0),t.t([(0,i.property)({type:Array,attribute:`dataset-ids`})],O.prototype,`datasetIds`,void 0),t.t([(0,i.property)({type:String,attribute:`api-url`})],O.prototype,`apiUrl`,void 0),t.t([(0,i.property)({type:String,attribute:`auth-key`})],O.prototype,`authKey`,void 0),t.t([(0,i.property)({type:String,attribute:`auth-token`})],O.prototype,`authToken`,void 0),t.t([(0,i.property)({type:Boolean,attribute:`show-aggregations`,reflect:!0})],O.prototype,`showAggregations`,void 0),t.t([(0,i.property)({type:String,attribute:`content-language`,reflect:!0})],O.prototype,`contentLanguage`,void 0),t.t([(0,i.property)({type:Boolean,attribute:`multi-stage-aggregation`})],O.prototype,`multiStageAggregation`,void 0),t.t([(0,i.property)({type:Boolean,attribute:`nested-aggregation`})],O.prototype,`nestedAggregation`,void 0),t.t([(0,i.state)()],O.prototype,`_datasets`,void 0),t.t([(0,i.state)()],O.prototype,`_codeMirrorLoaded`,void 0);var k=[`AVG`,`COUNT`,`COUNTD`,`COUNTR`,`MAX`,`MIN`,`SUM`];function A(){return{AVG:{arity:1,label:()=>(0,a.msg)(`Average`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Calculates the average of the values.`,{desc:`Formula aggregation description for AVG`}),example:()=>`AVG(⟨numeric⟩ Order Value)`,exampleHasIcons:!0},COUNT:{arity:1,label:()=>(0,a.msg)(`Count`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Counts the number of non-empty values.`,{desc:`Formula aggregation description for COUNT`}),example:()=>`COUNT(⟨numeric⟩ Order Number)`,exampleHasIcons:!0},COUNTD:{arity:1,label:()=>(0,a.msg)(`Count distinct`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Counts the number of distinct values.`,{desc:`Formula aggregation description for COUNTD`}),example:()=>`COUNTD(⟨numeric⟩ Customer ID)`,exampleHasIcons:!0},COUNTR:{arity:0,label:()=>(0,a.msg)(`Count rows`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Counts the number of rows.`,{desc:`Formula aggregation description for COUNTR`}),example:()=>`COUNTR()`},MAX:{arity:1,label:()=>(0,a.msg)(`Maximum`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Returns the largest value.`,{desc:`Formula aggregation description for MAX`}),example:()=>`MAX(⟨numeric⟩ Order Value)`,exampleHasIcons:!0},MIN:{arity:1,label:()=>(0,a.msg)(`Minimum`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Returns the smallest value.`,{desc:`Formula aggregation description for MIN`}),example:()=>`MIN(⟨numeric⟩ Order Value)`,exampleHasIcons:!0},SUM:{arity:1,label:()=>(0,a.msg)(`Sum`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Adds up all the values.`,{desc:`Formula aggregation description for SUM`}),example:()=>`SUM(⟨numeric⟩ Quantity Sold)`,exampleHasIcons:!0}}}function j(){return[{key:`string`,title:()=>(0,a.msg)(`String`,{desc:`Formula function category title for string functions`}),functions:[`||`,`LENGTH`,`LOWER`,`UPPER`,`LTRIM`,`RTRIM`,`TRIM`,`REPLACE`,`STRPOS`,`SUBSTR`,`SPLIT_PART`]},{key:`dateTime`,title:()=>(0,a.msg)(`Date and time`,{desc:`Formula function category title for date and time functions`}),functions:[`NOW`,`DATE_ADD`,`DATE_DIFF`,`YEAR`,`YEAR_UTC`,`QUARTER`,`QUARTER_UTC`,`MONTH`,`MONTH_UTC`,`WEEK`,`WEEK_UTC`,`DAY`,`DAY_UTC`,`DAY_OF_WEEK`,`DAY_OF_WEEK_UTC`,`DAY_OF_YEAR`,`DAY_OF_YEAR_UTC`,`YEAR_OF_WEEK`,`YEAR_OF_WEEK_UTC`,`HOUR`,`HOUR_UTC`,`MINUTE`,`MINUTE_UTC`,`SECOND`,`SECOND_UTC`]},{key:`mathematical`,title:()=>(0,a.msg)(`Mathematical`,{desc:`Formula function category title for mathematical functions`}),functions:[`+`,`-`,`*`,`/`,`%`,`ABS`,`CEIL`,`E`,`EXP`,`FLOOR`,`LN`,`LOG`,`PI`,`POW`,`RAND`,`ROUND`,`SQRT`]},{key:`conditional`,title:()=>(0,a.msg)(`Conditional`,{desc:`Formula function category title for conditional functions`}),functions:[`IF`,`COALESCE`]},{key:`conversion`,title:()=>(0,a.msg)(`Conversion`,{desc:`Formula function category title for conversion functions`}),functions:[`CAST`]},{key:`comparison`,title:()=>(0,a.msg)(`Comparison`,{desc:`Formula function category title for comparison functions`}),functions:[`>`,`<`,`<=`,`>=`,`=`,`<>`]},{key:`logical`,title:()=>(0,a.msg)(`Logical`,{desc:`Formula function category title for logical functions`}),functions:[`AND`,`OR`,`NOT`]},{key:`circular`,title:()=>(0,a.msg)(`Circular`,{desc:`Formula function category title for circular functions`}),functions:[`SIN`,`COS`,`TAN`,`ASIN`,`ACOS`,`ATAN`,`SINH`,`COSH`,`TANH`]},{key:`spatial`,title:()=>(0,a.msg)(`Spatial`,{desc:`Formula function category title for spatial functions`}),functions:[`COORDS`]}]}function M(){let e=2026;return{"+":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Addition`,{desc:`Formula function label for addition`}),description:()=>(0,a.msg)(`Adds two numeric values.`,{desc:`Formula function description for addition operator`}),example:()=>`42.0 + ⟨numeric⟩ Average burrito price`,exampleHasIcons:!0},"-":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Difference`,{desc:`Formula function label for subtraction`}),description:()=>(0,a.msg)(`Subtracts the second value from the first value.`,{desc:`Formula function description for subtraction operator`}),example:()=>`⟨numeric⟩ Burrito weight - 42`,exampleHasIcons:!0},"*":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Multiplication`,{desc:`Formula function label for multiplication`}),description:()=>(0,a.msg)(`Multiplies two numeric values.`,{desc:`Formula function description for multiplication operator`}),example:()=>`⟨numeric⟩ Number of burritos * 2`,exampleHasIcons:!0},"/":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Division`,{desc:`Formula function label for division`}),description:()=>(0,a.msg)(`Divides the first numeric value by the second numeric value.`,{desc:`Formula function description for division operator`}),example:()=>`⟨numeric⟩ Number of burritos / 2`,exampleHasIcons:!0},"%":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Modulo`,{desc:`Formula function label for modulo`}),description:()=>(0,a.msg)(`Returns the remainder after dividing the first value by the second value.`,{desc:`Formula function description for modulo operator`}),example:()=>`5 % 2`},">":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Greater than`,{desc:`Formula function label for greater than comparison`}),description:()=>(0,a.msg)(`Checks whether the first value is greater than the second value.`,{desc:`Formula function description for greater than operator`}),example:()=>`⟨numeric⟩ Burrito weight > 50`,exampleHasIcons:!0},"<":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Less than`,{desc:`Formula function label for less than comparison`}),description:()=>(0,a.msg)(`Checks whether the first value is less than the second value.`,{desc:`Formula function description for less than operator`}),example:()=>`⟨numeric⟩ Burrito weight < 50`,exampleHasIcons:!0},">=":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Greater than or equal`,{desc:`Formula function label for greater than or equal comparison`}),description:()=>(0,a.msg)(`Checks whether the first value is greater than or equal to the second value.`,{desc:`Formula function description for greater than or equal operator`}),example:()=>`⟨numeric⟩ Burrito weight >= 50`,exampleHasIcons:!0},"<=":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Less than or equal`,{desc:`Formula function label for less than or equal comparison`}),description:()=>(0,a.msg)(`Checks whether the first value is less than or equal to the second value.`,{desc:`Formula function description for less than or equal operator`}),example:()=>`⟨numeric⟩ Burrito weight <= 50`,exampleHasIcons:!0},"=":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Equal`,{desc:`Formula function label for equality comparison`}),description:()=>(0,a.msg)(`Checks whether both values are equal.`,{desc:`Formula function description for equality operator`}),example:()=>`⟨hierarchy⟩ Burrito type = 'Savoury'`,exampleHasIcons:!0},"<>":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Not equal`,{desc:`Formula function label for inequality comparison`}),description:()=>(0,a.msg)(`Checks whether two values are different.`,{desc:`Formula function description for inequality operator`}),example:()=>`⟨hierarchy⟩ Burrito type <> 'Sweet'`,exampleHasIcons:!0},ABS:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Absolute value`,{desc:`Formula function label for ABS`}),description:()=>(0,a.msg)(`Returns the absolute value of a number.`,{desc:`Formula function description for ABS`}),example:()=>`ABS(-5.0)`},CEIL:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Round up`,{desc:`Formula function label for CEIL`}),description:()=>(0,a.msg)(`Rounds a number up to the nearest integer.`,{desc:`Formula function description for CEIL`}),example:()=>`CEIL(11.3)`},E:{type:`prefix`,arity:0,label:()=>(0,a.msg)(`Euler's number`,{desc:`Formula function label for E`}),description:()=>(0,a.msg)(`Returns Euler's constant e.`,{desc:`Formula function description for E`}),example:()=>`E()`},EXP:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Exponential`,{desc:`Formula function label for EXP`}),description:()=>(0,a.msg)(`Returns e raised to the specified power.`,{desc:`Formula function description for EXP`}),example:()=>`EXP(11.3)`},FLOOR:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Round down`,{desc:`Formula function label for FLOOR`}),description:()=>(0,a.msg)(`Rounds a number down to the nearest integer.`,{desc:`Formula function description for FLOOR`}),example:()=>`FLOOR(11.7)`},LN:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Natural logarithm`,{desc:`Formula function label for LN`}),description:()=>(0,a.msg)(`Returns the natural logarithm of a number.`,{desc:`Formula function description for LN`}),example:()=>`LN(11.7)`},LOG:{type:`prefix`,arity:2,label:()=>(0,a.msg)(`Logarithm`,{desc:`Formula function label for LOG`}),description:()=>(0,a.msg)(`Returns the logarithm of a number for a specific base.`,{desc:`Formula function description for LOG`}),example:()=>`LOG(3.6, 10)`},PI:{type:`prefix`,arity:0,label:()=>(0,a.msg)(`Pi`,{desc:`Formula function label for PI`}),description:()=>(0,a.msg)(`Returns the mathematical constant pi.`,{desc:`Formula function description for PI`}),example:()=>`PI()`},POW:{type:`prefix`,arity:2,label:()=>(0,a.msg)(`Power`,{desc:`Formula function label for POW`}),description:()=>(0,a.msg)(`Raises a number to a given power.`,{desc:`Formula function description for POW`}),example:()=>`POW(2.35, 2)`},RAND:{type:`prefix`,arity:0,label:()=>(0,a.msg)(`Random number`,{desc:`Formula function label for RAND`}),description:()=>(0,a.msg)(`Returns a random number between 0 and 1.`,{desc:`Formula function description for RAND`}),example:()=>`RAND()`},ROUND:{type:`prefix`,arity:2,label:()=>(0,a.msg)(`Round`,{desc:`Formula function label for ROUND`}),description:()=>(0,a.msg)(`Rounds a number to a specified number of decimal places.`,{desc:`Formula function description for ROUND`}),example:()=>`ROUND(4.567, 1)`},SQRT:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Square root`,{desc:`Formula function label for SQRT`}),description:()=>(0,a.msg)(`Returns the square root of a number.`,{desc:`Formula function description for SQRT`}),example:()=>`SQRT(4)`},CAST:{type:`prefix`,arity:2,label:()=>(0,a.msg)(`Convert value`,{desc:`Formula function label for CAST`}),description:()=>(0,a.msg)(`Converts the first argument to the type given by the second argument. Possible types are 'hierarchy', 'numeric', 'datetime' and 'boolean'.`,{desc:`Formula function description for CAST`}),example:()=>`CAST(⟨numeric⟩ Burrito weight, hierarchy)`,exampleHasIcons:!0},IF:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`If`,{desc:`Formula function label for IF`}),description:()=>(0,a.msg)(`Returns one value when a condition is true and another value when false.`,{desc:`Formula function description for IF`}),example:()=>`IF(⟨numeric⟩ Burrito weight < 200,'Small','Large')`,exampleHasIcons:!0},COALESCE:{type:`prefix`,arity:2,label:()=>(0,a.msg)(`Is empty`,{desc:`Formula function label for COALESCE`}),description:()=>(0,a.msg)(`Returns the first non-null value from the provided arguments.`,{desc:`Formula function description for COALESCE`}),example:()=>`COALESCE(⟨hierarchy⟩ Burrito type, 'Unknown type')`,exampleHasIcons:!0},AND:{type:`infix`,arity:2,label:()=>(0,a.msg)(`Logical and`,{desc:`Formula function label for AND`}),description:()=>(0,a.msg)(`Returns true when both conditions are true.`,{desc:`Formula function description for AND`}),example:()=>`Burrito weight > 50 AND Burrito weight < 75`},OR:{type:`infix`,arity:2,label:()=>(0,a.msg)(`Logical or`,{desc:`Formula function label for OR`}),description:()=>(0,a.msg)(`Returns true when at least one condition is true.`,{desc:`Formula function description for OR`}),example:()=>`Burrito price > 10.1 OR Burrito weight >= 50`},NOT:{type:`prefix_op`,arity:1,label:()=>(0,a.msg)(`Logical not`,{desc:`Formula function label for NOT`}),description:()=>(0,a.msg)(`Negates a boolean condition.`,{desc:`Formula function description for NOT`}),example:()=>`NOT (Burrito type = 'Salty')`},SIN:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Sine`,{desc:`Formula function label for SIN`}),description:()=>(0,a.msg)(`Returns the sine of an angle in radians.`,{desc:`Formula function description for SIN`}),example:()=>`SIN(3.14)`},COS:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Cosine`,{desc:`Formula function label for COS`}),description:()=>(0,a.msg)(`Returns the cosine of an angle in radians.`,{desc:`Formula function description for COS`}),example:()=>`COS(3.14)`},TAN:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Tangent`,{desc:`Formula function label for TAN`}),description:()=>(0,a.msg)(`Returns the tangent of an angle in radians.`,{desc:`Formula function description for TAN`}),example:()=>`TAN(3.14)`},ASIN:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Arcsine`,{desc:`Formula function label for ASIN`}),description:()=>(0,a.msg)(`Returns the arcsine of a number.`,{desc:`Formula function description for ASIN`}),example:()=>`ASIN(3.14)`},ACOS:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Arccosine`,{desc:`Formula function label for ACOS`}),description:()=>(0,a.msg)(`Returns the arccosine of a number.`,{desc:`Formula function description for ACOS`}),example:()=>`ACOS(3.14)`},ATAN:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Arctangent`,{desc:`Formula function label for ATAN`}),description:()=>(0,a.msg)(`Returns the arctangent of a number.`,{desc:`Formula function description for ATAN`}),example:()=>`ATAN(3.14)`},SINH:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Hyperbolic sine`,{desc:`Formula function label for SINH`}),description:()=>(0,a.msg)(`Returns the hyperbolic sine of a number.`,{desc:`Formula function description for SINH`}),example:()=>`SINH(3.14)`},COSH:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Hyperbolic cosine`,{desc:`Formula function label for COSH`}),description:()=>(0,a.msg)(`Returns the hyperbolic cosine of a number.`,{desc:`Formula function description for COSH`}),example:()=>`COSH(3.14)`},TANH:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Hyperbolic tangent`,{desc:`Formula function label for TANH`}),description:()=>(0,a.msg)(`Returns the hyperbolic tangent of a number.`,{desc:`Formula function description for TANH`}),example:()=>`TANH(3.14)`},MEAN:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Mean`,{desc:`Formula function label for MEAN`}),description:()=>(0,a.msg)(`Returns the arithmetic mean of all values in a numeric column. The value is calculated over the entire dataset and does not change when filtering.`,{desc:`Formula function description for MEAN`}),example:()=>`MEAN(⟨numeric⟩ Burrito weight)`,exampleHasIcons:!0},STDDEV:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Standard deviation`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Returns the sample standard deviation over all values in a numeric column. The value is calculated over the entire dataset and does not change when filtering.`,{desc:`Formula function description for STDDEV`}),example:()=>`STDDEV(⟨numeric⟩ Burrito weight)`,exampleHasIcons:!0},"||":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Concatenate`,{desc:`Formula function label for concatenate operator`}),description:()=>(0,a.msg)(`Concatenates two strings.`,{desc:`Formula function description for concatenate operator`}),example:()=>`'Tasty' || ' burrito'`},LENGTH:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`String length`,{desc:`Formula function label for LENGTH`}),description:()=>(0,a.msg)(`Returns the number of characters in a string.`,{desc:`Formula function description for LENGTH`}),example:()=>`LENGTH('Burrito')`},LOWER:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Lowercase`,{desc:`Formula function label for LOWER`}),description:()=>(0,a.msg)(`Converts a string to lowercase.`,{desc:`Formula function description for LOWER`}),example:()=>`LOWER('BURRITO')`},UPPER:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Uppercase`,{desc:`Formula function label for UPPER`}),description:()=>(0,a.msg)(`Converts a string to uppercase.`,{desc:`Formula function description for UPPER`}),example:()=>`UPPER('burrito')`},LTRIM:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Trim left`,{desc:`Formula function label for LTRIM`}),description:()=>(0,a.msg)(`Removes leading spaces from a string.`,{desc:`Formula function description for LTRIM`}),example:()=>`LTRIM(' Burrito')`},RTRIM:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Trim right`,{desc:`Formula function label for RTRIM`}),description:()=>(0,a.msg)(`Removes trailing spaces from a string.`,{desc:`Formula function description for RTRIM`}),example:()=>`RTRIM('Burrito ')`},TRIM:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Trim`,{desc:`Formula function label for TRIM`}),description:()=>(0,a.msg)(`Removes leading and trailing spaces from a string.`,{desc:`Formula function description for TRIM`}),example:()=>`TRIM('Burrito ')`},REPLACE:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`Replace text`,{desc:`Formula function label for REPLACE`}),description:()=>(0,a.msg)(`Replaces occurrences of a substring with another substring.`,{desc:`Formula function description for REPLACE`}),example:()=>`REPLACE('Sweet burrito','Sweet', 'Savoury')`},STRPOS:{type:`prefix`,arity:2,label:()=>(0,a.msg)(`Find substring`,{desc:`Formula function label for STRPOS`}),description:()=>(0,a.msg)(`Returns the position of a substring in a string.`,{desc:`Formula function description for STRPOS`}),example:()=>`STRPOS('Sweet burrito','burrito')`},SUBSTR:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`Take substring`,{desc:`Formula function label for SUBSTR`}),description:()=>(0,a.msg)(`Extracts part of a string. The first argument is the text, the second the starting position (the first character is 1; a negative position counts from the end), and the third the length.`,{desc:`Formula function description for SUBSTR`}),example:()=>`SUBSTR('Sweet burrito',7,3)`},SPLIT_PART:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`Split part`,{desc:`Formula function label for SPLIT_PART`}),description:()=>(0,a.msg)(`Splits a string into parts using a delimiter. The first argument is the text to split, the second the delimiter, and the third the position of the part to return (starting from 1).`,{desc:`Formula function description for SPLIT_PART`}),example:()=>`SPLIT_PART('Sweet burrito', ' ', 2)`},NOW:{type:`prefix`,arity:0,label:()=>(0,a.msg)(`Current date and time`,{desc:`Formula function label for NOW`}),description:()=>(0,a.msg)(`Returns the current date and time.`,{desc:`Formula function description for NOW`}),example:()=>`NOW()`},YEAR:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Year`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the year from a date value.`,{desc:`Formula function description for YEAR`}),example:()=>`YEAR('${e}-02-17')`},YEAR_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Year (UTC)`,{desc:`Formula function label for YEAR_UTC`}),description:()=>(0,a.msg)(`Extracts the year from a date value in UTC.`,{desc:`Formula function description for YEAR_UTC`}),example:()=>`YEAR_UTC('${e}-02-17')`},QUARTER:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Quarter`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the quarter from a date value.`,{desc:`Formula function description for QUARTER`}),example:()=>`QUARTER('${e}-02-17')`},QUARTER_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Quarter (UTC)`,{desc:`Formula function label for QUARTER_UTC`}),description:()=>(0,a.msg)(`Extracts the quarter from a date value in UTC.`,{desc:`Formula function description for QUARTER_UTC`}),example:()=>`QUARTER_UTC('${e}-02-17')`},MONTH:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Month`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the month from a date or datetime value.`,{desc:`Formula function description for MONTH`}),example:()=>`MONTH('${e}-02-17 15:36:59')`},MONTH_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Month (UTC)`,{desc:`Formula function label for MONTH_UTC`}),description:()=>(0,a.msg)(`Extracts the month from a date or datetime value in UTC.`,{desc:`Formula function description for MONTH_UTC`}),example:()=>`MONTH_UTC('${e}-02-17 15:36:59')`},WEEK:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Week`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the ISO 8601 week number (1-53) from a date or datetime value.`,{desc:`Formula function description for WEEK`}),example:()=>`WEEK('${e}-02-17 15:36:59')`},WEEK_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Week (UTC)`,{desc:`Formula function label for WEEK_UTC`}),description:()=>(0,a.msg)(`Extracts the ISO 8601 week number (1-53) from a date or datetime value in UTC.`,{desc:`Formula function description for WEEK_UTC`}),example:()=>`WEEK_UTC('${e}-02-17 15:36:59')`},DAY:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Day of month`,{desc:`Formula function label for DAY`}),description:()=>(0,a.msg)(`Extracts the day of month from a date or datetime value.`,{desc:`Formula function description for DAY`}),example:()=>`DAY('${e}-02-17 15:36:59')`},DAY_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Day of month (UTC)`,{desc:`Formula function label for DAY_UTC`}),description:()=>(0,a.msg)(`Extracts the day of month from a date or datetime value in UTC.`,{desc:`Formula function description for DAY_UTC`}),example:()=>`DAY_UTC('${e}-02-17 15:36:59')`},DAY_OF_WEEK:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Day of week`,{desc:`Formula function label for DAY_OF_WEEK`}),description:()=>(0,a.msg)(`Extracts the day of week (1-7, where 1 is Monday) from a date or datetime value.`,{desc:`Formula function description for DAY_OF_WEEK`}),example:()=>`DAY_OF_WEEK('${e}-02-17 15:36:59')`},DAY_OF_WEEK_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Day of week (UTC)`,{desc:`Formula function label for DAY_OF_WEEK_UTC`}),description:()=>(0,a.msg)(`Extracts the day of week (1-7, where 1 is Monday) from a date or datetime value in UTC.`,{desc:`Formula function description for DAY_OF_WEEK_UTC`}),example:()=>`DAY_OF_WEEK_UTC('${e}-02-17 15:36:59')`},DAY_OF_YEAR:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Day of year`,{desc:`Formula function label for DAY_OF_YEAR`}),description:()=>(0,a.msg)(`Extracts the day of year from a date or datetime value.`,{desc:`Formula function description for DAY_OF_YEAR`}),example:()=>`DAY_OF_YEAR('${e}-02-17 15:36:59')`},DAY_OF_YEAR_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Day of year (UTC)`,{desc:`Formula function label for DAY_OF_YEAR_UTC`}),description:()=>(0,a.msg)(`Extracts the day of year from a date or datetime value in UTC.`,{desc:`Formula function description for DAY_OF_YEAR_UTC`}),example:()=>`DAY_OF_YEAR_UTC('${e}-02-17 15:36:59')`},YEAR_OF_WEEK:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Year of ISO week`,{desc:`Formula function label for YEAR_OF_WEEK`}),description:()=>(0,a.msg)(`Extracts the ISO week-numbering year from a date or datetime value.`,{desc:`Formula function description for YEAR_OF_WEEK`}),example:()=>`YEAR_OF_WEEK('${e}-02-17 15:36:59')`},YEAR_OF_WEEK_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Year of ISO week (UTC)`,{desc:`Formula function label for YEAR_OF_WEEK_UTC`}),description:()=>(0,a.msg)(`Extracts the ISO week-numbering year from a date or datetime value in UTC.`,{desc:`Formula function description for YEAR_OF_WEEK_UTC`}),example:()=>`YEAR_OF_WEEK_UTC('${e}-02-17 15:36:59')`},HOUR:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Hour`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the hour from a datetime value.`,{desc:`Formula function description for HOUR`}),example:()=>`HOUR('${e}-02-17 15:36:59')`},HOUR_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Hour (UTC)`,{desc:`Formula function label for HOUR_UTC`}),description:()=>(0,a.msg)(`Extracts the hour from a datetime value in UTC.`,{desc:`Formula function description for HOUR_UTC`}),example:()=>`HOUR_UTC('${e}-02-17 15:36:59')`},MINUTE:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Minute`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the minute from a datetime value.`,{desc:`Formula function description for MINUTE`}),example:()=>`MINUTE('${e}-02-17 15:36:59')`},MINUTE_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Minute (UTC)`,{desc:`Formula function label for MINUTE_UTC`}),description:()=>(0,a.msg)(`Extracts the minute from a datetime value in UTC.`,{desc:`Formula function description for MINUTE_UTC`}),example:()=>`MINUTE_UTC('${e}-02-17 15:36:59')`},SECOND:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Second`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the second from a datetime value.`,{desc:`Formula function description for SECOND`}),example:()=>`SECOND('${e}-02-17 15:36:59')`},SECOND_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Second (UTC)`,{desc:`Formula function label for SECOND_UTC`}),description:()=>(0,a.msg)(`Extracts the second from a datetime value in UTC.`,{desc:`Formula function description for SECOND_UTC`}),example:()=>`SECOND_UTC('${e}-02-17 15:36:59')`},DATE_ADD:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`Add/subtract duration`,{desc:`Formula function label for DATE_ADD`}),description:()=>(0,a.msg)(`Adds a duration to (or subtracts it from) a date or datetime value. The first argument is the unit ('millisecond', 'second', 'minute', 'hour', 'day', 'week', 'month', 'quarter' or 'year'), the second the number of units to add (negative to subtract), and the third the date or datetime to start from.`,{desc:`Formula function description for DATE_ADD`}),example:()=>`DATE_ADD('hour', 2, ⟨datetime⟩ Arrival time)`,exampleHasIcons:!0},DATE_DIFF:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`Difference between dates`,{desc:`Formula function label for DATE_DIFF`}),description:()=>(0,a.msg)(`Returns the difference between two dates or datetimes in the selected unit. The first argument is the unit ('millisecond', 'second', 'minute', 'hour', 'day', 'week', 'month', 'quarter' or 'year'); the difference is calculated from the second date towards the third date.`,{desc:`Formula function description for DATE_DIFF`}),example:()=>`DATE_DIFF('day', ⟨datetime⟩ Arrival date, '${e}-02-17 15:36:59')`,exampleHasIcons:!0},COORDS:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`Coordinates`,{id:`formula-function-label-coords`,desc:`Formula function label for COORDS`}),description:()=>(0,a.msg)(`Builds a geography value from latitude, longitude, and spatial reference.`,{desc:`Formula function description for COORDS`}),example:()=>`COORDS(⟨numeric⟩ Latitude, ⟨numeric⟩ Longitude, 'wgs84')`,exampleHasIcons:!0}}}var N=class extends EventTarget{constructor(...e){super(...e),this.functionDataMap=M(),this.aggregationFunctionDataMap=A(),this.multiStageAggregation=!0,this.nestedAggregation=!0,this.readonly=!1,this.contentLanguage=`en`,this.size=`m`,this.datasets=[],this.loading=!1,this.lastFocusedAggregationWidgetId=null,this.lastFocusedEmptyArgumentId=null,this.pendingFocusAggregationWidgetId=null,this._aggregationWidgets=[]}get aggregationWidgets(){return this._aggregationWidgets}addWidgets(e){!e||e.length===0||(this._aggregationWidgets=[...this._aggregationWidgets,...e],this._notifyWidgetsChanged())}removeWidgets(e){this._aggregationWidgets=this._aggregationWidgets.filter(({widgetId:t})=>!e.includes(t)),this._notifyWidgetsChanged()}updateWidget(e){this._aggregationWidgets=this._aggregationWidgets.map(t=>t.widgetId===e.widgetId?e:t),this._notifyWidgetsChanged()}getWidget(e){return this._aggregationWidgets.find(t=>t.widgetId===e)}clearWidgets(){this._aggregationWidgets.length!==0&&(this._aggregationWidgets=[],this._notifyWidgetsChanged())}_notifyWidgetsChanged(){this.dispatchEvent(new CustomEvent(`widgets-changed`))}setReadonly(e){this.readonly!==e&&(this.readonly=e,this.dispatchEvent(new CustomEvent(`widgets-changed`)))}setLoading(e){this.loading!==e&&(this.loading=e,this.refreshDecorations())}refreshDecorations(){this.dispatchEvent(new CustomEvent(`refresh-decorations`))}_markAggregationForFocus(e){let t=e[0];t&&(this.aggregationFunctionDataMap[t.aggregationFunction]?.arity??0)>0&&(this.pendingFocusAggregationWidgetId=t.widgetId)}transformToAggregationWidgetSyntax(e){let t=y(e).match(u);if(!t)return e;let n=!!t[1],r=t.index??0,i=b(e,r+(n?t[1].length:t[0].length)-1+1),a=b(e,r+t[0].length);if(i===-1)return e;let s=e.slice(r+t[0].length,a),c=this.transformToAggregationWidgetSyntax(s),l={widgetId:h(),grouping:t[2]??o.GROUP,aggregationFunction:t[3],content:c};if(l.grouping===o.GROUPINEX){let{includedColumns:t,excludedColumns:n}=x(e.slice(a+1,i));l.includedColumns=t,l.excludedColumns=n}let d=_(l.widgetId),f=`${e.slice(0,r)}${d}${e.slice(i+1)}`;return this.addWidgets([l]),this.transformToAggregationWidgetSyntax(f)}transformToAggregationFunctionSyntax(e){let t=e.match(f);if(!t)return e;let n=t.index??0,r=n+t[0].length-1,i=t[1],a=this.getWidget(i),o=a?this.transformToAggregationFunctionSyntax(v(a,this.aggregationFunctionDataMap)):``,s=`${e.slice(0,n)}${o}${e.slice(r+1)}`;return this.transformToAggregationFunctionSyntax(s)}};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return _}});
|
|
20
|
+
const e=require("./base-D6QPZnpu.cjs"),t=require("./decorate-DCJt-2rt.cjs"),n=require("./localized-mixin-CtNoCjjI.cjs"),r=require("./load-data-fields-for-datasets-rL24A68g.cjs");let i=require("lit/decorators.js"),a=require("@lit/localize");var o=function(e){return e.GROUP=``,e.GROUPFULL=`GROUPFULL`,e.GROUPINEX=`GROUPINEX`,e}({}),s=String.raw`[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}`,c=RegExp(`##EMPTYARG-(${s})##|{(${s}:${s})}|##AGGR-(${s})##`,`gm`),l=RegExp(`##EMPTYARG-(${s})##|{(${s}:${s})}`,`gm`),u=/((GROUPFULL|GROUPINEX)\()?(AVG|COUNT|COUNTD|COUNTR|MAX|MIN|SUM)\(/m,d=/(AVG|COUNT|COUNTD|MAX|MIN|SUM)\(\)/m,f=RegExp(`##AGGR-(${s})##`,`m`),p=/\[(.*?)\]/gm,m=RegExp(`{(${s}:${s})}`,`gm`);function h(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e===`x`?t:t&3|8).toString(16)})}function g(){return`##EMPTYARG-${h()}##`}function _(e){return`##AGGR-${e}##`}function v(e,t){let{aggregationFunction:n,content:r,grouping:i,includedColumns:a,excludedColumns:s}=e??{},c=`${n}(${t[n]?.arity>0?r:``})`;switch(i){case o.GROUPFULL:return`GROUPFULL(${c})`;case o.GROUPINEX:return`GROUPINEX(${c}, [${a?.map(e=>`{${e}}`).join(`, `)||``}], [${s?.map(e=>`{${e}}`).join(`, `)||``}])`;default:return c}}function y(e){let t=e.split(``),n=null;for(let e=0;e<t.length;e++){let r=t[e];n?r===n?n=null:t[e]=` `:(r===`'`||r===`"`)&&(n=r)}return t.join(``)}function b(e,t=0){let n=0,r=-1,i=null;for(let a=t,o=e.length;a<o;a++){let t=e[a];if(i){t===i&&(i=null);continue}if(t===`'`||t===`"`)i=t;else if(t===`(`)n++;else if(t===`)`){if(n===0){r=a;break}n--}}return r}function x(e){let t=e.match(p),n=t?.[0],r=t?.[1];return{includedColumns:n?.match(m)?.map(e=>e.slice(1,-1))??[],excludedColumns:r?.match(m)?.map(e=>e.slice(1,-1))??[]}}function S(e=`light`){return!e||e===`light`?[`#0E89E0`,`#F45000`,`#15BF49`,`#685AC2`,`#636363`]:[`#BDDCF9`,`#FFCFA1`,`#C1F3B7`,`#D7D7EF`,`#D7D7EF`]}function C(e){let t=S(`light`),n=e.length>1;return e.map((e,r)=>{let i=[];return`dataFields`in e&&Array.isArray(e.dataFields)&&e.dataFields.length>0?i=e.dataFields.filter(e=>!!e.columnId):`columns`in e&&Array.isArray(e.columns)&&(i=e.columns.map(t=>{let n=`columnId`in t&&typeof t.columnId==`string`?t.columnId:`id`in t&&typeof t.id==`string`?t.id:void 0;if(n)return{...t,columnId:n,datasetId:e.id}}).filter(e=>!!e)),{id:e.id,name:e.name,description:`description`in e?e.description:void 0,color:n?t[r%t.length]:void 0,columns:i}})}var w=!1,T;async function E(){if(!w){T??=Promise.resolve().then(()=>require("./formula-codemirror-EMK3MCNZ.cjs"));try{await T,w=!0}catch(e){throw T=void 0,e}}}function D(){return w}var O=class extends n.t(e.n(e.i,{validSizes:[`s`,`m`,`l`,`xl`]})){constructor(){super(),this.expression=``,this.datasetsDataFields=[],this.datasetIds=[],this.apiUrl=`https://api.luzmo.com`,this.showAggregations=!0,this.contentLanguage=`en`,this.multiStageAggregation=!0,this.nestedAggregation=!0,this._datasets=[],this._codeMirrorLoaded=D(),this._rootContent=``,this._lastEmittedExpression=null,this._applyingExternalExpression=!1,this._handleWidgetsChanged=()=>{this._recomputeExpression()},this._store=this._createStore()}connectedCallback(){super.connectedCallback(),this._store.addEventListener(`widgets-changed`,this._handleWidgetsChanged)}disconnectedCallback(){super.disconnectedCallback(),this._store.removeEventListener(`widgets-changed`,this._handleWidgetsChanged),this._emitTimer&&clearTimeout(this._emitTimer)}firstUpdated(e){super.firstUpdated(e),this._pushRootContent()}updated(e){super.updated(e),e.has(`_codeMirrorLoaded`)&&this._codeMirrorLoaded&&this._pushRootContent()}_pushRootContent(){this._rootContent&&this._codeMirrorElement?.setContent(this._rootContent)}get _codeMirrorElement(){return this.renderRoot?.querySelector(`luzmo-formula-codemirror`)}async _ensureCodeMirrorLoaded(){this._codeMirrorLoaded||=(await E(),!0)}willUpdate(e){super.willUpdate(e),this._shouldLoadInput()&&this._ensureCodeMirrorLoaded(),(e.has(`multiStageAggregation`)||e.has(`nestedAggregation`)||e.has(`contentLanguage`)||e.has(`size`))&&(this._store.multiStageAggregation=this.multiStageAggregation,this._store.nestedAggregation=this.nestedAggregation,this._store.contentLanguage=this.contentLanguage,this._store.size=this.size),(e.has(`datasetsDataFields`)||e.has(`datasetIds`)||e.has(`apiUrl`)||e.has(`authKey`)||e.has(`authToken`))&&this._loadDatasets(),e.has(`showAggregations`)&&this._rebuildAutoCompletion(),e.has(`expression`)&&this._applyExternalExpression()}async _loadDatasets(){if(this.datasetsDataFields.length===0&&this.datasetIds.length===0){this._datasets=[],this._store.datasets=[],this._store.refreshDecorations(),this._setLoading(!1),this._rebuildAutoCompletion();return}if(this.datasetsDataFields.length>0){this._datasets=C(this.datasetsDataFields),this._store.datasets=this._datasets,this._store.refreshDecorations(),this._setLoading(!1),this._rebuildAutoCompletion();return}if(this.datasetIds.length>0){this._setLoading(!0);try{let e=await r.t(this.datasetIds,{dataBrokerConfig:{apiUrl:this.apiUrl,authKey:this.authKey,authToken:this.authToken}});this._datasets=C(e),this._store.datasets=this._datasets,this._store.refreshDecorations(),this._rebuildAutoCompletion()}catch(e){console.warn(`[${this.localName}] Failed to load datasets:`,e),this.dispatchEvent(new CustomEvent(`luzmo-datasets-error`,{bubbles:!0,composed:!0,detail:{error:e}}))}finally{this._setLoading(!1)}}}_rebuildAutoCompletion(){}_syncExpressionToStore(){return this.expression===this._lastEmittedExpression?null:(this._store.clearWidgets(),this._rootContent=this.multiStageAggregation?this._store.transformToAggregationWidgetSyntax(this.expression):this.expression,this._rootContent)}_applyExternalExpression(){this._applyingExternalExpression=!0;try{this._syncExpressionToStore()}finally{this._applyingExternalExpression=!1}}_recomputeExpression(){if(this._applyingExternalExpression||!this._canEmitExpression())return;let e=this.multiStageAggregation?this._store.transformToAggregationFunctionSyntax(this._rootContent):this._rootContent;this._emitTimer&&clearTimeout(this._emitTimer),this._emitTimer=setTimeout(()=>this._onExpressionComputed(e),this._emitDebounceMs)}_emitExpressionChanged(e){this._lastEmittedExpression=e,this.dispatchEvent(new CustomEvent(`luzmo-expression-changed`,{bubbles:!0,composed:!0,detail:{expression:e}}))}_shouldLoadInput(){return!0}_canEmitExpression(){return!0}get _emitDebounceMs(){return 300}_onExpressionComputed(e){e!==this._lastEmittedExpression&&this._emitExpressionChanged(e)}_setLoading(e){}};t.t([(0,i.property)({type:String})],O.prototype,`expression`,void 0),t.t([(0,i.property)({attribute:!1})],O.prototype,`datasetsDataFields`,void 0),t.t([(0,i.property)({type:Array,attribute:`dataset-ids`})],O.prototype,`datasetIds`,void 0),t.t([(0,i.property)({type:String,attribute:`api-url`})],O.prototype,`apiUrl`,void 0),t.t([(0,i.property)({type:String,attribute:`auth-key`})],O.prototype,`authKey`,void 0),t.t([(0,i.property)({type:String,attribute:`auth-token`})],O.prototype,`authToken`,void 0),t.t([(0,i.property)({type:Boolean,attribute:`show-aggregations`,reflect:!0})],O.prototype,`showAggregations`,void 0),t.t([(0,i.property)({type:String,attribute:`content-language`,reflect:!0})],O.prototype,`contentLanguage`,void 0),t.t([(0,i.property)({type:Boolean,attribute:`multi-stage-aggregation`})],O.prototype,`multiStageAggregation`,void 0),t.t([(0,i.property)({type:Boolean,attribute:`nested-aggregation`})],O.prototype,`nestedAggregation`,void 0),t.t([(0,i.state)()],O.prototype,`_datasets`,void 0),t.t([(0,i.state)()],O.prototype,`_codeMirrorLoaded`,void 0);var k=[`AVG`,`COUNT`,`COUNTD`,`COUNTR`,`MAX`,`MIN`,`SUM`];function A(){return{AVG:{arity:1,label:()=>(0,a.msg)(`Average`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Calculates the average of the values.`,{desc:`Formula aggregation description for AVG`}),example:()=>`AVG(⟨numeric⟩ Order Value)`,exampleHasIcons:!0},COUNT:{arity:1,label:()=>(0,a.msg)(`Count`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Counts the number of non-empty values.`,{desc:`Formula aggregation description for COUNT`}),example:()=>`COUNT(⟨numeric⟩ Order Number)`,exampleHasIcons:!0},COUNTD:{arity:1,label:()=>(0,a.msg)(`Count distinct`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Counts the number of distinct values.`,{desc:`Formula aggregation description for COUNTD`}),example:()=>`COUNTD(⟨numeric⟩ Customer ID)`,exampleHasIcons:!0},COUNTR:{arity:0,label:()=>(0,a.msg)(`Count rows`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Counts the number of rows.`,{desc:`Formula aggregation description for COUNTR`}),example:()=>`COUNTR()`},MAX:{arity:1,label:()=>(0,a.msg)(`Maximum`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Returns the largest value.`,{desc:`Formula aggregation description for MAX`}),example:()=>`MAX(⟨numeric⟩ Order Value)`,exampleHasIcons:!0},MIN:{arity:1,label:()=>(0,a.msg)(`Minimum`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Returns the smallest value.`,{desc:`Formula aggregation description for MIN`}),example:()=>`MIN(⟨numeric⟩ Order Value)`,exampleHasIcons:!0},SUM:{arity:1,label:()=>(0,a.msg)(`Sum`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Adds up all the values.`,{desc:`Formula aggregation description for SUM`}),example:()=>`SUM(⟨numeric⟩ Quantity Sold)`,exampleHasIcons:!0}}}function j(){return[{key:`string`,title:()=>(0,a.msg)(`String`,{desc:`Formula function category title for string functions`}),functions:[`||`,`LENGTH`,`LOWER`,`UPPER`,`LTRIM`,`RTRIM`,`TRIM`,`REPLACE`,`STRPOS`,`SUBSTR`,`SPLIT_PART`]},{key:`dateTime`,title:()=>(0,a.msg)(`Date and time`,{desc:`Formula function category title for date and time functions`}),functions:[`NOW`,`DATE_ADD`,`DATE_DIFF`,`YEAR`,`YEAR_UTC`,`QUARTER`,`QUARTER_UTC`,`MONTH`,`MONTH_UTC`,`WEEK`,`WEEK_UTC`,`DAY`,`DAY_UTC`,`DAY_OF_WEEK`,`DAY_OF_WEEK_UTC`,`DAY_OF_YEAR`,`DAY_OF_YEAR_UTC`,`YEAR_OF_WEEK`,`YEAR_OF_WEEK_UTC`,`HOUR`,`HOUR_UTC`,`MINUTE`,`MINUTE_UTC`,`SECOND`,`SECOND_UTC`]},{key:`mathematical`,title:()=>(0,a.msg)(`Mathematical`,{desc:`Formula function category title for mathematical functions`}),functions:[`+`,`-`,`*`,`/`,`%`,`ABS`,`CEIL`,`E`,`EXP`,`FLOOR`,`LN`,`LOG`,`PI`,`POW`,`RAND`,`ROUND`,`SQRT`]},{key:`conditional`,title:()=>(0,a.msg)(`Conditional`,{desc:`Formula function category title for conditional functions`}),functions:[`IF`,`COALESCE`]},{key:`conversion`,title:()=>(0,a.msg)(`Conversion`,{desc:`Formula function category title for conversion functions`}),functions:[`CAST`]},{key:`comparison`,title:()=>(0,a.msg)(`Comparison`,{desc:`Formula function category title for comparison functions`}),functions:[`>`,`<`,`<=`,`>=`,`=`,`<>`]},{key:`logical`,title:()=>(0,a.msg)(`Logical`,{desc:`Formula function category title for logical functions`}),functions:[`AND`,`OR`,`NOT`]},{key:`circular`,title:()=>(0,a.msg)(`Circular`,{desc:`Formula function category title for circular functions`}),functions:[`SIN`,`COS`,`TAN`,`ASIN`,`ACOS`,`ATAN`,`SINH`,`COSH`,`TANH`]},{key:`spatial`,title:()=>(0,a.msg)(`Spatial`,{desc:`Formula function category title for spatial functions`}),functions:[`COORDS`]}]}function M(){let e=2026;return{"+":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Addition`,{desc:`Formula function label for addition`}),description:()=>(0,a.msg)(`Adds two numeric values.`,{desc:`Formula function description for addition operator`}),example:()=>`42.0 + ⟨numeric⟩ Average burrito price`,exampleHasIcons:!0},"-":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Difference`,{desc:`Formula function label for subtraction`}),description:()=>(0,a.msg)(`Subtracts the second value from the first value.`,{desc:`Formula function description for subtraction operator`}),example:()=>`⟨numeric⟩ Burrito weight - 42`,exampleHasIcons:!0},"*":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Multiplication`,{desc:`Formula function label for multiplication`}),description:()=>(0,a.msg)(`Multiplies two numeric values.`,{desc:`Formula function description for multiplication operator`}),example:()=>`⟨numeric⟩ Number of burritos * 2`,exampleHasIcons:!0},"/":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Division`,{desc:`Formula function label for division`}),description:()=>(0,a.msg)(`Divides the first numeric value by the second numeric value.`,{desc:`Formula function description for division operator`}),example:()=>`⟨numeric⟩ Number of burritos / 2`,exampleHasIcons:!0},"%":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Modulo`,{desc:`Formula function label for modulo`}),description:()=>(0,a.msg)(`Returns the remainder after dividing the first value by the second value.`,{desc:`Formula function description for modulo operator`}),example:()=>`5 % 2`},">":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Greater than`,{desc:`Formula function label for greater than comparison`}),description:()=>(0,a.msg)(`Checks whether the first value is greater than the second value.`,{desc:`Formula function description for greater than operator`}),example:()=>`⟨numeric⟩ Burrito weight > 50`,exampleHasIcons:!0},"<":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Less than`,{desc:`Formula function label for less than comparison`}),description:()=>(0,a.msg)(`Checks whether the first value is less than the second value.`,{desc:`Formula function description for less than operator`}),example:()=>`⟨numeric⟩ Burrito weight < 50`,exampleHasIcons:!0},">=":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Greater than or equal`,{desc:`Formula function label for greater than or equal comparison`}),description:()=>(0,a.msg)(`Checks whether the first value is greater than or equal to the second value.`,{desc:`Formula function description for greater than or equal operator`}),example:()=>`⟨numeric⟩ Burrito weight >= 50`,exampleHasIcons:!0},"<=":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Less than or equal`,{desc:`Formula function label for less than or equal comparison`}),description:()=>(0,a.msg)(`Checks whether the first value is less than or equal to the second value.`,{desc:`Formula function description for less than or equal operator`}),example:()=>`⟨numeric⟩ Burrito weight <= 50`,exampleHasIcons:!0},"=":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Equal`,{desc:`Formula function label for equality comparison`}),description:()=>(0,a.msg)(`Checks whether both values are equal.`,{desc:`Formula function description for equality operator`}),example:()=>`⟨hierarchy⟩ Burrito type = 'Savoury'`,exampleHasIcons:!0},"<>":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Not equal`,{desc:`Formula function label for inequality comparison`}),description:()=>(0,a.msg)(`Checks whether two values are different.`,{desc:`Formula function description for inequality operator`}),example:()=>`⟨hierarchy⟩ Burrito type <> 'Sweet'`,exampleHasIcons:!0},ABS:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Absolute value`,{desc:`Formula function label for ABS`}),description:()=>(0,a.msg)(`Returns the absolute value of a number.`,{desc:`Formula function description for ABS`}),example:()=>`ABS(-5.0)`},CEIL:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Round up`,{desc:`Formula function label for CEIL`}),description:()=>(0,a.msg)(`Rounds a number up to the nearest integer.`,{desc:`Formula function description for CEIL`}),example:()=>`CEIL(11.3)`},E:{type:`prefix`,arity:0,label:()=>(0,a.msg)(`Euler's number`,{desc:`Formula function label for E`}),description:()=>(0,a.msg)(`Returns Euler's constant e.`,{desc:`Formula function description for E`}),example:()=>`E()`},EXP:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Exponential`,{desc:`Formula function label for EXP`}),description:()=>(0,a.msg)(`Returns e raised to the specified power.`,{desc:`Formula function description for EXP`}),example:()=>`EXP(11.3)`},FLOOR:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Round down`,{desc:`Formula function label for FLOOR`}),description:()=>(0,a.msg)(`Rounds a number down to the nearest integer.`,{desc:`Formula function description for FLOOR`}),example:()=>`FLOOR(11.7)`},LN:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Natural logarithm`,{desc:`Formula function label for LN`}),description:()=>(0,a.msg)(`Returns the natural logarithm of a number.`,{desc:`Formula function description for LN`}),example:()=>`LN(11.7)`},LOG:{type:`prefix`,arity:2,label:()=>(0,a.msg)(`Logarithm`,{desc:`Formula function label for LOG`}),description:()=>(0,a.msg)(`Returns the logarithm of a number for a specific base.`,{desc:`Formula function description for LOG`}),example:()=>`LOG(3.6, 10)`},PI:{type:`prefix`,arity:0,label:()=>(0,a.msg)(`Pi`,{desc:`Formula function label for PI`}),description:()=>(0,a.msg)(`Returns the mathematical constant pi.`,{desc:`Formula function description for PI`}),example:()=>`PI()`},POW:{type:`prefix`,arity:2,label:()=>(0,a.msg)(`Power`,{desc:`Formula function label for POW`}),description:()=>(0,a.msg)(`Raises a number to a given power.`,{desc:`Formula function description for POW`}),example:()=>`POW(2.35, 2)`},RAND:{type:`prefix`,arity:0,label:()=>(0,a.msg)(`Random number`,{desc:`Formula function label for RAND`}),description:()=>(0,a.msg)(`Returns a random number between 0 and 1.`,{desc:`Formula function description for RAND`}),example:()=>`RAND()`},ROUND:{type:`prefix`,arity:2,label:()=>(0,a.msg)(`Round`,{desc:`Formula function label for ROUND`}),description:()=>(0,a.msg)(`Rounds a number to a specified number of decimal places.`,{desc:`Formula function description for ROUND`}),example:()=>`ROUND(4.567, 1)`},SQRT:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Square root`,{desc:`Formula function label for SQRT`}),description:()=>(0,a.msg)(`Returns the square root of a number.`,{desc:`Formula function description for SQRT`}),example:()=>`SQRT(4)`},CAST:{type:`prefix`,arity:2,label:()=>(0,a.msg)(`Convert value`,{desc:`Formula function label for CAST`}),description:()=>(0,a.msg)(`Converts the first argument to the type given by the second argument. Possible types are 'hierarchy', 'numeric', 'datetime' and 'boolean'.`,{desc:`Formula function description for CAST`}),example:()=>`CAST(⟨numeric⟩ Burrito weight, hierarchy)`,exampleHasIcons:!0},IF:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`If`,{desc:`Formula function label for IF`}),description:()=>(0,a.msg)(`Returns one value when a condition is true and another value when false.`,{desc:`Formula function description for IF`}),example:()=>`IF(⟨numeric⟩ Burrito weight < 200,'Small','Large')`,exampleHasIcons:!0},COALESCE:{type:`prefix`,arity:2,label:()=>(0,a.msg)(`Is empty`,{desc:`Formula function label for COALESCE`}),description:()=>(0,a.msg)(`Returns the first non-null value from the provided arguments.`,{desc:`Formula function description for COALESCE`}),example:()=>`COALESCE(⟨hierarchy⟩ Burrito type, 'Unknown type')`,exampleHasIcons:!0},AND:{type:`infix`,arity:2,label:()=>(0,a.msg)(`Logical and`,{desc:`Formula function label for AND`}),description:()=>(0,a.msg)(`Returns true when both conditions are true.`,{desc:`Formula function description for AND`}),example:()=>`Burrito weight > 50 AND Burrito weight < 75`},OR:{type:`infix`,arity:2,label:()=>(0,a.msg)(`Logical or`,{desc:`Formula function label for OR`}),description:()=>(0,a.msg)(`Returns true when at least one condition is true.`,{desc:`Formula function description for OR`}),example:()=>`Burrito price > 10.1 OR Burrito weight >= 50`},NOT:{type:`prefix_op`,arity:1,label:()=>(0,a.msg)(`Logical not`,{desc:`Formula function label for NOT`}),description:()=>(0,a.msg)(`Negates a boolean condition.`,{desc:`Formula function description for NOT`}),example:()=>`NOT (Burrito type = 'Salty')`},SIN:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Sine`,{desc:`Formula function label for SIN`}),description:()=>(0,a.msg)(`Returns the sine of an angle in radians.`,{desc:`Formula function description for SIN`}),example:()=>`SIN(3.14)`},COS:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Cosine`,{desc:`Formula function label for COS`}),description:()=>(0,a.msg)(`Returns the cosine of an angle in radians.`,{desc:`Formula function description for COS`}),example:()=>`COS(3.14)`},TAN:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Tangent`,{desc:`Formula function label for TAN`}),description:()=>(0,a.msg)(`Returns the tangent of an angle in radians.`,{desc:`Formula function description for TAN`}),example:()=>`TAN(3.14)`},ASIN:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Arcsine`,{desc:`Formula function label for ASIN`}),description:()=>(0,a.msg)(`Returns the arcsine of a number.`,{desc:`Formula function description for ASIN`}),example:()=>`ASIN(3.14)`},ACOS:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Arccosine`,{desc:`Formula function label for ACOS`}),description:()=>(0,a.msg)(`Returns the arccosine of a number.`,{desc:`Formula function description for ACOS`}),example:()=>`ACOS(3.14)`},ATAN:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Arctangent`,{desc:`Formula function label for ATAN`}),description:()=>(0,a.msg)(`Returns the arctangent of a number.`,{desc:`Formula function description for ATAN`}),example:()=>`ATAN(3.14)`},SINH:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Hyperbolic sine`,{desc:`Formula function label for SINH`}),description:()=>(0,a.msg)(`Returns the hyperbolic sine of a number.`,{desc:`Formula function description for SINH`}),example:()=>`SINH(3.14)`},COSH:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Hyperbolic cosine`,{desc:`Formula function label for COSH`}),description:()=>(0,a.msg)(`Returns the hyperbolic cosine of a number.`,{desc:`Formula function description for COSH`}),example:()=>`COSH(3.14)`},TANH:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Hyperbolic tangent`,{desc:`Formula function label for TANH`}),description:()=>(0,a.msg)(`Returns the hyperbolic tangent of a number.`,{desc:`Formula function description for TANH`}),example:()=>`TANH(3.14)`},MEAN:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Mean`,{desc:`Formula function label for MEAN`}),description:()=>(0,a.msg)(`Returns the arithmetic mean of all values in a numeric column. The value is calculated over the entire dataset and does not change when filtering.`,{desc:`Formula function description for MEAN`}),example:()=>`MEAN(⟨numeric⟩ Burrito weight)`,exampleHasIcons:!0},STDDEV:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Standard deviation`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Returns the sample standard deviation over all values in a numeric column. The value is calculated over the entire dataset and does not change when filtering.`,{desc:`Formula function description for STDDEV`}),example:()=>`STDDEV(⟨numeric⟩ Burrito weight)`,exampleHasIcons:!0},"||":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Concatenate`,{desc:`Formula function label for concatenate operator`}),description:()=>(0,a.msg)(`Concatenates two strings.`,{desc:`Formula function description for concatenate operator`}),example:()=>`'Tasty' || ' burrito'`},LENGTH:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`String length`,{desc:`Formula function label for LENGTH`}),description:()=>(0,a.msg)(`Returns the number of characters in a string.`,{desc:`Formula function description for LENGTH`}),example:()=>`LENGTH('Burrito')`},LOWER:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Lowercase`,{desc:`Formula function label for LOWER`}),description:()=>(0,a.msg)(`Converts a string to lowercase.`,{desc:`Formula function description for LOWER`}),example:()=>`LOWER('BURRITO')`},UPPER:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Uppercase`,{desc:`Formula function label for UPPER`}),description:()=>(0,a.msg)(`Converts a string to uppercase.`,{desc:`Formula function description for UPPER`}),example:()=>`UPPER('burrito')`},LTRIM:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Trim left`,{desc:`Formula function label for LTRIM`}),description:()=>(0,a.msg)(`Removes leading spaces from a string.`,{desc:`Formula function description for LTRIM`}),example:()=>`LTRIM(' Burrito')`},RTRIM:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Trim right`,{desc:`Formula function label for RTRIM`}),description:()=>(0,a.msg)(`Removes trailing spaces from a string.`,{desc:`Formula function description for RTRIM`}),example:()=>`RTRIM('Burrito ')`},TRIM:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Trim`,{desc:`Formula function label for TRIM`}),description:()=>(0,a.msg)(`Removes leading and trailing spaces from a string.`,{desc:`Formula function description for TRIM`}),example:()=>`TRIM('Burrito ')`},REPLACE:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`Replace text`,{desc:`Formula function label for REPLACE`}),description:()=>(0,a.msg)(`Replaces occurrences of a substring with another substring.`,{desc:`Formula function description for REPLACE`}),example:()=>`REPLACE('Sweet burrito','Sweet', 'Savoury')`},STRPOS:{type:`prefix`,arity:2,label:()=>(0,a.msg)(`Find substring`,{desc:`Formula function label for STRPOS`}),description:()=>(0,a.msg)(`Returns the position of a substring in a string.`,{desc:`Formula function description for STRPOS`}),example:()=>`STRPOS('Sweet burrito','burrito')`},SUBSTR:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`Take substring`,{desc:`Formula function label for SUBSTR`}),description:()=>(0,a.msg)(`Extracts part of a string. The first argument is the text, the second the starting position (the first character is 1; a negative position counts from the end), and the third the length.`,{desc:`Formula function description for SUBSTR`}),example:()=>`SUBSTR('Sweet burrito',7,3)`},SPLIT_PART:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`Split part`,{desc:`Formula function label for SPLIT_PART`}),description:()=>(0,a.msg)(`Splits a string into parts using a delimiter. The first argument is the text to split, the second the delimiter, and the third the position of the part to return (starting from 1).`,{desc:`Formula function description for SPLIT_PART`}),example:()=>`SPLIT_PART('Sweet burrito', ' ', 2)`},NOW:{type:`prefix`,arity:0,label:()=>(0,a.msg)(`Current date and time`,{desc:`Formula function label for NOW`}),description:()=>(0,a.msg)(`Returns the current date and time.`,{desc:`Formula function description for NOW`}),example:()=>`NOW()`},YEAR:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Year`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the year from a date value.`,{desc:`Formula function description for YEAR`}),example:()=>`YEAR('${e}-02-17')`},YEAR_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Year (UTC)`,{desc:`Formula function label for YEAR_UTC`}),description:()=>(0,a.msg)(`Extracts the year from a date value in UTC.`,{desc:`Formula function description for YEAR_UTC`}),example:()=>`YEAR_UTC('${e}-02-17')`},QUARTER:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Quarter`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the quarter from a date value.`,{desc:`Formula function description for QUARTER`}),example:()=>`QUARTER('${e}-02-17')`},QUARTER_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Quarter (UTC)`,{desc:`Formula function label for QUARTER_UTC`}),description:()=>(0,a.msg)(`Extracts the quarter from a date value in UTC.`,{desc:`Formula function description for QUARTER_UTC`}),example:()=>`QUARTER_UTC('${e}-02-17')`},MONTH:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Month`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the month from a date or datetime value.`,{desc:`Formula function description for MONTH`}),example:()=>`MONTH('${e}-02-17 15:36:59')`},MONTH_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Month (UTC)`,{desc:`Formula function label for MONTH_UTC`}),description:()=>(0,a.msg)(`Extracts the month from a date or datetime value in UTC.`,{desc:`Formula function description for MONTH_UTC`}),example:()=>`MONTH_UTC('${e}-02-17 15:36:59')`},WEEK:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Week`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the ISO 8601 week number (1-53) from a date or datetime value.`,{desc:`Formula function description for WEEK`}),example:()=>`WEEK('${e}-02-17 15:36:59')`},WEEK_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Week (UTC)`,{desc:`Formula function label for WEEK_UTC`}),description:()=>(0,a.msg)(`Extracts the ISO 8601 week number (1-53) from a date or datetime value in UTC.`,{desc:`Formula function description for WEEK_UTC`}),example:()=>`WEEK_UTC('${e}-02-17 15:36:59')`},DAY:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Day of month`,{desc:`Formula function label for DAY`}),description:()=>(0,a.msg)(`Extracts the day of month from a date or datetime value.`,{desc:`Formula function description for DAY`}),example:()=>`DAY('${e}-02-17 15:36:59')`},DAY_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Day of month (UTC)`,{desc:`Formula function label for DAY_UTC`}),description:()=>(0,a.msg)(`Extracts the day of month from a date or datetime value in UTC.`,{desc:`Formula function description for DAY_UTC`}),example:()=>`DAY_UTC('${e}-02-17 15:36:59')`},DAY_OF_WEEK:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Day of week`,{desc:`Formula function label for DAY_OF_WEEK`}),description:()=>(0,a.msg)(`Extracts the day of week (1-7, where 1 is Monday) from a date or datetime value.`,{desc:`Formula function description for DAY_OF_WEEK`}),example:()=>`DAY_OF_WEEK('${e}-02-17 15:36:59')`},DAY_OF_WEEK_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Day of week (UTC)`,{desc:`Formula function label for DAY_OF_WEEK_UTC`}),description:()=>(0,a.msg)(`Extracts the day of week (1-7, where 1 is Monday) from a date or datetime value in UTC.`,{desc:`Formula function description for DAY_OF_WEEK_UTC`}),example:()=>`DAY_OF_WEEK_UTC('${e}-02-17 15:36:59')`},DAY_OF_YEAR:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Day of year`,{desc:`Formula function label for DAY_OF_YEAR`}),description:()=>(0,a.msg)(`Extracts the day of year from a date or datetime value.`,{desc:`Formula function description for DAY_OF_YEAR`}),example:()=>`DAY_OF_YEAR('${e}-02-17 15:36:59')`},DAY_OF_YEAR_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Day of year (UTC)`,{desc:`Formula function label for DAY_OF_YEAR_UTC`}),description:()=>(0,a.msg)(`Extracts the day of year from a date or datetime value in UTC.`,{desc:`Formula function description for DAY_OF_YEAR_UTC`}),example:()=>`DAY_OF_YEAR_UTC('${e}-02-17 15:36:59')`},YEAR_OF_WEEK:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Year of ISO week`,{desc:`Formula function label for YEAR_OF_WEEK`}),description:()=>(0,a.msg)(`Extracts the ISO week-numbering year from a date or datetime value.`,{desc:`Formula function description for YEAR_OF_WEEK`}),example:()=>`YEAR_OF_WEEK('${e}-02-17 15:36:59')`},YEAR_OF_WEEK_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Year of ISO week (UTC)`,{desc:`Formula function label for YEAR_OF_WEEK_UTC`}),description:()=>(0,a.msg)(`Extracts the ISO week-numbering year from a date or datetime value in UTC.`,{desc:`Formula function description for YEAR_OF_WEEK_UTC`}),example:()=>`YEAR_OF_WEEK_UTC('${e}-02-17 15:36:59')`},HOUR:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Hour`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the hour from a datetime value.`,{desc:`Formula function description for HOUR`}),example:()=>`HOUR('${e}-02-17 15:36:59')`},HOUR_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Hour (UTC)`,{desc:`Formula function label for HOUR_UTC`}),description:()=>(0,a.msg)(`Extracts the hour from a datetime value in UTC.`,{desc:`Formula function description for HOUR_UTC`}),example:()=>`HOUR_UTC('${e}-02-17 15:36:59')`},MINUTE:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Minute`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the minute from a datetime value.`,{desc:`Formula function description for MINUTE`}),example:()=>`MINUTE('${e}-02-17 15:36:59')`},MINUTE_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Minute (UTC)`,{desc:`Formula function label for MINUTE_UTC`}),description:()=>(0,a.msg)(`Extracts the minute from a datetime value in UTC.`,{desc:`Formula function description for MINUTE_UTC`}),example:()=>`MINUTE_UTC('${e}-02-17 15:36:59')`},SECOND:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Second`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the second from a datetime value.`,{desc:`Formula function description for SECOND`}),example:()=>`SECOND('${e}-02-17 15:36:59')`},SECOND_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Second (UTC)`,{desc:`Formula function label for SECOND_UTC`}),description:()=>(0,a.msg)(`Extracts the second from a datetime value in UTC.`,{desc:`Formula function description for SECOND_UTC`}),example:()=>`SECOND_UTC('${e}-02-17 15:36:59')`},DATE_ADD:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`Add/subtract duration`,{desc:`Formula function label for DATE_ADD`}),description:()=>(0,a.msg)(`Adds a duration to (or subtracts it from) a date or datetime value. The first argument is the unit ('millisecond', 'second', 'minute', 'hour', 'day', 'week', 'month', 'quarter' or 'year'), the second the number of units to add (negative to subtract), and the third the date or datetime to start from.`,{desc:`Formula function description for DATE_ADD`}),example:()=>`DATE_ADD('hour', 2, ⟨datetime⟩ Arrival time)`,exampleHasIcons:!0},DATE_DIFF:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`Difference between dates`,{desc:`Formula function label for DATE_DIFF`}),description:()=>(0,a.msg)(`Returns the difference between two dates or datetimes in the selected unit. The first argument is the unit ('millisecond', 'second', 'minute', 'hour', 'day', 'week', 'month', 'quarter' or 'year'); the difference is calculated from the second date towards the third date.`,{desc:`Formula function description for DATE_DIFF`}),example:()=>`DATE_DIFF('day', ⟨datetime⟩ Arrival date, '${e}-02-17 15:36:59')`,exampleHasIcons:!0},COORDS:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`Coordinates`,{id:`formula-function-label-coords`,desc:`Formula function label for COORDS`}),description:()=>(0,a.msg)(`Builds a geography value from latitude, longitude, and spatial reference.`,{desc:`Formula function description for COORDS`}),example:()=>`COORDS(⟨numeric⟩ Latitude, ⟨numeric⟩ Longitude, 'wgs84')`,exampleHasIcons:!0}}}var N=class extends EventTarget{constructor(...e){super(...e),this.functionDataMap=M(),this.aggregationFunctionDataMap=A(),this.multiStageAggregation=!0,this.nestedAggregation=!0,this.readonly=!1,this.contentLanguage=`en`,this.size=`m`,this.datasets=[],this.loading=!1,this.lastFocusedAggregationWidgetId=null,this.lastFocusedEmptyArgumentId=null,this.pendingFocusAggregationWidgetId=null,this._aggregationWidgets=[]}get aggregationWidgets(){return this._aggregationWidgets}addWidgets(e){!e||e.length===0||(this._aggregationWidgets=[...this._aggregationWidgets,...e],this._notifyWidgetsChanged())}removeWidgets(e){this._aggregationWidgets=this._aggregationWidgets.filter(({widgetId:t})=>!e.includes(t)),this._notifyWidgetsChanged()}updateWidget(e){this._aggregationWidgets=this._aggregationWidgets.map(t=>t.widgetId===e.widgetId?e:t),this._notifyWidgetsChanged()}getWidget(e){return this._aggregationWidgets.find(t=>t.widgetId===e)}clearWidgets(){this._aggregationWidgets.length!==0&&(this._aggregationWidgets=[],this._notifyWidgetsChanged())}_notifyWidgetsChanged(){this.dispatchEvent(new CustomEvent(`widgets-changed`))}setReadonly(e){this.readonly!==e&&(this.readonly=e,this.dispatchEvent(new CustomEvent(`widgets-changed`)))}setLoading(e){this.loading!==e&&(this.loading=e,this.refreshDecorations())}refreshDecorations(){this.dispatchEvent(new CustomEvent(`refresh-decorations`))}_markAggregationForFocus(e){let t=e[0];t&&(this.aggregationFunctionDataMap[t.aggregationFunction]?.arity??0)>0&&(this.pendingFocusAggregationWidgetId=t.widgetId)}transformToAggregationWidgetSyntax(e){let t=y(e).match(u);if(!t)return e;let n=!!t[1],r=t.index??0,i=b(e,r+(n?t[1].length:t[0].length)-1+1),a=b(e,r+t[0].length);if(i===-1)return e;let s=e.slice(r+t[0].length,a),c=this.transformToAggregationWidgetSyntax(s),l={widgetId:h(),grouping:t[2]??o.GROUP,aggregationFunction:t[3],content:c};if(l.grouping===o.GROUPINEX){let{includedColumns:t,excludedColumns:n}=x(e.slice(a+1,i));l.includedColumns=t,l.excludedColumns=n}let d=_(l.widgetId),f=`${e.slice(0,r)}${d}${e.slice(i+1)}`;return this.addWidgets([l]),this.transformToAggregationWidgetSyntax(f)}transformToAggregationFunctionSyntax(e){let t=e.match(f);if(!t)return e;let n=t.index??0,r=n+t[0].length-1,i=t[1],a=this.getWidget(i),o=a?this.transformToAggregationFunctionSyntax(v(a,this.aggregationFunctionDataMap)):``,s=`${e.slice(0,n)}${o}${e.slice(r+1)}`;return this.transformToAggregationFunctionSyntax(s)}};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return _}});
|
|
@@ -17,4 +17,4 @@
|
|
|
17
17
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../formula-display-store-
|
|
20
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../formula-display-store-DER7C0GG.cjs"),t=require("../formula-input-base-CvD0b2cO.cjs"),n=require("../formula-editor-CWKXcUTF.cjs");exports.FormulaAggregationGrouping=e.g,exports.FormulaEditorStore=t.n,Object.defineProperty(exports,"LuzmoFormulaEditor",{enumerable:!0,get:function(){return n.t}}),exports.ROOT_EDITOR_ID=t.r,exports.ensureFormulaCodeMirrorLoaded=e.s,exports.formulaEditorContext=t.i;
|