igniteui-webcomponents 6.4.0 → 6.5.1
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 +77 -0
- package/components/calendar/base.d.ts +7 -3
- package/components/calendar/base.js +10 -14
- package/components/calendar/base.js.map +1 -1
- package/components/calendar/calendar.d.ts +48 -46
- package/components/calendar/calendar.js +259 -242
- package/components/calendar/calendar.js.map +1 -1
- package/components/calendar/days-view/days-view.d.ts +49 -27
- package/components/calendar/days-view/days-view.js +167 -160
- package/components/calendar/days-view/days-view.js.map +1 -1
- package/components/calendar/helpers.js +40 -28
- package/components/calendar/helpers.js.map +1 -1
- package/components/calendar/model.d.ts +9 -3
- package/components/calendar/model.js +29 -19
- package/components/calendar/model.js.map +1 -1
- package/components/calendar/months-view/months-view.d.ts +6 -7
- package/components/calendar/months-view/months-view.js +24 -27
- package/components/calendar/months-view/months-view.js.map +1 -1
- package/components/calendar/years-view/years-view.d.ts +6 -5
- package/components/calendar/years-view/years-view.js +11 -14
- package/components/calendar/years-view/years-view.js.map +1 -1
- package/components/checkbox/checkbox-base.d.ts +1 -1
- package/components/chip/themes/dark/chip.fluent.css.js +1 -1
- package/components/chip/themes/dark/chip.fluent.css.js.map +1 -1
- package/components/chip/themes/dark/chip.indigo.css.js +1 -1
- package/components/chip/themes/dark/chip.indigo.css.js.map +1 -1
- package/components/chip/themes/light/chip.fluent.css.js +1 -1
- package/components/chip/themes/light/chip.fluent.css.js.map +1 -1
- package/components/chip/themes/light/chip.indigo.css.js +1 -1
- package/components/chip/themes/light/chip.indigo.css.js.map +1 -1
- package/components/chip/themes/light/chip.shared.css.js +1 -1
- package/components/chip/themes/light/chip.shared.css.js.map +1 -1
- package/components/chip/themes/shared/chip.indigo.css.js +1 -1
- package/components/chip/themes/shared/chip.indigo.css.js.map +1 -1
- package/components/common/definitions/defineAllComponents.js +2 -0
- package/components/common/definitions/defineAllComponents.js.map +1 -1
- package/components/date-picker/date-picker.js +1 -1
- package/components/date-picker/date-picker.js.map +1 -1
- package/components/date-picker/themes/shared/date-picker.common.css.js +1 -1
- package/components/date-picker/themes/shared/date-picker.common.css.js.map +1 -1
- package/components/date-range-picker/date-range-picker.js +1 -1
- package/components/date-range-picker/date-range-picker.js.map +1 -1
- package/components/date-time-input/date-time-input.d.ts +4 -1
- package/components/date-time-input/date-time-input.js +17 -6
- package/components/date-time-input/date-time-input.js.map +1 -1
- package/components/file-input/file-input.d.ts +15 -13
- package/components/file-input/file-input.js +49 -47
- package/components/file-input/file-input.js.map +1 -1
- package/components/input/input-base.d.ts +31 -34
- package/components/input/input-base.js +58 -83
- package/components/input/input-base.js.map +1 -1
- package/components/input/input.d.ts +18 -7
- package/components/input/input.js +34 -19
- package/components/input/input.js.map +1 -1
- package/components/input/themes/shared/input.bootstrap.css.js +1 -1
- package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
- package/components/input/themes/shared/input.material.css.js +1 -1
- package/components/input/themes/shared/input.material.css.js.map +1 -1
- package/components/mask-input/mask-input-base.d.ts +10 -4
- package/components/mask-input/mask-input-base.js +18 -14
- package/components/mask-input/mask-input-base.js.map +1 -1
- package/components/mask-input/mask-input.d.ts +9 -3
- package/components/mask-input/mask-input.js +26 -6
- package/components/mask-input/mask-input.js.map +1 -1
- package/components/mask-input/validators.js +1 -1
- package/components/mask-input/validators.js.map +1 -1
- package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
- package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
- package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
- package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.material.css.js +1 -1
- package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
- package/components/theme-provider/theme-provider.d.ts +65 -0
- package/components/theme-provider/theme-provider.js +58 -0
- package/components/theme-provider/theme-provider.js.map +1 -0
- package/components/tile-manager/tile.js +6 -3
- package/components/tile-manager/tile.js.map +1 -1
- package/components/validation-container/themes/validator.base.css.js +1 -1
- package/components/validation-container/themes/validator.base.css.js.map +1 -1
- package/components/validation-container/validation-container.d.ts +1 -0
- package/components/validation-container/validation-container.js +3 -0
- package/components/validation-container/validation-container.js.map +1 -1
- package/custom-elements.json +2142 -1596
- package/extras/chat-markdown-renderer.d.ts +72 -4
- package/extras/chat-markdown-renderer.js +19 -7
- package/extras/chat-markdown-renderer.js.map +1 -1
- package/igniteui-webcomponents.html-data.json +1 -1
- package/index.d.ts +3 -0
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/package.json +1 -1
- 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/themes/light/bootstrap.css +1 -1
- package/themes/light/fluent.css +1 -1
- package/themes/light/indigo.css +1 -1
- package/themes/light/material.css +1 -1
- package/theming/context.d.ts +36 -0
- package/theming/context.js +3 -0
- package/theming/context.js.map +1 -0
- package/theming/theming-controller.d.ts +7 -1
- package/theming/theming-controller.js +48 -12
- package/theming/theming-controller.js.map +1 -1
- package/theming/utils.d.ts +10 -0
- package/theming/utils.js +8 -42
- package/theming/utils.js.map +1 -1
- package/web-types.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,81 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
|
5
5
|
and this project adheres to [Semantic Versioning](http://semver.org/).
|
|
6
6
|
|
|
7
|
+
## [6.5.1] - 2026-02-04
|
|
8
|
+
### Fixed
|
|
9
|
+
- #### Calendar
|
|
10
|
+
- aria-hidden state for weeks outside of the current month [#2079](https://github.com/IgniteUI/igniteui-webcomponents/pull/2079)
|
|
11
|
+
- #### Date picker
|
|
12
|
+
- CSS border for slotted actions in dialog mode [#2078](https://github.com/IgniteUI/igniteui-webcomponents/pull/2078)
|
|
13
|
+
- #### Input
|
|
14
|
+
- Placeholder color on focus [#2068](https://github.com/IgniteUI/igniteui-webcomponents/pull/2068)
|
|
15
|
+
- CSS border when suffix slot content is present [#2073](https://github.com/IgniteUI/igniteui-webcomponents/pull/2073)
|
|
16
|
+
- #### Textarea
|
|
17
|
+
- Algin bottom padding to the design system [#2069](https://github.com/IgniteUI/igniteui-webcomponents/pull/2069)
|
|
18
|
+
- #### Validation
|
|
19
|
+
- Slotted validation text follows the current theme [#2063](https://github.com/IgniteUI/igniteui-webcomponents/pull/2063)
|
|
20
|
+
|
|
21
|
+
## [6.5.0] - 2026-01-20
|
|
22
|
+
### Added
|
|
23
|
+
- Added theming scoping container [#2056](https://github.com/IgniteUI/igniteui-webcomponents/pull/2056)
|
|
24
|
+
- The `igc-theme-provider` component allows you to scope themes to specific parts of your page using Lit's context API. This enables having multiple different themes on the same page.
|
|
25
|
+
- Works both in Shadow and Light DOM.
|
|
26
|
+
- **Shadow DOM Usage**: When building custom web components with Shadow DOM, you can apply scoped themes by importing the theme CSS and wrapping your content with `igc-theme-provider`:
|
|
27
|
+
```typescript
|
|
28
|
+
import { LitElement, html } from 'lit';
|
|
29
|
+
import { styles as materialDark } from 'igniteui-webcomponents/themes/dark/material.css.js';
|
|
30
|
+
|
|
31
|
+
class MyComponent extends LitElement {
|
|
32
|
+
static styles = [materialDark];
|
|
33
|
+
|
|
34
|
+
render() {
|
|
35
|
+
return html`
|
|
36
|
+
<style>
|
|
37
|
+
/* Additional component-specific styles */
|
|
38
|
+
</style>
|
|
39
|
+
<igc-theme-provider theme="material" variant="dark">
|
|
40
|
+
<igc-button>Scoped Material Dark Button</igc-button>
|
|
41
|
+
<igc-input label="Scoped Input"></igc-input>
|
|
42
|
+
</igc-theme-provider>
|
|
43
|
+
`;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
- **Light DOM with @scope**: For Light DOM usage, you can leverage CSS `@scope` to apply themes to specific page sections:
|
|
48
|
+
```html
|
|
49
|
+
<style>
|
|
50
|
+
@scope (#fluent-section) {
|
|
51
|
+
@import 'node_modules/igniteui-webcomponents/themes/light/fluent.css';
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@scope (#material-section) {
|
|
55
|
+
@import 'node_modules/igniteui-webcomponents/themes/dark/material.css';
|
|
56
|
+
}
|
|
57
|
+
</style>
|
|
58
|
+
|
|
59
|
+
<div id="fluent-section">
|
|
60
|
+
<igc-theme-provider theme="fluent" variant="light">
|
|
61
|
+
<igc-button>Fluent Light Button</igc-button>
|
|
62
|
+
<igc-card>
|
|
63
|
+
<igc-card-header>Fluent Theme Card</igc-card-header>
|
|
64
|
+
</igc-card>
|
|
65
|
+
</igc-theme-provider>
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
<div id="material-section">
|
|
69
|
+
<igc-theme-provider theme="material" variant="dark">
|
|
70
|
+
<igc-button>Material Dark Button</igc-button>
|
|
71
|
+
<igc-input label="Material Input"></igc-input>
|
|
72
|
+
</igc-theme-provider>
|
|
73
|
+
</div>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Fixed
|
|
77
|
+
- #### Tile manager
|
|
78
|
+
- Header is hidden only when there is no content and maximize/fullscreen are disabled [#2059](https://github.com/IgniteUI/igniteui-webcomponents/pull/2059)
|
|
79
|
+
- #### Theming
|
|
80
|
+
- Resolve initial theme based on document computed styles rather than stylesheets [#2061](https://github.com/IgniteUI/igniteui-webcomponents/pull/2061)
|
|
81
|
+
|
|
7
82
|
## [6.4.0] - 2025-12-15
|
|
8
83
|
### Added
|
|
9
84
|
- #### Localization
|
|
@@ -1140,6 +1215,8 @@ Initial release of Ignite UI Web Components
|
|
|
1140
1215
|
- Ripple component
|
|
1141
1216
|
- Switch component
|
|
1142
1217
|
|
|
1218
|
+
[6.5.1]: https://github.com/IgniteUI/igniteui-webcomponents/compare/6.5.0...6.5.1
|
|
1219
|
+
[6.5.0]: https://github.com/IgniteUI/igniteui-webcomponents/compare/6.4.0...6.5.0
|
|
1143
1220
|
[6.4.0]: https://github.com/IgniteUI/igniteui-webcomponents/compare/6.3.6...6.4.0
|
|
1144
1221
|
[6.3.6]: https://github.com/IgniteUI/igniteui-webcomponents/compare/6.3.5...6.3.6
|
|
1145
1222
|
[6.3.5]: https://github.com/IgniteUI/igniteui-webcomponents/compare/6.3.4...6.3.5
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LitElement } from 'lit';
|
|
1
|
+
import { LitElement, type PropertyValues } from 'lit';
|
|
2
2
|
import { type IgcCalendarResourceStrings } from '../common/i18n/EN/calendar.resources.js';
|
|
3
3
|
import { CalendarDay } from './model.js';
|
|
4
4
|
import type { CalendarSelection, DateRangeDescriptor, WeekDays } from './types.js';
|
|
@@ -38,16 +38,19 @@ export declare class IgcCalendarBaseComponent extends LitElement {
|
|
|
38
38
|
/**
|
|
39
39
|
* Sets the type of selection in the component.
|
|
40
40
|
* @attr selection
|
|
41
|
+
* @default single
|
|
41
42
|
*/
|
|
42
43
|
selection: CalendarSelection;
|
|
43
44
|
/**
|
|
44
45
|
* Whether to show the week numbers.
|
|
45
46
|
* @attr show-week-numbers
|
|
47
|
+
* @default false
|
|
46
48
|
*/
|
|
47
49
|
showWeekNumbers: boolean;
|
|
48
50
|
/**
|
|
49
51
|
* Gets/Sets the first day of the week.
|
|
50
52
|
* @attr week-start
|
|
53
|
+
* @default sunday
|
|
51
54
|
*/
|
|
52
55
|
weekStart: WeekDays;
|
|
53
56
|
/**
|
|
@@ -67,7 +70,8 @@ export declare class IgcCalendarBaseComponent extends LitElement {
|
|
|
67
70
|
/** Gets/Sets the disabled dates for the component. */
|
|
68
71
|
set disabledDates(value: DateRangeDescriptor[]);
|
|
69
72
|
get disabledDates(): DateRangeDescriptor[] | undefined;
|
|
70
|
-
|
|
71
|
-
protected
|
|
73
|
+
/** @internal */
|
|
74
|
+
protected update(props: PropertyValues<this>): void;
|
|
75
|
+
/** @internal */
|
|
72
76
|
protected firstUpdated(): void;
|
|
73
77
|
}
|
|
@@ -8,7 +8,6 @@ import { LitElement } from 'lit';
|
|
|
8
8
|
import { property, state } from 'lit/decorators.js';
|
|
9
9
|
import { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';
|
|
10
10
|
import { blazorIndirectRender } from '../common/decorators/blazorIndirectRender.js';
|
|
11
|
-
import { watch } from '../common/decorators/watch.js';
|
|
12
11
|
import { IgcCalendarResourceStringEN, } from '../common/i18n/EN/calendar.resources.js';
|
|
13
12
|
import { addI18nController } from '../common/i18n/i18n-controller.js';
|
|
14
13
|
import { first } from '../common/util.js';
|
|
@@ -91,13 +90,16 @@ let IgcCalendarBaseComponent = class IgcCalendarBaseComponent extends LitElement
|
|
|
91
90
|
get disabledDates() {
|
|
92
91
|
return this._disabledDates.length ? this._disabledDates : undefined;
|
|
93
92
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
this.
|
|
99
|
-
|
|
100
|
-
|
|
93
|
+
update(props) {
|
|
94
|
+
if (props.has('weekStart')) {
|
|
95
|
+
this._firstDayOfWeek = getWeekDayNumber(this.weekStart);
|
|
96
|
+
}
|
|
97
|
+
if (props.has('selection') && this.hasUpdated) {
|
|
98
|
+
this._rangePreviewDate = undefined;
|
|
99
|
+
this._value = null;
|
|
100
|
+
this._values = [];
|
|
101
|
+
}
|
|
102
|
+
super.update(props);
|
|
101
103
|
}
|
|
102
104
|
firstUpdated() {
|
|
103
105
|
if (this._initialActiveDateSet) {
|
|
@@ -162,12 +164,6 @@ __decorate([
|
|
|
162
164
|
__decorate([
|
|
163
165
|
property({ attribute: false })
|
|
164
166
|
], IgcCalendarBaseComponent.prototype, "disabledDates", null);
|
|
165
|
-
__decorate([
|
|
166
|
-
watch('weekStart')
|
|
167
|
-
], IgcCalendarBaseComponent.prototype, "weekStartChanged", null);
|
|
168
|
-
__decorate([
|
|
169
|
-
watch('selection', { waitUntilFirstUpdate: true })
|
|
170
|
-
], IgcCalendarBaseComponent.prototype, "selectionChanged", null);
|
|
171
167
|
IgcCalendarBaseComponent = __decorate([
|
|
172
168
|
blazorIndirectRender,
|
|
173
169
|
blazorDeepImport
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/components/calendar/base.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\n\nimport { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';\nimport { blazorIndirectRender } from '../common/decorators/blazorIndirectRender.js';\nimport { watch } from '../common/decorators/watch.js';\nimport {\n IgcCalendarResourceStringEN,\n type IgcCalendarResourceStrings,\n} from '../common/i18n/EN/calendar.resources.js';\nimport { addI18nController } from '../common/i18n/i18n-controller.js';\nimport { first } from '../common/util.js';\nimport { convertToDate, convertToDates, getWeekDayNumber } from './helpers.js';\nimport { CalendarDay } from './model.js';\nimport type {\n CalendarSelection,\n DateRangeDescriptor,\n WeekDays,\n} from './types.js';\n\n@blazorIndirectRender\n@blazorDeepImport\nexport class IgcCalendarBaseComponent extends LitElement {\n protected readonly _i18nController =\n addI18nController<IgcCalendarResourceStrings>(this, {\n defaultEN: IgcCalendarResourceStringEN,\n });\n private _initialActiveDateSet = false;\n\n protected get _hasValues() {\n return this._values && this._values.length > 0;\n }\n\n protected get _isSingle() {\n return this.selection === 'single';\n }\n\n protected get _isMultiple() {\n return this.selection === 'multiple';\n }\n\n protected get _isRange() {\n return this.selection === 'range';\n }\n\n @state()\n protected _rangePreviewDate?: CalendarDay;\n\n @state()\n protected _firstDayOfWeek = 0;\n\n @state()\n protected _activeDate = CalendarDay.today;\n\n @state()\n protected _value: CalendarDay | null = null;\n\n @state()\n protected _values: CalendarDay[] = [];\n\n @state()\n protected _specialDates: DateRangeDescriptor[] = [];\n\n @state()\n protected _disabledDates: DateRangeDescriptor[] = [];\n\n /* blazorSuppress */\n /**\n * The current value of the calendar.\n * Used when selection is set to single\n *\n * @attr value\n */\n @property({ converter: convertToDate })\n public set value(value: Date | string | null | undefined) {\n const converted = convertToDate(value);\n this._value = converted ? CalendarDay.from(converted) : null;\n }\n\n public get value(): Date | null {\n return this._value ? this._value.native : null;\n }\n\n /* blazorSuppress */\n /**\n * The current values of the calendar.\n * Used when selection is set to multiple of range.\n *\n * @attr values\n */\n @property({ converter: convertToDates })\n public set values(values: (Date | string)[] | string | null | undefined) {\n const converted = convertToDates(values);\n this._values = converted ? converted.map((v) => CalendarDay.from(v)) : [];\n }\n\n public get values(): Date[] {\n return this._values ? this._values.map((v) => v.native) : [];\n }\n\n /* blazorSuppress */\n /** Get/Set the date which is shown in view and is highlighted. By default it is the current date. */\n @property({ attribute: 'active-date', converter: convertToDate })\n public set activeDate(value: Date | string | null | undefined) {\n this._initialActiveDateSet = true;\n const converted = convertToDate(value);\n this._activeDate = converted\n ? CalendarDay.from(converted)\n : CalendarDay.today;\n }\n\n public get activeDate(): Date {\n return this._activeDate.native;\n }\n\n /**\n * Sets the type of selection in the component.\n * @attr selection\n */\n @property()\n public selection: CalendarSelection = 'single';\n\n /**\n * Whether to show the week numbers.\n * @attr show-week-numbers\n */\n @property({ type: Boolean, reflect: true, attribute: 'show-week-numbers' })\n public showWeekNumbers = false;\n\n /**\n * Gets/Sets the first day of the week.\n * @attr week-start\n */\n @property({ attribute: 'week-start' })\n public weekStart: WeekDays = 'sunday';\n\n /**\n * Gets/Sets the locale used for formatting and displaying the dates in the component.\n * @attr locale\n */\n @property()\n public set locale(value: string) {\n this._i18nController.locale = value;\n }\n\n public get locale() {\n return this._i18nController.locale;\n }\n\n /**\n * The resource strings for localization.\n */\n @property({ attribute: false })\n public set resourceStrings(value: IgcCalendarResourceStrings) {\n this._i18nController.resourceStrings = value;\n }\n\n public get resourceStrings(): IgcCalendarResourceStrings {\n return this._i18nController.resourceStrings;\n }\n\n /** Gets/Sets the special dates for the component. */\n @property({ attribute: false })\n public set specialDates(value: DateRangeDescriptor[]) {\n this._specialDates = value ?? [];\n }\n\n public get specialDates(): DateRangeDescriptor[] | undefined {\n return this._specialDates.length ? this._specialDates : undefined;\n }\n\n /** Gets/Sets the disabled dates for the component. */\n @property({ attribute: false })\n public set disabledDates(value: DateRangeDescriptor[]) {\n this._disabledDates = value ?? [];\n }\n\n public get disabledDates(): DateRangeDescriptor[] | undefined {\n return this._disabledDates.length ? this._disabledDates : undefined;\n }\n\n @watch('weekStart')\n protected weekStartChanged() {\n this._firstDayOfWeek = getWeekDayNumber(this.weekStart);\n }\n\n @watch('selection', { waitUntilFirstUpdate: true })\n protected selectionChanged() {\n this._rangePreviewDate = undefined;\n this._value = null;\n this._values = [];\n }\n\n protected override firstUpdated() {\n if (this._initialActiveDateSet) {\n return;\n }\n\n if (this._isSingle) {\n this.activeDate = this.value ?? this.activeDate;\n } else {\n this.activeDate = first(this.values) ?? this.activeDate;\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/components/calendar/base.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, type PropertyValues } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';\nimport { blazorIndirectRender } from '../common/decorators/blazorIndirectRender.js';\nimport {\n IgcCalendarResourceStringEN,\n type IgcCalendarResourceStrings,\n} from '../common/i18n/EN/calendar.resources.js';\nimport { addI18nController } from '../common/i18n/i18n-controller.js';\nimport { first } from '../common/util.js';\nimport { convertToDate, convertToDates, getWeekDayNumber } from './helpers.js';\nimport { CalendarDay } from './model.js';\nimport type {\n CalendarSelection,\n DateRangeDescriptor,\n WeekDays,\n} from './types.js';\n\n@blazorIndirectRender\n@blazorDeepImport\nexport class IgcCalendarBaseComponent extends LitElement {\n protected readonly _i18nController =\n addI18nController<IgcCalendarResourceStrings>(this, {\n defaultEN: IgcCalendarResourceStringEN,\n });\n\n private _initialActiveDateSet = false;\n\n protected get _hasValues(): boolean {\n return this._values && this._values.length > 0;\n }\n\n protected get _isSingle(): boolean {\n return this.selection === 'single';\n }\n\n protected get _isMultiple(): boolean {\n return this.selection === 'multiple';\n }\n\n protected get _isRange(): boolean {\n return this.selection === 'range';\n }\n\n @state()\n protected _rangePreviewDate?: CalendarDay;\n\n @state()\n protected _firstDayOfWeek = 0;\n\n @state()\n protected _activeDate = CalendarDay.today;\n\n @state()\n protected _value: CalendarDay | null = null;\n\n @state()\n protected _values: CalendarDay[] = [];\n\n @state()\n protected _specialDates: DateRangeDescriptor[] = [];\n\n @state()\n protected _disabledDates: DateRangeDescriptor[] = [];\n\n /* blazorSuppress */\n /**\n * The current value of the calendar.\n * Used when selection is set to single\n *\n * @attr value\n */\n @property({ converter: convertToDate })\n public set value(value: Date | string | null | undefined) {\n const converted = convertToDate(value);\n this._value = converted ? CalendarDay.from(converted) : null;\n }\n\n public get value(): Date | null {\n return this._value ? this._value.native : null;\n }\n\n /* blazorSuppress */\n /**\n * The current values of the calendar.\n * Used when selection is set to multiple of range.\n *\n * @attr values\n */\n @property({ converter: convertToDates })\n public set values(values: (Date | string)[] | string | null | undefined) {\n const converted = convertToDates(values);\n this._values = converted ? converted.map((v) => CalendarDay.from(v)) : [];\n }\n\n public get values(): Date[] {\n return this._values ? this._values.map((v) => v.native) : [];\n }\n\n /* blazorSuppress */\n /** Get/Set the date which is shown in view and is highlighted. By default it is the current date. */\n @property({ attribute: 'active-date', converter: convertToDate })\n public set activeDate(value: Date | string | null | undefined) {\n this._initialActiveDateSet = true;\n const converted = convertToDate(value);\n this._activeDate = converted\n ? CalendarDay.from(converted)\n : CalendarDay.today;\n }\n\n public get activeDate(): Date {\n return this._activeDate.native;\n }\n\n /**\n * Sets the type of selection in the component.\n * @attr selection\n * @default single\n */\n @property()\n public selection: CalendarSelection = 'single';\n\n /**\n * Whether to show the week numbers.\n * @attr show-week-numbers\n * @default false\n */\n @property({ type: Boolean, reflect: true, attribute: 'show-week-numbers' })\n public showWeekNumbers = false;\n\n /**\n * Gets/Sets the first day of the week.\n * @attr week-start\n * @default sunday\n */\n @property({ attribute: 'week-start' })\n public weekStart: WeekDays = 'sunday';\n\n /**\n * Gets/Sets the locale used for formatting and displaying the dates in the component.\n * @attr locale\n */\n @property()\n public set locale(value: string) {\n this._i18nController.locale = value;\n }\n\n public get locale() {\n return this._i18nController.locale;\n }\n\n /**\n * The resource strings for localization.\n */\n @property({ attribute: false })\n public set resourceStrings(value: IgcCalendarResourceStrings) {\n this._i18nController.resourceStrings = value;\n }\n\n public get resourceStrings(): IgcCalendarResourceStrings {\n return this._i18nController.resourceStrings;\n }\n\n /** Gets/Sets the special dates for the component. */\n @property({ attribute: false })\n public set specialDates(value: DateRangeDescriptor[]) {\n this._specialDates = value ?? [];\n }\n\n public get specialDates(): DateRangeDescriptor[] | undefined {\n return this._specialDates.length ? this._specialDates : undefined;\n }\n\n /** Gets/Sets the disabled dates for the component. */\n @property({ attribute: false })\n public set disabledDates(value: DateRangeDescriptor[]) {\n this._disabledDates = value ?? [];\n }\n\n public get disabledDates(): DateRangeDescriptor[] | undefined {\n return this._disabledDates.length ? this._disabledDates : undefined;\n }\n\n /** @internal */\n protected override update(props: PropertyValues<this>): void {\n if (props.has('weekStart')) {\n this._firstDayOfWeek = getWeekDayNumber(this.weekStart);\n }\n\n if (props.has('selection') && this.hasUpdated) {\n this._rangePreviewDate = undefined;\n this._value = null;\n this._values = [];\n }\n\n super.update(props);\n }\n\n /** @internal */\n protected override firstUpdated(): void {\n if (this._initialActiveDateSet) {\n return;\n }\n\n if (this._isSingle) {\n this.activeDate = this.value ?? this.activeDate;\n } else {\n this.activeDate = first(this.values) ?? this.activeDate;\n }\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { nothing } from 'lit';
|
|
1
|
+
import { nothing, type TemplateResult } from 'lit';
|
|
2
2
|
import type { Constructor } from '../common/mixins/constructor.js';
|
|
3
3
|
import type { ContentOrientation } from '../types.js';
|
|
4
4
|
import { IgcCalendarBaseComponent } from './base.js';
|
|
@@ -60,19 +60,20 @@ export default class IgcCalendarComponent extends IgcCalendarComponent_base {
|
|
|
60
60
|
static readonly tagName = "igc-calendar";
|
|
61
61
|
static styles: import("lit").CSSResult;
|
|
62
62
|
static register(): void;
|
|
63
|
+
private readonly _contentRef;
|
|
63
64
|
private get _isDayView();
|
|
64
65
|
private get _isMonthView();
|
|
65
66
|
private get _isYearView();
|
|
66
|
-
private get
|
|
67
|
-
private get
|
|
68
|
-
private
|
|
69
|
-
private
|
|
70
|
-
private
|
|
71
|
-
private
|
|
72
|
-
private yearsView;
|
|
67
|
+
private get _previousButtonLabel();
|
|
68
|
+
private get _nextButtonLabel();
|
|
69
|
+
private _activeDaysViewIndex;
|
|
70
|
+
private readonly _daysViews;
|
|
71
|
+
private readonly _monthsView;
|
|
72
|
+
private readonly _yearsView;
|
|
73
73
|
/**
|
|
74
74
|
* Whether to show the dates that do not belong to the current active month.
|
|
75
75
|
* @attr hide-outside-days
|
|
76
|
+
* @default false
|
|
76
77
|
*/
|
|
77
78
|
hideOutsideDays: boolean;
|
|
78
79
|
/**
|
|
@@ -80,71 +81,72 @@ export default class IgcCalendarComponent extends IgcCalendarComponent_base {
|
|
|
80
81
|
* When the calendar selection is set to `multiple` the header is always hidden.
|
|
81
82
|
*
|
|
82
83
|
* @attr hide-header
|
|
84
|
+
* @default false
|
|
83
85
|
*/
|
|
84
86
|
hideHeader: boolean;
|
|
85
87
|
/**
|
|
86
88
|
* The orientation of the calendar header.
|
|
87
89
|
* @attr header-orientation
|
|
90
|
+
* @default "horizontal"
|
|
88
91
|
*/
|
|
89
92
|
headerOrientation: CalendarHeaderOrientation;
|
|
90
93
|
/**
|
|
91
94
|
* The orientation of the calendar months when more than one month
|
|
92
95
|
* is being shown.
|
|
93
96
|
* @attr orientation
|
|
97
|
+
* @default "horizontal"
|
|
94
98
|
*/
|
|
95
99
|
orientation: ContentOrientation;
|
|
96
100
|
/**
|
|
97
101
|
* The number of months displayed in the days view.
|
|
98
102
|
* @attr visible-months
|
|
103
|
+
* @default 1
|
|
99
104
|
*/
|
|
100
105
|
visibleMonths: number;
|
|
101
106
|
/**
|
|
102
107
|
* The current active view of the component.
|
|
103
108
|
* @attr active-view
|
|
109
|
+
* @default "days"
|
|
104
110
|
*/
|
|
105
111
|
activeView: CalendarActiveView;
|
|
106
112
|
/** The options used to format the months and the weekdays in the calendar views. */
|
|
107
113
|
formatOptions: Pick<Intl.DateTimeFormatOptions, 'month' | 'weekday'>;
|
|
108
|
-
|
|
109
|
-
private
|
|
110
|
-
private
|
|
111
|
-
private
|
|
112
|
-
private
|
|
114
|
+
constructor();
|
|
115
|
+
private _shouldSkipKeyboardEvent;
|
|
116
|
+
private _handleArrowKey;
|
|
117
|
+
private _handlePageKeys;
|
|
118
|
+
private _handleShiftPageKeys;
|
|
119
|
+
private _handleHomeKey;
|
|
120
|
+
private _handleEndKey;
|
|
121
|
+
private _handleMonthChange;
|
|
122
|
+
private _handleYearChange;
|
|
123
|
+
private _handleValueChange;
|
|
124
|
+
private _handleActiveDateChange;
|
|
125
|
+
private _handleRangePreviewChange;
|
|
126
|
+
private _setActiveDaysView;
|
|
127
|
+
private _navigate;
|
|
128
|
+
private _navigatePrevious;
|
|
129
|
+
private _navigateNext;
|
|
130
|
+
private _navigateToMonthView;
|
|
131
|
+
private _navigateToYearView;
|
|
113
132
|
/** @private @hidden @internal */
|
|
114
133
|
[focusActiveDate](options?: FocusOptions): Promise<void>;
|
|
115
|
-
private
|
|
116
|
-
private
|
|
117
|
-
private
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
protected
|
|
125
|
-
protected
|
|
126
|
-
protected
|
|
127
|
-
protected
|
|
128
|
-
protected
|
|
129
|
-
protected
|
|
130
|
-
protected
|
|
131
|
-
protected renderHeaderDateRange(): import("lit-html").TemplateResult<1>;
|
|
132
|
-
protected renderHeaderDate(): import("lit-html").TemplateResult<1>;
|
|
133
|
-
protected renderDaysView(): import("lit-html").TemplateResult<1>;
|
|
134
|
-
protected renderMonthView(): import("lit-html").TemplateResult<1>;
|
|
135
|
-
protected renderYearView(): import("lit-html").TemplateResult<1>;
|
|
136
|
-
protected render(): import("lit-html").TemplateResult<1>;
|
|
137
|
-
protected changeMonth(event: CustomEvent<Date>): void;
|
|
138
|
-
protected changeYear(event: CustomEvent<Date>): void;
|
|
139
|
-
protected changeValue(event: CustomEvent<Date>): void;
|
|
140
|
-
protected activeDateChanged(event: CustomEvent<Date>): void;
|
|
141
|
-
protected rangePreviewDateChanged(event: CustomEvent<Date>): void;
|
|
142
|
-
private getActiveDates;
|
|
143
|
-
private activateDaysView;
|
|
144
|
-
private navigatePrevious;
|
|
145
|
-
private navigateNext;
|
|
146
|
-
private switchToMonths;
|
|
147
|
-
private switchToYears;
|
|
134
|
+
private _updateViewIndex;
|
|
135
|
+
private _getActiveDates;
|
|
136
|
+
private _getNextEnabledDate;
|
|
137
|
+
protected _renderNavigationButtons(): TemplateResult<1>;
|
|
138
|
+
protected _renderMonthButtonNavigation(active: CalendarDay, viewIndex: number): TemplateResult;
|
|
139
|
+
protected _renderYearButtonNavigation(active: CalendarDay, viewIndex: number): TemplateResult;
|
|
140
|
+
protected _renderYearRangeNavigation(active: CalendarDay): TemplateResult;
|
|
141
|
+
protected _renderNavigation(date?: CalendarDay, showButtons?: boolean, viewIndex?: number): TemplateResult;
|
|
142
|
+
protected _renderHeader(): typeof nothing | TemplateResult<1>;
|
|
143
|
+
protected _renderHeaderDateSingle(): TemplateResult;
|
|
144
|
+
protected _renderHeaderDateRange(): TemplateResult;
|
|
145
|
+
protected _renderHeaderDate(): TemplateResult;
|
|
146
|
+
protected _renderDaysView(): TemplateResult;
|
|
147
|
+
protected _renderMonthView(): TemplateResult;
|
|
148
|
+
protected _renderYearView(): TemplateResult;
|
|
149
|
+
protected render(): TemplateResult<1>;
|
|
148
150
|
}
|
|
149
151
|
declare global {
|
|
150
152
|
interface HTMLElementTagNameMap {
|