Skip to content

Commit 4628945

Browse files
feat: support langs in vrts
1 parent 35d7773 commit 4628945

File tree

3 files changed

+41
-6
lines changed

3 files changed

+41
-6
lines changed

components/textfield/stories/template.js

+8-2
Original file line numberDiff line numberDiff line change
@@ -334,8 +334,14 @@ export const LocaleWrapper = (args, context) => {
334334
value: "สมชาย",
335335
},
336336
};
337-
const { lang } = context.globals;
337+
338+
const { lang: contextLang } = context.globals;
339+
const lang = args.lang || contextLang;
338340
const { labelText, value } = translations[lang] ?? translations.en;
339341

340-
return Template({ ...args, labelText, value }, context);
342+
return html`
343+
<div lang=${ifDefined(args.lang)}>
344+
${Template({ ...args, labelText, value }, context)}
345+
</div>
346+
`;
341347
};

components/textfield/stories/textfield.stories.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes";
33
import { isDisabled, isFocused, isInvalid, isKeyboardFocused, isLoading, isQuiet, isReadOnly, isRequired, isValid, size } from "@spectrum-css/preview/types";
44
import metadata from "../metadata/metadata.json";
55
import packageJson from "../package.json";
6-
import { HelpTextOptions, KeyboardFocusTemplate, LocaleWrapper, Template, TextFieldOptions } from "./template.js";
7-
import { TextFieldGroup } from "./textfield.test.js";
6+
import { HelpTextOptions, KeyboardFocusTemplate, Template, TextFieldOptions } from "./template.js";
7+
import { TextFieldGroup, TextFieldLocaleGroup } from "./textfield.test.js";
88

99
/**
1010
* Text fields are text boxes that allow users to input custom text entries with a keyboard. Various decorations can be displayed around the field to communicate the entry requirements.
@@ -149,7 +149,7 @@ export const Default = TextFieldGroup.bind({});
149149
Default.tags = ["!autodocs"];
150150
Default.args = {};
151151

152-
export const WithLocaleText = LocaleWrapper.bind({});
152+
export const WithLocaleText = TextFieldLocaleGroup.bind({});
153153
WithLocaleText.tags = ["!autodocs"];
154154

155155
// ********* DOCS ONLY ********* //

components/textfield/stories/textfield.test.js

+30-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Variants } from "@spectrum-css/preview/decorators";
2-
import { Template } from "./template.js";
2+
import { LocaleWrapper, Template } from "./template.js";
33

44
export const TextFieldGroup = Variants({
55
Template,
@@ -63,3 +63,32 @@ export const TextFieldGroup = Variants({
6363
isReadOnly: true,
6464
}]
6565
});
66+
67+
export const TextFieldLocaleGroup = Variants({
68+
Template: LocaleWrapper,
69+
withSizes: false,
70+
testData: [{
71+
testHeading: "English",
72+
}, {
73+
testHeading: "Hebrew",
74+
lang: "he",
75+
}, {
76+
testHeading: "Japanese",
77+
lang: "ja",
78+
}, {
79+
testHeading: "Korean",
80+
lang: "ko",
81+
}, {
82+
testHeading: "Arabic",
83+
lang: "ar",
84+
}, {
85+
testHeading: "Chinese",
86+
lang: "zh",
87+
}, {
88+
testHeading: "Persian",
89+
lang: "fa",
90+
}, {
91+
testHeading: "Thai",
92+
lang: "th",
93+
}]
94+
});

0 commit comments

Comments
 (0)