@softpak/components 0.0.0-beta.85 → 0.0.0-beta.89

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.
@@ -31,7 +31,7 @@ export class SpxDropdownComponent {
31
31
  this.focusPosition = this.focusPosition + 1;
32
32
  event.preventDefault();
33
33
  }
34
- if (event.key === 'Enter' && this.focusPosition) {
34
+ if (event.key === 'Enter' && this.spxSuggestions.length > 0) {
35
35
  this.select(this.spxSuggestions.at(this.focusPosition));
36
36
  event.preventDefault();
37
37
  }
@@ -54,7 +54,7 @@ export class SpxDropdownComponent {
54
54
  (click)="this.handleSuggestionClick(valuePair)"
55
55
  [attr.tabindex]="0">
56
56
  <div class="flex-1 p-1 font-bold text-lg">{{valuePair?.description}}</div>
57
- <spx-button [spxType]="'button'">Select</spx-button>
57
+ <spx-button (spfClick)="this.handleSuggestionClick(valuePair)" [spxType]="'button'">Select</spx-button>
58
58
  </div>
59
59
  </div>
60
60
  </div>`, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }] }); }
@@ -80,7 +80,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
80
80
  (click)="this.handleSuggestionClick(valuePair)"
81
81
  [attr.tabindex]="0">
82
82
  <div class="flex-1 p-1 font-bold text-lg">{{valuePair?.description}}</div>
83
- <spx-button [spxType]="'button'">Select</spx-button>
83
+ <spx-button (spfClick)="this.handleSuggestionClick(valuePair)" [spxType]="'button'">Select</spx-button>
84
84
  </div>
85
85
  </div>
86
86
  </div>`,
@@ -90,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
90
90
  }], spxSelect: [{
91
91
  type: Output
92
92
  }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC1kcm9wZG93bi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQWdDLE1BQU0sRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFFM0ksT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBMEIvQyxNQUFNLE9BQU8sb0JBQW9CO0lBeEJqQztRQXlCWSxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUNuQixtQkFBYyxHQUE4QyxFQUFFLENBQUM7UUFDOUQsY0FBUyxHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztLQXlDOUY7SUF0Q0MsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxTQUFrRDtRQUN0RSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3RFLElBQUssS0FBdUIsQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7Z0JBQzVDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixDQUFDO1lBQ0QsSUFBSyxLQUF1QixDQUFDLEdBQUcsS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDeEcsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztnQkFDNUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLENBQUM7WUFDRCxJQUFLLEtBQXVCLENBQUMsR0FBRyxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ25FLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBRSxDQUFDLENBQUM7Z0JBQ3pELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixDQUFDO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sTUFBTSxDQUFDLFNBQWtEO1FBQy9ELElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OEdBM0NVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLGdMQWhCckI7Ozs7Ozs7Ozs7Ozs7O09BY0wsNERBakJILEtBQUssbUhBQ0wsa0JBQWtCOzsyRkFrQlQsb0JBQW9CO2tCQXhCaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxJQUFJO3dCQUNKLEtBQUs7d0JBQ0wsa0JBQWtCO3FCQUNuQjtvQkFDRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7O09BY0w7aUJBQ047OEJBR1UsY0FBYztzQkFBdEIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3B4VmFsdWVQYWlyIH0gZnJvbSAnLi9zcHgtdmFsdWUtaW50ZXJmYWNlJztcbmltcG9ydCB7IFNweEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWJ1dHRvbic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHgtZHJvcGRvd24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ0ZvcixcbiAgICBTcHhCdXR0b25Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cInJlbGF0aXZlIHRleHQtYmxhY2tcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYWJzb2x1dGUgYmctZ3JheS0xMDAgbGVmdC0wIHJpZ2h0LTAgei0yMFwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdGb3I9XCJsZXQgdmFsdWVQYWlyIG9mIHRoaXMuc3B4U3VnZ2VzdGlvbnM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICBjbGFzcz1cInRleHQtYmxhY2sgYmxvY2sgdy1mdWxsIHAtMiBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMjAwIGZsZXggaXRlbXMtY2VudGVyXCJcbiAgICAgICAgW2NsYXNzLmJnLWdyYXktMTAwXT1cImkgPT09IHRoaXMuZm9jdXNQb3NpdGlvblwiXG4gICAgICAgIFtjbGFzcy5iZy13aGl0ZV09XCJpICE9PSB0aGlzLmZvY3VzUG9zaXRpb25cIlxuICAgICAgICAoY2xpY2spPVwidGhpcy5oYW5kbGVTdWdnZXN0aW9uQ2xpY2sodmFsdWVQYWlyKVwiXG4gICAgICAgIFthdHRyLnRhYmluZGV4XT1cIjBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtMSBwLTEgZm9udC1ib2xkIHRleHQtbGdcIj57e3ZhbHVlUGFpcj8uZGVzY3JpcHRpb259fTwvZGl2PlxuICAgICAgICA8c3B4LWJ1dHRvbiBbc3B4VHlwZV09XCInYnV0dG9uJ1wiPlNlbGVjdDwvc3B4LWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PmAsXG59KVxuZXhwb3J0IGNsYXNzIFNweERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByb3RlY3RlZCBmb2N1c1Bvc2l0aW9uID0gMDtcbiAgQElucHV0KCkgc3B4U3VnZ2VzdGlvbnM6IFNweFZhbHVlUGFpcjxib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nPltdID0gW107XG4gIEBPdXRwdXQoKSBzcHhTZWxlY3Q6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PigpO1xuICBzdWJzY3JpcHRpb25LZXlVcD86IFN1YnNjcmlwdGlvbjtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvS2V5VXAoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzUG9zaXRpb24gPSAwO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25LZXlVcD8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGhhbmRsZVN1Z2dlc3Rpb25DbGljayh2YWx1ZVBhaXI6IFNweFZhbHVlUGFpcjxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPikge1xuICAgIHRoaXMuc2VsZWN0KHZhbHVlUGFpcik7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRvS2V5VXAoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25LZXlVcCA9IGZyb21FdmVudCh3aW5kb3csICdrZXl1cCcpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmICgoZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCkua2V5ID09PSAnQXJyb3dVcCcgJiYgdGhpcy5mb2N1c1Bvc2l0aW9uID4gMCkge1xuICAgICAgICB0aGlzLmZvY3VzUG9zaXRpb24gPSB0aGlzLmZvY3VzUG9zaXRpb24gLSAxO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgICAgaWYgKChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5rZXkgPT09ICdBcnJvd0Rvd24nICYmIHRoaXMuZm9jdXNQb3NpdGlvbiA8IHRoaXMuc3B4U3VnZ2VzdGlvbnMubGVuZ3RoIC0gMSkge1xuICAgICAgICB0aGlzLmZvY3VzUG9zaXRpb24gPSB0aGlzLmZvY3VzUG9zaXRpb24gKyAxO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgICAgaWYgKChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5rZXkgPT09ICdFbnRlcicgJiYgdGhpcy5mb2N1c1Bvc2l0aW9uKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0KHRoaXMuc3B4U3VnZ2VzdGlvbnMuYXQodGhpcy5mb2N1c1Bvc2l0aW9uKSEpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgICAgY29uc29sZS5sb2codGhpcy5mb2N1c1Bvc2l0aW9uKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0KHZhbHVlUGFpcjogU3B4VmFsdWVQYWlyPHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+KTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c1Bvc2l0aW9uID0gMDtcbiAgICB0aGlzLnNweFNlbGVjdC5lbWl0KHZhbHVlUGFpcik7XG4gIH1cbn1cbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC1kcm9wZG93bi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQWdDLE1BQU0sRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFFM0ksT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBMEIvQyxNQUFNLE9BQU8sb0JBQW9CO0lBeEJqQztRQXlCWSxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUNuQixtQkFBYyxHQUE4QyxFQUFFLENBQUM7UUFDOUQsY0FBUyxHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztLQXlDOUY7SUF0Q0MsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxTQUFrRDtRQUN0RSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3RFLElBQUssS0FBdUIsQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7Z0JBQzVDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixDQUFDO1lBQ0QsSUFBSyxLQUF1QixDQUFDLEdBQUcsS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDeEcsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztnQkFDNUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLENBQUM7WUFDRCxJQUFLLEtBQXVCLENBQUMsR0FBRyxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDL0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFFLENBQUMsQ0FBQztnQkFDekQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLENBQUM7WUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxNQUFNLENBQUMsU0FBa0Q7UUFDL0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakMsQ0FBQzs4R0EzQ1Usb0JBQW9CO2tHQUFwQixvQkFBb0IsZ0xBaEJyQjs7Ozs7Ozs7Ozs7Ozs7T0FjTCw0REFqQkgsS0FBSyxtSEFDTCxrQkFBa0I7OzJGQWtCVCxvQkFBb0I7a0JBeEJoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLElBQUk7d0JBQ0osS0FBSzt3QkFDTCxrQkFBa0I7cUJBQ25CO29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7T0FjTDtpQkFDTjs4QkFHVSxjQUFjO3NCQUF0QixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTcHhWYWx1ZVBhaXIgfSBmcm9tICcuL3NweC12YWx1ZS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3B4QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtYnV0dG9uJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC1kcm9wZG93bicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIE5nRm9yLFxuICAgIFNweEJ1dHRvbkNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgdGV4dC1ibGFja1wiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJhYnNvbHV0ZSBiZy1ncmF5LTEwMCBsZWZ0LTAgcmlnaHQtMCB6LTIwXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0Zvcj1cImxldCB2YWx1ZVBhaXIgb2YgdGhpcy5zcHhTdWdnZXN0aW9uczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIGNsYXNzPVwidGV4dC1ibGFjayBibG9jayB3LWZ1bGwgcC0yIGJvcmRlciBib3JkZXItZ3JheS0yMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0yMDAgZmxleCBpdGVtcy1jZW50ZXJcIlxuICAgICAgICBbY2xhc3MuYmctZ3JheS0xMDBdPVwiaSA9PT0gdGhpcy5mb2N1c1Bvc2l0aW9uXCJcbiAgICAgICAgW2NsYXNzLmJnLXdoaXRlXT1cImkgIT09IHRoaXMuZm9jdXNQb3NpdGlvblwiXG4gICAgICAgIChjbGljayk9XCJ0aGlzLmhhbmRsZVN1Z2dlc3Rpb25DbGljayh2YWx1ZVBhaXIpXCJcbiAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC0xIHAtMSBmb250LWJvbGQgdGV4dC1sZ1wiPnt7dmFsdWVQYWlyPy5kZXNjcmlwdGlvbn19PC9kaXY+XG4gICAgICAgIDxzcHgtYnV0dG9uIChzcGZDbGljayk9XCJ0aGlzLmhhbmRsZVN1Z2dlc3Rpb25DbGljayh2YWx1ZVBhaXIpXCIgW3NweFR5cGVdPVwiJ2J1dHRvbidcIj5TZWxlY3Q8L3NweC1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5gLFxufSlcbmV4cG9ydCBjbGFzcyBTcHhEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcm90ZWN0ZWQgZm9jdXNQb3NpdGlvbiA9IDA7XG4gIEBJbnB1dCgpIHNweFN1Z2dlc3Rpb25zOiBTcHhWYWx1ZVBhaXI8Ym9vbGVhbiB8IG51bWJlciB8IHN0cmluZz5bXSA9IFtdO1xuICBAT3V0cHV0KCkgc3B4U2VsZWN0OiBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPGFueT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4oKTtcbiAgc3Vic2NyaXB0aW9uS2V5VXA/OiBTdWJzY3JpcHRpb247XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5Ub0tleVVwKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c1Bvc2l0aW9uID0gMDtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uS2V5VXA/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBoYW5kbGVTdWdnZXN0aW9uQ2xpY2sodmFsdWVQYWlyOiBTcHhWYWx1ZVBhaXI8c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4pIHtcbiAgICB0aGlzLnNlbGVjdCh2YWx1ZVBhaXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0tleVVwKCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uS2V5VXAgPSBmcm9tRXZlbnQod2luZG93LCAna2V5dXAnKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoKGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpLmtleSA9PT0gJ0Fycm93VXAnICYmIHRoaXMuZm9jdXNQb3NpdGlvbiA+IDApIHtcbiAgICAgICAgdGhpcy5mb2N1c1Bvc2l0aW9uID0gdGhpcy5mb2N1c1Bvc2l0aW9uIC0gMTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICAgIGlmICgoZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCkua2V5ID09PSAnQXJyb3dEb3duJyAmJiB0aGlzLmZvY3VzUG9zaXRpb24gPCB0aGlzLnNweFN1Z2dlc3Rpb25zLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgdGhpcy5mb2N1c1Bvc2l0aW9uID0gdGhpcy5mb2N1c1Bvc2l0aW9uICsgMTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICAgIGlmICgoZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCkua2V5ID09PSAnRW50ZXInICYmIHRoaXMuc3B4U3VnZ2VzdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnNlbGVjdCh0aGlzLnNweFN1Z2dlc3Rpb25zLmF0KHRoaXMuZm9jdXNQb3NpdGlvbikhKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuZm9jdXNQb3NpdGlvbik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdCh2YWx1ZVBhaXI6IFNweFZhbHVlUGFpcjxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPik6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNQb3NpdGlvbiA9IDA7XG4gICAgdGhpcy5zcHhTZWxlY3QuZW1pdCh2YWx1ZVBhaXIpO1xuICB9XG59XG4iXX0=
@@ -269,7 +269,7 @@ class SpxDropdownComponent {
269
269
  this.focusPosition = this.focusPosition + 1;
270
270
  event.preventDefault();
271
271
  }
272
- if (event.key === 'Enter' && this.focusPosition) {
272
+ if (event.key === 'Enter' && this.spxSuggestions.length > 0) {
273
273
  this.select(this.spxSuggestions.at(this.focusPosition));
274
274
  event.preventDefault();
275
275
  }
@@ -292,7 +292,7 @@ class SpxDropdownComponent {
292
292
  (click)="this.handleSuggestionClick(valuePair)"
293
293
  [attr.tabindex]="0">
294
294
  <div class="flex-1 p-1 font-bold text-lg">{{valuePair?.description}}</div>
295
- <spx-button [spxType]="'button'">Select</spx-button>
295
+ <spx-button (spfClick)="this.handleSuggestionClick(valuePair)" [spxType]="'button'">Select</spx-button>
296
296
  </div>
297
297
  </div>
298
298
  </div>`, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }] }); }
@@ -318,7 +318,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
318
318
  (click)="this.handleSuggestionClick(valuePair)"
319
319
  [attr.tabindex]="0">
320
320
  <div class="flex-1 p-1 font-bold text-lg">{{valuePair?.description}}</div>
321
- <spx-button [spxType]="'button'">Select</spx-button>
321
+ <spx-button (spfClick)="this.handleSuggestionClick(valuePair)" [spxType]="'button'">Select</spx-button>
322
322
  </div>
323
323
  </div>
324
324
  </div>`,
@@ -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.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 class=\"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\n // @Element() el: HTMLElement;\n @Input() spxFocused = false;\n @Input() spxLabel?: string;\n @Input() spxRequired?: boolean;\n @Input() spxReadonly = false;\n @Input() spxShowHelp?: boolean;\n @Input() spxCompact?: boolean;\n @Input() spxShowClear = true;\n @Input() spxShowEdit?: boolean;\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('focusout')\n handleFocusOut() {\n this.spxFocusOut.emit();\n }\n @HostListener('document:click', [\"$event\"]) handleWindowClick(ev: Event) {\n if (ev.composedPath().includes(this.elRef.nativeElement)) {\n if (!this.spxFocused) {\n this.spxFocus.emit();\n }\n } else {\n this.spxFocused = false;\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","import { NgFor, NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges, ViewChild } 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 <div\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\"\n [class.bg-gray-100]=\"i === this.focusPosition\"\n [class.bg-white]=\"i !== this.focusPosition\"\n (click)=\"this.handleSuggestionClick(valuePair)\"\n [attr.tabindex]=\"0\">\n <div class=\"flex-1 p-1 font-bold text-lg\">{{valuePair?.description}}</div>\n <spx-button [spxType]=\"'button'\">Select</spx-button>\n </div>\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.focusPosition) {\n this.select(this.spxSuggestions.at(this.focusPosition)!);\n event.preventDefault();\n }\n console.log(this.focusPosition);\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 [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 async 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, EventEmitter, Input, Output } 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 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 \n async spxSetFocus() {\n // this.elFirstInput.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, EventEmitter, Input, Output } 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 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 spxWasInternalUpdate = false;\n \n async spxSetFocus() {\n // this.elInput.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 } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { NgFor } from '@angular/common';\nimport { SpxSuggestionComponent } from '@softpak/components/spx-suggestion';\n\n@Component({\n selector: 'spx-input-radio',\n standalone: true,\n imports: [\n NgFor,\n SpxSuggestionComponent,\n ],\n template: `<div class=\"spx-input-radio__suggestions\">\n <spx-suggestion\n *ngFor=\"let valuePair of this.spxSuggestions\"\n [spxDisabled]=\"this.spxReadonly\"\n [spxSelected]=\"this.value?.value === this.valuePair?.value\"\n (click)=\"this.spxReadonly ? undefined : this.handleSuggestionClick(valuePair)\">\n {{this.valuePair?.description}}\n </spx-suggestion>\n</div>`,\n styles: `\n :host {\n display: block;\n}\n\n.spx-input-radio__suggestions {\n display: grid;\n grid-gap: 8px;\n grid-template-columns: repeat(2, 1fr);\n margin-top: 8px;\n}\n\n.spx-input-radio--readonly {\n background-color: transparent;\n border: 0;\n box-sizing: border-box;\n font-size: 20px;\n font-weight: bold;\n margin-right: 10px;\n padding: 0;\n width: 100%;\n}\n\n `,\n})\nexport class SpxInputRadioComponent {\n // @Element() el!: HTMLElement;\n @Input() spxName?: string;\n @Input() spxValidators!: any[];\n @Input() spxFocused = 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 spxWasInternalUpdate = false;\n async spxSetFocus() {\n // this.elYear.focus();\n }\n\n handleSuggestionClick(value: SpxValuePair<any>) {\n this.value = value;\n this.spxChange.emit(this.value);\n }\n}","export enum SpxInputTypeEnum {\n autocomplete = 'autocomplete',\n date = 'date',\n float = 'float',\n overlay = 'overlay',\n overlayNumber = 'overlaynumber',\n radio = 'radio',\n number = 'number',\n password = 'password',\n text = 'text',\n textNumericKeyboard = 'textNumericKeyboard',\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';\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 ],\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 [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.setFocus()\"\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 *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 [spxSuggestions]=\"this.spxSuggestions\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-radio>\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() 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(SpxInputTextComponent) textInput?: SpxInputTextComponent;\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 // this.elBox.spxSetFocus();\n }\n\n handleSearch() {\n this.spxSearch.emit();\n }\n\n public setFocus() {\n this.spxFocused = true;\n this.passFocusToControl();\n }\n\n setFocusOut() {\n this.spxFocused = false;\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 }\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":[],"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.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 class=\"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\n // @Element() el: HTMLElement;\n @Input() spxFocused = false;\n @Input() spxLabel?: string;\n @Input() spxRequired?: boolean;\n @Input() spxReadonly = false;\n @Input() spxShowHelp?: boolean;\n @Input() spxCompact?: boolean;\n @Input() spxShowClear = true;\n @Input() spxShowEdit?: boolean;\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('focusout')\n handleFocusOut() {\n this.spxFocusOut.emit();\n }\n @HostListener('document:click', [\"$event\"]) handleWindowClick(ev: Event) {\n if (ev.composedPath().includes(this.elRef.nativeElement)) {\n if (!this.spxFocused) {\n this.spxFocus.emit();\n }\n } else {\n this.spxFocused = false;\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","import { NgFor, NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges, ViewChild } 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 <div\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\"\n [class.bg-gray-100]=\"i === this.focusPosition\"\n [class.bg-white]=\"i !== this.focusPosition\"\n (click)=\"this.handleSuggestionClick(valuePair)\"\n [attr.tabindex]=\"0\">\n <div class=\"flex-1 p-1 font-bold text-lg\">{{valuePair?.description}}</div>\n <spx-button (spfClick)=\"this.handleSuggestionClick(valuePair)\" [spxType]=\"'button'\">Select</spx-button>\n </div>\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 console.log(this.focusPosition);\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 [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 async 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, EventEmitter, Input, Output } 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 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 \n async spxSetFocus() {\n // this.elFirstInput.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, EventEmitter, Input, Output } 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 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 spxWasInternalUpdate = false;\n \n async spxSetFocus() {\n // this.elInput.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 } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { NgFor } from '@angular/common';\nimport { SpxSuggestionComponent } from '@softpak/components/spx-suggestion';\n\n@Component({\n selector: 'spx-input-radio',\n standalone: true,\n imports: [\n NgFor,\n SpxSuggestionComponent,\n ],\n template: `<div class=\"spx-input-radio__suggestions\">\n <spx-suggestion\n *ngFor=\"let valuePair of this.spxSuggestions\"\n [spxDisabled]=\"this.spxReadonly\"\n [spxSelected]=\"this.value?.value === this.valuePair?.value\"\n (click)=\"this.spxReadonly ? undefined : this.handleSuggestionClick(valuePair)\">\n {{this.valuePair?.description}}\n </spx-suggestion>\n</div>`,\n styles: `\n :host {\n display: block;\n}\n\n.spx-input-radio__suggestions {\n display: grid;\n grid-gap: 8px;\n grid-template-columns: repeat(2, 1fr);\n margin-top: 8px;\n}\n\n.spx-input-radio--readonly {\n background-color: transparent;\n border: 0;\n box-sizing: border-box;\n font-size: 20px;\n font-weight: bold;\n margin-right: 10px;\n padding: 0;\n width: 100%;\n}\n\n `,\n})\nexport class SpxInputRadioComponent {\n // @Element() el!: HTMLElement;\n @Input() spxName?: string;\n @Input() spxValidators!: any[];\n @Input() spxFocused = 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 spxWasInternalUpdate = false;\n async spxSetFocus() {\n // this.elYear.focus();\n }\n\n handleSuggestionClick(value: SpxValuePair<any>) {\n this.value = value;\n this.spxChange.emit(this.value);\n }\n}","export enum SpxInputTypeEnum {\n autocomplete = 'autocomplete',\n date = 'date',\n float = 'float',\n overlay = 'overlay',\n overlayNumber = 'overlaynumber',\n radio = 'radio',\n number = 'number',\n password = 'password',\n text = 'text',\n textNumericKeyboard = 'textNumericKeyboard',\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';\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 ],\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 [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.setFocus()\"\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 *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 [spxSuggestions]=\"this.spxSuggestions\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-radio>\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() 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(SpxInputTextComponent) textInput?: SpxInputTextComponent;\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 // this.elBox.spxSetFocus();\n }\n\n handleSearch() {\n this.spxSearch.emit();\n }\n\n public setFocus() {\n this.spxFocused = true;\n this.passFocusToControl();\n }\n\n setFocusOut() {\n this.spxFocused = false;\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 }\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":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softpak/components",
3
- "version": "0.0.0-beta.85",
3
+ "version": "0.0.0-beta.89",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^17.x.x",
@@ -53,18 +53,18 @@
53
53
  "esm": "./esm2022/spx-change-details/softpak-components-spx-change-details.mjs",
54
54
  "default": "./fesm2022/softpak-components-spx-change-details.mjs"
55
55
  },
56
- "./spx-check-digit": {
57
- "types": "./spx-check-digit/index.d.ts",
58
- "esm2022": "./esm2022/spx-check-digit/softpak-components-spx-check-digit.mjs",
59
- "esm": "./esm2022/spx-check-digit/softpak-components-spx-check-digit.mjs",
60
- "default": "./fesm2022/softpak-components-spx-check-digit.mjs"
61
- },
62
56
  "./spx-channel-selection": {
63
57
  "types": "./spx-channel-selection/index.d.ts",
64
58
  "esm2022": "./esm2022/spx-channel-selection/softpak-components-spx-channel-selection.mjs",
65
59
  "esm": "./esm2022/spx-channel-selection/softpak-components-spx-channel-selection.mjs",
66
60
  "default": "./fesm2022/softpak-components-spx-channel-selection.mjs"
67
61
  },
62
+ "./spx-check-digit": {
63
+ "types": "./spx-check-digit/index.d.ts",
64
+ "esm2022": "./esm2022/spx-check-digit/softpak-components-spx-check-digit.mjs",
65
+ "esm": "./esm2022/spx-check-digit/softpak-components-spx-check-digit.mjs",
66
+ "default": "./fesm2022/softpak-components-spx-check-digit.mjs"
67
+ },
68
68
  "./spx-form-section": {
69
69
  "types": "./spx-form-section/index.d.ts",
70
70
  "esm2022": "./esm2022/spx-form-section/softpak-components-spx-form-section.mjs",