@sme.up/ketchup 11.0.0-SNAPSHOT-20241023150629 → 11.0.0-SNAPSHOT-20241024071006

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.
@@ -37,6 +37,15 @@ export class KupCalendar {
37
37
  this.currentDate = null;
38
38
  this.customStyle = '';
39
39
  this.data = null;
40
+ this.calendarColumns = {
41
+ [KupCalendarOptions.DATE]: '',
42
+ [KupCalendarOptions.DESCR]: '',
43
+ [KupCalendarOptions.END]: '',
44
+ [KupCalendarOptions.ICON]: '',
45
+ [KupCalendarOptions.IMAGE]: '',
46
+ [KupCalendarOptions.START]: '',
47
+ [KupCalendarOptions.STYLE]: '',
48
+ };
40
49
  this.hideNavigation = false;
41
50
  this.editableEvents = true;
42
51
  this.viewType = KupCalendarViewTypes.MONTH;
@@ -45,37 +54,22 @@ export class KupCalendar {
45
54
  /* W a t c h e r s */
46
55
  /*-------------------------------------------------*/
47
56
  setCalendarData() {
57
+ var _a;
48
58
  if (!this.calendarContainer) {
49
59
  return;
50
60
  }
51
61
  if (this.calendar) {
52
62
  this.calendar.destroy();
53
63
  }
54
- for (let index = 0; this.data && this.data.columns && index < this.data.columns.length; index++) {
55
- const column = this.data.columns[index];
56
- switch (column.calendarOption) {
57
- case KupCalendarOptions.DATE:
58
- this.dateCol = column.name;
59
- break;
60
- case KupCalendarOptions.DESCR:
61
- this.descrCol = column.name;
62
- break;
63
- case KupCalendarOptions.END:
64
- this.endCol = column.name;
65
- break;
66
- case KupCalendarOptions.ICON:
67
- this.iconCol = column.name;
68
- break;
69
- case KupCalendarOptions.IMAGE:
70
- this.imageCol = column.name;
71
- break;
72
- case KupCalendarOptions.START:
73
- this.startCol = column.name;
74
- break;
75
- case KupCalendarOptions.STYLE:
76
- this.styleCol = column.name;
77
- break;
78
- }
64
+ if ((_a = this.data) === null || _a === void 0 ? void 0 : _a.columns) {
65
+ this.data.columns.forEach((column) => {
66
+ for (const key in this.calendarColumns) {
67
+ if (this.calendarColumns[key] === column.name) {
68
+ this[`${key}Col`] = column.name;
69
+ break;
70
+ }
71
+ }
72
+ });
79
73
  }
80
74
  this.calendar = new Calendar(this.calendarContainer, {
81
75
  dateClick: ({ date }) => {
@@ -358,11 +352,11 @@ export class KupCalendar {
358
352
  this.kupManager.debug.logRender(this, true);
359
353
  }
360
354
  render() {
361
- return (h(Host, { key: '77367712ac84cd2a6dd290c69322188ea6188412' }, h("style", { key: 'c8a84fc5a1a29f6c638bb1a7a666edbefa31673a' }, this.kupManager.theme.setKupStyle(this.rootElement)), h("div", { key: '839ce76af5bcea2a7f0ae175ca2ac5386fbc31af', id: componentWrapperId }, h("div", { key: '5a09915815d6a8cbc9bda12c70e2cb84cb6bec9f', class: "navigation" }, !this.hideNavigation ? (h("div", { class: "navigation__left" }, h(FButton, { icon: "chevron_left", onClick: () => this.onPrev(), title: this.kupManager.language.translate(KupLanguageGeneric.PREVIOUS), wrapperClass: "navigation__prev" }), h(FButton, { icon: "calendar", onClick: () => this.onToday(), title: this.kupManager.language.translate(KupLanguageGeneric.TODAY), wrapperClass: "navigation__today" }), h(FButton, { icon: "chevron_right", onClick: () => this.onNext(), title: this.kupManager.language.translate(KupLanguageGeneric.NEXT), wrapperClass: "navigation__next" }))) : null, h("div", { key: '628a9c11e8de9fc2c0974699ddd0d57fcdaf0d69', class: `navigation__title ${this.hideNavigation
355
+ return (h(Host, { key: 'bdd424eed81973543ce0456b76729821e630de31' }, h("style", { key: '390d5a2a2d06f5119d1e03c7fd00271983ebcce4' }, this.kupManager.theme.setKupStyle(this.rootElement)), h("div", { key: '7b24bb47c6b934f5fe47289790ee717ce261d9b9', id: componentWrapperId }, h("div", { key: '2f72c647d22945a38bce0073729ffbd3f28dec9e', class: "navigation" }, !this.hideNavigation ? (h("div", { class: "navigation__left" }, h(FButton, { icon: "chevron_left", onClick: () => this.onPrev(), title: this.kupManager.language.translate(KupLanguageGeneric.PREVIOUS), wrapperClass: "navigation__prev" }), h(FButton, { icon: "calendar", onClick: () => this.onToday(), title: this.kupManager.language.translate(KupLanguageGeneric.TODAY), wrapperClass: "navigation__today" }), h(FButton, { icon: "chevron_right", onClick: () => this.onNext(), title: this.kupManager.language.translate(KupLanguageGeneric.NEXT), wrapperClass: "navigation__next" }))) : null, h("div", { key: '35a9b8aa076db1e723de96fcd9a5eb8b6b7dcf40', class: `navigation__title ${this.hideNavigation
362
356
  ? 'navigation__title--centered'
363
357
  : ''}`, ref: (el) => {
364
358
  this.navTitle = el;
365
- } }), !this.hideNavigation ? (h("div", { class: "navigation__right" }, h(FChip, Object.assign({}, this.setChipProps())))) : null), h("div", { key: 'b38321df314189e557ab27056c4f2959265bd1b8', class: "calendar", ref: (el) => (this.calendarContainer = el) }))));
359
+ } }), !this.hideNavigation ? (h("div", { class: "navigation__right" }, h(FChip, Object.assign({}, this.setChipProps())))) : null), h("div", { key: '4ade88713da0e92a1c21b62922db53c23f0e6e0a', class: "calendar", ref: (el) => (this.calendarContainer = el) }))));
366
360
  }
367
361
  disconnectedCallback() {
368
362
  if (this.calendar) {
@@ -457,6 +451,31 @@ export class KupCalendar {
457
451
  },
458
452
  "defaultValue": "null"
459
453
  },
454
+ "calendarColumns": {
455
+ "type": "unknown",
456
+ "mutable": false,
457
+ "complexType": {
458
+ "original": "KupCalendarColumnsProp",
459
+ "resolved": "{ date: string; descr: string; end: string; icon: string; image: string; start: string; style: string; }",
460
+ "references": {
461
+ "KupCalendarColumnsProp": {
462
+ "location": "import",
463
+ "path": "./kup-calendar-declarations",
464
+ "id": "src/components/kup-calendar/kup-calendar-declarations.ts::KupCalendarColumnsProp"
465
+ }
466
+ }
467
+ },
468
+ "required": false,
469
+ "optional": false,
470
+ "docs": {
471
+ "tags": [{
472
+ "name": "default",
473
+ "text": "{KupCalendarOptions: \"\"}"
474
+ }],
475
+ "text": "Sets which columns of the data property will be used to render each\ncharacteristic of an event in the calendar."
476
+ },
477
+ "defaultValue": "{\n [KupCalendarOptions.DATE]: '',\n [KupCalendarOptions.DESCR]: '',\n [KupCalendarOptions.END]: '',\n [KupCalendarOptions.ICON]: '',\n [KupCalendarOptions.IMAGE]: '',\n [KupCalendarOptions.START]: '',\n [KupCalendarOptions.STYLE]: '',\n }"
478
+ },
460
479
  "hideNavigation": {
461
480
  "type": "boolean",
462
481
  "mutable": false,
@@ -1 +1 @@
1
- {"version":3,"file":"kup-calendar.js","sourceRoot":"","sources":["../../../src/components/kup-calendar/kup-calendar.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n forceUpdate,\n getAssetPath,\n h,\n Host,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport {\n Calendar,\n EventInput,\n EventSourceInput,\n LocaleInput,\n} from '@fullcalendar/core';\nimport dayGridPlugin from '@fullcalendar/daygrid';\nimport interactionPlugin from '@fullcalendar/interaction';\nimport listPlugin from '@fullcalendar/list';\nimport timeGridPlugin from '@fullcalendar/timegrid';\nimport enLocale from '@fullcalendar/core/locales/en-gb';\nimport esLocale from '@fullcalendar/core/locales/es';\nimport frLocale from '@fullcalendar/core/locales/fr';\nimport itLocale from '@fullcalendar/core/locales/it';\nimport plLocale from '@fullcalendar/core/locales/pl';\nimport ruLocale from '@fullcalendar/core/locales/ru';\nimport zhLocale from '@fullcalendar/core/locales/zh-cn';\nimport {\n KupManager,\n kupManagerInstance,\n} from '../../managers/kup-manager/kup-manager';\nimport { getColumnByName } from '../../utils/cell-utils';\nimport { componentWrapperId } from '../../variables/GenericVariables';\nimport { FButton } from '../../f-components/f-button/f-button';\nimport { getProps, setProps } from '../../utils/utils';\nimport { GenericObject, KupComponent } from '../../types/GenericTypes';\nimport {\n KupCalendarData,\n KupCalendarDateClickEventPayload,\n KupCalendarEventClickEventPayload,\n KupCalendarEventDropEventPayload,\n KupCalendarOptions,\n KupCalendarProps,\n KupCalendarViewChangeEventPayload,\n KupCalendarViewTypes,\n} from './kup-calendar-declarations';\nimport { FChip } from '../../f-components/f-chip/f-chip';\nimport {\n FChipsProps,\n FChipType,\n} from '../../f-components/f-chip/f-chip-declarations';\nimport { KupLanguageGeneric } from '../../managers/kup-language/kup-language-declarations';\nimport {\n KupDatesFormats,\n KupDatesLocales,\n} from '../../managers/kup-dates/kup-dates-declarations';\nimport {\n KupDataColumn,\n KupDataRow,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { KupChipNode } from '../kup-chip/kup-chip-declarations';\n\n@Component({\n tag: 'kup-calendar',\n styleUrl: 'kup-calendar.scss',\n shadow: true,\n})\nexport class KupCalendar {\n /**\n * References the root HTML element of the component (<kup-calendar>).\n */\n @Element() rootElement: HTMLElement;\n\n /*-------------------------------------------------*/\n /* P r o p s */\n /*-------------------------------------------------*/\n\n /**\n * Sets the initial date of the calendar. Must be in ISO format (YYYY-MM-DD).\n * @default null\n */\n @Prop() currentDate: string = null;\n /**\n * Custom style of the component.\n * @default \"\"\n * @see https://smeup.github.io/ketchup/#/customization\n */\n @Prop() customStyle: string = '';\n /**\n * Actual data of the calendar.\n * @default null\n */\n @Prop() data: KupCalendarData = null;\n /**\n * When disabled, the navigation toolbar won't be displayed.\n * @default false\n */\n @Prop() hideNavigation = false;\n /**\n * When true, events are editable.\n * @default true\n */\n @Prop() editableEvents: boolean = true;\n /**\n * Type of the view.\n * @default KupCalendarViewTypes.MONTH\n */\n @Prop({ mutable: true }) viewType: KupCalendarViewTypes =\n KupCalendarViewTypes.MONTH;\n\n /*-------------------------------------------------*/\n /* I n t e r n a l V a r i a b l e s */\n /*-------------------------------------------------*/\n\n private calendar: Calendar;\n private calendarContainer: HTMLDivElement = null;\n private kupManager: KupManager = kupManagerInstance();\n private navTitle: HTMLDivElement = null;\n private resizeTimeout: number = null;\n private dateCol: string = null;\n private descrCol: string = null;\n private endCol: string = null;\n private iconCol: string = null;\n private imageCol: string = null;\n private startCol: string = null;\n private styleCol: string = null;\n\n /*-------------------------------------------------*/\n /* E v e n t s */\n /*-------------------------------------------------*/\n\n /**\n * When an event is clicked.\n */\n @Event({\n eventName: 'kup-calendar-eventclick',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupCalendarEventClick: EventEmitter<KupCalendarEventClickEventPayload>;\n /**\n * When a date is clicked.\n */\n @Event({\n eventName: 'kup-calendar-dateclick',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupCalendarDateClick: EventEmitter<KupCalendarDateClickEventPayload>;\n /**\n * When a date is dropped.\n */\n @Event({\n eventName: 'kup-calendar-eventdrop',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupCalendarEventDrop: EventEmitter<KupCalendarEventDropEventPayload>;\n /**\n * When the navigation change\n */\n @Event({\n eventName: 'kup-calendar-viewchange',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupCalendarViewChange: EventEmitter<KupCalendarViewChangeEventPayload>;\n\n /*-------------------------------------------------*/\n /* W a t c h e r s */\n /*-------------------------------------------------*/\n\n @Watch('data')\n @Watch('currentDate')\n setCalendarData() {\n if (!this.calendarContainer) {\n return;\n }\n if (this.calendar) {\n this.calendar.destroy();\n }\n for (\n let index = 0;\n this.data && this.data.columns && index < this.data.columns.length;\n index++\n ) {\n const column = this.data.columns[index];\n switch (column.calendarOption) {\n case KupCalendarOptions.DATE:\n this.dateCol = column.name;\n break;\n case KupCalendarOptions.DESCR:\n this.descrCol = column.name;\n break;\n case KupCalendarOptions.END:\n this.endCol = column.name;\n break;\n case KupCalendarOptions.ICON:\n this.iconCol = column.name;\n break;\n case KupCalendarOptions.IMAGE:\n this.imageCol = column.name;\n break;\n case KupCalendarOptions.START:\n this.startCol = column.name;\n break;\n case KupCalendarOptions.STYLE:\n this.styleCol = column.name;\n break;\n }\n }\n this.calendar = new Calendar(this.calendarContainer, {\n dateClick: ({ date }) => {\n this.kupCalendarDateClick.emit({\n comp: this,\n id: this.rootElement.id,\n date: date,\n });\n },\n editable: true,\n eventClick: ({ event }) => {\n this.kupCalendarEventClick.emit({\n comp: this,\n id: this.rootElement.id,\n row: event.extendedProps.row,\n });\n },\n eventDidMount: (info) => {\n if (this.iconCol) {\n const row: KupDataRow = info.event.extendedProps.row;\n const cell = row.cells[this.iconCol];\n if (cell && cell.value) {\n const wrapper = document.createElement('div');\n wrapper.classList.add('icon-wrapper');\n\n cell.value.split(';').forEach((icon) => {\n const span = document.createElement('span');\n span.className = 'custom-icon';\n const path: string = getAssetPath(\n `./assets/svg/${icon}.svg`\n );\n span.style.mask = `url('${path}') no-repeat center`;\n span.style.webkitMask = `url('${path}') no-repeat center`;\n wrapper.appendChild(span);\n });\n\n info.el.appendChild(wrapper);\n }\n }\n\n if (this.imageCol) {\n const row: KupDataRow = info.event.extendedProps.row;\n const cell = row.cells[this.imageCol];\n if (cell && cell.value) {\n const wrapper = document.createElement('div');\n wrapper.classList.add('image-wrapper');\n\n cell.value.split(';').forEach((icon) => {\n const img = document.createElement('img');\n img.src = icon;\n wrapper.appendChild(img);\n });\n\n info.el.appendChild(wrapper);\n }\n }\n\n if (this.styleCol) {\n const row: KupDataRow = info.event.extendedProps.row;\n const cell = row.cells[this.styleCol];\n const eventCell = info.el.children[0] as HTMLElement;\n const parent = eventCell.parentElement;\n if (cell && cell.style) {\n Object.keys(cell.style).forEach((k) => {\n parent.style[k] = cell.style[k];\n });\n }\n }\n },\n eventDrop: ({ event, oldEvent }) => {\n this.kupCalendarEventDrop.emit({\n comp: this,\n id: this.rootElement.id,\n fromDate: {\n start: oldEvent.start,\n end: oldEvent.end,\n },\n toDate: {\n start: event.start,\n end: event.end,\n },\n row: oldEvent.extendedProps?.row,\n });\n },\n events: this.getEvents(),\n headerToolbar: false,\n //initialDate: this.currentDate ? this.currentDate : new Date().toISOString().substring(0, 10),\n initialDate: this.currentDate,\n initialView: this.viewType,\n locale: this.getLocale(),\n locales: [\n esLocale,\n frLocale,\n itLocale,\n plLocale,\n ruLocale,\n zhLocale,\n ],\n plugins: [\n dayGridPlugin,\n interactionPlugin,\n listPlugin,\n timeGridPlugin,\n ],\n });\n this.calendar.render();\n }\n\n /*-------------------------------------------------*/\n /* P u b l i c M e t h o d s */\n /*-------------------------------------------------*/\n\n /**\n * Used to retrieve component's props values.\n * @param {boolean} descriptions - When provided and true, the result will be the list of props with their description.\n * @returns {Promise<GenericObject>} List of props as object, each key will be a prop.\n */\n @Method()\n async getProps(descriptions?: boolean): Promise<GenericObject> {\n return getProps(this, KupCalendarProps, descriptions);\n }\n /**\n * This method is used to trigger a new render of the component.\n */\n @Method()\n async refresh(): Promise<void> {\n forceUpdate(this);\n }\n /**\n * This method is invoked by KupManager whenever the component changes size.\n */\n @Method()\n async resizeCallback(): Promise<void> {\n window.clearTimeout(this.resizeTimeout);\n this.resizeTimeout = window.setTimeout(() => {\n this.refresh();\n }, 300);\n }\n /**\n * Sets the props to the component.\n * @param {GenericObject} props - Object containing props that will be set to the component.\n */\n @Method()\n async setProps(props: GenericObject): Promise<void> {\n setProps(this, KupCalendarProps, props);\n }\n\n /*-------------------------------------------------*/\n /* P r i v a t e M e t h o d s */\n /*-------------------------------------------------*/\n\n private changeView(view: KupCalendarViewTypes) {\n this.viewType = view;\n this.calendar.changeView(view);\n this.emitNavEvent();\n }\n\n private getColumns(): KupDataColumn[] {\n if (this.data && this.data.rows) {\n return this.data.columns;\n }\n\n return [];\n }\n\n private getLocale(): LocaleInput {\n switch (this.kupManager.dates.locale) {\n case KupDatesLocales.CHINESE:\n return zhLocale;\n case KupDatesLocales.FRENCH:\n return frLocale;\n case KupDatesLocales.ITALIAN:\n return itLocale;\n case KupDatesLocales.POLISH:\n return plLocale;\n case KupDatesLocales.RUSSIAN:\n return ruLocale;\n case KupDatesLocales.SPANISH:\n return esLocale;\n default:\n return enLocale;\n }\n }\n\n private getRows(): KupDataRow[] {\n if (this.data && this.data.rows) {\n return this.data.rows;\n }\n\n return [];\n }\n\n private setChipProps(): FChipsProps {\n const props: FChipsProps = {\n data: [],\n onClick: [],\n type: FChipType.CHOICE,\n wrapperClass: 'navigation__choice',\n };\n for (const key in KupCalendarViewTypes) {\n const view: KupCalendarViewTypes = KupCalendarViewTypes[key];\n const chipData: KupChipNode = {\n checked: this.viewType === view ? true : false,\n value: this.kupManager.language.translate(\n KupLanguageGeneric[key]\n ),\n id: key,\n };\n props.data.push(chipData);\n props.onClick.push(() => this.changeView(view));\n }\n return props;\n }\n\n private getEvents(): EventSourceInput {\n const isHourRange =\n this.startCol &&\n this.endCol &&\n getColumnByName(this.getColumns(), this.startCol) &&\n getColumnByName(this.getColumns(), this.endCol);\n\n return this.getRows().map((row) => {\n const cell = row.cells[this.dateCol];\n let startDate = this.kupManager.dates.toDayjs(cell.value);\n let endDate = this.kupManager.dates.toDayjs(cell.value);\n\n if (isHourRange) {\n const startCell = row.cells[this.startCol];\n const endCell = row.cells[this.endCol];\n\n if (startCell && endCell) {\n const dayjsStart = this.kupManager.dates.toDayjs(\n startCell.value,\n KupDatesFormats.ISO_TIME\n );\n const dayjsEnd = this.kupManager.dates.toDayjs(\n endCell.value,\n KupDatesFormats.ISO_TIME\n );\n\n startDate = startDate.hour(dayjsStart.hour());\n startDate = startDate.minute(dayjsStart.minute());\n startDate = startDate.second(dayjsStart.second());\n\n endDate = endDate.hour(dayjsEnd.hour());\n endDate = endDate.minute(dayjsEnd.minute());\n endDate = endDate.second(dayjsEnd.second());\n }\n }\n\n const el: EventInput = {\n allDay: isHourRange ? false : true,\n editable: this.editableEvents,\n end: endDate.toISOString(),\n extendedProps: {\n row,\n },\n start: startDate.toISOString(),\n title: row.cells[this.descrCol].value,\n };\n\n return el;\n });\n }\n\n private onPrev() {\n this.calendar.prev();\n this.updateCalendar();\n this.emitNavEvent();\n }\n\n private onNext() {\n this.calendar.next();\n this.updateCalendar();\n this.emitNavEvent();\n }\n\n private onToday() {\n this.calendar.today();\n this.updateCalendar();\n }\n\n private emitNavEvent() {\n // see https://fullcalendar.io/docs/view-object\n const to: Date = this.kupManager.dates\n .subtract(this.calendar.view.currentEnd, 1, 'day')\n .toDate();\n\n this.kupCalendarViewChange.emit({\n comp: this,\n id: this.rootElement.id,\n from: this.calendar.view.currentStart,\n to,\n });\n }\n\n private updateCalendar() {\n if (this.calendar) {\n this.calendar.setOption('locale', this.getLocale());\n this.navTitle.innerText = this.calendar.getCurrentData().viewTitle;\n this.calendar.updateSize();\n }\n }\n\n /*-------------------------------------------------*/\n /* L i f e c y c l e H o o k s */\n /*-------------------------------------------------*/\n\n componentWillLoad() {\n this.kupManager.dates.register(this);\n this.kupManager.debug.logLoad(this, false);\n this.kupManager.language.register(this);\n this.kupManager.theme.register(this);\n }\n\n componentDidLoad() {\n this.setCalendarData();\n this.updateCalendar();\n this.kupManager.resize.observe(this.rootElement);\n this.kupManager.debug.logLoad(this, true);\n }\n\n componentWillRender() {\n this.kupManager.debug.logRender(this, false);\n }\n\n componentDidRender() {\n this.updateCalendar();\n this.kupManager.debug.logRender(this, true);\n }\n\n render() {\n return (\n <Host>\n <style>\n {this.kupManager.theme.setKupStyle(\n this.rootElement as KupComponent\n )}\n </style>\n <div id={componentWrapperId}>\n <div class=\"navigation\">\n {!this.hideNavigation ? (\n <div class=\"navigation__left\">\n <FButton\n icon=\"chevron_left\"\n onClick={() => this.onPrev()}\n title={this.kupManager.language.translate(\n KupLanguageGeneric.PREVIOUS\n )}\n wrapperClass=\"navigation__prev\"\n />\n <FButton\n icon=\"calendar\"\n onClick={() => this.onToday()}\n title={this.kupManager.language.translate(\n KupLanguageGeneric.TODAY\n )}\n wrapperClass=\"navigation__today\"\n />\n <FButton\n icon=\"chevron_right\"\n onClick={() => this.onNext()}\n title={this.kupManager.language.translate(\n KupLanguageGeneric.NEXT\n )}\n wrapperClass=\"navigation__next\"\n />\n </div>\n ) : null}\n <div\n class={`navigation__title ${\n this.hideNavigation\n ? 'navigation__title--centered'\n : ''\n }`}\n ref={(el) => {\n this.navTitle = el;\n }}\n ></div>\n {!this.hideNavigation ? (\n <div class=\"navigation__right\">\n <FChip {...this.setChipProps()}></FChip>\n </div>\n ) : null}\n </div>\n <div\n class=\"calendar\"\n ref={(el) => (this.calendarContainer = el)}\n ></div>\n </div>\n </Host>\n );\n }\n\n disconnectedCallback() {\n if (this.calendar) {\n this.calendar.destroy();\n }\n this.kupManager.dates.unregister(this);\n this.kupManager.language.unregister(this);\n this.kupManager.resize.unobserve(this.rootElement);\n this.kupManager.theme.unregister(this);\n }\n}\n"]}
1
+ {"version":3,"file":"kup-calendar.js","sourceRoot":"","sources":["../../../src/components/kup-calendar/kup-calendar.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EACT,OAAO,EACP,KAAK,EAEL,WAAW,EACX,YAAY,EACZ,CAAC,EACD,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,GACR,MAAM,eAAe,CAAC;AACvB,OAAO,EACH,QAAQ,GAIX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,aAAa,MAAM,uBAAuB,CAAC;AAClD,OAAO,iBAAiB,MAAM,2BAA2B,CAAC;AAC1D,OAAO,UAAU,MAAM,oBAAoB,CAAC;AAC5C,OAAO,cAAc,MAAM,wBAAwB,CAAC;AACpD,OAAO,QAAQ,MAAM,kCAAkC,CAAC;AACxD,OAAO,QAAQ,MAAM,+BAA+B,CAAC;AACrD,OAAO,QAAQ,MAAM,+BAA+B,CAAC;AACrD,OAAO,QAAQ,MAAM,+BAA+B,CAAC;AACrD,OAAO,QAAQ,MAAM,+BAA+B,CAAC;AACrD,OAAO,QAAQ,MAAM,+BAA+B,CAAC;AACrD,OAAO,QAAQ,MAAM,kCAAkC,CAAC;AACxD,OAAO,EAEH,kBAAkB,GACrB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAMH,kBAAkB,EAClB,gBAAgB,EAEhB,oBAAoB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAEH,SAAS,GACZ,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAC3F,OAAO,EACH,eAAe,EACf,eAAe,GAClB,MAAM,iDAAiD,CAAC;AAYzD,MAAM,OAAO,WAAW;;QA8DZ,sBAAiB,GAAmB,IAAI,CAAC;QACzC,eAAU,GAAe,kBAAkB,EAAE,CAAC;QAC9C,aAAQ,GAAmB,IAAI,CAAC;QAChC,kBAAa,GAAW,IAAI,CAAC;QAC7B,YAAO,GAAW,IAAI,CAAC;QACvB,aAAQ,GAAW,IAAI,CAAC;QACxB,WAAM,GAAW,IAAI,CAAC;QACtB,YAAO,GAAW,IAAI,CAAC;QACvB,aAAQ,GAAW,IAAI,CAAC;QACxB,aAAQ,GAAW,IAAI,CAAC;QACxB,aAAQ,GAAW,IAAI,CAAC;2BA1DF,IAAI;2BAMJ,EAAE;oBAKA,IAAI;+BAMc;YAC9C,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE;YAC7B,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE;YAC9B,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE;YAC5B,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE;YAC7B,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE;YAC9B,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE;YAC9B,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE;SACjC;8BAKwB,KAAK;8BAKI,IAAI;wBAMlC,oBAAoB,CAAC,KAAK;;IAgE9B,qDAAqD;IACrD,qDAAqD;IACrD,qDAAqD;IAIrD,eAAe;;QACX,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1B,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACjC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;wBAC5C,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;wBAChC,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACjD,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;gBACpB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;oBAC3B,IAAI,EAAE,IAAI;oBACV,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;oBACvB,IAAI,EAAE,IAAI;iBACb,CAAC,CAAC;YACP,CAAC;YACD,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;gBACtB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;oBAC5B,IAAI,EAAE,IAAI;oBACV,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;oBACvB,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG;iBAC/B,CAAC,CAAC;YACP,CAAC;YACD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;gBACpB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,MAAM,GAAG,GAAe,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC;oBACrD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACrC,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;wBACrB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBAC9C,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;wBAEtC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;4BACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;4BAC5C,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;4BAC/B,MAAM,IAAI,GAAW,YAAY,CAC7B,gBAAgB,IAAI,MAAM,CAC7B,CAAC;4BACF,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,IAAI,qBAAqB,CAAC;4BACpD,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,IAAI,qBAAqB,CAAC;4BAC1D,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBAC9B,CAAC,CAAC,CAAC;wBAEH,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBACjC,CAAC;gBACL,CAAC;gBAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,MAAM,GAAG,GAAe,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC;oBACrD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACtC,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;wBACrB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBAC9C,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;wBAEvC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;4BACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BAC1C,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC;4BACf,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;wBAC7B,CAAC,CAAC,CAAC;wBAEH,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBACjC,CAAC;gBACL,CAAC;gBAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,MAAM,GAAG,GAAe,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC;oBACrD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACtC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAgB,CAAC;oBACrD,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC;oBACvC,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;wBACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;4BAClC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACpC,CAAC,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;YACL,CAAC;YACD,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;;gBAC/B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;oBAC3B,IAAI,EAAE,IAAI;oBACV,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;oBACvB,QAAQ,EAAE;wBACN,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,GAAG,EAAE,QAAQ,CAAC,GAAG;qBACpB;oBACD,MAAM,EAAE;wBACJ,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,GAAG,EAAE,KAAK,CAAC,GAAG;qBACjB;oBACD,GAAG,EAAE,MAAA,QAAQ,CAAC,aAAa,0CAAE,GAAG;iBACnC,CAAC,CAAC;YACP,CAAC;YACD,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE;YACxB,aAAa,EAAE,KAAK;YACpB,+FAA+F;YAC/F,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,QAAQ;YAC1B,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE;YACxB,OAAO,EAAE;gBACL,QAAQ;gBACR,QAAQ;gBACR,QAAQ;gBACR,QAAQ;gBACR,QAAQ;gBACR,QAAQ;aACX;YACD,OAAO,EAAE;gBACL,aAAa;gBACb,iBAAiB;gBACjB,UAAU;gBACV,cAAc;aACjB;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED,qDAAqD;IACrD,qDAAqD;IACrD,qDAAqD;IAErD;;;;OAIG;IAEH,KAAK,CAAC,QAAQ,CAAC,YAAsB;QACjC,OAAO,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAC1D,CAAC;IACD;;OAEG;IAEH,KAAK,CAAC,OAAO;QACT,WAAW,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD;;OAEG;IAEH,KAAK,CAAC,cAAc;QAChB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC;IACD;;;OAGG;IAEH,KAAK,CAAC,QAAQ,CAAC,KAAoB;QAC/B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,qDAAqD;IACrD,qDAAqD;IACrD,qDAAqD;IAE7C,UAAU,CAAC,IAA0B;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAEO,UAAU;QACd,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7B,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,SAAS;QACb,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACnC,KAAK,eAAe,CAAC,OAAO;gBACxB,OAAO,QAAQ,CAAC;YACpB,KAAK,eAAe,CAAC,MAAM;gBACvB,OAAO,QAAQ,CAAC;YACpB,KAAK,eAAe,CAAC,OAAO;gBACxB,OAAO,QAAQ,CAAC;YACpB,KAAK,eAAe,CAAC,MAAM;gBACvB,OAAO,QAAQ,CAAC;YACpB,KAAK,eAAe,CAAC,OAAO;gBACxB,OAAO,QAAQ,CAAC;YACpB,KAAK,eAAe,CAAC,OAAO;gBACxB,OAAO,QAAQ,CAAC;YACpB;gBACI,OAAO,QAAQ,CAAC;QACxB,CAAC;IACL,CAAC;IAEO,OAAO;QACX,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,YAAY;QAChB,MAAM,KAAK,GAAgB;YACvB,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,SAAS,CAAC,MAAM;YACtB,YAAY,EAAE,oBAAoB;SACrC,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACrC,MAAM,IAAI,GAAyB,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAgB;gBAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;gBAC9C,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CACrC,kBAAkB,CAAC,GAAG,CAAC,CAC1B;gBACD,EAAE,EAAE,GAAG;aACV,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,SAAS;QACb,MAAM,WAAW,GACb,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,MAAM;YACX,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC;YACjD,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEpD,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAExD,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEvC,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;oBACvB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAC5C,SAAS,CAAC,KAAK,EACf,eAAe,CAAC,QAAQ,CAC3B,CAAC;oBACF,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAC1C,OAAO,CAAC,KAAK,EACb,eAAe,CAAC,QAAQ,CAC3B,CAAC;oBAEF,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC9C,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClD,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;oBAElD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;oBACxC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC5C,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChD,CAAC;YACL,CAAC;YAED,MAAM,EAAE,GAAe;gBACnB,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBAClC,QAAQ,EAAE,IAAI,CAAC,cAAc;gBAC7B,GAAG,EAAE,OAAO,CAAC,WAAW,EAAE;gBAC1B,aAAa,EAAE;oBACX,GAAG;iBACN;gBACD,KAAK,EAAE,SAAS,CAAC,WAAW,EAAE;gBAC9B,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK;aACxC,CAAC;YAEF,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,MAAM;QACV,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAEO,MAAM;QACV,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAEO,OAAO;QACX,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAEO,YAAY;QAChB,+CAA+C;QAC/C,MAAM,EAAE,GAAS,IAAI,CAAC,UAAU,CAAC,KAAK;aACjC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC;aACjD,MAAM,EAAE,CAAC;QAEd,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC5B,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;YACvB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY;YACrC,EAAE;SACL,CAAC,CAAC;IACP,CAAC;IAEO,cAAc;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,qDAAqD;IACrD,qDAAqD;IACrD,qDAAqD;IAErD,iBAAiB;QACb,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,mBAAmB;QACf,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,kBAAkB;QACd,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,MAAM;QACF,OAAO,CACH,EAAC,IAAI;YACD,gEACK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAC9B,IAAI,CAAC,WAA2B,CACnC,CACG;YACR,4DAAK,EAAE,EAAE,kBAAkB;gBACvB,4DAAK,KAAK,EAAC,YAAY;oBAClB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CACpB,WAAK,KAAK,EAAC,kBAAkB;wBACzB,EAAC,OAAO,IACJ,IAAI,EAAC,cAAc,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAC5B,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CACrC,kBAAkB,CAAC,QAAQ,CAC9B,EACD,YAAY,EAAC,kBAAkB,GACjC;wBACF,EAAC,OAAO,IACJ,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAC7B,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CACrC,kBAAkB,CAAC,KAAK,CAC3B,EACD,YAAY,EAAC,mBAAmB,GAClC;wBACF,EAAC,OAAO,IACJ,IAAI,EAAC,eAAe,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAC5B,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CACrC,kBAAkB,CAAC,IAAI,CAC1B,EACD,YAAY,EAAC,kBAAkB,GACjC,CACA,CACT,CAAC,CAAC,CAAC,IAAI;oBACR,4DACI,KAAK,EAAE,qBACH,IAAI,CAAC,cAAc;4BACf,CAAC,CAAC,6BAA6B;4BAC/B,CAAC,CAAC,EACV,EAAE,EACF,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;4BACR,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;wBACvB,CAAC,GACE;oBACN,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CACpB,WAAK,KAAK,EAAC,mBAAmB;wBAC1B,EAAC,KAAK,oBAAK,IAAI,CAAC,YAAY,EAAE,EAAU,CACtC,CACT,CAAC,CAAC,CAAC,IAAI,CACN;gBACN,4DACI,KAAK,EAAC,UAAU,EAChB,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,GACvC,CACL,CACH,CACV,CAAC;IACN,CAAC;IAED,oBAAoB;QAChB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACJ","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n forceUpdate,\n getAssetPath,\n h,\n Host,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport {\n Calendar,\n EventInput,\n EventSourceInput,\n LocaleInput,\n} from '@fullcalendar/core';\nimport dayGridPlugin from '@fullcalendar/daygrid';\nimport interactionPlugin from '@fullcalendar/interaction';\nimport listPlugin from '@fullcalendar/list';\nimport timeGridPlugin from '@fullcalendar/timegrid';\nimport enLocale from '@fullcalendar/core/locales/en-gb';\nimport esLocale from '@fullcalendar/core/locales/es';\nimport frLocale from '@fullcalendar/core/locales/fr';\nimport itLocale from '@fullcalendar/core/locales/it';\nimport plLocale from '@fullcalendar/core/locales/pl';\nimport ruLocale from '@fullcalendar/core/locales/ru';\nimport zhLocale from '@fullcalendar/core/locales/zh-cn';\nimport {\n KupManager,\n kupManagerInstance,\n} from '../../managers/kup-manager/kup-manager';\nimport { getColumnByName } from '../../utils/cell-utils';\nimport { componentWrapperId } from '../../variables/GenericVariables';\nimport { FButton } from '../../f-components/f-button/f-button';\nimport { getProps, setProps } from '../../utils/utils';\nimport { GenericObject, KupComponent } from '../../types/GenericTypes';\nimport {\n KupCalendarColumnsProp,\n KupCalendarData,\n KupCalendarDateClickEventPayload,\n KupCalendarEventClickEventPayload,\n KupCalendarEventDropEventPayload,\n KupCalendarOptions,\n KupCalendarProps,\n KupCalendarViewChangeEventPayload,\n KupCalendarViewTypes,\n} from './kup-calendar-declarations';\nimport { FChip } from '../../f-components/f-chip/f-chip';\nimport {\n FChipsProps,\n FChipType,\n} from '../../f-components/f-chip/f-chip-declarations';\nimport { KupLanguageGeneric } from '../../managers/kup-language/kup-language-declarations';\nimport {\n KupDatesFormats,\n KupDatesLocales,\n} from '../../managers/kup-dates/kup-dates-declarations';\nimport {\n KupDataColumn,\n KupDataRow,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { KupChipNode } from '../kup-chip/kup-chip-declarations';\n\n@Component({\n tag: 'kup-calendar',\n styleUrl: 'kup-calendar.scss',\n shadow: true,\n})\nexport class KupCalendar {\n /**\n * References the root HTML element of the component (<kup-calendar>).\n */\n @Element() rootElement: HTMLElement;\n\n /*-------------------------------------------------*/\n /* P r o p s */\n /*-------------------------------------------------*/\n\n /**\n * Sets the initial date of the calendar. Must be in ISO format (YYYY-MM-DD).\n * @default null\n */\n @Prop() currentDate: string = null;\n /**\n * Custom style of the component.\n * @default \"\"\n * @see https://smeup.github.io/ketchup/#/customization\n */\n @Prop() customStyle: string = '';\n /**\n * Actual data of the calendar.\n * @default null\n */\n @Prop() data: KupCalendarData = null;\n /**\n * Sets which columns of the data property will be used to render each\n * characteristic of an event in the calendar.\n * @default {KupCalendarOptions: \"\"}\n */\n @Prop() calendarColumns: KupCalendarColumnsProp = {\n [KupCalendarOptions.DATE]: '',\n [KupCalendarOptions.DESCR]: '',\n [KupCalendarOptions.END]: '',\n [KupCalendarOptions.ICON]: '',\n [KupCalendarOptions.IMAGE]: '',\n [KupCalendarOptions.START]: '',\n [KupCalendarOptions.STYLE]: '',\n };\n /**\n * When disabled, the navigation toolbar won't be displayed.\n * @default false\n */\n @Prop() hideNavigation = false;\n /**\n * When true, events are editable.\n * @default true\n */\n @Prop() editableEvents: boolean = true;\n /**\n * Type of the view.\n * @default KupCalendarViewTypes.MONTH\n */\n @Prop({ mutable: true }) viewType: KupCalendarViewTypes =\n KupCalendarViewTypes.MONTH;\n\n /*-------------------------------------------------*/\n /* I n t e r n a l V a r i a b l e s */\n /*-------------------------------------------------*/\n\n private calendar: Calendar;\n private calendarContainer: HTMLDivElement = null;\n private kupManager: KupManager = kupManagerInstance();\n private navTitle: HTMLDivElement = null;\n private resizeTimeout: number = null;\n private dateCol: string = null;\n private descrCol: string = null;\n private endCol: string = null;\n private iconCol: string = null;\n private imageCol: string = null;\n private startCol: string = null;\n private styleCol: string = null;\n\n /*-------------------------------------------------*/\n /* E v e n t s */\n /*-------------------------------------------------*/\n\n /**\n * When an event is clicked.\n */\n @Event({\n eventName: 'kup-calendar-eventclick',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupCalendarEventClick: EventEmitter<KupCalendarEventClickEventPayload>;\n /**\n * When a date is clicked.\n */\n @Event({\n eventName: 'kup-calendar-dateclick',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupCalendarDateClick: EventEmitter<KupCalendarDateClickEventPayload>;\n /**\n * When a date is dropped.\n */\n @Event({\n eventName: 'kup-calendar-eventdrop',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupCalendarEventDrop: EventEmitter<KupCalendarEventDropEventPayload>;\n /**\n * When the navigation change\n */\n @Event({\n eventName: 'kup-calendar-viewchange',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupCalendarViewChange: EventEmitter<KupCalendarViewChangeEventPayload>;\n\n /*-------------------------------------------------*/\n /* W a t c h e r s */\n /*-------------------------------------------------*/\n\n @Watch('data')\n @Watch('currentDate')\n setCalendarData() {\n if (!this.calendarContainer) {\n return;\n }\n if (this.calendar) {\n this.calendar.destroy();\n }\n\n if (this.data?.columns) {\n this.data.columns.forEach((column) => {\n for (const key in this.calendarColumns) {\n if (this.calendarColumns[key] === column.name) {\n this[`${key}Col`] = column.name;\n break;\n }\n }\n });\n }\n this.calendar = new Calendar(this.calendarContainer, {\n dateClick: ({ date }) => {\n this.kupCalendarDateClick.emit({\n comp: this,\n id: this.rootElement.id,\n date: date,\n });\n },\n editable: true,\n eventClick: ({ event }) => {\n this.kupCalendarEventClick.emit({\n comp: this,\n id: this.rootElement.id,\n row: event.extendedProps.row,\n });\n },\n eventDidMount: (info) => {\n if (this.iconCol) {\n const row: KupDataRow = info.event.extendedProps.row;\n const cell = row.cells[this.iconCol];\n if (cell && cell.value) {\n const wrapper = document.createElement('div');\n wrapper.classList.add('icon-wrapper');\n\n cell.value.split(';').forEach((icon) => {\n const span = document.createElement('span');\n span.className = 'custom-icon';\n const path: string = getAssetPath(\n `./assets/svg/${icon}.svg`\n );\n span.style.mask = `url('${path}') no-repeat center`;\n span.style.webkitMask = `url('${path}') no-repeat center`;\n wrapper.appendChild(span);\n });\n\n info.el.appendChild(wrapper);\n }\n }\n\n if (this.imageCol) {\n const row: KupDataRow = info.event.extendedProps.row;\n const cell = row.cells[this.imageCol];\n if (cell && cell.value) {\n const wrapper = document.createElement('div');\n wrapper.classList.add('image-wrapper');\n\n cell.value.split(';').forEach((icon) => {\n const img = document.createElement('img');\n img.src = icon;\n wrapper.appendChild(img);\n });\n\n info.el.appendChild(wrapper);\n }\n }\n\n if (this.styleCol) {\n const row: KupDataRow = info.event.extendedProps.row;\n const cell = row.cells[this.styleCol];\n const eventCell = info.el.children[0] as HTMLElement;\n const parent = eventCell.parentElement;\n if (cell && cell.style) {\n Object.keys(cell.style).forEach((k) => {\n parent.style[k] = cell.style[k];\n });\n }\n }\n },\n eventDrop: ({ event, oldEvent }) => {\n this.kupCalendarEventDrop.emit({\n comp: this,\n id: this.rootElement.id,\n fromDate: {\n start: oldEvent.start,\n end: oldEvent.end,\n },\n toDate: {\n start: event.start,\n end: event.end,\n },\n row: oldEvent.extendedProps?.row,\n });\n },\n events: this.getEvents(),\n headerToolbar: false,\n //initialDate: this.currentDate ? this.currentDate : new Date().toISOString().substring(0, 10),\n initialDate: this.currentDate,\n initialView: this.viewType,\n locale: this.getLocale(),\n locales: [\n esLocale,\n frLocale,\n itLocale,\n plLocale,\n ruLocale,\n zhLocale,\n ],\n plugins: [\n dayGridPlugin,\n interactionPlugin,\n listPlugin,\n timeGridPlugin,\n ],\n });\n this.calendar.render();\n }\n\n /*-------------------------------------------------*/\n /* P u b l i c M e t h o d s */\n /*-------------------------------------------------*/\n\n /**\n * Used to retrieve component's props values.\n * @param {boolean} descriptions - When provided and true, the result will be the list of props with their description.\n * @returns {Promise<GenericObject>} List of props as object, each key will be a prop.\n */\n @Method()\n async getProps(descriptions?: boolean): Promise<GenericObject> {\n return getProps(this, KupCalendarProps, descriptions);\n }\n /**\n * This method is used to trigger a new render of the component.\n */\n @Method()\n async refresh(): Promise<void> {\n forceUpdate(this);\n }\n /**\n * This method is invoked by KupManager whenever the component changes size.\n */\n @Method()\n async resizeCallback(): Promise<void> {\n window.clearTimeout(this.resizeTimeout);\n this.resizeTimeout = window.setTimeout(() => {\n this.refresh();\n }, 300);\n }\n /**\n * Sets the props to the component.\n * @param {GenericObject} props - Object containing props that will be set to the component.\n */\n @Method()\n async setProps(props: GenericObject): Promise<void> {\n setProps(this, KupCalendarProps, props);\n }\n\n /*-------------------------------------------------*/\n /* P r i v a t e M e t h o d s */\n /*-------------------------------------------------*/\n\n private changeView(view: KupCalendarViewTypes) {\n this.viewType = view;\n this.calendar.changeView(view);\n this.emitNavEvent();\n }\n\n private getColumns(): KupDataColumn[] {\n if (this.data && this.data.rows) {\n return this.data.columns;\n }\n\n return [];\n }\n\n private getLocale(): LocaleInput {\n switch (this.kupManager.dates.locale) {\n case KupDatesLocales.CHINESE:\n return zhLocale;\n case KupDatesLocales.FRENCH:\n return frLocale;\n case KupDatesLocales.ITALIAN:\n return itLocale;\n case KupDatesLocales.POLISH:\n return plLocale;\n case KupDatesLocales.RUSSIAN:\n return ruLocale;\n case KupDatesLocales.SPANISH:\n return esLocale;\n default:\n return enLocale;\n }\n }\n\n private getRows(): KupDataRow[] {\n if (this.data && this.data.rows) {\n return this.data.rows;\n }\n\n return [];\n }\n\n private setChipProps(): FChipsProps {\n const props: FChipsProps = {\n data: [],\n onClick: [],\n type: FChipType.CHOICE,\n wrapperClass: 'navigation__choice',\n };\n for (const key in KupCalendarViewTypes) {\n const view: KupCalendarViewTypes = KupCalendarViewTypes[key];\n const chipData: KupChipNode = {\n checked: this.viewType === view ? true : false,\n value: this.kupManager.language.translate(\n KupLanguageGeneric[key]\n ),\n id: key,\n };\n props.data.push(chipData);\n props.onClick.push(() => this.changeView(view));\n }\n return props;\n }\n\n private getEvents(): EventSourceInput {\n const isHourRange =\n this.startCol &&\n this.endCol &&\n getColumnByName(this.getColumns(), this.startCol) &&\n getColumnByName(this.getColumns(), this.endCol);\n\n return this.getRows().map((row) => {\n const cell = row.cells[this.dateCol];\n let startDate = this.kupManager.dates.toDayjs(cell.value);\n let endDate = this.kupManager.dates.toDayjs(cell.value);\n\n if (isHourRange) {\n const startCell = row.cells[this.startCol];\n const endCell = row.cells[this.endCol];\n\n if (startCell && endCell) {\n const dayjsStart = this.kupManager.dates.toDayjs(\n startCell.value,\n KupDatesFormats.ISO_TIME\n );\n const dayjsEnd = this.kupManager.dates.toDayjs(\n endCell.value,\n KupDatesFormats.ISO_TIME\n );\n\n startDate = startDate.hour(dayjsStart.hour());\n startDate = startDate.minute(dayjsStart.minute());\n startDate = startDate.second(dayjsStart.second());\n\n endDate = endDate.hour(dayjsEnd.hour());\n endDate = endDate.minute(dayjsEnd.minute());\n endDate = endDate.second(dayjsEnd.second());\n }\n }\n\n const el: EventInput = {\n allDay: isHourRange ? false : true,\n editable: this.editableEvents,\n end: endDate.toISOString(),\n extendedProps: {\n row,\n },\n start: startDate.toISOString(),\n title: row.cells[this.descrCol].value,\n };\n\n return el;\n });\n }\n\n private onPrev() {\n this.calendar.prev();\n this.updateCalendar();\n this.emitNavEvent();\n }\n\n private onNext() {\n this.calendar.next();\n this.updateCalendar();\n this.emitNavEvent();\n }\n\n private onToday() {\n this.calendar.today();\n this.updateCalendar();\n }\n\n private emitNavEvent() {\n // see https://fullcalendar.io/docs/view-object\n const to: Date = this.kupManager.dates\n .subtract(this.calendar.view.currentEnd, 1, 'day')\n .toDate();\n\n this.kupCalendarViewChange.emit({\n comp: this,\n id: this.rootElement.id,\n from: this.calendar.view.currentStart,\n to,\n });\n }\n\n private updateCalendar() {\n if (this.calendar) {\n this.calendar.setOption('locale', this.getLocale());\n this.navTitle.innerText = this.calendar.getCurrentData().viewTitle;\n this.calendar.updateSize();\n }\n }\n\n /*-------------------------------------------------*/\n /* L i f e c y c l e H o o k s */\n /*-------------------------------------------------*/\n\n componentWillLoad() {\n this.kupManager.dates.register(this);\n this.kupManager.debug.logLoad(this, false);\n this.kupManager.language.register(this);\n this.kupManager.theme.register(this);\n }\n\n componentDidLoad() {\n this.setCalendarData();\n this.updateCalendar();\n this.kupManager.resize.observe(this.rootElement);\n this.kupManager.debug.logLoad(this, true);\n }\n\n componentWillRender() {\n this.kupManager.debug.logRender(this, false);\n }\n\n componentDidRender() {\n this.updateCalendar();\n this.kupManager.debug.logRender(this, true);\n }\n\n render() {\n return (\n <Host>\n <style>\n {this.kupManager.theme.setKupStyle(\n this.rootElement as KupComponent\n )}\n </style>\n <div id={componentWrapperId}>\n <div class=\"navigation\">\n {!this.hideNavigation ? (\n <div class=\"navigation__left\">\n <FButton\n icon=\"chevron_left\"\n onClick={() => this.onPrev()}\n title={this.kupManager.language.translate(\n KupLanguageGeneric.PREVIOUS\n )}\n wrapperClass=\"navigation__prev\"\n />\n <FButton\n icon=\"calendar\"\n onClick={() => this.onToday()}\n title={this.kupManager.language.translate(\n KupLanguageGeneric.TODAY\n )}\n wrapperClass=\"navigation__today\"\n />\n <FButton\n icon=\"chevron_right\"\n onClick={() => this.onNext()}\n title={this.kupManager.language.translate(\n KupLanguageGeneric.NEXT\n )}\n wrapperClass=\"navigation__next\"\n />\n </div>\n ) : null}\n <div\n class={`navigation__title ${\n this.hideNavigation\n ? 'navigation__title--centered'\n : ''\n }`}\n ref={(el) => {\n this.navTitle = el;\n }}\n ></div>\n {!this.hideNavigation ? (\n <div class=\"navigation__right\">\n <FChip {...this.setChipProps()}></FChip>\n </div>\n ) : null}\n </div>\n <div\n class=\"calendar\"\n ref={(el) => (this.calendarContainer = el)}\n ></div>\n </div>\n </Host>\n );\n }\n\n disconnectedCallback() {\n if (this.calendar) {\n this.calendar.destroy();\n }\n this.kupManager.dates.unregister(this);\n this.kupManager.language.unregister(this);\n this.kupManager.resize.unobserve(this.rootElement);\n this.kupManager.theme.unregister(this);\n }\n}\n"]}
@@ -13977,6 +13977,15 @@ const KupCalendar$1 = /*@__PURE__*/ proxyCustomElement(class KupCalendar extends
13977
13977
  this.currentDate = null;
13978
13978
  this.customStyle = '';
13979
13979
  this.data = null;
13980
+ this.calendarColumns = {
13981
+ [KupCalendarOptions.DATE]: '',
13982
+ [KupCalendarOptions.DESCR]: '',
13983
+ [KupCalendarOptions.END]: '',
13984
+ [KupCalendarOptions.ICON]: '',
13985
+ [KupCalendarOptions.IMAGE]: '',
13986
+ [KupCalendarOptions.START]: '',
13987
+ [KupCalendarOptions.STYLE]: '',
13988
+ };
13980
13989
  this.hideNavigation = false;
13981
13990
  this.editableEvents = true;
13982
13991
  this.viewType = KupCalendarViewTypes.MONTH;
@@ -13985,37 +13994,22 @@ const KupCalendar$1 = /*@__PURE__*/ proxyCustomElement(class KupCalendar extends
13985
13994
  /* W a t c h e r s */
13986
13995
  /*-------------------------------------------------*/
13987
13996
  setCalendarData() {
13997
+ var _a;
13988
13998
  if (!this.calendarContainer) {
13989
13999
  return;
13990
14000
  }
13991
14001
  if (this.calendar) {
13992
14002
  this.calendar.destroy();
13993
14003
  }
13994
- for (let index = 0; this.data && this.data.columns && index < this.data.columns.length; index++) {
13995
- const column = this.data.columns[index];
13996
- switch (column.calendarOption) {
13997
- case KupCalendarOptions.DATE:
13998
- this.dateCol = column.name;
13999
- break;
14000
- case KupCalendarOptions.DESCR:
14001
- this.descrCol = column.name;
14002
- break;
14003
- case KupCalendarOptions.END:
14004
- this.endCol = column.name;
14005
- break;
14006
- case KupCalendarOptions.ICON:
14007
- this.iconCol = column.name;
14008
- break;
14009
- case KupCalendarOptions.IMAGE:
14010
- this.imageCol = column.name;
14011
- break;
14012
- case KupCalendarOptions.START:
14013
- this.startCol = column.name;
14014
- break;
14015
- case KupCalendarOptions.STYLE:
14016
- this.styleCol = column.name;
14017
- break;
14018
- }
14004
+ if ((_a = this.data) === null || _a === void 0 ? void 0 : _a.columns) {
14005
+ this.data.columns.forEach((column) => {
14006
+ for (const key in this.calendarColumns) {
14007
+ if (this.calendarColumns[key] === column.name) {
14008
+ this[`${key}Col`] = column.name;
14009
+ break;
14010
+ }
14011
+ }
14012
+ });
14019
14013
  }
14020
14014
  this.calendar = new Calendar(this.calendarContainer, {
14021
14015
  dateClick: ({ date }) => {
@@ -14298,11 +14292,11 @@ const KupCalendar$1 = /*@__PURE__*/ proxyCustomElement(class KupCalendar extends
14298
14292
  this.kupManager.debug.logRender(this, true);
14299
14293
  }
14300
14294
  render() {
14301
- return (h$1(Host, { key: '77367712ac84cd2a6dd290c69322188ea6188412' }, h$1("style", { key: 'c8a84fc5a1a29f6c638bb1a7a666edbefa31673a' }, this.kupManager.theme.setKupStyle(this.rootElement)), h$1("div", { key: '839ce76af5bcea2a7f0ae175ca2ac5386fbc31af', id: componentWrapperId }, h$1("div", { key: '5a09915815d6a8cbc9bda12c70e2cb84cb6bec9f', class: "navigation" }, !this.hideNavigation ? (h$1("div", { class: "navigation__left" }, h$1(FButton, { icon: "chevron_left", onClick: () => this.onPrev(), title: this.kupManager.language.translate(KupLanguageGeneric.PREVIOUS), wrapperClass: "navigation__prev" }), h$1(FButton, { icon: "calendar", onClick: () => this.onToday(), title: this.kupManager.language.translate(KupLanguageGeneric.TODAY), wrapperClass: "navigation__today" }), h$1(FButton, { icon: "chevron_right", onClick: () => this.onNext(), title: this.kupManager.language.translate(KupLanguageGeneric.NEXT), wrapperClass: "navigation__next" }))) : null, h$1("div", { key: '628a9c11e8de9fc2c0974699ddd0d57fcdaf0d69', class: `navigation__title ${this.hideNavigation
14295
+ return (h$1(Host, { key: 'bdd424eed81973543ce0456b76729821e630de31' }, h$1("style", { key: '390d5a2a2d06f5119d1e03c7fd00271983ebcce4' }, this.kupManager.theme.setKupStyle(this.rootElement)), h$1("div", { key: '7b24bb47c6b934f5fe47289790ee717ce261d9b9', id: componentWrapperId }, h$1("div", { key: '2f72c647d22945a38bce0073729ffbd3f28dec9e', class: "navigation" }, !this.hideNavigation ? (h$1("div", { class: "navigation__left" }, h$1(FButton, { icon: "chevron_left", onClick: () => this.onPrev(), title: this.kupManager.language.translate(KupLanguageGeneric.PREVIOUS), wrapperClass: "navigation__prev" }), h$1(FButton, { icon: "calendar", onClick: () => this.onToday(), title: this.kupManager.language.translate(KupLanguageGeneric.TODAY), wrapperClass: "navigation__today" }), h$1(FButton, { icon: "chevron_right", onClick: () => this.onNext(), title: this.kupManager.language.translate(KupLanguageGeneric.NEXT), wrapperClass: "navigation__next" }))) : null, h$1("div", { key: '35a9b8aa076db1e723de96fcd9a5eb8b6b7dcf40', class: `navigation__title ${this.hideNavigation
14302
14296
  ? 'navigation__title--centered'
14303
14297
  : ''}`, ref: (el) => {
14304
14298
  this.navTitle = el;
14305
- } }), !this.hideNavigation ? (h$1("div", { class: "navigation__right" }, h$1(FChip, Object.assign({}, this.setChipProps())))) : null), h$1("div", { key: 'b38321df314189e557ab27056c4f2959265bd1b8', class: "calendar", ref: (el) => (this.calendarContainer = el) }))));
14299
+ } }), !this.hideNavigation ? (h$1("div", { class: "navigation__right" }, h$1(FChip, Object.assign({}, this.setChipProps())))) : null), h$1("div", { key: '4ade88713da0e92a1c21b62922db53c23f0e6e0a', class: "calendar", ref: (el) => (this.calendarContainer = el) }))));
14306
14300
  }
14307
14301
  disconnectedCallback() {
14308
14302
  if (this.calendar) {
@@ -14323,6 +14317,7 @@ const KupCalendar$1 = /*@__PURE__*/ proxyCustomElement(class KupCalendar extends
14323
14317
  "currentDate": [1, "current-date"],
14324
14318
  "customStyle": [1, "custom-style"],
14325
14319
  "data": [16],
14320
+ "calendarColumns": [16],
14326
14321
  "hideNavigation": [4, "hide-navigation"],
14327
14322
  "editableEvents": [4, "editable-events"],
14328
14323
  "viewType": [1025, "view-type"],