igniteui-webcomponents 4.0.0-alpha.2 → 4.0.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/CHANGELOG.md +33 -2
- package/README.md +17 -15
- package/components/avatar/themes/avatar.base.css.js +20 -12
- package/components/avatar/themes/avatar.base.css.js.map +1 -1
- package/components/badge/themes/light/badge.base.css.js +13 -6
- package/components/badge/themes/light/badge.base.css.js.map +1 -1
- package/components/button/icon-button.js +13 -10
- package/components/button/icon-button.js.map +1 -1
- package/components/button/themes/button/light/button.base.css.js +41 -37
- package/components/button/themes/button/light/button.base.css.js.map +1 -1
- package/components/button/themes/button/light/button.bootstrap.css.js +4 -12
- package/components/button/themes/button/light/button.bootstrap.css.js.map +1 -1
- package/components/button/themes/button/light/button.fluent.css.js +5 -15
- package/components/button/themes/button/light/button.fluent.css.js.map +1 -1
- package/components/button/themes/button/light/button.indigo.css.js +6 -18
- package/components/button/themes/button/light/button.indigo.css.js.map +1 -1
- package/components/button/themes/button/light/button.material.css.js +41 -37
- package/components/button/themes/button/light/button.material.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.base.css.js +22 -25
- package/components/button/themes/icon-button/light/icon-button.base.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js +7 -18
- package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.fluent.css.js +7 -17
- package/components/button/themes/icon-button/light/icon-button.fluent.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.indigo.css.js +7 -17
- package/components/button/themes/icon-button/light/icon-button.indigo.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.material.css.js +6 -13
- package/components/button/themes/icon-button/light/icon-button.material.css.js.map +1 -1
- package/components/calendar/days-view/days-view.d.ts +2 -0
- package/components/calendar/days-view/days-view.js +17 -5
- package/components/calendar/days-view/days-view.js.map +1 -1
- package/components/calendar/themes/calendar.base.css.js +66 -89
- package/components/calendar/themes/calendar.base.css.js.map +1 -1
- package/components/calendar/themes/days-view.base.css.js +0 -1
- package/components/calendar/themes/days-view.base.css.js.map +1 -1
- package/components/calendar/themes/fluent/calendar.fluent.css.js +66 -89
- package/components/calendar/themes/fluent/calendar.fluent.css.js.map +1 -1
- package/components/card/themes/light/card.actions.bootstrap.css.js +13 -6
- package/components/card/themes/light/card.actions.bootstrap.css.js.map +1 -1
- package/components/card/themes/light/card.actions.material.css.js +13 -6
- package/components/card/themes/light/card.actions.material.css.js.map +1 -1
- package/components/card/themes/light/card.content.bootstrap.css.js +13 -6
- package/components/card/themes/light/card.content.bootstrap.css.js.map +1 -1
- package/components/card/themes/light/card.content.indigo.css.js +13 -6
- package/components/card/themes/light/card.content.indigo.css.js.map +1 -1
- package/components/card/themes/light/card.content.material.css.js +13 -6
- package/components/card/themes/light/card.content.material.css.js.map +1 -1
- package/components/card/themes/light/card.header.bootstrap.css.js +13 -6
- package/components/card/themes/light/card.header.bootstrap.css.js.map +1 -1
- package/components/card/themes/light/card.header.fluent.css.js +13 -6
- package/components/card/themes/light/card.header.fluent.css.js.map +1 -1
- package/components/card/themes/light/card.header.indigo.css.js +13 -6
- package/components/card/themes/light/card.header.indigo.css.js.map +1 -1
- package/components/card/themes/light/card.header.material.css.js +13 -6
- package/components/card/themes/light/card.header.material.css.js.map +1 -1
- package/components/card/themes/light/card.material.css.js +13 -6
- package/components/card/themes/light/card.material.css.js.map +1 -1
- package/components/card/themes/light/card.media.material.css.js +13 -6
- package/components/card/themes/light/card.media.material.css.js.map +1 -1
- package/components/checkbox/checkbox-base.d.ts +2 -0
- package/components/checkbox/checkbox-base.js +3 -0
- package/components/checkbox/checkbox-base.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.base.css.js +16 -8
- package/components/checkbox/themes/light/checkbox.base.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.bootstrap.css.js +4 -3
- package/components/checkbox/themes/light/checkbox.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.base.css.js +13 -6
- package/components/checkbox/themes/light/switch.base.css.js.map +1 -1
- package/components/chip/themes/chip.base.css.js +53 -46
- package/components/chip/themes/chip.base.css.js.map +1 -1
- package/components/chip/themes/chip.bootstrap.css.js +53 -46
- package/components/chip/themes/chip.bootstrap.css.js.map +1 -1
- package/components/chip/themes/chip.fluent.css.js +53 -46
- package/components/chip/themes/chip.fluent.css.js.map +1 -1
- package/components/chip/themes/chip.indigo.css.js +53 -46
- package/components/chip/themes/chip.indigo.css.js.map +1 -1
- package/components/chip/themes/chip.material.css.js +53 -46
- package/components/chip/themes/chip.material.css.js.map +1 -1
- package/components/dialog/dialog.d.ts +69 -0
- package/components/dialog/dialog.js +168 -0
- package/components/dialog/dialog.js.map +1 -0
- package/components/dialog/themes/light/dialog.base.css.d.ts +1 -0
- package/components/dialog/themes/light/dialog.base.css.js +127 -0
- package/components/dialog/themes/light/dialog.base.css.js.map +1 -0
- package/components/dialog/themes/light/dialog.bootstrap.css.d.ts +1 -0
- package/components/dialog/themes/light/dialog.bootstrap.css.js +42 -0
- package/components/dialog/themes/light/dialog.bootstrap.css.js.map +1 -0
- package/components/dialog/themes/light/dialog.fluent.css.d.ts +1 -0
- package/components/dialog/themes/light/dialog.fluent.css.js +24 -0
- package/components/dialog/themes/light/dialog.fluent.css.js.map +1 -0
- package/components/dialog/themes/light/dialog.indigo.css.d.ts +1 -0
- package/components/dialog/themes/light/dialog.indigo.css.js +17 -0
- package/components/dialog/themes/light/dialog.indigo.css.js.map +1 -0
- package/components/dialog/themes/light/dialog.material.css.d.ts +1 -0
- package/components/dialog/themes/light/dialog.material.css.js +18 -0
- package/components/dialog/themes/light/dialog.material.css.js.map +1 -0
- package/components/dropdown/dropdown-header.js +2 -1
- package/components/dropdown/dropdown-header.js.map +1 -1
- package/components/dropdown/dropdown.js +2 -0
- package/components/dropdown/dropdown.js.map +1 -1
- package/components/dropdown/themes/light/dropdown-group.base.css.js +15 -30
- package/components/dropdown/themes/light/dropdown-group.base.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown-group.fluent.css.js +2 -16
- package/components/dropdown/themes/light/dropdown-group.fluent.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown-header.base.css.js +15 -6
- package/components/dropdown/themes/light/dropdown-header.base.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown-header.fluent.css.d.ts +1 -0
- package/components/dropdown/themes/light/dropdown-header.fluent.css.js +6 -0
- package/components/dropdown/themes/light/dropdown-header.fluent.css.js.map +1 -0
- package/components/dropdown/themes/light/dropdown-item.base.css.js +19 -10
- package/components/dropdown/themes/light/dropdown-item.base.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown-item.fluent.css.js +4 -0
- package/components/dropdown/themes/light/dropdown-item.fluent.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown.base.css.js +19 -24
- package/components/dropdown/themes/light/dropdown.base.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown.fluent.css.js +0 -18
- package/components/dropdown/themes/light/dropdown.fluent.css.js.map +1 -1
- package/components/expansion-panel/themes/light/expansion-panel.base.css.js +8 -6
- package/components/expansion-panel/themes/light/expansion-panel.base.css.js.map +1 -1
- package/components/form/form.js +3 -3
- package/components/form/form.js.map +1 -1
- package/components/icon/icon.material.css.js +19 -11
- package/components/icon/icon.material.css.js.map +1 -1
- package/components/input/input.d.ts +2 -0
- package/components/input/input.js +3 -0
- package/components/input/input.js.map +1 -1
- package/components/input/themes/light/input.base.css.js +28 -22
- package/components/input/themes/light/input.base.css.js.map +1 -1
- package/components/input/themes/light/input.bootstrap.css.js +26 -45
- package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
- package/components/input/themes/light/input.fluent.css.js +20 -34
- package/components/input/themes/light/input.fluent.css.js.map +1 -1
- package/components/list/themes/light/list-header.base.css.js +15 -6
- package/components/list/themes/light/list-header.base.css.js.map +1 -1
- package/components/list/themes/light/list-item.base.css.js +19 -10
- package/components/list/themes/light/list-item.base.css.js.map +1 -1
- package/components/list/themes/light/list.base.css.js +19 -15
- package/components/list/themes/light/list.base.css.js.map +1 -1
- package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js +13 -6
- package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js.map +1 -1
- package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js +13 -6
- package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js.map +1 -1
- package/components/nav-drawer/themes/light/nav-drawer.base.css.js +13 -6
- package/components/nav-drawer/themes/light/nav-drawer.base.css.js.map +1 -1
- package/components/navbar/themes/light/navbar.base.css.js +13 -6
- package/components/navbar/themes/light/navbar.base.css.js.map +1 -1
- package/components/progress/themes/circular/circular.progress.base.css.js +39 -30
- package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
- package/components/progress/themes/circular/circular.progress.bootstrap.css.js +2 -2
- package/components/progress/themes/circular/circular.progress.bootstrap.css.js.map +1 -1
- package/components/progress/themes/circular/circular.progress.fluent.css.js +1 -1
- package/components/progress/themes/circular/circular.progress.fluent.css.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.base.css.js +29 -22
- package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.bootstrap.css.js +29 -22
- package/components/progress/themes/linear/linear.progress.bootstrap.css.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.indigo.css.js +13 -6
- package/components/progress/themes/linear/linear.progress.indigo.css.js.map +1 -1
- package/components/radio/radio.d.ts +3 -1
- package/components/radio/radio.js +4 -1
- package/components/radio/radio.js.map +1 -1
- package/components/radio/themes/light/radio.base.css.js +13 -6
- package/components/radio/themes/light/radio.base.css.js.map +1 -1
- package/components/radio-group/radio-group.base.css.js +13 -6
- package/components/radio-group/radio-group.base.css.js.map +1 -1
- package/components/rating/rating-symbol.base.css.js +14 -6
- package/components/rating/rating-symbol.base.css.js.map +1 -1
- package/components/rating/rating.base.css.js +18 -11
- package/components/rating/rating.base.css.js.map +1 -1
- package/components/ripple/ripple.material.css.js +13 -6
- package/components/ripple/ripple.material.css.js.map +1 -1
- package/components/select/select.d.ts +4 -0
- package/components/select/select.js +20 -8
- package/components/select/select.js.map +1 -1
- package/components/select/themes/light/select.base.css.js +26 -24
- package/components/select/themes/light/select.base.css.js.map +1 -1
- package/components/select/themes/light/select.fluent.css.js +6 -8
- package/components/select/themes/light/select.fluent.css.js.map +1 -1
- package/components/slider/range-slider.d.ts +2 -0
- package/components/slider/range-slider.js +65 -0
- package/components/slider/range-slider.js.map +1 -1
- package/components/slider/slider-base.d.ts +9 -7
- package/components/slider/slider-base.js +16 -2
- package/components/slider/slider-base.js.map +1 -1
- package/components/slider/themes/light/slider.base.css.js +18 -11
- package/components/slider/themes/light/slider.base.css.js.map +1 -1
- package/components/slider/themes/light/slider.bootstrap.css.js +2 -2
- package/components/slider/themes/light/slider.bootstrap.css.js.map +1 -1
- package/components/slider/themes/light/slider.fluent.css.js +29 -11
- package/components/slider/themes/light/slider.fluent.css.js.map +1 -1
- package/components/slider/themes/light/slider.indigo.css.js +4 -4
- package/components/slider/themes/light/slider.indigo.css.js.map +1 -1
- package/components/slider/themes/light/slider.material.css.js +5 -5
- package/components/slider/themes/light/slider.material.css.js.map +1 -1
- package/components/snackbar/themes/light/snackbar.base.css.js +13 -6
- package/components/snackbar/themes/light/snackbar.base.css.js.map +1 -1
- package/components/tabs/tab-panel.js +1 -0
- package/components/tabs/tab-panel.js.map +1 -1
- package/components/tabs/tabs.js +2 -3
- package/components/tabs/tabs.js.map +1 -1
- package/components/tabs/themes/light/tab-panel.base.css.js +13 -7
- package/components/tabs/themes/light/tab-panel.base.css.js.map +1 -1
- package/components/tabs/themes/light/tab.base.css.js +13 -6
- package/components/tabs/themes/light/tab.base.css.js.map +1 -1
- package/components/tabs/themes/light/tabs.base.css.js +13 -6
- package/components/tabs/themes/light/tabs.base.css.js.map +1 -1
- package/components/toggle/toggle.controller.d.ts +1 -1
- package/components/toggle/toggle.controller.js.map +1 -1
- package/components/toggle/toggle.directive.d.ts +2 -2
- package/components/toggle/toggle.directive.js.map +1 -1
- package/components/tree/themes/light/tree-item.base.css.js +17 -28
- package/components/tree/themes/light/tree-item.base.css.js.map +1 -1
- package/components/tree/themes/light/tree.base.css.js +25 -6
- package/components/tree/themes/light/tree.base.css.js.map +1 -1
- package/custom-elements.json +129 -0
- package/index.d.ts +3 -1
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/package.json +3 -3
- package/themes/dark/bootstrap.css +159 -91
- package/themes/dark/fluent.css +162 -94
- package/themes/dark/indigo.css +79 -11
- package/themes/dark/material.css +160 -92
- package/themes/light/bootstrap.css +158 -90
- package/themes/light/fluent.css +158 -90
- package/themes/light/indigo.css +78 -10
- package/themes/light/material.css +159 -91
- package/theming/config.d.ts +1 -1
- package/theming/config.js +1 -2
- package/theming/config.js.map +1 -1
- package/theming/index.d.ts +1 -1
- package/theming/index.js +1 -1
- package/theming/index.js.map +1 -1
- package/theming/theming-controller.d.ts +1 -1
- package/theming/theming-controller.js.map +1 -1
- package/theming/theming-decorator.d.ts +1 -1
- package/theming/theming-decorator.js.map +1 -1
- package/theming/theming-event.d.ts +1 -1
- package/theming/theming-event.js.map +1 -1
- package/vscode-html-custom-data.json +39 -1
|
@@ -43,6 +43,12 @@ let IgcDaysViewComponent = class IgcDaysViewComponent extends EventEmitterMixin(
|
|
|
43
43
|
this.formatterWeekday = new Intl.DateTimeFormat(this.locale, {
|
|
44
44
|
weekday: this.weekDayFormat,
|
|
45
45
|
});
|
|
46
|
+
this.labelFormatter = new Intl.DateTimeFormat(this.locale, {
|
|
47
|
+
weekday: 'long',
|
|
48
|
+
year: 'numeric',
|
|
49
|
+
month: 'long',
|
|
50
|
+
day: 'numeric',
|
|
51
|
+
});
|
|
46
52
|
}
|
|
47
53
|
generateWeekHeader() {
|
|
48
54
|
const dayNames = [];
|
|
@@ -369,6 +375,16 @@ let IgcDaysViewComponent = class IgcDaysViewComponent extends EventEmitterMixin(
|
|
|
369
375
|
</div>`;
|
|
370
376
|
});
|
|
371
377
|
}
|
|
378
|
+
dayLabelFormatter(value) {
|
|
379
|
+
if (this.rangePreviewDate &&
|
|
380
|
+
areEqualDates(this.rangePreviewDate, value.date)) {
|
|
381
|
+
return this.labelFormatter.formatRange(this.values.at(0), this.rangePreviewDate);
|
|
382
|
+
}
|
|
383
|
+
if (this.isFirstInRange(value) || this.isLastInRange(value)) {
|
|
384
|
+
return this.labelFormatter.formatRange(this.values.at(0), this.values.at(-1));
|
|
385
|
+
}
|
|
386
|
+
return this.labelFormatter.format(value.date);
|
|
387
|
+
}
|
|
372
388
|
renderDateItem(day) {
|
|
373
389
|
const datePartName = partNameMap(this.resolveDayItemPartName(day));
|
|
374
390
|
const dateInnerPartName = datePartName.replace('date', 'date-inner');
|
|
@@ -376,11 +392,7 @@ let IgcDaysViewComponent = class IgcDaysViewComponent extends EventEmitterMixin(
|
|
|
376
392
|
<span
|
|
377
393
|
part=${dateInnerPartName}
|
|
378
394
|
role="gridcell"
|
|
379
|
-
aria-label=${
|
|
380
|
-
year: 'numeric',
|
|
381
|
-
month: 'long',
|
|
382
|
-
day: 'numeric',
|
|
383
|
-
})}
|
|
395
|
+
aria-label=${this.dayLabelFormatter(day)}
|
|
384
396
|
aria-selected=${this.isSelected(day)}
|
|
385
397
|
aria-disabled=${this.isDisabled(day.date)}
|
|
386
398
|
tabindex=${this.active && areEqualDates(this.activeDate, day.date)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"days-view.js","sourceRoot":"","sources":["../../../../src/components/calendar/days-view/days-view.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { themes } from '../../../theming/theming-decorator.js';\nimport { blazorIndirectRender } from '../../common/decorators/blazorIndirectRender.js';\nimport { blazorSuppressComponent } from '../../common/decorators/blazorSuppressComponent.js';\nimport { watch } from '../../common/decorators/watch.js';\nimport {\n IgcCalendarResourceStringEN,\n IgcCalendarResourceStrings,\n} from '../../common/i18n/calendar.resources.js';\nimport { Constructor } from '../../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../../common/mixins/event-emitter.js';\nimport { partNameMap } from '../../common/util.js';\nimport {\n IgcCalendarBaseComponent,\n IgcCalendarBaseEventMap,\n} from '../common/calendar-base.js';\nimport {\n DateRangeType,\n ICalendarDate,\n isDateInRanges,\n TimeDeltaInterval,\n} from '../common/calendar.model.js';\nimport { areEqualDates, getDateOnly, isEqual } from '../common/utils.js';\nimport { styles as bootstrap } from '../themes/bootstrap/days-view.bootstrap.css.js';\nimport { styles } from '../themes/days-view.base.css.js';\nimport { styles as fluent } from '../themes/fluent/days-view.fluent.css.js';\n\nexport interface IgcDaysViewEventMap extends IgcCalendarBaseEventMap {\n igcActiveDateChange: CustomEvent<ICalendarDate>;\n igcRangePreviewDateChange: CustomEvent<Date>;\n}\n\n/**\n * Instantiate a days view as a separate component in the calendar.\n *\n * @element igc-days-view\n *\n * @fires igcActiveDateChange - Emitted when the active date changes.\n * @fires igcRangePreviewDateChange - Emitted when the range preview date changes.\n *\n * @csspart days-row - The days row container.\n * @csspart label - The label container.\n * @csspart label-inner - The inner label container.\n * @csspart week-number - The week number container.\n * @csspart week-number-inner - The inner week number container.\n */\n@blazorSuppressComponent\n@blazorIndirectRender\n@themes({\n bootstrap,\n fluent,\n})\nexport default class IgcDaysViewComponent extends EventEmitterMixin<\n IgcDaysViewEventMap,\n Constructor<IgcCalendarBaseComponent>\n>(IgcCalendarBaseComponent) {\n public static readonly tagName = 'igc-days-view';\n public static styles = styles;\n private formatterWeekday!: Intl.DateTimeFormat;\n private dates!: ICalendarDate[][];\n\n @query('[tabindex=\"0\"]')\n private activeDay!: HTMLElement;\n\n /** Controls the visibility of the leading dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-leading-days' })\n public hideLeadingDays = false;\n\n /** Controls the visibility of the trailing dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-trailing-days' })\n public hideTrailingDays = false;\n\n /** Gets/sets the active state of the days view. */\n @property({ type: Boolean })\n public active = false;\n\n /** The range preview date. */\n @property({ attribute: false })\n public rangePreviewDate?: Date;\n\n /** The format of the days. Defaults to narrow. */\n @property({ attribute: 'week-day-format' })\n public weekDayFormat: 'long' | 'short' | 'narrow' | undefined = 'narrow';\n\n /** The resource strings. */\n @property({ attribute: false })\n public resourceStrings: IgcCalendarResourceStrings = IgcCalendarResourceStringEN;\n\n @watch('weekDayFormat')\n @watch('locale')\n protected formattersChange() {\n this.initFormatters();\n }\n\n @watch('weekStart')\n @watch('activeDate')\n protected datesChange() {\n this.dates = this.getCalendarMonth();\n }\n\n constructor() {\n super();\n this.setAttribute('role', 'grid');\n this.initFormatters();\n }\n\n /** Focuses the active date. */\n public focusActiveDate() {\n this.activeDay.focus();\n }\n\n private initFormatters() {\n this.formatterWeekday = new Intl.DateTimeFormat(this.locale, {\n weekday: this.weekDayFormat,\n });\n }\n\n private generateWeekHeader(): { label: string; ariaLabel: string }[] {\n const dayNames = [];\n const rv = this.calendarModel.monthdatescalendar(\n this.activeDate.getFullYear(),\n this.activeDate.getMonth()\n )[0];\n for (const day of rv) {\n dayNames.push({\n label: this.formatterWeekday.format(day.date),\n ariaLabel: day.date.toLocaleString(this.locale, { weekday: 'long' }),\n });\n }\n\n return dayNames;\n }\n\n private getCalendarMonth(): ICalendarDate[][] {\n return this.calendarModel.monthdatescalendar(\n this.activeDate.getFullYear(),\n this.activeDate.getMonth(),\n true\n );\n }\n\n private titleCase(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n private getWeekNumber(date: Date): number {\n return this.calendarModel.getWeekNumber(date);\n }\n\n private formattedDate(value: Date): string {\n return `${value.getDate()}`;\n }\n\n private get isSingleSelection(): boolean {\n return this.selection !== 'range';\n }\n\n private isLastInRange(date: ICalendarDate): boolean {\n if (this.isSingleSelection || !this.values || this.values.length === 0) {\n return false;\n }\n\n const dates = this.values;\n let lastDate = dates[dates.length - 1];\n\n if (this.rangePreviewDate) {\n if (this.rangePreviewDate > lastDate) {\n lastDate = this.rangePreviewDate;\n }\n }\n\n return isEqual(lastDate, date.date);\n }\n\n private isFirstInRange(date: ICalendarDate): boolean {\n if (this.isSingleSelection || !this.values || this.values.length === 0) {\n return false;\n }\n\n const dates = this.values;\n let firstDate = dates[0];\n\n if (this.rangePreviewDate) {\n if (this.rangePreviewDate < firstDate) {\n firstDate = this.rangePreviewDate;\n }\n }\n\n return isEqual(firstDate, date.date);\n }\n\n private isDisabled(date: Date): boolean {\n if (!this.disabledDates) {\n return false;\n }\n\n return isDateInRanges(date, this.disabledDates);\n }\n\n private isWithinRange(date: Date, min: Date, max: Date): boolean {\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [min, max],\n },\n ]);\n }\n\n private isRangeDate(date: Date) {\n if (\n this.selection !== 'range' ||\n !this.values ||\n this.values.length === 0\n ) {\n return false;\n }\n\n const dates = this.values;\n const min = dates[0];\n let max;\n\n if (dates.length === 1) {\n if (!this.rangePreviewDate) {\n return false;\n }\n\n max = this.rangePreviewDate;\n } else {\n max = dates[dates.length - 1];\n }\n\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [min, max],\n },\n ]);\n }\n\n private isRangePreview(date: Date) {\n if (\n this.selection === 'range' &&\n this.values &&\n this.values.length > 0 &&\n this.rangePreviewDate\n ) {\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [this.values[0], this.rangePreviewDate],\n },\n ]);\n }\n\n return false;\n }\n\n private isSelected(date: ICalendarDate) {\n if (this.isDisabled(date.date)) {\n return false;\n }\n\n if (this.selection === 'single') {\n if (!this.value) {\n return false;\n }\n return getDateOnly(this.value).getTime() === date.date.getTime();\n }\n\n if (!this.values || this.values.length === 0) {\n return false;\n }\n\n if (this.selection === 'range' && this.values.length === 1) {\n return getDateOnly(this.values[0]).getTime() === date.date.getTime();\n }\n\n if (this.selection === 'multiple') {\n const start = getDateOnly(this.values[0]);\n const end = getDateOnly(this.values[this.values.length - 1]);\n\n if (this.isWithinRange(date.date, start, end)) {\n const currentDate = this.values.find(\n (element) => element.getTime() === date.date.getTime()\n );\n return !!currentDate;\n } else {\n return false;\n }\n } else {\n return this.isWithinRange(\n date.date,\n this.values[0],\n this.values[this.values.length - 1]\n );\n }\n }\n\n private isToday(day: ICalendarDate): boolean {\n const today = new Date(Date.now());\n const date = day.date;\n\n // TODO\n // if (date.getDate() === today.getDate()) {\n // this.nativeElement.setAttribute('aria-current', 'date');\n // }\n\n return (\n date.getFullYear() === today.getFullYear() &&\n date.getMonth() === today.getMonth() &&\n date.getDate() === today.getDate()\n );\n }\n\n private isWeekend(date: ICalendarDate): boolean {\n const day = date.date.getDay();\n return day === 0 || day === 6;\n }\n\n private isSpecial(day: ICalendarDate): boolean {\n if (this.specialDates === null) {\n return false;\n }\n\n return isDateInRanges(day.date, this.specialDates);\n }\n\n private dateClicked(event: Event, day: ICalendarDate) {\n event.stopPropagation();\n\n this.selectDay(day);\n\n this.changeActiveDate(day);\n }\n\n private selectDay(day: ICalendarDate) {\n if (this.rangePreviewDate) {\n this.setRangePreviewDate(undefined);\n }\n\n const result = this.selectDate(day.date);\n\n if (result) {\n this.emitEvent('igcChange', { detail: day.date });\n }\n }\n\n private selectDate(value: Date) {\n if (this.isDisabled(value)) {\n return false;\n }\n\n switch (this.selection) {\n case 'single':\n if (this.value?.getTime() === value.getTime()) {\n return false;\n }\n this.selectSingle(value);\n break;\n case 'multiple':\n this.selectMultiple(value);\n break;\n case 'range':\n this.selectRange(value);\n break;\n }\n\n return true;\n }\n\n private generateDateRange(start: Date, end: Date): Date[] {\n const result = [];\n start = getDateOnly(start);\n end = getDateOnly(end);\n while (start.getTime() < end.getTime()) {\n start = this.calendarModel.timedelta(start, TimeDeltaInterval.Day, 1);\n result.push(start);\n }\n\n return result;\n }\n\n private selectRange(value: Date) {\n let start: Date;\n let end: Date;\n let selectedDates: Date[] = (this.values ?? []) as Date[];\n\n if (selectedDates.length !== 1) {\n // start new range\n selectedDates = [value];\n } else {\n if (selectedDates[0].getTime() === value.getTime()) {\n this.values = [];\n return;\n }\n\n selectedDates.push(value);\n selectedDates.sort((a: Date, b: Date) => a.valueOf() - b.valueOf());\n\n start = selectedDates.shift()!;\n end = selectedDates.pop()!;\n selectedDates = [start, ...this.generateDateRange(start, end)];\n }\n\n // exclude disabled dates\n selectedDates = selectedDates.filter((d) => !this.isDisabled(d));\n\n this.values = [...selectedDates];\n }\n\n private selectSingle(value: Date) {\n this.value = getDateOnly(value);\n }\n\n private selectMultiple(value: Date) {\n let selectedDates: Date[] = (this.values ?? []) as Date[];\n const valueDateOnly = getDateOnly(value);\n const newSelection = [];\n\n if (\n selectedDates.every(\n (date: Date) => date.getTime() !== valueDateOnly.getTime()\n )\n ) {\n newSelection.push(valueDateOnly);\n } else {\n selectedDates = selectedDates.filter(\n (date: Date) => date.getTime() !== valueDateOnly.getTime()\n );\n }\n\n if (newSelection.length > 0) {\n selectedDates = selectedDates.concat(newSelection);\n }\n\n selectedDates = selectedDates.filter((d) => !this.isDisabled(d));\n selectedDates.sort((a: Date, b: Date) => a.valueOf() - b.valueOf());\n this.values = [...selectedDates];\n }\n\n private changeActiveDate(day: ICalendarDate) {\n this.activeDate = day.date;\n this.emitEvent('igcActiveDateChange', { detail: day });\n }\n\n private dateKeyDown(event: KeyboardEvent, day: ICalendarDate) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.selectDay(day);\n }\n }\n\n private changeRangePreview(date: Date) {\n if (\n this.selection === 'range' &&\n this.values &&\n this.values.length === 1 &&\n !isEqual(this.values[0], date)\n ) {\n this.setRangePreviewDate(date);\n }\n }\n\n private clearRangePreview() {\n if (this.rangePreviewDate) {\n this.setRangePreviewDate(undefined);\n }\n }\n\n private setRangePreviewDate(value?: Date) {\n this.rangePreviewDate = value;\n this.emitEvent('igcRangePreviewDateChange', { detail: value });\n }\n\n private resolveDayItemPartName(day: ICalendarDate) {\n const isInactive = day.isNextMonth || day.isPrevMonth;\n const isHidden =\n (this.hideLeadingDays && day.isPrevMonth) ||\n (this.hideTrailingDays && day.isNextMonth);\n const isDisabled = this.isDisabled(day.date);\n\n return {\n date: true,\n first: this.isFirstInRange(day),\n last: this.isLastInRange(day),\n selected: !isDisabled && this.isSelected(day),\n inactive: isInactive,\n hidden: isHidden,\n current: this.isToday(day),\n weekend: this.isWeekend(day),\n range: this.selection === 'range' && this.isRangeDate(day.date),\n special: this.isSpecial(day),\n disabled: isHidden || isDisabled,\n single: this.selection !== 'range',\n preview: this.isRangePreview(day.date),\n };\n }\n\n private renderWeekHeaders() {\n return html`<div role=\"row\" part=\"days-row first\">\n ${this.showWeekNumbers\n ? html`<span role=\"columnheader\" part=\"label week-number first\">\n <span part=\"week-number-inner first\"\n >${this.resourceStrings.weekLabel}</span\n >\n </span>`\n : ''}\n ${this.generateWeekHeader().map(\n (weekday) => html`<span\n role=\"columnheader\"\n part=\"label\"\n aria-label=${weekday.ariaLabel}\n >\n <span part=\"label-inner\">${this.titleCase(weekday.label)}</span>\n </span> `\n )}\n </div>`;\n }\n\n private renderDates() {\n return this.dates.map((week, i) => {\n const last = i === this.dates.length - 1;\n\n return html`<div role=\"row\" part=\"days-row\">\n ${this.showWeekNumbers\n ? html`<span\n role=\"rowheader\"\n part=${partNameMap({ 'week-number': true, last })}\n >\n <span part=${partNameMap({ 'week-number-inner': true, last })}\n >${this.getWeekNumber(week[0].date)}</span\n >\n </span>`\n : ''}\n ${week.map((day) => this.renderDateItem(day))}\n </div>`;\n });\n }\n\n private renderDateItem(day: ICalendarDate) {\n const datePartName = partNameMap(this.resolveDayItemPartName(day));\n const dateInnerPartName = datePartName.replace('date', 'date-inner');\n\n return html`<span part=${datePartName}>\n <span\n part=${dateInnerPartName}\n role=\"gridcell\"\n aria-label=${day.date.toLocaleString(this.locale, {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n })}\n aria-selected=${this.isSelected(day)}\n aria-disabled=${this.isDisabled(day.date)}\n tabindex=${this.active && areEqualDates(this.activeDate, day.date)\n ? 0\n : -1}\n @click=${(event: MouseEvent) => this.dateClicked(event, day)}\n @focus=${() => this.changeRangePreview(day.date)}\n @blur=${() => this.clearRangePreview()}\n @keydown=${(event: KeyboardEvent) => this.dateKeyDown(event, day)}\n @mouseenter=${() => this.changeRangePreview(day.date)}\n @mouseleave=${() => this.clearRangePreview()}\n >${this.formattedDate(day.date)}</span\n >\n </span>`;\n }\n\n protected override render() {\n return html`${this.renderWeekHeaders()} ${this.renderDates()}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-days-view': IgcDaysViewComponent;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"days-view.js","sourceRoot":"","sources":["../../../../src/components/calendar/days-view/days-view.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EACL,2BAA2B,GAE5B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EACL,wBAAwB,GAEzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,aAAa,EAEb,cAAc,EACd,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,0CAA0C,CAAC;AA2B5E,IAAqB,oBAAoB,GAAzC,MAAqB,oBAAqB,SAAQ,iBAAiB,CAGjE,wBAAwB,CAAC;IA8CzB;QACE,KAAK,EAAE,CAAC;QAnCH,oBAAe,GAAG,KAAK,CAAC;QAIxB,qBAAgB,GAAG,KAAK,CAAC;QAIzB,WAAM,GAAG,KAAK,CAAC;QAQf,kBAAa,GAA4C,QAAQ,CAAC;QAIlE,oBAAe,GAA+B,2BAA2B,CAAC;QAgB/E,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAdS,gBAAgB;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAIS,WAAW;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACvC,CAAC;IASM,eAAe;QACpB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE;YAC3D,OAAO,EAAE,IAAI,CAAC,aAAa;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE;YACzD,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,MAAM;YACb,GAAG,EAAE,SAAS;SACf,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB;QACxB,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAC9C,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAC7B,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAC3B,CAAC,CAAC,CAAC,CAAC;QACL,KAAK,MAAM,GAAG,IAAI,EAAE,EAAE;YACpB,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC7C,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;aACrE,CAAC,CAAC;SACJ;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,gBAAgB;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAC1C,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAC7B,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAC1B,IAAI,CACL,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,GAAW;QAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAEO,aAAa,CAAC,IAAU;QAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAEO,aAAa,CAAC,KAAW;QAC/B,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;IAC9B,CAAC;IAED,IAAY,iBAAiB;QAC3B,OAAO,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC;IACpC,CAAC;IAEO,aAAa,CAAC,IAAmB;QACvC,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACtE,OAAO,KAAK,CAAC;SACd;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEvC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,IAAI,CAAC,gBAAgB,GAAG,QAAQ,EAAE;gBACpC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;aAClC;SACF;QAED,OAAO,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAEO,cAAc,CAAC,IAAmB;QACxC,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACtE,OAAO,KAAK,CAAC;SACd;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEzB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,IAAI,CAAC,gBAAgB,GAAG,SAAS,EAAE;gBACrC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;aACnC;SACF;QAED,OAAO,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEO,UAAU,CAAC,IAAU;QAC3B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,OAAO,KAAK,CAAC;SACd;QAED,OAAO,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;IAEO,aAAa,CAAC,IAAU,EAAE,GAAS,EAAE,GAAS;QACpD,OAAO,cAAc,CAAC,IAAI,EAAE;YAC1B;gBACE,IAAI,EAAE,aAAa,CAAC,OAAO;gBAC3B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;aACtB;SACF,CAAC,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,IAAU;QAC5B,IACE,IAAI,CAAC,SAAS,KAAK,OAAO;YAC1B,CAAC,IAAI,CAAC,MAAM;YACZ,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EACxB;YACA,OAAO,KAAK,CAAC;SACd;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,GAAG,CAAC;QAER,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,OAAO,KAAK,CAAC;aACd;YAED,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC;SAC7B;aAAM;YACL,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC/B;QAED,OAAO,cAAc,CAAC,IAAI,EAAE;YAC1B;gBACE,IAAI,EAAE,aAAa,CAAC,OAAO;gBAC3B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;aACtB;SACF,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,IAAU;QAC/B,IACE,IAAI,CAAC,SAAS,KAAK,OAAO;YAC1B,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YACtB,IAAI,CAAC,gBAAgB,EACrB;YACA,OAAO,cAAc,CAAC,IAAI,EAAE;gBAC1B;oBACE,IAAI,EAAE,aAAa,CAAC,OAAO;oBAC3B,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC;iBACnD;aACF,CAAC,CAAC;SACJ;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,UAAU,CAAC,IAAmB;QACpC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC9B,OAAO,KAAK,CAAC;SACd;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACf,OAAO,KAAK,CAAC;aACd;YACD,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;SAClE;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,OAAO,KAAK,CAAC;SACd;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1D,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;SACtE;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,EAAE;YACjC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAE7D,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE;gBAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAClC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CACvD,CAAC;gBACF,OAAO,CAAC,CAAC,WAAW,CAAC;aACtB;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;SACF;aAAM;YACL,OAAO,IAAI,CAAC,aAAa,CACvB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CACpC,CAAC;SACH;IACH,CAAC;IAEO,OAAO,CAAC,GAAkB;QAChC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QAOtB,OAAO,CACL,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE;YAC1C,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,CACnC,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,IAAmB;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC/B,OAAO,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;IAChC,CAAC;IAEO,SAAS,CAAC,GAAkB;QAClC,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,OAAO,KAAK,CAAC;SACd;QAED,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;IAEO,WAAW,CAAC,KAAY,EAAE,GAAkB;QAClD,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAEO,SAAS,CAAC,GAAkB;QAClC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;SACrC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;SACnD;IACH,CAAC;IAEO,UAAU,CAAC,KAAW;;QAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YAC1B,OAAO,KAAK,CAAC;SACd;QAED,QAAQ,IAAI,CAAC,SAAS,EAAE;YACtB,KAAK,QAAQ;gBACX,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,EAAE,MAAK,KAAK,CAAC,OAAO,EAAE,EAAE;oBAC7C,OAAO,KAAK,CAAC;iBACd;gBACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACzB,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM;SACT;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,iBAAiB,CAAC,KAAW,EAAE,GAAS;QAC9C,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3B,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,KAAK,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,EAAE;YACtC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,WAAW,CAAC,KAAW;;QAC7B,IAAI,KAAW,CAAC;QAChB,IAAI,GAAS,CAAC;QACd,IAAI,aAAa,GAAW,CAAC,MAAA,IAAI,CAAC,MAAM,mCAAI,EAAE,CAAW,CAAC;QAE1D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAE9B,aAAa,GAAG,CAAC,KAAK,CAAC,CAAC;SACzB;aAAM;YACL,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE;gBAClD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gBACjB,OAAO;aACR;YAED,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,CAAC,CAAO,EAAE,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAEpE,KAAK,GAAG,aAAa,CAAC,KAAK,EAAG,CAAC;YAC/B,GAAG,GAAG,aAAa,CAAC,GAAG,EAAG,CAAC;YAC3B,aAAa,GAAG,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;SAChE;QAGD,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjE,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;IACnC,CAAC;IAEO,YAAY,CAAC,KAAW;QAC9B,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEO,cAAc,CAAC,KAAW;;QAChC,IAAI,aAAa,GAAW,CAAC,MAAA,IAAI,CAAC,MAAM,mCAAI,EAAE,CAAW,CAAC;QAC1D,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,IACE,aAAa,CAAC,KAAK,CACjB,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,aAAa,CAAC,OAAO,EAAE,CAC3D,EACD;YACA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAClC;aAAM;YACL,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,aAAa,CAAC,OAAO,EAAE,CAC3D,CAAC;SACH;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SACpD;QAED,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAO,EAAE,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;IACnC,CAAC;IAEO,gBAAgB,CAAC,GAAkB;QACzC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC;IAEO,WAAW,CAAC,KAAoB,EAAE,GAAkB;QAC1D,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;YAC9C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SACrB;IACH,CAAC;IAEO,kBAAkB,CAAC,IAAU;QACnC,IACE,IAAI,CAAC,SAAS,KAAK,OAAO;YAC1B,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YACxB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAC9B;YACA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SAChC;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;SACrC;IACH,CAAC;IAEO,mBAAmB,CAAC,KAAY;QACtC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,2BAA2B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;IAEO,sBAAsB,CAAC,GAAkB;QAC/C,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC;QACtD,MAAM,QAAQ,GACZ,CAAC,IAAI,CAAC,eAAe,IAAI,GAAG,CAAC,WAAW,CAAC;YACzC,CAAC,IAAI,CAAC,gBAAgB,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO;YACL,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;YAC7B,QAAQ,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAC7C,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAC1B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YAC5B,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;YAC/D,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YAC5B,QAAQ,EAAE,QAAQ,IAAI,UAAU;YAChC,MAAM,EAAE,IAAI,CAAC,SAAS,KAAK,OAAO;YAClC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;SACvC,CAAC;IACJ,CAAC;IAEO,iBAAiB;QACvB,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,eAAe;YACpB,CAAC,CAAC,IAAI,CAAA;;iBAEG,IAAI,CAAC,eAAe,CAAC,SAAS;;kBAE7B;YACV,CAAC,CAAC,EAAE;QACJ,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAC7B,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAA;;;uBAGF,OAAO,CAAC,SAAS;;qCAEH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;iBACjD,CACV;WACI,CAAC;IACV,CAAC;IAEO,WAAW;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YAChC,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAEzC,OAAO,IAAI,CAAA;UACP,IAAI,CAAC,eAAe;gBACpB,CAAC,CAAC,IAAI,CAAA;;qBAEK,WAAW,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;2BAEpC,WAAW,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;mBACxD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;;oBAE/B;gBACV,CAAC,CAAC,EAAE;UACJ,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;aACxC,CAAC;QACV,CAAC,CAAC,CAAC;IACL,CAAC;IAES,iBAAiB,CAAC,KAAoB;QAE9C,IACE,IAAI,CAAC,gBAAgB;YACrB,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,EAChD;YACA,OAAQ,IAAI,CAAC,cAAsB,CAAC,WAAW,CAC7C,IAAI,CAAC,MAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAClB,IAAI,CAAC,gBAAgB,CACtB,CAAC;SACH;QAGD,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YAC3D,OAAQ,IAAI,CAAC,cAAsB,CAAC,WAAW,CAC7C,IAAI,CAAC,MAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAClB,IAAI,CAAC,MAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CACpB,CAAC;SACH;QAGD,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAEO,cAAc,CAAC,GAAkB;QACvC,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAErE,OAAO,IAAI,CAAA,cAAc,YAAY;;eAE1B,iBAAiB;;qBAEX,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;wBACxB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;wBACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;mBAC9B,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC;YAChE,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,CAAC;iBACG,CAAC,KAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC;iBACnD,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;gBACxC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;mBAC3B,CAAC,KAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC;sBACnD,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;sBACvC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;WACzC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;;YAE3B,CAAC;IACX,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;IACjE,CAAC;CACF,CAAA;AA9hBwB,4BAAO,GAAG,eAAgB,CAAA;AACnC,2BAAM,GAAG,MAAO,CAAA;AAM9B;IADC,KAAK,CAAC,gBAAgB,CAAC;uDACQ;AAIhC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;6DAC7B;AAI/B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;8DAC7B;AAIhC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDACN;AAItB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;8DACA;AAI/B;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;2DAC8B;AAIzE;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;6DACkD;AAIjF;IAFC,KAAK,CAAC,eAAe,CAAC;IACtB,KAAK,CAAC,QAAQ,CAAC;4DAGf;AAID;IAFC,KAAK,CAAC,WAAW,CAAC;IAClB,KAAK,CAAC,YAAY,CAAC;uDAGnB;AA/CkB,oBAAoB;IANxC,uBAAuB;IACvB,oBAAoB;IACpB,MAAM,CAAC;QACN,SAAS;QACT,MAAM;KACP,CAAC;GACmB,oBAAoB,CAkiBxC;eAliBoB,oBAAoB","sourcesContent":["import { html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { themes } from '../../../theming/theming-decorator.js';\nimport { blazorIndirectRender } from '../../common/decorators/blazorIndirectRender.js';\nimport { blazorSuppressComponent } from '../../common/decorators/blazorSuppressComponent.js';\nimport { watch } from '../../common/decorators/watch.js';\nimport {\n IgcCalendarResourceStringEN,\n IgcCalendarResourceStrings,\n} from '../../common/i18n/calendar.resources.js';\nimport { Constructor } from '../../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../../common/mixins/event-emitter.js';\nimport { partNameMap } from '../../common/util.js';\nimport {\n IgcCalendarBaseComponent,\n IgcCalendarBaseEventMap,\n} from '../common/calendar-base.js';\nimport {\n DateRangeType,\n ICalendarDate,\n isDateInRanges,\n TimeDeltaInterval,\n} from '../common/calendar.model.js';\nimport { areEqualDates, getDateOnly, isEqual } from '../common/utils.js';\nimport { styles as bootstrap } from '../themes/bootstrap/days-view.bootstrap.css.js';\nimport { styles } from '../themes/days-view.base.css.js';\nimport { styles as fluent } from '../themes/fluent/days-view.fluent.css.js';\n\nexport interface IgcDaysViewEventMap extends IgcCalendarBaseEventMap {\n igcActiveDateChange: CustomEvent<ICalendarDate>;\n igcRangePreviewDateChange: CustomEvent<Date>;\n}\n\n/**\n * Instantiate a days view as a separate component in the calendar.\n *\n * @element igc-days-view\n *\n * @fires igcActiveDateChange - Emitted when the active date changes.\n * @fires igcRangePreviewDateChange - Emitted when the range preview date changes.\n *\n * @csspart days-row - The days row container.\n * @csspart label - The label container.\n * @csspart label-inner - The inner label container.\n * @csspart week-number - The week number container.\n * @csspart week-number-inner - The inner week number container.\n */\n@blazorSuppressComponent\n@blazorIndirectRender\n@themes({\n bootstrap,\n fluent,\n})\nexport default class IgcDaysViewComponent extends EventEmitterMixin<\n IgcDaysViewEventMap,\n Constructor<IgcCalendarBaseComponent>\n>(IgcCalendarBaseComponent) {\n public static readonly tagName = 'igc-days-view';\n public static styles = styles;\n private labelFormatter!: Intl.DateTimeFormat;\n private formatterWeekday!: Intl.DateTimeFormat;\n private dates!: ICalendarDate[][];\n\n @query('[tabindex=\"0\"]')\n private activeDay!: HTMLElement;\n\n /** Controls the visibility of the leading dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-leading-days' })\n public hideLeadingDays = false;\n\n /** Controls the visibility of the trailing dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-trailing-days' })\n public hideTrailingDays = false;\n\n /** Gets/sets the active state of the days view. */\n @property({ type: Boolean })\n public active = false;\n\n /** The range preview date. */\n @property({ attribute: false })\n public rangePreviewDate?: Date;\n\n /** The format of the days. Defaults to narrow. */\n @property({ attribute: 'week-day-format' })\n public weekDayFormat: 'long' | 'short' | 'narrow' | undefined = 'narrow';\n\n /** The resource strings. */\n @property({ attribute: false })\n public resourceStrings: IgcCalendarResourceStrings = IgcCalendarResourceStringEN;\n\n @watch('weekDayFormat')\n @watch('locale')\n protected formattersChange() {\n this.initFormatters();\n }\n\n @watch('weekStart')\n @watch('activeDate')\n protected datesChange() {\n this.dates = this.getCalendarMonth();\n }\n\n constructor() {\n super();\n this.setAttribute('role', 'grid');\n this.initFormatters();\n }\n\n /** Focuses the active date. */\n public focusActiveDate() {\n this.activeDay.focus();\n }\n\n private initFormatters() {\n this.formatterWeekday = new Intl.DateTimeFormat(this.locale, {\n weekday: this.weekDayFormat,\n });\n this.labelFormatter = new Intl.DateTimeFormat(this.locale, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n });\n }\n\n private generateWeekHeader(): { label: string; ariaLabel: string }[] {\n const dayNames = [];\n const rv = this.calendarModel.monthdatescalendar(\n this.activeDate.getFullYear(),\n this.activeDate.getMonth()\n )[0];\n for (const day of rv) {\n dayNames.push({\n label: this.formatterWeekday.format(day.date),\n ariaLabel: day.date.toLocaleString(this.locale, { weekday: 'long' }),\n });\n }\n\n return dayNames;\n }\n\n private getCalendarMonth(): ICalendarDate[][] {\n return this.calendarModel.monthdatescalendar(\n this.activeDate.getFullYear(),\n this.activeDate.getMonth(),\n true\n );\n }\n\n private titleCase(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n private getWeekNumber(date: Date): number {\n return this.calendarModel.getWeekNumber(date);\n }\n\n private formattedDate(value: Date): string {\n return `${value.getDate()}`;\n }\n\n private get isSingleSelection(): boolean {\n return this.selection !== 'range';\n }\n\n private isLastInRange(date: ICalendarDate): boolean {\n if (this.isSingleSelection || !this.values || this.values.length === 0) {\n return false;\n }\n\n const dates = this.values;\n let lastDate = dates[dates.length - 1];\n\n if (this.rangePreviewDate) {\n if (this.rangePreviewDate > lastDate) {\n lastDate = this.rangePreviewDate;\n }\n }\n\n return isEqual(lastDate, date.date);\n }\n\n private isFirstInRange(date: ICalendarDate): boolean {\n if (this.isSingleSelection || !this.values || this.values.length === 0) {\n return false;\n }\n\n const dates = this.values;\n let firstDate = dates[0];\n\n if (this.rangePreviewDate) {\n if (this.rangePreviewDate < firstDate) {\n firstDate = this.rangePreviewDate;\n }\n }\n\n return isEqual(firstDate, date.date);\n }\n\n private isDisabled(date: Date): boolean {\n if (!this.disabledDates) {\n return false;\n }\n\n return isDateInRanges(date, this.disabledDates);\n }\n\n private isWithinRange(date: Date, min: Date, max: Date): boolean {\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [min, max],\n },\n ]);\n }\n\n private isRangeDate(date: Date) {\n if (\n this.selection !== 'range' ||\n !this.values ||\n this.values.length === 0\n ) {\n return false;\n }\n\n const dates = this.values;\n const min = dates[0];\n let max;\n\n if (dates.length === 1) {\n if (!this.rangePreviewDate) {\n return false;\n }\n\n max = this.rangePreviewDate;\n } else {\n max = dates[dates.length - 1];\n }\n\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [min, max],\n },\n ]);\n }\n\n private isRangePreview(date: Date) {\n if (\n this.selection === 'range' &&\n this.values &&\n this.values.length > 0 &&\n this.rangePreviewDate\n ) {\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [this.values[0], this.rangePreviewDate],\n },\n ]);\n }\n\n return false;\n }\n\n private isSelected(date: ICalendarDate) {\n if (this.isDisabled(date.date)) {\n return false;\n }\n\n if (this.selection === 'single') {\n if (!this.value) {\n return false;\n }\n return getDateOnly(this.value).getTime() === date.date.getTime();\n }\n\n if (!this.values || this.values.length === 0) {\n return false;\n }\n\n if (this.selection === 'range' && this.values.length === 1) {\n return getDateOnly(this.values[0]).getTime() === date.date.getTime();\n }\n\n if (this.selection === 'multiple') {\n const start = getDateOnly(this.values[0]);\n const end = getDateOnly(this.values[this.values.length - 1]);\n\n if (this.isWithinRange(date.date, start, end)) {\n const currentDate = this.values.find(\n (element) => element.getTime() === date.date.getTime()\n );\n return !!currentDate;\n } else {\n return false;\n }\n } else {\n return this.isWithinRange(\n date.date,\n this.values[0],\n this.values[this.values.length - 1]\n );\n }\n }\n\n private isToday(day: ICalendarDate): boolean {\n const today = new Date(Date.now());\n const date = day.date;\n\n // TODO\n // if (date.getDate() === today.getDate()) {\n // this.nativeElement.setAttribute('aria-current', 'date');\n // }\n\n return (\n date.getFullYear() === today.getFullYear() &&\n date.getMonth() === today.getMonth() &&\n date.getDate() === today.getDate()\n );\n }\n\n private isWeekend(date: ICalendarDate): boolean {\n const day = date.date.getDay();\n return day === 0 || day === 6;\n }\n\n private isSpecial(day: ICalendarDate): boolean {\n if (this.specialDates === null) {\n return false;\n }\n\n return isDateInRanges(day.date, this.specialDates);\n }\n\n private dateClicked(event: Event, day: ICalendarDate) {\n event.stopPropagation();\n\n this.selectDay(day);\n\n this.changeActiveDate(day);\n }\n\n private selectDay(day: ICalendarDate) {\n if (this.rangePreviewDate) {\n this.setRangePreviewDate(undefined);\n }\n\n const result = this.selectDate(day.date);\n\n if (result) {\n this.emitEvent('igcChange', { detail: day.date });\n }\n }\n\n private selectDate(value: Date) {\n if (this.isDisabled(value)) {\n return false;\n }\n\n switch (this.selection) {\n case 'single':\n if (this.value?.getTime() === value.getTime()) {\n return false;\n }\n this.selectSingle(value);\n break;\n case 'multiple':\n this.selectMultiple(value);\n break;\n case 'range':\n this.selectRange(value);\n break;\n }\n\n return true;\n }\n\n private generateDateRange(start: Date, end: Date): Date[] {\n const result = [];\n start = getDateOnly(start);\n end = getDateOnly(end);\n while (start.getTime() < end.getTime()) {\n start = this.calendarModel.timedelta(start, TimeDeltaInterval.Day, 1);\n result.push(start);\n }\n\n return result;\n }\n\n private selectRange(value: Date) {\n let start: Date;\n let end: Date;\n let selectedDates: Date[] = (this.values ?? []) as Date[];\n\n if (selectedDates.length !== 1) {\n // start new range\n selectedDates = [value];\n } else {\n if (selectedDates[0].getTime() === value.getTime()) {\n this.values = [];\n return;\n }\n\n selectedDates.push(value);\n selectedDates.sort((a: Date, b: Date) => a.valueOf() - b.valueOf());\n\n start = selectedDates.shift()!;\n end = selectedDates.pop()!;\n selectedDates = [start, ...this.generateDateRange(start, end)];\n }\n\n // exclude disabled dates\n selectedDates = selectedDates.filter((d) => !this.isDisabled(d));\n\n this.values = [...selectedDates];\n }\n\n private selectSingle(value: Date) {\n this.value = getDateOnly(value);\n }\n\n private selectMultiple(value: Date) {\n let selectedDates: Date[] = (this.values ?? []) as Date[];\n const valueDateOnly = getDateOnly(value);\n const newSelection = [];\n\n if (\n selectedDates.every(\n (date: Date) => date.getTime() !== valueDateOnly.getTime()\n )\n ) {\n newSelection.push(valueDateOnly);\n } else {\n selectedDates = selectedDates.filter(\n (date: Date) => date.getTime() !== valueDateOnly.getTime()\n );\n }\n\n if (newSelection.length > 0) {\n selectedDates = selectedDates.concat(newSelection);\n }\n\n selectedDates = selectedDates.filter((d) => !this.isDisabled(d));\n selectedDates.sort((a: Date, b: Date) => a.valueOf() - b.valueOf());\n this.values = [...selectedDates];\n }\n\n private changeActiveDate(day: ICalendarDate) {\n this.activeDate = day.date;\n this.emitEvent('igcActiveDateChange', { detail: day });\n }\n\n private dateKeyDown(event: KeyboardEvent, day: ICalendarDate) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.selectDay(day);\n }\n }\n\n private changeRangePreview(date: Date) {\n if (\n this.selection === 'range' &&\n this.values &&\n this.values.length === 1 &&\n !isEqual(this.values[0], date)\n ) {\n this.setRangePreviewDate(date);\n }\n }\n\n private clearRangePreview() {\n if (this.rangePreviewDate) {\n this.setRangePreviewDate(undefined);\n }\n }\n\n private setRangePreviewDate(value?: Date) {\n this.rangePreviewDate = value;\n this.emitEvent('igcRangePreviewDateChange', { detail: value });\n }\n\n private resolveDayItemPartName(day: ICalendarDate) {\n const isInactive = day.isNextMonth || day.isPrevMonth;\n const isHidden =\n (this.hideLeadingDays && day.isPrevMonth) ||\n (this.hideTrailingDays && day.isNextMonth);\n const isDisabled = this.isDisabled(day.date);\n\n return {\n date: true,\n first: this.isFirstInRange(day),\n last: this.isLastInRange(day),\n selected: !isDisabled && this.isSelected(day),\n inactive: isInactive,\n hidden: isHidden,\n current: this.isToday(day),\n weekend: this.isWeekend(day),\n range: this.selection === 'range' && this.isRangeDate(day.date),\n special: this.isSpecial(day),\n disabled: isHidden || isDisabled,\n single: this.selection !== 'range',\n preview: this.isRangePreview(day.date),\n };\n }\n\n private renderWeekHeaders() {\n return html`<div role=\"row\" part=\"days-row first\">\n ${this.showWeekNumbers\n ? html`<span role=\"columnheader\" part=\"label week-number first\">\n <span part=\"week-number-inner first\"\n >${this.resourceStrings.weekLabel}</span\n >\n </span>`\n : ''}\n ${this.generateWeekHeader().map(\n (weekday) => html`<span\n role=\"columnheader\"\n part=\"label\"\n aria-label=${weekday.ariaLabel}\n >\n <span part=\"label-inner\">${this.titleCase(weekday.label)}</span>\n </span> `\n )}\n </div>`;\n }\n\n private renderDates() {\n return this.dates.map((week, i) => {\n const last = i === this.dates.length - 1;\n\n return html`<div role=\"row\" part=\"days-row\">\n ${this.showWeekNumbers\n ? html`<span\n role=\"rowheader\"\n part=${partNameMap({ 'week-number': true, last })}\n >\n <span part=${partNameMap({ 'week-number-inner': true, last })}\n >${this.getWeekNumber(week[0].date)}</span\n >\n </span>`\n : ''}\n ${week.map((day) => this.renderDateItem(day))}\n </div>`;\n });\n }\n\n protected dayLabelFormatter(value: ICalendarDate) {\n // Range selection in progress\n if (\n this.rangePreviewDate &&\n areEqualDates(this.rangePreviewDate, value.date)\n ) {\n return (this.labelFormatter as any).formatRange(\n this.values!.at(0),\n this.rangePreviewDate\n );\n }\n\n // Range selection finished\n if (this.isFirstInRange(value) || this.isLastInRange(value)) {\n return (this.labelFormatter as any).formatRange(\n this.values!.at(0),\n this.values!.at(-1)\n );\n }\n\n // Default\n return this.labelFormatter.format(value.date);\n }\n\n private renderDateItem(day: ICalendarDate) {\n const datePartName = partNameMap(this.resolveDayItemPartName(day));\n const dateInnerPartName = datePartName.replace('date', 'date-inner');\n\n return html`<span part=${datePartName}>\n <span\n part=${dateInnerPartName}\n role=\"gridcell\"\n aria-label=${this.dayLabelFormatter(day)}\n aria-selected=${this.isSelected(day)}\n aria-disabled=${this.isDisabled(day.date)}\n tabindex=${this.active && areEqualDates(this.activeDate, day.date)\n ? 0\n : -1}\n @click=${(event: MouseEvent) => this.dateClicked(event, day)}\n @focus=${() => this.changeRangePreview(day.date)}\n @blur=${() => this.clearRangePreview()}\n @keydown=${(event: KeyboardEvent) => this.dateKeyDown(event, day)}\n @mouseenter=${() => this.changeRangePreview(day.date)}\n @mouseleave=${() => this.clearRangePreview()}\n >${this.formattedDate(day.date)}</span\n >\n </span>`;\n }\n\n protected override render() {\n return html`${this.renderWeekHeaders()} ${this.renderDates()}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-days-view': IgcDaysViewComponent;\n }\n}\n"]}
|
|
@@ -1,6 +1,40 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
2
|
export const styles = css `/* stylelint-disable max-line-length */
|
|
3
|
+
:host {
|
|
4
|
+
--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
|
|
5
|
+
--is-medium:
|
|
6
|
+
min(
|
|
7
|
+
clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
|
|
8
|
+
clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
|
|
9
|
+
);
|
|
10
|
+
--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
|
|
11
|
+
position: relative;
|
|
12
|
+
-webkit-box-sizing: border-box;
|
|
13
|
+
box-sizing: border-box;
|
|
14
|
+
scrollbar-width: var(--ig-scrollbar-size);
|
|
15
|
+
scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);
|
|
16
|
+
}
|
|
17
|
+
:host *,
|
|
18
|
+
:host *::before,
|
|
19
|
+
:host *::after {
|
|
20
|
+
-webkit-box-sizing: border-box;
|
|
21
|
+
box-sizing: border-box;
|
|
22
|
+
}
|
|
23
|
+
:host ::-webkit-scrollbar {
|
|
24
|
+
width: var(--ig-scrollbar-size);
|
|
25
|
+
height: var(--ig-scrollbar-size);
|
|
26
|
+
background: var(--ig-scrollbar-track-background);
|
|
27
|
+
}
|
|
28
|
+
:host ::-webkit-scrollbar-thumb {
|
|
29
|
+
background: var(--ig-scrollbar-thumb-background);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
[hidden] {
|
|
33
|
+
display: none !important;
|
|
34
|
+
}
|
|
35
|
+
|
|
3
36
|
:host(igc-calendar) {
|
|
37
|
+
--size: max(var(--is-large, 1) * 2rem, var(--is-medium, 1) * 1.75rem, var(--is-small, 1) * 1.5rem);
|
|
4
38
|
display: -webkit-box;
|
|
5
39
|
display: -ms-flexbox;
|
|
6
40
|
display: flex;
|
|
@@ -15,107 +49,50 @@ export const styles = css `/* stylelint-disable max-line-length */
|
|
|
15
49
|
:host(igc-calendar) > * {
|
|
16
50
|
font-family: var(--ig-font-family);
|
|
17
51
|
}
|
|
18
|
-
|
|
19
|
-
:host(igc-calendar
|
|
20
|
-
:host(igc-calendar
|
|
21
|
-
:host(igc-calendar
|
|
22
|
-
:
|
|
23
|
-
height: 2rem;
|
|
24
|
-
}
|
|
25
|
-
:host(igc-calendar[size=large]) igc-days-view::part(week-number-inner),
|
|
26
|
-
:host(igc-calendar[size=large]) igc-days-view::part(date-inner) {
|
|
27
|
-
width: calc(2rem - 0.125rem);
|
|
28
|
-
min-width: calc(2rem - 0.125rem);
|
|
29
|
-
height: 100%;
|
|
30
|
-
}
|
|
31
|
-
:host(igc-calendar[size=large]) igc-days-view::part(label) {
|
|
32
|
-
min-width: 2rem;
|
|
33
|
-
height: 2rem;
|
|
34
|
-
}
|
|
35
|
-
:host(igc-calendar[size=large]) igc-days-view::part(date-inner) {
|
|
36
|
-
border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 1.125rem), 1.125rem);
|
|
52
|
+
:host(igc-calendar) igc-days-view::part(date),
|
|
53
|
+
:host(igc-calendar) igc-days-view::part(week-number),
|
|
54
|
+
:host(igc-calendar) igc-days-view::part(label),
|
|
55
|
+
:host(igc-calendar) igc-days-view::part(days-row) {
|
|
56
|
+
height: var(--size);
|
|
37
57
|
}
|
|
38
|
-
:host(igc-calendar
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
:
|
|
42
|
-
height: 2rem;
|
|
43
|
-
border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 1.125rem), 1.125rem);
|
|
44
|
-
}
|
|
45
|
-
:host(igc-calendar[size=large]) igc-years-view {
|
|
46
|
-
grid-template-rows: repeat(5, minmax(2rem, 1fr));
|
|
47
|
-
}
|
|
48
|
-
:host(igc-calendar[size=large]) igc-years-view::part(year-inner) {
|
|
49
|
-
height: 2rem;
|
|
50
|
-
border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 1.125rem), 1.125rem);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
:host(igc-calendar[size=medium]) igc-days-view::part(date),
|
|
54
|
-
:host(igc-calendar[size=medium]) igc-days-view::part(week-number),
|
|
55
|
-
:host(igc-calendar[size=medium]) igc-days-view::part(label),
|
|
56
|
-
:host(igc-calendar[size=medium]) igc-days-view::part(days-row) {
|
|
57
|
-
height: 1.75rem;
|
|
58
|
-
}
|
|
59
|
-
:host(igc-calendar[size=medium]) igc-days-view::part(week-number-inner),
|
|
60
|
-
:host(igc-calendar[size=medium]) igc-days-view::part(date-inner) {
|
|
61
|
-
width: calc(1.75rem - 0.125rem);
|
|
62
|
-
min-width: calc(1.75rem - 0.125rem);
|
|
58
|
+
:host(igc-calendar) igc-days-view::part(week-number-inner),
|
|
59
|
+
:host(igc-calendar) igc-days-view::part(date-inner) {
|
|
60
|
+
width: calc(var(--size) - 0.125rem);
|
|
61
|
+
min-width: calc(var(--size) - 0.125rem);
|
|
63
62
|
height: 100%;
|
|
64
63
|
}
|
|
65
|
-
:host(igc-calendar
|
|
66
|
-
min-width:
|
|
67
|
-
height:
|
|
64
|
+
:host(igc-calendar) igc-days-view::part(label) {
|
|
65
|
+
min-width: var(--size);
|
|
66
|
+
height: var(--size);
|
|
68
67
|
}
|
|
69
|
-
:host(igc-calendar
|
|
70
|
-
border-radius: clamp(0rem, calc(var(--ig-radius-factor) *
|
|
68
|
+
:host(igc-calendar) igc-days-view::part(date-inner) {
|
|
69
|
+
border-radius: clamp(0rem, calc(var(--ig-radius-factor) * calc(calc(var(--size) / 2) + 0.125rem)), calc(calc(var(--size) / 2) + 0.125rem));
|
|
71
70
|
}
|
|
72
|
-
:host(igc-calendar
|
|
73
|
-
grid-template-rows: repeat(4, minmax(
|
|
71
|
+
:host(igc-calendar) igc-months-view {
|
|
72
|
+
grid-template-rows: repeat(4, minmax(var(--size), 1fr));
|
|
74
73
|
}
|
|
75
|
-
:host(igc-calendar
|
|
76
|
-
height:
|
|
77
|
-
border-radius: clamp(0rem, calc(var(--ig-radius-factor) *
|
|
74
|
+
:host(igc-calendar) igc-months-view::part(month-inner) {
|
|
75
|
+
height: var(--size);
|
|
76
|
+
border-radius: clamp(0rem, calc(var(--ig-radius-factor) * calc(calc(var(--size) / 2) + 0.125rem)), calc(calc(var(--size) / 2) + 0.125rem));
|
|
78
77
|
}
|
|
79
|
-
:host(igc-calendar
|
|
80
|
-
grid-template-rows: repeat(5, minmax(
|
|
78
|
+
:host(igc-calendar) igc-years-view {
|
|
79
|
+
grid-template-rows: repeat(5, minmax(var(--size), 1fr));
|
|
81
80
|
}
|
|
82
|
-
:host(igc-calendar
|
|
83
|
-
height:
|
|
84
|
-
border-radius: clamp(0rem, calc(var(--ig-radius-factor) *
|
|
81
|
+
:host(igc-calendar) igc-years-view::part(year-inner) {
|
|
82
|
+
height: var(--size);
|
|
83
|
+
border-radius: clamp(0rem, calc(var(--ig-radius-factor) * calc(calc(var(--size) / 2) + 0.125rem)), calc(calc(var(--size) / 2) + 0.125rem));
|
|
85
84
|
}
|
|
86
85
|
|
|
87
|
-
:host(igc-calendar[size=
|
|
88
|
-
:
|
|
89
|
-
:host(igc-calendar[size=small]) igc-days-view::part(label),
|
|
90
|
-
:host(igc-calendar[size=small]) igc-days-view::part(days-row) {
|
|
91
|
-
height: 1.5rem;
|
|
92
|
-
}
|
|
93
|
-
:host(igc-calendar[size=small]) igc-days-view::part(week-number-inner),
|
|
94
|
-
:host(igc-calendar[size=small]) igc-days-view::part(date-inner) {
|
|
95
|
-
width: calc(1.5rem - 0.125rem);
|
|
96
|
-
min-width: calc(1.5rem - 0.125rem);
|
|
97
|
-
height: 100%;
|
|
86
|
+
:host(igc-calendar[size=large]) {
|
|
87
|
+
--component-size: var(--ig-size, var(--ig-size-large));
|
|
98
88
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
:host(igc-calendar[size=small]) igc-days-view::part(date-inner) {
|
|
104
|
-
border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.875rem), 0.875rem);
|
|
105
|
-
}
|
|
106
|
-
:host(igc-calendar[size=small]) igc-months-view {
|
|
107
|
-
grid-template-rows: repeat(4, minmax(1.5rem, 1fr));
|
|
108
|
-
}
|
|
109
|
-
:host(igc-calendar[size=small]) igc-months-view::part(month-inner) {
|
|
110
|
-
height: 1.5rem;
|
|
111
|
-
border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.875rem), 0.875rem);
|
|
112
|
-
}
|
|
113
|
-
:host(igc-calendar[size=small]) igc-years-view {
|
|
114
|
-
grid-template-rows: repeat(6, minmax(1.5rem, 1fr));
|
|
89
|
+
|
|
90
|
+
:host(igc-calendar[size=medium]) {
|
|
91
|
+
--component-size: var(--ig-size, var(--ig-size-medium));
|
|
115
92
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
93
|
+
|
|
94
|
+
:host(igc-calendar[size=small]) {
|
|
95
|
+
--component-size: var(--ig-size, var(--ig-size-small));
|
|
119
96
|
}
|
|
120
97
|
|
|
121
98
|
[part=navigation] {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.base.css.js","sourceRoot":"","sources":["../../../../src/components/calendar/themes/calendar.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"calendar.base.css.js","sourceRoot":"","sources":["../../../../src/components/calendar/themes/calendar.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8PvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`/* stylelint-disable max-line-length */\n:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium:\n min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--ig-scrollbar-size);\n scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--ig-scrollbar-size);\n height: var(--ig-scrollbar-size);\n background: var(--ig-scrollbar-track-background);\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--ig-scrollbar-thumb-background);\n}\n\n[hidden] {\n display: none !important;\n}\n\n:host(igc-calendar) {\n --size: max(var(--is-large, 1) * 2rem, var(--is-medium, 1) * 1.75rem, var(--is-small, 1) * 1.5rem);\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n font-family: var(--ig-font-family);\n background: hsla(var(--ig-surface-500), var(--ig-surface-a));\n color: var(--ig-surface-500-contrast);\n}\n:host(igc-calendar) > * {\n font-family: var(--ig-font-family);\n}\n:host(igc-calendar) igc-days-view::part(date),\n:host(igc-calendar) igc-days-view::part(week-number),\n:host(igc-calendar) igc-days-view::part(label),\n:host(igc-calendar) igc-days-view::part(days-row) {\n height: var(--size);\n}\n:host(igc-calendar) igc-days-view::part(week-number-inner),\n:host(igc-calendar) igc-days-view::part(date-inner) {\n width: calc(var(--size) - 0.125rem);\n min-width: calc(var(--size) - 0.125rem);\n height: 100%;\n}\n:host(igc-calendar) igc-days-view::part(label) {\n min-width: var(--size);\n height: var(--size);\n}\n:host(igc-calendar) igc-days-view::part(date-inner) {\n border-radius: clamp(0rem, calc(var(--ig-radius-factor) * calc(calc(var(--size) / 2) + 0.125rem)), calc(calc(var(--size) / 2) + 0.125rem));\n}\n:host(igc-calendar) igc-months-view {\n grid-template-rows: repeat(4, minmax(var(--size), 1fr));\n}\n:host(igc-calendar) igc-months-view::part(month-inner) {\n height: var(--size);\n border-radius: clamp(0rem, calc(var(--ig-radius-factor) * calc(calc(var(--size) / 2) + 0.125rem)), calc(calc(var(--size) / 2) + 0.125rem));\n}\n:host(igc-calendar) igc-years-view {\n grid-template-rows: repeat(5, minmax(var(--size), 1fr));\n}\n:host(igc-calendar) igc-years-view::part(year-inner) {\n height: var(--size);\n border-radius: clamp(0rem, calc(var(--ig-radius-factor) * calc(calc(var(--size) / 2) + 0.125rem)), calc(calc(var(--size) / 2) + 0.125rem));\n}\n\n:host(igc-calendar[size=large]) {\n --component-size: var(--ig-size, var(--ig-size-large));\n}\n\n:host(igc-calendar[size=medium]) {\n --component-size: var(--ig-size, var(--ig-size-medium));\n}\n\n:host(igc-calendar[size=small]) {\n --component-size: var(--ig-size, var(--ig-size-small));\n}\n\n[part=navigation] {\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n height: 1.25rem;\n padding: 1.5625rem 1.125rem;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n[part=months-navigation],\n[part=years-navigation],\n[part~=navigation-button] {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background: transparent;\n border: none;\n color: hsla(var(--ig-gray-800), var(--ig-gray-a));\n font-size: 1rem;\n padding: 0;\n -webkit-transition: color 150ms ease-in-out;\n -o-transition: color 150ms ease-in-out;\n transition: color 150ms ease-in-out;\n}\n[part=months-navigation]:hover, [part=months-navigation]:focus,\n[part=years-navigation]:hover,\n[part=years-navigation]:focus,\n[part~=navigation-button]:hover,\n[part~=navigation-button]:focus {\n color: hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n cursor: pointer;\n}\n[part=months-navigation]:focus,\n[part=years-navigation]:focus,\n[part~=navigation-button]:focus {\n outline: none;\n}\n\n[part~=navigation-button] {\n -webkit-margin-start: 1.5rem;\n margin-inline-start: 1.5rem;\n}\n[part~=navigation-button][part~=vertical] {\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n[part=navigation-buttons] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n:host(igc-calendar[header-orientation=vertical]) {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n:host(igc-calendar[header-orientation=vertical]) [part=header] {\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n width: 8.75rem;\n}\n:host(igc-calendar[header-orientation=vertical]) [part=header-date] {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n[part=days-view-container] {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n}\n\n[part=header] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 1rem;\n background: hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n color: var(--ig-secondary-600-contrast);\n}\n\n[part=header-date],\n[part=header-title] {\n margin: 0;\n}\n\n[part=header-date] {\n font-family: var(--ig-h4-font-family);\n font-size: var(--ig-h4-font-size);\n font-weight: var(--ig-h4-font-weight);\n font-style: var(--ig-h4-font-style);\n line-height: var(--ig-h4-line-height);\n letter-spacing: var(--ig-h4-letter-spacing);\n text-transform: var(--ig-h4-text-transform);\n margin-top: var(--ig-h4-margin-top);\n margin-bottom: var(--ig-h4-margin-bottom);\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n white-space: pre-wrap;\n}\n\n[part=header-title] {\n font-family: var(--ig-overline-font-family);\n font-size: var(--ig-overline-font-size);\n font-weight: var(--ig-overline-font-weight);\n font-style: var(--ig-overline-font-style);\n line-height: var(--ig-overline-line-height);\n letter-spacing: var(--ig-overline-letter-spacing);\n text-transform: var(--ig-overline-text-transform);\n margin-top: var(--ig-overline-margin-top);\n margin-bottom: var(--ig-overline-margin-bottom);\n}\n\n.aria-off-screen {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n border: none;\n clip: rect(0, 0, 0, 0);\n outline: 0;\n pointer-events: none;\n overflow: hidden;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}`;\n"]}
|
|
@@ -161,7 +161,6 @@ export const styles = css `/* stylelint-disable max-line-length */
|
|
|
161
161
|
inset-inline-end: 50%;
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
[part~=date-inner][part~=weekend],
|
|
165
164
|
[part~=date-inner][part~=inactive],
|
|
166
165
|
[part~=date-inner][part~=label],
|
|
167
166
|
[part~=date-inner][part~=disabled] {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"days-view.base.css.js","sourceRoot":"","sources":["../../../../src/components/calendar/themes/days-view.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6RvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`/* stylelint-disable max-line-length */\n:host([part=days-view]) {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n min-width: 18.125rem;\n outline: none;\n padding: 0 0.75rem 1rem 0.75rem;\n overflow: hidden;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n gap: 0.375rem;\n}\n\n[part~=days-row] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n[part~=date-inner] {\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n z-index: 2;\n}\n[part~=date-inner]:hover, [part~=date-inner]:focus {\n background: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n color: var(--ig-secondary-100-contrast);\n border-color: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n}\n\n[part~=date-inner][part~=current][part~=selected] {\n -webkit-box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-surface-500), var(--ig-surface-a)), 0 0 0 0.0625rem hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-surface-500), var(--ig-surface-a)), 0 0 0 0.0625rem hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n}\n\n[part~=current][part~=date-inner] {\n -webkit-box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-gray-600), var(--ig-gray-a));\n box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-gray-600), var(--ig-gray-a));\n}\n[part~=current][part~=date-inner]:hover, [part~=current][part~=date-inner]:focus {\n -webkit-box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-surface-500), var(--ig-surface-a));\n box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-surface-500), var(--ig-surface-a));\n}\n\n[part~=date],\n[part~=week-number],\n[part~=label] {\n font-size: var(--ig-subtitle-1-font-size);\n width: 100%;\n color: hsla(var(--ig-gray-800), var(--ig-gray-a));\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n outline: none;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n border-top: 0.0625rem solid transparent;\n border-bottom: 0.0625rem solid transparent;\n}\n\n[part=label-inner] {\n -o-text-overflow: ellipsis;\n text-overflow: ellipsis;\n overflow: hidden;\n min-width: 4ch;\n text-align: center;\n}\n\n[part~=date-inner],\n[part~=week-number-inner] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n border: 0.0625rem solid transparent;\n}\n[part~=date-inner]:focus,\n[part~=week-number-inner]:focus {\n outline: none;\n}\n\n[part~=date][part~=range] {\n background: hsla(var(--ig-secondary-50), var(--ig-secondary-a));\n}\n\n[part~=date][part~=range][part~=preview] {\n background: transparent;\n border-top: 0.0625rem dashed hsla(var(--ig-gray-300), var(--ig-gray-a));\n border-bottom: 0.0625rem dashed hsla(var(--ig-gray-300), var(--ig-gray-a));\n}\n\n[part~=date][part~=range][part~=preview][part~=first],\n[part~=date][part~=range][part~=preview][part~=last] {\n background: transparent;\n border-top-color: transparent;\n border-bottom-color: transparent;\n}\n[part~=date][part~=range][part~=preview][part~=first]::after,\n[part~=date][part~=range][part~=preview][part~=last]::after {\n border-top: 0.0625rem dashed hsla(var(--ig-gray-300), var(--ig-gray-a));\n border-bottom: 0.0625rem dashed hsla(var(--ig-gray-300), var(--ig-gray-a));\n background: transparent;\n}\n\n[part~=date][part~=range][part~=first],\n[part~=date][part~=range][part~=last] {\n background: transparent;\n}\n[part~=date][part~=range][part~=first]::after,\n[part~=date][part~=range][part~=last]::after {\n content: \"\";\n position: absolute;\n height: 100%;\n width: calc(50% + 0.0625rem);\n background: hsla(var(--ig-secondary-50), var(--ig-secondary-a));\n border-top: 0.0625rem solid hsla(var(--ig-secondary-50), var(--ig-secondary-a));\n border-bottom: 0.0625rem solid hsla(var(--ig-secondary-50), var(--ig-secondary-a));\n z-index: 1;\n}\n\n[part~=date][part~=range][part~=first]::after {\n inset-inline-start: 50%;\n}\n\n[part~=date][part~=range][part~=last]::after {\n inset-inline-end: calc(50% - 0.0625rem);\n}\n\n[part~=date][part~=range] + [part~=date][part~=range][part~=last]::after {\n inset-inline-end: 50%;\n}\n\n[part~=date-inner][part~=weekend],\n[part~=date-inner][part~=inactive],\n[part~=date-inner][part~=label],\n[part~=date-inner][part~=disabled] {\n color: hsla(var(--ig-gray-500), var(--ig-gray-a));\n}\n\n[part~=date-inner][part~=weekend]:hover, [part~=date-inner][part~=weekend]:focus,\n[part~=date-inner][part~=inactive]:hover,\n[part~=date-inner][part~=inactive]:focus {\n color: var(--ig-secondary-100-contrast);\n}\n\n[part~=date-inner][part~=selected][part~=range][part~=first],\n[part~=date-inner][part~=selected][part~=range][part~=last],\n[part~=date-inner][part~=selected][part~=range][part~=weekend][part~=first],\n[part~=date-inner][part~=selected][part~=range][part~=weekend][part~=last],\n[part~=date-inner][part~=selected][part~=range][part~=inactive][part~=first],\n[part~=date-inner][part~=selected][part~=range][part~=inactive][part~=last] {\n color: var(--ig-secondary-700-contrast);\n}\n\n[part~=date-inner][part~=selected][part~=range][part~=weekend],\n[part~=date-inner][part~=selected][part~=range][part~=inactive],\n[part~=date-inner][part~=selected][part~=range] {\n color: var(--ig-secondary-50-contrast);\n}\n[part~=date-inner][part~=selected][part~=range][part~=weekend]:hover, [part~=date-inner][part~=selected][part~=range][part~=weekend]:focus,\n[part~=date-inner][part~=selected][part~=range][part~=inactive]:hover,\n[part~=date-inner][part~=selected][part~=range][part~=inactive]:focus,\n[part~=date-inner][part~=selected][part~=range]:hover,\n[part~=date-inner][part~=selected][part~=range]:focus {\n color: var(--ig-secondary-100-contrast);\n background: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n border-color: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n}\n\n[part~=date-inner][part~=selected][part~=range][part~=first],\n[part~=date-inner][part~=selected][part~=range][part~=last],\n[part~=date-inner][part~=selected]:not([part~=range]) {\n background: hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n border-color: hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n}\n[part~=date-inner][part~=selected][part~=range][part~=first]:hover, [part~=date-inner][part~=selected][part~=range][part~=first]:focus,\n[part~=date-inner][part~=selected][part~=range][part~=last]:hover,\n[part~=date-inner][part~=selected][part~=range][part~=last]:focus,\n[part~=date-inner][part~=selected]:not([part~=range]):hover,\n[part~=date-inner][part~=selected]:not([part~=range]):focus {\n background: hsla(var(--ig-secondary-700), var(--ig-secondary-a));\n border-color: hsla(var(--ig-secondary-700), var(--ig-secondary-a));\n color: var(--ig-secondary-700-contrast);\n}\n\n[part~=date-inner][part~=selected][part~=weekend]:not([part~=range]),\n[part~=date-inner][part~=selected][part~=inactive]:not([part~=range]),\n[part~=date-inner][part~=selected]:not([part~=range]) {\n color: var(--ig-secondary-700-contrast);\n}\n\n[part~=week-number] {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n color: hsla(var(--ig-gray-500), var(--ig-gray-a));\n cursor: default;\n}\n\n[part=\"week-number-inner first\"] {\n border-top-left-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.25rem), 0.25rem);\n border-top-right-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.25rem), 0.25rem);\n}\n[part=\"week-number-inner first\"]::after {\n display: none;\n}\n\n[part=\"week-number-inner last\"] {\n border-bottom-left-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.25rem), 0.25rem);\n border-bottom-right-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.25rem), 0.25rem);\n}\n\n[part~=week-number-inner] {\n position: relative;\n background: hsla(var(--ig-gray-200), var(--ig-gray-a));\n border-inline-end-color: hsla(var(--ig-gray-200), var(--ig-gray-a));\n}\n[part~=week-number-inner]::after {\n content: \"\";\n position: absolute;\n bottom: 100%;\n height: calc(0.375rem + (0.0625rem * 2 + 2px));\n width: 100%;\n background: hsla(var(--ig-gray-200), var(--ig-gray-a));\n -webkit-border-start: 0.0625rem solid hsla(var(--ig-gray-200), var(--ig-gray-a));\n border-inline-start: 0.0625rem solid hsla(var(--ig-gray-200), var(--ig-gray-a));\n -webkit-border-end: 0.0625rem solid hsla(var(--ig-gray-200), var(--ig-gray-a));\n border-inline-end: 0.0625rem solid hsla(var(--ig-gray-200), var(--ig-gray-a));\n}\n\n[part~=date-inner][part~=disabled] {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: not-allowed;\n}\n\n[part~=date-inner][part~=special][part~=range],\n[part~=date-inner][part~=special] {\n background: hsla(var(--ig-gray-100), var(--ig-gray-a));\n border-color: hsla(var(--ig-gray-100), var(--ig-gray-a));\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n font-weight: 900;\n}\n[part~=date-inner][part~=special][part~=range]:hover, [part~=date-inner][part~=special][part~=range]:focus,\n[part~=date-inner][part~=special]:hover,\n[part~=date-inner][part~=special]:focus {\n background: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n border-color: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n}\n\n[part~=hidden] {\n visibility: hidden;\n}`;\n"]}
|
|
1
|
+
{"version":3,"file":"days-view.base.css.js","sourceRoot":"","sources":["../../../../src/components/calendar/themes/days-view.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4RvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`/* stylelint-disable max-line-length */\n:host([part=days-view]) {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n min-width: 18.125rem;\n outline: none;\n padding: 0 0.75rem 1rem 0.75rem;\n overflow: hidden;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n gap: 0.375rem;\n}\n\n[part~=days-row] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n[part~=date-inner] {\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n z-index: 2;\n}\n[part~=date-inner]:hover, [part~=date-inner]:focus {\n background: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n color: var(--ig-secondary-100-contrast);\n border-color: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n}\n\n[part~=date-inner][part~=current][part~=selected] {\n -webkit-box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-surface-500), var(--ig-surface-a)), 0 0 0 0.0625rem hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-surface-500), var(--ig-surface-a)), 0 0 0 0.0625rem hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n}\n\n[part~=current][part~=date-inner] {\n -webkit-box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-gray-600), var(--ig-gray-a));\n box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-gray-600), var(--ig-gray-a));\n}\n[part~=current][part~=date-inner]:hover, [part~=current][part~=date-inner]:focus {\n -webkit-box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-surface-500), var(--ig-surface-a));\n box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-surface-500), var(--ig-surface-a));\n}\n\n[part~=date],\n[part~=week-number],\n[part~=label] {\n font-size: var(--ig-subtitle-1-font-size);\n width: 100%;\n color: hsla(var(--ig-gray-800), var(--ig-gray-a));\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n outline: none;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n border-top: 0.0625rem solid transparent;\n border-bottom: 0.0625rem solid transparent;\n}\n\n[part=label-inner] {\n -o-text-overflow: ellipsis;\n text-overflow: ellipsis;\n overflow: hidden;\n min-width: 4ch;\n text-align: center;\n}\n\n[part~=date-inner],\n[part~=week-number-inner] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n border: 0.0625rem solid transparent;\n}\n[part~=date-inner]:focus,\n[part~=week-number-inner]:focus {\n outline: none;\n}\n\n[part~=date][part~=range] {\n background: hsla(var(--ig-secondary-50), var(--ig-secondary-a));\n}\n\n[part~=date][part~=range][part~=preview] {\n background: transparent;\n border-top: 0.0625rem dashed hsla(var(--ig-gray-300), var(--ig-gray-a));\n border-bottom: 0.0625rem dashed hsla(var(--ig-gray-300), var(--ig-gray-a));\n}\n\n[part~=date][part~=range][part~=preview][part~=first],\n[part~=date][part~=range][part~=preview][part~=last] {\n background: transparent;\n border-top-color: transparent;\n border-bottom-color: transparent;\n}\n[part~=date][part~=range][part~=preview][part~=first]::after,\n[part~=date][part~=range][part~=preview][part~=last]::after {\n border-top: 0.0625rem dashed hsla(var(--ig-gray-300), var(--ig-gray-a));\n border-bottom: 0.0625rem dashed hsla(var(--ig-gray-300), var(--ig-gray-a));\n background: transparent;\n}\n\n[part~=date][part~=range][part~=first],\n[part~=date][part~=range][part~=last] {\n background: transparent;\n}\n[part~=date][part~=range][part~=first]::after,\n[part~=date][part~=range][part~=last]::after {\n content: \"\";\n position: absolute;\n height: 100%;\n width: calc(50% + 0.0625rem);\n background: hsla(var(--ig-secondary-50), var(--ig-secondary-a));\n border-top: 0.0625rem solid hsla(var(--ig-secondary-50), var(--ig-secondary-a));\n border-bottom: 0.0625rem solid hsla(var(--ig-secondary-50), var(--ig-secondary-a));\n z-index: 1;\n}\n\n[part~=date][part~=range][part~=first]::after {\n inset-inline-start: 50%;\n}\n\n[part~=date][part~=range][part~=last]::after {\n inset-inline-end: calc(50% - 0.0625rem);\n}\n\n[part~=date][part~=range] + [part~=date][part~=range][part~=last]::after {\n inset-inline-end: 50%;\n}\n\n[part~=date-inner][part~=inactive],\n[part~=date-inner][part~=label],\n[part~=date-inner][part~=disabled] {\n color: hsla(var(--ig-gray-500), var(--ig-gray-a));\n}\n\n[part~=date-inner][part~=weekend]:hover, [part~=date-inner][part~=weekend]:focus,\n[part~=date-inner][part~=inactive]:hover,\n[part~=date-inner][part~=inactive]:focus {\n color: var(--ig-secondary-100-contrast);\n}\n\n[part~=date-inner][part~=selected][part~=range][part~=first],\n[part~=date-inner][part~=selected][part~=range][part~=last],\n[part~=date-inner][part~=selected][part~=range][part~=weekend][part~=first],\n[part~=date-inner][part~=selected][part~=range][part~=weekend][part~=last],\n[part~=date-inner][part~=selected][part~=range][part~=inactive][part~=first],\n[part~=date-inner][part~=selected][part~=range][part~=inactive][part~=last] {\n color: var(--ig-secondary-700-contrast);\n}\n\n[part~=date-inner][part~=selected][part~=range][part~=weekend],\n[part~=date-inner][part~=selected][part~=range][part~=inactive],\n[part~=date-inner][part~=selected][part~=range] {\n color: var(--ig-secondary-50-contrast);\n}\n[part~=date-inner][part~=selected][part~=range][part~=weekend]:hover, [part~=date-inner][part~=selected][part~=range][part~=weekend]:focus,\n[part~=date-inner][part~=selected][part~=range][part~=inactive]:hover,\n[part~=date-inner][part~=selected][part~=range][part~=inactive]:focus,\n[part~=date-inner][part~=selected][part~=range]:hover,\n[part~=date-inner][part~=selected][part~=range]:focus {\n color: var(--ig-secondary-100-contrast);\n background: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n border-color: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n}\n\n[part~=date-inner][part~=selected][part~=range][part~=first],\n[part~=date-inner][part~=selected][part~=range][part~=last],\n[part~=date-inner][part~=selected]:not([part~=range]) {\n background: hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n border-color: hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n}\n[part~=date-inner][part~=selected][part~=range][part~=first]:hover, [part~=date-inner][part~=selected][part~=range][part~=first]:focus,\n[part~=date-inner][part~=selected][part~=range][part~=last]:hover,\n[part~=date-inner][part~=selected][part~=range][part~=last]:focus,\n[part~=date-inner][part~=selected]:not([part~=range]):hover,\n[part~=date-inner][part~=selected]:not([part~=range]):focus {\n background: hsla(var(--ig-secondary-700), var(--ig-secondary-a));\n border-color: hsla(var(--ig-secondary-700), var(--ig-secondary-a));\n color: var(--ig-secondary-700-contrast);\n}\n\n[part~=date-inner][part~=selected][part~=weekend]:not([part~=range]),\n[part~=date-inner][part~=selected][part~=inactive]:not([part~=range]),\n[part~=date-inner][part~=selected]:not([part~=range]) {\n color: var(--ig-secondary-700-contrast);\n}\n\n[part~=week-number] {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n color: hsla(var(--ig-gray-500), var(--ig-gray-a));\n cursor: default;\n}\n\n[part=\"week-number-inner first\"] {\n border-top-left-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.25rem), 0.25rem);\n border-top-right-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.25rem), 0.25rem);\n}\n[part=\"week-number-inner first\"]::after {\n display: none;\n}\n\n[part=\"week-number-inner last\"] {\n border-bottom-left-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.25rem), 0.25rem);\n border-bottom-right-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.25rem), 0.25rem);\n}\n\n[part~=week-number-inner] {\n position: relative;\n background: hsla(var(--ig-gray-200), var(--ig-gray-a));\n border-inline-end-color: hsla(var(--ig-gray-200), var(--ig-gray-a));\n}\n[part~=week-number-inner]::after {\n content: \"\";\n position: absolute;\n bottom: 100%;\n height: calc(0.375rem + (0.0625rem * 2 + 2px));\n width: 100%;\n background: hsla(var(--ig-gray-200), var(--ig-gray-a));\n -webkit-border-start: 0.0625rem solid hsla(var(--ig-gray-200), var(--ig-gray-a));\n border-inline-start: 0.0625rem solid hsla(var(--ig-gray-200), var(--ig-gray-a));\n -webkit-border-end: 0.0625rem solid hsla(var(--ig-gray-200), var(--ig-gray-a));\n border-inline-end: 0.0625rem solid hsla(var(--ig-gray-200), var(--ig-gray-a));\n}\n\n[part~=date-inner][part~=disabled] {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: not-allowed;\n}\n\n[part~=date-inner][part~=special][part~=range],\n[part~=date-inner][part~=special] {\n background: hsla(var(--ig-gray-100), var(--ig-gray-a));\n border-color: hsla(var(--ig-gray-100), var(--ig-gray-a));\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n font-weight: 900;\n}\n[part~=date-inner][part~=special][part~=range]:hover, [part~=date-inner][part~=special][part~=range]:focus,\n[part~=date-inner][part~=special]:hover,\n[part~=date-inner][part~=special]:focus {\n background: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n border-color: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n}\n\n[part~=hidden] {\n visibility: hidden;\n}`;\n"]}
|