diff --git a/src/components/SegmentedControl.stories.ts b/src/components/SegmentedControl.stories.ts index 9bc20f7..31dee3d 100644 --- a/src/components/SegmentedControl.stories.ts +++ b/src/components/SegmentedControl.stories.ts @@ -46,15 +46,35 @@ const meta: Meta = { onClick: fn(), label: 'Select a minimum duration', options: selectOptions, + required: false, + disabled: false, }, }; export default meta; type Story = StoryObj; -export const DurationSelection: Story = { +export const Standard: Story = { + parameters: { + docs: { + source: { + code: "const options = [\n { label: 'Instant', value: 0 },\n { label: '12 hours', value: 12 },\n { label: 'a day', value: 24 },\n { label: '2 days', value: 48 },\n { label: '3 days', value: 72 },\n { label: '4 days', value: 96 },\n { label: '5 days', value: 120 },\n];\n\n", + }, + }, + }, +}; + +export const Required: Story = { args: { - modelValue: 24, + label: 'Required segmented control', + required: true, + }, + parameters: { + docs: { + source: { + code: '', + }, + }, }, }; @@ -64,9 +84,16 @@ export const Disabled: Story = { disabled: true, modelValue: 48, }, + parameters: { + docs: { + source: { + code: '', + }, + }, + }, }; -export const WithVModel: Story = { +export const VModel: Story = { render: (args) => ({ components: { SegmentedControl }, setup() { @@ -91,9 +118,16 @@ export const WithVModel: Story = { `, }), + parameters: { + docs: { + source: { + code: 'const model = ref(24);\n\n', + }, + }, + }, }; -export const WithOptionBadges: Story = { +export const OptionBadges: Story = { args: { label: 'Todo', options: [ @@ -121,4 +155,11 @@ export const WithOptionBadges: Story = { }, modelValue: 0, }, + parameters: { + docs: { + source: { + code: '', + }, + }, + }, }; diff --git a/src/components/SegmentedControl.vue b/src/components/SegmentedControl.vue index ffa8520..794fa29 100644 --- a/src/components/SegmentedControl.vue +++ b/src/components/SegmentedControl.vue @@ -41,7 +41,7 @@ const setOption = (option: SelectOption) => { - * + *
    diff --git a/test/components/SegmentedControl.test.js b/test/components/SegmentedControl.test.js index fab3757..e5f0ead 100644 --- a/test/components/SegmentedControl.test.js +++ b/test/components/SegmentedControl.test.js @@ -116,7 +116,7 @@ describe('SegmentedControl', () => { }); // if required option set, ensure required asterisk is displayed - if (ourProps['required'] == true) { + if (ourProps['required'] == true && !ourProps['modelValue']) { expect(segCtrlLabel.text()).toContain('*'); } });