@lumx/react 2.2.8 → 2.2.9-alpha-exported-hooks1

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 (257) hide show
  1. package/esm/_internal/{_rollupPluginBabelHelpers.js → _rolluppluginbabelhelpers.53.js} +1 -1
  2. package/esm/_internal/_rolluppluginbabelhelpers.53.js.map +1 -0
  3. package/esm/_internal/alert-dialog.js +19 -19
  4. package/esm/_internal/{AlertDialog.js → alertdialog.1.js} +8 -8
  5. package/esm/_internal/alertdialog.1.js.map +1 -0
  6. package/esm/_internal/autocomplete.js +20 -20
  7. package/esm/_internal/{AutocompleteMultiple.js → autocompletemultiple.2.js} +9 -9
  8. package/esm/_internal/autocompletemultiple.2.js.map +1 -0
  9. package/esm/_internal/{Avatar2.js → avatar.3.js} +4 -4
  10. package/esm/_internal/avatar.3.js.map +1 -0
  11. package/esm/_internal/avatar.js +6 -6
  12. package/esm/_internal/{Badge2.js → badge.4.js} +3 -3
  13. package/esm/_internal/badge.4.js.map +1 -0
  14. package/esm/_internal/badge.js +3 -3
  15. package/esm/_internal/{Button2.js → button.5.js} +5 -5
  16. package/esm/_internal/button.5.js.map +1 -0
  17. package/esm/_internal/button.js +14 -14
  18. package/esm/_internal/{ButtonGroup.js → buttongroup.7.js} +3 -3
  19. package/esm/_internal/buttongroup.7.js.map +1 -0
  20. package/esm/_internal/{ButtonRoot.js → buttonroot.57.js} +4 -4
  21. package/esm/_internal/buttonroot.57.js.map +1 -0
  22. package/esm/_internal/{Checkbox2.js → checkbox.8.js} +7 -7
  23. package/esm/_internal/checkbox.8.js.map +1 -0
  24. package/esm/_internal/checkbox.js +7 -7
  25. package/esm/_internal/{Chip2.js → chip.9.js} +3 -3
  26. package/esm/_internal/chip.9.js.map +1 -0
  27. package/esm/_internal/chip.js +4 -4
  28. package/esm/_internal/{ChipGroup.js → chipgroup.10.js} +3 -3
  29. package/esm/_internal/chipgroup.10.js.map +1 -0
  30. package/esm/_internal/{ClickAwayProvider.js → clickawayprovider.60.js} +4 -4
  31. package/esm/_internal/clickawayprovider.60.js.map +1 -0
  32. package/esm/_internal/comment-block.js +7 -7
  33. package/esm/_internal/{CommentBlock.js → commentblock.11.js} +4 -4
  34. package/esm/_internal/commentblock.11.js.map +1 -0
  35. package/esm/_internal/components.js +1 -1
  36. package/esm/_internal/{constants.js → constants.59.js} +1 -1
  37. package/esm/_internal/constants.59.js.map +1 -0
  38. package/esm/_internal/date-picker.js +18 -18
  39. package/esm/_internal/{DatePickerField.js → datepickerfield.12.js} +9 -9
  40. package/esm/_internal/datepickerfield.12.js.map +1 -0
  41. package/esm/_internal/{Dialog2.js → dialog.13.js} +12 -12
  42. package/esm/_internal/dialog.13.js.map +1 -0
  43. package/esm/_internal/dialog.js +12 -12
  44. package/esm/_internal/{Divider2.js → divider.14.js} +3 -3
  45. package/esm/_internal/divider.14.js.map +1 -0
  46. package/esm/_internal/divider.js +3 -3
  47. package/esm/_internal/drag-handle.js +4 -4
  48. package/esm/_internal/{DragHandle.js → draghandle.15.js} +4 -4
  49. package/esm/_internal/draghandle.15.js.map +1 -0
  50. package/esm/_internal/{Dropdown2.js → dropdown.16.js} +6 -6
  51. package/esm/_internal/dropdown.16.js.map +1 -0
  52. package/esm/_internal/dropdown.js +10 -10
  53. package/esm/_internal/expansion-panel.js +16 -16
  54. package/esm/_internal/{ExpansionPanel.js → expansionpanel.17.js} +8 -8
  55. package/esm/_internal/expansionpanel.17.js.map +1 -0
  56. package/esm/_internal/{Flag2.js → flag.18.js} +4 -4
  57. package/esm/_internal/flag.18.js.map +1 -0
  58. package/esm/_internal/flag.js +4 -4
  59. package/esm/_internal/flex-box.js +3 -3
  60. package/esm/_internal/{FlexBox.js → flexbox.19.js} +3 -3
  61. package/esm/_internal/flexbox.19.js.map +1 -0
  62. package/esm/_internal/{getRootClassName.js → getrootclassname.54.js} +2 -2
  63. package/esm/_internal/getrootclassname.54.js.map +1 -0
  64. package/esm/_internal/grid.js +3 -3
  65. package/esm/_internal/{GridItem.js → griditem.20.js} +3 -3
  66. package/esm/_internal/griditem.20.js.map +1 -0
  67. package/esm/_internal/{Icon2.js → icon.21.js} +3 -3
  68. package/esm/_internal/icon.21.js.map +1 -0
  69. package/esm/_internal/icon.js +3 -3
  70. package/esm/_internal/{IconButton.js → iconbutton.6.js} +6 -6
  71. package/esm/_internal/iconbutton.6.js.map +1 -0
  72. package/esm/_internal/image-block.js +6 -6
  73. package/esm/_internal/{ImageBlock.js → imageblock.22.js} +4 -4
  74. package/esm/_internal/imageblock.22.js.map +1 -0
  75. package/esm/{index2.js → _internal/index.55.js} +1 -1
  76. package/esm/_internal/index.55.js.map +1 -0
  77. package/esm/_internal/input-helper.js +3 -3
  78. package/esm/_internal/input-label.js +3 -3
  79. package/esm/_internal/{InputHelper.js → inputhelper.23.js} +3 -3
  80. package/esm/_internal/inputhelper.23.js.map +1 -0
  81. package/esm/_internal/{InputLabel.js → inputlabel.24.js} +3 -3
  82. package/esm/_internal/inputlabel.24.js.map +1 -0
  83. package/esm/_internal/{Lightbox2.js → lightbox.25.js} +11 -11
  84. package/esm/_internal/lightbox.25.js.map +1 -0
  85. package/esm/_internal/lightbox.js +16 -16
  86. package/esm/_internal/link-preview.js +8 -8
  87. package/esm/_internal/{Link2.js → link.26.js} +5 -5
  88. package/esm/_internal/link.26.js.map +1 -0
  89. package/esm/_internal/link.js +5 -5
  90. package/esm/_internal/{LinkPreview.js → linkpreview.27.js} +5 -5
  91. package/esm/_internal/linkpreview.27.js.map +1 -0
  92. package/esm/_internal/{List2.js → list.28.js} +6 -6
  93. package/esm/_internal/list.28.js.map +1 -0
  94. package/esm/_internal/list.js +7 -7
  95. package/esm/_internal/{ListSubheader.js → listsubheader.29.js} +3 -3
  96. package/esm/_internal/listsubheader.29.js.map +1 -0
  97. package/esm/_internal/{mergeRefs.js → mergerefs.56.js} +1 -1
  98. package/esm/_internal/mergerefs.56.js.map +1 -0
  99. package/esm/_internal/{Message2.js → message.30.js} +4 -4
  100. package/esm/_internal/message.30.js.map +1 -0
  101. package/esm/_internal/message.js +4 -4
  102. package/esm/_internal/{Mosaic2.js → mosaic.31.js} +4 -4
  103. package/esm/_internal/mosaic.31.js.map +1 -0
  104. package/esm/_internal/mosaic.js +6 -6
  105. package/esm/_internal/{Notification2.js → notification.32.js} +7 -7
  106. package/esm/_internal/notification.32.js.map +1 -0
  107. package/esm/_internal/notification.js +9 -9
  108. package/esm/_internal/{partitionMulti.js → partitionmulti.62.js} +1 -1
  109. package/esm/_internal/partitionmulti.62.js.map +1 -0
  110. package/esm/_internal/{Popover2.js → popover.33.js} +6 -6
  111. package/esm/_internal/popover.33.js.map +1 -0
  112. package/esm/_internal/popover.js +6 -6
  113. package/esm/_internal/post-block.js +7 -7
  114. package/esm/_internal/{PostBlock.js → postblock.34.js} +5 -5
  115. package/esm/_internal/postblock.34.js.map +1 -0
  116. package/esm/_internal/progress-tracker.js +9 -9
  117. package/esm/_internal/{Progress2.js → progress.35.js} +3 -3
  118. package/esm/_internal/progress.35.js.map +1 -0
  119. package/esm/_internal/progress.js +3 -3
  120. package/esm/_internal/{ProgressTrackerStepPanel.js → progresstrackersteppanel.36.js} +8 -8
  121. package/esm/_internal/progresstrackersteppanel.36.js.map +1 -0
  122. package/esm/_internal/radio-button.js +6 -6
  123. package/esm/_internal/{RadioGroup.js → radiogroup.37.js} +6 -6
  124. package/esm/_internal/radiogroup.37.js.map +1 -0
  125. package/esm/_internal/{renderLink.js → renderlink.65.js} +2 -2
  126. package/esm/_internal/renderlink.65.js.map +1 -0
  127. package/esm/_internal/select.js +19 -19
  128. package/esm/_internal/{SelectMultiple.js → selectmultiple.38.js} +12 -12
  129. package/esm/_internal/selectmultiple.38.js.map +1 -0
  130. package/esm/_internal/side-navigation.js +14 -14
  131. package/esm/_internal/{SideNavigationItem.js → sidenavigationitem.39.js} +7 -7
  132. package/esm/_internal/sidenavigationitem.39.js.map +1 -0
  133. package/esm/_internal/skeleton.js +3 -3
  134. package/esm/_internal/{SkeletonTypography.js → skeletontypography.40.js} +3 -3
  135. package/esm/_internal/skeletontypography.40.js.map +1 -0
  136. package/esm/_internal/{Slider2.js → slider.41.js} +6 -6
  137. package/esm/_internal/slider.41.js.map +1 -0
  138. package/esm/_internal/slider.js +6 -6
  139. package/esm/_internal/slideshow.js +14 -13
  140. package/esm/_internal/slideshow.js.map +1 -1
  141. package/esm/_internal/{SlideshowControls.js → slideshowcontrols.42.js} +8 -31
  142. package/esm/_internal/slideshowcontrols.42.js.map +1 -0
  143. package/esm/_internal/{Switch2.js → switch.43.js} +6 -6
  144. package/esm/_internal/switch.43.js.map +1 -0
  145. package/esm/_internal/switch.js +6 -6
  146. package/esm/_internal/table.js +4 -4
  147. package/esm/_internal/{TableRow.js → tablerow.44.js} +4 -4
  148. package/esm/_internal/tablerow.44.js.map +1 -0
  149. package/esm/_internal/{TabPanel.js → tabpanel.45.js} +6 -6
  150. package/esm/_internal/tabpanel.45.js.map +1 -0
  151. package/esm/_internal/tabs.js +7 -7
  152. package/esm/_internal/text-field.js +15 -15
  153. package/esm/_internal/{TextField.js → textfield.46.js} +9 -9
  154. package/esm/_internal/textfield.46.js.map +1 -0
  155. package/esm/_internal/{Thumbnail2.js → thumbnail.47.js} +6 -6
  156. package/esm/_internal/thumbnail.47.js.map +1 -0
  157. package/esm/_internal/thumbnail.js +6 -6
  158. package/esm/_internal/{Toolbar2.js → toolbar.49.js} +3 -3
  159. package/esm/_internal/toolbar.49.js.map +1 -0
  160. package/esm/_internal/toolbar.js +3 -3
  161. package/esm/_internal/{Tooltip2.js → tooltip.50.js} +7 -7
  162. package/esm/_internal/tooltip.50.js.map +1 -0
  163. package/esm/_internal/tooltip.js +8 -8
  164. package/esm/_internal/{type.js → type.64.js} +1 -1
  165. package/esm/_internal/type.64.js.map +1 -0
  166. package/esm/_internal/{types.js → types.48.js} +2 -3
  167. package/esm/_internal/types.48.js.map +1 -0
  168. package/esm/_internal/{Uploader2.js → uploader.51.js} +4 -4
  169. package/esm/_internal/uploader.51.js.map +1 -0
  170. package/esm/_internal/uploader.js +4 -4
  171. package/esm/_internal/{useDelayedVisibility.js → usedelayedvisibility.63.js} +2 -2
  172. package/esm/_internal/usedelayedvisibility.63.js.map +1 -0
  173. package/esm/_internal/{useDisableBodyScroll.js → usedisablebodyscroll.61.js} +1 -1
  174. package/esm/_internal/usedisablebodyscroll.61.js.map +1 -0
  175. package/esm/_internal/{useFocusTrap.js → usefocustrap.58.js} +2 -2
  176. package/esm/_internal/usefocustrap.58.js.map +1 -0
  177. package/esm/_internal/user-block.js +9 -9
  178. package/esm/_internal/{UserBlock.js → userblock.52.js} +5 -5
  179. package/esm/_internal/userblock.52.js.map +1 -0
  180. package/esm/_internal/{useRovingTabIndex.js → userovingtabindex.66.js} +3 -3
  181. package/esm/_internal/userovingtabindex.66.js.map +1 -0
  182. package/hooks/useFocusWithin.d.ts +16 -0
  183. package/hooks/useFocusWithin.js +28 -0
  184. package/hooks/useFocusWithin.js.map +1 -0
  185. package/index.d.ts +2723 -0
  186. package/index.js +90 -0
  187. package/{esm/index.js.map → index.js.map} +1 -1
  188. package/package.json +9 -10
  189. package/src/components/thumbnail/index.ts +0 -1
  190. package/esm/_internal/AlertDialog.js.map +0 -1
  191. package/esm/_internal/AutocompleteMultiple.js.map +0 -1
  192. package/esm/_internal/Avatar2.js.map +0 -1
  193. package/esm/_internal/Badge2.js.map +0 -1
  194. package/esm/_internal/Button2.js.map +0 -1
  195. package/esm/_internal/ButtonGroup.js.map +0 -1
  196. package/esm/_internal/ButtonRoot.js.map +0 -1
  197. package/esm/_internal/Checkbox2.js.map +0 -1
  198. package/esm/_internal/Chip2.js.map +0 -1
  199. package/esm/_internal/ChipGroup.js.map +0 -1
  200. package/esm/_internal/ClickAwayProvider.js.map +0 -1
  201. package/esm/_internal/CommentBlock.js.map +0 -1
  202. package/esm/_internal/DatePickerField.js.map +0 -1
  203. package/esm/_internal/Dialog2.js.map +0 -1
  204. package/esm/_internal/Divider2.js.map +0 -1
  205. package/esm/_internal/DragHandle.js.map +0 -1
  206. package/esm/_internal/Dropdown2.js.map +0 -1
  207. package/esm/_internal/ExpansionPanel.js.map +0 -1
  208. package/esm/_internal/Flag2.js.map +0 -1
  209. package/esm/_internal/FlexBox.js.map +0 -1
  210. package/esm/_internal/GridItem.js.map +0 -1
  211. package/esm/_internal/Icon2.js.map +0 -1
  212. package/esm/_internal/IconButton.js.map +0 -1
  213. package/esm/_internal/ImageBlock.js.map +0 -1
  214. package/esm/_internal/InputHelper.js.map +0 -1
  215. package/esm/_internal/InputLabel.js.map +0 -1
  216. package/esm/_internal/Lightbox2.js.map +0 -1
  217. package/esm/_internal/Link2.js.map +0 -1
  218. package/esm/_internal/LinkPreview.js.map +0 -1
  219. package/esm/_internal/List2.js.map +0 -1
  220. package/esm/_internal/ListSubheader.js.map +0 -1
  221. package/esm/_internal/Message2.js.map +0 -1
  222. package/esm/_internal/Mosaic2.js.map +0 -1
  223. package/esm/_internal/Notification2.js.map +0 -1
  224. package/esm/_internal/Popover2.js.map +0 -1
  225. package/esm/_internal/PostBlock.js.map +0 -1
  226. package/esm/_internal/Progress2.js.map +0 -1
  227. package/esm/_internal/ProgressTrackerStepPanel.js.map +0 -1
  228. package/esm/_internal/RadioGroup.js.map +0 -1
  229. package/esm/_internal/SelectMultiple.js.map +0 -1
  230. package/esm/_internal/SideNavigationItem.js.map +0 -1
  231. package/esm/_internal/SkeletonTypography.js.map +0 -1
  232. package/esm/_internal/Slider2.js.map +0 -1
  233. package/esm/_internal/SlideshowControls.js.map +0 -1
  234. package/esm/_internal/Switch2.js.map +0 -1
  235. package/esm/_internal/TabPanel.js.map +0 -1
  236. package/esm/_internal/TableRow.js.map +0 -1
  237. package/esm/_internal/TextField.js.map +0 -1
  238. package/esm/_internal/Thumbnail2.js.map +0 -1
  239. package/esm/_internal/Toolbar2.js.map +0 -1
  240. package/esm/_internal/Tooltip2.js.map +0 -1
  241. package/esm/_internal/Uploader2.js.map +0 -1
  242. package/esm/_internal/UserBlock.js.map +0 -1
  243. package/esm/_internal/_rollupPluginBabelHelpers.js.map +0 -1
  244. package/esm/_internal/constants.js.map +0 -1
  245. package/esm/_internal/getRootClassName.js.map +0 -1
  246. package/esm/_internal/mergeRefs.js.map +0 -1
  247. package/esm/_internal/partitionMulti.js.map +0 -1
  248. package/esm/_internal/renderLink.js.map +0 -1
  249. package/esm/_internal/type.js.map +0 -1
  250. package/esm/_internal/types.js.map +0 -1
  251. package/esm/_internal/useDelayedVisibility.js.map +0 -1
  252. package/esm/_internal/useDisableBodyScroll.js.map +0 -1
  253. package/esm/_internal/useFocusTrap.js.map +0 -1
  254. package/esm/_internal/useRovingTabIndex.js.map +0 -1
  255. package/esm/index.js +0 -89
  256. package/esm/index2.js.map +0 -1
  257. package/types.d.ts +0 -2629
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dropdown2.js","sources":["../../../src/hooks/useInfiniteScroll.tsx","../../../src/components/dropdown/Dropdown.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\n\ntype useInfiniteScrollType = (\n ref: React.RefObject<HTMLElement>,\n callback?: EventCallback,\n callbackOnMount?: boolean,\n) => void;\ntype EventCallback = (evt?: Event) => void;\n\n// The error margin in px we want to have for triggering infinite scroll\nconst SCROLL_TRIGGER_MARGIN = 5;\n\n/**\n * Listen to clicks away from a given element and callback the passed in function.\n *\n * @param ref A reference to the element on which you want to listen scroll event.\n * @param [callback] A callback function to call when the bottom of the reference element is reached.\n * @param [callbackOnMount] A callback function to call when the component is mounted.\n */\nexport const useInfiniteScroll: useInfiniteScrollType = (\n ref,\n callback,\n callbackOnMount = false,\n scrollTriggerMargin = SCROLL_TRIGGER_MARGIN,\n) => {\n useEffect(() => {\n const { current } = ref;\n if (!callback || !current) {\n return undefined;\n }\n\n const isAtBottom = () =>\n Boolean(\n current && current.scrollHeight - (current.scrollTop + current.clientHeight) <= scrollTriggerMargin,\n );\n\n const onScroll = (e?: Event): void => {\n if (isAtBottom()) {\n callback(e);\n }\n };\n\n if (isAtBottom()) {\n onScroll();\n }\n\n current.addEventListener('scroll', onScroll);\n current.addEventListener('resize', onScroll);\n return () => {\n current.removeEventListener('scroll', onScroll);\n current.removeEventListener('resize', onScroll);\n };\n }, [ref, callback, scrollTriggerMargin]);\n\n useEffect(() => {\n if (callback && callbackOnMount) {\n callback();\n }\n }, [callback, callbackOnMount]);\n};\n","import React, { cloneElement, forwardRef, useMemo, useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { List, ListProps } from '@lumx/react/components/list/List';\nimport { Offset, Placement, Popover } from '@lumx/react/components/popover/Popover';\nimport { useInfiniteScroll } from '@lumx/react/hooks/useInfiniteScroll';\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses, isComponent } from '@lumx/react/utils';\n\n/**\n * Defines the props of the component.\n */\nexport interface DropdownProps extends GenericProps {\n /** Reference to the element around which the dropdown is placed.\n * @see {@link PopoverProps#anchorRef}\n */\n anchorRef: React.RefObject<HTMLElement>;\n /** Dropdown content. */\n children: React.ReactNode;\n /**\n * Whether a click anywhere out of the Dropdown would close it or not.\n * @see {@link PopoverProps#closeOnClickAway}\n */\n closeOnClickAway?: boolean;\n /**\n * Whether to close the Dropdown when clicking in it or not.\n */\n closeOnClick?: boolean;\n /**\n * Whether an escape key press would close the Dropdown or not.\n * @see {@link PopoverProps#closeOnEscape}\n */\n closeOnEscape?: boolean;\n /**\n * Whether the dropdown should fit to the anchor width (if dropdown is smaller) or not.\n * @see {@link PopoverProps#fitToAnchorWidth}\n */\n fitToAnchorWidth?: boolean;\n /**\n * Whether the dropdown should shrink to fit within the viewport height or not.\n * @see {@link PopoverProps#fitWithinViewportHeight}\n */\n fitWithinViewportHeight?: boolean;\n /**\n * Whether the dropdown should be displayed or not. Useful to control the Dropdown from outside the component.\n * @see {@link PopoverProps#isOpen}\n */\n isOpen: boolean;\n /**\n * Offset applied to the Dropdown position.\n * @see {@link PopoverProps#offset}\n */\n offset?: Offset;\n /**\n * Preferred Dropdown placement against the anchor element.\n * @see {@link PopoverProps#placement}\n */\n placement?: Placement;\n /** Whether the focus should be set on the list when the dropdown is open or not. */\n shouldFocusOnOpen?: boolean;\n /**\n * Z-axis position.\n * @see {@link PopoverProps#zIndex}\n */\n zIndex?: number;\n /**\n * On close callback.\n * @see {@link PopoverProps#onClose}\n */\n onClose?(): void;\n /** On scroll end callback. */\n onInfiniteScroll?(): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Dropdown';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<DropdownProps> = {\n closeOnClick: true,\n closeOnClickAway: true,\n closeOnEscape: true,\n fitToAnchorWidth: true,\n fitWithinViewportHeight: true,\n placement: Placement.BOTTOM_START,\n shouldFocusOnOpen: true,\n};\n\n/**\n * Dropdown component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Dropdown: Comp<DropdownProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n anchorRef,\n children,\n className,\n closeOnClick,\n closeOnClickAway,\n closeOnEscape,\n fitToAnchorWidth,\n fitWithinViewportHeight,\n isOpen,\n offset,\n onClose,\n onInfiniteScroll,\n placement,\n shouldFocusOnOpen,\n zIndex,\n ...forwardedProps\n } = props;\n const innerRef = useRef<HTMLDivElement>(null);\n const listElement = useRef(null);\n\n useInfiniteScroll(innerRef, onInfiniteScroll);\n\n const popperElement = useMemo(() => {\n return !Array.isArray(children) && isComponent(List)(children)\n ? cloneElement<ListProps>(children, {\n ...children.props,\n ref: listElement,\n onClick(evt: MouseEvent) {\n children.props.onClick?.(evt);\n\n if (closeOnClick) {\n onClose?.();\n }\n },\n isClickable: true,\n })\n : children;\n }, [children, closeOnClick, onClose]);\n\n return isOpen ? (\n <Popover\n ref={ref}\n {...forwardedProps}\n anchorRef={anchorRef}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME }))}\n elevation={0 as any}\n closeOnClickAway={closeOnClickAway}\n closeOnEscape={closeOnEscape}\n fitToAnchorWidth={fitToAnchorWidth}\n fitWithinViewportHeight={fitWithinViewportHeight}\n focusElement={shouldFocusOnOpen ? listElement : undefined}\n isOpen={isOpen}\n offset={offset}\n onClose={onClose}\n placement={placement}\n zIndex={zIndex}\n >\n <div className={`${CLASSNAME}__menu`} ref={innerRef}>\n {popperElement}\n </div>\n </Popover>\n ) : null;\n});\nDropdown.displayName = COMPONENT_NAME;\nDropdown.className = CLASSNAME;\nDropdown.defaultProps = DEFAULT_PROPS;\n"],"names":["SCROLL_TRIGGER_MARGIN","useInfiniteScroll","ref","callback","callbackOnMount","scrollTriggerMargin","useEffect","current","undefined","isAtBottom","Boolean","scrollHeight","scrollTop","clientHeight","onScroll","e","addEventListener","removeEventListener","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","closeOnClick","closeOnClickAway","closeOnEscape","fitToAnchorWidth","fitWithinViewportHeight","placement","Placement","BOTTOM_START","shouldFocusOnOpen","Dropdown","forwardRef","props","anchorRef","children","className","isOpen","offset","onClose","onInfiniteScroll","zIndex","forwardedProps","innerRef","useRef","listElement","popperElement","useMemo","Array","isArray","isComponent","List","cloneElement","onClick","evt","isClickable","classNames","handleBasicClasses","prefix","displayName","defaultProps"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExpansionPanel.js","sources":["../../../src/components/expansion-panel/ExpansionPanel.tsx"],"sourcesContent":["import React, { Children, forwardRef, PropsWithChildren, ReactNode, useEffect, useRef, useState } from 'react';\n\nimport classNames from 'classnames';\n\nimport { mdiChevronDown, mdiChevronUp } from '@lumx/icons';\n\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport isFunction from 'lodash/isFunction';\n\nimport { ColorPalette, DragHandle, Emphasis, IconButton, IconButtonProps, Theme } from '@lumx/react';\nimport {\n Callback,\n Comp,\n GenericProps,\n getRootClassName,\n handleBasicClasses,\n isComponent,\n partitionMulti,\n} from '@lumx/react/utils';\n\n/**\n * Defines the props of the component.\n */\nexport interface ExpansionPanelProps extends GenericProps {\n /** Whether the expansion panel has a background. */\n hasBackground?: boolean;\n /** Whether the header has a divider. */\n hasHeaderDivider?: boolean;\n /** Whether the component is open or not. */\n isOpen?: boolean;\n /** Label text (overwritten if a `<header>` is provided in the children). */\n label?: string;\n /** Theme adapting the component to light or dark background. */\n theme?: Theme;\n /** On open callback. */\n onOpen?: Callback;\n /** On close callback. */\n onClose?: Callback;\n /** Props to pass to the toggle button (minus those already set by the ExpansionPanel props). */\n toggleButtonProps: Pick<IconButtonProps, 'label'> &\n Omit<IconButtonProps, 'label' | 'onClick' | 'icon' | 'emphasis' | 'color'>;\n /** On toggle open or close callback. */\n onToggleOpen?(shouldOpen: boolean): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ExpansionPanel';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ExpansionPanelProps> = {\n theme: Theme.light,\n};\n\nconst isDragHandle = isComponent(DragHandle);\nconst isHeader = isComponent('header');\nconst isFooter = isComponent('footer');\n\n/**\n * ExpansionPanel component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ExpansionPanel: Comp<ExpansionPanelProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n className,\n children: anyChildren,\n hasBackground,\n hasHeaderDivider,\n isOpen,\n label,\n onClose,\n onOpen,\n onToggleOpen,\n theme,\n toggleButtonProps,\n ...forwardedProps\n } = props;\n\n const children: ReactNode[] = Children.toArray(anyChildren);\n\n // Partition children by types.\n const [[dragHandle], [header], [footer], content] = partitionMulti(children, [isDragHandle, isHeader, isFooter]);\n\n // Either take the header in children or create one with the label.\n const headerProps: PropsWithChildren<any> = React.isValidElement(header) ? header.props : {};\n const headerContent = !isEmpty(headerProps.children) ? (\n headerProps.children\n ) : (\n <span className={`${CLASSNAME}__label`}>{label}</span>\n );\n\n const toggleOpen = () => {\n const shouldOpen = !isOpen;\n if (isFunction(onOpen) && shouldOpen) {\n onOpen();\n }\n if (isFunction(onClose) && !shouldOpen) {\n onClose();\n }\n if (isFunction(onToggleOpen)) {\n onToggleOpen(shouldOpen);\n }\n };\n\n const color = theme === Theme.dark ? ColorPalette.light : ColorPalette.dark;\n\n const rootClassName = classNames(\n className,\n handleBasicClasses({\n hasBackground,\n hasHeader: Boolean(!isEmpty(headerProps.children)),\n hasHeaderDivider,\n isClose: !isOpen,\n isDraggable: Boolean(dragHandle),\n isOpen,\n prefix: CLASSNAME,\n theme,\n }),\n );\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n const isContentVisible = (): boolean => get(wrapperRef.current, 'clientHeight', 0) > 0;\n\n // Switch max height on/off to activate the CSS transition (updates when children changes).\n const [maxHeight, setMaxHeight] = useState('0');\n useEffect(() => {\n const height = isOpen ? get(wrapperRef.current, 'offsetHeight', 0) : 0;\n setMaxHeight(`${height}px`);\n }, [children, isOpen]);\n\n return (\n <section ref={ref} {...forwardedProps} className={rootClassName}>\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions */}\n <header className={`${CLASSNAME}__header`} onClick={toggleOpen}>\n {dragHandle && <div className={`${CLASSNAME}__header-drag`}>{dragHandle}</div>}\n\n <div {...headerProps} className={`${CLASSNAME}__header-content`}>\n {headerContent}\n </div>\n\n <div className={`${CLASSNAME}__header-toggle`}>\n <IconButton\n {...toggleButtonProps}\n color={color}\n emphasis={Emphasis.low}\n icon={isOpen ? mdiChevronUp : mdiChevronDown}\n />\n </div>\n </header>\n\n {(isOpen || isContentVisible()) && (\n <div className={`${CLASSNAME}__wrapper`} style={{ maxHeight }}>\n <div className={`${CLASSNAME}__container`} ref={wrapperRef}>\n <div className={`${CLASSNAME}__content`}>{content}</div>\n\n {footer && <div className={`${CLASSNAME}__footer`}>{footer}</div>}\n </div>\n </div>\n )}\n </section>\n );\n});\nExpansionPanel.displayName = COMPONENT_NAME;\nExpansionPanel.className = CLASSNAME;\nExpansionPanel.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","theme","Theme","light","isDragHandle","isComponent","DragHandle","isHeader","isFooter","ExpansionPanel","forwardRef","props","ref","className","anyChildren","children","hasBackground","hasHeaderDivider","isOpen","label","onClose","onOpen","onToggleOpen","toggleButtonProps","forwardedProps","Children","toArray","partitionMulti","dragHandle","header","footer","content","headerProps","React","isValidElement","headerContent","isEmpty","toggleOpen","shouldOpen","isFunction","color","dark","ColorPalette","rootClassName","classNames","handleBasicClasses","hasHeader","Boolean","isClose","isDraggable","prefix","wrapperRef","useRef","isContentVisible","get","current","useState","maxHeight","setMaxHeight","useEffect","height","Emphasis","low","mdiChevronUp","mdiChevronDown","displayName","defaultProps"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Flag2.js","sources":["../../../src/components/flag/Flag.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\n\nimport { ColorPalette, Icon, Size, Theme } from '@lumx/react';\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses } from '@lumx/react/utils';\n\nexport interface FlagProps extends GenericProps {\n /** Theme adapting the component to light or dark background. */\n theme?: Theme;\n /** Color of the component. */\n color?: ColorPalette;\n /** Icon to use before the label. */\n icon?: string;\n /** Text label of the flag. */\n label: string;\n}\n\nconst COMPONENT_NAME = 'Flag';\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\nconst DEFAULT_PROPS: Partial<FlagProps> = {\n theme: Theme.light,\n};\n\n/**\n * Flag component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Flag: Comp<FlagProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { label, icon, color, className, theme, ...forwardedProps } = props;\n const flagColor = color || (theme === Theme.light ? ColorPalette.dark : ColorPalette.light);\n\n return (\n <div\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, color: flagColor }))}\n ref={ref}\n >\n {icon && <Icon icon={icon} size={Size.xxs} className={`${CLASSNAME}__icon`} />}\n <span className={`${CLASSNAME}__label`}>{label}</span>\n </div>\n );\n});\nFlag.displayName = COMPONENT_NAME;\nFlag.className = CLASSNAME;\nFlag.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","theme","Theme","light","Flag","forwardRef","props","ref","label","icon","color","className","forwardedProps","flagColor","ColorPalette","dark","classNames","handleBasicClasses","prefix","Size","xxs","displayName","defaultProps"],"mappings":";;;;;;AAiBA,IAAMA,cAAc,GAAG,MAAvB;AACA,IAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAD,CAAlC;AACA,IAAMG,aAAiC,GAAG;AACtCC,EAAAA,KAAK,EAAEC,KAAK,CAACC;AADyB,CAA1C;AAIA;;;;;;;;IAOaC,IAAqC,GAAGC,UAAU,CAAC,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA,MACpEC,KADoE,GACRF,KADQ,CACpEE,KADoE;AAAA,MAC7DC,IAD6D,GACRH,KADQ,CAC7DG,IAD6D;AAAA,MACvDC,KADuD,GACRJ,KADQ,CACvDI,KADuD;AAAA,MAChDC,SADgD,GACRL,KADQ,CAChDK,SADgD;AAAA,MACrCV,KADqC,GACRK,KADQ,CACrCL,KADqC;AAAA,MAC3BW,cAD2B,4BACRN,KADQ;;AAE5E,MAAMO,SAAS,GAAGH,KAAK,KAAKT,KAAK,KAAKC,KAAK,CAACC,KAAhB,GAAwBW,YAAY,CAACC,IAArC,GAA4CD,YAAY,CAACX,KAA9D,CAAvB;AAEA,SACI,wCACQS,cADR;AAEI,IAAA,SAAS,EAAEI,UAAU,CAACL,SAAD,EAAYM,kBAAkB,CAAC;AAAEC,MAAAA,MAAM,EAAEpB,SAAV;AAAqBY,MAAAA,KAAK,EAAEG;AAA5B,KAAD,CAA9B,CAFzB;AAGI,IAAA,GAAG,EAAEN;AAHT,MAKKE,IAAI,IAAI,oBAAC,IAAD;AAAM,IAAA,IAAI,EAAEA,IAAZ;AAAkB,IAAA,IAAI,EAAEU,IAAI,CAACC,GAA7B;AAAkC,IAAA,SAAS,YAAKtB,SAAL;AAA3C,IALb,EAMI;AAAM,IAAA,SAAS,YAAKA,SAAL;AAAf,KAAyCU,KAAzC,CANJ,CADJ;AAUH,CAd8D;AAe/DJ,IAAI,CAACiB,WAAL,GAAmBxB,cAAnB;AACAO,IAAI,CAACO,SAAL,GAAiBb,SAAjB;AACAM,IAAI,CAACkB,YAAL,GAAoBtB,aAApB;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FlexBox.js","sources":["../../../src/components/flex-box/FlexBox.tsx"],"sourcesContent":["import { Alignment, HorizontalAlignment, Orientation, VerticalAlignment } from '@lumx/react';\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses } from '@lumx/react/utils';\nimport classNames from 'classnames';\nimport castArray from 'lodash/castArray';\nimport React, { forwardRef, ReactNode } from 'react';\nimport { Size } from '..';\n\nexport type MarginAutoAlignment = Extract<Alignment, 'top' | 'bottom' | 'right' | 'left'>;\nexport type GapSize = Extract<Size, 'regular' | 'big' | 'huge'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface FlexBoxProps extends GenericProps {\n /** Children elements. */\n children?: ReactNode;\n /** Whether the \"content filling space\" is enabled or not. */\n fillSpace?: boolean;\n /** Gap space between flexbox items. */\n gap?: GapSize;\n /** Flex horizontal alignment. */\n hAlign?: VerticalAlignment;\n /** Whether the \"auto margin\" is enabled all around or not. */\n marginAuto?: MarginAutoAlignment | MarginAutoAlignment[];\n /** Whether the \"content shrink\" is disabled or not. */\n noShrink?: boolean;\n /** Flex direction. */\n orientation?: Orientation;\n /** Flex vertical alignment. */\n vAlign?: HorizontalAlignment;\n /** Whether the \"flex wrap\" is enabled or not. */\n wrap?: boolean;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'FlexBox';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * FlexBox component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const FlexBox: Comp<FlexBoxProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n children,\n className,\n fillSpace,\n gap,\n hAlign,\n marginAuto,\n noShrink,\n orientation,\n vAlign,\n wrap,\n ...forwardedProps\n } = props;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n orientation: orientation ?? (wrap || hAlign || vAlign ? Orientation.horizontal : null),\n vAlign,\n hAlign,\n gap,\n }),\n wrap && `${CLASSNAME}--wrap`,\n fillSpace && `${CLASSNAME}--fill-space`,\n noShrink && `${CLASSNAME}--no-shrink`,\n marginAuto && castArray(marginAuto).map((align) => `${CLASSNAME}--margin-auto-${align}`),\n )}\n >\n {children}\n </div>\n );\n});\nFlexBox.displayName = COMPONENT_NAME;\nFlexBox.className = CLASSNAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","FlexBox","forwardRef","props","ref","children","className","fillSpace","gap","hAlign","marginAuto","noShrink","orientation","vAlign","wrap","forwardedProps","classNames","handleBasicClasses","prefix","Orientation","horizontal","castArray","map","align","displayName"],"mappings":";;;;;;AAkCA;;;AAGA,IAAMA,cAAc,GAAG,SAAvB;AAEA;;;;AAGA,IAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAD,CAAlC;AAEA;;;;;;;;IAOaG,OAA2C,GAAGC,UAAU,CAAC,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA,MAE9EC,QAF8E,GAa9EF,KAb8E,CAE9EE,QAF8E;AAAA,MAG9EC,SAH8E,GAa9EH,KAb8E,CAG9EG,SAH8E;AAAA,MAI9EC,SAJ8E,GAa9EJ,KAb8E,CAI9EI,SAJ8E;AAAA,MAK9EC,GAL8E,GAa9EL,KAb8E,CAK9EK,GAL8E;AAAA,MAM9EC,MAN8E,GAa9EN,KAb8E,CAM9EM,MAN8E;AAAA,MAO9EC,UAP8E,GAa9EP,KAb8E,CAO9EO,UAP8E;AAAA,MAQ9EC,QAR8E,GAa9ER,KAb8E,CAQ9EQ,QAR8E;AAAA,MAS9EC,WAT8E,GAa9ET,KAb8E,CAS9ES,WAT8E;AAAA,MAU9EC,MAV8E,GAa9EV,KAb8E,CAU9EU,MAV8E;AAAA,MAW9EC,IAX8E,GAa9EX,KAb8E,CAW9EW,IAX8E;AAAA,MAY3EC,cAZ2E,4BAa9EZ,KAb8E;;AAelF,SACI;AACI,IAAA,GAAG,EAAEC;AADT,KAEQW,cAFR;AAGI,IAAA,SAAS,EAAEC,UAAU,CACjBV,SADiB,EAEjBW,kBAAkB,CAAC;AACfC,MAAAA,MAAM,EAAEnB,SADO;AAEfa,MAAAA,WAAW,EAAEA,WAAF,aAAEA,WAAF,cAAEA,WAAF,GAAkBE,IAAI,IAAIL,MAAR,IAAkBI,MAAlB,GAA2BM,WAAW,CAACC,UAAvC,GAAoD,IAFlE;AAGfP,MAAAA,MAAM,EAANA,MAHe;AAIfJ,MAAAA,MAAM,EAANA,MAJe;AAKfD,MAAAA,GAAG,EAAHA;AALe,KAAD,CAFD,EASjBM,IAAI,cAAOf,SAAP,WATa,EAUjBQ,SAAS,cAAOR,SAAP,iBAVQ,EAWjBY,QAAQ,cAAOZ,SAAP,gBAXS,EAYjBW,UAAU,IAAIW,SAAS,CAACX,UAAD,CAAT,CAAsBY,GAAtB,CAA0B,UAACC,KAAD;AAAA,uBAAcxB,SAAd,2BAAwCwB,KAAxC;AAAA,KAA1B,CAZG;AAHzB,MAkBKlB,QAlBL,CADJ;AAsBH,CArCoE;AAsCrEJ,OAAO,CAACuB,WAAR,GAAsB1B,cAAtB;AACAG,OAAO,CAACK,SAAR,GAAoBP,SAApB;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"GridItem.js","sources":["../../../src/components/grid/Grid.tsx","../../../src/components/grid/GridItem.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Alignment, Orientation, Size } from '@lumx/react';\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses } from '@lumx/react/utils';\n\ntype GridGutterSize = Extract<Size, 'regular' | 'big' | 'huge'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface GridProps extends GenericProps {\n /** Orientation. */\n orientation?: Orientation;\n /** Whether the children are wrapped or not. */\n wrap?: string;\n /** Vertical alignment. */\n vAlign?: Alignment;\n /** Horizontal alignment. */\n hAlign?: Alignment;\n /** Gutter size. */\n gutter?: GridGutterSize;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Grid';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<GridProps> = {\n orientation: Orientation.horizontal,\n wrap: 'nowrap',\n};\n\n/**\n * Grid component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Grid: Comp<GridProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, gutter, hAlign, orientation, vAlign, wrap, ...forwardedProps } = props;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n `${CLASSNAME}-container`,\n { [`${CLASSNAME}--h-align-${hAlign}`]: hAlign },\n { [`${CLASSNAME}--v-align-${vAlign}`]: vAlign },\n handleBasicClasses({ prefix: CLASSNAME, orientation, wrap, gutter }),\n )}\n >\n {children}\n </div>\n );\n});\nGrid.displayName = COMPONENT_NAME;\nGrid.className = CLASSNAME;\nGrid.defaultProps = DEFAULT_PROPS;\n","import React, { forwardRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Alignment } from '@lumx/react';\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses } from '@lumx/react/utils';\n\ntype Columns = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12';\n\n/**\n * Defines the props of the component.\n */\nexport interface GridItemProps extends GenericProps {\n /** Alignment. */\n align?: Alignment;\n /** Order. */\n order?: Columns;\n /** Width. */\n width?: Columns;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'GridItem';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * GridItem component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const GridItem: Comp<GridItemProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, width, align, order, ...forwardedProps } = props;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, width, order, align }))}\n >\n {children}\n </div>\n );\n});\nGridItem.displayName = COMPONENT_NAME;\nGridItem.className = CLASSNAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","orientation","Orientation","horizontal","wrap","Grid","forwardRef","props","ref","children","className","gutter","hAlign","vAlign","forwardedProps","classNames","handleBasicClasses","prefix","displayName","defaultProps","GridItem","width","align","order"],"mappings":";;;;;AAyBA;;;AAGA,IAAMA,cAAc,GAAG,MAAvB;AAEA;;;;AAGA,IAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAD,CAAlC;AAEA;;;;AAGA,IAAMG,aAAiC,GAAG;AACtCC,EAAAA,WAAW,EAAEC,WAAW,CAACC,UADa;AAEtCC,EAAAA,IAAI,EAAE;AAFgC,CAA1C;AAKA;;;;;;;;IAOaC,IAAqC,GAAGC,UAAU,CAAC,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA,MACpEC,QADoE,GACkBF,KADlB,CACpEE,QADoE;AAAA,MAC1DC,SAD0D,GACkBH,KADlB,CAC1DG,SAD0D;AAAA,MAC/CC,MAD+C,GACkBJ,KADlB,CAC/CI,MAD+C;AAAA,MACvCC,MADuC,GACkBL,KADlB,CACvCK,MADuC;AAAA,MAC/BX,WAD+B,GACkBM,KADlB,CAC/BN,WAD+B;AAAA,MAClBY,MADkB,GACkBN,KADlB,CAClBM,MADkB;AAAA,MACVT,IADU,GACkBG,KADlB,CACVH,IADU;AAAA,MACDU,cADC,4BACkBP,KADlB;;AAG5E,SACI;AACI,IAAA,GAAG,EAAEC;AADT,KAEQM,cAFR;AAGI,IAAA,SAAS,EAAEC,UAAU,CACjBL,SADiB,YAEdZ,SAFc,+CAGXA,SAHW,uBAGWc,MAHX,GAGsBA,MAHtB,iCAIXd,SAJW,uBAIWe,MAJX,GAIsBA,MAJtB,GAKjBG,kBAAkB,CAAC;AAAEC,MAAAA,MAAM,EAAEnB,SAAV;AAAqBG,MAAAA,WAAW,EAAXA,WAArB;AAAkCG,MAAAA,IAAI,EAAJA,IAAlC;AAAwCO,MAAAA,MAAM,EAANA;AAAxC,KAAD,CALD;AAHzB,MAWKF,QAXL,CADJ;AAeH,CAlB8D;AAmB/DJ,IAAI,CAACa,WAAL,GAAmBrB,cAAnB;AACAQ,IAAI,CAACK,SAAL,GAAiBZ,SAAjB;AACAO,IAAI,CAACc,YAAL,GAAoBnB,aAApB;;AClDA;;;AAGA,IAAMH,gBAAc,GAAG,UAAvB;AAEA;;;;AAGA,IAAMC,WAAS,GAAGC,gBAAgB,CAACF,gBAAD,CAAlC;AAEA;;;;;;;;IAOauB,QAA6C,GAAGd,UAAU,CAAC,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA,MAC5EC,QAD4E,GACZF,KADY,CAC5EE,QAD4E;AAAA,MAClEC,SADkE,GACZH,KADY,CAClEG,SADkE;AAAA,MACvDW,KADuD,GACZd,KADY,CACvDc,KADuD;AAAA,MAChDC,KADgD,GACZf,KADY,CAChDe,KADgD;AAAA,MACzCC,KADyC,GACZhB,KADY,CACzCgB,KADyC;AAAA,MAC/BT,cAD+B,4BACZP,KADY;;AAGpF,SACI;AACI,IAAA,GAAG,EAAEC;AADT,KAEQM,cAFR;AAGI,IAAA,SAAS,EAAEC,UAAU,CAACL,SAAD,EAAYM,kBAAkB,CAAC;AAAEC,MAAAA,MAAM,EAAEnB,WAAV;AAAqBuB,MAAAA,KAAK,EAALA,KAArB;AAA4BE,MAAAA,KAAK,EAALA,KAA5B;AAAmCD,MAAAA,KAAK,EAALA;AAAnC,KAAD,CAA9B;AAHzB,MAKKb,QALL,CADJ;AASH,CAZsE;AAavEW,QAAQ,CAACF,WAAT,GAAuBrB,gBAAvB;AACAuB,QAAQ,CAACV,SAAT,GAAqBZ,WAArB;;;;"}