igniteui-webcomponents 6.4.0-alpha.4 → 6.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +79 -2
- package/README.md +65 -56
- package/components/button/themes/button/dark/button.indigo.css.js +1 -1
- package/components/button/themes/button/dark/button.indigo.css.js.map +1 -1
- package/components/button/themes/button/dark/button.material.css.js +1 -1
- package/components/button/themes/button/dark/button.material.css.js.map +1 -1
- package/components/button/themes/button/light/button.indigo.css.js +1 -1
- package/components/button/themes/button/light/button.indigo.css.js.map +1 -1
- package/components/button/themes/button/light/button.material.css.js +1 -1
- package/components/button/themes/button/light/button.material.css.js.map +1 -1
- package/components/button/themes/button/shared/button.bootstrap.css.js +1 -1
- package/components/button/themes/button/shared/button.bootstrap.css.js.map +1 -1
- package/components/button/themes/button/shared/button.common.css.js +1 -1
- package/components/button/themes/button/shared/button.common.css.js.map +1 -1
- package/components/button/themes/button/shared/button.fluent.css.js +1 -1
- package/components/button/themes/button/shared/button.fluent.css.js.map +1 -1
- package/components/button/themes/button/shared/button.indigo.css.js +1 -1
- package/components/button/themes/button/shared/button.indigo.css.js.map +1 -1
- package/components/button/themes/button/shared/button.material.css.js +1 -1
- package/components/button/themes/button/shared/button.material.css.js.map +1 -1
- package/components/button-group/themes/dark/button-group.material.css.js +1 -1
- package/components/button-group/themes/dark/button-group.material.css.js.map +1 -1
- package/components/button-group/themes/light/button-group.material.css.js +1 -1
- package/components/button-group/themes/light/button-group.material.css.js.map +1 -1
- package/components/button-group/themes/shared/button/button.bootstrap.css.js +1 -1
- package/components/button-group/themes/shared/button/button.bootstrap.css.js.map +1 -1
- package/components/button-group/themes/shared/button/button.material.css.js +1 -1
- package/components/button-group/themes/shared/button/button.material.css.js.map +1 -1
- package/components/calendar/calendar.d.ts +5 -3
- package/components/calendar/calendar.js +22 -35
- package/components/calendar/calendar.js.map +1 -1
- package/components/calendar/days-view/days-view.d.ts +3 -3
- package/components/calendar/days-view/days-view.js +15 -22
- package/components/calendar/days-view/days-view.js.map +1 -1
- package/components/calendar/months-view/months-view.d.ts +2 -3
- package/components/calendar/months-view/months-view.js +9 -19
- package/components/calendar/months-view/months-view.js.map +1 -1
- package/components/calendar/themes/dark/calendar.bootstrap.css.js +1 -1
- package/components/calendar/themes/dark/calendar.bootstrap.css.js.map +1 -1
- package/components/calendar/themes/dark/calendar.fluent.css.js +1 -1
- package/components/calendar/themes/dark/calendar.fluent.css.js.map +1 -1
- package/components/calendar/themes/dark/calendar.indigo.css.js +1 -1
- package/components/calendar/themes/dark/calendar.indigo.css.js.map +1 -1
- package/components/calendar/themes/dark/calendar.material.css.js +1 -1
- package/components/calendar/themes/dark/calendar.material.css.js.map +1 -1
- package/components/calendar/themes/days.js +8 -23
- package/components/calendar/themes/days.js.map +1 -1
- package/components/calendar/themes/light/calendar.bootstrap.css.js +1 -1
- package/components/calendar/themes/light/calendar.bootstrap.css.js.map +1 -1
- package/components/calendar/themes/light/calendar.fluent.css.js +1 -1
- package/components/calendar/themes/light/calendar.fluent.css.js.map +1 -1
- package/components/calendar/themes/light/calendar.indigo.css.js +1 -1
- package/components/calendar/themes/light/calendar.indigo.css.js.map +1 -1
- package/components/calendar/themes/light/calendar.material.css.js +1 -1
- package/components/calendar/themes/light/calendar.material.css.js.map +1 -1
- package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js +1 -1
- package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js.map +1 -1
- package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js +1 -1
- package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js.map +1 -1
- package/components/calendar/themes/shared/fluent/days-view.fluent.css.js +1 -1
- package/components/calendar/themes/shared/fluent/days-view.fluent.css.js.map +1 -1
- package/components/calendar/themes/shared/indigo/days-view.indigo.css.js +1 -1
- package/components/calendar/themes/shared/indigo/days-view.indigo.css.js.map +1 -1
- package/components/calendar/themes/shared/material/days-view.material.css.js +1 -1
- package/components/calendar/themes/shared/material/days-view.material.css.js.map +1 -1
- package/components/calendar/themes/year-month.js +8 -23
- package/components/calendar/themes/year-month.js.map +1 -1
- package/components/carousel/carousel.d.ts +2 -1
- package/components/carousel/carousel.js.map +1 -1
- package/components/checkbox/themes/light/checkbox/checkbox.material.css.js +1 -1
- package/components/checkbox/themes/light/checkbox/checkbox.material.css.js.map +1 -1
- package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js +1 -1
- package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/shared/switch/switch.common.css.js +1 -1
- package/components/checkbox/themes/shared/switch/switch.common.css.js.map +1 -1
- package/components/checkbox/themes/shared/switch/switch.fluent.css.js +1 -1
- package/components/checkbox/themes/shared/switch/switch.fluent.css.js.map +1 -1
- package/components/checkbox/themes/shared/switch/switch.indigo.css.js +1 -1
- package/components/checkbox/themes/shared/switch/switch.indigo.css.js.map +1 -1
- package/components/checkbox/themes/shared/switch/switch.material.css.js +1 -1
- package/components/checkbox/themes/shared/switch/switch.material.css.js.map +1 -1
- package/components/chip/chip.d.ts +2 -1
- package/components/chip/chip.js.map +1 -1
- package/components/combo/combo.d.ts +3 -2
- package/components/combo/combo.js +7 -0
- package/components/combo/combo.js.map +1 -1
- package/components/combo/controllers/selection.js.map +1 -1
- package/components/combo/validators.js +2 -2
- package/components/combo/validators.js.map +1 -1
- package/components/common/controllers/async-consumer.js.map +1 -1
- package/components/common/controllers/focus-ring.js +1 -5
- package/components/common/controllers/focus-ring.js.map +1 -1
- package/components/common/controllers/root-click.js +46 -21
- package/components/common/controllers/root-click.js.map +1 -1
- package/components/common/i18n/EN/calendar.resources.js +4 -1
- package/components/common/i18n/EN/calendar.resources.js.map +1 -1
- package/components/common/i18n/EN/date-range-picker.resources.js.map +1 -1
- package/components/common/i18n/i18n-controller.js +6 -9
- package/components/common/i18n/i18n-controller.js.map +1 -1
- package/components/common/i18n/utils.d.ts +0 -12
- package/components/common/i18n/utils.js +0 -12
- package/components/common/i18n/utils.js.map +1 -1
- package/components/common/mixins/forms/associated.js +3 -23
- package/components/common/mixins/forms/associated.js.map +1 -1
- package/components/common/util.d.ts +5 -0
- package/components/common/util.js +5 -0
- package/components/common/util.js.map +1 -1
- package/components/common/validators.d.ts +2 -4
- package/components/common/validators.js +13 -19
- package/components/common/validators.js.map +1 -1
- package/components/date-picker/date-picker.d.ts +7 -3
- package/components/date-picker/date-picker.js +2 -2
- package/components/date-picker/date-picker.js.map +1 -1
- package/components/date-picker/themes/dark/date-picker.bootstrap.css.js +1 -1
- package/components/date-picker/themes/dark/date-picker.bootstrap.css.js.map +1 -1
- package/components/date-picker/themes/dark/date-picker.fluent.css.js +1 -1
- package/components/date-picker/themes/dark/date-picker.fluent.css.js.map +1 -1
- package/components/date-picker/themes/dark/date-picker.indigo.css.js +1 -1
- package/components/date-picker/themes/dark/date-picker.indigo.css.js.map +1 -1
- package/components/date-picker/themes/dark/date-picker.material.css.js +1 -1
- package/components/date-picker/themes/dark/date-picker.material.css.js.map +1 -1
- package/components/date-picker/themes/light/date-picker.bootstrap.css.js +1 -1
- package/components/date-picker/themes/light/date-picker.bootstrap.css.js.map +1 -1
- package/components/date-picker/themes/light/date-picker.fluent.css.js +1 -1
- package/components/date-picker/themes/light/date-picker.fluent.css.js.map +1 -1
- package/components/date-picker/themes/light/date-picker.indigo.css.js +1 -1
- package/components/date-picker/themes/light/date-picker.indigo.css.js.map +1 -1
- package/components/date-picker/themes/light/date-picker.material.css.js +1 -1
- package/components/date-picker/themes/light/date-picker.material.css.js.map +1 -1
- package/components/date-picker/validators.js +2 -3
- package/components/date-picker/validators.js.map +1 -1
- package/components/date-range-picker/date-range-picker.d.ts +7 -2
- package/components/date-range-picker/date-range-picker.js +12 -9
- package/components/date-range-picker/date-range-picker.js.map +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.bootstrap.css.js +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.bootstrap.css.js.map +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.js +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.js.map +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js.map +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.material.css.js +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.material.css.js.map +1 -1
- package/components/date-range-picker/themes/light/date-range-picker.bootstrap.css.js +1 -1
- package/components/date-range-picker/themes/light/date-range-picker.bootstrap.css.js.map +1 -1
- package/components/date-range-picker/themes/light/date-range-picker.fluent.css.js +1 -1
- package/components/date-range-picker/themes/light/date-range-picker.fluent.css.js.map +1 -1
- package/components/date-range-picker/themes/light/date-range-picker.indigo.css.js +1 -1
- package/components/date-range-picker/themes/light/date-range-picker.indigo.css.js.map +1 -1
- package/components/date-range-picker/themes/light/date-range-picker.material.css.js +1 -1
- package/components/date-range-picker/themes/light/date-range-picker.material.css.js.map +1 -1
- package/components/date-range-picker/validators.js +5 -8
- package/components/date-range-picker/validators.js.map +1 -1
- package/components/date-time-input/date-time-input.d.ts +6 -2
- package/components/date-time-input/date-time-input.js +22 -15
- package/components/date-time-input/date-time-input.js.map +1 -1
- package/components/date-time-input/date-util.d.ts +11 -9
- package/components/date-time-input/date-util.js +23 -219
- package/components/date-time-input/date-util.js.map +1 -1
- package/components/dialog/dialog.d.ts +2 -0
- package/components/dialog/dialog.js +18 -9
- package/components/dialog/dialog.js.map +1 -1
- package/components/dialog/themes/dark/dialog.fluent.css.js +1 -1
- package/components/dialog/themes/dark/dialog.fluent.css.js.map +1 -1
- package/components/dialog/themes/light/dialog.fluent.css.js +1 -1
- package/components/dialog/themes/light/dialog.fluent.css.js.map +1 -1
- package/components/dialog/themes/shared/dialog.bootstrap.css.js +1 -1
- package/components/dialog/themes/shared/dialog.bootstrap.css.js.map +1 -1
- package/components/dialog/themes/shared/dialog.indigo.css.js +1 -1
- package/components/dialog/themes/shared/dialog.indigo.css.js.map +1 -1
- package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js +1 -1
- package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js.map +1 -1
- package/components/file-input/file-input.d.ts +13 -0
- package/components/file-input/file-input.js +27 -2
- package/components/file-input/file-input.js.map +1 -1
- package/components/input/themes/dark/input.indigo.css.js +1 -1
- package/components/input/themes/dark/input.indigo.css.js.map +1 -1
- package/components/input/themes/light/input.indigo.css.js +1 -1
- package/components/input/themes/light/input.indigo.css.js.map +1 -1
- package/components/input/themes/light/input.shared.css.js +1 -1
- package/components/input/themes/light/input.shared.css.js.map +1 -1
- package/components/input/themes/shared/input.bootstrap.css.js +1 -1
- package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
- package/components/input/themes/shared/input.common.css.js +1 -1
- package/components/input/themes/shared/input.common.css.js.map +1 -1
- package/components/input/themes/shared/input.fluent.css.js +1 -1
- package/components/input/themes/shared/input.fluent.css.js.map +1 -1
- package/components/input/themes/shared/input.indigo.css.js +1 -1
- package/components/input/themes/shared/input.indigo.css.js.map +1 -1
- package/components/input/themes/shared/input.material.css.js +1 -1
- package/components/input/themes/shared/input.material.css.js.map +1 -1
- package/components/input/validators.js +3 -3
- package/components/input/validators.js.map +1 -1
- package/components/list/themes/dark/container/list.bootstrap.css.js +1 -1
- package/components/list/themes/dark/container/list.bootstrap.css.js.map +1 -1
- package/components/list/themes/light/container/list.fluent.css.js +1 -1
- package/components/list/themes/light/container/list.fluent.css.js.map +1 -1
- package/components/list/themes/shared/item/list-item.common.css.js +1 -1
- package/components/list/themes/shared/item/list-item.common.css.js.map +1 -1
- package/components/list/themes/shared/item/list-item.indigo.css.js +1 -1
- package/components/list/themes/shared/item/list-item.indigo.css.js.map +1 -1
- package/components/mask-input/mask-input-base.js +3 -2
- package/components/mask-input/mask-input-base.js.map +1 -1
- package/components/mask-input/mask-parser.d.ts +30 -7
- package/components/mask-input/mask-parser.js +70 -42
- package/components/mask-input/mask-parser.js.map +1 -1
- package/components/mask-input/validators.js +2 -2
- package/components/mask-input/validators.js.map +1 -1
- package/components/nav-drawer/themes/dark/container/nav-drawer.fluent.css.js +1 -1
- package/components/nav-drawer/themes/dark/container/nav-drawer.fluent.css.js.map +1 -1
- package/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.js +1 -1
- package/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.js.map +1 -1
- package/components/nav-drawer/themes/light/container/nav-drawer.material.css.js +1 -1
- package/components/nav-drawer/themes/light/container/nav-drawer.material.css.js.map +1 -1
- package/components/navbar/themes/shared/navbar.common.css.js +1 -1
- package/components/navbar/themes/shared/navbar.common.css.js.map +1 -1
- package/components/radio/themes/light/radio.material.css.js +1 -1
- package/components/radio/themes/light/radio.material.css.js.map +1 -1
- package/components/radio/themes/shared/radio.bootstrap.css.js +1 -1
- package/components/radio/themes/shared/radio.bootstrap.css.js.map +1 -1
- package/components/radio/themes/shared/radio.common.css.js +1 -1
- package/components/radio/themes/shared/radio.common.css.js.map +1 -1
- package/components/radio/themes/shared/radio.fluent.css.js +1 -1
- package/components/radio/themes/shared/radio.fluent.css.js.map +1 -1
- package/components/radio/themes/shared/radio.indigo.css.js +1 -1
- package/components/radio/themes/shared/radio.indigo.css.js.map +1 -1
- package/components/radio/themes/shared/radio.material.css.js +1 -1
- package/components/radio/themes/shared/radio.material.css.js.map +1 -1
- package/components/radio/validators.js +2 -2
- package/components/radio/validators.js.map +1 -1
- package/components/rating/themes/dark/rating.indigo.css.js +1 -1
- package/components/rating/themes/dark/rating.indigo.css.js.map +1 -1
- package/components/rating/themes/light/rating.indigo.css.js +1 -1
- package/components/rating/themes/light/rating.indigo.css.js.map +1 -1
- package/components/ripple/ripple.d.ts +3 -3
- package/components/ripple/ripple.js +34 -31
- package/components/ripple/ripple.js.map +1 -1
- package/components/stepper/step.js +2 -2
- 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.bootstrap.css.js +1 -1
- package/components/stepper/themes/step/light/step.bootstrap.css.js.map +1 -1
- package/components/stepper/themes/step/light/step.fluent.css.js +1 -1
- package/components/stepper/themes/step/light/step.fluent.css.js.map +1 -1
- package/components/stepper/themes/step/light/step.indigo.css.js +1 -1
- package/components/stepper/themes/step/light/step.indigo.css.js.map +1 -1
- package/components/stepper/themes/step/light/step.material.css.js +1 -1
- package/components/stepper/themes/step/light/step.material.css.js.map +1 -1
- package/components/stepper/themes/step/light/step.shared.css.js +1 -1
- package/components/stepper/themes/step/light/step.shared.css.js.map +1 -1
- package/components/stepper/themes/step/shared/step.common.css.js +1 -1
- package/components/stepper/themes/step/shared/step.common.css.js.map +1 -1
- package/components/stepper/themes/step/shared/step.indigo.css.js +1 -1
- package/components/stepper/themes/step/shared/step.indigo.css.js.map +1 -1
- package/components/tabs/tab-dom.js +8 -9
- package/components/tabs/tab-dom.js.map +1 -1
- package/components/tabs/themes/dark/tab.bootstrap.css.js +1 -1
- package/components/tabs/themes/dark/tab.bootstrap.css.js.map +1 -1
- package/components/tabs/themes/dark/tab.fluent.css.js +1 -1
- package/components/tabs/themes/dark/tab.fluent.css.js.map +1 -1
- package/components/tabs/themes/dark/tab.indigo.css.js +1 -1
- package/components/tabs/themes/dark/tab.indigo.css.js.map +1 -1
- package/components/tabs/themes/dark/tab.material.css.js +1 -1
- package/components/tabs/themes/dark/tab.material.css.js.map +1 -1
- package/components/tabs/themes/dark/tab.shared.css.js +1 -1
- package/components/tabs/themes/dark/tab.shared.css.js.map +1 -1
- package/components/tabs/themes/light/tab.bootstrap.css.js +1 -1
- package/components/tabs/themes/light/tab.bootstrap.css.js.map +1 -1
- package/components/tabs/themes/light/tab.fluent.css.js +1 -1
- package/components/tabs/themes/light/tab.fluent.css.js.map +1 -1
- package/components/tabs/themes/light/tab.indigo.css.js +1 -1
- package/components/tabs/themes/light/tab.indigo.css.js.map +1 -1
- package/components/tabs/themes/light/tab.material.css.js +1 -1
- package/components/tabs/themes/light/tab.material.css.js.map +1 -1
- package/components/tabs/themes/light/tab.shared.css.js +1 -1
- package/components/tabs/themes/light/tab.shared.css.js.map +1 -1
- package/components/tabs/themes/shared/tab/tab.bootstrap.css.js +1 -1
- package/components/tabs/themes/shared/tab/tab.bootstrap.css.js.map +1 -1
- package/components/tabs/themes/shared/tab/tab.common.css.js +1 -1
- package/components/tabs/themes/shared/tab/tab.common.css.js.map +1 -1
- package/components/tabs/themes/shared/tab/tab.fluent.css.js +1 -1
- package/components/tabs/themes/shared/tab/tab.fluent.css.js.map +1 -1
- package/components/tabs/themes/shared/tab/tab.indigo.css.js +1 -1
- package/components/tabs/themes/shared/tab/tab.indigo.css.js.map +1 -1
- package/components/tabs/themes/shared/tab/tab.material.css.js +1 -1
- package/components/tabs/themes/shared/tab/tab.material.css.js.map +1 -1
- package/components/tabs/themes/shared/tabs/tabs.bootstrap.css.js +1 -1
- package/components/tabs/themes/shared/tabs/tabs.bootstrap.css.js.map +1 -1
- package/components/tabs/themes/shared/tabs/tabs.common.css.js +1 -1
- package/components/tabs/themes/shared/tabs/tabs.common.css.js.map +1 -1
- package/components/tabs/themes/shared/tabs/tabs.indigo.css.js +1 -1
- package/components/tabs/themes/shared/tabs/tabs.indigo.css.js.map +1 -1
- package/components/tabs/themes/shared/tabs/tabs.material.css.js +1 -1
- package/components/tabs/themes/shared/tabs/tabs.material.css.js.map +1 -1
- package/components/tabs/themes/tabs.base.css.js +1 -1
- package/components/tabs/themes/tabs.base.css.js.map +1 -1
- package/components/textarea/themes/dark/textarea.indigo.css.js +1 -1
- package/components/textarea/themes/dark/textarea.indigo.css.js.map +1 -1
- package/components/textarea/themes/light/textarea.indigo.css.js +1 -1
- package/components/textarea/themes/light/textarea.indigo.css.js.map +1 -1
- package/components/textarea/themes/light/textarea.shared.css.js +1 -1
- package/components/textarea/themes/light/textarea.shared.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
- package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.common.css.js +1 -1
- package/components/textarea/themes/shared/textarea.common.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
- package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
- package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.material.css.js +1 -1
- package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
- package/components/tree/themes/dark/container.bootstrap.css.js +1 -1
- package/components/tree/themes/dark/container.bootstrap.css.js.map +1 -1
- package/components/tree/themes/light/container.bootstrap.css.js +1 -1
- package/components/tree/themes/light/container.bootstrap.css.js.map +1 -1
- package/components/tree/tree-item.js +4 -0
- package/components/tree/tree-item.js.map +1 -1
- package/components/tree/tree.d.ts +14 -0
- package/components/tree/tree.js +23 -0
- package/components/tree/tree.js.map +1 -1
- package/components/validation-container/validation-container.d.ts +0 -1
- package/components/validation-container/validation-container.js +6 -9
- package/components/validation-container/validation-container.js.map +1 -1
- package/custom-elements.json +706 -1056
- package/igniteui-webcomponents.html-data.json +1 -1
- package/index.d.ts +2 -1
- package/index.js +2 -1
- package/index.js.map +1 -1
- package/package.json +9 -4
- package/web-types.json +1 -1
- package/components/common/localization/intl-formatters.d.ts +0 -17
- package/components/common/localization/intl-formatters.js +0 -46
- package/components/common/localization/intl-formatters.js.map +0 -1
- package/components/validation-container/themes/dark/validator.bootstrap.css.d.ts +0 -1
- package/components/validation-container/themes/dark/validator.bootstrap.css.js +0 -3
- package/components/validation-container/themes/dark/validator.bootstrap.css.js.map +0 -1
- package/components/validation-container/themes/dark/validator.fluent.css.d.ts +0 -1
- package/components/validation-container/themes/dark/validator.fluent.css.js +0 -3
- package/components/validation-container/themes/dark/validator.fluent.css.js.map +0 -1
- package/components/validation-container/themes/dark/validator.indigo.css.d.ts +0 -1
- package/components/validation-container/themes/dark/validator.indigo.css.js +0 -3
- package/components/validation-container/themes/dark/validator.indigo.css.js.map +0 -1
- package/components/validation-container/themes/dark/validator.material.css.d.ts +0 -1
- package/components/validation-container/themes/dark/validator.material.css.js +0 -3
- package/components/validation-container/themes/dark/validator.material.css.js.map +0 -1
- package/components/validation-container/themes/light/validator.bootstrap.css.d.ts +0 -1
- package/components/validation-container/themes/light/validator.bootstrap.css.js +0 -3
- package/components/validation-container/themes/light/validator.bootstrap.css.js.map +0 -1
- package/components/validation-container/themes/light/validator.fluent.css.d.ts +0 -1
- package/components/validation-container/themes/light/validator.fluent.css.js +0 -3
- package/components/validation-container/themes/light/validator.fluent.css.js.map +0 -1
- package/components/validation-container/themes/light/validator.indigo.css.d.ts +0 -1
- package/components/validation-container/themes/light/validator.indigo.css.js +0 -3
- package/components/validation-container/themes/light/validator.indigo.css.js.map +0 -1
- package/components/validation-container/themes/light/validator.material.css.d.ts +0 -1
- package/components/validation-container/themes/light/validator.material.css.js +0 -3
- package/components/validation-container/themes/light/validator.material.css.js.map +0 -1
- package/components/validation-container/themes/light/validator.shared.css.d.ts +0 -1
- package/components/validation-container/themes/light/validator.shared.css.js +0 -3
- package/components/validation-container/themes/light/validator.shared.css.js.map +0 -1
- package/components/validation-container/themes/themes.d.ts +0 -2
- package/components/validation-container/themes/themes.js +0 -46
- package/components/validation-container/themes/themes.js.map +0 -1
|
@@ -1,7 +1,41 @@
|
|
|
1
1
|
const MASK_FLAGS = new Set('aACL09#&?');
|
|
2
2
|
const MASK_REQUIRED_FLAGS = new Set('0#LA&');
|
|
3
|
+
const ESCAPE_CHAR = '\\';
|
|
4
|
+
const DEFAULT_FORMAT = 'CCCCCCCCCC';
|
|
5
|
+
const DEFAULT_PROMPT = '_';
|
|
6
|
+
const ASCII_ZERO = 0x0030;
|
|
7
|
+
const DIGIT_ZERO_CODEPOINTS = [
|
|
8
|
+
ASCII_ZERO,
|
|
9
|
+
0x0660,
|
|
10
|
+
0x06f0,
|
|
11
|
+
0x0966,
|
|
12
|
+
0x09e6,
|
|
13
|
+
0x0a66,
|
|
14
|
+
0x0ae6,
|
|
15
|
+
0x0b66,
|
|
16
|
+
0x0c66,
|
|
17
|
+
0x0ce6,
|
|
18
|
+
0x0d66,
|
|
19
|
+
0x0e50,
|
|
20
|
+
0x0ed0,
|
|
21
|
+
0x0f20,
|
|
22
|
+
0x1040,
|
|
23
|
+
0x17e0,
|
|
24
|
+
0x1810,
|
|
25
|
+
0xff10,
|
|
26
|
+
];
|
|
27
|
+
const UNICODE_DIGIT_TO_ASCII = new Map(DIGIT_ZERO_CODEPOINTS.flatMap((zeroCodePoint) => Array.from({ length: 10 }, (_, i) => [
|
|
28
|
+
zeroCodePoint + i,
|
|
29
|
+
String.fromCharCode(ASCII_ZERO + i),
|
|
30
|
+
])));
|
|
31
|
+
function replaceUnicodeNumbers(text) {
|
|
32
|
+
const matcher = /\p{Nd}/gu;
|
|
33
|
+
return text.replace(matcher, (digit) => {
|
|
34
|
+
return UNICODE_DIGIT_TO_ASCII.get(digit.charCodeAt(0)) ?? digit;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
3
37
|
const MASK_PATTERNS = new Map([
|
|
4
|
-
['C', /
|
|
38
|
+
['C', /[\s\S]/u],
|
|
5
39
|
['&', /[^\p{Separator}]/u],
|
|
6
40
|
['a', /[\p{Letter}\p{Number}\p{Separator}]/u],
|
|
7
41
|
['A', /[\p{Letter}\p{Number}]/u],
|
|
@@ -11,26 +45,12 @@ const MASK_PATTERNS = new Map([
|
|
|
11
45
|
['9', /[\p{Number}\p{Separator}]/u],
|
|
12
46
|
['#', /[\p{Number}\-+]/u],
|
|
13
47
|
]);
|
|
14
|
-
function replaceIMENumbers(string) {
|
|
15
|
-
return string.replace(/[0123456789]/g, (num) => ({
|
|
16
|
-
'1': '1',
|
|
17
|
-
'2': '2',
|
|
18
|
-
'3': '3',
|
|
19
|
-
'4': '4',
|
|
20
|
-
'5': '5',
|
|
21
|
-
'6': '6',
|
|
22
|
-
'7': '7',
|
|
23
|
-
'8': '8',
|
|
24
|
-
'9': '9',
|
|
25
|
-
'0': '0',
|
|
26
|
-
})[num]);
|
|
27
|
-
}
|
|
28
48
|
function validate(char, flag) {
|
|
29
49
|
return MASK_PATTERNS.get(flag)?.test(char) ?? false;
|
|
30
50
|
}
|
|
31
51
|
const MaskDefaultOptions = {
|
|
32
|
-
format:
|
|
33
|
-
promptCharacter:
|
|
52
|
+
format: DEFAULT_FORMAT,
|
|
53
|
+
promptCharacter: DEFAULT_PROMPT,
|
|
34
54
|
};
|
|
35
55
|
export class MaskParser {
|
|
36
56
|
get literalPositions() {
|
|
@@ -53,17 +73,23 @@ export class MaskParser {
|
|
|
53
73
|
return this._options.promptCharacter;
|
|
54
74
|
}
|
|
55
75
|
set prompt(value) {
|
|
56
|
-
this._options.promptCharacter
|
|
57
|
-
|
|
58
|
-
|
|
76
|
+
const char = value ? value.substring(0, 1) : this._options.promptCharacter;
|
|
77
|
+
if (MASK_FLAGS.has(char)) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
this._options.promptCharacter = char;
|
|
59
81
|
}
|
|
60
82
|
constructor(options) {
|
|
61
83
|
this._literals = new Map();
|
|
62
84
|
this._literalPositions = new Set();
|
|
63
85
|
this._escapedMask = '';
|
|
86
|
+
this._requiredPositions = [];
|
|
64
87
|
this._options = { ...MaskDefaultOptions, ...options };
|
|
65
88
|
this._parseMaskLiterals();
|
|
66
89
|
}
|
|
90
|
+
_isEscapedFlag(char, nextChar) {
|
|
91
|
+
return char === ESCAPE_CHAR && MASK_FLAGS.has(nextChar);
|
|
92
|
+
}
|
|
67
93
|
_parseMaskLiterals() {
|
|
68
94
|
const mask = this.mask;
|
|
69
95
|
const length = mask.length;
|
|
@@ -72,7 +98,7 @@ export class MaskParser {
|
|
|
72
98
|
this._literals.clear();
|
|
73
99
|
for (let i = 0; i < length; i++) {
|
|
74
100
|
const [current, next] = [mask.charAt(i), mask.charAt(i + 1)];
|
|
75
|
-
if (current
|
|
101
|
+
if (this._isEscapedFlag(current, next)) {
|
|
76
102
|
this._literals.set(currentPos, next);
|
|
77
103
|
escapedMaskChars.push(next);
|
|
78
104
|
i++;
|
|
@@ -88,9 +114,10 @@ export class MaskParser {
|
|
|
88
114
|
}
|
|
89
115
|
this._escapedMask = escapedMaskChars.join('');
|
|
90
116
|
this._literalPositions = new Set(this._literals.keys());
|
|
117
|
+
this._requiredPositions = this._computeRequiredPositions();
|
|
91
118
|
}
|
|
92
|
-
|
|
93
|
-
const literalPositions = this.
|
|
119
|
+
_computeRequiredPositions() {
|
|
120
|
+
const literalPositions = this._literalPositions;
|
|
94
121
|
const escapedMask = this._escapedMask;
|
|
95
122
|
const length = escapedMask.length;
|
|
96
123
|
const result = [];
|
|
@@ -103,32 +130,32 @@ export class MaskParser {
|
|
|
103
130
|
return result;
|
|
104
131
|
}
|
|
105
132
|
getPreviousNonLiteralPosition(start) {
|
|
106
|
-
const literalPositions = this.
|
|
107
|
-
for (let i = start; i
|
|
133
|
+
const literalPositions = this._literalPositions;
|
|
134
|
+
for (let i = start - 1; i >= 0; i--) {
|
|
108
135
|
if (!literalPositions.has(i)) {
|
|
109
136
|
return i;
|
|
110
137
|
}
|
|
111
138
|
}
|
|
112
|
-
return
|
|
139
|
+
return 0;
|
|
113
140
|
}
|
|
114
141
|
getNextNonLiteralPosition(start) {
|
|
115
|
-
const literalPositions = this.
|
|
142
|
+
const literalPositions = this._literalPositions;
|
|
116
143
|
const length = this._escapedMask.length;
|
|
117
|
-
for (let i = start; i < length; i++) {
|
|
144
|
+
for (let i = Math.max(0, start); i < length; i++) {
|
|
118
145
|
if (!literalPositions.has(i)) {
|
|
119
146
|
return i;
|
|
120
147
|
}
|
|
121
148
|
}
|
|
122
|
-
return
|
|
149
|
+
return length;
|
|
123
150
|
}
|
|
124
151
|
replace(maskString, value, start, end) {
|
|
125
152
|
const literalPositions = this.literalPositions;
|
|
126
153
|
const escapedMask = this._escapedMask;
|
|
127
|
-
const length =
|
|
154
|
+
const length = escapedMask.length;
|
|
128
155
|
const prompt = this.prompt;
|
|
129
156
|
const endBoundary = Math.min(end, length);
|
|
130
|
-
const maskedChars =
|
|
131
|
-
const inputChars = Array.from(
|
|
157
|
+
const maskedChars = maskString ? [...maskString] : [...this.apply('')];
|
|
158
|
+
const inputChars = Array.from(replaceUnicodeNumbers(value));
|
|
132
159
|
const inputLength = inputChars.length;
|
|
133
160
|
for (let i = start; i < endBoundary; i++) {
|
|
134
161
|
if (!literalPositions.has(i)) {
|
|
@@ -166,20 +193,20 @@ export class MaskParser {
|
|
|
166
193
|
const literalPositions = this.literalPositions;
|
|
167
194
|
const prompt = this.prompt;
|
|
168
195
|
const length = masked.length;
|
|
169
|
-
|
|
196
|
+
const result = [];
|
|
170
197
|
for (let i = 0; i < length; i++) {
|
|
171
198
|
const char = masked[i];
|
|
172
199
|
if (!literalPositions.has(i) && char !== prompt) {
|
|
173
|
-
result
|
|
200
|
+
result.push(char);
|
|
174
201
|
}
|
|
175
202
|
}
|
|
176
|
-
return result;
|
|
203
|
+
return result.join('');
|
|
177
204
|
}
|
|
178
205
|
isValidString(input = '') {
|
|
179
206
|
const prompt = this.prompt;
|
|
180
|
-
return this.
|
|
181
|
-
const char = input
|
|
182
|
-
return
|
|
207
|
+
return this._requiredPositions.every((position) => {
|
|
208
|
+
const char = input[position];
|
|
209
|
+
return validate(char, this._escapedMask[position]) && char !== prompt;
|
|
183
210
|
});
|
|
184
211
|
}
|
|
185
212
|
apply(input = '') {
|
|
@@ -187,14 +214,15 @@ export class MaskParser {
|
|
|
187
214
|
const prompt = this.prompt;
|
|
188
215
|
const escapedMask = this._escapedMask;
|
|
189
216
|
const length = escapedMask.length;
|
|
190
|
-
const
|
|
191
|
-
const result = new Array(escapedMask.length).fill(prompt);
|
|
217
|
+
const result = new Array(length).fill(prompt);
|
|
192
218
|
for (const [position, literal] of literals.entries()) {
|
|
193
219
|
result[position] = literal;
|
|
194
220
|
}
|
|
195
221
|
if (!input) {
|
|
196
222
|
return result.join('');
|
|
197
223
|
}
|
|
224
|
+
const normalizedInput = replaceUnicodeNumbers(input);
|
|
225
|
+
const inputLength = normalizedInput.length;
|
|
198
226
|
let inputIndex = 0;
|
|
199
227
|
for (let i = 0; i < length; i++) {
|
|
200
228
|
if (inputIndex >= inputLength) {
|
|
@@ -203,8 +231,8 @@ export class MaskParser {
|
|
|
203
231
|
if (literals.has(i)) {
|
|
204
232
|
continue;
|
|
205
233
|
}
|
|
206
|
-
if (validate(
|
|
207
|
-
result[i] =
|
|
234
|
+
if (validate(normalizedInput[inputIndex], escapedMask[i])) {
|
|
235
|
+
result[i] = normalizedInput[inputIndex];
|
|
208
236
|
}
|
|
209
237
|
inputIndex++;
|
|
210
238
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mask-parser.js","sourceRoot":"","sources":["../../../src/components/mask-input/mask-parser.ts"],"names":[],"mappings":"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","sourcesContent":["/** Options for the {@link MaskParser} */\ninterface MaskOptions {\n /**\n * The mask format string (e.g., '00/00/0000' for dates, 'AAA-000' for custom IDs).\n *\n * Supported flags: a, A, C, L, 0, 9, #, &, ?.\n *\n * Use `'\\'` to escape a flag character if it should be treated as a literal.\n * @default 'CCCCCCCCCC'\n */\n format: string;\n\n /**\n * The character used to prompt for input in unfilled mask positions.\n * Must be a single character.\n * @default '_'\n */\n promptCharacter: string;\n}\n\n/**\n * Result type for the replace operation, containing the new masked value and the\n * ideal cursor position.\n */\ntype MaskReplaceResult = {\n value: string;\n end: number;\n};\n\nconst MASK_FLAGS = new Set('aACL09#&?');\nconst MASK_REQUIRED_FLAGS = new Set('0#LA&');\n\nconst MASK_PATTERNS = new Map([\n ['C', /(?!^$)/u], // Non-empty (any character that is not an empty string)\n ['&', /[^\\p{Separator}]/u], // Any non-whitespace character (Unicode-aware)\n ['a', /[\\p{Letter}\\p{Number}\\p{Separator}]/u], // Alphanumeric and whitespace (Unicode-aware)\n ['A', /[\\p{Letter}\\p{Number}]/u], // Alphanumeric (Unicode-aware)\n ['?', /[\\p{Letter}\\p{Separator}]/u], // Alpha and whitespace (Unicode-aware)\n ['L', /\\p{Letter}/u], // Alphabetic (Unicode-aware)\n ['0', /\\p{Number}/u], // Numeric (0-9) (Unicode-aware)\n ['9', /[\\p{Number}\\p{Separator}]/u], // Numeric and whitespace (Unicode-aware)\n ['#', /[\\p{Number}\\-+]/u], // Numeric and sign characters (+, -)\n]);\n\nfunction replaceIMENumbers(string: string): string {\n return string.replace(\n /[0123456789]/g,\n (num) =>\n ({\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '0': '0',\n })[num] as string\n );\n}\n\nfunction validate(char: string, flag: string): boolean {\n return MASK_PATTERNS.get(flag)?.test(char) ?? false;\n}\n\n/** Default mask parser options */\nconst MaskDefaultOptions: MaskOptions = {\n format: 'CCCCCCCCCC',\n promptCharacter: '_',\n};\n\n/**\n * A class for parsing and applying masks to strings, typically for input fields.\n * It handles mask definitions, literals, character validation, and cursor positioning.\n */\nexport class MaskParser {\n protected readonly _options: MaskOptions;\n\n /** Stores literal characters and their original positions in the mask (e.g., '(', ')', '-'). */\n protected readonly _literals = new Map<number, string>();\n\n /** A Set of positions where literals occur in the `_escapedMask`. */\n protected _literalPositions = new Set<number>();\n\n /** The mask format after processing escape characters */\n protected _escapedMask = '';\n\n /**\n * Returns a set of the all the literal positions in the mask.\n * These positions are fixed characters that are not part of the input.\n */\n public get literalPositions(): Set<number> {\n return this._literalPositions;\n }\n\n /**\n * Returns the escaped mask string.\n * This is the mask after processing any escape sequences.\n */\n public get escapedMask(): string {\n return this._escapedMask;\n }\n\n /**\n * Returns the result of applying an empty string over the mask pattern.\n */\n public get emptyMask(): string {\n return this.apply();\n }\n\n /**\n * Gets the unescaped mask string (the original format string).\n * If the mask has no escape sequences, then `mask === escapedMask`.\n */\n public get mask(): string {\n return this._options.format;\n }\n\n /**\n * Sets the mask of the parser.\n * When the mask is set, it triggers a re-parsing of the mask literals and escaped mask.\n */\n public set mask(value: string) {\n this._options.format = value || this._options.format;\n this._parseMaskLiterals();\n }\n\n /**\n * Gets the prompt character used for unfilled mask positions.\n */\n public get prompt(): string {\n return this._options.promptCharacter;\n }\n\n /**\n * Sets the prompt character. Only the first character of the provided string is used.\n */\n public set prompt(value: string) {\n this._options.promptCharacter = value\n ? value.substring(0, 1)\n : this._options.promptCharacter;\n }\n\n constructor(options?: MaskOptions) {\n this._options = { ...MaskDefaultOptions, ...options };\n this._parseMaskLiterals();\n }\n\n /**\n * Parses the mask format string to identify literal characters and\n * create the escaped mask. This method is called whenever the mask format changes.\n */\n protected _parseMaskLiterals(): void {\n const mask = this.mask;\n const length = mask.length;\n const escapedMaskChars: string[] = [];\n\n let currentPos = 0;\n\n this._literals.clear();\n\n for (let i = 0; i < length; i++) {\n const [current, next] = [mask.charAt(i), mask.charAt(i + 1)];\n\n if (current === '\\\\' && MASK_FLAGS.has(next)) {\n // Escaped character - push next as a literal character and skip processing it\n this._literals.set(currentPos, next);\n escapedMaskChars.push(next);\n i++;\n } else if (MASK_FLAGS.has(current)) {\n // Regular flag character\n escapedMaskChars.push(current);\n } else {\n // Literal character\n this._literals.set(currentPos, current);\n escapedMaskChars.push(current);\n }\n\n currentPos++;\n }\n\n this._escapedMask = escapedMaskChars.join('');\n this._literalPositions = new Set(this._literals.keys());\n }\n\n /**\n * Gets an array of positions in the escaped mask that correspond to\n * required input flags (e.g., '0', 'L') and are not literal characters.\n *\n * These positions must be filled for the masked string to be valid.\n */\n protected _getRequiredNonLiteralPositions(): number[] {\n const literalPositions = this.literalPositions;\n const escapedMask = this._escapedMask;\n const length = escapedMask.length;\n const result: number[] = [];\n\n for (let i = 0; i < length; i++) {\n const char = escapedMask[i];\n if (MASK_REQUIRED_FLAGS.has(char) && !literalPositions.has(i)) {\n result.push(i);\n }\n }\n\n return result;\n }\n\n /**\n * Finds the closest non-literal position in the mask *before* the given start position.\n * Useful for backward navigation (e.g., backspace).\n *\n * @remarks\n * If no non-literal is found before `start`, return `start`.\n */\n public getPreviousNonLiteralPosition(start: number): number {\n const literalPositions = this.literalPositions;\n\n for (let i = start; i > 0; i--) {\n if (!literalPositions.has(i)) {\n return i;\n }\n }\n\n return start;\n }\n\n /**\n * Finds the closest non-literal position in the mask *after* the given start position.\n * Useful for forward navigation (e.g., arrow keys, delete key or initial cursor placement).\n *\n * @remarks\n * If no non-literal is found after `start`, return `start`.\n */\n public getNextNonLiteralPosition(start: number): number {\n const literalPositions = this.literalPositions;\n const length = this._escapedMask.length;\n\n for (let i = start; i < length; i++) {\n if (!literalPositions.has(i)) {\n return i;\n }\n }\n\n return start;\n }\n\n /**\n * Replaces a segment of the masked string with new input, simulating typing or pasting.\n * It handles clearing the selected range and inserting new characters according to the mask.\n */\n public replace(\n maskString: string,\n value: string,\n start: number,\n end: number\n ): MaskReplaceResult {\n const literalPositions = this.literalPositions;\n const escapedMask = this._escapedMask;\n const length = this._escapedMask.length;\n const prompt = this.prompt;\n const endBoundary = Math.min(end, length);\n\n // Initialize the array for the masked string or get a fresh mask with prompts and/or literals\n const maskedChars = Array.from(maskString || this.apply(''));\n\n const inputChars = Array.from(replaceIMENumbers(value));\n const inputLength = inputChars.length;\n\n // Clear any non-literal positions from `start` to `endBoundary`\n for (let i = start; i < endBoundary; i++) {\n if (!literalPositions.has(i)) {\n maskedChars[i] = prompt;\n }\n }\n\n let cursor = start;\n let inputIndex = 0;\n let maskPosition = start;\n\n // Iterate through the mask starting at `start` as long as there are input characters and mask positions available\n // and start placing characters or skipping literals and invalid characters\n for (; maskPosition < length && inputIndex < inputLength; maskPosition++) {\n if (literalPositions.has(maskPosition)) {\n cursor = maskPosition + 1;\n continue;\n }\n\n const char = inputChars[inputIndex];\n\n if (validate(char, escapedMask[maskPosition]) && char !== prompt) {\n maskedChars[maskPosition] = char;\n cursor = maskPosition + 1;\n inputIndex++;\n } else {\n inputIndex++;\n maskPosition--;\n }\n }\n\n // Move the cursor to the next non-literal position or the end of the mask\n while (cursor < length && literalPositions.has(cursor)) {\n cursor++;\n }\n\n return {\n value: maskedChars.join(''),\n end: cursor,\n };\n }\n\n /**\n * Parses the masked string, extracting only the valid input characters.\n * This effectively \"unmasks\" the string, removing prompts and literals.\n */\n public parse(masked = ''): string {\n const literalPositions = this.literalPositions;\n const prompt = this.prompt;\n const length = masked.length;\n\n let result = '';\n\n for (let i = 0; i < length; i++) {\n const char = masked[i];\n if (!literalPositions.has(i) && char !== prompt) {\n result += char;\n }\n }\n\n return result;\n }\n\n /**\n * Checks if the masked string is valid, specifically if all required mask positions are filled\n * with valid, non-prompt characters.\n */\n public isValidString(input = ''): boolean {\n const prompt = this.prompt;\n\n return this._getRequiredNonLiteralPositions().every((position) => {\n const char = input.charAt(position);\n return (\n validate(char, this._escapedMask.charAt(position)) && char !== prompt\n );\n });\n }\n\n /**\n * Applies the mask format to an input string. This attempts to fit the input\n * into the mask from left to right, filling valid positions and skipping invalid\n * input characters.\n */\n public apply(input = ''): string {\n const literals = this._literals;\n const prompt = this.prompt;\n const escapedMask = this._escapedMask;\n const length = escapedMask.length;\n const inputLength = input.length;\n\n // Initialize the result array with prompt characters\n const result = new Array(escapedMask.length).fill(prompt);\n\n // Place all literal characters into the result array\n for (const [position, literal] of literals.entries()) {\n result[position] = literal;\n }\n\n if (!input) {\n return result.join('');\n }\n\n let inputIndex = 0;\n\n // Iterate through the mask placing input characters skipping literals and invalid ones\n for (let i = 0; i < length; i++) {\n if (inputIndex >= inputLength) {\n break;\n }\n\n if (literals.has(i)) {\n continue;\n }\n\n if (validate(input.charAt(inputIndex), escapedMask.charAt(i))) {\n result[i] = input.charAt(inputIndex);\n }\n\n inputIndex++;\n }\n\n return result.join('');\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"mask-parser.js","sourceRoot":"","sources":["../../../src/components/mask-input/mask-parser.ts"],"names":[],"mappings":"AAmCA,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;AACxC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;AAE7C,MAAM,WAAW,GAAG,IAAI,CAAC;AACzB,MAAM,cAAc,GAAG,YAAY,CAAC;AACpC,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,qBAAqB,GAAG;IAC5B,UAAU;IACV,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;CACE,CAAC;AAMX,MAAM,sBAAsB,GAAG,IAAI,GAAG,CACpC,qBAAqB,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE,CAC9C,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACnC,aAAa,GAAG,CAAC;IACjB,MAAM,CAAC,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC;CACpC,CAAC,CACH,CACF,CAAC;AAEF,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC;IAE3B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QACrC,OAAO,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAAiB;IAC5C,CAAC,GAAG,EAAE,SAAS,CAAC;IAChB,CAAC,GAAG,EAAE,mBAAmB,CAAC;IAC1B,CAAC,GAAG,EAAE,sCAAsC,CAAC;IAC7C,CAAC,GAAG,EAAE,yBAAyB,CAAC;IAChC,CAAC,GAAG,EAAE,4BAA4B,CAAC;IACnC,CAAC,GAAG,EAAE,aAAa,CAAC;IACpB,CAAC,GAAG,EAAE,aAAa,CAAC;IACpB,CAAC,GAAG,EAAE,4BAA4B,CAAC;IACnC,CAAC,GAAG,EAAE,kBAAkB,CAAC;CAC1B,CAAC,CAAC;AAEH,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAY;IAC1C,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;AACtD,CAAC;AAGD,MAAM,kBAAkB,GAAwB;IAC9C,MAAM,EAAE,cAAc;IACtB,eAAe,EAAE,cAAc;CAChC,CAAC;AAMF,MAAM,OAAO,UAAU;IAmBrB,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAMD,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAKD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAMD,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;IAMD,IAAW,IAAI,CAAC,KAAa;QAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAKD,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;IACvC,CAAC;IAMD,IAAW,MAAM,CAAC,KAAa;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;QAG3E,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC;IACvC,CAAC;IAED,YAAY,OAAqB;QAzEd,cAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAG/C,sBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;QAGtC,iBAAY,GAAG,EAAE,CAAC;QAGlB,uBAAkB,GAAa,EAAE,CAAC;QAiE1C,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,kBAAkB,EAAE,GAAG,OAAO,EAAE,CAAC;QACtD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEO,cAAc,CAAC,IAAY,EAAE,QAAgB;QACnD,OAAO,IAAI,KAAK,WAAW,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAMS,kBAAkB;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,gBAAgB,GAAa,EAAE,CAAC;QAEtC,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAE7D,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;gBAEvC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACrC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAEnC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBAEN,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACxC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;YAED,UAAU,EAAE,CAAC;QACf,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAC7D,CAAC;IAQS,yBAAyB;QACjC,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QAClC,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IASM,6BAA6B,CAAC,KAAa;QAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEhD,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IASM,yBAAyB,CAAC,KAAa;QAC5C,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QAExC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAcM,OAAO,CACZ,UAAkB,EAClB,KAAa,EACb,KAAa,EACb,GAAW;QAEX,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAG1C,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC;QAGtC,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,YAAY,GAAG,KAAK,CAAC;QAIzB,OAAO,YAAY,GAAG,MAAM,IAAI,UAAU,GAAG,WAAW,EAAE,YAAY,EAAE,EAAE,CAAC;YACzE,IAAI,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,MAAM,GAAG,YAAY,GAAG,CAAC,CAAC;gBAC1B,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;YAEpC,IAAI,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACjE,WAAW,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;gBACjC,MAAM,GAAG,YAAY,GAAG,CAAC,CAAC;gBAC1B,UAAU,EAAE,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,UAAU,EAAE,CAAC;gBACb,YAAY,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QAGD,OAAO,MAAM,GAAG,MAAM,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACvD,MAAM,EAAE,CAAC;QACX,CAAC;QAED,OAAO;YACL,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,GAAG,EAAE,MAAM;SACZ,CAAC;IACJ,CAAC;IAMM,KAAK,CAAC,MAAM,GAAG,EAAE;QACtB,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAMM,aAAa,CAAC,KAAK,GAAG,EAAE;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,KAAK,MAAM,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAaM,KAAK,CAAC,KAAK,GAAG,EAAE;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QAGlC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAG9C,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,MAAM,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;QAGD,MAAM,eAAe,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC;QAC3C,IAAI,UAAU,GAAG,CAAC,CAAC;QAGnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;gBAC9B,MAAM;YACR,CAAC;YAED,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,SAAS;YACX,CAAC;YAED,IAAI,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,MAAM,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;YAC1C,CAAC;YAGD,UAAU,EAAE,CAAC;QACf,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;CACF","sourcesContent":["/** Options for the {@link MaskParser} */\ninterface MaskOptions {\n /**\n * The mask format string (e.g., '00/00/0000' for dates, 'AAA-000' for custom IDs).\n *\n * Supported flags: a, A, C, L, 0, 9, #, &, ?.\n *\n * Use `'\\'` to escape a flag character if it should be treated as a literal.\n * @default 'CCCCCCCCCC'\n */\n format?: string;\n\n /**\n * The character used to prompt for input in unfilled mask positions.\n * Must be a single character.\n * @default '_'\n */\n promptCharacter?: string;\n}\n\n/** Internal options with all required fields */\ninterface MaskOptionsInternal {\n format: string;\n promptCharacter: string;\n}\n\n/**\n * Result type for the replace operation, containing the new masked value and the\n * ideal cursor position.\n */\ntype MaskReplaceResult = {\n value: string;\n end: number;\n};\n\nconst MASK_FLAGS = new Set('aACL09#&?');\nconst MASK_REQUIRED_FLAGS = new Set('0#LA&');\n\nconst ESCAPE_CHAR = '\\\\';\nconst DEFAULT_FORMAT = 'CCCCCCCCCC';\nconst DEFAULT_PROMPT = '_';\n\nconst ASCII_ZERO = 0x0030;\nconst DIGIT_ZERO_CODEPOINTS = [\n ASCII_ZERO, // ASCII\n 0x0660, // Arabic-Indic\n 0x06f0, // Extended Arabic-Indic\n 0x0966, // Devanagari\n 0x09e6, // Bengali\n 0x0a66, // Gurmukhi\n 0x0ae6, // Gujarati\n 0x0b66, // Oriya\n 0x0c66, // Telugu\n 0x0ce6, // Kannada\n 0x0d66, // Malayalam\n 0x0e50, // Thai\n 0x0ed0, // Lao\n 0x0f20, // Tibetan\n 0x1040, // Myanmar\n 0x17e0, // Khmer\n 0x1810, // Mongolian\n 0xff10, // Full-width\n] as const;\n\n/**\n * Precomputed map of Unicode digit codepoints to their ASCII equivalents.\n * This eliminates the need for iteration during conversion.\n */\nconst UNICODE_DIGIT_TO_ASCII = new Map<number, string>(\n DIGIT_ZERO_CODEPOINTS.flatMap((zeroCodePoint) =>\n Array.from({ length: 10 }, (_, i) => [\n zeroCodePoint + i,\n String.fromCharCode(ASCII_ZERO + i),\n ])\n )\n);\n\nfunction replaceUnicodeNumbers(text: string): string {\n const matcher = /\\p{Nd}/gu;\n\n return text.replace(matcher, (digit) => {\n return UNICODE_DIGIT_TO_ASCII.get(digit.charCodeAt(0)) ?? digit;\n });\n}\n\nconst MASK_PATTERNS = new Map<string, RegExp>([\n ['C', /[\\s\\S]/u], // Any single character (including newlines)\n ['&', /[^\\p{Separator}]/u], // Any non-separator character (excludes spaces, line/paragraph separators)\n ['a', /[\\p{Letter}\\p{Number}\\p{Separator}]/u], // Alphanumeric and separator characters (Unicode-aware)\n ['A', /[\\p{Letter}\\p{Number}]/u], // Alphanumeric (Unicode-aware)\n ['?', /[\\p{Letter}\\p{Separator}]/u], // Alphabetic and separator characters (Unicode-aware)\n ['L', /\\p{Letter}/u], // Alphabetic (Unicode-aware)\n ['0', /\\p{Number}/u], // Numeric (Unicode-aware, converted to ASCII 0-9 during processing)\n ['9', /[\\p{Number}\\p{Separator}]/u], // Numeric and separator characters (Unicode-aware)\n ['#', /[\\p{Number}\\-+]/u], // Numeric and sign characters (+, -)\n]);\n\nfunction validate(char: string, flag: string): boolean {\n return MASK_PATTERNS.get(flag)?.test(char) ?? false;\n}\n\n/** Default mask parser options */\nconst MaskDefaultOptions: MaskOptionsInternal = {\n format: DEFAULT_FORMAT,\n promptCharacter: DEFAULT_PROMPT,\n};\n\n/**\n * A class for parsing and applying masks to strings, typically for input fields.\n * It handles mask definitions, literals, character validation, and cursor positioning.\n */\nexport class MaskParser {\n protected readonly _options: MaskOptionsInternal;\n\n /** Stores literal characters and their original positions in the mask (e.g., '(', ')', '-'). */\n protected readonly _literals = new Map<number, string>();\n\n /** A Set of positions where literals occur in the `_escapedMask`. */\n protected _literalPositions = new Set<number>();\n\n /** The mask format after processing escape characters */\n protected _escapedMask = '';\n\n /** Cached array of required non-literal positions for validation */\n protected _requiredPositions: number[] = [];\n\n /**\n * Returns a set of the all the literal positions in the mask.\n * These positions are fixed characters that are not part of the input.\n */\n public get literalPositions(): ReadonlySet<number> {\n return this._literalPositions;\n }\n\n /**\n * Returns the escaped mask string.\n * This is the mask after processing any escape sequences.\n */\n public get escapedMask(): string {\n return this._escapedMask;\n }\n\n /**\n * Returns the result of applying an empty string over the mask pattern.\n */\n public get emptyMask(): string {\n return this.apply();\n }\n\n /**\n * Gets the unescaped mask string (the original format string).\n * If the mask has no escape sequences, then `mask === escapedMask`.\n */\n public get mask(): string {\n return this._options.format;\n }\n\n /**\n * Sets the mask of the parser.\n * When the mask is set, it triggers a re-parsing of the mask literals and escaped mask.\n */\n public set mask(value: string) {\n this._options.format = value || this._options.format;\n this._parseMaskLiterals();\n }\n\n /**\n * Gets the prompt character used for unfilled mask positions.\n */\n public get prompt(): string {\n return this._options.promptCharacter;\n }\n\n /**\n * Sets the prompt character. Only the first character of the provided string is used.\n * @remarks The prompt character cannot be a mask flag character.\n */\n public set prompt(value: string) {\n const char = value ? value.substring(0, 1) : this._options.promptCharacter;\n\n // Silently ignore if prompt character conflicts with mask flags\n if (MASK_FLAGS.has(char)) {\n return;\n }\n\n this._options.promptCharacter = char;\n }\n\n constructor(options?: MaskOptions) {\n this._options = { ...MaskDefaultOptions, ...options };\n this._parseMaskLiterals();\n }\n\n private _isEscapedFlag(char: string, nextChar: string): boolean {\n return char === ESCAPE_CHAR && MASK_FLAGS.has(nextChar);\n }\n\n /**\n * Parses the mask format string to identify literal characters and\n * create the escaped mask. This method is called whenever the mask format changes.\n */\n protected _parseMaskLiterals(): void {\n const mask = this.mask;\n const length = mask.length;\n const escapedMaskChars: string[] = [];\n\n let currentPos = 0;\n\n this._literals.clear();\n\n for (let i = 0; i < length; i++) {\n const [current, next] = [mask.charAt(i), mask.charAt(i + 1)];\n\n if (this._isEscapedFlag(current, next)) {\n // Escaped character - push next as a literal character and skip processing it\n this._literals.set(currentPos, next);\n escapedMaskChars.push(next);\n i++;\n } else if (MASK_FLAGS.has(current)) {\n // Regular flag character\n escapedMaskChars.push(current);\n } else {\n // Literal character\n this._literals.set(currentPos, current);\n escapedMaskChars.push(current);\n }\n\n currentPos++;\n }\n\n this._escapedMask = escapedMaskChars.join('');\n this._literalPositions = new Set(this._literals.keys());\n this._requiredPositions = this._computeRequiredPositions();\n }\n\n /**\n * Computes an array of positions in the escaped mask that correspond to\n * required input flags (e.g., '0', 'L') and are not literal characters.\n *\n * These positions must be filled for the masked string to be valid.\n */\n protected _computeRequiredPositions(): number[] {\n const literalPositions = this._literalPositions;\n const escapedMask = this._escapedMask;\n const length = escapedMask.length;\n const result: number[] = [];\n\n for (let i = 0; i < length; i++) {\n const char = escapedMask[i];\n if (MASK_REQUIRED_FLAGS.has(char) && !literalPositions.has(i)) {\n result.push(i);\n }\n }\n\n return result;\n }\n\n /**\n * Finds the closest non-literal position in the mask *before* the given start position.\n * Useful for backward navigation (e.g., backspace).\n *\n * @remarks\n * If no non-literal is found before `start`, return 0.\n */\n public getPreviousNonLiteralPosition(start: number): number {\n const literalPositions = this._literalPositions;\n\n for (let i = start - 1; i >= 0; i--) {\n if (!literalPositions.has(i)) {\n return i;\n }\n }\n\n return 0;\n }\n\n /**\n * Finds the closest non-literal position in the mask *after* the given start position.\n * Useful for forward navigation (e.g., arrow keys, delete key or initial cursor placement).\n *\n * @remarks\n * If no non-literal is found after `start`, return the mask length.\n */\n public getNextNonLiteralPosition(start: number): number {\n const literalPositions = this._literalPositions;\n const length = this._escapedMask.length;\n\n for (let i = Math.max(0, start); i < length; i++) {\n if (!literalPositions.has(i)) {\n return i;\n }\n }\n\n return length;\n }\n\n /**\n * Replaces a segment of the masked string with new input, simulating typing or pasting.\n * It handles clearing the selected range and inserting new characters according to the mask.\n *\n * @example\n * ```ts\n * const parser = new MaskParser({ format: '00/00/0000' });\n * const current = '__/__/____';\n * const result = parser.replace(current, '12', 0, 0);\n * // result.value = '12/__/____', result.end = 2\n * ```\n */\n public replace(\n maskString: string,\n value: string,\n start: number,\n end: number\n ): MaskReplaceResult {\n const literalPositions = this.literalPositions;\n const escapedMask = this._escapedMask;\n const length = escapedMask.length;\n const prompt = this.prompt;\n const endBoundary = Math.min(end, length);\n\n // Initialize the array for the masked string or get a fresh mask with prompts and/or literals\n const maskedChars = maskString ? [...maskString] : [...this.apply('')];\n\n const inputChars = Array.from(replaceUnicodeNumbers(value));\n const inputLength = inputChars.length;\n\n // Clear any non-literal positions from `start` to `endBoundary`\n for (let i = start; i < endBoundary; i++) {\n if (!literalPositions.has(i)) {\n maskedChars[i] = prompt;\n }\n }\n\n let cursor = start;\n let inputIndex = 0;\n let maskPosition = start;\n\n // Iterate through the mask starting at `start` as long as there are input characters and mask positions available\n // and start placing characters or skipping literals and invalid characters\n for (; maskPosition < length && inputIndex < inputLength; maskPosition++) {\n if (literalPositions.has(maskPosition)) {\n cursor = maskPosition + 1;\n continue;\n }\n\n const char = inputChars[inputIndex];\n\n if (validate(char, escapedMask[maskPosition]) && char !== prompt) {\n maskedChars[maskPosition] = char;\n cursor = maskPosition + 1;\n inputIndex++;\n } else {\n inputIndex++;\n maskPosition--;\n }\n }\n\n // Move the cursor to the next non-literal position or the end of the mask\n while (cursor < length && literalPositions.has(cursor)) {\n cursor++;\n }\n\n return {\n value: maskedChars.join(''),\n end: cursor,\n };\n }\n\n /**\n * Parses the masked string, extracting only the valid input characters.\n * This effectively \"unmasks\" the string, removing prompts and literals.\n */\n public parse(masked = ''): string {\n const literalPositions = this.literalPositions;\n const prompt = this.prompt;\n const length = masked.length;\n const result: string[] = [];\n\n for (let i = 0; i < length; i++) {\n const char = masked[i];\n if (!literalPositions.has(i) && char !== prompt) {\n result.push(char);\n }\n }\n\n return result.join('');\n }\n\n /**\n * Checks if the masked string is valid, specifically if all required mask positions are filled\n * with valid, non-prompt characters.\n */\n public isValidString(input = ''): boolean {\n const prompt = this.prompt;\n\n return this._requiredPositions.every((position) => {\n const char = input[position];\n return validate(char, this._escapedMask[position]) && char !== prompt;\n });\n }\n\n /**\n * Applies the mask format to an input string. This attempts to fit the input\n * into the mask from left to right, filling valid positions and skipping invalid\n * input characters.\n *\n * @example\n * ```ts\n * const parser = new MaskParser({ format: '00/00/0000' });\n * parser.apply('12252023'); // Returns '12/25/2023'\n * ```\n */\n public apply(input = ''): string {\n const literals = this._literals;\n const prompt = this.prompt;\n const escapedMask = this._escapedMask;\n const length = escapedMask.length;\n\n // Initialize the result array with prompt characters\n const result = new Array(length).fill(prompt);\n\n // Place all literal characters into the result array\n for (const [position, literal] of literals.entries()) {\n result[position] = literal;\n }\n\n if (!input) {\n return result.join('');\n }\n\n // Normalize Unicode digits to ASCII\n const normalizedInput = replaceUnicodeNumbers(input);\n const inputLength = normalizedInput.length;\n let inputIndex = 0;\n\n // Iterate through the mask placing input characters skipping literals and invalid ones\n for (let i = 0; i < length; i++) {\n if (inputIndex >= inputLength) {\n break;\n }\n\n if (literals.has(i)) {\n continue;\n }\n\n if (validate(normalizedInput[inputIndex], escapedMask[i])) {\n result[i] = normalizedInput[inputIndex];\n }\n\n // Always advance - invalid characters are consumed/skipped\n inputIndex++;\n }\n\n return result.join('');\n }\n}\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ValidationResourceStringsEN } from 'igniteui-i18n-core';
|
|
2
2
|
import { requiredValidator } from '../common/validators.js';
|
|
3
3
|
export const maskValidators = [
|
|
4
4
|
requiredValidator,
|
|
5
5
|
{
|
|
6
6
|
key: 'badInput',
|
|
7
|
-
|
|
7
|
+
message: ValidationResourceStringsEN.mask_validation_error,
|
|
8
8
|
isValid: ({ _parser, _maskedValue }) => _parser.isValidString(_maskedValue),
|
|
9
9
|
},
|
|
10
10
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/components/mask-input/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/components/mask-input/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAkB,MAAM,yBAAyB,CAAC;AAG5E,MAAM,CAAC,MAAM,cAAc,GAAuC;IAChE,iBAAiB;IACjB;QACE,GAAG,EAAE,UAAU;QACf,OAAO,EAAE,2BAA2B,CAAC,qBAAsB;QAE3D,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC;KAC5E;CACF,CAAC","sourcesContent":["import { ValidationResourceStringsEN } from 'igniteui-i18n-core';\nimport { requiredValidator, type Validator } from '../common/validators.js';\nimport type IgcMaskInputComponent from './mask-input.js';\n\nexport const maskValidators: Validator<IgcMaskInputComponent>[] = [\n requiredValidator,\n {\n key: 'badInput',\n message: ValidationResourceStringsEN.mask_validation_error!,\n // @ts-expect-error - protected access\n isValid: ({ _parser, _maskedValue }) => _parser.isValidString(_maskedValue),\n },\n];\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{--item-border-radius: var(--ig-nav-drawer-item-border-radius, 0);--item-hover-icon-color: var(--ig-nav-drawer-item-hover-icon-color, var(--ig-primary-100));--item-hover-text-color: var(--ig-nav-drawer-item-hover-text-color, var(--ig-gray-800));--item-hover-background: var(--ig-nav-drawer-item-hover-background, hsl(from var(--ig-gray-200) h s l/0.12));--item-text-color: var(--ig-nav-drawer-item-text-color, var(--ig-gray-800));--item-active-background: var(--ig-nav-drawer-item-active-background, hsl(from var(--ig-gray-300) h s l/0.12));--item-active-icon-color: var(--ig-nav-drawer-item-active-icon-color, var(--ig-primary-50));--item-active-text-color: var(--ig-nav-drawer-item-active-text-color, var(--ig-gray-900));--border-color: var(--ig-nav-drawer-border-color, var(--ig-gray-200));--item-icon-color: var(--ig-nav-drawer-item-icon-color, var(--ig-primary-200));--item-header-text-color: var(--ig-nav-drawer-item-header-text-color, var(--ig-gray-800));--ig-theme: fluent;--
|
|
2
|
+
export const styles = css `:host{--item-border-radius: var(--ig-nav-drawer-item-border-radius, 0);--item-hover-icon-color: var(--ig-nav-drawer-item-hover-icon-color, var(--ig-primary-100));--item-hover-text-color: var(--ig-nav-drawer-item-hover-text-color, var(--ig-gray-800));--item-hover-background: var(--ig-nav-drawer-item-hover-background, hsl(from var(--ig-gray-200) h s l/0.12));--item-text-color: var(--ig-nav-drawer-item-text-color, var(--ig-gray-800));--item-active-background: var(--ig-nav-drawer-item-active-background, hsl(from var(--ig-gray-300) h s l/0.12));--item-active-icon-color: var(--ig-nav-drawer-item-active-icon-color, var(--ig-primary-50));--item-active-text-color: var(--ig-nav-drawer-item-active-text-color, var(--ig-gray-900));--border-color: var(--ig-nav-drawer-border-color, var(--ig-gray-200));--item-icon-color: var(--ig-nav-drawer-item-icon-color, var(--ig-primary-200));--item-header-text-color: var(--ig-nav-drawer-item-header-text-color, var(--ig-gray-800));--ig-theme: fluent;--ig-theme: fluent}`;
|
|
3
3
|
//# sourceMappingURL=nav-drawer.fluent.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav-drawer.fluent.css.js","sourceRoot":"","sources":["../../../../../../src/components/nav-drawer/themes/dark/container/nav-drawer.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":"nav-drawer.fluent.css.js","sourceRoot":"","sources":["../../../../../../src/components/nav-drawer/themes/dark/container/nav-drawer.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,++BAA++B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--item-border-radius: var(--ig-nav-drawer-item-border-radius, 0);--item-hover-icon-color: var(--ig-nav-drawer-item-hover-icon-color, var(--ig-primary-100));--item-hover-text-color: var(--ig-nav-drawer-item-hover-text-color, var(--ig-gray-800));--item-hover-background: var(--ig-nav-drawer-item-hover-background, hsl(from var(--ig-gray-200) h s l/0.12));--item-text-color: var(--ig-nav-drawer-item-text-color, var(--ig-gray-800));--item-active-background: var(--ig-nav-drawer-item-active-background, hsl(from var(--ig-gray-300) h s l/0.12));--item-active-icon-color: var(--ig-nav-drawer-item-active-icon-color, var(--ig-primary-50));--item-active-text-color: var(--ig-nav-drawer-item-active-text-color, var(--ig-gray-900));--border-color: var(--ig-nav-drawer-border-color, var(--ig-gray-200));--item-icon-color: var(--ig-nav-drawer-item-icon-color, var(--ig-primary-200));--item-header-text-color: var(--ig-nav-drawer-item-header-text-color, var(--ig-gray-800));--ig-theme: fluent;--ig-theme: fluent}`;\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{--item-border-radius: var(--ig-nav-drawer-item-border-radius, 0);--item-hover-icon-color: var(--ig-nav-drawer-item-hover-icon-color, var(--ig-primary-600));--item-hover-text-color: var(--ig-nav-drawer-item-hover-text-color, var(--ig-gray-800));--item-hover-background: var(--ig-nav-drawer-item-hover-background, var(--ig-gray-100));--item-text-color: var(--ig-nav-drawer-item-text-color, var(--ig-gray-800));--item-active-background: var(--ig-nav-drawer-item-active-background, var(--ig-gray-200));--item-active-icon-color: var(--ig-nav-drawer-item-active-icon-color, var(--ig-primary-700));--item-active-text-color: var(--ig-nav-drawer-item-active-text-color, var(--ig-gray-900));--border-color: var(--ig-nav-drawer-border-color, var(--ig-gray-200));--item-icon-color: var(--ig-nav-drawer-item-icon-color, var(--ig-primary-500));--item-header-text-color: var(--ig-nav-drawer-item-header-text-color, var(--ig-gray-800));--ig-theme: fluent;--background-color: var(--ig-nav-drawer-background-color,
|
|
2
|
+
export const styles = css `:host{--item-border-radius: var(--ig-nav-drawer-item-border-radius, 0);--item-hover-icon-color: var(--ig-nav-drawer-item-hover-icon-color, var(--ig-primary-600));--item-hover-text-color: var(--ig-nav-drawer-item-hover-text-color, var(--ig-gray-800));--item-hover-background: var(--ig-nav-drawer-item-hover-background, var(--ig-gray-100));--item-text-color: var(--ig-nav-drawer-item-text-color, var(--ig-gray-800));--item-active-background: var(--ig-nav-drawer-item-active-background, var(--ig-gray-200));--item-active-icon-color: var(--ig-nav-drawer-item-active-icon-color, var(--ig-primary-700));--item-active-text-color: var(--ig-nav-drawer-item-active-text-color, var(--ig-gray-900));--border-color: var(--ig-nav-drawer-border-color, var(--ig-gray-200));--item-icon-color: var(--ig-nav-drawer-item-icon-color, var(--ig-primary-500));--item-header-text-color: var(--ig-nav-drawer-item-header-text-color, var(--ig-gray-800));--ig-theme: fluent;--background-color: var(--ig-nav-drawer-background-color, hsl(from var(--ig-gray-500) h s l/0.54));--ig-theme: fluent}`;
|
|
3
3
|
//# sourceMappingURL=nav-drawer.fluent.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav-drawer.fluent.css.js","sourceRoot":"","sources":["../../../../../../src/components/nav-drawer/themes/light/container/nav-drawer.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":"nav-drawer.fluent.css.js","sourceRoot":"","sources":["../../../../../../src/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,yiCAAyiC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--item-border-radius: var(--ig-nav-drawer-item-border-radius, 0);--item-hover-icon-color: var(--ig-nav-drawer-item-hover-icon-color, var(--ig-primary-600));--item-hover-text-color: var(--ig-nav-drawer-item-hover-text-color, var(--ig-gray-800));--item-hover-background: var(--ig-nav-drawer-item-hover-background, var(--ig-gray-100));--item-text-color: var(--ig-nav-drawer-item-text-color, var(--ig-gray-800));--item-active-background: var(--ig-nav-drawer-item-active-background, var(--ig-gray-200));--item-active-icon-color: var(--ig-nav-drawer-item-active-icon-color, var(--ig-primary-700));--item-active-text-color: var(--ig-nav-drawer-item-active-text-color, var(--ig-gray-900));--border-color: var(--ig-nav-drawer-border-color, var(--ig-gray-200));--item-icon-color: var(--ig-nav-drawer-item-icon-color, var(--ig-primary-500));--item-header-text-color: var(--ig-nav-drawer-item-header-text-color, var(--ig-gray-800));--ig-theme: fluent;--background-color: var(--ig-nav-drawer-background-color, hsl(from var(--ig-gray-500) h s l/0.54));--ig-theme: fluent}`;\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{--item-disabled-text-color: var(--ig-nav-drawer-item-disabled-text-color, var(--ig-gray-500));--item-border-radius: var(--ig-nav-drawer-item-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1666666667) * 1.5rem), 1.5rem));--item-hover-icon-color: var(--ig-nav-drawer-item-hover-icon-color, var(--ig-gray-900));--item-hover-text-color: var(--ig-nav-drawer-item-hover-text-color, var(--ig-gray-900));--item-hover-background: var(--ig-nav-drawer-item-hover-background, var(--ig-gray-200));--item-text-color: var(--ig-nav-drawer-item-text-color, var(--ig-gray-900));--item-active-background: var(--ig-nav-drawer-item-active-background, hsl(from var(--ig-primary-500) h s l/0.12));--item-active-icon-color: var(--ig-nav-drawer-item-active-icon-color, var(--ig-primary-
|
|
2
|
+
export const styles = css `:host{--item-disabled-text-color: var(--ig-nav-drawer-item-disabled-text-color, var(--ig-gray-500));--item-border-radius: var(--ig-nav-drawer-item-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1666666667) * 1.5rem), 1.5rem));--item-hover-icon-color: var(--ig-nav-drawer-item-hover-icon-color, var(--ig-gray-900));--item-hover-text-color: var(--ig-nav-drawer-item-hover-text-color, var(--ig-gray-900));--item-hover-background: var(--ig-nav-drawer-item-hover-background, var(--ig-gray-200));--item-text-color: var(--ig-nav-drawer-item-text-color, var(--ig-gray-900));--item-active-background: var(--ig-nav-drawer-item-active-background, hsl(from var(--ig-primary-500) h s l/0.12));--item-active-icon-color: var(--ig-nav-drawer-item-active-icon-color, var(--ig-primary-800));--item-active-text-color: var(--ig-nav-drawer-item-active-text-color, var(--ig-primary-800));--border-color: var(--ig-nav-drawer-border-color, var(--ig-gray-300));--item-icon-color: var(--ig-nav-drawer-item-icon-color, var(--ig-gray-700));--item-header-text-color: var(--ig-nav-drawer-item-header-text-color, var(--ig-gray-700));--ig-theme: material;--background-color: var(--ig-nav-drawer-background-color, hsl(from var(--ig-gray-500) h s l/0.54));--ig-theme: material}`;
|
|
3
3
|
//# sourceMappingURL=nav-drawer.material.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav-drawer.material.css.js","sourceRoot":"","sources":["../../../../../../src/components/nav-drawer/themes/light/container/nav-drawer.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,wuCAAwuC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--item-disabled-text-color: var(--ig-nav-drawer-item-disabled-text-color, var(--ig-gray-500));--item-border-radius: var(--ig-nav-drawer-item-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1666666667) * 1.5rem), 1.5rem));--item-hover-icon-color: var(--ig-nav-drawer-item-hover-icon-color, var(--ig-gray-900));--item-hover-text-color: var(--ig-nav-drawer-item-hover-text-color, var(--ig-gray-900));--item-hover-background: var(--ig-nav-drawer-item-hover-background, var(--ig-gray-200));--item-text-color: var(--ig-nav-drawer-item-text-color, var(--ig-gray-900));--item-active-background: var(--ig-nav-drawer-item-active-background, hsl(from var(--ig-primary-500) h s l/0.12));--item-active-icon-color: var(--ig-nav-drawer-item-active-icon-color, var(--ig-primary-
|
|
1
|
+
{"version":3,"file":"nav-drawer.material.css.js","sourceRoot":"","sources":["../../../../../../src/components/nav-drawer/themes/light/container/nav-drawer.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,wuCAAwuC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--item-disabled-text-color: var(--ig-nav-drawer-item-disabled-text-color, var(--ig-gray-500));--item-border-radius: var(--ig-nav-drawer-item-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1666666667) * 1.5rem), 1.5rem));--item-hover-icon-color: var(--ig-nav-drawer-item-hover-icon-color, var(--ig-gray-900));--item-hover-text-color: var(--ig-nav-drawer-item-hover-text-color, var(--ig-gray-900));--item-hover-background: var(--ig-nav-drawer-item-hover-background, var(--ig-gray-200));--item-text-color: var(--ig-nav-drawer-item-text-color, var(--ig-gray-900));--item-active-background: var(--ig-nav-drawer-item-active-background, hsl(from var(--ig-primary-500) h s l/0.12));--item-active-icon-color: var(--ig-nav-drawer-item-active-icon-color, var(--ig-primary-800));--item-active-text-color: var(--ig-nav-drawer-item-active-text-color, var(--ig-primary-800));--border-color: var(--ig-nav-drawer-border-color, var(--ig-gray-300));--item-icon-color: var(--ig-nav-drawer-item-icon-color, var(--ig-gray-700));--item-header-text-color: var(--ig-nav-drawer-item-header-text-color, var(--ig-gray-700));--ig-theme: material;--background-color: var(--ig-nav-drawer-background-color, hsl(from var(--ig-gray-500) h s l/0.54));--ig-theme: material}`;\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{background:var(--background);color:var(--text-color);border-bottom:.0625rem solid var(--border-color);box-shadow:var(--
|
|
2
|
+
export const styles = css `:host{background:var(--background);color:var(--text-color);border-bottom:.0625rem solid var(--border-color);box-shadow:var(--elevation)}::slotted(igc-icon){color:var(--idle-icon-color)}::slotted(igc-icon:hover){color:var(--hover-icon-color)}`;
|
|
3
3
|
//# sourceMappingURL=navbar.common.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navbar.common.css.js","sourceRoot":"","sources":["../../../../../src/components/navbar/themes/shared/navbar.common.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"navbar.common.css.js","sourceRoot":"","sources":["../../../../../src/components/navbar/themes/shared/navbar.common.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,mPAAmP,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{background:var(--background);color:var(--text-color);border-bottom:.0625rem solid var(--border-color);box-shadow:var(--elevation)}::slotted(igc-icon){color:var(--idle-icon-color)}::slotted(igc-icon:hover){color:var(--hover-icon-color)}`;\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{--fill-color: var(--ig-radio-fill-color, var(--ig-secondary-500));--focus-outline-color: var(--ig-radio-focus-outline-color, transparent);--fill-hover-border-color: var(--ig-radio-fill-hover-border-color, var(--ig-secondary-500));--empty-color: var(--ig-radio-empty-color, var(--ig-gray-600));--fill-color-hover: var(--ig-radio-fill-color-hover, var(--ig-secondary-500));--error-color-hover: var(--ig-radio-error-color-hover, var(--ig-error-
|
|
2
|
+
export const styles = css `:host{--fill-color: var(--ig-radio-fill-color, var(--ig-secondary-500));--error-color: var(--ig-radio-error-color, var(--ig-error-800));--focus-outline-color: var(--ig-radio-focus-outline-color, transparent);--fill-hover-border-color: var(--ig-radio-fill-hover-border-color, var(--ig-secondary-500));--empty-color: var(--ig-radio-empty-color, var(--ig-gray-600));--fill-color-hover: var(--ig-radio-fill-color-hover, var(--ig-secondary-500));--error-color-hover: var(--ig-radio-error-color-hover, var(--ig-error-800));--ig-theme: material}`;
|
|
3
3
|
//# sourceMappingURL=radio.material.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.material.css.js","sourceRoot":"","sources":["../../../../../src/components/radio/themes/light/radio.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"radio.material.css.js","sourceRoot":"","sources":["../../../../../src/components/radio/themes/light/radio.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,4hBAA4hB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--fill-color: var(--ig-radio-fill-color, var(--ig-secondary-500));--error-color: var(--ig-radio-error-color, var(--ig-error-800));--focus-outline-color: var(--ig-radio-focus-outline-color, transparent);--fill-hover-border-color: var(--ig-radio-fill-hover-border-color, var(--ig-secondary-500));--empty-color: var(--ig-radio-empty-color, var(--ig-gray-600));--fill-color-hover: var(--ig-radio-fill-color-hover, var(--ig-secondary-500));--error-color-hover: var(--ig-radio-error-color-hover, var(--ig-error-800));--ig-theme: material}`;\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host::part(base){transition:none}:host ::part(helper-text){font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin-block-start:max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));grid-auto-rows:minmax(1.25rem, auto)}[part~=label]{font-family:var(--ig-body-1-font-family, var(--ig-font-family));font-size:var(--ig-body-1-font-size);font-weight:var(--ig-body-1-font-weight);font-style:var(--ig-body-1-font-style);line-height:var(--ig-body-1-line-height);letter-spacing:var(--ig-body-1-letter-spacing);text-transform:var(--ig-body-1-text-transform);margin-top:var(--ig-body-1-margin-top);margin-bottom:var(--ig-body-1-margin-bottom)}[part~=base]{gap:.5rem}[part~=control]{--size: 1rem;border-radius:var(--size);width:var(--size);height:var(--size);min-width:var(--size);
|
|
2
|
+
export const styles = css `:host::part(base){transition:none}:host ::part(helper-text){font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin-block-start:max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));grid-auto-rows:minmax(1.25rem, auto)}[part~=label]{font-family:var(--ig-body-1-font-family, var(--ig-font-family));font-size:var(--ig-body-1-font-size);font-weight:var(--ig-body-1-font-weight);font-style:var(--ig-body-1-font-style);line-height:var(--ig-body-1-line-height);letter-spacing:var(--ig-body-1-letter-spacing);text-transform:var(--ig-body-1-text-transform);margin-top:var(--ig-body-1-margin-top);margin-bottom:var(--ig-body-1-margin-bottom)}[part~=base]{gap:.5rem}[part~=control]{--size: 1rem;border-radius:var(--size);width:var(--size);height:var(--size);min-width:var(--size);transition:rgba(0,0,0,0)}[part~=control]::before,[part~=control]::after{transition:none;border-radius:calc(var(--size)/2)}[part~=control]::before{transform:translate(-50%, -50%) scale(0.4375)}[part~=control]::after{width:inherit;height:inherit;min-width:inherit;border:.0625rem solid var(--empty-color)}[part~=focused] [part~=control]{box-shadow:0 0 0 .25rem var(--focus-outline-color)}[part~=focused] [part=control]::after{border-color:var(--focus-border-color)}[part="control checked"]::after{background:var(--fill-color);border-color:var(--fill-color)}[part="control checked"]::before{border-color:var(--fill-hover-border-color);background:var(--fill-hover-border-color)}:host(:hover) [part=control]::after{border-color:var(--hover-color)}:host(:hover) [part="control checked"]::after{background:var(--fill-color-hover);border-color:var(--fill-color-hover)}:host(:hover) [part="control checked"]::before{background:var(--fill-hover-border-color)}:host(:hover) [part~=focused] [part=control]::after{border-color:hsl(from var(--focus-border-color) h calc(s * 1.12) calc(l * 0.82))}:host(:not([disabled]):state(ig-invalid)) [part~=control]::after,:host(:not(:disabled):state(ig-invalid)) [part~=control]::after{border-color:var(--error-color)}:host(:not([disabled]):state(ig-invalid)) [part="control checked"]::after,:host(:not(:disabled):state(ig-invalid)) [part="control checked"]::after{background:var(--error-color)}:host(:not([disabled]):state(ig-invalid)) [part~=focused] [part~=control],:host(:not(:disabled):state(ig-invalid)) [part~=focused] [part~=control]{box-shadow:0 0 0 .25rem var(--focus-outline-color-error)}:host(:not([disabled]):state(ig-invalid):hover) [part="control checked"]::after,:host(:not(:disabled):state(ig-invalid):hover) [part="control checked"]::after{background:var(--error-color-hover)}:host([disabled]) [part="control checked"]::before,:host(:disabled) [part="control checked"]::before{background:var(--fill-hover-border-color);border-color:var(--fill-hover-border-color)}:host([disabled]) [part="control checked"]::after,:host(:disabled) [part="control checked"]::after{background:var(--disabled-fill-color)}`;
|
|
3
3
|
//# sourceMappingURL=radio.bootstrap.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/radio/themes/shared/radio.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":"radio.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/radio/themes/shared/radio.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,y+GAAy+G,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host::part(base){transition:none}:host ::part(helper-text){font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin-block-start:max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));grid-auto-rows:minmax(1.25rem, auto)}[part~=label]{font-family:var(--ig-body-1-font-family, var(--ig-font-family));font-size:var(--ig-body-1-font-size);font-weight:var(--ig-body-1-font-weight);font-style:var(--ig-body-1-font-style);line-height:var(--ig-body-1-line-height);letter-spacing:var(--ig-body-1-letter-spacing);text-transform:var(--ig-body-1-text-transform);margin-top:var(--ig-body-1-margin-top);margin-bottom:var(--ig-body-1-margin-bottom)}[part~=base]{gap:.5rem}[part~=control]{--size: 1rem;border-radius:var(--size);width:var(--size);height:var(--size);min-width:var(--size);transition:rgba(0,0,0,0)}[part~=control]::before,[part~=control]::after{transition:none;border-radius:calc(var(--size)/2)}[part~=control]::before{transform:translate(-50%, -50%) scale(0.4375)}[part~=control]::after{width:inherit;height:inherit;min-width:inherit;border:.0625rem solid var(--empty-color)}[part~=focused] [part~=control]{box-shadow:0 0 0 .25rem var(--focus-outline-color)}[part~=focused] [part=control]::after{border-color:var(--focus-border-color)}[part=\"control checked\"]::after{background:var(--fill-color);border-color:var(--fill-color)}[part=\"control checked\"]::before{border-color:var(--fill-hover-border-color);background:var(--fill-hover-border-color)}:host(:hover) [part=control]::after{border-color:var(--hover-color)}:host(:hover) [part=\"control checked\"]::after{background:var(--fill-color-hover);border-color:var(--fill-color-hover)}:host(:hover) [part=\"control checked\"]::before{background:var(--fill-hover-border-color)}:host(:hover) [part~=focused] [part=control]::after{border-color:hsl(from var(--focus-border-color) h calc(s * 1.12) calc(l * 0.82))}:host(:not([disabled]):state(ig-invalid)) [part~=control]::after,:host(:not(:disabled):state(ig-invalid)) [part~=control]::after{border-color:var(--error-color)}:host(:not([disabled]):state(ig-invalid)) [part=\"control checked\"]::after,:host(:not(:disabled):state(ig-invalid)) [part=\"control checked\"]::after{background:var(--error-color)}:host(:not([disabled]):state(ig-invalid)) [part~=focused] [part~=control],:host(:not(:disabled):state(ig-invalid)) [part~=focused] [part~=control]{box-shadow:0 0 0 .25rem var(--focus-outline-color-error)}:host(:not([disabled]):state(ig-invalid):hover) [part=\"control checked\"]::after,:host(:not(:disabled):state(ig-invalid):hover) [part=\"control checked\"]::after{background:var(--error-color-hover)}:host([disabled]) [part=\"control checked\"]::before,:host(:disabled) [part=\"control checked\"]::before{background:var(--fill-hover-border-color);border-color:var(--fill-hover-border-color)}:host([disabled]) [part=\"control checked\"]::after,:host(:disabled) [part=\"control checked\"]::after{background:var(--disabled-fill-color)}`;\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `[part~=label]{color:var(--label-color)}:host([disabled]) [part~=label],:host(:disabled) [part~=label]{color:var(--disabled-label-color)}:host(:not([disabled]):state(ig-invalid)) [part~=label],:host(:not(:disabled):state(ig-invalid)) [part~=label]{color:var(--error-color)}`;
|
|
2
|
+
export const styles = css `[part~=label]{color:var(--label-color)}[part~=base]:hover [part~=label]{color:var(--label-color-hover)}[part~=control]{background:var(--empty-fill-color)}:host(:hover) [part="control checked"]::before{background:var(--fill-color-hover);border:.125rem solid var(--fill-hover-border-color)}:host(:hover) [part="control checked"]::after{border-color:var(--fill-hover-border-color)}:host(:not([disabled]):state(ig-invalid):hover) [part~=control]::after,:host(:not(:disabled):state(ig-invalid):hover) [part~=control]::after{border-color:var(--error-color-hover)}:host([disabled]) [part~=label],:host(:disabled) [part~=label]{color:var(--disabled-label-color)}:host([disabled]) [part~=control]::after,:host(:disabled) [part~=control]::after{border-color:var(--disabled-color)}:host([disabled]) [part="control checked"]::before,:host(:disabled) [part="control checked"]::before{background:var(--disabled-fill-color);border-color:var(--disabled-fill-color)}:host([disabled]) [part="control checked"]::after,:host(:disabled) [part="control checked"]::after{border-color:var(--disabled-fill-color)}:host(:not([disabled]):state(ig-invalid)) [part~=label],:host(:not(:disabled):state(ig-invalid)) [part~=label]{color:var(--error-color)}`;
|
|
3
3
|
//# sourceMappingURL=radio.common.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.common.css.js","sourceRoot":"","sources":["../../../../../src/components/radio/themes/shared/radio.common.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"radio.common.css.js","sourceRoot":"","sources":["../../../../../src/components/radio/themes/shared/radio.common.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,0sCAA0sC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part~=label]{color:var(--label-color)}[part~=base]:hover [part~=label]{color:var(--label-color-hover)}[part~=control]{background:var(--empty-fill-color)}:host(:hover) [part=\"control checked\"]::before{background:var(--fill-color-hover);border:.125rem solid var(--fill-hover-border-color)}:host(:hover) [part=\"control checked\"]::after{border-color:var(--fill-hover-border-color)}:host(:not([disabled]):state(ig-invalid):hover) [part~=control]::after,:host(:not(:disabled):state(ig-invalid):hover) [part~=control]::after{border-color:var(--error-color-hover)}:host([disabled]) [part~=label],:host(:disabled) [part~=label]{color:var(--disabled-label-color)}:host([disabled]) [part~=control]::after,:host(:disabled) [part~=control]::after{border-color:var(--disabled-color)}:host([disabled]) [part=\"control checked\"]::before,:host(:disabled) [part=\"control checked\"]::before{background:var(--disabled-fill-color);border-color:var(--disabled-fill-color)}:host([disabled]) [part=\"control checked\"]::after,:host(:disabled) [part=\"control checked\"]::after{border-color:var(--disabled-fill-color)}:host(:not([disabled]):state(ig-invalid)) [part~=label],:host(:not(:disabled):state(ig-invalid)) [part~=label]{color:var(--error-color)}`;\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host ::part(helper-text){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-block-start:max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));grid-auto-rows:minmax(1.125rem, auto)}[part~=label]{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}:host [part~=base]{transition-duration:.1s;gap:.5rem}:host [part~=control]{border-radius:var(--size);width:var(--size);height:var(--size);min-width:var(--size);transition:none}:host [part~=control]::before,:host [part~=control]::after{border-radius:calc(var(--size)/2);width:var(--size);height:var(--size);inset-inline-start:0;top:0;transform:none}:host [part~=control]::before{backface-visibility:hidden;transform:scale(0);transition:all .2s ease-in;z-index:1}:host [part~=control]::after{border:.0625rem solid var(--empty-color)}:host [part="control checked"]::before{border-color:var(--fill-color);background:var(--fill-color);transform:scale(0.5)}:host [part="control checked"]::after{border-color:var(--fill-color)}[part~=focused]{position:relative}[part~=focused]::after{content:"";position:absolute;top:-0.125rem;left:-0.125rem;box-shadow:0 0 0 .0625rem var(--focus-outline-color);width:calc(100% + 0.125rem*2);height:calc(100% + 0.125rem*2)}[part~=focused] [part=control]::before{background:var(--hover-color)}:host(:hover) [part=control]::before{background:var(--hover-color);transform:scale(0.5)}:host(:hover) [part="control checked"]::after{border-color:var(--fill-hover-border-color)}:host(:hover) [part="control checked"]::before{background:var(--fill-color-hover);border
|
|
2
|
+
export const styles = css `:host ::part(helper-text){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-block-start:max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));grid-auto-rows:minmax(1.125rem, auto)}[part~=label]{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}:host [part~=base]{transition-duration:.1s;gap:.5rem}:host [part~=control]{border-radius:var(--size);width:var(--size);height:var(--size);min-width:var(--size);transition:none}:host [part~=control]::before,:host [part~=control]::after{border-radius:calc(var(--size)/2);width:var(--size);height:var(--size);inset-inline-start:0;top:0;transform:none}:host [part~=control]::before{backface-visibility:hidden;transform:scale(0);transition:all .2s ease-in;z-index:1}:host [part~=control]::after{border:.0625rem solid var(--empty-color)}:host [part="control checked"]::before{border-color:var(--fill-color);background:var(--fill-color);transform:scale(0.5)}:host [part="control checked"]::after{border-color:var(--fill-color)}[part~=focused]{position:relative}[part~=focused]::after{content:"";position:absolute;top:-0.125rem;left:-0.125rem;box-shadow:0 0 0 .0625rem var(--focus-outline-color);width:calc(100% + 0.125rem*2);height:calc(100% + 0.125rem*2)}[part~=focused] [part=control]::before{background:var(--hover-color)}:host(:hover) [part=control]::before{background:var(--hover-color);transform:scale(0.5)}:host(:hover) [part="control checked"]::after{border-color:var(--fill-hover-border-color)}:host(:hover) [part="control checked"]::before{background:var(--fill-color-hover);border:.0625rem solid var(--fill-hover-border-color)}:host(:not([disabled]):state(ig-invalid):hover) [part=control]::before,:host(:not(:disabled):state(ig-invalid):hover) [part=control]::before{background:var(--error-color)}:host(:not([disabled]):state(ig-invalid):hover) [part="control checked"]::after,:host(:not(:disabled):state(ig-invalid):hover) [part="control checked"]::after{border-color:var(--error-color-hover)}:host(:not([disabled]):state(ig-invalid):hover) [part="control checked"]::before,:host(:not(:disabled):state(ig-invalid):hover) [part="control checked"]::before{background:var(--error-color-hover);border-color:var(--error-color-hover)}:host(:not([disabled]):state(ig-invalid)) [part~=control]::after,:host(:not(:disabled):state(ig-invalid)) [part~=control]::after{border-color:var(--error-color)}:host(:not([disabled]):state(ig-invalid)) [part="control checked"]::before,:host(:not(:disabled):state(ig-invalid)) [part="control checked"]::before{background:var(--error-color)}:host(:not([disabled]):state(ig-invalid)) [part=focused] [part=control]::after,:host(:not(:disabled):state(ig-invalid)) [part=focused] [part=control]::after{border-color:var(--error-color-hover)}:host(:not([disabled]):state(ig-invalid)) [part=focused] [part=control]::before,:host(:not(:disabled):state(ig-invalid)) [part=focused] [part=control]::before{background:var(--error-color)}`;
|
|
3
3
|
//# sourceMappingURL=radio.fluent.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/radio/themes/shared/radio.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":"radio.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/radio/themes/shared/radio.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,20HAA20H,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host ::part(helper-text){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-block-start:max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));grid-auto-rows:minmax(1.125rem, auto)}[part~=label]{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}:host [part~=base]{transition-duration:.1s;gap:.5rem}:host [part~=control]{border-radius:var(--size);width:var(--size);height:var(--size);min-width:var(--size);transition:none}:host [part~=control]::before,:host [part~=control]::after{border-radius:calc(var(--size)/2);width:var(--size);height:var(--size);inset-inline-start:0;top:0;transform:none}:host [part~=control]::before{backface-visibility:hidden;transform:scale(0);transition:all .2s ease-in;z-index:1}:host [part~=control]::after{border:.0625rem solid var(--empty-color)}:host [part=\"control checked\"]::before{border-color:var(--fill-color);background:var(--fill-color);transform:scale(0.5)}:host [part=\"control checked\"]::after{border-color:var(--fill-color)}[part~=focused]{position:relative}[part~=focused]::after{content:\"\";position:absolute;top:-0.125rem;left:-0.125rem;box-shadow:0 0 0 .0625rem var(--focus-outline-color);width:calc(100% + 0.125rem*2);height:calc(100% + 0.125rem*2)}[part~=focused] [part=control]::before{background:var(--hover-color)}:host(:hover) [part=control]::before{background:var(--hover-color);transform:scale(0.5)}:host(:hover) [part=\"control checked\"]::after{border-color:var(--fill-hover-border-color)}:host(:hover) [part=\"control checked\"]::before{background:var(--fill-color-hover);border:.0625rem solid var(--fill-hover-border-color)}:host(:not([disabled]):state(ig-invalid):hover) [part=control]::before,:host(:not(:disabled):state(ig-invalid):hover) [part=control]::before{background:var(--error-color)}:host(:not([disabled]):state(ig-invalid):hover) [part=\"control checked\"]::after,:host(:not(:disabled):state(ig-invalid):hover) [part=\"control checked\"]::after{border-color:var(--error-color-hover)}:host(:not([disabled]):state(ig-invalid):hover) [part=\"control checked\"]::before,:host(:not(:disabled):state(ig-invalid):hover) [part=\"control checked\"]::before{background:var(--error-color-hover);border-color:var(--error-color-hover)}:host(:not([disabled]):state(ig-invalid)) [part~=control]::after,:host(:not(:disabled):state(ig-invalid)) [part~=control]::after{border-color:var(--error-color)}:host(:not([disabled]):state(ig-invalid)) [part=\"control checked\"]::before,:host(:not(:disabled):state(ig-invalid)) [part=\"control checked\"]::before{background:var(--error-color)}:host(:not([disabled]):state(ig-invalid)) [part=focused] [part=control]::after,:host(:not(:disabled):state(ig-invalid)) [part=focused] [part=control]::after{border-color:var(--error-color-hover)}:host(:not([disabled]):state(ig-invalid)) [part=focused] [part=control]::before,:host(:not(:disabled):state(ig-invalid)) [part=focused] [part=control]::before{background:var(--error-color)}`;\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host ::part(helper-text){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-block-start:max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));grid-auto-rows:minmax(1.125rem, auto)}[part~=
|
|
2
|
+
export const styles = css `:host ::part(helper-text){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-block-start:max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));grid-auto-rows:minmax(1.125rem, auto)}:host(:hover) [part~=control]::after{border:.125rem solid var(--hover-color)}:host(:hover) [part="control checked"]::after{border-color:var(--fill-hover-border-color)}[part~=base]{gap:.5rem}[part~=label]{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}[part~=control]{--size: 1rem;border-radius:var(--size);width:var(--size, 1.25rem);height:var(--size, 1.25rem);min-width:var(--size, 1.25rem);transition:none}[part~=control]::before,[part~=control]::after{border-radius:calc(var(--size)/2)}[part~=control]::after{border:.125rem solid var(--empty-color)}[part="control checked"]::after{border-color:var(--fill-color)}[part="control checked"]::before{background:var(--fill-color);border-color:var(--fill-color)}[part="control checked"]:hover::after{border-color:var(--fill-hover-border-color)}[part="control checked"]:hover::before{background:var(--fill-color-hover);border-color:var(--fill-hover-border-color)}[part~=focused] [part=control]{box-shadow:0 0 0 .1875rem var(--focus-outline-color)}[part~=focused] [part="control checked"]{box-shadow:0 0 0 .1875rem var(--focus-outline-color-filled)}:host(:not([disabled]):state(ig-invalid)) [part~=base]:hover [part~=label],:host(:not(:disabled):state(ig-invalid)) [part~=base]:hover [part~=label]{color:var(--label-color-hover)}:host(:not([disabled]):state(ig-invalid)) [part~=label],:host(:not(:disabled):state(ig-invalid)) [part~=label]{color:var(--label-color)}:host(:not([disabled]):state(ig-invalid)) [part=control]::after,:host(:not(:disabled):state(ig-invalid)) [part=control]::after{border-color:var(--error-color)}:host(:not([disabled]):state(ig-invalid)) [part="control checked"]::after,:host(:not(:disabled):state(ig-invalid)) [part="control checked"]::after{border-color:var(--error-color)}:host(:not([disabled]):state(ig-invalid)) [part="control checked"]::before,:host(:not(:disabled):state(ig-invalid)) [part="control checked"]::before{background:var(--error-color)}:host(:not([disabled]):state(ig-invalid)) [part~=focused] [part~=control],:host(:not([disabled]):state(ig-invalid)) [part~=focused] [part="control checked"],:host(:not(:disabled):state(ig-invalid)) [part~=focused] [part~=control],:host(:not(:disabled):state(ig-invalid)) [part~=focused] [part="control checked"]{box-shadow:0 0 0 .1875rem var(--focus-outline-color-error)}:host(:not([disabled]):state(ig-invalid):hover) [part="control checked"]::before,:host(:not(:disabled):state(ig-invalid):hover) [part="control checked"]::before{background:var(--error-color-hover);border-color:var(--error-color-hover)}`;
|
|
3
3
|
//# sourceMappingURL=radio.indigo.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/radio/themes/shared/radio.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":"radio.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/radio/themes/shared/radio.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,gpHAAgpH,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host ::part(helper-text){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-block-start:max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));grid-auto-rows:minmax(1.125rem, auto)}:host(:hover) [part~=control]::after{border:.125rem solid var(--hover-color)}:host(:hover) [part=\"control checked\"]::after{border-color:var(--fill-hover-border-color)}[part~=base]{gap:.5rem}[part~=label]{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}[part~=control]{--size: 1rem;border-radius:var(--size);width:var(--size, 1.25rem);height:var(--size, 1.25rem);min-width:var(--size, 1.25rem);transition:none}[part~=control]::before,[part~=control]::after{border-radius:calc(var(--size)/2)}[part~=control]::after{border:.125rem solid var(--empty-color)}[part=\"control checked\"]::after{border-color:var(--fill-color)}[part=\"control checked\"]::before{background:var(--fill-color);border-color:var(--fill-color)}[part=\"control checked\"]:hover::after{border-color:var(--fill-hover-border-color)}[part=\"control checked\"]:hover::before{background:var(--fill-color-hover);border-color:var(--fill-hover-border-color)}[part~=focused] [part=control]{box-shadow:0 0 0 .1875rem var(--focus-outline-color)}[part~=focused] [part=\"control checked\"]{box-shadow:0 0 0 .1875rem var(--focus-outline-color-filled)}:host(:not([disabled]):state(ig-invalid)) [part~=base]:hover [part~=label],:host(:not(:disabled):state(ig-invalid)) [part~=base]:hover [part~=label]{color:var(--label-color-hover)}:host(:not([disabled]):state(ig-invalid)) [part~=label],:host(:not(:disabled):state(ig-invalid)) [part~=label]{color:var(--label-color)}:host(:not([disabled]):state(ig-invalid)) [part=control]::after,:host(:not(:disabled):state(ig-invalid)) [part=control]::after{border-color:var(--error-color)}:host(:not([disabled]):state(ig-invalid)) [part=\"control checked\"]::after,:host(:not(:disabled):state(ig-invalid)) [part=\"control checked\"]::after{border-color:var(--error-color)}:host(:not([disabled]):state(ig-invalid)) [part=\"control checked\"]::before,:host(:not(:disabled):state(ig-invalid)) [part=\"control checked\"]::before{background:var(--error-color)}:host(:not([disabled]):state(ig-invalid)) [part~=focused] [part~=control],:host(:not([disabled]):state(ig-invalid)) [part~=focused] [part=\"control checked\"],:host(:not(:disabled):state(ig-invalid)) [part~=focused] [part~=control],:host(:not(:disabled):state(ig-invalid)) [part~=focused] [part=\"control checked\"]{box-shadow:0 0 0 .1875rem var(--focus-outline-color-error)}:host(:not([disabled]):state(ig-invalid):hover) [part=\"control checked\"]::before,:host(:not(:disabled):state(ig-invalid):hover) [part=\"control checked\"]::before{background:var(--error-color-hover);border-color:var(--error-color-hover)}`;\n"]}
|