igniteui-webcomponents 3.3.0-beta.0 → 3.4.0-beta.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 +45 -20
- package/README.md +7 -2
- package/components/accordion/accordion.d.ts +36 -0
- package/components/accordion/accordion.js +129 -0
- package/components/accordion/accordion.js.map +1 -0
- package/components/accordion/themes/accordion.base.css.d.ts +1 -0
- package/components/accordion/themes/accordion.base.css.js +3 -0
- package/components/accordion/themes/accordion.base.css.js.map +1 -0
- package/components/button/button-base.js +7 -2
- package/components/button/button-base.js.map +1 -1
- package/components/button/icon-button.d.ts +0 -1
- package/components/button/icon-button.js +3 -1
- package/components/button/icon-button.js.map +1 -1
- package/components/button/themes/button/light/button.base.css.js +1 -1
- package/components/button/themes/button/light/button.base.css.js.map +1 -1
- package/components/button/themes/button/light/button.material.css.js +1 -1
- package/components/button/themes/button/light/button.material.css.js.map +1 -1
- package/components/calendar/calendar.d.ts +0 -4
- package/components/calendar/calendar.js +6 -4
- package/components/calendar/calendar.js.map +1 -1
- package/components/calendar/common/calendar-base.js +3 -1
- package/components/calendar/common/calendar-base.js.map +1 -1
- package/components/calendar/common/calendar.model.js.map +1 -1
- package/components/calendar/days-view/days-view.d.ts +3 -0
- package/components/calendar/days-view/days-view.js +19 -7
- package/components/calendar/days-view/days-view.js.map +1 -1
- package/components/calendar/months-view/months-view.d.ts +1 -0
- package/components/calendar/months-view/months-view.js +2 -2
- package/components/calendar/months-view/months-view.js.map +1 -1
- package/components/calendar/years-view/years-view.d.ts +1 -0
- package/components/calendar/years-view/years-view.js +2 -2
- package/components/calendar/years-view/years-view.js.map +1 -1
- package/components/card/card.js +6 -0
- package/components/card/card.js.map +1 -1
- package/components/checkbox/checkbox-base.js +7 -2
- package/components/checkbox/checkbox-base.js.map +1 -1
- package/components/checkbox/checkbox.d.ts +1 -0
- package/components/checkbox/checkbox.js +6 -5
- package/components/checkbox/checkbox.js.map +1 -1
- package/components/checkbox/switch.d.ts +1 -0
- package/components/checkbox/switch.js +6 -5
- package/components/checkbox/switch.js.map +1 -1
- package/components/chip/chip.d.ts +1 -1
- package/components/chip/chip.js +12 -1
- package/components/chip/chip.js.map +1 -1
- package/components/common/decorators/blazorAdditionalDependencies.d.ts +5 -0
- package/components/common/decorators/blazorAdditionalDependencies.js +6 -0
- package/components/common/decorators/blazorAdditionalDependencies.js.map +1 -0
- package/components/common/decorators/blazorDeepImport.d.ts +4 -0
- package/components/common/decorators/blazorDeepImport.js +2 -0
- package/components/common/decorators/blazorDeepImport.js.map +1 -0
- package/components/common/decorators/index.d.ts +1 -0
- package/components/common/decorators/index.js +1 -0
- package/components/common/decorators/index.js.map +1 -1
- package/components/common/definitions/defineAllComponents.js +2 -0
- package/components/common/definitions/defineAllComponents.js.map +1 -1
- package/components/common/i18n/calendar.resources.js.map +1 -1
- package/components/common/types.d.ts +1 -0
- package/components/common/types.js +2 -0
- package/components/common/types.js.map +1 -0
- package/components/common/util.d.ts +2 -1
- package/components/common/util.js +5 -2
- package/components/common/util.js.map +1 -1
- package/components/date-time-input/date-time-input.d.ts +2 -0
- package/components/date-time-input/date-time-input.js +12 -2
- package/components/date-time-input/date-time-input.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 +3 -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 +3 -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 +3 -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 +3 -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 +3 -0
- package/components/dialog/themes/light/dialog.material.css.js.map +1 -0
- package/components/dropdown/dropdown-group.d.ts +4 -3
- package/components/dropdown/dropdown-group.js +8 -11
- package/components/dropdown/dropdown-group.js.map +1 -1
- package/components/dropdown/dropdown-header.d.ts +1 -1
- package/components/dropdown/dropdown-header.js.map +1 -1
- package/components/dropdown/dropdown-item.d.ts +1 -1
- package/components/dropdown/dropdown-item.js.map +1 -1
- package/components/dropdown/dropdown.d.ts +34 -28
- package/components/dropdown/dropdown.js +76 -87
- package/components/dropdown/dropdown.js.map +1 -1
- package/components/dropdown/themes/light/dropdown-group.base.css.js +1 -1
- package/components/dropdown/themes/light/dropdown-group.base.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown-group.fluent.css.js +1 -1
- package/components/dropdown/themes/light/dropdown-group.fluent.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown-item.base.css.js +1 -1
- package/components/dropdown/themes/light/dropdown-item.base.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown.base.css.js +1 -1
- package/components/dropdown/themes/light/dropdown.base.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown.fluent.css.js +1 -1
- package/components/dropdown/themes/light/dropdown.fluent.css.js.map +1 -1
- package/components/expansion-panel/expansion-panel.d.ts +1 -1
- package/components/expansion-panel/expansion-panel.js +11 -6
- package/components/expansion-panel/expansion-panel.js.map +1 -1
- package/components/expansion-panel/themes/light/expansion-panel.base.css.js +1 -1
- package/components/expansion-panel/themes/light/expansion-panel.base.css.js.map +1 -1
- package/components/form/form.js +4 -3
- package/components/form/form.js.map +1 -1
- package/components/icon/icon.js +6 -8
- package/components/icon/icon.js.map +1 -1
- package/components/icon/icon.registry.js +2 -0
- package/components/icon/icon.registry.js.map +1 -1
- package/components/input/input-base.d.ts +2 -1
- package/components/input/input-base.js +9 -6
- package/components/input/input-base.js.map +1 -1
- package/components/input/input.d.ts +1 -0
- package/components/input/input.js +5 -0
- package/components/input/input.js.map +1 -1
- package/components/input/themes/light/input.base.css.js +1 -1
- package/components/input/themes/light/input.base.css.js.map +1 -1
- package/components/input/themes/light/input.bootstrap.css.js +1 -1
- package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
- package/components/input/themes/light/input.fluent.css.js +1 -1
- package/components/input/themes/light/input.fluent.css.js.map +1 -1
- package/components/input/themes/light/input.indigo.css.js +1 -1
- package/components/input/themes/light/input.indigo.css.js.map +1 -1
- package/components/list/list.js +4 -0
- package/components/list/list.js.map +1 -1
- package/components/mask-input/mask-input-base.js +7 -2
- package/components/mask-input/mask-input-base.js.map +1 -1
- package/components/nav-drawer/nav-drawer.js +4 -0
- package/components/nav-drawer/nav-drawer.js.map +1 -1
- package/components/progress/circular-progress.d.ts +1 -1
- package/components/progress/circular-progress.js +3 -0
- package/components/progress/circular-progress.js.map +1 -1
- package/components/progress/linear-progress.js +1 -0
- package/components/progress/linear-progress.js.map +1 -1
- package/components/progress/themes/circular/circular.progress.base.css.js +1 -1
- package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.base.css.js +1 -1
- package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.bootstrap.css.js +1 -1
- package/components/progress/themes/linear/linear.progress.bootstrap.css.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.fluent.css.js +1 -1
- package/components/progress/themes/linear/linear.progress.fluent.css.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.indigo.css.js +1 -1
- package/components/progress/themes/linear/linear.progress.indigo.css.js.map +1 -1
- package/components/radio/radio.d.ts +1 -0
- package/components/radio/radio.js +6 -5
- package/components/radio/radio.js.map +1 -1
- package/components/radio-group/radio-group.d.ts +0 -1
- package/components/radio-group/radio-group.js +7 -6
- package/components/radio-group/radio-group.js.map +1 -1
- package/components/rating/rating-symbol.base.css.d.ts +1 -0
- package/components/rating/rating-symbol.base.css.js +3 -0
- package/components/rating/rating-symbol.base.css.js.map +1 -0
- package/components/rating/rating-symbol.d.ts +8 -2
- package/components/rating/rating-symbol.js +12 -3
- package/components/rating/rating-symbol.js.map +1 -1
- package/components/rating/rating.base.css.js +1 -1
- package/components/rating/rating.base.css.js.map +1 -1
- package/components/rating/rating.bootstrap.css.js +1 -1
- package/components/rating/rating.bootstrap.css.js.map +1 -1
- package/components/rating/rating.d.ts +38 -21
- package/components/rating/rating.fluent.css.js +1 -1
- package/components/rating/rating.fluent.css.js.map +1 -1
- package/components/rating/rating.indigo.css.js +1 -1
- package/components/rating/rating.indigo.css.js.map +1 -1
- package/components/rating/rating.js +116 -57
- package/components/rating/rating.js.map +1 -1
- package/components/select/select-group.d.ts +31 -0
- package/components/select/select-group.js +69 -0
- package/components/select/select-group.js.map +1 -0
- package/components/select/select-header.d.ts +15 -0
- package/components/select/select-header.js +5 -0
- package/components/select/select-header.js.map +1 -0
- package/components/select/select-item.d.ts +30 -0
- package/components/select/select-item.js +39 -0
- package/components/select/select-item.js.map +1 -0
- package/components/select/select.d.ts +112 -0
- package/components/select/select.js +343 -0
- package/components/select/select.js.map +1 -0
- package/components/select/themes/dark/select.bootstrap.css.d.ts +1 -0
- package/components/select/themes/dark/select.bootstrap.css.js +3 -0
- package/components/select/themes/dark/select.bootstrap.css.js.map +1 -0
- package/components/select/themes/dark/select.fluent.css.d.ts +1 -0
- package/components/select/themes/dark/select.fluent.css.js +3 -0
- package/components/select/themes/dark/select.fluent.css.js.map +1 -0
- package/components/select/themes/dark/select.indigo.css.d.ts +1 -0
- package/components/select/themes/dark/select.indigo.css.js +3 -0
- package/components/select/themes/dark/select.indigo.css.js.map +1 -0
- package/components/select/themes/dark/select.material.css.d.ts +1 -0
- package/components/select/themes/dark/select.material.css.js +3 -0
- package/components/select/themes/dark/select.material.css.js.map +1 -0
- package/components/select/themes/light/select.base.css.d.ts +1 -0
- package/components/select/themes/light/select.base.css.js +3 -0
- package/components/select/themes/light/select.base.css.js.map +1 -0
- package/components/select/themes/light/select.bootstrap.css.d.ts +1 -0
- package/components/select/themes/light/select.bootstrap.css.js +3 -0
- package/components/select/themes/light/select.bootstrap.css.js.map +1 -0
- package/components/select/themes/light/select.fluent.css.d.ts +1 -0
- package/components/select/themes/light/select.fluent.css.js +3 -0
- package/components/select/themes/light/select.fluent.css.js.map +1 -0
- package/components/select/themes/light/select.indigo.css.d.ts +1 -0
- package/components/select/themes/light/select.indigo.css.js +3 -0
- package/components/select/themes/light/select.indigo.css.js.map +1 -0
- package/components/select/themes/light/select.material.css.d.ts +1 -0
- package/components/select/themes/light/select.material.css.js +3 -0
- package/components/select/themes/light/select.material.css.js.map +1 -0
- package/components/slider/range-slider.js.map +1 -1
- package/components/slider/slider-base.d.ts +0 -1
- package/components/slider/slider-base.js +12 -9
- package/components/slider/slider-base.js.map +1 -1
- package/components/slider/themes/light/slider.base.css.js +1 -1
- package/components/slider/themes/light/slider.base.css.js.map +1 -1
- package/components/slider/themes/light/slider.bootstrap.css.js +1 -1
- package/components/slider/themes/light/slider.bootstrap.css.js.map +1 -1
- package/components/slider/themes/light/slider.fluent.css.js +1 -1
- package/components/slider/themes/light/slider.fluent.css.js.map +1 -1
- package/components/slider/themes/light/slider.indigo.css.js +1 -1
- package/components/slider/themes/light/slider.indigo.css.js.map +1 -1
- package/components/slider/themes/light/slider.material.css.js +1 -1
- package/components/slider/themes/light/slider.material.css.js.map +1 -1
- package/components/snackbar/snackbar.js +3 -0
- package/components/snackbar/snackbar.js.map +1 -1
- package/components/tabs/tab-panel.js +2 -3
- package/components/tabs/tab-panel.js.map +1 -1
- package/components/tabs/tab.js +1 -1
- package/components/tabs/tab.js.map +1 -1
- package/components/tabs/tabs.d.ts +2 -4
- package/components/tabs/tabs.js +17 -11
- package/components/tabs/tabs.js.map +1 -1
- package/components/tabs/themes/light/tab.base.css.js +1 -1
- package/components/tabs/themes/light/tab.base.css.js.map +1 -1
- package/components/toast/toast.d.ts +1 -0
- package/components/toast/toast.js +9 -0
- package/components/toast/toast.js.map +1 -1
- package/components/toggle/toggle.controller.d.ts +24 -4
- package/components/toggle/toggle.controller.js +36 -30
- package/components/toggle/toggle.controller.js.map +1 -1
- package/components/toggle/toggle.directive.d.ts +1 -1
- package/components/toggle/toggle.directive.js +1 -0
- package/components/toggle/toggle.directive.js.map +1 -1
- package/components/tree/themes/light/tree.base.css.js +1 -1
- package/components/tree/themes/light/tree.base.css.js.map +1 -1
- package/components/tree/tree-item.d.ts +0 -1
- package/components/tree/tree-item.js +8 -1
- package/components/tree/tree-item.js.map +1 -1
- package/components/tree/tree.common.js.map +1 -1
- package/components/tree/tree.d.ts +2 -2
- package/components/tree/tree.js +22 -2
- package/components/tree/tree.js.map +1 -1
- package/custom-elements.json +738 -42
- package/index.d.ts +12 -12
- package/index.js +9 -11
- package/index.js.map +1 -1
- package/package.json +10 -8
- package/themes/dark/bootstrap.css +1 -1
- package/themes/dark/fluent.css +1 -1
- package/themes/dark/indigo.css +1 -1
- package/themes/dark/material.css +1 -1
- package/vscode-html-custom-data.json +305 -41
|
@@ -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 { customElement, 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@customElement('igc-days-view')\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 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":"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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 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"]}
|
|
@@ -12,6 +12,7 @@ declare const IgcMonthsViewComponent_base: import("../../common/mixins/construct
|
|
|
12
12
|
* @csspart month-inner - The inner month container.
|
|
13
13
|
*/
|
|
14
14
|
export default class IgcMonthsViewComponent extends IgcMonthsViewComponent_base {
|
|
15
|
+
static readonly tagName = "igc-months-view";
|
|
15
16
|
static styles: import("lit").CSSResult;
|
|
16
17
|
private calendarModel;
|
|
17
18
|
private monthFormatter;
|
|
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { html, LitElement } from 'lit';
|
|
8
|
-
import {
|
|
8
|
+
import { property, query } from 'lit/decorators.js';
|
|
9
9
|
import { themes } from '../../../theming/theming-decorator.js';
|
|
10
10
|
import { blazorIndirectRender } from '../../common/decorators/blazorIndirectRender.js';
|
|
11
11
|
import { blazorSuppressComponent } from '../../common/decorators/blazorSuppressComponent.js';
|
|
@@ -107,6 +107,7 @@ let IgcMonthsViewComponent = class IgcMonthsViewComponent extends EventEmitterMi
|
|
|
107
107
|
})}`;
|
|
108
108
|
}
|
|
109
109
|
};
|
|
110
|
+
IgcMonthsViewComponent.tagName = 'igc-months-view';
|
|
110
111
|
IgcMonthsViewComponent.styles = styles;
|
|
111
112
|
__decorate([
|
|
112
113
|
query('[tabindex="0"]')
|
|
@@ -125,7 +126,6 @@ __decorate([
|
|
|
125
126
|
watch('monthFormat')
|
|
126
127
|
], IgcMonthsViewComponent.prototype, "formatChange", null);
|
|
127
128
|
IgcMonthsViewComponent = __decorate([
|
|
128
|
-
customElement('igc-months-view'),
|
|
129
129
|
blazorIndirectRender,
|
|
130
130
|
blazorSuppressComponent,
|
|
131
131
|
themes({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"months-view.js","sourceRoot":"","sources":["../../../../src/components/calendar/months-view/months-view.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"months-view.js","sourceRoot":"","sources":["../../../../src/components/calendar/months-view/months-view.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } 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 { Constructor } from '../../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../../common/mixins/event-emitter.js';\nimport { partNameMap } from '../../common/util.js';\nimport {\n IgcCalendarBaseEventMap,\n MONTHS_PER_ROW,\n} from '../common/calendar-base.js';\nimport { Calendar, TimeDeltaInterval } from '../common/calendar.model.js';\nimport { setDateSafe } from '../common/utils.js';\nimport { styles as bootstrap } from '../themes/bootstrap/year-month-view.bootstrap.css.js';\nimport { styles as fluent } from '../themes/fluent/year-month-view.fluent.css.js';\nimport { styles } from '../themes/year-month-view.base.css.js';\n\n/**\n * Instantiate a months view as a separate component in the calendar.\n *\n * @element igc-months-view\n *\n * @csspart months-row - The months row container.\n * @csspart month - The month container.\n * @csspart month-inner - The inner month container.\n */\n@blazorIndirectRender\n@blazorSuppressComponent\n@themes({\n bootstrap,\n fluent,\n})\nexport default class IgcMonthsViewComponent extends EventEmitterMixin<\n IgcCalendarBaseEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-months-view';\n public static styles = styles;\n private calendarModel = new Calendar();\n private monthFormatter: any;\n\n @query('[tabindex=\"0\"]')\n private activeMonth!: HTMLElement;\n\n /** Тhe current value of the calendar. */\n @property({ attribute: false })\n public value = new Date();\n\n /** Sets the locale used for formatting and displaying the dates. */\n @property()\n public locale = 'en';\n\n /** The format of the month. Defaults to long. */\n @property({ attribute: 'month-format' })\n public monthFormat:\n | 'numeric'\n | '2-digit'\n | 'long'\n | 'short'\n | 'narrow'\n | undefined = 'long';\n\n @watch('locale')\n @watch('monthFormat')\n protected formatChange() {\n this.initMonthFormatter();\n }\n\n constructor() {\n super();\n this.setAttribute('role', 'grid');\n this.initMonthFormatter();\n }\n\n /** Focuses the active date. */\n public focusActiveDate() {\n this.activeMonth.focus();\n }\n\n private initMonthFormatter() {\n this.monthFormatter = new Intl.DateTimeFormat(this.locale, {\n month: this.monthFormat,\n });\n }\n\n private formattedMonth(value: Date) {\n return this.monthFormatter.format(value);\n }\n\n private get months(): Date[][] {\n let date = new Date(this.value.getFullYear(), 0, 1);\n const result = [];\n\n const rowsCount = 12 / MONTHS_PER_ROW;\n\n for (let i = 0; i < rowsCount; i++) {\n const row: Date[] = [];\n\n for (let j = 0; j < MONTHS_PER_ROW; j++) {\n row.push(date);\n date = this.calendarModel.timedelta(date, TimeDeltaInterval.Month, 1);\n }\n result.push(row);\n }\n\n return result;\n }\n\n private resolveMonthPartName(date: Date) {\n const today = new Date();\n return {\n month: true,\n selected: date.getMonth() === this.value.getMonth(),\n current:\n date.getFullYear() === today.getFullYear() &&\n date.getMonth() === today.getMonth(),\n };\n }\n\n private selectMonth(month: Date) {\n const value = new Date(month);\n setDateSafe(value, this.value.getDate());\n this.value = value;\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n private monthKeyDown(event: KeyboardEvent, month: Date) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.selectMonth(month);\n }\n }\n\n protected override render() {\n return html`${this.months.map((row) => {\n return html`<div part=\"months-row\" role=\"row\">\n ${row.map((month) => {\n const monthPartName = partNameMap(this.resolveMonthPartName(month));\n const monthInnerPartName = monthPartName.replace(\n 'month',\n 'month-inner'\n );\n\n return html`<span part=${monthPartName}>\n <span\n part=${monthInnerPartName}\n role=\"gridcell\"\n aria-label=${month.toLocaleString(this.locale, {\n month: 'long',\n year: 'numeric',\n })}\n aria-selected=${month.getMonth() === this.value.getMonth()}\n tabindex=\"${month.getFullYear() === this.value.getFullYear() &&\n month.getMonth() === this.value.getMonth()\n ? 0\n : -1}\"\n @click=${() => this.selectMonth(month)}\n @keydown=${(event: KeyboardEvent) =>\n this.monthKeyDown(event, month)}\n >\n ${this.formattedMonth(month)}\n </span>\n </span>`;\n })}\n </div>`;\n })}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-months-view': IgcMonthsViewComponent;\n }\n}\n"]}
|
|
@@ -12,6 +12,7 @@ declare const IgcYearsViewComponent_base: import("../../common/mixins/constructo
|
|
|
12
12
|
* @csspart year-inner - The inner year container.
|
|
13
13
|
*/
|
|
14
14
|
export default class IgcYearsViewComponent extends IgcYearsViewComponent_base {
|
|
15
|
+
static readonly tagName = "igc-years-view";
|
|
15
16
|
static styles: import("lit").CSSResult;
|
|
16
17
|
private years;
|
|
17
18
|
private activeYear;
|
|
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { html, LitElement } from 'lit';
|
|
8
|
-
import {
|
|
8
|
+
import { property, query } from 'lit/decorators.js';
|
|
9
9
|
import { themes } from '../../../theming/theming-decorator.js';
|
|
10
10
|
import { blazorIndirectRender } from '../../common/decorators/blazorIndirectRender.js';
|
|
11
11
|
import { blazorSuppressComponent } from '../../common/decorators/blazorSuppressComponent.js';
|
|
@@ -95,6 +95,7 @@ let IgcYearsViewComponent = class IgcYearsViewComponent extends EventEmitterMixi
|
|
|
95
95
|
})}`;
|
|
96
96
|
}
|
|
97
97
|
};
|
|
98
|
+
IgcYearsViewComponent.tagName = 'igc-years-view';
|
|
98
99
|
IgcYearsViewComponent.styles = styles;
|
|
99
100
|
__decorate([
|
|
100
101
|
query('[tabindex="0"]')
|
|
@@ -110,7 +111,6 @@ __decorate([
|
|
|
110
111
|
watch('yearsPerPage')
|
|
111
112
|
], IgcYearsViewComponent.prototype, "datesChange", null);
|
|
112
113
|
IgcYearsViewComponent = __decorate([
|
|
113
|
-
customElement('igc-years-view'),
|
|
114
114
|
blazorIndirectRender,
|
|
115
115
|
blazorSuppressComponent,
|
|
116
116
|
themes({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"years-view.js","sourceRoot":"","sources":["../../../../src/components/calendar/years-view/years-view.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"years-view.js","sourceRoot":"","sources":["../../../../src/components/calendar/years-view/years-view.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } 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 { Constructor } from '../../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../../common/mixins/event-emitter.js';\nimport { partNameMap } from '../../common/util.js';\nimport {\n IgcCalendarBaseEventMap,\n YEARS_PER_ROW,\n} from '../common/calendar-base.js';\nimport { calculateYearsRangeStart, setDateSafe } from '../common/utils.js';\nimport { styles as bootstrap } from '../themes/bootstrap/year-month-view.bootstrap.css.js';\nimport { styles as fluent } from '../themes/fluent/year-month-view.fluent.css.js';\nimport { styles } from '../themes/year-month-view.base.css.js';\n\n/**\n * Instantiate a years view as a separate component in the calendar.\n *\n * @element igc-years-view\n *\n * @csspart years-row - The years row container.\n * @csspart year - The year container.\n * @csspart year-inner - The inner year container.\n */\n@blazorIndirectRender\n@blazorSuppressComponent\n@themes({\n bootstrap,\n fluent,\n})\nexport default class IgcYearsViewComponent extends EventEmitterMixin<\n IgcCalendarBaseEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-years-view';\n public static styles = styles;\n\n private years!: Date[][];\n\n @query('[tabindex=\"0\"]')\n private activeYear!: HTMLElement;\n\n /** Тhe current value of the calendar. */\n @property({ attribute: false })\n public value = new Date();\n\n /** Sets how many years are displayed on a single page. */\n @property({ type: Number, attribute: 'years-per-page' })\n public yearsPerPage = 15;\n\n @watch('value')\n @watch('yearsPerPage')\n protected datesChange() {\n this.years = this.generateYears();\n }\n\n constructor() {\n super();\n this.setAttribute('role', 'grid');\n }\n\n /** Focuses the active date. */\n public focusActiveDate() {\n this.activeYear.focus();\n }\n\n private formattedYear(value: Date) {\n return `${value.getFullYear()}`;\n }\n\n private generateYears() {\n const startYear = calculateYearsRangeStart(this.value, this.yearsPerPage);\n const month = this.value.getMonth();\n const result = [];\n\n const rows = this.yearsPerPage / YEARS_PER_ROW;\n\n for (let i = 0; i < rows; i++) {\n const row: Date[] = [];\n for (let j = 0; j < YEARS_PER_ROW; j++) {\n const year = startYear + i * YEARS_PER_ROW + j;\n const date = new Date(year, month, 1);\n // fix year since values between 0 and 100 results in 1900s\n date.setFullYear(year);\n row.push(date);\n }\n result.push(row);\n }\n\n return result;\n }\n\n private resolveYearPartName(date: Date) {\n const today = new Date();\n return {\n year: true,\n selected: date.getFullYear() === this.value.getFullYear(),\n current: date.getFullYear() === today.getFullYear(),\n };\n }\n\n private selectYear(year: Date) {\n const value = new Date(year);\n setDateSafe(value, this.value.getDate());\n this.value = value;\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n private yearKeyDown(event: KeyboardEvent, year: Date) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.selectYear(year);\n }\n }\n\n protected override render() {\n return html`${this.years.map((row) => {\n return html`<div part=\"years-row\" role=\"row\">\n ${row.map((year) => {\n const yearPartName = partNameMap(this.resolveYearPartName(year));\n const yearInnerPartName = yearPartName.replace('year', 'year-inner');\n\n return html`<span part=${yearPartName}>\n <span\n part=${yearInnerPartName}\n role=\"gridcell\"\n aria-selected=${year.getFullYear() === this.value.getFullYear()}\n tabindex=\"${year.getFullYear() === this.value.getFullYear()\n ? 0\n : -1}\"\n @click=${() => this.selectYear(year)}\n @keydown=${(event: KeyboardEvent) =>\n this.yearKeyDown(event, year)}\n >\n ${this.formattedYear(year)}\n </span>\n </span>`;\n })}\n </div>`;\n })}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-years-view': IgcYearsViewComponent;\n }\n}\n"]}
|
package/components/card/card.js
CHANGED
|
@@ -10,6 +10,12 @@ import { themes } from '../../theming/theming-decorator.js';
|
|
|
10
10
|
import { styles as bootstrap } from './themes/light/card.bootstrap.css.js';
|
|
11
11
|
import { styles as fluent } from './themes/light/card.fluent.css.js';
|
|
12
12
|
import { styles } from './themes/light/card.material.css.js';
|
|
13
|
+
import { defineComponents } from '../common/definitions/defineComponents.js';
|
|
14
|
+
import IgcCardActionsComponent from './card.actions.js';
|
|
15
|
+
import IgcCardContentComponent from './card.content.js';
|
|
16
|
+
import IgcCardHeaderComponent from './card.header.js';
|
|
17
|
+
import IgcCardMediaComponent from './card.media.js';
|
|
18
|
+
defineComponents(IgcCardActionsComponent, IgcCardContentComponent, IgcCardHeaderComponent, IgcCardMediaComponent);
|
|
13
19
|
let IgcCardComponent = class IgcCardComponent extends LitElement {
|
|
14
20
|
constructor() {
|
|
15
21
|
super(...arguments);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../../src/components/card/card.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../../src/components/card/card.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,uBAAuB,MAAM,mBAAmB,CAAC;AACxD,OAAO,uBAAuB,MAAM,mBAAmB,CAAC;AACxD,OAAO,sBAAsB,MAAM,kBAAkB,CAAC;AACtD,OAAO,qBAAqB,MAAM,iBAAiB,CAAC;AAEpD,gBAAgB,CACd,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,CACtB,CAAC;AAWF,IAAqB,gBAAgB,GAArC,MAAqB,gBAAiB,SAAQ,UAAU;IAAxD;;QAMS,aAAQ,GAAG,KAAK,CAAC;IAK1B,CAAC;IAHoB,MAAM;QACvB,OAAO,IAAI,CAAA,iBAAiB,CAAC;IAC/B,CAAC;CACF,CAAA;AAVwB,wBAAO,GAAG,UAAW,CAAA;AACrB,uBAAM,GAAG,MAAO,CAAA;AAIvC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kDACnB;AANL,gBAAgB;IAJpC,MAAM,CAAC;QACN,SAAS;QACT,MAAM;KACP,CAAC;GACmB,gBAAgB,CAWpC;eAXoB,gBAAgB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { styles as bootstrap } from './themes/light/card.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/card.fluent.css.js';\nimport { styles } from './themes/light/card.material.css.js';\n\nimport { defineComponents } from '../common/definitions/defineComponents.js';\nimport IgcCardActionsComponent from './card.actions.js';\nimport IgcCardContentComponent from './card.content.js';\nimport IgcCardHeaderComponent from './card.header.js';\nimport IgcCardMediaComponent from './card.media.js';\n\ndefineComponents(\n IgcCardActionsComponent,\n IgcCardContentComponent,\n IgcCardHeaderComponent,\n IgcCardMediaComponent\n);\n\n/** A container which wraps different elements related to a single subject\n * @element igc-card\n *\n * @slot - Renders card content\n */\n@themes({\n bootstrap,\n fluent,\n})\nexport default class IgcCardComponent extends LitElement {\n public static readonly tagName = 'igc-card';\n public static override styles = styles;\n\n /** Sets card elevated style, otherwise card looks outlined. */\n @property({ type: Boolean, reflect: true })\n public elevated = false;\n\n protected override render() {\n return html` <slot></slot> `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-card': IgcCardComponent;\n }\n}\n"]}
|
|
@@ -7,9 +7,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { LitElement } from 'lit';
|
|
8
8
|
import { property, query, state } from 'lit/decorators.js';
|
|
9
9
|
import { alternateName } from '../common/decorators/alternateName.js';
|
|
10
|
+
import { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';
|
|
10
11
|
import { blazorTwoWayBind } from '../common/decorators/blazorTwoWayBind.js';
|
|
11
12
|
import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
|
|
12
|
-
|
|
13
|
+
let IgcCheckboxBaseComponent = class IgcCheckboxBaseComponent extends EventEmitterMixin(LitElement) {
|
|
13
14
|
constructor() {
|
|
14
15
|
super(...arguments);
|
|
15
16
|
this.focused = false;
|
|
@@ -59,7 +60,7 @@ export class IgcCheckboxBaseComponent extends EventEmitterMixin(LitElement) {
|
|
|
59
60
|
this.focused = true;
|
|
60
61
|
}
|
|
61
62
|
}
|
|
62
|
-
}
|
|
63
|
+
};
|
|
63
64
|
__decorate([
|
|
64
65
|
query('input[type="checkbox"]', true)
|
|
65
66
|
], IgcCheckboxBaseComponent.prototype, "input", void 0);
|
|
@@ -97,4 +98,8 @@ __decorate([
|
|
|
97
98
|
__decorate([
|
|
98
99
|
alternateName('blurComponent')
|
|
99
100
|
], IgcCheckboxBaseComponent.prototype, "blur", null);
|
|
101
|
+
IgcCheckboxBaseComponent = __decorate([
|
|
102
|
+
blazorDeepImport
|
|
103
|
+
], IgcCheckboxBaseComponent);
|
|
104
|
+
export { IgcCheckboxBaseComponent };
|
|
100
105
|
//# sourceMappingURL=checkbox-base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-base.js","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox-base.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"checkbox-base.js","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox-base.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { alternateName } from '../common/decorators/alternateName.js';\nimport { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';\nimport { blazorTwoWayBind } from '../common/decorators/blazorTwoWayBind.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\n\nexport interface IgcCheckboxEventMap {\n igcChange: CustomEvent<boolean>;\n igcFocus: CustomEvent<void>;\n igcBlur: CustomEvent<void>;\n}\n\n@blazorDeepImport\nexport class IgcCheckboxBaseComponent extends EventEmitterMixin<\n IgcCheckboxEventMap,\n Constructor<LitElement>\n>(LitElement) {\n @query('input[type=\"checkbox\"]', true)\n protected input!: HTMLInputElement;\n\n @state()\n protected focused = false;\n\n /** The name attribute of the control. */\n @property()\n public name!: string;\n\n /** The value attribute of the control. */\n @property()\n public value!: string;\n\n /** Disables the control. */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /** The checked state of the control. */\n @property({ type: Boolean })\n @blazorTwoWayBind('igcChange', 'detail')\n public checked = false;\n\n /** Makes the control a required field. */\n @property({ type: Boolean, reflect: true })\n public required = false;\n\n /** Controls the validity of the control. */\n @property({ type: Boolean, reflect: true })\n public invalid = false;\n\n /** The label position of the control. */\n @property({ reflect: true, attribute: 'label-position' })\n public labelPosition: 'before' | 'after' = 'after';\n\n /** Sets the aria-labelledby attribute for the control. */\n @property({ reflect: true, attribute: 'aria-labelledby' })\n public ariaLabelledby!: string;\n\n /** Simulates a click on the control. */\n public override click() {\n this.input.click();\n }\n\n /** Sets focus on the control. */\n @alternateName('focusComponent')\n public override focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the control. */\n @alternateName('blurComponent')\n public override blur() {\n this.input.blur();\n }\n\n /** Checks for validity of the control and shows the browser message if it invalid. */\n public reportValidity() {\n return this.input.reportValidity();\n }\n\n /**\n * Sets a custom validation message for the control.\n * As long as `message` is not empty, the control is considered invalid.\n */\n public setCustomValidity(message: string) {\n this.input.setCustomValidity(message);\n this.invalid = !this.input.checkValidity();\n }\n\n protected handleBlur() {\n this.emitEvent('igcBlur');\n this.focused = false;\n }\n\n protected handleFocus() {\n this.emitEvent('igcFocus');\n }\n\n protected handleMouseDown(event: PointerEvent) {\n event.preventDefault();\n this.input.focus();\n this.focused = false;\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('keyup', this.handleKeyUp);\n }\n\n public override disconnectedCallback() {\n this.removeEventListener('keyup', this.handleKeyUp);\n }\n\n protected handleKeyUp() {\n if (!this.focused) {\n this.focused = true;\n }\n }\n}\n"]}
|
|
@@ -18,6 +18,7 @@ import { IgcCheckboxBaseComponent } from './checkbox-base.js';
|
|
|
18
18
|
export default class IgcCheckboxComponent extends IgcCheckboxBaseComponent {
|
|
19
19
|
static readonly tagName = "igc-checkbox";
|
|
20
20
|
protected static styles: import("lit").CSSResult;
|
|
21
|
+
private static readonly increment;
|
|
21
22
|
private inputId;
|
|
22
23
|
private labelId;
|
|
23
24
|
/** Draws the checkbox in indeterminate state. */
|
|
@@ -4,24 +4,24 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
+
var IgcCheckboxComponent_1;
|
|
7
8
|
import { html } from 'lit';
|
|
8
9
|
import { property } from 'lit/decorators.js';
|
|
9
10
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
10
11
|
import { live } from 'lit/directives/live.js';
|
|
11
12
|
import { themes } from '../../theming/theming-decorator.js';
|
|
12
13
|
import { watch } from '../common/decorators/watch.js';
|
|
13
|
-
import { partNameMap } from '../common/util.js';
|
|
14
|
+
import { createCounter, partNameMap } from '../common/util.js';
|
|
14
15
|
import { IgcCheckboxBaseComponent } from './checkbox-base.js';
|
|
15
16
|
import { styles } from './themes/light/checkbox.base.css.js';
|
|
16
17
|
import { styles as bootstrap } from './themes/light/checkbox.bootstrap.css.js';
|
|
17
18
|
import { styles as fluent } from './themes/light/checkbox.fluent.css.js';
|
|
18
19
|
import { styles as indigo } from './themes/light/checkbox.indigo.css.js';
|
|
19
20
|
import { styles as material } from './themes/light/checkbox.material.css.js';
|
|
20
|
-
let
|
|
21
|
-
let IgcCheckboxComponent = class IgcCheckboxComponent extends IgcCheckboxBaseComponent {
|
|
21
|
+
let IgcCheckboxComponent = IgcCheckboxComponent_1 = class IgcCheckboxComponent extends IgcCheckboxBaseComponent {
|
|
22
22
|
constructor() {
|
|
23
23
|
super(...arguments);
|
|
24
|
-
this.inputId = `checkbox-${
|
|
24
|
+
this.inputId = `checkbox-${IgcCheckboxComponent_1.increment()}`;
|
|
25
25
|
this.labelId = `checkbox-label-${this.inputId}`;
|
|
26
26
|
this.indeterminate = false;
|
|
27
27
|
}
|
|
@@ -83,6 +83,7 @@ let IgcCheckboxComponent = class IgcCheckboxComponent extends IgcCheckboxBaseCom
|
|
|
83
83
|
};
|
|
84
84
|
IgcCheckboxComponent.tagName = 'igc-checkbox';
|
|
85
85
|
IgcCheckboxComponent.styles = styles;
|
|
86
|
+
IgcCheckboxComponent.increment = createCounter();
|
|
86
87
|
__decorate([
|
|
87
88
|
property({ type: Boolean, reflect: true })
|
|
88
89
|
], IgcCheckboxComponent.prototype, "indeterminate", void 0);
|
|
@@ -91,7 +92,7 @@ __decorate([
|
|
|
91
92
|
watch('focused', { waitUntilFirstUpdate: true }),
|
|
92
93
|
watch('indeterminate', { waitUntilFirstUpdate: true })
|
|
93
94
|
], IgcCheckboxComponent.prototype, "handleChange", null);
|
|
94
|
-
IgcCheckboxComponent = __decorate([
|
|
95
|
+
IgcCheckboxComponent = IgcCheckboxComponent_1 = __decorate([
|
|
95
96
|
themes({ material, bootstrap, fluent, indigo })
|
|
96
97
|
], IgcCheckboxComponent);
|
|
97
98
|
export default IgcCheckboxComponent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { createCounter, partNameMap } from '../common/util.js';\nimport { IgcCheckboxBaseComponent } from './checkbox-base.js';\nimport { styles } from './themes/light/checkbox.base.css.js';\nimport { styles as bootstrap } from './themes/light/checkbox.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/checkbox.fluent.css.js';\nimport { styles as indigo } from './themes/light/checkbox.indigo.css.js';\nimport { styles as material } from './themes/light/checkbox.material.css.js';\n\n/**\n * A check box allowing single values to be selected/deselected.\n *\n * @element igc-checkbox\n *\n * @slot - The checkbox label.\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcFocus - Emitted when the control gains focus.\n * @fires igcBlur - Emitted when the control loses focus.\n *\n * @csspart base - The base wrapper of the checkbox.\n * @csspart control - The checkbox control.\n * @csspart label - The checkbox label.\n * @csspart indicator - The checkbox icon.\n */\n@themes({ material, bootstrap, fluent, indigo })\nexport default class IgcCheckboxComponent extends IgcCheckboxBaseComponent {\n public static readonly tagName = 'igc-checkbox';\n protected static styles = styles;\n\n private static readonly increment = createCounter();\n private inputId = `checkbox-${IgcCheckboxComponent.increment()}`;\n private labelId = `checkbox-label-${this.inputId}`;\n\n /** Draws the checkbox in indeterminate state. */\n @property({ type: Boolean, reflect: true })\n public indeterminate = false;\n\n protected handleClick() {\n this.checked = !this.checked;\n this.indeterminate = false;\n this.emitEvent('igcChange', { detail: this.checked });\n }\n\n @watch('checked', { waitUntilFirstUpdate: true })\n @watch('focused', { waitUntilFirstUpdate: true })\n @watch('indeterminate', { waitUntilFirstUpdate: true })\n protected handleChange() {\n this.invalid = !this.input.checkValidity();\n }\n\n protected override render() {\n return html`\n <label\n part=${partNameMap({\n base: true,\n checked: this.checked,\n focused: this.focused,\n })}\n for=${this.inputId}\n @pointerdown=${this.handleMouseDown}\n >\n <input\n id=${this.inputId}\n type=\"checkbox\"\n name=${ifDefined(this.name)}\n value=${ifDefined(this.value)}\n .required=${this.required}\n .disabled=${this.disabled}\n .checked=${live(this.checked)}\n .indeterminate=${live(this.indeterminate)}\n aria-checked=${this.indeterminate && !this.checked\n ? 'mixed'\n : this.checked}\n aria-disabled=${this.disabled ? 'true' : 'false'}\n aria-labelledby=${this.ariaLabelledby\n ? this.ariaLabelledby\n : this.labelId}\n @click=${this.handleClick}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n />\n <span part=${partNameMap({ control: true, checked: this.checked })}>\n <span part=${partNameMap({ indicator: true, checked: this.checked })}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M4.1,12.7 9,17.6 20.3,6.3\" />\n </svg>\n </span>\n </span>\n <span\n part=${partNameMap({ label: true, checked: this.checked })}\n id=${this.labelId}\n >\n <slot></slot>\n </span>\n </label>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-checkbox': IgcCheckboxComponent;\n }\n}\n"]}
|
|
@@ -18,6 +18,7 @@ import { IgcCheckboxBaseComponent } from './checkbox-base.js';
|
|
|
18
18
|
export default class IgcSwitchComponent extends IgcCheckboxBaseComponent {
|
|
19
19
|
static readonly tagName = "igc-switch";
|
|
20
20
|
static styles: import("lit").CSSResult;
|
|
21
|
+
private static readonly increment;
|
|
21
22
|
private inputId;
|
|
22
23
|
private labelId;
|
|
23
24
|
private handleClick;
|
|
@@ -4,23 +4,23 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
+
var IgcSwitchComponent_1;
|
|
7
8
|
import { html } from 'lit';
|
|
8
9
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
9
10
|
import { live } from 'lit/directives/live.js';
|
|
10
11
|
import { themes } from '../../theming/theming-decorator.js';
|
|
11
12
|
import { watch } from '../common/decorators/watch.js';
|
|
12
|
-
import { partNameMap } from '../common/util.js';
|
|
13
|
+
import { createCounter, partNameMap } from '../common/util.js';
|
|
13
14
|
import { IgcCheckboxBaseComponent } from './checkbox-base.js';
|
|
14
15
|
import { styles } from './themes/light/switch.base.css.js';
|
|
15
16
|
import { styles as bootstrap } from './themes/light/switch.bootstrap.css.js';
|
|
16
17
|
import { styles as fluent } from './themes/light/switch.fluent.css.js';
|
|
17
18
|
import { styles as indigo } from './themes/light/switch.indigo.css.js';
|
|
18
19
|
import { styles as material } from './themes/light/switch.material.css.js';
|
|
19
|
-
let
|
|
20
|
-
let IgcSwitchComponent = class IgcSwitchComponent extends IgcCheckboxBaseComponent {
|
|
20
|
+
let IgcSwitchComponent = IgcSwitchComponent_1 = class IgcSwitchComponent extends IgcCheckboxBaseComponent {
|
|
21
21
|
constructor() {
|
|
22
22
|
super(...arguments);
|
|
23
|
-
this.inputId = `switch-${
|
|
23
|
+
this.inputId = `switch-${IgcSwitchComponent_1.increment()}`;
|
|
24
24
|
this.labelId = `switch-label-${this.inputId}`;
|
|
25
25
|
}
|
|
26
26
|
handleClick() {
|
|
@@ -77,10 +77,11 @@ let IgcSwitchComponent = class IgcSwitchComponent extends IgcCheckboxBaseCompone
|
|
|
77
77
|
};
|
|
78
78
|
IgcSwitchComponent.tagName = 'igc-switch';
|
|
79
79
|
IgcSwitchComponent.styles = styles;
|
|
80
|
+
IgcSwitchComponent.increment = createCounter();
|
|
80
81
|
__decorate([
|
|
81
82
|
watch('checked', { waitUntilFirstUpdate: true })
|
|
82
83
|
], IgcSwitchComponent.prototype, "handleChange", null);
|
|
83
|
-
IgcSwitchComponent = __decorate([
|
|
84
|
+
IgcSwitchComponent = IgcSwitchComponent_1 = __decorate([
|
|
84
85
|
themes({ material, bootstrap, fluent, indigo })
|
|
85
86
|
], IgcSwitchComponent);
|
|
86
87
|
export default IgcSwitchComponent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch.js","sourceRoot":"","sources":["../../../src/components/checkbox/switch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"switch.js","sourceRoot":"","sources":["../../../src/components/checkbox/switch.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { createCounter, partNameMap } from '../common/util.js';\nimport { IgcCheckboxBaseComponent } from './checkbox-base.js';\nimport { styles } from './themes/light/switch.base.css.js';\nimport { styles as bootstrap } from './themes/light/switch.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/switch.fluent.css.js';\nimport { styles as indigo } from './themes/light/switch.indigo.css.js';\nimport { styles as material } from './themes/light/switch.material.css.js';\n\n/**\n * Similar to a checkbox, a switch controls the state of a single setting on or off.\n *\n * @element igc-switch\n *\n * @slot - The switch label.\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcFocus - Emitted when the control gains focus.\n * @fires igcBlur - Emitted when the control loses focus.\n *\n * @csspart base - The base wrapper of the switch.\n * @csspart control - The switch control.\n * @csspart thumb - The position indicator of the switch.\n * @csspart label - The switch label.\n */\n@themes({ material, bootstrap, fluent, indigo })\nexport default class IgcSwitchComponent extends IgcCheckboxBaseComponent {\n public static readonly tagName = 'igc-switch';\n public static styles = styles;\n private static readonly increment = createCounter();\n\n private inputId = `switch-${IgcSwitchComponent.increment()}`;\n private labelId = `switch-label-${this.inputId}`;\n\n private handleClick() {\n this.checked = !this.checked;\n this.emitEvent('igcChange', { detail: this.checked });\n }\n\n @watch('checked', { waitUntilFirstUpdate: true })\n protected handleChange() {\n this.invalid = !this.input.checkValidity();\n }\n\n protected override render() {\n return html`\n <label\n part=${partNameMap({ base: true, checked: this.checked })}\n for=${this.inputId}\n @pointerdown=${this.handleMouseDown}\n >\n <input\n id=${this.inputId}\n type=\"checkbox\"\n name=${ifDefined(this.name)}\n value=${ifDefined(this.value)}\n .required=${this.required}\n .disabled=${this.disabled}\n .checked=${live(this.checked)}\n aria-checked=${this.checked ? 'true' : 'false'}\n aria-disabled=${this.disabled ? 'true' : 'false'}\n aria-labelledby=${this.ariaLabelledby\n ? this.ariaLabelledby\n : this.labelId}\n @click=${this.handleClick}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n />\n <span\n part=${partNameMap({\n control: true,\n checked: this.checked,\n focused: this.focused,\n })}\n >\n <span\n part=${partNameMap({ thumb: true, checked: this.checked })}\n ></span>\n </span>\n <span\n part=${partNameMap({ label: true, checked: this.checked })}\n id=${this.labelId}\n >\n <slot></slot>\n </span>\n </label>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-switch': IgcSwitchComponent;\n }\n}\n"]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
2
|
import { Constructor } from '../common/mixins/constructor.js';
|
|
3
|
-
import '../icon/icon.js';
|
|
4
3
|
export interface IgcChipEventMap {
|
|
5
4
|
igcRemove: CustomEvent<boolean>;
|
|
6
5
|
igcSelect: CustomEvent<boolean>;
|
|
@@ -38,6 +37,7 @@ export default class IgcChipComponent extends IgcChipComponent_base {
|
|
|
38
37
|
constructor();
|
|
39
38
|
protected handleSelect(): void;
|
|
40
39
|
protected handleRemove(e: Event): void;
|
|
40
|
+
protected handleKeyup(e: KeyboardEvent): void;
|
|
41
41
|
protected render(): import("lit-html").TemplateResult<1>;
|
|
42
42
|
protected slotChanges(): void;
|
|
43
43
|
}
|