vega-frontend-monorepo/libs/ui-toolkit/.storybook/preview.js

85 lines
2.2 KiB
JavaScript
Raw Normal View History

2022-02-21 15:41:32 +00:00
import '../src/styles.scss';
export const parameters = {
actions: { argTypesRegex: '^on[A-Z].*' },
Feature/303 orderbook improvements (#312) * [#151] market-depth code cleanup * [#303] Make ask and bid relative volume bars relative to maximum bid or ask volume * [#151] align cmulative vol bars to left * [#151] replace orderbook zoom in zoom out buttons with dropdown * [#151] fill gaps in orderbook data * Order book mocks added * [#151] mark mid price in orderbook * [303] Show number in orderbook cumulative volume column * [#808] show indicative uncrossing volume instead of volume if market is in auction mode * Method for asserting order book style * [#303] Add test id attributes to orderbook cells * Cleanup steps after merge * Order book test passing * Change method name * Revert "[#151] fill gaps in orderbook data" This reverts commit 90ea4e4ab381748d990095a4c332f1c98205d8f9. * [#303] Orderbook rows render optimization * test: update feature with @todo tests Same tests can be found in Notion * [#303] Orderbook scroll to mid price * [#303] orderbook scroll to row pixel perfect alignment * [#303] Bring back best offer horizontal lines * [#303] Preserve center price level on row number change, adjust indicativePrice to resoluton * feat(orderbook): add storybook Refs: #303 * feat(orderbook): fix no rows handling Refs: #303 * feat(orderbook): add orderbook stories for auction and continous market Refs: #303 * feat(orderbook): add stories for empty orderbook Refs: #303 * feat(orderbook): fix footer position when there is no data Refs: #303 * feat(orderbook): seperate number of rows for buy and sell in storybook Refs: #303 * feat(orderbook): keep mid price in middle until user will scroll Refs: #303 * feat(orderbook): style scrollbar * feat(orderbook): style scrollbar * feat(orderbook): adjust gaps * feat(orderbook): adjust gaps * test: addition for autofilled order and mid price lines * fix: lint * feat(orderbook): make it posiible to write RTL tests * feat(orderbook): fix price focus, add unit tests * feat(orderbook): fix price scroll to mid proce, add unit tests * feat(orderbook): improvements - fix scrollbar colors in firefox - bring back resolution dropdown chevron - hide go to mid button when locked on mid price - right align ask vol bar - change grid gap to 5px - add vertical lines between columns - display "No data" if theis no orderbook data - align header labels to right * feat(orderbook): fix formatting * feat(orderbook): add 5px gap * feat(orderbook): improvements after code review * feat(orderbook): display full height vertical lines * fix: change in mid position * feat(orderbook): fix number cannot be converted to BigInt because it is not integer * feat(orderbook): fix TS2307 in trading-e2e caused by .module.scss import Co-authored-by: Joe <joe@vega.xyz>
2022-06-10 13:52:39 +00:00
backgrounds: { disable: true },
layout: 'fullscreen',
a11y: {
config: {
rules: [
{
// Disabled only for storybook because we display both the dark and light variants of the components on the same page without differentiating the ids, so it will always error.
id: 'duplicate-id-aria',
selector: '[data-testid="form-group"] > label',
},
{
// Disabled because we can't control the radix radio group component and it claims to be accessible to begin with, so hopefully no issues.
id: 'button-name',
selector: '[role=radiogroup] > button',
},
],
},
},
2022-02-21 15:41:32 +00:00
};
export const globalTypes = {
theme: {
name: 'Theme',
description: 'Global theme for components',
defaultValue: 'dark',
toolbar: {
icon: 'circlehollow',
items: [
{ value: 'light', title: 'Light' },
{ value: 'dark', title: 'Dark' },
{ value: 'sideBySide', title: 'Side by side' },
],
showName: true,
},
},
};
const StoryWrapper = ({ children, className, style }) => (
<div style={style} className={className}>
<div className="p-16">
<div className="text-body dark:bg-black dark:text-white-60 bg-white text-black-60">
{children}
2022-03-03 14:48:40 +00:00
</div>
</div>
</div>
);
const lightThemeClasses = 'bg-white text-black';
const darkThemeClasses = 'dark bg-black text-white';
const withTheme = (Story, context) => {
const theme = context.parameters.theme || context.globals.theme;
const storyClasses = `h-[100vh] w-[100vw] ${
theme === 'dark' ? darkThemeClasses : lightThemeClasses
}`;
document.body.classList.toggle('dark', theme === 'dark');
return theme === 'sideBySide' ? (
<>
<div className={lightThemeClasses}>
<StoryWrapper>
2022-03-04 16:21:24 +00:00
<Story />
Feat/63 Deal ticket (#82) * scaffold dealticket package, remove trading views from react-helpers * add deal ticket component, add intent utils, expand dialog and form group styles * add splash component, show market not found message if market doesnt exist * tidy up error handling * add handleError method for vega tx hook * add better testname for provider test, flesh out tests a bit more for deal ticket * Add unit tests for useVegaTransaction and useOrderSubmit hooks * add wrapper component for order dialog styles * add vega styled loader to ui toolkit and use in order dialog * add title prop to order dialog * split limit and market tickets into own files * add button radio component * revert dialog styles * move splash component to ui-toolkit, add story * convert intent to enum * Make button always type=button unless type prop is passed * inline filter logic for tif selector * add date-fns, add datetime to helpers * add order types to wallet package, make price undefined if order type is market * use enums in deal ticket logic * tidy up order state by moving submit and transaction hooks out of deal ticket * add comment for dialog styles * remove decimal from price input * add types package, delete old generated types from trading project * rename types package to graphql * update generate command to point to correct locations * fix use order submit test * use intent shadow helper * remove date-fns and format manually, update submit button error to use input-error * remove stray console.log
2022-03-17 19:35:46 +00:00
</StoryWrapper>
</div>
<div className={darkThemeClasses}>
Feat/63 Deal ticket (#82) * scaffold dealticket package, remove trading views from react-helpers * add deal ticket component, add intent utils, expand dialog and form group styles * add splash component, show market not found message if market doesnt exist * tidy up error handling * add handleError method for vega tx hook * add better testname for provider test, flesh out tests a bit more for deal ticket * Add unit tests for useVegaTransaction and useOrderSubmit hooks * add wrapper component for order dialog styles * add vega styled loader to ui toolkit and use in order dialog * add title prop to order dialog * split limit and market tickets into own files * add button radio component * revert dialog styles * move splash component to ui-toolkit, add story * convert intent to enum * Make button always type=button unless type prop is passed * inline filter logic for tif selector * add date-fns, add datetime to helpers * add order types to wallet package, make price undefined if order type is market * use enums in deal ticket logic * tidy up order state by moving submit and transaction hooks out of deal ticket * add comment for dialog styles * remove decimal from price input * add types package, delete old generated types from trading project * rename types package to graphql * update generate command to point to correct locations * fix use order submit test * use intent shadow helper * remove date-fns and format manually, update submit button error to use input-error * remove stray console.log
2022-03-17 19:35:46 +00:00
<StoryWrapper>
2022-03-04 16:21:24 +00:00
<Story />
Feat/63 Deal ticket (#82) * scaffold dealticket package, remove trading views from react-helpers * add deal ticket component, add intent utils, expand dialog and form group styles * add splash component, show market not found message if market doesnt exist * tidy up error handling * add handleError method for vega tx hook * add better testname for provider test, flesh out tests a bit more for deal ticket * Add unit tests for useVegaTransaction and useOrderSubmit hooks * add wrapper component for order dialog styles * add vega styled loader to ui toolkit and use in order dialog * add title prop to order dialog * split limit and market tickets into own files * add button radio component * revert dialog styles * move splash component to ui-toolkit, add story * convert intent to enum * Make button always type=button unless type prop is passed * inline filter logic for tif selector * add date-fns, add datetime to helpers * add order types to wallet package, make price undefined if order type is market * use enums in deal ticket logic * tidy up order state by moving submit and transaction hooks out of deal ticket * add comment for dialog styles * remove decimal from price input * add types package, delete old generated types from trading project * rename types package to graphql * update generate command to point to correct locations * fix use order submit test * use intent shadow helper * remove date-fns and format manually, update submit button error to use input-error * remove stray console.log
2022-03-17 19:35:46 +00:00
</StoryWrapper>
2022-03-03 14:48:40 +00:00
</div>
</>
) : (
<div className={storyClasses}>
<StoryWrapper>
<Story />
</StoryWrapper>
Feat/63 Deal ticket (#82) * scaffold dealticket package, remove trading views from react-helpers * add deal ticket component, add intent utils, expand dialog and form group styles * add splash component, show market not found message if market doesnt exist * tidy up error handling * add handleError method for vega tx hook * add better testname for provider test, flesh out tests a bit more for deal ticket * Add unit tests for useVegaTransaction and useOrderSubmit hooks * add wrapper component for order dialog styles * add vega styled loader to ui toolkit and use in order dialog * add title prop to order dialog * split limit and market tickets into own files * add button radio component * revert dialog styles * move splash component to ui-toolkit, add story * convert intent to enum * Make button always type=button unless type prop is passed * inline filter logic for tif selector * add date-fns, add datetime to helpers * add order types to wallet package, make price undefined if order type is market * use enums in deal ticket logic * tidy up order state by moving submit and transaction hooks out of deal ticket * add comment for dialog styles * remove decimal from price input * add types package, delete old generated types from trading project * rename types package to graphql * update generate command to point to correct locations * fix use order submit test * use intent shadow helper * remove date-fns and format manually, update submit button error to use input-error * remove stray console.log
2022-03-17 19:35:46 +00:00
</div>
);
};
export const decorators = [withTheme];