@trilogy-ds/react 4.15.0-timepicker-circular-native → 4.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/alert/Alert.js +3 -3
- package/lib/components/alert/AlertPropsDefaults.js +11 -1
- package/lib/components/alert/ToasterStatusPropsDefaults.js +11 -1
- package/lib/components/alert/context/ToastPropsDefaults.js +11 -1
- package/lib/components/autocomplete/AutoComplete.js +7 -5
- package/lib/components/autocomplete/AutoCompletePropsNativeDefaults.js +22 -2
- package/lib/components/autocomplete/AutoCompletePropsWebDefaults.js +22 -2
- package/lib/components/button/ButtonPropsDefaults.js +11 -1
- package/lib/components/checkbox/tiles/CheckboxTiles.d.ts +1 -0
- package/lib/components/checkbox/tiles/CheckboxTiles.js +26 -4
- package/lib/components/checkbox/tiles/CheckboxTiles.native.d.ts +2 -3
- package/lib/components/checkbox/tiles/CheckboxTiles.native.js +34 -7
- package/lib/components/checkbox/tiles/CheckboxTilesProps.d.ts +4 -2
- package/lib/components/checkbox/tiles/CheckboxTilesPropsDefaults.js +19 -0
- package/lib/components/checkbox/tiles/context/CheckboxTilesContext.d.ts +3 -0
- package/lib/components/checkbox/tiles/context/CheckboxTilesContext.js +5 -0
- package/lib/components/checkbox/tiles/context/CheckboxTilesContextProps.d.ts +3 -0
- package/lib/components/checkbox/tiles/context/CheckboxTilesContextProps.js +2 -0
- package/lib/components/checkbox/tiles/context/CheckboxTilesContextPropsDefaults.js +9 -0
- package/lib/components/checkbox/tiles/context/index.d.ts +2 -0
- package/lib/components/checkbox/tiles/context/index.js +3 -0
- package/lib/components/checkbox/tiles/tile/CheckboxTile.d.ts +1 -1
- package/lib/components/checkbox/tiles/tile/CheckboxTile.js +26 -13
- package/lib/components/checkbox/tiles/tile/CheckboxTile.native.js +10 -6
- package/lib/components/checkbox/tiles/tile/CheckboxTileProps.d.ts +4 -3
- package/lib/components/checkbox/tiles/tile/CheckboxTilePropsDefaults.js +25 -1
- package/lib/components/divider/DividerPropsDefaults.js +11 -1
- package/lib/components/dropdown/item/DropdownItemPropsDefaults.js +11 -1
- package/lib/components/enumsComponentsName.d.ts +14 -1
- package/lib/components/enumsComponentsName.js +14 -1
- package/lib/components/fab/FabPropsDefaults.js +11 -1
- package/lib/components/icon/IconNameEnum.d.ts +6 -1
- package/lib/components/icon/IconNameEnum.js +6 -1
- package/lib/components/icon/IconPropsDefaults.js +11 -1
- package/lib/components/index.d.ts +2 -1
- package/lib/components/index.js +3 -2
- package/lib/components/input/Input.js +3 -3
- package/lib/components/input/Input.native.js +6 -22
- package/lib/components/input/InputPropsDefaults.js +22 -2
- package/lib/components/link/LinkDefaults.js +11 -1
- package/lib/components/link/LinkPropsDefaults.js +11 -1
- package/lib/components/link/LinkPropsNativeDefaults.js +11 -1
- package/lib/components/list/item/ListItemPropsDefaults.js +11 -1
- package/lib/components/modal/Modal.native.js +2 -2
- package/lib/components/prompt/Prompt.d.ts +13 -0
- package/lib/components/prompt/Prompt.js +36 -0
- package/lib/components/prompt/Prompt.native.d.ts +5 -0
- package/lib/components/prompt/Prompt.native.js +30 -0
- package/lib/components/prompt/PromptProps.d.ts +16 -0
- package/lib/components/prompt/PromptProps.js +6 -0
- package/lib/components/prompt/PromptPropsDefaults.js +60 -0
- package/lib/components/prompt/context/index.d.ts +29 -0
- package/lib/components/prompt/context/index.js +44 -0
- package/lib/components/prompt/files/PromptFiles.d.ts +10 -0
- package/lib/components/prompt/files/PromptFiles.js +29 -0
- package/lib/components/prompt/files/PromptFiles.native.d.ts +5 -0
- package/lib/components/prompt/files/PromptFiles.native.js +26 -0
- package/lib/components/prompt/files/PromptFilesProps.d.ts +10 -0
- package/lib/components/prompt/files/PromptFilesProps.js +2 -0
- package/lib/components/prompt/files/PromptFilesPropsDefaults.js +44 -0
- package/lib/components/prompt/files/file/PromptFile.d.ts +13 -0
- package/lib/components/prompt/files/file/PromptFile.js +49 -0
- package/lib/components/prompt/files/file/PromptFile.native.d.ts +5 -0
- package/lib/components/prompt/files/file/PromptFile.native.js +78 -0
- package/lib/components/prompt/files/file/PromptFileProps.d.ts +13 -0
- package/lib/components/prompt/files/file/PromptFileProps.js +2 -0
- package/lib/components/prompt/files/file/PromptFilePropsDefaults.js +55 -0
- package/lib/components/prompt/files/file/index.d.ts +3 -0
- package/lib/components/prompt/files/file/index.js +4 -0
- package/lib/components/prompt/files/index.d.ts +3 -0
- package/lib/components/prompt/files/index.js +4 -0
- package/lib/components/prompt/index.d.ts +14 -0
- package/lib/components/prompt/index.js +15 -0
- package/lib/components/prompt/textarea/PromptTextarea.d.ts +15 -0
- package/lib/components/prompt/textarea/PromptTextarea.js +42 -0
- package/lib/components/prompt/textarea/PromptTextarea.native.d.ts +5 -0
- package/lib/components/prompt/textarea/PromptTextarea.native.js +48 -0
- package/lib/components/prompt/textarea/PromptTextareaProps.d.ts +16 -0
- package/lib/components/prompt/textarea/PromptTextareaProps.js +2 -0
- package/lib/components/prompt/textarea/PromptTextareaPropsDefaults.js +81 -0
- package/lib/components/prompt/textarea/index.d.ts +3 -0
- package/lib/components/prompt/textarea/index.js +4 -0
- package/lib/components/prompt/toolbar/PromptToolbar.d.ts +10 -0
- package/lib/components/prompt/toolbar/PromptToolbar.js +21 -0
- package/lib/components/prompt/toolbar/PromptToolbar.native.d.ts +5 -0
- package/lib/components/prompt/toolbar/PromptToolbar.native.js +23 -0
- package/lib/components/prompt/toolbar/PromptToolbarProps.d.ts +10 -0
- package/lib/components/prompt/toolbar/PromptToolbarProps.js +2 -0
- package/lib/components/prompt/toolbar/PromptToolbarPropsDefaults.js +44 -0
- package/lib/components/prompt/toolbar/index.d.ts +3 -0
- package/lib/components/prompt/toolbar/index.js +4 -0
- package/lib/components/prompt/toolbar/microphone/PromptMicrophone.d.ts +14 -0
- package/lib/components/prompt/toolbar/microphone/PromptMicrophone.js +35 -0
- package/lib/components/prompt/toolbar/microphone/PromptMicrophone.native.d.ts +4 -0
- package/lib/components/prompt/toolbar/microphone/PromptMicrophone.native.js +33 -0
- package/lib/components/prompt/toolbar/microphone/PromptMicrophoneProps.d.ts +12 -0
- package/lib/components/prompt/toolbar/microphone/PromptMicrophoneProps.js +2 -0
- package/lib/components/prompt/toolbar/microphone/PromptMicrophonePropsDefaults.js +61 -0
- package/lib/components/prompt/toolbar/microphone/index.d.ts +3 -0
- package/lib/components/prompt/toolbar/microphone/index.js +4 -0
- package/lib/components/prompt/toolbar/submit/PromptSubmit.d.ts +15 -0
- package/lib/components/prompt/toolbar/submit/PromptSubmit.js +54 -0
- package/lib/components/prompt/toolbar/submit/PromptSubmit.native.d.ts +5 -0
- package/lib/components/prompt/toolbar/submit/PromptSubmit.native.js +44 -0
- package/lib/components/prompt/toolbar/submit/PromptSubmitProps.d.ts +18 -0
- package/lib/components/prompt/toolbar/submit/PromptSubmitProps.js +6 -0
- package/lib/components/prompt/toolbar/submit/PromptSubmitPropsDefaults.js +68 -0
- package/lib/components/prompt/toolbar/submit/index.d.ts +3 -0
- package/lib/components/prompt/toolbar/submit/index.js +4 -0
- package/lib/components/prompt/toolbar/tools/PromptTools.d.ts +10 -0
- package/lib/components/prompt/toolbar/tools/PromptTools.js +21 -0
- package/lib/components/prompt/toolbar/tools/PromptTools.native.d.ts +5 -0
- package/lib/components/prompt/toolbar/tools/PromptTools.native.js +22 -0
- package/lib/components/prompt/toolbar/tools/PromptToolsProps.d.ts +10 -0
- package/lib/components/prompt/toolbar/tools/PromptToolsProps.js +2 -0
- package/lib/components/prompt/toolbar/tools/PromptToolsPropsDefaults.js +44 -0
- package/lib/components/prompt/toolbar/tools/button/PromptButton.d.ts +16 -0
- package/lib/components/prompt/toolbar/tools/button/PromptButton.js +35 -0
- package/lib/components/prompt/toolbar/tools/button/PromptButton.native.d.ts +4 -0
- package/lib/components/prompt/toolbar/tools/button/PromptButton.native.js +33 -0
- package/lib/components/prompt/toolbar/tools/button/PromptButtonProps.d.ts +19 -0
- package/lib/components/prompt/toolbar/tools/button/PromptButtonProps.js +2 -0
- package/lib/components/prompt/toolbar/tools/button/PromptButtonPropsDefaults.js +157 -0
- package/lib/components/prompt/toolbar/tools/button/index.d.ts +3 -0
- package/lib/components/prompt/toolbar/tools/button/index.js +4 -0
- package/lib/components/prompt/toolbar/tools/index.d.ts +3 -0
- package/lib/components/prompt/toolbar/tools/index.js +4 -0
- package/lib/components/prompt/toolbar/tools/inputFile/PromptInputFile.d.ts +13 -0
- package/lib/components/prompt/toolbar/tools/inputFile/PromptInputFile.js +37 -0
- package/lib/components/prompt/toolbar/tools/inputFile/PromptInputFile.native.d.ts +4 -0
- package/lib/components/prompt/toolbar/tools/inputFile/PromptInputFile.native.js +30 -0
- package/lib/components/prompt/toolbar/tools/inputFile/PromptInputFileProps.d.ts +12 -0
- package/lib/components/prompt/toolbar/tools/inputFile/PromptInputFileProps.js +2 -0
- package/lib/components/prompt/toolbar/tools/inputFile/PromptInputFilePropsDefaults.js +53 -0
- package/lib/components/prompt/toolbar/tools/inputFile/index.d.ts +3 -0
- package/lib/components/prompt/toolbar/tools/inputFile/index.js +4 -0
- package/lib/components/prompt/toolbar/tools/select/PromptSelect.d.ts +16 -0
- package/lib/components/prompt/toolbar/tools/select/PromptSelect.js +62 -0
- package/lib/components/prompt/toolbar/tools/select/PromptSelect.native.d.ts +4 -0
- package/lib/components/prompt/toolbar/tools/select/PromptSelect.native.js +22 -0
- package/lib/components/prompt/toolbar/tools/select/PromptSelectProps.d.ts +3 -0
- package/lib/components/prompt/toolbar/tools/select/PromptSelectProps.js +2 -0
- package/lib/components/prompt/toolbar/tools/select/index.d.ts +3 -0
- package/lib/components/prompt/toolbar/tools/select/index.js +4 -0
- package/lib/components/prompt/toolbar/tools/select/options/PromptSelectOption.d.ts +12 -0
- package/lib/components/prompt/toolbar/tools/select/options/PromptSelectOption.js +19 -0
- package/lib/components/prompt/toolbar/tools/select/options/PromptSelectOption.native.d.ts +4 -0
- package/lib/components/prompt/toolbar/tools/select/options/PromptSelectOption.native.js +11 -0
- package/lib/components/prompt/toolbar/tools/select/options/PromptSelectOptionProps.d.ts +3 -0
- package/lib/components/prompt/toolbar/tools/select/options/PromptSelectOptionProps.js +2 -0
- package/lib/components/prompt/toolbar/tools/select/options/index.d.ts +3 -0
- package/lib/components/prompt/toolbar/tools/select/options/index.js +4 -0
- package/lib/components/radio/tiles/RadioTiles.d.ts +1 -0
- package/lib/components/radio/tiles/RadioTiles.js +27 -5
- package/lib/components/radio/tiles/RadioTiles.native.d.ts +3 -3
- package/lib/components/radio/tiles/RadioTiles.native.js +35 -7
- package/lib/components/radio/tiles/RadioTilesProps.d.ts +4 -5
- package/lib/components/radio/tiles/RadioTilesPropsDefaults.js +19 -0
- package/lib/components/radio/tiles/context/RadioTilesContext.d.ts +3 -0
- package/lib/components/radio/tiles/context/RadioTilesContext.js +5 -0
- package/lib/components/radio/tiles/context/RadioTilesContextProps.d.ts +3 -0
- package/lib/components/radio/tiles/context/RadioTilesContextProps.js +2 -0
- package/lib/components/radio/tiles/context/RadioTilesContextPropsDefaults.js +9 -0
- package/lib/components/radio/tiles/context/index.d.ts +2 -0
- package/lib/components/radio/tiles/context/index.js +3 -0
- package/lib/components/radio/tiles/tile/RadioTile.d.ts +1 -1
- package/lib/components/radio/tiles/tile/RadioTile.js +23 -20
- package/lib/components/radio/tiles/tile/RadioTile.native.js +8 -5
- package/lib/components/radio/tiles/tile/RadioTileNativePropsDefaults.js +21 -4
- package/lib/components/radio/tiles/tile/RadioTileProps.d.ts +5 -3
- package/lib/components/radio/tiles/tile/RadioTilePropsCommonDefaults.js +11 -1
- package/lib/components/radio/tiles/tile/RadioTilePropsDefaults.js +19 -76
- package/lib/components/select/PropsDefaults.js +19 -1
- package/lib/components/select/Select.native.js +9 -9
- package/lib/components/select/SelectNativePropsDefaults.js +19 -1
- package/lib/components/select/SelectProps.d.ts +1 -0
- package/lib/components/select/SelectPropsDefaults.js +19 -1
- package/lib/components/select/option/SelectOptionPropsDefaults.js +11 -1
- package/lib/components/select/web/SelectNative.js +2 -2
- package/lib/components/stepper/Stepper.js +26 -17
- package/lib/components/stepper/Stepper.native.js +20 -26
- package/lib/components/stepper/step/Step.js +8 -15
- package/lib/components/stepper/step/StepPropsDefaults.js +11 -1
- package/lib/components/sticker/StickerPropsDefaults.js +11 -1
- package/lib/components/tabs/tab-list/tab/TabPropsDefaults.js +11 -1
- package/lib/components/tag/TagPropsDefaults.js +6 -1
- package/lib/components/text/TextPropsDefaults.js +4 -0
- package/lib/components/textarea/Textarea.native.js +27 -18
- package/lib/components/textarea/TextareaProps.d.ts +2 -2
- package/lib/components/timeline/marker/TimelineMarkerPropsDefaults.js +11 -1
- package/lib/components/timeline/marker/TimelineMarkerWebPropsDefaults.js +11 -1
- package/lib/components/{timepicker-circular/TimepickerCircularPropsDefaults.js → timepicker/BaseTimepickerPropsDefaults.js} +7 -0
- package/lib/components/timepicker/CircularTimepickerPropsDefaults.js +56 -0
- package/lib/components/timepicker/DefaultTimepickerPropsDefaults.js +88 -0
- package/lib/components/timepicker/Timepicker.d.ts +16 -0
- package/lib/components/timepicker/Timepicker.js +26 -0
- package/lib/components/timepicker/Timepicker.native.d.ts +4 -0
- package/lib/components/timepicker/Timepicker.native.js +14 -0
- package/lib/components/timepicker/TimepickerProps.d.ts +23 -0
- package/lib/components/timepicker/TimepickerProps.js +2 -0
- package/lib/components/timepicker/circular/TimepickerCircular.d.ts +11 -0
- package/lib/components/timepicker/circular/TimepickerCircular.js +351 -0
- package/lib/components/timepicker/circular/TimepickerCircular.native.js +467 -0
- package/lib/components/{timepicker-circular → timepicker/circular}/TimepickerCircularEnum.js +1 -1
- package/lib/components/timepicker/circular/TimepickerCircularProps.d.ts +7 -0
- package/lib/components/timepicker/circular/TimepickerCircularProps.js +2 -0
- package/lib/components/{timepicker-circular → timepicker/circular}/index.js +1 -1
- package/lib/components/timepicker/default/TimepickerDefault.d.ts +4 -0
- package/lib/components/timepicker/default/TimepickerDefault.js +206 -0
- package/lib/components/timepicker/default/TimepickerDefault.native.d.ts +5 -0
- package/lib/components/timepicker/default/TimepickerDefault.native.js +83 -0
- package/lib/components/timepicker/default/TimepickerDefaultProps.d.ts +6 -0
- package/lib/components/timepicker/default/TimepickerDefaultProps.js +2 -0
- package/lib/components/timepicker/default/TimepickerDefaultPropsDefaults.js +9 -0
- package/lib/components/timepicker/default/index.d.ts +2 -0
- package/lib/components/timepicker/default/index.js +3 -0
- package/lib/components/timepicker/default/selector/TimepickerSelector.d.ts +13 -0
- package/lib/components/timepicker/default/selector/TimepickerSelector.js +22 -0
- package/lib/components/timepicker/default/selector/TimepickerSelector.native.d.ts +13 -0
- package/lib/components/timepicker/default/selector/TimepickerSelector.native.js +69 -0
- package/lib/components/timepicker/default/selector/index.d.ts +2 -0
- package/lib/components/timepicker/default/selector/index.js +3 -0
- package/lib/components/timepicker/default/selector/item/TimepickerSelectorItem.d.ts +12 -0
- package/lib/components/timepicker/default/selector/item/TimepickerSelectorItem.js +14 -0
- package/lib/components/timepicker/default/selector/item/TimepickerSelectorItem.native.d.ts +12 -0
- package/lib/components/timepicker/default/selector/item/TimepickerSelectorItem.native.js +38 -0
- package/lib/components/timepicker/default/selector/item/index.d.ts +2 -0
- package/lib/components/timepicker/default/selector/item/index.js +3 -0
- package/lib/components/timepicker/index.d.ts +2 -0
- package/lib/components/timepicker/index.js +3 -0
- package/lib/objects/Typography/TypographyColor.d.ts +3 -1
- package/lib/objects/Typography/TypographyColor.js +9 -1
- package/lib/objects/facets/Grid.d.ts +9 -0
- package/lib/objects/facets/Grid.js +2 -0
- package/lib/objects/facets/Radius.d.ts +2 -0
- package/lib/objects/facets/Radius.js +14 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +2 -2
- package/package.json +1 -1
- package/lib/components/timepicker-circular/TimepickerCircular.d.ts +0 -8
- package/lib/components/timepicker-circular/TimepickerCircular.js +0 -12
- package/lib/components/timepicker-circular/TimepickerCircular.native.js +0 -523
- package/lib/components/timepicker-circular/TimepickerCircularProps.d.ts +0 -13
- package/lib/components/timepicker-circular/TimepickerCircularProps.js +0 -2
- /package/lib/components/{timepicker-circular → timepicker/circular}/TimepickerCircular.native.d.ts +0 -0
- /package/lib/components/{timepicker-circular → timepicker/circular}/TimepickerCircularEnum.d.ts +0 -0
- /package/lib/components/{timepicker-circular → timepicker/circular}/index.d.ts +0 -0
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { __assign, __read, __rest } from "tslib";
|
|
2
|
+
import { GapSize } from '../../../components/columns';
|
|
3
|
+
import { ComponentName } from '../../../components/enumsComponentsName';
|
|
4
|
+
import { FlexBox } from '../../../components/flex-box';
|
|
5
|
+
import { Input } from '../../../components/input';
|
|
6
|
+
import { Text } from '../../../components/text';
|
|
7
|
+
import { useTrilogyContext } from '../../../context';
|
|
8
|
+
import { hashClass } from '../../../helpers';
|
|
9
|
+
import { useClickOutside } from '../../../helpers/clickOutside';
|
|
10
|
+
import { Align, Justify, TypographyAlign } from '../../../objects';
|
|
11
|
+
import clsx from 'clsx';
|
|
12
|
+
import React, { useCallback, useMemo, useRef, useState } from 'react';
|
|
13
|
+
import { TimepickerSelector } from './selector';
|
|
14
|
+
var APPROXIMATIVE_HEIGHT_TIMEPICKER = 300;
|
|
15
|
+
var generateItems = function (count) {
|
|
16
|
+
return Array.from({ length: count }, function (_, i) { return ({
|
|
17
|
+
value: i,
|
|
18
|
+
label: i.toString().padStart(2, '0'),
|
|
19
|
+
}); });
|
|
20
|
+
};
|
|
21
|
+
var parseTime = function (timeStr) {
|
|
22
|
+
var _a = __read(timeStr.split(':'), 2), h = _a[0], m = _a[1];
|
|
23
|
+
return {
|
|
24
|
+
hours: parseInt(h || '0', 10) || 0,
|
|
25
|
+
minutes: parseInt(m || '0', 10) || 0,
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
var TimepickerDefault = React.forwardRef(function (_a, ref) {
|
|
29
|
+
var disabled = _a.disabled, id = _a.id, _b = _a.value, value = _b === void 0 ? '00:00' : _b, onChange = _a.onChange, _c = _a.step, step = _c === void 0 ? 1 : _c, label = _a.label, sample = _a.sample, help = _a.help, required = _a.required, testId = _a.testId, others = __rest(_a, ["disabled", "id", "value", "onChange", "step", "label", "sample", "help", "required", "testId"]);
|
|
30
|
+
var _d = __read(useState(false), 2), display = _d[0], setDisplay = _d[1];
|
|
31
|
+
var styled = useTrilogyContext().styled;
|
|
32
|
+
var _e = parseTime(value), hours = _e.hours, minutes = _e.minutes;
|
|
33
|
+
var _f = __read(useState(hours), 2), selectedHours = _f[0], setSelectedHours = _f[1];
|
|
34
|
+
var _g = __read(useState(minutes), 2), selectedMinutes = _g[0], setSelectedMinutes = _g[1];
|
|
35
|
+
var _h = __read(useState(value !== '00:00' ? value : ''), 2), inputValue = _h[0], setInputValue = _h[1];
|
|
36
|
+
var refInput = useRef(null);
|
|
37
|
+
var _j = __read(useState({ top: 0, left: 0, width: 0, openUpward: false }), 2), portalPosition = _j[0], setPortalPosition = _j[1];
|
|
38
|
+
var menuClasses = hashClass(styled, clsx('timepicker-menu'));
|
|
39
|
+
var dividerClasses = hashClass(styled, clsx('timepicker-menu-divider'));
|
|
40
|
+
useClickOutside(refInput, function () {
|
|
41
|
+
setTimeout(function () {
|
|
42
|
+
setDisplay(false);
|
|
43
|
+
}, 0);
|
|
44
|
+
});
|
|
45
|
+
var calculatePortalPosition = useCallback(function () {
|
|
46
|
+
if (!refInput.current)
|
|
47
|
+
return;
|
|
48
|
+
var rect = refInput.current.getBoundingClientRect();
|
|
49
|
+
var top = rect.top, bottom = rect.bottom, left = rect.left, width = rect.width;
|
|
50
|
+
var windowHeight = window.innerHeight;
|
|
51
|
+
var spaceBelow = windowHeight - bottom;
|
|
52
|
+
var padding = 10;
|
|
53
|
+
var maxHeightBelow = spaceBelow - padding;
|
|
54
|
+
var maxHeightAbove = top - padding;
|
|
55
|
+
var shouldOpenUpward = maxHeightBelow < APPROXIMATIVE_HEIGHT_TIMEPICKER && maxHeightAbove > maxHeightBelow;
|
|
56
|
+
var scrollTop = window.pageYOffset || document.documentElement.scrollTop;
|
|
57
|
+
var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;
|
|
58
|
+
setPortalPosition({
|
|
59
|
+
top: shouldOpenUpward
|
|
60
|
+
? top + scrollTop - APPROXIMATIVE_HEIGHT_TIMEPICKER - padding
|
|
61
|
+
: bottom + scrollTop + padding,
|
|
62
|
+
left: left + scrollLeft,
|
|
63
|
+
width: width,
|
|
64
|
+
openUpward: shouldOpenUpward,
|
|
65
|
+
});
|
|
66
|
+
}, []);
|
|
67
|
+
var hourItems = useMemo(function () { return generateItems(24); }, []);
|
|
68
|
+
var minuteItems = useMemo(function () {
|
|
69
|
+
var items = [];
|
|
70
|
+
for (var i = 0; i < 60; i += step) {
|
|
71
|
+
items.push({ value: i, label: i.toString().padStart(2, '0') });
|
|
72
|
+
}
|
|
73
|
+
return items;
|
|
74
|
+
}, [step]);
|
|
75
|
+
var handleOpenCloseModal = useCallback(function () {
|
|
76
|
+
if (!disabled) {
|
|
77
|
+
if (!display)
|
|
78
|
+
calculatePortalPosition();
|
|
79
|
+
setDisplay(function (prev) { return !prev; });
|
|
80
|
+
}
|
|
81
|
+
}, [disabled, display, calculatePortalPosition]);
|
|
82
|
+
var handleHourChange = useCallback(function (newHour) {
|
|
83
|
+
setSelectedHours(newHour);
|
|
84
|
+
var formatted = "".concat(newHour.toString().padStart(2, '0'), ":").concat(selectedMinutes.toString().padStart(2, '0'));
|
|
85
|
+
setInputValue(formatted);
|
|
86
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(formatted);
|
|
87
|
+
}, [selectedMinutes, onChange]);
|
|
88
|
+
var handleMinuteChange = useCallback(function (newMinute) {
|
|
89
|
+
setSelectedMinutes(newMinute);
|
|
90
|
+
var formatted = "".concat(selectedHours.toString().padStart(2, '0'), ":").concat(newMinute.toString().padStart(2, '0'));
|
|
91
|
+
setInputValue(formatted);
|
|
92
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(formatted);
|
|
93
|
+
}, [selectedHours, onChange]);
|
|
94
|
+
var handleKeyDown = useCallback(function (event) {
|
|
95
|
+
var _a;
|
|
96
|
+
var key = event.key;
|
|
97
|
+
if (key === 'Escape') {
|
|
98
|
+
setDisplay(false);
|
|
99
|
+
(_a = refInput.current) === null || _a === void 0 ? void 0 : _a.blur();
|
|
100
|
+
}
|
|
101
|
+
}, []);
|
|
102
|
+
var handleInputChange = useCallback(function (event) {
|
|
103
|
+
var _a;
|
|
104
|
+
var inputValue = event.inputValue;
|
|
105
|
+
var previousValue = ((_a = refInput.current) === null || _a === void 0 ? void 0 : _a.value) || '';
|
|
106
|
+
var cleanValue = inputValue.replace(/[^\d:]/g, '');
|
|
107
|
+
var formattedValue = '';
|
|
108
|
+
var digits = cleanValue.replace(/:/g, '');
|
|
109
|
+
var shouldMoveCursor = false;
|
|
110
|
+
if (digits.length === 0) {
|
|
111
|
+
formattedValue = '';
|
|
112
|
+
}
|
|
113
|
+
else if (digits.length === 1) {
|
|
114
|
+
formattedValue = digits;
|
|
115
|
+
}
|
|
116
|
+
else if (digits.length === 2) {
|
|
117
|
+
formattedValue = "".concat(digits, ":");
|
|
118
|
+
if (previousValue.length === 2 && !previousValue.includes(':')) {
|
|
119
|
+
shouldMoveCursor = true;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
else if (digits.length === 3) {
|
|
123
|
+
formattedValue = "".concat(digits.slice(0, 2), ":").concat(digits.slice(2));
|
|
124
|
+
}
|
|
125
|
+
else if (digits.length === 4) {
|
|
126
|
+
formattedValue = "".concat(digits.slice(0, 2), ":").concat(digits.slice(2, 4));
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
formattedValue = "".concat(digits.slice(0, 2), ":").concat(digits.slice(2, 4));
|
|
130
|
+
}
|
|
131
|
+
if (formattedValue.length > 5) {
|
|
132
|
+
formattedValue = formattedValue.slice(0, 5);
|
|
133
|
+
}
|
|
134
|
+
setInputValue(formattedValue);
|
|
135
|
+
if (shouldMoveCursor) {
|
|
136
|
+
setTimeout(function () {
|
|
137
|
+
if (refInput.current) {
|
|
138
|
+
refInput.current.setSelectionRange(3, 3);
|
|
139
|
+
}
|
|
140
|
+
}, 0);
|
|
141
|
+
}
|
|
142
|
+
if (formattedValue.includes(':') && formattedValue.length === 5) {
|
|
143
|
+
var _b = parseTime(formattedValue), hours_1 = _b.hours, minutes_1 = _b.minutes;
|
|
144
|
+
if (hours_1 >= 0 && hours_1 <= 23 && minutes_1 >= 0 && minutes_1 <= 59) {
|
|
145
|
+
var roundedMinutes = Math.round(minutes_1 / step) * step;
|
|
146
|
+
var finalMinutes = Math.max(0, Math.min(59, roundedMinutes));
|
|
147
|
+
var finalFormattedValue = "".concat(hours_1.toString().padStart(2, '0'), ":").concat(finalMinutes
|
|
148
|
+
.toString()
|
|
149
|
+
.padStart(2, '0'));
|
|
150
|
+
setSelectedHours(hours_1);
|
|
151
|
+
setSelectedMinutes(finalMinutes);
|
|
152
|
+
if (finalMinutes !== minutes_1) {
|
|
153
|
+
setInputValue(finalFormattedValue);
|
|
154
|
+
}
|
|
155
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(finalFormattedValue);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
else if (formattedValue === '') {
|
|
159
|
+
setSelectedHours(0);
|
|
160
|
+
setSelectedMinutes(0);
|
|
161
|
+
onChange === null || onChange === void 0 ? void 0 : onChange('00:00');
|
|
162
|
+
}
|
|
163
|
+
}, [onChange]);
|
|
164
|
+
React.useEffect(function () {
|
|
165
|
+
var _a = parseTime(value), h = _a.hours, m = _a.minutes;
|
|
166
|
+
setSelectedHours(h);
|
|
167
|
+
setSelectedMinutes(m);
|
|
168
|
+
setInputValue(value !== '00:00' ? value : '');
|
|
169
|
+
}, [value]);
|
|
170
|
+
React.useEffect(function () {
|
|
171
|
+
if (!display)
|
|
172
|
+
return;
|
|
173
|
+
var handleUpdate = function () { return calculatePortalPosition(); };
|
|
174
|
+
window.addEventListener('scroll', handleUpdate, true);
|
|
175
|
+
window.addEventListener('resize', handleUpdate);
|
|
176
|
+
return function () {
|
|
177
|
+
window.removeEventListener('scroll', handleUpdate, true);
|
|
178
|
+
window.removeEventListener('resize', handleUpdate);
|
|
179
|
+
};
|
|
180
|
+
}, [display, calculatePortalPosition]);
|
|
181
|
+
return (React.createElement("div", { ref: ref, style: { position: 'relative' } },
|
|
182
|
+
React.createElement(Input, __assign({ testId: testId, ref: refInput, label: label, sample: sample, help: help, required: required, onIconClick: handleOpenCloseModal, disabled: disabled, iconNameRight: 'tri-clock', placeholder: '--:--', value: inputValue, id: id, onChange: handleInputChange, onFocus: function () {
|
|
183
|
+
calculatePortalPosition();
|
|
184
|
+
setDisplay(true);
|
|
185
|
+
}, onClick: function () {
|
|
186
|
+
if (refInput.current) {
|
|
187
|
+
refInput.current.select();
|
|
188
|
+
}
|
|
189
|
+
} }, __assign(__assign({}, others), { onKeyDown: handleKeyDown }))),
|
|
190
|
+
display && (React.createElement("div", { className: menuClasses, style: {
|
|
191
|
+
top: portalPosition.openUpward ? 'auto' : '100%',
|
|
192
|
+
bottom: portalPosition.openUpward ? '100%' : 'auto',
|
|
193
|
+
marginTop: portalPosition.openUpward ? '0' : '4px',
|
|
194
|
+
marginBottom: portalPosition.openUpward ? '4px' : '0',
|
|
195
|
+
} },
|
|
196
|
+
React.createElement("div", { className: dividerClasses }),
|
|
197
|
+
React.createElement(FlexBox, { align: Align.CENTER, justify: Justify.SPACE_BETWEEN, gap: GapSize.ONE, className: 'timepicker-menu-header' },
|
|
198
|
+
React.createElement(Text, { typo: [TypographyAlign.TEXT_CENTERED], className: 'timepicker-menu-title' }, "Heure"),
|
|
199
|
+
React.createElement(Text, { typo: [TypographyAlign.TEXT_CENTERED], className: 'timepicker-menu-title' }, "Minute")),
|
|
200
|
+
React.createElement(FlexBox, { align: Align.CENTER, justify: Justify.SPACE_BETWEEN, className: 'timepicker-menu-selectors', gap: GapSize.FOUR },
|
|
201
|
+
React.createElement(TimepickerSelector, { items: hourItems, value: selectedHours, onValueChange: function (v) { return handleHourChange(Number(v)); } }),
|
|
202
|
+
React.createElement(TimepickerSelector, { items: minuteItems, value: selectedMinutes, onValueChange: function (v) { return handleMinuteChange(Number(v)); } }))))));
|
|
203
|
+
});
|
|
204
|
+
TimepickerDefault.displayName = ComponentName.Timepicker;
|
|
205
|
+
export default TimepickerDefault;
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZXBpY2tlckRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21wb25lbnRzL3RpbWVwaWNrZXIvZGVmYXVsdC9UaW1lcGlja2VyRGVmYXVsdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQy9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDeEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUMzRCxPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFDdkIsT0FBTyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRy9DLElBQU0sK0JBQStCLEdBQUcsR0FBRyxDQUFBO0FBRTNDLElBQU0sYUFBYSxHQUFHLFVBQUMsS0FBYTtJQUNsQyxPQUFBLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsVUFBQyxDQUFDLEVBQUUsQ0FBQyxJQUFLLE9BQUEsQ0FBQztRQUN2QyxLQUFLLEVBQUUsQ0FBQztR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
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
import { TimepickerDefaultProps } from './TimepickerDefaultProps';
|
|
4
|
+
declare const TimepickerDefault: React.ForwardRefExoticComponent<Omit<TimepickerDefaultProps, "circular"> & React.RefAttributes<View>>;
|
|
5
|
+
export default TimepickerDefault;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { __assign, __read, __rest } from "tslib";
|
|
2
|
+
import { Button, ButtonVariant } from '../../../components/button';
|
|
3
|
+
import { GapSize } from '../../../components/columns';
|
|
4
|
+
import { ComponentName } from '../../../components/enumsComponentsName';
|
|
5
|
+
import { FlexBox } from '../../../components/flex-box';
|
|
6
|
+
import Input from '../../../components/input/Input.native';
|
|
7
|
+
import ModalFooter from '../../../components/modal/footer/ModalFooter.native';
|
|
8
|
+
import Modal from '../../../components/modal/Modal.native';
|
|
9
|
+
import { Spacer, SpacerSize } from '../../../components/spacer';
|
|
10
|
+
import { Text, TextLevels } from '../../../components/text';
|
|
11
|
+
import { Align, Justify, TypographyAlign, TypographyBold } from '../../../objects';
|
|
12
|
+
import React, { useCallback, useMemo, useState } from 'react';
|
|
13
|
+
import { Pressable, View } from 'react-native';
|
|
14
|
+
import { TimepickerSelector } from './selector/TimepickerSelector.native';
|
|
15
|
+
var generateItems = function (count) {
|
|
16
|
+
return Array.from({ length: count }, function (_, i) { return ({
|
|
17
|
+
value: i,
|
|
18
|
+
label: i.toString().padStart(2, '0'),
|
|
19
|
+
}); });
|
|
20
|
+
};
|
|
21
|
+
var TimepickerDefault = React.forwardRef(function (_a, ref) {
|
|
22
|
+
var disabled = _a.disabled, id = _a.id, _b = _a.value, value = _b === void 0 ? '00:00' : _b, onChange = _a.onChange, _c = _a.step, step = _c === void 0 ? 1 : _c, label = _a.label, sample = _a.sample, help = _a.help, required = _a.required, testId = _a.testId, others = __rest(_a, ["disabled", "id", "value", "onChange", "step", "label", "sample", "help", "required", "testId"]);
|
|
23
|
+
var _d = __read(useState(false), 2), display = _d[0], setDisplay = _d[1];
|
|
24
|
+
var parseTime = function (timeStr) {
|
|
25
|
+
var _a = __read(timeStr.split(':'), 2), h = _a[0], m = _a[1];
|
|
26
|
+
return {
|
|
27
|
+
hours: parseInt(h || '0', 10) || 0,
|
|
28
|
+
minutes: parseInt(m || '0', 10) || 0,
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
var _e = parseTime(value), hours = _e.hours, minutes = _e.minutes;
|
|
32
|
+
var _f = __read(useState(hours), 2), selectedHours = _f[0], setSelectedHours = _f[1];
|
|
33
|
+
var _g = __read(useState(minutes), 2), selectedMinutes = _g[0], setSelectedMinutes = _g[1];
|
|
34
|
+
var _h = __read(useState(value !== '00:00' ? value : undefined), 2), inputValue = _h[0], setInputValue = _h[1];
|
|
35
|
+
var hourItems = useMemo(function () { return generateItems(24); }, []);
|
|
36
|
+
var minuteItems = useMemo(function () {
|
|
37
|
+
var items = [];
|
|
38
|
+
for (var i = 0; i < 60; i += step) {
|
|
39
|
+
items.push({ value: i, label: i.toString().padStart(2, '0') });
|
|
40
|
+
}
|
|
41
|
+
return items;
|
|
42
|
+
}, [step]);
|
|
43
|
+
var handleOpenCloseModal = useCallback(function () {
|
|
44
|
+
if (!disabled) {
|
|
45
|
+
setDisplay(function (prev) { return !prev; });
|
|
46
|
+
}
|
|
47
|
+
}, [disabled]);
|
|
48
|
+
var handleValidate = useCallback(function () {
|
|
49
|
+
var formatted = "".concat(selectedHours.toString().padStart(2, '0'), ":").concat(selectedMinutes.toString().padStart(2, '0'));
|
|
50
|
+
setInputValue(formatted);
|
|
51
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(formatted);
|
|
52
|
+
setDisplay(false);
|
|
53
|
+
}, [selectedHours, selectedMinutes, onChange]);
|
|
54
|
+
var handleCancel = useCallback(function () {
|
|
55
|
+
setSelectedHours(hours);
|
|
56
|
+
setSelectedMinutes(minutes);
|
|
57
|
+
setDisplay(false);
|
|
58
|
+
}, [hours, minutes]);
|
|
59
|
+
React.useEffect(function () {
|
|
60
|
+
var _a = parseTime(value), h = _a.hours, m = _a.minutes;
|
|
61
|
+
setSelectedHours(h);
|
|
62
|
+
setSelectedMinutes(m);
|
|
63
|
+
setInputValue(value !== '00:00' ? value : undefined);
|
|
64
|
+
}, [value]);
|
|
65
|
+
return (React.createElement(Modal, { hideCloseButton: true, active: display, onClose: handleOpenCloseModal, trigger: React.createElement(Pressable, { onPress: handleOpenCloseModal },
|
|
66
|
+
React.createElement(Input, __assign({ testId: testId, label: label, sample: sample, help: help, required: required, onIconClick: handleOpenCloseModal, disabled: disabled, iconNameRight: 'tri-clock', placeholder: '--:--', value: inputValue, ref: ref }, { editable: false, pointerEvents: 'none', id: id }, others))) },
|
|
67
|
+
React.createElement(View, { style: { paddingBottom: 20 } },
|
|
68
|
+
React.createElement(FlexBox, { justify: Justify.SPACE_BETWEEN, align: Align.CENTER },
|
|
69
|
+
React.createElement(Text, { level: TextLevels.TWO, typo: [TypographyBold.TEXT_WEIGHT_SEMIBOLD, TypographyAlign.TEXT_CENTERED, TypographyAlign.TEXT_CENTERED], style: { flex: 1 } }, "Heures"),
|
|
70
|
+
React.createElement(Text, { level: TextLevels.TWO, typo: [TypographyBold.TEXT_WEIGHT_SEMIBOLD, TypographyAlign.TEXT_CENTERED], style: { flex: 1 } }, "Minutes")),
|
|
71
|
+
React.createElement(FlexBox, { align: Align.CENTER, gap: GapSize.FOUR },
|
|
72
|
+
React.createElement(View, { style: { flex: 1 } },
|
|
73
|
+
React.createElement(TimepickerSelector, { items: hourItems, value: selectedHours, onValueChange: function (v) { return setSelectedHours(Number(v)); } })),
|
|
74
|
+
React.createElement(View, { style: { flex: 1 } },
|
|
75
|
+
React.createElement(TimepickerSelector, { items: minuteItems, value: selectedMinutes, onValueChange: function (v) { return setSelectedMinutes(Number(v)); } })))),
|
|
76
|
+
React.createElement(ModalFooter, null,
|
|
77
|
+
React.createElement(Button, { onClick: handleValidate }, "Valider"),
|
|
78
|
+
React.createElement(Spacer, { size: SpacerSize.FOUR }),
|
|
79
|
+
React.createElement(Button, { variant: ButtonVariant.SECONDARY, onClick: handleCancel }, "Annuler"))));
|
|
80
|
+
});
|
|
81
|
+
TimepickerDefault.displayName = ComponentName.Timepicker;
|
|
82
|
+
export default TimepickerDefault;
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZXBpY2tlckRlZmF1bHQubmF0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tcG9uZW50cy90aW1lcGlja2VyL2RlZmF1bHQvVGltZXBpY2tlckRlZmF1bHQubmF0aXZlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMvQyxPQUFPLEtBQUssTUFBTSxpQ0FBaUMsQ0FBQTtBQUNuRCxPQUFPLFdBQVcsTUFBTSw4Q0FBOEMsQ0FBQTtBQUN0RSxPQUFPLEtBQUssTUFBTSxpQ0FBaUMsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUMzRSxPQUFPLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQWEsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFBO0FBR3pFLElBQU0sYUFBYSxHQUFHLFVBQUMsS0FBYTtJQUNsQyxPQUFBLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsVUFBQyxDQUFD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
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZXBpY2tlckRlZmF1bHRQcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdGltZXBpY2tlci9kZWZhdWx0L1RpbWVwaWNrZXJEZWZhdWx0UHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import TimepickerDefault from './TimepickerDefault';
|
|
2
|
+
export { TimepickerDefault };
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21wb25lbnRzL3RpbWVwaWNrZXIvZGVmYXVsdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGlCQUFpQixNQUFNLHFCQUFxQixDQUFBO0FBRW5ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxDQUFBIn0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface SelectItem {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string | number;
|
|
5
|
+
}
|
|
6
|
+
interface SelectProps {
|
|
7
|
+
items: SelectItem[];
|
|
8
|
+
value: string | number;
|
|
9
|
+
onValueChange: (value: string | number) => void;
|
|
10
|
+
visibleItems?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare const TimepickerSelector: ({ items, value, onValueChange, visibleItems }: SelectProps) => React.JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useTrilogyContext } from '../../../../context';
|
|
2
|
+
import { hashClass } from '../../../../helpers';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import React, { useEffect, useRef } from 'react';
|
|
5
|
+
import TimepickerSelectorItem from './item/TimepickerSelectorItem';
|
|
6
|
+
export var TimepickerSelector = function (_a) {
|
|
7
|
+
var items = _a.items, value = _a.value, onValueChange = _a.onValueChange, _b = _a.visibleItems, visibleItems = _b === void 0 ? 5 : _b;
|
|
8
|
+
var containerRef = useRef(null);
|
|
9
|
+
var styled = useTrilogyContext().styled;
|
|
10
|
+
useEffect(function () {
|
|
11
|
+
var selectedIndex = items.findIndex(function (item) { return item.value === value; });
|
|
12
|
+
if (selectedIndex !== -1 && containerRef.current) {
|
|
13
|
+
var itemHeight = 36;
|
|
14
|
+
var scrollTop = selectedIndex * itemHeight - ((visibleItems - 1) * itemHeight) / 2;
|
|
15
|
+
containerRef.current.scrollTop = Math.max(0, scrollTop);
|
|
16
|
+
}
|
|
17
|
+
}, [value, items, visibleItems]);
|
|
18
|
+
return (React.createElement("div", { ref: containerRef, className: hashClass(styled, clsx('timepicker-selector')), style: {
|
|
19
|
+
height: "".concat(visibleItems * 48, "px"),
|
|
20
|
+
} }, items.map(function (item, index) { return (React.createElement(TimepickerSelectorItem, { key: "".concat(item.value, "-").concat(index), item: item, isSelected: item.value === value, onClick: function () { return onValueChange(item.value); } })); })));
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZXBpY2tlclNlbGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy90aW1lcGlja2VyL2RlZmF1bHQvc2VsZWN0b3IvVGltZXBpY2tlclNlbGVjdG9yLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNyQyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFDdkIsT0FBTyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBQ2hELE9BQU8sc0JBQXNCLE1BQU0sK0JBQStCLENBQUE7QUFjbEUsTUFBTSxDQUFDLElBQU0sa0JBQWtCLEdBQUcsVUFBQyxFQUE4RDtRQUE1RCxLQUFLLFdBQUEsRUFBRSxLQUFLLFdBQUEsRUFBRSxhQUFhLG1CQUFBLEVBQUUsb0JBQWdCLEVBQWhCLFlBQVksbUJBQUcsQ0FBQyxLQUFBO0lBQ2hGLElBQU0sWUFBWSxHQUFHLE1BQU0sQ0FBaUIsSUFBSSxDQUFDLENBQUE7SUFDekMsSUFBQSxNQUFNLEdBQUssaUJBQWlCLEVBQUUsT0FBeEIsQ0FBd0I7SUFFdEMsU0FBUyxDQUFDO1FBQ1IsSUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFDLElBQUksSUFBSyxPQUFBLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFwQixDQUFvQixDQUFDLENBQUE7UUFDckUsSUFBSSxhQUFhLEtBQUssQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRTtZQUNoRCxJQUFNLFVBQVUsR0FBRyxFQUFFLENBQUE7WUFDckIsSUFBTSxTQUFTLEdBQUcsYUFBYSxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUNwRixZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQTtTQUN4RDtJQUNILENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQTtJQUVoQyxPQUFPLENBQ0wsNkJBQ0UsR0FBRyxFQUFFLFlBQVksRUFDakIsU0FBUyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsRUFDekQsS0FBSyxFQUFFO1lBQ0wsTUFBTSxFQUFFLFVBQUcsWUFBWSxHQUFHLEVBQUUsT0FBSTtTQUNqQyxJQUVBLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBQyxJQUFJLEVBQUUsS0FBSyxJQUFLLE9BQUEsQ0FDMUIsb0JBQUMsc0JBQXNCLElBQ3JCLEdBQUcsRUFBRSxVQUFHLElBQUksQ0FBQyxLQUFLLGNBQUksS0FBSyxDQUFFLEVBQzdCLElBQUksRUFBRSxJQUFJLEVBQ1YsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUNoQyxPQUFPLEVBQUUsY0FBTSxPQUFBLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQXpCLENBQXlCLEdBQ3hDLENBQ0gsRUFQMkIsQ0FPM0IsQ0FBQyxDQUNFLENBQ1AsQ0FBQTtBQUNILENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface SelectItem {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string | number;
|
|
5
|
+
}
|
|
6
|
+
interface SelectProps {
|
|
7
|
+
items: SelectItem[];
|
|
8
|
+
value: string | number;
|
|
9
|
+
onValueChange: (value: string | number) => void;
|
|
10
|
+
visibleItems?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare const TimepickerSelector: ({ items, value, onValueChange, visibleItems }: SelectProps) => React.JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { __read } from "tslib";
|
|
2
|
+
import { ModalContext } from '../../../../components/modal/context/ModalContext';
|
|
3
|
+
import { getColorStyle, TrilogyColor } from '../../../../objects/facets/Color';
|
|
4
|
+
import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
|
|
5
|
+
import { ScrollView, StyleSheet, View } from 'react-native';
|
|
6
|
+
import TimepickerSelectorItem from './item/TimepickerSelectorItem.native';
|
|
7
|
+
var itemHeight = 36;
|
|
8
|
+
export var TimepickerSelector = function (_a) {
|
|
9
|
+
var items = _a.items, value = _a.value, onValueChange = _a.onValueChange, _b = _a.visibleItems, visibleItems = _b === void 0 ? 5 : _b;
|
|
10
|
+
var _c = __read(useState(0), 2), scrollOffset = _c[0], setScrollOffset = _c[1];
|
|
11
|
+
var containerHeight = itemHeight * visibleItems;
|
|
12
|
+
var localScrollRef = useRef(null);
|
|
13
|
+
var _d = useContext(ModalContext), scrollViewRef = _d.scrollViewRef, modalOnScroll = _d.handleOnScroll;
|
|
14
|
+
var selectedIndex = useMemo(function () { return items.findIndex(function (item) { return item.value === value; }); }, [items, value]);
|
|
15
|
+
var verticalPadding = (containerHeight - itemHeight) / 2;
|
|
16
|
+
useEffect(function () {
|
|
17
|
+
if (localScrollRef.current && scrollViewRef) {
|
|
18
|
+
scrollViewRef.current = localScrollRef.current;
|
|
19
|
+
}
|
|
20
|
+
}, [scrollViewRef]);
|
|
21
|
+
useEffect(function () {
|
|
22
|
+
if (localScrollRef.current && selectedIndex >= 0) {
|
|
23
|
+
var targetOffset_1 = selectedIndex * itemHeight;
|
|
24
|
+
setScrollOffset(targetOffset_1);
|
|
25
|
+
setTimeout(function () {
|
|
26
|
+
var _a;
|
|
27
|
+
(_a = localScrollRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo({ y: targetOffset_1, animated: false });
|
|
28
|
+
}, 50);
|
|
29
|
+
}
|
|
30
|
+
}, [selectedIndex, itemHeight]);
|
|
31
|
+
var onScroll = useCallback(function (event) {
|
|
32
|
+
setScrollOffset(event.nativeEvent.contentOffset.y);
|
|
33
|
+
modalOnScroll === null || modalOnScroll === void 0 ? void 0 : modalOnScroll(event);
|
|
34
|
+
}, [modalOnScroll]);
|
|
35
|
+
var onScrollEnd = useCallback(function (event) {
|
|
36
|
+
var offsetY = event.nativeEvent.contentOffset.y;
|
|
37
|
+
var index = Math.round(offsetY / itemHeight);
|
|
38
|
+
setScrollOffset(offsetY);
|
|
39
|
+
if (items[index] && items[index].value !== value) {
|
|
40
|
+
onValueChange(items[index].value);
|
|
41
|
+
}
|
|
42
|
+
}, [items, itemHeight, onValueChange, value]);
|
|
43
|
+
return (React.createElement(View, { style: [styles.container, { height: containerHeight }] },
|
|
44
|
+
React.createElement(View, { style: [
|
|
45
|
+
styles.indicator,
|
|
46
|
+
{
|
|
47
|
+
height: itemHeight,
|
|
48
|
+
top: verticalPadding,
|
|
49
|
+
backgroundColor: getColorStyle(TrilogyColor.MAIN),
|
|
50
|
+
},
|
|
51
|
+
] }),
|
|
52
|
+
React.createElement(ScrollView, { ref: localScrollRef, showsVerticalScrollIndicator: false, snapToInterval: itemHeight, decelerationRate: 'fast', onScroll: onScroll, onMomentumScrollEnd: onScrollEnd, contentContainerStyle: {
|
|
53
|
+
paddingVertical: verticalPadding,
|
|
54
|
+
}, scrollEventThrottle: 16, nestedScrollEnabled: true }, items.map(function (item, index) { return (React.createElement(TimepickerSelectorItem, { key: String(item.value), item: item, index: index, scrollOffset: scrollOffset })); }))));
|
|
55
|
+
};
|
|
56
|
+
var styles = StyleSheet.create({
|
|
57
|
+
container: {
|
|
58
|
+
width: '100%',
|
|
59
|
+
overflow: 'hidden',
|
|
60
|
+
},
|
|
61
|
+
indicator: {
|
|
62
|
+
position: 'absolute',
|
|
63
|
+
left: 0,
|
|
64
|
+
right: 0,
|
|
65
|
+
zIndex: -1,
|
|
66
|
+
borderRadius: 8,
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZXBpY2tlclNlbGVjdG9yLm5hdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdGltZXBpY2tlci9kZWZhdWx0L3NlbGVjdG9yL1RpbWVwaWNrZXJTZWxlY3Rvci5uYXRpdmUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUNwRSxPQUFPLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBQzVGLE9BQU8sRUFBMkMsVUFBVSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDcEcsT0FBTyxzQkFBc0IsTUFBTSxzQ0FBc0MsQ0FBQTtBQWN6RSxJQUFNLFVBQVUsR0FBRyxFQUFFLENBQUE7QUFFckIsTUFBTSxDQUFDLElBQU0sa0JBQWtCLEdBQUcsVUFBQyxFQUE4RDtRQUE1RCxLQUFLLFdBQUEsRUFBRSxLQUFLLFdBQUEsRUFBRSxhQUFhLG1CQUFBLEVBQUUsb0JBQWdCLEVBQWhCLFlBQVksbUJBQUcsQ0FBQyxLQUFBO0lBQzFFLElBQUEsS0FBQSxPQUFrQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUEsRUFBNUMsWUFBWSxRQUFBLEVBQUUsZUFBZSxRQUFlLENBQUE7SUFDbkQsSUFBTSxlQUFlLEdBQUcsVUFBVSxHQUFHLFlBQVksQ0FBQTtJQUNqRCxJQUFNLGNBQWMsR0FBRyxNQUFNLENBQWEsSUFBSSxDQUFDLENBQUE7SUFDekMsSUFBQSxLQUFtRCxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQXpFLGFBQWEsbUJBQUEsRUFBa0IsYUFBYSxvQkFBNkIsQ0FBQTtJQUNqRixJQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsY0FBTSxPQUFBLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBQyxJQUFJLElBQUssT0FBQSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBcEIsQ0FBb0IsQ0FBQyxFQUEvQyxDQUErQyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDcEcsSUFBTSxlQUFlLEdBQUcsQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRTFELFNBQVMsQ0FBQztRQUNSLElBQUksY0FBYyxDQUFDLE9BQU8sSUFBSSxhQUFhLEVBQUU7WUFDMUMsYUFBMkQsQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQTtTQUM5RjtJQUNILENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUE7SUFFbkIsU0FBUyxDQUFDO1FBQ1IsSUFBSSxjQUFjLENBQUMsT0FBTyxJQUFJLGFBQWEsSUFBSSxDQUFDLEVBQUU7WUFDaEQsSUFBTSxjQUFZLEdBQUcsYUFBYSxHQUFHLFVBQVUsQ0FBQTtZQUMvQyxlQUFlLENBQUMsY0FBWSxDQUFDLENBQUE7WUFDN0IsVUFBVSxDQUFDOztnQkFDVCxNQUFBLGNBQWMsQ0FBQyxPQUFPLDBDQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxjQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7WUFDeEUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1NBQ1A7SUFDSCxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQTtJQUUvQixJQUFNLFFBQVEsR0FBRyxXQUFXLENBQzFCLFVBQUMsS0FBOEM7UUFDN0MsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2xELGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRyxLQUFLLENBQUMsQ0FBQTtJQUN4QixDQUFDLEVBQ0QsQ0FBQyxhQUFhLENBQUMsQ0FDaEIsQ0FBQTtJQUVELElBQU0sV0FBVyxHQUFHLFdBQVcsQ0FDN0IsVUFBQyxLQUE4QztRQUM3QyxJQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUE7UUFDakQsSUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLENBQUE7UUFDOUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3hCLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQ2hELGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDbEM7SUFDSCxDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FDMUMsQ0FBQTtJQUVELE9BQU8sQ0FDTCxvQkFBQyxJQUFJLElBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsQ0FBQztRQUMxRCxvQkFBQyxJQUFJLElBQ0gsS0FBSyxFQUFFO2dCQUNMLE1BQU0sQ0FBQyxTQUFTO2dCQUNoQjtvQkFDRSxNQUFNLEVBQUUsVUFBVTtvQkFDbEIsR0FBRyxFQUFFLGVBQWU7b0JBQ3BCLGVBQWUsRUFBRSxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztpQkFDbEQ7YUFDRixHQUNEO1FBRUYsb0JBQUMsVUFBVSxJQUNULEdBQUcsRUFBRSxjQUFjLEVBQ25CLDRCQUE0QixFQUFFLEtBQUssRUFDbkMsY0FBYyxFQUFFLFVBQVUsRUFDMUIsZ0JBQWdCLEVBQUMsTUFBTSxFQUN2QixRQUFRLEVBQUUsUUFBUSxFQUNsQixtQkFBbUIsRUFBRSxXQUFXLEVBQ2hDLHFCQUFxQixFQUFFO2dCQUNyQixlQUFlLEVBQUUsZUFBZTthQUNqQyxFQUNELG1CQUFtQixFQUFFLEVBQUUsRUFDdkIsbUJBQW1CLFVBRWxCLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBQyxJQUFJLEVBQUUsS0FBSyxJQUFLLE9BQUEsQ0FDMUIsb0JBQUMsc0JBQXNCLElBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxZQUFZLEdBQUksQ0FDMUcsRUFGMkIsQ0FFM0IsQ0FBQyxDQUNTLENBQ1IsQ0FDUixDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsSUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUMvQixTQUFTLEVBQUU7UUFDVCxLQUFLLEVBQUUsTUFBTTtRQUNiLFFBQVEsRUFBRSxRQUFRO0tBQ25CO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsUUFBUSxFQUFFLFVBQVU7UUFDcEIsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDVixZQUFZLEVBQUUsQ0FBQztLQUNoQjtDQUNGLENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { TimepickerSelector } from './TimepickerSelector';
|
|
2
|
+
export { TimepickerSelector };
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3RpbWVwaWNrZXIvZGVmYXVsdC9zZWxlY3Rvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUV6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQSJ9
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface SelectItem {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string | number;
|
|
5
|
+
}
|
|
6
|
+
interface WheelItemProps {
|
|
7
|
+
item: SelectItem;
|
|
8
|
+
isSelected: boolean;
|
|
9
|
+
onClick: () => void;
|
|
10
|
+
}
|
|
11
|
+
declare const TimepickerSelectorItem: ({ item, isSelected, onClick }: WheelItemProps) => React.JSX.Element;
|
|
12
|
+
export default TimepickerSelectorItem;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Text } from '../../../../../components/text';
|
|
2
|
+
import { useTrilogyContext } from '../../../../../context';
|
|
3
|
+
import { hashClass } from '../../../../../helpers';
|
|
4
|
+
import { is } from '../../../../../services';
|
|
5
|
+
import clsx from 'clsx';
|
|
6
|
+
import React from 'react';
|
|
7
|
+
var TimepickerSelectorItem = function (_a) {
|
|
8
|
+
var item = _a.item, isSelected = _a.isSelected, onClick = _a.onClick;
|
|
9
|
+
var styled = useTrilogyContext().styled;
|
|
10
|
+
return (React.createElement("div", { onClick: onClick, className: hashClass(styled, clsx('timepicker-selector-item', isSelected && is('active'))) },
|
|
11
|
+
React.createElement(Text, null, item.label)));
|
|
12
|
+
};
|
|
13
|
+
export default TimepickerSelectorItem;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZXBpY2tlclNlbGVjdG9ySXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdGltZXBpY2tlci9kZWZhdWx0L3NlbGVjdG9yL2l0ZW0vVGltZXBpY2tlclNlbGVjdG9ySXRlbS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3hDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDL0IsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFBO0FBQ3ZCLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQWF6QixJQUFNLHNCQUFzQixHQUFHLFVBQUMsRUFBNkM7UUFBM0MsSUFBSSxVQUFBLEVBQUUsVUFBVSxnQkFBQSxFQUFFLE9BQU8sYUFBQTtJQUNqRCxJQUFBLE1BQU0sR0FBSyxpQkFBaUIsRUFBRSxPQUF4QixDQUF3QjtJQUV0QyxPQUFPLENBQ0wsNkJBQUssT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsMEJBQTBCLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQy9HLG9CQUFDLElBQUksUUFBRSxJQUFJLENBQUMsS0FBSyxDQUFRLENBQ3JCLENBQ1AsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELGVBQWUsc0JBQXNCLENBQUEifQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface SelectItem {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string | number;
|
|
5
|
+
}
|
|
6
|
+
interface WheelItemProps {
|
|
7
|
+
item: SelectItem;
|
|
8
|
+
index: number;
|
|
9
|
+
scrollOffset: number;
|
|
10
|
+
}
|
|
11
|
+
declare const TimepickerSelectorItem: ({ item, index, scrollOffset }: WheelItemProps) => React.JSX.Element;
|
|
12
|
+
export default TimepickerSelectorItem;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Text } from '../../../../../components/text';
|
|
2
|
+
import { TypographyAlign } from '../../../../../objects/Typography/TypographyAlign';
|
|
3
|
+
import { TypographyColor } from '../../../../../objects/Typography/TypographyColor';
|
|
4
|
+
import React, { useMemo } from 'react';
|
|
5
|
+
import { StyleSheet, View } from 'react-native';
|
|
6
|
+
var itemHeight = 36;
|
|
7
|
+
var clamp = function (val, min, max) { return Math.min(Math.max(val, min), max); };
|
|
8
|
+
var TimepickerSelectorItem = function (_a) {
|
|
9
|
+
var item = _a.item, index = _a.index, scrollOffset = _a.scrollOffset;
|
|
10
|
+
var position = index * itemHeight;
|
|
11
|
+
var distance = Math.abs(scrollOffset - position);
|
|
12
|
+
var computedStyle = useMemo(function () {
|
|
13
|
+
var opacity = clamp(1 - distance / (itemHeight * 2.5), 0.15, 1);
|
|
14
|
+
var scale = clamp(1.1 - (distance / (itemHeight * 2)) * 0.25, 0.85, 1.1);
|
|
15
|
+
var isActive = distance < itemHeight / 2;
|
|
16
|
+
return { opacity: opacity, scale: scale, isActive: isActive };
|
|
17
|
+
}, [distance, itemHeight]);
|
|
18
|
+
return (React.createElement(View, { style: [
|
|
19
|
+
styles.itemContainer,
|
|
20
|
+
{
|
|
21
|
+
height: itemHeight,
|
|
22
|
+
opacity: computedStyle.opacity,
|
|
23
|
+
transform: [{ scale: computedStyle.scale }],
|
|
24
|
+
},
|
|
25
|
+
] },
|
|
26
|
+
React.createElement(Text, { typo: computedStyle.isActive
|
|
27
|
+
? [TypographyAlign.TEXT_CENTERED, TypographyColor.TEXT_WHITE]
|
|
28
|
+
: [TypographyAlign.TEXT_CENTERED], style: { lineHeight: 0 } }, item.label)));
|
|
29
|
+
};
|
|
30
|
+
export default TimepickerSelectorItem;
|
|
31
|
+
var styles = StyleSheet.create({
|
|
32
|
+
itemContainer: {
|
|
33
|
+
justifyContent: 'center',
|
|
34
|
+
alignItems: 'center',
|
|
35
|
+
width: '100%',
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZXBpY2tlclNlbGVjdG9ySXRlbS5uYXRpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3RpbWVwaWNrZXIvZGVmYXVsdC9zZWxlY3Rvci9pdGVtL1RpbWVwaWNrZXJTZWxlY3Rvckl0ZW0ubmF0aXZlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUN0RSxPQUFPLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQWEvQyxJQUFNLFVBQVUsR0FBRyxFQUFFLENBQUE7QUFFckIsSUFBTSxLQUFLLEdBQUcsVUFBQyxHQUFXLEVBQUUsR0FBVyxFQUFFLEdBQVcsSUFBSyxPQUFBLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQWpDLENBQWlDLENBQUE7QUFFMUYsSUFBTSxzQkFBc0IsR0FBRyxVQUFDLEVBQTZDO1FBQTNDLElBQUksVUFBQSxFQUFFLEtBQUssV0FBQSxFQUFFLFlBQVksa0JBQUE7SUFDekQsSUFBTSxRQUFRLEdBQUcsS0FBSyxHQUFHLFVBQVUsQ0FBQTtJQUNuQyxJQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsQ0FBQTtJQUVsRCxJQUFNLGFBQWEsR0FBRyxPQUFPLENBQUM7UUFDNUIsSUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxRQUFRLEdBQUcsQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ2pFLElBQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQzFFLElBQU0sUUFBUSxHQUFHLFFBQVEsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFBO1FBRTFDLE9BQU8sRUFBRSxPQUFPLFNBQUEsRUFBRSxLQUFLLE9BQUEsRUFBRSxRQUFRLFVBQUEsRUFBRSxDQUFBO0lBQ3JDLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFBO0lBRTFCLE9BQU8sQ0FDTCxvQkFBQyxJQUFJLElBQ0gsS0FBSyxFQUFFO1lBQ0wsTUFBTSxDQUFDLGFBQWE7WUFDcEI7Z0JBQ0UsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLE9BQU8sRUFBRSxhQUFhLENBQUMsT0FBTztnQkFDOUIsU0FBUyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQzVDO1NBQ0Y7UUFFRCxvQkFBQyxJQUFJLElBQ0gsSUFBSSxFQUNGLGFBQWEsQ0FBQyxRQUFRO2dCQUNwQixDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQUM7Z0JBQzdELENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsRUFFckMsS0FBSyxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxJQUV2QixJQUFJLENBQUMsS0FBSyxDQUNOLENBQ0YsQ0FDUixDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsZUFBZSxzQkFBc0IsQ0FBQTtBQUVyQyxJQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO0lBQy9CLGFBQWEsRUFBRTtRQUNiLGNBQWMsRUFBRSxRQUFRO1FBQ3hCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLEtBQUssRUFBRSxNQUFNO0tBQ2Q7Q0FDRixDQUFDLENBQUEifQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import TimepickerSelectorItem from './TimepickerSelectorItem';
|
|
2
|
+
export { TimepickerSelectorItem };
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3RpbWVwaWNrZXIvZGVmYXVsdC9zZWxlY3Rvci9pdGVtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sc0JBQXNCLE1BQU0sMEJBQTBCLENBQUE7QUFFN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLENBQUEifQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import Timepicker from './Timepicker';
|
|
2
|
+
export { Timepicker };
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL3RpbWVwaWNrZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFBO0FBRXJDLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQSJ9
|