@softpak/components 0.2.7-beta.7 → 0.2.7-beta.8

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.
@@ -204,7 +204,6 @@ export class SpxInputComponent {
204
204
  #radioInput
205
205
  *ngIf="this.spxType === 'radio'"
206
206
  (spxChange)="this.handleChange($event)"
207
- (spxFocus)="this.handleFocus()"
208
207
  [spxFocused]="this.spxFocused"
209
208
  [spxName]="this.spxName"
210
209
  [spxReadonly]="this.spxReadonly"
@@ -335,7 +334,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
335
334
  #radioInput
336
335
  *ngIf="this.spxType === 'radio'"
337
336
  (spxChange)="this.handleChange($event)"
338
- (spxFocus)="this.handleFocus()"
339
337
  [spxFocused]="this.spxFocused"
340
338
  [spxName]="this.spxName"
341
339
  [spxReadonly]="this.spxReadonly"
@@ -444,4 +442,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
444
442
  type: HostListener,
445
443
  args: ['focusout']
446
444
  }] } });
447
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFtSW5FLE1BQU0sT0FBTyxpQkFBaUI7SUFqSTlCO1FBa0lXLGFBQVEsR0FBVyxPQUFPLENBQUM7UUFJM0IsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFHckIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsaUJBQVksR0FBRyxJQUFJ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dGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3B4SW5wdXRCb3hDb21wb25lbnQgfSBmcm9tICcuL3NweC1pbnB1dC1ib3guY29tcG9uZW50JztcbmltcG9ydCB7IFNweElucHV0VGV4dENvbXBvbmVudCB9IGZyb20gJy4vc3B4LWlucHV0LXRleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFNweFZhbHVlUGFpciB9IGZyb20gJy4vc3B4LXZhbHVlLWludGVyZmFjZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNweElucHV0RGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vc3B4LWlucHV0LWRhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNweElucHV0RmxvYXRDb21wb25lbnQgfSBmcm9tICcuL3NweC1pbnB1dC1mbG9hdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3B4SW5wdXROdW1iZXJDb21wb25lbnQgfSBmcm9tICcuL3NweC1pbnB1dC1udW1iZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNweElucHV0UmFkaW9Db21wb25lbnQgfSBmcm9tICcuL3NweC1pbnB1dC1yYWRpby5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3B4SW5wdXRUeXBlRW51bSB9IGZyb20gJy4vc3B4LWlucHV0LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBTcHhJbnB1dFRpbWVDb21wb25lbnQgfSBmcm9tICcuL3NweC1pbnB1dC10aW1lLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICAnKHNweENoYW5nZSknOiAnaGFuZGxlQ2hhbmdlRXZlbnQoJGV2ZW50KSdcbiAgfSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgU3B4SW5wdXRCb3hDb21wb25lbnQsXG4gICAgU3B4SW5wdXREYXRlQ29tcG9uZW50LFxuICAgIFNweElucHV0RmxvYXRDb21wb25lbnQsXG4gICAgU3B4SW5wdXROdW1iZXJDb21wb25lbnQsXG4gICAgU3B4SW5wdXRSYWRpb0NvbXBvbmVudCxcbiAgICBTcHhJbnB1dFRleHRDb21wb25lbnQsXG4gICAgU3B4SW5wdXRUaW1lQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBTcHhJbnB1dENvbXBvbmVudCxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICB0ZW1wbGF0ZTogYDxzcHgtaW5wdXQtYm94XG4gIFtzcHhGb2N1c2VkXT1cInRoaXMuc3B4Rm9jdXNlZFwiXG4gIFtzcHhMYWJlbF09XCJ0aGlzLnNweExhYmVsXCJcbiAgW3NweFJlYWRvbmx5XT1cInRoaXMuc3B4UmVhZG9ubHlcIlxuICBbc3B4UmVxdWlyZWRdPVwidGhpcy5zcHhSZXF1aXJlZFwiXG4gIFtzcHhWYWx1ZV09XCJ0aGlzLnZhbHVlXCJcbiAgW3NweFNob3dIZWxwXT1cInRoaXMuc3B4U2hvd0hlbHBcIlxuICBbc3B4Q29tcGFjdF09XCJ0aGlzLnNweENvbXBhY3RcIlxuICBbc3B4U2hvd0NsZWFyXT1cInRoaXMuc3B4U2hvd0NsZWFyXCJcbiAgW3NweFNob3dFZGl0XT1cInRoaXMuc3B4U2hvd0VkaXRcIlxuICBbc3B4U2hvd0xhYmVsXT1cInRoaXMuc3B4U2hvd0xhYmVsXCJcbiAgW3NweFNob3dTZWFyY2hdPVwidGhpcy5zcHhTaG93U2VhcmNoID8gdGhpcy5zcHhTaG93U2VhcmNoIDogdGhpcy5zcHhUeXBlID09PSAnYXV0b2NvbXBsZXRlJ1wiXG4gIFtzcHhTaG93VmFsaWRhdGlvbk1lc3NhZ2VzXT1cInRoaXMuc3B4U2hvd1ZhbGlkYXRpb25NZXNzYWdlc1wiXG4gIChzcHhDbGVhcik9XCJ0aGlzLmhhbmRsZUNsZWFyKClcIlxuICAoc3B4RWRpdCk9XCJ0aGlzLmhhbmRsZUVkaXQoKVwiXG4gIChzcHhIZWxwKT1cInRoaXMuaGFuZGxlSGVscCgpXCJcbiAgKHNweEZvY3VzKT1cInRoaXMuc2V0Rm9jdXNJbigpXCJcbiAgKHNweEZvY3VzT3V0KT1cInRoaXMuc2V0Rm9jdXNPdXQoKVwiXG4gIChzcHhTZWFyY2gpPVwidGhpcy5oYW5kbGVTZWFyY2goKVwiPlxuICA8ZGl2IGNvbnRyb2xzPlxuICAgIDxzcHgtaW5wdXQtdGV4dFxuICAgICAgKm5nSWY9XCJ0aGlzLnNweFR5cGUgPT09ICdhdXRvY29tcGxldGUnIHx8IHRoaXMuc3B4VHlwZSA9PT0gJ292ZXJsYXknIHx8IHRoaXMuc3B4VHlwZSA9PT0gJ292ZXJsYXludW1iZXInIHx8IHRoaXMuc3B4VHlwZSA9PT0gJ3RleHQnIHx8IHRoaXMuc3B4VHlwZSA9PT0gJ3Bhc3N3b3JkJ1wiXG4gICAgICAoc3B4Qmx1ckZyb21DaGlsZCk9XCJ0aGlzLmhhbmRsZUJsdXIoKVwiXG4gICAgICAoc3B4Q2hhbmdlKT1cInRoaXMuaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgKHNweEZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoKVwiXG4gICAgICBbc3B4QXV0b2ZvY3VzXT1cInRoaXMuc3B4QXV0b2ZvY3VzXCJcbiAgICAgIFtzcHhDYXBpdGFsaXplXT1cInRoaXMuc3B4Q2FwaXRhbGl6ZVwiXG4gICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxuICAgICAgW3NweElucHV0TW9kZV09XCJ0aGlzLnNweFR5cGUgPT09ICdvdmVybGF5bnVtYmVyJyA/ICdudW1lcmljJyA6IHRoaXMuc3B4SW5wdXRNb2RlXCJcbiAgICAgIFtzcHhOYW1lXT1cInRoaXMuc3B4TmFtZVwiXG4gICAgICBbc3B4UGF0dGVybl09XCJ0aGlzLnNweFR5cGUgPT09ICdvdmVybGF5bnVtYmVyJyA/ICdbMC05XSonIDogdGhpcy5zcHhQYXR0ZXJuXCJcbiAgICAgIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgICAgIFtzcHhTdWdnZXN0aW9uc109XCJ0aGlzLnNweFN1Z2dlc3Rpb25zXCJcbiAgICAgIFtzcHhUeXBlXT1cInRoaXMuc3B4VHlwZVwiXG4gICAgICBbc3B4VmFsaWRhdG9yc109XCJ0aGlzLnNweFZhbGlkYXRvcnNcIlxuICAgICAgW3ZhbHVlXT1cInRoaXMudmFsdWVcIlxuICAgICAgPjwvc3B4LWlucHV0LXRleHQ+XG4gICAgPHNweC1pbnB1dC1kYXRlXG4gICAgICAqbmdJZj1cInRoaXMuc3B4VHlwZSA9PT0gJ2RhdGUnXCJcbiAgICAgIChzcHhDaGFuZ2UpPVwidGhpcy5oYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAoc3B4Rm9jdXMpPVwidGhpcy5oYW5kbGVGb2N1cygpXCJcbiAgICAgIFtzcHhGb2N1c2VkXT1cInRoaXMuc3B4Rm9jdXNlZFwiXG4gICAgICBbc3B4TWF4XT1cInRoaXMuc3B4TWF4XCJcbiAgICAgIFtzcHhNaW5dPVwidGhpcy5zcHhNaW5cIlxuICAgICAgW3NweE5hbWVdPVwidGhpcy5zcHhOYW1lXCJcbiAgICAgIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgICAgIFtzcHhTZWxlY3REYXldPVwidGhpcy5zcHhTZWxlY3REYXlcIlxuICAgICAgW3NweFNlbGVjdE1vbnRoXT1cInRoaXMuc3B4U2VsZWN0TW9udGhcIlxuICAgICAgW3NweFZhbGlkYXRvcnNdPVwidGhpcy5zcHhWYWxpZGF0b3JzXCJcbiAgICAgIFt2YWx1ZV09XCJ0aGlzLnZhbHVlXCJcbiAgICA+PC9zcHgtaW5wdXQtZGF0ZT5cbiAgICA8c3B4LWlucHV0LWZsb2F0XG4gICAgICAqbmdJZj1cInRoaXMuc3B4VHlwZSA9PT0gJ2Zsb2F0J1wiXG4gICAgICAoc3B4Q2hhbmdlKT1cInRoaXMuaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgKHNweEZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoKVwiXG4gICAgICBbc3B4QXV0b2ZvY3VzXT1cInRoaXMuc3B4QXV0b2ZvY3VzXCJcbiAgICAgIFtzcHhGb2N1c2VkXT1cInRoaXMuc3B4Rm9jdXNlZFwiXG4gICAgICBbc3B4TmFtZV09XCJ0aGlzLnNweE5hbWVcIlxuICAgICAgW3NweFJlYWRvbmx5XT1cInRoaXMuc3B4UmVhZG9ubHlcIlxuICAgICAgW3NweFN0ZXBdPVwidGhpcy5zcHhTdGVwXCJcbiAgICAgIFtzcHhWYWxpZGF0b3JzXT1cInRoaXMuc3B4VmFsaWRhdG9yc1wiXG4gICAgICBbdmFsdWVdPVwidGhpcy52YWx1ZVwiXG4gICAgPjwvc3B4LWlucHV0LWZsb2F0PlxuICAgIDxzcHgtaW5wdXQtbnVtYmVyXG4gICAgICAqbmdJZj1cInRoaXMuc3B4VHlwZSA9PT0gJ251bWJlcidcIlxuICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChzcHhGb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxuICAgICAgW3NweEF1dG9mb2N1c109XCJ0aGlzLnNweEF1dG9mb2N1c1wiXG4gICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxuICAgICAgW3NweElucHV0TW9kZV09XCJ0aGlzLnNweElucHV0TW9kZVwiXG4gICAgICBbc3B4TmFtZV09XCJ0aGlzLnNweE5hbWVcIlxuICAgICAgW3NweFJlYWRvbmx5XT1cInRoaXMuc3B4UmVhZG9ubHlcIlxuICAgICAgW3NweFN0ZXBdPVwidGhpcy5zcHhTdGVwXCJcbiAgICAgIFtzcHhWYWxpZGF0b3JzXT1cInRoaXMuc3B4VmFsaWRhdG9yc1wiXG4gICAgICBbdmFsdWVdPVwidGhpcy52YWx1ZVwiXG4gICAgPjwvc3B4LWlucHV0LW51bWJlcj5cbiAgICA8c3B4LWlucHV0LXJhZGlvXG4gICAgICAjcmFkaW9JbnB1dFxuICAgICAgKm5nSWY9XCJ0aGlzLnNweFR5cGUgPT09ICdyYWRpbydcIlxuICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChzcHhGb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxuICAgICAgW3NweEZvY3VzZWRdPVwidGhpcy5zcHhGb2N1c2VkXCJcbiAgICAgIFtzcHhOYW1lXT1cInRoaXMuc3B4TmFtZVwiXG4gICAgICBbc3B4UmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seVwiXG4gICAgICBbc3B4U2hvd0xhYmVsXT1cInRoaXMuc3B4U2hvd0xhYmVsXCJcbiAgICAgIFtzcHhTdWdnZXN0aW9uc109XCJ0aGlzLnNweFN1Z2dlc3Rpb25zXCJcbiAgICAgIFtzcHhWYWxpZGF0b3JzXT1cInRoaXMuc3B4VmFsaWRhdG9yc1wiXG4gICAgICBbdmFsdWVdPVwidGhpcy52YWx1ZVwiXG4gICAgPjwvc3B4LWlucHV0LXJhZGlvPlxuICAgIDxzcHgtaW5wdXQtdGltZVxuICAgICAgI3RpbWVJbnB1dFxuICAgICAgKm5nSWY9XCJ0aGlzLnNweFR5cGUgPT09ICd0aW1lJ1wiXG4gICAgICAoc3B4Q2hhbmdlKT1cInRoaXMuaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgKHNweEZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoKVwiXG4gICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxuICAgICAgW3NweE5hbWVdPVwidGhpcy5zcHhOYW1lXCJcbiAgICAgIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgICAgIFtzcHhWYWxpZGF0b3JzXT1cInRoaXMuc3B4VmFsaWRhdG9yc1wiXG4gICAgICBbdmFsdWVdPVwidGhpcy52YWx1ZVwiXG4gICAgPjwvc3B4LWlucHV0LXRpbWU+XG4gIDwvZGl2PlxuICA8ZGl2IHZhbGlkYXRpb24tbWVzc2FnZXM+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvc3B4LWlucHV0LWJveD5gLFxufSlcbmV4cG9ydCBjbGFzcyBTcHhJbnB1dENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNweExhYmVsOiBzdHJpbmcgPSAnbGFiZWwnO1xuICBASW5wdXQoKSBzcHhNYXg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNweE1pbj86IHN0cmluZztcbiAgQElucHV0KCkgc3B4TmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgc3B4UmVhZG9ubHkgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4QXV0b2ZvY3VzID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweElucHV0TW9kZT86IHN0cmluZztcbiAgQElucHV0KCkgc3B4UGF0dGVybj86IHN0cmluZztcbiAgQElucHV0KCkgc3B4UmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4U2VsZWN0TW9udGggPSB0cnVlO1xuICBASW5wdXQoKSBzcHhTZWxlY3REYXkgPSB0cnVlO1xuICBASW5wdXQoKSBzcHhTaG93RWRpdCA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhTaG93SGVscCA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhTaG93TGFiZWwgPSB0cnVlO1xuICBASW5wdXQoKSBzcHhDb21wYWN0ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFNob3dDbGVhciA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFNob3dTZWFyY2ggPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4U2hvd1ZhbGlkYXRpb25NZXNzYWdlcz86IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFN0ZXA/OiBudW1iZXI7XG4gIEBJbnB1dCgpIHNweFN1Z2dlc3Rpb25zOiBTcHhWYWx1ZVBhaXI8Ym9vbGVhbiB8IG51bWJlciB8IHN0cmluZz5bXSA9IFtdO1xuICBASW5wdXQoKSBzcHhUeXBlOiBTcHhJbnB1dFR5cGVFbnVtID0gU3B4SW5wdXRUeXBlRW51bS50ZXh0O1xuICBASW5wdXQoKSBzcHhWYWxpZGF0b3JzITogYW55W107XG4gIEBJbnB1dCgpIHZhbHVlITogU3B4VmFsdWVQYWlyPGFueT47XG4gIEBJbnB1dCgpIHNweENhcGl0YWxpemUgPSBmYWxzZTtcbiAgQE91dHB1dCgpIHNweEJsdXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHNweENsZWFyOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBzcHhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PigpO1xuICBAT3V0cHV0KCkgc3B4Rm9jdXM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHNweEVkaXQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHNweEhlbHA6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHNweFNlYXJjaDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAVmlld0NoaWxkKFNweElucHV0RmxvYXRDb21wb25lbnQpIGZsb2F0SW5wdXQ/OiBTcHhJbnB1dEZsb2F0Q29tcG9uZW50O1xuICBAVmlld0NoaWxkKFNweElucHV0TnVtYmVyQ29tcG9uZW50KSBudW1iZXJJbnB1dD86IFNweElucHV0TnVtYmVyQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKFNweElucHV0VGV4dENvbXBvbmVudCkgdGV4dElucHV0PzogU3B4SW5wdXRUZXh0Q29tcG9uZW50O1xuICBAVmlld0NoaWxkKFNweElucHV0VGltZUNvbXBvbmVudCkgdGltZUlucHV0PzogU3B4SW5wdXRUaW1lQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKFNweElucHV0UmFkaW9Db21wb25lbnQpIHJhZGlvSW5wdXQ/OiBTcHhJbnB1dFJhZGlvQ29tcG9uZW50O1xuICBASW5wdXQoKSBzcHhGb2N1c2VkID0gZmFsc2U7XG4gIGhhbmRsZUJsdXIoKSB7XG4gICAgdGhpcy5zcHhCbHVyLmVtaXQoKTtcbiAgfVxuXG4gIGhhbmRsZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy52YWx1ZSA9IGV2ZW50O1xuICAgIHRoaXMuc3B4Q2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gIH1cblxuICBoYW5kbGVDbGVhcigpIHtcbiAgICB0aGlzLnNweENsZWFyLmVtaXQoKTtcbiAgICB0aGlzLnNweEZvY3VzZWQgPSB0cnVlO1xuICAgIHRoaXMucGFzc0ZvY3VzVG9Db250cm9sKCk7XG4gICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBudWxsLFxuICAgICAgdmFsdWU6IG51bGwsXG4gICAgfTtcbiAgICB0aGlzLnNweENoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICB9XG5cbiAgaGFuZGxlRm9jdXMoKSB7XG4gICAgdGhpcy5zcHhGb2N1cy5lbWl0KCk7XG4gICAgdGhpcy5zcHhGb2N1c2VkID0gdHJ1ZTtcbiAgfVxuXG4gIGhhbmRsZVNlYXJjaCgpIHtcbiAgICB0aGlzLnNweFNlYXJjaC5lbWl0KCk7XG4gIH1cblxuICBzZXRGb2N1c0luKCkge1xuICAgIHRoaXMuc3B4Rm9jdXNlZCA9IHRydWU7XG4gICAgdGhpcy5wYXNzRm9jdXNUb0NvbnRyb2woKTtcbiAgfVxuXG4gIHNldEZvY3VzT3V0KCkge1xuICAgIHRoaXMuc3B4Rm9jdXNlZCA9IGZhbHNlO1xuICAgIGlmICh0aGlzLnNweFR5cGUgPT09IFNweElucHV0VHlwZUVudW0ucmFkaW8pIHtcbiAgICAgIHRoaXMucmFkaW9JbnB1dD8uc3B4Rm9jdXNPdXQoKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVFZGl0KCkge1xuICAgIHRoaXMuc3B4RWRpdC5lbWl0KCk7XG4gICAgdGhpcy5zcHhGb2N1c2VkID0gdHJ1ZTtcbiAgfVxuICBcbiAgaGFuZGxlSGVscCgpIHtcbiAgICB0aGlzLnNweEhlbHAuZW1pdCgpO1xuICAgIHRoaXMuc3B4Rm9jdXNlZCA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIHBhc3NGb2N1c1RvQ29udHJvbCgpIHtcbiAgICBzd2l0Y2ggKHRoaXMuc3B4VHlwZSkge1xuICAgICAgY2FzZSBTcHhJbnB1dFR5cGVFbnVtLmF1dG9jb21wbGV0ZTpcbiAgICAgIGNhc2UgU3B4SW5wdXRUeXBlRW51bS50ZXh0OlxuICAgICAgY2FzZSBTcHhJbnB1dFR5cGVFbnVtLm92ZXJsYXlOdW1iZXI6XG4gICAgICAgIHRoaXMudGV4dElucHV0Py5zcHhTZXRGb2N1cygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU3B4SW5wdXRUeXBlRW51bS5udW1iZXI6XG4gICAgICAgIHRoaXMubnVtYmVySW5wdXQ/LnNweFNldEZvY3VzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTcHhJbnB1dFR5cGVFbnVtLnJhZGlvOlxuICAgICAgICB0aGlzLnJhZGlvSW5wdXQ/LnNweEZvY3VzSW4oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNweElucHV0VHlwZUVudW0udGltZTpcbiAgICAgICAgdGhpcy50aW1lSW5wdXQ/LnNweFNldEZvY3VzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7LyoqL307XG4gIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4gey8qKi99O1xuICBwcm90ZWN0ZWQgbGFzdFZhbHVlOiBhbnk7XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMubGFzdFZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBoYW5kbGVDaGFuZ2VFdmVudCh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmxhc3RWYWx1ZSkge1xuICAgICAgdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JylcbiAgX2hhbmRsZUJsdXJFdmVudCgpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG59XG4iXX0=
445
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFrSW5FLE1BQU0sT0FBTyxpQkFBaUI7SUFoSTlCO1FBaUlXLGFBQVEsR0FBVyxPQUFPLENBQUM7UUFJM0IsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFHckIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsaUJBQVksR0FBRyxJQUFJ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bnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNweElucHV0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcHhJbnB1dFRleHRDb21wb25lbnQgfSBmcm9tICcuL3NweC1pbnB1dC10ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcHhWYWx1ZVBhaXIgfSBmcm9tICcuL3NweC12YWx1ZS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTcHhJbnB1dERhdGVDb21wb25lbnQgfSBmcm9tICcuL3NweC1pbnB1dC1kYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcHhJbnB1dEZsb2F0Q29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtZmxvYXQuY29tcG9uZW50JztcbmltcG9ydCB7IFNweElucHV0TnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtbnVtYmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcHhJbnB1dFJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtcmFkaW8uY29tcG9uZW50JztcbmltcG9ydCB7IFNweElucHV0VHlwZUVudW0gfSBmcm9tICcuL3NweC1pbnB1dC10eXBlLmVudW0nO1xuaW1wb3J0IHsgU3B4SW5wdXRUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtdGltZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHgtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJyhzcHhDaGFuZ2UpJzogJ2hhbmRsZUNoYW5nZUV2ZW50KCRldmVudCknXG4gIH0sXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIFNweElucHV0Qm94Q29tcG9uZW50LFxuICAgIFNweElucHV0RGF0ZUNvbXBvbmVudCxcbiAgICBTcHhJbnB1dEZsb2F0Q29tcG9uZW50LFxuICAgIFNweElucHV0TnVtYmVyQ29tcG9uZW50LFxuICAgIFNweElucHV0UmFkaW9Db21wb25lbnQsXG4gICAgU3B4SW5wdXRUZXh0Q29tcG9uZW50LFxuICAgIFNweElucHV0VGltZUNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogU3B4SW5wdXRDb21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgdGVtcGxhdGU6IGA8c3B4LWlucHV0LWJveFxuICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxuICBbc3B4TGFiZWxdPVwidGhpcy5zcHhMYWJlbFwiXG4gIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgW3NweFJlcXVpcmVkXT1cInRoaXMuc3B4UmVxdWlyZWRcIlxuICBbc3B4VmFsdWVdPVwidGhpcy52YWx1ZVwiXG4gIFtzcHhTaG93SGVscF09XCJ0aGlzLnNweFNob3dIZWxwXCJcbiAgW3NweENvbXBhY3RdPVwidGhpcy5zcHhDb21wYWN0XCJcbiAgW3NweFNob3dDbGVhcl09XCJ0aGlzLnNweFNob3dDbGVhclwiXG4gIFtzcHhTaG93RWRpdF09XCJ0aGlzLnNweFNob3dFZGl0XCJcbiAgW3NweFNob3dMYWJlbF09XCJ0aGlzLnNweFNob3dMYWJlbFwiXG4gIFtzcHhTaG93U2VhcmNoXT1cInRoaXMuc3B4U2hvd1NlYXJjaCA/IHRoaXMuc3B4U2hvd1NlYXJjaCA6IHRoaXMuc3B4VHlwZSA9PT0gJ2F1dG9jb21wbGV0ZSdcIlxuICBbc3B4U2hvd1ZhbGlkYXRpb25NZXNzYWdlc109XCJ0aGlzLnNweFNob3dWYWxpZGF0aW9uTWVzc2FnZXNcIlxuICAoc3B4Q2xlYXIpPVwidGhpcy5oYW5kbGVDbGVhcigpXCJcbiAgKHNweEVkaXQpPVwidGhpcy5oYW5kbGVFZGl0KClcIlxuICAoc3B4SGVscCk9XCJ0aGlzLmhhbmRsZUhlbHAoKVwiXG4gIChzcHhGb2N1cyk9XCJ0aGlzLnNldEZvY3VzSW4oKVwiXG4gIChzcHhGb2N1c091dCk9XCJ0aGlzLnNldEZvY3VzT3V0KClcIlxuICAoc3B4U2VhcmNoKT1cInRoaXMuaGFuZGxlU2VhcmNoKClcIj5cbiAgPGRpdiBjb250cm9scz5cbiAgICA8c3B4LWlucHV0LXRleHRcbiAgICAgICpuZ0lmPVwidGhpcy5zcHhUeXBlID09PSAnYXV0b2NvbXBsZXRlJyB8fCB0aGlzLnNweFR5cGUgPT09ICdvdmVybGF5JyB8fCB0aGlzLnNweFR5cGUgPT09ICdvdmVybGF5bnVtYmVyJyB8fCB0aGlzLnNweFR5cGUgPT09ICd0ZXh0JyB8fCB0aGlzLnNweFR5cGUgPT09ICdwYXNzd29yZCdcIlxuICAgICAgKHNweEJsdXJGcm9tQ2hpbGQpPVwidGhpcy5oYW5kbGVCbHVyKClcIlxuICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChzcHhGb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxuICAgICAgW3NweEF1dG9mb2N1c109XCJ0aGlzLnNweEF1dG9mb2N1c1wiXG4gICAgICBbc3B4Q2FwaXRhbGl6ZV09XCJ0aGlzLnNweENhcGl0YWxpemVcIlxuICAgICAgW3NweEZvY3VzZWRdPVwidGhpcy5zcHhGb2N1c2VkXCJcbiAgICAgIFtzcHhJbnB1dE1vZGVdPVwidGhpcy5zcHhUeXBlID09PSAnb3ZlcmxheW51bWJlcicgPyAnbnVtZXJpYycgOiB0aGlzLnNweElucHV0TW9kZVwiXG4gICAgICBbc3B4TmFtZV09XCJ0aGlzLnNweE5hbWVcIlxuICAgICAgW3NweFBhdHRlcm5dPVwidGhpcy5zcHhUeXBlID09PSAnb3ZlcmxheW51bWJlcicgPyAnWzAtOV0qJyA6IHRoaXMuc3B4UGF0dGVyblwiXG4gICAgICBbc3B4UmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seVwiXG4gICAgICBbc3B4U3VnZ2VzdGlvbnNdPVwidGhpcy5zcHhTdWdnZXN0aW9uc1wiXG4gICAgICBbc3B4VHlwZV09XCJ0aGlzLnNweFR5cGVcIlxuICAgICAgW3NweFZhbGlkYXRvcnNdPVwidGhpcy5zcHhWYWxpZGF0b3JzXCJcbiAgICAgIFt2YWx1ZV09XCJ0aGlzLnZhbHVlXCJcbiAgICAgID48L3NweC1pbnB1dC10ZXh0PlxuICAgIDxzcHgtaW5wdXQtZGF0ZVxuICAgICAgKm5nSWY9XCJ0aGlzLnNweFR5cGUgPT09ICdkYXRlJ1wiXG4gICAgICAoc3B4Q2hhbmdlKT1cInRoaXMuaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgKHNweEZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoKVwiXG4gICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxuICAgICAgW3NweE1heF09XCJ0aGlzLnNweE1heFwiXG4gICAgICBbc3B4TWluXT1cInRoaXMuc3B4TWluXCJcbiAgICAgIFtzcHhOYW1lXT1cInRoaXMuc3B4TmFtZVwiXG4gICAgICBbc3B4UmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seVwiXG4gICAgICBbc3B4U2VsZWN0RGF5XT1cInRoaXMuc3B4U2VsZWN0RGF5XCJcbiAgICAgIFtzcHhTZWxlY3RNb250aF09XCJ0aGlzLnNweFNlbGVjdE1vbnRoXCJcbiAgICAgIFtzcHhWYWxpZGF0b3JzXT1cInRoaXMuc3B4VmFsaWRhdG9yc1wiXG4gICAgICBbdmFsdWVdPVwidGhpcy52YWx1ZVwiXG4gICAgPjwvc3B4LWlucHV0LWRhdGU+XG4gICAgPHNweC1pbnB1dC1mbG9hdFxuICAgICAgKm5nSWY9XCJ0aGlzLnNweFR5cGUgPT09ICdmbG9hdCdcIlxuICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChzcHhGb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxuICAgICAgW3NweEF1dG9mb2N1c109XCJ0aGlzLnNweEF1dG9mb2N1c1wiXG4gICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxuICAgICAgW3NweE5hbWVdPVwidGhpcy5zcHhOYW1lXCJcbiAgICAgIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgICAgIFtzcHhTdGVwXT1cInRoaXMuc3B4U3RlcFwiXG4gICAgICBbc3B4VmFsaWRhdG9yc109XCJ0aGlzLnNweFZhbGlkYXRvcnNcIlxuICAgICAgW3ZhbHVlXT1cInRoaXMudmFsdWVcIlxuICAgID48L3NweC1pbnB1dC1mbG9hdD5cbiAgICA8c3B4LWlucHV0LW51bWJlclxuICAgICAgKm5nSWY9XCJ0aGlzLnNweFR5cGUgPT09ICdudW1iZXInXCJcbiAgICAgIChzcHhDaGFuZ2UpPVwidGhpcy5oYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAoc3B4Rm9jdXMpPVwidGhpcy5oYW5kbGVGb2N1cygpXCJcbiAgICAgIFtzcHhBdXRvZm9jdXNdPVwidGhpcy5zcHhBdXRvZm9jdXNcIlxuICAgICAgW3NweEZvY3VzZWRdPVwidGhpcy5zcHhGb2N1c2VkXCJcbiAgICAgIFtzcHhJbnB1dE1vZGVdPVwidGhpcy5zcHhJbnB1dE1vZGVcIlxuICAgICAgW3NweE5hbWVdPVwidGhpcy5zcHhOYW1lXCJcbiAgICAgIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgICAgIFtzcHhTdGVwXT1cInRoaXMuc3B4U3RlcFwiXG4gICAgICBbc3B4VmFsaWRhdG9yc109XCJ0aGlzLnNweFZhbGlkYXRvcnNcIlxuICAgICAgW3ZhbHVlXT1cInRoaXMudmFsdWVcIlxuICAgID48L3NweC1pbnB1dC1udW1iZXI+XG4gICAgPHNweC1pbnB1dC1yYWRpb1xuICAgICAgI3JhZGlvSW5wdXRcbiAgICAgICpuZ0lmPVwidGhpcy5zcHhUeXBlID09PSAncmFkaW8nXCJcbiAgICAgIChzcHhDaGFuZ2UpPVwidGhpcy5oYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxuICAgICAgW3NweE5hbWVdPVwidGhpcy5zcHhOYW1lXCJcbiAgICAgIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgICAgIFtzcHhTaG93TGFiZWxdPVwidGhpcy5zcHhTaG93TGFiZWxcIlxuICAgICAgW3NweFN1Z2dlc3Rpb25zXT1cInRoaXMuc3B4U3VnZ2VzdGlvbnNcIlxuICAgICAgW3NweFZhbGlkYXRvcnNdPVwidGhpcy5zcHhWYWxpZGF0b3JzXCJcbiAgICAgIFt2YWx1ZV09XCJ0aGlzLnZhbHVlXCJcbiAgICA+PC9zcHgtaW5wdXQtcmFkaW8+XG4gICAgPHNweC1pbnB1dC10aW1lXG4gICAgICAjdGltZUlucHV0XG4gICAgICAqbmdJZj1cInRoaXMuc3B4VHlwZSA9PT0gJ3RpbWUnXCJcbiAgICAgIChzcHhDaGFuZ2UpPVwidGhpcy5oYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAoc3B4Rm9jdXMpPVwidGhpcy5oYW5kbGVGb2N1cygpXCJcbiAgICAgIFtzcHhGb2N1c2VkXT1cInRoaXMuc3B4Rm9jdXNlZFwiXG4gICAgICBbc3B4TmFtZV09XCJ0aGlzLnNweE5hbWVcIlxuICAgICAgW3NweFJlYWRvbmx5XT1cInRoaXMuc3B4UmVhZG9ubHlcIlxuICAgICAgW3NweFZhbGlkYXRvcnNdPVwidGhpcy5zcHhWYWxpZGF0b3JzXCJcbiAgICAgIFt2YWx1ZV09XCJ0aGlzLnZhbHVlXCJcbiAgICA+PC9zcHgtaW5wdXQtdGltZT5cbiAgPC9kaXY+XG4gIDxkaXYgdmFsaWRhdGlvbi1tZXNzYWdlcz5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9zcHgtaW5wdXQtYm94PmAsXG59KVxuZXhwb3J0IGNsYXNzIFNweElucHV0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgc3B4TGFiZWw6IHN0cmluZyA9ICdsYWJlbCc7XG4gIEBJbnB1dCgpIHNweE1heD86IHN0cmluZztcbiAgQElucHV0KCkgc3B4TWluPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhOYW1lITogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhSZWFkb25seSA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhBdXRvZm9jdXMgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4SW5wdXRNb2RlPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhQYXR0ZXJuPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhSZXF1aXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhTZWxlY3RNb250aCA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFNlbGVjdERheSA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFNob3dFZGl0ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFNob3dIZWxwID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFNob3dMYWJlbCA9IHRydWU7XG4gIEBJbnB1dCgpIHNweENvbXBhY3QgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4U2hvd0NsZWFyID0gdHJ1ZTtcbiAgQElucHV0KCkgc3B4U2hvd1NlYXJjaCA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhTaG93VmFsaWRhdGlvbk1lc3NhZ2VzPzogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4U3RlcD86IG51bWJlcjtcbiAgQElucHV0KCkgc3B4U3VnZ2VzdGlvbnM6IFNweFZhbHVlUGFpcjxib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nPltdID0gW107XG4gIEBJbnB1dCgpIHNweFR5cGU6IFNweElucHV0VHlwZUVudW0gPSBTcHhJbnB1dFR5cGVFbnVtLnRleHQ7XG4gIEBJbnB1dCgpIHNweFZhbGlkYXRvcnMhOiBhbnlbXTtcbiAgQElucHV0KCkgdmFsdWUhOiBTcHhWYWx1ZVBhaXI8YW55PjtcbiAgQElucHV0KCkgc3B4Q2FwaXRhbGl6ZSA9IGZhbHNlO1xuICBAT3V0cHV0KCkgc3B4Qmx1cjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc3B4Q2xlYXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHNweENoYW5nZTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPGFueT4+KCk7XG4gIEBPdXRwdXQoKSBzcHhGb2N1czogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc3B4RWRpdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc3B4SGVscDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc3B4U2VhcmNoOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBWaWV3Q2hpbGQoU3B4SW5wdXRGbG9hdENvbXBvbmVudCkgZmxvYXRJbnB1dD86IFNweElucHV0RmxvYXRDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoU3B4SW5wdXROdW1iZXJDb21wb25lbnQpIG51bWJlcklucHV0PzogU3B4SW5wdXROdW1iZXJDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoU3B4SW5wdXRUZXh0Q29tcG9uZW50KSB0ZXh0SW5wdXQ/OiBTcHhJbnB1dFRleHRDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoU3B4SW5wdXRUaW1lQ29tcG9uZW50KSB0aW1lSW5wdXQ/OiBTcHhJbnB1dFRpbWVDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoU3B4SW5wdXRSYWRpb0NvbXBvbmVudCkgcmFkaW9JbnB1dD86IFNweElucHV0UmFkaW9Db21wb25lbnQ7XG4gIEBJbnB1dCgpIHNweEZvY3VzZWQgPSBmYWxzZTtcbiAgaGFuZGxlQmx1cigpIHtcbiAgICB0aGlzLnNweEJsdXIuZW1pdCgpO1xuICB9XG5cbiAgaGFuZGxlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnZhbHVlID0gZXZlbnQ7XG4gICAgdGhpcy5zcHhDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZUNsZWFyKCkge1xuICAgIHRoaXMuc3B4Q2xlYXIuZW1pdCgpO1xuICAgIHRoaXMuc3B4Rm9jdXNlZCA9IHRydWU7XG4gICAgdGhpcy5wYXNzRm9jdXNUb0NvbnRyb2woKTtcbiAgICB0aGlzLnZhbHVlID0ge1xuICAgICAgZGVzY3JpcHRpb246IG51bGwsXG4gICAgICB2YWx1ZTogbnVsbCxcbiAgICB9O1xuICAgIHRoaXMuc3B4Q2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gIH1cblxuICBoYW5kbGVGb2N1cygpIHtcbiAgICB0aGlzLnNweEZvY3VzLmVtaXQoKTtcbiAgICB0aGlzLnNweEZvY3VzZWQgPSB0cnVlO1xuICB9XG5cbiAgaGFuZGxlU2VhcmNoKCkge1xuICAgIHRoaXMuc3B4U2VhcmNoLmVtaXQoKTtcbiAgfVxuXG4gIHNldEZvY3VzSW4oKSB7XG4gICAgdGhpcy5zcHhGb2N1c2VkID0gdHJ1ZTtcbiAgICB0aGlzLnBhc3NGb2N1c1RvQ29udHJvbCgpO1xuICB9XG5cbiAgc2V0Rm9jdXNPdXQoKSB7XG4gICAgdGhpcy5zcHhGb2N1c2VkID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuc3B4VHlwZSA9PT0gU3B4SW5wdXRUeXBlRW51bS5yYWRpbykge1xuICAgICAgdGhpcy5yYWRpb0lucHV0Py5zcHhGb2N1c091dCgpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUVkaXQoKSB7XG4gICAgdGhpcy5zcHhFZGl0LmVtaXQoKTtcbiAgICB0aGlzLnNweEZvY3VzZWQgPSB0cnVlO1xuICB9XG4gIFxuICBoYW5kbGVIZWxwKCkge1xuICAgIHRoaXMuc3B4SGVscC5lbWl0KCk7XG4gICAgdGhpcy5zcHhGb2N1c2VkID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgcGFzc0ZvY3VzVG9Db250cm9sKCkge1xuICAgIHN3aXRjaCAodGhpcy5zcHhUeXBlKSB7XG4gICAgICBjYXNlIFNweElucHV0VHlwZUVudW0uYXV0b2NvbXBsZXRlOlxuICAgICAgY2FzZSBTcHhJbnB1dFR5cGVFbnVtLnRleHQ6XG4gICAgICBjYXNlIFNweElucHV0VHlwZUVudW0ub3ZlcmxheU51bWJlcjpcbiAgICAgICAgdGhpcy50ZXh0SW5wdXQ/LnNweFNldEZvY3VzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTcHhJbnB1dFR5cGVFbnVtLm51bWJlcjpcbiAgICAgICAgdGhpcy5udW1iZXJJbnB1dD8uc3B4U2V0Rm9jdXMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNweElucHV0VHlwZUVudW0ucmFkaW86XG4gICAgICAgIHRoaXMucmFkaW9JbnB1dD8uc3B4Rm9jdXNJbigpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU3B4SW5wdXRUeXBlRW51bS50aW1lOlxuICAgICAgICB0aGlzLnRpbWVJbnB1dD8uc3B4U2V0Rm9jdXMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHsvKiovfTtcbiAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7LyoqL307XG4gIHByb3RlY3RlZCBsYXN0VmFsdWU6IGFueTtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIGhhbmRsZUNoYW5nZUV2ZW50KHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMubGFzdFZhbHVlKSB7XG4gICAgICB0aGlzLmxhc3RWYWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXNvdXQnKVxuICBfaGFuZGxlQmx1ckV2ZW50KCkge1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCkge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cbn1cbiJdfQ==
@@ -1627,7 +1627,6 @@ class SpxInputComponent {
1627
1627
  #radioInput
1628
1628
  *ngIf="this.spxType === 'radio'"
1629
1629
  (spxChange)="this.handleChange($event)"
1630
- (spxFocus)="this.handleFocus()"
1631
1630
  [spxFocused]="this.spxFocused"
1632
1631
  [spxName]="this.spxName"
1633
1632
  [spxReadonly]="this.spxReadonly"
@@ -1758,7 +1757,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
1758
1757
  #radioInput
1759
1758
  *ngIf="this.spxType === 'radio'"
1760
1759
  (spxChange)="this.handleChange($event)"
1761
- (spxFocus)="this.handleFocus()"
1762
1760
  [spxFocused]="this.spxFocused"
1763
1761
  [spxName]="this.spxName"
1764
1762
  [spxReadonly]="this.spxReadonly"
@@ -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 } from '@fortawesome/free-solid-svg-icons/faEdit';\nimport { faQuestion } from '@fortawesome/free-solid-svg-icons/faQuestion';\nimport { faSearch } from '@fortawesome/free-solid-svg-icons/faSearch';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons/faTimes';\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.spxSuggestions; 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 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'] && changes['spxSuggestions'].previousValue !== changes['spxSuggestions'].currentValue) ||\n (changes['value'] && changes['value'].previousValue !== changes['value'].currentValue)\n ) {\n // this.determineFocusPosition();\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 (spxFocus)=\"this.handleFocus()\"\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 } from '@fortawesome/free-solid-svg-icons/faEdit';\nimport { faQuestion } from '@fortawesome/free-solid-svg-icons/faQuestion';\nimport { faSearch } from '@fortawesome/free-solid-svg-icons/faSearch';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons/faTimes';\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.spxSuggestions; 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 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'] && changes['spxSuggestions'].previousValue !== changes['spxSuggestions'].currentValue) ||\n (changes['value'] && changes['value'].previousValue !== changes['value'].currentValue)\n ) {\n // this.determineFocusPosition();\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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softpak/components",
3
- "version": "0.2.7-beta.7",
3
+ "version": "0.2.7-beta.8",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "18.x.x",
@@ -58,18 +58,18 @@
58
58
  "esm": "./esm2022/spx-button/softpak-components-spx-button.mjs",
59
59
  "default": "./fesm2022/softpak-components-spx-button.mjs"
60
60
  },
61
- "./spx-card": {
62
- "types": "./spx-card/index.d.ts",
63
- "esm2022": "./esm2022/spx-card/softpak-components-spx-card.mjs",
64
- "esm": "./esm2022/spx-card/softpak-components-spx-card.mjs",
65
- "default": "./fesm2022/softpak-components-spx-card.mjs"
66
- },
67
61
  "./spx-capitalize": {
68
62
  "types": "./spx-capitalize/index.d.ts",
69
63
  "esm2022": "./esm2022/spx-capitalize/softpak-components-spx-capitalize.mjs",
70
64
  "esm": "./esm2022/spx-capitalize/softpak-components-spx-capitalize.mjs",
71
65
  "default": "./fesm2022/softpak-components-spx-capitalize.mjs"
72
66
  },
67
+ "./spx-card": {
68
+ "types": "./spx-card/index.d.ts",
69
+ "esm2022": "./esm2022/spx-card/softpak-components-spx-card.mjs",
70
+ "esm": "./esm2022/spx-card/softpak-components-spx-card.mjs",
71
+ "default": "./fesm2022/softpak-components-spx-card.mjs"
72
+ },
73
73
  "./spx-change-details": {
74
74
  "types": "./spx-change-details/index.d.ts",
75
75
  "esm2022": "./esm2022/spx-change-details/softpak-components-spx-change-details.mjs",