@salutejs/plasma-new-hope 0.326.0-canary.2013.15518408913.0 → 0.326.0-canary.2013.15538813402.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/cjs/components/Carousel/CarouselNew/Carousel.css +40 -9
- package/cjs/components/Carousel/CarouselNew/Carousel.js +46 -31
- package/cjs/components/Carousel/CarouselNew/Carousel.js.map +1 -1
- package/cjs/components/Carousel/CarouselNew/Carousel.styles.js +43 -2
- package/cjs/components/Carousel/CarouselNew/Carousel.styles.js.map +1 -1
- package/cjs/components/Carousel/CarouselNew/Carousel.styles_1fs4wwn.css +5 -0
- package/cjs/components/Carousel/CarouselNew/Carousel.tokens.js +2 -1
- package/cjs/components/Carousel/CarouselNew/Carousel.tokens.js.map +1 -1
- package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +1 -1
- package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
- package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.css +5 -5
- package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +1 -1
- package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js.map +1 -1
- package/cjs/components/Carousel/CarouselNew/ui/Dots/{Dots.styles_1i4srxq.css → Dots.styles_ea836d.css} +1 -1
- package/cjs/components/DatePicker/SingleDate/SingleDate.js +12 -3
- package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/cjs/components/Sheet/hooks/useOverflow.js +2 -1
- package/cjs/components/Sheet/hooks/useOverflow.js.map +1 -1
- package/cjs/index.css +10 -9
- package/emotion/cjs/components/Carousel/CarouselNew/Carousel.js +48 -35
- package/emotion/cjs/components/Carousel/CarouselNew/Carousel.styles.js +39 -31
- package/emotion/cjs/components/Carousel/CarouselNew/Carousel.tokens.js +2 -1
- package/emotion/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +1 -1
- package/emotion/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +9 -9
- package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +12 -3
- package/emotion/cjs/components/Sheet/hooks/useOverflow.js +2 -1
- package/emotion/cjs/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +9 -20
- package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +12 -3
- package/emotion/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +11 -3
- package/emotion/es/components/Carousel/CarouselNew/Carousel.js +47 -37
- package/emotion/es/components/Carousel/CarouselNew/Carousel.styles.js +38 -30
- package/emotion/es/components/Carousel/CarouselNew/Carousel.tokens.js +2 -1
- package/emotion/es/components/Carousel/CarouselNew/hooks/useCarousel.js +1 -1
- package/emotion/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +9 -9
- package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +12 -3
- package/emotion/es/components/Sheet/hooks/useOverflow.js +2 -1
- package/emotion/es/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +9 -20
- package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +12 -3
- package/emotion/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +11 -3
- package/es/components/Carousel/CarouselNew/Carousel.css +40 -9
- package/es/components/Carousel/CarouselNew/Carousel.js +48 -33
- package/es/components/Carousel/CarouselNew/Carousel.js.map +1 -1
- package/es/components/Carousel/CarouselNew/Carousel.styles.js +39 -3
- package/es/components/Carousel/CarouselNew/Carousel.styles.js.map +1 -1
- package/es/components/Carousel/CarouselNew/Carousel.styles_1fs4wwn.css +5 -0
- package/es/components/Carousel/CarouselNew/Carousel.tokens.js +2 -1
- package/es/components/Carousel/CarouselNew/Carousel.tokens.js.map +1 -1
- package/es/components/Carousel/CarouselNew/hooks/useCarousel.js +1 -1
- package/es/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
- package/es/components/Carousel/CarouselNew/ui/Dots/Dots.css +5 -5
- package/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +1 -1
- package/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js.map +1 -1
- package/es/components/Carousel/CarouselNew/ui/Dots/{Dots.styles_1i4srxq.css → Dots.styles_ea836d.css} +1 -1
- package/es/components/DatePicker/SingleDate/SingleDate.js +12 -3
- package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/es/components/Sheet/hooks/useOverflow.js +2 -1
- package/es/components/Sheet/hooks/useOverflow.js.map +1 -1
- package/es/index.css +10 -9
- package/package.json +5 -5
- package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.js +48 -35
- package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.styles.js +19 -20
- package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.tokens.js +2 -1
- package/styled-components/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +1 -1
- package/styled-components/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +1 -1
- package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +12 -3
- package/styled-components/cjs/components/Sheet/hooks/useOverflow.js +2 -1
- package/styled-components/cjs/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +9 -20
- package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +12 -3
- package/styled-components/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +11 -3
- package/styled-components/es/components/Carousel/CarouselNew/Carousel.js +47 -37
- package/styled-components/es/components/Carousel/CarouselNew/Carousel.styles.js +18 -19
- package/styled-components/es/components/Carousel/CarouselNew/Carousel.tokens.js +2 -1
- package/styled-components/es/components/Carousel/CarouselNew/hooks/useCarousel.js +1 -1
- package/styled-components/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +1 -1
- package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +12 -3
- package/styled-components/es/components/Sheet/hooks/useOverflow.js +2 -1
- package/styled-components/es/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +9 -20
- package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +12 -3
- package/styled-components/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +11 -3
- package/types/components/Carousel/CarouselNew/Carousel.d.ts +2 -8
- package/types/components/Carousel/CarouselNew/Carousel.d.ts.map +1 -1
- package/types/components/Carousel/CarouselNew/Carousel.styles.d.ts +88 -9
- package/types/components/Carousel/CarouselNew/Carousel.styles.d.ts.map +1 -1
- package/types/components/Carousel/CarouselNew/Carousel.tokens.d.ts +1 -0
- package/types/components/Carousel/CarouselNew/Carousel.tokens.d.ts.map +1 -1
- package/types/components/Carousel/CarouselNew/Carousel.types.d.ts +7 -52
- package/types/components/Carousel/CarouselNew/Carousel.types.d.ts.map +1 -1
- package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts +8 -4
- package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts.map +1 -1
- package/types/components/Carousel/CarouselNew/ui/Dots/Dots.styles.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDate.d.ts +0 -2
- package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +0 -4
- package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.d.ts +3 -3
- package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +4 -0
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
- package/types/components/Sheet/hooks/useOverflow.d.ts.map +1 -1
- package/cjs/components/Carousel/CarouselNew/Carousel.styles_1gx7oht.css +0 -4
- package/es/components/Carousel/CarouselNew/Carousel.styles_1gx7oht.css +0 -4
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useCarousel.js","sources":["../../../../../src/components/Carousel/CarouselNew/hooks/useCarousel.tsx"],"sourcesContent":["import React, { useEffect, useCallback, useRef, useMemo } from 'react';\nimport throttle from 'lodash.throttle';\n\nimport { CarouselNewProps as CarouselProps, ScrollAlign, ScrollAxis } from '../Carousel.types';\n\n/**\n * Подсчет смещения из-за паддингов.\n */\nexport const getCalculatedOffset = (scrollEl: Element, trackEl: Element, axis: ScrollAxis) => {\n const paddingProp = axis === 'x' ? 'paddingLeft' : 'paddingTop';\n return parseInt(getComputedStyle(scrollEl)[paddingProp], 10) + parseInt(getComputedStyle(trackEl)[paddingProp], 10);\n};\n\nconst positionModByScrollAlign = ({\n scrollAlign,\n position,\n carouselSize,\n itemSize,\n offset,\n scrollStart,\n axis,\n}: {\n scrollAlign: ScrollAlign;\n position: number;\n carouselSize: number;\n itemSize: number;\n offset: number;\n scrollStart: number;\n axis: ScrollAxis;\n}) => {\n if (scrollAlign === 'start') {\n const inaccuracy = 1;\n const paddingOffset = axis === 'y' ? offset - itemSize / 2 + inaccuracy : 0;\n return position + paddingOffset;\n }\n if (scrollAlign === 'center') {\n return position - carouselSize / 2 + itemSize / 2;\n }\n if (scrollAlign === 'end') {\n return position - carouselSize + itemSize + offset;\n }\n if (scrollAlign === 'activeDirection') {\n if (position >= scrollStart + carouselSize - itemSize) {\n return position - carouselSize + itemSize + offset;\n }\n if (position > scrollStart) {\n return scrollStart;\n }\n }\n return position;\n};\n\n/**\n * Подсчет скролла до переданного индекса.\n */\nexport const getCalculatedPos = ({\n scrollEl,\n items,\n axis,\n index,\n offset,\n scrollAlign,\n}: {\n scrollEl: HTMLElement;\n items: HTMLCollectionOf<HTMLElement>;\n axis: ScrollAxis;\n index: number;\n offset: number;\n scrollAlign: ScrollAlign;\n}) => {\n let position = scrollAlign === 'center' ? offset : 0;\n let carouselSize: number;\n let itemSize: number;\n let scrollStart: number;\n\n if (items.item(index) === null) {\n return position;\n }\n\n for (let i = 0; i < index; i++) {\n if (axis === 'x') {\n position += items.item(i)?.offsetWidth ?? 0;\n } else {\n position += items.item(i)?.offsetHeight ?? 0;\n }\n }\n\n if (axis === 'x') {\n carouselSize = scrollEl.offsetWidth;\n itemSize = items.item(index)?.offsetWidth ?? 0;\n scrollStart = scrollEl.scrollLeft;\n } else {\n carouselSize = scrollEl.offsetHeight;\n itemSize = items.item(index)?.offsetHeight ?? 0;\n scrollStart = scrollEl.scrollTop;\n }\n\n return positionModByScrollAlign({\n scrollAlign,\n position,\n carouselSize,\n itemSize,\n offset,\n scrollStart,\n axis,\n });\n};\n\nconst DEFAULT_DURATION = 300;\n\n// https://css-tricks.com/emulating-css-timing-functions-javascript/\nconst tfs = {\n linear: (t: number) => t,\n // eslint-disable-next-line\n easeIn: (t: number) => Math.pow(t, 1.675),\n // eslint-disable-next-line\n easeOut: (t: number) => 1 - Math.pow(1 - t, 1.675),\n easeInOut: (t: number) => 0.5 * (Math.sin((t - 0.5) * Math.PI) + 1),\n};\n\nexport type TimingFunction = keyof typeof tfs;\n\n/**\n * Плавная прокрутка по горизонтали\n * @param {Element} elem\n * @param {number} pos\n * @param {number} duration\n * @param {string} timingFunction\n */\nexport const animatedScrollToX = (\n elem: Element,\n pos: number,\n duration: number = DEFAULT_DURATION,\n timingFunction: TimingFunction = 'easeInOut',\n): void => {\n let startTime: number;\n const startX = elem.scrollLeft;\n const endX = Math.max(0, Math.min(elem.scrollWidth - elem.clientWidth, pos));\n\n const handleNewAnimationFrame = (): void => {\n startTime = startTime || Date.now();\n const timePos = Math.min(1, Math.max(1, Date.now() - startTime) / duration);\n const scrollPos = tfs[timingFunction](timePos);\n const left = startX + (endX - startX) * scrollPos;\n elem.scrollTo({ left });\n if (timePos !== 1) window.requestAnimationFrame(handleNewAnimationFrame);\n };\n\n window.requestAnimationFrame(handleNewAnimationFrame);\n};\n\n/**\n * Прокрутка к указанной позиции с анимацией или без.\n */\nexport const scrollToPos = ({\n scrollEl,\n pos,\n axis,\n animated,\n duration,\n timingFunction,\n}: {\n scrollEl: HTMLElement;\n pos: number;\n axis: ScrollAxis;\n animated?: boolean;\n duration?: number;\n timingFunction?: TimingFunction;\n}) => {\n if (axis === 'x' && Math.abs(pos - scrollEl.scrollLeft) > 1) {\n if (animated) {\n animatedScrollToX(scrollEl, pos, duration, timingFunction);\n } else {\n scrollEl.scrollTo({ left: pos });\n }\n }\n};\n\nconst round = (n: number) => Math.round(n * 100) / 100;\n\n/**\n * Получить позицию (слот) айтема в каруселе.\n * Каждый айтем имеет свой слот относительно вьюпорта карусели.\n */\nexport const getItemSlot = (\n itemIndex: number,\n itemEnd: number,\n itemSize: number,\n scrollStart: number,\n scrollSize: number,\n scrollAlign: ScrollAlign,\n prevIndex = 0,\n offset = 0,\n) => {\n /**\n * Граница и центр скролла (видимой части).\n * Смещение + размер.\n */\n const scrollEnd = scrollStart + scrollSize;\n const scrollCenter = scrollStart + scrollSize / 2;\n const itemCenter = itemEnd - itemSize / 2;\n\n if (scrollAlign === 'center') {\n return round((itemCenter - scrollCenter) / itemSize);\n }\n if (scrollAlign === 'start') {\n return round((itemEnd - itemSize - scrollStart) / itemSize);\n }\n if (scrollAlign === 'end') {\n return round((itemEnd - (scrollSize + scrollStart)) / itemSize);\n }\n if (scrollAlign === 'activeDirection') {\n const prevStart = offset + itemSize * prevIndex;\n const prevEnd = prevStart + itemSize;\n const prevVisible = prevEnd > scrollStart && prevStart < scrollEnd;\n\n if (!prevVisible) {\n if (prevIndex < itemIndex) {\n return round((itemEnd - (scrollSize + scrollStart)) / itemSize);\n }\n return round((itemEnd - itemSize - scrollStart) / itemSize);\n }\n }\n return null;\n};\n\nexport function getCarouselItems(track: HTMLElement): HTMLCollectionOf<HTMLElement> {\n return track.children as HTMLCollectionOf<HTMLElement>;\n}\n\nexport function useDebouncedFunction(func: (...args: any) => any, delay: number, cleanUp?: boolean) {\n const timeoutRef = useRef<number>();\n\n /**\n * Очистка таймера\n */\n function clearTimer() {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = undefined;\n }\n }\n\n /**\n * Очищаем таймер при анмаунте компонента, если cleanUp выставлен в true\n * и тем самым отменяем последний запланированный вызов\n */\n useEffect(() => (cleanUp ? clearTimer : undefined), [cleanUp]);\n\n return (...args: any[]) => {\n clearTimer();\n timeoutRef.current = setTimeout(() => func(...args), delay);\n };\n}\n\ntype UseCarouselOptions = Pick<\n CarouselProps,\n 'index' | 'scrollAlign' | 'detectActive' | 'detectThreshold' | 'onIndexChange'\n> & {\n throttleMs?: number;\n debounceMs?: number;\n};\n\ntype UseCarouselHookResult = {\n scrollRef: React.MutableRefObject<HTMLElement | null>;\n trackRef: React.MutableRefObject<HTMLElement | null>;\n};\n\nconst THROTTLE_DEFAULT_MS = 100;\nconst DEBOUNCE_DEFAULT_MS = 150;\n\nexport const useCarousel = ({\n index,\n detectActive = false,\n detectThreshold = 0.5,\n scrollAlign = 'center',\n onIndexChange,\n throttleMs = THROTTLE_DEFAULT_MS,\n debounceMs = DEBOUNCE_DEFAULT_MS,\n}: UseCarouselOptions): UseCarouselHookResult => {\n const prevIndex = useRef<number | null>(null);\n const offset = useRef(0);\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n const axis = 'x';\n\n /**\n * Для того, чтобы не спамить изменениями индекса.\n * Задержка дебаунса слегка больше, чем у тротлинга.\n * Таким образом, событие срабатывает при завершении скролла.\n */\n const debouncedOnIndexChange = useDebouncedFunction((i: number) => onIndexChange?.(i), debounceMs);\n\n /**\n * Вычисление центрального элемента.\n * Подсчет: от 0 до 1, какое количество ширины/высоты\n * каждого элемента находится по центру скролла.\n */\n const throttledDetectActiveItem = useMemo(() => {\n return throttle(() => {\n if (!detectActive || scrollRef.current === null || trackRef.current === null) {\n return;\n }\n\n /**\n * Правая (или нижняя для Оу) граница элемента.\n */\n let itemEdge = offset.current;\n\n /**\n * Смещение (отрицательный или положительный отступ)\n * и размер карусели (для Ox - ширина, для Oy - высота).\n */\n const scrollPos = scrollRef.current[axis === 'x' ? 'scrollLeft' : 'scrollTop'];\n const scrollSize = scrollRef.current[axis === 'x' ? 'offsetWidth' : 'offsetHeight'];\n\n /**\n * Граница скролла (видимой части).\n * Смещение + размер.\n */\n const scrollEdge = scrollPos + scrollSize;\n\n const items = getCarouselItems(trackRef.current);\n\n /**\n * Проходим по всему списку, суммируя ширины элементов,\n * пока не найдем один элемент, чей центр будет в центре карусели.\n */\n for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {\n const item = items.item(itemIndex);\n\n if (item === null) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n /**\n * Для Ox - ширина, для Oy - высота.\n */\n const itemSize = item[axis === 'x' ? 'offsetWidth' : 'offsetHeight'];\n\n /**\n * Все элементы правее вьюпорта выпадают из процедуры.\n * Сравниваем по предыдущему элементу.\n * [ ... ] ...|n| <- Левый край элемента за пределами начала видимой части\n */\n if (itemEdge > scrollEdge) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n itemEdge += itemSize;\n\n /**\n * Все элементы левее вьюпорта выпадают из процедуры.\n * Сравниваем по текущему элементу.\n * Правый край элемента за пределами начала видимой части -> |p|... [ ... ]\n */\n if (scrollPos > itemEdge) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n const itemSlot = getItemSlot(\n itemIndex,\n itemEdge,\n itemSize,\n scrollPos,\n scrollSize,\n scrollAlign,\n prevIndex.current ?? 0,\n offset.current,\n );\n\n if (itemSlot !== null) {\n if (detectThreshold && Math.abs(itemSlot) <= detectThreshold) {\n debouncedOnIndexChange?.(itemIndex);\n }\n }\n }\n }, throttleMs);\n }, [axis, debouncedOnIndexChange, detectActive, detectThreshold, scrollAlign, throttleMs]);\n\n /**\n * Прокрутка до нужной позиции индекса.\n */\n const toIndex = useCallback(\n (i: number) => {\n const scrollEl = scrollRef.current;\n const items = trackRef.current ? getCarouselItems(trackRef.current) : null;\n\n if (scrollEl && items && items.length > 0 && i >= 0) {\n scrollToPos({\n scrollEl,\n pos: getCalculatedPos({\n scrollEl,\n items,\n axis,\n index: i,\n offset: offset.current,\n scrollAlign,\n }),\n axis,\n });\n prevIndex.current = i;\n }\n },\n [axis, scrollAlign],\n );\n\n useEffect(() => {\n if (scrollRef.current && trackRef.current) {\n offset.current = getCalculatedOffset(scrollRef.current, trackRef.current, axis);\n }\n }, [axis]);\n\n /**\n * Операции на маунте/анмаунте компонента.\n * Создать слушатели событи и т.п.\n */\n useEffect(() => {\n const carouselElement = scrollRef.current;\n\n if (carouselElement) {\n carouselElement.addEventListener('scroll', throttledDetectActiveItem);\n }\n\n return () => {\n if (carouselElement) {\n carouselElement.removeEventListener('scroll', throttledDetectActiveItem);\n }\n };\n }, [throttledDetectActiveItem]);\n\n /**\n * Нужно вызвать только при первом рендере\n */\n // useEffect(() => {\n // requestAnimationFrame(() => {\n // /**\n // * Прокрутка до начального индекса.\n // */\n // toIndex(index);\n //\n // /**\n // * Если на момент запуска карусель уже находится на нужной позиции,\n // * событие скролла не произойдет, не сработает и определение центра,\n // * необходимо вызвать его вручную.\n // */\n // throttledDetectActiveItem();\n // });\n //\n // // eslint-disable-next-line react-hooks/exhaustive-deps\n // }, []);\n\n /**\n * Прокрутка до нужной позиции индекса, если индекс изменился.\n */\n useEffect(() => {\n if (index !== prevIndex.current) {\n toIndex(index);\n }\n }, [index, toIndex]);\n\n return {\n scrollRef,\n trackRef,\n };\n};\n"],"names":["getCalculatedOffset","scrollEl","trackEl","axis","paddingProp","parseInt","getComputedStyle","positionModByScrollAlign","_ref","scrollAlign","position","carouselSize","itemSize","offset","scrollStart","inaccuracy","paddingOffset","getCalculatedPos","_ref2","items","index","item","i","_items$item$offsetWid","_items$item","offsetWidth","_items$item$offsetHei","_items$item2","offsetHeight","_items$item$offsetWid2","_items$item3","scrollLeft","_items$item$offsetHei2","_items$item4","scrollTop","DEFAULT_DURATION","tfs","linear","t","easeIn","Math","pow","easeOut","easeInOut","sin","PI","animatedScrollToX","elem","pos","duration","arguments","length","undefined","timingFunction","startTime","startX","endX","max","min","scrollWidth","clientWidth","handleNewAnimationFrame","Date","now","timePos","scrollPos","left","scrollTo","window","requestAnimationFrame","scrollToPos","_ref3","animated","abs","round","n","getItemSlot","itemIndex","itemEnd","scrollSize","prevIndex","scrollEnd","scrollCenter","itemCenter","prevStart","prevEnd","prevVisible","getCarouselItems","track","children","useDebouncedFunction","func","delay","cleanUp","timeoutRef","useRef","clearTimer","current","clearTimeout","useEffect","_len","args","Array","_key","setTimeout","apply","THROTTLE_DEFAULT_MS","DEBOUNCE_DEFAULT_MS","useCarousel","_ref4","_ref4$detectActive","detectActive","_ref4$detectThreshold","detectThreshold","_ref4$scrollAlign","onIndexChange","_ref4$throttleMs","throttleMs","_ref4$debounceMs","debounceMs","scrollRef","trackRef","debouncedOnIndexChange","throttledDetectActiveItem","useMemo","throttle","itemEdge","scrollEdge","_prevIndex$current","itemSlot","toIndex","useCallback","carouselElement","addEventListener","removeEventListener"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useCarousel.js","sources":["../../../../../src/components/Carousel/CarouselNew/hooks/useCarousel.tsx"],"sourcesContent":["import React, { useEffect, useCallback, useRef, useMemo } from 'react';\nimport throttle from 'lodash.throttle';\n\nimport { CarouselNewProps as CarouselProps, ScrollAlign, ScrollAxis } from '../Carousel.types';\n\n/**\n * Подсчет смещения из-за паддингов.\n */\nexport const getCalculatedOffset = (scrollEl: Element, trackEl: Element, axis: ScrollAxis) => {\n const paddingProp = axis === 'x' ? 'paddingLeft' : 'paddingTop';\n return parseInt(getComputedStyle(scrollEl)[paddingProp], 10) + parseInt(getComputedStyle(trackEl)[paddingProp], 10);\n};\n\nconst positionModByScrollAlign = ({\n scrollAlign,\n position,\n carouselSize,\n itemSize,\n offset,\n scrollStart,\n axis,\n}: {\n scrollAlign: ScrollAlign;\n position: number;\n carouselSize: number;\n itemSize: number;\n offset: number;\n scrollStart: number;\n axis: ScrollAxis;\n}) => {\n if (scrollAlign === 'start') {\n const inaccuracy = 1;\n const paddingOffset = axis === 'y' ? offset - itemSize / 2 + inaccuracy : 0;\n return position + paddingOffset;\n }\n if (scrollAlign === 'center') {\n return position - carouselSize / 2 + itemSize / 2;\n }\n if (scrollAlign === 'end') {\n return position - carouselSize + itemSize + offset;\n }\n if (scrollAlign === 'activeDirection') {\n if (position >= scrollStart + carouselSize - itemSize) {\n return position - carouselSize + itemSize + offset;\n }\n if (position > scrollStart) {\n return scrollStart;\n }\n }\n return position;\n};\n\n/**\n * Подсчет скролла до переданного индекса.\n */\nexport const getCalculatedPos = ({\n scrollEl,\n items,\n axis,\n index,\n offset,\n scrollAlign,\n}: {\n scrollEl: HTMLElement;\n items: HTMLCollectionOf<HTMLElement>;\n axis: ScrollAxis;\n index: number;\n offset: number;\n scrollAlign: ScrollAlign;\n}) => {\n let position = scrollAlign === 'center' ? offset : 0;\n let carouselSize: number;\n let itemSize: number;\n let scrollStart: number;\n\n if (items.item(index) === null) {\n return position;\n }\n\n for (let i = 0; i < index; i++) {\n if (axis === 'x') {\n position += items.item(i)?.offsetWidth ?? 0;\n } else {\n position += items.item(i)?.offsetHeight ?? 0;\n }\n }\n\n if (axis === 'x') {\n carouselSize = scrollEl.offsetWidth;\n itemSize = items.item(index)?.offsetWidth ?? 0;\n scrollStart = scrollEl.scrollLeft;\n } else {\n carouselSize = scrollEl.offsetHeight;\n itemSize = items.item(index)?.offsetHeight ?? 0;\n scrollStart = scrollEl.scrollTop;\n }\n\n return positionModByScrollAlign({\n scrollAlign,\n position,\n carouselSize,\n itemSize,\n offset,\n scrollStart,\n axis,\n });\n};\n\nconst DEFAULT_DURATION = 300;\n\n// https://css-tricks.com/emulating-css-timing-functions-javascript/\nconst tfs = {\n linear: (t: number) => t,\n // eslint-disable-next-line\n easeIn: (t: number) => Math.pow(t, 1.675),\n // eslint-disable-next-line\n easeOut: (t: number) => 1 - Math.pow(1 - t, 1.675),\n easeInOut: (t: number) => 0.5 * (Math.sin((t - 0.5) * Math.PI) + 1),\n};\n\nexport type TimingFunction = keyof typeof tfs;\n\n/**\n * Плавная прокрутка по горизонтали\n * @param {Element} elem\n * @param {number} pos\n * @param {number} duration\n * @param {string} timingFunction\n */\nexport const animatedScrollToX = (\n elem: Element,\n pos: number,\n duration: number = DEFAULT_DURATION,\n timingFunction: TimingFunction = 'easeInOut',\n): void => {\n let startTime: number;\n const startX = elem.scrollLeft;\n const endX = Math.max(0, Math.min(elem.scrollWidth - elem.clientWidth, pos));\n\n const handleNewAnimationFrame = (): void => {\n startTime = startTime || Date.now();\n const timePos = Math.min(1, Math.max(1, Date.now() - startTime) / duration);\n const scrollPos = tfs[timingFunction](timePos);\n const left = startX + (endX - startX) * scrollPos;\n elem.scrollTo({ left });\n if (timePos !== 1) window.requestAnimationFrame(handleNewAnimationFrame);\n };\n\n window.requestAnimationFrame(handleNewAnimationFrame);\n};\n\n/**\n * Прокрутка к указанной позиции с анимацией или без.\n */\nexport const scrollToPos = ({\n scrollEl,\n pos,\n axis,\n animated,\n duration,\n timingFunction,\n}: {\n scrollEl: HTMLElement;\n pos: number;\n axis: ScrollAxis;\n animated?: boolean;\n duration?: number;\n timingFunction?: TimingFunction;\n}) => {\n if (axis === 'x' && Math.abs(pos - scrollEl.scrollLeft) > 1) {\n if (animated) {\n animatedScrollToX(scrollEl, pos, duration, timingFunction);\n } else {\n scrollEl.scrollTo({ left: pos });\n }\n }\n};\n\nconst round = (n: number) => Math.round(n * 100) / 100;\n\n/**\n * Получить позицию (слот) айтема в каруселе.\n * Каждый айтем имеет свой слот относительно вьюпорта карусели.\n */\nexport const getItemSlot = (\n itemIndex: number,\n itemEnd: number,\n itemSize: number,\n scrollStart: number,\n scrollSize: number,\n scrollAlign: ScrollAlign,\n prevIndex = 0,\n offset = 0,\n) => {\n /**\n * Граница и центр скролла (видимой части).\n * Смещение + размер.\n */\n const scrollEnd = scrollStart + scrollSize;\n const scrollCenter = scrollStart + scrollSize / 2;\n const itemCenter = itemEnd - itemSize / 2;\n\n if (scrollAlign === 'center') {\n return round((itemCenter - scrollCenter) / itemSize);\n }\n if (scrollAlign === 'start') {\n return round((itemEnd - itemSize - scrollStart) / itemSize);\n }\n if (scrollAlign === 'end') {\n return round((itemEnd - (scrollSize + scrollStart)) / itemSize);\n }\n if (scrollAlign === 'activeDirection') {\n const prevStart = offset + itemSize * prevIndex;\n const prevEnd = prevStart + itemSize;\n const prevVisible = prevEnd > scrollStart && prevStart < scrollEnd;\n\n if (!prevVisible) {\n if (prevIndex < itemIndex) {\n return round((itemEnd - (scrollSize + scrollStart)) / itemSize);\n }\n return round((itemEnd - itemSize - scrollStart) / itemSize);\n }\n }\n return null;\n};\n\nexport function getCarouselItems(track: HTMLElement): HTMLCollectionOf<HTMLElement> {\n return track.children as HTMLCollectionOf<HTMLElement>;\n}\n\nexport function useDebouncedFunction(func: (...args: any) => any, delay: number, cleanUp?: boolean) {\n const timeoutRef = useRef<number>();\n\n /**\n * Очистка таймера\n */\n function clearTimer() {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = undefined;\n }\n }\n\n /**\n * Очищаем таймер при анмаунте компонента, если cleanUp выставлен в true\n * и тем самым отменяем последний запланированный вызов\n */\n useEffect(() => (cleanUp ? clearTimer : undefined), [cleanUp]);\n\n return (...args: any[]) => {\n clearTimer();\n timeoutRef.current = setTimeout(() => func(...args), delay);\n };\n}\n\ntype UseCarouselOptions = Pick<CarouselProps, 'scrollAlign'> & {\n index: number;\n throttleMs?: number;\n debounceMs?: number;\n detectActive?: boolean;\n detectThreshold?: number;\n onIndexChange?: (e: any) => void;\n};\n\ntype UseCarouselHookResult = {\n scrollRef: React.RefObject<HTMLDivElement>;\n trackRef: React.RefObject<HTMLDivElement>;\n};\n\nconst THROTTLE_DEFAULT_MS = 100;\nconst DEBOUNCE_DEFAULT_MS = 150;\n\nexport const useCarousel = ({\n index,\n onIndexChange,\n detectActive = false,\n detectThreshold = 0.5,\n scrollAlign = 'center',\n throttleMs = THROTTLE_DEFAULT_MS,\n debounceMs = DEBOUNCE_DEFAULT_MS,\n}: UseCarouselOptions): UseCarouselHookResult => {\n const prevIndex = useRef<number | null>(null);\n const offset = useRef(0);\n const scrollRef = useRef<HTMLDivElement>(null);\n const trackRef = useRef<HTMLDivElement>(null);\n const axis = 'x';\n\n /**\n * Для того, чтобы не спамить изменениями индекса.\n * Задержка дебаунса слегка больше, чем у тротлинга.\n * Таким образом, событие срабатывает при завершении скролла.\n */\n const debouncedOnIndexChange = useDebouncedFunction((i: number) => onIndexChange?.(i), debounceMs);\n\n /**\n * Вычисление центрального элемента.\n * Подсчет: от 0 до 1, какое количество ширины/высоты\n * каждого элемента находится по центру скролла.\n */\n const throttledDetectActiveItem = useMemo(() => {\n return throttle(() => {\n if (!detectActive || scrollRef.current === null || trackRef.current === null) {\n return;\n }\n\n /**\n * Правая (или нижняя для Оу) граница элемента.\n */\n let itemEdge = offset.current;\n\n /**\n * Смещение (отрицательный или положительный отступ)\n * и размер карусели (для Ox - ширина, для Oy - высота).\n */\n const scrollPos = scrollRef.current[axis === 'x' ? 'scrollLeft' : 'scrollTop'];\n const scrollSize = scrollRef.current[axis === 'x' ? 'offsetWidth' : 'offsetHeight'];\n\n /**\n * Граница скролла (видимой части).\n * Смещение + размер.\n */\n const scrollEdge = scrollPos + scrollSize;\n\n const items = getCarouselItems(trackRef.current);\n\n /**\n * Проходим по всему списку, суммируя ширины элементов,\n * пока не найдем один элемент, чей центр будет в центре карусели.\n */\n for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {\n const item = items.item(itemIndex);\n\n if (item === null) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n /**\n * Для Ox - ширина, для Oy - высота.\n */\n const itemSize = item[axis === 'x' ? 'offsetWidth' : 'offsetHeight'];\n\n /**\n * Все элементы правее вьюпорта выпадают из процедуры.\n * Сравниваем по предыдущему элементу.\n * [ ... ] ...|n| <- Левый край элемента за пределами начала видимой части\n */\n if (itemEdge > scrollEdge) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n itemEdge += itemSize;\n\n /**\n * Все элементы левее вьюпорта выпадают из процедуры.\n * Сравниваем по текущему элементу.\n * Правый край элемента за пределами начала видимой части -> |p|... [ ... ]\n */\n if (scrollPos > itemEdge) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n const itemSlot = getItemSlot(\n itemIndex,\n itemEdge,\n itemSize,\n scrollPos,\n scrollSize,\n scrollAlign,\n prevIndex.current ?? 0,\n offset.current,\n );\n\n if (itemSlot !== null) {\n if (detectThreshold && Math.abs(itemSlot) <= detectThreshold) {\n debouncedOnIndexChange?.(itemIndex);\n }\n }\n }\n }, throttleMs);\n }, [axis, debouncedOnIndexChange, detectActive, detectThreshold, scrollAlign, throttleMs]);\n\n /**\n * Прокрутка до нужной позиции индекса.\n */\n const toIndex = useCallback(\n (i: number) => {\n const scrollEl = scrollRef.current;\n const items = trackRef.current ? getCarouselItems(trackRef.current) : null;\n\n if (scrollEl && items && items.length > 0 && i >= 0) {\n scrollToPos({\n scrollEl,\n pos: getCalculatedPos({\n scrollEl,\n items,\n axis,\n index: i,\n offset: offset.current,\n scrollAlign,\n }),\n axis,\n });\n prevIndex.current = i;\n }\n },\n [axis, scrollAlign],\n );\n\n useEffect(() => {\n if (scrollRef.current && trackRef.current) {\n offset.current = getCalculatedOffset(scrollRef.current, trackRef.current, axis);\n }\n }, [axis]);\n\n /**\n * Операции на маунте/анмаунте компонента.\n * Создать слушатели событи и т.п.\n */\n useEffect(() => {\n const carouselElement = scrollRef.current;\n\n if (carouselElement) {\n carouselElement.addEventListener('scroll', throttledDetectActiveItem);\n }\n\n return () => {\n if (carouselElement) {\n carouselElement.removeEventListener('scroll', throttledDetectActiveItem);\n }\n };\n }, [throttledDetectActiveItem]);\n\n /**\n * Нужно вызвать только при первом рендере\n */\n // useEffect(() => {\n // requestAnimationFrame(() => {\n // /**\n // * Прокрутка до начального индекса.\n // */\n // toIndex(index);\n //\n // /**\n // * Если на момент запуска карусель уже находится на нужной позиции,\n // * событие скролла не произойдет, не сработает и определение центра,\n // * необходимо вызвать его вручную.\n // */\n // throttledDetectActiveItem();\n // });\n //\n // // eslint-disable-next-line react-hooks/exhaustive-deps\n // }, []);\n\n /**\n * Прокрутка до нужной позиции индекса, если индекс изменился.\n */\n useEffect(() => {\n if (index !== prevIndex.current) {\n toIndex(index);\n }\n }, [index, toIndex]);\n\n return {\n scrollRef,\n trackRef,\n };\n};\n"],"names":["getCalculatedOffset","scrollEl","trackEl","axis","paddingProp","parseInt","getComputedStyle","positionModByScrollAlign","_ref","scrollAlign","position","carouselSize","itemSize","offset","scrollStart","inaccuracy","paddingOffset","getCalculatedPos","_ref2","items","index","item","i","_items$item$offsetWid","_items$item","offsetWidth","_items$item$offsetHei","_items$item2","offsetHeight","_items$item$offsetWid2","_items$item3","scrollLeft","_items$item$offsetHei2","_items$item4","scrollTop","DEFAULT_DURATION","tfs","linear","t","easeIn","Math","pow","easeOut","easeInOut","sin","PI","animatedScrollToX","elem","pos","duration","arguments","length","undefined","timingFunction","startTime","startX","endX","max","min","scrollWidth","clientWidth","handleNewAnimationFrame","Date","now","timePos","scrollPos","left","scrollTo","window","requestAnimationFrame","scrollToPos","_ref3","animated","abs","round","n","getItemSlot","itemIndex","itemEnd","scrollSize","prevIndex","scrollEnd","scrollCenter","itemCenter","prevStart","prevEnd","prevVisible","getCarouselItems","track","children","useDebouncedFunction","func","delay","cleanUp","timeoutRef","useRef","clearTimer","current","clearTimeout","useEffect","_len","args","Array","_key","setTimeout","apply","THROTTLE_DEFAULT_MS","DEBOUNCE_DEFAULT_MS","useCarousel","_ref4","onIndexChange","_ref4$detectActive","detectActive","_ref4$detectThreshold","detectThreshold","_ref4$scrollAlign","_ref4$throttleMs","throttleMs","_ref4$debounceMs","debounceMs","scrollRef","trackRef","debouncedOnIndexChange","throttledDetectActiveItem","useMemo","throttle","itemEdge","scrollEdge","_prevIndex$current","itemSlot","toIndex","useCallback","carouselElement","addEventListener","removeEventListener"],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
.
|
2
|
-
.
|
3
|
-
.
|
4
|
-
.
|
5
|
-
.
|
1
|
+
.Dots_styles_ea836d_wn5xio__3fa33efc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-top:0.75rem;--duration:0.3s;--half-duration:0.15s;}
|
2
|
+
.Dots_styles_ea836d_tnn1xpa__3fa33efc{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transition:-webkit-transform 0s ease;-webkit-transition:transform 0s ease;transition:transform 0s ease;}.Dots_styles_ea836d_tnn1xpa__3fa33efc.Dots_styles_ea836d_dotAnimating__3fa33efc{-webkit-transition:-webkit-transform var(--duration) ease;-webkit-transition:transform var(--duration) ease;transition:transform var(--duration) ease;}.Dots_styles_ea836d_tnn1xpa__3fa33efc .Dots_styles_ea836d_dot__3fa33efc{width:0.5rem;height:0.5rem;margin:0 0.25rem;cursor:pointer;background-color:var(--plasma-carousel-pagination-dot-background);border-radius:100%;}.Dots_styles_ea836d_tnn1xpa__3fa33efc .Dots_styles_ea836d_dot__3fa33efc.Dots_styles_ea836d_dotActive__3fa33efc{background-color:var(--plasma-carousel-pagination-dot-active-background);}@-webkit-keyframes Dots_styles_ea836d_fadeOutTnn1xpa__3fa33efc{from{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}}@keyframes Dots_styles_ea836d_fadeOutTnn1xpa__3fa33efc{from{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}}.Dots_styles_ea836d_tnn1xpa__3fa33efc .Dots_styles_ea836d_dot__3fa33efc.Dots_styles_ea836d_dotAnimateOut__3fa33efc{-webkit-animation:Dots_styles_ea836d_fadeOutTnn1xpa__3fa33efc var(--half-duration) ease forwards;animation:Dots_styles_ea836d_fadeOutTnn1xpa__3fa33efc var(--half-duration) ease forwards;}@-webkit-keyframes Dots_styles_ea836d_shrinkingTnn1xpa__3fa33efc{from{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}}@keyframes Dots_styles_ea836d_shrinkingTnn1xpa__3fa33efc{from{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}}.Dots_styles_ea836d_tnn1xpa__3fa33efc .Dots_styles_ea836d_dot__3fa33efc.Dots_styles_ea836d_dotShrinking__3fa33efc{-webkit-animation:Dots_styles_ea836d_shrinkingTnn1xpa__3fa33efc var(--half-duration) var(--half-duration) ease forwards;animation:Dots_styles_ea836d_shrinkingTnn1xpa__3fa33efc var(--half-duration) var(--half-duration) ease forwards;}
|
3
|
+
.Dots_styles_ea836d_d1k0jsbc__3fa33efc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.Dots_styles_ea836d_d1k0jsbc__3fa33efc.Dots_styles_ea836d_dotAvailableDotsLeft__3fa33efc .Dots_styles_ea836d_dot__3fa33efc:not(.Dots_styles_ea836d_dotTemporaryNatural__3fa33efc):first-child{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}.Dots_styles_ea836d_d1k0jsbc__3fa33efc.Dots_styles_ea836d_dotAvailableDotsRight__3fa33efc .Dots_styles_ea836d_dot__3fa33efc:not(.Dots_styles_ea836d_dotTemporaryNatural__3fa33efc):last-child{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}.Dots_styles_ea836d_d1k0jsbc__3fa33efc.Dots_styles_ea836d_dotAnimating__3fa33efc .Dots_styles_ea836d_dot__3fa33efc{-webkit-transition:background-color var(--duration) ease;transition:background-color var(--duration) ease;}
|
4
|
+
.Dots_styles_ea836d_laqzsgq__3fa33efc{position:absolute;top:0;right:100%;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.Dots_styles_ea836d_laqzsgq__3fa33efc .Dots_styles_ea836d_dot__3fa33efc{-webkit-transition:-webkit-transform var(--duration) ease;-webkit-transition:transform var(--duration) ease;transition:transform var(--duration) ease;}@-webkit-keyframes Dots_styles_ea836d_fadeInLaqzsgq__3fa33efc{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1;}}@keyframes Dots_styles_ea836d_fadeInLaqzsgq__3fa33efc{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1;}}.Dots_styles_ea836d_laqzsgq__3fa33efc .Dots_styles_ea836d_dot__3fa33efc.Dots_styles_ea836d_dotAnimateIn__3fa33efc{-webkit-animation:Dots_styles_ea836d_fadeInLaqzsgq__3fa33efc var(--half-duration) ease forwards;animation:Dots_styles_ea836d_fadeInLaqzsgq__3fa33efc var(--half-duration) ease forwards;}@-webkit-keyframes Dots_styles_ea836d_fadeInFirstLaqzsgq__3fa33efc{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}}@keyframes Dots_styles_ea836d_fadeInFirstLaqzsgq__3fa33efc{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}}.Dots_styles_ea836d_laqzsgq__3fa33efc .Dots_styles_ea836d_dot__3fa33efc:first-child.Dots_styles_ea836d_dotAnimateIn__3fa33efc{-webkit-animation:Dots_styles_ea836d_fadeInFirstLaqzsgq__3fa33efc var(--half-duration) ease forwards;animation:Dots_styles_ea836d_fadeInFirstLaqzsgq__3fa33efc var(--half-duration) ease forwards;}
|
5
|
+
.Dots_styles_ea836d_rp088ba__3fa33efc{position:absolute;top:0;left:100%;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.Dots_styles_ea836d_rp088ba__3fa33efc .Dots_styles_ea836d_dot__3fa33efc{-webkit-transition:-webkit-transform var(--duration) ease;-webkit-transition:transform var(--duration) ease;transition:transform var(--duration) ease;}@-webkit-keyframes Dots_styles_ea836d_fadeInRp088ba__3fa33efc{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1;}}@keyframes Dots_styles_ea836d_fadeInRp088ba__3fa33efc{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1;}}.Dots_styles_ea836d_rp088ba__3fa33efc .Dots_styles_ea836d_dot__3fa33efc.Dots_styles_ea836d_dotAnimateIn__3fa33efc{-webkit-animation:Dots_styles_ea836d_fadeInRp088ba__3fa33efc var(--half-duration) ease forwards;animation:Dots_styles_ea836d_fadeInRp088ba__3fa33efc var(--half-duration) ease forwards;}@-webkit-keyframes Dots_styles_ea836d_fadeInLastRp088ba__3fa33efc{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}}@keyframes Dots_styles_ea836d_fadeInLastRp088ba__3fa33efc{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}}.Dots_styles_ea836d_rp088ba__3fa33efc .Dots_styles_ea836d_dot__3fa33efc:last-child.Dots_styles_ea836d_dotAnimateIn__3fa33efc{-webkit-animation:Dots_styles_ea836d_fadeInLastRp088ba__3fa33efc var(--half-duration) ease forwards;animation:Dots_styles_ea836d_fadeInLastRp088ba__3fa33efc var(--half-duration) ease forwards;}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Dots.styles.js","sources":["../../../../../../src/components/Carousel/CarouselNew/ui/Dots/Dots.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { classes, tokens } from '../../Carousel.tokens';\n\nexport const Wrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n\n --duration: 0.3s;\n --half-duration: 0.15s;\n`;\n\nexport const TransitionWrapper = styled.div`\n position: relative;\n display: flex;\n transition: transform 0s ease;\n\n &.${classes.animating} {\n transition: transform var(--duration) ease;\n }\n\n & .${classes.dot} {\n width: 0.5rem;\n height: 0.5rem;\n margin: 0 0.25rem;\n cursor: pointer;\n background-color: var(${tokens.paginationDotBackground});\n border-radius: 100%;\n\n &.${classes.active} {\n background-color: var(${tokens.paginationDotActiveBackground});\n }\n\n @keyframes fadeOut {\n from {\n transform: scale(0.75);\n opacity: 1;\n }\n to {\n transform: scale(0);\n opacity: 0;\n }\n }\n\n &.${classes.animateOut} {\n animation: fadeOut var(--half-duration) ease forwards;\n }\n\n @keyframes shrinking {\n from {\n transform: scale(1);\n }\n to {\n transform: scale(0.75);\n }\n }\n\n &.${classes.shrinking} {\n animation: shrinking var(--half-duration) var(--half-duration) ease forwards;\n }\n }\n`;\n\nexport const DotWrapper = styled.div`\n display: flex;\n\n &.${classes.availableDotsLeft} {\n .${classes.dot}:not(.${classes.temporaryNatural}):first-child {\n transform: scale(0.75);\n }\n }\n\n &.${classes.availableDotsRight} {\n .${classes.dot}:not(.${classes.temporaryNatural}):last-child {\n transform: scale(0.75);\n }\n }\n\n &.${classes.animating} .${classes.dot} {\n transition: background-color var(--duration) ease;\n }\n`;\n\nexport const LeftAnimationWrapper = styled.div`\n position: absolute;\n top: 0;\n right: 100%;\n bottom: 0;\n display: flex;\n\n & .${classes.dot} {\n transition: transform var(--duration) ease;\n\n @keyframes fadeIn {\n from {\n transform: scale(0);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n }\n\n &.${classes.animateIn} {\n animation: fadeIn var(--half-duration) ease forwards;\n }\n\n &:first-child {\n @keyframes fadeInFirst {\n from {\n transform: scale(0);\n opacity: 0;\n }\n to {\n transform: scale(0.75);\n opacity: 1;\n }\n }\n\n &.${classes.animateIn} {\n animation: fadeInFirst var(--half-duration) ease forwards;\n }\n }\n }\n`;\n\nexport const RightAnimationWrapper = styled.div`\n position: absolute;\n top: 0;\n left: 100%;\n bottom: 0;\n display: flex;\n\n & .${classes.dot} {\n transition: transform var(--duration) ease;\n\n @keyframes fadeIn {\n from {\n transform: scale(0);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n }\n\n &.${classes.animateIn} {\n animation: fadeIn var(--half-duration) ease forwards;\n }\n\n &:last-child {\n @keyframes fadeInLast {\n from {\n transform: scale(0);\n opacity: 0;\n }\n to {\n transform: scale(0.75);\n opacity: 1;\n }\n }\n\n &.${classes.animateIn} {\n animation: fadeInLast var(--half-duration) ease forwards;\n }\n }\n }\n`;\n"],"names":["Wrapper","styled","name","class","propsAsIs","TransitionWrapper","DotWrapper","LeftAnimationWrapper","RightAnimationWrapper"],"mappings":";;AAIO,IAAMA,OAAO,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,SAAA;AAAAC,EAAAA,OAAAA,EAAA,QAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,
|
1
|
+
{"version":3,"file":"Dots.styles.js","sources":["../../../../../../src/components/Carousel/CarouselNew/ui/Dots/Dots.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { classes, tokens } from '../../Carousel.tokens';\n\nexport const Wrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n margin-top: 0.75rem;\n\n --duration: 0.3s;\n --half-duration: 0.15s;\n`;\n\nexport const TransitionWrapper = styled.div`\n position: relative;\n display: flex;\n transition: transform 0s ease;\n\n &.${classes.animating} {\n transition: transform var(--duration) ease;\n }\n\n & .${classes.dot} {\n width: 0.5rem;\n height: 0.5rem;\n margin: 0 0.25rem;\n cursor: pointer;\n background-color: var(${tokens.paginationDotBackground});\n border-radius: 100%;\n\n &.${classes.active} {\n background-color: var(${tokens.paginationDotActiveBackground});\n }\n\n @keyframes fadeOut {\n from {\n transform: scale(0.75);\n opacity: 1;\n }\n to {\n transform: scale(0);\n opacity: 0;\n }\n }\n\n &.${classes.animateOut} {\n animation: fadeOut var(--half-duration) ease forwards;\n }\n\n @keyframes shrinking {\n from {\n transform: scale(1);\n }\n to {\n transform: scale(0.75);\n }\n }\n\n &.${classes.shrinking} {\n animation: shrinking var(--half-duration) var(--half-duration) ease forwards;\n }\n }\n`;\n\nexport const DotWrapper = styled.div`\n display: flex;\n\n &.${classes.availableDotsLeft} {\n .${classes.dot}:not(.${classes.temporaryNatural}):first-child {\n transform: scale(0.75);\n }\n }\n\n &.${classes.availableDotsRight} {\n .${classes.dot}:not(.${classes.temporaryNatural}):last-child {\n transform: scale(0.75);\n }\n }\n\n &.${classes.animating} .${classes.dot} {\n transition: background-color var(--duration) ease;\n }\n`;\n\nexport const LeftAnimationWrapper = styled.div`\n position: absolute;\n top: 0;\n right: 100%;\n bottom: 0;\n display: flex;\n\n & .${classes.dot} {\n transition: transform var(--duration) ease;\n\n @keyframes fadeIn {\n from {\n transform: scale(0);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n }\n\n &.${classes.animateIn} {\n animation: fadeIn var(--half-duration) ease forwards;\n }\n\n &:first-child {\n @keyframes fadeInFirst {\n from {\n transform: scale(0);\n opacity: 0;\n }\n to {\n transform: scale(0.75);\n opacity: 1;\n }\n }\n\n &.${classes.animateIn} {\n animation: fadeInFirst var(--half-duration) ease forwards;\n }\n }\n }\n`;\n\nexport const RightAnimationWrapper = styled.div`\n position: absolute;\n top: 0;\n left: 100%;\n bottom: 0;\n display: flex;\n\n & .${classes.dot} {\n transition: transform var(--duration) ease;\n\n @keyframes fadeIn {\n from {\n transform: scale(0);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n }\n\n &.${classes.animateIn} {\n animation: fadeIn var(--half-duration) ease forwards;\n }\n\n &:last-child {\n @keyframes fadeInLast {\n from {\n transform: scale(0);\n opacity: 0;\n }\n to {\n transform: scale(0.75);\n opacity: 1;\n }\n }\n\n &.${classes.animateIn} {\n animation: fadeInLast var(--half-duration) ease forwards;\n }\n }\n }\n`;\n"],"names":["Wrapper","styled","name","class","propsAsIs","TransitionWrapper","DotWrapper","LeftAnimationWrapper","RightAnimationWrapper"],"mappings":";;AAIO,IAAMA,OAAO,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,SAAA;AAAAC,EAAAA,OAAAA,EAAA,QAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAQ5B,EAAA;AAEM,IAAMC,iBAAiB,gBAAGJ,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,mBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAiDtC,EAAA;AAEM,IAAME,UAAU,gBAAGL,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,YAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAkB/B,EAAA;AAEM,IAAMG,oBAAoB,gBAAGN,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,sBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CA0CzC,EAAA;AAEM,IAAMI,qBAAqB,gBAAGP,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,uBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CA0C1C;;;;"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
.wn5xio{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;--duration:0.3s;--half-duration:0.15s;}
|
1
|
+
.wn5xio{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-top:0.75rem;--duration:0.3s;--half-duration:0.15s;}
|
2
2
|
.tnn1xpa{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transition:-webkit-transform 0s ease;-webkit-transition:transform 0s ease;transition:transform 0s ease;}.tnn1xpa.dot-animating{-webkit-transition:-webkit-transform var(--duration) ease;-webkit-transition:transform var(--duration) ease;transition:transform var(--duration) ease;}.tnn1xpa .dot{width:0.5rem;height:0.5rem;margin:0 0.25rem;cursor:pointer;background-color:var(--plasma-carousel-pagination-dot-background);border-radius:100%;}.tnn1xpa .dot.dot-active{background-color:var(--plasma-carousel-pagination-dot-active-background);}@-webkit-keyframes fadeOut-tnn1xpa{from{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}}@keyframes fadeOut-tnn1xpa{from{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}}.tnn1xpa .dot.dot-animate-out{-webkit-animation:fadeOut-tnn1xpa var(--half-duration) ease forwards;animation:fadeOut-tnn1xpa var(--half-duration) ease forwards;}@-webkit-keyframes shrinking-tnn1xpa{from{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}}@keyframes shrinking-tnn1xpa{from{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}}.tnn1xpa .dot.dot-shrinking{-webkit-animation:shrinking-tnn1xpa var(--half-duration) var(--half-duration) ease forwards;animation:shrinking-tnn1xpa var(--half-duration) var(--half-duration) ease forwards;}
|
3
3
|
.d1k0jsbc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.d1k0jsbc.dot-available-dots-left .dot:not(.dot-temporary-natural):first-child{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}.d1k0jsbc.dot-available-dots-right .dot:not(.dot-temporary-natural):last-child{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}.d1k0jsbc.dot-animating .dot{-webkit-transition:background-color var(--duration) ease;transition:background-color var(--duration) ease;}
|
4
4
|
.laqzsgq{position:absolute;top:0;right:100%;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.laqzsgq .dot{-webkit-transition:-webkit-transform var(--duration) ease;-webkit-transition:transform var(--duration) ease;transition:transform var(--duration) ease;}@-webkit-keyframes fadeIn-laqzsgq{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1;}}@keyframes fadeIn-laqzsgq{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1;}}.laqzsgq .dot.dot-animate-in{-webkit-animation:fadeIn-laqzsgq var(--half-duration) ease forwards;animation:fadeIn-laqzsgq var(--half-duration) ease forwards;}@-webkit-keyframes fadeInFirst-laqzsgq{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}}@keyframes fadeInFirst-laqzsgq{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}}.laqzsgq .dot:first-child.dot-animate-in{-webkit-animation:fadeInFirst-laqzsgq var(--half-duration) ease forwards;animation:fadeInFirst-laqzsgq var(--half-duration) ease forwards;}
|
@@ -16,7 +16,7 @@ import { getSizeValueFromProp } from '../../../utils/getSizeValueFromProp.js';
|
|
16
16
|
import { noop } from '../../../utils/noop.js';
|
17
17
|
import { getPlacements } from '../../../utils/getPopoverPlacement.js';
|
18
18
|
|
19
|
-
var _excluded = ["className", "opened", "value", "label", "labelPlacement", "keepPlaceholder", "required", "requiredPlacement", "hasRequiredIndicator", "placeholder", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "view", "size", "readOnly", "disabled", "name", "defaultDate", "valueError", "valueSuccess", "format", "lang", "maskWithFormat", "min", "max", "renderFromDate", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "offset", "calendarContainerWidth", "calendarContainerHeight", "stretched", "onChangeValue", "onCommitDate", "onToggle", "onFocus", "onBlur", "onChange", "autoComplete"];
|
19
|
+
var _excluded = ["className", "opened", "value", "label", "labelPlacement", "keepPlaceholder", "required", "requiredPlacement", "hasRequiredIndicator", "placeholder", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "view", "size", "readOnly", "disabled", "name", "defaultDate", "valueError", "valueSuccess", "format", "lang", "maskWithFormat", "min", "max", "renderFromDate", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "closeAfterDateSelect", "offset", "calendarContainerWidth", "calendarContainerHeight", "stretched", "onChangeValue", "onCommitDate", "onToggle", "onFocus", "onBlur", "onChange", "autoComplete"];
|
20
20
|
var datePickerRoot = function datePickerRoot(Root) {
|
21
21
|
return /*#__PURE__*/forwardRef(function (_ref, ref) {
|
22
22
|
var className = _ref.className,
|
@@ -80,6 +80,8 @@ var datePickerRoot = function datePickerRoot(Root) {
|
|
80
80
|
closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? true : _ref$closeOnOverlayCl,
|
81
81
|
_ref$closeOnEsc = _ref.closeOnEsc,
|
82
82
|
closeOnEsc = _ref$closeOnEsc === void 0 ? true : _ref$closeOnEsc,
|
83
|
+
_ref$closeAfterDateSe = _ref.closeAfterDateSelect,
|
84
|
+
closeAfterDateSelect = _ref$closeAfterDateSe === void 0 ? true : _ref$closeAfterDateSe,
|
83
85
|
offset = _ref.offset,
|
84
86
|
calendarContainerWidth = _ref.calendarContainerWidth,
|
85
87
|
calendarContainerHeight = _ref.calendarContainerHeight,
|
@@ -154,14 +156,14 @@ var datePickerRoot = function datePickerRoot(Root) {
|
|
154
156
|
datePickerErrorClass = _useDatePicker.datePickerErrorClass,
|
155
157
|
datePickerSuccessClass = _useDatePicker.datePickerSuccessClass,
|
156
158
|
handleChangeValue = _useDatePicker.handleChangeValue,
|
157
|
-
|
159
|
+
onCalendarPick = _useDatePicker.handleCalendarPick,
|
158
160
|
handleSearch = _useDatePicker.handleSearch,
|
159
161
|
updateExternalDate = _useDatePicker.updateExternalDate;
|
160
162
|
var handleToggle = function handleToggle(innerOpened, event) {
|
161
163
|
if (disabled || readOnly) {
|
162
164
|
return;
|
163
165
|
}
|
164
|
-
var isCalendarOpen = event.target === (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) && event.code !== keys.Escape ? true : innerOpened;
|
166
|
+
var isCalendarOpen = (event === null || event === void 0 ? void 0 : event.target) === (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) && event.code !== keys.Escape ? true : innerOpened;
|
165
167
|
if (!innerOpened && !calendarValue) {
|
166
168
|
setCalendarValue(function (prevValue) {
|
167
169
|
return prevValue === undefined ? null : undefined;
|
@@ -202,6 +204,13 @@ var datePickerRoot = function datePickerRoot(Root) {
|
|
202
204
|
onBlur(event);
|
203
205
|
}
|
204
206
|
};
|
207
|
+
var handleCalendarPick = function handleCalendarPick(date, dateInfo) {
|
208
|
+
onCalendarPick(date, dateInfo);
|
209
|
+
if (closeAfterDateSelect) {
|
210
|
+
setIsInnerOpen(false);
|
211
|
+
handleToggle(false);
|
212
|
+
}
|
213
|
+
};
|
205
214
|
var DatePickerInput = /*#__PURE__*/React.createElement(StyledInput, {
|
206
215
|
ref: inputRef,
|
207
216
|
className: cls(datePickerErrorClass, datePickerSuccessClass),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SingleDate.js","sources":["../../../../src/components/DatePicker/SingleDate/SingleDate.tsx"],"sourcesContent":["import React, { forwardRef, SyntheticEvent, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport cls from 'classnames';\nimport type { KeyboardEvent, FocusEvent, MouseEvent } from 'react';\nimport type { DateType } from 'src/components/Calendar/Calendar.types';\nimport type { RootProps } from 'src/engines';\nimport { getPlacements, getSizeValueFromProp, noop } from 'src/utils';\n\nimport { getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport { classes } from '../DatePicker.tokens';\nimport { InputHidden, StyledCalendar } from '../DatePickerBase.styles';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\nimport { getFormattedDates } from '../utils';\n\nimport type { DatePickerProps } from './SingleDate.types';\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 { base as readOnlyCSS } from './variations/_readonly/base';\nimport { LeftHelper, StyledInput, StyledPopover, base } from './SingleDate.styles';\n\nexport const datePickerRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerProps, 'opened' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<HTMLInputElement, DatePickerProps>(\n (\n {\n className,\n opened = false,\n value,\n\n label,\n labelPlacement = 'outer',\n keepPlaceholder,\n required = false,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n placeholder,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n defaultDate = '',\n valueError,\n valueSuccess,\n format = 'DD.MM.YYYY',\n lang = 'ru',\n maskWithFormat,\n min,\n max,\n renderFromDate,\n includeEdgeDates = false,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n frame = 'document',\n usePortal = false,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n offset,\n\n calendarContainerWidth,\n calendarContainerHeight,\n stretched,\n\n onChangeValue,\n onCommitDate,\n onToggle,\n onFocus,\n onBlur,\n onChange,\n\n autoComplete,\n ...rest\n },\n ref,\n ) => {\n if (value && defaultDate) {\n throw new Error(\"Controlled DatePicker can't have `defaultDate`, use `value` instead\");\n }\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n const innerRef = useRef<HTMLInputElement | null>(null);\n const calendarRootRef = useRef<HTMLDivElement | null>(null);\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n\n const dateFormatDelimiter = getDateFormatDelimiter(format);\n\n const initialValues = getFormattedDates({\n value: value || defaultDate,\n delimiter: dateFormatDelimiter,\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const [correctDates, setCorrectDates] = useState({\n calendar: initialValues.originalDate,\n input: initialValues.formattedDate,\n });\n const [calendarValue, setCalendarValue] = useState<DateType>(correctDates.calendar);\n const [inputValue, setInputValue] = useState(correctDates.input);\n\n const calendarContainerWidthValue = calendarContainerWidth\n ? getSizeValueFromProp(calendarContainerWidth, 'rem')\n : undefined;\n const calendarContainerHeightValue = calendarContainerHeight\n ? getSizeValueFromProp(calendarContainerHeight, 'rem')\n : undefined;\n\n const {\n datePickerErrorClass,\n datePickerSuccessClass,\n handleChangeValue,\n handleCalendarPick,\n handleSearch,\n updateExternalDate,\n } = useDatePicker({\n currentValue: inputValue,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError,\n valueSuccess,\n name,\n type,\n min,\n max,\n includeEdgeDates,\n setCorrectDates,\n setInputValue,\n setCalendarValue,\n dateFormatDelimiter,\n onChangeValue,\n onCommitDate,\n onChange,\n });\n\n const handleToggle = (innerOpened: boolean, event: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n event.target === inputRef?.current &&\n (event as KeyboardEvent<HTMLInputElement>).code !== keys.Escape\n ? true\n : innerOpened;\n\n if (!innerOpened && !calendarValue) {\n setCalendarValue((prevValue) => (prevValue === undefined ? null : undefined));\n }\n\n if (onToggle) {\n onToggle(isCalendarOpen, event);\n\n return;\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const handleCalendarRootClick = (event: MouseEvent<HTMLDivElement>) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (isInnerOpen && stretched && event.target === calendarRootRef?.current) {\n setIsInnerOpen(false);\n\n if (onToggle) {\n onToggle(false, event);\n }\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n format,\n maskWithFormat,\n delimiter: dateFormatDelimiter,\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!calendarValue && correctDates.calendar) {\n setCalendarValue(new Date(correctDates.calendar));\n setInputValue(correctDates.input);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const DatePickerInput = (\n <StyledInput\n ref={inputRef}\n className={cls(datePickerErrorClass, datePickerSuccessClass)}\n value={inputValue}\n size={size}\n readOnly={readOnly}\n disabled={disabled}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onChange={handleChangeValue}\n onSearch={handleSearch}\n onFocus={onFocus}\n onBlur={handleBlur}\n onKeyDown={onKeyDown}\n required={required}\n requiredPlacement={requiredPlacement}\n hasRequiredIndicator={hasRequiredIndicator}\n label={label}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n autoComplete={autoComplete}\n />\n );\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useLayoutEffect(() => {\n updateExternalDate(value);\n }, [value, format, lang]);\n\n useLayoutEffect(() => {\n updateExternalDate(defaultDate);\n }, [defaultDate, format, lang]);\n\n return (\n <Root\n view={view}\n size={size}\n className={cls(classes.datePickerRoot, className, { [classes.datePickerstretched]: stretched })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n ref={ref}\n {...rest}\n >\n <StyledPopover\n opened={isInnerOpen}\n usePortal={usePortal}\n frame={frame}\n onToggle={handleToggle}\n offset={offset}\n placement={getPlacements(placement, false)}\n trigger=\"click\"\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={DatePickerInput}\n preventOverflow={false}\n >\n <Root\n ref={calendarRootRef}\n view={view}\n size={size}\n className={cls(classes.datePickerRoot, className, {\n [classes.datePickerstretched]: stretched,\n })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onClick={handleCalendarRootClick}\n >\n <StyledCalendar\n className={cls({ [classes.datePickerCalendarstretched]: stretched })}\n innerWidth={calendarContainerWidthValue}\n innerHeight={calendarContainerHeightValue}\n size={size}\n value={calendarValue}\n type={type}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n renderFromDate={renderFromDate}\n includeEdgeDates={includeEdgeDates}\n isRange={false}\n locale={lang}\n onChangeValue={handleCalendarPick}\n />\n </Root>\n </StyledPopover>\n {leftHelper && (\n <LeftHelper className={cls(datePickerErrorClass, datePickerSuccessClass)}>\n {leftHelper}\n </LeftHelper>\n )}\n <InputHidden\n type=\"hidden\"\n datatype=\"datepicker-single\"\n name={name}\n value={inputValue}\n ref={innerRef}\n {...noop}\n />\n </Root>\n );\n },\n );\n\nexport const datePickerConfig = {\n name: 'DatePicker',\n tag: 'div',\n layout: datePickerRoot,\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 readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["datePickerRoot","Root","forwardRef","_ref","ref","className","_ref$opened","opened","value","label","_ref$labelPlacement","labelPlacement","keepPlaceholder","_ref$required","required","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","placeholder","leftHelper","contentLeft","contentRight","textBefore","textAfter","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","_ref$defaultDate","defaultDate","valueError","valueSuccess","_ref$format","format","_ref$lang","lang","maskWithFormat","min","max","renderFromDate","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$frame","frame","_ref$usePortal","usePortal","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","offset","calendarContainerWidth","calendarContainerHeight","stretched","onChangeValue","onCommitDate","onToggle","onFocus","onBlur","onChange","autoComplete","rest","_objectWithoutProperties","_excluded","Error","inputRef","useRef","innerRef","calendarRootRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","dateFormatDelimiter","getDateFormatDelimiter","initialValues","getFormattedDates","delimiter","_useState3","calendar","originalDate","input","formattedDate","_useState4","correctDates","setCorrectDates","_useState5","_useState6","calendarValue","setCalendarValue","_useState7","_useState8","inputValue","setInputValue","calendarContainerWidthValue","getSizeValueFromProp","undefined","calendarContainerHeightValue","_useDatePicker","useDatePicker","currentValue","datePickerErrorClass","datePickerSuccessClass","handleChangeValue","handleCalendarPick","handleSearch","updateExternalDate","handleToggle","innerOpened","event","isCalendarOpen","target","current","code","keys","Escape","prevValue","handleCalendarRootClick","_useKeyNavigation","useKeyNavigation","onKeyDown","handleBlur","Date","DatePickerInput","React","createElement","StyledInput","cls","onSearch","useEffect","prevOpen","useLayoutEffect","_extends","classes","_defineProperty","datePickerstretched","StyledPopover","getPlacements","trigger","isFocusTrapped","preventOverflow","onClick","StyledCalendar","datePickerCalendarstretched","innerWidth","innerHeight","isRange","locale","LeftHelper","InputHidden","datatype","noop","datePickerConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"SingleDate.js","sources":["../../../../src/components/DatePicker/SingleDate/SingleDate.tsx"],"sourcesContent":["import React, { forwardRef, SyntheticEvent, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport cls from 'classnames';\nimport type { KeyboardEvent, FocusEvent, MouseEvent } from 'react';\nimport type { DateInfo, DateType } from 'src/components/Calendar/Calendar.types';\nimport type { RootProps } from 'src/engines';\nimport { getPlacements, getSizeValueFromProp, noop } from 'src/utils';\n\nimport { getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport { classes } from '../DatePicker.tokens';\nimport { InputHidden, StyledCalendar } from '../DatePickerBase.styles';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\nimport { getFormattedDates } from '../utils';\n\nimport type { DatePickerProps } from './SingleDate.types';\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 { base as readOnlyCSS } from './variations/_readonly/base';\nimport { LeftHelper, StyledInput, StyledPopover, base } from './SingleDate.styles';\n\nexport const datePickerRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerProps, 'opened' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<HTMLInputElement, DatePickerProps>(\n (\n {\n className,\n opened = false,\n value,\n\n label,\n labelPlacement = 'outer',\n keepPlaceholder,\n required = false,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n placeholder,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n defaultDate = '',\n valueError,\n valueSuccess,\n format = 'DD.MM.YYYY',\n lang = 'ru',\n maskWithFormat,\n min,\n max,\n renderFromDate,\n includeEdgeDates = false,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n frame = 'document',\n usePortal = false,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n closeAfterDateSelect = true,\n offset,\n\n calendarContainerWidth,\n calendarContainerHeight,\n stretched,\n\n onChangeValue,\n onCommitDate,\n onToggle,\n onFocus,\n onBlur,\n onChange,\n\n autoComplete,\n ...rest\n },\n ref,\n ) => {\n if (value && defaultDate) {\n throw new Error(\"Controlled DatePicker can't have `defaultDate`, use `value` instead\");\n }\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n const innerRef = useRef<HTMLInputElement | null>(null);\n const calendarRootRef = useRef<HTMLDivElement | null>(null);\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n\n const dateFormatDelimiter = getDateFormatDelimiter(format);\n\n const initialValues = getFormattedDates({\n value: value || defaultDate,\n delimiter: dateFormatDelimiter,\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const [correctDates, setCorrectDates] = useState({\n calendar: initialValues.originalDate,\n input: initialValues.formattedDate,\n });\n const [calendarValue, setCalendarValue] = useState<DateType>(correctDates.calendar);\n const [inputValue, setInputValue] = useState(correctDates.input);\n\n const calendarContainerWidthValue = calendarContainerWidth\n ? getSizeValueFromProp(calendarContainerWidth, 'rem')\n : undefined;\n const calendarContainerHeightValue = calendarContainerHeight\n ? getSizeValueFromProp(calendarContainerHeight, 'rem')\n : undefined;\n\n const {\n datePickerErrorClass,\n datePickerSuccessClass,\n handleChangeValue,\n handleCalendarPick: onCalendarPick,\n handleSearch,\n updateExternalDate,\n } = useDatePicker({\n currentValue: inputValue,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError,\n valueSuccess,\n name,\n type,\n min,\n max,\n includeEdgeDates,\n setCorrectDates,\n setInputValue,\n setCalendarValue,\n dateFormatDelimiter,\n onChangeValue,\n onCommitDate,\n onChange,\n });\n\n const handleToggle = (innerOpened: boolean, event?: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n event?.target === inputRef?.current &&\n (event as KeyboardEvent<HTMLInputElement>).code !== keys.Escape\n ? true\n : innerOpened;\n\n if (!innerOpened && !calendarValue) {\n setCalendarValue((prevValue) => (prevValue === undefined ? null : undefined));\n }\n\n if (onToggle) {\n onToggle(isCalendarOpen, event);\n\n return;\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const handleCalendarRootClick = (event: MouseEvent<HTMLDivElement>) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (isInnerOpen && stretched && event.target === calendarRootRef?.current) {\n setIsInnerOpen(false);\n\n if (onToggle) {\n onToggle(false, event);\n }\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n format,\n maskWithFormat,\n delimiter: dateFormatDelimiter,\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!calendarValue && correctDates.calendar) {\n setCalendarValue(new Date(correctDates.calendar));\n setInputValue(correctDates.input);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleCalendarPick = (date?: Date | null, dateInfo?: DateInfo) => {\n onCalendarPick(date, dateInfo);\n\n if (closeAfterDateSelect) {\n setIsInnerOpen(false);\n handleToggle(false);\n }\n };\n\n const DatePickerInput = (\n <StyledInput\n ref={inputRef}\n className={cls(datePickerErrorClass, datePickerSuccessClass)}\n value={inputValue}\n size={size}\n readOnly={readOnly}\n disabled={disabled}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onChange={handleChangeValue}\n onSearch={handleSearch}\n onFocus={onFocus}\n onBlur={handleBlur}\n onKeyDown={onKeyDown}\n required={required}\n requiredPlacement={requiredPlacement}\n hasRequiredIndicator={hasRequiredIndicator}\n label={label}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n autoComplete={autoComplete}\n />\n );\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useLayoutEffect(() => {\n updateExternalDate(value);\n }, [value, format, lang]);\n\n useLayoutEffect(() => {\n updateExternalDate(defaultDate);\n }, [defaultDate, format, lang]);\n\n return (\n <Root\n view={view}\n size={size}\n className={cls(classes.datePickerRoot, className, { [classes.datePickerstretched]: stretched })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n ref={ref}\n {...rest}\n >\n <StyledPopover\n opened={isInnerOpen}\n usePortal={usePortal}\n frame={frame}\n onToggle={handleToggle}\n offset={offset}\n placement={getPlacements(placement, false)}\n trigger=\"click\"\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={DatePickerInput}\n preventOverflow={false}\n >\n <Root\n ref={calendarRootRef}\n view={view}\n size={size}\n className={cls(classes.datePickerRoot, className, {\n [classes.datePickerstretched]: stretched,\n })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onClick={handleCalendarRootClick}\n >\n <StyledCalendar\n className={cls({ [classes.datePickerCalendarstretched]: stretched })}\n innerWidth={calendarContainerWidthValue}\n innerHeight={calendarContainerHeightValue}\n size={size}\n value={calendarValue}\n type={type}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n renderFromDate={renderFromDate}\n includeEdgeDates={includeEdgeDates}\n isRange={false}\n locale={lang}\n onChangeValue={handleCalendarPick}\n />\n </Root>\n </StyledPopover>\n {leftHelper && (\n <LeftHelper className={cls(datePickerErrorClass, datePickerSuccessClass)}>\n {leftHelper}\n </LeftHelper>\n )}\n <InputHidden\n type=\"hidden\"\n datatype=\"datepicker-single\"\n name={name}\n value={inputValue}\n ref={innerRef}\n {...noop}\n />\n </Root>\n );\n },\n );\n\nexport const datePickerConfig = {\n name: 'DatePicker',\n tag: 'div',\n layout: datePickerRoot,\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 readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["datePickerRoot","Root","forwardRef","_ref","ref","className","_ref$opened","opened","value","label","_ref$labelPlacement","labelPlacement","keepPlaceholder","_ref$required","required","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","placeholder","leftHelper","contentLeft","contentRight","textBefore","textAfter","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","_ref$defaultDate","defaultDate","valueError","valueSuccess","_ref$format","format","_ref$lang","lang","maskWithFormat","min","max","renderFromDate","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$frame","frame","_ref$usePortal","usePortal","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","_ref$closeAfterDateSe","closeAfterDateSelect","offset","calendarContainerWidth","calendarContainerHeight","stretched","onChangeValue","onCommitDate","onToggle","onFocus","onBlur","onChange","autoComplete","rest","_objectWithoutProperties","_excluded","Error","inputRef","useRef","innerRef","calendarRootRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","dateFormatDelimiter","getDateFormatDelimiter","initialValues","getFormattedDates","delimiter","_useState3","calendar","originalDate","input","formattedDate","_useState4","correctDates","setCorrectDates","_useState5","_useState6","calendarValue","setCalendarValue","_useState7","_useState8","inputValue","setInputValue","calendarContainerWidthValue","getSizeValueFromProp","undefined","calendarContainerHeightValue","_useDatePicker","useDatePicker","currentValue","datePickerErrorClass","datePickerSuccessClass","handleChangeValue","onCalendarPick","handleCalendarPick","handleSearch","updateExternalDate","handleToggle","innerOpened","event","isCalendarOpen","target","current","code","keys","Escape","prevValue","handleCalendarRootClick","_useKeyNavigation","useKeyNavigation","onKeyDown","handleBlur","Date","date","dateInfo","DatePickerInput","React","createElement","StyledInput","cls","onSearch","useEffect","prevOpen","useLayoutEffect","_extends","classes","_defineProperty","datePickerstretched","StyledPopover","getPlacements","trigger","isFocusTrapped","preventOverflow","onClick","StyledCalendar","datePickerCalendarstretched","innerWidth","innerHeight","isRange","locale","LeftHelper","InputHidden","datatype","noop","datePickerConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
|
@@ -1,8 +1,9 @@
|
|
1
1
|
import { useRef, useEffect } from 'react';
|
2
|
+
import { canUseDOM } from '../../../utils/canUseDOM.js';
|
2
3
|
|
3
4
|
var useOverflow = function useOverflow(_ref) {
|
4
5
|
var opened = _ref.opened;
|
5
|
-
var overflow = useRef(document.body.style.overflowY);
|
6
|
+
var overflow = useRef(canUseDOM ? document.body.style.overflowY : 'initial');
|
6
7
|
|
7
8
|
// linaria не поддерживает динамический global
|
8
9
|
useEffect(function () {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useOverflow.js","sources":["../../../../src/components/Sheet/hooks/useOverflow.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { SheetHookArgs } from '../Sheet.types';\n\nexport const useOverflow = ({ opened }: SheetHookArgs) => {\n const overflow = useRef<string>(document.body.style.overflowY);\n\n // linaria не поддерживает динамический global\n useEffect(() => {\n if (opened) {\n overflow.current = document.body.style.overflowY;\n document.body.style.overflowY = 'hidden';\n return;\n }\n\n document.body.style.overflowY = overflow.current;\n }, [opened]);\n};\n"],"names":["useOverflow","_ref","opened","overflow","useRef","document","body","style","overflowY","useEffect","current"],"mappings":"
|
1
|
+
{"version":3,"file":"useOverflow.js","sources":["../../../../src/components/Sheet/hooks/useOverflow.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { canUseDOM } from 'src/utils';\n\nimport { SheetHookArgs } from '../Sheet.types';\n\nexport const useOverflow = ({ opened }: SheetHookArgs) => {\n const overflow = useRef<string>(canUseDOM ? document.body.style.overflowY : 'initial');\n\n // linaria не поддерживает динамический global\n useEffect(() => {\n if (opened) {\n overflow.current = document.body.style.overflowY;\n document.body.style.overflowY = 'hidden';\n return;\n }\n\n document.body.style.overflowY = overflow.current;\n }, [opened]);\n};\n"],"names":["useOverflow","_ref","opened","overflow","useRef","canUseDOM","document","body","style","overflowY","useEffect","current"],"mappings":";;;IAKaA,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAAkC;AAAA,EAAA,IAA5BC,MAAM,GAAAD,IAAA,CAANC,MAAM,CAAA;AAChC,EAAA,IAAMC,QAAQ,GAAGC,MAAM,CAASC,SAAS,GAAGC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,SAAS,GAAG,SAAS,CAAC,CAAA;;AAEtF;AACAC,EAAAA,SAAS,CAAC,YAAM;AACZ,IAAA,IAAIR,MAAM,EAAE;MACRC,QAAQ,CAACQ,OAAO,GAAGL,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,SAAS,CAAA;AAChDH,MAAAA,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,SAAS,GAAG,QAAQ,CAAA;AACxC,MAAA,OAAA;AACJ,KAAA;IAEAH,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,SAAS,GAAGN,QAAQ,CAACQ,OAAO,CAAA;AACpD,GAAC,EAAE,CAACT,MAAM,CAAC,CAAC,CAAA;AAChB;;;;"}
|
package/es/index.css
CHANGED
@@ -990,18 +990,19 @@
|
|
990
990
|
|
991
991
|
.CarouselItem_uvoxfy_sossdp0__d41488d0{-webkit-scroll-snap-align:var(--sossdp0-0);-moz-scroll-snap-align:var(--sossdp0-0);-ms-scroll-snap-align:var(--sossdp0-0);scroll-snap-align:var(--sossdp0-0);-webkit-scroll-snap-stop:var(--sossdp0-1);-moz-scroll-snap-stop:var(--sossdp0-1);-ms-scroll-snap-stop:var(--sossdp0-1);scroll-snap-stop:var(--sossdp0-1);}
|
992
992
|
|
993
|
-
.
|
994
|
-
.
|
995
|
-
.
|
996
|
-
.
|
993
|
+
.Carousel_styles_1fs4wwn_b13uu57o__74b57fdf{position:relative;}
|
994
|
+
.Carousel_styles_1fs4wwn_c1gygdut__74b57fdf{position:relative;margin:0;padding:0;list-style:none;-ms-overflow-style:none;-webkit-scrollbar-width:none;-moz-scrollbar-width:none;-ms-scrollbar-width:none;scrollbar-width:none;overflow-x:auto;overflow-y:hidden;-webkit-scroll-behavior:smooth;-moz-scroll-behavior:smooth;-ms-scroll-behavior:smooth;scroll-behavior:smooth;-webkit-scroll-snap-type:x mandatory;-moz-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.Carousel_styles_1fs4wwn_c1gygdut__74b57fdf::-webkit-scrollbar{display:none;}
|
995
|
+
.Carousel_styles_1fs4wwn_c76zbfp__74b57fdf{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;gap:var(--c76zbfp-0);}
|
996
|
+
.Carousel_styles_1fs4wwn_i1cnnvc1__74b57fdf{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);left:0.75rem;z-index:10;--plasma-icon-button-color:var(--text-primary);--plasma-icon-button-background-color:var(--surface-transparent-secondary);--plasma-icon-button-loading-background-color:var(--plasma-icon-button-background-color);--plasma-icon-button-background-color-hover:var(--surface-transparent-secondary-hover);--plasma-icon-button-background-color-active:var(--surface-transparent-secondary-active);--plasma-icon-button-height:2.5rem;--plasma-icon-button-width:2.5rem;--plasma-icon-button-padding:1rem;--plasma-icon-button-radius:0.625rem;}.Carousel_styles_1fs4wwn_i1cnnvc1__74b57fdf.Carousel_styles_1fs4wwn_carouselRightControlButton__74b57fdf{left:auto;right:0.75rem;}
|
997
|
+
.Carousel_styles_1fs4wwn_c1ff2k98__74b57fdf{position:relative;}
|
997
998
|
|
998
999
|
.Item_1qz9bfn_sfwcury__aad46e58{-webkit-scroll-snap-align:var(--sfwcury-0);-moz-scroll-snap-align:var(--sfwcury-0);-ms-scroll-snap-align:var(--sfwcury-0);scroll-snap-align:var(--sfwcury-0);-webkit-scroll-snap-stop:var(--sfwcury-1);-moz-scroll-snap-stop:var(--sfwcury-1);-ms-scroll-snap-stop:var(--sfwcury-1);scroll-snap-stop:var(--sfwcury-1);}
|
999
1000
|
|
1000
|
-
.
|
1001
|
-
.
|
1002
|
-
.
|
1003
|
-
.
|
1004
|
-
.
|
1001
|
+
.Dots_styles_ea836d_wn5xio__3fa33efc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-top:0.75rem;--duration:0.3s;--half-duration:0.15s;}
|
1002
|
+
.Dots_styles_ea836d_tnn1xpa__3fa33efc{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transition:-webkit-transform 0s ease;-webkit-transition:transform 0s ease;transition:transform 0s ease;}.Dots_styles_ea836d_tnn1xpa__3fa33efc.Dots_styles_ea836d_dotAnimating__3fa33efc{-webkit-transition:-webkit-transform var(--duration) ease;-webkit-transition:transform var(--duration) ease;transition:transform var(--duration) ease;}.Dots_styles_ea836d_tnn1xpa__3fa33efc .Dots_styles_ea836d_dot__3fa33efc{width:0.5rem;height:0.5rem;margin:0 0.25rem;cursor:pointer;background-color:var(--plasma-carousel-pagination-dot-background);border-radius:100%;}.Dots_styles_ea836d_tnn1xpa__3fa33efc .Dots_styles_ea836d_dot__3fa33efc.Dots_styles_ea836d_dotActive__3fa33efc{background-color:var(--plasma-carousel-pagination-dot-active-background);}@-webkit-keyframes Dots_styles_ea836d_fadeOutTnn1xpa__3fa33efc{from{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}}@keyframes Dots_styles_ea836d_fadeOutTnn1xpa__3fa33efc{from{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}}.Dots_styles_ea836d_tnn1xpa__3fa33efc .Dots_styles_ea836d_dot__3fa33efc.Dots_styles_ea836d_dotAnimateOut__3fa33efc{-webkit-animation:Dots_styles_ea836d_fadeOutTnn1xpa__3fa33efc var(--half-duration) ease forwards;animation:Dots_styles_ea836d_fadeOutTnn1xpa__3fa33efc var(--half-duration) ease forwards;}@-webkit-keyframes Dots_styles_ea836d_shrinkingTnn1xpa__3fa33efc{from{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}}@keyframes Dots_styles_ea836d_shrinkingTnn1xpa__3fa33efc{from{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}}.Dots_styles_ea836d_tnn1xpa__3fa33efc .Dots_styles_ea836d_dot__3fa33efc.Dots_styles_ea836d_dotShrinking__3fa33efc{-webkit-animation:Dots_styles_ea836d_shrinkingTnn1xpa__3fa33efc var(--half-duration) var(--half-duration) ease forwards;animation:Dots_styles_ea836d_shrinkingTnn1xpa__3fa33efc var(--half-duration) var(--half-duration) ease forwards;}
|
1003
|
+
.Dots_styles_ea836d_d1k0jsbc__3fa33efc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.Dots_styles_ea836d_d1k0jsbc__3fa33efc.Dots_styles_ea836d_dotAvailableDotsLeft__3fa33efc .Dots_styles_ea836d_dot__3fa33efc:not(.Dots_styles_ea836d_dotTemporaryNatural__3fa33efc):first-child{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}.Dots_styles_ea836d_d1k0jsbc__3fa33efc.Dots_styles_ea836d_dotAvailableDotsRight__3fa33efc .Dots_styles_ea836d_dot__3fa33efc:not(.Dots_styles_ea836d_dotTemporaryNatural__3fa33efc):last-child{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}.Dots_styles_ea836d_d1k0jsbc__3fa33efc.Dots_styles_ea836d_dotAnimating__3fa33efc .Dots_styles_ea836d_dot__3fa33efc{-webkit-transition:background-color var(--duration) ease;transition:background-color var(--duration) ease;}
|
1004
|
+
.Dots_styles_ea836d_laqzsgq__3fa33efc{position:absolute;top:0;right:100%;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.Dots_styles_ea836d_laqzsgq__3fa33efc .Dots_styles_ea836d_dot__3fa33efc{-webkit-transition:-webkit-transform var(--duration) ease;-webkit-transition:transform var(--duration) ease;transition:transform var(--duration) ease;}@-webkit-keyframes Dots_styles_ea836d_fadeInLaqzsgq__3fa33efc{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1;}}@keyframes Dots_styles_ea836d_fadeInLaqzsgq__3fa33efc{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1;}}.Dots_styles_ea836d_laqzsgq__3fa33efc .Dots_styles_ea836d_dot__3fa33efc.Dots_styles_ea836d_dotAnimateIn__3fa33efc{-webkit-animation:Dots_styles_ea836d_fadeInLaqzsgq__3fa33efc var(--half-duration) ease forwards;animation:Dots_styles_ea836d_fadeInLaqzsgq__3fa33efc var(--half-duration) ease forwards;}@-webkit-keyframes Dots_styles_ea836d_fadeInFirstLaqzsgq__3fa33efc{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}}@keyframes Dots_styles_ea836d_fadeInFirstLaqzsgq__3fa33efc{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}}.Dots_styles_ea836d_laqzsgq__3fa33efc .Dots_styles_ea836d_dot__3fa33efc:first-child.Dots_styles_ea836d_dotAnimateIn__3fa33efc{-webkit-animation:Dots_styles_ea836d_fadeInFirstLaqzsgq__3fa33efc var(--half-duration) ease forwards;animation:Dots_styles_ea836d_fadeInFirstLaqzsgq__3fa33efc var(--half-duration) ease forwards;}
|
1005
|
+
.Dots_styles_ea836d_rp088ba__3fa33efc{position:absolute;top:0;left:100%;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.Dots_styles_ea836d_rp088ba__3fa33efc .Dots_styles_ea836d_dot__3fa33efc{-webkit-transition:-webkit-transform var(--duration) ease;-webkit-transition:transform var(--duration) ease;transition:transform var(--duration) ease;}@-webkit-keyframes Dots_styles_ea836d_fadeInRp088ba__3fa33efc{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1;}}@keyframes Dots_styles_ea836d_fadeInRp088ba__3fa33efc{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1;}}.Dots_styles_ea836d_rp088ba__3fa33efc .Dots_styles_ea836d_dot__3fa33efc.Dots_styles_ea836d_dotAnimateIn__3fa33efc{-webkit-animation:Dots_styles_ea836d_fadeInRp088ba__3fa33efc var(--half-duration) ease forwards;animation:Dots_styles_ea836d_fadeInRp088ba__3fa33efc var(--half-duration) ease forwards;}@-webkit-keyframes Dots_styles_ea836d_fadeInLastRp088ba__3fa33efc{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}}@keyframes Dots_styles_ea836d_fadeInLastRp088ba__3fa33efc{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}}.Dots_styles_ea836d_rp088ba__3fa33efc .Dots_styles_ea836d_dot__3fa33efc:last-child.Dots_styles_ea836d_dotAnimateIn__3fa33efc{-webkit-animation:Dots_styles_ea836d_fadeInLastRp088ba__3fa33efc var(--half-duration) ease forwards;animation:Dots_styles_ea836d_fadeInLastRp088ba__3fa33efc var(--half-duration) ease forwards;}
|
1005
1006
|
|
1006
1007
|
.PaginationDots_fm2ha5_dut2ldg__db2a2205{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0;padding:0;list-style:none;}
|
1007
1008
|
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@salutejs/plasma-new-hope",
|
3
|
-
"version": "0.326.0-canary.2013.
|
3
|
+
"version": "0.326.0-canary.2013.15538813402.0",
|
4
4
|
"description": "Salute Design System blueprint",
|
5
5
|
"main": "cjs/index.js",
|
6
6
|
"module": "es/index.js",
|
@@ -79,8 +79,8 @@
|
|
79
79
|
"@rollup/plugin-babel": "^6.0.4",
|
80
80
|
"@rollup/plugin-commonjs": "^25.0.4",
|
81
81
|
"@rollup/plugin-node-resolve": "^15.1.0",
|
82
|
-
"@salutejs/plasma-sb-utils": "0.199.0-canary.2013.
|
83
|
-
"@salutejs/plasma-themes": "0.34.0-canary.2013.
|
82
|
+
"@salutejs/plasma-sb-utils": "0.199.0-canary.2013.15538813402.0",
|
83
|
+
"@salutejs/plasma-themes": "0.34.0-canary.2013.15538813402.0",
|
84
84
|
"@storybook/addon-docs": "8.6.12",
|
85
85
|
"@storybook/addon-essentials": "8.6.12",
|
86
86
|
"@storybook/manager-api": "8.6.12",
|
@@ -117,7 +117,7 @@
|
|
117
117
|
"@linaria/react": "5.0.3",
|
118
118
|
"@popperjs/core": "2.11.8",
|
119
119
|
"@salutejs/input-core": "2.1.2",
|
120
|
-
"@salutejs/plasma-core": "1.198.0-canary.2013.
|
120
|
+
"@salutejs/plasma-core": "1.198.0-canary.2013.15538813402.0",
|
121
121
|
"@salutejs/react-maskinput": "3.2.6",
|
122
122
|
"@tanstack/react-table": "8.21.2",
|
123
123
|
"@tanstack/react-virtual": "3.13.2",
|
@@ -137,5 +137,5 @@
|
|
137
137
|
"sideEffects": [
|
138
138
|
"*.css"
|
139
139
|
],
|
140
|
-
"gitHead": "
|
140
|
+
"gitHead": "c9773f0abdb0d59770e720e4428fc9b8b0b1b9c1"
|
141
141
|
}
|