@limetech/lime-crm-building-blocks 1.139.0 → 1.140.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 +16 -0
- package/dist/cjs/{filter-condition-icons-HypsDn6x.js → filter-condition-icons-QK5stWj6.js} +142 -0
- package/dist/cjs/{filter-group-logic-BoF3Z5_P.js → filter-group-logic-BPpM2NqX.js} +1 -1
- package/dist/cjs/filter-operators-BTWvpD6A.js +61 -0
- package/dist/cjs/{index-B9Bi9dpZ.js → index-BrWc7h0p.js} +1 -1
- package/dist/cjs/index.cjs.js +8 -1
- package/dist/cjs/{index.esm-8LHVbTD0.js → index.esm-Se3EtD3m.js} +2 -2
- package/dist/cjs/lime-crm-building-blocks.cjs.js +3 -3
- package/dist/cjs/{lime-query-validation-q-sH7XSs.js → lime-query-validation-CJC3mtnT.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 +7 -7
- 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 +7 -4
- 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 +4 -4
- package/dist/cjs/limebb-feed.cjs.entry.js +91 -34
- package/dist/cjs/{limebb-filter-chip_5.cjs.entry.js → limebb-filter-chip_6.cjs.entry.js} +120 -86
- 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 +4 -4
- package/dist/cjs/limebb-kanban-item.cjs.entry.js +4 -4
- 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 +3 -3
- package/dist/cjs/limebb-lime-query-filter-comparison_2.cjs.entry.js +10 -27
- 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 +3 -3
- 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 +5 -5
- package/dist/cjs/limebb-property-selector.cjs.entry.js +3 -3
- 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 +3 -3
- 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 +4 -4
- package/dist/cjs/limebb-value-comparison-editor.cjs.entry.js +39 -37
- package/dist/cjs/{limetype-CK5MVyW0.js → limetype-CmgP0nbZ.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{web-component-template-7B9wK2bO.js → web-component-template-C9hvjrMm.js} +1 -1
- package/dist/collection/collection-manifest.json +2 -1
- 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.css +7 -5
- 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/data-cells/data-cells.js +5 -2
- 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.css +32 -24
- 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 +2 -2
- package/dist/collection/components/filter-chip/filter-chip.css +19 -17
- package/dist/collection/components/filter-chip/filter-chip.js +3 -3
- package/dist/collection/components/filter-chip/filter-condition-icons.js +141 -0
- package/dist/collection/components/filter-chip/filter-operators.js +54 -0
- package/dist/collection/components/filter-condition-picker/filter-condition-picker.css +7 -0
- package/dist/collection/components/filter-condition-picker/filter-condition-picker.js +256 -0
- 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.css +14 -12
- package/dist/collection/components/kanban/kanban-group/kanban-group.js +1 -1
- package/dist/collection/components/kanban/kanban-item/kanban-item.css +11 -7
- package/dist/collection/components/kanban/kanban-item/kanban-item.js +1 -1
- package/dist/collection/components/lime-query-builder/expressions/compound-leaf.js +6 -6
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison-editor.js +37 -20
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +8 -25
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.css +4 -4
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.js +2 -2
- 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 +23 -57
- 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/response-format/response-format-item.css +8 -6
- 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.css +7 -7
- package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +5 -5
- package/dist/collection/components/rule-editor/rule-chip-popover/rule-chip-popover.js +1 -1
- package/dist/collection/components/rule-editor/rule-editor.js +1 -1
- package/dist/collection/components/rule-editor/value-comparison-editor/value-comparison-editor.js +62 -36
- 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.css +7 -7
- package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
- package/dist/collection/index.js +1 -0
- 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/filter-chip.js +1 -1
- package/dist/components/filter-condition-icons.js +1 -1
- package/dist/components/filter-condition-picker.js +1 -0
- package/dist/components/filter-operators.js +1 -0
- package/dist/components/index.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 -1
- 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-data-cells.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-filter-condition-picker.d.ts +11 -0
- package/dist/components/limebb-filter-condition-picker.js +1 -0
- 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-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/limebb-value-comparison-editor.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/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-condition-icons-D8CJOcfs.js → filter-condition-icons-C_y3-T4Q.js} +142 -1
- package/dist/esm/{filter-group-logic-CRznE2g-.js → filter-group-logic-BMY_GEsX.js} +1 -1
- package/dist/esm/filter-operators-Lw-ccmxQ.js +57 -0
- package/dist/esm/{index-LEJjPpY0.js → index-DwHAn7LS.js} +1 -1
- package/dist/esm/{index.esm-B7wJLMmp.js → index.esm-C-L5fkQs.js} +1 -1
- package/dist/esm/index.js +4 -1
- package/dist/esm/lime-crm-building-blocks.js +4 -4
- package/dist/esm/{lime-query-validation-Dds_iPHd.js → lime-query-validation-BwvluehW.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 +7 -7
- 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 +7 -4
- 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 +4 -4
- package/dist/esm/limebb-feed.entry.js +91 -34
- package/dist/esm/{limebb-filter-chip_5.entry.js → limebb-filter-chip_6.entry.js} +120 -87
- 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 +4 -4
- package/dist/esm/limebb-kanban-item.entry.js +4 -4
- 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 +3 -3
- package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +10 -27
- 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 +3 -3
- 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 +5 -5
- package/dist/esm/limebb-property-selector.entry.js +3 -3
- 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 +3 -3
- 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 +4 -4
- package/dist/esm/limebb-value-comparison-editor.entry.js +39 -37
- package/dist/esm/{limetype-DH77rgZZ.js → limetype-D4ZaWZ-3.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{web-component-template-CXFK-BYa.js → web-component-template-CAI6pXCH.js} +1 -1
- package/dist/lime-crm-building-blocks/index.esm.js +1 -1
- package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
- package/dist/lime-crm-building-blocks/{p-bb825e68.entry.js → p-00ca6522.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-01f84b0c.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-7597eb85.entry.js → p-0253fd45.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-ae9780ff.entry.js → p-05a1762a.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-4f398108.entry.js → p-0c4f6220.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-ae802651.entry.js → p-19dc7242.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-e4aeb4fe.entry.js → p-1f97e235.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-0b13889c.entry.js → p-22e68812.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-4bdf9821.entry.js → p-251aca46.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-2caee700.entry.js → p-29758303.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-37c0a17f.entry.js → p-2dab7d4b.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-382ab76b.entry.js → p-2e48601d.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-db9ed6ed.entry.js → p-354257f4.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-5960143c.entry.js → p-3bf316f9.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-e4ccc690.entry.js → p-3f537135.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-fe9cbbdd.entry.js → p-430e3d11.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-9b411072.entry.js → p-43bdd66b.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-58f18819.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-b6a8ad7a.entry.js → p-6f4e2590.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-6fe4c1cd.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-3e9de50b.entry.js → p-7033d408.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-6a7eb5b2.entry.js → p-73b71080.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-752742f8.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-b0ac4a5f.entry.js → p-7b6c9cbf.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-6db41866.entry.js → p-80e04b27.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-be4829f3.entry.js → p-863f456c.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-1cd45d56.entry.js → p-896e77b9.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-19b95901.entry.js → p-8986f27b.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-bec2bcef.entry.js → p-89f120f8.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-92bf5318.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-edf566e7.entry.js → p-9452fb56.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-e031c267.entry.js → p-964b066d.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-639032ba.entry.js → p-97839894.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-B-WBKAaa.js +1 -0
- package/dist/lime-crm-building-blocks/p-BjXRsiQr.js +1 -0
- package/dist/lime-crm-building-blocks/{p-Dtg8KAQt.js → p-Bkno2RtN.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-DM0fyjo-.js → p-CI6VHE0w.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-D8CJOcfs.js → p-C_y3-T4Q.js} +1 -1
- package/dist/lime-crm-building-blocks/p-D1RJ1y7s.js +1 -0
- package/dist/lime-crm-building-blocks/{p-BxpMk4Zk.js → p-DI3GWqfD.js} +1 -1
- package/dist/lime-crm-building-blocks/p-a157233b.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-3c6fb9d1.entry.js → p-a4e676a6.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-2091d4c8.entry.js → p-a6e9cefe.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-d5ad0cd9.entry.js → p-aafead4e.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-e2503bad.entry.js → p-b0b8ce73.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-b34817df.entry.js +1 -0
- package/dist/lime-crm-building-blocks/p-c0fa239a.entry.js +1 -0
- package/dist/lime-crm-building-blocks/p-c4e2dca5.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-73fab4a9.entry.js → p-c891125e.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-cac2a49f.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-655f028c.entry.js → p-cd7106f7.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-7dc9923f.entry.js → p-d40f53a5.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-bae91ba0.entry.js → p-d78370be.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-fdd63bcc.entry.js → p-d7d21bad.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-05f8b18e.entry.js → p-dba6f583.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-dbbc5ba7.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-94cee387.entry.js → p-dec2b87d.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-2cac740d.entry.js → p-e242b955.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-27f700c9.entry.js → p-e29c27b8.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-a201e304.entry.js → p-ec1e079e.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-3c19f792.entry.js → p-edeb359f.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-c90ef898.entry.js → p-f1090436.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-6e298dd5.entry.js → p-f3cb68d6.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-46f2667e.entry.js → p-f4214745.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-37fbd50d.entry.js → p-f4d518ec.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-22af159d.entry.js → p-fb050628.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-f3d3ff7e.entry.js → p-fb8d854b.entry.js} +1 -1
- package/dist/types/components/filter-chip/filter-condition-icons.d.ts +8 -0
- package/dist/types/components/filter-chip/filter-operators.d.ts +22 -0
- package/dist/types/components/filter-condition-picker/filter-condition-picker.d.ts +60 -0
- package/dist/types/components/lime-query-builder/expressions/lime-query-filter-comparison-editor.d.ts +8 -4
- package/dist/types/components/lime-query-builder/expressions/lime-query-operators.d.ts +16 -9
- package/dist/types/components/rule-editor/value-comparison-editor/value-comparison-editor.d.ts +7 -2
- package/dist/types/components.d.ts +174 -10
- package/dist/types/index.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +1 -0
- package/package.json +14 -14
- package/dist/lime-crm-building-blocks/p-15bb23c9.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-357c5a54.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-47912c60.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-5f940ea8.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-80f2f76c.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-8eec03b7.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-8f7c054d.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-Bb18Bgig.js +0 -1
- package/dist/lime-crm-building-blocks/p-b6b8dad7.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-cac27f2c.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-d99e57aa.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-f93a749f.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-xIXgZHrE.js +0 -1
- /package/dist/lime-crm-building-blocks/{p-LEJjPpY0.js → p-DwHAn7LS.js} +0 -0
|
@@ -234,18 +234,6 @@ button#show-more-button {
|
|
|
234
234
|
color: var(--limel-theme-on-surface-color);
|
|
235
235
|
background-color: var(--lime-elevated-surface-background-color);
|
|
236
236
|
box-shadow: var(--button-shadow-normal);
|
|
237
|
-
z-index: 1;
|
|
238
|
-
position: absolute;
|
|
239
|
-
right: 0;
|
|
240
|
-
bottom: -0.6rem;
|
|
241
|
-
left: 0;
|
|
242
|
-
margin: 0 auto;
|
|
243
|
-
display: flex;
|
|
244
|
-
align-items: center;
|
|
245
|
-
justify-content: center;
|
|
246
|
-
border-radius: 3rem;
|
|
247
|
-
width: 2rem;
|
|
248
|
-
height: 1rem;
|
|
249
237
|
}
|
|
250
238
|
button#show-more-button:hover, button#show-more-button:focus, button#show-more-button:focus-visible {
|
|
251
239
|
will-change: color, background-color, box-shadow, transform;
|
|
@@ -277,6 +265,20 @@ button#show-more-button:focus-visible {
|
|
|
277
265
|
outline: none;
|
|
278
266
|
box-shadow: var(--shadow-depth-8-focused);
|
|
279
267
|
}
|
|
268
|
+
button#show-more-button {
|
|
269
|
+
z-index: 1;
|
|
270
|
+
position: absolute;
|
|
271
|
+
right: 0;
|
|
272
|
+
bottom: -0.6rem;
|
|
273
|
+
left: 0;
|
|
274
|
+
margin: 0 auto;
|
|
275
|
+
display: flex;
|
|
276
|
+
align-items: center;
|
|
277
|
+
justify-content: center;
|
|
278
|
+
border-radius: 3rem;
|
|
279
|
+
width: 2rem;
|
|
280
|
+
height: 1rem;
|
|
281
|
+
}
|
|
280
282
|
button#show-more-button limel-icon {
|
|
281
283
|
transition: rotate 0.2s ease 0.5s;
|
|
282
284
|
color: var(--mdc-theme-primary);
|
|
@@ -513,10 +515,6 @@ button.expand-heading {
|
|
|
513
515
|
cursor: pointer;
|
|
514
516
|
color: rgb(var(--color-blue-default));
|
|
515
517
|
background-color: transparent;
|
|
516
|
-
border-radius: 1rem;
|
|
517
|
-
padding: 0 0.25rem 0.25rem 0.25rem;
|
|
518
|
-
height: 1rem;
|
|
519
|
-
white-space: nowrap;
|
|
520
518
|
}
|
|
521
519
|
button.expand-heading:hover, button.expand-heading:focus, button.expand-heading:focus-visible {
|
|
522
520
|
will-change: color, background-color, box-shadow, transform;
|
|
@@ -543,6 +541,12 @@ button.expand-heading:hover, button.expand-heading:active {
|
|
|
543
541
|
--limel-clickable-transition-speed: 0.2s;
|
|
544
542
|
--limel-clickable-transform-speed: 0.16s;
|
|
545
543
|
}
|
|
544
|
+
button.expand-heading {
|
|
545
|
+
border-radius: 1rem;
|
|
546
|
+
padding: 0 0.25rem 0.25rem 0.25rem;
|
|
547
|
+
height: 1rem;
|
|
548
|
+
white-space: nowrap;
|
|
549
|
+
}
|
|
546
550
|
|
|
547
551
|
button.collapse-heading {
|
|
548
552
|
appearance: none;
|
|
@@ -558,12 +562,6 @@ button.collapse-heading {
|
|
|
558
562
|
color: var(--limel-theme-on-surface-color);
|
|
559
563
|
background-color: var(--lime-elevated-surface-background-color);
|
|
560
564
|
box-shadow: var(--button-shadow-normal);
|
|
561
|
-
flex-shrink: 0;
|
|
562
|
-
display: flex;
|
|
563
|
-
align-items: center;
|
|
564
|
-
justify-content: center;
|
|
565
|
-
border-radius: 1.5rem;
|
|
566
|
-
width: 1rem;
|
|
567
565
|
}
|
|
568
566
|
button.collapse-heading:hover, button.collapse-heading:focus, button.collapse-heading:focus-visible {
|
|
569
567
|
will-change: color, background-color, box-shadow, transform;
|
|
@@ -595,6 +593,14 @@ button.collapse-heading:focus-visible {
|
|
|
595
593
|
outline: none;
|
|
596
594
|
box-shadow: var(--shadow-depth-8-focused);
|
|
597
595
|
}
|
|
596
|
+
button.collapse-heading {
|
|
597
|
+
flex-shrink: 0;
|
|
598
|
+
display: flex;
|
|
599
|
+
align-items: center;
|
|
600
|
+
justify-content: center;
|
|
601
|
+
border-radius: 1.5rem;
|
|
602
|
+
width: 1rem;
|
|
603
|
+
}
|
|
598
604
|
button.collapse-heading limel-icon {
|
|
599
605
|
width: 0.75rem;
|
|
600
606
|
}
|
|
@@ -704,8 +710,6 @@ limel-chip-set {
|
|
|
704
710
|
.thumbnail-card-link {
|
|
705
711
|
--card-border-radius: 0.5rem;
|
|
706
712
|
border-radius: var(--card-border-radius);
|
|
707
|
-
text-decoration: none;
|
|
708
|
-
display: inline-block;
|
|
709
713
|
}
|
|
710
714
|
.thumbnail-card-link:focus {
|
|
711
715
|
outline: none;
|
|
@@ -714,6 +718,10 @@ limel-chip-set {
|
|
|
714
718
|
outline: none;
|
|
715
719
|
box-shadow: var(--shadow-depth-8-focused);
|
|
716
720
|
}
|
|
721
|
+
.thumbnail-card-link {
|
|
722
|
+
text-decoration: none;
|
|
723
|
+
display: inline-block;
|
|
724
|
+
}
|
|
717
725
|
|
|
718
726
|
limel-masonry-layout {
|
|
719
727
|
--masonry-layout-min-column-width: 10rem;
|
|
@@ -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: '0d1ba9124ef0451e73e6c66261015d193cde01b0', 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: '418abbe9f287784ed8f9dfa1a8ba4e343cdcda3b' }, 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: 'a9313ef92a734e391ee178a1d0f2c3bcc3a7ec19', 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
|
}
|
|
@@ -360,7 +360,7 @@ export class Feed {
|
|
|
360
360
|
"setter": false,
|
|
361
361
|
"reflect": false,
|
|
362
362
|
"attribute": "minutes-of-proximity",
|
|
363
|
-
"defaultValue": "
|
|
363
|
+
"defaultValue": "5"
|
|
364
364
|
},
|
|
365
365
|
"totalCount": {
|
|
366
366
|
"type": "number",
|
|
@@ -154,13 +154,6 @@ button.chip {
|
|
|
154
154
|
button.chip:has(limel-icon) .text {
|
|
155
155
|
padding-left: 0;
|
|
156
156
|
}
|
|
157
|
-
button.chip:not([disabled]) {
|
|
158
|
-
transition: color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);
|
|
159
|
-
cursor: pointer;
|
|
160
|
-
color: var(--limel-theme-on-surface-color);
|
|
161
|
-
background-color: var(--lime-elevated-surface-background-color);
|
|
162
|
-
box-shadow: var(--button-shadow-normal);
|
|
163
|
-
}
|
|
164
157
|
button.chip:not([disabled]):focus {
|
|
165
158
|
outline: none;
|
|
166
159
|
}
|
|
@@ -168,6 +161,13 @@ button.chip:not([disabled]):focus-visible {
|
|
|
168
161
|
outline: none;
|
|
169
162
|
box-shadow: var(--shadow-depth-8-focused);
|
|
170
163
|
}
|
|
164
|
+
button.chip:not([disabled]) {
|
|
165
|
+
transition: color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);
|
|
166
|
+
cursor: pointer;
|
|
167
|
+
color: var(--limel-theme-on-surface-color);
|
|
168
|
+
background-color: var(--lime-elevated-surface-background-color);
|
|
169
|
+
box-shadow: var(--button-shadow-normal);
|
|
170
|
+
}
|
|
171
171
|
button.chip:not([disabled]):hover, button.chip:not([disabled]):focus, button.chip:not([disabled]):focus-visible {
|
|
172
172
|
will-change: color, background-color, box-shadow, transform;
|
|
173
173
|
}
|
|
@@ -293,16 +293,6 @@ button.trailing-button {
|
|
|
293
293
|
cursor: pointer;
|
|
294
294
|
color: var(--limel-theme-on-surface-color);
|
|
295
295
|
background-color: transparent;
|
|
296
|
-
z-index: 1;
|
|
297
|
-
flex-shrink: 0;
|
|
298
|
-
align-self: center;
|
|
299
|
-
display: flex;
|
|
300
|
-
align-items: center;
|
|
301
|
-
justify-content: center;
|
|
302
|
-
margin-left: calc(1.75rem * -1 + 0.125rem);
|
|
303
|
-
width: 1.5rem;
|
|
304
|
-
height: 1.5rem;
|
|
305
|
-
border-radius: 50%;
|
|
306
296
|
}
|
|
307
297
|
button.trailing-button:hover, button.trailing-button:focus, button.trailing-button:focus-visible {
|
|
308
298
|
will-change: color, background-color, box-shadow, transform;
|
|
@@ -329,6 +319,18 @@ button.trailing-button:hover, button.trailing-button:active {
|
|
|
329
319
|
--limel-clickable-transition-speed: 0.2s;
|
|
330
320
|
--limel-clickable-transform-speed: 0.16s;
|
|
331
321
|
}
|
|
322
|
+
button.trailing-button {
|
|
323
|
+
z-index: 1;
|
|
324
|
+
flex-shrink: 0;
|
|
325
|
+
align-self: center;
|
|
326
|
+
display: flex;
|
|
327
|
+
align-items: center;
|
|
328
|
+
justify-content: center;
|
|
329
|
+
margin-left: calc(1.75rem * -1 + 0.125rem);
|
|
330
|
+
width: 1.5rem;
|
|
331
|
+
height: 1.5rem;
|
|
332
|
+
border-radius: 50%;
|
|
333
|
+
}
|
|
332
334
|
button.trailing-button svg {
|
|
333
335
|
transition: color 0.2s ease, transform 0.2s ease;
|
|
334
336
|
width: 1.25rem;
|
|
@@ -102,8 +102,8 @@ export class FilterChip {
|
|
|
102
102
|
const items = this.getDisplayItems();
|
|
103
103
|
const conjunction = this.getConjunctionText();
|
|
104
104
|
const helperLabel = this.getHelperLabel(items, conjunction);
|
|
105
|
-
return (h(Host, { key: '
|
|
106
|
-
this.getFilterLabel(), "aria-pressed": this.getAriaPressed(), onKeyDown: this.handleKeyDown, disabled: this.disabled }, this.renderIcon(), this.renderValue(items, conjunction)), this.renderRemoveButton(chipId), h("limel-tooltip", { key: '
|
|
105
|
+
return (h(Host, { key: '291c2a6437491c9a5152b87af18476c2fb2f69bc' }, this.renderLabel(), h("button", { key: '8a51d37a3aa1f3b6a49dd15b0f6705fdc4c9ced3', class: { chip: true }, type: "button", id: chipId, "aria-label": [this.label, helperLabel].filter(Boolean).join(', ') ||
|
|
106
|
+
this.getFilterLabel(), "aria-pressed": this.getAriaPressed(), onKeyDown: this.handleKeyDown, disabled: this.disabled }, this.renderIcon(), this.renderValue(items, conjunction)), this.renderRemoveButton(chipId), h("limel-tooltip", { key: '522b0a8736e302e074914bf672c350ead53e418b', elementId: chipId, label: this.label || this.getFilterLabel(), helperLabel: helperLabel })));
|
|
107
107
|
}
|
|
108
108
|
/**
|
|
109
109
|
* `aria-pressed` only makes sense for an interactive toggle. A readonly
|
|
@@ -638,7 +638,7 @@ export class FilterChip {
|
|
|
638
638
|
"setter": false,
|
|
639
639
|
"reflect": false,
|
|
640
640
|
"attribute": "max-length",
|
|
641
|
-
"defaultValue": "
|
|
641
|
+
"defaultValue": "25"
|
|
642
642
|
}
|
|
643
643
|
};
|
|
644
644
|
}
|
|
@@ -197,3 +197,144 @@ export function getFilterConditionLabelKey(condition, propertyType) {
|
|
|
197
197
|
}
|
|
198
198
|
return undefined;
|
|
199
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Conditions for text-like properties (`string`, `text`, `phone`, `link`):
|
|
202
|
+
* "Contains … Matches", with equality reading as "Is" / "Is not".
|
|
203
|
+
*/
|
|
204
|
+
const TEXT_CONDITIONS = [
|
|
205
|
+
'contains',
|
|
206
|
+
'not-contains',
|
|
207
|
+
'equals',
|
|
208
|
+
'not-equals',
|
|
209
|
+
'begins-with',
|
|
210
|
+
'not-begins-with',
|
|
211
|
+
'ends-with',
|
|
212
|
+
'not-ends-with',
|
|
213
|
+
'between',
|
|
214
|
+
'not-between',
|
|
215
|
+
'empty',
|
|
216
|
+
'not-empty',
|
|
217
|
+
'matches',
|
|
218
|
+
];
|
|
219
|
+
/**
|
|
220
|
+
* Conditions for numeric properties (`integer`, `decimal`, `percent`).
|
|
221
|
+
*/
|
|
222
|
+
const NUMBER_CONDITIONS = [
|
|
223
|
+
'equals',
|
|
224
|
+
'not-equals',
|
|
225
|
+
'greater-than',
|
|
226
|
+
'greater-than-or-equal',
|
|
227
|
+
'less-than',
|
|
228
|
+
'less-than-or-equal',
|
|
229
|
+
'between',
|
|
230
|
+
'not-between',
|
|
231
|
+
'empty',
|
|
232
|
+
'not-empty',
|
|
233
|
+
'matches',
|
|
234
|
+
];
|
|
235
|
+
/**
|
|
236
|
+
* Conditions for date/time properties. Comparisons read as "After" / "Before" /
|
|
237
|
+
* "On"; there is intentionally no `greater-than-or-equal` / `less-than-or-equal`
|
|
238
|
+
* — an inclusive bound is expressed in the date value editor, not as a separate
|
|
239
|
+
* condition.
|
|
240
|
+
*/
|
|
241
|
+
const DATE_CONDITIONS = [
|
|
242
|
+
'greater-than',
|
|
243
|
+
'less-than',
|
|
244
|
+
'between',
|
|
245
|
+
'not-between',
|
|
246
|
+
'equals',
|
|
247
|
+
'previous',
|
|
248
|
+
'current',
|
|
249
|
+
'next',
|
|
250
|
+
'empty',
|
|
251
|
+
'not-empty',
|
|
252
|
+
'matches',
|
|
253
|
+
];
|
|
254
|
+
/**
|
|
255
|
+
* Conditions for choice properties (`option`, `set`): "Is" / "Is not" (the
|
|
256
|
+
* latter was missing from the older CRM option popovers), plus "Matches".
|
|
257
|
+
*/
|
|
258
|
+
const OPTION_CONDITIONS = [
|
|
259
|
+
'equals',
|
|
260
|
+
'not-equals',
|
|
261
|
+
'matches',
|
|
262
|
+
];
|
|
263
|
+
/**
|
|
264
|
+
* Conditions for boolean (`yesno`) properties: "Is" / "Is not", plus "Empty" /
|
|
265
|
+
* "Not empty" and "Matches".
|
|
266
|
+
*
|
|
267
|
+
* A yes/no value is effectively three-state — Yes, No, or *unset* (never
|
|
268
|
+
* answered) when the property is nullable, i.e. not required and without a
|
|
269
|
+
* default. "Empty" / "Not empty" filter on that third state — whether the value
|
|
270
|
+
* was ever set — which is distinct from filtering on Yes vs No. Consumers whose
|
|
271
|
+
* booleans are always populated can narrow this list via the picker's
|
|
272
|
+
* `conditions` prop. See the "Boolean (yes/no)" example.
|
|
273
|
+
*/
|
|
274
|
+
const YESNO_CONDITIONS = [
|
|
275
|
+
'equals',
|
|
276
|
+
'not-equals',
|
|
277
|
+
'empty',
|
|
278
|
+
'not-empty',
|
|
279
|
+
'matches',
|
|
280
|
+
];
|
|
281
|
+
/**
|
|
282
|
+
* Conditions for relation properties (`belongsto`, `hasone`, `hasmany`,
|
|
283
|
+
* `hasandbelongstomany`): connected / not connected, filter-set membership,
|
|
284
|
+
* empty / not empty, and "Matches".
|
|
285
|
+
*/
|
|
286
|
+
const RELATION_CONDITIONS = [
|
|
287
|
+
'connected-to',
|
|
288
|
+
'not-connected-to',
|
|
289
|
+
'in-filter-set',
|
|
290
|
+
'not-in-filter-set',
|
|
291
|
+
'empty',
|
|
292
|
+
'not-empty',
|
|
293
|
+
'matches',
|
|
294
|
+
];
|
|
295
|
+
/** Types with no filter catalog (`user`, `xml`, `file`, `system`). */
|
|
296
|
+
const NO_CONDITIONS = [];
|
|
297
|
+
/**
|
|
298
|
+
* Per-property-type catalogs, in the order a condition picker should list them.
|
|
299
|
+
* An exhaustive map, so a property type added upstream is a compile error here
|
|
300
|
+
* rather than a silent fall-through to no conditions.
|
|
301
|
+
*/
|
|
302
|
+
const CONDITIONS_BY_PROPERTY_TYPE = {
|
|
303
|
+
string: TEXT_CONDITIONS,
|
|
304
|
+
text: TEXT_CONDITIONS,
|
|
305
|
+
phone: TEXT_CONDITIONS,
|
|
306
|
+
link: TEXT_CONDITIONS,
|
|
307
|
+
integer: NUMBER_CONDITIONS,
|
|
308
|
+
decimal: NUMBER_CONDITIONS,
|
|
309
|
+
percent: NUMBER_CONDITIONS,
|
|
310
|
+
date: DATE_CONDITIONS,
|
|
311
|
+
year: DATE_CONDITIONS,
|
|
312
|
+
quarter: DATE_CONDITIONS,
|
|
313
|
+
month: DATE_CONDITIONS,
|
|
314
|
+
time: DATE_CONDITIONS,
|
|
315
|
+
timeofday: DATE_CONDITIONS,
|
|
316
|
+
option: OPTION_CONDITIONS,
|
|
317
|
+
set: OPTION_CONDITIONS,
|
|
318
|
+
yesno: YESNO_CONDITIONS,
|
|
319
|
+
belongsto: RELATION_CONDITIONS,
|
|
320
|
+
hasone: RELATION_CONDITIONS,
|
|
321
|
+
hasmany: RELATION_CONDITIONS,
|
|
322
|
+
hasandbelongstomany: RELATION_CONDITIONS,
|
|
323
|
+
user: NO_CONDITIONS,
|
|
324
|
+
xml: NO_CONDITIONS,
|
|
325
|
+
file: NO_CONDITIONS,
|
|
326
|
+
system: NO_CONDITIONS,
|
|
327
|
+
};
|
|
328
|
+
/**
|
|
329
|
+
* The filter conditions a property of the given type can be filtered by, in the
|
|
330
|
+
* order `limebb-filter-condition-picker` should list them, or an empty array for
|
|
331
|
+
* a type without a catalog. A consumer that supports only a subset passes its
|
|
332
|
+
* own list to the picker instead.
|
|
333
|
+
* @param propertyType
|
|
334
|
+
*/
|
|
335
|
+
export function getConditionsForPropertyType(propertyType) {
|
|
336
|
+
if (!propertyType) {
|
|
337
|
+
return [];
|
|
338
|
+
}
|
|
339
|
+
return CONDITIONS_BY_PROPERTY_TYPE[propertyType];
|
|
340
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Operator } from "@limetech/lime-web-components";
|
|
2
|
+
/**
|
|
3
|
+
* The canonical operator↔condition translation for the *authoring* (write)
|
|
4
|
+
* direction, so consumers (the query builder, the rule editor, the CRM property
|
|
5
|
+
* filters) keep the mapping in one place instead of repeating it.
|
|
6
|
+
*
|
|
7
|
+
* Intentionally separate from the structural read-side map in `compound-leaf.ts`,
|
|
8
|
+
* which interprets *existing* expressions and maps some operators differently
|
|
9
|
+
* (a bare `NOT` reads as `not-equals`, a bare `IN` as `equals`). Do not merge
|
|
10
|
+
* the two.
|
|
11
|
+
*/
|
|
12
|
+
const OPERATOR_CONDITION_PAIRS = [
|
|
13
|
+
[Operator.EQUALS, 'equals'],
|
|
14
|
+
[Operator.NOT_EQUALS, 'not-equals'],
|
|
15
|
+
[Operator.GREATER, 'greater-than'],
|
|
16
|
+
[Operator.GREATER_OR_EQUAL, 'greater-than-or-equal'],
|
|
17
|
+
[Operator.LESS, 'less-than'],
|
|
18
|
+
[Operator.LESS_OR_EQUAL, 'less-than-or-equal'],
|
|
19
|
+
[Operator.IN, 'in-filter-set'],
|
|
20
|
+
[Operator.LIKE, 'contains'],
|
|
21
|
+
[Operator.BEGINS, 'begins-with'],
|
|
22
|
+
[Operator.ENDS, 'ends-with'],
|
|
23
|
+
];
|
|
24
|
+
/**
|
|
25
|
+
* The {@link Operator} that authors a condition, or `undefined` for a condition
|
|
26
|
+
* with no single operator (e.g. `between`, `empty`, `previous`).
|
|
27
|
+
* @param condition
|
|
28
|
+
*/
|
|
29
|
+
export function conditionToOperator(condition) {
|
|
30
|
+
var _a;
|
|
31
|
+
return (_a = OPERATOR_CONDITION_PAIRS.find(([, mapped]) => mapped === condition)) === null || _a === void 0 ? void 0 : _a[0];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The conditions a list of operators authors, in order, dropping any operator
|
|
35
|
+
* with no authoring condition. Lets a consumer declare which operators it offers
|
|
36
|
+
* and hand the matching conditions to `limebb-filter-condition-picker`.
|
|
37
|
+
* @param operators
|
|
38
|
+
*/
|
|
39
|
+
export function operatorsToConditions(operators) {
|
|
40
|
+
return operators
|
|
41
|
+
.map((operator) => { var _a; return (_a = OPERATOR_CONDITION_PAIRS.find(([op]) => op === operator)) === null || _a === void 0 ? void 0 : _a[1]; })
|
|
42
|
+
.filter((condition) => condition !== undefined);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The {@link FilterCondition} an operator authors, or `undefined` for an
|
|
46
|
+
* operator with no authoring condition (e.g. the structural `AND`/`OR`/`NOT`).
|
|
47
|
+
* @param operator
|
|
48
|
+
*/
|
|
49
|
+
export function operatorToCondition(operator) {
|
|
50
|
+
if (!operator) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
return operatorsToConditions([operator])[0];
|
|
54
|
+
}
|