@salutejs/plasma-new-hope 0.344.0-canary.2378.20234749018.0 → 0.344.0-canary.2378.20336379268.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/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/cjs/components/_beta/Popover/Popover.js +12 -8
- package/dist/css/cjs/components/_beta/Popover/Popover.js.map +1 -1
- package/dist/css/cjs/components/_beta/Popover/Popover.styles.js +8 -2
- package/dist/css/cjs/components/_beta/Popover/Popover.styles.js.map +1 -1
- package/dist/css/cjs/components/_beta/Popover/Popover.styles_1w8fqx9.css +3 -0
- package/dist/css/cjs/index.css +3 -2
- 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/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/css/es/components/_beta/Popover/Popover.js +14 -10
- package/dist/css/es/components/_beta/Popover/Popover.js.map +1 -1
- package/dist/css/es/components/_beta/Popover/Popover.styles.js +8 -3
- package/dist/css/es/components/_beta/Popover/Popover.styles.js.map +1 -1
- package/dist/css/es/components/_beta/Popover/Popover.styles_1w8fqx9.css +3 -0
- package/dist/css/es/index.css +3 -2
- package/dist/emotion/cjs/components/_beta/Popover/Popover.js +15 -11
- package/dist/emotion/cjs/components/_beta/Popover/Popover.styles.js +10 -3
- package/dist/emotion/cjs/examples/components/Combobox/Combobox.js +15 -0
- package/dist/emotion/es/components/DateTimePicker/DateTimePicker.js +1 -0
- package/dist/emotion/es/components/_beta/Popover/Popover.js +17 -13
- package/dist/emotion/es/components/_beta/Popover/Popover.styles.js +7 -3
- package/dist/emotion/es/examples/components/Combobox/Combobox.js +0 -7
- package/dist/styled-components/cjs/components/_beta/Popover/Popover.js +13 -9
- package/dist/styled-components/cjs/components/_beta/Popover/Popover.styles.js +11 -1
- package/dist/styled-components/es/components/DateTimePicker/DateTimePicker.js +1 -0
- package/dist/styled-components/es/components/_beta/Popover/Popover.js +15 -11
- package/dist/styled-components/es/components/_beta/Popover/Popover.styles.js +8 -1
- package/package.json +5 -5
- package/types/components/DateTimePicker/DateTimePicker.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
- package/types/components/_beta/Popover/Popover.d.ts +2 -2
- package/types/components/_beta/Popover/Popover.d.ts.map +1 -1
- package/types/components/_beta/Popover/Popover.styles.d.ts +1 -0
- package/types/components/_beta/Popover/Popover.styles.d.ts.map +1 -1
- package/dist/css/cjs/components/_beta/Popover/Popover.styles_6agxog.css +0 -2
- package/dist/css/es/components/_beta/Popover/Popover.styles_6agxog.css +0 -2
|
@@ -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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"}
|
|
@@ -2,16 +2,16 @@ import './Popover_1ed9tky.css';
|
|
|
2
2
|
import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
3
3
|
import React__default, { forwardRef, useState, useRef } from 'react';
|
|
4
4
|
import cls from 'classnames';
|
|
5
|
-
import { useFloating, autoUpdate, shift, flip, arrow, offset, useClick, useFocus, useDismiss, useRole, useHover, safePolygon, useInteractions, FloatingPortal, FloatingFocusManager, FloatingArrow } from '@floating-ui/react';
|
|
5
|
+
import { useFloating, autoUpdate, shift, limitShift, flip, arrow, offset, useClick, useFocus, useDismiss, useRole, useHover, safePolygon, useInteractions, FloatingPortal, FloatingFocusManager, FloatingArrow } from '@floating-ui/react';
|
|
6
6
|
import { Slot } from '../../_Slot/Slot.js';
|
|
7
7
|
import { classes, tokens } from './Popover.tokens.js';
|
|
8
|
-
import { CloseButton, base } from './Popover.styles.js';
|
|
8
|
+
import { Wrapper, CloseButton, base } from './Popover.styles.js';
|
|
9
9
|
import { matchPlacements } from './utils/matchPlacements.js';
|
|
10
10
|
import { IconClose } from '../../_Icon/Icons/IconClose.js';
|
|
11
11
|
import { sizeToIconSize } from './utils/sizeToIconSize.js';
|
|
12
12
|
import { Resizable } from '../../_Resizable/Resizable.js';
|
|
13
13
|
|
|
14
|
-
var _excluded = ["appearance", "children", "target", "opened", "defaultOpened", "trigger", "placement", "hasTail", "flip", "shift", "offset", "outsideClick", "resizable", "onResizeStart", "onResizeEnd", "onToggle", "delayOpen", "delayClose", "zIndex", "className", "size"];
|
|
14
|
+
var _excluded = ["appearance", "children", "target", "opened", "defaultOpened", "trigger", "placement", "hasTail", "flip", "shift", "offset", "outsideClick", "resizable", "onResizeStart", "onResizeEnd", "onToggle", "delayOpen", "delayClose", "zIndex", "className", "style", "size", "view"];
|
|
15
15
|
/* Ширина хвостика */
|
|
16
16
|
var ARROW_WIDTH = 20;
|
|
17
17
|
/* Высота хвостика */
|
|
@@ -55,7 +55,9 @@ var popoverRoot = function popoverRoot(Root) {
|
|
|
55
55
|
_ref$zIndex = _ref.zIndex,
|
|
56
56
|
zIndex = _ref$zIndex === void 0 ? 1000 : _ref$zIndex,
|
|
57
57
|
className = _ref.className,
|
|
58
|
+
style = _ref.style,
|
|
58
59
|
size = _ref.size,
|
|
60
|
+
view = _ref.view,
|
|
59
61
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
60
62
|
var _useState = useState(defaultOpened),
|
|
61
63
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -74,7 +76,9 @@ var popoverRoot = function popoverRoot(Root) {
|
|
|
74
76
|
placement: placement,
|
|
75
77
|
open: opened,
|
|
76
78
|
onOpenChange: handleToggle,
|
|
77
|
-
middleware: [outsideShift && shift(
|
|
79
|
+
middleware: [outsideShift && shift({
|
|
80
|
+
limiter: limitShift()
|
|
81
|
+
}), outsideFlip && flip(), hasTail && arrow({
|
|
78
82
|
element: arrowRef,
|
|
79
83
|
padding: ARROW_PADDING
|
|
80
84
|
}), offset((hasTail ? ARROW_HEIGHT : 0) + outerOffset)]
|
|
@@ -111,8 +115,10 @@ var popoverRoot = function popoverRoot(Root) {
|
|
|
111
115
|
ref: refs.setReference
|
|
112
116
|
}, getReferenceProps()), target), opened && /*#__PURE__*/React__default.createElement(FloatingPortal, null, /*#__PURE__*/React__default.createElement(FloatingFocusManager, {
|
|
113
117
|
context: context
|
|
114
|
-
}, /*#__PURE__*/React__default.createElement(
|
|
118
|
+
}, /*#__PURE__*/React__default.createElement(Root, _extends({
|
|
115
119
|
ref: refs.setFloating,
|
|
120
|
+
size: size,
|
|
121
|
+
view: view,
|
|
116
122
|
style: _objectSpread2(_objectSpread2({}, floatingStyles), {}, {
|
|
117
123
|
zIndex: zIndex
|
|
118
124
|
})
|
|
@@ -121,14 +127,12 @@ var popoverRoot = function popoverRoot(Root) {
|
|
|
121
127
|
resizable: resizable,
|
|
122
128
|
onResizeStart: onResizeStart,
|
|
123
129
|
onResizeEnd: onResizeEnd
|
|
124
|
-
}, /*#__PURE__*/React__default.createElement(
|
|
130
|
+
}, /*#__PURE__*/React__default.createElement(Wrapper, _extends({
|
|
125
131
|
ref: outerRootRef,
|
|
126
|
-
target: target,
|
|
127
132
|
className: cls(className, classes.popoverRoot),
|
|
128
|
-
|
|
129
|
-
}, rest, {
|
|
133
|
+
style: style,
|
|
130
134
|
"data-popover-open": opened
|
|
131
|
-
}), hasTail && /*#__PURE__*/React__default.createElement(FloatingArrow, {
|
|
135
|
+
}, rest), hasTail && /*#__PURE__*/React__default.createElement(FloatingArrow, {
|
|
132
136
|
ref: arrowRef,
|
|
133
137
|
context: context,
|
|
134
138
|
width: ARROW_WIDTH,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","sources":["../../../../../../src/components/_beta/Popover/Popover.tsx"],"sourcesContent":["import React, { forwardRef, useState, useRef } from 'react';\nimport type { RootProps } from 'src/engines/types';\nimport cls from 'classnames';\nimport {\n useFloating,\n useInteractions,\n useClick,\n useFocus,\n useDismiss,\n useRole,\n FloatingFocusManager,\n FloatingArrow,\n arrow,\n offset,\n useHover,\n safePolygon,\n shift,\n flip,\n FloatingPortal,\n autoUpdate,\n} from '@floating-ui/react';\nimport { css } from '@linaria/core';\n\nimport { IconClose } from '../../_Icon';\nimport { Resizable } from '../../_Resizable';\nimport { Slot } from '../../_Slot/Slot';\n\nimport { sizeToIconSize, matchPlacements } from './utils';\nimport { tokens, classes } from './Popover.tokens';\nimport { base, CloseButton } from './Popover.styles';\nimport type { PopoverProps } from './Popover.types';\n\n/* Ширина хвостика */\nconst ARROW_WIDTH = 20;\n/* Высота хвостика */\nconst ARROW_HEIGHT = 8;\n/* SVG хвостика */\nconst ARROW_POLYGON = 'M20 20L0 20C8.88889 20.0001 10 12.5714 10 12C10 12.5714 11.3273 20.006 20 20Z';\n/* Отступ хвостика по краям (чтобы избежать коллизии со скругленными углами) */\nconst ARROW_PADDING = 16;\n\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, PopoverProps>) =>\n forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n appearance = 'closeNone',\n children,\n target,\n opened: outerOpened,\n defaultOpened = false,\n trigger = 'click',\n placement = 'bottom',\n hasTail = true,\n flip: outsideFlip = false,\n shift: outsideShift = false,\n offset: outerOffset = 0,\n outsideClick = true,\n resizable = false,\n onResizeStart,\n onResizeEnd,\n onToggle,\n delayOpen = 0,\n delayClose = 0,\n zIndex = 1000,\n className,\n size,\n ...rest\n },\n outerRootRef,\n ) => {\n const [innerOpened, setInnerOpened] = useState(defaultOpened);\n\n const opened = outerOpened ?? innerOpened;\n\n const arrowRef = useRef(null);\n\n const handleToggle = (opened: boolean) => {\n setInnerOpened(opened);\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n const { refs, floatingStyles, context } = useFloating({\n whileElementsMounted: autoUpdate,\n placement,\n open: opened,\n onOpenChange: handleToggle,\n middleware: [\n outsideShift && shift(),\n outsideFlip && flip(),\n hasTail && arrow({ element: arrowRef, padding: ARROW_PADDING }),\n offset((hasTail ? ARROW_HEIGHT : 0) + outerOffset),\n ],\n });\n\n const click = useClick(context, {\n enabled: trigger === 'click' || matchMedia('(hover: none)').matches,\n });\n const focus = useFocus(context, { enabled: trigger === 'focus' });\n const dismiss = useDismiss(context, {\n enabled: true,\n outsidePress: outsideClick,\n });\n const role = useRole(context);\n const hover = useHover(context, {\n mouseOnly: true,\n enabled: trigger === 'hover',\n handleClose: safePolygon({\n requireIntent: false,\n }),\n delay: {\n open: delayOpen,\n close: delayClose,\n },\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([dismiss, role, click, hover, focus]);\n\n return (\n <>\n <Slot ref={refs.setReference} {...getReferenceProps()}>\n {target}\n </Slot>\n\n {opened && (\n <FloatingPortal>\n <FloatingFocusManager context={context}>\n <div\n ref={refs.setFloating}\n style={{ ...floatingStyles, zIndex }}\n {...getFloatingProps()}\n >\n <Resizable\n placement={matchPlacements(placement)}\n resizable={resizable}\n onResizeStart={onResizeStart}\n onResizeEnd={onResizeEnd}\n >\n <Root\n ref={outerRootRef}\n target={target}\n className={cls(className, classes.popoverRoot)}\n size={size}\n {...rest}\n data-popover-open={opened}\n >\n {hasTail && (\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={`var(${tokens.backgroundColor})`}\n d={ARROW_POLYGON}\n />\n )}\n\n {children}\n\n {appearance === 'closeInner' && (\n <CloseButton\n className={classes.popoverCloseIconButton}\n onClick={() => handleToggle(false)}\n >\n <IconClose size={sizeToIconSize(size)} color=\"inherit\" />\n </CloseButton>\n )}\n </Root>\n </Resizable>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </>\n );\n },\n );\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base,\n variations: {\n view: {\n css: css``,\n },\n size: {\n css: css``,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["ARROW_WIDTH","ARROW_HEIGHT","ARROW_POLYGON","ARROW_PADDING","popoverRoot","Root","forwardRef","_ref","outerRootRef","_ref$appearance","appearance","children","target","outerOpened","opened","_ref$defaultOpened","defaultOpened","_ref$trigger","trigger","_ref$placement","placement","_ref$hasTail","hasTail","_ref$flip","flip","outsideFlip","_ref$shift","shift","outsideShift","_ref$offset","offset","outerOffset","_ref$outsideClick","outsideClick","_ref$resizable","resizable","onResizeStart","onResizeEnd","onToggle","_ref$delayOpen","delayOpen","_ref$delayClose","delayClose","_ref$zIndex","zIndex","className","size","rest","_useState","useState","_useState2","_slicedToArray","innerOpened","setInnerOpened","arrowRef","useRef","handleToggle","_useFloating","useFloating","whileElementsMounted","autoUpdate","open","onOpenChange","middleware","arrow","element","padding","refs","floatingStyles","context","click","useClick","enabled","matchMedia","matches","focus","useFocus","dismiss","useDismiss","outsidePress","role","useRole","hover","useHover","mouseOnly","handleClose","safePolygon","requireIntent","delay","close","_useInteractions","useInteractions","getReferenceProps","getFloatingProps","React","createElement","Fragment","Slot","_extends","ref","setReference","FloatingPortal","FloatingFocusManager","setFloating","style","_objectSpread","Resizable","matchPlacements","cls","classes","FloatingArrow","width","height","fill","concat","tokens","backgroundColor","d","CloseButton","popoverCloseIconButton","onClick","IconClose","sizeToIconSize","color","popoverConfig","name","tag","layout","base","variations","view","css","defaults"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Popover.js","sources":["../../../../../../src/components/_beta/Popover/Popover.tsx"],"sourcesContent":["import React, { forwardRef, useState, useRef } from 'react';\nimport type { RootProps } from 'src/engines/types';\nimport cls from 'classnames';\nimport {\n useFloating,\n useInteractions,\n useClick,\n useFocus,\n useDismiss,\n useRole,\n FloatingFocusManager,\n FloatingArrow,\n arrow,\n offset,\n useHover,\n safePolygon,\n shift,\n flip,\n FloatingPortal,\n autoUpdate,\n limitShift,\n} from '@floating-ui/react';\nimport { css } from '@linaria/core';\n\nimport { IconClose } from '../../_Icon';\nimport { Resizable } from '../../_Resizable';\nimport { Slot } from '../../_Slot/Slot';\n\nimport { sizeToIconSize, matchPlacements } from './utils';\nimport { tokens, classes } from './Popover.tokens';\nimport { base, CloseButton, Wrapper } from './Popover.styles';\nimport type { PopoverProps } from './Popover.types';\n\n/* Ширина хвостика */\nconst ARROW_WIDTH = 20;\n/* Высота хвостика */\nconst ARROW_HEIGHT = 8;\n/* SVG хвостика */\nconst ARROW_POLYGON = 'M20 20L0 20C8.88889 20.0001 10 12.5714 10 12C10 12.5714 11.3273 20.006 20 20Z';\n/* Отступ хвостика по краям (чтобы избежать коллизии со скругленными углами) */\nconst ARROW_PADDING = 16;\n\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, Omit<PopoverProps, 'target'>>) =>\n forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n appearance = 'closeNone',\n children,\n target,\n opened: outerOpened,\n defaultOpened = false,\n trigger = 'click',\n placement = 'bottom',\n hasTail = true,\n flip: outsideFlip = false,\n shift: outsideShift = false,\n offset: outerOffset = 0,\n outsideClick = true,\n resizable = false,\n onResizeStart,\n onResizeEnd,\n onToggle,\n delayOpen = 0,\n delayClose = 0,\n zIndex = 1000,\n className,\n style,\n size,\n view,\n ...rest\n },\n outerRootRef,\n ) => {\n const [innerOpened, setInnerOpened] = useState(defaultOpened);\n\n const opened = outerOpened ?? innerOpened;\n\n const arrowRef = useRef(null);\n\n const handleToggle = (opened: boolean) => {\n setInnerOpened(opened);\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n const { refs, floatingStyles, context } = useFloating({\n whileElementsMounted: autoUpdate,\n placement,\n open: opened,\n onOpenChange: handleToggle,\n middleware: [\n outsideShift &&\n shift({\n limiter: limitShift(),\n }),\n outsideFlip && flip(),\n hasTail && arrow({ element: arrowRef, padding: ARROW_PADDING }),\n offset((hasTail ? ARROW_HEIGHT : 0) + outerOffset),\n ],\n });\n\n const click = useClick(context, {\n enabled: trigger === 'click' || matchMedia('(hover: none)').matches,\n });\n const focus = useFocus(context, { enabled: trigger === 'focus' });\n const dismiss = useDismiss(context, {\n enabled: true,\n outsidePress: outsideClick,\n });\n const role = useRole(context);\n const hover = useHover(context, {\n mouseOnly: true,\n enabled: trigger === 'hover',\n handleClose: safePolygon({\n requireIntent: false,\n }),\n delay: {\n open: delayOpen,\n close: delayClose,\n },\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([dismiss, role, click, hover, focus]);\n\n return (\n <>\n <Slot ref={refs.setReference} {...getReferenceProps()}>\n {target}\n </Slot>\n\n {opened && (\n <FloatingPortal>\n <FloatingFocusManager context={context}>\n <Root\n ref={refs.setFloating}\n size={size}\n view={view}\n style={{ ...floatingStyles, zIndex }}\n {...getFloatingProps()}\n >\n <Resizable\n placement={matchPlacements(placement)}\n resizable={resizable}\n onResizeStart={onResizeStart}\n onResizeEnd={onResizeEnd}\n >\n <Wrapper\n ref={outerRootRef}\n className={cls(className, classes.popoverRoot)}\n style={style}\n data-popover-open={opened}\n {...rest}\n >\n {hasTail && (\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={`var(${tokens.backgroundColor})`}\n d={ARROW_POLYGON}\n />\n )}\n\n {children}\n\n {appearance === 'closeInner' && (\n <CloseButton\n className={classes.popoverCloseIconButton}\n onClick={() => handleToggle(false)}\n >\n <IconClose size={sizeToIconSize(size)} color=\"inherit\" />\n </CloseButton>\n )}\n </Wrapper>\n </Resizable>\n </Root>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </>\n );\n },\n );\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base,\n variations: {\n view: {\n css: css``,\n },\n size: {\n css: css``,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["ARROW_WIDTH","ARROW_HEIGHT","ARROW_POLYGON","ARROW_PADDING","popoverRoot","Root","forwardRef","_ref","outerRootRef","_ref$appearance","appearance","children","target","outerOpened","opened","_ref$defaultOpened","defaultOpened","_ref$trigger","trigger","_ref$placement","placement","_ref$hasTail","hasTail","_ref$flip","flip","outsideFlip","_ref$shift","shift","outsideShift","_ref$offset","offset","outerOffset","_ref$outsideClick","outsideClick","_ref$resizable","resizable","onResizeStart","onResizeEnd","onToggle","_ref$delayOpen","delayOpen","_ref$delayClose","delayClose","_ref$zIndex","zIndex","className","style","size","view","rest","_useState","useState","_useState2","_slicedToArray","innerOpened","setInnerOpened","arrowRef","useRef","handleToggle","_useFloating","useFloating","whileElementsMounted","autoUpdate","open","onOpenChange","middleware","limiter","limitShift","arrow","element","padding","refs","floatingStyles","context","click","useClick","enabled","matchMedia","matches","focus","useFocus","dismiss","useDismiss","outsidePress","role","useRole","hover","useHover","mouseOnly","handleClose","safePolygon","requireIntent","delay","close","_useInteractions","useInteractions","getReferenceProps","getFloatingProps","React","createElement","Fragment","Slot","_extends","ref","setReference","FloatingPortal","FloatingFocusManager","setFloating","_objectSpread","Resizable","matchPlacements","Wrapper","cls","classes","FloatingArrow","width","height","fill","concat","tokens","backgroundColor","d","CloseButton","popoverCloseIconButton","onClick","IconClose","sizeToIconSize","color","popoverConfig","name","tag","layout","base","variations","css","defaults"],"mappings":"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"}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
import './Popover.
|
|
1
|
+
import './Popover.styles_1w8fqx9.css';
|
|
2
2
|
import { styled } from '@linaria/react';
|
|
3
3
|
|
|
4
4
|
var base = "bf32er5";
|
|
5
|
+
var Wrapper = /*#__PURE__*/styled('div')({
|
|
6
|
+
name: "Wrapper",
|
|
7
|
+
"class": "w1gxr814",
|
|
8
|
+
propsAsIs: false
|
|
9
|
+
});
|
|
5
10
|
var CloseButton = /*#__PURE__*/styled('button')({
|
|
6
11
|
name: "CloseButton",
|
|
7
|
-
"class": "
|
|
12
|
+
"class": "c3txfur",
|
|
8
13
|
propsAsIs: false
|
|
9
14
|
});
|
|
10
15
|
|
|
11
|
-
export { CloseButton, base };
|
|
16
|
+
export { CloseButton, Wrapper, base };
|
|
12
17
|
//# sourceMappingURL=Popover.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.styles.js","sources":["../../../../../../src/components/_beta/Popover/Popover.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nimport { tokens } from './Popover.tokens';\n\nexport const base = css`\n position: relative;\n background: var(${tokens.backgroundColor});\n padding: var(${tokens.padding});\n border-radius: var(${tokens.borderRadius});\n box-shadow: var(${tokens.boxShadow});\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n`;\n\nexport const CloseButton = styled.button`\n position: absolute;\n top: var(${tokens.iconOffset});\n right: var(${tokens.iconOffset});\n padding: 0;\n margin: 0;\n border: none;\n background: none;\n cursor: pointer;\n line-height: 0;\n color: var(${tokens.iconColor});\n\n &:hover {\n color: var(${tokens.iconColorHover});\n }\n\n &:active {\n color: var(${tokens.iconColorActive});\n }\n`;\n"],"names":["base","
|
|
1
|
+
{"version":3,"file":"Popover.styles.js","sources":["../../../../../../src/components/_beta/Popover/Popover.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nimport { tokens } from './Popover.tokens';\n\nexport const base = css`\n border-radius: var(${tokens.borderRadius});\n`;\n\nexport const Wrapper = styled.div`\n position: relative;\n background: var(${tokens.backgroundColor});\n padding: var(${tokens.padding});\n border-radius: var(${tokens.borderRadius});\n box-shadow: var(${tokens.boxShadow});\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n`;\n\nexport const CloseButton = styled.button`\n position: absolute;\n top: var(${tokens.iconOffset});\n right: var(${tokens.iconOffset});\n padding: 0;\n margin: 0;\n border: none;\n background: none;\n cursor: pointer;\n line-height: 0;\n color: var(${tokens.iconColor});\n\n &:hover {\n color: var(${tokens.iconColorHover});\n }\n\n &:active {\n color: var(${tokens.iconColorActive});\n }\n`;\n"],"names":["base","Wrapper","styled","name","class","propsAsIs","CloseButton"],"mappings":";;AAKO,IAAMA,IAAI,GAEhB,UAAA;AAEM,IAAMC,OAAO,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,SAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAS5B,EAAA;AAEM,IAAMC,WAAW,gBAAGJ,MAAM,CAAA,QAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAmBhC;;;;"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
.bf32er5{border-radius:var(--plasma-popover-border-radius);}
|
|
2
|
+
.w1gxr814{position:relative;background:var(--plasma-popover-background-color);padding:var(--plasma-popover-padding);border-radius:var(--plasma-popover-border-radius);box-shadow:var(--plasma-popover-box-shadow);width:100%;height:100%;box-sizing:border-box;}
|
|
3
|
+
.c3txfur{position:absolute;top:var(--plasma-popover-icon-offset);right:var(--plasma-popover-icon-offset);padding:0;margin:0;border:none;background:none;cursor:pointer;line-height:0;color:var(--plasma-popover-icon-color);}.c3txfur:hover{color:var(--plasma-popover-icon-color-hover);}.c3txfur:active{color:var(--plasma-popover-icon-color-active);}
|
package/dist/css/es/index.css
CHANGED
|
@@ -1260,5 +1260,6 @@
|
|
|
1260
1260
|
.Loader_styles_xzuvzj_spt1qmx__74b0ee03{position:absolute;inset:0;background:var(--plasma_private-overlay-background-color);-webkit-backdrop-filter:var(--spt1qmx-0);backdrop-filter:var(--spt1qmx-0);cursor:var(--spt1qmx-1);--plasma_private-overlay-background-color:var(--spt1qmx-2);}
|
|
1261
1261
|
.Loader_styles_xzuvzj_lh3ju30__74b0ee03{position:relative;z-index:1;}
|
|
1262
1262
|
|
|
1263
|
-
.
|
|
1264
|
-
.
|
|
1263
|
+
.Popover_styles_1w8fqx9_bf32er5__93c24aa0{border-radius:var(--plasma-popover-border-radius);}
|
|
1264
|
+
.Popover_styles_1w8fqx9_w1gxr814__93c24aa0{position:relative;background:var(--plasma-popover-background-color);padding:var(--plasma-popover-padding);border-radius:var(--plasma-popover-border-radius);box-shadow:var(--plasma-popover-box-shadow);width:100%;height:100%;box-sizing:border-box;}
|
|
1265
|
+
.Popover_styles_1w8fqx9_c3txfur__93c24aa0{position:absolute;top:var(--plasma-popover-icon-offset);right:var(--plasma-popover-icon-offset);padding:0;margin:0;border:none;background:none;cursor:pointer;line-height:0;color:var(--plasma-popover-icon-color);}.Popover_styles_1w8fqx9_c3txfur__93c24aa0:hover{color:var(--plasma-popover-icon-color-hover);}.Popover_styles_1w8fqx9_c3txfur__93c24aa0:active{color:var(--plasma-popover-icon-color-active);}
|