@limetech/lime-crm-building-blocks 1.129.0 → 1.131.0
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/CHANGELOG.md +14 -0
- package/dist/cjs/filter-group-logic-Bwk6B784.js +136 -0
- package/dist/cjs/{index-C_OnxXhP.js → index-dBY184XR.js} +12 -0
- package/dist/cjs/{index.esm-g8gOl7RV.js → index.esm-DcWSoSRE.js} +2 -2
- package/dist/cjs/lime-crm-building-blocks.cjs.js +2 -2
- package/dist/cjs/lime-query-operators-Ci-RNshi.js +65 -0
- package/dist/cjs/{lime-query-validation-DTurSvtv.js → lime-query-validation-nql4N6Z8.js} +1 -1
- package/dist/cjs/limebb-alert-dialog.cjs.entry.js +2 -2
- package/dist/cjs/limebb-browser.cjs.entry.js +4 -4
- package/dist/cjs/limebb-chat-icon-list_3.cjs.entry.js +6 -6
- package/dist/cjs/limebb-chat-list.cjs.entry.js +3 -3
- package/dist/cjs/limebb-color-palette-picker.cjs.entry.js +2 -2
- package/dist/cjs/limebb-color-palette-swatches.cjs.entry.js +2 -2
- package/dist/cjs/limebb-component-config.cjs.entry.js +3 -3
- package/dist/cjs/limebb-component-picker.cjs.entry.js +2 -2
- package/dist/cjs/limebb-composer-toolbar.cjs.entry.js +4 -4
- package/dist/cjs/limebb-currency-picker.cjs.entry.js +3 -3
- package/dist/cjs/limebb-dashboard-widget.cjs.entry.js +2 -2
- package/dist/cjs/limebb-data-cells.cjs.entry.js +2 -2
- package/dist/cjs/limebb-date-picker.cjs.entry.js +3 -3
- package/dist/cjs/limebb-date-range.cjs.entry.js +2 -2
- package/dist/cjs/limebb-document-chips.cjs.entry.js +2 -2
- package/dist/cjs/limebb-document-item.cjs.entry.js +3 -3
- package/dist/cjs/limebb-document-picker.cjs.entry.js +2 -2
- package/dist/cjs/limebb-empty-state.cjs.entry.js +1 -1
- package/dist/cjs/limebb-feed-item-thumbnail-file-info.cjs.entry.js +2 -2
- package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +3 -3
- package/dist/cjs/limebb-feed.cjs.entry.js +3 -3
- package/dist/cjs/limebb-icon-picker.cjs.entry.js +2 -2
- package/dist/cjs/limebb-info-tile-currency-format.cjs.entry.js +1 -1
- package/dist/cjs/limebb-info-tile-date-format.cjs.entry.js +1 -1
- package/dist/cjs/limebb-info-tile-decimal-format.cjs.entry.js +1 -1
- package/dist/cjs/limebb-info-tile-format.cjs.entry.js +2 -2
- package/dist/cjs/limebb-info-tile-relative-date-format.cjs.entry.js +1 -1
- package/dist/cjs/limebb-info-tile-unit-format.cjs.entry.js +1 -1
- package/dist/cjs/limebb-info-tile.cjs.entry.js +4 -4
- package/dist/cjs/limebb-kanban-group.cjs.entry.js +3 -3
- package/dist/cjs/limebb-kanban-item.cjs.entry.js +3 -3
- package/dist/cjs/limebb-kanban.cjs.entry.js +1 -1
- package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +4 -4
- package/dist/cjs/limebb-lime-query-filter-builder.cjs.entry.js +4 -8
- package/dist/cjs/{limebb-lime-query-filter-group_3.cjs.entry.js → limebb-lime-query-filter-comparison-editor_4.cjs.entry.js} +158 -187
- package/dist/cjs/limebb-lime-query-filter-comparison_2.cjs.entry.js +83 -121
- package/dist/cjs/limebb-lime-query-order-by-editor_2.cjs.entry.js +5 -5
- package/dist/cjs/limebb-lime-query-order-by-item.cjs.entry.js +3 -3
- package/dist/cjs/limebb-lime-query-response-format-builder.cjs.entry.js +4 -4
- package/dist/cjs/limebb-lime-query-response-format-editor_2.cjs.entry.js +2 -2
- package/dist/cjs/limebb-limeobject-file-viewer.cjs.entry.js +2 -2
- package/dist/cjs/limebb-live-docs-info.cjs.entry.js +3 -3
- package/dist/cjs/limebb-loader.cjs.entry.js +2 -2
- package/dist/cjs/limebb-locale-picker.cjs.entry.js +3 -3
- package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +3 -3
- package/dist/cjs/limebb-mention.cjs.entry.js +2 -2
- package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +3 -3
- package/dist/cjs/limebb-notification-item.cjs.entry.js +3 -3
- package/dist/cjs/limebb-notification-list.cjs.entry.js +2 -2
- package/dist/cjs/limebb-object-chip.cjs.entry.js +3 -3
- package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +4 -4
- package/dist/cjs/limebb-property-selector.cjs.entry.js +42 -19
- package/dist/cjs/limebb-rule-arg-filter-editor.cjs.entry.js +2 -2
- package/dist/cjs/limebb-rule-chip-popover.cjs.entry.js +4 -4
- package/dist/cjs/limebb-rule-editor.cjs.entry.js +104 -12
- package/dist/cjs/limebb-rule-gate.cjs.entry.js +3 -3
- package/dist/cjs/limebb-text-editor-picker.cjs.entry.js +1 -1
- package/dist/cjs/limebb-text-editor.cjs.entry.js +4 -4
- package/dist/cjs/limebb-trend-indicator.cjs.entry.js +3 -3
- package/dist/cjs/{limetype-DJNXULgk.js → limetype-CNjUGemK.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{web-component-template-BWCutZB6.js → web-component-template-CZ0lPHIg.js} +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/alert-dialog/alert-dialog.js +1 -1
- package/dist/collection/components/browser/browser.js +2 -2
- package/dist/collection/components/chat-list/chat-icon-list/chat-icon-list.js +1 -1
- package/dist/collection/components/chat-list/chat-item/chat-item.js +2 -2
- package/dist/collection/components/chat-list/chat-list.js +1 -1
- package/dist/collection/components/chat-list/typing-indicator/typing-indicator.js +1 -1
- package/dist/collection/components/color-palette-picker/color-palette-picker.js +1 -1
- package/dist/collection/components/color-palette-picker/color-palette-swatches/color-palette-swatches.js +1 -1
- package/dist/collection/components/composer-toolbar/composer-toolbar.js +2 -2
- package/dist/collection/components/currency-picker/currency-picker.js +1 -1
- package/dist/collection/components/dashboard-widget/dashboard-widget.js +1 -1
- package/dist/collection/components/date-picker/date-picker.js +1 -1
- package/dist/collection/components/date-range/date-range.js +1 -1
- package/dist/collection/components/document-chips/document-chips.js +1 -1
- package/dist/collection/components/document-picker/document-item/document-item.js +2 -2
- package/dist/collection/components/document-picker/document-picker.js +1 -1
- package/dist/collection/components/feed/feed-item/feed-timeline-item.js +1 -1
- package/dist/collection/components/feed/feed-item-thumbnail-file-info/feed-item-thumbnail-file-info.js +1 -1
- package/dist/collection/components/feed/feed.js +1 -1
- package/dist/collection/components/icon-picker/icon-picker.js +1 -1
- package/dist/collection/components/info-tile/format/config/info-tile-format.js +1 -1
- package/dist/collection/components/info-tile/info-tile.js +1 -1
- package/dist/collection/components/kanban/kanban-group/kanban-group.js +1 -1
- package/dist/collection/components/kanban/kanban-item/kanban-item.js +1 -1
- package/dist/collection/components/lime-query-builder/expressions/filter-group-logic.js +75 -72
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-builder.js +2 -6
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison-editor.css +12 -0
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison-editor.js +231 -0
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.css +2 -17
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +91 -118
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-expression.js +9 -14
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.css +105 -179
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.js +93 -94
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.js +1 -1
- package/dist/collection/components/lime-query-builder/expressions/lime-query-operators.js +60 -0
- package/dist/collection/components/lime-query-builder/lime-query-builder.js +1 -1
- package/dist/collection/components/lime-query-builder/lime-query-response-format-builder.js +1 -1
- package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +1 -1
- package/dist/collection/components/lime-query-builder/order-by/order-by-editor.js +1 -1
- package/dist/collection/components/lime-query-builder/order-by/order-by-item.js +2 -2
- package/dist/collection/components/lime-query-builder/property-selector/property-selector.js +39 -16
- package/dist/collection/components/lime-query-builder/response-format/response-format-item.js +1 -1
- package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
- package/dist/collection/components/locale-picker/locale-picker.js +1 -1
- package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
- package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
- package/dist/collection/components/rule-editor/chip-picker-view.js +2 -2
- package/dist/collection/components/rule-editor/rule-chip-popover/rule-chip-popover.js +1 -1
- package/dist/collection/components/rule-editor/rule-editor.css +1 -0
- package/dist/collection/components/rule-editor/rule-editor.js +102 -10
- package/dist/collection/components/rule-editor/view-helpers.js +9 -0
- package/dist/collection/components/rule-gate/rule-gate.js +1 -1
- package/dist/collection/components/summary-popover/summary-popover.js +2 -2
- package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
- package/dist/collection/components/text-editor/text-editor.js +1 -1
- package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
- package/dist/components/chat-icon-list.js +1 -1
- package/dist/components/chat-item.js +1 -1
- package/dist/components/currency-picker.js +1 -1
- package/dist/components/date-picker.js +1 -1
- package/dist/components/document-item.js +1 -1
- package/dist/components/feed-item-thumbnail-file-info.js +1 -1
- package/dist/components/feed-timeline-item.js +1 -1
- package/dist/components/kanban-group.js +1 -1
- package/dist/components/kanban-item.js +1 -1
- package/dist/components/lime-query-filter-builder.js +1 -1
- package/dist/components/lime-query-filter-comparison-editor.js +1 -0
- package/dist/components/lime-query-filter-comparison.js +1 -1
- package/dist/components/lime-query-filter-expression.js +1 -1
- package/dist/components/limebb-alert-dialog.js +1 -1
- package/dist/components/limebb-browser.js +1 -1
- package/dist/components/limebb-chat-list.js +1 -1
- package/dist/components/limebb-color-palette-picker.js +1 -1
- package/dist/components/limebb-color-palette-swatches.js +1 -1
- package/dist/components/limebb-composer-toolbar.js +1 -1
- package/dist/components/limebb-dashboard-widget.js +1 -1
- package/dist/components/limebb-date-range.js +1 -1
- package/dist/components/limebb-document-chips.js +1 -1
- package/dist/components/limebb-document-picker.js +1 -1
- package/dist/components/limebb-feed.js +1 -1
- package/dist/components/limebb-icon-picker.js +1 -1
- package/dist/components/limebb-info-tile-format.js +1 -1
- package/dist/components/limebb-info-tile.js +1 -1
- package/dist/components/limebb-lime-query-builder.js +1 -1
- package/dist/components/limebb-lime-query-filter-comparison-editor.d.ts +11 -0
- package/dist/components/limebb-lime-query-filter-comparison-editor.js +1 -0
- package/dist/components/limebb-lime-query-response-format-builder.js +1 -1
- package/dist/components/limebb-locale-picker.js +1 -1
- package/dist/components/limebb-mention-group-counter.js +1 -1
- package/dist/components/limebb-rule-arg-filter-editor.js +1 -1
- package/dist/components/limebb-rule-editor.js +1 -1
- package/dist/components/limebb-rule-gate.js +1 -1
- package/dist/components/limebb-text-editor.js +1 -1
- package/dist/components/limebb-trend-indicator.js +1 -1
- package/dist/components/limetype-field.js +1 -1
- package/dist/components/live-docs-info.js +1 -1
- package/dist/components/notification-item.js +1 -1
- package/dist/components/order-by-editor.js +1 -1
- package/dist/components/order-by-item.js +1 -1
- package/dist/components/percentage-visualizer.js +1 -1
- package/dist/components/property-selector.js +1 -1
- package/dist/components/response-format-item.js +1 -1
- package/dist/components/rule-chip-popover.js +1 -1
- package/dist/components/summary-popover.js +1 -1
- package/dist/components/typing-indicator.js +1 -1
- package/dist/esm/filter-group-logic-RXn-GGk1.js +126 -0
- package/dist/esm/{index-BIwHMk6j.js → index-DYpn0EkA.js} +12 -0
- package/dist/esm/{index.esm-CJU4N9K8.js → index.esm-DAe4_MLR.js} +1 -1
- package/dist/esm/lime-crm-building-blocks.js +3 -3
- package/dist/esm/lime-query-operators-DYlN1dAt.js +63 -0
- package/dist/esm/{lime-query-validation-COGfPUFN.js → lime-query-validation-DXxPZ2CH.js} +1 -1
- package/dist/esm/limebb-alert-dialog.entry.js +2 -2
- package/dist/esm/limebb-browser.entry.js +4 -4
- package/dist/esm/limebb-chat-icon-list_3.entry.js +6 -6
- package/dist/esm/limebb-chat-list.entry.js +3 -3
- package/dist/esm/limebb-color-palette-picker.entry.js +2 -2
- package/dist/esm/limebb-color-palette-swatches.entry.js +2 -2
- package/dist/esm/limebb-component-config.entry.js +3 -3
- package/dist/esm/limebb-component-picker.entry.js +2 -2
- package/dist/esm/limebb-composer-toolbar.entry.js +4 -4
- package/dist/esm/limebb-currency-picker.entry.js +3 -3
- package/dist/esm/limebb-dashboard-widget.entry.js +2 -2
- package/dist/esm/limebb-data-cells.entry.js +2 -2
- package/dist/esm/limebb-date-picker.entry.js +3 -3
- package/dist/esm/limebb-date-range.entry.js +2 -2
- package/dist/esm/limebb-document-chips.entry.js +2 -2
- package/dist/esm/limebb-document-item.entry.js +3 -3
- package/dist/esm/limebb-document-picker.entry.js +2 -2
- package/dist/esm/limebb-empty-state.entry.js +1 -1
- package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +2 -2
- package/dist/esm/limebb-feed-timeline-item.entry.js +3 -3
- package/dist/esm/limebb-feed.entry.js +3 -3
- package/dist/esm/limebb-icon-picker.entry.js +2 -2
- package/dist/esm/limebb-info-tile-currency-format.entry.js +1 -1
- package/dist/esm/limebb-info-tile-date-format.entry.js +1 -1
- package/dist/esm/limebb-info-tile-decimal-format.entry.js +1 -1
- package/dist/esm/limebb-info-tile-format.entry.js +2 -2
- package/dist/esm/limebb-info-tile-relative-date-format.entry.js +1 -1
- package/dist/esm/limebb-info-tile-unit-format.entry.js +1 -1
- package/dist/esm/limebb-info-tile.entry.js +4 -4
- package/dist/esm/limebb-kanban-group.entry.js +3 -3
- package/dist/esm/limebb-kanban-item.entry.js +3 -3
- package/dist/esm/limebb-kanban.entry.js +1 -1
- package/dist/esm/limebb-lime-query-builder.entry.js +4 -4
- package/dist/esm/limebb-lime-query-filter-builder.entry.js +4 -8
- package/dist/esm/{limebb-lime-query-filter-group_3.entry.js → limebb-lime-query-filter-comparison-editor_4.entry.js} +158 -188
- package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +83 -121
- package/dist/esm/limebb-lime-query-order-by-editor_2.entry.js +5 -5
- package/dist/esm/limebb-lime-query-order-by-item.entry.js +3 -3
- package/dist/esm/limebb-lime-query-response-format-builder.entry.js +4 -4
- package/dist/esm/limebb-lime-query-response-format-editor_2.entry.js +2 -2
- package/dist/esm/limebb-limeobject-file-viewer.entry.js +2 -2
- package/dist/esm/limebb-live-docs-info.entry.js +3 -3
- package/dist/esm/limebb-loader.entry.js +2 -2
- package/dist/esm/limebb-locale-picker.entry.js +3 -3
- package/dist/esm/limebb-mention-group-counter.entry.js +3 -3
- package/dist/esm/limebb-mention.entry.js +2 -2
- package/dist/esm/limebb-navigation-button_2.entry.js +3 -3
- package/dist/esm/limebb-notification-item.entry.js +3 -3
- package/dist/esm/limebb-notification-list.entry.js +2 -2
- package/dist/esm/limebb-object-chip.entry.js +3 -3
- package/dist/esm/limebb-percentage-visualizer.entry.js +4 -4
- package/dist/esm/limebb-property-selector.entry.js +42 -19
- package/dist/esm/limebb-rule-arg-filter-editor.entry.js +2 -2
- package/dist/esm/limebb-rule-chip-popover.entry.js +4 -4
- package/dist/esm/limebb-rule-editor.entry.js +104 -12
- package/dist/esm/limebb-rule-gate.entry.js +3 -3
- package/dist/esm/limebb-text-editor-picker.entry.js +1 -1
- package/dist/esm/limebb-text-editor.entry.js +4 -4
- package/dist/esm/limebb-trend-indicator.entry.js +3 -3
- package/dist/esm/{limetype-Dc4uQPMG.js → limetype-C1wEJnPI.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{web-component-template-6zRYia86.js → web-component-template-D6zkEjKN.js} +1 -1
- package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
- package/dist/lime-crm-building-blocks/{p-34eb61da.entry.js → p-00d00277.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-072756ea.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-32c3789e.entry.js → p-07ef2fd0.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-c609b5ec.entry.js → p-0ba1294a.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-7fee7ef3.entry.js → p-0fac2307.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-97e6712f.entry.js → p-16fa6f3e.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-0c572fe9.entry.js → p-18ce3ce5.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-1dfdf045.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-20206710.entry.js → p-22296e19.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-1747221f.entry.js → p-24337de2.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-de6f4670.entry.js → p-3996a598.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-d2a01f51.entry.js → p-3bff70d2.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-7c96b265.entry.js → p-3c437049.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-3a112b17.entry.js → p-43af24b5.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-2cb31064.entry.js → p-464b02c2.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-02565865.entry.js → p-47a7b3fd.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-e6083593.entry.js → p-4c10bea0.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-e7a10082.entry.js → p-4e0d077b.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-25d8a718.entry.js → p-5006c5ea.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-c678f22f.entry.js → p-52c07130.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-492b1b0c.entry.js → p-55692241.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-b2383e7f.entry.js → p-5573a867.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-bec4231f.entry.js → p-563d69ff.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-32f8477f.entry.js → p-571777c3.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-4446f170.entry.js → p-58e63c29.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-31d8f414.entry.js → p-5a718d20.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-9c27e558.entry.js → p-5eef1781.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-861ac606.entry.js → p-603ab702.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-3252e153.entry.js → p-661e4700.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-184ae23d.entry.js → p-68a951f5.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-ed1e7e34.entry.js → p-692084d2.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-1428aa13.entry.js → p-6ee28dfc.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-fdd236ff.entry.js → p-725e6748.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-c394c1f6.entry.js → p-7a4704dc.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-48c2b617.entry.js → p-7b9359cc.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-6ff38954.entry.js → p-7d969bbe.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-eb8d58ab.entry.js → p-7f5c97fe.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-6cceabf1.entry.js → p-81655182.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-8238723b.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-2a3098a7.entry.js → p-898b097e.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-46c00a4b.entry.js → p-8d14a58a.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-48deac2a.entry.js → p-8d5311e4.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-08eb070d.entry.js → p-8ed7b025.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-99464fa7.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-C_tMNOSt.js → p-BKtEmDNs.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-BV8CPdbi.js → p-BbFGcMnU.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-C84z8BwL.js → p-CqRNpSRV.js} +1 -1
- package/dist/lime-crm-building-blocks/p-D3UYWGdn.js +1 -0
- package/dist/lime-crm-building-blocks/p-DYpn0EkA.js +2 -0
- package/dist/lime-crm-building-blocks/{p-BsNp-hBU.js → p-DzXJyKRS.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-d910699a.entry.js → p-a5850f04.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-8d3fa274.entry.js → p-a6103d04.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-b24b7338.entry.js → p-b01f2045.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-731820f0.entry.js → p-b16bbda2.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-dabb227b.entry.js → p-b424f55f.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-b95b94b6.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-2a46f4be.entry.js → p-bd264cfa.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-9e5862de.entry.js → p-c7c5991f.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-c9003b76.entry.js → p-dc1d543d.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-e4fe45d3.entry.js → p-dc3a86f3.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-ec335be5.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-5743a74e.entry.js → p-ecd0280d.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-efab4f7e.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-9f7992b0.entry.js → p-efb70fbb.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-3263f8d5.entry.js → p-f011673a.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-y_s8hZmV.js +1 -0
- package/dist/types/components/lime-query-builder/expressions/filter-group-logic.d.ts +56 -54
- package/dist/types/components/lime-query-builder/expressions/lime-query-filter-comparison-editor.d.ts +29 -0
- package/dist/types/components/lime-query-builder/expressions/lime-query-filter-comparison.d.ts +12 -9
- package/dist/types/components/lime-query-builder/expressions/lime-query-filter-expression.d.ts +4 -0
- package/dist/types/components/lime-query-builder/expressions/lime-query-filter-group.d.ts +14 -30
- package/dist/types/components/lime-query-builder/expressions/lime-query-operators.d.ts +12 -0
- package/dist/types/components/lime-query-builder/property-selector/property-selector.d.ts +1 -0
- package/dist/types/components/rule-editor/rule-editor-views.d.ts +2 -1
- package/dist/types/components/rule-editor/rule-editor.d.ts +54 -3
- package/dist/types/components/rule-editor/view-helpers.d.ts +8 -1
- package/dist/types/components.d.ts +136 -49
- package/package.json +2 -2
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-expression.css +0 -137
- package/dist/lime-crm-building-blocks/p-6002654f.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-7acd06eb.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-89b43ac5.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-BIwHMk6j.js +0 -2
- package/dist/lime-crm-building-blocks/p-a3556715.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-bd6e12e6.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-c6a913af.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-c6fee2bd.entry.js +0 -1
|
@@ -85,7 +85,7 @@ export class ChatList {
|
|
|
85
85
|
this.scrollAnchor.afterRender();
|
|
86
86
|
}
|
|
87
87
|
render() {
|
|
88
|
-
return (h(Host, { key: '
|
|
88
|
+
return (h(Host, { key: 'af1a346523a7b13bb04c6117ae2f9fe9a280e8ef', class: {
|
|
89
89
|
'is-empty': this.items.length === 0 &&
|
|
90
90
|
!this.isTypingIndicatorVisible,
|
|
91
91
|
}, "aria-busy": this.isBusy(), role: "log" }, this.renderSpinner(), this.order === 'newest-on-top' &&
|
|
@@ -7,7 +7,7 @@ import { h } from "@stencil/core";
|
|
|
7
7
|
*/
|
|
8
8
|
export class TypingIndicator {
|
|
9
9
|
render() {
|
|
10
|
-
return (h("div", { key: '
|
|
10
|
+
return (h("div", { key: 'a4979cd24c3d3f0779e0527b1c706a1fdc110405', class: "typing-ellipsis" }, h("div", { key: '087ffe34bdf20f33806fe0d3c5eaada58029254e', class: "circle" }), h("div", { key: 'c222d11fd36fa525f6c6f5f7bed885275b8c1a6a', class: "circle" }), h("div", { key: 'f5ca1f718d90dbaaae06c9718b8fad5159b05665', class: "circle" })));
|
|
11
11
|
}
|
|
12
12
|
static get is() { return "limebb-typing-indicator"; }
|
|
13
13
|
static get encapsulation() { return "shadow"; }
|
|
@@ -58,7 +58,7 @@ export class ColorPalettePicker {
|
|
|
58
58
|
this.optionsById = new Map(this.options.map((option) => [option.value, option]));
|
|
59
59
|
}
|
|
60
60
|
render() {
|
|
61
|
-
return (h(Host, { key: '
|
|
61
|
+
return (h(Host, { key: '3dd67dfb1526e13643cb25e04451fbd7c252cb8f' }, h("limel-select", { key: '590c0f1bf1d869ad51603568d21037a58800de68', label: this.label, helperText: this.helperText, disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, required: this.required, options: this.options, value: this.getSelectedOption(), onChange: this.handleChange })));
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
64
|
* Resolve `this.value` against the cached options map. Returns
|
|
@@ -22,7 +22,7 @@ export class ColorPaletteSwatches {
|
|
|
22
22
|
this.colors = [];
|
|
23
23
|
}
|
|
24
24
|
render() {
|
|
25
|
-
return (h(Host, { key: '
|
|
25
|
+
return (h(Host, { key: 'ae4e71ec4e2e6d45f5c112ba6b28e1a3a9e35d8b', "aria-hidden": "true" }, h("ol", { key: 'e09bd29e6d5ab4ba2f20847e23108637d3e30f21' }, this.colors.map((color, index) => (h("li", { key: index, style: { backgroundColor: color } }))))));
|
|
26
26
|
}
|
|
27
27
|
static get is() { return "limebb-color-palette-swatches"; }
|
|
28
28
|
static get encapsulation() { return "shadow"; }
|
|
@@ -83,8 +83,8 @@ export class ComposerToolbar {
|
|
|
83
83
|
}
|
|
84
84
|
render() {
|
|
85
85
|
return [
|
|
86
|
-
h("div", { key: '
|
|
87
|
-
h("slot", { key: '
|
|
86
|
+
h("div", { key: '47990ebd44bdb54bd555b4bc3d556467d6288072', class: "actions" }, h("slot", { key: '4efcba8ee2d3dfc3a0e710e2837c7ed3148d4917', name: "leading" }), this.renderFileInput(), this.renderTriggerActions(), h("slot", { key: 'ced71524a1aceb0c0cb1a3350478e6e203b76432', name: "trailing" })),
|
|
87
|
+
h("slot", { key: 'e46c67fd7a785c6373c2518023d2a8af1702b3c3', name: "primary-action" }),
|
|
88
88
|
];
|
|
89
89
|
}
|
|
90
90
|
get translator() {
|
|
@@ -84,7 +84,7 @@ export class CurrencyPicker {
|
|
|
84
84
|
};
|
|
85
85
|
}
|
|
86
86
|
render() {
|
|
87
|
-
return (h("limel-picker", { key: '
|
|
87
|
+
return (h("limel-picker", { key: '0c5d2c1bc4543389e6fafaa3113faccc42a09313', label: this.label || this.defaultLabel, value: this.createListItem(this.value), helperText: this.helperText, onChange: this.handleChange, badgeIcons: false, disabled: this.disabled, required: this.required, readonly: this.readonly, invalid: this.readonly, searcher: this.search }));
|
|
88
88
|
}
|
|
89
89
|
getCurrencyName(code) {
|
|
90
90
|
var _a;
|
|
@@ -17,7 +17,7 @@ export class DashboardComponent {
|
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
19
|
render() {
|
|
20
|
-
return [this.renderHeader(), h("slot", { key: '
|
|
20
|
+
return [this.renderHeader(), h("slot", { key: 'f4f4a4e0442f5cfc06ef8f277840810eda9a589c', name: "content" })];
|
|
21
21
|
}
|
|
22
22
|
static get is() { return "limebb-dashboard-widget"; }
|
|
23
23
|
static get encapsulation() { return "shadow"; }
|
|
@@ -66,7 +66,7 @@ export class DatePicker {
|
|
|
66
66
|
if (this.value) {
|
|
67
67
|
this.shouldEmitValueAsString = typeof this.value === 'string';
|
|
68
68
|
}
|
|
69
|
-
return (h("limel-date-picker", { key: '
|
|
69
|
+
return (h("limel-date-picker", { key: '03fcd4817bc780ed9869e07351b2fc20008af09d', disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, label: this.label, placeholder: this.placeholder, helperText: this.helperText, required: this.required, value: this.parseDateValue(), type: this.type, language: this.language, formatter: this.formatter, onChange: this.handleChange }));
|
|
70
70
|
}
|
|
71
71
|
parseDateValue() {
|
|
72
72
|
const value = this.value;
|
|
@@ -33,7 +33,7 @@ export class DateRange {
|
|
|
33
33
|
this.originalEndTime = this.endTime;
|
|
34
34
|
}
|
|
35
35
|
render() {
|
|
36
|
-
return (h("div", { key: '
|
|
36
|
+
return (h("div", { key: 'dd12ade7e65a27dc92fc3c6819e9fd40993bb292', class: "date-pickers" }, this.renderStartDatePicker(), this.renderEndDatePicker()));
|
|
37
37
|
}
|
|
38
38
|
renderStartDatePicker() {
|
|
39
39
|
if (!this.originalStartTime) {
|
|
@@ -44,7 +44,7 @@ export class DocumentChips {
|
|
|
44
44
|
this.revokeAllBlobUrls();
|
|
45
45
|
}
|
|
46
46
|
render() {
|
|
47
|
-
return (h(Host, { key: '
|
|
47
|
+
return (h(Host, { key: 'a4cf5bdcef2b8dc9b206b333baa4ad13e5c11b3e', role: "list", "aria-label": this.accessibleLabel }, this.files.map((file) => this.renderFile(file))));
|
|
48
48
|
}
|
|
49
49
|
renderFile(file) {
|
|
50
50
|
const isReady = !file.uploadState || file.uploadState === 'done';
|
|
@@ -78,10 +78,10 @@ export class DocumentItemComponent {
|
|
|
78
78
|
render() {
|
|
79
79
|
const isUnavailable = this.isUnavailable();
|
|
80
80
|
const image = this.getImage();
|
|
81
|
-
return (h(Host, { key: '
|
|
81
|
+
return (h(Host, { key: '885c9721b9bdedbbb3d74d9e49e646bdf4e54d49', id: String(this.item.file.id), class: {
|
|
82
82
|
'has-image': !!image,
|
|
83
83
|
'has-error': !!this.item.hasError,
|
|
84
|
-
}, role: this.type === 'radio' ? 'radio' : 'checkbox', "aria-checked": this.item.selected ? 'true' : 'false', "aria-disabled": isUnavailable ? 'true' : 'false', tabIndex: isUnavailable ? -1 : 0 }, h("limel-card", { key: '
|
|
84
|
+
}, role: this.type === 'radio' ? 'radio' : 'checkbox', "aria-checked": this.item.selected ? 'true' : 'false', "aria-disabled": isUnavailable ? 'true' : 'false', tabIndex: isUnavailable ? -1 : 0 }, h("limel-card", { key: 'f33b96a2624f6f890259f8c47edcd5058dd3d908', image: image, clickable: isUnavailable ? false : true, onClick: this.handleDocumentItemClick, onKeyDown: this.handleKeyDown }, h("div", { key: 'e0b3efdf16c5455c2fabb052908896ca5fc5ce5b', slot: "component" }, this.renderFileSize(), this.renderBooleanInput())), this.renderHelp()));
|
|
85
85
|
}
|
|
86
86
|
renderBooleanInput() {
|
|
87
87
|
const id = this.getControlId();
|
|
@@ -76,7 +76,7 @@ export class DocumentPicker {
|
|
|
76
76
|
this.labelId = createRandomString();
|
|
77
77
|
}
|
|
78
78
|
render() {
|
|
79
|
-
return (h(Host, { key: '
|
|
79
|
+
return (h(Host, { key: '0253a10e5b2d79a176c0d5d538b8cb6545810276' }, h("limel-notched-outline", { key: 'a0c7a019ccd81f94643075086cc837bb29944fb9', labelId: this.labelId, label: this.label, required: this.required, invalid: this.invalid, hasFloatingLabel: true }, h("limel-masonry-layout", { key: 'f984bcb406575f2af8375d0946e59525d8065780', slot: "content", role: this.type === 'radio' ? 'radiogroup' : 'group', "aria-labelledby": this.label ? this.labelId : undefined, "aria-describedby": this.helperText ? this.helperTextId : undefined }, this.renderItems())), this.renderHelperLine()));
|
|
80
80
|
}
|
|
81
81
|
renderItems() {
|
|
82
82
|
return this.items.map((item) => (h("limebb-document-item", { platform: this.platform, context: this.context, item: item, key: item.file.id, type: this.type, onInteract: this.handleItemInteract })));
|
|
@@ -205,7 +205,7 @@ export class FeedTimelineItem {
|
|
|
205
205
|
render() {
|
|
206
206
|
var _a, _b;
|
|
207
207
|
const helperTextId = `helper-text-${this.item.id}`;
|
|
208
|
-
return (h(Host, { key: '
|
|
208
|
+
return (h(Host, { key: '2ad365b907d0da77fcd0ac20c268f1660390a078', id: this.item.id, class: {
|
|
209
209
|
'has-unpromoted-actions': !!((_a = this.item.unpromotedActions) === null || _a === void 0 ? void 0 : _a.length),
|
|
210
210
|
'has-author-picture': !!((_b = this.item.author) === null || _b === void 0 ? void 0 : _b.picture),
|
|
211
211
|
'shows-less': !this.showMore,
|
|
@@ -8,7 +8,7 @@ import { h } from "@stencil/core";
|
|
|
8
8
|
*/
|
|
9
9
|
export class FeedItemThumbnailFileInfo {
|
|
10
10
|
render() {
|
|
11
|
-
return h("span", { key: '
|
|
11
|
+
return h("span", { key: 'b935904ec21f27bfa83c0889816bfdaad2b37f8b' }, this.description);
|
|
12
12
|
}
|
|
13
13
|
static get is() { return "limebb-feed-item-thumbnail-file-info"; }
|
|
14
14
|
static get encapsulation() { return "shadow"; }
|
|
@@ -103,7 +103,7 @@ export class Feed {
|
|
|
103
103
|
this.highlighter.unregisterFeed(this.feedItemElement);
|
|
104
104
|
}
|
|
105
105
|
render() {
|
|
106
|
-
return (h(Host, { key: '
|
|
106
|
+
return (h(Host, { key: 'c5df548b29bd1f2a6a2bc133a5095968ca10dd9d', role: "log", "aria-busy": this.loading ? 'true' : 'false', style: {
|
|
107
107
|
'--limebb-feed-highlight-duration': `${ITEM_HIGHLIGHT_DURATION}ms`,
|
|
108
108
|
} }, this.renderLoadMore(), this.renderEmptyFeedMessage(), this.renderSpinner(), this.renderFeedItems()));
|
|
109
109
|
}
|
|
@@ -35,7 +35,7 @@ export class IconPicker {
|
|
|
35
35
|
icon: this.value,
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
|
-
return (h("limel-picker", { key: '
|
|
38
|
+
return (h("limel-picker", { key: 'b3931d11e41ded06563c989433ef7fa6d09ed2ea', label: this.label, helperText: this.helperText, disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, required: this.required, value: value, searcher: this.search, onChange: this.handleChange, badgeIcons: false, leadingIcon: "search", searchLabel: "Start typing to find the right icon" }));
|
|
39
39
|
}
|
|
40
40
|
static get is() { return "limebb-icon-picker"; }
|
|
41
41
|
static get encapsulation() { return "shadow"; }
|
|
@@ -92,7 +92,7 @@ export class InfoTileAdminConfig {
|
|
|
92
92
|
},
|
|
93
93
|
];
|
|
94
94
|
return [
|
|
95
|
-
h("limel-button-group", { key: '
|
|
95
|
+
h("limel-button-group", { key: 'ad44098032f89893e8e9ba287e1d7f786f2a11d7', value: buttons.filter(this.isValidButton), onChange: this.handleChangeType }),
|
|
96
96
|
this.renderFormatConfig(),
|
|
97
97
|
];
|
|
98
98
|
}
|
|
@@ -103,7 +103,7 @@ export class InfoTile {
|
|
|
103
103
|
const errorProps = Object.assign(Object.assign({}, baseProps), { icon: 'error', prefix: 'ERROR', loading: true, label: this.getLabel(filter) });
|
|
104
104
|
const normalProps = Object.assign(Object.assign({}, baseProps), { label: this.getLabel(filter), link: this.getLink(filter), loading: this.loading, value: value === null || value === void 0 ? void 0 : value.value.trim() });
|
|
105
105
|
const props = !filter || this.error ? errorProps : normalProps;
|
|
106
|
-
return (h("limel-info-tile", Object.assign({ key: '
|
|
106
|
+
return (h("limel-info-tile", Object.assign({ key: '0b1ada2299bec6b79e903f3612e3c1cfbbf31827', class: { error: !filter || this.error } }, props)));
|
|
107
107
|
}
|
|
108
108
|
getFormattedValue() {
|
|
109
109
|
if (!this.value && this.value !== 0) {
|
|
@@ -27,7 +27,7 @@ export class KanbanGroup {
|
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
29
|
render() {
|
|
30
|
-
return (h(Host, { key: '
|
|
30
|
+
return (h(Host, { key: '03d233a753a8c61ae453697fde91284180557760' }, this.renderHelp(), this.renderGroupHeading(), this.renderGroupSummary(), this.renderItems()));
|
|
31
31
|
}
|
|
32
32
|
renderGroupSummary() {
|
|
33
33
|
if (!this.summary || !this.totalCount) {
|
|
@@ -55,7 +55,7 @@ export class KanbanItemComponent {
|
|
|
55
55
|
}
|
|
56
56
|
render() {
|
|
57
57
|
var _a, _b;
|
|
58
|
-
return (h(Host, { key: '
|
|
58
|
+
return (h(Host, { key: 'ee9ebc5f113a4fd3202c3d8a7f4d4c52d6b6fd82', id: this.item.id.toString(), class: {
|
|
59
59
|
'has-unpromoted-actions': !!((_a = this.item.unpromotedActions) === null || _a === void 0 ? void 0 : _a.length),
|
|
60
60
|
'is-selected': !!((_b = this.item) === null || _b === void 0 ? void 0 : _b.selected),
|
|
61
61
|
}, style: {
|
|
@@ -1,23 +1,71 @@
|
|
|
1
1
|
import { Operator, } from "@limetech/lime-web-components";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* @param
|
|
6
|
-
* @param expressionCount - Number of child expressions
|
|
7
|
-
* @returns Subheading text, or empty string if 0 or 1 expressions
|
|
3
|
+
* Identify the combinator a group expression represents. NOT-wrapped AND/OR
|
|
4
|
+
* groups are reported as NOT_AND / NOT_OR; bare AND/OR as AND/OR.
|
|
5
|
+
* @param expression
|
|
8
6
|
*/
|
|
9
|
-
export function
|
|
10
|
-
if (
|
|
11
|
-
return '';
|
|
7
|
+
export function getCombinator(expression) {
|
|
8
|
+
if (expression.op === Operator.NOT) {
|
|
9
|
+
return expression.exp.op === Operator.AND ? 'NOT_AND' : 'NOT_OR';
|
|
12
10
|
}
|
|
13
|
-
return
|
|
14
|
-
? 'All of these conditions are met'
|
|
15
|
-
: 'Any of these conditions are met';
|
|
11
|
+
return expression.op === Operator.AND ? 'AND' : 'OR';
|
|
16
12
|
}
|
|
17
13
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
|
|
14
|
+
* Return the inner AND/OR group, unwrapping a NOT wrapper if present.
|
|
15
|
+
* @param expression
|
|
16
|
+
*/
|
|
17
|
+
export function getInnerAndOr(expression) {
|
|
18
|
+
if (expression.op === Operator.NOT) {
|
|
19
|
+
return expression.exp;
|
|
20
|
+
}
|
|
21
|
+
return expression;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Transform a group expression into the shape implied by the new combinator,
|
|
25
|
+
* preserving children. Use this for combinator-pill transitions.
|
|
26
|
+
* @param expression
|
|
27
|
+
* @param next
|
|
28
|
+
*/
|
|
29
|
+
export function setCombinator(expression, next) {
|
|
30
|
+
const inner = getInnerAndOr(expression);
|
|
31
|
+
const nextInnerOp = next === 'AND' || next === 'NOT_AND' ? Operator.AND : Operator.OR;
|
|
32
|
+
const nextInner = {
|
|
33
|
+
op: nextInnerOp,
|
|
34
|
+
exp: [...inner.exp],
|
|
35
|
+
};
|
|
36
|
+
if (next === 'NOT_AND' || next === 'NOT_OR') {
|
|
37
|
+
return { op: Operator.NOT, exp: nextInner };
|
|
38
|
+
}
|
|
39
|
+
return nextInner;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Type predicate for bare `AND`/`OR` groups and `NOT { AND ... }` /
|
|
43
|
+
* `NOT { OR ... }` — the shapes the group component renders via its
|
|
44
|
+
* combinator pill. Bare comparisons or `NOT { NOT ... }` wrap-shapes
|
|
45
|
+
* are not group-shaped.
|
|
46
|
+
* @param expression
|
|
47
|
+
*/
|
|
48
|
+
export function isGroupShape(expression) {
|
|
49
|
+
if (expression.op === Operator.AND || expression.op === Operator.OR) {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
if (expression.op === Operator.NOT) {
|
|
53
|
+
const inner = expression.exp;
|
|
54
|
+
return inner.op === Operator.AND || inner.op === Operator.OR;
|
|
55
|
+
}
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Returns the expression as a `GroupExpression` when it is group-shaped,
|
|
60
|
+
* otherwise `undefined`. Lets callers route to the group component without a
|
|
61
|
+
* visible cast at the call site.
|
|
62
|
+
* @param expression
|
|
63
|
+
*/
|
|
64
|
+
export function asGroupExpression(expression) {
|
|
65
|
+
return isGroupShape(expression) ? expression : undefined;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Create a new empty comparison expression.
|
|
21
69
|
*/
|
|
22
70
|
export function createEmptyComparison() {
|
|
23
71
|
return {
|
|
@@ -27,10 +75,8 @@ export function createEmptyComparison() {
|
|
|
27
75
|
};
|
|
28
76
|
}
|
|
29
77
|
/**
|
|
30
|
-
* Create a new nested group with the opposite operator from the parent
|
|
31
|
-
*
|
|
32
|
-
* @param parentOperator - The parent group's operator
|
|
33
|
-
* @returns A new group with the opposite operator and one empty comparison
|
|
78
|
+
* Create a new nested group with the opposite operator from the parent.
|
|
79
|
+
* @param parentOperator
|
|
34
80
|
*/
|
|
35
81
|
export function createNestedGroup(parentOperator) {
|
|
36
82
|
const oppositeOp = parentOperator === Operator.AND ? Operator.OR : Operator.AND;
|
|
@@ -40,11 +86,9 @@ export function createNestedGroup(parentOperator) {
|
|
|
40
86
|
};
|
|
41
87
|
}
|
|
42
88
|
/**
|
|
43
|
-
* Add a new expression to a group immutably
|
|
44
|
-
*
|
|
45
|
-
* @param
|
|
46
|
-
* @param newExpression - The expression to add
|
|
47
|
-
* @returns A new group with the expression added to the end
|
|
89
|
+
* Add a new expression to a group immutably.
|
|
90
|
+
* @param group
|
|
91
|
+
* @param newExpression
|
|
48
92
|
*/
|
|
49
93
|
export function addExpressionToGroup(group, newExpression) {
|
|
50
94
|
return {
|
|
@@ -53,68 +97,27 @@ export function addExpressionToGroup(group, newExpression) {
|
|
|
53
97
|
};
|
|
54
98
|
}
|
|
55
99
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* @param group
|
|
59
|
-
* @
|
|
60
|
-
|
|
61
|
-
export function toggleGroupOperator(group) {
|
|
62
|
-
const newOperator = group.op === Operator.AND ? Operator.OR : Operator.AND;
|
|
63
|
-
return {
|
|
64
|
-
op: newOperator,
|
|
65
|
-
exp: [...group.exp],
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Update a child expression in a group, handling deletion and unwrapping
|
|
70
|
-
*
|
|
71
|
-
* This function handles three scenarios:
|
|
72
|
-
* 1. Update: Replace a child expression with a new one
|
|
73
|
-
* 2. Delete: Remove a child (when updatedChild is undefined)
|
|
74
|
-
* - If last child is deleted, return 'removed' (group should be deleted)
|
|
75
|
-
* - If deletion leaves one child, return 'unwrapped' (unwrap to that child)
|
|
76
|
-
* - Otherwise, return 'updated' with the remaining children
|
|
77
|
-
*
|
|
78
|
-
* @param group - The group containing the child
|
|
79
|
-
* @param childIndex - Index of the child to update
|
|
80
|
-
* @param updatedChild - The new child expression, or undefined to delete
|
|
81
|
-
* @returns Result object with type and resulting expression
|
|
100
|
+
* Update or delete a child of a group, immutably. Deleting the last
|
|
101
|
+
* child returns `{ type: 'removed' }` so the caller can drop the group.
|
|
102
|
+
* @param group
|
|
103
|
+
* @param childIndex
|
|
104
|
+
* @param updatedChild
|
|
82
105
|
*/
|
|
83
106
|
export function updateChildExpression(group, childIndex, updatedChild) {
|
|
84
107
|
const expressions = [...group.exp];
|
|
85
108
|
if (!updatedChild) {
|
|
86
|
-
// Deletion - remove the child
|
|
87
109
|
expressions.splice(childIndex, 1);
|
|
88
110
|
if (expressions.length === 0) {
|
|
89
|
-
|
|
90
|
-
return {
|
|
91
|
-
type: 'removed',
|
|
92
|
-
expression: undefined,
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
if (expressions.length === 1) {
|
|
96
|
-
// One child left - unwrap to that child
|
|
97
|
-
return {
|
|
98
|
-
type: 'unwrapped',
|
|
99
|
-
expression: expressions[0],
|
|
100
|
-
};
|
|
111
|
+
return { type: 'removed', expression: undefined };
|
|
101
112
|
}
|
|
102
|
-
// Multiple children remain - return updated group
|
|
103
113
|
return {
|
|
104
114
|
type: 'updated',
|
|
105
|
-
expression: {
|
|
106
|
-
op: group.op,
|
|
107
|
-
exp: expressions,
|
|
108
|
-
},
|
|
115
|
+
expression: { op: group.op, exp: expressions },
|
|
109
116
|
};
|
|
110
117
|
}
|
|
111
|
-
// Update - replace the child
|
|
112
118
|
expressions[childIndex] = updatedChild;
|
|
113
119
|
return {
|
|
114
120
|
type: 'updated',
|
|
115
|
-
expression: {
|
|
116
|
-
op: group.op,
|
|
117
|
-
exp: expressions,
|
|
118
|
-
},
|
|
121
|
+
expression: { op: group.op, exp: expressions },
|
|
119
122
|
};
|
|
120
123
|
}
|
package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-builder.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
2
|
import { Operator, } from "@limetech/lime-web-components";
|
|
3
|
+
import { isGroupShape } from "./filter-group-logic";
|
|
3
4
|
/**
|
|
4
5
|
* Lime Query Filter Builder
|
|
5
6
|
*
|
|
@@ -62,12 +63,7 @@ export class LimeQueryFilterBuilderComponent {
|
|
|
62
63
|
if (!this.expression) {
|
|
63
64
|
return false;
|
|
64
65
|
}
|
|
65
|
-
|
|
66
|
-
if ('key' in this.expression) {
|
|
67
|
-
return true;
|
|
68
|
-
}
|
|
69
|
-
// NOT needs promotion
|
|
70
|
-
return this.expression.op === Operator.NOT;
|
|
66
|
+
return !isGroupShape(this.expression);
|
|
71
67
|
}
|
|
72
68
|
renderEmptyState() {
|
|
73
69
|
return (h("limel-button", { label: "Condition", icon: {
|