igniteui-webcomponents 4.3.0-beta.0 → 4.3.1
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 +56 -8
- package/components/accordion/themes/accordion.base.css.js +1 -4
- package/components/accordion/themes/accordion.base.css.js.map +1 -1
- package/components/avatar/themes/dark/avatar.base.bootstrap.css.js +1 -13
- package/components/avatar/themes/dark/avatar.base.bootstrap.css.js.map +1 -1
- package/components/avatar/themes/light/avatar.base.css.js +5 -20
- package/components/avatar/themes/light/avatar.base.css.js.map +1 -1
- package/components/avatar/themes/light/avatar.bootstrap.css.js +2 -15
- package/components/avatar/themes/light/avatar.bootstrap.css.js.map +1 -1
- 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/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 +1 -2
- package/components/button/themes/button/light/button.base.css.js.map +1 -1
- package/components/button/themes/button/light/button.bootstrap.css.js +16 -30
- package/components/button/themes/button/light/button.bootstrap.css.js.map +1 -1
- package/components/button/themes/button/light/button.fluent.css.js +22 -32
- package/components/button/themes/button/light/button.fluent.css.js.map +1 -1
- package/components/button/themes/button/light/button.indigo.css.js +16 -33
- package/components/button/themes/button/light/button.indigo.css.js.map +1 -1
- package/components/button/themes/button/light/button.material.css.js +15 -31
- 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 +1 -5
- 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 +30 -4
- 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 +40 -21
- 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 +30 -3
- 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 +30 -3
- 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 -7
- 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 -10
- 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/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 +1 -17
- package/components/checkbox/themes/light/checkbox.base.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.bootstrap.css.js +7 -24
- package/components/checkbox/themes/light/checkbox.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.fluent.css.js +6 -22
- package/components/checkbox/themes/light/checkbox.fluent.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.indigo.css.js +7 -22
- package/components/checkbox/themes/light/checkbox.indigo.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.material.css.js +7 -21
- package/components/checkbox/themes/light/checkbox.material.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.base.css.js +1 -15
- package/components/checkbox/themes/light/switch.base.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.bootstrap.css.js +6 -23
- package/components/checkbox/themes/light/switch.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.fluent.css.js +6 -23
- package/components/checkbox/themes/light/switch.fluent.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.indigo.css.js +7 -24
- package/components/checkbox/themes/light/switch.indigo.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.material.css.js +8 -24
- package/components/checkbox/themes/light/switch.material.css.js.map +1 -1
- package/components/chip/themes/chip.base.css.js +1 -3
- package/components/chip/themes/chip.base.css.js.map +1 -1
- package/components/chip/themes/chip.bootstrap.css.js +33 -4
- package/components/chip/themes/chip.bootstrap.css.js.map +1 -1
- package/components/chip/themes/chip.fluent.css.js +33 -3
- package/components/chip/themes/chip.fluent.css.js.map +1 -1
- package/components/chip/themes/chip.indigo.css.js +33 -3
- package/components/chip/themes/chip.indigo.css.js.map +1 -1
- package/components/chip/themes/chip.material.css.js +33 -3
- 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 -12
- package/components/combo/combo.js +23 -15
- package/components/combo/combo.js.map +1 -1
- package/components/combo/controllers/selection.d.ts +2 -3
- package/components/combo/controllers/selection.js +4 -27
- 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 +206 -88
- package/components/combo/themes/light/combo.bootstrap.css.js.map +1 -1
- package/components/combo/themes/light/combo.fluent.css.js +201 -50
- package/components/combo/themes/light/combo.fluent.css.js.map +1 -1
- package/components/combo/themes/light/combo.indigo.css.js +210 -25
- package/components/combo/themes/light/combo.indigo.css.js.map +1 -1
- package/components/combo/themes/light/combo.material.css.js +234 -90
- 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 -28
- package/components/combo/themes/light/item/combo-item.base.css.js.map +1 -1
- package/components/combo/types.d.ts +4 -3
- package/components/combo/types.js.map +1 -1
- package/components/common/mixins/event-emitter.js.map +1 -1
- package/components/date-time-input/date-util.js +3 -3
- package/components/date-time-input/date-util.js.map +1 -1
- package/components/dialog/themes/light/dialog.base.css.js +1 -4
- 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 +6 -5
- package/components/dropdown/dropdown-item.js.map +1 -1
- package/components/dropdown/dropdown.d.ts +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.js +33 -0
- package/components/dropdown/themes/light/dropdown.material.css.js.map +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.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.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.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.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.d.ts +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/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 +2 -3
- package/components/icon/icon.base.css.js.map +1 -1
- package/components/icon/light/icon.bootstrap.css.js +3 -19
- package/components/icon/light/icon.bootstrap.css.js.map +1 -1
- package/components/icon/light/icon.fluent.css.js +3 -19
- package/components/icon/light/icon.fluent.css.js.map +1 -1
- package/components/icon/light/icon.indigo.css.js +3 -19
- package/components/icon/light/icon.indigo.css.js.map +1 -1
- package/components/icon/light/icon.material.css.js +3 -19
- package/components/icon/light/icon.material.css.js.map +1 -1
- package/components/input/input-base.d.ts +3 -4
- package/components/input/input-base.js +3 -6
- package/components/input/input-base.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 -11
- package/components/input/themes/light/input.base.css.js.map +1 -1
- package/components/input/themes/light/input.bootstrap.css.js +208 -104
- package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
- package/components/input/themes/light/input.fluent.css.js +143 -47
- package/components/input/themes/light/input.fluent.css.js.map +1 -1
- package/components/input/themes/light/input.indigo.css.js +157 -45
- package/components/input/themes/light/input.indigo.css.js.map +1 -1
- package/components/input/themes/light/input.material.css.js +356 -186
- 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 +1 -2
- 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 +27 -3
- 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-parser.js +1 -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 +1 -2
- 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 +19 -5
- 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 +6 -22
- package/components/navbar/themes/light/navbar.bootstrap.css.js.map +1 -1
- package/components/navbar/themes/light/navbar.fluent.css.js +5 -21
- package/components/navbar/themes/light/navbar.fluent.css.js.map +1 -1
- package/components/navbar/themes/light/navbar.indigo.css.js +5 -21
- package/components/navbar/themes/light/navbar.indigo.css.js.map +1 -1
- package/components/navbar/themes/light/navbar.material.css.js +5 -21
- 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 +43 -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 +16 -4
- package/components/progress/themes/linear/linear.progress.indigo.css.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 +3 -19
- package/components/radio/themes/light/radio.bootstrap.css.js.map +1 -1
- package/components/radio/themes/light/radio.fluent.css.js +3 -19
- package/components/radio/themes/light/radio.fluent.css.js.map +1 -1
- package/components/radio/themes/light/radio.indigo.css.js +3 -17
- package/components/radio/themes/light/radio.indigo.css.js.map +1 -1
- package/components/radio/themes/light/radio.material.css.js +4 -17
- 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.fluent.css.js +1 -2
- package/components/radio-group/radio-group.fluent.css.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/rating-symbol.base.css.js +1 -2
- package/components/rating/rating-symbol.base.css.js.map +1 -1
- package/components/rating/rating.base.css.js +1 -2
- 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.fluent.css.js +1 -2
- 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/ripple/ripple.material.css.js +1 -0
- package/components/ripple/ripple.material.css.js.map +1 -1
- package/components/select/select.d.ts +13 -8
- package/components/select/select.js +18 -12
- 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 -11
- package/components/select/themes/light/select.base.css.js.map +1 -1
- package/components/select/themes/light/select.bootstrap.css.js +153 -42
- package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
- package/components/select/themes/light/select.fluent.css.js +148 -9
- package/components/select/themes/light/select.fluent.css.js.map +1 -1
- package/components/select/themes/light/select.indigo.css.js +169 -16
- package/components/select/themes/light/select.indigo.css.js.map +1 -1
- package/components/select/themes/light/select.material.css.js +187 -20
- package/components/select/themes/light/select.material.css.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 +4 -10
- 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 +1 -2
- package/components/slider/themes/light/slider.fluent.css.js.map +1 -1
- package/components/slider/themes/light/slider.indigo.css.js +1 -2
- 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.d.ts +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/step.d.ts +1 -0
- package/components/stepper/step.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 +2 -9
- package/components/stepper/themes/step/light/step.base.css.js.map +1 -1
- package/components/stepper/themes/step/light/step.bootstrap.css.js +68 -2
- package/components/stepper/themes/step/light/step.bootstrap.css.js.map +1 -1
- package/components/stepper/themes/step/light/step.fluent.css.js +68 -2
- package/components/stepper/themes/step/light/step.fluent.css.js.map +1 -1
- package/components/stepper/themes/step/light/step.indigo.css.js +68 -2
- package/components/stepper/themes/step/light/step.indigo.css.js.map +1 -1
- package/components/stepper/themes/step/light/step.material.css.js +68 -2
- package/components/stepper/themes/step/light/step.material.css.js.map +1 -1
- package/components/stepper/themes/stepper/stepper.base.css.js +1 -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.d.ts +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 +20 -6
- package/components/tree/themes/light/tree-item.base.css.js.map +1 -1
- package/components/tree/themes/light/tree-item.bootstrap.css.js +1 -2
- package/components/tree/themes/light/tree-item.bootstrap.css.js.map +1 -1
- package/components/tree/themes/light/tree-item.fluent.css.js +1 -2
- package/components/tree/themes/light/tree-item.fluent.css.js.map +1 -1
- package/components/tree/themes/light/tree-item.indigo.css.js +1 -2
- package/components/tree/themes/light/tree-item.indigo.css.js.map +1 -1
- 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 +30 -11
- package/components/tree/tree-item.js.map +1 -1
- package/custom-elements.json +2 -57
- package/package.json +4 -4
- package/themes/dark/bootstrap.css +275 -99
- package/themes/dark/fluent.css +298 -123
- package/themes/dark/indigo.css +232 -95
- package/themes/dark/material.css +253 -92
- package/themes/light/bootstrap.css +0 -47
- package/themes/light/fluent.css +0 -47
- package/themes/light/indigo.css +0 -47
- package/themes/light/material.css +0 -47
- 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 +10 -10
- 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/{dropdown/themes/light/dropdown-group.base.css.d.ts → calendar/themes/indigo/calendar.indigo.css.d.ts} +0 -0
- /package/components/{dropdown/themes/light/dropdown-group.fluent.css.d.ts → card/themes/light/card.indigo.css.d.ts} +0 -0
- /package/components/dropdown/themes/{light/dropdown-header.base.css.d.ts → dark/dropdown.material.css.d.ts} +0 -0
- /package/components/dropdown/themes/light/{dropdown-header.bootstrap.css.d.ts → dropdown.material.css.d.ts} +0 -0
- /package/components/dropdown/themes/light/{dropdown-header.fluent.css.d.ts → group/dropdown-group.base.css.d.ts} +0 -0
- /package/components/dropdown/themes/light/{dropdown-item.base.css.d.ts → group/dropdown-group.bootstrap.css.d.ts} +0 -0
- /package/components/dropdown/themes/light/{dropdown-item.bootstrap.css.d.ts → group/dropdown-group.fluent.css.d.ts} +0 -0
- /package/components/dropdown/themes/light/{dropdown-item.fluent.css.d.ts → group/dropdown-group.indigo.css.d.ts} +0 -0
- /package/components/dropdown/themes/light/{dropdown-item.indigo.css.d.ts → group/dropdown-group.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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgHvB,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 border-radius: 0 !important;\n}\n\nigc-checkbox {\n pointer-events: none;\n}`;\n"]}
|
|
@@ -13,6 +13,7 @@ export type ComboHost<T extends object> = ReactiveControllerHost & IgcComboCompo
|
|
|
13
13
|
export type GroupingDirection = 'asc' | 'desc';
|
|
14
14
|
export type ComboChangeType = 'selection' | 'deselection' | 'addition';
|
|
15
15
|
export type ComboRenderFunction<T extends object> = RenderItemFunction<ComboRecord<T>>;
|
|
16
|
+
export type ComboValue<T> = T | Values<T>;
|
|
16
17
|
export interface FilteringOptions<T extends object> {
|
|
17
18
|
filterKey: Keys<T> | undefined;
|
|
18
19
|
caseSensitive?: boolean;
|
|
@@ -24,9 +25,9 @@ export interface GroupingOptions<T extends object> {
|
|
|
24
25
|
displayKey?: Keys<T>;
|
|
25
26
|
direction: GroupingDirection;
|
|
26
27
|
}
|
|
27
|
-
export interface IgcComboChangeEventArgs {
|
|
28
|
-
newValue:
|
|
29
|
-
items:
|
|
28
|
+
export interface IgcComboChangeEventArgs<T extends object = any> {
|
|
29
|
+
newValue: ComboValue<T>[];
|
|
30
|
+
items: T[];
|
|
30
31
|
type: ComboChangeType;
|
|
31
32
|
}
|
|
32
33
|
export interface IgcComboEventMap {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/combo/types.ts"],"names":[],"mappings":"","sourcesContent":["import { ReactiveControllerHost, TemplateResult } from 'lit';\nimport IgcComboComponent from './combo.js';\nimport type { RenderItemFunction } from '@lit-labs/virtualizer/virtualize.js';\n\nexport type Keys<T> = keyof T;\nexport type Values<T> = T[keyof T];\nexport type Item<T extends object> = T | Values<T>;\n\nexport type ComboRecord<T extends object> = {\n value: T;\n header: boolean;\n dataIndex: number;\n};\n\nexport type ComboHost<T extends object> = ReactiveControllerHost &\n IgcComboComponent<T>;\n\nexport type GroupingDirection = 'asc' | 'desc';\nexport type ComboChangeType = 'selection' | 'deselection' | 'addition';\nexport type ComboRenderFunction<T extends object> = RenderItemFunction<\n ComboRecord<T>\n>;\n\nexport interface FilteringOptions<T extends object> {\n filterKey: Keys<T> | undefined;\n caseSensitive?: boolean;\n matchDiacritics?: boolean;\n}\n\nexport interface GroupingOptions<T extends object> {\n groupKey?: Keys<T>;\n valueKey?: Keys<T>;\n displayKey?: Keys<T>;\n direction: GroupingDirection;\n}\n\n/* marshalByValue */\nexport interface IgcComboChangeEventArgs {\n newValue:
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/combo/types.ts"],"names":[],"mappings":"","sourcesContent":["import { ReactiveControllerHost, TemplateResult } from 'lit';\nimport IgcComboComponent from './combo.js';\nimport type { RenderItemFunction } from '@lit-labs/virtualizer/virtualize.js';\n\nexport type Keys<T> = keyof T;\nexport type Values<T> = T[keyof T];\nexport type Item<T extends object> = T | Values<T>;\n\nexport type ComboRecord<T extends object> = {\n value: T;\n header: boolean;\n dataIndex: number;\n};\n\nexport type ComboHost<T extends object> = ReactiveControllerHost &\n IgcComboComponent<T>;\n\nexport type GroupingDirection = 'asc' | 'desc';\nexport type ComboChangeType = 'selection' | 'deselection' | 'addition';\nexport type ComboRenderFunction<T extends object> = RenderItemFunction<\n ComboRecord<T>\n>;\nexport type ComboValue<T> = T | Values<T>;\n\nexport interface FilteringOptions<T extends object> {\n filterKey: Keys<T> | undefined;\n caseSensitive?: boolean;\n matchDiacritics?: boolean;\n}\n\nexport interface GroupingOptions<T extends object> {\n groupKey?: Keys<T>;\n valueKey?: Keys<T>;\n displayKey?: Keys<T>;\n direction: GroupingDirection;\n}\n\n/* marshalByValue */\nexport interface IgcComboChangeEventArgs<T extends object = any> {\n newValue: ComboValue<T>[];\n /* primitiveValue */\n items: T[];\n /* blazorAlternateName: changeType */\n type: ComboChangeType;\n}\n\nexport interface IgcComboEventMap {\n igcChange: CustomEvent<IgcComboChangeEventArgs>;\n igcFocus: CustomEvent<void>;\n igcBlur: CustomEvent<void>;\n igcOpening: CustomEvent<void>;\n igcOpened: CustomEvent<void>;\n igcClosing: CustomEvent<void>;\n igcClosed: CustomEvent<void>;\n}\n\nexport type ComboItemTemplate<T extends object> = (\n props: ComboTemplateProps<T>\n) => TemplateResult;\nexport interface ComboTemplateProps<T extends object> {\n item: T;\n}\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"]}
|
|
@@ -389,13 +389,13 @@ class DateTimeUtil {
|
|
|
389
389
|
options[option] = format;
|
|
390
390
|
if (part.type === DateParts.Hours) {
|
|
391
391
|
part.format.charAt(0) === 'h'
|
|
392
|
-
? (options['
|
|
393
|
-
: (options['
|
|
392
|
+
? (options['hourCycle'] = 'h12')
|
|
393
|
+
: (options['hourCycle'] = 'h23');
|
|
394
394
|
}
|
|
395
395
|
}
|
|
396
396
|
if (part.type === DateParts.AmPm && part.format.length <= 2) {
|
|
397
397
|
options['hour'] = '2-digit';
|
|
398
|
-
options['
|
|
398
|
+
options['hourCycle'] = 'h12';
|
|
399
399
|
}
|
|
400
400
|
}
|
|
401
401
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-util.js","sourceRoot":"","sources":["../../../src/components/date-time-input/date-util.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDate } from '../calendar/common/utils.js';\nimport { MaskParser } from '../mask-input/mask-parser.js';\n\nexport const enum FormatDesc {\n Numeric = 'numeric',\n TwoDigits = '2-digit',\n}\n\nexport enum DateParts {\n Day = 'day',\n Month = 'month',\n Year = 'year',\n Date = 'date',\n Hours = 'hours',\n Minutes = 'minutes',\n Seconds = 'seconds',\n AmPm = 'amPm',\n Literal = 'literal',\n}\n\nexport enum DatePart {\n Month = 'month',\n Year = 'year',\n Date = 'date',\n Hours = 'hours',\n Minutes = 'minutes',\n Seconds = 'seconds',\n AmPm = 'amPm',\n}\n\n/** @ignore */\nexport interface DatePartInfo {\n type: DateParts;\n start: number;\n end: number;\n format: string;\n}\n\nexport interface DatePartDeltas {\n date?: number;\n month?: number;\n year?: number;\n hours?: number;\n minutes?: number;\n seconds?: number;\n}\n\nexport abstract class DateTimeUtil {\n public static readonly DEFAULT_INPUT_FORMAT = 'MM/dd/yyyy';\n public static readonly DEFAULT_TIME_INPUT_FORMAT = 'hh:mm tt';\n private static readonly SEPARATOR = 'literal';\n private static readonly DEFAULT_LOCALE = 'en';\n private static _parser = new MaskParser();\n\n public static parseValueFromMask(\n inputData: string,\n dateTimeParts: DatePartInfo[],\n promptChar?: string\n ): Date | null {\n const parts: { [key in DateParts]: number } = {} as any;\n dateTimeParts.forEach((dp) => {\n let value = parseInt(\n DateTimeUtil.getCleanVal(inputData, dp, promptChar),\n 10\n );\n if (!value) {\n value =\n dp.type === DateParts.Date || dp.type === DateParts.Month ? 1 : 0;\n }\n parts[dp.type] = value;\n });\n parts[DateParts.Month] -= 1;\n\n if (parts[DateParts.Month] < 0 || 11 < parts[DateParts.Month]) {\n return null;\n }\n\n // TODO: Century threshold\n if (parts[DateParts.Year] < 50) {\n parts[DateParts.Year] += 2000;\n }\n\n if (\n parts[DateParts.Date] >\n DateTimeUtil.daysInMonth(parts[DateParts.Year], parts[DateParts.Month])\n ) {\n return null;\n }\n\n if (\n parts[DateParts.Hours] > 23 ||\n parts[DateParts.Minutes] > 59 ||\n parts[DateParts.Seconds] > 59\n ) {\n return null;\n }\n\n const amPm = dateTimeParts.find((p) => p.type === DateParts.AmPm);\n if (amPm) {\n parts[DateParts.Hours] %= 12;\n }\n\n if (\n amPm &&\n DateTimeUtil.getCleanVal(inputData, amPm, promptChar).toLowerCase() ===\n 'pm'\n ) {\n parts[DateParts.Hours] += 12;\n }\n\n return new Date(\n parts[DateParts.Year] || 2000,\n parts[DateParts.Month] || 0,\n parts[DateParts.Date] || 1,\n parts[DateParts.Hours] || 0,\n parts[DateParts.Minutes] || 0,\n parts[DateParts.Seconds] || 0\n );\n }\n\n public static getDefaultMask(locale: string): string {\n locale = locale || DateTimeUtil.DEFAULT_LOCALE;\n const parts = DateTimeUtil.getDefaultLocaleMask(locale);\n\n if (parts !== undefined) {\n parts.forEach((p: any) => {\n if (p.type !== DateParts.Year && p.type !== DateTimeUtil.SEPARATOR) {\n p.formatType = FormatDesc.TwoDigits;\n }\n });\n\n return DateTimeUtil.getMask(parts);\n }\n\n return '';\n }\n\n public static parseDateTimeFormat(\n mask: string,\n locale: string = DateTimeUtil.DEFAULT_LOCALE,\n noLeadingZero = false\n ): DatePartInfo[] {\n const format = mask || DateTimeUtil.getDefaultMask(locale);\n const dateTimeParts: DatePartInfo[] = [];\n const formatArray = Array.from(format);\n let currentPart: DatePartInfo | null = null;\n let position = 0;\n\n for (let i = 0; i < formatArray.length; i++, position++) {\n const type = DateTimeUtil.determineDatePart(formatArray[i]);\n if (currentPart) {\n if (currentPart.type === type) {\n currentPart.format += formatArray[i];\n if (i < formatArray.length - 1) {\n continue;\n }\n }\n\n DateTimeUtil.addCurrentPart(currentPart, dateTimeParts, noLeadingZero);\n position = currentPart.end;\n }\n\n currentPart = {\n start: position,\n end: position + formatArray[i].length,\n type,\n format: formatArray[i],\n };\n }\n\n // make sure the last member of a format like H:m:s is not omitted\n if (\n !dateTimeParts.filter((p) => p.format.includes(currentPart!.format))\n .length\n ) {\n DateTimeUtil.addCurrentPart(currentPart!, dateTimeParts, noLeadingZero);\n }\n // formats like \"y\" or \"yyy\" are treated like \"yyyy\" while editing\n const yearPart = dateTimeParts.filter((p) => p.type === DateParts.Year)[0];\n if (yearPart && yearPart.format !== 'yy') {\n yearPart.end += 4 - yearPart.format.length;\n yearPart.format = 'yyyy';\n }\n\n return dateTimeParts;\n }\n\n public static parseIsoDate(value: string): Date | null {\n let regex = /^\\d{4}/g;\n const timeLiteral = 'T';\n if (regex.test(value)) {\n return new Date(\n value + `${value.indexOf(timeLiteral) === -1 ? 'T00:00:00' : ''}`\n );\n }\n\n regex = /^\\d{2}/g;\n if (regex.test(value)) {\n const dateNow = new Date().toISOString();\n // eslint-disable-next-line prefer-const\n let [datePart, _timePart] = dateNow.split(timeLiteral);\n return new Date(`${datePart}T${value}`);\n }\n\n return null;\n }\n\n public static isValidDate(value: any): value is Date {\n if (isDate(value)) {\n return !isNaN(value.getTime());\n }\n\n return false;\n }\n\n public static formatDate(\n value: Date,\n locale: string,\n format: string,\n noLeadingZero = false\n ): string {\n const options: any = {};\n let formattedDate = '';\n\n switch (format) {\n case 'short':\n case 'long':\n case 'medium':\n case 'full':\n options['dateStyle'] = format;\n options['timeStyle'] = format;\n break;\n case 'shortDate':\n case 'longDate':\n case 'mediumDate':\n case 'fullDate':\n options['dateStyle'] = format.toLowerCase().split('date')[0];\n break;\n case 'shortTime':\n case 'longTime':\n case 'mediumTime':\n case 'fullTime':\n options['timeStyle'] = format.toLowerCase().split('time')[0];\n break;\n default:\n return this.setDisplayFormatOptions(\n value,\n format,\n locale,\n noLeadingZero\n );\n }\n\n let formatter;\n try {\n formatter = new Intl.DateTimeFormat(locale, options);\n } catch {\n formatter = new Intl.DateTimeFormat(this.DEFAULT_LOCALE, options);\n }\n\n formattedDate = formatter.format(value);\n\n return formattedDate;\n }\n\n public static getPartValue(\n datePartInfo: DatePartInfo,\n partLength: number,\n _dateValue: Date | null\n ): string {\n let maskedValue: any;\n const datePart = datePartInfo.type;\n\n switch (datePart) {\n case DateParts.Date:\n maskedValue = _dateValue!.getDate();\n break;\n case DateParts.Month:\n // months are zero based\n maskedValue = _dateValue!.getMonth() + 1;\n break;\n case DateParts.Year:\n if (partLength === 2) {\n maskedValue = this.prependValue(\n parseInt(_dateValue!.getFullYear().toString().slice(-2), 10),\n partLength,\n '0'\n );\n } else {\n maskedValue = _dateValue!.getFullYear();\n }\n break;\n case DateParts.Hours:\n if (datePartInfo.format.indexOf('h') !== -1) {\n maskedValue = this.prependValue(\n this.toTwelveHourFormat(_dateValue!.getHours().toString()),\n partLength,\n '0'\n );\n } else {\n maskedValue = _dateValue!.getHours();\n }\n break;\n case DateParts.Minutes:\n maskedValue = _dateValue!.getMinutes();\n break;\n case DateParts.Seconds:\n maskedValue = _dateValue!.getSeconds();\n break;\n case DateParts.AmPm:\n maskedValue = _dateValue!.getHours() >= 12 ? 'PM' : 'AM';\n break;\n }\n\n if (datePartInfo.type !== DateParts.AmPm) {\n return this.prependValue(maskedValue, partLength, '0');\n }\n\n return maskedValue;\n }\n\n public static spinYear(delta: number, newDate: Date): Date {\n const maxDate = DateTimeUtil.daysInMonth(\n newDate.getFullYear() + delta,\n newDate.getMonth()\n );\n if (newDate.getDate() > maxDate) {\n // clip to max to avoid leap year change shifting the entire value\n newDate.setDate(maxDate);\n }\n newDate.setFullYear(newDate.getFullYear() + delta);\n\n return newDate;\n }\n\n public static spinMonth(\n delta: number,\n newDate: Date,\n spinLoop: boolean\n ): void {\n const maxDate = DateTimeUtil.daysInMonth(\n newDate.getFullYear(),\n newDate.getMonth() + delta\n );\n if (newDate.getDate() > maxDate) {\n newDate.setDate(maxDate);\n }\n\n const maxMonth = 11;\n const minMonth = 0;\n let month = newDate.getMonth() + delta;\n if (month > maxMonth) {\n month = spinLoop ? (month % maxMonth) - 1 : maxMonth;\n } else if (month < minMonth) {\n month = spinLoop ? maxMonth + (month % maxMonth) + 1 : minMonth;\n }\n\n newDate.setMonth(month);\n }\n\n public static spinDate(\n delta: number,\n newDate: Date,\n spinLoop: boolean\n ): void {\n const maxDate = DateTimeUtil.daysInMonth(\n newDate.getFullYear(),\n newDate.getMonth()\n );\n let date = newDate.getDate() + delta;\n if (date > maxDate) {\n date = spinLoop ? date % maxDate : maxDate;\n } else if (date < 1) {\n date = spinLoop ? maxDate + (date % maxDate) : 1;\n }\n\n newDate.setDate(date);\n }\n\n public static spinHours(\n delta: number,\n newDate: Date,\n spinLoop: boolean\n ): void {\n const maxHour = 23;\n const minHour = 0;\n let hours = newDate.getHours() + delta;\n if (hours > maxHour) {\n hours = spinLoop ? (hours % maxHour) - 1 : maxHour;\n } else if (hours < minHour) {\n hours = spinLoop ? maxHour + (hours % maxHour) + 1 : minHour;\n }\n\n newDate.setHours(hours);\n }\n\n public static spinMinutes(\n delta: number,\n newDate: Date,\n spinLoop: boolean\n ): void {\n const maxMinutes = 59;\n const minMinutes = 0;\n let minutes = newDate.getMinutes() + delta;\n if (minutes > maxMinutes) {\n minutes = spinLoop ? (minutes % maxMinutes) - 1 : maxMinutes;\n } else if (minutes < minMinutes) {\n minutes = spinLoop ? maxMinutes + (minutes % maxMinutes) + 1 : minMinutes;\n }\n\n newDate.setMinutes(minutes);\n }\n\n public static spinSeconds(\n delta: number,\n newDate: Date,\n spinLoop: boolean\n ): void {\n const maxSeconds = 59;\n const minSeconds = 0;\n let seconds = newDate.getSeconds() + delta;\n if (seconds > maxSeconds) {\n seconds = spinLoop ? (seconds % maxSeconds) - 1 : maxSeconds;\n } else if (seconds < minSeconds) {\n seconds = spinLoop ? maxSeconds + (seconds % maxSeconds) + 1 : minSeconds;\n }\n\n newDate.setSeconds(seconds);\n }\n\n public static spinAmPm(\n newDate: Date,\n currentDate: Date,\n amPmFromMask: string\n ): Date {\n switch (amPmFromMask) {\n case 'AM':\n newDate = new Date(newDate.setHours(newDate.getHours() + 12));\n break;\n case 'PM':\n newDate = new Date(newDate.setHours(newDate.getHours() - 12));\n break;\n }\n if (newDate.getDate() !== currentDate.getDate()) {\n return currentDate;\n }\n\n return newDate;\n }\n\n public static greaterThanMaxValue(\n value: Date,\n maxValue: Date,\n includeTime = true,\n includeDate = true\n ): boolean {\n if (includeTime && includeDate) {\n return value.getTime() > maxValue.getTime();\n }\n\n const _value = new Date(value.getTime());\n const _maxValue = new Date(maxValue.getTime());\n if (!includeTime) {\n _value.setHours(0, 0, 0, 0);\n _maxValue.setHours(0, 0, 0, 0);\n }\n if (!includeDate) {\n _value.setFullYear(0, 0, 0);\n _maxValue.setFullYear(0, 0, 0);\n }\n\n return _value.getTime() > _maxValue.getTime();\n }\n\n /**\n * Determines whether the provided value is less than the provided min value.\n *\n * @param includeTime set to false if you want to exclude time portion of the two dates\n * @param includeDate set to false if you want to exclude the date portion of the two dates\n * @returns true if provided value is less than provided minValue\n */\n public static lessThanMinValue(\n value: Date,\n minValue: Date,\n includeTime = true,\n includeDate = true\n ): boolean {\n if (includeTime && includeDate) {\n return value.getTime() < minValue.getTime();\n }\n\n const _value = new Date(value.getTime());\n const _minValue = new Date(minValue.getTime());\n if (!includeTime) {\n _value.setHours(0, 0, 0, 0);\n _minValue.setHours(0, 0, 0, 0);\n }\n if (!includeDate) {\n _value.setFullYear(0, 0, 0);\n _minValue.setFullYear(0, 0, 0);\n }\n\n return _value.getTime() < _minValue.getTime();\n }\n\n /**\n * Validates a value within a given min and max value range.\n *\n * @param value The value to validate\n * @param minValue The lowest possible value that `value` can take\n * @param maxValue The largest possible value that `value` can take\n */\n public static validateMinMax(\n value: Date,\n minValue: Date | string,\n maxValue: Date | string,\n includeTime = true,\n includeDate = true\n ) {\n // if (!value) {\n // return null;\n // }\n const errors = {};\n const min = DateTimeUtil.isValidDate(minValue)\n ? minValue\n : DateTimeUtil.parseIsoDate(minValue);\n const max = DateTimeUtil.isValidDate(maxValue)\n ? maxValue\n : DateTimeUtil.parseIsoDate(maxValue);\n if (\n min &&\n value &&\n DateTimeUtil.lessThanMinValue(value, min, includeTime, includeDate)\n ) {\n Object.assign(errors, { minValue: true });\n }\n if (\n max &&\n value &&\n DateTimeUtil.greaterThanMaxValue(value, max, includeTime, includeDate)\n ) {\n Object.assign(errors, { maxValue: true });\n }\n\n return errors;\n }\n\n private static setDisplayFormatOptions(\n value: Date,\n format: string,\n locale: string,\n noLeadingZero = false\n ) {\n const options: any = {};\n const parts = this.parseDateTimeFormat(format, locale, noLeadingZero);\n\n const datePartFormatOptionMap = new Map([\n [DateParts.Date, 'day'],\n [DateParts.Month, 'month'],\n [DateParts.Year, 'year'],\n [DateParts.Hours, 'hour'],\n [DateParts.Minutes, 'minute'],\n [DateParts.Seconds, 'second'],\n [DateParts.AmPm, 'dayPeriod'],\n ]);\n\n const dateFormatMap = new Map([\n ['d', 'numeric'],\n ['dd', '2-digit'],\n ['M', 'numeric'],\n ['MM', '2-digit'],\n ['MMM', 'short'],\n ['MMMM', 'long'],\n ['MMMMM', 'narrow'],\n ['y', 'numeric'],\n ['yy', '2-digit'],\n ['yyy', 'numeric'],\n ['yyyy', 'numeric'],\n ['h', 'numeric'],\n ['hh', '2-digit'],\n ['H', 'numeric'],\n ['HH', '2-digit'],\n ['m', 'numeric'],\n ['mm', '2-digit'],\n ['s', 'numeric'],\n ['ss', '2-digit'],\n ['ttt', 'short'],\n ['tttt', 'long'],\n ['ttttt', 'narrow'],\n ]);\n\n for (const part of parts) {\n if (part.type !== DateParts.Literal) {\n const option = datePartFormatOptionMap.get(part.type);\n const format =\n dateFormatMap.get(part.format) ||\n dateFormatMap.get(part.format.substring(0, 2));\n\n if (option && format) {\n options[option] = format;\n\n if (part.type === DateParts.Hours) {\n part.format.charAt(0) === 'h'\n ? (options['hour12'] = true)\n : (options['hour12'] = false);\n }\n }\n\n // Need to be set if we have 't' or 'tt'.\n if (part.type === DateParts.AmPm && part.format.length <= 2) {\n options['hour'] = '2-digit';\n options['hour12'] = true;\n }\n }\n }\n\n let formatter;\n try {\n formatter = new Intl.DateTimeFormat(\n locale,\n options as Intl.DateTimeFormatOptions\n );\n } catch {\n formatter = new Intl.DateTimeFormat(this.DEFAULT_LOCALE, options);\n }\n\n const formattedParts = formatter.formatToParts(value);\n\n let result = '';\n\n for (const part of parts) {\n if (part.type === DateParts.Literal) {\n result += part.format;\n continue;\n }\n\n const option = datePartFormatOptionMap.get(part.type)!;\n result += formattedParts.filter((p) => p.type === option)[0]?.value || '';\n }\n\n return result;\n }\n\n private static getMask(dateStruct: any[]): string {\n const mask = [];\n\n for (const part of dateStruct) {\n switch (part.formatType) {\n case FormatDesc.Numeric: {\n if (part.type === DateParts.Day) {\n mask.push('d');\n } else if (part.type === DateParts.Month) {\n mask.push('M');\n } else {\n mask.push('yyyy');\n }\n break;\n }\n case FormatDesc.TwoDigits: {\n if (part.type === DateParts.Day) {\n mask.push('dd');\n } else if (part.type === DateParts.Month) {\n mask.push('MM');\n } else {\n mask.push('yy');\n }\n }\n }\n\n if (part.type === DateTimeUtil.SEPARATOR) {\n mask.push(part.value);\n }\n }\n\n return mask.join('');\n }\n\n private static addCurrentPart(\n currentPart: DatePartInfo,\n dateTimeParts: DatePartInfo[],\n noLeadingZero = false\n ): void {\n DateTimeUtil.ensureLeadingZero(currentPart, noLeadingZero);\n currentPart.end = currentPart.start + currentPart.format.length;\n dateTimeParts.push(currentPart);\n }\n\n private static ensureLeadingZero(part: DatePartInfo, noLeadingZero = false) {\n switch (part.type) {\n case DateParts.Date:\n case DateParts.Month:\n case DateParts.Hours:\n case DateParts.Minutes:\n case DateParts.Seconds:\n if (part.format.length === 1 && !noLeadingZero) {\n part.format = part.format.repeat(2);\n }\n break;\n }\n }\n\n private static determineDatePart(char: string): DateParts {\n switch (char) {\n case 'd':\n case 'D':\n return DateParts.Date;\n case 'M':\n return DateParts.Month;\n case 'y':\n case 'Y':\n return DateParts.Year;\n case 'h':\n case 'H':\n return DateParts.Hours;\n case 'm':\n return DateParts.Minutes;\n case 's':\n case 'S':\n return DateParts.Seconds;\n case 't':\n case 'T':\n return DateParts.AmPm;\n default:\n return DateParts.Literal;\n }\n }\n\n private static getDefaultLocaleMask(locale: string) {\n const dateStruct: any = [];\n let formatter;\n try {\n formatter = new Intl.DateTimeFormat(locale);\n } catch {\n return;\n }\n\n const formatToParts = formatter.formatToParts(new Date());\n\n for (const part of formatToParts) {\n if (part.type === DateTimeUtil.SEPARATOR) {\n dateStruct.push({\n type: DateTimeUtil.SEPARATOR,\n value: part.value,\n });\n } else {\n dateStruct.push({\n type: part.type,\n });\n }\n }\n\n const formatterOptions = formatter.resolvedOptions();\n\n for (const part of dateStruct) {\n switch (part.type) {\n case DateParts.Day: {\n part.formatType = formatterOptions.day;\n break;\n }\n case DateParts.Month: {\n part.formatType = formatterOptions.month;\n break;\n }\n case DateParts.Year: {\n part.formatType = formatterOptions.year;\n break;\n }\n }\n }\n\n DateTimeUtil.fillDatePartsPositions(dateStruct);\n return dateStruct;\n }\n\n private static fillDatePartsPositions(dateArray: any[]): void {\n let currentPos = 0;\n\n for (const part of dateArray) {\n // Day|Month part positions\n if (part.type === DateParts.Day || part.type === DateParts.Month) {\n // Offset 2 positions for number\n part.position = [currentPos, currentPos + 2];\n currentPos += 2;\n } else if (part.type === DateParts.Year) {\n // Year part positions\n switch (part.formatType) {\n case FormatDesc.Numeric: {\n // Offset 4 positions for full year\n part.position = [currentPos, currentPos + 4];\n currentPos += 4;\n break;\n }\n case FormatDesc.TwoDigits: {\n // Offset 2 positions for short year\n part.position = [currentPos, currentPos + 2];\n currentPos += 2;\n break;\n }\n }\n } else if (part.type === DateTimeUtil.SEPARATOR) {\n // Separator positions\n part.position = [currentPos, currentPos + 1];\n currentPos++;\n }\n }\n }\n\n private static getCleanVal(\n inputData: string,\n datePart: DatePartInfo,\n prompt?: string\n ): string {\n return DateTimeUtil.trimEmptyPlaceholders(\n inputData.substring(datePart.start, datePart.end),\n prompt\n );\n }\n\n private static trimEmptyPlaceholders(value: string, prompt?: string): string {\n const result = value.replace(new RegExp(prompt || '_', 'g'), '');\n return result;\n }\n\n private static daysInMonth(fullYear: number, month: number): number {\n return new Date(fullYear, month + 1, 0).getDate();\n }\n\n private static prependValue(\n value: number,\n partLength: number,\n prependChar: string\n ): string {\n return (prependChar + value.toString()).slice(-partLength);\n }\n\n private static toTwelveHourFormat(value: string): number {\n let hour = parseInt(\n value.replace(new RegExp(this._parser.prompt, 'g'), '0'),\n 10\n );\n if (hour > 12) {\n hour -= 12;\n } else if (hour === 0) {\n hour = 12;\n }\n\n return hour;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"date-util.js","sourceRoot":"","sources":["../../../src/components/date-time-input/date-util.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDate } from '../calendar/common/utils.js';\nimport { MaskParser } from '../mask-input/mask-parser.js';\n\nexport const enum FormatDesc {\n Numeric = 'numeric',\n TwoDigits = '2-digit',\n}\n\nexport enum DateParts {\n Day = 'day',\n Month = 'month',\n Year = 'year',\n Date = 'date',\n Hours = 'hours',\n Minutes = 'minutes',\n Seconds = 'seconds',\n AmPm = 'amPm',\n Literal = 'literal',\n}\n\nexport enum DatePart {\n Month = 'month',\n Year = 'year',\n Date = 'date',\n Hours = 'hours',\n Minutes = 'minutes',\n Seconds = 'seconds',\n AmPm = 'amPm',\n}\n\n/** @ignore */\nexport interface DatePartInfo {\n type: DateParts;\n start: number;\n end: number;\n format: string;\n}\n\nexport interface DatePartDeltas {\n date?: number;\n month?: number;\n year?: number;\n hours?: number;\n minutes?: number;\n seconds?: number;\n}\n\nexport abstract class DateTimeUtil {\n public static readonly DEFAULT_INPUT_FORMAT = 'MM/dd/yyyy';\n public static readonly DEFAULT_TIME_INPUT_FORMAT = 'hh:mm tt';\n private static readonly SEPARATOR = 'literal';\n private static readonly DEFAULT_LOCALE = 'en';\n private static _parser = new MaskParser();\n\n public static parseValueFromMask(\n inputData: string,\n dateTimeParts: DatePartInfo[],\n promptChar?: string\n ): Date | null {\n const parts: { [key in DateParts]: number } = {} as any;\n dateTimeParts.forEach((dp) => {\n let value = parseInt(\n DateTimeUtil.getCleanVal(inputData, dp, promptChar),\n 10\n );\n if (!value) {\n value =\n dp.type === DateParts.Date || dp.type === DateParts.Month ? 1 : 0;\n }\n parts[dp.type] = value;\n });\n parts[DateParts.Month] -= 1;\n\n if (parts[DateParts.Month] < 0 || 11 < parts[DateParts.Month]) {\n return null;\n }\n\n // TODO: Century threshold\n if (parts[DateParts.Year] < 50) {\n parts[DateParts.Year] += 2000;\n }\n\n if (\n parts[DateParts.Date] >\n DateTimeUtil.daysInMonth(parts[DateParts.Year], parts[DateParts.Month])\n ) {\n return null;\n }\n\n if (\n parts[DateParts.Hours] > 23 ||\n parts[DateParts.Minutes] > 59 ||\n parts[DateParts.Seconds] > 59\n ) {\n return null;\n }\n\n const amPm = dateTimeParts.find((p) => p.type === DateParts.AmPm);\n if (amPm) {\n parts[DateParts.Hours] %= 12;\n }\n\n if (\n amPm &&\n DateTimeUtil.getCleanVal(inputData, amPm, promptChar).toLowerCase() ===\n 'pm'\n ) {\n parts[DateParts.Hours] += 12;\n }\n\n return new Date(\n parts[DateParts.Year] || 2000,\n parts[DateParts.Month] || 0,\n parts[DateParts.Date] || 1,\n parts[DateParts.Hours] || 0,\n parts[DateParts.Minutes] || 0,\n parts[DateParts.Seconds] || 0\n );\n }\n\n public static getDefaultMask(locale: string): string {\n locale = locale || DateTimeUtil.DEFAULT_LOCALE;\n const parts = DateTimeUtil.getDefaultLocaleMask(locale);\n\n if (parts !== undefined) {\n parts.forEach((p: any) => {\n if (p.type !== DateParts.Year && p.type !== DateTimeUtil.SEPARATOR) {\n p.formatType = FormatDesc.TwoDigits;\n }\n });\n\n return DateTimeUtil.getMask(parts);\n }\n\n return '';\n }\n\n public static parseDateTimeFormat(\n mask: string,\n locale: string = DateTimeUtil.DEFAULT_LOCALE,\n noLeadingZero = false\n ): DatePartInfo[] {\n const format = mask || DateTimeUtil.getDefaultMask(locale);\n const dateTimeParts: DatePartInfo[] = [];\n const formatArray = Array.from(format);\n let currentPart: DatePartInfo | null = null;\n let position = 0;\n\n for (let i = 0; i < formatArray.length; i++, position++) {\n const type = DateTimeUtil.determineDatePart(formatArray[i]);\n if (currentPart) {\n if (currentPart.type === type) {\n currentPart.format += formatArray[i];\n if (i < formatArray.length - 1) {\n continue;\n }\n }\n\n DateTimeUtil.addCurrentPart(currentPart, dateTimeParts, noLeadingZero);\n position = currentPart.end;\n }\n\n currentPart = {\n start: position,\n end: position + formatArray[i].length,\n type,\n format: formatArray[i],\n };\n }\n\n // make sure the last member of a format like H:m:s is not omitted\n if (\n !dateTimeParts.filter((p) => p.format.includes(currentPart!.format))\n .length\n ) {\n DateTimeUtil.addCurrentPart(currentPart!, dateTimeParts, noLeadingZero);\n }\n // formats like \"y\" or \"yyy\" are treated like \"yyyy\" while editing\n const yearPart = dateTimeParts.filter((p) => p.type === DateParts.Year)[0];\n if (yearPart && yearPart.format !== 'yy') {\n yearPart.end += 4 - yearPart.format.length;\n yearPart.format = 'yyyy';\n }\n\n return dateTimeParts;\n }\n\n public static parseIsoDate(value: string): Date | null {\n let regex = /^\\d{4}/g;\n const timeLiteral = 'T';\n if (regex.test(value)) {\n return new Date(\n value + `${value.indexOf(timeLiteral) === -1 ? 'T00:00:00' : ''}`\n );\n }\n\n regex = /^\\d{2}/g;\n if (regex.test(value)) {\n const dateNow = new Date().toISOString();\n // eslint-disable-next-line prefer-const\n let [datePart, _timePart] = dateNow.split(timeLiteral);\n return new Date(`${datePart}T${value}`);\n }\n\n return null;\n }\n\n public static isValidDate(value: any): value is Date {\n if (isDate(value)) {\n return !isNaN(value.getTime());\n }\n\n return false;\n }\n\n public static formatDate(\n value: Date,\n locale: string,\n format: string,\n noLeadingZero = false\n ): string {\n const options: any = {};\n let formattedDate = '';\n\n switch (format) {\n case 'short':\n case 'long':\n case 'medium':\n case 'full':\n options['dateStyle'] = format;\n options['timeStyle'] = format;\n break;\n case 'shortDate':\n case 'longDate':\n case 'mediumDate':\n case 'fullDate':\n options['dateStyle'] = format.toLowerCase().split('date')[0];\n break;\n case 'shortTime':\n case 'longTime':\n case 'mediumTime':\n case 'fullTime':\n options['timeStyle'] = format.toLowerCase().split('time')[0];\n break;\n default:\n return this.setDisplayFormatOptions(\n value,\n format,\n locale,\n noLeadingZero\n );\n }\n\n let formatter;\n try {\n formatter = new Intl.DateTimeFormat(locale, options);\n } catch {\n formatter = new Intl.DateTimeFormat(this.DEFAULT_LOCALE, options);\n }\n\n formattedDate = formatter.format(value);\n\n return formattedDate;\n }\n\n public static getPartValue(\n datePartInfo: DatePartInfo,\n partLength: number,\n _dateValue: Date | null\n ): string {\n let maskedValue: any;\n const datePart = datePartInfo.type;\n\n switch (datePart) {\n case DateParts.Date:\n maskedValue = _dateValue!.getDate();\n break;\n case DateParts.Month:\n // months are zero based\n maskedValue = _dateValue!.getMonth() + 1;\n break;\n case DateParts.Year:\n if (partLength === 2) {\n maskedValue = this.prependValue(\n parseInt(_dateValue!.getFullYear().toString().slice(-2), 10),\n partLength,\n '0'\n );\n } else {\n maskedValue = _dateValue!.getFullYear();\n }\n break;\n case DateParts.Hours:\n if (datePartInfo.format.indexOf('h') !== -1) {\n maskedValue = this.prependValue(\n this.toTwelveHourFormat(_dateValue!.getHours().toString()),\n partLength,\n '0'\n );\n } else {\n maskedValue = _dateValue!.getHours();\n }\n break;\n case DateParts.Minutes:\n maskedValue = _dateValue!.getMinutes();\n break;\n case DateParts.Seconds:\n maskedValue = _dateValue!.getSeconds();\n break;\n case DateParts.AmPm:\n maskedValue = _dateValue!.getHours() >= 12 ? 'PM' : 'AM';\n break;\n }\n\n if (datePartInfo.type !== DateParts.AmPm) {\n return this.prependValue(maskedValue, partLength, '0');\n }\n\n return maskedValue;\n }\n\n public static spinYear(delta: number, newDate: Date): Date {\n const maxDate = DateTimeUtil.daysInMonth(\n newDate.getFullYear() + delta,\n newDate.getMonth()\n );\n if (newDate.getDate() > maxDate) {\n // clip to max to avoid leap year change shifting the entire value\n newDate.setDate(maxDate);\n }\n newDate.setFullYear(newDate.getFullYear() + delta);\n\n return newDate;\n }\n\n public static spinMonth(\n delta: number,\n newDate: Date,\n spinLoop: boolean\n ): void {\n const maxDate = DateTimeUtil.daysInMonth(\n newDate.getFullYear(),\n newDate.getMonth() + delta\n );\n if (newDate.getDate() > maxDate) {\n newDate.setDate(maxDate);\n }\n\n const maxMonth = 11;\n const minMonth = 0;\n let month = newDate.getMonth() + delta;\n if (month > maxMonth) {\n month = spinLoop ? (month % maxMonth) - 1 : maxMonth;\n } else if (month < minMonth) {\n month = spinLoop ? maxMonth + (month % maxMonth) + 1 : minMonth;\n }\n\n newDate.setMonth(month);\n }\n\n public static spinDate(\n delta: number,\n newDate: Date,\n spinLoop: boolean\n ): void {\n const maxDate = DateTimeUtil.daysInMonth(\n newDate.getFullYear(),\n newDate.getMonth()\n );\n let date = newDate.getDate() + delta;\n if (date > maxDate) {\n date = spinLoop ? date % maxDate : maxDate;\n } else if (date < 1) {\n date = spinLoop ? maxDate + (date % maxDate) : 1;\n }\n\n newDate.setDate(date);\n }\n\n public static spinHours(\n delta: number,\n newDate: Date,\n spinLoop: boolean\n ): void {\n const maxHour = 23;\n const minHour = 0;\n let hours = newDate.getHours() + delta;\n if (hours > maxHour) {\n hours = spinLoop ? (hours % maxHour) - 1 : maxHour;\n } else if (hours < minHour) {\n hours = spinLoop ? maxHour + (hours % maxHour) + 1 : minHour;\n }\n\n newDate.setHours(hours);\n }\n\n public static spinMinutes(\n delta: number,\n newDate: Date,\n spinLoop: boolean\n ): void {\n const maxMinutes = 59;\n const minMinutes = 0;\n let minutes = newDate.getMinutes() + delta;\n if (minutes > maxMinutes) {\n minutes = spinLoop ? (minutes % maxMinutes) - 1 : maxMinutes;\n } else if (minutes < minMinutes) {\n minutes = spinLoop ? maxMinutes + (minutes % maxMinutes) + 1 : minMinutes;\n }\n\n newDate.setMinutes(minutes);\n }\n\n public static spinSeconds(\n delta: number,\n newDate: Date,\n spinLoop: boolean\n ): void {\n const maxSeconds = 59;\n const minSeconds = 0;\n let seconds = newDate.getSeconds() + delta;\n if (seconds > maxSeconds) {\n seconds = spinLoop ? (seconds % maxSeconds) - 1 : maxSeconds;\n } else if (seconds < minSeconds) {\n seconds = spinLoop ? maxSeconds + (seconds % maxSeconds) + 1 : minSeconds;\n }\n\n newDate.setSeconds(seconds);\n }\n\n public static spinAmPm(\n newDate: Date,\n currentDate: Date,\n amPmFromMask: string\n ): Date {\n switch (amPmFromMask) {\n case 'AM':\n newDate = new Date(newDate.setHours(newDate.getHours() + 12));\n break;\n case 'PM':\n newDate = new Date(newDate.setHours(newDate.getHours() - 12));\n break;\n }\n if (newDate.getDate() !== currentDate.getDate()) {\n return currentDate;\n }\n\n return newDate;\n }\n\n public static greaterThanMaxValue(\n value: Date,\n maxValue: Date,\n includeTime = true,\n includeDate = true\n ): boolean {\n if (includeTime && includeDate) {\n return value.getTime() > maxValue.getTime();\n }\n\n const _value = new Date(value.getTime());\n const _maxValue = new Date(maxValue.getTime());\n if (!includeTime) {\n _value.setHours(0, 0, 0, 0);\n _maxValue.setHours(0, 0, 0, 0);\n }\n if (!includeDate) {\n _value.setFullYear(0, 0, 0);\n _maxValue.setFullYear(0, 0, 0);\n }\n\n return _value.getTime() > _maxValue.getTime();\n }\n\n /**\n * Determines whether the provided value is less than the provided min value.\n *\n * @param includeTime set to false if you want to exclude time portion of the two dates\n * @param includeDate set to false if you want to exclude the date portion of the two dates\n * @returns true if provided value is less than provided minValue\n */\n public static lessThanMinValue(\n value: Date,\n minValue: Date,\n includeTime = true,\n includeDate = true\n ): boolean {\n if (includeTime && includeDate) {\n return value.getTime() < minValue.getTime();\n }\n\n const _value = new Date(value.getTime());\n const _minValue = new Date(minValue.getTime());\n if (!includeTime) {\n _value.setHours(0, 0, 0, 0);\n _minValue.setHours(0, 0, 0, 0);\n }\n if (!includeDate) {\n _value.setFullYear(0, 0, 0);\n _minValue.setFullYear(0, 0, 0);\n }\n\n return _value.getTime() < _minValue.getTime();\n }\n\n /**\n * Validates a value within a given min and max value range.\n *\n * @param value The value to validate\n * @param minValue The lowest possible value that `value` can take\n * @param maxValue The largest possible value that `value` can take\n */\n public static validateMinMax(\n value: Date,\n minValue: Date | string,\n maxValue: Date | string,\n includeTime = true,\n includeDate = true\n ) {\n // if (!value) {\n // return null;\n // }\n const errors = {};\n const min = DateTimeUtil.isValidDate(minValue)\n ? minValue\n : DateTimeUtil.parseIsoDate(minValue);\n const max = DateTimeUtil.isValidDate(maxValue)\n ? maxValue\n : DateTimeUtil.parseIsoDate(maxValue);\n if (\n min &&\n value &&\n DateTimeUtil.lessThanMinValue(value, min, includeTime, includeDate)\n ) {\n Object.assign(errors, { minValue: true });\n }\n if (\n max &&\n value &&\n DateTimeUtil.greaterThanMaxValue(value, max, includeTime, includeDate)\n ) {\n Object.assign(errors, { maxValue: true });\n }\n\n return errors;\n }\n\n private static setDisplayFormatOptions(\n value: Date,\n format: string,\n locale: string,\n noLeadingZero = false\n ) {\n const options: any = {};\n const parts = this.parseDateTimeFormat(format, locale, noLeadingZero);\n\n const datePartFormatOptionMap = new Map([\n [DateParts.Date, 'day'],\n [DateParts.Month, 'month'],\n [DateParts.Year, 'year'],\n [DateParts.Hours, 'hour'],\n [DateParts.Minutes, 'minute'],\n [DateParts.Seconds, 'second'],\n [DateParts.AmPm, 'dayPeriod'],\n ]);\n\n const dateFormatMap = new Map([\n ['d', 'numeric'],\n ['dd', '2-digit'],\n ['M', 'numeric'],\n ['MM', '2-digit'],\n ['MMM', 'short'],\n ['MMMM', 'long'],\n ['MMMMM', 'narrow'],\n ['y', 'numeric'],\n ['yy', '2-digit'],\n ['yyy', 'numeric'],\n ['yyyy', 'numeric'],\n ['h', 'numeric'],\n ['hh', '2-digit'],\n ['H', 'numeric'],\n ['HH', '2-digit'],\n ['m', 'numeric'],\n ['mm', '2-digit'],\n ['s', 'numeric'],\n ['ss', '2-digit'],\n ['ttt', 'short'],\n ['tttt', 'long'],\n ['ttttt', 'narrow'],\n ]);\n\n for (const part of parts) {\n if (part.type !== DateParts.Literal) {\n const option = datePartFormatOptionMap.get(part.type);\n const format =\n dateFormatMap.get(part.format) ||\n dateFormatMap.get(part.format.substring(0, 2));\n\n if (option && format) {\n options[option] = format;\n\n if (part.type === DateParts.Hours) {\n part.format.charAt(0) === 'h'\n ? (options['hourCycle'] = 'h12')\n : (options['hourCycle'] = 'h23');\n }\n }\n\n // Need to be set if we have 't' or 'tt'.\n if (part.type === DateParts.AmPm && part.format.length <= 2) {\n options['hour'] = '2-digit';\n options['hourCycle'] = 'h12';\n }\n }\n }\n\n let formatter;\n try {\n formatter = new Intl.DateTimeFormat(\n locale,\n options as Intl.DateTimeFormatOptions\n );\n } catch {\n formatter = new Intl.DateTimeFormat(this.DEFAULT_LOCALE, options);\n }\n\n const formattedParts = formatter.formatToParts(value);\n\n let result = '';\n\n for (const part of parts) {\n if (part.type === DateParts.Literal) {\n result += part.format;\n continue;\n }\n\n const option = datePartFormatOptionMap.get(part.type)!;\n result += formattedParts.filter((p) => p.type === option)[0]?.value || '';\n }\n\n return result;\n }\n\n private static getMask(dateStruct: any[]): string {\n const mask = [];\n\n for (const part of dateStruct) {\n switch (part.formatType) {\n case FormatDesc.Numeric: {\n if (part.type === DateParts.Day) {\n mask.push('d');\n } else if (part.type === DateParts.Month) {\n mask.push('M');\n } else {\n mask.push('yyyy');\n }\n break;\n }\n case FormatDesc.TwoDigits: {\n if (part.type === DateParts.Day) {\n mask.push('dd');\n } else if (part.type === DateParts.Month) {\n mask.push('MM');\n } else {\n mask.push('yy');\n }\n }\n }\n\n if (part.type === DateTimeUtil.SEPARATOR) {\n mask.push(part.value);\n }\n }\n\n return mask.join('');\n }\n\n private static addCurrentPart(\n currentPart: DatePartInfo,\n dateTimeParts: DatePartInfo[],\n noLeadingZero = false\n ): void {\n DateTimeUtil.ensureLeadingZero(currentPart, noLeadingZero);\n currentPart.end = currentPart.start + currentPart.format.length;\n dateTimeParts.push(currentPart);\n }\n\n private static ensureLeadingZero(part: DatePartInfo, noLeadingZero = false) {\n switch (part.type) {\n case DateParts.Date:\n case DateParts.Month:\n case DateParts.Hours:\n case DateParts.Minutes:\n case DateParts.Seconds:\n if (part.format.length === 1 && !noLeadingZero) {\n part.format = part.format.repeat(2);\n }\n break;\n }\n }\n\n private static determineDatePart(char: string): DateParts {\n switch (char) {\n case 'd':\n case 'D':\n return DateParts.Date;\n case 'M':\n return DateParts.Month;\n case 'y':\n case 'Y':\n return DateParts.Year;\n case 'h':\n case 'H':\n return DateParts.Hours;\n case 'm':\n return DateParts.Minutes;\n case 's':\n case 'S':\n return DateParts.Seconds;\n case 't':\n case 'T':\n return DateParts.AmPm;\n default:\n return DateParts.Literal;\n }\n }\n\n private static getDefaultLocaleMask(locale: string) {\n const dateStruct: any = [];\n let formatter;\n try {\n formatter = new Intl.DateTimeFormat(locale);\n } catch {\n return;\n }\n\n const formatToParts = formatter.formatToParts(new Date());\n\n for (const part of formatToParts) {\n if (part.type === DateTimeUtil.SEPARATOR) {\n dateStruct.push({\n type: DateTimeUtil.SEPARATOR,\n value: part.value,\n });\n } else {\n dateStruct.push({\n type: part.type,\n });\n }\n }\n\n const formatterOptions = formatter.resolvedOptions();\n\n for (const part of dateStruct) {\n switch (part.type) {\n case DateParts.Day: {\n part.formatType = formatterOptions.day;\n break;\n }\n case DateParts.Month: {\n part.formatType = formatterOptions.month;\n break;\n }\n case DateParts.Year: {\n part.formatType = formatterOptions.year;\n break;\n }\n }\n }\n\n DateTimeUtil.fillDatePartsPositions(dateStruct);\n return dateStruct;\n }\n\n private static fillDatePartsPositions(dateArray: any[]): void {\n let currentPos = 0;\n\n for (const part of dateArray) {\n // Day|Month part positions\n if (part.type === DateParts.Day || part.type === DateParts.Month) {\n // Offset 2 positions for number\n part.position = [currentPos, currentPos + 2];\n currentPos += 2;\n } else if (part.type === DateParts.Year) {\n // Year part positions\n switch (part.formatType) {\n case FormatDesc.Numeric: {\n // Offset 4 positions for full year\n part.position = [currentPos, currentPos + 4];\n currentPos += 4;\n break;\n }\n case FormatDesc.TwoDigits: {\n // Offset 2 positions for short year\n part.position = [currentPos, currentPos + 2];\n currentPos += 2;\n break;\n }\n }\n } else if (part.type === DateTimeUtil.SEPARATOR) {\n // Separator positions\n part.position = [currentPos, currentPos + 1];\n currentPos++;\n }\n }\n }\n\n private static getCleanVal(\n inputData: string,\n datePart: DatePartInfo,\n prompt?: string\n ): string {\n return DateTimeUtil.trimEmptyPlaceholders(\n inputData.substring(datePart.start, datePart.end),\n prompt\n );\n }\n\n private static trimEmptyPlaceholders(value: string, prompt?: string): string {\n const result = value.replace(new RegExp(prompt || '_', 'g'), '');\n return result;\n }\n\n private static daysInMonth(fullYear: number, month: number): number {\n return new Date(fullYear, month + 1, 0).getDate();\n }\n\n private static prependValue(\n value: number,\n partLength: number,\n prependChar: string\n ): string {\n return (prependChar + value.toString()).slice(-partLength);\n }\n\n private static toTwelveHourFormat(value: string): number {\n let hour = parseInt(\n value.replace(new RegExp(this._parser.prompt, 'g'), '0'),\n 10\n );\n if (hour > 12) {\n hour -= 12;\n } else if (hour === 0) {\n hour = 12;\n }\n\n return hour;\n }\n}\n"]}
|
|
@@ -27,13 +27,11 @@ export const styles = css `:host {
|
|
|
27
27
|
background: var(--ig-scrollbar-thumb-background);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
+
:host([hidden]),
|
|
30
31
|
[hidden] {
|
|
31
32
|
display: none !important;
|
|
32
33
|
}
|
|
33
|
-
|
|
34
|
-
/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */
|
|
35
34
|
:host {
|
|
36
|
-
border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 2px), 2px);
|
|
37
35
|
background: hsla(var(--ig-surface-500), var(--ig-surface-a));
|
|
38
36
|
color: var(--ig-surface-500-contrast);
|
|
39
37
|
border-style: none;
|
|
@@ -125,7 +123,6 @@ dialog::backdrop {
|
|
|
125
123
|
pointer-events: none;
|
|
126
124
|
opacity: 0;
|
|
127
125
|
-webkit-transition: opacity 350ms ease-out;
|
|
128
|
-
-o-transition: opacity 350ms ease-out;
|
|
129
126
|
transition: opacity 350ms ease-out;
|
|
130
127
|
}
|
|
131
128
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.base.css.js","sourceRoot":"","sources":["../../../../../src/components/dialog/themes/light/dialog.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":"dialog.base.css.js","sourceRoot":"","sources":["../../../../../src/components/dialog/themes/light/dialog.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiIvB,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:host {\n background: hsla(var(--ig-surface-500), var(--ig-surface-a));\n color: var(--ig-surface-500-contrast);\n border-style: none;\n padding: unset;\n}\n\n[part=base] {\n background: inherit;\n color: inherit;\n border-style: inherit;\n padding: inherit;\n border: inherit;\n border-radius: inherit;\n min-width: inherit;\n -webkit-box-shadow: var(--ig-elevation-24);\n box-shadow: var(--ig-elevation-24);\n}\n\n[part=content] {\n color: var(--content-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));\n font-family: var(--ig-body-1-font-family, var(--ig-font-family));\n font-size: var(--ig-body-1-font-size);\n font-weight: var(--ig-body-1-font-weight);\n font-style: var(--ig-body-1-font-style);\n line-height: var(--ig-body-1-line-height);\n letter-spacing: var(--ig-body-1-letter-spacing);\n text-transform: var(--ig-body-1-text-transform);\n margin-top: var(--ig-body-1-margin-top);\n margin-bottom: var(--ig-body-1-margin-bottom);\n margin: 0;\n}\n\n[part=title],\n[part=footer] {\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 color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n font-family: var(--ig-h6-font-family, var(--ig-font-family));\n font-size: var(--ig-h6-font-size);\n font-weight: var(--ig-h6-font-weight);\n font-style: var(--ig-h6-font-style);\n line-height: var(--ig-h6-line-height);\n letter-spacing: var(--ig-h6-letter-spacing);\n text-transform: var(--ig-h6-text-transform);\n margin-top: var(--ig-h6-margin-top);\n margin-bottom: var(--ig-h6-margin-bottom);\n margin: 0;\n}\n\n[part=footer] {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n}\n\n::slotted(*) {\n font: inherit;\n letter-spacing: inherit;\n line-height: inherit;\n text-transform: inherit;\n margin: 0;\n}\n\nslot[name=title]::slotted(:not(:last-child)),\nslot[name=footer]::slotted(:not(:last-child)) {\n -webkit-margin-end: 0.5rem;\n margin-inline-end: 0.5rem;\n}\n\ndialog::-webkit-backdrop {\n opacity: 0;\n}\n\ndialog::backdrop {\n opacity: 0;\n}\n\n[part~=backdrop] {\n position: fixed;\n inset: 0;\n background: hsla(var(--ig-gray-500), 0.54);\n z-index: 10005;\n pointer-events: none;\n opacity: 0;\n -webkit-transition: opacity 350ms ease-out;\n transition: opacity 350ms ease-out;\n}\n\n:host([open]) [part=backdrop] {\n opacity: 1;\n}`;\n"]}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css
|
|
3
|
-
:
|
|
4
|
-
|
|
2
|
+
export const styles = css `:host {
|
|
3
|
+
--elevation: var(--ig-dialog-elevation, var(--ig-elevation-0));
|
|
4
|
+
--background: var(--ig-dialog-background, hsla(var(--ig-surface-500), var(--ig-surface-a)));
|
|
5
|
+
--title-color: var(--ig-dialog-title-color, hsla(var(--ig-gray-900), var(--ig-gray-a)));
|
|
6
|
+
--message-color: var(--ig-dialog-message-color, hsla(var(--ig-gray-600), var(--ig-gray-a)));
|
|
7
|
+
--border-color: var(--ig-dialog-border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));
|
|
8
|
+
--border-radius: var(--ig-dialog-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1111111111) * 2.25rem), 2.25rem));
|
|
9
|
+
border-radius: var(--border-radius);
|
|
5
10
|
}
|
|
6
11
|
|
|
7
12
|
[part=base] {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/dialog/themes/light/dialog.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"dialog.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/dialog/themes/light/dialog.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --elevation: var(--ig-dialog-elevation, var(--ig-elevation-0));\n --background: var(--ig-dialog-background, hsla(var(--ig-surface-500), var(--ig-surface-a)));\n --title-color: var(--ig-dialog-title-color, hsla(var(--ig-gray-900), var(--ig-gray-a)));\n --message-color: var(--ig-dialog-message-color, hsla(var(--ig-gray-600), var(--ig-gray-a)));\n --border-color: var(--ig-dialog-border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --border-radius: var(--ig-dialog-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1111111111) * 2.25rem), 2.25rem));\n border-radius: var(--border-radius);\n}\n\n[part=base] {\n min-width: 18rem;\n border: 1px solid var(--border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n\n[part=title],\n[part=footer] {\n font-family: var(--ig-h5-font-family, var(--ig-font-family));\n font-size: var(--ig-h5-font-size);\n font-weight: var(--ig-h5-font-weight);\n font-style: var(--ig-h5-font-style);\n line-height: var(--ig-h5-line-height);\n letter-spacing: var(--ig-h5-letter-spacing);\n text-transform: var(--ig-h5-text-transform);\n margin-top: var(--ig-h5-margin-top);\n margin-bottom: var(--ig-h5-margin-bottom);\n margin: 0;\n padding: 1rem;\n}\n\n[part=content] {\n padding: 1rem;\n}\n\n[part=title] {\n -webkit-border-after: 1px solid var(--border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n border-block-end: 1px solid var(--border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n}\n\n[part=footer] {\n -webkit-border-before: 1px solid var(--border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n border-block-start: 1px solid var(--border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n}`;\n"]}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css
|
|
2
|
+
export const styles = css `:host {
|
|
3
|
+
--elevation: var(--ig-dialog-elevation, var(--ig-elevation-24));
|
|
4
|
+
--background: var(--ig-dialog-background, hsla(var(--ig-surface-500), var(--ig-surface-a)));
|
|
5
|
+
--title-color: var(--ig-dialog-title-color, hsla(var(--ig-gray-900), var(--ig-gray-a)));
|
|
6
|
+
--message-color: var(--ig-dialog-message-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));
|
|
7
|
+
--border-color: var(--ig-dialog-border-color, transparent);
|
|
8
|
+
--border-radius: var(--ig-dialog-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.0555555556) * 2.25rem), 2.25rem));
|
|
9
|
+
border-radius: var(--border-radius);
|
|
10
|
+
}
|
|
11
|
+
|
|
3
12
|
[part=title] {
|
|
4
13
|
padding: 1.5rem;
|
|
5
14
|
-webkit-padding-before: 1rem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/dialog/themes/light/dialog.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"dialog.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/dialog/themes/light/dialog.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --elevation: var(--ig-dialog-elevation, var(--ig-elevation-24));\n --background: var(--ig-dialog-background, hsla(var(--ig-surface-500), var(--ig-surface-a)));\n --title-color: var(--ig-dialog-title-color, hsla(var(--ig-gray-900), var(--ig-gray-a)));\n --message-color: var(--ig-dialog-message-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));\n --border-color: var(--ig-dialog-border-color, transparent);\n --border-radius: var(--ig-dialog-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.0555555556) * 2.25rem), 2.25rem));\n border-radius: var(--border-radius);\n}\n\n[part=title] {\n padding: 1.5rem;\n -webkit-padding-before: 1rem;\n padding-block-start: 1rem;\n}\n\n[part=content] {\n padding-inline: 1.5rem;\n -webkit-padding-after: 1.25rem;\n padding-block-end: 1.25rem;\n}\n\n[part=footer] {\n padding: 1.5rem;\n -webkit-padding-before: 0;\n padding-block-start: 0;\n}\n\n[part=backdrop] {\n background: hsla(var(--ig-gray-900), 0.4);\n}`;\n"]}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css
|
|
2
|
+
export const styles = css `:host {
|
|
3
|
+
--elevation: var(--ig-dialog-elevation, var(--ig-elevation-24));
|
|
4
|
+
--background: var(--ig-dialog-background, hsla(var(--ig-surface-500), var(--ig-surface-a)));
|
|
5
|
+
--title-color: var(--ig-dialog-title-color, hsla(var(--ig-gray-900), var(--ig-gray-a)));
|
|
6
|
+
--message-color: var(--ig-dialog-message-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));
|
|
7
|
+
--border-color: var(--ig-dialog-border-color, transparent);
|
|
8
|
+
--border-radius: var(--ig-dialog-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.0555555556) * 2.25rem), 2.25rem));
|
|
9
|
+
border-radius: var(--border-radius);
|
|
10
|
+
}
|
|
11
|
+
|
|
3
12
|
[part=title] {
|
|
4
13
|
padding: 1rem 1.5rem;
|
|
5
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/dialog/themes/light/dialog.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"dialog.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/dialog/themes/light/dialog.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;EAuBvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --elevation: var(--ig-dialog-elevation, var(--ig-elevation-24));\n --background: var(--ig-dialog-background, hsla(var(--ig-surface-500), var(--ig-surface-a)));\n --title-color: var(--ig-dialog-title-color, hsla(var(--ig-gray-900), var(--ig-gray-a)));\n --message-color: var(--ig-dialog-message-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));\n --border-color: var(--ig-dialog-border-color, transparent);\n --border-radius: var(--ig-dialog-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.0555555556) * 2.25rem), 2.25rem));\n border-radius: var(--border-radius);\n}\n\n[part=title] {\n padding: 1rem 1.5rem;\n}\n\n[part=content] {\n padding-inline: 1.5rem;\n -webkit-padding-after: 0.5rem;\n padding-block-end: 0.5rem;\n color: hsla(var(--ig-gray-500), var(--ig-gray-a));\n}\n\n[part=footer] {\n padding: 0.5rem;\n}`;\n"]}
|
|
@@ -1,5 +1,46 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css
|
|
2
|
+
export const styles = css `:host {
|
|
3
|
+
--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
|
|
4
|
+
--is-medium: min(
|
|
5
|
+
clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
|
|
6
|
+
clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
|
|
7
|
+
);
|
|
8
|
+
--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
|
|
9
|
+
position: relative;
|
|
10
|
+
-webkit-box-sizing: border-box;
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
scrollbar-width: var(--ig-scrollbar-size);
|
|
13
|
+
scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);
|
|
14
|
+
}
|
|
15
|
+
:host *,
|
|
16
|
+
:host *::before,
|
|
17
|
+
:host *::after {
|
|
18
|
+
-webkit-box-sizing: border-box;
|
|
19
|
+
box-sizing: border-box;
|
|
20
|
+
}
|
|
21
|
+
:host ::-webkit-scrollbar {
|
|
22
|
+
width: var(--ig-scrollbar-size);
|
|
23
|
+
height: var(--ig-scrollbar-size);
|
|
24
|
+
background: var(--ig-scrollbar-track-background);
|
|
25
|
+
}
|
|
26
|
+
:host ::-webkit-scrollbar-thumb {
|
|
27
|
+
background: var(--ig-scrollbar-thumb-background);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
:host([hidden]),
|
|
31
|
+
[hidden] {
|
|
32
|
+
display: none !important;
|
|
33
|
+
}
|
|
34
|
+
:host {
|
|
35
|
+
--elevation: var(--ig-dialog-elevation, var(--ig-elevation-24));
|
|
36
|
+
--background: var(--ig-dialog-background, hsla(var(--ig-surface-500), var(--ig-surface-a)));
|
|
37
|
+
--title-color: var(--ig-dialog-title-color, hsla(var(--ig-gray-900), var(--ig-gray-a)));
|
|
38
|
+
--message-color: var(--ig-dialog-message-color, hsla(var(--ig-gray-600), var(--ig-gray-a)));
|
|
39
|
+
--border-color: var(--ig-dialog-border-color, transparent);
|
|
40
|
+
--border-radius: var(--ig-dialog-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1111111111) * 2.25rem), 2.25rem));
|
|
41
|
+
border-radius: var(--border-radius);
|
|
42
|
+
}
|
|
43
|
+
|
|
3
44
|
[part=title] {
|
|
4
45
|
padding-inline: 1.5rem;
|
|
5
46
|
-webkit-padding-before: 1rem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.material.css.js","sourceRoot":"","sources":["../../../../../src/components/dialog/themes/light/dialog.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"dialog.material.css.js","sourceRoot":"","sources":["../../../../../src/components/dialog/themes/light/dialog.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwDvB,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:host {\n --elevation: var(--ig-dialog-elevation, var(--ig-elevation-24));\n --background: var(--ig-dialog-background, hsla(var(--ig-surface-500), var(--ig-surface-a)));\n --title-color: var(--ig-dialog-title-color, hsla(var(--ig-gray-900), var(--ig-gray-a)));\n --message-color: var(--ig-dialog-message-color, hsla(var(--ig-gray-600), var(--ig-gray-a)));\n --border-color: var(--ig-dialog-border-color, transparent);\n --border-radius: var(--ig-dialog-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1111111111) * 2.25rem), 2.25rem));\n border-radius: var(--border-radius);\n}\n\n[part=title] {\n padding-inline: 1.5rem;\n -webkit-padding-before: 1rem;\n padding-block-start: 1rem;\n}\n\n[part=content] {\n padding: 0.875rem 1.5rem;\n}\n\n[part=footer] {\n padding: 0.5rem;\n -webkit-padding-before: 0;\n padding-block-start: 0;\n}`;\n"]}
|
|
@@ -8,8 +8,11 @@ import { html, LitElement } from 'lit';
|
|
|
8
8
|
import { queryAssignedElements } from 'lit/decorators.js';
|
|
9
9
|
import { themes } from '../../theming/theming-decorator.js';
|
|
10
10
|
import { blazorSuppress } from '../common/decorators/blazorSuppress.js';
|
|
11
|
-
import { styles } from './themes/light/dropdown-group.base.css.js';
|
|
12
|
-
import { styles as fluent } from './themes/light/dropdown-group.fluent.css.js';
|
|
11
|
+
import { styles } from './themes/light/group/dropdown-group.base.css.js';
|
|
12
|
+
import { styles as fluent } from './themes/light/group/dropdown-group.fluent.css.js';
|
|
13
|
+
import { styles as bootstrap } from './themes/light/group/dropdown-group.bootstrap.css.js';
|
|
14
|
+
import { styles as indigo } from './themes/light/group/dropdown-group.indigo.css.js';
|
|
15
|
+
import { styles as material } from './themes/light/group/dropdown-group.material.css.js';
|
|
13
16
|
let IgcDropdownGroupComponent = class IgcDropdownGroupComponent extends LitElement {
|
|
14
17
|
connectedCallback() {
|
|
15
18
|
super.connectedCallback();
|
|
@@ -35,7 +38,7 @@ __decorate([
|
|
|
35
38
|
queryAssignedElements({ flatten: true, selector: 'igc-dropdown-item' })
|
|
36
39
|
], IgcDropdownGroupComponent.prototype, "items", void 0);
|
|
37
40
|
IgcDropdownGroupComponent = __decorate([
|
|
38
|
-
themes({ fluent })
|
|
41
|
+
themes({ fluent, bootstrap, indigo, material })
|
|
39
42
|
], IgcDropdownGroupComponent);
|
|
40
43
|
export default IgcDropdownGroupComponent;
|
|
41
44
|
//# sourceMappingURL=dropdown-group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-group.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown-group.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAGxE,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"dropdown-group.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown-group.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAGxE,OAAO,EAAE,MAAM,EAAE,MAAM,iDAAiD,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,qDAAqD,CAAC;AAWzF,IAAqB,yBAAyB,GAA9C,MAAqB,yBAA0B,SAAQ,UAAU;IAW/C,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAES,SAAS;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAE,CAAC;IACvC,CAAC;IAEkB,MAAM;;QACvB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,mCAAI,OAAO,CAAC,CAAC;QAExD,OAAO,IAAI,CAAA;;;KAGV,CAAC;IACJ,CAAC;;AA5BsB,iCAAO,GAAW,oBAAoB,AAA/B,CAAgC;AAEvC,gCAAM,GAAG,MAAM,AAAT,CAAU;AAMhC;IAFN,cAAc,EAAE;IAChB,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;wDACzB;AAT5B,yBAAyB;IAD7C,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;GAC3B,yBAAyB,CA8B7C;eA9BoB,yBAAyB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { queryAssignedElements } from 'lit/decorators.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { blazorSuppress } from '../common/decorators/blazorSuppress.js';\nimport { SizableInterface } from '../common/mixins/sizable.js';\nimport type IgcDropdownItemComponent from './dropdown-item';\nimport { styles } from './themes/light/group/dropdown-group.base.css.js';\nimport { styles as fluent } from './themes/light/group/dropdown-group.fluent.css.js';\nimport { styles as bootstrap } from './themes/light/group/dropdown-group.bootstrap.css.js';\nimport { styles as indigo } from './themes/light/group/dropdown-group.indigo.css.js';\nimport { styles as material } from './themes/light/group/dropdown-group.material.css.js';\n\n/**\n * @element igc-dropdown-group - A container for a group of `igc-dropdown-item` components.\n *\n * @slot label - Contains the group's label.\n * @slot - Intended to contain the items belonging to this group.\n *\n * @csspart label - The native label element.\n */\n@themes({ fluent, bootstrap, indigo, material })\nexport default class IgcDropdownGroupComponent extends LitElement {\n public static readonly tagName: string = 'igc-dropdown-group';\n\n public static override styles = styles;\n protected parent!: SizableInterface;\n\n /** All child `igc-dropdown-item`s. */\n @blazorSuppress()\n @queryAssignedElements({ flatten: true, selector: 'igc-dropdown-item' })\n public items!: Array<IgcDropdownItemComponent>;\n\n public override connectedCallback() {\n super.connectedCallback();\n\n this.setAttribute('role', 'group');\n this.parent = this.getParent();\n }\n\n protected getParent() {\n return this.closest('igc-dropdown')!;\n }\n\n protected override render() {\n this.setAttribute('size', this.parent?.size ?? 'large');\n\n return html`\n <label part=\"label\"><slot name=\"label\"></slot></label>\n <slot></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown-group': IgcDropdownGroupComponent;\n }\n}\n"]}
|