@veracity/vui 1.1.3 → 1.2.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/button/button.js +1 -1
- package/dist/cjs/button/theme.d.ts +0 -12
- package/dist/cjs/button/theme.d.ts.map +1 -1
- package/dist/cjs/button/theme.js +0 -22
- package/dist/cjs/core/types.d.ts +2 -2
- package/dist/cjs/core/types.d.ts.map +1 -1
- package/dist/cjs/dialog/consts.d.ts +3 -0
- package/dist/cjs/dialog/consts.d.ts.map +1 -1
- package/dist/cjs/dialog/consts.js +4 -1
- package/dist/cjs/dialog/index.d.ts +2 -0
- package/dist/cjs/dialog/index.d.ts.map +1 -1
- package/dist/cjs/dialog/index.js +2 -0
- package/dist/cjs/dialog/showConfirm.d.ts +2 -0
- package/dist/cjs/dialog/showConfirm.d.ts.map +1 -0
- package/dist/cjs/dialog/showConfirm.js +37 -0
- package/dist/cjs/dialog/showPrompt.d.ts +2 -0
- package/dist/cjs/dialog/showPrompt.d.ts.map +1 -0
- package/dist/cjs/dialog/showPrompt.js +42 -0
- package/dist/cjs/header/header.types.d.ts +3 -9
- package/dist/cjs/header/header.types.d.ts.map +1 -1
- package/dist/cjs/header/headerLogo.d.ts +3 -3
- package/dist/cjs/header/headerLogo.d.ts.map +1 -1
- package/dist/cjs/header/headerLogo.js +4 -9
- package/dist/cjs/icons/baseIcons/cub/cubBellship.d.ts +4 -0
- package/dist/cjs/icons/baseIcons/cub/cubBellship.d.ts.map +1 -0
- package/dist/cjs/icons/baseIcons/cub/cubBellship.js +7 -0
- package/dist/cjs/icons/baseIcons/cub/cubDNV.d.ts +4 -0
- package/dist/cjs/icons/baseIcons/cub/cubDNV.d.ts.map +1 -0
- package/dist/cjs/icons/baseIcons/cub/cubDNV.js +7 -0
- package/dist/cjs/icons/baseIcons/cul/culFileDownloadAlt.d.ts +4 -0
- package/dist/cjs/icons/baseIcons/cul/culFileDownloadAlt.d.ts.map +1 -0
- package/dist/cjs/icons/baseIcons/cul/culFileDownloadAlt.js +7 -0
- package/dist/cjs/icons/baseIcons/cul/culFilterAlt.d.ts +4 -0
- package/dist/cjs/icons/baseIcons/cul/culFilterAlt.d.ts.map +1 -0
- package/dist/cjs/icons/baseIcons/cul/culFilterAlt.js +7 -0
- package/dist/cjs/icons/baseIcons/fal/falDollarSign.d.ts +4 -0
- package/dist/cjs/icons/baseIcons/fal/falDollarSign.d.ts.map +1 -0
- package/dist/cjs/icons/baseIcons/fal/falDollarSign.js +7 -0
- package/dist/cjs/icons/baseIcons/fal/falEuroSign.d.ts +4 -0
- package/dist/cjs/icons/baseIcons/fal/falEuroSign.d.ts.map +1 -0
- package/dist/cjs/icons/baseIcons/fal/falEuroSign.js +7 -0
- package/dist/cjs/icons/baseIcons/fal/falPoundSign.d.ts +4 -0
- package/dist/cjs/icons/baseIcons/fal/falPoundSign.d.ts.map +1 -0
- package/dist/cjs/icons/baseIcons/fal/falPoundSign.js +7 -0
- package/dist/cjs/icons/baseIcons/fal/falShoppingCart.d.ts +4 -0
- package/dist/cjs/icons/baseIcons/fal/falShoppingCart.d.ts.map +1 -0
- package/dist/cjs/icons/baseIcons/fal/falShoppingCart.js +7 -0
- package/dist/cjs/icons/baseIcons/fal/falUserHeadset.d.ts +4 -0
- package/dist/cjs/icons/baseIcons/fal/falUserHeadset.d.ts.map +1 -0
- package/dist/cjs/icons/baseIcons/fal/falUserHeadset.js +7 -0
- package/dist/cjs/icons/baseIcons/fas/fasChartNetwork.d.ts +4 -0
- package/dist/cjs/icons/baseIcons/fas/fasChartNetwork.d.ts.map +1 -0
- package/dist/cjs/icons/baseIcons/fas/fasChartNetwork.js +7 -0
- package/dist/cjs/icons/baseIcons/fas/fasPuzzlePiece.d.ts +4 -0
- package/dist/cjs/icons/baseIcons/fas/fasPuzzlePiece.d.ts.map +1 -0
- package/dist/cjs/icons/baseIcons/fas/fasPuzzlePiece.js +7 -0
- package/dist/cjs/icons/baseIcons/icons.d.ts +11 -0
- package/dist/cjs/icons/baseIcons/icons.d.ts.map +1 -1
- package/dist/cjs/icons/baseIcons/icons.js +29 -6
- package/dist/cjs/icons/baseIcons/types.d.ts +1 -1
- package/dist/cjs/icons/baseIcons/types.d.ts.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/input/input.js +2 -2
- package/dist/cjs/link/link.types.d.ts +2 -0
- package/dist/cjs/link/link.types.d.ts.map +1 -1
- package/dist/cjs/logo/Logo.d.ts +5 -0
- package/dist/cjs/logo/Logo.d.ts.map +1 -0
- package/dist/cjs/logo/Logo.js +34 -0
- package/dist/cjs/logo/index.d.ts +2 -0
- package/dist/cjs/logo/index.d.ts.map +1 -0
- package/dist/cjs/logo/index.js +17 -0
- package/dist/cjs/logo/logo.types.d.ts +11 -0
- package/dist/cjs/logo/logo.types.d.ts.map +1 -0
- package/dist/cjs/logo/logo.types.js +2 -0
- package/dist/cjs/modal/focusLock.d.ts +1 -1
- package/dist/cjs/modal/focusLock.d.ts.map +1 -1
- package/dist/cjs/modal/modal.types.d.ts +2 -2
- package/dist/cjs/modal/modal.types.d.ts.map +1 -1
- package/dist/cjs/modal/modalManager.d.ts.map +1 -1
- package/dist/cjs/modal/modalManager.js +3 -2
- package/dist/cjs/modal/modalStyle.js +1 -1
- package/dist/cjs/popover/popoverContent.d.ts.map +1 -1
- package/dist/cjs/popover/popoverContent.js +2 -2
- package/dist/cjs/portal/portal.d.ts +1 -1
- package/dist/cjs/portal/portal.d.ts.map +1 -1
- package/dist/cjs/table/tbody.d.ts.map +1 -1
- package/dist/cjs/table/tbody.js +1 -1
- package/dist/cjs/tabs/tabs.d.ts +2 -3
- package/dist/cjs/tabs/tabs.d.ts.map +1 -1
- package/dist/cjs/tabs/tabs.js +5 -5
- package/dist/cjs/tabs/tabs.types.d.ts +8 -4
- package/dist/cjs/tabs/tabs.types.d.ts.map +1 -1
- package/dist/cjs/tabs/tabsNavBar.d.ts.map +1 -1
- package/dist/cjs/tabs/tabsNavBar.js +13 -3
- package/dist/cjs/theme/components.d.ts +0 -11
- package/dist/cjs/theme/components.d.ts.map +1 -1
- package/dist/cjs/theme/defaultTheme.d.ts +0 -11
- package/dist/cjs/theme/defaultTheme.d.ts.map +1 -1
- package/dist/cjs/toast/Toast.d.ts.map +1 -1
- package/dist/cjs/toast/Toast.js +6 -5
- package/dist/cjs/tooltip/tooltip.d.ts.map +1 -1
- package/dist/cjs/tooltip/tooltip.js +10 -4
- package/dist/cjs/tooltip/tooltip.setup.d.ts +1 -7
- package/dist/cjs/tooltip/tooltip.setup.d.ts.map +1 -1
- package/dist/cjs/tooltip/tooltip.setup.js +4 -10
- package/dist/cjs/tooltip/tooltip.types.d.ts +10 -6
- package/dist/cjs/tooltip/tooltip.types.d.ts.map +1 -1
- package/dist/cjs/utils/dom.d.ts +4 -1
- package/dist/cjs/utils/dom.d.ts.map +1 -1
- package/dist/cjs/utils/dom.js +19 -10
- package/dist/cjs/utils/react.d.ts +3 -1
- package/dist/cjs/utils/react.d.ts.map +1 -1
- package/dist/cjs/utils/react.js +22 -1
- package/dist/esm/button/button.js +1 -1
- package/dist/esm/button/theme.d.ts +0 -12
- package/dist/esm/button/theme.d.ts.map +1 -1
- package/dist/esm/button/theme.js +0 -22
- package/dist/esm/core/types.d.ts +2 -2
- package/dist/esm/core/types.d.ts.map +1 -1
- package/dist/esm/dialog/consts.d.ts +3 -0
- package/dist/esm/dialog/consts.d.ts.map +1 -1
- package/dist/esm/dialog/consts.js +3 -0
- package/dist/esm/dialog/index.d.ts +2 -0
- package/dist/esm/dialog/index.d.ts.map +1 -1
- package/dist/esm/dialog/index.js +2 -0
- package/dist/esm/dialog/showConfirm.d.ts +2 -0
- package/dist/esm/dialog/showConfirm.d.ts.map +1 -0
- package/dist/esm/dialog/showConfirm.js +30 -0
- package/dist/esm/dialog/showPrompt.d.ts +2 -0
- package/dist/esm/dialog/showPrompt.d.ts.map +1 -0
- package/dist/esm/dialog/showPrompt.js +35 -0
- package/dist/esm/header/header.types.d.ts +3 -9
- package/dist/esm/header/header.types.d.ts.map +1 -1
- package/dist/esm/header/headerLogo.d.ts +3 -3
- package/dist/esm/header/headerLogo.d.ts.map +1 -1
- package/dist/esm/header/headerLogo.js +5 -10
- package/dist/esm/icons/baseIcons/cub/cubBellship.d.ts +4 -0
- package/dist/esm/icons/baseIcons/cub/cubBellship.d.ts.map +1 -0
- package/dist/esm/icons/baseIcons/cub/cubBellship.js +5 -0
- package/dist/esm/icons/baseIcons/cub/cubDNV.d.ts +4 -0
- package/dist/esm/icons/baseIcons/cub/cubDNV.d.ts.map +1 -0
- package/dist/esm/icons/baseIcons/cub/cubDNV.js +5 -0
- package/dist/esm/icons/baseIcons/cul/culFileDownloadAlt.d.ts +4 -0
- package/dist/esm/icons/baseIcons/cul/culFileDownloadAlt.d.ts.map +1 -0
- package/dist/esm/icons/baseIcons/cul/culFileDownloadAlt.js +5 -0
- package/dist/esm/icons/baseIcons/cul/culFilterAlt.d.ts +4 -0
- package/dist/esm/icons/baseIcons/cul/culFilterAlt.d.ts.map +1 -0
- package/dist/esm/icons/baseIcons/cul/culFilterAlt.js +5 -0
- package/dist/esm/icons/baseIcons/fal/falDollarSign.d.ts +4 -0
- package/dist/esm/icons/baseIcons/fal/falDollarSign.d.ts.map +1 -0
- package/dist/esm/icons/baseIcons/fal/falDollarSign.js +5 -0
- package/dist/esm/icons/baseIcons/fal/falEuroSign.d.ts +4 -0
- package/dist/esm/icons/baseIcons/fal/falEuroSign.d.ts.map +1 -0
- package/dist/esm/icons/baseIcons/fal/falEuroSign.js +5 -0
- package/dist/esm/icons/baseIcons/fal/falPoundSign.d.ts +4 -0
- package/dist/esm/icons/baseIcons/fal/falPoundSign.d.ts.map +1 -0
- package/dist/esm/icons/baseIcons/fal/falPoundSign.js +5 -0
- package/dist/esm/icons/baseIcons/fal/falShoppingCart.d.ts +4 -0
- package/dist/esm/icons/baseIcons/fal/falShoppingCart.d.ts.map +1 -0
- package/dist/esm/icons/baseIcons/fal/falShoppingCart.js +5 -0
- package/dist/esm/icons/baseIcons/fal/falUserHeadset.d.ts +4 -0
- package/dist/esm/icons/baseIcons/fal/falUserHeadset.d.ts.map +1 -0
- package/dist/esm/icons/baseIcons/fal/falUserHeadset.js +5 -0
- package/dist/esm/icons/baseIcons/fas/fasChartNetwork.d.ts +4 -0
- package/dist/esm/icons/baseIcons/fas/fasChartNetwork.d.ts.map +1 -0
- package/dist/esm/icons/baseIcons/fas/fasChartNetwork.js +5 -0
- package/dist/esm/icons/baseIcons/fas/fasPuzzlePiece.d.ts +4 -0
- package/dist/esm/icons/baseIcons/fas/fasPuzzlePiece.d.ts.map +1 -0
- package/dist/esm/icons/baseIcons/fas/fasPuzzlePiece.js +5 -0
- package/dist/esm/icons/baseIcons/icons.d.ts +11 -0
- package/dist/esm/icons/baseIcons/icons.d.ts.map +1 -1
- package/dist/esm/icons/baseIcons/icons.js +11 -0
- package/dist/esm/icons/baseIcons/types.d.ts +1 -1
- package/dist/esm/icons/baseIcons/types.d.ts.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/input/input.js +1 -1
- package/dist/esm/link/link.types.d.ts +2 -0
- package/dist/esm/link/link.types.d.ts.map +1 -1
- package/dist/esm/logo/Logo.d.ts +5 -0
- package/dist/esm/logo/Logo.d.ts.map +1 -0
- package/dist/esm/logo/Logo.js +17 -0
- package/dist/esm/logo/index.d.ts +2 -0
- package/dist/esm/logo/index.d.ts.map +1 -0
- package/dist/esm/logo/index.js +1 -0
- package/dist/esm/logo/logo.types.d.ts +11 -0
- package/dist/esm/logo/logo.types.d.ts.map +1 -0
- package/dist/esm/logo/logo.types.js +1 -0
- package/dist/esm/modal/focusLock.d.ts +1 -1
- package/dist/esm/modal/focusLock.d.ts.map +1 -1
- package/dist/esm/modal/modal.types.d.ts +2 -2
- package/dist/esm/modal/modal.types.d.ts.map +1 -1
- package/dist/esm/modal/modalManager.d.ts.map +1 -1
- package/dist/esm/modal/modalManager.js +3 -2
- package/dist/esm/modal/modalStyle.js +1 -1
- package/dist/esm/popover/popoverContent.d.ts.map +1 -1
- package/dist/esm/popover/popoverContent.js +3 -3
- package/dist/esm/portal/portal.d.ts +1 -1
- package/dist/esm/portal/portal.d.ts.map +1 -1
- package/dist/esm/table/tbody.d.ts.map +1 -1
- package/dist/esm/table/tbody.js +1 -1
- package/dist/esm/tabs/tabs.d.ts +2 -3
- package/dist/esm/tabs/tabs.d.ts.map +1 -1
- package/dist/esm/tabs/tabs.js +6 -6
- package/dist/esm/tabs/tabs.types.d.ts +8 -4
- package/dist/esm/tabs/tabs.types.d.ts.map +1 -1
- package/dist/esm/tabs/tabsNavBar.d.ts.map +1 -1
- package/dist/esm/tabs/tabsNavBar.js +13 -3
- package/dist/esm/theme/components.d.ts +0 -11
- package/dist/esm/theme/components.d.ts.map +1 -1
- package/dist/esm/theme/defaultTheme.d.ts +0 -11
- package/dist/esm/theme/defaultTheme.d.ts.map +1 -1
- package/dist/esm/toast/Toast.d.ts.map +1 -1
- package/dist/esm/toast/Toast.js +7 -6
- package/dist/esm/tooltip/tooltip.d.ts.map +1 -1
- package/dist/esm/tooltip/tooltip.js +11 -5
- package/dist/esm/tooltip/tooltip.setup.d.ts +1 -7
- package/dist/esm/tooltip/tooltip.setup.d.ts.map +1 -1
- package/dist/esm/tooltip/tooltip.setup.js +3 -9
- package/dist/esm/tooltip/tooltip.types.d.ts +10 -6
- package/dist/esm/tooltip/tooltip.types.d.ts.map +1 -1
- package/dist/esm/utils/dom.d.ts +4 -1
- package/dist/esm/utils/dom.d.ts.map +1 -1
- package/dist/esm/utils/dom.js +11 -9
- package/dist/esm/utils/react.d.ts +3 -1
- package/dist/esm/utils/react.d.ts.map +1 -1
- package/dist/esm/utils/react.js +16 -0
- package/package.json +1 -1
- package/src/button/button.tsx +1 -1
- package/src/button/theme.ts +0 -26
- package/src/core/types.ts +2 -2
- package/src/dialog/consts.ts +6 -0
- package/src/dialog/index.ts +2 -0
- package/src/dialog/showConfirm.tsx +45 -0
- package/src/dialog/showPrompt.tsx +55 -0
- package/src/header/header.types.ts +3 -11
- package/src/header/headerLogo.tsx +9 -25
- package/src/icons/baseIcons/cub/cubBellship.ts +8 -0
- package/src/icons/baseIcons/cub/cubDNV.ts +8 -0
- package/src/icons/baseIcons/cul/culFileDownloadAlt.ts +8 -0
- package/src/icons/baseIcons/cul/culFilterAlt.ts +8 -0
- package/src/icons/baseIcons/fal/falDollarSign.ts +8 -0
- package/src/icons/baseIcons/fal/falEuroSign.ts +8 -0
- package/src/icons/baseIcons/fal/falPoundSign.ts +8 -0
- package/src/icons/baseIcons/fal/falShoppingCart.ts +8 -0
- package/src/icons/baseIcons/fal/falUserHeadset.ts +8 -0
- package/src/icons/baseIcons/fas/fasChartNetwork.ts +8 -0
- package/src/icons/baseIcons/fas/fasPuzzlePiece.ts +8 -0
- package/src/icons/baseIcons/icons.ts +11 -0
- package/src/icons/baseIcons/types.ts +11 -0
- package/src/index.ts +1 -0
- package/src/input/input.tsx +1 -1
- package/src/link/link.types.ts +2 -0
- package/src/logo/Logo.tsx +29 -0
- package/src/logo/index.ts +1 -0
- package/src/logo/logo.types.ts +12 -0
- package/src/modal/focusLock.tsx +1 -1
- package/src/modal/modal.types.ts +3 -1
- package/src/modal/modalManager.ts +4 -2
- package/src/modal/modalStyle.ts +1 -1
- package/src/popover/popoverContent.tsx +4 -3
- package/src/portal/portal.tsx +1 -1
- package/src/table/tbody.tsx +1 -3
- package/src/tabs/tabs.tsx +6 -5
- package/src/tabs/tabs.types.ts +15 -9
- package/src/tabs/tabsNavBar.tsx +18 -6
- package/src/toast/Toast.tsx +8 -7
- package/src/tooltip/tooltip.setup.ts +3 -10
- package/src/tooltip/tooltip.tsx +23 -14
- package/src/tooltip/tooltip.types.ts +9 -5
- package/src/utils/dom.ts +13 -6
- package/src/utils/react.ts +15 -0
package/src/tooltip/tooltip.tsx
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
2
|
|
|
3
3
|
import Box from '../box'
|
|
4
|
+
import { useUp } from '../core'
|
|
5
|
+
import { Link } from '../link'
|
|
4
6
|
import Popover from '../popover'
|
|
5
|
-
import {
|
|
7
|
+
import { color, pointerPlacement, pointerSize } from './tooltip.setup'
|
|
6
8
|
import { TooltipProps } from './tooltip.types'
|
|
7
9
|
|
|
8
10
|
/**
|
|
@@ -12,24 +14,23 @@ import { TooltipProps } from './tooltip.types'
|
|
|
12
14
|
*
|
|
13
15
|
* */
|
|
14
16
|
export const Tooltip = (props: TooltipProps) => {
|
|
15
|
-
const {
|
|
16
|
-
|
|
17
|
+
const {
|
|
18
|
+
children,
|
|
19
|
+
fontSize = '16px',
|
|
20
|
+
linkText,
|
|
21
|
+
linkProps,
|
|
22
|
+
maxWidth = '400px',
|
|
23
|
+
text = 'demo',
|
|
24
|
+
placement = 'top'
|
|
25
|
+
} = props
|
|
26
|
+
const isDesktop = useUp('md')
|
|
17
27
|
return (
|
|
18
28
|
<Popover placement={placement} trigger="mouseenter">
|
|
19
29
|
<Popover.Trigger as={Box} display="inline-block">
|
|
20
30
|
<Box display="inline-block">{children}</Box>
|
|
21
31
|
</Popover.Trigger>
|
|
22
|
-
<Popover.Content
|
|
23
|
-
|
|
24
|
-
bg={color}
|
|
25
|
-
color="white"
|
|
26
|
-
m={1}
|
|
27
|
-
maxW={maxWidth}
|
|
28
|
-
p={1}
|
|
29
|
-
pl={2}
|
|
30
|
-
pr={2}
|
|
31
|
-
>
|
|
32
|
-
{!isAnimated && (
|
|
32
|
+
<Popover.Content bg={color} color="white" fontSize={fontSize} m={1} maxW={maxWidth} p={1} pl={2} pr={2}>
|
|
33
|
+
{isDesktop && (
|
|
33
34
|
<Box
|
|
34
35
|
bg={color}
|
|
35
36
|
bottom={pointerPlacement[placement].bottom}
|
|
@@ -43,6 +44,14 @@ export const Tooltip = (props: TooltipProps) => {
|
|
|
43
44
|
/>
|
|
44
45
|
)}
|
|
45
46
|
{text}
|
|
47
|
+
{!!linkText && (
|
|
48
|
+
<>
|
|
49
|
+
|
|
50
|
+
<Link variant="light" {...linkProps}>
|
|
51
|
+
{linkText}
|
|
52
|
+
</Link>
|
|
53
|
+
</>
|
|
54
|
+
)}
|
|
46
55
|
</Popover.Content>
|
|
47
56
|
</Popover>
|
|
48
57
|
)
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ChildrenProp } from '../core'
|
|
2
|
+
import { LinkProps } from '../link'
|
|
2
3
|
|
|
3
|
-
export
|
|
4
|
+
export interface TooltipProps extends ChildrenProp {
|
|
5
|
+
/** Font size. */
|
|
6
|
+
fontSize?: '16px' | '14px'
|
|
4
7
|
/** Displays given text at the tooltip. */
|
|
5
8
|
text?: string
|
|
6
9
|
/** Tooltip position. */
|
|
7
10
|
placement?: 'top' | 'left' | 'bottom' | 'right'
|
|
8
|
-
/** Displays the tooltip with animation, without the arrow pointer. */
|
|
9
|
-
isAnimated?: boolean
|
|
10
11
|
/** Sets maximum width to the tooltip body. */
|
|
11
12
|
maxWidth?: string
|
|
12
|
-
|
|
13
|
+
/** Link text that will be concatenated to the end of the tooltip text. */
|
|
14
|
+
linkText?: string
|
|
15
|
+
/** The <Link /> props. */
|
|
16
|
+
linkProps?: LinkProps
|
|
13
17
|
}
|
package/src/utils/dom.ts
CHANGED
|
@@ -6,22 +6,29 @@ export const addElement = (id: string): HTMLElement => {
|
|
|
6
6
|
|
|
7
7
|
export const removeElement = (id: string): void => {
|
|
8
8
|
const element = document.getElementById(id)
|
|
9
|
-
|
|
9
|
+
element?.remove?.()
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const addBodyClass = (className: string): void => document.body.classList.add(className)
|
|
13
|
+
|
|
14
|
+
export const removeBodyClass = (className: string): void => document.body.classList.remove(className)
|
|
15
|
+
|
|
16
|
+
export const removeElements = (className: string): void => {
|
|
17
|
+
const elements = document.getElementsByClassName(className)
|
|
18
|
+
for (let i = 0, len = elements.length; i < len; i++) elements[i]?.remove?.()
|
|
10
19
|
}
|
|
11
20
|
|
|
12
21
|
export const addElementClass = (id: string, className: string): void => {
|
|
13
22
|
const element = document.getElementById(id)
|
|
14
|
-
|
|
23
|
+
element?.classList?.add?.(className)
|
|
15
24
|
}
|
|
16
25
|
|
|
17
26
|
export const removeElementClass = (id: string, className: string): void => {
|
|
18
27
|
const element = document.getElementById(id)
|
|
19
|
-
|
|
28
|
+
element?.classList?.remove?.(className)
|
|
20
29
|
}
|
|
21
30
|
|
|
22
|
-
export const appendToBody = (rootElem: HTMLElement) =>
|
|
23
|
-
document.body.appendChild(rootElem)
|
|
24
|
-
}
|
|
31
|
+
export const appendToBody = (rootElem: HTMLElement) => document.body.appendChild(rootElem)
|
|
25
32
|
|
|
26
33
|
export const addContainer = (id: string): void => {
|
|
27
34
|
const toastContainer = document.getElementById(id)
|
package/src/utils/react.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import React, {
|
|
4
4
|
DependencyList,
|
|
5
5
|
Dispatch,
|
|
6
|
+
ReactNode,
|
|
6
7
|
RefObject,
|
|
7
8
|
SetStateAction,
|
|
8
9
|
useCallback,
|
|
@@ -10,6 +11,7 @@ import React, {
|
|
|
10
11
|
useRef,
|
|
11
12
|
useState
|
|
12
13
|
} from 'react'
|
|
14
|
+
import ReactDOM from 'react-dom'
|
|
13
15
|
|
|
14
16
|
import { isArray, isFunction } from './assertion'
|
|
15
17
|
import { runIfFn } from './function'
|
|
@@ -170,3 +172,16 @@ export function useIsMounted() {
|
|
|
170
172
|
|
|
171
173
|
return useCallback(() => isMounted.current, [])
|
|
172
174
|
}
|
|
175
|
+
|
|
176
|
+
/** A resolver to render a DOM node depending on React major version. */
|
|
177
|
+
export function reactDomRender(wrapper: HTMLElement | null, content: ReactNode) {
|
|
178
|
+
if (!wrapper) return
|
|
179
|
+
if ((ReactDOM as any)?.createRoot) {
|
|
180
|
+
// Rendering for React 18
|
|
181
|
+
const root = (ReactDOM as any)?.createRoot?.(wrapper)
|
|
182
|
+
root?.render?.(content)
|
|
183
|
+
} else {
|
|
184
|
+
// Rendering for legacy React 17
|
|
185
|
+
;(ReactDOM as any)?.render?.(content, wrapper)
|
|
186
|
+
}
|
|
187
|
+
}
|