Skip to content

Commit 29a032b

Browse files
committed
feat(@clayui/language-picker): LPD-45714 Add defaultSelectedLocaleId
1 parent b68567e commit 29a032b

File tree

1 file changed

+9
-3
lines changed
  • packages/clay-core/src/language-picker

1 file changed

+9
-3
lines changed

packages/clay-core/src/language-picker/index.tsx

+9-3
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,11 @@ type Props = {
5454
*/
5555
defaultActive?: boolean;
5656

57+
/**
58+
* The initial selected locale id (uncontrolled).
59+
*/
60+
defaultSelectedLocaleId?: React.Key;
61+
5762
/**
5863
* Flag to hide the text in the trigger.
5964
*/
@@ -88,7 +93,7 @@ type Props = {
8893
/**
8994
* Exposes the currently selected locale id
9095
*/
91-
selectedLocaleId: string;
96+
selectedLocaleId?: React.Key;
9297

9398
/**
9499
* Flag to show the picker in small size.
@@ -203,6 +208,7 @@ const ClayLanguagePicker = ({
203208
active,
204209
classNamesTrigger,
205210
defaultActive = false,
211+
defaultSelectedLocaleId,
206212
hideTriggerText,
207213
id,
208214
messages = {
@@ -223,8 +229,7 @@ const ClayLanguagePicker = ({
223229
}: Props) => {
224230
const defaultLanguage = locales[0];
225231
const hasTranslations = Object.keys(translations).length;
226-
const selectedLocale =
227-
locales.find(({id}) => id === selectedLocaleId) || locales[0]!;
232+
const selectedLocale = locales.find(({id}) => id === selectedLocaleId)!;
228233

229234
return (
230235
<Picker
@@ -235,6 +240,7 @@ const ClayLanguagePicker = ({
235240
as={Trigger}
236241
classNamesTrigger={classNamesTrigger}
237242
defaultActive={defaultActive}
243+
defaultSelectedKey={defaultSelectedLocaleId || locales[0]!.id}
238244
hideTriggerText={hideTriggerText}
239245
id={id}
240246
items={locales}

0 commit comments

Comments
 (0)