igniteui-webcomponents 5.4.0-rc.0 → 5.4.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.
Files changed (98) hide show
  1. package/CHANGELOG.md +94 -13
  2. package/animations/player.d.ts +1 -0
  3. package/animations/player.js +7 -0
  4. package/animations/player.js.map +1 -1
  5. package/animations/presets/scale/index.d.ts +2 -0
  6. package/animations/presets/scale/index.js +12 -0
  7. package/animations/presets/scale/index.js.map +1 -0
  8. package/components/calendar/days-view/days-view.js +5 -1
  9. package/components/calendar/days-view/days-view.js.map +1 -1
  10. package/components/carousel/themes/shared/carousel.bootstrap.css.js +1 -1
  11. package/components/carousel/themes/shared/carousel.bootstrap.css.js.map +1 -1
  12. package/components/carousel/themes/shared/carousel.common.css.js +1 -1
  13. package/components/carousel/themes/shared/carousel.common.css.js.map +1 -1
  14. package/components/carousel/themes/shared/carousel.fluent.css.js +1 -1
  15. package/components/carousel/themes/shared/carousel.fluent.css.js.map +1 -1
  16. package/components/carousel/themes/shared/carousel.indigo.css.js +1 -1
  17. package/components/carousel/themes/shared/carousel.indigo.css.js.map +1 -1
  18. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js +1 -1
  19. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js.map +1 -1
  20. package/components/combo/combo.d.ts +2 -2
  21. package/components/combo/combo.js +23 -12
  22. package/components/combo/combo.js.map +1 -1
  23. package/components/common/definitions/defineAllComponents.js +2 -0
  24. package/components/common/definitions/defineAllComponents.js.map +1 -1
  25. package/components/common/util.d.ts +7 -3
  26. package/components/common/util.js +110 -3
  27. package/components/common/util.js.map +1 -1
  28. package/components/date-picker/themes/shared/date-picker.fluent.css.js +1 -1
  29. package/components/date-picker/themes/shared/date-picker.fluent.css.js.map +1 -1
  30. package/components/icon/icon.registry.js +2 -2
  31. package/components/icon/icon.registry.js.map +1 -1
  32. package/components/input/themes/shared/input.fluent.css.js +1 -1
  33. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  34. package/components/popover/popover.d.ts +17 -1
  35. package/components/popover/popover.js +58 -9
  36. package/components/popover/popover.js.map +1 -1
  37. package/components/radio/themes/shared/radio.bootstrap.css.js +1 -1
  38. package/components/radio/themes/shared/radio.bootstrap.css.js.map +1 -1
  39. package/components/textarea/themes/shared/textarea.common.css.js +1 -1
  40. package/components/textarea/themes/shared/textarea.common.css.js.map +1 -1
  41. package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
  42. package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
  43. package/components/tooltip/controller.d.ts +87 -0
  44. package/components/tooltip/controller.js +172 -0
  45. package/components/tooltip/controller.js.map +1 -0
  46. package/components/tooltip/service.d.ts +12 -0
  47. package/components/tooltip/service.js +42 -0
  48. package/components/tooltip/service.js.map +1 -0
  49. package/components/tooltip/themes/dark/tooltip.bootstrap.css.d.ts +1 -0
  50. package/components/tooltip/themes/dark/tooltip.bootstrap.css.js +3 -0
  51. package/components/tooltip/themes/dark/tooltip.bootstrap.css.js.map +1 -0
  52. package/components/tooltip/themes/dark/tooltip.fluent.css.d.ts +1 -0
  53. package/components/tooltip/themes/dark/tooltip.fluent.css.js +3 -0
  54. package/components/tooltip/themes/dark/tooltip.fluent.css.js.map +1 -0
  55. package/components/tooltip/themes/dark/tooltip.indigo.css.d.ts +1 -0
  56. package/components/tooltip/themes/dark/tooltip.indigo.css.js +3 -0
  57. package/components/tooltip/themes/dark/tooltip.indigo.css.js.map +1 -0
  58. package/components/tooltip/themes/dark/tooltip.material.css.d.ts +1 -0
  59. package/components/tooltip/themes/dark/tooltip.material.css.js +3 -0
  60. package/components/tooltip/themes/dark/tooltip.material.css.js.map +1 -0
  61. package/components/tooltip/themes/light/tooltip.bootstrap.css.d.ts +1 -0
  62. package/components/tooltip/themes/light/tooltip.bootstrap.css.js +3 -0
  63. package/components/tooltip/themes/light/tooltip.bootstrap.css.js.map +1 -0
  64. package/components/tooltip/themes/light/tooltip.fluent.css.d.ts +1 -0
  65. package/components/tooltip/themes/light/tooltip.fluent.css.js +3 -0
  66. package/components/tooltip/themes/light/tooltip.fluent.css.js.map +1 -0
  67. package/components/tooltip/themes/light/tooltip.indigo.css.d.ts +1 -0
  68. package/components/tooltip/themes/light/tooltip.indigo.css.js +3 -0
  69. package/components/tooltip/themes/light/tooltip.indigo.css.js.map +1 -0
  70. package/components/tooltip/themes/light/tooltip.material.css.d.ts +1 -0
  71. package/components/tooltip/themes/light/tooltip.material.css.js +3 -0
  72. package/components/tooltip/themes/light/tooltip.material.css.js.map +1 -0
  73. package/components/tooltip/themes/light/tooltip.shared.css.d.ts +1 -0
  74. package/components/tooltip/themes/light/tooltip.shared.css.js +3 -0
  75. package/components/tooltip/themes/light/tooltip.shared.css.js.map +1 -0
  76. package/components/tooltip/themes/shared/tooltip.common.css.d.ts +1 -0
  77. package/components/tooltip/themes/shared/tooltip.common.css.js +3 -0
  78. package/components/tooltip/themes/shared/tooltip.common.css.js.map +1 -0
  79. package/components/tooltip/themes/shared/tooltip.indigo.css.d.ts +1 -0
  80. package/components/tooltip/themes/shared/tooltip.indigo.css.js +3 -0
  81. package/components/tooltip/themes/shared/tooltip.indigo.css.js.map +1 -0
  82. package/components/tooltip/themes/themes.d.ts +2 -0
  83. package/components/tooltip/themes/themes.js +47 -0
  84. package/components/tooltip/themes/themes.js.map +1 -0
  85. package/components/tooltip/themes/tooltip.base.css.d.ts +1 -0
  86. package/components/tooltip/themes/tooltip.base.css.js +3 -0
  87. package/components/tooltip/themes/tooltip.base.css.js.map +1 -0
  88. package/components/tooltip/tooltip.d.ts +154 -0
  89. package/components/tooltip/tooltip.js +284 -0
  90. package/components/tooltip/tooltip.js.map +1 -0
  91. package/custom-elements.json +1080 -29
  92. package/igniteui-webcomponents.css-data.json +1 -1
  93. package/igniteui-webcomponents.html-data.json +1 -1
  94. package/index.d.ts +2 -0
  95. package/index.js +1 -0
  96. package/index.js.map +1 -1
  97. package/package.json +1 -1
  98. package/web-types.json +2 -2
package/CHANGELOG.md CHANGED
@@ -4,24 +4,104 @@ 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
- ## [Unreleased]
7
+ ## [5.4.0] - 2025-04-23
8
8
  ### Added
9
- - New File Input Component(`igc-file-input`)
10
- - Exposed more public API type aliases for component property types like `ButtonVariant`, `PickerMode`, `StepperOrientation`, `HorizontalTransitionAnimation` (carousel and horizontal stepper) and more.
9
+ - File Input component
10
+ - Tooltip component
11
+ - #### Library
12
+ - Exposed more public API type aliases for component property types like `ButtonVariant`, `PickerMode`, `StepperOrientation`, `HorizontalTransitionAnimation` (carousel and horizontal stepper) and more.
13
+
14
+ ### Changed
15
+ - #### Card
16
+ - Spacing styles [#1620](https://github.com/IgniteUI/igniteui-webcomponents/pull/1620)
17
+ - #### Carousel
18
+ - Use the new `button-focus-arrow-color` [#1612](https://github.com/IgniteUI/igniteui-webcomponents/pull/1612)
19
+ - #### Checkbox
20
+ - Use the new `focus-border-color` [#1611](https://github.com/IgniteUI/igniteui-webcomponents/pull/1611)
21
+ - #### Radio
22
+ - Use the new `focus-border-color` [#1644](https://github.com/IgniteUI/igniteui-webcomponents/pull/1644)
23
+ - #### Tile manager
24
+ - Improved tile swap behavior based on drag direction [#1608](https://github.com/IgniteUI/igniteui-webcomponents/pull/1608)
25
+ - View transition for UI triggered maximized state changes [#1624](https://github.com/IgniteUI/igniteui-webcomponents/pull/1624)
11
26
 
12
27
  ### Deprecated
13
- - Some event argument types have been renamed for consistency:
14
- - `CheckboxChangeEventArgs` deprecated, use `IgcCheckboxChangeEventArgs` instead.
15
- - `RadioChangeEventArgs` deprecated, use `IgcRadioChangeEventArgs` instead.
16
- - `IgcRangeSliderValue` deprecated, use `IgcRangeSliderValueEventArgs` instead.
17
- - `IgcActiveStepChangingArgs` deprecated, use `IgcActiveStepChangingEventArgs` instead.
18
- - `IgcActiveStepChangedArgs` deprecated, use `IgcActiveStepChangedEventArgs` instead.
19
- - Carousel Slide's `toggleAnimation` is now marked internal and deprecated for use in favor of parent Carousel's `select` method.
20
- - Stepper Step's `toggleAnimation` is now marked internal and deprecated for use in favor of parent Stepper's `navigateTo` method.
28
+ - #### Carousel
29
+ - Carousel Slide's `toggleAnimation` is now marked internal and deprecated for use in favor of parent Carousel's `select` method.
30
+ - #### Stepper
31
+ - Stepper Step's `toggleAnimation` is now marked internal and deprecated for use in favor of parent Stepper's `navigateTo` method.
32
+ - #### Tabs - **NEXT MAJOR (v6.0.0) BREAKING CHANGE**
33
+ - `igc-tab` **panel** property is removed.
34
+ - Starting with the next major release of the library (6.0.0) the `igc-tab-panel` will be removed.
35
+ The `igc-tab` now encompasses both the tab header and the tab content in a single component. Slotted content in the default
36
+ slot of the `igc-tab` element now replaces the `igc-tab-panel` role while elements slotted inside the **label** slot
37
+ will end up as content for the `igc-tab` header.
38
+
39
+ Before 6.0.0:
40
+ ```html
41
+ <igc-tabs>
42
+ <igc-tab panel="home">
43
+ <igc-icon name="home"></igc-icon>
44
+ </igc-tab>
45
+ <igc-tab panel="search">
46
+ <igc-icon name="search"></igc-icon>
47
+ </igc-tab>
48
+ <igc-tab panel="favorite">
49
+ <igc-icon name="favorite"></igc-icon>
50
+ </igc-tab>
51
+ <igc-tab-panel id="home">Home tab panel</igc-tab-panel>
52
+ <igc-tab-panel id="search">Search tab panel</igc-tab-panel>
53
+ <igc-tab-panel id="favorite">Favorite tab panel</igc-tab-panel>
54
+ </igc-tabs>
55
+ ```
56
+
57
+ 6.0.0 and onwards:
58
+ ```html
59
+ <igc-tabs>
60
+ <igc-tab>
61
+ <igc-icon name="home" slot="label"></igc-icon>
62
+ Home tab panel
63
+ </igc-tab>
64
+ <igc-tab>
65
+ <igc-icon name="search" slot="label"></igc-icon>
66
+ Search tab panel
67
+ </igc-tab>
68
+ <igc-tab>
69
+ <igc-icon name="favorite" slot="label"></igc-icon>
70
+ Favorite tab panel
71
+ </igc-tab>
72
+ </igc-tabs>
73
+ ```
74
+ - #### Library
75
+ - Some event argument types have been renamed for consistency:
76
+ - `CheckboxChangeEventArgs` deprecated, use `IgcCheckboxChangeEventArgs` instead.
77
+ - `RadioChangeEventArgs` deprecated, use `IgcRadioChangeEventArgs` instead.
78
+ - `IgcRangeSliderValue` deprecated, use `IgcRangeSliderValueEventArgs` instead.
79
+ - `IgcActiveStepChangingArgs` deprecated, use `IgcActiveStepChangingEventArgs` instead.
80
+ - `IgcActiveStepChangedArgs` deprecated, use `IgcActiveStepChangedEventArgs` instead.
81
+ - Node versions < 20 are now deprecated. The next major release (6.0.0) will require Node version > 20. [Nodejs support](https://nodejs.org/en/about/previous-releases)
82
+
83
+ ### Removed
84
+ - #### Switch
85
+ - Invalid state CSS properties [#1622](https://github.com/IgniteUI/igniteui-webcomponents/pull/1622)
21
86
 
22
87
  ### Fixed
23
- - Setting validation properties on a pristine non-dirty form associated element does not apply invalid styles [#1632](https://github.com/IgniteUI/igniteui-webcomponents/issues/1632)
24
- - Exposed `IgcCalendarResourceStrings`, `PopoverPlacement` (Dropdown and Select) and `IgcTreeSelectionEventArgs` from the public API
88
+ - #### Chip
89
+ - Bootstrap styles [#1635](https://github.com/IgniteUI/igniteui-webcomponents/pull/1635)
90
+ - #### Calendar
91
+ - Date text color in range selection [#1630](https://github.com/IgniteUI/igniteui-webcomponents/pull/1630)
92
+ - Header size [#1629](https://github.com/IgniteUI/igniteui-webcomponents/pull/1629)
93
+ - Fluent theme range radius [#1650](https://github.com/IgniteUI/igniteui-webcomponents/pull/1650)
94
+ - ARIA violation when a week with all days hidden is rendered [#1637](https://github.com/IgniteUI/igniteui-webcomponents/pull/1637)
95
+ - #### Input
96
+ - Fluent theme discrepancies [#1651](https://github.com/IgniteUI/igniteui-webcomponents/pull/1651)
97
+ - #### Rating
98
+ - Overwritten properties [#1654](https://github.com/IgniteUI/igniteui-webcomponents/pull/1654)
99
+ - #### Stepper
100
+ - Header text alignment [#1624](https://github.com/IgniteUI/igniteui-webcomponents/pull/1624)
101
+ - #### Forms
102
+ - Setting validation properties on a pristine non-dirty form associated element does not apply invalid styles [#1632](https://github.com/IgniteUI/igniteui-webcomponents/issues/1632)
103
+ - #### Library
104
+ - Exposed `IgcCalendarResourceStrings`, `PopoverPlacement` (Dropdown and Select) and `IgcTreeSelectionEventArgs` from the public API
25
105
 
26
106
  ## [5.3.0] - 2025-03-13
27
107
  ### Added
@@ -737,6 +817,7 @@ Initial release of Ignite UI Web Components
737
817
  - Ripple component
738
818
  - Switch component
739
819
 
820
+ [5.4.0]: https://github.com/IgniteUI/igniteui-webcomponents/compare/5.3.0...5.4.0
740
821
  [5.3.0]: https://github.com/IgniteUI/igniteui-webcomponents/compare/5.2.4...5.3.0
741
822
  [5.2.4]: https://github.com/IgniteUI/igniteui-webcomponents/compare/5.2.3...5.2.4
742
823
  [5.2.3]: https://github.com/IgniteUI/igniteui-webcomponents/compare/5.2.2...5.2.3
@@ -9,6 +9,7 @@ declare class AnimationController implements ReactiveController {
9
9
  private parseKeyframes;
10
10
  play(animation: AnimationReferenceMetadata): Promise<AnimationPlaybackEvent>;
11
11
  stopAll(): Promise<unknown[]>;
12
+ playExclusive(animation: AnimationReferenceMetadata): Promise<boolean>;
12
13
  hostConnected(): void;
13
14
  }
14
15
  /**
@@ -51,6 +51,13 @@ class AnimationController {
51
51
  });
52
52
  }));
53
53
  }
54
+ async playExclusive(animation) {
55
+ const [_, event] = await Promise.all([
56
+ this.stopAll(),
57
+ this.play(animation),
58
+ ]);
59
+ return event.type === 'finish';
60
+ }
54
61
  hostConnected() { }
55
62
  }
56
63
  export function addAnimationController(host, target) {
@@ -1 +1 @@
1
- {"version":3,"file":"player.js","sourceRoot":"","sources":["../../src/animations/player.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ReactiveController, ReactiveControllerHost } from 'lit';\nimport type { Ref } from 'lit/directives/ref.js';\n\nimport { isElement } from '../components/common/util.js';\nimport type { AnimationReferenceMetadata } from './types.js';\n\nconst listenerOptions = { once: true };\n\nfunction getPrefersReducedMotion() {\n return globalThis?.matchMedia('(prefers-reduced-motion: reduce)').matches;\n}\n\nclass AnimationController implements ReactiveController {\n protected get target() {\n if (isElement(this._target)) {\n return this._target;\n }\n return this._target?.value ?? this.host;\n }\n\n constructor(\n private readonly host: ReactiveControllerHost & HTMLElement,\n private _target?: Ref<HTMLElement> | HTMLElement\n ) {\n this.host.addController(this);\n }\n\n private parseKeyframes(keyframes: Keyframe[]) {\n return keyframes.map((keyframe) => {\n if (!keyframe.height) return keyframe;\n\n return {\n ...keyframe,\n height:\n keyframe.height === 'auto'\n ? `${this.target.scrollHeight}px`\n : keyframe.height,\n };\n });\n }\n\n public async play(animation: AnimationReferenceMetadata) {\n const { steps, options } = animation;\n\n if (options?.duration === Number.POSITIVE_INFINITY) {\n throw new Error('Promise-based animations must be finite.');\n }\n\n return new Promise<AnimationPlaybackEvent>((resolve) => {\n const animation = this.target.animate(this.parseKeyframes(steps), {\n ...options,\n duration: getPrefersReducedMotion() ? 0 : options!.duration,\n });\n\n animation.addEventListener('cancel', resolve, listenerOptions);\n animation.addEventListener('finish', resolve, listenerOptions);\n });\n }\n\n public stopAll() {\n return Promise.all(\n this.target.getAnimations().map((animation) => {\n return new Promise((resolve) => {\n const resolver = () => requestAnimationFrame(resolve);\n animation.addEventListener('cancel', resolver, listenerOptions);\n animation.addEventListener('finish', resolver, listenerOptions);\n\n animation.cancel();\n });\n })\n );\n }\n\n public hostConnected() {}\n}\n\n/**\n * Creates and attaches an animation player instance to the passed in `host` element.\n * The player will run animations on the passed in `target`, or if `target` is undefined,\n * the host element itself.\n */\nexport function addAnimationController(\n host: ReactiveControllerHost & HTMLElement,\n target?: Ref<HTMLElement> | HTMLElement\n) {\n return new AnimationController(host, target);\n}\n\ntype ViewTransitionResult = {\n transition?: ViewTransition;\n};\n\nexport function startViewTransition(\n callback?: ViewTransitionUpdateCallback\n): ViewTransitionResult {\n /* c8 ignore next 4 */\n if (getPrefersReducedMotion() || !document.startViewTransition) {\n callback?.();\n return {};\n }\n\n return { transition: document.startViewTransition(callback) };\n}\n"]}
1
+ {"version":3,"file":"player.js","sourceRoot":"","sources":["../../src/animations/player.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ReactiveController, ReactiveControllerHost } from 'lit';\nimport type { Ref } from 'lit/directives/ref.js';\n\nimport { isElement } from '../components/common/util.js';\nimport type { AnimationReferenceMetadata } from './types.js';\n\nconst listenerOptions = { once: true };\n\nfunction getPrefersReducedMotion() {\n return globalThis?.matchMedia('(prefers-reduced-motion: reduce)').matches;\n}\n\nclass AnimationController implements ReactiveController {\n protected get target() {\n if (isElement(this._target)) {\n return this._target;\n }\n return this._target?.value ?? this.host;\n }\n\n constructor(\n private readonly host: ReactiveControllerHost & HTMLElement,\n private _target?: Ref<HTMLElement> | HTMLElement\n ) {\n this.host.addController(this);\n }\n\n private parseKeyframes(keyframes: Keyframe[]) {\n return keyframes.map((keyframe) => {\n if (!keyframe.height) return keyframe;\n\n return {\n ...keyframe,\n height:\n keyframe.height === 'auto'\n ? `${this.target.scrollHeight}px`\n : keyframe.height,\n };\n });\n }\n\n public async play(animation: AnimationReferenceMetadata) {\n const { steps, options } = animation;\n\n if (options?.duration === Number.POSITIVE_INFINITY) {\n throw new Error('Promise-based animations must be finite.');\n }\n\n return new Promise<AnimationPlaybackEvent>((resolve) => {\n const animation = this.target.animate(this.parseKeyframes(steps), {\n ...options,\n duration: getPrefersReducedMotion() ? 0 : options!.duration,\n });\n\n animation.addEventListener('cancel', resolve, listenerOptions);\n animation.addEventListener('finish', resolve, listenerOptions);\n });\n }\n\n public stopAll() {\n return Promise.all(\n this.target.getAnimations().map((animation) => {\n return new Promise((resolve) => {\n const resolver = () => requestAnimationFrame(resolve);\n animation.addEventListener('cancel', resolver, listenerOptions);\n animation.addEventListener('finish', resolver, listenerOptions);\n\n animation.cancel();\n });\n })\n );\n }\n\n public async playExclusive(animation: AnimationReferenceMetadata) {\n const [_, event] = await Promise.all([\n this.stopAll(),\n this.play(animation),\n ]);\n\n return event.type === 'finish';\n }\n\n public hostConnected() {}\n}\n\n/**\n * Creates and attaches an animation player instance to the passed in `host` element.\n * The player will run animations on the passed in `target`, or if `target` is undefined,\n * the host element itself.\n */\nexport function addAnimationController(\n host: ReactiveControllerHost & HTMLElement,\n target?: Ref<HTMLElement> | HTMLElement\n) {\n return new AnimationController(host, target);\n}\n\ntype ViewTransitionResult = {\n transition?: ViewTransition;\n};\n\nexport function startViewTransition(\n callback?: ViewTransitionUpdateCallback\n): ViewTransitionResult {\n /* c8 ignore next 4 */\n if (getPrefersReducedMotion() || !document.startViewTransition) {\n callback?.();\n return {};\n }\n\n return { transition: document.startViewTransition(callback) };\n}\n"]}
@@ -0,0 +1,2 @@
1
+ declare const scaleInCenter: (options?: KeyframeAnimationOptions) => import("../../types.js").AnimationReferenceMetadata;
2
+ export { scaleInCenter };
@@ -0,0 +1,12 @@
1
+ import { EaseOut } from '../../easings.js';
2
+ import { animation } from '../../types.js';
3
+ const baseOptions = {
4
+ duration: 350,
5
+ easing: EaseOut.Quad,
6
+ };
7
+ const scaleInCenter = (options = baseOptions) => animation([
8
+ { transform: 'scale(0)', opacity: 0 },
9
+ { transform: 'scale(1)', opacity: 1 },
10
+ ], options);
11
+ export { scaleInCenter };
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/animations/presets/scale/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,WAAW,GAA6B;IAC5C,QAAQ,EAAE,GAAG;IACb,MAAM,EAAE,OAAO,CAAC,IAAI;CACrB,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,OAAO,GAAG,WAAW,EAAE,EAAE,CAC9C,SAAS,CACP;IACE,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE;IACrC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE;CACtC,EACD,OAAO,CACR,CAAC;AAEJ,OAAO,EAAE,aAAa,EAAE,CAAC","sourcesContent":["import { EaseOut } from '../../easings.js';\nimport { animation } from '../../types.js';\n\nconst baseOptions: KeyframeAnimationOptions = {\n duration: 350,\n easing: EaseOut.Quad,\n};\n\nconst scaleInCenter = (options = baseOptions) =>\n animation(\n [\n { transform: 'scale(0)', opacity: 0 },\n { transform: 'scale(1)', opacity: 1 },\n ],\n options\n );\n\nexport { scaleInCenter };\n"]}
@@ -319,8 +319,12 @@ let IgcDaysViewComponent = IgcDaysViewComponent_1 = class IgcDaysViewComponent e
319
319
  const weeks = Array.from(chunk(this.dates, daysInWeek));
320
320
  const last = weeks.length - 1;
321
321
  for (const [idx, week] of weeks.entries()) {
322
+ let hidden = false;
323
+ if (idx === 0 || idx === last) {
324
+ hidden = week.every((day) => this.getDayProperties(day, today).hidden);
325
+ }
322
326
  yield html `
323
- <div role="row" part="days-row">
327
+ <div role="row" part="days-row" aria-hidden=${hidden}>
324
328
  ${this.showWeekNumbers
325
329
  ? this.renderWeekNumber(week[0], idx === last)
326
330
  : nothing}
@@ -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, nothing } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\n\nimport { themes } from '../../../theming/theming-decorator.js';\nimport { addKeybindings } from '../../common/controllers/key-bindings.js';\nimport { blazorIndirectRender } from '../../common/decorators/blazorIndirectRender.js';\nimport { blazorSuppressComponent } from '../../common/decorators/blazorSuppressComponent.js';\nimport { watch } from '../../common/decorators/watch.js';\nimport { registerComponent } from '../../common/definitions/register.js';\nimport { IgcCalendarResourceStringEN } from '../../common/i18n/calendar.resources.js';\nimport { createDateTimeFormatters } from '../../common/localization/intl-formatters.js';\nimport type { Constructor } from '../../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../../common/mixins/event-emitter.js';\nimport { chunk, first, last, partNameMap, take } from '../../common/util.js';\nimport { IgcCalendarBaseComponent } from '../base.js';\nimport {\n areSameMonth,\n calendarRange,\n generateMonth,\n getViewElement,\n isDateInRanges,\n isNextMonth,\n isPreviousMonth,\n} from '../helpers.js';\nimport { CalendarDay, daysInWeek } from '../model.js';\nimport { styles } from '../themes/days-view.base.css.js';\nimport { all } from '../themes/days.js';\nimport { DateRangeType, type IgcCalendarComponentEventMap } from '../types.js';\n\nexport interface IgcDaysViewEventMap extends IgcCalendarComponentEventMap {\n igcActiveDateChange: CustomEvent<Date>;\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(all)\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\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcDaysViewComponent);\n }\n\n @state()\n private dates!: CalendarDay[];\n\n @query('[tabindex=\"0\"]')\n private activeDay!: HTMLElement;\n\n /** The active state of the component. */\n @property({ type: Boolean })\n public active = false;\n\n /**\n * Whether to show leading days which do not belong to the current month.\n * @attr hide-leading-days\n */\n @property({ type: Boolean, attribute: 'hide-leading-days' })\n public hideLeadingDays = false;\n\n /**\n * Whether to show trailing days which do not belong to the current month.\n * @attr hide-trailing-days\n */\n @property({ type: Boolean, attribute: 'hide-trailing-days' })\n public hideTrailingDays = false;\n\n /** The range preview date. */\n @property({ attribute: false })\n public set rangePreviewDate(value) {\n this._rangePreviewDate = value ? CalendarDay.from(value) : undefined;\n }\n\n public get rangePreviewDate() {\n return this._rangePreviewDate?.native;\n }\n\n /** The resource strings. */\n @property({ attribute: false })\n public resourceStrings = IgcCalendarResourceStringEN;\n\n /**\n * The format of the days. Defaults to narrow.\n * @attr week-day-format\n */\n @property({ attribute: 'week-day-format' })\n public weekDayFormat: 'long' | 'short' | 'narrow' = 'narrow';\n\n private _intl = createDateTimeFormatters(this.locale, {\n weekday: { weekday: this.weekDayFormat },\n label: { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' },\n ariaWeekday: { weekday: 'long' },\n });\n\n @watch('locale')\n protected localeChange() {\n this._intl.locale = this.locale;\n }\n\n @watch('weekDayFormat')\n protected weekDayFormatChange() {\n this._intl.update({ weekday: { weekday: this.weekDayFormat } });\n }\n\n @watch('weekStart')\n @watch('activeDate')\n protected datesChange() {\n this.dates = Array.from(\n generateMonth(this._activeDate, this._firstDayOfWeek)\n );\n }\n\n constructor() {\n super();\n\n addKeybindings(this, {\n bindingDefaults: { preventDefault: true },\n }).setActivateHandler(this.handleInteraction);\n\n this.addEventListener('click', this.handleInteraction);\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n this.role = 'grid';\n }\n\n /** Focuses the active date. */\n public focusActiveDate() {\n this.activeDay.focus();\n }\n\n protected handleInteraction(event: Event) {\n const value = getViewElement(event);\n\n if (value !== -1) {\n const date = CalendarDay.from(new Date(value));\n\n if (this._rangePreviewDate) {\n this.setRangePreviewDate();\n }\n\n if (this.selectDate(date)) {\n this.emitEvent('igcChange', { detail: date.native });\n }\n\n if (event.type === 'click') {\n // XXX: Why ?\n event.stopPropagation();\n this.emitEvent('igcActiveDateChange', { detail: date.native });\n this._activeDate = date;\n }\n }\n }\n\n private _selectMultiple(day: CalendarDay) {\n const values = this._values;\n const idx = values.findIndex((v) => v.equalTo(day));\n\n idx < 0 ? values.push(day) : values.splice(idx, 1);\n values.sort((a, b) => a.timestamp - b.timestamp);\n this._values = Array.from(values);\n }\n\n private _selectRange(day: CalendarDay) {\n let values = this._values;\n\n if (values.length !== 1) {\n values = [day];\n } else {\n const beginning = first(values);\n\n if (beginning.equalTo(day)) {\n this._values = [];\n return;\n }\n\n values = beginning.greaterThan(day)\n ? Array.from(calendarRange({ start: day, end: beginning }))\n : Array.from(calendarRange({ start: beginning, end: day }));\n\n values.push(last(values).add('day', 1));\n }\n\n this._values = values.filter(\n (v) => !isDateInRanges(v, this._disabledDates)\n );\n }\n\n private selectDate(value: CalendarDay) {\n if (isDateInRanges(value, this._disabledDates)) {\n return false;\n }\n\n if (this._isSingle) {\n if (this._value?.equalTo(value)) {\n return false;\n }\n this._value = value;\n }\n\n if (this._isMultiple) {\n this._selectMultiple(value);\n }\n\n if (this._isRange) {\n this._selectRange(value);\n }\n\n return true;\n }\n\n private isSelected(day: CalendarDay) {\n if (isDateInRanges(day, this._disabledDates)) {\n return false;\n }\n\n if (this._isSingle) {\n return !!this._value && this._value.equalTo(day);\n }\n\n if (!this._hasValues) {\n return false;\n }\n\n if (this._isMultiple) {\n return isDateInRanges(day, [\n {\n type: DateRangeType.Specific,\n dateRange: this.values,\n },\n ]);\n }\n return isDateInRanges(day, [\n {\n type: DateRangeType.Between,\n dateRange: [first(this._values).native, last(this._values).native],\n },\n ]);\n }\n\n // XXX: Range interaction\n private setRangePreviewDate(day?: CalendarDay) {\n this._rangePreviewDate = day;\n this.emitEvent('igcRangePreviewDateChange', {\n detail: day ? day.native : undefined,\n });\n }\n\n private changeRangePreview(day: CalendarDay) {\n if (this._values.length === 1 && !first(this._values).equalTo(day)) {\n this.setRangePreviewDate(day);\n }\n }\n\n private clearRangePreview() {\n if (this._rangePreviewDate) {\n this.setRangePreviewDate();\n }\n }\n\n // XXX: Ranges\n\n private isFirstInRange(day: CalendarDay) {\n if (this._isSingle || !this._hasValues) {\n return false;\n }\n\n const target = this._rangePreviewDate?.lessThan(first(this._values))\n ? this._rangePreviewDate\n : first(this._values);\n\n return target.equalTo(day);\n }\n\n private isLastInRange(day: CalendarDay) {\n if (this._isSingle || !this._hasValues) {\n return false;\n }\n\n const target = this._rangePreviewDate?.greaterThan(last(this._values))\n ? this._rangePreviewDate\n : last(this._values);\n\n return target.equalTo(day);\n }\n\n private isRangeDate(day: CalendarDay) {\n const isSingleRange = this._values.length === 1;\n\n if (!this._hasValues || (isSingleRange && !this._rangePreviewDate)) {\n return false;\n }\n\n const min = first(this._values);\n const max = isSingleRange ? this._rangePreviewDate! : last(this._values);\n\n return isDateInRanges(day, [\n {\n type: DateRangeType.Between,\n dateRange: [min.native, max.native],\n },\n ]);\n }\n\n private isRangePreview(day: CalendarDay) {\n if (!(this._hasValues && this._rangePreviewDate)) {\n return false;\n }\n\n return isDateInRanges(day, [\n {\n type: DateRangeType.Between,\n dateRange: [first(this._values).native, this._rangePreviewDate.native],\n },\n ]);\n }\n\n private intlFormatDay(day: CalendarDay) {\n const fmt = this._intl.get('label');\n\n // Range selection in progress\n if (this._rangePreviewDate?.equalTo(day)) {\n return fmt.formatRange(\n first(this._values).native,\n this._rangePreviewDate.native\n );\n }\n\n // Range selection finished\n if (this.isFirstInRange(day) || this.isLastInRange(day)) {\n return fmt.formatRange(\n first(this._values).native,\n last(this._values).native\n );\n }\n\n // Default\n return fmt.format(day.native);\n }\n\n private getDayHandlers(day: CalendarDay) {\n const range = this._isRange;\n const changePreview = range\n ? this.changeRangePreview.bind(this, day)\n : nothing;\n const clearPreview = range ? this.clearRangePreview : nothing;\n\n return { changePreview, clearPreview };\n }\n\n private getDayProperties(day: CalendarDay, today: CalendarDay) {\n const isRange = this._isRange;\n const disabled = isDateInRanges(day, this._disabledDates);\n\n const hiddenLeading =\n this.hideLeadingDays && isPreviousMonth(day, this._activeDate);\n const hiddenTrailing =\n this.hideTrailingDays && isNextMonth(day, this._activeDate);\n\n const hidden = hiddenLeading || hiddenTrailing;\n const inactive = !areSameMonth(day, this._activeDate);\n\n return {\n date: true,\n disabled: disabled || hidden,\n first: this.isFirstInRange(day),\n last: this.isLastInRange(day),\n range: isRange && this.isRangeDate(day),\n preview: isRange && this.isRangePreview(day),\n current: !inactive && day.equalTo(today),\n inactive,\n hidden,\n weekend: day.weekend,\n single: !isRange,\n selected: !disabled && this.isSelected(day),\n special: isDateInRanges(day, this._specialDates) && !inactive,\n };\n }\n\n protected renderDay(day: CalendarDay, today: CalendarDay) {\n const ariaLabel = this.intlFormatDay(day);\n const { changePreview, clearPreview } = this.getDayHandlers(day);\n\n const props = this.getDayProperties(day, today);\n const parts = partNameMap(props);\n\n return html`\n <span part=${parts}>\n <span\n role=\"gridcell\"\n part=${parts.replace('date', 'date-inner')}\n aria-label=${ariaLabel}\n aria-disabled=${props.disabled}\n aria-selected=${props.selected}\n data-value=${day.timestamp}\n tabindex=${day.equalTo(this._activeDate) ? 0 : -1}\n @focus=${changePreview}\n @blur=${clearPreview}\n @mouseenter=${changePreview}\n @mouseleave=${clearPreview}\n >\n ${day.date}\n </span>\n </span>\n `;\n }\n\n protected renderHeaderWeekNumber() {\n return html`\n <span role=\"columnheader\" part=\"label week-number first\">\n <span part=\"week-number-inner first\">\n ${this.resourceStrings.weekLabel}\n </span>\n </span>\n `;\n }\n\n protected renderWeekNumber(start: CalendarDay, last: boolean) {\n return html`\n <span role=\"rowheader\" part=${partNameMap({ 'week-number': true, last })}>\n <span part=${partNameMap({ 'week-number-inner': true, last })}>\n ${start.week}\n </span>\n </span>\n `;\n }\n\n protected renderHeaders() {\n const label = this._intl.get('weekday');\n const aria = this._intl.get('ariaWeekday');\n const days = take(\n generateMonth(this._activeDate, this._firstDayOfWeek),\n daysInWeek\n );\n\n const weekNumber = this.showWeekNumbers\n ? this.renderHeaderWeekNumber()\n : nothing;\n\n const headers = days.map(\n (day) => html`\n <span\n role=\"columnheader\"\n part=\"label\"\n aria-label=${aria.format(day.native)}\n >\n <span part=\"label-inner\">${label.format(day.native)}</span>\n </span>\n `\n );\n\n return html`\n <div role=\"row\" part=\"days-row first\">${weekNumber}${headers}</div>\n `;\n }\n\n protected *renderWeeks() {\n const today = CalendarDay.today;\n const weeks = Array.from(chunk(this.dates, daysInWeek));\n const last = weeks.length - 1;\n\n for (const [idx, week] of weeks.entries()) {\n yield html`\n <div role=\"row\" part=\"days-row\">\n ${this.showWeekNumbers\n ? this.renderWeekNumber(week[0], idx === last)\n : nothing}\n ${week.map((day) => this.renderDay(day, today))}\n </div>\n `;\n }\n }\n\n protected override render() {\n return html`${this.renderHeaders()}${this.renderWeeks()}`;\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, nothing } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\n\nimport { themes } from '../../../theming/theming-decorator.js';\nimport { addKeybindings } from '../../common/controllers/key-bindings.js';\nimport { blazorIndirectRender } from '../../common/decorators/blazorIndirectRender.js';\nimport { blazorSuppressComponent } from '../../common/decorators/blazorSuppressComponent.js';\nimport { watch } from '../../common/decorators/watch.js';\nimport { registerComponent } from '../../common/definitions/register.js';\nimport { IgcCalendarResourceStringEN } from '../../common/i18n/calendar.resources.js';\nimport { createDateTimeFormatters } from '../../common/localization/intl-formatters.js';\nimport type { Constructor } from '../../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../../common/mixins/event-emitter.js';\nimport { chunk, first, last, partNameMap, take } from '../../common/util.js';\nimport { IgcCalendarBaseComponent } from '../base.js';\nimport {\n areSameMonth,\n calendarRange,\n generateMonth,\n getViewElement,\n isDateInRanges,\n isNextMonth,\n isPreviousMonth,\n} from '../helpers.js';\nimport { CalendarDay, daysInWeek } from '../model.js';\nimport { styles } from '../themes/days-view.base.css.js';\nimport { all } from '../themes/days.js';\nimport { DateRangeType, type IgcCalendarComponentEventMap } from '../types.js';\n\nexport interface IgcDaysViewEventMap extends IgcCalendarComponentEventMap {\n igcActiveDateChange: CustomEvent<Date>;\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(all)\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\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcDaysViewComponent);\n }\n\n @state()\n private dates!: CalendarDay[];\n\n @query('[tabindex=\"0\"]')\n private activeDay!: HTMLElement;\n\n /** The active state of the component. */\n @property({ type: Boolean })\n public active = false;\n\n /**\n * Whether to show leading days which do not belong to the current month.\n * @attr hide-leading-days\n */\n @property({ type: Boolean, attribute: 'hide-leading-days' })\n public hideLeadingDays = false;\n\n /**\n * Whether to show trailing days which do not belong to the current month.\n * @attr hide-trailing-days\n */\n @property({ type: Boolean, attribute: 'hide-trailing-days' })\n public hideTrailingDays = false;\n\n /** The range preview date. */\n @property({ attribute: false })\n public set rangePreviewDate(value) {\n this._rangePreviewDate = value ? CalendarDay.from(value) : undefined;\n }\n\n public get rangePreviewDate() {\n return this._rangePreviewDate?.native;\n }\n\n /** The resource strings. */\n @property({ attribute: false })\n public resourceStrings = IgcCalendarResourceStringEN;\n\n /**\n * The format of the days. Defaults to narrow.\n * @attr week-day-format\n */\n @property({ attribute: 'week-day-format' })\n public weekDayFormat: 'long' | 'short' | 'narrow' = 'narrow';\n\n private _intl = createDateTimeFormatters(this.locale, {\n weekday: { weekday: this.weekDayFormat },\n label: { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' },\n ariaWeekday: { weekday: 'long' },\n });\n\n @watch('locale')\n protected localeChange() {\n this._intl.locale = this.locale;\n }\n\n @watch('weekDayFormat')\n protected weekDayFormatChange() {\n this._intl.update({ weekday: { weekday: this.weekDayFormat } });\n }\n\n @watch('weekStart')\n @watch('activeDate')\n protected datesChange() {\n this.dates = Array.from(\n generateMonth(this._activeDate, this._firstDayOfWeek)\n );\n }\n\n constructor() {\n super();\n\n addKeybindings(this, {\n bindingDefaults: { preventDefault: true },\n }).setActivateHandler(this.handleInteraction);\n\n this.addEventListener('click', this.handleInteraction);\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n this.role = 'grid';\n }\n\n /** Focuses the active date. */\n public focusActiveDate() {\n this.activeDay.focus();\n }\n\n protected handleInteraction(event: Event) {\n const value = getViewElement(event);\n\n if (value !== -1) {\n const date = CalendarDay.from(new Date(value));\n\n if (this._rangePreviewDate) {\n this.setRangePreviewDate();\n }\n\n if (this.selectDate(date)) {\n this.emitEvent('igcChange', { detail: date.native });\n }\n\n if (event.type === 'click') {\n // XXX: Why ?\n event.stopPropagation();\n this.emitEvent('igcActiveDateChange', { detail: date.native });\n this._activeDate = date;\n }\n }\n }\n\n private _selectMultiple(day: CalendarDay) {\n const values = this._values;\n const idx = values.findIndex((v) => v.equalTo(day));\n\n idx < 0 ? values.push(day) : values.splice(idx, 1);\n values.sort((a, b) => a.timestamp - b.timestamp);\n this._values = Array.from(values);\n }\n\n private _selectRange(day: CalendarDay) {\n let values = this._values;\n\n if (values.length !== 1) {\n values = [day];\n } else {\n const beginning = first(values);\n\n if (beginning.equalTo(day)) {\n this._values = [];\n return;\n }\n\n values = beginning.greaterThan(day)\n ? Array.from(calendarRange({ start: day, end: beginning }))\n : Array.from(calendarRange({ start: beginning, end: day }));\n\n values.push(last(values).add('day', 1));\n }\n\n this._values = values.filter(\n (v) => !isDateInRanges(v, this._disabledDates)\n );\n }\n\n private selectDate(value: CalendarDay) {\n if (isDateInRanges(value, this._disabledDates)) {\n return false;\n }\n\n if (this._isSingle) {\n if (this._value?.equalTo(value)) {\n return false;\n }\n this._value = value;\n }\n\n if (this._isMultiple) {\n this._selectMultiple(value);\n }\n\n if (this._isRange) {\n this._selectRange(value);\n }\n\n return true;\n }\n\n private isSelected(day: CalendarDay) {\n if (isDateInRanges(day, this._disabledDates)) {\n return false;\n }\n\n if (this._isSingle) {\n return !!this._value && this._value.equalTo(day);\n }\n\n if (!this._hasValues) {\n return false;\n }\n\n if (this._isMultiple) {\n return isDateInRanges(day, [\n {\n type: DateRangeType.Specific,\n dateRange: this.values,\n },\n ]);\n }\n return isDateInRanges(day, [\n {\n type: DateRangeType.Between,\n dateRange: [first(this._values).native, last(this._values).native],\n },\n ]);\n }\n\n // XXX: Range interaction\n private setRangePreviewDate(day?: CalendarDay) {\n this._rangePreviewDate = day;\n this.emitEvent('igcRangePreviewDateChange', {\n detail: day ? day.native : undefined,\n });\n }\n\n private changeRangePreview(day: CalendarDay) {\n if (this._values.length === 1 && !first(this._values).equalTo(day)) {\n this.setRangePreviewDate(day);\n }\n }\n\n private clearRangePreview() {\n if (this._rangePreviewDate) {\n this.setRangePreviewDate();\n }\n }\n\n // XXX: Ranges\n\n private isFirstInRange(day: CalendarDay) {\n if (this._isSingle || !this._hasValues) {\n return false;\n }\n\n const target = this._rangePreviewDate?.lessThan(first(this._values))\n ? this._rangePreviewDate\n : first(this._values);\n\n return target.equalTo(day);\n }\n\n private isLastInRange(day: CalendarDay) {\n if (this._isSingle || !this._hasValues) {\n return false;\n }\n\n const target = this._rangePreviewDate?.greaterThan(last(this._values))\n ? this._rangePreviewDate\n : last(this._values);\n\n return target.equalTo(day);\n }\n\n private isRangeDate(day: CalendarDay) {\n const isSingleRange = this._values.length === 1;\n\n if (!this._hasValues || (isSingleRange && !this._rangePreviewDate)) {\n return false;\n }\n\n const min = first(this._values);\n const max = isSingleRange ? this._rangePreviewDate! : last(this._values);\n\n return isDateInRanges(day, [\n {\n type: DateRangeType.Between,\n dateRange: [min.native, max.native],\n },\n ]);\n }\n\n private isRangePreview(day: CalendarDay) {\n if (!(this._hasValues && this._rangePreviewDate)) {\n return false;\n }\n\n return isDateInRanges(day, [\n {\n type: DateRangeType.Between,\n dateRange: [first(this._values).native, this._rangePreviewDate.native],\n },\n ]);\n }\n\n private intlFormatDay(day: CalendarDay) {\n const fmt = this._intl.get('label');\n\n // Range selection in progress\n if (this._rangePreviewDate?.equalTo(day)) {\n return fmt.formatRange(\n first(this._values).native,\n this._rangePreviewDate.native\n );\n }\n\n // Range selection finished\n if (this.isFirstInRange(day) || this.isLastInRange(day)) {\n return fmt.formatRange(\n first(this._values).native,\n last(this._values).native\n );\n }\n\n // Default\n return fmt.format(day.native);\n }\n\n private getDayHandlers(day: CalendarDay) {\n const range = this._isRange;\n const changePreview = range\n ? this.changeRangePreview.bind(this, day)\n : nothing;\n const clearPreview = range ? this.clearRangePreview : nothing;\n\n return { changePreview, clearPreview };\n }\n\n private getDayProperties(day: CalendarDay, today: CalendarDay) {\n const isRange = this._isRange;\n const disabled = isDateInRanges(day, this._disabledDates);\n\n const hiddenLeading =\n this.hideLeadingDays && isPreviousMonth(day, this._activeDate);\n const hiddenTrailing =\n this.hideTrailingDays && isNextMonth(day, this._activeDate);\n\n const hidden = hiddenLeading || hiddenTrailing;\n const inactive = !areSameMonth(day, this._activeDate);\n\n return {\n date: true,\n disabled: disabled || hidden,\n first: this.isFirstInRange(day),\n last: this.isLastInRange(day),\n range: isRange && this.isRangeDate(day),\n preview: isRange && this.isRangePreview(day),\n current: !inactive && day.equalTo(today),\n inactive,\n hidden,\n weekend: day.weekend,\n single: !isRange,\n selected: !disabled && this.isSelected(day),\n special: isDateInRanges(day, this._specialDates) && !inactive,\n };\n }\n\n protected renderDay(day: CalendarDay, today: CalendarDay) {\n const ariaLabel = this.intlFormatDay(day);\n const { changePreview, clearPreview } = this.getDayHandlers(day);\n\n const props = this.getDayProperties(day, today);\n const parts = partNameMap(props);\n\n return html`\n <span part=${parts}>\n <span\n role=\"gridcell\"\n part=${parts.replace('date', 'date-inner')}\n aria-label=${ariaLabel}\n aria-disabled=${props.disabled}\n aria-selected=${props.selected}\n data-value=${day.timestamp}\n tabindex=${day.equalTo(this._activeDate) ? 0 : -1}\n @focus=${changePreview}\n @blur=${clearPreview}\n @mouseenter=${changePreview}\n @mouseleave=${clearPreview}\n >\n ${day.date}\n </span>\n </span>\n `;\n }\n\n protected renderHeaderWeekNumber() {\n return html`\n <span role=\"columnheader\" part=\"label week-number first\">\n <span part=\"week-number-inner first\">\n ${this.resourceStrings.weekLabel}\n </span>\n </span>\n `;\n }\n\n protected renderWeekNumber(start: CalendarDay, last: boolean) {\n return html`\n <span role=\"rowheader\" part=${partNameMap({ 'week-number': true, last })}>\n <span part=${partNameMap({ 'week-number-inner': true, last })}>\n ${start.week}\n </span>\n </span>\n `;\n }\n\n protected renderHeaders() {\n const label = this._intl.get('weekday');\n const aria = this._intl.get('ariaWeekday');\n const days = take(\n generateMonth(this._activeDate, this._firstDayOfWeek),\n daysInWeek\n );\n\n const weekNumber = this.showWeekNumbers\n ? this.renderHeaderWeekNumber()\n : nothing;\n\n const headers = days.map(\n (day) => html`\n <span\n role=\"columnheader\"\n part=\"label\"\n aria-label=${aria.format(day.native)}\n >\n <span part=\"label-inner\">${label.format(day.native)}</span>\n </span>\n `\n );\n\n return html`\n <div role=\"row\" part=\"days-row first\">${weekNumber}${headers}</div>\n `;\n }\n\n protected *renderWeeks() {\n const today = CalendarDay.today;\n const weeks = Array.from(chunk(this.dates, daysInWeek));\n const last = weeks.length - 1;\n\n for (const [idx, week] of weeks.entries()) {\n let hidden = false;\n if (idx === 0 || idx === last) {\n hidden = week.every((day) => this.getDayProperties(day, today).hidden);\n }\n yield html`\n <div role=\"row\" part=\"days-row\" aria-hidden=${hidden}>\n ${this.showWeekNumbers\n ? this.renderWeekNumber(week[0], idx === last)\n : nothing}\n ${week.map((day) => this.renderDay(day, today))}\n </div>\n `;\n }\n }\n\n protected override render() {\n return html`${this.renderHeaders()}${this.renderWeeks()}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-days-view': IgcDaysViewComponent;\n }\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `igc-button::part(focused),igc-button::part(focused):hover{box-shadow:0 0 0 .25rem var(--button-focus-border-color);border-color:var(--button-border-color);color:var(--button-arrow-color)}:host igc-button::part(base):active{--active-foreground: var-get($theme, "button-hover-arrow-color")}`;
2
+ export const styles = css `igc-button::part(focused),igc-button::part(focused):hover{box-shadow:0 0 0 .25rem var(--button-focus-border-color);border-color:var(--button-border-color)}:host igc-button::part(base):active{--active-foreground: var-get($theme, "button-hover-arrow-color")}`;
3
3
  //# sourceMappingURL=carousel.bootstrap.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"carousel.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/carousel/themes/shared/carousel.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,kSAAkS,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`igc-button::part(focused),igc-button::part(focused):hover{box-shadow:0 0 0 .25rem var(--button-focus-border-color);border-color:var(--button-border-color);color:var(--button-arrow-color)}:host igc-button::part(base):active{--active-foreground: var-get($theme, \"button-hover-arrow-color\")}`;\n"]}
1
+ {"version":3,"file":"carousel.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/carousel/themes/shared/carousel.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,kQAAkQ,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`igc-button::part(focused),igc-button::part(focused):hover{box-shadow:0 0 0 .25rem var(--button-focus-border-color);border-color:var(--button-border-color)}:host igc-button::part(base):active{--active-foreground: var-get($theme, \"button-hover-arrow-color\")}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{background:var(--slide-background)}igc-button::part(base){--icon-color: var-get($theme, "button-arrow-color");color:var(--button-arrow-color);background:var(--button-background);border:.0625rem solid var(--button-border-color);box-shadow:var(--button-elevation);border-radius:var(--navigation-border-radius)}igc-button::part(base):hover{--icon-color-hover: var-get($theme, "button-hover-arrow-color");color:var(--button-hover-arrow-color);background:var(--button-hover-background);border-color:var(--button-hover-border-color)}igc-button::part(focused),igc-button::part(focused):hover{border:.125rem solid var(--button-focus-border-color);color:var(--button-focus-border-color)}igc-button[disabled]::part(base){--disabled-icon-color: var-get($theme, "button-disabled-arrow-color");color:var(--button-disabled-arrow-color);background:var(--button-disabled-background);border-color:var(--button-disabled-border-color);box-shadow:none}[part~=indicators]{background:var(--indicator-background);box-shadow:var(--button-elevation);border-radius:var(--navigation-border-radius)}[part~=indicators] div:focus-visible{outline-style:none}[part="label indicators"],[part="label indicators start"]{box-shadow:none;border-radius:.25rem;color:var(--indicator-color);background:var(--label-indicator-background)}[part~=dot]{border:.125rem solid var(--indicator-border-color)}[part~=dot]::after{background:var(--indicator-dot-color)}[part~=dot]:hover{border-color:var(--indicator-active-border-color)}[part="dot active"]{border:.125rem solid var(--indicator-active-color)}[part="dot active"]::after{background:var(--indicator-active-color)}[part="dot active"]:hover{border-color:var(--indicator-active-color)}[part="dot active"]:hover::after{background:var(--indicator-active-color)}`;
2
+ export const styles = css `:host{background:var(--slide-background)}igc-button::part(base){--icon-color: var-get($theme, "button-arrow-color");color:var(--button-arrow-color);background:var(--button-background);border:.0625rem solid var(--button-border-color);box-shadow:var(--button-elevation);border-radius:var(--navigation-border-radius)}igc-button::part(base):hover{--icon-color-hover: var-get($theme, "button-hover-arrow-color");color:var(--button-hover-arrow-color);background:var(--button-hover-background);border-color:var(--button-hover-border-color)}igc-button::part(focused),igc-button::part(focused):hover{border:.125rem solid var(--button-focus-border-color);color:var(--button-focus-arrow-color)}igc-button[disabled]::part(base){--disabled-icon-color: var-get($theme, "button-disabled-arrow-color");color:var(--button-disabled-arrow-color);background:var(--button-disabled-background);border-color:var(--button-disabled-border-color);box-shadow:none}[part~=indicators]{background:var(--indicator-background);box-shadow:var(--button-elevation);border-radius:var(--navigation-border-radius)}[part~=indicators] div:focus-visible{outline-style:none}[part="label indicators"],[part="label indicators start"]{box-shadow:none;border-radius:.25rem;color:var(--indicator-color);background:var(--label-indicator-background)}[part~=dot]{border:.125rem solid var(--indicator-border-color)}[part~=dot]::after{background:var(--indicator-dot-color)}[part~=dot]:hover{border-color:var(--indicator-active-border-color)}[part="dot active"]{border:.125rem solid var(--indicator-active-color)}[part="dot active"]::after{background:var(--indicator-active-color)}[part="dot active"]:hover{border-color:var(--indicator-active-color)}[part="dot active"]:hover::after{background:var(--indicator-active-color)}`;
3
3
  //# sourceMappingURL=carousel.common.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"carousel.common.css.js","sourceRoot":"","sources":["../../../../../src/components/carousel/themes/shared/carousel.common.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,8uDAA8uD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{background:var(--slide-background)}igc-button::part(base){--icon-color: var-get($theme, \"button-arrow-color\");color:var(--button-arrow-color);background:var(--button-background);border:.0625rem solid var(--button-border-color);box-shadow:var(--button-elevation);border-radius:var(--navigation-border-radius)}igc-button::part(base):hover{--icon-color-hover: var-get($theme, \"button-hover-arrow-color\");color:var(--button-hover-arrow-color);background:var(--button-hover-background);border-color:var(--button-hover-border-color)}igc-button::part(focused),igc-button::part(focused):hover{border:.125rem solid var(--button-focus-border-color);color:var(--button-focus-border-color)}igc-button[disabled]::part(base){--disabled-icon-color: var-get($theme, \"button-disabled-arrow-color\");color:var(--button-disabled-arrow-color);background:var(--button-disabled-background);border-color:var(--button-disabled-border-color);box-shadow:none}[part~=indicators]{background:var(--indicator-background);box-shadow:var(--button-elevation);border-radius:var(--navigation-border-radius)}[part~=indicators] div:focus-visible{outline-style:none}[part=\"label indicators\"],[part=\"label indicators start\"]{box-shadow:none;border-radius:.25rem;color:var(--indicator-color);background:var(--label-indicator-background)}[part~=dot]{border:.125rem solid var(--indicator-border-color)}[part~=dot]::after{background:var(--indicator-dot-color)}[part~=dot]:hover{border-color:var(--indicator-active-border-color)}[part=\"dot active\"]{border:.125rem solid var(--indicator-active-color)}[part=\"dot active\"]::after{background:var(--indicator-active-color)}[part=\"dot active\"]:hover{border-color:var(--indicator-active-color)}[part=\"dot active\"]:hover::after{background:var(--indicator-active-color)}`;\n"]}
1
+ {"version":3,"file":"carousel.common.css.js","sourceRoot":"","sources":["../../../../../src/components/carousel/themes/shared/carousel.common.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,6uDAA6uD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{background:var(--slide-background)}igc-button::part(base){--icon-color: var-get($theme, \"button-arrow-color\");color:var(--button-arrow-color);background:var(--button-background);border:.0625rem solid var(--button-border-color);box-shadow:var(--button-elevation);border-radius:var(--navigation-border-radius)}igc-button::part(base):hover{--icon-color-hover: var-get($theme, \"button-hover-arrow-color\");color:var(--button-hover-arrow-color);background:var(--button-hover-background);border-color:var(--button-hover-border-color)}igc-button::part(focused),igc-button::part(focused):hover{border:.125rem solid var(--button-focus-border-color);color:var(--button-focus-arrow-color)}igc-button[disabled]::part(base){--disabled-icon-color: var-get($theme, \"button-disabled-arrow-color\");color:var(--button-disabled-arrow-color);background:var(--button-disabled-background);border-color:var(--button-disabled-border-color);box-shadow:none}[part~=indicators]{background:var(--indicator-background);box-shadow:var(--button-elevation);border-radius:var(--navigation-border-radius)}[part~=indicators] div:focus-visible{outline-style:none}[part=\"label indicators\"],[part=\"label indicators start\"]{box-shadow:none;border-radius:.25rem;color:var(--indicator-color);background:var(--label-indicator-background)}[part~=dot]{border:.125rem solid var(--indicator-border-color)}[part~=dot]::after{background:var(--indicator-dot-color)}[part~=dot]:hover{border-color:var(--indicator-active-border-color)}[part=\"dot active\"]{border:.125rem solid var(--indicator-active-color)}[part=\"dot active\"]::after{background:var(--indicator-active-color)}[part=\"dot active\"]:hover{border-color:var(--indicator-active-color)}[part=\"dot active\"]:hover::after{background:var(--indicator-active-color)}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `igc-button::part(focused),igc-button::part(focused):hover{border:none;color:var(--indicator-focus-color)}igc-button::part(focused)::after,igc-button::part(focused):hover::after{position:absolute;content:"";pointer-events:none;inset-block-start:.1875rem;inset-inline-start:.1875rem;width:calc(100% - 0.1875rem*2);height:calc(100% - 0.1875rem*2);box-shadow:0 0 0 .0625rem var(--button-focus-border-color)}[part="label indicators"],[part="label indicators start"]{border-radius:.125rem}`;
2
+ export const styles = css `igc-button::part(focused),igc-button::part(focused):hover{border:none}igc-button::part(focused)::after,igc-button::part(focused):hover::after{position:absolute;content:"";pointer-events:none;inset-block-start:.1875rem;inset-inline-start:.1875rem;width:calc(100% - 0.1875rem*2);height:calc(100% - 0.1875rem*2);box-shadow:0 0 0 .0625rem var(--button-focus-border-color)}[part="label indicators"],[part="label indicators start"]{border-radius:.125rem}`;
3
3
  //# sourceMappingURL=carousel.fluent.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"carousel.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/carousel/themes/shared/carousel.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,qeAAqe,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`igc-button::part(focused),igc-button::part(focused):hover{border:none;color:var(--indicator-focus-color)}igc-button::part(focused)::after,igc-button::part(focused):hover::after{position:absolute;content:\"\";pointer-events:none;inset-block-start:.1875rem;inset-inline-start:.1875rem;width:calc(100% - 0.1875rem*2);height:calc(100% - 0.1875rem*2);box-shadow:0 0 0 .0625rem var(--button-focus-border-color)}[part=\"label indicators\"],[part=\"label indicators start\"]{border-radius:.125rem}`;\n"]}
1
+ {"version":3,"file":"carousel.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/carousel/themes/shared/carousel.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,kcAAkc,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`igc-button::part(focused),igc-button::part(focused):hover{border:none}igc-button::part(focused)::after,igc-button::part(focused):hover::after{position:absolute;content:\"\";pointer-events:none;inset-block-start:.1875rem;inset-inline-start:.1875rem;width:calc(100% - 0.1875rem*2);height:calc(100% - 0.1875rem*2);box-shadow:0 0 0 .0625rem var(--button-focus-border-color)}[part=\"label indicators\"],[part=\"label indicators start\"]{border-radius:.125rem}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `igc-button::part(base){width:1.75rem;height:1.75rem;border-width:.125rem;padding:initial}igc-button::part(focused),igc-button::part(focused):hover{box-shadow:0 0 0 .1875rem var(--indicator-focus-color);color:var(--button-arrow-color)}[part~=navigation] igc-icon{--ig-size: 2}[part~=indicators]{gap:.25rem;padding:.375rem}[part="label indicators"],[part="label indicators start"]{padding:.25rem .375rem;min-width:1.75rem;border-radius:.125rem}[part~=dot]{width:1rem;height:1rem;border:none;transition:none}[part~=dot]::after{width:.5rem;height:.5rem;inset-block-start:50%;inset-inline-start:50%;transform:translateX(calc(-50% * var(--dir))) translateY(-50%)}[part~=dot]:hover{border:.125rem solid var(--indicator-hover-dot-color)}[part~=dot]:hover::after{background:var(--indicator-hover-dot-color)}[part="dot active"]{border:.125rem solid var(--indicator-active-dot-color);box-shadow:0 0 0 .1875rem var(--dot-shadow-color)}[part="dot active"]::after{background:var(--indicator-active-dot-color)}[part="dot active"]:hover{border-color:var(--indicator-active-hover-dot-color)}[part="dot active"]:hover::after{background:var(--indicator-active-hover-dot-color)}:host([vertical]) [part~=indicators]{padding:.375rem}:host([vertical]) [part="label indicators"],:host([vertical]) [part="label indicators start"]{padding:.25rem .375rem}:host([vertical]) [part~=indicators],:host([vertical]) [part="label indicators"]{margin-inline-end:1rem}:host([vertical]) [part="indicators start"],:host([vertical]) [part="label indicators start"]{margin-inline-start:1rem}:host([vertical]) [part~=dot]::after{transform:translateX(calc(50% * var(--dir))) translateY(-50%)}igc-carousel-indicator{min-width:1rem;min-height:1rem}`;
2
+ export const styles = css `igc-button::part(base){width:1.75rem;height:1.75rem;border-width:.125rem;padding:initial}igc-button::part(focused),igc-button::part(focused):hover{box-shadow:0 0 0 .1875rem var(--indicator-focus-color)}[part~=navigation] igc-icon{--ig-size: 2}[part~=indicators]{gap:.25rem;padding:.375rem}[part="label indicators"],[part="label indicators start"]{padding:.25rem .375rem;min-width:1.75rem;border-radius:.125rem}[part~=dot]{width:1rem;height:1rem;border:none;transition:none}[part~=dot]::after{width:.5rem;height:.5rem;inset-block-start:50%;inset-inline-start:50%;transform:translateX(calc(-50% * var(--dir))) translateY(-50%)}[part~=dot]:hover{border:.125rem solid var(--indicator-hover-dot-color)}[part~=dot]:hover::after{background:var(--indicator-hover-dot-color)}[part="dot active"]{border:.125rem solid var(--indicator-active-dot-color);box-shadow:0 0 0 .1875rem var(--dot-shadow-color)}[part="dot active"]::after{background:var(--indicator-active-dot-color)}[part="dot active"]:hover{border-color:var(--indicator-active-hover-dot-color)}[part="dot active"]:hover::after{background:var(--indicator-active-hover-dot-color)}:host([vertical]) [part~=indicators]{padding:.375rem}:host([vertical]) [part="label indicators"],:host([vertical]) [part="label indicators start"]{padding:.25rem .375rem}:host([vertical]) [part~=indicators],:host([vertical]) [part="label indicators"]{margin-inline-end:1rem}:host([vertical]) [part="indicators start"],:host([vertical]) [part="label indicators start"]{margin-inline-start:1rem}:host([vertical]) [part~=dot]::after{transform:translateX(calc(50% * var(--dir))) translateY(-50%)}igc-carousel-indicator{min-width:1rem;min-height:1rem}`;
3
3
  //# sourceMappingURL=carousel.indigo.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"carousel.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/carousel/themes/shared/carousel.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,0qDAA0qD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`igc-button::part(base){width:1.75rem;height:1.75rem;border-width:.125rem;padding:initial}igc-button::part(focused),igc-button::part(focused):hover{box-shadow:0 0 0 .1875rem var(--indicator-focus-color);color:var(--button-arrow-color)}[part~=navigation] igc-icon{--ig-size: 2}[part~=indicators]{gap:.25rem;padding:.375rem}[part=\"label indicators\"],[part=\"label indicators start\"]{padding:.25rem .375rem;min-width:1.75rem;border-radius:.125rem}[part~=dot]{width:1rem;height:1rem;border:none;transition:none}[part~=dot]::after{width:.5rem;height:.5rem;inset-block-start:50%;inset-inline-start:50%;transform:translateX(calc(-50% * var(--dir))) translateY(-50%)}[part~=dot]:hover{border:.125rem solid var(--indicator-hover-dot-color)}[part~=dot]:hover::after{background:var(--indicator-hover-dot-color)}[part=\"dot active\"]{border:.125rem solid var(--indicator-active-dot-color);box-shadow:0 0 0 .1875rem var(--dot-shadow-color)}[part=\"dot active\"]::after{background:var(--indicator-active-dot-color)}[part=\"dot active\"]:hover{border-color:var(--indicator-active-hover-dot-color)}[part=\"dot active\"]:hover::after{background:var(--indicator-active-hover-dot-color)}:host([vertical]) [part~=indicators]{padding:.375rem}:host([vertical]) [part=\"label indicators\"],:host([vertical]) [part=\"label indicators start\"]{padding:.25rem .375rem}:host([vertical]) [part~=indicators],:host([vertical]) [part=\"label indicators\"]{margin-inline-end:1rem}:host([vertical]) [part=\"indicators start\"],:host([vertical]) [part=\"label indicators start\"]{margin-inline-start:1rem}:host([vertical]) [part~=dot]::after{transform:translateX(calc(50% * var(--dir))) translateY(-50%)}igc-carousel-indicator{min-width:1rem;min-height:1rem}`;\n"]}
1
+ {"version":3,"file":"carousel.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/carousel/themes/shared/carousel.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,0oDAA0oD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`igc-button::part(base){width:1.75rem;height:1.75rem;border-width:.125rem;padding:initial}igc-button::part(focused),igc-button::part(focused):hover{box-shadow:0 0 0 .1875rem var(--indicator-focus-color)}[part~=navigation] igc-icon{--ig-size: 2}[part~=indicators]{gap:.25rem;padding:.375rem}[part=\"label indicators\"],[part=\"label indicators start\"]{padding:.25rem .375rem;min-width:1.75rem;border-radius:.125rem}[part~=dot]{width:1rem;height:1rem;border:none;transition:none}[part~=dot]::after{width:.5rem;height:.5rem;inset-block-start:50%;inset-inline-start:50%;transform:translateX(calc(-50% * var(--dir))) translateY(-50%)}[part~=dot]:hover{border:.125rem solid var(--indicator-hover-dot-color)}[part~=dot]:hover::after{background:var(--indicator-hover-dot-color)}[part=\"dot active\"]{border:.125rem solid var(--indicator-active-dot-color);box-shadow:0 0 0 .1875rem var(--dot-shadow-color)}[part=\"dot active\"]::after{background:var(--indicator-active-dot-color)}[part=\"dot active\"]:hover{border-color:var(--indicator-active-hover-dot-color)}[part=\"dot active\"]:hover::after{background:var(--indicator-active-hover-dot-color)}:host([vertical]) [part~=indicators]{padding:.375rem}:host([vertical]) [part=\"label indicators\"],:host([vertical]) [part=\"label indicators start\"]{padding:.25rem .375rem}:host([vertical]) [part~=indicators],:host([vertical]) [part=\"label indicators\"]{margin-inline-end:1rem}:host([vertical]) [part=\"indicators start\"],:host([vertical]) [part=\"label indicators start\"]{margin-inline-start:1rem}:host([vertical]) [part~=dot]::after{transform:translateX(calc(50% * var(--dir))) translateY(-50%)}igc-carousel-indicator{min-width:1rem;min-height:1rem}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host ::part(helper-text){font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin-block-start:1rem;grid-auto-rows:minmax(1.125rem, auto)}[part~=label]{font-family:var(--ig-body-1-font-family, var(--ig-font-family));font-size:var(--ig-body-1-font-size);font-weight:var(--ig-body-1-font-weight);font-style:var(--ig-body-1-font-style);line-height:var(--ig-body-1-line-height);letter-spacing:var(--ig-body-1-letter-spacing);text-transform:var(--ig-body-1-text-transform);margin-top:var(--ig-body-1-margin-top);margin-bottom:var(--ig-body-1-margin-bottom);transition:none}[part~=indicator]{--indicator-size: 0.6875rem;transition:none}[part~=control]{--size: 1rem;border-radius:var(--border-radius-ripple);transition:all .15s ease-in-out;background:var(--empty-fill-color);transform:translate3d(0, 0, 0)}[part~=control]::after{border-radius:var(--border-radius);width:inherit;height:inherit;min-width:inherit;box-shadow:inset 0 0 0 .0625rem var(--empty-color);transition:all .15s ease-in-out}[part="control checked"]::after{background:var(--fill-color);box-shadow:inset 0 0 0 .0625rem var(--fill-color)}:host(:hover) [part~=control]::after{box-shadow:inset 0 0 0 .0625rem var(--empty-color-hover)}:host(:hover) [part="control checked"]::after{background:var(--fill-color-hover);box-shadow:inset 0 0 0 .0625rem var(--fill-color-hover)}:host(:focus-visible) [part~=control],[part~=focused] [part~=control]{box-shadow:0 0 0 .25rem var(--focus-outline-color)}:host(:focus-visible) [part=control]::after,[part~=focused] [part=control]::after{box-shadow:inset 0 0 0 .0625rem var(--ig-primary-200)}:host(:focus-visible):hover [part=control]::after,[part~=focused]:hover [part=control]::after{box-shadow:inset 0 0 0 .0625rem var(--ig-primary-300)}:host([indeterminate]) [part~=control]::after{background:var(--fill-color);box-shadow:inset 0 0 0 .0625rem var(--fill-color)}:host([indeterminate]) [part~=indicator]{transform:rotate(45deg) translateX(-0.075rem) scale(0.7)}:host(:not([disabled])[indeterminate]:hover) [part~=control]::after{background:var(--fill-color-hover);box-shadow:inset 0 0 0 .0625rem var(--fill-color-hover)}:host(:not([disabled])[invalid]) [part~=control]::after,:host(:not(:disabled)[invalid]) [part~=control]::after{box-shadow:inset 0 0 0 .0625rem var(--error-color);border-color:var(--error-color)}:host(:not([disabled])[invalid]) [part="control checked"]::after,:host(:not(:disabled)[invalid]) [part="control checked"]::after{background:var(--error-color)}:host(:not([disabled])[invalid]):focus-visible [part~=control],:host(:not([disabled])[invalid]):focus-visible [part="control checked"],:host(:not(:disabled)[invalid]):focus-visible [part~=control],:host(:not(:disabled)[invalid]):focus-visible [part="control checked"]{box-shadow:0 0 0 .25rem var(--focus-outline-color-error)}:host(:hover:not([disabled])[invalid]) [part~=control]::after,:host(:hover:not([disabled])[invalid]) [part="control checked"]::after,:host(:hover:not(:disabled)[invalid]) [part~=control]::after,:host(:hover:not(:disabled)[invalid]) [part="control checked"]::after,:host(:hover:not([disabled])[invalid][indeterminate]) [part~=control]::after,:host(:hover:not([disabled])[invalid][indeterminate]) [part="control checked"]::after,:host(:hover:not(:disabled)[invalid][indeterminate]) [part~=control]::after,:host(:hover:not(:disabled)[invalid][indeterminate]) [part="control checked"]::after{box-shadow:inset 0 0 0 .0625rem var(--error-color-hover)}:host(:hover:not([disabled])[invalid]) [part="control checked"]::after,:host(:hover:not(:disabled)[invalid]) [part="control checked"]::after,:host(:hover:not([disabled])[invalid][indeterminate]) [part="control checked"]::after,:host(:hover:not(:disabled)[invalid][indeterminate]) [part="control checked"]::after{background:var(--error-color-hover)}:host(:not([disabled])[invalid][indeterminate]) [part~=control]::after,:host(:not(:disabled)[invalid][indeterminate]) [part~=control]::after{background:var(--error-color)}:host(:hover:not([disabled])[invalid][indeterminate]) [part~=control]::after,:host(:hover:not(:disabled)[invalid][indeterminate]) [part~=control]::after{background:var(--error-color-hover)}:host(:focus-visible:not([disabled])[invalid]) [part~=control],:host(:focus-visible:not(:disabled)[invalid]) [part~=control],:host(:not([disabled])[invalid]) [part~=focused] [part~=control],:host(:not(:disabled)[invalid]) [part~=focused] [part~=control]{box-shadow:0 0 0 .25rem var(--focus-outline-color-error)}:host([disabled]) [part~=control]::after,:host(:disabled) [part~=control]::after{box-shadow:inset 0 0 0 .0625rem var(--disabled-color)}:host([disabled]) [part="control checked"]::after,:host(:disabled) [part="control checked"]::after{background:var(--disabled-indeterminate-color);box-shadow:none}:host([disabled][indeterminate]) [part~=control]::after,:host(:disabled[indeterminate]) [part~=control]::after{background:var(--disabled-indeterminate-color);box-shadow:none}`;
2
+ export const styles = css `:host ::part(helper-text){font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin-block-start:1rem;grid-auto-rows:minmax(1.125rem, auto)}[part~=label]{font-family:var(--ig-body-1-font-family, var(--ig-font-family));font-size:var(--ig-body-1-font-size);font-weight:var(--ig-body-1-font-weight);font-style:var(--ig-body-1-font-style);line-height:var(--ig-body-1-line-height);letter-spacing:var(--ig-body-1-letter-spacing);text-transform:var(--ig-body-1-text-transform);margin-top:var(--ig-body-1-margin-top);margin-bottom:var(--ig-body-1-margin-bottom);transition:none}[part~=indicator]{--indicator-size: 0.6875rem;transition:none}[part~=control]{--size: 1rem;border-radius:var(--border-radius-ripple);transition:all .15s ease-in-out;background:var(--empty-fill-color);transform:translate3d(0, 0, 0)}[part~=control]::after{border-radius:var(--border-radius);width:inherit;height:inherit;min-width:inherit;box-shadow:inset 0 0 0 .0625rem var(--empty-color);transition:all .15s ease-in-out}[part="control checked"]::after{background:var(--fill-color);box-shadow:inset 0 0 0 .0625rem var(--fill-color)}:host(:hover) [part~=control]::after{box-shadow:inset 0 0 0 .0625rem var(--empty-color-hover)}:host(:hover) [part="control checked"]::after{background:var(--fill-color-hover);box-shadow:inset 0 0 0 .0625rem var(--fill-color-hover)}:host(:focus-visible) [part~=control],[part~=focused] [part~=control]{box-shadow:0 0 0 .25rem var(--focus-outline-color)}:host(:focus-visible) [part=control]::after,[part~=focused] [part=control]::after{box-shadow:inset 0 0 0 .0625rem var(--focus-border-color)}:host(:focus-visible):hover [part=control]::after,[part~=focused]:hover [part=control]::after{box-shadow:inset 0 0 0 .0625rem hsl(from var(--focus-border-color) h calc(s * 1.12) calc(l * 0.82))}:host([indeterminate]) [part~=control]::after{background:var(--fill-color);box-shadow:inset 0 0 0 .0625rem var(--fill-color)}:host([indeterminate]) [part~=indicator]{transform:rotate(45deg) translateX(-0.075rem) scale(0.7)}:host(:not([disabled])[indeterminate]:hover) [part~=control]::after{background:var(--fill-color-hover);box-shadow:inset 0 0 0 .0625rem var(--fill-color-hover)}:host(:not([disabled])[invalid]) [part~=control]::after,:host(:not(:disabled)[invalid]) [part~=control]::after{box-shadow:inset 0 0 0 .0625rem var(--error-color);border-color:var(--error-color)}:host(:not([disabled])[invalid]) [part="control checked"]::after,:host(:not(:disabled)[invalid]) [part="control checked"]::after{background:var(--error-color)}:host(:not([disabled])[invalid]):focus-visible [part~=control],:host(:not([disabled])[invalid]):focus-visible [part="control checked"],:host(:not(:disabled)[invalid]):focus-visible [part~=control],:host(:not(:disabled)[invalid]):focus-visible [part="control checked"]{box-shadow:0 0 0 .25rem var(--focus-outline-color-error)}:host(:hover:not([disabled])[invalid]) [part~=control]::after,:host(:hover:not([disabled])[invalid]) [part="control checked"]::after,:host(:hover:not(:disabled)[invalid]) [part~=control]::after,:host(:hover:not(:disabled)[invalid]) [part="control checked"]::after,:host(:hover:not([disabled])[invalid][indeterminate]) [part~=control]::after,:host(:hover:not([disabled])[invalid][indeterminate]) [part="control checked"]::after,:host(:hover:not(:disabled)[invalid][indeterminate]) [part~=control]::after,:host(:hover:not(:disabled)[invalid][indeterminate]) [part="control checked"]::after{box-shadow:inset 0 0 0 .0625rem var(--error-color-hover)}:host(:hover:not([disabled])[invalid]) [part="control checked"]::after,:host(:hover:not(:disabled)[invalid]) [part="control checked"]::after,:host(:hover:not([disabled])[invalid][indeterminate]) [part="control checked"]::after,:host(:hover:not(:disabled)[invalid][indeterminate]) [part="control checked"]::after{background:var(--error-color-hover)}:host(:not([disabled])[invalid][indeterminate]) [part~=control]::after,:host(:not(:disabled)[invalid][indeterminate]) [part~=control]::after{background:var(--error-color)}:host(:hover:not([disabled])[invalid][indeterminate]) [part~=control]::after,:host(:hover:not(:disabled)[invalid][indeterminate]) [part~=control]::after{background:var(--error-color-hover)}:host(:focus-visible:not([disabled])[invalid]) [part~=control],:host(:focus-visible:not(:disabled)[invalid]) [part~=control],:host(:not([disabled])[invalid]) [part~=focused] [part~=control],:host(:not(:disabled)[invalid]) [part~=focused] [part~=control]{box-shadow:0 0 0 .25rem var(--focus-outline-color-error)}:host([disabled]) [part~=control]::after,:host(:disabled) [part~=control]::after{box-shadow:inset 0 0 0 .0625rem var(--disabled-color)}:host([disabled]) [part="control checked"]::after,:host(:disabled) [part="control checked"]::after{background:var(--disabled-indeterminate-color);box-shadow:none}:host([disabled][indeterminate]) [part~=control]::after,:host(:disabled[indeterminate]) [part~=control]::after{background:var(--disabled-indeterminate-color);box-shadow:none}`;
3
3
  //# sourceMappingURL=checkbox.bootstrap.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.bootstrap.css.js","sourceRoot":"","sources":["../../../../../../src/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,iqKAAiqK,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host ::part(helper-text){font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin-block-start:1rem;grid-auto-rows:minmax(1.125rem, auto)}[part~=label]{font-family:var(--ig-body-1-font-family, var(--ig-font-family));font-size:var(--ig-body-1-font-size);font-weight:var(--ig-body-1-font-weight);font-style:var(--ig-body-1-font-style);line-height:var(--ig-body-1-line-height);letter-spacing:var(--ig-body-1-letter-spacing);text-transform:var(--ig-body-1-text-transform);margin-top:var(--ig-body-1-margin-top);margin-bottom:var(--ig-body-1-margin-bottom);transition:none}[part~=indicator]{--indicator-size: 0.6875rem;transition:none}[part~=control]{--size: 1rem;border-radius:var(--border-radius-ripple);transition:all .15s ease-in-out;background:var(--empty-fill-color);transform:translate3d(0, 0, 0)}[part~=control]::after{border-radius:var(--border-radius);width:inherit;height:inherit;min-width:inherit;box-shadow:inset 0 0 0 .0625rem var(--empty-color);transition:all .15s ease-in-out}[part=\"control checked\"]::after{background:var(--fill-color);box-shadow:inset 0 0 0 .0625rem var(--fill-color)}:host(:hover) [part~=control]::after{box-shadow:inset 0 0 0 .0625rem var(--empty-color-hover)}:host(:hover) [part=\"control checked\"]::after{background:var(--fill-color-hover);box-shadow:inset 0 0 0 .0625rem var(--fill-color-hover)}:host(:focus-visible) [part~=control],[part~=focused] [part~=control]{box-shadow:0 0 0 .25rem var(--focus-outline-color)}:host(:focus-visible) [part=control]::after,[part~=focused] [part=control]::after{box-shadow:inset 0 0 0 .0625rem var(--ig-primary-200)}:host(:focus-visible):hover [part=control]::after,[part~=focused]:hover [part=control]::after{box-shadow:inset 0 0 0 .0625rem var(--ig-primary-300)}:host([indeterminate]) [part~=control]::after{background:var(--fill-color);box-shadow:inset 0 0 0 .0625rem var(--fill-color)}:host([indeterminate]) [part~=indicator]{transform:rotate(45deg) translateX(-0.075rem) scale(0.7)}:host(:not([disabled])[indeterminate]:hover) [part~=control]::after{background:var(--fill-color-hover);box-shadow:inset 0 0 0 .0625rem var(--fill-color-hover)}:host(:not([disabled])[invalid]) [part~=control]::after,:host(:not(:disabled)[invalid]) [part~=control]::after{box-shadow:inset 0 0 0 .0625rem var(--error-color);border-color:var(--error-color)}:host(:not([disabled])[invalid]) [part=\"control checked\"]::after,:host(:not(:disabled)[invalid]) [part=\"control checked\"]::after{background:var(--error-color)}:host(:not([disabled])[invalid]):focus-visible [part~=control],:host(:not([disabled])[invalid]):focus-visible [part=\"control checked\"],:host(:not(:disabled)[invalid]):focus-visible [part~=control],:host(:not(:disabled)[invalid]):focus-visible [part=\"control checked\"]{box-shadow:0 0 0 .25rem var(--focus-outline-color-error)}:host(:hover:not([disabled])[invalid]) [part~=control]::after,:host(:hover:not([disabled])[invalid]) [part=\"control checked\"]::after,:host(:hover:not(:disabled)[invalid]) [part~=control]::after,:host(:hover:not(:disabled)[invalid]) [part=\"control checked\"]::after,:host(:hover:not([disabled])[invalid][indeterminate]) [part~=control]::after,:host(:hover:not([disabled])[invalid][indeterminate]) [part=\"control checked\"]::after,:host(:hover:not(:disabled)[invalid][indeterminate]) [part~=control]::after,:host(:hover:not(:disabled)[invalid][indeterminate]) [part=\"control checked\"]::after{box-shadow:inset 0 0 0 .0625rem var(--error-color-hover)}:host(:hover:not([disabled])[invalid]) [part=\"control checked\"]::after,:host(:hover:not(:disabled)[invalid]) [part=\"control checked\"]::after,:host(:hover:not([disabled])[invalid][indeterminate]) [part=\"control checked\"]::after,:host(:hover:not(:disabled)[invalid][indeterminate]) [part=\"control checked\"]::after{background:var(--error-color-hover)}:host(:not([disabled])[invalid][indeterminate]) [part~=control]::after,:host(:not(:disabled)[invalid][indeterminate]) [part~=control]::after{background:var(--error-color)}:host(:hover:not([disabled])[invalid][indeterminate]) [part~=control]::after,:host(:hover:not(:disabled)[invalid][indeterminate]) [part~=control]::after{background:var(--error-color-hover)}:host(:focus-visible:not([disabled])[invalid]) [part~=control],:host(:focus-visible:not(:disabled)[invalid]) [part~=control],:host(:not([disabled])[invalid]) [part~=focused] [part~=control],:host(:not(:disabled)[invalid]) [part~=focused] [part~=control]{box-shadow:0 0 0 .25rem var(--focus-outline-color-error)}:host([disabled]) [part~=control]::after,:host(:disabled) [part~=control]::after{box-shadow:inset 0 0 0 .0625rem var(--disabled-color)}:host([disabled]) [part=\"control checked\"]::after,:host(:disabled) [part=\"control checked\"]::after{background:var(--disabled-indeterminate-color);box-shadow:none}:host([disabled][indeterminate]) [part~=control]::after,:host(:disabled[indeterminate]) [part~=control]::after{background:var(--disabled-indeterminate-color);box-shadow:none}`;\n"]}
1
+ {"version":3,"file":"checkbox.bootstrap.css.js","sourceRoot":"","sources":["../../../../../../src/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,mtKAAmtK,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host ::part(helper-text){font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin-block-start:1rem;grid-auto-rows:minmax(1.125rem, auto)}[part~=label]{font-family:var(--ig-body-1-font-family, var(--ig-font-family));font-size:var(--ig-body-1-font-size);font-weight:var(--ig-body-1-font-weight);font-style:var(--ig-body-1-font-style);line-height:var(--ig-body-1-line-height);letter-spacing:var(--ig-body-1-letter-spacing);text-transform:var(--ig-body-1-text-transform);margin-top:var(--ig-body-1-margin-top);margin-bottom:var(--ig-body-1-margin-bottom);transition:none}[part~=indicator]{--indicator-size: 0.6875rem;transition:none}[part~=control]{--size: 1rem;border-radius:var(--border-radius-ripple);transition:all .15s ease-in-out;background:var(--empty-fill-color);transform:translate3d(0, 0, 0)}[part~=control]::after{border-radius:var(--border-radius);width:inherit;height:inherit;min-width:inherit;box-shadow:inset 0 0 0 .0625rem var(--empty-color);transition:all .15s ease-in-out}[part=\"control checked\"]::after{background:var(--fill-color);box-shadow:inset 0 0 0 .0625rem var(--fill-color)}:host(:hover) [part~=control]::after{box-shadow:inset 0 0 0 .0625rem var(--empty-color-hover)}:host(:hover) [part=\"control checked\"]::after{background:var(--fill-color-hover);box-shadow:inset 0 0 0 .0625rem var(--fill-color-hover)}:host(:focus-visible) [part~=control],[part~=focused] [part~=control]{box-shadow:0 0 0 .25rem var(--focus-outline-color)}:host(:focus-visible) [part=control]::after,[part~=focused] [part=control]::after{box-shadow:inset 0 0 0 .0625rem var(--focus-border-color)}:host(:focus-visible):hover [part=control]::after,[part~=focused]:hover [part=control]::after{box-shadow:inset 0 0 0 .0625rem hsl(from var(--focus-border-color) h calc(s * 1.12) calc(l * 0.82))}:host([indeterminate]) [part~=control]::after{background:var(--fill-color);box-shadow:inset 0 0 0 .0625rem var(--fill-color)}:host([indeterminate]) [part~=indicator]{transform:rotate(45deg) translateX(-0.075rem) scale(0.7)}:host(:not([disabled])[indeterminate]:hover) [part~=control]::after{background:var(--fill-color-hover);box-shadow:inset 0 0 0 .0625rem var(--fill-color-hover)}:host(:not([disabled])[invalid]) [part~=control]::after,:host(:not(:disabled)[invalid]) [part~=control]::after{box-shadow:inset 0 0 0 .0625rem var(--error-color);border-color:var(--error-color)}:host(:not([disabled])[invalid]) [part=\"control checked\"]::after,:host(:not(:disabled)[invalid]) [part=\"control checked\"]::after{background:var(--error-color)}:host(:not([disabled])[invalid]):focus-visible [part~=control],:host(:not([disabled])[invalid]):focus-visible [part=\"control checked\"],:host(:not(:disabled)[invalid]):focus-visible [part~=control],:host(:not(:disabled)[invalid]):focus-visible [part=\"control checked\"]{box-shadow:0 0 0 .25rem var(--focus-outline-color-error)}:host(:hover:not([disabled])[invalid]) [part~=control]::after,:host(:hover:not([disabled])[invalid]) [part=\"control checked\"]::after,:host(:hover:not(:disabled)[invalid]) [part~=control]::after,:host(:hover:not(:disabled)[invalid]) [part=\"control checked\"]::after,:host(:hover:not([disabled])[invalid][indeterminate]) [part~=control]::after,:host(:hover:not([disabled])[invalid][indeterminate]) [part=\"control checked\"]::after,:host(:hover:not(:disabled)[invalid][indeterminate]) [part~=control]::after,:host(:hover:not(:disabled)[invalid][indeterminate]) [part=\"control checked\"]::after{box-shadow:inset 0 0 0 .0625rem var(--error-color-hover)}:host(:hover:not([disabled])[invalid]) [part=\"control checked\"]::after,:host(:hover:not(:disabled)[invalid]) [part=\"control checked\"]::after,:host(:hover:not([disabled])[invalid][indeterminate]) [part=\"control checked\"]::after,:host(:hover:not(:disabled)[invalid][indeterminate]) [part=\"control checked\"]::after{background:var(--error-color-hover)}:host(:not([disabled])[invalid][indeterminate]) [part~=control]::after,:host(:not(:disabled)[invalid][indeterminate]) [part~=control]::after{background:var(--error-color)}:host(:hover:not([disabled])[invalid][indeterminate]) [part~=control]::after,:host(:hover:not(:disabled)[invalid][indeterminate]) [part~=control]::after{background:var(--error-color-hover)}:host(:focus-visible:not([disabled])[invalid]) [part~=control],:host(:focus-visible:not(:disabled)[invalid]) [part~=control],:host(:not([disabled])[invalid]) [part~=focused] [part~=control],:host(:not(:disabled)[invalid]) [part~=focused] [part~=control]{box-shadow:0 0 0 .25rem var(--focus-outline-color-error)}:host([disabled]) [part~=control]::after,:host(:disabled) [part~=control]::after{box-shadow:inset 0 0 0 .0625rem var(--disabled-color)}:host([disabled]) [part=\"control checked\"]::after,:host(:disabled) [part=\"control checked\"]::after{background:var(--disabled-indeterminate-color);box-shadow:none}:host([disabled][indeterminate]) [part~=control]::after,:host(:disabled[indeterminate]) [part~=control]::after{background:var(--disabled-indeterminate-color);box-shadow:none}`;\n"]}
@@ -75,8 +75,8 @@ export default class IgcComboComponent<T extends object = any> extends IgcComboC
75
75
  protected _state: DataController<T>;
76
76
  protected _selection: SelectionController<T>;
77
77
  protected _navigation: NavigationController<T>;
78
- protected inputSuffix: Array<HTMLElement>;
79
- protected inputPrefix: Array<HTMLElement>;
78
+ protected inputSuffix: HTMLElement[];
79
+ protected inputPrefix: HTMLElement[];
80
80
  protected _searchInput: IgcInputComponent;
81
81
  private _input;
82
82
  private _list;
@@ -18,7 +18,7 @@ import { registerComponent } from '../common/definitions/register.js';
18
18
  import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
19
19
  import { FormAssociatedRequiredMixin } from '../common/mixins/forms/associated-required.js';
20
20
  import { createFormValueState, } from '../common/mixins/forms/form-value.js';
21
- import { asArray, findElementFromEventPath, first, isEmpty, partNameMap, } from '../common/util.js';
21
+ import { asArray, equal, findElementFromEventPath, first, isEmpty, partNameMap, } from '../common/util.js';
22
22
  import IgcIconComponent from '../icon/icon.js';
23
23
  import IgcInputComponent from '../input/input.js';
24
24
  import IgcPopoverComponent from '../popover/popover.js';
@@ -54,7 +54,10 @@ let IgcComboComponent = IgcComboComponent_1 = class IgcComboComponent extends Fo
54
54
  return this._data;
55
55
  }
56
56
  set singleSelect(value) {
57
- this._singleSelect = value;
57
+ if (this._singleSelect === Boolean(value)) {
58
+ return;
59
+ }
60
+ this._singleSelect = Boolean(value);
58
61
  this._selection.clear();
59
62
  if (this.hasUpdated) {
60
63
  this.updateValue();
@@ -82,22 +85,29 @@ let IgcComboComponent = IgcComboComponent_1 = class IgcComboComponent extends Fo
82
85
  return this._displayKey ?? this._valueKey;
83
86
  }
84
87
  set groupKey(value) {
85
- this._groupKey = value;
86
- this._state.runPipeline();
88
+ if (this._groupKey !== value) {
89
+ this._groupKey = value;
90
+ this._state.runPipeline();
91
+ }
87
92
  }
88
93
  get groupKey() {
89
94
  return this._groupKey;
90
95
  }
91
96
  set groupSorting(value) {
92
- this._groupSorting = value;
93
- this._state.runPipeline();
97
+ if (this._groupSorting !== value) {
98
+ this._groupSorting = value;
99
+ this._state.runPipeline();
100
+ }
94
101
  }
95
102
  get groupSorting() {
96
103
  return this._groupSorting;
97
104
  }
98
105
  set filteringOptions(value) {
99
- this._filteringOptions = { ...this._filteringOptions, ...value };
100
- this._state.runPipeline();
106
+ const options = { ...this._filteringOptions, ...value };
107
+ if (!equal(options, this._filteringOptions)) {
108
+ this._filteringOptions = options;
109
+ this._state.runPipeline();
110
+ }
101
111
  }
102
112
  get filteringOptions() {
103
113
  return this._filteringOptions;
@@ -152,8 +162,9 @@ let IgcComboComponent = IgcComboComponent_1 = class IgcComboComponent extends Fo
152
162
  this.groupHeaderTemplate = ({ item }) => html `${this.groupKey && item[this.groupKey]}`;
153
163
  this._rootClickController = addRootClickHandler(this, {
154
164
  hideCallback: async () => {
155
- if (!this.handleClosing())
165
+ if (!this.handleClosing()) {
156
166
  return;
167
+ }
157
168
  this.open = false;
158
169
  await this.updateComplete;
159
170
  this.emitEvent('igcClosed');
@@ -312,7 +323,7 @@ let IgcComboComponent = IgcComboComponent_1 = class IgcComboComponent extends Fo
312
323
  return true;
313
324
  }
314
325
  async show() {
315
- return this._show(false);
326
+ return await this._show(false);
316
327
  }
317
328
  async _hide(emitEvent = true) {
318
329
  if (!this.open || (emitEvent && !this.handleClosing())) {
@@ -327,13 +338,13 @@ let IgcComboComponent = IgcComboComponent_1 = class IgcComboComponent extends Fo
327
338
  return true;
328
339
  }
329
340
  async hide() {
330
- return this._hide(false);
341
+ return await this._hide(false);
331
342
  }
332
343
  _toggle(emit = true) {
333
344
  return this.open ? this._hide(emit) : this._show(emit);
334
345
  }
335
346
  async toggle() {
336
- return this._toggle(false);
347
+ return await this._toggle(false);
337
348
  }
338
349
  _getActiveDescendantId(index) {
339
350
  const position = index + 1;