@veracity/vui 2.5.0 → 2.6.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/box/box.js +3 -4
- package/dist/cjs/box/box.types.d.ts +2 -0
- package/dist/cjs/box/box.types.d.ts.map +1 -1
- package/dist/cjs/button/button.types.d.ts +1 -1
- package/dist/cjs/button/button.types.d.ts.map +1 -1
- package/dist/cjs/buttonGroup/buttonGroup.d.ts.map +1 -1
- package/dist/cjs/buttonGroup/buttonGroup.js +0 -4
- package/dist/cjs/core/links.d.ts.map +1 -1
- package/dist/cjs/core/links.js +3 -6
- package/dist/cjs/dialog/dialog.js +1 -1
- package/dist/cjs/dialog/dialogCloseButton.d.ts.map +1 -1
- package/dist/cjs/dialog/dialogCloseButton.js +1 -1
- package/dist/cjs/dragAndDrop/dragAndDrop.d.ts.map +1 -1
- package/dist/cjs/dragAndDrop/dragAndDrop.js +7 -2
- package/dist/cjs/footer/footer.d.ts.map +1 -1
- package/dist/cjs/footer/footer.js +51 -7
- package/dist/cjs/footer/footer.types.d.ts +1 -0
- package/dist/cjs/footer/footer.types.d.ts.map +1 -1
- package/dist/cjs/footer/footerColumn.d.ts.map +1 -1
- package/dist/cjs/footer/footerColumn.js +1 -1
- package/dist/cjs/footer/footerContent.d.ts.map +1 -1
- package/dist/cjs/footer/footerContent.js +1 -1
- package/dist/cjs/footer/footerLink.js +1 -1
- package/dist/cjs/footer/footerSlimColumn.d.ts +5 -0
- package/dist/cjs/footer/footerSlimColumn.d.ts.map +1 -0
- package/dist/cjs/footer/footerSlimColumn.js +28 -0
- package/dist/cjs/footer/footerTrademark.d.ts +1 -0
- package/dist/cjs/footer/footerTrademark.d.ts.map +1 -1
- package/dist/cjs/footer/footerTrademark.js +5 -3
- package/dist/cjs/footer/theme.d.ts +38 -2
- package/dist/cjs/footer/theme.d.ts.map +1 -1
- package/dist/cjs/footer/theme.js +38 -2
- package/dist/cjs/header/headerAccount.d.ts.map +1 -1
- package/dist/cjs/header/headerAccount.js +1 -1
- package/dist/cjs/header/headerAccountUserInfo.d.ts.map +1 -1
- package/dist/cjs/header/headerAccountUserInfo.js +1 -3
- package/dist/cjs/header/headerDivider.js +1 -1
- package/dist/cjs/header/headerMobileToggle.d.ts.map +1 -1
- package/dist/cjs/header/headerMobileToggle.js +1 -1
- package/dist/cjs/header/headerServices.d.ts.map +1 -1
- package/dist/cjs/header/headerServices.js +1 -1
- package/dist/cjs/heading/heading.d.ts +1 -1
- package/dist/cjs/heading/heading.d.ts.map +1 -1
- package/dist/cjs/heading/heading.js +1 -1
- package/dist/cjs/icons/baseIcons/cub/cubCircleFB.d.ts +4 -0
- package/dist/cjs/icons/baseIcons/cub/cubCircleFB.d.ts.map +1 -0
- package/dist/cjs/icons/baseIcons/cub/cubCircleFB.js +7 -0
- package/dist/cjs/icons/baseIcons/cub/cubCircleLinkedIn.d.ts +4 -0
- package/dist/cjs/icons/baseIcons/cub/cubCircleLinkedIn.d.ts.map +1 -0
- package/dist/cjs/icons/baseIcons/cub/cubCircleLinkedIn.js +8 -0
- package/dist/cjs/icons/baseIcons/cub/cubCircleTwitter.d.ts +4 -0
- package/dist/cjs/icons/baseIcons/cub/cubCircleTwitter.d.ts.map +1 -0
- package/dist/cjs/icons/baseIcons/cub/cubCircleTwitter.js +8 -0
- package/dist/cjs/icons/baseIcons/cub/cubCircleYoutube.d.ts +4 -0
- package/dist/cjs/icons/baseIcons/cub/cubCircleYoutube.d.ts.map +1 -0
- package/dist/cjs/icons/baseIcons/cub/cubCircleYoutube.js +7 -0
- package/dist/cjs/icons/baseIcons/icons.d.ts +4 -0
- package/dist/cjs/icons/baseIcons/icons.d.ts.map +1 -1
- package/dist/cjs/icons/baseIcons/icons.js +16 -8
- package/dist/cjs/icons/baseIcons/types.d.ts +1 -1
- package/dist/cjs/icons/baseIcons/types.d.ts.map +1 -1
- package/dist/cjs/input/input.d.ts +1 -0
- package/dist/cjs/input/input.d.ts.map +1 -1
- package/dist/cjs/input/input.js +40 -31
- package/dist/cjs/input/input.types.d.ts +2 -2
- package/dist/cjs/input/input.types.d.ts.map +1 -1
- package/dist/cjs/input/inputInput.d.ts.map +1 -1
- package/dist/cjs/input/inputInput.js +1 -1
- package/dist/cjs/link/link.types.d.ts +1 -1
- package/dist/cjs/link/link.types.d.ts.map +1 -1
- package/dist/cjs/link/theme.d.ts +20 -22
- package/dist/cjs/link/theme.d.ts.map +1 -1
- package/dist/cjs/link/theme.js +25 -31
- package/dist/cjs/list/list.d.ts.map +1 -1
- package/dist/cjs/list/list.js +2 -2
- package/dist/cjs/list/list.types.d.ts +2 -2
- package/dist/cjs/list/list.types.d.ts.map +1 -1
- package/dist/cjs/list/listHeading.d.ts.map +1 -1
- package/dist/cjs/list/listHeading.js +1 -1
- package/dist/cjs/list/listItem.d.ts.map +1 -1
- package/dist/cjs/list/listItem.js +2 -3
- package/dist/cjs/list/theme.d.ts +40 -35
- package/dist/cjs/list/theme.d.ts.map +1 -1
- package/dist/cjs/list/theme.js +44 -45
- package/dist/cjs/logo/Logo.d.ts +1 -1
- package/dist/cjs/logo/Logo.d.ts.map +1 -1
- package/dist/cjs/logo/Logo.js +1 -1
- package/dist/cjs/menu/menuList.js +1 -1
- package/dist/cjs/modal/modal.d.ts.map +1 -1
- package/dist/cjs/modal/modal.js +1 -1
- package/dist/cjs/modal/modalBackdrop.d.ts.map +1 -1
- package/dist/cjs/modal/modalBackdrop.js +5 -4
- package/dist/cjs/select/select.d.ts +1 -1
- package/dist/cjs/select/select.d.ts.map +1 -1
- package/dist/cjs/select/select.js +40 -3
- package/dist/cjs/select/select.types.d.ts +2 -0
- package/dist/cjs/select/select.types.d.ts.map +1 -1
- package/dist/cjs/select/selectButton.d.ts.map +1 -1
- package/dist/cjs/select/selectButton.js +1 -1
- package/dist/cjs/sidemenu/consts.d.ts +0 -4
- package/dist/cjs/sidemenu/consts.d.ts.map +1 -1
- package/dist/cjs/sidemenu/consts.js +1 -5
- package/dist/cjs/sidemenu/sidemenu.d.ts.map +1 -1
- package/dist/cjs/sidemenu/sidemenu.js +5 -7
- package/dist/cjs/system/effects.d.ts +1 -0
- package/dist/cjs/system/effects.d.ts.map +1 -1
- package/dist/cjs/tabs/consts.d.ts +10 -0
- package/dist/cjs/tabs/consts.d.ts.map +1 -0
- package/dist/cjs/tabs/consts.js +17 -0
- package/dist/cjs/tabs/tab.d.ts.map +1 -1
- package/dist/cjs/tabs/tab.js +1 -4
- package/dist/cjs/tabs/tabs.d.ts +1 -1
- package/dist/cjs/tabs/tabs.js +1 -1
- package/dist/cjs/tabs/tabs.types.d.ts +1 -0
- 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 +6 -10
- package/dist/cjs/theme/components.d.ts +89 -45
- package/dist/cjs/theme/components.d.ts.map +1 -1
- package/dist/cjs/theme/defaultTheme.d.ts +89 -45
- package/dist/cjs/theme/defaultTheme.d.ts.map +1 -1
- package/dist/cjs/theme/types.d.ts +1 -0
- package/dist/cjs/theme/types.d.ts.map +1 -1
- package/dist/cjs/utils/styles.d.ts +10 -0
- package/dist/cjs/utils/styles.d.ts.map +1 -1
- package/dist/cjs/utils/styles.js +55 -2
- package/dist/esm/box/box.js +3 -4
- package/dist/esm/box/box.types.d.ts +2 -0
- package/dist/esm/box/box.types.d.ts.map +1 -1
- package/dist/esm/button/button.types.d.ts +1 -1
- package/dist/esm/button/button.types.d.ts.map +1 -1
- package/dist/esm/buttonGroup/buttonGroup.d.ts.map +1 -1
- package/dist/esm/buttonGroup/buttonGroup.js +0 -4
- package/dist/esm/core/links.d.ts.map +1 -1
- package/dist/esm/core/links.js +3 -6
- package/dist/esm/dialog/dialog.js +1 -1
- package/dist/esm/dialog/dialogCloseButton.d.ts.map +1 -1
- package/dist/esm/dialog/dialogCloseButton.js +1 -1
- package/dist/esm/dragAndDrop/dragAndDrop.d.ts.map +1 -1
- package/dist/esm/dragAndDrop/dragAndDrop.js +7 -2
- package/dist/esm/footer/footer.d.ts.map +1 -1
- package/dist/esm/footer/footer.js +51 -8
- package/dist/esm/footer/footer.types.d.ts +1 -0
- package/dist/esm/footer/footer.types.d.ts.map +1 -1
- package/dist/esm/footer/footerColumn.d.ts.map +1 -1
- package/dist/esm/footer/footerColumn.js +1 -1
- package/dist/esm/footer/footerContent.d.ts.map +1 -1
- package/dist/esm/footer/footerContent.js +1 -1
- package/dist/esm/footer/footerLink.js +1 -1
- package/dist/esm/footer/footerSlimColumn.d.ts +5 -0
- package/dist/esm/footer/footerSlimColumn.d.ts.map +1 -0
- package/dist/esm/footer/footerSlimColumn.js +12 -0
- package/dist/esm/footer/footerTrademark.d.ts +1 -0
- package/dist/esm/footer/footerTrademark.d.ts.map +1 -1
- package/dist/esm/footer/footerTrademark.js +4 -2
- package/dist/esm/footer/theme.d.ts +38 -2
- package/dist/esm/footer/theme.d.ts.map +1 -1
- package/dist/esm/footer/theme.js +38 -2
- package/dist/esm/header/headerAccount.d.ts.map +1 -1
- package/dist/esm/header/headerAccount.js +1 -1
- package/dist/esm/header/headerAccountUserInfo.d.ts.map +1 -1
- package/dist/esm/header/headerAccountUserInfo.js +1 -3
- package/dist/esm/header/headerDivider.js +1 -1
- package/dist/esm/header/headerMobileToggle.d.ts.map +1 -1
- package/dist/esm/header/headerMobileToggle.js +1 -1
- package/dist/esm/header/headerServices.d.ts.map +1 -1
- package/dist/esm/header/headerServices.js +1 -1
- package/dist/esm/heading/heading.d.ts +1 -1
- package/dist/esm/heading/heading.d.ts.map +1 -1
- package/dist/esm/heading/heading.js +1 -1
- package/dist/esm/icons/baseIcons/cub/cubCircleFB.d.ts +4 -0
- package/dist/esm/icons/baseIcons/cub/cubCircleFB.d.ts.map +1 -0
- package/dist/esm/icons/baseIcons/cub/cubCircleFB.js +5 -0
- package/dist/esm/icons/baseIcons/cub/cubCircleLinkedIn.d.ts +4 -0
- package/dist/esm/icons/baseIcons/cub/cubCircleLinkedIn.d.ts.map +1 -0
- package/dist/esm/icons/baseIcons/cub/cubCircleLinkedIn.js +6 -0
- package/dist/esm/icons/baseIcons/cub/cubCircleTwitter.d.ts +4 -0
- package/dist/esm/icons/baseIcons/cub/cubCircleTwitter.d.ts.map +1 -0
- package/dist/esm/icons/baseIcons/cub/cubCircleTwitter.js +6 -0
- package/dist/esm/icons/baseIcons/cub/cubCircleYoutube.d.ts +4 -0
- package/dist/esm/icons/baseIcons/cub/cubCircleYoutube.d.ts.map +1 -0
- package/dist/esm/icons/baseIcons/cub/cubCircleYoutube.js +5 -0
- package/dist/esm/icons/baseIcons/icons.d.ts +4 -0
- package/dist/esm/icons/baseIcons/icons.d.ts.map +1 -1
- package/dist/esm/icons/baseIcons/icons.js +4 -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/input/input.d.ts +1 -0
- package/dist/esm/input/input.d.ts.map +1 -1
- package/dist/esm/input/input.js +40 -31
- package/dist/esm/input/input.types.d.ts +2 -2
- package/dist/esm/input/input.types.d.ts.map +1 -1
- package/dist/esm/input/inputInput.d.ts.map +1 -1
- package/dist/esm/input/inputInput.js +1 -1
- package/dist/esm/link/link.types.d.ts +1 -1
- package/dist/esm/link/link.types.d.ts.map +1 -1
- package/dist/esm/link/theme.d.ts +20 -22
- package/dist/esm/link/theme.d.ts.map +1 -1
- package/dist/esm/link/theme.js +25 -31
- package/dist/esm/list/list.d.ts.map +1 -1
- package/dist/esm/list/list.js +2 -2
- package/dist/esm/list/list.types.d.ts +2 -2
- package/dist/esm/list/list.types.d.ts.map +1 -1
- package/dist/esm/list/listHeading.d.ts.map +1 -1
- package/dist/esm/list/listHeading.js +1 -1
- package/dist/esm/list/listItem.d.ts.map +1 -1
- package/dist/esm/list/listItem.js +2 -3
- package/dist/esm/list/theme.d.ts +40 -35
- package/dist/esm/list/theme.d.ts.map +1 -1
- package/dist/esm/list/theme.js +44 -45
- package/dist/esm/logo/Logo.d.ts +1 -1
- package/dist/esm/logo/Logo.d.ts.map +1 -1
- package/dist/esm/logo/Logo.js +1 -1
- package/dist/esm/menu/menuList.js +1 -1
- package/dist/esm/modal/modal.d.ts.map +1 -1
- package/dist/esm/modal/modal.js +1 -1
- package/dist/esm/modal/modalBackdrop.d.ts.map +1 -1
- package/dist/esm/modal/modalBackdrop.js +6 -5
- package/dist/esm/select/select.d.ts +1 -1
- package/dist/esm/select/select.d.ts.map +1 -1
- package/dist/esm/select/select.js +16 -3
- package/dist/esm/select/select.types.d.ts +2 -0
- package/dist/esm/select/select.types.d.ts.map +1 -1
- package/dist/esm/select/selectButton.d.ts.map +1 -1
- package/dist/esm/select/selectButton.js +1 -1
- package/dist/esm/sidemenu/consts.d.ts +0 -4
- package/dist/esm/sidemenu/consts.d.ts.map +1 -1
- package/dist/esm/sidemenu/consts.js +0 -4
- package/dist/esm/sidemenu/sidemenu.d.ts.map +1 -1
- package/dist/esm/sidemenu/sidemenu.js +6 -8
- package/dist/esm/system/effects.d.ts +1 -0
- package/dist/esm/system/effects.d.ts.map +1 -1
- package/dist/esm/tabs/consts.d.ts +10 -0
- package/dist/esm/tabs/consts.d.ts.map +1 -0
- package/dist/esm/tabs/consts.js +14 -0
- package/dist/esm/tabs/tab.d.ts.map +1 -1
- package/dist/esm/tabs/tab.js +1 -4
- package/dist/esm/tabs/tabs.d.ts +1 -1
- package/dist/esm/tabs/tabs.js +1 -1
- package/dist/esm/tabs/tabs.types.d.ts +1 -0
- 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 +5 -9
- package/dist/esm/theme/components.d.ts +89 -45
- package/dist/esm/theme/components.d.ts.map +1 -1
- package/dist/esm/theme/defaultTheme.d.ts +89 -45
- package/dist/esm/theme/defaultTheme.d.ts.map +1 -1
- package/dist/esm/theme/types.d.ts +1 -0
- package/dist/esm/theme/types.d.ts.map +1 -1
- package/dist/esm/utils/styles.d.ts +10 -0
- package/dist/esm/utils/styles.d.ts.map +1 -1
- package/dist/esm/utils/styles.js +50 -1
- package/package.json +1 -1
- package/src/box/box.tsx +5 -5
- package/src/box/box.types.ts +2 -0
- package/src/button/button.types.ts +1 -1
- package/src/buttonGroup/buttonGroup.tsx +0 -4
- package/src/core/links.tsx +3 -8
- package/src/dialog/dialog.tsx +1 -1
- package/src/dialog/dialogCloseButton.tsx +1 -3
- package/src/dragAndDrop/dragAndDrop.tsx +9 -2
- package/src/footer/footer.tsx +100 -22
- package/src/footer/footer.types.ts +1 -0
- package/src/footer/footerColumn.tsx +3 -2
- package/src/footer/footerContent.tsx +2 -1
- package/src/footer/footerLink.tsx +1 -1
- package/src/footer/footerSlimColumn.tsx +30 -0
- package/src/footer/footerTrademark.tsx +5 -4
- package/src/footer/theme.ts +40 -2
- package/src/header/headerAccount.tsx +0 -1
- package/src/header/headerAccountUserInfo.tsx +1 -7
- package/src/header/headerDivider.tsx +1 -1
- package/src/header/headerMobileToggle.tsx +0 -1
- package/src/header/headerServices.tsx +1 -8
- package/src/heading/heading.tsx +1 -1
- package/src/icons/baseIcons/cub/cubCircleFB.ts +8 -0
- package/src/icons/baseIcons/cub/cubCircleLinkedIn.ts +9 -0
- package/src/icons/baseIcons/cub/cubCircleTwitter.ts +9 -0
- package/src/icons/baseIcons/cub/cubCircleYoutube.ts +8 -0
- package/src/icons/baseIcons/icons.ts +4 -0
- package/src/icons/baseIcons/types.ts +4 -0
- package/src/input/input.tsx +69 -46
- package/src/input/input.types.ts +2 -2
- package/src/input/inputInput.tsx +1 -0
- package/src/link/link.types.ts +1 -1
- package/src/link/theme.ts +26 -39
- package/src/list/list.tsx +2 -5
- package/src/list/list.types.ts +2 -2
- package/src/list/listHeading.tsx +0 -1
- package/src/list/listItem.tsx +2 -2
- package/src/list/theme.ts +43 -49
- package/src/logo/Logo.tsx +1 -1
- package/src/menu/menuList.tsx +1 -1
- package/src/modal/modal.tsx +3 -1
- package/src/modal/modalBackdrop.tsx +15 -5
- package/src/select/select.tsx +32 -3
- package/src/select/select.types.ts +2 -0
- package/src/select/selectButton.tsx +0 -1
- package/src/sidemenu/consts.ts +0 -5
- package/src/sidemenu/sidemenu.tsx +6 -8
- package/src/system/effects.ts +1 -0
- package/src/tabs/consts.ts +17 -0
- package/src/tabs/tab.tsx +5 -8
- package/src/tabs/tabs.tsx +1 -1
- package/src/tabs/tabs.types.ts +1 -0
- package/src/tabs/tabsNavBar.tsx +13 -14
- package/src/theme/types.ts +1 -0
- package/src/utils/styles.ts +57 -1
|
@@ -5,7 +5,7 @@ import Button from '../button'
|
|
|
5
5
|
import { styled, useStyleConfig, vui, VuiComponent } from '../core'
|
|
6
6
|
import Icon from '../icon'
|
|
7
7
|
import { cs, filterUndefined } from '../utils'
|
|
8
|
-
import { border, expandedWidth
|
|
8
|
+
import { border, expandedWidth } from './consts'
|
|
9
9
|
import { SidemenuProvider } from './context'
|
|
10
10
|
import { SidemenuItemProps, SidemenuProps } from './sidemenu.types'
|
|
11
11
|
import SidemenuItem from './sidemenuItem'
|
|
@@ -32,13 +32,11 @@ export const Sidemenu = vui<'div', SidemenuProps>((props, ref) => {
|
|
|
32
32
|
setIsExpandedInternal(isExpanded)
|
|
33
33
|
}, [isExpanded])
|
|
34
34
|
|
|
35
|
-
const
|
|
36
|
-
setIsExpandedInternal(!isExpandedInternal)
|
|
37
|
-
}
|
|
35
|
+
const onToggle = () => setIsExpandedInternal(!isExpandedInternal)
|
|
38
36
|
|
|
39
37
|
const w = isExpandedInternal ? width : expandedWidth
|
|
40
|
-
const icon = isExpandedInternal ? '
|
|
41
|
-
const
|
|
38
|
+
const icon = `falArrow${isExpandedInternal ? 'Left' : 'Right'}`
|
|
39
|
+
const justifyContent = isExpandedInternal ? 'flex-end' : 'center'
|
|
42
40
|
|
|
43
41
|
return (
|
|
44
42
|
<SidemenuProvider value={context}>
|
|
@@ -49,8 +47,8 @@ export const Sidemenu = vui<'div', SidemenuProps>((props, ref) => {
|
|
|
49
47
|
: children}
|
|
50
48
|
</Box>
|
|
51
49
|
<Box borderTop={border} className="vui-sidemenu-bottom" w="100%">
|
|
52
|
-
<Button borderRadius={0} onClick={
|
|
53
|
-
<Icon name={icon}
|
|
50
|
+
<Button borderRadius={0} justifyContent={justifyContent} onClick={onToggle} variant="tertiaryDark" w="100%">
|
|
51
|
+
<Icon name={icon} />
|
|
54
52
|
</Button>
|
|
55
53
|
</Box>
|
|
56
54
|
</SidemenuBase>
|
package/src/system/effects.ts
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Dict } from '../utils'
|
|
2
|
+
|
|
3
|
+
export const tabsColors = {
|
|
4
|
+
activeBg: 'skyBlue.main',
|
|
5
|
+
border: 'sandstone.main',
|
|
6
|
+
color: 'sandstone.10',
|
|
7
|
+
hover: 'skyBlue.hover',
|
|
8
|
+
main: 'seaBlue.main'
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const iconSizeMapper: Dict = {
|
|
12
|
+
sm: 'xs',
|
|
13
|
+
md: 'sm',
|
|
14
|
+
lg: 'md',
|
|
15
|
+
xl: 'lg',
|
|
16
|
+
xxl: 'xl'
|
|
17
|
+
}
|
package/src/tabs/tab.tsx
CHANGED
|
@@ -11,13 +11,10 @@ export const TabBase = styled.divBox`
|
|
|
11
11
|
/**
|
|
12
12
|
* Implements a Tab component
|
|
13
13
|
*/
|
|
14
|
-
export const Tab = vui<'div', TabProps>((
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
</TabBase>
|
|
20
|
-
)
|
|
21
|
-
})
|
|
14
|
+
export const Tab = vui<'div', TabProps>(({ children, className }, ref) => (
|
|
15
|
+
<TabBase className={cs('vui-tab', className)} ref={ref}>
|
|
16
|
+
{children}
|
|
17
|
+
</TabBase>
|
|
18
|
+
))
|
|
22
19
|
|
|
23
20
|
export default Tab
|
package/src/tabs/tabs.tsx
CHANGED
|
@@ -13,7 +13,7 @@ export const TabsBase = styled.divBox<TabsProps>`
|
|
|
13
13
|
`
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
-
* Implements Tabs navigation to switch between views.
|
|
16
|
+
* Implements Tabs navigation to switch between views. Implements Tabs navigation to switch between views. **Do not use as a top menu in a page!**
|
|
17
17
|
*/
|
|
18
18
|
export const Tabs = vui<'div', TabsProps>((props, ref) => {
|
|
19
19
|
const { activeTabId, showBorder = true, children, className, size, onTabClick, ...rest } = props
|
package/src/tabs/tabs.types.ts
CHANGED
package/src/tabs/tabsNavBar.tsx
CHANGED
|
@@ -5,16 +5,11 @@ import { vui } from '../core'
|
|
|
5
5
|
import { Icon } from '../icon'
|
|
6
6
|
import { List, ListItem } from '../list'
|
|
7
7
|
import { cs, Dict } from '../utils'
|
|
8
|
-
import {
|
|
8
|
+
import { iconSizeMapper, tabsColors } from './consts'
|
|
9
|
+
import { NavBarIconSize, TabNavBarProps, TabProps } from './tabs.types'
|
|
9
10
|
import theme from './theme'
|
|
10
11
|
|
|
11
|
-
const
|
|
12
|
-
sm: 'xs',
|
|
13
|
-
md: 'sm',
|
|
14
|
-
lg: 'md',
|
|
15
|
-
xl: 'lg',
|
|
16
|
-
xxl: 'xl'
|
|
17
|
-
}
|
|
12
|
+
const { activeBg, border, color, hover, main } = tabsColors
|
|
18
13
|
|
|
19
14
|
export const TabsNavBar = vui<'div', TabNavBarProps>((props, ref) => {
|
|
20
15
|
const { tabs, onNavItemClick, activeNavItem, animationDirection, showBorder, size = 'md' } = props
|
|
@@ -28,9 +23,11 @@ export const TabsNavBar = vui<'div', TabNavBarProps>((props, ref) => {
|
|
|
28
23
|
const py = sizes[size ?? 'md'].tabsNavBar.py
|
|
29
24
|
const iconMarginRight = size === 'xxl' ? '16px' : '8px'
|
|
30
25
|
|
|
26
|
+
const isActive = (tab: TabProps) => !tab.disabled && tab.id === activeNavItem
|
|
27
|
+
|
|
31
28
|
return (
|
|
32
29
|
<List
|
|
33
|
-
borderBottom={showBorder ?
|
|
30
|
+
borderBottom={showBorder ? `1px solid ${border}` : 'none'}
|
|
34
31
|
className={cs('vui-tabsNavBar')}
|
|
35
32
|
display="flex"
|
|
36
33
|
isInteractive
|
|
@@ -40,14 +37,16 @@ export const TabsNavBar = vui<'div', TabNavBarProps>((props, ref) => {
|
|
|
40
37
|
>
|
|
41
38
|
{tabs?.map?.(tab => (
|
|
42
39
|
<ListItem
|
|
43
|
-
activeBg=
|
|
40
|
+
activeBg={tab.disabled ? undefined : activeBg}
|
|
41
|
+
bg="white"
|
|
44
42
|
className={`vui-tabsNavBarItem vui-tabsNavBarItem-${tab?.id}`}
|
|
45
|
-
color=
|
|
43
|
+
color={isActive(tab) ? main : color}
|
|
46
44
|
disabled={tab.disabled}
|
|
47
45
|
display="inline-flex"
|
|
48
46
|
fontSize={fontSize}
|
|
47
|
+
fontWeight={500}
|
|
49
48
|
h={h}
|
|
50
|
-
hoverBg=
|
|
49
|
+
hoverBg={tab.disabled ? undefined : hover}
|
|
51
50
|
key={tab.id}
|
|
52
51
|
onClick={() => onNavItemClick?.(tab.id || 0)}
|
|
53
52
|
position="relative"
|
|
@@ -58,10 +57,10 @@ export const TabsNavBar = vui<'div', TabNavBarProps>((props, ref) => {
|
|
|
58
57
|
{!!tab.icon && <Icon mr={iconMarginRight} name={tab.icon} size={iconSize} />}
|
|
59
58
|
{tab.title}
|
|
60
59
|
</Box>
|
|
61
|
-
{
|
|
60
|
+
{isActive(tab) && (
|
|
62
61
|
<Box
|
|
63
62
|
animation={animationDirection}
|
|
64
|
-
bg=
|
|
63
|
+
bg={main}
|
|
65
64
|
bottom="-1px"
|
|
66
65
|
h={borderWidth}
|
|
67
66
|
left={0}
|
package/src/theme/types.ts
CHANGED
|
@@ -4,6 +4,7 @@ export type Animation = keyof VuiTheme['animations']
|
|
|
4
4
|
export type Border = keyof VuiTheme['borders']
|
|
5
5
|
export type Color = keyof VuiTheme['colors']
|
|
6
6
|
export type Component = keyof VuiTheme['components']
|
|
7
|
+
export type Elevation = keyof VuiTheme['shadows']
|
|
7
8
|
export type Font = keyof VuiTheme['fonts']
|
|
8
9
|
export type FontSize = keyof VuiTheme['fontSizes']
|
|
9
10
|
export type FontWeight = keyof VuiTheme['fontWeights']
|
package/src/utils/styles.ts
CHANGED
|
@@ -5,6 +5,17 @@ export function cs(...classNames: any[]) {
|
|
|
5
5
|
return classNames.filter(Boolean).join(' ')
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
+
/** Parses HSL color code. */
|
|
9
|
+
export function parseHSL(color: string) {
|
|
10
|
+
const regexp = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g
|
|
11
|
+
const res = regexp?.exec?.(color)?.slice?.(1)
|
|
12
|
+
return { h: Number(res?.[0]) || 0, s: Number(res?.[1]) || 0, l: Number(res?.[2]) || 0 }
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** Builds RGBA string. */
|
|
16
|
+
export const buildRGBA = (r: number, g: number, b: number, alpha?: number) =>
|
|
17
|
+
alpha !== undefined ? `rgba(${r}, ${g}, ${b}, ${alpha})` : `rgb(${r}, ${g}, ${b})`
|
|
18
|
+
|
|
8
19
|
/** Converts hex color value to rgb with optional alpha property. */
|
|
9
20
|
export function hexToRGBA(hex: string, alpha?: number) {
|
|
10
21
|
let hexStr = hex
|
|
@@ -21,7 +32,52 @@ export function hexToRGBA(hex: string, alpha?: number) {
|
|
|
21
32
|
const g = parseInt(hexStr.slice(2, 4), 16)
|
|
22
33
|
const b = parseInt(hexStr.slice(4, 6), 16)
|
|
23
34
|
|
|
24
|
-
return
|
|
35
|
+
return buildRGBA(r, g, b, alpha)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** Converts hsl color value to rgb with optional alpha property. */
|
|
39
|
+
export function HSLToRGBA(h: number, s: number, l: number, alpha?: number) {
|
|
40
|
+
s /= 100
|
|
41
|
+
l /= 100
|
|
42
|
+
|
|
43
|
+
const c = (1 - Math.abs(2 * l - 1)) * s,
|
|
44
|
+
x = c * (1 - Math.abs(((h / 60) % 2) - 1)),
|
|
45
|
+
m = l - c / 2
|
|
46
|
+
|
|
47
|
+
let r = 0,
|
|
48
|
+
g = 0,
|
|
49
|
+
b = 0
|
|
50
|
+
|
|
51
|
+
if (0 <= h && h < 60) {
|
|
52
|
+
r = c
|
|
53
|
+
g = x
|
|
54
|
+
b = 0
|
|
55
|
+
} else if (60 <= h && h < 120) {
|
|
56
|
+
r = x
|
|
57
|
+
g = c
|
|
58
|
+
b = 0
|
|
59
|
+
} else if (120 <= h && h < 180) {
|
|
60
|
+
r = 0
|
|
61
|
+
g = c
|
|
62
|
+
b = x
|
|
63
|
+
} else if (180 <= h && h < 240) {
|
|
64
|
+
r = 0
|
|
65
|
+
g = x
|
|
66
|
+
b = c
|
|
67
|
+
} else if (240 <= h && h < 300) {
|
|
68
|
+
r = x
|
|
69
|
+
g = 0
|
|
70
|
+
b = c
|
|
71
|
+
} else if (300 <= h && h < 360) {
|
|
72
|
+
r = c
|
|
73
|
+
g = 0
|
|
74
|
+
b = x
|
|
75
|
+
}
|
|
76
|
+
r = Math.round((r + m) * 255)
|
|
77
|
+
g = Math.round((g + m) * 255)
|
|
78
|
+
b = Math.round((b + m) * 255)
|
|
79
|
+
|
|
80
|
+
return buildRGBA(r, g, b, alpha)
|
|
25
81
|
}
|
|
26
82
|
|
|
27
83
|
/** Styling to add ellipsis for long texts. */
|