@limetech/lime-crm-building-blocks 1.130.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 +7 -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 +4 -4
- 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/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 +1 -1
- 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 +4 -4
- 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-f1d9e133.entry.js → p-b95b94b6.entry.js} +1 -1
- 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.d.ts +106 -47
- package/package.json +1 -1
- 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-c6a913af.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-c6fee2bd.entry.js +0 -1
package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.js
CHANGED
|
@@ -1,108 +1,112 @@
|
|
|
1
|
-
import { h, Host
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
2
|
import { Operator, } from "@limetech/lime-web-components";
|
|
3
|
-
import { addExpressionToGroup, createEmptyComparison, createNestedGroup,
|
|
3
|
+
import { addExpressionToGroup, createEmptyComparison, createNestedGroup, getCombinator, getInnerAndOr, setCombinator, updateChildExpression, } from "./filter-group-logic";
|
|
4
|
+
const OP_STYLE = {
|
|
5
|
+
AND: {
|
|
6
|
+
color: 'rgb(var(--contrast-900))',
|
|
7
|
+
iconName: 'dot_circle',
|
|
8
|
+
text: 'All of',
|
|
9
|
+
secondaryText: 'True when every condition is true',
|
|
10
|
+
},
|
|
11
|
+
OR: {
|
|
12
|
+
color: 'rgb(var(--color-sky-default))',
|
|
13
|
+
iconName: 'centre_point',
|
|
14
|
+
text: 'Any of',
|
|
15
|
+
secondaryText: 'True when at least one condition is true',
|
|
16
|
+
},
|
|
17
|
+
NOT_AND: {
|
|
18
|
+
color: 'rgb(var(--color-orange-default))',
|
|
19
|
+
iconName: 'dot_circle',
|
|
20
|
+
text: 'Not all of',
|
|
21
|
+
secondaryText: 'True when at least one condition is false',
|
|
22
|
+
},
|
|
23
|
+
NOT_OR: {
|
|
24
|
+
color: 'rgb(var(--color-red-default))',
|
|
25
|
+
iconName: 'centre_point',
|
|
26
|
+
text: 'None of',
|
|
27
|
+
secondaryText: 'True when every condition is false',
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
const COMBINATOR_OPTIONS = ['AND', 'OR', 'NOT_AND', 'NOT_OR'].map((value) => ({
|
|
31
|
+
text: OP_STYLE[value].text,
|
|
32
|
+
secondaryText: OP_STYLE[value].secondaryText,
|
|
33
|
+
value,
|
|
34
|
+
icon: { name: OP_STYLE[value].iconName, color: OP_STYLE[value].color },
|
|
35
|
+
}));
|
|
4
36
|
/**
|
|
5
37
|
* Lime Query Filter Group Component
|
|
6
38
|
*
|
|
7
|
-
* Renders a group of filter expressions with
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* This component displays:
|
|
12
|
-
* - A clickable header showing the current logic (AND/OR)
|
|
13
|
-
* - A list of child expressions (which can be comparisons or nested groups)
|
|
14
|
-
* - An "Add" button to add more expressions
|
|
15
|
-
*
|
|
16
|
-
* Clicking the header toggles between AND and OR logic.
|
|
17
|
-
* If a child component emits an ExpressionChange event with undefined, the
|
|
18
|
-
* child is removed from the group.
|
|
39
|
+
* Renders a group of filter expressions with a combinator picker that selects
|
|
40
|
+
* between All, Any, Not all, and Not any. The first two map to a bare AND/OR
|
|
41
|
+
* group; the latter two wrap the same group in a NOT expression. Choosing a
|
|
42
|
+
* value re-shapes the group, preserving all children.
|
|
19
43
|
*
|
|
20
44
|
* @private
|
|
21
45
|
*/
|
|
22
46
|
export class LimeQueryFilterGroupComponent {
|
|
23
47
|
constructor() {
|
|
24
|
-
this.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
value: 'or',
|
|
34
|
-
},
|
|
35
|
-
];
|
|
36
|
-
this.renderChildExpression = (expression, childIndex) => (h("limebb-lime-query-filter-expression", { role: "listitem", platform: this.platform, context: this.context, limetype: this.limetype, activeLimetype: this.activeLimetype, expression: expression, onExpressionChange: this.handleExpressionChange(childIndex) }));
|
|
48
|
+
this.renderChildExpression = (expression, childIndex) => (h("li", { class: "row" }, h("limebb-lime-query-filter-expression", { platform: this.platform, context: this.context, limetype: this.limetype, activeLimetype: this.activeLimetype, expression: expression, onExpressionChange: this.handleChildExpressionChange(childIndex) })));
|
|
49
|
+
this.handleCombinatorChange = (event) => {
|
|
50
|
+
event.stopPropagation();
|
|
51
|
+
const next = event.detail.value;
|
|
52
|
+
if (!next || next === getCombinator(this.expression)) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
this.expressionChange.emit(setCombinator(this.expression, next));
|
|
56
|
+
};
|
|
37
57
|
this.handleDeleteGroup = () => {
|
|
38
58
|
this.expressionChange.emit();
|
|
39
59
|
};
|
|
40
|
-
this.handleToggleOperator = (event) => {
|
|
41
|
-
const selectedOption = Array.isArray(event.detail)
|
|
42
|
-
? event.detail[0]
|
|
43
|
-
: event.detail;
|
|
44
|
-
this.value = selectedOption;
|
|
45
|
-
const newOp = selectedOption.value === 'and' ? Operator.AND : Operator.OR;
|
|
46
|
-
if (newOp !== this.expression.op) {
|
|
47
|
-
const newGroup = toggleGroupOperator(this.expression);
|
|
48
|
-
this.expressionChange.emit(newGroup);
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
60
|
this.handleAddChildExpression = () => {
|
|
52
|
-
const
|
|
53
|
-
const
|
|
54
|
-
this.expressionChange.emit(
|
|
61
|
+
const inner = getInnerAndOr(this.expression);
|
|
62
|
+
const updatedInner = addExpressionToGroup(inner, createEmptyComparison());
|
|
63
|
+
this.expressionChange.emit(this.wrap(updatedInner));
|
|
55
64
|
};
|
|
56
65
|
this.handleAddChildGroup = () => {
|
|
57
|
-
const
|
|
58
|
-
const
|
|
59
|
-
|
|
66
|
+
const inner = getInnerAndOr(this.expression);
|
|
67
|
+
const newChild = createNestedGroup(inner.op);
|
|
68
|
+
const updatedInner = addExpressionToGroup(inner, newChild);
|
|
69
|
+
this.expressionChange.emit(this.wrap(updatedInner));
|
|
60
70
|
};
|
|
61
|
-
this.
|
|
71
|
+
this.handleChildExpressionChange = (childIndex) => (event) => {
|
|
62
72
|
event.stopPropagation();
|
|
63
|
-
const
|
|
64
|
-
const result = updateChildExpression(
|
|
73
|
+
const inner = getInnerAndOr(this.expression);
|
|
74
|
+
const result = updateChildExpression(inner, childIndex, event.detail);
|
|
75
|
+
if (result.type === 'removed') {
|
|
76
|
+
this.expressionChange.emit(undefined);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (this.isNegated) {
|
|
80
|
+
this.expressionChange.emit({
|
|
81
|
+
op: Operator.NOT,
|
|
82
|
+
exp: result.expression,
|
|
83
|
+
});
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
65
86
|
this.expressionChange.emit(result.expression);
|
|
66
87
|
};
|
|
67
88
|
}
|
|
68
|
-
// Initialize value to match current operator
|
|
69
|
-
componentWillLoad() {
|
|
70
|
-
this.value =
|
|
71
|
-
this.options.find((option) => option.value ===
|
|
72
|
-
(this.expression.op === Operator.AND ? 'and' : 'or')) || this.options[0];
|
|
73
|
-
}
|
|
74
89
|
render() {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
if (!subheading) {
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
84
|
-
return (h("limel-header", { subheading: subheading }, this.renderOperators(), this.renderDeleteGroupButton()));
|
|
85
|
-
}
|
|
86
|
-
renderOperators() {
|
|
87
|
-
return (h("limel-select", { class: "operator-select", slot: "actions", value: this.value, options: this.options, onChange: this.handleToggleOperator }));
|
|
88
|
-
}
|
|
89
|
-
renderDeleteGroupButton() {
|
|
90
|
-
return (h("limel-icon-button", { class: "delete-group", slot: "actions", icon: "trash", label: "Delete This Group", onClick: this.handleDeleteGroup }));
|
|
91
|
-
}
|
|
92
|
-
getSubheading() {
|
|
93
|
-
return getFilterGroupSubheading(this.expression.op, this.expression.exp.length);
|
|
94
|
-
}
|
|
95
|
-
renderAddButton() {
|
|
96
|
-
return (h("limel-button", { role: "listitem", label: "Condition", icon: {
|
|
90
|
+
const combinator = getCombinator(this.expression);
|
|
91
|
+
const inner = getInnerAndOr(this.expression);
|
|
92
|
+
const selected = COMBINATOR_OPTIONS.find((o) => o.value === combinator);
|
|
93
|
+
return (h(Host, { key: 'c9ca20c6b893416088807266fede19e5a24e360d', "data-op": combinator, style: {
|
|
94
|
+
'--limebb-query-filter-group-color-code': OP_STYLE[combinator].color,
|
|
95
|
+
} }, h("div", { key: '8efe9e6e4d1ba552b8a761ec23b18668a1aef7f3', class: "group" }, h("div", { key: 'e99bb85a9532431a63ce0916dc4882a2f73d2307', class: "group-header" }, h("limel-select", { key: '981fd5c1d4755ef937451144245640228ed515a9', class: "combinator", label: "Match", value: selected, options: COMBINATOR_OPTIONS, onChange: this.handleCombinatorChange }), h("limel-icon-button", { key: 'caa427e897501a12a98a370c4d2364564904c042', class: "delete-group", icon: "trash", label: "Delete this group", onClick: this.handleDeleteGroup })), h("ul", { key: '8a21efdd1d783b11bb00f39c3579eec7277a505e', class: "rows" }, inner.exp.map(this.renderChildExpression), h("limel-chip", { key: 'b4612f1899060f2f553283cc7afac53777b0c1ef', role: "listitem", class: "add-condition", text: "Condition", icon: { name: 'plus_math', title: 'Add' }, onClick: this.handleAddChildExpression })), h("limel-chip", { key: '7046abfe1929fa13f4de3e90285610280467fd76', class: "add-group", size: "small", text: "Group", icon: {
|
|
97
96
|
name: 'plus_math',
|
|
98
97
|
title: 'Add',
|
|
99
|
-
|
|
98
|
+
color: 'var(--group-rail-color)',
|
|
99
|
+
}, onClick: this.handleAddChildGroup }))));
|
|
100
100
|
}
|
|
101
|
-
|
|
102
|
-
return
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
101
|
+
get isNegated() {
|
|
102
|
+
return this.expression.op === Operator.NOT;
|
|
103
|
+
}
|
|
104
|
+
wrap(inner) {
|
|
105
|
+
if (this.isNegated) {
|
|
106
|
+
const wrapped = { op: Operator.NOT, exp: inner };
|
|
107
|
+
return wrapped;
|
|
108
|
+
}
|
|
109
|
+
return inner;
|
|
106
110
|
}
|
|
107
111
|
static get is() { return "limebb-lime-query-filter-group"; }
|
|
108
112
|
static get encapsulation() { return "shadow"; }
|
|
@@ -208,14 +212,14 @@ export class LimeQueryFilterGroupComponent {
|
|
|
208
212
|
"type": "unknown",
|
|
209
213
|
"mutable": false,
|
|
210
214
|
"complexType": {
|
|
211
|
-
"original": "
|
|
212
|
-
"resolved": "{ op: Operator.AND | Operator.OR; exp: Expression[]; }",
|
|
215
|
+
"original": "GroupExpression",
|
|
216
|
+
"resolved": "{ op: Operator.AND | Operator.OR; exp: Expression[]; } | { op: Operator.NOT; exp: AndOrExpression; }",
|
|
213
217
|
"references": {
|
|
214
|
-
"
|
|
218
|
+
"GroupExpression": {
|
|
215
219
|
"location": "import",
|
|
216
|
-
"path": "
|
|
217
|
-
"id": "
|
|
218
|
-
"referenceLocation": "
|
|
220
|
+
"path": "./filter-group-logic",
|
|
221
|
+
"id": "src/components/lime-query-builder/expressions/filter-group-logic.ts::GroupExpression",
|
|
222
|
+
"referenceLocation": "GroupExpression"
|
|
219
223
|
}
|
|
220
224
|
}
|
|
221
225
|
},
|
|
@@ -223,18 +227,13 @@ export class LimeQueryFilterGroupComponent {
|
|
|
223
227
|
"optional": false,
|
|
224
228
|
"docs": {
|
|
225
229
|
"tags": [],
|
|
226
|
-
"text": "The group expression
|
|
230
|
+
"text": "The group expression: an AND/OR group, optionally wrapped in NOT"
|
|
227
231
|
},
|
|
228
232
|
"getter": false,
|
|
229
233
|
"setter": false
|
|
230
234
|
}
|
|
231
235
|
};
|
|
232
236
|
}
|
|
233
|
-
static get states() {
|
|
234
|
-
return {
|
|
235
|
-
"value": {}
|
|
236
|
-
};
|
|
237
|
-
}
|
|
238
237
|
static get events() {
|
|
239
238
|
return [{
|
|
240
239
|
"method": "expressionChange",
|
|
@@ -244,7 +243,7 @@ export class LimeQueryFilterGroupComponent {
|
|
|
244
243
|
"composed": true,
|
|
245
244
|
"docs": {
|
|
246
245
|
"tags": [],
|
|
247
|
-
"text": "Emitted when the group expression changes
|
|
246
|
+
"text": "Emitted when the group expression changes.\nEmits undefined when the group itself should be removed."
|
|
248
247
|
},
|
|
249
248
|
"complexType": {
|
|
250
249
|
"original": "Expression | undefined",
|
|
@@ -35,7 +35,7 @@ export class LimeQueryFilterNotComponent {
|
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
render() {
|
|
38
|
-
return (h("div", { key: '
|
|
38
|
+
return (h("div", { key: '30b9f2fbe27c8277633ef02fbebbafb227387ed8', class: "expression" }, this.label && h("limel-header", { key: '05b193ac0ec191b1f9394ed48691c24e534ba66c', heading: this.label }), h("limebb-lime-query-filter-expression", { key: '83b6a42631b886735502a8ec6454f5e9c868cc4c', platform: this.platform, context: this.context, label: "Not", limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression.exp, onExpressionChange: this.handleExpressionChange })));
|
|
39
39
|
}
|
|
40
40
|
static get is() { return "limebb-lime-query-filter-not"; }
|
|
41
41
|
static get encapsulation() { return "shadow"; }
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Operator, } from "@limetech/lime-web-components";
|
|
2
|
+
export const LIME_QUERY_OPERATORS = [
|
|
3
|
+
{
|
|
4
|
+
value: Operator.EQUALS,
|
|
5
|
+
label: 'webclient.operator.equals',
|
|
6
|
+
icon: '-lime-filter-equal',
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
value: Operator.NOT_EQUALS,
|
|
10
|
+
label: 'webclient.operator.not-equals',
|
|
11
|
+
icon: '-lime-filter-equal-not',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
value: Operator.GREATER,
|
|
15
|
+
label: 'webclient.operator.greater-than',
|
|
16
|
+
icon: '-lime-filter-greater',
|
|
17
|
+
applicableTypes: ['integer', 'decimal', 'date', 'time'],
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
value: Operator.GREATER_OR_EQUAL,
|
|
21
|
+
label: 'webclient.operator.greater-than-or-equal-to',
|
|
22
|
+
icon: '-lime-filter-greater-equal',
|
|
23
|
+
applicableTypes: ['integer', 'decimal', 'date', 'time'],
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
value: Operator.LESS,
|
|
27
|
+
label: 'webclient.operator.less-than',
|
|
28
|
+
icon: '-lime-filter-less',
|
|
29
|
+
applicableTypes: ['integer', 'decimal', 'date', 'time'],
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
value: Operator.LESS_OR_EQUAL,
|
|
33
|
+
label: 'webclient.operator.less-than-or-equal-to',
|
|
34
|
+
icon: '-lime-filter-less-equal',
|
|
35
|
+
applicableTypes: ['integer', 'decimal', 'date', 'time'],
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
value: Operator.IN,
|
|
39
|
+
label: 'webclient.operator.in-filter',
|
|
40
|
+
icon: '-lime-filter-set-included',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
value: Operator.LIKE,
|
|
44
|
+
label: 'webclient.operator.contains',
|
|
45
|
+
icon: '-lime-filter-contain',
|
|
46
|
+
applicableTypes: ['string', 'text'],
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
value: Operator.BEGINS,
|
|
50
|
+
label: 'webclient.operator.begins-with',
|
|
51
|
+
icon: '-lime-filter-starts-with',
|
|
52
|
+
applicableTypes: ['string', 'text'],
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
value: Operator.ENDS,
|
|
56
|
+
label: 'webclient.operator.ends-with',
|
|
57
|
+
icon: '-lime-filter-ends-with',
|
|
58
|
+
applicableTypes: ['string', 'text'],
|
|
59
|
+
},
|
|
60
|
+
];
|
|
@@ -172,7 +172,7 @@ export class LimeQueryBuilder {
|
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
render() {
|
|
175
|
-
return (h(Host, { key: '
|
|
175
|
+
return (h(Host, { key: '08917b4c102db24180be24f392067ba5ec14569f' }, this.renderHeader(), this.renderContent()));
|
|
176
176
|
}
|
|
177
177
|
renderContent() {
|
|
178
178
|
const visualModeSupported = this.checkVisualModeSupport();
|
|
@@ -154,7 +154,7 @@ export class LimeQueryResponseFormatBuilder {
|
|
|
154
154
|
}
|
|
155
155
|
render() {
|
|
156
156
|
const visualModeSupported = this.checkVisualModeSupport();
|
|
157
|
-
return (h("div", { key: '
|
|
157
|
+
return (h("div", { key: '6f59c4ff1f5ef1ee726bacbe3b8333cd5f6dff77', class: "response-format-builder" }, this.label && h("h1", { key: '28d5825c0ca043f6f671cf812c174aa028950524', class: "builder-label" }, this.label), this.helperText && (h("p", { key: '1e35efbfaa73c0fd871f813059660eea3d026063', class: "builder-helper-text" }, this.helperText)), this.visualModeEnabled && (h("div", { key: '8cbe1f088d88cbdefbdd092cdf879facdbb807a3', class: "mode-controls" }, this.renderModeSwitch(visualModeSupported))), !this.visualModeEnabled || this.mode === 'code' ? (h("div", { class: "code-mode" }, this.renderCodeEditor(visualModeSupported))) : (h("div", { class: "visual-mode" }, this.renderVisualMode()))));
|
|
158
158
|
}
|
|
159
159
|
renderModeSwitch(support) {
|
|
160
160
|
const visualDisabled = !support.visualModeSupported;
|
|
@@ -78,7 +78,7 @@ export class LimetypeField {
|
|
|
78
78
|
value: '',
|
|
79
79
|
};
|
|
80
80
|
options.unshift(emptyOption);
|
|
81
|
-
return (h("limel-select", { key: '
|
|
81
|
+
return (h("limel-select", { key: '85956ae62a4975a7706b4a561b1e321078e0dc2a', label: this.label, options: options, value: selectedOption, required: this.required, helperText: this.helperText, invalid: invalid, disabled: this.disabled || this.readonly, onChange: this.handleChange }));
|
|
82
82
|
}
|
|
83
83
|
componentWillRender() {
|
|
84
84
|
this.updatePropertyFields(this.value || '');
|
|
@@ -69,7 +69,7 @@ export class OrderByEditor {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
render() {
|
|
72
|
-
return (h(Host, { key: '
|
|
72
|
+
return (h(Host, { key: '59e3bb0334e5528fc8a0f8747086348d1a195c82' }, this.renderEmptyState(), this.renderOrderByEditor()));
|
|
73
73
|
}
|
|
74
74
|
renderEmptyState() {
|
|
75
75
|
if (this.limetype) {
|
|
@@ -38,9 +38,9 @@ export class OrderByItemComponent {
|
|
|
38
38
|
render() {
|
|
39
39
|
const propertyPath = Object.keys(this.item)[0] || '';
|
|
40
40
|
const direction = this.item[propertyPath] || 'ASC';
|
|
41
|
-
return (h(Host, { key: '
|
|
41
|
+
return (h(Host, { key: '8d91628467c6ec1912d1f87a7922464e5341c8e1' }, h("limebb-property-selector", { key: '26e7729c7c43f91e02446ad45aa59c56922b377c', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: propertyPath, required: true, onChange: this.handlePathChange }), h("div", { key: '1926ad94ddb9d4c2112007068ab4cbf38057622b', class: "control-buttons" }, h("limel-icon-button", { key: '96e4595c737c68ccb30d90295ba6115ec2c7a014', icon: direction === 'ASC'
|
|
42
42
|
? 'sort_ascending'
|
|
43
|
-
: 'sort_descending', label: direction === 'ASC' ? 'Ascending' : 'Descending', onClick: this.handleToggleDirection }), h("limel-icon-button", { key: '
|
|
43
|
+
: 'sort_descending', label: direction === 'ASC' ? 'Ascending' : 'Descending', onClick: this.handleToggleDirection }), h("limel-icon-button", { key: 'eee7957506516cc344007ae12a94381a33f9171b', icon: "trash", label: "Remove", onClick: this.handleRemove }))));
|
|
44
44
|
}
|
|
45
45
|
static get is() { return "limebb-lime-query-order-by-item"; }
|
|
46
46
|
static get encapsulation() { return "shadow"; }
|
package/dist/collection/components/lime-query-builder/property-selector/property-selector.js
CHANGED
|
@@ -56,6 +56,23 @@ export class PropertySelector {
|
|
|
56
56
|
this.isOpen = true;
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
|
+
this.handleChipSetBlur = () => {
|
|
60
|
+
var _a;
|
|
61
|
+
// Ignore blurs caused by `limel-menu` auto-focusing its list/items
|
|
62
|
+
// for keyboard navigation when it opens. That focus shift moves into
|
|
63
|
+
// *our* menu surface (portal-rendered, so `document.activeElement`
|
|
64
|
+
// reports it as `LIMEL-MENU-LIST`) — the user hasn't navigated away.
|
|
65
|
+
const active = document.activeElement;
|
|
66
|
+
if ((_a = active === null || active === void 0 ? void 0 : active.tagName) === null || _a === void 0 ? void 0 : _a.startsWith('LIMEL-MENU')) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
// When focus genuinely leaves the chip-set (user clicked Value,
|
|
70
|
+
// closed the popover, etc.), close the menu so the next focus can
|
|
71
|
+
// re-open it cleanly. Without this, `isOpen` stays stuck `true` and
|
|
72
|
+
// subsequent focus events short-circuit on the `!this.isOpen` guard.
|
|
73
|
+
this.isOpen = false;
|
|
74
|
+
this.navigationPath = '';
|
|
75
|
+
};
|
|
59
76
|
this.handleSelect = (event) => {
|
|
60
77
|
event.stopPropagation();
|
|
61
78
|
const selectedPath = event.detail.value;
|
|
@@ -128,7 +145,7 @@ export class PropertySelector {
|
|
|
128
145
|
return null;
|
|
129
146
|
}
|
|
130
147
|
const chips = this.getChipsForPath(this.navigationPath || this.value || '');
|
|
131
|
-
return (h("limel-menu", { items: this.menuItems, open: this.isOpen, emptyResultMessage: "No available properties", surfaceWidth: "inherit-from-trigger", openDirection: "bottom-end", onSelect: this.handleSelect, onNavigateMenu: this.handleNavigateMenu, onCancel: this.handleCancel }, h("div", { slot: "trigger" }, h("div", { onClick: this.handleChipSetWrapperClick }, h("limel-chip-set", { type: "input", label: this.label, value: chips, required: this.required, helperText: this.helperText, delimiter: "\u203A", maxItems: 1, onChange: this.handleChipSetChange, onFocus: this.handleChipSetFocus })))));
|
|
148
|
+
return (h("limel-menu", { items: this.menuItems, open: this.isOpen, emptyResultMessage: "No available properties", surfaceWidth: "inherit-from-trigger", openDirection: "bottom-end", onSelect: this.handleSelect, onNavigateMenu: this.handleNavigateMenu, onCancel: this.handleCancel }, h("div", { slot: "trigger" }, h("div", { onClick: this.handleChipSetWrapperClick }, h("limel-chip-set", { type: "input", label: this.label, value: chips, required: this.required, helperText: this.helperText, delimiter: "\u203A", maxItems: 1, onChange: this.handleChipSetChange, onFocus: this.handleChipSetFocus, onStopEdit: this.handleChipSetBlur })))));
|
|
132
149
|
}
|
|
133
150
|
loadMenuItems() {
|
|
134
151
|
// Get the limetype we're currently navigating in
|
|
@@ -219,30 +236,36 @@ export class PropertySelector {
|
|
|
219
236
|
return [];
|
|
220
237
|
}
|
|
221
238
|
const parts = path.split('.');
|
|
222
|
-
const
|
|
239
|
+
const labels = [];
|
|
240
|
+
let leafIcon;
|
|
223
241
|
let currentLimetype = this.limetypes[this.limetype];
|
|
224
|
-
let currentPath = '';
|
|
225
242
|
for (const part of parts) {
|
|
226
|
-
currentPath = currentPath ? `${currentPath}.${part}` : part;
|
|
227
|
-
// Use getNormalizedProperties to include _id and _timestamp
|
|
228
243
|
const normalizedProperties = getNormalizedProperties(currentLimetype);
|
|
229
244
|
const property = normalizedProperties[part];
|
|
230
|
-
if (property) {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
if (property.relation) {
|
|
238
|
-
currentLimetype = property.relation.getLimetype();
|
|
239
|
-
}
|
|
245
|
+
if (!property) {
|
|
246
|
+
continue;
|
|
247
|
+
}
|
|
248
|
+
labels.push(property.localname || part);
|
|
249
|
+
leafIcon = this.getIconForProperty(property);
|
|
250
|
+
if (property.relation) {
|
|
251
|
+
currentLimetype = property.relation.getLimetype();
|
|
240
252
|
}
|
|
241
253
|
}
|
|
242
|
-
|
|
254
|
+
if (labels.length === 0) {
|
|
255
|
+
return [];
|
|
256
|
+
}
|
|
257
|
+
return [
|
|
258
|
+
{
|
|
259
|
+
id: path,
|
|
260
|
+
text: labels.join('.'),
|
|
261
|
+
icon: leafIcon,
|
|
262
|
+
value: path,
|
|
263
|
+
},
|
|
264
|
+
];
|
|
243
265
|
}
|
|
244
266
|
static get is() { return "limebb-property-selector"; }
|
|
245
267
|
static get encapsulation() { return "shadow"; }
|
|
268
|
+
static get delegatesFocus() { return true; }
|
|
246
269
|
static get originalStyleUrls() {
|
|
247
270
|
return {
|
|
248
271
|
"$": ["property-selector.scss"]
|
package/dist/collection/components/lime-query-builder/response-format/response-format-item.js
CHANGED
|
@@ -66,7 +66,7 @@ export class ResponseFormatItem {
|
|
|
66
66
|
}
|
|
67
67
|
render() {
|
|
68
68
|
return [
|
|
69
|
-
h("div", { key: '
|
|
69
|
+
h("div", { key: '98518fb21bacceef31e398faf0e7d66d92152a9f', class: "property-controls" }, h("div", { key: '1d636436ce63b930abdfb40600106d0d8f643663', class: "property-path" }, h("limebb-property-selector", { key: '3e0fa6a5c5c414c70e38b52f7157a806be8358df', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: this.item.path, required: true, onChange: this.handlePathChange }), h("div", { key: '03bc814455e46812ad7365ddf893431e97b255df', class: "input-grid" }, this.renderAliasInput()), h("div", { key: '8d6b47ff44a01288e9875494b1fea5a57649205f', class: "input-grid" }, this.renderDescriptionInput()), h("div", { key: 'e2e4741bc80c0fef0741f153c7183b8a12da7aa9', class: "button-group" }, this.renderAliasButton(), this.renderDescriptionButton())), h("limel-icon-button", { key: '7f204e6331dbcd0e8e62a5e9a61676f62b14a045', icon: "trash", label: "Remove property", onClick: this.handleRemove })),
|
|
70
70
|
];
|
|
71
71
|
}
|
|
72
72
|
renderAliasButton() {
|
|
@@ -5,8 +5,8 @@ import { h } from "@stencil/core";
|
|
|
5
5
|
export class LiveDocsInfo {
|
|
6
6
|
render() {
|
|
7
7
|
return [
|
|
8
|
-
h("div", { key: '
|
|
9
|
-
h("p", { key: '
|
|
8
|
+
h("div", { key: '36018d23b4f56d1ef1cba8aaf6d24c9e1913fc51', class: "header" }, h("limel-icon", { key: 'e262d9b9b22f4ab604f8786ae20964da908c5179', name: "not_showing_video_frames" }), h("h2", { key: '283107fa6651f1de7308d805b3aa48c479c1b281' }, "Viewing this file type requires ", h("em", { key: '4bb7d2d83e4ae2c073f35038827b5b606448af2d' }, "Live Docs"))),
|
|
9
|
+
h("p", { key: '8f5a3fd0b9958f4bdaa11c0f3b82990706100c65' }, h("em", { key: '23aed14b3a3b54c82f63f2fa4aa6016290aebf26' }, "Live Docs"), " not only enables you to view many file formats such as Microsoft Office documents, but it also empowers you to edit them right in the CRM. No need to download anything on your device!", h("a", { key: 'a018062eefaa0c9b3fff92504e330700979cc407', target: "_blank", href: "https://www.lime-technologies.com/en/lime-crm/live-docs/" }, "Learn more")),
|
|
10
10
|
];
|
|
11
11
|
}
|
|
12
12
|
static get is() { return "limebb-live-docs-info"; }
|
|
@@ -53,7 +53,7 @@ export class LocalePicker {
|
|
|
53
53
|
const value = this.value;
|
|
54
54
|
selectedOptions = options.find((option) => option.value === value);
|
|
55
55
|
}
|
|
56
|
-
return (h("limel-select", { key: '
|
|
56
|
+
return (h("limel-select", { key: 'b42d403250d57155547eaa97731bfc471596c224', value: selectedOptions, options: sortBy(options, 'text'), helperText: this.helperText, label: this.label, required: this.required, disabled: this.disabled, readonly: this.readonly, onChange: this.handleChange, multiple: this.multipleChoice }));
|
|
57
57
|
}
|
|
58
58
|
static get is() { return "limebb-locale-picker"; }
|
|
59
59
|
static get encapsulation() { return "shadow"; }
|
|
@@ -56,7 +56,7 @@ export class NotificationListItem {
|
|
|
56
56
|
}
|
|
57
57
|
render() {
|
|
58
58
|
var _a, _b;
|
|
59
|
-
return (h(Host, { key: '
|
|
59
|
+
return (h(Host, { key: 'dff09ced1e8ae05c746912e249f2557de6fce96e', id: this.item.id, class: {
|
|
60
60
|
'is-clickable': this.isItemClickable(),
|
|
61
61
|
'is-read': !!((_a = this.item) === null || _a === void 0 ? void 0 : _a.read),
|
|
62
62
|
'is-selected': !!((_b = this.item) === null || _b === void 0 ? void 0 : _b.selected),
|
|
@@ -108,11 +108,11 @@ export class PercentageVisualizer {
|
|
|
108
108
|
render() {
|
|
109
109
|
const normalizedValue = this.getNormalizedValue();
|
|
110
110
|
const zeroPoint = this.getZeroPointPosition();
|
|
111
|
-
return (h(Host, { key: '
|
|
111
|
+
return (h(Host, { key: 'ea0690be403aa9c1e4e1fc82b788ad159a8a4cc3', class: this.getContainerClassList(), style: {
|
|
112
112
|
'--limebb-percentage-visualizer-zero-point-position': `${zeroPoint}%`,
|
|
113
113
|
'--limebb-percentage-visualizer-width': `${Math.abs(normalizedValue)}%`,
|
|
114
114
|
'--limebb-percentage-visualizer-rotate': `${normalizedValue >= 0 ? '0deg' : '180deg'}`,
|
|
115
|
-
} }, h("limel-notched-outline", { key: '
|
|
115
|
+
} }, h("limel-notched-outline", { key: '77b09269ca09806a33b6297692ca7cf79ee68a53', tabIndex: 0, role: "meter", "aria-valuemin": this.rangeMin, "aria-valuemax": this.rangeMax, "aria-valuenow": this.numValue, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-controls": this.helperTextId }, h("div", { key: '7b3905e69e8d5b372f7736a9ec40576a23b10385', slot: "content" }, this.renderVisualization())), this.renderHelperLine()));
|
|
116
116
|
}
|
|
117
117
|
renderVisualization() {
|
|
118
118
|
if (this.reducePresence && (this.numValue === 0 || !this.hasValue())) {
|
|
@@ -37,7 +37,7 @@ export class RuleChipPopover {
|
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
39
|
render() {
|
|
40
|
-
return (h("div", { key: '
|
|
40
|
+
return (h("div", { key: 'ca7901be2a99590faddea0c678d149b13b5d564f', class: "popover" }, this.renderHeader(), this.renderBody()));
|
|
41
41
|
}
|
|
42
42
|
renderHeader() {
|
|
43
43
|
var _a, _b, _c, _d;
|
|
@@ -100,7 +100,7 @@ export class RuleEditor {
|
|
|
100
100
|
'rule-editor': true,
|
|
101
101
|
'rule-editor--disabled': this.disabled,
|
|
102
102
|
};
|
|
103
|
-
return (h("div", { key: '
|
|
103
|
+
return (h("div", { key: 'f1479b58e37918312e4e47031e6fd3e7d6129449', class: containerClasses }, this.renderLabel(), h(RuleNodeView, { key: '3c49ff3c08a6f0b51a4ab6608521d571a2ec1625', node: this.normalizedValue, path: [], ctx: this.createRenderContext() }), this.renderHelperText()));
|
|
104
104
|
}
|
|
105
105
|
renderLabel() {
|
|
106
106
|
if (!this.label) {
|
|
@@ -26,7 +26,7 @@ export class RuleGate {
|
|
|
26
26
|
this.compileAndEvaluate();
|
|
27
27
|
}
|
|
28
28
|
render() {
|
|
29
|
-
return (h(Host, { key: '
|
|
29
|
+
return (h(Host, { key: '8fe8b9fad90211b80b4672563f6d599ce1cb11c3', hidden: !this.shouldRender }, h("slot", { key: 'f434d25308b85fd084d369ccf2b0e22bd3513210' })));
|
|
30
30
|
}
|
|
31
31
|
get ruleRegistry() {
|
|
32
32
|
return this.platform.get(PlatformServiceName.RuleRegistry);
|
|
@@ -128,9 +128,9 @@ export class SummaryPopover {
|
|
|
128
128
|
top: '0.125rem',
|
|
129
129
|
right: '0.125rem',
|
|
130
130
|
};
|
|
131
|
-
return (h("limel-popover", { key: '
|
|
131
|
+
return (h("limel-popover", { key: '7e4e777539c58689faf6a0e69c5f2cf8ed771641', style: {
|
|
132
132
|
'--limebb-summary-popover-timeout': `${this.triggerDelay}ms`,
|
|
133
|
-
}, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("div", { key: '
|
|
133
|
+
}, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("div", { key: '21e0e2569a1abdb404c0c6dbd80714f7ff794ca1', slot: "trigger", onMouseEnter: this.openPopoverWithDelay, onMouseLeave: this.resetTimeout, onFocusin: this.openPopoverWithDelay }, h("slot", { key: 'c771e4d9aa10acd6a0a044be4d01d611e22bcc13', name: "trigger" }), h("div", { key: '0c25b9418a311fdf7b700f76a8dbadeea5fb8010', class: "opening-countdown-indicator" })), this.renderCard(closeButtonStyle)));
|
|
134
134
|
}
|
|
135
135
|
renderCard(closeButtonStyle) {
|
|
136
136
|
return (h("limel-card", { style: {
|
|
@@ -13,8 +13,8 @@ export class MentionGroupCounter {
|
|
|
13
13
|
render() {
|
|
14
14
|
const label = this.getLabel();
|
|
15
15
|
return [
|
|
16
|
-
h("span", { key: '
|
|
17
|
-
h("limel-tooltip", { key: '
|
|
16
|
+
h("span", { key: '24bc1b7b14ada4e19a4f560455cbb26bfd0b83b7', id: this.tooltipId }, label),
|
|
17
|
+
h("limel-tooltip", { key: '81a8ce747eea55013b9968a2f3eceb652257355f', elementId: this.tooltipId, label: label, helperLabel: this.helperLabel }),
|
|
18
18
|
];
|
|
19
19
|
}
|
|
20
20
|
getLabel() {
|
|
@@ -391,7 +391,7 @@ export class LimeBBTextEditor {
|
|
|
391
391
|
}
|
|
392
392
|
render() {
|
|
393
393
|
return [
|
|
394
|
-
h("limel-text-editor", { key: '
|
|
394
|
+
h("limel-text-editor", { key: '58b3a06b62159010bab0d99fe48ae3d9ebc0bc5e', ref: (el) => (this.textEditor = el), tabindex: this.disabled ? -1 : 0, value: this.value, contentType: this.contentType, customElements: this.registeredCustomElements, "aria-disabled": this.disabled, language: this.language, triggers: this.registeredTriggers, onTriggerStart: this.handleTriggerStart, onTriggerStop: this.handleTriggerStop, onTriggerChange: this.handleTriggerChange, onImagePasted: this.handleImagePasted, onMetadataChange: this.handleMetadataChange, ui: this.ui, allowResize: this.allowResize, required: this.required, disabled: this.disabled, readonly: this.readonly, helperText: this.helperText, placeholder: this.placeholder, label: this.label, invalid: this.invalid }),
|
|
395
395
|
this.renderPicker(),
|
|
396
396
|
];
|
|
397
397
|
}
|
|
@@ -69,7 +69,7 @@ export class TrendIndicator {
|
|
|
69
69
|
this.numValue = this.parseValue(this.value);
|
|
70
70
|
}
|
|
71
71
|
render() {
|
|
72
|
-
return (h(Host, { key: '
|
|
72
|
+
return (h(Host, { key: 'ea5709dccccd0ca07684bd221e7f5fe79b76dae4', class: this.getContainerClassList() }, h("limel-notched-outline", { key: '952a07d4e934d589460a8848a52bad130f351cdf', id: this.tooltipId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, "aria-controls": this.helperTextId }, h("div", { key: 'a620318b3edea23636d656654da65c9532b4a5f0', slot: "content", tabIndex: 0 }, this.renderVisualization())), this.renderHelperLine(), this.renderTooltip()));
|
|
73
73
|
}
|
|
74
74
|
renderVisualization() {
|
|
75
75
|
if (this.reducePresence && (this.numValue === 0 || !this.hasValue())) {
|