Skip to content

Commit c5899b9

Browse files
authored
feat(react): export FeatureFlags as stable (#18942)
1 parent 2601d36 commit c5899b9

File tree

7 files changed

+113
-36
lines changed

7 files changed

+113
-36
lines changed

.github/workflows/version.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ jobs:
4545
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
4646
- name: Install dependencies
4747
run: yarn install --immutable --immutable-cache --check-cache
48+
- name: Update telemetry.yml
49+
run: yarn run telemetry:config
4850
- name: Create preminor release
4951
if: ${{ github.event.inputs.type == 'preminor' }}
5052
run: |

packages/react/__tests__/__snapshots__/PublicAPI-test.js.snap

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3308,6 +3308,35 @@ Map {
33083308
},
33093309
"render": [Function],
33103310
},
3311+
"FeatureFlags" => Object {
3312+
"propTypes": Object {
3313+
"children": Object {
3314+
"type": "node",
3315+
},
3316+
"enableDialogElement": Object {
3317+
"type": "bool",
3318+
},
3319+
"enableExperimentalFocusWrapWithoutSentinels": Object {
3320+
"type": "bool",
3321+
},
3322+
"enableTreeviewControllable": Object {
3323+
"type": "bool",
3324+
},
3325+
"enableV12DynamicFloatingStyles": Object {
3326+
"type": "bool",
3327+
},
3328+
"enableV12Overflowmenu": Object {
3329+
"type": "bool",
3330+
},
3331+
"enableV12TileDefaultIcons": Object {
3332+
"type": "bool",
3333+
},
3334+
"enableV12TileRadioIcons": Object {
3335+
"type": "bool",
3336+
},
3337+
"flags": [Function],
3338+
},
3339+
},
33113340
"FileUploader" => Object {
33123341
"$$typeof": Symbol(react.forward_ref),
33133342
"propTypes": Object {
@@ -11027,6 +11056,8 @@ Map {
1102711056
"unstable_useFeatureFlags" => Object {},
1102811057
"unstable_useLayoutDirection" => Object {},
1102911058
"useContextMenu" => Object {},
11059+
"useFeatureFlag" => Object {},
11060+
"useFeatureFlags" => Object {},
1103011061
"useIdPrefix" => Object {},
1103111062
"useLayer" => Object {},
1103211063
"usePrefersDarkScheme" => Object {},

packages/react/src/__tests__/index-test.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ describe('Carbon Components React', () => {
7070
"ErrorBoundaryContext",
7171
"ExpandableSearch",
7272
"ExpandableTile",
73+
"FeatureFlags",
7374
"FileUploader",
7475
"FileUploaderButton",
7576
"FileUploaderDropContainer",
@@ -294,6 +295,8 @@ describe('Carbon Components React', () => {
294295
"unstable_useFeatureFlags",
295296
"unstable_useLayoutDirection",
296297
"useContextMenu",
298+
"useFeatureFlag",
299+
"useFeatureFlags",
297300
"useIdPrefix",
298301
"useLayer",
299302
"usePrefersDarkScheme",

packages/react/src/components/FeatureFlags/overview.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ application's react tree. Multiple feature flags can be configured at the same
6363
time.
6464

6565
```jsx
66-
import { unstable_FeatureFlags as FeatureFlags } from '@carbon/react';
66+
import { FeatureFlags } from '@carbon/react';
6767

6868
<FeatureFlags enableV12TileDefaultIcons="true" enableASecondFeatureFlag="true">
6969
<Tile />
@@ -77,7 +77,7 @@ entire app, or only certain pages/routes/sections of your application.
7777
```jsx
7878
import { StrictMode } from 'react';
7979
import { createRoot } from 'react-dom/client';
80-
import { unstable_FeatureFlags as FeatureFlags } from '@carbon/react';
80+
import { FeatureFlags } from '@carbon/react';
8181
import App from './App';
8282

8383
const root = createRoot(document.getElementById('root'));

packages/react/src/index.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,14 @@ export {
6262
ErrorBoundary,
6363
ErrorBoundaryContext,
6464
} from './components/ErrorBoundary';
65+
export {
66+
FeatureFlags,
67+
useFeatureFlag,
68+
useFeatureFlags,
69+
FeatureFlags as unstable_FeatureFlags, // this export can be removed in v12
70+
useFeatureFlag as unstable_useFeatureFlag, // this export can be removed in v12
71+
useFeatureFlags as unstable_useFeatureFlags, // this export can be removed in v12
72+
} from './components/FeatureFlags';
6573
export {
6674
FileUploader,
6775
Filename,
@@ -235,11 +243,6 @@ export {
235243
} from './components/UIShell';
236244

237245
// Experimental
238-
export {
239-
FeatureFlags as unstable_FeatureFlags,
240-
useFeatureFlag as unstable_useFeatureFlag,
241-
useFeatureFlags as unstable_useFeatureFlags,
242-
} from './components/FeatureFlags';
243246
export {
244247
FluidComboBox as unstable__FluidComboBox,
245248
FluidComboBoxSkeleton as unstable__FluidComboBoxSkeleton,

packages/react/src/index.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,14 @@ export * from './components/DatePickerInput';
3333
export * from './components/Dropdown';
3434
export * from './components/ErrorBoundary';
3535
export * from './components/ExpandableSearch';
36+
export {
37+
FeatureFlags,
38+
useFeatureFlag,
39+
useFeatureFlags,
40+
FeatureFlags as unstable_FeatureFlags, // this export can be removed in v12
41+
useFeatureFlag as unstable_useFeatureFlag, // this export can be removed in v12
42+
useFeatureFlags as unstable_useFeatureFlags, // this export can be removed in v12
43+
} from './components/FeatureFlags';
3644
export * from './components/FileUploader';
3745
export * from './components/FilterableMultiSelect';
3846
export * from './components/FluidForm';
@@ -98,13 +106,7 @@ export * from './components/Toggletip';
98106
export * from './components/TreeView';
99107
export * from './components/UIShell';
100108
export * from './components/UnorderedList';
101-
102109
// Experimental
103-
export {
104-
FeatureFlags as unstable_FeatureFlags,
105-
useFeatureFlag as unstable_useFeatureFlag,
106-
useFeatureFlags as unstable_useFeatureFlags,
107-
} from './components/FeatureFlags';
108110
export {
109111
FluidComboBox as unstable__FluidComboBox,
110112
FluidComboBoxSkeleton as unstable__FluidComboBoxSkeleton,

0 commit comments

Comments
 (0)