@limetech/lime-crm-building-blocks 1.134.0 → 1.135.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 → filter-group-logic-Dp9o1iOJ.js} +1 -1
- package/dist/cjs/{index.esm-DcWSoSRE.js → index.esm-Dgkx-Syd.js} +2 -2
- package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
- package/dist/cjs/{lime-query-operators-Ci-RNshi.js → lime-query-operators-B6PujuTH.js} +1 -1
- package/dist/cjs/{lime-query-validation-nql4N6Z8.js → lime-query-validation-BszGOirf.js} +1 -1
- package/dist/cjs/limebb-alert-dialog.cjs.entry.js +1 -1
- package/dist/cjs/limebb-browser.cjs.entry.js +3 -3
- package/dist/cjs/limebb-chat-icon-list_3.cjs.entry.js +5 -5
- package/dist/cjs/limebb-chat-list.cjs.entry.js +2 -2
- package/dist/cjs/limebb-color-palette-picker.cjs.entry.js +1 -1
- package/dist/cjs/limebb-color-palette-swatches.cjs.entry.js +1 -1
- package/dist/cjs/limebb-component-config.cjs.entry.js +1 -1
- package/dist/cjs/limebb-component-picker.cjs.entry.js +1 -1
- package/dist/cjs/limebb-composer-toolbar.cjs.entry.js +3 -3
- package/dist/cjs/limebb-currency-picker.cjs.entry.js +2 -2
- package/dist/cjs/limebb-dashboard-widget.cjs.entry.js +1 -1
- package/dist/cjs/limebb-data-cells.cjs.entry.js +1 -1
- package/dist/cjs/limebb-date-picker.cjs.entry.js +2 -2
- package/dist/cjs/limebb-date-range.cjs.entry.js +1 -1
- package/dist/cjs/limebb-document-chips.cjs.entry.js +1 -1
- package/dist/cjs/limebb-document-item.cjs.entry.js +2 -2
- package/dist/cjs/limebb-document-picker.cjs.entry.js +1 -1
- package/dist/cjs/limebb-feed-item-thumbnail-file-info.cjs.entry.js +1 -1
- package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +2 -2
- package/dist/cjs/limebb-feed.cjs.entry.js +2 -2
- package/dist/cjs/limebb-icon-picker.cjs.entry.js +1 -1
- package/dist/cjs/limebb-info-tile-format.cjs.entry.js +1 -1
- package/dist/cjs/limebb-info-tile.cjs.entry.js +44 -9
- 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-lime-query-builder.cjs.entry.js +3 -3
- package/dist/cjs/limebb-lime-query-filter-builder.cjs.entry.js +2 -2
- package/dist/cjs/limebb-lime-query-filter-comparison-editor_4.cjs.entry.js +7 -7
- 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 +4 -4
- package/dist/cjs/limebb-lime-query-order-by-item.cjs.entry.js +2 -2
- package/dist/cjs/limebb-lime-query-response-format-builder.cjs.entry.js +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 +1 -1
- package/dist/cjs/limebb-live-docs-info.cjs.entry.js +2 -2
- package/dist/cjs/limebb-loader.cjs.entry.js +18 -1
- package/dist/cjs/limebb-locale-picker.cjs.entry.js +2 -2
- package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +2 -2
- package/dist/cjs/limebb-mention.cjs.entry.js +1 -1
- package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +2 -2
- package/dist/cjs/limebb-notification-item.cjs.entry.js +2 -2
- package/dist/cjs/limebb-notification-list.cjs.entry.js +1 -1
- package/dist/cjs/limebb-object-chip.cjs.entry.js +2 -2
- package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +3 -3
- package/dist/cjs/limebb-property-selector.cjs.entry.js +2 -2
- package/dist/cjs/limebb-rule-arg-filter-editor.cjs.entry.js +1 -1
- package/dist/cjs/limebb-rule-chip-popover.cjs.entry.js +2 -2
- package/dist/cjs/limebb-rule-editor.cjs.entry.js +2 -2
- package/dist/cjs/limebb-rule-gate.cjs.entry.js +2 -2
- 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 +75 -0
- package/dist/cjs/{limetype-CNjUGemK.js → limetype-BayDf-QY.js} +1 -1
- package/dist/cjs/loader.cjs.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 +86 -7
- 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/lime-query-filter-comparison-editor.js +1 -1
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +1 -1
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.js +2 -2
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.js +1 -1
- package/dist/collection/components/lime-query-builder/lime-query-builder.js +1 -1
- package/dist/collection/components/lime-query-builder/lime-query-response-format-builder.js +1 -1
- package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +1 -1
- package/dist/collection/components/lime-query-builder/order-by/order-by-editor.js +1 -1
- package/dist/collection/components/lime-query-builder/order-by/order-by-item.js +2 -2
- package/dist/collection/components/lime-query-builder/response-format/response-format-item.js +1 -1
- package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
- package/dist/collection/components/loader/loader.js +2 -0
- package/dist/collection/components/locale-picker/locale-picker.js +1 -1
- package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
- package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
- package/dist/collection/components/rule-editor/rule-chip-popover/rule-chip-popover.js +1 -1
- package/dist/collection/components/rule-editor/rule-editor.js +1 -1
- package/dist/collection/components/rule-editor/value-comparison-editor/value-comparison-editor-metadata.js +15 -0
- package/dist/collection/components/rule-editor/value-comparison-editor/value-comparison-editor.css +9 -0
- package/dist/collection/components/rule-editor/value-comparison-editor/value-comparison-editor.js +149 -0
- package/dist/collection/components/rule-gate/rule-gate.js +1 -1
- package/dist/collection/components/summary-popover/summary-popover.js +2 -2
- package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
- package/dist/collection/components/text-editor/text-editor.js +1 -1
- package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
- package/dist/components/chat-icon-list.js +1 -1
- package/dist/components/chat-item.js +1 -1
- package/dist/components/currency-picker.js +1 -1
- package/dist/components/date-picker.js +1 -1
- package/dist/components/document-item.js +1 -1
- package/dist/components/feed-item-thumbnail-file-info.js +1 -1
- package/dist/components/feed-timeline-item.js +1 -1
- package/dist/components/kanban-group.js +1 -1
- package/dist/components/kanban-item.js +1 -1
- package/dist/components/lime-query-filter-comparison-editor.js +1 -1
- package/dist/components/lime-query-filter-comparison.js +1 -1
- package/dist/components/lime-query-filter-expression.js +1 -1
- package/dist/components/limebb-alert-dialog.js +1 -1
- package/dist/components/limebb-browser.js +1 -1
- package/dist/components/limebb-chat-list.js +1 -1
- package/dist/components/limebb-color-palette-picker.js +1 -1
- package/dist/components/limebb-color-palette-swatches.js +1 -1
- package/dist/components/limebb-composer-toolbar.js +1 -1
- package/dist/components/limebb-dashboard-widget.js +1 -1
- package/dist/components/limebb-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-response-format-builder.js +1 -1
- package/dist/components/limebb-loader.js +1 -1
- package/dist/components/limebb-locale-picker.js +1 -1
- package/dist/components/limebb-mention-group-counter.js +1 -1
- package/dist/components/limebb-rule-editor.js +1 -1
- package/dist/components/limebb-rule-gate.js +1 -1
- package/dist/components/limebb-text-editor.js +1 -1
- package/dist/components/limebb-trend-indicator.js +1 -1
- package/dist/components/limebb-value-comparison-editor.d.ts +11 -0
- package/dist/components/limebb-value-comparison-editor.js +1 -0
- package/dist/components/limetype-field.js +1 -1
- package/dist/components/live-docs-info.js +1 -1
- package/dist/components/notification-item.js +1 -1
- package/dist/components/order-by-editor.js +1 -1
- package/dist/components/order-by-item.js +1 -1
- package/dist/components/percentage-visualizer.js +1 -1
- package/dist/components/response-format-item.js +1 -1
- package/dist/components/rule-chip-popover.js +1 -1
- package/dist/components/summary-popover.js +1 -1
- package/dist/components/typing-indicator.js +1 -1
- package/dist/esm/{filter-group-logic-RXn-GGk1.js → filter-group-logic-1aucZQgy.js} +1 -1
- package/dist/esm/{index.esm-DAe4_MLR.js → index.esm-B1KM7sH7.js} +1 -1
- package/dist/esm/lime-crm-building-blocks.js +1 -1
- package/dist/esm/{lime-query-operators-DYlN1dAt.js → lime-query-operators-DvI2OyJI.js} +1 -1
- package/dist/esm/{lime-query-validation-DXxPZ2CH.js → lime-query-validation-CiIEITCJ.js} +1 -1
- package/dist/esm/limebb-alert-dialog.entry.js +1 -1
- package/dist/esm/limebb-browser.entry.js +3 -3
- package/dist/esm/limebb-chat-icon-list_3.entry.js +5 -5
- package/dist/esm/limebb-chat-list.entry.js +2 -2
- package/dist/esm/limebb-color-palette-picker.entry.js +1 -1
- package/dist/esm/limebb-color-palette-swatches.entry.js +1 -1
- package/dist/esm/limebb-component-config.entry.js +1 -1
- package/dist/esm/limebb-component-picker.entry.js +1 -1
- package/dist/esm/limebb-composer-toolbar.entry.js +3 -3
- package/dist/esm/limebb-currency-picker.entry.js +2 -2
- package/dist/esm/limebb-dashboard-widget.entry.js +1 -1
- package/dist/esm/limebb-data-cells.entry.js +1 -1
- package/dist/esm/limebb-date-picker.entry.js +2 -2
- package/dist/esm/limebb-date-range.entry.js +1 -1
- package/dist/esm/limebb-document-chips.entry.js +1 -1
- package/dist/esm/limebb-document-item.entry.js +2 -2
- package/dist/esm/limebb-document-picker.entry.js +1 -1
- package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +1 -1
- package/dist/esm/limebb-feed-timeline-item.entry.js +2 -2
- package/dist/esm/limebb-feed.entry.js +2 -2
- package/dist/esm/limebb-icon-picker.entry.js +1 -1
- package/dist/esm/limebb-info-tile-format.entry.js +1 -1
- package/dist/esm/limebb-info-tile.entry.js +44 -9
- package/dist/esm/limebb-kanban-group.entry.js +2 -2
- package/dist/esm/limebb-kanban-item.entry.js +2 -2
- package/dist/esm/limebb-lime-query-builder.entry.js +3 -3
- package/dist/esm/limebb-lime-query-filter-builder.entry.js +2 -2
- package/dist/esm/limebb-lime-query-filter-comparison-editor_4.entry.js +7 -7
- 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 +4 -4
- package/dist/esm/limebb-lime-query-order-by-item.entry.js +2 -2
- package/dist/esm/limebb-lime-query-response-format-builder.entry.js +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 +1 -1
- package/dist/esm/limebb-live-docs-info.entry.js +2 -2
- package/dist/esm/limebb-loader.entry.js +18 -1
- package/dist/esm/limebb-locale-picker.entry.js +2 -2
- package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
- package/dist/esm/limebb-mention.entry.js +1 -1
- package/dist/esm/limebb-navigation-button_2.entry.js +2 -2
- package/dist/esm/limebb-notification-item.entry.js +2 -2
- package/dist/esm/limebb-notification-list.entry.js +1 -1
- package/dist/esm/limebb-object-chip.entry.js +2 -2
- package/dist/esm/limebb-percentage-visualizer.entry.js +3 -3
- package/dist/esm/limebb-property-selector.entry.js +2 -2
- package/dist/esm/limebb-rule-arg-filter-editor.entry.js +1 -1
- package/dist/esm/limebb-rule-chip-popover.entry.js +2 -2
- package/dist/esm/limebb-rule-editor.entry.js +2 -2
- package/dist/esm/limebb-rule-gate.entry.js +2 -2
- 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 +73 -0
- package/dist/esm/{limetype-C1wEJnPI.js → limetype-CIkoDD1B.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
- package/dist/lime-crm-building-blocks/{p-692084d2.entry.js → p-041f1094.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-3c437049.entry.js → p-096ea04d.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-7f5c97fe.entry.js → p-0d6d8b72.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-dc1d543d.entry.js → p-16fad0a8.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-56bb13b2.entry.js → p-191e4dcd.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-8ed7b025.entry.js → p-1a076d37.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-efab4f7e.entry.js → p-1b5f48c2.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-81655182.entry.js → p-201498a9.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-c7c5991f.entry.js → p-26e25dbd.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-24337de2.entry.js → p-29dd2424.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-563d69ff.entry.js → p-30f6d7ea.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-99464fa7.entry.js → p-340250da.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-18ce3ce5.entry.js → p-3f2f1826.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-4c10bea0.entry.js → p-46225433.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-68a951f5.entry.js → p-4cd99453.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-464b02c2.entry.js → p-52d8f7c2.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-555da984.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-efb70fbb.entry.js → p-6299c46b.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-b16bbda2.entry.js → p-69cf07ba.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-47a7b3fd.entry.js → p-6c4521a0.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-8d5311e4.entry.js → p-6f0a5401.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-7d969bbe.entry.js → p-71e1c5f0.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-759d0fc2.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-5eef1781.entry.js → p-7aaf805d.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-8d14a58a.entry.js → p-8c3970ed.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-a5850f04.entry.js → p-9909b0bf.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-6cf0a1cd.entry.js → p-991783f8.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-DzXJyKRS.js → p-B5QzrGTX.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-D3UYWGdn.js → p-BneXZK-Q.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-BbFGcMnU.js → p-DK4A47Sj.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-y_s8hZmV.js → p-DjwVpKf5.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-5a718d20.entry.js → p-a21d6f7e.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-43af24b5.entry.js → p-a2c8e1af.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-a8684418.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-0ba1294a.entry.js → p-b264b37d.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-ecd0280d.entry.js → p-b431df3c.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-22296e19.entry.js → p-b4b103c1.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-0fac2307.entry.js → p-b7d917ed.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-c0d39ae4.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-8238723b.entry.js → p-c4c3f054.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-072756ea.entry.js → p-c6cc1438.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-bd264cfa.entry.js → p-c72d3231.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-a6103d04.entry.js → p-c7dbd961.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-b01f2045.entry.js → p-c8cf6e4d.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-1dfdf045.entry.js → p-cea4fe16.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-d6ac6cd3.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-7a4704dc.entry.js → p-d8835b8c.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-603ab702.entry.js → p-e1223704.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-49bc396e.entry.js → p-e174dccd.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-725e6748.entry.js → p-ec22438d.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-dc3a86f3.entry.js → p-efd62913.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-9639c6ee.entry.js → p-f22e2539.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-3996a598.entry.js → p-f58d25e5.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-16fa6f3e.entry.js → p-fac7ff61.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-5006c5ea.entry.js → p-fb23df8e.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-7b9359cc.entry.js → p-ff686a4e.entry.js} +1 -1
- package/dist/types/components/info-tile/info-tile.d.ts +50 -1
- package/dist/types/components/rule-editor/value-comparison-editor/value-comparison-editor-metadata.d.ts +12 -0
- package/dist/types/components/rule-editor/value-comparison-editor/value-comparison-editor.d.ts +45 -0
- package/dist/types/components.d.ts +116 -0
- package/package.json +4 -4
- package/dist/lime-crm-building-blocks/p-07ef2fd0.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-6fc4e731.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-898b097e.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-ec335be5.entry.js +0 -1
- /package/dist/lime-crm-building-blocks/{p-CqRNpSRV.js → p-BVxuJgRM.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,h as e,g as i}from"./p-DYpn0EkA.js";import{b as r,n as s,l as o,d as n,L as a,r as l}from"./p-
|
|
1
|
+
import{r as t,h as e,g as i}from"./p-DYpn0EkA.js";import{b as r,n as s,l as o,d as n,L as a,r as l}from"./p-BVxuJgRM.js";import{a as h}from"./p-DK4A47Sj.js";class u{constructor(t){this.getState=t,this.contextType="info-tile"}getContext(){const{limetype:t,filterId:e,filterName:i,aggregateOperator:r,propertyName:s,value:o,label:n}=this.getState();if(!t||!e)return console.debug("InfoTileContextProvider: No limetype or filterId available"),null;const a={widgetType:"info-tile",limetype:t,filterId:e};return i&&(a.filterName=i),a.aggregateOperator=r,s&&(a.propertyName=s),void 0!==o&&(a.value=o),n&&(a.label=n),{data:a,purpose:"Shows an aggregated value from a filter. Clicking navigates to the explorer with that filter applied."}}}class c{constructor(t,e=[]){this.platform=t,this.filters=e}async load(t,e){let i;return i=this.isObjectIdentifier(e)?await this.loadLimeObjectInfoTile(t,e):await this.loadBasicInfoTile(t),i}async loadBasicInfoTile(t){const e=this.getFilter(t.filter);if(!e)throw new Error(`Filter "${t.filter}" not found`);return(await this.query.execute({limetype:e.limetype,responseFormat:{aggregates:{infotiles:{value:{op:t.operator,key:t.name}}}},filter:e.filter})).aggregates.infotiles[0].value}async loadLimeObjectInfoTile(t,e){await this.objectRepository.loadObject(e.limetype,e.id,{properties:[t]});const i=this.objectRepository.getObject(e.limetype,e.id);return null==i?void 0:i.getValue([t.name,t.key].join("."))}isObjectIdentifier(t){return Boolean((null==t?void 0:t.limetype)&&(null==t?void 0:t.id))}getFilter(t){return this.filters.find((e=>e.id===t))}get query(){return this.platform.get(r.Query)}get objectRepository(){return this.platform.get(r.LimeObjectRepository)}}function f(t,e){return t&&(t[e]||t.en||t.en_us)||""}function d(t,e=[]){const{path:i,query:r}=function(t,e=[]){if(!t)return{path:"#"};const i=["explorer",t.limetype,t.id].join("/"),r=function(t,e){const i=[...e,t].filter((t=>void 0!==t));if(0!==i.length)return 1===i.length?i[0]:{op:s.AND,exp:i}}(t.filter,e);return r?{path:i,query:{filter:r}}:{path:i}}(t,e);return r?`${i}?${Object.entries(r).map((([t,e])=>`${t}=${encodeURIComponent(JSON.stringify(e))}`)).join("&")}`:i}class p{constructor(t){this.locale=t}format(t){let e=String(t);return"number"==typeof t?e=new Intl.NumberFormat(this.locale).format(t):new Date(t).getTime()&&(e=new Intl.DateTimeFormat(this.locale).format(new Date(t))),{value:e}}}class v{constructor(t){this.locale=t}format(t,e){const i=new Date(t);return{prefix:this.formatAffix("prefix",i,e),value:this.formatValue(i,e),suffix:this.formatAffix("suffix",i,e)}}formatValue(t,e){const i=Object.assign({},e.options);if(e.prefix)for(const t of e.prefix)delete i[t];if(e.suffix)for(const t of e.suffix)delete i[t];return new Intl.DateTimeFormat(this.locale,i).format(t)}formatAffix(t,e,i){const r=Object.assign({},i.options);for(const e of Object.keys(r))"hour12"!==e&&((i[t]||[]).includes(e)||delete r[e]);if(0!==Object.values(r).filter(Boolean).length)return new Intl.DateTimeFormat(this.locale,r).format(e)}}class g{constructor(t){this.locale=t}format(t,e){var i,r;const s=new Intl.NumberFormat(this.locale,e.options),o=s.formatToParts(t);let n="",a="",l="";for(const t of o)(null===(i=e.prefix)||void 0===i?void 0:i.includes(t.type))?n+=t.value:(null===(r=e.suffix)||void 0===r?void 0:r.includes(t.type))?l+=t.value:a+=t.value;return a||(a=s.format(t),n="",l=""),{prefix:n,value:a,suffix:l}}}class m{constructor(t){this.locale=t}format(t,e){const i=new Intl.RelativeTimeFormat(this.locale,e.options),{value:r,unit:s}=this.getRelativeTime(t),o=i.formatToParts(r,s);let n="",a="",l="";for(const t of o)"literal"!==t.type||a?"literal"===t.type&&a?l+=t.value:a+=t.value:n+=t.value;return a||(a=n||l,n="",l=""),{prefix:n,value:a,suffix:l}}getRelativeTime(t){const e=new Date(t),i=new Date,r=e.getTime()-i.getTime(),s=[{unit:"year",value:31536e6},{unit:"month",value:2592e6},{unit:"week",value:6048e5},{unit:"day",value:864e5},{unit:"hour",value:36e5},{unit:"minute",value:6e4},{unit:"second",value:1e3}];for(const t of s){const e=r/t.value;if(Math.abs(e)>=1)return{value:Math.round(e),unit:t.unit}}return{value:0,unit:"second"}}}class b{constructor(t){this.locale=t}createFormatter(t,e){return"number"===(null==t?void 0:t.type)&&"number"==typeof e?new g(this.locale):"date"===(null==t?void 0:t.type)&&"string"==typeof e?new v(this.locale):"relative-date"===(null==t?void 0:t.type)&&"string"==typeof e?new m(this.locale):new p(this.locale)}}var y=function(t,e,i,r){var s,o=arguments.length,n=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,i,r);else for(var a=t.length-1;a>=0;a--)(s=t[a])&&(n=(o<3?s(n):o>3?s(e,i,n):s(e,i))||n);return o>3&&n&&Object.defineProperty(e,i,n),n};const w=class{constructor(e){t(this,e),this.aggregateOperator=l.Count,this.loading=!1,this.error=!1}get hostElement(){return this.host}connectedCallback(){this.registerContextProvider()}disconnectedCallback(){var t;null===(t=this.unregisterContextProvider)||void 0===t||t.call(this)}componentWillLoad(){this.loadInfoTileValue()}watchFilterId(){this.loadInfoTileValue()}watchPropertyName(){this.loadInfoTileValue()}watchAggregateOperator(){this.loadInfoTileValue()}async loadInfoTileValue(){if(this.loading=!0,this.error=!1,this.getFilter()){try{const t={key:this.getKey(),name:this.propertyName,operator:this.aggregateOperator,filter:this.filterId};this.value=await this.loader.load(t,this.context)}catch(t){console.error(t),this.error=!0}this.loading=!1}else this.error=!0}getKey(){return Math.random().toString(36).slice(2)}render(){var t,i;const r=this.getFilter(),s=this.getFormattedValue(),o={disabled:this.disabled,icon:this.icon,prefix:(null===(t=null==s?void 0:s.prefix)||void 0===t?void 0:t.trim())||this.prefix,suffix:(null===(i=null==s?void 0:s.suffix)||void 0===i?void 0:i.trim())||this.suffix,reducedPresence:this.shouldReducePresence()},n=Object.assign(Object.assign({},o),{icon:"error",prefix:"ERROR",loading:!0,label:this.getLabel(r)}),a=Object.assign(Object.assign({},o),{label:this.getLabel(r),link:this.getLink(r),loading:this.loading,value:null==s?void 0:s.value.trim()});return e("limel-info-tile",Object.assign({key:"f5680e93f15afe32e8abdcd05b89f12708b8edf5",class:{error:!r||this.error}},!r||this.error?n:a))}shouldReducePresence(){if(this.reducedPresence)return!0;if(!this.reducedPresenceRule||this.loading)return!1;try{return this.ruleRegistry.compile(this.reducedPresenceRule)(this.ruleRegistry.scope({host:this.hostElement,with:{scalarValue:this.value}}))}catch(t){return!1}}getFormattedValue(){if(!this.value&&0!==this.value)return{value:""};try{return this.getFormatter(this.value).format(this.value,this.format)}catch(t){return new p(this.language).format(this.value)}}getLabel(t){return t?"string"==typeof this.label?this.translator.get(this.label):f(this.label&&"object"==typeof this.label?this.label:t.name,this.language):"No filter set is selected"}getLink(t){const e=h({targetLimetype:t?this.limetypes[t.limetype]:void 0,currentLimetype:this.context.limetype?this.limetypes[this.context.limetype]:void 0,contextLimetypeName:this.context.limetype,contextId:this.context.id,propertyName:this.propertyName});return{href:d(t,e&&this.context.id?[{key:e,op:s.EQUALS,exp:this.context.id}]:[])}}getFilter(){return function(t,e){if(t&&e)return t.find((t=>t.id===e))}(this.filters,this.filterId)}getFormatter(t){return new b(this.language).createFormatter(this.format,t)}get translator(){return this.platform.get(r.Translate)}get ruleRegistry(){return this.platform.get(r.RuleRegistry)}get language(){return this.platform.get(r.Application).getLanguage()}get loader(){return new c(this.platform,this.filters)}registerContextProvider(){const t=this.platform.get(r.AIContextRegistry);if(!(null==t?void 0:t.register))return;const e=new u((()=>{const t=this.getFilter();return{limetype:null==t?void 0:t.limetype,filterId:this.filterId,filterName:t?f(t.name,this.language):void 0,aggregateOperator:this.aggregateOperator,propertyName:this.propertyName,value:this.value,label:this.getLabel(t)}}));this.unregisterContextProvider=t.register(e,this.hostElement)}get host(){return i(this)}static get watchers(){return{filterId:[{watchFilterId:0}],propertyName:[{watchPropertyName:0}],aggregateOperator:[{watchAggregateOperator:0}]}}};y([o({})],w.prototype,"config",void 0),y([n()],w.prototype,"filters",void 0),y([a()],w.prototype,"limetypes",void 0),w.style=":host(limebb-info-tile){display:block;overflow:visible !important;background-color:transparent !important}limel-info-tile.error{--info-tile-icon-color:rgb(var(--color-red-dark));border:1px dashed rgb(var(--contrast-500));border-radius:var(--info-tile-border-radius, 1rem)}";export{w as limebb_info_tile}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform, AggregateOperator } from '@limetech/lime-web-components';
|
|
1
|
+
import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform, AggregateOperator, Rule } from '@limetech/lime-web-components';
|
|
2
2
|
import { IconName } from '@limetech/lime-elements';
|
|
3
3
|
import { DateTimeFormat, NumberFormat, RelativeDateTimeFormat } from './format';
|
|
4
4
|
/**
|
|
@@ -14,12 +14,22 @@ import { DateTimeFormat, NumberFormat, RelativeDateTimeFormat } from './format';
|
|
|
14
14
|
* @exampleComponent limebb-example-info-tile-unit-format
|
|
15
15
|
* @exampleComponent limebb-example-info-tile-date-format
|
|
16
16
|
* @exampleComponent limebb-example-info-tile-relative-date-format
|
|
17
|
+
* @exampleComponent limebb-example-info-tile-reduce-presence
|
|
17
18
|
* @beta
|
|
18
19
|
*/
|
|
19
20
|
export declare class InfoTile implements LimeWebComponent {
|
|
20
21
|
platform: LimeWebComponentPlatform;
|
|
21
22
|
context: LimeWebComponentContext;
|
|
22
23
|
private host;
|
|
24
|
+
/**
|
|
25
|
+
* The host cast to a plain `HTMLElement` (intersected with
|
|
26
|
+
* `LimeWebComponent` for the context registry). The cast is needed
|
|
27
|
+
* because this component declares a `prefix` prop, which collides with
|
|
28
|
+
* the native `HTMLElement.prefix` attribute (`string | undefined` vs
|
|
29
|
+
* `string | null`), leaving `HTMLLimebbInfoTileElement` and `HTMLElement`
|
|
30
|
+
* mutually unassignable.
|
|
31
|
+
*/
|
|
32
|
+
private get hostElement();
|
|
23
33
|
/**
|
|
24
34
|
* ID of the filter set to use
|
|
25
35
|
*/
|
|
@@ -53,6 +63,35 @@ export declare class InfoTile implements LimeWebComponent {
|
|
|
53
63
|
*/
|
|
54
64
|
aggregateOperator: AggregateOperator;
|
|
55
65
|
format?: NumberFormat | DateTimeFormat | RelativeDateTimeFormat;
|
|
66
|
+
/**
|
|
67
|
+
* When `true`, the info tile is rendered with a reduced visual
|
|
68
|
+
* presence (lower saturation and opacity) so it draws less
|
|
69
|
+
* attention. Use this for tiles whose values are not currently
|
|
70
|
+
* noteworthy — for example, a counter that is zero or a metric that
|
|
71
|
+
* sits within an expected range — so the user is not overwhelmed by
|
|
72
|
+
* a dashboard full of equally-loud tiles.
|
|
73
|
+
*
|
|
74
|
+
* The actual styling lives on `limel-info-tile`; this component
|
|
75
|
+
* just forwards the boolean. Set this directly when the consumer
|
|
76
|
+
* already knows the answer. When the answer depends on the tile's
|
|
77
|
+
* value, set {@link reducedPresenceRule} instead and the tile
|
|
78
|
+
* will compute the boolean itself.
|
|
79
|
+
*/
|
|
80
|
+
reducedPresence?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Rule that drives `reducedPresence` from the tile's loaded value.
|
|
83
|
+
* When set, the tile evaluates it against its `value` after each load
|
|
84
|
+
* and dims itself when the rule is `true`. The {@link reducedPresence}
|
|
85
|
+
* prop still takes effect on top — if either says "dim", the tile dims.
|
|
86
|
+
*
|
|
87
|
+
* Any rule the `RuleRegistry` can compile works. The tile evaluates
|
|
88
|
+
* it against a scope anchored on its host, with the tile's loaded
|
|
89
|
+
* value supplied as `scalarValue`. So primitives reading
|
|
90
|
+
* `scalarValue` — such as `limetech.value-comparison` — see the
|
|
91
|
+
* figure on screen, while any other context the primitive reads
|
|
92
|
+
* resolves from the DOM.
|
|
93
|
+
*/
|
|
94
|
+
reducedPresenceRule?: Rule;
|
|
56
95
|
/**
|
|
57
96
|
* Only used to trigger a re-render when a config is saved in Lime Admin
|
|
58
97
|
*/
|
|
@@ -72,12 +111,22 @@ export declare class InfoTile implements LimeWebComponent {
|
|
|
72
111
|
private loadInfoTileValue;
|
|
73
112
|
private getKey;
|
|
74
113
|
render(): any;
|
|
114
|
+
/**
|
|
115
|
+
* Effective `reducedPresence` for this render. The boolean prop
|
|
116
|
+
* wins if it's set; otherwise the rule is evaluated against the
|
|
117
|
+
* current value. The rule is skipped while loading so the tile
|
|
118
|
+
* doesn't flicker between dimmed and full-presence on its first
|
|
119
|
+
* paint — the load completes within a frame or two and the next
|
|
120
|
+
* render picks up the real value.
|
|
121
|
+
*/
|
|
122
|
+
private shouldReducePresence;
|
|
75
123
|
private getFormattedValue;
|
|
76
124
|
private getLabel;
|
|
77
125
|
private getLink;
|
|
78
126
|
private getFilter;
|
|
79
127
|
private getFormatter;
|
|
80
128
|
private get translator();
|
|
129
|
+
private get ruleRegistry();
|
|
81
130
|
private get language();
|
|
82
131
|
private get loader();
|
|
83
132
|
private registerContextProvider;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { RuleRegistry } from '@limetech/lime-web-components';
|
|
2
|
+
/**
|
|
3
|
+
* Attach `limebb-value-comparison-editor` as the args editor for the
|
|
4
|
+
* `limetech.value-comparison` primitive, so the rule editor renders an
|
|
5
|
+
* operator and operand instead of a raw JSON field. The primitive itself
|
|
6
|
+
* is defined in limeclient.js; this only fills in the `configComponent`
|
|
7
|
+
* that a non-component library cannot reference.
|
|
8
|
+
*
|
|
9
|
+
* @param registry - the platform's rule registry.
|
|
10
|
+
*/
|
|
11
|
+
export declare const attachValueComparisonEditorMetadata: (registry: RuleRegistry) => void;
|
|
12
|
+
//# sourceMappingURL=value-comparison-editor-metadata.d.ts.map
|
package/dist/types/components/rule-editor/value-comparison-editor/value-comparison-editor.d.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { EventEmitter } from '../../../stencil-public-runtime';
|
|
2
|
+
import { Operator } from '@limetech/lime-web-components';
|
|
3
|
+
import { FormComponent } from '@limetech/lime-elements';
|
|
4
|
+
/**
|
|
5
|
+
* The scalar types the editor emits. A wider set is accepted by the
|
|
6
|
+
* `limetech.value-comparison` primitive, but the editor only needs to
|
|
7
|
+
* distinguish numeric ordering from the case-insensitive string ordering
|
|
8
|
+
* that also sorts ISO date strings correctly.
|
|
9
|
+
*/
|
|
10
|
+
export type ValueComparisonValueType = 'number' | 'string';
|
|
11
|
+
export interface ValueComparisonEditorValue {
|
|
12
|
+
operator?: Operator;
|
|
13
|
+
operand?: string | number;
|
|
14
|
+
valueType?: ValueComparisonValueType;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Args editor for the `limetech.value-comparison` rule primitive: an
|
|
18
|
+
* operator from the match-filter {@link Operator} vocabulary plus the value
|
|
19
|
+
* to compare against. The operand is emitted as a number when it parses as
|
|
20
|
+
* one and as a string otherwise; the `valueType` follows from it so the
|
|
21
|
+
* primitive orders numerically for numbers and lexically for strings (ISO
|
|
22
|
+
* date strings sort correctly that way).
|
|
23
|
+
*
|
|
24
|
+
* Emptiness is a separate concern handled by the `limetech.value-is-empty`
|
|
25
|
+
* primitive, so this editor offers comparison operators only.
|
|
26
|
+
*
|
|
27
|
+
* @alpha
|
|
28
|
+
* @private
|
|
29
|
+
*/
|
|
30
|
+
export declare class ValueComparisonEditor implements FormComponent<ValueComparisonEditorValue> {
|
|
31
|
+
/**
|
|
32
|
+
* @inheritdoc
|
|
33
|
+
*/
|
|
34
|
+
value: ValueComparisonEditorValue;
|
|
35
|
+
/**
|
|
36
|
+
* @inheritdoc
|
|
37
|
+
*/
|
|
38
|
+
change: EventEmitter<ValueComparisonEditorValue>;
|
|
39
|
+
render(): any;
|
|
40
|
+
private renderOperandInput;
|
|
41
|
+
private handleOperatorChange;
|
|
42
|
+
private handleOperandChange;
|
|
43
|
+
private withOperand;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=value-comparison-editor.d.ts.map
|
|
@@ -33,6 +33,7 @@ import { NotificationItem } from "./components/notification-list/notification-it
|
|
|
33
33
|
import { RuleArgFilterEditorValue } from "./components/rule-editor/rule-arg-filter-editor/rule-arg-filter-editor";
|
|
34
34
|
import { TriggerMap } from "./components/text-editor/text-editor.types";
|
|
35
35
|
import { EnhancedEditorMetadata } from "./components/text-editor/uploader/building-blocks-upload-handler";
|
|
36
|
+
import { ValueComparisonEditorValue } from "./components/rule-editor/value-comparison-editor/value-comparison-editor";
|
|
36
37
|
export { AlertType } from "./components/alert-dialog/alert-dialog.types";
|
|
37
38
|
export { AggregateOperator, ContextMap, ContextScope, Expression, JsonValue, LimeFileUrlType, LimeType, LimeWebComponentContext, LimeWebComponentPlatform, NotExpression, Operator, PrimitiveMetadata, Rule, RuleRef } from "@limetech/lime-web-components";
|
|
38
39
|
export { BrowserItem } from "./components/browser/browser-item.types";
|
|
@@ -61,6 +62,7 @@ export { NotificationItem } from "./components/notification-list/notification-it
|
|
|
61
62
|
export { RuleArgFilterEditorValue } from "./components/rule-editor/rule-arg-filter-editor/rule-arg-filter-editor";
|
|
62
63
|
export { TriggerMap } from "./components/text-editor/text-editor.types";
|
|
63
64
|
export { EnhancedEditorMetadata } from "./components/text-editor/uploader/building-blocks-upload-handler";
|
|
65
|
+
export { ValueComparisonEditorValue } from "./components/rule-editor/value-comparison-editor/value-comparison-editor";
|
|
64
66
|
export namespace Components {
|
|
65
67
|
/**
|
|
66
68
|
* An alert dialog interrupts the user flow. It can be used when an explicit
|
|
@@ -1069,6 +1071,7 @@ export namespace Components {
|
|
|
1069
1071
|
* @exampleComponent limebb-example-info-tile-unit-format
|
|
1070
1072
|
* @exampleComponent limebb-example-info-tile-date-format
|
|
1071
1073
|
* @exampleComponent limebb-example-info-tile-relative-date-format
|
|
1074
|
+
* @exampleComponent limebb-example-info-tile-reduce-presence
|
|
1072
1075
|
* @beta
|
|
1073
1076
|
*/
|
|
1074
1077
|
interface LimebbInfoTile {
|
|
@@ -1110,6 +1113,14 @@ export namespace Components {
|
|
|
1110
1113
|
* Name of the property to use when aggregating
|
|
1111
1114
|
*/
|
|
1112
1115
|
"propertyName": string;
|
|
1116
|
+
/**
|
|
1117
|
+
* When `true`, the info tile is rendered with a reduced visual presence (lower saturation and opacity) so it draws less attention. Use this for tiles whose values are not currently noteworthy — for example, a counter that is zero or a metric that sits within an expected range — so the user is not overwhelmed by a dashboard full of equally-loud tiles. The actual styling lives on `limel-info-tile`; this component just forwards the boolean. Set this directly when the consumer already knows the answer. When the answer depends on the tile's value, set {@link reducedPresenceRule} instead and the tile will compute the boolean itself.
|
|
1118
|
+
*/
|
|
1119
|
+
"reducedPresence"?: boolean;
|
|
1120
|
+
/**
|
|
1121
|
+
* Rule that drives `reducedPresence` from the tile's loaded value. When set, the tile evaluates it against its `value` after each load and dims itself when the rule is `true`. The {@link reducedPresence} prop still takes effect on top — if either says "dim", the tile dims. Any rule the `RuleRegistry` can compile works. The tile evaluates it against a scope anchored on its host, with the tile's loaded value supplied as `scalarValue`. So primitives reading `scalarValue` — such as `limetech.value-comparison` — see the figure on screen, while any other context the primitive reads resolves from the DOM.
|
|
1122
|
+
*/
|
|
1123
|
+
"reducedPresenceRule"?: Rule;
|
|
1113
1124
|
/**
|
|
1114
1125
|
* A string of text that is visually placed after the value.
|
|
1115
1126
|
*/
|
|
@@ -2689,6 +2700,26 @@ export namespace Components {
|
|
|
2689
2700
|
*/
|
|
2690
2701
|
interface LimebbTypingIndicator {
|
|
2691
2702
|
}
|
|
2703
|
+
/**
|
|
2704
|
+
* Args editor for the `limetech.value-comparison` rule primitive: an
|
|
2705
|
+
* operator from the match-filter {@link Operator} vocabulary plus the value
|
|
2706
|
+
* to compare against. The operand is emitted as a number when it parses as
|
|
2707
|
+
* one and as a string otherwise; the `valueType` follows from it so the
|
|
2708
|
+
* primitive orders numerically for numbers and lexically for strings (ISO
|
|
2709
|
+
* date strings sort correctly that way).
|
|
2710
|
+
* Emptiness is a separate concern handled by the `limetech.value-is-empty`
|
|
2711
|
+
* primitive, so this editor offers comparison operators only.
|
|
2712
|
+
* @alpha
|
|
2713
|
+
* @private
|
|
2714
|
+
*/
|
|
2715
|
+
interface LimebbValueComparisonEditor {
|
|
2716
|
+
/**
|
|
2717
|
+
* The value of the current property
|
|
2718
|
+
* @inheritdoc
|
|
2719
|
+
* @default {}
|
|
2720
|
+
*/
|
|
2721
|
+
"value": ValueComparisonEditorValue;
|
|
2722
|
+
}
|
|
2692
2723
|
}
|
|
2693
2724
|
export interface LimebbAlertDialogCustomEvent<T> extends CustomEvent<T> {
|
|
2694
2725
|
detail: T;
|
|
@@ -2882,6 +2913,10 @@ export interface LimebbTextEditorPickerCustomEvent<T> extends CustomEvent<T> {
|
|
|
2882
2913
|
detail: T;
|
|
2883
2914
|
target: HTMLLimebbTextEditorPickerElement;
|
|
2884
2915
|
}
|
|
2916
|
+
export interface LimebbValueComparisonEditorCustomEvent<T> extends CustomEvent<T> {
|
|
2917
|
+
detail: T;
|
|
2918
|
+
target: HTMLLimebbValueComparisonEditorElement;
|
|
2919
|
+
}
|
|
2885
2920
|
declare global {
|
|
2886
2921
|
interface HTMLLimebbAlertDialogElementEventMap {
|
|
2887
2922
|
"dismiss": void;
|
|
@@ -3504,6 +3539,7 @@ declare global {
|
|
|
3504
3539
|
* @exampleComponent limebb-example-info-tile-unit-format
|
|
3505
3540
|
* @exampleComponent limebb-example-info-tile-date-format
|
|
3506
3541
|
* @exampleComponent limebb-example-info-tile-relative-date-format
|
|
3542
|
+
* @exampleComponent limebb-example-info-tile-reduce-presence
|
|
3507
3543
|
* @beta
|
|
3508
3544
|
*/
|
|
3509
3545
|
interface HTMLLimebbInfoTileElement extends Components.LimebbInfoTile, HTMLStencilElement {
|
|
@@ -4670,6 +4706,35 @@ declare global {
|
|
|
4670
4706
|
prototype: HTMLLimebbTypingIndicatorElement;
|
|
4671
4707
|
new (): HTMLLimebbTypingIndicatorElement;
|
|
4672
4708
|
};
|
|
4709
|
+
interface HTMLLimebbValueComparisonEditorElementEventMap {
|
|
4710
|
+
"change": ValueComparisonEditorValue;
|
|
4711
|
+
}
|
|
4712
|
+
/**
|
|
4713
|
+
* Args editor for the `limetech.value-comparison` rule primitive: an
|
|
4714
|
+
* operator from the match-filter {@link Operator} vocabulary plus the value
|
|
4715
|
+
* to compare against. The operand is emitted as a number when it parses as
|
|
4716
|
+
* one and as a string otherwise; the `valueType` follows from it so the
|
|
4717
|
+
* primitive orders numerically for numbers and lexically for strings (ISO
|
|
4718
|
+
* date strings sort correctly that way).
|
|
4719
|
+
* Emptiness is a separate concern handled by the `limetech.value-is-empty`
|
|
4720
|
+
* primitive, so this editor offers comparison operators only.
|
|
4721
|
+
* @alpha
|
|
4722
|
+
* @private
|
|
4723
|
+
*/
|
|
4724
|
+
interface HTMLLimebbValueComparisonEditorElement extends Components.LimebbValueComparisonEditor, HTMLStencilElement {
|
|
4725
|
+
addEventListener<K extends keyof HTMLLimebbValueComparisonEditorElementEventMap>(type: K, listener: (this: HTMLLimebbValueComparisonEditorElement, ev: LimebbValueComparisonEditorCustomEvent<HTMLLimebbValueComparisonEditorElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
4726
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
4727
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
4728
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
4729
|
+
removeEventListener<K extends keyof HTMLLimebbValueComparisonEditorElementEventMap>(type: K, listener: (this: HTMLLimebbValueComparisonEditorElement, ev: LimebbValueComparisonEditorCustomEvent<HTMLLimebbValueComparisonEditorElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
4730
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
4731
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
4732
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
4733
|
+
}
|
|
4734
|
+
var HTMLLimebbValueComparisonEditorElement: {
|
|
4735
|
+
prototype: HTMLLimebbValueComparisonEditorElement;
|
|
4736
|
+
new (): HTMLLimebbValueComparisonEditorElement;
|
|
4737
|
+
};
|
|
4673
4738
|
interface HTMLElementTagNameMap {
|
|
4674
4739
|
"limebb-alert-dialog": HTMLLimebbAlertDialogElement;
|
|
4675
4740
|
"limebb-browser": HTMLLimebbBrowserElement;
|
|
@@ -4739,6 +4804,7 @@ declare global {
|
|
|
4739
4804
|
"limebb-text-editor-picker": HTMLLimebbTextEditorPickerElement;
|
|
4740
4805
|
"limebb-trend-indicator": HTMLLimebbTrendIndicatorElement;
|
|
4741
4806
|
"limebb-typing-indicator": HTMLLimebbTypingIndicatorElement;
|
|
4807
|
+
"limebb-value-comparison-editor": HTMLLimebbValueComparisonEditorElement;
|
|
4742
4808
|
}
|
|
4743
4809
|
}
|
|
4744
4810
|
declare namespace LocalJSX {
|
|
@@ -5823,6 +5889,7 @@ declare namespace LocalJSX {
|
|
|
5823
5889
|
* @exampleComponent limebb-example-info-tile-unit-format
|
|
5824
5890
|
* @exampleComponent limebb-example-info-tile-date-format
|
|
5825
5891
|
* @exampleComponent limebb-example-info-tile-relative-date-format
|
|
5892
|
+
* @exampleComponent limebb-example-info-tile-reduce-presence
|
|
5826
5893
|
* @beta
|
|
5827
5894
|
*/
|
|
5828
5895
|
interface LimebbInfoTile {
|
|
@@ -5864,6 +5931,14 @@ declare namespace LocalJSX {
|
|
|
5864
5931
|
* Name of the property to use when aggregating
|
|
5865
5932
|
*/
|
|
5866
5933
|
"propertyName"?: string;
|
|
5934
|
+
/**
|
|
5935
|
+
* When `true`, the info tile is rendered with a reduced visual presence (lower saturation and opacity) so it draws less attention. Use this for tiles whose values are not currently noteworthy — for example, a counter that is zero or a metric that sits within an expected range — so the user is not overwhelmed by a dashboard full of equally-loud tiles. The actual styling lives on `limel-info-tile`; this component just forwards the boolean. Set this directly when the consumer already knows the answer. When the answer depends on the tile's value, set {@link reducedPresenceRule} instead and the tile will compute the boolean itself.
|
|
5936
|
+
*/
|
|
5937
|
+
"reducedPresence"?: boolean;
|
|
5938
|
+
/**
|
|
5939
|
+
* Rule that drives `reducedPresence` from the tile's loaded value. When set, the tile evaluates it against its `value` after each load and dims itself when the rule is `true`. The {@link reducedPresence} prop still takes effect on top — if either says "dim", the tile dims. Any rule the `RuleRegistry` can compile works. The tile evaluates it against a scope anchored on its host, with the tile's loaded value supplied as `scalarValue`. So primitives reading `scalarValue` — such as `limetech.value-comparison` — see the figure on screen, while any other context the primitive reads resolves from the DOM.
|
|
5940
|
+
*/
|
|
5941
|
+
"reducedPresenceRule"?: Rule;
|
|
5867
5942
|
/**
|
|
5868
5943
|
* A string of text that is visually placed after the value.
|
|
5869
5944
|
*/
|
|
@@ -7587,6 +7662,31 @@ declare namespace LocalJSX {
|
|
|
7587
7662
|
*/
|
|
7588
7663
|
interface LimebbTypingIndicator {
|
|
7589
7664
|
}
|
|
7665
|
+
/**
|
|
7666
|
+
* Args editor for the `limetech.value-comparison` rule primitive: an
|
|
7667
|
+
* operator from the match-filter {@link Operator} vocabulary plus the value
|
|
7668
|
+
* to compare against. The operand is emitted as a number when it parses as
|
|
7669
|
+
* one and as a string otherwise; the `valueType` follows from it so the
|
|
7670
|
+
* primitive orders numerically for numbers and lexically for strings (ISO
|
|
7671
|
+
* date strings sort correctly that way).
|
|
7672
|
+
* Emptiness is a separate concern handled by the `limetech.value-is-empty`
|
|
7673
|
+
* primitive, so this editor offers comparison operators only.
|
|
7674
|
+
* @alpha
|
|
7675
|
+
* @private
|
|
7676
|
+
*/
|
|
7677
|
+
interface LimebbValueComparisonEditor {
|
|
7678
|
+
/**
|
|
7679
|
+
* The event to emit when the value of the current property has changed
|
|
7680
|
+
* @inheritdoc
|
|
7681
|
+
*/
|
|
7682
|
+
"onChange"?: (event: LimebbValueComparisonEditorCustomEvent<ValueComparisonEditorValue>) => void;
|
|
7683
|
+
/**
|
|
7684
|
+
* The value of the current property
|
|
7685
|
+
* @inheritdoc
|
|
7686
|
+
* @default {}
|
|
7687
|
+
*/
|
|
7688
|
+
"value"?: ValueComparisonEditorValue;
|
|
7689
|
+
}
|
|
7590
7690
|
|
|
7591
7691
|
interface LimebbAlertDialogAttributes {
|
|
7592
7692
|
"type": AlertType;
|
|
@@ -7734,6 +7834,7 @@ declare namespace LocalJSX {
|
|
|
7734
7834
|
"suffix": string;
|
|
7735
7835
|
"propertyName": string;
|
|
7736
7836
|
"aggregateOperator": AggregateOperator;
|
|
7837
|
+
"reducedPresence": boolean;
|
|
7737
7838
|
}
|
|
7738
7839
|
interface LimebbInfoTileFormatAttributes {
|
|
7739
7840
|
"type": 'number' | 'date' | 'none';
|
|
@@ -7994,6 +8095,7 @@ declare namespace LocalJSX {
|
|
|
7994
8095
|
"limebb-text-editor-picker": Omit<LimebbTextEditorPicker, keyof LimebbTextEditorPickerAttributes> & { [K in keyof LimebbTextEditorPicker & keyof LimebbTextEditorPickerAttributes]?: LimebbTextEditorPicker[K] } & { [K in keyof LimebbTextEditorPicker & keyof LimebbTextEditorPickerAttributes as `attr:${K}`]?: LimebbTextEditorPickerAttributes[K] } & { [K in keyof LimebbTextEditorPicker & keyof LimebbTextEditorPickerAttributes as `prop:${K}`]?: LimebbTextEditorPicker[K] };
|
|
7995
8096
|
"limebb-trend-indicator": Omit<LimebbTrendIndicator, keyof LimebbTrendIndicatorAttributes> & { [K in keyof LimebbTrendIndicator & keyof LimebbTrendIndicatorAttributes]?: LimebbTrendIndicator[K] } & { [K in keyof LimebbTrendIndicator & keyof LimebbTrendIndicatorAttributes as `attr:${K}`]?: LimebbTrendIndicatorAttributes[K] } & { [K in keyof LimebbTrendIndicator & keyof LimebbTrendIndicatorAttributes as `prop:${K}`]?: LimebbTrendIndicator[K] };
|
|
7996
8097
|
"limebb-typing-indicator": LimebbTypingIndicator;
|
|
8098
|
+
"limebb-value-comparison-editor": LimebbValueComparisonEditor;
|
|
7997
8099
|
}
|
|
7998
8100
|
}
|
|
7999
8101
|
export { LocalJSX as JSX };
|
|
@@ -8348,6 +8450,7 @@ declare module "@stencil/core" {
|
|
|
8348
8450
|
* @exampleComponent limebb-example-info-tile-unit-format
|
|
8349
8451
|
* @exampleComponent limebb-example-info-tile-date-format
|
|
8350
8452
|
* @exampleComponent limebb-example-info-tile-relative-date-format
|
|
8453
|
+
* @exampleComponent limebb-example-info-tile-reduce-presence
|
|
8351
8454
|
* @beta
|
|
8352
8455
|
*/
|
|
8353
8456
|
"limebb-info-tile": LocalJSX.IntrinsicElements["limebb-info-tile"] & JSXBase.HTMLAttributes<HTMLLimebbInfoTileElement>;
|
|
@@ -8910,6 +9013,19 @@ declare module "@stencil/core" {
|
|
|
8910
9013
|
* @private
|
|
8911
9014
|
*/
|
|
8912
9015
|
"limebb-typing-indicator": LocalJSX.IntrinsicElements["limebb-typing-indicator"] & JSXBase.HTMLAttributes<HTMLLimebbTypingIndicatorElement>;
|
|
9016
|
+
/**
|
|
9017
|
+
* Args editor for the `limetech.value-comparison` rule primitive: an
|
|
9018
|
+
* operator from the match-filter {@link Operator} vocabulary plus the value
|
|
9019
|
+
* to compare against. The operand is emitted as a number when it parses as
|
|
9020
|
+
* one and as a string otherwise; the `valueType` follows from it so the
|
|
9021
|
+
* primitive orders numerically for numbers and lexically for strings (ISO
|
|
9022
|
+
* date strings sort correctly that way).
|
|
9023
|
+
* Emptiness is a separate concern handled by the `limetech.value-is-empty`
|
|
9024
|
+
* primitive, so this editor offers comparison operators only.
|
|
9025
|
+
* @alpha
|
|
9026
|
+
* @private
|
|
9027
|
+
*/
|
|
9028
|
+
"limebb-value-comparison-editor": LocalJSX.IntrinsicElements["limebb-value-comparison-editor"] & JSXBase.HTMLAttributes<HTMLLimebbValueComparisonEditorElement>;
|
|
8913
9029
|
}
|
|
8914
9030
|
}
|
|
8915
9031
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@limetech/lime-crm-building-blocks",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.135.0",
|
|
4
4
|
"description": "A home for shared components meant for use with Lime CRM",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -35,10 +35,10 @@
|
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@limetech/eslint-config": "^4.0.1",
|
|
38
|
-
"@limetech/lime-elements": "^39.
|
|
39
|
-
"@limetech/lime-web-components": "^6.
|
|
38
|
+
"@limetech/lime-elements": "^39.33.1",
|
|
39
|
+
"@limetech/lime-web-components": "^6.25.0",
|
|
40
40
|
"@lundalogik/lime-icons8": "^2.41.0",
|
|
41
|
-
"@lundalogik/limeclient.js": "^1.
|
|
41
|
+
"@lundalogik/limeclient.js": "^1.107.0",
|
|
42
42
|
"@stencil/core": "^4.43.4",
|
|
43
43
|
"@stencil/sass": "^3.1.9",
|
|
44
44
|
"@types/jest": "^29.5.14",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as i,h as e}from"./p-DYpn0EkA.js";import{b as s}from"./p-CqRNpSRV.js";const h=class{constructor(e){t(this,e),this.change=i(this,"change"),this.disabled=!1,this.readonly=!1,this.invalid=!1,this.required=!1,this.type="datetime",this.shouldEmitValueAsString=!0,this.handleChange=t=>{if(!t.detail)return;t.stopPropagation();const i=(e=t.detail,"datetime"===(s=this.type)||"time"===s?e:new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())));var e,s;this.change.emit(this.shouldEmitValueAsString?i.toISOString():i)},this.formatter=t=>this.dateTimeFormatter.format(t,r[this.type]||this.type)}render(){return this.language||(this.language=this.getAppLanguage()),this.value&&(this.shouldEmitValueAsString="string"==typeof this.value),e("limel-date-picker",{key:"03fcd4817bc780ed9869e07351b2fc20008af09d",disabled:this.disabled,readonly:this.readonly,invalid:this.invalid,label:this.label,placeholder:this.placeholder,helperText:this.helperText,required:this.required,value:this.parseDateValue(),type:this.type,language:this.language,formatter:this.formatter,onChange:this.handleChange})}parseDateValue(){const t=this.value;if(t)return this.dateTimeFormatter.parse(t,r[this.type]||this.type)}get dateTimeFormatter(){return this.platform.get(s.DateTimeFormatter)}getAppLanguage(){const t=this.platform.get(s.Translate),i=this.platform.get(s.Application);let e;var h;return e="function"==typeof(null==(h=t)?void 0:h.getLanguage)?t.getLanguage():i.getLanguage(),n(e)?e:"en"}},r={datetime:"time",time:"timeofday"},a=new Set(["da","de","en","fi","fr","nb","no","nl","sv"]),n=t=>a.has(t);export{h as limebb_date_picker}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e}from"./p-DYpn0EkA.js";import{H as o,b as c}from"./p-CqRNpSRV.js";import{H as i}from"./p-BWMpG2bS.js";let s=class{constructor(t){this.itemId=t}};s=function(t,e,o,c){var i,s=arguments.length,l=s<3?e:null===c?c=Object.getOwnPropertyDescriptor(e,o):c;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(t,e,o,c);else for(var n=t.length-1;n>=0;n--)(i=t[n])&&(l=(s<3?i(l):s>3?i(e,o,l):i(e,o))||l);return s>3&&l&&Object.defineProperty(e,o,l),l}([o({id:"limebb-feed.highlight-item"})],s);const l="limetech.limeobject-matches-filter",n=class{constructor(o){t(this,o),this.loaded=e(this,"loaded")}connectedCallback(){}async componentWillLoad(){const t=new i;var e;this.platform.register(i.SERVICE_NAME,t),this.commandBus.register(s,t),(e=this.platform.get(c.RuleRegistry)).listPrimitives().some((t=>t.id===l))&&e.attachMetadata(l,{configComponent:{name:"limebb-rule-arg-filter-editor"}}),this.loaded.emit()}componentWillUpdate(){}disconnectedCallback(){}get commandBus(){return this.platform.get(c.CommandBus)}};export{n as limebb_loader}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,h as e,H as s,g as i}from"./p-DYpn0EkA.js";import{b as o}from"./p-CqRNpSRV.js";const h=class{constructor(e){t(this,e),this.shouldRender=!1}componentWillLoad(){this.compileAndEvaluate()}onRuleChange(){this.compileAndEvaluate()}onScopeChange(){this.compileAndEvaluate()}render(){return e(s,{key:"8fe8b9fad90211b80b4672563f6d599ce1cb11c3",hidden:!this.shouldRender},e("slot",{key:"f434d25308b85fd084d369ccf2b0e22bd3513210"}))}get ruleRegistry(){return this.platform.get(o.RuleRegistry)}compileAndEvaluate(){var t;if(this.rule)try{const e=this.ruleRegistry.compile(this.rule),s=null!==(t=this.scope)&&void 0!==t?t:this.ruleRegistry.scope({host:this.host});this.shouldRender=e(s)}catch(t){console.warn("rule-gate failed to compile rule; hiding slot",{rule:this.rule,error:t}),this.shouldRender=!1}else this.shouldRender=!0}get host(){return i(this)}static get watchers(){return{rule:[{onRuleChange:0}],scope:[{onScopeChange:0}]}}};h.style=":host{display:block}:host([hidden]){display:none}";export{h as limebb_rule_gate}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,h as i,H as r}from"./p-DYpn0EkA.js";import{b as s}from"./p-CqRNpSRV.js";import{g as o}from"./p-BbFGcMnU.js";import{i as n}from"./p-CkTg5UPD.js";import{b as a}from"./p-CKEnwX6j.js";import{i as l,a as h,b as d}from"./p-BgAfMcRA.js";import"./p-CtcTT7BK.js";function m(t){return"string"==typeof t||!h(t)&&l(t)&&"[object String]"==d(t)}const c=class{constructor(i){t(this,i),this.change=e(this,"change"),this.label="Sort Order",this.items=[],this.handleItemChange=t=>e=>{e.stopPropagation();const i=[...this.items];null===e.detail?i.splice(t,1):i[t]=e.detail,this.items=i,this.emitChange()},this.handleAddSortField=()=>{this.items=[...this.items,{"":"ASC"}],this.emitChange()}}componentWillLoad(){this.value&&this.value.length>0&&(this.items=[...this.value])}handleValueChange(t){t&&(t.length!==this.items.length||!t.every(((t,e)=>{const i=this.items[e];if(!i)return!1;const r=Object.keys(t)[0],s=Object.keys(i)[0];return r===s&&t[r]===i[s]})))&&(this.items=t.length>0?[...t]:[])}render(){return i(r,{key:"59e3bb0334e5528fc8a0f8747086348d1a195c82"},this.renderEmptyState(),this.renderOrderByEditor())}renderEmptyState(){return this.limetype?null:i("div",{class:"empty-state"},i("p",null,"Select a limetype to configure sorting"))}renderOrderByEditor(){return this.limetype?[this.renderHeader(),this.renderOrderByList(),this.renderActions()]:null}renderHeader(){return i("limel-header",{class:"is-narrow",heading:this.label,icon:"sorting_arrows"})}renderOrderByList(){return 0===this.items.length?null:i("div",{class:"order-by-list"},this.items.map(((t,e)=>this.renderItem(t,e))))}renderActions(){return i("limel-button",{label:"Add Sort Field",icon:"plus_math",onClick:this.handleAddSortField})}renderItem(t,e){const r=Object.keys(t)[0]||"";return i("limebb-lime-query-order-by-item",{key:`${r}-${e}`,class:"order-by-item",platform:this.platform,context:this.context,limetype:this.limetype,item:t,onItemChange:this.handleItemChange(e)})}emitChange(){this.change.emit(this.items)}static get watchers(){return{value:[{handleValueChange:0}]}}};c.style=":host(limebb-lime-query-order-by-editor){display:flex;flex-direction:column;gap:1rem;padding:1rem 0}.header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.header h4{margin:0;font-size:1rem;font-weight:600;color:rgb(var(--contrast-1000))}.order-by-list{display:flex;flex-direction:column;gap:1rem;border:1px solid rgb(var(--contrast-300));border-radius:0.25rem;background-color:rgb(var(--contrast-50));min-height:4rem}.order-by-item{padding:0.5rem;border-radius:0.25rem;transition:background-color 0.2s}.order-by-item:hover{background-color:rgb(var(--contrast-100))}.actions{display:flex;width:100%}.summary{display:flex;justify-content:space-between;align-items:center;padding-top:0.5rem;border-top:1px solid rgb(var(--contrast-300))}.summary .count{font-size:0.875rem;font-weight:500;color:rgb(var(--contrast-900))}limel-header.is-narrow{--header-top-right-left-border-radius:0;width:calc(100% + var(--limebb-lime-query-builder-visual-mode-padding) * 2);margin-left:calc(var(--limebb-lime-query-builder-visual-mode-padding) * -1)}.empty-state{padding:0 2rem;text-align:center;color:rgb(var(--contrast-700))}";const u=["string","text","phone","integer","decimal","percent","time","date","year","quarter","month","yesno","link","user","xml","option","set","file","system"],p=u.filter((t=>"system"!==t));p.push("belongsto","hasone","hasmany","hasandbelongstomany");const b=class{constructor(i){t(this,i),this.change=e(this,"change"),this.propertyFields=[],this.fieldName="limetype",this.handleChange=t=>{t.stopPropagation();let e="";t.detail&&"value"in t.detail&&(e=t.detail.value),this.change.emit(e||void 0)}}componentWillLoad(){const t=this.platform.get(s.Application).getLanguage();this.collator=new Intl.Collator(t,{numeric:!0,sensitivity:"base"})}componentShouldUpdate(t,e,i){var r,s,o,n;return"formInfo"!==i||(o=null===(r=null==t?void 0:t.schema)||void 0===r?void 0:r.oneOf,n=null===(s=null==e?void 0:e.schema)||void 0===s?void 0:s.oneOf,!a(o,n))}render(){var t;const e=this.getLimeTypes().map(g);e.sort(((t,e)=>this.collator.compare(t.text,e.text)));let r=e.find((t=>t.value===this.value)),s=this.invalid;return this.value&&!r&&(s=!0,e.unshift({text:(null===(t=this.limeTypeRepository.getLimeType(this.value))||void 0===t?void 0:t.localname.singular)||this.value,value:this.value}),r=e[0]),e.unshift({text:"",value:""}),i("limel-select",{key:"85956ae62a4975a7706b4a561b1e321078e0dc2a",label:this.label,options:e,value:r,required:this.required,helperText:this.helperText,invalid:s,disabled:this.disabled||this.readonly,onChange:this.handleChange})}componentWillRender(){this.updatePropertyFields(this.value||"")}getLimeTypes(){var t,e;let i=this.limetypes;return(null===(e=null===(t=this.formInfo)||void 0===t?void 0:t.schema)||void 0===e?void 0:e.oneOf)&&(i=this.formInfo.schema.oneOf.map((t=>t.const)).filter(m)),i?i.map((t=>this.limeTypeRepository.getLimeType(t))).filter(n):this.limeTypeRepository.getLimeTypes()}updatePropertyFields(t){for(const e of this.propertyFields)e.limetype=t,e.allowedPropertyTypes===u&&(e.allowedPropertyTypes=p)}get limeTypeRepository(){return this.platform.get(s.LimeTypeRepository)}},g=t=>({text:t.localname.singular,value:t.name,icon:o(t)});export{c as limebb_lime_query_order_by_editor,b as limebb_limetype_field}
|
|
File without changes
|