linear-react-components-ui 2.1.0-beta.5 → 2.2.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/assets/styles/datepicker2.css +11 -81
- package/lib/form2/useForm/index.js +1 -0
- package/lib/form2/useForm/index.js.map +1 -1
- package/lib/inputs2/date/{hooks/useCalendarPosition.d.ts → base/constants.d.ts} +1 -1
- package/lib/inputs2/date/base/constants.js +69 -0
- package/lib/inputs2/date/base/constants.js.map +1 -0
- package/lib/inputs2/date/datefield/base.js +214 -691
- package/lib/inputs2/date/datefield/base.js.map +1 -1
- package/lib/inputs2/date/datefield/calendarbox.d.ts +6 -0
- package/lib/inputs2/date/datefield/calendarbox.js +228 -0
- package/lib/inputs2/date/datefield/calendarbox.js.map +1 -0
- 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 +12 -5
- package/lib/inputs2/date/dateperiodfield/base.js +809 -694
- package/lib/inputs2/date/dateperiodfield/base.js.map +1 -1
- package/lib/inputs2/date/dateperiodfield/calendarbox.d.ts +6 -0
- package/lib/inputs2/date/dateperiodfield/calendarbox.js +282 -0
- package/lib/inputs2/date/dateperiodfield/calendarbox.js.map +1 -0
- package/lib/inputs2/date/dateperiodfield/triggers.js +9 -21
- package/lib/inputs2/date/dateperiodfield/triggers.js.map +1 -1
- package/lib/inputs2/date/dateperiodfield/types.d.ts +23 -13
- package/lib/inputs2/date/helpers.d.ts +4 -44
- package/lib/inputs2/date/helpers.js +4 -200
- package/lib/inputs2/date/helpers.js.map +1 -1
- package/lib/inputs2/date/types.d.ts +1 -22
- package/lib/inputs2/date/types.js.map +1 -1
- package/lib/node_modules/lodash/lodash.js +2 -2
- package/lib/node_modules/lodash/lodash.js.map +1 -1
- package/package.json +1 -1
- package/lib/inputs2/date/calendarbox.d.ts +0 -23
- package/lib/inputs2/date/calendarbox.js +0 -254
- package/lib/inputs2/date/calendarbox.js.map +0 -1
- package/lib/inputs2/date/hooks/useCalendarPosition.js +0 -93
- package/lib/inputs2/date/hooks/useCalendarPosition.js.map +0 -1
- package/lib/inputs2/date/hooks/useDateCalendarState.d.ts +0 -14
- package/lib/inputs2/date/hooks/useDateCalendarState.js +0 -250
- package/lib/inputs2/date/hooks/useDateCalendarState.js.map +0 -1
- package/lib/inputs2/date/hooks/useDateMask.d.ts +0 -22
- package/lib/inputs2/date/hooks/useDateMask.js +0 -143
- package/lib/inputs2/date/hooks/useDateMask.js.map +0 -1
- package/lib/inputs2/date/timeselector.d.ts +0 -17
- package/lib/inputs2/date/timeselector.js +0 -226
- package/lib/inputs2/date/timeselector.js.map +0 -1
- package/lib/node_modules/moment/dist/locale/pt-br.js +0 -54
- package/lib/node_modules/moment/dist/locale/pt-br.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
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 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 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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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
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
|
-
readOnly?: boolean;
|
|
10
|
-
onCommit: (date: Moment) => void;
|
|
11
|
-
onPaste?: (event: React.ClipboardEvent<HTMLInputElement>) => void;
|
|
12
|
-
onBeforeInput?: (event: React.InputEvent<HTMLInputElement>) => void;
|
|
13
|
-
}
|
|
14
|
-
export declare const useDateMask: (params: UseDateMaskParams) => {
|
|
15
|
-
maskedValue: string;
|
|
16
|
-
unmaskedValue: string;
|
|
17
|
-
setMaskValue: (nextValue: string) => void;
|
|
18
|
-
handleOnPaste: (event: React.ClipboardEvent<HTMLInputElement>) => void;
|
|
19
|
-
handleOnBeforeInput: (event: React.InputEvent<HTMLInputElement>) => void;
|
|
20
|
-
handleOnKeyDownCapture: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
21
|
-
};
|
|
22
|
-
export {};
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import _ from "../../../_virtual/lodash.js";
|
|
3
|
-
import hooks from "../../../node_modules/moment/dist/moment.js";
|
|
4
|
-
import { useIMask, IMask } from "react-imask";
|
|
5
|
-
import { getMaskSegments, canSegmentAcceptDigits, getDateFormats } from "../helpers.js";
|
|
6
|
-
const buildMaskOptions = (variant) => {
|
|
7
|
-
const {
|
|
8
|
-
ptbrFormat
|
|
9
|
-
} = getDateFormats(variant);
|
|
10
|
-
return {
|
|
11
|
-
mask: Date,
|
|
12
|
-
pattern: variant === "datetime" ? "`d/`m/`Y `H:`M" : "`d/`m/`Y",
|
|
13
|
-
lazy: false,
|
|
14
|
-
placeholderChar: "_",
|
|
15
|
-
overwrite: true,
|
|
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
|
-
autofix: "pad"
|
|
43
|
-
},
|
|
44
|
-
M: {
|
|
45
|
-
mask: IMask.MaskedRange,
|
|
46
|
-
from: 0,
|
|
47
|
-
to: 59,
|
|
48
|
-
maxLength: 2,
|
|
49
|
-
autofix: "pad"
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
format: (date) => hooks(date).format(ptbrFormat),
|
|
53
|
-
parse: (value) => hooks(value, ptbrFormat).toDate()
|
|
54
|
-
};
|
|
55
|
-
};
|
|
56
|
-
const useDateMask = (params) => {
|
|
57
|
-
const {
|
|
58
|
-
inputRef,
|
|
59
|
-
variant = "date",
|
|
60
|
-
defaultValue,
|
|
61
|
-
undigitable = false,
|
|
62
|
-
readOnly = false,
|
|
63
|
-
onCommit,
|
|
64
|
-
onPaste,
|
|
65
|
-
onBeforeInput
|
|
66
|
-
} = params;
|
|
67
|
-
const {
|
|
68
|
-
ptbrFormat
|
|
69
|
-
} = getDateFormats(variant);
|
|
70
|
-
const maskOptions = React.useMemo(() => buildMaskOptions(variant), [variant]);
|
|
71
|
-
const onCommitRef = React.useRef(onCommit);
|
|
72
|
-
onCommitRef.current = onCommit;
|
|
73
|
-
const programmaticValueRef = React.useRef(null);
|
|
74
|
-
const handleAccept = (acceptedValue, mask) => {
|
|
75
|
-
if (acceptedValue === programmaticValueRef.current) {
|
|
76
|
-
programmaticValueRef.current = null;
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
if (!mask?.masked?.isComplete) return;
|
|
80
|
-
const date = hooks(acceptedValue, ptbrFormat);
|
|
81
|
-
if (date.isValid()) {
|
|
82
|
-
onCommitRef.current(date);
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
const {
|
|
86
|
-
value,
|
|
87
|
-
setValue
|
|
88
|
-
} = useIMask(maskOptions, {
|
|
89
|
-
ref: inputRef,
|
|
90
|
-
defaultValue,
|
|
91
|
-
onAccept: handleAccept
|
|
92
|
-
});
|
|
93
|
-
const unmaskedValue = _.toString(value).replace(/\D/g, "");
|
|
94
|
-
const setMaskValue = (nextValue) => {
|
|
95
|
-
programmaticValueRef.current = nextValue;
|
|
96
|
-
setValue(nextValue);
|
|
97
|
-
};
|
|
98
|
-
const handleOnKeyDownCapture = (event) => {
|
|
99
|
-
if (undigitable || readOnly) return;
|
|
100
|
-
if (event.ctrlKey || event.metaKey || event.altKey) return;
|
|
101
|
-
if (event.key.length !== 1 || !/\d/.test(event.key)) return;
|
|
102
|
-
const input = inputRef.current;
|
|
103
|
-
const start = input?.selectionStart;
|
|
104
|
-
const end = input?.selectionEnd;
|
|
105
|
-
if (!input || start == null || end == null) return;
|
|
106
|
-
const segment = getMaskSegments(ptbrFormat).find((item) => start < item.end);
|
|
107
|
-
if (!segment || end > segment.end) return;
|
|
108
|
-
const hasSelection = end > start;
|
|
109
|
-
const caret = hasSelection ? segment.start : Math.max(start, segment.start);
|
|
110
|
-
const typed = hasSelection ? event.key : input.value.slice(segment.start, caret).replace(/\D/g, "") + event.key;
|
|
111
|
-
if (!canSegmentAcceptDigits(typed, segment.key)) {
|
|
112
|
-
event.preventDefault();
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
input.setSelectionRange(caret, segment.end);
|
|
116
|
-
};
|
|
117
|
-
const handleOnPaste = (event_0) => {
|
|
118
|
-
if (undigitable) {
|
|
119
|
-
event_0.preventDefault();
|
|
120
|
-
} else {
|
|
121
|
-
onPaste?.(event_0);
|
|
122
|
-
}
|
|
123
|
-
};
|
|
124
|
-
const handleOnBeforeInput = (event_1) => {
|
|
125
|
-
if (undigitable) {
|
|
126
|
-
event_1.preventDefault();
|
|
127
|
-
} else {
|
|
128
|
-
onBeforeInput?.(event_1);
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
return {
|
|
132
|
-
maskedValue: value,
|
|
133
|
-
unmaskedValue,
|
|
134
|
-
setMaskValue,
|
|
135
|
-
handleOnPaste,
|
|
136
|
-
handleOnBeforeInput,
|
|
137
|
-
handleOnKeyDownCapture
|
|
138
|
-
};
|
|
139
|
-
};
|
|
140
|
-
export {
|
|
141
|
-
useDateMask
|
|
142
|
-
};
|
|
143
|
-
//# sourceMappingURL=useDateMask.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDateMask.js","sources":["../../../../src/lib/inputs2/date/hooks/useDateMask.ts"],"sourcesContent":["import React from 'react';\nimport _ from 'lodash';\nimport moment, { type Moment } from 'moment';\nimport { useIMask, IMask } from 'react-imask';\nimport type { DateVariant } from '../types';\nimport { canSegmentAcceptDigits, getDateFormats, getMaskSegments } from '../helpers';\n\ninterface UseDateMaskParams {\n inputRef: React.RefObject<HTMLInputElement | null>;\n variant?: DateVariant;\n defaultValue?: string;\n undigitable?: boolean;\n readOnly?: boolean;\n onCommit: (date: Moment) => void;\n onPaste?: (event: React.ClipboardEvent<HTMLInputElement>) => void;\n onBeforeInput?: (event: React.InputEvent<HTMLInputElement>) => void;\n}\n\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 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, autofix: 'pad' },\n M: { mask: IMask.MaskedRange, from: 0, to: 59, maxLength: 2, autofix: 'pad' },\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, readOnly = false,\n onCommit, onPaste, onBeforeInput,\n } = params;\n const { ptbrFormat } = getDateFormats(variant);\n const maskOptions = React.useMemo(() => buildMaskOptions(variant), [variant]);\n\n const onCommitRef = React.useRef(onCommit);\n onCommitRef.current = onCommit;\n const programmaticValueRef = React.useRef<string | null>(null);\n\n const handleAccept = (acceptedValue: string, mask: any) => {\n if (acceptedValue === programmaticValueRef.current) {\n programmaticValueRef.current = null;\n return;\n }\n if (!mask?.masked?.isComplete) return;\n const date = moment(acceptedValue, ptbrFormat);\n if (date.isValid()) { onCommitRef.current(date); }\n };\n\n const { value, setValue } = useIMask(maskOptions, {\n ref: inputRef,\n defaultValue,\n onAccept: handleAccept,\n });\n\n const unmaskedValue = _.toString(value).replace(/\\D/g, '');\n\n const setMaskValue = (nextValue: string) => {\n programmaticValueRef.current = nextValue;\n setValue(nextValue);\n };\n\n const handleOnKeyDownCapture = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (undigitable || readOnly) return;\n if (event.ctrlKey || event.metaKey || event.altKey) return;\n if (event.key.length !== 1 || !/\\d/.test(event.key)) return;\n const input = inputRef.current;\n const start = input?.selectionStart;\n const end = input?.selectionEnd;\n if (!input || start == null || end == null) return;\n const segment = getMaskSegments(ptbrFormat).find(item => start < item.end);\n if (!segment || end > segment.end) return;\n const hasSelection = end > start;\n const caret = hasSelection ? segment.start : Math.max(start, segment.start);\n const typed = hasSelection\n ? event.key\n : input.value.slice(segment.start, caret).replace(/\\D/g, '') + event.key;\n if (!canSegmentAcceptDigits(typed, segment.key)) {\n event.preventDefault();\n return;\n }\n input.setSelectionRange(caret, segment.end);\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,\n handleOnPaste,\n handleOnBeforeInput,\n handleOnKeyDownCapture,\n };\n};\n"],"names":["buildMaskOptions","variant","ptbrFormat","getDateFormats","mask","Date","pattern","lazy","placeholderChar","overwrite","blocks","d","IMask","MaskedRange","from","to","maxLength","autofix","m","Y","H","M","format","date","moment","parse","value","toDate","useDateMask","params","inputRef","defaultValue","undigitable","readOnly","onCommit","onPaste","onBeforeInput","maskOptions","React","useMemo","onCommitRef","useRef","current","programmaticValueRef","handleAccept","acceptedValue","masked","isComplete","isValid","setValue","useIMask","ref","onAccept","unmaskedValue","_","toString","replace","setMaskValue","nextValue","handleOnKeyDownCapture","event","ctrlKey","metaKey","altKey","key","length","test","input","start","selectionStart","end","selectionEnd","segment","getMaskSegments","find","item","hasSelection","caret","Math","max","typed","slice","canSegmentAcceptDigits","preventDefault","setSelectionRange","handleOnPaste","handleOnBeforeInput","maskedValue"],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Moment } from 'moment';
|
|
2
|
-
interface TimeSelectorProps {
|
|
3
|
-
value: Moment | null;
|
|
4
|
-
selectedHour: number | null;
|
|
5
|
-
selectedMinute: number | null;
|
|
6
|
-
onSelectHour: (hour: number) => void;
|
|
7
|
-
onSelectMinute: (minute: number) => void;
|
|
8
|
-
min?: Moment;
|
|
9
|
-
max?: Moment;
|
|
10
|
-
testIdPrefix: string;
|
|
11
|
-
}
|
|
12
|
-
declare const TimeSelector: {
|
|
13
|
-
(props: TimeSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
-
displayName: string;
|
|
15
|
-
};
|
|
16
|
-
export { TimeSelector };
|
|
17
|
-
export type { TimeSelectorProps };
|
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { c as compilerRuntimeExports } from "../../_virtual/compiler-runtime.js";
|
|
3
|
-
import _ from "../../_virtual/lodash.js";
|
|
4
|
-
import { useRef, useLayoutEffect } from "react";
|
|
5
|
-
import Button from "../../buttons/Button.js";
|
|
6
|
-
import '../../assets/styles/button.css';/* empty css */
|
|
7
|
-
import TextContent from "../../textContent/index.js";
|
|
8
|
-
const HOURS = _.range(0, 24);
|
|
9
|
-
const MINUTES = _.range(0, 60);
|
|
10
|
-
const padUnit = (unit) => _.padStart(String(unit), 2, "0");
|
|
11
|
-
const TimeSelector = (props) => {
|
|
12
|
-
const $ = compilerRuntimeExports.c(44);
|
|
13
|
-
const {
|
|
14
|
-
value,
|
|
15
|
-
selectedHour,
|
|
16
|
-
selectedMinute,
|
|
17
|
-
onSelectHour,
|
|
18
|
-
onSelectMinute,
|
|
19
|
-
min,
|
|
20
|
-
max,
|
|
21
|
-
testIdPrefix
|
|
22
|
-
} = props;
|
|
23
|
-
const hourColumnRef = useRef(null);
|
|
24
|
-
const minuteColumnRef = useRef(null);
|
|
25
|
-
const centerUnitInColumn = _temp;
|
|
26
|
-
let t0;
|
|
27
|
-
if ($[0] !== selectedHour || $[1] !== selectedMinute || $[2] !== value) {
|
|
28
|
-
t0 = () => {
|
|
29
|
-
if (!value) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
centerUnitInColumn(hourColumnRef.current, selectedHour);
|
|
33
|
-
centerUnitInColumn(minuteColumnRef.current, selectedMinute);
|
|
34
|
-
};
|
|
35
|
-
$[0] = selectedHour;
|
|
36
|
-
$[1] = selectedMinute;
|
|
37
|
-
$[2] = value;
|
|
38
|
-
$[3] = t0;
|
|
39
|
-
} else {
|
|
40
|
-
t0 = $[3];
|
|
41
|
-
}
|
|
42
|
-
const t1 = Boolean(value);
|
|
43
|
-
let t2;
|
|
44
|
-
if ($[4] !== selectedHour || $[5] !== selectedMinute || $[6] !== t1) {
|
|
45
|
-
t2 = [selectedHour, selectedMinute, t1];
|
|
46
|
-
$[4] = selectedHour;
|
|
47
|
-
$[5] = selectedMinute;
|
|
48
|
-
$[6] = t1;
|
|
49
|
-
$[7] = t2;
|
|
50
|
-
} else {
|
|
51
|
-
t2 = $[7];
|
|
52
|
-
}
|
|
53
|
-
useLayoutEffect(t0, t2);
|
|
54
|
-
const handleOnMouseDown = _temp2;
|
|
55
|
-
let t3;
|
|
56
|
-
if ($[8] !== max || $[9] !== min || $[10] !== value) {
|
|
57
|
-
t3 = (hour) => {
|
|
58
|
-
if (!value) {
|
|
59
|
-
return false;
|
|
60
|
-
}
|
|
61
|
-
if (min && value.isSame(min, "day") && hour < min.hour()) {
|
|
62
|
-
return true;
|
|
63
|
-
}
|
|
64
|
-
return Boolean(max && value.isSame(max, "day") && hour > max.hour());
|
|
65
|
-
};
|
|
66
|
-
$[8] = max;
|
|
67
|
-
$[9] = min;
|
|
68
|
-
$[10] = value;
|
|
69
|
-
$[11] = t3;
|
|
70
|
-
} else {
|
|
71
|
-
t3 = $[11];
|
|
72
|
-
}
|
|
73
|
-
const isHourOutOfBounds = t3;
|
|
74
|
-
let t4;
|
|
75
|
-
if ($[12] !== max || $[13] !== min || $[14] !== selectedHour || $[15] !== value) {
|
|
76
|
-
t4 = (minute) => {
|
|
77
|
-
if (!value || _.isNull(selectedHour)) {
|
|
78
|
-
return false;
|
|
79
|
-
}
|
|
80
|
-
const isOnMinHour = Boolean(min && value.isSame(min, "day") && selectedHour === min.hour());
|
|
81
|
-
const isOnMaxHour = Boolean(max && value.isSame(max, "day") && selectedHour === max.hour());
|
|
82
|
-
if (isOnMinHour && min && minute < min.minute()) {
|
|
83
|
-
return true;
|
|
84
|
-
}
|
|
85
|
-
return Boolean(isOnMaxHour && max && minute > max.minute());
|
|
86
|
-
};
|
|
87
|
-
$[12] = max;
|
|
88
|
-
$[13] = min;
|
|
89
|
-
$[14] = selectedHour;
|
|
90
|
-
$[15] = value;
|
|
91
|
-
$[16] = t4;
|
|
92
|
-
} else {
|
|
93
|
-
t4 = $[16];
|
|
94
|
-
}
|
|
95
|
-
const isMinuteOutOfBounds = t4;
|
|
96
|
-
let t5;
|
|
97
|
-
if ($[17] !== value) {
|
|
98
|
-
t5 = (unit_0) => {
|
|
99
|
-
const {
|
|
100
|
-
value: unitValue,
|
|
101
|
-
isSelected,
|
|
102
|
-
isOutOfBounds,
|
|
103
|
-
testId,
|
|
104
|
-
onClick
|
|
105
|
-
} = unit_0;
|
|
106
|
-
return /* @__PURE__ */ jsx(Button, { role: "option", type: "button", className: "time-unit-button", boxShadow: false, tabIndex: -1, title: padUnit(unitValue), label: padUnit(unitValue), disabled: !value || isOutOfBounds, "aria-disabled": !value || isOutOfBounds, "aria-selected": isSelected, "data-testid": testId, "data-state-out-of-bounds": isOutOfBounds, onMouseDown: handleOnMouseDown, onClick }, unitValue);
|
|
107
|
-
};
|
|
108
|
-
$[17] = value;
|
|
109
|
-
$[18] = t5;
|
|
110
|
-
} else {
|
|
111
|
-
t5 = $[18];
|
|
112
|
-
}
|
|
113
|
-
const renderUnit = t5;
|
|
114
|
-
const t6 = !value;
|
|
115
|
-
const t7 = `${testIdPrefix}-time-selector`;
|
|
116
|
-
let t8;
|
|
117
|
-
if ($[19] === Symbol.for("react.memo_cache_sentinel")) {
|
|
118
|
-
t8 = /* @__PURE__ */ jsx(TextContent, { as: "p", className: "time-column-label", children: "HORA" });
|
|
119
|
-
$[19] = t8;
|
|
120
|
-
} else {
|
|
121
|
-
t8 = $[19];
|
|
122
|
-
}
|
|
123
|
-
const t9 = `${testIdPrefix}-time-hour-column`;
|
|
124
|
-
let t10;
|
|
125
|
-
if ($[20] !== isHourOutOfBounds || $[21] !== onSelectHour || $[22] !== renderUnit || $[23] !== selectedHour || $[24] !== testIdPrefix) {
|
|
126
|
-
t10 = HOURS.map((hour_0) => renderUnit({
|
|
127
|
-
value: hour_0,
|
|
128
|
-
isSelected: selectedHour === hour_0,
|
|
129
|
-
isOutOfBounds: isHourOutOfBounds(hour_0),
|
|
130
|
-
testId: `${testIdPrefix}-time-hour-button`,
|
|
131
|
-
onClick: () => onSelectHour(hour_0)
|
|
132
|
-
}));
|
|
133
|
-
$[20] = isHourOutOfBounds;
|
|
134
|
-
$[21] = onSelectHour;
|
|
135
|
-
$[22] = renderUnit;
|
|
136
|
-
$[23] = selectedHour;
|
|
137
|
-
$[24] = testIdPrefix;
|
|
138
|
-
$[25] = t10;
|
|
139
|
-
} else {
|
|
140
|
-
t10 = $[25];
|
|
141
|
-
}
|
|
142
|
-
let t11;
|
|
143
|
-
if ($[26] !== t10 || $[27] !== t9) {
|
|
144
|
-
t11 = /* @__PURE__ */ jsxs("div", { className: "time-column", children: [
|
|
145
|
-
t8,
|
|
146
|
-
/* @__PURE__ */ jsx("div", { ref: hourColumnRef, role: "listbox", "aria-label": "Selecionar hora", className: "time-column-options", "data-testid": t9, children: t10 })
|
|
147
|
-
] });
|
|
148
|
-
$[26] = t10;
|
|
149
|
-
$[27] = t9;
|
|
150
|
-
$[28] = t11;
|
|
151
|
-
} else {
|
|
152
|
-
t11 = $[28];
|
|
153
|
-
}
|
|
154
|
-
let t12;
|
|
155
|
-
if ($[29] === Symbol.for("react.memo_cache_sentinel")) {
|
|
156
|
-
t12 = /* @__PURE__ */ jsx(TextContent, { as: "p", className: "time-column-label", children: "MINUTO" });
|
|
157
|
-
$[29] = t12;
|
|
158
|
-
} else {
|
|
159
|
-
t12 = $[29];
|
|
160
|
-
}
|
|
161
|
-
const t13 = `${testIdPrefix}-time-minute-column`;
|
|
162
|
-
let t14;
|
|
163
|
-
if ($[30] !== isMinuteOutOfBounds || $[31] !== onSelectMinute || $[32] !== renderUnit || $[33] !== selectedMinute || $[34] !== testIdPrefix) {
|
|
164
|
-
t14 = MINUTES.map((minute_0) => renderUnit({
|
|
165
|
-
value: minute_0,
|
|
166
|
-
isSelected: selectedMinute === minute_0,
|
|
167
|
-
isOutOfBounds: isMinuteOutOfBounds(minute_0),
|
|
168
|
-
testId: `${testIdPrefix}-time-minute-button`,
|
|
169
|
-
onClick: () => onSelectMinute(minute_0)
|
|
170
|
-
}));
|
|
171
|
-
$[30] = isMinuteOutOfBounds;
|
|
172
|
-
$[31] = onSelectMinute;
|
|
173
|
-
$[32] = renderUnit;
|
|
174
|
-
$[33] = selectedMinute;
|
|
175
|
-
$[34] = testIdPrefix;
|
|
176
|
-
$[35] = t14;
|
|
177
|
-
} else {
|
|
178
|
-
t14 = $[35];
|
|
179
|
-
}
|
|
180
|
-
let t15;
|
|
181
|
-
if ($[36] !== t13 || $[37] !== t14) {
|
|
182
|
-
t15 = /* @__PURE__ */ jsxs("div", { className: "time-column", children: [
|
|
183
|
-
t12,
|
|
184
|
-
/* @__PURE__ */ jsx("div", { ref: minuteColumnRef, role: "listbox", "aria-label": "Selecionar minuto", className: "time-column-options", "data-testid": t13, children: t14 })
|
|
185
|
-
] });
|
|
186
|
-
$[36] = t13;
|
|
187
|
-
$[37] = t14;
|
|
188
|
-
$[38] = t15;
|
|
189
|
-
} else {
|
|
190
|
-
t15 = $[38];
|
|
191
|
-
}
|
|
192
|
-
let t16;
|
|
193
|
-
if ($[39] !== t11 || $[40] !== t15 || $[41] !== t6 || $[42] !== t7) {
|
|
194
|
-
t16 = /* @__PURE__ */ jsxs("div", { className: "date-calendar-box-time-selector", "data-state-disabled": t6, "data-testid": t7, children: [
|
|
195
|
-
t11,
|
|
196
|
-
t15
|
|
197
|
-
] });
|
|
198
|
-
$[39] = t11;
|
|
199
|
-
$[40] = t15;
|
|
200
|
-
$[41] = t6;
|
|
201
|
-
$[42] = t7;
|
|
202
|
-
$[43] = t16;
|
|
203
|
-
} else {
|
|
204
|
-
t16 = $[43];
|
|
205
|
-
}
|
|
206
|
-
return t16;
|
|
207
|
-
};
|
|
208
|
-
TimeSelector.displayName = "DateTimeSelector";
|
|
209
|
-
function _temp(column, index) {
|
|
210
|
-
if (!column) {
|
|
211
|
-
return;
|
|
212
|
-
}
|
|
213
|
-
const unit = _.isNull(index) ? void 0 : column.children?.[index];
|
|
214
|
-
if (!unit) {
|
|
215
|
-
column.scrollTop = 0;
|
|
216
|
-
return;
|
|
217
|
-
}
|
|
218
|
-
column.scrollTop = unit.offsetTop - (column.clientHeight - unit.offsetHeight) / 2;
|
|
219
|
-
}
|
|
220
|
-
function _temp2(event) {
|
|
221
|
-
event?.preventDefault?.();
|
|
222
|
-
}
|
|
223
|
-
export {
|
|
224
|
-
TimeSelector
|
|
225
|
-
};
|
|
226
|
-
//# sourceMappingURL=timeselector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"timeselector.js","sources":["../../../src/lib/inputs2/date/timeselector.tsx"],"sourcesContent":["import _ from 'lodash';\nimport type { Moment } from 'moment';\nimport { MouseEvent, useLayoutEffect, useRef } from 'react';\nimport Button from '../../buttons';\nimport TextContent from '../../textContent';\n\ninterface TimeUnit {\n value: number;\n isSelected: boolean;\n isOutOfBounds: boolean;\n testId: string;\n onClick: () => void;\n}\n\ninterface TimeSelectorProps {\n value: Moment | null;\n selectedHour: number | null;\n selectedMinute: number | null;\n onSelectHour: (hour: number) => void;\n onSelectMinute: (minute: number) => void;\n min?: Moment;\n max?: Moment;\n testIdPrefix: string;\n}\n\nconst HOURS = _.range(0, 24);\nconst MINUTES = _.range(0, 60);\n\nconst padUnit = (unit: number) => _.padStart(String(unit), 2, '0');\n\nconst TimeSelector = (props: TimeSelectorProps) => {\n const {\n value, selectedHour, selectedMinute, onSelectHour, onSelectMinute, min, max, testIdPrefix,\n } = props;\n const hourColumnRef = useRef<HTMLDivElement | null>(null);\n const minuteColumnRef = useRef<HTMLDivElement | null>(null);\n\n // `scrollIntoView` arrastaria os ancestrais junto, e o box mora no `body`.\n const centerUnitInColumn = (column: HTMLDivElement | null, index: number | null) => {\n if (!column) return;\n const unit = _.isNull(index) ? undefined : column.children?.[index] as HTMLElement | undefined;\n if (!unit) {\n column.scrollTop = 0;\n return;\n }\n column.scrollTop = unit.offsetTop - ((column.clientHeight - unit.offsetHeight) / 2);\n };\n\n useLayoutEffect(() => {\n if (!value) return;\n centerUnitInColumn(hourColumnRef.current, selectedHour);\n centerUnitInColumn(minuteColumnRef.current, selectedMinute);\n }, [selectedHour, selectedMinute, Boolean(value)]);\n\n const handleOnMouseDown = (event: MouseEvent<HTMLButtonElement>) => {\n event?.preventDefault?.();\n };\n\n const isHourOutOfBounds = (hour: number) => {\n if (!value) return false;\n if (min && value.isSame(min, 'day') && hour < min.hour()) return true;\n return Boolean(max && value.isSame(max, 'day') && hour > max.hour());\n };\n\n const isMinuteOutOfBounds = (minute: number) => {\n if (!value || _.isNull(selectedHour)) return false;\n const isOnMinHour = Boolean(min && value.isSame(min, 'day') && selectedHour === min.hour());\n const isOnMaxHour = Boolean(max && value.isSame(max, 'day') && selectedHour === max.hour());\n if (isOnMinHour && min && minute < min.minute()) return true;\n return Boolean(isOnMaxHour && max && minute > max.minute());\n };\n\n const renderUnit = (unit: TimeUnit) => {\n const { value: unitValue, isSelected, isOutOfBounds, testId, onClick } = unit;\n return (\n <Button\n key={unitValue}\n role=\"option\"\n type=\"button\"\n className=\"time-unit-button\"\n boxShadow={false}\n tabIndex={-1}\n title={padUnit(unitValue)}\n label={padUnit(unitValue)}\n disabled={!value || isOutOfBounds}\n aria-disabled={!value || isOutOfBounds}\n aria-selected={isSelected}\n data-testid={testId}\n data-state-out-of-bounds={isOutOfBounds}\n onMouseDown={handleOnMouseDown}\n onClick={onClick} />\n );\n };\n\n return (\n <div\n className=\"date-calendar-box-time-selector\"\n data-state-disabled={!value}\n data-testid={`${testIdPrefix}-time-selector`}>\n <div className=\"time-column\">\n <TextContent as=\"p\" className=\"time-column-label\">HORA</TextContent>\n <div\n ref={hourColumnRef}\n role=\"listbox\"\n aria-label=\"Selecionar hora\"\n className=\"time-column-options\"\n data-testid={`${testIdPrefix}-time-hour-column`}>\n {HOURS.map(hour => renderUnit({\n value: hour,\n isSelected: selectedHour === hour,\n isOutOfBounds: isHourOutOfBounds(hour),\n testId: `${testIdPrefix}-time-hour-button`,\n onClick: () => onSelectHour(hour),\n }))}\n </div>\n </div>\n <div className=\"time-column\">\n <TextContent as=\"p\" className=\"time-column-label\">MINUTO</TextContent>\n <div\n ref={minuteColumnRef}\n role=\"listbox\"\n aria-label=\"Selecionar minuto\"\n className=\"time-column-options\"\n data-testid={`${testIdPrefix}-time-minute-column`}>\n {MINUTES.map(minute => renderUnit({\n value: minute,\n isSelected: selectedMinute === minute,\n isOutOfBounds: isMinuteOutOfBounds(minute),\n testId: `${testIdPrefix}-time-minute-button`,\n onClick: () => onSelectMinute(minute),\n }))}\n </div>\n </div>\n </div>\n );\n};\n\nTimeSelector.displayName = 'DateTimeSelector';\n\nexport { TimeSelector };\nexport type { TimeSelectorProps };\n"],"names":["HOURS","_","range","MINUTES","padUnit","unit","padStart","String","TimeSelector","props","$","_c","value","selectedHour","selectedMinute","onSelectHour","onSelectMinute","min","max","testIdPrefix","hourColumnRef","useRef","minuteColumnRef","centerUnitInColumn","_temp","t0","current","t1","Boolean","t2","useLayoutEffect","handleOnMouseDown","_temp2","t3","hour","isSame","isHourOutOfBounds","t4","minute","isNull","isOnMinHour","isOnMaxHour","isMinuteOutOfBounds","t5","unit_0","unitValue","isSelected","isOutOfBounds","testId","onClick","renderUnit","t6","t7","t8","Symbol","for","t9","t10","map","hour_0","t11","t12","t13","t14","minute_0","t15","t16","displayName","column","index","undefined","children","scrollTop","offsetTop","clientHeight","offsetHeight","event","preventDefault"],"mappings":"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"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import hooks from "../moment.js";
|
|
2
|
-
//! moment.js locale configuration
|
|
3
|
-
//! locale : Portuguese (Brazil) [pt-br]
|
|
4
|
-
//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira
|
|
5
|
-
hooks.defineLocale("pt-br", {
|
|
6
|
-
months: "janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split(
|
|
7
|
-
"_"
|
|
8
|
-
),
|
|
9
|
-
monthsShort: "jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),
|
|
10
|
-
weekdays: "domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split(
|
|
11
|
-
"_"
|
|
12
|
-
),
|
|
13
|
-
weekdaysShort: "dom_seg_ter_qua_qui_sex_sáb".split("_"),
|
|
14
|
-
weekdaysMin: "do_2ª_3ª_4ª_5ª_6ª_sá".split("_"),
|
|
15
|
-
weekdaysParseExact: true,
|
|
16
|
-
longDateFormat: {
|
|
17
|
-
LT: "HH:mm",
|
|
18
|
-
LTS: "HH:mm:ss",
|
|
19
|
-
L: "DD/MM/YYYY",
|
|
20
|
-
LL: "D [de] MMMM [de] YYYY",
|
|
21
|
-
LLL: "D [de] MMMM [de] YYYY [às] HH:mm",
|
|
22
|
-
LLLL: "dddd, D [de] MMMM [de] YYYY [às] HH:mm"
|
|
23
|
-
},
|
|
24
|
-
calendar: {
|
|
25
|
-
sameDay: "[Hoje às] LT",
|
|
26
|
-
nextDay: "[Amanhã às] LT",
|
|
27
|
-
nextWeek: "dddd [às] LT",
|
|
28
|
-
lastDay: "[Ontem às] LT",
|
|
29
|
-
lastWeek: function() {
|
|
30
|
-
return this.day() === 0 || this.day() === 6 ? "[Último] dddd [às] LT" : "[Última] dddd [às] LT";
|
|
31
|
-
},
|
|
32
|
-
sameElse: "L"
|
|
33
|
-
},
|
|
34
|
-
relativeTime: {
|
|
35
|
-
future: "em %s",
|
|
36
|
-
past: "há %s",
|
|
37
|
-
s: "poucos segundos",
|
|
38
|
-
ss: "%d segundos",
|
|
39
|
-
m: "um minuto",
|
|
40
|
-
mm: "%d minutos",
|
|
41
|
-
h: "uma hora",
|
|
42
|
-
hh: "%d horas",
|
|
43
|
-
d: "um dia",
|
|
44
|
-
dd: "%d dias",
|
|
45
|
-
M: "um mês",
|
|
46
|
-
MM: "%d meses",
|
|
47
|
-
y: "um ano",
|
|
48
|
-
yy: "%d anos"
|
|
49
|
-
},
|
|
50
|
-
dayOfMonthOrdinalParse: /\d{1,2}º/,
|
|
51
|
-
ordinal: "%dº",
|
|
52
|
-
invalidDate: "Data inválida"
|
|
53
|
-
});
|
|
54
|
-
//# sourceMappingURL=pt-br.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pt-br.js","sources":["../../../../../node_modules/moment/dist/locale/pt-br.js"],"sourcesContent":["//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\nimport moment from '../moment';\n\nexport default moment.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n '_'\n ),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida',\n});\n"],"names":["moment"],"mappings":";AAAA;AACA;AACA;AAIeA,MAAO,aAAa,SAAS;AAAA,EACxC,QAAQ,2FAA2F;AAAA,IAC/F;AAAA,EACR;AAAA,EACI,aAAa,kDAAkD,MAAM,GAAG;AAAA,EACxE,UACI,iFAAiF;AAAA,IAC7E;AAAA,EACZ;AAAA,EACI,eAAe,8BAA8B,MAAM,GAAG;AAAA,EACtD,aAAa,uBAAuB,MAAM,GAAG;AAAA,EAC7C,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,IACZ,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,MAAM;AAAA,EACd;AAAA,EACI,UAAU;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,UAAU;AAAA,IACV,SAAS;AAAA,IACT,UAAU,WAAY;AAClB,aAAO,KAAK,IAAG,MAAO,KAAK,KAAK,IAAG,MAAO,IACpC,0BACA;AAAA,IACV;AAAA,IACA,UAAU;AAAA,EAClB;AAAA,EACI,cAAc;AAAA,IACV,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,GAAG;AAAA,IACH,IAAI;AAAA,EACZ;AAAA,EACI,wBAAwB;AAAA,EACxB,SAAS;AAAA,EACT,aAAa;AACjB,CAAC;","x_google_ignoreList":[0]}
|