diff --git a/packages/dev/codemods/src/s1-to-s2/__tests__/__snapshots__/picker.test.ts.snap b/packages/dev/codemods/src/s1-to-s2/__tests__/__snapshots__/picker.test.ts.snap index 29264af6bb8..6a1d6ca6c4d 100644 --- a/packages/dev/codemods/src/s1-to-s2/__tests__/__snapshots__/picker.test.ts.snap +++ b/packages/dev/codemods/src/s1-to-s2/__tests__/__snapshots__/picker.test.ts.snap @@ -149,6 +149,25 @@ exports[`handles sections 1`] = ` " `; +exports[`renames deprecated selection props 1`] = ` +"import { PickerItem, Picker } from "@react-spectrum/s2"; +let selectedKey = 'cat'; +
+ + Dog + Cat + + console.log(key)} value={selectedKey}> + Dog + Cat + + + Dog + Cat + +
" +`; + exports[`replaces isLoading with loadingState and keeps onLoadMore 1`] = ` "import { PickerItem, Picker } from "@react-spectrum/s2"; <> diff --git a/packages/dev/codemods/src/s1-to-s2/__tests__/picker.test.ts b/packages/dev/codemods/src/s1-to-s2/__tests__/picker.test.ts index f59e2c96b45..a6864ec2409 100644 --- a/packages/dev/codemods/src/s1-to-s2/__tests__/picker.test.ts +++ b/packages/dev/codemods/src/s1-to-s2/__tests__/picker.test.ts @@ -162,3 +162,22 @@ test('replaces isLoading with loadingState and keeps onLoadMore', ` `); + +test('renames deprecated selection props', ` +import {Picker, Item} from '@adobe/react-spectrum'; +let selectedKey = 'cat'; +
+ + Dog + Cat + + console.log(key)} selectedKey={selectedKey}> + Dog + Cat + + + Dog + Cat + +
+`); diff --git a/packages/dev/codemods/src/s1-to-s2/src/codemods/components/Picker/transform.ts b/packages/dev/codemods/src/s1-to-s2/src/codemods/components/Picker/transform.ts index 7c3faea2c8c..971de36ff46 100644 --- a/packages/dev/codemods/src/s1-to-s2/src/codemods/components/Picker/transform.ts +++ b/packages/dev/codemods/src/s1-to-s2/src/codemods/components/Picker/transform.ts @@ -14,6 +14,9 @@ import * as t from '@babel/types'; * - Change validationState="invalid" to isInvalid. * - Remove validationState="valid" (it is no longer supported in Spectrum 2). * - Replace isLoading with loadingState. + * - Rename onSelectionChange to onChange. + * - Rename selectedKey to value. + * - Rename defaultSelectedKey to defaultValue. */ export default function transformPicker(path: NodePath): void { // Change menuWidth value from a DimensionValue to a pixel value @@ -39,4 +42,22 @@ export default function transformPicker(path: NodePath): void { newPropName: 'loadingState', comment: 'Replace boolean passed to isLoading with appropriate loadingState.' }); + + // Rename onSelectionChange to onChange + updatePropName(path, { + oldPropName: 'onSelectionChange', + newPropName: 'onChange' + }); + + // Rename selectedKey to value + updatePropName(path, { + oldPropName: 'selectedKey', + newPropName: 'value' + }); + + // Rename defaultSelectedKey to defaultValue + updatePropName(path, { + oldPropName: 'defaultSelectedKey', + newPropName: 'defaultValue' + }); }