@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.
Files changed (46) hide show
  1. package/dist/css/cjs/components/DateTimePicker/DateTimePicker.js +2 -0
  2. package/dist/css/cjs/components/DateTimePicker/DateTimePicker.js.map +1 -1
  3. package/dist/css/cjs/components/TimePicker/TimePicker.js +3 -0
  4. package/dist/css/cjs/components/TimePicker/TimePicker.js.map +1 -1
  5. package/dist/css/cjs/components/TimePickerGrid/TimePickerGrid.js +3 -0
  6. package/dist/css/cjs/components/TimePickerGrid/TimePickerGrid.js.map +1 -1
  7. package/dist/css/cjs/components/_beta/Popover/Popover.js +12 -8
  8. package/dist/css/cjs/components/_beta/Popover/Popover.js.map +1 -1
  9. package/dist/css/cjs/components/_beta/Popover/Popover.styles.js +8 -2
  10. package/dist/css/cjs/components/_beta/Popover/Popover.styles.js.map +1 -1
  11. package/dist/css/cjs/components/_beta/Popover/Popover.styles_1w8fqx9.css +3 -0
  12. package/dist/css/cjs/index.css +3 -2
  13. package/dist/css/es/components/DateTimePicker/DateTimePicker.js +2 -0
  14. package/dist/css/es/components/DateTimePicker/DateTimePicker.js.map +1 -1
  15. package/dist/css/es/components/TimePicker/TimePicker.js +3 -0
  16. package/dist/css/es/components/TimePicker/TimePicker.js.map +1 -1
  17. package/dist/css/es/components/TimePickerGrid/TimePickerGrid.js +3 -0
  18. package/dist/css/es/components/TimePickerGrid/TimePickerGrid.js.map +1 -1
  19. package/dist/css/es/components/_beta/Popover/Popover.js +14 -10
  20. package/dist/css/es/components/_beta/Popover/Popover.js.map +1 -1
  21. package/dist/css/es/components/_beta/Popover/Popover.styles.js +8 -3
  22. package/dist/css/es/components/_beta/Popover/Popover.styles.js.map +1 -1
  23. package/dist/css/es/components/_beta/Popover/Popover.styles_1w8fqx9.css +3 -0
  24. package/dist/css/es/index.css +3 -2
  25. package/dist/emotion/cjs/components/_beta/Popover/Popover.js +15 -11
  26. package/dist/emotion/cjs/components/_beta/Popover/Popover.styles.js +10 -3
  27. package/dist/emotion/cjs/examples/components/Combobox/Combobox.js +15 -0
  28. package/dist/emotion/es/components/DateTimePicker/DateTimePicker.js +1 -0
  29. package/dist/emotion/es/components/_beta/Popover/Popover.js +17 -13
  30. package/dist/emotion/es/components/_beta/Popover/Popover.styles.js +7 -3
  31. package/dist/emotion/es/examples/components/Combobox/Combobox.js +0 -7
  32. package/dist/styled-components/cjs/components/_beta/Popover/Popover.js +13 -9
  33. package/dist/styled-components/cjs/components/_beta/Popover/Popover.styles.js +11 -1
  34. package/dist/styled-components/es/components/DateTimePicker/DateTimePicker.js +1 -0
  35. package/dist/styled-components/es/components/_beta/Popover/Popover.js +15 -11
  36. package/dist/styled-components/es/components/_beta/Popover/Popover.styles.js +8 -1
  37. package/package.json +5 -5
  38. package/types/components/DateTimePicker/DateTimePicker.d.ts.map +1 -1
  39. package/types/components/TimePicker/TimePicker.d.ts.map +1 -1
  40. package/types/components/TimePickerGrid/TimePickerGrid.d.ts.map +1 -1
  41. package/types/components/_beta/Popover/Popover.d.ts +2 -2
  42. package/types/components/_beta/Popover/Popover.d.ts.map +1 -1
  43. package/types/components/_beta/Popover/Popover.styles.d.ts +1 -0
  44. package/types/components/_beta/Popover/Popover.styles.d.ts.map +1 -1
  45. package/dist/css/cjs/components/_beta/Popover/Popover.styles_6agxog.css +0 -2
  46. 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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"}
@@ -20,7 +20,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
20
20
  var React__default = /*#__PURE__*/_interopDefault(React);
21
21
  var cls__default = /*#__PURE__*/_interopDefault(cls);
22
22
 
23
- var _excluded = ["appearance", "children", "target", "opened", "defaultOpened", "trigger", "placement", "hasTail", "flip", "shift", "offset", "outsideClick", "resizable", "onResizeStart", "onResizeEnd", "onToggle", "delayOpen", "delayClose", "zIndex", "className", "size"];
23
+ 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"];
24
24
  /* Ширина хвостика */
25
25
  var ARROW_WIDTH = 20;
26
26
  /* Высота хвостика */
@@ -64,7 +64,9 @@ var popoverRoot = function popoverRoot(Root) {
64
64
  _ref$zIndex = _ref.zIndex,
65
65
  zIndex = _ref$zIndex === void 0 ? 1000 : _ref$zIndex,
66
66
  className = _ref.className,
67
+ style = _ref.style,
67
68
  size = _ref.size,
69
+ view = _ref.view,
68
70
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
69
71
  var _useState = React.useState(defaultOpened),
70
72
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
@@ -83,7 +85,9 @@ var popoverRoot = function popoverRoot(Root) {
83
85
  placement: placement,
84
86
  open: opened,
85
87
  onOpenChange: handleToggle,
86
- middleware: [outsideShift && react.shift(), outsideFlip && react.flip(), hasTail && react.arrow({
88
+ middleware: [outsideShift && react.shift({
89
+ limiter: react.limitShift()
90
+ }), outsideFlip && react.flip(), hasTail && react.arrow({
87
91
  element: arrowRef,
88
92
  padding: ARROW_PADDING
89
93
  }), react.offset((hasTail ? ARROW_HEIGHT : 0) + outerOffset)]
@@ -120,8 +124,10 @@ var popoverRoot = function popoverRoot(Root) {
120
124
  ref: refs.setReference
121
125
  }, getReferenceProps()), target), opened && /*#__PURE__*/React__default.default.createElement(react.FloatingPortal, null, /*#__PURE__*/React__default.default.createElement(react.FloatingFocusManager, {
122
126
  context: context
123
- }, /*#__PURE__*/React__default.default.createElement("div", _rollupPluginBabelHelpers.extends({
127
+ }, /*#__PURE__*/React__default.default.createElement(Root, _rollupPluginBabelHelpers.extends({
124
128
  ref: refs.setFloating,
129
+ size: size,
130
+ view: view,
125
131
  style: _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, floatingStyles), {}, {
126
132
  zIndex: zIndex
127
133
  })
@@ -130,14 +136,12 @@ var popoverRoot = function popoverRoot(Root) {
130
136
  resizable: resizable,
131
137
  onResizeStart: onResizeStart,
132
138
  onResizeEnd: onResizeEnd
133
- }, /*#__PURE__*/React__default.default.createElement(Root, _rollupPluginBabelHelpers.extends({
139
+ }, /*#__PURE__*/React__default.default.createElement(Popover_styles.Wrapper, _rollupPluginBabelHelpers.extends({
134
140
  ref: outerRootRef,
135
- target: target,
136
141
  className: cls__default.default(className, Popover_tokens.classes.popoverRoot),
137
- size: size
138
- }, rest, {
142
+ style: style,
139
143
  "data-popover-open": opened
140
- }), hasTail && /*#__PURE__*/React__default.default.createElement(react.FloatingArrow, {
144
+ }, rest), hasTail && /*#__PURE__*/React__default.default.createElement(react.FloatingArrow, {
141
145
  ref: arrowRef,
142
146
  context: context,
143
147
  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,4 +1,4 @@
1
- require('./Popover.styles_6agxog.css');
1
+ require('./Popover.styles_1w8fqx9.css');
2
2
  'use strict';
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -6,12 +6,18 @@ Object.defineProperty(exports, '__esModule', { value: true });
6
6
  var react = require('@linaria/react');
7
7
 
8
8
  var base = "bf32er5";
9
+ var Wrapper = /*#__PURE__*/react.styled('div')({
10
+ name: "Wrapper",
11
+ "class": "w1gxr814",
12
+ propsAsIs: false
13
+ });
9
14
  var CloseButton = /*#__PURE__*/react.styled('button')({
10
15
  name: "CloseButton",
11
- "class": "c1gxr814",
16
+ "class": "c3txfur",
12
17
  propsAsIs: false
13
18
  });
14
19
 
15
20
  exports.CloseButton = CloseButton;
21
+ exports.Wrapper = Wrapper;
16
22
  exports.base = base;
17
23
  //# 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","CloseButton","styled","name","class","propsAsIs"],"mappings":";;;;;;AAKO,IAAMA,IAAI,GAShB,UAAA;AAEM,IAAMC,WAAW,gBAAGC,YAAM,CAAA,QAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAmBhC;;;;;"}
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,YAAM,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,YAAM,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);}
@@ -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
- .Popover_styles_6agxog_bf32er5__205af627{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;}
1264
- .Popover_styles_6agxog_c1gxr814__205af627{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_6agxog_c1gxr814__205af627:hover{color:var(--plasma-popover-icon-color-hover);}.Popover_styles_6agxog_c1gxr814__205af627:active{color:var(--plasma-popover-icon-color-active);}
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);}
@@ -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,