mirror of https://github.com/portainer/portainer
86 lines
1.7 KiB
TypeScript
86 lines
1.7 KiB
TypeScript
|
import { Meta } from '@storybook/react';
|
||
|
import { useState } from 'react';
|
||
|
|
||
|
import { init as initFeatureService } from '@/portainer/feature-flags/feature-flags.service';
|
||
|
import { Edition, FeatureId } from '@/portainer/feature-flags/enums';
|
||
|
|
||
|
import { BoxSelector } from './BoxSelector';
|
||
|
import { BoxSelectorOption } from './types';
|
||
|
|
||
|
const meta: Meta = {
|
||
|
title: 'BoxSelector',
|
||
|
component: BoxSelector,
|
||
|
};
|
||
|
|
||
|
export default meta;
|
||
|
|
||
|
export { Example, LimitedFeature };
|
||
|
|
||
|
function Example() {
|
||
|
const [value, setValue] = useState(3);
|
||
|
const options: BoxSelectorOption<number>[] = [
|
||
|
{
|
||
|
description: 'description 1',
|
||
|
icon: 'fa fa-rocket',
|
||
|
id: '1',
|
||
|
value: 3,
|
||
|
label: 'option 1',
|
||
|
},
|
||
|
{
|
||
|
description: 'description 2',
|
||
|
icon: 'fa fa-rocket',
|
||
|
id: '2',
|
||
|
value: 4,
|
||
|
label: 'option 2',
|
||
|
},
|
||
|
];
|
||
|
|
||
|
return (
|
||
|
<BoxSelector
|
||
|
radioName="name"
|
||
|
onChange={(value: number) => {
|
||
|
setValue(value);
|
||
|
}}
|
||
|
value={value}
|
||
|
options={options}
|
||
|
/>
|
||
|
);
|
||
|
}
|
||
|
|
||
|
function LimitedFeature() {
|
||
|
initFeatureService(Edition.CE);
|
||
|
const [value, setValue] = useState(3);
|
||
|
const options: BoxSelectorOption<number>[] = [
|
||
|
{
|
||
|
description: 'description 1',
|
||
|
icon: 'fa fa-rocket',
|
||
|
id: '1',
|
||
|
value: 3,
|
||
|
label: 'option 1',
|
||
|
},
|
||
|
{
|
||
|
description: 'description 2',
|
||
|
icon: 'fa fa-rocket',
|
||
|
id: '2',
|
||
|
value: 4,
|
||
|
label: 'option 2',
|
||
|
feature: FeatureId.ACTIVITY_AUDIT,
|
||
|
},
|
||
|
];
|
||
|
|
||
|
return (
|
||
|
<BoxSelector
|
||
|
radioName="name"
|
||
|
onChange={(value: number) => {
|
||
|
setValue(value);
|
||
|
}}
|
||
|
value={value}
|
||
|
options={options}
|
||
|
/>
|
||
|
);
|
||
|
}
|
||
|
|
||
|
// regular example
|
||
|
|
||
|
// story with limited feature
|