@valtimo/components 12.6.0 → 12.7.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 (62) hide show
  1. package/esm2022/lib/components/multi-input/carbon-multi-input.component.mjs +105 -71
  2. package/esm2022/lib/components/multi-input/carbon-multi-input.module.mjs +25 -3
  3. package/esm2022/lib/components/multi-input/components/arbitrary-amount-value/arbitrary-amount-value.component.mjs +63 -0
  4. package/esm2022/lib/components/multi-input/components/arbitrary-amount-value/index.mjs +17 -0
  5. package/esm2022/lib/components/multi-input/components/index.mjs +23 -0
  6. package/esm2022/lib/components/multi-input/components/key-dropdown-value/index.mjs +17 -0
  7. package/esm2022/lib/components/multi-input/components/key-dropdown-value/key-dropdown-value.component.mjs +71 -0
  8. package/esm2022/lib/components/multi-input/components/key-value/index.mjs +17 -0
  9. package/esm2022/lib/components/multi-input/components/key-value/key-value.component.mjs +62 -0
  10. package/esm2022/lib/components/multi-input/components/key-value-path-selector/index.mjs +17 -0
  11. package/esm2022/lib/components/multi-input/components/key-value-path-selector/key-value-path-selector.component.mjs +82 -0
  12. package/esm2022/lib/components/multi-input/components/single-value/index.mjs +17 -0
  13. package/esm2022/lib/components/multi-input/components/single-value/single-value.component.mjs +49 -0
  14. package/esm2022/lib/components/multi-input/components/value-path-selector-dropdown-value/index.mjs +17 -0
  15. package/esm2022/lib/components/multi-input/components/value-path-selector-dropdown-value/value-path-selector-dropdown-value.component.mjs +92 -0
  16. package/esm2022/lib/components/multi-input/components/value-path-selector-value/index.mjs +17 -0
  17. package/esm2022/lib/components/multi-input/components/value-path-selector-value/value-path-selector-value.component.mjs +82 -0
  18. package/esm2022/lib/components/value-path-selector/index.mjs +17 -0
  19. package/esm2022/lib/components/value-path-selector/value-path-selector.component.mjs +3 -3
  20. package/esm2022/lib/models/multi-input.model.mjs +1 -1
  21. package/esm2022/lib/services/key-generator.service.mjs +2 -2
  22. package/fesm2022/valtimo-components.mjs +717 -72
  23. package/fesm2022/valtimo-components.mjs.map +1 -1
  24. package/lib/components/multi-input/carbon-multi-input.component.d.ts +31 -23
  25. package/lib/components/multi-input/carbon-multi-input.component.d.ts.map +1 -1
  26. package/lib/components/multi-input/carbon-multi-input.module.d.ts +8 -1
  27. package/lib/components/multi-input/carbon-multi-input.module.d.ts.map +1 -1
  28. package/lib/components/multi-input/components/arbitrary-amount-value/arbitrary-amount-value.component.d.ts +23 -0
  29. package/lib/components/multi-input/components/arbitrary-amount-value/arbitrary-amount-value.component.d.ts.map +1 -0
  30. package/lib/components/multi-input/components/arbitrary-amount-value/index.d.ts +2 -0
  31. package/lib/components/multi-input/components/arbitrary-amount-value/index.d.ts.map +1 -0
  32. package/lib/components/multi-input/components/index.d.ts +8 -0
  33. package/lib/components/multi-input/components/index.d.ts.map +1 -0
  34. package/lib/components/multi-input/components/key-dropdown-value/index.d.ts +2 -0
  35. package/lib/components/multi-input/components/key-dropdown-value/index.d.ts.map +1 -0
  36. package/lib/components/multi-input/components/key-dropdown-value/key-dropdown-value.component.d.ts +27 -0
  37. package/lib/components/multi-input/components/key-dropdown-value/key-dropdown-value.component.d.ts.map +1 -0
  38. package/lib/components/multi-input/components/key-value/index.d.ts +2 -0
  39. package/lib/components/multi-input/components/key-value/index.d.ts.map +1 -0
  40. package/lib/components/multi-input/components/key-value/key-value.component.d.ts +22 -0
  41. package/lib/components/multi-input/components/key-value/key-value.component.d.ts.map +1 -0
  42. package/lib/components/multi-input/components/key-value-path-selector/index.d.ts +2 -0
  43. package/lib/components/multi-input/components/key-value-path-selector/index.d.ts.map +1 -0
  44. package/lib/components/multi-input/components/key-value-path-selector/key-value-path-selector.component.d.ts +26 -0
  45. package/lib/components/multi-input/components/key-value-path-selector/key-value-path-selector.component.d.ts.map +1 -0
  46. package/lib/components/multi-input/components/single-value/index.d.ts +2 -0
  47. package/lib/components/multi-input/components/single-value/index.d.ts.map +1 -0
  48. package/lib/components/multi-input/components/single-value/single-value.component.d.ts +16 -0
  49. package/lib/components/multi-input/components/single-value/single-value.component.d.ts.map +1 -0
  50. package/lib/components/multi-input/components/value-path-selector-dropdown-value/index.d.ts +2 -0
  51. package/lib/components/multi-input/components/value-path-selector-dropdown-value/index.d.ts.map +1 -0
  52. package/lib/components/multi-input/components/value-path-selector-dropdown-value/value-path-selector-dropdown-value.component.d.ts +31 -0
  53. package/lib/components/multi-input/components/value-path-selector-dropdown-value/value-path-selector-dropdown-value.component.d.ts.map +1 -0
  54. package/lib/components/multi-input/components/value-path-selector-value/index.d.ts +2 -0
  55. package/lib/components/multi-input/components/value-path-selector-value/index.d.ts.map +1 -0
  56. package/lib/components/multi-input/components/value-path-selector-value/value-path-selector-value.component.d.ts +26 -0
  57. package/lib/components/multi-input/components/value-path-selector-value/value-path-selector-value.component.d.ts.map +1 -0
  58. package/lib/components/value-path-selector/index.d.ts +2 -0
  59. package/lib/components/value-path-selector/index.d.ts.map +1 -0
  60. package/lib/models/multi-input.model.d.ts +3 -2
  61. package/lib/models/multi-input.model.d.ts.map +1 -1
  62. package/package.json +1 -1
@@ -2053,7 +2053,7 @@ class KeyGeneratorService {
2053
2053
  .toLowerCase()
2054
2054
  .replace(/[^a-z0-9-_]+|-[^a-z0-9]+/g, '-')
2055
2055
  .replace(/_[-_]+/g, '_')
2056
- .replace(/^[^a-z]+/g, '');
2056
+ .replace(/^[^a-z]+|[^a-z0-9]+$/g, '');
2057
2057
  if (!usedKeys.includes(dashCaseKey)) {
2058
2058
  return dashCaseKey;
2059
2059
  }
@@ -9634,7 +9634,7 @@ class ValuePathSelectorComponent {
9634
9634
  multi: true,
9635
9635
  useExisting: forwardRef(() => ValuePathSelectorComponent),
9636
9636
  },
9637
- ], 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\n *ngIf=\"{\n inputModeIsDropdown: inputModeIsDropdown$ | async,\n valuePathListItems: valuePathListItems$ | async,\n loadingValuePathItems: loadingValuePathItems$ | async,\n disabled: disabled$ | async,\n } as obs\"\n>\n <v-input-label [required]=\"required\" [title]=\"label\" [tooltip]=\"tooltip\"> </v-input-label>\n\n <form [formGroup]=\"formGroup\" class=\"value-path-selector__form\">\n @if (obs.inputModeIsDropdown) {\n <ng-container\n *ngIf=\"\n showDocumentDefinitionSelector && {\n loadingDocumentDefinitionItems: loadingDocumentDefinitionItems$ | async,\n documentDefinitionListItems: documentDefinitionListItems$ | async,\n } as docObs\n \"\n >\n <cds-dropdown\n data-testid=\"value-path-selector-documentDefinition\"\n [appendInline]=\"appendInline\"\n [disabled]=\"\n obs.disabled ||\n docObs.loadingDocumentDefinitionItems ||\n !docObs.documentDefinitionListItems\n \"\n (selected)=\"onDocumentDefinitionSelected($event)\"\n [placeholder]=\"'valuePathSelector.selectDocDefPlaceholder' | translate\"\n >\n <cds-dropdown-list [items]=\"docObs.documentDefinitionListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </ng-container>\n\n <cds-dropdown\n data-testid=\"value-path-selector-valuePath\"\n [appendInline]=\"appendInline\"\n [disabled]=\"obs.disabled || obs.loadingValuePathItems || !obs.valuePathListItems\"\n (selected)=\"onPathSelected($event)\"\n [placeholder]=\"'valuePathSelector.placeholder' | translate\"\n >\n <cds-dropdown-list [items]=\"obs.valuePathListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n } @else {\n <input\n data-testid=\"value-path-selector-input\"\n cdsText\n type=\"text\"\n formControlName=\"selectedPath\"\n />\n }\n\n <cds-toggle\n data-testid=\"value-path-selector-toggle\"\n [disabled]=\"obs.disabled\"\n [onText]=\"'valuePathSelector.dropdown' | translate\"\n [offText]=\"'valuePathSelector.manual' | translate\"\n [checked]=\"obs.inputModeIsDropdown\"\n (checkedChange)=\"onInputModeChange($event)\"\n ></cds-toggle>\n </form>\n</ng-container>\n", styles: [":host{width:100%;display:flex;flex-direction:column}::ng-deep .value-path-selector--margin-bottom{margin-bottom:16px}::ng-deep .value-path-selector--margin-bottom-lg{margin-bottom:24px}::ng-deep .value-path-selector--margin-bottom-xl{margin-bottom:34px}.value-path-selector__form{display:flex;width:100%;align-items:center;gap:16px;justify-content:space-between}.value-path-selector__form ::ng-deep cds-dropdown{width:100%}.value-path-selector__form ::ng-deep .cds--toggle__label-text{display:none}.value-path-selector__form ::ng-deep .cds--toggle__label{display:flex}\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: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.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: LoadingModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ToggleModule }, { kind: "component", type: i3.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
9637
+ ], 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\n *ngIf=\"{\n inputModeIsDropdown: inputModeIsDropdown$ | async,\n valuePathListItems: valuePathListItems$ | async,\n loadingValuePathItems: loadingValuePathItems$ | async,\n disabled: disabled$ | async,\n } as obs\"\n>\n <v-input-label [required]=\"required\" [title]=\"label\" [tooltip]=\"tooltip\"> </v-input-label>\n\n <form [formGroup]=\"formGroup\" class=\"value-path-selector__form\">\n <cds-toggle\n data-testid=\"value-path-selector-toggle\"\n size=\"sm\"\n [disabled]=\"obs.disabled\"\n [onText]=\"'valuePathSelector.dropdown' | translate\"\n [offText]=\"'valuePathSelector.manual' | translate\"\n [checked]=\"obs.inputModeIsDropdown\"\n (checkedChange)=\"onInputModeChange($event)\"\n ></cds-toggle>\n\n @if (obs.inputModeIsDropdown) {\n <ng-container\n *ngIf=\"\n showDocumentDefinitionSelector && {\n loadingDocumentDefinitionItems: loadingDocumentDefinitionItems$ | async,\n documentDefinitionListItems: documentDefinitionListItems$ | async,\n } as docObs\n \"\n >\n <cds-dropdown\n data-testid=\"value-path-selector-documentDefinition\"\n [appendInline]=\"appendInline\"\n [disabled]=\"\n obs.disabled ||\n docObs.loadingDocumentDefinitionItems ||\n !docObs.documentDefinitionListItems ||\n (docObs.documentDefinitionListItems || []).length === 0\n \"\n (selected)=\"onDocumentDefinitionSelected($event)\"\n [placeholder]=\"'valuePathSelector.selectDocDefPlaceholder' | translate\"\n >\n <cds-dropdown-list [items]=\"docObs.documentDefinitionListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </ng-container>\n\n <cds-dropdown\n data-testid=\"value-path-selector-valuePath\"\n [appendInline]=\"appendInline\"\n [disabled]=\"\n obs.disabled ||\n obs.loadingValuePathItems ||\n !obs.valuePathListItems ||\n (obs.valuePathListItems || []).length === 0\n \"\n (selected)=\"onPathSelected($event)\"\n [placeholder]=\"'valuePathSelector.placeholder' | translate\"\n >\n <cds-dropdown-list [items]=\"obs.valuePathListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n } @else {\n <input\n data-testid=\"value-path-selector-input\"\n cdsText\n type=\"text\"\n formControlName=\"selectedPath\"\n />\n }\n </form>\n</ng-container>\n", styles: [":host{width:100%;display:flex;flex-direction:column}::ng-deep .value-path-selector--margin-bottom{margin-bottom:16px}::ng-deep .value-path-selector--margin-bottom-lg{margin-bottom:24px}::ng-deep .value-path-selector--margin-bottom-xl{margin-bottom:34px}.value-path-selector__form{display:flex;width:100%;align-items:center;gap:16px;justify-content:space-between}.value-path-selector__form ::ng-deep cds-dropdown{width:100%;min-width:0}.value-path-selector__form ::ng-deep .cds--toggle__label-text{display:none}.value-path-selector__form ::ng-deep .cds--toggle__label{display:flex}\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: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.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: LoadingModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ToggleModule }, { kind: "component", type: i3.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
9638
9638
  }
9639
9639
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValuePathSelectorComponent, decorators: [{
9640
9640
  type: Component,
@@ -9654,7 +9654,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
9654
9654
  multi: true,
9655
9655
  useExisting: forwardRef(() => ValuePathSelectorComponent),
9656
9656
  },
9657
- ], 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\n *ngIf=\"{\n inputModeIsDropdown: inputModeIsDropdown$ | async,\n valuePathListItems: valuePathListItems$ | async,\n loadingValuePathItems: loadingValuePathItems$ | async,\n disabled: disabled$ | async,\n } as obs\"\n>\n <v-input-label [required]=\"required\" [title]=\"label\" [tooltip]=\"tooltip\"> </v-input-label>\n\n <form [formGroup]=\"formGroup\" class=\"value-path-selector__form\">\n @if (obs.inputModeIsDropdown) {\n <ng-container\n *ngIf=\"\n showDocumentDefinitionSelector && {\n loadingDocumentDefinitionItems: loadingDocumentDefinitionItems$ | async,\n documentDefinitionListItems: documentDefinitionListItems$ | async,\n } as docObs\n \"\n >\n <cds-dropdown\n data-testid=\"value-path-selector-documentDefinition\"\n [appendInline]=\"appendInline\"\n [disabled]=\"\n obs.disabled ||\n docObs.loadingDocumentDefinitionItems ||\n !docObs.documentDefinitionListItems\n \"\n (selected)=\"onDocumentDefinitionSelected($event)\"\n [placeholder]=\"'valuePathSelector.selectDocDefPlaceholder' | translate\"\n >\n <cds-dropdown-list [items]=\"docObs.documentDefinitionListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </ng-container>\n\n <cds-dropdown\n data-testid=\"value-path-selector-valuePath\"\n [appendInline]=\"appendInline\"\n [disabled]=\"obs.disabled || obs.loadingValuePathItems || !obs.valuePathListItems\"\n (selected)=\"onPathSelected($event)\"\n [placeholder]=\"'valuePathSelector.placeholder' | translate\"\n >\n <cds-dropdown-list [items]=\"obs.valuePathListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n } @else {\n <input\n data-testid=\"value-path-selector-input\"\n cdsText\n type=\"text\"\n formControlName=\"selectedPath\"\n />\n }\n\n <cds-toggle\n data-testid=\"value-path-selector-toggle\"\n [disabled]=\"obs.disabled\"\n [onText]=\"'valuePathSelector.dropdown' | translate\"\n [offText]=\"'valuePathSelector.manual' | translate\"\n [checked]=\"obs.inputModeIsDropdown\"\n (checkedChange)=\"onInputModeChange($event)\"\n ></cds-toggle>\n </form>\n</ng-container>\n", styles: [":host{width:100%;display:flex;flex-direction:column}::ng-deep .value-path-selector--margin-bottom{margin-bottom:16px}::ng-deep .value-path-selector--margin-bottom-lg{margin-bottom:24px}::ng-deep .value-path-selector--margin-bottom-xl{margin-bottom:34px}.value-path-selector__form{display:flex;width:100%;align-items:center;gap:16px;justify-content:space-between}.value-path-selector__form ::ng-deep cds-dropdown{width:100%}.value-path-selector__form ::ng-deep .cds--toggle__label-text{display:none}.value-path-selector__form ::ng-deep .cds--toggle__label{display:flex}\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"] }]
9657
+ ], 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\n *ngIf=\"{\n inputModeIsDropdown: inputModeIsDropdown$ | async,\n valuePathListItems: valuePathListItems$ | async,\n loadingValuePathItems: loadingValuePathItems$ | async,\n disabled: disabled$ | async,\n } as obs\"\n>\n <v-input-label [required]=\"required\" [title]=\"label\" [tooltip]=\"tooltip\"> </v-input-label>\n\n <form [formGroup]=\"formGroup\" class=\"value-path-selector__form\">\n <cds-toggle\n data-testid=\"value-path-selector-toggle\"\n size=\"sm\"\n [disabled]=\"obs.disabled\"\n [onText]=\"'valuePathSelector.dropdown' | translate\"\n [offText]=\"'valuePathSelector.manual' | translate\"\n [checked]=\"obs.inputModeIsDropdown\"\n (checkedChange)=\"onInputModeChange($event)\"\n ></cds-toggle>\n\n @if (obs.inputModeIsDropdown) {\n <ng-container\n *ngIf=\"\n showDocumentDefinitionSelector && {\n loadingDocumentDefinitionItems: loadingDocumentDefinitionItems$ | async,\n documentDefinitionListItems: documentDefinitionListItems$ | async,\n } as docObs\n \"\n >\n <cds-dropdown\n data-testid=\"value-path-selector-documentDefinition\"\n [appendInline]=\"appendInline\"\n [disabled]=\"\n obs.disabled ||\n docObs.loadingDocumentDefinitionItems ||\n !docObs.documentDefinitionListItems ||\n (docObs.documentDefinitionListItems || []).length === 0\n \"\n (selected)=\"onDocumentDefinitionSelected($event)\"\n [placeholder]=\"'valuePathSelector.selectDocDefPlaceholder' | translate\"\n >\n <cds-dropdown-list [items]=\"docObs.documentDefinitionListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </ng-container>\n\n <cds-dropdown\n data-testid=\"value-path-selector-valuePath\"\n [appendInline]=\"appendInline\"\n [disabled]=\"\n obs.disabled ||\n obs.loadingValuePathItems ||\n !obs.valuePathListItems ||\n (obs.valuePathListItems || []).length === 0\n \"\n (selected)=\"onPathSelected($event)\"\n [placeholder]=\"'valuePathSelector.placeholder' | translate\"\n >\n <cds-dropdown-list [items]=\"obs.valuePathListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n } @else {\n <input\n data-testid=\"value-path-selector-input\"\n cdsText\n type=\"text\"\n formControlName=\"selectedPath\"\n />\n }\n </form>\n</ng-container>\n", styles: [":host{width:100%;display:flex;flex-direction:column}::ng-deep .value-path-selector--margin-bottom{margin-bottom:16px}::ng-deep .value-path-selector--margin-bottom-lg{margin-bottom:24px}::ng-deep .value-path-selector--margin-bottom-xl{margin-bottom:34px}.value-path-selector__form{display:flex;width:100%;align-items:center;gap:16px;justify-content:space-between}.value-path-selector__form ::ng-deep cds-dropdown{width:100%;min-width:0}.value-path-selector__form ::ng-deep .cds--toggle__label-text{display:none}.value-path-selector__form ::ng-deep .cds--toggle__label{display:flex}\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"] }]
9658
9658
  }], ctorParameters: () => [{ type: ValuePathSelectorService }, { type: i2$1.FormBuilder }, { type: i2$3.DocumentService }], propDecorators: { _showMargin: [{
9659
9659
  type: HostBinding,
9660
9660
  args: ['class.value-path-selector--margin-bottom']
@@ -11769,6 +11769,475 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
11769
11769
  type: Output
11770
11770
  }] } });
11771
11771
 
11772
+ /*
11773
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
11774
+ *
11775
+ * Licensed under EUPL, Version 1.2 (the "License");
11776
+ * you may not use this file except in compliance with the License.
11777
+ * You may obtain a copy of the License at
11778
+ *
11779
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
11780
+ *
11781
+ * Unless required by applicable law or agreed to in writing, software
11782
+ * distributed under the License is distributed on an "AS IS" basis,
11783
+ * WITHimport { LabelModule } from 'carbon-components-angular';
11784
+ OUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11785
+ * See the License for the specific language governing permissions and
11786
+ * limitations under the License.
11787
+ */
11788
+ class KeyValueComponent {
11789
+ constructor() {
11790
+ this.fullWidth = false;
11791
+ this.disabled = false;
11792
+ this.keyColumnFlex = 1;
11793
+ this.valueColumnFlex = 1;
11794
+ this.valueChange = new EventEmitter();
11795
+ }
11796
+ onInputChange(type, inputValue) {
11797
+ this.valueChange.emit({ value: this.value, inputValue, type });
11798
+ }
11799
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KeyValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11800
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: KeyValueComponent, isStandalone: true, selector: "valtimo-key-value", inputs: { keyColumnTitle: "keyColumnTitle", valueColumnTitle: "valueColumnTitle", index: "index", value: "value", fullWidth: "fullWidth", disabled: "disabled", keyColumnFlex: "keyColumnFlex", valueColumnFlex: "valueColumnFlex" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.fullWidth" } }, 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 class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('key', $event.target.value)\"\n />\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}\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: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }] }); }
11801
+ }
11802
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KeyValueComponent, decorators: [{
11803
+ type: Component,
11804
+ args: [{ selector: 'valtimo-key-value', standalone: true, imports: [CommonModule, InputModule$1], 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 class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('key', $event.target.value)\"\n />\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}\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"] }]
11805
+ }], propDecorators: { keyColumnTitle: [{
11806
+ type: Input
11807
+ }], valueColumnTitle: [{
11808
+ type: Input
11809
+ }], index: [{
11810
+ type: Input
11811
+ }], value: [{
11812
+ type: Input
11813
+ }], fullWidth: [{
11814
+ type: Input
11815
+ }, {
11816
+ type: HostBinding,
11817
+ args: ['class.--full-width']
11818
+ }], disabled: [{
11819
+ type: Input
11820
+ }], keyColumnFlex: [{
11821
+ type: Input
11822
+ }], valueColumnFlex: [{
11823
+ type: Input
11824
+ }], valueChange: [{
11825
+ type: Output
11826
+ }] } });
11827
+
11828
+ /*
11829
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
11830
+ *
11831
+ * Licensed under EUPL, Version 1.2 (the "License");
11832
+ * you may not use this file except in compliance with the License.
11833
+ * You may obtain a copy of the License at
11834
+ *
11835
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
11836
+ *
11837
+ * Unless required by applicable law or agreed to in writing, software
11838
+ * distributed under the License is distributed on an "AS IS" basis,
11839
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11840
+ * See the License for the specific language governing permissions and
11841
+ * limitations under the License.
11842
+ */
11843
+ class SingleValueComponent {
11844
+ constructor() {
11845
+ this.fullWidth = false;
11846
+ this.disabled = false;
11847
+ this.valueChange = new EventEmitter();
11848
+ }
11849
+ onInputChange(inputValue) {
11850
+ this.valueChange.emit({ value: this.value, inputValue });
11851
+ }
11852
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SingleValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11853
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SingleValueComponent, isStandalone: true, selector: "valtimo-single-value", inputs: { value: "value", fullWidth: "fullWidth", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.fullWidth" } }, 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 class=\"v-multi-input__input\" [ngClass]=\"{'--full-width': fullWidth}\">\n <input\n cdsText\n [defaultValue]=\"value?.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange($event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}\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: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }] }); }
11854
+ }
11855
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SingleValueComponent, decorators: [{
11856
+ type: Component,
11857
+ args: [{ selector: 'valtimo-single-value', standalone: true, imports: [CommonModule, InputModule$1], 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 class=\"v-multi-input__input\" [ngClass]=\"{'--full-width': fullWidth}\">\n <input\n cdsText\n [defaultValue]=\"value?.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange($event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}\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"] }]
11858
+ }], propDecorators: { value: [{
11859
+ type: Input
11860
+ }], fullWidth: [{
11861
+ type: Input
11862
+ }, {
11863
+ type: HostBinding,
11864
+ args: ['class.--full-width']
11865
+ }], disabled: [{
11866
+ type: Input
11867
+ }], valueChange: [{
11868
+ type: Output
11869
+ }] } });
11870
+
11871
+ /*
11872
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
11873
+ *
11874
+ * Licensed under EUPL, Version 1.2 (the "License");
11875
+ * you may not use this file except in compliance with the License.
11876
+ * You may obtain a copy of the License at
11877
+ *
11878
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
11879
+ *
11880
+ * Unless required by applicable law or agreed to in writing, software
11881
+ * distributed under the License is distributed on an "AS IS" basis,
11882
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11883
+ * See the License for the specific language governing permissions and
11884
+ * limitations under the License.
11885
+ */
11886
+ class KeyDropdownValueComponent {
11887
+ constructor() {
11888
+ this.dropdownWidth = 250;
11889
+ this.fullWidth = false;
11890
+ this.disabled = false;
11891
+ this.keyColumnFlex = 1;
11892
+ this.dropdownColumnFlex = 1;
11893
+ this.valueColumnFlex = 1;
11894
+ this.valueChange = new EventEmitter();
11895
+ }
11896
+ onInputChange(type, inputValue) {
11897
+ this.valueChange.emit({ value: this.value, inputValue, type });
11898
+ }
11899
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KeyDropdownValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11900
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: KeyDropdownValueComponent, isStandalone: true, selector: "valtimo-key-dropdown-value", inputs: { keyColumnTitle: "keyColumnTitle", valueColumnTitle: "valueColumnTitle", dropdownColumnTitle: "dropdownColumnTitle", index: "index", value: "value", dropdownItems$: "dropdownItems$", dropdownWidth: "dropdownWidth", fullWidth: "fullWidth", disabled: "disabled", keyColumnFlex: "keyColumnFlex", dropdownColumnFlex: "dropdownColumnFlex", valueColumnFlex: "valueColumnFlex" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.fullWidth" } }, 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 class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('key', $event.target.value)\"\n />\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.minWidth.px]=\"dropdownWidth\"\n [style.flex]=\"dropdownColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && dropdownColumnTitle\">{{ dropdownColumnTitle }}</cds-label>\n\n <cds-dropdown (selected)=\"onInputChange('dropdown', $event.item.id)\" [appendInline]=\"true\">\n <cds-dropdown-list [items]=\"dropdownItems$ | async\" type=\"multi\"></cds-dropdown-list>\n </cds-dropdown>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}\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: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { 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"] }] }); }
11901
+ }
11902
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KeyDropdownValueComponent, decorators: [{
11903
+ type: Component,
11904
+ args: [{ selector: 'valtimo-key-dropdown-value', standalone: true, imports: [CommonModule, InputModule$1, DropdownModule], 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 class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('key', $event.target.value)\"\n />\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.minWidth.px]=\"dropdownWidth\"\n [style.flex]=\"dropdownColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && dropdownColumnTitle\">{{ dropdownColumnTitle }}</cds-label>\n\n <cds-dropdown (selected)=\"onInputChange('dropdown', $event.item.id)\" [appendInline]=\"true\">\n <cds-dropdown-list [items]=\"dropdownItems$ | async\" type=\"multi\"></cds-dropdown-list>\n </cds-dropdown>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}\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"] }]
11905
+ }], propDecorators: { keyColumnTitle: [{
11906
+ type: Input
11907
+ }], valueColumnTitle: [{
11908
+ type: Input
11909
+ }], dropdownColumnTitle: [{
11910
+ type: Input
11911
+ }], index: [{
11912
+ type: Input
11913
+ }], value: [{
11914
+ type: Input
11915
+ }], dropdownItems$: [{
11916
+ type: Input
11917
+ }], dropdownWidth: [{
11918
+ type: Input
11919
+ }], fullWidth: [{
11920
+ type: Input
11921
+ }, {
11922
+ type: HostBinding,
11923
+ args: ['class.--full-width']
11924
+ }], disabled: [{
11925
+ type: Input
11926
+ }], keyColumnFlex: [{
11927
+ type: Input
11928
+ }], dropdownColumnFlex: [{
11929
+ type: Input
11930
+ }], valueColumnFlex: [{
11931
+ type: Input
11932
+ }], valueChange: [{
11933
+ type: Output
11934
+ }] } });
11935
+
11936
+ /*
11937
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
11938
+ *
11939
+ * Licensed under EUPL, Version 1.2 (the "License");
11940
+ * you may not use this file except in compliance with the License.
11941
+ * You may obtain a copy of the License at
11942
+ *
11943
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
11944
+ *
11945
+ * Unless required by applicable law or agreed to in writing, software
11946
+ * distributed under the License is distributed on an "AS IS" basis,
11947
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11948
+ * See the License for the specific language governing permissions and
11949
+ * limitations under the License.
11950
+ */
11951
+ class ArbitraryAmountValueComponent {
11952
+ constructor() {
11953
+ this.fullWidth = false;
11954
+ this.disabled = false;
11955
+ this.valueChange = new EventEmitter();
11956
+ }
11957
+ get isFullWidth() {
11958
+ return this.fullWidth;
11959
+ }
11960
+ onInputChange(arbitraryIndex, inputValue) {
11961
+ this.valueChange.emit({
11962
+ value: this.value,
11963
+ inputValue,
11964
+ type: 'arbitrary',
11965
+ arbitraryIndex,
11966
+ });
11967
+ }
11968
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ArbitraryAmountValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11969
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ArbitraryAmountValueComponent, isStandalone: true, selector: "valtimo-arbitrary-amount-value", inputs: { index: "index", value: "value", fullWidth: "fullWidth", disabled: "disabled", arbitraryAmountTitles: "arbitraryAmountTitles", amountOfArbitraryValuesArray$: "amountOfArbitraryValuesArray$" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.isFullWidth" } }, 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@for (_ of amountOfArbitraryValuesArray$ | async; let i = $index; track i) {\n <div class=\"v-multi-input__input\" [ngClass]=\"{'--full-width': fullWidth}\">\n <cds-label *ngIf=\"index === 0\">{{\n arbitraryAmountTitles ? arbitraryAmountTitles[i] : ''\n }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value ? value['' + i] : ''\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange(i, $event.target.value)\"\n />\n </div>\n\n @if (((amountOfArbitraryValuesArray$ | async) || []).length - 1 !== i) {\n <div class=\"v-multi-input__separator\"></div>\n }\n}\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}\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: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }] }); }
11970
+ }
11971
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ArbitraryAmountValueComponent, decorators: [{
11972
+ type: Component,
11973
+ args: [{ selector: 'valtimo-arbitrary-amount-value', standalone: true, imports: [CommonModule, InputModule$1], 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@for (_ of amountOfArbitraryValuesArray$ | async; let i = $index; track i) {\n <div class=\"v-multi-input__input\" [ngClass]=\"{'--full-width': fullWidth}\">\n <cds-label *ngIf=\"index === 0\">{{\n arbitraryAmountTitles ? arbitraryAmountTitles[i] : ''\n }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value ? value['' + i] : ''\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange(i, $event.target.value)\"\n />\n </div>\n\n @if (((amountOfArbitraryValuesArray$ | async) || []).length - 1 !== i) {\n <div class=\"v-multi-input__separator\"></div>\n }\n}\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}\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"] }]
11974
+ }], propDecorators: { index: [{
11975
+ type: Input
11976
+ }], value: [{
11977
+ type: Input
11978
+ }], fullWidth: [{
11979
+ type: Input
11980
+ }], disabled: [{
11981
+ type: Input
11982
+ }], arbitraryAmountTitles: [{
11983
+ type: Input
11984
+ }], amountOfArbitraryValuesArray$: [{
11985
+ type: Input
11986
+ }], valueChange: [{
11987
+ type: Output
11988
+ }], isFullWidth: [{
11989
+ type: HostBinding,
11990
+ args: ['class.--full-width']
11991
+ }] } });
11992
+
11993
+ /*
11994
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
11995
+ *
11996
+ * Licensed under EUPL, Version 1.2 (the "License");
11997
+ * you may not use this file except in compliance with the License.
11998
+ * You may obtain a copy of the License at
11999
+ *
12000
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
12001
+ *
12002
+ * Unless required by applicable law or agreed to in writing, software
12003
+ * distributed under the License is distributed on an "AS IS" basis,
12004
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12005
+ * See the License for the specific language governing permissions and
12006
+ * limitations under the License.
12007
+ */
12008
+
12009
+ /*
12010
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
12011
+ *
12012
+ * Licensed under EUPL, Version 1.2 (the "License");
12013
+ * you may not use this file except in compliance with the License.
12014
+ * You may obtain a copy of the License at
12015
+ *
12016
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
12017
+ *
12018
+ * Unless required by applicable law or agreed to in writing, software
12019
+ * distributed under the License is distributed on an "AS IS" basis,
12020
+ * WITHimport { LabelModule } from 'carbon-components-angular';
12021
+ OUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12022
+ * See the License for the specific language governing permissions and
12023
+ * limitations under the License.
12024
+ */
12025
+ class KeyValuePathSelectorComponent {
12026
+ constructor() {
12027
+ this.fullWidth = false;
12028
+ this.disabled = false;
12029
+ this.documentDefinitionName = '';
12030
+ this.prefixes = [];
12031
+ this.showDocumentDefinitionSelector = false;
12032
+ this.notation = 'dots';
12033
+ this.keyColumnFlex = 1;
12034
+ this.valueColumnFlex = 1;
12035
+ this.valueChange = new EventEmitter();
12036
+ }
12037
+ onInputChange(type, inputValue) {
12038
+ this.valueChange.emit({ value: this.value, inputValue, type });
12039
+ }
12040
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KeyValuePathSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12041
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: KeyValuePathSelectorComponent, isStandalone: true, selector: "valtimo-key-value-path-selector", inputs: { keyColumnTitle: "keyColumnTitle", valueColumnTitle: "valueColumnTitle", index: "index", value: "value", fullWidth: "fullWidth", disabled: "disabled", documentDefinitionName: "documentDefinitionName", prefixes: "prefixes", showDocumentDefinitionSelector: "showDocumentDefinitionSelector", notation: "notation", keyColumnFlex: "keyColumnFlex", valueColumnFlex: "valueColumnFlex" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.fullWidth" } }, 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 class=\"v-multi-input__input key\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('key', $event.target.value)\"\n />\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input path-selector\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <valtimo-value-path-selector\n [documentDefinitionName]=\"documentDefinitionName\"\n [prefixes]=\"prefixes\"\n [showDocumentDefinitionSelector]=\"showDocumentDefinitionSelector\"\n [disabled]=\"disabled\"\n [defaultValue]=\"value?.value\"\n [notation]=\"notation\"\n (valueChangeEvent)=\"onInputChange('value', $event)\"\n ></valtimo-value-path-selector>\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}:host .path-selector{flex:2}\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: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "documentDefinitionName", "version", "prefixes", "label", "tooltip", "required", "showDocumentDefinitionSelector", "notation", "defaultValue"], outputs: ["valueChangeEvent"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
12042
+ }
12043
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KeyValuePathSelectorComponent, decorators: [{
12044
+ type: Component,
12045
+ args: [{ selector: 'valtimo-key-value-path-selector', standalone: true, imports: [
12046
+ CommonModule,
12047
+ InputModule$1,
12048
+ ValuePathSelectorComponent,
12049
+ FormsModule,
12050
+ ReactiveFormsModule,
12051
+ ], 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 class=\"v-multi-input__input key\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('key', $event.target.value)\"\n />\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input path-selector\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <valtimo-value-path-selector\n [documentDefinitionName]=\"documentDefinitionName\"\n [prefixes]=\"prefixes\"\n [showDocumentDefinitionSelector]=\"showDocumentDefinitionSelector\"\n [disabled]=\"disabled\"\n [defaultValue]=\"value?.value\"\n [notation]=\"notation\"\n (valueChangeEvent)=\"onInputChange('value', $event)\"\n ></valtimo-value-path-selector>\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}:host .path-selector{flex:2}\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"] }]
12052
+ }], propDecorators: { keyColumnTitle: [{
12053
+ type: Input
12054
+ }], valueColumnTitle: [{
12055
+ type: Input
12056
+ }], index: [{
12057
+ type: Input
12058
+ }], value: [{
12059
+ type: Input
12060
+ }], fullWidth: [{
12061
+ type: Input
12062
+ }, {
12063
+ type: HostBinding,
12064
+ args: ['class.--full-width']
12065
+ }], disabled: [{
12066
+ type: Input
12067
+ }], documentDefinitionName: [{
12068
+ type: Input
12069
+ }], prefixes: [{
12070
+ type: Input
12071
+ }], showDocumentDefinitionSelector: [{
12072
+ type: Input
12073
+ }], notation: [{
12074
+ type: Input
12075
+ }], keyColumnFlex: [{
12076
+ type: Input
12077
+ }], valueColumnFlex: [{
12078
+ type: Input
12079
+ }], valueChange: [{
12080
+ type: Output
12081
+ }] } });
12082
+
12083
+ /*
12084
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
12085
+ *
12086
+ * Licensed under EUPL, Version 1.2 (the "License");
12087
+ * you may not use this file except in compliance with the License.
12088
+ * You may obtain a copy of the License at
12089
+ *
12090
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
12091
+ *
12092
+ * Unless required by applicable law or agreed to in writing, software
12093
+ * distributed under the License is distributed on an "AS IS" basis,
12094
+ * WITHimport { LabelModule } from 'carbon-components-angular';
12095
+ OUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12096
+ * See the License for the specific language governing permissions and
12097
+ * limitations under the License.
12098
+ */
12099
+ class ValuePathSelectorValueComponent {
12100
+ constructor() {
12101
+ this.fullWidth = false;
12102
+ this.disabled = false;
12103
+ this.documentDefinitionName = '';
12104
+ this.prefixes = [];
12105
+ this.showDocumentDefinitionSelector = false;
12106
+ this.notation = 'dots';
12107
+ this.keyColumnFlex = 1;
12108
+ this.valueColumnFlex = 1;
12109
+ this.valueChange = new EventEmitter();
12110
+ }
12111
+ onInputChange(type, inputValue) {
12112
+ this.valueChange.emit({ value: this.value, inputValue, type });
12113
+ }
12114
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValuePathSelectorValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12115
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ValuePathSelectorValueComponent, isStandalone: true, selector: "valtimo-value-path-selector-value", inputs: { keyColumnTitle: "keyColumnTitle", valueColumnTitle: "valueColumnTitle", index: "index", value: "value", fullWidth: "fullWidth", disabled: "disabled", documentDefinitionName: "documentDefinitionName", prefixes: "prefixes", showDocumentDefinitionSelector: "showDocumentDefinitionSelector", notation: "notation", keyColumnFlex: "keyColumnFlex", valueColumnFlex: "valueColumnFlex" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.fullWidth" } }, 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 class=\"v-multi-input__input path-selector\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <valtimo-value-path-selector\n [documentDefinitionName]=\"documentDefinitionName\"\n [prefixes]=\"prefixes\"\n [showDocumentDefinitionSelector]=\"showDocumentDefinitionSelector\"\n [disabled]=\"disabled\"\n [defaultValue]=\"value?.key\"\n [notation]=\"notation\"\n (valueChangeEvent)=\"onInputChange('key', $event)\"\n ></valtimo-value-path-selector>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}:host .path-selector{flex:2}\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: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "documentDefinitionName", "version", "prefixes", "label", "tooltip", "required", "showDocumentDefinitionSelector", "notation", "defaultValue"], outputs: ["valueChangeEvent"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
12116
+ }
12117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValuePathSelectorValueComponent, decorators: [{
12118
+ type: Component,
12119
+ args: [{ selector: 'valtimo-value-path-selector-value', standalone: true, imports: [
12120
+ CommonModule,
12121
+ InputModule$1,
12122
+ ValuePathSelectorComponent,
12123
+ FormsModule,
12124
+ ReactiveFormsModule,
12125
+ ], 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 class=\"v-multi-input__input path-selector\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <valtimo-value-path-selector\n [documentDefinitionName]=\"documentDefinitionName\"\n [prefixes]=\"prefixes\"\n [showDocumentDefinitionSelector]=\"showDocumentDefinitionSelector\"\n [disabled]=\"disabled\"\n [defaultValue]=\"value?.key\"\n [notation]=\"notation\"\n (valueChangeEvent)=\"onInputChange('key', $event)\"\n ></valtimo-value-path-selector>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}:host .path-selector{flex:2}\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"] }]
12126
+ }], propDecorators: { keyColumnTitle: [{
12127
+ type: Input
12128
+ }], valueColumnTitle: [{
12129
+ type: Input
12130
+ }], index: [{
12131
+ type: Input
12132
+ }], value: [{
12133
+ type: Input
12134
+ }], fullWidth: [{
12135
+ type: Input
12136
+ }, {
12137
+ type: HostBinding,
12138
+ args: ['class.--full-width']
12139
+ }], disabled: [{
12140
+ type: Input
12141
+ }], documentDefinitionName: [{
12142
+ type: Input
12143
+ }], prefixes: [{
12144
+ type: Input
12145
+ }], showDocumentDefinitionSelector: [{
12146
+ type: Input
12147
+ }], notation: [{
12148
+ type: Input
12149
+ }], keyColumnFlex: [{
12150
+ type: Input
12151
+ }], valueColumnFlex: [{
12152
+ type: Input
12153
+ }], valueChange: [{
12154
+ type: Output
12155
+ }] } });
12156
+
12157
+ /*
12158
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
12159
+ *
12160
+ * Licensed under EUPL, Version 1.2 (the "License");
12161
+ * you may not use this file except in compliance with the License.
12162
+ * You may obtain a copy of the License at
12163
+ *
12164
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
12165
+ *
12166
+ * Unless required by applicable law or agreed to in writing, software
12167
+ * distributed under the License is distributed on an "AS IS" basis,
12168
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12169
+ * See the License for the specific language governing permissions and
12170
+ * limitations under the License.
12171
+ */
12172
+ class ValuePathSelectorDropdownValueComponent {
12173
+ constructor() {
12174
+ this.documentDefinitionName = '';
12175
+ this.prefixes = [];
12176
+ this.showDocumentDefinitionSelector = false;
12177
+ this.notation = 'dots';
12178
+ this.dropdownWidth = 250;
12179
+ this.fullWidth = false;
12180
+ this.disabled = false;
12181
+ this.keyColumnFlex = 1;
12182
+ this.dropdownColumnFlex = 1;
12183
+ this.valueColumnFlex = 1;
12184
+ this.valueChange = new EventEmitter();
12185
+ }
12186
+ onInputChange(type, inputValue) {
12187
+ this.valueChange.emit({ value: this.value, inputValue, type });
12188
+ }
12189
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValuePathSelectorDropdownValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12190
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ValuePathSelectorDropdownValueComponent, isStandalone: true, selector: "valtimo-value-path-selector-dropdown-value", inputs: { keyColumnTitle: "keyColumnTitle", valueColumnTitle: "valueColumnTitle", dropdownColumnTitle: "dropdownColumnTitle", index: "index", value: "value", dropdownItems$: "dropdownItems$", documentDefinitionName: "documentDefinitionName", prefixes: "prefixes", showDocumentDefinitionSelector: "showDocumentDefinitionSelector", notation: "notation", dropdownWidth: "dropdownWidth", fullWidth: "fullWidth", disabled: "disabled", keyColumnFlex: "keyColumnFlex", dropdownColumnFlex: "dropdownColumnFlex", valueColumnFlex: "valueColumnFlex" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.fullWidth" } }, 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 class=\"v-multi-input__input path-selector\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <valtimo-value-path-selector\n [documentDefinitionName]=\"documentDefinitionName\"\n [prefixes]=\"prefixes\"\n [showDocumentDefinitionSelector]=\"showDocumentDefinitionSelector\"\n [disabled]=\"disabled\"\n [defaultValue]=\"value?.key\"\n [notation]=\"notation\"\n (valueChangeEvent)=\"onInputChange('key', $event)\"\n ></valtimo-value-path-selector>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.minWidth.px]=\"dropdownWidth\"\n [style.flex]=\"dropdownColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && dropdownColumnTitle\">{{ dropdownColumnTitle }}</cds-label>\n\n <cds-dropdown (selected)=\"onInputChange('dropdown', $event.item.id)\" [appendInline]=\"true\">\n <cds-dropdown-list [items]=\"dropdownItems$ | async\" type=\"multi\"></cds-dropdown-list>\n </cds-dropdown>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;align-items:flex-end}:host.--full-width{width:100%}\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: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { 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: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "documentDefinitionName", "version", "prefixes", "label", "tooltip", "required", "showDocumentDefinitionSelector", "notation", "defaultValue"], outputs: ["valueChangeEvent"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
12191
+ }
12192
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValuePathSelectorDropdownValueComponent, decorators: [{
12193
+ type: Component,
12194
+ args: [{ selector: 'valtimo-value-path-selector-dropdown-value', standalone: true, imports: [
12195
+ CommonModule,
12196
+ InputModule$1,
12197
+ DropdownModule,
12198
+ ValuePathSelectorComponent,
12199
+ FormsModule,
12200
+ ReactiveFormsModule,
12201
+ ], 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 class=\"v-multi-input__input path-selector\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <valtimo-value-path-selector\n [documentDefinitionName]=\"documentDefinitionName\"\n [prefixes]=\"prefixes\"\n [showDocumentDefinitionSelector]=\"showDocumentDefinitionSelector\"\n [disabled]=\"disabled\"\n [defaultValue]=\"value?.key\"\n [notation]=\"notation\"\n (valueChangeEvent)=\"onInputChange('key', $event)\"\n ></valtimo-value-path-selector>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.minWidth.px]=\"dropdownWidth\"\n [style.flex]=\"dropdownColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && dropdownColumnTitle\">{{ dropdownColumnTitle }}</cds-label>\n\n <cds-dropdown (selected)=\"onInputChange('dropdown', $event.item.id)\" [appendInline]=\"true\">\n <cds-dropdown-list [items]=\"dropdownItems$ | async\" type=\"multi\"></cds-dropdown-list>\n </cds-dropdown>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;align-items:flex-end}:host.--full-width{width:100%}\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"] }]
12202
+ }], propDecorators: { keyColumnTitle: [{
12203
+ type: Input
12204
+ }], valueColumnTitle: [{
12205
+ type: Input
12206
+ }], dropdownColumnTitle: [{
12207
+ type: Input
12208
+ }], index: [{
12209
+ type: Input
12210
+ }], value: [{
12211
+ type: Input
12212
+ }], dropdownItems$: [{
12213
+ type: Input
12214
+ }], documentDefinitionName: [{
12215
+ type: Input
12216
+ }], prefixes: [{
12217
+ type: Input
12218
+ }], showDocumentDefinitionSelector: [{
12219
+ type: Input
12220
+ }], notation: [{
12221
+ type: Input
12222
+ }], dropdownWidth: [{
12223
+ type: Input
12224
+ }], fullWidth: [{
12225
+ type: Input
12226
+ }, {
12227
+ type: HostBinding,
12228
+ args: ['class.--full-width']
12229
+ }], disabled: [{
12230
+ type: Input
12231
+ }], keyColumnFlex: [{
12232
+ type: Input
12233
+ }], dropdownColumnFlex: [{
12234
+ type: Input
12235
+ }], valueColumnFlex: [{
12236
+ type: Input
12237
+ }], valueChange: [{
12238
+ type: Output
12239
+ }] } });
12240
+
11772
12241
  /*
11773
12242
  * Copyright 2015-2024 Ritense BV, the Netherlands.
11774
12243
  *
@@ -11786,53 +12255,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
11786
12255
  */
11787
12256
  class CarbonMultiInputComponent {
11788
12257
  constructor() {
11789
- this.name = '';
11790
- this.title = '';
11791
- this.titleTranslationKey = '';
11792
- this.type = 'value';
11793
- this.initialAmountOfRows = 1;
11794
- this.minimumAmountOfRows = 1;
11795
- this.maxRows = null;
11796
12258
  this.addRowText = '';
11797
12259
  this.addRowTranslationKey = '';
11798
12260
  this.deleteRowText = '';
11799
12261
  this.deleteRowTranslationKey = '';
11800
12262
  this.disabled = false;
11801
- this.margin = false;
11802
- this.tooltip = '';
11803
- this.required = false;
11804
- this.keyColumnTitle = '';
11805
- this.valueColumnTitle = '';
11806
12263
  this.dropdownColumnTitle = '';
11807
- this.hideDeleteButton = false;
11808
- this.hideAddButton = false;
11809
12264
  this.dropdownWidth = 250;
11810
12265
  this.fullWidth = false;
11811
- this.carbonTheme = 'g10';
12266
+ this.hideAddButton = false;
12267
+ this.hideDeleteButton = false;
12268
+ this.initialAmountOfRows = 1;
12269
+ this.keyColumnTitle = '';
12270
+ this.margin = false;
12271
+ this.maxRows = null;
12272
+ this.minimumAmountOfRows = 1;
12273
+ this.name = '';
12274
+ this.required = false;
12275
+ this.title = '';
12276
+ this.titleTranslationKey = '';
12277
+ this.tooltip = '';
12278
+ this.type = 'value';
12279
+ this.valueColumnTitle = '';
12280
+ this.valuePathSelectorDocumentDefinitionName = '';
12281
+ this.valuePathSelectorPrefixes = [];
12282
+ this.valuePathSelectorShowDocumentDefinitionSelector = false;
12283
+ this.valuePathSelectorNotation = 'dots';
12284
+ this.keyColumnFlex = 1;
12285
+ this.dropdownColumnFlex = 1;
12286
+ this.valueColumnFlex = 1;
11812
12287
  this.valueChange = new EventEmitter();
11813
12288
  this.allValuesValidEvent = new EventEmitter();
11814
12289
  this.amountOfArbitraryValuesArray$ = new BehaviorSubject([]);
11815
12290
  this.values$ = new BehaviorSubject([]);
11816
- this.mappedValues$ = this.values$.pipe(map$1(values => values
11817
- .map(value => this.getMappedValue(value))
11818
- .filter(value => {
11819
- switch (this.type) {
11820
- case 'value':
11821
- return value;
11822
- case 'keyValue':
11823
- return value.value || value.key;
11824
- case 'keyDropdownValue':
11825
- return (value.value &&
11826
- value.key &&
11827
- value.dropdown);
11828
- case 'arbitraryAmount':
11829
- const objectValues = Object.values(value);
11830
- const positiveValuesAmount = objectValues.filter(objectValue => !!objectValue);
11831
- return objectValues.length === positiveValuesAmount.length;
11832
- }
11833
- })));
12291
+ this.mappedValues$ = this.values$.pipe(map$1(values => this.filterAndMapValues(values)));
11834
12292
  this.addRowEnabled$ = this.values$.pipe(map$1(values => !!(this.maxRows === null || values.length < this.maxRows)));
11835
12293
  this.dropdownItems$ = new BehaviorSubject([]);
12294
+ this._subscriptions = new Subscription();
11836
12295
  }
11837
12296
  set arbitraryValueAmount(value) {
11838
12297
  this._amountOfArbitraryValues = value;
@@ -11846,7 +12305,7 @@ class CarbonMultiInputComponent {
11846
12305
  this.openValuesSubscription();
11847
12306
  }
11848
12307
  ngOnDestroy() {
11849
- this._valuesSubscription?.unsubscribe();
12308
+ this._subscriptions.unsubscribe();
11850
12309
  }
11851
12310
  addRow() {
11852
12311
  combineLatest([this.values$, this.addRowEnabled$])
@@ -11864,7 +12323,7 @@ class CarbonMultiInputComponent {
11864
12323
  }
11865
12324
  });
11866
12325
  }
11867
- trackByFn(index, value) {
12326
+ trackByFn(_, value) {
11868
12327
  return value.uuid;
11869
12328
  }
11870
12329
  getDropdownItemsForRow(index) {
@@ -11900,9 +12359,9 @@ class CarbonMultiInputComponent {
11900
12359
  getInitialRows() {
11901
12360
  const minimumRows = this.minimumAmountOfRows;
11902
12361
  const initialRows = this.initialAmountOfRows;
11903
- const amountOfInitalRows = Math.max(minimumRows, initialRows);
12362
+ const amountOfInitialRows = Math.max(minimumRows, initialRows);
11904
12363
  if (!this.defaultValues) {
11905
- return new Array(amountOfInitalRows).fill(this.getEmptyValue());
12364
+ return new Array(amountOfInitialRows).fill(this.getEmptyValue());
11906
12365
  }
11907
12366
  return this.defaultValues.map(defaultValue => ({ ...defaultValue, uuid: v4() }));
11908
12367
  }
@@ -11924,10 +12383,10 @@ class CarbonMultiInputComponent {
11924
12383
  };
11925
12384
  }
11926
12385
  getMappedValue(valueToMap) {
11927
- if (this.type === 'keyValue') {
12386
+ if (this.type === 'keyValue' || this.type === 'keyValuePathSelector') {
11928
12387
  return { key: valueToMap.key, value: valueToMap.value };
11929
12388
  }
11930
- else if (this.type === 'keyDropdownValue') {
12389
+ else if (this.type === 'keyDropdownValue' || this.type === 'valuePathSelectorDropdownValue') {
11931
12390
  return { key: valueToMap.key, value: valueToMap.value, dropdown: valueToMap.dropdown };
11932
12391
  }
11933
12392
  else if (this.type === 'arbitraryAmount') {
@@ -11938,73 +12397,110 @@ class CarbonMultiInputComponent {
11938
12397
  return valueToMap.value;
11939
12398
  }
11940
12399
  openValuesSubscription() {
11941
- this._valuesSubscription = combineLatest([this.values$, this.mappedValues$]).subscribe(([values, mappedValues]) => {
12400
+ this._subscriptions.add(combineLatest([this.values$, this.mappedValues$]).subscribe(([values, mappedValues]) => {
11942
12401
  this.valueChange.emit(mappedValues);
11943
12402
  this.allValuesValidEvent.emit(values.length === mappedValues.length);
11944
- });
12403
+ }));
11945
12404
  }
11946
12405
  getArrayOfXLength(length) {
11947
12406
  return Array(length).fill(0);
11948
12407
  }
12408
+ filterAndMapValues(values) {
12409
+ return values
12410
+ .map(value => this.getMappedValue(value))
12411
+ .filter(value => this.isValueValid(value));
12412
+ }
12413
+ isValueValid(value) {
12414
+ switch (this.type) {
12415
+ case 'value':
12416
+ return !!value;
12417
+ case 'keyValue':
12418
+ case 'keyValuePathSelector':
12419
+ return !!(value.value || value.key);
12420
+ case 'keyDropdownValue':
12421
+ case 'valuePathSelectorDropdownValue':
12422
+ return !!(value.value &&
12423
+ value.key &&
12424
+ value.dropdown);
12425
+ case 'arbitraryAmount':
12426
+ const objectValues = Object.values(value);
12427
+ const positiveValuesAmount = objectValues.filter(objectValue => !!objectValue);
12428
+ return objectValues.length === positiveValuesAmount.length;
12429
+ default:
12430
+ return false;
12431
+ }
12432
+ }
11949
12433
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CarbonMultiInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11950
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: { name: "name", title: "title", titleTranslationKey: "titleTranslationKey", type: "type", arbitraryValueAmount: "arbitraryValueAmount", arbitraryAmountTitles: "arbitraryAmountTitles", initialAmountOfRows: "initialAmountOfRows", minimumAmountOfRows: "minimumAmountOfRows", maxRows: "maxRows", addRowText: "addRowText", addRowTranslationKey: "addRowTranslationKey", deleteRowText: "deleteRowText", deleteRowTranslationKey: "deleteRowTranslationKey", disabled: "disabled", defaultValues: "defaultValues", margin: "margin", tooltip: "tooltip", required: "required", keyColumnTitle: "keyColumnTitle", valueColumnTitle: "valueColumnTitle", dropdownColumnTitle: "dropdownColumnTitle", hideDeleteButton: "hideDeleteButton", hideAddButton: "hideAddButton", dropdownItems: "dropdownItems", dropdownWidth: "dropdownWidth", fullWidth: "fullWidth", carbonTheme: "carbonTheme" }, outputs: { valueChange: "valueChange", allValuesValidEvent: "allValuesValidEvent" }, 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 addRowText:\n addRowText || addRowTranslationKey\n ? addRowTranslationKey\n ? (addRowTranslationKey | translate)\n : addRowText\n : ('interface.addRow' | translate),\n deleteRowText:\n deleteRowText || deleteRowTranslationKey\n ? deleteRowTranslationKey\n ? (deleteRowTranslationKey | translate)\n : deleteRowText\n : ('interface.deleteRow' | translate),\n } as vars\"\n [ngClass]=\"{'v-multi-input--margin': margin, 'v-multi-input--no-delete-button': hideDeleteButton}\"\n class=\"v-multi-input\"\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\n <div class=\"v-multi-input__rows\">\n <div\n *ngFor=\"let value of values$ | async as values; trackBy: trackByFn; index as i\"\n class=\"v-multi-input__row\"\n >\n <ng-container *ngIf=\"type === 'value'\">\n <ng-container *ngTemplateOutlet=\"singleValue; context: {value: value}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'keyValue'\">\n <ng-container\n *ngTemplateOutlet=\"keyValue; context: {value: value, index: i}\"\n ></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'keyDropdownValue'\">\n <ng-container\n *ngTemplateOutlet=\"keyDropdownValue; context: {value: value, index: i}\"\n ></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'arbitraryAmount'\">\n <ng-container\n *ngTemplateOutlet=\"arbitraryAmountValue; context: {value: value, index: i}\"\n ></ng-container>\n </ng-container>\n\n <button\n *ngIf=\"!hideDeleteButton\"\n cdsButton=\"danger\"\n [disabled]=\"values?.length <= this.minimumAmountOfRows || disabled\"\n [iconOnly]=\"true\"\n size=\"md\"\n (click)=\"deleteRow(value.uuid)\"\n [title]=\"vars.deleteRowText\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n\n <div class=\"v-multi-input__add-button\">\n <button\n *ngIf=\"!hideAddButton\"\n cdsButton=\"primary\"\n size=\"md\"\n [disabled]=\"(addRowEnabled$ | async) === false || disabled\"\n (click)=\"addRow()\"\n >\n {{ vars.addRowText }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n</div>\n\n<ng-template #singleValue let-value=\"value\">\n <div class=\"v-multi-input__input\" [ngClass]=\"{'--full-width': fullWidth}\">\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (change)=\"onValueChange(value, $event.target.value, 'value')\"\n />\n </div>\n</ng-template>\n\n<ng-template #keyValue let-value=\"value\" let-index=\"index\">\n <div class=\"v-multi-input__input\" [ngClass]=\"{'--full-width': fullWidth}\">\n <cds-label *ngIf=\"index === 0 && keyColumnTitle && valueColumnTitle\">{{\n keyColumnTitle\n }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'key')\"\n />\n </div>\n <div class=\"v-multi-input__input\" [ngClass]=\"{'--full-width': fullWidth}\">\n <cds-label *ngIf=\"index === 0 && keyColumnTitle && valueColumnTitle\">{{\n valueColumnTitle\n }}</cds-label>\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'value')\"\n />\n </div>\n</ng-template>\n\n<ng-template #arbitraryAmountValue let-value=\"value\" let-index=\"index\">\n <div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n *ngFor=\"let _ of amountOfArbitraryValuesArray$ | async; index as i\"\n >\n <cds-label *ngIf=\"index === 0\">{{\n arbitraryAmountTitles ? arbitraryAmountTitles[i] : ''\n }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value ? value['' + i] : ''\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'arbitrary', i)\"\n />\n </div>\n</ng-template>\n\n<ng-template #keyDropdownValue let-value=\"value\" let-index=\"index\">\n <div [ngClass]=\"{'--full-width': fullWidth}\" class=\"v-multi-input__input\">\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'key')\"\n />\n </div>\n\n <div [style.minWidth.px]=\"dropdownWidth\" class=\"v-multi-input__input\">\n <cds-label *ngIf=\"index === 0 && dropdownColumnTitle\">{{ dropdownColumnTitle }}</cds-label>\n\n <cds-dropdown\n (selected)=\"onValueChange(value, $event.item.id, 'dropdown')\"\n [appendInline]=\"true\"\n >\n <cds-dropdown-list\n [items]=\"getDropdownItemsForRow(index) | async\"\n type=\"multi\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n <div [ngClass]=\"{'--full-width': fullWidth}\" class=\"v-multi-input__input\">\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'value')\"\n />\n </div>\n</ng-template>\n", styles: [".v-multi-input--margin{margin-block-end:var(--v-input-margin)}.v-multi-input__row{display:flex;flex-direction:row;align-items:flex-end;margin-block-end:var(--v-multi-input-row-spacing-block)}.v-multi-input__input{margin-inline-end:var(--v-multi-input-input-spacing-inline)}.v-multi-input__input.--full-width{width:100%}.v-multi-input--no-delete-button .v-multi-input__input:last-child{margin-inline-end:0}\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: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { 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: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
12434
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: { addRowText: "addRowText", addRowTranslationKey: "addRowTranslationKey", arbitraryAmountTitles: "arbitraryAmountTitles", arbitraryValueAmount: "arbitraryValueAmount", defaultValues: "defaultValues", deleteRowText: "deleteRowText", deleteRowTranslationKey: "deleteRowTranslationKey", disabled: "disabled", dropdownColumnTitle: "dropdownColumnTitle", dropdownItems: "dropdownItems", dropdownWidth: "dropdownWidth", fullWidth: "fullWidth", hideAddButton: "hideAddButton", hideDeleteButton: "hideDeleteButton", initialAmountOfRows: "initialAmountOfRows", keyColumnTitle: "keyColumnTitle", margin: "margin", maxRows: "maxRows", minimumAmountOfRows: "minimumAmountOfRows", name: "name", required: "required", title: "title", titleTranslationKey: "titleTranslationKey", tooltip: "tooltip", type: "type", valueColumnTitle: "valueColumnTitle", valuePathSelectorDocumentDefinitionName: "valuePathSelectorDocumentDefinitionName", valuePathSelectorPrefixes: "valuePathSelectorPrefixes", valuePathSelectorShowDocumentDefinitionSelector: "valuePathSelectorShowDocumentDefinitionSelector", valuePathSelectorNotation: "valuePathSelectorNotation", keyColumnFlex: "keyColumnFlex", dropdownColumnFlex: "dropdownColumnFlex", valueColumnFlex: "valueColumnFlex" }, outputs: { valueChange: "valueChange", allValuesValidEvent: "allValuesValidEvent" }, 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 addRowText:\n addRowText || addRowTranslationKey\n ? addRowTranslationKey\n ? (addRowTranslationKey | translate)\n : addRowText\n : ('interface.addRow' | translate),\n deleteRowText:\n deleteRowText || deleteRowTranslationKey\n ? deleteRowTranslationKey\n ? (deleteRowTranslationKey | translate)\n : deleteRowText\n : ('interface.deleteRow' | translate),\n } as vars\"\n [ngClass]=\"{'v-multi-input--margin': margin, 'v-multi-input--no-delete-button': hideDeleteButton}\"\n class=\"v-multi-input\"\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\n <div class=\"v-multi-input__rows\">\n <div\n *ngFor=\"let value of values$ | async as values; trackBy: trackByFn; index as i\"\n class=\"v-multi-input__row\"\n >\n @switch (type) {\n @case ('value') {\n <valtimo-single-value\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, 'value')\"\n ></valtimo-single-value>\n }\n @case ('keyValue') {\n <valtimo-key-value\n [keyColumnTitle]=\"keyColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-key-value>\n }\n @case ('keyDropdownValue') {\n <valtimo-key-dropdown-value\n [keyColumnTitle]=\"keyColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [dropdownColumnTitle]=\"dropdownColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [dropdownItems$]=\"getDropdownItemsForRow(i)\"\n [dropdownWidth]=\"dropdownWidth\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [dropdownColumnFlex]=\"dropdownColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-key-dropdown-value>\n }\n @case ('arbitraryAmount') {\n <valtimo-arbitrary-amount-value\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [arbitraryAmountTitles]=\"arbitraryAmountTitles\"\n [amountOfArbitraryValuesArray$]=\"amountOfArbitraryValuesArray$\"\n (valueChange)=\"\n onValueChange($event.value, $event.inputValue, $event.type, $event.arbitraryIndex)\n \"\n ></valtimo-arbitrary-amount-value>\n }\n @case ('keyValuePathSelector') {\n <valtimo-key-value-path-selector\n [keyColumnTitle]=\"keyColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [documentDefinitionName]=\"valuePathSelectorDocumentDefinitionName\"\n [prefixes]=\"valuePathSelectorPrefixes\"\n [showDocumentDefinitionSelector]=\"valuePathSelectorShowDocumentDefinitionSelector\"\n [notation]=\"valuePathSelectorNotation\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-key-value-path-selector>\n }\n @case ('valuePathSelectorValue') {\n <valtimo-value-path-selector-value\n [keyColumnTitle]=\"keyColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [documentDefinitionName]=\"valuePathSelectorDocumentDefinitionName\"\n [prefixes]=\"valuePathSelectorPrefixes\"\n [showDocumentDefinitionSelector]=\"valuePathSelectorShowDocumentDefinitionSelector\"\n [notation]=\"valuePathSelectorNotation\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-value-path-selector-value>\n }\n @case ('valuePathSelectorDropdownValue') {\n <valtimo-value-path-selector-dropdown-value\n [keyColumnTitle]=\"keyColumnTitle\"\n [dropdownColumnTitle]=\"dropdownColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [documentDefinitionName]=\"valuePathSelectorDocumentDefinitionName\"\n [prefixes]=\"valuePathSelectorPrefixes\"\n [dropdownItems$]=\"getDropdownItemsForRow(i)\"\n [dropdownWidth]=\"dropdownWidth\"\n [showDocumentDefinitionSelector]=\"valuePathSelectorShowDocumentDefinitionSelector\"\n [notation]=\"valuePathSelectorNotation\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [dropdownColumnFlex]=\"dropdownColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-value-path-selector-dropdown-value>\n }\n }\n\n <button\n *ngIf=\"!hideDeleteButton\"\n cdsButton=\"danger\"\n [disabled]=\"values?.length <= this.minimumAmountOfRows || disabled\"\n [iconOnly]=\"true\"\n size=\"md\"\n (click)=\"deleteRow(value.uuid)\"\n [title]=\"vars.deleteRowText\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n\n <div class=\"v-multi-input__add-button\">\n <button\n *ngIf=\"!hideAddButton\"\n cdsButton=\"primary\"\n size=\"md\"\n [disabled]=\"(addRowEnabled$ | async) === false || disabled\"\n (click)=\"addRow()\"\n >\n {{ vars.addRowText }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n</div>\n", styles: [".v-multi-input--margin{margin-block-end:var(--v-input-margin)}.v-multi-input__row{display:flex;flex-direction:row;align-items:flex-end;margin-block-end:var(--v-multi-input-row-spacing-block)}.v-multi-input__input{margin-inline-end:var(--v-multi-input-input-spacing-inline)}.v-multi-input__input.--full-width{flex:1}.v-multi-input__separator{height:40px;width:12px;display:flex;justify-content:flex-start}.v-multi-input__separator:before{content:\"\";height:100%;width:1px;background-color:var(--cds-border-subtle-selected)}.v-multi-input--no-delete-button .v-multi-input__input:last-child{margin-inline-end:0}\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: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: KeyValueComponent, selector: "valtimo-key-value", inputs: ["keyColumnTitle", "valueColumnTitle", "index", "value", "fullWidth", "disabled", "keyColumnFlex", "valueColumnFlex"], outputs: ["valueChange"] }, { kind: "component", type: SingleValueComponent, selector: "valtimo-single-value", inputs: ["value", "fullWidth", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: KeyDropdownValueComponent, selector: "valtimo-key-dropdown-value", inputs: ["keyColumnTitle", "valueColumnTitle", "dropdownColumnTitle", "index", "value", "dropdownItems$", "dropdownWidth", "fullWidth", "disabled", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange"] }, { kind: "component", type: ArbitraryAmountValueComponent, selector: "valtimo-arbitrary-amount-value", inputs: ["index", "value", "fullWidth", "disabled", "arbitraryAmountTitles", "amountOfArbitraryValuesArray$"], outputs: ["valueChange"] }, { kind: "component", type: KeyValuePathSelectorComponent, selector: "valtimo-key-value-path-selector", inputs: ["keyColumnTitle", "valueColumnTitle", "index", "value", "fullWidth", "disabled", "documentDefinitionName", "prefixes", "showDocumentDefinitionSelector", "notation", "keyColumnFlex", "valueColumnFlex"], outputs: ["valueChange"] }, { kind: "component", type: ValuePathSelectorValueComponent, selector: "valtimo-value-path-selector-value", inputs: ["keyColumnTitle", "valueColumnTitle", "index", "value", "fullWidth", "disabled", "documentDefinitionName", "prefixes", "showDocumentDefinitionSelector", "notation", "keyColumnFlex", "valueColumnFlex"], outputs: ["valueChange"] }, { kind: "component", type: ValuePathSelectorDropdownValueComponent, selector: "valtimo-value-path-selector-dropdown-value", inputs: ["keyColumnTitle", "valueColumnTitle", "dropdownColumnTitle", "index", "value", "dropdownItems$", "documentDefinitionName", "prefixes", "showDocumentDefinitionSelector", "notation", "dropdownWidth", "fullWidth", "disabled", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
11951
12435
  }
11952
12436
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CarbonMultiInputComponent, decorators: [{
11953
12437
  type: Component,
11954
- args: [{ selector: 'valtimo-carbon-multi-input', 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 addRowText:\n addRowText || addRowTranslationKey\n ? addRowTranslationKey\n ? (addRowTranslationKey | translate)\n : addRowText\n : ('interface.addRow' | translate),\n deleteRowText:\n deleteRowText || deleteRowTranslationKey\n ? deleteRowTranslationKey\n ? (deleteRowTranslationKey | translate)\n : deleteRowText\n : ('interface.deleteRow' | translate),\n } as vars\"\n [ngClass]=\"{'v-multi-input--margin': margin, 'v-multi-input--no-delete-button': hideDeleteButton}\"\n class=\"v-multi-input\"\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\n <div class=\"v-multi-input__rows\">\n <div\n *ngFor=\"let value of values$ | async as values; trackBy: trackByFn; index as i\"\n class=\"v-multi-input__row\"\n >\n <ng-container *ngIf=\"type === 'value'\">\n <ng-container *ngTemplateOutlet=\"singleValue; context: {value: value}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'keyValue'\">\n <ng-container\n *ngTemplateOutlet=\"keyValue; context: {value: value, index: i}\"\n ></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'keyDropdownValue'\">\n <ng-container\n *ngTemplateOutlet=\"keyDropdownValue; context: {value: value, index: i}\"\n ></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'arbitraryAmount'\">\n <ng-container\n *ngTemplateOutlet=\"arbitraryAmountValue; context: {value: value, index: i}\"\n ></ng-container>\n </ng-container>\n\n <button\n *ngIf=\"!hideDeleteButton\"\n cdsButton=\"danger\"\n [disabled]=\"values?.length <= this.minimumAmountOfRows || disabled\"\n [iconOnly]=\"true\"\n size=\"md\"\n (click)=\"deleteRow(value.uuid)\"\n [title]=\"vars.deleteRowText\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n\n <div class=\"v-multi-input__add-button\">\n <button\n *ngIf=\"!hideAddButton\"\n cdsButton=\"primary\"\n size=\"md\"\n [disabled]=\"(addRowEnabled$ | async) === false || disabled\"\n (click)=\"addRow()\"\n >\n {{ vars.addRowText }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n</div>\n\n<ng-template #singleValue let-value=\"value\">\n <div class=\"v-multi-input__input\" [ngClass]=\"{'--full-width': fullWidth}\">\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (change)=\"onValueChange(value, $event.target.value, 'value')\"\n />\n </div>\n</ng-template>\n\n<ng-template #keyValue let-value=\"value\" let-index=\"index\">\n <div class=\"v-multi-input__input\" [ngClass]=\"{'--full-width': fullWidth}\">\n <cds-label *ngIf=\"index === 0 && keyColumnTitle && valueColumnTitle\">{{\n keyColumnTitle\n }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'key')\"\n />\n </div>\n <div class=\"v-multi-input__input\" [ngClass]=\"{'--full-width': fullWidth}\">\n <cds-label *ngIf=\"index === 0 && keyColumnTitle && valueColumnTitle\">{{\n valueColumnTitle\n }}</cds-label>\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'value')\"\n />\n </div>\n</ng-template>\n\n<ng-template #arbitraryAmountValue let-value=\"value\" let-index=\"index\">\n <div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n *ngFor=\"let _ of amountOfArbitraryValuesArray$ | async; index as i\"\n >\n <cds-label *ngIf=\"index === 0\">{{\n arbitraryAmountTitles ? arbitraryAmountTitles[i] : ''\n }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value ? value['' + i] : ''\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'arbitrary', i)\"\n />\n </div>\n</ng-template>\n\n<ng-template #keyDropdownValue let-value=\"value\" let-index=\"index\">\n <div [ngClass]=\"{'--full-width': fullWidth}\" class=\"v-multi-input__input\">\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'key')\"\n />\n </div>\n\n <div [style.minWidth.px]=\"dropdownWidth\" class=\"v-multi-input__input\">\n <cds-label *ngIf=\"index === 0 && dropdownColumnTitle\">{{ dropdownColumnTitle }}</cds-label>\n\n <cds-dropdown\n (selected)=\"onValueChange(value, $event.item.id, 'dropdown')\"\n [appendInline]=\"true\"\n >\n <cds-dropdown-list\n [items]=\"getDropdownItemsForRow(index) | async\"\n type=\"multi\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n <div [ngClass]=\"{'--full-width': fullWidth}\" class=\"v-multi-input__input\">\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'value')\"\n />\n </div>\n</ng-template>\n", styles: [".v-multi-input--margin{margin-block-end:var(--v-input-margin)}.v-multi-input__row{display:flex;flex-direction:row;align-items:flex-end;margin-block-end:var(--v-multi-input-row-spacing-block)}.v-multi-input__input{margin-inline-end:var(--v-multi-input-input-spacing-inline)}.v-multi-input__input.--full-width{width:100%}.v-multi-input--no-delete-button .v-multi-input__input:last-child{margin-inline-end:0}\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"] }]
11955
- }], propDecorators: { name: [{
11956
- type: Input
11957
- }], title: [{
12438
+ args: [{ selector: 'valtimo-carbon-multi-input', encapsulation: ViewEncapsulation.None, 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 addRowText:\n addRowText || addRowTranslationKey\n ? addRowTranslationKey\n ? (addRowTranslationKey | translate)\n : addRowText\n : ('interface.addRow' | translate),\n deleteRowText:\n deleteRowText || deleteRowTranslationKey\n ? deleteRowTranslationKey\n ? (deleteRowTranslationKey | translate)\n : deleteRowText\n : ('interface.deleteRow' | translate),\n } as vars\"\n [ngClass]=\"{'v-multi-input--margin': margin, 'v-multi-input--no-delete-button': hideDeleteButton}\"\n class=\"v-multi-input\"\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\n <div class=\"v-multi-input__rows\">\n <div\n *ngFor=\"let value of values$ | async as values; trackBy: trackByFn; index as i\"\n class=\"v-multi-input__row\"\n >\n @switch (type) {\n @case ('value') {\n <valtimo-single-value\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, 'value')\"\n ></valtimo-single-value>\n }\n @case ('keyValue') {\n <valtimo-key-value\n [keyColumnTitle]=\"keyColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-key-value>\n }\n @case ('keyDropdownValue') {\n <valtimo-key-dropdown-value\n [keyColumnTitle]=\"keyColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [dropdownColumnTitle]=\"dropdownColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [dropdownItems$]=\"getDropdownItemsForRow(i)\"\n [dropdownWidth]=\"dropdownWidth\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [dropdownColumnFlex]=\"dropdownColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-key-dropdown-value>\n }\n @case ('arbitraryAmount') {\n <valtimo-arbitrary-amount-value\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [arbitraryAmountTitles]=\"arbitraryAmountTitles\"\n [amountOfArbitraryValuesArray$]=\"amountOfArbitraryValuesArray$\"\n (valueChange)=\"\n onValueChange($event.value, $event.inputValue, $event.type, $event.arbitraryIndex)\n \"\n ></valtimo-arbitrary-amount-value>\n }\n @case ('keyValuePathSelector') {\n <valtimo-key-value-path-selector\n [keyColumnTitle]=\"keyColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [documentDefinitionName]=\"valuePathSelectorDocumentDefinitionName\"\n [prefixes]=\"valuePathSelectorPrefixes\"\n [showDocumentDefinitionSelector]=\"valuePathSelectorShowDocumentDefinitionSelector\"\n [notation]=\"valuePathSelectorNotation\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-key-value-path-selector>\n }\n @case ('valuePathSelectorValue') {\n <valtimo-value-path-selector-value\n [keyColumnTitle]=\"keyColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [documentDefinitionName]=\"valuePathSelectorDocumentDefinitionName\"\n [prefixes]=\"valuePathSelectorPrefixes\"\n [showDocumentDefinitionSelector]=\"valuePathSelectorShowDocumentDefinitionSelector\"\n [notation]=\"valuePathSelectorNotation\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-value-path-selector-value>\n }\n @case ('valuePathSelectorDropdownValue') {\n <valtimo-value-path-selector-dropdown-value\n [keyColumnTitle]=\"keyColumnTitle\"\n [dropdownColumnTitle]=\"dropdownColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [documentDefinitionName]=\"valuePathSelectorDocumentDefinitionName\"\n [prefixes]=\"valuePathSelectorPrefixes\"\n [dropdownItems$]=\"getDropdownItemsForRow(i)\"\n [dropdownWidth]=\"dropdownWidth\"\n [showDocumentDefinitionSelector]=\"valuePathSelectorShowDocumentDefinitionSelector\"\n [notation]=\"valuePathSelectorNotation\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [dropdownColumnFlex]=\"dropdownColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-value-path-selector-dropdown-value>\n }\n }\n\n <button\n *ngIf=\"!hideDeleteButton\"\n cdsButton=\"danger\"\n [disabled]=\"values?.length <= this.minimumAmountOfRows || disabled\"\n [iconOnly]=\"true\"\n size=\"md\"\n (click)=\"deleteRow(value.uuid)\"\n [title]=\"vars.deleteRowText\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n\n <div class=\"v-multi-input__add-button\">\n <button\n *ngIf=\"!hideAddButton\"\n cdsButton=\"primary\"\n size=\"md\"\n [disabled]=\"(addRowEnabled$ | async) === false || disabled\"\n (click)=\"addRow()\"\n >\n {{ vars.addRowText }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n</div>\n", styles: [".v-multi-input--margin{margin-block-end:var(--v-input-margin)}.v-multi-input__row{display:flex;flex-direction:row;align-items:flex-end;margin-block-end:var(--v-multi-input-row-spacing-block)}.v-multi-input__input{margin-inline-end:var(--v-multi-input-input-spacing-inline)}.v-multi-input__input.--full-width{flex:1}.v-multi-input__separator{height:40px;width:12px;display:flex;justify-content:flex-start}.v-multi-input__separator:before{content:\"\";height:100%;width:1px;background-color:var(--cds-border-subtle-selected)}.v-multi-input--no-delete-button .v-multi-input__input:last-child{margin-inline-end:0}\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"] }]
12439
+ }], propDecorators: { addRowText: [{
11958
12440
  type: Input
11959
- }], titleTranslationKey: [{
12441
+ }], addRowTranslationKey: [{
11960
12442
  type: Input
11961
- }], type: [{
12443
+ }], arbitraryAmountTitles: [{
11962
12444
  type: Input
11963
12445
  }], arbitraryValueAmount: [{
11964
12446
  type: Input
11965
- }], arbitraryAmountTitles: [{
12447
+ }], defaultValues: [{
11966
12448
  type: Input
11967
- }], initialAmountOfRows: [{
12449
+ }], deleteRowText: [{
11968
12450
  type: Input
11969
- }], minimumAmountOfRows: [{
12451
+ }], deleteRowTranslationKey: [{
11970
12452
  type: Input
11971
- }], maxRows: [{
12453
+ }], disabled: [{
11972
12454
  type: Input
11973
- }], addRowText: [{
12455
+ }], dropdownColumnTitle: [{
11974
12456
  type: Input
11975
- }], addRowTranslationKey: [{
12457
+ }], dropdownItems: [{
11976
12458
  type: Input
11977
- }], deleteRowText: [{
12459
+ }], dropdownWidth: [{
11978
12460
  type: Input
11979
- }], deleteRowTranslationKey: [{
12461
+ }], fullWidth: [{
11980
12462
  type: Input
11981
- }], disabled: [{
12463
+ }], hideAddButton: [{
11982
12464
  type: Input
11983
- }], defaultValues: [{
12465
+ }], hideDeleteButton: [{
12466
+ type: Input
12467
+ }], initialAmountOfRows: [{
12468
+ type: Input
12469
+ }], keyColumnTitle: [{
11984
12470
  type: Input
11985
12471
  }], margin: [{
11986
12472
  type: Input
11987
- }], tooltip: [{
12473
+ }], maxRows: [{
12474
+ type: Input
12475
+ }], minimumAmountOfRows: [{
12476
+ type: Input
12477
+ }], name: [{
11988
12478
  type: Input
11989
12479
  }], required: [{
11990
12480
  type: Input
11991
- }], keyColumnTitle: [{
12481
+ }], title: [{
12482
+ type: Input
12483
+ }], titleTranslationKey: [{
12484
+ type: Input
12485
+ }], tooltip: [{
12486
+ type: Input
12487
+ }], type: [{
11992
12488
  type: Input
11993
12489
  }], valueColumnTitle: [{
11994
12490
  type: Input
11995
- }], dropdownColumnTitle: [{
12491
+ }], valuePathSelectorDocumentDefinitionName: [{
11996
12492
  type: Input
11997
- }], hideDeleteButton: [{
12493
+ }], valuePathSelectorPrefixes: [{
11998
12494
  type: Input
11999
- }], hideAddButton: [{
12495
+ }], valuePathSelectorShowDocumentDefinitionSelector: [{
12000
12496
  type: Input
12001
- }], dropdownItems: [{
12497
+ }], valuePathSelectorNotation: [{
12002
12498
  type: Input
12003
- }], dropdownWidth: [{
12499
+ }], keyColumnFlex: [{
12004
12500
  type: Input
12005
- }], fullWidth: [{
12501
+ }], dropdownColumnFlex: [{
12006
12502
  type: Input
12007
- }], carbonTheme: [{
12503
+ }], valueColumnFlex: [{
12008
12504
  type: Input
12009
12505
  }], valueChange: [{
12010
12506
  type: Output
@@ -13102,6 +13598,134 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
13102
13598
  }]
13103
13599
  }] });
13104
13600
 
13601
+ /*
13602
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
13603
+ *
13604
+ * Licensed under EUPL, Version 1.2 (the "License");
13605
+ * you may not use this file except in compliance with the License.
13606
+ * You may obtain a copy of the License at
13607
+ *
13608
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
13609
+ *
13610
+ * Unless required by applicable law or agreed to in writing, software
13611
+ * distributed under the License is distributed on an "AS IS" basis,
13612
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13613
+ * See the License for the specific language governing permissions and
13614
+ * limitations under the License.
13615
+ */
13616
+
13617
+ /*
13618
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
13619
+ *
13620
+ * Licensed under EUPL, Version 1.2 (the "License");
13621
+ * you may not use this file except in compliance with the License.
13622
+ * You may obtain a copy of the License at
13623
+ *
13624
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
13625
+ *
13626
+ * Unless required by applicable law or agreed to in writing, software
13627
+ * distributed under the License is distributed on an "AS IS" basis,
13628
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13629
+ * See the License for the specific language governing permissions and
13630
+ * limitations under the License.
13631
+ */
13632
+
13633
+ /*
13634
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
13635
+ *
13636
+ * Licensed under EUPL, Version 1.2 (the "License");
13637
+ * you may not use this file except in compliance with the License.
13638
+ * You may obtain a copy of the License at
13639
+ *
13640
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
13641
+ *
13642
+ * Unless required by applicable law or agreed to in writing, software
13643
+ * distributed under the License is distributed on an "AS IS" basis,
13644
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13645
+ * See the License for the specific language governing permissions and
13646
+ * limitations under the License.
13647
+ */
13648
+
13649
+ /*
13650
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
13651
+ *
13652
+ * Licensed under EUPL, Version 1.2 (the "License");
13653
+ * you may not use this file except in compliance with the License.
13654
+ * You may obtain a copy of the License at
13655
+ *
13656
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
13657
+ *
13658
+ * Unless required by applicable law or agreed to in writing, software
13659
+ * distributed under the License is distributed on an "AS IS" basis,
13660
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13661
+ * See the License for the specific language governing permissions and
13662
+ * limitations under the License.
13663
+ */
13664
+
13665
+ /*
13666
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
13667
+ *
13668
+ * Licensed under EUPL, Version 1.2 (the "License");
13669
+ * you may not use this file except in compliance with the License.
13670
+ * You may obtain a copy of the License at
13671
+ *
13672
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
13673
+ *
13674
+ * Unless required by applicable law or agreed to in writing, software
13675
+ * distributed under the License is distributed on an "AS IS" basis,
13676
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13677
+ * See the License for the specific language governing permissions and
13678
+ * limitations under the License.
13679
+ */
13680
+
13681
+ /*
13682
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
13683
+ *
13684
+ * Licensed under EUPL, Version 1.2 (the "License");
13685
+ * you may not use this file except in compliance with the License.
13686
+ * You may obtain a copy of the License at
13687
+ *
13688
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
13689
+ *
13690
+ * Unless required by applicable law or agreed to in writing, software
13691
+ * distributed under the License is distributed on an "AS IS" basis,
13692
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13693
+ * See the License for the specific language governing permissions and
13694
+ * limitations under the License.
13695
+ */
13696
+
13697
+ /*
13698
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
13699
+ *
13700
+ * Licensed under EUPL, Version 1.2 (the "License");
13701
+ * you may not use this file except in compliance with the License.
13702
+ * You may obtain a copy of the License at
13703
+ *
13704
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
13705
+ *
13706
+ * Unless required by applicable law or agreed to in writing, software
13707
+ * distributed under the License is distributed on an "AS IS" basis,
13708
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13709
+ * See the License for the specific language governing permissions and
13710
+ * limitations under the License.
13711
+ */
13712
+
13713
+ /*
13714
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
13715
+ *
13716
+ * Licensed under EUPL, Version 1.2 (the "License");
13717
+ * you may not use this file except in compliance with the License.
13718
+ * You may obtain a copy of the License at
13719
+ *
13720
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
13721
+ *
13722
+ * Unless required by applicable law or agreed to in writing, software
13723
+ * distributed under the License is distributed on an "AS IS" basis,
13724
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13725
+ * See the License for the specific language governing permissions and
13726
+ * limitations under the License.
13727
+ */
13728
+
13105
13729
  /*
13106
13730
  * Copyright 2015-2024 Ritense BV, the Netherlands.
13107
13731
  *
@@ -13127,7 +13751,14 @@ class CarbonMultiInputModule {
13127
13751
  ButtonModule$1,
13128
13752
  IconModule,
13129
13753
  InputModule$1,
13130
- DropdownModule], exports: [CarbonMultiInputComponent] }); }
13754
+ DropdownModule,
13755
+ KeyValueComponent,
13756
+ SingleValueComponent,
13757
+ KeyDropdownValueComponent,
13758
+ ArbitraryAmountValueComponent,
13759
+ KeyValuePathSelectorComponent,
13760
+ ValuePathSelectorValueComponent,
13761
+ ValuePathSelectorDropdownValueComponent], exports: [CarbonMultiInputComponent] }); }
13131
13762
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CarbonMultiInputModule, imports: [CommonModule,
13132
13763
  InputLabelModule,
13133
13764
  InputModule,
@@ -13136,7 +13767,14 @@ class CarbonMultiInputModule {
13136
13767
  ButtonModule$1,
13137
13768
  IconModule,
13138
13769
  InputModule$1,
13139
- DropdownModule] }); }
13770
+ DropdownModule,
13771
+ KeyValueComponent,
13772
+ SingleValueComponent,
13773
+ KeyDropdownValueComponent,
13774
+ ArbitraryAmountValueComponent,
13775
+ KeyValuePathSelectorComponent,
13776
+ ValuePathSelectorValueComponent,
13777
+ ValuePathSelectorDropdownValueComponent] }); }
13140
13778
  }
13141
13779
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CarbonMultiInputModule, decorators: [{
13142
13780
  type: NgModule,
@@ -13152,6 +13790,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
13152
13790
  IconModule,
13153
13791
  InputModule$1,
13154
13792
  DropdownModule,
13793
+ KeyValueComponent,
13794
+ SingleValueComponent,
13795
+ KeyDropdownValueComponent,
13796
+ ArbitraryAmountValueComponent,
13797
+ KeyValuePathSelectorComponent,
13798
+ ValuePathSelectorValueComponent,
13799
+ ValuePathSelectorDropdownValueComponent,
13155
13800
  ],
13156
13801
  exports: [CarbonMultiInputComponent],
13157
13802
  }]