diff --git a/.github/workflows/pr-storybook.yml b/.github/workflows/pr-storybook.yml
index a7f18c3603..7a8f06b6ad 100644
--- a/.github/workflows/pr-storybook.yml
+++ b/.github/workflows/pr-storybook.yml
@@ -15,7 +15,7 @@ jobs:
strategy:
matrix:
- node-version: [16.x]
+ node-version: [16.20.0]
steps:
- uses: actions/checkout@v2
diff --git a/.github/workflows/push-release.yml b/.github/workflows/push-release.yml
index 080cf6cae9..0f3898853b 100644
--- a/.github/workflows/push-release.yml
+++ b/.github/workflows/push-release.yml
@@ -88,7 +88,7 @@ jobs:
strategy:
matrix:
- node-version: [16.x]
+ node-version: [16.20.0]
steps:
- uses: actions/checkout@v2
diff --git a/.github/workflows/storybook.yml b/.github/workflows/storybook.yml
index a67de4c016..e21d1920e6 100644
--- a/.github/workflows/storybook.yml
+++ b/.github/workflows/storybook.yml
@@ -17,7 +17,7 @@ jobs:
strategy:
matrix:
- node-version: [16.x]
+ node-version: [16.20.0]
steps:
- uses: actions/checkout@v2
diff --git a/.storybook/main.js b/.storybook/main.js
index 2b93a27833..ab04b78e83 100644
--- a/.storybook/main.js
+++ b/.storybook/main.js
@@ -8,6 +8,9 @@
const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');
module.exports = {
+ core: {
+ builder: 'webpack5',
+ },
presets: [
// {
// name: '@storybook/addon-docs/preset',
diff --git a/package.json b/package.json
index bd618204ce..07a75111e9 100644
--- a/package.json
+++ b/package.json
@@ -69,14 +69,16 @@
"@microsoft/eslint-config-msgraph": "^1.0.0",
"@octokit/rest": "^18.5.3",
"@open-wc/testing-helpers": "^2.3.0",
- "@storybook/addon-a11y": "^6.4.4",
- "@storybook/addon-actions": "^6.4.4",
- "@storybook/addon-docs": "^6.4.4",
- "@storybook/addon-knobs": "^6.3.0",
- "@storybook/addon-links": "^6.4.4",
- "@storybook/addon-storysource": "^6.4.4",
- "@storybook/cli": "^6.4.4",
- "@storybook/web-components": "^6.4.4",
+ "@storybook/addon-a11y": "^6.5.16",
+ "@storybook/addon-actions": "^6.5.16",
+ "@storybook/addon-docs": "^6.5.16",
+ "@storybook/addon-knobs": "^6.4.0",
+ "@storybook/addon-links": "^6.5.16",
+ "@storybook/addon-storysource": "^6.5.16",
+ "@storybook/builder-webpack5": "^6.5.16",
+ "@storybook/cli": "^6.5.16",
+ "@storybook/manager-webpack5": "^6.5.16",
+ "@storybook/web-components": "^6.5.16",
"@testing-library/dom": "^8.20.0",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/user-event": "^14.4.3",
@@ -141,6 +143,7 @@
"ts-jest": "^29.1.0",
"typescript": "^5.1.5",
"web-component-analyzer": "^1.1.6",
+ "webpack": "^5.76.0",
"whatwg-fetch": "^3.6.2"
},
"husky": {
diff --git a/packages/mgt-components/README.md b/packages/mgt-components/README.md
index 29737cf2a0..d6351695a9 100644
--- a/packages/mgt-components/README.md
+++ b/packages/mgt-components/README.md
@@ -13,16 +13,23 @@ You can explore components and samples with the [playground](https://mgt.dev) po
The Toolkit currently includes the following components:
+* [mgt-agenda](https://learn.microsoft.com/graph/toolkit/components/agenda)
+* [mgt-file](https://learn.microsoft.com/graph/toolkit/components/file)
+* [mgt-file-list](https://learn.microsoft.com/graph/toolkit/components/file-list)
+* [mgt-get](https://learn.microsoft.com/graph/toolkit/components/get)
* [mgt-login](https://learn.microsoft.com/graph/toolkit/components/login)
-* [mgt-person](https://learn.microsoft.com/graph/toolkit/components/person)
-* [mgt-person-card](https://learn.microsoft.com/graph/toolkit/components/person-card)
* [mgt-people](https://learn.microsoft.com/graph/toolkit/components/people)
* [mgt-people-picker](https://learn.microsoft.com/graph/toolkit/components/people-picker)
-* [mgt-agenda](https://learn.microsoft.com/graph/toolkit/components/agenda)
+* [mgt-person](https://learn.microsoft.com/graph/toolkit/components/person)
+* [mgt-person-card](https://learn.microsoft.com/graph/toolkit/components/person-card)
+* [mgt-picker](https://learn.microsoft.com/en-us/graph/toolkit/components/picker)
+* [mgt-search-box](https://learn.microsoft.com/graph/toolkit/components/person-box)
+* [mgt-search-results](https://learn.microsoft.com/graph/toolkit/components/search-results)
* [mgt-tasks](https://learn.microsoft.com/graph/toolkit/components/tasks)
-* [mgt-todo](https://learn.microsoft.com/graph/toolkit/components/todo)
-* [mgt-get](https://learn.microsoft.com/graph/toolkit/components/get)
+* [mgt-taxonomy-picker](https://learn.microsoft.com/graph/toolkit/components/taxonomy-picker)
* [mgt-teams-channel-picker](https://learn.microsoft.com/graph/toolkit/components/teams-channel-picker)
+* [mgt-theme-toggle](https://learn.microsoft.com/graph/toolkit/components/theme-toggle)
+* [mgt-todo](https://learn.microsoft.com/graph/toolkit/components/todo)
The components work best when used with a [provider](https://learn.microsoft.com/graph/toolkit/providers). The provider handles authentication and the requests to the Microsoft Graph APIs used by the components.
diff --git a/packages/mgt-components/src/components/mgt-agenda/mgt-agenda.ts b/packages/mgt-components/src/components/mgt-agenda/mgt-agenda.ts
index 7d16491de1..c7ce45f629 100644
--- a/packages/mgt-components/src/components/mgt-agenda/mgt-agenda.ts
+++ b/packages/mgt-components/src/components/mgt-agenda/mgt-agenda.ts
@@ -16,7 +16,7 @@ import { getEventsPageIterator, getEventsQueryPageIterator } from './mgt-agenda.
import { SvgIcon, getSvg } from '../../utils/SvgHelper';
import { MgtPeople, registerMgtPeopleComponent } from '../mgt-people/mgt-people';
import { registerFluentComponents } from '../../utils/FluentComponents';
-import { fluentCard, fluentTooltip } from '@fluentui/web-components';
+import { fluentCard } from '@fluentui/web-components';
import { classMap } from 'lit/directives/class-map.js';
import { registerComponent } from '../registerComponent';
@@ -47,7 +47,7 @@ import { registerComponent } from '../registerComponent';
*/
export const registerMgtAgendaComponent = () => {
- registerFluentComponents(fluentCard, fluentTooltip);
+ registerFluentComponents(fluentCard);
// register dependent components
registerMgtPeopleComponent();
// register self
@@ -407,38 +407,16 @@ export class MgtAgenda extends MgtTemplatedComponent {
* @memberof MgtAgenda
*/
protected renderTitle(event: MicrosoftGraph.Event): TemplateResult {
- let eventDescription = event?.bodyPreview ? event.bodyPreview.slice(0, 100) : '';
- const hasDescription = eventDescription !== '';
-
- const eventSubjectClasses = {
- 'event-subject': true,
- narrow: this._isNarrow
- };
-
- eventDescription = eventDescription.split(' ').slice(0, -1).join(' ') + '...';
-
- const hasDescriptionDiv = html`
-
- ${event.subject}
-
-
- ${eventDescription}
-
- `;
-
- const noDescriptionDiv = html`
+ return html`
- ${event.subject}
+ class="${classMap({
+ 'event-subject': true,
+ narrow: this._isNarrow
+ })}"
+ >
+ ${event.subject}
`;
- return hasDescription ? hasDescriptionDiv : noDescriptionDiv;
}
/**
diff --git a/packages/mgt-components/src/components/mgt-file-list/mgt-file-upload/mgt-file-upload.ts b/packages/mgt-components/src/components/mgt-file-list/mgt-file-upload/mgt-file-upload.ts
index 1feb9e2e7a..35ca543664 100644
--- a/packages/mgt-components/src/components/mgt-file-list/mgt-file-upload/mgt-file-upload.ts
+++ b/packages/mgt-components/src/components/mgt-file-list/mgt-file-upload/mgt-file-upload.ts
@@ -66,6 +66,13 @@ interface FutureDataTransferItem extends DataTransferItem {
getAsEntry: typeof DataTransferItem.prototype.webkitGetAsEntry;
}
+const isFutureDataTransferItem = (item: DataTransferItem): item is FutureDataTransferItem =>
+ 'getAsEntry' in item && typeof item.getAsEntry === 'function';
+
+const isDataTransferItem = (item: DataTransferItem | File): item is DataTransferItem =>
+ ('getAsFile' in item && typeof item.getAsFile === 'function') ||
+ ('webkitGetAsEntry' in item && typeof item.webkitGetAsEntry === 'function');
+
/**
* Upload conflict behavior status
*/
@@ -1165,13 +1172,10 @@ export class MgtFileUpload extends MgtBaseComponent {
let entry: FileSystemEntry;
const collectFilesItems: File[] = [];
- for (const uploadFileItem of filesItems as DataTransferItemList) {
- if (uploadFileItem.kind === 'file') {
- // Defensive code to validate if function exists in Browser
- // Collect all Folders into Array
- const futureUpload = uploadFileItem as FutureDataTransferItem;
- if (futureUpload.getAsEntry) {
- entry = futureUpload.getAsEntry();
+ for (const uploadFileItem of filesItems) {
+ if (isDataTransferItem(uploadFileItem)) {
+ if (isFutureDataTransferItem(uploadFileItem)) {
+ entry = uploadFileItem.getAsEntry();
if (isFileSystemDirectoryEntry(entry)) {
folders.push(entry);
} else {
@@ -1192,22 +1196,19 @@ export class MgtFileUpload extends MgtBaseComponent {
collectFilesItems.push(file);
}
}
- } else if ('function' == typeof uploadFileItem.getAsFile) {
+ } else {
const file = uploadFileItem.getAsFile();
if (file) {
this.writeFilePath(file, '');
collectFilesItems.push(file);
}
}
- continue;
} else {
- const fileItem = uploadFileItem.getAsFile();
- if (fileItem) {
- this.writeFilePath(fileItem, '');
- collectFilesItems.push(fileItem);
- }
+ this.writeFilePath(uploadFileItem, '');
+ collectFilesItems.push(uploadFileItem);
}
}
+
// Collect Files from folder
if (folders.length > 0) {
const folderFiles = await this.getFolderFiles(folders);
diff --git a/packages/mgt-components/src/components/mgt-person/mgt-person.ts b/packages/mgt-components/src/components/mgt-person/mgt-person.ts
index b6511a6048..bbb6f64420 100644
--- a/packages/mgt-components/src/components/mgt-person/mgt-person.ts
+++ b/packages/mgt-components/src/components/mgt-person/mgt-person.ts
@@ -707,8 +707,15 @@ export class MgtPerson extends MgtTemplatedComponent {
*/
protected renderImage(personDetailsInternal: IDynamicPerson, imageSrc: string) {
const altText = `${this.strings.photoFor} ${personDetailsInternal.displayName}`;
- const hasImage = imageSrc && !this._isInvalidImageSrc && this._avatarType === 'photo';
- const imageTemplate = html` (this._isInvalidImageSrc = true)} />`;
+ const hasImage = imageSrc && !this._isInvalidImageSrc && this._avatarType === avatarType.photo;
+ const imageOnly = this.avatarType === avatarType.photo && this.view === ViewType.image;
+ const titleText =
+ (personDetailsInternal?.displayName || getEmailFromGraphEntity(personDetailsInternal)) ?? undefined;
+ const imageTemplate = html` (this._isInvalidImageSrc = true)} />`;
const initials = personDetailsInternal ? this.getInitials(personDetailsInternal) : '';
const hasInitials = initials?.length;
@@ -721,6 +728,7 @@ export class MgtPerson extends MgtTemplatedComponent {
// this reduces the redundant announcement of the user's name.
const textTemplate = html`
diff --git a/packages/mgt-components/src/graph/graph.people.ts b/packages/mgt-components/src/graph/graph.people.ts
index 5fa9844460..cf0041d78b 100644
--- a/packages/mgt-components/src/graph/graph.people.ts
+++ b/packages/mgt-components/src/graph/graph.people.ts
@@ -224,9 +224,9 @@ export const getPeople = async (
};
/**
- * returns a promise that resolves after specified time
+ * Attempts to extract the email from the IDynamicPerson properties.
*
- * @param time in milliseconds
+ * @param {IDynamicperson} entity
*/
export const getEmailFromGraphEntity = (entity: IDynamicPerson): string => {
const person = entity as Person;
diff --git a/packages/mgt-element/src/IGraph.ts b/packages/mgt-element/src/IGraph.ts
index 30024dfaf3..ddb60065c4 100644
--- a/packages/mgt-element/src/IGraph.ts
+++ b/packages/mgt-element/src/IGraph.ts
@@ -75,12 +75,8 @@ export type GraphEndpoint =
| 'https://graph.microsoft.us'
| 'https://dod-graph.microsoft.us'
| 'https://graph.microsoft.de'
- | 'https://microsoftgraph.chinacloudapi.cn';
-
-/**
- * MICROSOFT_GRAPH_ENDPOINTS is a set of all the valid Graph URL endpoints.
- */
-export const MICROSOFT_GRAPH_ENDPOINTS: Set = new Set();
+ | 'https://microsoftgraph.chinacloudapi.cn'
+ | 'https://canary.graph.microsoft.com';
/**
* MICROSOFT_GRAPH_DEFAULT_ENDPOINT is the default Graph endpoint that is silently set on
@@ -88,13 +84,14 @@ export const MICROSOFT_GRAPH_ENDPOINTS: Set = new Set {
- const endpoints: GraphEndpoint[] = [
- MICROSOFT_GRAPH_DEFAULT_ENDPOINT,
- 'https://graph.microsoft.us',
- 'https://dod-graph.microsoft.us',
- 'https://graph.microsoft.de',
- 'https://microsoftgraph.chinacloudapi.cn'
- ];
- endpoints.forEach(endpoint => MICROSOFT_GRAPH_ENDPOINTS.add(endpoint));
-})();
+/**
+ * MICROSOFT_GRAPH_ENDPOINTS is a set of all the valid Graph URL endpoints.
+ */
+export const MICROSOFT_GRAPH_ENDPOINTS: Set = new Set([
+ MICROSOFT_GRAPH_DEFAULT_ENDPOINT,
+ 'https://graph.microsoft.us',
+ 'https://dod-graph.microsoft.us',
+ 'https://graph.microsoft.de',
+ 'https://microsoftgraph.chinacloudapi.cn',
+ 'https://canary.graph.microsoft.com'
+]);
diff --git a/packages/mgt/README.md b/packages/mgt/README.md
index cb6d8264d5..2830533e5f 100644
--- a/packages/mgt/README.md
+++ b/packages/mgt/README.md
@@ -15,27 +15,34 @@ The Microsoft Graph Toolkit includes a collection of web components for the most
The components are also available as [React components](https://learn.microsoft.com/graph/toolkit/get-started/mgt-react).
+* [mgt-agenda](https://learn.microsoft.com/graph/toolkit/components/agenda)
+* [mgt-file](https://learn.microsoft.com/graph/toolkit/components/file)
+* [mgt-file-list](https://learn.microsoft.com/graph/toolkit/components/file-list)
+* [mgt-get](https://learn.microsoft.com/graph/toolkit/components/get)
* [mgt-login](https://learn.microsoft.com/graph/toolkit/components/login)
-* [mgt-person](https://learn.microsoft.com/graph/toolkit/components/person)
-* [mgt-person-card](https://learn.microsoft.com/graph/toolkit/components/person-card)
* [mgt-people](https://learn.microsoft.com/graph/toolkit/components/people)
* [mgt-people-picker](https://learn.microsoft.com/graph/toolkit/components/people-picker)
-* [mgt-agenda](https://learn.microsoft.com/graph/toolkit/components/agenda)
+* [mgt-person](https://learn.microsoft.com/graph/toolkit/components/person)
+* [mgt-person-card](https://learn.microsoft.com/graph/toolkit/components/person-card)
+* [mgt-picker](https://learn.microsoft.com/en-us/graph/toolkit/components/picker)
+* [mgt-search-box](https://learn.microsoft.com/graph/toolkit/components/person-box)
+* [mgt-search-results](https://learn.microsoft.com/graph/toolkit/components/search-results)
* [mgt-tasks](https://learn.microsoft.com/graph/toolkit/components/tasks)
-* [mgt-todo](https://learn.microsoft.com/graph/toolkit/components/todo)
-* [mgt-get](https://learn.microsoft.com/graph/toolkit/components/get)
+* [mgt-taxonomy-picker](https://learn.microsoft.com/graph/toolkit/components/taxonomy-picker)
* [mgt-teams-channel-picker](https://learn.microsoft.com/graph/toolkit/components/teams-channel-picker)
+* [mgt-theme-toggle](https://learn.microsoft.com/graph/toolkit/components/theme-toggle)
+* [mgt-todo](https://learn.microsoft.com/graph/toolkit/components/todo)
## Providers
[Providers](https://learn.microsoft.com/graph/toolkit/providers) enable authentication and provide the implementation for acquiring access tokens on various platforms and expose a Microsoft Graph Client for calling the Microsoft Graph APIs. The components work best when used with a provider, but the providers can be used on their own.
-* [Msal Provider](https://learn.microsoft.com/graph/toolkit/providers/msal)
-* [Msal2 Provider](https://learn.microsoft.com/graph/toolkit/providers/msal2)
-* [SharePoint Provider](https://learn.microsoft.com/graph/toolkit/providers/sharepoint)
-* [Teams Provider](https://learn.microsoft.com/graph/toolkit/providers/teams)
-* [Teams Msal2 Provider](https://learn.microsoft.com/graph/toolkit/providers/teams-msal2)
-* [Proxy Provider](https://learn.microsoft.com/graph/toolkit/providers/proxy)
-* [Simple Provider](https://learn.microsoft.com/graph/toolkit/providers/custom)
+* [Msal2Provider](https://learn.microsoft.com/graph/toolkit/providers/msal2)
+* [SharePointProvider](https://learn.microsoft.com/graph/toolkit/providers/sharepoint)
+* [TeamsFxProvider](https://learn.microsoft.com/graph/toolkit/providers/teamsfx)
+* [ProxyProvider](https://learn.microsoft.com/graph/toolkit/providers/proxy)
+* [SimpleProvider](https://learn.microsoft.com/graph/toolkit/providers/custom)
+* [ElectronProvider](https://learn.microsoft.com/graph/toolkit/providers/electron)
+
## Getting Started
@@ -46,15 +53,15 @@ You can use the components by referencing the loader directly (via unpkg), or in
### Use via mgt-loader:
```html
-
+
```
-> NOTE: This link will load the highest available version of @microsoft/mgt in the range `>= 2.0.0 < 3.0.0`, omitting the `@2` fragment from the url results in loading the latest version. This could result in loading a new major version and breaking the application.
+> NOTE: This link will load the highest available version of @microsoft/mgt in the range `>= 3.0.0 < 4.0.0`, omitting the `@3` fragment from the url results in loading the latest version. This could result in loading a new major version and breaking the application.
You can then start using the components in your html page. Here is a full working example with the Msal2 provider:
```html
-
+
diff --git a/readme.md b/readme.md
index 6fe01298ef..2fe2885151 100644
--- a/readme.md
+++ b/readme.md
@@ -62,6 +62,7 @@ The Toolkit currently includes the following components:
* [mgt-people-picker](https://learn.microsoft.com/graph/toolkit/components/people-picker)
* [mgt-person](https://learn.microsoft.com/graph/toolkit/components/person)
* [mgt-person-card](https://learn.microsoft.com/graph/toolkit/components/person-card)
+* [mgt-picker](https://learn.microsoft.com/en-us/graph/toolkit/components/picker)
* [mgt-search-box](https://learn.microsoft.com/graph/toolkit/components/person-box)
* [mgt-search-results](https://learn.microsoft.com/graph/toolkit/components/search-results)
* [mgt-tasks](https://learn.microsoft.com/graph/toolkit/components/tasks)
diff --git a/yarn.lock b/yarn.lock
index dfeca1c2c3..0c71450ab8 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -5480,7 +5480,7 @@
resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553"
integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==
-"@storybook/addon-a11y@^6.4.4":
+"@storybook/addon-a11y@^6.5.16":
version "6.5.16"
resolved "https://registry.yarnpkg.com/@storybook/addon-a11y/-/addon-a11y-6.5.16.tgz#9288a6c1d111fa4ec501d213100ffff91757d3fc"
integrity sha512-/e9s34o+TmEhy+Q3/YzbRJ5AJ/Sy0gjZXlvsCrcRpiQLdt5JRbN8s+Lbn/FWxy8U1Tb1wlLYlqjJ+fYi5RrS3A==
@@ -5502,7 +5502,7 @@
ts-dedent "^2.0.0"
util-deprecate "^1.0.2"
-"@storybook/addon-actions@^6.4.4":
+"@storybook/addon-actions@^6.5.16":
version "6.5.16"
resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-6.5.16.tgz#2d7679f64899bef165a338582cb928102a09e364"
integrity sha512-aADjilFmuD6TNGz2CRPSupnyiA/IGkPJHDBTqMpsDXTUr8xnuD122xkIhg6UxmCM2y1c+ncwYXy3WPK2xXK57g==
@@ -5527,7 +5527,7 @@
util-deprecate "^1.0.2"
uuid-browser "^3.1.0"
-"@storybook/addon-docs@^6.4.4":
+"@storybook/addon-docs@^6.5.16":
version "6.5.16"
resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-6.5.16.tgz#3de912f51fb8e48b9a53b11a5b1cede067acbe70"
integrity sha512-QM9WDZG9P02UvbzLu947a8ZngOrQeAKAT8jCibQFM/+RJ39xBlfm8rm+cQy3dm94wgtjmVkA3mKGOV/yrrsddg==
@@ -5561,7 +5561,7 @@
ts-dedent "^2.0.0"
util-deprecate "^1.0.2"
-"@storybook/addon-knobs@^6.3.0":
+"@storybook/addon-knobs@^6.4.0":
version "6.4.0"
resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-6.4.0.tgz#fa5943ef21826cdc2e20ded74edfdf5a6dc71dcf"
integrity sha512-DiH1/5e2AFHoHrncl1qLu18ZHPHzRMMPvOLFz8AWvvmc+VCqTdIaE+tdxKr3e8rYylKllibgvDOzrLjfTNjF+Q==
@@ -5578,7 +5578,7 @@
react-lifecycles-compat "^3.0.4"
react-select "^3.2.0"
-"@storybook/addon-links@^6.4.4":
+"@storybook/addon-links@^6.5.16":
version "6.5.16"
resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-6.5.16.tgz#cacb20cd0656f0681a874709d428d3f3577828c3"
integrity sha512-P/mmqK57NGXnR0i3d/T5B0rIt0Lg8Yq+qionRr3LK3AwG/4yGnYt4GNomLEknn/eEwABYq1Q/Z1aOpgIhNdq5A==
@@ -5596,7 +5596,7 @@
regenerator-runtime "^0.13.7"
ts-dedent "^2.0.0"
-"@storybook/addon-storysource@^6.4.4":
+"@storybook/addon-storysource@^6.5.16":
version "6.5.16"
resolved "https://registry.yarnpkg.com/@storybook/addon-storysource/-/addon-storysource-6.5.16.tgz#b663622d2420d6ad3746ae477dd272ce00ed8525"
integrity sha512-cwYZ5ggucw3oLr1OiDCEbuUf9JRYhPOoZbDyiXKYG8KyD1QfsY85lRVHa/b1CFjGVOTaoC//CLe5B//9hwGWiw==
@@ -5708,6 +5708,50 @@
webpack-hot-middleware "^2.25.1"
webpack-virtual-modules "^0.2.2"
+"@storybook/builder-webpack5@^6.5.16":
+ version "6.5.16"
+ resolved "https://registry.yarnpkg.com/@storybook/builder-webpack5/-/builder-webpack5-6.5.16.tgz#2f260e29fbc87f6f3bb3212459048ce37f3fb54e"
+ integrity sha512-kh8Sofm1sbijaHDWtm0sXabqACHVFjikU/fIkkW786kpjoPIPIec1a+hrLgDsZxMU3I7XapSOaCFzWt6FjVXjg==
+ dependencies:
+ "@babel/core" "^7.12.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.16"
+ "@storybook/theming" "6.5.16"
+ "@types/node" "^14.0.10 || ^16.0.0"
+ babel-loader "^8.0.0"
+ babel-plugin-named-exports-order "^0.0.2"
+ browser-assert "^1.2.1"
+ case-sensitive-paths-webpack-plugin "^2.3.0"
+ core-js "^3.8.2"
+ css-loader "^5.0.1"
+ fork-ts-checker-webpack-plugin "^6.0.4"
+ glob "^7.1.6"
+ glob-promise "^3.4.0"
+ html-webpack-plugin "^5.0.0"
+ path-browserify "^1.0.1"
+ process "^0.11.10"
+ stable "^0.1.8"
+ style-loader "^2.0.0"
+ terser-webpack-plugin "^5.0.3"
+ ts-dedent "^2.0.0"
+ util-deprecate "^1.0.2"
+ webpack "^5.9.0"
+ webpack-dev-middleware "^4.1.0"
+ webpack-hot-middleware "^2.25.1"
+ webpack-virtual-modules "^0.4.1"
+
"@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"
@@ -5741,7 +5785,7 @@
ts-dedent "^2.0.0"
util-deprecate "^1.0.2"
-"@storybook/cli@^6.4.4":
+"@storybook/cli@^6.5.16":
version "6.5.16"
resolved "https://registry.yarnpkg.com/@storybook/cli/-/cli-6.5.16.tgz#a7ec54bf0df032fbbd9ee0b32260c3d21dd0c611"
integrity sha512-6hcIUvoQxmK9OZ/dmt2eXMbdeCJseRjLwIk4y2SdWd3chpjMDUVhIMJHU4qc2+6rbK+iwL7JAsOUEu/ywkgEow==
@@ -6072,6 +6116,44 @@
webpack-dev-middleware "^3.7.3"
webpack-virtual-modules "^0.2.2"
+"@storybook/manager-webpack5@^6.5.16":
+ version "6.5.16"
+ resolved "https://registry.yarnpkg.com/@storybook/manager-webpack5/-/manager-webpack5-6.5.16.tgz#48b223557d9633614ff8c6e3227c01a57ab4eb55"
+ integrity sha512-OtxXv8JCe0r/0rE5HxaFicsNsXA+fqZxzokxquFFgrYf/1Jg4d7QX6/pG5wINF+5qInJfVkRG6xhPzv1s5bk9Q==
+ dependencies:
+ "@babel/core" "^7.12.10"
+ "@babel/plugin-transform-template-literals" "^7.12.1"
+ "@babel/preset-react" "^7.12.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"
+ babel-loader "^8.0.0"
+ case-sensitive-paths-webpack-plugin "^2.3.0"
+ chalk "^4.1.0"
+ core-js "^3.8.2"
+ css-loader "^5.0.1"
+ express "^4.17.1"
+ find-up "^5.0.0"
+ fs-extra "^9.0.1"
+ html-webpack-plugin "^5.0.0"
+ node-fetch "^2.6.7"
+ process "^0.11.10"
+ read-pkg-up "^7.0.1"
+ regenerator-runtime "^0.13.7"
+ resolve-from "^5.0.0"
+ style-loader "^2.0.0"
+ telejson "^6.0.8"
+ terser-webpack-plugin "^5.0.3"
+ ts-dedent "^2.0.0"
+ util-deprecate "^1.0.2"
+ webpack "^5.9.0"
+ webpack-dev-middleware "^4.1.0"
+ webpack-virtual-modules "^0.4.1"
+
"@storybook/mdx1-csf@^0.0.1":
version "0.0.1"
resolved "https://registry.yarnpkg.com/@storybook/mdx1-csf/-/mdx1-csf-0.0.1.tgz#d4184e3f6486fade9f7a6bfaf934d9bc07718d5b"
@@ -6233,7 +6315,7 @@
regenerator-runtime "^0.13.7"
resolve-from "^5.0.0"
-"@storybook/web-components@^6.4.4":
+"@storybook/web-components@^6.5.16":
version "6.5.16"
resolved "https://registry.yarnpkg.com/@storybook/web-components/-/web-components-6.5.16.tgz#80b2070262446774bd938307d9c7f1d107d55291"
integrity sha512-Ae3tKGhKk9vXfVrOX5DGgPTg1UBG7F01ZcDUkfk/HVi4o7zU/dU6QB+icL3VULdsZxVMKZ0Rrq/33qepshoi3A==
@@ -9713,6 +9795,11 @@ babel-plugin-named-asset-import@^0.3.8:
resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz#6b7fa43c59229685368683c28bc9734f24524cc2"
integrity sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==
+babel-plugin-named-exports-order@^0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-named-exports-order/-/babel-plugin-named-exports-order-0.0.2.tgz#ae14909521cf9606094a2048239d69847540cb09"
+ integrity sha512-OgOYHOLoRK+/mvXU9imKHlG6GkPLYrUCvFXG/CM93R/aNNO8pOOF4aS+S8CCHMDQoNSeiOYEZb/G6RwL95Jktw==
+
babel-plugin-polyfill-corejs2@^0.4.4:
version "0.4.4"
resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.4.tgz#9f9a0e1cd9d645cc246a5e094db5c3aa913ccd2b"
@@ -10256,6 +10343,11 @@ brotli-size@^4.0.0:
dependencies:
duplexer "0.1.1"
+browser-assert@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/browser-assert/-/browser-assert-1.2.1.tgz#9aaa5a2a8c74685c2ae05bfe46efd606f068c200"
+ integrity sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==
+
browser-process-hrtime@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626"
@@ -11311,6 +11403,11 @@ colord@^2.9.1, colord@^2.9.3:
resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43"
integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==
+colorette@^1.2.2:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40"
+ integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==
+
colorette@^2.0.10, colorette@^2.0.14:
version "2.0.20"
resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a"
@@ -12134,6 +12231,22 @@ css-loader@^3.6.0:
schema-utils "^2.7.0"
semver "^6.3.0"
+css-loader@^5.0.1:
+ version "5.2.7"
+ resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.7.tgz#9b9f111edf6fb2be5dc62525644cbc9c232064ae"
+ integrity sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==
+ dependencies:
+ icss-utils "^5.1.0"
+ loader-utils "^2.0.0"
+ postcss "^8.2.15"
+ postcss-modules-extract-imports "^3.0.0"
+ postcss-modules-local-by-default "^4.0.0"
+ postcss-modules-scope "^3.0.0"
+ postcss-modules-values "^4.0.0"
+ postcss-value-parser "^4.1.0"
+ schema-utils "^3.0.0"
+ semver "^7.3.5"
+
css-loader@^6.5.1, css-loader@^6.7.1:
version "6.8.1"
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.8.1.tgz#0f8f52699f60f5e679eab4ec0fcd68b8e8a50a88"
@@ -16487,7 +16600,7 @@ html-webpack-plugin@^4.0.0:
tapable "^1.1.3"
util.promisify "1.0.0"
-html-webpack-plugin@^5.5.0:
+html-webpack-plugin@^5.0.0, html-webpack-plugin@^5.5.0:
version "5.5.3"
resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz#72270f4a78e222b5825b296e5e3e1328ad525a3e"
integrity sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==
@@ -20767,7 +20880,7 @@ media-typer@0.3.0:
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
-mem@^8.0.0:
+mem@^8.0.0, mem@^8.1.1:
version "8.1.1"
resolved "https://registry.yarnpkg.com/mem/-/mem-8.1.1.tgz#cf118b357c65ab7b7e0817bdf00c8062297c0122"
integrity sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==
@@ -20775,7 +20888,7 @@ mem@^8.0.0:
map-age-cleaner "^0.1.3"
mimic-fn "^3.1.0"
-memfs@^3.1.2, memfs@^3.4.3:
+memfs@^3.1.2, memfs@^3.2.2, memfs@^3.4.3:
version "3.6.0"
resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6"
integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ==
@@ -20980,7 +21093,7 @@ mime-db@1.52.0, "mime-db@>= 1.43.0 < 2":
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
-mime-types@^2.1.12, mime-types@^2.1.18, mime-types@^2.1.25, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34:
+mime-types@^2.1.12, mime-types@^2.1.18, mime-types@^2.1.25, mime-types@^2.1.27, mime-types@^2.1.30, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34:
version "2.1.35"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
@@ -22660,6 +22773,11 @@ path-browserify@0.0.1:
resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
+path-browserify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd"
+ integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==
+
path-dirname@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
@@ -23422,7 +23540,7 @@ postcss-modules-local-by-default@^3.0.2:
postcss-selector-parser "^6.0.2"
postcss-value-parser "^4.1.0"
-postcss-modules-local-by-default@^4.0.3, postcss-modules-local-by-default@~4.0.0:
+postcss-modules-local-by-default@^4.0.0, postcss-modules-local-by-default@^4.0.3, postcss-modules-local-by-default@~4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz#b08eb4f083050708998ba2c6061b50c2870ca524"
integrity sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==
@@ -23935,7 +24053,7 @@ postcss@^8.1.10, postcss@^8.3.5, postcss@^8.4.19, postcss@^8.4.21, postcss@^8.4.
picocolors "^1.0.0"
source-map-js "^1.0.2"
-postcss@^8.4.14:
+postcss@^8.2.15, postcss@^8.4.14:
version "8.4.27"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.27.tgz#234d7e4b72e34ba5a92c29636734349e0d9c3057"
integrity sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==
@@ -27320,6 +27438,14 @@ style-loader@^1.3.0:
loader-utils "^2.0.0"
schema-utils "^2.7.0"
+style-loader@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-2.0.0.tgz#9669602fd4690740eaaec137799a03addbbc393c"
+ integrity sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==
+ dependencies:
+ loader-utils "^2.0.0"
+ schema-utils "^3.0.0"
+
style-loader@^3.3.1:
version "3.3.3"
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.3.tgz#bba8daac19930169c0c9c96706749a597ae3acff"
@@ -27835,7 +27961,7 @@ terser-webpack-plugin@^4.2.3:
terser "^5.3.4"
webpack-sources "^1.4.3"
-terser-webpack-plugin@^5.2.5, terser-webpack-plugin@^5.3.3, terser-webpack-plugin@^5.3.7:
+terser-webpack-plugin@^5.0.3, terser-webpack-plugin@^5.2.5, terser-webpack-plugin@^5.3.3, terser-webpack-plugin@^5.3.7:
version "5.3.9"
resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1"
integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==
@@ -29409,6 +29535,18 @@ webpack-dev-middleware@^3.7.3:
range-parser "^1.2.1"
webpack-log "^2.0.0"
+webpack-dev-middleware@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-4.3.0.tgz#179cc40795882cae510b1aa7f3710cbe93c9333e"
+ integrity sha512-PjwyVY95/bhBh6VUqt6z4THplYcsvQ8YNNBTBM873xLVmw8FLeALn0qurHbs9EmcfhzQis/eoqypSnZeuUz26w==
+ dependencies:
+ colorette "^1.2.2"
+ mem "^8.1.1"
+ memfs "^3.2.2"
+ mime-types "^2.1.30"
+ range-parser "^1.2.1"
+ schema-utils "^3.0.0"
+
webpack-dev-middleware@^5.3.1:
version "5.3.3"
resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f"
@@ -29557,6 +29695,11 @@ webpack-virtual-modules@^0.2.2:
dependencies:
debug "^3.0.0"
+webpack-virtual-modules@^0.4.1:
+ version "0.4.6"
+ resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.4.6.tgz#3e4008230731f1db078d9cb6f68baf8571182b45"
+ integrity sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==
+
webpack@4:
version "4.46.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542"
@@ -29616,7 +29759,7 @@ webpack@^5.64.4:
watchpack "^2.4.0"
webpack-sources "^3.2.3"
-webpack@^5.73.0:
+webpack@^5.73.0, webpack@^5.76.0, webpack@^5.9.0:
version "5.88.2"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.88.2.tgz#f62b4b842f1c6ff580f3fcb2ed4f0b579f4c210e"
integrity sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==
@@ -30081,6 +30224,7 @@ worker-rpc@^0.1.0:
microevent.ts "~0.1.1"
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
+ name wrap-ansi-cjs
version "7.0.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==