@limetech/lime-crm-building-blocks 1.139.1 → 2.0.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 +22 -0
- package/dist/cjs/file-contents-url-CIoCVl85.js +14 -0
- package/dist/cjs/{filter-condition-icons-HypsDn6x.js → filter-condition-icons-QK5stWj6.js} +142 -0
- package/dist/cjs/{filter-group-logic-BPpM2NqX.js → filter-group-logic-EDLGrkTt.js} +12 -12
- package/dist/cjs/filter-operators-CVCyCZ7Q.js +61 -0
- package/dist/cjs/index.cjs.js +8 -1
- package/dist/cjs/{index.esm-Se3EtD3m.js → index.esm-CcYbS__E.js} +210 -181
- package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
- package/dist/cjs/{lime-query-validation-CJC3mtnT.js → lime-query-validation-B0oYW7Z6.js} +7 -7
- package/dist/cjs/limebb-alert-dialog.cjs.entry.js +1 -1
- package/dist/cjs/limebb-browser.cjs.entry.js +3 -3
- package/dist/cjs/limebb-chat-icon-list_3.cjs.entry.js +5 -5
- package/dist/cjs/limebb-chat-list.cjs.entry.js +2 -2
- package/dist/cjs/limebb-color-palette-picker.cjs.entry.js +1 -1
- package/dist/cjs/limebb-color-palette-swatches.cjs.entry.js +1 -1
- package/dist/cjs/limebb-component-config.cjs.entry.js +1 -1
- package/dist/cjs/limebb-component-picker.cjs.entry.js +1 -1
- package/dist/cjs/limebb-composer-toolbar.cjs.entry.js +3 -3
- package/dist/cjs/limebb-currency-picker.cjs.entry.js +2 -2
- package/dist/cjs/limebb-dashboard-widget.cjs.entry.js +1 -1
- package/dist/cjs/limebb-data-cells.cjs.entry.js +1 -1
- package/dist/cjs/limebb-date-picker.cjs.entry.js +2 -2
- package/dist/cjs/limebb-date-range.cjs.entry.js +1 -1
- package/dist/cjs/limebb-document-chips.cjs.entry.js +1 -1
- package/dist/cjs/limebb-document-item.cjs.entry.js +2 -2
- package/dist/cjs/limebb-document-picker.cjs.entry.js +1 -1
- package/dist/cjs/limebb-feed-item-thumbnail-file-info.cjs.entry.js +1 -1
- package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +6 -2
- package/dist/cjs/limebb-feed.cjs.entry.js +2 -2
- package/dist/cjs/{limebb-filter-chip_5.cjs.entry.js → limebb-filter-chip_6.cjs.entry.js} +126 -92
- package/dist/cjs/limebb-icon-picker.cjs.entry.js +1 -1
- package/dist/cjs/limebb-info-tile-format.cjs.entry.js +1 -1
- package/dist/cjs/limebb-info-tile.cjs.entry.js +11 -10
- package/dist/cjs/limebb-inline-image.cjs.entry.js +49 -0
- package/dist/cjs/limebb-kanban-group.cjs.entry.js +3 -3
- package/dist/cjs/limebb-kanban-item.cjs.entry.js +2 -2
- package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +4 -4
- package/dist/cjs/limebb-lime-query-filter-builder.cjs.entry.js +5 -5
- 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 +4 -4
- package/dist/cjs/limebb-lime-query-order-by-item.cjs.entry.js +2 -2
- 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 +1 -1
- package/dist/cjs/limebb-limeobject-file-viewer.cjs.entry.js +3 -3
- package/dist/cjs/limebb-live-docs-info.cjs.entry.js +2 -2
- package/dist/cjs/limebb-loader.cjs.entry.js +2 -2
- package/dist/cjs/limebb-locale-picker.cjs.entry.js +2 -2
- package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +2 -2
- package/dist/cjs/limebb-mention.cjs.entry.js +1 -1
- package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +2 -2
- package/dist/cjs/limebb-notification-item.cjs.entry.js +2 -2
- package/dist/cjs/limebb-notification-list.cjs.entry.js +1 -1
- package/dist/cjs/limebb-object-chip.cjs.entry.js +3 -3
- package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +3 -3
- 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 +3 -3
- package/dist/cjs/limebb-rule-editor.cjs.entry.js +3 -3
- package/dist/cjs/limebb-rule-gate.cjs.entry.js +2 -2
- package/dist/cjs/limebb-text-editor.cjs.entry.js +51 -144
- package/dist/cjs/limebb-trend-indicator.cjs.entry.js +2 -2
- package/dist/cjs/limebb-value-comparison-editor.cjs.entry.js +38 -36
- package/dist/cjs/{limetype-CmgP0nbZ.js → limetype-C-fVThrI.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +2 -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 +5 -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/filter-chip/filter-chip.js +2 -2
- 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 +2 -2
- package/dist/collection/components/info-tile/loader.js +2 -1
- package/dist/collection/components/inline-image/inline-image.css +12 -0
- package/dist/collection/components/inline-image/inline-image.js +146 -0
- 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/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.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.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/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 +57 -45
- package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
- package/dist/collection/index.js +1 -0
- package/dist/collection/util/file-contents-url.js +10 -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/file-contents-url.js +1 -0
- 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.esm.js +1 -1
- 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/lime-query-validation.js +1 -1
- package/dist/components/lime-query-value-input.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-component-config.js +1 -1
- package/dist/components/limebb-component-picker.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-inline-image.d.ts +11 -0
- package/dist/components/limebb-inline-image.js +1 -0
- 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-limeobject-file-viewer.js +1 -1
- package/dist/components/limebb-loader.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-mention.js +1 -1
- package/dist/components/limebb-notification-list.js +1 -1
- package/dist/components/limebb-object-chip.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/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/file-contents-url-Oswz9F3I.js +12 -0
- package/dist/esm/{filter-condition-icons-D8CJOcfs.js → filter-condition-icons-C_y3-T4Q.js} +142 -1
- package/dist/esm/{filter-group-logic-BMY_GEsX.js → filter-group-logic-DS1inQTh.js} +12 -12
- package/dist/esm/filter-operators-CsZi5iCV.js +57 -0
- package/dist/esm/{index.esm-C-L5fkQs.js → index.esm-BjIhvFKX.js} +200 -172
- package/dist/esm/index.js +4 -1
- package/dist/esm/lime-crm-building-blocks.js +1 -1
- package/dist/esm/{lime-query-validation-BwvluehW.js → lime-query-validation-CVV7mrLj.js} +7 -7
- package/dist/esm/limebb-alert-dialog.entry.js +1 -1
- package/dist/esm/limebb-browser.entry.js +3 -3
- package/dist/esm/limebb-chat-icon-list_3.entry.js +5 -5
- package/dist/esm/limebb-chat-list.entry.js +2 -2
- package/dist/esm/limebb-color-palette-picker.entry.js +1 -1
- package/dist/esm/limebb-color-palette-swatches.entry.js +1 -1
- package/dist/esm/limebb-component-config.entry.js +1 -1
- package/dist/esm/limebb-component-picker.entry.js +1 -1
- package/dist/esm/limebb-composer-toolbar.entry.js +3 -3
- package/dist/esm/limebb-currency-picker.entry.js +2 -2
- package/dist/esm/limebb-dashboard-widget.entry.js +1 -1
- package/dist/esm/limebb-data-cells.entry.js +1 -1
- package/dist/esm/limebb-date-picker.entry.js +2 -2
- package/dist/esm/limebb-date-range.entry.js +1 -1
- package/dist/esm/limebb-document-chips.entry.js +1 -1
- package/dist/esm/limebb-document-item.entry.js +2 -2
- package/dist/esm/limebb-document-picker.entry.js +1 -1
- package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +1 -1
- package/dist/esm/limebb-feed-timeline-item.entry.js +6 -2
- package/dist/esm/limebb-feed.entry.js +2 -2
- package/dist/esm/{limebb-filter-chip_5.entry.js → limebb-filter-chip_6.entry.js} +126 -93
- package/dist/esm/limebb-icon-picker.entry.js +1 -1
- package/dist/esm/limebb-info-tile-format.entry.js +1 -1
- package/dist/esm/limebb-info-tile.entry.js +11 -10
- package/dist/esm/limebb-inline-image.entry.js +47 -0
- package/dist/esm/limebb-kanban-group.entry.js +3 -3
- package/dist/esm/limebb-kanban-item.entry.js +2 -2
- package/dist/esm/limebb-lime-query-builder.entry.js +4 -4
- package/dist/esm/limebb-lime-query-filter-builder.entry.js +5 -5
- 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 +4 -4
- package/dist/esm/limebb-lime-query-order-by-item.entry.js +2 -2
- 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 +1 -1
- package/dist/esm/limebb-limeobject-file-viewer.entry.js +3 -3
- package/dist/esm/limebb-live-docs-info.entry.js +2 -2
- package/dist/esm/limebb-loader.entry.js +2 -2
- package/dist/esm/limebb-locale-picker.entry.js +2 -2
- package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
- package/dist/esm/limebb-mention.entry.js +1 -1
- package/dist/esm/limebb-navigation-button_2.entry.js +2 -2
- package/dist/esm/limebb-notification-item.entry.js +2 -2
- package/dist/esm/limebb-notification-list.entry.js +1 -1
- package/dist/esm/limebb-object-chip.entry.js +3 -3
- package/dist/esm/limebb-percentage-visualizer.entry.js +3 -3
- 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 +3 -3
- package/dist/esm/limebb-rule-editor.entry.js +3 -3
- package/dist/esm/limebb-rule-gate.entry.js +2 -2
- package/dist/esm/limebb-text-editor.entry.js +51 -144
- package/dist/esm/limebb-trend-indicator.entry.js +2 -2
- package/dist/esm/limebb-value-comparison-editor.entry.js +38 -36
- package/dist/esm/{limetype-D4ZaWZ-3.js → limetype-BbMRN-SU.js} +1 -1
- package/dist/esm/loader.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-135ba2ee.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-e4cef02f.entry.js → p-19dc7242.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-1c6e5402.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-96ea4550.entry.js → p-1f97e235.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-0f821315.entry.js → p-22e68812.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-fd38bf57.entry.js → p-240cbd82.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-3fc9866a.entry.js → p-251aca46.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-25984c90.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-80e04b27.entry.js → p-397a6191.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-46dc34a6.entry.js → p-3f537135.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-a6e9cefe.entry.js → p-52a92d89.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-585f6cfe.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-0579d006.entry.js → p-59fb624c.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-fb8d854b.entry.js → p-5beb508a.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-5b1ccfe1.entry.js → p-662fb8b6.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-00ca6522.entry.js → p-673226a6.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-9033acb5.entry.js → p-69b08896.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-01f84b0c.entry.js → p-6c2e25d9.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-bf4b2a91.entry.js → p-7033d408.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-fce1a282.entry.js → p-73b71080.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-3bf316f9.entry.js → p-742926a3.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-78d362b4.entry.js +1 -0
- package/dist/lime-crm-building-blocks/p-79c492b2.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-994296b0.entry.js → p-7a5c2dda.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-de785fee.entry.js → p-7b6c9cbf.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-354257f4.entry.js → p-7ce967b6.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-1cd148e2.entry.js → p-896e77b9.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-bde3e779.entry.js → p-906b4eca.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-41ddbdde.entry.js → p-964b066d.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-CE43qjk3.js +1 -0
- package/dist/lime-crm-building-blocks/{p-D8CJOcfs.js → p-C_y3-T4Q.js} +1 -1
- package/dist/lime-crm-building-blocks/p-Cw4kdMw3.js +1 -0
- package/dist/lime-crm-building-blocks/p-DLehg4hi.js +1 -0
- package/dist/lime-crm-building-blocks/{p-CI6VHE0w.js → p-Dhyy9Td7.js} +1 -1
- package/dist/lime-crm-building-blocks/p-Oswz9F3I.js +1 -0
- package/dist/lime-crm-building-blocks/p-a157233b.entry.js +1 -0
- package/dist/lime-crm-building-blocks/p-a3058b72.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-13a35953.entry.js → p-a4e676a6.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-b0ec4121.entry.js → p-aafead4e.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-b78ub0mY.js +1 -0
- package/dist/lime-crm-building-blocks/{p-0f9a680c.entry.js → p-bc297cf4.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-bcd8c767.entry.js +1 -0
- package/dist/lime-crm-building-blocks/p-c4e5e589.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-dacd1df3.entry.js → p-d014ec57.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-d20404ec.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-e2420cde.entry.js → p-d2e85be2.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-69a3038b.entry.js → p-d3fe25a7.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-bd0a30d7.entry.js → p-d43cf8d1.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-e618ccd3.entry.js → p-d78370be.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-f73e3da0.entry.js → p-dd7aec09.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-5bc41701.entry.js → p-e29c27b8.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-b7e5a10e.entry.js → p-e2e1358d.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-8d592755.entry.js → p-e4a21ebe.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-e581d0b7.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-be5c43bb.entry.js → p-e6a85c26.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-e8b2df7c.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-302e6e3e.entry.js → p-ef890206.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-558915e4.entry.js → p-f4214745.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-6cdefdc9.entry.js → p-f6377fa5.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-f9e9d18e.entry.js +1 -0
- package/dist/test/setup.js +1 -0
- 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/inline-image/inline-image.d.ts +32 -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/text-editor/text-editor.d.ts +17 -11
- package/dist/types/components.d.ts +257 -14
- package/dist/types/index.d.ts +1 -0
- package/dist/types/interface.d.ts +0 -5
- package/dist/types/util/file-contents-url.d.ts +9 -0
- package/package.json +14 -15
- package/dist/collection/components/text-editor/uploader/building-blocks-upload-handler.js +0 -112
- package/dist/lime-crm-building-blocks/p-0843b50b.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-29758303.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-39009b47.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-5b819d10.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-752742f8.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-7a158104.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-817e2952.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-92679e20.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-927e446d.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-B-WBKAaa.js +0 -1
- package/dist/lime-crm-building-blocks/p-BjXRsiQr.js +0 -1
- package/dist/lime-crm-building-blocks/p-Bkno2RtN.js +0 -1
- package/dist/lime-crm-building-blocks/p-c891125e.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-d7d6d21b.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-d95f66c8.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-ec1e079e.entry.js +0 -1
- package/dist/types/components/text-editor/uploader/building-blocks-upload-handler.d.ts +0 -62
|
@@ -64,9 +64,9 @@ export class ChatListItem {
|
|
|
64
64
|
}
|
|
65
65
|
render() {
|
|
66
66
|
const helperTextId = `helper-text-${this.item.id}`;
|
|
67
|
-
return (h(Host, { key: '
|
|
67
|
+
return (h(Host, { key: '7726b35958522c860513ba9ea7a119a4ee9dfe2d', id: this.item.id, "aria-describedby": this.helperText ? helperTextId : undefined, "aria-live": this.hasError ? 'assertive' : 'off', class: {
|
|
68
68
|
[`${this.item.ui}`]: true,
|
|
69
|
-
} }, h("div", { key: '
|
|
69
|
+
} }, h("div", { key: '2092b4d2eb6a4149205fbddae42aa63893ae2c35', class: "bubble-content" }, h("div", { key: '728b94f59b744ac932ede9bef2a99d180c0675f3', class: "icon-picture" }, this.renderIcon(), this.renderAuthorPicture()), this.renderErrorSign(), h("div", { key: 'a87fbb4ba58928deace952f50f480483530ac552', class: "item" }, this.renderHeader(), this.renderValue(), h("footer", { key: '446921a64f33dc02c6d6b9ae3e6143b1ad7ee6d9' }, this.renderHelperText(helperTextId), this.renderTimestamp()))), this.renderPromotedAction()));
|
|
70
70
|
}
|
|
71
71
|
renderErrorSign() {
|
|
72
72
|
if (!this.hasError) {
|
|
@@ -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: '2aab7c285dab2438761d90107c573060802863bf', 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: 'afc891f3443bdecefb025e3564679bf83d654e9a', class: "typing-ellipsis" }, h("div", { key: 'd886ca24a5c075b2cedc9c2902fd9bfbc995e418', class: "circle" }), h("div", { key: '73133ec43983aa1cdf50e9b505cba45e0c8bde04', class: "circle" }), h("div", { key: '624b5cc3b21336642acf53e6d3b867a60ae34a80', 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: 'a5f44d09a862e67f6216bcad7f46eec29ced722a' }, h("limel-select", { key: 'a5cf05f6592bdda711def6ec1a05b56aee2b73c9', 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: '62b7189e13fb67c79e8da299a40b1ec621a2886f', "aria-hidden": "true" }, h("ol", { key: 'ae4bda8db0f631c0a8d7ea42f033c4bb1e37b1da' }, 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: '95a495c2289ee07d42b9f2ffd5b9f69634f0c70b', class: "actions" }, h("slot", { key: '3729266b77e939e980734556dc1417e34921b9a9', name: "leading" }), this.renderFileInput(), this.renderTriggerActions(), h("slot", { key: '211edc189658f512049b9e9487007a9e5b580134', name: "trailing" })),
|
|
87
|
+
h("slot", { key: '5c7e90a4577224f004e45b4f8447b330b6878138', 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: '8f907cef2bdcc25b1931f06f4bfdb54c0f6e4eec', 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: 'ab74c325ce14990b1e9bb7a29d361f13e4bab023', 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: '218c0a409c7a508fd551099d1df5e7e05734db10', 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: 'f6648162be4b8bf1605bce38cd584b8fe136c059', 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: 'e74468ff9712e3e3bda315925b5204d5ef6ae91b', 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: '802076b3b96c854277a01fa7833a1ccdb942eff4', 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: '4c8149a090818f69c8ad7ced12d46d3f405f2601', image: image, clickable: isUnavailable ? false : true, onClick: this.handleDocumentItemClick, onKeyDown: this.handleKeyDown }, h("div", { key: 'bfcd9153638e17e8d332395739dc835eee684707', 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: 'b49d5f3c6598651dd7e6c87884cb1aefa6c423f6' }, h("limel-notched-outline", { key: '89c635494ccbac031af5ac8470804fe096b315ac', labelId: this.labelId, label: this.label, required: this.required, invalid: this.invalid, hasFloatingLabel: true }, h("limel-masonry-layout", { key: 'c465e0dd11e74957526c7ffb18ccfa73b5b42f01', 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: '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,
|
|
@@ -308,6 +308,10 @@ export class FeedTimelineItem {
|
|
|
308
308
|
tagName: 'limebb-mention',
|
|
309
309
|
attributes: ['limetype', 'objectid'],
|
|
310
310
|
},
|
|
311
|
+
{
|
|
312
|
+
tagName: 'limebb-inline-image',
|
|
313
|
+
attributes: ['image-id', 'width', 'height', 'alt'],
|
|
314
|
+
},
|
|
311
315
|
] }), this.renderShowMoreButton()),
|
|
312
316
|
];
|
|
313
317
|
}
|
|
@@ -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
|
}
|
|
@@ -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
|
|
@@ -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
|
+
}
|