@@ -12,39 +12,34 @@ import {
1212 VisCanvas ,
1313 Zoom ,
1414} from '@h5web/lib' ;
15- import { type Meta , type StoryObj } from '@storybook/react-vite' ;
1615import { range } from 'd3-array' ;
1716
17+ import preview from '../.storybook/preview' ;
1818import FillHeight from './decorators/FillHeight' ;
1919
2020const oneD = mockValues . oneD ( ) ;
2121const typedTwoD = toTypedNdArray ( mockValues . twoD ( ) , Float32Array ) ;
2222
23- const meta = {
23+ const meta = preview . meta ( {
2424 title : 'Building Blocks/Interactions/AxialSelectToZoom' ,
2525 component : AxialSelectToZoom ,
2626 decorators : [ FillHeight ] ,
2727 parameters : { layout : 'fullscreen' } ,
28- args : {
29- axis : 'x' ,
30- modifierKey : [ ] ,
31- disabled : false ,
32- } ,
3328 argTypes : {
34- axis : { control : { type : 'inline-radio' } } ,
29+ axis : {
30+ control : { type : 'inline-radio' } ,
31+ options : [ 'x' , 'y' ] ,
32+ } ,
3533 modifierKey : {
3634 control : { type : 'inline-check' } ,
3735 options : [ 'Alt' , 'Control' , 'Shift' ] ,
3836 } ,
3937 } ,
40- } satisfies Meta < typeof AxialSelectToZoom > ;
41-
42- export default meta ;
43- type Story = StoryObj < typeof meta > ;
38+ } ) ;
4439
45- const Default = {
40+ export const XAxis = meta . story ( {
4641 render : ( args ) => {
47- const { modifierKey } = args ;
42+ const { modifierKey = [ ] } = args ;
4843 const domain = useDomain ( oneD ) ;
4944 assertDefined ( domain ) ;
5045
@@ -53,7 +48,7 @@ const Default = {
5348 abscissaConfig = { { visDomain : [ 0 , oneD . size ] , showGrid : true } }
5449 ordinateConfig = { { visDomain : domain , showGrid : true } }
5550 >
56- < Pan modifierKey = { modifierKey ? .length === 0 ? 'Control' : undefined } />
51+ < Pan modifierKey = { modifierKey . length === 0 ? 'Control' : undefined } />
5752 < Zoom />
5853 < AxialSelectToZoom { ...args } />
5954 < ResetZoomButton />
@@ -62,54 +57,45 @@ const Default = {
6257 </ VisCanvas >
6358 ) ;
6459 } ,
65- } satisfies Story ;
66-
67- export const XAxis = {
68- ...Default ,
6960 args : {
7061 axis : 'x' ,
7162 } ,
72- } satisfies Story ;
63+ } ) ;
7364
74- export const YAxis = {
75- ...Default ,
65+ export const YAxis = XAxis . extend ( {
7666 args : {
7767 axis : 'y' ,
7868 } ,
79- } satisfies Story ;
69+ } ) ;
8070
81- export const ModifierKeyX = {
82- ...Default ,
71+ export const ModifierKeyX = XAxis . extend ( {
8372 args : {
8473 axis : 'x' ,
8574 modifierKey : [ 'Alt' ] ,
8675 } ,
87- } satisfies Story ;
76+ } ) ;
8877
89- export const MultipleModifierKeysY = {
90- ...Default ,
78+ export const MultipleModifierKeysY = XAxis . extend ( {
9179 args : {
9280 axis : 'y' ,
9381 modifierKey : [ 'Control' , 'Shift' ] ,
9482 } ,
95- } satisfies Story ;
83+ } ) ;
9684
97- export const MinZoom = {
98- ...Default ,
85+ export const MinZoom = XAxis . extend ( {
9986 args : {
10087 minZoom : 200 ,
10188 } ,
102- } satisfies Story ;
89+ } ) ;
10390
104- export const Disabled = {
105- ...Default ,
91+ export const Disabled = XAxis . extend ( {
10692 args : {
10793 axis : 'x' ,
10894 disabled : true ,
10995 } ,
110- } satisfies Story ;
96+ } ) ;
11197
112- export const DisabledInsideEqualAspectCanvas = {
98+ export const DisabledInsideEqualAspectCanvas = meta . story ( {
11399 render : ( args ) => {
114100 const [ rows , cols ] = typedTwoD . shape ;
115101 const domain = useDomain ( typedTwoD ) ;
@@ -135,8 +121,11 @@ export const DisabledInsideEqualAspectCanvas = {
135121 </ VisCanvas >
136122 ) ;
137123 } ,
124+ args : {
125+ axis : 'x' ,
126+ } ,
138127 argTypes : {
139128 modifierKey : { control : false } ,
140129 disabled : { control : false } ,
141130 } ,
142- } satisfies Story ;
131+ } ) ;
0 commit comments