igniteui-webcomponents 4.3.0 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +69 -0
- package/animations/presets/fade/index.d.ts +2 -2
- package/animations/presets/fade/index.js +4 -6
- package/animations/presets/fade/index.js.map +1 -1
- package/animations/presets/grow/index.d.ts +2 -2
- package/animations/presets/grow/index.js +8 -10
- package/animations/presets/grow/index.js.map +1 -1
- package/animations/presets/index.d.ts +1 -0
- package/animations/presets/index.js +1 -0
- package/animations/presets/index.js.map +1 -1
- package/animations/presets/slide/index.d.ts +3 -0
- package/animations/presets/slide/index.js +16 -0
- package/animations/presets/slide/index.js.map +1 -0
- package/components/accordion/themes/accordion.base.css.js +1 -4
- package/components/accordion/themes/accordion.base.css.js.map +1 -1
- package/components/avatar/avatar.js +5 -2
- package/components/avatar/avatar.js.map +1 -1
- package/components/avatar/themes/avatar.base.css.js +97 -0
- package/components/avatar/themes/avatar.base.css.js.map +1 -0
- package/components/avatar/themes/dark/avatar.bootstrap.css.js +3 -0
- package/components/avatar/themes/dark/avatar.bootstrap.css.js.map +1 -0
- package/components/avatar/themes/dark/avatar.fluent.css.js +3 -0
- package/components/avatar/themes/dark/avatar.fluent.css.js.map +1 -0
- package/components/avatar/themes/dark/avatar.indigo.css.js +3 -0
- package/components/avatar/themes/dark/avatar.indigo.css.js.map +1 -0
- package/components/avatar/themes/dark/avatar.material.css.js +3 -0
- package/components/avatar/themes/dark/avatar.material.css.js.map +1 -0
- package/components/avatar/themes/light/avatar.bootstrap.css.js +19 -18
- package/components/avatar/themes/light/avatar.bootstrap.css.js.map +1 -1
- package/components/avatar/themes/light/avatar.fluent.css.js +27 -0
- package/components/avatar/themes/light/avatar.fluent.css.js.map +1 -0
- package/components/avatar/themes/light/avatar.indigo.css.js +27 -0
- package/components/avatar/themes/light/avatar.indigo.css.js.map +1 -0
- package/components/avatar/themes/light/avatar.material.css.js +27 -0
- package/components/avatar/themes/light/avatar.material.css.js.map +1 -0
- package/components/badge/themes/light/badge.base.css.js +1 -2
- package/components/badge/themes/light/badge.base.css.js.map +1 -1
- package/components/badge/themes/light/badge.bootstrap.css.js +1 -2
- package/components/badge/themes/light/badge.bootstrap.css.js.map +1 -1
- package/components/button/button-base.d.ts +14 -6
- package/components/button/button-base.js +51 -18
- package/components/button/button-base.js.map +1 -1
- package/components/button/themes/button/dark/button.bootstrap.css.js +1 -13
- package/components/button/themes/button/dark/button.bootstrap.css.js.map +1 -1
- package/components/button/themes/button/dark/button.fluent.css.js +1 -13
- package/components/button/themes/button/dark/button.fluent.css.js.map +1 -1
- package/components/button/themes/button/dark/button.indigo.css.js +1 -13
- package/components/button/themes/button/dark/button.indigo.css.js.map +1 -1
- package/components/button/themes/button/dark/button.material.css.js +1 -13
- package/components/button/themes/button/dark/button.material.css.js.map +1 -1
- package/components/button/themes/button/light/button.base.css.js +5 -6
- package/components/button/themes/button/light/button.base.css.js.map +1 -1
- package/components/button/themes/button/light/button.bootstrap.css.js +80 -62
- package/components/button/themes/button/light/button.bootstrap.css.js.map +1 -1
- package/components/button/themes/button/light/button.fluent.css.js +97 -72
- package/components/button/themes/button/light/button.fluent.css.js.map +1 -1
- package/components/button/themes/button/light/button.indigo.css.js +100 -73
- package/components/button/themes/button/light/button.indigo.css.js.map +1 -1
- package/components/button/themes/button/light/button.material.css.js +103 -69
- package/components/button/themes/button/light/button.material.css.js.map +1 -1
- package/components/button/themes/icon-button/dark/icon-button.fluent.css.js +1 -1
- package/components/button/themes/icon-button/dark/icon-button.fluent.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.base.css.js +3 -6
- package/components/button/themes/icon-button/light/icon-button.base.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js +42 -11
- package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.fluent.css.js +44 -24
- package/components/button/themes/icon-button/light/icon-button.fluent.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.indigo.css.js +36 -7
- package/components/button/themes/icon-button/light/icon-button.indigo.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.material.css.js +37 -7
- package/components/button/themes/icon-button/light/icon-button.material.css.js.map +1 -1
- package/components/calendar/calendar.d.ts +2 -5
- package/components/calendar/calendar.js +31 -35
- package/components/calendar/calendar.js.map +1 -1
- package/components/calendar/days-view/days-view.js +6 -6
- package/components/calendar/days-view/days-view.js.map +1 -1
- package/components/calendar/themes/bootstrap/calendar.bootstrap.css.js +60 -6
- package/components/calendar/themes/bootstrap/calendar.bootstrap.css.js.map +1 -1
- package/components/calendar/themes/bootstrap/days-view.bootstrap.css.js +53 -3
- package/components/calendar/themes/bootstrap/days-view.bootstrap.css.js.map +1 -1
- package/components/calendar/themes/bootstrap/year-month-view.bootstrap.css.js +50 -3
- package/components/calendar/themes/bootstrap/year-month-view.bootstrap.css.js.map +1 -1
- package/components/calendar/themes/calendar.base.css.js +66 -6
- package/components/calendar/themes/calendar.base.css.js.map +1 -1
- package/components/calendar/themes/days-view.base.css.js +6 -8
- package/components/calendar/themes/days-view.base.css.js.map +1 -1
- package/components/calendar/themes/fluent/calendar.fluent.css.js +123 -9
- package/components/calendar/themes/fluent/calendar.fluent.css.js.map +1 -1
- package/components/calendar/themes/fluent/days-view.fluent.css.js +2 -3
- package/components/calendar/themes/fluent/days-view.fluent.css.js.map +1 -1
- package/components/calendar/themes/fluent/year-month-view.fluent.css.js +1 -2
- package/components/calendar/themes/fluent/year-month-view.fluent.css.js.map +1 -1
- package/components/calendar/themes/indigo/calendar.indigo.css.js +67 -0
- package/components/calendar/themes/indigo/calendar.indigo.css.js.map +1 -0
- package/components/calendar/themes/year-month-view.base.css.js +1 -2
- package/components/calendar/themes/year-month-view.base.css.js.map +1 -1
- package/components/card/card.js +2 -0
- package/components/card/card.js.map +1 -1
- package/components/card/themes/light/card.actions.bootstrap.css.js +1 -2
- package/components/card/themes/light/card.actions.bootstrap.css.js.map +1 -1
- package/components/card/themes/light/card.actions.material.css.js +1 -2
- package/components/card/themes/light/card.actions.material.css.js.map +1 -1
- package/components/card/themes/light/card.bootstrap.css.js +11 -3
- package/components/card/themes/light/card.bootstrap.css.js.map +1 -1
- package/components/card/themes/light/card.content.bootstrap.css.js +1 -2
- package/components/card/themes/light/card.content.bootstrap.css.js.map +1 -1
- package/components/card/themes/light/card.content.indigo.css.js +1 -2
- package/components/card/themes/light/card.content.indigo.css.js.map +1 -1
- package/components/card/themes/light/card.content.material.css.js +1 -2
- package/components/card/themes/light/card.content.material.css.js.map +1 -1
- package/components/card/themes/light/card.fluent.css.js +11 -4
- package/components/card/themes/light/card.fluent.css.js.map +1 -1
- package/components/card/themes/light/card.header.bootstrap.css.js +1 -2
- package/components/card/themes/light/card.header.bootstrap.css.js.map +1 -1
- package/components/card/themes/light/card.header.fluent.css.js +1 -2
- package/components/card/themes/light/card.header.fluent.css.js.map +1 -1
- package/components/card/themes/light/card.header.indigo.css.js +1 -2
- package/components/card/themes/light/card.header.indigo.css.js.map +1 -1
- package/components/card/themes/light/card.header.material.css.js +1 -2
- package/components/card/themes/light/card.header.material.css.js.map +1 -1
- package/components/card/themes/light/card.indigo.css.js +14 -0
- package/components/card/themes/light/card.indigo.css.js.map +1 -0
- package/components/card/themes/light/card.material.css.js +11 -4
- package/components/card/themes/light/card.material.css.js.map +1 -1
- package/components/card/themes/light/card.media.material.css.js +1 -2
- package/components/card/themes/light/card.media.material.css.js.map +1 -1
- package/components/checkbox/checkbox-base.d.ts +8 -35
- package/components/checkbox/checkbox-base.js +28 -41
- package/components/checkbox/checkbox-base.js.map +1 -1
- package/components/checkbox/checkbox.d.ts +0 -1
- package/components/checkbox/checkbox.js +5 -16
- package/components/checkbox/checkbox.js.map +1 -1
- package/components/checkbox/switch.d.ts +0 -2
- package/components/checkbox/switch.js +4 -16
- package/components/checkbox/switch.js.map +1 -1
- package/components/checkbox/themes/dark/checkbox.bootstrap.css.js +1 -13
- package/components/checkbox/themes/dark/checkbox.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/dark/checkbox.fluent.css.js +1 -13
- package/components/checkbox/themes/dark/checkbox.fluent.css.js.map +1 -1
- package/components/checkbox/themes/dark/checkbox.indigo.css.js +1 -13
- package/components/checkbox/themes/dark/checkbox.indigo.css.js.map +1 -1
- package/components/checkbox/themes/dark/checkbox.material.css.js +1 -13
- package/components/checkbox/themes/dark/checkbox.material.css.js.map +1 -1
- package/components/checkbox/themes/dark/switch.bootstrap.css.js +1 -13
- package/components/checkbox/themes/dark/switch.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/dark/switch.fluent.css.js +1 -13
- package/components/checkbox/themes/dark/switch.fluent.css.js.map +1 -1
- package/components/checkbox/themes/dark/switch.indigo.css.js +1 -13
- package/components/checkbox/themes/dark/switch.indigo.css.js.map +1 -1
- package/components/checkbox/themes/dark/switch.material.css.js +1 -13
- package/components/checkbox/themes/dark/switch.material.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.base.css.js +3 -18
- package/components/checkbox/themes/light/checkbox.base.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.bootstrap.css.js +33 -33
- package/components/checkbox/themes/light/checkbox.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.fluent.css.js +37 -37
- package/components/checkbox/themes/light/checkbox.fluent.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.indigo.css.js +38 -35
- package/components/checkbox/themes/light/checkbox.indigo.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.material.css.js +31 -33
- package/components/checkbox/themes/light/checkbox.material.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.base.css.js +3 -16
- package/components/checkbox/themes/light/switch.base.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.bootstrap.css.js +18 -27
- package/components/checkbox/themes/light/switch.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.fluent.css.js +39 -38
- package/components/checkbox/themes/light/switch.fluent.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.indigo.css.js +33 -35
- package/components/checkbox/themes/light/switch.indigo.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.material.css.js +22 -31
- package/components/checkbox/themes/light/switch.material.css.js.map +1 -1
- package/components/chip/themes/chip.base.css.js +1 -5
- package/components/chip/themes/chip.base.css.js.map +1 -1
- package/components/chip/themes/chip.bootstrap.css.js +35 -6
- package/components/chip/themes/chip.bootstrap.css.js.map +1 -1
- package/components/chip/themes/chip.fluent.css.js +35 -5
- package/components/chip/themes/chip.fluent.css.js.map +1 -1
- package/components/chip/themes/chip.indigo.css.js +35 -5
- package/components/chip/themes/chip.indigo.css.js.map +1 -1
- package/components/chip/themes/chip.material.css.js +35 -5
- package/components/chip/themes/chip.material.css.js.map +1 -1
- package/components/combo/combo-header.js +5 -3
- package/components/combo/combo-header.js.map +1 -1
- package/components/combo/combo-item.js +5 -4
- package/components/combo/combo-item.js.map +1 -1
- package/components/combo/combo.d.ts +9 -37
- package/components/combo/combo.js +71 -58
- package/components/combo/combo.js.map +1 -1
- package/components/combo/controllers/selection.js +1 -3
- package/components/combo/controllers/selection.js.map +1 -1
- package/components/combo/themes/dark/combo.indigo.css.js +1 -1
- package/components/combo/themes/dark/combo.indigo.css.js.map +1 -1
- package/components/combo/themes/dark/combo.material.css.js +1 -1
- package/components/combo/themes/dark/combo.material.css.js.map +1 -1
- package/components/combo/themes/light/combo.base.css.js +19 -33
- package/components/combo/themes/light/combo.base.css.js.map +1 -1
- package/components/combo/themes/light/combo.bootstrap.css.js +209 -88
- package/components/combo/themes/light/combo.bootstrap.css.js.map +1 -1
- package/components/combo/themes/light/combo.fluent.css.js +201 -47
- package/components/combo/themes/light/combo.fluent.css.js.map +1 -1
- package/components/combo/themes/light/combo.indigo.css.js +213 -25
- package/components/combo/themes/light/combo.indigo.css.js.map +1 -1
- package/components/combo/themes/light/combo.material.css.js +242 -89
- package/components/combo/themes/light/combo.material.css.js.map +1 -1
- package/components/combo/themes/light/header/combo-header.base.css.js +3 -7
- package/components/combo/themes/light/header/combo-header.base.css.js.map +1 -1
- package/components/combo/themes/light/item/combo-item.base.css.js +9 -29
- package/components/combo/themes/light/item/combo-item.base.css.js.map +1 -1
- package/components/common/localization/validation-en.d.ts +10 -0
- package/components/common/localization/validation-en.js +10 -0
- package/components/common/localization/validation-en.js.map +1 -0
- package/components/common/mixins/event-emitter.js.map +1 -1
- package/components/common/mixins/form-associated-required.d.ts +16 -0
- package/components/common/mixins/form-associated-required.js +29 -0
- package/components/common/mixins/form-associated-required.js.map +1 -0
- package/components/common/mixins/form-associated.d.ts +92 -0
- package/components/common/mixins/form-associated.js +151 -0
- package/components/common/mixins/form-associated.js.map +1 -0
- package/components/common/util.d.ts +38 -0
- package/components/common/util.js +34 -0
- package/components/common/util.js.map +1 -1
- package/components/common/validators.d.ts +45 -0
- package/components/common/validators.js +54 -0
- package/components/common/validators.js.map +1 -0
- package/components/date-time-input/date-time-input.d.ts +30 -11
- package/components/date-time-input/date-time-input.js +147 -135
- package/components/date-time-input/date-time-input.js.map +1 -1
- package/components/date-time-input/date-util.d.ts +1 -0
- package/components/date-time-input/date-util.js +6 -3
- package/components/date-time-input/date-util.js.map +1 -1
- package/components/dialog/dialog.js +1 -1
- package/components/dialog/dialog.js.map +1 -1
- package/components/dialog/themes/light/dialog.base.css.js +2 -5
- package/components/dialog/themes/light/dialog.base.css.js.map +1 -1
- package/components/dialog/themes/light/dialog.bootstrap.css.js +8 -3
- package/components/dialog/themes/light/dialog.bootstrap.css.js.map +1 -1
- package/components/dialog/themes/light/dialog.fluent.css.js +10 -1
- package/components/dialog/themes/light/dialog.fluent.css.js.map +1 -1
- package/components/dialog/themes/light/dialog.indigo.css.js +10 -1
- package/components/dialog/themes/light/dialog.indigo.css.js.map +1 -1
- package/components/dialog/themes/light/dialog.material.css.js +42 -1
- package/components/dialog/themes/light/dialog.material.css.js.map +1 -1
- package/components/dropdown/dropdown-group.js +6 -3
- package/components/dropdown/dropdown-group.js.map +1 -1
- package/components/dropdown/dropdown-header.js +6 -4
- package/components/dropdown/dropdown-header.js.map +1 -1
- package/components/dropdown/dropdown-item.js +8 -11
- package/components/dropdown/dropdown-item.js.map +1 -1
- package/components/dropdown/dropdown.js +2 -1
- package/components/dropdown/dropdown.js.map +1 -1
- package/components/dropdown/themes/dark/dropdown.bootstrap.css.js +1 -1
- package/components/dropdown/themes/dark/dropdown.bootstrap.css.js.map +1 -1
- package/components/dropdown/themes/dark/dropdown.fluent.css.js +1 -1
- package/components/dropdown/themes/dark/dropdown.fluent.css.js.map +1 -1
- package/components/dropdown/themes/dark/dropdown.indigo.css.js +1 -1
- package/components/dropdown/themes/dark/dropdown.indigo.css.js.map +1 -1
- package/components/dropdown/themes/dark/dropdown.material.css.js +3 -0
- package/components/dropdown/themes/dark/dropdown.material.css.js.map +1 -0
- package/components/dropdown/themes/light/dropdown.base.css.js +1 -7
- package/components/dropdown/themes/light/dropdown.base.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown.bootstrap.css.js +28 -4
- package/components/dropdown/themes/light/dropdown.bootstrap.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown.fluent.css.js +26 -3
- package/components/dropdown/themes/light/dropdown.fluent.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown.indigo.css.js +26 -3
- package/components/dropdown/themes/light/dropdown.indigo.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown.material.css.d.ts +1 -0
- package/components/dropdown/themes/light/dropdown.material.css.js +33 -0
- package/components/dropdown/themes/light/dropdown.material.css.js.map +1 -0
- package/components/dropdown/themes/light/group/dropdown-group.base.css.d.ts +1 -0
- package/components/dropdown/themes/light/{dropdown-group.base.css.js → group/dropdown-group.base.css.js} +4 -7
- package/components/dropdown/themes/light/group/dropdown-group.base.css.js.map +1 -0
- package/components/dropdown/themes/light/group/dropdown-group.bootstrap.css.d.ts +1 -0
- package/components/dropdown/themes/light/group/dropdown-group.bootstrap.css.js +28 -0
- package/components/dropdown/themes/light/group/dropdown-group.bootstrap.css.js.map +1 -0
- package/components/dropdown/themes/light/group/dropdown-group.fluent.css.d.ts +1 -0
- package/components/dropdown/themes/light/group/dropdown-group.fluent.css.js +29 -0
- package/components/dropdown/themes/light/group/dropdown-group.fluent.css.js.map +1 -0
- package/components/dropdown/themes/light/group/dropdown-group.indigo.css.d.ts +1 -0
- package/components/dropdown/themes/light/group/dropdown-group.indigo.css.js +28 -0
- package/components/dropdown/themes/light/group/dropdown-group.indigo.css.js.map +1 -0
- package/components/dropdown/themes/light/group/dropdown-group.material.css.d.ts +1 -0
- package/components/dropdown/themes/light/group/dropdown-group.material.css.js +28 -0
- package/components/dropdown/themes/light/group/dropdown-group.material.css.js.map +1 -0
- package/components/dropdown/themes/light/header/dropdown-header.base.css.d.ts +1 -0
- package/components/dropdown/themes/light/header/dropdown-header.base.css.js +56 -0
- package/components/dropdown/themes/light/header/dropdown-header.base.css.js.map +1 -0
- package/components/dropdown/themes/light/header/dropdown-header.bootstrap.css.d.ts +1 -0
- package/components/dropdown/themes/light/header/dropdown-header.bootstrap.css.js +28 -0
- package/components/dropdown/themes/light/header/dropdown-header.bootstrap.css.js.map +1 -0
- package/components/dropdown/themes/light/header/dropdown-header.fluent.css.d.ts +1 -0
- package/components/dropdown/themes/light/header/dropdown-header.fluent.css.js +27 -0
- package/components/dropdown/themes/light/header/dropdown-header.fluent.css.js.map +1 -0
- package/components/dropdown/themes/light/header/dropdown-header.indigo.css.d.ts +1 -0
- package/components/dropdown/themes/light/header/dropdown-header.indigo.css.js +28 -0
- package/components/dropdown/themes/light/header/dropdown-header.indigo.css.js.map +1 -0
- package/components/dropdown/themes/light/header/dropdown-header.material.css.d.ts +1 -0
- package/components/dropdown/themes/light/header/dropdown-header.material.css.js +28 -0
- package/components/dropdown/themes/light/header/dropdown-header.material.css.js.map +1 -0
- package/components/dropdown/themes/light/item/dropdown-item.base.css.d.ts +1 -0
- package/components/dropdown/themes/light/item/dropdown-item.base.css.js +105 -0
- package/components/dropdown/themes/light/item/dropdown-item.base.css.js.map +1 -0
- package/components/dropdown/themes/light/item/dropdown-item.bootstrap.css.d.ts +1 -0
- package/components/dropdown/themes/light/item/dropdown-item.bootstrap.css.js +54 -0
- package/components/dropdown/themes/light/item/dropdown-item.bootstrap.css.js.map +1 -0
- package/components/dropdown/themes/light/item/dropdown-item.fluent.css.d.ts +1 -0
- package/components/dropdown/themes/light/item/dropdown-item.fluent.css.js +55 -0
- package/components/dropdown/themes/light/item/dropdown-item.fluent.css.js.map +1 -0
- package/components/dropdown/themes/light/item/dropdown-item.indigo.css.d.ts +1 -0
- package/components/dropdown/themes/light/item/dropdown-item.indigo.css.js +54 -0
- package/components/dropdown/themes/light/item/dropdown-item.indigo.css.js.map +1 -0
- package/components/dropdown/themes/light/item/dropdown-item.material.css.d.ts +1 -0
- package/components/dropdown/themes/light/item/dropdown-item.material.css.js +54 -0
- package/components/dropdown/themes/light/item/dropdown-item.material.css.js.map +1 -0
- package/components/expansion-panel/expansion-panel.js +1 -1
- package/components/expansion-panel/expansion-panel.js.map +1 -1
- package/components/expansion-panel/themes/light/expansion-panel.base.css.js +13 -4
- package/components/expansion-panel/themes/light/expansion-panel.base.css.js.map +1 -1
- package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js +14 -1
- package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js.map +1 -1
- package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js +14 -1
- package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js.map +1 -1
- package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js +14 -1
- package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js.map +1 -1
- package/components/form/form.d.ts +3 -0
- package/components/form/form.js.map +1 -1
- package/components/icon/dark/icon.bootstrap.css.js +1 -13
- package/components/icon/dark/icon.bootstrap.css.js.map +1 -1
- package/components/icon/dark/icon.fluent.css.js +1 -13
- package/components/icon/dark/icon.fluent.css.js.map +1 -1
- package/components/icon/dark/icon.indigo.css.js +1 -13
- package/components/icon/dark/icon.indigo.css.js.map +1 -1
- package/components/icon/dark/icon.material.css.js +1 -13
- package/components/icon/dark/icon.material.css.js.map +1 -1
- package/components/icon/icon.base.css.js +1 -10
- package/components/icon/icon.base.css.js.map +1 -1
- package/components/icon/light/icon.bootstrap.css.js +9 -19
- package/components/icon/light/icon.bootstrap.css.js.map +1 -1
- package/components/icon/light/icon.fluent.css.js +9 -19
- package/components/icon/light/icon.fluent.css.js.map +1 -1
- package/components/icon/light/icon.indigo.css.js +9 -19
- package/components/icon/light/icon.indigo.css.js.map +1 -1
- package/components/icon/light/icon.material.css.js +9 -19
- package/components/icon/light/icon.material.css.js.map +1 -1
- package/components/input/input-base.d.ts +13 -24
- package/components/input/input-base.js +21 -25
- package/components/input/input-base.js.map +1 -1
- package/components/input/input.d.ts +24 -15
- package/components/input/input.js +106 -48
- package/components/input/input.js.map +1 -1
- package/components/input/themes/dark/input.dark.indigo.css.js +1 -1
- package/components/input/themes/dark/input.dark.indigo.css.js.map +1 -1
- package/components/input/themes/dark/input.dark.material.css.js +1 -1
- package/components/input/themes/dark/input.dark.material.css.js.map +1 -1
- package/components/input/themes/light/input.base.css.js +6 -14
- package/components/input/themes/light/input.base.css.js.map +1 -1
- package/components/input/themes/light/input.bootstrap.css.js +209 -115
- package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
- package/components/input/themes/light/input.fluent.css.js +144 -61
- package/components/input/themes/light/input.fluent.css.js.map +1 -1
- package/components/input/themes/light/input.indigo.css.js +170 -43
- package/components/input/themes/light/input.indigo.css.js.map +1 -1
- package/components/input/themes/light/input.material.css.js +377 -188
- package/components/input/themes/light/input.material.css.js.map +1 -1
- package/components/list/themes/dark/list.bootstrap.css.js +1 -1
- package/components/list/themes/dark/list.bootstrap.css.js.map +1 -1
- package/components/list/themes/dark/list.fluent.css.js +1 -1
- package/components/list/themes/dark/list.fluent.css.js.map +1 -1
- package/components/list/themes/dark/list.indigo.css.js +1 -1
- package/components/list/themes/dark/list.indigo.css.js.map +1 -1
- package/components/list/themes/light/list-header.base.css.js +0 -33
- package/components/list/themes/light/list-header.base.css.js.map +1 -1
- package/components/list/themes/light/list-header.indigo.css.js +1 -2
- package/components/list/themes/light/list-header.indigo.css.js.map +1 -1
- package/components/list/themes/light/list-item.base.css.js +26 -34
- package/components/list/themes/light/list-item.base.css.js.map +1 -1
- package/components/list/themes/light/list-item.bootstrap.css.js +27 -2
- package/components/list/themes/light/list-item.bootstrap.css.js.map +1 -1
- package/components/list/themes/light/list-item.fluent.css.js +27 -2
- package/components/list/themes/light/list-item.fluent.css.js.map +1 -1
- package/components/list/themes/light/list-item.indigo.css.js +27 -2
- package/components/list/themes/light/list-item.indigo.css.js.map +1 -1
- package/components/list/themes/light/list.base.css.js +27 -2
- package/components/list/themes/light/list.base.css.js.map +1 -1
- package/components/list/themes/light/list.bootstrap.css.js +27 -3
- package/components/list/themes/light/list.bootstrap.css.js.map +1 -1
- package/components/mask-input/mask-input-base.d.ts +2 -9
- package/components/mask-input/mask-input-base.js +7 -12
- package/components/mask-input/mask-input-base.js.map +1 -1
- package/components/mask-input/mask-input.d.ts +5 -6
- package/components/mask-input/mask-input.js +42 -51
- package/components/mask-input/mask-input.js.map +1 -1
- package/components/mask-input/mask-parser.js +2 -1
- package/components/mask-input/mask-parser.js.map +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer-item.base.css.js +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer-item.base.css.js.map +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.js +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.js.map +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer-item.fluent.css.js +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer-item.fluent.css.js.map +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer-item.indigo.css.js +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer-item.indigo.css.js.map +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer.indigo.css.js +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer.indigo.css.js.map +1 -1
- package/components/nav-drawer/themes/light/fluent/nav-drawer-header-item.fluent.css.js +1 -2
- package/components/nav-drawer/themes/light/fluent/nav-drawer-header-item.fluent.css.js.map +1 -1
- package/components/nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.js +1 -2
- package/components/nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.js.map +1 -1
- package/components/nav-drawer/themes/light/indigo/nav-drawer-header-item.indigo.css.js +1 -2
- package/components/nav-drawer/themes/light/indigo/nav-drawer-header-item.indigo.css.js.map +1 -1
- package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.js +17 -2
- package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.js.map +1 -1
- package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.js +17 -1
- package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.js.map +1 -1
- package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js +0 -33
- package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js.map +1 -1
- package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js +16 -35
- package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js.map +1 -1
- package/components/nav-drawer/themes/light/nav-drawer.base.css.js +16 -4
- package/components/nav-drawer/themes/light/nav-drawer.base.css.js.map +1 -1
- package/components/navbar/themes/dark/navbar.bootstrap.css.js +1 -13
- package/components/navbar/themes/dark/navbar.bootstrap.css.js.map +1 -1
- package/components/navbar/themes/dark/navbar.fluent.css.js +1 -13
- package/components/navbar/themes/dark/navbar.fluent.css.js.map +1 -1
- package/components/navbar/themes/dark/navbar.indigo.css.js +1 -13
- package/components/navbar/themes/dark/navbar.indigo.css.js.map +1 -1
- package/components/navbar/themes/dark/navbar.material.css.js +1 -13
- package/components/navbar/themes/dark/navbar.material.css.js.map +1 -1
- package/components/navbar/themes/light/navbar.bootstrap.css.js +5 -53
- package/components/navbar/themes/light/navbar.bootstrap.css.js.map +1 -1
- package/components/navbar/themes/light/navbar.fluent.css.js +4 -52
- package/components/navbar/themes/light/navbar.fluent.css.js.map +1 -1
- package/components/navbar/themes/light/navbar.indigo.css.js +4 -52
- package/components/navbar/themes/light/navbar.indigo.css.js.map +1 -1
- package/components/navbar/themes/light/navbar.material.css.js +4 -52
- package/components/navbar/themes/light/navbar.material.css.js.map +1 -1
- package/components/navbar/themes/navbar.base.css.js +1 -3
- package/components/navbar/themes/navbar.base.css.js.map +1 -1
- package/components/progress/themes/circular/circular.progress.base.css.js +1 -3
- package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
- package/components/progress/themes/circular/circular.progress.bootstrap.css.js +1 -2
- package/components/progress/themes/circular/circular.progress.bootstrap.css.js.map +1 -1
- package/components/progress/themes/circular/circular.progress.fluent.css.js +1 -2
- package/components/progress/themes/circular/circular.progress.fluent.css.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.base.css.js +44 -66
- package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.bootstrap.css.js +11 -65
- package/components/progress/themes/linear/linear.progress.bootstrap.css.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.fluent.css.js +11 -7
- package/components/progress/themes/linear/linear.progress.fluent.css.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.indigo.css.js +11 -31
- package/components/progress/themes/linear/linear.progress.indigo.css.js.map +1 -1
- package/components/radio/radio.d.ts +13 -37
- package/components/radio/radio.js +135 -97
- package/components/radio/radio.js.map +1 -1
- package/components/radio/themes/dark/radio.bootstrap.css.js +1 -13
- package/components/radio/themes/dark/radio.bootstrap.css.js.map +1 -1
- package/components/radio/themes/dark/radio.fluent.css.js +1 -13
- package/components/radio/themes/dark/radio.fluent.css.js.map +1 -1
- package/components/radio/themes/dark/radio.indigo.css.js +1 -13
- package/components/radio/themes/dark/radio.indigo.css.js.map +1 -1
- package/components/radio/themes/dark/radio.material.css.js +1 -13
- package/components/radio/themes/dark/radio.material.css.js.map +1 -1
- package/components/radio/themes/light/radio.base.css.js +1 -17
- package/components/radio/themes/light/radio.base.css.js.map +1 -1
- package/components/radio/themes/light/radio.bootstrap.css.js +10 -54
- package/components/radio/themes/light/radio.bootstrap.css.js.map +1 -1
- package/components/radio/themes/light/radio.fluent.css.js +2 -50
- package/components/radio/themes/light/radio.fluent.css.js.map +1 -1
- package/components/radio/themes/light/radio.indigo.css.js +13 -53
- package/components/radio/themes/light/radio.indigo.css.js.map +1 -1
- package/components/radio/themes/light/radio.material.css.js +4 -49
- package/components/radio/themes/light/radio.material.css.js.map +1 -1
- package/components/radio-group/radio-group.base.css.js +1 -2
- package/components/radio-group/radio-group.base.css.js.map +1 -1
- package/components/radio-group/radio-group.d.ts +0 -4
- package/components/radio-group/radio-group.fluent.css.js +1 -2
- package/components/radio-group/radio-group.fluent.css.js.map +1 -1
- package/components/radio-group/radio-group.js +3 -54
- package/components/radio-group/radio-group.js.map +1 -1
- package/components/radio-group/radio-group.material.css.js +1 -2
- package/components/radio-group/radio-group.material.css.js.map +1 -1
- package/components/rating/dark/rating.fluent.css.d.ts +1 -0
- package/components/rating/dark/rating.fluent.css.js +3 -0
- package/components/rating/dark/rating.fluent.css.js.map +1 -0
- package/components/rating/rating-symbol.base.css.js +2 -3
- package/components/rating/rating-symbol.base.css.js.map +1 -1
- package/components/rating/rating.base.css.js +9 -6
- package/components/rating/rating.base.css.js.map +1 -1
- package/components/rating/rating.bootstrap.css.js +1 -2
- package/components/rating/rating.bootstrap.css.js.map +1 -1
- package/components/rating/rating.d.ts +10 -11
- package/components/rating/rating.fluent.css.js +12 -7
- package/components/rating/rating.fluent.css.js.map +1 -1
- package/components/rating/rating.indigo.css.js +1 -2
- package/components/rating/rating.indigo.css.js.map +1 -1
- package/components/rating/rating.js +19 -15
- package/components/rating/rating.js.map +1 -1
- package/components/ripple/ripple.material.css.js +1 -0
- package/components/ripple/ripple.material.css.js.map +1 -1
- package/components/select/select-item.d.ts +0 -2
- package/components/select/select-item.js +0 -3
- package/components/select/select-item.js.map +1 -1
- package/components/select/select.d.ts +9 -40
- package/components/select/select.js +41 -49
- package/components/select/select.js.map +1 -1
- package/components/select/themes/dark/select.fluent.css.js +1 -1
- package/components/select/themes/dark/select.fluent.css.js.map +1 -1
- package/components/select/themes/dark/select.indigo.css.js +1 -1
- package/components/select/themes/dark/select.indigo.css.js.map +1 -1
- package/components/select/themes/dark/select.material.css.js +1 -1
- package/components/select/themes/dark/select.material.css.js.map +1 -1
- package/components/select/themes/light/select.base.css.js +1 -10
- package/components/select/themes/light/select.base.css.js.map +1 -1
- package/components/select/themes/light/select.bootstrap.css.js +121 -42
- package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
- package/components/select/themes/light/select.fluent.css.js +116 -9
- package/components/select/themes/light/select.fluent.css.js.map +1 -1
- package/components/select/themes/light/select.indigo.css.js +138 -17
- package/components/select/themes/light/select.indigo.css.js.map +1 -1
- package/components/select/themes/light/select.material.css.js +162 -27
- package/components/select/themes/light/select.material.css.js.map +1 -1
- package/components/slider/slider.d.ts +4 -12
- package/components/slider/slider.js +16 -25
- package/components/slider/slider.js.map +1 -1
- package/components/slider/themes/dark/slider.bootstrap.css.js +1 -1
- package/components/slider/themes/dark/slider.bootstrap.css.js.map +1 -1
- package/components/slider/themes/dark/slider.fluent.css.js +1 -1
- package/components/slider/themes/dark/slider.fluent.css.js.map +1 -1
- package/components/slider/themes/dark/slider.indigo.css.js +1 -1
- package/components/slider/themes/dark/slider.indigo.css.js.map +1 -1
- package/components/slider/themes/light/slider.base.css.js +21 -18
- package/components/slider/themes/light/slider.base.css.js.map +1 -1
- package/components/slider/themes/light/slider.bootstrap.css.js +1 -2
- package/components/slider/themes/light/slider.bootstrap.css.js.map +1 -1
- package/components/slider/themes/light/slider.fluent.css.js +7 -5
- package/components/slider/themes/light/slider.fluent.css.js.map +1 -1
- package/components/slider/themes/light/slider.indigo.css.js +5 -3
- package/components/slider/themes/light/slider.indigo.css.js.map +1 -1
- package/components/slider/themes/light/slider.material.css.js +2 -4
- package/components/slider/themes/light/slider.material.css.js.map +1 -1
- package/components/snackbar/snackbar.js +1 -1
- package/components/snackbar/snackbar.js.map +1 -1
- package/components/snackbar/themes/dark/snackbar.indigo.css.js +1 -1
- package/components/snackbar/themes/dark/snackbar.indigo.css.js.map +1 -1
- package/components/snackbar/themes/light/snackbar.base.css.js +7 -3
- package/components/snackbar/themes/light/snackbar.base.css.js.map +1 -1
- package/components/snackbar/themes/light/snackbar.bootstrap.css.js +9 -1
- package/components/snackbar/themes/light/snackbar.bootstrap.css.js.map +1 -1
- package/components/snackbar/themes/light/snackbar.fluent.css.js +9 -2
- package/components/snackbar/themes/light/snackbar.fluent.css.js.map +1 -1
- package/components/snackbar/themes/light/snackbar.indigo.css.js +9 -2
- package/components/snackbar/themes/light/snackbar.indigo.css.js.map +1 -1
- package/components/stepper/animations.d.ts +2 -0
- package/components/stepper/animations.js +22 -0
- package/components/stepper/animations.js.map +1 -0
- package/components/stepper/step.d.ts +17 -8
- package/components/stepper/step.js +29 -0
- package/components/stepper/step.js.map +1 -1
- package/components/stepper/stepper.d.ts +19 -3
- package/components/stepper/stepper.js +58 -7
- package/components/stepper/stepper.js.map +1 -1
- package/components/stepper/themes/step/dark/step.bootstrap.css.js +1 -1
- package/components/stepper/themes/step/dark/step.bootstrap.css.js.map +1 -1
- package/components/stepper/themes/step/dark/step.fluent.css.js +1 -1
- package/components/stepper/themes/step/dark/step.fluent.css.js.map +1 -1
- package/components/stepper/themes/step/dark/step.indigo.css.js +1 -1
- package/components/stepper/themes/step/dark/step.indigo.css.js.map +1 -1
- package/components/stepper/themes/step/dark/step.material.css.js +1 -1
- package/components/stepper/themes/step/dark/step.material.css.js.map +1 -1
- package/components/stepper/themes/step/light/step.base.css.js +46 -174
- package/components/stepper/themes/step/light/step.base.css.js.map +1 -1
- package/components/stepper/themes/step/light/step.bootstrap.css.js +183 -20
- package/components/stepper/themes/step/light/step.bootstrap.css.js.map +1 -1
- package/components/stepper/themes/step/light/step.fluent.css.js +179 -13
- package/components/stepper/themes/step/light/step.fluent.css.js.map +1 -1
- package/components/stepper/themes/step/light/step.indigo.css.js +179 -26
- package/components/stepper/themes/step/light/step.indigo.css.js.map +1 -1
- package/components/stepper/themes/step/light/step.material.css.js +179 -5
- package/components/stepper/themes/step/light/step.material.css.js.map +1 -1
- package/components/stepper/themes/stepper/stepper.base.css.js +3 -8
- package/components/stepper/themes/stepper/stepper.base.css.js.map +1 -1
- package/components/stepper/themes/stepper/stepper.bootstrap.css.js +1 -2
- package/components/stepper/themes/stepper/stepper.bootstrap.css.js.map +1 -1
- package/components/stepper/themes/stepper/stepper.fluent.css.js +1 -2
- package/components/stepper/themes/stepper/stepper.fluent.css.js.map +1 -1
- package/components/stepper/themes/stepper/stepper.indigo.css.js +1 -2
- package/components/stepper/themes/stepper/stepper.indigo.css.js.map +1 -1
- package/components/tabs/themes/dark/tab.dark.base.css.js +1 -1
- package/components/tabs/themes/dark/tab.dark.base.css.js.map +1 -1
- package/components/tabs/themes/dark/tab.dark.bootstrap.css.js +1 -1
- package/components/tabs/themes/dark/tab.dark.bootstrap.css.js.map +1 -1
- package/components/tabs/themes/light/tab-panel.base.css.js +1 -2
- package/components/tabs/themes/light/tab-panel.base.css.js.map +1 -1
- package/components/tabs/themes/light/tab.base.css.js +24 -3
- package/components/tabs/themes/light/tab.base.css.js.map +1 -1
- package/components/tabs/themes/light/tab.bootstrap.css.js +27 -6
- package/components/tabs/themes/light/tab.bootstrap.css.js.map +1 -1
- package/components/tabs/themes/light/tab.fluent.css.js +24 -2
- package/components/tabs/themes/light/tab.fluent.css.js.map +1 -1
- package/components/tabs/themes/light/tab.indigo.css.js +24 -2
- package/components/tabs/themes/light/tab.indigo.css.js.map +1 -1
- package/components/tabs/themes/light/tabs.base.css.js +1 -3
- package/components/tabs/themes/light/tabs.base.css.js.map +1 -1
- package/components/tabs/themes/light/tabs.bootstrap.css.js +1 -2
- package/components/tabs/themes/light/tabs.bootstrap.css.js.map +1 -1
- package/components/tabs/themes/light/tabs.fluent.css.js +1 -2
- package/components/tabs/themes/light/tabs.fluent.css.js.map +1 -1
- package/components/tabs/themes/light/tabs.indigo.css.js +1 -2
- package/components/tabs/themes/light/tabs.indigo.css.js.map +1 -1
- package/components/toast/themes/toast.base.css.js +37 -2
- package/components/toast/themes/toast.base.css.js.map +1 -1
- package/components/toast/themes/toast.bootstrap.css.js +6 -3
- package/components/toast/themes/toast.bootstrap.css.js.map +1 -1
- package/components/toast/themes/toast.fluent.css.js +6 -3
- package/components/toast/themes/toast.fluent.css.js.map +1 -1
- package/components/toast/themes/toast.indigo.css.js +6 -3
- package/components/toast/themes/toast.indigo.css.js.map +1 -1
- package/components/toast/toast.js +1 -1
- package/components/toast/toast.js.map +1 -1
- package/components/tree/themes/dark/tree-item.bootstrap.css.js +1 -1
- package/components/tree/themes/dark/tree-item.bootstrap.css.js.map +1 -1
- package/components/tree/themes/dark/tree-item.fluent.css.js +1 -1
- package/components/tree/themes/dark/tree-item.fluent.css.js.map +1 -1
- package/components/tree/themes/dark/tree-item.indigo.css.js +1 -1
- package/components/tree/themes/dark/tree-item.indigo.css.js.map +1 -1
- package/components/tree/themes/light/tree-item.base.css.js +18 -7
- package/components/tree/themes/light/tree-item.base.css.js.map +1 -1
- package/components/tree/themes/light/tree-item.bootstrap.css.js +59 -3
- package/components/tree/themes/light/tree-item.bootstrap.css.js.map +1 -1
- package/components/tree/themes/light/tree-item.fluent.css.js +57 -1
- package/components/tree/themes/light/tree-item.fluent.css.js.map +1 -1
- package/components/tree/themes/light/tree-item.indigo.css.js +57 -1
- package/components/tree/themes/light/tree-item.indigo.css.js.map +1 -1
- package/components/tree/themes/light/tree-item.material.css.d.ts +1 -0
- package/components/tree/themes/light/tree-item.material.css.js +58 -0
- package/components/tree/themes/light/tree-item.material.css.js.map +1 -0
- package/components/tree/themes/light/tree.base.css.js +1 -2
- package/components/tree/themes/light/tree.base.css.js.map +1 -1
- package/components/tree/tree-item.d.ts +7 -2
- package/components/tree/tree-item.js +37 -16
- package/components/tree/tree-item.js.map +1 -1
- package/components/tree/tree.d.ts +0 -6
- package/components/tree/tree.js +0 -4
- package/components/tree/tree.js.map +1 -1
- package/components/tree/tree.navigation.js +3 -2
- package/components/tree/tree.navigation.js.map +1 -1
- package/custom-elements.json +798 -525
- package/package.json +4 -4
- package/themes/dark/bootstrap.css +491 -102
- package/themes/dark/fluent.css +531 -125
- package/themes/dark/indigo.css +739 -97
- package/themes/dark/material.css +445 -94
- package/themes/light/bootstrap.css +5 -49
- package/themes/light/fluent.css +5 -49
- package/themes/light/indigo.css +229 -49
- package/themes/light/material.css +5 -49
- package/theming/theming-controller.d.ts +3 -2
- package/theming/theming-controller.js +38 -19
- package/theming/theming-controller.js.map +1 -1
- package/theming/theming-decorator.d.ts +4 -3
- package/theming/theming-decorator.js +3 -5
- package/theming/theming-decorator.js.map +1 -1
- package/theming/types.d.ts +1 -9
- package/theming/types.js.map +1 -1
- package/vscode-html-custom-data.json +242 -289
- package/components/avatar/themes/dark/avatar.base.bootstrap.css.js +0 -15
- package/components/avatar/themes/dark/avatar.base.bootstrap.css.js.map +0 -1
- package/components/avatar/themes/light/avatar.base.css.js +0 -130
- package/components/avatar/themes/light/avatar.base.css.js.map +0 -1
- package/components/common/types.d.ts +0 -1
- package/components/common/types.js +0 -2
- package/components/common/types.js.map +0 -1
- package/components/dropdown/themes/light/dropdown-group.base.css.js.map +0 -1
- package/components/dropdown/themes/light/dropdown-group.fluent.css.js +0 -6
- package/components/dropdown/themes/light/dropdown-group.fluent.css.js.map +0 -1
- package/components/dropdown/themes/light/dropdown-header.base.css.js +0 -61
- package/components/dropdown/themes/light/dropdown-header.base.css.js.map +0 -1
- package/components/dropdown/themes/light/dropdown-header.bootstrap.css.js +0 -6
- package/components/dropdown/themes/light/dropdown-header.bootstrap.css.js.map +0 -1
- package/components/dropdown/themes/light/dropdown-header.fluent.css.js +0 -6
- package/components/dropdown/themes/light/dropdown-header.fluent.css.js.map +0 -1
- package/components/dropdown/themes/light/dropdown-item.base.css.js +0 -124
- package/components/dropdown/themes/light/dropdown-item.base.css.js.map +0 -1
- package/components/dropdown/themes/light/dropdown-item.bootstrap.css.js +0 -27
- package/components/dropdown/themes/light/dropdown-item.bootstrap.css.js.map +0 -1
- package/components/dropdown/themes/light/dropdown-item.fluent.css.js +0 -27
- package/components/dropdown/themes/light/dropdown-item.fluent.css.js.map +0 -1
- package/components/dropdown/themes/light/dropdown-item.indigo.css.js +0 -27
- package/components/dropdown/themes/light/dropdown-item.indigo.css.js.map +0 -1
- /package/components/avatar/themes/{light/avatar.base.css.d.ts → avatar.base.css.d.ts} +0 -0
- /package/components/avatar/themes/dark/{avatar.base.bootstrap.css.d.ts → avatar.bootstrap.css.d.ts} +0 -0
- /package/components/{dropdown/themes/light/dropdown-group.base.css.d.ts → avatar/themes/dark/avatar.fluent.css.d.ts} +0 -0
- /package/components/{dropdown/themes/light/dropdown-group.fluent.css.d.ts → avatar/themes/dark/avatar.indigo.css.d.ts} +0 -0
- /package/components/{dropdown/themes/light/dropdown-header.base.css.d.ts → avatar/themes/dark/avatar.material.css.d.ts} +0 -0
- /package/components/{dropdown/themes/light/dropdown-header.bootstrap.css.d.ts → avatar/themes/light/avatar.fluent.css.d.ts} +0 -0
- /package/components/{dropdown/themes/light/dropdown-header.fluent.css.d.ts → avatar/themes/light/avatar.indigo.css.d.ts} +0 -0
- /package/components/{dropdown/themes/light/dropdown-item.base.css.d.ts → avatar/themes/light/avatar.material.css.d.ts} +0 -0
- /package/components/{dropdown/themes/light/dropdown-item.bootstrap.css.d.ts → calendar/themes/indigo/calendar.indigo.css.d.ts} +0 -0
- /package/components/{dropdown/themes/light/dropdown-item.fluent.css.d.ts → card/themes/light/card.indigo.css.d.ts} +0 -0
- /package/components/dropdown/themes/{light/dropdown-item.indigo.css.d.ts → dark/dropdown.material.css.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combo-item.base.css.js","sourceRoot":"","sources":["../../../../../../src/components/combo/themes/light/item/combo-item.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"combo-item.base.css.js","sourceRoot":"","sources":["../../../../../../src/components/combo/themes/light/item/combo-item.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+GvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium: min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--ig-scrollbar-size);\n scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--ig-scrollbar-size);\n height: var(--ig-scrollbar-size);\n background: var(--ig-scrollbar-track-background);\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--ig-scrollbar-thumb-background);\n}\n\n:host([hidden]),\n[hidden] {\n display: none !important;\n}\n\n:host {\n font-family: var(--ig-body-2-font-family, var(--ig-font-family));\n font-size: var(--ig-body-2-font-size);\n font-weight: var(--ig-body-2-font-weight);\n font-style: var(--ig-body-2-font-style);\n line-height: var(--ig-body-2-line-height);\n letter-spacing: var(--ig-body-2-letter-spacing);\n text-transform: var(--ig-body-2-text-transform);\n margin-top: var(--ig-body-2-margin-top);\n margin-bottom: var(--ig-body-2-margin-bottom);\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: 100%;\n white-space: nowrap;\n position: relative;\n cursor: pointer;\n outline-style: none;\n padding-inline: max(var(--is-large, 1) * max(1.5rem, -1 * 1.5rem) * var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)), var(--is-medium, 1) * max(0.75rem, -1 * 0.75rem) * var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)), var(--is-small, 1) * max(0.375rem, -1 * 0.375rem) * var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));\n padding-block: max(var(--is-large, 1) * max(0.5rem, -1 * 0.5rem) * var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)), var(--is-medium, 1) * max(0.25rem, -1 * 0.25rem) * var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)), var(--is-small, 1) * max(0.125rem, -1 * 0.125rem) * var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));\n}\n\n:host([disabled]) {\n cursor: default;\n pointer-events: none;\n}\n\n::slotted(*) {\n font: inherit;\n}\n\n[part=content] {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n display: block;\n width: 100%;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n[part=prefix],\n[part=suffix] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n[name=prefix]::slotted(*) {\n -webkit-margin-end: max(var(--is-large, 1) * max(1rem, -1 * 1rem) * var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)), var(--is-medium, 1) * max(1rem, -1 * 1rem) * var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)), var(--is-small, 1) * max(1rem, -1 * 1rem) * var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)));\n margin-inline-end: max(var(--is-large, 1) * max(1rem, -1 * 1rem) * var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)), var(--is-medium, 1) * max(1rem, -1 * 1rem) * var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)), var(--is-small, 1) * max(1rem, -1 * 1rem) * var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)));\n}\n\n[name=suffix]::slotted(*) {\n -webkit-margin-start: max(var(--is-large, 1) * max(1rem, -1 * 1rem) * var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)), var(--is-medium, 1) * max(1rem, -1 * 1rem) * var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)), var(--is-small, 1) * max(1rem, -1 * 1rem) * var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)));\n margin-inline-start: max(var(--is-large, 1) * max(1rem, -1 * 1rem) * var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)), var(--is-medium, 1) * max(1rem, -1 * 1rem) * var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)), var(--is-small, 1) * max(1rem, -1 * 1rem) * var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)));\n}\n\n:host {\n --component-size: var(--ig-size, var(--ig-size-medium));\n gap: 0.5rem;\n}\n\nigc-checkbox {\n pointer-events: none;\n}`;\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
readonly minLength: "Entry should be at least {0} character(s) long";
|
|
3
|
+
readonly maxLength: "Entry should be no more than {0} character(s) long";
|
|
4
|
+
readonly required: "This field is required";
|
|
5
|
+
readonly pattern: "Entry does not match the required pattern";
|
|
6
|
+
readonly mask: "All required positions should be filled";
|
|
7
|
+
readonly min: "A value of at least {0} should be entered";
|
|
8
|
+
readonly max: "A value no more than {0} should be entered";
|
|
9
|
+
};
|
|
10
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
minLength: 'Entry should be at least {0} character(s) long',
|
|
3
|
+
maxLength: 'Entry should be no more than {0} character(s) long',
|
|
4
|
+
required: 'This field is required',
|
|
5
|
+
pattern: 'Entry does not match the required pattern',
|
|
6
|
+
mask: 'All required positions should be filled',
|
|
7
|
+
min: 'A value of at least {0} should be entered',
|
|
8
|
+
max: 'A value no more than {0} should be entered',
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=validation-en.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-en.js","sourceRoot":"","sources":["../../../../src/components/common/localization/validation-en.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,SAAS,EAAE,gDAAgD;IAC3D,SAAS,EAAE,oDAAoD;IAC/D,QAAQ,EAAE,wBAAwB;IAClC,OAAO,EAAE,2CAA2C;IACpD,IAAI,EAAE,yCAAyC;IAC/C,GAAG,EAAE,2CAA2C;IAChD,GAAG,EAAE,4CAA4C;CACzC,CAAC","sourcesContent":["export default {\n minLength: 'Entry should be at least {0} character(s) long',\n maxLength: 'Entry should be no more than {0} character(s) long',\n required: 'This field is required',\n pattern: 'Entry does not match the required pattern',\n mask: 'All required positions should be filled',\n min: 'A value of at least {0} should be entered',\n max: 'A value no more than {0} should be entered',\n} as const;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-emitter.js","sourceRoot":"","sources":["../../../../src/components/common/mixins/event-emitter.ts"],"names":[],"mappings":"AAsCA,MAAM,UAAU,iBAAiB,CAC/B,UAAa;IAEb,MAAM,mBAAoB,SAAQ,UAAU;QAY1B,gBAAgB,CAC9B,IAAY,EACZ,QAA4C,EAC5C,OAA2C;YAE3C,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC;QAae,mBAAmB,CACjC,IAAY,EACZ,QAA4C,EAC5C,OAAwC;YAExC,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;QAKM,SAAS,CACd,IAAO,EACP,aAAkC;YAElC,OAAO,IAAI,CAAC,aAAa,CACvB,IAAI,WAAW,CACb,IAAc,EACd,MAAM,CAAC,MAAM,CACX;gBACE,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,EAAE;aACX,EACD,aAAa,CACd,CACF,CACF,CAAC;QACJ,CAAC;KACF;IACD,OAAO,mBAAgE,CAAC;AAC1E,CAAC","sourcesContent":["import { LitElement } from 'lit';\nimport type { AbstractConstructor, Constructor } from './constructor';\n\nexport type UnpackCustomEvent<T> = T extends CustomEvent<infer U> ? U : never;\n\nexport declare class EventEmitterInterface<E> {\n public addEventListener<K extends keyof M, M extends E & HTMLElementEventMap>(\n type: K,\n listener: (this: HTMLElement, ev: M[K]) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n public addEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void;\n public removeEventListener<\n K extends keyof M,\n M extends E & HTMLElementEventMap
|
|
1
|
+
{"version":3,"file":"event-emitter.js","sourceRoot":"","sources":["../../../../src/components/common/mixins/event-emitter.ts"],"names":[],"mappings":"AAsCA,MAAM,UAAU,iBAAiB,CAC/B,UAAa;IAEb,MAAM,mBAAoB,SAAQ,UAAU;QAY1B,gBAAgB,CAC9B,IAAY,EACZ,QAA4C,EAC5C,OAA2C;YAE3C,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC;QAae,mBAAmB,CACjC,IAAY,EACZ,QAA4C,EAC5C,OAAwC;YAExC,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;QAKM,SAAS,CACd,IAAO,EACP,aAAkC;YAElC,OAAO,IAAI,CAAC,aAAa,CACvB,IAAI,WAAW,CACb,IAAc,EACd,MAAM,CAAC,MAAM,CACX;gBACE,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,EAAE;aACX,EACD,aAAa,CACd,CACF,CACF,CAAC;QACJ,CAAC;KACF;IACD,OAAO,mBAAgE,CAAC;AAC1E,CAAC","sourcesContent":["import { LitElement } from 'lit';\nimport type { AbstractConstructor, Constructor } from './constructor';\n\nexport type UnpackCustomEvent<T> = T extends CustomEvent<infer U> ? U : never;\n\nexport declare class EventEmitterInterface<E> {\n public addEventListener<K extends keyof M, M extends E & HTMLElementEventMap>(\n type: K,\n listener: (this: HTMLElement, ev: M[K]) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n public addEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void;\n public removeEventListener<\n K extends keyof M,\n M extends E & HTMLElementEventMap,\n >(\n type: K,\n listener: (this: HTMLElement, ev: M[K]) => any,\n options?: boolean | EventListenerOptions\n ): void;\n public removeEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions\n ): void;\n public emitEvent<K extends keyof E, D extends UnpackCustomEvent<E[K]>>(\n type: K,\n eventInitDict?: CustomEventInit<D>\n ): boolean;\n}\n\nexport function EventEmitterMixin<E, T extends AbstractConstructor<LitElement>>(\n superClass: T\n): AbstractConstructor<EventEmitterInterface<E>> & T;\nexport function EventEmitterMixin<E, T extends Constructor<LitElement>>(\n superClass: T\n) {\n class EventEmitterElement extends superClass {\n /**\n * @private\n */\n public override addEventListener<\n K extends keyof M,\n M extends E & HTMLElementEventMap,\n >(\n type: K,\n listener: (this: HTMLElement, ev: M[K]) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n public override addEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void {\n super.addEventListener(type, listener, options);\n }\n\n /**\n * @private\n */\n public override removeEventListener<\n K extends keyof M,\n M extends E & HTMLElementEventMap,\n >(\n type: K,\n listener: (this: HTMLElement, ev: M[K]) => any,\n options?: boolean | EventListenerOptions\n ): void;\n public override removeEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions\n ): void {\n super.removeEventListener(type, listener, options);\n }\n\n /**\n * @private\n */\n public emitEvent<K extends keyof E, D extends UnpackCustomEvent<E[K]>>(\n type: K,\n eventInitDict?: CustomEventInit<D>\n ): boolean {\n return this.dispatchEvent(\n new CustomEvent<D>(\n type as string,\n Object.assign(\n {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {},\n },\n eventInitDict\n )\n )\n );\n }\n }\n return EventEmitterElement as Constructor<EventEmitterInterface<E>> & T;\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import type { Constructor } from './constructor.js';
|
|
3
|
+
import { FormAssociatedElementInterface } from './form-associated.js';
|
|
4
|
+
export declare class FormRequiredInterface {
|
|
5
|
+
protected requiredChange(): void;
|
|
6
|
+
/**
|
|
7
|
+
* Makes the control a required field in a form context.
|
|
8
|
+
* @attr
|
|
9
|
+
*/
|
|
10
|
+
required: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Turns the passed class element into a Form Associated Custom Element with
|
|
14
|
+
* additional `required` attribute.
|
|
15
|
+
*/
|
|
16
|
+
export declare function FormAssociatedRequiredMixin<T extends Constructor<LitElement>>(superClass: T): Constructor<FormRequiredInterface & FormAssociatedElementInterface> & T;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { property } from 'lit/decorators.js';
|
|
8
|
+
import { watch } from '../decorators/watch.js';
|
|
9
|
+
import { FormAssociatedMixin, } from './form-associated.js';
|
|
10
|
+
export function FormAssociatedRequiredMixin(superClass) {
|
|
11
|
+
class FormAssociatedRequiredElement extends FormAssociatedMixin(superClass) {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this.required = false;
|
|
15
|
+
}
|
|
16
|
+
requiredChange() {
|
|
17
|
+
this.updateValidity();
|
|
18
|
+
this.invalid = !this.checkValidity();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
__decorate([
|
|
22
|
+
property({ type: Boolean, reflect: true })
|
|
23
|
+
], FormAssociatedRequiredElement.prototype, "required", void 0);
|
|
24
|
+
__decorate([
|
|
25
|
+
watch('required', { waitUntilFirstUpdate: true })
|
|
26
|
+
], FormAssociatedRequiredElement.prototype, "requiredChange", null);
|
|
27
|
+
return FormAssociatedRequiredElement;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=form-associated-required.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-associated-required.js","sourceRoot":"","sources":["../../../../src/components/common/mixins/form-associated-required.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C,OAAO,EAEL,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAgB9B,MAAM,UAAU,2BAA2B,CACzC,UAAa;IAEb,MAAM,6BAA8B,SAAQ,mBAAmB,CAAC,UAAU,CAAC;QAA3E;;YAMS,aAAQ,GAAG,KAAK,CAAC;QAO1B,CAAC;QAJW,cAAc;YACtB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,CAAC;KACF;IAPQ;QADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mEACnB;IAGd;QADT,KAAK,CAAC,UAAU,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;uEAIjD;IAGH,OAAO,6BAGJ,CAAC;AACN,CAAC","sourcesContent":["import { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { watch } from '../decorators/watch.js';\nimport type { Constructor } from './constructor.js';\nimport {\n FormAssociatedElementInterface,\n FormAssociatedMixin,\n} from './form-associated.js';\n\nexport declare class FormRequiredInterface {\n protected requiredChange(): void;\n\n /**\n * Makes the control a required field in a form context.\n * @attr\n */\n public required: boolean;\n}\n\n/**\n * Turns the passed class element into a Form Associated Custom Element with\n * additional `required` attribute.\n */\nexport function FormAssociatedRequiredMixin<T extends Constructor<LitElement>>(\n superClass: T\n) {\n class FormAssociatedRequiredElement extends FormAssociatedMixin(superClass) {\n /**\n * Makes the control a required field in a form context.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public required = false;\n\n @watch('required', { waitUntilFirstUpdate: true })\n protected requiredChange() {\n this.updateValidity();\n this.invalid = !this.checkValidity();\n }\n }\n\n return FormAssociatedRequiredElement as unknown as Constructor<\n FormRequiredInterface & FormAssociatedElementInterface\n > &\n T;\n}\n"]}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import type { Constructor } from './constructor';
|
|
3
|
+
import type { Validator } from '../validators.js';
|
|
4
|
+
export declare class FormAssociatedElementInterface {
|
|
5
|
+
#private;
|
|
6
|
+
static readonly formAssociated: boolean;
|
|
7
|
+
protected validators: Validator[];
|
|
8
|
+
protected _disabled: boolean;
|
|
9
|
+
protected _invalid: boolean;
|
|
10
|
+
protected _dirty: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* The default value of the control at "creation" time.
|
|
13
|
+
*
|
|
14
|
+
* @remarks
|
|
15
|
+
* This is set by default on `connectedCallback` through the `setDefaultValue` call.
|
|
16
|
+
* It expects the component to have either a `checked` or a `value` property and binds it to the initial value of the
|
|
17
|
+
* respective property.
|
|
18
|
+
*
|
|
19
|
+
* In use-cases where additional customization is required, make sure to override the `setDefaultValue` method.
|
|
20
|
+
*/
|
|
21
|
+
protected _defaultValue: unknown;
|
|
22
|
+
/**
|
|
23
|
+
* Applies the {@link FormAssociatedElementInterface.invalid | `invalid`} attribute on the control and the associated styles
|
|
24
|
+
* if the element has completed the first update cycle or it has been interacted with by the user.
|
|
25
|
+
*
|
|
26
|
+
* Usually, it should be called after {@link FormAssociatedElementInterface.updateValidity | `updateValidity()`}
|
|
27
|
+
*/
|
|
28
|
+
protected setInvalidState(): void;
|
|
29
|
+
/**
|
|
30
|
+
* Executes the component validators and updates the internal validity state.
|
|
31
|
+
*/
|
|
32
|
+
protected updateValidity(message?: string): void;
|
|
33
|
+
/**
|
|
34
|
+
* Saves the initial value/checked state of the control.
|
|
35
|
+
*
|
|
36
|
+
* Called on connectedCallback.
|
|
37
|
+
*/
|
|
38
|
+
protected setDefaultValue(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Called when the parent form is reset.
|
|
41
|
+
*
|
|
42
|
+
* Restores the initially bound value/checked state of the control.
|
|
43
|
+
*/
|
|
44
|
+
protected restoreDefaultValue(): void;
|
|
45
|
+
protected setFormValue(value: string | File | FormData | null, state?: string | File | FormData | null | undefined): void;
|
|
46
|
+
protected setValidity(flags?: ValidityStateFlags | undefined, message?: string | undefined, anchor?: HTMLElement | undefined): void;
|
|
47
|
+
protected formResetCallback(): void;
|
|
48
|
+
protected formDisabledCallback(state: boolean): void;
|
|
49
|
+
protected formStateRestoreCallback(state: string | FormData | File, mode: 'autocomplete' | 'restore'): void;
|
|
50
|
+
/**
|
|
51
|
+
* The disabled state of the component
|
|
52
|
+
* @attr [disabled=false]
|
|
53
|
+
*/
|
|
54
|
+
disabled: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Control the validity of the control.
|
|
57
|
+
* @attr
|
|
58
|
+
*/
|
|
59
|
+
invalid: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* The name attribute of the control.
|
|
62
|
+
* @attr
|
|
63
|
+
*/
|
|
64
|
+
name: string;
|
|
65
|
+
/** Returns the HTMLFormElement associated with this element. */
|
|
66
|
+
get form(): HTMLFormElement | null;
|
|
67
|
+
/**
|
|
68
|
+
* Returns a ValidityState object which represents the different validity states
|
|
69
|
+
* the element can be in, with respect to constraint validation.
|
|
70
|
+
*/
|
|
71
|
+
get validity(): ValidityState;
|
|
72
|
+
/** A string containing the validation message of this element. */
|
|
73
|
+
get validationMessage(): string;
|
|
74
|
+
/**
|
|
75
|
+
* A boolean value which returns true if the element is a submittable element
|
|
76
|
+
* that is a candidate for constraint validation.
|
|
77
|
+
*/
|
|
78
|
+
get willValidate(): boolean;
|
|
79
|
+
/** Checks for validity of the control and emits the invalid event if it invalid. */
|
|
80
|
+
checkValidity(): boolean;
|
|
81
|
+
/** Checks for validity of the control and shows the browser message if it invalid. */
|
|
82
|
+
reportValidity(): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Sets a custom validation message for the control.
|
|
85
|
+
* As long as `message` is not empty, the control is considered invalid.
|
|
86
|
+
*/
|
|
87
|
+
setCustomValidity(message: string): void;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Turns the passed class element into a Form Associated Custom Element.
|
|
91
|
+
*/
|
|
92
|
+
export declare function FormAssociatedMixin<T extends Constructor<LitElement>>(superClass: T): Constructor<FormAssociatedElementInterface> & T;
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
13
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
14
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
15
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
16
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
17
|
+
};
|
|
18
|
+
import { property } from 'lit/decorators.js';
|
|
19
|
+
export function FormAssociatedMixin(superClass) {
|
|
20
|
+
var _FormAssociatedElement_internals;
|
|
21
|
+
class FormAssociatedElement extends superClass {
|
|
22
|
+
get form() {
|
|
23
|
+
return __classPrivateFieldGet(this, _FormAssociatedElement_internals, "f").form;
|
|
24
|
+
}
|
|
25
|
+
get validity() {
|
|
26
|
+
return __classPrivateFieldGet(this, _FormAssociatedElement_internals, "f").validity;
|
|
27
|
+
}
|
|
28
|
+
get validationMessage() {
|
|
29
|
+
return __classPrivateFieldGet(this, _FormAssociatedElement_internals, "f").validationMessage;
|
|
30
|
+
}
|
|
31
|
+
get willValidate() {
|
|
32
|
+
return __classPrivateFieldGet(this, _FormAssociatedElement_internals, "f").willValidate;
|
|
33
|
+
}
|
|
34
|
+
get disabled() {
|
|
35
|
+
return this._disabled;
|
|
36
|
+
}
|
|
37
|
+
set disabled(value) {
|
|
38
|
+
const prev = this._disabled;
|
|
39
|
+
this._disabled = value;
|
|
40
|
+
this.toggleAttribute('disabled', Boolean(this._disabled));
|
|
41
|
+
this.requestUpdate('disabled', prev);
|
|
42
|
+
}
|
|
43
|
+
get invalid() {
|
|
44
|
+
return this._invalid;
|
|
45
|
+
}
|
|
46
|
+
set invalid(value) {
|
|
47
|
+
const prev = this._invalid;
|
|
48
|
+
this._invalid = value;
|
|
49
|
+
this.toggleAttribute('invalid', Boolean(this._invalid));
|
|
50
|
+
this.requestUpdate('invalid', prev);
|
|
51
|
+
}
|
|
52
|
+
constructor(...args) {
|
|
53
|
+
super(args);
|
|
54
|
+
_FormAssociatedElement_internals.set(this, void 0);
|
|
55
|
+
this.validators = [];
|
|
56
|
+
this._disabled = false;
|
|
57
|
+
this._invalid = false;
|
|
58
|
+
this._dirty = false;
|
|
59
|
+
this.handleInvalid = (event) => {
|
|
60
|
+
event.preventDefault();
|
|
61
|
+
this.invalid = true;
|
|
62
|
+
};
|
|
63
|
+
__classPrivateFieldSet(this, _FormAssociatedElement_internals, this.attachInternals(), "f");
|
|
64
|
+
this.addEventListener('invalid', this.handleInvalid);
|
|
65
|
+
}
|
|
66
|
+
connectedCallback() {
|
|
67
|
+
super.connectedCallback();
|
|
68
|
+
this._dirty = false;
|
|
69
|
+
this.setDefaultValue();
|
|
70
|
+
}
|
|
71
|
+
setDefaultValue() {
|
|
72
|
+
if ('checked' in this) {
|
|
73
|
+
this._defaultValue = this.checked;
|
|
74
|
+
}
|
|
75
|
+
else if ('value' in this) {
|
|
76
|
+
this._defaultValue = this.value;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
restoreDefaultValue() {
|
|
80
|
+
if ('checked' in this) {
|
|
81
|
+
this.checked = this._defaultValue;
|
|
82
|
+
}
|
|
83
|
+
else if ('value' in this) {
|
|
84
|
+
this.value = this._defaultValue;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
setFormValue(value, state) {
|
|
88
|
+
__classPrivateFieldGet(this, _FormAssociatedElement_internals, "f").setFormValue(value, state || value);
|
|
89
|
+
}
|
|
90
|
+
setValidity(flags, message, anchor) {
|
|
91
|
+
__classPrivateFieldGet(this, _FormAssociatedElement_internals, "f").setValidity(flags, message, anchor);
|
|
92
|
+
}
|
|
93
|
+
formResetCallback() {
|
|
94
|
+
this.restoreDefaultValue();
|
|
95
|
+
this._dirty = false;
|
|
96
|
+
this.performUpdate();
|
|
97
|
+
this.invalid = false;
|
|
98
|
+
}
|
|
99
|
+
formDisabledCallback(state) {
|
|
100
|
+
this._disabled = state;
|
|
101
|
+
this.requestUpdate();
|
|
102
|
+
}
|
|
103
|
+
updateValidity(message) {
|
|
104
|
+
const validity = {};
|
|
105
|
+
let validationMessage = '';
|
|
106
|
+
for (const validator of this.validators) {
|
|
107
|
+
const isValid = validator.isValid(this);
|
|
108
|
+
validity[validator.key] = !isValid;
|
|
109
|
+
if (!isValid) {
|
|
110
|
+
validationMessage =
|
|
111
|
+
typeof validator.message === 'function'
|
|
112
|
+
? validator.message(this)
|
|
113
|
+
: validator.message;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (message) {
|
|
117
|
+
validity.customError = true;
|
|
118
|
+
validationMessage = message;
|
|
119
|
+
}
|
|
120
|
+
__classPrivateFieldGet(this, _FormAssociatedElement_internals, "f").setValidity(validity, validationMessage);
|
|
121
|
+
}
|
|
122
|
+
setInvalidState() {
|
|
123
|
+
if (this.hasUpdated || this._dirty) {
|
|
124
|
+
this.invalid = !this.checkValidity();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
reportValidity() {
|
|
128
|
+
return __classPrivateFieldGet(this, _FormAssociatedElement_internals, "f").reportValidity();
|
|
129
|
+
}
|
|
130
|
+
checkValidity() {
|
|
131
|
+
return __classPrivateFieldGet(this, _FormAssociatedElement_internals, "f").checkValidity();
|
|
132
|
+
}
|
|
133
|
+
setCustomValidity(message) {
|
|
134
|
+
this.updateValidity(message);
|
|
135
|
+
this.invalid = !this.checkValidity();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
_FormAssociatedElement_internals = new WeakMap();
|
|
139
|
+
FormAssociatedElement.formAssociated = true;
|
|
140
|
+
__decorate([
|
|
141
|
+
property({ reflect: true })
|
|
142
|
+
], FormAssociatedElement.prototype, "name", void 0);
|
|
143
|
+
__decorate([
|
|
144
|
+
property({ type: Boolean, reflect: true })
|
|
145
|
+
], FormAssociatedElement.prototype, "disabled", null);
|
|
146
|
+
__decorate([
|
|
147
|
+
property({ type: Boolean, reflect: true })
|
|
148
|
+
], FormAssociatedElement.prototype, "invalid", null);
|
|
149
|
+
return FormAssociatedElement;
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=form-associated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-associated.js","sourceRoot":"","sources":["../../../../src/components/common/mixins/form-associated.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAyH7C,MAAM,UAAU,mBAAmB,CACjC,UAAa;;IAEb,MAAM,qBAAsB,SAAQ,UAAU;QA6B5C,IAAW,IAAI;YACb,OAAO,uBAAA,IAAI,wCAAW,CAAC,IAAI,CAAC;QAC9B,CAAC;QAMD,IAAW,QAAQ;YACjB,OAAO,uBAAA,IAAI,wCAAW,CAAC,QAAQ,CAAC;QAClC,CAAC;QAGD,IAAW,iBAAiB;YAC1B,OAAO,uBAAA,IAAI,wCAAW,CAAC,iBAAiB,CAAC;QAC3C,CAAC;QAMD,IAAW,YAAY;YACrB,OAAO,uBAAA,IAAI,wCAAW,CAAC,YAAY,CAAC;QACtC,CAAC;QAOD,IAAW,QAAQ;YACjB,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QAED,IAAW,QAAQ,CAAC,KAAc;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;QAOD,IAAW,OAAO;YAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QAED,IAAW,OAAO,CAAC,KAAc;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,YAAY,GAAG,IAAW;YACxB,KAAK,CAAC,IAAI,CAAC,CAAC;YApFd,mDAA6B;YACnB,eAAU,GAAgB,EAAE,CAAC;YAC7B,cAAS,GAAG,KAAK,CAAC;YAClB,aAAQ,GAAG,KAAK,CAAC;YACjB,WAAM,GAAG,KAAK,CAAC;YAqHf,kBAAa,GAAG,CAAC,KAAY,EAAE,EAAE;gBACzC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACtB,CAAC,CAAC;YAvCA,uBAAA,IAAI,oCAAc,IAAI,CAAC,eAAe,EAAE,MAAA,CAAC;YACzC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACvD,CAAC;QAEe,iBAAiB;YAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;QAOS,eAAe;YACvB,IAAI,SAAS,IAAI,IAAI,EAAE;gBACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC;aACnC;iBAAM,IAAI,OAAO,IAAI,IAAI,EAAE;gBAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;aACjC;QACH,CAAC;QAOS,mBAAmB;YAC3B,IAAI,SAAS,IAAI,IAAI,EAAE;gBACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;aACnC;iBAAM,IAAI,OAAO,IAAI,IAAI,EAAE;gBAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;aACjC;QACH,CAAC;QAOS,YAAY,CACpB,KAAsC,EACtC,KAAmD;YAEnD,uBAAA,IAAI,wCAAW,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC;QACtD,CAAC;QAES,WAAW,CACnB,KAAsC,EACtC,OAA4B,EAC5B,MAAgC;YAEhC,uBAAA,IAAI,wCAAW,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;QAES,iBAAiB;YACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YAGpB,IAAI,CAAC,aAAa,EAAE,CAAC;YAErB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;QAES,oBAAoB,CAAC,KAAc;YAC3C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;QAKS,cAAc,CAAC,OAAgB;YACvC,MAAM,QAAQ,GAAuB,EAAE,CAAC;YACxC,IAAI,iBAAiB,GAAG,EAAE,CAAC;YAE3B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;gBACvC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAExC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;gBAEnC,IAAI,CAAC,OAAO,EAAE;oBACZ,iBAAiB;wBACf,OAAO,SAAS,CAAC,OAAO,KAAK,UAAU;4BACrC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;4BACzB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;iBACzB;aACF;YAED,IAAI,OAAO,EAAE;gBACX,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC5B,iBAAiB,GAAG,OAAO,CAAC;aAC7B;YAED,uBAAA,IAAI,wCAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC3D,CAAC;QAQS,eAAe;YACvB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,EAAE;gBAClC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;aACtC;QACH,CAAC;QAGM,cAAc;YACnB,OAAO,uBAAA,IAAI,wCAAW,CAAC,cAAc,EAAE,CAAC;QAC1C,CAAC;QAGM,aAAa;YAClB,OAAO,uBAAA,IAAI,wCAAW,CAAC,aAAa,EAAE,CAAC;QACzC,CAAC;QAMM,iBAAiB,CAAC,OAAe;YACtC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,CAAC;;;IAvNsB,oCAAc,GAAG,IAAI,AAAP,CAAQ;IAyBtC;QADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uDACP;IAiCrB;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yDAG1C;IAcD;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wDAG1C;IA8IH,OAAO,qBACJ,CAAC;AACN,CAAC","sourcesContent":["import { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport type { Constructor } from './constructor';\nimport type { Validator } from '../validators.js';\n\nexport declare class FormAssociatedElementInterface {\n public static readonly formAssociated: boolean;\n\n #internals: ElementInternals;\n protected validators: Validator[];\n protected _disabled: boolean;\n protected _invalid: boolean;\n protected _dirty: boolean;\n\n /**\n * The default value of the control at \"creation\" time.\n *\n * @remarks\n * This is set by default on `connectedCallback` through the `setDefaultValue` call.\n * It expects the component to have either a `checked` or a `value` property and binds it to the initial value of the\n * respective property.\n *\n * In use-cases where additional customization is required, make sure to override the `setDefaultValue` method.\n */\n protected _defaultValue: unknown;\n\n /**\n * Applies the {@link FormAssociatedElementInterface.invalid | `invalid`} attribute on the control and the associated styles\n * if the element has completed the first update cycle or it has been interacted with by the user.\n *\n * Usually, it should be called after {@link FormAssociatedElementInterface.updateValidity | `updateValidity()`}\n */\n protected setInvalidState(): void;\n\n /**\n * Executes the component validators and updates the internal validity state.\n */\n protected updateValidity(message?: string): void;\n\n /**\n * Saves the initial value/checked state of the control.\n *\n * Called on connectedCallback.\n */\n protected setDefaultValue(): void;\n\n /**\n * Called when the parent form is reset.\n *\n * Restores the initially bound value/checked state of the control.\n */\n protected restoreDefaultValue(): void;\n\n protected setFormValue(\n value: string | File | FormData | null,\n state?: string | File | FormData | null | undefined\n ): void;\n protected setValidity(\n flags?: ValidityStateFlags | undefined,\n message?: string | undefined,\n anchor?: HTMLElement | undefined\n ): void;\n\n protected formResetCallback(): void;\n protected formDisabledCallback(state: boolean): void;\n protected formStateRestoreCallback(\n state: string | FormData | File,\n mode: 'autocomplete' | 'restore'\n ): void;\n\n /**\n * The disabled state of the component\n * @attr [disabled=false]\n */\n public disabled: boolean;\n\n /**\n * Control the validity of the control.\n * @attr\n */\n public invalid: boolean;\n\n /**\n * The name attribute of the control.\n * @attr\n */\n public name: string;\n\n /** Returns the HTMLFormElement associated with this element. */\n public get form(): HTMLFormElement | null;\n\n /**\n * Returns a ValidityState object which represents the different validity states\n * the element can be in, with respect to constraint validation.\n */\n public get validity(): ValidityState;\n\n /** A string containing the validation message of this element. */\n public get validationMessage(): string;\n\n /**\n * A boolean value which returns true if the element is a submittable element\n * that is a candidate for constraint validation.\n */\n public get willValidate(): boolean;\n\n /** Checks for validity of the control and emits the invalid event if it invalid. */\n public checkValidity(): boolean;\n\n /** Checks for validity of the control and shows the browser message if it invalid. */\n public reportValidity(): boolean;\n\n /**\n * Sets a custom validation message for the control.\n * As long as `message` is not empty, the control is considered invalid.\n */\n public setCustomValidity(message: string): void;\n}\n\n/**\n * Turns the passed class element into a Form Associated Custom Element.\n */\nexport function FormAssociatedMixin<T extends Constructor<LitElement>>(\n superClass: T\n) {\n class FormAssociatedElement extends superClass {\n public static readonly formAssociated = true;\n\n #internals: ElementInternals;\n protected validators: Validator[] = [];\n protected _disabled = false;\n protected _invalid = false;\n protected _dirty = false;\n\n /**\n * The default value of the control at \"creation\" time.\n *\n * @remarks\n * This is set by default on `connectedCallback` through the `setDefaultValue` call.\n * It expects the component to have either a `checked` or a `value` property and binds it to the initial value of the\n * respective property.\n *\n * In use-cases where additional customization is required, make sure to override the `setDefaultValue` method.\n */\n protected _defaultValue: unknown;\n\n /**\n * The name attribute of the control.\n * @attr\n */\n @property({ reflect: true })\n public name!: string;\n\n /** Returns the HTMLFormElement associated with this element. */\n public get form() {\n return this.#internals.form;\n }\n\n /**\n * Returns a ValidityState object which represents the different validity states\n * the element can be in, with respect to constraint validation.\n */\n public get validity() {\n return this.#internals.validity;\n }\n\n /** A string containing the validation message of this element. */\n public get validationMessage() {\n return this.#internals.validationMessage;\n }\n\n /**\n * A boolean value which returns true if the element is a submittable element\n * that is a candidate for constraint validation.\n */\n public get willValidate() {\n return this.#internals.willValidate;\n }\n\n /**\n * The disabled state of the component\n * @attr [disabled=false]\n */\n @property({ type: Boolean, reflect: true })\n public get disabled() {\n return this._disabled;\n }\n\n public set disabled(value: boolean) {\n const prev = this._disabled;\n this._disabled = value;\n this.toggleAttribute('disabled', Boolean(this._disabled));\n this.requestUpdate('disabled', prev);\n }\n\n /**\n * Control the validity of the control.\n * @attr [invalid=false]\n */\n @property({ type: Boolean, reflect: true })\n public get invalid() {\n return this._invalid;\n }\n\n public set invalid(value: boolean) {\n const prev = this._invalid;\n this._invalid = value;\n this.toggleAttribute('invalid', Boolean(this._invalid));\n this.requestUpdate('invalid', prev);\n }\n\n constructor(...args: any[]) {\n super(args);\n this.#internals = this.attachInternals();\n this.addEventListener('invalid', this.handleInvalid);\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this._dirty = false;\n this.setDefaultValue();\n }\n\n /**\n * Saves the initial value/checked state of the control.\n *\n * Called on connectedCallback.\n */\n protected setDefaultValue() {\n if ('checked' in this) {\n this._defaultValue = this.checked;\n } else if ('value' in this) {\n this._defaultValue = this.value;\n }\n }\n\n /**\n * Called when the parent form is reset.\n *\n * Restores the initially bound value/checked state of the control.\n */\n protected restoreDefaultValue() {\n if ('checked' in this) {\n this.checked = this._defaultValue;\n } else if ('value' in this) {\n this.value = this._defaultValue;\n }\n }\n\n protected handleInvalid = (event: Event) => {\n event.preventDefault();\n this.invalid = true;\n };\n\n protected setFormValue(\n value: string | File | FormData | null,\n state?: string | File | FormData | null | undefined\n ) {\n this.#internals.setFormValue(value, state || value);\n }\n\n protected setValidity(\n flags?: ValidityStateFlags | undefined,\n message?: string | undefined,\n anchor?: HTMLElement | undefined\n ) {\n this.#internals.setValidity(flags, message, anchor);\n }\n\n protected formResetCallback() {\n this.restoreDefaultValue();\n this._dirty = false;\n\n // Apply any changes happening during form reset synchronously\n this.performUpdate();\n\n this.invalid = false;\n }\n\n protected formDisabledCallback(state: boolean) {\n this._disabled = state;\n this.requestUpdate();\n }\n\n /**\n * Executes the component validators and updates the internal validity state.\n */\n protected updateValidity(message?: string) {\n const validity: ValidityStateFlags = {};\n let validationMessage = '';\n\n for (const validator of this.validators) {\n const isValid = validator.isValid(this);\n\n validity[validator.key] = !isValid;\n\n if (!isValid) {\n validationMessage =\n typeof validator.message === 'function'\n ? validator.message(this)\n : validator.message;\n }\n }\n\n if (message) {\n validity.customError = true;\n validationMessage = message;\n }\n\n this.#internals.setValidity(validity, validationMessage);\n }\n\n /**\n * Applies the {@link FormAssociatedElementInterface.invalid | `invalid`} attribute on the control and the associated styles\n * if the element has completed the first update cycle or it has been interacted with by the user.\n *\n * Usually, it should be called after {@link FormAssociatedElementInterface.updateValidity | `updateValidity()`}\n */\n protected setInvalidState() {\n if (this.hasUpdated || this._dirty) {\n this.invalid = !this.checkValidity();\n }\n }\n\n /** Checks for validity of the control and shows the browser message if it invalid. */\n public reportValidity() {\n return this.#internals.reportValidity();\n }\n\n /** Checks for validity of the control and emits the invalid event if it invalid. */\n public checkValidity() {\n return this.#internals.checkValidity();\n }\n\n /**\n * Sets a custom validation message for the control.\n * As long as `message` is not empty, the control is considered invalid.\n */\n public setCustomValidity(message: string) {\n this.updateValidity(message);\n this.invalid = !this.checkValidity();\n }\n }\n\n return FormAssociatedElement as unknown as Constructor<FormAssociatedElementInterface> &\n T;\n}\n"]}
|
|
@@ -23,3 +23,41 @@ export declare function getOffset(element: HTMLElement, parent: HTMLElement): {
|
|
|
23
23
|
};
|
|
24
24
|
export declare function createCounter(): () => number;
|
|
25
25
|
export declare function isLTR(element: HTMLElement): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Builds a string from format specifiers and replacement parameters.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* format('{0} says "{1}".', 'John', 'Hello'); // 'John says "Hello".'
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function format(template: string, ...params: string[]): string;
|
|
35
|
+
/**
|
|
36
|
+
* Parse the passed `value` as a number or return the `fallback` if it can't be done.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* asNumber('5'); // 5
|
|
41
|
+
* asNumber('3.14'); // 3.14
|
|
42
|
+
* asNumber('five'); // 0
|
|
43
|
+
* asNUmber('five', 5); // 5
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare function asNumber(value: unknown, fallback?: number): number;
|
|
47
|
+
/**
|
|
48
|
+
* Returns the value wrapped between the min and max bounds.
|
|
49
|
+
*
|
|
50
|
+
* If the value is greater than max, returns the min and vice-versa.
|
|
51
|
+
* If the value is between the bounds, it is returned unchanged.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```typescript
|
|
55
|
+
* wrap(1, 4, 2); // 2
|
|
56
|
+
* wrap(1, 4, 5); // 1
|
|
57
|
+
* wrap(1, 4, -1); // 4
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export declare function wrap(min: number, max: number, value: number): number;
|
|
61
|
+
export declare function isDefined<T = unknown>(value: T): boolean;
|
|
62
|
+
/** Convenient wrapper for `Array.some` */
|
|
63
|
+
export declare function any<T>(arr: T[], predicate: keyof T | ((item: T, idx: number, array: T[]) => boolean)): boolean;
|
|
@@ -25,4 +25,38 @@ export function createCounter() {
|
|
|
25
25
|
export function isLTR(element) {
|
|
26
26
|
return getComputedStyle(element).getPropertyValue('direction') === 'ltr';
|
|
27
27
|
}
|
|
28
|
+
export function format(template, ...params) {
|
|
29
|
+
return template.replace(/{(\d+)}/g, function (match, index) {
|
|
30
|
+
if (index >= params.length) {
|
|
31
|
+
return match;
|
|
32
|
+
}
|
|
33
|
+
const value = params[index];
|
|
34
|
+
if (typeof value !== 'number' && !value) {
|
|
35
|
+
return '';
|
|
36
|
+
}
|
|
37
|
+
return value;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
export function asNumber(value, fallback = 0) {
|
|
41
|
+
const parsed = parseFloat(value);
|
|
42
|
+
return isNaN(parsed) ? fallback : parsed;
|
|
43
|
+
}
|
|
44
|
+
export function wrap(min, max, value) {
|
|
45
|
+
if (value < min) {
|
|
46
|
+
return max;
|
|
47
|
+
}
|
|
48
|
+
else if (value > max) {
|
|
49
|
+
return min;
|
|
50
|
+
}
|
|
51
|
+
return value;
|
|
52
|
+
}
|
|
53
|
+
export function isDefined(value) {
|
|
54
|
+
return value !== undefined;
|
|
55
|
+
}
|
|
56
|
+
export function any(arr, predicate) {
|
|
57
|
+
if (predicate instanceof Function) {
|
|
58
|
+
return arr.some(predicate);
|
|
59
|
+
}
|
|
60
|
+
return arr.some((item) => Boolean(item[predicate]));
|
|
61
|
+
}
|
|
28
62
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/components/common/util.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,YAA0B,EAAE,EAAE;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;SAC7B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;SAClC,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;AAE/E,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,GAAW,EAAE,GAAW,EAAE,EAAE,CAChE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;AAavC,MAAM,UAAU,SAAS,CAAC,OAAoB,EAAE,MAAmB;IACjE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IACrE,MAAM,EACJ,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,MAAM,GACd,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAEnC,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;QAC3B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QACjC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO;QACL,CAAC,EAAE,CAAC;QACJ,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,OAAoB;IACxC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC;AAC3E,CAAC","sourcesContent":["export interface PartNameInfo {\n readonly [name: string]: string | boolean | number;\n}\n\nexport const partNameMap = (partNameInfo: PartNameInfo) => {\n return Object.keys(partNameInfo)\n .filter((key) => partNameInfo[key])\n .join(' ');\n};\n\nexport const asPercent = (part: number, whole: number) => (part / whole) * 100;\n\nexport const clamp = (number: number, min: number, max: number) =>\n Math.max(min, Math.min(number, max));\n\n/**\n *\n * Returns an element's offset relative to its parent. Similar to element.offsetTop and element.offsetLeft, except the\n * parent doesn't have to be positioned relative or absolute.\n *\n * Work around for the following issues in Chromium based browsers:\n *\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1330819\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1334556\n *\n */\nexport function getOffset(element: HTMLElement, parent: HTMLElement) {\n const { top, left, bottom, right } = element.getBoundingClientRect();\n const {\n top: pTop,\n left: pLeft,\n bottom: pBottom,\n right: pRight,\n } = parent.getBoundingClientRect();\n\n return {\n top: Math.round(top - pTop),\n left: Math.round(left - pLeft),\n right: Math.round(right - pRight),\n bottom: Math.round(bottom - pBottom),\n };\n}\n\nexport function createCounter() {\n let i = 0;\n return function () {\n i++;\n return i;\n };\n}\n\nexport function isLTR(element: HTMLElement) {\n return getComputedStyle(element).getPropertyValue('direction') === 'ltr';\n}\n"]}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/components/common/util.ts"],"names":[],"mappings":"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","sourcesContent":["export interface PartNameInfo {\n readonly [name: string]: string | boolean | number;\n}\n\nexport const partNameMap = (partNameInfo: PartNameInfo) => {\n return Object.keys(partNameInfo)\n .filter((key) => partNameInfo[key])\n .join(' ');\n};\n\nexport const asPercent = (part: number, whole: number) => (part / whole) * 100;\n\nexport const clamp = (number: number, min: number, max: number) =>\n Math.max(min, Math.min(number, max));\n\n/**\n *\n * Returns an element's offset relative to its parent. Similar to element.offsetTop and element.offsetLeft, except the\n * parent doesn't have to be positioned relative or absolute.\n *\n * Work around for the following issues in Chromium based browsers:\n *\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1330819\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1334556\n *\n */\nexport function getOffset(element: HTMLElement, parent: HTMLElement) {\n const { top, left, bottom, right } = element.getBoundingClientRect();\n const {\n top: pTop,\n left: pLeft,\n bottom: pBottom,\n right: pRight,\n } = parent.getBoundingClientRect();\n\n return {\n top: Math.round(top - pTop),\n left: Math.round(left - pLeft),\n right: Math.round(right - pRight),\n bottom: Math.round(bottom - pBottom),\n };\n}\n\nexport function createCounter() {\n let i = 0;\n return function () {\n i++;\n return i;\n };\n}\n\nexport function isLTR(element: HTMLElement) {\n return getComputedStyle(element).getPropertyValue('direction') === 'ltr';\n}\n\n/**\n * Builds a string from format specifiers and replacement parameters.\n *\n * @example\n * ```typescript\n * format('{0} says \"{1}\".', 'John', 'Hello'); // 'John says \"Hello\".'\n * ```\n */\nexport function format(template: string, ...params: string[]): string {\n return template.replace(/{(\\d+)}/g, function (match: string, index: number) {\n if (index >= params.length) {\n return match;\n }\n\n const value: string = params[index];\n if (typeof value !== 'number' && !value) {\n return '';\n }\n return value;\n });\n}\n\n/**\n * Parse the passed `value` as a number or return the `fallback` if it can't be done.\n *\n * @example\n * ```typescript\n * asNumber('5'); // 5\n * asNumber('3.14'); // 3.14\n * asNumber('five'); // 0\n * asNUmber('five', 5); // 5\n * ```\n */\nexport function asNumber(value: unknown, fallback = 0) {\n const parsed = parseFloat(value as string);\n return isNaN(parsed) ? fallback : parsed;\n}\n\n/**\n * Returns the value wrapped between the min and max bounds.\n *\n * If the value is greater than max, returns the min and vice-versa.\n * If the value is between the bounds, it is returned unchanged.\n *\n * @example\n * ```typescript\n * wrap(1, 4, 2); // 2\n * wrap(1, 4, 5); // 1\n * wrap(1, 4, -1); // 4\n * ```\n */\nexport function wrap(min: number, max: number, value: number) {\n if (value < min) {\n return max;\n } else if (value > max) {\n return min;\n }\n\n return value;\n}\n\nexport function isDefined<T = unknown>(value: T) {\n return value !== undefined;\n}\n\n/** Convenient wrapper for `Array.some` */\nexport function any<T>(\n arr: T[],\n predicate: keyof T | ((item: T, idx: number, array: T[]) => boolean)\n) {\n if (predicate instanceof Function) {\n return arr.some(predicate);\n }\n return arr.some((item) => Boolean(item[predicate]));\n}\n"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
type ValidatorHandler<T> = (host: T) => boolean;
|
|
2
|
+
type ValidatorMessageFormat<T> = (host: T) => string;
|
|
3
|
+
export interface Validator<T = any> {
|
|
4
|
+
key: keyof ValidityStateFlags;
|
|
5
|
+
message: string | ValidatorMessageFormat<T>;
|
|
6
|
+
isValid: ValidatorHandler<T>;
|
|
7
|
+
}
|
|
8
|
+
export declare const requiredValidator: Validator<{
|
|
9
|
+
required: boolean;
|
|
10
|
+
value?: string;
|
|
11
|
+
}>;
|
|
12
|
+
export declare const requiredNumberValidator: Validator<{
|
|
13
|
+
required: boolean;
|
|
14
|
+
value?: number | string;
|
|
15
|
+
}>;
|
|
16
|
+
export declare const requiredBooleanValidator: Validator<{
|
|
17
|
+
required: boolean;
|
|
18
|
+
checked: boolean;
|
|
19
|
+
}>;
|
|
20
|
+
export declare const minLengthValidator: Validator<{
|
|
21
|
+
minLength: number;
|
|
22
|
+
value: string;
|
|
23
|
+
}>;
|
|
24
|
+
export declare const maxLengthValidator: Validator<{
|
|
25
|
+
maxLength: number;
|
|
26
|
+
value: string;
|
|
27
|
+
}>;
|
|
28
|
+
export declare const patternValidator: Validator<{
|
|
29
|
+
pattern: string;
|
|
30
|
+
value: string;
|
|
31
|
+
}>;
|
|
32
|
+
export declare const minValidator: Validator<{
|
|
33
|
+
min: number | string;
|
|
34
|
+
value: number | string;
|
|
35
|
+
}>;
|
|
36
|
+
export declare const maxValidator: Validator<{
|
|
37
|
+
max: number | string;
|
|
38
|
+
value: number | string;
|
|
39
|
+
}>;
|
|
40
|
+
export declare const stepValidator: Validator<{
|
|
41
|
+
min: number | string;
|
|
42
|
+
step: number | string;
|
|
43
|
+
value: number | string;
|
|
44
|
+
}>;
|
|
45
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import validatorMessages from './localization/validation-en.js';
|
|
2
|
+
import { asNumber, format, isDefined } from './util.js';
|
|
3
|
+
export const requiredValidator = {
|
|
4
|
+
key: 'valueMissing',
|
|
5
|
+
message: validatorMessages.required,
|
|
6
|
+
isValid: ({ required, value }) => (required ? !!value : true),
|
|
7
|
+
};
|
|
8
|
+
export const requiredNumberValidator = {
|
|
9
|
+
key: 'valueMissing',
|
|
10
|
+
message: validatorMessages.required,
|
|
11
|
+
isValid: ({ required, value }) => (required ? isDefined(value) : true),
|
|
12
|
+
};
|
|
13
|
+
export const requiredBooleanValidator = {
|
|
14
|
+
key: 'valueMissing',
|
|
15
|
+
message: validatorMessages.required,
|
|
16
|
+
isValid: ({ required, checked }) => (required ? checked : true),
|
|
17
|
+
};
|
|
18
|
+
export const minLengthValidator = {
|
|
19
|
+
key: 'tooShort',
|
|
20
|
+
message: ({ minLength }) => format(validatorMessages.minLength, `${minLength}`),
|
|
21
|
+
isValid: ({ minLength, value }) => minLength ? value.length >= minLength : true,
|
|
22
|
+
};
|
|
23
|
+
export const maxLengthValidator = {
|
|
24
|
+
key: 'tooLong',
|
|
25
|
+
message: ({ maxLength }) => format(validatorMessages.maxLength, `${maxLength}`),
|
|
26
|
+
isValid: ({ maxLength, value }) => maxLength ? value.length <= maxLength : true,
|
|
27
|
+
};
|
|
28
|
+
export const patternValidator = {
|
|
29
|
+
key: 'patternMismatch',
|
|
30
|
+
message: validatorMessages.pattern,
|
|
31
|
+
isValid: ({ pattern, value }) => pattern ? new RegExp(pattern, 'u').test(value) : true,
|
|
32
|
+
};
|
|
33
|
+
export const minValidator = {
|
|
34
|
+
key: 'rangeUnderflow',
|
|
35
|
+
message: ({ min }) => format(validatorMessages.min, `${min}`),
|
|
36
|
+
isValid: ({ min, value }) => isDefined(min)
|
|
37
|
+
? isDefined(value) && asNumber(value) >= asNumber(min)
|
|
38
|
+
: true,
|
|
39
|
+
};
|
|
40
|
+
export const maxValidator = {
|
|
41
|
+
key: 'rangeOverflow',
|
|
42
|
+
message: ({ max }) => format(validatorMessages.max, `${max}`),
|
|
43
|
+
isValid: ({ max, value }) => isDefined(max)
|
|
44
|
+
? isDefined(value) && asNumber(value) <= asNumber(max)
|
|
45
|
+
: true,
|
|
46
|
+
};
|
|
47
|
+
export const stepValidator = {
|
|
48
|
+
key: 'stepMismatch',
|
|
49
|
+
message: 'Value does not conform to step constraint',
|
|
50
|
+
isValid: ({ min, step, value }) => isDefined(step)
|
|
51
|
+
? (asNumber(value) - asNumber(min)) % asNumber(step, 1) === 0
|
|
52
|
+
: true,
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/components/common/validators.ts"],"names":[],"mappings":"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","sourcesContent":["import validatorMessages from './localization/validation-en.js';\nimport { asNumber, format, isDefined } from './util.js';\n\ntype ValidatorHandler<T> = (host: T) => boolean;\ntype ValidatorMessageFormat<T> = (host: T) => string;\n\nexport interface Validator<T = any> {\n key: keyof ValidityStateFlags;\n message: string | ValidatorMessageFormat<T>;\n isValid: ValidatorHandler<T>;\n}\n\nexport const requiredValidator: Validator<{\n required: boolean;\n value?: string;\n}> = {\n key: 'valueMissing',\n message: validatorMessages.required,\n isValid: ({ required, value }) => (required ? !!value : true),\n};\n\nexport const requiredNumberValidator: Validator<{\n required: boolean;\n value?: number | string;\n}> = {\n key: 'valueMissing',\n message: validatorMessages.required,\n isValid: ({ required, value }) => (required ? isDefined(value) : true),\n};\n\nexport const requiredBooleanValidator: Validator<{\n required: boolean;\n checked: boolean;\n}> = {\n key: 'valueMissing',\n message: validatorMessages.required,\n isValid: ({ required, checked }) => (required ? checked : true),\n};\n\nexport const minLengthValidator: Validator<{\n minLength: number;\n value: string;\n}> = {\n key: 'tooShort',\n message: ({ minLength }) =>\n format(validatorMessages.minLength, `${minLength}`),\n isValid: ({ minLength, value }) =>\n minLength ? value.length >= minLength : true,\n};\n\nexport const maxLengthValidator: Validator<{\n maxLength: number;\n value: string;\n}> = {\n key: 'tooLong',\n message: ({ maxLength }) =>\n format(validatorMessages.maxLength, `${maxLength}`),\n isValid: ({ maxLength, value }) =>\n maxLength ? value.length <= maxLength : true,\n};\n\nexport const patternValidator: Validator<{ pattern: string; value: string }> = {\n key: 'patternMismatch',\n message: validatorMessages.pattern,\n isValid: ({ pattern, value }) =>\n pattern ? new RegExp(pattern, 'u').test(value) : true,\n};\n\nexport const minValidator: Validator<{\n min: number | string;\n value: number | string;\n}> = {\n key: 'rangeUnderflow',\n message: ({ min }) => format(validatorMessages.min, `${min}`),\n isValid: ({ min, value }) =>\n isDefined(min)\n ? isDefined(value) && asNumber(value) >= asNumber(min)\n : true,\n};\n\nexport const maxValidator: Validator<{\n max: number | string;\n value: number | string;\n}> = {\n key: 'rangeOverflow',\n message: ({ max }) => format(validatorMessages.max, `${max}`),\n isValid: ({ max, value }) =>\n isDefined(max)\n ? isDefined(value) && asNumber(value) <= asNumber(max)\n : true,\n};\n\nexport const stepValidator: Validator<{\n min: number | string;\n step: number | string;\n value: number | string;\n}> = {\n key: 'stepMismatch',\n message: 'Value does not conform to step constraint',\n isValid: ({ min, step, value }) =>\n isDefined(step)\n ? (asNumber(value) - asNumber(min)) % asNumber(step, 1) === 0\n : true,\n};\n"]}
|