@aotearoan/neon 16.0.0 → 16.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/models/NeonDropdownPlacementObject.cjs.js +1 -1
- package/dist/common/models/NeonDropdownPlacementObject.cjs.js.map +1 -1
- package/dist/common/models/NeonDropdownPlacementObject.es.js +27 -27
- package/dist/common/models/NeonDropdownPlacementObject.es.js.map +1 -1
- package/dist/common/utils/NeonAlertService.cjs.js.map +1 -1
- package/dist/common/utils/NeonAlertService.es.js.map +1 -1
- package/dist/common/utils/NeonColorUtils.cjs.js +1 -1
- package/dist/common/utils/NeonColorUtils.cjs.js.map +1 -1
- package/dist/common/utils/NeonColorUtils.es.js +19 -19
- package/dist/common/utils/NeonColorUtils.es.js.map +1 -1
- package/dist/common/utils/NeonDateUtils.cjs.js.map +1 -1
- package/dist/common/utils/NeonDateUtils.es.js.map +1 -1
- package/dist/common/utils/NeonDebounceUtils.cjs.js +1 -1
- package/dist/common/utils/NeonDebounceUtils.cjs.js.map +1 -1
- package/dist/common/utils/NeonDebounceUtils.es.js +5 -5
- package/dist/common/utils/NeonDebounceUtils.es.js.map +1 -1
- package/dist/common/utils/NeonEventBus.cjs.js +1 -1
- package/dist/common/utils/NeonEventBus.cjs.js.map +1 -1
- package/dist/common/utils/NeonEventBus.es.js +6 -6
- package/dist/common/utils/NeonEventBus.es.js.map +1 -1
- package/dist/common/utils/NeonIconRegistry.cjs.js +1 -1
- package/dist/common/utils/NeonIconRegistry.cjs.js.map +1 -1
- package/dist/common/utils/NeonIconRegistry.es.js +5 -5
- package/dist/common/utils/NeonIconRegistry.es.js.map +1 -1
- package/dist/common/utils/NeonJazziconUtils.cjs.js +1 -1
- package/dist/common/utils/NeonJazziconUtils.cjs.js.map +1 -1
- package/dist/common/utils/NeonJazziconUtils.es.js +23 -23
- package/dist/common/utils/NeonJazziconUtils.es.js.map +1 -1
- package/dist/common/utils/NeonModeUtils.cjs.js +1 -1
- package/dist/common/utils/NeonModeUtils.cjs.js.map +1 -1
- package/dist/common/utils/NeonModeUtils.es.js +5 -5
- package/dist/common/utils/NeonModeUtils.es.js.map +1 -1
- package/dist/common/utils/NeonNumberUtils.cjs.js +1 -1
- package/dist/common/utils/NeonNumberUtils.cjs.js.map +1 -1
- package/dist/common/utils/NeonNumberUtils.es.js +19 -17
- package/dist/common/utils/NeonNumberUtils.es.js.map +1 -1
- package/dist/common/utils/NeonPlacementUtils.cjs.js.map +1 -1
- package/dist/common/utils/NeonPlacementUtils.es.js.map +1 -1
- package/dist/common/utils/NeonToastService.cjs.js.map +1 -1
- package/dist/common/utils/NeonToastService.es.js.map +1 -1
- package/dist/components/feedback/alert/NeonAlert.vue.cjs.js +1 -1
- package/dist/components/feedback/alert/NeonAlert.vue.es.js +18 -18
- package/dist/components/feedback/alert/container/NeonAlertContainer.vue.cjs.js +1 -1
- package/dist/components/feedback/alert/container/NeonAlertContainer.vue.cjs.js.map +1 -1
- package/dist/components/feedback/alert/container/NeonAlertContainer.vue.es.js +39 -39
- package/dist/components/feedback/alert/container/NeonAlertContainer.vue.es.js.map +1 -1
- package/dist/components/feedback/alert/container/NeonToastContainer.vue.cjs.js +1 -1
- package/dist/components/feedback/alert/container/NeonToastContainer.vue.cjs.js.map +1 -1
- package/dist/components/feedback/alert/container/NeonToastContainer.vue.es.js +9 -9
- package/dist/components/feedback/alert/container/NeonToastContainer.vue.es.js.map +1 -1
- package/dist/components/feedback/dialog/NeonDialog.cjs.js.map +1 -1
- package/dist/components/feedback/dialog/NeonDialog.es.js.map +1 -1
- package/dist/components/feedback/dialog/NeonDialog.vue.cjs.js +1 -1
- package/dist/components/feedback/dialog/NeonDialog.vue.es.js +21 -21
- package/dist/components/feedback/linear-progress/NeonLinearProgress.cjs.js.map +1 -1
- package/dist/components/feedback/linear-progress/NeonLinearProgress.es.js.map +1 -1
- package/dist/components/feedback/linear-progress/NeonLinearProgress.vue.cjs.js +1 -1
- package/dist/components/feedback/linear-progress/NeonLinearProgress.vue.cjs.js.map +1 -1
- package/dist/components/feedback/linear-progress/NeonLinearProgress.vue.es.js +10 -10
- package/dist/components/feedback/linear-progress/NeonLinearProgress.vue.es.js.map +1 -1
- package/dist/components/feedback/note/NeonNote.vue.cjs.js +1 -1
- package/dist/components/feedback/note/NeonNote.vue.es.js +17 -17
- package/dist/components/feedback/notification-counter/NeonNotificationCounter.vue.cjs.js +1 -1
- package/dist/components/feedback/notification-counter/NeonNotificationCounter.vue.cjs.js.map +1 -1
- package/dist/components/feedback/notification-counter/NeonNotificationCounter.vue.es.js +5 -5
- package/dist/components/feedback/notification-counter/NeonNotificationCounter.vue.es.js.map +1 -1
- package/dist/components/feedback/skeleton-loader/NeonSkeletonLoader.vue.cjs.js +1 -1
- package/dist/components/feedback/skeleton-loader/NeonSkeletonLoader.vue.es.js +6 -6
- package/dist/components/feedback/splash-loader/NeonSplashLoader.vue.cjs.js +1 -1
- package/dist/components/feedback/splash-loader/NeonSplashLoader.vue.es.js +7 -7
- package/dist/components/feedback/tooltip/NeonTooltip.vue.cjs.js +1 -1
- package/dist/components/feedback/tooltip/NeonTooltip.vue.cjs.js.map +1 -1
- package/dist/components/feedback/tooltip/NeonTooltip.vue.es.js +10 -10
- package/dist/components/feedback/tooltip/NeonTooltip.vue.es.js.map +1 -1
- package/dist/components/layout/card/NeonCard.vue.cjs.js +1 -1
- package/dist/components/layout/card/NeonCard.vue.cjs.js.map +1 -1
- package/dist/components/layout/card/NeonCard.vue.es.js +3 -3
- package/dist/components/layout/card/NeonCard.vue.es.js.map +1 -1
- package/dist/components/layout/card/body/NeonCardBody.vue.cjs.js +1 -1
- package/dist/components/layout/card/body/NeonCardBody.vue.es.js +8 -8
- package/dist/components/layout/card/footer/NeonCardFooter.vue.cjs.js +1 -1
- package/dist/components/layout/card/footer/NeonCardFooter.vue.es.js +2 -2
- package/dist/components/layout/card/header/NeonCardHeader.vue.cjs.js +1 -1
- package/dist/components/layout/card/header/NeonCardHeader.vue.es.js +7 -7
- package/dist/components/layout/card-list/NeonCardList.vue.cjs.js +1 -1
- package/dist/components/layout/card-list/NeonCardList.vue.cjs.js.map +1 -1
- package/dist/components/layout/card-list/NeonCardList.vue.es.js +27 -27
- package/dist/components/layout/card-list/NeonCardList.vue.es.js.map +1 -1
- package/dist/components/layout/card-list/card/NeonCardListCard.vue.cjs.js +1 -1
- package/dist/components/layout/card-list/card/NeonCardListCard.vue.cjs.js.map +1 -1
- package/dist/components/layout/card-list/card/NeonCardListCard.vue.es.js +12 -12
- package/dist/components/layout/card-list/card/NeonCardListCard.vue.es.js.map +1 -1
- package/dist/components/layout/drawer/NeonDrawer.vue.cjs.js +1 -1
- package/dist/components/layout/drawer/NeonDrawer.vue.cjs.js.map +1 -1
- package/dist/components/layout/drawer/NeonDrawer.vue.es.js +7 -7
- package/dist/components/layout/drawer/NeonDrawer.vue.es.js.map +1 -1
- package/dist/components/layout/footer/NeonFooter.vue.cjs.js +1 -1
- package/dist/components/layout/footer/NeonFooter.vue.es.js +3 -3
- package/dist/components/layout/grid/NeonGrid.cjs.js.map +1 -1
- package/dist/components/layout/grid/NeonGrid.es.js.map +1 -1
- package/dist/components/layout/grid/NeonGrid.vue.cjs.js +1 -1
- package/dist/components/layout/grid/NeonGrid.vue.es.js +4 -4
- package/dist/components/layout/grid/grid-area/NeonGridArea.vue.cjs.js +1 -1
- package/dist/components/layout/grid/grid-area/NeonGridArea.vue.es.js +7 -7
- package/dist/components/layout/inline/NeonInline.vue.cjs.js +1 -1
- package/dist/components/layout/inline/NeonInline.vue.cjs.js.map +1 -1
- package/dist/components/layout/inline/NeonInline.vue.es.js +4 -4
- package/dist/components/layout/inline/NeonInline.vue.es.js.map +1 -1
- package/dist/components/layout/modal/NeonModal.vue.cjs.js +1 -1
- package/dist/components/layout/modal/NeonModal.vue.es.js +6 -6
- package/dist/components/layout/page/NeonPage.cjs.js.map +1 -1
- package/dist/components/layout/page/NeonPage.es.js.map +1 -1
- package/dist/components/layout/page/NeonPage.vue.cjs.js +1 -1
- package/dist/components/layout/page/NeonPage.vue.es.js +3 -3
- package/dist/components/layout/side-nav/NeonSideNav.vue.cjs.js +1 -1
- package/dist/components/layout/side-nav/NeonSideNav.vue.es.js +13 -13
- package/dist/components/layout/stack/NeonStack.vue.cjs.js +1 -1
- package/dist/components/layout/stack/NeonStack.vue.cjs.js.map +1 -1
- package/dist/components/layout/stack/NeonStack.vue.es.js +8 -8
- package/dist/components/layout/stack/NeonStack.vue.es.js.map +1 -1
- package/dist/components/layout/top-nav/NeonTopNav.vue.cjs.js +1 -1
- package/dist/components/layout/top-nav/NeonTopNav.vue.es.js +5 -5
- package/dist/components/navigation/action-menu/NeonActionMenu.vue.cjs.js +1 -1
- package/dist/components/navigation/action-menu/NeonActionMenu.vue.cjs.js.map +1 -1
- package/dist/components/navigation/action-menu/NeonActionMenu.vue.es.js +11 -11
- package/dist/components/navigation/action-menu/NeonActionMenu.vue.es.js.map +1 -1
- package/dist/components/navigation/anchor/NeonAnchor.vue.cjs.js +1 -1
- package/dist/components/navigation/anchor/NeonAnchor.vue.es.js +7 -7
- package/dist/components/navigation/dropdown-menu/NeonDropdownMenu.cjs.js.map +1 -1
- package/dist/components/navigation/dropdown-menu/NeonDropdownMenu.es.js.map +1 -1
- package/dist/components/navigation/dropdown-menu/NeonDropdownMenu.vue.cjs.js +1 -1
- package/dist/components/navigation/dropdown-menu/NeonDropdownMenu.vue.cjs.js.map +1 -1
- package/dist/components/navigation/dropdown-menu/NeonDropdownMenu.vue.es.js +10 -10
- package/dist/components/navigation/dropdown-menu/NeonDropdownMenu.vue.es.js.map +1 -1
- package/dist/components/navigation/link/NeonLink.vue.cjs.js +1 -1
- package/dist/components/navigation/link/NeonLink.vue.cjs.js.map +1 -1
- package/dist/components/navigation/link/NeonLink.vue.es.js +15 -15
- package/dist/components/navigation/link/NeonLink.vue.es.js.map +1 -1
- package/dist/components/navigation/menu/NeonMenu.cjs.js.map +1 -1
- package/dist/components/navigation/menu/NeonMenu.es.js.map +1 -1
- package/dist/components/navigation/menu/NeonMenu.vue.cjs.js +1 -1
- package/dist/components/navigation/menu/NeonMenu.vue.cjs.js.map +1 -1
- package/dist/components/navigation/menu/NeonMenu.vue.es.js +13 -13
- package/dist/components/navigation/menu/NeonMenu.vue.es.js.map +1 -1
- package/dist/components/navigation/stepper/NeonStepper.vue.cjs.js +1 -1
- package/dist/components/navigation/stepper/NeonStepper.vue.cjs.js.map +1 -1
- package/dist/components/navigation/stepper/NeonStepper.vue.es.js +10 -10
- package/dist/components/navigation/stepper/NeonStepper.vue.es.js.map +1 -1
- package/dist/components/navigation/tree-menu/NeonTreeMenu.vue.cjs.js +1 -1
- package/dist/components/navigation/tree-menu/NeonTreeMenu.vue.cjs.js.map +1 -1
- package/dist/components/navigation/tree-menu/NeonTreeMenu.vue.es.js +23 -23
- package/dist/components/navigation/tree-menu/NeonTreeMenu.vue.es.js.map +1 -1
- package/dist/components/presentation/badge/NeonBadge.cjs.js.map +1 -1
- package/dist/components/presentation/badge/NeonBadge.es.js.map +1 -1
- package/dist/components/presentation/badge/NeonBadge.vue.cjs.js +1 -1
- package/dist/components/presentation/badge/NeonBadge.vue.cjs.js.map +1 -1
- package/dist/components/presentation/badge/NeonBadge.vue.es.js +11 -11
- package/dist/components/presentation/badge/NeonBadge.vue.es.js.map +1 -1
- package/dist/components/presentation/dropdown/NeonDropdown.cjs.js.map +1 -1
- package/dist/components/presentation/dropdown/NeonDropdown.es.js.map +1 -1
- package/dist/components/presentation/dropdown/NeonDropdown.vue.cjs.js +1 -1
- package/dist/components/presentation/dropdown/NeonDropdown.vue.cjs.js.map +1 -1
- package/dist/components/presentation/dropdown/NeonDropdown.vue.es.js +5 -5
- package/dist/components/presentation/dropdown/NeonDropdown.vue.es.js.map +1 -1
- package/dist/components/presentation/expansion-indicator/NeonExpansionIndicator.vue.cjs.js +1 -1
- package/dist/components/presentation/expansion-indicator/NeonExpansionIndicator.vue.cjs.js.map +1 -1
- package/dist/components/presentation/expansion-indicator/NeonExpansionIndicator.vue.es.js +1 -1
- package/dist/components/presentation/expansion-indicator/NeonExpansionIndicator.vue.es.js.map +1 -1
- package/dist/components/presentation/expansion-panel/NeonExpansionPanel.vue.cjs.js +1 -1
- package/dist/components/presentation/expansion-panel/NeonExpansionPanel.vue.cjs.js.map +1 -1
- package/dist/components/presentation/expansion-panel/NeonExpansionPanel.vue.es.js +12 -12
- package/dist/components/presentation/expansion-panel/NeonExpansionPanel.vue.es.js.map +1 -1
- package/dist/components/presentation/icon/NeonIcon.cjs.js.map +1 -1
- package/dist/components/presentation/icon/NeonIcon.es.js.map +1 -1
- package/dist/components/presentation/icon/NeonIcon.vue.cjs.js +1 -1
- package/dist/components/presentation/icon/NeonIcon.vue.cjs.js.map +1 -1
- package/dist/components/presentation/icon/NeonIcon.vue.es.js +5 -5
- package/dist/components/presentation/icon/NeonIcon.vue.es.js.map +1 -1
- package/dist/components/presentation/label/NeonLabel.vue.cjs.js +1 -1
- package/dist/components/presentation/label/NeonLabel.vue.cjs.js.map +1 -1
- package/dist/components/presentation/label/NeonLabel.vue.es.js +8 -8
- package/dist/components/presentation/label/NeonLabel.vue.es.js.map +1 -1
- package/dist/components/presentation/tabs/NeonTabs.cjs.js.map +1 -1
- package/dist/components/presentation/tabs/NeonTabs.es.js.map +1 -1
- package/dist/components/presentation/tabs/NeonTabs.vue.cjs.js +1 -1
- package/dist/components/presentation/tabs/NeonTabs.vue.cjs.js.map +1 -1
- package/dist/components/presentation/tabs/NeonTabs.vue.es.js +15 -15
- package/dist/components/presentation/tabs/NeonTabs.vue.es.js.map +1 -1
- package/dist/components/presentation/tabs/tab/NeonTab.vue.cjs.js +1 -1
- package/dist/components/presentation/tabs/tab/NeonTab.vue.es.js +8 -8
- package/dist/components/user-input/button/NeonButton.cjs.js.map +1 -1
- package/dist/components/user-input/button/NeonButton.es.js.map +1 -1
- package/dist/components/user-input/button/NeonButton.vue.cjs.js +1 -1
- package/dist/components/user-input/button/NeonButton.vue.es.js +6 -6
- package/dist/components/user-input/chip/NeonChip.vue.cjs.js +1 -1
- package/dist/components/user-input/chip/NeonChip.vue.cjs.js.map +1 -1
- package/dist/components/user-input/chip/NeonChip.vue.es.js +14 -14
- package/dist/components/user-input/chip/NeonChip.vue.es.js.map +1 -1
- package/dist/components/user-input/color/NeonColor.vue.cjs.js +1 -1
- package/dist/components/user-input/color/NeonColor.vue.cjs.js.map +1 -1
- package/dist/components/user-input/color/NeonColor.vue.es.js +7 -7
- package/dist/components/user-input/color/NeonColor.vue.es.js.map +1 -1
- package/dist/components/user-input/date-picker/NeonDatePicker.cjs.js +1 -1
- package/dist/components/user-input/date-picker/NeonDatePicker.cjs.js.map +1 -1
- package/dist/components/user-input/date-picker/NeonDatePicker.es.js +79 -79
- package/dist/components/user-input/date-picker/NeonDatePicker.es.js.map +1 -1
- package/dist/components/user-input/date-picker/NeonDatePicker.vue.cjs.js +1 -1
- package/dist/components/user-input/date-picker/NeonDatePicker.vue.cjs.js.map +1 -1
- package/dist/components/user-input/date-picker/NeonDatePicker.vue.es.js +18 -18
- package/dist/components/user-input/date-picker/NeonDatePicker.vue.es.js.map +1 -1
- package/dist/components/user-input/drop-zone/NeonDropZone.vue.cjs.js +1 -1
- package/dist/components/user-input/drop-zone/NeonDropZone.vue.es.js +6 -6
- package/dist/components/user-input/field/NeonField.vue.cjs.js +1 -1
- package/dist/components/user-input/field/NeonField.vue.cjs.js.map +1 -1
- package/dist/components/user-input/field/NeonField.vue.es.js +10 -10
- package/dist/components/user-input/field/NeonField.vue.es.js.map +1 -1
- package/dist/components/user-input/field-group/NeonFieldGroup.vue.cjs.js +1 -1
- package/dist/components/user-input/field-group/NeonFieldGroup.vue.es.js +7 -7
- package/dist/components/user-input/file/NeonFile.cjs.js.map +1 -1
- package/dist/components/user-input/file/NeonFile.es.js.map +1 -1
- package/dist/components/user-input/file/NeonFile.vue.cjs.js +1 -1
- package/dist/components/user-input/file/NeonFile.vue.cjs.js.map +1 -1
- package/dist/components/user-input/file/NeonFile.vue.es.js +3 -3
- package/dist/components/user-input/file/NeonFile.vue.es.js.map +1 -1
- package/dist/components/user-input/filter-list/NeonFilterList.cjs.js.map +1 -1
- package/dist/components/user-input/filter-list/NeonFilterList.es.js.map +1 -1
- package/dist/components/user-input/filter-list/NeonFilterList.vue.cjs.js +1 -1
- package/dist/components/user-input/filter-list/NeonFilterList.vue.cjs.js.map +1 -1
- package/dist/components/user-input/filter-list/NeonFilterList.vue.es.js +9 -9
- package/dist/components/user-input/filter-list/NeonFilterList.vue.es.js.map +1 -1
- package/dist/components/user-input/input/NeonInput.vue.cjs.js +1 -1
- package/dist/components/user-input/input/NeonInput.vue.cjs.js.map +1 -1
- package/dist/components/user-input/input/NeonInput.vue.es.js +2 -2
- package/dist/components/user-input/input/NeonInput.vue.es.js.map +1 -1
- package/dist/components/user-input/input-indicator/NeonInputIndicator.vue.cjs.js +1 -1
- package/dist/components/user-input/input-indicator/NeonInputIndicator.vue.es.js +8 -8
- package/dist/components/user-input/list/NeonList.vue.cjs.js +1 -1
- package/dist/components/user-input/list/NeonList.vue.cjs.js.map +1 -1
- package/dist/components/user-input/list/NeonList.vue.es.js +16 -16
- package/dist/components/user-input/list/NeonList.vue.es.js.map +1 -1
- package/dist/components/user-input/number/NeonNumber.cjs.js.map +1 -1
- package/dist/components/user-input/number/NeonNumber.es.js.map +1 -1
- package/dist/components/user-input/number/NeonNumber.vue.cjs.js +1 -1
- package/dist/components/user-input/number/NeonNumber.vue.es.js +7 -7
- package/dist/components/user-input/password/NeonPassword.vue.cjs.js +1 -1
- package/dist/components/user-input/password/NeonPassword.vue.es.js +6 -6
- package/dist/components/user-input/range-slider/NeonRangeSlider.cjs.js.map +1 -1
- package/dist/components/user-input/range-slider/NeonRangeSlider.es.js.map +1 -1
- package/dist/components/user-input/range-slider/NeonRangeSlider.vue.cjs.js +1 -1
- package/dist/components/user-input/range-slider/NeonRangeSlider.vue.es.js +6 -6
- package/dist/components/user-input/search/NeonSearch.cjs.js.map +1 -1
- package/dist/components/user-input/search/NeonSearch.es.js.map +1 -1
- package/dist/components/user-input/search/NeonSearch.vue.cjs.js +1 -1
- package/dist/components/user-input/search/NeonSearch.vue.cjs.js.map +1 -1
- package/dist/components/user-input/search/NeonSearch.vue.es.js +13 -13
- package/dist/components/user-input/search/NeonSearch.vue.es.js.map +1 -1
- package/dist/components/user-input/select/NeonSelect.cjs.js.map +1 -1
- package/dist/components/user-input/select/NeonSelect.es.js.map +1 -1
- package/dist/components/user-input/select/NeonSelect.vue.cjs.js +1 -1
- package/dist/components/user-input/select/NeonSelect.vue.cjs.js.map +1 -1
- package/dist/components/user-input/select/NeonSelect.vue.es.js +12 -12
- package/dist/components/user-input/select/NeonSelect.vue.es.js.map +1 -1
- package/dist/components/user-input/selectable-card/NeonSelectableCard.vue.cjs.js +1 -1
- package/dist/components/user-input/selectable-card/NeonSelectableCard.vue.es.js +6 -6
- package/dist/components/user-input/slider/NeonSlider.vue.cjs.js +1 -1
- package/dist/components/user-input/slider/NeonSlider.vue.cjs.js.map +1 -1
- package/dist/components/user-input/slider/NeonSlider.vue.es.js +21 -21
- package/dist/components/user-input/slider/NeonSlider.vue.es.js.map +1 -1
- package/dist/components/user-input/switch/NeonSwitch.vue.cjs.js +1 -1
- package/dist/components/user-input/switch/NeonSwitch.vue.cjs.js.map +1 -1
- package/dist/components/user-input/switch/NeonSwitch.vue.es.js +15 -15
- package/dist/components/user-input/switch/NeonSwitch.vue.es.js.map +1 -1
- package/dist/components/user-input/toggle/NeonToggle.vue.cjs.js +1 -1
- package/dist/components/user-input/toggle/NeonToggle.vue.cjs.js.map +1 -1
- package/dist/components/user-input/toggle/NeonToggle.vue.es.js +19 -19
- package/dist/components/user-input/toggle/NeonToggle.vue.es.js.map +1 -1
- package/dist/components/user-input/toggle-chip/NeonToggleChip.vue.cjs.js +1 -1
- package/dist/components/user-input/toggle-chip/NeonToggleChip.vue.es.js +13 -13
- package/dist/src/common/models/NeonNumberFormatOptions.d.ts +2 -0
- package/dist/src/common/models/NeonTreeMenuSectionModel.d.ts +1 -0
- package/dist/src/components/feedback/tooltip/NeonTooltip.d.ts +1 -1
- package/dist/src/components/user-input/date-picker/NeonDatePicker.d.ts +2 -2
- package/dist/src/components/user-input/file/NeonFile.d.ts +2 -2
- package/dist/src/components/user-input/input/NeonInput.d.ts +2 -2
- package/dist/src/components/user-input/number/NeonNumber.d.ts +2 -2
- package/dist/src/components/user-input/range-slider/NeonRangeSlider.d.ts +1 -1
- package/dist/src/components/user-input/slider/NeonSlider.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var f=Object.defineProperty;var h=(
|
|
1
|
+
"use strict";var f=Object.defineProperty;var h=(a,o,n)=>o in a?f(a,o,{enumerable:!0,configurable:!0,writable:!0,value:n}):a[o]=n;var i=(a,o,n)=>(h(a,typeof o!="symbol"?o+"":o,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../enums/NeonPlacement.cjs.js"),m=require("../enums/NeonDropdownPlacement.cjs.js"),t=class t{constructor(o,n,p){i(this,"placement");i(this,"majorPlacement");i(this,"minorPlacement");this.placement=o,this.majorPlacement=n,this.minorPlacement=p}static toNeonDropdownPlacementObject(o){return t.PLACEMENTS[o]}static flipMajor(o){return t.FLIP_MAJOR[o.placement]}static flipMinor(o){return t.FLIP_MINOR[o.placement]}static flip(o){return t.flipMinor(t.flipMajor(o))}};i(t,"TopLeft",new t(m.NeonDropdownPlacement.TopLeft,e.NeonPlacement.Top,e.NeonPlacement.Left)),i(t,"TopRight",new t(m.NeonDropdownPlacement.TopRight,e.NeonPlacement.Top,e.NeonPlacement.Right)),i(t,"BottomLeft",new t(m.NeonDropdownPlacement.BottomLeft,e.NeonPlacement.Bottom,e.NeonPlacement.Left)),i(t,"BottomRight",new t(m.NeonDropdownPlacement.BottomRight,e.NeonPlacement.Bottom,e.NeonPlacement.Right)),i(t,"LeftTop",new t(m.NeonDropdownPlacement.LeftTop,e.NeonPlacement.Left,e.NeonPlacement.Top)),i(t,"LeftBottom",new t(m.NeonDropdownPlacement.LeftBottom,e.NeonPlacement.Left,e.NeonPlacement.Bottom)),i(t,"RightTop",new t(m.NeonDropdownPlacement.RightTop,e.NeonPlacement.Right,e.NeonPlacement.Top)),i(t,"RightBottom",new t(m.NeonDropdownPlacement.RightBottom,e.NeonPlacement.Right,e.NeonPlacement.Bottom)),i(t,"PLACEMENTS",{"top-left":t.TopLeft,"top-right":t.TopRight,"bottom-left":t.BottomLeft,"bottom-right":t.BottomRight,"left-top":t.LeftTop,"left-bottom":t.LeftBottom,"right-top":t.RightTop,"right-bottom":t.RightBottom}),i(t,"FLIP_MAJOR",{"top-left":t.BottomLeft,"top-right":t.BottomRight,"bottom-left":t.TopLeft,"bottom-right":t.TopRight,"left-top":t.RightTop,"left-bottom":t.RightBottom,"right-top":t.LeftTop,"right-bottom":t.LeftBottom}),i(t,"FLIP_MINOR",{"top-left":t.TopRight,"top-right":t.TopLeft,"bottom-left":t.BottomRight,"bottom-right":t.BottomLeft,"left-top":t.LeftBottom,"left-bottom":t.LeftTop,"right-top":t.RightBottom,"right-bottom":t.RightTop});let l=t;exports.NeonDropdownPlacementObject=l;
|
|
2
2
|
//# sourceMappingURL=NeonDropdownPlacementObject.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeonDropdownPlacementObject.cjs.js","sources":["../../../src/common/models/NeonDropdownPlacementObject.ts"],"sourcesContent":["import { NeonPlacement } from '../enums/NeonPlacement';\nimport { NeonDropdownPlacement } from '../enums/NeonDropdownPlacement';\n\nexport class NeonDropdownPlacementObject {\n public static TopLeft = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.TopLeft,\n NeonPlacement.Top,\n NeonPlacement.Left,\n );\n\n public static TopRight = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.TopRight,\n NeonPlacement.Top,\n NeonPlacement.Right,\n );\n\n public static BottomLeft = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.BottomLeft,\n NeonPlacement.Bottom,\n NeonPlacement.Left,\n );\n\n public static BottomRight = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.BottomRight,\n NeonPlacement.Bottom,\n NeonPlacement.Right,\n );\n\n public static LeftTop = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.LeftTop,\n NeonPlacement.Left,\n NeonPlacement.Top,\n );\n\n public static LeftBottom = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.LeftBottom,\n NeonPlacement.Left,\n NeonPlacement.Bottom,\n );\n\n public static RightTop = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.RightTop,\n NeonPlacement.Right,\n NeonPlacement.Top,\n );\n\n public static RightBottom = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.RightBottom,\n NeonPlacement.Right,\n NeonPlacement.Bottom,\n );\n\n private static PLACEMENTS = {\n 'top-left': NeonDropdownPlacementObject.TopLeft,\n 'top-right': NeonDropdownPlacementObject.TopRight,\n 'bottom-left': NeonDropdownPlacementObject.BottomLeft,\n 'bottom-right': NeonDropdownPlacementObject.BottomRight,\n 'left-top': NeonDropdownPlacementObject.LeftTop,\n 'left-bottom': NeonDropdownPlacementObject.LeftBottom,\n 'right-top': NeonDropdownPlacementObject.RightTop,\n 'right-bottom': NeonDropdownPlacementObject.RightBottom,\n };\n\n private static FLIP_MAJOR = {\n 'top-left': NeonDropdownPlacementObject.BottomLeft,\n 'top-right': NeonDropdownPlacementObject.BottomRight,\n 'bottom-left': NeonDropdownPlacementObject.TopLeft,\n 'bottom-right': NeonDropdownPlacementObject.TopRight,\n 'left-top': NeonDropdownPlacementObject.RightTop,\n 'left-bottom': NeonDropdownPlacementObject.RightBottom,\n 'right-top': NeonDropdownPlacementObject.LeftTop,\n 'right-bottom': NeonDropdownPlacementObject.LeftBottom,\n };\n\n private static FLIP_MINOR = {\n 'top-left': NeonDropdownPlacementObject.TopRight,\n 'top-right': NeonDropdownPlacementObject.TopLeft,\n 'bottom-left': NeonDropdownPlacementObject.BottomRight,\n 'bottom-right': NeonDropdownPlacementObject.BottomLeft,\n 'left-top': NeonDropdownPlacementObject.LeftBottom,\n 'left-bottom': NeonDropdownPlacementObject.LeftTop,\n 'right-top': NeonDropdownPlacementObject.RightBottom,\n 'right-bottom': NeonDropdownPlacementObject.RightTop,\n };\n\n public placement: NeonDropdownPlacement;\n public majorPlacement: NeonPlacement;\n public minorPlacement?: NeonPlacement;\n\n private constructor(placement: NeonDropdownPlacement, majorPlacement: NeonPlacement, minorPlacement?: NeonPlacement) {\n this.placement = placement;\n this.majorPlacement = majorPlacement;\n this.minorPlacement = minorPlacement;\n }\n\n public static toNeonDropdownPlacementObject(placement: NeonDropdownPlacement): NeonDropdownPlacementObject {\n return NeonDropdownPlacementObject.PLACEMENTS[placement];\n }\n\n public static flipMajor(placement: NeonDropdownPlacementObject) {\n return NeonDropdownPlacementObject.FLIP_MAJOR[placement.placement];\n }\n\n public static flipMinor(placement: NeonDropdownPlacementObject) {\n return NeonDropdownPlacementObject.FLIP_MINOR[placement.placement];\n }\n\n public static flip(placement: NeonDropdownPlacementObject) {\n return NeonDropdownPlacementObject.flipMinor(NeonDropdownPlacementObject.flipMajor(placement));\n }\n}\n"],"names":["_NeonDropdownPlacementObject","placement","majorPlacement","minorPlacement","__publicField","
|
|
1
|
+
{"version":3,"file":"NeonDropdownPlacementObject.cjs.js","sources":["../../../src/common/models/NeonDropdownPlacementObject.ts"],"sourcesContent":["import { NeonPlacement } from '../enums/NeonPlacement';\nimport { NeonDropdownPlacement } from '../enums/NeonDropdownPlacement';\n\nexport class NeonDropdownPlacementObject {\n public static TopLeft = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.TopLeft,\n NeonPlacement.Top,\n NeonPlacement.Left,\n );\n\n public static TopRight = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.TopRight,\n NeonPlacement.Top,\n NeonPlacement.Right,\n );\n\n public static BottomLeft = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.BottomLeft,\n NeonPlacement.Bottom,\n NeonPlacement.Left,\n );\n\n public static BottomRight = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.BottomRight,\n NeonPlacement.Bottom,\n NeonPlacement.Right,\n );\n\n public static LeftTop = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.LeftTop,\n NeonPlacement.Left,\n NeonPlacement.Top,\n );\n\n public static LeftBottom = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.LeftBottom,\n NeonPlacement.Left,\n NeonPlacement.Bottom,\n );\n\n public static RightTop = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.RightTop,\n NeonPlacement.Right,\n NeonPlacement.Top,\n );\n\n public static RightBottom = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.RightBottom,\n NeonPlacement.Right,\n NeonPlacement.Bottom,\n );\n\n private static PLACEMENTS = {\n 'top-left': NeonDropdownPlacementObject.TopLeft,\n 'top-right': NeonDropdownPlacementObject.TopRight,\n 'bottom-left': NeonDropdownPlacementObject.BottomLeft,\n 'bottom-right': NeonDropdownPlacementObject.BottomRight,\n 'left-top': NeonDropdownPlacementObject.LeftTop,\n 'left-bottom': NeonDropdownPlacementObject.LeftBottom,\n 'right-top': NeonDropdownPlacementObject.RightTop,\n 'right-bottom': NeonDropdownPlacementObject.RightBottom,\n };\n\n private static FLIP_MAJOR = {\n 'top-left': NeonDropdownPlacementObject.BottomLeft,\n 'top-right': NeonDropdownPlacementObject.BottomRight,\n 'bottom-left': NeonDropdownPlacementObject.TopLeft,\n 'bottom-right': NeonDropdownPlacementObject.TopRight,\n 'left-top': NeonDropdownPlacementObject.RightTop,\n 'left-bottom': NeonDropdownPlacementObject.RightBottom,\n 'right-top': NeonDropdownPlacementObject.LeftTop,\n 'right-bottom': NeonDropdownPlacementObject.LeftBottom,\n };\n\n private static FLIP_MINOR = {\n 'top-left': NeonDropdownPlacementObject.TopRight,\n 'top-right': NeonDropdownPlacementObject.TopLeft,\n 'bottom-left': NeonDropdownPlacementObject.BottomRight,\n 'bottom-right': NeonDropdownPlacementObject.BottomLeft,\n 'left-top': NeonDropdownPlacementObject.LeftBottom,\n 'left-bottom': NeonDropdownPlacementObject.LeftTop,\n 'right-top': NeonDropdownPlacementObject.RightBottom,\n 'right-bottom': NeonDropdownPlacementObject.RightTop,\n };\n\n public placement: NeonDropdownPlacement;\n public majorPlacement: NeonPlacement;\n public minorPlacement?: NeonPlacement;\n\n private constructor(placement: NeonDropdownPlacement, majorPlacement: NeonPlacement, minorPlacement?: NeonPlacement) {\n this.placement = placement;\n this.majorPlacement = majorPlacement;\n this.minorPlacement = minorPlacement;\n }\n\n public static toNeonDropdownPlacementObject(placement: NeonDropdownPlacement): NeonDropdownPlacementObject {\n return NeonDropdownPlacementObject.PLACEMENTS[placement];\n }\n\n public static flipMajor(placement: NeonDropdownPlacementObject) {\n return NeonDropdownPlacementObject.FLIP_MAJOR[placement.placement];\n }\n\n public static flipMinor(placement: NeonDropdownPlacementObject) {\n return NeonDropdownPlacementObject.FLIP_MINOR[placement.placement];\n }\n\n public static flip(placement: NeonDropdownPlacementObject) {\n return NeonDropdownPlacementObject.flipMinor(NeonDropdownPlacementObject.flipMajor(placement));\n }\n}\n"],"names":["_NeonDropdownPlacementObject","placement","majorPlacement","minorPlacement","__publicField","NeonDropdownPlacement","NeonPlacement","NeonDropdownPlacementObject"],"mappings":"4VAGaA,EAAN,MAAMA,CAA4B,CAsF/B,YAAYC,EAAkCC,EAA+BC,EAAgC,CAJ9GC,EAAA,kBACAA,EAAA,uBACAA,EAAA,uBAGL,KAAK,UAAYH,EACjB,KAAK,eAAiBC,EACtB,KAAK,eAAiBC,CACxB,CAEA,OAAc,8BAA8BF,EAA+D,CAClG,OAAAD,EAA4B,WAAWC,CAAS,CACzD,CAEA,OAAc,UAAUA,EAAwC,CACvD,OAAAD,EAA4B,WAAWC,EAAU,SAAS,CACnE,CAEA,OAAc,UAAUA,EAAwC,CACvD,OAAAD,EAA4B,WAAWC,EAAU,SAAS,CACnE,CAEA,OAAc,KAAKA,EAAwC,CACzD,OAAOD,EAA4B,UAAUA,EAA4B,UAAUC,CAAS,CAAC,CAC/F,CACF,EA1GEG,EADWJ,EACG,UAAU,IAAIA,EAC1BK,EAAAA,sBAAsB,QACtBC,EAAAA,cAAc,IACdA,EAAAA,cAAc,IAAA,GAGhBF,EAPWJ,EAOG,WAAW,IAAIA,EAC3BK,EAAAA,sBAAsB,SACtBC,EAAAA,cAAc,IACdA,EAAAA,cAAc,KAAA,GAGhBF,EAbWJ,EAaG,aAAa,IAAIA,EAC7BK,EAAAA,sBAAsB,WACtBC,EAAAA,cAAc,OACdA,EAAAA,cAAc,IAAA,GAGhBF,EAnBWJ,EAmBG,cAAc,IAAIA,EAC9BK,EAAAA,sBAAsB,YACtBC,EAAAA,cAAc,OACdA,EAAAA,cAAc,KAAA,GAGhBF,EAzBWJ,EAyBG,UAAU,IAAIA,EAC1BK,EAAAA,sBAAsB,QACtBC,EAAAA,cAAc,KACdA,EAAAA,cAAc,GAAA,GAGhBF,EA/BWJ,EA+BG,aAAa,IAAIA,EAC7BK,EAAAA,sBAAsB,WACtBC,EAAAA,cAAc,KACdA,EAAAA,cAAc,MAAA,GAGhBF,EArCWJ,EAqCG,WAAW,IAAIA,EAC3BK,EAAAA,sBAAsB,SACtBC,EAAAA,cAAc,MACdA,EAAAA,cAAc,GAAA,GAGhBF,EA3CWJ,EA2CG,cAAc,IAAIA,EAC9BK,EAAAA,sBAAsB,YACtBC,EAAAA,cAAc,MACdA,EAAAA,cAAc,MAAA,GAGhBF,EAjDWJ,EAiDI,aAAa,CAC1B,WAAYA,EAA4B,QACxC,YAAaA,EAA4B,SACzC,cAAeA,EAA4B,WAC3C,eAAgBA,EAA4B,YAC5C,WAAYA,EAA4B,QACxC,cAAeA,EAA4B,WAC3C,YAAaA,EAA4B,SACzC,eAAgBA,EAA4B,WAAA,GAG9CI,EA5DWJ,EA4DI,aAAa,CAC1B,WAAYA,EAA4B,WACxC,YAAaA,EAA4B,YACzC,cAAeA,EAA4B,QAC3C,eAAgBA,EAA4B,SAC5C,WAAYA,EAA4B,SACxC,cAAeA,EAA4B,YAC3C,YAAaA,EAA4B,QACzC,eAAgBA,EAA4B,UAAA,GAG9CI,EAvEWJ,EAuEI,aAAa,CAC1B,WAAYA,EAA4B,SACxC,YAAaA,EAA4B,QACzC,cAAeA,EAA4B,YAC3C,eAAgBA,EAA4B,WAC5C,WAAYA,EAA4B,WACxC,cAAeA,EAA4B,QAC3C,YAAaA,EAA4B,YACzC,eAAgBA,EAA4B,QAAA,GA/EzC,IAAMO,EAANP"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
var R = Object.defineProperty;
|
|
2
|
-
var e = (
|
|
3
|
-
var f = (
|
|
2
|
+
var e = (p, o, h) => o in p ? R(p, o, { enumerable: !0, configurable: !0, writable: !0, value: h }) : p[o] = h;
|
|
3
|
+
var f = (p, o, h) => (e(p, typeof o != "symbol" ? o + "" : o, h), h);
|
|
4
4
|
import { NeonPlacement as i } from "../enums/NeonPlacement.es.js";
|
|
5
|
-
import { NeonDropdownPlacement as
|
|
6
|
-
const t = class {
|
|
7
|
-
constructor(o,
|
|
5
|
+
import { NeonDropdownPlacement as m } from "../enums/NeonDropdownPlacement.es.js";
|
|
6
|
+
const t = class t {
|
|
7
|
+
constructor(o, h, L) {
|
|
8
8
|
f(this, "placement");
|
|
9
9
|
f(this, "majorPlacement");
|
|
10
10
|
f(this, "minorPlacement");
|
|
11
|
-
this.placement = o, this.majorPlacement =
|
|
11
|
+
this.placement = o, this.majorPlacement = h, this.minorPlacement = L;
|
|
12
12
|
}
|
|
13
13
|
static toNeonDropdownPlacementObject(o) {
|
|
14
14
|
return t.PLACEMENTS[o];
|
|
@@ -23,40 +23,39 @@ const t = class {
|
|
|
23
23
|
return t.flipMinor(t.flipMajor(o));
|
|
24
24
|
}
|
|
25
25
|
};
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
h.TopLeft,
|
|
26
|
+
f(t, "TopLeft", new t(
|
|
27
|
+
m.TopLeft,
|
|
29
28
|
i.Top,
|
|
30
29
|
i.Left
|
|
31
|
-
)), f(
|
|
32
|
-
|
|
30
|
+
)), f(t, "TopRight", new t(
|
|
31
|
+
m.TopRight,
|
|
33
32
|
i.Top,
|
|
34
33
|
i.Right
|
|
35
|
-
)), f(
|
|
36
|
-
|
|
34
|
+
)), f(t, "BottomLeft", new t(
|
|
35
|
+
m.BottomLeft,
|
|
37
36
|
i.Bottom,
|
|
38
37
|
i.Left
|
|
39
|
-
)), f(
|
|
40
|
-
|
|
38
|
+
)), f(t, "BottomRight", new t(
|
|
39
|
+
m.BottomRight,
|
|
41
40
|
i.Bottom,
|
|
42
41
|
i.Right
|
|
43
|
-
)), f(
|
|
44
|
-
|
|
42
|
+
)), f(t, "LeftTop", new t(
|
|
43
|
+
m.LeftTop,
|
|
45
44
|
i.Left,
|
|
46
45
|
i.Top
|
|
47
|
-
)), f(
|
|
48
|
-
|
|
46
|
+
)), f(t, "LeftBottom", new t(
|
|
47
|
+
m.LeftBottom,
|
|
49
48
|
i.Left,
|
|
50
49
|
i.Bottom
|
|
51
|
-
)), f(
|
|
52
|
-
|
|
50
|
+
)), f(t, "RightTop", new t(
|
|
51
|
+
m.RightTop,
|
|
53
52
|
i.Right,
|
|
54
53
|
i.Top
|
|
55
|
-
)), f(
|
|
56
|
-
|
|
54
|
+
)), f(t, "RightBottom", new t(
|
|
55
|
+
m.RightBottom,
|
|
57
56
|
i.Right,
|
|
58
57
|
i.Bottom
|
|
59
|
-
)), f(
|
|
58
|
+
)), f(t, "PLACEMENTS", {
|
|
60
59
|
"top-left": t.TopLeft,
|
|
61
60
|
"top-right": t.TopRight,
|
|
62
61
|
"bottom-left": t.BottomLeft,
|
|
@@ -65,7 +64,7 @@ f(m, "TopLeft", new t(
|
|
|
65
64
|
"left-bottom": t.LeftBottom,
|
|
66
65
|
"right-top": t.RightTop,
|
|
67
66
|
"right-bottom": t.RightBottom
|
|
68
|
-
}), f(
|
|
67
|
+
}), f(t, "FLIP_MAJOR", {
|
|
69
68
|
"top-left": t.BottomLeft,
|
|
70
69
|
"top-right": t.BottomRight,
|
|
71
70
|
"bottom-left": t.TopLeft,
|
|
@@ -74,7 +73,7 @@ f(m, "TopLeft", new t(
|
|
|
74
73
|
"left-bottom": t.RightBottom,
|
|
75
74
|
"right-top": t.LeftTop,
|
|
76
75
|
"right-bottom": t.LeftBottom
|
|
77
|
-
}), f(
|
|
76
|
+
}), f(t, "FLIP_MINOR", {
|
|
78
77
|
"top-left": t.TopRight,
|
|
79
78
|
"top-right": t.TopLeft,
|
|
80
79
|
"bottom-left": t.BottomRight,
|
|
@@ -84,7 +83,8 @@ f(m, "TopLeft", new t(
|
|
|
84
83
|
"right-top": t.RightBottom,
|
|
85
84
|
"right-bottom": t.RightTop
|
|
86
85
|
});
|
|
86
|
+
let g = t;
|
|
87
87
|
export {
|
|
88
|
-
|
|
88
|
+
g as NeonDropdownPlacementObject
|
|
89
89
|
};
|
|
90
90
|
//# sourceMappingURL=NeonDropdownPlacementObject.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeonDropdownPlacementObject.es.js","sources":["../../../src/common/models/NeonDropdownPlacementObject.ts"],"sourcesContent":["import { NeonPlacement } from '../enums/NeonPlacement';\nimport { NeonDropdownPlacement } from '../enums/NeonDropdownPlacement';\n\nexport class NeonDropdownPlacementObject {\n public static TopLeft = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.TopLeft,\n NeonPlacement.Top,\n NeonPlacement.Left,\n );\n\n public static TopRight = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.TopRight,\n NeonPlacement.Top,\n NeonPlacement.Right,\n );\n\n public static BottomLeft = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.BottomLeft,\n NeonPlacement.Bottom,\n NeonPlacement.Left,\n );\n\n public static BottomRight = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.BottomRight,\n NeonPlacement.Bottom,\n NeonPlacement.Right,\n );\n\n public static LeftTop = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.LeftTop,\n NeonPlacement.Left,\n NeonPlacement.Top,\n );\n\n public static LeftBottom = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.LeftBottom,\n NeonPlacement.Left,\n NeonPlacement.Bottom,\n );\n\n public static RightTop = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.RightTop,\n NeonPlacement.Right,\n NeonPlacement.Top,\n );\n\n public static RightBottom = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.RightBottom,\n NeonPlacement.Right,\n NeonPlacement.Bottom,\n );\n\n private static PLACEMENTS = {\n 'top-left': NeonDropdownPlacementObject.TopLeft,\n 'top-right': NeonDropdownPlacementObject.TopRight,\n 'bottom-left': NeonDropdownPlacementObject.BottomLeft,\n 'bottom-right': NeonDropdownPlacementObject.BottomRight,\n 'left-top': NeonDropdownPlacementObject.LeftTop,\n 'left-bottom': NeonDropdownPlacementObject.LeftBottom,\n 'right-top': NeonDropdownPlacementObject.RightTop,\n 'right-bottom': NeonDropdownPlacementObject.RightBottom,\n };\n\n private static FLIP_MAJOR = {\n 'top-left': NeonDropdownPlacementObject.BottomLeft,\n 'top-right': NeonDropdownPlacementObject.BottomRight,\n 'bottom-left': NeonDropdownPlacementObject.TopLeft,\n 'bottom-right': NeonDropdownPlacementObject.TopRight,\n 'left-top': NeonDropdownPlacementObject.RightTop,\n 'left-bottom': NeonDropdownPlacementObject.RightBottom,\n 'right-top': NeonDropdownPlacementObject.LeftTop,\n 'right-bottom': NeonDropdownPlacementObject.LeftBottom,\n };\n\n private static FLIP_MINOR = {\n 'top-left': NeonDropdownPlacementObject.TopRight,\n 'top-right': NeonDropdownPlacementObject.TopLeft,\n 'bottom-left': NeonDropdownPlacementObject.BottomRight,\n 'bottom-right': NeonDropdownPlacementObject.BottomLeft,\n 'left-top': NeonDropdownPlacementObject.LeftBottom,\n 'left-bottom': NeonDropdownPlacementObject.LeftTop,\n 'right-top': NeonDropdownPlacementObject.RightBottom,\n 'right-bottom': NeonDropdownPlacementObject.RightTop,\n };\n\n public placement: NeonDropdownPlacement;\n public majorPlacement: NeonPlacement;\n public minorPlacement?: NeonPlacement;\n\n private constructor(placement: NeonDropdownPlacement, majorPlacement: NeonPlacement, minorPlacement?: NeonPlacement) {\n this.placement = placement;\n this.majorPlacement = majorPlacement;\n this.minorPlacement = minorPlacement;\n }\n\n public static toNeonDropdownPlacementObject(placement: NeonDropdownPlacement): NeonDropdownPlacementObject {\n return NeonDropdownPlacementObject.PLACEMENTS[placement];\n }\n\n public static flipMajor(placement: NeonDropdownPlacementObject) {\n return NeonDropdownPlacementObject.FLIP_MAJOR[placement.placement];\n }\n\n public static flipMinor(placement: NeonDropdownPlacementObject) {\n return NeonDropdownPlacementObject.FLIP_MINOR[placement.placement];\n }\n\n public static flip(placement: NeonDropdownPlacementObject) {\n return NeonDropdownPlacementObject.flipMinor(NeonDropdownPlacementObject.flipMajor(placement));\n }\n}\n"],"names":["_NeonDropdownPlacementObject","placement","majorPlacement","minorPlacement","__publicField","
|
|
1
|
+
{"version":3,"file":"NeonDropdownPlacementObject.es.js","sources":["../../../src/common/models/NeonDropdownPlacementObject.ts"],"sourcesContent":["import { NeonPlacement } from '../enums/NeonPlacement';\nimport { NeonDropdownPlacement } from '../enums/NeonDropdownPlacement';\n\nexport class NeonDropdownPlacementObject {\n public static TopLeft = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.TopLeft,\n NeonPlacement.Top,\n NeonPlacement.Left,\n );\n\n public static TopRight = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.TopRight,\n NeonPlacement.Top,\n NeonPlacement.Right,\n );\n\n public static BottomLeft = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.BottomLeft,\n NeonPlacement.Bottom,\n NeonPlacement.Left,\n );\n\n public static BottomRight = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.BottomRight,\n NeonPlacement.Bottom,\n NeonPlacement.Right,\n );\n\n public static LeftTop = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.LeftTop,\n NeonPlacement.Left,\n NeonPlacement.Top,\n );\n\n public static LeftBottom = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.LeftBottom,\n NeonPlacement.Left,\n NeonPlacement.Bottom,\n );\n\n public static RightTop = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.RightTop,\n NeonPlacement.Right,\n NeonPlacement.Top,\n );\n\n public static RightBottom = new NeonDropdownPlacementObject(\n NeonDropdownPlacement.RightBottom,\n NeonPlacement.Right,\n NeonPlacement.Bottom,\n );\n\n private static PLACEMENTS = {\n 'top-left': NeonDropdownPlacementObject.TopLeft,\n 'top-right': NeonDropdownPlacementObject.TopRight,\n 'bottom-left': NeonDropdownPlacementObject.BottomLeft,\n 'bottom-right': NeonDropdownPlacementObject.BottomRight,\n 'left-top': NeonDropdownPlacementObject.LeftTop,\n 'left-bottom': NeonDropdownPlacementObject.LeftBottom,\n 'right-top': NeonDropdownPlacementObject.RightTop,\n 'right-bottom': NeonDropdownPlacementObject.RightBottom,\n };\n\n private static FLIP_MAJOR = {\n 'top-left': NeonDropdownPlacementObject.BottomLeft,\n 'top-right': NeonDropdownPlacementObject.BottomRight,\n 'bottom-left': NeonDropdownPlacementObject.TopLeft,\n 'bottom-right': NeonDropdownPlacementObject.TopRight,\n 'left-top': NeonDropdownPlacementObject.RightTop,\n 'left-bottom': NeonDropdownPlacementObject.RightBottom,\n 'right-top': NeonDropdownPlacementObject.LeftTop,\n 'right-bottom': NeonDropdownPlacementObject.LeftBottom,\n };\n\n private static FLIP_MINOR = {\n 'top-left': NeonDropdownPlacementObject.TopRight,\n 'top-right': NeonDropdownPlacementObject.TopLeft,\n 'bottom-left': NeonDropdownPlacementObject.BottomRight,\n 'bottom-right': NeonDropdownPlacementObject.BottomLeft,\n 'left-top': NeonDropdownPlacementObject.LeftBottom,\n 'left-bottom': NeonDropdownPlacementObject.LeftTop,\n 'right-top': NeonDropdownPlacementObject.RightBottom,\n 'right-bottom': NeonDropdownPlacementObject.RightTop,\n };\n\n public placement: NeonDropdownPlacement;\n public majorPlacement: NeonPlacement;\n public minorPlacement?: NeonPlacement;\n\n private constructor(placement: NeonDropdownPlacement, majorPlacement: NeonPlacement, minorPlacement?: NeonPlacement) {\n this.placement = placement;\n this.majorPlacement = majorPlacement;\n this.minorPlacement = minorPlacement;\n }\n\n public static toNeonDropdownPlacementObject(placement: NeonDropdownPlacement): NeonDropdownPlacementObject {\n return NeonDropdownPlacementObject.PLACEMENTS[placement];\n }\n\n public static flipMajor(placement: NeonDropdownPlacementObject) {\n return NeonDropdownPlacementObject.FLIP_MAJOR[placement.placement];\n }\n\n public static flipMinor(placement: NeonDropdownPlacementObject) {\n return NeonDropdownPlacementObject.FLIP_MINOR[placement.placement];\n }\n\n public static flip(placement: NeonDropdownPlacementObject) {\n return NeonDropdownPlacementObject.flipMinor(NeonDropdownPlacementObject.flipMajor(placement));\n }\n}\n"],"names":["_NeonDropdownPlacementObject","placement","majorPlacement","minorPlacement","__publicField","NeonDropdownPlacement","NeonPlacement","NeonDropdownPlacementObject"],"mappings":";;;;;AAGO,MAAMA,IAAN,MAAMA,EAA4B;AAAA,EAsF/B,YAAYC,GAAkCC,GAA+BC,GAAgC;AAJ9G,IAAAC,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AAGL,SAAK,YAAYH,GACjB,KAAK,iBAAiBC,GACtB,KAAK,iBAAiBC;AAAA,EACxB;AAAA,EAEA,OAAc,8BAA8BF,GAA+D;AAClG,WAAAD,EAA4B,WAAWC,CAAS;AAAA,EACzD;AAAA,EAEA,OAAc,UAAUA,GAAwC;AACvD,WAAAD,EAA4B,WAAWC,EAAU,SAAS;AAAA,EACnE;AAAA,EAEA,OAAc,UAAUA,GAAwC;AACvD,WAAAD,EAA4B,WAAWC,EAAU,SAAS;AAAA,EACnE;AAAA,EAEA,OAAc,KAAKA,GAAwC;AACzD,WAAOD,EAA4B,UAAUA,EAA4B,UAAUC,CAAS,CAAC;AAAA,EAC/F;AACF;AA1GEG,EADWJ,GACG,WAAU,IAAIA;AAAA,EAC1BK,EAAsB;AAAA,EACtBC,EAAc;AAAA,EACdA,EAAc;AAAA,IAGhBF,EAPWJ,GAOG,YAAW,IAAIA;AAAA,EAC3BK,EAAsB;AAAA,EACtBC,EAAc;AAAA,EACdA,EAAc;AAAA,IAGhBF,EAbWJ,GAaG,cAAa,IAAIA;AAAA,EAC7BK,EAAsB;AAAA,EACtBC,EAAc;AAAA,EACdA,EAAc;AAAA,IAGhBF,EAnBWJ,GAmBG,eAAc,IAAIA;AAAA,EAC9BK,EAAsB;AAAA,EACtBC,EAAc;AAAA,EACdA,EAAc;AAAA,IAGhBF,EAzBWJ,GAyBG,WAAU,IAAIA;AAAA,EAC1BK,EAAsB;AAAA,EACtBC,EAAc;AAAA,EACdA,EAAc;AAAA,IAGhBF,EA/BWJ,GA+BG,cAAa,IAAIA;AAAA,EAC7BK,EAAsB;AAAA,EACtBC,EAAc;AAAA,EACdA,EAAc;AAAA,IAGhBF,EArCWJ,GAqCG,YAAW,IAAIA;AAAA,EAC3BK,EAAsB;AAAA,EACtBC,EAAc;AAAA,EACdA,EAAc;AAAA,IAGhBF,EA3CWJ,GA2CG,eAAc,IAAIA;AAAA,EAC9BK,EAAsB;AAAA,EACtBC,EAAc;AAAA,EACdA,EAAc;AAAA,IAGhBF,EAjDWJ,GAiDI,cAAa;AAAA,EAC1B,YAAYA,EAA4B;AAAA,EACxC,aAAaA,EAA4B;AAAA,EACzC,eAAeA,EAA4B;AAAA,EAC3C,gBAAgBA,EAA4B;AAAA,EAC5C,YAAYA,EAA4B;AAAA,EACxC,eAAeA,EAA4B;AAAA,EAC3C,aAAaA,EAA4B;AAAA,EACzC,gBAAgBA,EAA4B;AAAA,IAG9CI,EA5DWJ,GA4DI,cAAa;AAAA,EAC1B,YAAYA,EAA4B;AAAA,EACxC,aAAaA,EAA4B;AAAA,EACzC,eAAeA,EAA4B;AAAA,EAC3C,gBAAgBA,EAA4B;AAAA,EAC5C,YAAYA,EAA4B;AAAA,EACxC,eAAeA,EAA4B;AAAA,EAC3C,aAAaA,EAA4B;AAAA,EACzC,gBAAgBA,EAA4B;AAAA,IAG9CI,EAvEWJ,GAuEI,cAAa;AAAA,EAC1B,YAAYA,EAA4B;AAAA,EACxC,aAAaA,EAA4B;AAAA,EACzC,eAAeA,EAA4B;AAAA,EAC3C,gBAAgBA,EAA4B;AAAA,EAC5C,YAAYA,EAA4B;AAAA,EACxC,eAAeA,EAA4B;AAAA,EAC3C,aAAaA,EAA4B;AAAA,EACzC,gBAAgBA,EAA4B;AAAA;AA/EzC,IAAMO,IAANP;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeonAlertService.cjs.js","sources":["../../../src/common/utils/NeonAlertService.ts"],"sourcesContent":["import { NeonEventBus } from './NeonEventBus';\nimport type { NeonAlertMessage } from '../models/NeonAlertMessage';\nimport { NeonAlertLevel } from '../enums/NeonAlertLevel';\n\n/**\n * NeonAlertService is a service for sending alerts to the <strong>NeonAlert</strong> component for display to the user.\n */\nexport class NeonAlertService {\n /**\n * Send an info message\n * @param alert {NeonAlertMessage}\n */\n public static info(alert: NeonAlertMessage) {\n NeonAlertService.emit(NeonAlertLevel.Info, alert);\n }\n\n /**\n * Send a success message\n * @param alert {NeonAlertMessage}\n */\n public static success(alert: NeonAlertMessage) {\n NeonAlertService.emit(NeonAlertLevel.Success, alert);\n }\n\n /**\n * Send a warning message\n * @param alert {NeonAlertMessage}\n */\n public static warn(alert: NeonAlertMessage) {\n NeonAlertService.emit(NeonAlertLevel.Warn, alert);\n }\n\n /**\n * Send an error message\n * @param alert {NeonAlertMessage}\n */\n public static error(alert: NeonAlertMessage) {\n NeonAlertService.emit(NeonAlertLevel.Error, alert);\n }\n\n public static generateEventKey(eventType: NeonAlertLevel) {\n return `${NeonEventBus.messagePrefix}-alert-${eventType}`;\n }\n\n private static emit(eventType: NeonAlertLevel, alert: NeonAlertMessage) {\n const eventKey = NeonAlertService.generateEventKey(eventType);\n NeonEventBus.emit(eventKey, alert);\n }\n}\n"],"names":["NeonAlertService","alert","NeonAlertLevel","eventType","NeonEventBus","eventKey"],"mappings":"qKAOO,MAAMA,CAAiB,CAK5B,OAAc,KAAKC,EAAyB,CACzBD,EAAA,KAAKE,EAAAA,eAAe,KAAMD,CAAK,CAClD,CAMA,OAAc,QAAQA,EAAyB,CAC5BD,EAAA,KAAKE,EAAAA,eAAe,QAASD,CAAK,CACrD,CAMA,OAAc,KAAKA,EAAyB,CACzBD,EAAA,KAAKE,EAAAA,eAAe,KAAMD,CAAK,CAClD,CAMA,OAAc,MAAMA,EAAyB,CAC1BD,EAAA,KAAKE,EAAAA,eAAe,MAAOD,CAAK,CACnD,CAEA,OAAc,iBAAiBE,EAA2B,
|
|
1
|
+
{"version":3,"file":"NeonAlertService.cjs.js","sources":["../../../src/common/utils/NeonAlertService.ts"],"sourcesContent":["import { NeonEventBus } from './NeonEventBus';\nimport type { NeonAlertMessage } from '../models/NeonAlertMessage';\nimport { NeonAlertLevel } from '../enums/NeonAlertLevel';\n\n/**\n * NeonAlertService is a service for sending alerts to the <strong>NeonAlert</strong> component for display to the user.\n */\nexport class NeonAlertService {\n /**\n * Send an info message\n * @param alert {NeonAlertMessage}\n */\n public static info(alert: NeonAlertMessage) {\n NeonAlertService.emit(NeonAlertLevel.Info, alert);\n }\n\n /**\n * Send a success message\n * @param alert {NeonAlertMessage}\n */\n public static success(alert: NeonAlertMessage) {\n NeonAlertService.emit(NeonAlertLevel.Success, alert);\n }\n\n /**\n * Send a warning message\n * @param alert {NeonAlertMessage}\n */\n public static warn(alert: NeonAlertMessage) {\n NeonAlertService.emit(NeonAlertLevel.Warn, alert);\n }\n\n /**\n * Send an error message\n * @param alert {NeonAlertMessage}\n */\n public static error(alert: NeonAlertMessage) {\n NeonAlertService.emit(NeonAlertLevel.Error, alert);\n }\n\n public static generateEventKey(eventType: NeonAlertLevel) {\n return `${NeonEventBus.messagePrefix}-alert-${eventType}`;\n }\n\n private static emit(eventType: NeonAlertLevel, alert: NeonAlertMessage) {\n const eventKey = NeonAlertService.generateEventKey(eventType);\n NeonEventBus.emit(eventKey, alert);\n }\n}\n"],"names":["NeonAlertService","alert","NeonAlertLevel","eventType","NeonEventBus","eventKey"],"mappings":"qKAOO,MAAMA,CAAiB,CAK5B,OAAc,KAAKC,EAAyB,CACzBD,EAAA,KAAKE,EAAAA,eAAe,KAAMD,CAAK,CAClD,CAMA,OAAc,QAAQA,EAAyB,CAC5BD,EAAA,KAAKE,EAAAA,eAAe,QAASD,CAAK,CACrD,CAMA,OAAc,KAAKA,EAAyB,CACzBD,EAAA,KAAKE,EAAAA,eAAe,KAAMD,CAAK,CAClD,CAMA,OAAc,MAAMA,EAAyB,CAC1BD,EAAA,KAAKE,EAAAA,eAAe,MAAOD,CAAK,CACnD,CAEA,OAAc,iBAAiBE,EAA2B,CACxD,MAAO,GAAGC,EAAAA,aAAa,aAAa,UAAUD,CAAS,EACzD,CAEA,OAAe,KAAKA,EAA2BF,EAAyB,CAChE,MAAAI,EAAWL,EAAiB,iBAAiBG,CAAS,EAC/CC,EAAAA,aAAA,KAAKC,EAAUJ,CAAK,CACnC,CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeonAlertService.es.js","sources":["../../../src/common/utils/NeonAlertService.ts"],"sourcesContent":["import { NeonEventBus } from './NeonEventBus';\nimport type { NeonAlertMessage } from '../models/NeonAlertMessage';\nimport { NeonAlertLevel } from '../enums/NeonAlertLevel';\n\n/**\n * NeonAlertService is a service for sending alerts to the <strong>NeonAlert</strong> component for display to the user.\n */\nexport class NeonAlertService {\n /**\n * Send an info message\n * @param alert {NeonAlertMessage}\n */\n public static info(alert: NeonAlertMessage) {\n NeonAlertService.emit(NeonAlertLevel.Info, alert);\n }\n\n /**\n * Send a success message\n * @param alert {NeonAlertMessage}\n */\n public static success(alert: NeonAlertMessage) {\n NeonAlertService.emit(NeonAlertLevel.Success, alert);\n }\n\n /**\n * Send a warning message\n * @param alert {NeonAlertMessage}\n */\n public static warn(alert: NeonAlertMessage) {\n NeonAlertService.emit(NeonAlertLevel.Warn, alert);\n }\n\n /**\n * Send an error message\n * @param alert {NeonAlertMessage}\n */\n public static error(alert: NeonAlertMessage) {\n NeonAlertService.emit(NeonAlertLevel.Error, alert);\n }\n\n public static generateEventKey(eventType: NeonAlertLevel) {\n return `${NeonEventBus.messagePrefix}-alert-${eventType}`;\n }\n\n private static emit(eventType: NeonAlertLevel, alert: NeonAlertMessage) {\n const eventKey = NeonAlertService.generateEventKey(eventType);\n NeonEventBus.emit(eventKey, alert);\n }\n}\n"],"names":["NeonAlertService","alert","NeonAlertLevel","eventType","NeonEventBus","eventKey"],"mappings":";;AAOO,MAAMA,EAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,EAK5B,OAAc,KAAKC,GAAyB;AACzB,IAAAD,EAAA,KAAKE,EAAe,MAAMD,CAAK;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAc,QAAQA,GAAyB;AAC5B,IAAAD,EAAA,KAAKE,EAAe,SAASD,CAAK;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAc,KAAKA,GAAyB;AACzB,IAAAD,EAAA,KAAKE,EAAe,MAAMD,CAAK;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAc,MAAMA,GAAyB;AAC1B,IAAAD,EAAA,KAAKE,EAAe,OAAOD,CAAK;AAAA,EACnD;AAAA,EAEA,OAAc,iBAAiBE,GAA2B;
|
|
1
|
+
{"version":3,"file":"NeonAlertService.es.js","sources":["../../../src/common/utils/NeonAlertService.ts"],"sourcesContent":["import { NeonEventBus } from './NeonEventBus';\nimport type { NeonAlertMessage } from '../models/NeonAlertMessage';\nimport { NeonAlertLevel } from '../enums/NeonAlertLevel';\n\n/**\n * NeonAlertService is a service for sending alerts to the <strong>NeonAlert</strong> component for display to the user.\n */\nexport class NeonAlertService {\n /**\n * Send an info message\n * @param alert {NeonAlertMessage}\n */\n public static info(alert: NeonAlertMessage) {\n NeonAlertService.emit(NeonAlertLevel.Info, alert);\n }\n\n /**\n * Send a success message\n * @param alert {NeonAlertMessage}\n */\n public static success(alert: NeonAlertMessage) {\n NeonAlertService.emit(NeonAlertLevel.Success, alert);\n }\n\n /**\n * Send a warning message\n * @param alert {NeonAlertMessage}\n */\n public static warn(alert: NeonAlertMessage) {\n NeonAlertService.emit(NeonAlertLevel.Warn, alert);\n }\n\n /**\n * Send an error message\n * @param alert {NeonAlertMessage}\n */\n public static error(alert: NeonAlertMessage) {\n NeonAlertService.emit(NeonAlertLevel.Error, alert);\n }\n\n public static generateEventKey(eventType: NeonAlertLevel) {\n return `${NeonEventBus.messagePrefix}-alert-${eventType}`;\n }\n\n private static emit(eventType: NeonAlertLevel, alert: NeonAlertMessage) {\n const eventKey = NeonAlertService.generateEventKey(eventType);\n NeonEventBus.emit(eventKey, alert);\n }\n}\n"],"names":["NeonAlertService","alert","NeonAlertLevel","eventType","NeonEventBus","eventKey"],"mappings":";;AAOO,MAAMA,EAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,EAK5B,OAAc,KAAKC,GAAyB;AACzB,IAAAD,EAAA,KAAKE,EAAe,MAAMD,CAAK;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAc,QAAQA,GAAyB;AAC5B,IAAAD,EAAA,KAAKE,EAAe,SAASD,CAAK;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAc,KAAKA,GAAyB;AACzB,IAAAD,EAAA,KAAKE,EAAe,MAAMD,CAAK;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAc,MAAMA,GAAyB;AAC1B,IAAAD,EAAA,KAAKE,EAAe,OAAOD,CAAK;AAAA,EACnD;AAAA,EAEA,OAAc,iBAAiBE,GAA2B;AACxD,WAAO,GAAGC,EAAa,aAAa,UAAUD,CAAS;AAAA,EACzD;AAAA,EAEA,OAAe,KAAKA,GAA2BF,GAAyB;AAChE,UAAAI,IAAWL,EAAiB,iBAAiBG,CAAS;AAC/C,IAAAC,EAAA,KAAKC,GAAUJ,CAAK;AAAA,EACnC;AACF;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var y=Object.defineProperty;var z=(
|
|
1
|
+
"use strict";var y=Object.defineProperty;var z=(h,e,a)=>e in h?y(h,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):h[e]=a;var T=(h,e,a)=>(z(h,typeof e!="symbol"?e+"":e,a),a);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=class t{static luminance([e,a,r]){const n=[e,a,r].map(c=>(c/=255,c<=.03928?c/12.92:Math.pow((c+.055)/1.055,t.gamma)));return n[0]*t.red+n[1]*t.green+n[2]*t.blue}static toRgb(e){return[Number.parseInt(e.substring(1,3),16),Number.parseInt(e.substring(3,5),16),Number.parseInt(e.substring(5,7),16)]}static rgbToXyz(e){const[a,r,n]=e,c=t.rgbValueToXyz(a),b=t.rgbValueToXyz(r),o=t.rgbValueToXyz(n),u=t.xyzToLab((.4124564*c+.3575761*b+.1804375*o)/t.labXn),i=t.xyzToLab((.2126729*c+.7151522*b+.072175*o)/t.labYn),s=t.xyzToLab((.0193339*c+.119192*b+.9503041*o)/t.labZn);return[u,i,s]}static rgbToLab(e){const[a,r,n]=t.rgbToXyz(e),c=116*r-16;return[Math.max(c,0),500*(a-r),200*(r-n)]}static rgbToHcl(e){const a=t.rgbToLab(e);return t.labToHcl(a)}static isAccessible(e,a){const r=t.contrast(t.toRgb(e),t.toRgb(a)),n={largeAA:!1,largeAAA:!1,normalAA:!1,normalAAA:!1,ratio:Math.round(100*r)/100};return r>=3&&(n.largeAA=!0,r>=4.5&&(n.normalAA=!0,n.largeAAA=!0,r>=7&&(n.normalAAA=!0))),n}static contrast(e,a){const r=t.luminance(e),n=t.luminance(a),c=Math.max(r,n),b=Math.min(r,n);return(c+.05)/(b+.05)}static rgbToHex(e){const[a,r,n]=e,c=a.toString(16),b=r.toString(16),o=n.toString(16);return`#${c.length===1?`0${c}`:c}${b.length===1?`0${b}`:b}${o.length===1?`0${o}`:o}`}static generatePalette(e,a,r){const n=t.toRgb(e),[c,b,o]=n,u=t.toRgb(a),i=t.toRgb(r),[s,x]=t.rgbToHcl(n),[H,m,M]=t.lightReferenceColor(n,u),[A,f,d]=t.darkReferenceColor(n,i),l=t.generateChromaCurve(m),g=t.generateLuminanceCurve(M,d);return o>2*b&&o>2*c?{l5:t.rgbToHex(t.hclToRgb(s-30,l[0],g[0])),l4:t.rgbToHex(t.hclToRgb(s-25,l[1],g[1])),l3:t.rgbToHex(t.hclToRgb(s-20,l[2],g[2])),l2:t.rgbToHex(t.hclToRgb(s-15,l[3],g[3])),l1:t.rgbToHex(t.hclToRgb(s-10,l[4],g[4])),d1:t.rgbToHex(t.hclToRgb(s-10,l[5],g[5])),d2:t.rgbToHex(t.hclToRgb(s-10,l[6],g[6])),d3:t.rgbToHex(t.hclToRgb(s-10,l[7],g[7])),d4:t.rgbToHex(t.hclToRgb(s-10,l[8],g[8])),d5:t.rgbToHex(t.hclToRgb(s-10,l[9],g[9]))}:{l5:t.rgbToHex(t.hclToRgb(s,l[0],g[0])),l4:t.rgbToHex(t.hclToRgb(s,l[1],g[1])),l3:t.rgbToHex(t.hclToRgb(s,l[2],g[2])),l2:t.rgbToHex(t.hclToRgb(s,l[3],g[3])),l1:t.rgbToHex(t.hclToRgb(s,l[4],g[4])),d1:t.rgbToHex(t.hclToRgb(s,l[5],g[5])),d2:t.rgbToHex(t.hclToRgb(s,l[6],g[6])),d3:t.rgbToHex(t.hclToRgb(s,l[7],g[7])),d4:t.rgbToHex(t.hclToRgb(s,l[8],g[8])),d5:t.rgbToHex(t.hclToRgb(s,l[9],g[9]))}}static generateChromaCurve(e){const a=.25*Math.abs(e-10),r=.25*Math.abs(e-10);return[e-4*a,e-3*a+4,e-2*a+6,e-a+4,e,e,e-r+4,e-2*r+6,e-3*r+4,e-4*r]}static generateLuminanceCurve(e,a){const r=.25*(96-e),n=.25*(a-10);return[e+4*r,e+3*r,e+2*r,e+r,e,a,a-n+2,a-2*n+1,a-3*n-1,a-4*n]}static xyzToLab(e){return e>t.labT3?Math.pow(e,1/3):e/t.labT2+t.labT0}static rgbValueToXyz(e){const a=e/255;return a<=.04045?a/12.92:Math.pow((a+.055)/1.055,2.4)}static labToHcl(e){const[a,r,n]=e,c=Math.sqrt(r*r+n*n),b=(Math.atan2(n,r)*t.radiansToDegrees+360)%360;return[Math.round(b),c,a]}static luminanceByChannel(e){return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}static relativeLuminance(e){const[a,r,n]=e,c=t.luminanceByChannel(a/255),b=t.luminanceByChannel(r/255),o=t.luminanceByChannel(n/255);return .2126*c+.7152*b+.0722*o}static contrastRatio(e,a){const r=t.relativeLuminance(e),n=t.relativeLuminance(a),c=Math.max(r,n),b=Math.min(r,n),o=(c+.05)/(b+.05);return Math.floor(o*100)/100}static labToXyz(e){return e>t.labT1?e*e*e:t.labT2*(e-t.labT0)}static xyzToRgb(e){return e<=.00304?255*12.92*e:255*(1.055*Math.pow(e,1/2.4)-.055)}static labToRgb(e,a,r){const n=(e+16)/116,c=n+a/500,b=n-r/200,o=t.labXn*t.labToXyz(c),u=t.labYn*t.labToXyz(n),i=t.labZn*t.labToXyz(b),s=Math.round(Math.min(255,Math.max(0,t.xyzToRgb(3.2404542*o-1.5371385*u-.4985314*i)))),x=Math.round(Math.min(255,Math.max(0,t.xyzToRgb(-.969266*o+1.8760108*u+.041556*i)))),H=Math.round(Math.min(255,Math.max(0,t.xyzToRgb(.0556434*o-.2040259*u+1.0572252*i))));return[s,x,H]}static hclToLab(e,a,r){const n=e*t.degreesToRadians;return[r,Math.cos(n)*a,Math.sin(n)*a]}static hclToRgb(e,a,r){const[n,c,b]=t.hclToLab(e,a,r);return t.labToRgb(n,c,b)}static lightReferenceColor(e,a){let r=e;const[n,c,b]=t.rgbToHcl(r);let o=b;for(;t.contrastRatio(r,a)<4.5;)o=o+1,r=t.hclToRgb(n,c,o);return[n,c,o]}static darkReferenceColor(e,a){let r=e;const[n,c,b]=t.rgbToHcl(r);let o=b;for(;t.contrastRatio(r,a)<4.5;)o=o-1,r=t.hclToRgb(n,c,o);return[n,c,o]}};T(t,"red",.2126),T(t,"green",.7152),T(t,"blue",.0722),T(t,"labXn",.95047),T(t,"labYn",1),T(t,"labZn",1.08883),T(t,"labT0",.137931034),T(t,"labT1",.206896552),T(t,"labT2",.12841855),T(t,"labT3",.008856452),T(t,"degreesToRadians",Math.PI/180),T(t,"radiansToDegrees",180/Math.PI),T(t,"gamma",2.4);let R=t;exports.NeonColorUtils=R;
|
|
2
2
|
//# sourceMappingURL=NeonColorUtils.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeonColorUtils.cjs.js","sources":["../../../src/common/utils/NeonColorUtils.ts"],"sourcesContent":["import type { NeonContrastAccessibility } from '@/common/models/NeonContrastAccessibility';\n\n/**\n * Utility class with helpers for calculating relative contrast & determining accessibility.\n */\nexport class NeonColorUtils {\n private static red = 0.2126;\n private static green = 0.7152;\n private static blue = 0.0722;\n private static labXn = 0.95047;\n private static labYn = 1;\n private static labZn = 1.08883;\n private static labT0 = 0.137931034; // 4 / 29\n private static labT1 = 0.206896552; // 6 / 29\n private static labT2 = 0.12841855; // 3 * t1 * t1\n private static labT3 = 0.008856452; // t1 * t1 * t1\n private static degreesToRadians = Math.PI / 180;\n private static radiansToDegrees = 180 / Math.PI;\n\n private static gamma = 2.4;\n\n public static luminance([r, g, b]: Array<number>) {\n const a = [r, g, b].map((v) => {\n v /= 255;\n return v <= 0.03928 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, NeonColorUtils.gamma);\n });\n return a[0] * NeonColorUtils.red + a[1] * NeonColorUtils.green + a[2] * NeonColorUtils.blue;\n }\n\n public static toRgb(hexString: string): Array<number> {\n return [\n Number.parseInt(hexString.substring(1, 3), 16),\n Number.parseInt(hexString.substring(3, 5), 16),\n Number.parseInt(hexString.substring(5, 7), 16),\n ];\n }\n\n public static rgbToXyz(rgb: Array<number>): Array<number> {\n const [r, g, b] = rgb;\n const r1 = NeonColorUtils.rgbValueToXyz(r);\n const g1 = NeonColorUtils.rgbValueToXyz(g);\n const b1 = NeonColorUtils.rgbValueToXyz(b);\n\n const x = NeonColorUtils.xyzToLab((0.4124564 * r1 + 0.3575761 * g1 + 0.1804375 * b1) / NeonColorUtils.labXn);\n const y = NeonColorUtils.xyzToLab((0.2126729 * r1 + 0.7151522 * g1 + 0.072175 * b1) / NeonColorUtils.labYn);\n const z = NeonColorUtils.xyzToLab((0.0193339 * r1 + 0.119192 * g1 + 0.9503041 * b1) / NeonColorUtils.labZn);\n\n return [x, y, z];\n }\n\n public static rgbToLab(rgb: Array<number>): Array<number> {\n const [x, y, z] = NeonColorUtils.rgbToXyz(rgb);\n const l = 116 * y - 16;\n return [Math.max(l, 0), 500 * (x - y), 200 * (y - z)];\n }\n\n public static rgbToHcl(rgb: Array<number>): Array<number> {\n const lab = NeonColorUtils.rgbToLab(rgb);\n return NeonColorUtils.labToHcl(lab);\n }\n\n public static isAccessible(rgb1: string, rgb2: string): NeonContrastAccessibility {\n const ratio = NeonColorUtils.contrast(NeonColorUtils.toRgb(rgb1), NeonColorUtils.toRgb(rgb2));\n\n const result = {\n largeAA: false,\n largeAAA: false,\n normalAA: false,\n normalAAA: false,\n ratio: Math.round(100 * ratio) / 100,\n };\n\n if (ratio >= 3) {\n result.largeAA = true;\n\n if (ratio >= 4.5) {\n result.normalAA = true;\n result.largeAAA = true;\n\n if (ratio >= 7) {\n result.normalAAA = true;\n }\n }\n }\n\n return result;\n }\n\n public static contrast(rgb1: Array<number>, rgb2: Array<number>) {\n const lum1 = NeonColorUtils.luminance(rgb1);\n const lum2 = NeonColorUtils.luminance(rgb2);\n const brightest = Math.max(lum1, lum2);\n const darkest = Math.min(lum1, lum2);\n return (brightest + 0.05) / (darkest + 0.05);\n }\n\n public static rgbToHex(rgb: Array<number>): string {\n const [r, g, b] = rgb;\n const rHex = r.toString(16);\n const gHex = g.toString(16);\n const bHex = b.toString(16);\n return `#${rHex.length === 1 ? `0${rHex}` : rHex}${gHex.length === 1 ? `0${gHex}` : gHex}${\n bHex.length === 1 ? `0${bHex}` : bHex\n }`;\n }\n\n public static generatePalette(\n referenceColor: string,\n darkTextHex: string,\n lightTextHex: string,\n ): Record<string, string> {\n const referenceRgb = NeonColorUtils.toRgb(referenceColor);\n const [r, g, b] = referenceRgb;\n const darkTextRgb = NeonColorUtils.toRgb(darkTextHex);\n const lightTextRgb = NeonColorUtils.toRgb(lightTextHex);\n\n const [hue, _rest] = NeonColorUtils.rgbToHcl(referenceRgb);\n\n const [_l1Hue, l1Chroma, l1Luminance] = NeonColorUtils.lightReferenceColor(referenceRgb, darkTextRgb);\n const [_d1Hue, _d1Chroma, d1Luminance] = NeonColorUtils.darkReferenceColor(referenceRgb, lightTextRgb);\n\n const chromaCurve = NeonColorUtils.generateChromaCurve(l1Chroma);\n const luminanceCurve = NeonColorUtils.generateLuminanceCurve(l1Luminance, d1Luminance);\n\n // if blue is the dominant channel then adjust hue so it's not too purple\n // TODO: rework for some blue colors as they are still too purple\n if (b > 2 * g && b > 2 * r) {\n return {\n l5: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 30, chromaCurve[0], luminanceCurve[0])),\n l4: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 25, chromaCurve[1], luminanceCurve[1])),\n l3: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 20, chromaCurve[2], luminanceCurve[2])),\n l2: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 15, chromaCurve[3], luminanceCurve[3])),\n l1: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[4], luminanceCurve[4])),\n d1: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[5], luminanceCurve[5])),\n d2: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[6], luminanceCurve[6])),\n d3: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[7], luminanceCurve[7])),\n d4: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[8], luminanceCurve[8])),\n d5: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[9], luminanceCurve[9])),\n };\n } else {\n return {\n l5: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[0], luminanceCurve[0])),\n l4: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[1], luminanceCurve[1])),\n l3: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[2], luminanceCurve[2])),\n l2: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[3], luminanceCurve[3])),\n l1: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[4], luminanceCurve[4])),\n d1: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[5], luminanceCurve[5])),\n d2: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[6], luminanceCurve[6])),\n d3: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[7], luminanceCurve[7])),\n d4: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[8], luminanceCurve[8])),\n d5: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[9], luminanceCurve[9])),\n };\n }\n }\n\n private static generateChromaCurve(chroma: number) {\n const lStep = 0.25 * Math.abs(chroma - 10);\n const dStep = 0.25 * Math.abs(chroma - 10);\n\n return [\n chroma - 4 * lStep,\n chroma - 3 * lStep + 4,\n chroma - 2 * lStep + 6,\n chroma - lStep + 4,\n chroma,\n chroma,\n chroma - dStep + 4,\n chroma - 2 * dStep + 6,\n chroma - 3 * dStep + 4,\n chroma - 4 * dStep,\n ];\n }\n\n private static generateLuminanceCurve(lightLuminance: number, darkLuminance: number) {\n const lStep = 0.25 * (96 - lightLuminance);\n const dStep = 0.25 * (darkLuminance - 10);\n\n return [\n lightLuminance + 4 * lStep,\n lightLuminance + 3 * lStep,\n lightLuminance + 2 * lStep,\n lightLuminance + lStep,\n lightLuminance,\n darkLuminance,\n darkLuminance - dStep + 2,\n darkLuminance - 2 * dStep + 1,\n darkLuminance - 3 * dStep - 1,\n darkLuminance - 4 * dStep,\n ];\n }\n\n private static xyzToLab(t: number) {\n return t > NeonColorUtils.labT3 ? Math.pow(t, 1 / 3) : t / NeonColorUtils.labT2 + NeonColorUtils.labT0;\n }\n\n private static rgbValueToXyz(value: number) {\n const v1 = value / 255;\n return v1 <= 0.04045 ? v1 / 12.92 : Math.pow((v1 + 0.055) / 1.055, 2.4);\n }\n\n private static labToHcl(lab: Array<number>) {\n const [l, a, b] = lab;\n const c = Math.sqrt(a * a + b * b);\n const h = (Math.atan2(b, a) * NeonColorUtils.radiansToDegrees + 360) % 360;\n return [Math.round(h), c, l];\n }\n\n private static luminanceByChannel(channel: number) {\n return channel <= 0.03928 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }\n\n private static relativeLuminance(rgb: Array<number>) {\n const [r, g, b] = rgb;\n const r1 = NeonColorUtils.luminanceByChannel(r / 255);\n const g1 = NeonColorUtils.luminanceByChannel(g / 255);\n const b1 = NeonColorUtils.luminanceByChannel(b / 255);\n return 0.2126 * r1 + 0.7152 * g1 + 0.0722 * b1;\n }\n\n private static contrastRatio(backgroundColor: Array<number>, textColor: Array<number>) {\n const lum1 = NeonColorUtils.relativeLuminance(backgroundColor);\n const lum2 = NeonColorUtils.relativeLuminance(textColor);\n\n const lightest = Math.max(lum1, lum2);\n const darkest = Math.min(lum1, lum2);\n\n const contrast = (lightest + 0.05) / (darkest + 0.05);\n\n return Math.floor(contrast * 100) / 100;\n }\n\n private static labToXyz(t: number) {\n return t > NeonColorUtils.labT1 ? t * t * t : NeonColorUtils.labT2 * (t - NeonColorUtils.labT0);\n }\n\n private static xyzToRgb(r: number) {\n return r <= 0.00304 ? 255 * 12.92 * r : 255 * (1.055 * Math.pow(r, 1 / 2.4) - 0.055);\n }\n\n private static labToRgb(l: number, a: number, b: number): Array<number> {\n const y0 = (l + 16) / 116;\n const x0 = y0 + a / 500;\n const z0 = y0 - b / 200;\n\n const x1 = NeonColorUtils.labXn * NeonColorUtils.labToXyz(x0);\n const y1 = NeonColorUtils.labYn * NeonColorUtils.labToXyz(y0);\n const z1 = NeonColorUtils.labZn * NeonColorUtils.labToXyz(z0);\n const r = Math.round(\n Math.min(255, Math.max(0, NeonColorUtils.xyzToRgb(3.2404542 * x1 - 1.5371385 * y1 - 0.4985314 * z1))),\n ); // D65 -> sRGB\n const g = Math.round(\n Math.min(255, Math.max(0, NeonColorUtils.xyzToRgb(-0.969266 * x1 + 1.8760108 * y1 + 0.041556 * z1))),\n );\n const b_ = Math.round(\n Math.min(255, Math.max(0, NeonColorUtils.xyzToRgb(0.0556434 * x1 - 0.2040259 * y1 + 1.0572252 * z1))),\n );\n\n return [r, g, b_];\n }\n\n private static hclToLab(h: number, c: number, l: number) {\n const hue = h * NeonColorUtils.degreesToRadians;\n return [l, Math.cos(hue) * c, Math.sin(hue) * c];\n }\n\n private static hclToRgb(h: number, c: number, l: number): Array<number> {\n const [l_, a, b] = NeonColorUtils.hclToLab(h, c, l);\n return NeonColorUtils.labToRgb(l_, a, b);\n }\n\n private static lightReferenceColor(backgroundRgb: Array<number>, textRgb: Array<number>) {\n let referenceRgb = backgroundRgb;\n const [hue, chroma, l] = NeonColorUtils.rgbToHcl(referenceRgb);\n let luminance = l;\n // check contrast and adjust lightness up if contrast ratio too low\n while (NeonColorUtils.contrastRatio(referenceRgb, textRgb) < 4.5) {\n luminance = luminance + 1;\n referenceRgb = NeonColorUtils.hclToRgb(hue, chroma, luminance);\n }\n\n return [hue, chroma, luminance];\n }\n\n private static darkReferenceColor(backgroundRgb: Array<number>, textRgb: Array<number>) {\n let referenceRgb = backgroundRgb;\n const [hue, chroma, l] = NeonColorUtils.rgbToHcl(referenceRgb);\n let luminance = l;\n // check contrast and adjust lightness down if contrast ratio too low\n while (NeonColorUtils.contrastRatio(referenceRgb, textRgb) < 4.5) {\n luminance = luminance - 1;\n referenceRgb = NeonColorUtils.hclToRgb(hue, chroma, luminance);\n }\n\n return [hue, chroma, luminance];\n }\n}\n"],"names":["_NeonColorUtils","r","g","b","a","v","hexString","rgb","r1","g1","b1","x","y","z","l","lab","rgb1","rgb2","ratio","result","lum1","lum2","brightest","darkest","rHex","gHex","bHex","referenceColor","darkTextHex","lightTextHex","referenceRgb","darkTextRgb","lightTextRgb","hue","_rest","_l1Hue","l1Chroma","l1Luminance","_d1Hue","_d1Chroma","d1Luminance","chromaCurve","luminanceCurve","chroma","lStep","dStep","lightLuminance","darkLuminance","t","value","v1","h","channel","backgroundColor","textColor","lightest","contrast","y0","x0","z0","x1","y1","z1","b_","c","l_","backgroundRgb","textRgb","luminance","NeonColorUtils","__publicField"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NeonColorUtils.cjs.js","sources":["../../../src/common/utils/NeonColorUtils.ts"],"sourcesContent":["import type { NeonContrastAccessibility } from '@/common/models/NeonContrastAccessibility';\n\n/**\n * Utility class with helpers for calculating relative contrast & determining accessibility.\n */\nexport class NeonColorUtils {\n private static red = 0.2126;\n private static green = 0.7152;\n private static blue = 0.0722;\n private static labXn = 0.95047;\n private static labYn = 1;\n private static labZn = 1.08883;\n private static labT0 = 0.137931034; // 4 / 29\n private static labT1 = 0.206896552; // 6 / 29\n private static labT2 = 0.12841855; // 3 * t1 * t1\n private static labT3 = 0.008856452; // t1 * t1 * t1\n private static degreesToRadians = Math.PI / 180;\n private static radiansToDegrees = 180 / Math.PI;\n\n private static gamma = 2.4;\n\n public static luminance([r, g, b]: Array<number>) {\n const a = [r, g, b].map((v) => {\n v /= 255;\n return v <= 0.03928 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, NeonColorUtils.gamma);\n });\n return a[0] * NeonColorUtils.red + a[1] * NeonColorUtils.green + a[2] * NeonColorUtils.blue;\n }\n\n public static toRgb(hexString: string): Array<number> {\n return [\n Number.parseInt(hexString.substring(1, 3), 16),\n Number.parseInt(hexString.substring(3, 5), 16),\n Number.parseInt(hexString.substring(5, 7), 16),\n ];\n }\n\n public static rgbToXyz(rgb: Array<number>): Array<number> {\n const [r, g, b] = rgb;\n const r1 = NeonColorUtils.rgbValueToXyz(r);\n const g1 = NeonColorUtils.rgbValueToXyz(g);\n const b1 = NeonColorUtils.rgbValueToXyz(b);\n\n const x = NeonColorUtils.xyzToLab((0.4124564 * r1 + 0.3575761 * g1 + 0.1804375 * b1) / NeonColorUtils.labXn);\n const y = NeonColorUtils.xyzToLab((0.2126729 * r1 + 0.7151522 * g1 + 0.072175 * b1) / NeonColorUtils.labYn);\n const z = NeonColorUtils.xyzToLab((0.0193339 * r1 + 0.119192 * g1 + 0.9503041 * b1) / NeonColorUtils.labZn);\n\n return [x, y, z];\n }\n\n public static rgbToLab(rgb: Array<number>): Array<number> {\n const [x, y, z] = NeonColorUtils.rgbToXyz(rgb);\n const l = 116 * y - 16;\n return [Math.max(l, 0), 500 * (x - y), 200 * (y - z)];\n }\n\n public static rgbToHcl(rgb: Array<number>): Array<number> {\n const lab = NeonColorUtils.rgbToLab(rgb);\n return NeonColorUtils.labToHcl(lab);\n }\n\n public static isAccessible(rgb1: string, rgb2: string): NeonContrastAccessibility {\n const ratio = NeonColorUtils.contrast(NeonColorUtils.toRgb(rgb1), NeonColorUtils.toRgb(rgb2));\n\n const result = {\n largeAA: false,\n largeAAA: false,\n normalAA: false,\n normalAAA: false,\n ratio: Math.round(100 * ratio) / 100,\n };\n\n if (ratio >= 3) {\n result.largeAA = true;\n\n if (ratio >= 4.5) {\n result.normalAA = true;\n result.largeAAA = true;\n\n if (ratio >= 7) {\n result.normalAAA = true;\n }\n }\n }\n\n return result;\n }\n\n public static contrast(rgb1: Array<number>, rgb2: Array<number>) {\n const lum1 = NeonColorUtils.luminance(rgb1);\n const lum2 = NeonColorUtils.luminance(rgb2);\n const brightest = Math.max(lum1, lum2);\n const darkest = Math.min(lum1, lum2);\n return (brightest + 0.05) / (darkest + 0.05);\n }\n\n public static rgbToHex(rgb: Array<number>): string {\n const [r, g, b] = rgb;\n const rHex = r.toString(16);\n const gHex = g.toString(16);\n const bHex = b.toString(16);\n return `#${rHex.length === 1 ? `0${rHex}` : rHex}${gHex.length === 1 ? `0${gHex}` : gHex}${\n bHex.length === 1 ? `0${bHex}` : bHex\n }`;\n }\n\n public static generatePalette(\n referenceColor: string,\n darkTextHex: string,\n lightTextHex: string,\n ): Record<string, string> {\n const referenceRgb = NeonColorUtils.toRgb(referenceColor);\n const [r, g, b] = referenceRgb;\n const darkTextRgb = NeonColorUtils.toRgb(darkTextHex);\n const lightTextRgb = NeonColorUtils.toRgb(lightTextHex);\n\n const [hue, _rest] = NeonColorUtils.rgbToHcl(referenceRgb);\n\n const [_l1Hue, l1Chroma, l1Luminance] = NeonColorUtils.lightReferenceColor(referenceRgb, darkTextRgb);\n const [_d1Hue, _d1Chroma, d1Luminance] = NeonColorUtils.darkReferenceColor(referenceRgb, lightTextRgb);\n\n const chromaCurve = NeonColorUtils.generateChromaCurve(l1Chroma);\n const luminanceCurve = NeonColorUtils.generateLuminanceCurve(l1Luminance, d1Luminance);\n\n // if blue is the dominant channel then adjust hue so it's not too purple\n // TODO: rework for some blue colors as they are still too purple\n if (b > 2 * g && b > 2 * r) {\n return {\n l5: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 30, chromaCurve[0], luminanceCurve[0])),\n l4: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 25, chromaCurve[1], luminanceCurve[1])),\n l3: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 20, chromaCurve[2], luminanceCurve[2])),\n l2: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 15, chromaCurve[3], luminanceCurve[3])),\n l1: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[4], luminanceCurve[4])),\n d1: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[5], luminanceCurve[5])),\n d2: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[6], luminanceCurve[6])),\n d3: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[7], luminanceCurve[7])),\n d4: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[8], luminanceCurve[8])),\n d5: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[9], luminanceCurve[9])),\n };\n } else {\n return {\n l5: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[0], luminanceCurve[0])),\n l4: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[1], luminanceCurve[1])),\n l3: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[2], luminanceCurve[2])),\n l2: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[3], luminanceCurve[3])),\n l1: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[4], luminanceCurve[4])),\n d1: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[5], luminanceCurve[5])),\n d2: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[6], luminanceCurve[6])),\n d3: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[7], luminanceCurve[7])),\n d4: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[8], luminanceCurve[8])),\n d5: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[9], luminanceCurve[9])),\n };\n }\n }\n\n private static generateChromaCurve(chroma: number) {\n const lStep = 0.25 * Math.abs(chroma - 10);\n const dStep = 0.25 * Math.abs(chroma - 10);\n\n return [\n chroma - 4 * lStep,\n chroma - 3 * lStep + 4,\n chroma - 2 * lStep + 6,\n chroma - lStep + 4,\n chroma,\n chroma,\n chroma - dStep + 4,\n chroma - 2 * dStep + 6,\n chroma - 3 * dStep + 4,\n chroma - 4 * dStep,\n ];\n }\n\n private static generateLuminanceCurve(lightLuminance: number, darkLuminance: number) {\n const lStep = 0.25 * (96 - lightLuminance);\n const dStep = 0.25 * (darkLuminance - 10);\n\n return [\n lightLuminance + 4 * lStep,\n lightLuminance + 3 * lStep,\n lightLuminance + 2 * lStep,\n lightLuminance + lStep,\n lightLuminance,\n darkLuminance,\n darkLuminance - dStep + 2,\n darkLuminance - 2 * dStep + 1,\n darkLuminance - 3 * dStep - 1,\n darkLuminance - 4 * dStep,\n ];\n }\n\n private static xyzToLab(t: number) {\n return t > NeonColorUtils.labT3 ? Math.pow(t, 1 / 3) : t / NeonColorUtils.labT2 + NeonColorUtils.labT0;\n }\n\n private static rgbValueToXyz(value: number) {\n const v1 = value / 255;\n return v1 <= 0.04045 ? v1 / 12.92 : Math.pow((v1 + 0.055) / 1.055, 2.4);\n }\n\n private static labToHcl(lab: Array<number>) {\n const [l, a, b] = lab;\n const c = Math.sqrt(a * a + b * b);\n const h = (Math.atan2(b, a) * NeonColorUtils.radiansToDegrees + 360) % 360;\n return [Math.round(h), c, l];\n }\n\n private static luminanceByChannel(channel: number) {\n return channel <= 0.03928 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }\n\n private static relativeLuminance(rgb: Array<number>) {\n const [r, g, b] = rgb;\n const r1 = NeonColorUtils.luminanceByChannel(r / 255);\n const g1 = NeonColorUtils.luminanceByChannel(g / 255);\n const b1 = NeonColorUtils.luminanceByChannel(b / 255);\n return 0.2126 * r1 + 0.7152 * g1 + 0.0722 * b1;\n }\n\n private static contrastRatio(backgroundColor: Array<number>, textColor: Array<number>) {\n const lum1 = NeonColorUtils.relativeLuminance(backgroundColor);\n const lum2 = NeonColorUtils.relativeLuminance(textColor);\n\n const lightest = Math.max(lum1, lum2);\n const darkest = Math.min(lum1, lum2);\n\n const contrast = (lightest + 0.05) / (darkest + 0.05);\n\n return Math.floor(contrast * 100) / 100;\n }\n\n private static labToXyz(t: number) {\n return t > NeonColorUtils.labT1 ? t * t * t : NeonColorUtils.labT2 * (t - NeonColorUtils.labT0);\n }\n\n private static xyzToRgb(r: number) {\n return r <= 0.00304 ? 255 * 12.92 * r : 255 * (1.055 * Math.pow(r, 1 / 2.4) - 0.055);\n }\n\n private static labToRgb(l: number, a: number, b: number): Array<number> {\n const y0 = (l + 16) / 116;\n const x0 = y0 + a / 500;\n const z0 = y0 - b / 200;\n\n const x1 = NeonColorUtils.labXn * NeonColorUtils.labToXyz(x0);\n const y1 = NeonColorUtils.labYn * NeonColorUtils.labToXyz(y0);\n const z1 = NeonColorUtils.labZn * NeonColorUtils.labToXyz(z0);\n const r = Math.round(\n Math.min(255, Math.max(0, NeonColorUtils.xyzToRgb(3.2404542 * x1 - 1.5371385 * y1 - 0.4985314 * z1))),\n ); // D65 -> sRGB\n const g = Math.round(\n Math.min(255, Math.max(0, NeonColorUtils.xyzToRgb(-0.969266 * x1 + 1.8760108 * y1 + 0.041556 * z1))),\n );\n const b_ = Math.round(\n Math.min(255, Math.max(0, NeonColorUtils.xyzToRgb(0.0556434 * x1 - 0.2040259 * y1 + 1.0572252 * z1))),\n );\n\n return [r, g, b_];\n }\n\n private static hclToLab(h: number, c: number, l: number) {\n const hue = h * NeonColorUtils.degreesToRadians;\n return [l, Math.cos(hue) * c, Math.sin(hue) * c];\n }\n\n private static hclToRgb(h: number, c: number, l: number): Array<number> {\n const [l_, a, b] = NeonColorUtils.hclToLab(h, c, l);\n return NeonColorUtils.labToRgb(l_, a, b);\n }\n\n private static lightReferenceColor(backgroundRgb: Array<number>, textRgb: Array<number>) {\n let referenceRgb = backgroundRgb;\n const [hue, chroma, l] = NeonColorUtils.rgbToHcl(referenceRgb);\n let luminance = l;\n // check contrast and adjust lightness up if contrast ratio too low\n while (NeonColorUtils.contrastRatio(referenceRgb, textRgb) < 4.5) {\n luminance = luminance + 1;\n referenceRgb = NeonColorUtils.hclToRgb(hue, chroma, luminance);\n }\n\n return [hue, chroma, luminance];\n }\n\n private static darkReferenceColor(backgroundRgb: Array<number>, textRgb: Array<number>) {\n let referenceRgb = backgroundRgb;\n const [hue, chroma, l] = NeonColorUtils.rgbToHcl(referenceRgb);\n let luminance = l;\n // check contrast and adjust lightness down if contrast ratio too low\n while (NeonColorUtils.contrastRatio(referenceRgb, textRgb) < 4.5) {\n luminance = luminance - 1;\n referenceRgb = NeonColorUtils.hclToRgb(hue, chroma, luminance);\n }\n\n return [hue, chroma, luminance];\n }\n}\n"],"names":["_NeonColorUtils","r","g","b","a","v","hexString","rgb","r1","g1","b1","x","y","z","l","lab","rgb1","rgb2","ratio","result","lum1","lum2","brightest","darkest","rHex","gHex","bHex","referenceColor","darkTextHex","lightTextHex","referenceRgb","darkTextRgb","lightTextRgb","hue","_rest","_l1Hue","l1Chroma","l1Luminance","_d1Hue","_d1Chroma","d1Luminance","chromaCurve","luminanceCurve","chroma","lStep","dStep","lightLuminance","darkLuminance","t","value","v1","h","channel","backgroundColor","textColor","lightest","contrast","y0","x0","z0","x1","y1","z1","b_","c","l_","backgroundRgb","textRgb","luminance","__publicField","NeonColorUtils"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var y = Object.defineProperty;
|
|
2
|
-
var z = (
|
|
3
|
-
var
|
|
4
|
-
const t = class {
|
|
2
|
+
var z = (i, e, a) => e in i ? y(i, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : i[e] = a;
|
|
3
|
+
var T = (i, e, a) => (z(i, typeof e != "symbol" ? e + "" : e, a), a);
|
|
4
|
+
const t = class t {
|
|
5
5
|
static luminance([e, a, r]) {
|
|
6
6
|
const n = [e, a, r].map((c) => (c /= 255, c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, t.gamma)));
|
|
7
7
|
return n[0] * t.red + n[1] * t.green + n[2] * t.blue;
|
|
@@ -14,8 +14,8 @@ const t = class {
|
|
|
14
14
|
];
|
|
15
15
|
}
|
|
16
16
|
static rgbToXyz(e) {
|
|
17
|
-
const [a, r, n] = e, c = t.rgbValueToXyz(a), b = t.rgbValueToXyz(r), o = t.rgbValueToXyz(n),
|
|
18
|
-
return [
|
|
17
|
+
const [a, r, n] = e, c = t.rgbValueToXyz(a), b = t.rgbValueToXyz(r), o = t.rgbValueToXyz(n), u = t.xyzToLab((0.4124564 * c + 0.3575761 * b + 0.1804375 * o) / t.labXn), h = t.xyzToLab((0.2126729 * c + 0.7151522 * b + 0.072175 * o) / t.labYn), s = t.xyzToLab((0.0193339 * c + 0.119192 * b + 0.9503041 * o) / t.labZn);
|
|
18
|
+
return [u, h, s];
|
|
19
19
|
}
|
|
20
20
|
static rgbToLab(e) {
|
|
21
21
|
const [a, r, n] = t.rgbToXyz(e), c = 116 * r - 16;
|
|
@@ -44,7 +44,7 @@ const t = class {
|
|
|
44
44
|
return `#${c.length === 1 ? `0${c}` : c}${b.length === 1 ? `0${b}` : b}${o.length === 1 ? `0${o}` : o}`;
|
|
45
45
|
}
|
|
46
46
|
static generatePalette(e, a, r) {
|
|
47
|
-
const n = t.toRgb(e), [c, b, o] = n,
|
|
47
|
+
const n = t.toRgb(e), [c, b, o] = n, u = t.toRgb(a), h = t.toRgb(r), [s, R] = t.rgbToHcl(n), [x, m, M] = t.lightReferenceColor(n, u), [A, f, d] = t.darkReferenceColor(n, h), l = t.generateChromaCurve(m), g = t.generateLuminanceCurve(M, d);
|
|
48
48
|
return o > 2 * b && o > 2 * c ? {
|
|
49
49
|
l5: t.rgbToHex(t.hclToRgb(s - 30, l[0], g[0])),
|
|
50
50
|
l4: t.rgbToHex(t.hclToRgb(s - 25, l[1], g[1])),
|
|
@@ -128,14 +128,14 @@ const t = class {
|
|
|
128
128
|
return e <= 304e-5 ? 255 * 12.92 * e : 255 * (1.055 * Math.pow(e, 1 / 2.4) - 0.055);
|
|
129
129
|
}
|
|
130
130
|
static labToRgb(e, a, r) {
|
|
131
|
-
const n = (e + 16) / 116, c = n + a / 500, b = n - r / 200, o = t.labXn * t.labToXyz(c),
|
|
132
|
-
Math.min(255, Math.max(0, t.xyzToRgb(3.2404542 * o - 1.5371385 *
|
|
131
|
+
const n = (e + 16) / 116, c = n + a / 500, b = n - r / 200, o = t.labXn * t.labToXyz(c), u = t.labYn * t.labToXyz(n), h = t.labZn * t.labToXyz(b), s = Math.round(
|
|
132
|
+
Math.min(255, Math.max(0, t.xyzToRgb(3.2404542 * o - 1.5371385 * u - 0.4985314 * h)))
|
|
133
|
+
), R = Math.round(
|
|
134
|
+
Math.min(255, Math.max(0, t.xyzToRgb(-0.969266 * o + 1.8760108 * u + 0.041556 * h)))
|
|
133
135
|
), x = Math.round(
|
|
134
|
-
Math.min(255, Math.max(0, t.xyzToRgb(
|
|
135
|
-
), H = Math.round(
|
|
136
|
-
Math.min(255, Math.max(0, t.xyzToRgb(0.0556434 * o - 0.2040259 * h + 1.0572252 * i)))
|
|
136
|
+
Math.min(255, Math.max(0, t.xyzToRgb(0.0556434 * o - 0.2040259 * u + 1.0572252 * h)))
|
|
137
137
|
);
|
|
138
|
-
return [s,
|
|
138
|
+
return [s, R, x];
|
|
139
139
|
}
|
|
140
140
|
static hclToLab(e, a, r) {
|
|
141
141
|
const n = e * t.degreesToRadians;
|
|
@@ -162,13 +162,13 @@ const t = class {
|
|
|
162
162
|
return [n, c, o];
|
|
163
163
|
}
|
|
164
164
|
};
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
165
|
+
T(t, "red", 0.2126), T(t, "green", 0.7152), T(t, "blue", 0.0722), T(t, "labXn", 0.95047), T(t, "labYn", 1), T(t, "labZn", 1.08883), T(t, "labT0", 0.137931034), // 4 / 29
|
|
166
|
+
T(t, "labT1", 0.206896552), // 6 / 29
|
|
167
|
+
T(t, "labT2", 0.12841855), // 3 * t1 * t1
|
|
168
|
+
T(t, "labT3", 8856452e-9), // t1 * t1 * t1
|
|
169
|
+
T(t, "degreesToRadians", Math.PI / 180), T(t, "radiansToDegrees", 180 / Math.PI), T(t, "gamma", 2.4);
|
|
170
|
+
let H = t;
|
|
171
171
|
export {
|
|
172
|
-
|
|
172
|
+
H as NeonColorUtils
|
|
173
173
|
};
|
|
174
174
|
//# sourceMappingURL=NeonColorUtils.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeonColorUtils.es.js","sources":["../../../src/common/utils/NeonColorUtils.ts"],"sourcesContent":["import type { NeonContrastAccessibility } from '@/common/models/NeonContrastAccessibility';\n\n/**\n * Utility class with helpers for calculating relative contrast & determining accessibility.\n */\nexport class NeonColorUtils {\n private static red = 0.2126;\n private static green = 0.7152;\n private static blue = 0.0722;\n private static labXn = 0.95047;\n private static labYn = 1;\n private static labZn = 1.08883;\n private static labT0 = 0.137931034; // 4 / 29\n private static labT1 = 0.206896552; // 6 / 29\n private static labT2 = 0.12841855; // 3 * t1 * t1\n private static labT3 = 0.008856452; // t1 * t1 * t1\n private static degreesToRadians = Math.PI / 180;\n private static radiansToDegrees = 180 / Math.PI;\n\n private static gamma = 2.4;\n\n public static luminance([r, g, b]: Array<number>) {\n const a = [r, g, b].map((v) => {\n v /= 255;\n return v <= 0.03928 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, NeonColorUtils.gamma);\n });\n return a[0] * NeonColorUtils.red + a[1] * NeonColorUtils.green + a[2] * NeonColorUtils.blue;\n }\n\n public static toRgb(hexString: string): Array<number> {\n return [\n Number.parseInt(hexString.substring(1, 3), 16),\n Number.parseInt(hexString.substring(3, 5), 16),\n Number.parseInt(hexString.substring(5, 7), 16),\n ];\n }\n\n public static rgbToXyz(rgb: Array<number>): Array<number> {\n const [r, g, b] = rgb;\n const r1 = NeonColorUtils.rgbValueToXyz(r);\n const g1 = NeonColorUtils.rgbValueToXyz(g);\n const b1 = NeonColorUtils.rgbValueToXyz(b);\n\n const x = NeonColorUtils.xyzToLab((0.4124564 * r1 + 0.3575761 * g1 + 0.1804375 * b1) / NeonColorUtils.labXn);\n const y = NeonColorUtils.xyzToLab((0.2126729 * r1 + 0.7151522 * g1 + 0.072175 * b1) / NeonColorUtils.labYn);\n const z = NeonColorUtils.xyzToLab((0.0193339 * r1 + 0.119192 * g1 + 0.9503041 * b1) / NeonColorUtils.labZn);\n\n return [x, y, z];\n }\n\n public static rgbToLab(rgb: Array<number>): Array<number> {\n const [x, y, z] = NeonColorUtils.rgbToXyz(rgb);\n const l = 116 * y - 16;\n return [Math.max(l, 0), 500 * (x - y), 200 * (y - z)];\n }\n\n public static rgbToHcl(rgb: Array<number>): Array<number> {\n const lab = NeonColorUtils.rgbToLab(rgb);\n return NeonColorUtils.labToHcl(lab);\n }\n\n public static isAccessible(rgb1: string, rgb2: string): NeonContrastAccessibility {\n const ratio = NeonColorUtils.contrast(NeonColorUtils.toRgb(rgb1), NeonColorUtils.toRgb(rgb2));\n\n const result = {\n largeAA: false,\n largeAAA: false,\n normalAA: false,\n normalAAA: false,\n ratio: Math.round(100 * ratio) / 100,\n };\n\n if (ratio >= 3) {\n result.largeAA = true;\n\n if (ratio >= 4.5) {\n result.normalAA = true;\n result.largeAAA = true;\n\n if (ratio >= 7) {\n result.normalAAA = true;\n }\n }\n }\n\n return result;\n }\n\n public static contrast(rgb1: Array<number>, rgb2: Array<number>) {\n const lum1 = NeonColorUtils.luminance(rgb1);\n const lum2 = NeonColorUtils.luminance(rgb2);\n const brightest = Math.max(lum1, lum2);\n const darkest = Math.min(lum1, lum2);\n return (brightest + 0.05) / (darkest + 0.05);\n }\n\n public static rgbToHex(rgb: Array<number>): string {\n const [r, g, b] = rgb;\n const rHex = r.toString(16);\n const gHex = g.toString(16);\n const bHex = b.toString(16);\n return `#${rHex.length === 1 ? `0${rHex}` : rHex}${gHex.length === 1 ? `0${gHex}` : gHex}${\n bHex.length === 1 ? `0${bHex}` : bHex\n }`;\n }\n\n public static generatePalette(\n referenceColor: string,\n darkTextHex: string,\n lightTextHex: string,\n ): Record<string, string> {\n const referenceRgb = NeonColorUtils.toRgb(referenceColor);\n const [r, g, b] = referenceRgb;\n const darkTextRgb = NeonColorUtils.toRgb(darkTextHex);\n const lightTextRgb = NeonColorUtils.toRgb(lightTextHex);\n\n const [hue, _rest] = NeonColorUtils.rgbToHcl(referenceRgb);\n\n const [_l1Hue, l1Chroma, l1Luminance] = NeonColorUtils.lightReferenceColor(referenceRgb, darkTextRgb);\n const [_d1Hue, _d1Chroma, d1Luminance] = NeonColorUtils.darkReferenceColor(referenceRgb, lightTextRgb);\n\n const chromaCurve = NeonColorUtils.generateChromaCurve(l1Chroma);\n const luminanceCurve = NeonColorUtils.generateLuminanceCurve(l1Luminance, d1Luminance);\n\n // if blue is the dominant channel then adjust hue so it's not too purple\n // TODO: rework for some blue colors as they are still too purple\n if (b > 2 * g && b > 2 * r) {\n return {\n l5: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 30, chromaCurve[0], luminanceCurve[0])),\n l4: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 25, chromaCurve[1], luminanceCurve[1])),\n l3: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 20, chromaCurve[2], luminanceCurve[2])),\n l2: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 15, chromaCurve[3], luminanceCurve[3])),\n l1: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[4], luminanceCurve[4])),\n d1: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[5], luminanceCurve[5])),\n d2: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[6], luminanceCurve[6])),\n d3: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[7], luminanceCurve[7])),\n d4: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[8], luminanceCurve[8])),\n d5: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[9], luminanceCurve[9])),\n };\n } else {\n return {\n l5: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[0], luminanceCurve[0])),\n l4: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[1], luminanceCurve[1])),\n l3: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[2], luminanceCurve[2])),\n l2: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[3], luminanceCurve[3])),\n l1: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[4], luminanceCurve[4])),\n d1: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[5], luminanceCurve[5])),\n d2: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[6], luminanceCurve[6])),\n d3: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[7], luminanceCurve[7])),\n d4: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[8], luminanceCurve[8])),\n d5: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[9], luminanceCurve[9])),\n };\n }\n }\n\n private static generateChromaCurve(chroma: number) {\n const lStep = 0.25 * Math.abs(chroma - 10);\n const dStep = 0.25 * Math.abs(chroma - 10);\n\n return [\n chroma - 4 * lStep,\n chroma - 3 * lStep + 4,\n chroma - 2 * lStep + 6,\n chroma - lStep + 4,\n chroma,\n chroma,\n chroma - dStep + 4,\n chroma - 2 * dStep + 6,\n chroma - 3 * dStep + 4,\n chroma - 4 * dStep,\n ];\n }\n\n private static generateLuminanceCurve(lightLuminance: number, darkLuminance: number) {\n const lStep = 0.25 * (96 - lightLuminance);\n const dStep = 0.25 * (darkLuminance - 10);\n\n return [\n lightLuminance + 4 * lStep,\n lightLuminance + 3 * lStep,\n lightLuminance + 2 * lStep,\n lightLuminance + lStep,\n lightLuminance,\n darkLuminance,\n darkLuminance - dStep + 2,\n darkLuminance - 2 * dStep + 1,\n darkLuminance - 3 * dStep - 1,\n darkLuminance - 4 * dStep,\n ];\n }\n\n private static xyzToLab(t: number) {\n return t > NeonColorUtils.labT3 ? Math.pow(t, 1 / 3) : t / NeonColorUtils.labT2 + NeonColorUtils.labT0;\n }\n\n private static rgbValueToXyz(value: number) {\n const v1 = value / 255;\n return v1 <= 0.04045 ? v1 / 12.92 : Math.pow((v1 + 0.055) / 1.055, 2.4);\n }\n\n private static labToHcl(lab: Array<number>) {\n const [l, a, b] = lab;\n const c = Math.sqrt(a * a + b * b);\n const h = (Math.atan2(b, a) * NeonColorUtils.radiansToDegrees + 360) % 360;\n return [Math.round(h), c, l];\n }\n\n private static luminanceByChannel(channel: number) {\n return channel <= 0.03928 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }\n\n private static relativeLuminance(rgb: Array<number>) {\n const [r, g, b] = rgb;\n const r1 = NeonColorUtils.luminanceByChannel(r / 255);\n const g1 = NeonColorUtils.luminanceByChannel(g / 255);\n const b1 = NeonColorUtils.luminanceByChannel(b / 255);\n return 0.2126 * r1 + 0.7152 * g1 + 0.0722 * b1;\n }\n\n private static contrastRatio(backgroundColor: Array<number>, textColor: Array<number>) {\n const lum1 = NeonColorUtils.relativeLuminance(backgroundColor);\n const lum2 = NeonColorUtils.relativeLuminance(textColor);\n\n const lightest = Math.max(lum1, lum2);\n const darkest = Math.min(lum1, lum2);\n\n const contrast = (lightest + 0.05) / (darkest + 0.05);\n\n return Math.floor(contrast * 100) / 100;\n }\n\n private static labToXyz(t: number) {\n return t > NeonColorUtils.labT1 ? t * t * t : NeonColorUtils.labT2 * (t - NeonColorUtils.labT0);\n }\n\n private static xyzToRgb(r: number) {\n return r <= 0.00304 ? 255 * 12.92 * r : 255 * (1.055 * Math.pow(r, 1 / 2.4) - 0.055);\n }\n\n private static labToRgb(l: number, a: number, b: number): Array<number> {\n const y0 = (l + 16) / 116;\n const x0 = y0 + a / 500;\n const z0 = y0 - b / 200;\n\n const x1 = NeonColorUtils.labXn * NeonColorUtils.labToXyz(x0);\n const y1 = NeonColorUtils.labYn * NeonColorUtils.labToXyz(y0);\n const z1 = NeonColorUtils.labZn * NeonColorUtils.labToXyz(z0);\n const r = Math.round(\n Math.min(255, Math.max(0, NeonColorUtils.xyzToRgb(3.2404542 * x1 - 1.5371385 * y1 - 0.4985314 * z1))),\n ); // D65 -> sRGB\n const g = Math.round(\n Math.min(255, Math.max(0, NeonColorUtils.xyzToRgb(-0.969266 * x1 + 1.8760108 * y1 + 0.041556 * z1))),\n );\n const b_ = Math.round(\n Math.min(255, Math.max(0, NeonColorUtils.xyzToRgb(0.0556434 * x1 - 0.2040259 * y1 + 1.0572252 * z1))),\n );\n\n return [r, g, b_];\n }\n\n private static hclToLab(h: number, c: number, l: number) {\n const hue = h * NeonColorUtils.degreesToRadians;\n return [l, Math.cos(hue) * c, Math.sin(hue) * c];\n }\n\n private static hclToRgb(h: number, c: number, l: number): Array<number> {\n const [l_, a, b] = NeonColorUtils.hclToLab(h, c, l);\n return NeonColorUtils.labToRgb(l_, a, b);\n }\n\n private static lightReferenceColor(backgroundRgb: Array<number>, textRgb: Array<number>) {\n let referenceRgb = backgroundRgb;\n const [hue, chroma, l] = NeonColorUtils.rgbToHcl(referenceRgb);\n let luminance = l;\n // check contrast and adjust lightness up if contrast ratio too low\n while (NeonColorUtils.contrastRatio(referenceRgb, textRgb) < 4.5) {\n luminance = luminance + 1;\n referenceRgb = NeonColorUtils.hclToRgb(hue, chroma, luminance);\n }\n\n return [hue, chroma, luminance];\n }\n\n private static darkReferenceColor(backgroundRgb: Array<number>, textRgb: Array<number>) {\n let referenceRgb = backgroundRgb;\n const [hue, chroma, l] = NeonColorUtils.rgbToHcl(referenceRgb);\n let luminance = l;\n // check contrast and adjust lightness down if contrast ratio too low\n while (NeonColorUtils.contrastRatio(referenceRgb, textRgb) < 4.5) {\n luminance = luminance - 1;\n referenceRgb = NeonColorUtils.hclToRgb(hue, chroma, luminance);\n }\n\n return [hue, chroma, luminance];\n }\n}\n"],"names":["_NeonColorUtils","r","g","b","a","v","hexString","rgb","r1","g1","b1","x","y","z","l","lab","rgb1","rgb2","ratio","result","lum1","lum2","brightest","darkest","rHex","gHex","bHex","referenceColor","darkTextHex","lightTextHex","referenceRgb","darkTextRgb","lightTextRgb","hue","_rest","_l1Hue","l1Chroma","l1Luminance","_d1Hue","_d1Chroma","d1Luminance","chromaCurve","luminanceCurve","chroma","lStep","dStep","lightLuminance","darkLuminance","t","value","v1","h","channel","backgroundColor","textColor","lightest","contrast","y0","x0","z0","x1","y1","z1","b_","c","l_","backgroundRgb","textRgb","luminance","NeonColorUtils","__publicField"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NeonColorUtils.es.js","sources":["../../../src/common/utils/NeonColorUtils.ts"],"sourcesContent":["import type { NeonContrastAccessibility } from '@/common/models/NeonContrastAccessibility';\n\n/**\n * Utility class with helpers for calculating relative contrast & determining accessibility.\n */\nexport class NeonColorUtils {\n private static red = 0.2126;\n private static green = 0.7152;\n private static blue = 0.0722;\n private static labXn = 0.95047;\n private static labYn = 1;\n private static labZn = 1.08883;\n private static labT0 = 0.137931034; // 4 / 29\n private static labT1 = 0.206896552; // 6 / 29\n private static labT2 = 0.12841855; // 3 * t1 * t1\n private static labT3 = 0.008856452; // t1 * t1 * t1\n private static degreesToRadians = Math.PI / 180;\n private static radiansToDegrees = 180 / Math.PI;\n\n private static gamma = 2.4;\n\n public static luminance([r, g, b]: Array<number>) {\n const a = [r, g, b].map((v) => {\n v /= 255;\n return v <= 0.03928 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, NeonColorUtils.gamma);\n });\n return a[0] * NeonColorUtils.red + a[1] * NeonColorUtils.green + a[2] * NeonColorUtils.blue;\n }\n\n public static toRgb(hexString: string): Array<number> {\n return [\n Number.parseInt(hexString.substring(1, 3), 16),\n Number.parseInt(hexString.substring(3, 5), 16),\n Number.parseInt(hexString.substring(5, 7), 16),\n ];\n }\n\n public static rgbToXyz(rgb: Array<number>): Array<number> {\n const [r, g, b] = rgb;\n const r1 = NeonColorUtils.rgbValueToXyz(r);\n const g1 = NeonColorUtils.rgbValueToXyz(g);\n const b1 = NeonColorUtils.rgbValueToXyz(b);\n\n const x = NeonColorUtils.xyzToLab((0.4124564 * r1 + 0.3575761 * g1 + 0.1804375 * b1) / NeonColorUtils.labXn);\n const y = NeonColorUtils.xyzToLab((0.2126729 * r1 + 0.7151522 * g1 + 0.072175 * b1) / NeonColorUtils.labYn);\n const z = NeonColorUtils.xyzToLab((0.0193339 * r1 + 0.119192 * g1 + 0.9503041 * b1) / NeonColorUtils.labZn);\n\n return [x, y, z];\n }\n\n public static rgbToLab(rgb: Array<number>): Array<number> {\n const [x, y, z] = NeonColorUtils.rgbToXyz(rgb);\n const l = 116 * y - 16;\n return [Math.max(l, 0), 500 * (x - y), 200 * (y - z)];\n }\n\n public static rgbToHcl(rgb: Array<number>): Array<number> {\n const lab = NeonColorUtils.rgbToLab(rgb);\n return NeonColorUtils.labToHcl(lab);\n }\n\n public static isAccessible(rgb1: string, rgb2: string): NeonContrastAccessibility {\n const ratio = NeonColorUtils.contrast(NeonColorUtils.toRgb(rgb1), NeonColorUtils.toRgb(rgb2));\n\n const result = {\n largeAA: false,\n largeAAA: false,\n normalAA: false,\n normalAAA: false,\n ratio: Math.round(100 * ratio) / 100,\n };\n\n if (ratio >= 3) {\n result.largeAA = true;\n\n if (ratio >= 4.5) {\n result.normalAA = true;\n result.largeAAA = true;\n\n if (ratio >= 7) {\n result.normalAAA = true;\n }\n }\n }\n\n return result;\n }\n\n public static contrast(rgb1: Array<number>, rgb2: Array<number>) {\n const lum1 = NeonColorUtils.luminance(rgb1);\n const lum2 = NeonColorUtils.luminance(rgb2);\n const brightest = Math.max(lum1, lum2);\n const darkest = Math.min(lum1, lum2);\n return (brightest + 0.05) / (darkest + 0.05);\n }\n\n public static rgbToHex(rgb: Array<number>): string {\n const [r, g, b] = rgb;\n const rHex = r.toString(16);\n const gHex = g.toString(16);\n const bHex = b.toString(16);\n return `#${rHex.length === 1 ? `0${rHex}` : rHex}${gHex.length === 1 ? `0${gHex}` : gHex}${\n bHex.length === 1 ? `0${bHex}` : bHex\n }`;\n }\n\n public static generatePalette(\n referenceColor: string,\n darkTextHex: string,\n lightTextHex: string,\n ): Record<string, string> {\n const referenceRgb = NeonColorUtils.toRgb(referenceColor);\n const [r, g, b] = referenceRgb;\n const darkTextRgb = NeonColorUtils.toRgb(darkTextHex);\n const lightTextRgb = NeonColorUtils.toRgb(lightTextHex);\n\n const [hue, _rest] = NeonColorUtils.rgbToHcl(referenceRgb);\n\n const [_l1Hue, l1Chroma, l1Luminance] = NeonColorUtils.lightReferenceColor(referenceRgb, darkTextRgb);\n const [_d1Hue, _d1Chroma, d1Luminance] = NeonColorUtils.darkReferenceColor(referenceRgb, lightTextRgb);\n\n const chromaCurve = NeonColorUtils.generateChromaCurve(l1Chroma);\n const luminanceCurve = NeonColorUtils.generateLuminanceCurve(l1Luminance, d1Luminance);\n\n // if blue is the dominant channel then adjust hue so it's not too purple\n // TODO: rework for some blue colors as they are still too purple\n if (b > 2 * g && b > 2 * r) {\n return {\n l5: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 30, chromaCurve[0], luminanceCurve[0])),\n l4: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 25, chromaCurve[1], luminanceCurve[1])),\n l3: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 20, chromaCurve[2], luminanceCurve[2])),\n l2: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 15, chromaCurve[3], luminanceCurve[3])),\n l1: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[4], luminanceCurve[4])),\n d1: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[5], luminanceCurve[5])),\n d2: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[6], luminanceCurve[6])),\n d3: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[7], luminanceCurve[7])),\n d4: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[8], luminanceCurve[8])),\n d5: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue - 10, chromaCurve[9], luminanceCurve[9])),\n };\n } else {\n return {\n l5: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[0], luminanceCurve[0])),\n l4: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[1], luminanceCurve[1])),\n l3: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[2], luminanceCurve[2])),\n l2: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[3], luminanceCurve[3])),\n l1: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[4], luminanceCurve[4])),\n d1: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[5], luminanceCurve[5])),\n d2: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[6], luminanceCurve[6])),\n d3: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[7], luminanceCurve[7])),\n d4: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[8], luminanceCurve[8])),\n d5: NeonColorUtils.rgbToHex(NeonColorUtils.hclToRgb(hue, chromaCurve[9], luminanceCurve[9])),\n };\n }\n }\n\n private static generateChromaCurve(chroma: number) {\n const lStep = 0.25 * Math.abs(chroma - 10);\n const dStep = 0.25 * Math.abs(chroma - 10);\n\n return [\n chroma - 4 * lStep,\n chroma - 3 * lStep + 4,\n chroma - 2 * lStep + 6,\n chroma - lStep + 4,\n chroma,\n chroma,\n chroma - dStep + 4,\n chroma - 2 * dStep + 6,\n chroma - 3 * dStep + 4,\n chroma - 4 * dStep,\n ];\n }\n\n private static generateLuminanceCurve(lightLuminance: number, darkLuminance: number) {\n const lStep = 0.25 * (96 - lightLuminance);\n const dStep = 0.25 * (darkLuminance - 10);\n\n return [\n lightLuminance + 4 * lStep,\n lightLuminance + 3 * lStep,\n lightLuminance + 2 * lStep,\n lightLuminance + lStep,\n lightLuminance,\n darkLuminance,\n darkLuminance - dStep + 2,\n darkLuminance - 2 * dStep + 1,\n darkLuminance - 3 * dStep - 1,\n darkLuminance - 4 * dStep,\n ];\n }\n\n private static xyzToLab(t: number) {\n return t > NeonColorUtils.labT3 ? Math.pow(t, 1 / 3) : t / NeonColorUtils.labT2 + NeonColorUtils.labT0;\n }\n\n private static rgbValueToXyz(value: number) {\n const v1 = value / 255;\n return v1 <= 0.04045 ? v1 / 12.92 : Math.pow((v1 + 0.055) / 1.055, 2.4);\n }\n\n private static labToHcl(lab: Array<number>) {\n const [l, a, b] = lab;\n const c = Math.sqrt(a * a + b * b);\n const h = (Math.atan2(b, a) * NeonColorUtils.radiansToDegrees + 360) % 360;\n return [Math.round(h), c, l];\n }\n\n private static luminanceByChannel(channel: number) {\n return channel <= 0.03928 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }\n\n private static relativeLuminance(rgb: Array<number>) {\n const [r, g, b] = rgb;\n const r1 = NeonColorUtils.luminanceByChannel(r / 255);\n const g1 = NeonColorUtils.luminanceByChannel(g / 255);\n const b1 = NeonColorUtils.luminanceByChannel(b / 255);\n return 0.2126 * r1 + 0.7152 * g1 + 0.0722 * b1;\n }\n\n private static contrastRatio(backgroundColor: Array<number>, textColor: Array<number>) {\n const lum1 = NeonColorUtils.relativeLuminance(backgroundColor);\n const lum2 = NeonColorUtils.relativeLuminance(textColor);\n\n const lightest = Math.max(lum1, lum2);\n const darkest = Math.min(lum1, lum2);\n\n const contrast = (lightest + 0.05) / (darkest + 0.05);\n\n return Math.floor(contrast * 100) / 100;\n }\n\n private static labToXyz(t: number) {\n return t > NeonColorUtils.labT1 ? t * t * t : NeonColorUtils.labT2 * (t - NeonColorUtils.labT0);\n }\n\n private static xyzToRgb(r: number) {\n return r <= 0.00304 ? 255 * 12.92 * r : 255 * (1.055 * Math.pow(r, 1 / 2.4) - 0.055);\n }\n\n private static labToRgb(l: number, a: number, b: number): Array<number> {\n const y0 = (l + 16) / 116;\n const x0 = y0 + a / 500;\n const z0 = y0 - b / 200;\n\n const x1 = NeonColorUtils.labXn * NeonColorUtils.labToXyz(x0);\n const y1 = NeonColorUtils.labYn * NeonColorUtils.labToXyz(y0);\n const z1 = NeonColorUtils.labZn * NeonColorUtils.labToXyz(z0);\n const r = Math.round(\n Math.min(255, Math.max(0, NeonColorUtils.xyzToRgb(3.2404542 * x1 - 1.5371385 * y1 - 0.4985314 * z1))),\n ); // D65 -> sRGB\n const g = Math.round(\n Math.min(255, Math.max(0, NeonColorUtils.xyzToRgb(-0.969266 * x1 + 1.8760108 * y1 + 0.041556 * z1))),\n );\n const b_ = Math.round(\n Math.min(255, Math.max(0, NeonColorUtils.xyzToRgb(0.0556434 * x1 - 0.2040259 * y1 + 1.0572252 * z1))),\n );\n\n return [r, g, b_];\n }\n\n private static hclToLab(h: number, c: number, l: number) {\n const hue = h * NeonColorUtils.degreesToRadians;\n return [l, Math.cos(hue) * c, Math.sin(hue) * c];\n }\n\n private static hclToRgb(h: number, c: number, l: number): Array<number> {\n const [l_, a, b] = NeonColorUtils.hclToLab(h, c, l);\n return NeonColorUtils.labToRgb(l_, a, b);\n }\n\n private static lightReferenceColor(backgroundRgb: Array<number>, textRgb: Array<number>) {\n let referenceRgb = backgroundRgb;\n const [hue, chroma, l] = NeonColorUtils.rgbToHcl(referenceRgb);\n let luminance = l;\n // check contrast and adjust lightness up if contrast ratio too low\n while (NeonColorUtils.contrastRatio(referenceRgb, textRgb) < 4.5) {\n luminance = luminance + 1;\n referenceRgb = NeonColorUtils.hclToRgb(hue, chroma, luminance);\n }\n\n return [hue, chroma, luminance];\n }\n\n private static darkReferenceColor(backgroundRgb: Array<number>, textRgb: Array<number>) {\n let referenceRgb = backgroundRgb;\n const [hue, chroma, l] = NeonColorUtils.rgbToHcl(referenceRgb);\n let luminance = l;\n // check contrast and adjust lightness down if contrast ratio too low\n while (NeonColorUtils.contrastRatio(referenceRgb, textRgb) < 4.5) {\n luminance = luminance - 1;\n referenceRgb = NeonColorUtils.hclToRgb(hue, chroma, luminance);\n }\n\n return [hue, chroma, luminance];\n }\n}\n"],"names":["_NeonColorUtils","r","g","b","a","v","hexString","rgb","r1","g1","b1","x","y","z","l","lab","rgb1","rgb2","ratio","result","lum1","lum2","brightest","darkest","rHex","gHex","bHex","referenceColor","darkTextHex","lightTextHex","referenceRgb","darkTextRgb","lightTextRgb","hue","_rest","_l1Hue","l1Chroma","l1Luminance","_d1Hue","_d1Chroma","d1Luminance","chromaCurve","luminanceCurve","chroma","lStep","dStep","lightLuminance","darkLuminance","t","value","v1","h","channel","backgroundColor","textColor","lightest","contrast","y0","x0","z0","x1","y1","z1","b_","c","l_","backgroundRgb","textRgb","luminance","__publicField","NeonColorUtils"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeonDateUtils.cjs.js","sources":["../../../src/common/utils/NeonDateUtils.ts"],"sourcesContent":["import type { NeonCalendarConfig } from '@/common/models/NeonCalendarConfig';\nimport type { NeonDate } from '@/common/models/NeonDate';\n\nexport class NeonDateUtils {\n /**\n * Convert an ISO 8601 formatted string to a locale formatted date with a three letter month, a 2 digit day and a locale formatted time.\n * @param date The date/time as an <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">ISO 8601</a> string.\n * @param locale The locale for which to convert the date for display purposes, defaults to browser locale.\n * @param strict Do not add time component to localise the date.\n */\n public static stringToNeonDate(date: string, locale?: string, strict = false): NeonDate {\n const loc = locale || navigator.language;\n const now = new Date();\n const dateObj = new Date(!strict && date.length === 10 ? `${date}T${now.toISOString().split('T')[1]}` : date);\n let time;\n if (date.length > 10) {\n time = dateObj.toLocaleString(\n loc,\n date.length <= 16\n ? { hour12: false, hour: '2-digit', minute: '2-digit' }\n : { hour12: false, hour: '2-digit', minute: '2-digit', second: '2-digit' },\n );\n }\n\n const result: NeonDate = {\n year: +dateObj.toLocaleString('en-US', { year: 'numeric' }),\n yearFormatted: dateObj.toLocaleString(loc, { year: 'numeric' }),\n month: +dateObj.toLocaleString('en-US', { month: 'numeric' }),\n monthShortName: dateObj.toLocaleString(loc, { month: 'short' }),\n monthLongName: dateObj.toLocaleString(loc, { month: 'long' }),\n day: +dateObj.toLocaleString('en-US', { day: 'numeric' }),\n dayFormatted: dateObj.toLocaleString(loc, { day: '2-digit' }),\n };\n\n if (time) {\n result.time = time;\n }\n\n return result;\n }\n\n public static dateToIso(date: Date, time = false): string {\n const dateString = date.toISOString();\n return time ? dateString : dateString.split('T')[0];\n }\n\n public static dmyToIso(day: number, month: number, year: number): string {\n return `${year}-${month < 10 ? '0' + month : month}-${day < 10 ? '0' + day : day}`;\n }\n\n public static dowNames(locale?: string): Array<string> {\n const loc = locale || navigator.language;\n const date = new Date();\n\n const weekdays = [];\n while (!weekdays[date.getDay()]) {\n weekdays[date.getDay()] = date.toLocaleString(loc, { weekday: 'short' });\n date.setDate(date.getDate() + 1);\n }\n\n const sunday = weekdays.shift();\n if (sunday) {\n weekdays.push(sunday);\n }\n\n return weekdays;\n }\n\n public static monthNames(locale?: string): Array<string> {\n const loc = locale || navigator.language;\n\n return Array.from(Array(12).keys()).map((key) => {\n const date = new Date(2023, key, 15);\n return date.toLocaleString(loc, { month: 'short' });\n });\n }\n\n public static toCalendarConfiguration(\n selectedDate?: string,\n currentPageMonth?: number,\n currentPageYear?: number,\n currentPageDecadeStart?: number,\n locale?: string,\n ): NeonCalendarConfig {\n const loc = locale || navigator.language;\n const today = NeonDateUtils.stringToNeonDate(NeonDateUtils.dateToIso(new Date()), loc);\n const selected = selectedDate ? NeonDateUtils.stringToNeonDate(selectedDate, loc, true) : undefined;\n // month indexed from 1-12\n const pageMonth = currentPageMonth || today.month;\n\n // month indexed from 0-11\n const pageDate = currentPageMonth && currentPageYear ? new Date(currentPageYear, currentPageMonth - 1, 15) : null;\n const pageMonthName = pageDate?.toLocaleString(loc, { month: 'long' }) || today.monthLongName;\n const pageYear = currentPageYear || today.year;\n const pageDecadeStart = currentPageDecadeStart || Math.floor(pageYear / 10) * 10;\n\n // determine dow of first day of month. Months are indexed from 0 here\n const date = new Date(pageYear, (pageMonth + 11) % 12, 1);\n const offsetDate = new Date(pageYear, (pageMonth + 11) % 12, 1);\n offsetDate.setDate(offsetDate.getDate() - 1);\n\n const dates: Array<Array<number | null>> = [];\n\n let lastDayOfMonth = 1;\n let done = false;\n\n for (let row = 0; row < 6; row++) {\n dates[row] = [];\n\n for (let col = 0; col < 7; col++) {\n if (row === 0 && col < offsetDate.getDay()) {\n dates[row][col] = null;\n } else {\n dates[row][col] = date.getDate();\n lastDayOfMonth = date.getDate();\n date.setDate(date.getDate() + 1);\n\n if (date.getDate() === 1) {\n for (let i = col + 1; i < 7; i++) {\n dates[row][i] = null;\n }\n done = true;\n break;\n }\n }\n }\n\n if (done) {\n break;\n }\n }\n\n return {\n today,\n selected,\n pageMonth,\n pageMonthName,\n pageYear,\n pageDecadeStart,\n dowNames: NeonDateUtils.dowNames(loc),\n dates,\n lastDayOfMonth,\n months: NeonDateUtils.monthNames(loc),\n };\n }\n}\n"],"names":["NeonDateUtils","date","locale","strict","loc","now","dateObj","time","result","dateString","day","month","year","weekdays","sunday","key","selectedDate","currentPageMonth","currentPageYear","currentPageDecadeStart","today","selected","pageMonth","pageDate","pageMonthName","pageYear","pageDecadeStart","offsetDate","dates","lastDayOfMonth","done","row","col","i"],"mappings":"gFAGO,MAAMA,CAAc,CAOzB,OAAc,iBAAiBC,EAAcC,EAAiBC,EAAS,GAAiB,CAChF,MAAAC,EAAMF,GAAU,UAAU,SAC1BG,MAAU,KACVC,EAAU,IAAI,KAAK,CAACH,GAAUF,EAAK,SAAW,GAAK,GAAGA,
|
|
1
|
+
{"version":3,"file":"NeonDateUtils.cjs.js","sources":["../../../src/common/utils/NeonDateUtils.ts"],"sourcesContent":["import type { NeonCalendarConfig } from '@/common/models/NeonCalendarConfig';\nimport type { NeonDate } from '@/common/models/NeonDate';\n\nexport class NeonDateUtils {\n /**\n * Convert an ISO 8601 formatted string to a locale formatted date with a three letter month, a 2 digit day and a locale formatted time.\n * @param date The date/time as an <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">ISO 8601</a> string.\n * @param locale The locale for which to convert the date for display purposes, defaults to browser locale.\n * @param strict Do not add time component to localise the date.\n */\n public static stringToNeonDate(date: string, locale?: string, strict = false): NeonDate {\n const loc = locale || navigator.language;\n const now = new Date();\n const dateObj = new Date(!strict && date.length === 10 ? `${date}T${now.toISOString().split('T')[1]}` : date);\n let time;\n if (date.length > 10) {\n time = dateObj.toLocaleString(\n loc,\n date.length <= 16\n ? { hour12: false, hour: '2-digit', minute: '2-digit' }\n : { hour12: false, hour: '2-digit', minute: '2-digit', second: '2-digit' },\n );\n }\n\n const result: NeonDate = {\n year: +dateObj.toLocaleString('en-US', { year: 'numeric' }),\n yearFormatted: dateObj.toLocaleString(loc, { year: 'numeric' }),\n month: +dateObj.toLocaleString('en-US', { month: 'numeric' }),\n monthShortName: dateObj.toLocaleString(loc, { month: 'short' }),\n monthLongName: dateObj.toLocaleString(loc, { month: 'long' }),\n day: +dateObj.toLocaleString('en-US', { day: 'numeric' }),\n dayFormatted: dateObj.toLocaleString(loc, { day: '2-digit' }),\n };\n\n if (time) {\n result.time = time;\n }\n\n return result;\n }\n\n public static dateToIso(date: Date, time = false): string {\n const dateString = date.toISOString();\n return time ? dateString : dateString.split('T')[0];\n }\n\n public static dmyToIso(day: number, month: number, year: number): string {\n return `${year}-${month < 10 ? '0' + month : month}-${day < 10 ? '0' + day : day}`;\n }\n\n public static dowNames(locale?: string): Array<string> {\n const loc = locale || navigator.language;\n const date = new Date();\n\n const weekdays = [];\n while (!weekdays[date.getDay()]) {\n weekdays[date.getDay()] = date.toLocaleString(loc, { weekday: 'short' });\n date.setDate(date.getDate() + 1);\n }\n\n const sunday = weekdays.shift();\n if (sunday) {\n weekdays.push(sunday);\n }\n\n return weekdays;\n }\n\n public static monthNames(locale?: string): Array<string> {\n const loc = locale || navigator.language;\n\n return Array.from(Array(12).keys()).map((key) => {\n const date = new Date(2023, key, 15);\n return date.toLocaleString(loc, { month: 'short' });\n });\n }\n\n public static toCalendarConfiguration(\n selectedDate?: string,\n currentPageMonth?: number,\n currentPageYear?: number,\n currentPageDecadeStart?: number,\n locale?: string,\n ): NeonCalendarConfig {\n const loc = locale || navigator.language;\n const today = NeonDateUtils.stringToNeonDate(NeonDateUtils.dateToIso(new Date()), loc);\n const selected = selectedDate ? NeonDateUtils.stringToNeonDate(selectedDate, loc, true) : undefined;\n // month indexed from 1-12\n const pageMonth = currentPageMonth || today.month;\n\n // month indexed from 0-11\n const pageDate = currentPageMonth && currentPageYear ? new Date(currentPageYear, currentPageMonth - 1, 15) : null;\n const pageMonthName = pageDate?.toLocaleString(loc, { month: 'long' }) || today.monthLongName;\n const pageYear = currentPageYear || today.year;\n const pageDecadeStart = currentPageDecadeStart || Math.floor(pageYear / 10) * 10;\n\n // determine dow of first day of month. Months are indexed from 0 here\n const date = new Date(pageYear, (pageMonth + 11) % 12, 1);\n const offsetDate = new Date(pageYear, (pageMonth + 11) % 12, 1);\n offsetDate.setDate(offsetDate.getDate() - 1);\n\n const dates: Array<Array<number | null>> = [];\n\n let lastDayOfMonth = 1;\n let done = false;\n\n for (let row = 0; row < 6; row++) {\n dates[row] = [];\n\n for (let col = 0; col < 7; col++) {\n if (row === 0 && col < offsetDate.getDay()) {\n dates[row][col] = null;\n } else {\n dates[row][col] = date.getDate();\n lastDayOfMonth = date.getDate();\n date.setDate(date.getDate() + 1);\n\n if (date.getDate() === 1) {\n for (let i = col + 1; i < 7; i++) {\n dates[row][i] = null;\n }\n done = true;\n break;\n }\n }\n }\n\n if (done) {\n break;\n }\n }\n\n return {\n today,\n selected,\n pageMonth,\n pageMonthName,\n pageYear,\n pageDecadeStart,\n dowNames: NeonDateUtils.dowNames(loc),\n dates,\n lastDayOfMonth,\n months: NeonDateUtils.monthNames(loc),\n };\n }\n}\n"],"names":["NeonDateUtils","date","locale","strict","loc","now","dateObj","time","result","dateString","day","month","year","weekdays","sunday","key","selectedDate","currentPageMonth","currentPageYear","currentPageDecadeStart","today","selected","pageMonth","pageDate","pageMonthName","pageYear","pageDecadeStart","offsetDate","dates","lastDayOfMonth","done","row","col","i"],"mappings":"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"}
|