@valtimo/components 12.1.2 → 12.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.
Files changed (82) hide show
  1. package/esm2022/lib/components/confirmation-modal/confirmation-modal.component.mjs +3 -3
  2. package/esm2022/lib/components/editor/editor.service.mjs +1 -1
  3. package/esm2022/lib/components/form/form.component.mjs +13 -3
  4. package/esm2022/lib/components/form-io/form-io-builder.component.mjs +3 -2
  5. package/esm2022/lib/components/form-io/form-io-builder.utils.mjs +29 -2
  6. package/esm2022/lib/components/form-io/form-io.module.mjs +7 -3
  7. package/esm2022/lib/components/form-io/formio-value-resolver-selector/formio-value-resolver-selector-edit-form.mjs +19 -0
  8. package/esm2022/lib/components/form-io/formio-value-resolver-selector/formio-value-resolver-selector.component.mjs +57 -0
  9. package/esm2022/lib/components/form-io/formio-value-resolver-selector/formio-value-resolver-selector.formio.mjs +42 -0
  10. package/esm2022/lib/components/input/input.component.mjs +5 -3
  11. package/esm2022/lib/components/left-sidebar/left-sidebar.component.mjs +3 -3
  12. package/esm2022/lib/components/multi-input/carbon-multi-input.component.mjs +1 -1
  13. package/esm2022/lib/components/multi-input-form/multi-input-form.component.mjs +1 -1
  14. package/esm2022/lib/components/paragraph/paragraph.component.mjs +5 -3
  15. package/esm2022/lib/components/prompt/prompt.component.mjs +1 -1
  16. package/esm2022/lib/components/right-sidebar/right-sidebar.component.mjs +1 -1
  17. package/esm2022/lib/components/search-fields/search-fields.component.mjs +3 -3
  18. package/esm2022/lib/components/select/select.component.mjs +5 -3
  19. package/esm2022/lib/components/status-selector/status-selector.component.mjs +2 -2
  20. package/esm2022/lib/components/table/table.component.mjs +1 -1
  21. package/esm2022/lib/components/topbar/topbar.component.mjs +1 -1
  22. package/esm2022/lib/components/value-path-selector/value-path-selector.component.mjs +282 -0
  23. package/esm2022/lib/components/view-content/type-converters/booleanTypeConverter.mjs +2 -2
  24. package/esm2022/lib/components/view-content/type-converters/currencyTypeConverter.mjs +9 -2
  25. package/esm2022/lib/components/view-content/type-converters/enumTypeConverter.mjs +2 -2
  26. package/esm2022/lib/components/view-content/type-converters/numberTypeConverter.mjs +9 -2
  27. package/esm2022/lib/components/view-content/type-converters/percentTypeConverter.mjs +9 -2
  28. package/esm2022/lib/models/editor.model.mjs +1 -1
  29. package/esm2022/lib/models/index.mjs +2 -1
  30. package/esm2022/lib/models/value-path-selector.model.mjs +31 -0
  31. package/esm2022/lib/services/index.mjs +2 -1
  32. package/esm2022/lib/services/value-path-selector.service.mjs +88 -0
  33. package/esm2022/public_api.mjs +6 -1
  34. package/fesm2022/valtimo-components.mjs +1203 -657
  35. package/fesm2022/valtimo-components.mjs.map +1 -1
  36. package/lib/components/editor/editor.service.d.ts.map +1 -1
  37. package/lib/components/form/form.component.d.ts +3 -1
  38. package/lib/components/form/form.component.d.ts.map +1 -1
  39. package/lib/components/form-io/form-io-builder.component.d.ts.map +1 -1
  40. package/lib/components/form-io/form-io-builder.utils.d.ts +2 -1
  41. package/lib/components/form-io/form-io-builder.utils.d.ts.map +1 -1
  42. package/lib/components/form-io/form-io.module.d.ts +2 -1
  43. package/lib/components/form-io/form-io.module.d.ts.map +1 -1
  44. package/lib/components/form-io/formio-value-resolver-selector/formio-value-resolver-selector-edit-form.d.ts +7 -0
  45. package/lib/components/form-io/formio-value-resolver-selector/formio-value-resolver-selector-edit-form.d.ts.map +1 -0
  46. package/lib/components/form-io/formio-value-resolver-selector/formio-value-resolver-selector.component.d.ts +18 -0
  47. package/lib/components/form-io/formio-value-resolver-selector/formio-value-resolver-selector.component.d.ts.map +1 -0
  48. package/lib/components/form-io/formio-value-resolver-selector/formio-value-resolver-selector.formio.d.ts +3 -0
  49. package/lib/components/form-io/formio-value-resolver-selector/formio-value-resolver-selector.formio.d.ts.map +1 -0
  50. package/lib/components/input/input.component.d.ts +2 -1
  51. package/lib/components/input/input.component.d.ts.map +1 -1
  52. package/lib/components/paragraph/paragraph.component.d.ts +2 -1
  53. package/lib/components/paragraph/paragraph.component.d.ts.map +1 -1
  54. package/lib/components/prompt/prompt.component.d.ts +2 -2
  55. package/lib/components/prompt/prompt.component.d.ts.map +1 -1
  56. package/lib/components/select/select.component.d.ts +2 -1
  57. package/lib/components/select/select.component.d.ts.map +1 -1
  58. package/lib/components/value-path-selector/value-path-selector.component.d.ts +77 -0
  59. package/lib/components/value-path-selector/value-path-selector.component.d.ts.map +1 -0
  60. package/lib/components/view-content/type-converters/booleanTypeConverter.d.ts +1 -1
  61. package/lib/components/view-content/type-converters/booleanTypeConverter.d.ts.map +1 -1
  62. package/lib/components/view-content/type-converters/currencyTypeConverter.d.ts +1 -0
  63. package/lib/components/view-content/type-converters/currencyTypeConverter.d.ts.map +1 -1
  64. package/lib/components/view-content/type-converters/numberTypeConverter.d.ts +1 -0
  65. package/lib/components/view-content/type-converters/numberTypeConverter.d.ts.map +1 -1
  66. package/lib/components/view-content/type-converters/percentTypeConverter.d.ts +1 -0
  67. package/lib/components/view-content/type-converters/percentTypeConverter.d.ts.map +1 -1
  68. package/lib/models/editor.model.d.ts +1 -6
  69. package/lib/models/editor.model.d.ts.map +1 -1
  70. package/lib/models/index.d.ts +1 -0
  71. package/lib/models/index.d.ts.map +1 -1
  72. package/lib/models/value-path-selector.model.d.ts +25 -0
  73. package/lib/models/value-path-selector.model.d.ts.map +1 -0
  74. package/lib/modules/custom-formio-component/create-custom-component.d.ts +4 -0
  75. package/lib/modules/custom-formio-component/create-custom-component.d.ts.map +1 -1
  76. package/lib/services/index.d.ts +1 -0
  77. package/lib/services/index.d.ts.map +1 -1
  78. package/lib/services/value-path-selector.service.d.ts +25 -0
  79. package/lib/services/value-path-selector.service.d.ts.map +1 -0
  80. package/package.json +13 -13
  81. package/public_api.d.ts +3 -0
  82. package/public_api.d.ts.map +1 -1
@@ -139,11 +139,11 @@ export class SelectComponent {
139
139
  }
140
140
  }
141
141
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
142
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectComponent, selector: "v-select", inputs: { items: "items", defaultSelection: "defaultSelection", defaultSelectionId: "defaultSelectionId", defaultSelectionIds: "defaultSelectionIds", disabled: "disabled", dropUp: "dropUp", multiple: "multiple", margin: "margin", widthInPx: "widthInPx", notFoundText: "notFoundText", clearAllText: "clearAllText", clearText: "clearText", name: "name", title: "title", titleTranslationKey: "titleTranslationKey", clearSelectionSubject$: "clearSelectionSubject$", tooltip: "tooltip", required: "required", loading: "loading", loadingText: "loadingText", placeholder: "placeholder", smallMargin: "smallMargin", carbonTheme: "carbonTheme", appendInline: "appendInline" }, outputs: { selectedChange: "selectedChange" }, usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n placeholderText: placeholder || ('interface.filter' | translate),\n loadingText: loadingText || ('interface.loading' | translate),\n clearText: clearText || ('interface.clear' | translate),\n clearAllText: clearAllText || ('interface.clearAll' | translate),\n notFoundText: notFoundText || ('interface.noItemsFound' | translate),\n items: listItems$ | async\n } as vars\"\n [ngClass]=\"{'--margin': margin, '--small-margin': smallMargin}\"\n class=\"v-select-container\"\n [style.width.px]=\"widthInPx\"\n>\n <v-input-label\n *ngIf=\"title || titleTranslationKey\"\n [name]=\"name\"\n [required]=\"required\"\n [titleTranslationKey]=\"titleTranslationKey\"\n [title]=\"title\"\n [tooltip]=\"tooltip\"\n >\n </v-input-label>\n <cds-combo-box\n [appendInline]=\"appendInline\"\n [clearSelectionTitle]=\"vars.clearText\"\n [clearSelectionsTitle]=\"vars.clearAllText\"\n [disabled]=\"disabled || loading || vars.items.length === 0\"\n [dropUp]=\"dropUp\"\n [placeholder]=\"\n loading\n ? vars.loadingText\n : vars.items.length === 0\n ? vars.notFoundText\n : vars.placeholderText\n \"\n [type]=\"multiple ? 'multi' : 'single'\"\n (clear)=\"clear()\"\n (selected)=\"setSelected($event)\"\n >\n <cds-dropdown-list [items]=\"vars.items\"></cds-dropdown-list>\n </cds-combo-box>\n</div>\n", styles: [".v-select-container.--margin{margin-block-end:var(--v-input-margin)}.v-select-container.--small-margin{margin-block-end:var(--v-input-small-margin)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: i4.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "items", "type", "size", "itemValueKey", "label", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i4.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
142
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectComponent, selector: "v-select", inputs: { items: "items", defaultSelection: "defaultSelection", defaultSelectionId: "defaultSelectionId", defaultSelectionIds: "defaultSelectionIds", disabled: "disabled", dropUp: "dropUp", multiple: "multiple", margin: "margin", widthInPx: "widthInPx", notFoundText: "notFoundText", clearAllText: "clearAllText", clearText: "clearText", name: "name", title: "title", titleTranslationKey: "titleTranslationKey", clearSelectionSubject$: "clearSelectionSubject$", tooltip: "tooltip", required: "required", loading: "loading", loadingText: "loadingText", placeholder: "placeholder", smallMargin: "smallMargin", carbonTheme: "carbonTheme", appendInline: "appendInline", dataTestId: "dataTestId" }, outputs: { selectedChange: "selectedChange" }, usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n placeholderText: placeholder || ('interface.filter' | translate),\n loadingText: loadingText || ('interface.loading' | translate),\n clearText: clearText || ('interface.clear' | translate),\n clearAllText: clearAllText || ('interface.clearAll' | translate),\n notFoundText: notFoundText || ('interface.noItemsFound' | translate),\n items: listItems$ | async\n } as vars\"\n [ngClass]=\"{'--margin': margin, '--small-margin': smallMargin}\"\n class=\"v-select-container\"\n [style.width.px]=\"widthInPx\"\n>\n <v-input-label\n *ngIf=\"title || titleTranslationKey\"\n [name]=\"name\"\n [required]=\"required\"\n [titleTranslationKey]=\"titleTranslationKey\"\n [title]=\"title\"\n [tooltip]=\"tooltip\"\n >\n </v-input-label>\n <cds-combo-box\n [attr.data-testid]=\"dataTestId\"\n [appendInline]=\"appendInline\"\n [clearSelectionTitle]=\"vars.clearText\"\n [clearSelectionsTitle]=\"vars.clearAllText\"\n [disabled]=\"disabled || loading || vars.items.length === 0\"\n [dropUp]=\"dropUp\"\n [placeholder]=\"\n loading\n ? vars.loadingText\n : vars.items.length === 0\n ? vars.notFoundText\n : vars.placeholderText\n \"\n [type]=\"multiple ? 'multi' : 'single'\"\n (clear)=\"clear()\"\n (selected)=\"setSelected($event)\"\n >\n <cds-dropdown-list [items]=\"vars.items\"></cds-dropdown-list>\n </cds-combo-box>\n</div>\n", styles: [".v-select-container.--margin{margin-block-end:var(--v-input-margin)}.v-select-container.--small-margin{margin-block-end:var(--v-input-small-margin)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: i4.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i4.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
143
143
  }
144
144
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectComponent, decorators: [{
145
145
  type: Component,
146
- args: [{ selector: 'v-select', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n placeholderText: placeholder || ('interface.filter' | translate),\n loadingText: loadingText || ('interface.loading' | translate),\n clearText: clearText || ('interface.clear' | translate),\n clearAllText: clearAllText || ('interface.clearAll' | translate),\n notFoundText: notFoundText || ('interface.noItemsFound' | translate),\n items: listItems$ | async\n } as vars\"\n [ngClass]=\"{'--margin': margin, '--small-margin': smallMargin}\"\n class=\"v-select-container\"\n [style.width.px]=\"widthInPx\"\n>\n <v-input-label\n *ngIf=\"title || titleTranslationKey\"\n [name]=\"name\"\n [required]=\"required\"\n [titleTranslationKey]=\"titleTranslationKey\"\n [title]=\"title\"\n [tooltip]=\"tooltip\"\n >\n </v-input-label>\n <cds-combo-box\n [appendInline]=\"appendInline\"\n [clearSelectionTitle]=\"vars.clearText\"\n [clearSelectionsTitle]=\"vars.clearAllText\"\n [disabled]=\"disabled || loading || vars.items.length === 0\"\n [dropUp]=\"dropUp\"\n [placeholder]=\"\n loading\n ? vars.loadingText\n : vars.items.length === 0\n ? vars.notFoundText\n : vars.placeholderText\n \"\n [type]=\"multiple ? 'multi' : 'single'\"\n (clear)=\"clear()\"\n (selected)=\"setSelected($event)\"\n >\n <cds-dropdown-list [items]=\"vars.items\"></cds-dropdown-list>\n </cds-combo-box>\n</div>\n", styles: [".v-select-container.--margin{margin-block-end:var(--v-input-margin)}.v-select-container.--small-margin{margin-block-end:var(--v-input-small-margin)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
146
+ args: [{ selector: 'v-select', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n placeholderText: placeholder || ('interface.filter' | translate),\n loadingText: loadingText || ('interface.loading' | translate),\n clearText: clearText || ('interface.clear' | translate),\n clearAllText: clearAllText || ('interface.clearAll' | translate),\n notFoundText: notFoundText || ('interface.noItemsFound' | translate),\n items: listItems$ | async\n } as vars\"\n [ngClass]=\"{'--margin': margin, '--small-margin': smallMargin}\"\n class=\"v-select-container\"\n [style.width.px]=\"widthInPx\"\n>\n <v-input-label\n *ngIf=\"title || titleTranslationKey\"\n [name]=\"name\"\n [required]=\"required\"\n [titleTranslationKey]=\"titleTranslationKey\"\n [title]=\"title\"\n [tooltip]=\"tooltip\"\n >\n </v-input-label>\n <cds-combo-box\n [attr.data-testid]=\"dataTestId\"\n [appendInline]=\"appendInline\"\n [clearSelectionTitle]=\"vars.clearText\"\n [clearSelectionsTitle]=\"vars.clearAllText\"\n [disabled]=\"disabled || loading || vars.items.length === 0\"\n [dropUp]=\"dropUp\"\n [placeholder]=\"\n loading\n ? vars.loadingText\n : vars.items.length === 0\n ? vars.notFoundText\n : vars.placeholderText\n \"\n [type]=\"multiple ? 'multi' : 'single'\"\n (clear)=\"clear()\"\n (selected)=\"setSelected($event)\"\n >\n <cds-dropdown-list [items]=\"vars.items\"></cds-dropdown-list>\n </cds-combo-box>\n</div>\n", styles: [".v-select-container.--margin{margin-block-end:var(--v-input-margin)}.v-select-container.--small-margin{margin-block-end:var(--v-input-small-margin)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
147
147
  }], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { items: [{
148
148
  type: Input
149
149
  }], defaultSelection: [{
@@ -192,7 +192,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
192
192
  type: Input
193
193
  }], appendInline: [{
194
194
  type: Input
195
+ }], dataTestId: [{
196
+ type: Input
195
197
  }], selectedChange: [{
196
198
  type: Output
197
199
  }] } });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUEyQixNQUFNLE1BQU0sQ0FBQztBQUc5RSxPQUFPLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFPekMsTUFBTSxPQUFPLGVBQWU7SUFDMUIsSUFBb0IsS0FBSyxDQUFDLEtBQXdCO1FBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUNuQixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNsQixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDUCxJQUFJLENBQUMsRUFBRSxDQUNMLENBQUM7Z0JBQ0MsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGNBQWM7Z0JBQ3pDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDWCxRQUFRLEVBQUUsS0FBSzthQUNoQixDQUFhLENBQ2pCO1lBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FDUCxDQUFDO0lBQ0osQ0FBQztJQW9ERCxZQUE2QixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWhEL0MsYUFBUSxHQUFHLEtB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Q2hDLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDMUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzsrR0FwSlUsZUFBZTttR0FBZixlQUFlLGd4QkNyQzVCLDBoRUEwREE7OzRGRHJCYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFVBQVU7cUZBS0EsS0FBSztzQkFBeEIsS0FBSztnQkFjVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1Usa0JBQWtCO3NCQUFqQyxLQUFLO2dCQUNVLG1CQUFtQjtzQkFBbEMsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLG1CQUFtQjtzQkFBbEMsS0FBSztnQkFDVSxzQkFBc0I7c0JBQXJDLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUVXLGNBQWM7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NlbGVjdGVkVmFsdWUsIFNlbGVjdEl0ZW19IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7TGlzdEl0ZW19IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7bWFwLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Ytc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcHVibGljIHNldCBpdGVtcyh2YWx1ZTogQXJyYXk8U2VsZWN0SXRlbT4pIHtcbiAgICB0aGlzLl9saXN0SXRlbXMkLm5leHQoXG4gICAgICBBcnJheS5pc0FycmF5KHZhbHVlKVxuICAgICAgICA/IHZhbHVlLm1hcChcbiAgICAgICAgICAgIGl0ZW0gPT5cbiAgICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBpdGVtLnRleHQgfHwgaXRlbS50cmFuc2xhdGlvbktleSxcbiAgICAgICAgICAgICAgICBpZDogaXRlbS5pZCxcbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICAgIH0pIGFzIExpc3RJdGVtXG4gICAgICAgICAgKVxuICAgICAgICA6IFtdXG4gICAgKTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgZGVmYXVsdFNlbGVjdGlvbiE6IFNlbGVjdEl0ZW07XG4gIEBJbnB1dCgpIHB1YmxpYyBkZWZhdWx0U2VsZWN0aW9uSWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBkZWZhdWx0U2VsZWN0aW9uSWRzITogQXJyYXk8c3RyaW5nPjtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBkcm9wVXA/OiBib29sZWFuO1xuICBASW5wdXQoKSBwdWJsaWMgbXVsdGlwbGUgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIG1hcmdpbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgd2lkdGhJblB4ITogbnVtYmVyO1xuICBASW5wdXQoKSBwdWJsaWMgbm90Rm91bmRUZXh0ITogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgY2xlYXJBbGxUZXh0ITogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgY2xlYXJUZXh0ITogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgbmFtZSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgdGl0bGUgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHRpdGxlVHJhbnNsYXRpb25LZXkgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGNsZWFyU2VsZWN0aW9uU3ViamVjdCQhOiBPYnNlcnZhYmxlPHZvaWQ+O1xuICBASW5wdXQoKSBwdWJsaWMgdG9vbHRpcCA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGxvYWRpbmdUZXh0ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlciA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgc21hbGxNYXJnaW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGNhcmJvblRoZW1lID0gJ2cxMCc7XG4gIEBJbnB1dCgpIHB1YmxpYyBhcHBlbmRJbmxpbmUgPSB0cnVlO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VsZWN0ZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxTZWxlY3RlZFZhbHVlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTZWxlY3RlZFZhbHVlPignJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2xpc3RJdGVtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PExpc3RJdGVtPj4oW10pO1xuICBwdWJsaWMgcmVhZG9ubHkgbGlzdEl0ZW1zJDogT2JzZXJ2YWJsZTxBcnJheTxMaXN0SXRlbT4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5fbGlzdEl0ZW1zJCxcbiAgICB0aGlzLnNlbGVjdGVkJCxcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKSxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtsaXN0SXRlbXMsIHNlbGVjdGVkXSkgPT5cbiAgICAgIGxpc3RJdGVtcy5tYXAobGlzdEl0ZW0gPT4ge1xuICAgICAgICBjb25zdCB0cmFuc2xhdGlvbiA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGxpc3RJdGVtLmNvbnRlbnQpO1xuICAgICAgICBjb25zdCBpc1NlbGVjdGVkOiBib29sZWFuID0gQXJyYXkuaXNBcnJheShzZWxlY3RlZClcbiAgICAgICAgICA/IHNlbGVjdGVkLmluY2x1ZGVzKGxpc3RJdGVtLmlkKVxuICAgICAgICAgIDogc2VsZWN0ZWQgPT09IGxpc3RJdGVtLmlkO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ubGlzdEl0ZW0sXG4gICAgICAgICAgc2VsZWN0ZWQ6IGlzU2VsZWN0ZWQsXG4gICAgICAgICAgY29udGVudDogdHJhbnNsYXRpb24gIT09IGxpc3RJdGVtLmNvbnRlbnQgPyB0cmFuc2xhdGlvbiA6IGxpc3RJdGVtLmNvbnRlbnQsXG4gICAgICAgIH07XG4gICAgICB9KVxuICAgIClcbiAgKTtcbiAgcHJpdmF0ZSBfc2VsZWN0ZWRTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgX2NsZWFyU3ViamVjdFN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0RGVmYXVsdFNlbGVjdGlvbigpO1xuICAgIHRoaXMub3BlblNlbGVjdGVkU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5vcGVuQ2xlYXJTdWJqZWN0U3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIGNoYW5nZXM/Lml0ZW1zPy5jdXJyZW50VmFsdWUgfHxcbiAgICAgIGNoYW5nZXM/LmRlZmF1bHRTZWxlY3Rpb25JZD8uY3VycmVudFZhbHVlIHx8XG4gICAgICBjaGFuZ2VzPy5kZWZhdWx0U2VsZWN0aW9uPy5jdXJyZW50VmFsdWUgfHxcbiAgICAgIGNoYW5nZXM/LmRlZmF1bHRTZWxlY3Rpb25JZHM/LmN1cnJlbnRWYWx1ZVxuICAgICkge1xuICAgICAgdGhpcy5zZXREZWZhdWx0U2VsZWN0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGVkU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX2NsZWFyU3ViamVjdFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTZWxlY3RlZChzZWxlY3RlZFZhbHVlOiBMaXN0SXRlbSB8IEFycmF5PExpc3RJdGVtPik6IHZvaWQge1xuICAgIGNvbnN0IGlkID0gIUFycmF5LmlzQXJyYXkoc2VsZWN0ZWRWYWx1ZSkgJiYgc2VsZWN0ZWRWYWx1ZT8uaWQ7XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShzZWxlY3RlZFZhbHVlKSkge1xuICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKHNlbGVjdGVkVmFsdWUubWFwKHZhbHVlID0+IHZhbHVlLmlkKSk7XG4gICAgfSBlbHNlIGlmIChpZCAmJiB0eXBlb2YgaWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUoaWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRTZWxlY3RlZFZhbHVlKHNlbGVjdGVkVmFsdWU6IFNlbGVjdGVkVmFsdWUpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShjdXJyZW50U2VsZWN0ZWQgPT4ge1xuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGN1cnJlbnRTZWxlY3RlZCkgIT09IEpTT04uc3RyaW5naWZ5KHNlbGVjdGVkVmFsdWUpKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQkLm5leHQoc2VsZWN0ZWRWYWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKHRoaXMubXVsdGlwbGUgPyBbXSA6ICcnKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RGVmYXVsdFNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RJdGVtcyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUobGlzdEl0ZW1zID0+IHtcbiAgICAgIGNvbnN0IGl0ZW1zSWRzID0gbGlzdEl0ZW1zPy5tYXAoaXRlbSA9PiBpdGVtLmlkKTtcbiAgICAgIGNvbnN0IGRlZmF1bHRTZWxlY3Rpb25JZHMgPSB0aGlzLmRlZmF1bHRTZWxlY3Rpb25JZHM7XG4gICAgICBjb25zdCBkZWZhdWx0U2VsZWN0aW9uSWQgPSB0aGlzLmRlZmF1bHRTZWxlY3Rpb24/LmlkIHx8IHRoaXMuZGVmYXVsdFNlbGVjdGlvbklkO1xuXG4gICAgICBpZiAodGhpcy5tdWx0aXBsZSAmJiB0aGlzLmRlZmF1bHRTZWxlY3Rpb25JZHMpIHtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKFsuLi5kZWZhdWx0U2VsZWN0aW9uSWRzXSk7XG4gICAgICB9IGVsc2UgaWYgKGRlZmF1bHRTZWxlY3Rpb25JZCAmJiBpdGVtc0lkcz8uaW5jbHVkZXMoZGVmYXVsdFNlbGVjdGlvbklkKSkge1xuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRWYWx1ZShbZGVmYXVsdFNlbGVjdGlvbklkXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKGRlZmF1bHRTZWxlY3Rpb25JZCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZGVmYXVsdFNlbGVjdGlvbklkICYmICFpdGVtc0lkcz8uaW5jbHVkZXMoZGVmYXVsdFNlbGVjdGlvbklkKSkge1xuICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TZWxlY3RlZFN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zZWxlY3RlZFN1YnNjcmlwdGlvbiA9IHRoaXMuc2VsZWN0ZWQkLnN1YnNjcmliZShzZWxlY3RlZFZhbHVlID0+IHtcbiAgICAgIGNvbnN0IGRlZmF1bHRTZWxlY3Rpb25JZCA9IHRoaXMuZGVmYXVsdFNlbGVjdGlvbj8uaWQgfHwgdGhpcy5kZWZhdWx0U2VsZWN0aW9uSWQ7XG5cbiAgICAgIGlmICgoIXRoaXMubXVsdGlwbGUgJiYgc2VsZWN0ZWRWYWx1ZSAhPT0gZGVmYXVsdFNlbGVjdGlvbklkKSB8fCB0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChzZWxlY3RlZFZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkNsZWFyU3ViamVjdFN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jbGVhclNlbGVjdGlvblN1YmplY3QkKSB7XG4gICAgICB0aGlzLl9jbGVhclN1YmplY3RTdWJzY3JpcHRpb24gPSB0aGlzLmNsZWFyU2VsZWN0aW9uU3ViamVjdCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXZcbiAgKm5nSWY9XCJ7XG4gICAgcGxhY2Vob2xkZXJUZXh0OiBwbGFjZWhvbGRlciB8fCAoJ2ludGVyZmFjZS5maWx0ZXInIHwgdHJhbnNsYXRlKSxcbiAgICBsb2FkaW5nVGV4dDogbG9hZGluZ1RleHQgfHwgKCdpbnRlcmZhY2UubG9hZGluZycgfCB0cmFuc2xhdGUpLFxuICAgIGNsZWFyVGV4dDogY2xlYXJUZXh0IHx8ICgnaW50ZXJmYWNlLmNsZWFyJyB8IHRyYW5zbGF0ZSksXG4gICAgY2xlYXJBbGxUZXh0OiBjbGVhckFsbFRleHQgfHwgKCdpbnRlcmZhY2UuY2xlYXJBbGwnIHwgdHJhbnNsYXRlKSxcbiAgICBub3RGb3VuZFRleHQ6IG5vdEZvdW5kVGV4dCB8fCAoJ2ludGVyZmFjZS5ub0l0ZW1zRm91bmQnIHwgdHJhbnNsYXRlKSxcbiAgICBpdGVtczogbGlzdEl0ZW1zJCB8IGFzeW5jXG4gIH0gYXMgdmFyc1wiXG4gIFtuZ0NsYXNzXT1cInsnLS1tYXJnaW4nOiBtYXJnaW4sICctLXNtYWxsLW1hcmdpbic6IHNtYWxsTWFyZ2lufVwiXG4gIGNsYXNzPVwidi1zZWxlY3QtY29udGFpbmVyXCJcbiAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoSW5QeFwiXG4+XG4gIDx2LWlucHV0LWxhYmVsXG4gICAgKm5nSWY9XCJ0aXRsZSB8fCB0aXRsZVRyYW5zbGF0aW9uS2V5XCJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIFt0aXRsZVRyYW5zbGF0aW9uS2V5XT1cInRpdGxlVHJhbnNsYXRpb25LZXlcIlxuICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgW3Rvb2x0aXBdPVwidG9vbHRpcFwiXG4gID5cbiAgPC92LWlucHV0LWxhYmVsPlxuICA8Y2RzLWNvbWJvLWJveFxuICAgIFthcHBlbmRJbmxpbmVdPVwiYXBwZW5kSW5saW5lXCJcbiAgICBbY2xlYXJTZWxlY3Rpb25UaXRsZV09XCJ2YXJzLmNsZWFyVGV4dFwiXG4gICAgW2NsZWFyU2VsZWN0aW9uc1RpdGxlXT1cInZhcnMuY2xlYXJBbGxUZXh0XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbG9hZGluZyB8fCB2YXJzLml0ZW1zLmxlbmd0aCA9PT0gMFwiXG4gICAgW2Ryb3BVcF09XCJkcm9wVXBcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJcbiAgICAgIGxvYWRpbmdcbiAgICAgICAgPyB2YXJzLmxvYWRpbmdUZXh0XG4gICAgICAgIDogdmFycy5pdGVtcy5sZW5ndGggPT09IDBcbiAgICAgICAgICA/IHZhcnMubm90Rm91bmRUZXh0XG4gICAgICAgICAgOiB2YXJzLnBsYWNlaG9sZGVyVGV4dFxuICAgIFwiXG4gICAgW3R5cGVdPVwibXVsdGlwbGUgPyAnbXVsdGknIDogJ3NpbmdsZSdcIlxuICAgIChjbGVhcik9XCJjbGVhcigpXCJcbiAgICAoc2VsZWN0ZWQpPVwic2V0U2VsZWN0ZWQoJGV2ZW50KVwiXG4gID5cbiAgICA8Y2RzLWRyb3Bkb3duLWxpc3QgW2l0ZW1zXT1cInZhcnMuaXRlbXNcIj48L2Nkcy1kcm9wZG93bi1saXN0PlxuICA8L2Nkcy1jb21iby1ib3g+XG48L2Rpdj5cbiJdfQ==
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUEyQixNQUFNLE1BQU0sQ0FBQztBQUc5RSxPQUFPLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFPekMsTUFBTSxPQUFPLGVBQWU7SUFDMUIsSUFBb0IsS0FBSyxDQUFDLEtBQXdCO1FBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUNuQixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNsQixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDUCxJQUFJLENBQUMsRUFBRSxDQUNMLENBQUM7Z0JBQ0MsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGNBQWM7Z0JBQ3pDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDWCxRQUFRLEVBQUUsS0FBSzthQUNoQixDQUFhLENBQ2pCO1lBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FDUCxDQUFDO0lBQ0osQ0FBQztJQXFERCxZQUE2QixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWpEL0MsYUFBUSxHQUFHLEtB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Q2hDLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDMUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzsrR0FySlUsZUFBZTttR0FBZixlQUFlLDB5QkNyQzVCLGlrRUEyREE7OzRGRHRCYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFVBQVU7cUZBS0EsS0FBSztzQkFBeEIsS0FBSztnQkFjVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1Usa0JBQWtCO3NCQUFqQyxLQUFLO2dCQUNVLG1CQUFtQjtzQkFBbEMsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLG1CQUFtQjtzQkFBbEMsS0FBSztnQkFDVSxzQkFBc0I7c0JBQXJDLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBRVcsY0FBYztzQkFBOUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U2VsZWN0ZWRWYWx1ZSwgU2VsZWN0SXRlbX0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtMaXN0SXRlbX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHttYXAsIHRha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndi1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IGl0ZW1zKHZhbHVlOiBBcnJheTxTZWxlY3RJdGVtPikge1xuICAgIHRoaXMuX2xpc3RJdGVtcyQubmV4dChcbiAgICAgIEFycmF5LmlzQXJyYXkodmFsdWUpXG4gICAgICAgID8gdmFsdWUubWFwKFxuICAgICAgICAgICAgaXRlbSA9PlxuICAgICAgICAgICAgICAoe1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGl0ZW0udGV4dCB8fCBpdGVtLnRyYW5zbGF0aW9uS2V5LFxuICAgICAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgfSkgYXMgTGlzdEl0ZW1cbiAgICAgICAgICApXG4gICAgICAgIDogW11cbiAgICApO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBkZWZhdWx0U2VsZWN0aW9uITogU2VsZWN0SXRlbTtcbiAgQElucHV0KCkgcHVibGljIGRlZmF1bHRTZWxlY3Rpb25JZCE6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGRlZmF1bHRTZWxlY3Rpb25JZHMhOiBBcnJheTxzdHJpbmc+O1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGRyb3BVcD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHB1YmxpYyBtdWx0aXBsZSA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgbWFyZ2luID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyB3aWR0aEluUHghOiBudW1iZXI7XG4gIEBJbnB1dCgpIHB1YmxpYyBub3RGb3VuZFRleHQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBjbGVhckFsbFRleHQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBjbGVhclRleHQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBuYW1lID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyB0aXRsZSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgdGl0bGVUcmFuc2xhdGlvbktleSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgY2xlYXJTZWxlY3Rpb25TdWJqZWN0JCE6IE9ic2VydmFibGU8dm9pZD47XG4gIEBJbnB1dCgpIHB1YmxpYyB0b29sdGlwID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyByZXF1aXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgbG9hZGluZ1RleHQgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzbWFsbE1hcmdpbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgY2FyYm9uVGhlbWUgPSAnZzEwJztcbiAgQElucHV0KCkgcHVibGljIGFwcGVuZElubGluZSA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBkYXRhVGVzdElkPzogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VsZWN0ZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxTZWxlY3RlZFZhbHVlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTZWxlY3RlZFZhbHVlPignJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2xpc3RJdGVtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PExpc3RJdGVtPj4oW10pO1xuICBwdWJsaWMgcmVhZG9ubHkgbGlzdEl0ZW1zJDogT2JzZXJ2YWJsZTxBcnJheTxMaXN0SXRlbT4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5fbGlzdEl0ZW1zJCxcbiAgICB0aGlzLnNlbGVjdGVkJCxcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKSxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtsaXN0SXRlbXMsIHNlbGVjdGVkXSkgPT5cbiAgICAgIGxpc3RJdGVtcy5tYXAobGlzdEl0ZW0gPT4ge1xuICAgICAgICBjb25zdCB0cmFuc2xhdGlvbiA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGxpc3RJdGVtLmNvbnRlbnQpO1xuICAgICAgICBjb25zdCBpc1NlbGVjdGVkOiBib29sZWFuID0gQXJyYXkuaXNBcnJheShzZWxlY3RlZClcbiAgICAgICAgICA/IHNlbGVjdGVkLmluY2x1ZGVzKGxpc3RJdGVtLmlkKVxuICAgICAgICAgIDogc2VsZWN0ZWQgPT09IGxpc3RJdGVtLmlkO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ubGlzdEl0ZW0sXG4gICAgICAgICAgc2VsZWN0ZWQ6IGlzU2VsZWN0ZWQsXG4gICAgICAgICAgY29udGVudDogdHJhbnNsYXRpb24gIT09IGxpc3RJdGVtLmNvbnRlbnQgPyB0cmFuc2xhdGlvbiA6IGxpc3RJdGVtLmNvbnRlbnQsXG4gICAgICAgIH07XG4gICAgICB9KVxuICAgIClcbiAgKTtcbiAgcHJpdmF0ZSBfc2VsZWN0ZWRTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgX2NsZWFyU3ViamVjdFN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0RGVmYXVsdFNlbGVjdGlvbigpO1xuICAgIHRoaXMub3BlblNlbGVjdGVkU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5vcGVuQ2xlYXJTdWJqZWN0U3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIGNoYW5nZXM/Lml0ZW1zPy5jdXJyZW50VmFsdWUgfHxcbiAgICAgIGNoYW5nZXM/LmRlZmF1bHRTZWxlY3Rpb25JZD8uY3VycmVudFZhbHVlIHx8XG4gICAgICBjaGFuZ2VzPy5kZWZhdWx0U2VsZWN0aW9uPy5jdXJyZW50VmFsdWUgfHxcbiAgICAgIGNoYW5nZXM/LmRlZmF1bHRTZWxlY3Rpb25JZHM/LmN1cnJlbnRWYWx1ZVxuICAgICkge1xuICAgICAgdGhpcy5zZXREZWZhdWx0U2VsZWN0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGVkU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX2NsZWFyU3ViamVjdFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTZWxlY3RlZChzZWxlY3RlZFZhbHVlOiBMaXN0SXRlbSB8IEFycmF5PExpc3RJdGVtPik6IHZvaWQge1xuICAgIGNvbnN0IGlkID0gIUFycmF5LmlzQXJyYXkoc2VsZWN0ZWRWYWx1ZSkgJiYgc2VsZWN0ZWRWYWx1ZT8uaWQ7XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShzZWxlY3RlZFZhbHVlKSkge1xuICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKHNlbGVjdGVkVmFsdWUubWFwKHZhbHVlID0+IHZhbHVlLmlkKSk7XG4gICAgfSBlbHNlIGlmIChpZCAmJiB0eXBlb2YgaWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUoaWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRTZWxlY3RlZFZhbHVlKHNlbGVjdGVkVmFsdWU6IFNlbGVjdGVkVmFsdWUpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShjdXJyZW50U2VsZWN0ZWQgPT4ge1xuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGN1cnJlbnRTZWxlY3RlZCkgIT09IEpTT04uc3RyaW5naWZ5KHNlbGVjdGVkVmFsdWUpKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQkLm5leHQoc2VsZWN0ZWRWYWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKHRoaXMubXVsdGlwbGUgPyBbXSA6ICcnKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RGVmYXVsdFNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RJdGVtcyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUobGlzdEl0ZW1zID0+IHtcbiAgICAgIGNvbnN0IGl0ZW1zSWRzID0gbGlzdEl0ZW1zPy5tYXAoaXRlbSA9PiBpdGVtLmlkKTtcbiAgICAgIGNvbnN0IGRlZmF1bHRTZWxlY3Rpb25JZHMgPSB0aGlzLmRlZmF1bHRTZWxlY3Rpb25JZHM7XG4gICAgICBjb25zdCBkZWZhdWx0U2VsZWN0aW9uSWQgPSB0aGlzLmRlZmF1bHRTZWxlY3Rpb24/LmlkIHx8IHRoaXMuZGVmYXVsdFNlbGVjdGlvbklkO1xuXG4gICAgICBpZiAodGhpcy5tdWx0aXBsZSAmJiB0aGlzLmRlZmF1bHRTZWxlY3Rpb25JZHMpIHtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKFsuLi5kZWZhdWx0U2VsZWN0aW9uSWRzXSk7XG4gICAgICB9IGVsc2UgaWYgKGRlZmF1bHRTZWxlY3Rpb25JZCAmJiBpdGVtc0lkcz8uaW5jbHVkZXMoZGVmYXVsdFNlbGVjdGlvbklkKSkge1xuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRWYWx1ZShbZGVmYXVsdFNlbGVjdGlvbklkXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKGRlZmF1bHRTZWxlY3Rpb25JZCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZGVmYXVsdFNlbGVjdGlvbklkICYmICFpdGVtc0lkcz8uaW5jbHVkZXMoZGVmYXVsdFNlbGVjdGlvbklkKSkge1xuICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TZWxlY3RlZFN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zZWxlY3RlZFN1YnNjcmlwdGlvbiA9IHRoaXMuc2VsZWN0ZWQkLnN1YnNjcmliZShzZWxlY3RlZFZhbHVlID0+IHtcbiAgICAgIGNvbnN0IGRlZmF1bHRTZWxlY3Rpb25JZCA9IHRoaXMuZGVmYXVsdFNlbGVjdGlvbj8uaWQgfHwgdGhpcy5kZWZhdWx0U2VsZWN0aW9uSWQ7XG5cbiAgICAgIGlmICgoIXRoaXMubXVsdGlwbGUgJiYgc2VsZWN0ZWRWYWx1ZSAhPT0gZGVmYXVsdFNlbGVjdGlvbklkKSB8fCB0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChzZWxlY3RlZFZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkNsZWFyU3ViamVjdFN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jbGVhclNlbGVjdGlvblN1YmplY3QkKSB7XG4gICAgICB0aGlzLl9jbGVhclN1YmplY3RTdWJzY3JpcHRpb24gPSB0aGlzLmNsZWFyU2VsZWN0aW9uU3ViamVjdCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXZcbiAgKm5nSWY9XCJ7XG4gICAgcGxhY2Vob2xkZXJUZXh0OiBwbGFjZWhvbGRlciB8fCAoJ2ludGVyZmFjZS5maWx0ZXInIHwgdHJhbnNsYXRlKSxcbiAgICBsb2FkaW5nVGV4dDogbG9hZGluZ1RleHQgfHwgKCdpbnRlcmZhY2UubG9hZGluZycgfCB0cmFuc2xhdGUpLFxuICAgIGNsZWFyVGV4dDogY2xlYXJUZXh0IHx8ICgnaW50ZXJmYWNlLmNsZWFyJyB8IHRyYW5zbGF0ZSksXG4gICAgY2xlYXJBbGxUZXh0OiBjbGVhckFsbFRleHQgfHwgKCdpbnRlcmZhY2UuY2xlYXJBbGwnIHwgdHJhbnNsYXRlKSxcbiAgICBub3RGb3VuZFRleHQ6IG5vdEZvdW5kVGV4dCB8fCAoJ2ludGVyZmFjZS5ub0l0ZW1zRm91bmQnIHwgdHJhbnNsYXRlKSxcbiAgICBpdGVtczogbGlzdEl0ZW1zJCB8IGFzeW5jXG4gIH0gYXMgdmFyc1wiXG4gIFtuZ0NsYXNzXT1cInsnLS1tYXJnaW4nOiBtYXJnaW4sICctLXNtYWxsLW1hcmdpbic6IHNtYWxsTWFyZ2lufVwiXG4gIGNsYXNzPVwidi1zZWxlY3QtY29udGFpbmVyXCJcbiAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoSW5QeFwiXG4+XG4gIDx2LWlucHV0LWxhYmVsXG4gICAgKm5nSWY9XCJ0aXRsZSB8fCB0aXRsZVRyYW5zbGF0aW9uS2V5XCJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIFt0aXRsZVRyYW5zbGF0aW9uS2V5XT1cInRpdGxlVHJhbnNsYXRpb25LZXlcIlxuICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgW3Rvb2x0aXBdPVwidG9vbHRpcFwiXG4gID5cbiAgPC92LWlucHV0LWxhYmVsPlxuICA8Y2RzLWNvbWJvLWJveFxuICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cImRhdGFUZXN0SWRcIlxuICAgIFthcHBlbmRJbmxpbmVdPVwiYXBwZW5kSW5saW5lXCJcbiAgICBbY2xlYXJTZWxlY3Rpb25UaXRsZV09XCJ2YXJzLmNsZWFyVGV4dFwiXG4gICAgW2NsZWFyU2VsZWN0aW9uc1RpdGxlXT1cInZhcnMuY2xlYXJBbGxUZXh0XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbG9hZGluZyB8fCB2YXJzLml0ZW1zLmxlbmd0aCA9PT0gMFwiXG4gICAgW2Ryb3BVcF09XCJkcm9wVXBcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJcbiAgICAgIGxvYWRpbmdcbiAgICAgICAgPyB2YXJzLmxvYWRpbmdUZXh0XG4gICAgICAgIDogdmFycy5pdGVtcy5sZW5ndGggPT09IDBcbiAgICAgICAgICA/IHZhcnMubm90Rm91bmRUZXh0XG4gICAgICAgICAgOiB2YXJzLnBsYWNlaG9sZGVyVGV4dFxuICAgIFwiXG4gICAgW3R5cGVdPVwibXVsdGlwbGUgPyAnbXVsdGknIDogJ3NpbmdsZSdcIlxuICAgIChjbGVhcik9XCJjbGVhcigpXCJcbiAgICAoc2VsZWN0ZWQpPVwic2V0U2VsZWN0ZWQoJGV2ZW50KVwiXG4gID5cbiAgICA8Y2RzLWRyb3Bkb3duLWxpc3QgW2l0ZW1zXT1cInZhcnMuaXRlbXNcIj48L2Nkcy1kcm9wZG93bi1saXN0PlxuICA8L2Nkcy1jb21iby1ib3g+XG48L2Rpdj5cbiJdfQ==
@@ -67,7 +67,7 @@ export class StatusSelectorComponent {
67
67
  });
68
68
  }
69
69
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StatusSelectorComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: StatusSelectorComponent, isStandalone: true, selector: "valtimo-status-selector", inputs: { statuses: "statuses", selectedStatuses: "selectedStatuses", carbonTheme: "carbonTheme", disabled: "disabled" }, outputs: { selectedStatusesChangeEvent: "selectedStatusesChangeEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-label class=\"status-selector\" *ngIf=\"listItems$ | async as listItems\">\n {{ 'dossierManagement.statuses.searchFieldTitle' | translate }}\n\n <cds-dropdown\n [appendInline]=\"false\"\n type=\"multi\"\n [disabled]=\"disabled\"\n selectionFeedback=\"fixed\"\n (selected)=\"itemSelected($event)\"\n >\n <cds-dropdown-list\n [items]=\"listItems\"\n [listTpl]=\"colorDropdownItemTemplate\"\n ></cds-dropdown-list>\n </cds-dropdown>\n</cds-label>\n\n<ng-template #colorDropdownItemTemplate let-item=\"item\">\n <div class=\"status-selector-dropdown-template\">\n <cds-checkbox [checked]=\"item.selected\"></cds-checkbox>\n\n <span *ngIf=\"item.key === CASES_WITHOUT_STATUS_KEY\" class=\"generic-span\">{{\n item?.content\n }}</span>\n\n <cds-tag\n *ngIf=\"item.key !== CASES_WITHOUT_STATUS_KEY\"\n class=\"cds-tag--no-margin\"\n [type]=\"item?.tagType\"\n >\n {{ item?.content }}\n </cds-tag>\n </div>\n</ng-template>\n", styles: ["::ng-deep .status-selector .cds--label{width:100%;margin-bottom:0!important}::ng-deep .status-selector .cds--multiselect{margin-top:8px}::ng-deep .status-selector-dropdown-template{display:flex;margin-top:-4px}::ng-deep .status-selector-dropdown-template .cds--tag{margin:0}::ng-deep .status-selector-dropdown-template .generic-span{display:flex;align-items:center}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i3.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i3.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i3.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i3.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
70
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: StatusSelectorComponent, isStandalone: true, selector: "valtimo-status-selector", inputs: { statuses: "statuses", selectedStatuses: "selectedStatuses", carbonTheme: "carbonTheme", disabled: "disabled" }, outputs: { selectedStatusesChangeEvent: "selectedStatusesChangeEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-label class=\"status-selector\" *ngIf=\"listItems$ | async as listItems\">\n {{ 'dossierManagement.statuses.searchFieldTitle' | translate }}\n\n <cds-dropdown\n [appendInline]=\"false\"\n type=\"multi\"\n [disabled]=\"disabled\"\n selectionFeedback=\"fixed\"\n (selected)=\"itemSelected($event)\"\n >\n <cds-dropdown-list\n [items]=\"listItems\"\n [listTpl]=\"colorDropdownItemTemplate\"\n ></cds-dropdown-list>\n </cds-dropdown>\n</cds-label>\n\n<ng-template #colorDropdownItemTemplate let-item=\"item\">\n <div class=\"status-selector-dropdown-template\">\n <cds-checkbox [checked]=\"item.selected\"></cds-checkbox>\n\n <span *ngIf=\"item.key === CASES_WITHOUT_STATUS_KEY\" class=\"generic-span\">{{\n item?.content\n }}</span>\n\n <cds-tag\n *ngIf=\"item.key !== CASES_WITHOUT_STATUS_KEY\"\n class=\"cds-tag--no-margin\"\n [type]=\"item?.tagType\"\n >\n {{ item?.content }}\n </cds-tag>\n </div>\n</ng-template>\n", styles: ["::ng-deep .status-selector .cds--label{width:100%;margin-bottom:0!important}::ng-deep .status-selector .cds--multiselect{margin-top:8px}::ng-deep .status-selector-dropdown-template{display:flex;margin-top:-4px}::ng-deep .status-selector-dropdown-template .cds--tag{margin:0}::ng-deep .status-selector-dropdown-template .generic-span{display:flex;align-items:center}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i3.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i3.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i3.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i3.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
71
71
  }
72
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StatusSelectorComponent, decorators: [{
73
73
  type: Component,
@@ -83,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
83
83
  }], selectedStatusesChangeEvent: [{
84
84
  type: Output
85
85
  }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RhdHVzLXNlbGVjdG9yL3N0YXR1cy1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0YXR1cy1zZWxlY3Rvci9zdGF0dXMtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQXFCLHVCQUF1QixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDOUUsT0FBTyxFQUNMLGNBQWMsRUFDZCxjQUFjLEVBQ2QsV0FBVyxFQUVYLFNBQVMsR0FDVixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFDLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQy9CLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7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LEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFOUIsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F2RFUsdUJBQXVCO21HQUF2Qix1QkFBdUIsc1JDekNwQywybkRBa0RBLHNpQ0RYWSxZQUFZLHVMQUFFLGNBQWMsbXJCQUFFLGNBQWMseVRBQUUsV0FBVyxrT0FBRSxlQUFlLDJGQUFFLFNBQVM7OzRGQUVwRix1QkFBdUI7a0JBUm5DLFNBQVM7K0JBQ0UseUJBQXlCLGNBR3ZCLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsU0FBUyxDQUFDO3FGQUc1RSxRQUFRO3NCQUEzQixLQUFLO2dCQVFjLGdCQUFnQjtzQkFBbkMsS0FBSztnQkFHVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBRVcsMkJBQTJCO3NCQUEzQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0ludGVybmFsQ2FzZVN0YXR1cywgSW50ZXJuYWxDYXNlU3RhdHVzVXRpbHN9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7XG4gIENoZWNrYm94TW9kdWxlLFxuICBEcm9wZG93bk1vZHVsZSxcbiAgSW5wdXRNb2R1bGUsXG4gIExpc3RJdGVtLFxuICBUYWdNb2R1bGUsXG59IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuaW1wb3J0IHtDQVJCT05fVEhFTUV9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgdGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtpc0VxdWFsfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtDQVNFU19XSVRIT1VUX1NUQVRVU19LRVl9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tc3RhdHVzLXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0YXR1cy1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0YXR1cy1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRHJvcGRvd25Nb2R1bGUsIENoZWNrYm94TW9kdWxlLCBJbnB1dE1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBUYWdNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTdGF0dXNTZWxlY3RvckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgc3RhdHVzZXModmFsdWU6IEludGVybmFsQ2FzZVN0YXR1c1tdKSB7XG4gICAgdGhpcy5fc3RhdHVzZXMkLm5leHQoXG4gICAgICAodmFsdWUgfHwgW10pLm1hcChzdGF0dXMgPT4gKHtcbiAgICAgICAgLi4uc3RhdHVzLFxuICAgICAgICB0YWdUeXBlOiBJbnRlcm5hbENhc2VTdGF0dXNVdGlscy5nZXRUYWdUeXBlRnJvbUludGVybmFsQ2FzZVN0YXR1c0NvbG9yKHN0YXR1cy5jb2xvciksXG4gICAgICB9KSlcbiAgICApO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgc2VsZWN0ZWRTdGF0dXNlcyh2YWx1ZTogSW50ZXJuYWxDYXNlU3RhdHVzW10pIHtcbiAgICB0aGlzLl9zZWxlY3RlZFN0YXR1c2VzJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgY2FyYm9uVGhlbWU6IENBUkJPTl9USEVNRSA9IENBUkJPTl9USEVNRS5XSElURTtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkITogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdGVkU3RhdHVzZXNDaGFuZ2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8SW50ZXJuYWxDYXNlU3RhdHVzW10+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhdHVzZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJbnRlcm5hbENhc2VTdGF0dXNbXT4oW10pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGVkU3RhdHVzZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJbnRlcm5hbENhc2VTdGF0dXNbXT4oW10pO1xuXG4gIHB1YmxpYyByZWFkb25seSBDQVNFU19XSVRIT1VUX1NUQVRVU19LRVkgPSBDQVNFU19XSVRIT1VUX1NUQVRVU19LRVk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGxpc3RJdGVtcyQ6IE9ic2VydmFibGU8TGlzdEl0ZW1bXT4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLl9zdGF0dXNlcyQsXG4gICAgdGhpcy5fc2VsZWN0ZWRTdGF0dXNlcyQsXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JyksXG4gIF0pLnBpcGUoXG4gICAgZmlsdGVyKChbc3RhdHVzZXMsIHNlbGVjdGVkU3RhdHVzZXNdKSA9PiAhIXN0YXR1c2VzICYmICEhc2VsZWN0ZWRTdGF0dXNlcyksXG4gICAgbWFwKChbc3RhdHVzZXMsIHNlbGVjdGVkU3RhdHVzZXNdKSA9PlxuICAgICAgc3RhdHVzZXMubWFwKHN0YXR1cyA9PiAoe1xuICAgICAgICBjb250ZW50OlxuICAgICAgICAgIHN0YXR1cy5rZXkgPT09IHRoaXMuQ0FTRVNfV0lUSE9VVF9TVEFUVVNfS0VZXG4gICAgICAgICAgICA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdkb3NzaWVyTWFuYWdlbWVudC5zdGF0dXNlcy53aXRob3V0U3RhdHVzJylcbiAgICAgICAgICAgIDogc3RhdHVzLnRpdGxlLFxuICAgICAgICBzZWxlY3RlZDogISFzZWxlY3RlZFN0YXR1c2VzLmZpbmQoc2VsZWN0ZWRTdGF0dXMgPT4gc2VsZWN0ZWRTdGF0dXMua2V5ID09PSBzdGF0dXMua2V5KSxcbiAgICAgICAga2V5OiBzdGF0dXMua2V5LFxuICAgICAgICB0YWdUeXBlOiBzdGF0dXMudGFnVHlwZSxcbiAgICAgIH0pKVxuICAgICksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHByZXZpb3VzLCBjdXJyZW50KSA9PiBpc0VxdWFsKHByZXZpb3VzLCBjdXJyZW50KSlcbiAgKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGl0ZW1TZWxlY3RlZChldmVudDogTGlzdEl0ZW1bXSk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1NlbGVjdGVkSXRlbXMgPSBldmVudD8uZmlsdGVyKGl0ZW0gPT4gaXRlbT8uc2VsZWN0ZWQpIHx8IFtdO1xuXG4gICAgdGhpcy5fc3RhdHVzZXMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHN0YXR1c2VzID0+IHtcbiAgICAgIGNvbnN0IG5ld1NlbGVjdGVkU3RhdHVzZXMgPSBuZXdTZWxlY3RlZEl0ZW1zXG4gICAgICAgIC5tYXAoaXRlbSA9PiBzdGF0dXNlcy5maW5kKHN0YXR1cyA9PiBzdGF0dXMua2V5ID09PSBpdGVtLmtleSkpXG4gICAgICAgIC5maWx0ZXIoc3RhdHVzID0+ICEhc3RhdHVzKTtcblxuICAgICAgdGhpcy5zZWxlY3RlZFN0YXR1c2VzQ2hhbmdlRXZlbnQuZW1pdChuZXdTZWxlY3RlZFN0YXR1c2VzKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48Y2RzLWxhYmVsIGNsYXNzPVwic3RhdHVzLXNlbGVjdG9yXCIgKm5nSWY9XCJsaXN0SXRlbXMkIHwgYXN5bmMgYXMgbGlzdEl0ZW1zXCI+XG4gIHt7ICdkb3NzaWVyTWFuYWdlbWVudC5zdGF0dXNlcy5zZWFyY2hGaWVsZFRpdGxlJyB8IHRyYW5zbGF0ZSB9fVxuXG4gIDxjZHMtZHJvcGRvd25cbiAgICBbYXBwZW5kSW5saW5lXT1cImZhbHNlXCJcbiAgICB0eXBlPVwibXVsdGlcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgc2VsZWN0aW9uRmVlZGJhY2s9XCJmaXhlZFwiXG4gICAgKHNlbGVjdGVkKT1cIml0ZW1TZWxlY3RlZCgkZXZlbnQpXCJcbiAgPlxuICAgIDxjZHMtZHJvcGRvd24tbGlzdFxuICAgICAgW2l0ZW1zXT1cImxpc3RJdGVtc1wiXG4gICAgICBbbGlzdFRwbF09XCJjb2xvckRyb3Bkb3duSXRlbVRlbXBsYXRlXCJcbiAgICA+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgPC9jZHMtZHJvcGRvd24+XG48L2Nkcy1sYWJlbD5cblxuPG5nLXRlbXBsYXRlICNjb2xvckRyb3Bkb3duSXRlbVRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxuICA8ZGl2IGNsYXNzPVwic3RhdHVzLXNlbGVjdG9yLWRyb3Bkb3duLXRlbXBsYXRlXCI+XG4gICAgPGNkcy1jaGVja2JveCBbY2hlY2tlZF09XCJpdGVtLnNlbGVjdGVkXCI+PC9jZHMtY2hlY2tib3g+XG5cbiAgICA8c3BhbiAqbmdJZj1cIml0ZW0ua2V5ID09PSBDQVNFU19XSVRIT1VUX1NUQVRVU19LRVlcIiBjbGFzcz1cImdlbmVyaWMtc3BhblwiPnt7XG4gICAgICBpdGVtPy5jb250ZW50XG4gICAgfX08L3NwYW4+XG5cbiAgICA8Y2RzLXRhZ1xuICAgICAgKm5nSWY9XCJpdGVtLmtleSAhPT0gQ0FTRVNfV0lUSE9VVF9TVEFUVVNfS0VZXCJcbiAgICAgIGNsYXNzPVwiY2RzLXRhZy0tbm8tbWFyZ2luXCJcbiAgICAgIFt0eXBlXT1cIml0ZW0/LnRhZ1R5cGVcIlxuICAgID5cbiAgICAgIHt7IGl0ZW0/LmNvbnRlbnQgfX1cbiAgICA8L2Nkcy10YWc+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RhdHVzLXNlbGVjdG9yL3N0YXR1cy1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0YXR1cy1zZWxlY3Rvci9zdGF0dXMtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQXFCLHVCQUF1QixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDOUUsT0FBTyxFQUNMLGNBQWMsRUFDZCxjQUFjLEVBQ2QsV0FBVyxFQUVYLFNBQVMsR0FDVixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFDLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQy9CLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7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LEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFOUIsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F2RFUsdUJBQXVCO21HQUF2Qix1QkFBdUIsc1JDekNwQywybkRBa0RBLHNpQ0RYWSxZQUFZLHVMQUFFLGNBQWMsZ3NCQUFFLGNBQWMseVRBQUUsV0FBVyxrT0FBRSxlQUFlLDJGQUFFLFNBQVM7OzRGQUVwRix1QkFBdUI7a0JBUm5DLFNBQVM7K0JBQ0UseUJBQXlCLGNBR3ZCLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsU0FBUyxDQUFDO3FGQUc1RSxRQUFRO3NCQUEzQixLQUFLO2dCQVFjLGdCQUFnQjtzQkFBbkMsS0FBSztnQkFHVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBRVcsMkJBQTJCO3NCQUEzQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0ludGVybmFsQ2FzZVN0YXR1cywgSW50ZXJuYWxDYXNlU3RhdHVzVXRpbHN9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7XG4gIENoZWNrYm94TW9kdWxlLFxuICBEcm9wZG93bk1vZHVsZSxcbiAgSW5wdXRNb2R1bGUsXG4gIExpc3RJdGVtLFxuICBUYWdNb2R1bGUsXG59IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuaW1wb3J0IHtDQVJCT05fVEhFTUV9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgdGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtpc0VxdWFsfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtDQVNFU19XSVRIT1VUX1NUQVRVU19LRVl9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tc3RhdHVzLXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0YXR1cy1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0YXR1cy1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRHJvcGRvd25Nb2R1bGUsIENoZWNrYm94TW9kdWxlLCBJbnB1dE1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBUYWdNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTdGF0dXNTZWxlY3RvckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgc3RhdHVzZXModmFsdWU6IEludGVybmFsQ2FzZVN0YXR1c1tdKSB7XG4gICAgdGhpcy5fc3RhdHVzZXMkLm5leHQoXG4gICAgICAodmFsdWUgfHwgW10pLm1hcChzdGF0dXMgPT4gKHtcbiAgICAgICAgLi4uc3RhdHVzLFxuICAgICAgICB0YWdUeXBlOiBJbnRlcm5hbENhc2VTdGF0dXNVdGlscy5nZXRUYWdUeXBlRnJvbUludGVybmFsQ2FzZVN0YXR1c0NvbG9yKHN0YXR1cy5jb2xvciksXG4gICAgICB9KSlcbiAgICApO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgc2VsZWN0ZWRTdGF0dXNlcyh2YWx1ZTogSW50ZXJuYWxDYXNlU3RhdHVzW10pIHtcbiAgICB0aGlzLl9zZWxlY3RlZFN0YXR1c2VzJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgY2FyYm9uVGhlbWU6IENBUkJPTl9USEVNRSA9IENBUkJPTl9USEVNRS5XSElURTtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkITogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdGVkU3RhdHVzZXNDaGFuZ2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8SW50ZXJuYWxDYXNlU3RhdHVzW10+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhdHVzZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJbnRlcm5hbENhc2VTdGF0dXNbXT4oW10pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGVkU3RhdHVzZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJbnRlcm5hbENhc2VTdGF0dXNbXT4oW10pO1xuXG4gIHB1YmxpYyByZWFkb25seSBDQVNFU19XSVRIT1VUX1NUQVRVU19LRVkgPSBDQVNFU19XSVRIT1VUX1NUQVRVU19LRVk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGxpc3RJdGVtcyQ6IE9ic2VydmFibGU8TGlzdEl0ZW1bXT4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLl9zdGF0dXNlcyQsXG4gICAgdGhpcy5fc2VsZWN0ZWRTdGF0dXNlcyQsXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JyksXG4gIF0pLnBpcGUoXG4gICAgZmlsdGVyKChbc3RhdHVzZXMsIHNlbGVjdGVkU3RhdHVzZXNdKSA9PiAhIXN0YXR1c2VzICYmICEhc2VsZWN0ZWRTdGF0dXNlcyksXG4gICAgbWFwKChbc3RhdHVzZXMsIHNlbGVjdGVkU3RhdHVzZXNdKSA9PlxuICAgICAgc3RhdHVzZXMubWFwKHN0YXR1cyA9PiAoe1xuICAgICAgICBjb250ZW50OlxuICAgICAgICAgIHN0YXR1cy5rZXkgPT09IHRoaXMuQ0FTRVNfV0lUSE9VVF9TVEFUVVNfS0VZXG4gICAgICAgICAgICA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdkb3NzaWVyTWFuYWdlbWVudC5zdGF0dXNlcy53aXRob3V0U3RhdHVzJylcbiAgICAgICAgICAgIDogc3RhdHVzLnRpdGxlLFxuICAgICAgICBzZWxlY3RlZDogISFzZWxlY3RlZFN0YXR1c2VzLmZpbmQoc2VsZWN0ZWRTdGF0dXMgPT4gc2VsZWN0ZWRTdGF0dXMua2V5ID09PSBzdGF0dXMua2V5KSxcbiAgICAgICAga2V5OiBzdGF0dXMua2V5LFxuICAgICAgICB0YWdUeXBlOiBzdGF0dXMudGFnVHlwZSxcbiAgICAgIH0pKVxuICAgICksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHByZXZpb3VzLCBjdXJyZW50KSA9PiBpc0VxdWFsKHByZXZpb3VzLCBjdXJyZW50KSlcbiAgKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGl0ZW1TZWxlY3RlZChldmVudDogTGlzdEl0ZW1bXSk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1NlbGVjdGVkSXRlbXMgPSBldmVudD8uZmlsdGVyKGl0ZW0gPT4gaXRlbT8uc2VsZWN0ZWQpIHx8IFtdO1xuXG4gICAgdGhpcy5fc3RhdHVzZXMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHN0YXR1c2VzID0+IHtcbiAgICAgIGNvbnN0IG5ld1NlbGVjdGVkU3RhdHVzZXMgPSBuZXdTZWxlY3RlZEl0ZW1zXG4gICAgICAgIC5tYXAoaXRlbSA9PiBzdGF0dXNlcy5maW5kKHN0YXR1cyA9PiBzdGF0dXMua2V5ID09PSBpdGVtLmtleSkpXG4gICAgICAgIC5maWx0ZXIoc3RhdHVzID0+ICEhc3RhdHVzKTtcblxuICAgICAgdGhpcy5zZWxlY3RlZFN0YXR1c2VzQ2hhbmdlRXZlbnQuZW1pdChuZXdTZWxlY3RlZFN0YXR1c2VzKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48Y2RzLWxhYmVsIGNsYXNzPVwic3RhdHVzLXNlbGVjdG9yXCIgKm5nSWY9XCJsaXN0SXRlbXMkIHwgYXN5bmMgYXMgbGlzdEl0ZW1zXCI+XG4gIHt7ICdkb3NzaWVyTWFuYWdlbWVudC5zdGF0dXNlcy5zZWFyY2hGaWVsZFRpdGxlJyB8IHRyYW5zbGF0ZSB9fVxuXG4gIDxjZHMtZHJvcGRvd25cbiAgICBbYXBwZW5kSW5saW5lXT1cImZhbHNlXCJcbiAgICB0eXBlPVwibXVsdGlcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgc2VsZWN0aW9uRmVlZGJhY2s9XCJmaXhlZFwiXG4gICAgKHNlbGVjdGVkKT1cIml0ZW1TZWxlY3RlZCgkZXZlbnQpXCJcbiAgPlxuICAgIDxjZHMtZHJvcGRvd24tbGlzdFxuICAgICAgW2l0ZW1zXT1cImxpc3RJdGVtc1wiXG4gICAgICBbbGlzdFRwbF09XCJjb2xvckRyb3Bkb3duSXRlbVRlbXBsYXRlXCJcbiAgICA+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgPC9jZHMtZHJvcGRvd24+XG48L2Nkcy1sYWJlbD5cblxuPG5nLXRlbXBsYXRlICNjb2xvckRyb3Bkb3duSXRlbVRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxuICA8ZGl2IGNsYXNzPVwic3RhdHVzLXNlbGVjdG9yLWRyb3Bkb3duLXRlbXBsYXRlXCI+XG4gICAgPGNkcy1jaGVja2JveCBbY2hlY2tlZF09XCJpdGVtLnNlbGVjdGVkXCI+PC9jZHMtY2hlY2tib3g+XG5cbiAgICA8c3BhbiAqbmdJZj1cIml0ZW0ua2V5ID09PSBDQVNFU19XSVRIT1VUX1NUQVRVU19LRVlcIiBjbGFzcz1cImdlbmVyaWMtc3BhblwiPnt7XG4gICAgICBpdGVtPy5jb250ZW50XG4gICAgfX08L3NwYW4+XG5cbiAgICA8Y2RzLXRhZ1xuICAgICAgKm5nSWY9XCJpdGVtLmtleSAhPT0gQ0FTRVNfV0lUSE9VVF9TVEFUVVNfS0VZXCJcbiAgICAgIGNsYXNzPVwiY2RzLXRhZy0tbm8tbWFyZ2luXCJcbiAgICAgIFt0eXBlXT1cIml0ZW0/LnRhZ1R5cGVcIlxuICAgID5cbiAgICAgIHt7IGl0ZW0/LmNvbnRlbnQgfX1cbiAgICA8L2Nkcy10YWc+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -131,7 +131,7 @@ export class TableComponent {
131
131
  });
132
132
  }
133
133
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TableComponent, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component }); }
134
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TableComponent, selector: "v-table", inputs: { items: "items", columns: "columns", loading: "loading", showEditButtons: "showEditButtons", showPagination: "showPagination", editButtonTranslationKey: "editButtonTranslationKey", itemsTranslationKey: "itemsTranslationKey", noResultsTranslationKey: "noResultsTranslationKey", mobileBreakpointPx: "mobileBreakpointPx", amountOfLoadingRows: "amountOfLoadingRows", collectionSize: "collectionSize", page: "page", size: "size" }, outputs: { editButtonClicked: "editButtonClicked", paginationSizeSet: "paginationSizeSet", paginationPageSet: "paginationPageSet" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{items: items$ | async} as obs\">\n <div class=\"v-table-container\">\n <table class=\"v-table\">\n <ng-container *ngTemplateOutlet=\"tableHead\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableBody; context: {tableItems: obs.items}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableBodyLoading\"></ng-container>\n <ng-container\n *ngTemplateOutlet=\"tableBodyNoResults; context: {tableItems: obs.items}\"\n ></ng-container>\n </table>\n <ng-container *ngIf=\"showPagination\">\n <ng-container\n *ngTemplateOutlet=\"paginationContainer; context: {tableItems: obs.items}\"\n ></ng-container>\n </ng-container>\n </div>\n</ng-container>\n\n<ng-template #tableHead>\n <thead *ngIf=\"columns\">\n <tr>\n <th class=\"v-table__header\" *ngFor=\"let column of columns\">\n {{ column.labelTranslationKey | translate }}\n </th>\n <th *ngIf=\"showEditButtons\" class=\"v-table__header\"></th>\n </tr>\n </thead>\n</ng-template>\n\n<ng-template #tableBody let-tableItems=\"tableItems\">\n <tbody class=\"v-table__body\" *ngIf=\"!loading && tableItems && tableItems?.length > 0\">\n <tr *ngFor=\"let item of tableItems\" class=\"v-table__row\">\n <ng-container *ngTemplateOutlet=\"tableCell; context: {item: item}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableEditButtonCell; context: {item: item}\"></ng-container>\n </tr>\n </tbody>\n</ng-template>\n\n<ng-template #tableBodyNoResults let-tableItems=\"tableItems\">\n <tbody class=\"v-table__body\" *ngIf=\"!loading && tableItems && tableItems?.length === 0\">\n <tr class=\"v-table__row\">\n <td class=\"v-table__cell\" *ngFor=\"let column of columns; let i = index\">\n <span *ngIf=\"i === 0\" class=\"v-table__cell-content\">\n {{\n noResultsTranslationKey\n ? (noResultsTranslationKey | translate)\n : ('interface.noResults' | translate)\n }}\n </span>\n </td>\n </tr>\n </tbody>\n</ng-template>\n\n<ng-template #tableCell let-item=\"item\">\n <td *ngFor=\"let column of columns\" class=\"v-table__cell\">\n <span class=\"v-table__cell-content\">\n {{ item[column.dataKey] }}\n </span>\n </td>\n</ng-template>\n\n<ng-template #tableEditButtonCell let-item=\"item\">\n <td *ngIf=\"showEditButtons\" class=\"v-table__cell v-table__cell--with-button\">\n <span class=\"v-table__cell-button-container\">\n <v-button type=\"secondary\" (clickEvent)=\"editButtonClicked.emit(item)\">{{\n editButtonTranslationKey || 'interface.edit' | translate\n }}</v-button>\n </span>\n </td>\n</ng-template>\n\n<ng-template #tableBodyLoading>\n <tbody class=\"v-table__body\" *ngIf=\"loading\">\n <tr *ngFor=\"let item of getArrayOfLength(amountOfLoadingRows)\" class=\"v-table__row\">\n <ng-container *ngTemplateOutlet=\"tableCellLoading\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableEditButtonCellLoading\"></ng-container>\n </tr>\n </tbody>\n</ng-template>\n\n<ng-template #tableCellLoading>\n <td *ngFor=\"let column of columns\" class=\"v-table__cell\">\n <span class=\"v-table__cell-content\"\n ><ngx-skeleton-loader\n appearance=\"line\"\n [theme]=\"{\n width: 'var(--v-table-loading-skeleton-width)',\n height: 'var(--v-table-loading-skeleton-line-height)',\n margin: '0',\n 'background-color': 'var(--v-table-loading-skeleton-bg-color)'\n }\"\n ></ngx-skeleton-loader\n ></span>\n </td>\n</ng-template>\n\n<ng-template #tableEditButtonCellLoading>\n <td *ngIf=\"showEditButtons\" class=\"v-table__cell v-table__cell--with-button\">\n <span class=\"v-table__cell-button-container\">\n <v-button type=\"secondary\" [disabled]=\"true\">{{\n editButtonTranslationKey || 'interface.edit' | translate\n }}</v-button>\n </span>\n </td>\n</ng-template>\n\n<ng-template #paginationContainer let-tableItems=\"tableItems\">\n <div *ngIf=\"pagination$ | async as paginationObject\" class=\"v-table__pagination-container\">\n <div class=\"v-table__pagination-size-container\">\n <ng-container\n *ngTemplateOutlet=\"paginationSizeSelect; context: {paginationObject: paginationObject}\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n paginationSizeAmountText;\n context: {paginationObject: paginationObject, tableItems: tableItems}\n \"\n ></ng-container>\n </div>\n <ng-container\n *ngTemplateOutlet=\"paginationNavigation; context: {paginationObject: paginationObject}\"\n ></ng-container>\n </div>\n</ng-template>\n\n<ng-template #paginationSizeSelect let-paginationObject=\"paginationObject\">\n <span class=\"v-table__pagination-size-text\">{{ 'interface.show' | translate }}</span>\n <span class=\"v-table__pagination-size-select\">\n <v-select\n [items]=\"paginationOptions\"\n [clearable]=\"false\"\n [defaultSelection]=\"(defaultPaginationSize$ | async) || paginationOptions[0]\"\n [disabled]=\"loading\"\n (selectedChange)=\"setPaginationSize($event)\"\n ></v-select>\n </span>\n <span class=\"v-table__pagination-size-text\">{{\n itemsTranslationKey ? (itemsTranslationKey | translate) : ('interface.items' | translate)\n }}</span>\n</ng-template>\n\n<ng-template\n #paginationSizeAmountText\n let-paginationObject=\"paginationObject\"\n let-tableItems=\"tableItems\"\n>\n <ng-container *ngTemplateOutlet=\"paginationSizeAmountTextLoading\"></ng-container>\n <span\n class=\"v-table__pagination-amount-text\"\n *ngIf=\"!loading && tableItems && paginationObject\"\n >{{\n tableItems.length +\n ' ' +\n ('interface.of' | translate) +\n ' ' +\n paginationObject.collectionSize +\n ' ' +\n (itemsTranslationKey\n ? (itemsTranslationKey | translate)\n : ('interface.items' | translate)) +\n ' ' +\n ('interface.visible' | translate)\n }}</span\n >\n</ng-template>\n\n<ng-template #paginationSizeAmountTextLoading>\n <span class=\"v-table__pagination-amount-text\" *ngIf=\"loading\"\n ><ngx-skeleton-loader\n appearance=\"line\"\n [theme]=\"{\n width: 'var(--v-table-loading-skeleton-width)',\n height: 'var(--v-table-loading-skeleton-line-height)',\n margin: '0',\n 'background-color': 'var(--v-table-loading-skeleton-pagination-size-bg-color)'\n }\"\n ></ngx-skeleton-loader\n ></span>\n</ng-template>\n\n<ng-template #paginationNavigation let-paginationObject=\"paginationObject\">\n <div\n class=\"v-table__pagination-navigation-container\"\n *ngIf=\"paginationObject && paginationObject.collectionSize > paginationObject.size\"\n >\n <span *ngIf=\"paginationObject.page > 1\">\n <v-button (clickEvent)=\"setPage('previous')\" type=\"text\" [disabled]=\"loading\">{{\n 'interface.previous' | translate\n }}</v-button>\n </span>\n <span *ngIf=\"paginationObject.page * paginationObject.size < paginationObject.collectionSize\">\n <v-button (clickEvent)=\"setPage('next')\" type=\"text\" [disabled]=\"loading\">{{\n 'interface.nextArrow' | translate\n }}</v-button>\n </span>\n </div>\n</ng-template>\n", styles: [".v-table-container{width:100%;display:flex;flex-direction:column}.v-table{width:100%;border-spacing:var(--v-table-border-spacing);table-layout:var(--v-table-layout)}.v-table__header{color:var(--v-table-header-font-color);text-transform:var(--v-table-header-text-transform);font-size:var(--v-table-header-font-size);font-weight:var(--v-table-header-font-weight);letter-spacing:var(--v-table-header-letter-spacing);padding-block-end:var(--v-table-header-padding-block-end);padding-inline-start:var(--v-table-cell-padding-inline);padding-inline-end:var(--v-table-cell-padding-inline)}.v-table__header:first-child{padding-inline-start:var(--v-table-first-cell-padding-inline-start)}.v-table__body{outline:var(--v-table-body-border);border-radius:var(--v-border-radius-md)}.v-table__row{border-bottom:var(--v-table-row-bottom-border)}.v-table__row:first-child .v-table__cell:first-child{border-top-left-radius:var(--v-border-radius-md)}.v-table__row:first-child .v-table__cell:last-child{border-top-right-radius:var(--v-border-radius-md)}.v-table__row:last-child{border-bottom:none}.v-table__row:last-child .v-table__cell:first-child{border-bottom-left-radius:var(--v-border-radius-md)}.v-table__row:last-child .v-table__cell:last-child{border-bottom-right-radius:var(--v-border-radius-md)}.v-table__cell{padding-block-start:var(--v-table-cell-padding-block);padding-block-end:var(--v-table-cell-padding-block);padding-inline-start:var(--v-table-cell-padding-inline);padding-inline-end:var(--v-table-cell-padding-inline);background-color:var(--v-table-background-color);font-size:var(--v-font-size-smaller);font-weight:var(--v-font-weight-bold);line-height:var(--v-line-height-smaller);width:var(--v-table-cell-width)}.v-table__cell:first-child{padding-inline-start:var(--v-table-first-cell-padding-inline-start)}.v-table__cell-content{display:flex;color:var(--v-table-cell-font-color);padding-block-start:var(--v-table-cell-content-padding-block);padding-block-end:var(--v-table-cell-content-padding-block)}.v-table__cell--with-button{width:.1%;white-space:nowrap}.v-table__cell-button-container{display:flex}ngx-skeleton-loader{display:flex}.v-table__pagination-container{display:flex;width:100%;flex-direction:row;justify-content:space-between;margin-block-start:var(--v-table-pagination-margin-block)}.v-table__pagination-size-container{display:flex;flex-direction:row;align-items:center}.v-table__pagination-size-container span:not(:last-child){margin-inline-end:var(--v-table-pagination-size-spacing-inline)}.v-table__pagination-size-text{color:var(--v-table-pagination-size-text-color);font-size:var(--v-table-pagination-size-text-font-size);font-weight:var(--v-table-pagination-size-text-font-weight)}.v-table__pagination-size-select{display:flex}.v-table__pagination-amount-text{margin-inline-start:var(--v-table-pagination-amount-text-margin-inline);color:var(--v-table-pagination-size-text-color);font-size:var(--v-table-pagination-size-text-font-size);font-weight:var(--v-table-pagination-amount-text-font-weight)}.v-table__pagination-navigation-container{display:flex;flex-direction:row}.v-table__pagination-navigation-container span:not(:last-child){margin-inline-end:var(--v-table-pagination-button-spacing-inline)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "component", type: i4.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }, { kind: "component", type: i5.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline"], outputs: ["selectedChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
134
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TableComponent, selector: "v-table", inputs: { items: "items", columns: "columns", loading: "loading", showEditButtons: "showEditButtons", showPagination: "showPagination", editButtonTranslationKey: "editButtonTranslationKey", itemsTranslationKey: "itemsTranslationKey", noResultsTranslationKey: "noResultsTranslationKey", mobileBreakpointPx: "mobileBreakpointPx", amountOfLoadingRows: "amountOfLoadingRows", collectionSize: "collectionSize", page: "page", size: "size" }, outputs: { editButtonClicked: "editButtonClicked", paginationSizeSet: "paginationSizeSet", paginationPageSet: "paginationPageSet" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{items: items$ | async} as obs\">\n <div class=\"v-table-container\">\n <table class=\"v-table\">\n <ng-container *ngTemplateOutlet=\"tableHead\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableBody; context: {tableItems: obs.items}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableBodyLoading\"></ng-container>\n <ng-container\n *ngTemplateOutlet=\"tableBodyNoResults; context: {tableItems: obs.items}\"\n ></ng-container>\n </table>\n <ng-container *ngIf=\"showPagination\">\n <ng-container\n *ngTemplateOutlet=\"paginationContainer; context: {tableItems: obs.items}\"\n ></ng-container>\n </ng-container>\n </div>\n</ng-container>\n\n<ng-template #tableHead>\n <thead *ngIf=\"columns\">\n <tr>\n <th class=\"v-table__header\" *ngFor=\"let column of columns\">\n {{ column.labelTranslationKey | translate }}\n </th>\n <th *ngIf=\"showEditButtons\" class=\"v-table__header\"></th>\n </tr>\n </thead>\n</ng-template>\n\n<ng-template #tableBody let-tableItems=\"tableItems\">\n <tbody class=\"v-table__body\" *ngIf=\"!loading && tableItems && tableItems?.length > 0\">\n <tr *ngFor=\"let item of tableItems\" class=\"v-table__row\">\n <ng-container *ngTemplateOutlet=\"tableCell; context: {item: item}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableEditButtonCell; context: {item: item}\"></ng-container>\n </tr>\n </tbody>\n</ng-template>\n\n<ng-template #tableBodyNoResults let-tableItems=\"tableItems\">\n <tbody class=\"v-table__body\" *ngIf=\"!loading && tableItems && tableItems?.length === 0\">\n <tr class=\"v-table__row\">\n <td class=\"v-table__cell\" *ngFor=\"let column of columns; let i = index\">\n <span *ngIf=\"i === 0\" class=\"v-table__cell-content\">\n {{\n noResultsTranslationKey\n ? (noResultsTranslationKey | translate)\n : ('interface.noResults' | translate)\n }}\n </span>\n </td>\n </tr>\n </tbody>\n</ng-template>\n\n<ng-template #tableCell let-item=\"item\">\n <td *ngFor=\"let column of columns\" class=\"v-table__cell\">\n <span class=\"v-table__cell-content\">\n {{ item[column.dataKey] }}\n </span>\n </td>\n</ng-template>\n\n<ng-template #tableEditButtonCell let-item=\"item\">\n <td *ngIf=\"showEditButtons\" class=\"v-table__cell v-table__cell--with-button\">\n <span class=\"v-table__cell-button-container\">\n <v-button type=\"secondary\" (clickEvent)=\"editButtonClicked.emit(item)\">{{\n editButtonTranslationKey || 'interface.edit' | translate\n }}</v-button>\n </span>\n </td>\n</ng-template>\n\n<ng-template #tableBodyLoading>\n <tbody class=\"v-table__body\" *ngIf=\"loading\">\n <tr *ngFor=\"let item of getArrayOfLength(amountOfLoadingRows)\" class=\"v-table__row\">\n <ng-container *ngTemplateOutlet=\"tableCellLoading\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableEditButtonCellLoading\"></ng-container>\n </tr>\n </tbody>\n</ng-template>\n\n<ng-template #tableCellLoading>\n <td *ngFor=\"let column of columns\" class=\"v-table__cell\">\n <span class=\"v-table__cell-content\"\n ><ngx-skeleton-loader\n appearance=\"line\"\n [theme]=\"{\n width: 'var(--v-table-loading-skeleton-width)',\n height: 'var(--v-table-loading-skeleton-line-height)',\n margin: '0',\n 'background-color': 'var(--v-table-loading-skeleton-bg-color)'\n }\"\n ></ngx-skeleton-loader\n ></span>\n </td>\n</ng-template>\n\n<ng-template #tableEditButtonCellLoading>\n <td *ngIf=\"showEditButtons\" class=\"v-table__cell v-table__cell--with-button\">\n <span class=\"v-table__cell-button-container\">\n <v-button type=\"secondary\" [disabled]=\"true\">{{\n editButtonTranslationKey || 'interface.edit' | translate\n }}</v-button>\n </span>\n </td>\n</ng-template>\n\n<ng-template #paginationContainer let-tableItems=\"tableItems\">\n <div *ngIf=\"pagination$ | async as paginationObject\" class=\"v-table__pagination-container\">\n <div class=\"v-table__pagination-size-container\">\n <ng-container\n *ngTemplateOutlet=\"paginationSizeSelect; context: {paginationObject: paginationObject}\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n paginationSizeAmountText;\n context: {paginationObject: paginationObject, tableItems: tableItems}\n \"\n ></ng-container>\n </div>\n <ng-container\n *ngTemplateOutlet=\"paginationNavigation; context: {paginationObject: paginationObject}\"\n ></ng-container>\n </div>\n</ng-template>\n\n<ng-template #paginationSizeSelect let-paginationObject=\"paginationObject\">\n <span class=\"v-table__pagination-size-text\">{{ 'interface.show' | translate }}</span>\n <span class=\"v-table__pagination-size-select\">\n <v-select\n [items]=\"paginationOptions\"\n [clearable]=\"false\"\n [defaultSelection]=\"(defaultPaginationSize$ | async) || paginationOptions[0]\"\n [disabled]=\"loading\"\n (selectedChange)=\"setPaginationSize($event)\"\n ></v-select>\n </span>\n <span class=\"v-table__pagination-size-text\">{{\n itemsTranslationKey ? (itemsTranslationKey | translate) : ('interface.items' | translate)\n }}</span>\n</ng-template>\n\n<ng-template\n #paginationSizeAmountText\n let-paginationObject=\"paginationObject\"\n let-tableItems=\"tableItems\"\n>\n <ng-container *ngTemplateOutlet=\"paginationSizeAmountTextLoading\"></ng-container>\n <span\n class=\"v-table__pagination-amount-text\"\n *ngIf=\"!loading && tableItems && paginationObject\"\n >{{\n tableItems.length +\n ' ' +\n ('interface.of' | translate) +\n ' ' +\n paginationObject.collectionSize +\n ' ' +\n (itemsTranslationKey\n ? (itemsTranslationKey | translate)\n : ('interface.items' | translate)) +\n ' ' +\n ('interface.visible' | translate)\n }}</span\n >\n</ng-template>\n\n<ng-template #paginationSizeAmountTextLoading>\n <span class=\"v-table__pagination-amount-text\" *ngIf=\"loading\"\n ><ngx-skeleton-loader\n appearance=\"line\"\n [theme]=\"{\n width: 'var(--v-table-loading-skeleton-width)',\n height: 'var(--v-table-loading-skeleton-line-height)',\n margin: '0',\n 'background-color': 'var(--v-table-loading-skeleton-pagination-size-bg-color)'\n }\"\n ></ngx-skeleton-loader\n ></span>\n</ng-template>\n\n<ng-template #paginationNavigation let-paginationObject=\"paginationObject\">\n <div\n class=\"v-table__pagination-navigation-container\"\n *ngIf=\"paginationObject && paginationObject.collectionSize > paginationObject.size\"\n >\n <span *ngIf=\"paginationObject.page > 1\">\n <v-button (clickEvent)=\"setPage('previous')\" type=\"text\" [disabled]=\"loading\">{{\n 'interface.previous' | translate\n }}</v-button>\n </span>\n <span *ngIf=\"paginationObject.page * paginationObject.size < paginationObject.collectionSize\">\n <v-button (clickEvent)=\"setPage('next')\" type=\"text\" [disabled]=\"loading\">{{\n 'interface.nextArrow' | translate\n }}</v-button>\n </span>\n </div>\n</ng-template>\n", styles: [".v-table-container{width:100%;display:flex;flex-direction:column}.v-table{width:100%;border-spacing:var(--v-table-border-spacing);table-layout:var(--v-table-layout)}.v-table__header{color:var(--v-table-header-font-color);text-transform:var(--v-table-header-text-transform);font-size:var(--v-table-header-font-size);font-weight:var(--v-table-header-font-weight);letter-spacing:var(--v-table-header-letter-spacing);padding-block-end:var(--v-table-header-padding-block-end);padding-inline-start:var(--v-table-cell-padding-inline);padding-inline-end:var(--v-table-cell-padding-inline)}.v-table__header:first-child{padding-inline-start:var(--v-table-first-cell-padding-inline-start)}.v-table__body{outline:var(--v-table-body-border);border-radius:var(--v-border-radius-md)}.v-table__row{border-bottom:var(--v-table-row-bottom-border)}.v-table__row:first-child .v-table__cell:first-child{border-top-left-radius:var(--v-border-radius-md)}.v-table__row:first-child .v-table__cell:last-child{border-top-right-radius:var(--v-border-radius-md)}.v-table__row:last-child{border-bottom:none}.v-table__row:last-child .v-table__cell:first-child{border-bottom-left-radius:var(--v-border-radius-md)}.v-table__row:last-child .v-table__cell:last-child{border-bottom-right-radius:var(--v-border-radius-md)}.v-table__cell{padding-block-start:var(--v-table-cell-padding-block);padding-block-end:var(--v-table-cell-padding-block);padding-inline-start:var(--v-table-cell-padding-inline);padding-inline-end:var(--v-table-cell-padding-inline);background-color:var(--v-table-background-color);font-size:var(--v-font-size-smaller);font-weight:var(--v-font-weight-bold);line-height:var(--v-line-height-smaller);width:var(--v-table-cell-width)}.v-table__cell:first-child{padding-inline-start:var(--v-table-first-cell-padding-inline-start)}.v-table__cell-content{display:flex;color:var(--v-table-cell-font-color);padding-block-start:var(--v-table-cell-content-padding-block);padding-block-end:var(--v-table-cell-content-padding-block)}.v-table__cell--with-button{width:.1%;white-space:nowrap}.v-table__cell-button-container{display:flex}ngx-skeleton-loader{display:flex}.v-table__pagination-container{display:flex;width:100%;flex-direction:row;justify-content:space-between;margin-block-start:var(--v-table-pagination-margin-block)}.v-table__pagination-size-container{display:flex;flex-direction:row;align-items:center}.v-table__pagination-size-container span:not(:last-child){margin-inline-end:var(--v-table-pagination-size-spacing-inline)}.v-table__pagination-size-text{color:var(--v-table-pagination-size-text-color);font-size:var(--v-table-pagination-size-text-font-size);font-weight:var(--v-table-pagination-size-text-font-weight)}.v-table__pagination-size-select{display:flex}.v-table__pagination-amount-text{margin-inline-start:var(--v-table-pagination-amount-text-margin-inline);color:var(--v-table-pagination-size-text-color);font-size:var(--v-table-pagination-size-text-font-size);font-weight:var(--v-table-pagination-amount-text-font-weight)}.v-table__pagination-navigation-container{display:flex;flex-direction:row}.v-table__pagination-navigation-container span:not(:last-child){margin-inline-end:var(--v-table-pagination-button-spacing-inline)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "component", type: i4.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }, { kind: "component", type: i5.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
135
135
  }
136
136
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TableComponent, decorators: [{
137
137
  type: Component,
@@ -112,7 +112,7 @@ export class TopbarComponent {
112
112
  };
113
113
  }
114
114
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopbarComponent, deps: [{ token: i1.KeycloakService }, { token: i2.ConfigService }, { token: i3.IconService }, { token: i4.ShellService }, { token: i5.DomSanitizer }, { token: i6.PageHeaderService }, { token: i6.CdsThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
115
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TopbarComponent, selector: "valtimo-topbar", host: { properties: { "class.cds--header": "this.headerClass" } }, viewQueries: [{ propertyName: "_headerVcr", first: true, predicate: ["headerVcr"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-header [useRouter]=\"false\" (mouseenter)=\"mouseEnter()\" (mouseleave)=\"mouseLeave()\">\n <a\n *ngIf=\"logoBase64$ | async as logoBase64\"\n class=\"logo-link\"\n [ngClass]=\"{'logo-link--large-margin': largeLogoMargin}\"\n [routerLink]=\"['/']\"\n [title]=\"applicationTitle\"\n >\n <img [src]=\"logoBase64\" class=\"logo-image\" />\n </a>\n <cds-hamburger\n *ngIf=\"(largeScreen$ | async) === false || (collapsibleWidescreenMenu$ | async)\"\n [active]=\"sideBarExpanded$ | async\"\n (selected)=\"toggleSideBar()\"\n ></cds-hamburger>\n <cds-header-global>\n <ng-container #headerVcr></ng-container>\n\n <ng-container *ngTemplateOutlet=\"userFullName\"></ng-container>\n\n <cds-header-action\n title=\"action\"\n [active]=\"panelExpanded$ | async\"\n (activeChange)=\"setPanelExpanded($event)\"\n >\n <svg cdsIcon=\"user\" size=\"20\"></svg>\n </cds-header-action>\n </cds-header-global>\n</cds-header>\n\n<ng-template #userFullName>\n <div\n class=\"user-full-name\"\n *ngIf=\"(showUserNameInTopBar$ | async) && {userFullName: userFullName$ | async} as obs\"\n >\n <v-paragraph [loading]=\"!obs.userFullName\">{{ obs.userFullName }}</v-paragraph>\n </div>\n</ng-template>\n", styles: [".user-icon{font-size:30px}.be-toggle-right-sidebar{display:flex}.user-full-name{display:flex;height:100%;align-items:center;justify-content:center;margin-inline-end:var(--v-top-bar-user-name-spacing);flex-shrink:0}::ng-deep .cds--header__name{display:none!important}.logo-link{height:100%;padding-left:16px;padding-top:8px;padding-bottom:8px}.logo-link--large-margin{padding-top:16px;padding-bottom:16px}.logo-image{height:100%;object-fit:contain}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i8.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i9.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading"] }, { kind: "component", type: i3.Header, selector: "cds-header, ibm-header", inputs: ["skipTo", "name", "brand", "href", "route", "routeExtras", "useRouter"], outputs: ["navigation"] }, { kind: "component", type: i3.HeaderGlobal, selector: "cds-header-global, ibm-header-global" }, { kind: "component", type: i3.HeaderAction, selector: "cds-header-action, ibm-header-action", inputs: ["description", "ariaLabel", "active"], outputs: ["activeChange", "selected"] }, { kind: "component", type: i3.Hamburger, selector: "cds-hamburger, ibm-hamburger", inputs: ["active"], outputs: ["selected"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }] }); }
115
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TopbarComponent, selector: "valtimo-topbar", host: { properties: { "class.cds--header": "this.headerClass" } }, viewQueries: [{ propertyName: "_headerVcr", first: true, predicate: ["headerVcr"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-header [useRouter]=\"false\" (mouseenter)=\"mouseEnter()\" (mouseleave)=\"mouseLeave()\">\n <a\n *ngIf=\"logoBase64$ | async as logoBase64\"\n class=\"logo-link\"\n [ngClass]=\"{'logo-link--large-margin': largeLogoMargin}\"\n [routerLink]=\"['/']\"\n [title]=\"applicationTitle\"\n >\n <img [src]=\"logoBase64\" class=\"logo-image\" />\n </a>\n <cds-hamburger\n *ngIf=\"(largeScreen$ | async) === false || (collapsibleWidescreenMenu$ | async)\"\n [active]=\"sideBarExpanded$ | async\"\n (selected)=\"toggleSideBar()\"\n ></cds-hamburger>\n <cds-header-global>\n <ng-container #headerVcr></ng-container>\n\n <ng-container *ngTemplateOutlet=\"userFullName\"></ng-container>\n\n <cds-header-action\n title=\"action\"\n [active]=\"panelExpanded$ | async\"\n (activeChange)=\"setPanelExpanded($event)\"\n >\n <svg cdsIcon=\"user\" size=\"20\"></svg>\n </cds-header-action>\n </cds-header-global>\n</cds-header>\n\n<ng-template #userFullName>\n <div\n class=\"user-full-name\"\n *ngIf=\"(showUserNameInTopBar$ | async) && {userFullName: userFullName$ | async} as obs\"\n >\n <v-paragraph [loading]=\"!obs.userFullName\">{{ obs.userFullName }}</v-paragraph>\n </div>\n</ng-template>\n", styles: [".user-icon{font-size:30px}.be-toggle-right-sidebar{display:flex}.user-full-name{display:flex;height:100%;align-items:center;justify-content:center;margin-inline-end:var(--v-top-bar-user-name-spacing);flex-shrink:0}::ng-deep .cds--header__name{display:none!important}.logo-link{height:100%;padding-left:16px;padding-top:8px;padding-bottom:8px}.logo-link--large-margin{padding-top:16px;padding-bottom:16px}.logo-image{height:100%;object-fit:contain}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i8.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i9.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "component", type: i3.Header, selector: "cds-header, ibm-header", inputs: ["skipTo", "name", "brand", "href", "route", "routeExtras", "useRouter"], outputs: ["navigation"] }, { kind: "component", type: i3.HeaderGlobal, selector: "cds-header-global, ibm-header-global" }, { kind: "component", type: i3.HeaderAction, selector: "cds-header-action, ibm-header-action", inputs: ["description", "ariaLabel", "active"], outputs: ["activeChange", "selected"] }, { kind: "component", type: i3.Hamburger, selector: "cds-hamburger, ibm-hamburger", inputs: ["active", "activeTitle", "inactiveTitle"], outputs: ["selected"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }] }); }
116
116
  }
117
117
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopbarComponent, decorators: [{
118
118
  type: Component,