@softpak/components 0.3.4 → 0.3.5
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/fesm2022/softpak-components-spx-app-update.mjs +1 -1
- package/fesm2022/softpak-components-spx-app-update.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-check-digit.mjs +1 -1
- package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-form-view.mjs +2 -2
- package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-inputs.mjs +11 -5
- package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-update.mjs +1 -1
- package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
- package/package.json +21 -21
- package/spx-inputs/spx-input-text.component.d.ts +2 -1
- package/spx-inputs/spx-input.component.d.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"softpak-components-spx-inputs.mjs","sources":["../../../../projects/softpak/components/spx-inputs/spx-input-box.component.ts","../../../../projects/softpak/components/spx-inputs/spx-dropdown.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-text.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-date.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-float.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-number.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-radio.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-type.enum.ts","../../../../projects/softpak/components/spx-inputs/spx-input-time-modal.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-time.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input.component.ts","../../../../projects/softpak/components/spx-inputs/softpak-components-spx-inputs.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxValuePair } from './spx-value-interface';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faEdit, faQuestion, faSearch, faTimes } from '@fortawesome/free-solid-svg-icons';\n\n@Component({\n selector: 'spx-input-box',\n standalone: true,\n imports: [\n NgIf,\n SpxButtonComponent,\n FontAwesomeModule,\n ],\n template: `<div class=\"flex rounded w-full gap-3\"\n [class.rounded-none]=\"this.spxShowValidationMessages\"\n [class.rounded-t]=\"this.spxShowValidationMessages\"\n [class.outline-none]=\"this.spxFocused && !this.spxReadonly\"\n [class.ring-2]=\"this.spxFocused && !this.spxReadonly\"\n [class.ring-offset-2]=\"this.spxFocused && !this.spxReadonly\"\n [class.ring-blue-500]=\"this.spxFocused && !this.spxReadonly\"\n [class.bg-white]=\"!this.spxReadonly\"\n [class.bg-gray-300]=\"this.spxReadonly\"\n [class.cursor-not-allowed]=\"this.spxReadonly\">\n <div class=\"flex-auto p-3\"\n [class.p-0]=\"this.spxCompact\"\n [class.flex]=\"this.spxCompact\"\n [class.items-center]=\"this.spxCompact\">\n <div *ngIf=\"this.spxShowLabel\" class=\"font-bold text-sm mb-1 text-gray-800\"\n [class.mb-0]=\"this.spxCompact\"\n [class.px-3]=\"this.spxCompact\">\n {{this.spxLabel}} <span *ngIf=\"spxRequired\" class=\"text-red-800\">*</span>\n </div>\n <ng-content select=\"[controls]\"></ng-content>\n </div>\n <div class=\"flex flex-none gap-1 p-1\">\n <spx-button\n *ngIf=\"this.spxShowEdit\"\n (spxClick)=\"onEdit()\"\n [spxFullHeight]=\"true\"\n [spxSize]=\"'xl'\"\n [spxType]=\"'button'\">\n <fa-icon [icon]=\"faEdit\" class=\"block text-xl\"></fa-icon>\n </spx-button>\n <spx-button\n *ngIf=\"this.spxShowHelp\"\n (spxClick)=\"onHelp()\"\n [spxFullHeight]=\"true\"\n [spxDisabled]=\"this.spxReadonly\"\n [spxSize]=\"'xl'\"\n [spxTabIndex]=\"-1\"\n [spxType]=\"'button'\">\n <fa-icon [icon]=\"faQuestion\" class=\"block text-xl\"></fa-icon>\n </spx-button>\n <spx-button\n *ngIf=\"this.spxShowSearch\"\n (spxClick)=\"onSearch()\"\n [spxFullHeight]=\"true\"\n [spxDisabled]=\"this.spxReadonly\"\n [spxSize]=\"'xl'\"\n [spxTabIndex]=\"-1\"\n [spxType]=\"'button'\">\n <fa-icon [icon]=\"faSearch\" class=\"block text-xl\"></fa-icon>\n </spx-button>\n <spx-button\n *ngIf=\"this.spxShowClear\"\n (spxClick)=\"onClear()\"\n [spxDisabled]=\"this.spxReadonly || !this.spxValue?.value\"\n [spxFullHeight]=\"true\"\n [spxSize]=\"'xl'\"\n [spxTabIndex]=\"-1\"\n [spxType]=\"'button'\">\n <fa-icon [icon]=\"faTimes\" class=\"block text-xl\"></fa-icon>\n </spx-button>\n </div>\n </div>\n <div *ngIf=\"this.spxShowValidationMessages\" class=\"bg-red-600 rounded-b text-white p-3\">\n <ng-content select=\"[validation-messages]\"></ng-content>\n </div>`,\n})\nexport class SpxInputBoxComponent {\n faEdit = faEdit;\n faSearch = faSearch;\n faQuestion = faQuestion;\n faTimes = faTimes;\n @Input() spxCompact?: boolean;\n @Input() spxFocused = false;\n @Input() spxLabel?: string;\n @Input() spxReadonly = false;\n @Input() spxRequired?: boolean;\n @Input() spxShowClear = true;\n @Input() spxShowEdit?: boolean;\n @Input() spxShowHelp?: boolean;\n @Input() spxShowLabel = true;\n @Input() spxShowSearch?: boolean;\n @Input() spxShowValidationMessages?: boolean | null | undefined;\n @Input() spxValue?: SpxValuePair<any>;\n @Output() spxClear: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxSearch: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxFocusOut: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxEdit: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxHelp: EventEmitter<void> = new EventEmitter<void>();\n @HostListener('focusin', [\"$event\"]) handleFocusIn(ev: Event) {\n this.emitFocusIn();\n }\n @HostListener('focusout', [\"$event\"]) handleFocusOut(ev: FocusEvent) {\n const thisEl = this.elRef.nativeElement as HTMLElement;\n const relatedElement = ev.relatedTarget as HTMLElement;\n if (!relatedElement || !thisEl.contains(relatedElement)) {\n this.emitFocusOut();\n }\n }\n @HostListener('document:click', [\"$event\"]) handleWindowClick(ev: Event) {\n if (ev.composedPath().includes(this.elRef.nativeElement)) {\n this.emitFocusIn();\n } else {\n this.emitFocusOut();\n }\n }\n\n onClear() {\n this.spxClear.emit();\n }\n\n onSearch() {\n this.spxSearch.emit();\n }\n\n onEdit() {\n this.spxEdit.emit();\n }\n\n onHelp() {\n this.spxHelp.emit();\n }\n\n constructor(private elRef: ElementRef) {\n }\n\n private emitFocusIn(): void {\n if (!this.spxFocused) {\n this.spxFocus.emit();\n }\n }\n\n private emitFocusOut(): void {\n if (this.spxFocused) {\n this.spxFocusOut.emit();\n }\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { Subscription, fromEvent } from 'rxjs';\n\n@Component({\n selector: 'spx-dropdown',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n SpxButtonComponent,\n ],\n template: `<div class=\"relative text-black\">\n <div\n class=\"absolute bg-gray-100 left-0 right-0 z-20\">\n <button\n *ngFor=\"let valuePair of this.spxSuggestions; let i = index\"\n class=\"text-black block w-full p-2 border border-gray-200 rounded-lg shadow hover:bg-gray-200 flex items-center text-left\"\n [class.bg-gray-100]=\"i === this.focusPosition\"\n [class.bg-white]=\"i !== this.focusPosition\"\n (click)=\"this.handleSuggestionClick(valuePair)\"\n [attr.tabindex]=\"-1\"\n [attr.type]=\"'button'\">\n <div class=\"flex-1 p-1 font-bold text-lg\">{{valuePair?.description}}</div>\n <spx-button (spxClick)=\"this.handleSuggestionClick(valuePair)\" [spxType]=\"'button'\" [spxTabIndex]=\"-1\">Select</spx-button>\n </button>\n </div>\n</div>`,\n})\nexport class SpxDropdownComponent implements OnChanges, OnInit, OnDestroy {\n protected focusPosition = 0;\n @Input() spxSuggestions: SpxValuePair<boolean | number | string>[] = [];\n @Output() spxSelect: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n subscriptionKeyUp?: Subscription;\n\n ngOnInit(): void {\n this.listenToKeyUp();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.focusPosition = 0;\n }\n\n ngOnDestroy(): void {\n this.subscriptionKeyUp?.unsubscribe();\n }\n\n handleSuggestionClick(valuePair: SpxValuePair<string | number | boolean>) {\n this.select(valuePair);\n }\n\n private listenToKeyUp(): void {\n this.subscriptionKeyUp = fromEvent(window, 'keyup').subscribe((event) => {\n if ((event as KeyboardEvent).key === 'ArrowUp' && this.focusPosition > 0) {\n this.focusPosition = this.focusPosition - 1;\n event.preventDefault();\n }\n if ((event as KeyboardEvent).key === 'ArrowDown' && this.focusPosition < this.spxSuggestions.length - 1) {\n this.focusPosition = this.focusPosition + 1;\n event.preventDefault();\n }\n if ((event as KeyboardEvent).key === 'Enter' && this.spxSuggestions.length > 0) {\n this.select(this.spxSuggestions.at(this.focusPosition)!);\n event.preventDefault();\n }\n });\n }\n\n private select(valuePair: SpxValuePair<string | number | boolean>): void {\n this.focusPosition = 0;\n this.spxSelect.emit(valuePair);\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxDropdownComponent } from './spx-dropdown.component';\n\n@Component({\n selector: 'spx-input-text',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n SpxButtonComponent,\n SpxDropdownComponent,\n ],\n template: `<div class=\"relative text-black\">\n <input\n #input\n class=\"font-bold text-lg w-full outline-none\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [class.bg-white]=\"!this.spxReadonly\"\n [class.bg-gray-300]=\"this.spxReadonly\"\n [class.cursor-not-allowed]=\"this.spxReadonly\"\n [class.uppercase]=\"this.spxCapitalize\"\n [attr.autofocus]=\"this.spxAutofocus ? this.spxAutofocus : undefined\"\n [attr.disabled]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.inputMode]=\"this.spxInputMode ? this.spxInputMode : undefined\"\n [attr.pattern]=\"this.spxPattern ? this.spxPattern : undefined\"\n [attr.name]=\"this.spxName\"\n [attr.type]=\"this.spxType\"\n [value]=\"this.value?.description ? this.value?.description : this.value?.value\"\n (blur)=\"this.handleBlur()\"\n (keyUp)=\"this.handleKeyUp()\"\n (focus)=\"this.handleFocus()\"\n (input)=\"this.handleDescriptionInput($event)\"\n />\n <span *ngIf=\"this.value?.description && this.value?.value && this.value?.description?.valueOf() !== this.value?.value?.valueOf()\">{{this.value?.value}}</span>\n <spx-dropdown\n *ngIf=\"this.spxFocused && (this.spxType === 'overlay' || this.spxType === 'overlaynumber')\"\n [spxSuggestions]=\"this.spxSuggestions\" (spxSelect)=\"this.handleSuggestionClick($event)\">\n </spx-dropdown>\n</div>`,\n})\nexport class SpxInputTextComponent {\n // private elInput?: HTMLElement;\n // @Element() el!: HTMLElement;\n @Input() spxName?: string;\n @Input() spxAutofocus = false;\n @Input() spxInputMode?: string;\n @Input() spxPattern?: string;\n @Input() spxSuggestions: SpxValuePair<boolean | number | string>[] = [];\n @Input() spxReadonly = false;\n @Input() spxValidators?: any[];\n @Input() spxCapitalize = false;\n @Input() spxFocused = true;\n @Input() spxType: 'autocomplete' | 'overlay' | 'overlaynumber' | 'text' | 'password' = 'text';\n @Input() value?: SpxValuePair<any>;\n @Output() spxBlurFromChild: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Input() spxWasInternalUpdate = false;\n @ViewChild('input', { static: true }) inputRef?: ElementRef<HTMLInputElement>;\n \n \n spxSetFocus() {\n this.inputRef?.nativeElement?.focus();\n }\n\n componentDidLoad() {\n if (this.spxAutofocus) {\n this.spxFocus.emit();\n this.spxSetFocus();\n }\n }\n\n handleBlur() {\n this.spxBlurFromChild.emit();\n }\n\n handleFocus() {\n this.spxFocus.emit();\n }\n\n handleDescriptionInput(event: any) {\n this.value = {\n description: event.target ? event.target.value : null,\n value: event.target ? event.target.value : null,\n };\n this.spxChange.emit(this.value);\n }\n\n handleSuggestionClick(value: any) {\n if (!this.spxReadonly) {\n this.value = value;\n this.spxChange.emit(this.value);\n this.spxFocused = false;\n }\n }\n\n handleKeyUp() {\n this.spxFocused = true;\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxSuggestionComponent } from '@softpak/components/spx-suggestion';\nimport { DateTime } from 'luxon';\nimport { SpxValuePair } from './spx-value-interface';\n\n@Component({\n selector: 'spx-input-date',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n SpxButtonComponent,\n SpxSuggestionComponent\n ],\n template: `<div class='spx-input-date__controls'>\n <input\n class='spx-input-date__input'\n [attr.value]=\"this.spxInternalValue.years\"\n (focus)=\"this.handleFocus('years')\"\n (input)=\"this.handleYearInput($event)\"\n (keyDown)=\"this.handleKeyDown($event)\"\n [attr.type]=\"'number'\"\n [attr.min]=\"1900\"\n [attr.max]=\"2100\"\n [attr.step]=\"1\"\n />\n <div class='spx-input-date__control-label'>Year</div>\n <input\n *ngIf=\"this.spxSelectMonth\"\n class='spx-input-date__input'\n [attr.value]=\"this.spxInternalValue.months\"\n (focus)=\"this.handleFocus('months')\"\n (input)=\"this.handleMonthInput($event)\"\n (keyDown)=\"this.handleKeyDown($event)\"\n [attr.type]=\"'number'\"\n [attr.min]=\"1\"\n [attr.max]=\"12\"\n [attr.step]=\"1\" />\n <div class='spx-input-date__control-label'>Month</div>\n <input\n *ngIf=\"this.spxSelectDay\"\n class='spx-input-date__input'\n [attr.value]=\"this.spxInternalValue.days\"\n (focus)=\"this.handleFocus('days')\"\n (input)=\"this.handleDayInput($event)\"\n (keyDown)=\"this.handleKeyDown($event)\"\n [attr.type]=\"'number'\"\n [attr.min]=\"1\"\n [attr.max]=\"31\"\n [attr.step]=\"1\" />\n <div class='spx-input-date__control-label'>Days</div>\n</div>\n<div class='spx-input-date__suggestions'>\n <spx-suggestion \n *ngFor=\"let valuePair of spxSuggestions[spxSelectStep]\" \n (click)=\"this.handleSuggestionClick(valuePair.value)\">{{valuePair?.description}}</spx-suggestion>\n</div>`,\nstyles: `\n:host {\n display: block;\n}\n\n.spx-input-date__input {\n background-color: transparent;\n border: 1px solid #979797;\n border-radius: 4px;\n color: var(--spx-input--color, rgba(0, 0, 0, .9));\n box-sizing: border-box;\n font-size: 16px;\n margin-right: 10px;\n padding: 6px;\n text-align: center;\n width: 100%;\n}\n\n.spx-input-date__input:active {\n transform: scale(0.95);\n}\n\n.spx-input-date__input:focus {\n border: var(--spx-input-box--focus--border, 1px solid rgb(115, 168, 210));\n border-radius: 4px;\n outline: none;\n}\n\n.spx-input-date__control-label {\n align-items: center;\n color: rgba(0, 0, 0, .7);\n display: inline-grid;\n font-size: 13px;\n letter-spacing: 1px;\n}\n\n.spx-input-date__input::-webkit-outer-spin-button,\n.spx-input-date__input::-webkit-inner-spin-button {\n /* display: none; <- Crashes Chrome on hover */\n -webkit-appearance: none;\n margin: 0; /* <-- Apparently some margin are still there even though it's hidden */\n}\n\n.spx-input-date__input[type=number] {\n -moz-appearance:textfield; /* Firefox */\n}\n\n.spx-input-date__suggestions,\n.spx-input-date__controls {\n display: grid;\n grid-gap: 8px;\n grid-template-columns: repeat(4, 1fr);\n margin-top: 8px;\n}\n`,\n})\nexport class SpxInputDateComponent {\n private elYear?: HTMLElement;\n private elMonth?: HTMLElement;\n private elDay?: HTMLElement;\n // @Element() el!: HTMLElement;\n @Input() spxMax?: string;\n @Input() spxMin?: string;\n @Input() spxName?: string;\n @Input() spxReadonly = false;\n @Input() spxValidators?: any[];\n @Input() spxFocused = true;\n @Input() spxSelectMonth = true;\n @Input() spxSelectDay = true;\n @Input() value?: SpxValuePair<string>;\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Input() spxLastKeyPressed!: null;\n @Input() spxSelectStep: 'years' | 'days' | 'months' = 'years';\n @Input() spxInternalValue: {\n years?: number;\n months?: number;\n days?: number;\n } = {};\n @Input() spxSuggestions: {\n years: SpxValuePair<number>[];\n months: SpxValuePair<number>[];\n days: SpxValuePair<number>[];\n } = {\n years: [],\n months: [{\n description: 'Jan',\n value: 1,\n }, {\n description: 'Feb',\n value: 2,\n }, {\n description: 'Mar',\n value: 3,\n }, {\n description: 'Apr',\n value: 4,\n }, {\n description: 'May',\n value: 5,\n }, {\n description: 'Jun',\n value: 6,\n }, {\n description: 'Jul',\n value: 7,\n }, {\n description: 'Aug',\n value: 8,\n }, {\n description: 'Sep',\n value: 9,\n }, {\n description: 'Oct',\n value: 10,\n }, {\n description: 'Nov',\n value: 11,\n }, {\n description: 'Dec',\n value: 12,\n }],\n days: [],\n };\n @Input() spxWasInternalUpdate = false;\n async spxSetFocus() {\n // this.elYear.focus();\n }\n // @Watch('spxValidators') watchSpxValidators(newValue) {\n // console.log('validators', newValue);\n // }\n // @Watch('value') watchValue(newValue) {\n // if (this.spxWasInternalUpdate) {\n // this.spxWasInternalUpdate = false;\n // } else {\n // const parsedValue = DateTime.fromISO(newValue?.value);\n // this.spxInternalValue.years = parsedValue.year;\n // this.spxInternalValue.months = parsedValue.month;\n // this.spxInternalValue.days = parsedValue.day;\n // this.spxSelectStep = 'years';\n // }\n // }\n\n constructor() {\n this.suggestYears();\n }\n\n componentWillLoad() {\n const parsedValue = this.value ? DateTime.fromISO(this.value!.value) : DateTime.now();\n this.spxInternalValue.years = parsedValue.year;\n this.spxInternalValue.months = parsedValue.month;\n this.spxInternalValue.days = parsedValue.day;\n }\n\n handleDayInput(event: any) {\n this.spxInternalValue.days = event.target ? event.target.value : null;\n this.updateValue();\n }\n\n handleMonthInput(event: any) {\n this.spxInternalValue.months = event.target ? event.target.value : null;\n this.afterMonthChange();\n }\n\n afterMonthChange() {\n if (this.spxInternalValue.months!.toString().length === 2 && this.spxSelectDay && this.spxLastKeyPressed !== 38 && this.spxLastKeyPressed !== 40) {\n // this.elDay!.focus();\n }\n this.updateValue();\n }\n\n handleYearInput(event: any) {\n this.spxInternalValue.years = event.target ? event.target.value : null;\n this.afterYearChange();\n }\n\n afterYearChange() {\n if (this.spxInternalValue.years!.toString().length === 4 && this.spxSelectMonth && this.spxLastKeyPressed !== 38 && this.spxLastKeyPressed !== 40) {\n // this.elMonth!.focus();\n }\n this.updateValue();\n }\n\n handleInput(event: any) {\n this.setValue(event.target ? event.target.value : null);\n }\n\n handleFocus(step: 'years' | 'months' | 'days') {\n this.spxSelectStep = step;\n this.spxFocus.emit();\n }\n\n handleKeyDown(event: any) {\n this.spxLastKeyPressed = event.which;\n }\n\n handleSuggestionClick(value: number) {\n this.spxLastKeyPressed = null;\n this.spxInternalValue[this.spxSelectStep] = value;\n this.updateValue();\n this.doneWithField();\n }\n\n updateValue() {\n const concatenatedValue = `${this.spxInternalValue.years ? this.spxInternalValue.years : ``}${this.spxInternalValue.months ? `-${this.spxInternalValue.months < 10 ? `0${this.spxInternalValue.months}` : this.spxInternalValue.months}` : ``}${this.spxInternalValue.days ? `-${this.spxInternalValue.days < 10 ? `0${this.spxInternalValue.days}` : this.spxInternalValue.days}` : ``}`\n const parsedValue = DateTime.fromISO(concatenatedValue);\n this.spxWasInternalUpdate = true;\n this.value = {\n description: parsedValue.toISO(),\n value: parsedValue.toISO()!,\n };\n this.spxChange.emit(this.value);\n }\n\n doneWithField() {\n if (this.spxSelectStep === 'days') {\n this.spxSelectStep = 'years';\n } else if (this.spxSelectStep === 'months') {\n this.spxSelectStep = this.spxSelectDay ? 'days' : 'years';\n this.afterMonthChange();\n } else if (this.spxSelectStep === 'years') {\n this.afterYearChange();\n this.spxSelectStep = this.spxSelectMonth ? 'months' : 'years';\n }\n }\n\n setValue(value: any) {\n this.spxInternalValue = value;\n const parsed = DateTime.fromISO(value);\n this.value = {\n description: parsed.toISO(),\n value: parsed.toISO()!,\n };\n this.spxChange.emit(this.value);\n this.spxWasInternalUpdate = true;\n }\n\n private suggestYears(): void {\n this.spxSuggestions.years = [];\n for (let year = DateTime.fromISO(this.spxMin!).year; year <= DateTime.fromISO(this.spxMax!).year; year++) {\n this.spxSuggestions.years.push({\n description: `'${year.toString().substring(2,4)}`,\n value: year,\n });\n }\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\n\n@Component({\n selector: 'spx-input-float',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n SpxButtonComponent,\n ],\n template: `<div class=\"flex items-end\">\n <input\n #firstInputRef\n class=\"spx-input-float__input\"\n [attr.autofocus]=\"this.spxAutofocus ? this.spxAutofocus : undefined\"\n [attr.disabled]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.pattern]=\"'[0-9]*'\"\n [attr.step]=\"1\"\n [attr.type]=\"'text'\"\n [attr.value]=\"this.internalValue?.first ? this.internalValue?.first : undefined\"\n [class.spx-input-float--readonly]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n (focus)=\"this.handleFocus()\"\n (input)=\"this.handleInput($event, 1)\" />\n <span class=\"text-black font-bold text-2xl mx-4\">,</span>\n <input\n [attr.autofocus]=\"this.spxAutofocus ? this.spxAutofocus : undefined\"\n class=\"spx-input-float__input\"\n [class.spx-input-float--readonly]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.disabled]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.value]=\"this.internalValue?.second ? this.internalValue?.second : undefined\"\n (focus)=\"this.handleFocus()\"\n (input)=\"this.handleInput($event, 2)\"\n [attr.step]=\"1\"\n [attr.type]=\"'text'\"\n [attr.pattern]=\"'[0-9]*'\" />\n</div>`,\n styles: `\n :host {\n display: block;\n}\n\n.spx-input-float__input {\n border: 1px solid #333333;\n border-radius: 8px;\n background-color: transparent;\n box-sizing: border-box;\n color: var(--spx-input--color, rgba(0, 0, 0, .9));\n flex: 1;\n font-size: 20px;\n font-weight: bold;\n padding: 8px;\n width: 100%;\n}\n\n.spx-input-float__input:focus {\n outline: none;\n}\n `,\n})\nexport class SpxInputFloatComponent {\n // private elFirstInput?: HTMLElement;\n // private elSecondInput?: HTMLElement;\n protected internalValue: {\n first: number | null;\n second: number | null;\n } = {\n first: null,\n second: null,\n };\n // @Element() el!: HTMLStencilElement;\n @Input() spxName!: string;\n @Input() spxAutofocus = false;\n @Input() spxReadonly = false;\n @Input() spxValidators!: any[];\n @Input() spxFocused = true;\n @Input() spxStep?: number;\n @Input() value!: SpxValuePair<any>;\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Input() spxWasInternalUpdate = false;\n @Input() tick = {};\n @ViewChild('firstInputRef', { static: true }) firstInputRef?: ElementRef<HTMLInputElement>;\n \n spxSetFocus() {\n this.firstInputRef?.nativeElement?.focus();\n }\n\n // @Watch('value') onValueChanged(newValue: SpxValuePair<any>, _oldValue: SpxValuePair<any>) {\n // this.handleSetValue(newValue);\n // }\n\n componentDidLoad() {\n if (this.spxAutofocus) {\n this.spxFocus.emit();\n this.spxSetFocus();\n }\n this.handleSetValue(this.value);\n }\n\n handleFocus() {\n this.spxFocus.emit();\n }\n\n handleSetValue(newValue: SpxValuePair<any>) {\n if (this.isNumeric(newValue?.value)) {\n this.internalValue = {\n first: Math.floor(parseFloat(newValue?.value)),\n second: newValue?.value?.split ? newValue?.value.split('.')[1] : 0,\n };\n } else {\n this.internalValue = {\n first: null,\n second: null,\n };\n }\n this.tick = {};\n }\n\n handleInput(event: any, position: 1 | 2) {\n this.internalValue = {\n first: position === 1 ? (event.target ? event.target.value : null) : this.internalValue.first,\n second: position === 2 ? (event.target ? event.target.value : null) : this.internalValue.second,\n };\n let result;\n if (this.internalValue.first === null && this.internalValue.second === null) {\n result = null;\n } else {\n result = `${this.internalValue.first ? this.internalValue.first : 0}.${this.internalValue.second ? this.internalValue.second : 0}`;\n }\n this.value = {\n description: result,\n value: result,\n };\n this.spxChange.emit(this.value);\n }\n\n isNumeric(value: string) {\n return /^[+-]?\\d+(\\.\\d+)?$/.test(value);\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\n\n@Component({\n selector: 'spx-input-number',\n standalone: true,\n imports: [],\n template: `<div class=\"spx-input-number__controls\">\n <input\n #input\n class=\"spx-input-number__input\"\n [attr.autofocus]=\"this.spxAutofocus ? this.spxAutofocus : undefined\"\n [class.spx-input-number--readonly]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.disabled]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.inputMode]=\"this.spxInputMode ? this.spxInputMode : undefined\"\n [attr.value]=\"this.value?.value ? this.value?.value : undefined\"\n [attr.step]=\"this.spxStep ? this.spxStep : undefined\"\n [attr.type]=\"'number'\"\n (focus)=\"this.handleFocus()\"\n (input)=\"this.handleInput($event)\" />\n</div>`,\n styles: `\n:host {\n display: block;\n}\n\n.spx-input-number__input {\n border: 0;\n background-color: transparent;\n box-sizing: border-box;\n color: var(--spx-input--color, rgba(0, 0, 0, .9));\n font-size: 20px;\n font-weight: bold;\n margin-right: 10px;\n padding: 0;\n width: 100%;\n}\n\n.spx-input-number__input:focus {\n outline: none;\n}\n\n.spx-input-number__value {\n color: rgba(0, 0, 0, .6);\n font-size: 14px;\n}\n `,\n})\nexport class SpxInputNumberComponent {\n // private elInput?: HTMLElement;\n // @Element() el!: HTMLElement;\n @Input() spxName!: string;\n @Input() spxAutofocus = false;\n @Input() spxInputMode?: string;\n @Input() spxReadonly = false;\n @Input() spxValidators!: any[];\n @Input() spxFocused = true;\n @Input() spxStep?: number;\n @Input() value?: SpxValuePair<any>;\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @ViewChild('input', { static: true }) inputRef?: ElementRef<HTMLInputElement>;\n spxWasInternalUpdate = false;\n \n spxSetFocus() {\n this.inputRef?.nativeElement?.focus();\n }\n\n componentDidLoad() {\n if (this.spxAutofocus) {\n this.spxFocus.emit();\n this.spxSetFocus();\n }\n }\n\n handleFocus() {\n this.spxFocus.emit();\n }\n\n handleInput(event: any) {\n this.value = {\n description: event.target ? event.target.value : null,\n value: event.target ? event.target.value : null,\n };\n this.spxChange.emit(this.value);\n }\n}","import { Component, EventEmitter, Input, Output, SimpleChanges } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { NgFor } from '@angular/common';\nimport { SpxSuggestionComponent } from '@softpak/components/spx-suggestion';\nimport { Subscription, fromEvent } from 'rxjs';\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\n\n@Component({\n selector: 'spx-input-radio',\n standalone: true,\n imports: [\n NgFor,\n SpxSuggestionComponent,\n ],\n template: `<div class=\"grid grid-cols-2 gap-2\" [class.mt-3]=\"this.spxShowLabel\">\n <spx-suggestion\n *ngFor=\"let valuePair of this.cachedSuggestions; let i = index\"\n [spxDisabled]=\"this.spxReadonly\"\n [spxFocused]=\"this.spxFocused && i === this.focusPosition\"\n [spxSelected]=\"this.value?.value === valuePair?.value\"\n [spxTabbable]=\"this.focusPosition === i\"\n (click)=\"this.handleSuggestionClick($event, valuePair)\">\n {{valuePair?.description}}\n </spx-suggestion>\n </div>`,\n})\nexport class SpxInputRadioComponent {\n cachedSuggestions: SpxValuePair<any>[] = [];\n protected focusPosition = 0;\n // @Element() el!: HTMLElement;\n @Input() spxName?: string;\n @Input() spxValidators!: any[];\n @Input() spxFocused = false;\n @Input() spxShowLabel = true;\n @Input() spxReadonly = false;\n @Input() spxSuggestions: SpxValuePair<any>[] = [];\n @Input() value?: SpxValuePair<any>;\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n private subscriptionKeyUp?: Subscription;\n private subscriptionKeyDown?: Subscription;\n spxFocusIn() {\n this.listenToKeys();\n this.determineFocusPosition();\n }\n\n spxFocusOut() {\n this.subscriptionKeyDown?.unsubscribe();\n this.subscriptionKeyUp?.unsubscribe();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (\n (changes['spxSuggestions'] && JSON.stringify(changes['spxSuggestions']?.previousValue) !== JSON.stringify(changes['spxSuggestions']?.currentValue))\n ) {\n this.cachedSuggestions = changes['spxSuggestions']?.currentValue ?? [];\n }\n }\n\n handleSuggestionClick(event: Event, valuePair: SpxValuePair<any>) {\n if (this.spxReadonly) {\n console.log('spxInputRadio: clicked, but readonly');\n } else {\n console.log('spxInputRadio: clicked');\n this.select(valuePair);\n }\n }\n\n private determineFocusPosition() {\n if (this.value && this.spxSuggestions?.length) {\n const index = this.spxSuggestions.findIndex(valuePair => valuePairToValue(valuePair) === valuePairToValue(this.value));\n this.focusPosition = index >= 0 ? index : 0;\n } else {\n this.focusPosition = 0;\n }\n }\n\n private select(valuePair: SpxValuePair<string | number | boolean>): void {\n this.focusPosition = 0;\n this.value = valuePair;\n this.spxChange.emit(valuePair);\n }\n\n private listenToKeys(): void {\n this.subscriptionKeyUp = fromEvent(window, 'keyup').subscribe((event) => {\n if (((event as KeyboardEvent).key === 'ArrowUp' || (event as KeyboardEvent).key === 'ArrowLeft') && this.focusPosition > 0) {\n this.focusPosition = this.focusPosition - 1;\n this.select(this.spxSuggestions.at(this.focusPosition)!);\n event.preventDefault();\n }\n if (((event as KeyboardEvent).key === 'ArrowDown' || (event as KeyboardEvent).key === 'ArrowRight') && this.focusPosition < this.spxSuggestions.length - 1) {\n this.focusPosition = this.focusPosition + 1;\n this.select(this.spxSuggestions.at(this.focusPosition)!);\n event.preventDefault();\n }\n });\n this.subscriptionKeyDown = fromEvent(window, 'keydown').subscribe((event) => {\n if ((event as KeyboardEvent).key === 'ArrowDown' ||\n (event as KeyboardEvent).key === 'ArrowLeft' ||\n (event as KeyboardEvent).key === 'ArrowRight' ||\n (event as KeyboardEvent).key === 'ArrowUp') {\n event.preventDefault();\n }\n });\n }\n}","export enum SpxInputTypeEnum {\n autocomplete = 'autocomplete',\n button = 'button',\n date = 'date',\n float = 'float',\n hidden = 'hidden',\n overlay = 'overlay',\n overlayNumber = 'overlaynumber',\n radio = 'radio',\n number = 'number',\n password = 'password',\n text = 'text',\n textNumericKeyboard = 'textNumericKeyboard',\n time = 'time',\n}","import { NgFor, NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, Output, inject } from '@angular/core';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxDropdownComponent } from './spx-dropdown.component';\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\nimport { faXmark } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { IonicModule, ModalController } from '@ionic/angular';\n\n@Component({\n selector: 'spx-input-time-modal',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n IonicModule,\n SpxButtonComponent,\n SpxDropdownComponent,\n FontAwesomeModule,\n ],\n template: `<ion-header>\n <ion-toolbar>\n <ion-title>Select {{view}}</ion-title>\n <ion-buttons slot=\"end\">\n <spx-button [spxSeverity]=\"typeError\" (spxClick)=\"closeDialog()\">\n <fa-icon [icon]=\"faXmark\"></fa-icon>\n </spx-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n<ion-content class=\"ion-padding bg-white\">\n <!-- Uren -->\n <div class=\"custom-bg grid grid-cols-1 gap-3\">\n <div *ngIf=\"view === 'hours'\" class=\"flex-wrap gap-2\">\n <div class=\"grid grid-cols-3 md:grid-cols-4 gap-3\">\n <div *ngFor=\"let hour of hourOptions\" class=\"text-center font-bold custom-square rounded text-gray-900 text-lg p-3 w-full truncate outline-none bg-sky-100 focus:ring-sky-300 hover:bg-sky-300 active:bg-sky-300\" [class.selected]=\"value === hour\" (click)=\"onChange(hour)\">\n {{ hour }}\n </div>\n </div>\n </div>\n <!-- Minuten -->\n <div *ngIf=\"view === 'minutes'\" class=\"grid grid-cols-1 gap-3\">\n <div class=\"grid grid-cols-4 md:grid-cols-5 gap-3\">\n <div *ngFor=\"let minute of minuteOptions\" class=\"text-center font-bold custom-square rounded text-gray-900 text-lg p-3 w-ful truncate outline-none bg-sky-100 focus:ring-sky-300 hover:bg-sky-300 active:bg-sky-300\" [class.selected]=\"value === minute\" (click)=\"onChange(minute)\">\n {{ minute }}\n </div>\n </div>\n </div>\n </div>\n</ion-content>\n `,\n})\nexport class SpxInputTimeModalComponent {\n @Input() view!: 'hours' | 'minutes';\n @Input() value!: number;\n @Output() change: EventEmitter<number> = new EventEmitter<number>();\n\n faXmark = faXmark\n hourOptions = Array.from({ length: 24 }, (_, i) => i); // 0 to 23\n minuteOptions = Array.from({ length: 12 }, (_, i) => i * 5); // Minutes in incrementen van 5\n typeError = SpxSeverityEnum.error;\n\n constructor(private modalController: ModalController){\n this.hourOptions.push(this.hourOptions.shift()!);\n this.minuteOptions.push(this.minuteOptions.shift()!);\n }\n\n closeDialog() {\n this.modalController.dismiss();\n }\n\n onChange(value: number) {\n this.change.emit(value);\n console.log(value);\n this.modalController.dismiss(value);\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, Input, Output, ViewChild, inject } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxDropdownComponent } from './spx-dropdown.component';\nimport { DateTime } from 'luxon';\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\nimport { SpxInputTimeModalComponent } from './spx-input-time-modal.component';\nimport { IonicModule, ModalController } from '@ionic/angular';\n\n@Component({\n selector: 'spx-input-time',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n SpxButtonComponent,\n SpxDropdownComponent,\n IonicModule,\n ],\n styles: `\n .custom-square.selected {\n background-color: #007bff;\n color: white;\n border-color: #007bff;\n }\n .custom-bg {\n --background: #FFFFFF;\n }\n `,\n template: `<div class=\"relative text-black\">\n <div class=\"flex items-center justify-around gap-3\">\n <div class=\"grow rounded bg-gray-100 p-3 text-xl text-center font-bold\" (click)=\"openDialog('hours')\">{{ formattedHour ?? '--' }}</div>\n <div class=\"text-gray text-xl\">:</div>\n <div class=\"grow rounded bg-gray-100 p-3 text-xl text-center font-bold\" (click)=\"openDialog('minutes')\">{{ formattedMinute ?? '--' }}</div>\n </div>\n</div>`,\n})\nexport class SpxInputTimeComponent {\n // private elInput?: HTMLElement;\n // @Element() el!: HTMLElement;\n @Input() spxName?: string;\n @Input() spxAutofocus = false;\n @Input() spxInputMode?: string;\n @Input() spxPattern?: string;\n @Input() spxSuggestions: SpxValuePair<boolean | number | string>[] = [];\n @Input() spxReadonly = false;\n @Input() spxValidators?: any[];\n @Input() spxCapitalize = false;\n @Input() spxFocused = true;\n @Input() spxType!: any;\n @Input() value?: SpxValuePair<any>;\n @Output() spxBlurFromChild: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Input() spxWasInternalUpdate = false;\n @ViewChild('input', { static: true }) inputRef?: ElementRef<HTMLInputElement>;\n\n severitySuccess = SpxSeverityEnum.success;\n hourOptions = Array.from({ length: 24 }, (_, i) => i).unshift(); // 0 to 23\n minuteOptions = Array.from({ length: 12 }, (_, i) => i * 5).unshift(); // Minutes in incrementen van 5\n selectedHour: number | null = null;\n selectedMinute: number | null = null;\n\n get formattedHour() {\n return this.selectedHour !== null && this.selectedHour < 10 ? `0${this.selectedHour}` : this.selectedHour;\n }\n\n get formattedMinute() {\n return this.selectedMinute !== null && this.selectedMinute < 10 ? `0${this.selectedMinute}` : this.selectedMinute;\n }\n\n\n get hour() { return this.value?.value ? DateTime.fromISO(this.value.value).hour : null; }\n get minute() { return this.value?.value ? DateTime.fromISO(this.value.value).minute : null; }\n\n constructor(private modalController: ModalController) {}\n\n spxSetFocus() {\n this.inputRef?.nativeElement?.focus();\n }\n\n componentDidLoad() {\n if (this.spxAutofocus) {\n this.spxFocus.emit();\n this.spxSetFocus();\n }\n }\n\n handleBlur() {\n this.spxBlurFromChild.emit();\n }\n\n handleFocus() {\n this.spxFocus.emit();\n }\n\n handleDescriptionInput(event: any) {\n this.value = {\n description: event.target ? event.target.value : null,\n value: event.target ? event.target.value : null,\n };\n this.spxChange.emit(this.value);\n }\n\n handleSuggestionClick(value: any) {\n if (!this.spxReadonly) {\n this.value = value;\n this.spxChange.emit(this.value);\n this.spxFocused = false;\n }\n }\n\n handleKeyUp() {\n this.spxFocused = true;\n }\n\n async openDialog(view: 'hours' | 'minutes') {\n const modal = await this.modalController.create({\n component: SpxInputTimeModalComponent,\n componentProps: {\n value: this.value?.value ?\n (view === 'hours' ? DateTime.fromISO(this.value.value).hour : DateTime.fromISO(this.value.value).minute) : undefined,\n view,\n },\n });\n\n modal.onDidDismiss().then((data) => {\n // this.appStore.dispatch(infArticleActions.reset({}));\n\n if (view === 'hours') {\n // console.log('hours');\n // console.log(data);\n this.selectedHour = data.data;\n this.openDialog('minutes');\n this.updateValue();\n\n } else if (view === 'minutes') {\n // console.log('minutes');\n // console.log(data);\n this.selectedMinute = data.data;\n this.updateValue();\n }\n });\n\n await modal.present();\n }\n\n updateValue() {\n if (this.selectedHour !== null && this.selectedMinute !== null) {\n const formattedHour = this.selectedHour < 10 ? `0${this.selectedHour}` : this.selectedHour;\n const formattedMinute = this.selectedMinute < 10 ? `0${this.selectedMinute}` : this.selectedMinute;\n const newValue = `${formattedHour}:${formattedMinute}`;\n\n this.value = {\n description: newValue,\n value: newValue,\n };\n\n this.spxChange.emit(this.value);\n }\n }\n}\n","import { NgIf } from '@angular/common';\nimport { Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';\nimport { SpxInputBoxComponent } from './spx-input-box.component';\nimport { SpxInputTextComponent } from './spx-input-text.component';\nimport { SpxValuePair } from './spx-value-interface';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SpxInputDateComponent } from './spx-input-date.component';\nimport { SpxInputFloatComponent } from './spx-input-float.component';\nimport { SpxInputNumberComponent } from './spx-input-number.component';\nimport { SpxInputRadioComponent } from './spx-input-radio.component';\nimport { SpxInputTypeEnum } from './spx-input-type.enum';\nimport { SpxInputTimeComponent } from './spx-input-time.component';\n\n@Component({\n selector: 'spx-input',\n standalone: true,\n host: {\n '(spxChange)': 'handleChangeEvent($event)'\n },\n imports: [\n NgIf,\n SpxInputBoxComponent,\n SpxInputDateComponent,\n SpxInputFloatComponent,\n SpxInputNumberComponent,\n SpxInputRadioComponent,\n SpxInputTextComponent,\n SpxInputTimeComponent,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SpxInputComponent,\n multi: true\n }\n ],\n template: `<spx-input-box\n [spxFocused]=\"this.spxFocused\"\n [spxLabel]=\"this.spxLabel\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxRequired]=\"this.spxRequired\"\n [spxValue]=\"this.value\"\n [spxShowHelp]=\"this.spxShowHelp\"\n [spxCompact]=\"this.spxCompact\"\n [spxShowClear]=\"this.spxShowClear\"\n [spxShowEdit]=\"this.spxShowEdit\"\n [spxShowLabel]=\"this.spxShowLabel\"\n [spxShowSearch]=\"this.spxShowSearch ? this.spxShowSearch : this.spxType === 'autocomplete'\"\n [spxShowValidationMessages]=\"this.spxShowValidationMessages\"\n (spxClear)=\"this.handleClear()\"\n (spxEdit)=\"this.handleEdit()\"\n (spxHelp)=\"this.handleHelp()\"\n (spxFocus)=\"this.setFocusIn()\"\n (spxFocusOut)=\"this.setFocusOut()\"\n (spxSearch)=\"this.handleSearch()\">\n <div controls>\n <spx-input-text\n *ngIf=\"this.spxType === 'autocomplete' || this.spxType === 'overlay' || this.spxType === 'overlaynumber' || this.spxType === 'text' || this.spxType === 'password'\"\n (spxBlurFromChild)=\"this.handleBlur()\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxAutofocus]=\"this.spxAutofocus\"\n [spxCapitalize]=\"this.spxCapitalize\"\n [spxFocused]=\"this.spxFocused\"\n [spxInputMode]=\"this.spxType === 'overlaynumber' ? 'numeric' : this.spxInputMode\"\n [spxName]=\"this.spxName\"\n [spxPattern]=\"this.spxType === 'overlaynumber' ? '[0-9]*' : this.spxPattern\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxSuggestions]=\"this.spxSuggestions\"\n [spxType]=\"this.spxType\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-text>\n <spx-input-date\n *ngIf=\"this.spxType === 'date'\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxFocused]=\"this.spxFocused\"\n [spxMax]=\"this.spxMax\"\n [spxMin]=\"this.spxMin\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxSelectDay]=\"this.spxSelectDay\"\n [spxSelectMonth]=\"this.spxSelectMonth\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-date>\n <spx-input-float\n *ngIf=\"this.spxType === 'float'\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxAutofocus]=\"this.spxAutofocus\"\n [spxFocused]=\"this.spxFocused\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxStep]=\"this.spxStep\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-float>\n <spx-input-number\n *ngIf=\"this.spxType === 'number'\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxAutofocus]=\"this.spxAutofocus\"\n [spxFocused]=\"this.spxFocused\"\n [spxInputMode]=\"this.spxInputMode\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxStep]=\"this.spxStep\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-number>\n <spx-input-radio\n #radioInput\n *ngIf=\"this.spxType === 'radio'\"\n (spxChange)=\"this.handleChange($event)\"\n [spxFocused]=\"this.spxFocused\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxShowLabel]=\"this.spxShowLabel\"\n [spxSuggestions]=\"this.spxSuggestions\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-radio>\n <spx-input-time\n #timeInput\n *ngIf=\"this.spxType === 'time'\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxFocused]=\"this.spxFocused\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-time>\n </div>\n <div validation-messages>\n <ng-content></ng-content>\n </div>\n</spx-input-box>`,\n})\nexport class SpxInputComponent {\n @Input() spxLabel: string = 'label';\n @Input() spxMax?: string;\n @Input() spxMin?: string;\n @Input() spxName!: string;\n @Input() spxReadonly = false;\n @Input() spxAutofocus = false;\n @Input() spxInputMode?: string;\n @Input() spxPattern?: string;\n @Input() spxRequired = false;\n @Input() spxSelectMonth = true;\n @Input() spxSelectDay = true;\n @Input() spxShowEdit = false;\n @Input() spxShowHelp = false;\n @Input() spxShowLabel = true;\n @Input() spxCompact = false;\n @Input() spxShowClear = true;\n @Input() spxShowSearch = false;\n @Input() spxShowValidationMessages?: boolean | null | undefined = false;\n @Input() spxStep?: number;\n @Input() spxSuggestions: SpxValuePair<boolean | number | string>[] = [];\n @Input() spxType: SpxInputTypeEnum = SpxInputTypeEnum.text;\n @Input() spxValidators!: any[];\n @Input() value!: SpxValuePair<any>;\n @Input() spxCapitalize = false;\n @Output() spxBlur: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxClear: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxEdit: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxHelp: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxSearch: EventEmitter<void> = new EventEmitter<void>();\n @ViewChild(SpxInputFloatComponent) floatInput?: SpxInputFloatComponent;\n @ViewChild(SpxInputNumberComponent) numberInput?: SpxInputNumberComponent;\n @ViewChild(SpxInputTextComponent) textInput?: SpxInputTextComponent;\n @ViewChild(SpxInputTimeComponent) timeInput?: SpxInputTimeComponent;\n @ViewChild(SpxInputRadioComponent) radioInput?: SpxInputRadioComponent;\n @Input() spxFocused = false;\n handleBlur() {\n this.spxBlur.emit();\n }\n\n handleChange(event: any) {\n this.value = event;\n this.spxChange.emit(this.value);\n }\n\n handleClear() {\n this.spxClear.emit();\n this.spxFocused = true;\n this.passFocusToControl();\n this.value = {\n description: null,\n value: null,\n };\n this.spxChange.emit(this.value);\n }\n\n handleFocus() {\n this.spxFocus.emit();\n this.spxFocused = true;\n }\n\n handleSearch() {\n this.spxSearch.emit();\n }\n\n setFocusIn() {\n this.spxFocused = true;\n this.passFocusToControl();\n }\n\n setFocusOut() {\n this.spxFocused = false;\n if (this.spxType === SpxInputTypeEnum.radio) {\n this.radioInput?.spxFocusOut();\n }\n }\n\n handleEdit() {\n this.spxEdit.emit();\n this.spxFocused = true;\n }\n \n handleHelp() {\n this.spxHelp.emit();\n this.spxFocused = true;\n }\n\n private passFocusToControl() {\n switch (this.spxType) {\n case SpxInputTypeEnum.autocomplete:\n case SpxInputTypeEnum.text:\n case SpxInputTypeEnum.overlayNumber:\n this.textInput?.spxSetFocus();\n break;\n case SpxInputTypeEnum.number:\n this.numberInput?.spxSetFocus();\n break;\n case SpxInputTypeEnum.radio:\n this.radioInput?.spxFocusIn();\n break;\n case SpxInputTypeEnum.time:\n this.timeInput?.spxSetFocus();\n break;\n }\n }\n\n private onChange: (value: any) => void = () => {/**/};\n private onTouched: () => void = () => {/**/};\n protected lastValue: any;\n\n writeValue(value: any) {\n this.value = this.lastValue = value;\n }\n\n handleChangeEvent(value: any) {\n if (value !== this.lastValue) {\n this.lastValue = value;\n this.onChange(value);\n }\n }\n\n @HostListener('focusout')\n _handleBlurEvent() {\n this.onTouched();\n }\n\n registerOnChange(fn: (value: any) => void) {\n this.onChange = fn;\n }\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"softpak-components-spx-inputs.mjs","sources":["../../../../projects/softpak/components/spx-inputs/spx-input-box.component.ts","../../../../projects/softpak/components/spx-inputs/spx-dropdown.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-text.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-date.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-float.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-number.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-radio.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-type.enum.ts","../../../../projects/softpak/components/spx-inputs/spx-input-time-modal.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-time.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input.component.ts","../../../../projects/softpak/components/spx-inputs/softpak-components-spx-inputs.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxValuePair } from './spx-value-interface';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faEdit, faQuestion, faSearch, faTimes } from '@fortawesome/free-solid-svg-icons';\n\n@Component({\n selector: 'spx-input-box',\n standalone: true,\n imports: [\n NgIf,\n SpxButtonComponent,\n FontAwesomeModule,\n ],\n template: `<div class=\"flex rounded w-full gap-3\"\n [class.rounded-none]=\"this.spxShowValidationMessages\"\n [class.rounded-t]=\"this.spxShowValidationMessages\"\n [class.outline-none]=\"this.spxFocused && !this.spxReadonly\"\n [class.ring-2]=\"this.spxFocused && !this.spxReadonly\"\n [class.ring-offset-2]=\"this.spxFocused && !this.spxReadonly\"\n [class.ring-blue-500]=\"this.spxFocused && !this.spxReadonly\"\n [class.bg-white]=\"!this.spxReadonly\"\n [class.bg-gray-300]=\"this.spxReadonly\"\n [class.cursor-not-allowed]=\"this.spxReadonly\">\n <div class=\"flex-auto p-3\"\n [class.p-0]=\"this.spxCompact\"\n [class.flex]=\"this.spxCompact\"\n [class.items-center]=\"this.spxCompact\">\n <div *ngIf=\"this.spxShowLabel\" class=\"font-bold text-sm mb-1 text-gray-800\"\n [class.mb-0]=\"this.spxCompact\"\n [class.px-3]=\"this.spxCompact\">\n {{this.spxLabel}} <span *ngIf=\"spxRequired\" class=\"text-red-800\">*</span>\n </div>\n <ng-content select=\"[controls]\"></ng-content>\n </div>\n <div class=\"flex flex-none gap-1 p-1\">\n <spx-button\n *ngIf=\"this.spxShowEdit\"\n (spxClick)=\"onEdit()\"\n [spxFullHeight]=\"true\"\n [spxSize]=\"'xl'\"\n [spxType]=\"'button'\">\n <fa-icon [icon]=\"faEdit\" class=\"block text-xl\"></fa-icon>\n </spx-button>\n <spx-button\n *ngIf=\"this.spxShowHelp\"\n (spxClick)=\"onHelp()\"\n [spxFullHeight]=\"true\"\n [spxDisabled]=\"this.spxReadonly\"\n [spxSize]=\"'xl'\"\n [spxTabIndex]=\"-1\"\n [spxType]=\"'button'\">\n <fa-icon [icon]=\"faQuestion\" class=\"block text-xl\"></fa-icon>\n </spx-button>\n <spx-button\n *ngIf=\"this.spxShowSearch\"\n (spxClick)=\"onSearch()\"\n [spxFullHeight]=\"true\"\n [spxDisabled]=\"this.spxReadonly\"\n [spxSize]=\"'xl'\"\n [spxTabIndex]=\"-1\"\n [spxType]=\"'button'\">\n <fa-icon [icon]=\"faSearch\" class=\"block text-xl\"></fa-icon>\n </spx-button>\n <spx-button\n *ngIf=\"this.spxShowClear\"\n (spxClick)=\"onClear()\"\n [spxDisabled]=\"this.spxReadonly || !this.spxValue?.value\"\n [spxFullHeight]=\"true\"\n [spxSize]=\"'xl'\"\n [spxTabIndex]=\"-1\"\n [spxType]=\"'button'\">\n <fa-icon [icon]=\"faTimes\" class=\"block text-xl\"></fa-icon>\n </spx-button>\n </div>\n </div>\n <div *ngIf=\"this.spxShowValidationMessages\" class=\"bg-red-600 rounded-b text-white p-3\">\n <ng-content select=\"[validation-messages]\"></ng-content>\n </div>`,\n})\nexport class SpxInputBoxComponent {\n faEdit = faEdit;\n faSearch = faSearch;\n faQuestion = faQuestion;\n faTimes = faTimes;\n @Input() spxCompact?: boolean;\n @Input() spxFocused = false;\n @Input() spxLabel?: string;\n @Input() spxReadonly = false;\n @Input() spxRequired?: boolean;\n @Input() spxShowClear = true;\n @Input() spxShowEdit?: boolean;\n @Input() spxShowHelp?: boolean;\n @Input() spxShowLabel = true;\n @Input() spxShowSearch?: boolean;\n @Input() spxShowValidationMessages?: boolean | null | undefined;\n @Input() spxValue?: SpxValuePair<any>;\n @Output() spxClear: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxSearch: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxFocusOut: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxEdit: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxHelp: EventEmitter<void> = new EventEmitter<void>();\n @HostListener('focusin', [\"$event\"]) handleFocusIn(ev: Event) {\n this.emitFocusIn();\n }\n @HostListener('focusout', [\"$event\"]) handleFocusOut(ev: FocusEvent) {\n const thisEl = this.elRef.nativeElement as HTMLElement;\n const relatedElement = ev.relatedTarget as HTMLElement;\n if (!relatedElement || !thisEl.contains(relatedElement)) {\n this.emitFocusOut();\n }\n }\n @HostListener('document:click', [\"$event\"]) handleWindowClick(ev: Event) {\n if (ev.composedPath().includes(this.elRef.nativeElement)) {\n this.emitFocusIn();\n } else {\n this.emitFocusOut();\n }\n }\n\n onClear() {\n this.spxClear.emit();\n }\n\n onSearch() {\n this.spxSearch.emit();\n }\n\n onEdit() {\n this.spxEdit.emit();\n }\n\n onHelp() {\n this.spxHelp.emit();\n }\n\n constructor(private elRef: ElementRef) {\n }\n\n private emitFocusIn(): void {\n if (!this.spxFocused) {\n this.spxFocus.emit();\n }\n }\n\n private emitFocusOut(): void {\n if (this.spxFocused) {\n this.spxFocusOut.emit();\n }\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { Subscription, fromEvent } from 'rxjs';\n\n@Component({\n selector: 'spx-dropdown',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n SpxButtonComponent,\n ],\n template: `<div class=\"relative text-black\">\n <div\n class=\"absolute bg-gray-100 left-0 right-0 z-20\">\n <button\n *ngFor=\"let valuePair of this.spxSuggestions; let i = index\"\n class=\"text-black block w-full p-2 border border-gray-200 rounded-lg shadow hover:bg-gray-200 flex items-center text-left\"\n [class.bg-gray-100]=\"i === this.focusPosition\"\n [class.bg-white]=\"i !== this.focusPosition\"\n (click)=\"this.handleSuggestionClick(valuePair)\"\n [attr.tabindex]=\"-1\"\n [attr.type]=\"'button'\">\n <div class=\"flex-1 p-1 font-bold text-lg\">{{valuePair?.description}}</div>\n <spx-button (spxClick)=\"this.handleSuggestionClick(valuePair)\" [spxType]=\"'button'\" [spxTabIndex]=\"-1\">Select</spx-button>\n </button>\n </div>\n</div>`,\n})\nexport class SpxDropdownComponent implements OnChanges, OnInit, OnDestroy {\n protected focusPosition = 0;\n @Input() spxSuggestions: SpxValuePair<boolean | number | string>[] = [];\n @Output() spxSelect: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n subscriptionKeyUp?: Subscription;\n\n ngOnInit(): void {\n this.listenToKeyUp();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.focusPosition = 0;\n }\n\n ngOnDestroy(): void {\n this.subscriptionKeyUp?.unsubscribe();\n }\n\n handleSuggestionClick(valuePair: SpxValuePair<string | number | boolean>) {\n this.select(valuePair);\n }\n\n private listenToKeyUp(): void {\n this.subscriptionKeyUp = fromEvent(window, 'keyup').subscribe((event) => {\n if ((event as KeyboardEvent).key === 'ArrowUp' && this.focusPosition > 0) {\n this.focusPosition = this.focusPosition - 1;\n event.preventDefault();\n }\n if ((event as KeyboardEvent).key === 'ArrowDown' && this.focusPosition < this.spxSuggestions.length - 1) {\n this.focusPosition = this.focusPosition + 1;\n event.preventDefault();\n }\n if ((event as KeyboardEvent).key === 'Enter' && this.spxSuggestions.length > 0) {\n this.select(this.spxSuggestions.at(this.focusPosition)!);\n event.preventDefault();\n }\n });\n }\n\n private select(valuePair: SpxValuePair<string | number | boolean>): void {\n this.focusPosition = 0;\n this.spxSelect.emit(valuePair);\n }\n}\n","import { NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { SpxDropdownComponent } from './spx-dropdown.component';\n\n@Component({\n selector: 'spx-input-text',\n standalone: true,\n imports: [\n NgIf,\n SpxDropdownComponent,\n ],\n template: `<div class=\"relative text-black\">\n <input\n #input\n class=\"font-bold text-lg w-full outline-none\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [class.bg-white]=\"!this.spxReadonly\"\n [class.bg-gray-300]=\"this.spxReadonly\"\n [class.cursor-not-allowed]=\"this.spxReadonly\"\n [class.uppercase]=\"this.spxCapitalize\"\n [attr.autocomplete]=\"this.spxAutocomplete ? this.spxAutocomplete : undefined\"\n [attr.autofocus]=\"this.spxAutofocus ? this.spxAutofocus : undefined\"\n [attr.disabled]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.inputMode]=\"this.spxInputMode ? this.spxInputMode : undefined\"\n [attr.pattern]=\"this.spxPattern ? this.spxPattern : undefined\"\n [attr.name]=\"this.spxName\"\n [attr.type]=\"this.spxType\"\n [value]=\"this.value?.description ? this.value?.description : this.value?.value\"\n (blur)=\"this.handleBlur()\"\n (keyUp)=\"this.handleKeyUp()\"\n (focus)=\"this.handleFocus()\"\n (input)=\"this.handleDescriptionInput($event)\"\n />\n <span *ngIf=\"this.value?.description && this.value?.value && this.value?.description?.valueOf() !== this.value?.value?.valueOf()\">{{this.value?.value}}</span>\n <spx-dropdown\n *ngIf=\"this.spxFocused && (this.spxType === 'overlay' || this.spxType === 'overlaynumber')\"\n [spxSuggestions]=\"this.spxSuggestions\" (spxSelect)=\"this.handleSuggestionClick($event)\">\n </spx-dropdown>\n</div>`,\n})\nexport class SpxInputTextComponent {\n // private elInput?: HTMLElement;\n // @Element() el!: HTMLElement;\n @Input() spxName?: string;\n @Input() spxAutofocus = false;\n @Input() spxAutocomplete?: string;\n @Input() spxInputMode?: string;\n @Input() spxPattern?: string;\n @Input() spxSuggestions: SpxValuePair<boolean | number | string>[] = [];\n @Input() spxReadonly = false;\n @Input() spxValidators?: any[];\n @Input() spxCapitalize = false;\n @Input() spxFocused = true;\n @Input() spxType: 'autocomplete' | 'overlay' | 'overlaynumber' | 'text' | 'password' = 'text';\n @Input() value?: SpxValuePair<any>;\n @Output() spxBlurFromChild: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Input() spxWasInternalUpdate = false;\n @ViewChild('input', { static: true }) inputRef?: ElementRef<HTMLInputElement>;\n \n \n spxSetFocus() {\n this.inputRef?.nativeElement?.focus();\n }\n\n componentDidLoad() {\n if (this.spxAutofocus) {\n this.spxFocus.emit();\n this.spxSetFocus();\n }\n }\n\n handleBlur() {\n this.spxBlurFromChild.emit();\n }\n\n handleFocus() {\n this.spxFocus.emit();\n }\n\n handleDescriptionInput(event: any) {\n this.value = {\n description: event.target ? event.target.value : null,\n value: event.target ? event.target.value : null,\n };\n this.spxChange.emit(this.value);\n }\n\n handleSuggestionClick(value: any) {\n if (!this.spxReadonly) {\n this.value = value;\n this.spxChange.emit(this.value);\n this.spxFocused = false;\n }\n }\n\n handleKeyUp() {\n this.spxFocused = true;\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxSuggestionComponent } from '@softpak/components/spx-suggestion';\nimport { DateTime } from 'luxon';\nimport { SpxValuePair } from './spx-value-interface';\n\n@Component({\n selector: 'spx-input-date',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n SpxButtonComponent,\n SpxSuggestionComponent\n ],\n template: `<div class='spx-input-date__controls'>\n <input\n class='spx-input-date__input'\n [attr.value]=\"this.spxInternalValue.years\"\n (focus)=\"this.handleFocus('years')\"\n (input)=\"this.handleYearInput($event)\"\n (keyDown)=\"this.handleKeyDown($event)\"\n [attr.type]=\"'number'\"\n [attr.min]=\"1900\"\n [attr.max]=\"2100\"\n [attr.step]=\"1\"\n />\n <div class='spx-input-date__control-label'>Year</div>\n <input\n *ngIf=\"this.spxSelectMonth\"\n class='spx-input-date__input'\n [attr.value]=\"this.spxInternalValue.months\"\n (focus)=\"this.handleFocus('months')\"\n (input)=\"this.handleMonthInput($event)\"\n (keyDown)=\"this.handleKeyDown($event)\"\n [attr.type]=\"'number'\"\n [attr.min]=\"1\"\n [attr.max]=\"12\"\n [attr.step]=\"1\" />\n <div class='spx-input-date__control-label'>Month</div>\n <input\n *ngIf=\"this.spxSelectDay\"\n class='spx-input-date__input'\n [attr.value]=\"this.spxInternalValue.days\"\n (focus)=\"this.handleFocus('days')\"\n (input)=\"this.handleDayInput($event)\"\n (keyDown)=\"this.handleKeyDown($event)\"\n [attr.type]=\"'number'\"\n [attr.min]=\"1\"\n [attr.max]=\"31\"\n [attr.step]=\"1\" />\n <div class='spx-input-date__control-label'>Days</div>\n</div>\n<div class='spx-input-date__suggestions'>\n <spx-suggestion \n *ngFor=\"let valuePair of spxSuggestions[spxSelectStep]\" \n (click)=\"this.handleSuggestionClick(valuePair.value)\">{{valuePair?.description}}</spx-suggestion>\n</div>`,\nstyles: `\n:host {\n display: block;\n}\n\n.spx-input-date__input {\n background-color: transparent;\n border: 1px solid #979797;\n border-radius: 4px;\n color: var(--spx-input--color, rgba(0, 0, 0, .9));\n box-sizing: border-box;\n font-size: 16px;\n margin-right: 10px;\n padding: 6px;\n text-align: center;\n width: 100%;\n}\n\n.spx-input-date__input:active {\n transform: scale(0.95);\n}\n\n.spx-input-date__input:focus {\n border: var(--spx-input-box--focus--border, 1px solid rgb(115, 168, 210));\n border-radius: 4px;\n outline: none;\n}\n\n.spx-input-date__control-label {\n align-items: center;\n color: rgba(0, 0, 0, .7);\n display: inline-grid;\n font-size: 13px;\n letter-spacing: 1px;\n}\n\n.spx-input-date__input::-webkit-outer-spin-button,\n.spx-input-date__input::-webkit-inner-spin-button {\n /* display: none; <- Crashes Chrome on hover */\n -webkit-appearance: none;\n margin: 0; /* <-- Apparently some margin are still there even though it's hidden */\n}\n\n.spx-input-date__input[type=number] {\n -moz-appearance:textfield; /* Firefox */\n}\n\n.spx-input-date__suggestions,\n.spx-input-date__controls {\n display: grid;\n grid-gap: 8px;\n grid-template-columns: repeat(4, 1fr);\n margin-top: 8px;\n}\n`,\n})\nexport class SpxInputDateComponent {\n private elYear?: HTMLElement;\n private elMonth?: HTMLElement;\n private elDay?: HTMLElement;\n // @Element() el!: HTMLElement;\n @Input() spxMax?: string;\n @Input() spxMin?: string;\n @Input() spxName?: string;\n @Input() spxReadonly = false;\n @Input() spxValidators?: any[];\n @Input() spxFocused = true;\n @Input() spxSelectMonth = true;\n @Input() spxSelectDay = true;\n @Input() value?: SpxValuePair<string>;\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Input() spxLastKeyPressed!: null;\n @Input() spxSelectStep: 'years' | 'days' | 'months' = 'years';\n @Input() spxInternalValue: {\n years?: number;\n months?: number;\n days?: number;\n } = {};\n @Input() spxSuggestions: {\n years: SpxValuePair<number>[];\n months: SpxValuePair<number>[];\n days: SpxValuePair<number>[];\n } = {\n years: [],\n months: [{\n description: 'Jan',\n value: 1,\n }, {\n description: 'Feb',\n value: 2,\n }, {\n description: 'Mar',\n value: 3,\n }, {\n description: 'Apr',\n value: 4,\n }, {\n description: 'May',\n value: 5,\n }, {\n description: 'Jun',\n value: 6,\n }, {\n description: 'Jul',\n value: 7,\n }, {\n description: 'Aug',\n value: 8,\n }, {\n description: 'Sep',\n value: 9,\n }, {\n description: 'Oct',\n value: 10,\n }, {\n description: 'Nov',\n value: 11,\n }, {\n description: 'Dec',\n value: 12,\n }],\n days: [],\n };\n @Input() spxWasInternalUpdate = false;\n async spxSetFocus() {\n // this.elYear.focus();\n }\n // @Watch('spxValidators') watchSpxValidators(newValue) {\n // console.log('validators', newValue);\n // }\n // @Watch('value') watchValue(newValue) {\n // if (this.spxWasInternalUpdate) {\n // this.spxWasInternalUpdate = false;\n // } else {\n // const parsedValue = DateTime.fromISO(newValue?.value);\n // this.spxInternalValue.years = parsedValue.year;\n // this.spxInternalValue.months = parsedValue.month;\n // this.spxInternalValue.days = parsedValue.day;\n // this.spxSelectStep = 'years';\n // }\n // }\n\n constructor() {\n this.suggestYears();\n }\n\n componentWillLoad() {\n const parsedValue = this.value ? DateTime.fromISO(this.value!.value) : DateTime.now();\n this.spxInternalValue.years = parsedValue.year;\n this.spxInternalValue.months = parsedValue.month;\n this.spxInternalValue.days = parsedValue.day;\n }\n\n handleDayInput(event: any) {\n this.spxInternalValue.days = event.target ? event.target.value : null;\n this.updateValue();\n }\n\n handleMonthInput(event: any) {\n this.spxInternalValue.months = event.target ? event.target.value : null;\n this.afterMonthChange();\n }\n\n afterMonthChange() {\n if (this.spxInternalValue.months!.toString().length === 2 && this.spxSelectDay && this.spxLastKeyPressed !== 38 && this.spxLastKeyPressed !== 40) {\n // this.elDay!.focus();\n }\n this.updateValue();\n }\n\n handleYearInput(event: any) {\n this.spxInternalValue.years = event.target ? event.target.value : null;\n this.afterYearChange();\n }\n\n afterYearChange() {\n if (this.spxInternalValue.years!.toString().length === 4 && this.spxSelectMonth && this.spxLastKeyPressed !== 38 && this.spxLastKeyPressed !== 40) {\n // this.elMonth!.focus();\n }\n this.updateValue();\n }\n\n handleInput(event: any) {\n this.setValue(event.target ? event.target.value : null);\n }\n\n handleFocus(step: 'years' | 'months' | 'days') {\n this.spxSelectStep = step;\n this.spxFocus.emit();\n }\n\n handleKeyDown(event: any) {\n this.spxLastKeyPressed = event.which;\n }\n\n handleSuggestionClick(value: number) {\n this.spxLastKeyPressed = null;\n this.spxInternalValue[this.spxSelectStep] = value;\n this.updateValue();\n this.doneWithField();\n }\n\n updateValue() {\n const concatenatedValue = `${this.spxInternalValue.years ? this.spxInternalValue.years : ``}${this.spxInternalValue.months ? `-${this.spxInternalValue.months < 10 ? `0${this.spxInternalValue.months}` : this.spxInternalValue.months}` : ``}${this.spxInternalValue.days ? `-${this.spxInternalValue.days < 10 ? `0${this.spxInternalValue.days}` : this.spxInternalValue.days}` : ``}`\n const parsedValue = DateTime.fromISO(concatenatedValue);\n this.spxWasInternalUpdate = true;\n this.value = {\n description: parsedValue.toISO(),\n value: parsedValue.toISO()!,\n };\n this.spxChange.emit(this.value);\n }\n\n doneWithField() {\n if (this.spxSelectStep === 'days') {\n this.spxSelectStep = 'years';\n } else if (this.spxSelectStep === 'months') {\n this.spxSelectStep = this.spxSelectDay ? 'days' : 'years';\n this.afterMonthChange();\n } else if (this.spxSelectStep === 'years') {\n this.afterYearChange();\n this.spxSelectStep = this.spxSelectMonth ? 'months' : 'years';\n }\n }\n\n setValue(value: any) {\n this.spxInternalValue = value;\n const parsed = DateTime.fromISO(value);\n this.value = {\n description: parsed.toISO(),\n value: parsed.toISO()!,\n };\n this.spxChange.emit(this.value);\n this.spxWasInternalUpdate = true;\n }\n\n private suggestYears(): void {\n this.spxSuggestions.years = [];\n for (let year = DateTime.fromISO(this.spxMin!).year; year <= DateTime.fromISO(this.spxMax!).year; year++) {\n this.spxSuggestions.years.push({\n description: `'${year.toString().substring(2,4)}`,\n value: year,\n });\n }\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\n\n@Component({\n selector: 'spx-input-float',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n SpxButtonComponent,\n ],\n template: `<div class=\"flex items-end\">\n <input\n #firstInputRef\n class=\"spx-input-float__input\"\n [attr.autofocus]=\"this.spxAutofocus ? this.spxAutofocus : undefined\"\n [attr.disabled]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.pattern]=\"'[0-9]*'\"\n [attr.step]=\"1\"\n [attr.type]=\"'text'\"\n [attr.value]=\"this.internalValue?.first ? this.internalValue?.first : undefined\"\n [class.spx-input-float--readonly]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n (focus)=\"this.handleFocus()\"\n (input)=\"this.handleInput($event, 1)\" />\n <span class=\"text-black font-bold text-2xl mx-4\">,</span>\n <input\n [attr.autofocus]=\"this.spxAutofocus ? this.spxAutofocus : undefined\"\n class=\"spx-input-float__input\"\n [class.spx-input-float--readonly]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.disabled]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.value]=\"this.internalValue?.second ? this.internalValue?.second : undefined\"\n (focus)=\"this.handleFocus()\"\n (input)=\"this.handleInput($event, 2)\"\n [attr.step]=\"1\"\n [attr.type]=\"'text'\"\n [attr.pattern]=\"'[0-9]*'\" />\n</div>`,\n styles: `\n :host {\n display: block;\n}\n\n.spx-input-float__input {\n border: 1px solid #333333;\n border-radius: 8px;\n background-color: transparent;\n box-sizing: border-box;\n color: var(--spx-input--color, rgba(0, 0, 0, .9));\n flex: 1;\n font-size: 20px;\n font-weight: bold;\n padding: 8px;\n width: 100%;\n}\n\n.spx-input-float__input:focus {\n outline: none;\n}\n `,\n})\nexport class SpxInputFloatComponent {\n // private elFirstInput?: HTMLElement;\n // private elSecondInput?: HTMLElement;\n protected internalValue: {\n first: number | null;\n second: number | null;\n } = {\n first: null,\n second: null,\n };\n // @Element() el!: HTMLStencilElement;\n @Input() spxName!: string;\n @Input() spxAutofocus = false;\n @Input() spxReadonly = false;\n @Input() spxValidators!: any[];\n @Input() spxFocused = true;\n @Input() spxStep?: number;\n @Input() value!: SpxValuePair<any>;\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Input() spxWasInternalUpdate = false;\n @Input() tick = {};\n @ViewChild('firstInputRef', { static: true }) firstInputRef?: ElementRef<HTMLInputElement>;\n \n spxSetFocus() {\n this.firstInputRef?.nativeElement?.focus();\n }\n\n // @Watch('value') onValueChanged(newValue: SpxValuePair<any>, _oldValue: SpxValuePair<any>) {\n // this.handleSetValue(newValue);\n // }\n\n componentDidLoad() {\n if (this.spxAutofocus) {\n this.spxFocus.emit();\n this.spxSetFocus();\n }\n this.handleSetValue(this.value);\n }\n\n handleFocus() {\n this.spxFocus.emit();\n }\n\n handleSetValue(newValue: SpxValuePair<any>) {\n if (this.isNumeric(newValue?.value)) {\n this.internalValue = {\n first: Math.floor(parseFloat(newValue?.value)),\n second: newValue?.value?.split ? newValue?.value.split('.')[1] : 0,\n };\n } else {\n this.internalValue = {\n first: null,\n second: null,\n };\n }\n this.tick = {};\n }\n\n handleInput(event: any, position: 1 | 2) {\n this.internalValue = {\n first: position === 1 ? (event.target ? event.target.value : null) : this.internalValue.first,\n second: position === 2 ? (event.target ? event.target.value : null) : this.internalValue.second,\n };\n let result;\n if (this.internalValue.first === null && this.internalValue.second === null) {\n result = null;\n } else {\n result = `${this.internalValue.first ? this.internalValue.first : 0}.${this.internalValue.second ? this.internalValue.second : 0}`;\n }\n this.value = {\n description: result,\n value: result,\n };\n this.spxChange.emit(this.value);\n }\n\n isNumeric(value: string) {\n return /^[+-]?\\d+(\\.\\d+)?$/.test(value);\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\n\n@Component({\n selector: 'spx-input-number',\n standalone: true,\n imports: [],\n template: `<div class=\"spx-input-number__controls\">\n <input\n #input\n class=\"spx-input-number__input\"\n [attr.autofocus]=\"this.spxAutofocus ? this.spxAutofocus : undefined\"\n [class.spx-input-number--readonly]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.disabled]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.inputMode]=\"this.spxInputMode ? this.spxInputMode : undefined\"\n [attr.value]=\"this.value?.value ? this.value?.value : undefined\"\n [attr.step]=\"this.spxStep ? this.spxStep : undefined\"\n [attr.type]=\"'number'\"\n (focus)=\"this.handleFocus()\"\n (input)=\"this.handleInput($event)\" />\n</div>`,\n styles: `\n:host {\n display: block;\n}\n\n.spx-input-number__input {\n border: 0;\n background-color: transparent;\n box-sizing: border-box;\n color: var(--spx-input--color, rgba(0, 0, 0, .9));\n font-size: 20px;\n font-weight: bold;\n margin-right: 10px;\n padding: 0;\n width: 100%;\n}\n\n.spx-input-number__input:focus {\n outline: none;\n}\n\n.spx-input-number__value {\n color: rgba(0, 0, 0, .6);\n font-size: 14px;\n}\n `,\n})\nexport class SpxInputNumberComponent {\n // private elInput?: HTMLElement;\n // @Element() el!: HTMLElement;\n @Input() spxName!: string;\n @Input() spxAutofocus = false;\n @Input() spxInputMode?: string;\n @Input() spxReadonly = false;\n @Input() spxValidators!: any[];\n @Input() spxFocused = true;\n @Input() spxStep?: number;\n @Input() value?: SpxValuePair<any>;\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @ViewChild('input', { static: true }) inputRef?: ElementRef<HTMLInputElement>;\n spxWasInternalUpdate = false;\n \n spxSetFocus() {\n this.inputRef?.nativeElement?.focus();\n }\n\n componentDidLoad() {\n if (this.spxAutofocus) {\n this.spxFocus.emit();\n this.spxSetFocus();\n }\n }\n\n handleFocus() {\n this.spxFocus.emit();\n }\n\n handleInput(event: any) {\n this.value = {\n description: event.target ? event.target.value : null,\n value: event.target ? event.target.value : null,\n };\n this.spxChange.emit(this.value);\n }\n}","import { Component, EventEmitter, Input, Output, SimpleChanges } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { NgFor } from '@angular/common';\nimport { SpxSuggestionComponent } from '@softpak/components/spx-suggestion';\nimport { Subscription, fromEvent } from 'rxjs';\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\n\n@Component({\n selector: 'spx-input-radio',\n standalone: true,\n imports: [\n NgFor,\n SpxSuggestionComponent,\n ],\n template: `<div class=\"grid grid-cols-2 gap-2\" [class.mt-3]=\"this.spxShowLabel\">\n <spx-suggestion\n *ngFor=\"let valuePair of this.cachedSuggestions; let i = index\"\n [spxDisabled]=\"this.spxReadonly\"\n [spxFocused]=\"this.spxFocused && i === this.focusPosition\"\n [spxSelected]=\"this.value?.value === valuePair?.value\"\n [spxTabbable]=\"this.focusPosition === i\"\n (click)=\"this.handleSuggestionClick($event, valuePair)\">\n {{valuePair?.description}}\n </spx-suggestion>\n </div>`,\n})\nexport class SpxInputRadioComponent {\n cachedSuggestions: SpxValuePair<any>[] = [];\n protected focusPosition = 0;\n // @Element() el!: HTMLElement;\n @Input() spxName?: string;\n @Input() spxValidators!: any[];\n @Input() spxFocused = false;\n @Input() spxShowLabel = true;\n @Input() spxReadonly = false;\n @Input() spxSuggestions: SpxValuePair<any>[] = [];\n @Input() value?: SpxValuePair<any>;\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n private subscriptionKeyUp?: Subscription;\n private subscriptionKeyDown?: Subscription;\n spxFocusIn() {\n this.listenToKeys();\n this.determineFocusPosition();\n }\n\n spxFocusOut() {\n this.subscriptionKeyDown?.unsubscribe();\n this.subscriptionKeyUp?.unsubscribe();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (\n (changes['spxSuggestions'] && JSON.stringify(changes['spxSuggestions']?.previousValue) !== JSON.stringify(changes['spxSuggestions']?.currentValue))\n ) {\n this.cachedSuggestions = changes['spxSuggestions']?.currentValue ?? [];\n }\n }\n\n handleSuggestionClick(event: Event, valuePair: SpxValuePair<any>) {\n if (this.spxReadonly) {\n console.log('spxInputRadio: clicked, but readonly');\n } else {\n console.log('spxInputRadio: clicked');\n this.select(valuePair);\n }\n }\n\n private determineFocusPosition() {\n if (this.value && this.spxSuggestions?.length) {\n const index = this.spxSuggestions.findIndex(valuePair => valuePairToValue(valuePair) === valuePairToValue(this.value));\n this.focusPosition = index >= 0 ? index : 0;\n } else {\n this.focusPosition = 0;\n }\n }\n\n private select(valuePair: SpxValuePair<string | number | boolean>): void {\n this.focusPosition = 0;\n this.value = valuePair;\n this.spxChange.emit(valuePair);\n }\n\n private listenToKeys(): void {\n this.subscriptionKeyUp = fromEvent(window, 'keyup').subscribe((event) => {\n if (((event as KeyboardEvent).key === 'ArrowUp' || (event as KeyboardEvent).key === 'ArrowLeft') && this.focusPosition > 0) {\n this.focusPosition = this.focusPosition - 1;\n this.select(this.spxSuggestions.at(this.focusPosition)!);\n event.preventDefault();\n }\n if (((event as KeyboardEvent).key === 'ArrowDown' || (event as KeyboardEvent).key === 'ArrowRight') && this.focusPosition < this.spxSuggestions.length - 1) {\n this.focusPosition = this.focusPosition + 1;\n this.select(this.spxSuggestions.at(this.focusPosition)!);\n event.preventDefault();\n }\n });\n this.subscriptionKeyDown = fromEvent(window, 'keydown').subscribe((event) => {\n if ((event as KeyboardEvent).key === 'ArrowDown' ||\n (event as KeyboardEvent).key === 'ArrowLeft' ||\n (event as KeyboardEvent).key === 'ArrowRight' ||\n (event as KeyboardEvent).key === 'ArrowUp') {\n event.preventDefault();\n }\n });\n }\n}","export enum SpxInputTypeEnum {\n autocomplete = 'autocomplete',\n button = 'button',\n date = 'date',\n float = 'float',\n hidden = 'hidden',\n overlay = 'overlay',\n overlayNumber = 'overlaynumber',\n radio = 'radio',\n number = 'number',\n password = 'password',\n text = 'text',\n textNumericKeyboard = 'textNumericKeyboard',\n time = 'time',\n}","import { NgFor, NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, Output, inject } from '@angular/core';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxDropdownComponent } from './spx-dropdown.component';\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\nimport { faXmark } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { IonicModule, ModalController } from '@ionic/angular';\n\n@Component({\n selector: 'spx-input-time-modal',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n IonicModule,\n SpxButtonComponent,\n SpxDropdownComponent,\n FontAwesomeModule,\n ],\n template: `<ion-header>\n <ion-toolbar>\n <ion-title>Select {{view}}</ion-title>\n <ion-buttons slot=\"end\">\n <spx-button [spxSeverity]=\"typeError\" (spxClick)=\"closeDialog()\">\n <fa-icon [icon]=\"faXmark\"></fa-icon>\n </spx-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n<ion-content class=\"ion-padding bg-white\">\n <!-- Uren -->\n <div class=\"custom-bg grid grid-cols-1 gap-3\">\n <div *ngIf=\"view === 'hours'\" class=\"flex-wrap gap-2\">\n <div class=\"grid grid-cols-3 md:grid-cols-4 gap-3\">\n <div *ngFor=\"let hour of hourOptions\" class=\"text-center font-bold custom-square rounded text-gray-900 text-lg p-3 w-full truncate outline-none bg-sky-100 focus:ring-sky-300 hover:bg-sky-300 active:bg-sky-300\" [class.selected]=\"value === hour\" (click)=\"onChange(hour)\">\n {{ hour }}\n </div>\n </div>\n </div>\n <!-- Minuten -->\n <div *ngIf=\"view === 'minutes'\" class=\"grid grid-cols-1 gap-3\">\n <div class=\"grid grid-cols-4 md:grid-cols-5 gap-3\">\n <div *ngFor=\"let minute of minuteOptions\" class=\"text-center font-bold custom-square rounded text-gray-900 text-lg p-3 w-ful truncate outline-none bg-sky-100 focus:ring-sky-300 hover:bg-sky-300 active:bg-sky-300\" [class.selected]=\"value === minute\" (click)=\"onChange(minute)\">\n {{ minute }}\n </div>\n </div>\n </div>\n </div>\n</ion-content>\n `,\n})\nexport class SpxInputTimeModalComponent {\n @Input() view!: 'hours' | 'minutes';\n @Input() value!: number;\n @Output() change: EventEmitter<number> = new EventEmitter<number>();\n\n faXmark = faXmark\n hourOptions = Array.from({ length: 24 }, (_, i) => i); // 0 to 23\n minuteOptions = Array.from({ length: 12 }, (_, i) => i * 5); // Minutes in incrementen van 5\n typeError = SpxSeverityEnum.error;\n\n constructor(private modalController: ModalController){\n this.hourOptions.push(this.hourOptions.shift()!);\n this.minuteOptions.push(this.minuteOptions.shift()!);\n }\n\n closeDialog() {\n this.modalController.dismiss();\n }\n\n onChange(value: number) {\n this.change.emit(value);\n console.log(value);\n this.modalController.dismiss(value);\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, Input, Output, ViewChild, inject } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxDropdownComponent } from './spx-dropdown.component';\nimport { DateTime } from 'luxon';\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\nimport { SpxInputTimeModalComponent } from './spx-input-time-modal.component';\nimport { IonicModule, ModalController } from '@ionic/angular';\n\n@Component({\n selector: 'spx-input-time',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n SpxButtonComponent,\n SpxDropdownComponent,\n IonicModule,\n ],\n styles: `\n .custom-square.selected {\n background-color: #007bff;\n color: white;\n border-color: #007bff;\n }\n .custom-bg {\n --background: #FFFFFF;\n }\n `,\n template: `<div class=\"relative text-black\">\n <div class=\"flex items-center justify-around gap-3\">\n <div class=\"grow rounded bg-gray-100 p-3 text-xl text-center font-bold\" (click)=\"openDialog('hours')\">{{ formattedHour ?? '--' }}</div>\n <div class=\"text-gray text-xl\">:</div>\n <div class=\"grow rounded bg-gray-100 p-3 text-xl text-center font-bold\" (click)=\"openDialog('minutes')\">{{ formattedMinute ?? '--' }}</div>\n </div>\n</div>`,\n})\nexport class SpxInputTimeComponent {\n // private elInput?: HTMLElement;\n // @Element() el!: HTMLElement;\n @Input() spxName?: string;\n @Input() spxAutofocus = false;\n @Input() spxInputMode?: string;\n @Input() spxPattern?: string;\n @Input() spxSuggestions: SpxValuePair<boolean | number | string>[] = [];\n @Input() spxReadonly = false;\n @Input() spxValidators?: any[];\n @Input() spxCapitalize = false;\n @Input() spxFocused = true;\n @Input() spxType!: any;\n @Input() value?: SpxValuePair<any>;\n @Output() spxBlurFromChild: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Input() spxWasInternalUpdate = false;\n @ViewChild('input', { static: true }) inputRef?: ElementRef<HTMLInputElement>;\n\n severitySuccess = SpxSeverityEnum.success;\n hourOptions = Array.from({ length: 24 }, (_, i) => i).unshift(); // 0 to 23\n minuteOptions = Array.from({ length: 12 }, (_, i) => i * 5).unshift(); // Minutes in incrementen van 5\n selectedHour: number | null = null;\n selectedMinute: number | null = null;\n\n get formattedHour() {\n return this.selectedHour !== null && this.selectedHour < 10 ? `0${this.selectedHour}` : this.selectedHour;\n }\n\n get formattedMinute() {\n return this.selectedMinute !== null && this.selectedMinute < 10 ? `0${this.selectedMinute}` : this.selectedMinute;\n }\n\n\n get hour() { return this.value?.value ? DateTime.fromISO(this.value.value).hour : null; }\n get minute() { return this.value?.value ? DateTime.fromISO(this.value.value).minute : null; }\n\n constructor(private modalController: ModalController) {}\n\n spxSetFocus() {\n this.inputRef?.nativeElement?.focus();\n }\n\n componentDidLoad() {\n if (this.spxAutofocus) {\n this.spxFocus.emit();\n this.spxSetFocus();\n }\n }\n\n handleBlur() {\n this.spxBlurFromChild.emit();\n }\n\n handleFocus() {\n this.spxFocus.emit();\n }\n\n handleDescriptionInput(event: any) {\n this.value = {\n description: event.target ? event.target.value : null,\n value: event.target ? event.target.value : null,\n };\n this.spxChange.emit(this.value);\n }\n\n handleSuggestionClick(value: any) {\n if (!this.spxReadonly) {\n this.value = value;\n this.spxChange.emit(this.value);\n this.spxFocused = false;\n }\n }\n\n handleKeyUp() {\n this.spxFocused = true;\n }\n\n async openDialog(view: 'hours' | 'minutes') {\n const modal = await this.modalController.create({\n component: SpxInputTimeModalComponent,\n componentProps: {\n value: this.value?.value ?\n (view === 'hours' ? DateTime.fromISO(this.value.value).hour : DateTime.fromISO(this.value.value).minute) : undefined,\n view,\n },\n });\n\n modal.onDidDismiss().then((data) => {\n // this.appStore.dispatch(infArticleActions.reset({}));\n\n if (view === 'hours') {\n // console.log('hours');\n // console.log(data);\n this.selectedHour = data.data;\n this.openDialog('minutes');\n this.updateValue();\n\n } else if (view === 'minutes') {\n // console.log('minutes');\n // console.log(data);\n this.selectedMinute = data.data;\n this.updateValue();\n }\n });\n\n await modal.present();\n }\n\n updateValue() {\n if (this.selectedHour !== null && this.selectedMinute !== null) {\n const formattedHour = this.selectedHour < 10 ? `0${this.selectedHour}` : this.selectedHour;\n const formattedMinute = this.selectedMinute < 10 ? `0${this.selectedMinute}` : this.selectedMinute;\n const newValue = `${formattedHour}:${formattedMinute}`;\n\n this.value = {\n description: newValue,\n value: newValue,\n };\n\n this.spxChange.emit(this.value);\n }\n }\n}\n","import { NgIf } from '@angular/common';\nimport { Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';\nimport { SpxInputBoxComponent } from './spx-input-box.component';\nimport { SpxInputTextComponent } from './spx-input-text.component';\nimport { SpxValuePair } from './spx-value-interface';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SpxInputDateComponent } from './spx-input-date.component';\nimport { SpxInputFloatComponent } from './spx-input-float.component';\nimport { SpxInputNumberComponent } from './spx-input-number.component';\nimport { SpxInputRadioComponent } from './spx-input-radio.component';\nimport { SpxInputTypeEnum } from './spx-input-type.enum';\nimport { SpxInputTimeComponent } from './spx-input-time.component';\n\n@Component({\n selector: 'spx-input',\n standalone: true,\n host: {\n '(spxChange)': 'handleChangeEvent($event)'\n },\n imports: [\n NgIf,\n SpxInputBoxComponent,\n SpxInputDateComponent,\n SpxInputFloatComponent,\n SpxInputNumberComponent,\n SpxInputRadioComponent,\n SpxInputTextComponent,\n SpxInputTimeComponent,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SpxInputComponent,\n multi: true\n }\n ],\n template: `<spx-input-box\n [spxFocused]=\"this.spxFocused\"\n [spxLabel]=\"this.spxLabel\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxRequired]=\"this.spxRequired\"\n [spxValue]=\"this.value\"\n [spxShowHelp]=\"this.spxShowHelp\"\n [spxCompact]=\"this.spxCompact\"\n [spxShowClear]=\"this.spxShowClear\"\n [spxShowEdit]=\"this.spxShowEdit\"\n [spxShowLabel]=\"this.spxShowLabel\"\n [spxShowSearch]=\"this.spxShowSearch ? this.spxShowSearch : this.spxType === 'autocomplete'\"\n [spxShowValidationMessages]=\"this.spxShowValidationMessages\"\n (spxClear)=\"this.handleClear()\"\n (spxEdit)=\"this.handleEdit()\"\n (spxHelp)=\"this.handleHelp()\"\n (spxFocus)=\"this.setFocusIn()\"\n (spxFocusOut)=\"this.setFocusOut()\"\n (spxSearch)=\"this.handleSearch()\">\n <div controls>\n <spx-input-text\n *ngIf=\"this.spxType === 'autocomplete' || this.spxType === 'overlay' || this.spxType === 'overlaynumber' || this.spxType === 'text' || this.spxType === 'password'\"\n (spxBlurFromChild)=\"this.handleBlur()\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxAutocomplete]=\"this.spxAutocomplete ? this.spxAutocomplete : undefined\"\n [spxAutofocus]=\"this.spxAutofocus\"\n [spxCapitalize]=\"this.spxCapitalize\"\n [spxFocused]=\"this.spxFocused\"\n [spxInputMode]=\"this.spxType === 'overlaynumber' ? 'numeric' : this.spxInputMode\"\n [spxName]=\"this.spxName\"\n [spxPattern]=\"this.spxType === 'overlaynumber' ? '[0-9]*' : this.spxPattern\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxSuggestions]=\"this.spxSuggestions\"\n [spxType]=\"this.spxType\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-text>\n <spx-input-date\n *ngIf=\"this.spxType === 'date'\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxFocused]=\"this.spxFocused\"\n [spxMax]=\"this.spxMax\"\n [spxMin]=\"this.spxMin\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxSelectDay]=\"this.spxSelectDay\"\n [spxSelectMonth]=\"this.spxSelectMonth\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-date>\n <spx-input-float\n *ngIf=\"this.spxType === 'float'\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxAutofocus]=\"this.spxAutofocus\"\n [spxFocused]=\"this.spxFocused\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxStep]=\"this.spxStep\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-float>\n <spx-input-number\n *ngIf=\"this.spxType === 'number'\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxAutofocus]=\"this.spxAutofocus\"\n [spxFocused]=\"this.spxFocused\"\n [spxInputMode]=\"this.spxInputMode\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxStep]=\"this.spxStep\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-number>\n <spx-input-radio\n #radioInput\n *ngIf=\"this.spxType === 'radio'\"\n (spxChange)=\"this.handleChange($event)\"\n [spxFocused]=\"this.spxFocused\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxShowLabel]=\"this.spxShowLabel\"\n [spxSuggestions]=\"this.spxSuggestions\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-radio>\n <spx-input-time\n #timeInput\n *ngIf=\"this.spxType === 'time'\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxFocused]=\"this.spxFocused\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-time>\n </div>\n <div validation-messages>\n <ng-content></ng-content>\n </div>\n</spx-input-box>`,\n})\nexport class SpxInputComponent {\n @Input() spxLabel: string = 'label';\n @Input() spxMax?: string;\n @Input() spxMin?: string;\n @Input() spxName!: string;\n @Input() spxReadonly = false;\n @Input() spxAutocomplete?: string;\n @Input() spxAutofocus = false;\n @Input() spxInputMode?: string;\n @Input() spxPattern?: string;\n @Input() spxRequired = false;\n @Input() spxSelectMonth = true;\n @Input() spxSelectDay = true;\n @Input() spxShowEdit = false;\n @Input() spxShowHelp = false;\n @Input() spxShowLabel = true;\n @Input() spxCompact = false;\n @Input() spxShowClear = true;\n @Input() spxShowSearch = false;\n @Input() spxShowValidationMessages?: boolean | null | undefined = false;\n @Input() spxStep?: number;\n @Input() spxSuggestions: SpxValuePair<boolean | number | string>[] = [];\n @Input() spxType: SpxInputTypeEnum = SpxInputTypeEnum.text;\n @Input() spxValidators!: any[];\n @Input() value!: SpxValuePair<any>;\n @Input() spxCapitalize = false;\n @Output() spxBlur: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxClear: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxEdit: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxHelp: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxSearch: EventEmitter<void> = new EventEmitter<void>();\n @ViewChild(SpxInputFloatComponent) floatInput?: SpxInputFloatComponent;\n @ViewChild(SpxInputNumberComponent) numberInput?: SpxInputNumberComponent;\n @ViewChild(SpxInputTextComponent) textInput?: SpxInputTextComponent;\n @ViewChild(SpxInputTimeComponent) timeInput?: SpxInputTimeComponent;\n @ViewChild(SpxInputRadioComponent) radioInput?: SpxInputRadioComponent;\n @Input() spxFocused = false;\n handleBlur() {\n this.spxBlur.emit();\n }\n\n handleChange(event: any) {\n this.value = event;\n this.spxChange.emit(this.value);\n }\n\n handleClear() {\n this.spxClear.emit();\n this.spxFocused = true;\n this.passFocusToControl();\n this.value = {\n description: null,\n value: null,\n };\n this.spxChange.emit(this.value);\n }\n\n handleFocus() {\n this.spxFocus.emit();\n this.spxFocused = true;\n }\n\n handleSearch() {\n this.spxSearch.emit();\n }\n\n setFocusIn() {\n this.spxFocused = true;\n this.passFocusToControl();\n }\n\n setFocusOut() {\n this.spxFocused = false;\n if (this.spxType === SpxInputTypeEnum.radio) {\n this.radioInput?.spxFocusOut();\n }\n }\n\n handleEdit() {\n this.spxEdit.emit();\n this.spxFocused = true;\n }\n \n handleHelp() {\n this.spxHelp.emit();\n this.spxFocused = true;\n }\n\n private passFocusToControl() {\n switch (this.spxType) {\n case SpxInputTypeEnum.autocomplete:\n case SpxInputTypeEnum.text:\n case SpxInputTypeEnum.overlayNumber:\n this.textInput?.spxSetFocus();\n break;\n case SpxInputTypeEnum.number:\n this.numberInput?.spxSetFocus();\n break;\n case SpxInputTypeEnum.radio:\n this.radioInput?.spxFocusIn();\n break;\n case SpxInputTypeEnum.time:\n this.timeInput?.spxSetFocus();\n break;\n }\n }\n\n private onChange: (value: any) => void = () => {/**/};\n private onTouched: () => void = () => {/**/};\n protected lastValue: any;\n\n writeValue(value: any) {\n this.value = this.lastValue = value;\n }\n\n handleChangeEvent(value: any) {\n if (value !== this.lastValue) {\n this.lastValue = value;\n this.onChange(value);\n }\n }\n\n @HostListener('focusout')\n _handleBlurEvent() {\n this.onTouched();\n }\n\n registerOnChange(fn: (value: any) => void) {\n this.onChange = fn;\n }\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":"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"}
|
|
@@ -51,7 +51,7 @@ class SpxUpdateInfoComponent {
|
|
|
51
51
|
<spx-input [formControl]="ctrlAppStoreVersion" [spxLabel]="txtAppStoreVersion | capitalize"
|
|
52
52
|
[spxReadonly]="true"></spx-input>
|
|
53
53
|
</div>
|
|
54
|
-
</form>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "component", type: SpxInputComponent, selector: "spx-input", inputs: ["spxLabel", "spxMax", "spxMin", "spxName", "spxReadonly", "spxAutofocus", "spxInputMode", "spxPattern", "spxRequired", "spxSelectMonth", "spxSelectDay", "spxShowEdit", "spxShowHelp", "spxShowLabel", "spxCompact", "spxShowClear", "spxShowSearch", "spxShowValidationMessages", "spxStep", "spxSuggestions", "spxType", "spxValidators", "value", "spxCapitalize", "spxFocused"], outputs: ["spxBlur", "spxClear", "spxChange", "spxFocus", "spxEdit", "spxHelp", "spxSearch"] }] }); }
|
|
54
|
+
</form>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "component", type: SpxInputComponent, selector: "spx-input", inputs: ["spxLabel", "spxMax", "spxMin", "spxName", "spxReadonly", "spxAutocomplete", "spxAutofocus", "spxInputMode", "spxPattern", "spxRequired", "spxSelectMonth", "spxSelectDay", "spxShowEdit", "spxShowHelp", "spxShowLabel", "spxCompact", "spxShowClear", "spxShowSearch", "spxShowValidationMessages", "spxStep", "spxSuggestions", "spxType", "spxValidators", "value", "spxCapitalize", "spxFocused"], outputs: ["spxBlur", "spxClear", "spxChange", "spxFocus", "spxEdit", "spxHelp", "spxSearch"] }] }); }
|
|
55
55
|
}
|
|
56
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: SpxUpdateInfoComponent, decorators: [{
|
|
57
57
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"softpak-components-spx-update.mjs","sources":["../../../../projects/softpak/components/spx-update/src/spx-update-info.component.ts","../../../../projects/softpak/components/spx-update/src/spx-update-progress.component.ts","../../../../projects/softpak/components/spx-update/softpak-components-spx-update.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { SpxInputComponent } from '@softpak/components/spx-inputs';\n\nconst ctrlAppStoreVersion = 'appStoreVersion';\nconst ctrlChannel = 'channel';\nconst ctrlNextVersionNumber = 'nextVersionNumber';\nconst ctrlVersionNumber = 'versionNumber';\n\n@Component({\n selector: 'spx-update-info',\n template: `<form [formGroup]=\"form\" class=\"mt-3\">\n <div class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3\">\n <spx-input [formControl]=\"ctrlVersionNumber\" [spxLabel]=\"txtVersion | capitalize\"\n [spxReadonly]=\"true\"></spx-input>\n <spx-input [formControl]=\"ctrlNextVersionNumber\" [spxLabel]=\"txtNextVersion | capitalize\"\n [spxReadonly]=\"true\"></spx-input>\n <spx-input [formControl]=\"ctrlConfiguredChannel\" [spxLabel]=\"txtChannel | capitalize\"\n [spxReadonly]=\"true\"></spx-input>\n <spx-input [formControl]=\"ctrlAppStoreVersion\" [spxLabel]=\"txtAppStoreVersion | capitalize\"\n [spxReadonly]=\"true\"></spx-input>\n </div>\n </form>`,\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SpxCapitalizePipe,\n SpxInputComponent,\n ]\n})\nexport class SpxUpdateInfoComponent {\n form!: FormGroup;\n @Input() txtAppStoreVersion!: string;\n @Input() txtChannel!: string;\n @Input() txtNextVersion!: string;\n @Input() txtVersion!: string;\n \n get ctrlVersionNumber(): FormControl { return this.form.get(ctrlVersionNumber) as FormControl; }\n get ctrlNextVersionNumber(): FormControl { return this.form.get(ctrlNextVersionNumber) as FormControl; }\n get ctrlConfiguredChannel(): FormControl { return this.form.get(ctrlChannel) as FormControl; }\n get ctrlAppStoreVersion(): FormControl { return this.form.get(ctrlAppStoreVersion) as FormControl; }\n\n constructor(\n private readonly formBuilder: FormBuilder,\n ) {\n this.form = this.formBuilder.group({\n [ctrlAppStoreVersion]: [null, []],\n [ctrlChannel]: [null, []],\n [ctrlNextVersionNumber]: [null, []],\n [ctrlVersionNumber]: [null, []],\n });\n }\n\n update(appStoreVersion: string, channel: string, nextVersion: string, version: string) {\n this.ctrlVersionNumber.setValue({\n value: version,\n });\n this.ctrlNextVersionNumber.setValue({\n value: nextVersion,\n });\n this.ctrlConfiguredChannel.setValue({\n value: channel,\n });\n this.ctrlAppStoreVersion.setValue({\n value: appStoreVersion,\n });\n }\n}\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { SpxProgressBarComponent } from '@softpak/components/spx-progress-bar';\n\n@Component({\n selector: 'spx-update-progress',\n template: `<spx-progress-bar [spxPercentage]=\"delayedPercentage\" [spxTitle]=\"title | capitalize\">\n </spx-progress-bar>`,\n standalone: true,\n imports: [\n SpxProgressBarComponent,\n SpxCapitalizePipe,\n ],\n})\nexport class SpxUpdateProgressComponent implements OnInit, OnDestroy {\n @Input() title!: string;\n @Input() percentage!: number;\n delayedPercentage!: number;\n syncTruckInterval?: any;\n \n ngOnInit(): void {\n this.startLoaderSync();\n }\n\n ngOnDestroy(): void {\n this.stopLoaderSync();\n }\n\n private startLoaderSync() {\n if (this.syncTruckInterval === null) {\n this.syncTruckInterval = setInterval(() => {\n this.delayedPercentage = this.percentage;\n }, 200);\n }\n }\n\n private stopLoaderSync() {\n if (this.syncTruckInterval !== null) {\n clearInterval(this.syncTruckInterval);\n this.syncTruckInterval = undefined;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"softpak-components-spx-update.mjs","sources":["../../../../projects/softpak/components/spx-update/src/spx-update-info.component.ts","../../../../projects/softpak/components/spx-update/src/spx-update-progress.component.ts","../../../../projects/softpak/components/spx-update/softpak-components-spx-update.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { SpxInputComponent } from '@softpak/components/spx-inputs';\n\nconst ctrlAppStoreVersion = 'appStoreVersion';\nconst ctrlChannel = 'channel';\nconst ctrlNextVersionNumber = 'nextVersionNumber';\nconst ctrlVersionNumber = 'versionNumber';\n\n@Component({\n selector: 'spx-update-info',\n template: `<form [formGroup]=\"form\" class=\"mt-3\">\n <div class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3\">\n <spx-input [formControl]=\"ctrlVersionNumber\" [spxLabel]=\"txtVersion | capitalize\"\n [spxReadonly]=\"true\"></spx-input>\n <spx-input [formControl]=\"ctrlNextVersionNumber\" [spxLabel]=\"txtNextVersion | capitalize\"\n [spxReadonly]=\"true\"></spx-input>\n <spx-input [formControl]=\"ctrlConfiguredChannel\" [spxLabel]=\"txtChannel | capitalize\"\n [spxReadonly]=\"true\"></spx-input>\n <spx-input [formControl]=\"ctrlAppStoreVersion\" [spxLabel]=\"txtAppStoreVersion | capitalize\"\n [spxReadonly]=\"true\"></spx-input>\n </div>\n </form>`,\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SpxCapitalizePipe,\n SpxInputComponent,\n ]\n})\nexport class SpxUpdateInfoComponent {\n form!: FormGroup;\n @Input() txtAppStoreVersion!: string;\n @Input() txtChannel!: string;\n @Input() txtNextVersion!: string;\n @Input() txtVersion!: string;\n \n get ctrlVersionNumber(): FormControl { return this.form.get(ctrlVersionNumber) as FormControl; }\n get ctrlNextVersionNumber(): FormControl { return this.form.get(ctrlNextVersionNumber) as FormControl; }\n get ctrlConfiguredChannel(): FormControl { return this.form.get(ctrlChannel) as FormControl; }\n get ctrlAppStoreVersion(): FormControl { return this.form.get(ctrlAppStoreVersion) as FormControl; }\n\n constructor(\n private readonly formBuilder: FormBuilder,\n ) {\n this.form = this.formBuilder.group({\n [ctrlAppStoreVersion]: [null, []],\n [ctrlChannel]: [null, []],\n [ctrlNextVersionNumber]: [null, []],\n [ctrlVersionNumber]: [null, []],\n });\n }\n\n update(appStoreVersion: string, channel: string, nextVersion: string, version: string) {\n this.ctrlVersionNumber.setValue({\n value: version,\n });\n this.ctrlNextVersionNumber.setValue({\n value: nextVersion,\n });\n this.ctrlConfiguredChannel.setValue({\n value: channel,\n });\n this.ctrlAppStoreVersion.setValue({\n value: appStoreVersion,\n });\n }\n}\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { SpxProgressBarComponent } from '@softpak/components/spx-progress-bar';\n\n@Component({\n selector: 'spx-update-progress',\n template: `<spx-progress-bar [spxPercentage]=\"delayedPercentage\" [spxTitle]=\"title | capitalize\">\n </spx-progress-bar>`,\n standalone: true,\n imports: [\n SpxProgressBarComponent,\n SpxCapitalizePipe,\n ],\n})\nexport class SpxUpdateProgressComponent implements OnInit, OnDestroy {\n @Input() title!: string;\n @Input() percentage!: number;\n delayedPercentage!: number;\n syncTruckInterval?: any;\n \n ngOnInit(): void {\n this.startLoaderSync();\n }\n\n ngOnDestroy(): void {\n this.stopLoaderSync();\n }\n\n private startLoaderSync() {\n if (this.syncTruckInterval === null) {\n this.syncTruckInterval = setInterval(() => {\n this.delayedPercentage = this.percentage;\n }, 200);\n }\n }\n\n private stopLoaderSync() {\n if (this.syncTruckInterval !== null) {\n clearInterval(this.syncTruckInterval);\n this.syncTruckInterval = undefined;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|