@alfalab/core-components-date-time-input 4.5.34 → 5.0.0-snapshot-6a9d3fc
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/Component.responsive.d.ts +5 -7
- package/Component.responsive.js +4 -3
- package/Component.responsive.js.map +1 -0
- package/components/date-time-input/Component.d.ts +12 -13
- package/components/date-time-input/Component.js +20 -21
- package/components/date-time-input/Component.js.map +1 -0
- package/components/date-time-input/index.css +11 -51
- package/components/date-time-input/index.d.ts +1 -1
- package/components/date-time-input/index.js +3 -2
- package/components/date-time-input/index.js.map +1 -0
- package/components/date-time-input/index.module.css.js +8 -0
- package/components/date-time-input/index.module.css.js.map +1 -0
- package/cssm/Component.responsive.d.ts +5 -7
- package/cssm/Component.responsive.js +6 -5
- package/cssm/Component.responsive.js.map +1 -0
- package/cssm/components/date-time-input/Component.d.ts +12 -13
- package/cssm/components/date-time-input/Component.js +18 -17
- package/cssm/components/date-time-input/Component.js.map +1 -0
- package/cssm/components/date-time-input/index.d.ts +1 -1
- package/cssm/components/date-time-input/index.js +3 -2
- package/cssm/components/date-time-input/index.js.map +1 -0
- package/cssm/components/date-time-input/index.module.css +5 -44
- package/cssm/desktop/Component.desktop.d.ts +3 -5
- package/cssm/desktop/Component.desktop.js +5 -4
- package/cssm/desktop/Component.desktop.js.map +1 -0
- package/cssm/desktop/index.d.ts +1 -2
- package/cssm/desktop/index.js +3 -2
- package/cssm/desktop/index.js.map +1 -0
- package/cssm/index.d.ts +2 -3
- package/cssm/index.js +1 -0
- package/cssm/index.js.map +1 -0
- package/cssm/mobile/Component.mobile.d.ts +3 -5
- package/cssm/mobile/Component.mobile.js +5 -4
- package/cssm/mobile/Component.mobile.js.map +1 -0
- package/cssm/mobile/index.d.ts +1 -2
- package/cssm/mobile/index.js +3 -2
- package/cssm/mobile/index.js.map +1 -0
- package/cssm/utils/format.d.ts +12 -13
- package/cssm/utils/format.js +1 -0
- package/cssm/utils/format.js.map +1 -0
- package/cssm/utils/index.d.ts +1 -1
- package/cssm/utils/index.js +14 -13
- package/cssm/utils/index.js.map +1 -0
- package/desktop/Component.desktop.d.ts +3 -5
- package/desktop/Component.desktop.js +5 -4
- package/desktop/Component.desktop.js.map +1 -0
- package/desktop/index.d.ts +1 -2
- package/desktop/index.js +3 -2
- package/desktop/index.js.map +1 -0
- package/esm/Component.responsive.d.ts +5 -7
- package/esm/Component.responsive.js +1 -0
- package/esm/Component.responsive.js.map +1 -0
- package/esm/components/date-time-input/Component.d.ts +12 -13
- package/esm/components/date-time-input/Component.js +2 -3
- package/esm/components/date-time-input/Component.js.map +1 -0
- package/esm/components/date-time-input/index.css +11 -51
- package/esm/components/date-time-input/index.d.ts +1 -1
- package/esm/components/date-time-input/index.js +1 -0
- package/esm/components/date-time-input/index.js.map +1 -0
- package/esm/components/date-time-input/index.module.css.js +6 -0
- package/esm/components/date-time-input/index.module.css.js.map +1 -0
- package/esm/desktop/Component.desktop.d.ts +3 -5
- package/esm/desktop/Component.desktop.js +1 -0
- package/esm/desktop/Component.desktop.js.map +1 -0
- package/esm/desktop/index.d.ts +1 -2
- package/esm/desktop/index.js +1 -0
- package/esm/desktop/index.js.map +1 -0
- package/esm/index.d.ts +2 -3
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -0
- package/esm/mobile/Component.mobile.d.ts +3 -5
- package/esm/mobile/Component.mobile.js +1 -0
- package/esm/mobile/Component.mobile.js.map +1 -0
- package/esm/mobile/index.d.ts +1 -2
- package/esm/mobile/index.js +1 -0
- package/esm/mobile/index.js.map +1 -0
- package/esm/utils/format.d.ts +12 -13
- package/esm/utils/format.js +1 -0
- package/esm/utils/format.js.map +1 -0
- package/esm/utils/index.d.ts +1 -1
- package/esm/utils/index.js +1 -0
- package/esm/utils/index.js.map +1 -0
- package/index.d.ts +2 -3
- package/index.js +1 -0
- package/index.js.map +1 -0
- package/mobile/Component.mobile.d.ts +3 -5
- package/mobile/Component.mobile.js +5 -4
- package/mobile/Component.mobile.js.map +1 -0
- package/mobile/index.d.ts +1 -2
- package/mobile/index.js +3 -2
- package/mobile/index.js.map +1 -0
- package/modern/Component.responsive.d.ts +5 -7
- package/modern/Component.responsive.js +1 -0
- package/modern/Component.responsive.js.map +1 -0
- package/modern/components/date-time-input/Component.d.ts +12 -13
- package/modern/components/date-time-input/Component.js +2 -3
- package/modern/components/date-time-input/Component.js.map +1 -0
- package/modern/components/date-time-input/index.css +11 -51
- package/modern/components/date-time-input/index.d.ts +1 -1
- package/modern/components/date-time-input/index.js +1 -0
- package/modern/components/date-time-input/index.js.map +1 -0
- package/modern/components/date-time-input/index.module.css.js +6 -0
- package/modern/components/date-time-input/index.module.css.js.map +1 -0
- package/modern/desktop/Component.desktop.d.ts +3 -5
- package/modern/desktop/Component.desktop.js +1 -0
- package/modern/desktop/Component.desktop.js.map +1 -0
- package/modern/desktop/index.d.ts +1 -2
- package/modern/desktop/index.js +1 -0
- package/modern/desktop/index.js.map +1 -0
- package/modern/index.d.ts +2 -3
- package/modern/index.js +1 -0
- package/modern/index.js.map +1 -0
- package/modern/mobile/Component.mobile.d.ts +3 -5
- package/modern/mobile/Component.mobile.js +1 -0
- package/modern/mobile/Component.mobile.js.map +1 -0
- package/modern/mobile/index.d.ts +1 -2
- package/modern/mobile/index.js +1 -0
- package/modern/mobile/index.js.map +1 -0
- package/modern/utils/format.d.ts +12 -13
- package/modern/utils/format.js +1 -0
- package/modern/utils/format.js.map +1 -0
- package/modern/utils/index.d.ts +1 -1
- package/modern/utils/index.js +1 -0
- package/modern/utils/index.js.map +1 -0
- package/moderncssm/Component.responsive.d.ts +5 -7
- package/moderncssm/Component.responsive.js +1 -0
- package/moderncssm/Component.responsive.js.map +1 -0
- package/moderncssm/components/date-time-input/Component.d.ts +12 -13
- package/moderncssm/components/date-time-input/Component.js +1 -0
- package/moderncssm/components/date-time-input/Component.js.map +1 -0
- package/moderncssm/components/date-time-input/index.d.ts +1 -1
- package/moderncssm/components/date-time-input/index.js +1 -0
- package/moderncssm/components/date-time-input/index.js.map +1 -0
- package/moderncssm/components/date-time-input/index.module.css +0 -21
- package/moderncssm/desktop/Component.desktop.d.ts +3 -5
- package/moderncssm/desktop/Component.desktop.js +1 -0
- package/moderncssm/desktop/Component.desktop.js.map +1 -0
- package/moderncssm/desktop/index.d.ts +1 -2
- package/moderncssm/desktop/index.js +1 -0
- package/moderncssm/desktop/index.js.map +1 -0
- package/moderncssm/index.d.ts +2 -3
- package/moderncssm/index.js +1 -0
- package/moderncssm/index.js.map +1 -0
- package/moderncssm/mobile/Component.mobile.d.ts +3 -5
- package/moderncssm/mobile/Component.mobile.js +1 -0
- package/moderncssm/mobile/Component.mobile.js.map +1 -0
- package/moderncssm/mobile/index.d.ts +1 -2
- package/moderncssm/mobile/index.js +1 -0
- package/moderncssm/mobile/index.js.map +1 -0
- package/moderncssm/utils/format.d.ts +12 -13
- package/moderncssm/utils/format.js +1 -0
- package/moderncssm/utils/format.js.map +1 -0
- package/moderncssm/utils/index.d.ts +1 -1
- package/moderncssm/utils/index.js +1 -0
- package/moderncssm/utils/index.js.map +1 -0
- package/package.json +9 -10
- package/src/components/date-time-input/index.module.css +1 -1
- package/utils/format.d.ts +12 -13
- package/utils/format.js +1 -0
- package/utils/format.js.map +1 -0
- package/utils/index.d.ts +1 -1
- package/utils/index.js +14 -13
- package/utils/index.js.map +1 -0
- package/desktop/package.json +0 -3
- package/mobile/package.json +0 -3
- package/src/desktop/package.json +0 -3
- package/src/mobile/package.json +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../../src/components/date-time-input/Component.tsx"],"sourcesContent":["/* eslint-disable no-useless-escape, jsx-a11y/click-events-have-key-events */\n\nimport React, {\n ChangeEvent,\n ElementType,\n FocusEvent,\n MouseEvent,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport type { CalendarDesktopProps } from '@alfalab/core-components-calendar/desktop';\nimport type { CalendarMobileProps } from '@alfalab/core-components-calendar/mobile';\nimport { dateInLimits } from '@alfalab/core-components-calendar/shared';\nimport { IconButton } from '@alfalab/core-components-icon-button';\nimport { InputProps } from '@alfalab/core-components-input';\nimport { Popover, PopoverProps } from '@alfalab/core-components-popover';\nimport { useDidUpdateEffect } from '@alfalab/hooks';\nimport { CalendarMIcon } from '@alfalab/icons-glyph/CalendarMIcon';\n\nimport {\n addTimeToDate,\n DATE_WITH_TIME_LENGTH,\n format,\n getDateWithoutTime,\n getFullDateTime,\n isCompleteDateInput,\n isValid,\n parseTimestampToDate,\n} from '../../utils';\n\nimport styles from './index.module.css';\n\nexport type DateTimeInputProps = Omit<InputProps, 'onChange'> & {\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Дополнительный класс для инпута\n */\n inputClassName?: string;\n\n /**\n * Дополнительный класс для поповера\n */\n popoverClassName?: string;\n\n /**\n * Обработчик изменения значения\n */\n picker?: boolean;\n\n /**\n * Обработчик изменения значения\n */\n onChange?: (\n event: ChangeEvent<HTMLInputElement> | null,\n payload: { date: Date; value: string },\n ) => void;\n\n /**\n * Обработчик окончания ввода\n */\n onComplete?: (\n event: ChangeEvent<HTMLInputElement> | null,\n payload: { date: Date; value: string },\n ) => void;\n\n /**\n * Компонент календаря\n */\n Calendar?: ElementType;\n\n /**\n * Доп. пропсы для календаря\n */\n calendarProps?:\n | (CalendarDesktopProps & Record<string, unknown>)\n | (CalendarMobileProps & Record<string, unknown>);\n\n /**\n * Месяц в календаре по умолчанию (timestamp)\n */\n defaultMonth?: number;\n\n /**\n * Минимальная дата, доступная для выбора (timestamp)\n */\n minDate?: number;\n\n /**\n * Максимальная дата, доступная для выбора (timestamp)\n */\n maxDate?: number;\n\n /**\n * Список событий\n */\n events?: Array<Date | number>;\n\n /**\n * Список выходных\n */\n offDays?: Array<Date | number>;\n\n /**\n * Состояние открытия по умолчанию\n */\n defaultOpen?: boolean;\n\n /**\n * Позиционирование поповера с календарем\n */\n popoverPosition?: PopoverProps['position'];\n\n /**\n * z-index Popover\n */\n zIndexPopover?: PopoverProps['zIndex'];\n\n /**\n * Запрещает поповеру менять свою позицию.\n * Например, если места снизу недостаточно,то он все равно будет показан снизу\n */\n preventFlip?: boolean;\n\n /**\n * Календарь будет принимать ширину инпута\n */\n useAnchorWidth?: boolean;\n\n /**\n * Растягивает компонент на ширину контейнера\n */\n block?: boolean;\n\n /**\n * Отображение компонента в мобильном или десктопном виде\n */\n view?: 'desktop' | 'mobile';\n\n /**\n * Компонент инпута\n */\n InputComponent?: ElementType;\n\n /**\n * Запретить ввод с клавиатуры\n */\n disableUserInput?: boolean;\n};\n\nexport const DateTimeInput = React.forwardRef<HTMLInputElement, DateTimeInputProps>(\n (\n {\n className,\n inputClassName,\n popoverClassName,\n disabled,\n readOnly,\n disableUserInput = false,\n picker,\n defaultValue = '',\n value: propValue,\n onChange,\n onComplete,\n rightAddons,\n useAnchorWidth,\n block,\n popoverPosition = 'bottom-start',\n zIndexPopover,\n preventFlip,\n InputComponent,\n Calendar,\n calendarProps = {},\n defaultMonth,\n minDate = calendarProps.minDate,\n maxDate = calendarProps.maxDate,\n offDays = calendarProps.offDays || [],\n events = calendarProps.events || [],\n defaultOpen = false,\n error,\n view = 'desktop',\n ...restProps\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [value, setValue] = useState(propValue || defaultValue);\n const [open, setOpen] = useState(false);\n\n const calendarValue = value ? getDateWithoutTime(value).getTime() : undefined;\n\n const inputDisabled = disabled || readOnly;\n\n const calendarResponsive = calendarProps?.responsive ?? true;\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n useDidUpdateEffect(() => {\n const newPropValue = propValue || '';\n\n setValue((prevValue) => (prevValue === propValue ? prevValue : newPropValue));\n }, [propValue]);\n\n const checkInputValueIsValid = (newInputValue?: string) => {\n if (!newInputValue || error) return false;\n\n const dateValue = getDateWithoutTime(newInputValue).getTime();\n\n return (\n dateValue &&\n dateInLimits(dateValue, minDate, maxDate) &&\n !offDays.includes(dateValue)\n );\n };\n\n const setTimeToDate = () => {\n setValue((prevValue) => {\n const dateWithTime = addTimeToDate(prevValue);\n\n if (dateWithTime !== prevValue && dateWithTime.length === DATE_WITH_TIME_LENGTH) {\n onComplete?.(null, {\n date: getFullDateTime(dateWithTime),\n value: dateWithTime,\n });\n }\n\n return dateWithTime;\n });\n };\n\n const handleInputWrapperFocus = (event: FocusEvent<HTMLDivElement>) => {\n if (view === 'desktop') {\n if (picker) {\n setOpen(true);\n }\n if (!open && event.target.tagName !== 'INPUT' && calendarRef.current) {\n calendarRef.current.focus();\n }\n }\n };\n\n const handleBlur = (event: FocusEvent<HTMLDivElement>) => {\n if (view === 'desktop') {\n const target = (event.relatedTarget || document.activeElement) as HTMLElement;\n\n if (calendarRef.current && calendarRef.current.contains(target) === false) {\n setOpen(false);\n setTimeToDate();\n }\n }\n };\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n const { value: newValue } = event.target;\n\n if (newValue.length > DATE_WITH_TIME_LENGTH) return;\n\n // Позволяем вводить только цифры, точки, запятую, двоеточие и пробел\n if (/[^\\d., :]/.test(newValue)) {\n return;\n }\n\n const dots = newValue.match(/\\./g);\n const colon = newValue.match(/:/g);\n const comma = newValue.match(/,/g);\n\n // Не даем вводить больше, чем 2 точки, 1 двоеточие и 1 запятую\n if (\n (dots && dots.length > 2) ||\n (colon && colon.length > 1) ||\n (comma && comma.length > 1)\n ) {\n return;\n }\n\n const formattedValue = format(newValue);\n const date = getFullDateTime(formattedValue);\n\n setValue(formattedValue);\n\n if (onChange) onChange(event, { date, value: formattedValue });\n\n if (isCompleteDateInput(formattedValue)) {\n const valid = isValid(formattedValue);\n\n if (!valid) return;\n\n if (onComplete) {\n onComplete(event, { date, value: formattedValue });\n }\n }\n };\n\n const handleMobileCalendarClose = () => {\n setOpen(false);\n setTimeToDate();\n };\n\n const handleClear = () => {\n setValue('');\n };\n\n const handleCalendarChange = (date?: number) => {\n if (date) {\n const newValue = parseTimestampToDate(date);\n\n setValue(newValue);\n onChange?.(null, { date: getFullDateTime(newValue), value: newValue });\n }\n };\n\n const handleCalendarWrapperMouseDown = (event: MouseEvent<HTMLDivElement>) => {\n // Не дает инпуту терять фокус при выборе даты\n event.preventDefault();\n };\n\n const handleIconButtonClick = () => {\n if (!open) setOpen(true);\n\n if (view === 'desktop' && inputRef.current) {\n inputRef.current.focus();\n }\n };\n\n const renderCalendar = () =>\n Calendar ? (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div onMouseDown={handleCalendarWrapperMouseDown}>\n <Calendar\n {...calendarProps}\n responsive={calendarResponsive}\n open={open}\n onClose={handleMobileCalendarClose}\n ref={calendarRef}\n defaultMonth={defaultMonth}\n value={checkInputValueIsValid(value) ? calendarValue : undefined}\n onChange={handleCalendarChange}\n minDate={minDate}\n maxDate={maxDate}\n offDays={offDays}\n events={events}\n />\n </div>\n ) : null;\n\n return (\n <div\n className={cn(styles.component, className, {\n [styles.block]: block,\n })}\n onFocus={inputDisabled ? undefined : handleInputWrapperFocus}\n onBlur={handleBlur}\n >\n {InputComponent ? (\n <InputComponent\n autoComplete={picker ? 'off' : undefined}\n {...restProps}\n block={block}\n ref={mergeRefs([ref, inputRef])}\n value={value}\n onChange={handleChange}\n disabled={disabled}\n readOnly={readOnly}\n className={inputClassName}\n onClear={handleClear}\n disableUserInput={disableUserInput}\n error={error}\n rightAddons={\n <React.Fragment>\n {rightAddons}\n {picker && (\n <IconButton\n className={styles.calendarIcon}\n onClick={inputDisabled ? undefined : handleIconButtonClick}\n icon={CalendarMIcon}\n size='s'\n />\n )}\n </React.Fragment>\n }\n />\n ) : null}\n {picker &&\n (view === 'desktop' ? (\n <Popover\n open={open}\n useAnchorWidth={useAnchorWidth}\n anchorElement={inputRef.current as HTMLElement}\n popperClassName={cn(styles.calendarContainer, {\n [styles.calendarResponsive]: calendarResponsive,\n })}\n className={popoverClassName}\n position={popoverPosition}\n offset={[0, 8]}\n withTransition={false}\n preventFlip={preventFlip}\n zIndex={zIndexPopover}\n >\n {renderCalendar()}\n </Popover>\n ) : (\n renderCalendar()\n ))}\n </div>\n );\n },\n);\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from './Component';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,26 +1,5 @@
|
|
|
1
|
-
/* */
|
|
2
1
|
:root {
|
|
3
2
|
--calendar-width: 344px;
|
|
4
|
-
|
|
5
|
-
/* Кнопки выбора месяцев и годов */
|
|
6
|
-
|
|
7
|
-
/* Шапка */
|
|
8
|
-
|
|
9
|
-
/* День */
|
|
10
|
-
|
|
11
|
-
/* today */
|
|
12
|
-
|
|
13
|
-
/* highlighted */
|
|
14
|
-
|
|
15
|
-
/* holidays */
|
|
16
|
-
|
|
17
|
-
/* range */
|
|
18
|
-
|
|
19
|
-
/* selected */
|
|
20
|
-
|
|
21
|
-
/* disabled */
|
|
22
|
-
|
|
23
|
-
/* marker */
|
|
24
3
|
}
|
|
25
4
|
:root {
|
|
26
5
|
--calendar-popover-border-radius: var(--border-radius-8);
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import React from 'react';
|
|
3
|
-
import { DateTimeInputProps } from
|
|
4
|
-
type DateTimeInputDesktopProps = Omit<DateTimeInputProps, 'view' | 'InputComponent'>;
|
|
2
|
+
import { DateTimeInputProps } from '../components/date-time-input/Component';
|
|
3
|
+
export declare type DateTimeInputDesktopProps = Omit<DateTimeInputProps, 'view' | 'InputComponent'>;
|
|
5
4
|
/**
|
|
6
5
|
* @deprecated
|
|
7
6
|
* use UniversalDateInput instead
|
|
8
7
|
*/
|
|
9
|
-
declare const DateTimeInputDesktop: React.ForwardRefExoticComponent<DateTimeInputDesktopProps & React.RefAttributes<HTMLInputElement>>;
|
|
10
|
-
export { DateTimeInputDesktopProps, DateTimeInputDesktop };
|
|
8
|
+
export declare const DateTimeInputDesktop: React.ForwardRefExoticComponent<DateTimeInputDesktopProps & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -10,3 +10,4 @@ import { DateTimeInput } from '../components/date-time-input/Component.js';
|
|
|
10
10
|
const DateTimeInputDesktop = forwardRef((props, ref) => (React.createElement(DateTimeInput, { Calendar: CalendarDesktop, InputComponent: InputDesktop, ...props, ref: ref })));
|
|
11
11
|
|
|
12
12
|
export { DateTimeInputDesktop };
|
|
13
|
+
//# sourceMappingURL=Component.desktop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { CalendarDesktop } from '@alfalab/core-components-calendar/desktop';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { InputProps } from '@alfalab/core-components-input';\nimport { InputDesktop } from '@alfalab/core-components-input/desktop';\n\nimport { DateTimeInput, DateTimeInputProps } from '../components/date-time-input/Component';\n\nexport type DateTimeInputDesktopProps = Omit<DateTimeInputProps, 'view' | 'InputComponent'>;\n\n/**\n * @deprecated\n * use UniversalDateInput instead\n */\nexport const DateTimeInputDesktop = forwardRef<HTMLInputElement, DateTimeInputDesktopProps>(\n (props, ref) => (\n <DateTimeInput\n Calendar={CalendarDesktop}\n InputComponent={InputDesktop}\n {...props}\n ref={ref}\n />\n ),\n);\n"],"names":[],"mappings":";;;;;AAWA;;;AAGG;AACI,MAAM,oBAAoB,GAAG,UAAU,CAC1C,CAAC,KAAK,EAAE,GAAG,MACP,KAAC,CAAA,aAAA,CAAA,aAAa,EACV,EAAA,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,YAAY,EAAA,GACxB,KAAK,EACT,GAAG,EAAE,GAAG,EACV,CAAA,CACL;;;;"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export {};
|
|
1
|
+
export * from './Component.desktop';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/moderncssm/index.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export { DateTimeInputResponsive as DateTimeInput } from
|
|
2
|
-
export type { DateTimeInputResponsiveProps as DateTimeInputProps } from
|
|
3
|
-
export {};
|
|
1
|
+
export { DateTimeInputResponsive as DateTimeInput } from './Component.responsive';
|
|
2
|
+
export type { DateTimeInputResponsiveProps as DateTimeInputProps } from './Component.responsive';
|
package/moderncssm/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import React from 'react';
|
|
3
|
-
import { DateTimeInputProps } from
|
|
4
|
-
type DateTimeInputMobileProps = Omit<DateTimeInputProps, 'view' | 'InputComponent'>;
|
|
5
|
-
declare const DateTimeInputMobile: React.ForwardRefExoticComponent<DateTimeInputMobileProps & React.RefAttributes<HTMLInputElement>>;
|
|
6
|
-
export { DateTimeInputMobileProps, DateTimeInputMobile };
|
|
2
|
+
import { DateTimeInputProps } from '../components/date-time-input/Component';
|
|
3
|
+
export declare type DateTimeInputMobileProps = Omit<DateTimeInputProps, 'view' | 'InputComponent'>;
|
|
4
|
+
export declare const DateTimeInputMobile: React.ForwardRefExoticComponent<DateTimeInputMobileProps & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -6,3 +6,4 @@ import { DateTimeInput } from '../components/date-time-input/Component.js';
|
|
|
6
6
|
const DateTimeInputMobile = forwardRef((props, ref) => (React.createElement(DateTimeInput, { InputComponent: InputMobile, Calendar: CalendarMobile, view: 'mobile', ...props, ref: ref })));
|
|
7
7
|
|
|
8
8
|
export { DateTimeInputMobile };
|
|
9
|
+
//# sourceMappingURL=Component.mobile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { CalendarMobile } from '@alfalab/core-components-calendar/mobile';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { InputProps } from '@alfalab/core-components-input';\nimport { InputMobile } from '@alfalab/core-components-input/mobile';\n\nimport { DateTimeInput, DateTimeInputProps } from '../components/date-time-input/Component';\n\nexport type DateTimeInputMobileProps = Omit<DateTimeInputProps, 'view' | 'InputComponent'>;\n\nexport const DateTimeInputMobile = forwardRef<HTMLInputElement, DateTimeInputMobileProps>(\n (props, ref) => (\n <DateTimeInput\n InputComponent={InputMobile}\n Calendar={CalendarMobile}\n view='mobile'\n {...props}\n ref={ref}\n />\n ),\n);\n"],"names":[],"mappings":";;;;;AAWa,MAAA,mBAAmB,GAAG,UAAU,CACzC,CAAC,KAAK,EAAE,GAAG,MACP,KAAA,CAAA,aAAA,CAAC,aAAa,EACV,EAAA,cAAc,EAAE,WAAW,EAC3B,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAC,QAAQ,EACT,GAAA,KAAK,EACT,GAAG,EAAE,GAAG,EACV,CAAA,CACL;;;;"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export {};
|
|
1
|
+
export * from './Component.mobile';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
declare const DATE_FORMAT = "dd.MM.yyyy";
|
|
2
|
-
declare const DATE_MASK: (string | RegExp)[];
|
|
3
|
-
declare const DATE_WITH_TIME_LENGTH: number;
|
|
4
|
-
declare const isCompleteDateInput: (input: string) => boolean;
|
|
5
|
-
declare const parseDateString: (value: string, dateFormat?: string) => Date;
|
|
6
|
-
declare const isValidTimeFormat: (value: string) => boolean;
|
|
7
|
-
declare const isValid: (inputValue: string) => boolean;
|
|
8
|
-
declare const format: (value: string) => string;
|
|
9
|
-
declare const parseTimestampToDate: (timestamp: number) => string;
|
|
10
|
-
declare const getDateWithoutTime: (value: string) => Date;
|
|
11
|
-
declare const getFullDateTime: (value: string) => Date;
|
|
12
|
-
declare const addTimeToDate: (value: string) => string;
|
|
13
|
-
export { DATE_FORMAT, DATE_MASK, DATE_WITH_TIME_LENGTH, isCompleteDateInput, parseDateString, isValidTimeFormat, isValid, format, parseTimestampToDate, getDateWithoutTime, getFullDateTime, addTimeToDate };
|
|
1
|
+
export declare const DATE_FORMAT = "dd.MM.yyyy";
|
|
2
|
+
export declare const DATE_MASK: (string | RegExp)[];
|
|
3
|
+
export declare const DATE_WITH_TIME_LENGTH: number;
|
|
4
|
+
export declare const isCompleteDateInput: (input: string) => boolean;
|
|
5
|
+
export declare const parseDateString: (value: string, dateFormat?: string) => Date;
|
|
6
|
+
export declare const isValidTimeFormat: (value: string) => boolean;
|
|
7
|
+
export declare const isValid: (inputValue: string) => boolean;
|
|
8
|
+
export declare const format: (value: string) => string;
|
|
9
|
+
export declare const parseTimestampToDate: (timestamp: number) => string;
|
|
10
|
+
export declare const getDateWithoutTime: (value: string) => Date;
|
|
11
|
+
export declare const getFullDateTime: (value: string) => Date;
|
|
12
|
+
export declare const addTimeToDate: (value: string) => string;
|
|
@@ -132,3 +132,4 @@ const addTimeToDate = (value) => {
|
|
|
132
132
|
};
|
|
133
133
|
|
|
134
134
|
export { DATE_FORMAT, DATE_MASK, DATE_WITH_TIME_LENGTH, addTimeToDate, format, getDateWithoutTime, getFullDateTime, isCompleteDateInput, isValid, isValidTimeFormat, parseDateString, parseTimestampToDate };
|
|
135
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sources":["../../src/utils/format.ts"],"sourcesContent":["/* eslint-disable no-useless-escape */\n\nimport dateFnsIsValid from 'date-fns/isValid';\nimport parse from 'date-fns/parse';\n\nexport const DATE_FORMAT = 'dd.MM.yyyy';\nexport const DATE_MASK = [\n /\\d/,\n /\\d/,\n '.',\n /\\d/,\n /\\d/,\n '.',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ',',\n ' ',\n /\\d/,\n /\\d/,\n ':',\n /\\d/,\n /\\d/,\n];\n\nexport const DATE_WITH_TIME_LENGTH = DATE_MASK.length;\nexport const isCompleteDateInput = (input: string) => input.length === DATE_WITH_TIME_LENGTH;\nexport const parseDateString = (value: string, dateFormat = DATE_FORMAT) =>\n parse(value, dateFormat, new Date());\nexport const isValidTimeFormat = (value: string): boolean => {\n const timeArr = value.split(':');\n const hours = timeArr[0];\n const mins = timeArr[1];\n\n if (hours.length !== 2 || Number(hours) > 23) {\n return false;\n }\n\n if (mins.length !== 2 || Number(mins) > 59) {\n return false;\n }\n\n return true;\n};\n\nexport const isValid = (inputValue: string) => {\n const inputValueArr = inputValue.split(', ');\n const date = inputValueArr[0];\n const time = inputValueArr[1];\n\n return (\n !inputValue ||\n (isCompleteDateInput(inputValue) &&\n dateFnsIsValid(parseDateString(date)) &&\n isValidTimeFormat(time))\n );\n};\n\nexport const format = (value: string): string =>\n value\n .replace(/^(\\d\\d)(\\d)$/, '$1.$2') // 121 => 12.1\n .replace(/^(\\d\\d)\\.(\\d\\d)(\\d)$/, '$1.$2.$3') // 12.122 => 12.12.2\n .replace(/^(\\d\\d)\\d\\.(.*)/, '$1.$2') // 123.12.2005 => 12.12.2005\n .replace(/^(\\d\\d\\.\\d\\d)\\d\\.(.*)/, '$1.$2') // 12.123.2005 => 12.12.2005\n .replace(/\\.$/, '') // 12. => 12\n .replace(/\\ $/, '') // 1 2 => 12\n .replace(/\\:$/, '') // 1:2 => 12\n .replace(/^(\\d\\d)(\\d.*)/, '$1.$2') // 1212 => 12.12\n .replace(/^(\\d\\d.\\d\\d)(\\d.*)/, '$1.$2') // 12.122 => 12.12.2\n .replace(/^(\\d\\d\\.\\d\\d)(\\d\\d\\d\\d)/, '$1.$2') // 12.122005 => 12.12.2005\n .replace(/^(\\d\\d)(\\d\\d\\.\\d\\d\\d\\d)/, '$1.$2') // 1212.2005 => 12.12.2005\n .replace(/^(\\d\\d.\\d\\d\\.\\d\\d\\d\\d),/, '$1') // 12.12.2005 => 12.12.2005\n .replace(/^(\\d\\d.\\d\\d\\.\\d\\d\\d\\d)(\\d)/, '$1, $2') // 12.12.20050 => 12.12.2005, 0\n .replace(/^(\\d\\d.\\d\\d\\.\\d\\d\\d\\d),(\\d.*)/, '$1, $2') // 12.12.2005,00:00 => 12.12.2005, 00:00\n .replace(/^(\\d\\d.\\d\\d\\.\\d\\d\\d\\d) (\\d.*)/, '$1, $2') // 12.12.2005 00:00 => 12.12.2005, 00:00\n .replace(/^(\\d\\d.\\d\\d\\.\\d\\d\\d\\d)(\\d.*)/, '$1, $2') // 12.12.200500:00=> 12.12.2005, 00:00\n .replace(/^(\\d\\d.\\d\\d\\.\\d\\d\\d\\d), (\\d\\d):/, '$1, $2') // 12.12.2005, 00: => 12.12.2005, 00\n .replace(/^(\\d\\d.\\d\\d\\.\\d\\d\\d\\d), (\\d\\d)(\\d)/, '$1, $2:$3') // 12.12.2005, 000 => 12.12.2005, 00:0\n .replace(/^(\\d\\.\\d\\d\\.\\d\\d\\d\\d)([0-9]*)/, '$1') // 1.12.2005123123 => 1.12.2005\n .replace(/^(\\d\\d\\.\\d\\.\\d\\d\\d\\d)([0-9]*)/, '$1') // 01.2.20055125125 => 01.2.2005\n .replace(/^(\\d)\\.(\\d\\d)([0-9]*)\\.(\\d\\d\\d\\d)/, '$1.$2.$4') // 1.123123.2005 => 1.12.2005\n .replace(/^(\\d\\.\\d\\.\\d\\d\\d\\d)([0-9]*)/, '$1') // 1.2.20055125125 => 1.2.2005\n .replace(/^(\\d\\d)\\.()\\.(\\d\\d\\d\\d)([0-9]*)/, '$1.$2.$3') // 01..2005123123 => 01..2005\n .replace(/^(\\d)\\.()\\.(\\d\\d\\d\\d)([0-9]*)/, '$1.$2.$3') // 1..2005123123 => 1..2005\n .replace(/^()\\.()\\.(\\d\\d\\d\\d)([0-9]*)/, '$1.$2.$3') // ..2005123123 => ..2005\n .replace(/^()\\.(\\d)\\.(\\d\\d\\d\\d)([0-9]*)/, '$1.$2.$3'); // .2.2005123123 => .2.2005\n\nexport const parseTimestampToDate = (timestamp: number): string => {\n const date = new Date(timestamp);\n const year = date.getFullYear();\n\n let month: number | string = date.getMonth() + 1;\n let day: number | string = date.getDate();\n\n if (month < 10) {\n month = `0${month}`;\n }\n if (day < 10) {\n day = `0${day}`;\n }\n\n return `${day}.${month}.${year}`;\n};\n\nexport const getDateWithoutTime = (value: string): Date => {\n const valueArr = value.split(', ');\n\n let day;\n let month;\n let year;\n\n if (valueArr[0]) {\n const date = valueArr[0].split('.');\n\n [day, month, year] = date;\n }\n\n const date = new Date();\n\n date.setFullYear(Number(year), Number(month) - 1, Number(day));\n date.setHours(0, 0, 0, 0);\n\n return date;\n};\n\nexport const getFullDateTime = (value: string): Date => {\n const valueArr = value.split(', ');\n\n let day;\n let month;\n let year;\n let hours;\n let mins;\n\n if (valueArr[0]) {\n const date = valueArr[0].split('.');\n\n [day, month, year] = date;\n }\n if (valueArr[1]) {\n const time = valueArr[1].split(':');\n\n hours = Number(time[0]);\n mins = Number(time[1]);\n }\n\n const fullDate = new Date();\n\n fullDate.setFullYear(Number(year), Number(month) - 1, Number(day));\n fullDate.setHours(Number(hours) || 0);\n fullDate.setMinutes(Number(mins) || 0);\n fullDate.setSeconds(0);\n fullDate.setMilliseconds(0);\n\n return fullDate;\n};\n\nexport const addTimeToDate = (value: string): string => {\n if (value.length === 10 && dateFnsIsValid(parseDateString(value))) {\n return `${value}, 00:00`;\n }\n\n return value;\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from './format';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alfalab/core-components-date-time-input",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0-snapshot-6a9d3fc",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "MIT",
|
|
@@ -16,19 +16,18 @@
|
|
|
16
16
|
"react-dom": "^16.9.0 || ^17.0.1 || ^18.0.0"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@alfalab/core-components-calendar": "
|
|
20
|
-
"@alfalab/core-components-input": "
|
|
21
|
-
"@alfalab/core-components-icon-button": "
|
|
22
|
-
"@alfalab/core-components-mq": "
|
|
23
|
-
"@alfalab/core-components-popover": "
|
|
19
|
+
"@alfalab/core-components-calendar": "8.0.0-snapshot-6a9d3fc",
|
|
20
|
+
"@alfalab/core-components-input": "16.0.0-snapshot-6a9d3fc",
|
|
21
|
+
"@alfalab/core-components-icon-button": "7.0.0-snapshot-6a9d3fc",
|
|
22
|
+
"@alfalab/core-components-mq": "5.0.0-snapshot-6a9d3fc",
|
|
23
|
+
"@alfalab/core-components-popover": "7.0.0-snapshot-6a9d3fc",
|
|
24
24
|
"@alfalab/hooks": "^1.13.1",
|
|
25
25
|
"@alfalab/icons-glyph": "^2.210.0",
|
|
26
26
|
"classnames": "^2.5.1",
|
|
27
27
|
"date-fns": "^2.16.1",
|
|
28
28
|
"react-merge-refs": "^1.1.0",
|
|
29
|
-
"tslib": "^2.4.0"
|
|
30
|
-
"@alfalab/core-components-shared": "^0.18.0"
|
|
29
|
+
"tslib": "^2.4.0"
|
|
31
30
|
},
|
|
32
|
-
"themesVersion": "
|
|
33
|
-
"varsVersion": "
|
|
31
|
+
"themesVersion": "14.0.0-snapshot-6a9d3fc",
|
|
32
|
+
"varsVersion": "10.0.0-snapshot-6a9d3fc"
|
|
34
33
|
}
|
package/utils/format.d.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
declare const DATE_FORMAT = "dd.MM.yyyy";
|
|
2
|
-
declare const DATE_MASK: (string | RegExp)[];
|
|
3
|
-
declare const DATE_WITH_TIME_LENGTH: number;
|
|
4
|
-
declare const isCompleteDateInput: (input: string) => boolean;
|
|
5
|
-
declare const parseDateString: (value: string, dateFormat?: string) => Date;
|
|
6
|
-
declare const isValidTimeFormat: (value: string) => boolean;
|
|
7
|
-
declare const isValid: (inputValue: string) => boolean;
|
|
8
|
-
declare const format: (value: string) => string;
|
|
9
|
-
declare const parseTimestampToDate: (timestamp: number) => string;
|
|
10
|
-
declare const getDateWithoutTime: (value: string) => Date;
|
|
11
|
-
declare const getFullDateTime: (value: string) => Date;
|
|
12
|
-
declare const addTimeToDate: (value: string) => string;
|
|
13
|
-
export { DATE_FORMAT, DATE_MASK, DATE_WITH_TIME_LENGTH, isCompleteDateInput, parseDateString, isValidTimeFormat, isValid, format, parseTimestampToDate, getDateWithoutTime, getFullDateTime, addTimeToDate };
|
|
1
|
+
export declare const DATE_FORMAT = "dd.MM.yyyy";
|
|
2
|
+
export declare const DATE_MASK: (string | RegExp)[];
|
|
3
|
+
export declare const DATE_WITH_TIME_LENGTH: number;
|
|
4
|
+
export declare const isCompleteDateInput: (input: string) => boolean;
|
|
5
|
+
export declare const parseDateString: (value: string, dateFormat?: string) => Date;
|
|
6
|
+
export declare const isValidTimeFormat: (value: string) => boolean;
|
|
7
|
+
export declare const isValid: (inputValue: string) => boolean;
|
|
8
|
+
export declare const format: (value: string) => string;
|
|
9
|
+
export declare const parseTimestampToDate: (timestamp: number) => string;
|
|
10
|
+
export declare const getDateWithoutTime: (value: string) => Date;
|
|
11
|
+
export declare const getFullDateTime: (value: string) => Date;
|
|
12
|
+
export declare const addTimeToDate: (value: string) => string;
|
package/utils/format.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sources":["../src/utils/format.ts"],"sourcesContent":["/* eslint-disable no-useless-escape */\n\nimport dateFnsIsValid from 'date-fns/isValid';\nimport parse from 'date-fns/parse';\n\nexport const DATE_FORMAT = 'dd.MM.yyyy';\nexport const DATE_MASK = [\n /\\d/,\n /\\d/,\n '.',\n /\\d/,\n /\\d/,\n '.',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ',',\n ' ',\n /\\d/,\n /\\d/,\n ':',\n /\\d/,\n /\\d/,\n];\n\nexport const DATE_WITH_TIME_LENGTH = DATE_MASK.length;\nexport const isCompleteDateInput = (input: string) => input.length === DATE_WITH_TIME_LENGTH;\nexport const parseDateString = (value: string, dateFormat = DATE_FORMAT) =>\n parse(value, dateFormat, new Date());\nexport const isValidTimeFormat = (value: string): boolean => {\n const timeArr = value.split(':');\n const hours = timeArr[0];\n const mins = timeArr[1];\n\n if (hours.length !== 2 || Number(hours) > 23) {\n return false;\n }\n\n if (mins.length !== 2 || Number(mins) > 59) {\n return false;\n }\n\n return true;\n};\n\nexport const isValid = (inputValue: string) => {\n const inputValueArr = inputValue.split(', ');\n const date = inputValueArr[0];\n const time = inputValueArr[1];\n\n return (\n !inputValue ||\n (isCompleteDateInput(inputValue) &&\n dateFnsIsValid(parseDateString(date)) &&\n isValidTimeFormat(time))\n );\n};\n\nexport const format = (value: string): string =>\n value\n .replace(/^(\\d\\d)(\\d)$/, '$1.$2') // 121 => 12.1\n .replace(/^(\\d\\d)\\.(\\d\\d)(\\d)$/, '$1.$2.$3') // 12.122 => 12.12.2\n .replace(/^(\\d\\d)\\d\\.(.*)/, '$1.$2') // 123.12.2005 => 12.12.2005\n .replace(/^(\\d\\d\\.\\d\\d)\\d\\.(.*)/, '$1.$2') // 12.123.2005 => 12.12.2005\n .replace(/\\.$/, '') // 12. => 12\n .replace(/\\ $/, '') // 1 2 => 12\n .replace(/\\:$/, '') // 1:2 => 12\n .replace(/^(\\d\\d)(\\d.*)/, '$1.$2') // 1212 => 12.12\n .replace(/^(\\d\\d.\\d\\d)(\\d.*)/, '$1.$2') // 12.122 => 12.12.2\n .replace(/^(\\d\\d\\.\\d\\d)(\\d\\d\\d\\d)/, '$1.$2') // 12.122005 => 12.12.2005\n .replace(/^(\\d\\d)(\\d\\d\\.\\d\\d\\d\\d)/, '$1.$2') // 1212.2005 => 12.12.2005\n .replace(/^(\\d\\d.\\d\\d\\.\\d\\d\\d\\d),/, '$1') // 12.12.2005 => 12.12.2005\n .replace(/^(\\d\\d.\\d\\d\\.\\d\\d\\d\\d)(\\d)/, '$1, $2') // 12.12.20050 => 12.12.2005, 0\n .replace(/^(\\d\\d.\\d\\d\\.\\d\\d\\d\\d),(\\d.*)/, '$1, $2') // 12.12.2005,00:00 => 12.12.2005, 00:00\n .replace(/^(\\d\\d.\\d\\d\\.\\d\\d\\d\\d) (\\d.*)/, '$1, $2') // 12.12.2005 00:00 => 12.12.2005, 00:00\n .replace(/^(\\d\\d.\\d\\d\\.\\d\\d\\d\\d)(\\d.*)/, '$1, $2') // 12.12.200500:00=> 12.12.2005, 00:00\n .replace(/^(\\d\\d.\\d\\d\\.\\d\\d\\d\\d), (\\d\\d):/, '$1, $2') // 12.12.2005, 00: => 12.12.2005, 00\n .replace(/^(\\d\\d.\\d\\d\\.\\d\\d\\d\\d), (\\d\\d)(\\d)/, '$1, $2:$3') // 12.12.2005, 000 => 12.12.2005, 00:0\n .replace(/^(\\d\\.\\d\\d\\.\\d\\d\\d\\d)([0-9]*)/, '$1') // 1.12.2005123123 => 1.12.2005\n .replace(/^(\\d\\d\\.\\d\\.\\d\\d\\d\\d)([0-9]*)/, '$1') // 01.2.20055125125 => 01.2.2005\n .replace(/^(\\d)\\.(\\d\\d)([0-9]*)\\.(\\d\\d\\d\\d)/, '$1.$2.$4') // 1.123123.2005 => 1.12.2005\n .replace(/^(\\d\\.\\d\\.\\d\\d\\d\\d)([0-9]*)/, '$1') // 1.2.20055125125 => 1.2.2005\n .replace(/^(\\d\\d)\\.()\\.(\\d\\d\\d\\d)([0-9]*)/, '$1.$2.$3') // 01..2005123123 => 01..2005\n .replace(/^(\\d)\\.()\\.(\\d\\d\\d\\d)([0-9]*)/, '$1.$2.$3') // 1..2005123123 => 1..2005\n .replace(/^()\\.()\\.(\\d\\d\\d\\d)([0-9]*)/, '$1.$2.$3') // ..2005123123 => ..2005\n .replace(/^()\\.(\\d)\\.(\\d\\d\\d\\d)([0-9]*)/, '$1.$2.$3'); // .2.2005123123 => .2.2005\n\nexport const parseTimestampToDate = (timestamp: number): string => {\n const date = new Date(timestamp);\n const year = date.getFullYear();\n\n let month: number | string = date.getMonth() + 1;\n let day: number | string = date.getDate();\n\n if (month < 10) {\n month = `0${month}`;\n }\n if (day < 10) {\n day = `0${day}`;\n }\n\n return `${day}.${month}.${year}`;\n};\n\nexport const getDateWithoutTime = (value: string): Date => {\n const valueArr = value.split(', ');\n\n let day;\n let month;\n let year;\n\n if (valueArr[0]) {\n const date = valueArr[0].split('.');\n\n [day, month, year] = date;\n }\n\n const date = new Date();\n\n date.setFullYear(Number(year), Number(month) - 1, Number(day));\n date.setHours(0, 0, 0, 0);\n\n return date;\n};\n\nexport const getFullDateTime = (value: string): Date => {\n const valueArr = value.split(', ');\n\n let day;\n let month;\n let year;\n let hours;\n let mins;\n\n if (valueArr[0]) {\n const date = valueArr[0].split('.');\n\n [day, month, year] = date;\n }\n if (valueArr[1]) {\n const time = valueArr[1].split(':');\n\n hours = Number(time[0]);\n mins = Number(time[1]);\n }\n\n const fullDate = new Date();\n\n fullDate.setFullYear(Number(year), Number(month) - 1, Number(day));\n fullDate.setHours(Number(hours) || 0);\n fullDate.setMinutes(Number(mins) || 0);\n fullDate.setSeconds(0);\n fullDate.setMilliseconds(0);\n\n return fullDate;\n};\n\nexport const addTimeToDate = (value: string): string => {\n if (value.length === 10 && dateFnsIsValid(parseDateString(value))) {\n return `${value}, 00:00`;\n }\n\n return value;\n};\n"],"names":["parse","dateFnsIsValid"],"mappings":";;;;;;;;;;;;AAAA;AAKO,IAAM,WAAW,GAAG;AACd,IAAA,SAAS,GAAG;IACrB,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,IAAI;;AAGK,IAAA,qBAAqB,GAAG,SAAS,CAAC;AACxC,IAAM,mBAAmB,GAAG,UAAC,KAAa,EAAA,EAAK,OAAA,KAAK,CAAC,MAAM,KAAK,qBAAqB,CAAA;AAC/E,IAAA,eAAe,GAAG,UAAC,KAAa,EAAE,UAAwB,EAAA;AAAxB,IAAA,IAAA,UAAA,KAAA,MAAA,EAAA,EAAA,UAAwB,GAAA,WAAA,CAAA;IACnE,OAAAA,sBAAK,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC;AAApC;AACG,IAAM,iBAAiB,GAAG,UAAC,KAAa,EAAA;IAC3C,IAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AAChC,IAAA,IAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC;AACxB,IAAA,IAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;AAEvB,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE;AAC1C,QAAA,OAAO,KAAK;AACf;AAED,IAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE;AACxC,QAAA,OAAO,KAAK;AACf;AAED,IAAA,OAAO,IAAI;AACf;AAEO,IAAM,OAAO,GAAG,UAAC,UAAkB,EAAA;IACtC,IAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;AAC5C,IAAA,IAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC;AAC7B,IAAA,IAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC;IAE7B,QACI,CAAC,UAAU;SACV,mBAAmB,CAAC,UAAU,CAAC;AAC5B,YAAAC,+BAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AACrC,YAAA,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAEpC;AAEO,IAAM,MAAM,GAAG,UAAC,KAAa,EAAA;AAChC,IAAA,OAAA;AACK,SAAA,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC;AAChC,SAAA,OAAO,CAAC,sBAAsB,EAAE,UAAU,CAAC;AAC3C,SAAA,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;AACnC,SAAA,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC;AACzC,SAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAClB,SAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAClB,SAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAClB,SAAA,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC;AACjC,SAAA,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;AACtC,SAAA,OAAO,CAAC,yBAAyB,EAAE,OAAO,CAAC;AAC3C,SAAA,OAAO,CAAC,yBAAyB,EAAE,OAAO,CAAC;AAC3C,SAAA,OAAO,CAAC,yBAAyB,EAAE,IAAI,CAAC;AACxC,SAAA,OAAO,CAAC,4BAA4B,EAAE,QAAQ,CAAC;AAC/C,SAAA,OAAO,CAAC,+BAA+B,EAAE,QAAQ,CAAC;AAClD,SAAA,OAAO,CAAC,+BAA+B,EAAE,QAAQ,CAAC;AAClD,SAAA,OAAO,CAAC,8BAA8B,EAAE,QAAQ,CAAC;AACjD,SAAA,OAAO,CAAC,iCAAiC,EAAE,QAAQ,CAAC;AACpD,SAAA,OAAO,CAAC,oCAAoC,EAAE,WAAW,CAAC;AAC1D,SAAA,OAAO,CAAC,+BAA+B,EAAE,IAAI,CAAC;AAC9C,SAAA,OAAO,CAAC,+BAA+B,EAAE,IAAI,CAAC;AAC9C,SAAA,OAAO,CAAC,mCAAmC,EAAE,UAAU,CAAC;AACxD,SAAA,OAAO,CAAC,6BAA6B,EAAE,IAAI,CAAC;AAC5C,SAAA,OAAO,CAAC,iCAAiC,EAAE,UAAU,CAAC;AACtD,SAAA,OAAO,CAAC,+BAA+B,EAAE,UAAU,CAAC;AACpD,SAAA,OAAO,CAAC,6BAA6B,EAAE,UAAU,CAAC;AAClD,SAAA,OAAO,CAAC,+BAA+B,EAAE,UAAU,CAAC;AA1BzD,EA0B0D;AAEvD,IAAM,oBAAoB,GAAG,UAAC,SAAiB,EAAA;AAClD,IAAA,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC;AAChC,IAAA,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE;IAE/B,IAAI,KAAK,GAAoB,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;AAChD,IAAA,IAAI,GAAG,GAAoB,IAAI,CAAC,OAAO,EAAE;IAEzC,IAAI,KAAK,GAAG,EAAE,EAAE;AACZ,QAAA,KAAK,GAAG,GAAA,CAAA,MAAA,CAAI,KAAK,CAAE;AACtB;IACD,IAAI,GAAG,GAAG,EAAE,EAAE;AACV,QAAA,GAAG,GAAG,GAAA,CAAA,MAAA,CAAI,GAAG,CAAE;AAClB;AAED,IAAA,OAAO,UAAG,GAAG,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,KAAK,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,IAAI,CAAE;AACpC;AAEO,IAAM,kBAAkB,GAAG,UAAC,KAAa,EAAA;IAC5C,IAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;AAElC,IAAA,IAAI,GAAG;AACP,IAAA,IAAI,KAAK;AACT,IAAA,IAAI,IAAI;AAER,IAAA,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;QACb,IAAM,MAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AAElC,QAAA,GAAG,GAAiB,MAAI,CAArB,CAAA,CAAA,EAAE,KAAK,GAAU,MAAI,CAAA,CAAA,CAAd,EAAE,IAAI,GAAI,MAAI,GAAR;AACpB;AAED,IAAA,IAAM,IAAI,GAAG,IAAI,IAAI,EAAE;IAEvB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9D,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAEzB,IAAA,OAAO,IAAI;AACf;AAEO,IAAM,eAAe,GAAG,UAAC,KAAa,EAAA;IACzC,IAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;AAElC,IAAA,IAAI,GAAG;AACP,IAAA,IAAI,KAAK;AACT,IAAA,IAAI,IAAI;AACR,IAAA,IAAI,KAAK;AACT,IAAA,IAAI,IAAI;AAER,IAAA,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;QACb,IAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AAElC,QAAA,GAAG,GAAiB,IAAI,CAArB,CAAA,CAAA,EAAE,KAAK,GAAU,IAAI,CAAA,CAAA,CAAd,EAAE,IAAI,GAAI,IAAI,GAAR;AACpB;AACD,IAAA,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;QACb,IAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QAEnC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACzB;AAED,IAAA,IAAM,QAAQ,GAAG,IAAI,IAAI,EAAE;IAE3B,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAClE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,IAAA,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AACtB,IAAA,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;AAE3B,IAAA,OAAO,QAAQ;AACnB;AAEO,IAAM,aAAa,GAAG,UAAC,KAAa,EAAA;AACvC,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,IAAIA,+BAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE;QAC/D,OAAO,EAAA,CAAA,MAAA,CAAG,KAAK,EAAA,SAAA,CAAS;AAC3B;AAED,IAAA,OAAO,KAAK;AAChB;;;;;;;;;;;;;;;"}
|
package/utils/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from './format';
|
package/utils/index.js
CHANGED
|
@@ -2,19 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var format = require('./format.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
exports.DATE_FORMAT =
|
|
10
|
-
exports.DATE_MASK =
|
|
11
|
-
exports.DATE_WITH_TIME_LENGTH =
|
|
12
|
-
exports.addTimeToDate =
|
|
13
|
-
exports.format =
|
|
14
|
-
exports.getDateWithoutTime =
|
|
15
|
-
exports.getFullDateTime =
|
|
16
|
-
exports.isCompleteDateInput =
|
|
17
|
-
exports.isValid =
|
|
18
|
-
exports.isValidTimeFormat =
|
|
19
|
-
exports.parseDateString =
|
|
20
|
-
exports.parseTimestampToDate =
|
|
9
|
+
exports.DATE_FORMAT = format.DATE_FORMAT;
|
|
10
|
+
exports.DATE_MASK = format.DATE_MASK;
|
|
11
|
+
exports.DATE_WITH_TIME_LENGTH = format.DATE_WITH_TIME_LENGTH;
|
|
12
|
+
exports.addTimeToDate = format.addTimeToDate;
|
|
13
|
+
exports.format = format.format;
|
|
14
|
+
exports.getDateWithoutTime = format.getDateWithoutTime;
|
|
15
|
+
exports.getFullDateTime = format.getFullDateTime;
|
|
16
|
+
exports.isCompleteDateInput = format.isCompleteDateInput;
|
|
17
|
+
exports.isValid = format.isValid;
|
|
18
|
+
exports.isValidTimeFormat = format.isValidTimeFormat;
|
|
19
|
+
exports.parseDateString = format.parseDateString;
|
|
20
|
+
exports.parseTimestampToDate = format.parseTimestampToDate;
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
|
package/desktop/package.json
DELETED
package/mobile/package.json
DELETED
package/src/desktop/package.json
DELETED
package/src/mobile/package.json
DELETED