@softpak/components 0.0.0-beta.99 → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/esm2022/spx-app-expiry/public-api.mjs +6 -0
  2. package/esm2022/spx-app-expiry/softpak-components-spx-app-expiry.mjs +5 -0
  3. package/esm2022/spx-app-expiry/spx-app-expiry.component.mjs +90 -0
  4. package/esm2022/spx-app-expiry/spx-app-expiry.interface.mjs +2 -0
  5. package/esm2022/spx-app-expiry/spx-check-expiry-final-warning.interface.mjs +5 -0
  6. package/esm2022/spx-app-expiry/spx-check-expiry-happened.interface.mjs +5 -0
  7. package/esm2022/spx-app-expiry/spx-check-expiry-warning.interface.mjs +5 -0
  8. package/esm2022/spx-button/spx-button.component.mjs +18 -5
  9. package/esm2022/spx-change-details/spx-change-details.component.mjs +94 -13
  10. package/esm2022/spx-channel-selection/public-api.mjs +1 -3
  11. package/esm2022/spx-channel-selection/src/spx-welcome.component.mjs +112 -19
  12. package/esm2022/spx-check-digit/spx-check-digit.component.mjs +14 -7
  13. package/esm2022/spx-form-section/spx-form-section.component.mjs +11 -11
  14. package/esm2022/spx-form-view/spx-autocomplete-search.component.mjs +119 -0
  15. package/esm2022/spx-form-view/spx-form-field.interface.mjs +1 -1
  16. package/esm2022/spx-form-view/spx-form-view.component.mjs +119 -14
  17. package/esm2022/spx-inputs/spx-dropdown.component.mjs +7 -11
  18. package/esm2022/spx-inputs/spx-input-box.component.mjs +32 -19
  19. package/esm2022/spx-inputs/spx-input-date.component.mjs +1 -1
  20. package/esm2022/spx-inputs/spx-input-float.component.mjs +10 -5
  21. package/esm2022/spx-inputs/spx-input-number.component.mjs +10 -5
  22. package/esm2022/spx-inputs/spx-input-radio.component.mjs +93 -27
  23. package/esm2022/spx-inputs/spx-input-text.component.mjs +7 -4
  24. package/esm2022/spx-inputs/spx-input-type.enum.mjs +3 -1
  25. package/esm2022/spx-inputs/spx-input.component.mjs +34 -8
  26. package/esm2022/spx-navigation/spx-home-tile.component.mjs +3 -3
  27. package/esm2022/spx-navigation/spx-home-tiles.component.mjs +14 -5
  28. package/esm2022/spx-navigation/spx-navigation.component.mjs +6 -3
  29. package/esm2022/spx-number-check/spx-number-check.component.mjs +1 -4
  30. package/esm2022/spx-suggestion/spx-suggestion.component.mjs +30 -16
  31. package/esm2022/spx-update/src/spx-update-info.component.mjs +1 -1
  32. package/esm2022/spx-validation/public-api.mjs +1 -2
  33. package/esm2022/spx-validation/spx-validate-control.component.mjs +8 -3
  34. package/fesm2022/softpak-components-spx-app-expiry.mjs +107 -0
  35. package/fesm2022/softpak-components-spx-app-expiry.mjs.map +1 -0
  36. package/fesm2022/softpak-components-spx-button.mjs +17 -4
  37. package/fesm2022/softpak-components-spx-button.mjs.map +1 -1
  38. package/fesm2022/softpak-components-spx-change-details.mjs +94 -13
  39. package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -1
  40. package/fesm2022/softpak-components-spx-channel-selection.mjs +109 -97
  41. package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -1
  42. package/fesm2022/softpak-components-spx-check-digit.mjs +13 -6
  43. package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
  44. package/fesm2022/softpak-components-spx-form-section.mjs +10 -10
  45. package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
  46. package/fesm2022/softpak-components-spx-form-view.mjs +229 -14
  47. package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -1
  48. package/fesm2022/softpak-components-spx-inputs.mjs +185 -70
  49. package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
  50. package/fesm2022/softpak-components-spx-navigation.mjs +19 -7
  51. package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
  52. package/fesm2022/softpak-components-spx-number-check.mjs +0 -3
  53. package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -1
  54. package/fesm2022/softpak-components-spx-suggestion.mjs +29 -15
  55. package/fesm2022/softpak-components-spx-suggestion.mjs.map +1 -1
  56. package/fesm2022/softpak-components-spx-update.mjs +1 -1
  57. package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
  58. package/fesm2022/softpak-components-spx-validation.mjs +8 -28
  59. package/fesm2022/softpak-components-spx-validation.mjs.map +1 -1
  60. package/package.json +16 -9
  61. package/spx-app-expiry/index.d.ts +5 -0
  62. package/spx-app-expiry/public-api.d.ts +5 -0
  63. package/spx-app-expiry/spx-app-expiry.component.d.ts +21 -0
  64. package/spx-app-expiry/spx-app-expiry.interface.d.ts +7 -0
  65. package/spx-app-expiry/spx-check-expiry-final-warning.interface.d.ts +2 -0
  66. package/spx-app-expiry/spx-check-expiry-happened.interface.d.ts +2 -0
  67. package/spx-app-expiry/spx-check-expiry-warning.interface.d.ts +2 -0
  68. package/spx-button/spx-button.component.d.ts +4 -2
  69. package/spx-change-details/spx-change-details.component.d.ts +27 -4
  70. package/spx-channel-selection/public-api.d.ts +0 -2
  71. package/spx-channel-selection/src/spx-welcome.component.d.ts +37 -8
  72. package/spx-check-digit/spx-check-digit.component.d.ts +3 -1
  73. package/spx-form-view/spx-autocomplete-search.component.d.ts +43 -0
  74. package/spx-form-view/spx-form-field.interface.d.ts +2 -0
  75. package/spx-form-view/spx-form-view.component.d.ts +23 -2
  76. package/spx-inputs/spx-input-box.component.d.ts +8 -5
  77. package/spx-inputs/spx-input-float.component.d.ts +3 -2
  78. package/spx-inputs/spx-input-number.component.d.ts +3 -2
  79. package/spx-inputs/spx-input-radio.component.d.ts +13 -5
  80. package/spx-inputs/spx-input-text.component.d.ts +1 -1
  81. package/spx-inputs/spx-input-type.enum.d.ts +2 -0
  82. package/spx-inputs/spx-input.component.d.ts +9 -2
  83. package/spx-navigation/spx-home-tiles.component.d.ts +2 -1
  84. package/spx-navigation/spx-navigation.component.d.ts +2 -1
  85. package/spx-suggestion/spx-suggestion.component.d.ts +3 -2
  86. package/spx-validation/public-api.d.ts +0 -1
  87. package/spx-validation/spx-validate-control.component.d.ts +1 -1
  88. package/tailwind.css +1 -1
  89. package/esm2022/spx-channel-selection/src/spx-channel-selection.component.mjs +0 -41
  90. package/esm2022/spx-channel-selection/src/spx-company-selection.component.mjs +0 -49
  91. package/esm2022/spx-validation/spx-validation.module.mjs +0 -28
  92. package/spx-channel-selection/src/spx-channel-selection.component.d.ts +0 -12
  93. package/spx-channel-selection/src/spx-company-selection.component.d.ts +0 -13
  94. package/spx-validation/spx-validation.module.d.ts +0 -9
@@ -1,12 +1,16 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
3
- import { SpxInputTypeEnum } from '@softpak/components/spx-inputs';
4
- import { SpxFormSectionI } from '@softpak/components/spx-form-view';
3
+ import { SpxInputTypeEnum, SpxValuePair } from '@softpak/components/spx-inputs';
4
+ import { SpxFormFieldI, SpxFormSectionI } from '@softpak/components/spx-form-view';
5
5
  import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
6
6
  import { SpxChangeDetailsValueI } from './spx-change-details-value.interface';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare const sectionChangeDetails = "changeDetails";
9
+ export declare const ctrlContainerNumber = "containerNumber";
10
+ export declare const ctrlContainerPrefix = "containerPrefix";
11
+ export declare const ctrlContainerSeqNr = "containerSeqNr";
9
12
  export declare const ctrlContainerType = "containerType";
13
+ export declare const ctrlCustomer = "customer";
10
14
  export declare const ctrlTonsTested = "tonsTested";
11
15
  export declare const ctrlLicensePlate = "licensePlate";
12
16
  export declare const ctrlCategory = "category";
@@ -16,9 +20,17 @@ export declare class SpxChangeDetailsComponent {
16
20
  showCategory: boolean;
17
21
  suggestions: any;
18
22
  txtCategory: string;
23
+ txtContainerNumber: string;
24
+ txtContainerPrefix: string;
19
25
  txtContainerType: string;
26
+ txtCustomer: string;
20
27
  txtLicensePlate: string;
21
28
  txtTonsTested: string;
29
+ spxBlurCategory: EventEmitter<SpxValuePair<string>>;
30
+ spxBlurContainerType: EventEmitter<SpxValuePair<string>>;
31
+ spxSearchCategory: EventEmitter<SpxValuePair<string>>;
32
+ spxSearchContainerType: EventEmitter<SpxValuePair<string>>;
33
+ spxSearchTonsTested: EventEmitter<SpxValuePair<string>>;
22
34
  submit: EventEmitter<SpxChangeDetailsValueI>;
23
35
  inputTypeAutocomplete: SpxInputTypeEnum;
24
36
  inputTypeRadio: SpxInputTypeEnum;
@@ -26,15 +38,26 @@ export declare class SpxChangeDetailsComponent {
26
38
  severitySuccess: SpxSeverityEnum;
27
39
  sections: SpxFormSectionI[];
28
40
  get ctrlCategory(): FormControl;
41
+ get ctrlCustomer(): FormControl;
29
42
  get ctrlContainerType(): FormControl;
30
43
  get ctrlLicensePlate(): FormControl;
31
44
  get ctrlTonsTested(): FormControl;
32
- private inputChanges?;
45
+ private subContainerType?;
33
46
  constructor(formBuilder: FormBuilder);
34
47
  createForm(): FormGroup;
48
+ ngOnInit(): void;
35
49
  ngOnDestroy(): void;
36
50
  getRawValidators(formControl: FormControl): any;
51
+ onBlur(data: {
52
+ field: SpxFormFieldI;
53
+ valuePair: SpxValuePair<any>;
54
+ }): void;
55
+ onSearch(data: {
56
+ field: SpxFormFieldI;
57
+ valuePair: SpxValuePair<any>;
58
+ }): void;
37
59
  onSubmit(): void;
60
+ private listenToContainerType;
38
61
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxChangeDetailsComponent, never>;
39
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxChangeDetailsComponent, "spx-change-details", never, { "formGroup": { "alias": "formGroup"; "required": false; }; "showCategory": { "alias": "showCategory"; "required": false; }; "suggestions": { "alias": "suggestions"; "required": false; }; "txtCategory": { "alias": "txtCategory"; "required": false; }; "txtContainerType": { "alias": "txtContainerType"; "required": false; }; "txtLicensePlate": { "alias": "txtLicensePlate"; "required": false; }; "txtTonsTested": { "alias": "txtTonsTested"; "required": false; }; }, { "submit": "submit"; }, never, never, true, never>;
62
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxChangeDetailsComponent, "spx-change-details", never, { "formGroup": { "alias": "formGroup"; "required": false; }; "showCategory": { "alias": "showCategory"; "required": false; }; "suggestions": { "alias": "suggestions"; "required": false; }; "txtCategory": { "alias": "txtCategory"; "required": false; }; "txtContainerNumber": { "alias": "txtContainerNumber"; "required": false; }; "txtContainerPrefix": { "alias": "txtContainerPrefix"; "required": false; }; "txtContainerType": { "alias": "txtContainerType"; "required": false; }; "txtCustomer": { "alias": "txtCustomer"; "required": false; }; "txtLicensePlate": { "alias": "txtLicensePlate"; "required": false; }; "txtTonsTested": { "alias": "txtTonsTested"; "required": false; }; }, { "spxBlurCategory": "spxBlurCategory"; "spxBlurContainerType": "spxBlurContainerType"; "spxSearchCategory": "spxSearchCategory"; "spxSearchContainerType": "spxSearchContainerType"; "spxSearchTonsTested": "spxSearchTonsTested"; "submit": "submit"; }, never, never, true, never>;
40
63
  }
@@ -1,4 +1,2 @@
1
1
  export * from './src/spx-channel-indicator.component';
2
- export * from './src/spx-channel-selection.component';
3
- export * from './src/spx-company-selection.component';
4
2
  export * from './src/spx-welcome.component';
@@ -1,12 +1,41 @@
1
- import { EventEmitter } from '@angular/core';
2
- import { SpxAppChannelI } from '@softpak/components/spx-app-configuration';
1
+ import { EventEmitter, OnChanges, SimpleChanges, OnInit, OnDestroy } from '@angular/core';
2
+ import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
3
+ import { SpxAppChannelI, SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';
4
+ import { SpxFormSectionI } from '@softpak/components/spx-form-view';
5
+ import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
6
+ import { SpxValuePair } from '@softpak/components/spx-inputs';
3
7
  import * as i0 from "@angular/core";
4
- export declare class SpxWelcomeComponent {
8
+ export declare const sectionWelcome = "welcome";
9
+ export declare const ctrlChannel = "channel";
10
+ export declare const ctrlChannelType = "channelType";
11
+ export interface SpxWelcomeValueI {
12
+ [ctrlChannel]?: SpxAppChannelI;
13
+ [ctrlChannelType]: SpxAppChannelTypeEnum;
14
+ }
15
+ export declare class SpxWelcomeComponent implements OnChanges, OnInit, OnDestroy {
16
+ readonly formBuilder: FormBuilder;
5
17
  channels?: SpxAppChannelI[];
6
- spxSelected: EventEmitter<SpxAppChannelI>;
7
- get filteredChannels(): SpxAppChannelI[];
8
- constructor();
9
- onSelectChannel(channel: SpxAppChannelI): void;
18
+ channelTypes?: SpxAppChannelTypeEnum[];
19
+ formGroup: FormGroup;
20
+ txtChannel: string;
21
+ txtCompany: string;
22
+ spxSelect: EventEmitter<SpxWelcomeValueI>;
23
+ severitySuccess: SpxSeverityEnum;
24
+ suggestions: {
25
+ [ctrlChannelType]?: SpxValuePair<string>[];
26
+ [ctrlChannel]?: SpxValuePair<string>[];
27
+ };
28
+ get ctrlChannel(): FormControl;
29
+ get ctrlChannelType(): FormControl;
30
+ private subscriptions;
31
+ sections: SpxFormSectionI[];
32
+ get filteredCompanies(): SpxValuePair<string>[];
33
+ constructor(formBuilder: FormBuilder);
34
+ ngOnChanges(changes: SimpleChanges): void;
35
+ ngOnDestroy(): void;
36
+ ngOnInit(): void;
37
+ onSubmit(): void;
38
+ createForm(): FormGroup;
10
39
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxWelcomeComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxWelcomeComponent, "spx-welcome", never, { "channels": { "alias": "channels"; "required": false; }; }, { "spxSelected": "spxSelected"; }, never, never, true, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxWelcomeComponent, "spx-welcome", never, { "channels": { "alias": "channels"; "required": false; }; "channelTypes": { "alias": "channelTypes"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "txtChannel": { "alias": "txtChannel"; "required": false; }; "txtCompany": { "alias": "txtCompany"; "required": false; }; }, { "spxSelect": "spxSelect"; }, never, never, true, never>;
12
41
  }
@@ -1,11 +1,12 @@
1
1
  import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
2
- import { SpxInputTypeEnum } from '@softpak/components/spx-inputs';
2
+ import { SpxInputComponent, SpxInputTypeEnum } from '@softpak/components/spx-inputs';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class SpxCheckDigitComponent {
5
5
  private readonly formBuilder;
6
6
  txtCheckDigit: string;
7
7
  txtContainer: string;
8
8
  txtPrefix: string;
9
+ ctrlContainerNumberRef?: SpxInputComponent;
9
10
  inputTypeOverlayNumber: SpxInputTypeEnum;
10
11
  inputTypeText: SpxInputTypeEnum;
11
12
  formGroup: FormGroup;
@@ -15,6 +16,7 @@ export declare class SpxCheckDigitComponent {
15
16
  private inputChanges?;
16
17
  constructor(formBuilder: FormBuilder);
17
18
  ngOnInit(): void;
19
+ ngAfterViewInit(): void;
18
20
  ngOnDestroy(): void;
19
21
  getRawValidators(formControl: FormControl): any;
20
22
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxCheckDigitComponent, never>;
@@ -0,0 +1,43 @@
1
+ import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
+ import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
3
+ import { SpxInputTypeEnum, SpxValuePair } from '@softpak/components/spx-inputs';
4
+ import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
5
+ import { SpxFormFieldI } from './spx-form-field.interface';
6
+ import { SpxFormSectionI } from './spx-form-section.interface';
7
+ import * as i0 from "@angular/core";
8
+ export declare const sectionAutocompleteSearch = "autocompleteSearch";
9
+ export declare const ctrlQuery = "query";
10
+ export declare const ctrlOptions = "options";
11
+ export declare class SpxAutocompleteSearchComponent implements OnInit, OnDestroy {
12
+ readonly formBuilder: FormBuilder;
13
+ formGroup: FormGroup;
14
+ spxSuggestions: SpxValuePair<any>[];
15
+ spxField: SpxFormFieldI;
16
+ txtOptions: string;
17
+ txtQuery: string;
18
+ txtSubmit: string;
19
+ spxValuePair: SpxValuePair<any>;
20
+ spxCancel: EventEmitter<void>;
21
+ spxSearch: EventEmitter<SpxValuePair<any>>;
22
+ spxSubmit: EventEmitter<SpxValuePair<any>>;
23
+ inputTypeRadio: SpxInputTypeEnum;
24
+ inputTypeText: SpxInputTypeEnum;
25
+ severityError: SpxSeverityEnum;
26
+ severitySuccess: SpxSeverityEnum;
27
+ sections: SpxFormSectionI[];
28
+ get ctrlQuery(): FormControl;
29
+ get ctrlOptions(): FormControl;
30
+ private subSelection?;
31
+ private subQuery?;
32
+ constructor(formBuilder: FormBuilder);
33
+ ngOnInit(): void;
34
+ ngOnDestroy(): void;
35
+ private createForm;
36
+ getRawValidators(formControl: FormControl): any;
37
+ onCancel(): void;
38
+ onSubmit(): void;
39
+ private listenToQuery;
40
+ private listenToSelection;
41
+ static ɵfac: i0.ɵɵFactoryDeclaration<SpxAutocompleteSearchComponent, never>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxAutocompleteSearchComponent, "spx-autocomplete-search", never, { "spxSuggestions": { "alias": "spxSuggestions"; "required": false; }; "spxField": { "alias": "spxField"; "required": false; }; "txtOptions": { "alias": "txtOptions"; "required": false; }; "txtQuery": { "alias": "txtQuery"; "required": false; }; "txtSubmit": { "alias": "txtSubmit"; "required": false; }; "spxValuePair": { "alias": "spxValuePair"; "required": false; }; }, { "spxCancel": "spxCancel"; "spxSearch": "spxSearch"; "spxSubmit": "spxSubmit"; }, never, never, true, never>;
43
+ }
@@ -1,3 +1,4 @@
1
+ import { SpxSeverityEnum } from "@softpak/components/spx-helpers";
1
2
  import { SpxInputTypeEnum, SpxValuePair } from "@softpak/components/spx-inputs";
2
3
  export interface SpxFormFieldI {
3
4
  afterValueChange?: (value: SpxValuePair<string | number | boolean | any>) => void;
@@ -7,6 +8,7 @@ export interface SpxFormFieldI {
7
8
  key: string;
8
9
  label?: () => string;
9
10
  readonly?: () => boolean;
11
+ severity?: () => SpxSeverityEnum;
10
12
  show?: () => boolean;
11
13
  step?: () => number;
12
14
  suggestions?: () => boolean;
@@ -1,5 +1,6 @@
1
+ import { EventEmitter, QueryList } from '@angular/core';
1
2
  import { SpxFormSectionI } from './spx-form-section.interface';
2
- import { SpxInputTypeEnum } from '@softpak/components/spx-inputs';
3
+ import { SpxInputComponent, SpxInputTypeEnum, SpxValuePair } from '@softpak/components/spx-inputs';
3
4
  import { AbstractControl, FormBuilder, FormGroup } from '@angular/forms';
4
5
  import { SpxFormFieldI } from './spx-form-field.interface';
5
6
  import * as i0 from "@angular/core";
@@ -8,7 +9,21 @@ export declare class SpxFormViewComponent {
8
9
  spxFormGroup: FormGroup;
9
10
  spxSections: SpxFormSectionI[];
10
11
  spxSuggestions: any;
12
+ spxBlur: EventEmitter<{
13
+ field: SpxFormFieldI;
14
+ valuePair: SpxValuePair<any>;
15
+ }>;
16
+ spxClick: EventEmitter<{
17
+ field: SpxFormFieldI;
18
+ }>;
19
+ spxSearch: EventEmitter<{
20
+ field: SpxFormFieldI;
21
+ valuePair: SpxValuePair<any>;
22
+ }>;
23
+ spxInputs: QueryList<SpxInputComponent>;
24
+ autocompleteField?: SpxFormFieldI;
11
25
  typeAutocomplete: SpxInputTypeEnum;
26
+ typeButton: SpxInputTypeEnum;
12
27
  typeFloat: SpxInputTypeEnum;
13
28
  typeNumber: SpxInputTypeEnum;
14
29
  typeRadio: SpxInputTypeEnum;
@@ -16,12 +31,18 @@ export declare class SpxFormViewComponent {
16
31
  typeNumericKeyboard: SpxInputTypeEnum;
17
32
  typeOverlay: SpxInputTypeEnum;
18
33
  typeOverlayNumber: SpxInputTypeEnum;
34
+ setAutofocus(key: string): void;
19
35
  onBlur(field: SpxFormFieldI): void;
36
+ onClick(field: SpxFormFieldI): void;
37
+ onAutocompleteCancel(): void;
38
+ onAutocompleteSearch(valuePair: SpxValuePair<any>): void;
39
+ onAutocompleteSave(valuePair: SpxValuePair<any>): void;
40
+ onSearch(field: SpxFormFieldI): void;
20
41
  getRawValidators(formControl: AbstractControl): any;
21
42
  hasRequiredField(abstractControl: AbstractControl): boolean;
22
43
  static initialFormValue(sections: SpxFormSectionI[]): any;
23
44
  static createForm(formBuilder: FormBuilder, sections: SpxFormSectionI[]): FormGroup;
24
45
  constructor(formBuilder: FormBuilder);
25
46
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxFormViewComponent, never>;
26
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxFormViewComponent, "spx-form-view", never, { "spxFormGroup": { "alias": "spxFormGroup"; "required": false; }; "spxSections": { "alias": "spxSections"; "required": false; }; "spxSuggestions": { "alias": "spxSuggestions"; "required": false; }; }, {}, never, never, true, never>;
47
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxFormViewComponent, "spx-form-view", never, { "spxFormGroup": { "alias": "spxFormGroup"; "required": false; }; "spxSections": { "alias": "spxSections"; "required": false; }; "spxSuggestions": { "alias": "spxSuggestions"; "required": false; }; }, { "spxBlur": "spxBlur"; "spxClick": "spxClick"; "spxSearch": "spxSearch"; }, never, never, true, never>;
27
48
  }
@@ -7,14 +7,15 @@ export declare class SpxInputBoxComponent {
7
7
  faSearch: import("@fortawesome/fontawesome-common-types").IconDefinition;
8
8
  faQuestion: import("@fortawesome/fontawesome-common-types").IconDefinition;
9
9
  faTimes: import("@fortawesome/fontawesome-common-types").IconDefinition;
10
+ spxCompact?: boolean;
10
11
  spxFocused: boolean;
11
12
  spxLabel?: string;
12
- spxRequired?: boolean;
13
13
  spxReadonly: boolean;
14
- spxShowHelp?: boolean;
15
- spxCompact?: boolean;
14
+ spxRequired?: boolean;
16
15
  spxShowClear: boolean;
17
16
  spxShowEdit?: boolean;
17
+ spxShowHelp?: boolean;
18
+ spxShowLabel: boolean;
18
19
  spxShowSearch?: boolean;
19
20
  spxShowValidationMessages?: boolean | null | undefined;
20
21
  spxValue?: SpxValuePair<any>;
@@ -25,13 +26,15 @@ export declare class SpxInputBoxComponent {
25
26
  spxEdit: EventEmitter<void>;
26
27
  spxHelp: EventEmitter<void>;
27
28
  handleFocusIn(ev: Event): void;
28
- handleFocusOut(ev: Event): void;
29
+ handleFocusOut(ev: FocusEvent): void;
29
30
  handleWindowClick(ev: Event): void;
30
31
  onClear(): void;
31
32
  onSearch(): void;
32
33
  onEdit(): void;
33
34
  onHelp(): void;
34
35
  constructor(elRef: ElementRef);
36
+ private emitFocusIn;
37
+ private emitFocusOut;
35
38
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxInputBoxComponent, never>;
36
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxInputBoxComponent, "spx-input-box", never, { "spxFocused": { "alias": "spxFocused"; "required": false; }; "spxLabel": { "alias": "spxLabel"; "required": false; }; "spxRequired": { "alias": "spxRequired"; "required": false; }; "spxReadonly": { "alias": "spxReadonly"; "required": false; }; "spxShowHelp": { "alias": "spxShowHelp"; "required": false; }; "spxCompact": { "alias": "spxCompact"; "required": false; }; "spxShowClear": { "alias": "spxShowClear"; "required": false; }; "spxShowEdit": { "alias": "spxShowEdit"; "required": false; }; "spxShowSearch": { "alias": "spxShowSearch"; "required": false; }; "spxShowValidationMessages": { "alias": "spxShowValidationMessages"; "required": false; }; "spxValue": { "alias": "spxValue"; "required": false; }; }, { "spxClear": "spxClear"; "spxSearch": "spxSearch"; "spxFocus": "spxFocus"; "spxFocusOut": "spxFocusOut"; "spxEdit": "spxEdit"; "spxHelp": "spxHelp"; }, never, ["[controls]", "[validation-messages]"], true, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxInputBoxComponent, "spx-input-box", never, { "spxCompact": { "alias": "spxCompact"; "required": false; }; "spxFocused": { "alias": "spxFocused"; "required": false; }; "spxLabel": { "alias": "spxLabel"; "required": false; }; "spxReadonly": { "alias": "spxReadonly"; "required": false; }; "spxRequired": { "alias": "spxRequired"; "required": false; }; "spxShowClear": { "alias": "spxShowClear"; "required": false; }; "spxShowEdit": { "alias": "spxShowEdit"; "required": false; }; "spxShowHelp": { "alias": "spxShowHelp"; "required": false; }; "spxShowLabel": { "alias": "spxShowLabel"; "required": false; }; "spxShowSearch": { "alias": "spxShowSearch"; "required": false; }; "spxShowValidationMessages": { "alias": "spxShowValidationMessages"; "required": false; }; "spxValue": { "alias": "spxValue"; "required": false; }; }, { "spxClear": "spxClear"; "spxSearch": "spxSearch"; "spxFocus": "spxFocus"; "spxFocusOut": "spxFocusOut"; "spxEdit": "spxEdit"; "spxHelp": "spxHelp"; }, never, ["[controls]", "[validation-messages]"], true, never>;
37
40
  }
@@ -1,4 +1,4 @@
1
- import { EventEmitter } from '@angular/core';
1
+ import { ElementRef, EventEmitter } from '@angular/core';
2
2
  import { SpxValuePair } from './spx-value-interface';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class SpxInputFloatComponent {
@@ -17,7 +17,8 @@ export declare class SpxInputFloatComponent {
17
17
  spxFocus: EventEmitter<void>;
18
18
  spxWasInternalUpdate: boolean;
19
19
  tick: {};
20
- spxSetFocus(): Promise<void>;
20
+ firstInputRef?: ElementRef<HTMLInputElement>;
21
+ spxSetFocus(): void;
21
22
  componentDidLoad(): void;
22
23
  handleFocus(): void;
23
24
  handleSetValue(newValue: SpxValuePair<any>): void;
@@ -1,4 +1,4 @@
1
- import { EventEmitter } from '@angular/core';
1
+ import { ElementRef, EventEmitter } from '@angular/core';
2
2
  import { SpxValuePair } from './spx-value-interface';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class SpxInputNumberComponent {
@@ -12,8 +12,9 @@ export declare class SpxInputNumberComponent {
12
12
  value?: SpxValuePair<any>;
13
13
  spxChange: EventEmitter<SpxValuePair<any>>;
14
14
  spxFocus: EventEmitter<void>;
15
+ inputRef?: ElementRef<HTMLInputElement>;
15
16
  spxWasInternalUpdate: boolean;
16
- spxSetFocus(): Promise<void>;
17
+ spxSetFocus(): void;
17
18
  componentDidLoad(): void;
18
19
  handleFocus(): void;
19
20
  handleInput(event: any): void;
@@ -1,18 +1,26 @@
1
- import { EventEmitter } from '@angular/core';
1
+ import { EventEmitter, SimpleChanges } from '@angular/core';
2
2
  import { SpxValuePair } from './spx-value-interface';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class SpxInputRadioComponent {
5
+ protected focusPosition: number;
5
6
  spxName?: string;
6
7
  spxValidators: any[];
7
8
  spxFocused: boolean;
9
+ spxShowLabel: boolean;
8
10
  spxReadonly: boolean;
9
11
  spxSuggestions: SpxValuePair<any>[];
10
12
  value?: SpxValuePair<any>;
11
13
  spxChange: EventEmitter<SpxValuePair<any>>;
12
14
  spxFocus: EventEmitter<void>;
13
- spxWasInternalUpdate: boolean;
14
- spxSetFocus(): Promise<void>;
15
- handleSuggestionClick(value: SpxValuePair<any>): void;
15
+ private subscriptionKeyUp?;
16
+ private subscriptionKeyDown?;
17
+ spxFocusIn(): void;
18
+ spxFocusOut(): void;
19
+ ngOnChanges(changes: SimpleChanges): void;
20
+ handleSuggestionClick(valuePair: SpxValuePair<any>): void;
21
+ private determineFocusPosition;
22
+ private select;
23
+ private listenToKeys;
16
24
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxInputRadioComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxInputRadioComponent, "spx-input-radio", never, { "spxName": { "alias": "spxName"; "required": false; }; "spxValidators": { "alias": "spxValidators"; "required": false; }; "spxFocused": { "alias": "spxFocused"; "required": false; }; "spxReadonly": { "alias": "spxReadonly"; "required": false; }; "spxSuggestions": { "alias": "spxSuggestions"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "spxChange": "spxChange"; "spxFocus": "spxFocus"; }, never, never, true, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxInputRadioComponent, "spx-input-radio", never, { "spxName": { "alias": "spxName"; "required": false; }; "spxValidators": { "alias": "spxValidators"; "required": false; }; "spxFocused": { "alias": "spxFocused"; "required": false; }; "spxShowLabel": { "alias": "spxShowLabel"; "required": false; }; "spxReadonly": { "alias": "spxReadonly"; "required": false; }; "spxSuggestions": { "alias": "spxSuggestions"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "spxChange": "spxChange"; "spxFocus": "spxFocus"; }, never, never, true, never>;
18
26
  }
@@ -18,7 +18,7 @@ export declare class SpxInputTextComponent {
18
18
  spxFocus: EventEmitter<void>;
19
19
  spxWasInternalUpdate: boolean;
20
20
  inputRef?: ElementRef<HTMLInputElement>;
21
- spxSetFocus(): Promise<void>;
21
+ spxSetFocus(): void;
22
22
  componentDidLoad(): void;
23
23
  handleBlur(): void;
24
24
  handleFocus(): void;
@@ -1,7 +1,9 @@
1
1
  export declare enum SpxInputTypeEnum {
2
2
  autocomplete = "autocomplete",
3
+ button = "button",
3
4
  date = "date",
4
5
  float = "float",
6
+ hidden = "hidden",
5
7
  overlay = "overlay",
6
8
  overlayNumber = "overlaynumber",
7
9
  radio = "radio",
@@ -1,6 +1,9 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import { SpxInputTextComponent } from './spx-input-text.component';
3
3
  import { SpxValuePair } from './spx-value-interface';
4
+ import { SpxInputFloatComponent } from './spx-input-float.component';
5
+ import { SpxInputNumberComponent } from './spx-input-number.component';
6
+ import { SpxInputRadioComponent } from './spx-input-radio.component';
4
7
  import { SpxInputTypeEnum } from './spx-input-type.enum';
5
8
  import * as i0 from "@angular/core";
6
9
  export declare class SpxInputComponent {
@@ -17,6 +20,7 @@ export declare class SpxInputComponent {
17
20
  spxSelectDay: boolean;
18
21
  spxShowEdit: boolean;
19
22
  spxShowHelp: boolean;
23
+ spxShowLabel: boolean;
20
24
  spxCompact: boolean;
21
25
  spxShowClear: boolean;
22
26
  spxShowSearch: boolean;
@@ -34,14 +38,17 @@ export declare class SpxInputComponent {
34
38
  spxEdit: EventEmitter<void>;
35
39
  spxHelp: EventEmitter<void>;
36
40
  spxSearch: EventEmitter<void>;
41
+ floatInput?: SpxInputFloatComponent;
42
+ numberInput?: SpxInputNumberComponent;
37
43
  textInput?: SpxInputTextComponent;
44
+ radioInput?: SpxInputRadioComponent;
38
45
  spxFocused: boolean;
39
46
  handleBlur(): void;
40
47
  handleChange(event: any): void;
41
48
  handleClear(): void;
42
49
  handleFocus(): void;
43
50
  handleSearch(): void;
44
- setFocus(): void;
51
+ setFocusIn(): void;
45
52
  setFocusOut(): void;
46
53
  handleEdit(): void;
47
54
  handleHelp(): void;
@@ -55,5 +62,5 @@ export declare class SpxInputComponent {
55
62
  registerOnChange(fn: (value: any) => void): void;
56
63
  registerOnTouched(fn: () => void): void;
57
64
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxInputComponent, never>;
58
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxInputComponent, "spx-input", never, { "spxLabel": { "alias": "spxLabel"; "required": false; }; "spxMax": { "alias": "spxMax"; "required": false; }; "spxMin": { "alias": "spxMin"; "required": false; }; "spxName": { "alias": "spxName"; "required": false; }; "spxReadonly": { "alias": "spxReadonly"; "required": false; }; "spxAutofocus": { "alias": "spxAutofocus"; "required": false; }; "spxInputMode": { "alias": "spxInputMode"; "required": false; }; "spxPattern": { "alias": "spxPattern"; "required": false; }; "spxRequired": { "alias": "spxRequired"; "required": false; }; "spxSelectMonth": { "alias": "spxSelectMonth"; "required": false; }; "spxSelectDay": { "alias": "spxSelectDay"; "required": false; }; "spxShowEdit": { "alias": "spxShowEdit"; "required": false; }; "spxShowHelp": { "alias": "spxShowHelp"; "required": false; }; "spxCompact": { "alias": "spxCompact"; "required": false; }; "spxShowClear": { "alias": "spxShowClear"; "required": false; }; "spxShowSearch": { "alias": "spxShowSearch"; "required": false; }; "spxShowValidationMessages": { "alias": "spxShowValidationMessages"; "required": false; }; "spxStep": { "alias": "spxStep"; "required": false; }; "spxSuggestions": { "alias": "spxSuggestions"; "required": false; }; "spxType": { "alias": "spxType"; "required": false; }; "spxValidators": { "alias": "spxValidators"; "required": false; }; "value": { "alias": "value"; "required": false; }; "spxCapitalize": { "alias": "spxCapitalize"; "required": false; }; "spxFocused": { "alias": "spxFocused"; "required": false; }; }, { "spxBlur": "spxBlur"; "spxClear": "spxClear"; "spxChange": "spxChange"; "spxFocus": "spxFocus"; "spxEdit": "spxEdit"; "spxHelp": "spxHelp"; "spxSearch": "spxSearch"; }, never, ["*"], true, never>;
65
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxInputComponent, "spx-input", never, { "spxLabel": { "alias": "spxLabel"; "required": false; }; "spxMax": { "alias": "spxMax"; "required": false; }; "spxMin": { "alias": "spxMin"; "required": false; }; "spxName": { "alias": "spxName"; "required": false; }; "spxReadonly": { "alias": "spxReadonly"; "required": false; }; "spxAutofocus": { "alias": "spxAutofocus"; "required": false; }; "spxInputMode": { "alias": "spxInputMode"; "required": false; }; "spxPattern": { "alias": "spxPattern"; "required": false; }; "spxRequired": { "alias": "spxRequired"; "required": false; }; "spxSelectMonth": { "alias": "spxSelectMonth"; "required": false; }; "spxSelectDay": { "alias": "spxSelectDay"; "required": false; }; "spxShowEdit": { "alias": "spxShowEdit"; "required": false; }; "spxShowHelp": { "alias": "spxShowHelp"; "required": false; }; "spxShowLabel": { "alias": "spxShowLabel"; "required": false; }; "spxCompact": { "alias": "spxCompact"; "required": false; }; "spxShowClear": { "alias": "spxShowClear"; "required": false; }; "spxShowSearch": { "alias": "spxShowSearch"; "required": false; }; "spxShowValidationMessages": { "alias": "spxShowValidationMessages"; "required": false; }; "spxStep": { "alias": "spxStep"; "required": false; }; "spxSuggestions": { "alias": "spxSuggestions"; "required": false; }; "spxType": { "alias": "spxType"; "required": false; }; "spxValidators": { "alias": "spxValidators"; "required": false; }; "value": { "alias": "value"; "required": false; }; "spxCapitalize": { "alias": "spxCapitalize"; "required": false; }; "spxFocused": { "alias": "spxFocused"; "required": false; }; }, { "spxBlur": "spxBlur"; "spxClear": "spxClear"; "spxChange": "spxChange"; "spxFocus": "spxFocus"; "spxEdit": "spxEdit"; "spxHelp": "spxHelp"; "spxSearch": "spxSearch"; }, never, ["*"], true, never>;
59
66
  }
@@ -1,5 +1,6 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class SpxHomeTilesComponent {
3
+ spxCols: 1 | 2;
3
4
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxHomeTilesComponent, never>;
4
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxHomeTilesComponent, "spx-home-tiles", never, {}, {}, never, ["*"], true, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxHomeTilesComponent, "spx-home-tiles", never, { "spxCols": { "alias": "spxCols"; "required": false; }; }, {}, never, ["*"], true, never>;
5
6
  }
@@ -6,10 +6,11 @@ export declare class SpxNavigationComponent {
6
6
  tiles?: QueryList<SpxHomeTileComponent>;
7
7
  iconTemplateRef?: TemplateRef<any>;
8
8
  navItems: SpxNavigationItemI[];
9
+ spxCols: 1 | 2;
9
10
  spxClick: EventEmitter<string>;
10
11
  constructor();
11
12
  setFocus(): void;
12
13
  onNavigate(link: string): void;
13
14
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxNavigationComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxNavigationComponent, "spx-navigation", never, { "navItems": { "alias": "navItems"; "required": false; }; }, { "spxClick": "spxClick"; }, ["iconTemplateRef"], never, true, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxNavigationComponent, "spx-navigation", never, { "navItems": { "alias": "navItems"; "required": false; }; "spxCols": { "alias": "spxCols"; "required": false; }; }, { "spxClick": "spxClick"; }, ["iconTemplateRef"], never, true, never>;
15
16
  }
@@ -1,8 +1,9 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class SpxSuggestionComponent {
3
- overflowHidden: boolean;
4
3
  spxDisabled: boolean;
4
+ spxFocused: boolean;
5
5
  spxSelected: boolean;
6
+ spxTabbable: boolean;
6
7
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxSuggestionComponent, never>;
7
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxSuggestionComponent, "spx-suggestion", never, { "spxDisabled": { "alias": "spxDisabled"; "required": false; }; "spxSelected": { "alias": "spxSelected"; "required": false; }; }, {}, never, ["*"], true, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxSuggestionComponent, "spx-suggestion", never, { "spxDisabled": { "alias": "spxDisabled"; "required": false; }; "spxFocused": { "alias": "spxFocused"; "required": false; }; "spxSelected": { "alias": "spxSelected"; "required": false; }; "spxTabbable": { "alias": "spxTabbable"; "required": false; }; }, {}, never, ["*"], true, never>;
8
9
  }
@@ -6,4 +6,3 @@ export * from './pattern.validator';
6
6
  export * from './required.validator';
7
7
  export * from './year-and-month.validator';
8
8
  export * from './spx-validate-control.component';
9
- export * from './spx-validation.module';
@@ -20,5 +20,5 @@ export declare class SpxValidateControlComponent {
20
20
  get future(): any;
21
21
  get past(): any;
22
22
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxValidateControlComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxValidateControlComponent, "spx-validate-control", never, { "control": { "alias": "control"; "required": false; }; "label": { "alias": "label"; "required": false; }; "submitTried": { "alias": "submitTried"; "required": false; }; }, {}, never, never, false, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxValidateControlComponent, "spx-validate-control", never, { "control": { "alias": "control"; "required": false; }; "label": { "alias": "label"; "required": false; }; "submitTried": { "alias": "submitTried"; "required": false; }; }, {}, never, never, true, never>;
24
24
  }
package/tailwind.css CHANGED
@@ -1 +1 @@
1
- /*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.bottom-16{bottom:4rem}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-2\.5{margin-top:.625rem;margin-bottom:.625rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mt-3{margin-top:.75rem}.mt-32{margin-top:8rem}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.w-full{width:100%}.max-w-96{max-width:24rem}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.items-end{align-items:flex-end}.items-center{align-items:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.self-center{align-self:center}.overflow-hidden,.truncate{overflow:hidden}.truncate{white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-none{border-radius:0}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-t-4{border-top-width:4px}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.border-cyan-500{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-lime-500{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.border-transparent{border-color:#0000}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-lime-100{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity))}.bg-lime-600{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity))}.bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity))}.bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity))}.bg-teal-700{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity))}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-2{padding-bottom:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity))}.text-cyan-900{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-lime-600{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity))}.text-lime-900{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.ring-offset-2{--tw-ring-offset-width:2px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity))}.hover\:bg-amber-600:hover{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}.hover\:bg-amber-800:hover{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.hover\:bg-cyan-200:hover{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-lime-200:hover{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity))}.hover\:bg-lime-600:hover{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity))}.hover\:bg-lime-800:hover{--tw-bg-opacity:1;background-color:rgb(63 98 18/var(--tw-bg-opacity))}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity))}.hover\:bg-sky-200:hover{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-amber-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity))}.focus\:ring-amber-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(217 119 6/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.focus\:ring-cyan-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(8 145 178/var(--tw-ring-opacity))}.focus\:ring-lime-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(132 204 22/var(--tw-ring-opacity))}.focus\:ring-lime-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(101 163 13/var(--tw-ring-opacity))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity))}.focus\:ring-red-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity))}.focus\:ring-sky-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(186 230 253/var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:bg-sky-300:active{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity))}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
1
+ /*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.bottom-16{bottom:4rem}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.m-3{margin:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-2\.5{margin-top:.625rem;margin-bottom:.625rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mt-3{margin-top:.75rem}.mt-32{margin-top:8rem}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-\[30px\]{height:30px}.h-full{height:100%}.w-\[30px\]{width:30px}.w-full{width:100%}.max-w-96{max-width:24rem}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.content-center{align-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden,.truncate{overflow:hidden}.truncate{white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-none{border-radius:0}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-t-4{border-top-width:4px}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.border-cyan-500{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-lime-500{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.border-transparent{border-color:#0000}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity))}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-lime-100{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity))}.bg-lime-600{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity))}.bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity))}.bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity))}.bg-teal-700{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity))}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-2{padding-bottom:.5rem}.pt-16{padding-top:4rem}.text-left{text-align:left}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity))}.text-cyan-900{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-lime-600{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity))}.text-lime-900{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.ring-offset-2{--tw-ring-offset-width:2px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity))}.hover\:bg-amber-600:hover{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}.hover\:bg-amber-800:hover{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.hover\:bg-cyan-200:hover{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-lime-200:hover{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity))}.hover\:bg-lime-600:hover{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity))}.hover\:bg-lime-800:hover{--tw-bg-opacity:1;background-color:rgb(63 98 18/var(--tw-bg-opacity))}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity))}.hover\:bg-sky-300:hover{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-amber-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity))}.focus\:ring-amber-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(217 119 6/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.focus\:ring-cyan-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(8 145 178/var(--tw-ring-opacity))}.focus\:ring-lime-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(132 204 22/var(--tw-ring-opacity))}.focus\:ring-lime-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(101 163 13/var(--tw-ring-opacity))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity))}.focus\:ring-red-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity))}.focus\:ring-sky-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(125 211 252/var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:bg-sky-300:active{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity))}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}}
@@ -1,41 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, Input } from '@angular/core';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { SpxInputComponent, SpxInputTypeEnum } from '@softpak/components/spx-inputs';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/forms";
7
- export class SpxChannelSelectionComponent {
8
- constructor() {
9
- this.options = [];
10
- this.inputTypeRadio = SpxInputTypeEnum.radio;
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxChannelSelectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxChannelSelectionComponent, isStandalone: true, selector: "spx-channel-selection", inputs: { control: "control", options: "options", txtChannel: "txtChannel" }, ngImport: i0, template: `
14
- <spx-input [formControl]="control" [spxLabel]="txtChannel"
15
- [spxType]="inputTypeRadio" [spxSuggestions]="options"></spx-input>
16
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SpxInputComponent, selector: "spx-input", inputs: ["spxLabel", "spxMax", "spxMin", "spxName", "spxReadonly", "spxAutofocus", "spxInputMode", "spxPattern", "spxRequired", "spxSelectMonth", "spxSelectDay", "spxShowEdit", "spxShowHelp", "spxCompact", "spxShowClear", "spxShowSearch", "spxShowValidationMessages", "spxStep", "spxSuggestions", "spxType", "spxValidators", "value", "spxCapitalize", "spxFocused"], outputs: ["spxBlur", "spxClear", "spxChange", "spxFocus", "spxEdit", "spxHelp", "spxSearch"] }] }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxChannelSelectionComponent, decorators: [{
19
- type: Component,
20
- args: [{
21
- selector: 'spx-channel-selection',
22
- template: `
23
- <spx-input [formControl]="control" [spxLabel]="txtChannel"
24
- [spxType]="inputTypeRadio" [spxSuggestions]="options"></spx-input>
25
- `,
26
- standalone: true,
27
- imports: [
28
- CommonModule,
29
- FormsModule,
30
- ReactiveFormsModule,
31
- SpxInputComponent,
32
- ]
33
- }]
34
- }], ctorParameters: () => [], propDecorators: { control: [{
35
- type: Input
36
- }], options: [{
37
- type: Input
38
- }], txtChannel: [{
39
- type: Input
40
- }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWNoYW5uZWwtc2VsZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbm5lbC1zZWxlY3Rpb24vc3JjL3NweC1jaGFubmVsLXNlbGVjdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBZSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sZ0NBQWdDLENBQUM7OztBQWdCbkcsTUFBTSxPQUFPLDRCQUE0QjtJQU12QztRQUpTLFlBQU8sR0FBMkIsRUFBRSxDQUFDO1FBRTlDLG1CQUFjLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0lBR3BDLENBQUM7OEdBUE0sNEJBQTRCO2tHQUE1Qiw0QkFBNEIsK0pBWjdCOzs7R0FHVCwyREFHQyxZQUFZLDhCQUNaLFdBQVcsc0lBQ1gsbUJBQW1CLGtOQUNuQixpQkFBaUI7OzJGQUdSLDRCQUE0QjtrQkFkeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUU7OztHQUdUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3FCQUNsQjtpQkFDRjt3REFFVSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3B4SW5wdXRDb21wb25lbnQsIFNweElucHV0VHlwZUVudW0sIFNweFZhbHVlUGFpciB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWlucHV0cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC1jaGFubmVsLXNlbGVjdGlvbicsXG4gIHRlbXBsYXRlOiBgXG4gIDxzcHgtaW5wdXQgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBbc3B4TGFiZWxdPVwidHh0Q2hhbm5lbFwiXG4gICAgICBbc3B4VHlwZV09XCJpbnB1dFR5cGVSYWRpb1wiIFtzcHhTdWdnZXN0aW9uc109XCJvcHRpb25zXCI+PC9zcHgtaW5wdXQ+XG4gIGAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTcHhJbnB1dENvbXBvbmVudCxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTcHhDaGFubmVsU2VsZWN0aW9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY29udHJvbCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBvcHRpb25zOiBTcHhWYWx1ZVBhaXI8c3RyaW5nPltdID0gW107XG4gIEBJbnB1dCgpIHR4dENoYW5uZWwhOiBzdHJpbmc7XG4gIGlucHV0VHlwZVJhZGlvID0gU3B4SW5wdXRUeXBlRW51bS5yYWRpbztcblxuICBjb25zdHJ1Y3RvcihcbiAgKSB7IH1cbn1cbiJdfQ==