@kirbydesign/designsystem 11.1.0 → 11.2.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/button/index.d.ts +7 -3
- package/button/index.d.ts.map +1 -1
- package/dropdown/index.d.ts +11 -3
- package/dropdown/index.d.ts.map +1 -1
- package/empty-state/index.d.ts +1 -0
- package/empty-state/index.d.ts.map +1 -1
- package/fab-sheet/index.d.ts.map +1 -1
- package/fesm2022/kirbydesign-designsystem-accordion.mjs +11 -11
- package/fesm2022/kirbydesign-designsystem-accordion.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-action-group.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-action-group.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-avatar.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-avatar.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-badge.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-badge.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-button.mjs +20 -11
- package/fesm2022/kirbydesign-designsystem-button.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-calendar.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-calendar.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-card.mjs +17 -17
- package/fesm2022/kirbydesign-designsystem-card.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-chart.mjs +22 -22
- package/fesm2022/kirbydesign-designsystem-chart.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-checkbox.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-checkbox.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-config.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-data-table.mjs +7 -7
- package/fesm2022/kirbydesign-designsystem-data-table.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-divider.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-divider.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-dropdown.mjs +145 -43
- package/fesm2022/kirbydesign-designsystem-dropdown.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-empty-state.mjs +10 -8
- package/fesm2022/kirbydesign-designsystem-empty-state.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs +5 -3
- package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-flag.mjs +5 -5
- package/fesm2022/kirbydesign-designsystem-flag.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-form-field.mjs +41 -34
- package/fesm2022/kirbydesign-designsystem-form-field.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-header.mjs +19 -19
- package/fesm2022/kirbydesign-designsystem-header.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-helpers.mjs +30 -10
- package/fesm2022/kirbydesign-designsystem-helpers.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-icon.mjs +11 -10
- package/fesm2022/kirbydesign-designsystem-icon.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-item-group.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-item-group.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-item-sliding.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-item-sliding.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-item.mjs +10 -10
- package/fesm2022/kirbydesign-designsystem-item.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-kirby-app.mjs +7 -7
- package/fesm2022/kirbydesign-designsystem-kirby-app.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-list.mjs +40 -40
- package/fesm2022/kirbydesign-designsystem-list.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs +6 -6
- package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-menu.mjs +8 -25
- package/fesm2022/kirbydesign-designsystem-menu.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-modal.mjs +45 -43
- package/fesm2022/kirbydesign-designsystem-modal.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-page.mjs +40 -40
- package/fesm2022/kirbydesign-designsystem-page.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-popover.mjs +5 -7
- package/fesm2022/kirbydesign-designsystem-popover.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-progress-circle.mjs +7 -7
- package/fesm2022/kirbydesign-designsystem-progress-circle.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-radio.mjs +10 -10
- package/fesm2022/kirbydesign-designsystem-radio.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-range.mjs +5 -5
- package/fesm2022/kirbydesign-designsystem-range.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-reorder-list.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-reorder-list.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-router-outlet.mjs +7 -7
- package/fesm2022/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-section-header.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-section-header.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-shared-floating.mjs +18 -22
- package/fesm2022/kirbydesign-designsystem-shared-floating.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-shared-portal.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-shared-portal.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-shared.mjs +18 -18
- package/fesm2022/kirbydesign-designsystem-shared.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-slide-button.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-slide-button.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-slide.mjs +13 -13
- package/fesm2022/kirbydesign-designsystem-slide.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-spinner.mjs +7 -7
- package/fesm2022/kirbydesign-designsystem-spinner.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs +10 -10
- package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-tabs.mjs +13 -13
- package/fesm2022/kirbydesign-designsystem-tabs.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing-base.mjs +286 -286
- package/fesm2022/kirbydesign-designsystem-testing-base.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing-jest.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-testing-jest.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-testing.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-toast.mjs +6 -6
- package/fesm2022/kirbydesign-designsystem-toast.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-toggle-button.mjs +7 -7
- package/fesm2022/kirbydesign-designsystem-toggle-button.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-toggle.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-toggle.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-types.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-types.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem.mjs +13 -13
- package/fesm2022/kirbydesign-designsystem.mjs.map +1 -1
- package/form-field/index.d.ts +4 -2
- package/form-field/index.d.ts.map +1 -1
- package/helpers/index.d.ts +6 -1
- package/helpers/index.d.ts.map +1 -1
- package/icon/index.d.ts.map +1 -1
- package/icons/svg/bank.svg +3 -0
- package/menu/index.d.ts +1 -3
- package/menu/index.d.ts.map +1 -1
- package/modal/index.d.ts +1 -0
- package/modal/index.d.ts.map +1 -1
- package/package.json +25 -26
- package/popover/index.d.ts +1 -0
- package/popover/index.d.ts.map +1 -1
- package/scss/components/_overlays.scss +1 -0
- package/shared/floating/index.d.ts +3 -3
- package/shared/floating/index.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kirbydesign-designsystem-helpers.mjs","sources":["../tmp-esm2022/helpers/element-ancestor-utils.js","../tmp-esm2022/helpers/content-mutation-observer.js","../tmp-esm2022/helpers/platform.service.js","../tmp-esm2022/helpers/chart-config-has-type.js","../tmp-esm2022/helpers/deep-copy.js","../tmp-esm2022/helpers/merge-deep.js","../tmp-esm2022/helpers/unique-id-generator.helper.js","../tmp-esm2022/helpers/line-clamp-helper.js","../tmp-esm2022/helpers/kirby-animation.js","../tmp-esm2022/helpers/ionic-element-part-helper.js","../tmp-esm2022/helpers/public_api.js","../tmp-esm2022/helpers/kirbydesign-designsystem-helpers.js"],"sourcesContent":["/*\n Utility function to check if a given element\n has an ancestor with a specific node name.\n\n Can be given a 'stopNodeName' to limit the search\n as to not climb all the way up through the DOM tree.\n\n Returns true when element has the ancestorNodeName\n or an ancestor has the ancestorNodeName.\n\n Returns false otherwise.\n*/\nexport const elementHasAncestor = (element, ancestorNodeName, stopNodeName) => {\n switch (element?.nodeName) {\n case undefined:\n case stopNodeName?.toUpperCase():\n return false;\n case ancestorNodeName.toUpperCase():\n return true;\n default:\n return elementHasAncestor(element.parentElement, ancestorNodeName, stopNodeName);\n }\n};\n/*\n * Utility function to find the closest ancestor modal and\n * get the element with a dialog role from within its shadow root.\n */\nexport function getIonModalDialogAncestor(currentElement) {\n const ionModalElement = currentElement.closest('ion-modal');\n const modalElementDialog = ionModalElement?.shadowRoot?.querySelector('[role=\"dialog\"]');\n return modalElementDialog;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1hbmNlc3Rvci11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlbHBlcnMvc3JjL2VsZW1lbnQtYW5jZXN0b3ItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0VBV0U7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUNoQyxPQUFvQixFQUNwQixnQkFBd0IsRUFDeEIsWUFBcUIsRUFDckIsRUFBRTtJQUNGLFFBQVEsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQzFCLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxZQUFZLEVBQUUsV0FBVyxFQUFFO1lBQzlCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsS0FBSyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUU7WUFDakMsT0FBTyxJQUFJLENBQUM7UUFDZDtZQUNFLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNyRixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUFDLGNBQTJCO0lBQ25FLE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUQsTUFBTSxrQkFBa0IsR0FBRyxlQUFlLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FDbkUsaUJBQWlCLENBQ0gsQ0FBQztJQUNqQixPQUFPLGtCQUFrQixDQUFDO0FBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBcbiAgVXRpbGl0eSBmdW5jdGlvbiB0byBjaGVjayBpZiBhIGdpdmVuIGVsZW1lbnQgXG4gIGhhcyBhbiBhbmNlc3RvciB3aXRoIGEgc3BlY2lmaWMgbm9kZSBuYW1lLiBcblxuICBDYW4gYmUgZ2l2ZW4gYSAnc3RvcE5vZGVOYW1lJyB0byBsaW1pdCB0aGUgc2VhcmNoXG4gIGFzIHRvIG5vdCBjbGltYiBhbGwgdGhlIHdheSB1cCB0aHJvdWdoIHRoZSBET00gdHJlZS4gXG5cbiAgUmV0dXJucyB0cnVlIHdoZW4gZWxlbWVudCBoYXMgdGhlIGFuY2VzdG9yTm9kZU5hbWUgXG4gIG9yIGFuIGFuY2VzdG9yIGhhcyB0aGUgYW5jZXN0b3JOb2RlTmFtZS4gXG5cbiAgUmV0dXJucyBmYWxzZSBvdGhlcndpc2UuXG4qL1xuXG5leHBvcnQgY29uc3QgZWxlbWVudEhhc0FuY2VzdG9yID0gKFxuICBlbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgYW5jZXN0b3JOb2RlTmFtZTogc3RyaW5nLFxuICBzdG9wTm9kZU5hbWU/OiBzdHJpbmdcbikgPT4ge1xuICBzd2l0Y2ggKGVsZW1lbnQ/Lm5vZGVOYW1lKSB7XG4gICAgY2FzZSB1bmRlZmluZWQ6XG4gICAgY2FzZSBzdG9wTm9kZU5hbWU/LnRvVXBwZXJDYXNlKCk6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgY2FzZSBhbmNlc3Rvck5vZGVOYW1lLnRvVXBwZXJDYXNlKCk6XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGVsZW1lbnRIYXNBbmNlc3RvcihlbGVtZW50LnBhcmVudEVsZW1lbnQsIGFuY2VzdG9yTm9kZU5hbWUsIHN0b3BOb2RlTmFtZSk7XG4gIH1cbn07XG5cbi8qXG4gKiBVdGlsaXR5IGZ1bmN0aW9uIHRvIGZpbmQgdGhlIGNsb3Nlc3QgYW5jZXN0b3IgbW9kYWwgYW5kXG4gKiBnZXQgdGhlIGVsZW1lbnQgd2l0aCBhIGRpYWxvZyByb2xlIGZyb20gd2l0aGluIGl0cyBzaGFkb3cgcm9vdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldElvbk1vZGFsRGlhbG9nQW5jZXN0b3IoY3VycmVudEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICBjb25zdCBpb25Nb2RhbEVsZW1lbnQgPSBjdXJyZW50RWxlbWVudC5jbG9zZXN0KCdpb24tbW9kYWwnKTtcbiAgY29uc3QgbW9kYWxFbGVtZW50RGlhbG9nID0gaW9uTW9kYWxFbGVtZW50Py5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKFxuICAgICdbcm9sZT1cImRpYWxvZ1wiXSdcbiAgKSBhcyBIVE1MRWxlbWVudDtcbiAgcmV0dXJuIG1vZGFsRWxlbWVudERpYWxvZztcbn1cbiJdfQ==","/* Function based on https://github.com/angular/components/blob/main/src/cdk/observers/observe-content.ts\n * Angular may add, remove, or edit comment nodes during change detection. We don't care about\n * these changes because they don't affect the user-preceived content, and worse it can cause\n * infinite change detection cycles where the change detection updates a comment, triggering the\n * MutationObserver, triggering another change detection and kicking the cycle off again. */\nfunction shouldIgnoreMutationRecord(record) {\n // Ignore changes to comment text.\n if (record.type === 'characterData' && record.target instanceof Comment) {\n return true;\n }\n // Ignore addition / removal of comments.\n if (record.type === 'childList') {\n for (let i = 0; i < record.addedNodes.length; i++) {\n if (!(record.addedNodes[i] instanceof Comment)) {\n return false;\n }\n }\n for (let i = 0; i < record.removedNodes.length; i++) {\n if (!(record.removedNodes[i] instanceof Comment)) {\n return false;\n }\n }\n return true;\n }\n // Observe everything else.\n return false;\n}\n/**\n * Creates a MutationObserver and observes content changes in a given element.\n * The provided callback is called when changes are detected.\n *\n * @returns function - an unobserve function that can be called to disconnect the created observer.\n */\nexport function observeContent(observedElement, contentChangedCallback) {\n const mutationObserver = new MutationObserver((mutations) => {\n const filteredMutations = mutations.filter((mutation) => !shouldIgnoreMutationRecord(mutation));\n if (filteredMutations.length > 0) {\n contentChangedCallback();\n }\n });\n mutationObserver.observe(observedElement, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n return () => {\n mutationObserver.disconnect();\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1tdXRhdGlvbi1vYnNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlbHBlcnMvc3JjL2NvbnRlbnQtbXV0YXRpb24tb2JzZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7NEZBSTRGO0FBQzVGLFNBQVMsMEJBQTBCLENBQUMsTUFBc0I7SUFDeEQsa0NBQWtDO0lBQ2xDLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxlQUFlLElBQUksTUFBTSxDQUFDLE1BQU0sWUFBWSxPQUFPLEVBQUUsQ0FBQztRQUN4RSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCx5Q0FBeUM7SUFDekMsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDL0MsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQztRQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3BELElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDakQsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELDJCQUEyQjtJQUMzQixPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQzVCLGVBQTRCLEVBQzVCLHNCQUFrQztJQUVsQyxNQUFNLGdCQUFnQixHQUFHLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtRQUMxRCxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsMEJBQTBCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNoRyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUU7UUFDeEMsYUFBYSxFQUFFLElBQUk7UUFDbkIsU0FBUyxFQUFFLElBQUk7UUFDZixPQUFPLEVBQUUsSUFBSTtLQUNkLENBQUMsQ0FBQztJQUVILE9BQU8sR0FBRyxFQUFFO1FBQ1YsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDaEMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVub2JzZXJ2ZUZuIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS90eXBlcyc7XG5cbi8qIEZ1bmN0aW9uIGJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYWluL3NyYy9jZGsvb2JzZXJ2ZXJzL29ic2VydmUtY29udGVudC50c1xuICogQW5ndWxhciBtYXkgYWRkLCByZW1vdmUsIG9yIGVkaXQgY29tbWVudCBub2RlcyBkdXJpbmcgY2hhbmdlIGRldGVjdGlvbi4gV2UgZG9uJ3QgY2FyZSBhYm91dFxuICogdGhlc2UgY2hhbmdlcyBiZWNhdXNlIHRoZXkgZG9uJ3QgYWZmZWN0IHRoZSB1c2VyLXByZWNlaXZlZCBjb250ZW50LCBhbmQgd29yc2UgaXQgY2FuIGNhdXNlXG4gKiBpbmZpbml0ZSBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlcyB3aGVyZSB0aGUgY2hhbmdlIGRldGVjdGlvbiB1cGRhdGVzIGEgY29tbWVudCwgdHJpZ2dlcmluZyB0aGVcbiAqIE11dGF0aW9uT2JzZXJ2ZXIsIHRyaWdnZXJpbmcgYW5vdGhlciBjaGFuZ2UgZGV0ZWN0aW9uIGFuZCBraWNraW5nIHRoZSBjeWNsZSBvZmYgYWdhaW4uICovXG5mdW5jdGlvbiBzaG91bGRJZ25vcmVNdXRhdGlvblJlY29yZChyZWNvcmQ6IE11dGF0aW9uUmVjb3JkKSB7XG4gIC8vIElnbm9yZSBjaGFuZ2VzIHRvIGNvbW1lbnQgdGV4dC5cbiAgaWYgKHJlY29yZC50eXBlID09PSAnY2hhcmFjdGVyRGF0YScgJiYgcmVjb3JkLnRhcmdldCBpbnN0YW5jZW9mIENvbW1lbnQpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZ25vcmUgYWRkaXRpb24gLyByZW1vdmFsIG9mIGNvbW1lbnRzLlxuICBpZiAocmVjb3JkLnR5cGUgPT09ICdjaGlsZExpc3QnKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZWNvcmQuYWRkZWROb2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKCEocmVjb3JkLmFkZGVkTm9kZXNbaV0gaW5zdGFuY2VvZiBDb21tZW50KSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVjb3JkLnJlbW92ZWROb2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKCEocmVjb3JkLnJlbW92ZWROb2Rlc1tpXSBpbnN0YW5jZW9mIENvbW1lbnQpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gT2JzZXJ2ZSBldmVyeXRoaW5nIGVsc2UuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgTXV0YXRpb25PYnNlcnZlciBhbmQgb2JzZXJ2ZXMgY29udGVudCBjaGFuZ2VzIGluIGEgZ2l2ZW4gZWxlbWVudC5cbiAqIFRoZSBwcm92aWRlZCBjYWxsYmFjayBpcyBjYWxsZWQgd2hlbiBjaGFuZ2VzIGFyZSBkZXRlY3RlZC5cbiAqXG4gKiBAcmV0dXJucyBmdW5jdGlvbiAtIGFuIHVub2JzZXJ2ZSBmdW5jdGlvbiB0aGF0IGNhbiBiZSBjYWxsZWQgdG8gZGlzY29ubmVjdCB0aGUgY3JlYXRlZCBvYnNlcnZlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9ic2VydmVDb250ZW50KFxuICBvYnNlcnZlZEVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICBjb250ZW50Q2hhbmdlZENhbGxiYWNrOiAoKSA9PiB2b2lkXG4pOiBVbm9ic2VydmVGbiB7XG4gIGNvbnN0IG11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zKSA9PiB7XG4gICAgY29uc3QgZmlsdGVyZWRNdXRhdGlvbnMgPSBtdXRhdGlvbnMuZmlsdGVyKChtdXRhdGlvbikgPT4gIXNob3VsZElnbm9yZU11dGF0aW9uUmVjb3JkKG11dGF0aW9uKSk7XG4gICAgaWYgKGZpbHRlcmVkTXV0YXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnRlbnRDaGFuZ2VkQ2FsbGJhY2soKTtcbiAgICB9XG4gIH0pO1xuXG4gIG11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZShvYnNlcnZlZEVsZW1lbnQsIHtcbiAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlLFxuICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICBzdWJ0cmVlOiB0cnVlLFxuICB9KTtcblxuICByZXR1cm4gKCkgPT4ge1xuICAgIG11dGF0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICB9O1xufVxuIl19","import { Injectable } from '@angular/core';\nimport { DesignTokenHelper } from './design-token-helper';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@kirbydesign/designsystem/types\";\nexport class PlatformService {\n constructor(windowRef) {\n this.windowRef = windowRef;\n }\n isTouch() {\n const isTouchDeviceQuery = '(pointer: coarse)'; // No check for `hover: none`, as Samsung Galaxy will return false on `hover: none` media query\n return this.windowRef.nativeWindow.matchMedia(isTouchDeviceQuery).matches;\n }\n isPhabletOrBigger() {\n const query = `(min-width: ${DesignTokenHelper.breakpoints.medium})`;\n return this.windowRef.nativeWindow.matchMedia(query).matches;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: PlatformService, deps: [{ token: i1.WindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: PlatformService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: PlatformService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.WindowRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlbHBlcnMvc3JjL3BsYXRmb3JtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBSzFELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQW9CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFBRyxDQUFDO0lBRTVDLE9BQU87UUFDTCxNQUFNLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDLENBQUMsK0ZBQStGO1FBQy9JLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUMsT0FBTyxDQUFDO0lBQzVFLENBQUM7SUFFRCxpQkFBaUI7UUFDZixNQUFNLEtBQUssR0FBRyxlQUFlLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUNyRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDL0QsQ0FBQztpSUFYVSxlQUFlO3FJQUFmLGVBQWUsY0FGZCxNQUFNOzsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgV2luZG93UmVmIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS90eXBlcyc7XG5pbXBvcnQgeyBEZXNpZ25Ub2tlbkhlbHBlciB9IGZyb20gJy4vZGVzaWduLXRva2VuLWhlbHBlcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQbGF0Zm9ybVNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHdpbmRvd1JlZjogV2luZG93UmVmKSB7fVxuXG4gIGlzVG91Y2goKSB7XG4gICAgY29uc3QgaXNUb3VjaERldmljZVF1ZXJ5ID0gJyhwb2ludGVyOiBjb2Fyc2UpJzsgLy8gTm8gY2hlY2sgZm9yIGBob3Zlcjogbm9uZWAsIGFzIFNhbXN1bmcgR2FsYXh5IHdpbGwgcmV0dXJuIGZhbHNlIG9uIGBob3Zlcjogbm9uZWAgbWVkaWEgcXVlcnlcbiAgICByZXR1cm4gdGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93Lm1hdGNoTWVkaWEoaXNUb3VjaERldmljZVF1ZXJ5KS5tYXRjaGVzO1xuICB9XG5cbiAgaXNQaGFibGV0T3JCaWdnZXIoKSB7XG4gICAgY29uc3QgcXVlcnkgPSBgKG1pbi13aWR0aDogJHtEZXNpZ25Ub2tlbkhlbHBlci5icmVha3BvaW50cy5tZWRpdW19KWA7XG4gICAgcmV0dXJuIHRoaXMud2luZG93UmVmLm5hdGl2ZVdpbmRvdy5tYXRjaE1lZGlhKHF1ZXJ5KS5tYXRjaGVzO1xuICB9XG59XG4iXX0=","/*\n Type guard is needed as of chart.js@3.8.1. The config type has been updated to a union type,\n and the newly added type 'ChartConfigurationCustomTypesPerDataset' does not contain the 'type' property.\n Typescript will throw an error, when trying to access a property that doesn't exist on all union types,\n unless a type guard is used.\n*/\nexport const chartConfigHasType = (config) => {\n return 'type' in config;\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtY29uZmlnLWhhcy10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vaGVscGVycy9zcmMvY2hhcnQtY29uZmlnLWhhcy10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7OztFQUtFO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FDaEMsTUFBb0UsRUFDdEMsRUFBRTtJQUNoQyxPQUFPLE1BQU0sSUFBSSxNQUFNLENBQUM7QUFDMUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhcnRDb25maWd1cmF0aW9uLCBDaGFydENvbmZpZ3VyYXRpb25DdXN0b21UeXBlc1BlckRhdGFzZXQgfSBmcm9tICdjaGFydC5qcyc7XG5cbi8qIFxuICBUeXBlIGd1YXJkIGlzIG5lZWRlZCBhcyBvZiBjaGFydC5qc0AzLjguMS4gVGhlIGNvbmZpZyB0eXBlIGhhcyBiZWVuIHVwZGF0ZWQgdG8gYSB1bmlvbiB0eXBlLCBcbiAgYW5kIHRoZSBuZXdseSBhZGRlZCB0eXBlICdDaGFydENvbmZpZ3VyYXRpb25DdXN0b21UeXBlc1BlckRhdGFzZXQnIGRvZXMgbm90IGNvbnRhaW4gdGhlICd0eXBlJyBwcm9wZXJ0eS5cbiAgVHlwZXNjcmlwdCB3aWxsIHRocm93IGFuIGVycm9yLCB3aGVuIHRyeWluZyB0byBhY2Nlc3MgYSBwcm9wZXJ0eSB0aGF0IGRvZXNuJ3QgZXhpc3Qgb24gYWxsIHVuaW9uIHR5cGVzLFxuICB1bmxlc3MgYSB0eXBlIGd1YXJkIGlzIHVzZWQuIFxuKi9cblxuZXhwb3J0IGNvbnN0IGNoYXJ0Q29uZmlnSGFzVHlwZSA9IChcbiAgY29uZmlnOiBDaGFydENvbmZpZ3VyYXRpb24gfCBDaGFydENvbmZpZ3VyYXRpb25DdXN0b21UeXBlc1BlckRhdGFzZXRcbik6IGNvbmZpZyBpcyBDaGFydENvbmZpZ3VyYXRpb24gPT4ge1xuICByZXR1cm4gJ3R5cGUnIGluIGNvbmZpZztcbn07XG4iXX0=","/*\nCopied from https://github.com/ykdr8/ts-deepcopy.\n\nMIT License\n\nCopyright (c) 2017 ykdr2017\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n */\nexport function deepCopy(tgt) {\n let cp;\n if (tgt === null) {\n cp = tgt;\n }\n else if (tgt instanceof Date) {\n cp = new Date(tgt.getTime());\n }\n else if (Array.isArray(tgt)) {\n cp = [];\n tgt.forEach((v) => {\n cp.push(v);\n });\n cp = cp.map((n) => deepCopy(n));\n }\n else if (typeof tgt === 'object') {\n cp = { ...tgt };\n Object.keys(cp).forEach((k) => {\n cp[k] = deepCopy(cp[k]);\n });\n }\n else {\n cp = tgt;\n }\n return cp;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1jb3B5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vaGVscGVycy9zcmMvZGVlcC1jb3B5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFLLEdBQU87SUFDbEMsSUFBSSxFQUFNLENBQUM7SUFDWCxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNqQixFQUFFLEdBQUcsR0FBRyxDQUFDO0lBQ1gsQ0FBQztTQUFNLElBQUksR0FBRyxZQUFZLElBQUksRUFBRSxDQUFDO1FBQy9CLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBRSxHQUFXLENBQUMsT0FBTyxFQUFFLENBQVEsQ0FBQztJQUMvQyxDQUFDO1NBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDOUIsRUFBRSxHQUFHLEVBQVMsQ0FBQztRQUNkLEdBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMxQixFQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxHQUFJLEVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7U0FBTSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25DLEVBQUUsR0FBRyxFQUFFLEdBQUksR0FBVSxFQUFRLENBQUM7UUFDOUIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMzQixFQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFPLEVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztTQUFNLENBQUM7UUFDTixFQUFFLEdBQUcsR0FBRyxDQUFDO0lBQ1gsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3BpZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20veWtkcjgvdHMtZGVlcGNvcHkuXG5cbk1JVCBMaWNlbnNlXG5cbkNvcHlyaWdodCAoYykgMjAxNyB5a2RyMjAxN1xuXG5QZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG5vZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG5pbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG50byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG5jb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbmZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG5cblRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG5GSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbkFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbkxJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG5PVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuU09GVFdBUkUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWVwQ29weTxUcD4odGd0OiBUcCk6IFRwIHtcbiAgbGV0IGNwOiBUcDtcbiAgaWYgKHRndCA9PT0gbnVsbCkge1xuICAgIGNwID0gdGd0O1xuICB9IGVsc2UgaWYgKHRndCBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICBjcCA9IG5ldyBEYXRlKCh0Z3QgYXMgYW55KS5nZXRUaW1lKCkpIGFzIGFueTtcbiAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRndCkpIHtcbiAgICBjcCA9IFtdIGFzIGFueTtcbiAgICAodGd0IGFzIGFueVtdKS5mb3JFYWNoKCh2KSA9PiB7XG4gICAgICAoY3AgYXMgYW55KS5wdXNoKHYpO1xuICAgIH0pO1xuICAgIGNwID0gKGNwIGFzIGFueSkubWFwKChuOiBhbnkpID0+IGRlZXBDb3B5PGFueT4obikpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiB0Z3QgPT09ICdvYmplY3QnKSB7XG4gICAgY3AgPSB7IC4uLih0Z3QgYXMgVHApIH0gYXMgVHA7XG4gICAgT2JqZWN0LmtleXMoY3ApLmZvckVhY2goKGspID0+IHtcbiAgICAgIChjcCBhcyBhbnkpW2tdID0gZGVlcENvcHk8YW55PigoY3AgYXMgYW55KVtrXSk7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgY3AgPSB0Z3Q7XG4gIH1cbiAgcmV0dXJuIGNwO1xufVxuIl19","/**\n * Performs a deep merge of objects and returns new object. Does not modify\n * objects (immutable).\n * It merges from into object to the left\n * eg. mergeDeep({a: 'will be overridden', b: 'some val'}, {a: 'new val'}) => {a: 'new val', b: 'some val'}\n *\n * @param originalObject object - Object to override,\n * @param overrideObject object - Object to override \"toOverride\" values with\n * @param config object - Configuration for how to merge.\n * mergeArrays determines if it should merge or override arrays\n * @returns object - New object with merged key/values\n */\nexport function mergeDeep(originalObject, overrideObject, config = { mergeArrays: false }) {\n const isObject = (obj) => obj && typeof obj === 'object';\n return [originalObject, overrideObject].reduce((mergedObject, obj) => {\n Object.keys(obj).forEach((key) => {\n const mergedObjectValue = mergedObject[key];\n const overrideObjectValue = obj[key];\n if (Array.isArray(mergedObjectValue) && Array.isArray(overrideObjectValue)) {\n mergedObject[key] = config.mergeArrays\n ? mergedObjectValue.concat(overrideObjectValue)\n : overrideObjectValue;\n }\n else if (isObject(mergedObjectValue) && isObject(overrideObjectValue)) {\n mergedObject[key] = mergeDeep(mergedObjectValue, overrideObjectValue);\n }\n else {\n mergedObject[key] = overrideObjectValue;\n }\n });\n return mergedObject;\n }, {});\n}\nexport function mergeDeepAll(...objects) {\n const objectsWithoutUndefined = objects.filter((object) => object !== undefined);\n return objectsWithoutUndefined.reduce((originalObject, overrideObject) => mergeDeep(originalObject, overrideObject));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UtZGVlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlbHBlcnMvc3JjL21lcmdlLWRlZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxHQUFHLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRTtJQUN2RixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQztJQUV6RCxPQUFPLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNuRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQy9CLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRXJDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO2dCQUMzRSxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLFdBQVc7b0JBQ3BDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUM7b0JBQy9DLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztZQUMxQixDQUFDO2lCQUFNLElBQUksUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUksUUFBUSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztnQkFDeEUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3hFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsbUJBQW1CLENBQUM7WUFDMUMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsR0FBRyxPQUFpQjtJQUMvQyxNQUFNLHVCQUF1QixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQztJQUNqRixPQUFPLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsRUFBRSxDQUN2RSxTQUFTLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUMxQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUGVyZm9ybXMgYSBkZWVwIG1lcmdlIG9mIG9iamVjdHMgYW5kIHJldHVybnMgbmV3IG9iamVjdC4gRG9lcyBub3QgbW9kaWZ5XG4gKiBvYmplY3RzIChpbW11dGFibGUpLlxuICogSXQgbWVyZ2VzIGZyb20gaW50byBvYmplY3QgdG8gdGhlIGxlZnRcbiAqICBlZy4gbWVyZ2VEZWVwKHthOiAnd2lsbCBiZSBvdmVycmlkZGVuJywgYjogJ3NvbWUgdmFsJ30sIHthOiAnbmV3IHZhbCd9KSA9PiAge2E6ICduZXcgdmFsJywgYjogJ3NvbWUgdmFsJ31cbiAqXG4gKiBAcGFyYW0gb3JpZ2luYWxPYmplY3Qgb2JqZWN0IC0gT2JqZWN0IHRvIG92ZXJyaWRlLFxuICogQHBhcmFtIG92ZXJyaWRlT2JqZWN0IG9iamVjdCAtIE9iamVjdCB0byBvdmVycmlkZSBcInRvT3ZlcnJpZGVcIiB2YWx1ZXMgd2l0aFxuICogQHBhcmFtIGNvbmZpZyBvYmplY3QgLSBDb25maWd1cmF0aW9uIGZvciBob3cgdG8gbWVyZ2UuXG4gKiAgbWVyZ2VBcnJheXMgZGV0ZXJtaW5lcyBpZiBpdCBzaG91bGQgbWVyZ2Ugb3Igb3ZlcnJpZGUgYXJyYXlzXG4gKiBAcmV0dXJucyBvYmplY3QgLSBOZXcgb2JqZWN0IHdpdGggbWVyZ2VkIGtleS92YWx1ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRGVlcChvcmlnaW5hbE9iamVjdCwgb3ZlcnJpZGVPYmplY3QsIGNvbmZpZyA9IHsgbWVyZ2VBcnJheXM6IGZhbHNlIH0pIHtcbiAgY29uc3QgaXNPYmplY3QgPSAob2JqKSA9PiBvYmogJiYgdHlwZW9mIG9iaiA9PT0gJ29iamVjdCc7XG5cbiAgcmV0dXJuIFtvcmlnaW5hbE9iamVjdCwgb3ZlcnJpZGVPYmplY3RdLnJlZHVjZSgobWVyZ2VkT2JqZWN0LCBvYmopID0+IHtcbiAgICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgbWVyZ2VkT2JqZWN0VmFsdWUgPSBtZXJnZWRPYmplY3Rba2V5XTtcbiAgICAgIGNvbnN0IG92ZXJyaWRlT2JqZWN0VmFsdWUgPSBvYmpba2V5XTtcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkobWVyZ2VkT2JqZWN0VmFsdWUpICYmIEFycmF5LmlzQXJyYXkob3ZlcnJpZGVPYmplY3RWYWx1ZSkpIHtcbiAgICAgICAgbWVyZ2VkT2JqZWN0W2tleV0gPSBjb25maWcubWVyZ2VBcnJheXNcbiAgICAgICAgICA/IG1lcmdlZE9iamVjdFZhbHVlLmNvbmNhdChvdmVycmlkZU9iamVjdFZhbHVlKVxuICAgICAgICAgIDogb3ZlcnJpZGVPYmplY3RWYWx1ZTtcbiAgICAgIH0gZWxzZSBpZiAoaXNPYmplY3QobWVyZ2VkT2JqZWN0VmFsdWUpICYmIGlzT2JqZWN0KG92ZXJyaWRlT2JqZWN0VmFsdWUpKSB7XG4gICAgICAgIG1lcmdlZE9iamVjdFtrZXldID0gbWVyZ2VEZWVwKG1lcmdlZE9iamVjdFZhbHVlLCBvdmVycmlkZU9iamVjdFZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lcmdlZE9iamVjdFtrZXldID0gb3ZlcnJpZGVPYmplY3RWYWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBtZXJnZWRPYmplY3Q7XG4gIH0sIHt9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRGVlcEFsbCguLi5vYmplY3RzOiBvYmplY3RbXSk6IG9iamVjdCB7XG4gIGNvbnN0IG9iamVjdHNXaXRob3V0VW5kZWZpbmVkID0gb2JqZWN0cy5maWx0ZXIoKG9iamVjdCkgPT4gb2JqZWN0ICE9PSB1bmRlZmluZWQpO1xuICByZXR1cm4gb2JqZWN0c1dpdGhvdXRVbmRlZmluZWQucmVkdWNlKChvcmlnaW5hbE9iamVjdCwgb3ZlcnJpZGVPYmplY3QpID0+XG4gICAgbWVyZ2VEZWVwKG9yaWdpbmFsT2JqZWN0LCBvdmVycmlkZU9iamVjdClcbiAgKTtcbn1cbiJdfQ==","export class UniqueIdGenerator {\n static { this.registry = new Map(); }\n constructor(scope) {\n this.scope = scope;\n this.id = 0;\n }\n static scopedTo(scope) {\n let scopedGenerator = UniqueIdGenerator.registry.get(scope);\n if (!scopedGenerator) {\n scopedGenerator = new UniqueIdGenerator(scope);\n UniqueIdGenerator.registry.set(scope, scopedGenerator);\n }\n return scopedGenerator;\n }\n next() {\n return `${this.scope}-${this.id++}`;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcXVlLWlkLWdlbmVyYXRvci5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9oZWxwZXJzL3NyYy91bmlxdWUtaWQtZ2VuZXJhdG9yLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8saUJBQWlCO2FBQ2IsYUFBUSxHQUFHLElBQUksR0FBRyxFQUE2QixBQUF2QyxDQUF3QztJQUcvRCxZQUE0QixLQUFhO1FBQWIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUZqQyxPQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRTZCLENBQUM7SUFFN0MsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFhO1FBQzNCLElBQUksZUFBZSxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3JCLGVBQWUsR0FBRyxJQUFJLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9DLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSTtRQUNGLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVW5pcXVlSWRHZW5lcmF0b3Ige1xuICBwcml2YXRlIHN0YXRpYyByZWdpc3RyeSA9IG5ldyBNYXA8c3RyaW5nLCBVbmlxdWVJZEdlbmVyYXRvcj4oKTtcbiAgcHJpdmF0ZSBpZCA9IDA7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihwcml2YXRlIHNjb3BlOiBzdHJpbmcpIHt9XG5cbiAgc3RhdGljIHNjb3BlZFRvKHNjb3BlOiBzdHJpbmcpIHtcbiAgICBsZXQgc2NvcGVkR2VuZXJhdG9yID0gVW5pcXVlSWRHZW5lcmF0b3IucmVnaXN0cnkuZ2V0KHNjb3BlKTtcbiAgICBpZiAoIXNjb3BlZEdlbmVyYXRvcikge1xuICAgICAgc2NvcGVkR2VuZXJhdG9yID0gbmV3IFVuaXF1ZUlkR2VuZXJhdG9yKHNjb3BlKTtcbiAgICAgIFVuaXF1ZUlkR2VuZXJhdG9yLnJlZ2lzdHJ5LnNldChzY29wZSwgc2NvcGVkR2VuZXJhdG9yKTtcbiAgICB9XG4gICAgcmV0dXJuIHNjb3BlZEdlbmVyYXRvcjtcbiAgfVxuXG4gIG5leHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zY29wZX0tJHt0aGlzLmlkKyt9YDtcbiAgfVxufVxuIl19","import { Injectable, RendererStyleFlags2 } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nconst config = Object.freeze({\n className: 'kirby-line-clamp',\n lineClamp: '--line-clamp',\n lineHeight: '--line-height',\n});\nexport class LineClampHelper {\n constructor(renderer) {\n this.renderer = renderer;\n }\n setMaxLines(element, maxLines) {\n this.renderer.setStyle(element, config.lineClamp, maxLines, RendererStyleFlags2.DashCase);\n this.renderer.addClass(element, config.className);\n }\n setLineHeight(element, lineHeight) {\n // Only necessary for the fallback solution to work\n this.renderer.setStyle(element, config.lineHeight, lineHeight, RendererStyleFlags2.DashCase);\n }\n removeLineClamp(element) {\n this.renderer.removeClass(element, config.className);\n this.renderer.removeStyle(element, config.lineClamp);\n this.renderer.removeStyle(element, config.lineHeight);\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: LineClampHelper, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: LineClampHelper }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: LineClampHelper, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.Renderer2 }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1jbGFtcC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9oZWxwZXJzL3NyYy9saW5lLWNsYW1wLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUzRSxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzNCLFNBQVMsRUFBRSxrQkFBa0I7SUFDN0IsU0FBUyxFQUFFLGNBQWM7SUFDekIsVUFBVSxFQUFFLGVBQWU7Q0FDNUIsQ0FBQyxDQUFDO0FBR0gsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFBb0IsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUFHLENBQUM7SUFFM0MsV0FBVyxDQUFDLE9BQWdCLEVBQUUsUUFBZ0I7UUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFnQixFQUFFLFVBQWtCO1FBQ2hELG1EQUFtRDtRQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFnQjtRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4RCxDQUFDO2lJQWpCVSxlQUFlO3FJQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBSZW5kZXJlcjIsIFJlbmRlcmVyU3R5bGVGbGFnczIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3QgY29uZmlnID0gT2JqZWN0LmZyZWV6ZSh7XG4gIGNsYXNzTmFtZTogJ2tpcmJ5LWxpbmUtY2xhbXAnLFxuICBsaW5lQ2xhbXA6ICctLWxpbmUtY2xhbXAnLFxuICBsaW5lSGVpZ2h0OiAnLS1saW5lLWhlaWdodCcsXG59KTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExpbmVDbGFtcEhlbHBlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBzZXRNYXhMaW5lcyhlbGVtZW50OiBFbGVtZW50LCBtYXhMaW5lczogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCBjb25maWcubGluZUNsYW1wLCBtYXhMaW5lcywgUmVuZGVyZXJTdHlsZUZsYWdzMi5EYXNoQ2FzZSk7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhlbGVtZW50LCBjb25maWcuY2xhc3NOYW1lKTtcbiAgfVxuXG4gIHNldExpbmVIZWlnaHQoZWxlbWVudDogRWxlbWVudCwgbGluZUhlaWdodDogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gT25seSBuZWNlc3NhcnkgZm9yIHRoZSBmYWxsYmFjayBzb2x1dGlvbiB0byB3b3JrXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCBjb25maWcubGluZUhlaWdodCwgbGluZUhlaWdodCwgUmVuZGVyZXJTdHlsZUZsYWdzMi5EYXNoQ2FzZSk7XG4gIH1cblxuICByZW1vdmVMaW5lQ2xhbXAoZWxlbWVudDogRWxlbWVudCkge1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoZWxlbWVudCwgY29uZmlnLmNsYXNzTmFtZSk7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShlbGVtZW50LCBjb25maWcubGluZUNsYW1wKTtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKGVsZW1lbnQsIGNvbmZpZy5saW5lSGVpZ2h0KTtcbiAgfVxufVxuIl19","/* eslint-disable @typescript-eslint/no-namespace */\nimport { DesignTokenHelper } from './design-token-helper';\nexport var KirbyAnimation;\n(function (KirbyAnimation) {\n let Duration;\n (function (Duration) {\n // Duration in milliseconds\n Duration[Duration[\"QUICK\"] = parseInt(DesignTokenHelper.transitionDuration('quick'))] = \"QUICK\";\n Duration[Duration[\"SHORT\"] = parseInt(DesignTokenHelper.transitionDuration('short'))] = \"SHORT\";\n Duration[Duration[\"LONG\"] = parseInt(DesignTokenHelper.transitionDuration('long'))] = \"LONG\";\n Duration[Duration[\"EXTRA_LONG\"] = parseInt(DesignTokenHelper.transitionDuration('extraLong'))] = \"EXTRA_LONG\";\n })(Duration = KirbyAnimation.Duration || (KirbyAnimation.Duration = {}));\n KirbyAnimation.Easing = DesignTokenHelper.transitionEasings();\n})(KirbyAnimation || (KirbyAnimation = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2lyYnktYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vaGVscGVycy9zcmMva2lyYnktYW5pbWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9EQUFvRDtBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxNQUFNLEtBQVcsY0FBYyxDQVM5QjtBQVRELFdBQWlCLGNBQWM7SUFDN0IsSUFBWSxRQU1YO0lBTkQsV0FBWSxRQUFRO1FBQ2xCLDJCQUEyQjtRQUMzQiw2QkFBUSxRQUFRLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBQSxDQUFBO1FBQy9ELDZCQUFRLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFBLENBQUE7UUFDL0QsNEJBQU8sUUFBUSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQUEsQ0FBQTtRQUM3RCxrQ0FBYSxRQUFRLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUMsZ0JBQUEsQ0FBQTtJQUMxRSxDQUFDLEVBTlcsUUFBUSxHQUFSLHVCQUFRLEtBQVIsdUJBQVEsUUFNbkI7SUFDWSxxQkFBTSxHQUFHLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFLENBQUM7QUFDOUQsQ0FBQyxFQVRnQixjQUFjLEtBQWQsY0FBYyxRQVM5QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2UgKi9cbmltcG9ydCB7IERlc2lnblRva2VuSGVscGVyIH0gZnJvbSAnLi9kZXNpZ24tdG9rZW4taGVscGVyJztcblxuZXhwb3J0IG5hbWVzcGFjZSBLaXJieUFuaW1hdGlvbiB7XG4gIGV4cG9ydCBlbnVtIER1cmF0aW9uIHtcbiAgICAvLyBEdXJhdGlvbiBpbiBtaWxsaXNlY29uZHNcbiAgICBRVUlDSyA9IHBhcnNlSW50KERlc2lnblRva2VuSGVscGVyLnRyYW5zaXRpb25EdXJhdGlvbigncXVpY2snKSksXG4gICAgU0hPUlQgPSBwYXJzZUludChEZXNpZ25Ub2tlbkhlbHBlci50cmFuc2l0aW9uRHVyYXRpb24oJ3Nob3J0JykpLFxuICAgIExPTkcgPSBwYXJzZUludChEZXNpZ25Ub2tlbkhlbHBlci50cmFuc2l0aW9uRHVyYXRpb24oJ2xvbmcnKSksXG4gICAgRVhUUkFfTE9ORyA9IHBhcnNlSW50KERlc2lnblRva2VuSGVscGVyLnRyYW5zaXRpb25EdXJhdGlvbignZXh0cmFMb25nJykpLFxuICB9XG4gIGV4cG9ydCBjb25zdCBFYXNpbmcgPSBEZXNpZ25Ub2tlbkhlbHBlci50cmFuc2l0aW9uRWFzaW5ncygpO1xufVxuIl19","import { Injectable } from '@angular/core';\nimport { componentOnReady } from '@ionic/core';\nimport * as i0 from \"@angular/core\";\nexport class IonicElementPartHelper {\n constructor(renderer) {\n this.renderer = renderer;\n }\n async setPart(partName, ionicElementRef, selector) {\n // Ensure custom element has been defined and rendered\n await customElements.whenDefined(ionicElementRef.nativeElement.localName);\n const customElement = await new Promise((resolve) => {\n componentOnReady(ionicElementRef.nativeElement, (element) => resolve(element));\n });\n const partElement = customElement.shadowRoot.querySelector(selector);\n if (!partElement)\n return;\n this.renderer.setAttribute(partElement, 'part', partName);\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: IonicElementPartHelper, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: IonicElementPartHelper }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: IonicElementPartHelper, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.Renderer2 }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uaWMtZWxlbWVudC1wYXJ0LWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlbHBlcnMvc3JjL2lvbmljLWVsZW1lbnQtcGFydC1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBRy9DLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFBb0IsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUFHLENBQUM7SUFFcEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFnQixFQUFFLGVBQTJCLEVBQUUsUUFBZ0I7UUFDbEYsc0RBQXNEO1FBQ3RELE1BQU0sY0FBYyxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxPQUFPLENBQWMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUMvRCxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNqRixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sV0FBVyxHQUFnQixhQUFhLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRixJQUFJLENBQUMsV0FBVztZQUFFLE9BQU87UUFFekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM1RCxDQUFDO2lJQWRVLHNCQUFzQjtxSUFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb21wb25lbnRPblJlYWR5IH0gZnJvbSAnQGlvbmljL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSW9uaWNFbGVtZW50UGFydEhlbHBlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBwdWJsaWMgYXN5bmMgc2V0UGFydChwYXJ0TmFtZTogc3RyaW5nLCBpb25pY0VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHNlbGVjdG9yOiBzdHJpbmcpIHtcbiAgICAvLyBFbnN1cmUgY3VzdG9tIGVsZW1lbnQgaGFzIGJlZW4gZGVmaW5lZCBhbmQgcmVuZGVyZWRcbiAgICBhd2FpdCBjdXN0b21FbGVtZW50cy53aGVuRGVmaW5lZChpb25pY0VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5sb2NhbE5hbWUpO1xuICAgIGNvbnN0IGN1c3RvbUVsZW1lbnQgPSBhd2FpdCBuZXcgUHJvbWlzZTxIVE1MRWxlbWVudD4oKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbXBvbmVudE9uUmVhZHkoaW9uaWNFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIChlbGVtZW50KSA9PiByZXNvbHZlKGVsZW1lbnQpKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHBhcnRFbGVtZW50OiBIVE1MRWxlbWVudCA9IGN1c3RvbUVsZW1lbnQuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcbiAgICBpZiAoIXBhcnRFbGVtZW50KSByZXR1cm47XG5cbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXJ0RWxlbWVudCwgJ3BhcnQnLCBwYXJ0TmFtZSk7XG4gIH1cbn1cbiJdfQ==","// re-export helpers from core, to preserve backwards compatability\n// of 'designsystem' library\nexport * from './element-ancestor-utils';\nexport * from './color-helper';\nexport * from './content-mutation-observer';\nexport * from './design-token-helper';\nexport * from './string-helper';\nexport * from './theme-color.type';\nexport * from './platform.service';\nexport * from './chart-config-has-type';\nexport * from './deep-copy';\nexport * from './merge-deep';\nexport * from './unique-id-generator.helper';\nexport * from './line-clamp-helper';\nexport * from './kirby-animation';\nexport * from './ionic-element-part-helper';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlbHBlcnMvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUVBQW1FO0FBQ25FLDRCQUE0QjtBQUM1QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHJlLWV4cG9ydCBoZWxwZXJzIGZyb20gY29yZSwgdG8gcHJlc2VydmUgYmFja3dhcmRzIGNvbXBhdGFiaWxpdHlcbi8vIG9mICdkZXNpZ25zeXN0ZW0nIGxpYnJhcnlcbmV4cG9ydCAqIGZyb20gJy4vZWxlbWVudC1hbmNlc3Rvci11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbG9yLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRlbnQtbXV0YXRpb24tb2JzZXJ2ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kZXNpZ24tdG9rZW4taGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc3RyaW5nLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL3RoZW1lLWNvbG9yLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wbGF0Zm9ybS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQtY29uZmlnLWhhcy10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZGVlcC1jb3B5JztcbmV4cG9ydCAqIGZyb20gJy4vbWVyZ2UtZGVlcCc7XG5leHBvcnQgKiBmcm9tICcuL3VuaXF1ZS1pZC1nZW5lcmF0b3IuaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGluZS1jbGFtcC1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9raXJieS1hbmltYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9pb25pYy1lbGVtZW50LXBhcnQtaGVscGVyJztcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public_api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2lyYnlkZXNpZ24tZGVzaWduc3lzdGVtLWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9oZWxwZXJzL3NyYy9raXJieWRlc2lnbi1kZXNpZ25zeXN0ZW0taGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kirbydesign-designsystem-helpers.mjs","sources":["../tmp-esm2022/helpers/element-ancestor-utils.js","../tmp-esm2022/helpers/content-mutation-observer.js","../tmp-esm2022/helpers/platform.service.js","../tmp-esm2022/helpers/chart-config-has-type.js","../tmp-esm2022/helpers/deep-copy.js","../tmp-esm2022/helpers/merge-deep.js","../tmp-esm2022/helpers/unique-id-generator.helper.js","../tmp-esm2022/helpers/string-search.helper.js","../tmp-esm2022/helpers/line-clamp-helper.js","../tmp-esm2022/helpers/kirby-animation.js","../tmp-esm2022/helpers/ionic-element-part-helper.js","../tmp-esm2022/helpers/public_api.js","../tmp-esm2022/helpers/kirbydesign-designsystem-helpers.js"],"sourcesContent":["/*\n Utility function to check if a given element\n has an ancestor with a specific node name.\n\n Can be given a 'stopNodeName' to limit the search\n as to not climb all the way up through the DOM tree.\n\n Returns true when element has the ancestorNodeName\n or an ancestor has the ancestorNodeName.\n\n Returns false otherwise.\n*/\nexport const elementHasAncestor = (element, ancestorNodeName, stopNodeName) => {\n switch (element?.nodeName) {\n case undefined:\n case stopNodeName?.toUpperCase():\n return false;\n case ancestorNodeName.toUpperCase():\n return true;\n default:\n return elementHasAncestor(element.parentElement, ancestorNodeName, stopNodeName);\n }\n};\n/*\n * Utility function to find the closest ancestor modal and\n * get the element with a dialog role from within its shadow root.\n */\nexport function getIonModalDialogAncestor(currentElement) {\n const ionModalElement = currentElement.closest('ion-modal');\n const modalElementDialog = ionModalElement?.shadowRoot?.querySelector('[role=\"dialog\"]');\n return modalElementDialog;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1hbmNlc3Rvci11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlbHBlcnMvc3JjL2VsZW1lbnQtYW5jZXN0b3ItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0VBV0U7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUNoQyxPQUFvQixFQUNwQixnQkFBd0IsRUFDeEIsWUFBcUIsRUFDckIsRUFBRTtJQUNGLFFBQVEsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQzFCLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxZQUFZLEVBQUUsV0FBVyxFQUFFO1lBQzlCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsS0FBSyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUU7WUFDakMsT0FBTyxJQUFJLENBQUM7UUFDZDtZQUNFLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNyRixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUFDLGNBQTJCO0lBQ25FLE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUQsTUFBTSxrQkFBa0IsR0FBRyxlQUFlLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FDbkUsaUJBQWlCLENBQ0gsQ0FBQztJQUNqQixPQUFPLGtCQUFrQixDQUFDO0FBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBcbiAgVXRpbGl0eSBmdW5jdGlvbiB0byBjaGVjayBpZiBhIGdpdmVuIGVsZW1lbnQgXG4gIGhhcyBhbiBhbmNlc3RvciB3aXRoIGEgc3BlY2lmaWMgbm9kZSBuYW1lLiBcblxuICBDYW4gYmUgZ2l2ZW4gYSAnc3RvcE5vZGVOYW1lJyB0byBsaW1pdCB0aGUgc2VhcmNoXG4gIGFzIHRvIG5vdCBjbGltYiBhbGwgdGhlIHdheSB1cCB0aHJvdWdoIHRoZSBET00gdHJlZS4gXG5cbiAgUmV0dXJucyB0cnVlIHdoZW4gZWxlbWVudCBoYXMgdGhlIGFuY2VzdG9yTm9kZU5hbWUgXG4gIG9yIGFuIGFuY2VzdG9yIGhhcyB0aGUgYW5jZXN0b3JOb2RlTmFtZS4gXG5cbiAgUmV0dXJucyBmYWxzZSBvdGhlcndpc2UuXG4qL1xuXG5leHBvcnQgY29uc3QgZWxlbWVudEhhc0FuY2VzdG9yID0gKFxuICBlbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgYW5jZXN0b3JOb2RlTmFtZTogc3RyaW5nLFxuICBzdG9wTm9kZU5hbWU/OiBzdHJpbmdcbikgPT4ge1xuICBzd2l0Y2ggKGVsZW1lbnQ/Lm5vZGVOYW1lKSB7XG4gICAgY2FzZSB1bmRlZmluZWQ6XG4gICAgY2FzZSBzdG9wTm9kZU5hbWU/LnRvVXBwZXJDYXNlKCk6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgY2FzZSBhbmNlc3Rvck5vZGVOYW1lLnRvVXBwZXJDYXNlKCk6XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGVsZW1lbnRIYXNBbmNlc3RvcihlbGVtZW50LnBhcmVudEVsZW1lbnQsIGFuY2VzdG9yTm9kZU5hbWUsIHN0b3BOb2RlTmFtZSk7XG4gIH1cbn07XG5cbi8qXG4gKiBVdGlsaXR5IGZ1bmN0aW9uIHRvIGZpbmQgdGhlIGNsb3Nlc3QgYW5jZXN0b3IgbW9kYWwgYW5kXG4gKiBnZXQgdGhlIGVsZW1lbnQgd2l0aCBhIGRpYWxvZyByb2xlIGZyb20gd2l0aGluIGl0cyBzaGFkb3cgcm9vdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldElvbk1vZGFsRGlhbG9nQW5jZXN0b3IoY3VycmVudEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICBjb25zdCBpb25Nb2RhbEVsZW1lbnQgPSBjdXJyZW50RWxlbWVudC5jbG9zZXN0KCdpb24tbW9kYWwnKTtcbiAgY29uc3QgbW9kYWxFbGVtZW50RGlhbG9nID0gaW9uTW9kYWxFbGVtZW50Py5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKFxuICAgICdbcm9sZT1cImRpYWxvZ1wiXSdcbiAgKSBhcyBIVE1MRWxlbWVudDtcbiAgcmV0dXJuIG1vZGFsRWxlbWVudERpYWxvZztcbn1cbiJdfQ==","/* Function based on https://github.com/angular/components/blob/main/src/cdk/observers/observe-content.ts\n * Angular may add, remove, or edit comment nodes during change detection. We don't care about\n * these changes because they don't affect the user-preceived content, and worse it can cause\n * infinite change detection cycles where the change detection updates a comment, triggering the\n * MutationObserver, triggering another change detection and kicking the cycle off again. */\nfunction shouldIgnoreMutationRecord(record) {\n // Ignore changes to comment text.\n if (record.type === 'characterData' && record.target instanceof Comment) {\n return true;\n }\n // Ignore addition / removal of comments.\n if (record.type === 'childList') {\n for (let i = 0; i < record.addedNodes.length; i++) {\n if (!(record.addedNodes[i] instanceof Comment)) {\n return false;\n }\n }\n for (let i = 0; i < record.removedNodes.length; i++) {\n if (!(record.removedNodes[i] instanceof Comment)) {\n return false;\n }\n }\n return true;\n }\n // Observe everything else.\n return false;\n}\n/**\n * Creates a MutationObserver and observes content changes in a given element.\n * The provided callback is called when changes are detected.\n *\n * @returns function - an unobserve function that can be called to disconnect the created observer.\n */\nexport function observeContent(observedElement, contentChangedCallback) {\n const mutationObserver = new MutationObserver((mutations) => {\n const filteredMutations = mutations.filter((mutation) => !shouldIgnoreMutationRecord(mutation));\n if (filteredMutations.length > 0) {\n contentChangedCallback();\n }\n });\n mutationObserver.observe(observedElement, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n return () => {\n mutationObserver.disconnect();\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1tdXRhdGlvbi1vYnNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlbHBlcnMvc3JjL2NvbnRlbnQtbXV0YXRpb24tb2JzZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7NEZBSTRGO0FBQzVGLFNBQVMsMEJBQTBCLENBQUMsTUFBc0I7SUFDeEQsa0NBQWtDO0lBQ2xDLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxlQUFlLElBQUksTUFBTSxDQUFDLE1BQU0sWUFBWSxPQUFPLEVBQUUsQ0FBQztRQUN4RSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCx5Q0FBeUM7SUFDekMsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDL0MsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQztRQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3BELElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDakQsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELDJCQUEyQjtJQUMzQixPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQzVCLGVBQTRCLEVBQzVCLHNCQUFrQztJQUVsQyxNQUFNLGdCQUFnQixHQUFHLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtRQUMxRCxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsMEJBQTBCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNoRyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUU7UUFDeEMsYUFBYSxFQUFFLElBQUk7UUFDbkIsU0FBUyxFQUFFLElBQUk7UUFDZixPQUFPLEVBQUUsSUFBSTtLQUNkLENBQUMsQ0FBQztJQUVILE9BQU8sR0FBRyxFQUFFO1FBQ1YsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDaEMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVub2JzZXJ2ZUZuIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS90eXBlcyc7XG5cbi8qIEZ1bmN0aW9uIGJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYWluL3NyYy9jZGsvb2JzZXJ2ZXJzL29ic2VydmUtY29udGVudC50c1xuICogQW5ndWxhciBtYXkgYWRkLCByZW1vdmUsIG9yIGVkaXQgY29tbWVudCBub2RlcyBkdXJpbmcgY2hhbmdlIGRldGVjdGlvbi4gV2UgZG9uJ3QgY2FyZSBhYm91dFxuICogdGhlc2UgY2hhbmdlcyBiZWNhdXNlIHRoZXkgZG9uJ3QgYWZmZWN0IHRoZSB1c2VyLXByZWNlaXZlZCBjb250ZW50LCBhbmQgd29yc2UgaXQgY2FuIGNhdXNlXG4gKiBpbmZpbml0ZSBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlcyB3aGVyZSB0aGUgY2hhbmdlIGRldGVjdGlvbiB1cGRhdGVzIGEgY29tbWVudCwgdHJpZ2dlcmluZyB0aGVcbiAqIE11dGF0aW9uT2JzZXJ2ZXIsIHRyaWdnZXJpbmcgYW5vdGhlciBjaGFuZ2UgZGV0ZWN0aW9uIGFuZCBraWNraW5nIHRoZSBjeWNsZSBvZmYgYWdhaW4uICovXG5mdW5jdGlvbiBzaG91bGRJZ25vcmVNdXRhdGlvblJlY29yZChyZWNvcmQ6IE11dGF0aW9uUmVjb3JkKSB7XG4gIC8vIElnbm9yZSBjaGFuZ2VzIHRvIGNvbW1lbnQgdGV4dC5cbiAgaWYgKHJlY29yZC50eXBlID09PSAnY2hhcmFjdGVyRGF0YScgJiYgcmVjb3JkLnRhcmdldCBpbnN0YW5jZW9mIENvbW1lbnQpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZ25vcmUgYWRkaXRpb24gLyByZW1vdmFsIG9mIGNvbW1lbnRzLlxuICBpZiAocmVjb3JkLnR5cGUgPT09ICdjaGlsZExpc3QnKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZWNvcmQuYWRkZWROb2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKCEocmVjb3JkLmFkZGVkTm9kZXNbaV0gaW5zdGFuY2VvZiBDb21tZW50KSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVjb3JkLnJlbW92ZWROb2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKCEocmVjb3JkLnJlbW92ZWROb2Rlc1tpXSBpbnN0YW5jZW9mIENvbW1lbnQpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gT2JzZXJ2ZSBldmVyeXRoaW5nIGVsc2UuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgTXV0YXRpb25PYnNlcnZlciBhbmQgb2JzZXJ2ZXMgY29udGVudCBjaGFuZ2VzIGluIGEgZ2l2ZW4gZWxlbWVudC5cbiAqIFRoZSBwcm92aWRlZCBjYWxsYmFjayBpcyBjYWxsZWQgd2hlbiBjaGFuZ2VzIGFyZSBkZXRlY3RlZC5cbiAqXG4gKiBAcmV0dXJucyBmdW5jdGlvbiAtIGFuIHVub2JzZXJ2ZSBmdW5jdGlvbiB0aGF0IGNhbiBiZSBjYWxsZWQgdG8gZGlzY29ubmVjdCB0aGUgY3JlYXRlZCBvYnNlcnZlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9ic2VydmVDb250ZW50KFxuICBvYnNlcnZlZEVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICBjb250ZW50Q2hhbmdlZENhbGxiYWNrOiAoKSA9PiB2b2lkXG4pOiBVbm9ic2VydmVGbiB7XG4gIGNvbnN0IG11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zKSA9PiB7XG4gICAgY29uc3QgZmlsdGVyZWRNdXRhdGlvbnMgPSBtdXRhdGlvbnMuZmlsdGVyKChtdXRhdGlvbikgPT4gIXNob3VsZElnbm9yZU11dGF0aW9uUmVjb3JkKG11dGF0aW9uKSk7XG4gICAgaWYgKGZpbHRlcmVkTXV0YXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnRlbnRDaGFuZ2VkQ2FsbGJhY2soKTtcbiAgICB9XG4gIH0pO1xuXG4gIG11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZShvYnNlcnZlZEVsZW1lbnQsIHtcbiAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlLFxuICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICBzdWJ0cmVlOiB0cnVlLFxuICB9KTtcblxuICByZXR1cm4gKCkgPT4ge1xuICAgIG11dGF0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICB9O1xufVxuIl19","import { Injectable } from '@angular/core';\nimport { DesignTokenHelper } from './design-token-helper';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@kirbydesign/designsystem/types\";\nexport class PlatformService {\n constructor(windowRef) {\n this.windowRef = windowRef;\n }\n isTouch() {\n const isTouchDeviceQuery = '(pointer: coarse)'; // No check for `hover: none`, as Samsung Galaxy will return false on `hover: none` media query\n return this.windowRef.nativeWindow.matchMedia(isTouchDeviceQuery).matches;\n }\n isPhabletOrBigger() {\n const query = `(min-width: ${DesignTokenHelper.breakpoints.medium})`;\n return this.windowRef.nativeWindow.matchMedia(query).matches;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: PlatformService, deps: [{ token: i1.WindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: PlatformService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: PlatformService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.WindowRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlbHBlcnMvc3JjL3BsYXRmb3JtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBSzFELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQW9CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFBRyxDQUFDO0lBRTVDLE9BQU87UUFDTCxNQUFNLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDLENBQUMsK0ZBQStGO1FBQy9JLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUMsT0FBTyxDQUFDO0lBQzVFLENBQUM7SUFFRCxpQkFBaUI7UUFDZixNQUFNLEtBQUssR0FBRyxlQUFlLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUNyRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDL0QsQ0FBQztpSUFYVSxlQUFlO3FJQUFmLGVBQWUsY0FGZCxNQUFNOzsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgV2luZG93UmVmIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS90eXBlcyc7XG5pbXBvcnQgeyBEZXNpZ25Ub2tlbkhlbHBlciB9IGZyb20gJy4vZGVzaWduLXRva2VuLWhlbHBlcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQbGF0Zm9ybVNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHdpbmRvd1JlZjogV2luZG93UmVmKSB7fVxuXG4gIGlzVG91Y2goKSB7XG4gICAgY29uc3QgaXNUb3VjaERldmljZVF1ZXJ5ID0gJyhwb2ludGVyOiBjb2Fyc2UpJzsgLy8gTm8gY2hlY2sgZm9yIGBob3Zlcjogbm9uZWAsIGFzIFNhbXN1bmcgR2FsYXh5IHdpbGwgcmV0dXJuIGZhbHNlIG9uIGBob3Zlcjogbm9uZWAgbWVkaWEgcXVlcnlcbiAgICByZXR1cm4gdGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93Lm1hdGNoTWVkaWEoaXNUb3VjaERldmljZVF1ZXJ5KS5tYXRjaGVzO1xuICB9XG5cbiAgaXNQaGFibGV0T3JCaWdnZXIoKSB7XG4gICAgY29uc3QgcXVlcnkgPSBgKG1pbi13aWR0aDogJHtEZXNpZ25Ub2tlbkhlbHBlci5icmVha3BvaW50cy5tZWRpdW19KWA7XG4gICAgcmV0dXJuIHRoaXMud2luZG93UmVmLm5hdGl2ZVdpbmRvdy5tYXRjaE1lZGlhKHF1ZXJ5KS5tYXRjaGVzO1xuICB9XG59XG4iXX0=","/*\n Type guard is needed as of chart.js@3.8.1. The config type has been updated to a union type,\n and the newly added type 'ChartConfigurationCustomTypesPerDataset' does not contain the 'type' property.\n Typescript will throw an error, when trying to access a property that doesn't exist on all union types,\n unless a type guard is used.\n*/\nexport const chartConfigHasType = (config) => {\n return 'type' in config;\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtY29uZmlnLWhhcy10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vaGVscGVycy9zcmMvY2hhcnQtY29uZmlnLWhhcy10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7OztFQUtFO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FDaEMsTUFBb0UsRUFDdEMsRUFBRTtJQUNoQyxPQUFPLE1BQU0sSUFBSSxNQUFNLENBQUM7QUFDMUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhcnRDb25maWd1cmF0aW9uLCBDaGFydENvbmZpZ3VyYXRpb25DdXN0b21UeXBlc1BlckRhdGFzZXQgfSBmcm9tICdjaGFydC5qcyc7XG5cbi8qIFxuICBUeXBlIGd1YXJkIGlzIG5lZWRlZCBhcyBvZiBjaGFydC5qc0AzLjguMS4gVGhlIGNvbmZpZyB0eXBlIGhhcyBiZWVuIHVwZGF0ZWQgdG8gYSB1bmlvbiB0eXBlLCBcbiAgYW5kIHRoZSBuZXdseSBhZGRlZCB0eXBlICdDaGFydENvbmZpZ3VyYXRpb25DdXN0b21UeXBlc1BlckRhdGFzZXQnIGRvZXMgbm90IGNvbnRhaW4gdGhlICd0eXBlJyBwcm9wZXJ0eS5cbiAgVHlwZXNjcmlwdCB3aWxsIHRocm93IGFuIGVycm9yLCB3aGVuIHRyeWluZyB0byBhY2Nlc3MgYSBwcm9wZXJ0eSB0aGF0IGRvZXNuJ3QgZXhpc3Qgb24gYWxsIHVuaW9uIHR5cGVzLFxuICB1bmxlc3MgYSB0eXBlIGd1YXJkIGlzIHVzZWQuIFxuKi9cblxuZXhwb3J0IGNvbnN0IGNoYXJ0Q29uZmlnSGFzVHlwZSA9IChcbiAgY29uZmlnOiBDaGFydENvbmZpZ3VyYXRpb24gfCBDaGFydENvbmZpZ3VyYXRpb25DdXN0b21UeXBlc1BlckRhdGFzZXRcbik6IGNvbmZpZyBpcyBDaGFydENvbmZpZ3VyYXRpb24gPT4ge1xuICByZXR1cm4gJ3R5cGUnIGluIGNvbmZpZztcbn07XG4iXX0=","/*\nCopied from https://github.com/ykdr8/ts-deepcopy.\n\nMIT License\n\nCopyright (c) 2017 ykdr2017\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n */\nexport function deepCopy(tgt) {\n let cp;\n if (tgt === null) {\n cp = tgt;\n }\n else if (tgt instanceof Date) {\n cp = new Date(tgt.getTime());\n }\n else if (Array.isArray(tgt)) {\n cp = [];\n tgt.forEach((v) => {\n cp.push(v);\n });\n cp = cp.map((n) => deepCopy(n));\n }\n else if (typeof tgt === 'object') {\n cp = { ...tgt };\n Object.keys(cp).forEach((k) => {\n cp[k] = deepCopy(cp[k]);\n });\n }\n else {\n cp = tgt;\n }\n return cp;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1jb3B5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vaGVscGVycy9zcmMvZGVlcC1jb3B5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFLLEdBQU87SUFDbEMsSUFBSSxFQUFNLENBQUM7SUFDWCxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNqQixFQUFFLEdBQUcsR0FBRyxDQUFDO0lBQ1gsQ0FBQztTQUFNLElBQUksR0FBRyxZQUFZLElBQUksRUFBRSxDQUFDO1FBQy9CLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBRSxHQUFXLENBQUMsT0FBTyxFQUFFLENBQVEsQ0FBQztJQUMvQyxDQUFDO1NBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDOUIsRUFBRSxHQUFHLEVBQVMsQ0FBQztRQUNkLEdBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMxQixFQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxHQUFJLEVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7U0FBTSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25DLEVBQUUsR0FBRyxFQUFFLEdBQUksR0FBVSxFQUFRLENBQUM7UUFDOUIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMzQixFQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFPLEVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztTQUFNLENBQUM7UUFDTixFQUFFLEdBQUcsR0FBRyxDQUFDO0lBQ1gsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3BpZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20veWtkcjgvdHMtZGVlcGNvcHkuXG5cbk1JVCBMaWNlbnNlXG5cbkNvcHlyaWdodCAoYykgMjAxNyB5a2RyMjAxN1xuXG5QZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG5vZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG5pbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG50byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG5jb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbmZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG5cblRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG5GSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbkFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbkxJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG5PVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuU09GVFdBUkUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWVwQ29weTxUcD4odGd0OiBUcCk6IFRwIHtcbiAgbGV0IGNwOiBUcDtcbiAgaWYgKHRndCA9PT0gbnVsbCkge1xuICAgIGNwID0gdGd0O1xuICB9IGVsc2UgaWYgKHRndCBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICBjcCA9IG5ldyBEYXRlKCh0Z3QgYXMgYW55KS5nZXRUaW1lKCkpIGFzIGFueTtcbiAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRndCkpIHtcbiAgICBjcCA9IFtdIGFzIGFueTtcbiAgICAodGd0IGFzIGFueVtdKS5mb3JFYWNoKCh2KSA9PiB7XG4gICAgICAoY3AgYXMgYW55KS5wdXNoKHYpO1xuICAgIH0pO1xuICAgIGNwID0gKGNwIGFzIGFueSkubWFwKChuOiBhbnkpID0+IGRlZXBDb3B5PGFueT4obikpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiB0Z3QgPT09ICdvYmplY3QnKSB7XG4gICAgY3AgPSB7IC4uLih0Z3QgYXMgVHApIH0gYXMgVHA7XG4gICAgT2JqZWN0LmtleXMoY3ApLmZvckVhY2goKGspID0+IHtcbiAgICAgIChjcCBhcyBhbnkpW2tdID0gZGVlcENvcHk8YW55PigoY3AgYXMgYW55KVtrXSk7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgY3AgPSB0Z3Q7XG4gIH1cbiAgcmV0dXJuIGNwO1xufVxuIl19","/**\n * Performs a deep merge of objects and returns new object. Does not modify\n * objects (immutable).\n * It merges from into object to the left\n * eg. mergeDeep({a: 'will be overridden', b: 'some val'}, {a: 'new val'}) => {a: 'new val', b: 'some val'}\n *\n * @param originalObject object - Object to override,\n * @param overrideObject object - Object to override \"toOverride\" values with\n * @param config object - Configuration for how to merge.\n * mergeArrays determines if it should merge or override arrays\n * @returns object - New object with merged key/values\n */\nexport function mergeDeep(originalObject, overrideObject, config = { mergeArrays: false }) {\n const isObject = (obj) => obj && typeof obj === 'object';\n return [originalObject, overrideObject].reduce((mergedObject, obj) => {\n Object.keys(obj).forEach((key) => {\n const mergedObjectValue = mergedObject[key];\n const overrideObjectValue = obj[key];\n if (Array.isArray(mergedObjectValue) && Array.isArray(overrideObjectValue)) {\n mergedObject[key] = config.mergeArrays\n ? mergedObjectValue.concat(overrideObjectValue)\n : overrideObjectValue;\n }\n else if (isObject(mergedObjectValue) && isObject(overrideObjectValue)) {\n mergedObject[key] = mergeDeep(mergedObjectValue, overrideObjectValue);\n }\n else {\n mergedObject[key] = overrideObjectValue;\n }\n });\n return mergedObject;\n }, {});\n}\nexport function mergeDeepAll(...objects) {\n const objectsWithoutUndefined = objects.filter((object) => object !== undefined);\n return objectsWithoutUndefined.reduce((originalObject, overrideObject) => mergeDeep(originalObject, overrideObject));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UtZGVlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlbHBlcnMvc3JjL21lcmdlLWRlZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxHQUFHLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRTtJQUN2RixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQztJQUV6RCxPQUFPLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNuRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQy9CLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRXJDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO2dCQUMzRSxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLFdBQVc7b0JBQ3BDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUM7b0JBQy9DLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztZQUMxQixDQUFDO2lCQUFNLElBQUksUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUksUUFBUSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztnQkFDeEUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3hFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsbUJBQW1CLENBQUM7WUFDMUMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsR0FBRyxPQUFpQjtJQUMvQyxNQUFNLHVCQUF1QixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQztJQUNqRixPQUFPLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsRUFBRSxDQUN2RSxTQUFTLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUMxQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUGVyZm9ybXMgYSBkZWVwIG1lcmdlIG9mIG9iamVjdHMgYW5kIHJldHVybnMgbmV3IG9iamVjdC4gRG9lcyBub3QgbW9kaWZ5XG4gKiBvYmplY3RzIChpbW11dGFibGUpLlxuICogSXQgbWVyZ2VzIGZyb20gaW50byBvYmplY3QgdG8gdGhlIGxlZnRcbiAqICBlZy4gbWVyZ2VEZWVwKHthOiAnd2lsbCBiZSBvdmVycmlkZGVuJywgYjogJ3NvbWUgdmFsJ30sIHthOiAnbmV3IHZhbCd9KSA9PiAge2E6ICduZXcgdmFsJywgYjogJ3NvbWUgdmFsJ31cbiAqXG4gKiBAcGFyYW0gb3JpZ2luYWxPYmplY3Qgb2JqZWN0IC0gT2JqZWN0IHRvIG92ZXJyaWRlLFxuICogQHBhcmFtIG92ZXJyaWRlT2JqZWN0IG9iamVjdCAtIE9iamVjdCB0byBvdmVycmlkZSBcInRvT3ZlcnJpZGVcIiB2YWx1ZXMgd2l0aFxuICogQHBhcmFtIGNvbmZpZyBvYmplY3QgLSBDb25maWd1cmF0aW9uIGZvciBob3cgdG8gbWVyZ2UuXG4gKiAgbWVyZ2VBcnJheXMgZGV0ZXJtaW5lcyBpZiBpdCBzaG91bGQgbWVyZ2Ugb3Igb3ZlcnJpZGUgYXJyYXlzXG4gKiBAcmV0dXJucyBvYmplY3QgLSBOZXcgb2JqZWN0IHdpdGggbWVyZ2VkIGtleS92YWx1ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRGVlcChvcmlnaW5hbE9iamVjdCwgb3ZlcnJpZGVPYmplY3QsIGNvbmZpZyA9IHsgbWVyZ2VBcnJheXM6IGZhbHNlIH0pIHtcbiAgY29uc3QgaXNPYmplY3QgPSAob2JqKSA9PiBvYmogJiYgdHlwZW9mIG9iaiA9PT0gJ29iamVjdCc7XG5cbiAgcmV0dXJuIFtvcmlnaW5hbE9iamVjdCwgb3ZlcnJpZGVPYmplY3RdLnJlZHVjZSgobWVyZ2VkT2JqZWN0LCBvYmopID0+IHtcbiAgICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgbWVyZ2VkT2JqZWN0VmFsdWUgPSBtZXJnZWRPYmplY3Rba2V5XTtcbiAgICAgIGNvbnN0IG92ZXJyaWRlT2JqZWN0VmFsdWUgPSBvYmpba2V5XTtcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkobWVyZ2VkT2JqZWN0VmFsdWUpICYmIEFycmF5LmlzQXJyYXkob3ZlcnJpZGVPYmplY3RWYWx1ZSkpIHtcbiAgICAgICAgbWVyZ2VkT2JqZWN0W2tleV0gPSBjb25maWcubWVyZ2VBcnJheXNcbiAgICAgICAgICA/IG1lcmdlZE9iamVjdFZhbHVlLmNvbmNhdChvdmVycmlkZU9iamVjdFZhbHVlKVxuICAgICAgICAgIDogb3ZlcnJpZGVPYmplY3RWYWx1ZTtcbiAgICAgIH0gZWxzZSBpZiAoaXNPYmplY3QobWVyZ2VkT2JqZWN0VmFsdWUpICYmIGlzT2JqZWN0KG92ZXJyaWRlT2JqZWN0VmFsdWUpKSB7XG4gICAgICAgIG1lcmdlZE9iamVjdFtrZXldID0gbWVyZ2VEZWVwKG1lcmdlZE9iamVjdFZhbHVlLCBvdmVycmlkZU9iamVjdFZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lcmdlZE9iamVjdFtrZXldID0gb3ZlcnJpZGVPYmplY3RWYWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBtZXJnZWRPYmplY3Q7XG4gIH0sIHt9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRGVlcEFsbCguLi5vYmplY3RzOiBvYmplY3RbXSk6IG9iamVjdCB7XG4gIGNvbnN0IG9iamVjdHNXaXRob3V0VW5kZWZpbmVkID0gb2JqZWN0cy5maWx0ZXIoKG9iamVjdCkgPT4gb2JqZWN0ICE9PSB1bmRlZmluZWQpO1xuICByZXR1cm4gb2JqZWN0c1dpdGhvdXRVbmRlZmluZWQucmVkdWNlKChvcmlnaW5hbE9iamVjdCwgb3ZlcnJpZGVPYmplY3QpID0+XG4gICAgbWVyZ2VEZWVwKG9yaWdpbmFsT2JqZWN0LCBvdmVycmlkZU9iamVjdClcbiAgKTtcbn1cbiJdfQ==","export class UniqueIdGenerator {\n static { this.registry = new Map(); }\n constructor(scope) {\n this.scope = scope;\n this.id = 0;\n }\n static scopedTo(scope) {\n let scopedGenerator = UniqueIdGenerator.registry.get(scope);\n if (!scopedGenerator) {\n scopedGenerator = new UniqueIdGenerator(scope);\n UniqueIdGenerator.registry.set(scope, scopedGenerator);\n }\n return scopedGenerator;\n }\n next() {\n return `${this.scope}-${this.id++}`;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcXVlLWlkLWdlbmVyYXRvci5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9oZWxwZXJzL3NyYy91bmlxdWUtaWQtZ2VuZXJhdG9yLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8saUJBQWlCO2FBQ2IsYUFBUSxHQUFHLElBQUksR0FBRyxFQUE2QixBQUF2QyxDQUF3QztJQUcvRCxZQUE0QixLQUFhO1FBQWIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUZqQyxPQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRTZCLENBQUM7SUFFN0MsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFhO1FBQzNCLElBQUksZUFBZSxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3JCLGVBQWUsR0FBRyxJQUFJLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9DLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSTtRQUNGLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVW5pcXVlSWRHZW5lcmF0b3Ige1xuICBwcml2YXRlIHN0YXRpYyByZWdpc3RyeSA9IG5ldyBNYXA8c3RyaW5nLCBVbmlxdWVJZEdlbmVyYXRvcj4oKTtcbiAgcHJpdmF0ZSBpZCA9IDA7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihwcml2YXRlIHNjb3BlOiBzdHJpbmcpIHt9XG5cbiAgc3RhdGljIHNjb3BlZFRvKHNjb3BlOiBzdHJpbmcpIHtcbiAgICBsZXQgc2NvcGVkR2VuZXJhdG9yID0gVW5pcXVlSWRHZW5lcmF0b3IucmVnaXN0cnkuZ2V0KHNjb3BlKTtcbiAgICBpZiAoIXNjb3BlZEdlbmVyYXRvcikge1xuICAgICAgc2NvcGVkR2VuZXJhdG9yID0gbmV3IFVuaXF1ZUlkR2VuZXJhdG9yKHNjb3BlKTtcbiAgICAgIFVuaXF1ZUlkR2VuZXJhdG9yLnJlZ2lzdHJ5LnNldChzY29wZSwgc2NvcGVkR2VuZXJhdG9yKTtcbiAgICB9XG4gICAgcmV0dXJuIHNjb3BlZEdlbmVyYXRvcjtcbiAgfVxuXG4gIG5leHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zY29wZX0tJHt0aGlzLmlkKyt9YDtcbiAgfVxufVxuIl19","export class StringSearchHelper {\n static getIndexByFirstMatchingStartString(searchString, words, startIndex) {\n searchString = searchString.toLowerCase();\n const wordsStartingWithMatchString = words\n .map((word, index) => {\n return { word: word.toLowerCase(), index };\n })\n .filter((match) => match.word.startsWith(searchString));\n if (wordsStartingWithMatchString.length === 0) {\n return -1;\n }\n const firstWordStartingWithChar = wordsStartingWithMatchString[0];\n const nextWordStartingWithChar = wordsStartingWithMatchString.find((wordAndIndex) => wordAndIndex.index >= startIndex);\n return nextWordStartingWithChar?.index ?? firstWordStartingWithChar.index;\n }\n static isPrintableCharacter(key) {\n return key.length === 1 && /\\S/.test(key);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXNlYXJjaC5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9oZWxwZXJzL3NyYy9zdHJpbmctc2VhcmNoLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FDdkMsWUFBb0IsRUFDcEIsS0FBZSxFQUNmLFVBQWtCO1FBRWxCLFlBQVksR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFMUMsTUFBTSw0QkFBNEIsR0FBRyxLQUFLO2FBQ3ZDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNuQixPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUM3QyxDQUFDLENBQUM7YUFDRCxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFFMUQsSUFBSSw0QkFBNEIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDOUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNaLENBQUM7UUFFRCxNQUFNLHlCQUF5QixHQUFHLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sd0JBQXdCLEdBQUcsNEJBQTRCLENBQUMsSUFBSSxDQUNoRSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEtBQUssSUFBSSxVQUFVLENBQ25ELENBQUM7UUFFRixPQUFPLHdCQUF3QixFQUFFLEtBQUssSUFBSSx5QkFBeUIsQ0FBQyxLQUFLLENBQUM7SUFDNUUsQ0FBQztJQUVELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFXO1FBQ3JDLE9BQU8sR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgU3RyaW5nU2VhcmNoSGVscGVyIHtcbiAgc3RhdGljIGdldEluZGV4QnlGaXJzdE1hdGNoaW5nU3RhcnRTdHJpbmcoXG4gICAgc2VhcmNoU3RyaW5nOiBzdHJpbmcsXG4gICAgd29yZHM6IHN0cmluZ1tdLFxuICAgIHN0YXJ0SW5kZXg6IG51bWJlclxuICApOiBudW1iZXIge1xuICAgIHNlYXJjaFN0cmluZyA9IHNlYXJjaFN0cmluZy50b0xvd2VyQ2FzZSgpO1xuXG4gICAgY29uc3Qgd29yZHNTdGFydGluZ1dpdGhNYXRjaFN0cmluZyA9IHdvcmRzXG4gICAgICAubWFwKCh3b3JkLCBpbmRleCkgPT4ge1xuICAgICAgICByZXR1cm4geyB3b3JkOiB3b3JkLnRvTG93ZXJDYXNlKCksIGluZGV4IH07XG4gICAgICB9KVxuICAgICAgLmZpbHRlcigobWF0Y2gpID0+IG1hdGNoLndvcmQuc3RhcnRzV2l0aChzZWFyY2hTdHJpbmcpKTtcblxuICAgIGlmICh3b3Jkc1N0YXJ0aW5nV2l0aE1hdGNoU3RyaW5nLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0V29yZFN0YXJ0aW5nV2l0aENoYXIgPSB3b3Jkc1N0YXJ0aW5nV2l0aE1hdGNoU3RyaW5nWzBdO1xuICAgIGNvbnN0IG5leHRXb3JkU3RhcnRpbmdXaXRoQ2hhciA9IHdvcmRzU3RhcnRpbmdXaXRoTWF0Y2hTdHJpbmcuZmluZChcbiAgICAgICh3b3JkQW5kSW5kZXgpID0+IHdvcmRBbmRJbmRleC5pbmRleCA+PSBzdGFydEluZGV4XG4gICAgKTtcblxuICAgIHJldHVybiBuZXh0V29yZFN0YXJ0aW5nV2l0aENoYXI/LmluZGV4ID8/IGZpcnN0V29yZFN0YXJ0aW5nV2l0aENoYXIuaW5kZXg7XG4gIH1cblxuICBzdGF0aWMgaXNQcmludGFibGVDaGFyYWN0ZXIoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4ga2V5Lmxlbmd0aCA9PT0gMSAmJiAvXFxTLy50ZXN0KGtleSk7XG4gIH1cbn1cbiJdfQ==","import { Injectable, RendererStyleFlags2 } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nconst config = Object.freeze({\n className: 'kirby-line-clamp',\n lineClamp: '--line-clamp',\n lineHeight: '--line-height',\n});\nexport class LineClampHelper {\n constructor(renderer) {\n this.renderer = renderer;\n }\n setMaxLines(element, maxLines) {\n this.renderer.setStyle(element, config.lineClamp, maxLines, RendererStyleFlags2.DashCase);\n this.renderer.addClass(element, config.className);\n }\n setLineHeight(element, lineHeight) {\n // Only necessary for the fallback solution to work\n this.renderer.setStyle(element, config.lineHeight, lineHeight, RendererStyleFlags2.DashCase);\n }\n removeLineClamp(element) {\n this.renderer.removeClass(element, config.className);\n this.renderer.removeStyle(element, config.lineClamp);\n this.renderer.removeStyle(element, config.lineHeight);\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: LineClampHelper, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: LineClampHelper }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: LineClampHelper, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.Renderer2 }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1jbGFtcC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9oZWxwZXJzL3NyYy9saW5lLWNsYW1wLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUzRSxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzNCLFNBQVMsRUFBRSxrQkFBa0I7SUFDN0IsU0FBUyxFQUFFLGNBQWM7SUFDekIsVUFBVSxFQUFFLGVBQWU7Q0FDNUIsQ0FBQyxDQUFDO0FBR0gsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFBb0IsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUFHLENBQUM7SUFFM0MsV0FBVyxDQUFDLE9BQWdCLEVBQUUsUUFBZ0I7UUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFnQixFQUFFLFVBQWtCO1FBQ2hELG1EQUFtRDtRQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFnQjtRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4RCxDQUFDO2lJQWpCVSxlQUFlO3FJQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBSZW5kZXJlcjIsIFJlbmRlcmVyU3R5bGVGbGFnczIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3QgY29uZmlnID0gT2JqZWN0LmZyZWV6ZSh7XG4gIGNsYXNzTmFtZTogJ2tpcmJ5LWxpbmUtY2xhbXAnLFxuICBsaW5lQ2xhbXA6ICctLWxpbmUtY2xhbXAnLFxuICBsaW5lSGVpZ2h0OiAnLS1saW5lLWhlaWdodCcsXG59KTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExpbmVDbGFtcEhlbHBlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBzZXRNYXhMaW5lcyhlbGVtZW50OiBFbGVtZW50LCBtYXhMaW5lczogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCBjb25maWcubGluZUNsYW1wLCBtYXhMaW5lcywgUmVuZGVyZXJTdHlsZUZsYWdzMi5EYXNoQ2FzZSk7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhlbGVtZW50LCBjb25maWcuY2xhc3NOYW1lKTtcbiAgfVxuXG4gIHNldExpbmVIZWlnaHQoZWxlbWVudDogRWxlbWVudCwgbGluZUhlaWdodDogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gT25seSBuZWNlc3NhcnkgZm9yIHRoZSBmYWxsYmFjayBzb2x1dGlvbiB0byB3b3JrXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCBjb25maWcubGluZUhlaWdodCwgbGluZUhlaWdodCwgUmVuZGVyZXJTdHlsZUZsYWdzMi5EYXNoQ2FzZSk7XG4gIH1cblxuICByZW1vdmVMaW5lQ2xhbXAoZWxlbWVudDogRWxlbWVudCkge1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoZWxlbWVudCwgY29uZmlnLmNsYXNzTmFtZSk7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShlbGVtZW50LCBjb25maWcubGluZUNsYW1wKTtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKGVsZW1lbnQsIGNvbmZpZy5saW5lSGVpZ2h0KTtcbiAgfVxufVxuIl19","/* eslint-disable @typescript-eslint/no-namespace */\nimport { DesignTokenHelper } from './design-token-helper';\nexport var KirbyAnimation;\n(function (KirbyAnimation) {\n let Duration;\n (function (Duration) {\n // Duration in milliseconds\n Duration[Duration[\"QUICK\"] = parseInt(DesignTokenHelper.transitionDuration('quick'))] = \"QUICK\";\n Duration[Duration[\"SHORT\"] = parseInt(DesignTokenHelper.transitionDuration('short'))] = \"SHORT\";\n Duration[Duration[\"LONG\"] = parseInt(DesignTokenHelper.transitionDuration('long'))] = \"LONG\";\n Duration[Duration[\"EXTRA_LONG\"] = parseInt(DesignTokenHelper.transitionDuration('extraLong'))] = \"EXTRA_LONG\";\n })(Duration = KirbyAnimation.Duration || (KirbyAnimation.Duration = {}));\n KirbyAnimation.Easing = DesignTokenHelper.transitionEasings();\n})(KirbyAnimation || (KirbyAnimation = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2lyYnktYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vaGVscGVycy9zcmMva2lyYnktYW5pbWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9EQUFvRDtBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxNQUFNLEtBQVcsY0FBYyxDQVM5QjtBQVRELFdBQWlCLGNBQWM7SUFDN0IsSUFBWSxRQU1YO0lBTkQsV0FBWSxRQUFRO1FBQ2xCLDJCQUEyQjtRQUMzQiw2QkFBUSxRQUFRLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBQSxDQUFBO1FBQy9ELDZCQUFRLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFBLENBQUE7UUFDL0QsNEJBQU8sUUFBUSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQUEsQ0FBQTtRQUM3RCxrQ0FBYSxRQUFRLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUMsZ0JBQUEsQ0FBQTtJQUMxRSxDQUFDLEVBTlcsUUFBUSxHQUFSLHVCQUFRLEtBQVIsdUJBQVEsUUFNbkI7SUFDWSxxQkFBTSxHQUFHLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFLENBQUM7QUFDOUQsQ0FBQyxFQVRnQixjQUFjLEtBQWQsY0FBYyxRQVM5QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2UgKi9cbmltcG9ydCB7IERlc2lnblRva2VuSGVscGVyIH0gZnJvbSAnLi9kZXNpZ24tdG9rZW4taGVscGVyJztcblxuZXhwb3J0IG5hbWVzcGFjZSBLaXJieUFuaW1hdGlvbiB7XG4gIGV4cG9ydCBlbnVtIER1cmF0aW9uIHtcbiAgICAvLyBEdXJhdGlvbiBpbiBtaWxsaXNlY29uZHNcbiAgICBRVUlDSyA9IHBhcnNlSW50KERlc2lnblRva2VuSGVscGVyLnRyYW5zaXRpb25EdXJhdGlvbigncXVpY2snKSksXG4gICAgU0hPUlQgPSBwYXJzZUludChEZXNpZ25Ub2tlbkhlbHBlci50cmFuc2l0aW9uRHVyYXRpb24oJ3Nob3J0JykpLFxuICAgIExPTkcgPSBwYXJzZUludChEZXNpZ25Ub2tlbkhlbHBlci50cmFuc2l0aW9uRHVyYXRpb24oJ2xvbmcnKSksXG4gICAgRVhUUkFfTE9ORyA9IHBhcnNlSW50KERlc2lnblRva2VuSGVscGVyLnRyYW5zaXRpb25EdXJhdGlvbignZXh0cmFMb25nJykpLFxuICB9XG4gIGV4cG9ydCBjb25zdCBFYXNpbmcgPSBEZXNpZ25Ub2tlbkhlbHBlci50cmFuc2l0aW9uRWFzaW5ncygpO1xufVxuIl19","import { Injectable } from '@angular/core';\nimport { componentOnReady } from '@ionic/core';\nimport * as i0 from \"@angular/core\";\nexport class IonicElementPartHelper {\n constructor(renderer) {\n this.renderer = renderer;\n }\n async setPart(partName, ionicElementRef, selector) {\n // Ensure custom element has been defined and rendered\n await customElements.whenDefined(ionicElementRef.nativeElement.localName);\n const customElement = await new Promise((resolve) => {\n componentOnReady(ionicElementRef.nativeElement, (element) => resolve(element));\n });\n const partElement = customElement.shadowRoot.querySelector(selector);\n if (!partElement)\n return;\n this.renderer.setAttribute(partElement, 'part', partName);\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: IonicElementPartHelper, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: IonicElementPartHelper }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: IonicElementPartHelper, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.Renderer2 }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uaWMtZWxlbWVudC1wYXJ0LWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlbHBlcnMvc3JjL2lvbmljLWVsZW1lbnQtcGFydC1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBRy9DLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFBb0IsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUFHLENBQUM7SUFFcEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFnQixFQUFFLGVBQTJCLEVBQUUsUUFBZ0I7UUFDbEYsc0RBQXNEO1FBQ3RELE1BQU0sY0FBYyxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxPQUFPLENBQWMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUMvRCxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNqRixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sV0FBVyxHQUFnQixhQUFhLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRixJQUFJLENBQUMsV0FBVztZQUFFLE9BQU87UUFFekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM1RCxDQUFDO2lJQWRVLHNCQUFzQjtxSUFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb21wb25lbnRPblJlYWR5IH0gZnJvbSAnQGlvbmljL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSW9uaWNFbGVtZW50UGFydEhlbHBlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBwdWJsaWMgYXN5bmMgc2V0UGFydChwYXJ0TmFtZTogc3RyaW5nLCBpb25pY0VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHNlbGVjdG9yOiBzdHJpbmcpIHtcbiAgICAvLyBFbnN1cmUgY3VzdG9tIGVsZW1lbnQgaGFzIGJlZW4gZGVmaW5lZCBhbmQgcmVuZGVyZWRcbiAgICBhd2FpdCBjdXN0b21FbGVtZW50cy53aGVuRGVmaW5lZChpb25pY0VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5sb2NhbE5hbWUpO1xuICAgIGNvbnN0IGN1c3RvbUVsZW1lbnQgPSBhd2FpdCBuZXcgUHJvbWlzZTxIVE1MRWxlbWVudD4oKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbXBvbmVudE9uUmVhZHkoaW9uaWNFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIChlbGVtZW50KSA9PiByZXNvbHZlKGVsZW1lbnQpKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHBhcnRFbGVtZW50OiBIVE1MRWxlbWVudCA9IGN1c3RvbUVsZW1lbnQuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcbiAgICBpZiAoIXBhcnRFbGVtZW50KSByZXR1cm47XG5cbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXJ0RWxlbWVudCwgJ3BhcnQnLCBwYXJ0TmFtZSk7XG4gIH1cbn1cbiJdfQ==","// re-export helpers from core, to preserve backwards compatability\n// of 'designsystem' library\nexport * from './element-ancestor-utils';\nexport * from './color-helper';\nexport * from './content-mutation-observer';\nexport * from './design-token-helper';\nexport * from './string-helper';\nexport * from './theme-color.type';\nexport * from './platform.service';\nexport * from './chart-config-has-type';\nexport * from './deep-copy';\nexport * from './merge-deep';\nexport * from './unique-id-generator.helper';\nexport * from './string-search.helper';\nexport * from './line-clamp-helper';\nexport * from './kirby-animation';\nexport * from './ionic-element-part-helper';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlbHBlcnMvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUVBQW1FO0FBQ25FLDRCQUE0QjtBQUM1QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcmUtZXhwb3J0IGhlbHBlcnMgZnJvbSBjb3JlLCB0byBwcmVzZXJ2ZSBiYWNrd2FyZHMgY29tcGF0YWJpbGl0eVxuLy8gb2YgJ2Rlc2lnbnN5c3RlbScgbGlicmFyeVxuZXhwb3J0ICogZnJvbSAnLi9lbGVtZW50LWFuY2VzdG9yLXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vY29sb3ItaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vY29udGVudC1tdXRhdGlvbi1vYnNlcnZlcic7XG5leHBvcnQgKiBmcm9tICcuL2Rlc2lnbi10b2tlbi1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zdHJpbmctaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdGhlbWUtY29sb3IudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BsYXRmb3JtLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGFydC1jb25maWctaGFzLXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWVwLWNvcHknO1xuZXhwb3J0ICogZnJvbSAnLi9tZXJnZS1kZWVwJztcbmV4cG9ydCAqIGZyb20gJy4vdW5pcXVlLWlkLWdlbmVyYXRvci5oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zdHJpbmctc2VhcmNoLmhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpbmUtY2xhbXAtaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4va2lyYnktYW5pbWF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vaW9uaWMtZWxlbWVudC1wYXJ0LWhlbHBlcic7XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public_api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2lyYnlkZXNpZ24tZGVzaWduc3lzdGVtLWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9oZWxwZXJzL3NyYy9raXJieWRlc2lnbi1kZXNpZ25zeXN0ZW0taGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19"],"names":[],"mappings":"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"}
|
|
@@ -138,6 +138,7 @@ const kirbyIconSettings = {
|
|
|
138
138
|
{ name: 'income', svg: 'income.svg' },
|
|
139
139
|
{ name: 'top-up', svg: 'top-up.svg' },
|
|
140
140
|
{ name: 'signed-document', svg: 'signed-document.svg' },
|
|
141
|
+
{ name: 'bank', svg: 'bank.svg' },
|
|
141
142
|
]),
|
|
142
143
|
};
|
|
143
144
|
const defaultIcons = kirbyIconSettings.icons.map((icon) => icon.name);
|
|
@@ -187,10 +188,10 @@ class IconRegistryService {
|
|
|
187
188
|
const svg = this.iconRegistry.get(name);
|
|
188
189
|
return svg ? { name, svg } : undefined;
|
|
189
190
|
}
|
|
190
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1
|
|
191
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1
|
|
191
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: IconRegistryService, deps: [{ token: BUILT_IN_ICONS_URL }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
192
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: IconRegistryService, providedIn: 'root' }); }
|
|
192
193
|
}
|
|
193
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1
|
|
194
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: IconRegistryService, decorators: [{
|
|
194
195
|
type: Injectable,
|
|
195
196
|
args: [{
|
|
196
197
|
providedIn: 'root',
|
|
@@ -254,10 +255,10 @@ forgot to configure the custom icon through the 'IconRegistryService'?`);
|
|
|
254
255
|
this.renderer.setAttribute(this.element, 'aria-hidden', 'true');
|
|
255
256
|
}
|
|
256
257
|
}
|
|
257
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1
|
|
258
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1
|
|
258
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: IconComponent, deps: [{ token: IconRegistryService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
259
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: IconComponent, isStandalone: false, selector: "kirby-icon", inputs: { size: "size", name: "name" }, host: { properties: { "class.kirby-icon": "true", "class": "this.size" } }, usesOnChanges: true, ngImport: i0, template: "<ion-icon [src]=\"icon?.svg\"></ion-icon>\n", styles: [":host{display:inline-flex;align-items:center;justify-content:center;font-size:var(--kirby-icon-font-size, 24px);margin-left:var(--kirby-icon-margin-left, unset);margin-right:var(--kirby-icon-margin-right, unset)}:host svg path{fill:currentcolor;stroke:currentcolor}:host(.xs){--kirby-icon-font-size: 16px}:host(.sm){--kirby-icon-font-size: 24px}:host(.md){--kirby-icon-font-size: 32px}:host(.lg){--kirby-icon-font-size: 56px}:host(.primary){color:var(--kirby-primary)}:host(.secondary){color:var(--kirby-secondary)}:host(.tertiary){color:var(--kirby-tertiary)}:host(.success){color:var(--kirby-success)}:host(.warning){color:var(--kirby-warning)}:host(.danger){color:var(--kirby-danger)}:host(.white-overlay){color:var(--kirby-white-overlay)}:host(.light){color:var(--kirby-light)}:host(.medium){color:var(--kirby-medium)}:host(.dark){color:var(--kirby-dark)}:host(.dark-overlay){color:var(--kirby-dark-overlay)}:host-context(kirby-item)[slot=start]{margin-inline-end:8px}:host-context(kirby-item)[slot=end]{margin-inline-start:8px}:host-context(ion-tab-button){pointer-events:none}\n"], dependencies: [{ kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
259
260
|
}
|
|
260
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1
|
|
261
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: IconComponent, decorators: [{
|
|
261
262
|
type: Component,
|
|
262
263
|
args: [{ selector: 'kirby-icon', host: { '[class.kirby-icon]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ion-icon [src]=\"icon?.svg\"></ion-icon>\n", styles: [":host{display:inline-flex;align-items:center;justify-content:center;font-size:var(--kirby-icon-font-size, 24px);margin-left:var(--kirby-icon-margin-left, unset);margin-right:var(--kirby-icon-margin-right, unset)}:host svg path{fill:currentcolor;stroke:currentcolor}:host(.xs){--kirby-icon-font-size: 16px}:host(.sm){--kirby-icon-font-size: 24px}:host(.md){--kirby-icon-font-size: 32px}:host(.lg){--kirby-icon-font-size: 56px}:host(.primary){color:var(--kirby-primary)}:host(.secondary){color:var(--kirby-secondary)}:host(.tertiary){color:var(--kirby-tertiary)}:host(.success){color:var(--kirby-success)}:host(.warning){color:var(--kirby-warning)}:host(.danger){color:var(--kirby-danger)}:host(.white-overlay){color:var(--kirby-white-overlay)}:host(.light){color:var(--kirby-light)}:host(.medium){color:var(--kirby-medium)}:host(.dark){color:var(--kirby-dark)}:host(.dark-overlay){color:var(--kirby-dark-overlay)}:host-context(kirby-item)[slot=start]{margin-inline-end:8px}:host-context(kirby-item)[slot=end]{margin-inline-start:8px}:host-context(ion-tab-button){pointer-events:none}\n"] }]
|
|
263
264
|
}], ctorParameters: () => [{ type: IconRegistryService }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { size: [{
|
|
@@ -270,11 +271,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
|
|
|
270
271
|
}] } });
|
|
271
272
|
|
|
272
273
|
class IconModule {
|
|
273
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1
|
|
274
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1
|
|
275
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1
|
|
274
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: IconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
275
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.1", ngImport: i0, type: IconModule, declarations: [IconComponent], imports: [ThemeColorDirective, IonIcon], exports: [IconComponent, ThemeColorDirective] }); }
|
|
276
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: IconModule, imports: [IonIcon] }); }
|
|
276
277
|
}
|
|
277
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1
|
|
278
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: IconModule, decorators: [{
|
|
278
279
|
type: NgModule,
|
|
279
280
|
args: [{
|
|
280
281
|
imports: [ThemeColorDirective, IonIcon],
|