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.
- package/CHANGELOG.md +94 -13
- package/animations/player.d.ts +1 -0
- package/animations/player.js +7 -0
- package/animations/player.js.map +1 -1
- package/animations/presets/scale/index.d.ts +2 -0
- package/animations/presets/scale/index.js +12 -0
- package/animations/presets/scale/index.js.map +1 -0
- package/components/calendar/days-view/days-view.js +5 -1
- package/components/calendar/days-view/days-view.js.map +1 -1
- package/components/carousel/themes/shared/carousel.bootstrap.css.js +1 -1
- package/components/carousel/themes/shared/carousel.bootstrap.css.js.map +1 -1
- package/components/carousel/themes/shared/carousel.common.css.js +1 -1
- package/components/carousel/themes/shared/carousel.common.css.js.map +1 -1
- package/components/carousel/themes/shared/carousel.fluent.css.js +1 -1
- package/components/carousel/themes/shared/carousel.fluent.css.js.map +1 -1
- package/components/carousel/themes/shared/carousel.indigo.css.js +1 -1
- package/components/carousel/themes/shared/carousel.indigo.css.js.map +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js.map +1 -1
- package/components/combo/combo.d.ts +2 -2
- package/components/combo/combo.js +23 -12
- package/components/combo/combo.js.map +1 -1
- package/components/common/definitions/defineAllComponents.js +2 -0
- package/components/common/definitions/defineAllComponents.js.map +1 -1
- package/components/common/util.d.ts +7 -3
- package/components/common/util.js +110 -3
- package/components/common/util.js.map +1 -1
- package/components/date-picker/themes/shared/date-picker.fluent.css.js +1 -1
- package/components/date-picker/themes/shared/date-picker.fluent.css.js.map +1 -1
- package/components/icon/icon.registry.js +2 -2
- package/components/icon/icon.registry.js.map +1 -1
- package/components/input/themes/shared/input.fluent.css.js +1 -1
- package/components/input/themes/shared/input.fluent.css.js.map +1 -1
- package/components/popover/popover.d.ts +17 -1
- package/components/popover/popover.js +58 -9
- package/components/popover/popover.js.map +1 -1
- package/components/radio/themes/shared/radio.bootstrap.css.js +1 -1
- package/components/radio/themes/shared/radio.bootstrap.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.common.css.js +1 -1
- package/components/textarea/themes/shared/textarea.common.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
- package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
- package/components/tooltip/controller.d.ts +87 -0
- package/components/tooltip/controller.js +172 -0
- package/components/tooltip/controller.js.map +1 -0
- package/components/tooltip/service.d.ts +12 -0
- package/components/tooltip/service.js +42 -0
- package/components/tooltip/service.js.map +1 -0
- package/components/tooltip/themes/dark/tooltip.bootstrap.css.d.ts +1 -0
- package/components/tooltip/themes/dark/tooltip.bootstrap.css.js +3 -0
- package/components/tooltip/themes/dark/tooltip.bootstrap.css.js.map +1 -0
- package/components/tooltip/themes/dark/tooltip.fluent.css.d.ts +1 -0
- package/components/tooltip/themes/dark/tooltip.fluent.css.js +3 -0
- package/components/tooltip/themes/dark/tooltip.fluent.css.js.map +1 -0
- package/components/tooltip/themes/dark/tooltip.indigo.css.d.ts +1 -0
- package/components/tooltip/themes/dark/tooltip.indigo.css.js +3 -0
- package/components/tooltip/themes/dark/tooltip.indigo.css.js.map +1 -0
- package/components/tooltip/themes/dark/tooltip.material.css.d.ts +1 -0
- package/components/tooltip/themes/dark/tooltip.material.css.js +3 -0
- package/components/tooltip/themes/dark/tooltip.material.css.js.map +1 -0
- package/components/tooltip/themes/light/tooltip.bootstrap.css.d.ts +1 -0
- package/components/tooltip/themes/light/tooltip.bootstrap.css.js +3 -0
- package/components/tooltip/themes/light/tooltip.bootstrap.css.js.map +1 -0
- package/components/tooltip/themes/light/tooltip.fluent.css.d.ts +1 -0
- package/components/tooltip/themes/light/tooltip.fluent.css.js +3 -0
- package/components/tooltip/themes/light/tooltip.fluent.css.js.map +1 -0
- package/components/tooltip/themes/light/tooltip.indigo.css.d.ts +1 -0
- package/components/tooltip/themes/light/tooltip.indigo.css.js +3 -0
- package/components/tooltip/themes/light/tooltip.indigo.css.js.map +1 -0
- package/components/tooltip/themes/light/tooltip.material.css.d.ts +1 -0
- package/components/tooltip/themes/light/tooltip.material.css.js +3 -0
- package/components/tooltip/themes/light/tooltip.material.css.js.map +1 -0
- package/components/tooltip/themes/light/tooltip.shared.css.d.ts +1 -0
- package/components/tooltip/themes/light/tooltip.shared.css.js +3 -0
- package/components/tooltip/themes/light/tooltip.shared.css.js.map +1 -0
- package/components/tooltip/themes/shared/tooltip.common.css.d.ts +1 -0
- package/components/tooltip/themes/shared/tooltip.common.css.js +3 -0
- package/components/tooltip/themes/shared/tooltip.common.css.js.map +1 -0
- package/components/tooltip/themes/shared/tooltip.indigo.css.d.ts +1 -0
- package/components/tooltip/themes/shared/tooltip.indigo.css.js +3 -0
- package/components/tooltip/themes/shared/tooltip.indigo.css.js.map +1 -0
- package/components/tooltip/themes/themes.d.ts +2 -0
- package/components/tooltip/themes/themes.js +47 -0
- package/components/tooltip/themes/themes.js.map +1 -0
- package/components/tooltip/themes/tooltip.base.css.d.ts +1 -0
- package/components/tooltip/themes/tooltip.base.css.js +3 -0
- package/components/tooltip/themes/tooltip.base.css.js.map +1 -0
- package/components/tooltip/tooltip.d.ts +154 -0
- package/components/tooltip/tooltip.js +284 -0
- package/components/tooltip/tooltip.js.map +1 -0
- package/custom-elements.json +1080 -29
- package/igniteui-webcomponents.css-data.json +1 -1
- package/igniteui-webcomponents.html-data.json +1 -1
- package/index.d.ts +2 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/package.json +1 -1
- 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
|
-
## [
|
|
7
|
+
## [5.4.0] - 2025-04-23
|
|
8
8
|
### Added
|
|
9
|
-
-
|
|
10
|
-
-
|
|
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
|
-
-
|
|
14
|
-
- `
|
|
15
|
-
|
|
16
|
-
- `
|
|
17
|
-
|
|
18
|
-
- `
|
|
19
|
-
-
|
|
20
|
-
-
|
|
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
|
-
-
|
|
24
|
-
-
|
|
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
|
package/animations/player.d.ts
CHANGED
|
@@ -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
|
/**
|
package/animations/player.js
CHANGED
|
@@ -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) {
|
package/animations/player.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"player.js","sourceRoot":"","sources":["../../src/animations/player.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,MAAM,eAAe,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAEvC,SAAS,uBAAuB;IAC9B,OAAO,UAAU,EAAE,UAAU,CAAC,kCAAkC,CAAC,CAAC,OAAO,CAAC;AAC5E,CAAC;AAED,MAAM,mBAAmB;IACvB,IAAc,MAAM;QAClB,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC;IAC1C,CAAC;IAED,YACmB,IAA0C,EACnD,OAAwC;QAD/B,SAAI,GAAJ,IAAI,CAAsC;QACnD,YAAO,GAAP,OAAO,CAAiC;QAEhD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAEO,cAAc,CAAC,SAAqB;QAC1C,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChC,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAAE,OAAO,QAAQ,CAAC;YAEtC,OAAO;gBACL,GAAG,QAAQ;gBACX,MAAM,EACJ,QAAQ,CAAC,MAAM,KAAK,MAAM;oBACxB,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI;oBACjC,CAAC,CAAC,QAAQ,CAAC,MAAM;aACtB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,SAAqC;QACrD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;QAErC,IAAI,OAAO,EAAE,QAAQ,KAAK,MAAM,CAAC,iBAAiB,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,IAAI,OAAO,CAAyB,CAAC,OAAO,EAAE,EAAE;YACrD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;gBAChE,GAAG,OAAO;gBACV,QAAQ,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,QAAQ;aAC5D,CAAC,CAAC;YAEH,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;YAC/D,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,OAAO;QACZ,OAAO,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YAC5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;gBACtD,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAChE,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAEhE,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEM,aAAa,KAAI,CAAC;CAC1B;AAOD,MAAM,UAAU,sBAAsB,CACpC,IAA0C,EAC1C,MAAuC;IAEvC,OAAO,IAAI,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAMD,MAAM,UAAU,mBAAmB,CACjC,QAAuC;IAGvC,IAAI,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QAC/D,QAAQ,EAAE,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;AAChE,CAAC","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,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)
|
|
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,
|
|
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-
|
|
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,
|
|
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
|
|
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,
|
|
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)
|
|
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,
|
|
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(--
|
|
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,
|
|
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:
|
|
79
|
-
protected inputPrefix:
|
|
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
|
|
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
|
|
86
|
-
|
|
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
|
|
93
|
-
|
|
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
|
-
|
|
100
|
-
this.
|
|
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;
|