asksuite-citrus 0.0.11 → 0.0.12
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.
- package/esm2022/lib/asksuite-citrus.module.mjs +31 -5
- package/esm2022/lib/components/autocomplete/autocomplete.component.mjs +192 -0
- package/esm2022/lib/components/avatar/avatar.component.mjs +2 -2
- package/esm2022/lib/components/box/box.component.mjs +2 -2
- package/esm2022/lib/components/button/button.component.mjs +2 -2
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +68 -0
- package/esm2022/lib/components/chips/chips.component.mjs +19 -0
- package/esm2022/lib/components/date-picker/date-picker-calendar/date-picker-calendar.component.mjs +2 -2
- package/esm2022/lib/components/dropdown-container/dropdown-container.component.mjs +2 -2
- package/esm2022/lib/components/input/input.component.mjs +2 -2
- package/esm2022/lib/components/select/select.component.mjs +2 -2
- package/esm2022/public-api.mjs +4 -1
- package/fesm2022/asksuite-citrus.mjs +314 -27
- package/fesm2022/asksuite-citrus.mjs.map +1 -1
- package/lib/asksuite-citrus.module.d.ts +9 -5
- package/lib/components/autocomplete/autocomplete.component.d.ts +54 -0
- package/lib/components/checkbox/checkbox.component.d.ts +23 -0
- package/lib/components/chips/chips.component.d.ts +8 -0
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
- package/styles/helpers.scss +5 -0
- package/styles/tokens.scss +1 -0
@@ -1 +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/components/date-picker/date-picker.component.ts","../../../projects/asksuite-citrus/src/lib/components/date-picker/date-picker-calendar/date-picker-calendar.component.ts","../../../projects/asksuite-citrus/src/lib/components/date-picker/date-picker-calendar/date-picker-calendar.component.html","../../../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: 'xsmall' | '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((event) => {\n this.close();\n event.stopPropagation();\n });\n }\n\n @HostListener('click')\n public 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 public 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 {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport moment from 'moment';\nimport {DatePickerValue, DateRange} from \"./date-picker-calendar/date-picker-calendar.component\";\n\ninterface Period {\n label: string;\n getRange: () => DateRange;\n isCustomRange?: boolean;\n selected: boolean;\n}\n\nexport const asDate = (inMoment: moment.Moment) => {\n return inMoment.utc(true).toDate();\n}\n\n@Component({\n selector: 'ask-date-picker',\n templateUrl: './date-picker.component.html',\n styleUrls: ['./date-picker.component.scss']\n})\nexport class DatePickerComponent implements OnInit {\n\n periods: Array<Period> = [\n { label: 'Hoje', getRange: () => ({ from: asDate(moment().startOf('day')), to: asDate(moment().endOf('day')) }), selected: false },\n { label: 'Ontem', getRange: () => ({ from: asDate(moment().subtract(1, 'day').startOf('day')), to: asDate(moment().subtract(1, 'day').endOf('day')) }), selected: false },\n { label: 'Últimos 7 dias', getRange: () => ({ from: asDate(moment().subtract(1, 'week').startOf('day')), to: asDate(moment().endOf('day')) }), selected: false },\n { label: 'Últimos 30 dias', getRange: () => ({ from: asDate(moment().subtract(30, 'days').startOf('day')), to: asDate(moment().endOf('day')) }), selected: false },\n { label: 'Este mês', getRange: () => ({ from: asDate(moment().startOf('month')), to: asDate(moment().endOf('month')) }), selected: false },\n { label: 'Último trimestre', getRange: () => ({ from: asDate(moment().subtract(3, 'months').startOf('day')), to: asDate(moment().endOf('month')) }), selected: false },\n { label: 'Período customizado', getRange: () => ({}), isCustomRange: true, selected: false },\n ];\n\n @Input() date: DatePickerValue = new Date();\n @Input() isRange: boolean = false;\n\n @Output() dateChange = new EventEmitter<DatePickerValue>();\n @Output() cancel = new EventEmitter();\n\n isCustomRange = false;\n\n get from(): Date | undefined {\n if (this.date instanceof Date) {\n return;\n }\n\n return this.date.from;\n }\n\n get to(): Date | undefined {\n if (this.date instanceof Date) {\n return;\n }\n\n return this.date.to;\n }\n\n get dateDisplay(): string {\n const from = this.from ? moment(this.from).utc(false).format('L') : '';\n const to = this.to ? moment(this.to).utc(false).format('L') : '';\n\n return `${from} ${ to ? '- ' + to : '' }`;\n }\n\n ngOnInit(): void {\n moment.locale((navigator.language || 'en-US').split('-')[0]); // TODO: put this on i18n service initialization\n }\n\n selectPeriod(period: Period) {\n this.periods.forEach(period => period.selected = false);\n\n this.date = period.getRange();\n this.isCustomRange = period.isCustomRange || false;\n period.selected = true;\n\n if (!this.isCustomRange) {\n this.writeValue();\n }\n }\n\n handleDateChange(value: DatePickerValue) {\n this.date = value;\n\n if (!this.isRange) {\n this.writeValue();\n }\n }\n\n writeValue() {\n this.dateChange.emit(this.date);\n }\n\n handleCancelClick() {\n this.cancel.emit();\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport moment from 'moment';\nimport {asDate} from \"../date-picker.component\";\n\nexport interface Day {\n timestamp: number;\n day: string;\n month: number;\n weekDay: number;\n}\n\nexport interface WeekDay {\n name: string;\n}\n\nexport type DateRange = { from?: Date; to?: Date; };\n\nexport type DatePickerValue = Date | DateRange;\n\ntype DayRange = { from?: Day; to?: Day; };\n\ntype DatePickerInnerValue = Day | DayRange;\n\n@Component({\n selector: 'ask-date-picker-calendar',\n templateUrl: './date-picker-calendar.component.html',\n styleUrls: ['./date-picker-calendar.component.scss']\n})\nexport class DatePickerCalendarComponent implements OnInit {\n @Input() isRange: boolean = false;\n @Input() date!: DatePickerValue;\n @Output() dateChange: EventEmitter<DatePickerValue> = new EventEmitter<DatePickerValue>();\n\n private innerDate!: DatePickerInnerValue;\n private displayDate!: moment.Moment;\n private firstDayOfWeek!: number;\n private _weekDays: Array<WeekDay> = [];\n private _days: Array<Day> = [];\n\n get days(): Array<Day> {\n return this._days\n }\n\n get month(): string {\n return this.displayDate.format('MMMM');\n }\n\n get monthNumber(): number {\n return this.displayDate.month();\n }\n\n get year(): string {\n return this.displayDate.format('YYYY');\n }\n\n get weekDays(): Array<WeekDay> {\n return this._weekDays;\n }\n\n isDaySelected(day: Day): boolean {\n if (this.isRange) {\n\n const from = (this.innerDate as DayRange).from?.timestamp;\n const to = (this.innerDate as DayRange).to?.timestamp;\n\n if (!from) {\n return false;\n }\n else if (!to) {\n return day.timestamp === from;\n }\n\n return day.timestamp >= from && day.timestamp <= to;\n }\n\n return (this.innerDate as Day)?.timestamp === day.timestamp;\n }\n\n isFirstSelectedDay(day: Day) {\n if (this.isRange) {\n return day.timestamp === (this.innerDate as DayRange).from?.timestamp;\n }\n\n return (this.innerDate as Day).timestamp === day.timestamp;\n }\n\n isLastSelectedDay(day: Day) {\n if (this.isRange) {\n return day.timestamp === ((this.innerDate as DayRange).to?.timestamp || (this.innerDate as DayRange).from?.timestamp);\n }\n\n return (this.innerDate as Day).timestamp === day.timestamp;\n }\n\n ngOnInit() {\n this.assignInitialValues();\n this.refreshDisplay();\n }\n\n private assignInitialValues() {\n if (this.isRange) {\n const receivedDate = this.date as DateRange;\n if (receivedDate.from && receivedDate.to) {\n (this.innerDate as DayRange) = {\n from: this.getDayFromDate(receivedDate.from),\n to: this.getDayFromDate(receivedDate.to),\n }\n }\n else {\n (this.innerDate as DayRange) = {};\n }\n this.displayDate = moment.unix((this.innerDate as DayRange).from?.timestamp || (Date.now() / 1000));\n }\n else {\n this.innerDate = this.getDayFromDate(this.date as Date);\n this.displayDate = moment.unix(this.innerDate.timestamp);\n }\n\n this.firstDayOfWeek = this.displayDate.clone().startOf('week').day();\n }\n\n private refreshDisplay() {\n this.buildWeekDays();\n this.buildDays();\n }\n\n private buildWeekDays() {\n const startOfWeek = this.displayDate.clone().startOf('week');\n const endOfWeek = this.displayDate.clone().endOf('week');\n this._weekDays = [];\n\n do {\n this._weekDays.push({\n name: startOfWeek.format('ddd')\n });\n\n startOfWeek.add(1, 'day');\n }\n while (startOfWeek.isBefore(endOfWeek));\n }\n\n private buildDays() {\n let startDay = this.displayDate.clone().startOf('month');\n let endDay = this.displayDate.clone().endOf('month');\n\n let daysOfPastMonth: Array<Day> = [];\n let daysOfThisMonth: Array<Day> = [];\n let daysOfNextMonth: Array<Day> = [];\n\n // Builds this month days\n daysOfThisMonth = this.getDaysBetween(startDay, endDay);\n\n // Builds past month days\n if (daysOfThisMonth[0].weekDay !== this.firstDayOfWeek) {\n startDay = this.displayDate.clone().startOf('month').startOf('week');\n }\n else {\n startDay = this.displayDate.clone().subtract(1, 'month').endOf('month').startOf('week');\n }\n endDay = startDay.clone().endOf('month');\n daysOfPastMonth = this.getDaysBetween(startDay, endDay);\n\n // Builds next month days\n startDay = this.displayDate.clone().add(1, 'month').startOf('month');\n endDay = startDay.clone().endOf('week');\n daysOfNextMonth = this.getDaysBetween(startDay, endDay);\n\n this._days = [\n ...daysOfPastMonth,\n ...daysOfThisMonth,\n ...daysOfNextMonth,\n ];\n\n // If calendar isn't complete yet (all 7 columns and 6 rows are full), adds another week to complete the calendar\n if (this._days.length < 42) {\n endDay = endDay.clone().add(1, 'day').endOf('week');\n startDay = endDay.clone().startOf('week');\n this._days.push(...this.getDaysBetween(startDay, endDay));\n }\n }\n\n private getDaysBetween(start: moment.Moment, end: moment.Moment): Array<Day> {\n start = start.clone();\n end = end.clone();\n\n const days = [];\n do {\n days.push(this.getDayFromMoment(start));\n\n start.add(1, 'day');\n }\n while (start.isBefore(end));\n\n return days;\n }\n\n getDayFromMoment(day: moment.Moment): Day {\n day = day.clone().startOf('day');\n\n return {\n timestamp: day.unix(),\n day: day.format('D'),\n month: day.month(),\n weekDay: day.day()\n }\n }\n\n getDayFromDate(date: Date): Day {\n return this.getDayFromMoment(moment(date).utc(false));\n }\n\n getDateFromDay(day: Day): Date {\n return moment.unix(day.timestamp).startOf('day').toDate();\n }\n\n incrementMonth(amount: number) {\n this.displayDate.add(amount, 'month');\n this.refreshDisplay();\n }\n\n selectDate(timestamp: number) {\n const momentDate = moment.unix(timestamp);\n\n if (this.isRange) {\n this.handleRangeSelect(momentDate);\n }\n else {\n this.handleSingleSelect(momentDate);\n }\n }\n\n private handleRangeSelect(selectedDate: moment.Moment) {\n const innerDate = (this.innerDate as DayRange);\n\n // First selection\n if (!innerDate.from) {\n innerDate.from = this.getDayFromMoment(selectedDate);\n }\n\n // Second selection\n else if (!innerDate.to) {\n const actualFrom = moment.unix(innerDate.from.timestamp);\n\n // Selected date is past the previous selected date\n if (selectedDate.isBefore(actualFrom, 'day')) {\n innerDate.to = innerDate.from;\n innerDate.from = this.getDayFromMoment(selectedDate);\n }\n\n // Selected date is future of the previous selected date\n else {\n innerDate.to = this.getDayFromMoment(selectedDate);\n }\n }\n\n // Selection when both from and to are already selected\n else {\n innerDate.from = this.getDayFromMoment(selectedDate);\n innerDate.to = undefined;\n }\n\n this.emitRange(innerDate);\n }\n\n private emitRange(range: DayRange) {\n const newRange: DateRange = {};\n\n if (range.from) {\n newRange.from = this.getDateFromDay(range.from);\n\n if (range.to) newRange.to = asDate(moment.unix(range.to.timestamp).endOf('day'));\n }\n\n this.dateChange.emit(newRange);\n }\n\n private handleSingleSelect(momentDate: moment.Moment) {\n this.innerDate = this.getDayFromMoment(momentDate);\n this.dateChange.emit(asDate(momentDate));\n }\n}\n","<div class=\"date-picker-calendar-container\">\n <header class=\"month-selector\">\n <button type=\"button\" class=\"selector-button\" (click)=\"incrementMonth(-1)\">\n <span class=\"material-icons icon\">chevron_left</span>\n </button>\n\n <span class=\"month-year-display\" data-testid=\"month-year-display\">{{ month }} {{ year }}</span>\n\n <button type=\"button\" class=\"selector-button\" (click)=\"incrementMonth(1)\">\n <span class=\"material-icons icon\">chevron_right</span>\n </button>\n </header>\n\n <main class=\"calendar\">\n <div class=\"week-days-header\">\n <span class=\"week-day\" *ngFor=\"let weekDay of weekDays\">{{ weekDay.name }}</span>\n </div>\n\n <div class=\"days-block\" data-testid=\"days-block\">\n <span\n *ngFor=\"let day of days\"\n (click)=\"selectDate(day.timestamp)\"\n [ngClass]=\"{\n 'day': true,\n 'another-month': monthNumber != day.month,\n 'selected': isDaySelected(day),\n 'first': isFirstSelectedDay(day),\n 'last': isLastSelectedDay(day),\n }\"\n >\n {{ day.day }}\n </span>\n </div>\n </main>\n</div>\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';\nimport { DatePickerComponent } from './components/date-picker/date-picker.component';\nimport { DatePickerCalendarComponent } from './components/date-picker/date-picker-calendar/date-picker-calendar.component';\n\n@NgModule({\n declarations: [\n ButtonComponent,\n InputComponent,\n SelectComponent,\n BoxComponent,\n AvatarComponent,\n DropdownContainerComponent,\n AskDropdownDirective,\n DatePickerComponent,\n DatePickerCalendarComponent,\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 DatePickerComponent,\n DatePickerCalendarComponent\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'\nexport * from './lib/components/date-picker/date-picker.component'\nexport * from './lib/components/date-picker/date-picker-calendar/date-picker-calendar.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":"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"}
|
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/components/chips/chips.component.ts","../../../projects/asksuite-citrus/src/lib/components/chips/chips.component.html","../../../projects/asksuite-citrus/src/lib/components/checkbox/checkbox.component.ts","../../../projects/asksuite-citrus/src/lib/components/checkbox/checkbox.component.html","../../../projects/asksuite-citrus/src/lib/components/autocomplete/autocomplete.component.ts","../../../projects/asksuite-citrus/src/lib/components/autocomplete/autocomplete.component.html","../../../projects/asksuite-citrus/src/lib/components/date-picker/date-picker.component.ts","../../../projects/asksuite-citrus/src/lib/components/date-picker/date-picker-calendar/date-picker-calendar.component.ts","../../../projects/asksuite-citrus/src/lib/components/date-picker/date-picker-calendar/date-picker-calendar.component.html","../../../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: 'xsmall' | '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((event) => {\n this.close();\n event.stopPropagation();\n });\n }\n\n @HostListener('click')\n public 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 public 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 {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'ask-chips',\n templateUrl: './chips.component.html',\n styleUrls: ['./chips.component.scss']\n})\nexport class ChipsComponent {\n\n @Input()\n color: string = '';\n\n @Output()\n protected action = new EventEmitter<void>()\n\n}\n","<div class=\"chip-container\" [style.background]=\"color\">\n <span class=\"body\" #body [title]=\"body.innerText\"><ng-content></ng-content></span>\n <div class=\"action\">\n <span class=\"material-icons\" data-testid=\"icon\" (click)=\"action.emit()\">cancel</span>\n </div>\n</div>\n","import {Component, EventEmitter, forwardRef, Input, Output, Provider} 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(() => CheckboxComponent),\n}\n\n@Component({\n selector: 'ask-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n providers: [valueAccessor]\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input() value: boolean | undefined;\n @Input() disabled: boolean = false;\n\n @Output() valueChange = new EventEmitter<boolean>();\n @Output() change = new EventEmitter<Event>();\n @Output() click = new EventEmitter<MouseEvent>();\n @Output() focus = new EventEmitter<FocusEvent>();\n\n isFocused = false;\n\n handleFocus(event: FocusEvent) {\n this.isFocused = true;\n this.focus.emit(event);\n }\n\n onModelChange(newValue: boolean) {\n this.writeValue(newValue);\n this.onChange(newValue);\n }\n\n handleChange(event: Event) {\n this.change.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(_: any): void {\n }\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: boolean): void {\n this.value = value;\n this.valueChange.emit(this.value);\n }\n\n}\n","<label class=\"ask-checkbox\">\n <input type=\"checkbox\"\n (click)=\"click.emit($event)\"\n (focus)=\"handleFocus($event)\"\n (change)=\"handleChange($event)\"\n (touchend)=\"onTouch()\"\n [disabled]=\"disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n />\n <span #text [title]=\"text.innerText\"><ng-content></ng-content></span>\n</label>\n","import {\n AfterViewInit,\n Component, DestroyRef,\n ElementRef, forwardRef,\n HostListener, inject,\n Input, OnChanges, Provider,\n SimpleChanges, TemplateRef,\n ViewChild, ViewContainerRef\n} from '@angular/core';\nimport {ControlValueAccessor, FormArray, FormBuilder, FormControl, FormGroup, NG_VALUE_ACCESSOR} from \"@angular/forms\";\nimport {debounceTime, map, startWith, tap} from \"rxjs\";\nimport {Overlay, OverlayRef} from \"@angular/cdk/overlay\";\nimport {TemplatePortal} from \"@angular/cdk/portal\";\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\n\nconst valueAccessor: Provider = {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => AutocompleteComponent),\n}\n\n@Component({\n selector: 'ask-autocomplete',\n templateUrl: './autocomplete.component.html',\n styleUrls: ['./autocomplete.component.scss'],\n providers: [valueAccessor]\n})\nexport class AutocompleteComponent implements AfterViewInit, OnChanges, ControlValueAccessor {\n\n @ViewChild(\"autocomplete\") input: ElementRef | undefined\n @ViewChild(\"list\") list: ElementRef | undefined\n @ViewChild(\"wrapper\") wrapper: ElementRef | undefined\n @ViewChild('overlayContent') overlayContent: TemplateRef<any> | undefined\n\n protected inputControl = new FormControl(\"\")\n protected filteredOptions: any[] = [];\n protected selectedOption?: any;\n protected closed = true;\n protected selectionForm: FormGroup\n protected chipsCollapsed = true\n protected checkAllValue = false\n protected disabled = false;\n\n private _overlayRef: OverlayRef | undefined;\n private _portal: TemplatePortal<any> | undefined;\n private _destroy = inject(DestroyRef)\n\n @Input()\n filterFn?: (item: string) => any[];\n\n @Input()\n displayFn?: (item: any) => string;\n\n @Input()\n multiple = false;\n\n @Input()\n valueProp: string = ''\n\n @Input()\n options: any[] = []\n\n @Input()\n placeholder = ''\n\n @Input()\n emptyMessage = 'Nenhuma opção';\n\n constructor(private formBuilder: FormBuilder,\n private overlay: Overlay,\n private viewContainerRef: ViewContainerRef) {\n this.selectionForm = formBuilder.group({})\n }\n\n ngAfterViewInit() {\n this.handleInputChange();\n\n this.handleSelectionChange();\n }\n\n private handleInputChange() {\n this.inputControl.valueChanges.pipe(\n takeUntilDestroyed(this._destroy),\n startWith(''),\n tap(() => {\n this.selectedOption = null\n }),\n map(value => this.filterFn ? this.filterFn(value || '') : [])\n ).subscribe(items => {\n this.filteredOptions = items\n })\n }\n\n private handleSelectionChange() {\n this.selectionForm\n .valueChanges\n .pipe(takeUntilDestroyed(this._destroy), debounceTime(100))\n .subscribe((values: {[key: string]: boolean}) => {\n this.checkAllValue = Object.keys(values).every(value => values[value])\n this.onChange(this.options.filter(option => values[option[this.valueProp]]))\n this.onTouched()\n })\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this.options?.length && this.valueProp) {\n this.options.forEach(item => {\n this.selectionForm.addControl(item[this.valueProp], this.formBuilder.control(false))\n })\n }\n }\n\n handleOptionSelected(item: any) {\n this.selectedOption = item;\n this.onChange(this.selectedOption)\n this.hideOptions()\n }\n\n handleAutocompleteClick() {\n this.closed\n ? this.showOptions()\n : this.hideOptions()\n }\n\n showOptions() {\n this.closed = false\n if (!this._overlayRef && this.wrapper) {\n this._overlayRef = this.getOverlayConfig(this.wrapper)\n\n this._portal = new TemplatePortal(this.overlayContent!, this.viewContainerRef)\n }\n\n this._overlayRef?.attach(this._portal);\n }\n\n private getOverlayConfig(wrapper: ElementRef) {\n return this.overlay.create({\n hasBackdrop: false,\n width: wrapper.nativeElement.offsetWidth,\n positionStrategy: this.overlay.position()\n .flexibleConnectedTo(wrapper.nativeElement)\n .withPositions([{\n originX: \"start\",\n originY: \"bottom\",\n overlayX: \"start\",\n overlayY: \"top\"\n }])\n });\n }\n\n hideOptions() {\n this.chipsCollapsed = true;\n this._overlayRef?.detach()\n this.closed = true;\n }\n\n @HostListener(\"window:mousedown\", ['$event'])\n handleClick(event: MouseEvent) {\n if (\n !this.closed\n && !this.input?.nativeElement.contains(event.target)\n && !this.list?.nativeElement.contains(event.target)) {\n this.hideOptions()\n }\n }\n\n get selectedOptions(): any[] {\n if (!this.multiple) return this.selectedOption ? [this.selectedOption] : []\n\n const selected = this.options\n .filter(item => this.selectionForm.value[item[this.valueProp]])\n\n return this.chipsCollapsed\n ? selected.slice(0, 1)\n : selected;\n }\n\n handleSelectAll(event: Event) {\n const checked = (<HTMLInputElement>event.target).checked\n\n const newValues = Object.keys(this.selectionForm.controls)\n .reduce((acc, curr) => {\n acc[curr] = checked\n return acc;\n }, {} as {[key: string]: boolean})\n\n this.selectionForm.patchValue(newValues)\n }\n\n handleChipAction(option: any) {\n this.selectionForm.get(option[this.valueProp])?.setValue(false)\n }\n\n display(option: any) {\n return this.displayFn && this.displayFn(option)\n }\n\n // Control Value Accessor\n\n writeValue(obj: any[]): void {\n if (this.multiple) {\n const newValue = obj.reduce((acc, curr) => {\n acc[curr[this.valueProp]] = true;\n return acc;\n }, {})\n\n this.selectionForm.patchValue(newValue)\n } else {\n this.selectedOption = obj\n }\n }\n\n onChange = (_: any) => {}\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n onTouched = () => {}\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<div class=\"autocomplete-wrapper\"\n [class.-closed]=\"closed\"\n [class.-opened]=\"!closed\"\n #wrapper\n>\n <div class=\"autocomplete\" #autocomplete>\n <input class=\"search-field\"\n *ngIf=\"!closed; else selectionOrPlaceholder\"\n [formControl]=\"inputControl\"\n [placeholder]=\"placeholder\"/>\n <ng-template #selectionOrPlaceholder>\n <ng-container *ngIf=\"selectedOptions.length && closed\">\n <div class=\"chip-list\" [class.-collapsed]=\"chipsCollapsed\">\n <ask-chips [style.max-width]=\"chipsCollapsed ? '75%' : '100%'\"\n *ngFor=\"let option of selectedOptions\"\n (action)=\"handleChipAction(option)\">\n {{display(option)}}\n </ask-chips>\n <span class=\"expand\" *ngIf=\"multiple\" (click)=\"chipsCollapsed = !chipsCollapsed\">\n {{chipsCollapsed ? 'Ver mais' : 'Ver menos'}}\n </span>\n </div>\n </ng-container>\n <span *ngIf=\"closed && !selectedOptions.length\">{{placeholder}}</span>\n </ng-template>\n <span class=\"btn-expand material-icons\"\n [class.-disabled]=\"disabled\"\n (click)=\"!disabled && handleAutocompleteClick()\">{{closed ? \"expand_more\" : \"expand_less\"}}</span>\n </div>\n</div>\n\n<ng-template #overlayContent>\n <div #list class=\"menu-container\">\n <ng-container *ngIf=\"!multiple; else multipleSelection\">\n <div class=\"list\">\n <div class=\"option-item\"\n *ngFor=\"let option of filteredOptions\"\n [class.-highlighted]=\"selectedOption && selectedOption[valueProp] === option[valueProp]\"\n (click)=\"handleOptionSelected(option)\">\n <p class=\"text\">{{display(option)}}</p>\n </div>\n </div>\n </ng-container>\n <ng-template #multipleSelection>\n <div class=\"option-item\" *ngIf=\"filteredOptions.length\">\n <ask-checkbox (change)=\"handleSelectAll($event)\" [(ngModel)]=\"checkAllValue\">Selecionar todas</ask-checkbox>\n </div>\n <form class=\"list\" *ngIf=\"selectionForm.controls\"\n [formGroup]=\"selectionForm\">\n <div class=\"option-item\" *ngFor=\"let option of filteredOptions\">\n <ask-checkbox [formControlName]=\"option[valueProp]\">{{display(option)}}</ask-checkbox>\n </div>\n </form>\n </ng-template>\n <span class=\"empty\" *ngIf=\"!filteredOptions.length\">{{emptyMessage}}</span>\n </div>\n</ng-template>\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport moment from 'moment';\nimport {DatePickerValue, DateRange} from \"./date-picker-calendar/date-picker-calendar.component\";\n\ninterface Period {\n label: string;\n getRange: () => DateRange;\n isCustomRange?: boolean;\n selected: boolean;\n}\n\nexport const asDate = (inMoment: moment.Moment) => {\n return inMoment.utc(true).toDate();\n}\n\n@Component({\n selector: 'ask-date-picker',\n templateUrl: './date-picker.component.html',\n styleUrls: ['./date-picker.component.scss']\n})\nexport class DatePickerComponent implements OnInit {\n\n periods: Array<Period> = [\n { label: 'Hoje', getRange: () => ({ from: asDate(moment().startOf('day')), to: asDate(moment().endOf('day')) }), selected: false },\n { label: 'Ontem', getRange: () => ({ from: asDate(moment().subtract(1, 'day').startOf('day')), to: asDate(moment().subtract(1, 'day').endOf('day')) }), selected: false },\n { label: 'Últimos 7 dias', getRange: () => ({ from: asDate(moment().subtract(1, 'week').startOf('day')), to: asDate(moment().endOf('day')) }), selected: false },\n { label: 'Últimos 30 dias', getRange: () => ({ from: asDate(moment().subtract(30, 'days').startOf('day')), to: asDate(moment().endOf('day')) }), selected: false },\n { label: 'Este mês', getRange: () => ({ from: asDate(moment().startOf('month')), to: asDate(moment().endOf('month')) }), selected: false },\n { label: 'Último trimestre', getRange: () => ({ from: asDate(moment().subtract(3, 'months').startOf('day')), to: asDate(moment().endOf('month')) }), selected: false },\n { label: 'Período customizado', getRange: () => ({}), isCustomRange: true, selected: false },\n ];\n\n @Input() date: DatePickerValue = new Date();\n @Input() isRange: boolean = false;\n\n @Output() dateChange = new EventEmitter<DatePickerValue>();\n @Output() cancel = new EventEmitter();\n\n isCustomRange = false;\n\n get from(): Date | undefined {\n if (this.date instanceof Date) {\n return;\n }\n\n return this.date.from;\n }\n\n get to(): Date | undefined {\n if (this.date instanceof Date) {\n return;\n }\n\n return this.date.to;\n }\n\n get dateDisplay(): string {\n const from = this.from ? moment(this.from).utc(false).format('L') : '';\n const to = this.to ? moment(this.to).utc(false).format('L') : '';\n\n return `${from} ${ to ? '- ' + to : '' }`;\n }\n\n ngOnInit(): void {\n moment.locale((navigator.language || 'en-US').split('-')[0]); // TODO: put this on i18n service initialization\n }\n\n selectPeriod(period: Period) {\n this.periods.forEach(period => period.selected = false);\n\n this.date = period.getRange();\n this.isCustomRange = period.isCustomRange || false;\n period.selected = true;\n\n if (!this.isCustomRange) {\n this.writeValue();\n }\n }\n\n handleDateChange(value: DatePickerValue) {\n this.date = value;\n\n if (!this.isRange) {\n this.writeValue();\n }\n }\n\n writeValue() {\n this.dateChange.emit(this.date);\n }\n\n handleCancelClick() {\n this.cancel.emit();\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport moment from 'moment';\nimport {asDate} from \"../date-picker.component\";\n\nexport interface Day {\n timestamp: number;\n day: string;\n month: number;\n weekDay: number;\n}\n\nexport interface WeekDay {\n name: string;\n}\n\nexport type DateRange = { from?: Date; to?: Date; };\n\nexport type DatePickerValue = Date | DateRange;\n\ntype DayRange = { from?: Day; to?: Day; };\n\ntype DatePickerInnerValue = Day | DayRange;\n\n@Component({\n selector: 'ask-date-picker-calendar',\n templateUrl: './date-picker-calendar.component.html',\n styleUrls: ['./date-picker-calendar.component.scss']\n})\nexport class DatePickerCalendarComponent implements OnInit {\n @Input() isRange: boolean = false;\n @Input() date!: DatePickerValue;\n @Output() dateChange: EventEmitter<DatePickerValue> = new EventEmitter<DatePickerValue>();\n\n private innerDate!: DatePickerInnerValue;\n private displayDate!: moment.Moment;\n private firstDayOfWeek!: number;\n private _weekDays: Array<WeekDay> = [];\n private _days: Array<Day> = [];\n\n get days(): Array<Day> {\n return this._days\n }\n\n get month(): string {\n return this.displayDate.format('MMMM');\n }\n\n get monthNumber(): number {\n return this.displayDate.month();\n }\n\n get year(): string {\n return this.displayDate.format('YYYY');\n }\n\n get weekDays(): Array<WeekDay> {\n return this._weekDays;\n }\n\n isDaySelected(day: Day): boolean {\n if (this.isRange) {\n\n const from = (this.innerDate as DayRange).from?.timestamp;\n const to = (this.innerDate as DayRange).to?.timestamp;\n\n if (!from) {\n return false;\n }\n else if (!to) {\n return day.timestamp === from;\n }\n\n return day.timestamp >= from && day.timestamp <= to;\n }\n\n return (this.innerDate as Day)?.timestamp === day.timestamp;\n }\n\n isFirstSelectedDay(day: Day) {\n if (this.isRange) {\n return day.timestamp === (this.innerDate as DayRange).from?.timestamp;\n }\n\n return (this.innerDate as Day).timestamp === day.timestamp;\n }\n\n isLastSelectedDay(day: Day) {\n if (this.isRange) {\n return day.timestamp === ((this.innerDate as DayRange).to?.timestamp || (this.innerDate as DayRange).from?.timestamp);\n }\n\n return (this.innerDate as Day).timestamp === day.timestamp;\n }\n\n ngOnInit() {\n this.assignInitialValues();\n this.refreshDisplay();\n }\n\n private assignInitialValues() {\n if (this.isRange) {\n const receivedDate = this.date as DateRange;\n if (receivedDate.from && receivedDate.to) {\n (this.innerDate as DayRange) = {\n from: this.getDayFromDate(receivedDate.from),\n to: this.getDayFromDate(receivedDate.to),\n }\n }\n else {\n (this.innerDate as DayRange) = {};\n }\n this.displayDate = moment.unix((this.innerDate as DayRange).from?.timestamp || (Date.now() / 1000));\n }\n else {\n this.innerDate = this.getDayFromDate(this.date as Date);\n this.displayDate = moment.unix(this.innerDate.timestamp);\n }\n\n this.firstDayOfWeek = this.displayDate.clone().startOf('week').day();\n }\n\n private refreshDisplay() {\n this.buildWeekDays();\n this.buildDays();\n }\n\n private buildWeekDays() {\n const startOfWeek = this.displayDate.clone().startOf('week');\n const endOfWeek = this.displayDate.clone().endOf('week');\n this._weekDays = [];\n\n do {\n this._weekDays.push({\n name: startOfWeek.format('ddd')\n });\n\n startOfWeek.add(1, 'day');\n }\n while (startOfWeek.isBefore(endOfWeek));\n }\n\n private buildDays() {\n let startDay = this.displayDate.clone().startOf('month');\n let endDay = this.displayDate.clone().endOf('month');\n\n let daysOfPastMonth: Array<Day> = [];\n let daysOfThisMonth: Array<Day> = [];\n let daysOfNextMonth: Array<Day> = [];\n\n // Builds this month days\n daysOfThisMonth = this.getDaysBetween(startDay, endDay);\n\n // Builds past month days\n if (daysOfThisMonth[0].weekDay !== this.firstDayOfWeek) {\n startDay = this.displayDate.clone().startOf('month').startOf('week');\n }\n else {\n startDay = this.displayDate.clone().subtract(1, 'month').endOf('month').startOf('week');\n }\n endDay = startDay.clone().endOf('month');\n daysOfPastMonth = this.getDaysBetween(startDay, endDay);\n\n // Builds next month days\n startDay = this.displayDate.clone().add(1, 'month').startOf('month');\n endDay = startDay.clone().endOf('week');\n daysOfNextMonth = this.getDaysBetween(startDay, endDay);\n\n this._days = [\n ...daysOfPastMonth,\n ...daysOfThisMonth,\n ...daysOfNextMonth,\n ];\n\n // If calendar isn't complete yet (all 7 columns and 6 rows are full), adds another week to complete the calendar\n if (this._days.length < 42) {\n endDay = endDay.clone().add(1, 'day').endOf('week');\n startDay = endDay.clone().startOf('week');\n this._days.push(...this.getDaysBetween(startDay, endDay));\n }\n }\n\n private getDaysBetween(start: moment.Moment, end: moment.Moment): Array<Day> {\n start = start.clone();\n end = end.clone();\n\n const days = [];\n do {\n days.push(this.getDayFromMoment(start));\n\n start.add(1, 'day');\n }\n while (start.isBefore(end));\n\n return days;\n }\n\n getDayFromMoment(day: moment.Moment): Day {\n day = day.clone().startOf('day');\n\n return {\n timestamp: day.unix(),\n day: day.format('D'),\n month: day.month(),\n weekDay: day.day()\n }\n }\n\n getDayFromDate(date: Date): Day {\n return this.getDayFromMoment(moment(date).utc(false));\n }\n\n getDateFromDay(day: Day): Date {\n return moment.unix(day.timestamp).startOf('day').toDate();\n }\n\n incrementMonth(amount: number) {\n this.displayDate.add(amount, 'month');\n this.refreshDisplay();\n }\n\n selectDate(timestamp: number) {\n const momentDate = moment.unix(timestamp);\n\n if (this.isRange) {\n this.handleRangeSelect(momentDate);\n }\n else {\n this.handleSingleSelect(momentDate);\n }\n }\n\n private handleRangeSelect(selectedDate: moment.Moment) {\n const innerDate = (this.innerDate as DayRange);\n\n // First selection\n if (!innerDate.from) {\n innerDate.from = this.getDayFromMoment(selectedDate);\n }\n\n // Second selection\n else if (!innerDate.to) {\n const actualFrom = moment.unix(innerDate.from.timestamp);\n\n // Selected date is past the previous selected date\n if (selectedDate.isBefore(actualFrom, 'day')) {\n innerDate.to = innerDate.from;\n innerDate.from = this.getDayFromMoment(selectedDate);\n }\n\n // Selected date is future of the previous selected date\n else {\n innerDate.to = this.getDayFromMoment(selectedDate);\n }\n }\n\n // Selection when both from and to are already selected\n else {\n innerDate.from = this.getDayFromMoment(selectedDate);\n innerDate.to = undefined;\n }\n\n this.emitRange(innerDate);\n }\n\n private emitRange(range: DayRange) {\n const newRange: DateRange = {};\n\n if (range.from) {\n newRange.from = this.getDateFromDay(range.from);\n\n if (range.to) newRange.to = asDate(moment.unix(range.to.timestamp).endOf('day'));\n }\n\n this.dateChange.emit(newRange);\n }\n\n private handleSingleSelect(momentDate: moment.Moment) {\n this.innerDate = this.getDayFromMoment(momentDate);\n this.dateChange.emit(asDate(momentDate));\n }\n}\n","<div class=\"date-picker-calendar-container\">\n <header class=\"month-selector\">\n <button type=\"button\" class=\"selector-button\" (click)=\"incrementMonth(-1)\">\n <span class=\"material-icons icon\">chevron_left</span>\n </button>\n\n <span class=\"month-year-display\" data-testid=\"month-year-display\">{{ month }} {{ year }}</span>\n\n <button type=\"button\" class=\"selector-button\" (click)=\"incrementMonth(1)\">\n <span class=\"material-icons icon\">chevron_right</span>\n </button>\n </header>\n\n <main class=\"calendar\">\n <div class=\"week-days-header\">\n <span class=\"week-day\" *ngFor=\"let weekDay of weekDays\">{{ weekDay.name }}</span>\n </div>\n\n <div class=\"days-block\" data-testid=\"days-block\">\n <span\n *ngFor=\"let day of days\"\n (click)=\"selectDate(day.timestamp)\"\n [ngClass]=\"{\n 'day': true,\n 'another-month': monthNumber != day.month,\n 'selected': isDaySelected(day),\n 'first': isFirstSelectedDay(day),\n 'last': isLastSelectedDay(day),\n }\"\n >\n {{ day.day }}\n </span>\n </div>\n </main>\n</div>\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, ReactiveFormsModule} 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';\nimport { AutocompleteComponent } from './components/autocomplete/autocomplete.component';\nimport {CdkConnectedOverlay, CdkOverlayOrigin, OverlayModule} from \"@angular/cdk/overlay\";\nimport { ChipsComponent } from './components/chips/chips.component';\nimport { CheckboxComponent } from './components/checkbox/checkbox.component';\nimport { DatePickerComponent } from './components/date-picker/date-picker.component';\nimport { DatePickerCalendarComponent } from './components/date-picker/date-picker-calendar/date-picker-calendar.component';\n\n@NgModule({\n declarations: [\n ButtonComponent,\n InputComponent,\n SelectComponent,\n BoxComponent,\n AvatarComponent,\n DropdownContainerComponent,\n AskDropdownDirective,\n AutocompleteComponent,\n ChipsComponent,\n CheckboxComponent,\n DatePickerComponent,\n DatePickerCalendarComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CdkOverlayOrigin,\n CdkConnectedOverlay,\n OverlayModule\n ],\n exports: [\n ButtonComponent,\n InputComponent,\n SelectComponent,\n BoxComponent,\n AvatarComponent,\n DropdownContainerComponent,\n AskDropdownDirective,\n AutocompleteComponent,\n ChipsComponent,\n CheckboxComponent,\n DatePickerComponent,\n DatePickerCalendarComponent\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'\nexport * from './lib/components/autocomplete/autocomplete.component'\nexport * from './lib/components/checkbox/checkbox.component'\nexport * from './lib/components/chips/chips.component'\nexport * from './lib/components/date-picker/date-picker.component'\nexport * from './lib/components/date-picker/date-picker-calendar/date-picker-calendar.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","i2","i1","i3","i4.ChipsComponent","i5.CheckboxComponent"],"mappings":"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"}
|
@@ -6,12 +6,16 @@ import * as i4 from "./components/box/box.component";
|
|
6
6
|
import * as i5 from "./components/avatar/avatar.component";
|
7
7
|
import * as i6 from "./components/dropdown-container/dropdown-container.component";
|
8
8
|
import * as i7 from "./directives/ask-dropdown.directive";
|
9
|
-
import * as i8 from "./components/
|
10
|
-
import * as i9 from "./components/
|
11
|
-
import * as i10 from "
|
12
|
-
import * as i11 from "
|
9
|
+
import * as i8 from "./components/autocomplete/autocomplete.component";
|
10
|
+
import * as i9 from "./components/chips/chips.component";
|
11
|
+
import * as i10 from "./components/checkbox/checkbox.component";
|
12
|
+
import * as i11 from "./components/date-picker/date-picker.component";
|
13
|
+
import * as i12 from "./components/date-picker/date-picker-calendar/date-picker-calendar.component";
|
14
|
+
import * as i13 from "@angular/common";
|
15
|
+
import * as i14 from "@angular/forms";
|
16
|
+
import * as i15 from "@angular/cdk/overlay";
|
13
17
|
export declare class AsksuiteCitrusModule {
|
14
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<AsksuiteCitrusModule, never>;
|
15
|
-
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.
|
19
|
+
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.AutocompleteComponent, typeof i9.ChipsComponent, typeof i10.CheckboxComponent, typeof i11.DatePickerComponent, typeof i12.DatePickerCalendarComponent], [typeof i13.CommonModule, typeof i14.FormsModule, typeof i14.ReactiveFormsModule, typeof i15.CdkOverlayOrigin, typeof i15.CdkConnectedOverlay, typeof i15.OverlayModule], [typeof i1.ButtonComponent, typeof i2.InputComponent, typeof i3.SelectComponent, typeof i4.BoxComponent, typeof i5.AvatarComponent, typeof i6.DropdownContainerComponent, typeof i7.AskDropdownDirective, typeof i8.AutocompleteComponent, typeof i9.ChipsComponent, typeof i10.CheckboxComponent, typeof i11.DatePickerComponent, typeof i12.DatePickerCalendarComponent]>;
|
16
20
|
static ɵinj: i0.ɵɵInjectorDeclaration<AsksuiteCitrusModule>;
|
17
21
|
}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
import { AfterViewInit, ElementRef, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
|
2
|
+
import { ControlValueAccessor, FormBuilder, FormControl, FormGroup } from "@angular/forms";
|
3
|
+
import { Overlay } from "@angular/cdk/overlay";
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export declare class AutocompleteComponent implements AfterViewInit, OnChanges, ControlValueAccessor {
|
6
|
+
private formBuilder;
|
7
|
+
private overlay;
|
8
|
+
private viewContainerRef;
|
9
|
+
input: ElementRef | undefined;
|
10
|
+
list: ElementRef | undefined;
|
11
|
+
wrapper: ElementRef | undefined;
|
12
|
+
overlayContent: TemplateRef<any> | undefined;
|
13
|
+
protected inputControl: FormControl<string | null>;
|
14
|
+
protected filteredOptions: any[];
|
15
|
+
protected selectedOption?: any;
|
16
|
+
protected closed: boolean;
|
17
|
+
protected selectionForm: FormGroup;
|
18
|
+
protected chipsCollapsed: boolean;
|
19
|
+
protected checkAllValue: boolean;
|
20
|
+
protected disabled: boolean;
|
21
|
+
private _overlayRef;
|
22
|
+
private _portal;
|
23
|
+
private _destroy;
|
24
|
+
filterFn?: (item: string) => any[];
|
25
|
+
displayFn?: (item: any) => string;
|
26
|
+
multiple: boolean;
|
27
|
+
valueProp: string;
|
28
|
+
options: any[];
|
29
|
+
placeholder: string;
|
30
|
+
emptyMessage: string;
|
31
|
+
constructor(formBuilder: FormBuilder, overlay: Overlay, viewContainerRef: ViewContainerRef);
|
32
|
+
ngAfterViewInit(): void;
|
33
|
+
private handleInputChange;
|
34
|
+
private handleSelectionChange;
|
35
|
+
ngOnChanges(changes: SimpleChanges): void;
|
36
|
+
handleOptionSelected(item: any): void;
|
37
|
+
handleAutocompleteClick(): void;
|
38
|
+
showOptions(): void;
|
39
|
+
private getOverlayConfig;
|
40
|
+
hideOptions(): void;
|
41
|
+
handleClick(event: MouseEvent): void;
|
42
|
+
get selectedOptions(): any[];
|
43
|
+
handleSelectAll(event: Event): void;
|
44
|
+
handleChipAction(option: any): void;
|
45
|
+
display(option: any): string | undefined;
|
46
|
+
writeValue(obj: any[]): void;
|
47
|
+
onChange: (_: any) => void;
|
48
|
+
registerOnChange(fn: any): void;
|
49
|
+
onTouched: () => void;
|
50
|
+
registerOnTouched(fn: any): void;
|
51
|
+
setDisabledState?(isDisabled: boolean): void;
|
52
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AutocompleteComponent, never>;
|
53
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AutocompleteComponent, "ask-autocomplete", never, { "filterFn": { "alias": "filterFn"; "required": false; }; "displayFn": { "alias": "displayFn"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "valueProp": { "alias": "valueProp"; "required": false; }; "options": { "alias": "options"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; }; }, {}, never, never, false, never>;
|
54
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
2
|
+
import { ControlValueAccessor } from "@angular/forms";
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export declare class CheckboxComponent implements ControlValueAccessor {
|
5
|
+
value: boolean | undefined;
|
6
|
+
disabled: boolean;
|
7
|
+
valueChange: EventEmitter<boolean>;
|
8
|
+
change: EventEmitter<Event>;
|
9
|
+
click: EventEmitter<MouseEvent>;
|
10
|
+
focus: EventEmitter<FocusEvent>;
|
11
|
+
isFocused: boolean;
|
12
|
+
handleFocus(event: FocusEvent): void;
|
13
|
+
onModelChange(newValue: boolean): void;
|
14
|
+
handleChange(event: Event): void;
|
15
|
+
registerOnChange(fn: any): void;
|
16
|
+
onChange(_: any): void;
|
17
|
+
registerOnTouched(fn: any): void;
|
18
|
+
onTouch: () => void;
|
19
|
+
setDisabledState(isDisabled: boolean): void;
|
20
|
+
writeValue(value: boolean): void;
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxComponent, never>;
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxComponent, "ask-checkbox", never, { "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "valueChange": "valueChange"; "change": "change"; "click": "click"; "focus": "focus"; }, never, ["*"], false, never>;
|
23
|
+
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class ChipsComponent {
|
4
|
+
color: string;
|
5
|
+
protected action: EventEmitter<void>;
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChipsComponent, never>;
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChipsComponent, "ask-chips", never, { "color": { "alias": "color"; "required": false; }; }, { "action": "action"; }, never, ["*"], false, never>;
|
8
|
+
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
@@ -5,6 +5,9 @@ export * from './lib/components/select/select.component';
|
|
5
5
|
export * from './lib/components/box/box.component';
|
6
6
|
export * from './lib/components/avatar/avatar.component';
|
7
7
|
export * from './lib/components/dropdown-container/dropdown-container.component';
|
8
|
+
export * from './lib/components/autocomplete/autocomplete.component';
|
9
|
+
export * from './lib/components/checkbox/checkbox.component';
|
10
|
+
export * from './lib/components/chips/chips.component';
|
8
11
|
export * from './lib/components/date-picker/date-picker.component';
|
9
12
|
export * from './lib/components/date-picker/date-picker-calendar/date-picker-calendar.component';
|
10
13
|
export * from './lib/directives/ask-dropdown.directive';
|
package/styles/tokens.scss
CHANGED