@limetech/lime-crm-building-blocks 2.3.1 → 2.4.1
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 +20 -0
- package/dist/cjs/{condition-tree-translate-B_qIQz9s.js → condition-tree-translate-BQwKtiNZ.js} +1 -1
- package/dist/cjs/{filter-group-logic-Bt5tIbfP.js → filter-group-logic-CeGmYgsu.js} +1 -1
- package/dist/cjs/{filter-operators-CzIq9qKC.js → filter-operators-C3T2czC_.js} +1 -1
- package/dist/cjs/{index-mDIvByXc.js → index-Du4GyM0Y.js} +13 -8
- package/dist/cjs/index.cjs.js +3 -3
- package/dist/cjs/{index.esm-D1EzGa8X.js → index.esm-C2zw0QJK.js} +2 -2
- package/dist/cjs/lime-crm-building-blocks.cjs.js +3 -3
- package/dist/cjs/{lime-query-validation-Df4GZRGm.js → lime-query-validation-CzYkphmi.js} +1 -1
- package/dist/cjs/limebb-alert-dialog.cjs.entry.js +1 -1
- package/dist/cjs/limebb-browser.cjs.entry.js +2 -2
- package/dist/cjs/limebb-chat-icon-list_3.cjs.entry.js +2 -2
- 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 +3 -3
- package/dist/cjs/limebb-component-picker.cjs.entry.js +2 -2
- package/dist/cjs/limebb-composer-toolbar.cjs.entry.js +2 -2
- package/dist/cjs/limebb-condition-tree-editor.cjs.entry.js +24 -9
- package/dist/cjs/limebb-condition-tree.cjs.entry.js +121 -34
- 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 +2 -2
- 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 +1 -1
- package/dist/cjs/limebb-document-picker.cjs.entry.js +1 -1
- package/dist/cjs/limebb-empty-state.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 +2 -2
- package/dist/cjs/limebb-feed.cjs.entry.js +2 -2
- package/dist/cjs/limebb-filter-chip_6.cjs.entry.js +4 -4
- package/dist/cjs/limebb-icon-picker.cjs.entry.js +1 -1
- 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 +1 -1
- 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 +3 -3
- package/dist/cjs/limebb-inline-image.cjs.entry.js +2 -2
- package/dist/cjs/limebb-kanban-group.cjs.entry.js +2 -2
- package/dist/cjs/limebb-kanban-item.cjs.entry.js +2 -2
- package/dist/cjs/limebb-kanban.cjs.entry.js +1 -1
- package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +3 -3
- package/dist/cjs/limebb-lime-query-filter-builder.cjs.entry.js +3 -3
- package/dist/cjs/limebb-lime-query-filter-comparison_2.cjs.entry.js +4 -4
- package/dist/cjs/limebb-lime-query-order-by-editor_2.cjs.entry.js +3 -3
- package/dist/cjs/limebb-lime-query-order-by-item.cjs.entry.js +1 -1
- package/dist/cjs/limebb-lime-query-response-format-builder.cjs.entry.js +3 -3
- 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 +2 -2
- package/dist/cjs/limebb-live-docs-info.cjs.entry.js +1 -1
- 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 +1 -1
- package/dist/cjs/limebb-mention.cjs.entry.js +2 -2
- package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +1 -1
- package/dist/cjs/limebb-notification-item.cjs.entry.js +2 -2
- 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 +2 -2
- 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-condition-chip.cjs.entry.js +71 -0
- package/dist/cjs/limebb-rule-condition-editor-CHWTMOmi.js +285 -0
- package/dist/cjs/limebb-rule-condition-editor.cjs.entry.js +9 -0
- package/dist/cjs/limebb-rule-editor.cjs.entry.js +217 -573
- 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 +3 -3
- package/dist/cjs/limebb-trend-indicator.cjs.entry.js +2 -2
- package/dist/cjs/limebb-value-comparison-editor.cjs.entry.js +3 -3
- package/dist/cjs/{limetype-BPuuRLtH.js → limetype-BzVDjAKS.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{web-component-template-DRMW9wHN.js → web-component-template-C-AkY5as.js} +1 -1
- package/dist/collection/collection-manifest.json +3 -2
- package/dist/collection/components/condition-tree/condition-tree-editor/condition-tree-editor.js +46 -5
- package/dist/collection/components/condition-tree/condition-tree-nodes.js +13 -6
- package/dist/collection/components/condition-tree/condition-tree.js +69 -18
- package/dist/collection/components/condition-tree/group-node-view.js +41 -5
- package/dist/collection/components/condition-tree/leaf-node-view.js +19 -2
- package/dist/collection/components/rule-editor/condition-tree-adapter.js +229 -0
- package/dist/collection/components/rule-editor/rule-condition-chip/rule-condition-chip.css +4 -0
- package/dist/collection/components/rule-editor/rule-condition-chip/rule-condition-chip.js +322 -0
- package/dist/collection/components/rule-editor/rule-condition-editor/rule-condition-editor.css +5 -0
- package/dist/collection/components/rule-editor/rule-condition-editor/rule-condition-editor.js +259 -0
- package/dist/collection/components/rule-editor/rule-editor.css +1 -73
- package/dist/collection/components/rule-editor/rule-editor.js +143 -153
- package/dist/collection/components/rule-editor/rule-issues.js +89 -0
- package/dist/collection/components/rule-editor/view-helpers.js +19 -41
- package/dist/collection/components/rule-gate/rule-gate.css +3 -3
- package/dist/components/condition-tree-adapter.js +1 -0
- package/dist/components/condition-tree-editor.js +1 -1
- package/dist/components/condition-tree.js +1 -0
- package/dist/components/limebb-condition-tree.js +1 -1
- package/dist/components/limebb-rule-condition-chip.d.ts +11 -0
- package/dist/components/limebb-rule-condition-chip.js +1 -0
- package/dist/components/limebb-rule-condition-editor.d.ts +11 -0
- package/dist/components/limebb-rule-condition-editor.js +1 -0
- package/dist/components/limebb-rule-editor.js +1 -1
- package/dist/components/limebb-rule-gate.js +1 -1
- package/dist/esm/{condition-tree-translate-CBeXbZ_z.js → condition-tree-translate-ZQptbaXF.js} +1 -1
- package/dist/esm/{filter-group-logic-CzThKf85.js → filter-group-logic-nqCMmV0e.js} +1 -1
- package/dist/esm/{filter-operators-u3T1PKhm.js → filter-operators-QbKK26m2.js} +1 -1
- package/dist/esm/{index-COtSgrC5.js → index-BK566_jX.js} +13 -8
- package/dist/esm/{index.esm-B9D_MXA6.js → index.esm-C__n3hug.js} +1 -1
- package/dist/esm/index.js +3 -3
- package/dist/esm/lime-crm-building-blocks.js +4 -4
- package/dist/esm/{lime-query-validation-dGoN_93p.js → lime-query-validation-BvB2v-yP.js} +1 -1
- package/dist/esm/limebb-alert-dialog.entry.js +1 -1
- package/dist/esm/limebb-browser.entry.js +2 -2
- package/dist/esm/limebb-chat-icon-list_3.entry.js +2 -2
- 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 +3 -3
- package/dist/esm/limebb-component-picker.entry.js +2 -2
- package/dist/esm/limebb-composer-toolbar.entry.js +2 -2
- package/dist/esm/limebb-condition-tree-editor.entry.js +24 -9
- package/dist/esm/limebb-condition-tree.entry.js +121 -34
- 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 +2 -2
- 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 +1 -1
- package/dist/esm/limebb-document-picker.entry.js +1 -1
- package/dist/esm/limebb-empty-state.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 +2 -2
- package/dist/esm/limebb-feed.entry.js +2 -2
- package/dist/esm/limebb-filter-chip_6.entry.js +4 -4
- package/dist/esm/limebb-icon-picker.entry.js +1 -1
- 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 +1 -1
- 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 +3 -3
- package/dist/esm/limebb-inline-image.entry.js +2 -2
- package/dist/esm/limebb-kanban-group.entry.js +2 -2
- package/dist/esm/limebb-kanban-item.entry.js +2 -2
- package/dist/esm/limebb-kanban.entry.js +1 -1
- package/dist/esm/limebb-lime-query-builder.entry.js +3 -3
- package/dist/esm/limebb-lime-query-filter-builder.entry.js +3 -3
- package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +4 -4
- package/dist/esm/limebb-lime-query-order-by-editor_2.entry.js +3 -3
- package/dist/esm/limebb-lime-query-order-by-item.entry.js +1 -1
- package/dist/esm/limebb-lime-query-response-format-builder.entry.js +3 -3
- package/dist/esm/limebb-lime-query-response-format-editor_2.entry.js +1 -1
- package/dist/esm/limebb-limeobject-file-viewer.entry.js +2 -2
- package/dist/esm/limebb-live-docs-info.entry.js +1 -1
- 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 +1 -1
- package/dist/esm/limebb-mention.entry.js +2 -2
- package/dist/esm/limebb-navigation-button_2.entry.js +1 -1
- package/dist/esm/limebb-notification-item.entry.js +2 -2
- 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 +2 -2
- 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-condition-chip.entry.js +69 -0
- package/dist/esm/limebb-rule-condition-editor-DeY758N-.js +281 -0
- package/dist/esm/limebb-rule-condition-editor.entry.js +3 -0
- package/dist/esm/limebb-rule-editor.entry.js +217 -573
- 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 +3 -3
- package/dist/esm/limebb-trend-indicator.entry.js +2 -2
- package/dist/esm/limebb-value-comparison-editor.entry.js +3 -3
- package/dist/esm/{limetype-BcELY1NF.js → limetype-Muf9VutX.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{web-component-template-DxbwHsvw.js → web-component-template-D1JpeNy_.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-0621e884.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-ab0f8170.entry.js → p-087d5651.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-ce2755a0.entry.js → p-1917956c.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-07a9c8f2.entry.js → p-1ae4962d.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-021e452a.entry.js → p-23d2632b.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-ffca266e.entry.js → p-251784bf.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-635a45ad.entry.js → p-27240bb0.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-2adeac66.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-6a8422d2.entry.js → p-32339f09.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-1990e369.entry.js → p-3446290c.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-d495cc19.entry.js → p-35d9b3ad.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-eed0b2c2.entry.js → p-3865eec4.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-dacf9e77.entry.js → p-394b521a.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-8c36b847.entry.js → p-39a36450.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-97e75dee.entry.js → p-3b672249.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-ad5dcefd.entry.js → p-47b56a75.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-402a9c97.entry.js → p-4af3ea2c.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-0cc47cad.entry.js → p-4bdaf436.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-cf66256a.entry.js → p-4f60b7bc.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-90f0c96b.entry.js → p-4fd9d615.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-28550961.entry.js → p-53b44865.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-7ae27308.entry.js → p-550606f6.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-573f9e95.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-a5f3913d.entry.js → p-5c541d0c.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-ce723c21.entry.js → p-612c6b28.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-6f923112.entry.js → p-621ab65a.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-5f682c06.entry.js → p-627b0c79.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-49d042aa.entry.js → p-6303201b.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-8e9fcf3c.entry.js → p-6bd61290.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-dcb49a62.entry.js → p-6d2dba20.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-0193ed83.entry.js → p-6e2553b4.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-Cz5s8qGk.js → p-7DQ7qvMa.js} +1 -1
- package/dist/lime-crm-building-blocks/p-7c3d3e06.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-dd02821e.entry.js → p-7d53756b.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-79d743bb.entry.js → p-895c8966.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-da35bcc7.entry.js → p-8c0455e4.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-a201df35.entry.js → p-8f80d024.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-32a81271.entry.js → p-949ed056.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-cf03a756.entry.js → p-985ae787.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-9959019d.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-DLec4QaM.js → p-B7whyaAL.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-COtSgrC5.js → p-BK566_jX.js} +1 -1
- package/dist/lime-crm-building-blocks/p-ClYOFrOo.js +1 -0
- package/dist/lime-crm-building-blocks/{p-DVypQWZ4.js → p-Cve-3L4y.js} +1 -1
- package/dist/lime-crm-building-blocks/p-DOULPRTn.js +1 -0
- package/dist/lime-crm-building-blocks/{p-Cj_3f9vm.js → p-DhGRAeCH.js} +1 -1
- package/dist/lime-crm-building-blocks/p-DjoMDjMo.js +1 -0
- package/dist/lime-crm-building-blocks/p-DuWEcQ7n.js +1 -0
- package/dist/lime-crm-building-blocks/{p-dfaef740.entry.js → p-a1052482.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-3babfbe0.entry.js → p-a14bed52.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-cc53a8ca.entry.js → p-a2e291b4.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-8a17a7ea.entry.js → p-a2ebd5a4.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-0cbe2180.entry.js → p-a4556649.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-f5c1ed0c.entry.js → p-a598f92f.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-b44b9dbc.entry.js → p-a938384f.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-f3539042.entry.js → p-ab0210b2.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-c0d49532.entry.js → p-b272730c.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-0370200d.entry.js → p-b4571d32.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-551a36f6.entry.js → p-b72c748b.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-0ed9a7cc.entry.js → p-bac9d3a9.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-bd6c12bc.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-81783bd4.entry.js → p-bf693702.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-e6cc320a.entry.js → p-c58067ec.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-08797129.entry.js → p-c7bfa2e4.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-a953d48e.entry.js → p-d4635a39.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-d3c58bc1.entry.js → p-d6099dc7.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-bf05d9de.entry.js → p-d6c7cf0f.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-1ebe45b8.entry.js → p-da79c5fc.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-e18a2cef.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-f9991c35.entry.js → p-e19f4b3b.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-46aec244.entry.js → p-eb95767a.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-ddc4ede8.entry.js → p-ec9b5e30.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-95ba7a84.entry.js → p-f49250f3.entry.js} +1 -1
- package/dist/types/components/condition-tree/condition-tree-editor/condition-tree-editor.d.ts +20 -3
- package/dist/types/components/condition-tree/condition-tree-nodes.d.ts +11 -4
- package/dist/types/components/condition-tree/condition-tree-view-context.d.ts +3 -2
- package/dist/types/components/condition-tree/condition-tree.d.ts +41 -8
- package/dist/types/components/condition-tree/condition-tree.types.d.ts +21 -2
- package/dist/types/components/rule-editor/condition-tree-adapter.d.ts +67 -0
- package/dist/types/components/rule-editor/rule-condition-chip/rule-condition-chip.d.ts +82 -0
- package/dist/types/components/rule-editor/rule-condition-editor/rule-condition-editor.d.ts +61 -0
- package/dist/types/components/rule-editor/rule-editor.d.ts +105 -47
- package/dist/types/components/rule-editor/rule-issues.d.ts +12 -0
- package/dist/types/components/rule-editor/view-helpers.d.ts +16 -35
- package/dist/types/components.d.ts +304 -79
- package/dist/types/stencil-public-runtime.d.ts +61 -55
- package/package.json +4 -4
- package/dist/cjs/limebb-rule-chip-popover.cjs.entry.js +0 -82
- package/dist/collection/components/rule-editor/chip-picker-view.js +0 -148
- package/dist/collection/components/rule-editor/group-node-view.js +0 -79
- package/dist/collection/components/rule-editor/rule-chip-popover/rule-chip-popover.css +0 -36
- package/dist/collection/components/rule-editor/rule-chip-popover/rule-chip-popover.js +0 -344
- package/dist/collection/components/rule-editor/rule-editor-views.js +0 -43
- package/dist/collection/components/rule-editor/rule-operations.js +0 -145
- package/dist/components/limebb-rule-chip-popover.d.ts +0 -11
- package/dist/components/limebb-rule-chip-popover.js +0 -1
- package/dist/components/rule-chip-popover.js +0 -1
- package/dist/esm/limebb-rule-chip-popover.entry.js +0 -80
- package/dist/lime-crm-building-blocks/p-1578c8f0.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-229d018c.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-6331f9c5.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-705c53c0.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-84ad9159.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-BxCq236x.js +0 -1
- package/dist/lime-crm-building-blocks/p-Css8537O.js +0 -1
- package/dist/lime-crm-building-blocks/p-a58c9e1e.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-hsyotUav.js +0 -1
- package/dist/types/components/rule-editor/chip-picker-view.d.ts +0 -35
- package/dist/types/components/rule-editor/group-node-view.d.ts +0 -11
- package/dist/types/components/rule-editor/rule-chip-popover/rule-chip-popover.d.ts +0 -43
- package/dist/types/components/rule-editor/rule-editor-views.d.ts +0 -58
- package/dist/types/components/rule-editor/rule-operations.d.ts +0 -70
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as registerInstance, h } from './index-
|
|
2
|
-
import { W as We, L as Le, n } from './index.esm-
|
|
1
|
+
import { r as registerInstance, h } from './index-BK566_jX.js';
|
|
2
|
+
import { W as We, L as Le, n } from './index.esm-C__n3hug.js';
|
|
3
3
|
import { g as getPreviewType } from './extension-mapping-Bcm94u_z.js';
|
|
4
4
|
import { n as negate } from './negate-ooVD-6_a.js';
|
|
5
5
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h } from './index-
|
|
1
|
+
import { r as registerInstance, h } from './index-BK566_jX.js';
|
|
2
2
|
|
|
3
3
|
const liveDocsInfoCss = () => `:host(limebb-live-docs-info){padding:1rem 2rem;display:flex;flex-direction:column;gap:0.5rem;border-style:dashed;border-color:rgb(var(--contrast-700));border-radius:0 0 0.5rem 0.5rem;border-width:0 1px 1px 1px}.header{display:flex;align-items:center;gap:0.5rem}h2,p{margin:0;color:rgb(var(--contrast-1100))}h2{font-size:large;font-weight:300}limel-icon{color:rgb(var(--color-orange-default));width:2rem}a{all:unset;cursor:pointer;transition:color 0.2s ease;color:rgb(var(--color-sky-default));margin-left:0.5rem}a:hover{color:rgb(var(--color-sky-dark));text-decoration:underline}`;
|
|
4
4
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent } from './index-
|
|
2
|
-
import { U, n } from './index.esm-
|
|
1
|
+
import { r as registerInstance, c as createEvent } from './index-BK566_jX.js';
|
|
2
|
+
import { U, n } from './index.esm-C__n3hug.js';
|
|
3
3
|
import { H as HighlightFeedItemHandler } from './highlight-item.handler-BWMpG2bS.js';
|
|
4
4
|
|
|
5
5
|
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h } from './index-
|
|
2
|
-
import { n } from './index.esm-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-BK566_jX.js';
|
|
2
|
+
import { n } from './index.esm-C__n3hug.js';
|
|
3
3
|
import { t as toString, c as castPath, a as toKey, i as isKey, g as get, b as baseGet, d as arrayMap } from './get-Cq4rshNg.js';
|
|
4
4
|
import { e as isArrayLike, f as isIndex, h as isArguments, j as arrayPush, S as Stack, k as keys, l as isLength, d as baseUnary } from './_Uint8Array-CUI8uY-p.js';
|
|
5
5
|
import { c as isObject, e as eq, a as isArray, S as Symbol } from './_MapCache-BgAfMcRA.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h } from './index-
|
|
1
|
+
import { r as registerInstance, h } from './index-BK566_jX.js';
|
|
2
2
|
|
|
3
3
|
const mentionGroupCounterCss = () => `:host(limebb-mention-group-counter){order:2;margin-right:-0.5rem;box-sizing:border-box;transition:background-color 0.2s ease;min-width:fit-content;font-size:smaller;border-radius:9rem;cursor:help;padding:0.25rem 0.5rem;line-height:1;border:1px solid rgb(var(--contrast-500))}:host(limebb-mention-group-counter:hover){border-color:rgb(var(--contrast-100));background-color:rgb(var(--contrast-600))}`;
|
|
4
4
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as registerInstance, g as getElement, h } from './index-
|
|
1
|
+
import { r as registerInstance, g as getElement, h } from './index-BK566_jX.js';
|
|
2
2
|
import { f as findParentElement } from './dom-B95D7tDb.js';
|
|
3
|
-
import { n } from './index.esm-
|
|
3
|
+
import { n } from './index.esm-C__n3hug.js';
|
|
4
4
|
|
|
5
5
|
const mentionCss = () => `:host(limebb-mention){display:inline}a{transition:background-color 0.2s ease;white-space:normal;overflow-wrap:break-word;word-break:break-word;padding:0 0.125rem;border-radius:0.25rem;text-decoration:none;color:rgb(var(--color-blue-default));background-color:rgb(var(--color-blue-default), 0.06)}a:hover{background-color:rgb(var(--color-blue-default), 0.16)}a:before,span:before{content:"@";opacity:0.7}`;
|
|
6
6
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h, c as createEvent } from './index-
|
|
1
|
+
import { r as registerInstance, h, c as createEvent } from './index-BK566_jX.js';
|
|
2
2
|
import { g as getPreviewType } from './extension-mapping-Bcm94u_z.js';
|
|
3
3
|
import { g as getFileExtension } from './file-extension-DtnPTzDv.js';
|
|
4
4
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h, H as Host } from './index-
|
|
2
|
-
import { n } from './index.esm-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, H as Host } from './index-BK566_jX.js';
|
|
2
|
+
import { n } from './index.esm-C__n3hug.js';
|
|
3
3
|
|
|
4
4
|
const notificationItemCss = () => `@charset "UTF-8";*{box-sizing:border-box}:host(limebb-notification-item){isolation:isolate;position:relative;box-sizing:border-box;display:flex;flex-direction:column;gap:0.25rem;margin-left:0.5rem;border-radius:0.75rem;border:1px solid rgb(var(--contrast-500))}:host(limebb-notification-item):before{content:"";display:block;position:absolute;left:-1rem;top:0.85rem;border-radius:50%;height:0.5rem;width:0.5rem;transition:background-color 0.2s ease, scale 0.2s cubic-bezier(0.82, 0.3, 0.14, 1.36);scale:var(--limebb-notification-item-unread-badge-scale, 0.6);background-color:var(--limebb-notification-item-unread-badge-color, transparent)}:host(limebb-notification-item:hover) .timestamp{color:rgb(var(--contrast-1100))}:host(limebb-notification-item:hover) .body-text{opacity:1}.header{display:flex;align-items:center;gap:0.25rem;min-height:2rem;padding:0 0 0 0.25rem;margin-bottom:0.25rem}.header:not(:has(.icon)){padding-left:0.75rem}.header:not(:has(.unpromoted-actions-menu)){padding-right:0.5rem}.caption,.timestamp{font-size:0.75rem}.caption{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0;flex-grow:1;font-weight:600;color:rgb(var(--contrast-900))}.timestamp{flex-shrink:0;margin-left:auto;transition:color 0.4s ease, opacity 0.2s ease;color:rgb(var(--contrast-900))}.headline{display:flex;gap:0.25rem;align-items:center}.content{display:flex;min-width:0;gap:0.5rem;padding:0 0.75rem 0.5rem 0.75rem}.heading{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:2.5rem;font-size:0.875rem;--markdown-hyperlink-color:var(--mdc-theme-primary);--markdown-hyperlink-color--hovered:rgb(var(--color-teal-light))}.body{display:flex;flex-direction:column;gap:0.5rem}.body-text{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:3;max-height:4.25rem;transition:opacity 0.2s ease;opacity:0.7}.icon{--icon-background-color:var(--limebb-feed-background-color);flex-shrink:0;width:1.5rem;padding:0.125rem}.author-avatar{border-radius:50%;width:2rem;height:2rem;object-fit:cover;margin-top:auto;margin-right:-0.25rem;margin-left:auto;box-shadow:0 0 0 1px rgb(var(--contrast-600))}.author{font-weight:bold;text-decoration:none;white-space:nowrap}a.author{position:relative;cursor:pointer;transition:color 0.2s ease;color:var(--mdc-theme-primary)}a.author:before{transition:opacity 0.2s ease, transform 0.3s ease-out;content:"";position:absolute;inset:auto 0 0 0;width:calc(100% - 0.5rem);margin:auto;height:0.125rem;border-radius:1rem;background-color:currentColor;opacity:0;transform:scale(0.6)}a.author:hover{color:rgb(var(--color-teal-light))}a.author:hover:before{opacity:0.3;transform:scale(1)}limel-chip-set{--button-shadow-normal:none;margin-left:-1rem;margin-bottom:-0.5rem}`;
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h } from './index-
|
|
2
|
-
import { n } from './index.esm-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-BK566_jX.js';
|
|
2
|
+
import { n } from './index.esm-C__n3hug.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Processes a list of notifications by adding date headers and a "new items" indicator.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { r as registerInstance, g as getElement, h } from './index-
|
|
2
|
-
import { g as getIcon } from './limetype-
|
|
1
|
+
import { r as registerInstance, g as getElement, h } from './index-BK566_jX.js';
|
|
2
|
+
import { g as getIcon } from './limetype-Muf9VutX.js';
|
|
3
3
|
import { f as findParentElement } from './dom-B95D7tDb.js';
|
|
4
|
-
import { b as It, n } from './index.esm-
|
|
4
|
+
import { b as It, n } from './index.esm-C__n3hug.js';
|
|
5
5
|
|
|
6
6
|
const logger = It('object-resolver');
|
|
7
7
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host } from './index-
|
|
2
|
-
import { n } from './index.esm-
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-BK566_jX.js';
|
|
2
|
+
import { n } from './index.esm-C__n3hug.js';
|
|
3
3
|
import { g as getPercentageClass, n as normalizeValue } from './normalize-value-Cg1DC15C.js';
|
|
4
4
|
|
|
5
5
|
const percentageVisualizerCss = () => `@charset "UTF-8";*,::before,::after{box-sizing:border-box}:host(limebb-percentage-visualizer){width:100%}limel-notched-outline:not([invalid]:not([invalid=false])) .limel-notched-outline--outlines{--limel-notched-outline-border-color:transparent}div[slot=content]:focus{outline:none}div[slot=content]:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}div[slot=content]{display:flex;align-items:center;gap:0.5rem;border-radius:inherit;background-color:transparent !important}:host(limebb-percentage-visualizer[invalid]:not([invalid=false])) div[slot=content]{border-color:rgb(var(--color-red-default))}:host(limebb-percentage-visualizer):has(label) div[slot=content]{min-height:2.5rem;padding:0 0.375rem 0 1rem}.percentage-text{flex-shrink:0;min-width:2.5rem}:host([range-min^="-"]) .percentage-text{min-width:3.75rem}.percent-sign{opacity:0.4}.zero-point{content:"";position:absolute;transform:translateX(-50%);left:var(--limebb-percentage-visualizer-zero-point-position);height:0.25rem;width:0.25rem;border-radius:50%;box-shadow:0 0 0 0.125rem var(--limebb-percentage-visualizer-zero-point-color, rgb(var(--contrast-1200), 0.3));background-color:var(--limebb-percentage-visualizer-zero-point-color, rgb(var(--contrast-200), 0.9))}.percentage-bar{overflow:hidden;flex-grow:1;position:relative;display:flex;align-items:center;height:0.5rem;min-width:2rem;border-radius:0.5rem;background-color:rgb(var(--contrast-800), 0.6)}.percentage-fill{transition:width 0.2s ease;position:absolute;margin:auto;left:var(--limebb-percentage-visualizer-zero-point-position, 0);rotate:var(--limebb-percentage-visualizer-rotate, 0deg);transform-origin:left center;width:var(--limebb-percentage-visualizer-width);height:100%;border-radius:0.5rem}:host(limebb-percentage-visualizer:focus),:host(limebb-percentage-visualizer:focus-visible),:host(limebb-percentage-visualizer:focus-within){--limel-h-l-grid-template-rows-transition-speed:0.46s;--limel-h-l-grid-template-rows:1fr}:host(limebb-percentage-visualizer){--limel-h-l-grid-template-rows-transition-speed:0.3s;--limel-h-l-grid-template-rows:0fr}:host(limebb-percentage-visualizer:focus) limel-helper-line,:host(limebb-percentage-visualizer:focus-visible) limel-helper-line,:host(limebb-percentage-visualizer:focus-within) limel-helper-line,:host(limebb-percentage-visualizer:hover) limel-helper-line{will-change:grid-template-rows}.percentage-fill{background-color:var(--percentage-visualizer-color, var(--limebb-percentage-visualizer-color, var(--mdc-theme-primary)))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-200or-larger-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-red-darker))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-200to100-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-red-dark))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-100to90-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-red-dark))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-90to80-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-red-dark))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-80to70-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-red-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-70to60-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-red-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-60to50-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-coral-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-50to40-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-coral-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-40to30-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-orange-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-30to20-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-orange-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-20to10-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-amber-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-10to0-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-amber-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-0) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--contrast-800))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-0to10-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-yellow-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-10to20-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-yellow-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-20to30-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-grass-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-30to40-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-grass-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-40to50-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-lime-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-50to60-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-lime-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-60to70-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-70to80-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-80to90-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-dark))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-90to100-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-dark))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-100to200-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-dark))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-200or-larger-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-darker))}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-0) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--contrast-800))}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-0to10-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--0to10)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-10to20-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--10to20)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-20to30-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--20to30)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-30to40-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--30to40)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-40to50-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--40to50)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-50to60-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--50to60)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-60to70-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--60to70)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-70to80-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--70to80)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-80to90-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--80to90)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-90to100-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--90to100)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-100to200-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-dark))}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-200or-larger-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-darker))}`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h } from './index-
|
|
2
|
-
import { I as Ie, n } from './index.esm-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-BK566_jX.js';
|
|
2
|
+
import { I as Ie, n } from './index.esm-C__n3hug.js';
|
|
3
3
|
import { v as validatePropertyPath, a as getNormalizedProperties } from './property-resolution-CQUZjrU4.js';
|
|
4
|
-
import { i as isManyRelation, g as getIcon } from './limetype-
|
|
4
|
+
import { i as isManyRelation, g as getIcon } from './limetype-Muf9VutX.js';
|
|
5
5
|
|
|
6
6
|
const propertySelectorCss = () => `:host(limebb-property-selector){display:block}limel-menu{display:block;width:100%}`;
|
|
7
7
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h } from './index-
|
|
2
|
-
import { M as Mt } from './index.esm-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-BK566_jX.js';
|
|
2
|
+
import { M as Mt } from './index.esm-C__n3hug.js';
|
|
3
3
|
|
|
4
4
|
const ruleArgFilterEditorCss = () => `:host{display:block}`;
|
|
5
5
|
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-BK566_jX.js';
|
|
2
|
+
|
|
3
|
+
const ruleConditionChipCss = () => `:host{display:inline-flex;min-width:0}`;
|
|
4
|
+
|
|
5
|
+
const RuleConditionChip = class {
|
|
6
|
+
constructor(hostRef) {
|
|
7
|
+
registerInstance(this, hostRef);
|
|
8
|
+
this.remove = createEvent(this, "remove");
|
|
9
|
+
/**
|
|
10
|
+
* Whether the condition is negated. The chip has to say so: the switch that
|
|
11
|
+
* sets it is out of sight inside the editor.
|
|
12
|
+
*/
|
|
13
|
+
this.negated = false;
|
|
14
|
+
/**
|
|
15
|
+
* @inheritdoc
|
|
16
|
+
*/
|
|
17
|
+
this.invalid = false;
|
|
18
|
+
/**
|
|
19
|
+
* Whether this condition's editor is the one currently open.
|
|
20
|
+
*/
|
|
21
|
+
this.selected = false;
|
|
22
|
+
/**
|
|
23
|
+
* Deliberately not passed on to `limel-chip`, which would render it as a
|
|
24
|
+
* disabled button. A condition's arguments live behind this chip and
|
|
25
|
+
* nowhere else, so a chip that cannot be opened is a rule that cannot be
|
|
26
|
+
* read. It takes the delete control away instead — see `removable`.
|
|
27
|
+
*
|
|
28
|
+
* @inheritdoc
|
|
29
|
+
*/
|
|
30
|
+
this.readonly = false;
|
|
31
|
+
/**
|
|
32
|
+
* @inheritdoc
|
|
33
|
+
*/
|
|
34
|
+
this.disabled = false;
|
|
35
|
+
/**
|
|
36
|
+
* Whether the chip offers a control that deletes the condition. `readonly`
|
|
37
|
+
* overrules it here rather than in the caller, since withholding `readonly`
|
|
38
|
+
* from `limel-chip` also withholds the lock it puts on the cross.
|
|
39
|
+
*/
|
|
40
|
+
this.removable = true;
|
|
41
|
+
this.handleRemove = (event) => {
|
|
42
|
+
event.stopPropagation();
|
|
43
|
+
this.remove.emit();
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
render() {
|
|
47
|
+
return (h("limel-chip", { key: '3b1e45748efbdd1bdbf8effd7bca4976f9ba537c', text: this.text, icon: this.glyph, invalid: this.invalid, selected: this.selected, disabled: this.disabled, removable: this.removable && !this.readonly, onRemove: this.handleRemove }));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The glyph, with its colour put back on when it has one.
|
|
51
|
+
*/
|
|
52
|
+
get glyph() {
|
|
53
|
+
if (!this.icon || !this.iconColor) {
|
|
54
|
+
return this.icon;
|
|
55
|
+
}
|
|
56
|
+
return { name: this.icon, color: this.iconColor };
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The name, behind `¬` when negated — a symbol rather than a word, so it
|
|
60
|
+
* does not compete with the "not" the tree writes between the rows of a
|
|
61
|
+
* negated group.
|
|
62
|
+
*/
|
|
63
|
+
get text() {
|
|
64
|
+
return this.negated ? `¬ ${this.label}` : this.label;
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
RuleConditionChip.style = ruleConditionChipCss();
|
|
68
|
+
|
|
69
|
+
export { RuleConditionChip as limebb_rule_condition_chip };
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-BK566_jX.js';
|
|
2
|
+
import { L as LimeWebComponentTemplate } from './web-component-template-D1JpeNy_.js';
|
|
3
|
+
|
|
4
|
+
/** What a chip says for a condition with no name to put on it. */
|
|
5
|
+
const UNNAMED = '…';
|
|
6
|
+
/**
|
|
7
|
+
* Which `all`/`any` a combinator is built on, and whether a `not` goes round it.
|
|
8
|
+
* The wrapper is not a node of its own in a condition tree: it folds into the
|
|
9
|
+
* combinator of the group it wraps, and unfolds again on the way back out.
|
|
10
|
+
*/
|
|
11
|
+
const SHAPE = {
|
|
12
|
+
all: { type: 'all', negated: false },
|
|
13
|
+
any: { type: 'any', negated: false },
|
|
14
|
+
'not-all': { type: 'all', negated: true },
|
|
15
|
+
none: { type: 'any', negated: true },
|
|
16
|
+
};
|
|
17
|
+
const NEGATED_COMBINATOR = {
|
|
18
|
+
all: 'not-all',
|
|
19
|
+
any: 'none',
|
|
20
|
+
'not-all': 'all',
|
|
21
|
+
none: 'any',
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* How `limebb-condition-tree` reads and rebuilds a {@link Rule}. Everything
|
|
25
|
+
* structural belongs to the tree; everything about what a rule *is* belongs
|
|
26
|
+
* here.
|
|
27
|
+
* @param source
|
|
28
|
+
*/
|
|
29
|
+
function createRuleConditionTreeAdapter(source) {
|
|
30
|
+
return {
|
|
31
|
+
describe: (node, state) => describeRule(node, state, source),
|
|
32
|
+
group: group,
|
|
33
|
+
negate: negate,
|
|
34
|
+
createLeaf: (item) => {
|
|
35
|
+
var _a;
|
|
36
|
+
const leaf = { type: 'ref', id: String((_a = item === null || item === void 0 ? void 0 : item.value) !== null && _a !== void 0 ? _a : '') };
|
|
37
|
+
source.created().add(leaf);
|
|
38
|
+
return leaf;
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* How the rule joins what is inside it, and what that is — or nothing when it
|
|
44
|
+
* is a single condition rather than a group. A `not` is transparent: it becomes
|
|
45
|
+
* the group's combinator, and chains of them fold down to one.
|
|
46
|
+
* @param rule
|
|
47
|
+
*/
|
|
48
|
+
function groupOf(rule) {
|
|
49
|
+
if (!isNode(rule)) {
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
if (rule.type === 'all' || rule.type === 'any') {
|
|
53
|
+
return Array.isArray(rule.rules)
|
|
54
|
+
? { combinator: rule.type, rules: rule.rules }
|
|
55
|
+
: undefined;
|
|
56
|
+
}
|
|
57
|
+
if (rule.type !== 'not') {
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
const inner = groupOf(rule.rule);
|
|
61
|
+
return inner
|
|
62
|
+
? {
|
|
63
|
+
combinator: NEGATED_COMBINATOR[inner.combinator],
|
|
64
|
+
rules: inner.rules,
|
|
65
|
+
}
|
|
66
|
+
: undefined;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* The primitive a rule refers to, and whether it is negated — or nothing when
|
|
70
|
+
* the rule refers to none. Wrapping in a `not` is the only negation a rule
|
|
71
|
+
* condition has, having no "is not" vocabulary of its own.
|
|
72
|
+
* @param rule
|
|
73
|
+
*/
|
|
74
|
+
function refOf(rule) {
|
|
75
|
+
if (!isNode(rule)) {
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
if (rule.type === 'ref') {
|
|
79
|
+
return { ref: rule, negated: false };
|
|
80
|
+
}
|
|
81
|
+
if (rule.type === 'not' && isNode(rule.rule) && rule.rule.type === 'ref') {
|
|
82
|
+
return { ref: rule.rule, negated: true };
|
|
83
|
+
}
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Whether there is a rule here at all. A hand-edited rule can hold a `null` or
|
|
88
|
+
* a bare value where a node should be, and reading `type` off one throws, so
|
|
89
|
+
* everything that asks about structure asks this first.
|
|
90
|
+
* @param rule
|
|
91
|
+
*/
|
|
92
|
+
function isNode(rule) {
|
|
93
|
+
return typeof rule === 'object' && rule !== null;
|
|
94
|
+
}
|
|
95
|
+
function describeRule(node, state, source) {
|
|
96
|
+
const issues = source.issues().get(node);
|
|
97
|
+
const group = groupOf(node);
|
|
98
|
+
if (group) {
|
|
99
|
+
return {
|
|
100
|
+
kind: 'group',
|
|
101
|
+
combinator: group.combinator,
|
|
102
|
+
// Never copies: the tree tells conditions apart by identity.
|
|
103
|
+
children: group.rules,
|
|
104
|
+
issues: issues,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
const reference = refOf(node);
|
|
108
|
+
if (!reference) {
|
|
109
|
+
return unreadable(node, source, issues);
|
|
110
|
+
}
|
|
111
|
+
return describeRef(reference, state, source, issues);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* How a condition reads: its primitive's name, the bare id when nobody
|
|
115
|
+
* registered it, and the placeholder when it has not even got that.
|
|
116
|
+
* @param ref
|
|
117
|
+
* @param source
|
|
118
|
+
*/
|
|
119
|
+
function nameOf(ref, source) {
|
|
120
|
+
return source.titles.get(ref.id) || ref.id || UNNAMED;
|
|
121
|
+
}
|
|
122
|
+
function describeRef(reference, state, source, issues) {
|
|
123
|
+
const { ref, negated } = reference;
|
|
124
|
+
const metadata = source.metadata.get(ref.id);
|
|
125
|
+
const fresh = source.created().has(ref);
|
|
126
|
+
const editor = metadata === null || metadata === void 0 ? void 0 : metadata.configComponent;
|
|
127
|
+
return {
|
|
128
|
+
kind: 'leaf',
|
|
129
|
+
chip: {
|
|
130
|
+
label: nameOf(ref, source),
|
|
131
|
+
icon: glyphOf(metadata),
|
|
132
|
+
// Marked before validation has had its say, so that a rule loaded
|
|
133
|
+
// from storage does not read as sound for a render.
|
|
134
|
+
invalid: !metadata || !!(issues === null || issues === void 0 ? void 0 : issues.length),
|
|
135
|
+
component: {
|
|
136
|
+
name: 'limebb-rule-condition-chip',
|
|
137
|
+
props: {
|
|
138
|
+
negated: negated,
|
|
139
|
+
iconColor: colourOf(metadata),
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
// Every condition here is opaque, so the tree offers the negation and
|
|
144
|
+
// rebuilds it through `negate`.
|
|
145
|
+
negated: negated,
|
|
146
|
+
issues: issues,
|
|
147
|
+
// Just added and with something to configure: the one thing left to do
|
|
148
|
+
// is put in front of the author. One with nothing to configure is
|
|
149
|
+
// already complete, and stays shut.
|
|
150
|
+
autoOpen: fresh && !!editor,
|
|
151
|
+
editor: editor && {
|
|
152
|
+
name: 'limebb-rule-condition-editor',
|
|
153
|
+
props: {
|
|
154
|
+
configComponent: editor,
|
|
155
|
+
// Never into one they merely re-opened to look at.
|
|
156
|
+
focusOnOpen: fresh && !state.visited,
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* A rule this adapter cannot read: neither a group nor a reference. Drawn, so
|
|
163
|
+
* the tree is not silently short of a condition, and marked — but with no
|
|
164
|
+
* editor, which is what keeps it shut.
|
|
165
|
+
* @param node
|
|
166
|
+
* @param source
|
|
167
|
+
* @param issues
|
|
168
|
+
*/
|
|
169
|
+
function unreadable(node, source, issues) {
|
|
170
|
+
var _a;
|
|
171
|
+
return {
|
|
172
|
+
kind: 'leaf',
|
|
173
|
+
chip: {
|
|
174
|
+
label: (_a = typeNameOf(node)) !== null && _a !== void 0 ? _a : UNNAMED,
|
|
175
|
+
icon: 'question',
|
|
176
|
+
invalid: true,
|
|
177
|
+
component: { name: 'limebb-rule-condition-chip' },
|
|
178
|
+
},
|
|
179
|
+
issues: (issues === null || issues === void 0 ? void 0 : issues.length)
|
|
180
|
+
? issues
|
|
181
|
+
: [
|
|
182
|
+
source.translate('webclient.rule-editor.unreadable-condition', 'This condition cannot be read, and so cannot be edited here.'),
|
|
183
|
+
],
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* What a node says it is, when it says anything at all. Read defensively: the
|
|
188
|
+
* nodes that get here are the ones that are not rules, so a `type` that is
|
|
189
|
+
* missing or is not a word is exactly how one arrives.
|
|
190
|
+
* @param node
|
|
191
|
+
*/
|
|
192
|
+
function typeNameOf(node) {
|
|
193
|
+
if (!isNode(node)) {
|
|
194
|
+
return undefined;
|
|
195
|
+
}
|
|
196
|
+
const type = node.type;
|
|
197
|
+
return typeof type === 'string' && type ? type : undefined;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* The primitive's glyph, or the one standing for a primitive nobody registered.
|
|
201
|
+
* Its colour travels separately — see {@link colourOf} — because the tree's
|
|
202
|
+
* chip vocabulary has room only for the name.
|
|
203
|
+
* @param metadata
|
|
204
|
+
*/
|
|
205
|
+
function glyphOf(metadata) {
|
|
206
|
+
if (!metadata) {
|
|
207
|
+
return 'question';
|
|
208
|
+
}
|
|
209
|
+
if (!metadata.icon) {
|
|
210
|
+
return undefined;
|
|
211
|
+
}
|
|
212
|
+
return typeof metadata.icon === 'string'
|
|
213
|
+
? metadata.icon
|
|
214
|
+
: metadata.icon.name;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* The colour the primitive asked for its glyph, when it asked for one.
|
|
218
|
+
* @param metadata
|
|
219
|
+
*/
|
|
220
|
+
function colourOf(metadata) {
|
|
221
|
+
return typeof (metadata === null || metadata === void 0 ? void 0 : metadata.icon) === 'object' ? metadata.icon.color : undefined;
|
|
222
|
+
}
|
|
223
|
+
function group(combinator, children) {
|
|
224
|
+
const inner = { type: SHAPE[combinator].type, rules: [...children] };
|
|
225
|
+
return SHAPE[combinator].negated ? { type: 'not', rule: inner } : inner;
|
|
226
|
+
}
|
|
227
|
+
function negate(node, negated) {
|
|
228
|
+
if (negated) {
|
|
229
|
+
return node.type === 'not' ? node : { type: 'not', rule: node };
|
|
230
|
+
}
|
|
231
|
+
return node.type === 'not' ? node.rule : node;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
const ruleConditionEditorCss = () => `:host{display:block;padding:1rem;min-width:24rem}`;
|
|
235
|
+
|
|
236
|
+
const RuleConditionEditor = class {
|
|
237
|
+
constructor(hostRef) {
|
|
238
|
+
registerInstance(this, hostRef);
|
|
239
|
+
this.conditionChange = createEvent(this, "conditionChange");
|
|
240
|
+
/**
|
|
241
|
+
* Forwarded so that component can take focus as it appears. Set only for a
|
|
242
|
+
* condition the author has just added.
|
|
243
|
+
*/
|
|
244
|
+
this.focusOnOpen = false;
|
|
245
|
+
/**
|
|
246
|
+
* @inheritdoc
|
|
247
|
+
*/
|
|
248
|
+
this.readonly = false;
|
|
249
|
+
/**
|
|
250
|
+
* @inheritdoc
|
|
251
|
+
*/
|
|
252
|
+
this.disabled = false;
|
|
253
|
+
/**
|
|
254
|
+
* The config component's `change` bubbles and is composed, so it would
|
|
255
|
+
* otherwise reach the rule editor and be taken for the whole rule changing.
|
|
256
|
+
* It stops here and leaves as the event the tree listens for.
|
|
257
|
+
* @param event
|
|
258
|
+
*/
|
|
259
|
+
this.handleChange = (event) => {
|
|
260
|
+
event.stopPropagation();
|
|
261
|
+
const reference = this.reference;
|
|
262
|
+
if (!reference) {
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
const next = Object.assign(Object.assign({}, reference.ref), { args: event.detail });
|
|
266
|
+
this.conditionChange.emit(reference.negated ? { type: 'not', rule: next } : next);
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
render() {
|
|
270
|
+
if (!this.configComponent || !this.reference) {
|
|
271
|
+
return null;
|
|
272
|
+
}
|
|
273
|
+
return (h(LimeWebComponentTemplate, { class: "editor", platform: this.platform, context: this.context, name: this.configComponent.name, props: Object.assign(Object.assign({}, this.configComponent.props), { value: this.reference.ref.args, readonly: this.readonly, disabled: this.disabled, focusOnOpen: this.focusOnOpen, onChange: this.handleChange }) }));
|
|
274
|
+
}
|
|
275
|
+
get reference() {
|
|
276
|
+
return this.value ? refOf(this.value) : undefined;
|
|
277
|
+
}
|
|
278
|
+
};
|
|
279
|
+
RuleConditionEditor.style = ruleConditionEditorCss();
|
|
280
|
+
|
|
281
|
+
export { RuleConditionEditor as R, createRuleConditionTreeAdapter as c, groupOf as g };
|