linear-react-components-ui 2.1.0-beta.0 → 2.1.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/assets/styles/datepicker2.css +77 -4
- package/lib/inputs/number/Currency.js +19 -17
- package/lib/inputs/number/Currency.js.map +1 -1
- package/lib/inputs/number/Decimal.js +19 -17
- package/lib/inputs/number/Decimal.js.map +1 -1
- package/lib/inputs/number/index.js +17 -15
- package/lib/inputs/number/index.js.map +1 -1
- package/lib/inputs2/date/calendarbox.d.ts +23 -0
- package/lib/inputs2/date/calendarbox.js +254 -0
- package/lib/inputs2/date/calendarbox.js.map +1 -0
- package/lib/inputs2/date/datefield/base.js +590 -214
- package/lib/inputs2/date/datefield/base.js.map +1 -1
- package/lib/inputs2/date/datefield/triggers.js +4 -4
- package/lib/inputs2/date/datefield/triggers.js.map +1 -1
- package/lib/inputs2/date/datefield/types.d.ts +5 -12
- package/lib/inputs2/date/dateperiodfield/base.js +543 -674
- package/lib/inputs2/date/dateperiodfield/base.js.map +1 -1
- package/lib/inputs2/date/dateperiodfield/triggers.js +21 -9
- package/lib/inputs2/date/dateperiodfield/triggers.js.map +1 -1
- package/lib/inputs2/date/dateperiodfield/types.d.ts +7 -23
- package/lib/inputs2/date/helpers.d.ts +21 -4
- package/lib/inputs2/date/helpers.js +64 -4
- package/lib/inputs2/date/helpers.js.map +1 -1
- package/lib/inputs2/date/{base/constants.d.ts → hooks/useCalendarPosition.d.ts} +1 -1
- package/lib/inputs2/date/hooks/useCalendarPosition.js +93 -0
- package/lib/inputs2/date/hooks/useCalendarPosition.js.map +1 -0
- package/lib/inputs2/date/hooks/useDateCalendarState.d.ts +14 -0
- package/lib/inputs2/date/hooks/useDateCalendarState.js +250 -0
- package/lib/inputs2/date/hooks/useDateCalendarState.js.map +1 -0
- package/lib/inputs2/date/hooks/useDateMask.d.ts +20 -0
- package/lib/inputs2/date/hooks/useDateMask.js +178 -0
- package/lib/inputs2/date/hooks/useDateMask.js.map +1 -0
- package/lib/inputs2/date/timeselector.d.ts +15 -0
- package/lib/inputs2/date/timeselector.js +228 -0
- package/lib/inputs2/date/timeselector.js.map +1 -0
- package/lib/inputs2/date/types.d.ts +16 -1
- package/lib/inputs2/date/types.js.map +1 -1
- package/lib/inputs2/selectfield/base.js +1 -1
- package/lib/inputs2/selectfield/base.js.map +1 -1
- package/lib/menus/float/SubMenuContainer.d.ts +10 -28
- package/lib/menus/float/SubMenuContainer.js +97 -83
- package/lib/menus/float/SubMenuContainer.js.map +1 -1
- package/lib/node_modules/moment/dist/locale/pt-br.js +54 -0
- package/lib/node_modules/moment/dist/locale/pt-br.js.map +1 -0
- package/lib/treetable/helpers.d.ts +0 -2
- package/lib/treetable/helpers.js.map +1 -1
- package/package.json +1 -1
- package/lib/_virtual/index.js +0 -8
- package/lib/_virtual/index.js.map +0 -1
- package/lib/_virtual/index2.js +0 -5
- package/lib/_virtual/index2.js.map +0 -1
- package/lib/_virtual/index3.js +0 -5
- package/lib/_virtual/index3.js.map +0 -1
- package/lib/_virtual/react-is.development.js +0 -5
- package/lib/_virtual/react-is.development.js.map +0 -1
- package/lib/_virtual/react-is.production.min.js +0 -5
- package/lib/_virtual/react-is.production.min.js.map +0 -1
- package/lib/inputs2/date/base/constants.js +0 -69
- package/lib/inputs2/date/base/constants.js.map +0 -1
- package/lib/inputs2/date/datefield/calendarbox.d.ts +0 -6
- package/lib/inputs2/date/datefield/calendarbox.js +0 -228
- package/lib/inputs2/date/datefield/calendarbox.js.map +0 -1
- package/lib/inputs2/date/dateperiodfield/calendarbox.d.ts +0 -6
- package/lib/inputs2/date/dateperiodfield/calendarbox.js +0 -282
- package/lib/inputs2/date/dateperiodfield/calendarbox.js.map +0 -1
- package/lib/node_modules/object-assign/index.js +0 -79
- package/lib/node_modules/object-assign/index.js.map +0 -1
- package/lib/node_modules/prop-types/checkPropTypes.js +0 -69
- package/lib/node_modules/prop-types/checkPropTypes.js.map +0 -1
- package/lib/node_modules/prop-types/factoryWithThrowingShims.js +0 -59
- package/lib/node_modules/prop-types/factoryWithThrowingShims.js.map +0 -1
- package/lib/node_modules/prop-types/factoryWithTypeCheckers.js +0 -452
- package/lib/node_modules/prop-types/factoryWithTypeCheckers.js.map +0 -1
- package/lib/node_modules/prop-types/index.js +0 -21
- package/lib/node_modules/prop-types/index.js.map +0 -1
- package/lib/node_modules/prop-types/lib/ReactPropTypesSecret.js +0 -13
- package/lib/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +0 -1
- package/lib/node_modules/prop-types/lib/has.js +0 -12
- package/lib/node_modules/prop-types/lib/has.js.map +0 -1
- package/lib/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +0 -166
- package/lib/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js.map +0 -1
- package/lib/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +0 -107
- package/lib/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js.map +0 -1
- package/lib/node_modules/prop-types/node_modules/react-is/index.js +0 -18
- package/lib/node_modules/prop-types/node_modules/react-is/index.js.map +0 -1
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { c as compilerRuntimeExports } from "../../../_virtual/compiler-runtime.js";
|
|
2
|
+
import { useState, useRef, useLayoutEffect } from "react";
|
|
3
|
+
const getOuterHeight = (element) => {
|
|
4
|
+
if (!element) return 0;
|
|
5
|
+
const {
|
|
6
|
+
borderTopWidth,
|
|
7
|
+
borderBottomWidth,
|
|
8
|
+
marginTop,
|
|
9
|
+
marginBottom
|
|
10
|
+
} = getComputedStyle(element);
|
|
11
|
+
const toNumber = (value) => parseFloat(value) || 0;
|
|
12
|
+
return element.scrollHeight + toNumber(borderTopWidth) + toNumber(borderBottomWidth) + toNumber(marginTop) + toNumber(marginBottom);
|
|
13
|
+
};
|
|
14
|
+
const useCalendarPosition = (calendarBoxOpen, containerRef, calendarBoxRef) => {
|
|
15
|
+
const $ = compilerRuntimeExports.c(8);
|
|
16
|
+
let t0;
|
|
17
|
+
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
18
|
+
t0 = {
|
|
19
|
+
top: 0,
|
|
20
|
+
left: 0,
|
|
21
|
+
position: "absolute"
|
|
22
|
+
};
|
|
23
|
+
$[0] = t0;
|
|
24
|
+
} else {
|
|
25
|
+
t0 = $[0];
|
|
26
|
+
}
|
|
27
|
+
const [calendarBoxStyles, setCalendarBoxStyles] = useState(t0);
|
|
28
|
+
const shouldAlignRight = useRef(false);
|
|
29
|
+
const shouldFlipAbove = useRef(false);
|
|
30
|
+
let t1;
|
|
31
|
+
let t2;
|
|
32
|
+
if ($[1] !== calendarBoxOpen || $[2] !== calendarBoxRef || $[3] !== containerRef) {
|
|
33
|
+
t1 = () => {
|
|
34
|
+
const updatePosition = (shouldReviewAlignment) => {
|
|
35
|
+
const anchor = containerRef.current?.getBoundingClientRect();
|
|
36
|
+
if (!anchor) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const measuredWidth = calendarBoxRef.current?.getBoundingClientRect().width ?? 0;
|
|
40
|
+
const boxWidth = Math.max(anchor.width, measuredWidth);
|
|
41
|
+
const boxHeight = getOuterHeight(calendarBoxRef.current);
|
|
42
|
+
if (shouldReviewAlignment) {
|
|
43
|
+
shouldAlignRight.current = anchor.left + boxWidth > window.innerWidth;
|
|
44
|
+
shouldFlipAbove.current = anchor.bottom + boxHeight > window.innerHeight && anchor.top - boxHeight >= 0;
|
|
45
|
+
}
|
|
46
|
+
const alignedLeft = shouldAlignRight.current ? Math.max(0, anchor.right - boxWidth) : anchor.left;
|
|
47
|
+
const alignedTop = shouldFlipAbove.current ? anchor.top - boxHeight : anchor.top + anchor.height;
|
|
48
|
+
setCalendarBoxStyles({
|
|
49
|
+
top: alignedTop + window.scrollY,
|
|
50
|
+
left: alignedLeft + window.scrollX,
|
|
51
|
+
width: anchor.width,
|
|
52
|
+
position: "absolute"
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
const handleScroll = () => updatePosition(false);
|
|
56
|
+
const handleResize = () => updatePosition(true);
|
|
57
|
+
if (calendarBoxOpen) {
|
|
58
|
+
updatePosition(true);
|
|
59
|
+
window.addEventListener("resize", handleResize);
|
|
60
|
+
window.addEventListener("scroll", handleScroll, true);
|
|
61
|
+
}
|
|
62
|
+
return () => {
|
|
63
|
+
window.removeEventListener("resize", handleResize);
|
|
64
|
+
window.removeEventListener("scroll", handleScroll, true);
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
t2 = [calendarBoxOpen, containerRef, calendarBoxRef];
|
|
68
|
+
$[1] = calendarBoxOpen;
|
|
69
|
+
$[2] = calendarBoxRef;
|
|
70
|
+
$[3] = containerRef;
|
|
71
|
+
$[4] = t1;
|
|
72
|
+
$[5] = t2;
|
|
73
|
+
} else {
|
|
74
|
+
t1 = $[4];
|
|
75
|
+
t2 = $[5];
|
|
76
|
+
}
|
|
77
|
+
useLayoutEffect(t1, t2);
|
|
78
|
+
let t3;
|
|
79
|
+
if ($[6] !== calendarBoxStyles) {
|
|
80
|
+
t3 = {
|
|
81
|
+
calendarBoxStyles
|
|
82
|
+
};
|
|
83
|
+
$[6] = calendarBoxStyles;
|
|
84
|
+
$[7] = t3;
|
|
85
|
+
} else {
|
|
86
|
+
t3 = $[7];
|
|
87
|
+
}
|
|
88
|
+
return t3;
|
|
89
|
+
};
|
|
90
|
+
export {
|
|
91
|
+
useCalendarPosition
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=useCalendarPosition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCalendarPosition.js","sources":["../../../../src/lib/inputs2/date/hooks/useCalendarPosition.ts"],"sourcesContent":["import { CSSProperties, RefObject, useLayoutEffect, useRef, useState } from 'react';\n\n// A animação de abertura anima a altura: no primeiro frame o box mede quase zero, e é a\n// altura final que decide o flip.\nconst getOuterHeight = (element: HTMLDivElement | null) => {\n if (!element) return 0;\n const { borderTopWidth, borderBottomWidth, marginTop, marginBottom } = getComputedStyle(element);\n const toNumber = (value: string) => parseFloat(value) || 0;\n return element.scrollHeight + toNumber(borderTopWidth) + toNumber(borderBottomWidth)\n + toNumber(marginTop) + toNumber(marginBottom);\n};\n\nexport const useCalendarPosition = (\n calendarBoxOpen: boolean,\n containerRef: RefObject<HTMLDivElement | null>,\n calendarBoxRef: RefObject<HTMLDivElement | null>,\n) => {\n // Em `static` o box ocupa a largura inteira do `body`, e é essa largura que a primeira\n // medição leria.\n const [calendarBoxStyles, setCalendarBoxStyles] = useState<CSSProperties>({\n top: 0,\n left: 0,\n position: 'absolute',\n });\n const shouldAlignRight = useRef(false);\n const shouldFlipAbove = useRef(false);\n\n useLayoutEffect(() => {\n const updatePosition = (shouldReviewAlignment: boolean) => {\n const anchor = containerRef.current?.getBoundingClientRect();\n if (!anchor) return;\n // A largura mínima do box mora no SCSS, então ela é medida e não deduzida.\n const measuredWidth = calendarBoxRef.current?.getBoundingClientRect().width ?? 0;\n const boxWidth = Math.max(anchor.width, measuredWidth);\n const boxHeight = getOuterHeight(calendarBoxRef.current);\n // Refazer estas contas a cada scroll faria o box saltar no meio do gesto.\n if (shouldReviewAlignment) {\n shouldAlignRight.current = anchor.left + boxWidth > window.innerWidth;\n shouldFlipAbove.current = anchor.bottom + boxHeight > window.innerHeight\n && anchor.top - boxHeight >= 0;\n }\n const alignedLeft = shouldAlignRight.current\n ? Math.max(0, anchor.right - boxWidth)\n : anchor.left;\n const alignedTop = shouldFlipAbove.current\n ? anchor.top - boxHeight\n : anchor.top + anchor.height;\n setCalendarBoxStyles({\n top: alignedTop + window.scrollY,\n left: alignedLeft + window.scrollX,\n width: anchor.width,\n position: 'absolute',\n });\n };\n\n const handleScroll = () => updatePosition(false);\n const handleResize = () => updatePosition(true);\n\n if (calendarBoxOpen) {\n updatePosition(true);\n window.addEventListener('resize', handleResize);\n window.addEventListener('scroll', handleScroll, true);\n }\n\n return () => {\n window.removeEventListener('resize', handleResize);\n window.removeEventListener('scroll', handleScroll, true);\n };\n }, [calendarBoxOpen, containerRef, calendarBoxRef]);\n\n return { calendarBoxStyles };\n};\n"],"names":["getOuterHeight","element","borderTopWidth","borderBottomWidth","marginTop","marginBottom","getComputedStyle","toNumber","value","parseFloat","scrollHeight","useCalendarPosition","calendarBoxOpen","containerRef","calendarBoxRef","$","_c","t0","Symbol","for","top","left","position","calendarBoxStyles","setCalendarBoxStyles","useState","shouldAlignRight","useRef","shouldFlipAbove","t1","t2","updatePosition","shouldReviewAlignment","anchor","current","getBoundingClientRect","measuredWidth","width","boxWidth","Math","max","boxHeight","window","innerWidth","bottom","innerHeight","alignedLeft","right","alignedTop","height","scrollY","scrollX","handleScroll","handleResize","addEventListener","removeEventListener","useLayoutEffect","t3"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { Moment } from 'moment';
|
|
3
|
+
import { DateSharedContextProps } from '../types';
|
|
4
|
+
interface UseDateCalendarStateParams {
|
|
5
|
+
inputRef?: React.RefObject<HTMLInputElement | null>;
|
|
6
|
+
min?: Moment;
|
|
7
|
+
max?: Moment;
|
|
8
|
+
onPressEnter?: (activeDescendant: string) => void;
|
|
9
|
+
}
|
|
10
|
+
interface UseDateCalendarStateReturn extends DateSharedContextProps {
|
|
11
|
+
handleKeyDownNavigation: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare const useDateCalendarState: (params?: UseDateCalendarStateParams) => UseDateCalendarStateReturn;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import { c as compilerRuntimeExports } from "../../../_virtual/compiler-runtime.js";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import hooks from "../../../node_modules/moment/dist/moment.js";
|
|
4
|
+
import { Keys } from "../types.js";
|
|
5
|
+
import { TOKEN_ISO_FORMAT, NAVIGATION_KEYS } from "../helpers.js";
|
|
6
|
+
const useDateCalendarState = (t0) => {
|
|
7
|
+
const $ = compilerRuntimeExports.c(30);
|
|
8
|
+
let t1;
|
|
9
|
+
if ($[0] !== t0) {
|
|
10
|
+
t1 = t0 === void 0 ? {} : t0;
|
|
11
|
+
$[0] = t0;
|
|
12
|
+
$[1] = t1;
|
|
13
|
+
} else {
|
|
14
|
+
t1 = $[1];
|
|
15
|
+
}
|
|
16
|
+
const params = t1;
|
|
17
|
+
const {
|
|
18
|
+
inputRef,
|
|
19
|
+
min,
|
|
20
|
+
max,
|
|
21
|
+
onPressEnter
|
|
22
|
+
} = params;
|
|
23
|
+
const [calendarBoxOpen, setCalendarBoxOpen] = React.useState(false);
|
|
24
|
+
let t2;
|
|
25
|
+
if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
26
|
+
t2 = hooks().format(TOKEN_ISO_FORMAT);
|
|
27
|
+
$[2] = t2;
|
|
28
|
+
} else {
|
|
29
|
+
t2 = $[2];
|
|
30
|
+
}
|
|
31
|
+
const [activeDescendant, setActiveDescendant] = React.useState(t2);
|
|
32
|
+
let t3;
|
|
33
|
+
if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
|
|
34
|
+
t3 = hooks();
|
|
35
|
+
$[3] = t3;
|
|
36
|
+
} else {
|
|
37
|
+
t3 = $[3];
|
|
38
|
+
}
|
|
39
|
+
const [calendarDisplayDate, setCalendarDisplayDate] = React.useState(t3);
|
|
40
|
+
const calendarRef = React.useRef(null);
|
|
41
|
+
const dateContainerRef = React.useRef(null);
|
|
42
|
+
let t4;
|
|
43
|
+
if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
44
|
+
t4 = (value) => setCalendarBoxOpen(value);
|
|
45
|
+
$[4] = t4;
|
|
46
|
+
} else {
|
|
47
|
+
t4 = $[4];
|
|
48
|
+
}
|
|
49
|
+
const handleSetCalendarBoxOpen = t4;
|
|
50
|
+
let t5;
|
|
51
|
+
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
52
|
+
t5 = (value_0) => setActiveDescendant(value_0);
|
|
53
|
+
$[5] = t5;
|
|
54
|
+
} else {
|
|
55
|
+
t5 = $[5];
|
|
56
|
+
}
|
|
57
|
+
const handleChangeActiveDescendant = t5;
|
|
58
|
+
let t6;
|
|
59
|
+
if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
60
|
+
t6 = (value_1) => setCalendarDisplayDate(value_1);
|
|
61
|
+
$[6] = t6;
|
|
62
|
+
} else {
|
|
63
|
+
t6 = $[6];
|
|
64
|
+
}
|
|
65
|
+
const handleChangeCalendarDisplayDate = t6;
|
|
66
|
+
let t7;
|
|
67
|
+
if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
|
|
68
|
+
t7 = () => setCalendarDisplayDate(_temp);
|
|
69
|
+
$[7] = t7;
|
|
70
|
+
} else {
|
|
71
|
+
t7 = $[7];
|
|
72
|
+
}
|
|
73
|
+
const handleNextMonth = t7;
|
|
74
|
+
let t8;
|
|
75
|
+
if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
|
|
76
|
+
t8 = () => setCalendarDisplayDate(_temp2);
|
|
77
|
+
$[8] = t8;
|
|
78
|
+
} else {
|
|
79
|
+
t8 = $[8];
|
|
80
|
+
}
|
|
81
|
+
const handlePreviousMonth = t8;
|
|
82
|
+
let t9;
|
|
83
|
+
if ($[9] !== inputRef) {
|
|
84
|
+
t9 = () => {
|
|
85
|
+
setCalendarBoxOpen((prevState) => {
|
|
86
|
+
if (inputRef?.current !== document.activeElement) {
|
|
87
|
+
inputRef?.current?.focus?.();
|
|
88
|
+
}
|
|
89
|
+
return !prevState;
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
$[9] = inputRef;
|
|
93
|
+
$[10] = t9;
|
|
94
|
+
} else {
|
|
95
|
+
t9 = $[10];
|
|
96
|
+
}
|
|
97
|
+
const handleToggleCalendarBox = t9;
|
|
98
|
+
let t10;
|
|
99
|
+
if ($[11] !== max || $[12] !== min) {
|
|
100
|
+
t10 = (day) => {
|
|
101
|
+
if (min && day.isBefore(min, "day")) {
|
|
102
|
+
return min.clone().startOf("day");
|
|
103
|
+
}
|
|
104
|
+
if (max && day.isAfter(max, "day")) {
|
|
105
|
+
return max.clone().startOf("day");
|
|
106
|
+
}
|
|
107
|
+
return day;
|
|
108
|
+
};
|
|
109
|
+
$[11] = max;
|
|
110
|
+
$[12] = min;
|
|
111
|
+
$[13] = t10;
|
|
112
|
+
} else {
|
|
113
|
+
t10 = $[13];
|
|
114
|
+
}
|
|
115
|
+
const clampToBounds = t10;
|
|
116
|
+
let t11;
|
|
117
|
+
if ($[14] !== clampToBounds) {
|
|
118
|
+
t11 = (offset) => {
|
|
119
|
+
setCalendarDisplayDate((prevDisplayDate_1) => {
|
|
120
|
+
const daySelected = clampToBounds(prevDisplayDate_1.clone().add(offset, "day"));
|
|
121
|
+
setActiveDescendant(daySelected.format(TOKEN_ISO_FORMAT));
|
|
122
|
+
return daySelected;
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
$[14] = clampToBounds;
|
|
126
|
+
$[15] = t11;
|
|
127
|
+
} else {
|
|
128
|
+
t11 = $[15];
|
|
129
|
+
}
|
|
130
|
+
const handleNavigateWithDays = t11;
|
|
131
|
+
let t12;
|
|
132
|
+
if ($[16] !== clampToBounds) {
|
|
133
|
+
t12 = (when) => {
|
|
134
|
+
setCalendarDisplayDate((prevDisplayDate_2) => {
|
|
135
|
+
let daySelected_0 = prevDisplayDate_2;
|
|
136
|
+
if (when === "end") {
|
|
137
|
+
daySelected_0 = prevDisplayDate_2.clone().endOf("week");
|
|
138
|
+
}
|
|
139
|
+
if (when === "start") {
|
|
140
|
+
daySelected_0 = prevDisplayDate_2.clone().startOf("week");
|
|
141
|
+
}
|
|
142
|
+
daySelected_0 = clampToBounds(daySelected_0);
|
|
143
|
+
setActiveDescendant(daySelected_0.format(TOKEN_ISO_FORMAT));
|
|
144
|
+
return daySelected_0;
|
|
145
|
+
});
|
|
146
|
+
};
|
|
147
|
+
$[16] = clampToBounds;
|
|
148
|
+
$[17] = t12;
|
|
149
|
+
} else {
|
|
150
|
+
t12 = $[17];
|
|
151
|
+
}
|
|
152
|
+
const handleNavigateWithWeeks = t12;
|
|
153
|
+
let t13;
|
|
154
|
+
if ($[18] !== activeDescendant || $[19] !== calendarBoxOpen || $[20] !== handleNavigateWithDays || $[21] !== handleNavigateWithWeeks || $[22] !== onPressEnter) {
|
|
155
|
+
t13 = (event) => {
|
|
156
|
+
const isNavigationKey = Boolean(event.key) && !event.shiftKey && !event.altKey && NAVIGATION_KEYS.includes(event.key);
|
|
157
|
+
if (!calendarBoxOpen || !isNavigationKey) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
event.preventDefault();
|
|
161
|
+
bb84: switch (event.key) {
|
|
162
|
+
case Keys.arrowLeft: {
|
|
163
|
+
handleNavigateWithDays(-1);
|
|
164
|
+
break bb84;
|
|
165
|
+
}
|
|
166
|
+
case Keys.arrowRight: {
|
|
167
|
+
handleNavigateWithDays(1);
|
|
168
|
+
break bb84;
|
|
169
|
+
}
|
|
170
|
+
case Keys.arrowUp: {
|
|
171
|
+
handleNavigateWithDays(-7);
|
|
172
|
+
break bb84;
|
|
173
|
+
}
|
|
174
|
+
case Keys.arrowDown: {
|
|
175
|
+
handleNavigateWithDays(7);
|
|
176
|
+
break bb84;
|
|
177
|
+
}
|
|
178
|
+
case Keys.pageUp: {
|
|
179
|
+
handleNextMonth();
|
|
180
|
+
break bb84;
|
|
181
|
+
}
|
|
182
|
+
case Keys.pageDown: {
|
|
183
|
+
handlePreviousMonth();
|
|
184
|
+
break bb84;
|
|
185
|
+
}
|
|
186
|
+
case Keys.home: {
|
|
187
|
+
handleNavigateWithWeeks("start");
|
|
188
|
+
break bb84;
|
|
189
|
+
}
|
|
190
|
+
case Keys.end: {
|
|
191
|
+
handleNavigateWithWeeks("end");
|
|
192
|
+
break bb84;
|
|
193
|
+
}
|
|
194
|
+
case Keys.escape: {
|
|
195
|
+
setCalendarBoxOpen(false);
|
|
196
|
+
break bb84;
|
|
197
|
+
}
|
|
198
|
+
case Keys.enter: {
|
|
199
|
+
onPressEnter?.(activeDescendant);
|
|
200
|
+
break bb84;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
$[18] = activeDescendant;
|
|
205
|
+
$[19] = calendarBoxOpen;
|
|
206
|
+
$[20] = handleNavigateWithDays;
|
|
207
|
+
$[21] = handleNavigateWithWeeks;
|
|
208
|
+
$[22] = onPressEnter;
|
|
209
|
+
$[23] = t13;
|
|
210
|
+
} else {
|
|
211
|
+
t13 = $[23];
|
|
212
|
+
}
|
|
213
|
+
const handleKeyDownNavigation = t13;
|
|
214
|
+
let t14;
|
|
215
|
+
if ($[24] !== activeDescendant || $[25] !== calendarBoxOpen || $[26] !== calendarDisplayDate || $[27] !== handleKeyDownNavigation || $[28] !== handleToggleCalendarBox) {
|
|
216
|
+
t14 = {
|
|
217
|
+
calendarBoxOpen,
|
|
218
|
+
activeDescendant,
|
|
219
|
+
calendarDisplayDate,
|
|
220
|
+
calendarRef,
|
|
221
|
+
dateContainerRef,
|
|
222
|
+
handleNextMonth,
|
|
223
|
+
handlePreviousMonth,
|
|
224
|
+
handleToggleCalendarBox,
|
|
225
|
+
handleSetCalendarBoxOpen,
|
|
226
|
+
handleChangeActiveDescendant,
|
|
227
|
+
handleChangeCalendarDisplayDate,
|
|
228
|
+
handleKeyDownNavigation
|
|
229
|
+
};
|
|
230
|
+
$[24] = activeDescendant;
|
|
231
|
+
$[25] = calendarBoxOpen;
|
|
232
|
+
$[26] = calendarDisplayDate;
|
|
233
|
+
$[27] = handleKeyDownNavigation;
|
|
234
|
+
$[28] = handleToggleCalendarBox;
|
|
235
|
+
$[29] = t14;
|
|
236
|
+
} else {
|
|
237
|
+
t14 = $[29];
|
|
238
|
+
}
|
|
239
|
+
return t14;
|
|
240
|
+
};
|
|
241
|
+
function _temp(prevDisplayDate) {
|
|
242
|
+
return prevDisplayDate.clone().add(1, "month");
|
|
243
|
+
}
|
|
244
|
+
function _temp2(prevDisplayDate_0) {
|
|
245
|
+
return prevDisplayDate_0.clone().subtract(1, "month");
|
|
246
|
+
}
|
|
247
|
+
export {
|
|
248
|
+
useDateCalendarState
|
|
249
|
+
};
|
|
250
|
+
//# sourceMappingURL=useDateCalendarState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDateCalendarState.js","sources":["../../../../src/lib/inputs2/date/hooks/useDateCalendarState.ts"],"sourcesContent":["import React from 'react';\nimport moment, { type Moment } from 'moment';\nimport { Keys, type DateSharedContextProps } from '../types';\nimport { NAVIGATION_KEYS, TOKEN_ISO_FORMAT } from '../helpers';\n\ninterface UseDateCalendarStateParams {\n inputRef?: React.RefObject<HTMLInputElement | null>;\n min?: Moment;\n max?: Moment;\n onPressEnter?: (activeDescendant: string) => void;\n}\n\ninterface UseDateCalendarStateReturn extends DateSharedContextProps {\n handleKeyDownNavigation: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n}\n\nexport const useDateCalendarState = (\n params: UseDateCalendarStateParams = {},\n): UseDateCalendarStateReturn => {\n const { inputRef, min, max, onPressEnter } = params;\n const [calendarBoxOpen, setCalendarBoxOpen] = React.useState(false);\n const [activeDescendant, setActiveDescendant] = React.useState<string>(\n moment().format(TOKEN_ISO_FORMAT),\n );\n const [calendarDisplayDate, setCalendarDisplayDate] = React.useState<Moment>(moment());\n const calendarRef = React.useRef<HTMLDivElement | null>(null);\n const dateContainerRef = React.useRef<HTMLDivElement | null>(null);\n\n const handleSetCalendarBoxOpen = React.useCallback(\n (value: boolean) => setCalendarBoxOpen(value), [],\n );\n const handleChangeActiveDescendant = React.useCallback(\n (value: string) => setActiveDescendant(value), [],\n );\n const handleChangeCalendarDisplayDate = React.useCallback(\n (value: Moment) => setCalendarDisplayDate(value), [],\n );\n const handleNextMonth = React.useCallback(() => setCalendarDisplayDate(prevDisplayDate =>\n prevDisplayDate.clone().add(1, 'month')), []);\n const handlePreviousMonth = React.useCallback(() => setCalendarDisplayDate(prevDisplayDate =>\n prevDisplayDate.clone().subtract(1, 'month')), []);\n\n // Abrir pelo botão devolve o foco ao input: é ele que escuta as setas, e o calendário\n // fecha no blur — sem esse foco o calendário abriria sem ninguém para navegá-lo.\n const handleToggleCalendarBox = React.useCallback(() => {\n setCalendarBoxOpen((prevState) => {\n if (inputRef?.current !== document.activeElement) {\n inputRef?.current?.focus?.();\n }\n return !prevState;\n });\n }, [inputRef]);\n\n // Prender o cursor na borda em vez de rejeitar o movimento. Rejeitar deixaria quem\n // paginou para um mês inteiramente fora do intervalo sem nenhuma seta que ande, já que\n // o mesmo estado guarda o mês exibido e o cursor.\n const clampToBounds = (day: Moment) => {\n if (min && day.isBefore(min, 'day')) return min.clone().startOf('day');\n if (max && day.isAfter(max, 'day')) return max.clone().startOf('day');\n return day;\n };\n\n const handleNavigateWithDays = (offset: number) => {\n setCalendarDisplayDate((prevDisplayDate) => {\n const daySelected = clampToBounds(prevDisplayDate.clone().add(offset, 'day'));\n setActiveDescendant(daySelected.format(TOKEN_ISO_FORMAT));\n return daySelected;\n });\n };\n\n const handleNavigateWithWeeks = (when: 'start' | 'end') => {\n setCalendarDisplayDate((prevDisplayDate) => {\n let daySelected = prevDisplayDate;\n if (when === 'end') daySelected = prevDisplayDate.clone().endOf('week');\n if (when === 'start') daySelected = prevDisplayDate.clone().startOf('week');\n daySelected = clampToBounds(daySelected);\n setActiveDescendant(daySelected.format(TOKEN_ISO_FORMAT));\n return daySelected;\n });\n };\n\n const handleKeyDownNavigation = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const isNavigationKey = Boolean(event.key) && !event.shiftKey && !event.altKey &&\n NAVIGATION_KEYS.includes(event.key);\n if (!calendarBoxOpen || !isNavigationKey) return;\n event.preventDefault();\n switch (event.key) {\n case Keys.arrowLeft: handleNavigateWithDays(-1);\n break;\n case Keys.arrowRight: handleNavigateWithDays(1);\n break;\n case Keys.arrowUp: handleNavigateWithDays(-7);\n break;\n case Keys.arrowDown: handleNavigateWithDays(7);\n break;\n case Keys.pageUp: handleNextMonth();\n break;\n case Keys.pageDown: handlePreviousMonth();\n break;\n case Keys.home: handleNavigateWithWeeks('start');\n break;\n case Keys.end: handleNavigateWithWeeks('end');\n break;\n case Keys.escape: setCalendarBoxOpen(false);\n break;\n case Keys.enter: onPressEnter?.(activeDescendant);\n break;\n default:\n break;\n }\n };\n\n return {\n calendarBoxOpen,\n activeDescendant,\n calendarDisplayDate,\n calendarRef,\n dateContainerRef,\n handleNextMonth,\n handlePreviousMonth,\n handleToggleCalendarBox,\n handleSetCalendarBoxOpen,\n handleChangeActiveDescendant,\n handleChangeCalendarDisplayDate,\n handleKeyDownNavigation,\n };\n};\n"],"names":["useDateCalendarState","t0","$","_c","t1","undefined","params","inputRef","min","max","onPressEnter","calendarBoxOpen","setCalendarBoxOpen","React","useState","t2","Symbol","for","moment","format","TOKEN_ISO_FORMAT","activeDescendant","setActiveDescendant","t3","calendarDisplayDate","setCalendarDisplayDate","calendarRef","useRef","dateContainerRef","t4","value","handleSetCalendarBoxOpen","t5","value_0","handleChangeActiveDescendant","t6","value_1","handleChangeCalendarDisplayDate","t7","_temp","handleNextMonth","t8","_temp2","handlePreviousMonth","t9","prevState","current","document","activeElement","focus","handleToggleCalendarBox","t10","day","isBefore","clone","startOf","isAfter","clampToBounds","t11","offset","prevDisplayDate_1","daySelected","prevDisplayDate","add","handleNavigateWithDays","t12","when","prevDisplayDate_2","daySelected_0","endOf","handleNavigateWithWeeks","t13","event","isNavigationKey","Boolean","key","shiftKey","altKey","NAVIGATION_KEYS","includes","preventDefault","bb84","Keys","arrowLeft","arrowRight","arrowUp","arrowDown","pageUp","pageDown","home","end","escape","enter","handleKeyDownNavigation","t14","prevDisplayDate_0","subtract"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { Moment } from 'moment';
|
|
3
|
+
import { DateVariant } from '../types';
|
|
4
|
+
interface UseDateMaskParams {
|
|
5
|
+
inputRef: React.RefObject<HTMLInputElement | null>;
|
|
6
|
+
variant?: DateVariant;
|
|
7
|
+
defaultValue?: string;
|
|
8
|
+
undigitable?: boolean;
|
|
9
|
+
onCommit: (date: Moment) => void;
|
|
10
|
+
onPaste?: (event: React.ClipboardEvent<HTMLInputElement>) => void;
|
|
11
|
+
onBeforeInput?: (event: React.InputEvent<HTMLInputElement>) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare const useDateMask: (params: UseDateMaskParams) => {
|
|
14
|
+
maskedValue: string;
|
|
15
|
+
unmaskedValue: string;
|
|
16
|
+
setMaskValue: React.Dispatch<string>;
|
|
17
|
+
handleOnPaste: (event: React.ClipboardEvent<HTMLInputElement>) => void;
|
|
18
|
+
handleOnBeforeInput: (event: React.InputEvent<HTMLInputElement>) => void;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { c as compilerRuntimeExports } from "../../../_virtual/compiler-runtime.js";
|
|
2
|
+
import hooks from "../../../node_modules/moment/dist/moment.js";
|
|
3
|
+
import { useIMask, IMask } from "react-imask";
|
|
4
|
+
import { getDateFormats } from "../helpers.js";
|
|
5
|
+
const buildMaskOptions = (variant) => {
|
|
6
|
+
const {
|
|
7
|
+
ptbrFormat
|
|
8
|
+
} = getDateFormats(variant);
|
|
9
|
+
return {
|
|
10
|
+
mask: Date,
|
|
11
|
+
pattern: variant === "datetime" ? "`d/`m/`Y `H:`M" : "`d/`m/`Y",
|
|
12
|
+
lazy: false,
|
|
13
|
+
placeholderChar: "_",
|
|
14
|
+
overwrite: true,
|
|
15
|
+
autofix: "pad",
|
|
16
|
+
blocks: {
|
|
17
|
+
d: {
|
|
18
|
+
mask: IMask.MaskedRange,
|
|
19
|
+
from: 1,
|
|
20
|
+
to: 31,
|
|
21
|
+
maxLength: 2,
|
|
22
|
+
autofix: "pad"
|
|
23
|
+
},
|
|
24
|
+
m: {
|
|
25
|
+
mask: IMask.MaskedRange,
|
|
26
|
+
from: 1,
|
|
27
|
+
to: 12,
|
|
28
|
+
maxLength: 2,
|
|
29
|
+
autofix: "pad"
|
|
30
|
+
},
|
|
31
|
+
Y: {
|
|
32
|
+
mask: IMask.MaskedRange,
|
|
33
|
+
from: 1900,
|
|
34
|
+
to: 2099,
|
|
35
|
+
maxLength: 4
|
|
36
|
+
},
|
|
37
|
+
H: {
|
|
38
|
+
mask: IMask.MaskedRange,
|
|
39
|
+
from: 0,
|
|
40
|
+
to: 23,
|
|
41
|
+
maxLength: 2
|
|
42
|
+
},
|
|
43
|
+
M: {
|
|
44
|
+
mask: IMask.MaskedRange,
|
|
45
|
+
from: 0,
|
|
46
|
+
to: 59,
|
|
47
|
+
maxLength: 2
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
format: (date) => hooks(date).format(ptbrFormat),
|
|
51
|
+
parse: (value) => hooks(value, ptbrFormat).toDate()
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
const useDateMask = (params) => {
|
|
55
|
+
const $ = compilerRuntimeExports.c(23);
|
|
56
|
+
const {
|
|
57
|
+
inputRef,
|
|
58
|
+
variant: t0,
|
|
59
|
+
defaultValue,
|
|
60
|
+
undigitable: t1,
|
|
61
|
+
onCommit,
|
|
62
|
+
onPaste,
|
|
63
|
+
onBeforeInput
|
|
64
|
+
} = params;
|
|
65
|
+
const variant = t0 === void 0 ? "date" : t0;
|
|
66
|
+
const undigitable = t1 === void 0 ? false : t1;
|
|
67
|
+
let t2;
|
|
68
|
+
if ($[0] !== variant) {
|
|
69
|
+
t2 = getDateFormats(variant);
|
|
70
|
+
$[0] = variant;
|
|
71
|
+
$[1] = t2;
|
|
72
|
+
} else {
|
|
73
|
+
t2 = $[1];
|
|
74
|
+
}
|
|
75
|
+
const {
|
|
76
|
+
ptbrFormat
|
|
77
|
+
} = t2;
|
|
78
|
+
let t3;
|
|
79
|
+
if ($[2] !== variant) {
|
|
80
|
+
t3 = buildMaskOptions(variant);
|
|
81
|
+
$[2] = variant;
|
|
82
|
+
$[3] = t3;
|
|
83
|
+
} else {
|
|
84
|
+
t3 = $[3];
|
|
85
|
+
}
|
|
86
|
+
const maskOptions = t3;
|
|
87
|
+
let t4;
|
|
88
|
+
if ($[4] !== onCommit || $[5] !== ptbrFormat) {
|
|
89
|
+
t4 = (acceptedValue, mask) => {
|
|
90
|
+
if (!mask?.masked?.isComplete) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const date = hooks(acceptedValue, ptbrFormat);
|
|
94
|
+
if (date.isValid()) {
|
|
95
|
+
onCommit(date);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
$[4] = onCommit;
|
|
99
|
+
$[5] = ptbrFormat;
|
|
100
|
+
$[6] = t4;
|
|
101
|
+
} else {
|
|
102
|
+
t4 = $[6];
|
|
103
|
+
}
|
|
104
|
+
let t5;
|
|
105
|
+
if ($[7] !== defaultValue || $[8] !== inputRef || $[9] !== t4) {
|
|
106
|
+
t5 = {
|
|
107
|
+
ref: inputRef,
|
|
108
|
+
defaultValue,
|
|
109
|
+
onAccept: t4
|
|
110
|
+
};
|
|
111
|
+
$[7] = defaultValue;
|
|
112
|
+
$[8] = inputRef;
|
|
113
|
+
$[9] = t4;
|
|
114
|
+
$[10] = t5;
|
|
115
|
+
} else {
|
|
116
|
+
t5 = $[10];
|
|
117
|
+
}
|
|
118
|
+
const {
|
|
119
|
+
value,
|
|
120
|
+
unmaskedValue,
|
|
121
|
+
setValue
|
|
122
|
+
} = useIMask(maskOptions, t5);
|
|
123
|
+
let t6;
|
|
124
|
+
if ($[11] !== onPaste || $[12] !== undigitable) {
|
|
125
|
+
t6 = (event) => {
|
|
126
|
+
if (undigitable) {
|
|
127
|
+
event.preventDefault();
|
|
128
|
+
} else {
|
|
129
|
+
onPaste?.(event);
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
$[11] = onPaste;
|
|
133
|
+
$[12] = undigitable;
|
|
134
|
+
$[13] = t6;
|
|
135
|
+
} else {
|
|
136
|
+
t6 = $[13];
|
|
137
|
+
}
|
|
138
|
+
const handleOnPaste = t6;
|
|
139
|
+
let t7;
|
|
140
|
+
if ($[14] !== onBeforeInput || $[15] !== undigitable) {
|
|
141
|
+
t7 = (event_0) => {
|
|
142
|
+
if (undigitable) {
|
|
143
|
+
event_0.preventDefault();
|
|
144
|
+
} else {
|
|
145
|
+
onBeforeInput?.(event_0);
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
$[14] = onBeforeInput;
|
|
149
|
+
$[15] = undigitable;
|
|
150
|
+
$[16] = t7;
|
|
151
|
+
} else {
|
|
152
|
+
t7 = $[16];
|
|
153
|
+
}
|
|
154
|
+
const handleOnBeforeInput = t7;
|
|
155
|
+
let t8;
|
|
156
|
+
if ($[17] !== handleOnBeforeInput || $[18] !== handleOnPaste || $[19] !== setValue || $[20] !== unmaskedValue || $[21] !== value) {
|
|
157
|
+
t8 = {
|
|
158
|
+
maskedValue: value,
|
|
159
|
+
unmaskedValue,
|
|
160
|
+
setMaskValue: setValue,
|
|
161
|
+
handleOnPaste,
|
|
162
|
+
handleOnBeforeInput
|
|
163
|
+
};
|
|
164
|
+
$[17] = handleOnBeforeInput;
|
|
165
|
+
$[18] = handleOnPaste;
|
|
166
|
+
$[19] = setValue;
|
|
167
|
+
$[20] = unmaskedValue;
|
|
168
|
+
$[21] = value;
|
|
169
|
+
$[22] = t8;
|
|
170
|
+
} else {
|
|
171
|
+
t8 = $[22];
|
|
172
|
+
}
|
|
173
|
+
return t8;
|
|
174
|
+
};
|
|
175
|
+
export {
|
|
176
|
+
useDateMask
|
|
177
|
+
};
|
|
178
|
+
//# sourceMappingURL=useDateMask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDateMask.js","sources":["../../../../src/lib/inputs2/date/hooks/useDateMask.ts"],"sourcesContent":["import React from 'react';\nimport moment, { type Moment } from 'moment';\nimport { useIMask, IMask } from 'react-imask';\nimport type { DateVariant } from '../types';\nimport { getDateFormats } from '../helpers';\n\ninterface UseDateMaskParams {\n inputRef: React.RefObject<HTMLInputElement | null>;\n variant?: DateVariant;\n defaultValue?: string;\n undigitable?: boolean;\n onCommit: (date: Moment) => void;\n onPaste?: (event: React.ClipboardEvent<HTMLInputElement>) => void;\n onBeforeInput?: (event: React.InputEvent<HTMLInputElement>) => void;\n}\n\n// Cada segmento é um bloco próprio: é isso que impede os dígitos de deslizarem para a\n// esquerda ao digitar por cima de uma seleção. O `pad` completa `3` como `03`.\nconst buildMaskOptions = (variant: DateVariant) => {\n const { ptbrFormat } = getDateFormats(variant);\n return {\n mask: Date,\n pattern: variant === 'datetime' ? '`d/`m/`Y `H:`M' : '`d/`m/`Y',\n lazy: false,\n placeholderChar: '_',\n overwrite: true,\n autofix: 'pad',\n blocks: {\n d: { mask: IMask.MaskedRange, from: 1, to: 31, maxLength: 2, autofix: 'pad' },\n m: { mask: IMask.MaskedRange, from: 1, to: 12, maxLength: 2, autofix: 'pad' },\n Y: { mask: IMask.MaskedRange, from: 1900, to: 2099, maxLength: 4 },\n H: { mask: IMask.MaskedRange, from: 0, to: 23, maxLength: 2 },\n M: { mask: IMask.MaskedRange, from: 0, to: 59, maxLength: 2 },\n },\n format: (date: Date) => moment(date).format(ptbrFormat),\n parse: (value: string) => moment(value, ptbrFormat).toDate(),\n } as any;\n};\n\nexport const useDateMask = (params: UseDateMaskParams) => {\n const {\n inputRef, variant = 'date', defaultValue, undigitable = false,\n onCommit, onPaste, onBeforeInput,\n } = params;\n const { ptbrFormat } = getDateFormats(variant);\n const maskOptions = React.useMemo(() => buildMaskOptions(variant), [variant]);\n\n const { value, unmaskedValue, setValue } = useIMask(maskOptions, {\n ref: inputRef,\n defaultValue,\n onAccept: (acceptedValue: string, mask: any) => {\n // onAccept dispara a cada tecla, então sem esse guard o onChange sairia\n // com datas pela metade enquanto a pessoa ainda está digitando.\n if (!mask?.masked?.isComplete) return;\n const date = moment(acceptedValue, ptbrFormat);\n if (date.isValid()) { onCommit(date); }\n },\n });\n\n const handleOnPaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n if (undigitable) {\n event.preventDefault();\n } else {\n onPaste?.(event);\n }\n };\n\n const handleOnBeforeInput = (event: React.InputEvent<HTMLInputElement>) => {\n if (undigitable) {\n event.preventDefault();\n } else {\n onBeforeInput?.(event);\n }\n };\n\n return {\n maskedValue: value,\n unmaskedValue,\n setMaskValue: setValue,\n handleOnPaste,\n handleOnBeforeInput,\n };\n};\n"],"names":["buildMaskOptions","variant","ptbrFormat","getDateFormats","mask","Date","pattern","lazy","placeholderChar","overwrite","autofix","blocks","d","IMask","MaskedRange","from","to","maxLength","m","Y","H","M","format","date","moment","parse","value","toDate","useDateMask","params","$","_c","inputRef","t0","defaultValue","undigitable","t1","onCommit","onPaste","onBeforeInput","undefined","t2","t3","maskOptions","t4","acceptedValue","masked","isComplete","isValid","t5","ref","onAccept","unmaskedValue","setValue","useIMask","t6","event","preventDefault","handleOnPaste","t7","event_0","handleOnBeforeInput","t8","maskedValue","setMaskValue"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Moment } from 'moment';
|
|
2
|
+
interface TimeSelectorProps {
|
|
3
|
+
/** null desabilita o seletor inteiro */
|
|
4
|
+
value: Moment | null;
|
|
5
|
+
onSelectTime: (hour: number, minute: number) => void;
|
|
6
|
+
min?: Moment;
|
|
7
|
+
max?: Moment;
|
|
8
|
+
testIdPrefix: string;
|
|
9
|
+
}
|
|
10
|
+
declare const TimeSelector: {
|
|
11
|
+
(props: TimeSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
displayName: string;
|
|
13
|
+
};
|
|
14
|
+
export { TimeSelector };
|
|
15
|
+
export type { TimeSelectorProps };
|