@wlcm/angular 0.0.0

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 (150) hide show
  1. package/README.md +62 -0
  2. package/button/README.md +7 -0
  3. package/button/esm2022/index.mjs +3 -0
  4. package/button/esm2022/lib/button.module.mjs +16 -0
  5. package/button/esm2022/lib/components/button/button.component.mjs +37 -0
  6. package/button/esm2022/lib/models/button.models.mjs +2 -0
  7. package/button/esm2022/wlcm-angular-button.mjs +5 -0
  8. package/button/fesm2022/wlcm-angular-button.mjs +57 -0
  9. package/button/fesm2022/wlcm-angular-button.mjs.map +1 -0
  10. package/button/index.d.ts +2 -0
  11. package/button/lib/button.module.d.ts +7 -0
  12. package/button/lib/components/button/button.component.d.ts +13 -0
  13. package/button/lib/models/button.models.d.ts +1 -0
  14. package/core/README.md +7 -0
  15. package/core/esm2022/index.mjs +10 -0
  16. package/core/esm2022/lib/components/chevron-down-icon/chevron-down-icon.component.mjs +12 -0
  17. package/core/esm2022/lib/components/close-icon/close-icon.component.mjs +12 -0
  18. package/core/esm2022/lib/components/search-icon/search-icon.component.mjs +12 -0
  19. package/core/esm2022/lib/constants/http.constants.mjs +6 -0
  20. package/core/esm2022/lib/models/option.models.mjs +15 -0
  21. package/core/esm2022/lib/models/paginated-data.models.mjs +2 -0
  22. package/core/esm2022/lib/models/query-params.models.mjs +6 -0
  23. package/core/esm2022/lib/utils/stream.utils.mjs +28 -0
  24. package/core/esm2022/wlcm-angular-core.mjs +5 -0
  25. package/core/fesm2022/wlcm-angular-core.mjs +92 -0
  26. package/core/fesm2022/wlcm-angular-core.mjs.map +1 -0
  27. package/core/index.d.ts +8 -0
  28. package/core/lib/components/chevron-down-icon/chevron-down-icon.component.d.ts +5 -0
  29. package/core/lib/components/close-icon/close-icon.component.d.ts +5 -0
  30. package/core/lib/components/search-icon/search-icon.component.d.ts +5 -0
  31. package/core/lib/constants/http.constants.d.ts +2 -0
  32. package/core/lib/models/option.models.d.ts +11 -0
  33. package/core/lib/models/paginated-data.models.d.ts +6 -0
  34. package/core/lib/models/query-params.models.d.ts +26 -0
  35. package/core/lib/utils/stream.utils.d.ts +7 -0
  36. package/filters/README.md +7 -0
  37. package/filters/esm2022/index.mjs +8 -0
  38. package/filters/esm2022/lib/filters/components/filters/filters.component.mjs +21 -0
  39. package/filters/esm2022/lib/filters/components/filters-button/filters-button.component.mjs +25 -0
  40. package/filters/esm2022/lib/filters/components/filters-panel/filters-panel.component.mjs +86 -0
  41. package/filters/esm2022/lib/filters/components/filters-unit/filters-unit.component.mjs +55 -0
  42. package/filters/esm2022/lib/filters/directives/filters-content.directive.mjs +11 -0
  43. package/filters/esm2022/lib/filters/directives/filters-trigger.directive.mjs +69 -0
  44. package/filters/esm2022/lib/filters/filters.module.mjs +53 -0
  45. package/filters/esm2022/lib/filters/models/filters-default-selection-model.mjs +56 -0
  46. package/filters/esm2022/lib/filters/models/filters-trigger.base.mjs +56 -0
  47. package/filters/esm2022/lib/filters/models/filters.models.mjs +44 -0
  48. package/filters/esm2022/lib/filters/pipes/is-filters-param-checked.pipe.mjs +21 -0
  49. package/filters/esm2022/lib/filters/pipes/total-filters-applied.pipe.mjs +18 -0
  50. package/filters/esm2022/lib/filters/utils/filters.utils.mjs +13 -0
  51. package/filters/esm2022/wlcm-angular-filters.mjs +5 -0
  52. package/filters/fesm2022/wlcm-angular-filters.mjs +474 -0
  53. package/filters/fesm2022/wlcm-angular-filters.mjs.map +1 -0
  54. package/filters/index.d.ts +7 -0
  55. package/filters/lib/filters/components/filters/filters.component.d.ts +10 -0
  56. package/filters/lib/filters/components/filters-button/filters-button.component.d.ts +11 -0
  57. package/filters/lib/filters/components/filters-panel/filters-panel.component.d.ts +25 -0
  58. package/filters/lib/filters/components/filters-unit/filters-unit.component.d.ts +21 -0
  59. package/filters/lib/filters/directives/filters-content.directive.d.ts +5 -0
  60. package/filters/lib/filters/directives/filters-trigger.directive.d.ts +22 -0
  61. package/filters/lib/filters/filters.module.d.ts +20 -0
  62. package/filters/lib/filters/models/filters-default-selection-model.d.ts +18 -0
  63. package/filters/lib/filters/models/filters-trigger.base.d.ts +15 -0
  64. package/filters/lib/filters/models/filters.models.d.ts +42 -0
  65. package/filters/lib/filters/pipes/is-filters-param-checked.pipe.d.ts +10 -0
  66. package/filters/lib/filters/pipes/total-filters-applied.pipe.d.ts +8 -0
  67. package/filters/lib/filters/utils/filters.utils.d.ts +5 -0
  68. package/forms/README.md +7 -0
  69. package/forms/esm2022/index.mjs +10 -0
  70. package/forms/esm2022/lib/forms/components/autocomplete/autocomplete.component.mjs +164 -0
  71. package/forms/esm2022/lib/forms/components/error/error.component.mjs +12 -0
  72. package/forms/esm2022/lib/forms/components/form-field/form-field.component.mjs +118 -0
  73. package/forms/esm2022/lib/forms/components/index.mjs +6 -0
  74. package/forms/esm2022/lib/forms/components/label/label.component.mjs +23 -0
  75. package/forms/esm2022/lib/forms/components/select/select.component.mjs +107 -0
  76. package/forms/esm2022/lib/forms/constants/form-elements.constants.mjs +5 -0
  77. package/forms/esm2022/lib/forms/constants/form-errors.constants.mjs +7 -0
  78. package/forms/esm2022/lib/forms/constants/form-state-handlers.constants.mjs +13 -0
  79. package/forms/esm2022/lib/forms/constants/index.mjs +4 -0
  80. package/forms/esm2022/lib/forms/directives/ac-input-binder.directive.mjs +33 -0
  81. package/forms/esm2022/lib/forms/directives/autocomplete.directive.mjs +63 -0
  82. package/forms/esm2022/lib/forms/directives/form-field-custom-container.directive.mjs +17 -0
  83. package/forms/esm2022/lib/forms/directives/form-field-hint.directive.mjs +15 -0
  84. package/forms/esm2022/lib/forms/directives/form-field-suffix.directive.mjs +14 -0
  85. package/forms/esm2022/lib/forms/directives/input.directive.mjs +35 -0
  86. package/forms/esm2022/lib/forms/forms.module.mjs +51 -0
  87. package/forms/esm2022/lib/forms/models/_index.mjs +4 -0
  88. package/forms/esm2022/lib/forms/models/form-errors.models.mjs +2 -0
  89. package/forms/esm2022/lib/forms/models/form.models.mjs +2 -0
  90. package/forms/esm2022/lib/forms/models/input.models.mjs +2 -0
  91. package/forms/esm2022/lib/forms/pipes/errors-mapper.pipe.mjs +53 -0
  92. package/forms/esm2022/lib/forms/services/form-state-handler.service.mjs +19 -0
  93. package/forms/esm2022/lib/forms/services/index.mjs +2 -0
  94. package/forms/esm2022/wlcm-angular-forms.mjs +5 -0
  95. package/forms/fesm2022/wlcm-angular-forms.mjs +675 -0
  96. package/forms/fesm2022/wlcm-angular-forms.mjs.map +1 -0
  97. package/forms/index.d.ts +9 -0
  98. package/forms/lib/forms/components/autocomplete/autocomplete.component.d.ts +46 -0
  99. package/forms/lib/forms/components/error/error.component.d.ts +5 -0
  100. package/forms/lib/forms/components/form-field/form-field.component.d.ts +27 -0
  101. package/forms/lib/forms/components/index.d.ts +5 -0
  102. package/forms/lib/forms/components/label/label.component.d.ts +7 -0
  103. package/forms/lib/forms/components/select/select.component.d.ts +31 -0
  104. package/forms/lib/forms/constants/form-elements.constants.d.ts +6 -0
  105. package/forms/lib/forms/constants/form-errors.constants.d.ts +4 -0
  106. package/forms/lib/forms/constants/form-state-handlers.constants.d.ts +6 -0
  107. package/forms/lib/forms/constants/index.d.ts +3 -0
  108. package/forms/lib/forms/directives/ac-input-binder.directive.d.ts +5 -0
  109. package/forms/lib/forms/directives/autocomplete.directive.d.ts +16 -0
  110. package/forms/lib/forms/directives/form-field-custom-container.directive.d.ts +8 -0
  111. package/forms/lib/forms/directives/form-field-hint.directive.d.ts +5 -0
  112. package/forms/lib/forms/directives/form-field-suffix.directive.d.ts +5 -0
  113. package/forms/lib/forms/directives/input.directive.d.ts +5 -0
  114. package/forms/lib/forms/forms.module.d.ts +15 -0
  115. package/forms/lib/forms/models/_index.d.ts +3 -0
  116. package/forms/lib/forms/models/form-errors.models.d.ts +5 -0
  117. package/forms/lib/forms/models/form.models.d.ts +11 -0
  118. package/forms/lib/forms/models/input.models.d.ts +7 -0
  119. package/forms/lib/forms/pipes/errors-mapper.pipe.d.ts +17 -0
  120. package/forms/lib/forms/services/form-state-handler.service.d.ts +10 -0
  121. package/forms/lib/forms/services/index.d.ts +1 -0
  122. package/index.d.ts +1 -0
  123. package/index.mjs +4 -0
  124. package/package.json +109 -0
  125. package/search-field/README.md +7 -0
  126. package/search-field/esm2022/index.mjs +3 -0
  127. package/search-field/esm2022/lib/components/search-field/search-field.component.mjs +36 -0
  128. package/search-field/esm2022/lib/search-field.module.mjs +18 -0
  129. package/search-field/esm2022/wlcm-angular-search-field.mjs +5 -0
  130. package/search-field/fesm2022/wlcm-angular-search-field.mjs +57 -0
  131. package/search-field/fesm2022/wlcm-angular-search-field.mjs.map +1 -0
  132. package/search-field/index.d.ts +2 -0
  133. package/search-field/lib/components/search-field/search-field.component.d.ts +14 -0
  134. package/search-field/lib/search-field.module.d.ts +8 -0
  135. package/styles/components/button/index.scss +91 -0
  136. package/styles/components/common/index.scss +33 -0
  137. package/styles/components/filters/_filters-panel.scss +44 -0
  138. package/styles/components/filters/_filters-unit.scss +92 -0
  139. package/styles/components/filters/index.scss +7 -0
  140. package/styles/components/forms/_checkbox.scss +89 -0
  141. package/styles/components/forms/_error.scss +23 -0
  142. package/styles/components/forms/_form-field.scss +65 -0
  143. package/styles/components/forms/_label.scss +42 -0
  144. package/styles/components/forms/_select.scss +74 -0
  145. package/styles/components/forms/index.scss +13 -0
  146. package/styles/components/search-field/index.scss +31 -0
  147. package/styles/core/_all-theme.scss +15 -0
  148. package/styles/core/_core.scss +10 -0
  149. package/styles/core/_utils.scss +53 -0
  150. package/styles/wlcm.scss +3 -0
@@ -0,0 +1,36 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { DEFAULT_QUERY_PARAMS, SearchIconComponent } from '@wlcm/angular/core';
3
+ import { BehaviorSubject, debounceTime, skip } from 'rxjs';
4
+ import { CommonModule } from '@angular/common';
5
+ import * as i0 from "@angular/core";
6
+ export class WlcmSearchFieldComponent {
7
+ constructor() {
8
+ this.placeholder = 'Search by';
9
+ this.queryParams = DEFAULT_QUERY_PARAMS;
10
+ this.queryParamsChange = new EventEmitter();
11
+ this._inputValue$ = new BehaviorSubject('');
12
+ }
13
+ ngOnInit() {
14
+ this._inputValue$.next(this.queryParams.query);
15
+ this.handleInputValue();
16
+ }
17
+ handleInputValue() {
18
+ this._inputValue$.pipe(skip(1), debounceTime(400)).subscribe((query) => {
19
+ const params = { ...this.queryParams, page: 1, query };
20
+ this.queryParamsChange.emit(params);
21
+ });
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmSearchFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: WlcmSearchFieldComponent, isStandalone: true, selector: "wlcm-search-field", inputs: { placeholder: "placeholder", queryParams: "queryParams" }, outputs: { queryParamsChange: "queryParamsChange" }, ngImport: i0, template: "<div class=\"wlcm-search-field\">\n <wlcm-search-icon></wlcm-search-icon>\n\n <input\n #field\n type=\"text\"\n class=\"wlcm-search-field__input\"\n [placeholder]=\"placeholder\"\n [value]=\"queryParams.query\"\n (input)=\"_inputValue$.next(field.value)\"\n />\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: SearchIconComponent, selector: "wlcm-search-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmSearchFieldComponent, decorators: [{
27
+ type: Component,
28
+ args: [{ selector: 'wlcm-search-field', standalone: true, imports: [CommonModule, SearchIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"wlcm-search-field\">\n <wlcm-search-icon></wlcm-search-icon>\n\n <input\n #field\n type=\"text\"\n class=\"wlcm-search-field__input\"\n [placeholder]=\"placeholder\"\n [value]=\"queryParams.query\"\n (input)=\"_inputValue$.next(field.value)\"\n />\n</div>\n" }]
29
+ }], propDecorators: { placeholder: [{
30
+ type: Input
31
+ }], queryParams: [{
32
+ type: Input
33
+ }], queryParamsChange: [{
34
+ type: Output
35
+ }] } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvc2VhcmNoLWZpZWxkL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2gtZmllbGQvc2VhcmNoLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvc2VhcmNoLWZpZWxkL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2gtZmllbGQvc2VhcmNoLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLG9CQUFvQixFQUFlLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFVL0MsTUFBTSxPQUFPLHdCQUF3QjtJQVJyQztRQVNXLGdCQUFXLEdBQVcsV0FBVyxDQUFDO1FBRWxDLGdCQUFXLEdBQWdCLG9CQUFvQixDQUFDO1FBRS9DLHNCQUFpQixHQUE4QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRW5FLGlCQUFZLEdBQTRCLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBZTFFO0lBYkMsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0MsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDN0UsTUFBTSxNQUFNLEdBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFFcEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBckJVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLHNNQ2JyQyxxU0FZQSx5RERKWSxZQUFZLCtCQUFFLG1CQUFtQjs7MkZBS2hDLHdCQUF3QjtrQkFScEMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDLG1CQUczQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERFRkFVTFRfUVVFUllfUEFSQU1TLCBRdWVyeVBhcmFtcywgU2VhcmNoSWNvbkNvbXBvbmVudCB9IGZyb20gJ0B3bGNtL2FuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRlYm91bmNlVGltZSwgc2tpcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2xjbS1zZWFyY2gtZmllbGQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTZWFyY2hJY29uQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgV2xjbVNlYXJjaEZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdTZWFyY2ggYnknO1xuXG4gIEBJbnB1dCgpIHF1ZXJ5UGFyYW1zOiBRdWVyeVBhcmFtcyA9IERFRkFVTFRfUVVFUllfUEFSQU1TO1xuXG4gIEBPdXRwdXQoKSBxdWVyeVBhcmFtc0NoYW5nZTogRXZlbnRFbWl0dGVyPFF1ZXJ5UGFyYW1zPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICByZWFkb25seSBfaW5wdXRWYWx1ZSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnJyk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5faW5wdXRWYWx1ZSQubmV4dCh0aGlzLnF1ZXJ5UGFyYW1zLnF1ZXJ5KTtcblxuICAgIHRoaXMuaGFuZGxlSW5wdXRWYWx1ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVJbnB1dFZhbHVlKCk6IHZvaWQge1xuICAgIHRoaXMuX2lucHV0VmFsdWUkLnBpcGUoc2tpcCgxKSwgZGVib3VuY2VUaW1lKDQwMCkpLnN1YnNjcmliZSgocXVlcnk6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgcGFyYW1zOiBRdWVyeVBhcmFtcyA9IHsgLi4udGhpcy5xdWVyeVBhcmFtcywgcGFnZTogMSwgcXVlcnkgfTtcblxuICAgICAgdGhpcy5xdWVyeVBhcmFtc0NoYW5nZS5lbWl0KHBhcmFtcyk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3bGNtLXNlYXJjaC1maWVsZFwiPlxuICA8d2xjbS1zZWFyY2gtaWNvbj48L3dsY20tc2VhcmNoLWljb24+XG5cbiAgPGlucHV0XG4gICAgI2ZpZWxkXG4gICAgdHlwZT1cInRleHRcIlxuICAgIGNsYXNzPVwid2xjbS1zZWFyY2gtZmllbGRfX2lucHV0XCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFt2YWx1ZV09XCJxdWVyeVBhcmFtcy5xdWVyeVwiXG4gICAgKGlucHV0KT1cIl9pbnB1dFZhbHVlJC5uZXh0KGZpZWxkLnZhbHVlKVwiXG4gIC8+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { WlcmSearchFieldComponent } from './components/search-field/search-field.component';
4
+ import * as i0 from "@angular/core";
5
+ export class WlcmSearchFieldModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmSearchFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: WlcmSearchFieldModule, imports: [CommonModule, WlcmSearchFieldComponent], exports: [WlcmSearchFieldComponent] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmSearchFieldModule, imports: [CommonModule, WlcmSearchFieldComponent] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmSearchFieldModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [],
14
+ imports: [CommonModule, WlcmSearchFieldComponent],
15
+ exports: [WlcmSearchFieldComponent],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpZWxkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZHVsZXMvc2VhcmNoLWZpZWxkL3NyYy9saWIvc2VhcmNoLWZpZWxkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7QUFNNUYsTUFBTSxPQUFPLHFCQUFxQjs4R0FBckIscUJBQXFCOytHQUFyQixxQkFBcUIsWUFIdEIsWUFBWSxFQUFFLHdCQUF3QixhQUN0Qyx3QkFBd0I7K0dBRXZCLHFCQUFxQixZQUh0QixZQUFZLEVBQUUsd0JBQXdCOzsyRkFHckMscUJBQXFCO2tCQUxqQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsd0JBQXdCLENBQUM7b0JBQ2pELE9BQU8sRUFBRSxDQUFDLHdCQUF3QixDQUFDO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgV2xjbVNlYXJjaEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlYXJjaC1maWVsZC9zZWFyY2gtZmllbGQuY29tcG9uZW50JztcbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFdsY21TZWFyY2hGaWVsZENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtXbGNtU2VhcmNoRmllbGRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBXbGNtU2VhcmNoRmllbGRNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2xjbS1hbmd1bGFyLXNlYXJjaC1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL21vZHVsZXMvc2VhcmNoLWZpZWxkL3NyYy93bGNtLWFuZ3VsYXItc2VhcmNoLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,57 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output, NgModule } from '@angular/core';
3
+ import { DEFAULT_QUERY_PARAMS, SearchIconComponent } from '@wlcm/angular/core';
4
+ import { BehaviorSubject, skip, debounceTime } from 'rxjs';
5
+ import { CommonModule } from '@angular/common';
6
+
7
+ class WlcmSearchFieldComponent {
8
+ constructor() {
9
+ this.placeholder = 'Search by';
10
+ this.queryParams = DEFAULT_QUERY_PARAMS;
11
+ this.queryParamsChange = new EventEmitter();
12
+ this._inputValue$ = new BehaviorSubject('');
13
+ }
14
+ ngOnInit() {
15
+ this._inputValue$.next(this.queryParams.query);
16
+ this.handleInputValue();
17
+ }
18
+ handleInputValue() {
19
+ this._inputValue$.pipe(skip(1), debounceTime(400)).subscribe((query) => {
20
+ const params = { ...this.queryParams, page: 1, query };
21
+ this.queryParamsChange.emit(params);
22
+ });
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmSearchFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: WlcmSearchFieldComponent, isStandalone: true, selector: "wlcm-search-field", inputs: { placeholder: "placeholder", queryParams: "queryParams" }, outputs: { queryParamsChange: "queryParamsChange" }, ngImport: i0, template: "<div class=\"wlcm-search-field\">\n <wlcm-search-icon></wlcm-search-icon>\n\n <input\n #field\n type=\"text\"\n class=\"wlcm-search-field__input\"\n [placeholder]=\"placeholder\"\n [value]=\"queryParams.query\"\n (input)=\"_inputValue$.next(field.value)\"\n />\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: SearchIconComponent, selector: "wlcm-search-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmSearchFieldComponent, decorators: [{
28
+ type: Component,
29
+ args: [{ selector: 'wlcm-search-field', standalone: true, imports: [CommonModule, SearchIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"wlcm-search-field\">\n <wlcm-search-icon></wlcm-search-icon>\n\n <input\n #field\n type=\"text\"\n class=\"wlcm-search-field__input\"\n [placeholder]=\"placeholder\"\n [value]=\"queryParams.query\"\n (input)=\"_inputValue$.next(field.value)\"\n />\n</div>\n" }]
30
+ }], propDecorators: { placeholder: [{
31
+ type: Input
32
+ }], queryParams: [{
33
+ type: Input
34
+ }], queryParamsChange: [{
35
+ type: Output
36
+ }] } });
37
+
38
+ class WlcmSearchFieldModule {
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmSearchFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
40
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: WlcmSearchFieldModule, imports: [CommonModule, WlcmSearchFieldComponent], exports: [WlcmSearchFieldComponent] }); }
41
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmSearchFieldModule, imports: [CommonModule, WlcmSearchFieldComponent] }); }
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmSearchFieldModule, decorators: [{
44
+ type: NgModule,
45
+ args: [{
46
+ declarations: [],
47
+ imports: [CommonModule, WlcmSearchFieldComponent],
48
+ exports: [WlcmSearchFieldComponent],
49
+ }]
50
+ }] });
51
+
52
+ /**
53
+ * Generated bundle index. Do not edit.
54
+ */
55
+
56
+ export { WlcmSearchFieldComponent, WlcmSearchFieldModule };
57
+ //# sourceMappingURL=wlcm-angular-search-field.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wlcm-angular-search-field.mjs","sources":["../../../../modules/search-field/src/lib/components/search-field/search-field.component.ts","../../../../modules/search-field/src/lib/components/search-field/search-field.component.html","../../../../modules/search-field/src/lib/search-field.module.ts","../../../../modules/search-field/src/wlcm-angular-search-field.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DEFAULT_QUERY_PARAMS, QueryParams, SearchIconComponent } from '@wlcm/angular/core';\nimport { BehaviorSubject, debounceTime, skip } from 'rxjs';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-search-field',\n standalone: true,\n imports: [CommonModule, SearchIconComponent],\n templateUrl: './search-field.component.html',\n styleUrls: ['./search-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class WlcmSearchFieldComponent implements OnInit {\n @Input() placeholder: string = 'Search by';\n\n @Input() queryParams: QueryParams = DEFAULT_QUERY_PARAMS;\n\n @Output() queryParamsChange: EventEmitter<QueryParams> = new EventEmitter();\n\n readonly _inputValue$: BehaviorSubject<string> = new BehaviorSubject('');\n\n ngOnInit(): void {\n this._inputValue$.next(this.queryParams.query);\n\n this.handleInputValue();\n }\n\n private handleInputValue(): void {\n this._inputValue$.pipe(skip(1), debounceTime(400)).subscribe((query: string) => {\n const params: QueryParams = { ...this.queryParams, page: 1, query };\n\n this.queryParamsChange.emit(params);\n });\n }\n}\n","<div class=\"wlcm-search-field\">\n <wlcm-search-icon></wlcm-search-icon>\n\n <input\n #field\n type=\"text\"\n class=\"wlcm-search-field__input\"\n [placeholder]=\"placeholder\"\n [value]=\"queryParams.query\"\n (input)=\"_inputValue$.next(field.value)\"\n />\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WlcmSearchFieldComponent } from './components/search-field/search-field.component';\n@NgModule({\n declarations: [],\n imports: [CommonModule, WlcmSearchFieldComponent],\n exports: [WlcmSearchFieldComponent],\n})\nexport class WlcmSearchFieldModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAaa,wBAAwB,CAAA;AARrC,IAAA,WAAA,GAAA;QASW,IAAW,CAAA,WAAA,GAAW,WAAW,CAAC;QAElC,IAAW,CAAA,WAAA,GAAgB,oBAAoB,CAAC;AAE/C,QAAA,IAAA,CAAA,iBAAiB,GAA8B,IAAI,YAAY,EAAE,CAAC;AAEnE,QAAA,IAAA,CAAA,YAAY,GAA4B,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;AAe1E,KAAA;IAbC,QAAQ,GAAA;QACN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/C,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAEO,gBAAgB,GAAA;QACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAa,KAAI;AAC7E,YAAA,MAAM,MAAM,GAAgB,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;AAEpE,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACtC,SAAC,CAAC,CAAC;KACJ;8GArBU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,ECbrC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,qSAYA,EDJY,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,+BAAE,mBAAmB,EAAA,QAAA,EAAA,kBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAKhC,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;+BACE,mBAAmB,EAAA,UAAA,EACjB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,mBAAmB,CAAC,EAAA,eAAA,EAG3B,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,qSAAA,EAAA,CAAA;8BAGtC,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEI,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;;;MEVI,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EAHtB,OAAA,EAAA,CAAA,YAAY,EAAE,wBAAwB,aACtC,wBAAwB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAEvB,qBAAqB,EAAA,OAAA,EAAA,CAHtB,YAAY,EAAE,wBAAwB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGrC,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,wBAAwB,CAAC;oBACjD,OAAO,EAAE,CAAC,wBAAwB,CAAC;AACpC,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
@@ -0,0 +1,2 @@
1
+ export * from './lib/components/search-field/search-field.component';
2
+ export * from './lib/search-field.module';
@@ -0,0 +1,14 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { QueryParams } from '@wlcm/angular/core';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ export declare class WlcmSearchFieldComponent implements OnInit {
6
+ placeholder: string;
7
+ queryParams: QueryParams;
8
+ queryParamsChange: EventEmitter<QueryParams>;
9
+ readonly _inputValue$: BehaviorSubject<string>;
10
+ ngOnInit(): void;
11
+ private handleInputValue;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmSearchFieldComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmSearchFieldComponent, "wlcm-search-field", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "queryParams": { "alias": "queryParams"; "required": false; }; }, { "queryParamsChange": "queryParamsChange"; }, never, never, true, never>;
14
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "@angular/common";
3
+ import * as i2 from "./components/search-field/search-field.component";
4
+ export declare class WlcmSearchFieldModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmSearchFieldModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<WlcmSearchFieldModule, never, [typeof i1.CommonModule, typeof i2.WlcmSearchFieldComponent], [typeof i2.WlcmSearchFieldComponent]>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<WlcmSearchFieldModule>;
8
+ }
@@ -0,0 +1,91 @@
1
+ @use 'sass:map';
2
+ @use '../../core/utils' as utils;
3
+
4
+ @mixin theme($theme-config) {
5
+ $theme: utils.using-theme($theme_config);
6
+
7
+ .wlcm-button {
8
+ display: flex;
9
+ align-items: center;
10
+ overflow: hidden;
11
+ border: none;
12
+ border-radius: 4px;
13
+ outline: none;
14
+ cursor: pointer;
15
+
16
+ &__content {
17
+ display: flex;
18
+ align-items: center;
19
+ font-family: map-get($theme, bold-font-family);
20
+ white-space: nowrap;
21
+ font-size: 14px;
22
+ }
23
+
24
+ &--large {
25
+ height: 32px;
26
+ padding: 0 16px;
27
+ }
28
+
29
+ &--small {
30
+ height: 24px;
31
+ padding: 0 16px;
32
+ }
33
+
34
+ &--primary {
35
+ background-color: map-get($theme, primary-color);
36
+ color: #ffffff;
37
+ &:hover {
38
+ background-color: lighten(map-get($theme, primary-color), 5%);
39
+ }
40
+ }
41
+ &--secondary {
42
+ background-color: map-get($theme, accent-color);
43
+ color: #5a5a5a;
44
+ &:hover {
45
+ background-color: lighten(map-get($theme, accent-color), 2.5%);
46
+ }
47
+ }
48
+ &--accent {
49
+ background-color: map-get($theme, warn-color);
50
+ color: #ffffff;
51
+ &:hover {
52
+ background-color: lighten(map-get($theme, warn-color), 5%);
53
+ }
54
+ }
55
+ &--borderless {
56
+ background-color: transparent;
57
+ color: map-get($theme, primary-color);
58
+ }
59
+ &--paddingless {
60
+ padding-left: 0;
61
+ padding-right: 0;
62
+ background-color: transparent;
63
+ color: map-get($theme, primary-color);
64
+
65
+ &.wlcm-button--disabled {
66
+ pointer-events: none;
67
+ user-select: none;
68
+ opacity: 0.5;
69
+ }
70
+ }
71
+
72
+ &--loading {
73
+ pointer-events: none;
74
+ opacity: 0.7;
75
+
76
+ mat-spinner {
77
+ margin-right: 8px;
78
+ }
79
+ }
80
+
81
+ &--disabled {
82
+ &:not(.wlcm-button--paddingless) {
83
+ pointer-events: none;
84
+
85
+ .wlcm-button__content {
86
+ opacity: 0.7;
87
+ }
88
+ }
89
+ }
90
+ }
91
+ }
@@ -0,0 +1,33 @@
1
+ @use 'sass:map';
2
+ @use '../../core/utils' as utils;
3
+
4
+ @mixin theme($theme-config) {
5
+ $theme: utils.using-theme($theme_config);
6
+
7
+ .wlcm-entities-count {
8
+ height: 14px;
9
+ min-width: 14px;
10
+ display: flex;
11
+ align-items: center;
12
+ justify-content: center;
13
+ font-family: map-get($theme, bold-font-family);
14
+ background: map-get($theme, selected-option-color);
15
+ color: map-get($theme, primary-color);
16
+ letter-spacing: 0.32px;
17
+ box-sizing: border-box;
18
+ border-radius: 4px;
19
+ font-size: 11px;
20
+ padding: 0 5px;
21
+ }
22
+
23
+ .wlcm-hint {
24
+ color: #5a5a5a;
25
+ letter-spacing: 0.35px;
26
+ line-height: 20px;
27
+ font-size: 12px;
28
+ }
29
+
30
+ .wlcm-cursor-pointer {
31
+ cursor: pointer;
32
+ }
33
+ }
@@ -0,0 +1,44 @@
1
+ @use 'sass:map';
2
+ @use '../../core/utils' as utils;
3
+
4
+ @mixin theme($theme-config) {
5
+ $theme: utils.using-theme($theme_config);
6
+
7
+ .wlcm-filters-panel {
8
+ width: 100%;
9
+ padding: 16px;
10
+ box-sizing: border-box;
11
+ box-shadow: 0 10px 32px 0 rgba(38, 41, 45, 0.15);
12
+ background: white;
13
+ border-radius: 4px;
14
+
15
+ &__title {
16
+ font-size: 16px;
17
+ letter-spacing: 0.47px;
18
+ font-family: map-get($theme, bold-font-family);
19
+ line-height: 24px;
20
+ margin: 0 0 8px 0;
21
+ margin-bottom: 0;
22
+ }
23
+ }
24
+
25
+ .wlcm-filters-panel-header {
26
+ display: flex;
27
+ align-items: center;
28
+ justify-content: space-between;
29
+ margin-bottom: 10px;
30
+ }
31
+
32
+ .wlcm-filters-panel-units {
33
+ display: grid;
34
+ grid-auto-flow: row;
35
+ grid-auto-rows: max-content;
36
+ margin-bottom: 16px;
37
+ gap: 8px;
38
+ }
39
+
40
+ .wlcm-filters-panel-actions {
41
+ display: flex;
42
+ justify-content: flex-end;
43
+ }
44
+ }
@@ -0,0 +1,92 @@
1
+ @use 'sass:map';
2
+ @use '../../core/utils' as utils;
3
+
4
+ @mixin theme($theme-config) {
5
+ $theme: utils.using-theme($theme_config);
6
+
7
+ .wlcm-filters-unit {
8
+ &__chevron {
9
+ width: 12px;
10
+ height: 12px;
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: center;
14
+ transform: rotateZ(-90deg);
15
+ transition: 225ms cubic-bezier(0.4, 0, 0.2, 1),
16
+ box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
17
+ }
18
+ }
19
+
20
+ .wlcm-filters-unit-header {
21
+ display: flex;
22
+ align-items: center;
23
+ justify-content: space-between;
24
+ height: 30px;
25
+ width: 100%;
26
+
27
+ section {
28
+ display: flex;
29
+ align-items: center;
30
+ }
31
+
32
+ .wlcm-entities-count {
33
+ margin-left: 6px;
34
+ }
35
+
36
+ .reset-btn {
37
+ margin-right: 12px;
38
+ }
39
+
40
+ &__label {
41
+ font-family: map-get($theme, bold-font-family);
42
+ letter-spacing: 0.41px;
43
+ line-height: 24px;
44
+ font-size: 14px;
45
+ }
46
+ }
47
+
48
+ .reset-btn {
49
+ border: none;
50
+ outline: none;
51
+ background: white;
52
+ font-family: map-get($theme, bold-font-family);
53
+ color: map-get($theme, primary-color);
54
+ letter-spacing: 0.41px;
55
+ font-size: 14px;
56
+ padding: 0;
57
+ }
58
+
59
+ .wlcm-filters-unit-checkboxes {
60
+ display: grid;
61
+ grid-auto-flow: row;
62
+ grid-auto-rows: max-content;
63
+ gap: 4px;
64
+ }
65
+
66
+ .wlcm-filters-unit {
67
+ box-shadow: none !important;
68
+
69
+ .wlcm-filters-unit-header {
70
+ background-color: white !important;
71
+ }
72
+
73
+ .mat-content {
74
+ margin: 0 !important;
75
+ }
76
+
77
+ .mat-expansion-panel-body {
78
+ padding: 8px 0 !important;
79
+ }
80
+
81
+ &.mat-expanded {
82
+ .wlcm-filters-unit__chevron {
83
+ color: map-get($theme, primary-color);
84
+ transform: rotateZ(0deg);
85
+ }
86
+ }
87
+
88
+ mat-expansion-panel-header {
89
+ padding: 0 !important;
90
+ }
91
+ }
92
+ }
@@ -0,0 +1,7 @@
1
+ @use './filters-unit' as filtersUnit;
2
+ @use './filters-panel' as filtersPanel;
3
+
4
+ @mixin theme($theme-config) {
5
+ @include filtersUnit.theme($theme-config);
6
+ @include filtersPanel.theme($theme-config);
7
+ }
@@ -0,0 +1,89 @@
1
+ @use 'sass:map';
2
+ @use '../../core/utils' as utils;
3
+
4
+ @mixin theme($theme-config) {
5
+ $color-config: utils.get-color-config($theme_config);
6
+ $primary: map-get($color-config, primary);
7
+ $accent: map-get($color-config, accent);
8
+ $warn: map-get($color-config, warn);
9
+
10
+ $typography-config: utils.get-typography-config($theme_config);
11
+ $bold-font-family: utils.get-bold-typography($typography-config);
12
+ $medium-font-family: utils.get-medium-typography($typography-config);
13
+ $regular-font-family: utils.get-regular-typography($typography-config);
14
+
15
+ mat-checkbox {
16
+ .mdc-checkbox {
17
+ padding: 0 !important;
18
+ }
19
+
20
+ .mat-ripple,
21
+ .mdc-checkbox__ripple {
22
+ display: none !important;
23
+ }
24
+
25
+ .mdc-checkbox__background {
26
+ width: 16px;
27
+ height: 16px;
28
+ box-sizing: border-box;
29
+ top: 0 !important;
30
+ left: 0 !important;
31
+ background: transparent !important;
32
+ border: 1px solid #d5d5d5 !important;
33
+ border-radius: 4px;
34
+
35
+ .mdc-checkbox__checkmark {
36
+ transition: 0s !important;
37
+ }
38
+ }
39
+
40
+ .mdc-checkbox__checkmark-path {
41
+ stroke: $primary !important;
42
+ d: path('M 5 11.7 L 11 16.6 L 19 7') !important;
43
+ }
44
+
45
+ label {
46
+ padding-left: 8px !important;
47
+ padding-bottom: 2px !important;
48
+ letter-spacing: 0.41px;
49
+ line-height: 24px;
50
+ user-select: none;
51
+ font-size: 14px;
52
+ }
53
+
54
+ &.mat-mdc-checkbox-checked {
55
+ .mdc-checkbox__background {
56
+ color: $primary !important;
57
+ border-color: $primary !important;
58
+ border-width: 2px !important;
59
+ }
60
+ }
61
+
62
+ .mdc-checkbox__native-control {
63
+ top: 0 !important;
64
+ left: 0 !important;
65
+ height: auto !important;
66
+ width: auto !important;
67
+ }
68
+ }
69
+
70
+ .mat-pseudo-checkbox {
71
+ width: 16px !important;
72
+ height: 16px !important;
73
+ border: 1px solid #d5d5d5 !important;
74
+ background: white !important;
75
+ border-radius: 4px !important;
76
+
77
+ &.mat-pseudo-checkbox-checked {
78
+ border-width: 2px !important;
79
+ border-color: $primary !important;
80
+
81
+ &::after {
82
+ width: 5px !important;
83
+ height: 3px !important;
84
+ border-color: $primary;
85
+ top: -2.5px !important;
86
+ }
87
+ }
88
+ }
89
+ }
@@ -0,0 +1,23 @@
1
+ @use 'sass:map';
2
+ @use '../../core/utils' as utils;
3
+
4
+ @mixin theme($theme-config) {
5
+ $color-config: utils.get-color-config($theme_config);
6
+ $primary: map-get($color-config, primary);
7
+ $accent: map-get($color-config, accent);
8
+ $warn: map-get($color-config, warn);
9
+
10
+ $typography-config: utils.get-typography-config($theme_config);
11
+ $bold-font-family: utils.get-bold-typography($typography-config);
12
+ $medium-font-family: utils.get-medium-typography($typography-config);
13
+ $regular-font-family: utils.get-regular-typography($typography-config);
14
+
15
+ .wlcm-error {
16
+ display: block;
17
+ color: $warn;
18
+ font-size: 13px;
19
+ letter-spacing: 0.35px;
20
+ font-family: $regular-font-family;
21
+ line-height: 20px;
22
+ }
23
+ }
@@ -0,0 +1,65 @@
1
+ @use 'sass:map';
2
+ @use '../../core/utils' as utils;
3
+
4
+ @mixin theme($theme-config) {
5
+ $theme: utils.using-theme($theme_config);
6
+
7
+ .wlcm-form-field {
8
+ display: block;
9
+
10
+ &.wlcm-field-focused {
11
+ .wlcm-field-container {
12
+ border-color: map-get($theme, focus-field-outline-color);
13
+ }
14
+ }
15
+
16
+ &:not(.wlcm-field-focused, .wlcm-field-touched.wlcm-field-invalid) {
17
+ .wlcm-field-container:hover {
18
+ border-color: #5a5a5a;
19
+ }
20
+ }
21
+ }
22
+
23
+ .wlcm-field-touched {
24
+ &.wlcm-field-invalid {
25
+ .wlcm-field-container {
26
+ border-color: map-get($theme, warn-color);
27
+ }
28
+
29
+ .wlcm-field-error-container {
30
+ wlcm-error {
31
+ display: block;
32
+ }
33
+ }
34
+ }
35
+ }
36
+
37
+ .wlcm-field-container {
38
+ display: flex;
39
+ align-items: center;
40
+ padding: 6px 8px;
41
+ border: 1px solid map-get($theme, field-outline-color);
42
+ box-sizing: border-box;
43
+ border-radius: 4px;
44
+ position: relative;
45
+ }
46
+
47
+ .wlcm-field-error-container {
48
+ min-height: 20px;
49
+
50
+ wlcm-error {
51
+ display: none;
52
+ }
53
+ }
54
+
55
+ .wlcm-form-field-input {
56
+ border: 0;
57
+ padding: 0;
58
+ outline: none;
59
+ line-height: 18px;
60
+ width: 100%;
61
+ font-size: 14px;
62
+ letter-spacing: 0.41px;
63
+ font-family: map-get($theme, regular-font-family);
64
+ }
65
+ }
@@ -0,0 +1,42 @@
1
+ @use 'sass:map';
2
+ @use '../../core/utils' as utils;
3
+
4
+ @mixin theme($theme-config) {
5
+ $color-config: utils.get-color-config($theme_config);
6
+ $primary: map-get($color-config, primary);
7
+ $accent: map-get($color-config, accent);
8
+ $warn: map-get($color-config, warn);
9
+
10
+ $typography-config: utils.get-typography-config($theme_config);
11
+ $bold-font-family: utils.get-bold-typography($typography-config);
12
+ $medium-font-family: utils.get-medium-typography($typography-config);
13
+ $regular-font-family: utils.get-regular-typography($typography-config);
14
+
15
+ .wlcm-label {
16
+ display: flex;
17
+ align-items: center;
18
+ font-family: $medium-font-family;
19
+ letter-spacing: 0.41px;
20
+ line-height: 20px;
21
+ margin-bottom: 5px;
22
+ font-size: 14px;
23
+
24
+ &.required {
25
+ .wlcm-label-asterisk {
26
+ display: block;
27
+ }
28
+ }
29
+ }
30
+
31
+ .wlcm-label-asterisk {
32
+ color: $warn;
33
+ display: none;
34
+ margin-right: 2px;
35
+ }
36
+
37
+ .wlcm-field-required {
38
+ .wlcm-label-asterisk {
39
+ display: block;
40
+ }
41
+ }
42
+ }