@salutejs/plasma-new-hope 0.335.0-canary.2197.17377664818.0 → 0.335.0-canary.2199.17384366399.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.js +5 -7
  2. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/cjs/components/Autocomplete/FloatingPopover.js +5 -4
  4. package/cjs/components/Autocomplete/FloatingPopover.js.map +1 -1
  5. package/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +43 -13
  6. package/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js.map +1 -1
  7. package/cjs/components/Carousel/CarouselNew/Carousel.js +4 -3
  8. package/cjs/components/Carousel/CarouselNew/Carousel.js.map +1 -1
  9. package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  10. package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
  11. package/cjs/components/Combobox/ComboboxNew/Combobox.js +18 -34
  12. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  13. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +3 -2
  14. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  15. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +5 -11
  16. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  17. package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +43 -13
  18. package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js.map +1 -1
  19. package/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +24 -0
  20. package/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js.map +1 -0
  21. package/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
  22. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  23. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -2
  24. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  25. package/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
  26. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  27. package/cjs/components/Popup/ClientOnlyPortal.js +15 -2
  28. package/cjs/components/Popup/ClientOnlyPortal.js.map +1 -1
  29. package/cjs/components/Popup/PopupContext.js +26 -5
  30. package/cjs/components/Popup/PopupContext.js.map +1 -1
  31. package/cjs/components/Select/Select.js +3 -4
  32. package/cjs/components/Select/Select.js.map +1 -1
  33. package/cjs/components/Select/Select.styles.js +3 -2
  34. package/cjs/components/Select/Select.styles.js.map +1 -1
  35. package/cjs/components/Select/ui/Inner/Inner.js +5 -11
  36. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  37. package/cjs/components/Select/ui/VirtualList/VirtualList.js +43 -13
  38. package/cjs/components/Select/ui/VirtualList/VirtualList.js.map +1 -1
  39. package/emotion/cjs/components/Autocomplete/Autocomplete.js +4 -9
  40. package/emotion/cjs/components/Autocomplete/FloatingPopover.js +31 -4
  41. package/emotion/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +84 -16
  42. package/emotion/cjs/components/Carousel/CarouselNew/Carousel.js +2 -2
  43. package/emotion/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  44. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +28 -48
  45. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +15 -15
  46. package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +9 -50
  47. package/emotion/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +84 -16
  48. package/emotion/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +25 -0
  49. package/emotion/cjs/components/Combobox/ComboboxNew/utils/index.js +4 -0
  50. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
  51. package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
  52. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
  53. package/emotion/cjs/components/Popup/ClientOnlyPortal.js +14 -2
  54. package/emotion/cjs/components/Popup/PopupContext.js +25 -6
  55. package/emotion/cjs/components/Select/Select.js +2 -4
  56. package/emotion/cjs/components/Select/Select.styles.js +7 -7
  57. package/emotion/cjs/components/Select/ui/Inner/Inner.js +9 -50
  58. package/emotion/cjs/components/Select/ui/VirtualList/VirtualList.js +84 -16
  59. package/emotion/cjs/examples/components/Combobox/Combobox.js +0 -15
  60. package/emotion/es/components/Autocomplete/Autocomplete.js +5 -10
  61. package/emotion/es/components/Autocomplete/FloatingPopover.js +31 -4
  62. package/emotion/es/components/Autocomplete/ui/VirtualList/VirtualList.js +45 -13
  63. package/emotion/es/components/Carousel/CarouselNew/Carousel.js +2 -2
  64. package/emotion/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  65. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +14 -34
  66. package/emotion/es/components/Combobox/ComboboxNew/Combobox.styles.js +15 -15
  67. package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +6 -11
  68. package/emotion/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +45 -13
  69. package/emotion/es/components/Combobox/ComboboxNew/utils/getTextValue.js +16 -0
  70. package/emotion/es/components/Combobox/ComboboxNew/utils/index.js +1 -0
  71. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
  72. package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
  73. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
  74. package/emotion/es/components/Popup/ClientOnlyPortal.js +14 -2
  75. package/emotion/es/components/Popup/PopupContext.js +25 -6
  76. package/emotion/es/components/Select/Select.js +2 -4
  77. package/emotion/es/components/Select/Select.styles.js +7 -7
  78. package/emotion/es/components/Select/ui/Inner/Inner.js +6 -11
  79. package/emotion/es/components/Select/ui/VirtualList/VirtualList.js +45 -13
  80. package/emotion/es/examples/components/Combobox/Combobox.js +7 -0
  81. package/es/components/Autocomplete/Autocomplete.js +6 -8
  82. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  83. package/es/components/Autocomplete/FloatingPopover.js +6 -5
  84. package/es/components/Autocomplete/FloatingPopover.js.map +1 -1
  85. package/es/components/Autocomplete/ui/VirtualList/VirtualList.js +44 -13
  86. package/es/components/Autocomplete/ui/VirtualList/VirtualList.js.map +1 -1
  87. package/es/components/Carousel/CarouselNew/Carousel.js +5 -4
  88. package/es/components/Carousel/CarouselNew/Carousel.js.map +1 -1
  89. package/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  90. package/es/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
  91. package/es/components/Combobox/ComboboxNew/Combobox.js +18 -34
  92. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  93. package/es/components/Combobox/ComboboxNew/Combobox.styles.js +3 -2
  94. package/es/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  95. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +6 -12
  96. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  97. package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +44 -13
  98. package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js.map +1 -1
  99. package/es/components/Combobox/ComboboxNew/utils/getTextValue.js +20 -0
  100. package/es/components/Combobox/ComboboxNew/utils/getTextValue.js.map +1 -0
  101. package/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
  102. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  103. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -2
  104. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  105. package/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
  106. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  107. package/es/components/Popup/ClientOnlyPortal.js +15 -2
  108. package/es/components/Popup/ClientOnlyPortal.js.map +1 -1
  109. package/es/components/Popup/PopupContext.js +26 -5
  110. package/es/components/Popup/PopupContext.js.map +1 -1
  111. package/es/components/Select/Select.js +3 -4
  112. package/es/components/Select/Select.js.map +1 -1
  113. package/es/components/Select/Select.styles.js +3 -2
  114. package/es/components/Select/Select.styles.js.map +1 -1
  115. package/es/components/Select/ui/Inner/Inner.js +6 -12
  116. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  117. package/es/components/Select/ui/VirtualList/VirtualList.js +44 -13
  118. package/es/components/Select/ui/VirtualList/VirtualList.js.map +1 -1
  119. package/package.json +4 -5
  120. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +4 -9
  121. package/styled-components/cjs/components/Autocomplete/FloatingPopover.js +31 -4
  122. package/styled-components/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +84 -16
  123. package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.js +2 -2
  124. package/styled-components/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  125. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +28 -48
  126. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +8 -8
  127. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +9 -50
  128. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +84 -16
  129. package/styled-components/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +25 -0
  130. package/styled-components/cjs/components/Combobox/ComboboxNew/utils/index.js +4 -0
  131. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
  132. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
  133. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
  134. package/styled-components/cjs/components/Popup/ClientOnlyPortal.js +14 -2
  135. package/styled-components/cjs/components/Popup/PopupContext.js +25 -6
  136. package/styled-components/cjs/components/Select/Select.js +2 -4
  137. package/styled-components/cjs/components/Select/Select.styles.js +4 -4
  138. package/styled-components/cjs/components/Select/ui/Inner/Inner.js +9 -50
  139. package/styled-components/cjs/components/Select/ui/VirtualList/VirtualList.js +84 -16
  140. package/styled-components/es/components/Autocomplete/Autocomplete.js +5 -10
  141. package/styled-components/es/components/Autocomplete/FloatingPopover.js +31 -4
  142. package/styled-components/es/components/Autocomplete/ui/VirtualList/VirtualList.js +45 -13
  143. package/styled-components/es/components/Carousel/CarouselNew/Carousel.js +2 -2
  144. package/styled-components/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  145. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +14 -34
  146. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.styles.js +8 -8
  147. package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +6 -11
  148. package/styled-components/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +45 -13
  149. package/styled-components/es/components/Combobox/ComboboxNew/utils/getTextValue.js +16 -0
  150. package/styled-components/es/components/Combobox/ComboboxNew/utils/index.js +1 -0
  151. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
  152. package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
  153. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
  154. package/styled-components/es/components/Popup/ClientOnlyPortal.js +14 -2
  155. package/styled-components/es/components/Popup/PopupContext.js +25 -6
  156. package/styled-components/es/components/Select/Select.js +2 -4
  157. package/styled-components/es/components/Select/Select.styles.js +4 -4
  158. package/styled-components/es/components/Select/ui/Inner/Inner.js +6 -11
  159. package/styled-components/es/components/Select/ui/VirtualList/VirtualList.js +45 -13
  160. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  161. package/types/components/Autocomplete/Autocomplete.types.d.ts +23 -17
  162. package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
  163. package/types/components/Autocomplete/ui/VirtualList/VirtualList.d.ts +1 -1
  164. package/types/components/Autocomplete/ui/VirtualList/VirtualList.d.ts.map +1 -1
  165. package/types/components/Carousel/CarouselNew/Carousel.d.ts.map +1 -1
  166. package/types/components/Carousel/CarouselNew/Carousel.types.d.ts +5 -0
  167. package/types/components/Carousel/CarouselNew/Carousel.types.d.ts.map +1 -1
  168. package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts.map +1 -1
  169. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  170. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts +1 -0
  171. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts.map +1 -1
  172. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +7 -7
  173. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  174. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.d.ts.map +1 -1
  175. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts +1 -2
  176. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts.map +1 -1
  177. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts +2 -6
  178. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  179. package/types/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.d.ts +1 -1
  180. package/types/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.d.ts.map +1 -1
  181. package/types/components/Combobox/ComboboxNew/utils/getTextValue.d.ts +4 -0
  182. package/types/components/Combobox/ComboboxNew/utils/getTextValue.d.ts.map +1 -0
  183. package/types/components/Combobox/ComboboxNew/utils/index.d.ts +1 -0
  184. package/types/components/Combobox/ComboboxNew/utils/index.d.ts.map +1 -1
  185. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  186. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts +1 -1
  187. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts.map +1 -1
  188. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  189. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +4 -0
  190. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  191. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +18 -18
  192. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
  193. package/types/components/Popup/ClientOnlyPortal.d.ts +1 -0
  194. package/types/components/Popup/ClientOnlyPortal.d.ts.map +1 -1
  195. package/types/components/Popup/PopupContext.d.ts +5 -1
  196. package/types/components/Popup/PopupContext.d.ts.map +1 -1
  197. package/types/components/Select/Select.d.ts.map +1 -1
  198. package/types/components/Select/Select.styles.d.ts +1 -0
  199. package/types/components/Select/Select.styles.d.ts.map +1 -1
  200. package/types/components/Select/Select.types.d.ts +14 -14
  201. package/types/components/Select/Select.types.d.ts.map +1 -1
  202. package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
  203. package/types/components/Select/ui/Inner/Inner.type.d.ts +1 -2
  204. package/types/components/Select/ui/Inner/Inner.type.d.ts.map +1 -1
  205. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts +3 -11
  206. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  207. package/types/components/Select/ui/VirtualList/VirtualList.d.ts +1 -1
  208. package/types/components/Select/ui/VirtualList/VirtualList.d.ts.map +1 -1
  209. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +18 -18
  210. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
  211. package/types/examples/components/Autocomplete/Autocomplete.d.ts +48 -40
  212. package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  213. package/types/examples/components/Combobox/Combobox.d.ts +48 -48
  214. package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
  215. package/types/examples/components/Select/Select.d.ts +18 -18
  216. package/types/examples/components/Select/Select.d.ts.map +1 -1
@@ -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 { 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\n value: outerValue,\n defaultDate = '',\n preserveInvalidOnBlur,\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 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 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 [innerDate, setInnerDate] = useState<string | DateType>(defaultDate || '');\n const dateValue = outerValue ?? innerDate;\n\n const initialValues = getFormattedDates({\n value: dateValue,\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\n const calendarValue: DateType = initialValues.originalDate;\n const inputValue = initialValues.formattedDate;\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 getQuarterInfo,\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 setInnerDate,\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 setInnerDate((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 (!preserveInvalidOnBlur && !calendarValue && correctDates.calendar) {\n setInnerDate(new Date(correctDates.calendar));\n if (onChangeValue) {\n onChangeValue(\n event,\n correctDates.input,\n correctDates.calendar,\n correctDates.calendar.toISOString(),\n );\n }\n\n if (onCommitDate) {\n const dateInfo = getQuarterInfo(correctDates.calendar);\n\n onCommitDate(\n correctDates.input,\n false,\n true,\n dateInfo,\n correctDates.calendar,\n correctDates.calendar.toISOString(),\n );\n }\n\n if (onChange) {\n onChange({\n target: {\n value: correctDates.input,\n originalDate: correctDates.calendar,\n isoDate: correctDates.calendar.toISOString(),\n name,\n },\n });\n }\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 if (!dateValue) {\n updateExternalDate(defaultDate);\n }\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","outerValue","value","_ref$defaultDate","defaultDate","preserveInvalidOnBlur","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","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","inputRef","useRef","innerRef","calendarRootRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","dateFormatDelimiter","getDateFormatDelimiter","_useState3","_useState4","innerDate","setInnerDate","dateValue","initialValues","getFormattedDates","delimiter","_useState5","calendar","originalDate","input","formattedDate","_useState6","correctDates","setCorrectDates","calendarValue","inputValue","calendarContainerWidthValue","getSizeValueFromProp","undefined","calendarContainerHeightValue","_useDatePicker","useDatePicker","currentValue","datePickerErrorClass","datePickerSuccessClass","handleChangeValue","onCalendarPick","handleCalendarPick","handleSearch","getQuarterInfo","updateExternalDate","handleToggle","innerOpened","event","isCalendarOpen","target","current","code","keys","Escape","prevValue","handleCalendarRootClick","_useKeyNavigation","useKeyNavigation","onKeyDown","handleBlur","Date","toISOString","dateInfo","isoDate","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\n value: outerValue,\n defaultDate = '',\n preserveInvalidOnBlur,\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 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 zIndex,\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 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 [innerDate, setInnerDate] = useState<string | DateType>(defaultDate || '');\n const dateValue = outerValue ?? innerDate;\n\n const initialValues = getFormattedDates({\n value: dateValue,\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\n const calendarValue: DateType = initialValues.originalDate;\n const inputValue = initialValues.formattedDate;\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 getQuarterInfo,\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 setInnerDate,\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 setInnerDate((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 (!preserveInvalidOnBlur && !calendarValue && correctDates.calendar) {\n setInnerDate(new Date(correctDates.calendar));\n if (onChangeValue) {\n onChangeValue(\n event,\n correctDates.input,\n correctDates.calendar,\n correctDates.calendar.toISOString(),\n );\n }\n\n if (onCommitDate) {\n const dateInfo = getQuarterInfo(correctDates.calendar);\n\n onCommitDate(\n correctDates.input,\n false,\n true,\n dateInfo,\n correctDates.calendar,\n correctDates.calendar.toISOString(),\n );\n }\n\n if (onChange) {\n onChange({\n target: {\n value: correctDates.input,\n originalDate: correctDates.calendar,\n isoDate: correctDates.calendar.toISOString(),\n name,\n },\n });\n }\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 if (!dateValue) {\n updateExternalDate(defaultDate);\n }\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 zIndex={zIndex}\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","outerValue","value","_ref$defaultDate","defaultDate","preserveInvalidOnBlur","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","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","zIndex","_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","inputRef","useRef","innerRef","calendarRootRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","dateFormatDelimiter","getDateFormatDelimiter","_useState3","_useState4","innerDate","setInnerDate","dateValue","initialValues","getFormattedDates","delimiter","_useState5","calendar","originalDate","input","formattedDate","_useState6","correctDates","setCorrectDates","calendarValue","inputValue","calendarContainerWidthValue","getSizeValueFromProp","undefined","calendarContainerHeightValue","_useDatePicker","useDatePicker","currentValue","datePickerErrorClass","datePickerSuccessClass","handleChangeValue","onCalendarPick","handleCalendarPick","handleSearch","getQuarterInfo","updateExternalDate","handleToggle","innerOpened","event","isCalendarOpen","target","current","code","keys","Escape","prevValue","handleCalendarRootClick","_useKeyNavigation","useKeyNavigation","onKeyDown","handleBlur","Date","toISOString","dateInfo","isoDate","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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"}
@@ -6,15 +6,28 @@ import { useIsomorphicLayoutEffect } from '../../hooks/useIsomorphicLayoutEffect
6
6
  // Полиморфная версия портала для рендера как на сервере, так и на клиенте.
7
7
  // Позволяет избежать ошибок, связанных с гидрацией.
8
8
  var ClientOnlyPortal = function ClientOnlyPortal(_ref) {
9
- var children = _ref.children;
9
+ var children = _ref.children,
10
+ providerFrame = _ref.providerFrame;
10
11
  var ref = useRef(null);
11
12
  var _useState = useState(false),
12
13
  _useState2 = _slicedToArray(_useState, 2),
13
14
  mounted = _useState2[0],
14
15
  setMounted = _useState2[1];
15
16
  useIsomorphicLayoutEffect(function () {
16
- ref.current = document.body;
17
17
  setMounted(true);
18
+ if (typeof providerFrame !== 'string' && providerFrame && providerFrame.current) {
19
+ ref.current = providerFrame.current;
20
+ return;
21
+ }
22
+ if (typeof providerFrame === 'string' && providerFrame !== 'document') {
23
+ var containerElement = document.getElementById(providerFrame);
24
+ if (!containerElement) {
25
+ ref.current = document.body;
26
+ }
27
+ ref.current = containerElement;
28
+ return;
29
+ }
30
+ ref.current = document.body;
18
31
  }, []);
19
32
  return mounted && ref.current ? /*#__PURE__*/createPortal(children, ref.current) : null;
20
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ClientOnlyPortal.js","sources":["../../../src/components/Popup/ClientOnlyPortal.tsx"],"sourcesContent":["import { useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport type { ReactNode, FC } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../../hooks';\n\n// Полиморфная версия портала для рендера как на сервере, так и на клиенте.\n// Позволяет избежать ошибок, связанных с гидрацией.\nconst ClientOnlyPortal: FC<{ children: ReactNode }> = ({ children }) => {\n const ref = useRef<HTMLElement | null>(null);\n\n const [mounted, setMounted] = useState(false);\n\n useIsomorphicLayoutEffect(() => {\n ref.current = document.body;\n\n setMounted(true);\n }, []);\n\n return mounted && ref.current ? createPortal(children, ref.current) : null;\n};\n\nexport { ClientOnlyPortal };\n"],"names":["ClientOnlyPortal","_ref","children","ref","useRef","_useState","useState","_useState2","_slicedToArray","mounted","setMounted","useIsomorphicLayoutEffect","current","document","body","createPortal"],"mappings":";;;;;AAMA;AACA;AACA,IAAMA,gBAA6C,GAAG,SAAhDA,gBAA6CA,CAAAC,IAAA,EAAqB;AAAA,EAAA,IAAfC,QAAQ,GAAAD,IAAA,CAARC,QAAQ,CAAA;AAC7D,EAAA,IAAMC,GAAG,GAAGC,MAAM,CAAqB,IAAI,CAAC,CAAA;AAE5C,EAAA,IAAAC,SAAA,GAA8BC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAtCI,IAAAA,OAAO,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,UAAU,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAE1BI,EAAAA,yBAAyB,CAAC,YAAM;AAC5BR,IAAAA,GAAG,CAACS,OAAO,GAAGC,QAAQ,CAACC,IAAI,CAAA;IAE3BJ,UAAU,CAAC,IAAI,CAAC,CAAA;GACnB,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,OAAOD,OAAO,IAAIN,GAAG,CAACS,OAAO,gBAAGG,YAAY,CAACb,QAAQ,EAAEC,GAAG,CAACS,OAAO,CAAC,GAAG,IAAI,CAAA;AAC9E;;;;"}
1
+ {"version":3,"file":"ClientOnlyPortal.js","sources":["../../../src/components/Popup/ClientOnlyPortal.tsx"],"sourcesContent":["import { useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport type { ReactNode, FC } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../../hooks';\n\n// Полиморфная версия портала для рендера как на сервере, так и на клиенте.\n// Позволяет избежать ошибок, связанных с гидрацией.\nconst ClientOnlyPortal: FC<{\n children: ReactNode;\n providerFrame?: 'document' | string | React.RefObject<HTMLElement>;\n}> = ({ children, providerFrame }) => {\n const ref = useRef<HTMLElement | null>(null);\n\n const [mounted, setMounted] = useState(false);\n\n useIsomorphicLayoutEffect(() => {\n setMounted(true);\n\n if (typeof providerFrame !== 'string' && providerFrame && providerFrame.current) {\n ref.current = providerFrame.current;\n\n return;\n }\n\n if (typeof providerFrame === 'string' && providerFrame !== 'document') {\n const containerElement = document.getElementById(providerFrame as string);\n\n if (!containerElement) {\n ref.current = document.body;\n }\n\n ref.current = containerElement;\n\n return;\n }\n\n ref.current = document.body;\n }, []);\n\n return mounted && ref.current ? createPortal(children, ref.current) : null;\n};\n\nexport { ClientOnlyPortal };\n"],"names":["ClientOnlyPortal","_ref","children","providerFrame","ref","useRef","_useState","useState","_useState2","_slicedToArray","mounted","setMounted","useIsomorphicLayoutEffect","current","containerElement","document","getElementById","body","createPortal"],"mappings":";;;;;AAMA;AACA;AACA,IAAMA,gBAGJ,GAAG,SAHCA,gBAGJA,CAAAC,IAAA,EAAoC;AAAA,EAAA,IAA9BC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,aAAa,GAAAF,IAAA,CAAbE,aAAa,CAAA;AAC3B,EAAA,IAAMC,GAAG,GAAGC,MAAM,CAAqB,IAAI,CAAC,CAAA;AAE5C,EAAA,IAAAC,SAAA,GAA8BC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAtCI,IAAAA,OAAO,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,UAAU,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAE1BI,EAAAA,yBAAyB,CAAC,YAAM;IAC5BD,UAAU,CAAC,IAAI,CAAC,CAAA;IAEhB,IAAI,OAAOR,aAAa,KAAK,QAAQ,IAAIA,aAAa,IAAIA,aAAa,CAACU,OAAO,EAAE;AAC7ET,MAAAA,GAAG,CAACS,OAAO,GAAGV,aAAa,CAACU,OAAO,CAAA;AAEnC,MAAA,OAAA;AACJ,KAAA;IAEA,IAAI,OAAOV,aAAa,KAAK,QAAQ,IAAIA,aAAa,KAAK,UAAU,EAAE;AACnE,MAAA,IAAMW,gBAAgB,GAAGC,QAAQ,CAACC,cAAc,CAACb,aAAuB,CAAC,CAAA;MAEzE,IAAI,CAACW,gBAAgB,EAAE;AACnBV,QAAAA,GAAG,CAACS,OAAO,GAAGE,QAAQ,CAACE,IAAI,CAAA;AAC/B,OAAA;MAEAb,GAAG,CAACS,OAAO,GAAGC,gBAAgB,CAAA;AAE9B,MAAA,OAAA;AACJ,KAAA;AAEAV,IAAAA,GAAG,CAACS,OAAO,GAAGE,QAAQ,CAACE,IAAI,CAAA;GAC9B,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,OAAOP,OAAO,IAAIN,GAAG,CAACS,OAAO,gBAAGK,YAAY,CAAChB,QAAQ,EAAEE,GAAG,CAACS,OAAO,CAAC,GAAG,IAAI,CAAA;AAC9E;;;;"}
@@ -27,7 +27,9 @@ var usePopupContext = function usePopupContext() {
27
27
 
28
28
  // TODO: #1599
29
29
  var PopupProvider = function PopupProvider(_ref) {
30
+ var _StyledPortal, _StyledPortal2, _StyledPortal3;
30
31
  var children = _ref.children,
32
+ providerFrame = _ref.providerFrame,
31
33
  UNSAFE_SSR_ENABLED = _ref.UNSAFE_SSR_ENABLED;
32
34
  var prevBodyOverflowY = useRef(canUseDOM ? document.body.style.overflowY : '');
33
35
  var _useState = useState(initialItems),
@@ -74,15 +76,34 @@ var PopupProvider = function PopupProvider(_ref) {
74
76
  register: register,
75
77
  unregister: unregister
76
78
  };
79
+ var getDefaultPortal = function getDefaultPortal() {
80
+ if (typeof providerFrame !== 'string' && providerFrame && providerFrame.current && canUseDOM) {
81
+ return /*#__PURE__*/React.createElement(Portal, {
82
+ container: providerFrame.current
83
+ }, _StyledPortal || (_StyledPortal = /*#__PURE__*/React.createElement(StyledPortal, {
84
+ id: rootId
85
+ })));
86
+ }
87
+ var withFrameId = typeof providerFrame === 'string' && providerFrame !== 'document';
88
+ var containerElement = withFrameId && canUseDOM && document.getElementById(providerFrame);
89
+ if (containerElement) {
90
+ return /*#__PURE__*/React.createElement(Portal, {
91
+ container: containerElement
92
+ }, _StyledPortal2 || (_StyledPortal2 = /*#__PURE__*/React.createElement(StyledPortal, {
93
+ id: rootId
94
+ })));
95
+ }
96
+ return /*#__PURE__*/React.createElement(Portal, {
97
+ container: document.body
98
+ }, _StyledPortal3 || (_StyledPortal3 = /*#__PURE__*/React.createElement(StyledPortal, {
99
+ id: rootId
100
+ })));
101
+ };
77
102
  return /*#__PURE__*/React.createElement(PopupContext.Provider, {
78
103
  value: context
79
104
  }, children, UNSAFE_SSR_ENABLED ? /*#__PURE__*/React.createElement(ClientOnlyPortal, null, /*#__PURE__*/React.createElement(StyledPortal, {
80
105
  id: rootId
81
- })) : /*#__PURE__*/React.createElement(Portal, {
82
- container: document.body
83
- }, /*#__PURE__*/React.createElement(StyledPortal, {
84
- id: rootId
85
- })));
106
+ })) : getDefaultPortal());
86
107
  };
87
108
 
88
109
  export { POPUP_PORTAL_ID, PopupProvider, usePopupContext };
@@ -1 +1 @@
1
- {"version":3,"file":"PopupContext.js","sources":["../../../src/components/Popup/PopupContext.tsx"],"sourcesContent":["import React, { createContext, useState, useContext, FC, PropsWithChildren, useRef } from 'react';\nimport { canUseDOM, safeUseId } from 'src/utils';\n\nimport { Portal } from '../Portal';\nimport { hasModals } from '../Modal/ModalContext';\n\nimport { ClientOnlyPortal } from './ClientOnlyPortal';\nimport type { PopupContextType, PopupInfo } from './Popup.types';\nimport { StyledPortal } from './Popup.styles';\n\nexport const POPUP_PORTAL_ID = 'plasma-popup-root';\n\nconst initialItems = new Map<string, PopupInfo>();\n\nconst PopupContext = createContext<PopupContextType>({\n items: initialItems,\n rootId: POPUP_PORTAL_ID,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n register(_info: PopupInfo): void {\n throw new Error('Function not implemented. Add PopupProvider');\n },\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n unregister(_id: string): void {\n throw new Error('Function not implemented. Add PopupProvider');\n },\n});\n\nexport const usePopupContext = () => useContext(PopupContext);\n\n// TODO: #1599\nexport const PopupProvider: FC<\n PropsWithChildren & {\n /**\n * @description Только для применения в рамках SSR.\n */\n UNSAFE_SSR_ENABLED?: boolean;\n }\n> = ({ children, UNSAFE_SSR_ENABLED }) => {\n const prevBodyOverflowY = useRef(canUseDOM ? document.body.style.overflowY : '');\n const [items, setItems] = useState(initialItems);\n\n const uuid = safeUseId();\n const rootId = `${POPUP_PORTAL_ID}-${uuid}`;\n\n const register = (info: PopupInfo) => {\n if (!canUseDOM) {\n return;\n }\n\n setItems((prevItems) => {\n const newItems = new Map(prevItems);\n\n if (info.info?.isModal && !hasModals(Array.from(prevItems.values()))) {\n prevBodyOverflowY.current = document.body.style.overflowY;\n document.body.style.overflowY = 'hidden';\n }\n\n newItems.set(info.id, info);\n return newItems;\n });\n };\n\n const unregister = (id: string) => {\n if (!canUseDOM) {\n return;\n }\n\n setItems((prevItems) => {\n if (!prevItems.has(id)) {\n return prevItems;\n }\n\n const newItems = new Map(prevItems);\n const prevHasModals = hasModals(Array.from(newItems.values()));\n\n newItems.delete(id);\n\n if (prevHasModals && !hasModals(Array.from(newItems.values()))) {\n document.body.style.overflowY = prevBodyOverflowY.current;\n }\n\n return newItems;\n });\n };\n\n const context = {\n items,\n rootId,\n register,\n unregister,\n };\n\n return (\n <PopupContext.Provider value={context}>\n {children}\n\n {UNSAFE_SSR_ENABLED ? (\n <ClientOnlyPortal>\n <StyledPortal id={rootId} />\n </ClientOnlyPortal>\n ) : (\n <Portal container={document.body}>\n <StyledPortal id={rootId} />\n </Portal>\n )}\n </PopupContext.Provider>\n );\n};\n"],"names":["POPUP_PORTAL_ID","initialItems","Map","PopupContext","createContext","items","rootId","register","_info","Error","unregister","_id","usePopupContext","useContext","PopupProvider","_ref","children","UNSAFE_SSR_ENABLED","prevBodyOverflowY","useRef","canUseDOM","document","body","style","overflowY","_useState","useState","_useState2","_slicedToArray","setItems","uuid","safeUseId","concat","info","prevItems","_info$info","newItems","isModal","hasModals","Array","from","values","current","set","id","has","prevHasModals","context","React","createElement","Provider","value","ClientOnlyPortal","StyledPortal","Portal","container"],"mappings":";;;;;;;;;AAUO,IAAMA,eAAe,GAAG,oBAAmB;AAElD,IAAMC,YAAY,gBAAG,IAAIC,GAAG,EAAqB,CAAA;AAEjD,IAAMC,YAAY,gBAAGC,aAAa,CAAmB;AACjDC,EAAAA,KAAK,EAAEJ,YAAY;AACnBK,EAAAA,MAAM,EAAEN,eAAe;AACvB;EACAO,QAAQ,EAAA,SAAAA,QAACC,CAAAA,KAAgB,EAAQ;AAC7B,IAAA,MAAM,IAAIC,KAAK,CAAC,6CAA6C,CAAC,CAAA;GACjE;AACD;EACAC,UAAU,EAAA,SAAAA,UAACC,CAAAA,GAAW,EAAQ;AAC1B,IAAA,MAAM,IAAIF,KAAK,CAAC,6CAA6C,CAAC,CAAA;AAClE,GAAA;AACJ,CAAC,CAAC,CAAA;AAEWG,IAAAA,eAAe,GAAG,SAAlBA,eAAeA,GAAA;EAAA,OAASC,UAAU,CAACV,YAAY,CAAC,CAAA;AAAA,EAAA;;AAE7D;IACaW,aAOZ,GAAG,SAPSA,aAOZA,CAAAC,IAAA,EAAyC;AAAA,EAAA,IAAnCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,kBAAkB,GAAAF,IAAA,CAAlBE,kBAAkB,CAAA;AAC/B,EAAA,IAAMC,iBAAiB,GAAGC,MAAM,CAACC,SAAS,GAAGC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,SAAS,GAAG,EAAE,CAAC,CAAA;AAChF,EAAA,IAAAC,SAAA,GAA0BC,QAAQ,CAACzB,YAAY,CAAC;IAAA0B,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzCpB,IAAAA,KAAK,GAAAsB,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,QAAQ,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAEtB,EAAA,IAAMG,IAAI,GAAGC,SAAS,EAAE,CAAA;EACxB,IAAMzB,MAAM,MAAA0B,MAAA,CAAMhC,eAAe,EAAAgC,GAAAA,CAAAA,CAAAA,MAAA,CAAIF,IAAI,CAAE,CAAA;AAE3C,EAAA,IAAMvB,QAAQ,GAAG,SAAXA,QAAQA,CAAI0B,IAAe,EAAK;IAClC,IAAI,CAACb,SAAS,EAAE;AACZ,MAAA,OAAA;AACJ,KAAA;IAEAS,QAAQ,CAAC,UAACK,SAAS,EAAK;AAAA,MAAA,IAAAC,UAAA,CAAA;AACpB,MAAA,IAAMC,QAAQ,GAAG,IAAIlC,GAAG,CAACgC,SAAS,CAAC,CAAA;MAEnC,IAAI,CAAAC,UAAA,GAAAF,IAAI,CAACA,IAAI,MAAA,IAAA,IAAAE,UAAA,KAAA,KAAA,CAAA,IAATA,UAAA,CAAWE,OAAO,IAAI,CAACC,SAAS,CAACC,KAAK,CAACC,IAAI,CAACN,SAAS,CAACO,MAAM,EAAE,CAAC,CAAC,EAAE;QAClEvB,iBAAiB,CAACwB,OAAO,GAAGrB,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,SAAS,CAAA;AACzDH,QAAAA,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,SAAS,GAAG,QAAQ,CAAA;AAC5C,OAAA;MAEAY,QAAQ,CAACO,GAAG,CAACV,IAAI,CAACW,EAAE,EAAEX,IAAI,CAAC,CAAA;AAC3B,MAAA,OAAOG,QAAQ,CAAA;AACnB,KAAC,CAAC,CAAA;GACL,CAAA;AAED,EAAA,IAAM1B,UAAU,GAAG,SAAbA,UAAUA,CAAIkC,EAAU,EAAK;IAC/B,IAAI,CAACxB,SAAS,EAAE;AACZ,MAAA,OAAA;AACJ,KAAA;IAEAS,QAAQ,CAAC,UAACK,SAAS,EAAK;AACpB,MAAA,IAAI,CAACA,SAAS,CAACW,GAAG,CAACD,EAAE,CAAC,EAAE;AACpB,QAAA,OAAOV,SAAS,CAAA;AACpB,OAAA;AAEA,MAAA,IAAME,QAAQ,GAAG,IAAIlC,GAAG,CAACgC,SAAS,CAAC,CAAA;AACnC,MAAA,IAAMY,aAAa,GAAGR,SAAS,CAACC,KAAK,CAACC,IAAI,CAACJ,QAAQ,CAACK,MAAM,EAAE,CAAC,CAAC,CAAA;MAE9DL,QAAQ,CAAA,QAAA,CAAO,CAACQ,EAAE,CAAC,CAAA;AAEnB,MAAA,IAAIE,aAAa,IAAI,CAACR,SAAS,CAACC,KAAK,CAACC,IAAI,CAACJ,QAAQ,CAACK,MAAM,EAAE,CAAC,CAAC,EAAE;QAC5DpB,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,SAAS,GAAGN,iBAAiB,CAACwB,OAAO,CAAA;AAC7D,OAAA;AAEA,MAAA,OAAON,QAAQ,CAAA;AACnB,KAAC,CAAC,CAAA;GACL,CAAA;AAED,EAAA,IAAMW,OAAO,GAAG;AACZ1C,IAAAA,KAAK,EAALA,KAAK;AACLC,IAAAA,MAAM,EAANA,MAAM;AACNC,IAAAA,QAAQ,EAARA,QAAQ;AACRG,IAAAA,UAAU,EAAVA,UAAAA;GACH,CAAA;AAED,EAAA,oBACIsC,KAAA,CAAAC,aAAA,CAAC9C,YAAY,CAAC+C,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAEJ,OAAAA;AAAQ,GAAA,EACjC/B,QAAQ,EAERC,kBAAkB,gBACf+B,KAAA,CAAAC,aAAA,CAACG,gBAAgB,EACbJ,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACI,YAAY,EAAA;AAACT,IAAAA,EAAE,EAAEtC,MAAAA;AAAO,GAAE,CACb,CAAC,gBAEnB0C,KAAA,CAAAC,aAAA,CAACK,MAAM,EAAA;IAACC,SAAS,EAAElC,QAAQ,CAACC,IAAAA;AAAK,GAAA,eAC7B0B,KAAA,CAAAC,aAAA,CAACI,YAAY,EAAA;AAACT,IAAAA,EAAE,EAAEtC,MAAAA;GAAS,CACvB,CAEO,CAAC,CAAA;AAEhC;;;;"}
1
+ {"version":3,"file":"PopupContext.js","sources":["../../../src/components/Popup/PopupContext.tsx"],"sourcesContent":["import React, { createContext, useState, useContext, FC, PropsWithChildren, useRef } from 'react';\nimport { canUseDOM, safeUseId } from 'src/utils';\n\nimport { Portal } from '../Portal';\nimport { hasModals } from '../Modal/ModalContext';\n\nimport { ClientOnlyPortal } from './ClientOnlyPortal';\nimport type { PopupContextType, PopupInfo } from './Popup.types';\nimport { StyledPortal } from './Popup.styles';\n\nexport const POPUP_PORTAL_ID = 'plasma-popup-root';\n\nconst initialItems = new Map<string, PopupInfo>();\n\nconst PopupContext = createContext<PopupContextType>({\n items: initialItems,\n rootId: POPUP_PORTAL_ID,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n register(_info: PopupInfo): void {\n throw new Error('Function not implemented. Add PopupProvider');\n },\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n unregister(_id: string): void {\n throw new Error('Function not implemented. Add PopupProvider');\n },\n});\n\nexport const usePopupContext = () => useContext(PopupContext);\n\n// TODO: #1599\nexport const PopupProvider: FC<\n PropsWithChildren & {\n /**\n * В каком контейнере позиционируется(по умолчанию document), можно также указать id элемента или ref для него.\n */\n providerFrame?: 'document' | string | React.RefObject<HTMLElement>;\n /**\n * @description Только для применения в рамках SSR.\n */\n UNSAFE_SSR_ENABLED?: boolean;\n }\n> = ({ children, providerFrame, UNSAFE_SSR_ENABLED }) => {\n const prevBodyOverflowY = useRef(canUseDOM ? document.body.style.overflowY : '');\n const [items, setItems] = useState(initialItems);\n\n const uuid = safeUseId();\n const rootId = `${POPUP_PORTAL_ID}-${uuid}`;\n\n const register = (info: PopupInfo) => {\n if (!canUseDOM) {\n return;\n }\n\n setItems((prevItems) => {\n const newItems = new Map(prevItems);\n\n if (info.info?.isModal && !hasModals(Array.from(prevItems.values()))) {\n prevBodyOverflowY.current = document.body.style.overflowY;\n document.body.style.overflowY = 'hidden';\n }\n\n newItems.set(info.id, info);\n return newItems;\n });\n };\n\n const unregister = (id: string) => {\n if (!canUseDOM) {\n return;\n }\n\n setItems((prevItems) => {\n if (!prevItems.has(id)) {\n return prevItems;\n }\n\n const newItems = new Map(prevItems);\n const prevHasModals = hasModals(Array.from(newItems.values()));\n\n newItems.delete(id);\n\n if (prevHasModals && !hasModals(Array.from(newItems.values()))) {\n document.body.style.overflowY = prevBodyOverflowY.current;\n }\n\n return newItems;\n });\n };\n\n const context = {\n items,\n rootId,\n register,\n unregister,\n };\n\n const getDefaultPortal = () => {\n if (typeof providerFrame !== 'string' && providerFrame && providerFrame.current && canUseDOM) {\n return (\n <Portal container={providerFrame.current}>\n <StyledPortal id={rootId} />\n </Portal>\n );\n }\n\n const withFrameId = typeof providerFrame === 'string' && providerFrame !== 'document';\n const containerElement = withFrameId && canUseDOM && document.getElementById(providerFrame as string);\n\n if (containerElement) {\n return (\n <Portal container={containerElement}>\n <StyledPortal id={rootId} />\n </Portal>\n );\n }\n\n return (\n <Portal container={document.body}>\n <StyledPortal id={rootId} />\n </Portal>\n );\n };\n\n return (\n <PopupContext.Provider value={context}>\n {children}\n\n {UNSAFE_SSR_ENABLED ? (\n <ClientOnlyPortal>\n <StyledPortal id={rootId} />\n </ClientOnlyPortal>\n ) : (\n getDefaultPortal()\n )}\n </PopupContext.Provider>\n );\n};\n"],"names":["POPUP_PORTAL_ID","initialItems","Map","PopupContext","createContext","items","rootId","register","_info","Error","unregister","_id","usePopupContext","useContext","PopupProvider","_ref","_StyledPortal","_StyledPortal2","_StyledPortal3","children","providerFrame","UNSAFE_SSR_ENABLED","prevBodyOverflowY","useRef","canUseDOM","document","body","style","overflowY","_useState","useState","_useState2","_slicedToArray","setItems","uuid","safeUseId","concat","info","prevItems","_info$info","newItems","isModal","hasModals","Array","from","values","current","set","id","has","prevHasModals","context","getDefaultPortal","React","createElement","Portal","container","StyledPortal","withFrameId","containerElement","getElementById","Provider","value","ClientOnlyPortal"],"mappings":"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"}
@@ -46,6 +46,7 @@ var selectRoot = function selectRoot(Root) {
46
46
  readOnly = _props$readOnly === void 0 ? false : _props$readOnly,
47
47
  outerView = props.view,
48
48
  size = props.size,
49
+ listOverflow = props.listOverflow,
49
50
  listHeight = props.listHeight,
50
51
  listMaxHeight = props.listMaxHeight,
51
52
  listWidth = props.listWidth,
@@ -121,7 +122,6 @@ var selectRoot = function selectRoot(Root) {
121
122
  var activeDescendantItemValue = ((_getItemByFocused = getItemByFocused(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value.toString()) || '';
122
123
  var closeAfterSelect = outerCloseAfterSelect !== null && outerCloseAfterSelect !== void 0 ? outerCloseAfterSelect : !props.multiselect;
123
124
  var treeId = safeUseId();
124
- var listWrapperRef = useRef(null);
125
125
  var view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);
126
126
 
127
127
  // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.
@@ -410,12 +410,12 @@ var selectRoot = function selectRoot(Root) {
410
410
  disabled: disabled,
411
411
  readOnly: readOnly
412
412
  }, rest), /*#__PURE__*/React.createElement(ListWrapper, {
413
- ref: listWrapperRef,
414
413
  listWidth: listWidth
415
414
  }, /*#__PURE__*/React.createElement(Ul, {
416
415
  role: "tree",
417
416
  id: "".concat(treeId, "_tree_level_1"),
418
417
  "aria-multiselectable": Boolean(props.multiselect),
418
+ listOverflow: listOverflow,
419
419
  listMaxHeight: listMaxHeight || listHeight,
420
420
  onScroll: virtual ? undefined : handleScroll,
421
421
  ref: targetRef,
@@ -438,8 +438,7 @@ var selectRoot = function selectRoot(Root) {
438
438
  path: path,
439
439
  dispatchPath: dispatchPath,
440
440
  index: index,
441
- listWidth: listWidth,
442
- portal: listWrapperRef
441
+ listWidth: listWidth
443
442
  });
444
443
  }), afterList))))));
445
444
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useState,\n useReducer,\n useMemo,\n useLayoutEffect,\n useRef,\n ChangeEvent,\n ForwardedRef,\n} from 'react';\nimport { RootProps } from 'src/engines';\nimport { isEmpty, safeUseId } from 'src/utils';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base, ListWrapper } from './Select.styles';\nimport type { MergedSelectProps, RequiredProps } from './Select.types';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { FloatingPopover } from './FloatingPopover';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Select.context';\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n // eslint-disable-block @typescript-eslint/ban-ts-comment\n id,\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n placement = 'bottom',\n label,\n labelPlacement,\n placeholder,\n helperText,\n disabled = false,\n readOnly = false,\n view: outerView,\n size,\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\n onScroll,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n closeAfterSelect: outerCloseAfterSelect,\n isTargetAmount,\n beforeList,\n afterList,\n zIndex,\n name,\n defaultValue,\n virtual = false,\n onToggle,\n chipType,\n multiselect,\n // @ts-ignore\n _offset,\n\n // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.\n // @ts-ignore\n required,\n // @ts-ignore\n requiredPlacement,\n // @ts-ignore\n hasRequiredIndicator,\n // @ts-ignore\n optional,\n // @ts-ignore\n hintText,\n // @ts-ignore\n hintTrigger,\n // @ts-ignore\n hintView,\n // @ts-ignore\n hintSize,\n // @ts-ignore\n hintTargetPlacement,\n // @ts-ignore\n hintPlacement,\n // @ts-ignore\n hintWidth,\n // @ts-ignore\n hintHasArrow,\n // @ts-ignore\n hasHint,\n ...rest\n } = props;\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap, labelToItemMap] = usePathMaps(\n transformedItems,\n );\n\n const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n props.multiselect ? [] : '',\n );\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value.toString() || '';\n const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n const treeId = safeUseId();\n const listWrapperRef = useRef<HTMLDivElement>(null);\n const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n\n // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n const requiredProps =\n props.target === 'button-like'\n ? undefined\n : ({\n required,\n requiredPlacement,\n hasRequiredIndicator,\n optional,\n } as RequiredProps);\n\n // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n const hintProps =\n props.target === 'button-like'\n ? undefined\n : ({\n hintText,\n hintTrigger,\n hintView,\n hintSize,\n hintTargetPlacement,\n hintPlacement,\n hintWidth,\n hintHasArrow,\n } as HintProps);\n\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n }, floatingPopoverRef);\n\n const onChange = (\n newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n item?: MergedDropdownNodeTransformed | null,\n ) => {\n if (props.onChange) {\n // Условие для отправки если компонент используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки если компонент используется с формой.\n // Убрать условие \"typeof ref === 'function'\" в PLASMA 2.0\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any, item || null);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (!props.multiselect) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string | number> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n\n if (onItemSelect) {\n onItemSelect(item, e!);\n }\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (onScroll) {\n onScroll(e);\n }\n\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value) || typeof value === 'number') {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue as string | string[]);\n }\n }, [defaultValue]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n id={id}\n {...(rest as any)}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiselect={props.multiselect}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n />\n )}\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <Target\n ref={name ? null : ref}\n value={value}\n opened={isCurrentListOpen}\n valueToItemMap={valueToItemMap}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n readOnly={readOnly}\n renderValue={renderValue}\n selectProps={props}\n inputWrapperRef={referenceRef as React.MutableRefObject<HTMLDivElement>}\n multiselect={props.multiselect}\n view={view}\n helperText={helperText}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n isTargetAmount={isTargetAmount}\n onChange={onChange}\n labelToItemMap={labelToItemMap}\n chipView={chipView}\n separator={separator}\n requiredProps={requiredProps}\n hintProps={hintProps}\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n {...(rest as any)}\n >\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(props.multiselect)}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={virtual ? undefined : handleScroll}\n ref={targetRef}\n virtual={virtual}\n >\n {beforeList}\n\n {props.multiselect && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll selectAllOptions={props.selectAllOptions} variant={variant} />\n )}\n\n {virtual ? (\n <VirtualList\n items={transformedItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n chipView: 'default',\n },\n};\n"],"names":["selectRoot","Root","forwardRef","props","ref","_getItemByFocused","id","outerValue","value","_props$target","target","items","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listHeight","listMaxHeight","listWidth","contentLeft","onScrollBottom","onScroll","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","_props$virtual","virtual","onToggle","_offset","required","requiredPlacement","hasRequiredIndicator","optional","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","multiselect","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","listWrapperRef","getView","requiredProps","hintProps","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleListToggle","opened","handleCheckboxChange","checkedCopy","Map","get","set","updateDescendants","updateAncestors","newValues","forEach","key","push","val","has","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","Target","selectProps","inputWrapperRef","isInner","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA4BA;AACA;AACA;IACaA,UAAU,GAAG,SAAbA,UAAUA,CAAIC,IAAoE,EAAA;AAAA,EAAA,oBAC3FC,UAAU,CAAuC,UAACC,KAAK,EAAEC,GAAG,EAAK;AAAA,IAAA,IAAAC,iBAAA,CAAA;AAC7D,IAAA,IAEIC,EAAE,GAuEFH,KAAK,CAvELG,EAAE,CAAA;MACKC,UAAU,GAsEjBJ,KAAK,CAtELK,KAAK,CAAA;MACGC,aAAA,GAqERN,KAAK,CApELO,MAAM,CAAA;AAANA,MAAAA,MAAM,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,gBAAgB,GAAAA,aAAA,CAAA;MACzBE,KAAK,GAmELR,KAAK,CAnELQ,KAAK,CAAA;MAAAC,gBAAA,GAmELT,KAAK,CAlELU,SAAS,CAAA;AAATA,MAAAA,SAAS,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,gBAAA,CAAA;MACpBE,KAAK,GAiELX,KAAK,CAjELW,KAAK,CAAA;MACLC,cAAc,GAgEdZ,KAAK,CAhELY,cAAc,CAAA;MACdC,WAAW,GA+DXb,KAAK,CA/DLa,WAAW,CAAA;MACXC,UAAU,GA8DVd,KAAK,CA9DLc,UAAU,CAAA;MAAAC,eAAA,GA8DVf,KAAK,CA7DLgB,QAAQ,CAAA;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA,CAAA;MAAAE,eAAA,GA6DhBjB,KAAK,CA5DLkB,QAAQ,CAAA;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA,CAAA;MACVE,SAAS,GA2DfnB,KAAK,CA3DLoB,IAAI,CAAA;MACJC,IAAI,GA0DJrB,KAAK,CA1DLqB,IAAI,CAAA;MAEJC,UAAU,GAwDVtB,KAAK,CAxDLsB,UAAU,CAAA;MACVC,aAAa,GAuDbvB,KAAK,CAvDLuB,aAAa,CAAA;MACbC,SAAS,GAsDTxB,KAAK,CAtDLwB,SAAS,CAAA;MACTC,WAAW,GAqDXzB,KAAK,CArDLyB,WAAW,CAAA;MACXC,cAAc,GAoDd1B,KAAK,CApDL0B,cAAc,CAAA;MACdC,QAAQ,GAmDR3B,KAAK,CAnDL2B,QAAQ,CAAA;MACRC,QAAQ,GAkDR5B,KAAK,CAlDL4B,QAAQ,CAAA;MAAAC,cAAA,GAkDR7B,KAAK,CAjDL8B,OAAO,CAAA;AAAPA,MAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,cAAA,CAAA;MAClBE,MAAM,GAgDN/B,KAAK,CAhDL+B,MAAM,CAAA;MACNC,WAAW,GA+CXhC,KAAK,CA/CLgC,WAAW,CAAA;MACXC,UAAU,GA8CVjC,KAAK,CA9CLiC,UAAU,CAAA;MACVC,MAAM,GA6CNlC,KAAK,CA7CLkC,MAAM,CAAA;MACNC,YAAY,GA4CZnC,KAAK,CA5CLmC,YAAY,CAAA;MACZC,SAAS,GA2CTpC,KAAK,CA3CLoC,SAAS,CAAA;MACSC,qBAAqB,GA0CvCrC,KAAK,CA1CLsC,gBAAgB,CAAA;MAChBC,cAAc,GAyCdvC,KAAK,CAzCLuC,cAAc,CAAA;MACdC,UAAU,GAwCVxC,KAAK,CAxCLwC,UAAU,CAAA;MACVC,SAAS,GAuCTzC,KAAK,CAvCLyC,SAAS,CAAA;MACTC,MAAM,GAsCN1C,KAAK,CAtCL0C,MAAM,CAAA;MACNC,IAAI,GAqCJ3C,KAAK,CArCL2C,IAAI,CAAA;MACJC,YAAY,GAoCZ5C,KAAK,CApCL4C,YAAY,CAAA;MAAAC,cAAA,GAoCZ7C,KAAK,CAnCL8C,OAAO,CAAA;AAAPA,MAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA,CAAA;MACfE,QAAQ,GAkCR/C,KAAK,CAlCL+C,QAAQ,CAAA;MAIRC,OAAO,GA8BPhD,KAAK,CA9BLgD,OAAO,CAAA;MAIPC,QAAQ,GA0BRjD,KAAK,CA1BLiD,QAAQ,CAAA;MAERC,iBAAiB,GAwBjBlD,KAAK,CAxBLkD,iBAAiB,CAAA;MAEjBC,oBAAoB,GAsBpBnD,KAAK,CAtBLmD,oBAAoB,CAAA;MAEpBC,QAAQ,GAoBRpD,KAAK,CApBLoD,QAAQ,CAAA;MAERC,QAAQ,GAkBRrD,KAAK,CAlBLqD,QAAQ,CAAA;MAERC,WAAW,GAgBXtD,KAAK,CAhBLsD,WAAW,CAAA;MAEXC,QAAQ,GAcRvD,KAAK,CAdLuD,QAAQ,CAAA;MAERC,QAAQ,GAYRxD,KAAK,CAZLwD,QAAQ,CAAA;MAERC,mBAAmB,GAUnBzD,KAAK,CAVLyD,mBAAmB,CAAA;MAEnBC,aAAa,GAQb1D,KAAK,CARL0D,aAAa,CAAA;MAEbC,SAAS,GAMT3D,KAAK,CANL2D,SAAS,CAAA;MAETC,YAAY,GAIZ5D,KAAK,CAJL4D,YAAY,CAAA;MAGTC,IAAI,GAAAC,wBAAA,CACP9D,KAAK,EAAA+D,SAAA,EAAA;IACT,IAAMC,gBAAgB,GAAGC,OAAO,CAAC,YAAA;AAAA,MAAA,OAAMC,qBAAqB,CAAC1D,KAAK,IAAI,EAAE,CAAC,CAAA;KAAE,EAAA,CAACA,KAAK,CAAC,CAAC,CAAA;;AAEnF;AACA,IAAA,IAAA2D,YAAA,GAAwFC,WAAW,CAC/FJ,gBACJ,CAAC;MAAAK,aAAA,GAAAC,cAAA,CAAAH,YAAA,EAAA,CAAA,CAAA;AAFMI,MAAAA,OAAO,GAAAF,aAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,iBAAiB,GAAAH,aAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,iBAAiB,GAAAJ,aAAA,CAAA,CAAA,CAAA;AAAEK,MAAAA,cAAc,GAAAL,aAAA,CAAA,CAAA,CAAA;AAAEM,MAAAA,cAAc,GAAAN,aAAA,CAAA,CAAA,CAAA,CAAA;IAIpF,IAAAO,SAAA,GAA0CC,QAAQ,CAC9C7E,KAAK,CAAC8E,WAAW,GAAG,EAAE,GAAG,EAC7B,CAAC;MAAAC,UAAA,GAAAT,cAAA,CAAAM,SAAA,EAAA,CAAA,CAAA;AAFMI,MAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAItC,IAAA,IAAM1E,KAAK,GAAGD,UAAU,KAAK,IAAI,IAAIA,UAAU,KAAK8E,SAAS,GAAG9E,UAAU,GAAG4E,aAAa,CAAA;AAE1F,IAAA,IAAMG,kBAAkB,GAAGC,MAAM,CAAiB,IAAI,CAAC,CAAA;;AAEvD;AACA,IAAA,IAAAC,WAAA,GAA6BC,UAAU,CAACC,WAAW,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAlB,cAAA,CAAAe,WAAA,EAAA,CAAA,CAAA;AAAjDI,MAAAA,IAAI,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AACzB,IAAA,IAAAG,YAAA,GAA2CL,UAAU,CAACM,kBAAkB,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAvB,cAAA,CAAAqB,YAAA,EAAA,CAAA,CAAA;AAAtEG,MAAAA,WAAW,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,mBAAmB,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AACvC,IAAA,IAAAG,UAAA,GAA8BnB,QAAQ,CAACJ,iBAAiB,CAAC;MAAAwB,UAAA,GAAA3B,cAAA,CAAA0B,UAAA,EAAA,CAAA,CAAA;AAAlDE,MAAAA,OAAO,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAE1B,IAAMG,iBAAiB,GAAGC,OAAO,CAACZ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1C,IAAMa,yBAAyB,GAAG,CAAApG,CAAAA,iBAAA,GAAAqG,gBAAgB,CAACT,WAAW,EAAEtB,iBAAiB,CAAC,cAAAtE,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhDA,iBAAA,CAAkDG,KAAK,CAACmG,QAAQ,EAAE,KAAI,EAAE,CAAA;IAC1G,IAAMlE,gBAAgB,GAAGD,qBAAqB,KAArBA,IAAAA,IAAAA,qBAAqB,KAArBA,KAAAA,CAAAA,GAAAA,qBAAqB,GAAI,CAACrC,KAAK,CAAC8E,WAAW,CAAA;AACpE,IAAA,IAAM2B,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,IAAA,IAAMC,cAAc,GAAGvB,MAAM,CAAiB,IAAI,CAAC,CAAA;AACnD,IAAA,IAAMhE,IAAI,GAAGb,MAAM,KAAK,gBAAgB,KAAKS,QAAQ,IAAIE,QAAQ,CAAC,GAAG,SAAS,GAAG0F,OAAO,CAAC1E,MAAM,EAAEf,SAAS,CAAC,CAAA;;AAE3G;IACA,IAAM0F,aAAa,GACf7G,KAAK,CAACO,MAAM,KAAK,aAAa,GACxB2E,SAAS,GACR;AACGjC,MAAAA,QAAQ,EAARA,QAAQ;AACRC,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBC,MAAAA,oBAAoB,EAApBA,oBAAoB;AACpBC,MAAAA,QAAQ,EAARA,QAAAA;KACe,CAAA;;AAE7B;IACA,IAAM0D,SAAS,GACX9G,KAAK,CAACO,MAAM,KAAK,aAAa,GACxB2E,SAAS,GACR;AACG7B,MAAAA,QAAQ,EAARA,QAAQ;AACRC,MAAAA,WAAW,EAAXA,WAAW;AACXC,MAAAA,QAAQ,EAARA,QAAQ;AACRC,MAAAA,QAAQ,EAARA,QAAQ;AACRC,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBC,MAAAA,aAAa,EAAbA,aAAa;AACbC,MAAAA,SAAS,EAATA,SAAS;AACTC,MAAAA,YAAY,EAAZA,YAAAA;KACW,CAAA;AAEzB,IAAA,IAAMmD,SAAS,GAAGC,eAAe,CAAmB,YAAM;MACtD,IAAI,CAACZ,iBAAiB,EAAE;AACpB,QAAA,OAAA;AACJ,OAAA;AAEAV,MAAAA,YAAY,CAAC;AAAEuB,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;AAC/BlB,MAAAA,mBAAmB,CAAC;AAAEkB,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;AAEtC,MAAA,IAAIlE,QAAQ,EAAE;QACVA,QAAQ,CAAC,KAAK,CAAC,CAAA;AACnB,OAAA;KACH,EAAEoC,kBAAkB,CAAC,CAAA;IAEtB,IAAM+B,QAAQ,GAAG,SAAXA,QAAQA,CACVC,QAA2F,EAC3FC,IAA2C,EAC1C;MACD,IAAIpH,KAAK,CAACkH,QAAQ,EAAE;AAChB;AACA,QAAA,IAAI,CAAClH,KAAK,CAAC2C,IAAI,KAAK,OAAOwE,QAAQ,KAAK,QAAQ,IAAIE,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,CAAC,EAAE;UAC1EnH,KAAK,CAACkH,QAAQ,CAACC,QAAQ,EAASC,IAAI,IAAI,IAAI,CAAC,CAAA;AACjD,SAAA;;AAEA;AACA;AACA,QAAA,IAAIpH,KAAK,CAAC2C,IAAI,IAAI4E,OAAA,CAAOJ,QAAQ,CAAA,KAAK,QAAQ,IAAI,CAACE,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,EAAE;UACxEnH,KAAK,CAACkH,QAAQ,CAACC,QAAQ,EAASC,IAAI,IAAI,IAAI,CAAC,CAAA;AACjD,SAAA;AACJ,OAAA;;AAEA;MACA,IAAI,OAAOD,QAAQ,KAAK,QAAQ,IAAIE,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,EAAE;QACzDlC,gBAAgB,CAACkC,QAAQ,CAAC,CAAA;AAC9B,OAAA;KACH,CAAA;AAED,IAAA,IAAMK,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,MAAe,EAAK;MAC1C,IAAIzG,QAAQ,IAAIE,QAAQ,EAAE;AACtB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIuG,MAAM,EAAE;AACR/B,QAAAA,YAAY,CAAC;AAAEuB,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAChD,OAAC,MAAM;AACHlB,QAAAA,mBAAmB,CAAC;AAAEkB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACtCvB,QAAAA,YAAY,CAAC;AAAEuB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACnC,OAAA;AAEA,MAAA,IAAIlE,QAAQ,EAAE;QACVA,QAAQ,CAAC0E,MAAM,CAAC,CAAA;AACpB,OAAA;KACH,CAAA;AAED,IAAA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIN,IAAmC,EAAK;AAClE,MAAA,IAAI,CAACpH,KAAK,CAAC8E,WAAW,EAAE;AACpB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAM6C,WAAW,GAAG,IAAIC,GAAG,CAAC1B,OAAO,CAAC,CAAA;MAEpC,IAAI,CAACyB,WAAW,CAACE,GAAG,CAACT,IAAI,CAAC/G,KAAK,CAAC,EAAE;QAC9BsH,WAAW,CAACG,GAAG,CAACV,IAAI,CAAC/G,KAAK,EAAE,IAAI,CAAC,CAAA;QACjC0H,iBAAiB,CAACX,IAAI,EAAEO,WAAW,EAAE,IAAI,EAAEjD,cAAc,CAAC,CAAA;AAC9D,OAAC,MAAM;QACHiD,WAAW,CAACG,GAAG,CAACV,IAAI,CAAC/G,KAAK,EAAE,KAAK,CAAC,CAAA;AAClC0H,QAAAA,iBAAiB,CAACX,IAAI,EAAEO,WAAW,EAAE,KAAK,CAAC,CAAA;AAC/C,OAAA;AAEAK,MAAAA,eAAe,CAACZ,IAAI,EAAEO,WAAW,CAAC,CAAA;MAElC,IAAMM,SAAiC,GAAG,EAAE,CAAA;AAE5CvD,MAAAA,cAAc,CAACwD,OAAO,CAAC,UAACd,IAAI,EAAEe,GAAG,EAAK;AAClC,QAAA,IAAIR,WAAW,CAACE,GAAG,CAACM,GAAG,CAAC,EAAE;AACtBF,UAAAA,SAAS,CAACG,IAAI,CAAChB,IAAI,CAAC/G,KAAK,CAAC,CAAA;AAC9B,SAAA;AACJ,OAAC,CAAC,CAAA;;AAEF;AACA,MAAA,IAAIgH,KAAK,CAACC,OAAO,CAACjH,KAAK,CAAC,EAAE;AACtBA,QAAAA,KAAK,CAAC6H,OAAO,CAAC,UAACG,GAAW,EAAK;AAC3B,UAAA,IAAI,CAAC3D,cAAc,CAAC4D,GAAG,CAACD,GAAG,CAAC,EAAE;AAC1BJ,YAAAA,SAAS,CAACG,IAAI,CAACC,GAAG,CAAC,CAAA;AACvB,WAAA;AACJ,SAAC,CAAC,CAAA;AACN,OAAA;AAEA,MAAA,IAAI/F,gBAAgB,EAAE;AAClBoD,QAAAA,YAAY,CAAC;AAAEuB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/BlB,QAAAA,mBAAmB,CAAC;AAAEkB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC1C,OAAA;AAEA,MAAA,IAAIC,QAAQ,EAAE;AACVA,QAAAA,QAAQ,CAACe,SAAS,EAAEb,IAAI,CAAC,CAAA;AAC7B,OAAA;KACH,CAAA;IAED,IAAMmB,eAAe,GAAG,SAAlBA,eAAeA,CAAInB,IAAmC,EAAEoB,CAAiC,EAAK;MAChG,IAAI,CAACC,OAAO,CAACrB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAE5G,KAAK,CAAC,EAAE;AACvB,QAAA,OAAA;AACJ,OAAA;MAEA,IAAIR,KAAK,CAAC8E,WAAW,EAAE;QACnB4C,oBAAoB,CAACN,IAAI,CAAC,CAAA;AAC1B,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIoB,CAAC,EAAE;QACHA,CAAC,CAACE,eAAe,EAAE,CAAA;AACvB,OAAA;MAEA,IAAMC,gBAAgB,GAAGzC,OAAO,CAAC2B,GAAG,CAACT,IAAI,CAAC/G,KAAK,CAAC,CAAA;AAEhD,MAAA,IAAIiC,gBAAgB,EAAE;AAClBoD,QAAAA,YAAY,CAAC;AAAEuB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/BlB,QAAAA,mBAAmB,CAAC;AAAEkB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC1C,OAAA;AAEA,MAAA,IAAIC,QAAQ,EAAE;QACVA,QAAQ,CAACyB,gBAAgB,GAAG,EAAE,GAAGvB,IAAI,CAAC/G,KAAK,EAAE+G,IAAI,CAAC,CAAA;AACtD,OAAA;AAEA,MAAA,IAAIjF,YAAY,EAAE;AACdA,QAAAA,YAAY,CAACiF,IAAI,EAAEoB,CAAE,CAAC,CAAA;AAC1B,OAAA;KACH,CAAA;IAED,IAAMI,eAAe,GAAG,SAAlBA,eAAeA,CAAIxB,IAAmC,EAAEoB,CAAiC,EAAK;AAChG,MAAA,IAAIC,OAAO,CAACrB,IAAI,CAAC5G,KAAK,CAAC,EAAE;AACrB+H,QAAAA,eAAe,CAACnB,IAAI,EAAEoB,CAAC,CAAC,CAAA;AAC5B,OAAC,MAAM,IAAIxI,KAAK,CAAC8E,WAAW,EAAE;QAC1B4C,oBAAoB,CAACN,IAAI,CAAC,CAAA;AAC9B,OAAA;KACH,CAAA;AAED,IAAA,IAAMyB,YAAY,GAAG,SAAfA,YAAYA,CAAIL,CAAkC,EAAK;AACzD,MAAA,IAAI7G,QAAQ,EAAE;QACVA,QAAQ,CAAC6G,CAAC,CAAC,CAAA;AACf,OAAA;MAEA,IAAI,CAAC9G,cAAc,EAAE,OAAA;AAErB,MAAA,IAAQnB,MAAM,GAAKiI,CAAC,CAAZjI,MAAM,CAAA;MAEd,IACKA,MAAM,CAAiBuI,YAAY,GAAIvI,MAAM,CAAiBwI,SAAS,KACvExI,MAAM,CAAiByI,YAAY,EACtC;QACEtH,cAAc,CAAC8G,CAAC,CAAC,CAAA;AACrB,OAAA;KACH,CAAA;IAED,IAAAS,iBAAA,GAAsBC,gBAAgB,CAAC;AACnCpD,QAAAA,WAAW,EAAXA,WAAW;AACXC,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBN,QAAAA,IAAI,EAAJA,IAAI;AACJC,QAAAA,YAAY,EAAZA,YAAY;AACZnB,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBgD,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBoB,QAAAA,eAAe,EAAfA,eAAAA;AACJ,OAAC,CAAC;MATMO,SAAS,GAAAF,iBAAA,CAATE,SAAS,CAAA;;AAWjB;AACA;AACAC,IAAAA,eAAe,CAAC,YAAM;AAClB,MAAA,IAAMzB,WAAW,GAAG,IAAIC,GAAG,CAAC1B,OAAO,CAAC,CAAA;AAEpCyB,MAAAA,WAAW,CAACO,OAAO,CAAC,UAACmB,CAAC,EAAElB,GAAG,EAAK;AAC5BR,QAAAA,WAAW,CAACG,GAAG,CAACK,GAAG,EAAE,KAAK,CAAC,CAAA;AAC/B,OAAC,CAAC,CAAA;MAEF,IAAI,CAACM,OAAO,CAACpI,KAAK,CAAC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAC9C,QAAA,IAAIgH,KAAK,CAACC,OAAO,CAACjH,KAAK,CAAC,EAAE;AACtBA,UAAAA,KAAK,CAAC6H,OAAO,CAAC,UAACG,GAAG,EAAK;AACnB;AACA,YAAA,IAAI3D,cAAc,CAAC4D,GAAG,CAACD,GAAG,CAAC,EAAE;AACzBV,cAAAA,WAAW,CAACG,GAAG,CAACO,GAAG,EAAE,IAAI,CAAC,CAAA;cAC1BN,iBAAiB,CAACrD,cAAc,CAACmD,GAAG,CAACQ,GAAG,CAAC,EAAGV,WAAW,EAAE,IAAI,CAAC,CAAA;cAC9DK,eAAe,CAACtD,cAAc,CAACmD,GAAG,CAACQ,GAAG,CAAC,EAAGV,WAAW,CAAC,CAAA;AAC1D,aAAA;AACJ,WAAC,CAAC,CAAA;AACN,SAAC,MAAM;AACH;AACA;AACA,UAAA,IAAIjD,cAAc,CAAC4D,GAAG,CAACjI,KAAK,CAAC,EAAE;AAC3BsH,YAAAA,WAAW,CAACG,GAAG,CAACzH,KAAK,EAAE,MAAM,CAAC,CAAA;YAC9BiJ,qBAAqB,CAAC5E,cAAc,CAACmD,GAAG,CAACxH,KAAK,CAAC,EAAGsH,WAAW,EAAE,KAAK,CAAC,CAAA;AACzE,WAAA;AACJ,SAAA;AACJ,OAAA;MAEAxB,UAAU,CAACwB,WAAW,CAAC,CAAA;;AAEvB;AACA;AACA;KACH,EAAE,CAACvH,UAAU,EAAE4E,aAAa,EAAExE,KAAK,CAAC,CAAC,CAAA;AAEtC4I,IAAAA,eAAe,CAAC,YAAM;AAClB,MAAA,IAAIxG,YAAY,EAAE;QACdqC,gBAAgB,CAACrC,YAAiC,CAAC,CAAA;AACvD,OAAA;AACJ,KAAC,EAAE,CAACA,YAAY,CAAC,CAAC,CAAA;AAElB,IAAA,oBACI2G,KAAA,CAAAC,aAAA,CAAC1J,IAAI,EAAA2J,QAAA,CAAA;AACDrI,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXT,MAAAA,cAAc,EAAEA,cAAe;AAC/BgB,MAAAA,QAAQ,EAAEA,QAAS;AACnBZ,MAAAA,QAAQ,EAAEA,QAAS;AACnBE,MAAAA,QAAQ,EAAEA,QAAS;AACnBf,MAAAA,EAAE,EAAEA,EAAAA;KACC0D,EAAAA,IAAI,GAERlB,IAAI,iBACD4G,KAAA,CAAAC,aAAA,CAACE,YAAY,EAAA;AACTlJ,MAAAA,KAAK,EAAEkE,cAAe;AACtB/B,MAAAA,IAAI,EAAEA,IAAK;AACXtC,MAAAA,KAAK,EAAE2E,aAAc;MACrBF,WAAW,EAAE9E,KAAK,CAAC8E,WAAY;AAC/BoC,MAAAA,QAAQ,EAAEA,QAAS;AACnByC,MAAAA,UAAU,EAAE1E,gBAAiB;AAC7BhF,MAAAA,GAAG,EAAEA,GAAAA;KACR,CACJ,eACDsJ,KAAA,CAAAC,aAAA,CAACI,OAAO,CAACC,QAAQ,EAAA;AACbxJ,MAAAA,KAAK,EAAE;AACHyF,QAAAA,WAAW,EAAXA,WAAW;AACXI,QAAAA,OAAO,EAAPA,OAAO;QACPpB,WAAW,EAAE9E,KAAK,CAAC8E,WAAW;AAC9BzD,QAAAA,IAAI,EAAJA,IAAI;AACJqG,QAAAA,oBAAoB,EAApBA,oBAAoB;AACpBa,QAAAA,eAAe,EAAfA,eAAe;AACfzG,QAAAA,OAAO,EAAPA,OAAO;AACPG,QAAAA,UAAU,EAAVA,UAAU;AACVwE,QAAAA,MAAM,EAANA,MAAM;AACN;AACA;AACA;QACAqD,mBAAmB,EAAGjG,IAAI,CAASiG,mBAAAA;AACvC,OAAA;AAAE,KAAA,eAEFP,KAAA,CAAAC,aAAA,CAACO,eAAe,EAAA;AACZ9J,MAAAA,GAAG,EAAEkF,kBAAmB;AACxBsC,MAAAA,MAAM,EAAErB,iBAAkB;AAC1BrD,MAAAA,QAAQ,EAAEyE,gBAAiB;AAC3B9G,MAAAA,SAAS,EAAEA,SAAU;AACrBqB,MAAAA,MAAM,EAAEA,MAAO;AACfP,MAAAA,SAAS,EAAEA,SAAU;AACrBwI,MAAAA,MAAM,EAAEhH,OAAQ;MAChBzC,MAAM,EAAE,SAAAA,MAAAA,CAAC0J,YAAY,EAAA;AAAA,QAAA,oBACjBV,KAAA,CAAAC,aAAA,CAACU,MAAM,EAAA;AACHjK,UAAAA,GAAG,EAAE0C,IAAI,GAAG,IAAI,GAAG1C,GAAI;AACvBI,UAAAA,KAAK,EAAEA,KAAM;AACboH,UAAAA,MAAM,EAAErB,iBAAkB;AAC1B1B,UAAAA,cAAc,EAAEA,cAAe;AAC/B/D,UAAAA,KAAK,EAAEA,KAAM;AACbE,UAAAA,WAAW,EAAEA,WAAY;AACzBsI,UAAAA,SAAS,EAAEA,SAAU;AACrBvI,UAAAA,cAAc,EAAEA,cAAe;AAC/BS,UAAAA,IAAI,EAAEA,IAAK;AACXI,UAAAA,WAAW,EAAEA,WAAY;AACzBT,UAAAA,QAAQ,EAAEA,QAAS;AACnBE,UAAAA,QAAQ,EAAEA,QAAS;AACnBc,UAAAA,WAAW,EAAEA,WAAY;AACzBmI,UAAAA,WAAW,EAAEnK,KAAM;AACnBoK,UAAAA,eAAe,EAAEH,YAAuD;UACxEnF,WAAW,EAAE9E,KAAK,CAAC8E,WAAY;AAC/B1D,UAAAA,IAAI,EAAEA,IAAK;AACXN,UAAAA,UAAU,EAAEA,UAAW;AACvB2F,UAAAA,MAAM,EAAEA,MAAO;AACfH,UAAAA,yBAAyB,EAAEA,yBAA0B;AACrD/D,UAAAA,cAAc,EAAEA,cAAe;AAC/B2E,UAAAA,QAAQ,EAAEA,QAAS;AACnBvC,UAAAA,cAAc,EAAEA,cAAe;AAC/B/C,UAAAA,QAAQ,EAAEA,QAAS;AACnBQ,UAAAA,SAAS,EAAEA,SAAU;AACrByE,UAAAA,aAAa,EAAEA,aAAc;AAC7BC,UAAAA,SAAS,EAAEA,SAAAA;AAAU,SACxB,CAAC,CAAA;OACJ;AACFpE,MAAAA,MAAM,EAAEA,MAAO;AACf2H,MAAAA,OAAO,EAAE,KAAA;AAAM,KAAA,eAEfd,KAAA,CAAAC,aAAA,CAAC1J,IAAI,EAAA2J,QAAA,CAAA;AACDrI,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXT,MAAAA,cAAc,EAAEA,cAAe;AAC/BgB,MAAAA,QAAQ,EAAEA,QAAS;AACnBZ,MAAAA,QAAQ,EAAEA,QAAS;AACnBE,MAAAA,QAAQ,EAAEA,QAAAA;AAAS,KAAA,EACd2C,IAAI,CAET0F,eAAAA,KAAA,CAAAC,aAAA,CAACc,WAAW,EAAA;AAACrK,MAAAA,GAAG,EAAE0G,cAAe;AAACnF,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,eACnD+H,KAAA,CAAAC,aAAA,CAACe,EAAE,EAAA;AACCC,MAAAA,IAAI,EAAC,MAAM;AACXrK,MAAAA,EAAE,EAAAsK,EAAAA,CAAAA,MAAA,CAAKhE,MAAM,EAAgB,eAAA,CAAA;AAC7B,MAAA,sBAAA,EAAsBJ,OAAO,CAACrG,KAAK,CAAC8E,WAAW,CAAE;MACjDvD,aAAa,EAAEA,aAAa,IAAID,UAAW;AAC3CK,MAAAA,QAAQ,EAAEmB,OAAO,GAAGoC,SAAS,GAAG2D,YAAa;AAC7C5I,MAAAA,GAAG,EAAE8G,SAAU;AACfjE,MAAAA,OAAO,EAAEA,OAAAA;KAERN,EAAAA,UAAU,EAEVxC,KAAK,CAAC8E,WAAW,IAAI9E,KAAK,CAAC0K,gBAAgB;AAAA;AACxC;IACAnB,KAAA,CAAAC,aAAA,CAACmB,SAAS,EAAA;MAACD,gBAAgB,EAAE1K,KAAK,CAAC0K,gBAAiB;AAAC5I,MAAAA,OAAO,EAAEA,OAAAA;KAAU,CAC3E,EAEAgB,OAAO,gBACJyG,KAAA,CAAAC,aAAA,CAACoB,WAAW,EAAA;AACRpK,MAAAA,KAAK,EAAEwD,gBAAiB;MACxBzC,aAAa,EAAEA,aAAa,IAAID,UAAW;AAC3CK,MAAAA,QAAQ,EAAEA,QAAAA;KACb,CAAC,GAEFqC,gBAAgB,CAAC6G,GAAG,CAAC,UAACzD,IAAI,EAAE0D,KAAK,EAAA;AAAA,MAAA,oBAC7BvB,KAAA,CAAAC,aAAA,CAACuB,KAAK,EAAA;AACF5C,QAAAA,GAAG,EAAAsC,EAAAA,CAAAA,MAAA,CAAKK,KAAK,EAAK,IAAA,CAAA;AAClB1D,QAAAA,IAAI,EAAEA,IAAK;AACX4D,QAAAA,YAAY,EAAE,CAAE;AAChBvF,QAAAA,IAAI,EAAEA,IAAK;AACXC,QAAAA,YAAY,EAAEA,YAAa;AAC3BoF,QAAAA,KAAK,EAAEA,KAAM;AACbtJ,QAAAA,SAAS,EAAEA,SAAU;AACrBO,QAAAA,MAAM,EAAE4E,cAAAA;AAAe,OAC1B,CAAC,CAAA;KACL,CACJ,EACAlE,SACD,CACK,CACX,CACO,CACH,CAChB,CAAC,CAAA;AAEf,GAAC,CAAC,CAAA;AAAA,EAAA;AAEC,IAAMwI,YAAY,GAAG;AACxBtI,EAAAA,IAAI,EAAE,QAAQ;AACduI,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEtL,UAAU;AAClBuL,EAAAA,IAAI,EAAJA,IAAI;EACJC,UAAU,EAAE,EAAE;AACdC,EAAAA,QAAQ,EAAE;AACNlK,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAG;AACTT,IAAAA,cAAc,EAAE,OAAO;AACvBgB,IAAAA,QAAQ,EAAE,SAAA;AACd,GAAA;AACJ;;;;"}
1
+ {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useState,\n useReducer,\n useMemo,\n useLayoutEffect,\n useRef,\n ChangeEvent,\n ForwardedRef,\n} from 'react';\nimport { RootProps } from 'src/engines';\nimport { isEmpty, safeUseId } from 'src/utils';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base, ListWrapper } from './Select.styles';\nimport type { MergedSelectProps, RequiredProps } from './Select.types';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { FloatingPopover } from './FloatingPopover';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Select.context';\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n // eslint-disable-block @typescript-eslint/ban-ts-comment\n id,\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n placement = 'bottom',\n label,\n labelPlacement,\n placeholder,\n helperText,\n disabled = false,\n readOnly = false,\n view: outerView,\n size,\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\n onScroll,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n closeAfterSelect: outerCloseAfterSelect,\n isTargetAmount,\n beforeList,\n afterList,\n zIndex,\n name,\n defaultValue,\n virtual = false,\n onToggle,\n chipType,\n multiselect,\n // @ts-ignore\n _offset,\n\n // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.\n // @ts-ignore\n required,\n // @ts-ignore\n requiredPlacement,\n // @ts-ignore\n hasRequiredIndicator,\n // @ts-ignore\n optional,\n // @ts-ignore\n hintText,\n // @ts-ignore\n hintTrigger,\n // @ts-ignore\n hintView,\n // @ts-ignore\n hintSize,\n // @ts-ignore\n hintTargetPlacement,\n // @ts-ignore\n hintPlacement,\n // @ts-ignore\n hintWidth,\n // @ts-ignore\n hintHasArrow,\n // @ts-ignore\n hasHint,\n ...rest\n } = props;\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap, labelToItemMap] = usePathMaps(\n transformedItems,\n );\n\n const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n props.multiselect ? [] : '',\n );\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value.toString() || '';\n const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n const treeId = safeUseId();\n const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n\n // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n const requiredProps =\n props.target === 'button-like'\n ? undefined\n : ({\n required,\n requiredPlacement,\n hasRequiredIndicator,\n optional,\n } as RequiredProps);\n\n // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n const hintProps =\n props.target === 'button-like'\n ? undefined\n : ({\n hintText,\n hintTrigger,\n hintView,\n hintSize,\n hintTargetPlacement,\n hintPlacement,\n hintWidth,\n hintHasArrow,\n } as HintProps);\n\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n }, floatingPopoverRef);\n\n const onChange = (\n newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n item?: MergedDropdownNodeTransformed | null,\n ) => {\n if (props.onChange) {\n // Условие для отправки если компонент используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки если компонент используется с формой.\n // Убрать условие \"typeof ref === 'function'\" в PLASMA 2.0\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any, item || null);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (!props.multiselect) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string | number> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n\n if (onItemSelect) {\n onItemSelect(item, e!);\n }\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (onScroll) {\n onScroll(e);\n }\n\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value) || typeof value === 'number') {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue as string | string[]);\n }\n }, [defaultValue]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n id={id}\n {...(rest as any)}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiselect={props.multiselect}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n />\n )}\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <Target\n ref={name ? null : ref}\n value={value}\n opened={isCurrentListOpen}\n valueToItemMap={valueToItemMap}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n readOnly={readOnly}\n renderValue={renderValue}\n selectProps={props}\n inputWrapperRef={referenceRef as React.MutableRefObject<HTMLDivElement>}\n multiselect={props.multiselect}\n view={view}\n helperText={helperText}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n isTargetAmount={isTargetAmount}\n onChange={onChange}\n labelToItemMap={labelToItemMap}\n chipView={chipView}\n separator={separator}\n requiredProps={requiredProps}\n hintProps={hintProps}\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n {...(rest as any)}\n >\n <ListWrapper listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(props.multiselect)}\n listOverflow={listOverflow}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={virtual ? undefined : handleScroll}\n ref={targetRef}\n virtual={virtual}\n >\n {beforeList}\n\n {props.multiselect && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll selectAllOptions={props.selectAllOptions} variant={variant} />\n )}\n\n {virtual ? (\n <VirtualList\n items={transformedItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))\n )}\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n chipView: 'default',\n },\n};\n"],"names":["selectRoot","Root","forwardRef","props","ref","_getItemByFocused","id","outerValue","value","_props$target","target","items","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listOverflow","listHeight","listMaxHeight","listWidth","contentLeft","onScrollBottom","onScroll","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","_props$virtual","virtual","onToggle","_offset","required","requiredPlacement","hasRequiredIndicator","optional","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","multiselect","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","getView","requiredProps","hintProps","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleListToggle","opened","handleCheckboxChange","checkedCopy","Map","get","set","updateDescendants","updateAncestors","newValues","forEach","key","push","val","has","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","Target","selectProps","inputWrapperRef","isInner","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":"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"}
@@ -28,8 +28,9 @@ var _exp9 = function _exp9() {
28
28
  };
29
29
  var _exp10 = function _exp10() {
30
30
  return function (_ref3) {
31
- var virtual = _ref3.virtual;
32
- return virtual ? 'visible' : 'auto';
31
+ var virtual = _ref3.virtual,
32
+ listOverflow = _ref3.listOverflow;
33
+ return virtual ? 'visible' : listOverflow || 'visible';
33
34
  };
34
35
  };
35
36
  var Ul = /*#__PURE__*/styled('ul')({
@@ -1 +1 @@
1
- {"version":3,"file":"Select.styles.js","sources":["../../../src/components/Select/Select.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nimport { getCorrectHeight } from './utils';\nimport { SelectProps } from './Select.types';\nimport { tokens, constants } from './Select.tokens';\n\nexport const ListWrapper = styled.div<{\n listWidth?: SelectProps['listWidth'];\n}>`\n width: ${({ listWidth }) => listWidth || '100%'};\n padding: calc(var(${tokens.padding}) + var(${tokens.dropdownBorderWidth}, 0rem));\n border-radius: var(${tokens.borderRadius});\n box-sizing: border-box;\n background: var(${constants.background});\n box-shadow: ${constants.boxShadow},\n inset 0 0 0 var(${tokens.dropdownBorderWidth}, 0rem) var(${tokens.dropdownBorderColor}, transparent);\n`;\n\nexport const Ul = styled.ul<{\n virtual: SelectProps['virtual'];\n listMaxHeight?: SelectProps['listMaxHeight'];\n}>`\n max-height: ${({ virtual, listMaxHeight }) =>\n // eslint-disable-next-line no-nested-ternary\n virtual ? 'auto' : listMaxHeight ? getCorrectHeight(listMaxHeight) : 'auto'};\n overflow-y: ${({ virtual }) => (virtual ? 'visible' : 'auto')};\n border-radius: calc(var(${tokens.borderRadius}) - 0.125rem - var(${tokens.dropdownBorderWidth}, 0rem));\n margin: 0;\n padding: 0;\n`;\n\nexport const base = css``;\n"],"names":["_exp","_ref","listWidth","ListWrapper","styled","name","class","propsAsIs","vars","_exp9","_ref2","virtual","listMaxHeight","getCorrectHeight","_exp10","_ref3","Ul","base"],"mappings":";;;AAI6C,IAAAA,IAAA,GAH3BA,SAG2BA,IAAAA,GAAA;AAAA,EAAA,OAMhC,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,SAAAA,GAAAA,IAAAA,CAAAA,SAAAA,CAAAA;IAAAA,OAAgBA,SAAS,IAAI,MAAM,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAH5C,IAAMC,WAAW,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAGpBR,IAAsC,EAAA,CAAA;AAAA,GAAA;AAAA,CAOlD,EAAA;AAAC,IAAAS,KAAA,GAhBgBA,SAgBhBA,KAAAA,GAAA;AAAA,EAAA,OAMgB,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,OAAO,GAAAD,KAAA,CAAPC,OAAO;MAAEC,aAAAA,GAAAA,KAAAA,CAAAA,aAAAA,CAAAA;AAAAA,IAAAA;AACtB;MACAD,OAAO,GAAG,MAAM,GAAGC,aAAa,GAAGC,gBAAgB,CAACD,aAAa,CAAC,GAAG,MAAA;AAAM,MAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAAA,IAAAE,MAAA,GAxBjEA,SAwBiEA,MAAAA,GAAA;AAAA,EAAA,OACjE,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGJ,OAAAA,GAAAA,KAAAA,CAAAA,OAAAA,CAAAA;AAAAA,IAAAA,OAAeA,OAAO,GAAG,SAAS,GAAG,MAAO,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAP1D,IAAMK,EAAE,gBAAGZ,MAAM,CAAA,IAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,IAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,YAAA,EAAA,cAINC,KAEiE,EAAA,CAAA;AAAA,IAAA,YAAA,EAAA,cACjEK,MAA+C,EAAA,CAAA;AAAA,GAAA;AAAA,CAIhE,EAAA;AAEM,IAAMG,IAAI,GAAQ;;;;"}
1
+ {"version":3,"file":"Select.styles.js","sources":["../../../src/components/Select/Select.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nimport { getCorrectHeight } from './utils';\nimport { SelectProps } from './Select.types';\nimport { tokens, constants } from './Select.tokens';\n\nexport const ListWrapper = styled.div<{\n listWidth?: SelectProps['listWidth'];\n}>`\n width: ${({ listWidth }) => listWidth || '100%'};\n padding: calc(var(${tokens.padding}) + var(${tokens.dropdownBorderWidth}, 0rem));\n border-radius: var(${tokens.borderRadius});\n box-sizing: border-box;\n background: var(${constants.background});\n box-shadow: ${constants.boxShadow},\n inset 0 0 0 var(${tokens.dropdownBorderWidth}, 0rem) var(${tokens.dropdownBorderColor}, transparent);\n`;\n\nexport const Ul = styled.ul<{\n virtual: SelectProps['virtual'];\n listOverflow?: SelectProps['listOverflow'];\n listMaxHeight?: SelectProps['listMaxHeight'];\n}>`\n max-height: ${({ virtual, listMaxHeight }) =>\n // eslint-disable-next-line no-nested-ternary\n virtual ? 'auto' : listMaxHeight ? getCorrectHeight(listMaxHeight) : 'auto'};\n overflow-y: ${({ virtual, listOverflow }) => (virtual ? 'visible' : listOverflow || 'visible')};\n border-radius: calc(var(${tokens.borderRadius}) - 0.125rem - var(${tokens.dropdownBorderWidth}, 0rem));\n margin: 0;\n padding: 0;\n`;\n\nexport const base = css``;\n"],"names":["_exp","_ref","listWidth","ListWrapper","styled","name","class","propsAsIs","vars","_exp9","_ref2","virtual","listMaxHeight","getCorrectHeight","_exp10","_ref3","listOverflow","Ul","base"],"mappings":";;;AAI6C,IAAAA,IAAA,GAH3BA,SAG2BA,IAAAA,GAAA;AAAA,EAAA,OAMhC,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,SAAAA,GAAAA,IAAAA,CAAAA,SAAAA,CAAAA;IAAAA,OAAgBA,SAAS,IAAI,MAAM,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAH5C,IAAMC,WAAW,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAGpBR,IAAsC,EAAA,CAAA;AAAA,GAAA;AAAA,CAOlD,EAAA;AAAC,IAAAS,KAAA,GAhBgBA,SAgBhBA,KAAAA,GAAA;AAAA,EAAA,OAOgB,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,OAAO,GAAAD,KAAA,CAAPC,OAAO;MAAEC,aAAAA,GAAAA,KAAAA,CAAAA,aAAAA,CAAAA;AAAAA,IAAAA;AACtB;MACAD,OAAO,GAAG,MAAM,GAAGC,aAAa,GAAGC,gBAAgB,CAACD,aAAa,CAAC,GAAG,MAAA;AAAM,MAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAAA,IAAAE,MAAA,GAzBjEA,SAyBiEA,MAAAA,GAAA;AAAA,EAAA,OACjE,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGJ,OAAO,GAAAI,KAAA,CAAPJ,OAAO;MAAEK,YAAAA,GAAAA,KAAAA,CAAAA,YAAAA,CAAAA;AAAAA,IAAAA,OAAoBL,OAAO,GAAG,SAAS,GAAGK,YAAY,IAAI,SAAU,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAR3F,IAAMC,EAAE,gBAAGb,MAAM,CAAA,IAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,IAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,YAAA,EAAA,cAKNC,KAEiE,EAAA,CAAA;AAAA,IAAA,YAAA,EAAA,cACjEK,MAAgF,EAAA,CAAA;AAAA,GAAA;AAAA,CAIjG,EAAA;AAEM,IAAMI,IAAI,GAAQ;;;;"}