igniteui-webcomponents 1.0.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +45 -1
- package/README.md +17 -1
- package/components/avatar/avatar.d.ts +19 -3
- package/components/avatar/avatar.js.map +1 -1
- package/components/avatar/avatar.material.css.d.ts +0 -1
- package/components/avatar/avatar.material.css.js +1 -1
- package/components/avatar/avatar.material.css.js.map +1 -1
- package/components/badge/badge.d.ts +17 -5
- package/components/badge/badge.js.map +1 -1
- package/components/badge/badge.material.css.d.ts +0 -1
- package/components/badge/badge.material.css.js +1 -1
- package/components/badge/badge.material.css.js.map +1 -1
- package/components/button/button-base.d.ts +18 -1
- package/components/button/button-base.js +16 -0
- package/components/button/button-base.js.map +1 -1
- package/components/button/button.d.ts +20 -3
- package/components/button/button.js.map +1 -1
- package/components/button/button.material.css.d.ts +0 -1
- package/components/button/button.material.css.js +1 -1
- package/components/button/button.material.css.js.map +1 -1
- package/components/button/icon-button.d.ts +14 -3
- package/components/button/icon-button.js +15 -1
- package/components/button/icon-button.js.map +1 -1
- package/components/button/icon-button.material.css.d.ts +0 -1
- package/components/button/icon-button.material.css.js +1 -1
- package/components/button/icon-button.material.css.js.map +1 -1
- package/components/calendar/calendar.d.ts +39 -4
- package/components/calendar/calendar.js +34 -12
- package/components/calendar/calendar.js.map +1 -1
- package/components/calendar/calendar.material.css.d.ts +0 -1
- package/components/calendar/calendar.material.css.js +1 -1
- package/components/calendar/calendar.material.css.js.map +1 -1
- package/components/calendar/common/calendar-base.d.ts +17 -2
- package/components/calendar/common/calendar-base.js +28 -4
- package/components/calendar/common/calendar-base.js.map +1 -1
- package/components/calendar/common/calendar.model.d.ts +57 -1
- package/components/calendar/common/utils.d.ts +0 -1
- package/components/calendar/days-view/days-view.d.ts +23 -3
- package/components/calendar/days-view/days-view.js +38 -35
- package/components/calendar/days-view/days-view.js.map +1 -1
- package/components/calendar/days-view/days-view.material.css.d.ts +0 -1
- package/components/calendar/days-view/days-view.material.css.js +1 -1
- package/components/calendar/days-view/days-view.material.css.js.map +1 -1
- package/components/calendar/months-view/months-view.d.ts +15 -3
- package/components/calendar/months-view/months-view.js +4 -2
- package/components/calendar/months-view/months-view.js.map +1 -1
- package/components/calendar/months-view/months-view.material.css.d.ts +0 -1
- package/components/calendar/years-view/years-view.d.ts +13 -2
- package/components/calendar/years-view/years-view.js +4 -2
- package/components/calendar/years-view/years-view.js.map +1 -1
- package/components/calendar/years-view/years-view.material.css.d.ts +0 -1
- package/components/card/card.actions.d.ts +9 -3
- package/components/card/card.actions.js.map +1 -1
- package/components/card/card.actions.material.css.d.ts +0 -1
- package/components/card/card.actions.material.css.js +1 -1
- package/components/card/card.actions.material.css.js.map +1 -1
- package/components/card/card.content.d.ts +7 -3
- package/components/card/card.content.js.map +1 -1
- package/components/card/card.content.material.css.d.ts +0 -1
- package/components/card/card.content.material.css.js +1 -1
- package/components/card/card.content.material.css.js.map +1 -1
- package/components/card/card.d.ts +9 -4
- package/components/card/card.header.d.ts +12 -3
- package/components/card/card.header.js.map +1 -1
- package/components/card/card.header.material.css.d.ts +0 -1
- package/components/card/card.header.material.css.js +1 -1
- package/components/card/card.header.material.css.js.map +1 -1
- package/components/card/card.js +2 -2
- package/components/card/card.js.map +1 -1
- package/components/card/card.material.css.d.ts +0 -1
- package/components/card/card.material.css.js +1 -1
- package/components/card/card.material.css.js.map +1 -1
- package/components/card/card.media.d.ts +7 -3
- package/components/card/card.media.js.map +1 -1
- package/components/card/card.media.material.css.d.ts +0 -1
- package/components/card/card.media.material.css.js +1 -1
- package/components/card/card.media.material.css.js.map +1 -1
- package/components/checkbox/checkbox-base.d.ts +16 -1
- package/components/checkbox/checkbox-base.js.map +1 -1
- package/components/checkbox/checkbox.d.ts +20 -4
- package/components/checkbox/checkbox.js +25 -27
- package/components/checkbox/checkbox.js.map +1 -1
- package/components/checkbox/checkbox.material.css.d.ts +0 -1
- package/components/checkbox/checkbox.material.css.js +1 -1
- package/components/checkbox/checkbox.material.css.js.map +1 -1
- package/components/checkbox/switch.d.ts +18 -3
- package/components/checkbox/switch.js +17 -18
- package/components/checkbox/switch.js.map +1 -1
- package/components/checkbox/switch.material.css.d.ts +0 -1
- package/components/checkbox/switch.material.css.js +1 -1
- package/components/checkbox/switch.material.css.js.map +1 -1
- package/components/common/decorators/alternateName.d.ts +6 -1
- package/components/common/decorators/blazorInclude.d.ts +4 -1
- package/components/common/decorators/blazorIndirectRender.d.ts +4 -0
- package/components/common/decorators/blazorIndirectRender.js +2 -0
- package/components/common/decorators/blazorIndirectRender.js.map +1 -0
- package/components/common/decorators/blazorSuppress.d.ts +4 -1
- package/components/common/decorators/blazorSuppressComponent.d.ts +4 -0
- package/components/common/decorators/blazorSuppressComponent.js +2 -0
- package/components/common/decorators/blazorSuppressComponent.js.map +1 -0
- package/components/common/decorators/blazorTwoWayBind.d.ts +6 -1
- package/components/common/decorators/index.d.ts +2 -1
- package/components/common/decorators/index.js +2 -0
- package/components/common/decorators/index.js.map +1 -1
- package/components/common/decorators/watch.d.ts +0 -1
- package/components/common/definitions/defineAllComponents.d.ts +0 -1
- package/components/common/definitions/defineAllComponents.js +6 -0
- package/components/common/definitions/defineAllComponents.js.map +1 -1
- package/components/common/definitions/defineComponents.d.ts +0 -1
- package/components/common/i18n/calendar.resources.d.ts +0 -1
- package/components/common/mixins/constructor.d.ts +0 -1
- package/components/common/mixins/event-emitter.d.ts +0 -1
- package/components/common/mixins/event-emitter.js.map +1 -1
- package/components/common/mixins/sizable.d.ts +4 -1
- package/components/common/util.d.ts +0 -1
- package/components/form/form.d.ts +18 -3
- package/components/form/form.js +4 -1
- package/components/form/form.js.map +1 -1
- package/components/icon/icon.d.ts +23 -3
- package/components/icon/icon.js.map +1 -1
- package/components/icon/icon.material.css.d.ts +0 -1
- package/components/icon/icon.material.css.js +1 -1
- package/components/icon/icon.material.css.js.map +1 -1
- package/components/icon/icon.registry.d.ts +0 -1
- package/components/input/input.d.ts +54 -3
- package/components/input/input.dark.material.css.d.ts +1 -0
- package/components/input/input.dark.material.css.js +3 -0
- package/components/input/input.dark.material.css.js.map +1 -0
- package/components/input/input.js +3 -3
- package/components/input/input.js.map +1 -1
- package/components/input/input.material.css.d.ts +0 -1
- package/components/input/input.material.css.js +1 -1
- package/components/input/input.material.css.js.map +1 -1
- package/components/list/list-header.d.ts +9 -3
- package/components/list/list-header.js.map +1 -1
- package/components/list/list-header.material.css.d.ts +0 -1
- package/components/list/list-header.material.css.js +1 -1
- package/components/list/list-header.material.css.js.map +1 -1
- package/components/list/list-item.d.ts +21 -3
- package/components/list/list-item.js.map +1 -1
- package/components/list/list-item.material.css.d.ts +0 -1
- package/components/list/list-item.material.css.js +1 -1
- package/components/list/list-item.material.css.js.map +1 -1
- package/components/list/list.d.ts +9 -3
- package/components/list/list.js.map +1 -1
- package/components/list/list.material.css.d.ts +0 -1
- package/components/list/list.material.css.js +1 -1
- package/components/list/list.material.css.js.map +1 -1
- package/components/nav-drawer/nav-drawer-header-item.d.ts +8 -3
- package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
- package/components/nav-drawer/nav-drawer-header-item.material.css.d.ts +0 -1
- package/components/nav-drawer/nav-drawer-header-item.material.css.js +1 -1
- package/components/nav-drawer/nav-drawer-header-item.material.css.js.map +1 -1
- package/components/nav-drawer/nav-drawer-item.d.ts +16 -3
- package/components/nav-drawer/nav-drawer-item.js +2 -2
- package/components/nav-drawer/nav-drawer-item.js.map +1 -1
- package/components/nav-drawer/nav-drawer-item.material.css.d.ts +0 -1
- package/components/nav-drawer/nav-drawer-item.material.css.js +1 -1
- package/components/nav-drawer/nav-drawer-item.material.css.js.map +1 -1
- package/components/nav-drawer/nav-drawer.d.ts +21 -15
- package/components/nav-drawer/nav-drawer.js +1 -34
- package/components/nav-drawer/nav-drawer.js.map +1 -1
- package/components/nav-drawer/nav-drawer.material.css.d.ts +0 -1
- package/components/nav-drawer/nav-drawer.material.css.js +1 -1
- package/components/nav-drawer/nav-drawer.material.css.js.map +1 -1
- package/components/navbar/navbar.d.ts +17 -3
- package/components/navbar/navbar.js.map +1 -1
- package/components/navbar/navbar.material.css.d.ts +0 -1
- package/components/navbar/navbar.material.css.js +1 -1
- package/components/navbar/navbar.material.css.js.map +1 -1
- package/components/radio/radio.d.ts +33 -3
- package/components/radio/radio.js +15 -1
- package/components/radio/radio.js.map +1 -1
- package/components/radio/radio.material.css.d.ts +0 -1
- package/components/radio/radio.material.css.js +1 -1
- package/components/radio/radio.material.css.js.map +1 -1
- package/components/radio-group/radio-group.d.ts +4 -5
- package/components/radio-group/radio-group.js +21 -7
- package/components/radio-group/radio-group.js.map +1 -1
- package/components/radio-group/radio-group.material.css.d.ts +0 -1
- package/components/radio-group/radio-group.material.css.js +1 -1
- package/components/radio-group/radio-group.material.css.js.map +1 -1
- package/components/ripple/ripple.d.ts +8 -3
- package/components/ripple/ripple.js.map +1 -1
- package/components/ripple/ripple.material.css.d.ts +0 -1
- package/components/ripple/ripple.material.css.js +1 -1
- package/components/ripple/ripple.material.css.js.map +1 -1
- package/components/slider/range-slider.d.ts +85 -0
- package/components/slider/range-slider.js +141 -0
- package/components/slider/range-slider.js.map +1 -0
- package/components/slider/slider-base.d.ts +131 -0
- package/components/slider/slider-base.js +503 -0
- package/components/slider/slider-base.js.map +1 -0
- package/components/slider/slider-label.d.ts +6 -0
- package/components/slider/slider-label.js +13 -0
- package/components/slider/slider-label.js.map +1 -0
- package/components/slider/slider.d.ts +76 -0
- package/components/slider/slider.js +80 -0
- package/components/slider/slider.js.map +1 -0
- package/components/slider/slider.material.css.d.ts +1 -0
- package/components/slider/slider.material.css.js +3 -0
- package/components/slider/slider.material.css.js.map +1 -0
- package/custom-elements.json +1017 -45
- package/index.d.ts +5 -1
- package/index.js +4 -0
- package/index.js.map +1 -1
- package/package.json +5 -4
- package/themes/dark/bootstrap.css +1 -0
- package/themes/dark/fluent.css +1 -0
- package/themes/dark/indigo.css +1 -0
- package/themes/dark/material.css +1 -0
- package/themes/light/bootstrap.css +1 -0
- package/themes/light/fluent.css +1 -0
- package/themes/light/indigo.css +1 -0
- package/themes/light/material.css +1 -0
- package/vscode-html-custom-data.json +313 -56
- package/components/avatar/avatar.d.ts.map +0 -1
- package/components/avatar/avatar.material.css.d.ts.map +0 -1
- package/components/badge/badge.d.ts.map +0 -1
- package/components/badge/badge.material.css.d.ts.map +0 -1
- package/components/button/button-base.d.ts.map +0 -1
- package/components/button/button.d.ts.map +0 -1
- package/components/button/button.material.css.d.ts.map +0 -1
- package/components/button/icon-button.d.ts.map +0 -1
- package/components/button/icon-button.material.css.d.ts.map +0 -1
- package/components/calendar/calendar.d.ts.map +0 -1
- package/components/calendar/calendar.material.css.d.ts.map +0 -1
- package/components/calendar/common/calendar-base.d.ts.map +0 -1
- package/components/calendar/common/calendar.model.d.ts.map +0 -1
- package/components/calendar/common/utils.d.ts.map +0 -1
- package/components/calendar/days-view/days-view.d.ts.map +0 -1
- package/components/calendar/days-view/days-view.material.css.d.ts.map +0 -1
- package/components/calendar/months-view/months-view.d.ts.map +0 -1
- package/components/calendar/months-view/months-view.material.css.d.ts.map +0 -1
- package/components/calendar/years-view/years-view.d.ts.map +0 -1
- package/components/calendar/years-view/years-view.material.css.d.ts.map +0 -1
- package/components/card/card.actions.d.ts.map +0 -1
- package/components/card/card.actions.material.css.d.ts.map +0 -1
- package/components/card/card.content.d.ts.map +0 -1
- package/components/card/card.content.material.css.d.ts.map +0 -1
- package/components/card/card.d.ts.map +0 -1
- package/components/card/card.header.d.ts.map +0 -1
- package/components/card/card.header.material.css.d.ts.map +0 -1
- package/components/card/card.material.css.d.ts.map +0 -1
- package/components/card/card.media.d.ts.map +0 -1
- package/components/card/card.media.material.css.d.ts.map +0 -1
- package/components/checkbox/checkbox-base.d.ts.map +0 -1
- package/components/checkbox/checkbox.d.ts.map +0 -1
- package/components/checkbox/checkbox.material.css.d.ts.map +0 -1
- package/components/checkbox/switch.d.ts.map +0 -1
- package/components/checkbox/switch.material.css.d.ts.map +0 -1
- package/components/common/decorators/alternateName.d.ts.map +0 -1
- package/components/common/decorators/blazorInclude.d.ts.map +0 -1
- package/components/common/decorators/blazorSuppress.d.ts.map +0 -1
- package/components/common/decorators/blazorTwoWayBind.d.ts.map +0 -1
- package/components/common/decorators/index.d.ts.map +0 -1
- package/components/common/decorators/watch.d.ts.map +0 -1
- package/components/common/definitions/defineAllComponents.d.ts.map +0 -1
- package/components/common/definitions/defineComponents.d.ts.map +0 -1
- package/components/common/i18n/calendar.resources.d.ts.map +0 -1
- package/components/common/mixins/constructor.d.ts.map +0 -1
- package/components/common/mixins/event-emitter.d.ts.map +0 -1
- package/components/common/mixins/sizable.d.ts.map +0 -1
- package/components/common/util.d.ts.map +0 -1
- package/components/form/form.d.ts.map +0 -1
- package/components/icon/icon.d.ts.map +0 -1
- package/components/icon/icon.material.css.d.ts.map +0 -1
- package/components/icon/icon.registry.d.ts.map +0 -1
- package/components/input/input.d.ts.map +0 -1
- package/components/input/input.material.css.d.ts.map +0 -1
- package/components/list/list-header.d.ts.map +0 -1
- package/components/list/list-header.material.css.d.ts.map +0 -1
- package/components/list/list-item.d.ts.map +0 -1
- package/components/list/list-item.material.css.d.ts.map +0 -1
- package/components/list/list.d.ts.map +0 -1
- package/components/list/list.material.css.d.ts.map +0 -1
- package/components/nav-drawer/nav-drawer-header-item.d.ts.map +0 -1
- package/components/nav-drawer/nav-drawer-header-item.material.css.d.ts.map +0 -1
- package/components/nav-drawer/nav-drawer-item.d.ts.map +0 -1
- package/components/nav-drawer/nav-drawer-item.material.css.d.ts.map +0 -1
- package/components/nav-drawer/nav-drawer.d.ts.map +0 -1
- package/components/nav-drawer/nav-drawer.material.css.d.ts.map +0 -1
- package/components/navbar/navbar.d.ts.map +0 -1
- package/components/navbar/navbar.material.css.d.ts.map +0 -1
- package/components/radio/radio.d.ts.map +0 -1
- package/components/radio/radio.material.css.d.ts.map +0 -1
- package/components/radio-group/radio-group.d.ts.map +0 -1
- package/components/radio-group/radio-group.material.css.d.ts.map +0 -1
- package/components/ripple/ripple.d.ts.map +0 -1
- package/components/ripple/ripple.material.css.d.ts.map +0 -1
- package/index.d.ts.map +0 -1
- package/themes/bootstrap.css +0 -1
- package/themes/fluent.css +0 -1
- package/themes/indigo.css +0 -1
- package/themes/material.css +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-height:3.5rem;max-height:8rem;padding:0 1rem;background:hsla(var(--igc-primary-500), var(--igc-primary-a));color:var(--igc-primary-
|
|
2
|
+
export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size);scrollbar-color:var(--igc-scrollbar-thumb-color) var(--igc-scrollbar-track-color)}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size);height:var(--scrolbar-size);background:var(--igc-scrollbar-track-color)}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color)}[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-height:3.5rem;max-height:8rem;padding:0 1rem;background:hsla(var(--igc-primary-500), var(--igc-primary-a));color:var(--igc-primary-600-contrast);-webkit-box-shadow:var(--igc-elevation-4);box-shadow:var(--igc-elevation-4);font-family:var(--igc-font-family)}[part=base]{display:inherit;position:relative;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden;z-index:4}[part=middle]{display:-webkit-inline-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center}[part=start],[part=end]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[name=start]::slotted(*){-webkit-margin-end:1rem;margin-inline-end:1rem;-webkit-margin-start:.0625rem;margin-inline-start:.0625rem}[name=end]::slotted(*){-webkit-margin-start:1rem;margin-inline-start:1rem;-webkit-margin-end:.0625rem;margin-inline-end:.0625rem}::slotted(igc-input[part=helper-text]){margin-top:0 !important}::slotted(igc-avatar[part=base]){max-width:2rem;max-height:2rem;min-height:0;min-width:0}::slotted(igc-icon){cursor:pointer;color:var(--igc-primary-600-contrast);width:2rem;height:2rem;font-size:2rem}::slotted(*){font-family:var(--igc-h5-font-family);font-weight:var(--igc-h5-font-weight);font-size:var(--igc-h5-font-size);font-style:var(--igc-h5-font-style);letter-spacing:var(--igc-h5-letter-spacing);text-transform:var(--igc-h5-text-transform);line-height:var(--igc-h5-line-height);margin-top:var(--igc-h5-margin-top);margin-bottom:var(--igc-h5-margin-bottom);line-height:normal;margin:0}`;
|
|
3
3
|
//# sourceMappingURL=navbar.material.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navbar.material.css.js","sourceRoot":"","sources":["../../../src/components/navbar/navbar.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":"navbar.material.css.js","sourceRoot":"","sources":["../../../src/components/navbar/navbar.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,ylFAAylF,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size);scrollbar-color:var(--igc-scrollbar-thumb-color) var(--igc-scrollbar-track-color)}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size);height:var(--scrolbar-size);background:var(--igc-scrollbar-track-color)}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color)}[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-height:3.5rem;max-height:8rem;padding:0 1rem;background:hsla(var(--igc-primary-500), var(--igc-primary-a));color:var(--igc-primary-600-contrast);-webkit-box-shadow:var(--igc-elevation-4);box-shadow:var(--igc-elevation-4);font-family:var(--igc-font-family)}[part=base]{display:inherit;position:relative;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden;z-index:4}[part=middle]{display:-webkit-inline-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center}[part=start],[part=end]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[name=start]::slotted(*){-webkit-margin-end:1rem;margin-inline-end:1rem;-webkit-margin-start:.0625rem;margin-inline-start:.0625rem}[name=end]::slotted(*){-webkit-margin-start:1rem;margin-inline-start:1rem;-webkit-margin-end:.0625rem;margin-inline-end:.0625rem}::slotted(igc-input[part=helper-text]){margin-top:0 !important}::slotted(igc-avatar[part=base]){max-width:2rem;max-height:2rem;min-height:0;min-width:0}::slotted(igc-icon){cursor:pointer;color:var(--igc-primary-600-contrast);width:2rem;height:2rem;font-size:2rem}::slotted(*){font-family:var(--igc-h5-font-family);font-weight:var(--igc-h5-font-weight);font-size:var(--igc-h5-font-size);font-style:var(--igc-h5-font-style);letter-spacing:var(--igc-h5-letter-spacing);text-transform:var(--igc-h5-text-transform);line-height:var(--igc-h5-line-height);margin-top:var(--igc-h5-margin-top);margin-bottom:var(--igc-h5-margin-bottom);line-height:normal;margin:0}`;\n"]}
|
|
@@ -6,24 +6,54 @@ export interface IgcRadioEventMap {
|
|
|
6
6
|
igcBlur: CustomEvent<void>;
|
|
7
7
|
}
|
|
8
8
|
declare const IgcRadioComponent_base: Constructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcRadioEventMap>> & Constructor<LitElement>;
|
|
9
|
+
/**
|
|
10
|
+
* @element igc-radio
|
|
11
|
+
*
|
|
12
|
+
* @slot - The radio label.
|
|
13
|
+
*
|
|
14
|
+
* @fires igcChange - Emitted when the control's checked state changes.
|
|
15
|
+
* @fires igcFocus - Emitted when the control gains focus.
|
|
16
|
+
* @fires igcBlur - Emitted when the control loses focus.
|
|
17
|
+
*
|
|
18
|
+
* @csspart base - The radio control base wrapper.
|
|
19
|
+
* @csspart control - The radio control.
|
|
20
|
+
* @csspart label - The radio control label.
|
|
21
|
+
*/
|
|
9
22
|
export default class IgcRadioComponent extends IgcRadioComponent_base {
|
|
10
|
-
static tagName
|
|
23
|
+
static readonly tagName = "igc-radio";
|
|
11
24
|
static styles: import("lit").CSSResult;
|
|
12
25
|
private inputId;
|
|
13
26
|
private labelId;
|
|
14
27
|
protected input: HTMLInputElement;
|
|
15
28
|
private _tabIndex;
|
|
29
|
+
/** The name attribute of the control. */
|
|
16
30
|
name: string;
|
|
31
|
+
/** The value attribute of the control. */
|
|
17
32
|
value: string;
|
|
33
|
+
/** Makes the control a required field. */
|
|
34
|
+
required: boolean;
|
|
35
|
+
/** The checked state of the control. */
|
|
18
36
|
checked: boolean;
|
|
37
|
+
/** Disables the radio control. */
|
|
19
38
|
disabled: boolean;
|
|
39
|
+
/** Controls the validity of the control. */
|
|
20
40
|
invalid: boolean;
|
|
41
|
+
/** The label position of the radio control. */
|
|
21
42
|
labelPosition: 'before' | 'after';
|
|
43
|
+
/** Sets the aria-labelledby attribute for the radio control. */
|
|
22
44
|
ariaLabelledby: string;
|
|
45
|
+
/** Simulates a click on the radio control. */
|
|
23
46
|
click(): void;
|
|
47
|
+
/** Sets focus on the radio control. */
|
|
24
48
|
focus(options?: FocusOptions): void;
|
|
49
|
+
/** Removes focus from the radio control. */
|
|
25
50
|
blur(): void;
|
|
51
|
+
/** Checks for validity of the control and shows the browser message if it invalid. */
|
|
26
52
|
reportValidity(): void;
|
|
53
|
+
/**
|
|
54
|
+
* Sets a custom validation message for the control.
|
|
55
|
+
* As long as `message` is not empty, the control is considered invalid.
|
|
56
|
+
*/
|
|
27
57
|
setCustomValidity(message: string): void;
|
|
28
58
|
protected handleMouseDown(event: MouseEvent): void;
|
|
29
59
|
protected handleClick(): void;
|
|
@@ -31,7 +61,8 @@ export default class IgcRadioComponent extends IgcRadioComponent_base {
|
|
|
31
61
|
protected handleFocus(): void;
|
|
32
62
|
protected handleChange(): void;
|
|
33
63
|
protected getSiblings(): IgcRadioComponent[];
|
|
34
|
-
protected
|
|
64
|
+
protected getAllInGroup(): IgcRadioComponent[];
|
|
65
|
+
protected render(): import("lit-html").TemplateResult<1>;
|
|
35
66
|
}
|
|
36
67
|
declare global {
|
|
37
68
|
interface HTMLElementTagNameMap {
|
|
@@ -39,4 +70,3 @@ declare global {
|
|
|
39
70
|
}
|
|
40
71
|
}
|
|
41
72
|
export {};
|
|
42
|
-
//# sourceMappingURL=radio.d.ts.map
|
|
@@ -19,6 +19,7 @@ export default class IgcRadioComponent extends EventEmitterMixin(LitElement) {
|
|
|
19
19
|
this.inputId = `radio-${nextId++}`;
|
|
20
20
|
this.labelId = `radio-label-${this.inputId}`;
|
|
21
21
|
this._tabIndex = 0;
|
|
22
|
+
this.required = false;
|
|
22
23
|
this.checked = false;
|
|
23
24
|
this.disabled = false;
|
|
24
25
|
this.invalid = false;
|
|
@@ -63,12 +64,21 @@ export default class IgcRadioComponent extends EventEmitterMixin(LitElement) {
|
|
|
63
64
|
this._tabIndex = 0;
|
|
64
65
|
this.emitEvent('igcChange', { detail: this.checked });
|
|
65
66
|
}
|
|
67
|
+
else {
|
|
68
|
+
if (this.required) {
|
|
69
|
+
this.required = false;
|
|
70
|
+
this.getAllInGroup()[0].required = true;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
66
73
|
}
|
|
67
74
|
getSiblings() {
|
|
75
|
+
return this.getAllInGroup().filter((radio) => radio.name === this.name && radio !== this);
|
|
76
|
+
}
|
|
77
|
+
getAllInGroup() {
|
|
68
78
|
const group = this.closest('igc-radio-group');
|
|
69
79
|
if (!group)
|
|
70
80
|
return [];
|
|
71
|
-
return Array.from(group.querySelectorAll('igc-radio'))
|
|
81
|
+
return Array.from(group.querySelectorAll('igc-radio'));
|
|
72
82
|
}
|
|
73
83
|
render() {
|
|
74
84
|
return html `
|
|
@@ -82,6 +92,7 @@ export default class IgcRadioComponent extends EventEmitterMixin(LitElement) {
|
|
|
82
92
|
type="radio"
|
|
83
93
|
name="${ifDefined(this.name)}"
|
|
84
94
|
value="${ifDefined(this.value)}"
|
|
95
|
+
.required="${this.required}"
|
|
85
96
|
.disabled="${this.disabled}"
|
|
86
97
|
.checked="${live(this.checked)}"
|
|
87
98
|
tabindex=${this._tabIndex}
|
|
@@ -121,6 +132,9 @@ __decorate([
|
|
|
121
132
|
__decorate([
|
|
122
133
|
property()
|
|
123
134
|
], IgcRadioComponent.prototype, "value", void 0);
|
|
135
|
+
__decorate([
|
|
136
|
+
property({ type: Boolean, reflect: true })
|
|
137
|
+
], IgcRadioComponent.prototype, "required", void 0);
|
|
124
138
|
__decorate([
|
|
125
139
|
property({ type: Boolean }),
|
|
126
140
|
blazorTwoWayBind('igcChange', 'detail')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../src/components/radio/radio.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { styles } from './radio.material.css';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { alternateName, watch, blazorTwoWayBind } from '../common/decorators';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { partNameMap } from '../common/util.js';\n\nlet nextId = 0;\n\nexport interface IgcRadioEventMap {\n igcChange: CustomEvent<boolean>;\n igcFocus: CustomEvent<void>;\n igcBlur: CustomEvent<void>;\n}\n\n/**\n * @element igc-radio\n *\n * @slot - The radio label.\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcFocus - Emitted when the control gains focus.\n * @fires igcBlur - Emitted when the control loses focus.\n *\n * @csspart base - The radio control base wrapper.\n * @csspart control - The radio control.\n * @csspart label - The radio control label.\n */\nexport default class IgcRadioComponent extends EventEmitterMixin<\n IgcRadioEventMap,\n Constructor<LitElement>\n>(LitElement) {\n /** @private */\n public static tagName = 'igc-radio';\n\n /** @private */\n public static styles = styles;\n\n private inputId = `radio-${nextId++}`;\n private labelId = `radio-label-${this.inputId}`;\n\n @query('input[type=\"radio\"]', true)\n protected input!: HTMLInputElement;\n\n @state()\n private _tabIndex = 0;\n\n /** The name attribute of the control. */\n @property()\n public name!: string;\n\n /** The value attribute of the control. */\n @property()\n public value!: string;\n\n /** The checked state of the control. */\n @property({ type: Boolean })\n @blazorTwoWayBind('igcChange', 'detail')\n public checked = false;\n\n /** Disables the radio control. */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /** Controls the validity of the control. */\n @property({ type: Boolean, reflect: true })\n public invalid = false;\n\n /** The label position of the radio control. */\n @property({ reflect: true, attribute: 'label-position' })\n public labelPosition: 'before' | 'after' = 'after';\n\n /** Sets the aria-labelledby attribute for the radio control. */\n @property({ reflect: true, attribute: 'aria-labelledby' })\n public ariaLabelledby!: string;\n\n /** Simulates a click on the radio control. */\n public click() {\n this.input.click();\n }\n\n /** Sets focus on the radio control. */\n @alternateName('focusComponent')\n public focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the radio control. */\n @alternateName('blurComponent')\n public blur() {\n this.input.blur();\n }\n\n /** Checks for validity of the control and shows the browser message if it invalid. */\n public reportValidity() {\n this.input.reportValidity();\n }\n\n /**\n * Sets a custom validation message for the control.\n * As long as `message` is not empty, the control is considered invalid.\n */\n public setCustomValidity(message: string) {\n this.input.setCustomValidity(message);\n this.invalid = !this.input.checkValidity();\n }\n\n protected handleMouseDown(event: MouseEvent) {\n event.preventDefault();\n this.input.focus();\n }\n\n protected handleClick() {\n this.checked = true;\n }\n\n protected handleBlur() {\n this.emitEvent('igcBlur');\n }\n\n protected handleFocus() {\n this.emitEvent('igcFocus');\n }\n\n @watch('checked', { waitUntilFirstUpdate: true })\n protected handleChange() {\n if (this.checked) {\n this.getSiblings().forEach((radio) => {\n radio.checked = false;\n radio._tabIndex = -1;\n });\n this.input.focus();\n this._tabIndex = 0;\n this.emitEvent('igcChange', { detail: this.checked });\n }\n }\n\n protected getSiblings() {\n const group = this.closest('igc-radio-group');\n if (!group) return [];\n\n return Array.from<IgcRadioComponent>(\n group.querySelectorAll('igc-radio')\n ).filter((radio) => radio.name === this.name && radio !== this);\n }\n\n protected render() {\n return html`\n <label\n part=\"${partNameMap({ base: true, checked: this.checked })}\"\n for=\"${this.inputId}\"\n @mousedown=\"${this.handleMouseDown}\"\n >\n <input\n id=\"${this.inputId}\"\n type=\"radio\"\n name=\"${ifDefined(this.name)}\"\n value=\"${ifDefined(this.value)}\"\n .disabled=\"${this.disabled}\"\n .checked=\"${live(this.checked)}\"\n tabindex=${this._tabIndex}\n aria-checked=\"${this.checked ? 'true' : 'false'}\"\n aria-disabled=\"${this.disabled ? 'true' : 'false'}\"\n aria-labelledby=\"${this.ariaLabelledby\n ? this.ariaLabelledby\n : this.labelId}\"\n @click=\"${this.handleClick}\"\n @blur=\"${this.handleBlur}\"\n @focus=\"${this.handleFocus}\"\n />\n <span\n part=\"${partNameMap({ control: true, checked: this.checked })}\"\n ></span>\n <span\n part=\"${partNameMap({ label: true, checked: this.checked })}\"\n id=\"${this.labelId}\"\n >\n <slot></slot>\n </span>\n </label>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-radio': IgcRadioComponent;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../src/components/radio/radio.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { styles } from './radio.material.css';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { alternateName, watch, blazorTwoWayBind } from '../common/decorators';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { partNameMap } from '../common/util.js';\n\nlet nextId = 0;\n\nexport interface IgcRadioEventMap {\n igcChange: CustomEvent<boolean>;\n igcFocus: CustomEvent<void>;\n igcBlur: CustomEvent<void>;\n}\n\n/**\n * @element igc-radio\n *\n * @slot - The radio label.\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcFocus - Emitted when the control gains focus.\n * @fires igcBlur - Emitted when the control loses focus.\n *\n * @csspart base - The radio control base wrapper.\n * @csspart control - The radio control.\n * @csspart label - The radio control label.\n */\nexport default class IgcRadioComponent extends EventEmitterMixin<\n IgcRadioEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-radio';\n\n public static styles = styles;\n\n private inputId = `radio-${nextId++}`;\n private labelId = `radio-label-${this.inputId}`;\n\n @query('input[type=\"radio\"]', true)\n protected input!: HTMLInputElement;\n\n @state()\n private _tabIndex = 0;\n\n /** The name attribute of the control. */\n @property()\n public name!: string;\n\n /** The value attribute of the control. */\n @property()\n public value!: string;\n\n /** Makes the control a required field. */\n @property({ type: Boolean, reflect: true })\n public required = false;\n\n /** The checked state of the control. */\n @property({ type: Boolean })\n @blazorTwoWayBind('igcChange', 'detail')\n public checked = false;\n\n /** Disables the radio control. */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /** Controls the validity of the control. */\n @property({ type: Boolean, reflect: true })\n public invalid = false;\n\n /** The label position of the radio control. */\n @property({ reflect: true, attribute: 'label-position' })\n public labelPosition: 'before' | 'after' = 'after';\n\n /** Sets the aria-labelledby attribute for the radio control. */\n @property({ reflect: true, attribute: 'aria-labelledby' })\n public ariaLabelledby!: string;\n\n /** Simulates a click on the radio control. */\n public override click() {\n this.input.click();\n }\n\n /** Sets focus on the radio control. */\n @alternateName('focusComponent')\n public override focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the radio control. */\n @alternateName('blurComponent')\n public override blur() {\n this.input.blur();\n }\n\n /** Checks for validity of the control and shows the browser message if it invalid. */\n public reportValidity() {\n this.input.reportValidity();\n }\n\n /**\n * Sets a custom validation message for the control.\n * As long as `message` is not empty, the control is considered invalid.\n */\n public setCustomValidity(message: string) {\n this.input.setCustomValidity(message);\n this.invalid = !this.input.checkValidity();\n }\n\n protected handleMouseDown(event: MouseEvent) {\n event.preventDefault();\n this.input.focus();\n }\n\n protected handleClick() {\n this.checked = true;\n }\n\n protected handleBlur() {\n this.emitEvent('igcBlur');\n }\n\n protected handleFocus() {\n this.emitEvent('igcFocus');\n }\n\n @watch('checked', { waitUntilFirstUpdate: true })\n protected handleChange() {\n if (this.checked) {\n this.getSiblings().forEach((radio) => {\n radio.checked = false;\n radio._tabIndex = -1;\n });\n this.input.focus();\n this._tabIndex = 0;\n this.emitEvent('igcChange', { detail: this.checked });\n } else {\n if (this.required) {\n this.required = false;\n this.getAllInGroup()[0].required = true;\n }\n }\n }\n\n protected getSiblings() {\n return this.getAllInGroup().filter(\n (radio) => radio.name === this.name && radio !== this\n );\n }\n\n protected getAllInGroup() {\n const group = this.closest('igc-radio-group');\n if (!group) return [];\n\n return Array.from<IgcRadioComponent>(group.querySelectorAll('igc-radio'));\n }\n\n protected override render() {\n return html`\n <label\n part=\"${partNameMap({ base: true, checked: this.checked })}\"\n for=\"${this.inputId}\"\n @mousedown=\"${this.handleMouseDown}\"\n >\n <input\n id=\"${this.inputId}\"\n type=\"radio\"\n name=\"${ifDefined(this.name)}\"\n value=\"${ifDefined(this.value)}\"\n .required=\"${this.required}\"\n .disabled=\"${this.disabled}\"\n .checked=\"${live(this.checked)}\"\n tabindex=${this._tabIndex}\n aria-checked=\"${this.checked ? 'true' : 'false'}\"\n aria-disabled=\"${this.disabled ? 'true' : 'false'}\"\n aria-labelledby=\"${this.ariaLabelledby\n ? this.ariaLabelledby\n : this.labelId}\"\n @click=\"${this.handleClick}\"\n @blur=\"${this.handleBlur}\"\n @focus=\"${this.handleFocus}\"\n />\n <span\n part=\"${partNameMap({ control: true, checked: this.checked })}\"\n ></span>\n <span\n part=\"${partNameMap({ label: true, checked: this.checked })}\"\n id=\"${this.labelId}\"\n >\n <slot></slot>\n </span>\n </label>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-radio': IgcRadioComponent;\n }\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;color:hsla(var(--igc-gray-900), var(--igc-gray-a));font-family:var(--igc-font-family)}input[type=radio]{position:absolute;width:1px;height:1px;margin:-1px;border:none;clip:rect(0, 0, 0, 0);outline:0;pointer-events:none;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}[part~=base]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;-webkit-transition:color .15s ease-in;-o-transition:color .15s ease-in;transition:color .15s ease-in}[part~=base]:hover [part=control]{background:hsla(var(--igc-gray-
|
|
2
|
+
export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size);scrollbar-color:var(--igc-scrollbar-thumb-color) var(--igc-scrollbar-track-color)}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size);height:var(--scrolbar-size);background:var(--igc-scrollbar-track-color)}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color)}[hidden]{display:none !important}:host{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;color:hsla(var(--igc-gray-900), var(--igc-gray-a));font-family:var(--igc-font-family)}input[type=radio]{position:absolute;width:1px;height:1px;margin:-1px;border:none;clip:rect(0, 0, 0, 0);outline:0;pointer-events:none;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}[part~=base]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;-webkit-transition:color .15s ease-in;-o-transition:color .15s ease-in;transition:color .15s ease-in}[part~=base]:hover [part=control]{background:hsla(var(--igc-gray-600), 0.06)}[part~=base]:focus-within [part=control]{background:hsla(var(--igc-gray-600), 0.12)}[part~=control]{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;width:calc(var(--size, 1.25rem) * 2);height:calc(var(--size, 1.25rem) * 2);min-width:calc(var(--size, 1.25rem) * 2);border-radius:50%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:background .15s ease-in;-o-transition:background .15s ease-in;transition:background .15s ease-in}[part~=control]::before,[part~=control]::after{position:absolute;content:"";width:var(--size, 1.25rem);height:var(--size, 1.25rem);left:50%;top:50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);border-radius:50%;-webkit-transition:all .15s ease-in;-o-transition:all .15s ease-in;transition:all .15s ease-in}[part~=control]::before{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translate(-50%, -50%) scale(0.1);-ms-transform:translate(-50%, -50%) scale(0.1);transform:translate(-50%, -50%) scale(0.1);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;z-index:1}[part~=control]::after{border:calc(var(--size, 1.25rem) / 10) solid hsla(var(--igc-gray-600), var(--igc-gray-a))}[part="base checked"]:hover [part~=control]{background:hsla(var(--igc-secondary-500), 0.06)}[part="base checked"]:focus-within [part~=control]{background:hsla(var(--igc-secondary-500), 0.12)}[part="control checked"]::before{border-color:hsla(var(--igc-secondary-500), var(--igc-secondary-a));background:hsla(var(--igc-secondary-500), var(--igc-secondary-a));-webkit-transform:translate(-50%, -50%) scale(0.5);-ms-transform:translate(-50%, -50%) scale(0.5);transform:translate(-50%, -50%) scale(0.5)}[part="control checked"]::after{border-color:hsla(var(--igc-secondary-500), var(--igc-secondary-a))}:host(:not([disabled])[invalid]) [part~=label]{color:hsla(var(--igc-error-500), var(--igc-error-a))}:host(:not([disabled])[invalid]) [part~=control]::after{border-color:hsla(var(--igc-error-500), var(--igc-error-a))}:host(:not([disabled])[invalid]) [part="control checked"]::before{background:hsla(var(--igc-error-500), var(--igc-error-a))}:host([disabled]){pointer-events:none;color:hsla(var(--igc-gray-400), var(--igc-gray-a));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host([disabled]) [part~=control]::after{border-color:hsla(var(--igc-gray-300), var(--igc-gray-a))}:host([disabled]) [part="control checked"]::before{background:hsla(var(--igc-gray-300), var(--igc-gray-a));border-color:transparent}:host([label-position=after]) [part~=label]{-webkit-margin-start:.5rem;margin-inline-start:.5rem}:host([label-position=before]) [part~=label]{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1;-webkit-margin-end:.5rem;margin-inline-end:.5rem}`;
|
|
3
3
|
//# sourceMappingURL=radio.material.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.material.css.js","sourceRoot":"","sources":["../../../src/components/radio/radio.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":"radio.material.css.js","sourceRoot":"","sources":["../../../src/components/radio/radio.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,+iIAA+iI,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size);scrollbar-color:var(--igc-scrollbar-thumb-color) var(--igc-scrollbar-track-color)}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size);height:var(--scrolbar-size);background:var(--igc-scrollbar-track-color)}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color)}[hidden]{display:none !important}:host{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;color:hsla(var(--igc-gray-900), var(--igc-gray-a));font-family:var(--igc-font-family)}input[type=radio]{position:absolute;width:1px;height:1px;margin:-1px;border:none;clip:rect(0, 0, 0, 0);outline:0;pointer-events:none;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}[part~=base]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;-webkit-transition:color .15s ease-in;-o-transition:color .15s ease-in;transition:color .15s ease-in}[part~=base]:hover [part=control]{background:hsla(var(--igc-gray-600), 0.06)}[part~=base]:focus-within [part=control]{background:hsla(var(--igc-gray-600), 0.12)}[part~=control]{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;width:calc(var(--size, 1.25rem) * 2);height:calc(var(--size, 1.25rem) * 2);min-width:calc(var(--size, 1.25rem) * 2);border-radius:50%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:background .15s ease-in;-o-transition:background .15s ease-in;transition:background .15s ease-in}[part~=control]::before,[part~=control]::after{position:absolute;content:\"\";width:var(--size, 1.25rem);height:var(--size, 1.25rem);left:50%;top:50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);border-radius:50%;-webkit-transition:all .15s ease-in;-o-transition:all .15s ease-in;transition:all .15s ease-in}[part~=control]::before{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translate(-50%, -50%) scale(0.1);-ms-transform:translate(-50%, -50%) scale(0.1);transform:translate(-50%, -50%) scale(0.1);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;z-index:1}[part~=control]::after{border:calc(var(--size, 1.25rem) / 10) solid hsla(var(--igc-gray-600), var(--igc-gray-a))}[part=\"base checked\"]:hover [part~=control]{background:hsla(var(--igc-secondary-500), 0.06)}[part=\"base checked\"]:focus-within [part~=control]{background:hsla(var(--igc-secondary-500), 0.12)}[part=\"control checked\"]::before{border-color:hsla(var(--igc-secondary-500), var(--igc-secondary-a));background:hsla(var(--igc-secondary-500), var(--igc-secondary-a));-webkit-transform:translate(-50%, -50%) scale(0.5);-ms-transform:translate(-50%, -50%) scale(0.5);transform:translate(-50%, -50%) scale(0.5)}[part=\"control checked\"]::after{border-color:hsla(var(--igc-secondary-500), var(--igc-secondary-a))}:host(:not([disabled])[invalid]) [part~=label]{color:hsla(var(--igc-error-500), var(--igc-error-a))}:host(:not([disabled])[invalid]) [part~=control]::after{border-color:hsla(var(--igc-error-500), var(--igc-error-a))}:host(:not([disabled])[invalid]) [part=\"control checked\"]::before{background:hsla(var(--igc-error-500), var(--igc-error-a))}:host([disabled]){pointer-events:none;color:hsla(var(--igc-gray-400), var(--igc-gray-a));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host([disabled]) [part~=control]::after{border-color:hsla(var(--igc-gray-300), var(--igc-gray-a))}:host([disabled]) [part=\"control checked\"]::before{background:hsla(var(--igc-gray-300), var(--igc-gray-a));border-color:transparent}:host([label-position=after]) [part~=label]{-webkit-margin-start:.5rem;margin-inline-start:.5rem}:host([label-position=before]) [part~=label]{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1;-webkit-margin-end:.5rem;margin-inline-end:.5rem}`;\n"]}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
2
|
export default class IgcRadioGroupComponent extends LitElement {
|
|
3
|
-
static tagName
|
|
3
|
+
static readonly tagName = "igc-radio-group";
|
|
4
4
|
static styles: import("lit").CSSResult;
|
|
5
|
-
private
|
|
6
|
-
private get radios();
|
|
5
|
+
private radios;
|
|
7
6
|
private get isLTR();
|
|
8
7
|
constructor();
|
|
9
8
|
alignment: 'vertical' | 'horizontal';
|
|
9
|
+
private updateRequiredState;
|
|
10
10
|
private handleKeydown;
|
|
11
|
-
protected render(): import("lit").TemplateResult<1>;
|
|
11
|
+
protected render(): import("lit-html").TemplateResult<1>;
|
|
12
12
|
}
|
|
13
13
|
declare global {
|
|
14
14
|
interface HTMLElementTagNameMap {
|
|
15
15
|
'igc-radio-group': IgcRadioGroupComponent;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=radio-group.d.ts.map
|
|
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { html, LitElement } from 'lit';
|
|
8
|
-
import { property,
|
|
8
|
+
import { property, queryAssignedElements } from 'lit/decorators.js';
|
|
9
9
|
import { styles } from './radio-group.material.css';
|
|
10
10
|
export default class IgcRadioGroupComponent extends LitElement {
|
|
11
11
|
constructor() {
|
|
@@ -40,23 +40,37 @@ export default class IgcRadioGroupComponent extends LitElement {
|
|
|
40
40
|
}
|
|
41
41
|
};
|
|
42
42
|
this.addEventListener('keydown', this.handleKeydown);
|
|
43
|
-
|
|
44
|
-
get radios() {
|
|
45
|
-
return Array.from(this._slottedRadios).filter((radio) => !radio.disabled);
|
|
43
|
+
this.addEventListener('igcChange', this.updateRequiredState);
|
|
46
44
|
}
|
|
47
45
|
get isLTR() {
|
|
48
46
|
const styles = window.getComputedStyle(this);
|
|
49
47
|
return styles.getPropertyValue('direction') === 'ltr';
|
|
50
48
|
}
|
|
49
|
+
updateRequiredState() {
|
|
50
|
+
const hasRequired = this.radios.some((r) => r.required);
|
|
51
|
+
if (hasRequired) {
|
|
52
|
+
this.radios.forEach((r) => (r.required = false));
|
|
53
|
+
const hasChecked = this.radios.some((r) => r.checked);
|
|
54
|
+
if (hasChecked) {
|
|
55
|
+
this.radios.filter((r) => r.checked)[0].required = true;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
this.radios[0].required = true;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
51
62
|
render() {
|
|
52
|
-
return html `<slot></slot>`;
|
|
63
|
+
return html `<slot @slotchange=${this.updateRequiredState}></slot>`;
|
|
53
64
|
}
|
|
54
65
|
}
|
|
55
66
|
IgcRadioGroupComponent.tagName = 'igc-radio-group';
|
|
56
67
|
IgcRadioGroupComponent.styles = styles;
|
|
57
68
|
__decorate([
|
|
58
|
-
|
|
59
|
-
|
|
69
|
+
queryAssignedElements({
|
|
70
|
+
flatten: true,
|
|
71
|
+
selector: 'igc-radio:not([disabled])',
|
|
72
|
+
})
|
|
73
|
+
], IgcRadioGroupComponent.prototype, "radios", void 0);
|
|
60
74
|
__decorate([
|
|
61
75
|
property({ reflect: true })
|
|
62
76
|
], IgcRadioGroupComponent.prototype, "alignment", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../../src/components/radio-group/radio-group.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../../src/components/radio-group/radio-group.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,UAAU;IAgB5D;QACE,KAAK,EAAE,CAAC;QAMH,cAAS,GAA8B,UAAU,CAAC;QAkBjD,kBAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC/C,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;YAEtB,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACrE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC3D,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAQ,CAAC,CAAC;gBAE1C,QAAQ,GAAG,EAAE;oBACX,KAAK,SAAS;wBACZ,KAAK,IAAI,CAAC,CAAC,CAAC;wBACZ,MAAM;oBACR,KAAK,WAAW;wBACd,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC7B,MAAM;oBACR,KAAK,YAAY;wBACf,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC7B,MAAM;oBACR;wBACE,KAAK,IAAI,CAAC,CAAC;iBACd;gBAED,IAAI,KAAK,GAAG,CAAC;oBAAE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC9C,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;oBAAE,KAAK,GAAG,CAAC,CAAC;gBAE9C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;gBACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;gBAElC,KAAK,CAAC,cAAc,EAAE,CAAC;aACxB;QACH,CAAC,CAAC;QArDA,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC/D,CAAC;IATD,IAAY,KAAK;QACf,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC;IACxD,CAAC;IAWO,mBAAmB;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAExD,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;YAEjD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAEtD,IAAI,UAAU,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;aACzD;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;aAChC;SACF;IACH,CAAC;IAkCkB,MAAM;QACvB,OAAO,IAAI,CAAA,qBAAqB,IAAI,CAAC,mBAAmB,UAAU,CAAC;IACrE,CAAC;;AA1EsB,8BAAO,GAAG,iBAAiB,CAAC;AAE5B,6BAAM,GAAG,MAAM,CAAC;AAMvC;IAJC,qBAAqB,CAAC;QACrB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,2BAA2B;KACtC,CAAC;sDACwC;AAc1C;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yDAC6B","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\nimport { default as IgcRadioComponent } from '../radio/radio';\nimport { styles } from './radio-group.material.css';\n\nexport default class IgcRadioGroupComponent extends LitElement {\n public static readonly tagName = 'igc-radio-group';\n\n public static override styles = styles;\n\n @queryAssignedElements({\n flatten: true,\n selector: 'igc-radio:not([disabled])',\n })\n private radios!: Array<IgcRadioComponent>;\n\n private get isLTR(): boolean {\n const styles = window.getComputedStyle(this);\n return styles.getPropertyValue('direction') === 'ltr';\n }\n\n constructor() {\n super();\n this.addEventListener('keydown', this.handleKeydown);\n this.addEventListener('igcChange', this.updateRequiredState);\n }\n\n @property({ reflect: true })\n public alignment: 'vertical' | 'horizontal' = 'vertical';\n\n private updateRequiredState() {\n const hasRequired = this.radios.some((r) => r.required);\n\n if (hasRequired) {\n this.radios.forEach((r) => (r.required = false));\n\n const hasChecked = this.radios.some((r) => r.checked);\n\n if (hasChecked) {\n this.radios.filter((r) => r.checked)[0].required = true;\n } else {\n this.radios[0].required = true;\n }\n }\n }\n\n private handleKeydown = (event: KeyboardEvent) => {\n const { key } = event;\n\n if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) {\n const checked = this.radios.find((radio) => radio.checked);\n let index = this.radios.indexOf(checked!);\n\n switch (key) {\n case 'ArrowUp':\n index += -1;\n break;\n case 'ArrowLeft':\n index += this.isLTR ? -1 : 1;\n break;\n case 'ArrowRight':\n index += this.isLTR ? 1 : -1;\n break;\n default:\n index += 1;\n }\n\n if (index < 0) index = this.radios.length - 1;\n if (index > this.radios.length - 1) index = 0;\n\n this.radios.forEach((radio) => (radio.checked = false));\n this.radios[index].focus();\n this.radios[index].checked = true;\n\n event.preventDefault();\n }\n };\n\n protected override render() {\n return html`<slot @slotchange=${this.updateRequiredState}></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-radio-group': IgcRadioGroupComponent;\n }\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex}:host([alignment=vertical]){-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}:host([alignment=vertical]) ::slotted(igc-radio:not(:first-of-type)){-webkit-margin-before:.5rem;margin-block-start:.5rem}:host([alignment=horizontal]){-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}:host([alignment=horizontal]) ::slotted(igc-radio:not(:first-of-type)){-webkit-margin-start:.5rem;margin-inline-start:.5rem}`;
|
|
2
|
+
export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size);scrollbar-color:var(--igc-scrollbar-thumb-color) var(--igc-scrollbar-track-color)}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size);height:var(--scrolbar-size);background:var(--igc-scrollbar-track-color)}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color)}[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex}:host([alignment=vertical]){-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}:host([alignment=vertical]) ::slotted(igc-radio:not(:first-of-type)){-webkit-margin-before:.5rem;margin-block-start:.5rem}:host([alignment=horizontal]){-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}:host([alignment=horizontal]) ::slotted(igc-radio:not(:first-of-type)){-webkit-margin-start:.5rem;margin-inline-start:.5rem}`;
|
|
3
3
|
//# sourceMappingURL=radio-group.material.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.material.css.js","sourceRoot":"","sources":["../../../src/components/radio-group/radio-group.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":"radio-group.material.css.js","sourceRoot":"","sources":["../../../src/components/radio-group/radio-group.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,mkCAAmkC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size);scrollbar-color:var(--igc-scrollbar-thumb-color) var(--igc-scrollbar-track-color)}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size);height:var(--scrolbar-size);background:var(--igc-scrollbar-track-color)}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color)}[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex}:host([alignment=vertical]){-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}:host([alignment=vertical]) ::slotted(igc-radio:not(:first-of-type)){-webkit-margin-before:.5rem;margin-block-start:.5rem}:host([alignment=horizontal]){-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}:host([alignment=horizontal]) ::slotted(igc-radio:not(:first-of-type)){-webkit-margin-start:.5rem;margin-inline-start:.5rem}`;\n"]}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
|
+
/**
|
|
3
|
+
* A ripple can be applied to an element to represent
|
|
4
|
+
* interactive surface.
|
|
5
|
+
*
|
|
6
|
+
* @element igc-ripple
|
|
7
|
+
*/
|
|
2
8
|
export default class IgcRippleComponent extends LitElement {
|
|
3
|
-
static tagName
|
|
9
|
+
static readonly tagName = "igc-ripple";
|
|
4
10
|
static styles: import("lit").CSSResult;
|
|
5
11
|
constructor();
|
|
6
12
|
private handler;
|
|
7
13
|
private getDimensions;
|
|
8
|
-
protected render(): import("lit").TemplateResult<1>;
|
|
14
|
+
protected render(): import("lit-html").TemplateResult<1>;
|
|
9
15
|
}
|
|
10
16
|
declare global {
|
|
11
17
|
interface HTMLElementTagNameMap {
|
|
12
18
|
'igc-ripple': IgcRippleComponent;
|
|
13
19
|
}
|
|
14
20
|
}
|
|
15
|
-
//# sourceMappingURL=ripple.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../../src/components/ripple/ripple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAQ/C,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,UAAU;
|
|
1
|
+
{"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../../src/components/ripple/ripple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAQ/C,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,UAAU;IAKxD;QACE,KAAK,EAAE,CAAC;QAIF,YAAO,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAc,EAAE,EAAE;;YACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAEnE,MAAM,MAAM,GAAiC;gBAC3C,QAAQ,EAAE,UAAU;gBACpB,OAAO,EAAE,OAAO;gBAChB,aAAa,EAAE,MAAM;gBACrB,eAAe,EAAE,QAAQ;gBACzB,SAAS,EAAE,+BAA+B;gBAC1C,UAAU,EAAE,oBAAoB;gBAChC,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,iBAAiB;gBACzB,KAAK,EAAE,GAAG,MAAM,IAAI;gBACpB,MAAM,EAAE,GAAG,MAAM,IAAI;gBACrB,YAAY,EAAE,KAAK;gBACnB,GAAG,EAAE,GAAG,GAAG,IAAI;gBACf,IAAI,EAAE,GAAG,IAAI,IAAI;gBACjB,UAAU,EAAE,wCAAwC;aACrD,CAAC;YACF,MAAM,MAAM,GAAe;gBACzB,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE;gBACxC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE;aACtC,CAAC;YACF,MAAM,IAAI,GAA6B;gBACrC,QAAQ,EAAE,GAAG;gBACb,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,QAAQ;aACjB,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrC,MAAA,IAAI,CAAC,UAAU,0CAAE,WAAW,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC;QApCA,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAqCO,aAAa,CAAC,CAAS,EAAE,CAAS;QACxC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,aAAa,CAAC;IAC3B,CAAC;;AAtDsB,0BAAO,GAAG,YAAY,CAAC;AAEvB,yBAAM,GAAG,MAAM,CAAC","sourcesContent":["import { html, LitElement } from 'lit';\nimport { styles } from './ripple.material.css';\n\n/**\n * A ripple can be applied to an element to represent\n * interactive surface.\n *\n * @element igc-ripple\n */\nexport default class IgcRippleComponent extends LitElement {\n public static readonly tagName = 'igc-ripple';\n\n public static override styles = styles;\n\n constructor() {\n super();\n this.addEventListener('mousedown', this.handler);\n }\n\n private handler = ({ clientX, clientY }: MouseEvent) => {\n const element = document.createElement('span');\n const { radius, top, left } = this.getDimensions(clientX, clientY);\n\n const styles: Partial<CSSStyleDeclaration> = {\n position: 'absolute',\n display: 'block',\n pointerEvents: 'none',\n transformOrigin: 'center',\n transform: `translate3d(0, 0, 0) scale(0)`,\n willChange: 'opacity, transform',\n margin: `0 !important`,\n border: 'none !important',\n width: `${radius}px`,\n height: `${radius}px`,\n borderRadius: '50%',\n top: `${top}px`,\n left: `${left}px`,\n background: 'var(--color, hsl(var(--igc-gray-800)))',\n };\n const frames: Keyframe[] = [\n { opacity: 0.5, transform: 'scale(.3)' },\n { opacity: 0, transform: 'scale(2)' },\n ];\n const opts: KeyframeAnimationOptions = {\n duration: 600, // --igc-ripple-duration,\n fill: 'forwards',\n easing: 'linear', // --igc-ripple-easing\n };\n\n Object.assign(element.style, styles);\n this.shadowRoot?.appendChild(element);\n element.animate(frames, opts).finished.then(() => element.remove());\n };\n\n private getDimensions(x: number, y: number) {\n const { width, height, left, top } = this.getBoundingClientRect();\n const radius = Math.max(width, height);\n const _left = Math.round(x - left - radius / 2);\n const _top = Math.round(y - top - radius / 2);\n return { radius, top: _top, left: _left };\n }\n\n protected override render() {\n return html`<div></div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-ripple': IgcRippleComponent;\n }\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{position:absolute;display:block;width:100%;height:100%;top:0;left:0;contain:content;overflow:hidden}`;
|
|
2
|
+
export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size);scrollbar-color:var(--igc-scrollbar-thumb-color) var(--igc-scrollbar-track-color)}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size);height:var(--scrolbar-size);background:var(--igc-scrollbar-track-color)}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color)}[hidden]{display:none !important}:host{position:absolute;display:block;width:100%;height:100%;top:0;left:0;contain:content;overflow:hidden}`;
|
|
3
3
|
//# sourceMappingURL=ripple.material.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ripple.material.css.js","sourceRoot":"","sources":["../../../src/components/ripple/ripple.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":"ripple.material.css.js","sourceRoot":"","sources":["../../../src/components/ripple/ripple.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,onBAAonB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size);scrollbar-color:var(--igc-scrollbar-thumb-color) var(--igc-scrollbar-track-color)}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size);height:var(--scrolbar-size);background:var(--igc-scrollbar-track-color)}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color)}[hidden]{display:none !important}:host{position:absolute;display:block;width:100%;height:100%;top:0;left:0;contain:content;overflow:hidden}`;\n"]}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Constructor } from '../common/mixins/constructor';
|
|
2
|
+
import { IgcSliderBaseComponent } from './slider-base';
|
|
3
|
+
export interface IgcRangeSliderValue {
|
|
4
|
+
lower: number;
|
|
5
|
+
upper: number;
|
|
6
|
+
}
|
|
7
|
+
export interface IgcRangeSliderEventMap {
|
|
8
|
+
/**
|
|
9
|
+
* Emitted when a value is changed via thumb drag or keyboard interaction.
|
|
10
|
+
*/
|
|
11
|
+
igcInput: CustomEvent<IgcRangeSliderValue>;
|
|
12
|
+
/**
|
|
13
|
+
* Emitted when a value change is committed on a thumb drag end or keyboard interaction.
|
|
14
|
+
*/
|
|
15
|
+
igcChange: CustomEvent<IgcRangeSliderValue>;
|
|
16
|
+
}
|
|
17
|
+
declare const IgcRangeSliderComponent_base: Constructor<import("../common/mixins/event-emitter").EventEmitterInterface<IgcRangeSliderEventMap>> & Constructor<IgcSliderBaseComponent>;
|
|
18
|
+
/**
|
|
19
|
+
* A range slider component used to select two numeric values within a range.
|
|
20
|
+
*
|
|
21
|
+
* @element igc-range-slider
|
|
22
|
+
*
|
|
23
|
+
* @fires igcInput - Emitted when a value is changed via thumb drag or keyboard interaction.
|
|
24
|
+
* @fires igcChange - Emitted when a value change is committed on a thumb drag end or keyboard interaction.
|
|
25
|
+
*
|
|
26
|
+
* @csspart base - The base wrapper of the slider.
|
|
27
|
+
* @csspart ticks - The ticks container.
|
|
28
|
+
* @csspart tick-group - The tick group container.
|
|
29
|
+
* @csspart tick - The tick element.
|
|
30
|
+
* @csspart tick-label - The tick label element.
|
|
31
|
+
* @csspart tick-label-inner - The inner element of the tick label.
|
|
32
|
+
* @csspart thumbs - The thumbs container.
|
|
33
|
+
* @csspart thumb - The thumb element.
|
|
34
|
+
* @csspart thumb-label - The thumb tooltip label container.
|
|
35
|
+
* @csspart thumb-label-inner - The thumb tooltip label inner element.
|
|
36
|
+
* @csspart track - The track container.
|
|
37
|
+
* @csspart steps - The track steps element.
|
|
38
|
+
* @csspart inactive - The inactive element of the track.
|
|
39
|
+
* @csspart fill - The filled part of the track.
|
|
40
|
+
*/
|
|
41
|
+
export default class IgcRangeSliderComponent extends IgcRangeSliderComponent_base {
|
|
42
|
+
static readonly tagName = "igc-range-slider";
|
|
43
|
+
private thumbFrom;
|
|
44
|
+
private thumbTo;
|
|
45
|
+
private _lower;
|
|
46
|
+
private _upper;
|
|
47
|
+
set lower(val: number);
|
|
48
|
+
/**
|
|
49
|
+
* The current value of the lower thumb.
|
|
50
|
+
*/
|
|
51
|
+
get lower(): number;
|
|
52
|
+
set upper(val: number);
|
|
53
|
+
/**
|
|
54
|
+
* The current value of the upper thumb.
|
|
55
|
+
*/
|
|
56
|
+
get upper(): number;
|
|
57
|
+
/**
|
|
58
|
+
* The aria label of the lower thumb.
|
|
59
|
+
*/
|
|
60
|
+
ariaLabelLower: string;
|
|
61
|
+
/**
|
|
62
|
+
* The aria label of the upper thumb.
|
|
63
|
+
*/
|
|
64
|
+
ariaLabelUpper: string;
|
|
65
|
+
protected get activeValue(): number;
|
|
66
|
+
protected normalizeValue(): void;
|
|
67
|
+
protected getTrackStyle(): {
|
|
68
|
+
width: string;
|
|
69
|
+
insetInlineStart: string;
|
|
70
|
+
};
|
|
71
|
+
private closestTo;
|
|
72
|
+
protected closestHandle(event: PointerEvent): HTMLElement;
|
|
73
|
+
protected updateValue(increment: number): boolean;
|
|
74
|
+
protected emitInputEvent(): void;
|
|
75
|
+
protected emitChangeEvent(): void;
|
|
76
|
+
private swapValues;
|
|
77
|
+
private toggleActiveThumb;
|
|
78
|
+
protected renderThumbs(): import("lit-html").TemplateResult<1>;
|
|
79
|
+
}
|
|
80
|
+
declare global {
|
|
81
|
+
interface HTMLElementTagNameMap {
|
|
82
|
+
'igc-range-slider': IgcRangeSliderComponent;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
export {};
|