@klippa/ngx-enhancy-forms 7.0.3 → 7.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/klippa-ngx-enhancy-forms.umd.js.map +1 -1
- package/bundles/klippa-ngx-enhancy-forms.umd.min.js.map +1 -1
- package/esm2015/lib/elements/select/select.component.js +1 -1
- package/fesm2015/klippa-ngx-enhancy-forms.js.map +1 -1
- package/klippa-ngx-enhancy-forms.metadata.json +1 -1
- package/lib/elements/select/select.component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"klippa-ngx-enhancy-forms.umd.js","sources":["../../../../projects/klippa/ngx-enhancy-forms/src/lib/util/values.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/form/form.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/form/form-element/form-element.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/value-accessor-base/value-accessor-base.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/button/button.component.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/checkbox/checkbox.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/email/email-input.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/loading-indicator/loading-indicator.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/number-input/number-input.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/password-field/password-field.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/select/select.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/select/select-footer/select-footer.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/sortable-items/sortable-items.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/text-input/text-input.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/toggle/toggle.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/form/form-caption/form-caption.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/form/form-error/form-error.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/form/form-submit-button/form-submit-button.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/value-accessor-base/multiple-value-accessor-base.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/validators/dateValidator.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/date-picker/date-picker.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/date-time-picker/date-time-picker.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/material.module.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/ngx-enhancy-forms.module.ts","../../../../projects/klippa/ngx-enhancy-forms/src/public-api.ts","../../../../projects/klippa/ngx-enhancy-forms/src/klippa-ngx-enhancy-forms.ts"],"sourcesContent":["import { isString } from 'lodash';\n\nexport function stringIsSetAndFilled(s: string) {\n\treturn isString(s) && s.length > 0;\n}\n\nexport function isNullOrUndefined(value: any) {\n\treturn value === null || value === undefined;\n}\n\nexport function numberIsSet(value: any) {\n\treturn isValueSet(value) && typeof value === 'number';\n}\n\nexport function isValueSet(value: any) {\n\treturn value !== null && value !== undefined;\n}\n\nexport function removeDuplicatesFromArray(array: Array<any>) {\n\treturn array.filter((c, i) => {\n\t\tconst firstOccurrenceIndex = array.findIndex((c2) => c2 === c);\n\t\treturn i === firstOccurrenceIndex;\n\t});\n}\n\nexport function stringOrArrayIsSetAndEmpty(value: any[] | string) {\n\treturn value !== null && value !== undefined && value.length === 0;\n}\n\nexport function truncateString(s: string, length: number) {\n\tif (s.length < length) {\n\t\treturn s;\n\t}\n\treturn s.substring(0, length) + '...';\n}\n\nexport function arrayIsSetAndFilled(arr: Array<any>) {\n\treturn arr !== null && arr !== undefined && arr.length > 0;\n}\n","import {Component, Directive, Input, OnDestroy, OnInit, Optional, SkipSelf} from '@angular/core';\nimport {AbstractControl, FormArray, FormControl, FormGroup, FormGroupName} from '@angular/forms';\nimport {FormElementComponent} from './form-element/form-element.component';\nimport {isValueSet} from '../util/values';\n\nexport const invalidFieldsSymbol = Symbol('Not all fields are valid');\n\n@Directive({\n\t// tslint:disable-next-line:directive-selector\n\tselector: 'klp-sub-form',\n})\nexport class SubFormDirective {\n\t@Input() injectInto: FormArray | FormGroup;\n\t@Input() at: number | string;\n}\n\n@Component({\n\tselector: 'klp-form',\n\ttemplateUrl: './form.component.html',\n\tstyleUrls: ['./form.component.scss'],\n})\nexport class FormComponent implements OnInit, OnDestroy {\n\t@Input() public showErrorMessages = true;\n\t@Input() public formGroup: FormGroup;\n\t@Input() public patchValueInterceptor: (values: any) => Promise<any>;\n\n\t// we keep track of what form controls are actually rendered. Only those count when looking at form validation\n\tprivate activeControls: Array<{\n\t\tformControl: FormControl;\n\t\tformElement: FormElementComponent;\n\t}> = [];\n\n\tconstructor(@SkipSelf() @Optional() private parent: FormComponent, @Optional() private subFormPlaceholder: SubFormDirective) {\n\t}\n\n\tngOnInit(): void {\n\t\tif (isValueSet(this.parent) && isValueSet(this.subFormPlaceholder)) {\n\t\t\tconst injectInto = this.subFormPlaceholder.injectInto;\n\t\t\tconst injectAt = this.subFormPlaceholder.at;\n\t\t\tif (injectInto instanceof FormArray) {\n\t\t\t\tif (typeof injectAt !== 'number') {\n\t\t\t\t\tthrow new Error(`cannot index FormArray with ${typeof injectAt}`);\n\t\t\t\t}\n\n\t\t\t\tinjectInto.setControl(injectAt, this.formGroup);\n\t\t\t} else if (injectInto instanceof FormGroup) {\n\t\t\t\tif (typeof injectAt !== 'string') {\n\t\t\t\t\tthrow new Error(`cannot index FormGroup with ${typeof injectAt}`);\n\t\t\t\t}\n\n\t\t\t\tinjectInto.setControl(injectAt, this.formGroup);\n\t\t\t}\n\t\t}\n\t\tif (isValueSet(this.patchValueInterceptor)) {\n\t\t\tthis.addSupportForPatchValueInterceptor();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tif (isValueSet(this.parent) && isValueSet(this.subFormPlaceholder)) {\n\t\t\tconst injectInto = this.subFormPlaceholder.injectInto;\n\t\t\tconst injectAt = this.subFormPlaceholder.at;\n\t\t\tif (injectInto instanceof FormArray) {\n\t\t\t\tconst idx = injectInto.controls.findIndex(e => e === this.formGroup);\n\t\t\t\tinjectInto.removeAt(idx);\n\t\t\t} else if (injectInto instanceof FormGroup) {\n\t\t\t\tif (typeof injectAt !== 'string') {\n\t\t\t\t\tthrow new Error(`cannot index FormGroup with ${typeof injectAt}`);\n\t\t\t\t}\n\t\t\t\tinjectInto.removeControl(injectAt);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate addSupportForPatchValueInterceptor(): void {\n\t\tconst fn = this.formGroup.patchValue;\n\t\tconst newFn = (\n\t\t\tvalue: {\n\t\t\t\t[key: string]: any;\n\t\t\t},\n\t\t\toptions?: {\n\t\t\t\tonlySelf?: boolean;\n\t\t\t\temitEvent?: boolean;\n\t\t\t}\n\t\t): void => {\n\t\t\tthis.patchValueInterceptor(value).then((val) => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tfn.call(this.formGroup, val, options);\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\t\tthis.formGroup.patchValue = newFn;\n\t}\n\n\tpublic registerControl(formControl: FormControl, formElement: FormElementComponent): void {\n\t\tthis.activeControls.push({formControl, formElement});\n\t\tif (this.parent) {\n\t\t\tthis.parent.registerControl(formControl, formElement);\n\t\t}\n\t}\n\n\tpublic unregisterControl(formControl: FormControl): void {\n\t\tthis.activeControls = this.activeControls.filter((e) => e.formControl !== formControl);\n\t\tif (this.parent) {\n\t\t\tthis.parent.unregisterControl(formControl);\n\t\t}\n\t}\n\n\tprivate addFormGroupControls(formGroup: FormGroup, result: Array<FormControl>): void {\n\t\tObject.values(formGroup.controls).forEach((value) => {\n\t\t\tif (value instanceof FormGroup) {\n\t\t\t\tthis.addFormGroupControls(value, result);\n\t\t\t} else if (value instanceof FormArray) {\n\t\t\t\tthis.addFormArrayControls(value, result);\n\t\t\t} else if (value instanceof FormControl) {\n\t\t\t\tthis.addFormControl(value, result);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate addFormArrayControls(formArray: FormArray, result: Array<FormControl>): void {\n\t\tformArray.controls.forEach((value) => {\n\t\t\tif (value instanceof FormGroup) {\n\t\t\t\tthis.addFormGroupControls(value, result);\n\t\t\t} else if (value instanceof FormArray) {\n\t\t\t\tthis.addFormArrayControls(value, result);\n\t\t\t} else if (value instanceof FormControl) {\n\t\t\t\tthis.addFormControl(value, result);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate getAllFormControls(): Array<FormControl> {\n\t\tconst result = [];\n\t\tthis.addFormGroupControls(this.formGroup, result);\n\t\treturn result;\n\t}\n\n\tprivate addFormControl(control: FormControl, result: Array<FormControl>): void {\n\t\tresult.push(control);\n\t}\n\n\tprivate disableInactiveFormControl(control: FormControl): void {\n\t\tif (!this.activeControls.some((e) => e.formControl === control)) {\n\t\t\tcontrol.disable();\n\t\t}\n\t}\n\n\ttrySubmit(): Promise<any> {\n\t\tthis.formGroup.markAllAsTouched();\n\t\tconst allControls: Array<FormControl> = this.getAllFormControls();\n\t\tconst originalDisabledStates = allControls.map(e => {\n\t\t\treturn {control: e, disabled: e.disabled};\n\t\t});\n\t\tallControls.forEach(e => this.disableInactiveFormControl(e));\n\t\tallControls.forEach(e => e.updateValueAndValidity());\n\t\tconst values = this.formGroup.value;\n\t\tif (this.formGroup.valid) {\n\t\t\tthis.setDisabledStatesForAllControls(originalDisabledStates);\n\t\t\treturn Promise.resolve(values);\n\t\t} else {\n\t\t\tthis.activeControls.find((e) => !e.formControl.valid)?.formElement?.scrollTo();\n\t\t\tthis.setDisabledStatesForAllControls(originalDisabledStates);\n\t\t\treturn Promise.reject(invalidFieldsSymbol);\n\t\t}\n\t}\n\n\tprivate setDisabledStatesForAllControls(originalDisabledStates: Array<{ control: AbstractControl; disabled: boolean }>): void {\n\t\toriginalDisabledStates.forEach((e) => {\n\t\t\tif (e.disabled) {\n\t\t\t\te.control.disable();\n\t\t\t} else {\n\t\t\t\te.control.enable();\n\t\t\t}\n\t\t});\n\t}\n}\n","import {Component, Directive, ElementRef, Host, Inject, InjectionToken, Input, OnInit, Optional, ViewChild} from '@angular/core';\nimport {AbstractControl, FormArray, FormControl, FormGroup} from '@angular/forms';\nimport {FormComponent} from '../form.component';\nimport {CustomErrorMessages, FormErrorMessages} from '../../types';\nimport { ValueAccessorBase } from '../../elements/value-accessor-base/value-accessor-base.component';\nimport { isValueSet } from '../../util/values';\n\nexport const FORM_ERROR_MESSAGES = new InjectionToken<CustomErrorMessages>('form.error.messages');\n\nexport const DEFAULT_ERROR_MESSAGES: FormErrorMessages = {\n\tmin: 'Use a number larger than %min%',\n\tmax: 'Use a number smaller than %max%',\n\trequired: 'This field is required',\n\temail: 'Use a valid email address',\n\tminLength: 'Has to be longer than %minLength% character(s)',\n\tmaxLength: 'Has to be shorter than %maxLength% character(s)',\n\tpattern: 'This input is not valid',\n\tmatchPassword: 'Passwords must match',\n\tdate: 'Enter a valid date',\n};\n\n@Component({\n\tselector: 'klp-form-element',\n\ttemplateUrl: './form-element.component.html',\n\tstyleUrls: ['./form-element.component.scss'],\n})\nexport class FormElementComponent {\n\tpublic attachedControl: AbstractControl;\n\t@Input() public caption: string;\n\t@Input() public direction: 'horizontal' | 'vertical' = 'horizontal';\n\t@Input() public captionSpacing: 'percentages' | 'none' = 'percentages';\n\t@Input() public spaceDistribution: '40-60' | '30-70' = '40-60';\n\t@Input() public swapInputAndCaption: boolean = false;\n\t@ViewChild('internalComponentRef') public internalComponentRef: ElementRef;\n\n\tpublic captionRef: ElementRef;\n\tpublic errorMessages: FormErrorMessages = DEFAULT_ERROR_MESSAGES;\n\tpublic customErrorHandlers: Array<{ error: string; templateRef: ElementRef }> = [];\n\tprivate input: ValueAccessorBase<any>;\n\n\tconstructor(\n\t\t@Host() @Optional() private parent: FormComponent,\n\t\t@Inject(FORM_ERROR_MESSAGES) @Optional() private customMessages: CustomErrorMessages,\n\t) {\n\t}\n\n\tpublic shouldShowErrorMessages(): boolean {\n\t\treturn this.parent?.showErrorMessages !== false;\n\t}\n\n\tpublic substituteParameters(message: string, parameters: Record<string, any>): string {\n\t\treturn Object.keys(parameters).reduce((msg, key) => {\n\t\t\treturn msg.replace(`%${key}%`, parameters[key]);\n\t\t}, message);\n\t}\n\n\tpublic registerControl(formControl: FormControl, input: ValueAccessorBase<any> = null): void {\n\t\tthis.attachedControl = formControl;\n\t\tthis.parent.registerControl(formControl, this);\n\t\tthis.input = input;\n\t}\n\n\tpublic unregisterControl(formControl: FormControl): void {\n\t\tthis.attachedControl = null;\n\t\tthis.parent.unregisterControl(formControl);\n\t}\n\n\tpublic getAttachedControl(): AbstractControl {\n\t\treturn this.attachedControl;\n\t}\n\n\tpublic registerErrorHandler(error: string, templateRef: ElementRef): void {\n\t\tthis.customErrorHandlers.push({error, templateRef});\n\t}\n\n\tpublic registerCaption(templateRef: ElementRef): void {\n\t\tthis.captionRef = templateRef;\n\t}\n\n\tgetErrorToShow(): string {\n\t\tif (this.attachedControl?.touched === true && this.attachedControl?.errors) {\n\t\t\treturn Object.keys(this.attachedControl?.errors)[0];\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetCustomErrorHandler(error: string): { error: string; templateRef: ElementRef } {\n\t\treturn this.customErrorHandlers.find((e) => e.error === error);\n\t}\n\n\tshowDefaultError(error: string): boolean {\n\t\treturn this.getErrorToShow() === error && !this.customErrorHandlers.some((e) => e.error === error);\n\t}\n\n\tgetScrollableParent(node): any {\n\t\tif (node == null) {\n\t\t\treturn null;\n\t\t}\n\t\tif (node.scrollHeight > node.clientHeight) {\n\t\t\treturn node;\n\t\t} else {\n\t\t\treturn this.getScrollableParent(node.parentNode);\n\t\t}\n\t}\n\n\tscrollTo(): void{\n\t\tthis.internalComponentRef.nativeElement.scrollIntoView(true);\n\t\t// to give some breathing room, we scroll 100px more to the top\n\t\tthis.getScrollableParent(this.internalComponentRef.nativeElement)?.scrollBy(0, -100);\n\t}\n\n\tisRequired(): boolean {\n\t\tif (isValueSet(this.input)) {\n\t\t\treturn this.input.hasValidator('required');\n\t\t}\n\t\treturn false;\n\t}\n\n\tgetErrorMessage(key: keyof FormErrorMessages): string {\n\t\treturn this.customMessages?.[key]?.() ?? this.errorMessages[key];\n\t}\n}\n","import { ControlContainer, ControlValueAccessor, FormControl } from '@angular/forms';\nimport {Component, EventEmitter, Host, Input, OnDestroy, OnInit, Optional, Output} from '@angular/core';\nimport { FormElementComponent } from '../../form/form-element/form-element.component';\nimport {arrayIsSetAndFilled, isNullOrUndefined, isValueSet, stringIsSetAndFilled} from '../../util/values';\n\n/**\n * This component is a base in order to create a component that supports ngModel.\n * Some important things to know about it:\n *\n * innerValue = your own inner state, which you should use to store the current state of what ngModel should be.\n * writeValue() = called by angular, when ngModel is changed from OUTSIDE of the component. Feel free to patch this method if you need inner logic to happen when ngModel is altered from the outside. Always remember to also call the super.writeValue if you do!\n * setInnerValueAndNotify() = call this when you want your ngModel to be updated from INSIDE of your component, and provide it to the OUTSIDE.\n * ngOnInit() = Used to support the angular reactive forms framework. If you use ngOnInit in your own component (which happens fairly often) you must not forget to call the super.ngOnInit() method.\n */\n\n@Component({\n\tselector: '',\n\ttemplate: '',\n})\nexport class ValueAccessorBase<T> implements ControlValueAccessor, OnInit, OnDestroy {\n\tpublic innerValue: T;\n\tpublic changed = new Array<(value: T) => void>();\n\tprivate touched = new Array<() => void>();\n\n\t@Input() public disabled = false;\n\t// we support both providing just the formControlName and the full formControl\n\t@Input() public formControlName: string = null;\n\t@Input() public formControl: FormControl = null;\n\t@Output() public onTouch = new EventEmitter<void>();\n\n\tprivate attachedFormControl: FormControl;\n\tprivate validators: Array<string> = [];\n\n\tconstructor(\n\t\t@Host() @Optional() protected parent: FormElementComponent,\n\t\t@Host() @Optional() protected controlContainer: ControlContainer\n\t) {}\n\n\tngOnInit(): void {\n\t\tif (this.formControl) {\n\t\t\tthis.attachedFormControl = this.formControl;\n\t\t} else if (stringIsSetAndFilled(this.formControlName)) {\n\t\t\tthis.attachedFormControl = this.controlContainer?.control.get(this.formControlName) as FormControl;\n\t\t\tif (isNullOrUndefined(this.attachedFormControl)) {\n\t\t\t\tthrow new Error(`Form element '${this.formControlName}' with caption '${this.parent?.caption}' is not declared in your FormGroup.`);\n\t\t\t}\n\t\t}\n\t\tif (this.attachedFormControl) {\n\t\t\tthis.disabled = this.attachedFormControl.disabled;\n\t\t\tthis.attachedFormControl.statusChanges.subscribe(() => {\n\t\t\t\tthis.disabled = this.attachedFormControl.disabled;\n\t\t\t});\n\t\t\tthis.parent?.registerControl(this.attachedFormControl, this);\n\t\t\tif (this.attachedFormControl?.validator) {\n\t\t\t\tconst vals = this.attachedFormControl.validator({} as any);\n\t\t\t\tif (isValueSet(vals)) {\n\t\t\t\t\tthis.validators = Object.keys(vals);\n\t\t\t\t} else {\n\t\t\t\t\tthis.validators = [];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tisInErrorState(): boolean {\n\t\treturn this.attachedFormControl && this.attachedFormControl.status === 'INVALID' && this.attachedFormControl.touched;\n\t}\n\n\tngOnDestroy(): void {\n\t\tif (this.attachedFormControl) {\n\t\t\tthis.parent?.unregisterControl(this.attachedFormControl);\n\t\t}\n\t}\n\n\ttouch(): void {\n\t\tthis.touched.forEach((f) => f());\n\t}\n\n\twriteValue(value: T): void {\n\t\tthis.innerValue = value;\n\t}\n\n\tregisterOnChange(fn: (value: T) => void): void {\n\t\tthis.changed.push(fn);\n\t}\n\n\tregisterOnTouched(fn: () => void): void {\n\t\tthis.touched.push(fn);\n\t}\n\n\tsetInnerValueAndNotify(value): void {\n\t\tthis.innerValue = value;\n\t\tthis.changed.forEach((fn) => fn(value));\n\t}\n\n\tresetToNull(): void {\n\t\tthis.setInnerValueAndNotify(null);\n\t}\n\n\thasValidator(validatorName: string): boolean {\n\t\tif (arrayIsSetAndFilled(this.validators)) {\n\t\t\treturn this.validators.includes(validatorName);\n\t\t}\n\t\treturn false;\n\t}\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n\tselector: 'klp-form-button',\n\ttemplateUrl: './button.component.html',\n\tstyleUrls: ['./button.component.scss'],\n})\nexport class ButtonComponent {\n\t@Input() variant:\n\t\t| 'white'\n\t\t| 'greenFilled'\n\t\t| 'greenOutlined'\n\t\t| 'greenLink'\n\t\t| 'contextMenuItem'\n\t\t| 'redFilled'\n\t\t| 'redOutlined'\n\t\t| 'orangeFilled' = 'white';\n\t@Input() size: 'small' | 'medium' | 'large' = 'medium';\n\t@Input() fullWidth = false;\n\t@Input() hasBorder = true;\n\t@Input() disabled = false;\n\t@Input() isLoading = false;\n\t@Input() type: 'button' | 'submit' = 'button';\n\n\t@HostBinding('class._fullWidth') get _() {\n\t\treturn this.fullWidth;\n\t}\n\n\tonClick(event: Event) {\n\t\tif (this.disabled) {\n\t\t\tevent.stopPropagation();\n\t\t}\n\t}\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Component, Input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ValueAccessorBase } from '../value-accessor-base/value-accessor-base.component';\n\n@Component({\n\tselector: 'klp-form-checkbox',\n\ttemplateUrl: './checkbox.component.html',\n\tstyleUrls: ['./checkbox.component.scss'],\n\tproviders: [{ provide: NG_VALUE_ACCESSOR, useExisting: CheckboxComponent, multi: true }],\n})\nexport class CheckboxComponent extends ValueAccessorBase<boolean> {\n\t@Input() caption: string;\n\t@Input() renderUndefinedAsIndeterminate = false;\n}\n","import {Component, Input} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-accessor-base/value-accessor-base.component';\n\n@Component({\n\tselector: 'klp-form-email-input',\n\ttemplateUrl: './email-input.component.html',\n\tstyleUrls: ['./email-input.component.scss'],\n\tproviders: [{provide: NG_VALUE_ACCESSOR, useExisting: EmailInputComponent, multi: true}],\n})\nexport class EmailInputComponent extends ValueAccessorBase<string> {\n\t@Input() placeholder = '';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'klp-form-loading-indicator',\n\ttemplateUrl: './loading-indicator.component.html',\n\tstyleUrls: ['./loading-indicator.component.scss'],\n})\nexport class LoadingIndicatorComponent {\n\t@Input() public variant: '3dots' | 'spinner' | 'textInput' | 'picker' = '3dots';\n\t@Input() public size: 'tiny' | 'small' | 'medium' | 'large' | 'huge' = 'medium';\n}\n","import { Component, Input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {ValueAccessorBase} from \"../value-accessor-base/value-accessor-base.component\";\n\n@Component({\n\tselector: 'klp-form-number-input',\n\ttemplateUrl: './number-input.component.html',\n\tstyleUrls: ['./number-input.component.scss'],\n\tproviders: [{ provide: NG_VALUE_ACCESSOR, useExisting: NumberInputComponent, multi: true }],\n})\nexport class NumberInputComponent extends ValueAccessorBase<string> {\n\t@Input() placeholder: string;\n}\n","import {Component, Input} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-accessor-base/value-accessor-base.component';\n\n@Component({\n\tselector: 'klp-form-password-field',\n\ttemplateUrl: './password-field.component.html',\n\tstyleUrls: ['./password-field.component.scss'],\n\tproviders: [{provide: NG_VALUE_ACCESSOR, useExisting: PasswordFieldComponent, multi: true}],\n})\nexport class PasswordFieldComponent extends ValueAccessorBase<string> {\n\t@Input() placeholder = 'Password';\n\t@Input() isPasswordConfirm = false;\n}\n","import {Component, EventEmitter, Host, Inject, InjectionToken, Input, Optional, Output, TemplateRef} from '@angular/core';\nimport {ControlContainer, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-accessor-base/value-accessor-base.component';\nimport {FormElementComponent} from '../../form/form-element/form-element.component';\nimport {format as formatDate} from 'date-fns';\nimport {DATE_TIME_PICKER_TRANSLATIONS} from '../date-time-picker/date-time-picker.component';\nimport {isValueSet, stringIsSetAndFilled} from '../../util/values';\n\nexport type AppSelectOptions = Array<AppSelectOption>;\nexport type AppSelectOption = {\n\tid: any;\n\tname: string;\n\tdescription?: string;\n\tdisabled?: boolean;\n};\n\nexport const SELECT_TRANSLATIONS = new InjectionToken<any>('klp.form.select.translations');\n\n@Component({\n\tselector: 'klp-form-select',\n\ttemplateUrl: './select.component.html',\n\tstyleUrls: ['./select.component.scss'],\n\tproviders: [{provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true}],\n})\nexport class SelectComponent extends ValueAccessorBase<string | string[]> {\n\t@Input() placeholder: string;\n\t@Input() options: AppSelectOptions;\n\t@Input() multiple = false;\n\t@Input() multipleDisplayedAsAmount = false;\n\t@Input() clearable = true;\n\t@Input() public dropdownPosition: string;\n\t@Input() public customSearchFn: (term: string, item: { id: string; name: string; description: string }) => boolean;\n\t@Input() public footerElement: TemplateRef<any>;\n\t@Output() public onSearch = new EventEmitter<string>();\n\tpublic currentQueryString: string;\n\n\tconstructor(\n\t\t@Optional() @Host() protected parent: FormElementComponent,\n\t\t@Optional() @Host() protected controlContainer: ControlContainer,\n\t\t@Inject(SELECT_TRANSLATIONS) @Optional() private translations: any,\n\t) {\n\t\tsuper(parent, controlContainer);\n\t}\n\n\tonTextInput(value: string): void {\n\t\tthis.currentQueryString = value;\n\t\tthis.onSearch.emit(value);\n\t}\n\n\tgetDefaultTranslation(key: string): (x: any) => string {\n\t\tswitch (key) {\n\t\t\tcase 'placeholder':\n\t\t\t\treturn () => 'Pick an option';\n\t\t\tcase 'amountSelected':\n\t\t\t\treturn (amount) => `${amount} selected`;\n\t\t}\n\t}\n\n\tgetTranslation(key: string, params: any = null): string {\n\t\tif (key === 'placeholder' && stringIsSetAndFilled(this.placeholder)) {\n\t\t\treturn this.placeholder;\n\t\t}\n\t\treturn this.translations?.[key]?.(params) ?? this.getDefaultTranslation(key)(params);\n\t}\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'klp-select-footer',\n\ttemplateUrl: './select-footer.component.html',\n\tstyleUrls: ['./select-footer.component.scss'],\n})\nexport class SelectFooterComponent {\n\t@Input() public prefix: string;\n\t@Input() public text: string;\n}\n","import {Component, ContentChild, Input, OnInit, TemplateRef} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Options} from 'sortablejs';\nimport {isValueSet} from '../../util/values';\nimport {ValueAccessorBase} from '../value-accessor-base/value-accessor-base.component';\n\n@Component({\n\tselector: 'klp-form-sortable-items',\n\ttemplateUrl: './sortable-items.component.html',\n\tstyleUrls: ['./sortable-items.component.scss'],\n\tproviders: [{provide: NG_VALUE_ACCESSOR, useExisting: SortableItemsComponent, multi: true}],\n})\nexport class SortableItemsComponent extends ValueAccessorBase<Array<any>> implements OnInit {\n\t@ContentChild(TemplateRef) template;\n\t@Input() sortableItemSize: 'sm' | 'lg' = 'lg';\n\t@Input() useCustomScroll = false;\n\n\tpublic sortablejsOptions: Options;\n\tprivate scrollInterval = null;\n\n\tngOnInit(): void {\n\t\tsuper.ngOnInit();\n\t\tif (this.useCustomScroll) {\n\t\t\tthis.sortablejsOptions = {onUpdate: this.itemsOrderChanged, onMove: this.onItemDrag, onEnd: this.onEnd};\n\t\t} else {\n\t\t\tthis.sortablejsOptions = {onUpdate: this.itemsOrderChanged};\n\t\t}\n\t}\n\n\titemsOrderChanged = () => {\n\t\tthis.setInnerValueAndNotify(this.innerValue);\n\t};\n\n\tonItemDrag = (data) => {\n\t\t// if the item you're dragging is reaching the top, start scrolling.\n\t\tif (data.relatedRect.top < 100) {\n\t\t\tthis.scrollPage(100);\n\t\t} else {\n\t\t\tthis.stopScrolling();\n\t\t}\n\t};\n\n\tonEnd = () => {\n\t\tthis.stopScrolling();\n\t};\n\n\tprivate scrollPage(scrollAmount: number): void {\n\t\tif (!isValueSet(this.scrollInterval)) {\n\t\t\tthis.scrollInterval = setInterval(() => {\n\t\t\t\twindow.scroll({\n\t\t\t\t\ttop: document.scrollingElement.scrollTop - scrollAmount,\n\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t});\n\t\t\t\tif (document.scrollingElement.scrollTop <= 100) {\n\t\t\t\t\tthis.stopScrolling();\n\t\t\t\t}\n\t\t\t}, 100);\n\t\t}\n\t}\n\n\tprivate stopScrolling(): void {\n\t\tclearInterval(this.scrollInterval);\n\t\tthis.scrollInterval = null;\n\t}\n}\n","import { Component, Input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {ValueAccessorBase} from \"../value-accessor-base/value-accessor-base.component\";\n\n@Component({\n\tselector: 'klp-form-text-input',\n\ttemplateUrl: './text-input.component.html',\n\tstyleUrls: ['./text-input.component.scss'],\n\tproviders: [{ provide: NG_VALUE_ACCESSOR, useExisting: TextInputComponent, multi: true }],\n})\nexport class TextInputComponent extends ValueAccessorBase<string> {\n\t@Input() placeholder: string;\n\t@Input() type: 'text' | 'password' = 'text';\n\t@Input() clearable = false;\n\t@Input() icon: 'search';\n}\n","import {Component, Input} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-accessor-base/value-accessor-base.component';\n\n@Component({\n\tselector: 'klp-form-toggle',\n\ttemplateUrl: './toggle.component.html',\n\tstyleUrls: ['./toggle.component.scss'],\n\tproviders: [{provide: NG_VALUE_ACCESSOR, useExisting: ToggleComponent, multi: true}],\n})\nexport class ToggleComponent extends ValueAccessorBase<boolean> {\n}\n","import { Component, ElementRef, Host, OnInit, Optional, ViewChild } from '@angular/core';\nimport {FormElementComponent} from \"../form-element/form-element.component\";\nimport {isNullOrUndefined} from \"../../util/values\";\n\n@Component({\n\tselector: 'klp-form-caption',\n\ttemplateUrl: './form-caption.component.html',\n\tstyleUrls: ['./form-caption.component.scss'],\n})\nexport class FormCaptionComponent implements OnInit {\n\t@ViewChild('contentRef') public contentRef: ElementRef;\n\n\tconstructor(@Host() @Optional() private parent: FormElementComponent) {}\n\n\tngOnInit(): void {\n\t\t// this is being run next cycle, because we dont want to fail if the order of components is as follows:\n\t\t// <app-form-error />\n\t\t// <some-input />\n\t\t// That would fail, because the logic of the form error is run first, and at that moment, the `some-input` isnt registered yet\n\t\tsetTimeout(() => {\n\t\t\tconst attachedControl = this.parent.getAttachedControl();\n\t\t\tthis.parent.registerCaption(this.contentRef);\n\t\t\tif (isNullOrUndefined(attachedControl)) {\n\t\t\t\tthrow new Error('You added a Form Caption component without an attached Form Control');\n\t\t\t}\n\t\t});\n\t}\n}\n","import { Component, ElementRef, Host, Input, OnInit, Optional, ViewChild } from '@angular/core';\nimport {FormElementComponent} from \"../form-element/form-element.component\";\nimport {isNullOrUndefined} from \"../../util/values\";\nimport {ErrorTypes} from \"../../types\";\n\n@Component({\n\tselector: 'klp-form-error',\n\ttemplateUrl: './form-error.component.html',\n\tstyleUrls: ['./form-error.component.scss'],\n})\nexport class FormErrorComponent implements OnInit {\n\t@Input() error: ErrorTypes;\n\tpublic showError = false;\n\t@ViewChild('contentRef') public contentRef: ElementRef;\n\tconstructor(@Host() @Optional() private parent: FormElementComponent) {}\n\n\tngOnInit(): void {\n\t\t// this is being run next cycle, because we dont want to fail if the order of components is as follows:\n\t\t// <app-form-error />\n\t\t// <some-input />\n\t\t// That would fail, because the logic of the form error is run first, and at that moment, the `some-input` isnt registered yet\n\t\tsetTimeout(() => {\n\t\t\tconst attachedControl = this.parent.getAttachedControl();\n\t\t\tthis.parent.registerErrorHandler(this.error, this.contentRef);\n\t\t\tif (isNullOrUndefined(attachedControl)) {\n\t\t\t\tthrow new Error('You added a Form Error component without an attached Form Control');\n\t\t\t}\n\t\t});\n\t}\n}\n","import { Component, Host, HostBinding, Input, Optional } from '@angular/core';\nimport {FormComponent, invalidFieldsSymbol} from \"../form.component\";\nimport {isNullOrUndefined} from \"../../util/values\";\n\n@Component({\n\tselector: 'klp-form-submit-button',\n\ttemplateUrl: './form-submit-button.component.html',\n\tstyleUrls: ['./form-submit-button.component.scss'],\n})\nexport class FormSubmitButtonComponent {\n\t@Input() public isLoading = false;\n\t@Input() fullWidth = false;\n\t@Input() variant: 'greenFilled' | 'redFilled' = 'greenFilled';\n\t@Input() public submitCallback: (any) => Promise<void>;\n\n\t@HostBinding('class._fullWidth') get _() {\n\t\treturn this.fullWidth;\n\t}\n\n\tconstructor(@Host() @Optional() private parentForm: FormComponent) {}\n\n\tsubmitForm() {\n\t\tthis.parentForm\n\t\t\t.trySubmit()\n\t\t\t.then((value) => {\n\t\t\t\tthis.isLoading = true;\n\t\t\t\tconst submitCallbackResult = this.submitCallback(value);\n\t\t\t\tif (isNullOrUndefined(submitCallbackResult)) {\n\t\t\t\t\tthrow new Error('No promise is returned in your submit function.');\n\t\t\t\t}\n\t\t\t\treturn submitCallbackResult.then(() => (this.isLoading = false)).catch((e) => {\n\t\t\t\t\tthis.isLoading = false\n\t\t\t\t\tthrow e;\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tif (e === invalidFieldsSymbol) {\n\t\t\t\t\treturn // swallow the error, the framework will scroll to the field that needs attention\n\t\t\t\t}\n\t\t\t\tthrow e;\n\t\t\t});\n\t}\n}\n","import {Component, Host, Input, Optional} from '@angular/core';\nimport {ControlContainer} from '@angular/forms';\nimport {ValueAccessorBase} from './value-accessor-base.component';\nimport {FormElementComponent} from '../../form/form-element/form-element.component';\nimport {isValueSet} from '../../util/values';\n\n@Component({\n\tselector: '',\n\ttemplate: '',\n})\nexport class MultipleValueAccessorBase<T> extends ValueAccessorBase<Array<T> | T> {\n\t@Input() multiple = false;\n\n\tconstructor(\n\t\t@Host() @Optional() protected parent: FormElementComponent,\n\t\t@Host() @Optional() protected controlContainer: ControlContainer\n\t) {\n\t\tsuper(parent, controlContainer);\n\t}\n\n\twriteValue(value: Array<T> | T): void {\n\t\tif (this.multiple) {\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\tsuper.writeValue(value.filter(isValueSet));\n\t\t\t} else {\n\t\t\t\tsuper.writeValue([value].filter(isValueSet));\n\t\t\t}\n\t\t} else {\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\tsuper.writeValue(value[0]);\n\t\t\t} else {\n\t\t\t\tsuper.writeValue(value);\n\t\t\t}\n\t\t}\n\t}\n\n\tsetInnerValueAndNotify(value: T | Array<T>): void {\n\t\tif (this.multiple) {\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\tsuper.setInnerValueAndNotify(value.filter(isValueSet));\n\t\t\t} else {\n\t\t\t\tsuper.setInnerValueAndNotify([value].filter(isValueSet));\n\t\t\t}\n\t\t} else {\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\tsuper.setInnerValueAndNotify(value[0]);\n\t\t\t} else {\n\t\t\t\tsuper.setInnerValueAndNotify(value);\n\t\t\t}\n\t\t}\n\t}\n}\n","import { AbstractControl, ValidationErrors } from '@angular/forms';\n\nexport const invalidDateKey = '--invalid_date--';\n\nexport function dateValidator(control: AbstractControl): ValidationErrors | null {\n\tconst invalid = control.value === invalidDateKey;\n\treturn invalid ? { date: control.value } : null;\n}\n","import {Component, Host, Inject, InjectionToken, Input, Optional} from '@angular/core';\nimport {ControlContainer, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {format as dateFormat, parse} from 'date-fns';\nimport {MultipleValueAccessorBase} from '../value-accessor-base/multiple-value-accessor-base.component';\nimport {invalidDateKey} from '../../validators/dateValidator';\nimport {isNullOrUndefined, isValueSet, stringIsSetAndFilled} from '../../util/values';\nimport {FormElementComponent} from '../../form/form-element/form-element.component';\n\nexport const DATE_PICKER_TRANSLATIONS = new InjectionToken<any>('klp.form.date.translations');\n\n@Component({\n\tselector: 'klp-form-date-picker',\n\ttemplateUrl: './date-picker.component.html',\n\tstyleUrls: ['./date-picker.component.scss'],\n\tproviders: [{provide: NG_VALUE_ACCESSOR, useExisting: DatePickerComponent, multi: true}],\n})\nexport class DatePickerComponent extends MultipleValueAccessorBase<string | typeof invalidDateKey> {\n\t@Input() public minDate: Date = undefined;\n\t@Input() public maxDate: Date = undefined;\n\t@Input() public sameMonthOnly = false;\n\t@Input() public format = 'dd-MM-yyyy';\n\t@Input() public placeholder: string;\n\t@Input() public clearable = false;\n\n\tpublic dateValue: Date | Array<Date>;\n\n\tconstructor(\n\t\t@Host() @Optional() protected parent: FormElementComponent,\n\t\t@Host() @Optional() protected controlContainer: ControlContainer,\n\t\t@Inject(DATE_PICKER_TRANSLATIONS) @Optional() private translations: any,\n\t) {\n\t\tsuper(parent, controlContainer);\n\t}\n\n\twriteValue(value: string | Array<string> | typeof invalidDateKey): void {\n\t\tif (value === invalidDateKey) {\n\t\t\tsuper.writeValue(invalidDateKey);\n\t\t} else if (isNullOrUndefined(value)) {\n\t\t\tthis.dateValue = null;\n\t\t\tsuper.writeValue(null);\n\t\t} else {\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\tthis.dateValue = value.map((e) => parse(e, 'yyyy-MM-dd', new Date()));\n\t\t\t} else {\n\t\t\t\tthis.dateValue = parse(value, 'yyyy-MM-dd', new Date());\n\t\t\t}\n\t\t\tsuper.writeValue(value);\n\t\t}\n\t}\n\n\tdateChanged(value: Date | Array<Date> | typeof invalidDateKey): void {\n\t\tif (value === invalidDateKey) {\n\t\t\tthis.setInnerValueAndNotify(invalidDateKey);\n\t\t} else if (isNullOrUndefined(value)) {\n\t\t\tthis.dateValue = null;\n\t\t\tthis.setInnerValueAndNotify(null);\n\t\t} else {\n\t\t\tthis.dateValue = value;\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\tthis.setInnerValueAndNotify(value.map((e) => dateFormat(e, 'yyyy-MM-dd')));\n\t\t\t} else {\n\t\t\t\tthis.setInnerValueAndNotify(dateFormat(value, 'yyyy-MM-dd'));\n\t\t\t}\n\t\t}\n\t}\n\n\tgetDefaultTranslation(key: string): (x: any) => string {\n\t\tswitch (key) {\n\t\t\tcase 'placeholder':\n\t\t\t\treturn () => 'Select date';\n\t\t}\n\t}\n\n\tgetTranslation(key: string, params: any = null): string {\n\t\tif (key === 'placeholder' && this.multiple) {\n\t\t\treturn '';\n\t\t}\n\t\tif (key === 'placeholder' && stringIsSetAndFilled(this.placeholder)) {\n\t\t\treturn this.placeholder;\n\t\t}\n\t\treturn this.translations?.[key]?.(params) ?? this.getDefaultTranslation(key)(params);\n\t}\n}\n","import {\n\tAfterViewInit,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tHost,\n\tInject,\n\tInjectionToken,\n\tInput,\n\tOnChanges,\n\tOnInit,\n\tOptional,\n\tSimpleChanges,\n\tViewChild\n} from '@angular/core';\nimport {ControlContainer, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {invalidDateKey} from '../../validators/dateValidator';\nimport {DateFilterFn, MatDatepicker} from '@angular/material/datepicker';\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_NATIVE_DATE_FORMATS, MatDateFormats} from '@angular/material/core';\nimport {KlpDateFormats} from '../../types';\nimport {FormElementComponent} from '../../form/form-element/form-element.component';\nimport {MultipleValueAccessorBase} from '../value-accessor-base/multiple-value-accessor-base.component';\nimport {arrayIsSetAndFilled, isValueSet, removeDuplicatesFromArray, stringIsSetAndFilled} from '../../util/values';\nimport {endOfMonth, format as formatDate, startOfMonth} from 'date-fns';\n\nexport const KLP_DATE_FORMATS = new InjectionToken<KlpDateFormats>('klp.form.date.formats');\nexport const DATE_TIME_PICKER_TRANSLATIONS = new InjectionToken<any>('klp.form.dateTime.translations');\nexport const DATE_PICKER_LOCALE = new InjectionToken<any>('klp.form.dateTime.locale');\n\nexport function matDateFormatsFactory(component: DateTimePickerComponent, dateFormats?: KlpDateFormats): MatDateFormats {\n\treturn dateFormats?.(component.format) ?? MAT_NATIVE_DATE_FORMATS;\n}\n\n@Component({\n\tselector: 'klp-form-date-time-picker',\n\ttemplateUrl: './date-time-picker.component.html',\n\tstyleUrls: ['./date-time-picker.component.scss'],\n\tproviders: [\n\t\t{provide: NG_VALUE_ACCESSOR, useExisting: DateTimePickerComponent, multi: true},\n\t\t{\n\t\t\tprovide: MAT_DATE_FORMATS,\n\t\t\tdeps: [DateTimePickerComponent, [new Optional(), KLP_DATE_FORMATS]],\n\t\t\tuseFactory: matDateFormatsFactory,\n\t\t},\n\t],\n})\nexport class DateTimePickerComponent extends MultipleValueAccessorBase<Date | typeof invalidDateKey> implements OnInit, AfterViewInit, OnChanges {\n\t@Input() public minDate: Date = undefined;\n\t@Input() public maxDate: Date = undefined;\n\t@Input() public sameMonthOnly = false;\n\t@Input() public format = 'dd-MM-yyyy';\n\t@Input() public placeholder: string;\n\t@Input() public clearable = false;\n\t@Input() public showTimeInput = true;\n\t@Input() public invalidTimeAsMidnight = false; // if the time is not valid, use 00:00 as the time\n\n\t@ViewChild('nativeInput') nativeInputRef: ElementRef;\n\t@ViewChild('picker') datePickerRef: MatDatepicker<Date>;\n\n\topenPickerOnDate = null;\n\tminDateStartOfDay: Date = undefined;\n\tmaxDateEndOfDay: Date = undefined;\n\n\t// this is passed as ngmodel and is used to set the initial date. But we also\n\t// use input and nativeInput callbacks to extend the validation logic so we\n\t// can distinguish between empty and invalid dates.\n\tvalueForMaterialDatePicker: Date;\n\thours: string; // string because it's a text input\n\tminutes: string; // string because it's a text input\n\tprivate selectedDates: Array<Date> = [];\n\tprivate datePickingClosingFn: () => void;\n\tprivate dateTouched = false;\n\tprivate hoursTouched = false;\n\tprivate minutesTouched = false;\n\n\tconstructor(\n\t\t@Host() @Optional() protected parent: FormElementComponent,\n\t\t@Host() @Optional() protected controlContainer: ControlContainer,\n\t\t@Inject(DATE_TIME_PICKER_TRANSLATIONS) @Optional() private translations: any,\n\t\t@Inject(DATE_PICKER_LOCALE) @Optional() private datePickerLocale: any,\n\t\tprivate dateAdapter: DateAdapter<Date>,\n\t\tprivate cdr: ChangeDetectorRef\n\t) {\n\t\tsuper(parent, controlContainer);\n\t\tif (isValueSet(datePickerLocale)) {\n\t\t\tdateAdapter.setLocale(datePickerLocale());\n\t\t}\n\t}\n\n\tngOnInit(): void {\n\t\tsuper.ngOnInit();\n\t\tif (this.multiple) {\n\t\t\tthis.placeholder = '';\n\t\t\tthis.showTimeInput = false;\n\t\t}\n\t}\n\n\tngAfterViewInit(): void {\n\t\tif (this.multiple) {\n\t\t\t// we are going to overwrite the datepicker closing fn later, so we are saving it here to restore it when needed\n\t\t\tthis.datePickingClosingFn = this.datePickerRef.close;\n\t\t}\n\t}\n\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (changes.minDate) {\n\t\t\tthis.determineMinAndMaxDates();\n\t\t}\n\t\tif (changes.maxDate) {\n\t\t\tthis.determineMinAndMaxDates();\n\t\t}\n\t}\n\n\tsetMinDate(minDate: Date): void {\n\t\tif (minDate) {\n\t\t\tthis.minDateStartOfDay = new Date(minDate);\n\t\t\tthis.minDateStartOfDay.setHours(0, 0, 0, 0);\n\t\t} else {\n\t\t\tthis.minDateStartOfDay = undefined;\n\t\t}\n\t}\n\n\tsetMaxDate(maxDate: Date): void {\n\t\tif (maxDate) {\n\t\t\tthis.maxDateEndOfDay = new Date(maxDate);\n\t\t\tthis.maxDateEndOfDay.setHours(23, 59, 59, 999);\n\t\t} else {\n\t\t\tthis.maxDateEndOfDay = undefined;\n\t\t}\n\t}\n\n\tgetSelectedMonths(): number {\n\t\treturn removeDuplicatesFromArray(this.selectedDates.map((e) => formatDate(e, 'MMMM'))).length;\n\t}\n\n\t// dateChanged is called when the output of the datepicker is changed and\n\t// parsed correctly. If the date is invalid, it will be called the first time\n\t// with null but never again until a valid input is provided.\n\tdateChanged(event: any): void {\n\t\tconst date = event.value;\n\t\tif (this.multiple) {\n\t\t\tthis.datePickerRef.close = () => {\n\t\t\t};\n\n\t\t\tif (this.selectedDates.some((e) => e.getTime() === date.getTime())) {\n\t\t\t\tthis.selectedDates = this.selectedDates.filter((e) => e.getTime() !== date.getTime());\n\t\t\t} else {\n\t\t\t\tthis.selectedDates = [...this.selectedDates, date];\n\t\t\t}\n\t\t\t// START HACK\n\t\t\t// the date picker does not provide any rerender calls. Therefore, we are going to change the minDate in order to force the render\n\t\t\t// This is needed to show all selected days in our date picker\n\t\t\t// We also set the innerValue to null (with this.valueForMaterialDatePicker = null;), otherwise you can not\n\t\t\t// deselect your last picked date\n\t\t\tthis.cdr.detectChanges();\n\t\t\tthis.valueForMaterialDatePicker = null;\n\t\t\tconst oldMinDate = this.minDateStartOfDay;\n\t\t\tthis.minDateStartOfDay = new Date(0);\n\t\t\tthis.cdr.detectChanges();\n\t\t\tthis.minDateStartOfDay = oldMinDate;\n\t\t\t// END HACK\n\n\t\t\tif (this.sameMonthOnly) {\n\t\t\t\tif (this.selectedDates.length >= 2) {\n\t\t\t\t\tif (date < startOfMonth(this.selectedDates[0]) || date > endOfMonth(this.selectedDates[0])) {\n\t\t\t\t\t\tthis.selectedDates = [date];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.determineMinAndMaxDates();\n\t\t\t}\n\n\t\t\tthis.setInnerValueAndNotify(this.selectedDates);\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.datePickerRef.close = this.datePickingClosingFn;\n\t\t\t});\n\t\t} else {\n\t\t\tthis.notifyNewDate();\n\t\t}\n\t}\n\n\tdetermineMinAndMaxDates(): void {\n\t\tif (this.sameMonthOnly) {\n\t\t\tif (this.selectedDates.length >= 2) {\n\t\t\t\tthis.setMinDate(startOfMonth(this.selectedDates[0]));\n\t\t\t\tthis.setMaxDate(endOfMonth(this.selectedDates[0]));\n\t\t\t} else {\n\t\t\t\tthis.setMinDate(this.minDate);\n\t\t\t\tthis.setMaxDate(this.maxDate);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.setMinDate(this.minDate);\n\t\t\tthis.setMaxDate(this.maxDate);\n\t\t}\n\t}\n\n\tnotifyNewDate(): void {\n\t\tconst nativeInputValue = this.nativeInputRef.nativeElement.value;\n\t\tconst parsedHours = Number(this.hours);\n\t\tconst parsedMinutes = Number(this.minutes);\n\n\t\t// if we dont have the time element\n\t\tif (!this.showTimeInput) {\n\t\t\tif (!stringIsSetAndFilled(nativeInputValue)) {\n\t\t\t\tthis.setInnerValueAndNotify(null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this.valueForMaterialDatePicker instanceof Date) {\n\t\t\t\tthis.setInnerValueAndNotify(this.valueForMaterialDatePicker);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t// when all inputs are empty\n\t\tif (!stringIsSetAndFilled(nativeInputValue) && !stringIsSetAndFilled(this.hours) && !stringIsSetAndFilled(this.minutes)) {\n\t\t\tthis.setInnerValueAndNotify(null);\n\t\t\treturn;\n\t\t}\n\t\t// if we have date and time\n\t\tif (\n\t\t\tstringIsSetAndFilled(this.hours) &&\n\t\t\tNumber.isFinite(parsedHours) &&\n\t\t\tparsedHours >= 0 &&\n\t\t\tparsedHours <= 23 &&\n\t\t\tstringIsSetAndFilled(this.minutes) &&\n\t\t\tNumber.isFinite(parsedMinutes) &&\n\t\t\tparsedMinutes >= 0 &&\n\t\t\tparsedMinutes <= 59 &&\n\t\t\tthis.valueForMaterialDatePicker instanceof Date\n\t\t) {\n\t\t\tconst newDateWithHours = new Date(this.valueForMaterialDatePicker.setHours(parsedHours));\n\t\t\tconst newDateWithMinutes = new Date(newDateWithHours.setMinutes(parsedMinutes));\n\t\t\tthis.setInnerValueAndNotify(newDateWithMinutes);\n\t\t\treturn;\n\t\t}\n\t\tif (this.invalidTimeAsMidnight) {\n\t\t\tif (this.valueForMaterialDatePicker instanceof Date) {\n\t\t\t\tthis.setInnerValueAndNotify(this.valueForMaterialDatePicker);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t// all other cases, we are not in a valid state\n\t\tthis.setInnerValueAndNotify(invalidDateKey);\n\t}\n\n\twriteValue(value: Date | Array<Date> | typeof invalidDateKey): void {\n\t\tsuper.writeValue(value);\n\t\tif (Array.isArray(value)) {\n\t\t\tthis.selectedDates = value;\n\t\t\tthis.determineMinAndMaxDates();\n\t\t\tthis.valueForMaterialDatePicker = null;\n\t\t\tif (arrayIsSetAndFilled(value)) {\n\t\t\t\tthis.openPickerOnDate = this.selectedDates[0];\n\t\t\t}\n\t\t} else {\n\t\t\tthis.valueForMaterialDatePicker = value === invalidDateKey ? null : value;\n\t\t\tif (value instanceof Date) {\n\t\t\t\tthis.hours = String(value.getHours());\n\t\t\t\tthis.minutes = String(value.getMinutes());\n\t\t\t\tthis.formatTime();\n\t\t\t\tthis.openPickerOnDate = value;\n\t\t\t} else {\n\t\t\t\tthis.hours = '';\n\t\t\t\tthis.minutes = '';\n\t\t\t\tthis.openPickerOnDate = null;\n\t\t\t}\n\t\t}\n\t}\n\n\t// nativeValueChanged is called when the internal text value changes, but not\n\t// when the date is changed via the date picker. We need this so that we can\n\t// determine if the datepicker is empty or invalid.\n\tnativeValueChanged(): void {\n\t\tif (this.datePickerRef.opened) {\n\t\t\t// if the user is typing instead of using the picker, close it.\n\t\t\tthis.datePickerRef.close();\n\t\t}\n\t\tthis.notifyNewDate();\n\t}\n\n\tresetToNull(): void {\n\t\tthis.setInnerValueAndNotify(null);\n\t\tthis.valueForMaterialDatePicker = null;\n\t\tthis.nativeInputRef.nativeElement.value = null;\n\t\tthis.hours = '';\n\t\tthis.minutes = '';\n\t\tthis.selectedDates = [];\n\t}\n\n\tisSelected = (d: Date) => {\n\t\tif (this.multiple) {\n\t\t\treturn this.selectedDates.some((e) => e.getTime() === d.getTime()) ? 'selected' : '';\n\t\t}\n\t\treturn '';\n\t};\n\tfilterDates: DateFilterFn<any> = (e) => {\n\t\tif (this.disabled) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t};\n\n\tformatTime(): void {\n\t\tif (Number.isFinite(Number(this.hours)) && this.hours.length === 1) {\n\t\t\tthis.hours = '0' + this.hours;\n\t\t}\n\t\tif (Number.isFinite(Number(this.minutes)) && this.minutes.length === 1) {\n\t\t\tthis.minutes = '0' + this.minutes;\n\t\t}\n\t}\n\n\ttouchDate(): void {\n\t\tthis.dateTouched = true;\n\t\tthis.determineAllTouched();\n\t}\n\n\ttouchHours(): void {\n\t\tthis.hoursTouched = true;\n\t\tthis.determineAllTouched();\n\t}\n\n\ttouchMinutes(): void {\n\t\tthis.minutesTouched = true;\n\t\tthis.determineAllTouched();\n\t}\n\n\tdetermineAllTouched(): void {\n\t\tif ((this.dateTouched && this.hoursTouched && this.minutesTouched) || (this.dateTouched && !this.showTimeInput)) {\n\t\t\tthis.touch();\n\t\t}\n\t}\n\n\n\tgetDefaultTranslation(key: string): (x: any) => string {\n\t\tswitch (key) {\n\t\t\tcase 'placeholder':\n\t\t\t\treturn () => 'Select date';\n\t\t\tcase 'selectDays':\n\t\t\t\treturn () => 'Select day(s)';\n\t\t\tcase 'selectedDate':\n\t\t\t\treturn (d: Date) => d.toLocaleDateString();\n\t\t\tcase 'daysSelected':\n\t\t\t\treturn (amount) => `${amount} days selected`;\n\t\t\tcase 'selectedInMonth':\n\t\t\t\treturn (d: Date) => ` in ${formatDate(d, 'MMMM')}`;\n\t\t}\n\t}\n\n\tgetTranslation(key: string, params: any = null): string {\n\t\tif (key === 'placeholder' && this.multiple) {\n\t\t\treturn '';\n\t\t}\n\t\tif (key === 'placeholder' && stringIsSetAndFilled(this.placeholder)) {\n\t\t\treturn this.placeholder;\n\t\t}\n\t\treturn this.translations?.[key]?.(params) ?? this.getDefaultTranslation(key)(params);\n\t}\n}\n","// material.module.ts\n\nimport { NgModule } from '@angular/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatButtonModule } from '@angular/material/button';\n\n@NgModule({\n\timports: [MatDatepickerModule, MatFormFieldModule, MatNativeDateModule, MatInputModule, MatButtonModule],\n\texports: [MatDatepickerModule, MatFormFieldModule, MatNativeDateModule, MatInputModule, MatButtonModule],\n\tproviders: [MatDatepickerModule],\n})\nexport class MaterialModule {}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule} from '@angular/forms';\nimport {ValueAccessorBase} from './elements/value-accessor-base/value-accessor-base.component';\nimport {ButtonComponent} from './elements/button/button.component';\nimport {CheckboxComponent} from './elements/checkbox/checkbox.component';\nimport {EmailInputComponent} from './elements/email/email-input.component';\nimport {LoadingIndicatorComponent} from './elements/loading-indicator/loading-indicator.component';\nimport {NumberInputComponent} from './elements/number-input/number-input.component';\nimport {PasswordFieldComponent} from './elements/password-field/password-field.component';\nimport {SelectComponent} from './elements/select/select.component';\nimport {SelectFooterComponent} from './elements/select/select-footer/select-footer.component';\nimport {SortableItemsComponent} from './elements/sortable-items/sortable-items.component';\nimport {TextInputComponent} from './elements/text-input/text-input.component';\nimport {ToggleComponent} from './elements/toggle/toggle.component';\nimport {FormCaptionComponent} from './form/form-caption/form-caption.component';\nimport {FormElementComponent} from './form/form-element/form-element.component';\nimport {FormErrorComponent} from './form/form-error/form-error.component';\nimport {FormSubmitButtonComponent} from './form/form-submit-button/form-submit-button.component';\nimport {FormComponent, SubFormDirective} from './form/form.component';\nimport {SortablejsModule} from 'ngx-sortablejs';\nimport {NgSelectModule} from '@ng-select/ng-select';\nimport {DatePickerComponent} from './elements/date-picker/date-picker.component';\nimport {DateTimePickerComponent} from './elements/date-time-picker/date-time-picker.component';\nimport {MaterialModule} from './material.module';\nimport {MultipleValueAccessorBase} from './elements/value-accessor-base/multiple-value-accessor-base.component';\n\n\n@NgModule({\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tNgSelectModule,\n\t\tSortablejsModule,\n\t\tMaterialModule,\n\t],\n\tdeclarations: [\n\t\tValueAccessorBase,\n\t\tMultipleValueAccessorBase,\n\t\tButtonComponent,\n\t\tCheckboxComponent,\n\t\tDatePickerComponent,\n\t\tDateTimePickerComponent,\n\t\tEmailInputComponent,\n\t\tLoadingIndicatorComponent,\n\t\tNumberInputComponent,\n\t\tPasswordFieldComponent,\n\t\tSelectComponent,\n\t\tSelectFooterComponent,\n\t\tSortableItemsComponent,\n\t\tTextInputComponent,\n\t\tToggleComponent,\n\t\tFormCaptionComponent,\n\t\tFormElementComponent,\n\t\tFormErrorComponent,\n\t\tFormSubmitButtonComponent,\n\t\tFormComponent,\n\t\tSubFormDirective,\n\t],\n\texports: [\n\t\tValueAccessorBase,\n\t\tMultipleValueAccessorBase,\n\t\tButtonComponent,\n\t\tDatePickerComponent,\n\t\tDateTimePickerComponent,\n\t\tCheckboxComponent,\n\t\tEmailInputComponent,\n\t\tLoadingIndicatorComponent,\n\t\tNumberInputComponent,\n\t\tPasswordFieldComponent,\n\t\tSelectComponent,\n\t\tSelectFooterComponent,\n\t\tSortableItemsComponent,\n\t\tTextInputComponent,\n\t\tToggleComponent,\n\t\tFormCaptionComponent,\n\t\tFormElementComponent,\n\t\tFormErrorComponent,\n\t\tFormSubmitButtonComponent,\n\t\tFormComponent,\n\t\tSubFormDirective,\n\t]\n})\nexport class NgxEnhancyFormsModule {\n}\n","/*\n * Public API Surface of ngx-enhancy-forms\n */\n\nexport * from './lib/ngx-enhancy-forms.module';\n\nexport * from './lib/elements/button/button.component';\nexport * from './lib/elements/checkbox/checkbox.component';\nexport * from './lib/elements/date-picker/date-picker.component';\nexport * from './lib/elements/date-time-picker/date-time-picker.component';\nexport * from './lib/elements/email/email-input.component';\nexport * from './lib/elements/loading-indicator/loading-indicator.component';\nexport * from './lib/elements/number-input/number-input.component';\nexport * from './lib/elements/password-field/password-field.component';\nexport * from './lib/elements/select/select-footer/select-footer.component';\nexport * from './lib/elements/select/select.component';\nexport * from './lib/elements/sortable-items/sortable-items.component';\nexport * from './lib/elements/text-input/text-input.component';\nexport * from './lib/elements/toggle/toggle.component';\nexport * from './lib/elements/value-accessor-base/value-accessor-base.component';\nexport * from './lib/elements/value-accessor-base/multiple-value-accessor-base.component';\n\nexport * from './lib/form/form.component';\nexport * from './lib/form/form-caption/form-caption.component';\nexport * from './lib/form/form-element/form-element.component';\nexport * from './lib/form/form-error/form-error.component';\nexport * from './lib/form/form-submit-button/form-submit-button.component';\n\nexport * from './lib/validators/dateValidator';\n\nexport * from './lib/types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {MaterialModule as ɵa} from './lib/material.module';"],"names":["isString","Directive","Input","FormArray","FormGroup","FormControl","Component","SkipSelf","Optional","InjectionToken","Host","Inject","ViewChild","EventEmitter","ControlContainer","Output","HostBinding","NG_VALUE_ACCESSOR","ContentChild","TemplateRef","parse","dateFormat","MAT_NATIVE_DATE_FORMATS","formatDate","startOfMonth","endOfMonth","MAT_DATE_FORMATS","DateAdapter","ChangeDetectorRef","NgModule","MatDatepickerModule","MatFormFieldModule","MatNativeDateModule","MatInputModule","MatButtonModule","CommonModule","FormsModule","NgSelectModule","SortablejsModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"klippa-ngx-enhancy-forms.umd.js","sources":["../../../../projects/klippa/ngx-enhancy-forms/src/lib/util/values.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/form/form.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/form/form-element/form-element.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/value-accessor-base/value-accessor-base.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/button/button.component.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/checkbox/checkbox.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/email/email-input.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/loading-indicator/loading-indicator.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/number-input/number-input.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/password-field/password-field.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/select/select.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/select/select-footer/select-footer.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/sortable-items/sortable-items.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/text-input/text-input.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/toggle/toggle.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/form/form-caption/form-caption.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/form/form-error/form-error.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/form/form-submit-button/form-submit-button.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/value-accessor-base/multiple-value-accessor-base.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/validators/dateValidator.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/date-picker/date-picker.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/elements/date-time-picker/date-time-picker.component.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/material.module.ts","../../../../projects/klippa/ngx-enhancy-forms/src/lib/ngx-enhancy-forms.module.ts","../../../../projects/klippa/ngx-enhancy-forms/src/public-api.ts","../../../../projects/klippa/ngx-enhancy-forms/src/klippa-ngx-enhancy-forms.ts"],"sourcesContent":["import { isString } from 'lodash';\n\nexport function stringIsSetAndFilled(s: string) {\n\treturn isString(s) && s.length > 0;\n}\n\nexport function isNullOrUndefined(value: any) {\n\treturn value === null || value === undefined;\n}\n\nexport function numberIsSet(value: any) {\n\treturn isValueSet(value) && typeof value === 'number';\n}\n\nexport function isValueSet(value: any) {\n\treturn value !== null && value !== undefined;\n}\n\nexport function removeDuplicatesFromArray(array: Array<any>) {\n\treturn array.filter((c, i) => {\n\t\tconst firstOccurrenceIndex = array.findIndex((c2) => c2 === c);\n\t\treturn i === firstOccurrenceIndex;\n\t});\n}\n\nexport function stringOrArrayIsSetAndEmpty(value: any[] | string) {\n\treturn value !== null && value !== undefined && value.length === 0;\n}\n\nexport function truncateString(s: string, length: number) {\n\tif (s.length < length) {\n\t\treturn s;\n\t}\n\treturn s.substring(0, length) + '...';\n}\n\nexport function arrayIsSetAndFilled(arr: Array<any>) {\n\treturn arr !== null && arr !== undefined && arr.length > 0;\n}\n","import {Component, Directive, Input, OnDestroy, OnInit, Optional, SkipSelf} from '@angular/core';\nimport {AbstractControl, FormArray, FormControl, FormGroup, FormGroupName} from '@angular/forms';\nimport {FormElementComponent} from './form-element/form-element.component';\nimport {isValueSet} from '../util/values';\n\nexport const invalidFieldsSymbol = Symbol('Not all fields are valid');\n\n@Directive({\n\t// tslint:disable-next-line:directive-selector\n\tselector: 'klp-sub-form',\n})\nexport class SubFormDirective {\n\t@Input() injectInto: FormArray | FormGroup;\n\t@Input() at: number | string;\n}\n\n@Component({\n\tselector: 'klp-form',\n\ttemplateUrl: './form.component.html',\n\tstyleUrls: ['./form.component.scss'],\n})\nexport class FormComponent implements OnInit, OnDestroy {\n\t@Input() public showErrorMessages = true;\n\t@Input() public formGroup: FormGroup;\n\t@Input() public patchValueInterceptor: (values: any) => Promise<any>;\n\n\t// we keep track of what form controls are actually rendered. Only those count when looking at form validation\n\tprivate activeControls: Array<{\n\t\tformControl: FormControl;\n\t\tformElement: FormElementComponent;\n\t}> = [];\n\n\tconstructor(@SkipSelf() @Optional() private parent: FormComponent, @Optional() private subFormPlaceholder: SubFormDirective) {\n\t}\n\n\tngOnInit(): void {\n\t\tif (isValueSet(this.parent) && isValueSet(this.subFormPlaceholder)) {\n\t\t\tconst injectInto = this.subFormPlaceholder.injectInto;\n\t\t\tconst injectAt = this.subFormPlaceholder.at;\n\t\t\tif (injectInto instanceof FormArray) {\n\t\t\t\tif (typeof injectAt !== 'number') {\n\t\t\t\t\tthrow new Error(`cannot index FormArray with ${typeof injectAt}`);\n\t\t\t\t}\n\n\t\t\t\tinjectInto.setControl(injectAt, this.formGroup);\n\t\t\t} else if (injectInto instanceof FormGroup) {\n\t\t\t\tif (typeof injectAt !== 'string') {\n\t\t\t\t\tthrow new Error(`cannot index FormGroup with ${typeof injectAt}`);\n\t\t\t\t}\n\n\t\t\t\tinjectInto.setControl(injectAt, this.formGroup);\n\t\t\t}\n\t\t}\n\t\tif (isValueSet(this.patchValueInterceptor)) {\n\t\t\tthis.addSupportForPatchValueInterceptor();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tif (isValueSet(this.parent) && isValueSet(this.subFormPlaceholder)) {\n\t\t\tconst injectInto = this.subFormPlaceholder.injectInto;\n\t\t\tconst injectAt = this.subFormPlaceholder.at;\n\t\t\tif (injectInto instanceof FormArray) {\n\t\t\t\tconst idx = injectInto.controls.findIndex(e => e === this.formGroup);\n\t\t\t\tinjectInto.removeAt(idx);\n\t\t\t} else if (injectInto instanceof FormGroup) {\n\t\t\t\tif (typeof injectAt !== 'string') {\n\t\t\t\t\tthrow new Error(`cannot index FormGroup with ${typeof injectAt}`);\n\t\t\t\t}\n\t\t\t\tinjectInto.removeControl(injectAt);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate addSupportForPatchValueInterceptor(): void {\n\t\tconst fn = this.formGroup.patchValue;\n\t\tconst newFn = (\n\t\t\tvalue: {\n\t\t\t\t[key: string]: any;\n\t\t\t},\n\t\t\toptions?: {\n\t\t\t\tonlySelf?: boolean;\n\t\t\t\temitEvent?: boolean;\n\t\t\t}\n\t\t): void => {\n\t\t\tthis.patchValueInterceptor(value).then((val) => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tfn.call(this.formGroup, val, options);\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\t\tthis.formGroup.patchValue = newFn;\n\t}\n\n\tpublic registerControl(formControl: FormControl, formElement: FormElementComponent): void {\n\t\tthis.activeControls.push({formControl, formElement});\n\t\tif (this.parent) {\n\t\t\tthis.parent.registerControl(formControl, formElement);\n\t\t}\n\t}\n\n\tpublic unregisterControl(formControl: FormControl): void {\n\t\tthis.activeControls = this.activeControls.filter((e) => e.formControl !== formControl);\n\t\tif (this.parent) {\n\t\t\tthis.parent.unregisterControl(formControl);\n\t\t}\n\t}\n\n\tprivate addFormGroupControls(formGroup: FormGroup, result: Array<FormControl>): void {\n\t\tObject.values(formGroup.controls).forEach((value) => {\n\t\t\tif (value instanceof FormGroup) {\n\t\t\t\tthis.addFormGroupControls(value, result);\n\t\t\t} else if (value instanceof FormArray) {\n\t\t\t\tthis.addFormArrayControls(value, result);\n\t\t\t} else if (value instanceof FormControl) {\n\t\t\t\tthis.addFormControl(value, result);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate addFormArrayControls(formArray: FormArray, result: Array<FormControl>): void {\n\t\tformArray.controls.forEach((value) => {\n\t\t\tif (value instanceof FormGroup) {\n\t\t\t\tthis.addFormGroupControls(value, result);\n\t\t\t} else if (value instanceof FormArray) {\n\t\t\t\tthis.addFormArrayControls(value, result);\n\t\t\t} else if (value instanceof FormControl) {\n\t\t\t\tthis.addFormControl(value, result);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate getAllFormControls(): Array<FormControl> {\n\t\tconst result = [];\n\t\tthis.addFormGroupControls(this.formGroup, result);\n\t\treturn result;\n\t}\n\n\tprivate addFormControl(control: FormControl, result: Array<FormControl>): void {\n\t\tresult.push(control);\n\t}\n\n\tprivate disableInactiveFormControl(control: FormControl): void {\n\t\tif (!this.activeControls.some((e) => e.formControl === control)) {\n\t\t\tcontrol.disable();\n\t\t}\n\t}\n\n\ttrySubmit(): Promise<any> {\n\t\tthis.formGroup.markAllAsTouched();\n\t\tconst allControls: Array<FormControl> = this.getAllFormControls();\n\t\tconst originalDisabledStates = allControls.map(e => {\n\t\t\treturn {control: e, disabled: e.disabled};\n\t\t});\n\t\tallControls.forEach(e => this.disableInactiveFormControl(e));\n\t\tallControls.forEach(e => e.updateValueAndValidity());\n\t\tconst values = this.formGroup.value;\n\t\tif (this.formGroup.valid) {\n\t\t\tthis.setDisabledStatesForAllControls(originalDisabledStates);\n\t\t\treturn Promise.resolve(values);\n\t\t} else {\n\t\t\tthis.activeControls.find((e) => !e.formControl.valid)?.formElement?.scrollTo();\n\t\t\tthis.setDisabledStatesForAllControls(originalDisabledStates);\n\t\t\treturn Promise.reject(invalidFieldsSymbol);\n\t\t}\n\t}\n\n\tprivate setDisabledStatesForAllControls(originalDisabledStates: Array<{ control: AbstractControl; disabled: boolean }>): void {\n\t\toriginalDisabledStates.forEach((e) => {\n\t\t\tif (e.disabled) {\n\t\t\t\te.control.disable();\n\t\t\t} else {\n\t\t\t\te.control.enable();\n\t\t\t}\n\t\t});\n\t}\n}\n","import {Component, Directive, ElementRef, Host, Inject, InjectionToken, Input, OnInit, Optional, ViewChild} from '@angular/core';\nimport {AbstractControl, FormArray, FormControl, FormGroup} from '@angular/forms';\nimport {FormComponent} from '../form.component';\nimport {CustomErrorMessages, FormErrorMessages} from '../../types';\nimport { ValueAccessorBase } from '../../elements/value-accessor-base/value-accessor-base.component';\nimport { isValueSet } from '../../util/values';\n\nexport const FORM_ERROR_MESSAGES = new InjectionToken<CustomErrorMessages>('form.error.messages');\n\nexport const DEFAULT_ERROR_MESSAGES: FormErrorMessages = {\n\tmin: 'Use a number larger than %min%',\n\tmax: 'Use a number smaller than %max%',\n\trequired: 'This field is required',\n\temail: 'Use a valid email address',\n\tminLength: 'Has to be longer than %minLength% character(s)',\n\tmaxLength: 'Has to be shorter than %maxLength% character(s)',\n\tpattern: 'This input is not valid',\n\tmatchPassword: 'Passwords must match',\n\tdate: 'Enter a valid date',\n};\n\n@Component({\n\tselector: 'klp-form-element',\n\ttemplateUrl: './form-element.component.html',\n\tstyleUrls: ['./form-element.component.scss'],\n})\nexport class FormElementComponent {\n\tpublic attachedControl: AbstractControl;\n\t@Input() public caption: string;\n\t@Input() public direction: 'horizontal' | 'vertical' = 'horizontal';\n\t@Input() public captionSpacing: 'percentages' | 'none' = 'percentages';\n\t@Input() public spaceDistribution: '40-60' | '30-70' = '40-60';\n\t@Input() public swapInputAndCaption: boolean = false;\n\t@ViewChild('internalComponentRef') public internalComponentRef: ElementRef;\n\n\tpublic captionRef: ElementRef;\n\tpublic errorMessages: FormErrorMessages = DEFAULT_ERROR_MESSAGES;\n\tpublic customErrorHandlers: Array<{ error: string; templateRef: ElementRef }> = [];\n\tprivate input: ValueAccessorBase<any>;\n\n\tconstructor(\n\t\t@Host() @Optional() private parent: FormComponent,\n\t\t@Inject(FORM_ERROR_MESSAGES) @Optional() private customMessages: CustomErrorMessages,\n\t) {\n\t}\n\n\tpublic shouldShowErrorMessages(): boolean {\n\t\treturn this.parent?.showErrorMessages !== false;\n\t}\n\n\tpublic substituteParameters(message: string, parameters: Record<string, any>): string {\n\t\treturn Object.keys(parameters).reduce((msg, key) => {\n\t\t\treturn msg.replace(`%${key}%`, parameters[key]);\n\t\t}, message);\n\t}\n\n\tpublic registerControl(formControl: FormControl, input: ValueAccessorBase<any> = null): void {\n\t\tthis.attachedControl = formControl;\n\t\tthis.parent.registerControl(formControl, this);\n\t\tthis.input = input;\n\t}\n\n\tpublic unregisterControl(formControl: FormControl): void {\n\t\tthis.attachedControl = null;\n\t\tthis.parent.unregisterControl(formControl);\n\t}\n\n\tpublic getAttachedControl(): AbstractControl {\n\t\treturn this.attachedControl;\n\t}\n\n\tpublic registerErrorHandler(error: string, templateRef: ElementRef): void {\n\t\tthis.customErrorHandlers.push({error, templateRef});\n\t}\n\n\tpublic registerCaption(templateRef: ElementRef): void {\n\t\tthis.captionRef = templateRef;\n\t}\n\n\tgetErrorToShow(): string {\n\t\tif (this.attachedControl?.touched === true && this.attachedControl?.errors) {\n\t\t\treturn Object.keys(this.attachedControl?.errors)[0];\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetCustomErrorHandler(error: string): { error: string; templateRef: ElementRef } {\n\t\treturn this.customErrorHandlers.find((e) => e.error === error);\n\t}\n\n\tshowDefaultError(error: string): boolean {\n\t\treturn this.getErrorToShow() === error && !this.customErrorHandlers.some((e) => e.error === error);\n\t}\n\n\tgetScrollableParent(node): any {\n\t\tif (node == null) {\n\t\t\treturn null;\n\t\t}\n\t\tif (node.scrollHeight > node.clientHeight) {\n\t\t\treturn node;\n\t\t} else {\n\t\t\treturn this.getScrollableParent(node.parentNode);\n\t\t}\n\t}\n\n\tscrollTo(): void{\n\t\tthis.internalComponentRef.nativeElement.scrollIntoView(true);\n\t\t// to give some breathing room, we scroll 100px more to the top\n\t\tthis.getScrollableParent(this.internalComponentRef.nativeElement)?.scrollBy(0, -100);\n\t}\n\n\tisRequired(): boolean {\n\t\tif (isValueSet(this.input)) {\n\t\t\treturn this.input.hasValidator('required');\n\t\t}\n\t\treturn false;\n\t}\n\n\tgetErrorMessage(key: keyof FormErrorMessages): string {\n\t\treturn this.customMessages?.[key]?.() ?? this.errorMessages[key];\n\t}\n}\n","import { ControlContainer, ControlValueAccessor, FormControl } from '@angular/forms';\nimport {Component, EventEmitter, Host, Input, OnDestroy, OnInit, Optional, Output} from '@angular/core';\nimport { FormElementComponent } from '../../form/form-element/form-element.component';\nimport {arrayIsSetAndFilled, isNullOrUndefined, isValueSet, stringIsSetAndFilled} from '../../util/values';\n\n/**\n * This component is a base in order to create a component that supports ngModel.\n * Some important things to know about it:\n *\n * innerValue = your own inner state, which you should use to store the current state of what ngModel should be.\n * writeValue() = called by angular, when ngModel is changed from OUTSIDE of the component. Feel free to patch this method if you need inner logic to happen when ngModel is altered from the outside. Always remember to also call the super.writeValue if you do!\n * setInnerValueAndNotify() = call this when you want your ngModel to be updated from INSIDE of your component, and provide it to the OUTSIDE.\n * ngOnInit() = Used to support the angular reactive forms framework. If you use ngOnInit in your own component (which happens fairly often) you must not forget to call the super.ngOnInit() method.\n */\n\n@Component({\n\tselector: '',\n\ttemplate: '',\n})\nexport class ValueAccessorBase<T> implements ControlValueAccessor, OnInit, OnDestroy {\n\tpublic innerValue: T;\n\tpublic changed = new Array<(value: T) => void>();\n\tprivate touched = new Array<() => void>();\n\n\t@Input() public disabled = false;\n\t// we support both providing just the formControlName and the full formControl\n\t@Input() public formControlName: string = null;\n\t@Input() public formControl: FormControl = null;\n\t@Output() public onTouch = new EventEmitter<void>();\n\n\tprivate attachedFormControl: FormControl;\n\tprivate validators: Array<string> = [];\n\n\tconstructor(\n\t\t@Host() @Optional() protected parent: FormElementComponent,\n\t\t@Host() @Optional() protected controlContainer: ControlContainer\n\t) {}\n\n\tngOnInit(): void {\n\t\tif (this.formControl) {\n\t\t\tthis.attachedFormControl = this.formControl;\n\t\t} else if (stringIsSetAndFilled(this.formControlName)) {\n\t\t\tthis.attachedFormControl = this.controlContainer?.control.get(this.formControlName) as FormControl;\n\t\t\tif (isNullOrUndefined(this.attachedFormControl)) {\n\t\t\t\tthrow new Error(`Form element '${this.formControlName}' with caption '${this.parent?.caption}' is not declared in your FormGroup.`);\n\t\t\t}\n\t\t}\n\t\tif (this.attachedFormControl) {\n\t\t\tthis.disabled = this.attachedFormControl.disabled;\n\t\t\tthis.attachedFormControl.statusChanges.subscribe(() => {\n\t\t\t\tthis.disabled = this.attachedFormControl.disabled;\n\t\t\t});\n\t\t\tthis.parent?.registerControl(this.attachedFormControl, this);\n\t\t\tif (this.attachedFormControl?.validator) {\n\t\t\t\tconst vals = this.attachedFormControl.validator({} as any);\n\t\t\t\tif (isValueSet(vals)) {\n\t\t\t\t\tthis.validators = Object.keys(vals);\n\t\t\t\t} else {\n\t\t\t\t\tthis.validators = [];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tisInErrorState(): boolean {\n\t\treturn this.attachedFormControl && this.attachedFormControl.status === 'INVALID' && this.attachedFormControl.touched;\n\t}\n\n\tngOnDestroy(): void {\n\t\tif (this.attachedFormControl) {\n\t\t\tthis.parent?.unregisterControl(this.attachedFormControl);\n\t\t}\n\t}\n\n\ttouch(): void {\n\t\tthis.touched.forEach((f) => f());\n\t}\n\n\twriteValue(value: T): void {\n\t\tthis.innerValue = value;\n\t}\n\n\tregisterOnChange(fn: (value: T) => void): void {\n\t\tthis.changed.push(fn);\n\t}\n\n\tregisterOnTouched(fn: () => void): void {\n\t\tthis.touched.push(fn);\n\t}\n\n\tsetInnerValueAndNotify(value): void {\n\t\tthis.innerValue = value;\n\t\tthis.changed.forEach((fn) => fn(value));\n\t}\n\n\tresetToNull(): void {\n\t\tthis.setInnerValueAndNotify(null);\n\t}\n\n\thasValidator(validatorName: string): boolean {\n\t\tif (arrayIsSetAndFilled(this.validators)) {\n\t\t\treturn this.validators.includes(validatorName);\n\t\t}\n\t\treturn false;\n\t}\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n\tselector: 'klp-form-button',\n\ttemplateUrl: './button.component.html',\n\tstyleUrls: ['./button.component.scss'],\n})\nexport class ButtonComponent {\n\t@Input() variant:\n\t\t| 'white'\n\t\t| 'greenFilled'\n\t\t| 'greenOutlined'\n\t\t| 'greenLink'\n\t\t| 'contextMenuItem'\n\t\t| 'redFilled'\n\t\t| 'redOutlined'\n\t\t| 'orangeFilled' = 'white';\n\t@Input() size: 'small' | 'medium' | 'large' = 'medium';\n\t@Input() fullWidth = false;\n\t@Input() hasBorder = true;\n\t@Input() disabled = false;\n\t@Input() isLoading = false;\n\t@Input() type: 'button' | 'submit' = 'button';\n\n\t@HostBinding('class._fullWidth') get _() {\n\t\treturn this.fullWidth;\n\t}\n\n\tonClick(event: Event) {\n\t\tif (this.disabled) {\n\t\t\tevent.stopPropagation();\n\t\t}\n\t}\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Component, Input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ValueAccessorBase } from '../value-accessor-base/value-accessor-base.component';\n\n@Component({\n\tselector: 'klp-form-checkbox',\n\ttemplateUrl: './checkbox.component.html',\n\tstyleUrls: ['./checkbox.component.scss'],\n\tproviders: [{ provide: NG_VALUE_ACCESSOR, useExisting: CheckboxComponent, multi: true }],\n})\nexport class CheckboxComponent extends ValueAccessorBase<boolean> {\n\t@Input() caption: string;\n\t@Input() renderUndefinedAsIndeterminate = false;\n}\n","import {Component, Input} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-accessor-base/value-accessor-base.component';\n\n@Component({\n\tselector: 'klp-form-email-input',\n\ttemplateUrl: './email-input.component.html',\n\tstyleUrls: ['./email-input.component.scss'],\n\tproviders: [{provide: NG_VALUE_ACCESSOR, useExisting: EmailInputComponent, multi: true}],\n})\nexport class EmailInputComponent extends ValueAccessorBase<string> {\n\t@Input() placeholder = '';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'klp-form-loading-indicator',\n\ttemplateUrl: './loading-indicator.component.html',\n\tstyleUrls: ['./loading-indicator.component.scss'],\n})\nexport class LoadingIndicatorComponent {\n\t@Input() public variant: '3dots' | 'spinner' | 'textInput' | 'picker' = '3dots';\n\t@Input() public size: 'tiny' | 'small' | 'medium' | 'large' | 'huge' = 'medium';\n}\n","import { Component, Input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {ValueAccessorBase} from \"../value-accessor-base/value-accessor-base.component\";\n\n@Component({\n\tselector: 'klp-form-number-input',\n\ttemplateUrl: './number-input.component.html',\n\tstyleUrls: ['./number-input.component.scss'],\n\tproviders: [{ provide: NG_VALUE_ACCESSOR, useExisting: NumberInputComponent, multi: true }],\n})\nexport class NumberInputComponent extends ValueAccessorBase<string> {\n\t@Input() placeholder: string;\n}\n","import {Component, Input} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-accessor-base/value-accessor-base.component';\n\n@Component({\n\tselector: 'klp-form-password-field',\n\ttemplateUrl: './password-field.component.html',\n\tstyleUrls: ['./password-field.component.scss'],\n\tproviders: [{provide: NG_VALUE_ACCESSOR, useExisting: PasswordFieldComponent, multi: true}],\n})\nexport class PasswordFieldComponent extends ValueAccessorBase<string> {\n\t@Input() placeholder = 'Password';\n\t@Input() isPasswordConfirm = false;\n}\n","import {Component, EventEmitter, Host, Inject, InjectionToken, Input, Optional, Output, TemplateRef} from '@angular/core';\nimport {ControlContainer, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-accessor-base/value-accessor-base.component';\nimport {FormElementComponent} from '../../form/form-element/form-element.component';\nimport {format as formatDate} from 'date-fns';\nimport {DATE_TIME_PICKER_TRANSLATIONS} from '../date-time-picker/date-time-picker.component';\nimport {isValueSet, stringIsSetAndFilled} from '../../util/values';\n\nexport type AppSelectOptions = Array<AppSelectOption>;\nexport type AppSelectOption = {\n\tid: any;\n\tname: string;\n\tdescription?: string;\n\tactive?: boolean;\n\tdisabled?: boolean;\n};\n\nexport const SELECT_TRANSLATIONS = new InjectionToken<any>('klp.form.select.translations');\n\n@Component({\n\tselector: 'klp-form-select',\n\ttemplateUrl: './select.component.html',\n\tstyleUrls: ['./select.component.scss'],\n\tproviders: [{provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true}],\n})\nexport class SelectComponent extends ValueAccessorBase<string | string[]> {\n\t@Input() placeholder: string;\n\t@Input() options: AppSelectOptions;\n\t@Input() multiple = false;\n\t@Input() multipleDisplayedAsAmount = false;\n\t@Input() clearable = true;\n\t@Input() public dropdownPosition: string;\n\t@Input() public customSearchFn: (term: string, item: { id: string; name: string; description: string }) => boolean;\n\t@Input() public footerElement: TemplateRef<any>;\n\t@Output() public onSearch = new EventEmitter<string>();\n\tpublic currentQueryString: string;\n\n\tconstructor(\n\t\t@Optional() @Host() protected parent: FormElementComponent,\n\t\t@Optional() @Host() protected controlContainer: ControlContainer,\n\t\t@Inject(SELECT_TRANSLATIONS) @Optional() private translations: any,\n\t) {\n\t\tsuper(parent, controlContainer);\n\t}\n\n\tonTextInput(value: string): void {\n\t\tthis.currentQueryString = value;\n\t\tthis.onSearch.emit(value);\n\t}\n\n\tgetDefaultTranslation(key: string): (x: any) => string {\n\t\tswitch (key) {\n\t\t\tcase 'placeholder':\n\t\t\t\treturn () => 'Pick an option';\n\t\t\tcase 'amountSelected':\n\t\t\t\treturn (amount) => `${amount} selected`;\n\t\t}\n\t}\n\n\tgetTranslation(key: string, params: any = null): string {\n\t\tif (key === 'placeholder' && stringIsSetAndFilled(this.placeholder)) {\n\t\t\treturn this.placeholder;\n\t\t}\n\t\treturn this.translations?.[key]?.(params) ?? this.getDefaultTranslation(key)(params);\n\t}\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'klp-select-footer',\n\ttemplateUrl: './select-footer.component.html',\n\tstyleUrls: ['./select-footer.component.scss'],\n})\nexport class SelectFooterComponent {\n\t@Input() public prefix: string;\n\t@Input() public text: string;\n}\n","import {Component, ContentChild, Input, OnInit, TemplateRef} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Options} from 'sortablejs';\nimport {isValueSet} from '../../util/values';\nimport {ValueAccessorBase} from '../value-accessor-base/value-accessor-base.component';\n\n@Component({\n\tselector: 'klp-form-sortable-items',\n\ttemplateUrl: './sortable-items.component.html',\n\tstyleUrls: ['./sortable-items.component.scss'],\n\tproviders: [{provide: NG_VALUE_ACCESSOR, useExisting: SortableItemsComponent, multi: true}],\n})\nexport class SortableItemsComponent extends ValueAccessorBase<Array<any>> implements OnInit {\n\t@ContentChild(TemplateRef) template;\n\t@Input() sortableItemSize: 'sm' | 'lg' = 'lg';\n\t@Input() useCustomScroll = false;\n\n\tpublic sortablejsOptions: Options;\n\tprivate scrollInterval = null;\n\n\tngOnInit(): void {\n\t\tsuper.ngOnInit();\n\t\tif (this.useCustomScroll) {\n\t\t\tthis.sortablejsOptions = {onUpdate: this.itemsOrderChanged, onMove: this.onItemDrag, onEnd: this.onEnd};\n\t\t} else {\n\t\t\tthis.sortablejsOptions = {onUpdate: this.itemsOrderChanged};\n\t\t}\n\t}\n\n\titemsOrderChanged = () => {\n\t\tthis.setInnerValueAndNotify(this.innerValue);\n\t};\n\n\tonItemDrag = (data) => {\n\t\t// if the item you're dragging is reaching the top, start scrolling.\n\t\tif (data.relatedRect.top < 100) {\n\t\t\tthis.scrollPage(100);\n\t\t} else {\n\t\t\tthis.stopScrolling();\n\t\t}\n\t};\n\n\tonEnd = () => {\n\t\tthis.stopScrolling();\n\t};\n\n\tprivate scrollPage(scrollAmount: number): void {\n\t\tif (!isValueSet(this.scrollInterval)) {\n\t\t\tthis.scrollInterval = setInterval(() => {\n\t\t\t\twindow.scroll({\n\t\t\t\t\ttop: document.scrollingElement.scrollTop - scrollAmount,\n\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t});\n\t\t\t\tif (document.scrollingElement.scrollTop <= 100) {\n\t\t\t\t\tthis.stopScrolling();\n\t\t\t\t}\n\t\t\t}, 100);\n\t\t}\n\t}\n\n\tprivate stopScrolling(): void {\n\t\tclearInterval(this.scrollInterval);\n\t\tthis.scrollInterval = null;\n\t}\n}\n","import { Component, Input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {ValueAccessorBase} from \"../value-accessor-base/value-accessor-base.component\";\n\n@Component({\n\tselector: 'klp-form-text-input',\n\ttemplateUrl: './text-input.component.html',\n\tstyleUrls: ['./text-input.component.scss'],\n\tproviders: [{ provide: NG_VALUE_ACCESSOR, useExisting: TextInputComponent, multi: true }],\n})\nexport class TextInputComponent extends ValueAccessorBase<string> {\n\t@Input() placeholder: string;\n\t@Input() type: 'text' | 'password' = 'text';\n\t@Input() clearable = false;\n\t@Input() icon: 'search';\n}\n","import {Component, Input} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-accessor-base/value-accessor-base.component';\n\n@Component({\n\tselector: 'klp-form-toggle',\n\ttemplateUrl: './toggle.component.html',\n\tstyleUrls: ['./toggle.component.scss'],\n\tproviders: [{provide: NG_VALUE_ACCESSOR, useExisting: ToggleComponent, multi: true}],\n})\nexport class ToggleComponent extends ValueAccessorBase<boolean> {\n}\n","import { Component, ElementRef, Host, OnInit, Optional, ViewChild } from '@angular/core';\nimport {FormElementComponent} from \"../form-element/form-element.component\";\nimport {isNullOrUndefined} from \"../../util/values\";\n\n@Component({\n\tselector: 'klp-form-caption',\n\ttemplateUrl: './form-caption.component.html',\n\tstyleUrls: ['./form-caption.component.scss'],\n})\nexport class FormCaptionComponent implements OnInit {\n\t@ViewChild('contentRef') public contentRef: ElementRef;\n\n\tconstructor(@Host() @Optional() private parent: FormElementComponent) {}\n\n\tngOnInit(): void {\n\t\t// this is being run next cycle, because we dont want to fail if the order of components is as follows:\n\t\t// <app-form-error />\n\t\t// <some-input />\n\t\t// That would fail, because the logic of the form error is run first, and at that moment, the `some-input` isnt registered yet\n\t\tsetTimeout(() => {\n\t\t\tconst attachedControl = this.parent.getAttachedControl();\n\t\t\tthis.parent.registerCaption(this.contentRef);\n\t\t\tif (isNullOrUndefined(attachedControl)) {\n\t\t\t\tthrow new Error('You added a Form Caption component without an attached Form Control');\n\t\t\t}\n\t\t});\n\t}\n}\n","import { Component, ElementRef, Host, Input, OnInit, Optional, ViewChild } from '@angular/core';\nimport {FormElementComponent} from \"../form-element/form-element.component\";\nimport {isNullOrUndefined} from \"../../util/values\";\nimport {ErrorTypes} from \"../../types\";\n\n@Component({\n\tselector: 'klp-form-error',\n\ttemplateUrl: './form-error.component.html',\n\tstyleUrls: ['./form-error.component.scss'],\n})\nexport class FormErrorComponent implements OnInit {\n\t@Input() error: ErrorTypes;\n\tpublic showError = false;\n\t@ViewChild('contentRef') public contentRef: ElementRef;\n\tconstructor(@Host() @Optional() private parent: FormElementComponent) {}\n\n\tngOnInit(): void {\n\t\t// this is being run next cycle, because we dont want to fail if the order of components is as follows:\n\t\t// <app-form-error />\n\t\t// <some-input />\n\t\t// That would fail, because the logic of the form error is run first, and at that moment, the `some-input` isnt registered yet\n\t\tsetTimeout(() => {\n\t\t\tconst attachedControl = this.parent.getAttachedControl();\n\t\t\tthis.parent.registerErrorHandler(this.error, this.contentRef);\n\t\t\tif (isNullOrUndefined(attachedControl)) {\n\t\t\t\tthrow new Error('You added a Form Error component without an attached Form Control');\n\t\t\t}\n\t\t});\n\t}\n}\n","import { Component, Host, HostBinding, Input, Optional } from '@angular/core';\nimport {FormComponent, invalidFieldsSymbol} from \"../form.component\";\nimport {isNullOrUndefined} from \"../../util/values\";\n\n@Component({\n\tselector: 'klp-form-submit-button',\n\ttemplateUrl: './form-submit-button.component.html',\n\tstyleUrls: ['./form-submit-button.component.scss'],\n})\nexport class FormSubmitButtonComponent {\n\t@Input() public isLoading = false;\n\t@Input() fullWidth = false;\n\t@Input() variant: 'greenFilled' | 'redFilled' = 'greenFilled';\n\t@Input() public submitCallback: (any) => Promise<void>;\n\n\t@HostBinding('class._fullWidth') get _() {\n\t\treturn this.fullWidth;\n\t}\n\n\tconstructor(@Host() @Optional() private parentForm: FormComponent) {}\n\n\tsubmitForm() {\n\t\tthis.parentForm\n\t\t\t.trySubmit()\n\t\t\t.then((value) => {\n\t\t\t\tthis.isLoading = true;\n\t\t\t\tconst submitCallbackResult = this.submitCallback(value);\n\t\t\t\tif (isNullOrUndefined(submitCallbackResult)) {\n\t\t\t\t\tthrow new Error('No promise is returned in your submit function.');\n\t\t\t\t}\n\t\t\t\treturn submitCallbackResult.then(() => (this.isLoading = false)).catch((e) => {\n\t\t\t\t\tthis.isLoading = false\n\t\t\t\t\tthrow e;\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tif (e === invalidFieldsSymbol) {\n\t\t\t\t\treturn // swallow the error, the framework will scroll to the field that needs attention\n\t\t\t\t}\n\t\t\t\tthrow e;\n\t\t\t});\n\t}\n}\n","import {Component, Host, Input, Optional} from '@angular/core';\nimport {ControlContainer} from '@angular/forms';\nimport {ValueAccessorBase} from './value-accessor-base.component';\nimport {FormElementComponent} from '../../form/form-element/form-element.component';\nimport {isValueSet} from '../../util/values';\n\n@Component({\n\tselector: '',\n\ttemplate: '',\n})\nexport class MultipleValueAccessorBase<T> extends ValueAccessorBase<Array<T> | T> {\n\t@Input() multiple = false;\n\n\tconstructor(\n\t\t@Host() @Optional() protected parent: FormElementComponent,\n\t\t@Host() @Optional() protected controlContainer: ControlContainer\n\t) {\n\t\tsuper(parent, controlContainer);\n\t}\n\n\twriteValue(value: Array<T> | T): void {\n\t\tif (this.multiple) {\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\tsuper.writeValue(value.filter(isValueSet));\n\t\t\t} else {\n\t\t\t\tsuper.writeValue([value].filter(isValueSet));\n\t\t\t}\n\t\t} else {\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\tsuper.writeValue(value[0]);\n\t\t\t} else {\n\t\t\t\tsuper.writeValue(value);\n\t\t\t}\n\t\t}\n\t}\n\n\tsetInnerValueAndNotify(value: T | Array<T>): void {\n\t\tif (this.multiple) {\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\tsuper.setInnerValueAndNotify(value.filter(isValueSet));\n\t\t\t} else {\n\t\t\t\tsuper.setInnerValueAndNotify([value].filter(isValueSet));\n\t\t\t}\n\t\t} else {\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\tsuper.setInnerValueAndNotify(value[0]);\n\t\t\t} else {\n\t\t\t\tsuper.setInnerValueAndNotify(value);\n\t\t\t}\n\t\t}\n\t}\n}\n","import { AbstractControl, ValidationErrors } from '@angular/forms';\n\nexport const invalidDateKey = '--invalid_date--';\n\nexport function dateValidator(control: AbstractControl): ValidationErrors | null {\n\tconst invalid = control.value === invalidDateKey;\n\treturn invalid ? { date: control.value } : null;\n}\n","import {Component, Host, Inject, InjectionToken, Input, Optional} from '@angular/core';\nimport {ControlContainer, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {format as dateFormat, parse} from 'date-fns';\nimport {MultipleValueAccessorBase} from '../value-accessor-base/multiple-value-accessor-base.component';\nimport {invalidDateKey} from '../../validators/dateValidator';\nimport {isNullOrUndefined, isValueSet, stringIsSetAndFilled} from '../../util/values';\nimport {FormElementComponent} from '../../form/form-element/form-element.component';\n\nexport const DATE_PICKER_TRANSLATIONS = new InjectionToken<any>('klp.form.date.translations');\n\n@Component({\n\tselector: 'klp-form-date-picker',\n\ttemplateUrl: './date-picker.component.html',\n\tstyleUrls: ['./date-picker.component.scss'],\n\tproviders: [{provide: NG_VALUE_ACCESSOR, useExisting: DatePickerComponent, multi: true}],\n})\nexport class DatePickerComponent extends MultipleValueAccessorBase<string | typeof invalidDateKey> {\n\t@Input() public minDate: Date = undefined;\n\t@Input() public maxDate: Date = undefined;\n\t@Input() public sameMonthOnly = false;\n\t@Input() public format = 'dd-MM-yyyy';\n\t@Input() public placeholder: string;\n\t@Input() public clearable = false;\n\n\tpublic dateValue: Date | Array<Date>;\n\n\tconstructor(\n\t\t@Host() @Optional() protected parent: FormElementComponent,\n\t\t@Host() @Optional() protected controlContainer: ControlContainer,\n\t\t@Inject(DATE_PICKER_TRANSLATIONS) @Optional() private translations: any,\n\t) {\n\t\tsuper(parent, controlContainer);\n\t}\n\n\twriteValue(value: string | Array<string> | typeof invalidDateKey): void {\n\t\tif (value === invalidDateKey) {\n\t\t\tsuper.writeValue(invalidDateKey);\n\t\t} else if (isNullOrUndefined(value)) {\n\t\t\tthis.dateValue = null;\n\t\t\tsuper.writeValue(null);\n\t\t} else {\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\tthis.dateValue = value.map((e) => parse(e, 'yyyy-MM-dd', new Date()));\n\t\t\t} else {\n\t\t\t\tthis.dateValue = parse(value, 'yyyy-MM-dd', new Date());\n\t\t\t}\n\t\t\tsuper.writeValue(value);\n\t\t}\n\t}\n\n\tdateChanged(value: Date | Array<Date> | typeof invalidDateKey): void {\n\t\tif (value === invalidDateKey) {\n\t\t\tthis.setInnerValueAndNotify(invalidDateKey);\n\t\t} else if (isNullOrUndefined(value)) {\n\t\t\tthis.dateValue = null;\n\t\t\tthis.setInnerValueAndNotify(null);\n\t\t} else {\n\t\t\tthis.dateValue = value;\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\tthis.setInnerValueAndNotify(value.map((e) => dateFormat(e, 'yyyy-MM-dd')));\n\t\t\t} else {\n\t\t\t\tthis.setInnerValueAndNotify(dateFormat(value, 'yyyy-MM-dd'));\n\t\t\t}\n\t\t}\n\t}\n\n\tgetDefaultTranslation(key: string): (x: any) => string {\n\t\tswitch (key) {\n\t\t\tcase 'placeholder':\n\t\t\t\treturn () => 'Select date';\n\t\t}\n\t}\n\n\tgetTranslation(key: string, params: any = null): string {\n\t\tif (key === 'placeholder' && this.multiple) {\n\t\t\treturn '';\n\t\t}\n\t\tif (key === 'placeholder' && stringIsSetAndFilled(this.placeholder)) {\n\t\t\treturn this.placeholder;\n\t\t}\n\t\treturn this.translations?.[key]?.(params) ?? this.getDefaultTranslation(key)(params);\n\t}\n}\n","import {\n\tAfterViewInit,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tHost,\n\tInject,\n\tInjectionToken,\n\tInput,\n\tOnChanges,\n\tOnInit,\n\tOptional,\n\tSimpleChanges,\n\tViewChild\n} from '@angular/core';\nimport {ControlContainer, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {invalidDateKey} from '../../validators/dateValidator';\nimport {DateFilterFn, MatDatepicker} from '@angular/material/datepicker';\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_NATIVE_DATE_FORMATS, MatDateFormats} from '@angular/material/core';\nimport {KlpDateFormats} from '../../types';\nimport {FormElementComponent} from '../../form/form-element/form-element.component';\nimport {MultipleValueAccessorBase} from '../value-accessor-base/multiple-value-accessor-base.component';\nimport {arrayIsSetAndFilled, isValueSet, removeDuplicatesFromArray, stringIsSetAndFilled} from '../../util/values';\nimport {endOfMonth, format as formatDate, startOfMonth} from 'date-fns';\n\nexport const KLP_DATE_FORMATS = new InjectionToken<KlpDateFormats>('klp.form.date.formats');\nexport const DATE_TIME_PICKER_TRANSLATIONS = new InjectionToken<any>('klp.form.dateTime.translations');\nexport const DATE_PICKER_LOCALE = new InjectionToken<any>('klp.form.dateTime.locale');\n\nexport function matDateFormatsFactory(component: DateTimePickerComponent, dateFormats?: KlpDateFormats): MatDateFormats {\n\treturn dateFormats?.(component.format) ?? MAT_NATIVE_DATE_FORMATS;\n}\n\n@Component({\n\tselector: 'klp-form-date-time-picker',\n\ttemplateUrl: './date-time-picker.component.html',\n\tstyleUrls: ['./date-time-picker.component.scss'],\n\tproviders: [\n\t\t{provide: NG_VALUE_ACCESSOR, useExisting: DateTimePickerComponent, multi: true},\n\t\t{\n\t\t\tprovide: MAT_DATE_FORMATS,\n\t\t\tdeps: [DateTimePickerComponent, [new Optional(), KLP_DATE_FORMATS]],\n\t\t\tuseFactory: matDateFormatsFactory,\n\t\t},\n\t],\n})\nexport class DateTimePickerComponent extends MultipleValueAccessorBase<Date | typeof invalidDateKey> implements OnInit, AfterViewInit, OnChanges {\n\t@Input() public minDate: Date = undefined;\n\t@Input() public maxDate: Date = undefined;\n\t@Input() public sameMonthOnly = false;\n\t@Input() public format = 'dd-MM-yyyy';\n\t@Input() public placeholder: string;\n\t@Input() public clearable = false;\n\t@Input() public showTimeInput = true;\n\t@Input() public invalidTimeAsMidnight = false; // if the time is not valid, use 00:00 as the time\n\n\t@ViewChild('nativeInput') nativeInputRef: ElementRef;\n\t@ViewChild('picker') datePickerRef: MatDatepicker<Date>;\n\n\topenPickerOnDate = null;\n\tminDateStartOfDay: Date = undefined;\n\tmaxDateEndOfDay: Date = undefined;\n\n\t// this is passed as ngmodel and is used to set the initial date. But we also\n\t// use input and nativeInput callbacks to extend the validation logic so we\n\t// can distinguish between empty and invalid dates.\n\tvalueForMaterialDatePicker: Date;\n\thours: string; // string because it's a text input\n\tminutes: string; // string because it's a text input\n\tprivate selectedDates: Array<Date> = [];\n\tprivate datePickingClosingFn: () => void;\n\tprivate dateTouched = false;\n\tprivate hoursTouched = false;\n\tprivate minutesTouched = false;\n\n\tconstructor(\n\t\t@Host() @Optional() protected parent: FormElementComponent,\n\t\t@Host() @Optional() protected controlContainer: ControlContainer,\n\t\t@Inject(DATE_TIME_PICKER_TRANSLATIONS) @Optional() private translations: any,\n\t\t@Inject(DATE_PICKER_LOCALE) @Optional() private datePickerLocale: any,\n\t\tprivate dateAdapter: DateAdapter<Date>,\n\t\tprivate cdr: ChangeDetectorRef\n\t) {\n\t\tsuper(parent, controlContainer);\n\t\tif (isValueSet(datePickerLocale)) {\n\t\t\tdateAdapter.setLocale(datePickerLocale());\n\t\t}\n\t}\n\n\tngOnInit(): void {\n\t\tsuper.ngOnInit();\n\t\tif (this.multiple) {\n\t\t\tthis.placeholder = '';\n\t\t\tthis.showTimeInput = false;\n\t\t}\n\t}\n\n\tngAfterViewInit(): void {\n\t\tif (this.multiple) {\n\t\t\t// we are going to overwrite the datepicker closing fn later, so we are saving it here to restore it when needed\n\t\t\tthis.datePickingClosingFn = this.datePickerRef.close;\n\t\t}\n\t}\n\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (changes.minDate) {\n\t\t\tthis.determineMinAndMaxDates();\n\t\t}\n\t\tif (changes.maxDate) {\n\t\t\tthis.determineMinAndMaxDates();\n\t\t}\n\t}\n\n\tsetMinDate(minDate: Date): void {\n\t\tif (minDate) {\n\t\t\tthis.minDateStartOfDay = new Date(minDate);\n\t\t\tthis.minDateStartOfDay.setHours(0, 0, 0, 0);\n\t\t} else {\n\t\t\tthis.minDateStartOfDay = undefined;\n\t\t}\n\t}\n\n\tsetMaxDate(maxDate: Date): void {\n\t\tif (maxDate) {\n\t\t\tthis.maxDateEndOfDay = new Date(maxDate);\n\t\t\tthis.maxDateEndOfDay.setHours(23, 59, 59, 999);\n\t\t} else {\n\t\t\tthis.maxDateEndOfDay = undefined;\n\t\t}\n\t}\n\n\tgetSelectedMonths(): number {\n\t\treturn removeDuplicatesFromArray(this.selectedDates.map((e) => formatDate(e, 'MMMM'))).length;\n\t}\n\n\t// dateChanged is called when the output of the datepicker is changed and\n\t// parsed correctly. If the date is invalid, it will be called the first time\n\t// with null but never again until a valid input is provided.\n\tdateChanged(event: any): void {\n\t\tconst date = event.value;\n\t\tif (this.multiple) {\n\t\t\tthis.datePickerRef.close = () => {\n\t\t\t};\n\n\t\t\tif (this.selectedDates.some((e) => e.getTime() === date.getTime())) {\n\t\t\t\tthis.selectedDates = this.selectedDates.filter((e) => e.getTime() !== date.getTime());\n\t\t\t} else {\n\t\t\t\tthis.selectedDates = [...this.selectedDates, date];\n\t\t\t}\n\t\t\t// START HACK\n\t\t\t// the date picker does not provide any rerender calls. Therefore, we are going to change the minDate in order to force the render\n\t\t\t// This is needed to show all selected days in our date picker\n\t\t\t// We also set the innerValue to null (with this.valueForMaterialDatePicker = null;), otherwise you can not\n\t\t\t// deselect your last picked date\n\t\t\tthis.cdr.detectChanges();\n\t\t\tthis.valueForMaterialDatePicker = null;\n\t\t\tconst oldMinDate = this.minDateStartOfDay;\n\t\t\tthis.minDateStartOfDay = new Date(0);\n\t\t\tthis.cdr.detectChanges();\n\t\t\tthis.minDateStartOfDay = oldMinDate;\n\t\t\t// END HACK\n\n\t\t\tif (this.sameMonthOnly) {\n\t\t\t\tif (this.selectedDates.length >= 2) {\n\t\t\t\t\tif (date < startOfMonth(this.selectedDates[0]) || date > endOfMonth(this.selectedDates[0])) {\n\t\t\t\t\t\tthis.selectedDates = [date];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.determineMinAndMaxDates();\n\t\t\t}\n\n\t\t\tthis.setInnerValueAndNotify(this.selectedDates);\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.datePickerRef.close = this.datePickingClosingFn;\n\t\t\t});\n\t\t} else {\n\t\t\tthis.notifyNewDate();\n\t\t}\n\t}\n\n\tdetermineMinAndMaxDates(): void {\n\t\tif (this.sameMonthOnly) {\n\t\t\tif (this.selectedDates.length >= 2) {\n\t\t\t\tthis.setMinDate(startOfMonth(this.selectedDates[0]));\n\t\t\t\tthis.setMaxDate(endOfMonth(this.selectedDates[0]));\n\t\t\t} else {\n\t\t\t\tthis.setMinDate(this.minDate);\n\t\t\t\tthis.setMaxDate(this.maxDate);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.setMinDate(this.minDate);\n\t\t\tthis.setMaxDate(this.maxDate);\n\t\t}\n\t}\n\n\tnotifyNewDate(): void {\n\t\tconst nativeInputValue = this.nativeInputRef.nativeElement.value;\n\t\tconst parsedHours = Number(this.hours);\n\t\tconst parsedMinutes = Number(this.minutes);\n\n\t\t// if we dont have the time element\n\t\tif (!this.showTimeInput) {\n\t\t\tif (!stringIsSetAndFilled(nativeInputValue)) {\n\t\t\t\tthis.setInnerValueAndNotify(null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this.valueForMaterialDatePicker instanceof Date) {\n\t\t\t\tthis.setInnerValueAndNotify(this.valueForMaterialDatePicker);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t// when all inputs are empty\n\t\tif (!stringIsSetAndFilled(nativeInputValue) && !stringIsSetAndFilled(this.hours) && !stringIsSetAndFilled(this.minutes)) {\n\t\t\tthis.setInnerValueAndNotify(null);\n\t\t\treturn;\n\t\t}\n\t\t// if we have date and time\n\t\tif (\n\t\t\tstringIsSetAndFilled(this.hours) &&\n\t\t\tNumber.isFinite(parsedHours) &&\n\t\t\tparsedHours >= 0 &&\n\t\t\tparsedHours <= 23 &&\n\t\t\tstringIsSetAndFilled(this.minutes) &&\n\t\t\tNumber.isFinite(parsedMinutes) &&\n\t\t\tparsedMinutes >= 0 &&\n\t\t\tparsedMinutes <= 59 &&\n\t\t\tthis.valueForMaterialDatePicker instanceof Date\n\t\t) {\n\t\t\tconst newDateWithHours = new Date(this.valueForMaterialDatePicker.setHours(parsedHours));\n\t\t\tconst newDateWithMinutes = new Date(newDateWithHours.setMinutes(parsedMinutes));\n\t\t\tthis.setInnerValueAndNotify(newDateWithMinutes);\n\t\t\treturn;\n\t\t}\n\t\tif (this.invalidTimeAsMidnight) {\n\t\t\tif (this.valueForMaterialDatePicker instanceof Date) {\n\t\t\t\tthis.setInnerValueAndNotify(this.valueForMaterialDatePicker);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t// all other cases, we are not in a valid state\n\t\tthis.setInnerValueAndNotify(invalidDateKey);\n\t}\n\n\twriteValue(value: Date | Array<Date> | typeof invalidDateKey): void {\n\t\tsuper.writeValue(value);\n\t\tif (Array.isArray(value)) {\n\t\t\tthis.selectedDates = value;\n\t\t\tthis.determineMinAndMaxDates();\n\t\t\tthis.valueForMaterialDatePicker = null;\n\t\t\tif (arrayIsSetAndFilled(value)) {\n\t\t\t\tthis.openPickerOnDate = this.selectedDates[0];\n\t\t\t}\n\t\t} else {\n\t\t\tthis.valueForMaterialDatePicker = value === invalidDateKey ? null : value;\n\t\t\tif (value instanceof Date) {\n\t\t\t\tthis.hours = String(value.getHours());\n\t\t\t\tthis.minutes = String(value.getMinutes());\n\t\t\t\tthis.formatTime();\n\t\t\t\tthis.openPickerOnDate = value;\n\t\t\t} else {\n\t\t\t\tthis.hours = '';\n\t\t\t\tthis.minutes = '';\n\t\t\t\tthis.openPickerOnDate = null;\n\t\t\t}\n\t\t}\n\t}\n\n\t// nativeValueChanged is called when the internal text value changes, but not\n\t// when the date is changed via the date picker. We need this so that we can\n\t// determine if the datepicker is empty or invalid.\n\tnativeValueChanged(): void {\n\t\tif (this.datePickerRef.opened) {\n\t\t\t// if the user is typing instead of using the picker, close it.\n\t\t\tthis.datePickerRef.close();\n\t\t}\n\t\tthis.notifyNewDate();\n\t}\n\n\tresetToNull(): void {\n\t\tthis.setInnerValueAndNotify(null);\n\t\tthis.valueForMaterialDatePicker = null;\n\t\tthis.nativeInputRef.nativeElement.value = null;\n\t\tthis.hours = '';\n\t\tthis.minutes = '';\n\t\tthis.selectedDates = [];\n\t}\n\n\tisSelected = (d: Date) => {\n\t\tif (this.multiple) {\n\t\t\treturn this.selectedDates.some((e) => e.getTime() === d.getTime()) ? 'selected' : '';\n\t\t}\n\t\treturn '';\n\t};\n\tfilterDates: DateFilterFn<any> = (e) => {\n\t\tif (this.disabled) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t};\n\n\tformatTime(): void {\n\t\tif (Number.isFinite(Number(this.hours)) && this.hours.length === 1) {\n\t\t\tthis.hours = '0' + this.hours;\n\t\t}\n\t\tif (Number.isFinite(Number(this.minutes)) && this.minutes.length === 1) {\n\t\t\tthis.minutes = '0' + this.minutes;\n\t\t}\n\t}\n\n\ttouchDate(): void {\n\t\tthis.dateTouched = true;\n\t\tthis.determineAllTouched();\n\t}\n\n\ttouchHours(): void {\n\t\tthis.hoursTouched = true;\n\t\tthis.determineAllTouched();\n\t}\n\n\ttouchMinutes(): void {\n\t\tthis.minutesTouched = true;\n\t\tthis.determineAllTouched();\n\t}\n\n\tdetermineAllTouched(): void {\n\t\tif ((this.dateTouched && this.hoursTouched && this.minutesTouched) || (this.dateTouched && !this.showTimeInput)) {\n\t\t\tthis.touch();\n\t\t}\n\t}\n\n\n\tgetDefaultTranslation(key: string): (x: any) => string {\n\t\tswitch (key) {\n\t\t\tcase 'placeholder':\n\t\t\t\treturn () => 'Select date';\n\t\t\tcase 'selectDays':\n\t\t\t\treturn () => 'Select day(s)';\n\t\t\tcase 'selectedDate':\n\t\t\t\treturn (d: Date) => d.toLocaleDateString();\n\t\t\tcase 'daysSelected':\n\t\t\t\treturn (amount) => `${amount} days selected`;\n\t\t\tcase 'selectedInMonth':\n\t\t\t\treturn (d: Date) => ` in ${formatDate(d, 'MMMM')}`;\n\t\t}\n\t}\n\n\tgetTranslation(key: string, params: any = null): string {\n\t\tif (key === 'placeholder' && this.multiple) {\n\t\t\treturn '';\n\t\t}\n\t\tif (key === 'placeholder' && stringIsSetAndFilled(this.placeholder)) {\n\t\t\treturn this.placeholder;\n\t\t}\n\t\treturn this.translations?.[key]?.(params) ?? this.getDefaultTranslation(key)(params);\n\t}\n}\n","// material.module.ts\n\nimport { NgModule } from '@angular/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatButtonModule } from '@angular/material/button';\n\n@NgModule({\n\timports: [MatDatepickerModule, MatFormFieldModule, MatNativeDateModule, MatInputModule, MatButtonModule],\n\texports: [MatDatepickerModule, MatFormFieldModule, MatNativeDateModule, MatInputModule, MatButtonModule],\n\tproviders: [MatDatepickerModule],\n})\nexport class MaterialModule {}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule} from '@angular/forms';\nimport {ValueAccessorBase} from './elements/value-accessor-base/value-accessor-base.component';\nimport {ButtonComponent} from './elements/button/button.component';\nimport {CheckboxComponent} from './elements/checkbox/checkbox.component';\nimport {EmailInputComponent} from './elements/email/email-input.component';\nimport {LoadingIndicatorComponent} from './elements/loading-indicator/loading-indicator.component';\nimport {NumberInputComponent} from './elements/number-input/number-input.component';\nimport {PasswordFieldComponent} from './elements/password-field/password-field.component';\nimport {SelectComponent} from './elements/select/select.component';\nimport {SelectFooterComponent} from './elements/select/select-footer/select-footer.component';\nimport {SortableItemsComponent} from './elements/sortable-items/sortable-items.component';\nimport {TextInputComponent} from './elements/text-input/text-input.component';\nimport {ToggleComponent} from './elements/toggle/toggle.component';\nimport {FormCaptionComponent} from './form/form-caption/form-caption.component';\nimport {FormElementComponent} from './form/form-element/form-element.component';\nimport {FormErrorComponent} from './form/form-error/form-error.component';\nimport {FormSubmitButtonComponent} from './form/form-submit-button/form-submit-button.component';\nimport {FormComponent, SubFormDirective} from './form/form.component';\nimport {SortablejsModule} from 'ngx-sortablejs';\nimport {NgSelectModule} from '@ng-select/ng-select';\nimport {DatePickerComponent} from './elements/date-picker/date-picker.component';\nimport {DateTimePickerComponent} from './elements/date-time-picker/date-time-picker.component';\nimport {MaterialModule} from './material.module';\nimport {MultipleValueAccessorBase} from './elements/value-accessor-base/multiple-value-accessor-base.component';\n\n\n@NgModule({\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tNgSelectModule,\n\t\tSortablejsModule,\n\t\tMaterialModule,\n\t],\n\tdeclarations: [\n\t\tValueAccessorBase,\n\t\tMultipleValueAccessorBase,\n\t\tButtonComponent,\n\t\tCheckboxComponent,\n\t\tDatePickerComponent,\n\t\tDateTimePickerComponent,\n\t\tEmailInputComponent,\n\t\tLoadingIndicatorComponent,\n\t\tNumberInputComponent,\n\t\tPasswordFieldComponent,\n\t\tSelectComponent,\n\t\tSelectFooterComponent,\n\t\tSortableItemsComponent,\n\t\tTextInputComponent,\n\t\tToggleComponent,\n\t\tFormCaptionComponent,\n\t\tFormElementComponent,\n\t\tFormErrorComponent,\n\t\tFormSubmitButtonComponent,\n\t\tFormComponent,\n\t\tSubFormDirective,\n\t],\n\texports: [\n\t\tValueAccessorBase,\n\t\tMultipleValueAccessorBase,\n\t\tButtonComponent,\n\t\tDatePickerComponent,\n\t\tDateTimePickerComponent,\n\t\tCheckboxComponent,\n\t\tEmailInputComponent,\n\t\tLoadingIndicatorComponent,\n\t\tNumberInputComponent,\n\t\tPasswordFieldComponent,\n\t\tSelectComponent,\n\t\tSelectFooterComponent,\n\t\tSortableItemsComponent,\n\t\tTextInputComponent,\n\t\tToggleComponent,\n\t\tFormCaptionComponent,\n\t\tFormElementComponent,\n\t\tFormErrorComponent,\n\t\tFormSubmitButtonComponent,\n\t\tFormComponent,\n\t\tSubFormDirective,\n\t]\n})\nexport class NgxEnhancyFormsModule {\n}\n","/*\n * Public API Surface of ngx-enhancy-forms\n */\n\nexport * from './lib/ngx-enhancy-forms.module';\n\nexport * from './lib/elements/button/button.component';\nexport * from './lib/elements/checkbox/checkbox.component';\nexport * from './lib/elements/date-picker/date-picker.component';\nexport * from './lib/elements/date-time-picker/date-time-picker.component';\nexport * from './lib/elements/email/email-input.component';\nexport * from './lib/elements/loading-indicator/loading-indicator.component';\nexport * from './lib/elements/number-input/number-input.component';\nexport * from './lib/elements/password-field/password-field.component';\nexport * from './lib/elements/select/select-footer/select-footer.component';\nexport * from './lib/elements/select/select.component';\nexport * from './lib/elements/sortable-items/sortable-items.component';\nexport * from './lib/elements/text-input/text-input.component';\nexport * from './lib/elements/toggle/toggle.component';\nexport * from './lib/elements/value-accessor-base/value-accessor-base.component';\nexport * from './lib/elements/value-accessor-base/multiple-value-accessor-base.component';\n\nexport * from './lib/form/form.component';\nexport * from './lib/form/form-caption/form-caption.component';\nexport * from './lib/form/form-element/form-element.component';\nexport * from './lib/form/form-error/form-error.component';\nexport * from './lib/form/form-submit-button/form-submit-button.component';\n\nexport * from './lib/validators/dateValidator';\n\nexport * from './lib/types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {MaterialModule as ɵa} from './lib/material.module';"],"names":["isString","Directive","Input","FormArray","FormGroup","FormControl","Component","SkipSelf","Optional","InjectionToken","Host","Inject","ViewChild","EventEmitter","ControlContainer","Output","HostBinding","NG_VALUE_ACCESSOR","ContentChild","TemplateRef","parse","dateFormat","MAT_NATIVE_DATE_FORMATS","formatDate","startOfMonth","endOfMonth","MAT_DATE_FORMATS","DateAdapter","ChangeDetectorRef","NgModule","MatDatepickerModule","MatFormFieldModule","MatNativeDateModule","MatInputModule","MatButtonModule","CommonModule","FormsModule","NgSelectModule","SortablejsModule"],"mappings":"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"}
|