@softpak/components 0.0.0-beta.2 → 0.0.0-beta.200

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 (109) hide show
  1. package/esm2022/spx-alert/spx-alert.component.mjs +9 -4
  2. package/esm2022/spx-button/spx-button.component.mjs +61 -38
  3. package/esm2022/spx-change-details/public-api.mjs +2 -0
  4. package/esm2022/spx-change-details/softpak-components-spx-change-details.mjs +5 -0
  5. package/esm2022/spx-change-details/spx-change-details-value.interface.mjs +2 -0
  6. package/esm2022/spx-change-details/spx-change-details.component.mjs +199 -0
  7. package/esm2022/spx-channel-selection/src/spx-channel-selection.component.mjs +6 -5
  8. package/esm2022/spx-channel-selection/src/spx-company-selection.component.mjs +6 -5
  9. package/esm2022/spx-check-digit/spx-check-digit.component.mjs +17 -8
  10. package/esm2022/spx-form-section/spx-form-section.component.mjs +11 -11
  11. package/esm2022/spx-form-view/public-api.mjs +4 -0
  12. package/esm2022/spx-form-view/softpak-components-spx-form-view.mjs +5 -0
  13. package/esm2022/spx-form-view/spx-autocomplete-search.component.mjs +119 -0
  14. package/esm2022/spx-form-view/spx-form-field.interface.mjs +2 -0
  15. package/esm2022/spx-form-view/spx-form-section.interface.mjs +2 -0
  16. package/esm2022/spx-form-view/spx-form-view.component.mjs +268 -0
  17. package/esm2022/spx-inputs/public-api.mjs +2 -1
  18. package/esm2022/spx-inputs/spx-dropdown.component.mjs +94 -0
  19. package/esm2022/spx-inputs/spx-input-box.component.mjs +87 -60
  20. package/esm2022/spx-inputs/spx-input-date.component.mjs +1 -1
  21. package/esm2022/spx-inputs/spx-input-float.component.mjs +10 -5
  22. package/esm2022/spx-inputs/spx-input-number.component.mjs +10 -5
  23. package/esm2022/spx-inputs/spx-input-radio.component.mjs +93 -27
  24. package/esm2022/spx-inputs/spx-input-text.component.mjs +32 -33
  25. package/esm2022/spx-inputs/spx-input-type.enum.mjs +16 -0
  26. package/esm2022/spx-inputs/spx-input.component.mjs +56 -19
  27. package/esm2022/spx-navigation/spx-home-tile.component.mjs +47 -12
  28. package/esm2022/spx-navigation/spx-home-tiles.component.mjs +3 -5
  29. package/esm2022/spx-navigation/spx-navigation-item.interface.mjs +1 -1
  30. package/esm2022/spx-navigation/spx-navigation.component.mjs +11 -5
  31. package/esm2022/spx-number-check/public-api.mjs +2 -0
  32. package/esm2022/spx-number-check/softpak-components-spx-number-check.mjs +5 -0
  33. package/esm2022/spx-number-check/spx-number-check.component.mjs +259 -0
  34. package/esm2022/spx-progress-bar/spx-progress-bar.component.mjs +3 -3
  35. package/esm2022/spx-spinner/spx-spinner.component.mjs +5 -5
  36. package/esm2022/spx-suggestion/spx-suggestion.component.mjs +28 -10
  37. package/esm2022/spx-toaster/src/spx-toaster.component.mjs +33 -21
  38. package/esm2022/spx-update/src/spx-update-info.component.mjs +1 -1
  39. package/esm2022/spx-validation/public-api.mjs +1 -2
  40. package/esm2022/spx-validation/spx-validate-control.component.mjs +8 -3
  41. package/fesm2022/softpak-components-spx-alert.mjs +8 -3
  42. package/fesm2022/softpak-components-spx-alert.mjs.map +1 -1
  43. package/fesm2022/softpak-components-spx-button.mjs +60 -37
  44. package/fesm2022/softpak-components-spx-button.mjs.map +1 -1
  45. package/fesm2022/softpak-components-spx-change-details.mjs +206 -0
  46. package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -0
  47. package/fesm2022/softpak-components-spx-channel-selection.mjs +9 -7
  48. package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -1
  49. package/fesm2022/softpak-components-spx-check-digit.mjs +16 -7
  50. package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
  51. package/fesm2022/softpak-components-spx-form-section.mjs +10 -10
  52. package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
  53. package/fesm2022/softpak-components-spx-form-view.mjs +385 -0
  54. package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -0
  55. package/fesm2022/softpak-components-spx-inputs.mjs +382 -140
  56. package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
  57. package/fesm2022/softpak-components-spx-navigation.mjs +57 -19
  58. package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
  59. package/fesm2022/softpak-components-spx-number-check.mjs +266 -0
  60. package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -0
  61. package/fesm2022/softpak-components-spx-progress-bar.mjs +2 -2
  62. package/fesm2022/softpak-components-spx-progress-bar.mjs.map +1 -1
  63. package/fesm2022/softpak-components-spx-spinner.mjs +4 -4
  64. package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
  65. package/fesm2022/softpak-components-spx-suggestion.mjs +27 -9
  66. package/fesm2022/softpak-components-spx-suggestion.mjs.map +1 -1
  67. package/fesm2022/softpak-components-spx-toaster.mjs +32 -20
  68. package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
  69. package/fesm2022/softpak-components-spx-update.mjs +1 -1
  70. package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
  71. package/fesm2022/softpak-components-spx-validation.mjs +8 -28
  72. package/fesm2022/softpak-components-spx-validation.mjs.map +1 -1
  73. package/package.json +34 -15
  74. package/spx-button/spx-button.component.d.ts +8 -2
  75. package/spx-change-details/index.d.ts +5 -0
  76. package/spx-change-details/public-api.d.ts +1 -0
  77. package/spx-change-details/spx-change-details-value.interface.d.ts +7 -0
  78. package/spx-change-details/spx-change-details.component.d.ts +63 -0
  79. package/spx-channel-selection/src/spx-channel-selection.component.d.ts +2 -1
  80. package/spx-channel-selection/src/spx-company-selection.component.d.ts +2 -1
  81. package/spx-check-digit/spx-check-digit.component.d.ts +5 -0
  82. package/spx-form-view/index.d.ts +5 -0
  83. package/spx-form-view/public-api.d.ts +3 -0
  84. package/spx-form-view/spx-autocomplete-search.component.d.ts +43 -0
  85. package/spx-form-view/spx-form-field.interface.d.ts +18 -0
  86. package/spx-form-view/spx-form-section.interface.d.ts +9 -0
  87. package/spx-form-view/spx-form-view.component.d.ts +48 -0
  88. package/spx-inputs/public-api.d.ts +1 -0
  89. package/spx-inputs/spx-dropdown.component.d.ts +18 -0
  90. package/spx-inputs/spx-input-box.component.d.ts +15 -8
  91. package/spx-inputs/spx-input-float.component.d.ts +3 -2
  92. package/spx-inputs/spx-input-number.component.d.ts +3 -2
  93. package/spx-inputs/spx-input-radio.component.d.ts +13 -5
  94. package/spx-inputs/spx-input-text.component.d.ts +3 -2
  95. package/spx-inputs/spx-input-type.enum.d.ts +14 -0
  96. package/spx-inputs/spx-input.component.d.ts +13 -5
  97. package/spx-navigation/spx-home-tile.component.d.ts +6 -1
  98. package/spx-navigation/spx-navigation-item.interface.d.ts +2 -0
  99. package/spx-navigation/spx-navigation.component.d.ts +4 -1
  100. package/spx-number-check/index.d.ts +5 -0
  101. package/spx-number-check/public-api.d.ts +1 -0
  102. package/spx-number-check/spx-number-check.component.d.ts +48 -0
  103. package/spx-suggestion/spx-suggestion.component.d.ts +3 -1
  104. package/spx-toaster/src/spx-toaster.component.d.ts +1 -1
  105. package/spx-validation/public-api.d.ts +0 -1
  106. package/spx-validation/spx-validate-control.component.d.ts +1 -1
  107. package/tailwind.css +1 -1
  108. package/esm2022/spx-validation/spx-validation.module.mjs +0 -28
  109. package/spx-validation/spx-validation.module.d.ts +0 -9
@@ -0,0 +1,3 @@
1
+ export * from './spx-form-field.interface';
2
+ export * from './spx-form-section.interface';
3
+ export * from './spx-form-view.component';
@@ -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
+ }
@@ -0,0 +1,18 @@
1
+ import { SpxSeverityEnum } from "@softpak/components/spx-helpers";
2
+ import { SpxInputTypeEnum, SpxValuePair } from "@softpak/components/spx-inputs";
3
+ export interface SpxFormFieldI {
4
+ afterValueChange?: (value: SpxValuePair<string | number | boolean | any>) => void;
5
+ autofocus?: () => boolean;
6
+ capitalize?: () => boolean;
7
+ defaultValue?: () => string | number | boolean | any;
8
+ key: string;
9
+ label?: () => string;
10
+ readonly?: () => boolean;
11
+ severity?: () => SpxSeverityEnum;
12
+ show?: () => boolean;
13
+ step?: () => number;
14
+ suggestions?: () => boolean;
15
+ suggestionsFixed?: () => SpxValuePair<string | number | boolean | any>[];
16
+ type: () => SpxInputTypeEnum;
17
+ validators?: () => any[];
18
+ }
@@ -0,0 +1,9 @@
1
+ import { SpxFormFieldI } from "./spx-form-field.interface";
2
+ export interface SpxFormSectionI {
3
+ fields: SpxFormFieldI[];
4
+ index?: () => number;
5
+ key: string;
6
+ show?: () => boolean;
7
+ showTitle?: () => boolean;
8
+ title?: () => string;
9
+ }
@@ -0,0 +1,48 @@
1
+ import { EventEmitter, QueryList } from '@angular/core';
2
+ import { SpxFormSectionI } from './spx-form-section.interface';
3
+ import { SpxInputComponent, SpxInputTypeEnum, SpxValuePair } from '@softpak/components/spx-inputs';
4
+ import { AbstractControl, FormBuilder, FormGroup } from '@angular/forms';
5
+ import { SpxFormFieldI } from './spx-form-field.interface';
6
+ import * as i0 from "@angular/core";
7
+ export declare class SpxFormViewComponent {
8
+ readonly formBuilder: FormBuilder;
9
+ spxFormGroup: FormGroup;
10
+ spxSections: SpxFormSectionI[];
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;
25
+ typeAutocomplete: SpxInputTypeEnum;
26
+ typeButton: SpxInputTypeEnum;
27
+ typeFloat: SpxInputTypeEnum;
28
+ typeNumber: SpxInputTypeEnum;
29
+ typeRadio: SpxInputTypeEnum;
30
+ typeText: SpxInputTypeEnum;
31
+ typeNumericKeyboard: SpxInputTypeEnum;
32
+ typeOverlay: SpxInputTypeEnum;
33
+ typeOverlayNumber: SpxInputTypeEnum;
34
+ setAutofocus(key: string): void;
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;
41
+ getRawValidators(formControl: AbstractControl): any;
42
+ hasRequiredField(abstractControl: AbstractControl): boolean;
43
+ static initialFormValue(sections: SpxFormSectionI[]): any;
44
+ static createForm(formBuilder: FormBuilder, sections: SpxFormSectionI[]): FormGroup;
45
+ constructor(formBuilder: FormBuilder);
46
+ static ɵfac: i0.ɵɵFactoryDeclaration<SpxFormViewComponent, 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>;
48
+ }
@@ -2,3 +2,4 @@ export * from './spx-value-interface';
2
2
  export * from './spx-input-box.component';
3
3
  export * from './spx-input-text.component';
4
4
  export * from './spx-input.component';
5
+ export * from './spx-input-type.enum';
@@ -0,0 +1,18 @@
1
+ import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
+ import { SpxValuePair } from './spx-value-interface';
3
+ import { Subscription } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ export declare class SpxDropdownComponent implements OnChanges, OnInit, OnDestroy {
6
+ protected focusPosition: number;
7
+ spxSuggestions: SpxValuePair<boolean | number | string>[];
8
+ spxSelect: EventEmitter<SpxValuePair<any>>;
9
+ subscriptionKeyUp?: Subscription;
10
+ ngOnInit(): void;
11
+ ngOnChanges(changes: SimpleChanges): void;
12
+ ngOnDestroy(): void;
13
+ handleSuggestionClick(valuePair: SpxValuePair<string | number | boolean>): void;
14
+ private listenToKeyUp;
15
+ private select;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<SpxDropdownComponent, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxDropdownComponent, "spx-dropdown", never, { "spxSuggestions": { "alias": "spxSuggestions"; "required": false; }; }, { "spxSelect": "spxSelect"; }, never, never, true, never>;
18
+ }
@@ -1,33 +1,40 @@
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 SpxInputBoxComponent {
5
+ private elRef;
5
6
  faEdit: import("@fortawesome/fontawesome-common-types").IconDefinition;
6
7
  faSearch: import("@fortawesome/fontawesome-common-types").IconDefinition;
7
8
  faQuestion: import("@fortawesome/fontawesome-common-types").IconDefinition;
8
9
  faTimes: import("@fortawesome/fontawesome-common-types").IconDefinition;
10
+ spxCompact?: boolean;
11
+ spxFocused: boolean;
9
12
  spxLabel?: string;
10
- spxRequired?: boolean;
11
13
  spxReadonly: boolean;
12
- spxShowHelp?: boolean;
13
- spxCompact?: boolean;
14
+ spxRequired?: boolean;
14
15
  spxShowClear: boolean;
15
16
  spxShowEdit?: boolean;
17
+ spxShowHelp?: boolean;
18
+ spxShowLabel: boolean;
16
19
  spxShowSearch?: boolean;
17
20
  spxShowValidationMessages?: boolean | null | undefined;
18
21
  spxValue?: SpxValuePair<any>;
19
22
  spxClear: EventEmitter<void>;
20
- spxSearchOutput: EventEmitter<void>;
23
+ spxSearch: EventEmitter<void>;
21
24
  spxFocus: EventEmitter<void>;
22
25
  spxFocusOut: EventEmitter<void>;
23
26
  spxEdit: EventEmitter<void>;
24
27
  spxHelp: EventEmitter<void>;
25
- spxFocused: boolean;
26
- spxSetFocus(): Promise<void>;
28
+ handleFocusIn(ev: Event): void;
29
+ handleFocusOut(ev: FocusEvent): void;
30
+ handleWindowClick(ev: Event): void;
27
31
  onClear(): void;
28
32
  onSearch(): void;
29
33
  onEdit(): void;
30
34
  onHelp(): void;
35
+ constructor(elRef: ElementRef);
36
+ private emitFocusIn;
37
+ private emitFocusOut;
31
38
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxInputBoxComponent, never>;
32
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxInputBoxComponent, "spx-input-box", never, { "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; }; "spxFocused": { "alias": "spxFocused"; "required": false; }; }, { "spxClear": "spxClear"; "spxSearchOutput": "spxSearchOutput"; "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>;
33
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
  }
@@ -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 SpxInputTextComponent {
@@ -17,7 +17,8 @@ export declare class SpxInputTextComponent {
17
17
  spxChange: EventEmitter<SpxValuePair<any>>;
18
18
  spxFocus: EventEmitter<void>;
19
19
  spxWasInternalUpdate: boolean;
20
- spxSetFocus(): Promise<void>;
20
+ inputRef?: ElementRef<HTMLInputElement>;
21
+ spxSetFocus(): void;
21
22
  componentDidLoad(): void;
22
23
  handleBlur(): void;
23
24
  handleFocus(): void;
@@ -0,0 +1,14 @@
1
+ export declare enum SpxInputTypeEnum {
2
+ autocomplete = "autocomplete",
3
+ button = "button",
4
+ date = "date",
5
+ float = "float",
6
+ hidden = "hidden",
7
+ overlay = "overlay",
8
+ overlayNumber = "overlaynumber",
9
+ radio = "radio",
10
+ number = "number",
11
+ password = "password",
12
+ text = "text",
13
+ textNumericKeyboard = "textNumericKeyboard"
14
+ }
@@ -1,5 +1,10 @@
1
1
  import { EventEmitter } from '@angular/core';
2
+ import { SpxInputTextComponent } from './spx-input-text.component';
2
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';
7
+ import { SpxInputTypeEnum } from './spx-input-type.enum';
3
8
  import * as i0 from "@angular/core";
4
9
  export declare class SpxInputComponent {
5
10
  spxLabel: string;
@@ -15,13 +20,14 @@ export declare class SpxInputComponent {
15
20
  spxSelectDay: boolean;
16
21
  spxShowEdit: boolean;
17
22
  spxShowHelp: boolean;
23
+ spxShowLabel: boolean;
18
24
  spxCompact: boolean;
19
25
  spxShowClear: boolean;
20
26
  spxShowSearch: boolean;
21
27
  spxShowValidationMessages?: boolean | null | undefined;
22
28
  spxStep?: number;
23
29
  spxSuggestions: SpxValuePair<boolean | number | string>[];
24
- spxType: 'autocomplete' | 'date' | 'float' | 'overlay' | 'overlaynumber' | 'radio' | 'number' | 'password' | 'photo' | 'text';
30
+ spxType: SpxInputTypeEnum;
25
31
  spxValidators: any[];
26
32
  value: SpxValuePair<any>;
27
33
  spxCapitalize: boolean;
@@ -32,14 +38,17 @@ export declare class SpxInputComponent {
32
38
  spxEdit: EventEmitter<void>;
33
39
  spxHelp: EventEmitter<void>;
34
40
  spxSearch: EventEmitter<void>;
41
+ floatInput?: SpxInputFloatComponent;
42
+ numberInput?: SpxInputNumberComponent;
43
+ textInput?: SpxInputTextComponent;
44
+ radioInput?: SpxInputRadioComponent;
35
45
  spxFocused: boolean;
36
- spxSetFocus(): Promise<void>;
37
46
  handleBlur(): void;
38
47
  handleChange(event: any): void;
39
48
  handleClear(): void;
40
49
  handleFocus(): void;
41
50
  handleSearch(): void;
42
- setFocus(): void;
51
+ setFocusIn(): void;
43
52
  setFocusOut(): void;
44
53
  handleEdit(): void;
45
54
  handleHelp(): void;
@@ -52,7 +61,6 @@ export declare class SpxInputComponent {
52
61
  _handleBlurEvent(): void;
53
62
  registerOnChange(fn: (value: any) => void): void;
54
63
  registerOnTouched(fn: () => void): void;
55
- setDisabledState(isDisabled: boolean): void;
56
64
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxInputComponent, never>;
57
- 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>;
58
66
  }
@@ -1,6 +1,11 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class SpxHomeTileComponent {
3
+ spxAutofocus?: boolean;
4
+ spxClass?: string;
5
+ spxSubtitle?: string;
3
6
  spxTitle?: string;
7
+ private buttonRef?;
8
+ setFocus(): void;
4
9
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxHomeTileComponent, never>;
5
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxHomeTileComponent, "spx-home-tile", never, { "spxTitle": { "alias": "spxTitle"; "required": false; }; }, {}, never, ["*"], true, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxHomeTileComponent, "spx-home-tile", never, { "spxAutofocus": { "alias": "spxAutofocus"; "required": false; }; "spxClass": { "alias": "spxClass"; "required": false; }; "spxSubtitle": { "alias": "spxSubtitle"; "required": false; }; "spxTitle": { "alias": "spxTitle"; "required": false; }; }, {}, never, ["*"], true, never>;
6
11
  }
@@ -14,6 +14,8 @@ export interface SpxNavigationItemI {
14
14
  iconShortcut?: IconDefinition;
15
15
  routerLink: string;
16
16
  signInRequired?: boolean;
17
+ tileClasses?: string;
17
18
  title: string;
19
+ subtite?: string;
18
20
  currentSettingsRequired?: boolean;
19
21
  }
@@ -1,11 +1,14 @@
1
- import { EventEmitter, TemplateRef } from '@angular/core';
1
+ import { EventEmitter, QueryList, TemplateRef } from '@angular/core';
2
2
  import { SpxNavigationItemI } from './spx-navigation-item.interface';
3
+ import { SpxHomeTileComponent } from './spx-home-tile.component';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class SpxNavigationComponent {
6
+ tiles?: QueryList<SpxHomeTileComponent>;
5
7
  iconTemplateRef?: TemplateRef<any>;
6
8
  navItems: SpxNavigationItemI[];
7
9
  spxClick: EventEmitter<string>;
8
10
  constructor();
11
+ setFocus(): void;
9
12
  onNavigate(link: string): void;
10
13
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxNavigationComponent, never>;
11
14
  static ɵcmp: i0.ɵɵComponentDeclaration<SpxNavigationComponent, "spx-navigation", never, { "navItems": { "alias": "navItems"; "required": false; }; }, { "spxClick": "spxClick"; }, ["iconTemplateRef"], never, true, never>;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@softpak/components/spx-number-check" />
5
+ export * from './public-api';
@@ -0,0 +1 @@
1
+ export * from './spx-number-check.component';
@@ -0,0 +1,48 @@
1
+ import { ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
+ import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
3
+ import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
4
+ import { Subscription } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ export declare class SpxNumberCheckComponent implements OnChanges, OnInit, OnDestroy {
7
+ private readonly formBuilder;
8
+ spxAction: string;
9
+ spxSimpleMode: boolean;
10
+ spxPincode: string;
11
+ txtCancel: string;
12
+ txtConfirm: string;
13
+ txtConfirmMessage: string;
14
+ txtReset: string;
15
+ spxCancel: EventEmitter<void>;
16
+ spxConfirm: EventEmitter<void>;
17
+ viewChild1: ElementRef<HTMLInputElement>;
18
+ viewChild2: ElementRef<HTMLInputElement>;
19
+ viewChild3: ElementRef<HTMLInputElement>;
20
+ viewChild4: ElementRef<HTMLInputElement>;
21
+ form: FormGroup;
22
+ severityError: SpxSeverityEnum;
23
+ severitySuccess: SpxSeverityEnum;
24
+ severityWarning: SpxSeverityEnum;
25
+ accepted: boolean;
26
+ denied: boolean;
27
+ listenToCtrl1?: Subscription;
28
+ listenToCtrl2?: Subscription;
29
+ listenToCtrl3?: Subscription;
30
+ listenToCtrl4?: Subscription;
31
+ listenToTyping?: Subscription;
32
+ get ctrl1(): FormControl;
33
+ get ctrl2(): FormControl;
34
+ get ctrl3(): FormControl;
35
+ get ctrl4(): FormControl;
36
+ constructor(formBuilder: FormBuilder);
37
+ ngOnInit(): void;
38
+ ngOnChanges(changes: SimpleChanges): void;
39
+ ngOnDestroy(): void;
40
+ handleCancel(): void;
41
+ handleConfirm(): void;
42
+ handleReset(): void;
43
+ onDigitInput(event: any): void;
44
+ onBackspace(event: any): void;
45
+ private checkPincode;
46
+ static ɵfac: i0.ɵɵFactoryDeclaration<SpxNumberCheckComponent, never>;
47
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxNumberCheckComponent, "spx-number-check", never, { "spxAction": { "alias": "spxAction"; "required": false; }; "spxSimpleMode": { "alias": "spxSimpleMode"; "required": false; }; "spxPincode": { "alias": "spxPincode"; "required": false; }; "txtCancel": { "alias": "txtCancel"; "required": false; }; "txtConfirm": { "alias": "txtConfirm"; "required": false; }; "txtConfirmMessage": { "alias": "txtConfirmMessage"; "required": false; }; "txtReset": { "alias": "txtReset"; "required": false; }; }, { "spxCancel": "spxCancel"; "spxConfirm": "spxConfirm"; }, never, never, true, never>;
48
+ }
@@ -1,7 +1,9 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class SpxSuggestionComponent {
3
3
  spxDisabled: boolean;
4
+ spxFocused: boolean;
4
5
  spxSelected: boolean;
6
+ spxTabbable: boolean;
5
7
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxSuggestionComponent, never>;
6
- 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>;
7
9
  }
@@ -5,7 +5,7 @@ export declare class SpxToasterComponent {
5
5
  hostClass: boolean;
6
6
  messages: SpxToasterMessageI[];
7
7
  spxClose: EventEmitter<number>;
8
- doCloseMessage(id: number): void;
8
+ handleClose(id: number): void;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxToasterComponent, never>;
10
10
  static ɵcmp: i0.ɵɵComponentDeclaration<SpxToasterComponent, "spx-toaster", never, { "messages": { "alias": "messages"; "required": false; }; }, { "spxClose": "spxClose"; }, never, never, true, never>;
11
11
  }
@@ -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}.left-0{left:0}.right-0{right:0}.z-20{z-index:20}.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}.mt-3{margin-top:.75rem}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-4{height:1rem}.h-full{height:100%}.w-4{width:1rem}.w-full{width:100%}.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))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.text-ellipsis{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-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-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-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-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.p-0{padding:0}.p-0\.5{padding:.125rem}.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}.font-medium{font-weight:500}.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}.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)}.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-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/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}.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-\[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}.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-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,28 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { SpxValidateControlComponent } from './spx-validate-control.component';
4
- import { FormsModule } from '@angular/forms';
5
- import * as i0 from "@angular/core";
6
- export class SpxValidationModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: SpxValidationModule, declarations: [SpxValidateControlComponent], imports: [CommonModule,
9
- FormsModule], exports: [SpxValidateControlComponent] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxValidationModule, imports: [CommonModule,
11
- FormsModule] }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxValidationModule, decorators: [{
14
- type: NgModule,
15
- args: [{
16
- declarations: [
17
- SpxValidateControlComponent
18
- ],
19
- imports: [
20
- CommonModule,
21
- FormsModule,
22
- ],
23
- exports: [
24
- SpxValidateControlComponent
25
- ]
26
- }]
27
- }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXZhbGlkYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC12YWxpZGF0aW9uL3NweC12YWxpZGF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBYzdDLE1BQU0sT0FBTyxtQkFBbUI7OEdBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1CLGlCQVY1QiwyQkFBMkIsYUFHM0IsWUFBWTtZQUNaLFdBQVcsYUFHWCwyQkFBMkI7K0dBR2xCLG1CQUFtQixZQVA1QixZQUFZO1lBQ1osV0FBVzs7MkZBTUYsbUJBQW1CO2tCQVovQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiwyQkFBMkI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7cUJBQ1o7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDJCQUEyQjtxQkFDNUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNweFZhbGlkYXRlQ29udHJvbENvbXBvbmVudCB9IGZyb20gJy4vc3B4LXZhbGlkYXRlLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTcHhWYWxpZGF0ZUNvbnRyb2xDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNweFZhbGlkYXRlQ29udHJvbENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNweFZhbGlkYXRpb25Nb2R1bGUgeyB9XG4iXX0=