Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I9527 storybook migration part4 #305

Merged
merged 38 commits into from
Dec 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
caf4217
pkp/pkp-lib#9527 Form fields migrated to storybook
jardakotesovec Dec 12, 2023
1c4d130
pkp/pkp-lib#9527 Migrate ListPanel components to storybok
jardakotesovec Dec 13, 2023
be6994d
pkp/pkp-lib#9527 Page components migrated to storybook
jardakotesovec Dec 14, 2023
728e2d0
pkp/pkp-lib#9527 Make initPageConfig as props for better documentation
jardakotesovec Dec 14, 2023
fb09251
pkp/pkp-lib#9527 Create defineComponentStore to hide implementation d…
jardakotesovec Dec 14, 2023
af30ffb
pkp/pkp-lib#9527 Adjust size for modal to be screenshoted
jardakotesovec Dec 18, 2023
85fe419
pkp/pkp-lib#9527 Adjust size for modal to be screenshoted
jardakotesovec Dec 18, 2023
edd9965
pkp/pkp-lib#9527 Adjust size for modal to be screenshoted
jardakotesovec Dec 18, 2023
3fb5923
pkp/pkp-lib#9527 Adjust size for modal to be screenshoted
jardakotesovec Dec 18, 2023
7cb1a93
pkp/pkp-lib#9527 Adjust size for modal to be screenshoted
jardakotesovec Dec 18, 2023
f9ac6d4
pkp/pkp-lib#9527 Adjust size for modal to be screenshoted
jardakotesovec Dec 18, 2023
ce0b903
pkp/pkp-lib#9527 Adjust size for modal to be screenshoted
jardakotesovec Dec 18, 2023
af31253
pkp/pkp-lib#9527 Add margin to stories to properly see borders/shadows
jardakotesovec Dec 18, 2023
66b0950
pkp/pkp-lib#9527 Move global dialog to decorators
jardakotesovec Dec 18, 2023
4d2a480
pkp/pkp-lib#9527 Tweak padding for better snapshoting
jardakotesovec Dec 18, 2023
1827216
pkp/pkp-lib#9527 Adjust default view port to get full desktop layouts
jardakotesovec Dec 18, 2023
1ff15e5
pkp/pkp-lib#9527 Add rtl snapshoting
jardakotesovec Dec 18, 2023
1114527
pkp/pkp-lib#9527 Activate rtl snapshots
jardakotesovec Dec 18, 2023
54673d3
pkp/pkp-lib#9527 using addons-themes for ltr/rtl, instead of dedicate…
jardakotesovec Dec 18, 2023
3ee6dcf
pkp/pkp-lib#9527 using addons-themes for ltr/rtl, instead of dedicate…
jardakotesovec Dec 18, 2023
1921e2b
pkp/pkp-lib#9527 using addons-themes for ltr/rtl, instead of dedicate…
jardakotesovec Dec 18, 2023
236a6da
pkp/pkp-lib#9527 Apply rtl to storybook root to prevent breaking layo…
jardakotesovec Dec 18, 2023
0e8d60a
pkp/pkp-lib#9527 reenable other decorators
jardakotesovec Dec 18, 2023
2f5b6d9
pkp/pkp-lib Address RTL issues for 'screenreader only' styling, which…
jardakotesovec Dec 19, 2023
86b5104
pkp/pkp-lib To cover modals/dialogs, move dir attribute to body
jardakotesovec Dec 19, 2023
a1b846e
pkp/pkp-lib#9527 Same source of the truth for dir rtl/ltr
jardakotesovec Dec 19, 2023
9fb22c4
pkp/pkp-lib#9527 clean up
jardakotesovec Dec 19, 2023
cb70ec8
pkp/pkp-lib#9527 Adjust viewport to xl
jardakotesovec Dec 19, 2023
0461d1d
pkp/pkp-lib#9527 fix composer rtl issue
jardakotesovec Dec 19, 2023
9682734
pkp/pkp-lib#9527 Attempt to stabilize StatsPage data
jardakotesovec Dec 19, 2023
23b845d
pkp/pkp-lib#stabilize table data
jardakotesovec Dec 19, 2023
737014c
pkp/pkp-lib#stabilize table data
jardakotesovec Dec 19, 2023
52cb90a
pkp/pkp-lib#9527 Trigger build to verify it has stable snapshots.
jardakotesovec Dec 19, 2023
1422bc0
pkp/pkp-lib#9527 move components to the same category for now
jardakotesovec Dec 20, 2023
9f7c943
pkp/pkp-lib#9527 Stabilize stats page for snapshots
jardakotesovec Dec 20, 2023
50e943a
pkp/pkp-lib#9527 migrate to msw2, add some useFetch tests
jardakotesovec Dec 21, 2023
f2c0333
pkp/pkp-lib#9527 stabilize SelectReviewerListPanel stories
jardakotesovec Dec 21, 2023
ae92d26
pkp/pkp-lib#9527 clean up
jardakotesovec Dec 21, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .storybook/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
const config = {
stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
addons: [
'@storybook/addon-links',
'@storybook/addon-essentials',
'@storybook/addon-interactions',
'storybook-addon-rtl',
"@storybook/addon-mdx-gfm"
],
'@storybook/addon-links',
'@storybook/addon-essentials',
'@storybook/addon-interactions',
'@storybook/addon-themes',
'@storybook/addon-mdx-gfm',
],
framework: {
name: '@storybook/vue3-vite',
options: {},
Expand Down
14 changes: 14 additions & 0 deletions .storybook/modes.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
export const allModes = {
desktop: {
viewport: 'large',
theme: 'ltr',
},
'desktop rtl': {
viewport: 'large',
theme: 'rtl',
},
// for snapshotting scrollable areas with all content, like modals
desktopLargeHeight: {
viewport: 'largeHeight',
},
};
71 changes: 65 additions & 6 deletions .storybook/preview.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/** @type { import('@storybook/vue3').Preview } */

import {withThemeByDataAttribute} from '@storybook/addon-themes';
import {setup} from '@storybook/vue3';

import GlobalMixins from '@/mixins/global.js';
import emitter from 'tiny-emitter/instance';

Expand All @@ -20,19 +20,24 @@ import Tab from '@/components/Tabs/Tab.vue';
import Tabs from '@/components/Tabs/Tabs.vue';
import FloatingVue from 'floating-vue';

import PkpDialog from '@/components/Modal/Dialog.vue';
import {useDialogStore} from '@/stores/dialogStore';

import VueScrollTo from 'vue-scrollto';

import '../src/styles/_import.less';
import '../src/styles/_global.less';
import {initializeRTL} from 'storybook-addon-rtl';
import {allModes} from './modes';
import {initialize, mswLoader} from 'msw-storybook-addon';

import {createPinia} from 'pinia';

const pinia = createPinia();

initializeRTL();
// Initialize MSW
initialize({
onUnhandledRequest: ({method, url}) => {
/** To be migrated to msw2 if neede */
/*onUnhandledRequest: ({method, url}) => {
if (url.pathname.includes('://mock/')) {
console.error(`Unhandled ${method} request to ${url}.

Expand All @@ -41,7 +46,7 @@ initialize({
If you wish to mock an error response, please refer to this guide: https://mswjs.io/docs/recipes/mocking-error-responses
`);
}
},
},*/
});

setup((app) => {
Expand All @@ -61,6 +66,8 @@ setup((app) => {
},
});

app.use(VueScrollTo);

app.component('Badge', Badge);
app.component('Dropdown', Dropdown);
app.component('Icon', Icon);
Expand All @@ -86,6 +93,43 @@ setup((app) => {

const preview = {
loaders: [mswLoader],
decorators: [
withThemeByDataAttribute({
themes: {
ltr: 'ltr',
rtl: 'rtl',
},
defaultTheme: 'ltr',
}),
(story, {globals}) => {
/** withThemebyDataAttribute decorator applies attribute after render, which
* is too late fort tinyMCE which needs to detect it on first render correctly
*
*/
document.body.setAttribute('dir', globals.theme);
return story();
},
(story) => ({
components: {story},
template: '<div style="padding: 10px;"><story /></div>',
}),
/** Globally Available Dialog */
(story) => ({
setup() {
const dialogStore = useDialogStore();
return {dialogStore};
},
components: {story, PkpDialog},
template: `<div>
<PkpDialog
:open="dialogStore.dialogOpened"
v-bind="dialogStore.dialogProps"
@close="dialogStore.closeDialog"
></PkpDialog>
<story />
</div>`,
}),
],
parameters: {
actions: {argTypesRegex: '^on[A-Z].*'},
controls: {
Expand All @@ -104,12 +148,27 @@ const preview = {
if (b.id.includes('introduction--docs')) {
return 1;
}

return a.id === b.id
? 0
: a.id.localeCompare(b.id, undefined, {numeric: true});
},*/
},
viewport: {
viewports: {
large: {name: 'Large', styles: {width: '1280px', height: '1000px'}},
/** For scrollable scenarios */
largeHeight: {
name: 'Large',
styles: {width: '1024px', height: '1500px'},
},
},
},
chromatic: {
modes: {
desktop: allModes['desktop'],
'desktop rtl': allModes['desktop rtl'],
},
},
},
};

Expand Down
Loading