@kaizen/components 0.0.0-canary-button-codemod-canary-20250212054517 → 0.0.0-canary-link-canary-release-20250224232728
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/bin/codemod.sh +0 -2
- package/codemods/README.md +0 -45
- package/codemods/utils/createProp.spec.ts +19 -75
- package/codemods/utils/createProp.ts +1 -8
- package/codemods/utils/getKaioTagName.ts +5 -13
- package/codemods/utils/index.ts +0 -1
- package/dist/cjs/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.cjs +1 -0
- package/dist/cjs/Filter/FilterMultiSelect/subcomponents/Trigger/FilterTriggerButton/FilterTriggerButton.cjs +1 -0
- package/dist/cjs/Filter/FilterMultiSelect/subcomponents/Trigger/RemovableFilterTrigger/RemovableFilterTrigger.cjs +1 -0
- package/dist/cjs/Link/Link.cjs +45 -0
- package/dist/cjs/Link/Link.module.css.cjs +20 -0
- package/dist/cjs/Link/subcomponents/LinkContent.cjs +34 -0
- package/dist/cjs/index.cjs +4 -0
- package/dist/esm/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.mjs +1 -0
- package/dist/esm/Filter/FilterMultiSelect/subcomponents/Trigger/FilterTriggerButton/FilterTriggerButton.mjs +1 -0
- package/dist/esm/Filter/FilterMultiSelect/subcomponents/Trigger/RemovableFilterTrigger/RemovableFilterTrigger.mjs +1 -0
- package/dist/esm/Link/Link.mjs +40 -0
- package/dist/esm/Link/Link.module.css.mjs +18 -0
- package/dist/esm/Link/subcomponents/LinkContent.mjs +26 -0
- package/dist/esm/index.mjs +2 -0
- package/dist/styles.css +8789 -8659
- package/dist/types/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.d.ts +1 -1
- package/dist/types/Filter/FilterButton/index.d.ts +1 -0
- package/dist/types/Filter/FilterMultiSelect/types.d.ts +2 -1
- package/dist/types/Link/Link.d.ts +39 -0
- package/dist/types/Link/index.d.ts +1 -0
- package/dist/types/Link/subcomponents/LinkContent.d.ts +8 -0
- package/dist/types/RichTextEditor/utils/commands/fixtures/helpers.d.ts +0 -1
- package/dist/types/RichTextEditor/utils/commands/fixtures/index.d.ts +2 -0
- package/dist/types/RichTextEditor/utils/commands/fixtures/mockRangeForBoundingRect.d.ts +1 -0
- package/dist/types/__rc__/Icon/constants.d.ts +1 -1
- package/dist/types/index.d.ts +1 -0
- package/package.json +6 -1
- package/src/Filter/FilterButton/index.ts +1 -0
- package/src/Filter/FilterMultiSelect/types.ts +3 -1
- package/src/Link/Link.module.css +119 -0
- package/src/Link/Link.tsx +90 -0
- package/src/Link/_docs/Link--api-specification.mdx +133 -0
- package/src/Link/_docs/Link--api-usage-guidelines.mdx +107 -0
- package/src/Link/_docs/Link.doc.stories.tsx +238 -0
- package/src/Link/_docs/Link.stickersheet.stories.tsx +191 -0
- package/src/Link/index.ts +1 -0
- package/src/Link/subcomponents/LinkContent.tsx +31 -0
- package/src/LinkButton/_docs/LinkButton--api-specification.mdx +1 -57
- package/src/RichTextEditor/utils/commands/addMark.spec.ts +1 -5
- package/src/RichTextEditor/utils/commands/fixtures/helpers.ts +0 -31
- package/src/RichTextEditor/utils/commands/fixtures/index.ts +2 -0
- package/src/RichTextEditor/utils/commands/fixtures/mockRangeForBoundingRect.ts +32 -0
- package/src/__rc__/Button/_docs/Button--usage-guidelines.mdx +170 -1
- package/src/__rc__/Button/_docs/Button.docs.stories.tsx +264 -9
- package/src/__rc__/Button/_docs/assets/button_anatomy.png +0 -0
- package/src/__rc__/Button/_docs/assets/button_icon_only_spec.png +0 -0
- package/src/__rc__/Button/_docs/assets/button_icon_spec.png +0 -0
- package/src/__rc__/Button/_docs/assets/button_spec.png +0 -0
- package/src/__rc__/Icon/constants.ts +1 -0
- package/src/__rc__/Tabs/subcomponents/Tab/Tab.module.css +5 -2
- package/src/__rc__/Tabs/subcomponents/TabList/TabList.module.css +11 -4
- package/src/index.ts +1 -0
- package/codemods/upgradeV1Buttons/index.ts +0 -19
- package/codemods/upgradeV1Buttons/transformV1ButtonAttributes.spec.ts +0 -202
- package/codemods/upgradeV1Buttons/transformV1ButtonAttributes.ts +0 -132
- package/codemods/upgradeV1Buttons/upgradeV1Buttons.spec.ts +0 -658
- package/codemods/upgradeV1Buttons/upgradeV1Buttons.ts +0 -93
- package/codemods/utils/createJsxElementWithChildren.spec.ts +0 -119
- package/codemods/utils/createJsxElementWithChildren.ts +0 -55
- package/src/__rc__/Button/_docs/Button--migration-guide.mdx +0 -58
package/bin/codemod.sh
CHANGED
|
@@ -31,8 +31,6 @@ echo ""
|
|
|
31
31
|
|
|
32
32
|
if npx tsx@latest $CODEMOD_PATH $TARGET_DIR; then
|
|
33
33
|
echo "Codemod '$codemodFileName' completed successfully in directory '$transformDir'"
|
|
34
|
-
echo "---"
|
|
35
|
-
echo "Run linting and prettier to correct issues with re-writes"
|
|
36
34
|
else
|
|
37
35
|
echo "Codemod '$codemodFileName' could not be run in '$TARGET_DIR'"
|
|
38
36
|
exit 1
|
package/codemods/README.md
CHANGED
|
@@ -103,51 +103,6 @@ Released in `1.60.0`
|
|
|
103
103
|
|
|
104
104
|
Removes `Popover` component props `variant` and `customIcon`.
|
|
105
105
|
|
|
106
|
-
### `upgradeV1Buttons`
|
|
107
|
-
|
|
108
|
-
Released in `TBC`
|
|
109
|
-
|
|
110
|
-
Migrates `Button` and `IconButton` component to `Button` V3 or `LinkButton`.
|
|
111
|
-
|
|
112
|
-
#### Props
|
|
113
|
-
|
|
114
|
-
- `label` becomes `children`
|
|
115
|
-
- eg. `<IconButton label="Hello" />` becomes `<Button>Hello</Button>`
|
|
116
|
-
- `onClick` becomes `onPress`
|
|
117
|
-
- Variants:
|
|
118
|
-
- Default (undefined):
|
|
119
|
-
- For `Button` becomes `variant="secondary"`
|
|
120
|
-
- For `IconButton` becomes `variant="tertiary"`
|
|
121
|
-
- `primary` becomes `variant="primary"`
|
|
122
|
-
- `secondary` becomes `variant="tertiary"`
|
|
123
|
-
- `destructive` will be removed (no longer available as a variant)
|
|
124
|
-
- Sizes:
|
|
125
|
-
- Default (undefined) becomes `large`
|
|
126
|
-
- `small` becomes `medium`
|
|
127
|
-
- `regular` becomes `large`
|
|
128
|
-
- `reversed` becomes `isReversed`
|
|
129
|
-
- `classNameOverride` becomes `className`
|
|
130
|
-
- `data-automation-id` becomes `data-testid`
|
|
131
|
-
- `disabled` becomes `isDisabled`
|
|
132
|
-
- `newTabAndIUnderstandTheAccessibilityImplications` becomes `target="_blank"`
|
|
133
|
-
- `rel="noopener noreferrer"` is also added
|
|
134
|
-
- `component` will not be removed by the codemod, but will throw a TypeScript error as the prop itself no longer exists
|
|
135
|
-
- For `IconButton` only:
|
|
136
|
-
- `hasHiddenLabel` will be added
|
|
137
|
-
|
|
138
|
-
#### Component transformation
|
|
139
|
-
|
|
140
|
-
- `Button`/`IconButton` without the `href` or `component` prop will become `Button` V3
|
|
141
|
-
- `Button`/`IconButton` with the `href` prop will become `LinkButton`
|
|
142
|
-
- `Button`/`IconButton` with the `component` prop will become `LinkButton`
|
|
143
|
-
|
|
144
|
-
#### Imports
|
|
145
|
-
|
|
146
|
-
All imports of V1 Buttons will now point to either:
|
|
147
|
-
|
|
148
|
-
- `@kaizen/components/v3/actions` for `Button`
|
|
149
|
-
- `@kaizen/components` for `LinkButton`
|
|
150
|
-
|
|
151
106
|
### `upgradeIconV1`
|
|
152
107
|
|
|
153
108
|
Released in `1.67.0`; last updated in `1.68.1`
|
|
@@ -1,88 +1,32 @@
|
|
|
1
1
|
import ts from 'typescript'
|
|
2
2
|
import { parseJsx } from '../__tests__/utils/parseJsx'
|
|
3
|
-
import {
|
|
3
|
+
import { createStyleProp } from './createProp'
|
|
4
4
|
import { printAst } from './printAst'
|
|
5
5
|
import { transformSource, type TransformSourceArgs } from './transformSource'
|
|
6
6
|
import { updateJsxElementWithNewProps } from './updateJsxElementWithNewProps'
|
|
7
7
|
|
|
8
|
-
export const
|
|
8
|
+
export const mockedTransformer: ts.TransformerFactory<ts.SourceFile> = (context) => (rootNode) => {
|
|
9
9
|
const visit = (node: ts.Node): ts.Node => {
|
|
10
10
|
if (ts.isJsxOpeningElement(node) || ts.isJsxSelfClosingElement(node)) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return updateJsxElementWithNewProps(node, newAttributes)
|
|
18
|
-
}
|
|
19
|
-
return ts.visitEachChild(node, visit, context)
|
|
20
|
-
}
|
|
21
|
-
return ts.visitNode(rootNode, visit) as ts.SourceFile
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const testCreateProp = (sourceFile: TransformSourceArgs['sourceFile']): string =>
|
|
25
|
-
transformSource({
|
|
26
|
-
sourceFile,
|
|
27
|
-
transformers: [mockTransformer],
|
|
28
|
-
})
|
|
29
|
-
|
|
30
|
-
describe('createProp()', () => {
|
|
31
|
-
it('creates a prop with the pre-existing value', () => {
|
|
32
|
-
const inputAst = parseJsx('<Pancakes isBoolean={false} />')
|
|
33
|
-
const outputAst = parseJsx('<Pancakes isBooleanNew={false} />')
|
|
34
|
-
expect(testCreateProp(inputAst)).toEqual(printAst(outputAst))
|
|
35
|
-
})
|
|
11
|
+
if (node.tagName.getText() === 'Pancakes') {
|
|
12
|
+
const newAttributes = node.attributes.properties.map((attr) => {
|
|
13
|
+
if (ts.isJsxAttribute(attr)) {
|
|
14
|
+
if (attr.name.getText() === 'replaceWithExistingValue') {
|
|
15
|
+
return createStyleProp({ width: attr.initializer! })
|
|
16
|
+
}
|
|
36
17
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
<>
|
|
41
|
-
<Pancakes isBoolean />
|
|
42
|
-
<Pancakes isBoolean={false} />
|
|
43
|
-
<Pancakes stringProp="Hello" />
|
|
44
|
-
<Pancakes stringVarProp={stringVar} />
|
|
45
|
-
<Pancakes numberProp={3} />
|
|
46
|
-
<Pancakes objProp={{ key: 'value' }} />
|
|
47
|
-
</>
|
|
48
|
-
)
|
|
49
|
-
`)
|
|
50
|
-
const outputAst = parseJsx(`
|
|
51
|
-
export const TestComponent = () => (
|
|
52
|
-
<>
|
|
53
|
-
<Pancakes isBooleanNew />
|
|
54
|
-
<Pancakes isBooleanNew={false} />
|
|
55
|
-
<Pancakes stringPropNew="Hello" />
|
|
56
|
-
<Pancakes stringVarPropNew={stringVar} />
|
|
57
|
-
<Pancakes numberPropNew={3} />
|
|
58
|
-
<Pancakes objPropNew={{ key: 'value' }} />
|
|
59
|
-
</>
|
|
60
|
-
)
|
|
61
|
-
`)
|
|
62
|
-
expect(testCreateProp(inputAst)).toEqual(printAst(outputAst))
|
|
63
|
-
})
|
|
64
|
-
})
|
|
65
|
-
|
|
66
|
-
export const styleTransformer: ts.TransformerFactory<ts.SourceFile> = (context) => (rootNode) => {
|
|
67
|
-
const visit = (node: ts.Node): ts.Node => {
|
|
68
|
-
if (ts.isJsxOpeningElement(node) || ts.isJsxSelfClosingElement(node)) {
|
|
69
|
-
const newAttributes = node.attributes.properties.map((attr) => {
|
|
70
|
-
if (ts.isJsxAttribute(attr)) {
|
|
71
|
-
if (attr.name.getText() === 'replaceWithExistingValue') {
|
|
72
|
-
return createStyleProp({ width: attr.initializer! })
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
if (attr.name.getText() === 'replaceWithStringValue') {
|
|
76
|
-
return createStyleProp({ width: '100px' })
|
|
77
|
-
}
|
|
18
|
+
if (attr.name.getText() === 'replaceWithStringValue') {
|
|
19
|
+
return createStyleProp({ width: '100px' })
|
|
20
|
+
}
|
|
78
21
|
|
|
79
|
-
|
|
80
|
-
|
|
22
|
+
if (attr.name.getText() === 'replaceWithNumberValue') {
|
|
23
|
+
return createStyleProp({ width: 100 })
|
|
24
|
+
}
|
|
81
25
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
26
|
+
return attr
|
|
27
|
+
})
|
|
28
|
+
return updateJsxElementWithNewProps(node, newAttributes)
|
|
29
|
+
}
|
|
86
30
|
}
|
|
87
31
|
return ts.visitEachChild(node, visit, context)
|
|
88
32
|
}
|
|
@@ -92,7 +36,7 @@ export const styleTransformer: ts.TransformerFactory<ts.SourceFile> = (context)
|
|
|
92
36
|
const testCreateStyleProp = (sourceFile: TransformSourceArgs['sourceFile']): string =>
|
|
93
37
|
transformSource({
|
|
94
38
|
sourceFile,
|
|
95
|
-
transformers: [
|
|
39
|
+
transformers: [mockedTransformer],
|
|
96
40
|
})
|
|
97
41
|
|
|
98
42
|
describe('createStyleProp()', () => {
|
|
@@ -3,14 +3,7 @@ import ts from 'typescript'
|
|
|
3
3
|
export const createProp = (
|
|
4
4
|
name: string,
|
|
5
5
|
value?: ts.JsxAttributeValue | undefined,
|
|
6
|
-
): ts.JsxAttribute =>
|
|
7
|
-
// Transforms `propName={true}` to `propName`
|
|
8
|
-
if (value && ts.isJsxExpression(value) && value.expression?.kind === ts.SyntaxKind.TrueKeyword) {
|
|
9
|
-
return ts.factory.createJsxAttribute(ts.factory.createIdentifier(name), undefined)
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
return ts.factory.createJsxAttribute(ts.factory.createIdentifier(name), value)
|
|
13
|
-
}
|
|
6
|
+
): ts.JsxAttribute => ts.factory.createJsxAttribute(ts.factory.createIdentifier(name), value)
|
|
14
7
|
|
|
15
8
|
export const createStringProp = (name: string, value: string): ts.JsxAttribute =>
|
|
16
9
|
createProp(name, ts.factory.createStringLiteral(value))
|
|
@@ -5,17 +5,10 @@ type ImportModuleNamedImports = {
|
|
|
5
5
|
namedImports: ts.NodeArray<ts.ImportSpecifier>
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
const getKaioNamedImports = (
|
|
9
|
-
visitedNode: ts.Node,
|
|
10
|
-
importSource?: string,
|
|
11
|
-
): ImportModuleNamedImports | undefined => {
|
|
8
|
+
const getKaioNamedImports = (visitedNode: ts.Node): ImportModuleNamedImports | undefined => {
|
|
12
9
|
if (ts.isImportDeclaration(visitedNode)) {
|
|
13
10
|
const moduleSpecifier = (visitedNode.moduleSpecifier as ts.StringLiteral).text
|
|
14
|
-
|
|
15
|
-
? moduleSpecifier === importSource
|
|
16
|
-
: moduleSpecifier.includes('@kaizen/components')
|
|
17
|
-
|
|
18
|
-
if (hasMatch) {
|
|
11
|
+
if (moduleSpecifier.includes('@kaizen/components')) {
|
|
19
12
|
const namedBindings = visitedNode.importClause?.namedBindings
|
|
20
13
|
if (namedBindings && ts.isNamedImports(namedBindings)) {
|
|
21
14
|
return {
|
|
@@ -49,13 +42,12 @@ const getNamesFromSpecifier = (importSpecifier: ts.ImportSpecifier): ImportSpeci
|
|
|
49
42
|
*/
|
|
50
43
|
export const getKaioTagName = (
|
|
51
44
|
node: ts.Node,
|
|
52
|
-
|
|
53
|
-
importSource?: string,
|
|
45
|
+
importSpecifierTarget: string,
|
|
54
46
|
): string | undefined => {
|
|
55
47
|
let alias: string | undefined
|
|
56
48
|
|
|
57
49
|
const visitNode = (visitedNode: ts.Node): string | undefined => {
|
|
58
|
-
const kaioNamedImports = getKaioNamedImports(visitedNode
|
|
50
|
+
const kaioNamedImports = getKaioNamedImports(visitedNode)
|
|
59
51
|
|
|
60
52
|
if (!kaioNamedImports) {
|
|
61
53
|
return ts.forEachChild(visitedNode, visitNode)
|
|
@@ -64,7 +56,7 @@ export const getKaioTagName = (
|
|
|
64
56
|
kaioNamedImports.namedImports.find((importSpecifier) => {
|
|
65
57
|
const { tagName, originalName } = getNamesFromSpecifier(importSpecifier)
|
|
66
58
|
|
|
67
|
-
if (originalName ===
|
|
59
|
+
if (originalName === importSpecifierTarget) {
|
|
68
60
|
alias = tagName
|
|
69
61
|
return true
|
|
70
62
|
}
|
package/codemods/utils/index.ts
CHANGED
|
@@ -4,6 +4,7 @@ var tslib = require('tslib');
|
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var classnames = require('classnames');
|
|
6
6
|
var FilterBarContext = require('../../context/FilterBarContext.cjs');
|
|
7
|
+
require('../../../FilterButton/subcomponents/FilterButtonBase/FilterButtonBase.cjs');
|
|
7
8
|
var FilterButton = require('../../../FilterButton/FilterButton/FilterButton.cjs');
|
|
8
9
|
var FilterButtonRemovable = require('../../../FilterButton/FilterButtonRemovable/FilterButtonRemovable.cjs');
|
|
9
10
|
var isRefObject = require('../../../../utils/isRefObject.cjs');
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var tslib = require('tslib');
|
|
4
4
|
var React = require('react');
|
|
5
|
+
require('../../../../FilterButton/subcomponents/FilterButtonBase/FilterButtonBase.cjs');
|
|
5
6
|
var FilterButton = require('../../../../FilterButton/FilterButton/FilterButton.cjs');
|
|
6
7
|
require('../../../../FilterButton/FilterButtonRemovable/FilterButtonRemovable.cjs');
|
|
7
8
|
var MenuTriggerProvider = require('../../../context/MenuTriggerProvider/MenuTriggerProvider.cjs');
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var tslib = require('tslib');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var classnames = require('classnames');
|
|
6
|
+
require('../../../../FilterButton/subcomponents/FilterButtonBase/FilterButtonBase.cjs');
|
|
6
7
|
require('../../../../FilterButton/FilterButton/FilterButton.cjs');
|
|
7
8
|
var FilterButtonRemovable = require('../../../../FilterButton/FilterButtonRemovable/FilterButtonRemovable.cjs');
|
|
8
9
|
var MenuTriggerProvider = require('../../../context/MenuTriggerProvider/MenuTriggerProvider.cjs');
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib = require('tslib');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var reactAriaComponents = require('react-aria-components');
|
|
6
|
+
var mergeClassNames = require('../utils/mergeClassNames.cjs');
|
|
7
|
+
var LinkContent = require('./subcomponents/LinkContent.cjs');
|
|
8
|
+
var Link_module = require('./Link.module.css.cjs');
|
|
9
|
+
function _interopDefault(e) {
|
|
10
|
+
return e && e.__esModule ? e : {
|
|
11
|
+
default: e
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
15
|
+
var Link = React.forwardRef(function (_a, ref) {
|
|
16
|
+
var children = _a.children,
|
|
17
|
+
_b = _a.variant,
|
|
18
|
+
variant = _b === undefined ? 'primary' : _b,
|
|
19
|
+
_c = _a.size,
|
|
20
|
+
size = _c === undefined ? 'body' : _c,
|
|
21
|
+
icon = _a.icon,
|
|
22
|
+
_d = _a.iconPosition,
|
|
23
|
+
iconPosition = _d === undefined ? 'end' : _d,
|
|
24
|
+
_e = _a.isInline,
|
|
25
|
+
isInline = _e === undefined ? false : _e,
|
|
26
|
+
isDisabled = _a.isDisabled,
|
|
27
|
+
className = _a.className,
|
|
28
|
+
_f = _a.isUnderlined,
|
|
29
|
+
isUnderlined = _f === undefined ? true : _f,
|
|
30
|
+
otherProps = tslib.__rest(_a, ["children", "variant", "size", "icon", "iconPosition", "isInline", "isDisabled", "className", "isUnderlined"]);
|
|
31
|
+
var childIsFunction = typeof children === 'function';
|
|
32
|
+
return React__default.default.createElement(reactAriaComponents.Link, tslib.__assign({
|
|
33
|
+
ref: ref,
|
|
34
|
+
className: mergeClassNames.mergeClassNames(Link_module.link, isDisabled && Link_module.isDisabled, isInline ? Link_module.isInline : Link_module[size], Link_module[variant], className),
|
|
35
|
+
isDisabled: isDisabled
|
|
36
|
+
}, otherProps), function (racStateProps) {
|
|
37
|
+
return React__default.default.createElement(LinkContent.LinkContent, {
|
|
38
|
+
icon: icon,
|
|
39
|
+
iconPosition: iconPosition,
|
|
40
|
+
isUnderlined: isUnderlined
|
|
41
|
+
}, childIsFunction ? children(racStateProps) : children);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
Link.displayName = 'Link';
|
|
45
|
+
exports.Link = Link;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var styles = {
|
|
4
|
+
"link": "Link-module_link__8oxip",
|
|
5
|
+
"isUnderlined": "Link-module_isUnderlined__qvbtS",
|
|
6
|
+
"icon": "Link-module_icon__CXh2J",
|
|
7
|
+
"iconStart": "Link-module_iconStart__ZysGR",
|
|
8
|
+
"iconEnd": "Link-module_iconEnd__-DTiD",
|
|
9
|
+
"primary": "Link-module_primary__bmhX0",
|
|
10
|
+
"secondary": "Link-module_secondary__pyYIV",
|
|
11
|
+
"isInline": "Link-module_isInline__sznAm",
|
|
12
|
+
"extra-small": "Link-module_extra-small__nScM0",
|
|
13
|
+
"body": "Link-module_body__H4Jgj",
|
|
14
|
+
"intro-lede": "Link-module_intro-lede__38Y6J",
|
|
15
|
+
"small": "Link-module_small__4kJcR",
|
|
16
|
+
"white": "Link-module_white__qQr6q",
|
|
17
|
+
"isDisabled": "Link-module_isDisabled__gvLNv",
|
|
18
|
+
"reversed": "Link-module_reversed__IqX8B"
|
|
19
|
+
};
|
|
20
|
+
module.exports = styles;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var mergeClassNames = require('../../utils/mergeClassNames.cjs');
|
|
5
|
+
var Link_module = require('../Link.module.css.cjs');
|
|
6
|
+
function _interopDefault(e) {
|
|
7
|
+
return e && e.__esModule ? e : {
|
|
8
|
+
default: e
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
12
|
+
var LinkIcon = function (_a) {
|
|
13
|
+
var icon = _a.icon;
|
|
14
|
+
return React__default.default.createElement("span", {
|
|
15
|
+
className: Link_module.icon
|
|
16
|
+
}, icon);
|
|
17
|
+
};
|
|
18
|
+
var LinkContent = function (_a) {
|
|
19
|
+
var children = _a.children,
|
|
20
|
+
icon = _a.icon,
|
|
21
|
+
iconPosition = _a.iconPosition,
|
|
22
|
+
isUnderlined = _a.isUnderlined;
|
|
23
|
+
var iconPositionStyling = iconPosition === 'start' ? Link_module.iconStart : Link_module.iconEnd;
|
|
24
|
+
return React__default.default.createElement("span", {
|
|
25
|
+
className: mergeClassNames.mergeClassNames(Link_module.linkContent, isUnderlined && Link_module.isUnderlined)
|
|
26
|
+
}, icon && iconPosition === 'start' && React__default.default.createElement(LinkIcon, {
|
|
27
|
+
icon: icon
|
|
28
|
+
}), React__default.default.createElement("span", {
|
|
29
|
+
className: mergeClassNames.mergeClassNames(icon && iconPositionStyling)
|
|
30
|
+
}, children), icon && iconPosition === 'end' && React__default.default.createElement(LinkIcon, {
|
|
31
|
+
icon: icon
|
|
32
|
+
}));
|
|
33
|
+
};
|
|
34
|
+
exports.LinkContent = LinkContent;
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -47,6 +47,7 @@ var Filter = require('./Filter/Filter/Filter.cjs');
|
|
|
47
47
|
var FilterContents = require('./Filter/Filter/subcomponents/FilterContents/FilterContents.cjs');
|
|
48
48
|
var FilterBar = require('./Filter/FilterBar/FilterBar.cjs');
|
|
49
49
|
var FilterBarContext = require('./Filter/FilterBar/context/FilterBarContext.cjs');
|
|
50
|
+
var FilterButtonBase = require('./Filter/FilterButton/subcomponents/FilterButtonBase/FilterButtonBase.cjs');
|
|
50
51
|
var FilterButton = require('./Filter/FilterButton/FilterButton/FilterButton.cjs');
|
|
51
52
|
var FilterButtonRemovable = require('./Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.cjs');
|
|
52
53
|
var FilterDatePicker = require('./Filter/FilterDatePicker/FilterDatePicker.cjs');
|
|
@@ -316,6 +317,7 @@ var InputSearch = require('./Input/InputSearch/InputSearch.cjs');
|
|
|
316
317
|
var KaizenProvider = require('./KaizenProvider/KaizenProvider.cjs');
|
|
317
318
|
var Label = require('./Label/Label.cjs');
|
|
318
319
|
var LabelledMessage = require('./LabelledMessage/LabelledMessage.cjs');
|
|
320
|
+
var Link = require('./Link/Link.cjs');
|
|
319
321
|
var LikertScaleLegacy = require('./LikertScaleLegacy/LikertScaleLegacy.cjs');
|
|
320
322
|
var LinkButton = require('./LinkButton/LinkButton.cjs');
|
|
321
323
|
var LoadingGraphic = require('./Loading/LoadingGraphic/LoadingGraphic.cjs');
|
|
@@ -488,6 +490,7 @@ exports.FilterContents = FilterContents.FilterContents;
|
|
|
488
490
|
exports.FilterBar = FilterBar.FilterBar;
|
|
489
491
|
exports.FilterBarProvider = FilterBarContext.FilterBarProvider;
|
|
490
492
|
exports.useFilterBarContext = FilterBarContext.useFilterBarContext;
|
|
493
|
+
exports.FilterButtonBase = FilterButtonBase.FilterButtonBase;
|
|
491
494
|
exports.FilterButton = FilterButton.FilterButton;
|
|
492
495
|
exports.FilterButtonRemovable = FilterButtonRemovable.FilterButtonRemovable;
|
|
493
496
|
exports.FilterDatePicker = FilterDatePicker.FilterDatePicker;
|
|
@@ -936,6 +939,7 @@ exports.InputSearch = InputSearch.InputSearch;
|
|
|
936
939
|
exports.KaizenProvider = KaizenProvider.KaizenProvider;
|
|
937
940
|
exports.Label = Label.Label;
|
|
938
941
|
exports.LabelledMessage = LabelledMessage.LabelledMessage;
|
|
942
|
+
exports.Link = Link.Link;
|
|
939
943
|
exports.LikertScaleLegacy = LikertScaleLegacy.LikertScaleLegacy;
|
|
940
944
|
exports.LinkButton = LinkButton.LinkButton;
|
|
941
945
|
exports.LoadingGraphic = LoadingGraphic.LoadingGraphic;
|
|
@@ -2,6 +2,7 @@ import { __rest, __assign } from 'tslib';
|
|
|
2
2
|
import React, { forwardRef, useEffect } from 'react';
|
|
3
3
|
import classnames from 'classnames';
|
|
4
4
|
import { useFilterBarContext } from '../../context/FilterBarContext.mjs';
|
|
5
|
+
import '../../../FilterButton/subcomponents/FilterButtonBase/FilterButtonBase.mjs';
|
|
5
6
|
import { FilterButton } from '../../../FilterButton/FilterButton/FilterButton.mjs';
|
|
6
7
|
import { FilterButtonRemovable } from '../../../FilterButton/FilterButtonRemovable/FilterButtonRemovable.mjs';
|
|
7
8
|
import { isRefObject } from '../../../../utils/isRefObject.mjs';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __assign } from 'tslib';
|
|
2
2
|
import React, { useRef } from 'react';
|
|
3
|
+
import '../../../../FilterButton/subcomponents/FilterButtonBase/FilterButtonBase.mjs';
|
|
3
4
|
import { FilterButton } from '../../../../FilterButton/FilterButton/FilterButton.mjs';
|
|
4
5
|
import '../../../../FilterButton/FilterButtonRemovable/FilterButtonRemovable.mjs';
|
|
5
6
|
import { useMenuTriggerContext } from '../../../context/MenuTriggerProvider/MenuTriggerProvider.mjs';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __assign } from 'tslib';
|
|
2
2
|
import React, { useRef } from 'react';
|
|
3
3
|
import classnames from 'classnames';
|
|
4
|
+
import '../../../../FilterButton/subcomponents/FilterButtonBase/FilterButtonBase.mjs';
|
|
4
5
|
import '../../../../FilterButton/FilterButton/FilterButton.mjs';
|
|
5
6
|
import { FilterButtonRemovable } from '../../../../FilterButton/FilterButtonRemovable/FilterButtonRemovable.mjs';
|
|
6
7
|
import { useMenuTriggerContext } from '../../../context/MenuTriggerProvider/MenuTriggerProvider.mjs';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { __rest, __assign } from 'tslib';
|
|
2
|
+
import React, { forwardRef } from 'react';
|
|
3
|
+
import { Link as Link$1 } from 'react-aria-components';
|
|
4
|
+
import { mergeClassNames } from '../utils/mergeClassNames.mjs';
|
|
5
|
+
import { LinkContent } from './subcomponents/LinkContent.mjs';
|
|
6
|
+
import styles from './Link.module.css.mjs';
|
|
7
|
+
const Link = /*#__PURE__*/function () {
|
|
8
|
+
const Link = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
9
|
+
var children = _a.children,
|
|
10
|
+
_b = _a.variant,
|
|
11
|
+
variant = _b === undefined ? 'primary' : _b,
|
|
12
|
+
_c = _a.size,
|
|
13
|
+
size = _c === undefined ? 'body' : _c,
|
|
14
|
+
icon = _a.icon,
|
|
15
|
+
_d = _a.iconPosition,
|
|
16
|
+
iconPosition = _d === undefined ? 'end' : _d,
|
|
17
|
+
_e = _a.isInline,
|
|
18
|
+
isInline = _e === undefined ? false : _e,
|
|
19
|
+
isDisabled = _a.isDisabled,
|
|
20
|
+
className = _a.className,
|
|
21
|
+
_f = _a.isUnderlined,
|
|
22
|
+
isUnderlined = _f === undefined ? true : _f,
|
|
23
|
+
otherProps = __rest(_a, ["children", "variant", "size", "icon", "iconPosition", "isInline", "isDisabled", "className", "isUnderlined"]);
|
|
24
|
+
var childIsFunction = typeof children === 'function';
|
|
25
|
+
return /*#__PURE__*/React.createElement(Link$1, __assign({
|
|
26
|
+
ref: ref,
|
|
27
|
+
className: mergeClassNames(styles.link, isDisabled && styles.isDisabled, isInline ? styles.isInline : styles[size], styles[variant], className),
|
|
28
|
+
isDisabled: isDisabled
|
|
29
|
+
}, otherProps), function (racStateProps) {
|
|
30
|
+
return /*#__PURE__*/React.createElement(LinkContent, {
|
|
31
|
+
icon: icon,
|
|
32
|
+
iconPosition: iconPosition,
|
|
33
|
+
isUnderlined: isUnderlined
|
|
34
|
+
}, childIsFunction ? children(racStateProps) : children);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
Link.displayName = 'Link';
|
|
38
|
+
return Link;
|
|
39
|
+
}();
|
|
40
|
+
export { Link };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
var styles = {
|
|
2
|
+
"link": "Link-module_link__8oxip",
|
|
3
|
+
"isUnderlined": "Link-module_isUnderlined__qvbtS",
|
|
4
|
+
"icon": "Link-module_icon__CXh2J",
|
|
5
|
+
"iconStart": "Link-module_iconStart__ZysGR",
|
|
6
|
+
"iconEnd": "Link-module_iconEnd__-DTiD",
|
|
7
|
+
"primary": "Link-module_primary__bmhX0",
|
|
8
|
+
"secondary": "Link-module_secondary__pyYIV",
|
|
9
|
+
"isInline": "Link-module_isInline__sznAm",
|
|
10
|
+
"extra-small": "Link-module_extra-small__nScM0",
|
|
11
|
+
"body": "Link-module_body__H4Jgj",
|
|
12
|
+
"intro-lede": "Link-module_intro-lede__38Y6J",
|
|
13
|
+
"small": "Link-module_small__4kJcR",
|
|
14
|
+
"white": "Link-module_white__qQr6q",
|
|
15
|
+
"isDisabled": "Link-module_isDisabled__gvLNv",
|
|
16
|
+
"reversed": "Link-module_reversed__IqX8B"
|
|
17
|
+
};
|
|
18
|
+
export { styles as default };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { mergeClassNames } from '../../utils/mergeClassNames.mjs';
|
|
3
|
+
import styles from '../Link.module.css.mjs';
|
|
4
|
+
var LinkIcon = function (_a) {
|
|
5
|
+
var icon = _a.icon;
|
|
6
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
7
|
+
className: styles.icon
|
|
8
|
+
}, icon);
|
|
9
|
+
};
|
|
10
|
+
var LinkContent = function (_a) {
|
|
11
|
+
var children = _a.children,
|
|
12
|
+
icon = _a.icon,
|
|
13
|
+
iconPosition = _a.iconPosition,
|
|
14
|
+
isUnderlined = _a.isUnderlined;
|
|
15
|
+
var iconPositionStyling = iconPosition === 'start' ? styles.iconStart : styles.iconEnd;
|
|
16
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
17
|
+
className: mergeClassNames(styles.linkContent, isUnderlined && styles.isUnderlined)
|
|
18
|
+
}, icon && iconPosition === 'start' && /*#__PURE__*/React.createElement(LinkIcon, {
|
|
19
|
+
icon: icon
|
|
20
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
21
|
+
className: mergeClassNames(icon && iconPositionStyling)
|
|
22
|
+
}, children), icon && iconPosition === 'end' && /*#__PURE__*/React.createElement(LinkIcon, {
|
|
23
|
+
icon: icon
|
|
24
|
+
}));
|
|
25
|
+
};
|
|
26
|
+
export { LinkContent };
|
package/dist/esm/index.mjs
CHANGED
|
@@ -45,6 +45,7 @@ export { Filter } from './Filter/Filter/Filter.mjs';
|
|
|
45
45
|
export { FilterContents } from './Filter/Filter/subcomponents/FilterContents/FilterContents.mjs';
|
|
46
46
|
export { FilterBar } from './Filter/FilterBar/FilterBar.mjs';
|
|
47
47
|
export { FilterBarProvider, useFilterBarContext } from './Filter/FilterBar/context/FilterBarContext.mjs';
|
|
48
|
+
export { FilterButtonBase } from './Filter/FilterButton/subcomponents/FilterButtonBase/FilterButtonBase.mjs';
|
|
48
49
|
export { FilterButton } from './Filter/FilterButton/FilterButton/FilterButton.mjs';
|
|
49
50
|
export { FilterButtonRemovable } from './Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.mjs';
|
|
50
51
|
export { FilterDatePicker } from './Filter/FilterDatePicker/FilterDatePicker.mjs';
|
|
@@ -314,6 +315,7 @@ export { InputSearch } from './Input/InputSearch/InputSearch.mjs';
|
|
|
314
315
|
export { KaizenProvider } from './KaizenProvider/KaizenProvider.mjs';
|
|
315
316
|
export { Label } from './Label/Label.mjs';
|
|
316
317
|
export { LabelledMessage } from './LabelledMessage/LabelledMessage.mjs';
|
|
318
|
+
export { Link } from './Link/Link.mjs';
|
|
317
319
|
export { LikertScaleLegacy } from './LikertScaleLegacy/LikertScaleLegacy.mjs';
|
|
318
320
|
export { LinkButton } from './LinkButton/LinkButton.mjs';
|
|
319
321
|
export { LoadingGraphic } from './Loading/LoadingGraphic/LoadingGraphic.mjs';
|