@factor_ec/ui 1.0.13 → 1.0.17

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 (123) hide show
  1. package/esm2020/factor_ec-ui.mjs +5 -0
  2. package/esm2020/lib/display/avatar/avatar.component.mjs +74 -0
  3. package/esm2020/lib/display/content/content.component.mjs +19 -0
  4. package/esm2020/lib/display/display.module.mjs +66 -0
  5. package/esm2020/lib/display/icon/icon.component.mjs +97 -0
  6. package/esm2020/lib/display/image/image.component.mjs +80 -0
  7. package/esm2020/lib/display/message/message.component.mjs +30 -0
  8. package/esm2020/lib/display/message.service.mjs +58 -0
  9. package/esm2020/lib/display/observe-intersecting.directive.mjs +43 -0
  10. package/esm2020/lib/display/progress/progress.component.mjs +42 -0
  11. package/esm2020/lib/display/progress.service.mjs +50 -0
  12. package/esm2020/lib/inputs/inputs.module.mjs +24 -0
  13. package/esm2020/lib/inputs/rating/rating.component.mjs +73 -0
  14. package/esm2020/lib/models/action.mjs +2 -0
  15. package/esm2020/lib/models/content.mjs +2 -0
  16. package/esm2020/lib/models/icon.mjs +2 -0
  17. package/esm2020/lib/models/message-options.mjs +2 -0
  18. package/esm2020/lib/models/module-configuration.mjs +2 -0
  19. package/esm2020/lib/models/ui-configuration.mjs +2 -0
  20. package/esm2020/lib/navigation/list/list.component.mjs +70 -0
  21. package/esm2020/lib/navigation/navbar/navbar.component.mjs +74 -0
  22. package/esm2020/lib/navigation/navigation.module.mjs +55 -0
  23. package/esm2020/lib/navigation/searchbox/searchbox.component.mjs +109 -0
  24. package/esm2020/lib/navigation/toolbar/toolbar.component.mjs +53 -0
  25. package/esm2020/lib/ui.module.mjs +47 -0
  26. package/esm2020/public-api.mjs +22 -0
  27. package/fesm2015/factor_ec-ui.mjs +1002 -0
  28. package/fesm2015/factor_ec-ui.mjs.map +1 -0
  29. package/fesm2020/factor_ec-ui.mjs +993 -0
  30. package/fesm2020/factor_ec-ui.mjs.map +1 -0
  31. package/index.d.ts +5 -0
  32. package/lib/display/avatar/avatar.component.d.ts +22 -0
  33. package/lib/display/content/content.component.d.ts +7 -0
  34. package/lib/display/display.module.d.ts +17 -0
  35. package/lib/display/icon/icon.component.d.ts +24 -0
  36. package/lib/display/image/image.component.d.ts +15 -0
  37. package/lib/display/message/message.component.d.ts +11 -0
  38. package/lib/display/message.service.d.ts +15 -0
  39. package/lib/display/observe-intersecting.directive.d.ts +16 -0
  40. package/lib/display/progress/progress.component.d.ts +15 -0
  41. package/lib/display/progress.service.d.ts +15 -0
  42. package/lib/inputs/inputs.module.d.ts +8 -0
  43. package/lib/inputs/rating/rating.component.d.ts +23 -0
  44. package/{src/lib/models/action.ts → lib/models/action.d.ts} +1 -1
  45. package/{src/lib/models/content.ts → lib/models/content.d.ts} +1 -1
  46. package/{src/lib/models/icon.ts → lib/models/icon.d.ts} +1 -1
  47. package/{src/lib/models/message-options.ts → lib/models/message-options.d.ts} +1 -2
  48. package/lib/models/module-configuration.d.ts +6 -0
  49. package/lib/models/ui-configuration.d.ts +7 -0
  50. package/lib/navigation/list/list.component.d.ts +21 -0
  51. package/lib/navigation/navbar/navbar.component.d.ts +23 -0
  52. package/lib/navigation/navigation.module.d.ts +15 -0
  53. package/lib/navigation/searchbox/searchbox.component.d.ts +34 -0
  54. package/lib/navigation/toolbar/toolbar.component.d.ts +18 -0
  55. package/lib/ui.module.d.ts +13 -0
  56. package/package.json +23 -3
  57. package/{src/public-api.ts → public-api.d.ts} +0 -4
  58. package/.browserslistrc +0 -16
  59. package/karma.conf.js +0 -44
  60. package/ng-package.json +0 -7
  61. package/src/lib/display/avatar/avatar.component.html +0 -1
  62. package/src/lib/display/avatar/avatar.component.scss +0 -20
  63. package/src/lib/display/avatar/avatar.component.spec.ts +0 -23
  64. package/src/lib/display/avatar/avatar.component.ts +0 -69
  65. package/src/lib/display/content/content.component.html +0 -4
  66. package/src/lib/display/content/content.component.scss +0 -0
  67. package/src/lib/display/content/content.component.spec.ts +0 -23
  68. package/src/lib/display/content/content.component.ts +0 -15
  69. package/src/lib/display/display.module.ts +0 -41
  70. package/src/lib/display/icon/icon.component.html +0 -4
  71. package/src/lib/display/icon/icon.component.scss +0 -47
  72. package/src/lib/display/icon/icon.component.spec.ts +0 -23
  73. package/src/lib/display/icon/icon.component.ts +0 -88
  74. package/src/lib/display/image/image.component.html +0 -2
  75. package/src/lib/display/image/image.component.scss +0 -53
  76. package/src/lib/display/image/image.component.spec.ts +0 -23
  77. package/src/lib/display/image/image.component.ts +0 -71
  78. package/src/lib/display/message/message.component.html +0 -33
  79. package/src/lib/display/message/message.component.scss +0 -25
  80. package/src/lib/display/message/message.component.spec.ts +0 -23
  81. package/src/lib/display/message/message.component.ts +0 -24
  82. package/src/lib/display/message.service.spec.ts +0 -16
  83. package/src/lib/display/message.service.ts +0 -58
  84. package/src/lib/display/observe-intersecting.directive.spec.ts +0 -8
  85. package/src/lib/display/observe-intersecting.directive.ts +0 -34
  86. package/src/lib/display/progress/progress.component.html +0 -6
  87. package/src/lib/display/progress/progress.component.scss +0 -121
  88. package/src/lib/display/progress/progress.component.spec.ts +0 -23
  89. package/src/lib/display/progress/progress.component.ts +0 -36
  90. package/src/lib/display/progress.service.spec.ts +0 -16
  91. package/src/lib/display/progress.service.ts +0 -51
  92. package/src/lib/inputs/inputs.module.ts +0 -17
  93. package/src/lib/inputs/rating/rating.component.html +0 -13
  94. package/src/lib/inputs/rating/rating.component.scss +0 -61
  95. package/src/lib/inputs/rating/rating.component.spec.ts +0 -25
  96. package/src/lib/inputs/rating/rating.component.ts +0 -66
  97. package/src/lib/models/action-group.ts +0 -9
  98. package/src/lib/models/module-configuration.ts +0 -6
  99. package/src/lib/models/ui-configuration.ts +0 -7
  100. package/src/lib/navigation/list/list.component.html +0 -52
  101. package/src/lib/navigation/list/list.component.scss +0 -93
  102. package/src/lib/navigation/list/list.component.spec.ts +0 -23
  103. package/src/lib/navigation/list/list.component.ts +0 -56
  104. package/src/lib/navigation/navbar/navbar.component.html +0 -23
  105. package/src/lib/navigation/navbar/navbar.component.scss +0 -202
  106. package/src/lib/navigation/navbar/navbar.component.spec.ts +0 -23
  107. package/src/lib/navigation/navbar/navbar.component.ts +0 -57
  108. package/src/lib/navigation/navigation.module.ts +0 -34
  109. package/src/lib/navigation/searchbox/searchbox.component.html +0 -34
  110. package/src/lib/navigation/searchbox/searchbox.component.scss +0 -37
  111. package/src/lib/navigation/searchbox/searchbox.component.spec.ts +0 -23
  112. package/src/lib/navigation/searchbox/searchbox.component.ts +0 -94
  113. package/src/lib/navigation/toolbar/toolbar.component.html +0 -43
  114. package/src/lib/navigation/toolbar/toolbar.component.scss +0 -29
  115. package/src/lib/navigation/toolbar/toolbar.component.spec.ts +0 -23
  116. package/src/lib/navigation/toolbar/toolbar.component.ts +0 -43
  117. package/src/lib/scss/breakpoints.scss +0 -123
  118. package/src/lib/scss/variables.scss +0 -8
  119. package/src/lib/ui.module.ts +0 -34
  120. package/src/test.ts +0 -27
  121. package/tsconfig.lib.json +0 -15
  122. package/tsconfig.lib.prod.json +0 -10
  123. package/tsconfig.spec.json +0 -17
@@ -0,0 +1,109 @@
1
+ import { Component, ViewChild, forwardRef, Input, HostBinding, Output, EventEmitter } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../../display/icon/icon.component";
6
+ import * as i3 from "@angular/material/button";
7
+ export class SearchboxComponent {
8
+ constructor() {
9
+ this.execute = new EventEmitter();
10
+ this.showChange = new EventEmitter();
11
+ this.class = '';
12
+ this.onChange = (_) => { };
13
+ this.onTouched = (_) => { };
14
+ }
15
+ get hostClasses() {
16
+ return [
17
+ 'ft-searchbox',
18
+ this.class,
19
+ this.shown ? 'show' : ''
20
+ ].join(' ');
21
+ }
22
+ ;
23
+ set show(value) {
24
+ this.shown = value;
25
+ if (value) {
26
+ setTimeout(() => {
27
+ this.getNativeElement().focus();
28
+ }, 300);
29
+ }
30
+ }
31
+ set value(value) {
32
+ this._value = value || '';
33
+ this.getNativeElement().value = this._value;
34
+ this.onChange(this._value);
35
+ this.onTouched(this._value);
36
+ }
37
+ get value() {
38
+ return this._value;
39
+ }
40
+ ngOnInit() {
41
+ }
42
+ closeSearch() {
43
+ this.showChange.emit(false);
44
+ }
45
+ getNativeElement() {
46
+ const input = this.placeholder ? this.inputPlaceholder : this.input;
47
+ return input.nativeElement;
48
+ }
49
+ registerOnChange(fn) {
50
+ this.onChange = fn;
51
+ }
52
+ registerOnTouched(fn) {
53
+ this.onTouched = fn;
54
+ }
55
+ setDisabledState(isDisabled) {
56
+ this.disabled = isDisabled;
57
+ }
58
+ onSearch(event) {
59
+ event.preventDefault();
60
+ this.getNativeElement().value = '';
61
+ this.execute.emit(this._value);
62
+ }
63
+ updateValue(event) {
64
+ this.value = event.target.value;
65
+ }
66
+ writeValue(value) {
67
+ this.value = value;
68
+ }
69
+ }
70
+ SearchboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: SearchboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
71
+ SearchboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: SearchboxComponent, selector: "ft-searchbox", inputs: { placeholder: "placeholder", class: "class", show: "show", value: "value" }, outputs: { execute: "execute", showChange: "showChange" }, host: { properties: { "class": "this.hostClasses" } }, providers: [
72
+ {
73
+ provide: NG_VALUE_ACCESSOR,
74
+ useExisting: forwardRef(() => SearchboxComponent),
75
+ multi: true
76
+ }
77
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "inputPlaceholder", first: true, predicate: ["inputPlaceholder"], descendants: true }], ngImport: i0, template: "<form (submit)=\"onSearch($event)\" class=\"container p-2 p-sm-3 pb-md-3 pt-md-5 px-md-3 px-lg-5\">\n <div class=\"d-flex align-items-center\">\n <button type=\"button\" mat-icon-button class=\"p-2 mr-2\" (click)=\"closeSearch()\">\n <ft-icon name=\"arrow-left\" size=\"2\"></ft-icon>\n </button>\n <input\n #input\n type=\"search\"\n matInput\n class=\"flex-grow-1\"\n i18n-placeholder\n placeholder=\"Search criteria\"\n [disabled]=\"disabled\"\n (change)=\"updateValue($event)\"\n (keyup)=\"updateValue($event)\"\n *ngIf=\"!placeholder\"\n />\n <input\n #inputPlaceholder\n type=\"search\"\n matInput\n class=\"flex-grow-1\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (change)=\"updateValue($event)\"\n (keyup)=\"updateValue($event)\"\n *ngIf=\"placeholder\"\n />\n <button type=\"submit\" mat-icon-button class=\"p-2 ml-2\">\n <ft-icon name=\"search\" size=\"2\"></ft-icon>\n </button>\n </div>\n </form>\n ", styles: [":host{z-index:var(--z-index, 980);background-color:var(--background-color, #FFF);display:block;transition:background-color .2s,box-shadow .2s;position:sticky;top:-1px;margin-top:-3.5rem;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}:host.show{opacity:1;visibility:visible}@media (min-width: 576px){:host{margin-top:-4.5rem}}@media (min-width: 768px){:host{top:-2rem;margin-top:-6.5rem}}:host button{min-width:0;line-height:inherit}:host input{border:0;background-color:transparent}:host input:focus{outline:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "ft-icon", inputs: ["class", "collection", "mode", "name", "path", "size", "src"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: SearchboxComponent, decorators: [{
79
+ type: Component,
80
+ args: [{ selector: 'ft-searchbox', providers: [
81
+ {
82
+ provide: NG_VALUE_ACCESSOR,
83
+ useExisting: forwardRef(() => SearchboxComponent),
84
+ multi: true
85
+ }
86
+ ], template: "<form (submit)=\"onSearch($event)\" class=\"container p-2 p-sm-3 pb-md-3 pt-md-5 px-md-3 px-lg-5\">\n <div class=\"d-flex align-items-center\">\n <button type=\"button\" mat-icon-button class=\"p-2 mr-2\" (click)=\"closeSearch()\">\n <ft-icon name=\"arrow-left\" size=\"2\"></ft-icon>\n </button>\n <input\n #input\n type=\"search\"\n matInput\n class=\"flex-grow-1\"\n i18n-placeholder\n placeholder=\"Search criteria\"\n [disabled]=\"disabled\"\n (change)=\"updateValue($event)\"\n (keyup)=\"updateValue($event)\"\n *ngIf=\"!placeholder\"\n />\n <input\n #inputPlaceholder\n type=\"search\"\n matInput\n class=\"flex-grow-1\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (change)=\"updateValue($event)\"\n (keyup)=\"updateValue($event)\"\n *ngIf=\"placeholder\"\n />\n <button type=\"submit\" mat-icon-button class=\"p-2 ml-2\">\n <ft-icon name=\"search\" size=\"2\"></ft-icon>\n </button>\n </div>\n </form>\n ", styles: [":host{z-index:var(--z-index, 980);background-color:var(--background-color, #FFF);display:block;transition:background-color .2s,box-shadow .2s;position:sticky;top:-1px;margin-top:-3.5rem;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}:host.show{opacity:1;visibility:visible}@media (min-width: 576px){:host{margin-top:-4.5rem}}@media (min-width: 768px){:host{top:-2rem;margin-top:-6.5rem}}:host button{min-width:0;line-height:inherit}:host input{border:0;background-color:transparent}:host input:focus{outline:none}\n"] }]
87
+ }], ctorParameters: function () { return []; }, propDecorators: { input: [{
88
+ type: ViewChild,
89
+ args: ['input', { static: false }]
90
+ }], inputPlaceholder: [{
91
+ type: ViewChild,
92
+ args: ['inputPlaceholder', { static: false }]
93
+ }], placeholder: [{
94
+ type: Input
95
+ }], execute: [{
96
+ type: Output
97
+ }], showChange: [{
98
+ type: Output
99
+ }], class: [{
100
+ type: Input
101
+ }], hostClasses: [{
102
+ type: HostBinding,
103
+ args: ['class']
104
+ }], show: [{
105
+ type: Input
106
+ }], value: [{
107
+ type: Input
108
+ }] } });
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvbmF2aWdhdGlvbi9zZWFyY2hib3gvc2VhcmNoYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvbmF2aWdhdGlvbi9zZWFyY2hib3gvc2VhcmNoYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFjLFVBQVUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQWN6RSxNQUFNLE9BQU8sa0JBQWtCO0lBOEM3QjtRQWxDVSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNyQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUUxQyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBUzVCLGFBQVEsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLGNBQVMsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBcUJaLENBQUM7SUE5QmpCLElBQTBCLFdBQVc7UUFDbkMsT0FBTztZQUNMLGNBQWM7WUFDZCxJQUFJLENBQUMsS0FBSztZQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUN6QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNkLENBQUM7SUFBQSxDQUFDO0lBSUYsSUFDSSxJQUFJLENBQUMsS0FBYztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJ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QixJQUFJO3NCQURQLEtBQUs7Z0JBVUYsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSW5wdXQsIEhvc3RCaW5kaW5nLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdC1zZWFyY2hib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VhcmNoYm94Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaGJveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBDbGFzZSBvIGNsYXNlcyBhc2lnbmFkYXMgYWwgY29tcG9uZW50ZVxuICAgKi9cbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgaW5wdXQhOiBFbGVtZW50UmVmPGFueT47XG4gIEBWaWV3Q2hpbGQoJ2lucHV0UGxhY2Vob2xkZXInLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgaW5wdXRQbGFjZWhvbGRlciE6IEVsZW1lbnRSZWY8YW55PjtcbiAgZGlzYWJsZWQhOiBib29sZWFuO1xuICBwcml2YXRlIF92YWx1ZSE6IHN0cmluZztcbiAgcHJpdmF0ZSBzaG93biE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyITogc3RyaW5nO1xuICBAT3V0cHV0KCkgZXhlY3V0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgc2hvd0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBASW5wdXQoKSBjbGFzczogc3RyaW5nID0gJyc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBnZXQgaG9zdENsYXNzZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ2Z0LXNlYXJjaGJveCcsXG4gICAgICB0aGlzLmNsYXNzLFxuICAgICAgdGhpcy5zaG93biA/ICdzaG93JyA6ICcnXG4gICAgXS5qb2luKCcgJyk7XG4gIH07XG5cbiAgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XG4gIG9uVG91Y2hlZCA9IChfOiBhbnkpID0+IHsgfTtcbiAgQElucHV0KClcbiAgc2V0IHNob3codmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNob3duID0gdmFsdWU7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5nZXROYXRpdmVFbGVtZW50KCkuZm9jdXMoKTtcbiAgICAgIH0sIDMwMCk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZSB8fCAnJztcbiAgICB0aGlzLmdldE5hdGl2ZUVsZW1lbnQoKS52YWx1ZSA9IHRoaXMuX3ZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy5fdmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkKHRoaXMuX3ZhbHVlKTtcbiAgfVxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuICBjbG9zZVNlYXJjaCgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dDaGFuZ2UuZW1pdChmYWxzZSk7XG4gIH1cbiAgZ2V0TmF0aXZlRWxlbWVudCgpIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMucGxhY2Vob2xkZXIgPyB0aGlzLmlucHV0UGxhY2Vob2xkZXIgOiB0aGlzLmlucHV0O1xuICAgIHJldHVybiBpbnB1dC5uYXRpdmVFbGVtZW50O1xuICB9XG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuICBvblNlYXJjaChldmVudDogU3VibWl0RXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuZ2V0TmF0aXZlRWxlbWVudCgpLnZhbHVlID0gJyc7XG4gICAgdGhpcy5leGVjdXRlLmVtaXQodGhpcy5fdmFsdWUpO1xuICB9XG4gIHVwZGF0ZVZhbHVlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICB9XG4gIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG59XG4iLCI8Zm9ybSAoc3VibWl0KT1cIm9uU2VhcmNoKCRldmVudClcIiBjbGFzcz1cImNvbnRhaW5lciBwLTIgcC1zbS0zIHBiLW1kLTMgcHQtbWQtNSBweC1tZC0zIHB4LWxnLTVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIGNsYXNzPVwicC0yIG1yLTJcIiAoY2xpY2spPVwiY2xvc2VTZWFyY2goKVwiPlxuICAgICAgICA8ZnQtaWNvbiBuYW1lPVwiYXJyb3ctbGVmdFwiIHNpemU9XCIyXCI+PC9mdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0XG4gICAgICAgIHR5cGU9XCJzZWFyY2hcIlxuICAgICAgICBtYXRJbnB1dFxuICAgICAgICBjbGFzcz1cImZsZXgtZ3Jvdy0xXCJcbiAgICAgICAgaTE4bi1wbGFjZWhvbGRlclxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBjcml0ZXJpYVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjaGFuZ2UpPVwidXBkYXRlVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgIChrZXl1cCk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgKm5nSWY9XCIhcGxhY2Vob2xkZXJcIlxuICAgICAgLz5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRQbGFjZWhvbGRlclxuICAgICAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgY2xhc3M9XCJmbGV4LWdyb3ctMVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjaGFuZ2UpPVwidXBkYXRlVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgIChrZXl1cCk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgKm5nSWY9XCJwbGFjZWhvbGRlclwiXG4gICAgICAvPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgbWF0LWljb24tYnV0dG9uIGNsYXNzPVwicC0yIG1sLTJcIj5cbiAgICAgICAgPGZ0LWljb24gbmFtZT1cInNlYXJjaFwiIHNpemU9XCIyXCI+PC9mdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbiAgIl19
@@ -0,0 +1,53 @@
1
+ import { Component, Input, HostBinding } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../../display/icon/icon.component";
5
+ import * as i3 from "../../display/observe-intersecting.directive";
6
+ import * as i4 from "@angular/material/menu";
7
+ import * as i5 from "@angular/material/button";
8
+ export class ToolbarComponent {
9
+ constructor() {
10
+ this.rootMargin = { rootMargin: '0px 0px 0px 0px' };
11
+ this.class = '';
12
+ const breakpointSm = parseInt(getComputedStyle(document.documentElement).getPropertyValue('--breakpoint-sm'));
13
+ if (window.innerWidth < breakpointSm) {
14
+ this.rootMargin = { rootMargin: '0px 0px 0px 0px' };
15
+ }
16
+ }
17
+ get hostClasses() {
18
+ return [
19
+ 'ft-toolbar',
20
+ this.class,
21
+ this.overlapped ? 'overlapped' : ''
22
+ ].join(' ');
23
+ }
24
+ ;
25
+ ngOnInit() {
26
+ if (this.titleOptions && !this.currentTitleOption) {
27
+ this.currentTitleOption = this.titleOptions[0];
28
+ }
29
+ }
30
+ setOverlapped(overlapped) {
31
+ this.overlapped = !overlapped;
32
+ }
33
+ }
34
+ ToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
+ ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ToolbarComponent, selector: "ft-toolbar", inputs: { actionOptions: "actionOptions", currentTitleOption: "currentTitleOption", title: "title", titleOptions: "titleOptions", class: "class" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "<div (ftObserveIntersecting)=\"setOverlapped($event)\" [ftObserveIntersectingOptions]=\"rootMargin\"></div>\n<div class=\"content\">\n <div class=\"container p-2 p-sm-3 pb-md-3 pt-md-5 px-md-3 px-lg-5\">\n <div class=\"d-flex align-items-center\">\n <h5 class=\"title ml-2 ml-md-0 mb-0 mr-auto\" *ngIf=\"!titleOptions; else titleForm\">{{ title }}</h5>\n <ng-container *ngFor=\"let option of actionOptions\">\n <button type=\"button\" class=\"p-2\" mat-button [ngClass]=\"option.class || ''\" *ngIf=\"!option.children\" (click)=\"option.click ? option.click($event) : null\" title=\"{{ option.label }}\">\n <div class=\"d-flex align-items-center\">\n <ft-icon *ngIf=\"option.iconName\" [name]=\"option.iconName\" size=\"2\"></ft-icon>\n <div *ngIf=\"option.label\" class=\"label d-none d-sm-inline-block ml-1\">{{ option.label }}</div>\n </div>\n </button>\n <ng-container *ngIf=\"option.children\">\n <button type=\"button\" class=\"p-2\" mat-button [matMenuTriggerFor]=\"menu\" [ngClass]=\"option.class || ''\" title=\"{{ option.label }}\">\n <div class=\"d-flex align-items-center\">\n <ft-icon *ngIf=\"option.iconName\" [name]=\"option.iconName\" size=\"2\"></ft-icon>\n <div *ngIf=\"option.label\" class=\"label d-none d-sm-inline-block ml-1\">{{ option.label }}</div>\n </div>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let childOption of option.children\" (click)=\"childOption.click ? childOption.click($event): null\">{{ childOption.label }}</button>\n </mat-menu>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n<ng-template #titleForm>\n <button type=\"button\" class=\"title p-2 pl-3 mr-auto\" mat-button [matMenuTriggerFor]=\"titleMenu\">\n <div class=\"d-flex align-items-center\">\n <div class=\"label mr-1\">{{ currentTitleOption.label }}</div>\n <ft-icon name=\"angle-down\" size=\"1\"></ft-icon>\n </div>\n </button>\n <mat-menu #titleMenu=\"matMenu\">\n <button class=\"mr-4\" mat-menu-item [disabled]=\"option == currentTitleOption\" *ngFor=\"let option of titleOptions\" (click)=\"currentTitleOption = option; option.click ? option.click($event) : null\">\n <div class=\"d-flex align-items-center\">\n <ft-icon [name]=\"option == currentTitleOption? 'check' : ''\" class=\"mr-1\"></ft-icon>\n <div>{{ option.label }}</div>\n </div>\n </button>\n </mat-menu>\n</ng-template>\n", styles: [":host{z-index:var(--z-index, 980);background-color:var(--background-color, #FFF);transition:background-color .2s,box-shadow .2s;display:block;position:sticky;top:-1px}:host.overlapped{box-shadow:0 0 1px #00000024,0 0 6px #0000001f}@media (min-width: 768px){:host{top:-2rem}}.content button{min-width:0}.content button .label{line-height:initial}.content .title{font-size:1.21rem;font-weight:500}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "ft-icon", inputs: ["class", "collection", "mode", "name", "path", "size", "src"] }, { kind: "directive", type: i3.ObserveIntersectingDirective, selector: "[ftObserveIntersecting]", inputs: ["ftObserveIntersectingOptions"], outputs: ["ftObserveIntersecting"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ToolbarComponent, decorators: [{
37
+ type: Component,
38
+ args: [{ selector: 'ft-toolbar', template: "<div (ftObserveIntersecting)=\"setOverlapped($event)\" [ftObserveIntersectingOptions]=\"rootMargin\"></div>\n<div class=\"content\">\n <div class=\"container p-2 p-sm-3 pb-md-3 pt-md-5 px-md-3 px-lg-5\">\n <div class=\"d-flex align-items-center\">\n <h5 class=\"title ml-2 ml-md-0 mb-0 mr-auto\" *ngIf=\"!titleOptions; else titleForm\">{{ title }}</h5>\n <ng-container *ngFor=\"let option of actionOptions\">\n <button type=\"button\" class=\"p-2\" mat-button [ngClass]=\"option.class || ''\" *ngIf=\"!option.children\" (click)=\"option.click ? option.click($event) : null\" title=\"{{ option.label }}\">\n <div class=\"d-flex align-items-center\">\n <ft-icon *ngIf=\"option.iconName\" [name]=\"option.iconName\" size=\"2\"></ft-icon>\n <div *ngIf=\"option.label\" class=\"label d-none d-sm-inline-block ml-1\">{{ option.label }}</div>\n </div>\n </button>\n <ng-container *ngIf=\"option.children\">\n <button type=\"button\" class=\"p-2\" mat-button [matMenuTriggerFor]=\"menu\" [ngClass]=\"option.class || ''\" title=\"{{ option.label }}\">\n <div class=\"d-flex align-items-center\">\n <ft-icon *ngIf=\"option.iconName\" [name]=\"option.iconName\" size=\"2\"></ft-icon>\n <div *ngIf=\"option.label\" class=\"label d-none d-sm-inline-block ml-1\">{{ option.label }}</div>\n </div>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let childOption of option.children\" (click)=\"childOption.click ? childOption.click($event): null\">{{ childOption.label }}</button>\n </mat-menu>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n<ng-template #titleForm>\n <button type=\"button\" class=\"title p-2 pl-3 mr-auto\" mat-button [matMenuTriggerFor]=\"titleMenu\">\n <div class=\"d-flex align-items-center\">\n <div class=\"label mr-1\">{{ currentTitleOption.label }}</div>\n <ft-icon name=\"angle-down\" size=\"1\"></ft-icon>\n </div>\n </button>\n <mat-menu #titleMenu=\"matMenu\">\n <button class=\"mr-4\" mat-menu-item [disabled]=\"option == currentTitleOption\" *ngFor=\"let option of titleOptions\" (click)=\"currentTitleOption = option; option.click ? option.click($event) : null\">\n <div class=\"d-flex align-items-center\">\n <ft-icon [name]=\"option == currentTitleOption? 'check' : ''\" class=\"mr-1\"></ft-icon>\n <div>{{ option.label }}</div>\n </div>\n </button>\n </mat-menu>\n</ng-template>\n", styles: [":host{z-index:var(--z-index, 980);background-color:var(--background-color, #FFF);transition:background-color .2s,box-shadow .2s;display:block;position:sticky;top:-1px}:host.overlapped{box-shadow:0 0 1px #00000024,0 0 6px #0000001f}@media (min-width: 768px){:host{top:-2rem}}.content button{min-width:0}.content button .label{line-height:initial}.content .title{font-size:1.21rem;font-weight:500}\n"] }]
39
+ }], ctorParameters: function () { return []; }, propDecorators: { actionOptions: [{
40
+ type: Input
41
+ }], currentTitleOption: [{
42
+ type: Input
43
+ }], title: [{
44
+ type: Input
45
+ }], titleOptions: [{
46
+ type: Input
47
+ }], class: [{
48
+ type: Input
49
+ }], hostClasses: [{
50
+ type: HostBinding,
51
+ args: ['class']
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL25hdmlnYXRpb24vdG9vbGJhci90b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvbmF2aWdhdGlvbi90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBU3RFLE1BQU0sT0FBTyxnQkFBZ0I7SUFpQjNCO1FBWEEsZUFBVSxHQUFRLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLENBQUM7UUFFM0MsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQVUxQixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztRQUM5RyxJQUFJLE1BQU0sQ0FBQyxVQUFVLEdBQUcsWUFBWSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztTQUNyRDtJQUNILENBQUM7SUFiRCxJQUEwQixXQUFXO1FBQ25DLE9BQU87WUFDTCxZQUFZO1lBQ1osSUFBSSxDQUFDLEtBQUs7WUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDcEMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDZCxDQUFDO0lBQUEsQ0FBQztJQVNGLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDakQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBQ0QsYUFBYSxDQUFDLFVBQW1CO1FBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxVQUFVLENBQUM7SUFDaEMsQ0FBQzs7NkdBL0JVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLDZQQ1Q3QixzaEZBMkNBOzJGRGxDYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsWUFBWTswRUFLYixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ29CLFdBQVc7c0JBQXBDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjdGlvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z0LXRvb2xiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rvb2xiYXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUb29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgYWN0aW9uT3B0aW9ucyE6IEFjdGlvbltdO1xuICBASW5wdXQoKSBjdXJyZW50VGl0bGVPcHRpb24hOiBBY3Rpb247XG4gIEBJbnB1dCgpIHRpdGxlITogc3RyaW5nO1xuICBASW5wdXQoKSB0aXRsZU9wdGlvbnMhOiBBY3Rpb25bXTtcbiAgb3ZlcmxhcHBlZCE6IGJvb2xlYW47XG4gIHJvb3RNYXJnaW46IGFueSA9IHsgcm9vdE1hcmdpbjogJzBweCAwcHggMHB4IDBweCcgfTtcblxuICBASW5wdXQoKSBjbGFzczogc3RyaW5nID0gJyc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBnZXQgaG9zdENsYXNzZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ2Z0LXRvb2xiYXInLFxuICAgICAgdGhpcy5jbGFzcyxcbiAgICAgIHRoaXMub3ZlcmxhcHBlZCA/ICdvdmVybGFwcGVkJyA6ICcnXG4gICAgXS5qb2luKCcgJyk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgYnJlYWtwb2ludFNtID0gcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tYnJlYWtwb2ludC1zbScpKTtcbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCBicmVha3BvaW50U20pIHtcbiAgICAgIHRoaXMucm9vdE1hcmdpbiA9IHsgcm9vdE1hcmdpbjogJzBweCAwcHggMHB4IDBweCcgfTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50aXRsZU9wdGlvbnMgJiYgIXRoaXMuY3VycmVudFRpdGxlT3B0aW9uKSB7XG4gICAgICB0aGlzLmN1cnJlbnRUaXRsZU9wdGlvbiA9IHRoaXMudGl0bGVPcHRpb25zWzBdO1xuICAgIH1cbiAgfVxuICBzZXRPdmVybGFwcGVkKG92ZXJsYXBwZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLm92ZXJsYXBwZWQgPSAhb3ZlcmxhcHBlZDtcbiAgfVxuXG59XG4iLCI8ZGl2IChmdE9ic2VydmVJbnRlcnNlY3RpbmcpPVwic2V0T3ZlcmxhcHBlZCgkZXZlbnQpXCIgW2Z0T2JzZXJ2ZUludGVyc2VjdGluZ09wdGlvbnNdPVwicm9vdE1hcmdpblwiPjwvZGl2PlxuPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lciBwLTIgcC1zbS0zIHBiLW1kLTMgcHQtbWQtNSBweC1tZC0zIHB4LWxnLTVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgPGg1IGNsYXNzPVwidGl0bGUgbWwtMiBtbC1tZC0wIG1iLTAgbXItYXV0b1wiICpuZ0lmPVwiIXRpdGxlT3B0aW9uczsgZWxzZSB0aXRsZUZvcm1cIj57eyB0aXRsZSB9fTwvaDU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgYWN0aW9uT3B0aW9uc1wiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInAtMlwiIG1hdC1idXR0b24gW25nQ2xhc3NdPVwib3B0aW9uLmNsYXNzIHx8ICcnXCIgKm5nSWY9XCIhb3B0aW9uLmNoaWxkcmVuXCIgKGNsaWNrKT1cIm9wdGlvbi5jbGljayA/IG9wdGlvbi5jbGljaygkZXZlbnQpIDogbnVsbFwiIHRpdGxlPVwie3sgb3B0aW9uLmxhYmVsIH19XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxmdC1pY29uICpuZ0lmPVwib3B0aW9uLmljb25OYW1lXCIgW25hbWVdPVwib3B0aW9uLmljb25OYW1lXCIgc2l6ZT1cIjJcIj48L2Z0LWljb24+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3B0aW9uLmxhYmVsXCIgY2xhc3M9XCJsYWJlbCBkLW5vbmUgZC1zbS1pbmxpbmUtYmxvY2sgbWwtMVwiPnt7IG9wdGlvbi5sYWJlbCB9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvbi5jaGlsZHJlblwiPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwicC0yXCIgbWF0LWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiIFtuZ0NsYXNzXT1cIm9wdGlvbi5jbGFzcyB8fCAnJ1wiIHRpdGxlPVwie3sgb3B0aW9uLmxhYmVsIH19XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8ZnQtaWNvbiAqbmdJZj1cIm9wdGlvbi5pY29uTmFtZVwiIFtuYW1lXT1cIm9wdGlvbi5pY29uTmFtZVwiIHNpemU9XCIyXCI+PC9mdC1pY29uPlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3B0aW9uLmxhYmVsXCIgY2xhc3M9XCJsYWJlbCBkLW5vbmUgZC1zbS1pbmxpbmUtYmxvY2sgbWwtMVwiPnt7IG9wdGlvbi5sYWJlbCB9fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0Zvcj1cImxldCBjaGlsZE9wdGlvbiBvZiBvcHRpb24uY2hpbGRyZW5cIiAoY2xpY2spPVwiY2hpbGRPcHRpb24uY2xpY2sgPyBjaGlsZE9wdGlvbi5jbGljaygkZXZlbnQpOiBudWxsXCI+e3sgY2hpbGRPcHRpb24ubGFiZWwgfX08L2J1dHRvbj5cbiAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICN0aXRsZUZvcm0+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGl0bGUgcC0yIHBsLTMgbXItYXV0b1wiIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cInRpdGxlTWVudVwiPlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgbXItMVwiPnt7IGN1cnJlbnRUaXRsZU9wdGlvbi5sYWJlbCB9fTwvZGl2PlxuICAgICAgPGZ0LWljb24gbmFtZT1cImFuZ2xlLWRvd25cIiBzaXplPVwiMVwiPjwvZnQtaWNvbj5cbiAgICA8L2Rpdj5cbiAgPC9idXR0b24+XG4gIDxtYXQtbWVudSAjdGl0bGVNZW51PVwibWF0TWVudVwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJtci00XCIgbWF0LW1lbnUtaXRlbSBbZGlzYWJsZWRdPVwib3B0aW9uID09IGN1cnJlbnRUaXRsZU9wdGlvblwiICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgdGl0bGVPcHRpb25zXCIgKGNsaWNrKT1cImN1cnJlbnRUaXRsZU9wdGlvbiA9IG9wdGlvbjsgb3B0aW9uLmNsaWNrID8gb3B0aW9uLmNsaWNrKCRldmVudCkgOiBudWxsXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8ZnQtaWNvbiBbbmFtZV09XCJvcHRpb24gPT0gY3VycmVudFRpdGxlT3B0aW9uPyAnY2hlY2snIDogJydcIiBjbGFzcz1cIm1yLTFcIj48L2Z0LWljb24+XG4gICAgICAgIDxkaXY+e3sgb3B0aW9uLmxhYmVsIH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2J1dHRvbj5cbiAgPC9tYXQtbWVudT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,47 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { DisplayModule } from './display/display.module';
4
+ import { InputsModule } from './inputs/inputs.module';
5
+ import { NavigationModule } from './navigation/navigation.module';
6
+ import * as i0 from "@angular/core";
7
+ export class UiModule {
8
+ static forRoot(configuration) {
9
+ return {
10
+ ngModule: UiModule,
11
+ providers: [
12
+ { provide: 'FactorUiConfiguration', useValue: configuration }
13
+ ]
14
+ };
15
+ }
16
+ }
17
+ UiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: UiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
+ UiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: UiModule, imports: [CommonModule,
19
+ DisplayModule,
20
+ InputsModule,
21
+ NavigationModule], exports: [DisplayModule,
22
+ InputsModule,
23
+ NavigationModule] });
24
+ UiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: UiModule, imports: [CommonModule,
25
+ DisplayModule,
26
+ InputsModule,
27
+ NavigationModule, DisplayModule,
28
+ InputsModule,
29
+ NavigationModule] });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: UiModule, decorators: [{
31
+ type: NgModule,
32
+ args: [{
33
+ declarations: [],
34
+ imports: [
35
+ CommonModule,
36
+ DisplayModule,
37
+ InputsModule,
38
+ NavigationModule
39
+ ],
40
+ exports: [
41
+ DisplayModule,
42
+ InputsModule,
43
+ NavigationModule
44
+ ]
45
+ }]
46
+ }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi91aS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBa0JsRSxNQUFNLE9BQU8sUUFBUTtJQUNaLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBbUM7UUFDdkQsT0FBTztZQUNMLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO2FBQzlEO1NBQ0YsQ0FBQztJQUNKLENBQUM7O3FHQVJVLFFBQVE7c0dBQVIsUUFBUSxZQVhqQixZQUFZO1FBQ1osYUFBYTtRQUNiLFlBQVk7UUFDWixnQkFBZ0IsYUFHaEIsYUFBYTtRQUNiLFlBQVk7UUFDWixnQkFBZ0I7c0dBR1AsUUFBUSxZQVhqQixZQUFZO1FBQ1osYUFBYTtRQUNiLFlBQVk7UUFDWixnQkFBZ0IsRUFHaEIsYUFBYTtRQUNiLFlBQVk7UUFDWixnQkFBZ0I7MkZBR1AsUUFBUTtrQkFoQnBCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBRWI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixZQUFZO3dCQUNaLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixnQkFBZ0I7cUJBQ2pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaXNwbGF5TW9kdWxlIH0gZnJvbSAnLi9kaXNwbGF5L2Rpc3BsYXkubW9kdWxlJztcblxuaW1wb3J0IHsgSW5wdXRzTW9kdWxlIH0gZnJvbSAnLi9pbnB1dHMvaW5wdXRzLm1vZHVsZSc7XG5pbXBvcnQgeyBNb2R1bGVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9tb2RlbHMvbW9kdWxlLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgTmF2aWdhdGlvbk1vZHVsZSB9IGZyb20gJy4vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIERpc3BsYXlNb2R1bGUsXG4gICAgSW5wdXRzTW9kdWxlLFxuICAgIE5hdmlnYXRpb25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIERpc3BsYXlNb2R1bGUsXG4gICAgSW5wdXRzTW9kdWxlLFxuICAgIE5hdmlnYXRpb25Nb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBVaU1vZHVsZSB7IFxuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoY29uZmlndXJhdGlvbj86IE1vZHVsZUNvbmZpZ3VyYXRpb24pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFVpTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBVaU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6ICdGYWN0b3JVaUNvbmZpZ3VyYXRpb24nLCB1c2VWYWx1ZTogY29uZmlndXJhdGlvbiB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Public API Surface of ui
3
+ */
4
+ export * from './lib/display/avatar/avatar.component';
5
+ export * from './lib/display/icon/icon.component';
6
+ export * from './lib/display/image/image.component';
7
+ export * from './lib/display/content/content.component';
8
+ export * from './lib/display/message/message.component';
9
+ export * from './lib/display/message.service';
10
+ export * from './lib/display/progress/progress.component';
11
+ export * from './lib/display/progress.service';
12
+ export * from './lib/display/observe-intersecting.directive';
13
+ export * from './lib/display/display.module';
14
+ export * from './lib/inputs/rating/rating.component';
15
+ export * from './lib/inputs/inputs.module';
16
+ export * from './lib/navigation/list/list.component';
17
+ export * from './lib/navigation/navbar/navbar.component';
18
+ export * from './lib/navigation/searchbox/searchbox.component';
19
+ export * from './lib/navigation/toolbar/toolbar.component';
20
+ export * from './lib/navigation/navigation.module';
21
+ export * from './lib/ui.module';
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHVpXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlzcGxheS9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXNwbGF5L2ljb24vaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlzcGxheS9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlzcGxheS9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rpc3BsYXkvbWVzc2FnZS9tZXNzYWdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXNwbGF5L21lc3NhZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXNwbGF5L3Byb2dyZXNzL3Byb2dyZXNzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXNwbGF5L3Byb2dyZXNzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlzcGxheS9vYnNlcnZlLWludGVyc2VjdGluZy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlzcGxheS9kaXNwbGF5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnB1dHMvcmF0aW5nL3JhdGluZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5wdXRzL2lucHV0cy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmF2aWdhdGlvbi9saXN0L2xpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hdmlnYXRpb24vbmF2YmFyL25hdmJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmF2aWdhdGlvbi9zZWFyY2hib3gvc2VhcmNoYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uYXZpZ2F0aW9uL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS5tb2R1bGUnO1xuIl19