igniteui-webcomponents 5.3.0-beta.0 → 5.3.0-beta.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/animations/easings.d.ts +31 -0
- package/animations/player.d.ts +24 -0
- package/animations/presets/fade/index.d.ts +3 -0
- package/animations/presets/grow/index.d.ts +3 -0
- package/animations/presets/slide/index.d.ts +3 -0
- package/animations/types.d.ts +5 -0
- package/components/accordion/accordion.d.ts +44 -0
- package/components/accordion/themes/accordion.base.css.d.ts +1 -0
- package/components/avatar/avatar.d.ts +51 -0
- package/components/avatar/themes/avatar.base.css.d.ts +1 -0
- package/components/avatar/themes/dark/avatar.bootstrap.css.d.ts +1 -0
- package/components/avatar/themes/dark/avatar.fluent.css.d.ts +1 -0
- package/components/avatar/themes/dark/avatar.indigo.css.d.ts +1 -0
- package/components/avatar/themes/dark/avatar.material.css.d.ts +1 -0
- package/components/avatar/themes/light/avatar.bootstrap.css.d.ts +1 -0
- package/components/avatar/themes/light/avatar.fluent.css.d.ts +1 -0
- package/components/avatar/themes/light/avatar.indigo.css.d.ts +1 -0
- package/components/avatar/themes/light/avatar.material.css.d.ts +1 -0
- package/components/avatar/themes/light/avatar.shared.css.d.ts +1 -0
- package/components/avatar/themes/shared/avatar.bootstrap.css.d.ts +1 -0
- package/components/avatar/themes/shared/avatar.common.css.d.ts +1 -0
- package/components/avatar/themes/shared/avatar.fluent.css.d.ts +1 -0
- package/components/avatar/themes/shared/avatar.indigo.css.d.ts +1 -0
- package/components/avatar/themes/themes.d.ts +2 -0
- package/components/badge/badge.d.ts +41 -0
- package/components/badge/themes/badge.base.css.d.ts +1 -0
- package/components/badge/themes/dark/badge.bootstrap.css.d.ts +1 -0
- package/components/badge/themes/dark/badge.fluent.css.d.ts +1 -0
- package/components/badge/themes/dark/badge.indigo.css.d.ts +1 -0
- package/components/badge/themes/dark/badge.material.css.d.ts +1 -0
- package/components/badge/themes/light/badge.bootstrap.css.d.ts +1 -0
- package/components/badge/themes/light/badge.fluent.css.d.ts +1 -0
- package/components/badge/themes/light/badge.indigo.css.d.ts +1 -0
- package/components/badge/themes/light/badge.material.css.d.ts +1 -0
- package/components/badge/themes/light/badge.shared.css.d.ts +1 -0
- package/components/badge/themes/shared/badge.bootstrap.css.d.ts +1 -0
- package/components/badge/themes/shared/badge.common.css.d.ts +1 -0
- package/components/badge/themes/shared/badge.indigo.css.d.ts +1 -0
- package/components/badge/themes/themes.d.ts +2 -0
- package/components/banner/banner.d.ts +55 -0
- package/components/banner/themes/banner.base.css.d.ts +1 -0
- package/components/banner/themes/dark/banner.bootstrap.css.d.ts +1 -0
- package/components/banner/themes/dark/banner.fluent.css.d.ts +1 -0
- package/components/banner/themes/dark/banner.indigo.css.d.ts +1 -0
- package/components/banner/themes/dark/banner.material.css.d.ts +1 -0
- package/components/banner/themes/light/banner.bootstrap.css.d.ts +1 -0
- package/components/banner/themes/light/banner.fluent.css.d.ts +1 -0
- package/components/banner/themes/light/banner.indigo.css.d.ts +1 -0
- package/components/banner/themes/light/banner.material.css.d.ts +1 -0
- package/components/banner/themes/shared/banner.bootstrap.css.d.ts +1 -0
- package/components/banner/themes/shared/banner.fluent.css.d.ts +1 -0
- package/components/banner/themes/shared/banner.indigo.css.d.ts +1 -0
- package/components/banner/themes/shared/banner.material.css.d.ts +1 -0
- package/components/banner/themes/themes.d.ts +2 -0
- package/components/button/button-base.d.ts +69 -0
- package/components/button/button.d.ts +31 -0
- package/components/button/icon-button.d.ts +40 -0
- package/components/button/themes/button/button.base.css.d.ts +1 -0
- package/components/button/themes/button/dark/button.bootstrap.css.d.ts +1 -0
- package/components/button/themes/button/dark/button.fluent.css.d.ts +1 -0
- package/components/button/themes/button/dark/button.indigo.css.d.ts +1 -0
- package/components/button/themes/button/dark/button.material.css.d.ts +1 -0
- package/components/button/themes/button/light/button.bootstrap.css.d.ts +1 -0
- package/components/button/themes/button/light/button.fluent.css.d.ts +1 -0
- package/components/button/themes/button/light/button.indigo.css.d.ts +1 -0
- package/components/button/themes/button/light/button.material.css.d.ts +1 -0
- package/components/button/themes/button/light/button.shared.css.d.ts +1 -0
- package/components/button/themes/button/shared/button.bootstrap.css.d.ts +1 -0
- package/components/button/themes/button/shared/button.common.css.d.ts +1 -0
- package/components/button/themes/button/shared/button.fluent.css.d.ts +1 -0
- package/components/button/themes/button/shared/button.indigo.css.d.ts +1 -0
- package/components/button/themes/button/shared/button.material.css.d.ts +1 -0
- package/components/button/themes/button/themes.d.ts +2 -0
- package/components/button/themes/icon-button/dark/icon-button.bootstrap.css.d.ts +1 -0
- package/components/button/themes/icon-button/dark/icon-button.fluent.css.d.ts +1 -0
- package/components/button/themes/icon-button/dark/icon-button.indigo.css.d.ts +1 -0
- package/components/button/themes/icon-button/dark/icon-button.material.css.d.ts +1 -0
- package/components/button/themes/icon-button/icon-button.base.css.d.ts +1 -0
- package/components/button/themes/icon-button/light/icon-button.bootstrap.css.d.ts +1 -0
- package/components/button/themes/icon-button/light/icon-button.fluent.css.d.ts +1 -0
- package/components/button/themes/icon-button/light/icon-button.indigo.css.d.ts +1 -0
- package/components/button/themes/icon-button/light/icon-button.material.css.d.ts +1 -0
- package/components/button/themes/icon-button/shared/icon-button.bootstrap.css.d.ts +1 -0
- package/components/button/themes/icon-button/shared/icon-button.common.css.d.ts +1 -0
- package/components/button/themes/icon-button/shared/icon-button.fluent.css.d.ts +1 -0
- package/components/button/themes/icon-button/shared/icon-button.indigo.css.d.ts +1 -0
- package/components/button/themes/icon-button/shared/icon-button.material.css.d.ts +1 -0
- package/components/button/themes/icon-button/themes.d.ts +2 -0
- package/components/button-group/button-group.d.ts +67 -0
- package/components/button-group/themes/button.base.css.d.ts +1 -0
- package/components/button-group/themes/button.d.ts +2 -0
- package/components/button-group/themes/dark/button-group.bootstrap.css.d.ts +1 -0
- package/components/button-group/themes/dark/button-group.fluent.css.d.ts +1 -0
- package/components/button-group/themes/dark/button-group.indigo.css.d.ts +1 -0
- package/components/button-group/themes/dark/button-group.material.css.d.ts +1 -0
- package/components/button-group/themes/dark/button-group.shared.css.d.ts +1 -0
- package/components/button-group/themes/group.base.css.d.ts +1 -0
- package/components/button-group/themes/group.d.ts +2 -0
- package/components/button-group/themes/light/button-group.bootstrap.css.d.ts +1 -0
- package/components/button-group/themes/light/button-group.fluent.css.d.ts +1 -0
- package/components/button-group/themes/light/button-group.indigo.css.d.ts +1 -0
- package/components/button-group/themes/light/button-group.material.css.d.ts +1 -0
- package/components/button-group/themes/light/button-group.shared.css.d.ts +1 -0
- package/components/button-group/themes/shared/button/button.bootstrap.css.d.ts +1 -0
- package/components/button-group/themes/shared/button/button.common.css.d.ts +1 -0
- package/components/button-group/themes/shared/button/button.fluent.css.d.ts +1 -0
- package/components/button-group/themes/shared/button/button.indigo.css.d.ts +1 -0
- package/components/button-group/themes/shared/button/button.material.css.d.ts +1 -0
- package/components/button-group/themes/shared/group/group.bootstrap.css.d.ts +1 -0
- package/components/button-group/themes/shared/group/group.common.css.d.ts +1 -0
- package/components/button-group/themes/shared/group/group.fluent.css.d.ts +1 -0
- package/components/button-group/themes/shared/group/group.indigo.css.d.ts +1 -0
- package/components/button-group/toggle-button.d.ts +51 -0
- package/components/calendar/base.d.ts +65 -0
- package/components/calendar/calendar.d.ts +154 -0
- package/components/calendar/days-view/days-view.d.ts +87 -0
- package/components/calendar/helpers.d.ts +55 -0
- package/components/calendar/model.d.ts +55 -0
- package/components/calendar/months-view/months-view.d.ts +44 -0
- package/components/calendar/themes/calendar.base.css.d.ts +1 -0
- package/components/calendar/themes/calendar.d.ts +2 -0
- package/components/calendar/themes/dark/calendar.bootstrap.css.d.ts +1 -0
- package/components/calendar/themes/dark/calendar.fluent.css.d.ts +1 -0
- package/components/calendar/themes/dark/calendar.indigo.css.d.ts +1 -0
- package/components/calendar/themes/dark/calendar.material.css.d.ts +1 -0
- package/components/calendar/themes/days-view.base.css.d.ts +1 -0
- package/components/calendar/themes/days.d.ts +2 -0
- package/components/calendar/themes/light/calendar.bootstrap.css.d.ts +1 -0
- package/components/calendar/themes/light/calendar.fluent.css.d.ts +1 -0
- package/components/calendar/themes/light/calendar.indigo.css.d.ts +1 -0
- package/components/calendar/themes/light/calendar.material.css.d.ts +1 -0
- package/components/calendar/themes/light/calendar.shared.css.d.ts +1 -0
- package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.d.ts +1 -0
- package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.d.ts +1 -0
- package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.d.ts +1 -0
- package/components/calendar/themes/shared/fluent/calendar.fluent.css.d.ts +1 -0
- package/components/calendar/themes/shared/fluent/days-view.fluent.css.d.ts +1 -0
- package/components/calendar/themes/shared/fluent/year-month-view.fluent.css.d.ts +1 -0
- package/components/calendar/themes/shared/indigo/calendar.indigo.css.d.ts +1 -0
- package/components/calendar/themes/shared/indigo/days-view.indigo.css.d.ts +1 -0
- package/components/calendar/themes/shared/indigo/year-month-view.indigo.css.d.ts +1 -0
- package/components/calendar/themes/shared/material/calendar.material.css.d.ts +1 -0
- package/components/calendar/themes/shared/material/days-view.material.css.d.ts +1 -0
- package/components/calendar/themes/shared/material/year-month-view.material.css.d.ts +1 -0
- package/components/calendar/themes/year-month-view.base.css.d.ts +1 -0
- package/components/calendar/themes/year-month.d.ts +2 -0
- package/components/calendar/types.d.ts +16 -0
- package/components/calendar/years-view/years-view.d.ts +41 -0
- package/components/card/card.actions.d.ts +24 -0
- package/components/card/card.content.d.ts +17 -0
- package/components/card/card.d.ts +22 -0
- package/components/card/card.header.d.ts +22 -0
- package/components/card/card.media.d.ts +17 -0
- package/components/card/themes/actions.d.ts +2 -0
- package/components/card/themes/card.actions.base.css.d.ts +1 -0
- package/components/card/themes/card.content.base.css.d.ts +1 -0
- package/components/card/themes/card.header.base.css.d.ts +1 -0
- package/components/card/themes/card.media.base.css.d.ts +1 -0
- package/components/card/themes/container.base.css.d.ts +1 -0
- package/components/card/themes/container.d.ts +2 -0
- package/components/card/themes/content.d.ts +2 -0
- package/components/card/themes/dark/card.bootstrap.css.d.ts +1 -0
- package/components/card/themes/dark/card.fluent.css.d.ts +1 -0
- package/components/card/themes/dark/card.indigo.css.d.ts +1 -0
- package/components/card/themes/dark/card.material.css.d.ts +1 -0
- package/components/card/themes/dark/card.shared.css.d.ts +1 -0
- package/components/card/themes/header.d.ts +2 -0
- package/components/card/themes/light/container/card.bootstrap.css.d.ts +1 -0
- package/components/card/themes/light/container/card.fluent.css.d.ts +1 -0
- package/components/card/themes/light/container/card.indigo.css.d.ts +1 -0
- package/components/card/themes/light/container/card.material.css.d.ts +1 -0
- package/components/card/themes/light/container/card.shared.css.d.ts +1 -0
- package/components/card/themes/shared/actions/card.actions.bootstrap.css.d.ts +1 -0
- package/components/card/themes/shared/actions/card.actions.indigo.css.d.ts +1 -0
- package/components/card/themes/shared/container/card.common.css.d.ts +1 -0
- package/components/card/themes/shared/container/card.fluent.css.d.ts +1 -0
- package/components/card/themes/shared/container/card.indigo.css.d.ts +1 -0
- package/components/card/themes/shared/content/card.content.bootstrap.css.d.ts +1 -0
- package/components/card/themes/shared/content/card.content.common.css.d.ts +1 -0
- package/components/card/themes/shared/header/card.header.bootstrap.css.d.ts +1 -0
- package/components/card/themes/shared/header/card.header.common.css.d.ts +1 -0
- package/components/card/themes/shared/header/card.header.fluent.css.d.ts +1 -0
- package/components/card/themes/shared/header/card.header.indigo.css.d.ts +1 -0
- package/components/carousel/animations.d.ts +1 -0
- package/components/carousel/carousel-indicator-container.d.ts +21 -0
- package/components/carousel/carousel-indicator.d.ts +34 -0
- package/components/carousel/carousel-slide.d.ts +37 -0
- package/components/carousel/carousel.d.ts +199 -0
- package/components/carousel/themes/carousel-indicator-container.base.css.d.ts +1 -0
- package/components/carousel/themes/carousel-indicator.base.css.d.ts +1 -0
- package/components/carousel/themes/carousel-slide.base.css.d.ts +1 -0
- package/components/carousel/themes/carousel.base.css.d.ts +1 -0
- package/components/carousel/themes/container.d.ts +2 -0
- package/components/carousel/themes/dark/carousel.bootstrap.css.d.ts +1 -0
- package/components/carousel/themes/dark/carousel.fluent.css.d.ts +1 -0
- package/components/carousel/themes/dark/carousel.indigo.css.d.ts +1 -0
- package/components/carousel/themes/dark/carousel.material.css.d.ts +1 -0
- package/components/carousel/themes/dark/carousel.shared.css.d.ts +1 -0
- package/components/carousel/themes/indicator-container.d.ts +2 -0
- package/components/carousel/themes/light/carousel.bootstrap.css.d.ts +1 -0
- package/components/carousel/themes/light/carousel.fluent.css.d.ts +1 -0
- package/components/carousel/themes/light/carousel.indigo.css.d.ts +1 -0
- package/components/carousel/themes/light/carousel.material.css.d.ts +1 -0
- package/components/carousel/themes/light/carousel.shared.css.d.ts +1 -0
- package/components/carousel/themes/shared/carousel.bootstrap.css.d.ts +1 -0
- package/components/carousel/themes/shared/carousel.common.css.d.ts +1 -0
- package/components/carousel/themes/shared/carousel.fluent.css.d.ts +1 -0
- package/components/carousel/themes/shared/carousel.indigo.css.d.ts +1 -0
- package/components/carousel/themes/shared/indicator-container/indicator-container.bootstrap.css.d.ts +1 -0
- package/components/carousel/themes/shared/indicator-container/indicator-container.common.css.d.ts +1 -0
- package/components/carousel/themes/shared/indicator-container/indicator-container.fluent.css.d.ts +1 -0
- package/components/carousel/themes/shared/indicator-container/indicator-container.indigo.css.d.ts +1 -0
- package/components/checkbox/checkbox-base.d.ts +51 -0
- package/components/checkbox/checkbox.d.ts +44 -0
- package/components/checkbox/switch.d.ts +29 -0
- package/components/checkbox/themes/checkbox-themes.d.ts +2 -0
- package/components/checkbox/themes/checkbox.base.css.d.ts +1 -0
- package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.d.ts +1 -0
- package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.d.ts +1 -0
- package/components/checkbox/themes/dark/checkbox/checkbox.indigo.css.d.ts +1 -0
- package/components/checkbox/themes/dark/checkbox/checkbox.material.css.d.ts +1 -0
- package/components/checkbox/themes/dark/switch/switch.bootstrap.css.d.ts +1 -0
- package/components/checkbox/themes/dark/switch/switch.fluent.css.d.ts +1 -0
- package/components/checkbox/themes/dark/switch/switch.indigo.css.d.ts +1 -0
- package/components/checkbox/themes/dark/switch/switch.material.css.d.ts +1 -0
- package/components/checkbox/themes/light/checkbox/checkbox.bootstrap.css.d.ts +1 -0
- package/components/checkbox/themes/light/checkbox/checkbox.fluent.css.d.ts +1 -0
- package/components/checkbox/themes/light/checkbox/checkbox.indigo.css.d.ts +1 -0
- package/components/checkbox/themes/light/checkbox/checkbox.material.css.d.ts +1 -0
- package/components/checkbox/themes/light/checkbox/checkbox.shared.css.d.ts +1 -0
- package/components/checkbox/themes/light/switch/switch.bootstrap.css.d.ts +1 -0
- package/components/checkbox/themes/light/switch/switch.fluent.css.d.ts +1 -0
- package/components/checkbox/themes/light/switch/switch.indigo.css.d.ts +1 -0
- package/components/checkbox/themes/light/switch/switch.material.css.d.ts +1 -0
- package/components/checkbox/themes/light/switch/switch.shared.css.d.ts +1 -0
- package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.d.ts +1 -0
- package/components/checkbox/themes/shared/checkbox/checkbox.common.css.d.ts +1 -0
- package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.d.ts +1 -0
- package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.d.ts +1 -0
- package/components/checkbox/themes/shared/checkbox/checkbox.material.css.d.ts +1 -0
- package/components/checkbox/themes/shared/switch/switch.bootstrap.css.d.ts +1 -0
- package/components/checkbox/themes/shared/switch/switch.common.css.d.ts +1 -0
- package/components/checkbox/themes/shared/switch/switch.fluent.css.d.ts +1 -0
- package/components/checkbox/themes/shared/switch/switch.indigo.css.d.ts +1 -0
- package/components/checkbox/themes/shared/switch/switch.material.css.d.ts +1 -0
- package/components/checkbox/themes/switch-themes.d.ts +2 -0
- package/components/checkbox/themes/switch.base.css.d.ts +1 -0
- package/components/checkbox/validators.d.ts +3 -0
- package/components/chip/chip.d.ts +66 -0
- package/components/chip/themes/chip.base.css.d.ts +1 -0
- package/components/chip/themes/chip.base.css.js +1 -1
- package/components/chip/themes/chip.base.css.js.map +1 -1
- package/components/chip/themes/dark/chip.bootstrap.css.d.ts +1 -0
- package/components/chip/themes/dark/chip.fluent.css.d.ts +1 -0
- package/components/chip/themes/dark/chip.indigo.css.d.ts +1 -0
- package/components/chip/themes/dark/chip.material.css.d.ts +1 -0
- package/components/chip/themes/light/chip.bootstrap.css.d.ts +1 -0
- package/components/chip/themes/light/chip.fluent.css.d.ts +1 -0
- package/components/chip/themes/light/chip.indigo.css.d.ts +1 -0
- package/components/chip/themes/light/chip.material.css.d.ts +1 -0
- package/components/chip/themes/light/chip.shared.css.d.ts +1 -0
- package/components/chip/themes/shared/chip.bootstrap.css.d.ts +1 -0
- package/components/chip/themes/shared/chip.common.css.d.ts +1 -0
- package/components/chip/themes/shared/chip.fluent.css.d.ts +1 -0
- package/components/chip/themes/shared/chip.indigo.css.d.ts +1 -0
- package/components/chip/themes/themes.d.ts +2 -0
- package/components/combo/combo-header.d.ts +12 -0
- package/components/combo/combo-item.d.ts +34 -0
- package/components/combo/combo-list.d.ts +11 -0
- package/components/combo/combo.d.ts +322 -0
- package/components/combo/controllers/data.d.ts +22 -0
- package/components/combo/controllers/navigation.d.ts +50 -0
- package/components/combo/controllers/selection.d.ts +33 -0
- package/components/combo/operations/filter.d.ts +6 -0
- package/components/combo/operations/group.d.ts +6 -0
- package/components/combo/themes/combo-header.base.css.d.ts +1 -0
- package/components/combo/themes/combo-item.base.css.d.ts +1 -0
- package/components/combo/themes/combo.base.css.d.ts +1 -0
- package/components/combo/themes/dark/combo.bootstrap.css.d.ts +1 -0
- package/components/combo/themes/dark/combo.fluent.css.d.ts +1 -0
- package/components/combo/themes/dark/combo.indigo.css.d.ts +1 -0
- package/components/combo/themes/dark/combo.material.css.d.ts +1 -0
- package/components/combo/themes/light/combo.bootstrap.css.d.ts +1 -0
- package/components/combo/themes/light/combo.fluent.css.d.ts +1 -0
- package/components/combo/themes/light/combo.indigo.css.d.ts +1 -0
- package/components/combo/themes/light/combo.material.css.d.ts +1 -0
- package/components/combo/themes/light/combo.shared.css.d.ts +1 -0
- package/components/combo/themes/shared/combo.bootstrap.css.d.ts +1 -0
- package/components/combo/themes/shared/combo.common.css.d.ts +1 -0
- package/components/combo/themes/shared/combo.fluent.css.d.ts +1 -0
- package/components/combo/themes/shared/combo.indigo.css.d.ts +1 -0
- package/components/combo/themes/shared/combo.material.css.d.ts +1 -0
- package/components/combo/themes/themes.d.ts +2 -0
- package/components/combo/types.d.ts +45 -0
- package/components/combo/validators.d.ts +3 -0
- package/components/common/context.d.ts +16 -0
- package/components/common/controllers/async-consumer.d.ts +17 -0
- package/components/common/controllers/drag.d.ts +143 -0
- package/components/common/controllers/focus-ring.d.ts +32 -0
- package/components/common/controllers/fullscreen.d.ts +41 -0
- package/components/common/controllers/gestures.d.ts +76 -0
- package/components/common/controllers/key-bindings.d.ts +150 -0
- package/components/common/controllers/mutation-observer.d.ts +74 -0
- package/components/common/controllers/root-click.d.ts +26 -0
- package/components/common/controllers/root-scroll.d.ts +27 -0
- package/components/common/decorators/blazorAdditionalDependencies.d.ts +5 -0
- package/components/common/decorators/blazorDeepImport.d.ts +5 -0
- package/components/common/decorators/blazorInclude.d.ts +5 -0
- package/components/common/decorators/blazorIndirectRender.d.ts +5 -0
- package/components/common/decorators/blazorSuppressComponent.d.ts +5 -0
- package/components/common/decorators/blazorTypeOverride.d.ts +7 -0
- package/components/common/decorators/watch.d.ts +5 -0
- package/components/common/definitions/defineAllComponents.d.ts +1 -0
- package/components/common/definitions/defineAllComponents.js +4 -0
- package/components/common/definitions/defineAllComponents.js.map +1 -1
- package/components/common/definitions/defineComponents.d.ts +2 -0
- package/components/common/definitions/register.d.ts +5 -0
- package/components/common/i18n/calendar.resources.d.ts +17 -0
- package/components/common/localization/intl-formatters.d.ts +17 -0
- package/components/common/localization/validation-en.d.ts +13 -0
- package/components/common/mixins/alert.d.ts +38 -0
- package/components/common/mixins/combo-box.d.ts +54 -0
- package/components/common/mixins/constructor.d.ts +2 -0
- package/components/common/mixins/event-emitter.d.ts +11 -0
- package/components/common/mixins/forms/associated-required.d.ts +13 -0
- package/components/common/mixins/forms/associated.d.ts +11 -0
- package/components/common/mixins/forms/form-value.d.ts +32 -0
- package/components/common/mixins/forms/types.d.ts +128 -0
- package/components/common/mixins/option.d.ts +39 -0
- package/components/common/util.d.ts +122 -0
- package/components/common/validators.d.ts +56 -0
- package/components/date-picker/date-picker.d.ts +288 -0
- package/components/date-picker/themes/dark/date-picker.bootstrap.css.d.ts +1 -0
- package/components/date-picker/themes/dark/date-picker.fluent.css.d.ts +1 -0
- package/components/date-picker/themes/dark/date-picker.indigo.css.d.ts +1 -0
- package/components/date-picker/themes/dark/date-picker.material.css.d.ts +1 -0
- package/components/date-picker/themes/date-picker.base.css.d.ts +1 -0
- package/components/date-picker/themes/light/date-picker.bootstrap.css.d.ts +1 -0
- package/components/date-picker/themes/light/date-picker.fluent.css.d.ts +1 -0
- package/components/date-picker/themes/light/date-picker.indigo.css.d.ts +1 -0
- package/components/date-picker/themes/light/date-picker.material.css.d.ts +1 -0
- package/components/date-picker/themes/light/date-picker.shared.css.d.ts +1 -0
- package/components/date-picker/themes/shared/date-picker.bootstrap.css.d.ts +1 -0
- package/components/date-picker/themes/shared/date-picker.common.css.d.ts +1 -0
- package/components/date-picker/themes/shared/date-picker.fluent.css.d.ts +1 -0
- package/components/date-picker/themes/shared/date-picker.indigo.css.d.ts +1 -0
- package/components/date-picker/themes/themes.d.ts +2 -0
- package/components/date-picker/validators.d.ts +3 -0
- package/components/date-time-input/date-time-input.d.ts +135 -0
- package/components/date-time-input/date-util.d.ts +90 -0
- package/components/date-time-input/validators.d.ts +3 -0
- package/components/dialog/dialog.d.ts +95 -0
- package/components/dialog/themes/dark/dialog.bootstrap.css.d.ts +1 -0
- package/components/dialog/themes/dark/dialog.fluent.css.d.ts +1 -0
- package/components/dialog/themes/dark/dialog.indigo.css.d.ts +1 -0
- package/components/dialog/themes/dark/dialog.material.css.d.ts +1 -0
- package/components/dialog/themes/dark/dialog.shared.css.d.ts +1 -0
- package/components/dialog/themes/dialog.base.css.d.ts +1 -0
- package/components/dialog/themes/light/dialog.bootstrap.css.d.ts +1 -0
- package/components/dialog/themes/light/dialog.fluent.css.d.ts +1 -0
- package/components/dialog/themes/light/dialog.indigo.css.d.ts +1 -0
- package/components/dialog/themes/light/dialog.material.css.d.ts +1 -0
- package/components/dialog/themes/light/dialog.shared.css.d.ts +1 -0
- package/components/dialog/themes/shared/dialog.bootstrap.css.d.ts +1 -0
- package/components/dialog/themes/shared/dialog.common.css.d.ts +1 -0
- package/components/dialog/themes/shared/dialog.fluent.css.d.ts +1 -0
- package/components/dialog/themes/shared/dialog.indigo.css.d.ts +1 -0
- package/components/dialog/themes/themes.d.ts +2 -0
- package/components/divider/divider.d.ts +40 -0
- package/components/divider/themes/dark/divider.bootstrap.css.d.ts +1 -0
- package/components/divider/themes/dark/divider.fluent.css.d.ts +1 -0
- package/components/divider/themes/dark/divider.indigo.css.d.ts +1 -0
- package/components/divider/themes/dark/divider.material.css.d.ts +1 -0
- package/components/divider/themes/divider.base.css.d.ts +1 -0
- package/components/divider/themes/light/divider.bootstrap.css.d.ts +1 -0
- package/components/divider/themes/light/divider.fluent.css.d.ts +1 -0
- package/components/divider/themes/light/divider.indigo.css.d.ts +1 -0
- package/components/divider/themes/light/divider.material.css.d.ts +1 -0
- package/components/divider/themes/light/divider.shared.css.d.ts +1 -0
- package/components/divider/themes/shared/divider.common.css.d.ts +1 -0
- package/components/divider/themes/shared/divider.indigo.css.d.ts +1 -0
- package/components/divider/themes/themes.d.ts +2 -0
- package/components/dropdown/dropdown-group.d.ts +27 -0
- package/components/dropdown/dropdown-header.d.ts +19 -0
- package/components/dropdown/dropdown-item.d.ts +24 -0
- package/components/dropdown/dropdown.d.ts +118 -0
- package/components/dropdown/themes/container.d.ts +2 -0
- package/components/dropdown/themes/dark/dropdown.bootstrap.css.d.ts +1 -0
- package/components/dropdown/themes/dark/dropdown.fluent.css.d.ts +1 -0
- package/components/dropdown/themes/dark/dropdown.indigo.css.d.ts +1 -0
- package/components/dropdown/themes/dark/dropdown.material.css.d.ts +1 -0
- package/components/dropdown/themes/dark/dropdown.shared.css.d.ts +1 -0
- package/components/dropdown/themes/dropdown-group.base.css.d.ts +1 -0
- package/components/dropdown/themes/dropdown-header.base.css.d.ts +1 -0
- package/components/dropdown/themes/dropdown-item.base.css.d.ts +1 -0
- package/components/dropdown/themes/dropdown.base.css.d.ts +1 -0
- package/components/dropdown/themes/group.d.ts +2 -0
- package/components/dropdown/themes/header.d.ts +2 -0
- package/components/dropdown/themes/item.d.ts +2 -0
- package/components/dropdown/themes/light/dropdown.bootstrap.css.d.ts +1 -0
- package/components/dropdown/themes/light/dropdown.fluent.css.d.ts +1 -0
- package/components/dropdown/themes/light/dropdown.indigo.css.d.ts +1 -0
- package/components/dropdown/themes/light/dropdown.material.css.d.ts +1 -0
- package/components/dropdown/themes/light/dropdown.shared.css.d.ts +1 -0
- package/components/dropdown/themes/shared/dropdown.bootstrap.css.d.ts +1 -0
- package/components/dropdown/themes/shared/dropdown.common.css.d.ts +1 -0
- package/components/dropdown/themes/shared/dropdown.fluent.css.d.ts +1 -0
- package/components/dropdown/themes/shared/dropdown.indigo.css.d.ts +1 -0
- package/components/dropdown/themes/shared/dropdown.material.css.d.ts +1 -0
- package/components/dropdown/themes/shared/group/dropdown-group.common.css.d.ts +1 -0
- package/components/dropdown/themes/shared/group/dropdown-group.fluent.css.d.ts +1 -0
- package/components/dropdown/themes/shared/header/dropdown-header.common.css.d.ts +1 -0
- package/components/dropdown/themes/shared/header/dropdown-header.fluent.css.d.ts +1 -0
- package/components/dropdown/themes/shared/header/dropdown-header.indigo.css.d.ts +1 -0
- package/components/dropdown/themes/shared/item/dropdown-item.common.css.d.ts +1 -0
- package/components/dropdown/themes/shared/item/dropdown-item.fluent.css.d.ts +1 -0
- package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.d.ts +1 -0
- package/components/expansion-panel/expansion-panel.d.ts +83 -0
- package/components/expansion-panel/themes/dark/expansion-panel.bootstrap.css.d.ts +1 -0
- package/components/expansion-panel/themes/dark/expansion-panel.fluent.css.d.ts +1 -0
- package/components/expansion-panel/themes/dark/expansion-panel.indigo.css.d.ts +1 -0
- package/components/expansion-panel/themes/dark/expansion-panel.material.css.d.ts +1 -0
- package/components/expansion-panel/themes/dark/expansion-panel.shared.css.d.ts +1 -0
- package/components/expansion-panel/themes/expansion-panel.base.css.d.ts +1 -0
- package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.d.ts +1 -0
- package/components/expansion-panel/themes/light/expansion-panel.fluent.css.d.ts +1 -0
- package/components/expansion-panel/themes/light/expansion-panel.indigo.css.d.ts +1 -0
- package/components/expansion-panel/themes/light/expansion-panel.material.css.d.ts +1 -0
- package/components/expansion-panel/themes/light/expansion-panel.shared.css.d.ts +1 -0
- package/components/expansion-panel/themes/shared/expansion-panel.bootstrap.css.d.ts +1 -0
- package/components/expansion-panel/themes/shared/expansion-panel.common.css.d.ts +1 -0
- package/components/expansion-panel/themes/shared/expansion-panel.fluent.css.d.ts +1 -0
- package/components/expansion-panel/themes/shared/expansion-panel.indigo.css.d.ts +1 -0
- package/components/expansion-panel/themes/themes.d.ts +2 -0
- package/components/focus-trap/focus-trap.d.ts +35 -0
- package/components/icon/icon-references.d.ts +28 -0
- package/components/icon/icon-state.broadcast.d.ts +14 -0
- package/components/icon/icon.d.ts +47 -0
- package/components/icon/icon.registry.d.ts +24 -0
- package/components/icon/internal-icons-lib.d.ts +2 -0
- package/components/icon/registry/default-map.d.ts +12 -0
- package/components/icon/registry/parser.d.ts +6 -0
- package/components/icon/registry/types.d.ts +35 -0
- package/components/icon/themes/dark/icon.bootstrap.css.d.ts +1 -0
- package/components/icon/themes/dark/icon.fluent.css.d.ts +1 -0
- package/components/icon/themes/dark/icon.indigo.css.d.ts +1 -0
- package/components/icon/themes/dark/icon.material.css.d.ts +1 -0
- package/components/icon/themes/icon.base.css.d.ts +1 -0
- package/components/icon/themes/light/icon.bootstrap.css.d.ts +1 -0
- package/components/icon/themes/light/icon.fluent.css.d.ts +1 -0
- package/components/icon/themes/light/icon.indigo.css.d.ts +1 -0
- package/components/icon/themes/light/icon.material.css.d.ts +1 -0
- package/components/icon/themes/light/icon.shared.css.d.ts +1 -0
- package/components/icon/themes/shared/icon.bootstrap.css.d.ts +1 -0
- package/components/icon/themes/shared/icon.common.css.d.ts +1 -0
- package/components/icon/themes/shared/icon.fluent.css.d.ts +1 -0
- package/components/icon/themes/shared/icon.indigo.css.d.ts +1 -0
- package/components/icon/themes/themes.d.ts +2 -0
- package/components/input/input-base.d.ts +72 -0
- package/components/input/input.d.ts +135 -0
- package/components/input/themes/dark/input.bootstrap.css.d.ts +1 -0
- package/components/input/themes/dark/input.fluent.css.d.ts +1 -0
- package/components/input/themes/dark/input.indigo.css.d.ts +1 -0
- package/components/input/themes/dark/input.material.css.d.ts +1 -0
- package/components/input/themes/input.base.css.d.ts +1 -0
- package/components/input/themes/light/input.bootstrap.css.d.ts +1 -0
- package/components/input/themes/light/input.fluent.css.d.ts +1 -0
- package/components/input/themes/light/input.indigo.css.d.ts +1 -0
- package/components/input/themes/light/input.material.css.d.ts +1 -0
- package/components/input/themes/light/input.shared.css.d.ts +1 -0
- package/components/input/themes/shared/input.bootstrap.css.d.ts +1 -0
- package/components/input/themes/shared/input.common.css.d.ts +1 -0
- package/components/input/themes/shared/input.fluent.css.d.ts +1 -0
- package/components/input/themes/shared/input.indigo.css.d.ts +1 -0
- package/components/input/themes/shared/input.material.css.d.ts +1 -0
- package/components/input/themes/themes.d.ts +2 -0
- package/components/input/validators.d.ts +4 -0
- package/components/list/list-header.d.ts +21 -0
- package/components/list/list-item.d.ts +33 -0
- package/components/list/list.d.ts +21 -0
- package/components/list/themes/container.base.css.d.ts +1 -0
- package/components/list/themes/container.d.ts +2 -0
- package/components/list/themes/dark/container/list.bootstrap.css.d.ts +1 -0
- package/components/list/themes/dark/container/list.fluent.css.d.ts +1 -0
- package/components/list/themes/dark/container/list.indigo.css.d.ts +1 -0
- package/components/list/themes/dark/container/list.material.css.d.ts +1 -0
- package/components/list/themes/dark/container/list.shared.css.d.ts +1 -0
- package/components/list/themes/dark/header/list-header.bootstrap.css.d.ts +1 -0
- package/components/list/themes/dark/header/list-header.fluent.css.d.ts +1 -0
- package/components/list/themes/dark/header/list-header.indigo.css.d.ts +1 -0
- package/components/list/themes/dark/header/list-header.material.css.d.ts +1 -0
- package/components/list/themes/dark/item/list-item.bootstrap.css.d.ts +1 -0
- package/components/list/themes/dark/item/list-item.fluent.css.d.ts +1 -0
- package/components/list/themes/dark/item/list-item.indigo.css.d.ts +1 -0
- package/components/list/themes/dark/item/list-item.material.css.d.ts +1 -0
- package/components/list/themes/header.base.css.d.ts +1 -0
- package/components/list/themes/header.d.ts +2 -0
- package/components/list/themes/item.base.css.d.ts +1 -0
- package/components/list/themes/item.d.ts +2 -0
- package/components/list/themes/light/container/list.bootstrap.css.d.ts +1 -0
- package/components/list/themes/light/container/list.fluent.css.d.ts +1 -0
- package/components/list/themes/light/container/list.indigo.css.d.ts +1 -0
- package/components/list/themes/light/container/list.material.css.d.ts +1 -0
- package/components/list/themes/light/container/list.shared.css.d.ts +1 -0
- package/components/list/themes/light/header/list-header.bootstrap.css.d.ts +1 -0
- package/components/list/themes/light/header/list-header.fluent.css.d.ts +1 -0
- package/components/list/themes/light/header/list-header.indigo.css.d.ts +1 -0
- package/components/list/themes/light/header/list-header.material.css.d.ts +1 -0
- package/components/list/themes/light/item/list-item.bootstrap.css.d.ts +1 -0
- package/components/list/themes/light/item/list-item.fluent.css.d.ts +1 -0
- package/components/list/themes/light/item/list-item.indigo.css.d.ts +1 -0
- package/components/list/themes/light/item/list-item.material.css.d.ts +1 -0
- package/components/list/themes/shared/container/list.bootstrap.css.d.ts +1 -0
- package/components/list/themes/shared/container/list.common.css.d.ts +1 -0
- package/components/list/themes/shared/container/list.fluent.css.d.ts +1 -0
- package/components/list/themes/shared/container/list.indigo.css.d.ts +1 -0
- package/components/list/themes/shared/header/list-header.common.css.d.ts +1 -0
- package/components/list/themes/shared/header/list-header.indigo.css.d.ts +1 -0
- package/components/list/themes/shared/item/list-item.bootstrap.css.d.ts +1 -0
- package/components/list/themes/shared/item/list-item.common.css.d.ts +1 -0
- package/components/list/themes/shared/item/list-item.fluent.css.d.ts +1 -0
- package/components/list/themes/shared/item/list-item.indigo.css.d.ts +1 -0
- package/components/mask-input/mask-input-base.d.ts +34 -0
- package/components/mask-input/mask-input.d.ts +73 -0
- package/components/mask-input/mask-parser.d.ts +32 -0
- package/components/mask-input/validators.d.ts +3 -0
- package/components/nav-drawer/nav-drawer-header-item.d.ts +18 -0
- package/components/nav-drawer/nav-drawer-item.d.ts +38 -0
- package/components/nav-drawer/nav-drawer.d.ts +44 -0
- package/components/nav-drawer/themes/container.base.css.d.ts +1 -0
- package/components/nav-drawer/themes/container.d.ts +2 -0
- package/components/nav-drawer/themes/dark/container/nav-drawer.bootstrap.css.d.ts +1 -0
- package/components/nav-drawer/themes/dark/container/nav-drawer.fluent.css.d.ts +1 -0
- package/components/nav-drawer/themes/dark/container/nav-drawer.indigo.css.d.ts +1 -0
- package/components/nav-drawer/themes/dark/container/nav-drawer.material.css.d.ts +1 -0
- package/components/nav-drawer/themes/dark/container/nav-drawer.shared.css.d.ts +1 -0
- package/components/nav-drawer/themes/header-item.base.css.d.ts +1 -0
- package/components/nav-drawer/themes/header-item.d.ts +2 -0
- package/components/nav-drawer/themes/item.base.css.d.ts +1 -0
- package/components/nav-drawer/themes/item.d.ts +2 -0
- package/components/nav-drawer/themes/light/container/nav-drawer.bootstrap.css.d.ts +1 -0
- package/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.d.ts +1 -0
- package/components/nav-drawer/themes/light/container/nav-drawer.indigo.css.d.ts +1 -0
- package/components/nav-drawer/themes/light/container/nav-drawer.material.css.d.ts +1 -0
- package/components/nav-drawer/themes/light/container/nav-drawer.shared.css.d.ts +1 -0
- package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.d.ts +1 -0
- package/components/nav-drawer/themes/shared/container/nav-drawer.common.css.d.ts +1 -0
- package/components/nav-drawer/themes/shared/container/nav-drawer.fluent.css.d.ts +1 -0
- package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.d.ts +1 -0
- package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.d.ts +1 -0
- package/components/nav-drawer/themes/shared/header-item/header-item.bootstrap.css.d.ts +1 -0
- package/components/nav-drawer/themes/shared/header-item/header-item.common.css.d.ts +1 -0
- package/components/nav-drawer/themes/shared/header-item/header-item.fluent.css.d.ts +1 -0
- package/components/nav-drawer/themes/shared/header-item/header-item.indigo.css.d.ts +1 -0
- package/components/nav-drawer/themes/shared/header-item/header-item.material.css.d.ts +1 -0
- package/components/nav-drawer/themes/shared/item/item.bootstrap.css.d.ts +1 -0
- package/components/nav-drawer/themes/shared/item/item.common.css.d.ts +1 -0
- package/components/nav-drawer/themes/shared/item/item.fluent.css.d.ts +1 -0
- package/components/nav-drawer/themes/shared/item/item.indigo.css.d.ts +1 -0
- package/components/nav-drawer/themes/shared/item/item.material.css.d.ts +1 -0
- package/components/navbar/navbar.d.ts +27 -0
- package/components/navbar/themes/dark/navbar.bootstrap.css.d.ts +1 -0
- package/components/navbar/themes/dark/navbar.fluent.css.d.ts +1 -0
- package/components/navbar/themes/dark/navbar.indigo.css.d.ts +1 -0
- package/components/navbar/themes/dark/navbar.material.css.d.ts +1 -0
- package/components/navbar/themes/light/navbar.bootstrap.css.d.ts +1 -0
- package/components/navbar/themes/light/navbar.fluent.css.d.ts +1 -0
- package/components/navbar/themes/light/navbar.indigo.css.d.ts +1 -0
- package/components/navbar/themes/light/navbar.material.css.d.ts +1 -0
- package/components/navbar/themes/light/navbar.shared.css.d.ts +1 -0
- package/components/navbar/themes/navbar.base.css.d.ts +1 -0
- package/components/navbar/themes/shared/navbar.bootstrap.css.d.ts +1 -0
- package/components/navbar/themes/shared/navbar.common.css.d.ts +1 -0
- package/components/navbar/themes/shared/navbar.fluent.css.d.ts +1 -0
- package/components/navbar/themes/shared/navbar.indigo.css.d.ts +1 -0
- package/components/navbar/themes/themes.d.ts +2 -0
- package/components/popover/popover.d.ts +72 -0
- package/components/popover/themes/light/popover.base.css.d.ts +1 -0
- package/components/progress/base.d.ts +61 -0
- package/components/progress/circular-gradient.d.ts +35 -0
- package/components/progress/circular-progress.d.ts +39 -0
- package/components/progress/linear-progress.d.ts +42 -0
- package/components/progress/themes/circular/circular.progress.base.css.d.ts +1 -0
- package/components/progress/themes/circular/dark/circular.progress.bootstrap.css.d.ts +1 -0
- package/components/progress/themes/circular/dark/circular.progress.fluent.css.d.ts +1 -0
- package/components/progress/themes/circular/dark/circular.progress.indigo.css.d.ts +1 -0
- package/components/progress/themes/circular/dark/circular.progress.material.css.d.ts +1 -0
- package/components/progress/themes/circular/dark/circular.progress.shared.css.d.ts +1 -0
- package/components/progress/themes/circular/light/circular.progress.bootstrap.css.d.ts +1 -0
- package/components/progress/themes/circular/light/circular.progress.fluent.css.d.ts +1 -0
- package/components/progress/themes/circular/light/circular.progress.indigo.css.d.ts +1 -0
- package/components/progress/themes/circular/light/circular.progress.material.css.d.ts +1 -0
- package/components/progress/themes/circular/light/circular.progress.shared.css.d.ts +1 -0
- package/components/progress/themes/circular/shared/circular.progress.bootstrap.css.d.ts +1 -0
- package/components/progress/themes/circular/shared/circular.progress.common.css.d.ts +1 -0
- package/components/progress/themes/circular/shared/circular.progress.fluent.css.d.ts +1 -0
- package/components/progress/themes/circular/shared/circular.progress.indigo.css.d.ts +1 -0
- package/components/progress/themes/circular/themes.d.ts +2 -0
- package/components/progress/themes/linear/dark/linear.progress.bootstrap.css.d.ts +1 -0
- package/components/progress/themes/linear/dark/linear.progress.fluent.css.d.ts +1 -0
- package/components/progress/themes/linear/dark/linear.progress.indigo.css.d.ts +1 -0
- package/components/progress/themes/linear/dark/linear.progress.material.css.d.ts +1 -0
- package/components/progress/themes/linear/dark/linear.progress.shared.css.d.ts +1 -0
- package/components/progress/themes/linear/light/linear.progress.bootstrap.css.d.ts +1 -0
- package/components/progress/themes/linear/light/linear.progress.fluent.css.d.ts +1 -0
- package/components/progress/themes/linear/light/linear.progress.indigo.css.d.ts +1 -0
- package/components/progress/themes/linear/light/linear.progress.material.css.d.ts +1 -0
- package/components/progress/themes/linear/light/linear.progress.shared.css.d.ts +1 -0
- package/components/progress/themes/linear/linear.progress.base.css.d.ts +1 -0
- package/components/progress/themes/linear/shared/linear.progress.bootstrap.css.d.ts +1 -0
- package/components/progress/themes/linear/shared/linear.progress.common.css.d.ts +1 -0
- package/components/progress/themes/linear/shared/linear.progress.fluent.css.d.ts +1 -0
- package/components/progress/themes/linear/shared/linear.progress.indigo.css.d.ts +1 -0
- package/components/progress/themes/linear/themes.d.ts +2 -0
- package/components/radio/radio.d.ts +101 -0
- package/components/radio/themes/dark/radio.bootstrap.css.d.ts +1 -0
- package/components/radio/themes/dark/radio.fluent.css.d.ts +1 -0
- package/components/radio/themes/dark/radio.indigo.css.d.ts +1 -0
- package/components/radio/themes/dark/radio.material.css.d.ts +1 -0
- package/components/radio/themes/light/radio.bootstrap.css.d.ts +1 -0
- package/components/radio/themes/light/radio.fluent.css.d.ts +1 -0
- package/components/radio/themes/light/radio.indigo.css.d.ts +1 -0
- package/components/radio/themes/light/radio.material.css.d.ts +1 -0
- package/components/radio/themes/light/radio.shared.css.d.ts +1 -0
- package/components/radio/themes/radio.base.css.d.ts +1 -0
- package/components/radio/themes/shared/radio.bootstrap.css.d.ts +1 -0
- package/components/radio/themes/shared/radio.common.css.d.ts +1 -0
- package/components/radio/themes/shared/radio.fluent.css.d.ts +1 -0
- package/components/radio/themes/shared/radio.indigo.css.d.ts +1 -0
- package/components/radio/themes/shared/radio.material.css.d.ts +1 -0
- package/components/radio/themes/themes.d.ts +2 -0
- package/components/radio/utils.d.ts +13 -0
- package/components/radio/validators.d.ts +3 -0
- package/components/radio-group/radio-group.base.css.d.ts +1 -0
- package/components/radio-group/radio-group.d.ts +51 -0
- package/components/radio-group/radio-group.fluent.css.d.ts +1 -0
- package/components/radio-group/radio-group.indigo.css.d.ts +1 -0
- package/components/radio-group/radio-group.material.css.d.ts +1 -0
- package/components/rating/rating-symbol.d.ts +26 -0
- package/components/rating/rating.d.ts +143 -0
- package/components/rating/themes/dark/rating.bootstrap.css.d.ts +1 -0
- package/components/rating/themes/dark/rating.fluent.css.d.ts +1 -0
- package/components/rating/themes/dark/rating.indigo.css.d.ts +1 -0
- package/components/rating/themes/dark/rating.material.css.d.ts +1 -0
- package/components/rating/themes/light/rating.bootstrap.css.d.ts +1 -0
- package/components/rating/themes/light/rating.fluent.css.d.ts +1 -0
- package/components/rating/themes/light/rating.indigo.css.d.ts +1 -0
- package/components/rating/themes/light/rating.material.css.d.ts +1 -0
- package/components/rating/themes/light/rating.shared.css.d.ts +1 -0
- package/components/rating/themes/rating-symbol.base.css.d.ts +1 -0
- package/components/rating/themes/rating.base.css.d.ts +1 -0
- package/components/rating/themes/shared/rating.bootstrap.css.d.ts +1 -0
- package/components/rating/themes/shared/rating.common.css.d.ts +1 -0
- package/components/rating/themes/shared/rating.fluent.css.d.ts +1 -0
- package/components/rating/themes/shared/rating.indigo.css.d.ts +1 -0
- package/components/rating/themes/themes.d.ts +2 -0
- package/components/resize-container/default-ghost.d.ts +4 -0
- package/components/resize-container/resize-container.d.ts +68 -0
- package/components/resize-container/resize-container.js +0 -1
- package/components/resize-container/resize-container.js.map +1 -1
- package/components/resize-container/resize-controller.d.ts +46 -0
- package/components/resize-container/themes/dark/resize-indicator.bootstrap.css.d.ts +1 -0
- package/components/resize-container/themes/dark/resize-indicator.fluent.css.d.ts +1 -0
- package/components/resize-container/themes/dark/resize-indicator.indigo.css.d.ts +1 -0
- package/components/resize-container/themes/dark/resize-indicator.material.css.d.ts +1 -0
- package/components/resize-container/themes/dark/resize-indicator.shared.css.d.ts +1 -0
- package/components/resize-container/themes/light/resize-indicator.bootstrap.css.d.ts +1 -0
- package/components/resize-container/themes/light/resize-indicator.fluent.css.d.ts +1 -0
- package/components/resize-container/themes/light/resize-indicator.indigo.css.d.ts +1 -0
- package/components/resize-container/themes/light/resize-indicator.material.css.d.ts +1 -0
- package/components/resize-container/themes/light/resize-indicator.shared.css.d.ts +1 -0
- package/components/resize-container/themes/resize-container.base.css.d.ts +1 -0
- package/components/resize-container/themes/shared/resize-container.common.css.d.ts +1 -0
- package/components/resize-container/themes/themes.d.ts +2 -0
- package/components/resize-container/types.d.ts +38 -0
- package/components/ripple/ripple.d.ts +21 -0
- package/components/ripple/ripple.material.css.d.ts +1 -0
- package/components/select/select-group.d.ts +35 -0
- package/components/select/select-header.d.ts +19 -0
- package/components/select/select-item.d.ts +30 -0
- package/components/select/select.d.ts +171 -0
- package/components/select/themes/dark/select.bootstrap.css.d.ts +1 -0
- package/components/select/themes/dark/select.fluent.css.d.ts +1 -0
- package/components/select/themes/dark/select.indigo.css.d.ts +1 -0
- package/components/select/themes/dark/select.material.css.d.ts +1 -0
- package/components/select/themes/light/select.bootstrap.css.d.ts +1 -0
- package/components/select/themes/light/select.fluent.css.d.ts +1 -0
- package/components/select/themes/light/select.indigo.css.d.ts +1 -0
- package/components/select/themes/light/select.material.css.d.ts +1 -0
- package/components/select/themes/light/select.shared.css.d.ts +1 -0
- package/components/select/themes/select.base.css.d.ts +1 -0
- package/components/select/themes/shared/select.bootstrap.css.d.ts +1 -0
- package/components/select/themes/shared/select.common.css.d.ts +1 -0
- package/components/select/themes/shared/select.fluent.css.d.ts +1 -0
- package/components/select/themes/shared/select.indigo.css.d.ts +1 -0
- package/components/select/themes/shared/select.material.css.d.ts +1 -0
- package/components/select/themes/themes.d.ts +2 -0
- package/components/select/validators.d.ts +3 -0
- package/components/slider/range-slider.d.ts +91 -0
- package/components/slider/slider-base.d.ts +165 -0
- package/components/slider/slider-label.d.ts +12 -0
- package/components/slider/slider.d.ts +74 -0
- package/components/slider/themes/dark/slider.bootstrap.css.d.ts +1 -0
- package/components/slider/themes/dark/slider.fluent.css.d.ts +1 -0
- package/components/slider/themes/dark/slider.indigo.css.d.ts +1 -0
- package/components/slider/themes/dark/slider.material.css.d.ts +1 -0
- package/components/slider/themes/light/slider.bootstrap.css.d.ts +1 -0
- package/components/slider/themes/light/slider.fluent.css.d.ts +1 -0
- package/components/slider/themes/light/slider.indigo.css.d.ts +1 -0
- package/components/slider/themes/light/slider.material.css.d.ts +1 -0
- package/components/slider/themes/light/slider.shared.css.d.ts +1 -0
- package/components/slider/themes/shared/slider.bootstrap.css.d.ts +1 -0
- package/components/slider/themes/shared/slider.common.css.d.ts +1 -0
- package/components/slider/themes/shared/slider.fluent.css.d.ts +1 -0
- package/components/slider/themes/shared/slider.indigo.css.d.ts +1 -0
- package/components/slider/themes/shared/slider.material.css.d.ts +1 -0
- package/components/slider/themes/slider.base.css.d.ts +1 -0
- package/components/slider/themes/themes.d.ts +2 -0
- package/components/snackbar/snackbar.d.ts +44 -0
- package/components/snackbar/themes/dark/snackbar.bootstrap.css.d.ts +1 -0
- package/components/snackbar/themes/dark/snackbar.fluent.css.d.ts +1 -0
- package/components/snackbar/themes/dark/snackbar.indigo.css.d.ts +1 -0
- package/components/snackbar/themes/dark/snackbar.material.css.d.ts +1 -0
- package/components/snackbar/themes/light/snackbar.bootstrap.css.d.ts +1 -0
- package/components/snackbar/themes/light/snackbar.fluent.css.d.ts +1 -0
- package/components/snackbar/themes/light/snackbar.indigo.css.d.ts +1 -0
- package/components/snackbar/themes/light/snackbar.material.css.d.ts +1 -0
- package/components/snackbar/themes/light/snackbar.shared.css.d.ts +1 -0
- package/components/snackbar/themes/shared/snackbar.bootstrap.css.d.ts +1 -0
- package/components/snackbar/themes/shared/snackbar.common.css.d.ts +1 -0
- package/components/snackbar/themes/shared/snackbar.fluent.css.d.ts +1 -0
- package/components/snackbar/themes/shared/snackbar.indigo.css.d.ts +1 -0
- package/components/snackbar/themes/snackbar.base.css.d.ts +1 -0
- package/components/snackbar/themes/themes.d.ts +2 -0
- package/components/stepper/animations.d.ts +8 -0
- package/components/stepper/step.d.ts +104 -0
- package/components/stepper/stepper.common.d.ts +11 -0
- package/components/stepper/stepper.d.ts +125 -0
- package/components/stepper/themes/step/dark/step.bootstrap.css.d.ts +1 -0
- package/components/stepper/themes/step/dark/step.fluent.css.d.ts +1 -0
- package/components/stepper/themes/step/dark/step.indigo.css.d.ts +1 -0
- package/components/stepper/themes/step/dark/step.material.css.d.ts +1 -0
- package/components/stepper/themes/step/dark/step.shared.css.d.ts +1 -0
- package/components/stepper/themes/step/light/step.bootstrap.css.d.ts +1 -0
- package/components/stepper/themes/step/light/step.fluent.css.d.ts +1 -0
- package/components/stepper/themes/step/light/step.indigo.css.d.ts +1 -0
- package/components/stepper/themes/step/light/step.material.css.d.ts +1 -0
- package/components/stepper/themes/step/light/step.shared.css.d.ts +1 -0
- package/components/stepper/themes/step/shared/step.bootstrap.css.d.ts +1 -0
- package/components/stepper/themes/step/shared/step.common.css.d.ts +1 -0
- package/components/stepper/themes/step/shared/step.fluent.css.d.ts +1 -0
- package/components/stepper/themes/step/shared/step.indigo.css.d.ts +1 -0
- package/components/stepper/themes/step/step.base.css.d.ts +1 -0
- package/components/stepper/themes/step/themes.d.ts +2 -0
- package/components/stepper/themes/stepper/stepper.base.css.d.ts +1 -0
- package/components/stepper/themes/stepper/stepper.bootstrap.css.d.ts +1 -0
- package/components/stepper/themes/stepper/stepper.fluent.css.d.ts +1 -0
- package/components/stepper/themes/stepper/stepper.indigo.css.d.ts +1 -0
- package/components/tabs/tab-panel.d.ts +21 -0
- package/components/tabs/tab.d.ts +47 -0
- package/components/tabs/tabs.d.ts +93 -0
- package/components/tabs/themes/dark/tab.bootstrap.css.d.ts +1 -0
- package/components/tabs/themes/dark/tab.fluent.css.d.ts +1 -0
- package/components/tabs/themes/dark/tab.indigo.css.d.ts +1 -0
- package/components/tabs/themes/dark/tab.material.css.d.ts +1 -0
- package/components/tabs/themes/dark/tab.shared.css.d.ts +1 -0
- package/components/tabs/themes/light/tab.bootstrap.css.d.ts +1 -0
- package/components/tabs/themes/light/tab.fluent.css.d.ts +1 -0
- package/components/tabs/themes/light/tab.indigo.css.d.ts +1 -0
- package/components/tabs/themes/light/tab.material.css.d.ts +1 -0
- package/components/tabs/themes/light/tab.shared.css.d.ts +1 -0
- package/components/tabs/themes/shared/tab/tab.bootstrap.css.d.ts +1 -0
- package/components/tabs/themes/shared/tab/tab.common.css.d.ts +1 -0
- package/components/tabs/themes/shared/tab/tab.fluent.css.d.ts +1 -0
- package/components/tabs/themes/shared/tab/tab.indigo.css.d.ts +1 -0
- package/components/tabs/themes/shared/tabs/tabs.bootstrap.css.d.ts +1 -0
- package/components/tabs/themes/shared/tabs/tabs.common.css.d.ts +1 -0
- package/components/tabs/themes/shared/tabs/tabs.fluent.css.d.ts +1 -0
- package/components/tabs/themes/shared/tabs/tabs.indigo.css.d.ts +1 -0
- package/components/tabs/themes/tab-panel.base.css.d.ts +1 -0
- package/components/tabs/themes/tab-themes.d.ts +2 -0
- package/components/tabs/themes/tab.base.css.d.ts +1 -0
- package/components/tabs/themes/tabs-themes.d.ts +2 -0
- package/components/tabs/themes/tabs.base.css.d.ts +1 -0
- package/components/textarea/textarea.d.ts +203 -0
- package/components/textarea/themes/dark/textarea.bootstrap.css.d.ts +1 -0
- package/components/textarea/themes/dark/textarea.fluent.css.d.ts +1 -0
- package/components/textarea/themes/dark/textarea.indigo.css.d.ts +1 -0
- package/components/textarea/themes/dark/textarea.material.css.d.ts +1 -0
- package/components/textarea/themes/light/textarea.bootstrap.css.d.ts +1 -0
- package/components/textarea/themes/light/textarea.fluent.css.d.ts +1 -0
- package/components/textarea/themes/light/textarea.indigo.css.d.ts +1 -0
- package/components/textarea/themes/light/textarea.material.css.d.ts +1 -0
- package/components/textarea/themes/light/textarea.shared.css.d.ts +1 -0
- package/components/textarea/themes/shared/textarea.bootstrap.css.d.ts +1 -0
- package/components/textarea/themes/shared/textarea.common.css.d.ts +1 -0
- package/components/textarea/themes/shared/textarea.fluent.css.d.ts +1 -0
- package/components/textarea/themes/shared/textarea.indigo.css.d.ts +1 -0
- package/components/textarea/themes/shared/textarea.material.css.d.ts +1 -0
- package/components/textarea/themes/textarea.base.css.d.ts +1 -0
- package/components/textarea/themes/themes.d.ts +2 -0
- package/components/textarea/validators.d.ts +3 -0
- package/components/tile-manager/position.d.ts +35 -0
- package/components/tile-manager/serializer.d.ts +28 -0
- package/components/tile-manager/serializer.js +2 -0
- package/components/tile-manager/serializer.js.map +1 -1
- package/components/tile-manager/themes/container.d.ts +2 -0
- package/components/tile-manager/themes/dark/tile-manager.bootstrap.css.d.ts +1 -0
- package/components/tile-manager/themes/dark/tile-manager.fluent.css.d.ts +1 -0
- package/components/tile-manager/themes/dark/tile-manager.indigo.css.d.ts +1 -0
- package/components/tile-manager/themes/dark/tile-manager.material.css.d.ts +1 -0
- package/components/tile-manager/themes/dark/tile-manager.shared.css.d.ts +1 -0
- package/components/tile-manager/themes/light/tile-manager.bootstrap.css.d.ts +1 -0
- package/components/tile-manager/themes/light/tile-manager.fluent.css.d.ts +1 -0
- package/components/tile-manager/themes/light/tile-manager.indigo.css.d.ts +1 -0
- package/components/tile-manager/themes/light/tile-manager.material.css.d.ts +1 -0
- package/components/tile-manager/themes/light/tile-manager.shared.css.d.ts +1 -0
- package/components/tile-manager/themes/shared/tile/tile.bootstrap.css.d.ts +1 -0
- package/components/tile-manager/themes/shared/tile/tile.common.css.d.ts +1 -0
- package/components/tile-manager/themes/shared/tile/tile.fluent.css.d.ts +1 -0
- package/components/tile-manager/themes/shared/tile/tile.indigo.css.d.ts +1 -0
- package/components/tile-manager/themes/shared/tile-manager.common.css.d.ts +1 -0
- package/components/tile-manager/themes/tile-manager.base.css.d.ts +1 -0
- package/components/tile-manager/themes/tile.base.css.d.ts +1 -0
- package/components/tile-manager/themes/tile.d.ts +2 -0
- package/components/tile-manager/tile-manager.d.ts +99 -0
- package/components/tile-manager/tile-util.d.ts +68 -0
- package/components/tile-manager/tile-util.js +7 -0
- package/components/tile-manager/tile-util.js.map +1 -1
- package/components/tile-manager/tile.d.ts +193 -0
- package/components/tile-manager/tile.js +36 -26
- package/components/tile-manager/tile.js.map +1 -1
- package/components/toast/themes/dark/toast.bootstrap.css.d.ts +1 -0
- package/components/toast/themes/dark/toast.fluent.css.d.ts +1 -0
- package/components/toast/themes/dark/toast.indigo.css.d.ts +1 -0
- package/components/toast/themes/dark/toast.material.css.d.ts +1 -0
- package/components/toast/themes/dark/toast.shared.css.d.ts +1 -0
- package/components/toast/themes/light/toast.bootstrap.css.d.ts +1 -0
- package/components/toast/themes/light/toast.fluent.css.d.ts +1 -0
- package/components/toast/themes/light/toast.indigo.css.d.ts +1 -0
- package/components/toast/themes/light/toast.material.css.d.ts +1 -0
- package/components/toast/themes/light/toast.shared.css.d.ts +1 -0
- package/components/toast/themes/shared/toast.bootstrap.css.d.ts +1 -0
- package/components/toast/themes/shared/toast.common.css.d.ts +1 -0
- package/components/toast/themes/shared/toast.fluent.css.d.ts +1 -0
- package/components/toast/themes/themes.d.ts +2 -0
- package/components/toast/themes/toast.base.css.d.ts +1 -0
- package/components/toast/toast.d.ts +21 -0
- package/components/tree/themes/container.base.css.d.ts +1 -0
- package/components/tree/themes/container.d.ts +2 -0
- package/components/tree/themes/dark/container.bootstrap.css.d.ts +1 -0
- package/components/tree/themes/dark/container.fluent.css.d.ts +1 -0
- package/components/tree/themes/dark/container.indigo.css.d.ts +1 -0
- package/components/tree/themes/dark/container.material.css.d.ts +1 -0
- package/components/tree/themes/dark/container.shared.css.d.ts +1 -0
- package/components/tree/themes/item.base.css.d.ts +1 -0
- package/components/tree/themes/item.d.ts +2 -0
- package/components/tree/themes/light/container.bootstrap.css.d.ts +1 -0
- package/components/tree/themes/light/container.fluent.css.d.ts +1 -0
- package/components/tree/themes/light/container.indigo.css.d.ts +1 -0
- package/components/tree/themes/light/container.material.css.d.ts +1 -0
- package/components/tree/themes/light/container.shared.css.d.ts +1 -0
- package/components/tree/themes/shared/item.common.css.d.ts +1 -0
- package/components/tree/themes/shared/item.indigo.css.d.ts +1 -0
- package/components/tree/themes/shared/item.material.css.d.ts +1 -0
- package/components/tree/tree-item.d.ts +137 -0
- package/components/tree/tree.common.d.ts +16 -0
- package/components/tree/tree.d.ts +77 -0
- package/components/tree/tree.navigation.d.ts +41 -0
- package/components/tree/tree.selection.d.ts +55 -0
- package/components/types.d.ts +5 -0
- package/components/validation-container/themes/dark/validator.bootstrap.css.d.ts +1 -0
- package/components/validation-container/themes/dark/validator.fluent.css.d.ts +1 -0
- package/components/validation-container/themes/dark/validator.indigo.css.d.ts +1 -0
- package/components/validation-container/themes/dark/validator.material.css.d.ts +1 -0
- package/components/validation-container/themes/light/validator.bootstrap.css.d.ts +1 -0
- package/components/validation-container/themes/light/validator.fluent.css.d.ts +1 -0
- package/components/validation-container/themes/light/validator.indigo.css.d.ts +1 -0
- package/components/validation-container/themes/light/validator.material.css.d.ts +1 -0
- package/components/validation-container/themes/light/validator.shared.css.d.ts +1 -0
- package/components/validation-container/themes/shared/validator.common.css.d.ts +1 -0
- package/components/validation-container/themes/themes.d.ts +2 -0
- package/components/validation-container/themes/validator.base.css.d.ts +1 -0
- package/components/validation-container/validation-container.d.ts +42 -0
- package/custom-elements.json +34 -20
- package/igniteui-webcomponents.css-data.json +1 -1
- package/igniteui-webcomponents.html-data.json +1 -1
- package/index.d.ts +107 -0
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/theming/config.d.ts +17 -0
- package/theming/theming-controller.d.ts +18 -0
- package/theming/theming-decorator.d.ts +43 -0
- package/theming/theming-event.d.ts +21 -0
- package/theming/types.d.ts +26 -0
- package/theming/utils.d.ts +1 -0
- package/web-types.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tile-util.js","sourceRoot":"","sources":["../../../src/components/tile-manager/tile-util.ts"],"names":[],"mappings":"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","sourcesContent":["import { asNumber, first } from '../common/util.js';\nimport type { ResizeState } from '../resize-container/types.js';\nimport type IgcTileComponent from './tile.js';\n\ntype TilePosition = {\n start: number;\n span: number;\n};\n\ntype TileGridPosition = {\n column: TilePosition;\n row: TilePosition;\n};\n\nexport const DraggedTileAttribute = 'data-drag-ghost-tile';\n\ntype TileGridDimension = { count: number; entries: number[]; minSize: number };\n\nconst CssValues = new RegExp(/(?<start>\\d+)?\\s*\\/?\\s*span\\s*(?<span>\\d+)?/gi);\n\nfunction parseTileGridRect(tile: IgcTileComponent): TileGridPosition {\n const computed = getComputedStyle(tile);\n const { gridColumn, gridRow } = computed;\n\n const [column, row] = [\n first(Array.from(gridColumn.matchAll(CssValues))).groups!,\n first(Array.from(gridRow.matchAll(CssValues))).groups!,\n ];\n\n return {\n column: {\n start: asNumber(column.start, -1),\n span: asNumber(column.span, -1),\n },\n row: { start: asNumber(row.start, -1), span: asNumber(row.span, -1) },\n };\n}\n\nfunction parseTileParentGrid(gridContainer: HTMLElement) {\n const computed = getComputedStyle(gridContainer);\n const { gap, gridTemplateColumns, gridTemplateRows } = computed;\n\n const columns = gridTemplateColumns.split(' ').map(asNumber);\n const rows = gridTemplateRows.split(' ').map(asNumber);\n\n return {\n gap: asNumber(gap),\n columns: {\n count: columns.length,\n entries: columns,\n minSize: asNumber(computed.getPropertyValue('--ig-min-col-width')),\n },\n rows: {\n count: rows.length,\n entries: rows,\n minSize: asNumber(computed.getPropertyValue('--ig-min-row-height')),\n },\n };\n}\n\nclass TileResizeState {\n private _initialPosition!: TileGridPosition;\n\n protected _gap = 0;\n protected _prevDeltaX = 0;\n protected _prevDeltaY = 0;\n\n protected _prevSnappedWidth = 0;\n protected _prevSnappedHeight = 0;\n\n protected _position: TileGridPosition = {\n column: { start: 0, span: 0 },\n row: { start: 0, span: 0 },\n };\n\n protected _columns: TileGridDimension = {\n count: 0,\n entries: [],\n minSize: 0,\n };\n\n protected _rows: TileGridDimension = {\n count: 0,\n entries: [],\n minSize: 0,\n };\n\n public get gap(): number {\n return this._gap;\n }\n\n public get position(): TileGridPosition {\n return structuredClone(this._position);\n }\n\n public get columns(): TileGridDimension {\n return structuredClone(this._columns);\n }\n\n public get rows(): TileGridDimension {\n return structuredClone(this._rows);\n }\n\n public calculateSnappedWidth(state: ResizeState): number {\n const result = this.calculateSnappedDimension(\n state.current.width,\n state.deltaX,\n this._prevDeltaX,\n this._columns.entries,\n this._position.column.start,\n this._prevSnappedWidth,\n this._columns.minSize\n );\n\n this._prevDeltaX = result.newDelta;\n this._prevSnappedWidth = result.snapped;\n return result.snapped;\n }\n\n public calculateSnappedHeight(state: ResizeState): number {\n const result = this.calculateSnappedDimension(\n state.current.height,\n state.deltaY,\n this._prevDeltaY,\n this._rows.entries,\n this._position.row.start,\n this._prevSnappedHeight,\n this._rows.minSize\n );\n\n this._prevDeltaY = result.newDelta;\n this._prevSnappedHeight = result.snapped;\n return result.snapped;\n }\n\n public updateState(\n tileRect: DOMRect,\n tile: IgcTileComponent,\n grid: HTMLElement\n ): void {\n this.initState(grid, tile);\n this.calculateTileStartPosition(grid, tileRect);\n }\n\n /**\n * Calculates and returns the CSS column and row properties of a tile after resizing,\n * based on its new dimensions and starting position.\n */\n public getResizedPosition(rect: DOMRect) {\n const { column, row } = this._initialPosition;\n\n // REVIEW pass col minSize and allowOverflow?\n this._position.column.span = this.calculateResizedSpan(\n rect.width,\n this._position.column,\n this._columns.entries\n );\n\n this._position.row.span = this.calculateResizedSpan(\n rect.height,\n this._position.row,\n this._rows.entries,\n this._rows.minSize,\n true\n );\n\n const cssColumn = `${column.start < 0 ? 'auto' : column.start} / span ${this._position.column.span}`;\n const cssRow = `${row.start < 0 ? 'auto' : row.start} / span ${this._position.row.span}`;\n\n return { column: cssColumn, row: cssRow };\n }\n\n public calculateResizedSize(grid: HTMLElement) {\n const { columns, rows } = parseTileParentGrid(grid);\n\n const width = this.calculateSizeFromEntries(columns.entries);\n const height = this.calculateSizeFromEntries(rows.entries, true);\n\n return { width, height };\n }\n\n /**\n * Checks and adjusts tile spans based on the column count of the tile manager.\n */\n // REVIEW once we decide how to handle empty columns.\n public adjustTileGridPosition(tiles: IgcTileComponent[]): void {\n const columnCount = this.columns.count;\n\n for (const tile of tiles) {\n const colStart = tile.colStart || 0;\n const colSpan = tile.colSpan || 0;\n\n if (colStart > columnCount) {\n //Prioritize span over start?\n tile.colSpan = 1;\n tile.colStart = columnCount;\n continue;\n }\n\n if (colStart + colSpan - 1 > columnCount) {\n tile.colSpan = columnCount - colStart + 1;\n }\n }\n }\n\n private calculateSnappedDimension(\n currentSize: number,\n currentDelta: number,\n prevDelta: number,\n gridEntries: number[],\n startIndex: number,\n prevSnapped: number,\n minSize: number\n ): { snapped: number; newDelta: number } {\n const effectiveDelta = currentDelta - prevDelta;\n let snapped = currentSize;\n\n // If current size is below minimum, force to the size of the starting cell.\n if (Math.trunc(currentSize) < minSize) {\n return { snapped: gridEntries[startIndex], newDelta: currentDelta };\n }\n\n // If no change in delta and we have a snapped value, reuse it.\n if (effectiveDelta === 0 && prevSnapped) {\n return { snapped: prevSnapped, newDelta: currentDelta };\n }\n\n let accumulated = 0;\n for (let i = startIndex - 1; i < gridEntries.length; i++) {\n const currentEntry = gridEntries[i];\n const nextEntry = gridEntries[i + 1] ?? currentEntry;\n const prevEntry = i > 0 ? gridEntries[i - 1] : currentEntry;\n\n // Thresholds for snapping to the next or previous tile boundary.\n const halfwayExpand =\n accumulated + currentEntry + this.gap + nextEntry / 2;\n const halfwayShrink = accumulated + prevEntry / 2;\n const entryEnd = accumulated + currentEntry + this.gap;\n\n if (effectiveDelta > 0) {\n // Expanding: snap when passing the halfway threshold.\n if (\n currentSize >= halfwayExpand &&\n currentSize <= entryEnd + nextEntry\n ) {\n snapped = entryEnd + nextEntry;\n }\n } else if (effectiveDelta < 0) {\n // Shrinking: snap when falling below the halfway threshold.\n if (currentSize <= halfwayShrink && currentSize > accumulated) {\n snapped = accumulated - this.gap;\n }\n }\n\n accumulated += currentEntry + this.gap;\n }\n\n return { snapped, newDelta: currentDelta };\n }\n\n private calculateResizedSpan(\n targetSize: number,\n tilePosition: TilePosition,\n sizes: number[],\n minSize = 0,\n allowOverflow = false\n ): number {\n let accumulatedSize = 0;\n let newSpan = tilePosition.span;\n\n const sizesAfterStart = sizes.slice(tilePosition.start - 1);\n const availableSize =\n sizesAfterStart.reduce((sum, s) => sum + s, 0) +\n (sizes.length - 1) * this.gap;\n\n if (targetSize <= sizes[0] + this.gap) {\n return 1;\n }\n\n if (targetSize > availableSize) {\n const remainingSize = targetSize - availableSize;\n return this.calculateAdditionalSpan(\n remainingSize,\n sizesAfterStart.length,\n minSize,\n allowOverflow\n );\n }\n\n for (let i = tilePosition.start - 1; i < sizes.length; i++) {\n const currentSize = sizes[i];\n const nextSize = sizes[i + 1] ?? currentSize;\n\n const halfwayPoint =\n accumulatedSize + currentSize + this.gap + nextSize / 2;\n\n if (targetSize > halfwayPoint) {\n newSpan = i + 3 - tilePosition.start;\n } else {\n break;\n }\n\n accumulatedSize += currentSize + this.gap;\n }\n\n return newSpan;\n }\n\n private initState(grid: HTMLElement, tile: IgcTileComponent): void {\n const { gap, columns, rows } = parseTileParentGrid(grid);\n\n this._initialPosition = parseTileGridRect(tile);\n this._position = structuredClone(this._initialPosition);\n\n this._gap = gap;\n this._columns = columns;\n this._rows = rows;\n this._prevDeltaX = 0;\n this._prevDeltaY = 0;\n this._prevSnappedWidth = 0;\n this._prevSnappedHeight = 0;\n }\n\n private calculateTileStartPosition(\n grid: HTMLElement,\n tileRect: DOMRect\n ): void {\n if (this._position.column.start < 0) {\n const offsetX = this.getGridOffset(grid, 'horizontal');\n\n this._position.column.start = this.calculatePosition(\n tileRect.left + window.scrollX + grid.scrollLeft - offsetX,\n this._columns.entries\n );\n }\n\n if (this._position.row.start < 0) {\n const offsetY = this.getGridOffset(grid, 'vertical');\n\n this._position.row.start = this.calculatePosition(\n tileRect.top + window.scrollY - offsetY,\n this._rows.entries\n );\n }\n }\n\n private calculatePosition(targetPosition: number, sizes: number[]): number {\n const gap = this.gap;\n let accumulatedSize = 0;\n\n for (const [i, size] of sizes.entries()) {\n accumulatedSize += size + gap;\n\n if (Math.trunc(targetPosition) < Math.trunc(accumulatedSize - gap)) {\n return i + 1;\n }\n }\n\n return 1;\n }\n\n private calculateAdditionalSpan(\n remainingSize: number,\n currentSpan: number,\n minSize: number,\n allowOverflow: boolean\n ) {\n if (allowOverflow) {\n const additionalSpan = Math.ceil(remainingSize / (minSize + this.gap));\n return currentSpan + additionalSpan;\n }\n\n return currentSpan;\n }\n\n private calculateSizeFromEntries(entries: number[], isRow = false) {\n const start = isRow ? this.position.row.start : this.position.column.start;\n const span = isRow ? this.position.row.span : this.position.column.span;\n\n let accumulatedSize = 0;\n\n for (let i = 0; i < span; i++) {\n const gap = i > 0 ? this.gap : 0;\n accumulatedSize += entries[start - 1 + i] + gap;\n }\n\n return accumulatedSize;\n }\n\n private getGridOffset(\n grid: HTMLElement,\n axis: 'horizontal' | 'vertical'\n ): number {\n const gridRect = grid.getBoundingClientRect();\n const computed = getComputedStyle(grid);\n\n return axis === 'horizontal'\n ? gridRect.left +\n window.scrollX +\n grid.scrollLeft +\n Number.parseFloat(computed.paddingLeft)\n : gridRect.top + window.scrollY + Number.parseFloat(computed.paddingTop);\n }\n}\n\nexport function createTileResizeState(): TileResizeState {\n return new TileResizeState();\n}\n\nexport function createTileDragGhost(tile: IgcTileComponent): IgcTileComponent {\n const clone = tile.cloneNode(true) as IgcTileComponent;\n const computed = getComputedStyle(tile);\n\n const { width, height } = tile.getBoundingClientRect();\n\n clone.removeAttribute('id');\n clone.setAttribute(DraggedTileAttribute, '');\n clone.inert = true;\n clone.position = -1;\n\n Object.assign(clone.style, {\n position: 'absolute',\n contain: 'strict',\n top: 0,\n left: 0,\n width: `${width}px`,\n height: `${height}px`,\n opacity: 0.6,\n background: `${computed.getPropertyValue('--tile-background')}`,\n border: `1px solid ${computed.getPropertyValue('--hover-border-color')}`,\n borderRadius: computed.getPropertyValue('--border-radius'),\n boxShadow: `${computed.getPropertyValue('--drag-elevation')}`,\n zIndex: 1000,\n viewTransitionName: 'dragged-tile-ghost',\n });\n\n return clone;\n}\n\nexport function createTileGhost(): HTMLElement {\n const element = document.createElement('div');\n\n Object.assign(element.style, {\n position: 'absolute',\n contain: 'strict',\n top: 0,\n left: 0,\n zIndex: 1000,\n background: 'var(--placeholder-background)',\n border: '1px solid var(--ghost-border)',\n borderRadius: 'var(--border-radius)',\n width: '100%',\n height: '100%',\n });\n\n return element;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tile-util.js","sourceRoot":"","sources":["../../../src/components/tile-manager/tile-util.ts"],"names":[],"mappings":"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","sourcesContent":["import { asNumber, first } from '../common/util.js';\nimport type { ResizeState } from '../resize-container/types.js';\nimport type IgcTileComponent from './tile.js';\n\ntype TilePosition = {\n start: number;\n span: number;\n};\n\ntype TileGridPosition = {\n column: TilePosition;\n row: TilePosition;\n};\n\ntype TileResizeDimensions = { width: number | null; height: number | null };\n\nexport const DraggedTileAttribute = 'data-drag-ghost-tile';\n\ntype TileGridDimension = { count: number; entries: number[]; minSize: number };\n\nconst CssValues = new RegExp(/(?<start>\\d+)?\\s*\\/?\\s*span\\s*(?<span>\\d+)?/gi);\n\nfunction parseTileGridRect(tile: IgcTileComponent): TileGridPosition {\n const computed = getComputedStyle(tile);\n const { gridColumn, gridRow } = computed;\n\n const [column, row] = [\n first(Array.from(gridColumn.matchAll(CssValues))).groups!,\n first(Array.from(gridRow.matchAll(CssValues))).groups!,\n ];\n\n return {\n column: {\n start: asNumber(column.start, -1),\n span: asNumber(column.span, -1),\n },\n row: { start: asNumber(row.start, -1), span: asNumber(row.span, -1) },\n };\n}\n\nfunction parseTileParentGrid(gridContainer: HTMLElement) {\n const computed = getComputedStyle(gridContainer);\n const { gap, gridTemplateColumns, gridTemplateRows } = computed;\n\n const columns = gridTemplateColumns.split(' ').map(asNumber);\n const rows = gridTemplateRows.split(' ').map(asNumber);\n\n return {\n gap: asNumber(gap),\n columns: {\n count: columns.length,\n entries: columns,\n minSize: asNumber(computed.getPropertyValue('--ig-min-col-width')),\n },\n rows: {\n count: rows.length,\n entries: rows,\n minSize: asNumber(computed.getPropertyValue('--ig-min-row-height')),\n },\n };\n}\n\nclass TileResizeState {\n private _initialPosition!: TileGridPosition;\n\n protected _gap = 0;\n protected _prevDeltaX = 0;\n protected _prevDeltaY = 0;\n\n protected _prevSnappedWidth = 0;\n protected _prevSnappedHeight = 0;\n\n protected _position: TileGridPosition = {\n column: { start: 0, span: 0 },\n row: { start: 0, span: 0 },\n };\n\n protected _columns: TileGridDimension = {\n count: 0,\n entries: [],\n minSize: 0,\n };\n\n protected _rows: TileGridDimension = {\n count: 0,\n entries: [],\n minSize: 0,\n };\n\n public resizedDimensions: TileResizeDimensions = {\n width: null,\n height: null,\n };\n\n public get emptyResizeDimensions(): TileResizeDimensions {\n return { width: null, height: null };\n }\n\n public get gap(): number {\n return this._gap;\n }\n\n public get position(): TileGridPosition {\n return structuredClone(this._position);\n }\n\n public get columns(): TileGridDimension {\n return structuredClone(this._columns);\n }\n\n public get rows(): TileGridDimension {\n return structuredClone(this._rows);\n }\n\n public calculateSnappedWidth(state: ResizeState): number {\n const result = this.calculateSnappedDimension(\n state.current.width,\n state.deltaX,\n this._prevDeltaX,\n this._columns.entries,\n this._position.column.start,\n this._prevSnappedWidth,\n this._columns.minSize\n );\n\n this._prevDeltaX = result.newDelta;\n this._prevSnappedWidth = result.snapped;\n return result.snapped;\n }\n\n public calculateSnappedHeight(state: ResizeState): number {\n const result = this.calculateSnappedDimension(\n state.current.height,\n state.deltaY,\n this._prevDeltaY,\n this._rows.entries,\n this._position.row.start,\n this._prevSnappedHeight,\n this._rows.minSize\n );\n\n this._prevDeltaY = result.newDelta;\n this._prevSnappedHeight = result.snapped;\n return result.snapped;\n }\n\n public updateState(\n tileRect: DOMRect,\n tile: IgcTileComponent,\n grid: HTMLElement\n ): void {\n this.initState(grid, tile);\n this.calculateTileStartPosition(grid, tileRect);\n }\n\n /**\n * Calculates and returns the CSS column and row properties of a tile after resizing,\n * based on its new dimensions and starting position.\n */\n public getResizedPosition(rect: DOMRect) {\n const { column, row } = this._initialPosition;\n\n // REVIEW pass col minSize and allowOverflow?\n this._position.column.span = this.calculateResizedSpan(\n rect.width,\n this._position.column,\n this._columns.entries\n );\n\n this._position.row.span = this.calculateResizedSpan(\n rect.height,\n this._position.row,\n this._rows.entries,\n this._rows.minSize,\n true\n );\n\n const cssColumn = `${column.start < 0 ? 'auto' : column.start} / span ${this._position.column.span}`;\n const cssRow = `${row.start < 0 ? 'auto' : row.start} / span ${this._position.row.span}`;\n\n return { column: cssColumn, row: cssRow };\n }\n\n public calculateResizedSize(grid: HTMLElement) {\n const { columns, rows } = parseTileParentGrid(grid);\n\n const width = this.calculateSizeFromEntries(columns.entries);\n const height = this.calculateSizeFromEntries(rows.entries, true);\n\n return { width, height };\n }\n\n /**\n * Checks and adjusts tile spans based on the column count of the tile manager.\n */\n // REVIEW once we decide how to handle empty columns.\n public adjustTileGridPosition(tiles: IgcTileComponent[]): void {\n const columnCount = this.columns.count;\n\n for (const tile of tiles) {\n const colStart = tile.colStart || 0;\n const colSpan = tile.colSpan || 0;\n\n if (colStart > columnCount) {\n //Prioritize span over start?\n tile.colSpan = 1;\n tile.colStart = columnCount;\n continue;\n }\n\n if (colStart + colSpan - 1 > columnCount) {\n tile.colSpan = columnCount - colStart + 1;\n }\n }\n }\n\n private calculateSnappedDimension(\n currentSize: number,\n currentDelta: number,\n prevDelta: number,\n gridEntries: number[],\n startIndex: number,\n prevSnapped: number,\n minSize: number\n ): { snapped: number; newDelta: number } {\n const effectiveDelta = currentDelta - prevDelta;\n let snapped = currentSize;\n\n // If current size is below minimum, force to the size of the starting cell.\n if (Math.trunc(currentSize) < minSize) {\n return { snapped: gridEntries[startIndex], newDelta: currentDelta };\n }\n\n // If no change in delta and we have a snapped value, reuse it.\n if (effectiveDelta === 0 && prevSnapped) {\n return { snapped: prevSnapped, newDelta: currentDelta };\n }\n\n let accumulated = 0;\n for (let i = startIndex - 1; i < gridEntries.length; i++) {\n const currentEntry = gridEntries[i];\n const nextEntry = gridEntries[i + 1] ?? currentEntry;\n const prevEntry = i > 0 ? gridEntries[i - 1] : currentEntry;\n\n // Thresholds for snapping to the next or previous tile boundary.\n const halfwayExpand =\n accumulated + currentEntry + this.gap + nextEntry / 2;\n const halfwayShrink = accumulated + prevEntry / 2;\n const entryEnd = accumulated + currentEntry + this.gap;\n\n if (effectiveDelta > 0) {\n // Expanding: snap when passing the halfway threshold.\n if (\n currentSize >= halfwayExpand &&\n currentSize <= entryEnd + nextEntry\n ) {\n snapped = entryEnd + nextEntry;\n }\n } else if (effectiveDelta < 0) {\n // Shrinking: snap when falling below the halfway threshold.\n if (currentSize <= halfwayShrink && currentSize > accumulated) {\n snapped = accumulated - this.gap;\n }\n }\n\n accumulated += currentEntry + this.gap;\n }\n\n return { snapped, newDelta: currentDelta };\n }\n\n private calculateResizedSpan(\n targetSize: number,\n tilePosition: TilePosition,\n sizes: number[],\n minSize = 0,\n allowOverflow = false\n ): number {\n let accumulatedSize = 0;\n let newSpan = tilePosition.span;\n\n const sizesAfterStart = sizes.slice(tilePosition.start - 1);\n const availableSize =\n sizesAfterStart.reduce((sum, s) => sum + s, 0) +\n (sizes.length - 1) * this.gap;\n\n if (targetSize <= sizes[0] + this.gap) {\n return 1;\n }\n\n if (targetSize > availableSize) {\n const remainingSize = targetSize - availableSize;\n return this.calculateAdditionalSpan(\n remainingSize,\n sizesAfterStart.length,\n minSize,\n allowOverflow\n );\n }\n\n for (let i = tilePosition.start - 1; i < sizes.length; i++) {\n const currentSize = sizes[i];\n const nextSize = sizes[i + 1] ?? currentSize;\n\n const halfwayPoint =\n accumulatedSize + currentSize + this.gap + nextSize / 2;\n\n if (targetSize > halfwayPoint) {\n newSpan = i + 3 - tilePosition.start;\n } else {\n break;\n }\n\n accumulatedSize += currentSize + this.gap;\n }\n\n return newSpan;\n }\n\n private initState(grid: HTMLElement, tile: IgcTileComponent): void {\n const { gap, columns, rows } = parseTileParentGrid(grid);\n\n this._initialPosition = parseTileGridRect(tile);\n this._position = structuredClone(this._initialPosition);\n\n this._gap = gap;\n this._columns = columns;\n this._rows = rows;\n this._prevDeltaX = 0;\n this._prevDeltaY = 0;\n this._prevSnappedWidth = 0;\n this._prevSnappedHeight = 0;\n }\n\n private calculateTileStartPosition(\n grid: HTMLElement,\n tileRect: DOMRect\n ): void {\n if (this._position.column.start < 0) {\n const offsetX = this.getGridOffset(grid, 'horizontal');\n\n this._position.column.start = this.calculatePosition(\n tileRect.left + window.scrollX + grid.scrollLeft - offsetX,\n this._columns.entries\n );\n }\n\n if (this._position.row.start < 0) {\n const offsetY = this.getGridOffset(grid, 'vertical');\n\n this._position.row.start = this.calculatePosition(\n tileRect.top + window.scrollY - offsetY,\n this._rows.entries\n );\n }\n }\n\n private calculatePosition(targetPosition: number, sizes: number[]): number {\n const gap = this.gap;\n let accumulatedSize = 0;\n\n for (const [i, size] of sizes.entries()) {\n accumulatedSize += size + gap;\n\n if (Math.trunc(targetPosition) < Math.trunc(accumulatedSize - gap)) {\n return i + 1;\n }\n }\n\n return 1;\n }\n\n private calculateAdditionalSpan(\n remainingSize: number,\n currentSpan: number,\n minSize: number,\n allowOverflow: boolean\n ) {\n if (allowOverflow) {\n const additionalSpan = Math.ceil(remainingSize / (minSize + this.gap));\n return currentSpan + additionalSpan;\n }\n\n return currentSpan;\n }\n\n private calculateSizeFromEntries(entries: number[], isRow = false) {\n const start = isRow ? this.position.row.start : this.position.column.start;\n const span = isRow ? this.position.row.span : this.position.column.span;\n\n let accumulatedSize = 0;\n\n for (let i = 0; i < span; i++) {\n const gap = i > 0 ? this.gap : 0;\n accumulatedSize += entries[start - 1 + i] + gap;\n }\n\n return accumulatedSize;\n }\n\n private getGridOffset(\n grid: HTMLElement,\n axis: 'horizontal' | 'vertical'\n ): number {\n const gridRect = grid.getBoundingClientRect();\n const computed = getComputedStyle(grid);\n\n return axis === 'horizontal'\n ? gridRect.left +\n window.scrollX +\n grid.scrollLeft +\n Number.parseFloat(computed.paddingLeft)\n : gridRect.top + window.scrollY + Number.parseFloat(computed.paddingTop);\n }\n}\n\nexport function createTileResizeState(): TileResizeState {\n return new TileResizeState();\n}\n\nexport function createTileDragGhost(tile: IgcTileComponent): IgcTileComponent {\n const clone = tile.cloneNode(true) as IgcTileComponent;\n const computed = getComputedStyle(tile);\n\n const { width, height } = tile.getBoundingClientRect();\n\n clone.removeAttribute('id');\n clone.setAttribute(DraggedTileAttribute, '');\n clone.inert = true;\n clone.position = -1;\n\n Object.assign(clone.style, {\n position: 'absolute',\n contain: 'strict',\n top: 0,\n left: 0,\n width: `${width}px`,\n height: `${height}px`,\n opacity: 0.6,\n background: `${computed.getPropertyValue('--tile-background')}`,\n border: `1px solid ${computed.getPropertyValue('--hover-border-color')}`,\n borderRadius: computed.getPropertyValue('--border-radius'),\n boxShadow: `${computed.getPropertyValue('--drag-elevation')}`,\n zIndex: 1000,\n viewTransitionName: 'dragged-tile-ghost',\n });\n\n return clone;\n}\n\nexport function createTileGhost(): HTMLElement {\n const element = document.createElement('div');\n\n Object.assign(element.style, {\n position: 'absolute',\n contain: 'strict',\n top: 0,\n left: 0,\n zIndex: 1000,\n background: 'var(--placeholder-background)',\n border: '1px solid var(--ghost-border)',\n borderRadius: 'var(--border-radius)',\n width: '100%',\n height: '100%',\n });\n\n return element;\n}\n"]}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import type { Constructor } from '../common/mixins/constructor.js';
|
|
3
|
+
import IgcResizeContainerComponent from '../resize-container/resize-container.js';
|
|
4
|
+
type IgcTileChangeState = {
|
|
5
|
+
tile: IgcTileComponent;
|
|
6
|
+
state: boolean;
|
|
7
|
+
};
|
|
8
|
+
export interface IgcTileComponentEventMap {
|
|
9
|
+
igcTileFullscreen: CustomEvent<IgcTileChangeState>;
|
|
10
|
+
igcTileMaximize: CustomEvent<IgcTileChangeState>;
|
|
11
|
+
tileDragStart: CustomEvent<IgcTileComponent>;
|
|
12
|
+
tileDragEnd: CustomEvent<IgcTileComponent>;
|
|
13
|
+
igcResizeStart: CustomEvent<IgcTileComponent>;
|
|
14
|
+
igcResizeMove: CustomEvent<IgcTileComponent>;
|
|
15
|
+
igcResizeEnd: CustomEvent<IgcTileComponent>;
|
|
16
|
+
}
|
|
17
|
+
declare const IgcTileComponent_base: Constructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcTileComponentEventMap>> & Constructor<LitElement>;
|
|
18
|
+
/**
|
|
19
|
+
* The tile component is used within the `igc-tile-manager` as a container
|
|
20
|
+
* for displaying various types of information.
|
|
21
|
+
*
|
|
22
|
+
* @element igc-tile
|
|
23
|
+
*
|
|
24
|
+
* @fires igcTileFullscreen - Fired when tile fullscreen state changes.
|
|
25
|
+
* @fires igcTileMaximize - Fired when tile maximize state changes.
|
|
26
|
+
* @fires igcResizeStart - Fired when tile begins resizing.
|
|
27
|
+
* @fires igcResizeMove - Fired when tile is being resized.
|
|
28
|
+
* @fires igcResizeEnd - Fired when tile finishes resizing.
|
|
29
|
+
*
|
|
30
|
+
* @slot title - Renders the title of the tile header.
|
|
31
|
+
* @slot maximize-action - Renders the maximize action element.
|
|
32
|
+
* @slot fullscreen-action - Renders the fullscreen action element.
|
|
33
|
+
* @slot actions - Renders items after the default actions.
|
|
34
|
+
* @slot Default slot for the tile's content.
|
|
35
|
+
* @slot side-adorner - Renders the side resize handle.
|
|
36
|
+
* @slot corner-adorner - Renders the corner resize handle.
|
|
37
|
+
* @slot bottom-adorner - Renders the bottom resize handle.
|
|
38
|
+
*
|
|
39
|
+
* @csspart base - The wrapper for the entire tile.
|
|
40
|
+
* @csspart header - The container for the header, including title and actions.
|
|
41
|
+
* @csspart title - The title container.
|
|
42
|
+
* @csspart actions - The actions container.
|
|
43
|
+
* @csspart content-container - The container wrapping the tile’s main content.
|
|
44
|
+
* @csspart trigger-side - The part for the side adorner of the encapsulated resize element.
|
|
45
|
+
* @csspart trigger - The part for the corner adorner of the encapsulated resize element.
|
|
46
|
+
* @csspart trigger-bottom - The part for the bottom adorner of the encapsulated resize element.
|
|
47
|
+
*/
|
|
48
|
+
export default class IgcTileComponent extends IgcTileComponent_base {
|
|
49
|
+
static readonly tagName = "igc-tile";
|
|
50
|
+
static styles: import("lit").CSSResult[];
|
|
51
|
+
static register(): void;
|
|
52
|
+
private static readonly increment;
|
|
53
|
+
private _dragController;
|
|
54
|
+
private _fullscreenController;
|
|
55
|
+
private _colSpan;
|
|
56
|
+
private _rowSpan;
|
|
57
|
+
private _colStart;
|
|
58
|
+
private _rowStart;
|
|
59
|
+
private _position;
|
|
60
|
+
private _resizeState;
|
|
61
|
+
private _dragStack;
|
|
62
|
+
private _customAdorners;
|
|
63
|
+
/**
|
|
64
|
+
* Context consumer callback that sets the updated configuration of the internal drag controller
|
|
65
|
+
* based on the passed tile manager properties.
|
|
66
|
+
*/
|
|
67
|
+
private _setDragConfiguration;
|
|
68
|
+
private _context;
|
|
69
|
+
/** Returns the parent tile manager context. */
|
|
70
|
+
private get _tileManagerCtx();
|
|
71
|
+
private get _tileManager();
|
|
72
|
+
/** Returns the tile manager internal CSS grid container. */
|
|
73
|
+
private get _cssContainer();
|
|
74
|
+
/** Returns the tile manager current resize mode. */
|
|
75
|
+
private get _resizeMode();
|
|
76
|
+
protected _headerRef: import("lit-html/directives/ref.js").Ref<HTMLSlotElement>;
|
|
77
|
+
private _titleElements;
|
|
78
|
+
private _actionsElements;
|
|
79
|
+
protected _resizeContainer?: IgcResizeContainerComponent;
|
|
80
|
+
_tileContent: HTMLElement;
|
|
81
|
+
private _maximized;
|
|
82
|
+
private _isDragging;
|
|
83
|
+
private _isResizing;
|
|
84
|
+
/** Whether to render the resize container based on tile and tile manager configuration. */
|
|
85
|
+
private get _resizeDisabled();
|
|
86
|
+
/**
|
|
87
|
+
* The unique identifier of the tile.
|
|
88
|
+
* @attr tile-id
|
|
89
|
+
*/
|
|
90
|
+
tileId: string | null;
|
|
91
|
+
/**
|
|
92
|
+
* The number of columns the tile will span.
|
|
93
|
+
*
|
|
94
|
+
* @remarks
|
|
95
|
+
* Values <= 1 will be coerced to 1.
|
|
96
|
+
*
|
|
97
|
+
* @attr col-span
|
|
98
|
+
*/
|
|
99
|
+
set colSpan(value: number);
|
|
100
|
+
get colSpan(): number;
|
|
101
|
+
/**
|
|
102
|
+
* The number of rows the tile will span.
|
|
103
|
+
*
|
|
104
|
+
* @remarks
|
|
105
|
+
* Values <= 1 will be coerced to 1.
|
|
106
|
+
*
|
|
107
|
+
* @attr row-span
|
|
108
|
+
*/
|
|
109
|
+
set rowSpan(value: number);
|
|
110
|
+
get rowSpan(): number;
|
|
111
|
+
/**
|
|
112
|
+
* The starting column for the tile.
|
|
113
|
+
*
|
|
114
|
+
* @attr col-start
|
|
115
|
+
*/
|
|
116
|
+
set colStart(value: number | null);
|
|
117
|
+
get colStart(): number | null;
|
|
118
|
+
/**
|
|
119
|
+
* The starting row for the tile.
|
|
120
|
+
*
|
|
121
|
+
* @attr row-start
|
|
122
|
+
*/
|
|
123
|
+
set rowStart(value: number | null);
|
|
124
|
+
get rowStart(): number | null;
|
|
125
|
+
/**
|
|
126
|
+
* Indicates whether the tile occupies the whole screen.
|
|
127
|
+
*
|
|
128
|
+
* @property
|
|
129
|
+
*/
|
|
130
|
+
get fullscreen(): boolean;
|
|
131
|
+
/**
|
|
132
|
+
* Indicates whether the tile occupies all available space within the layout.
|
|
133
|
+
*
|
|
134
|
+
* @attr maximized
|
|
135
|
+
*/
|
|
136
|
+
set maximized(value: boolean);
|
|
137
|
+
get maximized(): boolean;
|
|
138
|
+
/**
|
|
139
|
+
* Indicates whether the tile can be resized.
|
|
140
|
+
* @attr disable-resize
|
|
141
|
+
*/
|
|
142
|
+
disableResize: boolean;
|
|
143
|
+
/**
|
|
144
|
+
* Indicates whether the fullscreen action is displayed.
|
|
145
|
+
* @attr disable-fullscreen
|
|
146
|
+
*/
|
|
147
|
+
disableFullscreen: boolean;
|
|
148
|
+
/**
|
|
149
|
+
* Indicates whether the maximize action is displayed.
|
|
150
|
+
* @attr disable-maximize
|
|
151
|
+
*/
|
|
152
|
+
disableMaximize: boolean;
|
|
153
|
+
/**
|
|
154
|
+
* Gets/sets the tile's visual position in the layout.
|
|
155
|
+
*
|
|
156
|
+
* Corresponds to the CSS order property.
|
|
157
|
+
*
|
|
158
|
+
* @attr position
|
|
159
|
+
*/
|
|
160
|
+
set position(value: number);
|
|
161
|
+
get position(): number;
|
|
162
|
+
/** @internal */
|
|
163
|
+
connectedCallback(): void;
|
|
164
|
+
protected createRenderRoot(): HTMLElement | DocumentFragment;
|
|
165
|
+
private _setDragState;
|
|
166
|
+
private _handleDragStart;
|
|
167
|
+
private _handleDragMove;
|
|
168
|
+
private _handleDragCancel;
|
|
169
|
+
private _handleDragEnd;
|
|
170
|
+
private _skipDrag;
|
|
171
|
+
private _match;
|
|
172
|
+
private _createDragGhost;
|
|
173
|
+
private _setResizeState;
|
|
174
|
+
private _handleResizeStart;
|
|
175
|
+
private _handleResize;
|
|
176
|
+
private _handleResizeEnd;
|
|
177
|
+
private _handleResizeCancel;
|
|
178
|
+
private _handleFullscreen;
|
|
179
|
+
private _handleMaximize;
|
|
180
|
+
private emitFullScreenEvent;
|
|
181
|
+
private emitMaximizedEvent;
|
|
182
|
+
protected _renderDefaultAction(type: 'maximize' | 'fullscreen'): import("lit-html").TemplateResult<1>;
|
|
183
|
+
protected _renderHeader(): import("lit-html").TemplateResult<1>;
|
|
184
|
+
protected _renderContent(): import("lit-html").TemplateResult<1>;
|
|
185
|
+
private _renderAdornerSlot;
|
|
186
|
+
protected render(): import("lit-html").TemplateResult<1>;
|
|
187
|
+
}
|
|
188
|
+
declare global {
|
|
189
|
+
interface HTMLElementTagNameMap {
|
|
190
|
+
'igc-tile': IgcTileComponent;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
export {};
|
|
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
var IgcTileComponent_1;
|
|
8
8
|
import { LitElement, html, nothing } from 'lit';
|
|
9
|
-
import { property, query, state } from 'lit/decorators.js';
|
|
9
|
+
import { property, query, queryAssignedElements, state, } from 'lit/decorators.js';
|
|
10
10
|
import { createRef, ref } from 'lit/directives/ref.js';
|
|
11
11
|
import { styleMap } from 'lit/directives/style-map.js';
|
|
12
12
|
import { startViewTransition } from '../../animations/player.js';
|
|
@@ -18,7 +18,7 @@ import { addDragController, } from '../common/controllers/drag.js';
|
|
|
18
18
|
import { addFullscreenController } from '../common/controllers/fullscreen.js';
|
|
19
19
|
import { registerComponent } from '../common/definitions/register.js';
|
|
20
20
|
import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
|
|
21
|
-
import { asNumber, createCounter, findElementFromEventPath, getCenterPoint, partNameMap, } from '../common/util.js';
|
|
21
|
+
import { asNumber, createCounter, findElementFromEventPath, getCenterPoint, isEmpty, partNameMap, } from '../common/util.js';
|
|
22
22
|
import IgcDividerComponent from '../divider/divider.js';
|
|
23
23
|
import IgcResizeContainerComponent from '../resize-container/resize-container.js';
|
|
24
24
|
import { createTileDragStack, swapTiles } from './position.js';
|
|
@@ -48,6 +48,11 @@ let IgcTileComponent = IgcTileComponent_1 = class IgcTileComponent extends Event
|
|
|
48
48
|
this._position = -1;
|
|
49
49
|
this._resizeState = createTileResizeState();
|
|
50
50
|
this._dragStack = createTileDragStack();
|
|
51
|
+
this._customAdorners = new Map(Object.entries({
|
|
52
|
+
side: false,
|
|
53
|
+
corner: false,
|
|
54
|
+
bottom: false,
|
|
55
|
+
}));
|
|
51
56
|
this._setDragConfiguration = ({ instance: { dragMode }, }) => {
|
|
52
57
|
this._dragController.set({
|
|
53
58
|
enabled: dragMode !== 'none',
|
|
@@ -63,11 +68,6 @@ let IgcTileComponent = IgcTileComponent_1 = class IgcTileComponent extends Event
|
|
|
63
68
|
this.disableResize = false;
|
|
64
69
|
this.disableFullscreen = false;
|
|
65
70
|
this.disableMaximize = false;
|
|
66
|
-
this._customAdorners = new Map(Object.entries({
|
|
67
|
-
side: false,
|
|
68
|
-
corner: false,
|
|
69
|
-
bottom: false,
|
|
70
|
-
}));
|
|
71
71
|
}
|
|
72
72
|
static register() {
|
|
73
73
|
registerComponent(IgcTileComponent_1, IgcIconButtonComponent, IgcDividerComponent, IgcResizeContainerComponent);
|
|
@@ -90,15 +90,6 @@ let IgcTileComponent = IgcTileComponent_1 = class IgcTileComponent extends Event
|
|
|
90
90
|
this.fullscreen ||
|
|
91
91
|
this._resizeMode === 'none');
|
|
92
92
|
}
|
|
93
|
-
get _shouldHideHeader() {
|
|
94
|
-
const hasTitle = this._headerRef.value
|
|
95
|
-
?.querySelector('slot[name="title"]')
|
|
96
|
-
?.assignedNodes().length;
|
|
97
|
-
const hasActions = this.shadowRoot
|
|
98
|
-
?.querySelector('slot[name="actions"]')
|
|
99
|
-
?.assignedNodes().length;
|
|
100
|
-
return (!hasTitle && !hasActions && this.disableMaximize && this.disableFullscreen);
|
|
101
|
-
}
|
|
102
93
|
set colSpan(value) {
|
|
103
94
|
this._colSpan = Math.max(1, asNumber(value));
|
|
104
95
|
this.style.setProperty('--ig-col-span', this._colSpan.toString());
|
|
@@ -152,6 +143,11 @@ let IgcTileComponent = IgcTileComponent_1 = class IgcTileComponent extends Event
|
|
|
152
143
|
this.style.viewTransitionName =
|
|
153
144
|
this.style.viewTransitionName || `tile-transition-${this.tileId}`;
|
|
154
145
|
}
|
|
146
|
+
createRenderRoot() {
|
|
147
|
+
const root = super.createRenderRoot();
|
|
148
|
+
root.addEventListener('slotchange', () => this.requestUpdate());
|
|
149
|
+
return root;
|
|
150
|
+
}
|
|
155
151
|
_setDragState(state = true) {
|
|
156
152
|
this._isDragging = state;
|
|
157
153
|
this._tileContent.style.opacity = state ? '0' : '1';
|
|
@@ -240,8 +236,9 @@ let IgcTileComponent = IgcTileComponent_1 = class IgcTileComponent extends Event
|
|
|
240
236
|
this.style.setProperty('grid-row', row);
|
|
241
237
|
this.style.setProperty('grid-column', column);
|
|
242
238
|
});
|
|
243
|
-
await transition?.
|
|
239
|
+
await transition?.updateCallbackDone;
|
|
244
240
|
const { width, height } = this._resizeState.calculateResizedSize(this._cssContainer);
|
|
241
|
+
this._resizeState.resizedDimensions = { width, height };
|
|
245
242
|
this._resizeContainer?.setSize(width, height);
|
|
246
243
|
this._setResizeState(false);
|
|
247
244
|
}
|
|
@@ -249,6 +246,10 @@ let IgcTileComponent = IgcTileComponent_1 = class IgcTileComponent extends Event
|
|
|
249
246
|
this._setResizeState(false);
|
|
250
247
|
}
|
|
251
248
|
_handleFullscreen() {
|
|
249
|
+
const { width, height } = !this.fullscreen
|
|
250
|
+
? this._resizeState.emptyResizeDimensions
|
|
251
|
+
: this._resizeState.resizedDimensions;
|
|
252
|
+
this._resizeContainer?.setSize(width, height);
|
|
252
253
|
this._fullscreenController.setState(!this.fullscreen);
|
|
253
254
|
}
|
|
254
255
|
_handleMaximize() {
|
|
@@ -292,10 +293,14 @@ let IgcTileComponent = IgcTileComponent_1 = class IgcTileComponent extends Event
|
|
|
292
293
|
`;
|
|
293
294
|
}
|
|
294
295
|
_renderHeader() {
|
|
296
|
+
const hideHeader = isEmpty(this._titleElements) &&
|
|
297
|
+
isEmpty(this._actionsElements) &&
|
|
298
|
+
this.disableMaximize &&
|
|
299
|
+
this.disableFullscreen;
|
|
295
300
|
return html `
|
|
296
|
-
<section part="header" ?hidden=${
|
|
301
|
+
<section part="header" ?hidden=${hideHeader}>
|
|
297
302
|
<header part="title" ${ref(this._headerRef)}>
|
|
298
|
-
<slot name="title"
|
|
303
|
+
<slot name="title"></slot>
|
|
299
304
|
</header>
|
|
300
305
|
<section id="tile-actions" part="actions">
|
|
301
306
|
${!this.disableMaximize
|
|
@@ -309,7 +314,7 @@ let IgcTileComponent = IgcTileComponent_1 = class IgcTileComponent extends Event
|
|
|
309
314
|
>`
|
|
310
315
|
: nothing}
|
|
311
316
|
|
|
312
|
-
<slot name="actions"
|
|
317
|
+
<slot name="actions"></slot>
|
|
313
318
|
</section>
|
|
314
319
|
</section>
|
|
315
320
|
<igc-divider></igc-divider>
|
|
@@ -340,11 +345,6 @@ let IgcTileComponent = IgcTileComponent_1 = class IgcTileComponent extends Event
|
|
|
340
345
|
</div>
|
|
341
346
|
`;
|
|
342
347
|
}
|
|
343
|
-
createRenderRoot() {
|
|
344
|
-
const root = super.createRenderRoot();
|
|
345
|
-
root.addEventListener('slotchange', () => this.requestUpdate());
|
|
346
|
-
return root;
|
|
347
|
-
}
|
|
348
348
|
_renderAdornerSlot(name) {
|
|
349
349
|
return html `
|
|
350
350
|
<slot
|
|
@@ -352,11 +352,14 @@ let IgcTileComponent = IgcTileComponent_1 = class IgcTileComponent extends Event
|
|
|
352
352
|
name="${name}-adorner"
|
|
353
353
|
slot="${name}-adorner"
|
|
354
354
|
>
|
|
355
|
-
<div part="adorner-indicator"></div>
|
|
356
355
|
</slot>
|
|
357
356
|
`;
|
|
358
357
|
}
|
|
359
358
|
render() {
|
|
359
|
+
const { width, height } = this.fullscreen || this.maximized
|
|
360
|
+
? this._resizeState.emptyResizeDimensions
|
|
361
|
+
: this._resizeState.resizedDimensions;
|
|
362
|
+
this._resizeContainer?.setSize(width, height);
|
|
360
363
|
return html `
|
|
361
364
|
<igc-resize
|
|
362
365
|
part=${partNameMap({
|
|
@@ -365,6 +368,7 @@ let IgcTileComponent = IgcTileComponent_1 = class IgcTileComponent extends Event
|
|
|
365
368
|
'corner-adorner': this._customAdorners.get('corner'),
|
|
366
369
|
'bottom-adorner': this._customAdorners.get('bottom'),
|
|
367
370
|
})}
|
|
371
|
+
exportparts="trigger-side, trigger, trigger-bottom"
|
|
368
372
|
mode="deferred"
|
|
369
373
|
.enabled=${!this._resizeDisabled}
|
|
370
374
|
?active=${this._resizeMode === 'always'}
|
|
@@ -384,6 +388,12 @@ let IgcTileComponent = IgcTileComponent_1 = class IgcTileComponent extends Event
|
|
|
384
388
|
IgcTileComponent.tagName = 'igc-tile';
|
|
385
389
|
IgcTileComponent.styles = [styles, shared];
|
|
386
390
|
IgcTileComponent.increment = createCounter();
|
|
391
|
+
__decorate([
|
|
392
|
+
queryAssignedElements({ slot: 'title' })
|
|
393
|
+
], IgcTileComponent.prototype, "_titleElements", void 0);
|
|
394
|
+
__decorate([
|
|
395
|
+
queryAssignedElements({ slot: 'actions' })
|
|
396
|
+
], IgcTileComponent.prototype, "_actionsElements", void 0);
|
|
387
397
|
__decorate([
|
|
388
398
|
query(IgcResizeContainerComponent.tagName)
|
|
389
399
|
], IgcTileComponent.prototype, "_resizeContainer", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tile.js","sourceRoot":"","sources":["../../../src/components/tile-manager/tile.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { startViewTransition } from '../../animations/player.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport IgcIconButtonComponent from '../button/icon-button.js';\nimport {\n type TileManagerContext,\n tileManagerContext,\n} from '../common/context.js';\nimport { createAsyncContext } from '../common/controllers/async-consumer.js';\nimport {\n type DragCallbackParameters,\n addDragController,\n} from '../common/controllers/drag.js';\nimport { addFullscreenController } from '../common/controllers/fullscreen.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 {\n asNumber,\n createCounter,\n findElementFromEventPath,\n getCenterPoint,\n partNameMap,\n} from '../common/util.js';\nimport IgcDividerComponent from '../divider/divider.js';\nimport IgcResizeContainerComponent from '../resize-container/resize-container.js';\nimport type { ResizeCallbackParams } from '../resize-container/types.js';\nimport { createTileDragStack, swapTiles } from './position.js';\nimport { styles as shared } from './themes/shared/tile/tile.common.css.js';\nimport { styles } from './themes/tile.base.css.js';\nimport { all } from './themes/tile.js';\nimport {\n createTileDragGhost,\n createTileGhost,\n createTileResizeState,\n} from './tile-util.js';\n\ntype IgcTileChangeState = {\n tile: IgcTileComponent;\n state: boolean;\n};\n\ntype AdornerType = 'side' | 'corner' | 'bottom';\n\n// REVIEW: Decide whether to re-emit the events from the manager of leave them up to bubble naturally\nexport interface IgcTileComponentEventMap {\n igcTileFullscreen: CustomEvent<IgcTileChangeState>;\n igcTileMaximize: CustomEvent<IgcTileChangeState>;\n tileDragStart: CustomEvent<IgcTileComponent>;\n tileDragEnd: CustomEvent<IgcTileComponent>;\n igcResizeStart: CustomEvent<IgcTileComponent>;\n igcResizeMove: CustomEvent<IgcTileComponent>;\n igcResizeEnd: CustomEvent<IgcTileComponent>;\n}\n\n/**\n * The tile component is used within the `igc-tile-manager` as a container\n * for displaying various types of information.\n *\n * @element igc-tile\n *\n * @fires igcTileFullscreen - Fired when tile fullscreen state changes.\n * @fires igcTileMaximize - Fired when tile maximize state changes.\n * @fires igcResizeStart - Fired when tile begins resizing.\n * @fires igcResizeMove - Fired when tile is being resized.\n * @fires igcResizeEnd - Fired when tile finishes resizing.\n *\n * @slot title - Renders the title of the tile header.\n * @slot maximize-action - Renders the maximize action element.\n * @slot fullscreen-action - Renders the fullscreen action element.\n * @slot actions - Renders items after the default actions.\n * @slot Default slot for the tile's content.\n * @slot side-adorner - Renders the side resize handle.\n * @slot corner-adorner - Renders the corner resize handle.\n * @slot bottom-adorner - Renders the bottom resize handle.\n *\n * @csspart base - The wrapper for the entire tile.\n * @csspart header - The container for the header, including title and actions.\n * @csspart title - The title container.\n * @csspart actions - The actions container.\n * @csspart content-container - The container wrapping the tile’s main content.\n */\n@themes(all)\nexport default class IgcTileComponent extends EventEmitterMixin<\n IgcTileComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-tile';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n IgcTileComponent,\n IgcIconButtonComponent,\n IgcDividerComponent,\n IgcResizeContainerComponent\n );\n }\n\n private static readonly increment = createCounter();\n\n private _dragController = addDragController(this, {\n skip: this._skipDrag,\n ghost: this._createDragGhost,\n start: this._handleDragStart,\n move: this._handleDragMove,\n end: this._handleDragEnd,\n cancel: this._handleDragCancel,\n });\n\n private _fullscreenController = addFullscreenController(this, {\n enter: this.emitFullScreenEvent,\n exit: this.emitFullScreenEvent,\n });\n\n private _colSpan = 1;\n private _rowSpan = 1;\n private _colStart: number | null = null;\n private _rowStart: number | null = null;\n private _position = -1;\n private _resizeState = createTileResizeState();\n private _dragStack = createTileDragStack();\n\n // Tile manager context properties and helpers\n\n /**\n * Context consumer callback that sets the updated configuration of the internal drag controller\n * based on the passed tile manager properties.\n */\n private _setDragConfiguration = ({\n instance: { dragMode },\n }: TileManagerContext) => {\n this._dragController.set({\n enabled: dragMode !== 'none',\n trigger:\n dragMode === 'tile-header' ? () => this._headerRef.value! : undefined,\n });\n };\n\n private _context = createAsyncContext(\n this,\n tileManagerContext,\n this._setDragConfiguration\n );\n\n /** Returns the parent tile manager context. */\n private get _tileManagerCtx(): TileManagerContext | undefined {\n return this._context.value;\n }\n\n private get _tileManager() {\n return this._tileManagerCtx?.instance;\n }\n\n /** Returns the tile manager internal CSS grid container. */\n private get _cssContainer(): HTMLElement {\n return this._tileManagerCtx?.grid.value!;\n }\n\n /** Returns the tile manager current resize mode. */\n private get _resizeMode() {\n return this._tileManager?.resizeMode ?? 'none';\n }\n\n protected _headerRef = createRef<HTMLSlotElement>();\n\n @query(IgcResizeContainerComponent.tagName)\n protected _resizeContainer?: IgcResizeContainerComponent;\n\n @query('[part~=\"base\"]', true)\n public _tileContent!: HTMLElement;\n\n @state()\n private _maximized = false;\n\n @state()\n private _isDragging = false;\n\n @state()\n private _isResizing = false;\n\n /** Whether to render the resize container based on tile and tile manager configuration. */\n private get _resizeDisabled(): boolean {\n return (\n this.disableResize ||\n this.maximized ||\n this.fullscreen ||\n this._resizeMode === 'none'\n );\n }\n\n protected get _shouldHideHeader() {\n const hasTitle = this._headerRef.value\n ?.querySelector<HTMLSlotElement>('slot[name=\"title\"]')\n ?.assignedNodes().length;\n const hasActions = this.shadowRoot\n ?.querySelector<HTMLSlotElement>('slot[name=\"actions\"]')\n ?.assignedNodes().length;\n\n return (\n !hasTitle && !hasActions && this.disableMaximize && this.disableFullscreen\n );\n }\n\n /**\n * The unique identifier of the tile.\n * @attr tile-id\n */\n @property({ attribute: 'tile-id', type: String, reflect: true })\n public tileId: string | null = null;\n\n /**\n * The number of columns the tile will span.\n *\n * @remarks\n * Values <= 1 will be coerced to 1.\n *\n * @attr col-span\n */\n @property({ type: Number, attribute: 'col-span' })\n public set colSpan(value: number) {\n this._colSpan = Math.max(1, asNumber(value));\n this.style.setProperty('--ig-col-span', this._colSpan.toString());\n }\n\n public get colSpan(): number {\n return this._colSpan;\n }\n\n /**\n * The number of rows the tile will span.\n *\n * @remarks\n * Values <= 1 will be coerced to 1.\n *\n * @attr row-span\n */\n @property({ type: Number, attribute: 'row-span' })\n public set rowSpan(value: number) {\n this._rowSpan = Math.max(1, asNumber(value));\n this.style.setProperty('--ig-row-span', this._rowSpan.toString());\n }\n\n public get rowSpan(): number {\n return this._rowSpan;\n }\n\n /**\n * The starting column for the tile.\n *\n * @attr col-start\n */\n @property({ type: Number, attribute: 'col-start' })\n public set colStart(value: number | null) {\n this._colStart = Math.max(0, asNumber(value)) || null;\n this.style.setProperty(\n '--ig-col-start',\n this._colStart ? this._colStart.toString() : null\n );\n }\n\n public get colStart(): number | null {\n return this._colStart;\n }\n\n /**\n * The starting row for the tile.\n *\n * @attr row-start\n */\n @property({ type: Number, attribute: 'row-start' })\n public set rowStart(value: number | null) {\n this._rowStart = Math.max(0, asNumber(value)) || null;\n this.style.setProperty(\n '--ig-row-start',\n this._rowStart ? this._rowStart.toString() : null\n );\n }\n\n public get rowStart(): number | null {\n return this._rowStart;\n }\n\n /**\n * Indicates whether the tile occupies the whole screen.\n *\n * @property\n */\n public get fullscreen(): boolean {\n return this._fullscreenController.fullscreen;\n }\n\n /**\n * Indicates whether the tile occupies all available space within the layout.\n *\n * @attr maximized\n */\n @property({ type: Boolean, reflect: true })\n public set maximized(value: boolean) {\n this._maximized = value;\n\n if (this._tileManagerCtx) {\n this._tileManagerCtx.instance.requestUpdate();\n }\n }\n\n public get maximized(): boolean {\n return this._maximized;\n }\n\n /**\n * Indicates whether the tile can be resized.\n * @attr disable-resize\n */\n @property({ type: Boolean, reflect: true, attribute: 'disable-resize' })\n public disableResize = false;\n\n /**\n * Indicates whether the fullscreen action is displayed.\n * @attr disable-fullscreen\n */\n @property({ type: Boolean, reflect: true, attribute: 'disable-fullscreen' })\n public disableFullscreen = false;\n\n /**\n * Indicates whether the maximize action is displayed.\n * @attr disable-maximize\n */\n @property({ type: Boolean, reflect: true, attribute: 'disable-maximize' })\n public disableMaximize = false;\n\n /**\n * Gets/sets the tile's visual position in the layout.\n *\n * Corresponds to the CSS order property.\n *\n * @attr position\n */\n @property({ type: Number })\n public set position(value: number) {\n this._position = asNumber(value);\n this.style.order = this._position.toString();\n }\n\n public get position(): number {\n return this._position;\n }\n\n /** @internal */\n public override connectedCallback(): void {\n super.connectedCallback();\n this.tileId = this.tileId || `tile-${IgcTileComponent.increment()}`;\n\n this.style.viewTransitionName =\n this.style.viewTransitionName || `tile-transition-${this.tileId}`;\n }\n\n private _setDragState(state = true) {\n this._isDragging = state;\n this._tileContent.style.opacity = state ? '0' : '1';\n this.style.pointerEvents = state ? 'none' : '';\n this.part.toggle('dragging', state);\n }\n\n private _handleDragStart() {\n this.emitEvent('tileDragStart', { detail: this });\n this._setDragState();\n this._dragStack.push(this);\n }\n\n private _handleDragMove({\n event: { clientX, clientY },\n }: DragCallbackParameters) {\n const match = document\n .elementsFromPoint(clientX, clientY)\n .find(this._match);\n\n if (!match) {\n return;\n }\n\n if (this._dragStack.peek() === match) {\n const { x, y } = getCenterPoint(match);\n\n const shouldSwap =\n this.position <= match.position\n ? clientX > x || clientY > y\n : clientX < x || clientY < y;\n\n if (shouldSwap) {\n this._dragStack.pop();\n this._dragStack.push(match);\n\n startViewTransition(() => {\n swapTiles(this, match);\n });\n }\n\n return;\n }\n\n this._dragStack.push(match);\n\n startViewTransition(() => {\n swapTiles(this, match);\n });\n }\n\n private _handleDragCancel() {\n startViewTransition(() => {\n this._dragStack.restore();\n this._dragStack.reset();\n });\n\n this._dragController.dispose();\n this._setDragState(false);\n }\n\n private _handleDragEnd() {\n this.emitEvent('tileDragEnd', { detail: this });\n this._setDragState(false);\n this._dragStack.reset();\n }\n\n private _skipDrag(event: PointerEvent): boolean {\n if (this._maximized || this.fullscreen) {\n return true;\n }\n\n return Boolean(\n findElementFromEventPath(\n (e) => e.matches('[part*=trigger]') || e.matches('#tile-actions'),\n event\n )\n );\n }\n\n private _match(element: Element): element is IgcTileComponent {\n return element !== this && IgcTileComponent.tagName === element.localName;\n }\n\n private _createDragGhost(): IgcTileComponent {\n return createTileDragGhost(this);\n }\n\n private _setResizeState(state = true) {\n this._isResizing = state;\n this.style.zIndex = state ? '1' : '';\n this.part.toggle('resizing', state);\n }\n\n private _handleResizeStart({\n detail: { state },\n }: CustomEvent<ResizeCallbackParams>) {\n this._resizeState.updateState(state.initial, this, this._cssContainer);\n this._setResizeState();\n }\n\n private _handleResize({\n detail: { state },\n }: CustomEvent<ResizeCallbackParams>) {\n const trigger = state.trigger!;\n\n const isWidthResize = trigger.matches('[part*=\"side\"], [part=\"trigger\"]');\n const isHeightResize = trigger.matches(\n '[part*=\"bottom\"], [part=\"trigger\"]'\n );\n\n if (isWidthResize) {\n state.current.width = this._resizeState.calculateSnappedWidth(state);\n }\n\n if (isHeightResize) {\n state.current.height = this._resizeState.calculateSnappedHeight(state);\n }\n }\n\n private async _handleResizeEnd({\n detail: { state },\n }: CustomEvent<ResizeCallbackParams>) {\n const { column, row } = this._resizeState.getResizedPosition(state.current);\n\n const { transition } = startViewTransition(() => {\n this.style.setProperty('grid-row', row);\n this.style.setProperty('grid-column', column);\n });\n\n await transition?.finished;\n\n const { width, height } = this._resizeState.calculateResizedSize(\n this._cssContainer\n );\n\n this._resizeContainer?.setSize(width, height);\n this._setResizeState(false);\n }\n\n private _handleResizeCancel() {\n this._setResizeState(false);\n }\n\n private _handleFullscreen() {\n this._fullscreenController.setState(!this.fullscreen);\n }\n\n private _handleMaximize() {\n if (!this.emitMaximizedEvent()) {\n return;\n }\n\n this.maximized = !this.maximized;\n }\n\n private emitFullScreenEvent(state: boolean) {\n this.requestUpdate();\n\n return this.emitEvent('igcTileFullscreen', {\n detail: { tile: this, state },\n cancelable: true,\n });\n }\n\n private emitMaximizedEvent() {\n return this.emitEvent('igcTileMaximize', {\n detail: { tile: this, state: !this.maximized },\n cancelable: true,\n });\n }\n\n protected _renderDefaultAction(type: 'maximize' | 'fullscreen') {\n const [icon, listener] =\n type === 'fullscreen'\n ? [\n this.fullscreen ? 'fullscreen_exit' : 'fullscreen',\n this._handleFullscreen,\n ]\n : [\n this._maximized ? 'collapse_content' : 'expand_content',\n this._handleMaximize,\n ];\n\n return html`\n <igc-icon-button\n variant=\"flat\"\n collection=\"default\"\n exportparts=\"icon\"\n name=${icon}\n aria-label=${icon}\n @click=${listener}\n ></igc-icon-button>\n `;\n }\n\n protected _renderHeader() {\n return html`\n <section part=\"header\" ?hidden=${this._shouldHideHeader}>\n <header part=\"title\" ${ref(this._headerRef)}>\n <slot name=\"title\" @slotchange=${this.requestUpdate}></slot>\n </header>\n <section id=\"tile-actions\" part=\"actions\">\n ${!this.disableMaximize\n ? html`<slot name=\"maximize-action\"\n >${this._renderDefaultAction('maximize')}</slot\n >`\n : nothing}\n ${!this.disableFullscreen\n ? html`<slot name=\"fullscreen-action\"\n >${this._renderDefaultAction('fullscreen')}</slot\n >`\n : nothing}\n\n <slot name=\"actions\" @slotchange=${this.requestUpdate}></slot>\n </section>\n </section>\n <igc-divider></igc-divider>\n `;\n }\n\n protected _renderContent() {\n const parts = partNameMap({\n base: true,\n draggable: this._tileManager?.dragMode !== 'none',\n fullscreen: this.fullscreen,\n dragging: this._isDragging,\n resizable:\n !this.disableResize && this._tileManager?.resizeMode !== 'none',\n resizing: this._isResizing,\n maximized: this.maximized,\n });\n\n const styles = {\n '--ig-col-span': this._colSpan,\n '--ig-row-span': this._rowSpan,\n '--ig-col-start': this._colStart,\n '--ig-row-start': this._rowStart,\n };\n\n return html`\n <div part=${parts} style=${styleMap(styles)}>\n ${this._renderHeader()}\n <div part=\"content-container\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this.requestUpdate());\n return root;\n }\n\n private _customAdorners = new Map<string, boolean>(\n Object.entries({\n side: false,\n corner: false,\n bottom: false,\n })\n );\n\n private _renderAdornerSlot(name: AdornerType) {\n return html`\n <slot\n @slotchange=${() => this._customAdorners.set(name, true)}\n name=\"${name}-adorner\"\n slot=\"${name}-adorner\"\n >\n <div part=\"adorner-indicator\"></div>\n </slot>\n `;\n }\n\n protected override render() {\n return html`\n <igc-resize\n part=${partNameMap({\n resize: true,\n 'side-adorner': this._customAdorners.get('side')!,\n 'corner-adorner': this._customAdorners.get('corner')!,\n 'bottom-adorner': this._customAdorners.get('bottom')!,\n })}\n mode=\"deferred\"\n .enabled=${!this._resizeDisabled}\n ?active=${this._resizeMode === 'always'}\n .ghostFactory=${createTileGhost}\n @igcResizeStart=${this._handleResizeStart}\n @igcResize=${this._handleResize}\n @igcResizeEnd=${this._handleResizeEnd}\n @igcResizeCancel=${this._handleResizeCancel}\n >\n ${this._renderContent()} ${this._renderAdornerSlot('side')}\n ${this._renderAdornerSlot('corner')}\n ${this._renderAdornerSlot('bottom')}\n </igc-resize>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tile': IgcTileComponent;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tile.js","sourceRoot":"","sources":["../../../src/components/tile-manager/tile.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { startViewTransition } from '../../animations/player.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport IgcIconButtonComponent from '../button/icon-button.js';\nimport {\n type TileManagerContext,\n tileManagerContext,\n} from '../common/context.js';\nimport { createAsyncContext } from '../common/controllers/async-consumer.js';\nimport {\n type DragCallbackParameters,\n addDragController,\n} from '../common/controllers/drag.js';\nimport { addFullscreenController } from '../common/controllers/fullscreen.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 {\n asNumber,\n createCounter,\n findElementFromEventPath,\n getCenterPoint,\n isEmpty,\n partNameMap,\n} from '../common/util.js';\nimport IgcDividerComponent from '../divider/divider.js';\nimport IgcResizeContainerComponent from '../resize-container/resize-container.js';\nimport type { ResizeCallbackParams } from '../resize-container/types.js';\nimport { createTileDragStack, swapTiles } from './position.js';\nimport { styles as shared } from './themes/shared/tile/tile.common.css.js';\nimport { styles } from './themes/tile.base.css.js';\nimport { all } from './themes/tile.js';\nimport {\n createTileDragGhost,\n createTileGhost,\n createTileResizeState,\n} from './tile-util.js';\n\ntype IgcTileChangeState = {\n tile: IgcTileComponent;\n state: boolean;\n};\n\ntype AdornerType = 'side' | 'corner' | 'bottom';\n\n// REVIEW: Decide whether to re-emit the events from the manager of leave them up to bubble naturally\nexport interface IgcTileComponentEventMap {\n igcTileFullscreen: CustomEvent<IgcTileChangeState>;\n igcTileMaximize: CustomEvent<IgcTileChangeState>;\n tileDragStart: CustomEvent<IgcTileComponent>;\n tileDragEnd: CustomEvent<IgcTileComponent>;\n igcResizeStart: CustomEvent<IgcTileComponent>;\n igcResizeMove: CustomEvent<IgcTileComponent>;\n igcResizeEnd: CustomEvent<IgcTileComponent>;\n}\n\n/**\n * The tile component is used within the `igc-tile-manager` as a container\n * for displaying various types of information.\n *\n * @element igc-tile\n *\n * @fires igcTileFullscreen - Fired when tile fullscreen state changes.\n * @fires igcTileMaximize - Fired when tile maximize state changes.\n * @fires igcResizeStart - Fired when tile begins resizing.\n * @fires igcResizeMove - Fired when tile is being resized.\n * @fires igcResizeEnd - Fired when tile finishes resizing.\n *\n * @slot title - Renders the title of the tile header.\n * @slot maximize-action - Renders the maximize action element.\n * @slot fullscreen-action - Renders the fullscreen action element.\n * @slot actions - Renders items after the default actions.\n * @slot Default slot for the tile's content.\n * @slot side-adorner - Renders the side resize handle.\n * @slot corner-adorner - Renders the corner resize handle.\n * @slot bottom-adorner - Renders the bottom resize handle.\n *\n * @csspart base - The wrapper for the entire tile.\n * @csspart header - The container for the header, including title and actions.\n * @csspart title - The title container.\n * @csspart actions - The actions container.\n * @csspart content-container - The container wrapping the tile’s main content.\n * @csspart trigger-side - The part for the side adorner of the encapsulated resize element.\n * @csspart trigger - The part for the corner adorner of the encapsulated resize element.\n * @csspart trigger-bottom - The part for the bottom adorner of the encapsulated resize element.\n */\n@themes(all)\nexport default class IgcTileComponent extends EventEmitterMixin<\n IgcTileComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-tile';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n IgcTileComponent,\n IgcIconButtonComponent,\n IgcDividerComponent,\n IgcResizeContainerComponent\n );\n }\n\n private static readonly increment = createCounter();\n\n private _dragController = addDragController(this, {\n skip: this._skipDrag,\n ghost: this._createDragGhost,\n start: this._handleDragStart,\n move: this._handleDragMove,\n end: this._handleDragEnd,\n cancel: this._handleDragCancel,\n });\n\n private _fullscreenController = addFullscreenController(this, {\n enter: this.emitFullScreenEvent,\n exit: this.emitFullScreenEvent,\n });\n\n private _colSpan = 1;\n private _rowSpan = 1;\n private _colStart: number | null = null;\n private _rowStart: number | null = null;\n private _position = -1;\n private _resizeState = createTileResizeState();\n private _dragStack = createTileDragStack();\n\n private _customAdorners = new Map<string, boolean>(\n Object.entries({\n side: false,\n corner: false,\n bottom: false,\n })\n );\n\n // Tile manager context properties and helpers\n\n /**\n * Context consumer callback that sets the updated configuration of the internal drag controller\n * based on the passed tile manager properties.\n */\n private _setDragConfiguration = ({\n instance: { dragMode },\n }: TileManagerContext) => {\n this._dragController.set({\n enabled: dragMode !== 'none',\n trigger:\n dragMode === 'tile-header' ? () => this._headerRef.value! : undefined,\n });\n };\n\n private _context = createAsyncContext(\n this,\n tileManagerContext,\n this._setDragConfiguration\n );\n\n /** Returns the parent tile manager context. */\n private get _tileManagerCtx(): TileManagerContext | undefined {\n return this._context.value;\n }\n\n private get _tileManager() {\n return this._tileManagerCtx?.instance;\n }\n\n /** Returns the tile manager internal CSS grid container. */\n private get _cssContainer(): HTMLElement {\n return this._tileManagerCtx?.grid.value!;\n }\n\n /** Returns the tile manager current resize mode. */\n private get _resizeMode() {\n return this._tileManager?.resizeMode ?? 'none';\n }\n\n protected _headerRef = createRef<HTMLSlotElement>();\n\n @queryAssignedElements({ slot: 'title' })\n private _titleElements!: HTMLElement[];\n\n @queryAssignedElements({ slot: 'actions' })\n private _actionsElements!: HTMLElement[];\n\n @query(IgcResizeContainerComponent.tagName)\n protected _resizeContainer?: IgcResizeContainerComponent;\n\n @query('[part~=\"base\"]', true)\n public _tileContent!: HTMLElement;\n\n @state()\n private _maximized = false;\n\n @state()\n private _isDragging = false;\n\n @state()\n private _isResizing = false;\n\n /** Whether to render the resize container based on tile and tile manager configuration. */\n private get _resizeDisabled(): boolean {\n return (\n this.disableResize ||\n this.maximized ||\n this.fullscreen ||\n this._resizeMode === 'none'\n );\n }\n\n /**\n * The unique identifier of the tile.\n * @attr tile-id\n */\n @property({ attribute: 'tile-id', type: String, reflect: true })\n public tileId: string | null = null;\n\n /**\n * The number of columns the tile will span.\n *\n * @remarks\n * Values <= 1 will be coerced to 1.\n *\n * @attr col-span\n */\n @property({ type: Number, attribute: 'col-span' })\n public set colSpan(value: number) {\n this._colSpan = Math.max(1, asNumber(value));\n this.style.setProperty('--ig-col-span', this._colSpan.toString());\n }\n\n public get colSpan(): number {\n return this._colSpan;\n }\n\n /**\n * The number of rows the tile will span.\n *\n * @remarks\n * Values <= 1 will be coerced to 1.\n *\n * @attr row-span\n */\n @property({ type: Number, attribute: 'row-span' })\n public set rowSpan(value: number) {\n this._rowSpan = Math.max(1, asNumber(value));\n this.style.setProperty('--ig-row-span', this._rowSpan.toString());\n }\n\n public get rowSpan(): number {\n return this._rowSpan;\n }\n\n /**\n * The starting column for the tile.\n *\n * @attr col-start\n */\n @property({ type: Number, attribute: 'col-start' })\n public set colStart(value: number | null) {\n this._colStart = Math.max(0, asNumber(value)) || null;\n this.style.setProperty(\n '--ig-col-start',\n this._colStart ? this._colStart.toString() : null\n );\n }\n\n public get colStart(): number | null {\n return this._colStart;\n }\n\n /**\n * The starting row for the tile.\n *\n * @attr row-start\n */\n @property({ type: Number, attribute: 'row-start' })\n public set rowStart(value: number | null) {\n this._rowStart = Math.max(0, asNumber(value)) || null;\n this.style.setProperty(\n '--ig-row-start',\n this._rowStart ? this._rowStart.toString() : null\n );\n }\n\n public get rowStart(): number | null {\n return this._rowStart;\n }\n\n /**\n * Indicates whether the tile occupies the whole screen.\n *\n * @property\n */\n public get fullscreen(): boolean {\n return this._fullscreenController.fullscreen;\n }\n\n /**\n * Indicates whether the tile occupies all available space within the layout.\n *\n * @attr maximized\n */\n @property({ type: Boolean, reflect: true })\n public set maximized(value: boolean) {\n this._maximized = value;\n\n if (this._tileManagerCtx) {\n this._tileManagerCtx.instance.requestUpdate();\n }\n }\n\n public get maximized(): boolean {\n return this._maximized;\n }\n\n /**\n * Indicates whether the tile can be resized.\n * @attr disable-resize\n */\n @property({ type: Boolean, reflect: true, attribute: 'disable-resize' })\n public disableResize = false;\n\n /**\n * Indicates whether the fullscreen action is displayed.\n * @attr disable-fullscreen\n */\n @property({ type: Boolean, reflect: true, attribute: 'disable-fullscreen' })\n public disableFullscreen = false;\n\n /**\n * Indicates whether the maximize action is displayed.\n * @attr disable-maximize\n */\n @property({ type: Boolean, reflect: true, attribute: 'disable-maximize' })\n public disableMaximize = false;\n\n /**\n * Gets/sets the tile's visual position in the layout.\n *\n * Corresponds to the CSS order property.\n *\n * @attr position\n */\n @property({ type: Number })\n public set position(value: number) {\n this._position = asNumber(value);\n this.style.order = this._position.toString();\n }\n\n public get position(): number {\n return this._position;\n }\n\n /** @internal */\n public override connectedCallback(): void {\n super.connectedCallback();\n this.tileId = this.tileId || `tile-${IgcTileComponent.increment()}`;\n\n this.style.viewTransitionName =\n this.style.viewTransitionName || `tile-transition-${this.tileId}`;\n }\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this.requestUpdate());\n return root;\n }\n\n private _setDragState(state = true) {\n this._isDragging = state;\n this._tileContent.style.opacity = state ? '0' : '1';\n this.style.pointerEvents = state ? 'none' : '';\n this.part.toggle('dragging', state);\n }\n\n private _handleDragStart() {\n this.emitEvent('tileDragStart', { detail: this });\n this._setDragState();\n this._dragStack.push(this);\n }\n\n private _handleDragMove({\n event: { clientX, clientY },\n }: DragCallbackParameters) {\n const match = document\n .elementsFromPoint(clientX, clientY)\n .find(this._match);\n\n if (!match) {\n return;\n }\n\n if (this._dragStack.peek() === match) {\n const { x, y } = getCenterPoint(match);\n\n const shouldSwap =\n this.position <= match.position\n ? clientX > x || clientY > y\n : clientX < x || clientY < y;\n\n if (shouldSwap) {\n this._dragStack.pop();\n this._dragStack.push(match);\n\n startViewTransition(() => {\n swapTiles(this, match);\n });\n }\n\n return;\n }\n\n this._dragStack.push(match);\n\n startViewTransition(() => {\n swapTiles(this, match);\n });\n }\n\n private _handleDragCancel() {\n startViewTransition(() => {\n this._dragStack.restore();\n this._dragStack.reset();\n });\n\n this._dragController.dispose();\n this._setDragState(false);\n }\n\n private _handleDragEnd() {\n this.emitEvent('tileDragEnd', { detail: this });\n this._setDragState(false);\n this._dragStack.reset();\n }\n\n private _skipDrag(event: PointerEvent): boolean {\n if (this._maximized || this.fullscreen) {\n return true;\n }\n\n return Boolean(\n findElementFromEventPath(\n (e) => e.matches('[part*=trigger]') || e.matches('#tile-actions'),\n event\n )\n );\n }\n\n private _match(element: Element): element is IgcTileComponent {\n return element !== this && IgcTileComponent.tagName === element.localName;\n }\n\n private _createDragGhost(): IgcTileComponent {\n return createTileDragGhost(this);\n }\n\n private _setResizeState(state = true) {\n this._isResizing = state;\n this.style.zIndex = state ? '1' : '';\n this.part.toggle('resizing', state);\n }\n\n private _handleResizeStart({\n detail: { state },\n }: CustomEvent<ResizeCallbackParams>) {\n this._resizeState.updateState(state.initial, this, this._cssContainer);\n this._setResizeState();\n }\n\n private _handleResize({\n detail: { state },\n }: CustomEvent<ResizeCallbackParams>) {\n const trigger = state.trigger!;\n\n const isWidthResize = trigger.matches('[part*=\"side\"], [part=\"trigger\"]');\n const isHeightResize = trigger.matches(\n '[part*=\"bottom\"], [part=\"trigger\"]'\n );\n\n if (isWidthResize) {\n state.current.width = this._resizeState.calculateSnappedWidth(state);\n }\n\n if (isHeightResize) {\n state.current.height = this._resizeState.calculateSnappedHeight(state);\n }\n }\n\n private async _handleResizeEnd({\n detail: { state },\n }: CustomEvent<ResizeCallbackParams>) {\n const { column, row } = this._resizeState.getResizedPosition(state.current);\n\n const { transition } = startViewTransition(() => {\n this.style.setProperty('grid-row', row);\n this.style.setProperty('grid-column', column);\n });\n\n await transition?.updateCallbackDone;\n\n const { width, height } = this._resizeState.calculateResizedSize(\n this._cssContainer\n );\n\n this._resizeState.resizedDimensions = { width, height };\n this._resizeContainer?.setSize(width, height);\n this._setResizeState(false);\n }\n\n private _handleResizeCancel() {\n this._setResizeState(false);\n }\n\n private _handleFullscreen() {\n const { width, height } = !this.fullscreen\n ? this._resizeState.emptyResizeDimensions\n : this._resizeState.resizedDimensions;\n\n this._resizeContainer?.setSize(width, height);\n this._fullscreenController.setState(!this.fullscreen);\n }\n\n private _handleMaximize() {\n if (!this.emitMaximizedEvent()) {\n return;\n }\n\n this.maximized = !this.maximized;\n }\n\n private emitFullScreenEvent(state: boolean) {\n this.requestUpdate();\n\n return this.emitEvent('igcTileFullscreen', {\n detail: { tile: this, state },\n cancelable: true,\n });\n }\n\n private emitMaximizedEvent() {\n return this.emitEvent('igcTileMaximize', {\n detail: { tile: this, state: !this.maximized },\n cancelable: true,\n });\n }\n\n protected _renderDefaultAction(type: 'maximize' | 'fullscreen') {\n const [icon, listener] =\n type === 'fullscreen'\n ? [\n this.fullscreen ? 'fullscreen_exit' : 'fullscreen',\n this._handleFullscreen,\n ]\n : [\n this._maximized ? 'collapse_content' : 'expand_content',\n this._handleMaximize,\n ];\n\n return html`\n <igc-icon-button\n variant=\"flat\"\n collection=\"default\"\n exportparts=\"icon\"\n name=${icon}\n aria-label=${icon}\n @click=${listener}\n ></igc-icon-button>\n `;\n }\n\n protected _renderHeader() {\n const hideHeader =\n isEmpty(this._titleElements) &&\n isEmpty(this._actionsElements) &&\n this.disableMaximize &&\n this.disableFullscreen;\n\n return html`\n <section part=\"header\" ?hidden=${hideHeader}>\n <header part=\"title\" ${ref(this._headerRef)}>\n <slot name=\"title\"></slot>\n </header>\n <section id=\"tile-actions\" part=\"actions\">\n ${!this.disableMaximize\n ? html`<slot name=\"maximize-action\"\n >${this._renderDefaultAction('maximize')}</slot\n >`\n : nothing}\n ${!this.disableFullscreen\n ? html`<slot name=\"fullscreen-action\"\n >${this._renderDefaultAction('fullscreen')}</slot\n >`\n : nothing}\n\n <slot name=\"actions\"></slot>\n </section>\n </section>\n <igc-divider></igc-divider>\n `;\n }\n\n protected _renderContent() {\n const parts = partNameMap({\n base: true,\n draggable: this._tileManager?.dragMode !== 'none',\n fullscreen: this.fullscreen,\n dragging: this._isDragging,\n resizable:\n !this.disableResize && this._tileManager?.resizeMode !== 'none',\n resizing: this._isResizing,\n maximized: this.maximized,\n });\n\n const styles = {\n '--ig-col-span': this._colSpan,\n '--ig-row-span': this._rowSpan,\n '--ig-col-start': this._colStart,\n '--ig-row-start': this._rowStart,\n };\n\n return html`\n <div part=${parts} style=${styleMap(styles)}>\n ${this._renderHeader()}\n <div part=\"content-container\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n private _renderAdornerSlot(name: AdornerType) {\n return html`\n <slot\n @slotchange=${() => this._customAdorners.set(name, true)}\n name=\"${name}-adorner\"\n slot=\"${name}-adorner\"\n >\n </slot>\n `;\n }\n\n protected override render() {\n const { width, height } =\n this.fullscreen || this.maximized\n ? this._resizeState.emptyResizeDimensions\n : this._resizeState.resizedDimensions;\n\n this._resizeContainer?.setSize(width, height);\n\n return html`\n <igc-resize\n part=${partNameMap({\n resize: true,\n 'side-adorner': this._customAdorners.get('side')!,\n 'corner-adorner': this._customAdorners.get('corner')!,\n 'bottom-adorner': this._customAdorners.get('bottom')!,\n })}\n exportparts=\"trigger-side, trigger, trigger-bottom\"\n mode=\"deferred\"\n .enabled=${!this._resizeDisabled}\n ?active=${this._resizeMode === 'always'}\n .ghostFactory=${createTileGhost}\n @igcResizeStart=${this._handleResizeStart}\n @igcResize=${this._handleResize}\n @igcResizeEnd=${this._handleResizeEnd}\n @igcResizeCancel=${this._handleResizeCancel}\n >\n ${this._renderContent()} ${this._renderAdornerSlot('side')}\n ${this._renderAdornerSlot('corner')}\n ${this._renderAdornerSlot('bottom')}\n </igc-resize>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tile': IgcTileComponent;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|