@lumx/react 2.1.0-alpha.12 → 2.1.0-alpha.15

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 (228) hide show
  1. package/esm/_internal/AlertDialog.js +2 -1
  2. package/esm/_internal/AlertDialog.js.map +1 -1
  3. package/esm/_internal/AutocompleteMultiple.js +2 -1
  4. package/esm/_internal/AutocompleteMultiple.js.map +1 -1
  5. package/esm/_internal/Avatar2.js +2 -1
  6. package/esm/_internal/Avatar2.js.map +1 -1
  7. package/esm/_internal/Badge2.js +2 -1
  8. package/esm/_internal/Badge2.js.map +1 -1
  9. package/esm/_internal/Button2.js +2 -1
  10. package/esm/_internal/Button2.js.map +1 -1
  11. package/esm/_internal/ButtonGroup.js +2 -1
  12. package/esm/_internal/ButtonGroup.js.map +1 -1
  13. package/esm/_internal/ButtonRoot.js +2 -1
  14. package/esm/_internal/ButtonRoot.js.map +1 -1
  15. package/esm/_internal/Checkbox2.js +2 -1
  16. package/esm/_internal/Checkbox2.js.map +1 -1
  17. package/esm/_internal/Chip2.js +2 -1
  18. package/esm/_internal/Chip2.js.map +1 -1
  19. package/esm/_internal/ChipGroup.js +2 -1
  20. package/esm/_internal/ChipGroup.js.map +1 -1
  21. package/esm/_internal/ClickAwayProvider.js +2 -1
  22. package/esm/_internal/ClickAwayProvider.js.map +1 -1
  23. package/esm/_internal/CommentBlock.js +2 -1
  24. package/esm/_internal/CommentBlock.js.map +1 -1
  25. package/esm/_internal/DatePickerField.js +2 -1
  26. package/esm/_internal/DatePickerField.js.map +1 -1
  27. package/esm/_internal/Dialog2.js +13 -4
  28. package/esm/_internal/Dialog2.js.map +1 -1
  29. package/esm/_internal/Divider2.js +2 -1
  30. package/esm/_internal/Divider2.js.map +1 -1
  31. package/esm/_internal/DragHandle.js +2 -1
  32. package/esm/_internal/DragHandle.js.map +1 -1
  33. package/esm/_internal/Dropdown2.js +9 -3
  34. package/esm/_internal/Dropdown2.js.map +1 -1
  35. package/esm/_internal/ExpansionPanel.js +2 -1
  36. package/esm/_internal/ExpansionPanel.js.map +1 -1
  37. package/esm/_internal/Flag2.js +2 -1
  38. package/esm/_internal/Flag2.js.map +1 -1
  39. package/esm/_internal/FlexBox.js +2 -1
  40. package/esm/_internal/FlexBox.js.map +1 -1
  41. package/esm/_internal/GridItem.js +2 -1
  42. package/esm/_internal/GridItem.js.map +1 -1
  43. package/esm/_internal/Icon2.js +2 -1
  44. package/esm/_internal/Icon2.js.map +1 -1
  45. package/esm/_internal/IconButton.js +2 -1
  46. package/esm/_internal/IconButton.js.map +1 -1
  47. package/esm/_internal/ImageBlock.js +2 -1
  48. package/esm/_internal/ImageBlock.js.map +1 -1
  49. package/esm/_internal/InputHelper.js +2 -1
  50. package/esm/_internal/InputHelper.js.map +1 -1
  51. package/esm/_internal/InputLabel.js +2 -1
  52. package/esm/_internal/InputLabel.js.map +1 -1
  53. package/esm/_internal/Lightbox2.js +2 -1
  54. package/esm/_internal/Lightbox2.js.map +1 -1
  55. package/esm/_internal/Link2.js +8 -1
  56. package/esm/_internal/Link2.js.map +1 -1
  57. package/esm/_internal/LinkPreview.js +2 -1
  58. package/esm/_internal/LinkPreview.js.map +1 -1
  59. package/esm/_internal/List2.js +2 -1
  60. package/esm/_internal/List2.js.map +1 -1
  61. package/esm/_internal/ListSubheader.js +2 -1
  62. package/esm/_internal/ListSubheader.js.map +1 -1
  63. package/esm/_internal/Message2.js +2 -1
  64. package/esm/_internal/Message2.js.map +1 -1
  65. package/esm/_internal/Mosaic2.js +2 -1
  66. package/esm/_internal/Mosaic2.js.map +1 -1
  67. package/esm/_internal/Notification2.js +2 -1
  68. package/esm/_internal/Notification2.js.map +1 -1
  69. package/esm/_internal/Popover2.js +2 -1
  70. package/esm/_internal/Popover2.js.map +1 -1
  71. package/esm/_internal/PostBlock.js +2 -1
  72. package/esm/_internal/PostBlock.js.map +1 -1
  73. package/esm/_internal/Progress2.js +2 -1
  74. package/esm/_internal/Progress2.js.map +1 -1
  75. package/esm/_internal/ProgressTrackerStepPanel.js +2 -1
  76. package/esm/_internal/ProgressTrackerStepPanel.js.map +1 -1
  77. package/esm/_internal/RadioGroup.js +2 -1
  78. package/esm/_internal/RadioGroup.js.map +1 -1
  79. package/esm/_internal/SelectMultiple.js +2 -1
  80. package/esm/_internal/SelectMultiple.js.map +1 -1
  81. package/esm/_internal/SideNavigationItem.js +2 -1
  82. package/esm/_internal/SideNavigationItem.js.map +1 -1
  83. package/esm/_internal/SkeletonTypography.js +2 -1
  84. package/esm/_internal/SkeletonTypography.js.map +1 -1
  85. package/esm/_internal/Slider2.js +2 -1
  86. package/esm/_internal/Slider2.js.map +1 -1
  87. package/esm/_internal/SlideshowControls.js +2 -1
  88. package/esm/_internal/SlideshowControls.js.map +1 -1
  89. package/esm/_internal/Switch2.js +2 -1
  90. package/esm/_internal/Switch2.js.map +1 -1
  91. package/esm/_internal/TabPanel.js +2 -1
  92. package/esm/_internal/TabPanel.js.map +1 -1
  93. package/esm/_internal/TableRow.js +2 -1
  94. package/esm/_internal/TableRow.js.map +1 -1
  95. package/esm/_internal/TextField.js +2 -1
  96. package/esm/_internal/TextField.js.map +1 -1
  97. package/esm/_internal/Thumbnail2.js +2 -1
  98. package/esm/_internal/Thumbnail2.js.map +1 -1
  99. package/esm/_internal/Toolbar2.js +2 -1
  100. package/esm/_internal/Toolbar2.js.map +1 -1
  101. package/esm/_internal/Tooltip2.js +2 -1
  102. package/esm/_internal/Tooltip2.js.map +1 -1
  103. package/esm/_internal/Uploader2.js +2 -1
  104. package/esm/_internal/Uploader2.js.map +1 -1
  105. package/esm/_internal/UserBlock.js +2 -1
  106. package/esm/_internal/UserBlock.js.map +1 -1
  107. package/esm/_internal/_rollupPluginBabelHelpers.js +167 -0
  108. package/esm/_internal/_rollupPluginBabelHelpers.js.map +1 -0
  109. package/esm/_internal/alert-dialog.js +3 -1
  110. package/esm/_internal/alert-dialog.js.map +1 -1
  111. package/esm/_internal/autocomplete.js +2 -1
  112. package/esm/_internal/autocomplete.js.map +1 -1
  113. package/esm/_internal/avatar.js +2 -1
  114. package/esm/_internal/avatar.js.map +1 -1
  115. package/esm/_internal/badge.js +2 -1
  116. package/esm/_internal/badge.js.map +1 -1
  117. package/esm/_internal/button.js +2 -1
  118. package/esm/_internal/button.js.map +1 -1
  119. package/esm/_internal/checkbox.js +2 -1
  120. package/esm/_internal/checkbox.js.map +1 -1
  121. package/esm/_internal/chip.js +2 -1
  122. package/esm/_internal/chip.js.map +1 -1
  123. package/esm/_internal/comment-block.js +2 -1
  124. package/esm/_internal/comment-block.js.map +1 -1
  125. package/esm/_internal/components.js +48 -3
  126. package/esm/_internal/components.js.map +1 -1
  127. package/esm/_internal/date-picker.js +2 -1
  128. package/esm/_internal/date-picker.js.map +1 -1
  129. package/esm/_internal/dialog.js +3 -1
  130. package/esm/_internal/dialog.js.map +1 -1
  131. package/esm/_internal/divider.js +2 -1
  132. package/esm/_internal/divider.js.map +1 -1
  133. package/esm/_internal/drag-handle.js +2 -1
  134. package/esm/_internal/drag-handle.js.map +1 -1
  135. package/esm/_internal/dropdown.js +2 -1
  136. package/esm/_internal/dropdown.js.map +1 -1
  137. package/esm/_internal/expansion-panel.js +2 -1
  138. package/esm/_internal/expansion-panel.js.map +1 -1
  139. package/esm/_internal/flag.js +2 -1
  140. package/esm/_internal/flag.js.map +1 -1
  141. package/esm/_internal/flex-box.js +2 -1
  142. package/esm/_internal/flex-box.js.map +1 -1
  143. package/esm/_internal/getRootClassName.js +2 -166
  144. package/esm/_internal/getRootClassName.js.map +1 -1
  145. package/esm/_internal/grid.js +2 -1
  146. package/esm/_internal/grid.js.map +1 -1
  147. package/esm/_internal/icon.js +2 -1
  148. package/esm/_internal/icon.js.map +1 -1
  149. package/esm/_internal/image-block.js +2 -1
  150. package/esm/_internal/image-block.js.map +1 -1
  151. package/esm/_internal/input-helper.js +2 -1
  152. package/esm/_internal/input-helper.js.map +1 -1
  153. package/esm/_internal/input-label.js +2 -1
  154. package/esm/_internal/input-label.js.map +1 -1
  155. package/esm/_internal/lightbox.js +2 -1
  156. package/esm/_internal/lightbox.js.map +1 -1
  157. package/esm/_internal/link-preview.js +2 -1
  158. package/esm/_internal/link-preview.js.map +1 -1
  159. package/esm/_internal/link.js +2 -1
  160. package/esm/_internal/link.js.map +1 -1
  161. package/esm/_internal/list.js +2 -1
  162. package/esm/_internal/list.js.map +1 -1
  163. package/esm/_internal/message.js +2 -1
  164. package/esm/_internal/message.js.map +1 -1
  165. package/esm/_internal/mosaic.js +2 -1
  166. package/esm/_internal/mosaic.js.map +1 -1
  167. package/esm/_internal/notification.js +2 -1
  168. package/esm/_internal/notification.js.map +1 -1
  169. package/esm/_internal/popover.js +2 -1
  170. package/esm/_internal/popover.js.map +1 -1
  171. package/esm/_internal/post-block.js +2 -1
  172. package/esm/_internal/post-block.js.map +1 -1
  173. package/esm/_internal/progress-tracker.js +2 -1
  174. package/esm/_internal/progress-tracker.js.map +1 -1
  175. package/esm/_internal/progress.js +2 -1
  176. package/esm/_internal/progress.js.map +1 -1
  177. package/esm/_internal/radio-button.js +2 -1
  178. package/esm/_internal/radio-button.js.map +1 -1
  179. package/esm/_internal/renderLink.js +1 -1
  180. package/esm/_internal/select.js +2 -1
  181. package/esm/_internal/select.js.map +1 -1
  182. package/esm/_internal/side-navigation.js +2 -1
  183. package/esm/_internal/side-navigation.js.map +1 -1
  184. package/esm/_internal/skeleton.js +2 -1
  185. package/esm/_internal/skeleton.js.map +1 -1
  186. package/esm/_internal/slider.js +2 -1
  187. package/esm/_internal/slider.js.map +1 -1
  188. package/esm/_internal/slideshow.js +2 -1
  189. package/esm/_internal/slideshow.js.map +1 -1
  190. package/esm/_internal/switch.js +2 -1
  191. package/esm/_internal/switch.js.map +1 -1
  192. package/esm/_internal/table.js +2 -1
  193. package/esm/_internal/table.js.map +1 -1
  194. package/esm/_internal/tabs.js +2 -1
  195. package/esm/_internal/tabs.js.map +1 -1
  196. package/esm/_internal/text-field.js +2 -1
  197. package/esm/_internal/text-field.js.map +1 -1
  198. package/esm/_internal/thumbnail.js +2 -1
  199. package/esm/_internal/thumbnail.js.map +1 -1
  200. package/esm/_internal/toolbar.js +2 -1
  201. package/esm/_internal/toolbar.js.map +1 -1
  202. package/esm/_internal/tooltip.js +2 -1
  203. package/esm/_internal/tooltip.js.map +1 -1
  204. package/esm/_internal/types.js +1 -1
  205. package/esm/_internal/uploader.js +2 -1
  206. package/esm/_internal/uploader.js.map +1 -1
  207. package/esm/_internal/useDelayedVisibility.js +1 -1
  208. package/esm/_internal/useDisableBodyScroll.js +9 -1
  209. package/esm/_internal/useDisableBodyScroll.js.map +1 -1
  210. package/esm/_internal/useRovingTabIndex.js +1 -1
  211. package/esm/_internal/user-block.js +2 -1
  212. package/esm/_internal/user-block.js.map +1 -1
  213. package/esm/index.js +3 -2
  214. package/esm/index.js.map +1 -1
  215. package/package.json +4 -4
  216. package/src/components/dialog/Dialog.tsx +9 -3
  217. package/src/components/dropdown/Dropdown.tsx +1 -0
  218. package/src/components/dropdown/__snapshots__/Dropdown.test.tsx.snap +1 -1
  219. package/src/components/index.ts +46 -3
  220. package/src/components/link/Link.stories.tsx +24 -8
  221. package/src/components/link/Link.tsx +8 -2
  222. package/src/components/skeleton/SkeletonRectangle.stories.tsx +1 -1
  223. package/src/components/skeleton/SkeletonRectangle.tsx +1 -1
  224. package/src/components/skeleton/SkeletonTypography.tsx +2 -2
  225. package/src/components/skeleton/__snapshots__/SkeletonRectangle.test.tsx.snap +7 -0
  226. package/src/hooks/useDisableBodyScroll.ts +9 -1
  227. package/src/hooks/useInfiniteScroll.tsx +14 -3
  228. package/types.d.ts +68 -5
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip2.js","sources":["../../../src/components/tooltip/useInjectTooltipRef.tsx","../../../src/components/tooltip/useTooltipOpen.tsx","../../../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import { mergeRefs } from '@lumx/react/utils/mergeRefs';\nimport get from 'lodash/get';\nimport React, { cloneElement, ReactNode, useMemo } from 'react';\n\n/**\n * Add ref and ARIA attribute(s) in tooltip children or wrapped children.\n * Button, IconButton, Icon and React HTML elements don't need to be wrapped but any other kind of children (array, fragment, custom components)\n * will be wrapped in a <span>.\n *\n * @param children Original tooltip anchor.\n * @param setAnchorElement Set tooltip anchor element.\n * @param isOpen Whether the tooltip is open or not.\n * @param id Tooltip id.\n * @return tooltip anchor.\n */\nexport const useInjectTooltipRef = (\n children: ReactNode,\n setAnchorElement: (e: HTMLDivElement) => void,\n isOpen: boolean,\n id: string,\n): ReactNode => {\n return useMemo(() => {\n const ariaProps = { 'aria-describedby': isOpen ? id : undefined };\n if (\n children &&\n get(children, '$$typeof') &&\n get(children, 'props.disabled') !== true &&\n get(children, 'props.isDisabled') !== true\n ) {\n const element = children as any;\n if (element.ref) {\n setAnchorElement(element.ref.current);\n }\n return cloneElement(element, {\n ...element.props,\n ...ariaProps,\n ref: mergeRefs(element.ref, setAnchorElement),\n });\n }\n return (\n <div className=\"lumx-tooltip-anchor-wrapper\" ref={setAnchorElement} {...ariaProps}>\n {children}\n </div>\n );\n }, [isOpen, id, children, setAnchorElement]);\n};\n","import { Callback, onEscapePressed } from '@lumx/react/utils';\nimport { useEffect, useRef, useState } from 'react';\nimport pull from 'lodash/pull';\nimport debounce from 'lodash/debounce';\n\ntype Tooltip = { open: Callback; close: Callback; anchorElement: HTMLElement };\n\n/**\n * This singleton handle a global `mouseover` event listener on the `document` in order to toggle tooltips when\n * entering and leaving their anchor element.\n */\nconst tooltipMouseToggle = (() => {\n /** List of tooltips to toggle on anchor enter/leave. */\n let tooltips: Array<Tooltip> | undefined;\n\n /** Global listener added on the document. */\n let globalListener: undefined | ((evt: MouseEvent) => void);\n\n function addGlobalListener() {\n if (globalListener) return;\n globalListener = debounce((evt) => {\n if (!tooltips || !evt.target) return;\n for (const { open, close, anchorElement } of tooltips) {\n if (anchorElement.contains(evt.target as any)) {\n open();\n } else {\n close();\n }\n }\n }, 10);\n document.addEventListener('mouseover', globalListener);\n }\n\n function removeGlobalListener() {\n if (!globalListener) return;\n document.removeEventListener('mouseover', globalListener);\n globalListener = undefined;\n }\n\n return {\n addTooltip(tooltip: Tooltip) {\n if (!tooltips) {\n tooltips = [];\n addGlobalListener();\n }\n tooltips.push(tooltip);\n },\n removeTooltip(actions: Tooltip) {\n if (!tooltips) return;\n pull(tooltips, actions);\n if (tooltips.length === 0) {\n removeGlobalListener();\n tooltips = undefined;\n }\n },\n };\n})();\n\n/**\n * Hook controlling tooltip visibility using mouse hover the anchor and delay.\n *\n * @param delay Delay in millisecond to display the tooltip.\n * @param anchorElement Tooltip anchor element.\n * @return whether or not to show the tooltip.\n */\nexport function useTooltipOpen(delay: number, anchorElement: HTMLElement | null): boolean {\n const timer = useRef<number>();\n const shouldOpen = useRef<boolean>(false);\n const [isOpen, setIsOpen] = useState(false);\n\n useEffect(() => {\n if (!anchorElement) {\n return undefined;\n }\n const tooltip: Tooltip = {\n anchorElement,\n open() {\n if (!shouldOpen.current) {\n shouldOpen.current = true;\n timer.current = setTimeout(() => {\n setIsOpen(shouldOpen.current);\n }, delay) as any;\n }\n },\n close() {\n if (timer.current) {\n clearTimeout(timer.current);\n timer.current = undefined;\n }\n if (shouldOpen.current) {\n shouldOpen.current = false;\n setIsOpen(shouldOpen.current);\n }\n },\n };\n const keydown = onEscapePressed(tooltip.close);\n\n tooltipMouseToggle.addTooltip(tooltip);\n anchorElement.addEventListener('focusin', tooltip.open);\n anchorElement.addEventListener('focusout', tooltip.close);\n anchorElement.addEventListener('keydown', keydown);\n return () => {\n tooltipMouseToggle.removeTooltip(tooltip);\n anchorElement.removeEventListener('focusin', tooltip.open);\n anchorElement.removeEventListener('focusout', tooltip.close);\n anchorElement.removeEventListener('keydown', keydown);\n tooltip.close();\n };\n }, [anchorElement, delay, timer, shouldOpen]);\n\n return isOpen;\n}\n","/* eslint-disable react-hooks/rules-of-hooks */\nimport React, { forwardRef, ReactNode, useMemo, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { usePopper } from 'react-popper';\nimport { uid } from 'uid';\n\nimport classNames from 'classnames';\n\nimport { Placement } from '@lumx/react/components/popover/Popover';\n\nimport { DOCUMENT } from '@lumx/react/constants';\n\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses } from '@lumx/react/utils';\nimport { mergeRefs } from '@lumx/react/utils/mergeRefs';\n\nimport { useInjectTooltipRef } from './useInjectTooltipRef';\nimport { useTooltipOpen } from './useTooltipOpen';\n\n/** Position of the tooltip relative to the anchor element. */\nexport type TooltipPlacement = Extract<Placement, 'top' | 'right' | 'bottom' | 'left'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface TooltipProps extends GenericProps {\n /** Anchor (element on which we activate the tooltip). */\n children: ReactNode;\n /** Delay (in ms) before closing the tooltip. */\n delay?: number;\n /** Whether the tooltip is displayed even without the mouse hovering the anchor. */\n forceOpen?: boolean;\n /** Label text. */\n label?: string | null | false;\n /** Placement of the tooltip relative to the anchor. */\n placement?: TooltipPlacement;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Tooltip';\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<TooltipProps> = {\n delay: 500,\n placement: Placement.BOTTOM,\n};\n\n/**\n * Arrow size (in pixel).\n */\nconst ARROW_SIZE = 8;\n\n/**\n * Tooltip component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Tooltip: Comp<TooltipProps, HTMLDivElement> = forwardRef((props, ref) => {\n if (!DOCUMENT) {\n // Can't render in SSR.\n return null;\n }\n const { label, children, className, delay, placement, forceOpen, ...forwardedProps } = props;\n if (!label) {\n return <>{children}</>;\n }\n\n const id = useMemo(() => `tooltip-${uid()}`, []);\n\n const [popperElement, setPopperElement] = useState<null | HTMLElement>(null);\n const [anchorElement, setAnchorElement] = useState<null | HTMLElement>(null);\n const { styles, attributes } = usePopper(anchorElement, popperElement, {\n placement,\n modifiers: [\n {\n name: 'offset',\n options: { offset: [0, ARROW_SIZE] },\n },\n ],\n });\n\n const position = attributes?.popper?.['data-popper-placement'] ?? placement;\n const isOpen = useTooltipOpen(delay as number, anchorElement) || forceOpen;\n const wrappedChildren = useInjectTooltipRef(children, setAnchorElement, isOpen as boolean, id);\n\n return (\n <>\n {wrappedChildren}\n {isOpen &&\n createPortal(\n <div\n ref={mergeRefs(ref, setPopperElement)}\n {...forwardedProps}\n id={id}\n role=\"tooltip\"\n aria-label={label}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, position }))}\n style={styles.popper}\n {...attributes.popper}\n >\n <div className={`${CLASSNAME}__arrow`} />\n <div className={`${CLASSNAME}__inner`}>\n {label.indexOf('\\n') !== -1\n ? label.split('\\n').map((sentence: string) => <p key={sentence}>{sentence}</p>)\n : label}\n </div>\n </div>,\n document.body,\n )}\n </>\n );\n});\nTooltip.displayName = COMPONENT_NAME;\nTooltip.className = CLASSNAME;\nTooltip.defaultProps = DEFAULT_PROPS;\n"],"names":["useInjectTooltipRef","children","setAnchorElement","isOpen","id","useMemo","ariaProps","undefined","get","element","ref","current","cloneElement","props","mergeRefs","tooltipMouseToggle","tooltips","globalListener","addGlobalListener","debounce","evt","target","open","close","anchorElement","contains","document","addEventListener","removeGlobalListener","removeEventListener","addTooltip","tooltip","push","removeTooltip","actions","pull","length","useTooltipOpen","delay","timer","useRef","shouldOpen","useState","setIsOpen","useEffect","setTimeout","clearTimeout","keydown","onEscapePressed","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","placement","Placement","BOTTOM","ARROW_SIZE","Tooltip","forwardRef","DOCUMENT","label","className","forceOpen","forwardedProps","uid","popperElement","setPopperElement","usePopper","modifiers","name","options","offset","styles","attributes","position","popper","wrappedChildren","createPortal","classNames","handleBasicClasses","prefix","indexOf","split","map","sentence","body","displayName","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"Tooltip2.js","sources":["../../../src/components/tooltip/useInjectTooltipRef.tsx","../../../src/components/tooltip/useTooltipOpen.tsx","../../../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import { mergeRefs } from '@lumx/react/utils/mergeRefs';\nimport get from 'lodash/get';\nimport React, { cloneElement, ReactNode, useMemo } from 'react';\n\n/**\n * Add ref and ARIA attribute(s) in tooltip children or wrapped children.\n * Button, IconButton, Icon and React HTML elements don't need to be wrapped but any other kind of children (array, fragment, custom components)\n * will be wrapped in a <span>.\n *\n * @param children Original tooltip anchor.\n * @param setAnchorElement Set tooltip anchor element.\n * @param isOpen Whether the tooltip is open or not.\n * @param id Tooltip id.\n * @return tooltip anchor.\n */\nexport const useInjectTooltipRef = (\n children: ReactNode,\n setAnchorElement: (e: HTMLDivElement) => void,\n isOpen: boolean,\n id: string,\n): ReactNode => {\n return useMemo(() => {\n const ariaProps = { 'aria-describedby': isOpen ? id : undefined };\n if (\n children &&\n get(children, '$$typeof') &&\n get(children, 'props.disabled') !== true &&\n get(children, 'props.isDisabled') !== true\n ) {\n const element = children as any;\n if (element.ref) {\n setAnchorElement(element.ref.current);\n }\n return cloneElement(element, {\n ...element.props,\n ...ariaProps,\n ref: mergeRefs(element.ref, setAnchorElement),\n });\n }\n return (\n <div className=\"lumx-tooltip-anchor-wrapper\" ref={setAnchorElement} {...ariaProps}>\n {children}\n </div>\n );\n }, [isOpen, id, children, setAnchorElement]);\n};\n","import { Callback, onEscapePressed } from '@lumx/react/utils';\nimport { useEffect, useRef, useState } from 'react';\nimport pull from 'lodash/pull';\nimport debounce from 'lodash/debounce';\n\ntype Tooltip = { open: Callback; close: Callback; anchorElement: HTMLElement };\n\n/**\n * This singleton handle a global `mouseover` event listener on the `document` in order to toggle tooltips when\n * entering and leaving their anchor element.\n */\nconst tooltipMouseToggle = (() => {\n /** List of tooltips to toggle on anchor enter/leave. */\n let tooltips: Array<Tooltip> | undefined;\n\n /** Global listener added on the document. */\n let globalListener: undefined | ((evt: MouseEvent) => void);\n\n function addGlobalListener() {\n if (globalListener) return;\n globalListener = debounce((evt) => {\n if (!tooltips || !evt.target) return;\n for (const { open, close, anchorElement } of tooltips) {\n if (anchorElement.contains(evt.target as any)) {\n open();\n } else {\n close();\n }\n }\n }, 10);\n document.addEventListener('mouseover', globalListener);\n }\n\n function removeGlobalListener() {\n if (!globalListener) return;\n document.removeEventListener('mouseover', globalListener);\n globalListener = undefined;\n }\n\n return {\n addTooltip(tooltip: Tooltip) {\n if (!tooltips) {\n tooltips = [];\n addGlobalListener();\n }\n tooltips.push(tooltip);\n },\n removeTooltip(actions: Tooltip) {\n if (!tooltips) return;\n pull(tooltips, actions);\n if (tooltips.length === 0) {\n removeGlobalListener();\n tooltips = undefined;\n }\n },\n };\n})();\n\n/**\n * Hook controlling tooltip visibility using mouse hover the anchor and delay.\n *\n * @param delay Delay in millisecond to display the tooltip.\n * @param anchorElement Tooltip anchor element.\n * @return whether or not to show the tooltip.\n */\nexport function useTooltipOpen(delay: number, anchorElement: HTMLElement | null): boolean {\n const timer = useRef<number>();\n const shouldOpen = useRef<boolean>(false);\n const [isOpen, setIsOpen] = useState(false);\n\n useEffect(() => {\n if (!anchorElement) {\n return undefined;\n }\n const tooltip: Tooltip = {\n anchorElement,\n open() {\n if (!shouldOpen.current) {\n shouldOpen.current = true;\n timer.current = setTimeout(() => {\n setIsOpen(shouldOpen.current);\n }, delay) as any;\n }\n },\n close() {\n if (timer.current) {\n clearTimeout(timer.current);\n timer.current = undefined;\n }\n if (shouldOpen.current) {\n shouldOpen.current = false;\n setIsOpen(shouldOpen.current);\n }\n },\n };\n const keydown = onEscapePressed(tooltip.close);\n\n tooltipMouseToggle.addTooltip(tooltip);\n anchorElement.addEventListener('focusin', tooltip.open);\n anchorElement.addEventListener('focusout', tooltip.close);\n anchorElement.addEventListener('keydown', keydown);\n return () => {\n tooltipMouseToggle.removeTooltip(tooltip);\n anchorElement.removeEventListener('focusin', tooltip.open);\n anchorElement.removeEventListener('focusout', tooltip.close);\n anchorElement.removeEventListener('keydown', keydown);\n tooltip.close();\n };\n }, [anchorElement, delay, timer, shouldOpen]);\n\n return isOpen;\n}\n","/* eslint-disable react-hooks/rules-of-hooks */\nimport React, { forwardRef, ReactNode, useMemo, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { usePopper } from 'react-popper';\nimport { uid } from 'uid';\n\nimport classNames from 'classnames';\n\nimport { Placement } from '@lumx/react/components/popover/Popover';\n\nimport { DOCUMENT } from '@lumx/react/constants';\n\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses } from '@lumx/react/utils';\nimport { mergeRefs } from '@lumx/react/utils/mergeRefs';\n\nimport { useInjectTooltipRef } from './useInjectTooltipRef';\nimport { useTooltipOpen } from './useTooltipOpen';\n\n/** Position of the tooltip relative to the anchor element. */\nexport type TooltipPlacement = Extract<Placement, 'top' | 'right' | 'bottom' | 'left'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface TooltipProps extends GenericProps {\n /** Anchor (element on which we activate the tooltip). */\n children: ReactNode;\n /** Delay (in ms) before closing the tooltip. */\n delay?: number;\n /** Whether the tooltip is displayed even without the mouse hovering the anchor. */\n forceOpen?: boolean;\n /** Label text. */\n label?: string | null | false;\n /** Placement of the tooltip relative to the anchor. */\n placement?: TooltipPlacement;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Tooltip';\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<TooltipProps> = {\n delay: 500,\n placement: Placement.BOTTOM,\n};\n\n/**\n * Arrow size (in pixel).\n */\nconst ARROW_SIZE = 8;\n\n/**\n * Tooltip component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Tooltip: Comp<TooltipProps, HTMLDivElement> = forwardRef((props, ref) => {\n if (!DOCUMENT) {\n // Can't render in SSR.\n return null;\n }\n const { label, children, className, delay, placement, forceOpen, ...forwardedProps } = props;\n if (!label) {\n return <>{children}</>;\n }\n\n const id = useMemo(() => `tooltip-${uid()}`, []);\n\n const [popperElement, setPopperElement] = useState<null | HTMLElement>(null);\n const [anchorElement, setAnchorElement] = useState<null | HTMLElement>(null);\n const { styles, attributes } = usePopper(anchorElement, popperElement, {\n placement,\n modifiers: [\n {\n name: 'offset',\n options: { offset: [0, ARROW_SIZE] },\n },\n ],\n });\n\n const position = attributes?.popper?.['data-popper-placement'] ?? placement;\n const isOpen = useTooltipOpen(delay as number, anchorElement) || forceOpen;\n const wrappedChildren = useInjectTooltipRef(children, setAnchorElement, isOpen as boolean, id);\n\n return (\n <>\n {wrappedChildren}\n {isOpen &&\n createPortal(\n <div\n ref={mergeRefs(ref, setPopperElement)}\n {...forwardedProps}\n id={id}\n role=\"tooltip\"\n aria-label={label}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, position }))}\n style={styles.popper}\n {...attributes.popper}\n >\n <div className={`${CLASSNAME}__arrow`} />\n <div className={`${CLASSNAME}__inner`}>\n {label.indexOf('\\n') !== -1\n ? label.split('\\n').map((sentence: string) => <p key={sentence}>{sentence}</p>)\n : label}\n </div>\n </div>,\n document.body,\n )}\n </>\n );\n});\nTooltip.displayName = COMPONENT_NAME;\nTooltip.className = CLASSNAME;\nTooltip.defaultProps = DEFAULT_PROPS;\n"],"names":["useInjectTooltipRef","children","setAnchorElement","isOpen","id","useMemo","ariaProps","undefined","get","element","ref","current","cloneElement","props","mergeRefs","tooltipMouseToggle","tooltips","globalListener","addGlobalListener","debounce","evt","target","open","close","anchorElement","contains","document","addEventListener","removeGlobalListener","removeEventListener","addTooltip","tooltip","push","removeTooltip","actions","pull","length","useTooltipOpen","delay","timer","useRef","shouldOpen","useState","setIsOpen","useEffect","setTimeout","clearTimeout","keydown","onEscapePressed","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","placement","Placement","BOTTOM","ARROW_SIZE","Tooltip","forwardRef","DOCUMENT","label","className","forceOpen","forwardedProps","uid","popperElement","setPopperElement","usePopper","modifiers","name","options","offset","styles","attributes","position","popper","wrappedChildren","createPortal","classNames","handleBasicClasses","prefix","indexOf","split","map","sentence","body","displayName","defaultProps"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
+ import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBabelHelpers.js';
1
2
  import { Size, AspectRatio, Theme } from './components.js';
2
- import { g as getRootClassName, a as _objectWithoutProperties, b as _extends, d as classnames, h as handleBasicClasses } from './getRootClassName.js';
3
3
  import React, { forwardRef } from 'react';
4
+ import { g as getRootClassName, c as classnames, h as handleBasicClasses } from './getRootClassName.js';
4
5
  import { I as Icon } from './Icon2.js';
5
6
 
6
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Uploader2.js","sources":["../../../src/components/uploader/Uploader.tsx"],"sourcesContent":["import React, { forwardRef, MouseEventHandler } from 'react';\n\nimport classNames from 'classnames';\n\nimport { AspectRatio, Icon, Size, Theme } from '@lumx/react';\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses, ValueOf } from '@lumx/react/utils';\n\n/**\n * Uploader variants.\n */\nexport const UploaderVariant = {\n square: 'square',\n rounded: 'rounded',\n circle: 'circle',\n} as const;\nexport type UploaderVariant = ValueOf<typeof UploaderVariant>;\n\n/**\n * Uploader sizes.\n */\nexport type UploaderSize = Extract<Size, 'xl' | 'xxl'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface UploaderProps extends GenericProps {\n /** Image aspect ratio. */\n aspectRatio?: AspectRatio;\n /** Icon (SVG path). */\n icon?: string;\n /** Label text. */\n label?: string;\n /** Size variant. */\n size?: UploaderSize;\n /** Theme adapting the component to light or dark background. */\n theme?: Theme;\n /** Variant. */\n variant?: UploaderVariant;\n /** On click callback. */\n onClick?: MouseEventHandler<HTMLDivElement>;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Uploader';\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<UploaderProps> = {\n aspectRatio: AspectRatio.horizontal,\n size: Size.xl,\n theme: Theme.light,\n variant: UploaderVariant.square,\n};\n\n/**\n * Uploader component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Uploader: Comp<UploaderProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { aspectRatio, className, label, icon, size, theme, variant, ...forwardedProps } = props;\n // Adjust to square aspect ratio when using circle variants.\n const adjustedAspectRatio = variant === UploaderVariant.circle ? AspectRatio.square : aspectRatio;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n aspectRatio: adjustedAspectRatio,\n prefix: CLASSNAME,\n size,\n theme,\n variant,\n }),\n )}\n >\n <div className={`${CLASSNAME}__background`} />\n\n <div className={`${CLASSNAME}__wrapper`}>\n {icon && (\n <div className={`${CLASSNAME}__icon`}>\n <Icon icon={icon} size={Size.s} />\n </div>\n )}\n\n {label && <span className={`${CLASSNAME}__label`}>{label}</span>}\n </div>\n </div>\n );\n});\nUploader.displayName = COMPONENT_NAME;\nUploader.className = CLASSNAME;\nUploader.defaultProps = DEFAULT_PROPS;\n"],"names":["UploaderVariant","square","rounded","circle","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","aspectRatio","AspectRatio","horizontal","size","Size","xl","theme","Theme","light","variant","Uploader","forwardRef","props","ref","className","label","icon","forwardedProps","adjustedAspectRatio","classNames","handleBasicClasses","prefix","s","displayName","defaultProps"],"mappings":";;;;;AAOA;;;;IAGaA,eAAe,GAAG;AAC3BC,EAAAA,MAAM,EAAE,QADmB;AAE3BC,EAAAA,OAAO,EAAE,SAFkB;AAG3BC,EAAAA,MAAM,EAAE;AAHmB;;AAgC/B;;;AAGA,IAAMC,cAAc,GAAG,UAAvB;AAEA;;;;AAGA,IAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAD,CAAlC;AAEA;;;;AAGA,IAAMG,aAAqC,GAAG;AAC1CC,EAAAA,WAAW,EAAEC,WAAW,CAACC,UADiB;AAE1CC,EAAAA,IAAI,EAAEC,IAAI,CAACC,EAF+B;AAG1CC,EAAAA,KAAK,EAAEC,KAAK,CAACC,KAH6B;AAI1CC,EAAAA,OAAO,EAAEjB,eAAe,CAACC;AAJiB,CAA9C;AAOA;;;;;;;;IAOaiB,QAA6C,GAAGC,UAAU,CAAC,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA,MAC5Eb,WAD4E,GACKY,KADL,CAC5EZ,WAD4E;AAAA,MAC/Dc,SAD+D,GACKF,KADL,CAC/DE,SAD+D;AAAA,MACpDC,KADoD,GACKH,KADL,CACpDG,KADoD;AAAA,MAC7CC,IAD6C,GACKJ,KADL,CAC7CI,IAD6C;AAAA,MACvCb,IADuC,GACKS,KADL,CACvCT,IADuC;AAAA,MACjCG,KADiC,GACKM,KADL,CACjCN,KADiC;AAAA,MAC1BG,OAD0B,GACKG,KADL,CAC1BH,OAD0B;AAAA,MACdQ,cADc,4BACKL,KADL;;;AAGpF,MAAMM,mBAAmB,GAAGT,OAAO,KAAKjB,eAAe,CAACG,MAA5B,GAAqCM,WAAW,CAACR,MAAjD,GAA0DO,WAAtF;AAEA,SACI;AACI,IAAA,GAAG,EAAEa;AADT,KAEQI,cAFR;AAGI,IAAA,SAAS,EAAEE,UAAU,CACjBL,SADiB,EAEjBM,kBAAkB,CAAC;AACfpB,MAAAA,WAAW,EAAEkB,mBADE;AAEfG,MAAAA,MAAM,EAAExB,SAFO;AAGfM,MAAAA,IAAI,EAAJA,IAHe;AAIfG,MAAAA,KAAK,EAALA,KAJe;AAKfG,MAAAA,OAAO,EAAPA;AALe,KAAD,CAFD;AAHzB,MAcI;AAAK,IAAA,SAAS,YAAKZ,SAAL;AAAd,IAdJ,EAgBI;AAAK,IAAA,SAAS,YAAKA,SAAL;AAAd,KACKmB,IAAI,IACD;AAAK,IAAA,SAAS,YAAKnB,SAAL;AAAd,KACI,oBAAC,IAAD;AAAM,IAAA,IAAI,EAAEmB,IAAZ;AAAkB,IAAA,IAAI,EAAEZ,IAAI,CAACkB;AAA7B,IADJ,CAFR,EAOKP,KAAK,IAAI;AAAM,IAAA,SAAS,YAAKlB,SAAL;AAAf,KAAyCkB,KAAzC,CAPd,CAhBJ,CADJ;AA4BH,CAjCsE;AAkCvEL,QAAQ,CAACa,WAAT,GAAuB3B,cAAvB;AACAc,QAAQ,CAACI,SAAT,GAAqBjB,SAArB;AACAa,QAAQ,CAACc,YAAT,GAAwBzB,aAAxB;;;;"}
1
+ {"version":3,"file":"Uploader2.js","sources":["../../../src/components/uploader/Uploader.tsx"],"sourcesContent":["import React, { forwardRef, MouseEventHandler } from 'react';\n\nimport classNames from 'classnames';\n\nimport { AspectRatio, Icon, Size, Theme } from '@lumx/react';\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses, ValueOf } from '@lumx/react/utils';\n\n/**\n * Uploader variants.\n */\nexport const UploaderVariant = {\n square: 'square',\n rounded: 'rounded',\n circle: 'circle',\n} as const;\nexport type UploaderVariant = ValueOf<typeof UploaderVariant>;\n\n/**\n * Uploader sizes.\n */\nexport type UploaderSize = Extract<Size, 'xl' | 'xxl'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface UploaderProps extends GenericProps {\n /** Image aspect ratio. */\n aspectRatio?: AspectRatio;\n /** Icon (SVG path). */\n icon?: string;\n /** Label text. */\n label?: string;\n /** Size variant. */\n size?: UploaderSize;\n /** Theme adapting the component to light or dark background. */\n theme?: Theme;\n /** Variant. */\n variant?: UploaderVariant;\n /** On click callback. */\n onClick?: MouseEventHandler<HTMLDivElement>;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Uploader';\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<UploaderProps> = {\n aspectRatio: AspectRatio.horizontal,\n size: Size.xl,\n theme: Theme.light,\n variant: UploaderVariant.square,\n};\n\n/**\n * Uploader component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Uploader: Comp<UploaderProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { aspectRatio, className, label, icon, size, theme, variant, ...forwardedProps } = props;\n // Adjust to square aspect ratio when using circle variants.\n const adjustedAspectRatio = variant === UploaderVariant.circle ? AspectRatio.square : aspectRatio;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n aspectRatio: adjustedAspectRatio,\n prefix: CLASSNAME,\n size,\n theme,\n variant,\n }),\n )}\n >\n <div className={`${CLASSNAME}__background`} />\n\n <div className={`${CLASSNAME}__wrapper`}>\n {icon && (\n <div className={`${CLASSNAME}__icon`}>\n <Icon icon={icon} size={Size.s} />\n </div>\n )}\n\n {label && <span className={`${CLASSNAME}__label`}>{label}</span>}\n </div>\n </div>\n );\n});\nUploader.displayName = COMPONENT_NAME;\nUploader.className = CLASSNAME;\nUploader.defaultProps = DEFAULT_PROPS;\n"],"names":["UploaderVariant","square","rounded","circle","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","aspectRatio","AspectRatio","horizontal","size","Size","xl","theme","Theme","light","variant","Uploader","forwardRef","props","ref","className","label","icon","forwardedProps","adjustedAspectRatio","classNames","handleBasicClasses","prefix","s","displayName","defaultProps"],"mappings":";;;;;;AAOA;;;;IAGaA,eAAe,GAAG;AAC3BC,EAAAA,MAAM,EAAE,QADmB;AAE3BC,EAAAA,OAAO,EAAE,SAFkB;AAG3BC,EAAAA,MAAM,EAAE;AAHmB;;AAgC/B;;;AAGA,IAAMC,cAAc,GAAG,UAAvB;AAEA;;;;AAGA,IAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAD,CAAlC;AAEA;;;;AAGA,IAAMG,aAAqC,GAAG;AAC1CC,EAAAA,WAAW,EAAEC,WAAW,CAACC,UADiB;AAE1CC,EAAAA,IAAI,EAAEC,IAAI,CAACC,EAF+B;AAG1CC,EAAAA,KAAK,EAAEC,KAAK,CAACC,KAH6B;AAI1CC,EAAAA,OAAO,EAAEjB,eAAe,CAACC;AAJiB,CAA9C;AAOA;;;;;;;;IAOaiB,QAA6C,GAAGC,UAAU,CAAC,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA,MAC5Eb,WAD4E,GACKY,KADL,CAC5EZ,WAD4E;AAAA,MAC/Dc,SAD+D,GACKF,KADL,CAC/DE,SAD+D;AAAA,MACpDC,KADoD,GACKH,KADL,CACpDG,KADoD;AAAA,MAC7CC,IAD6C,GACKJ,KADL,CAC7CI,IAD6C;AAAA,MACvCb,IADuC,GACKS,KADL,CACvCT,IADuC;AAAA,MACjCG,KADiC,GACKM,KADL,CACjCN,KADiC;AAAA,MAC1BG,OAD0B,GACKG,KADL,CAC1BH,OAD0B;AAAA,MACdQ,cADc,4BACKL,KADL;;;AAGpF,MAAMM,mBAAmB,GAAGT,OAAO,KAAKjB,eAAe,CAACG,MAA5B,GAAqCM,WAAW,CAACR,MAAjD,GAA0DO,WAAtF;AAEA,SACI;AACI,IAAA,GAAG,EAAEa;AADT,KAEQI,cAFR;AAGI,IAAA,SAAS,EAAEE,UAAU,CACjBL,SADiB,EAEjBM,kBAAkB,CAAC;AACfpB,MAAAA,WAAW,EAAEkB,mBADE;AAEfG,MAAAA,MAAM,EAAExB,SAFO;AAGfM,MAAAA,IAAI,EAAJA,IAHe;AAIfG,MAAAA,KAAK,EAALA,KAJe;AAKfG,MAAAA,OAAO,EAAPA;AALe,KAAD,CAFD;AAHzB,MAcI;AAAK,IAAA,SAAS,YAAKZ,SAAL;AAAd,IAdJ,EAgBI;AAAK,IAAA,SAAS,YAAKA,SAAL;AAAd,KACKmB,IAAI,IACD;AAAK,IAAA,SAAS,YAAKnB,SAAL;AAAd,KACI,oBAAC,IAAD;AAAM,IAAA,IAAI,EAAEmB,IAAZ;AAAkB,IAAA,IAAI,EAAEZ,IAAI,CAACkB;AAA7B,IADJ,CAFR,EAOKP,KAAK,IAAI;AAAM,IAAA,SAAS,YAAKlB,SAAL;AAAf,KAAyCkB,KAAzC,CAPd,CAhBJ,CADJ;AA4BH,CAjCsE;AAkCvEL,QAAQ,CAACa,WAAT,GAAuB3B,cAAvB;AACAc,QAAQ,CAACI,SAAT,GAAqBjB,SAArB;AACAa,QAAQ,CAACc,YAAT,GAAwBzB,aAAxB;;;;"}
@@ -1,6 +1,7 @@
1
+ import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBabelHelpers.js';
1
2
  import { Size, Orientation, Theme } from './components.js';
2
- import { g as getRootClassName, a as _objectWithoutProperties, b as _extends, d as classnames, h as handleBasicClasses } from './getRootClassName.js';
3
3
  import React, { forwardRef } from 'react';
4
+ import { g as getRootClassName, c as classnames, h as handleBasicClasses } from './getRootClassName.js';
4
5
  import { A as Avatar } from './Avatar2.js';
5
6
 
6
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"UserBlock.js","sources":["../../../src/components/user-block/UserBlock.tsx"],"sourcesContent":["import React, { forwardRef, ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Avatar, Orientation, Size, Theme } from '@lumx/react';\n\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses } from '@lumx/react/utils';\nimport { AvatarProps } from '../avatar/Avatar';\n\n/**\n * User block sizes.\n */\nexport type UserBlockSize = Extract<Size, 's' | 'm' | 'l'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface UserBlockProps extends GenericProps {\n /** Props to pass to the avatar. */\n avatarProps?: AvatarProps;\n /** Simple action toolbar content. */\n simpleAction?: ReactNode;\n /** Multiple action toolbar content. */\n multipleActions?: ReactNode;\n /** Additional fields used to describe the user. */\n fields?: string[];\n /** User name. */\n name?: string;\n /** Orientation. */\n orientation?: Orientation;\n /** Size variant. */\n size?: UserBlockSize;\n /** Theme adapting the component to light or dark background. */\n theme?: Theme;\n /** On click callback. */\n onClick?(): void;\n /** On mouse enter callback. */\n onMouseEnter?(): void;\n /** On mouse leave callback. */\n onMouseLeave?(): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'UserBlock';\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<UserBlockProps> = {\n orientation: Orientation.horizontal,\n size: Size.m,\n theme: Theme.light,\n};\n\n/**\n * UserBlock component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const UserBlock: Comp<UserBlockProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n avatarProps,\n className,\n fields,\n multipleActions,\n name,\n onClick,\n onMouseEnter,\n onMouseLeave,\n orientation,\n simpleAction,\n size,\n theme,\n ...forwardedProps\n } = props;\n let componentSize = size;\n\n // Special case - When using vertical orientation force the size to be Sizes.l.\n if (orientation === Orientation.vertical) {\n componentSize = Size.l;\n }\n\n const shouldDisplayActions: boolean = orientation === Orientation.vertical;\n\n const nameBlock: ReactNode = name && (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-noninteractive-tabindex,jsx-a11y/no-static-element-interactions\n <span className={`${CLASSNAME}__name`} onClick={onClick} tabIndex={onClick ? 0 : -1}>\n {name}\n </span>\n );\n\n const fieldsBlock: ReactNode = fields && componentSize !== Size.s && (\n <div className={`${CLASSNAME}__fields`}>\n {fields.map((aField: string, idx: number) => (\n <span key={idx} className={`${CLASSNAME}__field`}>\n {aField}\n </span>\n ))}\n </div>\n );\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({ prefix: CLASSNAME, orientation, size: componentSize, theme }),\n )}\n onMouseLeave={onMouseLeave}\n onMouseEnter={onMouseEnter}\n >\n {avatarProps && (\n <div className={`${CLASSNAME}__avatar`}>\n <Avatar\n {...avatarProps}\n size={componentSize}\n onClick={onClick}\n tabIndex={onClick ? 0 : -1}\n theme={theme}\n />\n </div>\n )}\n {(fields || name) && (\n <div className={`${CLASSNAME}__wrapper`}>\n {nameBlock}\n {fieldsBlock}\n </div>\n )}\n {shouldDisplayActions && simpleAction && <div className={`${CLASSNAME}__action`}>{simpleAction}</div>}\n {shouldDisplayActions && multipleActions && (\n <div className={`${CLASSNAME}__actions`}>{multipleActions}</div>\n )}\n </div>\n );\n});\nUserBlock.displayName = COMPONENT_NAME;\nUserBlock.className = CLASSNAME;\nUserBlock.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","orientation","Orientation","horizontal","size","Size","m","theme","Theme","light","UserBlock","forwardRef","props","ref","avatarProps","className","fields","multipleActions","name","onClick","onMouseEnter","onMouseLeave","simpleAction","forwardedProps","componentSize","vertical","l","shouldDisplayActions","nameBlock","fieldsBlock","s","map","aField","idx","classNames","handleBasicClasses","prefix","displayName","defaultProps"],"mappings":";;;;;AA0CA;;;AAGA,IAAMA,cAAc,GAAG,WAAvB;AAEA;;;;AAGA,IAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAD,CAAlC;AAEA;;;;AAGA,IAAMG,aAAsC,GAAG;AAC3CC,EAAAA,WAAW,EAAEC,WAAW,CAACC,UADkB;AAE3CC,EAAAA,IAAI,EAAEC,IAAI,CAACC,CAFgC;AAG3CC,EAAAA,KAAK,EAAEC,KAAK,CAACC;AAH8B,CAA/C;AAMA;;;;;;;;IAOaC,SAA+C,GAAGC,UAAU,CAAC,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA,MAElFC,WAFkF,GAelFF,KAfkF,CAElFE,WAFkF;AAAA,MAGlFC,SAHkF,GAelFH,KAfkF,CAGlFG,SAHkF;AAAA,MAIlFC,MAJkF,GAelFJ,KAfkF,CAIlFI,MAJkF;AAAA,MAKlFC,eALkF,GAelFL,KAfkF,CAKlFK,eALkF;AAAA,MAMlFC,IANkF,GAelFN,KAfkF,CAMlFM,IANkF;AAAA,MAOlFC,OAPkF,GAelFP,KAfkF,CAOlFO,OAPkF;AAAA,MAQlFC,YARkF,GAelFR,KAfkF,CAQlFQ,YARkF;AAAA,MASlFC,YATkF,GAelFT,KAfkF,CASlFS,YATkF;AAAA,MAUlFpB,WAVkF,GAelFW,KAfkF,CAUlFX,WAVkF;AAAA,MAWlFqB,YAXkF,GAelFV,KAfkF,CAWlFU,YAXkF;AAAA,MAYlFlB,IAZkF,GAelFQ,KAfkF,CAYlFR,IAZkF;AAAA,MAalFG,KAbkF,GAelFK,KAfkF,CAalFL,KAbkF;AAAA,MAc/EgB,cAd+E,4BAelFX,KAfkF;;AAgBtF,MAAIY,aAAa,GAAGpB,IAApB,CAhBsF;;AAmBtF,MAAIH,WAAW,KAAKC,WAAW,CAACuB,QAAhC,EAA0C;AACtCD,IAAAA,aAAa,GAAGnB,IAAI,CAACqB,CAArB;AACH;;AAED,MAAMC,oBAA6B,GAAG1B,WAAW,KAAKC,WAAW,CAACuB,QAAlE;AAEA,MAAMG,SAAoB,GAAGV,IAAI;AAE7B;AAAM,IAAA,SAAS,YAAKpB,SAAL,WAAf;AAAuC,IAAA,OAAO,EAAEqB,OAAhD;AAAyD,IAAA,QAAQ,EAAEA,OAAO,GAAG,CAAH,GAAO,CAAC;AAAlF,KACKD,IADL,CAFJ;AAOA,MAAMW,WAAsB,GAAGb,MAAM,IAAIQ,aAAa,KAAKnB,IAAI,CAACyB,CAAjC,IAC3B;AAAK,IAAA,SAAS,YAAKhC,SAAL;AAAd,KACKkB,MAAM,CAACe,GAAP,CAAW,UAACC,MAAD,EAAiBC,GAAjB;AAAA,WACR;AAAM,MAAA,GAAG,EAAEA,GAAX;AAAgB,MAAA,SAAS,YAAKnC,SAAL;AAAzB,OACKkC,MADL,CADQ;AAAA,GAAX,CADL,CADJ;AAUA,SACI;AACI,IAAA,GAAG,EAAEnB;AADT,KAEQU,cAFR;AAGI,IAAA,SAAS,EAAEW,UAAU,CACjBnB,SADiB,EAEjBoB,kBAAkB,CAAC;AAAEC,MAAAA,MAAM,EAAEtC,SAAV;AAAqBG,MAAAA,WAAW,EAAXA,WAArB;AAAkCG,MAAAA,IAAI,EAAEoB,aAAxC;AAAuDjB,MAAAA,KAAK,EAALA;AAAvD,KAAD,CAFD,CAHzB;AAOI,IAAA,YAAY,EAAEc,YAPlB;AAQI,IAAA,YAAY,EAAED;AARlB,MAUKN,WAAW,IACR;AAAK,IAAA,SAAS,YAAKhB,SAAL;AAAd,KACI,oBAAC,MAAD,eACQgB,WADR;AAEI,IAAA,IAAI,EAAEU,aAFV;AAGI,IAAA,OAAO,EAAEL,OAHb;AAII,IAAA,QAAQ,EAAEA,OAAO,GAAG,CAAH,GAAO,CAAC,CAJ7B;AAKI,IAAA,KAAK,EAAEZ;AALX,KADJ,CAXR,EAqBK,CAACS,MAAM,IAAIE,IAAX,KACG;AAAK,IAAA,SAAS,YAAKpB,SAAL;AAAd,KACK8B,SADL,EAEKC,WAFL,CAtBR,EA2BKF,oBAAoB,IAAIL,YAAxB,IAAwC;AAAK,IAAA,SAAS,YAAKxB,SAAL;AAAd,KAAyCwB,YAAzC,CA3B7C,EA4BKK,oBAAoB,IAAIV,eAAxB,IACG;AAAK,IAAA,SAAS,YAAKnB,SAAL;AAAd,KAA0CmB,eAA1C,CA7BR,CADJ;AAkCH,CA5EwE;AA6EzEP,SAAS,CAAC2B,WAAV,GAAwBxC,cAAxB;AACAa,SAAS,CAACK,SAAV,GAAsBjB,SAAtB;AACAY,SAAS,CAAC4B,YAAV,GAAyBtC,aAAzB;;;;"}
1
+ {"version":3,"file":"UserBlock.js","sources":["../../../src/components/user-block/UserBlock.tsx"],"sourcesContent":["import React, { forwardRef, ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Avatar, Orientation, Size, Theme } from '@lumx/react';\n\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses } from '@lumx/react/utils';\nimport { AvatarProps } from '../avatar/Avatar';\n\n/**\n * User block sizes.\n */\nexport type UserBlockSize = Extract<Size, 's' | 'm' | 'l'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface UserBlockProps extends GenericProps {\n /** Props to pass to the avatar. */\n avatarProps?: AvatarProps;\n /** Simple action toolbar content. */\n simpleAction?: ReactNode;\n /** Multiple action toolbar content. */\n multipleActions?: ReactNode;\n /** Additional fields used to describe the user. */\n fields?: string[];\n /** User name. */\n name?: string;\n /** Orientation. */\n orientation?: Orientation;\n /** Size variant. */\n size?: UserBlockSize;\n /** Theme adapting the component to light or dark background. */\n theme?: Theme;\n /** On click callback. */\n onClick?(): void;\n /** On mouse enter callback. */\n onMouseEnter?(): void;\n /** On mouse leave callback. */\n onMouseLeave?(): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'UserBlock';\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<UserBlockProps> = {\n orientation: Orientation.horizontal,\n size: Size.m,\n theme: Theme.light,\n};\n\n/**\n * UserBlock component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const UserBlock: Comp<UserBlockProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n avatarProps,\n className,\n fields,\n multipleActions,\n name,\n onClick,\n onMouseEnter,\n onMouseLeave,\n orientation,\n simpleAction,\n size,\n theme,\n ...forwardedProps\n } = props;\n let componentSize = size;\n\n // Special case - When using vertical orientation force the size to be Sizes.l.\n if (orientation === Orientation.vertical) {\n componentSize = Size.l;\n }\n\n const shouldDisplayActions: boolean = orientation === Orientation.vertical;\n\n const nameBlock: ReactNode = name && (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-noninteractive-tabindex,jsx-a11y/no-static-element-interactions\n <span className={`${CLASSNAME}__name`} onClick={onClick} tabIndex={onClick ? 0 : -1}>\n {name}\n </span>\n );\n\n const fieldsBlock: ReactNode = fields && componentSize !== Size.s && (\n <div className={`${CLASSNAME}__fields`}>\n {fields.map((aField: string, idx: number) => (\n <span key={idx} className={`${CLASSNAME}__field`}>\n {aField}\n </span>\n ))}\n </div>\n );\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({ prefix: CLASSNAME, orientation, size: componentSize, theme }),\n )}\n onMouseLeave={onMouseLeave}\n onMouseEnter={onMouseEnter}\n >\n {avatarProps && (\n <div className={`${CLASSNAME}__avatar`}>\n <Avatar\n {...avatarProps}\n size={componentSize}\n onClick={onClick}\n tabIndex={onClick ? 0 : -1}\n theme={theme}\n />\n </div>\n )}\n {(fields || name) && (\n <div className={`${CLASSNAME}__wrapper`}>\n {nameBlock}\n {fieldsBlock}\n </div>\n )}\n {shouldDisplayActions && simpleAction && <div className={`${CLASSNAME}__action`}>{simpleAction}</div>}\n {shouldDisplayActions && multipleActions && (\n <div className={`${CLASSNAME}__actions`}>{multipleActions}</div>\n )}\n </div>\n );\n});\nUserBlock.displayName = COMPONENT_NAME;\nUserBlock.className = CLASSNAME;\nUserBlock.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","orientation","Orientation","horizontal","size","Size","m","theme","Theme","light","UserBlock","forwardRef","props","ref","avatarProps","className","fields","multipleActions","name","onClick","onMouseEnter","onMouseLeave","simpleAction","forwardedProps","componentSize","vertical","l","shouldDisplayActions","nameBlock","fieldsBlock","s","map","aField","idx","classNames","handleBasicClasses","prefix","displayName","defaultProps"],"mappings":"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"}
@@ -0,0 +1,167 @@
1
+ function _defineProperty(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+
13
+ return obj;
14
+ }
15
+
16
+ function _extends() {
17
+ _extends = Object.assign || function (target) {
18
+ for (var i = 1; i < arguments.length; i++) {
19
+ var source = arguments[i];
20
+
21
+ for (var key in source) {
22
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
23
+ target[key] = source[key];
24
+ }
25
+ }
26
+ }
27
+
28
+ return target;
29
+ };
30
+
31
+ return _extends.apply(this, arguments);
32
+ }
33
+
34
+ function ownKeys(object, enumerableOnly) {
35
+ var keys = Object.keys(object);
36
+
37
+ if (Object.getOwnPropertySymbols) {
38
+ var symbols = Object.getOwnPropertySymbols(object);
39
+ if (enumerableOnly) symbols = symbols.filter(function (sym) {
40
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
41
+ });
42
+ keys.push.apply(keys, symbols);
43
+ }
44
+
45
+ return keys;
46
+ }
47
+
48
+ function _objectSpread2(target) {
49
+ for (var i = 1; i < arguments.length; i++) {
50
+ var source = arguments[i] != null ? arguments[i] : {};
51
+
52
+ if (i % 2) {
53
+ ownKeys(Object(source), true).forEach(function (key) {
54
+ _defineProperty(target, key, source[key]);
55
+ });
56
+ } else if (Object.getOwnPropertyDescriptors) {
57
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
58
+ } else {
59
+ ownKeys(Object(source)).forEach(function (key) {
60
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
61
+ });
62
+ }
63
+ }
64
+
65
+ return target;
66
+ }
67
+
68
+ function _objectWithoutPropertiesLoose(source, excluded) {
69
+ if (source == null) return {};
70
+ var target = {};
71
+ var sourceKeys = Object.keys(source);
72
+ var key, i;
73
+
74
+ for (i = 0; i < sourceKeys.length; i++) {
75
+ key = sourceKeys[i];
76
+ if (excluded.indexOf(key) >= 0) continue;
77
+ target[key] = source[key];
78
+ }
79
+
80
+ return target;
81
+ }
82
+
83
+ function _objectWithoutProperties(source, excluded) {
84
+ if (source == null) return {};
85
+
86
+ var target = _objectWithoutPropertiesLoose(source, excluded);
87
+
88
+ var key, i;
89
+
90
+ if (Object.getOwnPropertySymbols) {
91
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
92
+
93
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
94
+ key = sourceSymbolKeys[i];
95
+ if (excluded.indexOf(key) >= 0) continue;
96
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
97
+ target[key] = source[key];
98
+ }
99
+ }
100
+
101
+ return target;
102
+ }
103
+
104
+ function _slicedToArray(arr, i) {
105
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
106
+ }
107
+
108
+ function _toConsumableArray(arr) {
109
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();
110
+ }
111
+
112
+ function _arrayWithoutHoles(arr) {
113
+ if (Array.isArray(arr)) {
114
+ for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
115
+
116
+ return arr2;
117
+ }
118
+ }
119
+
120
+ function _arrayWithHoles(arr) {
121
+ if (Array.isArray(arr)) return arr;
122
+ }
123
+
124
+ function _iterableToArray(iter) {
125
+ if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
126
+ }
127
+
128
+ function _iterableToArrayLimit(arr, i) {
129
+ if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) {
130
+ return;
131
+ }
132
+
133
+ var _arr = [];
134
+ var _n = true;
135
+ var _d = false;
136
+ var _e = undefined;
137
+
138
+ try {
139
+ for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
140
+ _arr.push(_s.value);
141
+
142
+ if (i && _arr.length === i) break;
143
+ }
144
+ } catch (err) {
145
+ _d = true;
146
+ _e = err;
147
+ } finally {
148
+ try {
149
+ if (!_n && _i["return"] != null) _i["return"]();
150
+ } finally {
151
+ if (_d) throw _e;
152
+ }
153
+ }
154
+
155
+ return _arr;
156
+ }
157
+
158
+ function _nonIterableSpread() {
159
+ throw new TypeError("Invalid attempt to spread non-iterable instance");
160
+ }
161
+
162
+ function _nonIterableRest() {
163
+ throw new TypeError("Invalid attempt to destructure non-iterable instance");
164
+ }
165
+
166
+ export { _objectSpread2 as _, _defineProperty as a, _objectWithoutProperties as b, _extends as c, _slicedToArray as d, _toConsumableArray as e };
167
+ //# sourceMappingURL=_rollupPluginBabelHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_rollupPluginBabelHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,7 @@
1
+ import './_rollupPluginBabelHelpers.js';
1
2
  import './components.js';
2
- import './getRootClassName.js';
3
3
  import 'react';
4
+ import './getRootClassName.js';
4
5
  import './mdi.js';
5
6
  import '../index2.js';
6
7
  import 'lodash/isBoolean';
@@ -17,6 +18,7 @@ import './partitionMulti.js';
17
18
  import 'lodash/get';
18
19
  import './type.js';
19
20
  export { A as AlertDialog } from './AlertDialog.js';
21
+ import './mergeRefs.js';
20
22
  import './renderLink.js';
21
23
  import './ButtonRoot.js';
22
24
  import './Button2.js';
@@ -1 +1 @@
1
- {"version":3,"file":"alert-dialog.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"alert-dialog.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,7 @@
1
+ import './_rollupPluginBabelHelpers.js';
1
2
  import './components.js';
2
- import './getRootClassName.js';
3
3
  import 'react';
4
+ import './getRootClassName.js';
4
5
  import './mdi.js';
5
6
  import '../index2.js';
6
7
  import 'lodash/isBoolean';
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"autocomplete.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,7 @@
1
+ import './_rollupPluginBabelHelpers.js';
1
2
  import './components.js';
2
- import './getRootClassName.js';
3
3
  import 'react';
4
+ import './getRootClassName.js';
4
5
  import './mdi.js';
5
6
  import 'lodash/isBoolean';
6
7
  import 'lodash/isEmpty';
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"avatar.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
@@ -1,6 +1,7 @@
1
+ import './_rollupPluginBabelHelpers.js';
1
2
  import './components.js';
2
- import './getRootClassName.js';
3
3
  import 'react';
4
+ import './getRootClassName.js';
4
5
  import 'lodash/isBoolean';
5
6
  import 'lodash/isEmpty';
6
7
  import 'lodash/kebabCase';
@@ -1 +1 @@
1
- {"version":3,"file":"badge.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
1
+ {"version":3,"file":"badge.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,6 +1,7 @@
1
+ import './_rollupPluginBabelHelpers.js';
1
2
  import './components.js';
2
- import './getRootClassName.js';
3
3
  import 'react';
4
+ import './getRootClassName.js';
4
5
  import '../index2.js';
5
6
  import 'lodash/isBoolean';
6
7
  import 'lodash/isEmpty';
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"button.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,7 @@
1
+ import './_rollupPluginBabelHelpers.js';
1
2
  import './components.js';
2
- import './getRootClassName.js';
3
3
  import 'react';
4
+ import './getRootClassName.js';
4
5
  import './mdi.js';
5
6
  import '../index2.js';
6
7
  import 'lodash/isBoolean';
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"checkbox.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -1,6 +1,7 @@
1
+ import './_rollupPluginBabelHelpers.js';
1
2
  import './components.js';
2
- import './getRootClassName.js';
3
3
  import 'react';
4
+ import './getRootClassName.js';
4
5
  import 'lodash/isBoolean';
5
6
  import 'lodash/isEmpty';
6
7
  import 'lodash/kebabCase';
@@ -1 +1 @@
1
- {"version":3,"file":"chip.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
1
+ {"version":3,"file":"chip.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1,6 +1,7 @@
1
+ import './_rollupPluginBabelHelpers.js';
1
2
  import './components.js';
2
- import './getRootClassName.js';
3
3
  import 'react';
4
+ import './getRootClassName.js';
4
5
  import './mdi.js';
5
6
  import 'lodash/isBoolean';
6
7
  import 'lodash/isEmpty';
@@ -1 +1 @@
1
- {"version":3,"file":"comment-block.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"comment-block.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
@@ -1,3 +1,5 @@
1
+ import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers.js';
2
+
1
3
  /**
2
4
  * Alignments.
3
5
  */
@@ -70,9 +72,9 @@ var Emphasis = {
70
72
  };
71
73
 
72
74
  /**
73
- * List of typographies.
75
+ * List of typographies that can't be customized.
74
76
  */
75
- var Typography = {
77
+ var TypographyInterface = {
76
78
  overline: 'overline',
77
79
  caption: 'caption',
78
80
  body1: 'body1',
@@ -84,14 +86,57 @@ var Typography = {
84
86
  display1: 'display1'
85
87
  };
86
88
 
89
+ /**
90
+ * List of title typographies that can be customized (via CSS variables).
91
+ */
92
+ var TypographyTitleCustom = {
93
+ title1: 'custom-title1',
94
+ title2: 'custom-title2',
95
+ title3: 'custom-title3',
96
+ title4: 'custom-title4',
97
+ title5: 'custom-title5',
98
+ title6: 'custom-title6'
99
+ };
100
+
101
+ /**
102
+ * List of typographies that can be customized (via CSS variables).
103
+ */
104
+ var TypographyCustom = _objectSpread2({}, TypographyTitleCustom, {
105
+ intro: 'intro',
106
+ 'body-large': 'body-large',
107
+ body: 'body',
108
+ quote: 'quote',
109
+ 'publish-info': 'publish-info',
110
+ button: 'button'
111
+ });
112
+
113
+ /**
114
+ * List of all typographies.
115
+ */
116
+ var Typography = _objectSpread2({}, TypographyInterface, {
117
+ custom: TypographyCustom
118
+ });
119
+
87
120
  /**
88
121
  * All available aspect ratios.
89
122
  */
90
123
  var AspectRatio = {
124
+ /** Intrinsic content ratio. */
91
125
  original: 'original',
126
+
127
+ /** Ratio 16:9 */
128
+ wide: 'wide',
129
+
130
+ /** Ratio 3:2 */
92
131
  horizontal: 'horizontal',
132
+
133
+ /** Ratio 3:2 */
93
134
  vertical: 'vertical',
135
+
136
+ /** Ratio 1:1 */
94
137
  square: 'square',
138
+
139
+ /** Ratio constrained by the parent. */
95
140
  free: 'free'
96
141
  };
97
142
 
@@ -105,5 +150,5 @@ var Kind = {
105
150
  error: 'error'
106
151
  };
107
152
 
108
- export { Alignment, AspectRatio, ColorPalette, ColorVariant, Emphasis, Kind, Orientation, Size, Theme, Typography };
153
+ export { Alignment, AspectRatio, ColorPalette, ColorVariant, Emphasis, Kind, Orientation, Size, Theme, Typography, TypographyInterface, TypographyTitleCustom };
109
154
  //# sourceMappingURL=components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sources":["../../../src/components/index.ts"],"sourcesContent":["import { ValueOf } from '@lumx/react/utils';\n\n/**\n * Alignments.\n */\nexport const Alignment = {\n bottom: 'bottom',\n center: 'center',\n end: 'end',\n left: 'left',\n right: 'right',\n spaceAround: 'space-around',\n spaceBetween: 'space-between',\n start: 'start',\n top: 'top',\n} as const;\nexport type Alignment = ValueOf<typeof Alignment>;\nexport type VerticalAlignment = Extract<Alignment, 'top' | 'center' | 'bottom'>;\nexport type HorizontalAlignment = Extract<Alignment, 'right' | 'center' | 'left'>;\n\n/**\n * See SCSS variable $lumx-color-palette\n */\nexport const ColorPalette = {\n primary: 'primary',\n secondary: 'secondary',\n blue: 'blue',\n dark: 'dark',\n green: 'green',\n yellow: 'yellow',\n red: 'red',\n light: 'light',\n grey: 'grey',\n} as const;\nexport type ColorPalette = ValueOf<typeof ColorPalette>;\nexport type Color = ColorPalette | string;\n\n/**\n * See SCSS variable $lumx-color-variants\n */\nexport const ColorVariant = {\n D1: 'D1',\n D2: 'D2',\n L1: 'L1',\n L2: 'L2',\n L3: 'L3',\n L4: 'L4',\n L5: 'L5',\n L6: 'L6',\n N: 'N',\n} as const;\nexport type ColorVariant = ValueOf<typeof ColorVariant>;\n\nexport const Theme = {\n light: 'light',\n dark: 'dark',\n} as const;\nexport type Theme = ValueOf<typeof Theme>;\n\nexport const Size = {\n xxs: 'xxs',\n xs: 'xs',\n s: 's',\n m: 'm',\n l: 'l',\n xl: 'xl',\n xxl: 'xxl',\n tiny: 'tiny',\n regular: 'regular',\n big: 'big',\n huge: 'huge',\n} as const;\nexport type Size = ValueOf<typeof Size>;\nexport type GlobalSize = Extract<Size, 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'>;\n\nexport const Orientation = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n} as const;\nexport type Orientation = ValueOf<typeof Orientation>;\n\nexport const Emphasis = {\n low: 'low',\n medium: 'medium',\n high: 'high',\n} as const;\nexport type Emphasis = ValueOf<typeof Emphasis>;\n\n/**\n * List of typographies.\n */\nexport const Typography = {\n overline: 'overline',\n caption: 'caption',\n body1: 'body1',\n body2: 'body2',\n subtitle1: 'subtitle1',\n subtitle2: 'subtitle2',\n title: 'title',\n headline: 'headline',\n display1: 'display1',\n} as const;\nexport type Typography = ValueOf<typeof Typography>;\n\n/**\n * All available aspect ratios.\n */\nexport const AspectRatio = {\n original: 'original',\n horizontal: 'horizontal',\n vertical: 'vertical',\n square: 'square',\n free: 'free',\n} as const;\nexport type AspectRatio = ValueOf<typeof AspectRatio>;\n\n/**\n * Semantic info about the purpose of the component\n */\nexport const Kind = {\n info: 'info',\n success: 'success',\n warning: 'warning',\n error: 'error',\n} as const;\nexport type Kind = ValueOf<typeof Kind>;\n"],"names":["Alignment","bottom","center","end","left","right","spaceAround","spaceBetween","start","top","ColorPalette","primary","secondary","blue","dark","green","yellow","red","light","grey","ColorVariant","D1","D2","L1","L2","L3","L4","L5","L6","N","Theme","Size","xxs","xs","s","m","l","xl","xxl","tiny","regular","big","huge","Orientation","horizontal","vertical","Emphasis","low","medium","high","Typography","overline","caption","body1","body2","subtitle1","subtitle2","title","headline","display1","AspectRatio","original","square","free","Kind","info","success","warning","error"],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sources":["../../../src/components/index.ts"],"sourcesContent":["import { ValueOf } from '@lumx/react/utils';\n\n/**\n * Alignments.\n */\nexport const Alignment = {\n bottom: 'bottom',\n center: 'center',\n end: 'end',\n left: 'left',\n right: 'right',\n spaceAround: 'space-around',\n spaceBetween: 'space-between',\n start: 'start',\n top: 'top',\n} as const;\nexport type Alignment = ValueOf<typeof Alignment>;\nexport type VerticalAlignment = Extract<Alignment, 'top' | 'center' | 'bottom'>;\nexport type HorizontalAlignment = Extract<Alignment, 'right' | 'center' | 'left'>;\n\n/**\n * See SCSS variable $lumx-color-palette\n */\nexport const ColorPalette = {\n primary: 'primary',\n secondary: 'secondary',\n blue: 'blue',\n dark: 'dark',\n green: 'green',\n yellow: 'yellow',\n red: 'red',\n light: 'light',\n grey: 'grey',\n} as const;\nexport type ColorPalette = ValueOf<typeof ColorPalette>;\nexport type Color = ColorPalette | string;\n\n/**\n * See SCSS variable $lumx-color-variants\n */\nexport const ColorVariant = {\n D1: 'D1',\n D2: 'D2',\n L1: 'L1',\n L2: 'L2',\n L3: 'L3',\n L4: 'L4',\n L5: 'L5',\n L6: 'L6',\n N: 'N',\n} as const;\nexport type ColorVariant = ValueOf<typeof ColorVariant>;\n\nexport const Theme = {\n light: 'light',\n dark: 'dark',\n} as const;\nexport type Theme = ValueOf<typeof Theme>;\n\nexport const Size = {\n xxs: 'xxs',\n xs: 'xs',\n s: 's',\n m: 'm',\n l: 'l',\n xl: 'xl',\n xxl: 'xxl',\n tiny: 'tiny',\n regular: 'regular',\n big: 'big',\n huge: 'huge',\n} as const;\nexport type Size = ValueOf<typeof Size>;\nexport type GlobalSize = Extract<Size, 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'>;\n\nexport const Orientation = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n} as const;\nexport type Orientation = ValueOf<typeof Orientation>;\n\nexport const Emphasis = {\n low: 'low',\n medium: 'medium',\n high: 'high',\n} as const;\nexport type Emphasis = ValueOf<typeof Emphasis>;\n\n/**\n * List of typographies that can't be customized.\n */\nexport const TypographyInterface = {\n overline: 'overline',\n caption: 'caption',\n body1: 'body1',\n body2: 'body2',\n subtitle1: 'subtitle1',\n subtitle2: 'subtitle2',\n title: 'title',\n headline: 'headline',\n display1: 'display1',\n} as const;\nexport type TypographyInterface = ValueOf<typeof TypographyInterface>;\n\n/**\n * List of title typographies that can be customized (via CSS variables).\n */\nexport const TypographyTitleCustom = {\n title1: 'custom-title1',\n title2: 'custom-title2',\n title3: 'custom-title3',\n title4: 'custom-title4',\n title5: 'custom-title5',\n title6: 'custom-title6',\n} as const;\nexport type TypographyTitleCustom = ValueOf<typeof TypographyTitleCustom>;\n\n/**\n * List of typographies that can be customized (via CSS variables).\n */\nconst TypographyCustom = {\n ...TypographyTitleCustom,\n intro: 'intro',\n 'body-large': 'body-large',\n body: 'body',\n quote: 'quote',\n 'publish-info': 'publish-info',\n button: 'button',\n} as const;\nexport type TypographyCustom = ValueOf<typeof TypographyCustom>;\n\n/**\n * List of all typographies.\n */\nexport const Typography = {\n ...TypographyInterface,\n custom: TypographyCustom,\n} as const;\nexport type Typography = TypographyInterface | TypographyCustom;\n\n/**\n * All available aspect ratios.\n */\nexport const AspectRatio = {\n /** Intrinsic content ratio. */\n original: 'original',\n /** Ratio 16:9 */\n wide: 'wide',\n /** Ratio 3:2 */\n horizontal: 'horizontal',\n /** Ratio 3:2 */\n vertical: 'vertical',\n /** Ratio 1:1 */\n square: 'square',\n /** Ratio constrained by the parent. */\n free: 'free',\n} as const;\nexport type AspectRatio = ValueOf<typeof AspectRatio>;\n\n/**\n * Semantic info about the purpose of the component\n */\nexport const Kind = {\n info: 'info',\n success: 'success',\n warning: 'warning',\n error: 'error',\n} as const;\nexport type Kind = ValueOf<typeof Kind>;\n"],"names":["Alignment","bottom","center","end","left","right","spaceAround","spaceBetween","start","top","ColorPalette","primary","secondary","blue","dark","green","yellow","red","light","grey","ColorVariant","D1","D2","L1","L2","L3","L4","L5","L6","N","Theme","Size","xxs","xs","s","m","l","xl","xxl","tiny","regular","big","huge","Orientation","horizontal","vertical","Emphasis","low","medium","high","TypographyInterface","overline","caption","body1","body2","subtitle1","subtitle2","title","headline","display1","TypographyTitleCustom","title1","title2","title3","title4","title5","title6","TypographyCustom","intro","body","quote","button","Typography","custom","AspectRatio","original","wide","square","free","Kind","info","success","warning","error"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
+ import './_rollupPluginBabelHelpers.js';
1
2
  import './components.js';
2
- import './getRootClassName.js';
3
3
  import 'react';
4
+ import './getRootClassName.js';
4
5
  import './mdi.js';
5
6
  import '../index2.js';
6
7
  import 'lodash/isBoolean';
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"date-picker.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,7 @@
1
+ import './_rollupPluginBabelHelpers.js';
1
2
  import './components.js';
2
- import './getRootClassName.js';
3
3
  import 'react';
4
+ import './getRootClassName.js';
4
5
  import 'lodash/isBoolean';
5
6
  import 'lodash/isEmpty';
6
7
  import 'lodash/kebabCase';
@@ -14,6 +15,7 @@ import 'lodash/reduce';
14
15
  import './partitionMulti.js';
15
16
  import 'lodash/get';
16
17
  import './type.js';
18
+ import './mergeRefs.js';
17
19
  import './useFocusTrap.js';
18
20
  import 'react-dom';
19
21
  import './ClickAwayProvider.js';