@veracity/vui 2.28.7 → 2.28.8-beta.1
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/copyToClipboard/copyToClipboard.d.ts.map +1 -1
- package/dist/cjs/copyToClipboard/copyToClipboard.js +3 -2
- package/dist/cjs/copyToClipboard/copyToClipboard.js.map +1 -1
- package/dist/cjs/copyToClipboard/copyToClipboard.types.d.ts +3 -0
- package/dist/cjs/copyToClipboard/copyToClipboard.types.d.ts.map +1 -1
- package/dist/cjs/input/consts.d.ts +1 -0
- package/dist/cjs/input/consts.d.ts.map +1 -1
- package/dist/cjs/input/consts.js +2 -1
- package/dist/cjs/input/consts.js.map +1 -1
- package/dist/cjs/input/input.d.ts.map +1 -1
- package/dist/cjs/input/input.js +1 -1
- package/dist/cjs/input/input.js.map +1 -1
- package/dist/cjs/link/link.d.ts.map +1 -1
- package/dist/cjs/link/link.js +8 -16
- package/dist/cjs/link/link.js.map +1 -1
- package/dist/cjs/textarea/textarea.d.ts.map +1 -1
- package/dist/cjs/textarea/textarea.js +1 -1
- package/dist/cjs/textarea/textarea.js.map +1 -1
- package/dist/esm/copyToClipboard/copyToClipboard.d.ts.map +1 -1
- package/dist/esm/copyToClipboard/copyToClipboard.js +3 -2
- package/dist/esm/copyToClipboard/copyToClipboard.js.map +1 -1
- package/dist/esm/copyToClipboard/copyToClipboard.types.d.ts +3 -0
- package/dist/esm/copyToClipboard/copyToClipboard.types.d.ts.map +1 -1
- package/dist/esm/input/consts.d.ts +1 -0
- package/dist/esm/input/consts.d.ts.map +1 -1
- package/dist/esm/input/consts.js +1 -0
- package/dist/esm/input/consts.js.map +1 -1
- package/dist/esm/input/input.d.ts.map +1 -1
- package/dist/esm/input/input.js +2 -2
- package/dist/esm/input/input.js.map +1 -1
- package/dist/esm/link/link.d.ts.map +1 -1
- package/dist/esm/link/link.js +8 -16
- package/dist/esm/link/link.js.map +1 -1
- package/dist/esm/textarea/textarea.d.ts.map +1 -1
- package/dist/esm/textarea/textarea.js +2 -2
- package/dist/esm/textarea/textarea.js.map +1 -1
- package/dist/tsconfig.legacy.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/src/copyToClipboard/copyToClipboard.tsx +6 -5
- package/src/copyToClipboard/copyToClipboard.types.ts +3 -0
- package/src/input/consts.ts +2 -0
- package/src/input/input.tsx +9 -2
- package/src/link/link.tsx +10 -17
- package/src/textarea/textarea.tsx +7 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veracity/vui",
|
|
3
|
-
"version": "2.28.
|
|
3
|
+
"version": "2.28.8-beta.1",
|
|
4
4
|
"description": "Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.",
|
|
5
5
|
"module": "./dist/esm/index.js",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
10
10
|
"scripts": {
|
|
11
11
|
"clean": "rimraf .turbo dist node_modules",
|
|
12
|
+
"prebuild": "tsc -p tsconfig.json",
|
|
12
13
|
"build": "tsc -p tsconfig.json && tsc -p tsconfig.legacy.json",
|
|
13
14
|
"dev": "tsc --watch -p tsconfig.json",
|
|
14
15
|
"eslint": "eslint \"src/**/*.{ts,tsx}\"",
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
|
|
3
1
|
import Button from '../button'
|
|
4
2
|
import { vui } from '../core'
|
|
3
|
+
import { IconProp } from '../icon'
|
|
5
4
|
import { cs } from '../utils'
|
|
6
5
|
import { CopyToClipboardProps } from './copyToClipboard.types'
|
|
7
6
|
import { useCopyToClipboard } from './useCopyToClipboard'
|
|
8
7
|
|
|
8
|
+
const defaultIcon: IconProp = 'falCopy'
|
|
9
|
+
|
|
9
10
|
/**
|
|
10
11
|
* A helper button component.
|
|
11
12
|
*
|
|
@@ -15,16 +16,16 @@ import { useCopyToClipboard } from './useCopyToClipboard'
|
|
|
15
16
|
*
|
|
16
17
|
*/
|
|
17
18
|
export const CopyToClipboard = vui<'button', CopyToClipboardProps>((props, ref) => {
|
|
18
|
-
const { disabled, copyText, className, size = 'sm', variant = 'tertiaryDark', ...rest } = props
|
|
19
|
+
const { disabled, copyText, className, icon = defaultIcon, size = 'sm', variant = 'tertiaryDark', ...rest } = props
|
|
19
20
|
|
|
20
21
|
const { copy, isCopyDisabled } = useCopyToClipboard(copyText)
|
|
21
22
|
|
|
22
23
|
return (
|
|
23
24
|
<Button
|
|
24
|
-
aria-label=
|
|
25
|
+
aria-label={`Copy to clipboard ${copyText}`}
|
|
25
26
|
className={cs('vui-copy-to-clipboard', className)}
|
|
26
27
|
disabled={disabled || isCopyDisabled}
|
|
27
|
-
icon=
|
|
28
|
+
icon={icon}
|
|
28
29
|
onClick={() => copy()}
|
|
29
30
|
ref={ref}
|
|
30
31
|
size={size}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { IconProp } from '../icon'
|
|
1
2
|
import { SystemProps } from '../system'
|
|
2
3
|
import { ThemingProps } from '../theme'
|
|
3
4
|
|
|
@@ -5,6 +6,8 @@ export type CopyToClipboardProps = SystemProps &
|
|
|
5
6
|
ThemingProps<'Button'> & {
|
|
6
7
|
/** Text string for copying */
|
|
7
8
|
copyText: string
|
|
9
|
+
/** Icon @default falCopy */
|
|
10
|
+
icon?: IconProp
|
|
8
11
|
/** Button size @default "xs" */
|
|
9
12
|
size?: 'xs' | 'sm' | 'md' | 'lg'
|
|
10
13
|
}
|
package/src/input/consts.ts
CHANGED
package/src/input/input.tsx
CHANGED
|
@@ -7,7 +7,14 @@ import Label from '../label'
|
|
|
7
7
|
import { T } from '../t'
|
|
8
8
|
import { ChangeEvent, cs, filterUndefined, isString } from '../utils'
|
|
9
9
|
import AutoCompletePopover from './autoCompletePopover'
|
|
10
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
clearIconSize,
|
|
12
|
+
displayValueOnlyTextSize,
|
|
13
|
+
helpTextMargin,
|
|
14
|
+
helpTextSize,
|
|
15
|
+
inputColors,
|
|
16
|
+
inputStateMapping,
|
|
17
|
+
} from './consts'
|
|
11
18
|
import { InputProvider } from './context'
|
|
12
19
|
import { getInitialCount } from './helpers'
|
|
13
20
|
import HelpText from './helpText'
|
|
@@ -230,7 +237,7 @@ export const Input = vui<'div', InputProps>((props, ref) => {
|
|
|
230
237
|
</InputBase>
|
|
231
238
|
{!!helpText && <HelpText size={helpTextSize[size]}>{helpText}</HelpText>}
|
|
232
239
|
{!!errorText && (
|
|
233
|
-
<HelpText isError size={helpTextSize[size]}>
|
|
240
|
+
<HelpText isError mr={showCount ? helpTextMargin : undefined} size={helpTextSize[size]}>
|
|
234
241
|
{errorText}
|
|
235
242
|
</HelpText>
|
|
236
243
|
)}
|
package/src/link/link.tsx
CHANGED
|
@@ -17,25 +17,17 @@ export const LinkBase = styled.aBox.attrs((props: LinkProps) => ({
|
|
|
17
17
|
display: inline-flex;
|
|
18
18
|
line-height: normal;
|
|
19
19
|
outline: none;
|
|
20
|
-
text-decoration: none;
|
|
21
|
-
transition-duration: instant;
|
|
22
20
|
width: fit-content;
|
|
23
|
-
position: relative;
|
|
24
21
|
|
|
25
|
-
&:not(.vui-listItemLink) > span
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
left: 0;
|
|
30
|
-
width: 100%;
|
|
31
|
-
height: ${props => (props.isUnderlined ? '1px' : 0)};
|
|
32
|
-
background-color: currentColor;
|
|
33
|
-
opacity: ${props => (props.isUnderlined ? 1 : 0)};
|
|
22
|
+
&:not(.vui-listItemLink) > span {
|
|
23
|
+
text-decoration-line: ${props => (props.isUnderlined ? 'underline' : 'none')};
|
|
24
|
+
text-decoration-thickness: 1px;
|
|
25
|
+
text-underline-offset: 2px;
|
|
34
26
|
}
|
|
35
27
|
|
|
36
|
-
& > span:hover
|
|
37
|
-
|
|
38
|
-
|
|
28
|
+
& > span:hover {
|
|
29
|
+
text-decoration-line: underline;
|
|
30
|
+
text-decoration-thickness: ${props => (props.isUnderlined ? '2px' : '1px')};
|
|
39
31
|
}
|
|
40
32
|
`
|
|
41
33
|
|
|
@@ -58,8 +50,8 @@ export const Link = vui<'a', LinkProps>((props, ref) => {
|
|
|
58
50
|
weight,
|
|
59
51
|
...rest
|
|
60
52
|
} = props
|
|
61
|
-
const styles = useStyleConfig('Link', props)
|
|
62
53
|
|
|
54
|
+
const styles = useStyleConfig('Link', props)
|
|
63
55
|
const context = useMemo(() => filterUndefined({ size, variant }), [size, variant])
|
|
64
56
|
|
|
65
57
|
const aliasedProps = filterUndefined({
|
|
@@ -80,7 +72,7 @@ export const Link = vui<'a', LinkProps>((props, ref) => {
|
|
|
80
72
|
{...rest}
|
|
81
73
|
>
|
|
82
74
|
{isString(iconLeft) ? <LinkIcon mr={1} name={iconLeft} /> : iconLeft}
|
|
83
|
-
<T
|
|
75
|
+
<T>{children ?? (isReactText(text) ? <LinkText text={text} /> : text)}</T>
|
|
84
76
|
{isString(iconRight) ? <LinkIcon ml={1} name={iconRight} /> : iconRight}
|
|
85
77
|
</LinkBase>
|
|
86
78
|
</LinkProvider>
|
|
@@ -93,4 +85,5 @@ export const Link = vui<'a', LinkProps>((props, ref) => {
|
|
|
93
85
|
Link.Icon = LinkIcon
|
|
94
86
|
Link.Text = LinkText
|
|
95
87
|
Link.displayName = 'Link'
|
|
88
|
+
|
|
96
89
|
export default Link
|
|
@@ -2,7 +2,7 @@ import { useEffect, useId, useState } from 'react'
|
|
|
2
2
|
|
|
3
3
|
import { Box, Label } from '..'
|
|
4
4
|
import { omitThemingProps, styled, useStyleConfig, vui } from '../core'
|
|
5
|
-
import { helpTextSize, inputColors } from '../input/consts'
|
|
5
|
+
import { helpTextMargin, helpTextSize, inputColors } from '../input/consts'
|
|
6
6
|
import HelpText from '../input/helpText'
|
|
7
7
|
import T from '../t'
|
|
8
8
|
import { ChangeEvent, cs, filterUndefined, isString } from '../utils'
|
|
@@ -157,14 +157,13 @@ export const Textarea = vui<'div', TextareaProps>((props, ref) => {
|
|
|
157
157
|
{count} {maxLength ? `/ ${maxLength}` : null}
|
|
158
158
|
</T>
|
|
159
159
|
)}
|
|
160
|
-
|
|
161
|
-
{!!helpText && <HelpText size={helpTextSize['lg']}>{helpText}</HelpText>}
|
|
162
|
-
{!!errorText && (
|
|
163
|
-
<HelpText isError size={helpTextSize['lg']}>
|
|
164
|
-
{errorText}
|
|
165
|
-
</HelpText>
|
|
166
|
-
)}
|
|
167
160
|
</TextareaBase>
|
|
161
|
+
{!!helpText && <HelpText size={helpTextSize['lg']}>{helpText}</HelpText>}
|
|
162
|
+
{!!errorText && (
|
|
163
|
+
<HelpText isError mr={showCount ? helpTextMargin : undefined} size={helpTextSize['lg']}>
|
|
164
|
+
{errorText}
|
|
165
|
+
</HelpText>
|
|
166
|
+
)}
|
|
168
167
|
</Box>
|
|
169
168
|
)
|
|
170
169
|
})
|