@kirbydesign/designsystem 8.7.0 → 8.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/action-group/action-group.component.d.ts +3 -4
- package/data-table/table-row/table-row.component.d.ts +2 -0
- package/dropdown/dropdown.component.d.ts +1 -2
- package/esm2020/action-group/action-group.component.mjs +14 -17
- package/esm2020/button/button.component.mjs +3 -3
- package/esm2020/calendar/calendar.component.mjs +2 -2
- package/esm2020/data-table/table-row/table-row.component.mjs +9 -1
- package/esm2020/dropdown/dropdown.component.mjs +4 -15
- package/esm2020/header/header.component.mjs +5 -3
- package/esm2020/menu/menu.component.mjs +23 -12
- package/esm2020/page/page.component.mjs +18 -7
- package/esm2020/router-outlet/router-outlet.component.mjs +7 -3
- package/esm2020/shared/floating/floating.directive.mjs +2 -2
- package/esm2020/slide/slides.component.mjs +14 -7
- package/esm2020/testing-base/lib/components/mock.dropdown.component.mjs +2 -4
- package/esm2020/types/event-listener-dispose-fn.mjs +2 -0
- package/esm2020/types/public_api.mjs +2 -1
- package/fesm2015/kirbydesign-designsystem-action-group.mjs +13 -16
- package/fesm2015/kirbydesign-designsystem-action-group.mjs.map +1 -1
- package/fesm2015/kirbydesign-designsystem-button.mjs +2 -2
- package/fesm2015/kirbydesign-designsystem-button.mjs.map +1 -1
- package/fesm2015/kirbydesign-designsystem-calendar.mjs +1 -1
- package/fesm2015/kirbydesign-designsystem-calendar.mjs.map +1 -1
- package/fesm2015/kirbydesign-designsystem-data-table.mjs +8 -0
- package/fesm2015/kirbydesign-designsystem-data-table.mjs.map +1 -1
- package/fesm2015/kirbydesign-designsystem-dropdown.mjs +3 -14
- package/fesm2015/kirbydesign-designsystem-dropdown.mjs.map +1 -1
- package/fesm2015/kirbydesign-designsystem-header.mjs +4 -2
- package/fesm2015/kirbydesign-designsystem-header.mjs.map +1 -1
- package/fesm2015/kirbydesign-designsystem-menu.mjs +23 -11
- package/fesm2015/kirbydesign-designsystem-menu.mjs.map +1 -1
- package/fesm2015/kirbydesign-designsystem-page.mjs +17 -6
- package/fesm2015/kirbydesign-designsystem-page.mjs.map +1 -1
- package/fesm2015/kirbydesign-designsystem-router-outlet.mjs +8 -5
- package/fesm2015/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
- package/fesm2015/kirbydesign-designsystem-shared-floating.mjs +1 -1
- package/fesm2015/kirbydesign-designsystem-shared-floating.mjs.map +1 -1
- package/fesm2015/kirbydesign-designsystem-slide.mjs +13 -5
- package/fesm2015/kirbydesign-designsystem-slide.mjs.map +1 -1
- package/fesm2015/kirbydesign-designsystem-testing-base.mjs +1 -3
- package/fesm2015/kirbydesign-designsystem-testing-base.mjs.map +1 -1
- package/fesm2020/kirbydesign-designsystem-action-group.mjs +13 -16
- package/fesm2020/kirbydesign-designsystem-action-group.mjs.map +1 -1
- package/fesm2020/kirbydesign-designsystem-button.mjs +2 -2
- package/fesm2020/kirbydesign-designsystem-button.mjs.map +1 -1
- package/fesm2020/kirbydesign-designsystem-calendar.mjs +1 -1
- package/fesm2020/kirbydesign-designsystem-calendar.mjs.map +1 -1
- package/fesm2020/kirbydesign-designsystem-data-table.mjs +8 -0
- package/fesm2020/kirbydesign-designsystem-data-table.mjs.map +1 -1
- package/fesm2020/kirbydesign-designsystem-dropdown.mjs +3 -14
- package/fesm2020/kirbydesign-designsystem-dropdown.mjs.map +1 -1
- package/fesm2020/kirbydesign-designsystem-header.mjs +4 -2
- package/fesm2020/kirbydesign-designsystem-header.mjs.map +1 -1
- package/fesm2020/kirbydesign-designsystem-menu.mjs +22 -11
- package/fesm2020/kirbydesign-designsystem-menu.mjs.map +1 -1
- package/fesm2020/kirbydesign-designsystem-page.mjs +17 -6
- package/fesm2020/kirbydesign-designsystem-page.mjs.map +1 -1
- package/fesm2020/kirbydesign-designsystem-router-outlet.mjs +8 -5
- package/fesm2020/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
- package/fesm2020/kirbydesign-designsystem-shared-floating.mjs +1 -1
- package/fesm2020/kirbydesign-designsystem-shared-floating.mjs.map +1 -1
- package/fesm2020/kirbydesign-designsystem-slide.mjs +12 -5
- package/fesm2020/kirbydesign-designsystem-slide.mjs.map +1 -1
- package/fesm2020/kirbydesign-designsystem-testing-base.mjs +1 -3
- package/fesm2020/kirbydesign-designsystem-testing-base.mjs.map +1 -1
- package/header/header.component.d.ts +2 -1
- package/menu/menu.component.d.ts +9 -5
- package/package.json +2 -2
- package/page/page.component.d.ts +3 -3
- package/router-outlet/router-outlet.component.d.ts +1 -0
- package/slide/slides.component.d.ts +5 -3
- package/testing-base/lib/components/mock.dropdown.component.d.ts +1 -2
- package/types/event-listener-dispose-fn.d.ts +1 -0
- package/types/public_api.d.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kirbydesign-designsystem-calendar.mjs","sources":["../../../../libs/designsystem/calendar/src/helpers/calendar.helper.ts","../../../../libs/designsystem/calendar/src/calendar.component.ts","../../../../libs/designsystem/calendar/src/calendar.component.html","../../../../libs/designsystem/calendar/src/kirbydesign-designsystem-calendar.ts"],"sourcesContent":["import { ElementRef, Injectable } from '@angular/core';\nimport { WindowRef } from '@kirbydesign/designsystem/types';\n\nimport { CalendarOptions } from './calendar-options.model';\n\n@Injectable()\nexport class CalendarHelper {\n private embeddedView: Window;\n private embeddedViewReady = false;\n\n constructor(private windowRef: WindowRef) {}\n\n public init(\n calendarContainer: ElementRef,\n options: CalendarOptions,\n onDaySelected: (cell: { isSelectable: boolean; date: number }) => void,\n onChangeMonth: (index: number) => void\n ) {\n if (this.hasEmbeddedView(calendarContainer)) {\n const iframe = <HTMLIFrameElement>calendarContainer.nativeElement;\n iframe.onload = () => {\n this.embeddedViewReady = true;\n this.emitOptionsToEmbeddedView(options);\n };\n this.embeddedView = iframe.contentWindow;\n\n this.windowRef.nativeWindow.addEventListener('message', (event: MessageEvent) =>\n this.handleMessageEvent(event, onDaySelected, onChangeMonth)\n );\n }\n }\n\n public update(options: CalendarOptions) {\n if (this.embeddedViewReady) {\n this.emitOptionsToEmbeddedView(options);\n }\n }\n\n public setSelectedDay(day: number) {\n if (this.embeddedViewReady) {\n this.embeddedView.postMessage(\n {\n type: 'kirbyCalendarSetSelectedDay',\n selectedDay: day,\n },\n '*'\n );\n }\n }\n\n private hasEmbeddedView(calendarContainer: ElementRef) {\n return (\n calendarContainer &&\n calendarContainer.nativeElement &&\n calendarContainer.nativeElement instanceof HTMLIFrameElement &&\n calendarContainer.nativeElement.contentWindow\n );\n }\n\n private emitOptionsToEmbeddedView(options: CalendarOptions) {\n this.embeddedView.postMessage(\n {\n type: 'kirbyCalendarInit',\n ...options,\n },\n '*'\n );\n }\n\n private handleMessageEvent(\n event: MessageEvent,\n onDaySelected: (cell: { isSelectable: boolean; date: number }) => void,\n onChangeMonth: (index: number) => void\n ) {\n if (this.validateMessage(event)) {\n switch (event.data.type) {\n case 'kirbyCalendarDaySelected':\n if (this.validateDateSelectedMessage(event)) {\n onDaySelected({ isSelectable: true, date: event.data.day });\n }\n break;\n case 'kirbyCalendarChangeMonth':\n if (this.validateNavigateMonthMessage(event)) {\n onChangeMonth(event.data.index);\n }\n break;\n }\n }\n }\n\n private validateMessage(event: MessageEvent) {\n return (\n this.embeddedView === event.source &&\n event.type === 'message' &&\n event.data &&\n event.data.type\n );\n }\n\n private validateDateSelectedMessage(event: MessageEvent) {\n return event.data.type === 'kirbyCalendarDaySelected' && event.data.day;\n }\n\n private validateNavigateMonthMessage(event: MessageEvent) {\n return event.data.type === 'kirbyCalendarChangeMonth' && typeof event.data.index === 'number';\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n LOCALE_ID,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport {\n add,\n differenceInDays,\n eachDayOfInterval,\n endOfMonth,\n endOfWeek,\n format,\n getYear,\n isAfter,\n isBefore,\n isSameDay,\n isSameMonth,\n isWeekend,\n Locale as LocaleDateFns,\n startOfDay,\n startOfMonth,\n startOfWeek,\n} from 'date-fns';\nimport { utcToZonedTime, zonedTimeToUtc } from 'date-fns-tz';\nimport { da, enGB, enUS } from 'date-fns/locale';\n\nimport { capitalizeFirstLetter } from '@kirbydesign/core';\n\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '@kirbydesign/designsystem/icon';\n\nimport { DropdownModule } from '@kirbydesign/designsystem/dropdown';\nimport { ButtonComponent } from '@kirbydesign/designsystem/button';\nimport { CalendarCell } from './helpers/calendar-cell.model';\nimport { CalendarOptions } from './helpers/calendar-options.model';\nimport { CalendarHelper } from './helpers/calendar.helper';\nimport { CalendarYearNavigatorConfig } from './options/calendar-year-navigator-config';\n\nexport type Locale = LocaleDateFns;\ninterface CalendarDay {\n isCurrentMonth: boolean;\n isToday: boolean;\n isWeekend: boolean;\n isPast: boolean;\n isFuture: boolean;\n isDisabled: boolean;\n}\n\nenum TimeUnit {\n years = 'years',\n months = 'months',\n weeks = 'weeks',\n days = 'days',\n hours = 'hours',\n minutes = 'minutes',\n seconds = 'seconds',\n milliseconds = 'milliseconds',\n}\n\n@Component({\n standalone: true,\n imports: [DropdownModule, ButtonComponent, IconModule, CommonModule],\n selector: 'kirby-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.scss'],\n providers: [CalendarHelper],\n})\nexport class CalendarComponent implements OnInit, AfterViewInit, OnChanges {\n @ViewChild('calendarContainer', { static: false }) calendarContainer: ElementRef;\n @Output() dateChange = new EventEmitter<Date>();\n @Output() dateSelect = new EventEmitter<Date>();\n @Output() yearSelect = new EventEmitter<number>();\n @Output() previousMonthClicked = new EventEmitter<Date>();\n @Output() nextMonthClicked = new EventEmitter<Date>();\n @Input() timezone: 'local' | 'UTC' = 'local';\n @Input() disableWeekends = false;\n @Input() disablePastDates = false;\n @Input() disableFutureDates = false;\n @Input() alwaysEnableToday = false;\n\n @Input() set locales(locales: { [key: string]: Locale }) {\n console.warn(\n `Supplying additional locales to the Kirby Calendar Component via an input property is deprecated and should not be used. \n A future update will allow injecting additional locales via a provider instead.`\n );\n }\n @Input() customLocales: { [key: string]: Locale } = {};\n /* \n Experimental: Input property not documented on purpose. \n For context see: https://github.com/kirbydesign/designsystem/issues/2087\n */\n @Input() usePopover = false;\n /**\n * Configuration for the year navigator.\n *\n * Internally, calendar component:\n * - bases yearNavigatorOptions.from and yearNavigatorOptions.to on todayDate if a number is provided\n * - prioritizes minDate and maxDate over yearNavigatorOptions.from and yearNavigatorOptions.to\n */\n @Input() yearNavigatorOptions: CalendarYearNavigatorConfig;\n\n _month: CalendarCell[][];\n _weekDays: string[];\n private selectedDay: CalendarCell;\n // NOTE: Internally, all Dates\n // are normalized to point to local timezone midnight, regardless of the timezone\n // setting.\n private activeMonth: Date;\n private _selectedDate: Date;\n private _disabledDates: Date[] = [];\n private _enabledDates: Date[] = [];\n private _todayDate: Date;\n private _minDate: Date;\n private _maxDate: Date;\n private locale: Locale;\n private timeZoneName: string;\n private includedLocales = { da, enGB, enUS };\n\n get selectedDate(): Date {\n return this._selectedDate;\n }\n\n @Input() set selectedDate(valueLocalOrUTC: Date) {\n const value = this.normalizeDate(valueLocalOrUTC);\n this.setActiveMonth(value);\n\n if (this.hasDateChanged(value, this._selectedDate)) {\n this.onSelectedDateChange(value);\n this._selectedDate = value;\n }\n }\n\n get disabledDates(): Date[] {\n return this._disabledDates;\n }\n\n @Input() set disabledDates(value: Date[]) {\n this._disabledDates = (value || []).map((date) => this.normalizeDate(date));\n }\n\n get enabledDates(): Date[] {\n return this._enabledDates;\n }\n\n @Input() set enabledDates(value: Date[]) {\n this._enabledDates = (value || []).map((date) => this.normalizeDate(date));\n }\n\n get todayDate(): Date {\n return this._todayDate;\n }\n\n @Input() set todayDate(value: Date) {\n this._todayDate = this.normalizeDate(value);\n }\n\n get minDate(): Date {\n return this._minDate;\n }\n\n @Input() set minDate(value: Date) {\n if (value && this.activeMonth && isBefore(this.activeMonth, value)) {\n this.setActiveMonth(value);\n }\n this._minDate = this.normalizeDate(value);\n }\n\n get maxDate(): Date {\n return this._maxDate;\n }\n\n @Input() set maxDate(value: Date) {\n if (value && this.activeMonth && isAfter(this.activeMonth, value)) {\n this.setActiveMonth(value);\n }\n this._maxDate = this.normalizeDate(value);\n }\n\n get activeMonthName(): string {\n return capitalizeFirstLetter(this.formatWithLocale(this.activeMonth, 'MMMM'));\n }\n\n get activeYear(): string {\n return this.formatWithLocale(this.activeMonth, 'yyyy');\n }\n\n /**\n * Gets navigable years for year navigator based on yearNavigatorOptions.\n */\n get navigableYears(): string[] {\n const dateOfFirstNavigableYear =\n this.minDate || this.getDateFromNavigableYear(this.yearNavigatorOptions.from);\n\n const dateOfLastNavigableYear =\n this.maxDate || this.getDateFromNavigableYear(this.yearNavigatorOptions.to);\n\n return this.getYearsBetweenDates(dateOfFirstNavigableYear, dateOfLastNavigableYear);\n }\n\n get navigatedYear(): number {\n return this.navigableYears.indexOf(this.activeYear);\n }\n\n @HostBinding('class.has-year-navigator')\n get _hasYearNavigator() {\n return !!this.yearNavigatorOptions;\n }\n\n constructor(private calendarHelper: CalendarHelper, @Inject(LOCALE_ID) locale: string) {\n this.locale = this.mapLocale(locale);\n this.timeZoneName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n }\n\n private formatWithLocale(date: Date, formatString: string): string {\n return format(date, formatString, {\n locale: this.locale,\n });\n }\n\n private mapLocale(locale: string): Locale {\n if (locale === 'en') {\n locale = 'enGB'; // if english locale is provided without region, we default to GB\n }\n locale = locale.replace('-', '');\n const availableLocales = { ...this.includedLocales, ...this.locales, ...this.customLocales };\n return availableLocales[locale] || this.includedLocales.enGB; // Default to enGB if injected locale doesnt exist\n }\n\n ngOnInit() {\n this._weekDays = this.getWeekDays();\n this.setActiveMonth(this.selectedDate);\n }\n\n ngAfterViewInit() {\n this.calendarHelper.init(\n this.calendarContainer,\n this.getHelperOptions(),\n this._onDateSelected.bind(this),\n this.onChangeMonth.bind(this)\n );\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!this.activeMonth) return;\n if (\n changes.disableWeekends ||\n changes.disablePastDates ||\n changes.disableFutureDates ||\n changes.disabledDates ||\n changes.enabledDates ||\n changes.minDate ||\n changes.maxDate ||\n changes.todayDate ||\n changes.timezone\n ) {\n this.refreshActiveMonth();\n this.calendarHelper.update(this.getHelperOptions());\n }\n }\n\n private setActiveMonth(date: Date = new Date()) {\n if (!this.activeMonth || !isSameMonth(this.activeMonth, date)) {\n this.activeMonth = startOfMonth(date);\n this.refreshActiveMonth();\n this.calendarHelper.update(this.getHelperOptions());\n }\n }\n\n // For leniency, the component will accept any Date that points to either UTC midnight\n // or to local timezone midnight although we will internally normalize the representation\n // of all received dates to point to local timezone midnight.\n // We currently log no warnings if the date doesn't match the timezone setting or\n // if it doesn't point to midnight.\n private normalizeDate(dateLocalOrUTC: Date) {\n if (!dateLocalOrUTC) return;\n\n if (startOfDay(dateLocalOrUTC).getTime() === dateLocalOrUTC.getTime()) {\n // date is local timezone midnight\n return dateLocalOrUTC;\n }\n if (\n startOfDay(utcToZonedTime(dateLocalOrUTC, this.timeZoneName)).getTime() ===\n utcToZonedTime(dateLocalOrUTC, this.timeZoneName).getTime()\n ) {\n // the date is a UTC midnight; create the equivalent local timezone midnight date\n const normalizedUTCdate = utcToZonedTime(dateLocalOrUTC, this.timeZoneName);\n return normalizedUTCdate;\n }\n // does not point to midnight so we make it\n return startOfDay(dateLocalOrUTC);\n }\n\n private getWeekDays(): string[] {\n const now = new Date();\n const week = eachDayOfInterval({\n start: startOfWeek(now, { locale: this.locale }),\n end: endOfWeek(now, { locale: this.locale }),\n });\n\n return week.map((date) => this.getFirstLetterOfWeekDayCapitalized(date));\n }\n\n private getFirstLetterOfWeekDayCapitalized(date: Date) {\n return this.formatWithLocale(date, 'EEEEE');\n }\n\n private hasDateChanged(newDate: Date, previousDate: Date): boolean {\n if (!newDate && !previousDate) {\n return false;\n }\n if (newDate instanceof Date && !previousDate) {\n return true;\n }\n return !isSameDay(newDate, previousDate);\n }\n\n private isDisabledDate(date: Date): boolean {\n return this.disabledDates.some((disabledDate) => isSameDay(disabledDate, date));\n }\n\n private isEnabledDate(date: Date): boolean {\n return (\n this._enabledDates.length === 0 ||\n this.enabledDates.some((enabledDate) => isSameDay(enabledDate, date))\n );\n }\n\n refreshActiveMonth() {\n if (!this.activeMonth) return;\n\n const monthStart = startOfMonth(this.activeMonth);\n const monthEnd = endOfMonth(this.activeMonth);\n const startOfFirstWeek = startOfWeek(monthStart, { locale: this.locale });\n const endOfLastWeek = endOfWeek(monthEnd, { locale: this.locale });\n const totalDayCount = differenceInDays(endOfLastWeek, startOfFirstWeek) + 1;\n const today = this.todayDate ? startOfDay(this.todayDate) : startOfDay(new Date());\n\n const daysArray = Array.from(Array(totalDayCount).keys());\n\n const days: CalendarCell[] = daysArray.map((number) => {\n const cellDate = add(startOfFirstWeek, { [TimeUnit.days]: number });\n const day = this.getCalendarDay(cellDate, today, monthStart);\n\n const isSelectable = this.isSelectable(day, cellDate);\n const isSelected = isSameDay(this.selectedDate, cellDate);\n const cell = {\n date: cellDate.getDate(),\n isCurrentMonth: day.isCurrentMonth,\n isSelectable,\n isSelected,\n cssClasses: this.getCssClasses(day, isSelectable, isSelected),\n };\n if (isSelected) {\n this.selectedDay = cell;\n }\n return cell;\n });\n this._month = this.chunk(days, 7);\n }\n\n private getCalendarDay(date: Date, today: Date, monthStart: Date): CalendarDay {\n return {\n isToday: isSameDay(today, date),\n isPast: isBefore(date, today),\n isFuture: isAfter(date, today),\n isWeekend: isWeekend(date),\n isCurrentMonth: isSameMonth(date, monthStart),\n isDisabled: this.isDisabledDate(date) || !this.isEnabledDate(date),\n };\n }\n\n private isSelectable(day: CalendarDay, date: Date) {\n return (\n (this.alwaysEnableToday && day.isToday) ||\n (!day.isDisabled &&\n day.isCurrentMonth &&\n !(this.disableWeekends && day.isWeekend) &&\n !(this.disablePastDates && day.isPast) &&\n !(this.disableFutureDates && day.isFuture) &&\n !(this.minDate && isBefore(date, this.minDate)) &&\n !(this.maxDate && isAfter(date, this.maxDate)))\n );\n }\n\n private getCssClasses(day: CalendarDay, isSelectable: boolean, isSelected: boolean) {\n const cssClasses = {\n 'current-month': day.isCurrentMonth,\n weekend: day.isWeekend,\n today: day.isToday,\n selectable: isSelectable,\n selected: isSelected,\n past: day.isPast,\n disabled: day.isDisabled,\n };\n let cssClassString = 'day';\n for (const key in cssClasses) {\n if (cssClasses[key]) {\n cssClassString += ' ' + key;\n }\n }\n return cssClassString;\n }\n\n private chunk(array: any[], size: number) {\n const results = [];\n while (array.length) {\n results.push(array.splice(0, size));\n }\n return results;\n }\n\n private onSelectedDateChange(newDate: Date): void {\n if (this.selectedDay) {\n this.selectedDay.isSelected = false;\n }\n\n const newDay = this.getCell(newDate);\n if (newDay) {\n newDay.isSelected = true;\n this.selectedDay = newDay;\n }\n this.calendarHelper.setSelectedDay(newDate.getDate());\n }\n\n _onDateSelected(newDay: CalendarCell) {\n if (newDay.isSelectable && newDay.date) {\n let newDate = new Date(this.activeMonth);\n newDate.setDate(newDay.date);\n\n if (this.timezone === 'UTC') {\n newDate = zonedTimeToUtc(this.subtractTimezoneOffset(newDate), this.timeZoneName);\n }\n\n const dateToEmit = newDate;\n\n if (this.hasDateChanged(newDate, this._selectedDate)) {\n this.onSelectedDateChange(newDate);\n this._selectedDate = newDate;\n this.dateChange.emit(dateToEmit);\n }\n this.dateSelect.emit(dateToEmit);\n }\n }\n\n private onChangeMonth(direction: number) {\n this._changeMonth(direction);\n this.calendarHelper.update(this.getHelperOptions());\n }\n\n _changeMonth(index: number) {\n this.changeActiveView(index, TimeUnit.months);\n index > 0\n ? this.nextMonthClicked.emit(this.activeMonth)\n : this.previousMonthClicked.emit(this.activeMonth);\n }\n\n _changeYear(year: string) {\n const yearNumeric = Number(year);\n this.changeActiveView(yearNumeric - getYear(this.activeMonth), TimeUnit.years);\n this.yearSelect.emit(yearNumeric);\n }\n\n private changeActiveView(index: number, unit: TimeUnit) {\n if (index === 0) return;\n this.activeMonth = add(this.activeMonth, { [unit]: index });\n\n this.refreshActiveMonth();\n }\n\n get _canNavigateBack(): boolean {\n const reachedPastDatesLimit =\n this.disablePastDates && isSameMonth(this.activeMonth, this.todayDate);\n\n const reachedOrExceededMinDate =\n this.minDate &&\n (isSameMonth(this.activeMonth, this.minDate) || isBefore(this.activeMonth, this.minDate));\n\n return !reachedPastDatesLimit && !reachedOrExceededMinDate;\n }\n\n get _canNavigateForward(): boolean {\n const reachedFutureDatesLimit =\n this.disableFutureDates && isSameMonth(this.activeMonth, this.todayDate);\n\n const reachedOrExceededMaxDate =\n this.maxDate &&\n (isSameMonth(this.activeMonth, this.maxDate) || isAfter(this.activeMonth, this.maxDate));\n\n return !reachedFutureDatesLimit && !reachedOrExceededMaxDate;\n }\n\n private getCell(date: Date) {\n let foundDay = null;\n if (date) {\n for (const week of this._month) {\n foundDay = week.find((day) => {\n return day.isCurrentMonth && day.date === date.getDate();\n });\n if (foundDay) {\n break;\n }\n }\n }\n return foundDay;\n }\n\n private getHelperOptions(): CalendarOptions {\n return {\n canNavigateBack: this._canNavigateBack,\n canNavigateForward: this._canNavigateForward,\n year: this.activeYear,\n monthName: this.activeMonthName,\n weekDays: this._weekDays,\n month: this._month,\n };\n }\n\n private subtractTimezoneOffset(date: Date): Date {\n const timezoneOffsetInMs = date.getTimezoneOffset() * 60 * 1000;\n return new Date(date.getTime() - timezoneOffsetInMs);\n }\n\n private getDateFromNavigableYear(navigableYear: number | Date): Date {\n if (navigableYear instanceof Date) return navigableYear;\n const today = this.todayDate || new Date();\n return new Date(today.getFullYear() + navigableYear, 0, 1);\n }\n\n private getYearsBetweenDates(startDate: Date, endDate: Date): string[] {\n // Ensure years are ordered correctly if parameters are switched:\n const [startYear, endYear] = [startDate.getFullYear(), endDate.getFullYear()].sort();\n const numberOfYears = endYear - startYear;\n return Array.from({ length: numberOfYears + 1 }, (_, i) => (startYear + i).toString());\n }\n}\n","<div class=\"header\">\n <div class=\"month-navigator\">\n <button\n [disabled]=\"!_canNavigateBack\"\n (click)=\"_changeMonth(-1)\"\n kirby-button\n [noDecoration]=\"true\"\n class=\"no-margin\"\n >\n <kirby-icon name=\"arrow-back\"></kirby-icon>\n </button>\n\n <div class=\"month-and-year\">\n <span class=\"month\">{{ activeMonthName }}</span>\n <span *ngIf=\"!_hasYearNavigator\" class=\"year\">{{ activeYear }}</span>\n </div>\n\n <button\n [disabled]=\"!_canNavigateForward\"\n (click)=\"_changeMonth(1)\"\n kirby-button\n [noDecoration]=\"true\"\n class=\"no-margin\"\n >\n <kirby-icon name=\"arrow-more\"></kirby-icon>\n </button>\n </div>\n <kirby-dropdown\n *ngIf=\"_hasYearNavigator\"\n [usePopover]=\"usePopover\"\n [selectedIndex]=\"navigatedYear\"\n [items]=\"navigableYears\"\n popout=\"left\"\n (change)=\"_changeYear($event)\"\n ></kirby-dropdown>\n</div>\n\n<table>\n <thead>\n <tr>\n <th *ngFor=\"let weekDay of _weekDays\">{{ weekDay }}</th>\n </tr>\n </thead>\n\n <tbody>\n <tr *ngFor=\"let week of _month\">\n <td *ngFor=\"let day of week\">\n <div\n (click)=\"_onDateSelected(day)\"\n class=\"{{ day.cssClasses }} contain-state-layer\"\n [class.selected]=\"day.isSelected\"\n >\n <span class=\"state-layer\" aria-hidden=\"true\"></span>\n <span class=\"content-layer\">{{ day.date }}</span>\n </div>\n </td>\n </tr>\n </tbody>\n</table>\n\n<!-- <iframe src=\"kirby/components/calendar/calendar.webview.html\" #calendarContainer style=\"width: 320px; height: 304px; border: 0\"> -->\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kirbydesign-designsystem-calendar.mjs","sources":["../../../../libs/designsystem/calendar/src/helpers/calendar.helper.ts","../../../../libs/designsystem/calendar/src/calendar.component.ts","../../../../libs/designsystem/calendar/src/calendar.component.html","../../../../libs/designsystem/calendar/src/kirbydesign-designsystem-calendar.ts"],"sourcesContent":["import { ElementRef, Injectable } from '@angular/core';\nimport { WindowRef } from '@kirbydesign/designsystem/types';\n\nimport { CalendarOptions } from './calendar-options.model';\n\n@Injectable()\nexport class CalendarHelper {\n private embeddedView: Window;\n private embeddedViewReady = false;\n\n constructor(private windowRef: WindowRef) {}\n\n public init(\n calendarContainer: ElementRef,\n options: CalendarOptions,\n onDaySelected: (cell: { isSelectable: boolean; date: number }) => void,\n onChangeMonth: (index: number) => void\n ) {\n if (this.hasEmbeddedView(calendarContainer)) {\n const iframe = <HTMLIFrameElement>calendarContainer.nativeElement;\n iframe.onload = () => {\n this.embeddedViewReady = true;\n this.emitOptionsToEmbeddedView(options);\n };\n this.embeddedView = iframe.contentWindow;\n\n this.windowRef.nativeWindow.addEventListener('message', (event: MessageEvent) =>\n this.handleMessageEvent(event, onDaySelected, onChangeMonth)\n );\n }\n }\n\n public update(options: CalendarOptions) {\n if (this.embeddedViewReady) {\n this.emitOptionsToEmbeddedView(options);\n }\n }\n\n public setSelectedDay(day: number) {\n if (this.embeddedViewReady) {\n this.embeddedView.postMessage(\n {\n type: 'kirbyCalendarSetSelectedDay',\n selectedDay: day,\n },\n '*'\n );\n }\n }\n\n private hasEmbeddedView(calendarContainer: ElementRef) {\n return (\n calendarContainer &&\n calendarContainer.nativeElement &&\n calendarContainer.nativeElement instanceof HTMLIFrameElement &&\n calendarContainer.nativeElement.contentWindow\n );\n }\n\n private emitOptionsToEmbeddedView(options: CalendarOptions) {\n this.embeddedView.postMessage(\n {\n type: 'kirbyCalendarInit',\n ...options,\n },\n '*'\n );\n }\n\n private handleMessageEvent(\n event: MessageEvent,\n onDaySelected: (cell: { isSelectable: boolean; date: number }) => void,\n onChangeMonth: (index: number) => void\n ) {\n if (this.validateMessage(event)) {\n switch (event.data.type) {\n case 'kirbyCalendarDaySelected':\n if (this.validateDateSelectedMessage(event)) {\n onDaySelected({ isSelectable: true, date: event.data.day });\n }\n break;\n case 'kirbyCalendarChangeMonth':\n if (this.validateNavigateMonthMessage(event)) {\n onChangeMonth(event.data.index);\n }\n break;\n }\n }\n }\n\n private validateMessage(event: MessageEvent) {\n return (\n this.embeddedView === event.source &&\n event.type === 'message' &&\n event.data &&\n event.data.type\n );\n }\n\n private validateDateSelectedMessage(event: MessageEvent) {\n return event.data.type === 'kirbyCalendarDaySelected' && event.data.day;\n }\n\n private validateNavigateMonthMessage(event: MessageEvent) {\n return event.data.type === 'kirbyCalendarChangeMonth' && typeof event.data.index === 'number';\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n LOCALE_ID,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport {\n add,\n differenceInDays,\n eachDayOfInterval,\n endOfMonth,\n endOfWeek,\n format,\n getYear,\n isAfter,\n isBefore,\n isSameDay,\n isSameMonth,\n isWeekend,\n Locale as LocaleDateFns,\n startOfDay,\n startOfMonth,\n startOfWeek,\n} from 'date-fns';\nimport { utcToZonedTime, zonedTimeToUtc } from 'date-fns-tz';\nimport { da, enGB, enUS } from 'date-fns/locale';\n\nimport { capitalizeFirstLetter } from '@kirbydesign/core';\n\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '@kirbydesign/designsystem/icon';\n\nimport { DropdownModule } from '@kirbydesign/designsystem/dropdown';\nimport { ButtonComponent } from '@kirbydesign/designsystem/button';\nimport { CalendarCell } from './helpers/calendar-cell.model';\nimport { CalendarOptions } from './helpers/calendar-options.model';\nimport { CalendarHelper } from './helpers/calendar.helper';\nimport { CalendarYearNavigatorConfig } from './options/calendar-year-navigator-config';\n\nexport type Locale = LocaleDateFns;\ninterface CalendarDay {\n isCurrentMonth: boolean;\n isToday: boolean;\n isWeekend: boolean;\n isPast: boolean;\n isFuture: boolean;\n isDisabled: boolean;\n}\n\nenum TimeUnit {\n years = 'years',\n months = 'months',\n weeks = 'weeks',\n days = 'days',\n hours = 'hours',\n minutes = 'minutes',\n seconds = 'seconds',\n milliseconds = 'milliseconds',\n}\n\n@Component({\n standalone: true,\n imports: [DropdownModule, ButtonComponent, IconModule, CommonModule],\n selector: 'kirby-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.scss'],\n providers: [CalendarHelper],\n})\nexport class CalendarComponent implements OnInit, AfterViewInit, OnChanges {\n @ViewChild('calendarContainer', { static: false }) calendarContainer: ElementRef;\n @Output() dateChange = new EventEmitter<Date>();\n @Output() dateSelect = new EventEmitter<Date>();\n @Output() yearSelect = new EventEmitter<number>();\n @Output() previousMonthClicked = new EventEmitter<Date>();\n @Output() nextMonthClicked = new EventEmitter<Date>();\n @Input() timezone: 'local' | 'UTC' = 'local';\n @Input() disableWeekends = false;\n @Input() disablePastDates = false;\n @Input() disableFutureDates = false;\n @Input() alwaysEnableToday = false;\n\n @Input() set locales(locales: { [key: string]: Locale }) {\n console.warn(\n `Supplying additional locales to the Kirby Calendar Component via an input property is deprecated and should not be used. \n A future update will allow injecting additional locales via a provider instead.`\n );\n }\n @Input() customLocales: { [key: string]: Locale } = {};\n /* \n Experimental: Input property not documented on purpose. \n For context see: https://github.com/kirbydesign/designsystem/issues/2087\n */\n @Input() usePopover = false;\n /**\n * Configuration for the year navigator.\n *\n * Internally, calendar component:\n * - bases yearNavigatorOptions.from and yearNavigatorOptions.to on todayDate if a number is provided\n * - prioritizes minDate and maxDate over yearNavigatorOptions.from and yearNavigatorOptions.to\n */\n @Input() yearNavigatorOptions: CalendarYearNavigatorConfig;\n\n _month: CalendarCell[][];\n _weekDays: string[];\n private selectedDay: CalendarCell;\n // NOTE: Internally, all Dates\n // are normalized to point to local timezone midnight, regardless of the timezone\n // setting.\n private activeMonth: Date;\n private _selectedDate: Date;\n private _disabledDates: Date[] = [];\n private _enabledDates: Date[] = [];\n private _todayDate: Date;\n private _minDate: Date;\n private _maxDate: Date;\n private locale: Locale;\n private timeZoneName: string;\n private includedLocales = { da, enGB, enUS };\n\n get selectedDate(): Date {\n return this._selectedDate;\n }\n\n @Input() set selectedDate(valueLocalOrUTC: Date) {\n const value = this.normalizeDate(valueLocalOrUTC);\n this.setActiveMonth(value);\n\n if (this.hasDateChanged(value, this._selectedDate)) {\n this.onSelectedDateChange(value);\n this._selectedDate = value;\n }\n }\n\n get disabledDates(): Date[] {\n return this._disabledDates;\n }\n\n @Input() set disabledDates(value: Date[]) {\n this._disabledDates = (value || []).map((date) => this.normalizeDate(date));\n }\n\n get enabledDates(): Date[] {\n return this._enabledDates;\n }\n\n @Input() set enabledDates(value: Date[]) {\n this._enabledDates = (value || []).map((date) => this.normalizeDate(date));\n }\n\n get todayDate(): Date {\n return this._todayDate;\n }\n\n @Input() set todayDate(value: Date) {\n this._todayDate = this.normalizeDate(value);\n }\n\n get minDate(): Date {\n return this._minDate;\n }\n\n @Input() set minDate(value: Date) {\n if (value && this.activeMonth && isBefore(this.activeMonth, value)) {\n this.setActiveMonth(value);\n }\n this._minDate = this.normalizeDate(value);\n }\n\n get maxDate(): Date {\n return this._maxDate;\n }\n\n @Input() set maxDate(value: Date) {\n if (value && this.activeMonth && isAfter(this.activeMonth, value)) {\n this.setActiveMonth(value);\n }\n this._maxDate = this.normalizeDate(value);\n }\n\n get activeMonthName(): string {\n return capitalizeFirstLetter(this.formatWithLocale(this.activeMonth, 'MMMM'));\n }\n\n get activeYear(): string {\n return this.formatWithLocale(this.activeMonth, 'yyyy');\n }\n\n /**\n * Gets navigable years for year navigator based on yearNavigatorOptions.\n */\n get navigableYears(): string[] {\n const dateOfFirstNavigableYear =\n this.minDate || this.getDateFromNavigableYear(this.yearNavigatorOptions.from);\n\n const dateOfLastNavigableYear =\n this.maxDate || this.getDateFromNavigableYear(this.yearNavigatorOptions.to);\n\n return this.getYearsBetweenDates(dateOfFirstNavigableYear, dateOfLastNavigableYear);\n }\n\n get navigatedYear(): number {\n return this.navigableYears.indexOf(this.activeYear);\n }\n\n @HostBinding('class.has-year-navigator')\n get _hasYearNavigator() {\n return !!this.yearNavigatorOptions;\n }\n\n constructor(private calendarHelper: CalendarHelper, @Inject(LOCALE_ID) locale: string) {\n this.locale = this.mapLocale(locale);\n this.timeZoneName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n }\n\n private formatWithLocale(date: Date, formatString: string): string {\n return format(date, formatString, {\n locale: this.locale,\n });\n }\n\n private mapLocale(locale: string): Locale {\n if (locale === 'en') {\n locale = 'enGB'; // if english locale is provided without region, we default to GB\n }\n locale = locale.replace('-', '');\n const availableLocales = { ...this.includedLocales, ...this.locales, ...this.customLocales };\n return availableLocales[locale] || this.includedLocales.enGB; // Default to enGB if injected locale doesnt exist\n }\n\n ngOnInit() {\n this._weekDays = this.getWeekDays();\n this.setActiveMonth(this.selectedDate);\n }\n\n ngAfterViewInit() {\n this.calendarHelper.init(\n this.calendarContainer,\n this.getHelperOptions(),\n this._onDateSelected.bind(this),\n this.onChangeMonth.bind(this)\n );\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!this.activeMonth) return;\n if (\n changes.disableWeekends ||\n changes.disablePastDates ||\n changes.disableFutureDates ||\n changes.disabledDates ||\n changes.enabledDates ||\n changes.minDate ||\n changes.maxDate ||\n changes.todayDate ||\n changes.timezone\n ) {\n this.refreshActiveMonth();\n this.calendarHelper.update(this.getHelperOptions());\n }\n }\n\n private setActiveMonth(date: Date = new Date()) {\n if (!this.activeMonth || !isSameMonth(this.activeMonth, date)) {\n this.activeMonth = startOfMonth(date);\n this.refreshActiveMonth();\n this.calendarHelper.update(this.getHelperOptions());\n }\n }\n\n // For leniency, the component will accept any Date that points to either UTC midnight\n // or to local timezone midnight although we will internally normalize the representation\n // of all received dates to point to local timezone midnight.\n // We currently log no warnings if the date doesn't match the timezone setting or\n // if it doesn't point to midnight.\n private normalizeDate(dateLocalOrUTC: Date) {\n if (!dateLocalOrUTC) return;\n\n if (startOfDay(dateLocalOrUTC).getTime() === dateLocalOrUTC.getTime()) {\n // date is local timezone midnight\n return dateLocalOrUTC;\n }\n if (\n startOfDay(utcToZonedTime(dateLocalOrUTC, this.timeZoneName)).getTime() ===\n utcToZonedTime(dateLocalOrUTC, this.timeZoneName).getTime()\n ) {\n // the date is a UTC midnight; create the equivalent local timezone midnight date\n const normalizedUTCdate = utcToZonedTime(dateLocalOrUTC, this.timeZoneName);\n return normalizedUTCdate;\n }\n // does not point to midnight so we make it\n return startOfDay(dateLocalOrUTC);\n }\n\n private getWeekDays(): string[] {\n const now = new Date();\n const week = eachDayOfInterval({\n start: startOfWeek(now, { locale: this.locale }),\n end: endOfWeek(now, { locale: this.locale }),\n });\n\n return week.map((date) => this.getFirstLetterOfWeekDayCapitalized(date));\n }\n\n private getFirstLetterOfWeekDayCapitalized(date: Date) {\n return this.formatWithLocale(date, 'EEEEE');\n }\n\n private hasDateChanged(newDate: Date, previousDate: Date): boolean {\n if (!newDate && !previousDate) {\n return false;\n }\n if (newDate instanceof Date && !previousDate) {\n return true;\n }\n return !isSameDay(newDate, previousDate);\n }\n\n private isDisabledDate(date: Date): boolean {\n return this.disabledDates.some((disabledDate) => isSameDay(disabledDate, date));\n }\n\n private isEnabledDate(date: Date): boolean {\n return (\n this._enabledDates.length === 0 ||\n this.enabledDates.some((enabledDate) => isSameDay(enabledDate, date))\n );\n }\n\n refreshActiveMonth() {\n if (!this.activeMonth) return;\n\n const monthStart = startOfMonth(this.activeMonth);\n const monthEnd = endOfMonth(this.activeMonth);\n const startOfFirstWeek = startOfWeek(monthStart, { locale: this.locale });\n const endOfLastWeek = endOfWeek(monthEnd, { locale: this.locale });\n const totalDayCount = differenceInDays(endOfLastWeek, startOfFirstWeek) + 1;\n const today = this.todayDate ? startOfDay(this.todayDate) : startOfDay(new Date());\n\n const daysArray = Array.from(Array(totalDayCount).keys());\n\n const days: CalendarCell[] = daysArray.map((number) => {\n const cellDate = add(startOfFirstWeek, { [TimeUnit.days]: number });\n const day = this.getCalendarDay(cellDate, today, monthStart);\n\n const isSelectable = this.isSelectable(day, cellDate);\n const isSelected = isSameDay(this.selectedDate, cellDate);\n const cell = {\n date: cellDate.getDate(),\n isCurrentMonth: day.isCurrentMonth,\n isSelectable,\n isSelected,\n cssClasses: this.getCssClasses(day, isSelectable, isSelected),\n };\n if (isSelected) {\n this.selectedDay = cell;\n }\n return cell;\n });\n this._month = this.chunk(days, 7);\n }\n\n private getCalendarDay(date: Date, today: Date, monthStart: Date): CalendarDay {\n return {\n isToday: isSameDay(today, date),\n isPast: isBefore(date, today),\n isFuture: isAfter(date, today),\n isWeekend: isWeekend(date),\n isCurrentMonth: isSameMonth(date, monthStart),\n isDisabled: this.isDisabledDate(date) || !this.isEnabledDate(date),\n };\n }\n\n private isSelectable(day: CalendarDay, date: Date) {\n return (\n (this.alwaysEnableToday && day.isToday) ||\n (!day.isDisabled &&\n day.isCurrentMonth &&\n !(this.disableWeekends && day.isWeekend) &&\n !(this.disablePastDates && day.isPast) &&\n !(this.disableFutureDates && day.isFuture) &&\n !(this.minDate && isBefore(date, this.minDate)) &&\n !(this.maxDate && isAfter(date, this.maxDate)))\n );\n }\n\n private getCssClasses(day: CalendarDay, isSelectable: boolean, isSelected: boolean) {\n const cssClasses = {\n 'current-month': day.isCurrentMonth,\n weekend: day.isWeekend,\n today: day.isToday,\n selectable: isSelectable,\n selected: isSelected,\n past: day.isPast,\n disabled: day.isDisabled,\n };\n let cssClassString = 'day';\n for (const key in cssClasses) {\n if (cssClasses[key]) {\n cssClassString += ' ' + key;\n }\n }\n return cssClassString;\n }\n\n private chunk(array: any[], size: number) {\n const results = [];\n while (array.length) {\n results.push(array.splice(0, size));\n }\n return results;\n }\n\n private onSelectedDateChange(newDate: Date): void {\n if (this.selectedDay) {\n this.selectedDay.isSelected = false;\n }\n\n const newDay = this.getCell(newDate);\n if (newDay) {\n newDay.isSelected = true;\n this.selectedDay = newDay;\n }\n this.calendarHelper.setSelectedDay(newDate.getDate());\n }\n\n _onDateSelected(newDay: CalendarCell) {\n if (newDay.isSelectable && newDay.date) {\n let newDate = new Date(this.activeMonth);\n newDate.setDate(newDay.date);\n\n if (this.timezone === 'UTC') {\n newDate = zonedTimeToUtc(this.subtractTimezoneOffset(newDate), this.timeZoneName);\n }\n\n const dateToEmit = newDate;\n\n if (this.hasDateChanged(newDate, this._selectedDate)) {\n this.onSelectedDateChange(newDate);\n this._selectedDate = newDate;\n this.dateChange.emit(dateToEmit);\n }\n this.dateSelect.emit(dateToEmit);\n }\n }\n\n private onChangeMonth(direction: number) {\n this._changeMonth(direction);\n this.calendarHelper.update(this.getHelperOptions());\n }\n\n _changeMonth(index: number) {\n this.changeActiveView(index, TimeUnit.months);\n index > 0\n ? this.nextMonthClicked.emit(this.activeMonth)\n : this.previousMonthClicked.emit(this.activeMonth);\n }\n\n _changeYear(year: string) {\n const yearNumeric = Number(year);\n this.changeActiveView(yearNumeric - getYear(this.activeMonth), TimeUnit.years);\n this.yearSelect.emit(yearNumeric);\n }\n\n private changeActiveView(index: number, unit: TimeUnit) {\n if (index === 0) return;\n this.activeMonth = add(this.activeMonth, { [unit]: index });\n\n this.refreshActiveMonth();\n }\n\n get _canNavigateBack(): boolean {\n const reachedPastDatesLimit =\n this.disablePastDates && isSameMonth(this.activeMonth, this.todayDate);\n\n const reachedOrExceededMinDate =\n this.minDate &&\n (isSameMonth(this.activeMonth, this.minDate) || isBefore(this.activeMonth, this.minDate));\n\n return !reachedPastDatesLimit && !reachedOrExceededMinDate;\n }\n\n get _canNavigateForward(): boolean {\n const reachedFutureDatesLimit =\n this.disableFutureDates && isSameMonth(this.activeMonth, this.todayDate);\n\n const reachedOrExceededMaxDate =\n this.maxDate &&\n (isSameMonth(this.activeMonth, this.maxDate) || isAfter(this.activeMonth, this.maxDate));\n\n return !reachedFutureDatesLimit && !reachedOrExceededMaxDate;\n }\n\n private getCell(date: Date) {\n let foundDay = null;\n if (date) {\n for (const week of this._month) {\n foundDay = week.find((day) => {\n return day.isCurrentMonth && day.date === date.getDate();\n });\n if (foundDay) {\n break;\n }\n }\n }\n return foundDay;\n }\n\n private getHelperOptions(): CalendarOptions {\n return {\n canNavigateBack: this._canNavigateBack,\n canNavigateForward: this._canNavigateForward,\n year: this.activeYear,\n monthName: this.activeMonthName,\n weekDays: this._weekDays,\n month: this._month,\n };\n }\n\n private subtractTimezoneOffset(date: Date): Date {\n const timezoneOffsetInMs = date.getTimezoneOffset() * 60 * 1000;\n return new Date(date.getTime() - timezoneOffsetInMs);\n }\n\n private getDateFromNavigableYear(navigableYear: number | Date): Date {\n if (navigableYear instanceof Date) return navigableYear;\n const today = this.todayDate || new Date();\n return new Date(today.getFullYear() + navigableYear, 0, 1);\n }\n\n private getYearsBetweenDates(startDate: Date, endDate: Date): string[] {\n // Ensure years are ordered correctly if parameters are switched:\n const [startYear, endYear] = [startDate.getFullYear(), endDate.getFullYear()].sort();\n const numberOfYears = endYear - startYear;\n return Array.from({ length: numberOfYears + 1 }, (_, i) => (startYear + i).toString());\n }\n}\n","<div class=\"header\">\n <div class=\"month-navigator\">\n <button\n [disabled]=\"!_canNavigateBack\"\n (click)=\"_changeMonth(-1)\"\n kirby-button\n [noDecoration]=\"true\"\n class=\"no-margin\"\n >\n <kirby-icon name=\"arrow-back\"></kirby-icon>\n </button>\n\n <div class=\"month-and-year\">\n <span class=\"month\">{{ activeMonthName }}</span>\n <span *ngIf=\"!_hasYearNavigator\" class=\"year\">{{ activeYear }}</span>\n </div>\n\n <button\n [disabled]=\"!_canNavigateForward\"\n (click)=\"_changeMonth(1)\"\n kirby-button\n [noDecoration]=\"true\"\n class=\"no-margin\"\n >\n <kirby-icon name=\"arrow-more\"></kirby-icon>\n </button>\n </div>\n <kirby-dropdown\n *ngIf=\"_hasYearNavigator\"\n [usePopover]=\"usePopover\"\n [selectedIndex]=\"navigatedYear\"\n [items]=\"navigableYears\"\n popout=\"left\"\n (change)=\"_changeYear($event)\"\n ></kirby-dropdown>\n</div>\n\n<table>\n <thead>\n <tr>\n <th *ngFor=\"let weekDay of _weekDays\">{{ weekDay }}</th>\n </tr>\n </thead>\n\n <tbody>\n <tr *ngFor=\"let week of _month\">\n <td *ngFor=\"let day of week\">\n <div\n (click)=\"_onDateSelected(day)\"\n class=\"{{ day.cssClasses }} contain-state-layer\"\n [class.selected]=\"day.isSelected\"\n >\n <span class=\"state-layer\" aria-hidden=\"true\"></span>\n <span class=\"content-layer\">{{ day.date }}</span>\n </div>\n </td>\n </tr>\n </tbody>\n</table>\n\n<!-- <iframe src=\"kirby/components/calendar/calendar.webview.html\" #calendarContainer style=\"width: 320px; height: 304px; border: 0\"> -->\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;MAMa,cAAc,CAAA;AAIzB,IAAA,WAAA,CAAoB,SAAoB,EAAA;QAApB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QAFhC,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;KAEU;AAErC,IAAA,IAAI,CACT,iBAA6B,EAC7B,OAAwB,EACxB,aAAsE,EACtE,aAAsC,EAAA;AAEtC,QAAA,IAAI,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE;AAC3C,YAAA,MAAM,MAAM,GAAsB,iBAAiB,CAAC,aAAa,CAAC;AAClE,YAAA,MAAM,CAAC,MAAM,GAAG,MAAK;AACnB,gBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;AAC9B,gBAAA,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAC1C,aAAC,CAAC;AACF,YAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;YAEzC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAmB,KAC1E,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,aAAa,CAAC,CAC7D,CAAC;AACH,SAAA;KACF;AAEM,IAAA,MAAM,CAAC,OAAwB,EAAA;QACpC,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC1B,YAAA,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;AACzC,SAAA;KACF;AAEM,IAAA,cAAc,CAAC,GAAW,EAAA;QAC/B,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC1B,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAC3B;AACE,gBAAA,IAAI,EAAE,6BAA6B;AACnC,gBAAA,WAAW,EAAE,GAAG;aACjB,EACD,GAAG,CACJ,CAAC;AACH,SAAA;KACF;AAEO,IAAA,eAAe,CAAC,iBAA6B,EAAA;AACnD,QAAA,QACE,iBAAiB;AACjB,YAAA,iBAAiB,CAAC,aAAa;YAC/B,iBAAiB,CAAC,aAAa,YAAY,iBAAiB;AAC5D,YAAA,iBAAiB,CAAC,aAAa,CAAC,aAAa,EAC7C;KACH;AAEO,IAAA,yBAAyB,CAAC,OAAwB,EAAA;AACxD,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAC3B;AACE,YAAA,IAAI,EAAE,mBAAmB;AACzB,YAAA,GAAG,OAAO;SACX,EACD,GAAG,CACJ,CAAC;KACH;AAEO,IAAA,kBAAkB,CACxB,KAAmB,EACnB,aAAsE,EACtE,aAAsC,EAAA;AAEtC,QAAA,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;AAC/B,YAAA,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI;AACrB,gBAAA,KAAK,0BAA0B;AAC7B,oBAAA,IAAI,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,EAAE;AAC3C,wBAAA,aAAa,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7D,qBAAA;oBACD,MAAM;AACR,gBAAA,KAAK,0BAA0B;AAC7B,oBAAA,IAAI,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,EAAE;AAC5C,wBAAA,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,qBAAA;oBACD,MAAM;AACT,aAAA;AACF,SAAA;KACF;AAEO,IAAA,eAAe,CAAC,KAAmB,EAAA;AACzC,QAAA,QACE,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,MAAM;YAClC,KAAK,CAAC,IAAI,KAAK,SAAS;AACxB,YAAA,KAAK,CAAC,IAAI;AACV,YAAA,KAAK,CAAC,IAAI,CAAC,IAAI,EACf;KACH;AAEO,IAAA,2BAA2B,CAAC,KAAmB,EAAA;AACrD,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,0BAA0B,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;KACzE;AAEO,IAAA,4BAA4B,CAAC,KAAmB,EAAA;AACtD,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,0BAA0B,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC;KAC/F;;8HAnGU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kIAAd,cAAc,EAAA,CAAA,CAAA;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;;;ACqDX,IAAK,QASJ,CAAA;AATD,CAAA,UAAK,QAAQ,EAAA;AACX,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,QAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,QAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,QAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,QAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC/B,CAAC,EATI,QAAQ,KAAR,QAAQ,GASZ,EAAA,CAAA,CAAA,CAAA;MAUY,iBAAiB,CAAA;IA6I5B,WAAoB,CAAA,cAA8B,EAAqB,MAAc,EAAA;QAAjE,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AA3IxC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAQ,CAAC;AACtC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAQ,CAAC;AACtC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAU,CAAC;AACxC,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,YAAY,EAAQ,CAAC;AAChD,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAQ,CAAC;QAC7C,IAAQ,CAAA,QAAA,GAAoB,OAAO,CAAC;QACpC,IAAe,CAAA,eAAA,GAAG,KAAK,CAAC;QACxB,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;QACzB,IAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;QAC3B,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;QAQ1B,IAAa,CAAA,aAAA,GAA8B,EAAE,CAAC;AACvD;;;AAGE;QACO,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QAkBpB,IAAc,CAAA,cAAA,GAAW,EAAE,CAAC;QAC5B,IAAa,CAAA,aAAA,GAAW,EAAE,CAAC;QAM3B,IAAe,CAAA,eAAA,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QA6F3C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;KACtE;IAnID,IAAa,OAAO,CAAC,OAAkC,EAAA;QACrD,OAAO,CAAC,IAAI,CACV,CAAA;AACkF,uFAAA,CAAA,CACnF,CAAC;KACH;AAiCD,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;IAED,IAAa,YAAY,CAAC,eAAqB,EAAA;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE;AAClD,YAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACjC,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC5B,SAAA;KACF;AAED,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;IAED,IAAa,aAAa,CAAC,KAAa,EAAA;QACtC,IAAI,CAAC,cAAc,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;KAC7E;AAED,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;IAED,IAAa,YAAY,CAAC,KAAa,EAAA;QACrC,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;KAC5E;AAED,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;IAED,IAAa,SAAS,CAAC,KAAW,EAAA;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC7C;AAED,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IAED,IAAa,OAAO,CAAC,KAAW,EAAA;AAC9B,QAAA,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE;AAClE,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC5B,SAAA;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC3C;AAED,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IAED,IAAa,OAAO,CAAC,KAAW,EAAA;AAC9B,QAAA,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE;AACjE,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC5B,SAAA;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC3C;AAED,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,OAAO,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;KAC/E;AAED,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;KACxD;AAED;;AAEG;AACH,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,MAAM,wBAAwB,GAC5B,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAEhF,QAAA,MAAM,uBAAuB,GAC3B,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAE9E,OAAO,IAAI,CAAC,oBAAoB,CAAC,wBAAwB,EAAE,uBAAuB,CAAC,CAAC;KACrF;AAED,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACrD;AAED,IAAA,IACI,iBAAiB,GAAA;AACnB,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;KACpC;IAOO,gBAAgB,CAAC,IAAU,EAAE,YAAoB,EAAA;AACvD,QAAA,OAAO,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE;YAChC,MAAM,EAAE,IAAI,CAAC,MAAM;AACpB,SAAA,CAAC,CAAC;KACJ;AAEO,IAAA,SAAS,CAAC,MAAc,EAAA;QAC9B,IAAI,MAAM,KAAK,IAAI,EAAE;AACnB,YAAA,MAAM,GAAG,MAAM,CAAC;AACjB,SAAA;QACD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACjC,QAAA,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;AAC7F,QAAA,OAAO,gBAAgB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;KAC9D;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AACpC,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACxC;IAED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,gBAAgB,EAAE,EACvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9B,CAAC;KACH;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,IACE,OAAO,CAAC,eAAe;AACvB,YAAA,OAAO,CAAC,gBAAgB;AACxB,YAAA,OAAO,CAAC,kBAAkB;AAC1B,YAAA,OAAO,CAAC,aAAa;AACrB,YAAA,OAAO,CAAC,YAAY;AACpB,YAAA,OAAO,CAAC,OAAO;AACf,YAAA,OAAO,CAAC,OAAO;AACf,YAAA,OAAO,CAAC,SAAS;YACjB,OAAO,CAAC,QAAQ,EAChB;YACA,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACrD,SAAA;KACF;AAEO,IAAA,cAAc,CAAC,IAAA,GAAa,IAAI,IAAI,EAAE,EAAA;AAC5C,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE;AAC7D,YAAA,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACrD,SAAA;KACF;;;;;;AAOO,IAAA,aAAa,CAAC,cAAoB,EAAA;AACxC,QAAA,IAAI,CAAC,cAAc;YAAE,OAAO;AAE5B,QAAA,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,KAAK,cAAc,CAAC,OAAO,EAAE,EAAE;;AAErE,YAAA,OAAO,cAAc,CAAC;AACvB,SAAA;AACD,QAAA,IACE,UAAU,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE;YACvE,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,EAC3D;;YAEA,MAAM,iBAAiB,GAAG,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AAC5E,YAAA,OAAO,iBAAiB,CAAC;AAC1B,SAAA;;AAED,QAAA,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC;KACnC;IAEO,WAAW,GAAA;AACjB,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,iBAAiB,CAAC;AAC7B,YAAA,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AAChD,YAAA,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AAC7C,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,CAAC,CAAC;KAC1E;AAEO,IAAA,kCAAkC,CAAC,IAAU,EAAA;QACnD,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAC7C;IAEO,cAAc,CAAC,OAAa,EAAE,YAAkB,EAAA;AACtD,QAAA,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,EAAE;AAC7B,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AACD,QAAA,IAAI,OAAO,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE;AAC5C,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACD,QAAA,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;KAC1C;AAEO,IAAA,cAAc,CAAC,IAAU,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;KACjF;AAEO,IAAA,aAAa,CAAC,IAAU,EAAA;AAC9B,QAAA,QACE,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;AAC/B,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,EACrE;KACH;IAED,kBAAkB,GAAA;QAChB,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAE9B,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC9C,QAAA,MAAM,gBAAgB,GAAG,WAAW,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC1E,QAAA,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,gBAAgB,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AAEnF,QAAA,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAE1D,MAAM,IAAI,GAAmB,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,KAAI;AACpD,YAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC;AACpE,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YAE7D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AAC1D,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE;gBACxB,cAAc,EAAE,GAAG,CAAC,cAAc;gBAClC,YAAY;gBACZ,UAAU;gBACV,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,CAAC;aAC9D,CAAC;AACF,YAAA,IAAI,UAAU,EAAE;AACd,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACzB,aAAA;AACD,YAAA,OAAO,IAAI,CAAC;AACd,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;KACnC;AAEO,IAAA,cAAc,CAAC,IAAU,EAAE,KAAW,EAAE,UAAgB,EAAA;QAC9D,OAAO;AACL,YAAA,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;AAC/B,YAAA,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;AAC7B,YAAA,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;AAC9B,YAAA,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC;AAC1B,YAAA,cAAc,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC;AAC7C,YAAA,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;SACnE,CAAC;KACH;IAEO,YAAY,CAAC,GAAgB,EAAE,IAAU,EAAA;QAC/C,QACE,CAAC,IAAI,CAAC,iBAAiB,IAAI,GAAG,CAAC,OAAO;aACrC,CAAC,GAAG,CAAC,UAAU;AACd,gBAAA,GAAG,CAAC,cAAc;gBAClB,EAAE,IAAI,CAAC,eAAe,IAAI,GAAG,CAAC,SAAS,CAAC;gBACxC,EAAE,IAAI,CAAC,gBAAgB,IAAI,GAAG,CAAC,MAAM,CAAC;gBACtC,EAAE,IAAI,CAAC,kBAAkB,IAAI,GAAG,CAAC,QAAQ,CAAC;AAC1C,gBAAA,EAAE,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/C,gBAAA,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EACjD;KACH;AAEO,IAAA,aAAa,CAAC,GAAgB,EAAE,YAAqB,EAAE,UAAmB,EAAA;AAChF,QAAA,MAAM,UAAU,GAAG;YACjB,eAAe,EAAE,GAAG,CAAC,cAAc;YACnC,OAAO,EAAE,GAAG,CAAC,SAAS;YACtB,KAAK,EAAE,GAAG,CAAC,OAAO;AAClB,YAAA,UAAU,EAAE,YAAY;AACxB,YAAA,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,GAAG,CAAC,MAAM;YAChB,QAAQ,EAAE,GAAG,CAAC,UAAU;SACzB,CAAC;QACF,IAAI,cAAc,GAAG,KAAK,CAAC;AAC3B,QAAA,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;AAC5B,YAAA,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;AACnB,gBAAA,cAAc,IAAI,GAAG,GAAG,GAAG,CAAC;AAC7B,aAAA;AACF,SAAA;AACD,QAAA,OAAO,cAAc,CAAC;KACvB;IAEO,KAAK,CAAC,KAAY,EAAE,IAAY,EAAA;QACtC,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC,MAAM,EAAE;AACnB,YAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AACrC,SAAA;AACD,QAAA,OAAO,OAAO,CAAC;KAChB;AAEO,IAAA,oBAAoB,CAAC,OAAa,EAAA;QACxC,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,KAAK,CAAC;AACrC,SAAA;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACrC,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;AACzB,YAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;AAC3B,SAAA;QACD,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;KACvD;AAED,IAAA,eAAe,CAAC,MAAoB,EAAA;AAClC,QAAA,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,EAAE;YACtC,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACzC,YAAA,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAE7B,YAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;AAC3B,gBAAA,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AACnF,aAAA;YAED,MAAM,UAAU,GAAG,OAAO,CAAC;YAE3B,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE;AACpD,gBAAA,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AACnC,gBAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;AAC7B,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAClC,aAAA;AACD,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAClC,SAAA;KACF;AAEO,IAAA,aAAa,CAAC,SAAiB,EAAA;AACrC,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;KACrD;AAED,IAAA,YAAY,CAAC,KAAa,EAAA;QACxB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC9C,QAAA,KAAK,GAAG,CAAC;cACL,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;cAC5C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACtD;AAED,IAAA,WAAW,CAAC,IAAY,EAAA;AACtB,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/E,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACnC;IAEO,gBAAgB,CAAC,KAAa,EAAE,IAAc,EAAA;QACpD,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO;AACxB,QAAA,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;AAED,IAAA,IAAI,gBAAgB,GAAA;AAClB,QAAA,MAAM,qBAAqB,GACzB,IAAI,CAAC,gBAAgB,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AAEzE,QAAA,MAAM,wBAAwB,GAC5B,IAAI,CAAC,OAAO;aACX,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAE5F,QAAA,OAAO,CAAC,qBAAqB,IAAI,CAAC,wBAAwB,CAAC;KAC5D;AAED,IAAA,IAAI,mBAAmB,GAAA;AACrB,QAAA,MAAM,uBAAuB,GAC3B,IAAI,CAAC,kBAAkB,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AAE3E,QAAA,MAAM,wBAAwB,GAC5B,IAAI,CAAC,OAAO;aACX,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAE3F,QAAA,OAAO,CAAC,uBAAuB,IAAI,CAAC,wBAAwB,CAAC;KAC9D;AAEO,IAAA,OAAO,CAAC,IAAU,EAAA;QACxB,IAAI,QAAQ,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC9B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAI;AAC3B,oBAAA,OAAO,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;AAC3D,iBAAC,CAAC,CAAC;AACH,gBAAA,IAAI,QAAQ,EAAE;oBACZ,MAAM;AACP,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,QAAQ,CAAC;KACjB;IAEO,gBAAgB,GAAA;QACtB,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,kBAAkB,EAAE,IAAI,CAAC,mBAAmB;YAC5C,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,SAAS,EAAE,IAAI,CAAC,eAAe;YAC/B,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,KAAK,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC;KACH;AAEO,IAAA,sBAAsB,CAAC,IAAU,EAAA;QACvC,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAChE,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,kBAAkB,CAAC,CAAC;KACtD;AAEO,IAAA,wBAAwB,CAAC,aAA4B,EAAA;QAC3D,IAAI,aAAa,YAAY,IAAI;AAAE,YAAA,OAAO,aAAa,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC;AAC3C,QAAA,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KAC5D;IAEO,oBAAoB,CAAC,SAAe,EAAE,OAAa,EAAA;;QAEzD,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACrF,QAAA,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;AAC1C,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,aAAa,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;KACxF;;AAldU,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,6CA6IgC,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA7I1D,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAFjB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,cAAc,CAAC,EC3E7B,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,0rDA6DA,EDUY,MAAA,EAAA,CAAA,8wFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,eAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EAAE,QAAA,EAAA,2CAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,cAAA,EAAA,YAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,UAAU,6IAAE,YAAY,EAAA,EAAA,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;2FAMxD,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAR7B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,CAAC,EAC1D,QAAA,EAAA,gBAAgB,EAGf,SAAA,EAAA,CAAC,cAAc,CAAC,EAAA,QAAA,EAAA,0rDAAA,EAAA,MAAA,EAAA,CAAA,8wFAAA,CAAA,EAAA,CAAA;;0BA+I0B,MAAM;2BAAC,SAAS,CAAA;4CA5IlB,iBAAiB,EAAA,CAAA;sBAAnE,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBACvC,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACG,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACG,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACG,oBAAoB,EAAA,CAAA;sBAA7B,MAAM;gBACG,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;gBACE,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAEO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAMG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAKG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAQG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBAuBO,YAAY,EAAA,CAAA;sBAAxB,KAAK;gBAcO,aAAa,EAAA,CAAA;sBAAzB,KAAK;gBAQO,YAAY,EAAA,CAAA;sBAAxB,KAAK;gBAQO,SAAS,EAAA,CAAA;sBAArB,KAAK;gBAQO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAWO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAiCF,iBAAiB,EAAA,CAAA;sBADpB,WAAW;uBAAC,0BAA0B,CAAA;;;AErNzC;;AAEG;;;;"}
|
|
@@ -9,6 +9,9 @@ const KIRBY_TABLE_ROW_DEPRECATION_WARNING = 'Deprecation warning: The support fo
|
|
|
9
9
|
const KIRBY_TABLE_ROW_SELECTABLE_DEPRECATION_WARNING = 'Deprecation warning: The "kirby-tr" support for using the input property "selectable" will be removed in the next major release. We recommend to use the global CSS class "kirby-selectable-row".';
|
|
10
10
|
class TableRowComponent {
|
|
11
11
|
constructor() {
|
|
12
|
+
if (TableRowComponent.hasWarnedAboutTableRowDeprecation)
|
|
13
|
+
return;
|
|
14
|
+
TableRowComponent.hasWarnedAboutTableRowDeprecation = true;
|
|
12
15
|
console.warn(KIRBY_TABLE_ROW_DEPRECATION_WARNING);
|
|
13
16
|
}
|
|
14
17
|
get isSelectable() {
|
|
@@ -16,9 +19,14 @@ class TableRowComponent {
|
|
|
16
19
|
}
|
|
17
20
|
set selectable(selectable) {
|
|
18
21
|
this._selectable = selectable;
|
|
22
|
+
if (TableRowComponent.hasWarnedAboutSelectableDeprecation)
|
|
23
|
+
return;
|
|
24
|
+
TableRowComponent.hasWarnedAboutSelectableDeprecation = true;
|
|
19
25
|
console.warn(KIRBY_TABLE_ROW_SELECTABLE_DEPRECATION_WARNING);
|
|
20
26
|
}
|
|
21
27
|
}
|
|
28
|
+
TableRowComponent.hasWarnedAboutTableRowDeprecation = false;
|
|
29
|
+
TableRowComponent.hasWarnedAboutSelectableDeprecation = false;
|
|
22
30
|
/** @nocollapse */ TableRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TableRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
23
31
|
/** @nocollapse */ TableRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TableRowComponent, selector: "tr[kirby-tr]", inputs: { selectable: "selectable" }, host: { properties: { "class.kirby-selectable-row": "this.isSelectable" } }, ngImport: i0, template: `
|
|
24
32
|
<ng-content></ng-content>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kirbydesign-designsystem-data-table.mjs","sources":["../../../../libs/designsystem/data-table/src/table-row/table-row.component.ts","../../../../libs/designsystem/data-table/src/table/table.component.ts","../../../../libs/designsystem/data-table/src/sortable/sortable.component.ts","../../../../libs/designsystem/data-table/src/sortable/sortable.component.html","../../../../libs/designsystem/data-table/src/data-table.module.ts","../../../../libs/designsystem/data-table/src/kirbydesign-designsystem-data-table.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\n\nconst KIRBY_TABLE_ROW_DEPRECATION_WARNING =\n 'Deprecation warning: The support for \"kirby-tr\" as a directive will be removed in the next major version. We recommend to use the global CSS class \"kirby-table\" on your HTML table tag, which will automatically style table rows.';\n\nconst KIRBY_TABLE_ROW_SELECTABLE_DEPRECATION_WARNING =\n 'Deprecation warning: The \"kirby-tr\" support for using the input property \"selectable\" will be removed in the next major release. We recommend to use the global CSS class \"kirby-selectable-row\".';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'tr[kirby-tr]',\n template: `\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TableRowComponent {\n constructor() {\n console.warn(KIRBY_TABLE_ROW_DEPRECATION_WARNING);\n }\n\n private _selectable?: boolean;\n\n @HostBinding('class.kirby-selectable-row')\n get isSelectable(): boolean {\n return this._selectable;\n }\n\n @Input() set selectable(selectable: boolean) {\n this._selectable = selectable;\n console.warn(KIRBY_TABLE_ROW_SELECTABLE_DEPRECATION_WARNING);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\n\nconst KIRBY_TABLE_DEPRECATION_WARNING =\n 'Deprecation warning: The support for \"kirby-table\" as a directive will be removed in the next major version. We recommend to use the global CSS class \"kirby-table\".';\n\nconst KIRBY_TABLE_LAYOUT_FIXED_DEPRECATION_WARNING =\n 'Deprecation warning: The \"kirby-table\" support for using the input property \"fixedLayout\" will be removed in the next major version. We recommend to use the global CSS class \"layout-fixed\" in combination with the \"kirby-table\" class';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'table[kirby-table]',\n template: `\n <ng-content></ng-content>\n `,\n styleUrls: ['./table.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TableComponent {\n constructor() {\n console.warn(KIRBY_TABLE_DEPRECATION_WARNING);\n }\n\n private _fixedLayout?: boolean;\n\n @HostBinding('class.kirby-table-layout-fixed')\n get hasFixedLayout(): boolean {\n return this._fixedLayout;\n }\n\n @Input() set fixedLayout(fixed: boolean) {\n this._fixedLayout = fixed;\n console.warn(KIRBY_TABLE_LAYOUT_FIXED_DEPRECATION_WARNING);\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n Renderer2,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'th[sortable]',\n templateUrl: './sortable.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TableSortableComponent implements AfterViewInit {\n constructor(private renderer: Renderer2) {}\n\n @HostBinding('class.sortable')\n @Input()\n sortable = false;\n\n @Input() active = false;\n\n @Input() sortDirection: 'asc' | 'desc' = 'asc';\n @Input() iconAlignment: 'start' | 'end' = 'end';\n @Input() alignment: 'start' | 'center' | 'end' = 'start';\n\n @HostBinding('class.active')\n get isActive() {\n return this.sortable && this.active;\n }\n\n _getAlignmentClasses() {\n const alignmentClasses: string[] = [];\n\n if (this.iconAlignment === 'start') {\n alignmentClasses.push('row-reverse');\n }\n\n alignmentClasses.push(`align-${this.alignment}`);\n\n return alignmentClasses;\n }\n\n @ViewChild('span') spanElement: ElementRef;\n\n ngAfterViewInit(): void {\n if (this.spanElement) {\n this.renderer.setAttribute(\n this.spanElement.nativeElement,\n 'data-text',\n this.spanElement.nativeElement.textContent\n );\n }\n }\n}\n","<ng-container *ngIf=\"!sortable; else sortableTemplate\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #sortableTemplate>\n <button [ngClass]=\"_getAlignmentClasses()\">\n <span #span><ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container></span>\n <kirby-icon [name]=\"sortDirection === 'asc' ? 'arrow-up-fill' : 'arrow-down-fill'\"></kirby-icon>\n </button>\n</ng-template>\n\n<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '@kirbydesign/designsystem/icon';\nimport { TableRowComponent } from './table-row/table-row.component';\nimport { TableComponent } from './table/table.component';\nimport { TableSortableComponent } from './sortable/sortable.component';\n\n@NgModule({\n declarations: [TableComponent, TableRowComponent, TableSortableComponent],\n imports: [CommonModule, IconModule],\n exports: [TableComponent, TableRowComponent, TableSortableComponent],\n})\nexport class DataTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kirbydesign-designsystem-data-table.mjs","sources":["../../../../libs/designsystem/data-table/src/table-row/table-row.component.ts","../../../../libs/designsystem/data-table/src/table/table.component.ts","../../../../libs/designsystem/data-table/src/sortable/sortable.component.ts","../../../../libs/designsystem/data-table/src/sortable/sortable.component.html","../../../../libs/designsystem/data-table/src/data-table.module.ts","../../../../libs/designsystem/data-table/src/kirbydesign-designsystem-data-table.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\n\nconst KIRBY_TABLE_ROW_DEPRECATION_WARNING =\n 'Deprecation warning: The support for \"kirby-tr\" as a directive will be removed in the next major version. We recommend to use the global CSS class \"kirby-table\" on your HTML table tag, which will automatically style table rows.';\n\nconst KIRBY_TABLE_ROW_SELECTABLE_DEPRECATION_WARNING =\n 'Deprecation warning: The \"kirby-tr\" support for using the input property \"selectable\" will be removed in the next major release. We recommend to use the global CSS class \"kirby-selectable-row\".';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'tr[kirby-tr]',\n template: `\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TableRowComponent {\n static hasWarnedAboutTableRowDeprecation: boolean = false;\n static hasWarnedAboutSelectableDeprecation: boolean = false;\n\n constructor() {\n if (TableRowComponent.hasWarnedAboutTableRowDeprecation) return;\n TableRowComponent.hasWarnedAboutTableRowDeprecation = true;\n console.warn(KIRBY_TABLE_ROW_DEPRECATION_WARNING);\n }\n\n private _selectable?: boolean;\n\n @HostBinding('class.kirby-selectable-row')\n get isSelectable(): boolean {\n return this._selectable;\n }\n\n @Input() set selectable(selectable: boolean) {\n this._selectable = selectable;\n\n if (TableRowComponent.hasWarnedAboutSelectableDeprecation) return;\n TableRowComponent.hasWarnedAboutSelectableDeprecation = true;\n console.warn(KIRBY_TABLE_ROW_SELECTABLE_DEPRECATION_WARNING);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\n\nconst KIRBY_TABLE_DEPRECATION_WARNING =\n 'Deprecation warning: The support for \"kirby-table\" as a directive will be removed in the next major version. We recommend to use the global CSS class \"kirby-table\".';\n\nconst KIRBY_TABLE_LAYOUT_FIXED_DEPRECATION_WARNING =\n 'Deprecation warning: The \"kirby-table\" support for using the input property \"fixedLayout\" will be removed in the next major version. We recommend to use the global CSS class \"layout-fixed\" in combination with the \"kirby-table\" class';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'table[kirby-table]',\n template: `\n <ng-content></ng-content>\n `,\n styleUrls: ['./table.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TableComponent {\n constructor() {\n console.warn(KIRBY_TABLE_DEPRECATION_WARNING);\n }\n\n private _fixedLayout?: boolean;\n\n @HostBinding('class.kirby-table-layout-fixed')\n get hasFixedLayout(): boolean {\n return this._fixedLayout;\n }\n\n @Input() set fixedLayout(fixed: boolean) {\n this._fixedLayout = fixed;\n console.warn(KIRBY_TABLE_LAYOUT_FIXED_DEPRECATION_WARNING);\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n Renderer2,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'th[sortable]',\n templateUrl: './sortable.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TableSortableComponent implements AfterViewInit {\n constructor(private renderer: Renderer2) {}\n\n @HostBinding('class.sortable')\n @Input()\n sortable = false;\n\n @Input() active = false;\n\n @Input() sortDirection: 'asc' | 'desc' = 'asc';\n @Input() iconAlignment: 'start' | 'end' = 'end';\n @Input() alignment: 'start' | 'center' | 'end' = 'start';\n\n @HostBinding('class.active')\n get isActive() {\n return this.sortable && this.active;\n }\n\n _getAlignmentClasses() {\n const alignmentClasses: string[] = [];\n\n if (this.iconAlignment === 'start') {\n alignmentClasses.push('row-reverse');\n }\n\n alignmentClasses.push(`align-${this.alignment}`);\n\n return alignmentClasses;\n }\n\n @ViewChild('span') spanElement: ElementRef;\n\n ngAfterViewInit(): void {\n if (this.spanElement) {\n this.renderer.setAttribute(\n this.spanElement.nativeElement,\n 'data-text',\n this.spanElement.nativeElement.textContent\n );\n }\n }\n}\n","<ng-container *ngIf=\"!sortable; else sortableTemplate\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #sortableTemplate>\n <button [ngClass]=\"_getAlignmentClasses()\">\n <span #span><ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container></span>\n <kirby-icon [name]=\"sortDirection === 'asc' ? 'arrow-up-fill' : 'arrow-down-fill'\"></kirby-icon>\n </button>\n</ng-template>\n\n<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '@kirbydesign/designsystem/icon';\nimport { TableRowComponent } from './table-row/table-row.component';\nimport { TableComponent } from './table/table.component';\nimport { TableSortableComponent } from './sortable/sortable.component';\n\n@NgModule({\n declarations: [TableComponent, TableRowComponent, TableSortableComponent],\n imports: [CommonModule, IconModule],\n exports: [TableComponent, TableRowComponent, TableSortableComponent],\n})\nexport class DataTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -98,12 +98,6 @@ class DropdownComponent {
|
|
|
98
98
|
this.size = 'md';
|
|
99
99
|
this.tabindex = 0;
|
|
100
100
|
this.usePopover = false;
|
|
101
|
-
/*
|
|
102
|
-
* TEMPORARY MORE-MENU
|
|
103
|
-
* This is an internal and temporary input that allows the dropdown to use the 'more menu'
|
|
104
|
-
* icon
|
|
105
|
-
*/
|
|
106
|
-
this._isMoreMenu = false;
|
|
107
101
|
/**
|
|
108
102
|
* Emitted when an item is selected (tap on mobile, click/keypress on web)
|
|
109
103
|
*/
|
|
@@ -517,13 +511,13 @@ class DropdownComponent {
|
|
|
517
511
|
}
|
|
518
512
|
DropdownComponent.OPEN_DELAY_IN_MS = 100;
|
|
519
513
|
/** @nocollapse */ DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: KeyboardHandlerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
520
|
-
/** @nocollapse */ DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DropdownComponent, selector: "kirby-dropdown", inputs: { items: "items", selectedIndex: "selectedIndex", focusedIndex: "focusedIndex", itemTextProperty: "itemTextProperty", placeholder: "placeholder", popout: "popout", attentionLevel: "attentionLevel", expand: "expand", disabled: "disabled", hasError: "hasError", size: "size", tabindex: "tabindex", usePopover: "usePopover"
|
|
514
|
+
/** @nocollapse */ DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DropdownComponent, selector: "kirby-dropdown", inputs: { items: "items", selectedIndex: "selectedIndex", focusedIndex: "focusedIndex", itemTextProperty: "itemTextProperty", placeholder: "placeholder", popout: "popout", attentionLevel: "attentionLevel", expand: "expand", disabled: "disabled", hasError: "hasError", size: "size", tabindex: "tabindex", usePopover: "usePopover" }, outputs: { change: "change" }, host: { listeners: { "keydown.tab": "_onTab($event)", "mousedown": "_onMouseDown($event)", "touchstart": "_onTouchStart($event)", "focus": "_onFocus()", "keydown.enter": "_onEnterOrSpace($event)", "keydown.escape": "_onEnterOrEscape()", "blur": "_onBlur($event)", "keydown.space": "_onEnterOrSpace($event)", "keydown.arrowup": "_onArrowKeys($event)", "keydown.arrowdown": "_onArrowKeys($event)", "keydown.arrowleft": "_onArrowKeys($event)", "keydown.arrowright": "_onArrowKeys($event)", "keydown.home": "_onHomeEndKeys($event)", "keydown.end": "_onHomeEndKeys($event)" }, properties: { "attr.disabled": "this._isDisabled", "class.error": "this.hasError", "class.with-popover": "this.usePopover", "attr.tabindex": "this._tabindex", "attr.no-blur": "this._noBlurOnScroll", "class.expand": "this._isBlockLevel", "attr.role": "this._role", "class.is-opening": "this._isOpening", "class.is-open": "this.isOpen", "class.popout-left": "this._popoutLeft", "class.popout-up": "this._popoutUp", "class.clicked": "this.clicked" } }, providers: [
|
|
521
515
|
{
|
|
522
516
|
provide: NG_VALUE_ACCESSOR,
|
|
523
517
|
useExisting: forwardRef((() => DropdownComponent)),
|
|
524
518
|
multi: true,
|
|
525
519
|
},
|
|
526
|
-
], queries: [{ propertyName: "itemTemplate", first: true, predicate: ListItemTemplateDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "slottedItems", predicate: ListItemTemplateDirective, read: ElementRef }, { propertyName: "kirbyItemsSlotted", predicate: ItemComponent, read: ElementRef }], viewQueries: [{ propertyName: "cardElement", first: true, predicate: CardComponent, descendants: true, read: ElementRef }, { propertyName: "popover", first: true, predicate: PopoverComponent, descendants: true }, { propertyName: "buttonElement", first: true, predicate: ButtonComponent, descendants: true, read: ElementRef, static: true }, { propertyName: "kirbyItemsDefault", predicate: ItemComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<button\n kirby-button\n [size]=\"size\"\n [attentionLevel]=\"attentionLevel\"\n tabindex=\"-1\"\n (click)=\"onToggle($event)\"\n (mousedown)=\"onButtonMouseEvent($event)\"\n [disabled]=\"disabled\"\n type=\"button\"\n>\n <
|
|
520
|
+
], queries: [{ propertyName: "itemTemplate", first: true, predicate: ListItemTemplateDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "slottedItems", predicate: ListItemTemplateDirective, read: ElementRef }, { propertyName: "kirbyItemsSlotted", predicate: ItemComponent, read: ElementRef }], viewQueries: [{ propertyName: "cardElement", first: true, predicate: CardComponent, descendants: true, read: ElementRef }, { propertyName: "popover", first: true, predicate: PopoverComponent, descendants: true }, { propertyName: "buttonElement", first: true, predicate: ButtonComponent, descendants: true, read: ElementRef, static: true }, { propertyName: "kirbyItemsDefault", predicate: ItemComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<button\n kirby-button\n [size]=\"size\"\n [attentionLevel]=\"attentionLevel\"\n tabindex=\"-1\"\n (click)=\"onToggle($event)\"\n (mousedown)=\"onButtonMouseEvent($event)\"\n [disabled]=\"disabled\"\n type=\"button\"\n>\n <span class=\"text\">{{ selectedText || placeholder }}</span>\n <kirby-icon [name]=\"isOpen ? 'arrow-up' : 'arrow-down'\"></kirby-icon>\n</button>\n\n<ng-container *ngTemplateOutlet=\"usePopover ? popoverTemplate : itemWrapperTemplate\"></ng-container>\n\n<ng-template #popoverTemplate>\n <kirby-popover\n [target]=\"buttonElement\"\n [popout]=\"popout\"\n (click)=\"_onPopoverClick($event)\"\n (willHide)=\"_onPopoverWillHide()\"\n >\n <ng-container *ngTemplateOutlet=\"itemWrapperTemplate\"></ng-container>\n </kirby-popover>\n</ng-template>\n\n<ng-template #itemWrapperTemplate>\n <kirby-card>\n <ng-container *ngFor=\"let item of items; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate || defaultItemTemplate;\n context: {\n $implicit: item,\n selected: i === selectedIndex,\n focused: i === focusedIndex,\n index: i\n }\n \"\n ></ng-container>\n </ng-container>\n </kirby-card>\n</ng-template>\n\n<ng-template\n #defaultItemTemplate\n let-item\n let-selected=\"selected\"\n let-index=\"index\"\n let-focused=\"focused\"\n>\n <kirby-item\n [selectable]=\"true\"\n [selected]=\"selected\"\n (click)=\"onItemSelect(index)\"\n [class.focused]=\"focused\"\n role=\"option\"\n >\n <!-- Tabindex fixes issue with popover dropdown not working in safari -->\n <h3 tabindex=\"0\">{{ getTextFromItem(item) }}</h3>\n <kirby-icon *ngIf=\"selected\" name=\"checkmark-selected\" slot=\"end\"></kirby-icon>\n </kirby-item>\n</ng-template>\n", styles: [":host{display:inline-block;position:relative;max-width:calc(100vw - 32px)}@media (hover: hover) and (pointer: fine){:host{outline:none;border-radius:999px}:host:focus{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host:focus:not(:focus-visible){box-shadow:0 0 0 0 transparent}:host:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host.clicked{box-shadow:none}:host.expand{display:block}:host.expand kirby-card{width:100%;min-width:initial;max-width:initial}:host.error>button,:host.ng-touched.ng-invalid>button{border-color:var(--kirby-danger)}:host>button{position:relative;margin:0;outline:none;width:100%;min-width:0}:host>button.attention-level2{border:1px solid transparent}:host>button .text{overflow:hidden;text-overflow:ellipsis}:host kirby-card{display:none;opacity:0;position:absolute;z-index:800}:host.is-opening kirby-card{display:block}:host.is-open kirby-card{display:block;opacity:1}:host.is-open>button{box-shadow:0 20px 30px -15px #1c1c1c4d,0 0 5px #1c1c1c14}:host.popout-left kirby-card{right:0}:host.popout-up kirby-card{top:0;margin-top:-4px;transform:translateY(-100%)}:host.popout-up.is-open>button{z-index:801}kirby-popover{--max-height: 352px}kirby-card{max-height:352px;margin-block:4px;overflow-y:auto;box-shadow:0 20px 30px -15px #1c1c1c4d,0 0 5px #1c1c1c14;min-width:288px;max-width:calc(100vw - 32px)}@media (min-width: 321px){kirby-card{min-width:343px}}:host-context(kirby-calendar)>button{border-color:transparent;font-weight:700;font-size:initial}@media (hover: hover){:host-context(kirby-calendar)>button:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(kirby-calendar)>button:active,:host-context(kirby-calendar)>button.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-calendar).is-open>button{box-shadow:none}\n"], dependencies: [{ kind: "component", type: i2.CardComponent, selector: "kirby-card", inputs: ["title", "subtitle", "backgroundImageUrl", "hasPadding", "sizes", "flat"] }, { kind: "component", type: i3.IconComponent, selector: "kirby-icon", inputs: ["size", "name", "customName"] }, { kind: "component", type: i4.ItemComponent, selector: "kirby-item", inputs: ["disabled", "selected", "disclosure", "selectable", "reorderable", "size"] }, { kind: "component", type: i5.PopoverComponent, selector: "kirby-popover", inputs: ["popout", "target"], outputs: ["willHide"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[kirby-button],Button[kirby-button]", inputs: ["attentionLevel", "noDecoration", "themeColor", "expand", "isFloating", "size", "showIconOnly"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
527
521
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
528
522
|
type: Component,
|
|
529
523
|
args: [{ selector: 'kirby-dropdown', providers: [
|
|
@@ -532,7 +526,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
532
526
|
useExisting: forwardRef((() => DropdownComponent)),
|
|
533
527
|
multi: true,
|
|
534
528
|
},
|
|
535
|
-
], template: "<button\n kirby-button\n [size]=\"size\"\n [attentionLevel]=\"attentionLevel\"\n tabindex=\"-1\"\n (click)=\"onToggle($event)\"\n (mousedown)=\"onButtonMouseEvent($event)\"\n [disabled]=\"disabled\"\n type=\"button\"\n>\n <
|
|
529
|
+
], template: "<button\n kirby-button\n [size]=\"size\"\n [attentionLevel]=\"attentionLevel\"\n tabindex=\"-1\"\n (click)=\"onToggle($event)\"\n (mousedown)=\"onButtonMouseEvent($event)\"\n [disabled]=\"disabled\"\n type=\"button\"\n>\n <span class=\"text\">{{ selectedText || placeholder }}</span>\n <kirby-icon [name]=\"isOpen ? 'arrow-up' : 'arrow-down'\"></kirby-icon>\n</button>\n\n<ng-container *ngTemplateOutlet=\"usePopover ? popoverTemplate : itemWrapperTemplate\"></ng-container>\n\n<ng-template #popoverTemplate>\n <kirby-popover\n [target]=\"buttonElement\"\n [popout]=\"popout\"\n (click)=\"_onPopoverClick($event)\"\n (willHide)=\"_onPopoverWillHide()\"\n >\n <ng-container *ngTemplateOutlet=\"itemWrapperTemplate\"></ng-container>\n </kirby-popover>\n</ng-template>\n\n<ng-template #itemWrapperTemplate>\n <kirby-card>\n <ng-container *ngFor=\"let item of items; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate || defaultItemTemplate;\n context: {\n $implicit: item,\n selected: i === selectedIndex,\n focused: i === focusedIndex,\n index: i\n }\n \"\n ></ng-container>\n </ng-container>\n </kirby-card>\n</ng-template>\n\n<ng-template\n #defaultItemTemplate\n let-item\n let-selected=\"selected\"\n let-index=\"index\"\n let-focused=\"focused\"\n>\n <kirby-item\n [selectable]=\"true\"\n [selected]=\"selected\"\n (click)=\"onItemSelect(index)\"\n [class.focused]=\"focused\"\n role=\"option\"\n >\n <!-- Tabindex fixes issue with popover dropdown not working in safari -->\n <h3 tabindex=\"0\">{{ getTextFromItem(item) }}</h3>\n <kirby-icon *ngIf=\"selected\" name=\"checkmark-selected\" slot=\"end\"></kirby-icon>\n </kirby-item>\n</ng-template>\n", styles: [":host{display:inline-block;position:relative;max-width:calc(100vw - 32px)}@media (hover: hover) and (pointer: fine){:host{outline:none;border-radius:999px}:host:focus{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host:focus:not(:focus-visible){box-shadow:0 0 0 0 transparent}:host:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host.clicked{box-shadow:none}:host.expand{display:block}:host.expand kirby-card{width:100%;min-width:initial;max-width:initial}:host.error>button,:host.ng-touched.ng-invalid>button{border-color:var(--kirby-danger)}:host>button{position:relative;margin:0;outline:none;width:100%;min-width:0}:host>button.attention-level2{border:1px solid transparent}:host>button .text{overflow:hidden;text-overflow:ellipsis}:host kirby-card{display:none;opacity:0;position:absolute;z-index:800}:host.is-opening kirby-card{display:block}:host.is-open kirby-card{display:block;opacity:1}:host.is-open>button{box-shadow:0 20px 30px -15px #1c1c1c4d,0 0 5px #1c1c1c14}:host.popout-left kirby-card{right:0}:host.popout-up kirby-card{top:0;margin-top:-4px;transform:translateY(-100%)}:host.popout-up.is-open>button{z-index:801}kirby-popover{--max-height: 352px}kirby-card{max-height:352px;margin-block:4px;overflow-y:auto;box-shadow:0 20px 30px -15px #1c1c1c4d,0 0 5px #1c1c1c14;min-width:288px;max-width:calc(100vw - 32px)}@media (min-width: 321px){kirby-card{min-width:343px}}:host-context(kirby-calendar)>button{border-color:transparent;font-weight:700;font-size:initial}@media (hover: hover){:host-context(kirby-calendar)>button:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(kirby-calendar)>button:active,:host-context(kirby-calendar)>button.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-calendar).is-open>button{box-shadow:none}\n"] }]
|
|
536
530
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: KeyboardHandlerService }]; }, propDecorators: { items: [{
|
|
537
531
|
type: Input
|
|
538
532
|
}], selectedIndex: [{
|
|
@@ -568,11 +562,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
568
562
|
args: ['class.with-popover']
|
|
569
563
|
}, {
|
|
570
564
|
type: Input
|
|
571
|
-
}], _isMoreMenu: [{
|
|
572
|
-
type: HostBinding,
|
|
573
|
-
args: ['class.more-menu']
|
|
574
|
-
}, {
|
|
575
|
-
type: Input
|
|
576
565
|
}], _tabindex: [{
|
|
577
566
|
type: HostBinding,
|
|
578
567
|
args: ['attr.tabindex']
|