asksuite-citrus 0.0.5 → 0.0.7

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 (32) hide show
  1. package/esm2022/lib/asksuite-citrus.module.mjs +58 -0
  2. package/esm2022/lib/components/avatar/avatar.component.mjs +30 -0
  3. package/esm2022/lib/components/box/box.component.mjs +29 -0
  4. package/esm2022/lib/components/button/button.component.mjs +42 -0
  5. package/esm2022/lib/components/dropdown-container/dropdown-container.component.mjs +17 -0
  6. package/{esm2020 → esm2022}/lib/components/input/input.component.mjs +5 -5
  7. package/{esm2020 → esm2022}/lib/components/select/select.component.mjs +5 -5
  8. package/esm2022/lib/directives/ask-dropdown.directive.mjs +72 -0
  9. package/esm2022/public-api.mjs +14 -0
  10. package/fesm2022/asksuite-citrus.mjs +423 -0
  11. package/fesm2022/asksuite-citrus.mjs.map +1 -0
  12. package/lib/asksuite-citrus.module.d.ts +5 -3
  13. package/lib/components/avatar/avatar.component.d.ts +1 -1
  14. package/lib/components/box/box.component.d.ts +1 -1
  15. package/lib/components/button/button.component.d.ts +1 -1
  16. package/lib/components/dropdown-container/dropdown-container.component.d.ts +9 -0
  17. package/lib/components/input/input.component.d.ts +1 -1
  18. package/lib/components/select/select.component.d.ts +1 -1
  19. package/lib/directives/ask-dropdown.directive.d.ts +24 -0
  20. package/package.json +5 -11
  21. package/public-api.d.ts +2 -0
  22. package/styles/colors.scss +8 -6
  23. package/esm2020/lib/asksuite-citrus.module.mjs +0 -48
  24. package/esm2020/lib/components/avatar/avatar.component.mjs +0 -30
  25. package/esm2020/lib/components/box/box.component.mjs +0 -29
  26. package/esm2020/lib/components/button/button.component.mjs +0 -42
  27. package/esm2020/public-api.mjs +0 -11
  28. package/fesm2015/asksuite-citrus.mjs +0 -332
  29. package/fesm2015/asksuite-citrus.mjs.map +0 -1
  30. package/fesm2020/asksuite-citrus.mjs +0 -332
  31. package/fesm2020/asksuite-citrus.mjs.map +0 -1
  32. /package/{esm2020 → esm2022}/asksuite-citrus.mjs +0 -0
@@ -0,0 +1,423 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Component, Input, Output, forwardRef, ViewChild, HostListener, Directive, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+ import * as i2 from '@angular/forms';
6
+ import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
7
+ import { ComponentPortal } from '@angular/cdk/portal';
8
+ import * as i1$1 from '@angular/cdk/overlay';
9
+
10
+ class ButtonComponent {
11
+ constructor() {
12
+ // Properties
13
+ this.label = '';
14
+ this.size = 'normal';
15
+ this.type = 'primary';
16
+ this.disabled = false;
17
+ // Event handlers
18
+ this.onClick = new EventEmitter();
19
+ this.onFocus = new EventEmitter();
20
+ this.onBlur = new EventEmitter();
21
+ }
22
+ ngOnInit() {
23
+ }
24
+ get buttonClasses() {
25
+ return `${this.type} ${this.size}`;
26
+ }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: ButtonComponent, selector: "ask-button", inputs: { label: "label", size: "size", type: "type", disabled: "disabled" }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur" }, ngImport: i0, template: "<button\n type=\"button\"\n [ngClass]=\"buttonClasses\"\n [disabled]=\"disabled\"\n (click)=\"onClick.emit($event)\"\n (focus)=\"onFocus.emit($event)\"\n (blur)=\"onBlur.emit($event)\"\n>\n {{ label }}\n <ng-content></ng-content>\n</button>\n", styles: [":root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}button{position:relative;display:flex;padding:8px 24px;background:#FF5724;color:#fff;border-radius:6px;border:none;outline:none;line-height:2.286em;cursor:pointer;transition:background-color .1s,box-shadow .1s}button.small{font-size:.75rem}button.normal{font-size:.875rem}button.medium{font-size:1rem}button.large{font-size:1.125rem}button:hover:not(:disabled){box-shadow:0 0 6px #ff572466}button:active:not(:disabled){background-color:#f34915}button:disabled{cursor:not-allowed;background-color:#9aa5b1}button.secondary{background:none;color:#9aa5b1;box-shadow:0 1px 2px #2a304229}button.secondary:hover:not(:disabled){box-shadow:0 0 6px #2a304229}button.secondary:active:not(:disabled){background-color:#e4e7eb}button.secondary:disabled{cursor:not-allowed;background-color:#9aa5b1;color:#fff}button.outline{background:none;color:#ff5724}button.outline:after{content:\"\";position:absolute;width:100%;height:100%;top:0;left:0;border-radius:6px;box-shadow:0 0 0 2px inset #ff5724}button.outline:active:not(:disabled){background-color:#ff572419}button.outline:disabled{color:#9aa5b1}button.outline:disabled:after{box-shadow:0 0 0 2px inset #9aa5b1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ButtonComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'ask-button', template: "<button\n type=\"button\"\n [ngClass]=\"buttonClasses\"\n [disabled]=\"disabled\"\n (click)=\"onClick.emit($event)\"\n (focus)=\"onFocus.emit($event)\"\n (blur)=\"onBlur.emit($event)\"\n>\n {{ label }}\n <ng-content></ng-content>\n</button>\n", styles: [":root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}button{position:relative;display:flex;padding:8px 24px;background:#FF5724;color:#fff;border-radius:6px;border:none;outline:none;line-height:2.286em;cursor:pointer;transition:background-color .1s,box-shadow .1s}button.small{font-size:.75rem}button.normal{font-size:.875rem}button.medium{font-size:1rem}button.large{font-size:1.125rem}button:hover:not(:disabled){box-shadow:0 0 6px #ff572466}button:active:not(:disabled){background-color:#f34915}button:disabled{cursor:not-allowed;background-color:#9aa5b1}button.secondary{background:none;color:#9aa5b1;box-shadow:0 1px 2px #2a304229}button.secondary:hover:not(:disabled){box-shadow:0 0 6px #2a304229}button.secondary:active:not(:disabled){background-color:#e4e7eb}button.secondary:disabled{cursor:not-allowed;background-color:#9aa5b1;color:#fff}button.outline{background:none;color:#ff5724}button.outline:after{content:\"\";position:absolute;width:100%;height:100%;top:0;left:0;border-radius:6px;box-shadow:0 0 0 2px inset #ff5724}button.outline:active:not(:disabled){background-color:#ff572419}button.outline:disabled{color:#9aa5b1}button.outline:disabled:after{box-shadow:0 0 0 2px inset #9aa5b1}\n"] }]
33
+ }], ctorParameters: function () { return []; }, propDecorators: { label: [{
34
+ type: Input
35
+ }], size: [{
36
+ type: Input
37
+ }], type: [{
38
+ type: Input
39
+ }], disabled: [{
40
+ type: Input
41
+ }], onClick: [{
42
+ type: Output
43
+ }], onFocus: [{
44
+ type: Output
45
+ }], onBlur: [{
46
+ type: Output
47
+ }] } });
48
+
49
+ const valueAccessor$1 = {
50
+ provide: NG_VALUE_ACCESSOR,
51
+ multi: true,
52
+ useExisting: forwardRef(() => InputComponent),
53
+ };
54
+ class InputComponent {
55
+ constructor() {
56
+ this.value = '';
57
+ this.type = 'text';
58
+ this.disabled = false;
59
+ this.valueChange = new EventEmitter();
60
+ this.change = new EventEmitter();
61
+ this.input = new EventEmitter();
62
+ this.click = new EventEmitter();
63
+ this.focus = new EventEmitter();
64
+ this.blur = new EventEmitter();
65
+ this.leftIconClick = new EventEmitter();
66
+ this.rightIconClick = new EventEmitter();
67
+ this.isFocused = false;
68
+ this.onChange = () => { };
69
+ this.onTouch = () => { };
70
+ }
71
+ ngOnInit() {
72
+ }
73
+ onModelChange(newValue) {
74
+ this.writeValue(newValue);
75
+ }
76
+ handleChange(event) {
77
+ this.change.emit(event);
78
+ }
79
+ handleInput(event) {
80
+ this.input.emit(event);
81
+ }
82
+ handleFocus(event) {
83
+ this.isFocused = true;
84
+ this.focus.emit(event);
85
+ }
86
+ handleBlur(event) {
87
+ this.isFocused = false;
88
+ this.blur.emit(event);
89
+ }
90
+ /*
91
+ * Control value accessor methods
92
+ */
93
+ registerOnChange(fn) {
94
+ this.onChange = fn;
95
+ }
96
+ registerOnTouched(fn) {
97
+ this.onTouch = fn;
98
+ }
99
+ setDisabledState(isDisabled) {
100
+ this.disabled = isDisabled;
101
+ }
102
+ writeValue(value) {
103
+ this.value = value;
104
+ this.valueChange.emit(this.value);
105
+ }
106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
107
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: InputComponent, selector: "ask-input", inputs: { value: "value", type: "type", placeholder: "placeholder", leftIcon: "leftIcon", rightIcon: "rightIcon", disabled: "disabled" }, outputs: { valueChange: "valueChange", change: "change", input: "input", click: "click", focus: "focus", blur: "blur", leftIconClick: "leftIconClick", rightIconClick: "rightIconClick" }, providers: [valueAccessor$1], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true, static: true }], ngImport: i0, template: "<div\n class=\"input-container\"\n [ngClass]=\"{ 'focus': isFocused, 'disabled': disabled, 'left-icon': leftIcon, 'right-icon': rightIcon }\"\n (click)=\"inputElement.focus()\"\n>\n <span\n *ngIf=\"leftIcon\"\n class=\"material-icons icon-left\"\n (click)=\"leftIconClick.emit($event)\"\n >\n {{ leftIcon }}\n </span>\n\n <input\n #inputElement\n class=\"ask-input\"\n [type]=\"type\"\n [placeholder]=\"placeholder || ''\"\n (click)=\"click.emit($event)\"\n (focus)=\"handleFocus($event)\"\n (blur)=\"handleBlur($event)\"\n (change)=\"handleChange($event)\"\n (input)=\"handleInput($event)\"\n [disabled]=\"disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n />\n\n <span\n *ngIf=\"rightIcon\"\n class=\"material-icons icon-right\"\n\n (click)=\"rightIconClick.emit($event)\"\n >\n {{ rightIcon }}\n </span>\n</div>\n", styles: [":root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}.input-container{position:relative;display:flex;align-items:center;justify-content:start;width:100%}.input-container .ask-input{position:relative;display:flex;align-items:center;border-radius:4px;border:1px solid #CBD2D9;padding:16px;outline:none;gap:8px;line-height:14px;color:#3e4c59;height:48px;font-size:.875rem;font-weight:400;transition:border .2s;flex:1}.input-container .ask-input:focus{border-color:#ff5724}.input-container .ask-input .material-icons{display:flex;align-items:center;justify-content:center;height:14px}.input-container .ask-input::placeholder{color:#9aa5b1}.input-container.left-icon .ask-input{padding-left:48px}.input-container.right-icon .ask-input{padding-right:48px}.input-container .icon-left,.input-container .icon-right{position:absolute;display:flex;align-items:center;justify-content:center;height:100%;width:48px;font-size:21px;color:#7b8794;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s;z-index:1}.input-container .icon-left:hover,.input-container .icon-right:hover{color:#52606d}.input-container .icon-left:active,.input-container .icon-right:active{color:#1f2933}.input-container .icon-right{right:0}.input-container.disabled,.input-container.disabled .ask-input{background:#F5F7FA;cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
108
+ }
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: InputComponent, decorators: [{
110
+ type: Component,
111
+ args: [{ selector: 'ask-input', providers: [valueAccessor$1], template: "<div\n class=\"input-container\"\n [ngClass]=\"{ 'focus': isFocused, 'disabled': disabled, 'left-icon': leftIcon, 'right-icon': rightIcon }\"\n (click)=\"inputElement.focus()\"\n>\n <span\n *ngIf=\"leftIcon\"\n class=\"material-icons icon-left\"\n (click)=\"leftIconClick.emit($event)\"\n >\n {{ leftIcon }}\n </span>\n\n <input\n #inputElement\n class=\"ask-input\"\n [type]=\"type\"\n [placeholder]=\"placeholder || ''\"\n (click)=\"click.emit($event)\"\n (focus)=\"handleFocus($event)\"\n (blur)=\"handleBlur($event)\"\n (change)=\"handleChange($event)\"\n (input)=\"handleInput($event)\"\n [disabled]=\"disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n />\n\n <span\n *ngIf=\"rightIcon\"\n class=\"material-icons icon-right\"\n\n (click)=\"rightIconClick.emit($event)\"\n >\n {{ rightIcon }}\n </span>\n</div>\n", styles: [":root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}.input-container{position:relative;display:flex;align-items:center;justify-content:start;width:100%}.input-container .ask-input{position:relative;display:flex;align-items:center;border-radius:4px;border:1px solid #CBD2D9;padding:16px;outline:none;gap:8px;line-height:14px;color:#3e4c59;height:48px;font-size:.875rem;font-weight:400;transition:border .2s;flex:1}.input-container .ask-input:focus{border-color:#ff5724}.input-container .ask-input .material-icons{display:flex;align-items:center;justify-content:center;height:14px}.input-container .ask-input::placeholder{color:#9aa5b1}.input-container.left-icon .ask-input{padding-left:48px}.input-container.right-icon .ask-input{padding-right:48px}.input-container .icon-left,.input-container .icon-right{position:absolute;display:flex;align-items:center;justify-content:center;height:100%;width:48px;font-size:21px;color:#7b8794;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s;z-index:1}.input-container .icon-left:hover,.input-container .icon-right:hover{color:#52606d}.input-container .icon-left:active,.input-container .icon-right:active{color:#1f2933}.input-container .icon-right{right:0}.input-container.disabled,.input-container.disabled .ask-input{background:#F5F7FA;cursor:not-allowed}\n"] }]
112
+ }], ctorParameters: function () { return []; }, propDecorators: { value: [{
113
+ type: Input
114
+ }], type: [{
115
+ type: Input
116
+ }], placeholder: [{
117
+ type: Input
118
+ }], leftIcon: [{
119
+ type: Input
120
+ }], rightIcon: [{
121
+ type: Input
122
+ }], disabled: [{
123
+ type: Input
124
+ }], valueChange: [{
125
+ type: Output
126
+ }], change: [{
127
+ type: Output
128
+ }], input: [{
129
+ type: Output
130
+ }], click: [{
131
+ type: Output
132
+ }], focus: [{
133
+ type: Output
134
+ }], blur: [{
135
+ type: Output
136
+ }], leftIconClick: [{
137
+ type: Output
138
+ }], rightIconClick: [{
139
+ type: Output
140
+ }], inputElement: [{
141
+ type: ViewChild,
142
+ args: ['inputElement', { static: true }]
143
+ }] } });
144
+
145
+ const valueAccessor = {
146
+ provide: NG_VALUE_ACCESSOR,
147
+ multi: true,
148
+ useExisting: forwardRef(() => SelectComponent),
149
+ };
150
+ class SelectComponent {
151
+ constructor(elementRef) {
152
+ this.elementRef = elementRef;
153
+ this.valueChange = new EventEmitter();
154
+ this.options = [];
155
+ this.maxItems = 4;
156
+ this.showNoneOption = true;
157
+ // Labels
158
+ this.selectAnOptionLabel = 'Selecione uma opção';
159
+ this.noOptionLabel = 'Nenhuma opção disponível';
160
+ this.noneLabel = 'Nenhum';
161
+ this.showList = false;
162
+ this.onChange = () => {
163
+ };
164
+ this.onTouch = () => {
165
+ };
166
+ }
167
+ clickOut(event) {
168
+ const hasComponentInPath = event.composedPath().find((el) => el?.nodeName?.toLowerCase() === 'ask-select');
169
+ if (this.elementRef.nativeElement.contains(event.target) ||
170
+ hasComponentInPath) {
171
+ return;
172
+ }
173
+ this.showList = false;
174
+ }
175
+ get listMaxHeight() {
176
+ const optionHeight = 46;
177
+ return this.maxItems * optionHeight + this.maxItems + 1;
178
+ }
179
+ handleSelectClick() {
180
+ this.showList = !this.showList;
181
+ }
182
+ handleOptionClick(option) {
183
+ this.setSelectedOption(option);
184
+ }
185
+ setSelectedOption(option) {
186
+ if (option?.value === this.value) {
187
+ return;
188
+ }
189
+ this.selectedOption = option;
190
+ this.value = option?.value || null;
191
+ this.writeValue(this.value);
192
+ this.onChange(this.value);
193
+ this.onTouch(this.value);
194
+ this.valueChange.emit(this.value);
195
+ }
196
+ writeValue(value) {
197
+ this.value = value;
198
+ }
199
+ registerOnChange(fn) {
200
+ this.onChange = fn;
201
+ }
202
+ registerOnTouched(fn) {
203
+ this.onTouch = fn;
204
+ }
205
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: SelectComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
206
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: SelectComponent, selector: "ask-select", inputs: { value: "value", options: "options", maxItems: "maxItems", showNoneOption: "showNoneOption", selectAnOptionLabel: "selectAnOptionLabel", noOptionLabel: "noOptionLabel", noneLabel: "noneLabel" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "document:click": "clickOut($event)" } }, providers: [valueAccessor], ngImport: i0, template: "<div\n class=\"select-container\"\n (click)=\"handleSelectClick()\"\n>\n <select [hidden]=\"true\"></select>\n\n <span class=\"label\">{{ selectedOption?.label || selectAnOptionLabel }}</span>\n <span class=\"material-icons arrow\">arrow_drop_down</span>\n\n <div\n *ngIf=\"showList\"\n class=\"options-list\"\n [style.max-height]=\"listMaxHeight + 'px'\"\n >\n <!-- No options available -->\n <div\n *ngIf=\"!options?.length\"\n class=\"option\"\n >\n {{ noOptionLabel }}\n </div>\n\n <div\n *ngIf=\"showNoneOption && options?.length\"\n class=\"option\"\n (click)=\"handleOptionClick(undefined)\"\n >\n {{ noneLabel }}\n </div>\n\n <div\n *ngFor=\"let option of options\"\n class=\"option\"\n (click)=\"handleOptionClick(option)\"\n >\n {{ option.label }}\n </div>\n </div>\n</div>\n", styles: [":root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}.select-container{position:relative;display:flex;align-items:center;border-radius:4px;border:1px solid #CBD2D9;padding:16px;outline:none;gap:8px;line-height:14px;color:#3e4c59;height:48px;font-size:.875rem;font-weight:400;transition:border .2s;cursor:pointer}.select-container:focus{border-color:#ff5724}.select-container .material-icons{display:flex;align-items:center;justify-content:center;height:14px}.select-container .label{font-size:.875rem;font-weight:400;color:#3e4c59;pointer-events:none;-webkit-user-select:none;user-select:none;flex:1}.select-container .arrow{pointer-events:none;-webkit-user-select:none;user-select:none}.select-container .options-list{position:absolute;display:flex;flex-direction:column;top:calc(100% - 2px);left:-1px;width:calc(100% + 2px);padding-top:1px;border:1px solid #CBD2D9;border-top:0;border-radius:0 0 6px 6px;gap:1px;overflow-y:auto;background:#F5F7FA}.select-container .options-list .option{display:flex;align-items:center;justify-content:start;padding:16px;background:#FFF;font-size:.875rem;cursor:pointer;transition:font-weight .2s,background-color .2s}.select-container .options-list .option:hover{background-color:#f5f7fa}.select-container .options-list .option:active{background-color:#e4e7eb}.select-container .options-list .option.selected{background-color:#f5f7fa;font-weight:500}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
207
+ }
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: SelectComponent, decorators: [{
209
+ type: Component,
210
+ args: [{ selector: 'ask-select', providers: [valueAccessor], template: "<div\n class=\"select-container\"\n (click)=\"handleSelectClick()\"\n>\n <select [hidden]=\"true\"></select>\n\n <span class=\"label\">{{ selectedOption?.label || selectAnOptionLabel }}</span>\n <span class=\"material-icons arrow\">arrow_drop_down</span>\n\n <div\n *ngIf=\"showList\"\n class=\"options-list\"\n [style.max-height]=\"listMaxHeight + 'px'\"\n >\n <!-- No options available -->\n <div\n *ngIf=\"!options?.length\"\n class=\"option\"\n >\n {{ noOptionLabel }}\n </div>\n\n <div\n *ngIf=\"showNoneOption && options?.length\"\n class=\"option\"\n (click)=\"handleOptionClick(undefined)\"\n >\n {{ noneLabel }}\n </div>\n\n <div\n *ngFor=\"let option of options\"\n class=\"option\"\n (click)=\"handleOptionClick(option)\"\n >\n {{ option.label }}\n </div>\n </div>\n</div>\n", styles: [":root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}.select-container{position:relative;display:flex;align-items:center;border-radius:4px;border:1px solid #CBD2D9;padding:16px;outline:none;gap:8px;line-height:14px;color:#3e4c59;height:48px;font-size:.875rem;font-weight:400;transition:border .2s;cursor:pointer}.select-container:focus{border-color:#ff5724}.select-container .material-icons{display:flex;align-items:center;justify-content:center;height:14px}.select-container .label{font-size:.875rem;font-weight:400;color:#3e4c59;pointer-events:none;-webkit-user-select:none;user-select:none;flex:1}.select-container .arrow{pointer-events:none;-webkit-user-select:none;user-select:none}.select-container .options-list{position:absolute;display:flex;flex-direction:column;top:calc(100% - 2px);left:-1px;width:calc(100% + 2px);padding-top:1px;border:1px solid #CBD2D9;border-top:0;border-radius:0 0 6px 6px;gap:1px;overflow-y:auto;background:#F5F7FA}.select-container .options-list .option{display:flex;align-items:center;justify-content:start;padding:16px;background:#FFF;font-size:.875rem;cursor:pointer;transition:font-weight .2s,background-color .2s}.select-container .options-list .option:hover{background-color:#f5f7fa}.select-container .options-list .option:active{background-color:#e4e7eb}.select-container .options-list .option.selected{background-color:#f5f7fa;font-weight:500}\n"] }]
211
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { value: [{
212
+ type: Input
213
+ }], valueChange: [{
214
+ type: Output
215
+ }], options: [{
216
+ type: Input
217
+ }], maxItems: [{
218
+ type: Input
219
+ }], showNoneOption: [{
220
+ type: Input
221
+ }], selectAnOptionLabel: [{
222
+ type: Input
223
+ }], noOptionLabel: [{
224
+ type: Input
225
+ }], noneLabel: [{
226
+ type: Input
227
+ }], clickOut: [{
228
+ type: HostListener,
229
+ args: ['document:click', ['$event']]
230
+ }] } });
231
+
232
+ class BoxComponent {
233
+ constructor() {
234
+ this.canCollapse = false;
235
+ this.collapse = false;
236
+ }
237
+ ngOnInit() {
238
+ }
239
+ toggleCollapse() {
240
+ this.collapse = !this.collapse;
241
+ }
242
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
243
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BoxComponent, selector: "ask-box", inputs: { title: "title", subtitle: "subtitle", canCollapse: "canCollapse", collapse: "collapse" }, ngImport: i0, template: "<div class=\"box-container\">\n <header *ngIf=\"canCollapse || title || subtitle\">\n <h1 *ngIf=\"title\" class=\"title\">{{ title }}</h1>\n <h2 *ngIf=\"subtitle\" class=\"subtitle\">{{ subtitle }}</h2>\n\n <span\n *ngIf=\"canCollapse\"\n class=\"collapse-icon material-icons\"\n [class.collapsed]=\"!collapse\"\n (click)=\"toggleCollapse()\"\n >\n expand_more\n </span>\n </header>\n\n <div *ngIf=\"!collapse\" class=\"content\" [style.padding-top]=\"canCollapse ? '32px' : '0'\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}.box-container{background:var(--secondary-background);box-shadow:0 0 10px #2a304229;border-radius:8px;padding:16px}header{position:relative;display:flex;flex-direction:column;gap:8px;min-height:20px}header .title{font-size:16px;line-height:24px;font-weight:500;color:#616e7c;margin:0}header .subtitle{font-size:14px;line-height:20px;color:#616e7c;margin:0}header .collapse-icon{position:absolute;color:#7b8794;transition:transform .2s;right:0;top:0;cursor:pointer;-webkit-user-select:none;user-select:none}header .collapse-icon.collapsed{transform:rotate(180deg)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
244
+ }
245
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BoxComponent, decorators: [{
246
+ type: Component,
247
+ args: [{ selector: 'ask-box', template: "<div class=\"box-container\">\n <header *ngIf=\"canCollapse || title || subtitle\">\n <h1 *ngIf=\"title\" class=\"title\">{{ title }}</h1>\n <h2 *ngIf=\"subtitle\" class=\"subtitle\">{{ subtitle }}</h2>\n\n <span\n *ngIf=\"canCollapse\"\n class=\"collapse-icon material-icons\"\n [class.collapsed]=\"!collapse\"\n (click)=\"toggleCollapse()\"\n >\n expand_more\n </span>\n </header>\n\n <div *ngIf=\"!collapse\" class=\"content\" [style.padding-top]=\"canCollapse ? '32px' : '0'\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}.box-container{background:var(--secondary-background);box-shadow:0 0 10px #2a304229;border-radius:8px;padding:16px}header{position:relative;display:flex;flex-direction:column;gap:8px;min-height:20px}header .title{font-size:16px;line-height:24px;font-weight:500;color:#616e7c;margin:0}header .subtitle{font-size:14px;line-height:20px;color:#616e7c;margin:0}header .collapse-icon{position:absolute;color:#7b8794;transition:transform .2s;right:0;top:0;cursor:pointer;-webkit-user-select:none;user-select:none}header .collapse-icon.collapsed{transform:rotate(180deg)}\n"] }]
248
+ }], ctorParameters: function () { return []; }, propDecorators: { title: [{
249
+ type: Input
250
+ }], subtitle: [{
251
+ type: Input
252
+ }], canCollapse: [{
253
+ type: Input
254
+ }], collapse: [{
255
+ type: Input
256
+ }] } });
257
+
258
+ var AvatarStatus;
259
+ (function (AvatarStatus) {
260
+ AvatarStatus["NONE"] = "";
261
+ AvatarStatus["ONLINE"] = "online";
262
+ AvatarStatus["BUSY"] = "busy";
263
+ AvatarStatus["ABSENT"] = "absent";
264
+ })(AvatarStatus || (AvatarStatus = {}));
265
+ class AvatarComponent {
266
+ constructor() {
267
+ this.src = '';
268
+ this.status = AvatarStatus.NONE;
269
+ }
270
+ static { this.BOT_ICON = '../assets/img/asksuite-icon.svg'; }
271
+ get image() {
272
+ return this.src || AvatarComponent.BOT_ICON;
273
+ }
274
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
275
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AvatarComponent, selector: "ask-avatar", inputs: { src: "src", status: "status" }, ngImport: i0, template: "<div class=\"avatar-container\">\n <img [src]=\"image\" alt=\"avatar\" />\n\n <span [class]=\"'status ' + status\"></span>\n</div>\n", styles: [":root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}.avatar-container{position:relative;display:flex;align-items:center;justify-content:center;background-color:#cbd2d9;width:32px;height:32px;border-radius:9999px}.avatar-container img{height:100%;border-radius:9999px}.avatar-container .status{display:none;position:absolute;bottom:-7px;right:-2px;width:16px;height:16px;border-radius:9999px}.avatar-container .status.online,.avatar-container .status.busy,.avatar-container .status.absent{display:block}.avatar-container .status.online{background-color:#4baf50}.avatar-container .status.busy{background-color:#e8453e}.avatar-container .status.absent{background-color:#ffc107}\n"] }); }
276
+ }
277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AvatarComponent, decorators: [{
278
+ type: Component,
279
+ args: [{ selector: 'ask-avatar', template: "<div class=\"avatar-container\">\n <img [src]=\"image\" alt=\"avatar\" />\n\n <span [class]=\"'status ' + status\"></span>\n</div>\n", styles: [":root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}.avatar-container{position:relative;display:flex;align-items:center;justify-content:center;background-color:#cbd2d9;width:32px;height:32px;border-radius:9999px}.avatar-container img{height:100%;border-radius:9999px}.avatar-container .status{display:none;position:absolute;bottom:-7px;right:-2px;width:16px;height:16px;border-radius:9999px}.avatar-container .status.online,.avatar-container .status.busy,.avatar-container .status.absent{display:block}.avatar-container .status.online{background-color:#4baf50}.avatar-container .status.busy{background-color:#e8453e}.avatar-container .status.absent{background-color:#ffc107}\n"] }]
280
+ }], propDecorators: { src: [{
281
+ type: Input
282
+ }], status: [{
283
+ type: Input
284
+ }] } });
285
+
286
+ class DropdownContainerComponent {
287
+ constructor() { }
288
+ ngOnInit() {
289
+ }
290
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: DropdownContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
291
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: DropdownContainerComponent, selector: "ask-dropdown-container", inputs: { content: "content" }, ngImport: i0, template: "<div class=\"dropdown-container\">\n <ng-container>\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n</div>\n", styles: [":root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}.dropdown-container{display:flex;flex-direction:column;background:var(--primary-background);box-shadow:0 0 10px #2a304229;border-radius:4px}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
292
+ }
293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: DropdownContainerComponent, decorators: [{
294
+ type: Component,
295
+ args: [{ selector: 'ask-dropdown-container', template: "<div class=\"dropdown-container\">\n <ng-container>\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n</div>\n", styles: [":root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}.dropdown-container{display:flex;flex-direction:column;background:var(--primary-background);box-shadow:0 0 10px #2a304229;border-radius:4px}\n"] }]
296
+ }], ctorParameters: function () { return []; }, propDecorators: { content: [{
297
+ type: Input
298
+ }] } });
299
+
300
+ class AskDropdownDirective {
301
+ constructor(overlayPositionBuilder, elementRef, overlay) {
302
+ this.overlayPositionBuilder = overlayPositionBuilder;
303
+ this.elementRef = elementRef;
304
+ this.overlay = overlay;
305
+ this._isRendered = false;
306
+ this.overlayConfig = {};
307
+ }
308
+ ngOnInit() {
309
+ this.setOverlayConfig();
310
+ this.createOverlay();
311
+ this.listenOutsideClicks();
312
+ }
313
+ setOverlayConfig() {
314
+ const positionStrategy = this.overlayPositionBuilder
315
+ .flexibleConnectedTo(this.elementRef)
316
+ .withPositions(this.getOverlayPosition());
317
+ const scrollStrategy = this.overlay.scrollStrategies.close();
318
+ this.overlayConfig = {
319
+ positionStrategy,
320
+ scrollStrategy
321
+ };
322
+ }
323
+ createOverlay() {
324
+ this.overlayRef = this.overlay.create(this.overlayConfig);
325
+ }
326
+ getOverlayPosition() {
327
+ return [
328
+ { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' },
329
+ { originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top' },
330
+ ];
331
+ }
332
+ listenOutsideClicks() {
333
+ this.overlayRef.outsidePointerEvents().subscribe(() => this.close());
334
+ }
335
+ show() {
336
+ if (this.isRendered) {
337
+ this.close();
338
+ return;
339
+ }
340
+ this.containerRef = this.overlayRef.attach(new ComponentPortal(DropdownContainerComponent));
341
+ this.containerRef.instance.content = this.askDropdown;
342
+ this._isRendered = true;
343
+ }
344
+ close() {
345
+ this.containerRef = undefined;
346
+ this.overlayRef.detach();
347
+ this._isRendered = false;
348
+ }
349
+ get isRendered() {
350
+ return this._isRendered;
351
+ }
352
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AskDropdownDirective, deps: [{ token: i1$1.OverlayPositionBuilder }, { token: i0.ElementRef }, { token: i1$1.Overlay }], target: i0.ɵɵFactoryTarget.Directive }); }
353
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.6", type: AskDropdownDirective, selector: "[askDropdown]", inputs: { askDropdown: "askDropdown" }, host: { listeners: { "click": "show()" } }, ngImport: i0 }); }
354
+ }
355
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AskDropdownDirective, decorators: [{
356
+ type: Directive,
357
+ args: [{
358
+ selector: '[askDropdown]'
359
+ }]
360
+ }], ctorParameters: function () { return [{ type: i1$1.OverlayPositionBuilder }, { type: i0.ElementRef }, { type: i1$1.Overlay }]; }, propDecorators: { askDropdown: [{
361
+ type: Input
362
+ }], show: [{
363
+ type: HostListener,
364
+ args: ['click']
365
+ }] } });
366
+
367
+ class AsksuiteCitrusModule {
368
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AsksuiteCitrusModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
369
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: AsksuiteCitrusModule, declarations: [ButtonComponent,
370
+ InputComponent,
371
+ SelectComponent,
372
+ BoxComponent,
373
+ AvatarComponent,
374
+ DropdownContainerComponent,
375
+ AskDropdownDirective], imports: [CommonModule,
376
+ FormsModule], exports: [ButtonComponent,
377
+ InputComponent,
378
+ SelectComponent,
379
+ BoxComponent,
380
+ AvatarComponent,
381
+ DropdownContainerComponent,
382
+ AskDropdownDirective] }); }
383
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AsksuiteCitrusModule, imports: [CommonModule,
384
+ FormsModule] }); }
385
+ }
386
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AsksuiteCitrusModule, decorators: [{
387
+ type: NgModule,
388
+ args: [{
389
+ declarations: [
390
+ ButtonComponent,
391
+ InputComponent,
392
+ SelectComponent,
393
+ BoxComponent,
394
+ AvatarComponent,
395
+ DropdownContainerComponent,
396
+ AskDropdownDirective,
397
+ ],
398
+ imports: [
399
+ CommonModule,
400
+ FormsModule
401
+ ],
402
+ exports: [
403
+ ButtonComponent,
404
+ InputComponent,
405
+ SelectComponent,
406
+ BoxComponent,
407
+ AvatarComponent,
408
+ DropdownContainerComponent,
409
+ AskDropdownDirective,
410
+ ]
411
+ }]
412
+ }] });
413
+
414
+ /*
415
+ * Public API Surface of asksuite-citrus
416
+ */
417
+
418
+ /**
419
+ * Generated bundle index. Do not edit.
420
+ */
421
+
422
+ export { AskDropdownDirective, AsksuiteCitrusModule, AvatarComponent, AvatarStatus, BoxComponent, ButtonComponent, DropdownContainerComponent, InputComponent, SelectComponent };
423
+ //# sourceMappingURL=asksuite-citrus.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asksuite-citrus.mjs","sources":["../../../projects/asksuite-citrus/src/lib/components/button/button.component.ts","../../../projects/asksuite-citrus/src/lib/components/button/button.component.html","../../../projects/asksuite-citrus/src/lib/components/input/input.component.ts","../../../projects/asksuite-citrus/src/lib/components/input/input.component.html","../../../projects/asksuite-citrus/src/lib/components/select/select.component.ts","../../../projects/asksuite-citrus/src/lib/components/select/select.component.html","../../../projects/asksuite-citrus/src/lib/components/box/box.component.ts","../../../projects/asksuite-citrus/src/lib/components/box/box.component.html","../../../projects/asksuite-citrus/src/lib/components/avatar/avatar.component.ts","../../../projects/asksuite-citrus/src/lib/components/avatar/avatar.component.html","../../../projects/asksuite-citrus/src/lib/components/dropdown-container/dropdown-container.component.ts","../../../projects/asksuite-citrus/src/lib/components/dropdown-container/dropdown-container.component.html","../../../projects/asksuite-citrus/src/lib/directives/ask-dropdown.directive.ts","../../../projects/asksuite-citrus/src/lib/asksuite-citrus.module.ts","../../../projects/asksuite-citrus/src/public-api.ts","../../../projects/asksuite-citrus/src/asksuite-citrus.ts"],"sourcesContent":["import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\n\n@Component({\n selector: 'ask-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss']\n})\nexport class ButtonComponent implements OnInit {\n\n // Properties\n @Input() label = '';\n @Input() size: 'small' | 'normal' | 'medium' | 'large' = 'normal';\n @Input() type: 'primary' | 'secondary' | 'outline' = 'primary';\n @Input() disabled = false;\n\n // Event handlers\n @Output() onClick = new EventEmitter<MouseEvent>();\n @Output() onFocus = new EventEmitter<FocusEvent>();\n @Output() onBlur = new EventEmitter<FocusEvent>();\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n get buttonClasses() {\n return `${this.type} ${this.size}`;\n }\n\n}\n","<button\n type=\"button\"\n [ngClass]=\"buttonClasses\"\n [disabled]=\"disabled\"\n (click)=\"onClick.emit($event)\"\n (focus)=\"onFocus.emit($event)\"\n (blur)=\"onBlur.emit($event)\"\n>\n {{ label }}\n <ng-content></ng-content>\n</button>\n","import {\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnInit,\n Output,\n Provider,\n ViewChild\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\n\nconst valueAccessor: Provider = {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => InputComponent),\n}\n\n@Component({\n selector: 'ask-input',\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n providers: [ valueAccessor ]\n})\nexport class InputComponent implements OnInit, ControlValueAccessor {\n\n @Input() value: string = '';\n @Input() type: 'text' | 'email' | 'password' = 'text';\n @Input() placeholder!: string;\n @Input() leftIcon?: string;\n @Input() rightIcon?: string;\n @Input() disabled: boolean = false;\n\n @Output() valueChange = new EventEmitter<string>();\n @Output() change = new EventEmitter<Event>();\n @Output() input = new EventEmitter<Event>();\n @Output() click = new EventEmitter<MouseEvent>();\n @Output() focus = new EventEmitter<FocusEvent>();\n @Output() blur = new EventEmitter<FocusEvent>();\n @Output() leftIconClick = new EventEmitter<MouseEvent>();\n @Output() rightIconClick = new EventEmitter<MouseEvent>();\n\n isFocused = false;\n\n @ViewChild('inputElement', { static: true }) inputElement!: ElementRef;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n onModelChange(newValue: string) {\n this.writeValue(newValue);\n }\n\n handleChange(event: Event) {\n this.change.emit(event);\n }\n\n handleInput(event: Event) {\n this.input.emit(event);\n }\n\n handleFocus(event: FocusEvent) {\n this.isFocused = true;\n this.focus.emit(event);\n }\n\n handleBlur(event: FocusEvent) {\n this.isFocused = false;\n this.blur.emit(event);\n }\n\n /*\n * Control value accessor methods\n */\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n onChange = () => {};\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n onTouch = () => {};\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: string): void {\n this.value = value;\n this.valueChange.emit(this.value);\n }\n\n}\n","<div\n class=\"input-container\"\n [ngClass]=\"{ 'focus': isFocused, 'disabled': disabled, 'left-icon': leftIcon, 'right-icon': rightIcon }\"\n (click)=\"inputElement.focus()\"\n>\n <span\n *ngIf=\"leftIcon\"\n class=\"material-icons icon-left\"\n (click)=\"leftIconClick.emit($event)\"\n >\n {{ leftIcon }}\n </span>\n\n <input\n #inputElement\n class=\"ask-input\"\n [type]=\"type\"\n [placeholder]=\"placeholder || ''\"\n (click)=\"click.emit($event)\"\n (focus)=\"handleFocus($event)\"\n (blur)=\"handleBlur($event)\"\n (change)=\"handleChange($event)\"\n (input)=\"handleInput($event)\"\n [disabled]=\"disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n />\n\n <span\n *ngIf=\"rightIcon\"\n class=\"material-icons icon-right\"\n\n (click)=\"rightIconClick.emit($event)\"\n >\n {{ rightIcon }}\n </span>\n</div>\n","import {Component, ElementRef, EventEmitter, forwardRef, HostListener, Input, Output, Provider} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\n\nexport interface Option {\n value: string;\n label: string;\n}\n\nconst valueAccessor: Provider = {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SelectComponent),\n}\n\n@Component({\n selector: 'ask-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n providers: [ valueAccessor ]\n})\nexport class SelectComponent implements ControlValueAccessor{\n\n @Input() value: any;\n @Output() valueChange = new EventEmitter();\n @Input() options: Array<Option> = [];\n @Input() maxItems = 4;\n @Input() showNoneOption = true;\n\n // Labels\n @Input() selectAnOptionLabel = 'Selecione uma opção';\n @Input() noOptionLabel = 'Nenhuma opção disponível';\n @Input() noneLabel = 'Nenhum';\n\n showList = false;\n selectedOption?: Option;\n\n constructor(\n private elementRef: ElementRef\n ) { }\n\n @HostListener('document:click', ['$event'])\n clickOut(event: PointerEvent) {\n const hasComponentInPath = event.composedPath().find((el: any) => el?.nodeName?.toLowerCase() === 'ask-select');\n\n if (\n this.elementRef.nativeElement.contains(event.target) ||\n hasComponentInPath\n ) {\n return;\n }\n\n this.showList = false;\n }\n\n get listMaxHeight() {\n const optionHeight = 46;\n\n return this.maxItems * optionHeight + this.maxItems + 1;\n }\n\n handleSelectClick() {\n this.showList = !this.showList;\n }\n\n handleOptionClick(option: Option | undefined) {\n this.setSelectedOption(option);\n\n }\n\n setSelectedOption(option: Option | undefined) {\n if (option?.value === this.value) {\n return;\n }\n\n this.selectedOption = option;\n this.value = option?.value || null;\n this.writeValue(this.value);\n this.onChange(this.value);\n this.onTouch(this.value);\n this.valueChange.emit(this.value);\n\n }\n\n onChange: any = () => {\n }\n onTouch: any = () => {\n }\n\n writeValue(value: any) {\n this.value = value\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn\n }\n\n}\n","<div\n class=\"select-container\"\n (click)=\"handleSelectClick()\"\n>\n <select [hidden]=\"true\"></select>\n\n <span class=\"label\">{{ selectedOption?.label || selectAnOptionLabel }}</span>\n <span class=\"material-icons arrow\">arrow_drop_down</span>\n\n <div\n *ngIf=\"showList\"\n class=\"options-list\"\n [style.max-height]=\"listMaxHeight + 'px'\"\n >\n <!-- No options available -->\n <div\n *ngIf=\"!options?.length\"\n class=\"option\"\n >\n {{ noOptionLabel }}\n </div>\n\n <div\n *ngIf=\"showNoneOption && options?.length\"\n class=\"option\"\n (click)=\"handleOptionClick(undefined)\"\n >\n {{ noneLabel }}\n </div>\n\n <div\n *ngFor=\"let option of options\"\n class=\"option\"\n (click)=\"handleOptionClick(option)\"\n >\n {{ option.label }}\n </div>\n </div>\n</div>\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'ask-box',\n templateUrl: './box.component.html',\n styleUrls: ['./box.component.scss']\n})\nexport class BoxComponent implements OnInit {\n\n @Input() title?: string;\n @Input() subtitle?: string;\n @Input() canCollapse = false;\n @Input() collapse = false;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n toggleCollapse() {\n this.collapse = !this.collapse;\n }\n\n}\n","<div class=\"box-container\">\n <header *ngIf=\"canCollapse || title || subtitle\">\n <h1 *ngIf=\"title\" class=\"title\">{{ title }}</h1>\n <h2 *ngIf=\"subtitle\" class=\"subtitle\">{{ subtitle }}</h2>\n\n <span\n *ngIf=\"canCollapse\"\n class=\"collapse-icon material-icons\"\n [class.collapsed]=\"!collapse\"\n (click)=\"toggleCollapse()\"\n >\n expand_more\n </span>\n </header>\n\n <div *ngIf=\"!collapse\" class=\"content\" [style.padding-top]=\"canCollapse ? '32px' : '0'\">\n <ng-content></ng-content>\n </div>\n</div>\n","import {Component, Input} from '@angular/core';\n\nexport enum AvatarStatus {\n NONE = '',\n ONLINE = 'online',\n BUSY = 'busy',\n ABSENT = 'absent'\n}\n\n@Component({\n selector: 'ask-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss']\n})\nexport class AvatarComponent {\n\n @Input() src: string = '';\n @Input() status: AvatarStatus | 'none' | 'online' | 'busy' | 'absent' = AvatarStatus.NONE;\n\n static readonly BOT_ICON: string = '../assets/img/asksuite-icon.svg';\n\n get image() {\n return this.src || AvatarComponent.BOT_ICON;\n }\n\n}\n","<div class=\"avatar-container\">\n <img [src]=\"image\" alt=\"avatar\" />\n\n <span [class]=\"'status ' + status\"></span>\n</div>\n","import {Component, Input, OnInit, TemplateRef} from '@angular/core';\n\n@Component({\n selector: 'ask-dropdown-container',\n templateUrl: './dropdown-container.component.html',\n styleUrls: ['./dropdown-container.component.scss']\n})\nexport class DropdownContainerComponent implements OnInit {\n\n @Input() content!: TemplateRef<any>;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"dropdown-container\">\n <ng-container>\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n</div>\n","import {ComponentRef, Directive, ElementRef, HostListener, Input, OnInit, TemplateRef} from '@angular/core';\nimport {DropdownContainerComponent} from \"../components/dropdown-container/dropdown-container.component\";\nimport {ConnectedPosition, Overlay, OverlayConfig, OverlayPositionBuilder, OverlayRef} from \"@angular/cdk/overlay\";\nimport {ComponentPortal} from \"@angular/cdk/portal\";\n\n@Directive({\n selector: '[askDropdown]'\n})\nexport class AskDropdownDirective implements OnInit {\n\n @Input() askDropdown!: TemplateRef<any>;\n\n private _isRendered: boolean = false;\n private overlayConfig: OverlayConfig = {};\n private overlayRef!: OverlayRef;\n private containerRef!: ComponentRef<DropdownContainerComponent> | undefined;\n\n constructor(\n private overlayPositionBuilder: OverlayPositionBuilder,\n private elementRef: ElementRef,\n private overlay: Overlay\n ) { }\n\n ngOnInit() {\n this.setOverlayConfig();\n this.createOverlay();\n this.listenOutsideClicks();\n }\n\n private setOverlayConfig() {\n const positionStrategy = this.overlayPositionBuilder\n .flexibleConnectedTo(this.elementRef)\n .withPositions(this.getOverlayPosition());\n\n const scrollStrategy = this.overlay.scrollStrategies.close();\n\n this.overlayConfig = {\n positionStrategy,\n scrollStrategy\n };\n }\n\n private createOverlay() {\n this.overlayRef = this.overlay.create(this.overlayConfig);\n }\n\n private getOverlayPosition(): ConnectedPosition[] {\n return [\n { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' },\n { originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top' },\n ]\n }\n\n private listenOutsideClicks() {\n this.overlayRef.outsidePointerEvents().subscribe(() => this.close());\n }\n\n @HostListener('click')\n show() {\n if (this.isRendered) {\n this.close();\n return;\n }\n\n this.containerRef = this.overlayRef.attach(new ComponentPortal(DropdownContainerComponent));\n this.containerRef.instance.content = this.askDropdown;\n this._isRendered = true;\n }\n\n close() {\n this.containerRef = undefined;\n this.overlayRef.detach();\n this._isRendered = false;\n }\n\n public get isRendered() {\n return this._isRendered;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { ButtonComponent } from './components/button/button.component';\nimport { CommonModule } from \"@angular/common\";\nimport { InputComponent } from './components/input/input.component';\nimport { SelectComponent } from './components/select/select.component';\nimport { BoxComponent } from './components/box/box.component';\nimport {FormsModule} from \"@angular/forms\";\nimport { AvatarComponent } from './components/avatar/avatar.component';\nimport {DropdownContainerComponent} from \"./components/dropdown-container/dropdown-container.component\";\nimport { AskDropdownDirective } from './directives/ask-dropdown.directive';\n\n@NgModule({\n declarations: [\n ButtonComponent,\n InputComponent,\n SelectComponent,\n BoxComponent,\n AvatarComponent,\n DropdownContainerComponent,\n AskDropdownDirective,\n ],\n imports: [\n CommonModule,\n FormsModule\n ],\n exports: [\n ButtonComponent,\n InputComponent,\n SelectComponent,\n BoxComponent,\n AvatarComponent,\n DropdownContainerComponent,\n AskDropdownDirective,\n ]\n})\nexport class AsksuiteCitrusModule { }\n","/*\n * Public API Surface of asksuite-citrus\n */\n\nexport * from './lib/asksuite-citrus.module';\n\n// Components\nexport * from './lib/components/button/button.component'\nexport * from './lib/components/input/input.component'\nexport * from './lib/components/select/select.component'\nexport * from './lib/components/box/box.component'\nexport * from './lib/components/avatar/avatar.component'\nexport * from './lib/components/dropdown-container/dropdown-container.component'\n\n// Directives\nexport * from './lib/directives/ask-dropdown.directive'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["valueAccessor","i1"],"mappings":";;;;;;;;;MAOa,eAAe,CAAA;AAa1B,IAAA,WAAA,GAAA;;QAVS,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;QACX,IAAI,CAAA,IAAA,GAA4C,QAAQ,CAAC;QACzD,IAAI,CAAA,IAAA,GAAwC,SAAS,CAAC;QACtD,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;AAGhB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAc,CAAC;AACzC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAc,CAAC;AACzC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAc,CAAC;KAEjC;IAEjB,QAAQ,GAAA;KACP;AAED,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,CAAA,EAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA,CAAE,CAAC;KACpC;8GApBU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,uMCP5B,4PAWA,EAAA,MAAA,EAAA,CAAA,ktFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDJa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,YAAY,EAAA,QAAA,EAAA,4PAAA,EAAA,MAAA,EAAA,CAAA,ktFAAA,CAAA,EAAA,CAAA;0EAOb,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAGI,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBACG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;;;AELT,MAAMA,eAAa,GAAa;AAC9B,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,cAAc,CAAC;CAC9C,CAAA;MAQY,cAAc,CAAA;AAsBzB,IAAA,WAAA,GAAA;QApBS,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;QACnB,IAAI,CAAA,IAAA,GAAkC,MAAM,CAAC;QAI7C,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAEzB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;AACzC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAS,CAAC;AACnC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAS,CAAC;AAClC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAc,CAAC;AACvC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAc,CAAC;AACvC,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAc,CAAC;AACtC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAc,CAAC;AAC/C,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAc,CAAC;QAE1D,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAuClB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAK,GAAG,CAAC;AAMpB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAK,GAAG,CAAC;KAzCF;IAEjB,QAAQ,GAAA;KACP;AAED,IAAA,aAAa,CAAC,QAAgB,EAAA;AAC5B,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;KAC3B;AAED,IAAA,YAAY,CAAC,KAAY,EAAA;AACvB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzB;AAED,IAAA,WAAW,CAAC,KAAY,EAAA;AACtB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;AAED,IAAA,WAAW,CAAC,KAAiB,EAAA;AAC3B,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;AAED,IAAA,UAAU,CAAC,KAAiB,EAAA;AAC1B,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvB;AAED;;AAEG;AAEH,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAID,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;AAID,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC5B;AAED,IAAA,UAAU,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;8GAxEU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,EAFd,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,aAAA,EAAA,eAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,SAAA,EAAA,CAAEA,eAAa,CAAE,sJCvB9B,q5BAqCA,EAAA,MAAA,EAAA,CAAA,+0FAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDZa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,SAAS;+BACE,WAAW,EAAA,SAAA,EAGV,CAAEA,eAAa,CAAE,EAAA,QAAA,EAAA,q5BAAA,EAAA,MAAA,EAAA,CAAA,+0FAAA,CAAA,EAAA,CAAA;0EAInB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBACG,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,IAAI,EAAA,CAAA;sBAAb,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBACG,cAAc,EAAA,CAAA;sBAAvB,MAAM;gBAIsC,YAAY,EAAA,CAAA;sBAAxD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;AErC7C,MAAM,aAAa,GAAa;AAC9B,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,eAAe,CAAC;CAC/C,CAAA;MAQY,eAAe,CAAA;AAgB1B,IAAA,WAAA,CACU,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAdtB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAE,CAAC;QAClC,IAAO,CAAA,OAAA,GAAkB,EAAE,CAAC;QAC5B,IAAQ,CAAA,QAAA,GAAG,CAAC,CAAC;QACb,IAAc,CAAA,cAAA,GAAG,IAAI,CAAC;;QAGtB,IAAmB,CAAA,mBAAA,GAAG,qBAAqB,CAAC;QAC5C,IAAa,CAAA,aAAA,GAAG,0BAA0B,CAAC;QAC3C,IAAS,CAAA,SAAA,GAAG,QAAQ,CAAC;QAE9B,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QAkDjB,IAAQ,CAAA,QAAA,GAAQ,MAAK;AACrB,SAAC,CAAA;QACD,IAAO,CAAA,OAAA,GAAQ,MAAK;AACpB,SAAC,CAAA;KAhDI;AAGL,IAAA,QAAQ,CAAC,KAAmB,EAAA;QAC1B,MAAM,kBAAkB,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,EAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,YAAY,CAAC,CAAC;QAEhH,IACE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;AACpD,YAAA,kBAAkB,EAClB;YACA,OAAO;AACR,SAAA;AAED,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;KACvB;AAED,IAAA,IAAI,aAAa,GAAA;QACf,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,OAAO,IAAI,CAAC,QAAQ,GAAG,YAAY,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;KACzD;IAED,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;KAChC;AAED,IAAA,iBAAiB,CAAC,MAA0B,EAAA;AAC1C,QAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;KAEhC;AAED,IAAA,iBAAiB,CAAC,MAA0B,EAAA;AAC1C,QAAA,IAAI,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;YAChC,OAAO;AACR,SAAA;AAED,QAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC;AACnC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAEnC;AAOD,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;KACnB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;KACnB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;KAClB;8GA9EU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAFf,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAE,aAAa,CAAE,0BClB9B,y3BAuCA,EAAA,MAAA,EAAA,CAAA,44FAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDnBa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;+BACE,YAAY,EAAA,SAAA,EAGX,CAAE,aAAa,CAAE,EAAA,QAAA,EAAA,y3BAAA,EAAA,MAAA,EAAA,CAAA,44FAAA,CAAA,EAAA,CAAA;iGAInB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACE,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAGG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAUN,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MEjC/B,YAAY,CAAA;AAOvB,IAAA,WAAA,GAAA;QAHS,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;QACpB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;KAET;IAEjB,QAAQ,GAAA;KACP;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;KAChC;8GAdU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,mJCPzB,ikBAmBA,EAAA,MAAA,EAAA,CAAA,0oEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDZa,YAAY,EAAA,UAAA,EAAA,CAAA;kBALxB,SAAS;+BACE,SAAS,EAAA,QAAA,EAAA,ikBAAA,EAAA,MAAA,EAAA,CAAA,0oEAAA,CAAA,EAAA,CAAA;0EAMV,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;IEVI,aAKX;AALD,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,MAAA,CAAA,GAAA,EAAS,CAAA;AACT,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,YAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EALW,YAAY,KAAZ,YAAY,GAKvB,EAAA,CAAA,CAAA,CAAA;MAOY,eAAe,CAAA;AAL5B,IAAA,WAAA,GAAA;QAOW,IAAG,CAAA,GAAA,GAAW,EAAE,CAAC;AACjB,QAAA,IAAA,CAAA,MAAM,GAAyD,YAAY,CAAC,IAAI,CAAC;AAQ3F,KAAA;aANiB,IAAQ,CAAA,QAAA,GAAW,iCAAiC,CAAC,EAAA;AAErE,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC;KAC7C;8GATU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,4FCd5B,wIAKA,EAAA,MAAA,EAAA,CAAA,qsEAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDSa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,YAAY,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,qsEAAA,CAAA,EAAA,CAAA;8BAMb,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MEVK,0BAA0B,CAAA;AAIrC,IAAA,WAAA,GAAA,GAAiB;IAEjB,QAAQ,GAAA;KACP;8GAPU,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,8FCPvC,mJAKA,EAAA,MAAA,EAAA,CAAA,muDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDEa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,mJAAA,EAAA,MAAA,EAAA,CAAA,muDAAA,CAAA,EAAA,CAAA;0EAMzB,OAAO,EAAA,CAAA;sBAAf,KAAK;;;MEDK,oBAAoB,CAAA;AAS/B,IAAA,WAAA,CACU,sBAA8C,EAC9C,UAAsB,EACtB,OAAgB,EAAA;QAFhB,IAAsB,CAAA,sBAAA,GAAtB,sBAAsB,CAAwB;QAC9C,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACtB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;QARlB,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;QAC7B,IAAa,CAAA,aAAA,GAAkB,EAAE,CAAC;KAQrC;IAEL,QAAQ,GAAA;QACN,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;IAEO,gBAAgB,GAAA;AACtB,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB;AACjD,aAAA,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;AACpC,aAAA,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAE5C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAE7D,IAAI,CAAC,aAAa,GAAG;YACnB,gBAAgB;YAChB,cAAc;SACf,CAAC;KACH;IAEO,aAAa,GAAA;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC3D;IAEO,kBAAkB,GAAA;QACxB,OAAO;AACL,YAAA,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;AAC3E,YAAA,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;SACxE,CAAA;KACF;IAEO,mBAAmB,GAAA;AACzB,QAAA,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;KACtE;IAGD,IAAI,GAAA;QACF,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO;AACR,SAAA;AAED,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAC5F,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;AACtD,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;KACzB;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;AAC9B,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;KAC1B;AAED,IAAA,IAAW,UAAU,GAAA;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;8GArEU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAApB,oBAAoB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AAC1B,iBAAA,CAAA;gKAGU,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAgDN,IAAI,EAAA,CAAA;sBADH,YAAY;uBAAC,OAAO,CAAA;;;MCtBV,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAApB,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,oBAAoB,iBAtB7B,eAAe;YACf,cAAc;YACd,eAAe;YACf,YAAY;YACZ,eAAe;YACf,0BAA0B;AAC1B,YAAA,oBAAoB,aAGpB,YAAY;AACZ,YAAA,WAAW,aAGX,eAAe;YACf,cAAc;YACd,eAAe;YACf,YAAY;YACZ,eAAe;YACf,0BAA0B;YAC1B,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGX,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,oBAAoB,YAb7B,YAAY;YACZ,WAAW,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAYF,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAxBhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,eAAe;wBACf,cAAc;wBACd,eAAe;wBACf,YAAY;wBACZ,eAAe;wBACf,0BAA0B;wBAC1B,oBAAoB;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;AACZ,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,eAAe;wBACf,cAAc;wBACd,eAAe;wBACf,YAAY;wBACZ,eAAe;wBACf,0BAA0B;wBAC1B,oBAAoB;AACrB,qBAAA;AACF,iBAAA,CAAA;;;AClCD;;AAEG;;ACFH;;AAEG;;;;"}
@@ -4,10 +4,12 @@ import * as i2 from "./components/input/input.component";
4
4
  import * as i3 from "./components/select/select.component";
5
5
  import * as i4 from "./components/box/box.component";
6
6
  import * as i5 from "./components/avatar/avatar.component";
7
- import * as i6 from "@angular/common";
8
- import * as i7 from "@angular/forms";
7
+ import * as i6 from "./components/dropdown-container/dropdown-container.component";
8
+ import * as i7 from "./directives/ask-dropdown.directive";
9
+ import * as i8 from "@angular/common";
10
+ import * as i9 from "@angular/forms";
9
11
  export declare class AsksuiteCitrusModule {
10
12
  static ɵfac: i0.ɵɵFactoryDeclaration<AsksuiteCitrusModule, never>;
11
- static ɵmod: i0.ɵɵNgModuleDeclaration<AsksuiteCitrusModule, [typeof i1.ButtonComponent, typeof i2.InputComponent, typeof i3.SelectComponent, typeof i4.BoxComponent, typeof i5.AvatarComponent], [typeof i6.CommonModule, typeof i7.FormsModule], [typeof i1.ButtonComponent, typeof i2.InputComponent, typeof i3.SelectComponent, typeof i4.BoxComponent, typeof i5.AvatarComponent]>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AsksuiteCitrusModule, [typeof i1.ButtonComponent, typeof i2.InputComponent, typeof i3.SelectComponent, typeof i4.BoxComponent, typeof i5.AvatarComponent, typeof i6.DropdownContainerComponent, typeof i7.AskDropdownDirective], [typeof i8.CommonModule, typeof i9.FormsModule], [typeof i1.ButtonComponent, typeof i2.InputComponent, typeof i3.SelectComponent, typeof i4.BoxComponent, typeof i5.AvatarComponent, typeof i6.DropdownContainerComponent, typeof i7.AskDropdownDirective]>;
12
14
  static ɵinj: i0.ɵɵInjectorDeclaration<AsksuiteCitrusModule>;
13
15
  }
@@ -11,5 +11,5 @@ export declare class AvatarComponent {
11
11
  static readonly BOT_ICON: string;
12
12
  get image(): string;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<AvatarComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "ask-avatar", never, { "src": "src"; "status": "status"; }, {}, never, never, false, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "ask-avatar", never, { "src": { "alias": "src"; "required": false; }; "status": { "alias": "status"; "required": false; }; }, {}, never, never, false, never>;
15
15
  }
@@ -9,5 +9,5 @@ export declare class BoxComponent implements OnInit {
9
9
  ngOnInit(): void;
10
10
  toggleCollapse(): void;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<BoxComponent, never>;
12
- static ɵcmp: i0.ɵɵComponentDeclaration<BoxComponent, "ask-box", never, { "title": "title"; "subtitle": "subtitle"; "canCollapse": "canCollapse"; "collapse": "collapse"; }, {}, never, ["*"], false, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<BoxComponent, "ask-box", never, { "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "canCollapse": { "alias": "canCollapse"; "required": false; }; "collapse": { "alias": "collapse"; "required": false; }; }, {}, never, ["*"], false, never>;
13
13
  }
@@ -12,5 +12,5 @@ export declare class ButtonComponent implements OnInit {
12
12
  ngOnInit(): void;
13
13
  get buttonClasses(): string;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "ask-button", never, { "label": "label"; "size": "size"; "type": "type"; "disabled": "disabled"; }, { "onClick": "onClick"; "onFocus": "onFocus"; "onBlur": "onBlur"; }, never, ["*"], false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "ask-button", never, { "label": { "alias": "label"; "required": false; }; "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "onClick": "onClick"; "onFocus": "onFocus"; "onBlur": "onBlur"; }, never, ["*"], false, never>;
16
16
  }
@@ -0,0 +1,9 @@
1
+ import { OnInit, TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class DropdownContainerComponent implements OnInit {
4
+ content: TemplateRef<any>;
5
+ constructor();
6
+ ngOnInit(): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<DropdownContainerComponent, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<DropdownContainerComponent, "ask-dropdown-container", never, { "content": { "alias": "content"; "required": false; }; }, {}, never, never, false, never>;
9
+ }