@instructure/ui-link 11.7.3 → 11.7.4-pr-snapshot-1781695314229
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/CHANGELOG.md +44 -0
- package/LICENSE.md +1 -0
- package/{lib/Link/v2/props.js → babel.config.cjs} +12 -7
- package/es/Link/v1/index.js +4 -4
- package/es/Link/v2/index.js +7 -26
- package/es/exports/a.js +2 -1
- package/es/exports/b.js +2 -1
- package/package.json +16 -21
- package/src/Link/v1/README.md +4 -19
- package/src/Link/v1/index.tsx +4 -3
- package/src/Link/v2/README.md +6 -30
- package/src/Link/v2/index.tsx +7 -44
- package/src/Link/v2/props.ts +1 -5
- package/src/exports/a.ts +1 -1
- package/src/exports/b.ts +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/types/Link/v1/index.d.ts +1 -0
- package/types/Link/v1/index.d.ts.map +1 -1
- package/types/Link/v2/index.d.ts +2 -2
- package/types/Link/v2/index.d.ts.map +1 -1
- package/types/Link/v2/props.d.ts +1 -5
- package/types/Link/v2/props.d.ts.map +1 -1
- package/types/exports/a.d.ts +1 -1
- package/types/exports/a.d.ts.map +1 -1
- package/types/exports/b.d.ts +1 -1
- package/types/exports/b.d.ts.map +1 -1
- package/lib/Link/v1/index.js +0 -230
- package/lib/Link/v1/props.js +0 -31
- package/lib/Link/v1/styles.js +0 -198
- package/lib/Link/v1/theme.js +0 -91
- package/lib/Link/v2/index.js +0 -271
- package/lib/Link/v2/styles.js +0 -249
- package/lib/exports/a.js +0 -12
- package/lib/exports/b.js +0 -12
- package/lib/package.json +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,50 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [11.7.4-pr-snapshot-1781695314229](https://github.com/instructure/instructure-ui/compare/v11.7.3...v11.7.4-pr-snapshot-1781695314229) (2026-06-17)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **many:** remove deprecated v2 items ([eaf8876](https://github.com/instructure/instructure-ui/commit/eaf88767c9beb95c4e09ee5705c387dfd79e4cb7))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### BREAKING CHANGES
|
|
15
|
+
|
|
16
|
+
* **many:** Removed FormFieldLabel component
|
|
17
|
+
|
|
18
|
+
Removed _content prop from DrawerLayout.Tray and DrawerLayout.Content
|
|
19
|
+
|
|
20
|
+
Removed _link prop from Link
|
|
21
|
+
|
|
22
|
+
Removed _node prop from Menu.Item
|
|
23
|
+
|
|
24
|
+
Removed _root prop from Pagination, TreeBrowser
|
|
25
|
+
|
|
26
|
+
Removed _select prop from SimpleSelect and TimeSelect
|
|
27
|
+
|
|
28
|
+
Removed _ref prop from TruncateText
|
|
29
|
+
|
|
30
|
+
Removed _element prop from View
|
|
31
|
+
|
|
32
|
+
Removed color="ai" from Heading
|
|
33
|
+
|
|
34
|
+
Removed variant="inline-small" and variant="standalone-small" from Link
|
|
35
|
+
|
|
36
|
+
Removed title prop from Tag
|
|
37
|
+
|
|
38
|
+
Removed focusRingBorderRadius prop from View
|
|
39
|
+
|
|
40
|
+
Removed hideActionsUserSeparator prop from TopNavBar.Layout
|
|
41
|
+
|
|
42
|
+
Removed handleFocusOutlineColor, handleFocusOutlineWidth, handleShadowColor from RangeInput
|
|
43
|
+
|
|
44
|
+
INSTUI-5025
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
6
50
|
## [11.7.3](https://github.com/instructure/instructure-ui/compare/v11.7.2...v11.7.3) (2026-05-07)
|
|
7
51
|
|
|
8
52
|
|
package/LICENSE.md
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.allowedProps = void 0;
|
|
7
1
|
/*
|
|
8
2
|
* The MIT License (MIT)
|
|
9
3
|
*
|
|
@@ -28,4 +22,15 @@ exports.allowedProps = void 0;
|
|
|
28
22
|
* SOFTWARE.
|
|
29
23
|
*/
|
|
30
24
|
|
|
31
|
-
|
|
25
|
+
module.exports = {
|
|
26
|
+
presets: [
|
|
27
|
+
[
|
|
28
|
+
require('@instructure/ui-babel-preset'),
|
|
29
|
+
{
|
|
30
|
+
esModules: Boolean(process.env.ES_MODULES),
|
|
31
|
+
removeConsole: process.env.NODE_ENV === 'production',
|
|
32
|
+
transformImports: Boolean(process.env.TRANSFORM_IMPORTS)
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
]
|
|
36
|
+
}
|
package/es/Link/v1/index.js
CHANGED
|
@@ -31,9 +31,9 @@ import { getElementType, getInteraction, matchComponentTypes, passthroughProps,
|
|
|
31
31
|
import { combineDataCid } from '@instructure/ui-utils';
|
|
32
32
|
import { logWarn as warn } from '@instructure/console';
|
|
33
33
|
import { withStyle } from '@instructure/emotion';
|
|
34
|
-
import generateStyle from
|
|
35
|
-
import generateComponentTheme from
|
|
36
|
-
import { allowedProps } from
|
|
34
|
+
import generateStyle from './styles.js';
|
|
35
|
+
import generateComponentTheme from './theme.js';
|
|
36
|
+
import { allowedProps } from './props.js';
|
|
37
37
|
import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
38
38
|
/**
|
|
39
39
|
---
|
|
@@ -41,7 +41,7 @@ category: components
|
|
|
41
41
|
---
|
|
42
42
|
**/
|
|
43
43
|
let Link = (_dec = withStyle(generateStyle, generateComponentTheme), _dec(_class = class Link extends Component {
|
|
44
|
-
static displayName =
|
|
44
|
+
static displayName = 'Link';
|
|
45
45
|
static componentId = 'Link';
|
|
46
46
|
static allowedProps = allowedProps;
|
|
47
47
|
static defaultProps = {
|
package/es/Link/v2/index.js
CHANGED
|
@@ -32,8 +32,8 @@ import { combineDataCid } from '@instructure/ui-utils';
|
|
|
32
32
|
import { logWarn as warn } from '@instructure/console';
|
|
33
33
|
import { renderIconWithProps } from '@instructure/ui-icons';
|
|
34
34
|
import { withStyleNew } from '@instructure/emotion';
|
|
35
|
-
import generateStyle from
|
|
36
|
-
import { allowedProps } from
|
|
35
|
+
import generateStyle from './styles.js';
|
|
36
|
+
import { allowedProps } from './props.js';
|
|
37
37
|
import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
38
38
|
/**
|
|
39
39
|
---
|
|
@@ -41,7 +41,7 @@ category: components
|
|
|
41
41
|
---
|
|
42
42
|
**/
|
|
43
43
|
let Link = (_dec = withStyleNew(generateStyle), _dec(_class = class Link extends Component {
|
|
44
|
-
static displayName =
|
|
44
|
+
static displayName = 'Link';
|
|
45
45
|
static componentId = 'Link';
|
|
46
46
|
static allowedProps = allowedProps;
|
|
47
47
|
static defaultProps = {
|
|
@@ -54,9 +54,6 @@ let Link = (_dec = withStyleNew(generateStyle), _dec(_class = class Link extends
|
|
|
54
54
|
state = {
|
|
55
55
|
hasFocus: false
|
|
56
56
|
};
|
|
57
|
-
get _link() {
|
|
58
|
-
return this.ref;
|
|
59
|
-
}
|
|
60
57
|
ref = null;
|
|
61
58
|
componentDidMount() {
|
|
62
59
|
this.props.makeStyles?.(this.makeStyleProps());
|
|
@@ -66,23 +63,11 @@ let Link = (_dec = withStyleNew(generateStyle), _dec(_class = class Link extends
|
|
|
66
63
|
}
|
|
67
64
|
makeStyleProps = () => {
|
|
68
65
|
const {
|
|
69
|
-
variant
|
|
66
|
+
variant,
|
|
70
67
|
size: sizeProp
|
|
71
68
|
} = this.props;
|
|
72
|
-
|
|
73
|
-
// Handle deprecated variant values by mapping them to new variant + size props
|
|
74
|
-
let variant = variantProp;
|
|
75
69
|
let size = sizeProp;
|
|
76
|
-
if (
|
|
77
|
-
warn(false, `[Link] The variant value "${variantProp}" is deprecated. Use variant="${variantProp.replace('-small', '')}" with size="small" instead.`);
|
|
78
|
-
variant = variantProp.replace('-small', '');
|
|
79
|
-
// Only set size from deprecated variant if size prop is not explicitly provided
|
|
80
|
-
if (!sizeProp) {
|
|
81
|
-
size = 'small';
|
|
82
|
-
}
|
|
83
|
-
} else if ((variantProp === 'inline' || variantProp === 'standalone') && !sizeProp) {
|
|
84
|
-
// When using new variant values without explicit size, default to medium
|
|
85
|
-
// This maintains the old behavior where 'inline' and 'standalone' were medium-sized
|
|
70
|
+
if ((variant === 'inline' || variant === 'standalone') && !sizeProp) {
|
|
86
71
|
size = 'medium';
|
|
87
72
|
}
|
|
88
73
|
return {
|
|
@@ -192,18 +177,14 @@ let Link = (_dec = withStyleNew(generateStyle), _dec(_class = class Link extends
|
|
|
192
177
|
const {
|
|
193
178
|
display,
|
|
194
179
|
renderIcon,
|
|
195
|
-
variant
|
|
180
|
+
variant,
|
|
196
181
|
size: sizeProp
|
|
197
182
|
} = this.props;
|
|
198
183
|
warn(
|
|
199
184
|
// if display prop is used, warn about icon or TruncateText
|
|
200
185
|
display === undefined, '[Link] Using the display property with an icon may cause layout issues.');
|
|
201
|
-
|
|
202
|
-
// Determine the actual size being used (considering deprecated variants)
|
|
203
186
|
let size = sizeProp;
|
|
204
|
-
if (
|
|
205
|
-
size = sizeProp || 'small';
|
|
206
|
-
} else if ((variantProp === 'inline' || variantProp === 'standalone') && !sizeProp) {
|
|
187
|
+
if ((variant === 'inline' || variant === 'standalone') && !sizeProp) {
|
|
207
188
|
size = 'medium';
|
|
208
189
|
}
|
|
209
190
|
|
package/es/exports/a.js
CHANGED
package/es/exports/b.js
CHANGED
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@instructure/ui-link",
|
|
3
|
-
"version": "11.7.
|
|
3
|
+
"version": "11.7.4-pr-snapshot-1781695314229",
|
|
4
|
+
"type": "module",
|
|
4
5
|
"description": "A component for creating links",
|
|
5
6
|
"author": "Instructure, Inc. Engineering and Product Design",
|
|
6
7
|
"module": "./es/index.js",
|
|
7
|
-
"main": "./lib/index.js",
|
|
8
8
|
"types": "./types/index.d.ts",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
@@ -15,25 +15,25 @@
|
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@babel/runtime": "^7.29.2",
|
|
18
|
-
"@instructure/console": "11.7.
|
|
19
|
-
"@instructure/
|
|
20
|
-
"@instructure/
|
|
21
|
-
"@instructure/ui-color-utils": "11.7.
|
|
22
|
-
"@instructure/
|
|
23
|
-
"@instructure/ui-
|
|
24
|
-
"@instructure/ui-
|
|
25
|
-
"@instructure/ui-react-utils": "11.7.
|
|
26
|
-
"@instructure/ui-themes": "11.7.
|
|
27
|
-
"@instructure/ui-utils": "11.7.
|
|
28
|
-
"@instructure/ui-view": "11.7.
|
|
18
|
+
"@instructure/console": "11.7.4-pr-snapshot-1781695314229",
|
|
19
|
+
"@instructure/emotion": "11.7.4-pr-snapshot-1781695314229",
|
|
20
|
+
"@instructure/shared-types": "11.7.4-pr-snapshot-1781695314229",
|
|
21
|
+
"@instructure/ui-color-utils": "11.7.4-pr-snapshot-1781695314229",
|
|
22
|
+
"@instructure/ui-a11y-utils": "11.7.4-pr-snapshot-1781695314229",
|
|
23
|
+
"@instructure/ui-dom-utils": "11.7.4-pr-snapshot-1781695314229",
|
|
24
|
+
"@instructure/ui-icons": "11.7.4-pr-snapshot-1781695314229",
|
|
25
|
+
"@instructure/ui-react-utils": "11.7.4-pr-snapshot-1781695314229",
|
|
26
|
+
"@instructure/ui-themes": "11.7.4-pr-snapshot-1781695314229",
|
|
27
|
+
"@instructure/ui-utils": "11.7.4-pr-snapshot-1781695314229",
|
|
28
|
+
"@instructure/ui-view": "11.7.4-pr-snapshot-1781695314229"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@testing-library/jest-dom": "^6.6.3",
|
|
32
32
|
"@testing-library/react": "15.0.7",
|
|
33
33
|
"@testing-library/user-event": "^14.6.1",
|
|
34
34
|
"vitest": "^3.2.2",
|
|
35
|
-
"@instructure/ui-axe-check": "11.7.
|
|
36
|
-
"@instructure/ui-babel-preset": "11.7.
|
|
35
|
+
"@instructure/ui-axe-check": "11.7.4-pr-snapshot-1781695314229",
|
|
36
|
+
"@instructure/ui-babel-preset": "11.7.4-pr-snapshot-1781695314229"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"react": ">=18 <=19"
|
|
@@ -43,7 +43,6 @@
|
|
|
43
43
|
},
|
|
44
44
|
"sideEffects": false,
|
|
45
45
|
"exports": {
|
|
46
|
-
"./lib/*": "./lib/*",
|
|
47
46
|
"./es/*": "./es/*",
|
|
48
47
|
"./types/*": "./types/*",
|
|
49
48
|
"./package.json": "./package.json",
|
|
@@ -52,28 +51,24 @@
|
|
|
52
51
|
"src": "./src/exports/a.ts",
|
|
53
52
|
"types": "./types/exports/a.d.ts",
|
|
54
53
|
"import": "./es/exports/a.js",
|
|
55
|
-
"require": "./lib/exports/a.js",
|
|
56
54
|
"default": "./es/exports/a.js"
|
|
57
55
|
},
|
|
58
56
|
"./v11_6": {
|
|
59
57
|
"src": "./src/exports/a.ts",
|
|
60
58
|
"types": "./types/exports/a.d.ts",
|
|
61
59
|
"import": "./es/exports/a.js",
|
|
62
|
-
"require": "./lib/exports/a.js",
|
|
63
60
|
"default": "./es/exports/a.js"
|
|
64
61
|
},
|
|
65
62
|
"./v11_7": {
|
|
66
63
|
"src": "./src/exports/b.ts",
|
|
67
64
|
"types": "./types/exports/b.d.ts",
|
|
68
65
|
"import": "./es/exports/b.js",
|
|
69
|
-
"require": "./lib/exports/b.js",
|
|
70
66
|
"default": "./es/exports/b.js"
|
|
71
67
|
},
|
|
72
68
|
"./latest": {
|
|
73
69
|
"src": "./src/exports/b.ts",
|
|
74
70
|
"types": "./types/exports/b.d.ts",
|
|
75
71
|
"import": "./es/exports/b.js",
|
|
76
|
-
"require": "./lib/exports/b.js",
|
|
77
72
|
"default": "./es/exports/b.js"
|
|
78
73
|
}
|
|
79
74
|
},
|
|
@@ -81,7 +76,7 @@
|
|
|
81
76
|
"lint": "ui-scripts lint",
|
|
82
77
|
"lint:fix": "ui-scripts lint --fix",
|
|
83
78
|
"clean": "ui-scripts clean",
|
|
84
|
-
"build": "ui-scripts build
|
|
79
|
+
"build": "ui-scripts build",
|
|
85
80
|
"build:watch": "pnpm run ts:check -- --watch & ui-scripts build --watch",
|
|
86
81
|
"build:types": "tsc -p tsconfig.build.json",
|
|
87
82
|
"ts:check": "tsc -p tsconfig.build.json --noEmit --emitDeclarationOnly false"
|
package/src/Link/v1/README.md
CHANGED
|
@@ -10,24 +10,9 @@ describes: Link
|
|
|
10
10
|
---
|
|
11
11
|
type: example
|
|
12
12
|
---
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
focusOutlineColor: 'pink'
|
|
17
|
-
}}>jumps</Link> over the lazy dog.</Text>
|
|
18
|
-
<Link color="link-inverse" href="https://instructure.github.io/instructure-ui/">jumps</Link>
|
|
19
|
-
</div>
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
```js
|
|
23
|
-
---
|
|
24
|
-
type: example
|
|
25
|
-
---
|
|
26
|
-
<View background="primary-inverse" as="div">
|
|
27
|
-
<Text color="primary-inverse">The quick brown fox <Link color="link-inverse" href="https://instructure.github.io/instructure-ui/" themeOverride={{
|
|
28
|
-
focusInverseIconOutlineColor: 'pink'
|
|
29
|
-
}}>jumps</Link> over the lazy dog.</Text>
|
|
30
|
-
</View>
|
|
13
|
+
<Link href="https://instructure.github.io/instructure-ui/" target="_blank">
|
|
14
|
+
Link text
|
|
15
|
+
</Link>
|
|
31
16
|
```
|
|
32
17
|
|
|
33
18
|
### Controlled navigation
|
|
@@ -164,7 +149,7 @@ type: example
|
|
|
164
149
|
|
|
165
150
|
### Theme overrides
|
|
166
151
|
|
|
167
|
-
Examples showing how theme overrides work for Link:
|
|
152
|
+
Examples showing how [theme overrides](legacy-theme-overrides) work for Link:
|
|
168
153
|
|
|
169
154
|
```js
|
|
170
155
|
---
|
package/src/Link/v1/index.tsx
CHANGED
|
@@ -38,10 +38,10 @@ import { combineDataCid } from '@instructure/ui-utils'
|
|
|
38
38
|
import { logWarn as warn } from '@instructure/console'
|
|
39
39
|
|
|
40
40
|
import { withStyle } from '@instructure/emotion'
|
|
41
|
-
import generateStyle from './styles'
|
|
42
|
-
import generateComponentTheme from './theme'
|
|
41
|
+
import generateStyle from './styles.js'
|
|
42
|
+
import generateComponentTheme from './theme.js'
|
|
43
43
|
|
|
44
|
-
import { allowedProps } from './props'
|
|
44
|
+
import { allowedProps } from './props.js'
|
|
45
45
|
import type { LinkProps, LinkState, LinkStyleProps } from './props'
|
|
46
46
|
|
|
47
47
|
import type { ViewOwnProps } from '@instructure/ui-view/v11_6'
|
|
@@ -53,6 +53,7 @@ category: components
|
|
|
53
53
|
**/
|
|
54
54
|
@withStyle(generateStyle, generateComponentTheme)
|
|
55
55
|
class Link extends Component<LinkProps, LinkState> {
|
|
56
|
+
static displayName = 'Link'
|
|
56
57
|
static readonly componentId = 'Link'
|
|
57
58
|
|
|
58
59
|
static allowedProps = allowedProps
|
package/src/Link/v2/README.md
CHANGED
|
@@ -97,28 +97,6 @@ type: example
|
|
|
97
97
|
</div>
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
-
#### Deprecated variant values
|
|
101
|
-
|
|
102
|
-
**The following variant values are deprecated and will be removed in a future version:**
|
|
103
|
-
|
|
104
|
-
- `inline-small`
|
|
105
|
-
- `standalone-small`
|
|
106
|
-
|
|
107
|
-
These deprecated values are still supported for backward compatibility but will trigger console warnings. Please update your code to use the new `variant` + `size` prop combination.
|
|
108
|
-
|
|
109
|
-
```js
|
|
110
|
-
---
|
|
111
|
-
type: code
|
|
112
|
-
---
|
|
113
|
-
// Deprecated (still works but triggers warning)
|
|
114
|
-
<Link variant="inline-small" href="#">Link</Link>
|
|
115
|
-
<Link variant="standalone-small" href="#">Link</Link>
|
|
116
|
-
|
|
117
|
-
// Recommended
|
|
118
|
-
<Link variant="inline" size="small" href="#">Link</Link>
|
|
119
|
-
<Link variant="standalone" size="small" href="#">Link</Link>
|
|
120
|
-
```
|
|
121
|
-
|
|
122
100
|
### Adding margin
|
|
123
101
|
|
|
124
102
|
Use the `margin` prop to add space to the left or right of the Link. Because
|
|
@@ -190,7 +168,7 @@ type: example
|
|
|
190
168
|
|
|
191
169
|
### Theme overrides
|
|
192
170
|
|
|
193
|
-
Examples showing how [theme overrides](
|
|
171
|
+
Examples showing how [theme overrides](new-theme-overrides) work for Link:
|
|
194
172
|
|
|
195
173
|
```js
|
|
196
174
|
---
|
|
@@ -198,13 +176,11 @@ type: example
|
|
|
198
176
|
---
|
|
199
177
|
<div>
|
|
200
178
|
<InstUISettingsProvider
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
width: '0.5rem',
|
|
207
|
-
}
|
|
179
|
+
themeOverride={{
|
|
180
|
+
sharedTokens: {
|
|
181
|
+
focusOutline: {
|
|
182
|
+
infoColor: 'pink',
|
|
183
|
+
width: '0.5rem'
|
|
208
184
|
}
|
|
209
185
|
}
|
|
210
186
|
}}
|
package/src/Link/v2/index.tsx
CHANGED
|
@@ -38,9 +38,9 @@ import { logWarn as warn } from '@instructure/console'
|
|
|
38
38
|
import { renderIconWithProps } from '@instructure/ui-icons'
|
|
39
39
|
|
|
40
40
|
import { withStyleNew } from '@instructure/emotion'
|
|
41
|
-
import generateStyle from './styles'
|
|
41
|
+
import generateStyle from './styles.js'
|
|
42
42
|
|
|
43
|
-
import { allowedProps } from './props'
|
|
43
|
+
import { allowedProps } from './props.js'
|
|
44
44
|
import type { LinkProps, LinkState, LinkStyleProps } from './props'
|
|
45
45
|
|
|
46
46
|
import type { ViewOwnProps } from '@instructure/ui-view/latest'
|
|
@@ -52,6 +52,7 @@ category: components
|
|
|
52
52
|
**/
|
|
53
53
|
@withStyleNew(generateStyle)
|
|
54
54
|
class Link extends Component<LinkProps, LinkState> {
|
|
55
|
+
static displayName = 'Link'
|
|
55
56
|
static readonly componentId = 'Link'
|
|
56
57
|
|
|
57
58
|
static allowedProps = allowedProps
|
|
@@ -65,13 +66,6 @@ class Link extends Component<LinkProps, LinkState> {
|
|
|
65
66
|
|
|
66
67
|
state = { hasFocus: false }
|
|
67
68
|
|
|
68
|
-
get _link() {
|
|
69
|
-
console.warn(
|
|
70
|
-
'_link property is deprecated and will be removed in v9, please use ref instead'
|
|
71
|
-
)
|
|
72
|
-
|
|
73
|
-
return this.ref
|
|
74
|
-
}
|
|
75
69
|
ref: Element | null = null
|
|
76
70
|
|
|
77
71
|
componentDidMount() {
|
|
@@ -86,31 +80,11 @@ class Link extends Component<LinkProps, LinkState> {
|
|
|
86
80
|
variant?: LinkProps['variant']
|
|
87
81
|
size?: LinkProps['size']
|
|
88
82
|
} => {
|
|
89
|
-
const { variant
|
|
83
|
+
const { variant, size: sizeProp } = this.props
|
|
90
84
|
|
|
91
|
-
// Handle deprecated variant values by mapping them to new variant + size props
|
|
92
|
-
let variant: 'inline' | 'standalone' | undefined = variantProp as any
|
|
93
85
|
let size = sizeProp
|
|
94
86
|
|
|
95
|
-
if (
|
|
96
|
-
warn(
|
|
97
|
-
false,
|
|
98
|
-
`[Link] The variant value "${variantProp}" is deprecated. Use variant="${variantProp.replace(
|
|
99
|
-
'-small',
|
|
100
|
-
''
|
|
101
|
-
)}" with size="small" instead.`
|
|
102
|
-
)
|
|
103
|
-
variant = variantProp.replace('-small', '') as 'inline' | 'standalone'
|
|
104
|
-
// Only set size from deprecated variant if size prop is not explicitly provided
|
|
105
|
-
if (!sizeProp) {
|
|
106
|
-
size = 'small'
|
|
107
|
-
}
|
|
108
|
-
} else if (
|
|
109
|
-
(variantProp === 'inline' || variantProp === 'standalone') &&
|
|
110
|
-
!sizeProp
|
|
111
|
-
) {
|
|
112
|
-
// When using new variant values without explicit size, default to medium
|
|
113
|
-
// This maintains the old behavior where 'inline' and 'standalone' were medium-sized
|
|
87
|
+
if ((variant === 'inline' || variant === 'standalone') && !sizeProp) {
|
|
114
88
|
size = 'medium'
|
|
115
89
|
}
|
|
116
90
|
|
|
@@ -225,12 +199,7 @@ class Link extends Component<LinkProps, LinkState> {
|
|
|
225
199
|
}
|
|
226
200
|
|
|
227
201
|
renderIcon() {
|
|
228
|
-
const {
|
|
229
|
-
display,
|
|
230
|
-
renderIcon,
|
|
231
|
-
variant: variantProp,
|
|
232
|
-
size: sizeProp
|
|
233
|
-
} = this.props
|
|
202
|
+
const { display, renderIcon, variant, size: sizeProp } = this.props
|
|
234
203
|
|
|
235
204
|
warn(
|
|
236
205
|
// if display prop is used, warn about icon or TruncateText
|
|
@@ -238,14 +207,8 @@ class Link extends Component<LinkProps, LinkState> {
|
|
|
238
207
|
'[Link] Using the display property with an icon may cause layout issues.'
|
|
239
208
|
)
|
|
240
209
|
|
|
241
|
-
// Determine the actual size being used (considering deprecated variants)
|
|
242
210
|
let size = sizeProp
|
|
243
|
-
if (
|
|
244
|
-
size = sizeProp || 'small'
|
|
245
|
-
} else if (
|
|
246
|
-
(variantProp === 'inline' || variantProp === 'standalone') &&
|
|
247
|
-
!sizeProp
|
|
248
|
-
) {
|
|
211
|
+
if ((variant === 'inline' || variant === 'standalone') && !sizeProp) {
|
|
249
212
|
size = 'medium'
|
|
250
213
|
}
|
|
251
214
|
|
package/src/Link/v2/props.ts
CHANGED
|
@@ -127,12 +127,8 @@ type LinkOwnProps = {
|
|
|
127
127
|
* Sets pre-defined values for the component to achieve specific roles for the component
|
|
128
128
|
* - `inline`
|
|
129
129
|
* - `standalone`
|
|
130
|
-
*
|
|
131
|
-
* __Deprecated values:__
|
|
132
|
-
* - `inline-small`
|
|
133
|
-
* - `standalone-small`
|
|
134
130
|
*/
|
|
135
|
-
variant?: 'inline' | 'standalone'
|
|
131
|
+
variant?: 'inline' | 'standalone'
|
|
136
132
|
|
|
137
133
|
/**
|
|
138
134
|
* Sets the size of the link (font size, line height, and icon gap)
|
package/src/exports/a.ts
CHANGED
package/src/exports/b.ts
CHANGED