diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-06-20 13:43:29 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-06-20 13:43:29 +0300 |
commit | 3b1af5cc7ed2666ff18b718ce5d30fa5a2756674 (patch) | |
tree | 3bc4a40e0ee51ec27eabf917c537033c0c5b14d4 /storybook | |
parent | 9bba14be3f2c211bf79e15769cd9b77bc73a13bc (diff) |
Add latest changes from gitlab-org/gitlab@16-1-stable-eev16.1.0-rc42
Diffstat (limited to 'storybook')
-rw-r--r-- | storybook/.env.template | 2 | ||||
-rw-r--r-- | storybook/.eslintrc.yml | 8 | ||||
-rw-r--r-- | storybook/.gitignore | 3 | ||||
-rw-r--r-- | storybook/config/addons/gitlab_api_access/constants.js | 5 | ||||
-rw-r--r-- | storybook/config/addons/gitlab_api_access/index.js | 1 | ||||
-rw-r--r-- | storybook/config/addons/gitlab_api_access/manager.js | 69 | ||||
-rw-r--r-- | storybook/config/addons/gitlab_api_access/preview.js | 92 | ||||
-rw-r--r-- | storybook/config/gon.js | 5 | ||||
-rw-r--r-- | storybook/config/main.js | 2 | ||||
-rw-r--r-- | storybook/config/manager.js | 1 | ||||
-rw-r--r-- | storybook/config/preview.js | 12 | ||||
-rw-r--r-- | storybook/package.json | 10 | ||||
-rw-r--r-- | storybook/yarn.lock | 463 |
13 files changed, 547 insertions, 126 deletions
diff --git a/storybook/.env.template b/storybook/.env.template new file mode 100644 index 00000000000..ed4d39132e3 --- /dev/null +++ b/storybook/.env.template @@ -0,0 +1,2 @@ +API_ACCESS_TOKEN="api-token" +GITLAB_URL="http://gdk.test:3000" diff --git a/storybook/.eslintrc.yml b/storybook/.eslintrc.yml new file mode 100644 index 00000000000..f3bbec8f26d --- /dev/null +++ b/storybook/.eslintrc.yml @@ -0,0 +1,8 @@ +rules: + '@gitlab/require-i18n-strings': off + import/no-extraneous-dependencies: off + import/no-commonjs: off + import/no-nodejs-modules: off + filenames/match-regex: off + no-console: off + import/no-unresolved: off diff --git a/storybook/.gitignore b/storybook/.gitignore index 18d5e871aaa..d636a68c7a4 100644 --- a/storybook/.gitignore +++ b/storybook/.gitignore @@ -1,2 +1,3 @@ node_modules/ -public/
\ No newline at end of file +public/ +.env diff --git a/storybook/config/addons/gitlab_api_access/constants.js b/storybook/config/addons/gitlab_api_access/constants.js new file mode 100644 index 00000000000..a925557bf62 --- /dev/null +++ b/storybook/config/addons/gitlab_api_access/constants.js @@ -0,0 +1,5 @@ +export const ADDON_ID = 'gitlab-api-access'; +export const STATE_ID = `${ADDON_ID}/state`; +export const PANEL_ID = `${ADDON_ID}/panel`; + +export const GITLAB_API_ACCESS_UPDATE_EVENT = 'gitlab-api-access.update'; diff --git a/storybook/config/addons/gitlab_api_access/index.js b/storybook/config/addons/gitlab_api_access/index.js new file mode 100644 index 00000000000..44fc390e8ea --- /dev/null +++ b/storybook/config/addons/gitlab_api_access/index.js @@ -0,0 +1 @@ +export { withGitLabAPIAccess } from './preview'; diff --git a/storybook/config/addons/gitlab_api_access/manager.js b/storybook/config/addons/gitlab_api_access/manager.js new file mode 100644 index 00000000000..77d97c76ee2 --- /dev/null +++ b/storybook/config/addons/gitlab_api_access/manager.js @@ -0,0 +1,69 @@ +import React from 'react'; +import { addons, types } from '@storybook/addons'; +import { useAddonState } from '@storybook/api'; +import { AddonPanel, Form } from '@storybook/components'; +import { ADDON_ID, STATE_ID, PANEL_ID, GITLAB_API_ACCESS_UPDATE_EVENT } from './constants'; + +/** + * GitLab API Access is a Storybook extension that allows testing + * UI components that depend on GitLab's REST or GraphQL APIs. + * + * Read https://docs.gitlab.com/ee/development/fe_guide/storybook + * for more information. + */ +const h = React.createElement.bind(React); + +// give a unique name for the panel +const GitLabAPIParametersPanel = () => { + const channel = addons.getChannel(); + const [state, setState] = useAddonState(STATE_ID, { + gitlabURL: process.env.GITLAB_URL, + accessToken: process.env.API_ACCESS_TOKEN, + }); + const updateState = (params) => { + const newState = { + ...state, + ...params, + }; + + setState(newState); + + channel.emit(GITLAB_API_ACCESS_UPDATE_EVENT, newState); + }; + + const updateGitLabURL = (e) => { + updateState({ gitlabURL: e.target.value }); + }; + + const updateAccessToken = (e) => { + updateState({ accessToken: e.target.value }); + }; + + channel.emit(GITLAB_API_ACCESS_UPDATE_EVENT, state); + + return h('div', {}, [ + h(Form.Field, { label: 'GitLab URL' }, [ + h(Form.Input, { + type: 'text', + value: state.gitlabURL, + placeholder: 'https://gitlab.com', + onChange: (e) => updateGitLabURL(e), + }), + ]), + h(Form.Field, { label: 'GitLab access token' }, [ + h(Form.Input, { + type: 'password', + value: state.accessToken, + onChange: (e) => updateAccessToken(e), + }), + ]), + ]); +}; + +addons.register(ADDON_ID, () => { + addons.add(PANEL_ID, { + type: types.PANEL, + title: 'GitLab API Access', + render: ({ active, key }) => h(AddonPanel, { active, key }, [h(GitLabAPIParametersPanel)]), + }); +}); diff --git a/storybook/config/addons/gitlab_api_access/preview.js b/storybook/config/addons/gitlab_api_access/preview.js new file mode 100644 index 00000000000..54977b2e973 --- /dev/null +++ b/storybook/config/addons/gitlab_api_access/preview.js @@ -0,0 +1,92 @@ +import { addons } from '@storybook/addons'; +import { GlBadge } from '@gitlab/ui'; +import { FORCE_REMOUNT } from '@storybook/core-events'; +import VueApollo from 'vue-apollo'; +import axios from '~/lib/utils/axios_utils'; +import createDefaultClient from '~/lib/graphql'; +import { GITLAB_API_ACCESS_UPDATE_EVENT } from './constants'; + +/** + * GitLab API Access is a Storybook extension that allows testing + * UI components that depend on GitLab's REST or GraphQL APIs. + * + * Read https://docs.gitlab.com/ee/development/fe_guide/storybook + * for more information. + */ +const channel = addons.getChannel(); +let gitlabApiAccessParams; +let refreshApolloClient = false; +let apolloClient = null; + +const setGitLabAPIAccessParams = ({ gitlabURL, accessToken }) => { + window.gon.relative_url_root = gitlabURL; + + axios.defaults.headers.common['PRIVATE-TOKEN'] = accessToken; + gitlabApiAccessParams = { gitlabURL, accessToken }; + refreshApolloClient = true; +}; + +const createVueApollo = (resolvers = {}, config = {}) => { + // Avoids creating a new Apollo client every time that the story rerenders + if (!apolloClient || refreshApolloClient) { + refreshApolloClient = false; + apolloClient = new VueApollo({ + defaultClient: createDefaultClient( + { + ...resolvers, + }, + { + ...config, + httpHeaders: { + Authorization: `Bearer ${gitlabApiAccessParams.accessToken}`, + }, + }, + ), + }); + } + + return apolloClient; +}; + +channel.addListener(GITLAB_API_ACCESS_UPDATE_EVENT, (params) => { + setGitLabAPIAccessParams(params); + + const storyId = new URLSearchParams(window.location.search).get('id'); + + // If we don’t force remount, Vue Apollo is not updated with the new parameters + addons.channel.emit(FORCE_REMOUNT, { storyId }); +}); + +/* + * Story decorator used to inject a VueApollo client factory + * that contains the GitLab API access parameters. + */ +export const withGitLabAPIAccess = (story, context) => { + Object.assign(context, { createVueApollo }); + + return { + components: { + story, + GlBadge, + }, + template: ` + <div> + <div class="gl-display-flex gl-justify-content-end"> + <gl-badge variant="info">Requires API access</gl-badge> + </div> + <story /> + </div> + `, + }; +}; + +/* + * Initializes the GitLab API access parameters + * with values coming from the environment. + */ +export const initializeGitLabAPIAccess = () => { + setGitLabAPIAccessParams({ + gitlabURL: process.env.GITLAB_URL, + accessToken: process.env.API_ACCESS_TOKEN, + }); +}; diff --git a/storybook/config/gon.js b/storybook/config/gon.js new file mode 100644 index 00000000000..d85ae3d611b --- /dev/null +++ b/storybook/config/gon.js @@ -0,0 +1,5 @@ +window.gon = { + user_color_scheme: 'white', + api_version: 'v4', + relative_url_root: '', +}; diff --git a/storybook/config/main.js b/storybook/config/main.js index 59aa9deb3b5..794a5e20344 100644 --- a/storybook/config/main.js +++ b/storybook/config/main.js @@ -5,5 +5,5 @@ module.exports = { '../../app/assets/javascripts/**/*.stories.js', IS_EE && '../../ee/app/assets/javascripts/**/*.stories.js', ].filter(Boolean), - addons: ['@storybook/addon-essentials', '@storybook/addon-a11y', 'storybook-mirage'], + addons: ['@storybook/addon-essentials', '@storybook/addon-a11y'], }; diff --git a/storybook/config/manager.js b/storybook/config/manager.js new file mode 100644 index 00000000000..010f0caf61d --- /dev/null +++ b/storybook/config/manager.js @@ -0,0 +1 @@ +import './addons/gitlab_api_access/manager'; diff --git a/storybook/config/preview.js b/storybook/config/preview.js index 6f3b8190742..fc04623071a 100644 --- a/storybook/config/preview.js +++ b/storybook/config/preview.js @@ -1,7 +1,8 @@ -import { withServer } from 'storybook-mirage'; // eslint-disable-line import/no-unresolved +// Some modules read window.gon on initialization thus we need to define this object before anything else +import './gon'; import Vue from 'vue'; -import { createMockServer } from 'test_helpers/mock_server'; import translateMixin from '~/vue_shared/translate'; +import { initializeGitLabAPIAccess } from './addons/gitlab_api_access/preview'; const stylesheetsRequireCtx = require.context( '../../app/assets/stylesheets', @@ -9,13 +10,10 @@ const stylesheetsRequireCtx = require.context( /(application|application_utilities|highlight\/themes\/white)\.scss$/, ); -window.gon = { - user_color_scheme: 'white', -}; +initializeGitLabAPIAccess(); + translateMixin(Vue); stylesheetsRequireCtx('./application.scss'); stylesheetsRequireCtx('./application_utilities.scss'); stylesheetsRequireCtx('./highlight/themes/white.scss'); - -export const decorators = [withServer(createMockServer)]; diff --git a/storybook/package.json b/storybook/package.json index c6e47bf6b5f..ec3590dea13 100644 --- a/storybook/package.json +++ b/storybook/package.json @@ -9,16 +9,20 @@ "vue": "https://gitlab.com/gitlab-org/gitlab/-/issues/340511" }, "devDependencies": { + "react": "16.14.0", + "@storybook/addons": "^6.5.10", + "@storybook/api": "^6.5.10", + "@storybook/components": "^6.5.10", + "@storybook/core-events": "^6.5.10", "@storybook/addon-a11y": "^6.5.10", "@storybook/addon-actions": "^6.5.10", "@storybook/addon-controls": "^6.5.10", "@storybook/addon-essentials": "^6.5.10", - "@storybook/vue": "6.5.10", + "@storybook/vue": "^6.5.10", "graphql-tag": "^2.12.5", "postcss-loader": "3.0.0", "sass": "^1.49.9", - "sass-loader": "^7.1.0", - "storybook-mirage": "^0.0.4" + "sass-loader": "^7.1.0" }, "resolutions": { "chokidar": "^3.5.2" diff --git a/storybook/yarn.lock b/storybook/yarn.lock index f960b7e1de9..0e51671b2f9 100644 --- a/storybook/yarn.lock +++ b/storybook/yarn.lock @@ -1473,6 +1473,23 @@ global "^4.4.0" regenerator-runtime "^0.13.7" +"@storybook/addons@6.5.16", "@storybook/addons@^6.5.10": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-6.5.16.tgz#07e8f2205f86fa4c9dada719e3e096cb468e3cdd" + integrity sha512-p3DqQi+8QRL5k7jXhXmJZLsE/GqHqyY6PcoA1oNTJr0try48uhTGUOYkgzmqtDaa/qPFO5LP+xCPzZXckGtquQ== + dependencies: + "@storybook/api" "6.5.16" + "@storybook/channels" "6.5.16" + "@storybook/client-logger" "6.5.16" + "@storybook/core-events" "6.5.16" + "@storybook/csf" "0.0.2--canary.4566f4d.1" + "@storybook/router" "6.5.16" + "@storybook/theming" "6.5.16" + "@types/webpack-env" "^1.16.0" + core-js "^3.8.2" + global "^4.4.0" + regenerator-runtime "^0.13.7" + "@storybook/api@6.5.10": version "6.5.10" resolved "https://registry.yarnpkg.com/@storybook/api/-/api-6.5.10.tgz#215623844648f0da2ac646fdcdd1345c2e1a8490" @@ -1496,28 +1513,51 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/builder-webpack4@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/builder-webpack4/-/builder-webpack4-6.5.10.tgz#79e95323577a37349ab3c81193fa249ac5c50173" - integrity sha512-AoKjsCNoQQoZXYwBDxO8s+yVEd5FjBJAaysEuUTHq2fb81jwLrGcEOo6hjw4jqfugZQIzYUEjPazlvubS78zpw== +"@storybook/api@6.5.16", "@storybook/api@^6.5.10": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/api/-/api-6.5.16.tgz#897915b76de05587fd702951d5d836f708043662" + integrity sha512-HOsuT8iomqeTMQJrRx5U8nsC7lJTwRr1DhdD0SzlqL4c80S/7uuCy4IZvOt4sYQjOzW5fOo/kamcoBXyLproTA== + dependencies: + "@storybook/channels" "6.5.16" + "@storybook/client-logger" "6.5.16" + "@storybook/core-events" "6.5.16" + "@storybook/csf" "0.0.2--canary.4566f4d.1" + "@storybook/router" "6.5.16" + "@storybook/semver" "^7.3.2" + "@storybook/theming" "6.5.16" + core-js "^3.8.2" + fast-deep-equal "^3.1.3" + global "^4.4.0" + lodash "^4.17.21" + memoizerific "^1.11.3" + regenerator-runtime "^0.13.7" + store2 "^2.12.0" + telejson "^6.0.8" + ts-dedent "^2.0.0" + util-deprecate "^1.0.2" + +"@storybook/builder-webpack4@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/builder-webpack4/-/builder-webpack4-6.5.16.tgz#ac468d244835a7f3bd01936398fee47244da35c1" + integrity sha512-YqDIrVNsUo8r9xc6AxsYDLxVYtMgl5Bxk+8/h1adsOko+jAFhdg6hOcAVxEmoSI0TMASOOVMFlT2hr23ppN2rQ== dependencies: "@babel/core" "^7.12.10" - "@storybook/addons" "6.5.10" - "@storybook/api" "6.5.10" - "@storybook/channel-postmessage" "6.5.10" - "@storybook/channels" "6.5.10" - "@storybook/client-api" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/components" "6.5.10" - "@storybook/core-common" "6.5.10" - "@storybook/core-events" "6.5.10" - "@storybook/node-logger" "6.5.10" - "@storybook/preview-web" "6.5.10" - "@storybook/router" "6.5.10" + "@storybook/addons" "6.5.16" + "@storybook/api" "6.5.16" + "@storybook/channel-postmessage" "6.5.16" + "@storybook/channels" "6.5.16" + "@storybook/client-api" "6.5.16" + "@storybook/client-logger" "6.5.16" + "@storybook/components" "6.5.16" + "@storybook/core-common" "6.5.16" + "@storybook/core-events" "6.5.16" + "@storybook/node-logger" "6.5.16" + "@storybook/preview-web" "6.5.16" + "@storybook/router" "6.5.16" "@storybook/semver" "^7.3.2" - "@storybook/store" "6.5.10" - "@storybook/theming" "6.5.10" - "@storybook/ui" "6.5.10" + "@storybook/store" "6.5.16" + "@storybook/theming" "6.5.16" + "@storybook/ui" "6.5.16" "@types/node" "^14.0.10 || ^16.0.0" "@types/webpack" "^4.41.26" autoprefixer "^9.8.6" @@ -1562,13 +1602,26 @@ qs "^6.10.0" telejson "^6.0.8" -"@storybook/channel-websocket@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/channel-websocket/-/channel-websocket-6.5.10.tgz#bd1316a9b555229b215e5054a76b57c503dd8adc" - integrity sha512-RTXMZbMWCS3xU+4GVIdfnUXsKcwg/WTozy88/5OxaKjGw6KgRedqLAQJKJ6Y5XlnwIcWelirkHj/COwTTXhbPg== +"@storybook/channel-postmessage@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-6.5.16.tgz#06167c0a66c06b2b5f8ff01d1dd436fff8119a15" + integrity sha512-fZZSN29dsUArWOx7e7lTdMA9+7zijVwCwbvi2Fo4fqhRLh1DsTb/VXfz1FKMCWAjNlcX7QQvV25tnxbqsD6lyw== dependencies: - "@storybook/channels" "6.5.10" - "@storybook/client-logger" "6.5.10" + "@storybook/channels" "6.5.16" + "@storybook/client-logger" "6.5.16" + "@storybook/core-events" "6.5.16" + core-js "^3.8.2" + global "^4.4.0" + qs "^6.10.0" + telejson "^6.0.8" + +"@storybook/channel-websocket@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/channel-websocket/-/channel-websocket-6.5.16.tgz#41f69ca9444a4dfbf72580b4696900c5b1d2b817" + integrity sha512-wJg2lpBjmRC2GJFzmhB9kxlh109VE58r/0WhFtLbwKvPqsvGf82xkBEl6BtBCvIQ4stzYnj/XijjA8qSi2zpOg== + dependencies: + "@storybook/channels" "6.5.16" + "@storybook/client-logger" "6.5.16" core-js "^3.8.2" global "^4.4.0" telejson "^6.0.8" @@ -1582,18 +1635,27 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/client-api@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-6.5.10.tgz#0bc3f68ce014ce1ffd560472a893ba04be370f09" - integrity sha512-3wBWZl3NvMFgMovgEh+euiARAT2FXzpvTF4Q1gerGMNNDlrGxHnFvSuy4FHg/irtOGLa4yLz43ULFbYtpKw0Lg== +"@storybook/channels@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-6.5.16.tgz#3fb9a3b5666ecb951a2d0cf8b0699b084ef2d3c6" + integrity sha512-VylzaWQZaMozEwZPJdyJoz+0jpDa8GRyaqu9TGG6QGv+KU5POoZaGLDkRE7TzWkyyP0KQLo80K99MssZCpgSeg== dependencies: - "@storybook/addons" "6.5.10" - "@storybook/channel-postmessage" "6.5.10" - "@storybook/channels" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/core-events" "6.5.10" + core-js "^3.8.2" + ts-dedent "^2.0.0" + util-deprecate "^1.0.2" + +"@storybook/client-api@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-6.5.16.tgz#13e5a7c3d1f0f951ec4ef51cfcf2c5aafb560e12" + integrity sha512-i3UwkzzUFw8I+E6fOcgB5sc4oU2fhvaKnqC1mpd9IYGJ9JN9MnGIaVl3Ko28DtFItu/QabC9JsLIJVripFLktQ== + dependencies: + "@storybook/addons" "6.5.16" + "@storybook/channel-postmessage" "6.5.16" + "@storybook/channels" "6.5.16" + "@storybook/client-logger" "6.5.16" + "@storybook/core-events" "6.5.16" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/store" "6.5.10" + "@storybook/store" "6.5.16" "@types/qs" "^6.9.5" "@types/webpack-env" "^1.16.0" core-js "^3.8.2" @@ -1616,6 +1678,14 @@ core-js "^3.8.2" global "^4.4.0" +"@storybook/client-logger@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-6.5.16.tgz#955cc46b389e7151c9eb1585a75e6a0605af61a1" + integrity sha512-pxcNaCj3ItDdicPTXTtmYJE3YC1SjxFrBmHcyrN+nffeNyiMuViJdOOZzzzucTUG0wcOOX8jaSyak+nnHg5H1Q== + dependencies: + core-js "^3.8.2" + global "^4.4.0" + "@storybook/components@6.5.10": version "6.5.10" resolved "https://registry.yarnpkg.com/@storybook/components/-/components-6.5.10.tgz#268e1269bc3d262f7dcec13f96c3b844919687b8" @@ -1630,21 +1700,35 @@ regenerator-runtime "^0.13.7" util-deprecate "^1.0.2" -"@storybook/core-client@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-6.5.10.tgz#90c86923236c8efff33d454a0dc552f6df4346b1" - integrity sha512-THsIjNrOrampTl0Lgfjvfjk1JnktKb4CQLOM80KpQb4cjDqorBjJmErzUkUQ2y3fXvrDmQ/kUREkShET4XEdtA== +"@storybook/components@6.5.16", "@storybook/components@^6.5.10": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/components/-/components-6.5.16.tgz#f8dc51213bc08fe32154be964e1e8b0e2f670ed6" + integrity sha512-LzBOFJKITLtDcbW9jXl0/PaG+4xAz25PK8JxPZpIALbmOpYWOAPcO6V9C2heX6e6NgWFMUxjplkULEk9RCQMNA== dependencies: - "@storybook/addons" "6.5.10" - "@storybook/channel-postmessage" "6.5.10" - "@storybook/channel-websocket" "6.5.10" - "@storybook/client-api" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/core-events" "6.5.10" + "@storybook/client-logger" "6.5.16" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/preview-web" "6.5.10" - "@storybook/store" "6.5.10" - "@storybook/ui" "6.5.10" + "@storybook/theming" "6.5.16" + core-js "^3.8.2" + memoizerific "^1.11.3" + qs "^6.10.0" + regenerator-runtime "^0.13.7" + util-deprecate "^1.0.2" + +"@storybook/core-client@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-6.5.16.tgz#ed2328fd38c6111fe887f6a91b28d9dc2b17092a" + integrity sha512-14IRaDrVtKrQ+gNWC0wPwkCNfkZOKghYV/swCUnQX3rP99defsZK8Hc7xHIYoAiOP5+sc3sweRAxgmFiJeQ1Ig== + dependencies: + "@storybook/addons" "6.5.16" + "@storybook/channel-postmessage" "6.5.16" + "@storybook/channel-websocket" "6.5.16" + "@storybook/client-api" "6.5.16" + "@storybook/client-logger" "6.5.16" + "@storybook/core-events" "6.5.16" + "@storybook/csf" "0.0.2--canary.4566f4d.1" + "@storybook/preview-web" "6.5.16" + "@storybook/store" "6.5.16" + "@storybook/ui" "6.5.16" airbnb-js-shims "^2.2.1" ansi-to-html "^0.6.11" core-js "^3.8.2" @@ -1712,6 +1796,62 @@ util-deprecate "^1.0.2" webpack "4" +"@storybook/core-common@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-6.5.16.tgz#db80aa6f220a576a83db821f720e103190a914ae" + integrity sha512-2qtnKP3TTOzt2cp6LXKRTh7XrI9z5VanMnMTgeoFcA5ebnndD4V6BExQUdYPClE/QooLx6blUWNgS9dFEpjSqQ== + dependencies: + "@babel/core" "^7.12.10" + "@babel/plugin-proposal-class-properties" "^7.12.1" + "@babel/plugin-proposal-decorators" "^7.12.12" + "@babel/plugin-proposal-export-default-from" "^7.12.1" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" + "@babel/plugin-proposal-object-rest-spread" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.12.7" + "@babel/plugin-proposal-private-methods" "^7.12.1" + "@babel/plugin-proposal-private-property-in-object" "^7.12.1" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-transform-arrow-functions" "^7.12.1" + "@babel/plugin-transform-block-scoping" "^7.12.12" + "@babel/plugin-transform-classes" "^7.12.1" + "@babel/plugin-transform-destructuring" "^7.12.1" + "@babel/plugin-transform-for-of" "^7.12.1" + "@babel/plugin-transform-parameters" "^7.12.1" + "@babel/plugin-transform-shorthand-properties" "^7.12.1" + "@babel/plugin-transform-spread" "^7.12.1" + "@babel/preset-env" "^7.12.11" + "@babel/preset-react" "^7.12.10" + "@babel/preset-typescript" "^7.12.7" + "@babel/register" "^7.12.1" + "@storybook/node-logger" "6.5.16" + "@storybook/semver" "^7.3.2" + "@types/node" "^14.0.10 || ^16.0.0" + "@types/pretty-hrtime" "^1.0.0" + babel-loader "^8.0.0" + babel-plugin-macros "^3.0.1" + babel-plugin-polyfill-corejs3 "^0.1.0" + chalk "^4.1.0" + core-js "^3.8.2" + express "^4.17.1" + file-system-cache "^1.0.5" + find-up "^5.0.0" + fork-ts-checker-webpack-plugin "^6.0.4" + fs-extra "^9.0.1" + glob "^7.1.6" + handlebars "^4.7.7" + interpret "^2.2.0" + json5 "^2.2.3" + lazy-universal-dotenv "^3.0.1" + picomatch "^2.3.0" + pkg-dir "^5.0.0" + pretty-hrtime "^1.0.3" + resolve-from "^5.0.0" + slash "^3.0.0" + telejson "^6.0.8" + ts-dedent "^2.0.0" + util-deprecate "^1.0.2" + webpack "4" + "@storybook/core-events@6.5.10": version "6.5.10" resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-6.5.10.tgz#66d87c8ea18db8e448018a16a3d0198ddbcbc683" @@ -1719,23 +1859,30 @@ dependencies: core-js "^3.8.2" -"@storybook/core-server@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-6.5.10.tgz#ada3d647833c02cb8c742281c1f314ff866f96f8" - integrity sha512-jqwpA0ccA8X5ck4esWBid04+cEIVqirdAcqJeNb9IZAD+bRreO4Im8ilzr7jc5AmQ9fkqHs2NByFKh9TITp8NQ== +"@storybook/core-events@6.5.16", "@storybook/core-events@^6.5.10": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-6.5.16.tgz#b1c265dac755007dae172d9d4b72656c9e5d7bb3" + integrity sha512-qMZQwmvzpH5F2uwNUllTPg6eZXr2OaYZQRRN8VZJiuorZzDNdAFmiVWMWdkThwmyLEJuQKXxqCL8lMj/7PPM+g== + dependencies: + core-js "^3.8.2" + +"@storybook/core-server@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-6.5.16.tgz#f40de3413de49388129d29c74e5e48321af03f12" + integrity sha512-/3NPfmNyply395Dm0zaVZ8P9aruwO+tPx4D6/jpw8aqrRSwvAMndPMpoMCm0NXcpSm5rdX+Je4S3JW6JcggFkA== dependencies: "@discoveryjs/json-ext" "^0.5.3" - "@storybook/builder-webpack4" "6.5.10" - "@storybook/core-client" "6.5.10" - "@storybook/core-common" "6.5.10" - "@storybook/core-events" "6.5.10" + "@storybook/builder-webpack4" "6.5.16" + "@storybook/core-client" "6.5.16" + "@storybook/core-common" "6.5.16" + "@storybook/core-events" "6.5.16" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/csf-tools" "6.5.10" - "@storybook/manager-webpack4" "6.5.10" - "@storybook/node-logger" "6.5.10" + "@storybook/csf-tools" "6.5.16" + "@storybook/manager-webpack4" "6.5.16" + "@storybook/node-logger" "6.5.16" "@storybook/semver" "^7.3.2" - "@storybook/store" "6.5.10" - "@storybook/telemetry" "6.5.10" + "@storybook/store" "6.5.16" + "@storybook/telemetry" "6.5.16" "@types/node" "^14.0.10 || ^16.0.0" "@types/node-fetch" "^2.5.7" "@types/pretty-hrtime" "^1.0.0" @@ -1770,18 +1917,18 @@ ws "^8.2.3" x-default-browser "^0.4.0" -"@storybook/core@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/core/-/core-6.5.10.tgz#15ec8be85943251e25c2c24e80e20dcacc4fed65" - integrity sha512-K86yYa0tYlMxADlwQTculYvPROokQau09SCVqpsLg3wJCTvYFL4+SIqcYoyBSbFmHOdnYbJgPydjN33MYLiOZQ== +"@storybook/core@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/core/-/core-6.5.16.tgz#ae994f01327fe81b6e652963c35bac7a74f0da06" + integrity sha512-CEF3QFTsm/VMnMKtRNr4rRdLeIkIG0g1t26WcmxTdSThNPBd8CsWzQJ7Jqu7CKiut+MU4A1LMOwbwCE5F2gmyA== dependencies: - "@storybook/core-client" "6.5.10" - "@storybook/core-server" "6.5.10" + "@storybook/core-client" "6.5.16" + "@storybook/core-server" "6.5.16" -"@storybook/csf-tools@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-6.5.10.tgz#ae6f1ebd4951e8978c8fe3e08ddd2bd269bf922b" - integrity sha512-H77kZQEisu7+skzeIbNZwmE09OqLjwJTeFhLN1pcjxKVa30LEI3pBHcNBxVKqgxl+Yg3KkB7W/ArLO2N+i2ohw== +"@storybook/csf-tools@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-6.5.16.tgz#367889a3ddb33c93261129104ec2958215ec5459" + integrity sha512-+WD4sH/OwAfXZX3IN6/LOZ9D9iGEFcN+Vvgv9wOsLRgsAZ10DG/NK6c1unXKDM/ogJtJYccNI8Hd+qNE/GFV6A== dependencies: "@babel/core" "^7.12.10" "@babel/generator" "^7.12.11" @@ -1818,20 +1965,33 @@ lodash "^4.17.21" regenerator-runtime "^0.13.7" -"@storybook/manager-webpack4@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/manager-webpack4/-/manager-webpack4-6.5.10.tgz#41bae252b863484f293954ef2d2dc80bf3e028f1" - integrity sha512-N/TlNDhuhARuFipR/ZJ/xEVESz23iIbCsZ4VNehLHm8PpiGlQUehk+jMjWmz5XV0bJItwjRclY+CU3GjZKblfQ== +"@storybook/docs-tools@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/docs-tools/-/docs-tools-6.5.16.tgz#1ec5433eeab63a214d37ffc4660cdaec9704ac39" + integrity sha512-o+rAWPRGifjBF5xZzTKOqnHN3XQWkl0QFJYVDIiJYJrVll7ExCkpEq/PahOGzIBBV+tpMstJgmKM3lr/lu/jmg== + dependencies: + "@babel/core" "^7.12.10" + "@storybook/csf" "0.0.2--canary.4566f4d.1" + "@storybook/store" "6.5.16" + core-js "^3.8.2" + doctrine "^3.0.0" + lodash "^4.17.21" + regenerator-runtime "^0.13.7" + +"@storybook/manager-webpack4@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/manager-webpack4/-/manager-webpack4-6.5.16.tgz#7033228d38f048ceff3d403ba918d7f206b926a5" + integrity sha512-5VJZwmQU6AgdsBPsYdu886UKBHQ9SJEnFMaeUxKEclXk+iRsmbzlL4GHKyVd6oGX/ZaecZtcHPR6xrzmA4Ziew== dependencies: "@babel/core" "^7.12.10" "@babel/plugin-transform-template-literals" "^7.12.1" "@babel/preset-react" "^7.12.10" - "@storybook/addons" "6.5.10" - "@storybook/core-client" "6.5.10" - "@storybook/core-common" "6.5.10" - "@storybook/node-logger" "6.5.10" - "@storybook/theming" "6.5.10" - "@storybook/ui" "6.5.10" + "@storybook/addons" "6.5.16" + "@storybook/core-client" "6.5.16" + "@storybook/core-common" "6.5.16" + "@storybook/node-logger" "6.5.16" + "@storybook/theming" "6.5.16" + "@storybook/ui" "6.5.16" "@types/node" "^14.0.10 || ^16.0.0" "@types/webpack" "^4.41.26" babel-loader "^8.0.0" @@ -1887,6 +2047,17 @@ npmlog "^5.0.1" pretty-hrtime "^1.0.3" +"@storybook/node-logger@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-6.5.16.tgz#d57fd6204c2abfbc297551d98ad5475dd73207cc" + integrity sha512-YjhBKrclQtjhqFNSO+BZK+RXOx6EQypAELJKoLFaawg331e8VUfvUuRCNB3fcEWp8G9oH13PQQte0OTjLyyOYg== + dependencies: + "@types/npmlog" "^4.1.2" + chalk "^4.1.0" + core-js "^3.8.2" + npmlog "^5.0.1" + pretty-hrtime "^1.0.3" + "@storybook/postinstall@6.5.10": version "6.5.10" resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-6.5.10.tgz#b25378da036bce7b318c6732733aa5ad43449f37" @@ -1916,6 +2087,28 @@ unfetch "^4.2.0" util-deprecate "^1.0.2" +"@storybook/preview-web@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/preview-web/-/preview-web-6.5.16.tgz#1d32a72be25776f9597e33ffc1914f3430fae689" + integrity sha512-IJnvfe2sKCfk7apN9Fu9U8qibbarrPX5JB55ZzK1amSHVmSDuYk5MIMc/U3NnSQNnvd1DO5v/zMcGgj563hrtg== + dependencies: + "@storybook/addons" "6.5.16" + "@storybook/channel-postmessage" "6.5.16" + "@storybook/client-logger" "6.5.16" + "@storybook/core-events" "6.5.16" + "@storybook/csf" "0.0.2--canary.4566f4d.1" + "@storybook/store" "6.5.16" + ansi-to-html "^0.6.11" + core-js "^3.8.2" + global "^4.4.0" + lodash "^4.17.21" + qs "^6.10.0" + regenerator-runtime "^0.13.7" + synchronous-promise "^2.0.15" + ts-dedent "^2.0.0" + unfetch "^4.2.0" + util-deprecate "^1.0.2" + "@storybook/router@6.5.10": version "6.5.10" resolved "https://registry.yarnpkg.com/@storybook/router/-/router-6.5.10.tgz#b0c342e080c1d2b5344603bc43a6c75734a4a879" @@ -1927,6 +2120,17 @@ qs "^6.10.0" regenerator-runtime "^0.13.7" +"@storybook/router@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/router/-/router-6.5.16.tgz#28fb4d34e8219351a40bee1fc94dcacda6e1bd8b" + integrity sha512-ZgeP8a5YV/iuKbv31V8DjPxlV4AzorRiR8OuSt/KqaiYXNXlOoQDz/qMmiNcrshrfLpmkzoq7fSo4T8lWo2UwQ== + dependencies: + "@storybook/client-logger" "6.5.16" + core-js "^3.8.2" + memoizerific "^1.11.3" + qs "^6.10.0" + regenerator-runtime "^0.13.7" + "@storybook/semver@^7.3.2": version "7.3.2" resolved "https://registry.yarnpkg.com/@storybook/semver/-/semver-7.3.2.tgz#f3b9c44a1c9a0b933c04e66d0048fcf2fa10dac0" @@ -1972,13 +2176,34 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/telemetry@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/telemetry/-/telemetry-6.5.10.tgz#742b05a55dfe8470ce4cb371f3f3f2c02f96e816" - integrity sha512-+M5HILDFS8nDumLxeSeAwi1MTzIuV6UWzV4yB2wcsEXOBTdplcl9oYqFKtlst78oOIdGtpPYxYfivDlqxC2K4g== +"@storybook/store@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/store/-/store-6.5.16.tgz#b308701293a3a11bfcc766770584495874fd17da" + integrity sha512-g+bVL5hmMq/9cM51K04e37OviUPHT0rHHrRm5wj/hrf18Kd9120b3sxdQ5Dc+HZ292yuME0n+cyrQPTYx9Epmw== dependencies: - "@storybook/client-logger" "6.5.10" - "@storybook/core-common" "6.5.10" + "@storybook/addons" "6.5.16" + "@storybook/client-logger" "6.5.16" + "@storybook/core-events" "6.5.16" + "@storybook/csf" "0.0.2--canary.4566f4d.1" + core-js "^3.8.2" + fast-deep-equal "^3.1.3" + global "^4.4.0" + lodash "^4.17.21" + memoizerific "^1.11.3" + regenerator-runtime "^0.13.7" + slash "^3.0.0" + stable "^0.1.8" + synchronous-promise "^2.0.15" + ts-dedent "^2.0.0" + util-deprecate "^1.0.2" + +"@storybook/telemetry@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/telemetry/-/telemetry-6.5.16.tgz#b13c8133e02c28e37b7716c987e7414b1ddc5363" + integrity sha512-CWr5Uko1l9jJW88yTXsZTj/3GTabPvw0o7pDPOXPp8JRZiJTxv1JFaFCafhK9UzYbgcRuGfCC8kEWPZims7iKA== + dependencies: + "@storybook/client-logger" "6.5.16" + "@storybook/core-common" "6.5.16" chalk "^4.1.0" core-js "^3.8.2" detect-package-manager "^2.0.1" @@ -2000,38 +2225,48 @@ memoizerific "^1.11.3" regenerator-runtime "^0.13.7" -"@storybook/ui@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-6.5.10.tgz#f56095a1a39ae5a203f2ac7f3dba86341a5927d5" - integrity sha512-6iaoaRAiTqB1inTw35vao+5hjcDE0Qa0A3a9ZIeNa6yHvpB1k0lO/N/0PMrRdVvySYpXVD1iry4z4QYdo1rU+w== +"@storybook/theming@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-6.5.16.tgz#b999bdb98945b605b93b9dfdf7408535b701e2aa" + integrity sha512-hNLctkjaYLRdk1+xYTkC1mg4dYz2wSv6SqbLpcKMbkPHTE0ElhddGPHQqB362md/w9emYXNkt1LSMD8Xk9JzVQ== dependencies: - "@storybook/addons" "6.5.10" - "@storybook/api" "6.5.10" - "@storybook/channels" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/components" "6.5.10" - "@storybook/core-events" "6.5.10" - "@storybook/router" "6.5.10" + "@storybook/client-logger" "6.5.16" + core-js "^3.8.2" + memoizerific "^1.11.3" + regenerator-runtime "^0.13.7" + +"@storybook/ui@6.5.16": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-6.5.16.tgz#c73bf456e672ecf2370b4365070088487fc0ce57" + integrity sha512-rHn/n12WM8BaXtZ3IApNZCiS+C4Oc5+Lkl4MoctX8V7QSml0SxZBB5hsJ/AiWkgbRxjQpa/L/Nt7/Qw0FjTH/A== + dependencies: + "@storybook/addons" "6.5.16" + "@storybook/api" "6.5.16" + "@storybook/channels" "6.5.16" + "@storybook/client-logger" "6.5.16" + "@storybook/components" "6.5.16" + "@storybook/core-events" "6.5.16" + "@storybook/router" "6.5.16" "@storybook/semver" "^7.3.2" - "@storybook/theming" "6.5.10" + "@storybook/theming" "6.5.16" core-js "^3.8.2" memoizerific "^1.11.3" qs "^6.10.0" regenerator-runtime "^0.13.7" resolve-from "^5.0.0" -"@storybook/vue@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/vue/-/vue-6.5.10.tgz#9074ba517d9dbf7587319b9d3c600c2fbd6c087a" - integrity sha512-4MYYvRPkqTBqQUjCNXiTM/PJ6qfzKaECFtEe0H7TG+WP+TuKCCfTY2u1q4ru2qjf8BcSXUfpIWPlfEpZh7wdaQ== +"@storybook/vue@^6.5.10": + version "6.5.16" + resolved "https://registry.yarnpkg.com/@storybook/vue/-/vue-6.5.16.tgz#e548995f468e1503a00c324814e3ab76cfee2c82" + integrity sha512-CFpBTAnOC4RZUKf5ZXQXj098D4HgZ+RyB4u45OhFbJFCDXnJQpRk0ANkJ2lyGPYr7/TgfsfZlq2FN8ilPqkk5A== dependencies: - "@storybook/addons" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/core" "6.5.10" - "@storybook/core-common" "6.5.10" + "@storybook/addons" "6.5.16" + "@storybook/client-logger" "6.5.16" + "@storybook/core" "6.5.16" + "@storybook/core-common" "6.5.16" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/docs-tools" "6.5.10" - "@storybook/store" "6.5.10" + "@storybook/docs-tools" "6.5.16" + "@storybook/store" "6.5.16" "@types/node" "^14.14.20 || ^16.0.0" "@types/webpack-env" "^1.16.0" core-js "^3.8.2" @@ -5839,6 +6074,11 @@ json5@^2.1.2, json5@^2.1.3: dependencies: minimist "^1.2.5" +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + jsonfile@^2.1.0: version "2.4.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" @@ -8335,11 +8575,6 @@ store2@^2.12.0: resolved "https://registry.yarnpkg.com/store2/-/store2-2.12.0.tgz#e1f1b7e1a59b6083b2596a8d067f6ee88fd4d3cf" integrity sha512-7t+/wpKLanLzSnQPX8WAcuLCCeuSHoWdQuh9SB3xD0kNOM38DNf+0Oa+wmvxmYueRzkmh6IcdKFtvTa+ecgPDw== -storybook-mirage@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/storybook-mirage/-/storybook-mirage-0.0.4.tgz#572e5d310ad8f0dd963e5c341aa2402f8ed07749" - integrity sha512-oGjsxyxmedXQtsVW1DDwKM1RocAD5zClFeOFtAhK46NcGXLJ31m2WQg5kL7YqrsriorrCZq4vvSy05DVCD7BKQ== - stream-browserify@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" |