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.
Files changed (111) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/components/calendar/base.d.ts +7 -3
  3. package/components/calendar/base.js +10 -14
  4. package/components/calendar/base.js.map +1 -1
  5. package/components/calendar/calendar.d.ts +48 -46
  6. package/components/calendar/calendar.js +259 -242
  7. package/components/calendar/calendar.js.map +1 -1
  8. package/components/calendar/days-view/days-view.d.ts +49 -27
  9. package/components/calendar/days-view/days-view.js +167 -160
  10. package/components/calendar/days-view/days-view.js.map +1 -1
  11. package/components/calendar/helpers.js +40 -28
  12. package/components/calendar/helpers.js.map +1 -1
  13. package/components/calendar/model.d.ts +9 -3
  14. package/components/calendar/model.js +29 -19
  15. package/components/calendar/model.js.map +1 -1
  16. package/components/calendar/months-view/months-view.d.ts +6 -7
  17. package/components/calendar/months-view/months-view.js +24 -27
  18. package/components/calendar/months-view/months-view.js.map +1 -1
  19. package/components/calendar/years-view/years-view.d.ts +6 -5
  20. package/components/calendar/years-view/years-view.js +11 -14
  21. package/components/calendar/years-view/years-view.js.map +1 -1
  22. package/components/checkbox/checkbox-base.d.ts +1 -1
  23. package/components/chip/themes/dark/chip.fluent.css.js +1 -1
  24. package/components/chip/themes/dark/chip.fluent.css.js.map +1 -1
  25. package/components/chip/themes/dark/chip.indigo.css.js +1 -1
  26. package/components/chip/themes/dark/chip.indigo.css.js.map +1 -1
  27. package/components/chip/themes/light/chip.fluent.css.js +1 -1
  28. package/components/chip/themes/light/chip.fluent.css.js.map +1 -1
  29. package/components/chip/themes/light/chip.indigo.css.js +1 -1
  30. package/components/chip/themes/light/chip.indigo.css.js.map +1 -1
  31. package/components/chip/themes/light/chip.shared.css.js +1 -1
  32. package/components/chip/themes/light/chip.shared.css.js.map +1 -1
  33. package/components/chip/themes/shared/chip.indigo.css.js +1 -1
  34. package/components/chip/themes/shared/chip.indigo.css.js.map +1 -1
  35. package/components/common/definitions/defineAllComponents.js +2 -0
  36. package/components/common/definitions/defineAllComponents.js.map +1 -1
  37. package/components/date-picker/date-picker.js +1 -1
  38. package/components/date-picker/date-picker.js.map +1 -1
  39. package/components/date-picker/themes/shared/date-picker.common.css.js +1 -1
  40. package/components/date-picker/themes/shared/date-picker.common.css.js.map +1 -1
  41. package/components/date-range-picker/date-range-picker.js +1 -1
  42. package/components/date-range-picker/date-range-picker.js.map +1 -1
  43. package/components/date-time-input/date-time-input.d.ts +4 -1
  44. package/components/date-time-input/date-time-input.js +17 -6
  45. package/components/date-time-input/date-time-input.js.map +1 -1
  46. package/components/file-input/file-input.d.ts +15 -13
  47. package/components/file-input/file-input.js +49 -47
  48. package/components/file-input/file-input.js.map +1 -1
  49. package/components/input/input-base.d.ts +31 -34
  50. package/components/input/input-base.js +58 -83
  51. package/components/input/input-base.js.map +1 -1
  52. package/components/input/input.d.ts +18 -7
  53. package/components/input/input.js +34 -19
  54. package/components/input/input.js.map +1 -1
  55. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  56. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  57. package/components/input/themes/shared/input.material.css.js +1 -1
  58. package/components/input/themes/shared/input.material.css.js.map +1 -1
  59. package/components/mask-input/mask-input-base.d.ts +10 -4
  60. package/components/mask-input/mask-input-base.js +18 -14
  61. package/components/mask-input/mask-input-base.js.map +1 -1
  62. package/components/mask-input/mask-input.d.ts +9 -3
  63. package/components/mask-input/mask-input.js +26 -6
  64. package/components/mask-input/mask-input.js.map +1 -1
  65. package/components/mask-input/validators.js +1 -1
  66. package/components/mask-input/validators.js.map +1 -1
  67. package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
  68. package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
  69. package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
  70. package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
  71. package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
  72. package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
  73. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  74. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  75. package/components/theme-provider/theme-provider.d.ts +65 -0
  76. package/components/theme-provider/theme-provider.js +58 -0
  77. package/components/theme-provider/theme-provider.js.map +1 -0
  78. package/components/tile-manager/tile.js +6 -3
  79. package/components/tile-manager/tile.js.map +1 -1
  80. package/components/validation-container/themes/validator.base.css.js +1 -1
  81. package/components/validation-container/themes/validator.base.css.js.map +1 -1
  82. package/components/validation-container/validation-container.d.ts +1 -0
  83. package/components/validation-container/validation-container.js +3 -0
  84. package/components/validation-container/validation-container.js.map +1 -1
  85. package/custom-elements.json +2142 -1596
  86. package/extras/chat-markdown-renderer.d.ts +72 -4
  87. package/extras/chat-markdown-renderer.js +19 -7
  88. package/extras/chat-markdown-renderer.js.map +1 -1
  89. package/igniteui-webcomponents.html-data.json +1 -1
  90. package/index.d.ts +3 -0
  91. package/index.js +2 -0
  92. package/index.js.map +1 -1
  93. package/package.json +1 -1
  94. package/themes/dark/bootstrap.css +1 -1
  95. package/themes/dark/fluent.css +1 -1
  96. package/themes/dark/indigo.css +1 -1
  97. package/themes/dark/material.css +1 -1
  98. package/themes/light/bootstrap.css +1 -1
  99. package/themes/light/fluent.css +1 -1
  100. package/themes/light/indigo.css +1 -1
  101. package/themes/light/material.css +1 -1
  102. package/theming/context.d.ts +36 -0
  103. package/theming/context.js +3 -0
  104. package/theming/context.js.map +1 -0
  105. package/theming/theming-controller.d.ts +7 -1
  106. package/theming/theming-controller.js +48 -12
  107. package/theming/theming-controller.js.map +1 -1
  108. package/theming/utils.d.ts +10 -0
  109. package/theming/utils.js +8 -42
  110. package/theming/utils.js.map +1 -1
  111. 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
- protected weekStartChanged(): void;
71
- protected selectionChanged(): void;
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
- weekStartChanged() {
95
- this._firstDayOfWeek = getWeekDayNumber(this.weekStart);
96
- }
97
- selectionChanged() {
98
- this._rangePreviewDate = undefined;
99
- this._value = null;
100
- this._values = [];
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 previousButtonLabel();
67
- private get nextButtonLabel();
68
- private contentRef;
69
- private activeDaysViewIndex;
70
- private daysViews;
71
- private monthsView;
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
- private get _monthOptions();
109
- private _monthLabelOptions;
110
- private _weekdayOptions;
111
- private _monthDayOptions;
112
- private _yearLabelOptions;
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 updateViewIndex;
116
- private getSubsequentActiveDate;
117
- private handleArrowKey;
118
- private onPageKeys;
119
- private onShiftPageKeys;
120
- private onHomeKey;
121
- private onEndKey;
122
- private isNotFromCalendarView;
123
- constructor();
124
- protected renderNavigationButtons(): import("lit-html").TemplateResult<1>;
125
- protected renderMonthButtonNavigation(active: CalendarDay, viewIndex: number): import("lit-html").TemplateResult<1>;
126
- protected renderYearButtonNavigation(active: CalendarDay, viewIndex: number): import("lit-html").TemplateResult<1>;
127
- protected renderYearRangeNavigation(active: CalendarDay): import("lit-html").TemplateResult<1>;
128
- protected renderNavigation(date?: CalendarDay, showButtons?: boolean, viewIndex?: number): import("lit-html").TemplateResult<1>;
129
- protected renderHeader(): typeof nothing | import("lit-html").TemplateResult<1>;
130
- protected renderHeaderDateSingle(): import("lit-html").TemplateResult<1>;
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 {