@carbon/upgrade 11.22.0 → 11.23.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/cli.js +155 -1
- package/package.json +2 -2
- package/transforms/__testfixtures__/enable-v12-tile-default-icons.input.js +70 -0
- package/transforms/__testfixtures__/enable-v12-tile-default-icons.input.tsx +72 -0
- package/transforms/__testfixtures__/enable-v12-tile-default-icons.output.js +89 -0
- package/transforms/__testfixtures__/enable-v12-tile-default-icons.output.tsx +67 -0
- package/transforms/__testfixtures__/enable-v12-tile-radio-icons.input.js +87 -0
- package/transforms/__testfixtures__/enable-v12-tile-radio-icons.input.tsx +87 -0
- package/transforms/__testfixtures__/enable-v12-tile-radio-icons.output.js +87 -0
- package/transforms/__testfixtures__/enable-v12-tile-radio-icons.output.tsx +87 -0
- package/transforms/__testfixtures__/slug-prop-to-decorator-prop.input.js +41 -0
- package/transforms/__testfixtures__/slug-prop-to-decorator-prop.input.tsx +41 -0
- package/transforms/__testfixtures__/slug-prop-to-decorator-prop.output.js +41 -0
- package/transforms/__testfixtures__/slug-prop-to-decorator-prop.output.tsx +41 -0
- package/transforms/__tests__/enable-v12-tile-default-icons-test.js +12 -0
- package/transforms/__tests__/enable-v12-tile-radio-icons-test.js +12 -0
- package/transforms/__tests__/slug-prop-to-decorator-prop-test.js +12 -0
- package/transforms/enable-v12-tile-default-icons.js +183 -0
- package/transforms/enable-v12-tile-radio-icons.js +183 -0
- package/transforms/slug-prop-to-decorator-prop.js +47 -0
package/cli.js
CHANGED
|
@@ -52641,6 +52641,49 @@ var upgrades = [
|
|
|
52641
52641
|
});
|
|
52642
52642
|
}
|
|
52643
52643
|
},
|
|
52644
|
+
{
|
|
52645
|
+
name: "slug-prop-to-decorator-prop",
|
|
52646
|
+
description: `
|
|
52647
|
+
Replace slug prop with decorator
|
|
52648
|
+
|
|
52649
|
+
Transforms:
|
|
52650
|
+
<Component slug="value">
|
|
52651
|
+
content
|
|
52652
|
+
</Component>
|
|
52653
|
+
|
|
52654
|
+
Into:
|
|
52655
|
+
<Component decorator="value">
|
|
52656
|
+
content
|
|
52657
|
+
</Component>
|
|
52658
|
+
`,
|
|
52659
|
+
migrate: async (options) => {
|
|
52660
|
+
const transform = import_path2.default.join(
|
|
52661
|
+
TRANSFORM_DIR,
|
|
52662
|
+
"slug-prop-to-decorator-prop.js"
|
|
52663
|
+
);
|
|
52664
|
+
const paths = Array.isArray(options.paths) && options.paths.length > 0 ? options.paths : await (0, import_fast_glob2.default)(["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"], {
|
|
52665
|
+
cwd: options.workspaceDir,
|
|
52666
|
+
ignore: [
|
|
52667
|
+
"**/es/**",
|
|
52668
|
+
"**/lib/**",
|
|
52669
|
+
"**/umd/**",
|
|
52670
|
+
"**/node_modules/**",
|
|
52671
|
+
"**/storybook-static/**",
|
|
52672
|
+
"**/dist/**",
|
|
52673
|
+
"**/build/**",
|
|
52674
|
+
"**/*.d.ts",
|
|
52675
|
+
"**/coverage/**"
|
|
52676
|
+
]
|
|
52677
|
+
});
|
|
52678
|
+
await run2({
|
|
52679
|
+
dry: !options.write,
|
|
52680
|
+
transform,
|
|
52681
|
+
paths,
|
|
52682
|
+
verbose: options.verbose,
|
|
52683
|
+
parser: "tsx"
|
|
52684
|
+
});
|
|
52685
|
+
}
|
|
52686
|
+
},
|
|
52644
52687
|
{
|
|
52645
52688
|
name: "refactor-light-to-layer",
|
|
52646
52689
|
description: `
|
|
@@ -52673,6 +52716,62 @@ var upgrades = [
|
|
|
52673
52716
|
});
|
|
52674
52717
|
}
|
|
52675
52718
|
},
|
|
52719
|
+
{
|
|
52720
|
+
name: "enable-v12-tile-radio-icons",
|
|
52721
|
+
description: `
|
|
52722
|
+
Wrap RadioTile components with FeatureFlags enableV12TileRadioIcons
|
|
52723
|
+
|
|
52724
|
+
Transforms:
|
|
52725
|
+
|
|
52726
|
+
1. TileGroup with RadioTile:
|
|
52727
|
+
<TileGroup>
|
|
52728
|
+
<RadioTile>...</RadioTile>
|
|
52729
|
+
</TileGroup>
|
|
52730
|
+
|
|
52731
|
+
Into:
|
|
52732
|
+
<FeatureFlags enableV12TileRadioIcons>
|
|
52733
|
+
<TileGroup>
|
|
52734
|
+
<RadioTile>...</RadioTile>
|
|
52735
|
+
</TileGroup>
|
|
52736
|
+
</FeatureFlags>
|
|
52737
|
+
|
|
52738
|
+
2. Standalone RadioTile:
|
|
52739
|
+
<RadioTile>...</RadioTile>
|
|
52740
|
+
|
|
52741
|
+
Into:
|
|
52742
|
+
<FeatureFlags enableV12TileRadioIcons>
|
|
52743
|
+
<RadioTile>...</RadioTile>
|
|
52744
|
+
</FeatureFlags>
|
|
52745
|
+
`,
|
|
52746
|
+
migrate: async (options) => {
|
|
52747
|
+
const transform = import_path2.default.join(
|
|
52748
|
+
TRANSFORM_DIR,
|
|
52749
|
+
"enable-v12-tile-radio-icons.js"
|
|
52750
|
+
);
|
|
52751
|
+
const paths = Array.isArray(options.paths) && options.paths.length > 0 ? options.paths : await (0, import_fast_glob2.default)(["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"], {
|
|
52752
|
+
cwd: options.workspaceDir,
|
|
52753
|
+
ignore: [
|
|
52754
|
+
"**/es/**",
|
|
52755
|
+
"**/lib/**",
|
|
52756
|
+
"**/umd/**",
|
|
52757
|
+
"**/node_modules/**",
|
|
52758
|
+
"**/storybook-static/**",
|
|
52759
|
+
"**/dist/**",
|
|
52760
|
+
"**/build/**",
|
|
52761
|
+
"**/*.d.ts",
|
|
52762
|
+
"**/coverage/**"
|
|
52763
|
+
]
|
|
52764
|
+
});
|
|
52765
|
+
await run2({
|
|
52766
|
+
dry: !options.write,
|
|
52767
|
+
transform,
|
|
52768
|
+
paths,
|
|
52769
|
+
verbose: options.verbose,
|
|
52770
|
+
parser: "tsx"
|
|
52771
|
+
// Enable parsing of TSX files
|
|
52772
|
+
});
|
|
52773
|
+
}
|
|
52774
|
+
},
|
|
52676
52775
|
{
|
|
52677
52776
|
name: "refactor-to-callout",
|
|
52678
52777
|
description: "Rewrites imports and usages of StaticNotification to Callout",
|
|
@@ -52696,6 +52795,61 @@ var upgrades = [
|
|
|
52696
52795
|
});
|
|
52697
52796
|
}
|
|
52698
52797
|
},
|
|
52798
|
+
{
|
|
52799
|
+
name: "enable-v12-tile-default-icons",
|
|
52800
|
+
description: `
|
|
52801
|
+
Wrap Tile and TileGroup components with FeatureFlags enableV12TileDefaultIcons
|
|
52802
|
+
|
|
52803
|
+
Transforms:
|
|
52804
|
+
1. TileGroup with Tiles:
|
|
52805
|
+
<TileGroup>
|
|
52806
|
+
<Tile>...</Tile>
|
|
52807
|
+
</TileGroup>
|
|
52808
|
+
|
|
52809
|
+
Into:
|
|
52810
|
+
<FeatureFlags enableV12TileDefaultIcons>
|
|
52811
|
+
<TileGroup>
|
|
52812
|
+
<Tile>...</Tile>
|
|
52813
|
+
</TileGroup>
|
|
52814
|
+
</FeatureFlags>
|
|
52815
|
+
|
|
52816
|
+
2. Standalone Tile:
|
|
52817
|
+
<Tile>...</Tile>
|
|
52818
|
+
|
|
52819
|
+
Into:
|
|
52820
|
+
<FeatureFlags enableV12TileDefaultIcons>
|
|
52821
|
+
<Tile>...</Tile>
|
|
52822
|
+
</FeatureFlags>
|
|
52823
|
+
`,
|
|
52824
|
+
migrate: async (options) => {
|
|
52825
|
+
const transform = import_path2.default.join(
|
|
52826
|
+
TRANSFORM_DIR,
|
|
52827
|
+
"enable-v12-tile-default-icons.js"
|
|
52828
|
+
);
|
|
52829
|
+
const paths = Array.isArray(options.paths) && options.paths.length > 0 ? options.paths : await (0, import_fast_glob2.default)(["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"], {
|
|
52830
|
+
cwd: options.workspaceDir,
|
|
52831
|
+
ignore: [
|
|
52832
|
+
"**/es/**",
|
|
52833
|
+
"**/lib/**",
|
|
52834
|
+
"**/umd/**",
|
|
52835
|
+
"**/node_modules/**",
|
|
52836
|
+
"**/storybook-static/**",
|
|
52837
|
+
"**/dist/**",
|
|
52838
|
+
"**/build/**",
|
|
52839
|
+
"**/*.d.ts",
|
|
52840
|
+
"**/coverage/**"
|
|
52841
|
+
]
|
|
52842
|
+
});
|
|
52843
|
+
await run2({
|
|
52844
|
+
dry: !options.write,
|
|
52845
|
+
transform,
|
|
52846
|
+
paths,
|
|
52847
|
+
verbose: options.verbose,
|
|
52848
|
+
parser: "tsx"
|
|
52849
|
+
// Enable parsing of TSX files
|
|
52850
|
+
});
|
|
52851
|
+
}
|
|
52852
|
+
},
|
|
52699
52853
|
{
|
|
52700
52854
|
name: "ibm-products-update-http-errors",
|
|
52701
52855
|
description: "Rewrites HttpError403, HttpError404, HttpErrorOther to FullPageError",
|
|
@@ -52775,7 +52929,7 @@ var upgrades = [
|
|
|
52775
52929
|
var package_default = {
|
|
52776
52930
|
name: "@carbon/upgrade",
|
|
52777
52931
|
description: "A tool for upgrading Carbon versions",
|
|
52778
|
-
version: "11.
|
|
52932
|
+
version: "11.23.0",
|
|
52779
52933
|
license: "Apache-2.0",
|
|
52780
52934
|
bin: {
|
|
52781
52935
|
"carbon-upgrade": "./bin/carbon-upgrade.js"
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carbon/upgrade",
|
|
3
3
|
"description": "A tool for upgrading Carbon versions",
|
|
4
|
-
"version": "11.
|
|
4
|
+
"version": "11.23.0",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"bin": {
|
|
7
7
|
"carbon-upgrade": "./bin/carbon-upgrade.js"
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"@ibm/telemetry-js": "^1.5.0",
|
|
62
62
|
"jscodeshift": "^17.0.0"
|
|
63
63
|
},
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "fd1b7ab668473833c250488e0f7fc4feb55f1d88"
|
|
65
65
|
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TileGroup, Tile, Stack } from '@carbon/react';
|
|
3
|
+
import { FeatureFlags } from '@carbon/feature-flags';
|
|
4
|
+
|
|
5
|
+
function TestComponent() {
|
|
6
|
+
return (
|
|
7
|
+
<div>
|
|
8
|
+
{/* Case 1: Unwrapped TileGroup */}
|
|
9
|
+
<TileGroup legend="TestGroup" name="test">
|
|
10
|
+
<Tile>Option 1</Tile>
|
|
11
|
+
<Tile>Option 2</Tile>
|
|
12
|
+
</TileGroup>
|
|
13
|
+
|
|
14
|
+
{/* Wrapped standalone missing flag prop */}
|
|
15
|
+
<FeatureFlags>
|
|
16
|
+
<TileGroup legend="Missing Attribute" name="wrapped">
|
|
17
|
+
<Tile>Already Wrapped Option 1</Tile>
|
|
18
|
+
<Tile>Already Wrapped Option 2</Tile>
|
|
19
|
+
</TileGroup>
|
|
20
|
+
</FeatureFlags>
|
|
21
|
+
|
|
22
|
+
{/* Case 3: Already wrapped with other attributes */}
|
|
23
|
+
<FeatureFlags enable-v12-tile-radio-icons>
|
|
24
|
+
<TileGroup legend="Other Attribute" name="other-wrapped">
|
|
25
|
+
<Tile>Other Flag Option 1</Tile>
|
|
26
|
+
</TileGroup>
|
|
27
|
+
</FeatureFlags>
|
|
28
|
+
|
|
29
|
+
{/* Case 4: Already wrapped with correct attribute */}
|
|
30
|
+
<FeatureFlags enableV12TileDefaultIcons>
|
|
31
|
+
<TileGroup legend="Correct Wrapped" name="correct">
|
|
32
|
+
<Tile>Correctly Wrapped Option</Tile>
|
|
33
|
+
</TileGroup>
|
|
34
|
+
</FeatureFlags>
|
|
35
|
+
|
|
36
|
+
{/* Case 5: Standalone Tiles with different scenarios */}
|
|
37
|
+
<Stack>
|
|
38
|
+
{/* Unwrapped standalone */}
|
|
39
|
+
<Tile>Standalone Tile</Tile>
|
|
40
|
+
|
|
41
|
+
{/* Wrapped standalone missing flag prop */}
|
|
42
|
+
<FeatureFlags>
|
|
43
|
+
<Tile>Wrapped Standalone</Tile>
|
|
44
|
+
</FeatureFlags>
|
|
45
|
+
|
|
46
|
+
{/* Wrapped standalone with other flag */}
|
|
47
|
+
<FeatureFlags enable-v12-tile-radio-icons>
|
|
48
|
+
<Tile>Other Flag Standalone</Tile>
|
|
49
|
+
</FeatureFlags>
|
|
50
|
+
|
|
51
|
+
{/* Correctly wrapped standalone */}
|
|
52
|
+
<FeatureFlags enableV12TileDefaultIcons>
|
|
53
|
+
<Tile>Correct Standalone</Tile>
|
|
54
|
+
</FeatureFlags>
|
|
55
|
+
</Stack>
|
|
56
|
+
|
|
57
|
+
{/* Case 6: Nested structures */}
|
|
58
|
+
<div className="nested">
|
|
59
|
+
<TileGroup legend="Nested Group" name="nested">
|
|
60
|
+
<div className="wrapper">
|
|
61
|
+
<Tile>Nested Option 1</Tile>
|
|
62
|
+
</div>
|
|
63
|
+
<Tile>Nested Option 2</Tile>
|
|
64
|
+
</TileGroup>
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export default TestComponent;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TileGroup, Tile, Stack } from '@carbon/react';
|
|
3
|
+
import { FeatureFlags } from '@carbon/feature-flags';
|
|
4
|
+
|
|
5
|
+
const TestComponent: React.FC = () => {
|
|
6
|
+
return (
|
|
7
|
+
//prettier-ignore
|
|
8
|
+
<div>
|
|
9
|
+
{/* Case 1: Unwrapped TileGroup */}
|
|
10
|
+
<TileGroup legend="TestGroup" name="test">
|
|
11
|
+
<Tile id="test-1">Option 1</Tile>
|
|
12
|
+
<Tile id="test-2">Option 2</Tile>
|
|
13
|
+
</TileGroup>
|
|
14
|
+
|
|
15
|
+
{/* Wrapped standalone missing flag prop */}
|
|
16
|
+
<FeatureFlags>
|
|
17
|
+
<TileGroup legend="Missing Attribute" name="wrapped">
|
|
18
|
+
<Tile id="wrapped-1">Already Wrapped Option 1</Tile>
|
|
19
|
+
<Tile id="wrapped-2">Already Wrapped Option 2</Tile>
|
|
20
|
+
<Tile id="wrapped-3">Already Wrapped Option 3</Tile>
|
|
21
|
+
</TileGroup>
|
|
22
|
+
</FeatureFlags>
|
|
23
|
+
|
|
24
|
+
{/* Case 3: Already wrapped with other flags */}
|
|
25
|
+
<FeatureFlags enable-v12-tile-radio-icons>
|
|
26
|
+
<TileGroup legend="Other Attribute" name="other-wrapped">
|
|
27
|
+
<Tile id="other-1">Other Flag Option 1</Tile>
|
|
28
|
+
</TileGroup>
|
|
29
|
+
</FeatureFlags>
|
|
30
|
+
|
|
31
|
+
{/* Case 4: Already wrapped with correct flag */}
|
|
32
|
+
<FeatureFlags enableV12TileDefaultIcons>
|
|
33
|
+
<TileGroup legend="Correct Wrapped" name="correct">
|
|
34
|
+
<Tile id="correct-1">Correctly Wrapped Option</Tile>
|
|
35
|
+
</TileGroup>
|
|
36
|
+
</FeatureFlags>
|
|
37
|
+
|
|
38
|
+
{/* Case 5: Standalone Tiles with different scenarios */}
|
|
39
|
+
<Stack>
|
|
40
|
+
{/* Unwrapped standalone */}
|
|
41
|
+
<Tile id="standalone">Standalone Tile</Tile>
|
|
42
|
+
|
|
43
|
+
{/* Wrapped standalone missing flag prop */}
|
|
44
|
+
<FeatureFlags>
|
|
45
|
+
<Tile id="wrapped-standalone">Wrapped Standalone</Tile>
|
|
46
|
+
</FeatureFlags>
|
|
47
|
+
|
|
48
|
+
{/* Wrapped standalone with other flag */}
|
|
49
|
+
<FeatureFlags enable-v12-tile-radio-icons>
|
|
50
|
+
<Tile id="other-standalone">Other Flag Standalone</Tile>
|
|
51
|
+
</FeatureFlags>
|
|
52
|
+
|
|
53
|
+
{/* Correctly wrapped standalone */}
|
|
54
|
+
<FeatureFlags enableV12TileDefaultIcons>
|
|
55
|
+
<Tile id="correct-standalone">Correct Standalone</Tile>
|
|
56
|
+
</FeatureFlags>
|
|
57
|
+
</Stack>
|
|
58
|
+
|
|
59
|
+
{/* Case 6: Nested structures */}
|
|
60
|
+
<div className="nested">
|
|
61
|
+
<TileGroup legend="Nested Group" name="nested">
|
|
62
|
+
<div className="wrapper">
|
|
63
|
+
<Tile id="nested-1">Nested Option 1</Tile>
|
|
64
|
+
</div>
|
|
65
|
+
<Tile id="nested-2">Nested Option 2</Tile>
|
|
66
|
+
</TileGroup>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
);
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export default TestComponent;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TileGroup, Tile, Stack } from '@carbon/react';
|
|
3
|
+
import { FeatureFlags } from '@carbon/feature-flags';
|
|
4
|
+
|
|
5
|
+
function TestComponent() {
|
|
6
|
+
return (
|
|
7
|
+
(<div>
|
|
8
|
+
{/* Case 1: Unwrapped TileGroup */}
|
|
9
|
+
<FeatureFlags enableV12TileDefaultIcons><TileGroup legend="TestGroup" name="test">
|
|
10
|
+
<Tile>
|
|
11
|
+
Option 1
|
|
12
|
+
</Tile>
|
|
13
|
+
<Tile>
|
|
14
|
+
Option 2
|
|
15
|
+
</Tile>
|
|
16
|
+
</TileGroup></FeatureFlags>
|
|
17
|
+
{/* Wrapped standalone missing flag prop */}
|
|
18
|
+
<FeatureFlags enableV12TileDefaultIcons>
|
|
19
|
+
<TileGroup legend="Missing Attribute" name="wrapped">
|
|
20
|
+
<Tile>
|
|
21
|
+
Already Wrapped Option 1
|
|
22
|
+
</Tile>
|
|
23
|
+
<Tile>
|
|
24
|
+
Already Wrapped Option 2
|
|
25
|
+
</Tile>
|
|
26
|
+
</TileGroup>
|
|
27
|
+
</FeatureFlags>
|
|
28
|
+
{/* Case 3: Already wrapped with other attributes */}
|
|
29
|
+
<FeatureFlags enable-v12-tile-radio-icons enableV12TileDefaultIcons>
|
|
30
|
+
<TileGroup legend="Other Attribute" name="other-wrapped">
|
|
31
|
+
<Tile>
|
|
32
|
+
Other Flag Option 1
|
|
33
|
+
</Tile>
|
|
34
|
+
</TileGroup>
|
|
35
|
+
</FeatureFlags>
|
|
36
|
+
{/* Case 4: Already wrapped with correct attribute */}
|
|
37
|
+
<FeatureFlags enableV12TileDefaultIcons>
|
|
38
|
+
<TileGroup legend="Correct Wrapped" name="correct">
|
|
39
|
+
<Tile>
|
|
40
|
+
Correctly Wrapped Option
|
|
41
|
+
</Tile>
|
|
42
|
+
</TileGroup>
|
|
43
|
+
</FeatureFlags>
|
|
44
|
+
{/* Case 5: Standalone Tiles with different scenarios */}
|
|
45
|
+
<Stack>
|
|
46
|
+
{/* Unwrapped standalone */}
|
|
47
|
+
<FeatureFlags enableV12TileDefaultIcons><Tile>
|
|
48
|
+
Standalone Tile
|
|
49
|
+
</Tile></FeatureFlags>
|
|
50
|
+
|
|
51
|
+
{/* Wrapped standalone missing flag prop */}
|
|
52
|
+
<FeatureFlags enableV12TileDefaultIcons>
|
|
53
|
+
<Tile>
|
|
54
|
+
Wrapped Standalone
|
|
55
|
+
</Tile>
|
|
56
|
+
</FeatureFlags>
|
|
57
|
+
|
|
58
|
+
{/* Wrapped standalone with other flag */}
|
|
59
|
+
<FeatureFlags enable-v12-tile-radio-icons enableV12TileDefaultIcons>
|
|
60
|
+
<Tile>
|
|
61
|
+
Other Flag Standalone
|
|
62
|
+
</Tile>
|
|
63
|
+
</FeatureFlags>
|
|
64
|
+
|
|
65
|
+
{/* Correctly wrapped standalone */}
|
|
66
|
+
<FeatureFlags enableV12TileDefaultIcons>
|
|
67
|
+
<Tile>
|
|
68
|
+
Correct Standalone
|
|
69
|
+
</Tile>
|
|
70
|
+
</FeatureFlags>
|
|
71
|
+
</Stack>
|
|
72
|
+
{/* Case 6: Nested structures */}
|
|
73
|
+
<div className="nested">
|
|
74
|
+
<FeatureFlags enableV12TileDefaultIcons><TileGroup legend="Nested Group" name="nested">
|
|
75
|
+
<div className="wrapper">
|
|
76
|
+
<Tile>
|
|
77
|
+
Nested Option 1
|
|
78
|
+
</Tile>
|
|
79
|
+
</div>
|
|
80
|
+
<Tile>
|
|
81
|
+
Nested Option 2
|
|
82
|
+
</Tile>
|
|
83
|
+
</TileGroup></FeatureFlags>
|
|
84
|
+
</div>
|
|
85
|
+
</div>)
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export default TestComponent;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TileGroup, Tile, Stack } from '@carbon/react';
|
|
3
|
+
import { FeatureFlags } from '@carbon/feature-flags';
|
|
4
|
+
|
|
5
|
+
const TestComponent: React.FC = () => {
|
|
6
|
+
return (
|
|
7
|
+
//prettier-ignore
|
|
8
|
+
(<div>
|
|
9
|
+
{/* Case 1: Unwrapped TileGroup */}
|
|
10
|
+
<FeatureFlags enableV12TileDefaultIcons><TileGroup legend="TestGroup" name="test">
|
|
11
|
+
<Tile id="test-1">Option 1</Tile>
|
|
12
|
+
<Tile id="test-2">Option 2</Tile>
|
|
13
|
+
</TileGroup></FeatureFlags>
|
|
14
|
+
{/* Wrapped standalone missing flag prop */}
|
|
15
|
+
<FeatureFlags enableV12TileDefaultIcons>
|
|
16
|
+
<TileGroup legend="Missing Attribute" name="wrapped">
|
|
17
|
+
<Tile id="wrapped-1">Already Wrapped Option 1</Tile>
|
|
18
|
+
<Tile id="wrapped-2">Already Wrapped Option 2</Tile>
|
|
19
|
+
<Tile id="wrapped-3">Already Wrapped Option 3</Tile>
|
|
20
|
+
</TileGroup>
|
|
21
|
+
</FeatureFlags>
|
|
22
|
+
{/* Case 3: Already wrapped with other flags */}
|
|
23
|
+
<FeatureFlags enable-v12-tile-radio-icons enableV12TileDefaultIcons>
|
|
24
|
+
<TileGroup legend="Other Attribute" name="other-wrapped">
|
|
25
|
+
<Tile id="other-1">Other Flag Option 1</Tile>
|
|
26
|
+
</TileGroup>
|
|
27
|
+
</FeatureFlags>
|
|
28
|
+
{/* Case 4: Already wrapped with correct flag */}
|
|
29
|
+
<FeatureFlags enableV12TileDefaultIcons>
|
|
30
|
+
<TileGroup legend="Correct Wrapped" name="correct">
|
|
31
|
+
<Tile id="correct-1">Correctly Wrapped Option</Tile>
|
|
32
|
+
</TileGroup>
|
|
33
|
+
</FeatureFlags>
|
|
34
|
+
{/* Case 5: Standalone Tiles with different scenarios */}
|
|
35
|
+
<Stack>
|
|
36
|
+
{/* Unwrapped standalone */}
|
|
37
|
+
<FeatureFlags enableV12TileDefaultIcons><Tile id="standalone">Standalone Tile</Tile></FeatureFlags>
|
|
38
|
+
|
|
39
|
+
{/* Wrapped standalone missing flag prop */}
|
|
40
|
+
<FeatureFlags enableV12TileDefaultIcons>
|
|
41
|
+
<Tile id="wrapped-standalone">Wrapped Standalone</Tile>
|
|
42
|
+
</FeatureFlags>
|
|
43
|
+
|
|
44
|
+
{/* Wrapped standalone with other flag */}
|
|
45
|
+
<FeatureFlags enable-v12-tile-radio-icons enableV12TileDefaultIcons>
|
|
46
|
+
<Tile id="other-standalone">Other Flag Standalone</Tile>
|
|
47
|
+
</FeatureFlags>
|
|
48
|
+
|
|
49
|
+
{/* Correctly wrapped standalone */}
|
|
50
|
+
<FeatureFlags enableV12TileDefaultIcons>
|
|
51
|
+
<Tile id="correct-standalone">Correct Standalone</Tile>
|
|
52
|
+
</FeatureFlags>
|
|
53
|
+
</Stack>
|
|
54
|
+
{/* Case 6: Nested structures */}
|
|
55
|
+
<div className="nested">
|
|
56
|
+
<FeatureFlags enableV12TileDefaultIcons><TileGroup legend="Nested Group" name="nested">
|
|
57
|
+
<div className="wrapper">
|
|
58
|
+
<Tile id="nested-1">Nested Option 1</Tile>
|
|
59
|
+
</div>
|
|
60
|
+
<Tile id="nested-2">Nested Option 2</Tile>
|
|
61
|
+
</TileGroup></FeatureFlags>
|
|
62
|
+
</div>
|
|
63
|
+
</div>)
|
|
64
|
+
);
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export default TestComponent;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TileGroup, RadioTile, Stack } from '@carbon/react';
|
|
3
|
+
import { FeatureFlags } from '@carbon/feature-flags';
|
|
4
|
+
|
|
5
|
+
function TestComponent() {
|
|
6
|
+
return (
|
|
7
|
+
//prettier-ignore
|
|
8
|
+
<div>
|
|
9
|
+
{/* Case 1: Unwrapped TileGroup */}
|
|
10
|
+
<TileGroup legend="TestGroup" name="test">
|
|
11
|
+
<RadioTile id="test-1" value="test-1">
|
|
12
|
+
Option 1
|
|
13
|
+
</RadioTile>
|
|
14
|
+
<RadioTile id="test-2" value="test-2">
|
|
15
|
+
Option 2
|
|
16
|
+
</RadioTile>
|
|
17
|
+
</TileGroup>
|
|
18
|
+
{/* Wrapped standalone missing flag prop */}
|
|
19
|
+
<FeatureFlags>
|
|
20
|
+
<TileGroup legend="Missing Attribute" name="wrapped">
|
|
21
|
+
<RadioTile id="wrapped-1" value="wrapped-1">
|
|
22
|
+
Already Wrapped Option 1
|
|
23
|
+
</RadioTile>
|
|
24
|
+
<RadioTile id="wrapped-2" value="wrapped-2">
|
|
25
|
+
Already Wrapped Option 2
|
|
26
|
+
</RadioTile>
|
|
27
|
+
</TileGroup>
|
|
28
|
+
</FeatureFlags>
|
|
29
|
+
{/* Case 3: Already wrapped with other attributes */}
|
|
30
|
+
<FeatureFlags enable-v12-tile-default-icons>
|
|
31
|
+
<TileGroup legend="Other Attribute" name="other-wrapped">
|
|
32
|
+
<RadioTile id="other-1" value="other-1">
|
|
33
|
+
Other Flag Option 1
|
|
34
|
+
</RadioTile>
|
|
35
|
+
</TileGroup>
|
|
36
|
+
</FeatureFlags>
|
|
37
|
+
{/* Case 4: Already wrapped with correct attribute */}
|
|
38
|
+
<FeatureFlags enableV12TileRadioIcons>
|
|
39
|
+
<TileGroup legend="Correct Wrapped" name="correct">
|
|
40
|
+
<RadioTile id="correct-1" value="correct-1">
|
|
41
|
+
Correctly Wrapped Option
|
|
42
|
+
</RadioTile>
|
|
43
|
+
</TileGroup>
|
|
44
|
+
</FeatureFlags>
|
|
45
|
+
{/* Case 5: Standalone RadioTiles with different scenarios */}
|
|
46
|
+
<Stack>
|
|
47
|
+
{/* Unwrapped standalone */}
|
|
48
|
+
<RadioTile id="standalone" value="standalone">
|
|
49
|
+
Standalone Tile
|
|
50
|
+
</RadioTile>
|
|
51
|
+
{/* Wrapped standalone missing flag prop */}
|
|
52
|
+
<FeatureFlags>
|
|
53
|
+
<RadioTile id="wrapped-standalone" value="wrapped-standalone">
|
|
54
|
+
Wrapped Standalone
|
|
55
|
+
</RadioTile>
|
|
56
|
+
</FeatureFlags>
|
|
57
|
+
{/* Wrapped standalone with other flag */}
|
|
58
|
+
<FeatureFlags enable-v12-tile-default-icons>
|
|
59
|
+
<RadioTile id="other-standalone" value="other-standalone">
|
|
60
|
+
Other Flag Standalone
|
|
61
|
+
</RadioTile>
|
|
62
|
+
</FeatureFlags>
|
|
63
|
+
{/* Correctly wrapped standalone */}
|
|
64
|
+
<FeatureFlags enableV12TileRadioIcons>
|
|
65
|
+
<RadioTile id="correct-standalone" value="correct-standalone">
|
|
66
|
+
Correct Standalone
|
|
67
|
+
</RadioTile>
|
|
68
|
+
</FeatureFlags>
|
|
69
|
+
</Stack>
|
|
70
|
+
{/* Case 6: Nested structures */}
|
|
71
|
+
<div className="nested">
|
|
72
|
+
<TileGroup legend="Nested Group" name="nested">
|
|
73
|
+
<div className="wrapper">
|
|
74
|
+
<RadioTile id="nested-1" value="nested-1">
|
|
75
|
+
Nested Option 1
|
|
76
|
+
</RadioTile>
|
|
77
|
+
</div>
|
|
78
|
+
<RadioTile id="nested-2" value="nested-2">
|
|
79
|
+
Nested Option 2
|
|
80
|
+
</RadioTile>
|
|
81
|
+
</TileGroup>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export default TestComponent;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TileGroup, RadioTile, Stack } from '@carbon/react';
|
|
3
|
+
import { FeatureFlags } from '@carbon/feature-flags';
|
|
4
|
+
|
|
5
|
+
const TestComponent: React.FC = () => {
|
|
6
|
+
return (
|
|
7
|
+
//prettier-ignore
|
|
8
|
+
<div>
|
|
9
|
+
{/* Case 1: Unwrapped TileGroup */}
|
|
10
|
+
<TileGroup legend="TestGroup" name="test">
|
|
11
|
+
<RadioTile id="test-1" value="test-1">
|
|
12
|
+
Option 1
|
|
13
|
+
</RadioTile>
|
|
14
|
+
<RadioTile id="test-2" value="test-2">
|
|
15
|
+
Option 2
|
|
16
|
+
</RadioTile>
|
|
17
|
+
</TileGroup>
|
|
18
|
+
{/* Wrapped standalone missing flag prop */}
|
|
19
|
+
<FeatureFlags>
|
|
20
|
+
<TileGroup legend="Missing Attribute" name="wrapped">
|
|
21
|
+
<RadioTile id="wrapped-1" value="wrapped-1">
|
|
22
|
+
Already Wrapped Option 1
|
|
23
|
+
</RadioTile>
|
|
24
|
+
<RadioTile id="wrapped-2" value="wrapped-2">
|
|
25
|
+
Already Wrapped Option 2
|
|
26
|
+
</RadioTile>
|
|
27
|
+
</TileGroup>
|
|
28
|
+
</FeatureFlags>
|
|
29
|
+
{/* Case 3: Already wrapped with other flags */}
|
|
30
|
+
<FeatureFlags enable-v12-tile-default-icons>
|
|
31
|
+
<TileGroup legend="Other Attribute" name="other-wrapped">
|
|
32
|
+
<RadioTile id="other-1" value="other-1">
|
|
33
|
+
Other Flag Option 1
|
|
34
|
+
</RadioTile>
|
|
35
|
+
</TileGroup>
|
|
36
|
+
</FeatureFlags>
|
|
37
|
+
{/* Case 4: Already wrapped with correct flag */}
|
|
38
|
+
<FeatureFlags enableV12TileRadioIcons>
|
|
39
|
+
<TileGroup legend="Correct Wrapped" name="correct">
|
|
40
|
+
<RadioTile id="correct-1" value="correct-1">
|
|
41
|
+
Correctly Wrapped Option
|
|
42
|
+
</RadioTile>
|
|
43
|
+
</TileGroup>
|
|
44
|
+
</FeatureFlags>
|
|
45
|
+
{/* Case 5: Standalone RadioTiles with different scenarios */}
|
|
46
|
+
<Stack>
|
|
47
|
+
{/* Unwrapped standalone */}
|
|
48
|
+
<RadioTile id="standalone" value="standalone">
|
|
49
|
+
Standalone Tile
|
|
50
|
+
</RadioTile>
|
|
51
|
+
{/* Wrapped standalone missing flag prop */}
|
|
52
|
+
<FeatureFlags>
|
|
53
|
+
<RadioTile id="wrapped-standalone" value="wrapped-standalone">
|
|
54
|
+
Wrapped Standalone
|
|
55
|
+
</RadioTile>
|
|
56
|
+
</FeatureFlags>
|
|
57
|
+
{/* Wrapped standalone with other flag */}
|
|
58
|
+
<FeatureFlags enable-v12-tile-default-icons>
|
|
59
|
+
<RadioTile id="other-standalone" value="other-standalone">
|
|
60
|
+
Other Flag Standalone radio
|
|
61
|
+
</RadioTile>
|
|
62
|
+
</FeatureFlags>
|
|
63
|
+
{/* Correctly wrapped standalone */}
|
|
64
|
+
<FeatureFlags enableV12TileRadioIcons>
|
|
65
|
+
<RadioTile id="correct-standalone" value="correct-standalone">
|
|
66
|
+
Correct Standalone
|
|
67
|
+
</RadioTile>
|
|
68
|
+
</FeatureFlags>
|
|
69
|
+
</Stack>
|
|
70
|
+
{/* Case 6: Nested structures */}
|
|
71
|
+
<div className="nested">
|
|
72
|
+
<TileGroup legend="Nested Group" name="nested">
|
|
73
|
+
<div className="wrapper">
|
|
74
|
+
<RadioTile id="nested-1" value="nested-1">
|
|
75
|
+
Nested Option 1
|
|
76
|
+
</RadioTile>
|
|
77
|
+
</div>
|
|
78
|
+
<RadioTile id="nested-2" value="nested-2">
|
|
79
|
+
Nested Option 2
|
|
80
|
+
</RadioTile>
|
|
81
|
+
</TileGroup>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
);
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export default TestComponent;
|