@veracity/vui 1.1.2 → 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/index.d.ts +1 -0
- package/dist/cjs/core/index.d.ts.map +1 -1
- package/dist/cjs/core/index.js +1 -0
- package/dist/cjs/core/media.d.ts +4 -3
- package/dist/cjs/core/media.d.ts.map +1 -1
- package/dist/cjs/core/types.d.ts +5 -0
- package/dist/cjs/core/types.d.ts.map +1 -0
- package/dist/cjs/core/types.js +2 -0
- package/dist/cjs/core/vuiProvider/vuiProvider.d.ts +2 -1
- package/dist/cjs/core/vuiProvider/vuiProvider.d.ts.map +1 -1
- package/dist/cjs/core/vuiProvider/vuiProvider.js +7 -9
- 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 +2 -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 +2 -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/index.d.ts +1 -0
- package/dist/esm/core/index.d.ts.map +1 -1
- package/dist/esm/core/index.js +1 -0
- package/dist/esm/core/media.d.ts +4 -3
- package/dist/esm/core/media.d.ts.map +1 -1
- package/dist/esm/core/types.d.ts +5 -0
- package/dist/esm/core/types.d.ts.map +1 -0
- package/dist/esm/core/types.js +1 -0
- package/dist/esm/core/vuiProvider/vuiProvider.d.ts +2 -1
- package/dist/esm/core/vuiProvider/vuiProvider.d.ts.map +1 -1
- package/dist/esm/core/vuiProvider/vuiProvider.js +7 -9
- 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 +2 -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 +2 -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/index.ts +1 -0
- package/src/core/media.tsx +4 -3
- package/src/core/types.ts +5 -0
- package/src/core/vuiProvider/vuiProvider.tsx +13 -14
- 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 +2 -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 +2 -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/modal/modalStyle.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
2
|
|
|
3
3
|
import Box from '../box'
|
|
4
|
-
import { useStyleConfig, vui } from '../core'
|
|
4
|
+
import { useStyleConfig, v, vui } from '../core'
|
|
5
5
|
import { cs, mergeRefs } from '../utils'
|
|
6
6
|
import { usePopoverContext } from './context'
|
|
7
7
|
import { PopoverContentProps } from './popover.types'
|
|
@@ -17,7 +17,7 @@ export const PopoverContent = vui<'div', PopoverContentProps>((props, ref) => {
|
|
|
17
17
|
|
|
18
18
|
return (
|
|
19
19
|
// Wrapping div prevents an error thrown when conditionally unmounting this component
|
|
20
|
-
<div
|
|
20
|
+
<v.div ring={0}>
|
|
21
21
|
<Box
|
|
22
22
|
bg="white"
|
|
23
23
|
borderRadius="md"
|
|
@@ -25,12 +25,13 @@ export const PopoverContent = vui<'div', PopoverContentProps>((props, ref) => {
|
|
|
25
25
|
className={cs('vui-popoverContent', className)}
|
|
26
26
|
overflowY="auto"
|
|
27
27
|
ref={mergeRefs(setPopper, ref)}
|
|
28
|
+
ring={0}
|
|
28
29
|
{...styles.content}
|
|
29
30
|
{...rest}
|
|
30
31
|
>
|
|
31
32
|
{shouldRenderChildren ? children : null}
|
|
32
33
|
</Box>
|
|
33
|
-
</div>
|
|
34
|
+
</v.div>
|
|
34
35
|
)
|
|
35
36
|
})
|
|
36
37
|
|
package/src/portal/portal.tsx
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React, { FC, useEffect, useState } from 'react'
|
|
2
2
|
import { createPortal } from 'react-dom'
|
|
3
3
|
|
|
4
|
+
import { ChildrenProp } from '../core'
|
|
4
5
|
import { PortalProps } from './portal.types'
|
|
5
6
|
|
|
6
7
|
/** Provided children are portaled to document.body or custom container. */
|
|
7
|
-
export const Portal: FC<PortalProps> = props => {
|
|
8
|
+
export const Portal: FC<PortalProps & ChildrenProp> = props => {
|
|
8
9
|
const { children, containerRef, disablePortal } = props
|
|
9
10
|
const [mountNode, setMountNode] = useState<HTMLElement>()
|
|
10
11
|
|
package/src/table/tbody.tsx
CHANGED
|
@@ -35,9 +35,7 @@ export const Tbody = vui<'tbody', TbodyProps>((props, ref) => {
|
|
|
35
35
|
rows?.map((row, index) => (
|
|
36
36
|
<Tr key={index}>
|
|
37
37
|
{columns?.map(column => (
|
|
38
|
-
<Td key={column.field}
|
|
39
|
-
{row[column.field]}
|
|
40
|
-
</Td>
|
|
38
|
+
<Td key={column.field}>{row[column.field]}</Td>
|
|
41
39
|
))}
|
|
42
40
|
</Tr>
|
|
43
41
|
))}
|
package/src/tabs/tabs.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { ReactElement, useEffect } from 'react'
|
|
1
|
+
import React, { Children, ReactElement, useEffect } from 'react'
|
|
2
2
|
|
|
3
3
|
import { styled, useStyleConfig, vui } from '../core'
|
|
4
4
|
import { P } from '../p'
|
|
@@ -16,7 +16,7 @@ export const TabsBase = styled.divBox<TabsProps>`
|
|
|
16
16
|
* Implements Tabs navigation to switch between views.
|
|
17
17
|
*/
|
|
18
18
|
export const Tabs = vui<'div', TabsProps>((props, ref) => {
|
|
19
|
-
const { activeTabId, children, className, size, onTabClick, ...rest } = props
|
|
19
|
+
const { activeTabId, showBorder = true, children, className, size, onTabClick, ...rest } = props
|
|
20
20
|
const styles = useStyleConfig('Tabs', props)
|
|
21
21
|
const { tabs, setTabs, activeTabIndex, setActiveTabIndex, animationDirection, setAnimationDirection } = useTabsState(
|
|
22
22
|
'fadeIn',
|
|
@@ -26,16 +26,16 @@ export const Tabs = vui<'div', TabsProps>((props, ref) => {
|
|
|
26
26
|
useEffect(() => {
|
|
27
27
|
const t: TabProps[] = []
|
|
28
28
|
if (children) {
|
|
29
|
-
;(children as ReactElement[]).forEach((child: ReactElement<TabProps>, index: number) => {
|
|
30
|
-
if (child?.props?.title)
|
|
29
|
+
;(Children.toArray(children) as ReactElement[]).forEach((child: ReactElement<TabProps>, index: number) => {
|
|
30
|
+
if (child?.props?.title)
|
|
31
31
|
t.push({
|
|
32
32
|
id: index,
|
|
33
33
|
title: child.props.title,
|
|
34
|
+
icon: child.props.icon,
|
|
34
35
|
children: child.props.children,
|
|
35
36
|
disabled: child.props.disabled,
|
|
36
37
|
onClick: child.props.onClick
|
|
37
38
|
})
|
|
38
|
-
}
|
|
39
39
|
})
|
|
40
40
|
}
|
|
41
41
|
setTabs(t)
|
|
@@ -60,6 +60,7 @@ export const Tabs = vui<'div', TabsProps>((props, ref) => {
|
|
|
60
60
|
activeNavItem={activeTabIndex}
|
|
61
61
|
animationDirection={animationDirection}
|
|
62
62
|
onNavItemClick={onNavItemClick}
|
|
63
|
+
showBorder={showBorder}
|
|
63
64
|
size={size}
|
|
64
65
|
tabs={tabs}
|
|
65
66
|
/>
|
package/src/tabs/tabs.types.ts
CHANGED
|
@@ -1,31 +1,37 @@
|
|
|
1
1
|
import { ReactNode } from 'react'
|
|
2
2
|
|
|
3
|
+
import { ChildrenProp } from '../core'
|
|
4
|
+
import { IconProp } from '../icon'
|
|
3
5
|
import { SystemProps } from '../system'
|
|
4
6
|
import { ThemingProps } from '../theme'
|
|
5
7
|
|
|
6
8
|
export type AnimationDirection = 'fadeLeft' | 'fadeRight' | 'fadeIn'
|
|
7
9
|
|
|
8
10
|
export type TabsSize = 'md' | 'sm' | 'lg' | 'xl'
|
|
11
|
+
export type NavBarIconSize = 'md' | 'xs' | 'sm' | 'lg' | undefined
|
|
9
12
|
|
|
10
13
|
export type TabsProps = SystemProps &
|
|
11
|
-
ThemingProps<'Tabs'> &
|
|
14
|
+
ThemingProps<'Tabs'> &
|
|
15
|
+
ChildrenProp & {
|
|
12
16
|
activeTabId?: number
|
|
13
|
-
|
|
17
|
+
showBorder?: boolean
|
|
14
18
|
onTabClick?: (id: number) => void
|
|
15
19
|
}
|
|
16
20
|
|
|
17
|
-
export type TabProps = SystemProps &
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
export type TabProps = SystemProps &
|
|
22
|
+
ChildrenProp & {
|
|
23
|
+
icon?: IconProp
|
|
24
|
+
id?: number
|
|
25
|
+
title: ReactNode
|
|
26
|
+
disabled?: boolean
|
|
27
|
+
onClick?: () => void
|
|
28
|
+
}
|
|
24
29
|
|
|
25
30
|
export type TabNavBarProps = {
|
|
26
31
|
tabs: TabProps[]
|
|
27
32
|
onNavItemClick: (id: number) => void
|
|
28
33
|
activeNavItem?: number
|
|
29
34
|
animationDirection?: AnimationDirection
|
|
35
|
+
showBorder?: boolean
|
|
30
36
|
size?: TabsSize
|
|
31
37
|
}
|
package/src/tabs/tabsNavBar.tsx
CHANGED
|
@@ -2,16 +2,25 @@ import React from 'react'
|
|
|
2
2
|
|
|
3
3
|
import Box from '../box'
|
|
4
4
|
import { vui } from '../core'
|
|
5
|
+
import { Icon } from '../icon'
|
|
5
6
|
import { List, ListItem } from '../list'
|
|
6
|
-
import { cs } from '../utils'
|
|
7
|
-
import { TabNavBarProps } from './tabs.types'
|
|
7
|
+
import { cs, Dict } from '../utils'
|
|
8
|
+
import { NavBarIconSize, TabNavBarProps } from './tabs.types'
|
|
9
|
+
|
|
10
|
+
const iconSizeMapper: Dict = {
|
|
11
|
+
sm: 'xs',
|
|
12
|
+
md: 'sm',
|
|
13
|
+
lg: 'md',
|
|
14
|
+
xl: 'lg'
|
|
15
|
+
}
|
|
8
16
|
|
|
9
17
|
export const TabsNavBar = vui<'div', TabNavBarProps>((props, ref) => {
|
|
10
|
-
const { tabs, onNavItemClick, activeNavItem, animationDirection, size } = props
|
|
18
|
+
const { tabs, onNavItemClick, activeNavItem, animationDirection, showBorder, size = 'md' } = props
|
|
19
|
+
const iconSize: NavBarIconSize = iconSizeMapper?.[size as string] || 'md'
|
|
11
20
|
|
|
12
21
|
return (
|
|
13
22
|
<List
|
|
14
|
-
borderBottom=
|
|
23
|
+
borderBottom={showBorder ? '1px solid grey.40' : 'none'}
|
|
15
24
|
className={cs('vui-tabsNavBar')}
|
|
16
25
|
display="flex"
|
|
17
26
|
isInteractive
|
|
@@ -25,10 +34,13 @@ export const TabsNavBar = vui<'div', TabNavBarProps>((props, ref) => {
|
|
|
25
34
|
disabled={tab.disabled}
|
|
26
35
|
display="inline-flex"
|
|
27
36
|
key={tab.id}
|
|
28
|
-
onClick={() =>
|
|
37
|
+
onClick={() => onNavItemClick?.(tab.id || 0)}
|
|
29
38
|
position="relative"
|
|
30
39
|
>
|
|
31
|
-
|
|
40
|
+
<Box alignItems="center">
|
|
41
|
+
{!!tab.icon && <Icon mr={1} name={tab.icon} size={iconSize} />}
|
|
42
|
+
{tab.title}
|
|
43
|
+
</Box>
|
|
32
44
|
{!tab.disabled && tab.id === activeNavItem && (
|
|
33
45
|
<Box
|
|
34
46
|
animation={animationDirection}
|
package/src/toast/Toast.tsx
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import React, { ReactNode } from 'react'
|
|
2
|
-
import ReactDOM from 'react-dom'
|
|
3
2
|
|
|
4
3
|
import { Box } from '../box'
|
|
5
4
|
import { VuiProvider } from '../core'
|
|
6
5
|
import { Notification, NotificationStatus } from '../notification'
|
|
7
6
|
import { zIndices } from '../theme'
|
|
8
|
-
import { addContainer, uid } from '../utils'
|
|
7
|
+
import { addContainer, reactDomRender, uid } from '../utils'
|
|
9
8
|
import { ToastOptions, ToastSetup } from './toast.types'
|
|
10
9
|
|
|
11
10
|
const wrapperId = 'toastsWrapper'
|
|
@@ -18,9 +17,9 @@ const setup: ToastSetup = {
|
|
|
18
17
|
componentList: []
|
|
19
18
|
}
|
|
20
19
|
|
|
21
|
-
const render = (): void =>
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
const render = (): void => {
|
|
21
|
+
const wrapper = document.getElementById(wrapperId)
|
|
22
|
+
const content = (
|
|
24
23
|
<VuiProvider>
|
|
25
24
|
<Box
|
|
26
25
|
bottom="1rem"
|
|
@@ -36,10 +35,12 @@ const render = (): void =>
|
|
|
36
35
|
<div key={item.id}>{item.component}</div>
|
|
37
36
|
))}
|
|
38
37
|
</Box>
|
|
39
|
-
</VuiProvider
|
|
40
|
-
document.getElementById(wrapperId)
|
|
38
|
+
</VuiProvider>
|
|
41
39
|
)
|
|
42
40
|
|
|
41
|
+
reactDomRender(wrapper, content)
|
|
42
|
+
}
|
|
43
|
+
|
|
43
44
|
const hide = (id: string): void => {
|
|
44
45
|
setup.componentList = setup.componentList.filter(i => i.id !== id)
|
|
45
46
|
render()
|
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
export const
|
|
2
|
-
top: 'fadeDown',
|
|
3
|
-
right: 'fadeLeft',
|
|
4
|
-
bottom: 'fadeUp',
|
|
5
|
-
left: 'fadeRight'
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export const pointerSize = 8
|
|
1
|
+
export const pointerSize = 12
|
|
9
2
|
|
|
10
3
|
export const color = 'prussian.80'
|
|
11
4
|
|
|
@@ -28,13 +21,13 @@ export const pointerPlacement = {
|
|
|
28
21
|
top: `50%`,
|
|
29
22
|
bottom: 'auto',
|
|
30
23
|
left: 'auto',
|
|
31
|
-
right: '
|
|
24
|
+
right: '-4px',
|
|
32
25
|
translate: '-50%, -50%'
|
|
33
26
|
},
|
|
34
27
|
right: {
|
|
35
28
|
top: `50%`,
|
|
36
29
|
bottom: 'auto',
|
|
37
|
-
left:
|
|
30
|
+
left: '2px',
|
|
38
31
|
right: 'auto',
|
|
39
32
|
translate: '0, -50%'
|
|
40
33
|
}
|
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
|
+
}
|