@veracity/vui 2.10.0 → 2.11.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/accordion/accordion.types.d.ts +4 -2
- package/dist/cjs/accordion/accordion.types.d.ts.map +1 -1
- package/dist/cjs/accordion/accordionItem.d.ts.map +1 -1
- package/dist/cjs/accordion/accordionItem.js +2 -2
- package/dist/cjs/accordion/accordionItemArrow.d.ts +1 -1
- package/dist/cjs/accordion/accordionItemArrow.d.ts.map +1 -1
- package/dist/cjs/accordion/accordionItemArrow.js +15 -1
- package/dist/cjs/accordion/accordionItemHorizontal.d.ts.map +1 -1
- package/dist/cjs/accordion/accordionItemHorizontal.js +2 -2
- package/dist/cjs/button/button.d.ts.map +1 -1
- package/dist/cjs/button/button.js +9 -15
- package/dist/cjs/button/consts.d.ts +5 -0
- package/dist/cjs/button/consts.d.ts.map +1 -1
- package/dist/cjs/button/consts.js +7 -6
- package/dist/cjs/core/vuiProvider/globalStyle.d.ts.map +1 -1
- package/dist/cjs/core/vuiProvider/globalStyle.js +2 -0
- package/dist/cjs/definition/definition.d.ts +9 -0
- package/dist/cjs/definition/definition.d.ts.map +1 -0
- package/dist/cjs/definition/definition.js +86 -0
- package/dist/cjs/definition/definition.types.d.ts +24 -0
- package/dist/cjs/definition/definition.types.d.ts.map +1 -0
- package/dist/cjs/definition/definition.types.js +2 -0
- package/dist/cjs/definition/definitionContent.d.ts +6 -0
- package/dist/cjs/definition/definitionContent.d.ts.map +1 -0
- package/dist/cjs/definition/definitionContent.js +46 -0
- package/dist/cjs/definition/index.d.ts +3 -0
- package/dist/cjs/definition/index.d.ts.map +1 -0
- package/dist/cjs/definition/index.js +23 -0
- package/dist/cjs/definition/theme.d.ts +65 -0
- package/dist/cjs/definition/theme.d.ts.map +1 -0
- package/dist/cjs/definition/theme.js +70 -0
- package/dist/cjs/header/headerAccountUserInfo.d.ts.map +1 -1
- package/dist/cjs/header/headerAccountUserInfo.js +3 -3
- package/dist/cjs/header/headerLinkItem.d.ts.map +1 -1
- package/dist/cjs/header/headerLinkItem.js +7 -3
- package/dist/cjs/header/headerNotifications.d.ts.map +1 -1
- package/dist/cjs/header/headerNotifications.js +3 -3
- package/dist/cjs/header/headerSignIn.d.ts.map +1 -1
- package/dist/cjs/header/headerSignIn.js +1 -1
- package/dist/cjs/header/theme.d.ts +2 -0
- package/dist/cjs/header/theme.d.ts.map +1 -1
- package/dist/cjs/header/theme.js +2 -0
- package/dist/cjs/icons/baseIcons/conc/conCard.d.ts +4 -0
- package/dist/cjs/icons/baseIcons/conc/conCard.d.ts.map +1 -0
- package/dist/cjs/icons/baseIcons/conc/conCard.js +8 -0
- package/dist/cjs/icons/baseIcons/conc/conEmptyBox.d.ts +4 -0
- package/dist/cjs/icons/baseIcons/conc/conEmptyBox.d.ts.map +1 -0
- package/dist/cjs/icons/baseIcons/conc/conEmptyBox.js +7 -0
- package/dist/cjs/icons/baseIcons/icons.d.ts +2 -0
- package/dist/cjs/icons/baseIcons/icons.d.ts.map +1 -1
- package/dist/cjs/icons/baseIcons/icons.js +12 -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/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/onedesign-tokens/dist/js/rem/button.d.ts +85 -0
- package/dist/cjs/onedesign-tokens/dist/js/rem/button.d.ts.map +1 -0
- package/dist/cjs/onedesign-tokens/dist/js/rem/button.js +88 -0
- package/dist/cjs/sidemenu/sidemenuItem.d.ts.map +1 -1
- package/dist/cjs/sidemenu/sidemenuItem.js +11 -6
- package/dist/cjs/spinner/spinner.d.ts.map +1 -1
- package/dist/cjs/spinner/spinner.js +2 -2
- package/dist/cjs/spinner/spinner.types.d.ts +2 -1
- package/dist/cjs/spinner/spinner.types.d.ts.map +1 -1
- package/dist/cjs/spinner/theme.d.ts +26 -5
- package/dist/cjs/spinner/theme.d.ts.map +1 -1
- package/dist/cjs/spinner/theme.js +34 -13
- package/dist/cjs/theme/components.d.ts +91 -5
- package/dist/cjs/theme/components.d.ts.map +1 -1
- package/dist/cjs/theme/components.js +70 -68
- package/dist/cjs/theme/defaultTheme.d.ts +92 -5
- package/dist/cjs/theme/defaultTheme.d.ts.map +1 -1
- package/dist/cjs/theme/foundations/colors.js +1 -1
- package/dist/cjs/theme/foundations/index.d.ts +1 -0
- package/dist/cjs/theme/foundations/index.d.ts.map +1 -1
- package/dist/cjs/theme/foundations/screens.d.ts +1 -0
- package/dist/cjs/theme/foundations/screens.d.ts.map +1 -1
- package/dist/cjs/theme/foundations/screens.js +2 -1
- package/dist/esm/accordion/accordion.types.d.ts +4 -2
- package/dist/esm/accordion/accordion.types.d.ts.map +1 -1
- package/dist/esm/accordion/accordionItem.d.ts.map +1 -1
- package/dist/esm/accordion/accordionItem.js +2 -2
- package/dist/esm/accordion/accordionItemArrow.d.ts +1 -1
- package/dist/esm/accordion/accordionItemArrow.d.ts.map +1 -1
- package/dist/esm/accordion/accordionItemArrow.js +1 -1
- package/dist/esm/accordion/accordionItemHorizontal.d.ts.map +1 -1
- package/dist/esm/accordion/accordionItemHorizontal.js +2 -2
- package/dist/esm/button/button.d.ts.map +1 -1
- package/dist/esm/button/button.js +10 -16
- package/dist/esm/button/consts.d.ts +5 -0
- package/dist/esm/button/consts.d.ts.map +1 -1
- package/dist/esm/button/consts.js +6 -5
- package/dist/esm/core/vuiProvider/globalStyle.d.ts.map +1 -1
- package/dist/esm/core/vuiProvider/globalStyle.js +2 -0
- package/dist/esm/definition/definition.d.ts +9 -0
- package/dist/esm/definition/definition.d.ts.map +1 -0
- package/dist/esm/definition/definition.js +69 -0
- package/dist/esm/definition/definition.types.d.ts +24 -0
- package/dist/esm/definition/definition.types.d.ts.map +1 -0
- package/dist/esm/definition/definition.types.js +1 -0
- package/dist/esm/definition/definitionContent.d.ts +6 -0
- package/dist/esm/definition/definitionContent.d.ts.map +1 -0
- package/dist/esm/definition/definitionContent.js +26 -0
- package/dist/esm/definition/index.d.ts +3 -0
- package/dist/esm/definition/index.d.ts.map +1 -0
- package/dist/esm/definition/index.js +2 -0
- package/dist/esm/definition/theme.d.ts +65 -0
- package/dist/esm/definition/theme.d.ts.map +1 -0
- package/dist/esm/definition/theme.js +68 -0
- package/dist/esm/header/headerAccountUserInfo.d.ts.map +1 -1
- package/dist/esm/header/headerAccountUserInfo.js +3 -3
- package/dist/esm/header/headerLinkItem.d.ts.map +1 -1
- package/dist/esm/header/headerLinkItem.js +7 -3
- package/dist/esm/header/headerNotifications.d.ts.map +1 -1
- package/dist/esm/header/headerNotifications.js +3 -3
- package/dist/esm/header/headerSignIn.d.ts.map +1 -1
- package/dist/esm/header/headerSignIn.js +1 -1
- package/dist/esm/header/theme.d.ts +2 -0
- package/dist/esm/header/theme.d.ts.map +1 -1
- package/dist/esm/header/theme.js +2 -0
- package/dist/esm/icons/baseIcons/conc/conCard.d.ts +4 -0
- package/dist/esm/icons/baseIcons/conc/conCard.d.ts.map +1 -0
- package/dist/esm/icons/baseIcons/conc/conCard.js +6 -0
- package/dist/esm/icons/baseIcons/conc/conEmptyBox.d.ts +4 -0
- package/dist/esm/icons/baseIcons/conc/conEmptyBox.d.ts.map +1 -0
- package/dist/esm/icons/baseIcons/conc/conEmptyBox.js +5 -0
- package/dist/esm/icons/baseIcons/icons.d.ts +2 -0
- package/dist/esm/icons/baseIcons/icons.d.ts.map +1 -1
- package/dist/esm/icons/baseIcons/icons.js +2 -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/onedesign-tokens/dist/js/rem/button.d.ts +85 -0
- package/dist/esm/onedesign-tokens/dist/js/rem/button.d.ts.map +1 -0
- package/dist/esm/onedesign-tokens/dist/js/rem/button.js +84 -0
- package/dist/esm/sidemenu/sidemenuItem.d.ts.map +1 -1
- package/dist/esm/sidemenu/sidemenuItem.js +27 -6
- package/dist/esm/spinner/spinner.d.ts.map +1 -1
- package/dist/esm/spinner/spinner.js +2 -2
- package/dist/esm/spinner/spinner.types.d.ts +2 -1
- package/dist/esm/spinner/spinner.types.d.ts.map +1 -1
- package/dist/esm/spinner/theme.d.ts +26 -5
- package/dist/esm/spinner/theme.d.ts.map +1 -1
- package/dist/esm/spinner/theme.js +34 -13
- package/dist/esm/theme/components.d.ts +91 -5
- package/dist/esm/theme/components.d.ts.map +1 -1
- package/dist/esm/theme/components.js +2 -0
- package/dist/esm/theme/defaultTheme.d.ts +92 -5
- package/dist/esm/theme/defaultTheme.d.ts.map +1 -1
- package/dist/esm/theme/foundations/colors.js +1 -1
- package/dist/esm/theme/foundations/index.d.ts +1 -0
- package/dist/esm/theme/foundations/index.d.ts.map +1 -1
- package/dist/esm/theme/foundations/screens.d.ts +1 -0
- package/dist/esm/theme/foundations/screens.d.ts.map +1 -1
- package/dist/esm/theme/foundations/screens.js +2 -1
- package/package.json +1 -1
- package/src/accordion/accordion.types.ts +4 -2
- package/src/accordion/accordionItem.tsx +6 -2
- package/src/accordion/accordionItemArrow.tsx +10 -2
- package/src/accordion/accordionItemHorizontal.tsx +11 -2
- package/src/button/button.tsx +18 -19
- package/src/button/consts.ts +7 -5
- package/src/core/vuiProvider/globalStyle.tsx +2 -0
- package/src/definition/definition.tsx +86 -0
- package/src/definition/definition.types.ts +24 -0
- package/src/definition/definitionContent.tsx +61 -0
- package/src/definition/index.ts +2 -0
- package/src/definition/theme.ts +73 -0
- package/src/header/headerAccountUserInfo.tsx +7 -3
- package/src/header/headerLinkItem.tsx +7 -3
- package/src/header/headerNotifications.tsx +7 -3
- package/src/header/headerSignIn.tsx +1 -0
- package/src/header/theme.ts +2 -0
- package/src/icons/baseIcons/conc/conCard.ts +9 -0
- package/src/icons/baseIcons/conc/conEmptyBox.ts +8 -0
- package/src/icons/baseIcons/icons.ts +2 -0
- package/src/icons/baseIcons/types.ts +2 -0
- package/src/index.ts +1 -0
- package/src/onedesign-tokens/dist/js/rem/button.js +85 -0
- package/src/sidemenu/sidemenuItem.tsx +47 -36
- package/src/spinner/spinner.tsx +3 -4
- package/src/spinner/spinner.types.ts +3 -1
- package/src/spinner/theme.ts +34 -13
- package/src/theme/components.ts +2 -0
- package/src/theme/foundations/colors.ts +1 -1
- package/src/theme/foundations/screens.ts +2 -1
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
|
|
3
|
+
import { styled, useStyleConfig, vui } from '../core'
|
|
4
|
+
import { DefinitionProps } from './definition.types'
|
|
5
|
+
import { DefinitionContent } from './definitionContent'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Properties are definition lists
|
|
9
|
+
* */
|
|
10
|
+
// @formatter:off
|
|
11
|
+
export const DefinitionVerticalBase = styled.dlBox`
|
|
12
|
+
display: grid;
|
|
13
|
+
gap: 1em;
|
|
14
|
+
grid-template-columns: repeat(auto-fit, minmax(10em, 20em));
|
|
15
|
+
|
|
16
|
+
.vui-definitionItemWrapper {
|
|
17
|
+
display: flex;
|
|
18
|
+
flex-direction: column;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
dt,
|
|
22
|
+
dd {
|
|
23
|
+
display: inline-flex;
|
|
24
|
+
}
|
|
25
|
+
`
|
|
26
|
+
|
|
27
|
+
export const DefinitionHorizontalBase = styled.dlBox`
|
|
28
|
+
padding: 10px;
|
|
29
|
+
display: grid;
|
|
30
|
+
gap: 0;
|
|
31
|
+
|
|
32
|
+
.vui-definitionItemWrapper {
|
|
33
|
+
display: flex;
|
|
34
|
+
flex-direction: column;
|
|
35
|
+
@media (min-width: 1024px) {
|
|
36
|
+
flex-direction: row;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
dt,
|
|
41
|
+
dd {
|
|
42
|
+
display: inline-flex;
|
|
43
|
+
padding-left: 5px;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
dd {
|
|
47
|
+
::after {
|
|
48
|
+
content: '';
|
|
49
|
+
}
|
|
50
|
+
@media (min-width: 1024px) {
|
|
51
|
+
::after {
|
|
52
|
+
content: ',';
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
dt {
|
|
58
|
+
width: 20%;
|
|
59
|
+
min-width: 130px;
|
|
60
|
+
}
|
|
61
|
+
`
|
|
62
|
+
// @formatter:on
|
|
63
|
+
|
|
64
|
+
export const Definition = vui<'dl', DefinitionProps>((props, ref) => {
|
|
65
|
+
const { orientation = 'horizontal', ...rest } = props as DefinitionProps
|
|
66
|
+
const styles = useStyleConfig('Definition', props)
|
|
67
|
+
|
|
68
|
+
console.log('orientation', orientation)
|
|
69
|
+
|
|
70
|
+
return (
|
|
71
|
+
<>
|
|
72
|
+
{orientation === 'horizontal' && (
|
|
73
|
+
<DefinitionHorizontalBase className="vui-definition" {...styles.container} {...rest}>
|
|
74
|
+
<DefinitionContent {...rest} />
|
|
75
|
+
</DefinitionHorizontalBase>
|
|
76
|
+
)}
|
|
77
|
+
{orientation === 'vertical' && (
|
|
78
|
+
<DefinitionVerticalBase className="vui-definition" {...styles.container} {...rest}>
|
|
79
|
+
<DefinitionContent {...rest} />
|
|
80
|
+
</DefinitionVerticalBase>
|
|
81
|
+
)}
|
|
82
|
+
</>
|
|
83
|
+
)
|
|
84
|
+
})
|
|
85
|
+
|
|
86
|
+
export default Definition
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IconProp } from '../icon'
|
|
2
|
+
import { SystemProps } from '../system'
|
|
3
|
+
import { ThemingProps } from '../theme'
|
|
4
|
+
|
|
5
|
+
export type DefinitionItemProps = SystemProps & {
|
|
6
|
+
key: string
|
|
7
|
+
keyHasIcon?: boolean
|
|
8
|
+
value: string | number | string[] | number[]
|
|
9
|
+
valueHasIcon?: boolean
|
|
10
|
+
}
|
|
11
|
+
export type DefinitionProps = SystemProps &
|
|
12
|
+
ThemingProps<'Definition'> & {
|
|
13
|
+
/** Socket displaying icon on the left side. */
|
|
14
|
+
iconLeft?: IconProp | JSX.Element
|
|
15
|
+
/** Socket displaying icon on the right side. */
|
|
16
|
+
iconRight?: IconProp | JSX.Element
|
|
17
|
+
isLabelBold?: boolean
|
|
18
|
+
isValueBold?: boolean
|
|
19
|
+
items?: DefinitionItemProps[]
|
|
20
|
+
/** Socket defining orientation. */
|
|
21
|
+
orientation?: 'horizontal' | 'vertical'
|
|
22
|
+
size?: 'sm' | 'md'
|
|
23
|
+
variant?: 'light' | 'dark'
|
|
24
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
|
|
3
|
+
import Box from '../box'
|
|
4
|
+
import { styled, useStyleConfig, vui } from '../core'
|
|
5
|
+
import Icon from '../icon'
|
|
6
|
+
import { cs, isArray } from '../utils'
|
|
7
|
+
import { DefinitionItemProps, DefinitionProps } from './definition.types'
|
|
8
|
+
|
|
9
|
+
export const DefinitionItemKey = styled.dtBox``
|
|
10
|
+
export const DefinitionItemValue = styled.ddBox``
|
|
11
|
+
|
|
12
|
+
export const DefinitionContent = vui<'dl', DefinitionProps>(props => {
|
|
13
|
+
const { iconLeft, iconRight, isLabelBold, isValueBold, items } = props as DefinitionProps
|
|
14
|
+
|
|
15
|
+
const styles = useStyleConfig('Definition', props)
|
|
16
|
+
|
|
17
|
+
return (
|
|
18
|
+
<>
|
|
19
|
+
{isArray<DefinitionItemProps>(items)
|
|
20
|
+
? items.map(({ key, value, ...props }, index) => (
|
|
21
|
+
<Box className="vui-definitionItemWrapper" key={index}>
|
|
22
|
+
<DefinitionItemKey fontWeight={isLabelBold ? 'demi' : 'default'} {...styles.dt}>
|
|
23
|
+
{props.keyHasIcon && iconLeft && (
|
|
24
|
+
<Icon className={cs('vui-definitionIcon')} name={iconLeft} {...styles.icon} />
|
|
25
|
+
)}
|
|
26
|
+
{key}
|
|
27
|
+
{props.keyHasIcon && iconRight && (
|
|
28
|
+
<Icon className={cs('vui-definitionIcon')} name={iconRight} {...styles.icon} />
|
|
29
|
+
)}
|
|
30
|
+
</DefinitionItemKey>
|
|
31
|
+
{isArray(value) ? (
|
|
32
|
+
value.map((value, index) => (
|
|
33
|
+
<DefinitionItemValue fontWeight={isValueBold ? 'demi' : 'default'} {...styles.dd} key={index}>
|
|
34
|
+
{props.valueHasIcon && iconLeft && (
|
|
35
|
+
<Icon className={cs('vui-definitionIcon')} name={iconLeft} {...styles.icon} />
|
|
36
|
+
)}
|
|
37
|
+
{value}
|
|
38
|
+
{props.valueHasIcon && iconRight && (
|
|
39
|
+
<Icon className={cs('vui-definitionIcon')} name={iconRight} {...styles.icon} />
|
|
40
|
+
)}
|
|
41
|
+
</DefinitionItemValue>
|
|
42
|
+
))
|
|
43
|
+
) : (
|
|
44
|
+
<DefinitionItemValue fontWeight={isValueBold ? 'demi' : 'default'} {...styles.dd}>
|
|
45
|
+
{props.valueHasIcon && iconLeft && (
|
|
46
|
+
<Icon className={cs('vui-definitionIcon')} name={iconLeft} {...styles.icon} />
|
|
47
|
+
)}
|
|
48
|
+
{value}
|
|
49
|
+
{props.valueHasIcon && iconRight && (
|
|
50
|
+
<Icon className={cs('vui-definitionIcon')} name={iconRight} {...styles.icon} />
|
|
51
|
+
)}
|
|
52
|
+
</DefinitionItemValue>
|
|
53
|
+
)}
|
|
54
|
+
</Box>
|
|
55
|
+
))
|
|
56
|
+
: items}
|
|
57
|
+
</>
|
|
58
|
+
)
|
|
59
|
+
})
|
|
60
|
+
|
|
61
|
+
export default DefinitionContent
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
const baseStyle = {}
|
|
2
|
+
|
|
3
|
+
const defaultProps = {
|
|
4
|
+
size: 'md',
|
|
5
|
+
variant: 'light'
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
const parts = ['container', 'icon', 'dt', 'dd']
|
|
9
|
+
|
|
10
|
+
const sizes = {
|
|
11
|
+
sm: {
|
|
12
|
+
container: {
|
|
13
|
+
fontSize: 'sm',
|
|
14
|
+
lineHeight: '22px'
|
|
15
|
+
},
|
|
16
|
+
dt: {
|
|
17
|
+
fontSize: 'sm',
|
|
18
|
+
spaceX: 4
|
|
19
|
+
},
|
|
20
|
+
dd: {
|
|
21
|
+
fontSize: 'sm',
|
|
22
|
+
spaceX: 4
|
|
23
|
+
},
|
|
24
|
+
icon: {
|
|
25
|
+
size: 'sm',
|
|
26
|
+
mx: 0.5,
|
|
27
|
+
my: 'auto'
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
md: {
|
|
31
|
+
container: {
|
|
32
|
+
fontSize: 'md',
|
|
33
|
+
lineHeight: '30px'
|
|
34
|
+
},
|
|
35
|
+
dt: {
|
|
36
|
+
fontSize: 'md',
|
|
37
|
+
spaceX: 6
|
|
38
|
+
},
|
|
39
|
+
dd: {
|
|
40
|
+
fontSize: 'md',
|
|
41
|
+
spaceX: 6
|
|
42
|
+
},
|
|
43
|
+
icon: {
|
|
44
|
+
size: 'md',
|
|
45
|
+
mx: 0.5,
|
|
46
|
+
my: 'auto'
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const variants = {
|
|
52
|
+
light: {
|
|
53
|
+
container: {
|
|
54
|
+
bg: 'white',
|
|
55
|
+
color: 'sandstone.20',
|
|
56
|
+
borderColor: 'transparent'
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
dark: {
|
|
60
|
+
container: {
|
|
61
|
+
bg: 'darkBlue.main',
|
|
62
|
+
color: 'white'
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export default {
|
|
68
|
+
baseStyle,
|
|
69
|
+
defaultProps,
|
|
70
|
+
parts,
|
|
71
|
+
sizes,
|
|
72
|
+
variants
|
|
73
|
+
}
|
|
@@ -33,13 +33,17 @@ export const HeaderAccountUserInfo = vui<'div', HeaderAccountUserInfoProps>((pro
|
|
|
33
33
|
)}
|
|
34
34
|
<Box column rowGap={role ? 0 : 0.5}>
|
|
35
35
|
{displayName && (
|
|
36
|
-
<T fontSize={isApplication ? '12px' : 'inherit'} weight="demi">
|
|
36
|
+
<T fontSize={isApplication ? '12px' : 'inherit'} isTruncated pr={1} title={displayName} weight="demi">
|
|
37
37
|
{displayName}
|
|
38
38
|
</T>
|
|
39
39
|
)}
|
|
40
|
-
{companyName &&
|
|
40
|
+
{companyName && (
|
|
41
|
+
<T fontSize={isApplication ? '12px' : 'inherit'} isTruncated pr={1} title={companyName}>
|
|
42
|
+
{companyName}
|
|
43
|
+
</T>
|
|
44
|
+
)}
|
|
41
45
|
{role && (
|
|
42
|
-
<T color="sandstone.45" fontSize={isApplication ? '12px' : 'inherit'}>
|
|
46
|
+
<T color="sandstone.45" fontSize={isApplication ? '12px' : 'inherit'} isTruncated pr={1} title={role}>
|
|
43
47
|
{role}
|
|
44
48
|
</T>
|
|
45
49
|
)}
|
|
@@ -34,12 +34,16 @@ export const HeaderLinkItem = vui<'li', HeaderLinkItemProps>((props, ref) => {
|
|
|
34
34
|
const linkMobileProps = isMobile
|
|
35
35
|
? {
|
|
36
36
|
color: 'darkBlue.main',
|
|
37
|
+
hoverColor: 'darkBlue.main',
|
|
37
38
|
hoverBg: 'skyBlue.90',
|
|
39
|
+
activeColor: 'darkBlue.main',
|
|
40
|
+
activeBg: 'transparent',
|
|
38
41
|
activeBorderColor: 'seaBlue.main',
|
|
39
|
-
activeBorderLeftWidth:
|
|
40
|
-
pt: '0'
|
|
42
|
+
activeBorderLeftWidth: 0,
|
|
43
|
+
pt: '0',
|
|
44
|
+
activePl: isActive ? '13px' : '16px'
|
|
41
45
|
}
|
|
42
|
-
: { activeBorderBottomWidth:
|
|
46
|
+
: { activeBorderBottomWidth: 0, pt: '0px', activePt: isActive ? '1px' : '0' }
|
|
43
47
|
|
|
44
48
|
const itemScreenProps = isMobile ? {} : { display: 'inline-flex', fontWeight: 'medium', h: '100%' }
|
|
45
49
|
|
|
@@ -9,7 +9,7 @@ import { HeaderNotificationsProps } from './header.types'
|
|
|
9
9
|
/*@formatter:off*/
|
|
10
10
|
const Badge = styled.spanBox`
|
|
11
11
|
align-items: center;
|
|
12
|
-
background-color: energyRed.
|
|
12
|
+
background-color: energyRed.45;
|
|
13
13
|
border-radius: round;
|
|
14
14
|
color: white;
|
|
15
15
|
display: flex;
|
|
@@ -20,7 +20,7 @@ const Badge = styled.spanBox`
|
|
|
20
20
|
position: absolute;
|
|
21
21
|
right: 1px;
|
|
22
22
|
top: 1px;
|
|
23
|
-
width: 20px;
|
|
23
|
+
min-width: 20px;
|
|
24
24
|
`
|
|
25
25
|
/*@formatter:on*/
|
|
26
26
|
|
|
@@ -49,7 +49,11 @@ export const HeaderNotifications = vui<'a', HeaderNotificationsProps>((props, re
|
|
|
49
49
|
<>
|
|
50
50
|
<Button.Icon name="falBell" />
|
|
51
51
|
|
|
52
|
-
{count > 0 &&
|
|
52
|
+
{count > 0 && (
|
|
53
|
+
<Badge px={count < 9 ? '0' : '4px'} right={count < 9 ? 1 : 0}>
|
|
54
|
+
{count < 100 ? count : '99+'}
|
|
55
|
+
</Badge>
|
|
56
|
+
)}
|
|
53
57
|
</>
|
|
54
58
|
)}
|
|
55
59
|
</Button>
|
package/src/header/theme.ts
CHANGED
|
@@ -41,6 +41,7 @@ const variants = {
|
|
|
41
41
|
activeBorderColor: 'darkBlue.main'
|
|
42
42
|
},
|
|
43
43
|
link: {
|
|
44
|
+
size: 'lg',
|
|
44
45
|
color: 'darkBlue.main',
|
|
45
46
|
borderColor: 'darkBlue.main',
|
|
46
47
|
hoverColor: 'darkBlue.main',
|
|
@@ -108,6 +109,7 @@ const variants = {
|
|
|
108
109
|
activeBorderColor: 'digiGreen.main'
|
|
109
110
|
},
|
|
110
111
|
link: {
|
|
112
|
+
size: 'lg',
|
|
111
113
|
color: 'white',
|
|
112
114
|
borderColor: 'digiGreen.main',
|
|
113
115
|
hoverBg: 'seaBlue.25',
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
import { IconDefinition } from "../../types";
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
details: [64, 64, [], "", "M7 8C5.34315 8 4 9.34315 4 11V41C4 42.6569 5.34314 44 7 44H10V23C10 20.2386 12.2386 18 15 18H52V11C52 9.34315 50.6569 8 49 8H7ZM7 46H10V53C10 55.7614 12.2386 58 15 58H57C59.7614 58 62 55.7614 62 53V23C62 20.2386 59.7614 18 57 18H54V11C54 8.23858 51.7614 6 49 6H7C4.23858 6 2 8.23858 2 11V41C2 43.7614 4.23858 46 7 46ZM12 53V46V34H60V53C60 54.6569 58.6569 56 57 56H15C13.3431 56 12 54.6569 12 53ZM60 26V23C60 21.3431 58.6569 20 57 20H54H15C13.3431 20 12 21.3431 12 23V26H60ZM21 46C20.4477 46 20 46.4477 20 47C20 47.5523 20.4477 48 21 48H26C26.5523 48 27 47.5523 27 47C27 46.4477 26.5523 46 26 46H21ZM30 47C30 46.4477 30.4477 46 31 46H44C44.5523 46 45 46.4477 45 47C45 47.5523 44.5523 48 44 48H31C30.4477 48 30 47.5523 30 47Z"],
|
|
7
|
+
name: "conCard",
|
|
8
|
+
pathProps: { fillRule: "evenodd", clipRule: "evenodd" }
|
|
9
|
+
} as IconDefinition;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
import { IconDefinition } from '../../types'
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
details: [64, 64, [], '', 'M59.4263 11.2699C59.036 9.71542 57.4927 8.74227 55.9217 9.06007L31.6293 13.9744L7.74635 9.06237C6.18953 8.74218 4.65317 9.69176 4.2434 11.2274L2.10183 19.2534C1.72138 20.6792 2.43437 22.17 3.78312 22.7687L19.8329 29.8941C21.1643 30.4852 22.728 30.0344 23.5404 28.8252L31.6346 16.7778L39.8352 28.7837C40.6816 30.0227 42.3133 30.4459 43.6552 29.7743L59.6397 21.7744C60.8978 21.1448 61.5493 19.7255 61.2067 18.3611L59.4263 11.2699ZM56.3183 11.0204C56.8419 10.9144 57.3564 11.2388 57.4865 11.757L59.2669 18.8481C59.3811 19.3029 59.1639 19.776 58.7446 19.9859L42.76 27.9858C42.3128 28.2097 41.7689 28.0686 41.4867 27.6556L33.3041 15.6761L56.3183 11.0204ZM6.17579 11.7431C6.31238 11.2312 6.82451 10.9146 7.34344 11.0214L29.9665 15.6743L21.8803 27.7099C21.6095 28.1129 21.0882 28.2632 20.6444 28.0662L4.59465 20.9408C4.14507 20.7412 3.90741 20.2443 4.03422 19.769L6.17579 11.7431ZM32.6277 24.6616C32.6277 24.1093 32.18 23.6616 31.6277 23.6616C31.0754 23.6616 30.6277 24.1093 30.6277 24.6616V52.3252L9.28119 46.0468C8.00444 45.6713 7.12769 44.4996 7.12769 43.1687V27.4775L5.12769 26.6354V43.1687C5.12769 45.3868 6.58894 47.3397 8.71685 47.9656L30.2169 54.2891C31.1379 54.56 32.1175 54.56 33.0385 54.2891L54.5385 47.9656C56.6664 47.3397 58.1277 45.3868 58.1277 43.1687V25.8459L56.1277 26.6881V43.1687C56.1277 44.4996 55.2509 45.6713 53.9742 46.0468L32.6277 52.3252V24.6616Z'],
|
|
7
|
+
name: 'conEmptyBox'
|
|
8
|
+
} as IconDefinition
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as conAPI } from './conc/conAPI'
|
|
2
|
+
export { default as conCard } from './conc/conCard'
|
|
2
3
|
export { default as conClock } from './conc/conClock'
|
|
3
4
|
export { default as conSaveTimeAndMoney } from './conc/conSaveTimeAndMoney'
|
|
4
5
|
export { default as conVesselConnect } from './conc/conVesselConnect'
|
|
@@ -9,6 +10,7 @@ export { default as conDatabasePlus } from './conc/conDatabasePlus'
|
|
|
9
10
|
export { default as conDataSearchAlt } from './conc/conDataSearchAlt'
|
|
10
11
|
export { default as conDataSearchPlus } from './conc/conDataSearchPlus'
|
|
11
12
|
export { default as conDataset } from './conc/conDataset'
|
|
13
|
+
export { default as conEmptyBox } from './conc/conEmptyBox'
|
|
12
14
|
export { default as conFolderPlus } from './conc/conFolderPlus'
|
|
13
15
|
export { default as conInsightSearchAlt } from './conc/conInsightSearchAlt'
|
|
14
16
|
export { default as conLNGBunkering } from './conc/conLNGBunkering'
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type BaseIcon =
|
|
2
2
|
| 'conAPI'
|
|
3
|
+
| 'conCard'
|
|
3
4
|
| 'conClock'
|
|
4
5
|
| 'conSaveTimeAndMoney'
|
|
5
6
|
| 'conVesselConnect'
|
|
@@ -10,6 +11,7 @@ export type BaseIcon =
|
|
|
10
11
|
| 'conDataSearchAlt'
|
|
11
12
|
| 'conDataSearchPlus'
|
|
12
13
|
| 'conDataset'
|
|
14
|
+
| 'conEmptyBox'
|
|
13
15
|
| 'conFolderPlus'
|
|
14
16
|
| 'conInsightSearchAlt'
|
|
15
17
|
| 'conLNGBunkering'
|
package/src/index.ts
CHANGED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Do not edit directly
|
|
3
|
+
* Generated on Wed, 22 Mar 2023 12:31:05 GMT
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export const buttonSizeLargeFontSize = "1.125rem";
|
|
7
|
+
export const buttonSizeLargeLineHeight = "1.75rem";
|
|
8
|
+
export const buttonSizeLargePadding = "0.5rem 1rem";
|
|
9
|
+
export const buttonSizeMediumFontSize = "1rem";
|
|
10
|
+
export const buttonSizeMediumLineHeight = "1.5rem";
|
|
11
|
+
export const buttonSizeMediumPadding = "0.25rem calc(0.25rem * 3)";
|
|
12
|
+
export const buttonSizeSmallFontSize = "0.875rem";
|
|
13
|
+
export const buttonSizeSmallLineHeight = "1.25rem";
|
|
14
|
+
export const buttonSizeSmallPadding = "calc(0.25rem / 2) 0.5rem";
|
|
15
|
+
export const buttonSizeDefaultFontSize = "1rem";
|
|
16
|
+
export const buttonSizeDefaultLineHeight = "1.5rem";
|
|
17
|
+
export const buttonSizeDefaultPadding = "0.25rem calc(0.25rem * 3)";
|
|
18
|
+
export const buttonTypePrimaryDefaultBorderColorDark = "hsla(0, 0%, 0%, 0)";
|
|
19
|
+
export const buttonTypePrimaryDefaultBorderColorLight = "hsla(0, 0%, 0%, 0)";
|
|
20
|
+
export const buttonTypePrimaryDefaultBackgroundColorDark = "hsla(218, 100%, 28%, 1)";
|
|
21
|
+
export const buttonTypePrimaryDefaultBackgroundColorLight = "hsla(139, 100%, 78%, 1)";
|
|
22
|
+
export const buttonTypePrimaryDefaultTextColorDark = "hsla(40, 3%, 100%, 1)";
|
|
23
|
+
export const buttonTypePrimaryDefaultTextColorLight = "hsla(223, 67%, 18%, 1)";
|
|
24
|
+
export const buttonTypePrimaryHoverBorderColorDark = "hsla(0, 0%, 0%, 0)";
|
|
25
|
+
export const buttonTypePrimaryHoverBorderColorLight = "hsla(0, 0%, 0%, 0)";
|
|
26
|
+
export const buttonTypePrimaryHoverBackgroundColorDark = "hsla(218, 100%, 20%, 1)";
|
|
27
|
+
export const buttonTypePrimaryHoverBackgroundColorLight = "hsla(139, 100%, 70%, 1)";
|
|
28
|
+
export const buttonTypePrimaryHoverTextColorDark = "hsla(40, 3%, 100%, 1)";
|
|
29
|
+
export const buttonTypePrimaryHoverTextColorLight = "hsla(223, 67%, 18%, 1)";
|
|
30
|
+
export const buttonTypePrimaryActiveBorderColorDark = "hsla(0, 0%, 0%, 0)";
|
|
31
|
+
export const buttonTypePrimaryActiveBorderColorLight = "hsla(0, 0%, 0%, 0)";
|
|
32
|
+
export const buttonTypePrimaryActiveBackgroundColorDark = "hsla(218, 100%, 35%, 1)";
|
|
33
|
+
export const buttonTypePrimaryActiveBackgroundColorLight = "hsla(139, 100%, 85%, 1)";
|
|
34
|
+
export const buttonTypePrimaryActiveTextColorDark = "hsla(40, 3%, 100%, 1)";
|
|
35
|
+
export const buttonTypePrimaryActiveTextColorLight = "hsla(223, 67%, 18%, 1)";
|
|
36
|
+
export const buttonTypePrimaryFocusOutline = "0.25rem solid hsla(196, 100%, 43%, 1)";
|
|
37
|
+
export const buttonTypeSecondaryDefaultBorderColorDark = "hsla(218, 100%, 28%, 1)";
|
|
38
|
+
export const buttonTypeSecondaryDefaultBorderColorLight = "hsla(139, 100%, 78%, 1)";
|
|
39
|
+
export const buttonTypeSecondaryDefaultBackgroundColorDark = "hsla(0, 0%, 0%, 0)";
|
|
40
|
+
export const buttonTypeSecondaryDefaultBackgroundColorLight = "hsla(0, 0%, 0%, 0)";
|
|
41
|
+
export const buttonTypeSecondaryDefaultTextColorDark = "hsla(218, 100%, 28%, 1)";
|
|
42
|
+
export const buttonTypeSecondaryDefaultTextColorLight = "hsla(139, 100%, 78%, 1)";
|
|
43
|
+
export const buttonTypeSecondaryHoverBorderColorDark = "hsla(218, 100%, 28%, 1)";
|
|
44
|
+
export const buttonTypeSecondaryHoverBorderColorLight = "hsla(139, 100%, 78%, 1)";
|
|
45
|
+
export const buttonTypeSecondaryHoverBackgroundColorDark = "hsla(196, 74%, 80%, 1)";
|
|
46
|
+
export const buttonTypeSecondaryHoverBackgroundColorLight = "hsla(218, 100%, 25%, 1)";
|
|
47
|
+
export const buttonTypeSecondaryHoverTextColorDark = "hsla(218, 100%, 28%, 1)";
|
|
48
|
+
export const buttonTypeSecondaryHoverTextColorLight = "hsla(139, 100%, 78%, 1)";
|
|
49
|
+
export const buttonTypeSecondaryActiveBorderColorDark = "hsla(218, 100%, 28%, 1)";
|
|
50
|
+
export const buttonTypeSecondaryActiveBorderColorLight = "hsla(139, 100%, 78%, 1)";
|
|
51
|
+
export const buttonTypeSecondaryActiveBackgroundColorDark = "hsla(196, 74%, 85%, 1)";
|
|
52
|
+
export const buttonTypeSecondaryActiveBackgroundColorLight = "hsla(218, 100%, 35%, 1)";
|
|
53
|
+
export const buttonTypeSecondaryActiveTextColorDark = "hsla(218, 100%, 28%, 1)";
|
|
54
|
+
export const buttonTypeSecondaryActiveTextColorLight = "hsla(139, 100%, 78%, 1)";
|
|
55
|
+
export const buttonTypeSecondaryFocusOutline = "0.25rem solid hsla(196, 100%, 43%, 1)";
|
|
56
|
+
export const buttonTypeTertiaryDefaultBorderColorDark = "hsla(0, 0%, 0%, 0)";
|
|
57
|
+
export const buttonTypeTertiaryDefaultBorderColorLight = "hsla(0, 0%, 0%, 0)";
|
|
58
|
+
export const buttonTypeTertiaryDefaultBackgroundColorDark = "hsla(0, 0%, 0%, 0)";
|
|
59
|
+
export const buttonTypeTertiaryDefaultBackgroundColorLight = "hsla(0, 0%, 0%, 0)";
|
|
60
|
+
export const buttonTypeTertiaryDefaultTextColorDark = "hsla(218, 100%, 28%, 1)";
|
|
61
|
+
export const buttonTypeTertiaryDefaultTextColorLight = "hsla(139, 100%, 78%, 1)";
|
|
62
|
+
export const buttonTypeTertiaryHoverBorderColorDark = "hsla(0, 0%, 0%, 0)";
|
|
63
|
+
export const buttonTypeTertiaryHoverBorderColorLight = "hsla(0, 0%, 0%, 0)";
|
|
64
|
+
export const buttonTypeTertiaryHoverBackgroundColorDark = "hsla(196, 74%, 80%, 1)";
|
|
65
|
+
export const buttonTypeTertiaryHoverBackgroundColorLight = "hsla(218, 100%, 25%, 1)";
|
|
66
|
+
export const buttonTypeTertiaryHoverTextColorDark = "hsla(218, 100%, 28%, 1)";
|
|
67
|
+
export const buttonTypeTertiaryHoverTextColorLight = "hsla(139, 100%, 78%, 1)";
|
|
68
|
+
export const buttonTypeTertiaryActiveBorderColorDark = "hsla(0, 0%, 0%, 0)";
|
|
69
|
+
export const buttonTypeTertiaryActiveBorderColorLight = "hsla(0, 0%, 0%, 0)";
|
|
70
|
+
export const buttonTypeTertiaryActiveBackgroundColorDark = "hsla(196, 74%, 85%, 1)";
|
|
71
|
+
export const buttonTypeTertiaryActiveBackgroundColorLight = "hsla(218, 100%, 35%, 1)";
|
|
72
|
+
export const buttonTypeTertiaryActiveTextColorDark = "hsla(218, 100%, 28%, 1)";
|
|
73
|
+
export const buttonTypeTertiaryActiveTextColorLight = "hsla(139, 100%, 78%, 1)";
|
|
74
|
+
export const buttonTypeTertiaryFocusOutline = "0.25rem solid hsla(196, 100%, 43%, 1)";
|
|
75
|
+
export const buttonDisabledCursor = "default";
|
|
76
|
+
export const buttonDisabledOpacity = "0.5";
|
|
77
|
+
export const buttonBorderStyle = "solid";
|
|
78
|
+
export const buttonBorderWidth = "calc(0.125rem / 2)";
|
|
79
|
+
export const buttonFontFamily = "'Avenir Next', Arial, sans-serif";
|
|
80
|
+
export const buttonFontSize = "1rem";
|
|
81
|
+
export const buttonLineHeight = "1.5rem";
|
|
82
|
+
export const buttonFontWeight = "500";
|
|
83
|
+
export const buttonPadding = "calc(0.25rem * 1.5) calc(0.25rem * 3)";
|
|
84
|
+
export const buttonTransition = "all 0.15s ease-in-out";
|
|
85
|
+
export const buttonCursor = "pointer";
|
|
@@ -4,6 +4,7 @@ import Box from '../box'
|
|
|
4
4
|
import Button from '../button'
|
|
5
5
|
import { omitThemingProps, useStyleConfig, vui, VuiComponent } from '../core'
|
|
6
6
|
import Icon from '../icon'
|
|
7
|
+
import { Popover } from '../popover'
|
|
7
8
|
import T from '../t'
|
|
8
9
|
import { cs } from '../utils'
|
|
9
10
|
import { useSidemenuContext } from './context'
|
|
@@ -19,17 +20,13 @@ export const SidemenuItem = vui<'button', SidemenuItemProps>((props, ref) => {
|
|
|
19
20
|
const isDark = variant === 'dark'
|
|
20
21
|
const hasChildrenExpanded = !!children && isExpandedInternal
|
|
21
22
|
|
|
22
|
-
const innerContent =
|
|
23
|
+
const innerContent = (
|
|
23
24
|
<Box centerV px={2} py={1} w="100%" whiteSpace="pre">
|
|
24
25
|
<Icon ml={iconSize === 'sm' ? '4px' : 0} name={icon} size={iconSize} />
|
|
25
26
|
<T isTruncated ml={2}>
|
|
26
27
|
{title}
|
|
27
28
|
</T>
|
|
28
29
|
</Box>
|
|
29
|
-
) : (
|
|
30
|
-
<Box centerV px={2} py={1} w="100%">
|
|
31
|
-
<Icon ml={iconSize === 'sm' ? '4px' : 0} name={icon} size={iconSize} />
|
|
32
|
-
</Box>
|
|
33
30
|
)
|
|
34
31
|
|
|
35
32
|
const toggle = (e: MouseEvent<HTMLButtonElement>) => {
|
|
@@ -38,39 +35,53 @@ export const SidemenuItem = vui<'button', SidemenuItemProps>((props, ref) => {
|
|
|
38
35
|
setDisplayChildren(!displayChildren)
|
|
39
36
|
}
|
|
40
37
|
|
|
38
|
+
const buttonStyles = {
|
|
39
|
+
alignItems: 'center',
|
|
40
|
+
border: 'none',
|
|
41
|
+
borderRadius: 0,
|
|
42
|
+
borderLeft: '3px solid transparent',
|
|
43
|
+
borderLeftColor: isActive ? (isDark ? 'digiGreen.main' : 'seaBlue.main') : undefined,
|
|
44
|
+
color: hasChildrenExpanded ? 'seaBlue.main' : isDark ? 'digiGreen.main' : 'sandstone.10',
|
|
45
|
+
h: 'auto',
|
|
46
|
+
justifyContent: 'space-between',
|
|
47
|
+
onClick: () => onClick?.(),
|
|
48
|
+
p: 0,
|
|
49
|
+
variant: isDark ? 'tertiaryLight' : 'tertiaryDark',
|
|
50
|
+
w: '100%',
|
|
51
|
+
...styles.item,
|
|
52
|
+
minH: size === 'lg' ? '56px' : '40px',
|
|
53
|
+
...rest
|
|
54
|
+
}
|
|
55
|
+
|
|
41
56
|
return (
|
|
42
57
|
<Box flexDirection="column" ref={ref} w="100%">
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
/>
|
|
71
|
-
)}
|
|
72
|
-
</Button>
|
|
73
|
-
{!!children && displayChildren && (
|
|
58
|
+
{!hasChildrenExpanded && children ? (
|
|
59
|
+
<Popover offset={[0, 0]} placement="right-start" trigger="mouseenter">
|
|
60
|
+
<Popover.Trigger className={cs('vui-sidemenu-item-popover', className)} {...buttonStyles}>
|
|
61
|
+
<Box borderLeft={`3px solid ${isDark ? 'digiGreen.main' : 'seaBlue.main'}`}>{innerContent}</Box>
|
|
62
|
+
</Popover.Trigger>
|
|
63
|
+
<Popover.Content shadow={'none'}>
|
|
64
|
+
<Box flexDirection="column" justifyContent="start" w="100%">
|
|
65
|
+
{children}
|
|
66
|
+
</Box>
|
|
67
|
+
</Popover.Content>
|
|
68
|
+
</Popover>
|
|
69
|
+
) : (
|
|
70
|
+
<Button className={cs('vui-sidemenu-item', className)} {...buttonStyles}>
|
|
71
|
+
{innerContent}
|
|
72
|
+
{hasChildrenExpanded && (
|
|
73
|
+
<Button
|
|
74
|
+
className="vui-sidemenu-item-expand"
|
|
75
|
+
icon={displayChildren ? 'falChevronUp' : 'falChevronDown'}
|
|
76
|
+
mr={1}
|
|
77
|
+
onClick={toggle}
|
|
78
|
+
size="sm"
|
|
79
|
+
variant={isDark ? 'tertiaryLight' : 'tertiaryDark'}
|
|
80
|
+
/>
|
|
81
|
+
)}
|
|
82
|
+
</Button>
|
|
83
|
+
)}
|
|
84
|
+
{!!children && hasChildrenExpanded && displayChildren && (
|
|
74
85
|
<Box flexDirection="column" justifyContent="start" w="100%">
|
|
75
86
|
{children}
|
|
76
87
|
</Box>
|
package/src/spinner/spinner.tsx
CHANGED
|
@@ -29,8 +29,8 @@ export const Spinner = vui<'div', SpinnerProps>((props, ref) => {
|
|
|
29
29
|
thickness,
|
|
30
30
|
...rest
|
|
31
31
|
} = props
|
|
32
|
-
const styles = useStyleConfig('Spinner', props)
|
|
33
32
|
|
|
33
|
+
const styles = useStyleConfig('Spinner', props)
|
|
34
34
|
const isCustomSize = typeof size === 'number'
|
|
35
35
|
const positionProps = spinnerPositionMapping[textPosition]
|
|
36
36
|
const speed = spinnerSpeedMapping[speedProp] ?? speedProp
|
|
@@ -49,8 +49,8 @@ export const Spinner = vui<'div', SpinnerProps>((props, ref) => {
|
|
|
49
49
|
gap={1}
|
|
50
50
|
ref={ref}
|
|
51
51
|
transitionDuration="fast"
|
|
52
|
-
{...styles.container}
|
|
53
52
|
{...positionProps.container}
|
|
53
|
+
{...styles.container}
|
|
54
54
|
{...rest}
|
|
55
55
|
>
|
|
56
56
|
<SpinnerCircle
|
|
@@ -59,8 +59,7 @@ export const Spinner = vui<'div', SpinnerProps>((props, ref) => {
|
|
|
59
59
|
{...styles.circle}
|
|
60
60
|
{...circleProps}
|
|
61
61
|
/>
|
|
62
|
-
|
|
63
|
-
{text && (
|
|
62
|
+
{!!text && (
|
|
64
63
|
<T className="vui-spinnerText" {...styles.text}>
|
|
65
64
|
{text}
|
|
66
65
|
</T>
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { ReactNode } from 'react'
|
|
2
|
+
|
|
1
3
|
import { BoxProps } from '../box'
|
|
2
4
|
import { ThemingProps } from '../theme'
|
|
3
5
|
|
|
@@ -14,7 +16,7 @@ export type SpinnerProps = Omit<BoxProps, 'size' | 'variant'> &
|
|
|
14
16
|
/** Theme size or a number defining height and width. */
|
|
15
17
|
size?: ThemingProps<'Spinner'>['size'] | number
|
|
16
18
|
/** Displays given text next to the spinner. */
|
|
17
|
-
text?:
|
|
19
|
+
text?: ReactNode
|
|
18
20
|
/** Text placement relative to the spinner. */
|
|
19
21
|
textPosition?: 'bottom' | 'left' | 'right' | 'top'
|
|
20
22
|
/** Thickness of the spinner circle in pixels. */
|