@salutejs/plasma-new-hope 0.344.0-canary.2390.20283896115.0 → 0.344.0-canary.2390.20300340672.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/cjs/components/DateTimePicker/DateTimePicker.js +2 -0
- package/dist/css/cjs/components/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/css/cjs/components/Table/Table.js +2 -0
- package/dist/css/cjs/components/Table/Table.js.map +1 -1
- package/dist/css/cjs/components/Table/Table.tokens.js +2 -1
- package/dist/css/cjs/components/Table/Table.tokens.js.map +1 -1
- package/dist/css/cjs/components/TimePicker/TimePicker.js +3 -0
- package/dist/css/cjs/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/css/cjs/components/TimePickerGrid/TimePickerGrid.js +3 -0
- package/dist/css/cjs/components/TimePickerGrid/TimePickerGrid.js.map +1 -1
- package/dist/css/es/components/DateTimePicker/DateTimePicker.js +2 -0
- package/dist/css/es/components/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/css/es/components/Table/Table.js +2 -0
- package/dist/css/es/components/Table/Table.js.map +1 -1
- package/dist/css/es/components/Table/Table.tokens.js +2 -1
- package/dist/css/es/components/Table/Table.tokens.js.map +1 -1
- package/dist/css/es/components/TimePicker/TimePicker.js +3 -0
- package/dist/css/es/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/css/es/components/TimePickerGrid/TimePickerGrid.js +3 -0
- package/dist/css/es/components/TimePickerGrid/TimePickerGrid.js.map +1 -1
- package/dist/emotion/cjs/components/Table/Table.js +2 -0
- package/dist/emotion/cjs/components/Table/Table.tokens.js +2 -1
- package/dist/emotion/es/components/DateTimePicker/DateTimePicker.js +1 -0
- package/dist/emotion/es/components/Table/Table.js +2 -0
- package/dist/emotion/es/components/Table/Table.tokens.js +2 -1
- package/dist/emotion/es/examples/components/Combobox/Combobox.js +0 -7
- package/dist/styled-components/cjs/components/Table/Table.js +2 -0
- package/dist/styled-components/cjs/components/Table/Table.tokens.js +2 -1
- package/dist/styled-components/es/components/DateTimePicker/DateTimePicker.js +1 -0
- package/dist/styled-components/es/components/Table/Table.js +2 -0
- package/dist/styled-components/es/components/Table/Table.tokens.js +2 -1
- package/package.json +5 -5
- package/types/components/DateTimePicker/DateTimePicker.d.ts.map +1 -1
- package/types/components/Table/Table.d.ts.map +1 -1
- package/types/components/Table/Table.tokens.d.ts +1 -0
- package/types/components/Table/Table.tokens.d.ts.map +1 -1
- package/types/components/TimePicker/TimePicker.d.ts.map +1 -1
- package/types/components/TimePickerGrid/TimePickerGrid.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePickerGrid.js","sources":["../../../../../src/components/TimePickerGrid/TimePickerGrid.tsx"],"sourcesContent":["import React, { forwardRef, useRef, useState, useEffect, useCallback, useMemo, KeyboardEvent } from 'react';\nimport type { RootProps } from 'src/engines';\n\nimport { animateScrollTo, getColumnsFromFormat, parseTimeString, buildTimeString, isTimeDisabled } from './utils';\nimport { TimePickerGridChangeEvent, TimePickerGridProps } from './TimePickerGrid.types';\nimport { base, StyledTimePicker } from './TimePickerGrid.styles';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { renderTimeColumn } from './ui/TimeColumn/TimeColumn';\nimport { TimeColumnType, TimeItemKeyDownHandler } from './ui/TimeColumn/TimeColumn.types';\n\ninterface ActiveTime {\n hours: number | null;\n minutes: number | null;\n seconds: number | null;\n}\n\ntype CurrentColumn = 'hours' | 'minutes' | 'seconds' | null;\ninterface ScrollbarState {\n isVisible: boolean;\n thumbHeight: number;\n thumbPosition: number;\n isDragging: boolean;\n}\n\nexport const timePickerGridRoot = (\n Root: RootProps<HTMLDivElement, Omit<TimePickerGridProps, 'defaultValue' | 'onChange'>>,\n) =>\n forwardRef<HTMLDivElement, TimePickerGridProps>(\n (\n {\n value: outerValue,\n view,\n size,\n disabled = false,\n dropdownWidth,\n dropdownHeight,\n format = 'HH:mm',\n min,\n max,\n columnsQuantity,\n disabledValues,\n onChange,\n ...rest\n },\n ref,\n ) => {\n const actualFormat = format || (columnsQuantity === 3 ? 'HH:mm:ss' : 'HH:mm');\n const columnsConfig = useMemo(() => getColumnsFromFormat(actualFormat), [actualFormat]);\n\n const hoursColumnRef = useRef<HTMLDivElement>(null);\n const minutesColumnRef = useRef<HTMLDivElement>(null);\n const secondsColumnRef = useRef<HTMLDivElement>(null);\n const timeItemRefs = useRef<Record<string, HTMLDivElement | null>>({});\n\n const itemHeight = Object.values(timeItemRefs.current)[0]?.offsetHeight || 0;\n\n const hoursScrollbarRef = useRef<HTMLDivElement>(null);\n const minutesScrollbarRef = useRef<HTMLDivElement>(null);\n const secondsScrollbarRef = useRef<HTMLDivElement>(null);\n const hoursThumbRef = useRef<HTMLDivElement>(null);\n const minutesThumbRef = useRef<HTMLDivElement>(null);\n const secondsThumbRef = useRef<HTMLDivElement>(null);\n\n const hoursHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const minutesHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const secondsHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n const [innerTime, setInnerTime] = useState(outerValue || '');\n const [gap, setGap] = useState(0);\n\n const [hoursScrollbar, setHoursScrollbar] = useState<ScrollbarState>({\n isVisible: false,\n thumbHeight: 0,\n thumbPosition: 0,\n isDragging: false,\n });\n const [minutesScrollbar, setMinutesScrollbar] = useState<ScrollbarState>({\n isVisible: false,\n thumbHeight: 0,\n thumbPosition: 0,\n isDragging: false,\n });\n const [secondsScrollbar, setSecondsScrollbar] = useState<ScrollbarState>({\n isVisible: false,\n thumbHeight: 0,\n thumbPosition: 0,\n isDragging: false,\n });\n\n const viewValue = outerValue ?? innerTime;\n\n const getActiveTime = () => {\n if (viewValue && columnsConfig.length > 0) {\n const timeValues = parseTimeString(viewValue, actualFormat);\n return {\n hours: timeValues.hh,\n minutes: timeValues.mm,\n seconds: timeValues.ss,\n };\n }\n\n return {\n hours: null,\n minutes: null,\n seconds: null,\n };\n };\n\n const activeTime: ActiveTime = getActiveTime();\n\n const [currentColumn, setCurrentColumn] = useState<CurrentColumn>(null);\n\n const getDisabledValuesForColumn = useCallback(\n (columnType: 'hours' | 'minutes' | 'seconds') => {\n let disabledFromProps;\n if (columnType === 'hours') {\n disabledFromProps = disabledValues?.hour || [];\n } else if (columnType === 'minutes') {\n disabledFromProps = disabledValues?.minute || [];\n } else {\n disabledFromProps = disabledValues?.second || [];\n }\n\n const disabledFromMinMax: number[] = [];\n\n if (min || max) {\n const timeValues = parseTimeString(viewValue || '00:00:00', actualFormat);\n\n for (let i = 0; i < (columnType === 'hours' ? 24 : 60); i++) {\n const testValues = { ...timeValues };\n if (columnType === 'hours') {\n testValues.hh = i;\n } else if (columnType === 'minutes') {\n testValues.mm = i;\n } else {\n testValues.ss = i;\n }\n\n const completeTimeValues = getCompleteTimeValues(testValues, actualFormat);\n if (isTimeDisabled(completeTimeValues, min, max, format)) {\n disabledFromMinMax.push(i);\n }\n }\n }\n\n const normalizedDisabledFromProps = disabledFromProps.map((val) =>\n typeof val === 'string' ? parseInt(val, 10) : val,\n );\n\n return [...new Set([...normalizedDisabledFromProps, ...disabledFromMinMax])];\n },\n [disabledValues, min, max, viewValue, actualFormat],\n );\n\n const getCompleteTimeValues = useCallback((timeValues: any, format: string) => {\n const completeValues = { hh: 0, mm: 0, ss: 0 };\n\n if (format.includes('HH')) {\n completeValues.hh = timeValues.hh !== null ? timeValues.hh : 0;\n }\n if (format.includes('mm')) {\n completeValues.mm = timeValues.mm !== null ? timeValues.mm : 0;\n }\n if (format.includes('ss')) {\n completeValues.ss = timeValues.ss !== null ? timeValues.ss : 0;\n }\n\n return completeValues;\n }, []);\n\n const getNextAvailableValue = useCallback(\n (\n currentIndex: number,\n values: string[],\n disabledValuesForColumn: (string | number)[],\n direction: 'up' | 'down',\n ) => {\n let newIndex = currentIndex;\n let iterations = 0;\n const maxIterations = values.length;\n\n do {\n newIndex =\n direction === 'up'\n ? (newIndex - 1 + values.length) % values.length\n : (newIndex + 1) % values.length;\n iterations++;\n } while (\n iterations < maxIterations &&\n disabledValuesForColumn.includes(parseInt(values[newIndex], 10)) &&\n newIndex !== currentIndex\n );\n\n return iterations < maxIterations &&\n !disabledValuesForColumn.includes(parseInt(values[newIndex], 10))\n ? newIndex\n : currentIndex;\n },\n [],\n );\n\n const minScrollbarTrackHeight = 20;\n\n const calculateScrollbar = useCallback((columnRef: React.RefObject<HTMLDivElement>) => {\n if (!columnRef.current) return { thumbHeight: 0, thumbPosition: 0 };\n\n const { scrollTop, scrollHeight, clientHeight } = columnRef.current;\n const trackHeight = clientHeight;\n const thumbHeight = Math.max((trackHeight / scrollHeight) * trackHeight, minScrollbarTrackHeight);\n const maxScroll = scrollHeight - clientHeight;\n const thumbPosition = maxScroll > 0 ? (scrollTop / maxScroll) * (trackHeight - thumbHeight) : 0;\n\n return { thumbHeight, thumbPosition };\n }, []);\n\n const showScrollbarWithDelay = useCallback(\n (\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>,\n columnRef: React.RefObject<HTMLDivElement>,\n ) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n updateScrollbar(columnRef, setScrollbar, true);\n\n timeoutRef.current = (setTimeout(() => {\n setScrollbar((prev) => ({ ...prev, isVisible: false }));\n timeoutRef.current = null;\n }, 2000) as unknown) as NodeJS.Timeout;\n },\n [],\n );\n\n const updateScrollbar = useCallback(\n (\n columnRef: React.RefObject<HTMLDivElement>,\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n show = false,\n ) => {\n if (!columnRef.current) return;\n\n const { thumbHeight, thumbPosition } = calculateScrollbar(columnRef);\n setScrollbar((prev) => ({\n ...prev,\n thumbHeight,\n thumbPosition,\n isVisible: show || prev.isVisible,\n }));\n },\n [calculateScrollbar],\n );\n\n const handleColumnScroll = useCallback(\n (\n columnRef: React.RefObject<HTMLDivElement>,\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>,\n ) => {\n showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);\n },\n [showScrollbarWithDelay],\n );\n\n const createScrollbarDragHandler = useCallback(\n (\n columnRef: React.RefObject<HTMLDivElement>,\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>,\n ) => (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n const thumb = e.currentTarget as HTMLDivElement;\n const track = thumb.parentElement as HTMLDivElement;\n if (!columnRef.current || !track) return;\n\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n\n const startY = e.clientY;\n const startThumbPosition = parseFloat(thumb.style.top || '0');\n const trackRect = track.getBoundingClientRect();\n const trackHeight = trackRect.height;\n const thumbHeight = thumb.offsetHeight;\n\n const { scrollHeight, clientHeight } = columnRef.current;\n const maxScroll = scrollHeight - clientHeight;\n\n const handleMouseMove = (moveEvent: globalThis.MouseEvent) => {\n const deltaY = moveEvent.clientY - startY;\n const newThumbPosition = Math.max(\n 0,\n Math.min(trackHeight - thumbHeight, startThumbPosition + deltaY),\n );\n\n const scrollPercentage = newThumbPosition / (trackHeight - thumbHeight);\n const newScrollTop = scrollPercentage * maxScroll;\n\n if (columnRef.current) {\n columnRef.current.scrollTop = newScrollTop;\n }\n\n setScrollbar((prev) => ({\n ...prev,\n thumbPosition: newThumbPosition,\n isDragging: true,\n isVisible: true,\n }));\n };\n\n const handleMouseUp = () => {\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n\n setScrollbar((prev) => ({\n ...prev,\n isDragging: false,\n }));\n\n showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);\n };\n\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n },\n [showScrollbarWithDelay],\n );\n\n const handleContainerFocus = useCallback(() => {\n if (currentColumn === null && columnsConfig.length > 0) {\n const firstColumn = columnsConfig[0].type;\n setCurrentColumn((prev) => (prev !== currentColumn ? firstColumn : currentColumn));\n }\n }, [currentColumn, columnsConfig]);\n\n const handleTimeItemClick = (value: string, column: 'hours' | 'minutes' | 'seconds') => {\n const currentTimeValues = parseTimeString(viewValue, actualFormat);\n const newTimeValues = { ...currentTimeValues };\n\n switch (column) {\n case 'hours':\n newTimeValues.hh = parseInt(value, 10);\n break;\n case 'minutes':\n newTimeValues.mm = parseInt(value, 10);\n break;\n case 'seconds':\n newTimeValues.ss = parseInt(value, 10);\n break;\n default:\n }\n\n const getFirstAvailableValue = (columnType: 'hours' | 'minutes' | 'seconds'): number => {\n const disabledValuesForColumn = getDisabledValuesForColumn(columnType);\n const maxValue = columnType === 'hours' ? 23 : 59;\n\n for (let i = 0; i <= maxValue; i++) {\n if (!disabledValuesForColumn.includes(i)) {\n return i;\n }\n }\n return 0;\n };\n\n if (newTimeValues.hh === null && actualFormat.includes('HH')) {\n newTimeValues.hh = getFirstAvailableValue('hours');\n }\n if (newTimeValues.mm === null && actualFormat.includes('mm')) {\n newTimeValues.mm = getFirstAvailableValue('minutes');\n }\n if (newTimeValues.ss === null && actualFormat.includes('ss')) {\n newTimeValues.ss = getFirstAvailableValue('seconds');\n }\n\n const completeTimeValues = getCompleteTimeValues(newTimeValues, actualFormat);\n if (isTimeDisabled(completeTimeValues, min, max)) {\n return;\n }\n\n const newTimeString = buildTimeString(newTimeValues, actualFormat);\n setInnerTime(newTimeString);\n\n onChange?.({\n value: newTimeString,\n timeValues: {\n hour: newTimeValues.hh || undefined,\n minute: newTimeValues.mm || undefined,\n second: newTimeValues.ss || undefined,\n },\n } as TimePickerGridChangeEvent);\n };\n\n const handleTimeItemKeyDown: TimeItemKeyDownHandler = (\n event: KeyboardEvent<HTMLDivElement>,\n column: TimeColumnType,\n value: string,\n ) => {\n const disabledValuesForColumn = getDisabledValuesForColumn(column);\n const currentIndex = parseInt(value, 10);\n let newIndex: number | null = null;\n let newColumn = column;\n\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n newIndex = getNextAvailableValue(\n currentIndex,\n column === 'hours'\n ? Array.from({ length: 24 }, (_, i) => i.toString().padStart(2, '0'))\n : Array.from({ length: 60 }, (_, i) => i.toString().padStart(2, '0')),\n disabledValuesForColumn,\n 'up',\n );\n if (newIndex !== null) {\n const newValue = newIndex.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'ArrowDown':\n event.preventDefault();\n newIndex = getNextAvailableValue(\n currentIndex,\n column === 'hours'\n ? Array.from({ length: 24 }, (_, i) => i.toString().padStart(2, '0'))\n : Array.from({ length: 60 }, (_, i) => i.toString().padStart(2, '0')),\n disabledValuesForColumn,\n 'down',\n );\n if (newIndex !== null) {\n const newValue = newIndex.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'ArrowRight':\n event.preventDefault();\n if (column === 'hours') {\n newColumn = 'minutes';\n } else if (column === 'minutes' && actualFormat.includes('ss')) {\n newColumn = 'seconds';\n }\n if (newColumn !== column) {\n setCurrentColumn(newColumn);\n\n const newValue = (activeTime[column]?.toString() || '0').padStart(2, '0');\n const element = timeItemRefs.current[`${newColumn}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'ArrowLeft':\n event.preventDefault();\n if (column === 'minutes') {\n newColumn = 'hours';\n } else if (column === 'seconds') {\n newColumn = 'minutes';\n }\n if (newColumn !== column) {\n setCurrentColumn(newColumn);\n const newValue = (activeTime[column]?.toString() || '0').padStart(2, '0');\n const element = timeItemRefs.current[`${newColumn}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'Enter':\n case ' ':\n event.preventDefault();\n handleTimeItemClick(value, column);\n break;\n case 'Home':\n event.preventDefault();\n newIndex = 0;\n while (\n disabledValuesForColumn.includes(newIndex) &&\n newIndex < (column === 'hours' ? 24 : 60)\n ) {\n newIndex++;\n }\n if (newIndex < (column === 'hours' ? 24 : 60)) {\n const newValue = newIndex.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'End':\n event.preventDefault();\n newIndex = column === 'hours' ? 23 : 59;\n while (disabledValuesForColumn.includes(newIndex) && newIndex >= 0) {\n newIndex--;\n }\n if (newIndex >= 0) {\n const newValue = newIndex.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n default:\n break;\n }\n };\n\n useEffect(() => {\n if (currentColumn && currentColumn !== null) {\n const column = currentColumn;\n const value = activeTime[currentColumn]?.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${value}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n }, [currentColumn]);\n\n useEffect(() => {\n return () => {\n [hoursHideTimeoutRef, minutesHideTimeoutRef, secondsHideTimeoutRef].forEach((timeoutRef) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n });\n };\n }, []);\n\n useEffect(() => {\n if (hoursColumnRef.current) {\n const computedStyle = getComputedStyle(hoursColumnRef.current);\n const gapValue = parseFloat(computedStyle.gap || '0');\n setGap(gapValue);\n }\n }, [hoursColumnRef.current]);\n\n useEffect(() => {\n setTimeout(() => {\n updateScrollbar(hoursColumnRef, setHoursScrollbar);\n updateScrollbar(minutesColumnRef, setMinutesScrollbar);\n if (columnsQuantity === 3) {\n updateScrollbar(secondsColumnRef, setSecondsScrollbar);\n }\n }, 100);\n }, [columnsQuantity]);\n\n useEffect(() => {\n if (itemHeight === 0) return;\n\n const scrollToActiveItem = (columnRef: React.RefObject<HTMLDivElement>, index: number | null) => {\n if (columnRef.current && index !== null) {\n const scrollPosition = index * (itemHeight + gap);\n animateScrollTo(columnRef.current, scrollPosition);\n setTimeout(() => {\n updateScrollbar(columnRef, setHoursScrollbar);\n }, 300);\n }\n };\n\n scrollToActiveItem(hoursColumnRef, activeTime.hours);\n scrollToActiveItem(minutesColumnRef, activeTime.minutes);\n scrollToActiveItem(secondsColumnRef, activeTime.seconds);\n }, [activeTime.hours, activeTime.minutes, activeTime.seconds, itemHeight, gap]);\n\n useEffect(() => {\n const hoursColumn = hoursColumnRef.current;\n const minutesColumn = minutesColumnRef.current;\n const secondsColumn = secondsColumnRef.current;\n\n const handleHoursScroll = () =>\n handleColumnScroll(hoursColumnRef, setHoursScrollbar, hoursHideTimeoutRef);\n const handleMinutesScroll = () =>\n handleColumnScroll(minutesColumnRef, setMinutesScrollbar, minutesHideTimeoutRef);\n const handleSecondsScroll = () =>\n handleColumnScroll(secondsColumnRef, setSecondsScrollbar, secondsHideTimeoutRef);\n\n if (hoursColumn) {\n hoursColumn.addEventListener('scroll', handleHoursScroll);\n }\n if (minutesColumn) {\n minutesColumn.addEventListener('scroll', handleMinutesScroll);\n }\n if (secondsColumn) {\n secondsColumn.addEventListener('scroll', handleSecondsScroll);\n }\n\n return () => {\n if (hoursColumn) {\n hoursColumn.removeEventListener('scroll', handleHoursScroll);\n }\n if (minutesColumn) {\n minutesColumn.removeEventListener('scroll', handleMinutesScroll);\n }\n if (secondsColumn) {\n secondsColumn.removeEventListener('scroll', handleSecondsScroll);\n }\n };\n }, []);\n\n useEffect(() => {\n const hoursColumn = hoursColumnRef.current;\n const minutesColumn = minutesColumnRef.current;\n const secondsColumn = secondsColumnRef.current;\n\n const handleHoursMouseEnter = () =>\n showScrollbarWithDelay(setHoursScrollbar, hoursHideTimeoutRef, hoursColumnRef);\n const handleMinutesMouseEnter = () =>\n showScrollbarWithDelay(setMinutesScrollbar, minutesHideTimeoutRef, minutesColumnRef);\n const handleSecondsMouseEnter = () =>\n showScrollbarWithDelay(setSecondsScrollbar, secondsHideTimeoutRef, secondsColumnRef);\n\n if (hoursColumn) {\n hoursColumn.addEventListener('mouseenter', handleHoursMouseEnter);\n }\n if (minutesColumn) {\n minutesColumn.addEventListener('mouseenter', handleMinutesMouseEnter);\n }\n if (secondsColumn) {\n secondsColumn.addEventListener('mouseenter', handleSecondsMouseEnter);\n }\n\n return () => {\n if (hoursColumn) {\n hoursColumn.removeEventListener('mouseenter', handleHoursMouseEnter);\n }\n if (minutesColumn) {\n minutesColumn.removeEventListener('mouseenter', handleMinutesMouseEnter);\n }\n if (secondsColumn) {\n secondsColumn.removeEventListener('mouseenter', handleSecondsMouseEnter);\n }\n };\n }, []);\n\n return (\n <Root ref={ref} view={view} size={size} disabled={disabled} onFocus={handleContainerFocus} {...rest}>\n <StyledTimePicker width={dropdownWidth} tabIndex={-1}>\n {columnsConfig.map((columnConfig) => {\n const { type, values } = columnConfig;\n\n let columnRef;\n let scrollbarState;\n let setScrollbar;\n let scrollbarRef;\n let thumbRef;\n let timeoutRef;\n\n switch (type) {\n case 'hours':\n columnRef = hoursColumnRef;\n scrollbarState = hoursScrollbar;\n setScrollbar = setHoursScrollbar;\n scrollbarRef = hoursScrollbarRef;\n thumbRef = hoursThumbRef;\n timeoutRef = hoursHideTimeoutRef;\n break;\n case 'minutes':\n columnRef = minutesColumnRef;\n scrollbarState = minutesScrollbar;\n setScrollbar = setMinutesScrollbar;\n scrollbarRef = minutesScrollbarRef;\n thumbRef = minutesThumbRef;\n timeoutRef = minutesHideTimeoutRef;\n break;\n case 'seconds':\n columnRef = secondsColumnRef;\n scrollbarState = secondsScrollbar;\n setScrollbar = setSecondsScrollbar;\n scrollbarRef = secondsScrollbarRef;\n thumbRef = secondsThumbRef;\n timeoutRef = secondsHideTimeoutRef;\n break;\n default:\n return null;\n }\n\n return renderTimeColumn({\n values,\n disabledValues: getDisabledValuesForColumn(type),\n dropdownHeight,\n column: type,\n activeTime,\n currentColumn,\n handleTimeItemClick,\n handleTimeItemKeyDown,\n createScrollbarDragHandler,\n setScrollbar,\n columnRef,\n scrollbarState,\n scrollbarRef,\n thumbRef,\n timeoutRef,\n timeItemRefs,\n });\n })}\n </StyledTimePicker>\n </Root>\n );\n },\n );\n\nexport const timePickerGridConfig = {\n name: 'TimePickerGrid',\n tag: 'div',\n layout: timePickerGridRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["timePickerGridRoot","Root","forwardRef","_ref","ref","_Object$values$","outerValue","value","view","size","_ref$disabled","disabled","dropdownWidth","dropdownHeight","_ref$format","format","min","max","columnsQuantity","disabledValues","onChange","rest","_objectWithoutProperties","_excluded","actualFormat","columnsConfig","useMemo","getColumnsFromFormat","hoursColumnRef","useRef","minutesColumnRef","secondsColumnRef","timeItemRefs","itemHeight","Object","values","current","offsetHeight","hoursScrollbarRef","minutesScrollbarRef","secondsScrollbarRef","hoursThumbRef","minutesThumbRef","secondsThumbRef","hoursHideTimeoutRef","minutesHideTimeoutRef","secondsHideTimeoutRef","_useState","useState","_useState2","_slicedToArray","innerTime","setInnerTime","_useState3","_useState4","gap","setGap","_useState5","isVisible","thumbHeight","thumbPosition","isDragging","_useState6","hoursScrollbar","setHoursScrollbar","_useState7","_useState8","minutesScrollbar","setMinutesScrollbar","_useState9","_useState10","secondsScrollbar","setSecondsScrollbar","viewValue","getActiveTime","length","timeValues","parseTimeString","hours","hh","minutes","mm","seconds","ss","activeTime","_useState11","_useState12","currentColumn","setCurrentColumn","getDisabledValuesForColumn","useCallback","columnType","disabledFromProps","hour","minute","second","disabledFromMinMax","i","testValues","_objectSpread","completeTimeValues","getCompleteTimeValues","isTimeDisabled","push","normalizedDisabledFromProps","map","val","parseInt","_toConsumableArray","Set","concat","completeValues","includes","getNextAvailableValue","currentIndex","disabledValuesForColumn","direction","newIndex","iterations","maxIterations","minScrollbarTrackHeight","calculateScrollbar","columnRef","_columnRef$current","scrollTop","scrollHeight","clientHeight","trackHeight","Math","maxScroll","showScrollbarWithDelay","setScrollbar","timeoutRef","clearTimeout","updateScrollbar","setTimeout","prev","show","arguments","undefined","_calculateScrollbar","handleColumnScroll","createScrollbarDragHandler","e","preventDefault","thumb","currentTarget","track","parentElement","startY","clientY","startThumbPosition","parseFloat","style","top","trackRect","getBoundingClientRect","height","_columnRef$current2","handleMouseMove","moveEvent","deltaY","newThumbPosition","scrollPercentage","newScrollTop","handleMouseUp","document","removeEventListener","addEventListener","handleContainerFocus","firstColumn","type","handleTimeItemClick","column","currentTimeValues","newTimeValues","getFirstAvailableValue","maxValue","newTimeString","buildTimeString","handleTimeItemKeyDown","event","newColumn","key","Array","from","_","toString","padStart","newValue","element","focus","_activeTime$column","_activeTime$column2","useEffect","_activeTime$currentCo","forEach","computedStyle","getComputedStyle","gapValue","scrollToActiveItem","index","scrollPosition","animateScrollTo","hoursColumn","minutesColumn","secondsColumn","handleHoursScroll","handleMinutesScroll","handleSecondsScroll","handleHoursMouseEnter","handleMinutesMouseEnter","handleSecondsMouseEnter","React","createElement","_extends","onFocus","StyledTimePicker","width","tabIndex","columnConfig","scrollbarState","scrollbarRef","thumbRef","renderTimeColumn","timePickerGridConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimePickerGrid.js","sources":["../../../../../src/components/TimePickerGrid/TimePickerGrid.tsx"],"sourcesContent":["import React, { forwardRef, useRef, useState, useEffect, useCallback, useMemo, KeyboardEvent } from 'react';\nimport type { RootProps } from 'src/engines';\n\nimport { animateScrollTo, getColumnsFromFormat, parseTimeString, buildTimeString, isTimeDisabled } from './utils';\nimport { TimePickerGridChangeEvent, TimePickerGridProps } from './TimePickerGrid.types';\nimport { base, StyledTimePicker } from './TimePickerGrid.styles';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { renderTimeColumn } from './ui/TimeColumn/TimeColumn';\nimport { TimeColumnType, TimeItemKeyDownHandler } from './ui/TimeColumn/TimeColumn.types';\n\n// changes to start tests\n\ninterface ActiveTime {\n hours: number | null;\n minutes: number | null;\n seconds: number | null;\n}\n\ntype CurrentColumn = 'hours' | 'minutes' | 'seconds' | null;\ninterface ScrollbarState {\n isVisible: boolean;\n thumbHeight: number;\n thumbPosition: number;\n isDragging: boolean;\n}\n\nexport const timePickerGridRoot = (\n Root: RootProps<HTMLDivElement, Omit<TimePickerGridProps, 'defaultValue' | 'onChange'>>,\n) =>\n forwardRef<HTMLDivElement, TimePickerGridProps>(\n (\n {\n value: outerValue,\n view,\n size,\n disabled = false,\n dropdownWidth,\n dropdownHeight,\n format = 'HH:mm',\n min,\n max,\n columnsQuantity,\n disabledValues,\n onChange,\n ...rest\n },\n ref,\n ) => {\n const actualFormat = format || (columnsQuantity === 3 ? 'HH:mm:ss' : 'HH:mm');\n const columnsConfig = useMemo(() => getColumnsFromFormat(actualFormat), [actualFormat]);\n\n const hoursColumnRef = useRef<HTMLDivElement>(null);\n const minutesColumnRef = useRef<HTMLDivElement>(null);\n const secondsColumnRef = useRef<HTMLDivElement>(null);\n const timeItemRefs = useRef<Record<string, HTMLDivElement | null>>({});\n\n const itemHeight = Object.values(timeItemRefs.current)[0]?.offsetHeight || 0;\n\n const hoursScrollbarRef = useRef<HTMLDivElement>(null);\n const minutesScrollbarRef = useRef<HTMLDivElement>(null);\n const secondsScrollbarRef = useRef<HTMLDivElement>(null);\n const hoursThumbRef = useRef<HTMLDivElement>(null);\n const minutesThumbRef = useRef<HTMLDivElement>(null);\n const secondsThumbRef = useRef<HTMLDivElement>(null);\n\n const hoursHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const minutesHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const secondsHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n const [innerTime, setInnerTime] = useState(outerValue || '');\n const [gap, setGap] = useState(0);\n\n const [hoursScrollbar, setHoursScrollbar] = useState<ScrollbarState>({\n isVisible: false,\n thumbHeight: 0,\n thumbPosition: 0,\n isDragging: false,\n });\n const [minutesScrollbar, setMinutesScrollbar] = useState<ScrollbarState>({\n isVisible: false,\n thumbHeight: 0,\n thumbPosition: 0,\n isDragging: false,\n });\n const [secondsScrollbar, setSecondsScrollbar] = useState<ScrollbarState>({\n isVisible: false,\n thumbHeight: 0,\n thumbPosition: 0,\n isDragging: false,\n });\n\n const viewValue = outerValue ?? innerTime;\n\n const getActiveTime = () => {\n if (viewValue && columnsConfig.length > 0) {\n const timeValues = parseTimeString(viewValue, actualFormat);\n return {\n hours: timeValues.hh,\n minutes: timeValues.mm,\n seconds: timeValues.ss,\n };\n }\n\n return {\n hours: null,\n minutes: null,\n seconds: null,\n };\n };\n\n const activeTime: ActiveTime = getActiveTime();\n\n const [currentColumn, setCurrentColumn] = useState<CurrentColumn>(null);\n\n const getDisabledValuesForColumn = useCallback(\n (columnType: 'hours' | 'minutes' | 'seconds') => {\n let disabledFromProps;\n if (columnType === 'hours') {\n disabledFromProps = disabledValues?.hour || [];\n } else if (columnType === 'minutes') {\n disabledFromProps = disabledValues?.minute || [];\n } else {\n disabledFromProps = disabledValues?.second || [];\n }\n\n const disabledFromMinMax: number[] = [];\n\n if (min || max) {\n const timeValues = parseTimeString(viewValue || '00:00:00', actualFormat);\n\n for (let i = 0; i < (columnType === 'hours' ? 24 : 60); i++) {\n const testValues = { ...timeValues };\n if (columnType === 'hours') {\n testValues.hh = i;\n } else if (columnType === 'minutes') {\n testValues.mm = i;\n } else {\n testValues.ss = i;\n }\n\n const completeTimeValues = getCompleteTimeValues(testValues, actualFormat);\n if (isTimeDisabled(completeTimeValues, min, max, format)) {\n disabledFromMinMax.push(i);\n }\n }\n }\n\n const normalizedDisabledFromProps = disabledFromProps.map((val) =>\n typeof val === 'string' ? parseInt(val, 10) : val,\n );\n\n return [...new Set([...normalizedDisabledFromProps, ...disabledFromMinMax])];\n },\n [disabledValues, min, max, viewValue, actualFormat],\n );\n\n const getCompleteTimeValues = useCallback((timeValues: any, format: string) => {\n const completeValues = { hh: 0, mm: 0, ss: 0 };\n\n if (format.includes('HH')) {\n completeValues.hh = timeValues.hh !== null ? timeValues.hh : 0;\n }\n if (format.includes('mm')) {\n completeValues.mm = timeValues.mm !== null ? timeValues.mm : 0;\n }\n if (format.includes('ss')) {\n completeValues.ss = timeValues.ss !== null ? timeValues.ss : 0;\n }\n\n return completeValues;\n }, []);\n\n const getNextAvailableValue = useCallback(\n (\n currentIndex: number,\n values: string[],\n disabledValuesForColumn: (string | number)[],\n direction: 'up' | 'down',\n ) => {\n let newIndex = currentIndex;\n let iterations = 0;\n const maxIterations = values.length;\n\n do {\n newIndex =\n direction === 'up'\n ? (newIndex - 1 + values.length) % values.length\n : (newIndex + 1) % values.length;\n iterations++;\n } while (\n iterations < maxIterations &&\n disabledValuesForColumn.includes(parseInt(values[newIndex], 10)) &&\n newIndex !== currentIndex\n );\n\n return iterations < maxIterations &&\n !disabledValuesForColumn.includes(parseInt(values[newIndex], 10))\n ? newIndex\n : currentIndex;\n },\n [],\n );\n\n const minScrollbarTrackHeight = 20;\n\n const calculateScrollbar = useCallback((columnRef: React.RefObject<HTMLDivElement>) => {\n if (!columnRef.current) return { thumbHeight: 0, thumbPosition: 0 };\n\n const { scrollTop, scrollHeight, clientHeight } = columnRef.current;\n const trackHeight = clientHeight;\n const thumbHeight = Math.max((trackHeight / scrollHeight) * trackHeight, minScrollbarTrackHeight);\n const maxScroll = scrollHeight - clientHeight;\n const thumbPosition = maxScroll > 0 ? (scrollTop / maxScroll) * (trackHeight - thumbHeight) : 0;\n\n return { thumbHeight, thumbPosition };\n }, []);\n\n const showScrollbarWithDelay = useCallback(\n (\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>,\n columnRef: React.RefObject<HTMLDivElement>,\n ) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n updateScrollbar(columnRef, setScrollbar, true);\n\n timeoutRef.current = (setTimeout(() => {\n setScrollbar((prev) => ({ ...prev, isVisible: false }));\n timeoutRef.current = null;\n }, 2000) as unknown) as NodeJS.Timeout;\n },\n [],\n );\n\n const updateScrollbar = useCallback(\n (\n columnRef: React.RefObject<HTMLDivElement>,\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n show = false,\n ) => {\n if (!columnRef.current) return;\n\n const { thumbHeight, thumbPosition } = calculateScrollbar(columnRef);\n setScrollbar((prev) => ({\n ...prev,\n thumbHeight,\n thumbPosition,\n isVisible: show || prev.isVisible,\n }));\n },\n [calculateScrollbar],\n );\n\n const handleColumnScroll = useCallback(\n (\n columnRef: React.RefObject<HTMLDivElement>,\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>,\n ) => {\n showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);\n },\n [showScrollbarWithDelay],\n );\n\n const createScrollbarDragHandler = useCallback(\n (\n columnRef: React.RefObject<HTMLDivElement>,\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>,\n ) => (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n const thumb = e.currentTarget as HTMLDivElement;\n const track = thumb.parentElement as HTMLDivElement;\n if (!columnRef.current || !track) return;\n\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n\n const startY = e.clientY;\n const startThumbPosition = parseFloat(thumb.style.top || '0');\n const trackRect = track.getBoundingClientRect();\n const trackHeight = trackRect.height;\n const thumbHeight = thumb.offsetHeight;\n\n const { scrollHeight, clientHeight } = columnRef.current;\n const maxScroll = scrollHeight - clientHeight;\n\n const handleMouseMove = (moveEvent: globalThis.MouseEvent) => {\n const deltaY = moveEvent.clientY - startY;\n const newThumbPosition = Math.max(\n 0,\n Math.min(trackHeight - thumbHeight, startThumbPosition + deltaY),\n );\n\n const scrollPercentage = newThumbPosition / (trackHeight - thumbHeight);\n const newScrollTop = scrollPercentage * maxScroll;\n\n if (columnRef.current) {\n columnRef.current.scrollTop = newScrollTop;\n }\n\n setScrollbar((prev) => ({\n ...prev,\n thumbPosition: newThumbPosition,\n isDragging: true,\n isVisible: true,\n }));\n };\n\n const handleMouseUp = () => {\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n\n setScrollbar((prev) => ({\n ...prev,\n isDragging: false,\n }));\n\n showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);\n };\n\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n },\n [showScrollbarWithDelay],\n );\n\n const handleContainerFocus = useCallback(() => {\n if (currentColumn === null && columnsConfig.length > 0) {\n const firstColumn = columnsConfig[0].type;\n setCurrentColumn((prev) => (prev !== currentColumn ? firstColumn : currentColumn));\n }\n }, [currentColumn, columnsConfig]);\n\n const handleTimeItemClick = (value: string, column: 'hours' | 'minutes' | 'seconds') => {\n const currentTimeValues = parseTimeString(viewValue, actualFormat);\n const newTimeValues = { ...currentTimeValues };\n\n switch (column) {\n case 'hours':\n newTimeValues.hh = parseInt(value, 10);\n break;\n case 'minutes':\n newTimeValues.mm = parseInt(value, 10);\n break;\n case 'seconds':\n newTimeValues.ss = parseInt(value, 10);\n break;\n default:\n }\n\n const getFirstAvailableValue = (columnType: 'hours' | 'minutes' | 'seconds'): number => {\n const disabledValuesForColumn = getDisabledValuesForColumn(columnType);\n const maxValue = columnType === 'hours' ? 23 : 59;\n\n for (let i = 0; i <= maxValue; i++) {\n if (!disabledValuesForColumn.includes(i)) {\n return i;\n }\n }\n return 0;\n };\n\n if (newTimeValues.hh === null && actualFormat.includes('HH')) {\n newTimeValues.hh = getFirstAvailableValue('hours');\n }\n if (newTimeValues.mm === null && actualFormat.includes('mm')) {\n newTimeValues.mm = getFirstAvailableValue('minutes');\n }\n if (newTimeValues.ss === null && actualFormat.includes('ss')) {\n newTimeValues.ss = getFirstAvailableValue('seconds');\n }\n\n const completeTimeValues = getCompleteTimeValues(newTimeValues, actualFormat);\n if (isTimeDisabled(completeTimeValues, min, max)) {\n return;\n }\n\n const newTimeString = buildTimeString(newTimeValues, actualFormat);\n setInnerTime(newTimeString);\n\n onChange?.({\n value: newTimeString,\n timeValues: {\n hour: newTimeValues.hh || undefined,\n minute: newTimeValues.mm || undefined,\n second: newTimeValues.ss || undefined,\n },\n } as TimePickerGridChangeEvent);\n };\n\n const handleTimeItemKeyDown: TimeItemKeyDownHandler = (\n event: KeyboardEvent<HTMLDivElement>,\n column: TimeColumnType,\n value: string,\n ) => {\n const disabledValuesForColumn = getDisabledValuesForColumn(column);\n const currentIndex = parseInt(value, 10);\n let newIndex: number | null = null;\n let newColumn = column;\n\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n newIndex = getNextAvailableValue(\n currentIndex,\n column === 'hours'\n ? Array.from({ length: 24 }, (_, i) => i.toString().padStart(2, '0'))\n : Array.from({ length: 60 }, (_, i) => i.toString().padStart(2, '0')),\n disabledValuesForColumn,\n 'up',\n );\n if (newIndex !== null) {\n const newValue = newIndex.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'ArrowDown':\n event.preventDefault();\n newIndex = getNextAvailableValue(\n currentIndex,\n column === 'hours'\n ? Array.from({ length: 24 }, (_, i) => i.toString().padStart(2, '0'))\n : Array.from({ length: 60 }, (_, i) => i.toString().padStart(2, '0')),\n disabledValuesForColumn,\n 'down',\n );\n if (newIndex !== null) {\n const newValue = newIndex.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'ArrowRight':\n event.preventDefault();\n if (column === 'hours') {\n newColumn = 'minutes';\n } else if (column === 'minutes' && actualFormat.includes('ss')) {\n newColumn = 'seconds';\n }\n if (newColumn !== column) {\n setCurrentColumn(newColumn);\n\n const newValue = (activeTime[column]?.toString() || '0').padStart(2, '0');\n const element = timeItemRefs.current[`${newColumn}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'ArrowLeft':\n event.preventDefault();\n if (column === 'minutes') {\n newColumn = 'hours';\n } else if (column === 'seconds') {\n newColumn = 'minutes';\n }\n if (newColumn !== column) {\n setCurrentColumn(newColumn);\n const newValue = (activeTime[column]?.toString() || '0').padStart(2, '0');\n const element = timeItemRefs.current[`${newColumn}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'Enter':\n case ' ':\n event.preventDefault();\n handleTimeItemClick(value, column);\n break;\n case 'Home':\n event.preventDefault();\n newIndex = 0;\n while (\n disabledValuesForColumn.includes(newIndex) &&\n newIndex < (column === 'hours' ? 24 : 60)\n ) {\n newIndex++;\n }\n if (newIndex < (column === 'hours' ? 24 : 60)) {\n const newValue = newIndex.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'End':\n event.preventDefault();\n newIndex = column === 'hours' ? 23 : 59;\n while (disabledValuesForColumn.includes(newIndex) && newIndex >= 0) {\n newIndex--;\n }\n if (newIndex >= 0) {\n const newValue = newIndex.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n default:\n break;\n }\n };\n\n useEffect(() => {\n if (currentColumn && currentColumn !== null) {\n const column = currentColumn;\n const value = activeTime[currentColumn]?.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${value}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n }, [currentColumn]);\n\n useEffect(() => {\n return () => {\n [hoursHideTimeoutRef, minutesHideTimeoutRef, secondsHideTimeoutRef].forEach((timeoutRef) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n });\n };\n }, []);\n\n useEffect(() => {\n if (hoursColumnRef.current) {\n const computedStyle = getComputedStyle(hoursColumnRef.current);\n const gapValue = parseFloat(computedStyle.gap || '0');\n setGap(gapValue);\n }\n }, [hoursColumnRef.current]);\n\n useEffect(() => {\n setTimeout(() => {\n updateScrollbar(hoursColumnRef, setHoursScrollbar);\n updateScrollbar(minutesColumnRef, setMinutesScrollbar);\n if (columnsQuantity === 3) {\n updateScrollbar(secondsColumnRef, setSecondsScrollbar);\n }\n }, 100);\n }, [columnsQuantity]);\n\n useEffect(() => {\n if (itemHeight === 0) return;\n\n const scrollToActiveItem = (columnRef: React.RefObject<HTMLDivElement>, index: number | null) => {\n if (columnRef.current && index !== null) {\n const scrollPosition = index * (itemHeight + gap);\n animateScrollTo(columnRef.current, scrollPosition);\n setTimeout(() => {\n updateScrollbar(columnRef, setHoursScrollbar);\n }, 300);\n }\n };\n\n scrollToActiveItem(hoursColumnRef, activeTime.hours);\n scrollToActiveItem(minutesColumnRef, activeTime.minutes);\n scrollToActiveItem(secondsColumnRef, activeTime.seconds);\n }, [activeTime.hours, activeTime.minutes, activeTime.seconds, itemHeight, gap]);\n\n useEffect(() => {\n const hoursColumn = hoursColumnRef.current;\n const minutesColumn = minutesColumnRef.current;\n const secondsColumn = secondsColumnRef.current;\n\n const handleHoursScroll = () =>\n handleColumnScroll(hoursColumnRef, setHoursScrollbar, hoursHideTimeoutRef);\n const handleMinutesScroll = () =>\n handleColumnScroll(minutesColumnRef, setMinutesScrollbar, minutesHideTimeoutRef);\n const handleSecondsScroll = () =>\n handleColumnScroll(secondsColumnRef, setSecondsScrollbar, secondsHideTimeoutRef);\n\n if (hoursColumn) {\n hoursColumn.addEventListener('scroll', handleHoursScroll);\n }\n if (minutesColumn) {\n minutesColumn.addEventListener('scroll', handleMinutesScroll);\n }\n if (secondsColumn) {\n secondsColumn.addEventListener('scroll', handleSecondsScroll);\n }\n\n return () => {\n if (hoursColumn) {\n hoursColumn.removeEventListener('scroll', handleHoursScroll);\n }\n if (minutesColumn) {\n minutesColumn.removeEventListener('scroll', handleMinutesScroll);\n }\n if (secondsColumn) {\n secondsColumn.removeEventListener('scroll', handleSecondsScroll);\n }\n };\n }, []);\n\n useEffect(() => {\n const hoursColumn = hoursColumnRef.current;\n const minutesColumn = minutesColumnRef.current;\n const secondsColumn = secondsColumnRef.current;\n\n const handleHoursMouseEnter = () =>\n showScrollbarWithDelay(setHoursScrollbar, hoursHideTimeoutRef, hoursColumnRef);\n const handleMinutesMouseEnter = () =>\n showScrollbarWithDelay(setMinutesScrollbar, minutesHideTimeoutRef, minutesColumnRef);\n const handleSecondsMouseEnter = () =>\n showScrollbarWithDelay(setSecondsScrollbar, secondsHideTimeoutRef, secondsColumnRef);\n\n if (hoursColumn) {\n hoursColumn.addEventListener('mouseenter', handleHoursMouseEnter);\n }\n if (minutesColumn) {\n minutesColumn.addEventListener('mouseenter', handleMinutesMouseEnter);\n }\n if (secondsColumn) {\n secondsColumn.addEventListener('mouseenter', handleSecondsMouseEnter);\n }\n\n return () => {\n if (hoursColumn) {\n hoursColumn.removeEventListener('mouseenter', handleHoursMouseEnter);\n }\n if (minutesColumn) {\n minutesColumn.removeEventListener('mouseenter', handleMinutesMouseEnter);\n }\n if (secondsColumn) {\n secondsColumn.removeEventListener('mouseenter', handleSecondsMouseEnter);\n }\n };\n }, []);\n\n return (\n <Root ref={ref} view={view} size={size} disabled={disabled} onFocus={handleContainerFocus} {...rest}>\n <StyledTimePicker width={dropdownWidth} tabIndex={-1}>\n {columnsConfig.map((columnConfig) => {\n const { type, values } = columnConfig;\n\n let columnRef;\n let scrollbarState;\n let setScrollbar;\n let scrollbarRef;\n let thumbRef;\n let timeoutRef;\n\n switch (type) {\n case 'hours':\n columnRef = hoursColumnRef;\n scrollbarState = hoursScrollbar;\n setScrollbar = setHoursScrollbar;\n scrollbarRef = hoursScrollbarRef;\n thumbRef = hoursThumbRef;\n timeoutRef = hoursHideTimeoutRef;\n break;\n case 'minutes':\n columnRef = minutesColumnRef;\n scrollbarState = minutesScrollbar;\n setScrollbar = setMinutesScrollbar;\n scrollbarRef = minutesScrollbarRef;\n thumbRef = minutesThumbRef;\n timeoutRef = minutesHideTimeoutRef;\n break;\n case 'seconds':\n columnRef = secondsColumnRef;\n scrollbarState = secondsScrollbar;\n setScrollbar = setSecondsScrollbar;\n scrollbarRef = secondsScrollbarRef;\n thumbRef = secondsThumbRef;\n timeoutRef = secondsHideTimeoutRef;\n break;\n default:\n return null;\n }\n\n return renderTimeColumn({\n values,\n disabledValues: getDisabledValuesForColumn(type),\n dropdownHeight,\n column: type,\n activeTime,\n currentColumn,\n handleTimeItemClick,\n handleTimeItemKeyDown,\n createScrollbarDragHandler,\n setScrollbar,\n columnRef,\n scrollbarState,\n scrollbarRef,\n thumbRef,\n timeoutRef,\n timeItemRefs,\n });\n })}\n </StyledTimePicker>\n </Root>\n );\n },\n );\n\nexport const timePickerGridConfig = {\n name: 'TimePickerGrid',\n tag: 'div',\n layout: timePickerGridRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["timePickerGridRoot","Root","forwardRef","_ref","ref","_Object$values$","outerValue","value","view","size","_ref$disabled","disabled","dropdownWidth","dropdownHeight","_ref$format","format","min","max","columnsQuantity","disabledValues","onChange","rest","_objectWithoutProperties","_excluded","actualFormat","columnsConfig","useMemo","getColumnsFromFormat","hoursColumnRef","useRef","minutesColumnRef","secondsColumnRef","timeItemRefs","itemHeight","Object","values","current","offsetHeight","hoursScrollbarRef","minutesScrollbarRef","secondsScrollbarRef","hoursThumbRef","minutesThumbRef","secondsThumbRef","hoursHideTimeoutRef","minutesHideTimeoutRef","secondsHideTimeoutRef","_useState","useState","_useState2","_slicedToArray","innerTime","setInnerTime","_useState3","_useState4","gap","setGap","_useState5","isVisible","thumbHeight","thumbPosition","isDragging","_useState6","hoursScrollbar","setHoursScrollbar","_useState7","_useState8","minutesScrollbar","setMinutesScrollbar","_useState9","_useState10","secondsScrollbar","setSecondsScrollbar","viewValue","getActiveTime","length","timeValues","parseTimeString","hours","hh","minutes","mm","seconds","ss","activeTime","_useState11","_useState12","currentColumn","setCurrentColumn","getDisabledValuesForColumn","useCallback","columnType","disabledFromProps","hour","minute","second","disabledFromMinMax","i","testValues","_objectSpread","completeTimeValues","getCompleteTimeValues","isTimeDisabled","push","normalizedDisabledFromProps","map","val","parseInt","_toConsumableArray","Set","concat","completeValues","includes","getNextAvailableValue","currentIndex","disabledValuesForColumn","direction","newIndex","iterations","maxIterations","minScrollbarTrackHeight","calculateScrollbar","columnRef","_columnRef$current","scrollTop","scrollHeight","clientHeight","trackHeight","Math","maxScroll","showScrollbarWithDelay","setScrollbar","timeoutRef","clearTimeout","updateScrollbar","setTimeout","prev","show","arguments","undefined","_calculateScrollbar","handleColumnScroll","createScrollbarDragHandler","e","preventDefault","thumb","currentTarget","track","parentElement","startY","clientY","startThumbPosition","parseFloat","style","top","trackRect","getBoundingClientRect","height","_columnRef$current2","handleMouseMove","moveEvent","deltaY","newThumbPosition","scrollPercentage","newScrollTop","handleMouseUp","document","removeEventListener","addEventListener","handleContainerFocus","firstColumn","type","handleTimeItemClick","column","currentTimeValues","newTimeValues","getFirstAvailableValue","maxValue","newTimeString","buildTimeString","handleTimeItemKeyDown","event","newColumn","key","Array","from","_","toString","padStart","newValue","element","focus","_activeTime$column","_activeTime$column2","useEffect","_activeTime$currentCo","forEach","computedStyle","getComputedStyle","gapValue","scrollToActiveItem","index","scrollPosition","animateScrollTo","hoursColumn","minutesColumn","secondsColumn","handleHoursScroll","handleMinutesScroll","handleSecondsScroll","handleHoursMouseEnter","handleMinutesMouseEnter","handleSecondsMouseEnter","React","createElement","_extends","onFocus","StyledTimePicker","width","tabIndex","columnConfig","scrollbarState","scrollbarRef","thumbRef","renderTimeColumn","timePickerGridConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
|
|
@@ -20,6 +20,8 @@ import { TimeGrid } from './ui/TimeGrid/TimeGrid.js';
|
|
|
20
20
|
|
|
21
21
|
var _StyledSeparator;
|
|
22
22
|
var _excluded = ["className", "value", "defaultDate", "size", "view", "readOnly", "disabled", "opened", "placement", "offset", "frame", "zIndex", "closeOnOverlayClick", "closeOnEsc", "usePortal", "type", "lang", "dateFormat", "timeFormat", "dateTimeSeparator", "maskWithFormat", "min", "max", "renderFromDate", "includeEdgeDates", "isDouble", "dateOnTimeSelectOnly", "dateShortcuts", "dateShortcutsPlacement", "dateShortcutsWidth", "eventTooltipOptions", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "calendarContainerWidth", "calendarContainerHeight", "stretched", "label", "labelPlacement", "keepPlaceholder", "requiredPlacement", "required", "hasRequiredIndicator", "preserveInvalidOnBlur", "placeholder", "valueError", "valueSuccess", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "autoComplete", "onChangeValue", "onCommitDate", "onToggle", "onFocus", "onBlur"];
|
|
23
|
+
|
|
24
|
+
// changes to start tests
|
|
23
25
|
var dateTimePickerRoot = function dateTimePickerRoot(Root) {
|
|
24
26
|
return /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
25
27
|
var className = _ref.className,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimePicker.js","sources":["../../../../../src/components/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport type { MouseEvent, SyntheticEvent, KeyboardEvent } from 'react';\nimport cls from 'classnames';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport type { RootProps } from 'src/engines';\n\nimport type { DateTimePickerProps, DateTimePickerRootProps } from './DateTimePicker.types';\nimport { base, CalendarContainerOverlay, LeftHelper } from './DateTimePicker.styles';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as eventTooltipSizeCSS } from './variations/_tooltip-size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_readonly/base';\nimport { CalendarGrid, DateShortcutList, Input, Popover, StyledSeparator, TimeGrid } from './ui';\nimport { classes } from './DateTimePicker.tokens';\nimport { useDateTimePicker } from './hooks/useDateTimePicker';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\n\nexport const dateTimePickerRoot = (Root: RootProps<HTMLDivElement, DateTimePickerRootProps>) =>\n forwardRef<HTMLInputElement, DateTimePickerProps>(\n (\n {\n className,\n\n value: outerValue,\n defaultDate = '',\n\n // variation props\n size,\n view,\n readOnly = false,\n disabled = false,\n\n // popover props\n opened = false,\n placement = ['top', 'bottom'],\n offset,\n frame = 'document',\n zIndex,\n closeOnOverlayClick = true,\n closeOnEsc = true,\n usePortal = false,\n\n // calendar props\n type = 'Days',\n lang = 'ru',\n dateFormat = 'DD.MM.YYYY',\n timeFormat = 'HH:mm:ss',\n dateTimeSeparator = ' ',\n maskWithFormat,\n min,\n max,\n renderFromDate,\n includeEdgeDates,\n isDouble,\n dateOnTimeSelectOnly,\n\n dateShortcuts,\n dateShortcutsPlacement = 'left',\n dateShortcutsWidth,\n\n eventTooltipOptions,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n\n calendarContainerWidth,\n calendarContainerHeight,\n stretched,\n\n // input props\n label,\n labelPlacement = 'outer',\n keepPlaceholder,\n requiredPlacement = 'right',\n required = false,\n hasRequiredIndicator = false,\n preserveInvalidOnBlur,\n placeholder,\n valueError,\n valueSuccess,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n autoComplete,\n\n // callbacks\n onChangeValue,\n onCommitDate,\n onToggle,\n onFocus,\n onBlur,\n\n ...rest\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const inputInnerRef = useForkRef(inputRef, ref);\n\n const calendarOverlayRef = useRef<HTMLDivElement | null>(null);\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n\n const {\n format,\n dateVisibleValue,\n calendarGridValue,\n inputValue,\n timeVisibleValue,\n timeColumnsCount,\n errorClass,\n successClass,\n handleChangeValue,\n handleSearch,\n handleBlur,\n handleCalendarPick,\n handleTimePick,\n updateExternalDate,\n isDateEqualEdge,\n } = useDateTimePicker({\n inputRef,\n outerValue,\n valueError,\n valueSuccess,\n type,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n dateTimeSeparator,\n dateFormat,\n timeFormat,\n max,\n min,\n includeEdgeDates,\n dateOnTimeSelectOnly,\n\n onChangeValue,\n onCommitDate,\n onBlur,\n });\n\n const handleCalendarOverlayClick = (event: MouseEvent<HTMLDivElement>) => {\n if (disabled || readOnly) {\n return;\n }\n\n event.stopPropagation();\n\n if (isInnerOpen && stretched && event.target === calendarOverlayRef?.current) {\n setIsInnerOpen(false);\n\n if (onToggle) {\n onToggle(false, event);\n }\n }\n };\n\n const handleToggle = (innerOpened: boolean, event?: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n event?.target === inputRef?.current && (event as KeyboardEvent<HTMLInputElement>).code !== 'Escape'\n ? true\n : innerOpened;\n\n if (onToggle) {\n onToggle(isCalendarOpen, event);\n\n return;\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const { onKeyDown } = useKeyNavigation({\n opened: isInnerOpen,\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n useEffect(() => {\n if (disabled || readOnly) {\n setIsInnerOpen(false);\n return;\n }\n\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened, disabled, readOnly]);\n\n useLayoutEffect(() => {\n if (!dateVisibleValue) {\n updateExternalDate(defaultDate);\n }\n }, [defaultDate, format, lang]);\n\n return (\n <Root\n view={view}\n size={size}\n className={cls(classes.root, className, {\n [classes.stretched]: stretched,\n })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n eventTooltipSize={eventTooltipOptions?.size}\n >\n <Popover\n target={\n <Input\n ref={inputInnerRef}\n className={cls(errorClass, successClass)}\n value={inputValue}\n label={label}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n requiredPlacement={requiredPlacement}\n required={required}\n hasRequiredIndicator={hasRequiredIndicator}\n preserveInvalidOnBlur={preserveInvalidOnBlur}\n placeholder={placeholder}\n valueError={valueError}\n valueSuccess={valueSuccess}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n autoComplete={autoComplete}\n readOnly={readOnly}\n disabled={disabled}\n onChange={handleChangeValue}\n onSearch={(e) => handleSearch(e?.currentTarget?.value)}\n onFocus={onFocus}\n onBlur={handleBlur}\n onKeyDown={onKeyDown}\n {...rest}\n />\n }\n opened={isInnerOpen}\n usePortal={usePortal}\n frame={frame}\n offset={offset}\n placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n zIndex={zIndex}\n calendarContainerWidth={calendarContainerWidth}\n calendarContainerHeight={calendarContainerHeight}\n onToggle={handleToggle}\n >\n <CalendarContainerOverlay ref={calendarOverlayRef} onClick={handleCalendarOverlayClick} />\n\n <Root\n view={view}\n size={size}\n className={cls(classes.root, className, {\n [classes.stretched]: stretched,\n })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n >\n {dateShortcuts?.length ? (\n <DateShortcutList\n items={dateShortcuts}\n setShortcutDate={updateExternalDate}\n dateShortcutsWidth={dateShortcutsWidth}\n calendarContainerHeight={calendarContainerHeight}\n dateShortcutsPlacement={dateShortcutsPlacement}\n />\n ) : null}\n\n <CalendarGrid\n value={calendarGridValue}\n isDouble={isDouble}\n calendarContainerWidth={calendarContainerWidth}\n calendarContainerHeight={calendarContainerHeight}\n type={type}\n eventTooltipOptions={eventTooltipOptions}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n renderFromDate={renderFromDate}\n includeEdgeDates={includeEdgeDates}\n lang={lang}\n handleCalendarPick={handleCalendarPick}\n />\n\n <StyledSeparator />\n\n <TimeGrid\n value={timeVisibleValue}\n format={timeFormat}\n columns={timeColumnsCount}\n calendarContainerWidth={calendarContainerWidth}\n calendarContainerHeight={calendarContainerHeight}\n dropdownHeight={calendarContainerHeight}\n onChange={handleTimePick}\n {...(isDateEqualEdge(min) && { min })}\n {...(isDateEqualEdge(max) && { max })}\n />\n </Root>\n </Popover>\n {leftHelper && <LeftHelper className={cls(errorClass, successClass)}>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const dateTimePickerConfig = {\n name: 'DateTimePicker',\n tag: 'div',\n layout: dateTimePickerRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n eventTooltipSize: {\n css: eventTooltipSizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["dateTimePickerRoot","Root","forwardRef","_ref","ref","className","outerValue","value","_ref$defaultDate","defaultDate","size","view","_ref$readOnly","readOnly","_ref$disabled","disabled","_ref$opened","opened","_ref$placement","placement","offset","_ref$frame","frame","zIndex","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","_ref$usePortal","usePortal","_ref$type","type","_ref$lang","lang","_ref$dateFormat","dateFormat","_ref$timeFormat","timeFormat","_ref$dateTimeSeparato","dateTimeSeparator","maskWithFormat","min","max","renderFromDate","includeEdgeDates","isDouble","dateOnTimeSelectOnly","dateShortcuts","_ref$dateShortcutsPla","dateShortcutsPlacement","dateShortcutsWidth","eventTooltipOptions","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","calendarContainerWidth","calendarContainerHeight","stretched","label","_ref$labelPlacement","labelPlacement","keepPlaceholder","_ref$requiredPlacemen","requiredPlacement","_ref$required","required","_ref$hasRequiredIndic","hasRequiredIndicator","preserveInvalidOnBlur","placeholder","valueError","valueSuccess","leftHelper","contentLeft","contentRight","textBefore","textAfter","autoComplete","onChangeValue","onCommitDate","onToggle","onFocus","onBlur","rest","_objectWithoutProperties","_excluded","inputRef","useRef","inputInnerRef","useForkRef","calendarOverlayRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","_useDateTimePicker","useDateTimePicker","format","dateVisibleValue","calendarGridValue","inputValue","timeVisibleValue","timeColumnsCount","errorClass","successClass","handleChangeValue","handleSearch","handleBlur","handleCalendarPick","handleTimePick","updateExternalDate","isDateEqualEdge","handleCalendarOverlayClick","event","stopPropagation","target","current","handleToggle","innerOpened","isCalendarOpen","code","_useKeyNavigation","useKeyNavigation","onKeyDown","useEffect","prevOpen","useLayoutEffect","React","createElement","cls","classes","root","_defineProperty","eventTooltipSize","Popover","Input","_extends","onChange","onSearch","e","_e$currentTarget","currentTarget","CalendarContainerOverlay","onClick","length","DateShortcutList","items","setShortcutDate","CalendarGrid","_StyledSeparator","StyledSeparator","TimeGrid","columns","dropdownHeight","LeftHelper","dateTimePickerConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","eventTooltipSizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateTimePicker.js","sources":["../../../../../src/components/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport type { MouseEvent, SyntheticEvent, KeyboardEvent } from 'react';\nimport cls from 'classnames';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport type { RootProps } from 'src/engines';\n\nimport type { DateTimePickerProps, DateTimePickerRootProps } from './DateTimePicker.types';\nimport { base, CalendarContainerOverlay, LeftHelper } from './DateTimePicker.styles';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as eventTooltipSizeCSS } from './variations/_tooltip-size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_readonly/base';\nimport { CalendarGrid, DateShortcutList, Input, Popover, StyledSeparator, TimeGrid } from './ui';\nimport { classes } from './DateTimePicker.tokens';\nimport { useDateTimePicker } from './hooks/useDateTimePicker';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\n\n// changes to start tests\nexport const dateTimePickerRoot = (Root: RootProps<HTMLDivElement, DateTimePickerRootProps>) =>\n forwardRef<HTMLInputElement, DateTimePickerProps>(\n (\n {\n className,\n\n value: outerValue,\n defaultDate = '',\n\n // variation props\n size,\n view,\n readOnly = false,\n disabled = false,\n\n // popover props\n opened = false,\n placement = ['top', 'bottom'],\n offset,\n frame = 'document',\n zIndex,\n closeOnOverlayClick = true,\n closeOnEsc = true,\n usePortal = false,\n\n // calendar props\n type = 'Days',\n lang = 'ru',\n dateFormat = 'DD.MM.YYYY',\n timeFormat = 'HH:mm:ss',\n dateTimeSeparator = ' ',\n maskWithFormat,\n min,\n max,\n renderFromDate,\n includeEdgeDates,\n isDouble,\n dateOnTimeSelectOnly,\n\n dateShortcuts,\n dateShortcutsPlacement = 'left',\n dateShortcutsWidth,\n\n eventTooltipOptions,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n\n calendarContainerWidth,\n calendarContainerHeight,\n stretched,\n\n // input props\n label,\n labelPlacement = 'outer',\n keepPlaceholder,\n requiredPlacement = 'right',\n required = false,\n hasRequiredIndicator = false,\n preserveInvalidOnBlur,\n placeholder,\n valueError,\n valueSuccess,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n autoComplete,\n\n // callbacks\n onChangeValue,\n onCommitDate,\n onToggle,\n onFocus,\n onBlur,\n\n ...rest\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const inputInnerRef = useForkRef(inputRef, ref);\n\n const calendarOverlayRef = useRef<HTMLDivElement | null>(null);\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n\n const {\n format,\n dateVisibleValue,\n calendarGridValue,\n inputValue,\n timeVisibleValue,\n timeColumnsCount,\n errorClass,\n successClass,\n handleChangeValue,\n handleSearch,\n handleBlur,\n handleCalendarPick,\n handleTimePick,\n updateExternalDate,\n isDateEqualEdge,\n } = useDateTimePicker({\n inputRef,\n outerValue,\n valueError,\n valueSuccess,\n type,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n dateTimeSeparator,\n dateFormat,\n timeFormat,\n max,\n min,\n includeEdgeDates,\n dateOnTimeSelectOnly,\n\n onChangeValue,\n onCommitDate,\n onBlur,\n });\n\n const handleCalendarOverlayClick = (event: MouseEvent<HTMLDivElement>) => {\n if (disabled || readOnly) {\n return;\n }\n\n event.stopPropagation();\n\n if (isInnerOpen && stretched && event.target === calendarOverlayRef?.current) {\n setIsInnerOpen(false);\n\n if (onToggle) {\n onToggle(false, event);\n }\n }\n };\n\n const handleToggle = (innerOpened: boolean, event?: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n event?.target === inputRef?.current && (event as KeyboardEvent<HTMLInputElement>).code !== 'Escape'\n ? true\n : innerOpened;\n\n if (onToggle) {\n onToggle(isCalendarOpen, event);\n\n return;\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const { onKeyDown } = useKeyNavigation({\n opened: isInnerOpen,\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n useEffect(() => {\n if (disabled || readOnly) {\n setIsInnerOpen(false);\n return;\n }\n\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened, disabled, readOnly]);\n\n useLayoutEffect(() => {\n if (!dateVisibleValue) {\n updateExternalDate(defaultDate);\n }\n }, [defaultDate, format, lang]);\n\n return (\n <Root\n view={view}\n size={size}\n className={cls(classes.root, className, {\n [classes.stretched]: stretched,\n })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n eventTooltipSize={eventTooltipOptions?.size}\n >\n <Popover\n target={\n <Input\n ref={inputInnerRef}\n className={cls(errorClass, successClass)}\n value={inputValue}\n label={label}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n requiredPlacement={requiredPlacement}\n required={required}\n hasRequiredIndicator={hasRequiredIndicator}\n preserveInvalidOnBlur={preserveInvalidOnBlur}\n placeholder={placeholder}\n valueError={valueError}\n valueSuccess={valueSuccess}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n autoComplete={autoComplete}\n readOnly={readOnly}\n disabled={disabled}\n onChange={handleChangeValue}\n onSearch={(e) => handleSearch(e?.currentTarget?.value)}\n onFocus={onFocus}\n onBlur={handleBlur}\n onKeyDown={onKeyDown}\n {...rest}\n />\n }\n opened={isInnerOpen}\n usePortal={usePortal}\n frame={frame}\n offset={offset}\n placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n zIndex={zIndex}\n calendarContainerWidth={calendarContainerWidth}\n calendarContainerHeight={calendarContainerHeight}\n onToggle={handleToggle}\n >\n <CalendarContainerOverlay ref={calendarOverlayRef} onClick={handleCalendarOverlayClick} />\n\n <Root\n view={view}\n size={size}\n className={cls(classes.root, className, {\n [classes.stretched]: stretched,\n })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n >\n {dateShortcuts?.length ? (\n <DateShortcutList\n items={dateShortcuts}\n setShortcutDate={updateExternalDate}\n dateShortcutsWidth={dateShortcutsWidth}\n calendarContainerHeight={calendarContainerHeight}\n dateShortcutsPlacement={dateShortcutsPlacement}\n />\n ) : null}\n\n <CalendarGrid\n value={calendarGridValue}\n isDouble={isDouble}\n calendarContainerWidth={calendarContainerWidth}\n calendarContainerHeight={calendarContainerHeight}\n type={type}\n eventTooltipOptions={eventTooltipOptions}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n renderFromDate={renderFromDate}\n includeEdgeDates={includeEdgeDates}\n lang={lang}\n handleCalendarPick={handleCalendarPick}\n />\n\n <StyledSeparator />\n\n <TimeGrid\n value={timeVisibleValue}\n format={timeFormat}\n columns={timeColumnsCount}\n calendarContainerWidth={calendarContainerWidth}\n calendarContainerHeight={calendarContainerHeight}\n dropdownHeight={calendarContainerHeight}\n onChange={handleTimePick}\n {...(isDateEqualEdge(min) && { min })}\n {...(isDateEqualEdge(max) && { max })}\n />\n </Root>\n </Popover>\n {leftHelper && <LeftHelper className={cls(errorClass, successClass)}>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const dateTimePickerConfig = {\n name: 'DateTimePicker',\n tag: 'div',\n layout: dateTimePickerRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n eventTooltipSize: {\n css: eventTooltipSizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["dateTimePickerRoot","Root","forwardRef","_ref","ref","className","outerValue","value","_ref$defaultDate","defaultDate","size","view","_ref$readOnly","readOnly","_ref$disabled","disabled","_ref$opened","opened","_ref$placement","placement","offset","_ref$frame","frame","zIndex","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","_ref$usePortal","usePortal","_ref$type","type","_ref$lang","lang","_ref$dateFormat","dateFormat","_ref$timeFormat","timeFormat","_ref$dateTimeSeparato","dateTimeSeparator","maskWithFormat","min","max","renderFromDate","includeEdgeDates","isDouble","dateOnTimeSelectOnly","dateShortcuts","_ref$dateShortcutsPla","dateShortcutsPlacement","dateShortcutsWidth","eventTooltipOptions","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","calendarContainerWidth","calendarContainerHeight","stretched","label","_ref$labelPlacement","labelPlacement","keepPlaceholder","_ref$requiredPlacemen","requiredPlacement","_ref$required","required","_ref$hasRequiredIndic","hasRequiredIndicator","preserveInvalidOnBlur","placeholder","valueError","valueSuccess","leftHelper","contentLeft","contentRight","textBefore","textAfter","autoComplete","onChangeValue","onCommitDate","onToggle","onFocus","onBlur","rest","_objectWithoutProperties","_excluded","inputRef","useRef","inputInnerRef","useForkRef","calendarOverlayRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","_useDateTimePicker","useDateTimePicker","format","dateVisibleValue","calendarGridValue","inputValue","timeVisibleValue","timeColumnsCount","errorClass","successClass","handleChangeValue","handleSearch","handleBlur","handleCalendarPick","handleTimePick","updateExternalDate","isDateEqualEdge","handleCalendarOverlayClick","event","stopPropagation","target","current","handleToggle","innerOpened","isCalendarOpen","code","_useKeyNavigation","useKeyNavigation","onKeyDown","useEffect","prevOpen","useLayoutEffect","React","createElement","cls","classes","root","_defineProperty","eventTooltipSize","Popover","Input","_extends","onChange","onSearch","e","_e$currentTarget","currentTarget","CalendarContainerOverlay","onClick","length","DateShortcutList","items","setShortcutDate","CalendarGrid","_StyledSeparator","StyledSeparator","TimeGrid","columns","dropdownHeight","LeftHelper","dateTimePickerConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","eventTooltipSizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _
|
|
|
2
2
|
import React, { forwardRef, useState, useRef, useMemo } from 'react';
|
|
3
3
|
import { useReactTable, getCoreRowModel, getSortedRowModel, getFilteredRowModel } from '@tanstack/react-table';
|
|
4
4
|
import { useForkRef } from '@salutejs/plasma-core';
|
|
5
|
+
import { classes } from './Table.tokens.js';
|
|
5
6
|
import { ScrollableWrapper, Table, Thead, Tr, Tbody, base, StyledCheckbox } from './Table.styles.js';
|
|
6
7
|
import { HeadCell } from './ui/HeadCell/HeadCell.js';
|
|
7
8
|
import { EditableCell } from './ui/EditableCell/EditableCell.js';
|
|
@@ -188,6 +189,7 @@ var tableRoot = function tableRoot(Root) {
|
|
|
188
189
|
view: view,
|
|
189
190
|
size: size
|
|
190
191
|
}, props), topContent, /*#__PURE__*/React.createElement(ScrollableWrapper, {
|
|
192
|
+
className: classes.scrollableContainer,
|
|
191
193
|
onScroll: onScroll,
|
|
192
194
|
maxHeight: maxHeight
|
|
193
195
|
}, /*#__PURE__*/React.createElement(Table, {
|