@rolster/react-components 19.13.0 → 19.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/es/index.mjs +1 -1
- package/dist/es/index.mjs.map +1 -1
- package/dist/esm/components/molecules/Tabs/Tabs.d.ts +8 -0
- package/dist/esm/helpers/css.d.ts +1 -1
- package/package.json +14 -15
- package/readme.md +1 -1
- package/dist/esm/components/atoms/Amount/Amount.js +0 -22
- package/dist/esm/components/atoms/Amount/Amount.js.map +0 -1
- package/dist/esm/components/atoms/AreaText/AreaText.js +0 -137
- package/dist/esm/components/atoms/AreaText/AreaText.js.map +0 -1
- package/dist/esm/components/atoms/Avatar/Avatar.js +0 -14
- package/dist/esm/components/atoms/Avatar/Avatar.js.map +0 -1
- package/dist/esm/components/atoms/Badge/Badge.js +0 -9
- package/dist/esm/components/atoms/Badge/Badge.js.map +0 -1
- package/dist/esm/components/atoms/Breadcrumb/Breadcrumb.js +0 -17
- package/dist/esm/components/atoms/Breadcrumb/Breadcrumb.js.map +0 -1
- package/dist/esm/components/atoms/Button/Button.js +0 -11
- package/dist/esm/components/atoms/Button/Button.js.map +0 -1
- package/dist/esm/components/atoms/ButtonAction/ButtonAction.js +0 -10
- package/dist/esm/components/atoms/ButtonAction/ButtonAction.js.map +0 -1
- package/dist/esm/components/atoms/ButtonIcon/ButtonIcon.js +0 -10
- package/dist/esm/components/atoms/ButtonIcon/ButtonIcon.js.map +0 -1
- package/dist/esm/components/atoms/ButtonOption/ButtonOption.js +0 -21
- package/dist/esm/components/atoms/ButtonOption/ButtonOption.js.map +0 -1
- package/dist/esm/components/atoms/CheckBox/CheckBox.js +0 -17
- package/dist/esm/components/atoms/CheckBox/CheckBox.js.map +0 -1
- package/dist/esm/components/atoms/Chip/Chip.js +0 -10
- package/dist/esm/components/atoms/Chip/Chip.js.map +0 -1
- package/dist/esm/components/atoms/Icon/Icon.js +0 -9
- package/dist/esm/components/atoms/Icon/Icon.js.map +0 -1
- package/dist/esm/components/atoms/Image/Image.js +0 -18
- package/dist/esm/components/atoms/Image/Image.js.map +0 -1
- package/dist/esm/components/atoms/Input/Input.js +0 -106
- package/dist/esm/components/atoms/Input/Input.js.map +0 -1
- package/dist/esm/components/atoms/InputCounter/InputCounter.js +0 -58
- package/dist/esm/components/atoms/InputCounter/InputCounter.js.map +0 -1
- package/dist/esm/components/atoms/InputDecimal/InputDecimal.js +0 -26
- package/dist/esm/components/atoms/InputDecimal/InputDecimal.js.map +0 -1
- package/dist/esm/components/atoms/InputMoney/InputMoney.js +0 -17
- package/dist/esm/components/atoms/InputMoney/InputMoney.js.map +0 -1
- package/dist/esm/components/atoms/InputNumber/InputNumber.js +0 -16
- package/dist/esm/components/atoms/InputNumber/InputNumber.js.map +0 -1
- package/dist/esm/components/atoms/InputPassword/InputPassword.js +0 -34
- package/dist/esm/components/atoms/InputPassword/InputPassword.js.map +0 -1
- package/dist/esm/components/atoms/InputPercentage/InputPercentage.js +0 -16
- package/dist/esm/components/atoms/InputPercentage/InputPercentage.js.map +0 -1
- package/dist/esm/components/atoms/InputSearch/InputSearch.js +0 -17
- package/dist/esm/components/atoms/InputSearch/InputSearch.js.map +0 -1
- package/dist/esm/components/atoms/InputText/InputText.js +0 -16
- package/dist/esm/components/atoms/InputText/InputText.js.map +0 -1
- package/dist/esm/components/atoms/Label/Label.js +0 -7
- package/dist/esm/components/atoms/Label/Label.js.map +0 -1
- package/dist/esm/components/atoms/Led/Led.js +0 -21
- package/dist/esm/components/atoms/Led/Led.js.map +0 -1
- package/dist/esm/components/atoms/MessageIcon/MessageIcon.js +0 -8
- package/dist/esm/components/atoms/MessageIcon/MessageIcon.js.map +0 -1
- package/dist/esm/components/atoms/Poster/Poster.js +0 -9
- package/dist/esm/components/atoms/Poster/Poster.js.map +0 -1
- package/dist/esm/components/atoms/ProgressBar/ProgressBar.js +0 -9
- package/dist/esm/components/atoms/ProgressBar/ProgressBar.js.map +0 -1
- package/dist/esm/components/atoms/ProgressCircular/ProgressCircular.js +0 -7
- package/dist/esm/components/atoms/ProgressCircular/ProgressCircular.js.map +0 -1
- package/dist/esm/components/atoms/RadioButton/RadioButton.js +0 -9
- package/dist/esm/components/atoms/RadioButton/RadioButton.js.map +0 -1
- package/dist/esm/components/atoms/Skeleton/Skeleton.js +0 -11
- package/dist/esm/components/atoms/Skeleton/Skeleton.js.map +0 -1
- package/dist/esm/components/atoms/SkeletonText/SkeletonText.js +0 -8
- package/dist/esm/components/atoms/SkeletonText/SkeletonText.js.map +0 -1
- package/dist/esm/components/atoms/Spinner/Spinner.js +0 -7
- package/dist/esm/components/atoms/Spinner/Spinner.js.map +0 -1
- package/dist/esm/components/atoms/SwapHover/SwapHover.js +0 -7
- package/dist/esm/components/atoms/SwapHover/SwapHover.js.map +0 -1
- package/dist/esm/components/atoms/Switch/Switch.js +0 -20
- package/dist/esm/components/atoms/Switch/Switch.js.map +0 -1
- package/dist/esm/components/atoms/TabularText/TabularText.js +0 -19
- package/dist/esm/components/atoms/TabularText/TabularText.js.map +0 -1
- package/dist/esm/components/definitions.js +0 -2
- package/dist/esm/components/definitions.js.map +0 -1
- package/dist/esm/components/molecules/Accordion/Accordion.js +0 -57
- package/dist/esm/components/molecules/Accordion/Accordion.js.map +0 -1
- package/dist/esm/components/molecules/Alert/Alert.js +0 -10
- package/dist/esm/components/molecules/Alert/Alert.js.map +0 -1
- package/dist/esm/components/molecules/AppThemeTabs/AppThemeTabs.js +0 -34
- package/dist/esm/components/molecules/AppThemeTabs/AppThemeTabs.js.map +0 -1
- package/dist/esm/components/molecules/Ballot/Ballot.js +0 -11
- package/dist/esm/components/molecules/Ballot/Ballot.js.map +0 -1
- package/dist/esm/components/molecules/Body/Body.js +0 -7
- package/dist/esm/components/molecules/Body/Body.js.map +0 -1
- package/dist/esm/components/molecules/ButtonProgress/ButtonProgress.js +0 -11
- package/dist/esm/components/molecules/ButtonProgress/ButtonProgress.js.map +0 -1
- package/dist/esm/components/molecules/ButtonStepper/ButtonStepper.js +0 -14
- package/dist/esm/components/molecules/ButtonStepper/ButtonStepper.js.map +0 -1
- package/dist/esm/components/molecules/ButtonToggle/ButtonToggle.js +0 -49
- package/dist/esm/components/molecules/ButtonToggle/ButtonToggle.js.map +0 -1
- package/dist/esm/components/molecules/ChipGroup/ChipGroup.js +0 -34
- package/dist/esm/components/molecules/ChipGroup/ChipGroup.js.map +0 -1
- package/dist/esm/components/molecules/Content/Content.js +0 -7
- package/dist/esm/components/molecules/Content/Content.js.map +0 -1
- package/dist/esm/components/molecules/FieldArea/FieldArea.js +0 -34
- package/dist/esm/components/molecules/FieldArea/FieldArea.js.map +0 -1
- package/dist/esm/components/molecules/FieldDecimal/FieldDecimal.js +0 -20
- package/dist/esm/components/molecules/FieldDecimal/FieldDecimal.js.map +0 -1
- package/dist/esm/components/molecules/FieldFile/FieldFile.js +0 -45
- package/dist/esm/components/molecules/FieldFile/FieldFile.js.map +0 -1
- package/dist/esm/components/molecules/FieldListSuggestions/FieldListSuggestions.js +0 -53
- package/dist/esm/components/molecules/FieldListSuggestions/FieldListSuggestions.js.map +0 -1
- package/dist/esm/components/molecules/FieldListSuggestions/SuggestionsPortalController.js +0 -104
- package/dist/esm/components/molecules/FieldListSuggestions/SuggestionsPortalController.js.map +0 -1
- package/dist/esm/components/molecules/FieldMoney/FieldMoney.js +0 -21
- package/dist/esm/components/molecules/FieldMoney/FieldMoney.js.map +0 -1
- package/dist/esm/components/molecules/FieldNumber/FieldNumber.js +0 -21
- package/dist/esm/components/molecules/FieldNumber/FieldNumber.js.map +0 -1
- package/dist/esm/components/molecules/FieldPassword/FieldPassword.js +0 -25
- package/dist/esm/components/molecules/FieldPassword/FieldPassword.js.map +0 -1
- package/dist/esm/components/molecules/FieldPercentage/FieldPercentage.js +0 -21
- package/dist/esm/components/molecules/FieldPercentage/FieldPercentage.js.map +0 -1
- package/dist/esm/components/molecules/FieldReadonly/FieldReadonly.js +0 -7
- package/dist/esm/components/molecules/FieldReadonly/FieldReadonly.js.map +0 -1
- package/dist/esm/components/molecules/FieldText/FieldText.js +0 -21
- package/dist/esm/components/molecules/FieldText/FieldText.js.map +0 -1
- package/dist/esm/components/molecules/LabelCheckBox/LabelCheckBox.js +0 -19
- package/dist/esm/components/molecules/LabelCheckBox/LabelCheckBox.js.map +0 -1
- package/dist/esm/components/molecules/LabelRadioButton/LabelRadioButton.js +0 -21
- package/dist/esm/components/molecules/LabelRadioButton/LabelRadioButton.js.map +0 -1
- package/dist/esm/components/molecules/LabelSwitch/LabelSwitch.js +0 -19
- package/dist/esm/components/molecules/LabelSwitch/LabelSwitch.js.map +0 -1
- package/dist/esm/components/molecules/MessageEmpty/MessageEmpty.js +0 -22
- package/dist/esm/components/molecules/MessageEmpty/MessageEmpty.js.map +0 -1
- package/dist/esm/components/molecules/MessageFormError/MessageFormError.js +0 -21
- package/dist/esm/components/molecules/MessageFormError/MessageFormError.js.map +0 -1
- package/dist/esm/components/molecules/Navbar/Navbar.js +0 -7
- package/dist/esm/components/molecules/Navbar/Navbar.js.map +0 -1
- package/dist/esm/components/molecules/NavbarMenu/NabvarMenu.js +0 -14
- package/dist/esm/components/molecules/NavbarMenu/NabvarMenu.js.map +0 -1
- package/dist/esm/components/molecules/Pagination/Pagination.js +0 -63
- package/dist/esm/components/molecules/Pagination/Pagination.js.map +0 -1
- package/dist/esm/components/molecules/PickerDay/PickerDay.js +0 -79
- package/dist/esm/components/molecules/PickerDay/PickerDay.js.map +0 -1
- package/dist/esm/components/molecules/PickerDayRange/PickerDayRange.js +0 -62
- package/dist/esm/components/molecules/PickerDayRange/PickerDayRange.js.map +0 -1
- package/dist/esm/components/molecules/PickerMonth/PickerMonth.js +0 -77
- package/dist/esm/components/molecules/PickerMonth/PickerMonth.js.map +0 -1
- package/dist/esm/components/molecules/PickerSelectorTitle/PickerSelectorTitle.js +0 -85
- package/dist/esm/components/molecules/PickerSelectorTitle/PickerSelectorTitle.js.map +0 -1
- package/dist/esm/components/molecules/PickerYear/PickerYear.js +0 -66
- package/dist/esm/components/molecules/PickerYear/PickerYear.js.map +0 -1
- package/dist/esm/components/molecules/Slider/Slider.js +0 -148
- package/dist/esm/components/molecules/Slider/Slider.js.map +0 -1
- package/dist/esm/components/molecules/Tabs/Tabs.js +0 -47
- package/dist/esm/components/molecules/Tabs/Tabs.js.map +0 -1
- package/dist/esm/components/molecules/Toolbar/Toolbar.js +0 -7
- package/dist/esm/components/molecules/Toolbar/Toolbar.js.map +0 -1
- package/dist/esm/components/molecules/index.js +0 -2
- package/dist/esm/components/molecules/index.js.map +0 -1
- package/dist/esm/components/organisms/BottomSheet/BottomSheet.js +0 -16
- package/dist/esm/components/organisms/BottomSheet/BottomSheet.js.map +0 -1
- package/dist/esm/components/organisms/Card/Card.js +0 -9
- package/dist/esm/components/organisms/Card/Card.js.map +0 -1
- package/dist/esm/components/organisms/ChooserAutocomplete/ChooserAutocomplete.js +0 -87
- package/dist/esm/components/organisms/ChooserAutocomplete/ChooserAutocomplete.js.map +0 -1
- package/dist/esm/components/organisms/ChooserList/ChooserList.js +0 -44
- package/dist/esm/components/organisms/ChooserList/ChooserList.js.map +0 -1
- package/dist/esm/components/organisms/ChooserSelect/ChooserSelect.js +0 -38
- package/dist/esm/components/organisms/ChooserSelect/ChooserSelect.js.map +0 -1
- package/dist/esm/components/organisms/Confirmation/Confirmation.js +0 -71
- package/dist/esm/components/organisms/Confirmation/Confirmation.js.map +0 -1
- package/dist/esm/components/organisms/Datatable/Datatable.js +0 -53
- package/dist/esm/components/organisms/Datatable/Datatable.js.map +0 -1
- package/dist/esm/components/organisms/Dropdown/Dropdown.js +0 -22
- package/dist/esm/components/organisms/Dropdown/Dropdown.js.map +0 -1
- package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.js +0 -72
- package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.js.map +0 -1
- package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocompleteController.js +0 -159
- package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocompleteController.js.map +0 -1
- package/dist/esm/components/organisms/FieldClock/FieldClock.js +0 -55
- package/dist/esm/components/organisms/FieldClock/FieldClock.js.map +0 -1
- package/dist/esm/components/organisms/FieldColor/FieldColor.js +0 -56
- package/dist/esm/components/organisms/FieldColor/FieldColor.js.map +0 -1
- package/dist/esm/components/organisms/FieldDate/FieldDate.js +0 -70
- package/dist/esm/components/organisms/FieldDate/FieldDate.js.map +0 -1
- package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js +0 -57
- package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js.map +0 -1
- package/dist/esm/components/organisms/FieldList/FieldList.js +0 -37
- package/dist/esm/components/organisms/FieldList/FieldList.js.map +0 -1
- package/dist/esm/components/organisms/FieldList/FieldListController.js +0 -148
- package/dist/esm/components/organisms/FieldList/FieldListController.js.map +0 -1
- package/dist/esm/components/organisms/FieldSelect/FieldSelect.js +0 -29
- package/dist/esm/components/organisms/FieldSelect/FieldSelect.js.map +0 -1
- package/dist/esm/components/organisms/FieldSelect/FieldSelectController.js +0 -120
- package/dist/esm/components/organisms/FieldSelect/FieldSelectController.js.map +0 -1
- package/dist/esm/components/organisms/FormNavigation/FormNavigation.js +0 -10
- package/dist/esm/components/organisms/FormNavigation/FormNavigation.js.map +0 -1
- package/dist/esm/components/organisms/ImageChooser/ImageChooser.js +0 -19
- package/dist/esm/components/organisms/ImageChooser/ImageChooser.js.map +0 -1
- package/dist/esm/components/organisms/ImageEditor/ImageEditor.js +0 -233
- package/dist/esm/components/organisms/ImageEditor/ImageEditor.js.map +0 -1
- package/dist/esm/components/organisms/ImageEditorModal/ImageEditorModal.js +0 -9
- package/dist/esm/components/organisms/ImageEditorModal/ImageEditorModal.js.map +0 -1
- package/dist/esm/components/organisms/LedColor/LedColor.js +0 -48
- package/dist/esm/components/organisms/LedColor/LedColor.js.map +0 -1
- package/dist/esm/components/organisms/Modal/Modal.js +0 -16
- package/dist/esm/components/organisms/Modal/Modal.js.map +0 -1
- package/dist/esm/components/organisms/ModalClock/ModalClock.js +0 -14
- package/dist/esm/components/organisms/ModalClock/ModalClock.js.map +0 -1
- package/dist/esm/components/organisms/ModalDate/ModalDate.js +0 -14
- package/dist/esm/components/organisms/ModalDate/ModalDate.js.map +0 -1
- package/dist/esm/components/organisms/ModalDateRange/ModalDateRange.js +0 -14
- package/dist/esm/components/organisms/ModalDateRange/ModalDateRange.js.map +0 -1
- package/dist/esm/components/organisms/ModalSheet/ModalSheet.js +0 -16
- package/dist/esm/components/organisms/ModalSheet/ModalSheet.js.map +0 -1
- package/dist/esm/components/organisms/Notifications/Notifications.js +0 -73
- package/dist/esm/components/organisms/Notifications/Notifications.js.map +0 -1
- package/dist/esm/components/organisms/PickerClock/PickerClock.js +0 -237
- package/dist/esm/components/organisms/PickerClock/PickerClock.js.map +0 -1
- package/dist/esm/components/organisms/PickerColor/PickerColor.js +0 -220
- package/dist/esm/components/organisms/PickerColor/PickerColor.js.map +0 -1
- package/dist/esm/components/organisms/PickerDate/PickerDate.js +0 -94
- package/dist/esm/components/organisms/PickerDate/PickerDate.js.map +0 -1
- package/dist/esm/components/organisms/PickerDateRange/PickerDateRange.js +0 -81
- package/dist/esm/components/organisms/PickerDateRange/PickerDateRange.js.map +0 -1
- package/dist/esm/components/organisms/Snackbar/Snackbar.js +0 -74
- package/dist/esm/components/organisms/Snackbar/Snackbar.js.map +0 -1
- package/dist/esm/components/organisms/VirtualScroll/VirtualScroll.js +0 -28
- package/dist/esm/components/organisms/VirtualScroll/VirtualScroll.js.map +0 -1
- package/dist/esm/components/types.js +0 -2
- package/dist/esm/components/types.js.map +0 -1
- package/dist/esm/constants/image-editor.constant.js +0 -10
- package/dist/esm/constants/image-editor.constant.js.map +0 -1
- package/dist/esm/constants/picker.constant.js +0 -4
- package/dist/esm/constants/picker.constant.js.map +0 -1
- package/dist/esm/context.js +0 -37
- package/dist/esm/context.js.map +0 -1
- package/dist/esm/controllers/AppThemeController.js +0 -20
- package/dist/esm/controllers/AppThemeController.js.map +0 -1
- package/dist/esm/controllers/DatatableController.js +0 -24
- package/dist/esm/controllers/DatatableController.js.map +0 -1
- package/dist/esm/controllers/DesingSystemController.js +0 -21
- package/dist/esm/controllers/DesingSystemController.js.map +0 -1
- package/dist/esm/controllers/DropdownController.js +0 -71
- package/dist/esm/controllers/DropdownController.js.map +0 -1
- package/dist/esm/controllers/EventCallbackController.js +0 -9
- package/dist/esm/controllers/EventCallbackController.js.map +0 -1
- package/dist/esm/controllers/FormSingleSelectionController.js +0 -15
- package/dist/esm/controllers/FormSingleSelectionController.js.map +0 -1
- package/dist/esm/controllers/FormToggleController.js +0 -21
- package/dist/esm/controllers/FormToggleController.js.map +0 -1
- package/dist/esm/controllers/ImageEditorController.js +0 -66
- package/dist/esm/controllers/ImageEditorController.js.map +0 -1
- package/dist/esm/controllers/ListController.js +0 -172
- package/dist/esm/controllers/ListController.js.map +0 -1
- package/dist/esm/controllers/PortalController.js +0 -12
- package/dist/esm/controllers/PortalController.js.map +0 -1
- package/dist/esm/controllers/RelocationOnComponentController.js +0 -96
- package/dist/esm/controllers/RelocationOnComponentController.js.map +0 -1
- package/dist/esm/controllers/ResizeController.js +0 -28
- package/dist/esm/controllers/ResizeController.js.map +0 -1
- package/dist/esm/controllers/TabsController.js +0 -20
- package/dist/esm/controllers/TabsController.js.map +0 -1
- package/dist/esm/definitions.js +0 -2
- package/dist/esm/definitions.js.map +0 -1
- package/dist/esm/helpers/app-theme.js +0 -20
- package/dist/esm/helpers/app-theme.js.map +0 -1
- package/dist/esm/helpers/color.js +0 -382
- package/dist/esm/helpers/color.js.map +0 -1
- package/dist/esm/helpers/css.js +0 -21
- package/dist/esm/helpers/css.js.map +0 -1
- package/dist/esm/helpers/date-range-picker.js +0 -8
- package/dist/esm/helpers/date-range-picker.js.map +0 -1
- package/dist/esm/helpers/design-system.js +0 -16
- package/dist/esm/helpers/design-system.js.map +0 -1
- package/dist/esm/helpers/language.js +0 -110
- package/dist/esm/helpers/language.js.map +0 -1
- package/dist/esm/helpers/slider.js +0 -37
- package/dist/esm/helpers/slider.js.map +0 -1
- package/dist/esm/i18n.js +0 -34
- package/dist/esm/i18n.js.map +0 -1
- package/dist/esm/index.js +0 -127
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/types.js +0 -2
- package/dist/esm/types.js.map +0 -1
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { PickerListenerEvent } from '@rolster/components';
|
|
3
|
-
import { Time } from '@rolster/dates';
|
|
4
|
-
import { i18nSubscribe } from '@rolster/i18n';
|
|
5
|
-
import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
6
|
-
import { useEventCallback } from '../../../controllers/EventCallbackController';
|
|
7
|
-
import { renderClassStatus } from '../../../helpers/css';
|
|
8
|
-
import { reactI18n } from '../../../i18n';
|
|
9
|
-
import { RlsButton } from '../../atoms/Button/Button';
|
|
10
|
-
import { RlsButtonAction } from '../../atoms/ButtonAction/ButtonAction';
|
|
11
|
-
function formatTime(value) {
|
|
12
|
-
return String(value).padStart(2, '0');
|
|
13
|
-
}
|
|
14
|
-
function pointerIsInsideTick({ clientX, clientY }, tick) {
|
|
15
|
-
const { left, top, width, height } = tick.getBoundingClientRect();
|
|
16
|
-
const distanceX = clientX - (left + width / 2);
|
|
17
|
-
const distanceY = clientY - (top + height / 2);
|
|
18
|
-
const radius = Math.min(width, height) / 2;
|
|
19
|
-
return distanceX ** 2 + distanceY ** 2 <= radius ** 2;
|
|
20
|
-
}
|
|
21
|
-
const CLOCK_VALUES = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
|
|
22
|
-
const CLOCK_HOURS = 12;
|
|
23
|
-
const CLOCK_MINUTES = 60;
|
|
24
|
-
const RADIUS = 48;
|
|
25
|
-
const DIAL_RADIUS = 60;
|
|
26
|
-
const TICK_RADIUS = 7;
|
|
27
|
-
function RlsPickerClockTick({ selectionIsHours, value }) {
|
|
28
|
-
const styleTick = useMemo(() => {
|
|
29
|
-
const radian = (value / 6) * Math.PI;
|
|
30
|
-
const x = Math.sin(radian) * RADIUS;
|
|
31
|
-
const y = Math.cos(radian) * RADIUS;
|
|
32
|
-
return {
|
|
33
|
-
left: `${DIAL_RADIUS + x - TICK_RADIUS - 1}rem`,
|
|
34
|
-
top: `${DIAL_RADIUS - y - TICK_RADIUS - 1}rem`
|
|
35
|
-
};
|
|
36
|
-
}, []);
|
|
37
|
-
const tickValue = useMemo(() => {
|
|
38
|
-
if (selectionIsHours) {
|
|
39
|
-
return value;
|
|
40
|
-
}
|
|
41
|
-
return value === CLOCK_HOURS ? 0 : value * 5;
|
|
42
|
-
}, [selectionIsHours]);
|
|
43
|
-
return (_jsx("div", { className: "rls-picker-clock__tick", style: styleTick, "data-value": tickValue, children: formatTime(tickValue) }));
|
|
44
|
-
}
|
|
45
|
-
function RlsPickerClockComponent({ formControl, rlsSize, onListener, rlsTheme, time }) {
|
|
46
|
-
const timeInitial = useMemo(() => {
|
|
47
|
-
return formControl?.value ?? time ?? Time.now();
|
|
48
|
-
}, [formControl?.value, time]);
|
|
49
|
-
const plateElement = useRef(null);
|
|
50
|
-
const lineElement = useRef(null);
|
|
51
|
-
const centerElement = useRef(null);
|
|
52
|
-
const indicatorElement = useRef(null);
|
|
53
|
-
const pointElement = useRef(null);
|
|
54
|
-
const [labels, setLabels] = useState({
|
|
55
|
-
timeActionCancel: reactI18n('dateActionCancel'),
|
|
56
|
-
timeActionSelect: reactI18n('dateActionSelect')
|
|
57
|
-
});
|
|
58
|
-
const [zoneIsPM, setZoneIsPM] = useState(timeInitial.hour >= 12);
|
|
59
|
-
const [hour, setHour] = useState(zoneIsPM ? timeInitial.hour - 12 : timeInitial.hour);
|
|
60
|
-
const [minute, setMinute] = useState(timeInitial.minute);
|
|
61
|
-
const [selectionIsHours, setSelectionIsHours] = useState(true);
|
|
62
|
-
const changeIsInternal = useRef(true);
|
|
63
|
-
const selectionIsActive = useRef(false);
|
|
64
|
-
const radianUnit = useMemo(() => {
|
|
65
|
-
return Math.PI / (selectionIsHours ? 6 : 30);
|
|
66
|
-
}, [selectionIsHours]);
|
|
67
|
-
const hourFormat = useMemo(() => {
|
|
68
|
-
return formatTime(hour === 0 ? 12 : hour);
|
|
69
|
-
}, [hour]);
|
|
70
|
-
const minuteFormat = useMemo(() => {
|
|
71
|
-
return formatTime(minute);
|
|
72
|
-
}, [minute]);
|
|
73
|
-
const classNameHour = renderClassStatus('rls-picker-clock__title__value', {
|
|
74
|
-
active: selectionIsHours
|
|
75
|
-
});
|
|
76
|
-
const classNameMinute = renderClassStatus('rls-picker-clock__title__value', {
|
|
77
|
-
active: !selectionIsHours
|
|
78
|
-
});
|
|
79
|
-
const classNameAM = renderClassStatus('rls-picker-clock__zone__value', {
|
|
80
|
-
active: !zoneIsPM
|
|
81
|
-
});
|
|
82
|
-
const classNamePM = renderClassStatus('rls-picker-clock__zone__value', {
|
|
83
|
-
active: zoneIsPM
|
|
84
|
-
});
|
|
85
|
-
const refreshClockHour = useEventCallback(() => {
|
|
86
|
-
refreshClock(hour > 12 ? hour - 12 : hour);
|
|
87
|
-
});
|
|
88
|
-
const refreshClockMinute = useEventCallback(() => {
|
|
89
|
-
refreshClock(minute);
|
|
90
|
-
});
|
|
91
|
-
useEffect(() => {
|
|
92
|
-
return i18nSubscribe(() => {
|
|
93
|
-
setLabels({
|
|
94
|
-
timeActionCancel: reactI18n('dateActionCancel'),
|
|
95
|
-
timeActionSelect: reactI18n('dateActionSelect')
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
}, []);
|
|
99
|
-
useEffect(() => {
|
|
100
|
-
if (selectionIsHours) {
|
|
101
|
-
refreshClockHour();
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
refreshClockMinute();
|
|
105
|
-
}
|
|
106
|
-
}, [selectionIsHours]);
|
|
107
|
-
useEffect(() => {
|
|
108
|
-
if (!changeIsInternal.current && formControl?.value) {
|
|
109
|
-
const zoneIsPM = formControl.value.hour >= 12;
|
|
110
|
-
setZoneIsPM(zoneIsPM);
|
|
111
|
-
setHour(zoneIsPM ? formControl.value.hour - 12 : formControl.value.hour);
|
|
112
|
-
setMinute(formControl.value.minute);
|
|
113
|
-
}
|
|
114
|
-
changeIsInternal.current = false;
|
|
115
|
-
}, [formControl?.value]);
|
|
116
|
-
const refreshClock = useCallback((value) => {
|
|
117
|
-
const angle = value * radianUnit;
|
|
118
|
-
const x2 = Math.sin(angle) * (RADIUS - TICK_RADIUS);
|
|
119
|
-
const y2 = -Math.cos(angle) * (RADIUS - TICK_RADIUS);
|
|
120
|
-
const cx = Math.sin(angle) * RADIUS;
|
|
121
|
-
const cy = -Math.cos(angle) * RADIUS;
|
|
122
|
-
lineElement.current.setAttribute('x2', `${x2 - 1}rem`);
|
|
123
|
-
lineElement.current.setAttribute('y2', `${y2 - 1}rem`);
|
|
124
|
-
indicatorElement.current.setAttribute('cx', `${cx - 1}rem`);
|
|
125
|
-
indicatorElement.current.setAttribute('cy', `${cy - 1}rem`);
|
|
126
|
-
pointElement.current.setAttribute('cx', `${cx - 1}rem`);
|
|
127
|
-
pointElement.current.setAttribute('cy', `${cy - 1}rem`);
|
|
128
|
-
pointElement.current.style.visibility =
|
|
129
|
-
selectionIsHours || value % 5 === 0 ? 'hidden' : 'visible';
|
|
130
|
-
}, [selectionIsHours, radianUnit]);
|
|
131
|
-
const selectValue = useCallback((value) => {
|
|
132
|
-
refreshClock(value);
|
|
133
|
-
if (selectionIsHours) {
|
|
134
|
-
setHour(value === 0 ? CLOCK_HOURS : value);
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
setMinute(value);
|
|
138
|
-
}
|
|
139
|
-
}, [selectionIsHours, refreshClock]);
|
|
140
|
-
const selectFromPosition = useCallback((clientX, clientY) => {
|
|
141
|
-
const rectangle = plateElement.current.getBoundingClientRect();
|
|
142
|
-
const centerX = rectangle.left + rectangle.width / 2;
|
|
143
|
-
const centerY = rectangle.top + rectangle.height / 2;
|
|
144
|
-
const positionX = clientX - centerX;
|
|
145
|
-
const positionY = clientY - centerY;
|
|
146
|
-
// Angle in [0, 2π) measured clockwise from 12 o'clock
|
|
147
|
-
const angle = Math.atan2(-positionX, positionY) + Math.PI;
|
|
148
|
-
const steps = selectionIsHours ? CLOCK_HOURS : CLOCK_MINUTES;
|
|
149
|
-
// Modulo keeps the last half step before 12 o'clock as 0, not as 60/12
|
|
150
|
-
selectValue(Math.round(angle / radianUnit) % steps);
|
|
151
|
-
}, [selectionIsHours, radianUnit, selectValue]);
|
|
152
|
-
const onClickHour = useCallback(() => {
|
|
153
|
-
setSelectionIsHours(true);
|
|
154
|
-
}, []);
|
|
155
|
-
const onClickMinute = useCallback(() => {
|
|
156
|
-
setSelectionIsHours(false);
|
|
157
|
-
}, []);
|
|
158
|
-
const onClickAM = useCallback(() => {
|
|
159
|
-
setZoneIsPM(false);
|
|
160
|
-
}, []);
|
|
161
|
-
const onClickPM = useCallback(() => {
|
|
162
|
-
setZoneIsPM(true);
|
|
163
|
-
}, []);
|
|
164
|
-
const onPointerDown = useCallback((event) => {
|
|
165
|
-
event.preventDefault();
|
|
166
|
-
event.currentTarget.setPointerCapture(event.pointerId);
|
|
167
|
-
selectionIsActive.current = true;
|
|
168
|
-
const tick = event.target.closest('.rls-picker-clock__tick');
|
|
169
|
-
// Pressing inside a label circle snaps to its exact value,
|
|
170
|
-
// anywhere else (and while dragging) the angle decides
|
|
171
|
-
if (tick?.dataset.value && pointerIsInsideTick(event, tick)) {
|
|
172
|
-
selectValue(Number(tick.dataset.value));
|
|
173
|
-
}
|
|
174
|
-
else {
|
|
175
|
-
selectFromPosition(event.clientX, event.clientY);
|
|
176
|
-
}
|
|
177
|
-
}, [selectValue, selectFromPosition]);
|
|
178
|
-
const onPointerMove = useCallback((event) => {
|
|
179
|
-
if (selectionIsActive.current) {
|
|
180
|
-
selectFromPosition(event.clientX, event.clientY);
|
|
181
|
-
}
|
|
182
|
-
}, [selectFromPosition]);
|
|
183
|
-
const onPointerUp = useCallback(() => {
|
|
184
|
-
if (!selectionIsActive.current) {
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
selectionIsActive.current = false;
|
|
188
|
-
// Once the hour is chosen, continue with the minutes
|
|
189
|
-
if (selectionIsHours) {
|
|
190
|
-
setSelectionIsHours(false);
|
|
191
|
-
}
|
|
192
|
-
}, [selectionIsHours]);
|
|
193
|
-
const onPointerCancel = useCallback(() => {
|
|
194
|
-
selectionIsActive.current = false;
|
|
195
|
-
}, []);
|
|
196
|
-
const onCancel = useCallback(() => {
|
|
197
|
-
onListener?.({ event: PickerListenerEvent.Cancel });
|
|
198
|
-
}, [onListener]);
|
|
199
|
-
const onCurrentTime = useCallback(() => {
|
|
200
|
-
const currentTime = Time.now();
|
|
201
|
-
const zoneIsPM = currentTime.hour >= 12;
|
|
202
|
-
const hour = zoneIsPM ? currentTime.hour - 12 : currentTime.hour;
|
|
203
|
-
changeIsInternal.current = true;
|
|
204
|
-
formControl?.setValue(currentTime);
|
|
205
|
-
setZoneIsPM(zoneIsPM);
|
|
206
|
-
setHour(hour);
|
|
207
|
-
setMinute(currentTime.minute);
|
|
208
|
-
refreshClock(selectionIsHours ? hour : currentTime.minute);
|
|
209
|
-
onListener?.({
|
|
210
|
-
event: PickerListenerEvent.Select,
|
|
211
|
-
value: currentTime
|
|
212
|
-
});
|
|
213
|
-
}, [formControl, onListener, selectionIsHours, refreshClock]);
|
|
214
|
-
const onSelect = useCallback(() => {
|
|
215
|
-
const hourValue = zoneIsPM
|
|
216
|
-
? hour !== 12
|
|
217
|
-
? hour + 12
|
|
218
|
-
: 12
|
|
219
|
-
: hour === 12
|
|
220
|
-
? 0
|
|
221
|
-
: hour;
|
|
222
|
-
const timeValue = new Time(hourValue, minute);
|
|
223
|
-
changeIsInternal.current = true;
|
|
224
|
-
formControl?.setValue(timeValue);
|
|
225
|
-
onListener?.({
|
|
226
|
-
event: PickerListenerEvent.Select,
|
|
227
|
-
value: timeValue
|
|
228
|
-
});
|
|
229
|
-
}, [formControl, hour, minute, zoneIsPM, onListener]);
|
|
230
|
-
return (_jsxs("div", { className: "rls-picker-clock", "rls-size": rlsSize, "rls-theme": rlsTheme, children: [_jsxs("div", { className: "rls-picker-clock__header", children: [_jsxs("div", { className: "rls-picker-clock__title", children: [_jsx("span", { className: classNameHour, onClick: onClickHour, children: hourFormat }), _jsx("span", { className: "rls-picker-clock__title__separator", children: ":" }), _jsx("span", { className: classNameMinute, onClick: onClickMinute, children: minuteFormat })] }), _jsxs("div", { className: "rls-picker-clock__zone", children: [_jsx("span", { className: classNameAM, onClick: onClickAM, children: "AM" }), _jsx("span", { className: classNamePM, onClick: onClickPM, children: "PM" })] })] }), _jsx("div", { className: "rls-picker-clock__body", children: _jsxs("div", { className: "rls-picker-clock__plate", ref: plateElement, onPointerDown: onPointerDown, onPointerMove: onPointerMove, onPointerUp: onPointerUp, onPointerCancel: onPointerCancel, children: [_jsx("div", { className: "rls-picker-clock__canvas", children: _jsx("svg", { width: "120rem", height: "120rem", children: _jsxs("g", { style: {
|
|
231
|
-
transform: `translate(${DIAL_RADIUS}rem, ${DIAL_RADIUS}rem)`
|
|
232
|
-
}, children: [_jsx("line", { ref: lineElement, className: "rls-picker-clock__canvas__line", x1: "-1", y1: "-1" }), _jsx("circle", { ref: centerElement, className: "rls-picker-clock__canvas__center", r: "4", cx: "-1", cy: "-1" }), _jsx("circle", { ref: indicatorElement, className: "rls-picker-clock__canvas__indicator", r: `${TICK_RADIUS}rem` }), _jsx("circle", { ref: pointElement, className: "rls-picker-clock__canvas__point", r: "3.5" })] }) }) }), _jsx("div", { className: "rls-picker-clock__hours", children: CLOCK_VALUES.map((value) => {
|
|
233
|
-
return (_jsx(RlsPickerClockTick, { value: value, selectionIsHours: selectionIsHours }, value));
|
|
234
|
-
}) })] }) }), _jsxs("div", { className: "rls-picker-clock__footer", children: [_jsx("div", { className: "rls-picker-clock__footer--cancel", children: _jsx(RlsButton, { type: "flat", onClick: onCancel, children: labels.timeActionCancel }) }), _jsx("div", { className: "rls-picker-clock__footer--today", children: _jsx(RlsButtonAction, { icon: "timer", onClick: onCurrentTime }) }), _jsx("div", { className: "rls-picker-clock__footer--ok", children: _jsx(RlsButton, { type: "raised", onClick: onSelect, children: labels.timeActionSelect }) })] })] }));
|
|
235
|
-
}
|
|
236
|
-
export const RlsPickerClock = memo(RlsPickerClockComponent);
|
|
237
|
-
//# sourceMappingURL=PickerClock.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PickerClock.js","sourceRoot":"","sources":["../../../../../src/components/organisms/PickerClock/PickerClock.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { PickerListenerEvent } from '@rolster/components';
|
|
3
|
-
import { i18nSubscribe } from '@rolster/i18n';
|
|
4
|
-
import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
5
|
-
import { useEventCallback } from '../../../controllers/EventCallbackController';
|
|
6
|
-
import { DEFAULT_COLOR, hexToHsv, hsvToHex, hsvToRgb, normalizeHex } from '../../../helpers/color';
|
|
7
|
-
import { reactI18n } from '../../../i18n';
|
|
8
|
-
import { RlsButton } from '../../atoms/Button/Button';
|
|
9
|
-
function RlsPickerColorComponent({ color, formControl, rlsSize, onListener, rlsTheme }) {
|
|
10
|
-
const initialColor = useMemo(() => formControl?.value ?? color ?? DEFAULT_COLOR, []);
|
|
11
|
-
const initialHsv = useMemo(() => hexToHsv(initialColor) ?? { h: 258, s: 100, v: 100 }, []);
|
|
12
|
-
const canvasRef = useRef(null);
|
|
13
|
-
const hueRef = useRef(null);
|
|
14
|
-
const alphaRef = useRef(null);
|
|
15
|
-
const selectionIsActive = useRef(false);
|
|
16
|
-
const activeSlider = useRef(null);
|
|
17
|
-
const hexEditing = useRef(false);
|
|
18
|
-
const [hsv, setHsv] = useState(initialHsv);
|
|
19
|
-
const [alpha, setAlpha] = useState(1);
|
|
20
|
-
const [hexInput, setHexInput] = useState(initialColor);
|
|
21
|
-
const [labels, setLabels] = useState({
|
|
22
|
-
colorActionCancel: reactI18n('dateActionCancel'),
|
|
23
|
-
colorActionSelect: reactI18n('dateActionSelect')
|
|
24
|
-
});
|
|
25
|
-
const hexColor = useMemo(() => hsvToHex(hsv), [hsv]);
|
|
26
|
-
const hexValue = useMemo(() => {
|
|
27
|
-
return hexInput.replace('#', '');
|
|
28
|
-
}, [hexInput]);
|
|
29
|
-
const canvasStyle = useMemo(() => {
|
|
30
|
-
const { r, g, b } = hsvToRgb({ h: hsv.h, s: 100, v: 100 });
|
|
31
|
-
return {
|
|
32
|
-
background: `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, transparent), rgb(${r}, ${g}, ${b})`
|
|
33
|
-
};
|
|
34
|
-
}, [hsv.h]);
|
|
35
|
-
const indicatorPosition = useMemo(() => {
|
|
36
|
-
return {
|
|
37
|
-
left: `${(hsv.s / 100) * 100}%`,
|
|
38
|
-
top: `${100 - (hsv.v / 100) * 100}%`
|
|
39
|
-
};
|
|
40
|
-
}, [hsv.s, hsv.v]);
|
|
41
|
-
const hueSliderStyle = useMemo(() => {
|
|
42
|
-
return {
|
|
43
|
-
background: 'linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%)'
|
|
44
|
-
};
|
|
45
|
-
}, []);
|
|
46
|
-
const hueIndicatorStyle = useMemo(() => {
|
|
47
|
-
return { left: `${(hsv.h / 360) * 100}%`, backgroundColor: hexColor };
|
|
48
|
-
}, [hsv.h, hexColor]);
|
|
49
|
-
const alphaSliderStyle = useMemo(() => {
|
|
50
|
-
return {
|
|
51
|
-
background: `linear-gradient(to right, transparent, ${hexColor})`
|
|
52
|
-
};
|
|
53
|
-
}, [hexColor]);
|
|
54
|
-
const alphaIndicatorStyle = useMemo(() => {
|
|
55
|
-
return { left: `${alpha * 100}%`, backgroundColor: hexColor };
|
|
56
|
-
}, [alpha, hexColor]);
|
|
57
|
-
useEffect(() => {
|
|
58
|
-
if (!hexEditing.current) {
|
|
59
|
-
setHexInput(hexColor);
|
|
60
|
-
}
|
|
61
|
-
}, [hexColor]);
|
|
62
|
-
useEffect(() => {
|
|
63
|
-
return i18nSubscribe(() => {
|
|
64
|
-
setLabels({
|
|
65
|
-
colorActionCancel: reactI18n('dateActionCancel'),
|
|
66
|
-
colorActionSelect: reactI18n('dateActionSelect')
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
}, []);
|
|
70
|
-
const getPositionInElement = useCallback((element, clientX, clientY) => {
|
|
71
|
-
const rect = element.getBoundingClientRect();
|
|
72
|
-
return {
|
|
73
|
-
x: (clientX - rect.left) / rect.width,
|
|
74
|
-
y: (clientY - rect.top) / rect.height
|
|
75
|
-
};
|
|
76
|
-
}, []);
|
|
77
|
-
const updateColorOnCanvas = useEventCallback((clientX, clientY) => {
|
|
78
|
-
if (!canvasRef.current)
|
|
79
|
-
return;
|
|
80
|
-
const pos = getPositionInElement(canvasRef.current, clientX, clientY);
|
|
81
|
-
setHsv((prev) => ({
|
|
82
|
-
...prev,
|
|
83
|
-
s: Math.round(Math.min(1, Math.max(0, pos.x)) * 100),
|
|
84
|
-
v: Math.round(Math.min(1, Math.max(0, 1 - pos.y)) * 100)
|
|
85
|
-
}));
|
|
86
|
-
});
|
|
87
|
-
const updateHueOnSlider = useEventCallback((clientX, clientY) => {
|
|
88
|
-
if (!hueRef.current)
|
|
89
|
-
return;
|
|
90
|
-
const pos = getPositionInElement(hueRef.current, clientX, clientY);
|
|
91
|
-
setHsv((prev) => ({
|
|
92
|
-
...prev,
|
|
93
|
-
h: Math.round(Math.min(1, Math.max(0, pos.x)) * 360)
|
|
94
|
-
}));
|
|
95
|
-
});
|
|
96
|
-
const updateAlphaOnSlider = useEventCallback((clientX, clientY) => {
|
|
97
|
-
if (!alphaRef.current)
|
|
98
|
-
return;
|
|
99
|
-
const pos = getPositionInElement(alphaRef.current, clientX, clientY);
|
|
100
|
-
setAlpha(Math.min(1, Math.max(0, pos.x)));
|
|
101
|
-
});
|
|
102
|
-
const onMouseDown = useCallback((event) => {
|
|
103
|
-
const slider = event.currentTarget.dataset.slider;
|
|
104
|
-
if (!slider)
|
|
105
|
-
return;
|
|
106
|
-
event.preventDefault();
|
|
107
|
-
selectionIsActive.current = true;
|
|
108
|
-
activeSlider.current = slider;
|
|
109
|
-
switch (slider) {
|
|
110
|
-
case 'canvas':
|
|
111
|
-
updateColorOnCanvas(event.clientX, event.clientY);
|
|
112
|
-
break;
|
|
113
|
-
case 'hue':
|
|
114
|
-
updateHueOnSlider(event.clientX, event.clientY);
|
|
115
|
-
break;
|
|
116
|
-
case 'alpha':
|
|
117
|
-
updateAlphaOnSlider(event.clientX, event.clientY);
|
|
118
|
-
break;
|
|
119
|
-
}
|
|
120
|
-
}, [updateColorOnCanvas, updateHueOnSlider, updateAlphaOnSlider]);
|
|
121
|
-
const onMouseMove = useCallback((event) => {
|
|
122
|
-
if (!selectionIsActive.current || !activeSlider.current)
|
|
123
|
-
return;
|
|
124
|
-
event.preventDefault();
|
|
125
|
-
switch (activeSlider.current) {
|
|
126
|
-
case 'canvas':
|
|
127
|
-
updateColorOnCanvas(event.clientX, event.clientY);
|
|
128
|
-
break;
|
|
129
|
-
case 'hue':
|
|
130
|
-
updateHueOnSlider(event.clientX, event.clientY);
|
|
131
|
-
break;
|
|
132
|
-
case 'alpha':
|
|
133
|
-
updateAlphaOnSlider(event.clientX, event.clientY);
|
|
134
|
-
break;
|
|
135
|
-
}
|
|
136
|
-
}, [updateColorOnCanvas, updateHueOnSlider, updateAlphaOnSlider]);
|
|
137
|
-
const onTouchStart = useCallback((event) => {
|
|
138
|
-
const slider = event.currentTarget.dataset.slider;
|
|
139
|
-
if (!slider)
|
|
140
|
-
return;
|
|
141
|
-
const touch = event.touches.item(0);
|
|
142
|
-
if (!touch)
|
|
143
|
-
return;
|
|
144
|
-
selectionIsActive.current = true;
|
|
145
|
-
activeSlider.current = slider;
|
|
146
|
-
switch (slider) {
|
|
147
|
-
case 'canvas':
|
|
148
|
-
updateColorOnCanvas(touch.clientX, touch.clientY);
|
|
149
|
-
break;
|
|
150
|
-
case 'hue':
|
|
151
|
-
updateHueOnSlider(touch.clientX, touch.clientY);
|
|
152
|
-
break;
|
|
153
|
-
case 'alpha':
|
|
154
|
-
updateAlphaOnSlider(touch.clientX, touch.clientY);
|
|
155
|
-
break;
|
|
156
|
-
}
|
|
157
|
-
}, [updateColorOnCanvas, updateHueOnSlider, updateAlphaOnSlider]);
|
|
158
|
-
const onTouchMove = useCallback((event) => {
|
|
159
|
-
const touch = event.touches.item(0);
|
|
160
|
-
if (!selectionIsActive.current || !activeSlider.current || !touch)
|
|
161
|
-
return;
|
|
162
|
-
switch (activeSlider.current) {
|
|
163
|
-
case 'canvas':
|
|
164
|
-
updateColorOnCanvas(touch.clientX, touch.clientY);
|
|
165
|
-
break;
|
|
166
|
-
case 'hue':
|
|
167
|
-
updateHueOnSlider(touch.clientX, touch.clientY);
|
|
168
|
-
break;
|
|
169
|
-
case 'alpha':
|
|
170
|
-
updateAlphaOnSlider(touch.clientX, touch.clientY);
|
|
171
|
-
break;
|
|
172
|
-
}
|
|
173
|
-
}, [updateColorOnCanvas, updateHueOnSlider, updateAlphaOnSlider]);
|
|
174
|
-
const onInactiveSelection = useCallback(() => {
|
|
175
|
-
selectionIsActive.current = false;
|
|
176
|
-
activeSlider.current = null;
|
|
177
|
-
}, []);
|
|
178
|
-
const onHexChange = useCallback((value) => {
|
|
179
|
-
setHexInput(value);
|
|
180
|
-
const normalized = normalizeHex(value);
|
|
181
|
-
if (normalized) {
|
|
182
|
-
const hsv = hexToHsv(normalized);
|
|
183
|
-
if (hsv) {
|
|
184
|
-
setHsv(hsv);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}, []);
|
|
188
|
-
const onHexFocus = useCallback(() => {
|
|
189
|
-
hexEditing.current = true;
|
|
190
|
-
}, []);
|
|
191
|
-
const onHexBlur = useEventCallback(() => {
|
|
192
|
-
hexEditing.current = false;
|
|
193
|
-
const normalized = normalizeHex(hexInput);
|
|
194
|
-
if (normalized) {
|
|
195
|
-
setHexInput(normalized);
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
setHexInput(hexColor);
|
|
199
|
-
}
|
|
200
|
-
});
|
|
201
|
-
const onHexKeyDown = useCallback((event) => {
|
|
202
|
-
if (event.key === 'Enter') {
|
|
203
|
-
onHexBlur();
|
|
204
|
-
}
|
|
205
|
-
}, [onHexBlur]);
|
|
206
|
-
const onHexInputChange = useCallback((event) => onHexChange(event.target.value ? `#${event.target.value}` : ''), [onHexChange]);
|
|
207
|
-
const onCancel = useCallback(() => {
|
|
208
|
-
onListener?.({ event: PickerListenerEvent.Cancel });
|
|
209
|
-
}, [onListener]);
|
|
210
|
-
const onSelect = useCallback(() => {
|
|
211
|
-
formControl?.setValue(hexColor);
|
|
212
|
-
onListener?.({ event: PickerListenerEvent.Select, value: hexColor });
|
|
213
|
-
}, [formControl, hexColor, onListener]);
|
|
214
|
-
return (_jsxs("div", { className: "rls-picker-color", "rls-size": rlsSize, "rls-theme": rlsTheme, children: [_jsx("div", { className: "rls-picker-color__preview", children: _jsx("div", { ref: canvasRef, className: "rls-picker-color__canvas", style: canvasStyle, "data-slider": "canvas", onMouseDown: onMouseDown, onMouseMove: onMouseMove, onMouseUp: onInactiveSelection, onMouseLeave: onInactiveSelection, onTouchStart: onTouchStart, onTouchMove: onTouchMove, onTouchEnd: onInactiveSelection, children: _jsx("div", { className: "rls-picker-color__indicator", style: {
|
|
215
|
-
left: indicatorPosition.left,
|
|
216
|
-
top: indicatorPosition.top
|
|
217
|
-
}, children: _jsx("div", { className: "rls-picker-color__indicator__circle", style: { backgroundColor: hexColor } }) }) }) }), _jsxs("div", { className: "rls-picker-color__controls", children: [_jsx("div", { className: "rls-picker-color__slider", children: _jsx("div", { ref: hueRef, className: "rls-picker-color__slider__track", style: hueSliderStyle, "data-slider": "hue", onMouseDown: onMouseDown, onMouseMove: onMouseMove, onMouseUp: onInactiveSelection, onMouseLeave: onInactiveSelection, onTouchStart: onTouchStart, onTouchMove: onTouchMove, onTouchEnd: onInactiveSelection, children: _jsx("div", { className: "rls-picker-color__slider__thumb", style: hueIndicatorStyle }) }) }), _jsx("div", { className: "rls-picker-color__slider", children: _jsx("div", { ref: alphaRef, className: "rls-picker-color__slider__track rls-picker-color__slider__track--alpha", style: alphaSliderStyle, "data-slider": "alpha", onMouseDown: onMouseDown, onMouseMove: onMouseMove, onMouseUp: onInactiveSelection, onMouseLeave: onInactiveSelection, onTouchStart: onTouchStart, onTouchMove: onTouchMove, onTouchEnd: onInactiveSelection, children: _jsx("div", { className: "rls-picker-color__slider__thumb", style: alphaIndicatorStyle }) }) })] }), _jsx("div", { className: "rls-picker-color__footer", children: _jsxs("div", { className: "rls-picker-color__hex", children: [_jsx("div", { className: "rls-picker-color__hex__swatch", style: { backgroundColor: hexColor } }), _jsx("span", { className: "rls-picker-color__hex__prefix", children: "#" }), _jsx("input", { className: "rls-picker-color__hex__input", type: "text", maxLength: 6, value: hexValue, onChange: onHexInputChange, onFocus: onHexFocus, onBlur: onHexBlur, onKeyDown: onHexKeyDown })] }) }), _jsxs("div", { className: "rls-picker-color__actions", children: [_jsx("div", { className: "rls-picker-color__actions--cancel", children: _jsx(RlsButton, { type: "flat", onClick: onCancel, children: labels.colorActionCancel }) }), _jsx("div", { className: "rls-picker-color__actions--ok", children: _jsx(RlsButton, { type: "raised", onClick: onSelect, children: labels.colorActionSelect }) })] })] }));
|
|
218
|
-
}
|
|
219
|
-
export const RlsPickerColor = memo(RlsPickerColorComponent);
|
|
220
|
-
//# sourceMappingURL=PickerColor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PickerColor.js","sourceRoot":"","sources":["../../../../../src/components/organisms/PickerColor/PickerColor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { dateOutRange, PickerListenerEvent, verifyDateRange } from '@rolster/components';
|
|
3
|
-
import { dateFormatTemplate } from '@rolster/dates';
|
|
4
|
-
import { i18nSubscribe } from '@rolster/i18n';
|
|
5
|
-
import { useReactControl } from '@rolster/react-forms';
|
|
6
|
-
import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
7
|
-
import { DATE_FORMAT_TITLE } from '../../../constants/picker.constant';
|
|
8
|
-
import { renderClassStatus } from '../../../helpers/css';
|
|
9
|
-
import { reactI18n } from '../../../i18n';
|
|
10
|
-
import { RlsButton } from '../../atoms/Button/Button';
|
|
11
|
-
import { RlsButtonAction } from '../../atoms/ButtonAction/ButtonAction';
|
|
12
|
-
import { RlsPickerDay } from '../../molecules/PickerDay/PickerDay';
|
|
13
|
-
import { RlsPickerMonth } from '../../molecules/PickerMonth/PickerMonth';
|
|
14
|
-
import { RlsPickerSelectorTitle } from '../../molecules/PickerSelectorTitle/PickerSelectorTitle';
|
|
15
|
-
import { RlsPickerYear } from '../../molecules/PickerYear/PickerYear';
|
|
16
|
-
function RlsPickerDateComponent({ automatic, date, disabled, formControl, maxDate, minDate, rlsSize, onListener, rlsTheme }) {
|
|
17
|
-
const today = useRef(new Date()); // Initial current date in component
|
|
18
|
-
const _date = useMemo(() => {
|
|
19
|
-
return formControl?.value ?? date ?? today.current;
|
|
20
|
-
}, [formControl?.value, date]);
|
|
21
|
-
const yearControl = useReactControl(_date.getFullYear());
|
|
22
|
-
const dayControl = useReactControl(_date.getDate());
|
|
23
|
-
const monthControl = useReactControl(_date.getMonth());
|
|
24
|
-
const [visibility, setVisibility] = useState('DAY');
|
|
25
|
-
const [labels, setLabels] = useState({
|
|
26
|
-
dateActionCancel: reactI18n('dateActionCancel'),
|
|
27
|
-
dateActionSelect: reactI18n('dateActionSelect'),
|
|
28
|
-
dateActionToday: reactI18n('dateActionToday')
|
|
29
|
-
});
|
|
30
|
-
const value = useMemo(() => {
|
|
31
|
-
return new Date(yearControl.value, monthControl.value, dayControl.value);
|
|
32
|
-
}, [yearControl.value, monthControl.value, dayControl.value]);
|
|
33
|
-
const classNameComponent = renderClassStatus('rls-picker-date__component', {
|
|
34
|
-
day: visibility === 'DAY',
|
|
35
|
-
month: visibility === 'MONTH',
|
|
36
|
-
year: visibility === 'YEAR'
|
|
37
|
-
});
|
|
38
|
-
const title = useMemo(() => {
|
|
39
|
-
return dateFormatTemplate(value, DATE_FORMAT_TITLE);
|
|
40
|
-
}, [value]);
|
|
41
|
-
const itIsDisabledToday = useMemo(() => dateOutRange({
|
|
42
|
-
date: today.current,
|
|
43
|
-
maxDate,
|
|
44
|
-
minDate
|
|
45
|
-
}), [maxDate, minDate]);
|
|
46
|
-
useEffect(() => {
|
|
47
|
-
const date = verifyDateRange({ date: _date, minDate, maxDate });
|
|
48
|
-
yearControl.setValue(date.getFullYear());
|
|
49
|
-
monthControl.setValue(date.getMonth());
|
|
50
|
-
dayControl.setValue(date.getDate());
|
|
51
|
-
formControl?.setValue(date);
|
|
52
|
-
return i18nSubscribe(() => {
|
|
53
|
-
setLabels({
|
|
54
|
-
dateActionCancel: reactI18n('dateActionCancel'),
|
|
55
|
-
dateActionSelect: reactI18n('dateActionSelect'),
|
|
56
|
-
dateActionToday: reactI18n('dateActionToday')
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
}, []);
|
|
60
|
-
const onVisibilityDay = useCallback(() => {
|
|
61
|
-
setVisibility('DAY');
|
|
62
|
-
}, []);
|
|
63
|
-
const onVisibilityTitle = useCallback((type) => {
|
|
64
|
-
if (type === 'month') {
|
|
65
|
-
setVisibility('MONTH');
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
setVisibility('YEAR');
|
|
69
|
-
}
|
|
70
|
-
}, []);
|
|
71
|
-
const onCancel = useCallback(() => {
|
|
72
|
-
onListener?.({ event: PickerListenerEvent.Cancel });
|
|
73
|
-
}, [onListener]);
|
|
74
|
-
const onToday = useCallback(() => {
|
|
75
|
-
yearControl.setValue(today.current.getFullYear());
|
|
76
|
-
dayControl.setValue(today.current.getDate());
|
|
77
|
-
monthControl.setValue(today.current.getMonth());
|
|
78
|
-
formControl?.setValue(today.current);
|
|
79
|
-
onListener?.({
|
|
80
|
-
event: PickerListenerEvent.Now,
|
|
81
|
-
value: today.current
|
|
82
|
-
});
|
|
83
|
-
}, [formControl, onListener]);
|
|
84
|
-
const onSelect = useCallback(() => {
|
|
85
|
-
formControl?.setValue(value);
|
|
86
|
-
onListener?.({
|
|
87
|
-
event: PickerListenerEvent.Select,
|
|
88
|
-
value: value
|
|
89
|
-
});
|
|
90
|
-
}, [formControl, value, onListener]);
|
|
91
|
-
return (_jsxs("div", { className: "rls-picker-date", "rls-size": rlsSize, "rls-theme": rlsTheme, children: [_jsxs("div", { className: "rls-picker-date__header", children: [_jsx(RlsPickerSelectorTitle, { monthControl: monthControl, yearControl: yearControl, date: value, maxDate: maxDate, minDate: minDate, disabled: visibility === 'YEAR', type: 'month', onClick: onVisibilityTitle }), _jsx("div", { className: "rls-picker-date__title", children: _jsx("span", { onClick: onVisibilityDay, children: title }) })] }), _jsxs("div", { className: classNameComponent, children: [_jsx(RlsPickerDay, { formControl: dayControl, date: value, month: monthControl.value, year: yearControl.value, maxDate: maxDate, minDate: minDate, disabled: disabled }), _jsx(RlsPickerMonth, { formControl: monthControl, date: value, year: yearControl.value, maxDate: maxDate, minDate: minDate, disabled: disabled, onValue: onVisibilityDay }), _jsx(RlsPickerYear, { formControl: yearControl, date: value, maxDate: maxDate, minDate: minDate, disabled: disabled, onValue: onVisibilityDay })] }), !automatic && (_jsx("div", { className: "rls-picker-date__footer", children: _jsxs("div", { className: "rls-picker-date__actions", children: [_jsx("div", { className: "rls-picker-date__actions--cancel", children: _jsx(RlsButton, { type: "flat", onClick: onCancel, children: labels.dateActionCancel }) }), _jsx("div", { className: "rls-picker-date__actions--today", children: _jsx(RlsButtonAction, { icon: "calendar", onClick: onToday, disabled: itIsDisabledToday }) }), _jsx("div", { className: "rls-picker-date__actions--ok", children: _jsx(RlsButton, { type: "raised", onClick: onSelect, children: labels.dateActionSelect }) })] }) }))] }));
|
|
92
|
-
}
|
|
93
|
-
export const RlsPickerDate = memo(RlsPickerDateComponent);
|
|
94
|
-
//# sourceMappingURL=PickerDate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PickerDate.js","sourceRoot":"","sources":["../../../../../src/components/organisms/PickerDate/PickerDate.tsx"],"names":[],"mappings":"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"}
|