igniteui-webcomponents 6.1.1 → 6.1.2
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 +23 -0
- package/animations/player.d.ts +1 -1
- package/animations/player.js.map +1 -1
- package/components/calendar/calendar.d.ts +1 -0
- package/components/calendar/calendar.js +5 -8
- package/components/calendar/calendar.js.map +1 -1
- package/components/calendar/themes/calendar.base.css.js +1 -1
- package/components/calendar/themes/calendar.base.css.js.map +1 -1
- package/components/calendar/themes/dark/calendar.bootstrap.css.js +1 -1
- package/components/calendar/themes/dark/calendar.bootstrap.css.js.map +1 -1
- package/components/calendar/themes/dark/calendar.fluent.css.js +1 -1
- package/components/calendar/themes/dark/calendar.fluent.css.js.map +1 -1
- package/components/calendar/themes/dark/calendar.indigo.css.js +1 -1
- package/components/calendar/themes/dark/calendar.indigo.css.js.map +1 -1
- package/components/calendar/themes/dark/calendar.material.css.js +1 -1
- package/components/calendar/themes/dark/calendar.material.css.js.map +1 -1
- package/components/calendar/themes/light/calendar.bootstrap.css.js +1 -1
- package/components/calendar/themes/light/calendar.bootstrap.css.js.map +1 -1
- package/components/calendar/themes/light/calendar.fluent.css.js +1 -1
- package/components/calendar/themes/light/calendar.fluent.css.js.map +1 -1
- package/components/calendar/themes/light/calendar.indigo.css.js +1 -1
- package/components/calendar/themes/light/calendar.indigo.css.js.map +1 -1
- package/components/calendar/themes/light/calendar.material.css.js +1 -1
- package/components/calendar/themes/light/calendar.material.css.js.map +1 -1
- package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js +1 -1
- package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js.map +1 -1
- package/components/calendar/themes/shared/fluent/calendar.fluent.css.js +1 -1
- package/components/calendar/themes/shared/fluent/calendar.fluent.css.js.map +1 -1
- package/components/calendar/themes/shared/indigo/calendar.indigo.css.js +1 -1
- package/components/calendar/themes/shared/indigo/calendar.indigo.css.js.map +1 -1
- package/components/calendar/themes/shared/material/calendar.material.css.js +1 -1
- package/components/calendar/themes/shared/material/calendar.material.css.js.map +1 -1
- package/components/carousel/carousel.d.ts +4 -6
- package/components/carousel/carousel.js +29 -50
- package/components/carousel/carousel.js.map +1 -1
- package/components/combo/themes/dark/combo.bootstrap.css.js +1 -1
- package/components/combo/themes/dark/combo.bootstrap.css.js.map +1 -1
- package/components/combo/themes/light/combo.bootstrap.css.js +1 -1
- package/components/combo/themes/light/combo.bootstrap.css.js.map +1 -1
- package/components/combo/themes/light/combo.shared.css.js +1 -1
- package/components/combo/themes/light/combo.shared.css.js.map +1 -1
- package/components/common/mixins/alert.d.ts +7 -8
- package/components/common/mixins/alert.js +23 -34
- package/components/common/mixins/alert.js.map +1 -1
- package/components/date-picker/themes/dark/date-picker.bootstrap.css.js +1 -1
- package/components/date-picker/themes/dark/date-picker.bootstrap.css.js.map +1 -1
- package/components/date-picker/themes/dark/date-picker.fluent.css.js +1 -1
- package/components/date-picker/themes/dark/date-picker.fluent.css.js.map +1 -1
- package/components/date-picker/themes/dark/date-picker.indigo.css.js +1 -1
- package/components/date-picker/themes/dark/date-picker.indigo.css.js.map +1 -1
- package/components/date-picker/themes/dark/date-picker.material.css.js +1 -1
- package/components/date-picker/themes/dark/date-picker.material.css.js.map +1 -1
- package/components/date-picker/themes/light/date-picker.bootstrap.css.js +1 -1
- package/components/date-picker/themes/light/date-picker.bootstrap.css.js.map +1 -1
- package/components/date-picker/themes/light/date-picker.fluent.css.js +1 -1
- package/components/date-picker/themes/light/date-picker.fluent.css.js.map +1 -1
- package/components/date-picker/themes/light/date-picker.indigo.css.js +1 -1
- package/components/date-picker/themes/light/date-picker.indigo.css.js.map +1 -1
- package/components/date-picker/themes/light/date-picker.material.css.js +1 -1
- package/components/date-picker/themes/light/date-picker.material.css.js.map +1 -1
- package/components/date-picker/themes/shared/date-picker.bootstrap.css.js +1 -1
- package/components/date-picker/themes/shared/date-picker.bootstrap.css.js.map +1 -1
- package/components/date-picker/themes/shared/date-picker.common.css.js +1 -1
- package/components/date-picker/themes/shared/date-picker.common.css.js.map +1 -1
- package/components/date-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/date-picker/themes/shared/date-picker.indigo.css.js +1 -1
- package/components/date-picker/themes/shared/date-picker.indigo.css.js.map +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.bootstrap.css.js +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.bootstrap.css.js.map +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.js +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.js.map +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js.map +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.material.css.js +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.material.css.js.map +1 -1
- package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js +1 -1
- package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js.map +1 -1
- package/components/date-range-picker/themes/shared/date-range-picker.common.css.js +1 -1
- package/components/date-range-picker/themes/shared/date-range-picker.common.css.js.map +1 -1
- package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js +1 -1
- package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js.map +1 -1
- package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js +1 -1
- package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js.map +1 -1
- package/components/file-input/themes/dark/file-input.bootstrap.css.d.ts +1 -0
- package/components/file-input/themes/dark/file-input.bootstrap.css.js +3 -0
- package/components/file-input/themes/dark/file-input.bootstrap.css.js.map +1 -0
- package/components/file-input/themes/dark/file-input.fluent.css.d.ts +1 -0
- package/components/file-input/themes/dark/file-input.fluent.css.js +3 -0
- package/components/file-input/themes/dark/file-input.fluent.css.js.map +1 -0
- package/components/file-input/themes/dark/file-input.indigo.css.d.ts +1 -0
- package/components/file-input/themes/dark/file-input.indigo.css.js +3 -0
- package/components/file-input/themes/dark/file-input.indigo.css.js.map +1 -0
- package/components/file-input/themes/dark/file-input.material.css.d.ts +1 -0
- package/components/file-input/themes/dark/file-input.material.css.js +3 -0
- package/components/file-input/themes/dark/file-input.material.css.js.map +1 -0
- package/components/file-input/themes/file-input.base.css.js +1 -1
- package/components/file-input/themes/file-input.base.css.js.map +1 -1
- package/components/file-input/themes/light/file-input.bootstrap.css.d.ts +1 -0
- package/components/file-input/themes/light/file-input.bootstrap.css.js +3 -0
- package/components/file-input/themes/light/file-input.bootstrap.css.js.map +1 -0
- package/components/file-input/themes/light/file-input.fluent.css.d.ts +1 -0
- package/components/file-input/themes/light/file-input.fluent.css.js +3 -0
- package/components/file-input/themes/light/file-input.fluent.css.js.map +1 -0
- package/components/file-input/themes/light/file-input.indigo.css.d.ts +1 -0
- package/components/file-input/themes/light/file-input.indigo.css.js +3 -0
- package/components/file-input/themes/light/file-input.indigo.css.js.map +1 -0
- package/components/file-input/themes/light/file-input.material.css.d.ts +1 -0
- package/components/file-input/themes/light/file-input.material.css.js +3 -0
- package/components/file-input/themes/light/file-input.material.css.js.map +1 -0
- package/components/file-input/themes/light/file-input.shared.css.d.ts +1 -0
- package/components/file-input/themes/light/file-input.shared.css.js +3 -0
- package/components/file-input/themes/light/file-input.shared.css.js.map +1 -0
- package/components/file-input/themes/shared/file-input.bootstrap.css.js +1 -1
- package/components/file-input/themes/shared/file-input.bootstrap.css.js.map +1 -1
- package/components/file-input/themes/shared/file-input.indigo.css.js +1 -1
- package/components/file-input/themes/shared/file-input.indigo.css.js.map +1 -1
- package/components/file-input/themes/themes.js +19 -0
- package/components/file-input/themes/themes.js.map +1 -1
- package/components/input/themes/shared/input.bootstrap.css.js +1 -1
- package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
- package/components/input/themes/shared/input.indigo.css.js +1 -1
- package/components/input/themes/shared/input.indigo.css.js.map +1 -1
- package/components/select/themes/shared/select.bootstrap.css.js +1 -1
- package/components/select/themes/shared/select.bootstrap.css.js.map +1 -1
- package/components/snackbar/snackbar.d.ts +3 -5
- package/components/snackbar/snackbar.js +5 -5
- package/components/snackbar/snackbar.js.map +1 -1
- package/components/stepper/stepper.d.ts +1 -0
- package/components/stepper/stepper.js +9 -0
- package/components/stepper/stepper.js.map +1 -1
- package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
- package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.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/textarea/themes/shared/textarea.indigo.css.js +1 -1
- package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.material.css.js +1 -1
- package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
- package/components/toast/toast.d.ts +1 -2
- package/components/toast/toast.js +1 -1
- package/components/toast/toast.js.map +1 -1
- package/components/validation-container/validation-container.d.ts +7 -5
- package/components/validation-container/validation-container.js +48 -35
- package/components/validation-container/validation-container.js.map +1 -1
- package/custom-elements.json +199 -128
- package/igniteui-webcomponents.css-data.json +1 -1
- package/igniteui-webcomponents.html-data.json +1 -1
- package/package.json +1 -1
- package/web-types.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.bootstrap.css.js","sourceRoot":"","sources":["../../../../../../src/components/calendar/themes/shared/bootstrap/calendar.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":"calendar.bootstrap.css.js","sourceRoot":"","sources":["../../../../../../src/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,80GAA80G,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host(igc-calendar){--component-size: var(--ig-size, var(--default-size)) !important;color:var(--content-foreground);background:var(--content-background);box-shadow:0 0 0 .0625rem var(--border-color);border-radius:var(--border-radius)}[part~=content]:not([part~=content-vertical]) [part=days-view-container]+[part=days-view-container] [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]+[part=days-view-container] igc-days-view::part(days-row){padding-inline:1.375rem}[part~=content]:not([part~=content-vertical]) [part=days-view-container]:first-of-type:not(:only-child) [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]:first-of-type:not(:only-child) igc-days-view::part(days-row){padding-inline-end:1.375rem}[part~=content]:not([part~=content-vertical]) [part=days-view-container]:last-of-type:not(:only-child) [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]:last-of-type:not(:only-child) igc-days-view::part(days-row){padding-inline-end:.75rem}[part=navigation]{--ig-icon-size: 1.5rem;height:3.5rem;color:var(--picker-foreground);background:var(--picker-background)}:host([hide-header]) [part~=navigation]{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius)}[part~=header]{background:var(--header-background);color:var(--header-foreground)}[part=navigation-buttons]{gap:1.5rem}[part=months-navigation],[part=years-navigation],[part=years-range]{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}[part=header-title]{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);min-height:1.5rem}[part=header-date]{font-family:var(--ig-h4-font-family, var(--ig-font-family));font-size:var(--ig-h4-font-size);font-weight:var(--ig-h4-font-weight);font-style:var(--ig-h4-font-style);line-height:var(--ig-h4-line-height);letter-spacing:var(--ig-h4-letter-spacing);text-transform:var(--ig-h4-text-transform);margin-top:var(--ig-h4-margin-top);margin-bottom:var(--ig-h4-margin-bottom)}[part=years-range]{color:var(--picker-foreground)}[part~=navigation]{background:var(--picker-background);color:var(--picker-foreground)}[part~=months-navigation],[part~=years-navigation]{color:var(--picker-foreground)}[part~=months-navigation]:hover,[part~=years-navigation]:hover{color:var(--picker-hover-foreground)}[part~=months-navigation]:focus,[part~=years-navigation]:focus{color:var(--picker-focus-foreground)}[part~=navigation-button]{background:rgba(0,0,0,0);color:var(--navigation-color)}[part~=navigation-button]:hover{color:var(--navigation-hover-color)}[part~=navigation-button]:focus{color:var(--navigation-focus-color)}`;\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host(igc-calendar){--component-size: var(--ig-size, var(--default-size)) !important;color:var(--content-foreground);background:var(--content-background);box-shadow:0 0 0 .0625rem var(--border-color);border-radius:var(--border-radius)}:
|
|
2
|
+
export const styles = css `:host(igc-calendar){--component-size: var(--ig-size, var(--default-size)) !important;color:var(--content-foreground);background:var(--content-background);box-shadow:0 0 0 .0625rem var(--border-color);border-radius:var(--border-radius)}[part~=content]:not([part~=content-vertical]) [part=days-view-container]+[part=days-view-container] [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]+[part=days-view-container] igc-days-view{padding-inline:1.375rem}[part~=content]:not([part~=content-vertical]) [part=days-view-container]:last-of-type:not(:only-child) [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]:last-of-type:not(:only-child) igc-days-view{padding-inline-end:.75rem}[part~=content]:not([part~=content-vertical]) [part=days-view-container]:first-of-type:not(:only-child) [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]:first-of-type:not(:only-child) igc-days-view{padding-inline-end:1.375rem}[part=header]{color:var(--header-foreground);background:var(--header-background)}[part=navigation]{--ig-icon-size: 1.5rem;height:3.5rem;color:var(--picker-foreground);background:var(--picker-background)}[part~=navigation-buttons]{gap:.5rem}[part~=navigation-button][part~=vertical]{transform:none}[part=months-navigation],[part=years-navigation],[part=years-range]{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom)}[part=header-title]{font-family:var(--ig-overline-font-family, var(--ig-font-family));font-size:var(--ig-overline-font-size);font-weight:var(--ig-overline-font-weight);font-style:var(--ig-overline-font-style);line-height:var(--ig-overline-line-height);letter-spacing:var(--ig-overline-letter-spacing);text-transform:var(--ig-overline-text-transform);margin-top:var(--ig-overline-margin-top);margin-bottom:var(--ig-overline-margin-bottom)}[part=header-date]{font-family:var(--ig-h4-font-family, var(--ig-font-family));font-size:var(--ig-h4-font-size);font-weight:var(--ig-h4-font-weight);font-style:var(--ig-h4-font-style);line-height:var(--ig-h4-line-height);letter-spacing:var(--ig-h4-letter-spacing);text-transform:var(--ig-h4-text-transform);margin-top:var(--ig-h4-margin-top);margin-bottom:var(--ig-h4-margin-bottom)}[part=years-range]{color:var(--picker-foreground)}[part~=months-navigation],[part~=years-navigation]{color:var(--picker-foreground)}[part~=months-navigation]:hover,[part~=years-navigation]:hover{color:var(--picker-hover-foreground)}[part~=months-navigation]:focus,[part~=years-navigation]:focus{color:var(--picker-focus-foreground)}[part~=navigation-button]{color:var(--navigation-color)}[part~=navigation-button]:hover{color:var(--navigation-hover-color)}[part~=navigation-button]:focus{color:var(--navigation-focus-color)}`;
|
|
3
3
|
//# sourceMappingURL=calendar.fluent.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.fluent.css.js","sourceRoot":"","sources":["../../../../../../src/components/calendar/themes/shared/fluent/calendar.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":"calendar.fluent.css.js","sourceRoot":"","sources":["../../../../../../src/components/calendar/themes/shared/fluent/calendar.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,mmGAAmmG,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host(igc-calendar){--component-size: var(--ig-size, var(--default-size)) !important;color:var(--content-foreground);background:var(--content-background);box-shadow:0 0 0 .0625rem var(--border-color);border-radius:var(--border-radius)}[part~=content]:not([part~=content-vertical]) [part=days-view-container]+[part=days-view-container] [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]+[part=days-view-container] igc-days-view{padding-inline:1.375rem}[part~=content]:not([part~=content-vertical]) [part=days-view-container]:last-of-type:not(:only-child) [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]:last-of-type:not(:only-child) igc-days-view{padding-inline-end:.75rem}[part~=content]:not([part~=content-vertical]) [part=days-view-container]:first-of-type:not(:only-child) [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]:first-of-type:not(:only-child) igc-days-view{padding-inline-end:1.375rem}[part=header]{color:var(--header-foreground);background:var(--header-background)}[part=navigation]{--ig-icon-size: 1.5rem;height:3.5rem;color:var(--picker-foreground);background:var(--picker-background)}[part~=navigation-buttons]{gap:.5rem}[part~=navigation-button][part~=vertical]{transform:none}[part=months-navigation],[part=years-navigation],[part=years-range]{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom)}[part=header-title]{font-family:var(--ig-overline-font-family, var(--ig-font-family));font-size:var(--ig-overline-font-size);font-weight:var(--ig-overline-font-weight);font-style:var(--ig-overline-font-style);line-height:var(--ig-overline-line-height);letter-spacing:var(--ig-overline-letter-spacing);text-transform:var(--ig-overline-text-transform);margin-top:var(--ig-overline-margin-top);margin-bottom:var(--ig-overline-margin-bottom)}[part=header-date]{font-family:var(--ig-h4-font-family, var(--ig-font-family));font-size:var(--ig-h4-font-size);font-weight:var(--ig-h4-font-weight);font-style:var(--ig-h4-font-style);line-height:var(--ig-h4-line-height);letter-spacing:var(--ig-h4-letter-spacing);text-transform:var(--ig-h4-text-transform);margin-top:var(--ig-h4-margin-top);margin-bottom:var(--ig-h4-margin-bottom)}[part=years-range]{color:var(--picker-foreground)}[part~=months-navigation],[part~=years-navigation]{color:var(--picker-foreground)}[part~=months-navigation]:hover,[part~=years-navigation]:hover{color:var(--picker-hover-foreground)}[part~=months-navigation]:focus,[part~=years-navigation]:focus{color:var(--picker-focus-foreground)}[part~=navigation-button]{color:var(--navigation-color)}[part~=navigation-button]:hover{color:var(--navigation-hover-color)}[part~=navigation-button]:focus{color:var(--navigation-focus-color)}`;\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host(igc-calendar){--component-size: var(--ig-size, var(--default-size)) !important;color:var(--content-foreground);background:var(--content-background);box-shadow:0 0 0 .0625rem var(--border-color);border-radius:var(--border-radius)}:host(igc-calendar) [part~=header]{background:var(--header-background);color:var(--header-foreground);position:relative}:host(igc-calendar) [part~=header]::after{content:"";position:absolute;background:var(--border-color);inset-block-start:calc(100% - 0.0625rem);inset-inline-start:0;height:.0625rem;width:100%}:
|
|
2
|
+
export const styles = css `:host(igc-calendar){--component-size: var(--ig-size, var(--default-size)) !important;color:var(--content-foreground);background:var(--content-background);box-shadow:0 0 0 .0625rem var(--border-color);border-radius:var(--border-radius)}:host(igc-calendar) [part~=header]{background:var(--header-background);color:var(--header-foreground);position:relative}:host(igc-calendar) [part~=header]::after{content:"";position:absolute;background:var(--border-color);inset-block-start:calc(100% - 0.0625rem);inset-inline-start:0;height:.0625rem;width:100%}[part~=content]:not([part~=content-vertical]) [part=days-view-container]+[part=days-view-container] [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]+[part=days-view-container] igc-days-view{padding-inline:1.375rem}[part~=content]:not([part~=content-vertical]) [part=days-view-container]:last-of-type:not(:only-child) [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]:last-of-type:not(:only-child) igc-days-view{padding-inline-end:.75rem}[part~=content]:not([part~=content-vertical]) [part=days-view-container]:first-of-type:not(:only-child) [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]:first-of-type:not(:only-child) igc-days-view{padding-inline-end:1.375rem}:host(igc-calendar[header-orientation=vertical]) [part~=header]{width:8.5rem;min-width:8.5rem}:host(igc-calendar[header-orientation=vertical]) [part~=header]::after{inset-inline-start:calc(100% - 0.0625rem);inset-block-start:0;height:100%;width:.0625rem}[part=header]{gap:.125rem}[part=navigation]{--ig-icon-size: 0.875rem;height:3.125rem;color:var(--picker-foreground);background:var(--picker-background)}[part=navigation-buttons]{gap:.5rem}[part~=navigation-button]{color:var(--navigation-color);padding:.3125rem}[part~=navigation-button]:hover{color:var(--navigation-hover-color)}[part~=navigation-button]:focus{color:var(--navigation-focus-color)}[part~=months-navigation],[part~=years-navigation]{color:var(--picker-foreground)}[part~=months-navigation]:hover,[part~=years-navigation]:hover{color:var(--picker-hover-foreground)}[part~=months-navigation]:focus,[part~=years-navigation]:focus{color:var(--picker-focus-foreground)}[part=months-navigation],[part=years-navigation],[part=years-range]{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom)}[part=years-range]{color:var(--picker-foreground)}[part=header-title]{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)}[part=header-date]{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom)}`;
|
|
3
3
|
//# sourceMappingURL=calendar.indigo.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.indigo.css.js","sourceRoot":"","sources":["../../../../../../src/components/calendar/themes/shared/indigo/calendar.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":"calendar.indigo.css.js","sourceRoot":"","sources":["../../../../../../src/components/calendar/themes/shared/indigo/calendar.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,0iHAA0iH,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host(igc-calendar){--component-size: var(--ig-size, var(--default-size)) !important;color:var(--content-foreground);background:var(--content-background);box-shadow:0 0 0 .0625rem var(--border-color);border-radius:var(--border-radius)}:host(igc-calendar) [part~=header]{background:var(--header-background);color:var(--header-foreground);position:relative}:host(igc-calendar) [part~=header]::after{content:\"\";position:absolute;background:var(--border-color);inset-block-start:calc(100% - 0.0625rem);inset-inline-start:0;height:.0625rem;width:100%}[part~=content]:not([part~=content-vertical]) [part=days-view-container]+[part=days-view-container] [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]+[part=days-view-container] igc-days-view{padding-inline:1.375rem}[part~=content]:not([part~=content-vertical]) [part=days-view-container]:last-of-type:not(:only-child) [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]:last-of-type:not(:only-child) igc-days-view{padding-inline-end:.75rem}[part~=content]:not([part~=content-vertical]) [part=days-view-container]:first-of-type:not(:only-child) [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]:first-of-type:not(:only-child) igc-days-view{padding-inline-end:1.375rem}:host(igc-calendar[header-orientation=vertical]) [part~=header]{width:8.5rem;min-width:8.5rem}:host(igc-calendar[header-orientation=vertical]) [part~=header]::after{inset-inline-start:calc(100% - 0.0625rem);inset-block-start:0;height:100%;width:.0625rem}[part=header]{gap:.125rem}[part=navigation]{--ig-icon-size: 0.875rem;height:3.125rem;color:var(--picker-foreground);background:var(--picker-background)}[part=navigation-buttons]{gap:.5rem}[part~=navigation-button]{color:var(--navigation-color);padding:.3125rem}[part~=navigation-button]:hover{color:var(--navigation-hover-color)}[part~=navigation-button]:focus{color:var(--navigation-focus-color)}[part~=months-navigation],[part~=years-navigation]{color:var(--picker-foreground)}[part~=months-navigation]:hover,[part~=years-navigation]:hover{color:var(--picker-hover-foreground)}[part~=months-navigation]:focus,[part~=years-navigation]:focus{color:var(--picker-focus-foreground)}[part=months-navigation],[part=years-navigation],[part=years-range]{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom)}[part=years-range]{color:var(--picker-foreground)}[part=header-title]{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)}[part=header-date]{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom)}`;\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host(igc-calendar){--component-size: var(--ig-size, var(--default-size)) !important;color:var(--content-foreground);background:var(--content-background);box-shadow:0 0 0 .0625rem var(--border-color);border-radius:var(--border-radius)}:host(igc-calendar) [part~=header]{background:var(--header-background);color:var(--header-foreground)}:
|
|
2
|
+
export const styles = css `:host(igc-calendar){--component-size: var(--ig-size, var(--default-size)) !important;color:var(--content-foreground);background:var(--content-background);box-shadow:0 0 0 .0625rem var(--border-color);border-radius:var(--border-radius)}:host(igc-calendar) [part~=header]{background:var(--header-background);color:var(--header-foreground)}[part~=content]:not([part~=content-vertical]) [part=days-view-container]+[part=days-view-container] [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]+[part=days-view-container] igc-days-view{padding-inline:1.375rem}[part~=content]:not([part~=content-vertical]) [part=days-view-container]:last-of-type:not(:only-child) [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]:last-of-type:not(:only-child) igc-days-view{padding-inline-end:.75rem}[part~=content]:not([part~=content-vertical]) [part=days-view-container]:first-of-type:not(:only-child) [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]:first-of-type:not(:only-child) igc-days-view{padding-inline-end:1.375rem}[part=content]{width:100%}[part=header]{padding:1rem 1.5rem;gap:1.75rem}[part=navigation]{--ig-icon-size: 1.5rem;height:3.5rem;color:var(--picker-foreground);background:var(--picker-background);padding:0 1.5rem}[part=navigation-buttons]{gap:1.5rem}[part~=navigation-button]{color:var(--navigation-color)}[part~=navigation-button]:hover{color:var(--navigation-hover-color)}[part~=navigation-button]:focus{color:var(--navigation-focus-color)}[part~=months-navigation],[part~=years-navigation]{color:var(--picker-foreground)}[part~=months-navigation]:hover,[part~=years-navigation]:hover{color:var(--picker-hover-foreground)}[part~=months-navigation]:focus,[part~=years-navigation]:focus{color:var(--picker-focus-foreground)}[part=months-navigation],[part=years-navigation],[part=years-range]{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}[part=years-range]{color:var(--picker-foreground)}[part=header-title]{font-family:var(--ig-overline-font-family, var(--ig-font-family));font-size:var(--ig-overline-font-size);font-weight:var(--ig-overline-font-weight);font-style:var(--ig-overline-font-style);line-height:var(--ig-overline-line-height);letter-spacing:var(--ig-overline-letter-spacing);text-transform:var(--ig-overline-text-transform);margin-top:var(--ig-overline-margin-top);margin-bottom:var(--ig-overline-margin-bottom)}[part=header-date]{font-family:var(--ig-h4-font-family, var(--ig-font-family));font-size:var(--ig-h4-font-size);font-weight:var(--ig-h4-font-weight);font-style:var(--ig-h4-font-style);line-height:var(--ig-h4-line-height);letter-spacing:var(--ig-h4-letter-spacing);text-transform:var(--ig-h4-text-transform);margin-top:var(--ig-h4-margin-top);margin-bottom:var(--ig-h4-margin-bottom);margin:0}`;
|
|
3
3
|
//# sourceMappingURL=calendar.material.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.material.css.js","sourceRoot":"","sources":["../../../../../../src/components/calendar/themes/shared/material/calendar.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"calendar.material.css.js","sourceRoot":"","sources":["../../../../../../src/components/calendar/themes/shared/material/calendar.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,iqGAAiqG,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host(igc-calendar){--component-size: var(--ig-size, var(--default-size)) !important;color:var(--content-foreground);background:var(--content-background);box-shadow:0 0 0 .0625rem var(--border-color);border-radius:var(--border-radius)}:host(igc-calendar) [part~=header]{background:var(--header-background);color:var(--header-foreground)}[part~=content]:not([part~=content-vertical]) [part=days-view-container]+[part=days-view-container] [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]+[part=days-view-container] igc-days-view{padding-inline:1.375rem}[part~=content]:not([part~=content-vertical]) [part=days-view-container]:last-of-type:not(:only-child) [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]:last-of-type:not(:only-child) igc-days-view{padding-inline-end:.75rem}[part~=content]:not([part~=content-vertical]) [part=days-view-container]:first-of-type:not(:only-child) [part=navigation],[part~=content]:not([part~=content-vertical]) [part=days-view-container]:first-of-type:not(:only-child) igc-days-view{padding-inline-end:1.375rem}[part=content]{width:100%}[part=header]{padding:1rem 1.5rem;gap:1.75rem}[part=navigation]{--ig-icon-size: 1.5rem;height:3.5rem;color:var(--picker-foreground);background:var(--picker-background);padding:0 1.5rem}[part=navigation-buttons]{gap:1.5rem}[part~=navigation-button]{color:var(--navigation-color)}[part~=navigation-button]:hover{color:var(--navigation-hover-color)}[part~=navigation-button]:focus{color:var(--navigation-focus-color)}[part~=months-navigation],[part~=years-navigation]{color:var(--picker-foreground)}[part~=months-navigation]:hover,[part~=years-navigation]:hover{color:var(--picker-hover-foreground)}[part~=months-navigation]:focus,[part~=years-navigation]:focus{color:var(--picker-focus-foreground)}[part=months-navigation],[part=years-navigation],[part=years-range]{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}[part=years-range]{color:var(--picker-foreground)}[part=header-title]{font-family:var(--ig-overline-font-family, var(--ig-font-family));font-size:var(--ig-overline-font-size);font-weight:var(--ig-overline-font-weight);font-style:var(--ig-overline-font-style);line-height:var(--ig-overline-line-height);letter-spacing:var(--ig-overline-letter-spacing);text-transform:var(--ig-overline-text-transform);margin-top:var(--ig-overline-margin-top);margin-bottom:var(--ig-overline-margin-bottom)}[part=header-date]{font-family:var(--ig-h4-font-family, var(--ig-font-family));font-size:var(--ig-h4-font-size);font-weight:var(--ig-h4-font-weight);font-style:var(--ig-h4-font-style);line-height:var(--ig-h4-line-height);letter-spacing:var(--ig-h4-letter-spacing);text-transform:var(--ig-h4-text-transform);margin-top:var(--ig-h4-margin-top);margin-bottom:var(--ig-h4-margin-bottom);margin:0}`;\n"]}
|
|
@@ -35,9 +35,10 @@ export default class IgcCarouselComponent extends IgcCarouselComponent_base {
|
|
|
35
35
|
static register(): void;
|
|
36
36
|
private static readonly increment;
|
|
37
37
|
private readonly _carouselId;
|
|
38
|
+
private _paused;
|
|
38
39
|
private _lastInterval;
|
|
39
40
|
private _hasKeyboardInteractionOnIndicators;
|
|
40
|
-
private
|
|
41
|
+
private _hasPointerInteraction;
|
|
41
42
|
private _hasInnerFocus;
|
|
42
43
|
private _context;
|
|
43
44
|
private readonly _carouselSlidesContainerRef;
|
|
@@ -52,7 +53,6 @@ export default class IgcCarouselComponent extends IgcCarouselComponent_base {
|
|
|
52
53
|
private _projectedIndicators;
|
|
53
54
|
private _activeSlide;
|
|
54
55
|
private _playing;
|
|
55
|
-
private _paused;
|
|
56
56
|
private _observerCallback;
|
|
57
57
|
/**
|
|
58
58
|
* Whether the carousel should skip rotating to the first slide after it reaches the last.
|
|
@@ -140,10 +140,8 @@ export default class IgcCarouselComponent extends IgcCarouselComponent_base {
|
|
|
140
140
|
constructor();
|
|
141
141
|
private handleSlotChange;
|
|
142
142
|
private handleIndicatorSlotChange;
|
|
143
|
-
private
|
|
144
|
-
private
|
|
145
|
-
private handleFocusIn;
|
|
146
|
-
private handleFocusOut;
|
|
143
|
+
private handlePointerInteraction;
|
|
144
|
+
private handleFocusInteraction;
|
|
147
145
|
private handlePauseOnInteraction;
|
|
148
146
|
private handleArrowLeft;
|
|
149
147
|
private handleArrowRight;
|
|
@@ -81,8 +81,9 @@ class IgcCarouselComponent extends EventEmitterMixin(LitElement) {
|
|
|
81
81
|
constructor() {
|
|
82
82
|
super();
|
|
83
83
|
this._carouselId = `igc-carousel-${IgcCarouselComponent.increment()}`;
|
|
84
|
+
this._paused = false;
|
|
84
85
|
this._hasKeyboardInteractionOnIndicators = false;
|
|
85
|
-
this.
|
|
86
|
+
this._hasPointerInteraction = false;
|
|
86
87
|
this._hasInnerFocus = false;
|
|
87
88
|
this._context = new ContextProvider(this, {
|
|
88
89
|
context: carouselContext,
|
|
@@ -93,7 +94,6 @@ class IgcCarouselComponent extends EventEmitterMixin(LitElement) {
|
|
|
93
94
|
this._prevButtonRef = createRef();
|
|
94
95
|
this._nextButtonRef = createRef();
|
|
95
96
|
this._playing = false;
|
|
96
|
-
this._paused = false;
|
|
97
97
|
this.disableLoop = false;
|
|
98
98
|
this.disablePauseOnInteraction = false;
|
|
99
99
|
this.hideNavigation = false;
|
|
@@ -111,14 +111,10 @@ class IgcCarouselComponent extends EventEmitterMixin(LitElement) {
|
|
|
111
111
|
},
|
|
112
112
|
});
|
|
113
113
|
addThemingController(this, all);
|
|
114
|
-
addSafeEventListener(this, 'pointerenter', this.
|
|
115
|
-
addSafeEventListener(this, 'pointerleave', this.
|
|
116
|
-
addSafeEventListener(this, '
|
|
117
|
-
|
|
118
|
-
});
|
|
119
|
-
addSafeEventListener(this, 'keyup', () => {
|
|
120
|
-
this._hasInnerFocus = true;
|
|
121
|
-
});
|
|
114
|
+
addSafeEventListener(this, 'pointerenter', this.handlePointerInteraction);
|
|
115
|
+
addSafeEventListener(this, 'pointerleave', this.handlePointerInteraction);
|
|
116
|
+
addSafeEventListener(this, 'focusin', this.handleFocusInteraction);
|
|
117
|
+
addSafeEventListener(this, 'focusout', this.handleFocusInteraction);
|
|
122
118
|
addGesturesController(this, {
|
|
123
119
|
ref: this._carouselSlidesContainerRef,
|
|
124
120
|
touchOnly: true,
|
|
@@ -161,36 +157,20 @@ class IgcCarouselComponent extends EventEmitterMixin(LitElement) {
|
|
|
161
157
|
handleIndicatorSlotChange() {
|
|
162
158
|
this.requestUpdate();
|
|
163
159
|
}
|
|
164
|
-
|
|
165
|
-
this.
|
|
166
|
-
if (this._hasInnerFocus) {
|
|
167
|
-
|
|
160
|
+
handlePointerInteraction(event) {
|
|
161
|
+
this._hasPointerInteraction = event.type === 'pointerenter';
|
|
162
|
+
if (!this._hasInnerFocus) {
|
|
163
|
+
this.handlePauseOnInteraction();
|
|
168
164
|
}
|
|
169
|
-
this.handlePauseOnInteraction();
|
|
170
165
|
}
|
|
171
|
-
|
|
172
|
-
this._hasMouseStop = false;
|
|
173
|
-
if (this._hasInnerFocus) {
|
|
174
|
-
return;
|
|
175
|
-
}
|
|
176
|
-
this.handlePauseOnInteraction();
|
|
177
|
-
}
|
|
178
|
-
handleFocusIn() {
|
|
179
|
-
if (this._hasInnerFocus || this._hasMouseStop) {
|
|
180
|
-
return;
|
|
181
|
-
}
|
|
182
|
-
this.handlePauseOnInteraction();
|
|
183
|
-
}
|
|
184
|
-
handleFocusOut(event) {
|
|
166
|
+
handleFocusInteraction(event) {
|
|
185
167
|
const node = event.relatedTarget;
|
|
186
|
-
if (this.contains(node)
|
|
168
|
+
if (this.contains(node)) {
|
|
187
169
|
return;
|
|
188
170
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
this.handlePauseOnInteraction();
|
|
193
|
-
}
|
|
171
|
+
this._hasInnerFocus = event.type === 'focusin';
|
|
172
|
+
if (!this._hasPointerInteraction) {
|
|
173
|
+
this.handlePauseOnInteraction();
|
|
194
174
|
}
|
|
195
175
|
}
|
|
196
176
|
handlePauseOnInteraction() {
|
|
@@ -228,14 +208,13 @@ class IgcCarouselComponent extends EventEmitterMixin(LitElement) {
|
|
|
228
208
|
}
|
|
229
209
|
handleHorizontalSwipe({ data: { direction } }) {
|
|
230
210
|
if (!this.vertical) {
|
|
231
|
-
|
|
211
|
+
const callback = () => {
|
|
232
212
|
if (isLTR(this)) {
|
|
233
|
-
direction === 'left' ?
|
|
234
|
-
}
|
|
235
|
-
else {
|
|
236
|
-
direction === 'left' ? await this.prev() : await this.next();
|
|
213
|
+
return direction === 'left' ? this.next : this.prev;
|
|
237
214
|
}
|
|
238
|
-
|
|
215
|
+
return direction === 'left' ? this.prev : this.next;
|
|
216
|
+
};
|
|
217
|
+
this.handleInteraction(callback());
|
|
239
218
|
}
|
|
240
219
|
}
|
|
241
220
|
async handleIndicatorClick(event) {
|
|
@@ -255,8 +234,9 @@ class IgcCarouselComponent extends EventEmitterMixin(LitElement) {
|
|
|
255
234
|
if (this.interval) {
|
|
256
235
|
this.resetInterval();
|
|
257
236
|
}
|
|
258
|
-
await callback.call(this)
|
|
259
|
-
|
|
237
|
+
if (await callback.call(this)) {
|
|
238
|
+
this.emitEvent('igcSlideChanged', { detail: this.current });
|
|
239
|
+
}
|
|
260
240
|
if (this.interval) {
|
|
261
241
|
this.restartInterval();
|
|
262
242
|
}
|
|
@@ -292,8 +272,10 @@ class IgcCarouselComponent extends EventEmitterMixin(LitElement) {
|
|
|
292
272
|
this.resetInterval();
|
|
293
273
|
if (asNumber(this.interval) > 0) {
|
|
294
274
|
this._lastInterval = setInterval(() => {
|
|
295
|
-
if (this.isPlaying &&
|
|
296
|
-
this.
|
|
275
|
+
if (this.isPlaying &&
|
|
276
|
+
this.total &&
|
|
277
|
+
!(this.disableLoop && this.nextIndex === 0)) {
|
|
278
|
+
this.select(this.slides[this.nextIndex], 'next');
|
|
297
279
|
this.emitEvent('igcSlideChanged', { detail: this.current });
|
|
298
280
|
}
|
|
299
281
|
else {
|
|
@@ -465,7 +447,7 @@ class IgcCarouselComponent extends EventEmitterMixin(LitElement) {
|
|
|
465
447
|
}
|
|
466
448
|
render() {
|
|
467
449
|
return html `
|
|
468
|
-
<section
|
|
450
|
+
<section>
|
|
469
451
|
${this.hideNavigation ? nothing : this.navigationTemplate()}
|
|
470
452
|
${this.hideIndicators || this.showIndicatorsLabel
|
|
471
453
|
? nothing
|
|
@@ -476,7 +458,7 @@ class IgcCarouselComponent extends EventEmitterMixin(LitElement) {
|
|
|
476
458
|
<div
|
|
477
459
|
${ref(this._carouselSlidesContainerRef)}
|
|
478
460
|
id=${this._carouselId}
|
|
479
|
-
aria-live=${this.interval && this.
|
|
461
|
+
aria-live=${this.interval && this._playing ? 'off' : 'polite'}
|
|
480
462
|
>
|
|
481
463
|
<slot @slotchange=${this.handleSlotChange}></slot>
|
|
482
464
|
</div>
|
|
@@ -503,9 +485,6 @@ __decorate([
|
|
|
503
485
|
__decorate([
|
|
504
486
|
state()
|
|
505
487
|
], IgcCarouselComponent.prototype, "_playing", void 0);
|
|
506
|
-
__decorate([
|
|
507
|
-
state()
|
|
508
|
-
], IgcCarouselComponent.prototype, "_paused", void 0);
|
|
509
488
|
__decorate([
|
|
510
489
|
property({ type: Boolean, reflect: true, attribute: 'disable-loop' })
|
|
511
490
|
], IgcCarouselComponent.prototype, "disableLoop", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel.js","sourceRoot":"","sources":["../../../src/components/carousel/carousel.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextProvider } from '@lit/context';\nimport { html, LitElement, nothing } from 'lit';\nimport {\n property,\n queryAll,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\n\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport IgcButtonComponent from '../button/button.js';\nimport { carouselContext } from '../common/context.js';\nimport {\n addGesturesController,\n type SwipeEvent,\n} from '../common/controllers/gestures.js';\nimport { addInternalsController } from '../common/controllers/internals.js';\nimport {\n addKeybindings,\n arrowLeft,\n arrowRight,\n endKey,\n homeKey,\n} from '../common/controllers/key-bindings.js';\nimport {\n createMutationController,\n type MutationControllerParams,\n} from '../common/controllers/mutation-observer.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { partMap } from '../common/part-map.js';\nimport {\n addSafeEventListener,\n asNumber,\n createCounter,\n findElementFromEventPath,\n first,\n formatString,\n isLTR,\n last,\n wrap,\n} from '../common/util.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport type {\n CarouselIndicatorsOrientation,\n HorizontalTransitionAnimation,\n} from '../types.js';\nimport IgcCarouselIndicatorComponent from './carousel-indicator.js';\nimport IgcCarouselIndicatorContainerComponent from './carousel-indicator-container.js';\nimport IgcCarouselSlideComponent from './carousel-slide.js';\nimport { styles } from './themes/carousel.base.css.js';\nimport { all } from './themes/container.js';\nimport { styles as shared } from './themes/shared/carousel.common.css.js';\n\nexport interface IgcCarouselComponentEventMap {\n igcSlideChanged: CustomEvent<number>;\n igcPlaying: CustomEvent<void>;\n igcPaused: CustomEvent<void>;\n}\n\n/**\n * The `igc-carousel` presents a set of `igc-carousel-slide`s by sequentially displaying a subset of one or more slides.\n *\n * @element igc-carousel\n *\n * @slot Default slot for the carousel. Any projected `igc-carousel-slide` components should be projected here.\n * @slot previous-button - Renders content inside the previous button.\n * @slot next-button - Renders content inside the next button.\n *\n * @fires igcSlideChanged - Emitted when the current active slide is changed either by user interaction or by the interval callback.\n * @fires igcPlaying - Emitted when the carousel enters playing state by a user interaction.\n * @fires igcPaused - Emitted when the carousel enters paused state by a user interaction.\n *\n * @csspart navigation - The wrapper container of each carousel navigation button.\n * @csspart previous - The wrapper container of the carousel previous navigation button.\n * @csspart next - The wrapper container of the carousel next navigation button.\n * @csspart dot - The carousel dot indicator container.\n * @csspart active - The carousel active dot indicator container.\n * @csspart label - The label container of the carousel indicators.\n * @csspart start - The wrapping container of all carousel indicators when indicators-orientation is set to start.\n */\nexport default class IgcCarouselComponent extends EventEmitterMixin<\n IgcCarouselComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static styles = [styles, shared];\n public static readonly tagName = 'igc-carousel';\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(\n IgcCarouselComponent,\n IgcCarouselIndicatorComponent,\n IgcCarouselIndicatorContainerComponent,\n IgcCarouselSlideComponent,\n IgcIconComponent,\n IgcButtonComponent\n );\n }\n\n private static readonly increment = createCounter();\n private readonly _carouselId = `igc-carousel-${IgcCarouselComponent.increment()}`;\n\n private _lastInterval!: ReturnType<typeof setInterval> | null;\n private _hasKeyboardInteractionOnIndicators = false;\n private _hasMouseStop = false;\n private _hasInnerFocus = false;\n\n private _context = new ContextProvider(this, {\n context: carouselContext,\n initialValue: this,\n });\n\n private readonly _carouselSlidesContainerRef = createRef<HTMLDivElement>();\n private readonly _indicatorsContainerRef = createRef<HTMLDivElement>();\n private readonly _prevButtonRef = createRef<IgcButtonComponent>();\n private readonly _nextButtonRef = createRef<IgcButtonComponent>();\n\n private get hasProjectedIndicators(): boolean {\n return this._projectedIndicators.length > 0;\n }\n\n private get showIndicatorsLabel(): boolean {\n return this.total > this.maximumIndicatorsCount;\n }\n\n private get nextIndex(): number {\n return wrap(0, this.total - 1, this.current + 1);\n }\n\n private get prevIndex(): number {\n return wrap(0, this.total - 1, this.current - 1);\n }\n\n @queryAll(IgcCarouselIndicatorComponent.tagName)\n private _defaultIndicators!: NodeListOf<IgcCarouselIndicatorComponent>;\n\n @queryAssignedElements({\n selector: IgcCarouselIndicatorComponent.tagName,\n slot: 'indicator',\n })\n private _projectedIndicators!: Array<IgcCarouselIndicatorComponent>;\n\n @state()\n private _activeSlide!: IgcCarouselSlideComponent;\n\n @state()\n private _playing = false;\n\n @state()\n private _paused = false;\n\n private _observerCallback({\n changes: { added, attributes },\n }: MutationControllerParams<IgcCarouselSlideComponent>) {\n const activeSlides = this.slides.filter((slide) => slide.active);\n\n if (activeSlides.length <= 1) {\n return;\n }\n const idx = this.slides.indexOf(\n added.length ? last(added).node : last(attributes).node\n );\n\n for (const [i, slide] of this.slides.entries()) {\n if (slide.active && i !== idx) {\n slide.active = false;\n }\n }\n\n this.activateSlide(this.slides[idx]);\n }\n\n /**\n * Whether the carousel should skip rotating to the first slide after it reaches the last.\n * @attr disable-loop\n */\n @property({ type: Boolean, reflect: true, attribute: 'disable-loop' })\n public disableLoop = false;\n\n /**\n * Whether the carousel should ignore use interactions and not pause on them.\n * @attr disable-pause-on-interaction\n */\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'disable-pause-on-interaction',\n })\n public disablePauseOnInteraction = false;\n\n /**\n * Whether the carousel should skip rendering of the default navigation buttons.\n * @attr hide-navigation\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-navigation' })\n public hideNavigation = false;\n\n /**\n * Whether the carousel should render the indicator controls (dots).\n * @attr hide-indicators\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-indicators' })\n public hideIndicators = false;\n\n /**\n * Whether the carousel has vertical alignment.\n * @attr vertical\n */\n @property({ type: Boolean, reflect: true })\n public vertical = false;\n\n /**\n * Sets the orientation of the indicator controls (dots).\n * @attr indicators-orientation\n */\n @property({ reflect: false, attribute: 'indicators-orientation' })\n public indicatorsOrientation: CarouselIndicatorsOrientation = 'end';\n\n /**\n * The format used to set the aria-label on the carousel indicators.\n * Instances of '{0}' will be replaced with the index of the corresponding slide.\n *\n * @attr indicators-label-format\n */\n @property({ attribute: 'indicators-label-format' })\n public indicatorsLabelFormat = 'Slide {0}';\n\n /**\n * The format used to set the aria-label on the carousel slides and the text displayed\n * when the number of indicators is greater than tha maximum indicator count.\n * Instances of '{0}' will be replaced with the index of the corresponding slide.\n * Instances of '{1}' will be replaced with the total amount of slides.\n *\n * @attr slides-label-format\n */\n @property({ attribute: 'slides-label-format' })\n public slidesLabelFormat = '{0} of {1}';\n\n /**\n * The duration in milliseconds between changing the active slide.\n * @attr interval\n */\n @property({ type: Number, reflect: false })\n public interval: number | undefined;\n\n /**\n * Controls the maximum indicator controls (dots) that can be shown. Default value is `10`.\n * @attr maximum-indicators-count\n */\n @property({\n type: Number,\n reflect: false,\n attribute: 'maximum-indicators-count',\n })\n public maximumIndicatorsCount = 10;\n\n /**\n * The animation type.\n * @attr animation-type\n */\n @property({ attribute: 'animation-type' })\n public animationType: HorizontalTransitionAnimation = 'slide';\n\n /* blazorSuppress */\n /**\n * The slides of the carousel.\n */\n @queryAssignedElements({ selector: IgcCarouselSlideComponent.tagName })\n public slides!: Array<IgcCarouselSlideComponent>;\n\n /**\n * The total number of slides.\n */\n public get total(): number {\n return this.slides.length;\n }\n\n /**\n * The index of the current active slide.\n */\n public get current(): number {\n return Math.max(0, this.slides.indexOf(this._activeSlide));\n }\n\n /**\n * Whether the carousel is in playing state.\n */\n public get isPlaying(): boolean {\n return this._playing;\n }\n\n /**\n * Whether the carousel in in paused state.\n */\n public get isPaused(): boolean {\n return this._paused;\n }\n\n @watch('animationType')\n @watch('slidesLabelFormat')\n @watch('indicatorsLabelFormat')\n protected contextChanged() {\n this._context.setValue(this, true);\n }\n\n @watch('interval')\n protected intervalChange() {\n if (!this.isPlaying) {\n this._playing = true;\n }\n\n this.restartInterval();\n }\n\n constructor() {\n super();\n\n addInternalsController(this, {\n initialARIA: {\n role: 'region',\n ariaRoleDescription: 'carousel',\n },\n });\n\n addThemingController(this, all);\n\n addSafeEventListener(this, 'pointerenter', this.handlePointerEnter);\n addSafeEventListener(this, 'pointerleave', this.handlePointerLeave);\n addSafeEventListener(this, 'pointerdown', () => {\n this._hasInnerFocus = false;\n });\n addSafeEventListener(this, 'keyup', () => {\n this._hasInnerFocus = true;\n });\n\n addGesturesController(this, {\n ref: this._carouselSlidesContainerRef,\n touchOnly: true,\n })\n .set('swipe-left', this.handleHorizontalSwipe)\n .set('swipe-right', this.handleHorizontalSwipe)\n .set('swipe-up', this.handleVerticalSwipe)\n .set('swipe-down', this.handleVerticalSwipe);\n\n addKeybindings(this, {\n ref: this._indicatorsContainerRef,\n bindingDefaults: { preventDefault: true },\n })\n .set(arrowLeft, this.handleArrowLeft)\n .set(arrowRight, this.handleArrowRight)\n .set(homeKey, this.handleHomeKey)\n .set(endKey, this.handleEndKey);\n\n addKeybindings(this, {\n ref: this._prevButtonRef,\n bindingDefaults: { preventDefault: true },\n }).setActivateHandler(this.handleNavigationInteractionPrevious);\n\n addKeybindings(this, {\n ref: this._nextButtonRef,\n bindingDefaults: { preventDefault: true },\n }).setActivateHandler(this.handleNavigationInteractionNext);\n\n createMutationController(this, {\n callback: this._observerCallback,\n filter: [IgcCarouselSlideComponent.tagName],\n config: {\n attributeFilter: ['active'],\n childList: true,\n subtree: true,\n },\n });\n }\n\n private handleSlotChange(): void {\n if (this.total) {\n this.activateSlide(\n this.slides.findLast((slide) => slide.active) ?? first(this.slides)\n );\n }\n }\n\n private handleIndicatorSlotChange(): void {\n this.requestUpdate();\n }\n\n private handlePointerEnter(): void {\n this._hasMouseStop = true;\n if (this._hasInnerFocus) {\n return;\n }\n this.handlePauseOnInteraction();\n }\n\n private handlePointerLeave(): void {\n this._hasMouseStop = false;\n if (this._hasInnerFocus) {\n return;\n }\n this.handlePauseOnInteraction();\n }\n\n private handleFocusIn(): void {\n if (this._hasInnerFocus || this._hasMouseStop) {\n return;\n }\n this.handlePauseOnInteraction();\n }\n\n private handleFocusOut(event: FocusEvent): void {\n const node = event.relatedTarget as Node;\n\n if (this.contains(node) || this.renderRoot.contains(node)) {\n return;\n }\n\n if (this._hasInnerFocus) {\n this._hasInnerFocus = false;\n\n if (!this._hasMouseStop) {\n this.handlePauseOnInteraction();\n }\n }\n }\n\n private handlePauseOnInteraction(): void {\n if (!this.interval || this.disablePauseOnInteraction) return;\n\n if (this.isPlaying) {\n this.pause();\n this.emitEvent('igcPaused');\n } else {\n this.play();\n this.emitEvent('igcPlaying');\n }\n }\n\n private async handleArrowLeft(): Promise<void> {\n this._hasKeyboardInteractionOnIndicators = true;\n this.handleInteraction(isLTR(this) ? this.prev : this.next);\n }\n\n private async handleArrowRight(): Promise<void> {\n this._hasKeyboardInteractionOnIndicators = true;\n this.handleInteraction(isLTR(this) ? this.next : this.prev);\n }\n\n private async handleHomeKey(): Promise<void> {\n this._hasKeyboardInteractionOnIndicators = true;\n this.handleInteraction(() =>\n this.select(isLTR(this) ? first(this.slides) : last(this.slides))\n );\n }\n\n private async handleEndKey(): Promise<void> {\n this._hasKeyboardInteractionOnIndicators = true;\n this.handleInteraction(() =>\n this.select(isLTR(this) ? last(this.slides) : first(this.slides))\n );\n }\n\n private handleVerticalSwipe({ data: { direction } }: SwipeEvent) {\n if (this.vertical) {\n this.handleInteraction(direction === 'up' ? this.next : this.prev);\n }\n }\n\n private handleHorizontalSwipe({ data: { direction } }: SwipeEvent) {\n if (!this.vertical) {\n this.handleInteraction(async () => {\n if (isLTR(this)) {\n direction === 'left' ? await this.next() : await this.prev();\n } else {\n direction === 'left' ? await this.prev() : await this.next();\n }\n });\n }\n }\n\n private async handleIndicatorClick(event: PointerEvent): Promise<void> {\n const indicator = findElementFromEventPath<IgcCarouselIndicatorComponent>(\n IgcCarouselIndicatorComponent.tagName,\n event\n )!;\n\n const index = this.hasProjectedIndicators\n ? this._projectedIndicators.indexOf(indicator)\n : Array.from(this._defaultIndicators).indexOf(indicator);\n\n this.handleInteraction(() =>\n this.select(this.slides[index], index > this.current ? 'next' : 'prev')\n );\n }\n\n private handleNavigationInteractionNext() {\n this.handleInteraction(this.next);\n }\n\n private handleNavigationInteractionPrevious() {\n this.handleInteraction(this.prev);\n }\n\n private async handleInteraction(\n callback: () => Promise<unknown>\n ): Promise<void> {\n if (this.interval) {\n this.resetInterval();\n }\n\n await callback.call(this);\n this.emitEvent('igcSlideChanged', { detail: this.current });\n\n if (this.interval) {\n this.restartInterval();\n }\n }\n\n private activateSlide(slide: IgcCarouselSlideComponent): void {\n if (this._activeSlide) {\n this._activeSlide.active = false;\n }\n\n this._activeSlide = slide;\n this._activeSlide.active = true;\n\n if (this._hasKeyboardInteractionOnIndicators) {\n this.hasProjectedIndicators\n ? this._projectedIndicators[this.current].focus()\n : this._defaultIndicators[this.current].focus();\n\n this._hasKeyboardInteractionOnIndicators = false;\n }\n }\n\n private updateProjectedIndicators(): void {\n for (const [idx, slide] of this.slides.entries()) {\n const indicator = this._projectedIndicators[idx];\n indicator.active = slide.active;\n indicator.index = idx;\n\n this.setAttribute('aria-controls', slide.id);\n }\n }\n\n private resetInterval(): void {\n if (this._lastInterval) {\n clearInterval(this._lastInterval);\n this._lastInterval = null;\n }\n }\n\n private restartInterval(): void {\n this.resetInterval();\n\n if (asNumber(this.interval) > 0) {\n this._lastInterval = setInterval(() => {\n if (this.isPlaying && this.total) {\n this.next();\n this.emitEvent('igcSlideChanged', { detail: this.current });\n } else {\n this.pause();\n }\n }, this.interval);\n }\n }\n\n private async animateSlides(\n nextSlide: IgcCarouselSlideComponent,\n currentSlide: IgcCarouselSlideComponent,\n dir: 'next' | 'prev'\n ): Promise<void> {\n if (dir === 'next') {\n // Animate slides in next direction\n currentSlide.previous = true;\n currentSlide.toggleAnimation('out');\n this.activateSlide(nextSlide);\n await nextSlide.toggleAnimation('in');\n currentSlide.previous = false;\n } else {\n // Animate slides in previous direction\n currentSlide.previous = true;\n currentSlide.toggleAnimation('in', 'reverse');\n this.activateSlide(nextSlide);\n await nextSlide.toggleAnimation('out', 'reverse');\n currentSlide.previous = false;\n }\n }\n\n /**\n * Resumes playing of the carousel slides.\n */\n public play(): void {\n if (!this.isPlaying) {\n this._paused = false;\n this._playing = true;\n this.restartInterval();\n }\n }\n\n /**\n * Pauses the carousel rotation of slides.\n */\n public pause(): void {\n if (this.isPlaying) {\n this._playing = false;\n this._paused = true;\n this.resetInterval();\n }\n }\n\n /**\n * Switches to the next slide, runs any animations, and returns if the operation was successful.\n */\n public async next(): Promise<boolean> {\n if (this.disableLoop && this.nextIndex === 0) {\n this.pause();\n return false;\n }\n\n return await this.select(this.slides[this.nextIndex], 'next');\n }\n\n /**\n * Switches to the previous slide, runs any animations, and returns if the operation was successful.\n */\n public async prev(): Promise<boolean> {\n if (this.disableLoop && this.prevIndex === this.total - 1) {\n this.pause();\n return false;\n }\n\n return await this.select(this.slides[this.prevIndex], 'prev');\n }\n\n /* blazorSuppress */\n /**\n * Switches to the passed-in slide, runs any animations, and returns if the operation was successful.\n */\n public async select(\n slide: IgcCarouselSlideComponent,\n animationDirection?: 'next' | 'prev'\n ): Promise<boolean>;\n /**\n * Switches to slide by index, runs any animations, and returns if the operation was successful.\n */\n public async select(\n index: number,\n animationDirection?: 'next' | 'prev'\n ): Promise<boolean>;\n public async select(\n slideOrIndex: IgcCarouselSlideComponent | number,\n animationDirection?: 'next' | 'prev'\n ): Promise<boolean> {\n let index: number;\n let slide: IgcCarouselSlideComponent | undefined;\n\n if (typeof slideOrIndex === 'number') {\n index = slideOrIndex;\n slide = this.slides.at(index);\n } else {\n slide = slideOrIndex;\n index = this.slides.indexOf(slide);\n }\n\n if (index === this.current || index === -1 || !slide) {\n return false;\n }\n\n const dir = animationDirection ?? (index > this.current ? 'next' : 'prev');\n\n await this.animateSlides(slide, this._activeSlide, dir);\n return true;\n }\n\n private navigationTemplate() {\n return html`\n <igc-button\n ${ref(this._prevButtonRef)}\n type=\"button\"\n part=\"navigation previous\"\n aria-label=\"Previous slide\"\n aria-controls=${this._carouselId}\n ?disabled=${this.disableLoop && this.current === 0}\n @click=${this.handleNavigationInteractionPrevious}\n >\n <slot name=\"previous-button\">\n <igc-icon\n name=\"carousel_prev\"\n collection=\"default\"\n aria-hidden=\"true\"\n ></igc-icon>\n </slot>\n </igc-button>\n <igc-button\n ${ref(this._nextButtonRef)}\n type=\"button\"\n part=\"navigation next\"\n aria-label=\"Next slide\"\n aria-controls=${this._carouselId}\n ?disabled=${this.disableLoop && this.current === this.total - 1}\n @click=${this.handleNavigationInteractionNext}\n >\n <slot name=\"next-button\">\n <igc-icon\n name=\"carousel_next\"\n collection=\"default\"\n aria-hidden=\"true\"\n ></igc-icon>\n </slot>\n </igc-button>\n `;\n }\n\n protected *renderIndicators() {\n for (const [i, slide] of this.slides.entries()) {\n const forward = slide.active ? 'visible' : 'hidden';\n const backward = slide.active ? 'hidden' : 'visible';\n\n yield html`\n <igc-carousel-indicator\n exportparts=\"indicator, active, inactive\"\n .active=${slide.active}\n .index=${i}\n >\n <div\n part=\"dot\"\n style=${styleMap({ visibility: backward, zIndex: 1 })}\n ></div>\n <div\n part=\"dot active\"\n slot=\"active\"\n style=${styleMap({ visibility: forward })}\n ></div>\n </igc-carousel-indicator>\n `;\n }\n }\n\n private indicatorTemplate() {\n const parts = {\n indicators: true,\n start: this.indicatorsOrientation === 'start',\n };\n\n return html`\n <igc-carousel-indicator-container>\n <div\n ${ref(this._indicatorsContainerRef)}\n role=\"tablist\"\n part=${partMap(parts)}\n >\n <slot\n name=\"indicator\"\n @slotchange=${this.handleIndicatorSlotChange}\n @click=${this.handleIndicatorClick}\n >\n ${this.hasProjectedIndicators\n ? this.updateProjectedIndicators()\n : this.renderIndicators()}\n </slot>\n </div>\n </igc-carousel-indicator-container>\n `;\n }\n\n private labelTemplate() {\n const parts = {\n label: true,\n indicators: true,\n start: this.indicatorsOrientation === 'start',\n };\n const value = formatString(\n this.slidesLabelFormat,\n this.current + 1,\n this.total\n );\n\n return html`\n <div part=${partMap(parts)}>\n <span>${value}</span>\n </div>\n `;\n }\n\n protected override render() {\n return html`\n <section @focusin=${this.handleFocusIn} @focusout=${this.handleFocusOut}>\n ${this.hideNavigation ? nothing : this.navigationTemplate()}\n ${this.hideIndicators || this.showIndicatorsLabel\n ? nothing\n : this.indicatorTemplate()}\n ${!this.hideIndicators && this.showIndicatorsLabel\n ? this.labelTemplate()\n : nothing}\n <div\n ${ref(this._carouselSlidesContainerRef)}\n id=${this._carouselId}\n aria-live=${this.interval && this.isPlaying ? 'off' : 'polite'}\n >\n <slot @slotchange=${this.handleSlotChange}></slot>\n </div>\n </section>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-carousel': IgcCarouselComponent;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"carousel.js","sourceRoot":"","sources":["../../../src/components/carousel/carousel.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextProvider } from '@lit/context';\nimport { html, LitElement, nothing } from 'lit';\nimport {\n property,\n queryAll,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\n\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport IgcButtonComponent from '../button/button.js';\nimport { carouselContext } from '../common/context.js';\nimport {\n addGesturesController,\n type SwipeEvent,\n} from '../common/controllers/gestures.js';\nimport { addInternalsController } from '../common/controllers/internals.js';\nimport {\n addKeybindings,\n arrowLeft,\n arrowRight,\n endKey,\n homeKey,\n} from '../common/controllers/key-bindings.js';\nimport {\n createMutationController,\n type MutationControllerParams,\n} from '../common/controllers/mutation-observer.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { partMap } from '../common/part-map.js';\nimport {\n addSafeEventListener,\n asNumber,\n createCounter,\n findElementFromEventPath,\n first,\n formatString,\n isLTR,\n last,\n wrap,\n} from '../common/util.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport type {\n CarouselIndicatorsOrientation,\n HorizontalTransitionAnimation,\n} from '../types.js';\nimport IgcCarouselIndicatorComponent from './carousel-indicator.js';\nimport IgcCarouselIndicatorContainerComponent from './carousel-indicator-container.js';\nimport IgcCarouselSlideComponent from './carousel-slide.js';\nimport { styles } from './themes/carousel.base.css.js';\nimport { all } from './themes/container.js';\nimport { styles as shared } from './themes/shared/carousel.common.css.js';\n\nexport interface IgcCarouselComponentEventMap {\n igcSlideChanged: CustomEvent<number>;\n igcPlaying: CustomEvent<void>;\n igcPaused: CustomEvent<void>;\n}\n\n/**\n * The `igc-carousel` presents a set of `igc-carousel-slide`s by sequentially displaying a subset of one or more slides.\n *\n * @element igc-carousel\n *\n * @slot Default slot for the carousel. Any projected `igc-carousel-slide` components should be projected here.\n * @slot previous-button - Renders content inside the previous button.\n * @slot next-button - Renders content inside the next button.\n *\n * @fires igcSlideChanged - Emitted when the current active slide is changed either by user interaction or by the interval callback.\n * @fires igcPlaying - Emitted when the carousel enters playing state by a user interaction.\n * @fires igcPaused - Emitted when the carousel enters paused state by a user interaction.\n *\n * @csspart navigation - The wrapper container of each carousel navigation button.\n * @csspart previous - The wrapper container of the carousel previous navigation button.\n * @csspart next - The wrapper container of the carousel next navigation button.\n * @csspart dot - The carousel dot indicator container.\n * @csspart active - The carousel active dot indicator container.\n * @csspart label - The label container of the carousel indicators.\n * @csspart start - The wrapping container of all carousel indicators when indicators-orientation is set to start.\n */\nexport default class IgcCarouselComponent extends EventEmitterMixin<\n IgcCarouselComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static styles = [styles, shared];\n public static readonly tagName = 'igc-carousel';\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(\n IgcCarouselComponent,\n IgcCarouselIndicatorComponent,\n IgcCarouselIndicatorContainerComponent,\n IgcCarouselSlideComponent,\n IgcIconComponent,\n IgcButtonComponent\n );\n }\n\n private static readonly increment = createCounter();\n private readonly _carouselId = `igc-carousel-${IgcCarouselComponent.increment()}`;\n\n private _paused = false;\n private _lastInterval!: ReturnType<typeof setInterval> | null;\n private _hasKeyboardInteractionOnIndicators = false;\n private _hasPointerInteraction = false;\n private _hasInnerFocus = false;\n\n private _context = new ContextProvider(this, {\n context: carouselContext,\n initialValue: this,\n });\n\n private readonly _carouselSlidesContainerRef = createRef<HTMLDivElement>();\n private readonly _indicatorsContainerRef = createRef<HTMLDivElement>();\n private readonly _prevButtonRef = createRef<IgcButtonComponent>();\n private readonly _nextButtonRef = createRef<IgcButtonComponent>();\n\n private get hasProjectedIndicators(): boolean {\n return this._projectedIndicators.length > 0;\n }\n\n private get showIndicatorsLabel(): boolean {\n return this.total > this.maximumIndicatorsCount;\n }\n\n private get nextIndex(): number {\n return wrap(0, this.total - 1, this.current + 1);\n }\n\n private get prevIndex(): number {\n return wrap(0, this.total - 1, this.current - 1);\n }\n\n @queryAll(IgcCarouselIndicatorComponent.tagName)\n private _defaultIndicators!: NodeListOf<IgcCarouselIndicatorComponent>;\n\n @queryAssignedElements({\n selector: IgcCarouselIndicatorComponent.tagName,\n slot: 'indicator',\n })\n private _projectedIndicators!: Array<IgcCarouselIndicatorComponent>;\n\n @state()\n private _activeSlide!: IgcCarouselSlideComponent;\n\n @state()\n private _playing = false;\n\n private _observerCallback({\n changes: { added, attributes },\n }: MutationControllerParams<IgcCarouselSlideComponent>) {\n const activeSlides = this.slides.filter((slide) => slide.active);\n\n if (activeSlides.length <= 1) {\n return;\n }\n const idx = this.slides.indexOf(\n added.length ? last(added).node : last(attributes).node\n );\n\n for (const [i, slide] of this.slides.entries()) {\n if (slide.active && i !== idx) {\n slide.active = false;\n }\n }\n\n this.activateSlide(this.slides[idx]);\n }\n\n /**\n * Whether the carousel should skip rotating to the first slide after it reaches the last.\n * @attr disable-loop\n */\n @property({ type: Boolean, reflect: true, attribute: 'disable-loop' })\n public disableLoop = false;\n\n /**\n * Whether the carousel should ignore use interactions and not pause on them.\n * @attr disable-pause-on-interaction\n */\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'disable-pause-on-interaction',\n })\n public disablePauseOnInteraction = false;\n\n /**\n * Whether the carousel should skip rendering of the default navigation buttons.\n * @attr hide-navigation\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-navigation' })\n public hideNavigation = false;\n\n /**\n * Whether the carousel should render the indicator controls (dots).\n * @attr hide-indicators\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-indicators' })\n public hideIndicators = false;\n\n /**\n * Whether the carousel has vertical alignment.\n * @attr vertical\n */\n @property({ type: Boolean, reflect: true })\n public vertical = false;\n\n /**\n * Sets the orientation of the indicator controls (dots).\n * @attr indicators-orientation\n */\n @property({ reflect: false, attribute: 'indicators-orientation' })\n public indicatorsOrientation: CarouselIndicatorsOrientation = 'end';\n\n /**\n * The format used to set the aria-label on the carousel indicators.\n * Instances of '{0}' will be replaced with the index of the corresponding slide.\n *\n * @attr indicators-label-format\n */\n @property({ attribute: 'indicators-label-format' })\n public indicatorsLabelFormat = 'Slide {0}';\n\n /**\n * The format used to set the aria-label on the carousel slides and the text displayed\n * when the number of indicators is greater than tha maximum indicator count.\n * Instances of '{0}' will be replaced with the index of the corresponding slide.\n * Instances of '{1}' will be replaced with the total amount of slides.\n *\n * @attr slides-label-format\n */\n @property({ attribute: 'slides-label-format' })\n public slidesLabelFormat = '{0} of {1}';\n\n /**\n * The duration in milliseconds between changing the active slide.\n * @attr interval\n */\n @property({ type: Number, reflect: false })\n public interval: number | undefined;\n\n /**\n * Controls the maximum indicator controls (dots) that can be shown. Default value is `10`.\n * @attr maximum-indicators-count\n */\n @property({\n type: Number,\n reflect: false,\n attribute: 'maximum-indicators-count',\n })\n public maximumIndicatorsCount = 10;\n\n /**\n * The animation type.\n * @attr animation-type\n */\n @property({ attribute: 'animation-type' })\n public animationType: HorizontalTransitionAnimation = 'slide';\n\n /* blazorSuppress */\n /**\n * The slides of the carousel.\n */\n @queryAssignedElements({ selector: IgcCarouselSlideComponent.tagName })\n public slides!: Array<IgcCarouselSlideComponent>;\n\n /**\n * The total number of slides.\n */\n public get total(): number {\n return this.slides.length;\n }\n\n /**\n * The index of the current active slide.\n */\n public get current(): number {\n return Math.max(0, this.slides.indexOf(this._activeSlide));\n }\n\n /**\n * Whether the carousel is in playing state.\n */\n public get isPlaying(): boolean {\n return this._playing;\n }\n\n /**\n * Whether the carousel in in paused state.\n */\n public get isPaused(): boolean {\n return this._paused;\n }\n\n @watch('animationType')\n @watch('slidesLabelFormat')\n @watch('indicatorsLabelFormat')\n protected contextChanged() {\n this._context.setValue(this, true);\n }\n\n @watch('interval')\n protected intervalChange() {\n if (!this.isPlaying) {\n this._playing = true;\n }\n\n this.restartInterval();\n }\n\n constructor() {\n super();\n\n addInternalsController(this, {\n initialARIA: {\n role: 'region',\n ariaRoleDescription: 'carousel',\n },\n });\n\n addThemingController(this, all);\n\n addSafeEventListener(this, 'pointerenter', this.handlePointerInteraction);\n addSafeEventListener(this, 'pointerleave', this.handlePointerInteraction);\n addSafeEventListener(this, 'focusin', this.handleFocusInteraction);\n addSafeEventListener(this, 'focusout', this.handleFocusInteraction);\n\n addGesturesController(this, {\n ref: this._carouselSlidesContainerRef,\n touchOnly: true,\n })\n .set('swipe-left', this.handleHorizontalSwipe)\n .set('swipe-right', this.handleHorizontalSwipe)\n .set('swipe-up', this.handleVerticalSwipe)\n .set('swipe-down', this.handleVerticalSwipe);\n\n addKeybindings(this, {\n ref: this._indicatorsContainerRef,\n bindingDefaults: { preventDefault: true },\n })\n .set(arrowLeft, this.handleArrowLeft)\n .set(arrowRight, this.handleArrowRight)\n .set(homeKey, this.handleHomeKey)\n .set(endKey, this.handleEndKey);\n\n addKeybindings(this, {\n ref: this._prevButtonRef,\n bindingDefaults: { preventDefault: true },\n }).setActivateHandler(this.handleNavigationInteractionPrevious);\n\n addKeybindings(this, {\n ref: this._nextButtonRef,\n bindingDefaults: { preventDefault: true },\n }).setActivateHandler(this.handleNavigationInteractionNext);\n\n createMutationController(this, {\n callback: this._observerCallback,\n filter: [IgcCarouselSlideComponent.tagName],\n config: {\n attributeFilter: ['active'],\n childList: true,\n subtree: true,\n },\n });\n }\n\n private handleSlotChange(): void {\n if (this.total) {\n this.activateSlide(\n this.slides.findLast((slide) => slide.active) ?? first(this.slides)\n );\n }\n }\n\n private handleIndicatorSlotChange(): void {\n this.requestUpdate();\n }\n\n private handlePointerInteraction(event: PointerEvent): void {\n this._hasPointerInteraction = event.type === 'pointerenter';\n\n if (!this._hasInnerFocus) {\n this.handlePauseOnInteraction();\n }\n }\n\n private handleFocusInteraction(event: FocusEvent): void {\n // focusin - element that lost focus\n // focusout - element that gained focus\n const node = event.relatedTarget as Node;\n\n if (this.contains(node)) {\n return;\n }\n\n this._hasInnerFocus = event.type === 'focusin';\n\n if (!this._hasPointerInteraction) {\n this.handlePauseOnInteraction();\n }\n }\n\n private handlePauseOnInteraction(): void {\n if (!this.interval || this.disablePauseOnInteraction) return;\n\n if (this.isPlaying) {\n this.pause();\n this.emitEvent('igcPaused');\n } else {\n this.play();\n this.emitEvent('igcPlaying');\n }\n }\n\n private async handleArrowLeft(): Promise<void> {\n this._hasKeyboardInteractionOnIndicators = true;\n this.handleInteraction(isLTR(this) ? this.prev : this.next);\n }\n\n private async handleArrowRight(): Promise<void> {\n this._hasKeyboardInteractionOnIndicators = true;\n this.handleInteraction(isLTR(this) ? this.next : this.prev);\n }\n\n private async handleHomeKey(): Promise<void> {\n this._hasKeyboardInteractionOnIndicators = true;\n this.handleInteraction(() =>\n this.select(isLTR(this) ? first(this.slides) : last(this.slides))\n );\n }\n\n private async handleEndKey(): Promise<void> {\n this._hasKeyboardInteractionOnIndicators = true;\n this.handleInteraction(() =>\n this.select(isLTR(this) ? last(this.slides) : first(this.slides))\n );\n }\n\n private handleVerticalSwipe({ data: { direction } }: SwipeEvent) {\n if (this.vertical) {\n this.handleInteraction(direction === 'up' ? this.next : this.prev);\n }\n }\n\n private handleHorizontalSwipe({ data: { direction } }: SwipeEvent) {\n if (!this.vertical) {\n const callback = () => {\n if (isLTR(this)) {\n return direction === 'left' ? this.next : this.prev;\n }\n return direction === 'left' ? this.prev : this.next;\n };\n\n this.handleInteraction(callback());\n }\n }\n\n private async handleIndicatorClick(event: PointerEvent): Promise<void> {\n const indicator = findElementFromEventPath<IgcCarouselIndicatorComponent>(\n IgcCarouselIndicatorComponent.tagName,\n event\n )!;\n\n const index = this.hasProjectedIndicators\n ? this._projectedIndicators.indexOf(indicator)\n : Array.from(this._defaultIndicators).indexOf(indicator);\n\n this.handleInteraction(() =>\n this.select(this.slides[index], index > this.current ? 'next' : 'prev')\n );\n }\n\n private handleNavigationInteractionNext() {\n this.handleInteraction(this.next);\n }\n\n private handleNavigationInteractionPrevious() {\n this.handleInteraction(this.prev);\n }\n\n private async handleInteraction(\n callback: () => Promise<boolean>\n ): Promise<void> {\n if (this.interval) {\n this.resetInterval();\n }\n\n if (await callback.call(this)) {\n this.emitEvent('igcSlideChanged', { detail: this.current });\n }\n\n if (this.interval) {\n this.restartInterval();\n }\n }\n\n private activateSlide(slide: IgcCarouselSlideComponent): void {\n if (this._activeSlide) {\n this._activeSlide.active = false;\n }\n\n this._activeSlide = slide;\n this._activeSlide.active = true;\n\n if (this._hasKeyboardInteractionOnIndicators) {\n this.hasProjectedIndicators\n ? this._projectedIndicators[this.current].focus()\n : this._defaultIndicators[this.current].focus();\n\n this._hasKeyboardInteractionOnIndicators = false;\n }\n }\n\n private updateProjectedIndicators(): void {\n for (const [idx, slide] of this.slides.entries()) {\n const indicator = this._projectedIndicators[idx];\n indicator.active = slide.active;\n indicator.index = idx;\n\n this.setAttribute('aria-controls', slide.id);\n }\n }\n\n private resetInterval(): void {\n if (this._lastInterval) {\n clearInterval(this._lastInterval);\n this._lastInterval = null;\n }\n }\n\n private restartInterval(): void {\n this.resetInterval();\n\n if (asNumber(this.interval) > 0) {\n this._lastInterval = setInterval(() => {\n if (\n this.isPlaying &&\n this.total &&\n !(this.disableLoop && this.nextIndex === 0)\n ) {\n this.select(this.slides[this.nextIndex], 'next');\n this.emitEvent('igcSlideChanged', { detail: this.current });\n } else {\n this.pause();\n }\n }, this.interval);\n }\n }\n\n private async animateSlides(\n nextSlide: IgcCarouselSlideComponent,\n currentSlide: IgcCarouselSlideComponent,\n dir: 'next' | 'prev'\n ): Promise<void> {\n if (dir === 'next') {\n // Animate slides in next direction\n currentSlide.previous = true;\n currentSlide.toggleAnimation('out');\n this.activateSlide(nextSlide);\n await nextSlide.toggleAnimation('in');\n currentSlide.previous = false;\n } else {\n // Animate slides in previous direction\n currentSlide.previous = true;\n currentSlide.toggleAnimation('in', 'reverse');\n this.activateSlide(nextSlide);\n await nextSlide.toggleAnimation('out', 'reverse');\n currentSlide.previous = false;\n }\n }\n\n /**\n * Resumes playing of the carousel slides.\n */\n public play(): void {\n if (!this.isPlaying) {\n this._paused = false;\n this._playing = true;\n this.restartInterval();\n }\n }\n\n /**\n * Pauses the carousel rotation of slides.\n */\n public pause(): void {\n if (this.isPlaying) {\n this._playing = false;\n this._paused = true;\n this.resetInterval();\n }\n }\n\n /**\n * Switches to the next slide, runs any animations, and returns if the operation was successful.\n */\n public async next(): Promise<boolean> {\n if (this.disableLoop && this.nextIndex === 0) {\n this.pause();\n return false;\n }\n\n return await this.select(this.slides[this.nextIndex], 'next');\n }\n\n /**\n * Switches to the previous slide, runs any animations, and returns if the operation was successful.\n */\n public async prev(): Promise<boolean> {\n if (this.disableLoop && this.prevIndex === this.total - 1) {\n this.pause();\n return false;\n }\n\n return await this.select(this.slides[this.prevIndex], 'prev');\n }\n\n /* blazorSuppress */\n /**\n * Switches to the passed-in slide, runs any animations, and returns if the operation was successful.\n */\n public async select(\n slide: IgcCarouselSlideComponent,\n animationDirection?: 'next' | 'prev'\n ): Promise<boolean>;\n /**\n * Switches to slide by index, runs any animations, and returns if the operation was successful.\n */\n public async select(\n index: number,\n animationDirection?: 'next' | 'prev'\n ): Promise<boolean>;\n public async select(\n slideOrIndex: IgcCarouselSlideComponent | number,\n animationDirection?: 'next' | 'prev'\n ): Promise<boolean> {\n let index: number;\n let slide: IgcCarouselSlideComponent | undefined;\n\n if (typeof slideOrIndex === 'number') {\n index = slideOrIndex;\n slide = this.slides.at(index);\n } else {\n slide = slideOrIndex;\n index = this.slides.indexOf(slide);\n }\n\n if (index === this.current || index === -1 || !slide) {\n return false;\n }\n\n const dir = animationDirection ?? (index > this.current ? 'next' : 'prev');\n\n await this.animateSlides(slide, this._activeSlide, dir);\n return true;\n }\n\n private navigationTemplate() {\n return html`\n <igc-button\n ${ref(this._prevButtonRef)}\n type=\"button\"\n part=\"navigation previous\"\n aria-label=\"Previous slide\"\n aria-controls=${this._carouselId}\n ?disabled=${this.disableLoop && this.current === 0}\n @click=${this.handleNavigationInteractionPrevious}\n >\n <slot name=\"previous-button\">\n <igc-icon\n name=\"carousel_prev\"\n collection=\"default\"\n aria-hidden=\"true\"\n ></igc-icon>\n </slot>\n </igc-button>\n <igc-button\n ${ref(this._nextButtonRef)}\n type=\"button\"\n part=\"navigation next\"\n aria-label=\"Next slide\"\n aria-controls=${this._carouselId}\n ?disabled=${this.disableLoop && this.current === this.total - 1}\n @click=${this.handleNavigationInteractionNext}\n >\n <slot name=\"next-button\">\n <igc-icon\n name=\"carousel_next\"\n collection=\"default\"\n aria-hidden=\"true\"\n ></igc-icon>\n </slot>\n </igc-button>\n `;\n }\n\n protected *renderIndicators() {\n for (const [i, slide] of this.slides.entries()) {\n const forward = slide.active ? 'visible' : 'hidden';\n const backward = slide.active ? 'hidden' : 'visible';\n\n yield html`\n <igc-carousel-indicator\n exportparts=\"indicator, active, inactive\"\n .active=${slide.active}\n .index=${i}\n >\n <div\n part=\"dot\"\n style=${styleMap({ visibility: backward, zIndex: 1 })}\n ></div>\n <div\n part=\"dot active\"\n slot=\"active\"\n style=${styleMap({ visibility: forward })}\n ></div>\n </igc-carousel-indicator>\n `;\n }\n }\n\n private indicatorTemplate() {\n const parts = {\n indicators: true,\n start: this.indicatorsOrientation === 'start',\n };\n\n return html`\n <igc-carousel-indicator-container>\n <div\n ${ref(this._indicatorsContainerRef)}\n role=\"tablist\"\n part=${partMap(parts)}\n >\n <slot\n name=\"indicator\"\n @slotchange=${this.handleIndicatorSlotChange}\n @click=${this.handleIndicatorClick}\n >\n ${this.hasProjectedIndicators\n ? this.updateProjectedIndicators()\n : this.renderIndicators()}\n </slot>\n </div>\n </igc-carousel-indicator-container>\n `;\n }\n\n private labelTemplate() {\n const parts = {\n label: true,\n indicators: true,\n start: this.indicatorsOrientation === 'start',\n };\n const value = formatString(\n this.slidesLabelFormat,\n this.current + 1,\n this.total\n );\n\n return html`\n <div part=${partMap(parts)}>\n <span>${value}</span>\n </div>\n `;\n }\n\n protected override render() {\n return html`\n <section>\n ${this.hideNavigation ? nothing : this.navigationTemplate()}\n ${this.hideIndicators || this.showIndicatorsLabel\n ? nothing\n : this.indicatorTemplate()}\n ${!this.hideIndicators && this.showIndicatorsLabel\n ? this.labelTemplate()\n : nothing}\n <div\n ${ref(this._carouselSlidesContainerRef)}\n id=${this._carouselId}\n aria-live=${this.interval && this._playing ? 'off' : 'polite'}\n >\n <slot @slotchange=${this.handleSlotChange}></slot>\n </div>\n </section>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-carousel': IgcCarouselComponent;\n }\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{--
|
|
2
|
+
export const styles = css `:host{--empty-list-placeholder-color: var(--ig-combo-empty-list-placeholder-color, var(--ig-gray-600));--toggle-button-foreground: var(--ig-combo-toggle-button-foreground, var(--ig-gray-800));--toggle-button-foreground-focus: var(--ig-combo-toggle-button-foreground-focus, var(--ig-gray-800));--toggle-button-foreground-filled: var(--ig-combo-toggle-button-foreground-filled, var(--ig-gray-800));--clear-button-background: var(--ig-combo-clear-button-background, var(--ig-gray-300));--clear-button-foreground: var(--ig-combo-clear-button-foreground, var(--ig-gray-800));--clear-button-foreground-focus: var(--ig-combo-clear-button-foreground-focus, var(--ig-gray-800));--toggle-button-foreground-disabled: var(--ig-combo-toggle-button-foreground-disabled, var(--ig-gray-400));--clear-button-background-focus: var(--ig-combo-clear-button-background-focus, var(--ig-gray-300));--helper-text-color: var(--ig-combo-helper-text-color, var(--ig-gray-700));--disabled-text-color: var(--ig-combo-disabled-text-color, var(--ig-gray-400));--error-secondary-color: var(--ig-combo-error-secondary-color, var(--ig-error-500));--ig-theme: bootstrap;--elevation: var(--ig-combo-list-elevation, var(--ig-elevation-0));--background-color: var(--ig-combo-list-background-color, var(--ig-surface-500));--header-text-color: var(--ig-combo-list-header-text-color, var(--ig-gray-700));--item-text-color: var(--ig-combo-list-item-text-color, var(--ig-gray-800));--item-icon-color: var(--ig-combo-list-item-icon-color, var(--ig-gray-800));--hover-item-background: var(--ig-combo-list-hover-item-background, var(--ig-gray-200));--hover-item-text-color: var(--ig-combo-list-hover-item-text-color, var(--ig-gray-800));--hover-item-icon-color: var(--ig-combo-list-hover-item-icon-color, var(--ig-gray-800));--focused-item-background: var(--ig-combo-list-focused-item-background, var(--ig-gray-200));--focused-item-text-color: var(--ig-combo-list-focused-item-text-color, var(--ig-gray-800));--focused-item-border-color: var(--ig-combo-list-focused-item-border-color, transparent);--selected-item-background: var(--ig-combo-list-selected-item-background, var(--ig-primary-500));--disabled-item-background: var(--ig-combo-list-disabled-item-background, transparent);--disabled-item-text-color: var(--ig-combo-list-disabled-item-text-color, var(--ig-gray-200));--border-color: var(--ig-combo-list-border-color, var(--ig-gray-300));--border-width: var(--ig-combo-list-border-width, 1px);--border-radius: var(--ig-combo-list-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));--item-border-radius: var(--ig-combo-list-item-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--size: var(--ig-combo-list-size, max(var(--is-large, 1) * max(2.5rem, -1 * 2.5rem), var(--is-medium, 1) * max(2rem, -1 * 2rem), var(--is-small, 1) * max(1.75rem, -1 * 1.75rem)));--selected-item-text-color: var(--ig-combo-list-selected-item-text-color, var(--ig-primary-600-contrast));--selected-item-icon-color: var(--ig-combo-list-selected-item-icon-color, var(--ig-primary-600-contrast));--selected-hover-item-background: var(--ig-combo-list-selected-hover-item-background, var(--ig-primary-600));--selected-hover-item-text-color: var(--ig-combo-list-selected-hover-item-text-color, var(--ig-primary-600-contrast));--selected-hover-item-icon-color: var(--ig-combo-list-selected-hover-item-icon-color, var(--ig-primary-600-contrast));--selected-focus-item-background: var(--ig-combo-list-selected-focus-item-background, var(--ig-primary-600));--selected-focus-item-text-color: var(--ig-combo-list-selected-focus-item-text-color, var(--ig-primary-600-contrast));--ig-theme: bootstrap}`;
|
|
3
3
|
//# sourceMappingURL=combo.bootstrap.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combo.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/combo/themes/dark/combo.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":"combo.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/combo/themes/dark/combo.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,0mHAA0mH,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--empty-list-placeholder-color: var(--ig-combo-empty-list-placeholder-color, var(--ig-gray-600));--toggle-button-foreground: var(--ig-combo-toggle-button-foreground, var(--ig-gray-800));--toggle-button-foreground-focus: var(--ig-combo-toggle-button-foreground-focus, var(--ig-gray-800));--toggle-button-foreground-filled: var(--ig-combo-toggle-button-foreground-filled, var(--ig-gray-800));--clear-button-background: var(--ig-combo-clear-button-background, var(--ig-gray-300));--clear-button-foreground: var(--ig-combo-clear-button-foreground, var(--ig-gray-800));--clear-button-foreground-focus: var(--ig-combo-clear-button-foreground-focus, var(--ig-gray-800));--toggle-button-foreground-disabled: var(--ig-combo-toggle-button-foreground-disabled, var(--ig-gray-400));--clear-button-background-focus: var(--ig-combo-clear-button-background-focus, var(--ig-gray-300));--helper-text-color: var(--ig-combo-helper-text-color, var(--ig-gray-700));--disabled-text-color: var(--ig-combo-disabled-text-color, var(--ig-gray-400));--error-secondary-color: var(--ig-combo-error-secondary-color, var(--ig-error-500));--ig-theme: bootstrap;--elevation: var(--ig-combo-list-elevation, var(--ig-elevation-0));--background-color: var(--ig-combo-list-background-color, var(--ig-surface-500));--header-text-color: var(--ig-combo-list-header-text-color, var(--ig-gray-700));--item-text-color: var(--ig-combo-list-item-text-color, var(--ig-gray-800));--item-icon-color: var(--ig-combo-list-item-icon-color, var(--ig-gray-800));--hover-item-background: var(--ig-combo-list-hover-item-background, var(--ig-gray-200));--hover-item-text-color: var(--ig-combo-list-hover-item-text-color, var(--ig-gray-800));--hover-item-icon-color: var(--ig-combo-list-hover-item-icon-color, var(--ig-gray-800));--focused-item-background: var(--ig-combo-list-focused-item-background, var(--ig-gray-200));--focused-item-text-color: var(--ig-combo-list-focused-item-text-color, var(--ig-gray-800));--focused-item-border-color: var(--ig-combo-list-focused-item-border-color, transparent);--selected-item-background: var(--ig-combo-list-selected-item-background, var(--ig-primary-500));--disabled-item-background: var(--ig-combo-list-disabled-item-background, transparent);--disabled-item-text-color: var(--ig-combo-list-disabled-item-text-color, var(--ig-gray-200));--border-color: var(--ig-combo-list-border-color, var(--ig-gray-300));--border-width: var(--ig-combo-list-border-width, 1px);--border-radius: var(--ig-combo-list-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));--item-border-radius: var(--ig-combo-list-item-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--size: var(--ig-combo-list-size, max(var(--is-large, 1) * max(2.5rem, -1 * 2.5rem), var(--is-medium, 1) * max(2rem, -1 * 2rem), var(--is-small, 1) * max(1.75rem, -1 * 1.75rem)));--selected-item-text-color: var(--ig-combo-list-selected-item-text-color, var(--ig-primary-600-contrast));--selected-item-icon-color: var(--ig-combo-list-selected-item-icon-color, var(--ig-primary-600-contrast));--selected-hover-item-background: var(--ig-combo-list-selected-hover-item-background, var(--ig-primary-600));--selected-hover-item-text-color: var(--ig-combo-list-selected-hover-item-text-color, var(--ig-primary-600-contrast));--selected-hover-item-icon-color: var(--ig-combo-list-selected-hover-item-icon-color, var(--ig-primary-600-contrast));--selected-focus-item-background: var(--ig-combo-list-selected-focus-item-background, var(--ig-primary-600));--selected-focus-item-text-color: var(--ig-combo-list-selected-focus-item-text-color, var(--ig-primary-600-contrast));--ig-theme: bootstrap}`;\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{--
|
|
2
|
+
export const styles = css `:host{--empty-list-placeholder-color: var(--ig-combo-empty-list-placeholder-color, var(--ig-gray-600));--toggle-button-foreground: var(--ig-combo-toggle-button-foreground, var(--ig-gray-800));--toggle-button-foreground-focus: var(--ig-combo-toggle-button-foreground-focus, var(--ig-gray-800));--toggle-button-foreground-filled: var(--ig-combo-toggle-button-foreground-filled, var(--ig-gray-800));--clear-button-background: var(--ig-combo-clear-button-background, var(--ig-gray-300));--clear-button-foreground: var(--ig-combo-clear-button-foreground, var(--ig-gray-800));--clear-button-foreground-focus: var(--ig-combo-clear-button-foreground-focus, var(--ig-gray-800));--toggle-button-foreground-disabled: var(--ig-combo-toggle-button-foreground-disabled, var(--ig-gray-400));--clear-button-background-focus: var(--ig-combo-clear-button-background-focus, var(--ig-gray-300));--helper-text-color: var(--ig-combo-helper-text-color, var(--ig-gray-700));--disabled-text-color: var(--ig-combo-disabled-text-color, var(--ig-gray-400));--error-secondary-color: var(--ig-combo-error-secondary-color, var(--ig-error-500));--ig-theme: bootstrap;--elevation: var(--ig-combo-list-elevation, var(--ig-elevation-0));--background-color: var(--ig-combo-list-background-color, var(--ig-surface-500));--header-text-color: var(--ig-combo-list-header-text-color, var(--ig-gray-700));--item-text-color: var(--ig-combo-list-item-text-color, var(--ig-gray-800));--item-icon-color: var(--ig-combo-list-item-icon-color, var(--ig-gray-800));--hover-item-background: var(--ig-combo-list-hover-item-background, var(--ig-gray-200));--hover-item-text-color: var(--ig-combo-list-hover-item-text-color, var(--ig-gray-800));--hover-item-icon-color: var(--ig-combo-list-hover-item-icon-color, var(--ig-gray-800));--focused-item-background: var(--ig-combo-list-focused-item-background, var(--ig-gray-200));--focused-item-text-color: var(--ig-combo-list-focused-item-text-color, var(--ig-gray-800));--focused-item-border-color: var(--ig-combo-list-focused-item-border-color, transparent);--selected-item-background: var(--ig-combo-list-selected-item-background, var(--ig-primary-500));--disabled-item-background: var(--ig-combo-list-disabled-item-background, transparent);--disabled-item-text-color: var(--ig-combo-list-disabled-item-text-color, var(--ig-gray-400));--border-color: var(--ig-combo-list-border-color, var(--ig-gray-300));--border-width: var(--ig-combo-list-border-width, 1px);--border-radius: var(--ig-combo-list-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));--item-border-radius: var(--ig-combo-list-item-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--size: var(--ig-combo-list-size, max(var(--is-large, 1) * max(2.5rem, -1 * 2.5rem), var(--is-medium, 1) * max(2rem, -1 * 2rem), var(--is-small, 1) * max(1.75rem, -1 * 1.75rem)));--selected-item-text-color: var(--ig-combo-list-selected-item-text-color, var(--ig-primary-600-contrast));--selected-item-icon-color: var(--ig-combo-list-selected-item-icon-color, var(--ig-primary-600-contrast));--selected-hover-item-background: var(--ig-combo-list-selected-hover-item-background, var(--ig-primary-600));--selected-hover-item-text-color: var(--ig-combo-list-selected-hover-item-text-color, var(--ig-primary-600-contrast));--selected-hover-item-icon-color: var(--ig-combo-list-selected-hover-item-icon-color, var(--ig-primary-600-contrast));--selected-focus-item-background: var(--ig-combo-list-selected-focus-item-background, var(--ig-primary-600));--selected-focus-item-text-color: var(--ig-combo-list-selected-focus-item-text-color, var(--ig-primary-600-contrast));--ig-theme: bootstrap}`;
|
|
3
3
|
//# sourceMappingURL=combo.bootstrap.css.js.map
|