diff --git a/samples/react-list-search/README.md b/samples/react-list-search/README.md index bb1d82758..edc93fb89 100644 --- a/samples/react-list-search/README.md +++ b/samples/react-list-search/README.md @@ -3,7 +3,8 @@ ## Summary This list search web part allows the user to show data from lists or libraries. The web part can be used to (for more details see images below): - * [Show merged items from diferents lists/libraries](#merge-items-from-different-listslibraries) + + * [Show merged items from different lists/libraries](#merge-items-from-different-listslibraries) * [Open item data in modal window (same data shown in the table)](#merge-items-from-different-listslibraries) * [Select render by field type](#select-render-of-the-selected-fields) * [Open item detail in modal window (it allows to select the fields to show by list)](#open-selected-item-with-selected-properties) @@ -13,6 +14,7 @@ This list search web part allows the user to show data from lists or libraries. * [Redirect to url](#redirect-to-url-depends-on-selected-item) * Other useful functionalities: + * List item modern audience support * General filter - the user can select which columns are filtered and which not * Column filter on each column * Item limit to show @@ -22,39 +24,38 @@ This list search web part allows the user to show data from lists or libraries. * Get section color * Show item count with custom message -#### Merge items from different lists/libraries +### Merge items from different lists/libraries ![Merge items from different lists/libraries](assets/differentSources.gif) -#### Select render of the selected fields +### Select render of the selected fields ![Select render of the selected fields](assets/selectFieldRenderType.gif) -#### Open documents in modal window +### Open documents in modal window ![Open documents in modal window](assets/docInModal.gif) -#### Open documents in new tab +### Open documents in new tab ![Open documents in new tab](assets/docInNewTab.gif) -#### Use of dynamic data +### Use of dynamic data ![Use of dynamic data](assets/dynamicData.gif) -#### Open selected item with same data +### Open selected item with same data ![Open selected item with same data](assets/itemCurrentData.gif) -#### Open selected item with selected properties +### Open selected item with selected properties ![Open selected item with selected properties](assets/itemSelectedData.gif) -#### Redirect to url depends on selected item +### Redirect to url depends on selected item ![Redirect to url depends on selected item](assets/redirectToUrl.gif) - ## Compatibility ![SPFx 1.11](https://img.shields.io/badge/SPFx-1.11.0-green.svg) @@ -63,7 +64,6 @@ This list search web part allows the user to show data from lists or libraries. ![Teams N/A: Untested with Microsoft Teams](https://img.shields.io/badge/Teams-N%2FA-lightgrey.svg "Untested with Microsoft Teams") ![Workbench Local | Hosted](https://img.shields.io/badge/Workbench-Local%20%7C%20Hosted-green.svg) - ## Applies to * [SharePoint Framework](https://docs.microsoft.com/sharepoint/dev/spfx/sharepoint-framework-overview) @@ -73,19 +73,14 @@ This list search web part allows the user to show data from lists or libraries. Solution|Author(s) --------|--------- -react-list-search | Alberto GutiƩrrez ([@albertogperez](https://twitter.com/albertogperez)) +react-list-search | [Alberto GutiƩrrez](https://github.com/albegut) ([@albertogperez](https://twitter.com/albertogperez)) ## Version history Version|Date|Comments -------|----|-------- -1.0|December 20, 2020|Initial release - -## Disclaimer - -**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.** - ---- +1.0.0|December 20, 2020|Initial release +1.1.0|April 25, 2021|List item modern audience support ## Minimal Path to Awesome @@ -103,6 +98,7 @@ Version|Date|Comments * Download `.sppkg` files from `sppkg` folder * Upload files to **App Catalog** + * Approve the API permissions in the new SP admin center (only needed if you are going to enable list item modern audience) ## Features @@ -112,8 +108,22 @@ This Web Part illustrates the following concepts on top of the SharePoint Framew * Using [PnP Js](https://pnp.github.io/pnpjs) to retrieve SharePoint data * Using [PnP Js](https://pnp.github.io/pnpjs/odata/caching) to cache SharePoint data * Connection between SharePoint Framework components using dynamic data -* [Support of section backgrounds color ](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/guidance/supporting-section-backgrounds) +* [Support of section backgrounds color](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/guidance/supporting-section-backgrounds) * [Custom property pane control](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/guidance/build-custom-property-pane-controls) * Use [react-js-pagination](https://www.npmjs.com/package/react-js-pagination) library +## Disclaimer + +**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.** + +## Support + +We do not support samples, but we do use GitHub to track issues and constantly want to improve these samples. + +If you encounter any issues while using this sample, [create a new issue](https://github.com/pnp/sp-dev-fx-webparts/issues/new?assignees=&labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected&template=bug-report.yml&sample=react-list-search&authors=@albegut&title=react-list-search%20-%20). + +For questions regarding this sample, [create a new question](https://github.com/pnp/sp-dev-fx-webparts/issues/new?assignees=&labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected&template=question.yml&sample=react-list-search&authors=@albegut&title=react-list-search%20-%20). + +Finally, if you have an idea for improvement, [make a suggestion](https://github.com/pnp/sp-dev-fx-webparts/issues/new?assignees=&labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected&template=suggestion.yml&sample=react-list-search&authors=@albegut&title=react-list-search%20-%20). + diff --git a/samples/react-list-search/assets/sample.json b/samples/react-list-search/assets/sample.json index 57463b3a0..bde847259 100644 --- a/samples/react-list-search/assets/sample.json +++ b/samples/react-list-search/assets/sample.json @@ -8,8 +8,8 @@ "longDescription": [ "This list search web part allows the user to show data from lists or libraries." ], - "created": "2020-12-20", - "modified": "2020-12-20", + "creationDateTime": "2020-12-20", + "updateDateTime": "2021-04-25", "products": [ "SharePoint", "Office" @@ -100,4 +100,4 @@ } ] } -] \ No newline at end of file +] diff --git a/samples/react-list-search/config/package-solution.json b/samples/react-list-search/config/package-solution.json index e3870ed68..689a114a2 100644 --- a/samples/react-list-search/config/package-solution.json +++ b/samples/react-list-search/config/package-solution.json @@ -3,7 +3,7 @@ "solution": { "name": "list-search-webpart", "id": "8277f088-9c30-4f95-9c15-9c18a9d40a26", - "version": "1.0.0.0", + "version": "1.1.0.0", "includeClientSideAssets": true, "skipFeatureDeployment": true, "isDomainIsolated": false, @@ -13,7 +13,25 @@ "privacyUrl": "", "termsOfUseUrl": "", "mpnId": "" - } + }, + "webApiPermissionRequests": [ + { + "resource": "Microsoft Graph", + "scope": "User.Read.All" + }, + { + "resource": "Microsoft Graph", + "scope": "User.ReadWrite.All" + }, + { + "resource": "Microsoft Graph", + "scope": "Directory.Read.All" + }, + { + "resource": "Microsoft Graph", + "scope": "Directory.ReadWrite.All" + } + ] }, "paths": { "zippedPackage": "solution/list-search-webpart.sppkg" diff --git a/samples/react-list-search/package-lock.json b/samples/react-list-search/package-lock.json index 5f73eadcf..770f6c318 100644 --- a/samples/react-list-search/package-lock.json +++ b/samples/react-list-search/package-lock.json @@ -5,12 +5,12 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "dev": true, "requires": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.12.13" } }, "@babel/helper-validator-identifier": { @@ -20,72 +20,343 @@ "dev": true }, "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, - "@fluentui/date-time-utilities": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.0.tgz", - "integrity": "sha512-D8p5WWeonqRO1EgIvo7WSlX1rcm87r2VQd62zTJPQImx8rpwc77CRI+iAvfxyVHRZMdt4Qk6Jq99dUaudPWaZw==", + "@babel/runtime": { + "version": "7.13.17", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.17.tgz", + "integrity": "sha512-NCdgJEelPTSh+FEFylhnP1ylq848l1z9t9N0j1Lfbcw0+KXGjsTvUmkxy+voLLXB5SOKMbLLx4jxYliGrYQseA==", "requires": { - "@uifabric/set-version": "^7.0.23", + "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + } + } + }, + "@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + }, + "@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==" + }, + "@emotion/serialize": { + "version": "0.11.16", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz", + "integrity": "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==", + "requires": { + "@emotion/hash": "0.8.0", + "@emotion/memoize": "0.7.4", + "@emotion/unitless": "0.7.5", + "@emotion/utils": "0.11.3", + "csstype": "^2.5.7" + } + }, + "@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, + "@emotion/utils": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz", + "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==" + }, + "@fluentui/accessibility": { + "version": "0.51.7", + "resolved": "https://registry.npmjs.org/@fluentui/accessibility/-/accessibility-0.51.7.tgz", + "integrity": "sha512-EcAlEsc63+UezUpO94bO41/8QY2X/B3MztLE2HTNumaUhfUNfd4veVAZwHxDcXaAP2SGXyEFuUa0pmuB2dR+HA==", + "requires": { + "@babel/runtime": "^7.10.4", + "@fluentui/keyboard-key": "^0.2.7", + "lodash": "^4.17.15" + }, + "dependencies": { + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + } + } + }, + "@fluentui/date-time-utilities": { + "version": "7.9.1", + "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.1.tgz", + "integrity": "sha512-o8iU1VIY+QsqVRWARKiky29fh4KR1xaKSgMClXIi65qkt8EDDhjmlzL0KVDEoDA2GWukwb/1PpaVCWDg4v3cUQ==", + "requires": { + "@uifabric/set-version": "^7.0.24", "tslib": "^1.10.0" } }, "@fluentui/dom-utilities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.1.tgz", - "integrity": "sha512-w40gi8fzCpwa7U8cONiuu8rszPStkVOL/weDf5pCbYEb1gdaV7MDPSNkgM6IV0Kz+k017noDgK9Fv4ru1Dwz1g==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.2.tgz", + "integrity": "sha512-XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw==", "requires": { - "@uifabric/set-version": "^7.0.23", + "@uifabric/set-version": "^7.0.24", "tslib": "^1.10.0" } }, "@fluentui/keyboard-key": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.2.12.tgz", - "integrity": "sha512-t3yIbbPKJubb22vQ/FIWwS9vFAzaPYzFxKWPHVWLtxs/P+5yL+LD3B16DRtYreWAdl9CZvEbos58ChLZ0KHwSQ==", + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.2.17.tgz", + "integrity": "sha512-iT1bU56rKrKEOfODoW6fScY11qj3iaYrZ+z11T6fo5+TDm84UGkkXjLXJTE57ZJzg0/gbccHQWYv+chY7bJN8Q==", "requires": { "tslib": "^1.10.0" } }, + "@fluentui/react-bindings": { + "version": "0.51.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-bindings/-/react-bindings-0.51.7.tgz", + "integrity": "sha512-Gp+70GYZHtrQz/480kR+qII9RMHXM+dorKnVj6D7C1/3r6iBoGPVGgRZROuOG1YOmlrM8nbZDb1VX1EqKCdNlQ==", + "requires": { + "@babel/runtime": "^7.10.4", + "@emotion/serialize": "^0.11.16", + "@fluentui/accessibility": "^0.51.7", + "@fluentui/keyboard-key": "^0.2.7", + "@fluentui/react-component-event-listener": "^0.51.7", + "@fluentui/react-component-ref": "^0.51.7", + "@fluentui/react-compose": "^0.12.5", + "@fluentui/react-northstar-fela-renderer": "^0.51.7", + "@fluentui/react-northstar-styles-renderer": "^0.51.7", + "@fluentui/state": "^0.51.7", + "@fluentui/styles": "^0.51.7", + "@quid/stylis-plugin-focus-visible": "^4.0.0", + "@uifabric/utilities": "^7.24.5", + "classnames": "^2.2.6", + "lodash": "^4.17.15", + "prop-types": "^15.7.2", + "react-is": "^16.6.3", + "stylis": "^3.5.4", + "stylis-plugin-rtl": "^1.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + } + } + }, + "@fluentui/react-component-event-listener": { + "version": "0.51.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-component-event-listener/-/react-component-event-listener-0.51.7.tgz", + "integrity": "sha512-NjVm+crN0T9A7vITL8alZeHnuV8zi2gos0nezU/2YOxaUAB9E4zKiPxt/6k5U50rJs/gj8Nu45iXxnjO41HbZg==", + "requires": { + "@babel/runtime": "^7.10.4" + } + }, + "@fluentui/react-component-nesting-registry": { + "version": "0.51.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-component-nesting-registry/-/react-component-nesting-registry-0.51.7.tgz", + "integrity": "sha512-uuzYi8/SWAhj78z6nirDGWZYRJEmXqmeBZP+KR58m/kmQ1nq5YMZADw06JlrUqW/UMk6SKkUpHRAKYrT4NGJkw==", + "requires": { + "@babel/runtime": "^7.10.4", + "prop-types": "^15.7.2" + } + }, + "@fluentui/react-component-ref": { + "version": "0.51.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-component-ref/-/react-component-ref-0.51.7.tgz", + "integrity": "sha512-CX27jVJYaFoBCWpuWAizQZ2se137ku1dmDyn8sw+ySNJa+kkQf7LnMydiPW5K7cRdUSqUJW3eS4EjKRvVAx8xA==", + "requires": { + "@babel/runtime": "^7.10.4", + "react-is": "^16.6.3" + } + }, + "@fluentui/react-compose": { + "version": "0.12.8", + "resolved": "https://registry.npmjs.org/@fluentui/react-compose/-/react-compose-0.12.8.tgz", + "integrity": "sha512-YutUjnFzDrd5gfpi2ID0GqrGZTKTckWUqdStScIe/P9oG5IaeHN49JMQmOrSq3tFAW/gnt1fFKddhrxdCO3vBA==", + "requires": { + "@types/classnames": "^2.2.9", + "@uifabric/set-version": "^7.0.19", + "@uifabric/utilities": "^7.25.1", + "classnames": "^2.2.6", + "tslib": "^1.10.0" + } + }, + "@fluentui/react-context-selector": { + "version": "0.51.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-0.51.7.tgz", + "integrity": "sha512-WLadFGSg9RHjlKGFK2WCV7eqKwZYOEOr6WHPmCTE8fBjDUbabsHU4U9J4OePPCIq/hSr0/8EfNPIjHqzXwofrg==", + "requires": { + "@babel/runtime": "^7.10.4" + } + }, "@fluentui/react-focus": { - "version": "7.17.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.1.tgz", - "integrity": "sha512-Nulq2pE4pX6Pf+tGZl8uLp8VfqUzx3elC5v7QvYSBdjnZK8ykitdsa+Sd3PKYWW2EMlzVRSptlzbuJ6JyEDQKQ==", + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.6.tgz", + "integrity": "sha512-JkLWNDe567lhvbnIhbYv9nUWYDIVN06utc3krs0UZBI+A0YZtQmftBtY0ghXo4PSjgozZocdu9sYkkgZOgyRLg==", "requires": { "@fluentui/keyboard-key": "^0.2.12", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "@uifabric/utilities": "^7.33.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", "tslib": "^1.10.0" } }, + "@fluentui/react-icons-northstar": { + "version": "0.51.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-icons-northstar/-/react-icons-northstar-0.51.7.tgz", + "integrity": "sha512-9p0DQcGng+CA/sTnjxxaGWC8CH/OhwZCIEwp3srMeIkPaeWG7jKIOCTjRh87l5XhaeaYds6b88zET7axAHoXvw==", + "requires": { + "@babel/runtime": "^7.10.4", + "@fluentui/accessibility": "^0.51.7", + "@fluentui/react-bindings": "^0.51.7", + "@fluentui/styles": "^0.51.7", + "classnames": "^2.2.6" + } + }, + "@fluentui/react-northstar": { + "version": "0.51.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-northstar/-/react-northstar-0.51.7.tgz", + "integrity": "sha512-dwOUQqCgWqqO7YL/SodXM30ue+PLxdvmU8qv2uWc04XwzckiQuFaPU9kRWI6LgQUaN9VgqglO+CmfgrmLI1PmA==", + "requires": { + "@babel/runtime": "^7.10.4", + "@fluentui/accessibility": "^0.51.7", + "@fluentui/dom-utilities": "^1.1.1", + "@fluentui/keyboard-key": "^0.2.7", + "@fluentui/react-bindings": "^0.51.7", + "@fluentui/react-component-event-listener": "^0.51.7", + "@fluentui/react-component-nesting-registry": "^0.51.7", + "@fluentui/react-component-ref": "^0.51.7", + "@fluentui/react-context-selector": "^0.51.7", + "@fluentui/react-icons-northstar": "^0.51.7", + "@fluentui/react-northstar-styles-renderer": "^0.51.7", + "@fluentui/react-proptypes": "^0.51.7", + "@fluentui/state": "^0.51.7", + "@fluentui/styles": "^0.51.7", + "@popperjs/core": "^2.4.2", + "@uifabric/utilities": "^7.24.5", + "classnames": "^2.2.6", + "compute-scroll-into-view": "1.0.11", + "downshift": "5.0.5", + "lodash": "^4.17.15", + "prop-types": "^15.7.2", + "react-is": "^16.6.3", + "react-transition-group": "^4.3.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + } + } + }, + "@fluentui/react-northstar-fela-renderer": { + "version": "0.51.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-northstar-fela-renderer/-/react-northstar-fela-renderer-0.51.7.tgz", + "integrity": "sha512-/8nSoZVxhgzcK4DWqp0c+2PV2VZybF4I0DhJYVb352wH+tU4PNaL5eP6gP58MHCsO6192KnBYC2MZEg+0aXHlw==", + "requires": { + "@babel/runtime": "^7.10.4", + "@fluentui/react-northstar-styles-renderer": "^0.51.7", + "@fluentui/styles": "^0.51.7", + "css-in-js-utils": "^3.0.0", + "fela": "^10.6.1", + "fela-plugin-embedded": "^10.6.1", + "fela-plugin-fallback-value": "^10.6.1", + "fela-plugin-placeholder-prefixer": "^10.6.1", + "fela-plugin-rtl": "^10.6.1", + "fela-utils": "^10.6.1", + "inline-style-expand-shorthand": "^1.2.0", + "lodash": "^4.17.15", + "react-fela": "^10.6.1", + "stylis": "^3.5.4" + }, + "dependencies": { + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + } + } + }, + "@fluentui/react-northstar-styles-renderer": { + "version": "0.51.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-northstar-styles-renderer/-/react-northstar-styles-renderer-0.51.7.tgz", + "integrity": "sha512-oah7sOstbrbx8guepPpvOmLD65xmwgx9rN0KjogOxDiMYidN4eaEAVl36mQfWs1wE+Mo5iAPRj2eNtqX4bVUqg==", + "requires": { + "@babel/runtime": "^7.10.4", + "@fluentui/styles": "^0.51.7" + } + }, + "@fluentui/react-proptypes": { + "version": "0.51.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-proptypes/-/react-proptypes-0.51.7.tgz", + "integrity": "sha512-gzfNddyRKmZ8qqZkV+wUl58HEySW7o2DzP5mgE0aAMA3qWkyIPRSo/tvMVx4A1AsgeJ2LhNkAHGek8T0D8PA0Q==", + "requires": { + "@babel/runtime": "^7.10.4", + "lodash": "^4.17.15", + "prop-types": "^15.7.2" + }, + "dependencies": { + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + } + } + }, "@fluentui/react-window-provider": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.1.tgz", - "integrity": "sha512-5hvruDyF0uE8+6YN6Y+d2sEzexBadxUNxUjDcDreTPsmtHPwF5FPBYLhoD7T84L5U4YNvKxKh25tYJm6E0GE2w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.2.tgz", + "integrity": "sha512-fGSgL3Vp/+6t1Ysfz21FWZmqsU+iFVxOigvHnm5uKVyyRPwtaabv/F6kQ2y5isLMI2YmJaUd2i0cDJKu8ggrvw==", "requires": { - "@uifabric/set-version": "^7.0.23", + "@uifabric/set-version": "^7.0.24", "tslib": "^1.10.0" } }, - "@fluentui/theme": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.1.tgz", - "integrity": "sha512-cwx8gJ0O9d+Z8g6Lq7BgDgH8XPfSloUSy0GN3fWHJGrDCBPcnmz6/GKbbvxw9PZ2t1iNcAzJEJNT6NyuOOobPA==", + "@fluentui/state": { + "version": "0.51.7", + "resolved": "https://registry.npmjs.org/@fluentui/state/-/state-0.51.7.tgz", + "integrity": "sha512-sTCv3hnEpmWW/hjw+vmloaslNnYmFYeN8J9uJzYBGVi9NKKLvXtMKeoaikAXBVpnmMknl67VCapjauF0NxXDjQ==", "requires": { - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", + "@babel/runtime": "^7.10.4" + } + }, + "@fluentui/styles": { + "version": "0.51.7", + "resolved": "https://registry.npmjs.org/@fluentui/styles/-/styles-0.51.7.tgz", + "integrity": "sha512-u4l6U47KaMM1mO1q5o9ORJLKj2yMTD/c5hwzLaxbFBf9V50aIeNNI9t/Fqphwiu+cft8T0lBLMFqR9kzxWsBIQ==", + "requires": { + "@babel/runtime": "^7.10.4", + "csstype": "^2.6.7", + "lodash": "^4.17.15" + }, + "dependencies": { + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + } + } + }, + "@fluentui/theme": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz", + "integrity": "sha512-o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==", + "requires": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", "tslib": "^1.10.0" } }, @@ -107,9 +378,9 @@ }, "dependencies": { "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "source-map": { @@ -492,9 +763,9 @@ } }, "node-notifier": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", - "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.5.tgz", + "integrity": "sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ==", "dev": true, "requires": { "growly": "^1.3.0", @@ -1515,9 +1786,9 @@ } }, "@microsoft/load-themed-styles": { - "version": "1.10.146", - "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.146.tgz", - "integrity": "sha512-qQZ4J58J2VMe/XRpr2YRDusQB9uRBJ1SjJB76x7uH94t9hqxjVVxn2qL99Bl+ERbfrACZ9peGn2uamt4ponqZQ==" + "version": "1.10.165", + "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.165.tgz", + "integrity": "sha512-3xMvFn1q27wctE701ZmdKDKgkj4b4DMHaJ8hnKk+c/E3Zvoo/5lviPZ0IGkD+zyfe7GMSp2kONalvX7Ez7HaKA==" }, "@microsoft/loader-cased-file": { "version": "1.11.0", @@ -1567,6 +1838,11 @@ "isomorphic-fetch": "^2.2.1" } }, + "@microsoft/microsoft-graph-types": { + "version": "1.36.0", + "resolved": "https://registry.npmjs.org/@microsoft/microsoft-graph-types/-/microsoft-graph-types-1.36.0.tgz", + "integrity": "sha512-SIcqO/qhvCGqjazeARjxPiUNF1wGSVW2Av6C6t/ELAPTE3TAj3cKMibdiaEm90F/Ep9SHVH7PJpE4/D+0IynHQ==" + }, "@microsoft/node-core-library": { "version": "3.15.1", "resolved": "https://registry.npmjs.org/@microsoft/node-core-library/-/node-core-library-3.15.1.tgz", @@ -1682,9 +1958,9 @@ } }, "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "node-fetch": { @@ -1760,9 +2036,9 @@ "dev": true }, "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "uglify-js": { @@ -2408,7 +2684,6 @@ "version": "1.11.0", "resolved": "https://registry.npmjs.org/@microsoft/sp-extension-base/-/sp-extension-base-1.11.0.tgz", "integrity": "sha512-WHauOwg9L8gCLI9yMZGRMAC5Z23fzKEmp2KtMbm3rbQ1Diu2pm4GNWPFsqQ8K0ryWAqR3xftvsEUXm3448rF9g==", - "dev": true, "requires": { "@microsoft/decorators": "1.11.0", "@microsoft/sp-component-base": "1.11.0", @@ -2438,6 +2713,22 @@ "tslib": "~1.10.0" } }, + "@microsoft/sp-listview-extensibility": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-listview-extensibility/-/sp-listview-extensibility-1.11.0.tgz", + "integrity": "sha512-R25++HWbni8zJ+RKqHROhJOcs4eTfI5Sf2melDJSP7ikTmYzRTgOxMWI8TCx4FM5p3/lufiLLYGGIpjm6ebWNg==", + "requires": { + "@microsoft/decorators": "1.11.0", + "@microsoft/sp-component-base": "1.11.0", + "@microsoft/sp-core-library": "1.11.0", + "@microsoft/sp-extension-base": "1.11.0", + "@microsoft/sp-http": "1.11.0", + "@microsoft/sp-lodash-subset": "1.11.0", + "@microsoft/sp-module-interfaces": "1.11.0", + "@microsoft/sp-page-context": "1.11.0", + "@types/webpack-env": "1.13.1" + } + }, "@microsoft/sp-loader": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/@microsoft/sp-loader/-/sp-loader-1.11.0.tgz", @@ -2881,6 +3172,51 @@ } } }, + "@pnp/graph": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@pnp/graph/-/graph-2.4.0.tgz", + "integrity": "sha512-PE3C6hCEOI0SzXg5fHFRuJhV8koLih0PiwFGlbXUdg/nbYTGSKOS7eoTbjaMAJVBBicZ/x3O3SYwozLaQ279Vw==", + "requires": { + "@microsoft/microsoft-graph-types": "^1.35.0", + "@pnp/common": "2.4.0", + "@pnp/logging": "2.4.0", + "@pnp/odata": "2.4.0", + "tslib": "2.2.0" + }, + "dependencies": { + "@pnp/common": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@pnp/common/-/common-2.4.0.tgz", + "integrity": "sha512-YicQs3LhCTkF2pB6mURcF78bKe+0bqr50o0gh9wh6P3tXOb5HTPKDd9y8hkjfYRXMEdiGACvckuI7SWG4h0uhg==", + "requires": { + "tslib": "2.2.0" + } + }, + "@pnp/logging": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@pnp/logging/-/logging-2.4.0.tgz", + "integrity": "sha512-gWbxf3jdWavNjuAuruTz71eRDCKPEgrdxv/g1CoLzel9mr+NVYwQQ3+YLrrTv5XCBWkqNirb6Yhwy39p4mqzpQ==", + "requires": { + "tslib": "2.2.0" + } + }, + "@pnp/odata": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@pnp/odata/-/odata-2.4.0.tgz", + "integrity": "sha512-7d3T+I7LTPxCr/evLlXV6nfv1ivVo6HmT0eyi6HIQezR0td609MIVA2eUInNY68HpVfmUZ6biKwPKDigW193iA==", + "requires": { + "@pnp/common": "2.4.0", + "@pnp/logging": "2.4.0", + "tslib": "2.2.0" + } + }, + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + } + } + }, "@pnp/logging": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/@pnp/logging/-/logging-2.0.8.tgz", @@ -2948,129 +3284,180 @@ } }, "@pnp/spfx-controls-react": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/@pnp/spfx-controls-react/-/spfx-controls-react-1.19.0.tgz", - "integrity": "sha512-W3PS6I8NsdbOZjE9I9djloYutQW17QHd4nT7jFwPyJFoxnt1MDfWyN6nrPhaeGnnPde3t3TlUbWP4HKLXChFiw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@pnp/spfx-controls-react/-/spfx-controls-react-2.4.0.tgz", + "integrity": "sha512-JsdXOcGoD1gUYdzVqGcv6PcpuDWPx2ONDTI0y+qvZWqt482rQSDqYBba96WUZ4Gp9Uuto0gg8JpYFhUHECXbvA==", "requires": { - "@pnp/common": "1.0.1", - "@pnp/logging": "1.0.1", - "@pnp/odata": "1.0.1", - "@pnp/sp": "1.0.1", + "@fluentui/react-northstar": "^0.51.3", + "@microsoft/decorators": "1.11.0", + "@microsoft/sp-core-library": "1.11.0", + "@microsoft/sp-listview-extensibility": "1.11.0", + "@microsoft/sp-lodash-subset": "1.11.0", + "@microsoft/sp-office-ui-fabric-core": "1.11.0", + "@microsoft/sp-webpart-base": "1.11.0", + "@pnp/sp": "2.0.6", "@pnp/telemetry-js": "2.0.0", - "@types/chart.js": "2.7.40", + "@uifabric/icons": "7.3.0", "chart.js": "2.7.3", - "color": "^3.1.2", + "color": "3.1.2", "lodash": "4.17.13", - "office-ui-fabric-react": "5.131.0", - "react-quill": "1.3.3" + "office-ui-fabric-react": "6.214.0", + "react": "16.8.5", + "react-accessible-accordion": "^3.3.3", + "react-dom": "16.8.5", + "react-quill": "1.3.5" }, "dependencies": { "@pnp/common": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@pnp/common/-/common-1.0.1.tgz", - "integrity": "sha1-T+cuONHexjlQSvxxQclSEh5YqOk=", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@pnp/common/-/common-2.0.6.tgz", + "integrity": "sha512-/NghaEt1Q03+f1iAniRpxlciXmnTqvMFIdtjcA4HX80xVOtTiZT0Gz1GAjH7ebzBO1YtSiHri013/bhZM7beRQ==", "requires": { - "tslib": "1.8.1" + "tslib": "1.10.0" } }, "@pnp/logging": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@pnp/logging/-/logging-1.0.1.tgz", - "integrity": "sha1-Nl1/dmiW943xIMgd9D3dlrCgojY=", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@pnp/logging/-/logging-2.0.6.tgz", + "integrity": "sha512-Jd63mqEarpuFsvy2EKNZpvsRHMaF1Ozo9/qHOZeKiSiZIvkNu4W41KgCD3BTS48saFY4870L5/gXzVo9Rkvqug==", "requires": { - "tslib": "1.8.1" + "tslib": "1.10.0" } }, "@pnp/odata": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@pnp/odata/-/odata-1.0.1.tgz", - "integrity": "sha1-yE5s/MV2VdZj2IEFlgGT8yiOwAI=", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@pnp/odata/-/odata-2.0.6.tgz", + "integrity": "sha512-opU8Ifwmb/wbHtfmbBhsd2CzJhtAppNd7fbnW8dFOouCWa/udvsAc5NMuiT5sL8G9DDLQsnxZCxi83e5cao3aA==", "requires": { - "tslib": "1.8.1" + "@pnp/common": "2.0.6", + "@pnp/logging": "2.0.6", + "tslib": "1.10.0" } }, "@pnp/sp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@pnp/sp/-/sp-1.0.1.tgz", - "integrity": "sha1-5XXJVqZWk9KRkI4yEdzWbc5KFWM=", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@pnp/sp/-/sp-2.0.6.tgz", + "integrity": "sha512-AForkvQjGogym3z0bBS7XUZ7sNQDLuyE4CYAZBLUtsBS6BMr4r3QXpCSmFChgD6F8lG265Aw6IMnPzgiBDbQhQ==", "requires": { - "tslib": "1.8.1" + "@pnp/common": "2.0.6", + "@pnp/logging": "2.0.6", + "@pnp/odata": "2.0.6", + "tslib": "1.10.0" } }, - "@uifabric/icons": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-5.8.0.tgz", - "integrity": "sha512-EUhKxYlIPJshg4fQvCNTYSk0p7RhzEWeEAJBV4sao1SKmN0/pZBnkLbDqWjU5VUfdwZZYiIdaLRpM+pyzhniZw==", + "@uifabric/foundation": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-0.8.3.tgz", + "integrity": "sha512-r3WhRj7Out8QAOe50BGA36R8zgRPy0D0GNPuwFK9BB9oIidf91ycj7/miY8U0TZRZi5fB3Kg+dy/uxSDfgC6Og==", "requires": { - "@uifabric/styling": ">=5.30.1 <6.0.0", + "@uifabric/set-version": "^1.1.3", + "@uifabric/styling": "^6.50.7", + "@uifabric/utilities": "^6.41.7", "tslib": "^1.7.1" } }, "@uifabric/merge-styles": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-5.17.1.tgz", - "integrity": "sha512-4/EtO6Ns7kNtKxC+6InShwVQeNQEDT5H8Ex7m/i4OrT9i7csje4YwBQPkkpm31qJwEZEyD7bbAwyLezI63sLhg==", + "version": "6.19.4", + "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-6.19.4.tgz", + "integrity": "sha512-bjQdDHxmRIZVPwL//MtErODhEfcRJ2y+zJXoIWNh3T8JfAepeRDdoJ/pGNnnyJxA/AHMtlWt0IgMaz150/nfAA==", + "requires": { + "@uifabric/set-version": "^1.1.3", + "tslib": "^1.7.1" + } + }, + "@uifabric/set-version": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-1.1.3.tgz", + "integrity": "sha512-IYpwVIuN7MJOeiWzZzr9AmFSvA5zc6gJn4fNHtEFIQnNB8WVWIcYrvx8Tbf7wWj9MvhdHYp70F054zZlHbL/Ag==", "requires": { "tslib": "^1.7.1" } }, "@uifabric/styling": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-5.37.0.tgz", - "integrity": "sha512-3hC0itW/hWSD5J4uANzUKk8XVGWUNkU+VLjEjWsQ6i5lvwFGaanR6Qy0bTkZdFGqFWMXe91CkBHV7HnvEx7tCA==", + "version": "6.50.7", + "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-6.50.7.tgz", + "integrity": "sha512-F2aBiB30ZiFxlZzy5hzLXODWOl6jySvPFAsoaTofk37xucHiunBLZYjX6WkfZrCWiyGPva+DLssNcwly9ZHVjg==", "requires": { "@microsoft/load-themed-styles": "^1.7.13", - "@uifabric/merge-styles": ">=5.17.1 <6.0.0", - "@uifabric/utilities": ">=5.34.2 <6.0.0", + "@uifabric/merge-styles": "^6.19.4", + "@uifabric/set-version": "^1.1.3", + "@uifabric/utilities": "^6.41.7", "tslib": "^1.7.1" } }, "@uifabric/utilities": { - "version": "5.34.3", - "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-5.34.3.tgz", - "integrity": "sha512-6dERFkNNCUrPUuNG1nxlDDvt7DN5hxb41zp9AmKhK5cXZTYCblmlLBvb/qyielCnicfoagoA+lqH9NgnSE8u/A==", + "version": "6.45.2", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-6.45.2.tgz", + "integrity": "sha512-JiC92OjMOkVoiIAeS2b3R9B1XQU0cJ5bDr9B7VvrxlwKe1W9xMtVsCer7b8gNCU5NFNYBN5ckM3Q7x2Zs5cH0A==", "requires": { - "@uifabric/merge-styles": ">=5.17.1 <6.0.0", + "@uifabric/merge-styles": "^6.19.4", + "@uifabric/set-version": "^1.1.3", "prop-types": "^15.5.10", "tslib": "^1.7.1" } }, + "color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", + "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, "office-ui-fabric-react": { - "version": "5.131.0", - "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-5.131.0.tgz", - "integrity": "sha512-QOYu1uf92qhTTIlBAj8teKvRpCmpliRZjynYtgeeUbDm4C4GtXdb/O1rPNFsfT0PNtPC8dCNeQ7/CXjQenUkyw==", + "version": "6.214.0", + "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-6.214.0.tgz", + "integrity": "sha512-sYqi0bhZSdEWpQAsHSropoHm0SxLJkdvQDE+3reSnP+rWABD+WCLvMxRuunoQIFjZKDHZ1f+w+L6Nr7nXc+wbQ==", "requires": { "@microsoft/load-themed-styles": "^1.7.13", - "@uifabric/icons": ">=5.8.0 <6.0.0", - "@uifabric/merge-styles": ">=5.17.1 <6.0.0", - "@uifabric/styling": ">=5.36.0 <6.0.0", - "@uifabric/utilities": ">=5.34.2 <6.0.0", + "@uifabric/foundation": "^0.8.3", + "@uifabric/icons": "^6.5.5", + "@uifabric/merge-styles": "^6.19.4", + "@uifabric/set-version": "^1.1.3", + "@uifabric/styling": "^6.50.7", + "@uifabric/utilities": "^6.45.2", "prop-types": "^15.5.10", "tslib": "^1.7.1" + }, + "dependencies": { + "@uifabric/icons": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-6.5.5.tgz", + "integrity": "sha512-cGjzdpT0jzQ2RJvzlCVTrewaHCi4rb+ZNL2LWoceMi+5h196Y32qJwKMsc0ggR6u5CjMrzBiAxUFNppBSCutdA==", + "requires": { + "@uifabric/set-version": "^1.1.3", + "@uifabric/styling": "^6.50.7", + "tslib": "^1.7.1" + } + } } - }, - "tslib": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.8.1.tgz", - "integrity": "sha1-aUavLR1lGnsYY7Ux1uWvpBqkTqw=" } } }, "@pnp/spfx-property-controls": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/@pnp/spfx-property-controls/-/spfx-property-controls-1.19.0.tgz", - "integrity": "sha512-C1mkTy8lo+s9NgW9vgkdhP8ZU0SsGxkWSzZ6xNjt7ZvV7ghSLob+LpcGxq3QSHv9hd1BrRSZNJt7A5FStXavSg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pnp/spfx-property-controls/-/spfx-property-controls-2.5.0.tgz", + "integrity": "sha512-GQNSeKlhakj1+F7iZm1zOF++JmHWkFQvrz8hGnDUic8uLM3IE8NKoTpwTe8OCwuluKeOjPKnsfzA2Bxs2/H/Og==", "requires": { - "@pnp/common": "^1.2.8", - "@pnp/logging": "^1.2.8", - "@pnp/odata": "^1.2.8", - "@pnp/sp": "^1.2.8", - "@pnp/sp-clientsvc": "^1.2.8", - "@pnp/sp-taxonomy": "^1.2.8", + "@microsoft/sp-core-library": "1.11.0", + "@microsoft/sp-lodash-subset": "1.11.0", + "@microsoft/sp-office-ui-fabric-core": "1.11.0", + "@microsoft/sp-webpart-base": "1.11.0", + "@pnp/common": "1.3.11", + "@pnp/logging": "1.3.11", + "@pnp/odata": "1.3.11", + "@pnp/sp": "1.3.11", + "@pnp/sp-clientsvc": "1.3.11", + "@pnp/sp-taxonomy": "1.3.11", "@pnp/telemetry-js": "2.0.0", - "lodash.omit": "^4.5.0", - "office-ui-fabric-react": "5.131.0", - "react-ace": "5.8.0" + "@uifabric/icons": "7.5.17", + "lodash.omit": "4.5.0", + "markdown-to-jsx": "^6.11.4", + "office-ui-fabric-react": "6.214.0", + "react": "16.8.5", + "react-ace": "5.8.0", + "react-dom": "16.8.5" }, "dependencies": { "@pnp/common": { @@ -3106,42 +3493,87 @@ "tslib": "1.10.0" } }, - "@uifabric/icons": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-5.8.0.tgz", - "integrity": "sha512-EUhKxYlIPJshg4fQvCNTYSk0p7RhzEWeEAJBV4sao1SKmN0/pZBnkLbDqWjU5VUfdwZZYiIdaLRpM+pyzhniZw==", + "@uifabric/foundation": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-0.8.3.tgz", + "integrity": "sha512-r3WhRj7Out8QAOe50BGA36R8zgRPy0D0GNPuwFK9BB9oIidf91ycj7/miY8U0TZRZi5fB3Kg+dy/uxSDfgC6Og==", "requires": { - "@uifabric/styling": ">=5.30.1 <6.0.0", + "@uifabric/set-version": "^1.1.3", + "@uifabric/styling": "^6.50.7", + "@uifabric/utilities": "^6.41.7", "tslib": "^1.7.1" + }, + "dependencies": { + "@uifabric/set-version": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-1.1.3.tgz", + "integrity": "sha512-IYpwVIuN7MJOeiWzZzr9AmFSvA5zc6gJn4fNHtEFIQnNB8WVWIcYrvx8Tbf7wWj9MvhdHYp70F054zZlHbL/Ag==", + "requires": { + "tslib": "^1.7.1" + } + }, + "@uifabric/styling": { + "version": "6.50.7", + "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-6.50.7.tgz", + "integrity": "sha512-F2aBiB30ZiFxlZzy5hzLXODWOl6jySvPFAsoaTofk37xucHiunBLZYjX6WkfZrCWiyGPva+DLssNcwly9ZHVjg==", + "requires": { + "@microsoft/load-themed-styles": "^1.7.13", + "@uifabric/merge-styles": "^6.19.4", + "@uifabric/set-version": "^1.1.3", + "@uifabric/utilities": "^6.41.7", + "tslib": "^1.7.1" + } + } + } + }, + "@uifabric/icons": { + "version": "7.5.17", + "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.5.17.tgz", + "integrity": "sha512-2S1kse0gtseTuV2r59iWukLxxoOJ6GgP2Yhxt9oxzaP9QubpYdxCUepvJmfPQQvvy4GELdykDUWQ6/hbzliJyw==", + "requires": { + "@uifabric/set-version": "^7.0.23", + "@uifabric/styling": "^7.16.18", + "tslib": "^1.10.0" } }, "@uifabric/merge-styles": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-5.17.1.tgz", - "integrity": "sha512-4/EtO6Ns7kNtKxC+6InShwVQeNQEDT5H8Ex7m/i4OrT9i7csje4YwBQPkkpm31qJwEZEyD7bbAwyLezI63sLhg==", + "version": "6.19.4", + "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-6.19.4.tgz", + "integrity": "sha512-bjQdDHxmRIZVPwL//MtErODhEfcRJ2y+zJXoIWNh3T8JfAepeRDdoJ/pGNnnyJxA/AHMtlWt0IgMaz150/nfAA==", "requires": { + "@uifabric/set-version": "^1.1.3", "tslib": "^1.7.1" - } - }, - "@uifabric/styling": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-5.37.0.tgz", - "integrity": "sha512-3hC0itW/hWSD5J4uANzUKk8XVGWUNkU+VLjEjWsQ6i5lvwFGaanR6Qy0bTkZdFGqFWMXe91CkBHV7HnvEx7tCA==", - "requires": { - "@microsoft/load-themed-styles": "^1.7.13", - "@uifabric/merge-styles": ">=5.17.1 <6.0.0", - "@uifabric/utilities": ">=5.34.2 <6.0.0", - "tslib": "^1.7.1" + }, + "dependencies": { + "@uifabric/set-version": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-1.1.3.tgz", + "integrity": "sha512-IYpwVIuN7MJOeiWzZzr9AmFSvA5zc6gJn4fNHtEFIQnNB8WVWIcYrvx8Tbf7wWj9MvhdHYp70F054zZlHbL/Ag==", + "requires": { + "tslib": "^1.7.1" + } + } } }, "@uifabric/utilities": { - "version": "5.34.3", - "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-5.34.3.tgz", - "integrity": "sha512-6dERFkNNCUrPUuNG1nxlDDvt7DN5hxb41zp9AmKhK5cXZTYCblmlLBvb/qyielCnicfoagoA+lqH9NgnSE8u/A==", + "version": "6.45.2", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-6.45.2.tgz", + "integrity": "sha512-JiC92OjMOkVoiIAeS2b3R9B1XQU0cJ5bDr9B7VvrxlwKe1W9xMtVsCer7b8gNCU5NFNYBN5ckM3Q7x2Zs5cH0A==", "requires": { - "@uifabric/merge-styles": ">=5.17.1 <6.0.0", + "@uifabric/merge-styles": "^6.19.4", + "@uifabric/set-version": "^1.1.3", "prop-types": "^15.5.10", "tslib": "^1.7.1" + }, + "dependencies": { + "@uifabric/set-version": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-1.1.3.tgz", + "integrity": "sha512-IYpwVIuN7MJOeiWzZzr9AmFSvA5zc6gJn4fNHtEFIQnNB8WVWIcYrvx8Tbf7wWj9MvhdHYp70F054zZlHbL/Ag==", + "requires": { + "tslib": "^1.7.1" + } + } } }, "adal-angular": { @@ -3150,17 +3582,51 @@ "integrity": "sha1-bpNuDkH5HTsqiOf/ypwvb29WLMQ=" }, "office-ui-fabric-react": { - "version": "5.131.0", - "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-5.131.0.tgz", - "integrity": "sha512-QOYu1uf92qhTTIlBAj8teKvRpCmpliRZjynYtgeeUbDm4C4GtXdb/O1rPNFsfT0PNtPC8dCNeQ7/CXjQenUkyw==", + "version": "6.214.0", + "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-6.214.0.tgz", + "integrity": "sha512-sYqi0bhZSdEWpQAsHSropoHm0SxLJkdvQDE+3reSnP+rWABD+WCLvMxRuunoQIFjZKDHZ1f+w+L6Nr7nXc+wbQ==", "requires": { "@microsoft/load-themed-styles": "^1.7.13", - "@uifabric/icons": ">=5.8.0 <6.0.0", - "@uifabric/merge-styles": ">=5.17.1 <6.0.0", - "@uifabric/styling": ">=5.36.0 <6.0.0", - "@uifabric/utilities": ">=5.34.2 <6.0.0", + "@uifabric/foundation": "^0.8.3", + "@uifabric/icons": "^6.5.5", + "@uifabric/merge-styles": "^6.19.4", + "@uifabric/set-version": "^1.1.3", + "@uifabric/styling": "^6.50.7", + "@uifabric/utilities": "^6.45.2", "prop-types": "^15.5.10", "tslib": "^1.7.1" + }, + "dependencies": { + "@uifabric/icons": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-6.5.5.tgz", + "integrity": "sha512-cGjzdpT0jzQ2RJvzlCVTrewaHCi4rb+ZNL2LWoceMi+5h196Y32qJwKMsc0ggR6u5CjMrzBiAxUFNppBSCutdA==", + "requires": { + "@uifabric/set-version": "^1.1.3", + "@uifabric/styling": "^6.50.7", + "tslib": "^1.7.1" + } + }, + "@uifabric/set-version": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-1.1.3.tgz", + "integrity": "sha512-IYpwVIuN7MJOeiWzZzr9AmFSvA5zc6gJn4fNHtEFIQnNB8WVWIcYrvx8Tbf7wWj9MvhdHYp70F054zZlHbL/Ag==", + "requires": { + "tslib": "^1.7.1" + } + }, + "@uifabric/styling": { + "version": "6.50.7", + "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-6.50.7.tgz", + "integrity": "sha512-F2aBiB30ZiFxlZzy5hzLXODWOl6jySvPFAsoaTofk37xucHiunBLZYjX6WkfZrCWiyGPva+DLssNcwly9ZHVjg==", + "requires": { + "@microsoft/load-themed-styles": "^1.7.13", + "@uifabric/merge-styles": "^6.19.4", + "@uifabric/set-version": "^1.1.3", + "@uifabric/utilities": "^6.41.7", + "tslib": "^1.7.1" + } + } } } } @@ -3203,9 +3669,9 @@ }, "dependencies": { "@types/node": { - "version": "10.17.51", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.51.tgz", - "integrity": "sha512-KANw+MkL626tq90l++hGelbl67irOJzGhUJk6a1Bt8QHOeh9tztJx+L0AqttraWKinmZn7Qi5lJZJzx45Gq0dg==", + "version": "10.17.58", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.58.tgz", + "integrity": "sha512-Dn5RBxLohjdHFj17dVVw3rtrZAeXeWg+LQfvxDIW/fdPkSiuQk7h3frKMYtsQhtIW42wkErDcy9UMVxhGW4O7w==", "dev": true }, "minimist": { @@ -3237,9 +3703,9 @@ }, "dependencies": { "@types/node": { - "version": "10.17.51", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.51.tgz", - "integrity": "sha512-KANw+MkL626tq90l++hGelbl67irOJzGhUJk6a1Bt8QHOeh9tztJx+L0AqttraWKinmZn7Qi5lJZJzx45Gq0dg==", + "version": "10.17.58", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.58.tgz", + "integrity": "sha512-Dn5RBxLohjdHFj17dVVw3rtrZAeXeWg+LQfvxDIW/fdPkSiuQk7h3frKMYtsQhtIW42wkErDcy9UMVxhGW4O7w==", "dev": true } } @@ -3262,6 +3728,16 @@ "integrity": "sha512-NsEzBVa5aMgn/n79piyJtpUQFzJ97tB2R2r8PSJlLnMA6LJmchKuv7ATN+/nZH/3QRd/+uFXEq07/i/ajsqVGQ==", "dev": true }, + "@popperjs/core": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.2.tgz", + "integrity": "sha512-VZMYa7+fXHdwIq1TDhSXoVmSPEGM/aa+6Aiq3nVVJ9bXr24zScr+NlKFKC3iPljA7ho/GAZr+d2jOf5GIRC30Q==" + }, + "@quid/stylis-plugin-focus-visible": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@quid/stylis-plugin-focus-visible/-/stylis-plugin-focus-visible-4.0.0.tgz", + "integrity": "sha512-dS4Vl1D4NHN4gAiWxUQLPAN4k2NMmNpfujuAPU2JF5P/XX8OUD7svhM8f9TudWr8dVdWYjQEAMaRtSUcf4720w==" + }, "@types/adal-angular": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@types/adal-angular/-/adal-angular-1.0.1.tgz", @@ -3291,10 +3767,13 @@ "integrity": "sha1-ox10JBprHtu5c8822XooloNKUfk=", "dev": true }, - "@types/chart.js": { - "version": "2.7.40", - "resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.7.40.tgz", - "integrity": "sha512-yC8Ff5vsHFTClGCWXoAmNCh33cNYfP2/yFANBLjLiso4jTKsLfQ0KQuBEuKxOWTRoOSLyT6v+ZYcvz0uonvvsA==" + "@types/classnames": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-zeOWb0JGBoVmlQoznvqXbE0tEC/HONsnoUNH19Hc96NFsTAwTXbTqb8FMYkru1F/iqp7a18Ws3nWJvtA1sHD1A==", + "requires": { + "classnames": "*" + } }, "@types/es6-promise": { "version": "0.0.33", @@ -3302,9 +3781,9 @@ "integrity": "sha512-HKJFVLCGrWQ/1unEw8JdaTxu6n3EUxmwTxJ6D0O1x0gD8joCsgoTWxEgevb7fp2XIogNjof3KEd+3bJoGne/nw==" }, "@types/express-serve-static-core": { - "version": "4.17.18", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz", - "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==", + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz", + "integrity": "sha512-DJOSHzX7pCiSElWaGR8kCprwibCB/3yW6vcT8VG3P0SJjnv19gnWG/AZMfM60Xj/YJIp/YCaDHyvzsFVeniARA==", "dev": true, "requires": { "@types/node": "*", @@ -3397,9 +3876,9 @@ "dev": true }, "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==", "dev": true }, "@types/mocha": { @@ -3457,9 +3936,9 @@ "dev": true }, "@types/qs": { - "version": "6.9.5", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.5.tgz", - "integrity": "sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ==", + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==", "dev": true }, "@types/quill": { @@ -3546,10 +4025,21 @@ "dev": true }, "@types/tapable": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz", - "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==", - "dev": true + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-2.2.2.tgz", + "integrity": "sha512-ujqOVJEeLcwpDVJPnp/k3u1UXmTKq5urJq9fO8aUKg8Vlel5RNOFbVKEfqfh6wGfF/M+HiTJlBJMLC1aDfyf0Q==", + "dev": true, + "requires": { + "tapable": "^2.2.0" + }, + "dependencies": { + "tapable": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", + "dev": true + } + } }, "@types/terser-webpack-plugin": { "version": "1.2.1", @@ -3571,9 +4061,9 @@ } }, "@types/uglify-js": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz", - "integrity": "sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.0.tgz", + "integrity": "sha512-EGkrJD5Uy+Pg0NUR8uA4bJ5WMfljyad0G+784vLCNUkD+QwOJXUbBYExXfVGf7YtyzdQp3L/XMYcliB987kL5Q==", "dev": true, "requires": { "source-map": "^0.6.1" @@ -3710,14 +4200,14 @@ "integrity": "sha1-LrHQCl5Ow/pYx2r94S4YK2bcXBw=" }, "@uifabric/foundation": { - "version": "7.9.21", - "resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.21.tgz", - "integrity": "sha512-z58pcC0hJr6S0iYLxNFoqfrfLIMxbSxFHRirk5LDT2HXbiVIYbJwbK4O0InS+sz3chdx8GGSdIUz7muXeT/D+A==", + "version": "7.9.26", + "resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.26.tgz", + "integrity": "sha512-1FLTb+jlH/Tuel2L9wT/zLl5ZW6W4Lbjrs5VUVjv81vWxzznvPnTf8+Ew0qkzaH7xDuMNMl7okswhV0IfJyheg==", "requires": { - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "@uifabric/utilities": "^7.33.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", "tslib": "^1.10.0" } }, @@ -3732,54 +4222,54 @@ } }, "@uifabric/merge-styles": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.1.tgz", - "integrity": "sha512-yqUwmk62Kgu216QNPE9vOfS3h0kiSbTvoqM5QcZi+IzpqsBOlzZx3A9Er9UiDaqHRd5lsYF5pO/jeUULmBWF/A==", + "version": "7.19.2", + "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.2.tgz", + "integrity": "sha512-kTlhwglDqwVgIaJq+0yXgzi65plGhmFcPrfme/rXUGMJZoU+qlGT5jXj5d3kuI59p6VB8jWEg9DAxHozhYeu0g==", "requires": { - "@uifabric/set-version": "^7.0.23", + "@uifabric/set-version": "^7.0.24", "tslib": "^1.10.0" } }, "@uifabric/react-hooks": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.13.9.tgz", - "integrity": "sha512-VtDg2b3ypYXX7MLp1STk1Fj6ZIeZktXnm0hu1Os/pGvq6xkuLRly5XP6ZSHitm8K7ZcMo48CcNL8smmiXprBQg==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.14.0.tgz", + "integrity": "sha512-Ndu/DEKHF4gFXEZa2AGgSkdWaj+njVrsSyXbkWRh2UZReFWnH1LMko9p/ZCwk1i9kAd5CUmyIfURUzIEya9YCg==", "requires": { - "@fluentui/react-window-provider": "^1.0.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", + "@fluentui/react-window-provider": "^1.0.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", "tslib": "^1.10.0" } }, "@uifabric/set-version": { - "version": "7.0.23", - "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.23.tgz", - "integrity": "sha512-9E+YKtnH2kyMKnK9XZZsqyM8OCxEJIIfxtaThTlQpYOzrWAGJxQADFbZ7+Usi0U2xHnWNPFROjq+B9ocEzhqMA==", + "version": "7.0.24", + "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz", + "integrity": "sha512-t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==", "requires": { "tslib": "^1.10.0" } }, "@uifabric/styling": { - "version": "7.16.19", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz", - "integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz", + "integrity": "sha512-fXComDtGV7dHF4rP4cLHwI6fC+1f/nvPavpMBz4IQdySwixta9TVMKbzt0OA6i0mJztqZCVAd27F/sl9R/JmcQ==", "requires": { - "@fluentui/theme": "^1.7.1", + "@fluentui/theme": "^1.7.4", "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", "tslib": "^1.10.0" } }, "@uifabric/utilities": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.2.tgz", - "integrity": "sha512-v2c3IUJdpru/hoGNOwIW549O5D4XBAc5sLpB7RREGI5ywoWuIJlNyYtBEGOwhAY62J2blj11qi86Ep+oZDM/Kw==", + "version": "7.33.5", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", + "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", "requires": { - "@fluentui/dom-utilities": "^1.1.1", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", + "@fluentui/dom-utilities": "^1.1.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", "prop-types": "^15.7.2", "tslib": "^1.10.0" } @@ -3793,40 +4283,6 @@ "@uifabric/set-version": "^7.0.2", "office-ui-fabric-react": "^7.29.2", "tslib": "^1.7.1" - }, - "dependencies": { - "@uifabric/icons": { - "version": "7.5.18", - "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.5.18.tgz", - "integrity": "sha512-gLPEccWlTER9NiXcOHZ+dSJ3tgLAQ4mTf3hTlKV7e7dKBTl95jzcemG5S2NJQ7xWPTH3+5K1Bpd+nqZo9EJw3w==", - "dev": true, - "requires": { - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "tslib": "^1.10.0" - } - }, - "office-ui-fabric-react": { - "version": "7.157.2", - "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.157.2.tgz", - "integrity": "sha512-qx6NdIFNz3MBflBPIwuqjwksirFWretVPNuboG9m1/ewuvM/r6c6F3kNBBOX59iWSzidS823Q48DP4DouJIP6A==", - "dev": true, - "requires": { - "@fluentui/date-time-utilities": "^7.9.0", - "@fluentui/react-focus": "^7.17.1", - "@fluentui/react-window-provider": "^1.0.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/foundation": "^7.9.21", - "@uifabric/icons": "^7.5.18", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/react-hooks": "^7.13.9", - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "@uifabric/utilities": "^7.33.2", - "prop-types": "^15.7.2", - "tslib": "^1.10.0" - } - } } }, "@webassemblyjs/ast": { @@ -4512,9 +4968,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } @@ -4580,9 +5036,9 @@ }, "dependencies": { "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true } } @@ -4967,9 +5423,9 @@ } }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "base": { "version": "0.11.2", @@ -5094,9 +5550,9 @@ "dev": true }, "bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", "dev": true }, "body-parser": { @@ -5337,16 +5793,16 @@ } }, "browserslist": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.1.tgz", - "integrity": "sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA==", + "version": "4.16.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.5.tgz", + "integrity": "sha512-C2HAjrM1AI/djrpAUU/tr4pml1DqLIzJKSLDBXBrNErl9ZCCTXdhwxdJjYc16953+mBWf7Lw+uUJgpgb8cN71A==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001173", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.634", + "caniuse-lite": "^1.0.30001214", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.719", "escalade": "^3.1.1", - "node-releases": "^1.1.69" + "node-releases": "^1.1.71" } }, "bser": { @@ -5449,9 +5905,9 @@ } }, "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "yallist": { @@ -5559,9 +6015,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001181", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001181.tgz", - "integrity": "sha512-m5ul/ARCX50JB8BSNM+oiPmQrR5UmngaQ3QThTTp5HcIIQGP/nPBs82BYLE+tigzm3VW+F4BJIhUyaVtEweelQ==", + "version": "1.0.30001214", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001214.tgz", + "integrity": "sha512-O2/SCpuaU3eASWVaesQirZv1MSjUNOvmugaD8zNSJqw6Vv5SGwoOpA9LJs3pNPfM745nxqPvfZY3MQKY4AKHYg==", "dev": true }, "capture-exit": { @@ -5679,13 +6135,10 @@ "dev": true }, "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true }, "ci-info": { "version": "1.6.0", @@ -5727,9 +6180,9 @@ } }, "classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" }, "clean-css": { "version": "4.2.1", @@ -5764,46 +6217,19 @@ } }, "cli-table": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.4.tgz", - "integrity": "sha512-1vinpnX/ZERcmE443i3SZTmU5DF0rPO9DrL4I2iVAllhxzCM9SzPlHnz19fsZB78htkKZvYBvj6SZ6vXnaxmTA==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.6.tgz", + "integrity": "sha512-ZkNZbnZjKERTY5NwC2SeMeLeifSPq/pubeRoTpdr3WchLlnZg6hEgvHkK5zL7KNFdd9PmHN8lxrENUwI3cE8vQ==", "dev": true, "requires": { - "chalk": "^2.4.1", - "string-width": "^4.2.0" + "colors": "1.0.3" }, "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } } } }, @@ -5911,6 +6337,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "dev": true, "requires": { "color-convert": "^1.9.1", "color-string": "^1.5.4" @@ -5937,9 +6364,9 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "color-string": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", - "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", + "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", "requires": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" @@ -5952,9 +6379,9 @@ "dev": true }, "colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", "dev": true }, "colors": { @@ -6013,6 +6440,11 @@ "vary": "~1.1.2" } }, + "compute-scroll-into-view": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.11.tgz", + "integrity": "sha512-uUnglJowSe0IPmWOdDtrlHXof5CTIJitfJEyITHBW6zDVOGu9Pjk5puaLM73SLcwak0L4hEjO7Td88/a6P5i7A==" + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -6149,13 +6581,21 @@ "dev": true }, "copy-props": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.4.tgz", - "integrity": "sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", + "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", "dev": true, "requires": { - "each-props": "^1.3.0", - "is-plain-object": "^2.0.1" + "each-props": "^1.3.2", + "is-plain-object": "^5.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + } } }, "core-js": { @@ -6205,9 +6645,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } @@ -6348,6 +6788,14 @@ "timsort": "^0.3.0" } }, + "css-in-js-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz", + "integrity": "sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==", + "requires": { + "hyphenate-style-name": "^1.0.3" + } + }, "css-loader": { "version": "3.4.2", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.4.2.tgz", @@ -6669,22 +7117,27 @@ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true }, + "cssjanus": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/cssjanus/-/cssjanus-1.3.2.tgz", + "integrity": "sha512-5pM/C1MIfoqhXa7k9PqSnrjj1SSZDakfyB1DZhdYyJoDUH+evGbsUg6/bpQapTJeSnYaj0rdzPUMeM33CvB0vw==" + }, "cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", + "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", "dev": true, "requires": { "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", + "cssnano-preset-default": "^4.0.8", "is-resolvable": "^1.0.0", "postcss": "^7.0.0" } }, "cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", + "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", "dev": true, "requires": { "css-declaration-sorter": "^4.0.1", @@ -6715,7 +7168,7 @@ "postcss-ordered-values": "^4.1.2", "postcss-reduce-initial": "^4.0.3", "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", + "postcss-svgo": "^4.0.3", "postcss-unique-selectors": "^4.0.1" } }, @@ -6756,9 +7209,9 @@ }, "dependencies": { "css-tree": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", - "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "dev": true, "requires": { "mdn-data": "2.0.14", @@ -6795,9 +7248,9 @@ } }, "csstype": { - "version": "2.6.14", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.14.tgz", - "integrity": "sha512-2mSc+VEpGPblzAxyeR+vZhJKgYg0Og0nnRi7pmRXFYYxSfnOnW8A5wwQb4n4cE2nIOzqKOAzLCaEX6aBmNEv8A==" + "version": "2.6.17", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.17.tgz", + "integrity": "sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A==" }, "currently-unhandled": { "version": "0.4.1", @@ -6922,9 +7375,9 @@ "dev": true }, "decomment": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/decomment/-/decomment-0.9.3.tgz", - "integrity": "sha512-5skH5BfUL3n09RDmMVaHS1QGCiZRnl2nArUwmsE9JRY93Ueh3tihYl5wIrDdAuXnoFhxVis/DmRWREO2c6DG3w==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/decomment/-/decomment-0.9.4.tgz", + "integrity": "sha512-8eNlhyI5cSU4UbBlrtagWpR03dqXcE5IR9zpe7PnO6UzReXDskucsD8usgrzUmQ6qJ3N82aws/p/mu/jqbURWw==", "dev": true, "requires": { "esprima": "4.0.1" @@ -7102,9 +7555,9 @@ "dev": true }, "is-path-inside": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", - "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true }, "merge2": { @@ -7201,9 +7654,9 @@ "dev": true }, "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.5.tgz", + "integrity": "sha512-qi86tE6hRcFHy8jI1m2VG+LaPUR1LhqDa5G8tVjuUXmOrpuAgqsA1pN0+ldgr3aKUH+QLI9hCY/OcRYisERejw==", "dev": true }, "dezalgo": { @@ -7234,9 +7687,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } @@ -7283,6 +7736,22 @@ "buffer-indexof": "^1.0.0" } }, + "dom-helpers": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.0.tgz", + "integrity": "sha512-Ru5o9+V8CpunKnz5LGgWXkmrH/20cGKwcHwS4m73zIvs54CN9epEmT/HLqFJW3kXpakAFkEdzgy1hzlJe3E4OQ==", + "requires": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + }, + "dependencies": { + "csstype": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz", + "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==" + } + } + }, "dom-serializer": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", @@ -7294,9 +7763,9 @@ }, "dependencies": { "domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", - "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", "dev": true } } @@ -7349,6 +7818,17 @@ "is-obj": "^2.0.0" } }, + "downshift": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/downshift/-/downshift-5.0.5.tgz", + "integrity": "sha512-V1idov3Rkvz1YWA1K67aIx51EgokIDvep4x6KmU7HhsayI8DvTEZBeH4O92zeFVGximKujRO7ChBzBAf4PKWFA==", + "requires": { + "@babel/runtime": "^7.4.5", + "compute-scroll-into-view": "^1.0.9", + "prop-types": "^15.7.2", + "react-is": "^16.9.0" + } + }, "duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -7429,38 +7909,38 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.649", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.649.tgz", - "integrity": "sha512-ojGDupQ3UMkvPWcTICe4JYe17+o9OLiFMPoduoR72Zp2ILt1mRVeqnxBEd6s/ptekrnsFU+0A4lStfBe/wyG/A==", + "version": "1.3.720", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.720.tgz", + "integrity": "sha512-B6zLTxxaOFP4WZm6DrvgRk8kLFYWNhQ5TrHMC0l5WtkMXhU5UbnvWoTfeEwqOruUSlNMhVLfYak7REX6oC5Yfw==", "dev": true }, "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", + "bn.js": "^4.11.9", + "brorand": "^1.1.0", "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, "emojis-list": { @@ -7547,25 +8027,27 @@ } }, "es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", "dev": true, "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", + "get-intrinsic": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", + "is-regex": "^1.1.2", + "is-string": "^1.0.5", "object-inspect": "^1.9.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.0" } }, "es-to-primitive": { @@ -7825,15 +8307,15 @@ "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" }, "events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true }, "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", + "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", "dev": true, "requires": { "original": "^1.0.0" @@ -8056,9 +8538,9 @@ }, "dependencies": { "type": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz", - "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", + "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", "dev": true } } @@ -8238,9 +8720,9 @@ } }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -8259,13 +8741,13 @@ "dev": true }, "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "dev": true, "requires": { "braces": "^3.0.1", - "picomatch": "^2.0.5" + "picomatch": "^2.2.3" } }, "to-regex-range": { @@ -8291,6 +8773,11 @@ "integrity": "sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk=", "dev": true }, + "fast-loops": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-loops/-/fast-loops-1.1.3.tgz", + "integrity": "sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==" + }, "fast-safe-stringify": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-1.1.13.tgz", @@ -8304,9 +8791,9 @@ "dev": true }, "fastq": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.1.tgz", - "integrity": "sha512-AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", + "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -8353,6 +8840,104 @@ } } }, + "fela": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/fela/-/fela-10.8.2.tgz", + "integrity": "sha512-rdF2h6U9gBhLged2WpOE43zqDG3f9rV7PNmcCoTuMIoKZqN0tYsc71nJRS7aNQtk+kRB5VsvMpoK0JGbs4s0qA==", + "requires": { + "css-in-js-utils": "^3.0.0", + "csstype": "^2.5.5", + "fast-loops": "^1.0.0", + "fela-utils": "^10.8.2", + "isobject": "^3.0.1" + } + }, + "fela-bindings": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/fela-bindings/-/fela-bindings-10.8.2.tgz", + "integrity": "sha512-NeZaTD8XaR2HmZKdVy0X2eTsTXeN9w/9ys0sd101djI4lD7rjfU6NroUB5YeGtOV/drehs7ufbzI/rStVUYx1g==", + "requires": { + "fast-loops": "^1.0.0", + "fela-dom": "^10.8.2", + "fela-tools": "^10.8.2", + "react-addons-shallow-compare": "^15.6.2", + "shallow-equal": "^1.0.0" + } + }, + "fela-dom": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/fela-dom/-/fela-dom-10.8.2.tgz", + "integrity": "sha512-6zv4X180/GT44g+Bss0t4r6zPGdg1VfQrrR4raHZLiviIBOx3QbHO2m/JAs3Hp22GF9X2jKItwyT2hGVw3c2fw==", + "requires": { + "css-in-js-utils": "^3.0.0", + "fast-loops": "^1.0.1", + "fela-utils": "^10.8.2" + } + }, + "fela-plugin-custom-property": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/fela-plugin-custom-property/-/fela-plugin-custom-property-10.8.2.tgz", + "integrity": "sha512-SFbuMRQpetEUYwMsG0ngZrdEB7N7ytH+jsXeWt54GKhdz68XcvbAEIoc5vWSPiNVBKH47jV3+dwXjhejd5AdaQ==", + "requires": { + "css-in-js-utils": "^3.0.0", + "isobject": "^3.0.1" + } + }, + "fela-plugin-embedded": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/fela-plugin-embedded/-/fela-plugin-embedded-10.8.2.tgz", + "integrity": "sha512-HeLyDJHQgpBEMbWjsCES1Jtptawtaqnp0Ml3zKebPMrryCQj4j0k4VdyzcS+QzE4M0JD1r0FYhKla+mpuMP5Qw==", + "requires": { + "fast-loops": "^1.0.0", + "isobject": "^3.0.1" + } + }, + "fela-plugin-fallback-value": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/fela-plugin-fallback-value/-/fela-plugin-fallback-value-10.8.2.tgz", + "integrity": "sha512-pjNQ4TJVJz8rDS8kEB7afRDHelQFzi0kIOhLSR0/LWLLFC7CfaQ3Vop9/w5Ot7iJtH8oR1dAxSQEyk497QcyPw==", + "requires": { + "css-in-js-utils": "^3.0.0", + "isobject": "^3.0.1" + } + }, + "fela-plugin-placeholder-prefixer": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/fela-plugin-placeholder-prefixer/-/fela-plugin-placeholder-prefixer-10.8.2.tgz", + "integrity": "sha512-5Uh1ceC03mnfZanlxb4Y4F3MJNoqcReb5lFhme9Yuh74gwFYUAFgsA/vjE2FXfJ8DG4OP69cB/JEGc5cBRtjAg==", + "requires": { + "fast-loops": "^1.0.0", + "fela-plugin-custom-property": "^10.8.2" + } + }, + "fela-plugin-rtl": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/fela-plugin-rtl/-/fela-plugin-rtl-10.8.2.tgz", + "integrity": "sha512-Xc3uYTNU0TponAtMwqfJQc/F33gACCCPr7QOMqpJurlYUU9VaYhchgs7YMocqns6kBPRGrYc0mYiQqNCfpKsjw==", + "requires": { + "rtl-css-js": "^1.1.3" + } + }, + "fela-tools": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/fela-tools/-/fela-tools-10.8.2.tgz", + "integrity": "sha512-9HVPA7PABxCh8ybiDlhhVKuFlVeFazmhthlf5CybiFcxh6DVKDEacYsFdXSC7NGJW2i4cWACiy7pjUvOyvqhRQ==", + "requires": { + "css-in-js-utils": "^3.0.0", + "fast-loops": "^1.0.0", + "fela": "^10.8.2", + "fela-utils": "^10.8.2" + } + }, + "fela-utils": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/fela-utils/-/fela-utils-10.8.2.tgz", + "integrity": "sha512-RmoDOIby14Zb3Xn03noLolyMC2528xcNO5KcNCaznyByd1Acq8DnvQn91Ph9nBLcLqdC1rGme5HwRcrCOHG+kA==", + "requires": { + "css-in-js-utils": "^3.0.0", + "fast-loops": "^1.0.0" + } + }, "figgy-pudding": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", @@ -8573,9 +9158,9 @@ } }, "follow-redirects": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", - "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz", + "integrity": "sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==", "dev": true }, "for-each": { @@ -8814,9 +9399,9 @@ "dev": true }, "get-intrinsic": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.0.tgz", - "integrity": "sha512-M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -9054,9 +9639,9 @@ } }, "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" }, "growly": { "version": "1.3.0", @@ -9605,9 +10190,9 @@ "dev": true }, "handlebars": { - "version": "4.7.6", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", - "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "dev": true, "requires": { "minimist": "^1.2.5", @@ -9672,6 +10257,12 @@ "ansi-regex": "^2.0.0" } }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -9688,9 +10279,9 @@ } }, "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" }, "has-unicode": { "version": "2.0.1", @@ -9813,9 +10404,9 @@ } }, "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "hpack.js": { @@ -9842,12 +10433,6 @@ "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", "dev": true }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", - "dev": true - }, "html-encoding-sniffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", @@ -10030,6 +10615,11 @@ } } }, + "hyphenate-style-name": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", + "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" + }, "iconv-lite": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", @@ -10196,6 +10786,11 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, + "inline-style-expand-shorthand": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/inline-style-expand-shorthand/-/inline-style-expand-shorthand-1.2.0.tgz", + "integrity": "sha512-YdteDMlG1StHeEXF7opaVfPMCIVO8B4TPjE6kZLwdhZdgjH3Q7lxwSe+89sMhdPN77F3quOYhBbqBE0+KXuHpA==" + }, "inpath": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/inpath/-/inpath-1.0.2.tgz", @@ -10379,6 +10974,12 @@ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" }, + "is-bigint": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", + "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==", + "dev": true + }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", @@ -10388,6 +10989,15 @@ "binary-extensions": "^1.0.0" } }, + "is-boolean-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", + "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } + }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", @@ -10395,9 +11005,9 @@ "dev": true }, "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true }, "is-ci": { @@ -10571,6 +11181,12 @@ } } }, + "is-number-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", + "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", + "dev": true + }, "is-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", @@ -10623,10 +11239,11 @@ "dev": true }, "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "requires": { + "call-bind": "^1.0.2", "has-symbols": "^1.0.1" } }, @@ -10650,14 +11267,11 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, - "is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", - "dev": true, - "requires": { - "html-comment-regex": "^1.1.0" - } + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true }, "is-symbol": { "version": "1.0.3", @@ -10722,8 +11336,7 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "isomorphic-fetch": { "version": "2.2.1", @@ -11075,9 +11688,9 @@ } }, "node-notifier": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", - "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.5.tgz", + "integrity": "sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ==", "dev": true, "requires": { "growly": "^1.3.0", @@ -12434,9 +13047,9 @@ } }, "just-debounce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz", - "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", + "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", "dev": true }, "killable": { @@ -12917,6 +13530,15 @@ "object-visit": "^1.0.0" } }, + "markdown-to-jsx": { + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz", + "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==", + "requires": { + "prop-types": "^15.6.2", + "unquote": "^1.1.0" + } + }, "matchdep": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", @@ -13091,9 +13713,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } @@ -13105,18 +13727,18 @@ "dev": true }, "mime-db": { - "version": "1.45.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", - "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==", + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", "dev": true }, "mime-types": { - "version": "2.1.28", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", - "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", + "version": "2.1.30", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", + "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", "dev": true, "requires": { - "mime-db": "1.45.0" + "mime-db": "1.47.0" } }, "mimic-fn": { @@ -13515,9 +14137,9 @@ } }, "node-releases": { - "version": "1.1.70", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", - "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==", + "version": "1.1.71", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", + "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", "dev": true }, "node-sass": { @@ -13569,9 +14191,9 @@ } }, "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true } } @@ -13607,12 +14229,12 @@ }, "dependencies": { "resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "requires": { - "is-core-module": "^2.1.0", + "is-core-module": "^2.2.0", "path-parse": "^1.0.6" } } @@ -13754,17 +14376,17 @@ } }, "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.2.tgz", + "integrity": "sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA==", "dev": true }, "object-is": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", - "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", "requires": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3" } }, @@ -13807,14 +14429,14 @@ } }, "object.getownpropertydescriptors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", - "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", + "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", "dev": true, "requires": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" + "es-abstract": "^1.18.0-next.2" } }, "object.map": { @@ -13868,14 +14490,14 @@ } }, "object.values": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", - "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", + "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", "dev": true, "requires": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", + "es-abstract": "^1.18.0-next.2", "has": "^1.0.3" } }, @@ -13911,12 +14533,12 @@ }, "dependencies": { "@uifabric/icons": { - "version": "7.5.18", - "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.5.18.tgz", - "integrity": "sha512-gLPEccWlTER9NiXcOHZ+dSJ3tgLAQ4mTf3hTlKV7e7dKBTl95jzcemG5S2NJQ7xWPTH3+5K1Bpd+nqZo9EJw3w==", + "version": "7.5.23", + "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.5.23.tgz", + "integrity": "sha512-eIvUbH0EWgFgdfgFfINgqS2ZVZTyJ/9n5nR4bmcyAe75wsKxm4ser4WIT9IvaBF6+HFVfjUF/v6+VMD7y2LBng==", "requires": { - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", "tslib": "^1.10.0" } } @@ -14359,9 +14981,9 @@ } }, "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, "requires": { "create-hash": "^1.1.2", @@ -14378,9 +15000,9 @@ "dev": true }, "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", + "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", "dev": true }, "pidof": { @@ -15107,24 +15729,21 @@ } }, "postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.5.tgz", + "integrity": "sha512-aFYPoYmXbZ1V6HZaSvat08M97A8HqO6Pjz+PiNpw/DhuRrC72XWAdp3hL6wusDCN31sSmcZyMGa2hZEuX+Xfhg==", "dev": true, "requires": { "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", "util-deprecate": "^1.0.2" } }, "postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", + "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", "dev": true, "requires": { - "is-svg": "^3.0.0", "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0", "svgo": "^1.0.0" @@ -15288,9 +15907,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } @@ -15352,6 +15971,12 @@ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, "quill": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz", @@ -15464,6 +16089,11 @@ "scheduler": "^0.13.5" } }, + "react-accessible-accordion": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/react-accessible-accordion/-/react-accessible-accordion-3.3.4.tgz", + "integrity": "sha512-EUq+KmVRIIG5u1fR5XIbb2JU7w7NouLjuyfuPvnhuDIfNNWNYap1I8ijn2rdA6OQi1gGSRGbVzHs+3wxH/M0Sw==" + }, "react-ace": { "version": "5.8.0", "resolved": "https://registry.npmjs.org/react-ace/-/react-ace-5.8.0.tgz", @@ -15475,6 +16105,14 @@ "prop-types": "^15.5.8" } }, + "react-addons-shallow-compare": { + "version": "15.6.3", + "resolved": "https://registry.npmjs.org/react-addons-shallow-compare/-/react-addons-shallow-compare-15.6.3.tgz", + "integrity": "sha512-EDJbgKTtGRLhr3wiGDXK/+AEJ59yqGS+tKE6mue0aNXT6ZMR7VJbbzIiT6akotmHg1BLj46ElJSb+NBMp80XBg==", + "requires": { + "object-assign": "^4.1.0" + } + }, "react-dom": { "version": "16.8.5", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.5.tgz", @@ -15491,6 +16129,16 @@ "resolved": "https://registry.npmjs.org/react-dom-factories/-/react-dom-factories-1.0.2.tgz", "integrity": "sha1-63cFxNs2+1AbOqOP91lhaqD/luA=" }, + "react-fela": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/react-fela/-/react-fela-10.8.2.tgz", + "integrity": "sha512-TDIuOzxwtPcMhxlR4be/s1Er5b7zS8D42QOzaZZGMJskfH1ULFSOpdlBsb32ivqacXatbGZzshHDXGV5vKNkhQ==", + "requires": { + "fela-bindings": "^10.8.2", + "fela-dom": "^10.8.2", + "prop-types": "^15.5.8" + } + }, "react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -15510,19 +16158,29 @@ } }, "react-quill": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/react-quill/-/react-quill-1.3.3.tgz", - "integrity": "sha512-T9RubLaWJ8gCfp7sOqmFupjiTiEp/EdGqhCG+PWGKc5UHiK6xIWNKWYsOHHEhQ+sZCKs8u/DPx47gc1VfFmcLg==", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/react-quill/-/react-quill-1.3.5.tgz", + "integrity": "sha512-/W/rNCW+6QpGz8yQ9tFK5Ka/h/No1RqrcOOvCIOR092OiKzRFlU2xbPEwiP3Wgy/Dx13pi1YhjReDMX/5uotJg==", "requires": { "@types/quill": "1.3.10", - "@types/react": "*", "create-react-class": "^15.6.0", "lodash": "^4.17.4", "prop-types": "^15.5.10", - "quill": "^1.2.6", + "quill": "^1.3.7", "react-dom-factories": "^1.0.0" } }, + "react-transition-group": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.1.tgz", + "integrity": "sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw==", + "requires": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + } + }, "react-xml-parser": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/react-xml-parser/-/react-xml-parser-1.1.6.tgz", @@ -15737,9 +16395,9 @@ "dev": true }, "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true }, "repeat-string": { @@ -15823,9 +16481,9 @@ }, "dependencies": { "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true } } @@ -15986,6 +16644,14 @@ "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", "dev": true }, + "rtl-css-js": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/rtl-css-js/-/rtl-css-js-1.14.1.tgz", + "integrity": "sha512-G9N1s/6329FpJr8k9e1U/Lg0IDWThv99sb7k0IrXHjSnubxe01h52/ajsPRafJK1/2Vqrhz3VKLe3E1dx6jS9Q==", + "requires": { + "@babel/runtime": "^7.1.2" + } + }, "run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", @@ -15993,10 +16659,13 @@ "dev": true }, "run-parallel": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", - "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", - "dev": true + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } }, "run-queue": { "version": "1.0.3", @@ -16008,9 +16677,9 @@ } }, "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -16382,6 +17051,11 @@ "kind-of": "^6.0.2" } }, + "shallow-equal": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", + "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==" + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -16636,9 +17310,9 @@ } }, "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, "sparkles": { @@ -16802,9 +17476,9 @@ } }, "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, "requires": { "figgy-pudding": "^3.5.1" @@ -16823,9 +17497,9 @@ "dev": true }, "stack-utils": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.4.tgz", - "integrity": "sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", "dev": true, "requires": { "escape-string-regexp": "^2.0.0" @@ -16993,22 +17667,22 @@ } }, "string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", "dev": true, "requires": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3" } }, "string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", "dev": true, "requires": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3" } }, @@ -17145,6 +17819,19 @@ } } }, + "stylis": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz", + "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==" + }, + "stylis-plugin-rtl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stylis-plugin-rtl/-/stylis-plugin-rtl-1.1.0.tgz", + "integrity": "sha512-FPoSxP+gbBLJRUXDRDFNBhqy/eToquDLn7ZrjIVBRfXaZ9bunwNnDtDm2qW1EoU0c93krm1Dy+8iVmJpjRGsKw==", + "requires": { + "cssjanus": "^1.3.0" + } + }, "sudo": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sudo/-/sudo-1.0.3.tgz", @@ -17193,25 +17880,6 @@ "util.promisify": "~1.0.0" }, "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, "util.promisify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", @@ -17840,13 +18508,13 @@ } }, "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "dev": true, "requires": { "braces": "^3.0.1", - "picomatch": "^2.0.5" + "picomatch": "^2.2.3" } }, "semver": { @@ -17985,15 +18653,15 @@ "dev": true }, "ua-parser-js": { - "version": "0.7.23", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.23.tgz", - "integrity": "sha512-m4hvMLxgGHXG3O3fQVAyyAQpZzDOvwnhOTjYz5Xmr7r/+LpkNy3vJXdVRWgd1TkAb7NGROZuSy96CrlNVjA7KA==", + "version": "0.7.28", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", + "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==", "dev": true }, "uglify-js": { - "version": "3.12.5", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.5.tgz", - "integrity": "sha512-SgpgScL4T7Hj/w/GexjnBHi3Ien9WS1Rpfg5y91WXMj9SY997ZCQU76mH4TpLwwfmMvoOU8wiaRkIf6NaH3mtg==", + "version": "3.13.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.4.tgz", + "integrity": "sha512-kv7fCkIXyQIilD5/yQy8O+uagsYIOt5cZvs890W40/e/rvjMSzJw81o9Bg0tkURxzZBROtDQhW2LFjOGoK3RZw==", "dev": true, "optional": true }, @@ -18069,6 +18737,18 @@ } } }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, "unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", @@ -18172,8 +18852,7 @@ "unquote": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" }, "unset-value": { "version": "1.0.0", @@ -18261,9 +18940,9 @@ } }, "url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", - "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz", + "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==", "dev": true, "requires": { "querystringify": "^2.1.1", @@ -18510,9 +19189,9 @@ }, "dependencies": { "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "optional": true, "requires": { @@ -18565,16 +19244,16 @@ } }, "fsevents": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", - "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "optional": true }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "optional": true, "requires": { @@ -18851,9 +19530,9 @@ } }, "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "yallist": { @@ -18921,12 +19600,6 @@ "wrap-ansi": "^5.1.0" } }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, "enhanced-resolve": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", @@ -19149,9 +19822,9 @@ } }, "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "yargs": { @@ -19199,9 +19872,9 @@ }, "dependencies": { "mime": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", - "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", "dev": true } } @@ -19956,9 +20629,9 @@ } }, "whatwg-fetch": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.5.0.tgz", - "integrity": "sha512-jXkLtsR42xhXg7akoDKvKWE40eJeI+2KZqcp2h3NsOrRnDvtWX36KcKl30dy+hxECivdk2BVUHVNrPtoMBUx6A==" + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", + "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" }, "whatwg-mimetype": { "version": "2.3.0", @@ -19984,6 +20657,19 @@ "isexe": "^2.0.0" } }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, "which-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", diff --git a/samples/react-list-search/package.json b/samples/react-list-search/package.json index 538233440..4d7dfb069 100644 --- a/samples/react-list-search/package.json +++ b/samples/react-list-search/package.json @@ -22,14 +22,15 @@ "@microsoft/sp-office-ui-fabric-core": "1.11.0", "@microsoft/sp-property-pane": "1.11.0", "@microsoft/sp-webpart-base": "1.11.0", + "@pnp/graph": "2.4.0", "@pnp/sp": "2.0.8", - "@pnp/spfx-controls-react": "1.19.0", - "@pnp/spfx-property-controls": "1.19.0", - "react-js-pagination": "3.0.3", - "react-xml-parser": "1.1.6", + "@pnp/spfx-controls-react": "2.4.0", + "@pnp/spfx-property-controls": "2.5.0", + "office-ui-fabric-react": "7.155.3", "react": "16.8.5", "react-dom": "16.8.5", - "office-ui-fabric-react": "7.155.3" + "react-js-pagination": "3.0.3", + "react-xml-parser": "1.1.6" }, "devDependencies": { "@microsoft/sp-build-web": "1.11.0", diff --git a/samples/react-list-search/sppkg/list-search-webpart.sppkg b/samples/react-list-search/sppkg/list-search-webpart.sppkg index cfec422e6..eb809a06c 100644 Binary files a/samples/react-list-search/sppkg/list-search-webpart.sppkg and b/samples/react-list-search/sppkg/list-search-webpart.sppkg differ diff --git a/samples/react-list-search/src/webparts/listSearch/ListSearchWebPart.ts b/samples/react-list-search/src/webparts/listSearch/ListSearchWebPart.ts index 2ad105475..4ea48062e 100644 --- a/samples/react-list-search/src/webparts/listSearch/ListSearchWebPart.ts +++ b/samples/react-list-search/src/webparts/listSearch/ListSearchWebPart.ts @@ -31,6 +31,7 @@ import { IDynamicItem } from './model/IDynamicItem'; import { PropertyPaneWebPartInformation } from '@pnp/spfx-property-controls/lib/PropertyPaneWebPartInformation'; import { SharePointFieldTypes, SharePointType } from './model/ISharePointFieldTypes'; import { IModalType } from './model/IModalType'; +import { find, has } from '@microsoft/sp-lodash-subset'; @@ -76,6 +77,7 @@ export interface IListSearchWebPartProps { initialQueryOption: "simpleText" | "dynamicData"; dynamicQueryText: DynamicProperty; initialQueryText: string; + title: string; } export default class ListSearchWebPart extends BaseClientSideWebPart implements IDynamicDataCallables { @@ -294,7 +296,12 @@ export default class ListSearchWebPart extends BaseClientSideWebPart !this.isEmpty(listConfig.Query) || !this.isEmpty(listConfig.ListView)) > -1), groupByFieldType: this.properties.groupByFieldType, CacheType: this.properties.CacheType, - generalFilterText: queryText + generalFilterText: queryText, + title: this.properties.title, + updateTitle: (value: string) => { + this.properties.title = value; + }, + displayMode: this.displayMode, } ); renderElement = element; @@ -574,7 +581,7 @@ export default class ListSearchWebPart extends BaseClientSideWebPart void; + displayMode: DisplayMode; } diff --git a/samples/react-list-search/src/webparts/listSearch/components/ListSearch.tsx b/samples/react-list-search/src/webparts/listSearch/components/ListSearch.tsx index 02bec8f3c..d7e533303 100644 --- a/samples/react-list-search/src/webparts/listSearch/components/ListSearch.tsx +++ b/samples/react-list-search/src/webparts/listSearch/components/ListSearch.tsx @@ -4,21 +4,22 @@ import * as strings from 'ListSearchWebPartStrings'; import ListService from '../services/ListService'; import IGroupedItems, { IListSearchState, IColumnFilter } from './IListSearchState'; import { IListSearchProps } from './IListSearchProps'; -import { Spinner, SpinnerSize } from 'office-ui-fabric-react/lib/Spinner'; import { - DetailsList, IColumn, IDetailsFooterProps, IDetailsRowBaseProps, DetailsRow, SelectionMode, - IGroup + IGroup, + DetailsHeader, + DetailsListLayoutMode, } from 'office-ui-fabric-react/lib/DetailsList'; import { getTheme, IconButton, MessageBar, - MessageBarType + MessageBarType, + ShimmeredDetailsList } from 'office-ui-fabric-react'; import { SearchBox } from 'office-ui-fabric-react/lib/SearchBox'; import Pagination from "react-js-pagination"; @@ -41,9 +42,11 @@ import IUserField from '../model/IUserField'; import IUrlField from '../model/IUrlField'; import { IFrameDialog } from "@pnp/spfx-controls-react/lib/IFrameDialog"; import { IModalType } from '../model/IModalType'; -import { groupBy, isEmpty } from '@microsoft/sp-lodash-subset'; +import { find, groupBy, isEmpty } from '@microsoft/sp-lodash-subset'; import IResult from '../model/IResult'; import { IListSearchListQuery, IMapQuery } from '../model/IMapQuery'; +import { WebPartTitle } from "@pnp/spfx-controls-react/lib/WebPartTitle"; +import GraphService from '../services/GraphService'; const LOG_SOURCE = "IListdSearchWebPart"; @@ -52,6 +55,8 @@ const filterIcon: IIconProps = { iconName: 'Filter' }; export default class IListdSearchWebPart extends React.Component { private groups: IGroup[]; private keymapQuerys: IMapQuery = {}; + private _graphService: GraphService; + constructor(props: IListSearchProps, state: IListSearchState) { super(props); this.state = { @@ -67,11 +72,12 @@ export default class IListdSearchWebPart extends React.Component siteInformation.url === site); Object.keys(this.keymapQuerys[site]).map(listQuery => { - itemPromise.push(listService.getListItems(this.keymapQuerys[site][listQuery], this.props.ListNameTitle, this.props.SiteNameTitle, siteProperties[0][this.props.SiteNamePropertyToShow], this.props.ItemLimit)); + itemPromise.push(listService.getListItems( + this.keymapQuerys[site][listQuery], + this.props.ListNameTitle, + this.props.SiteNameTitle, + siteProperties[0][this.props.SiteNamePropertyToShow], + this.props.ItemLimit, + this._graphService)); }); }); @@ -189,16 +200,26 @@ export default class IListdSearchWebPart extends React.Component list.SiteCollectionSource == item.SiteCollectionSource && list.ListSourceField == item.ListSourceField); - - let newQueryListItem: IListSearchListQuery = { list: { Id: item.ListSourceField, Title: item.ListSourceFieldName }, fields: [{ originalField: item.SourceField, newField: item.TargetField, fieldType: item.SPFieldType }], camlQuery: listQueryInfo.length > 0 && listQueryInfo[0].Query, viewName: listQueryInfo.length > 0 && listQueryInfo[0].ListView }; + let listQueryInfo = find(this.props.listsCollectionData, list => list.SiteCollectionSource == item.SiteCollectionSource && list.ListSourceField == item.ListSourceField); + let newQueryListItem: IListSearchListQuery = { + list: { Id: item.ListSourceField, Title: item.ListSourceFieldName }, + audienceEnabled: listQueryInfo.AudienceEnabled, + fields: [{ originalField: item.SourceField, newField: item.TargetField, fieldType: item.SPFieldType }], + camlQuery: listQueryInfo && listQueryInfo.Query, + viewName: listQueryInfo && listQueryInfo.ListView + }; this.keymapQuerys[item.SiteCollectionSource][item.ListSourceField] = newQueryListItem; } } else { - let listQueryInfo = this.props.listsCollectionData.filter(list => list.SiteCollectionSource == item.SiteCollectionSource && list.ListSourceField == item.ListSourceField); - - let newQueryListItem: IListSearchListQuery = { list: { Id: item.ListSourceField, Title: item.ListSourceFieldName }, fields: [{ originalField: item.SourceField, newField: item.TargetField, fieldType: item.SPFieldType }], camlQuery: listQueryInfo.length > 0 && listQueryInfo[0].Query, viewName: listQueryInfo.length > 0 && listQueryInfo[0].ListView }; + let listQueryInfo = find(this.props.listsCollectionData, list => list.SiteCollectionSource == item.SiteCollectionSource && list.ListSourceField == item.ListSourceField); + let newQueryListItem: IListSearchListQuery = { + list: { Id: item.ListSourceField, Title: item.ListSourceFieldName }, + audienceEnabled: listQueryInfo.AudienceEnabled, + fields: [{ originalField: item.SourceField, newField: item.TargetField, fieldType: item.SPFieldType }], + camlQuery: listQueryInfo && listQueryInfo.Query, + viewName: listQueryInfo && listQueryInfo.ListView + }; this.keymapQuerys[item.SiteCollectionSource] = []; this.keymapQuerys[item.SiteCollectionSource][item.ListSourceField] = newQueryListItem; } @@ -300,27 +321,38 @@ export default class IListdSearchWebPart extends React.Component { - let filter: IColumnFilter = this.state.columnFilters.find(colFilter => colFilter.columnName == column.name); - if (this.props.IndividualColumnFilter && column.data != SharePointType.FileIcon) { - return ( - this.filterColumnListItems(column.name, value, column.data)} onClear={(ev) => this.filterColumnListItems(column.name, "", SharePointType.Text)} /> - ); + private _onRenderDetails(detailsFooterProps: IDetailsFooterProps, showSearchBox: boolean, isHeader: boolean): JSX.Element { + if (this.props.IndividualColumnFilter) { + let _renderDetailsFooterItemColumn: IDetailsRowBaseProps['onRenderItemColumn'] = (item, index, column) => { + let filter: IColumnFilter = this.state.columnFilters.find(colFilter => colFilter.columnName == column.name); + if (this.props.IndividualColumnFilter && showSearchBox && column.data != SharePointType.FileIcon) { + return ( + this.filterColumnListItems(column.name, value, column.data)} onClear={(ev) => this.filterColumnListItems(column.name, "", SharePointType.Text)} /> + ); + } + else { + return undefined; + } + }; + + return ( + + ); + } + else { + if (isHeader) { + return ; } else { return undefined; } - }; - return ( - - ); + } } private handlePageChange(pageNumber) { @@ -371,6 +403,7 @@ export default class IListdSearchWebPart extends React.Component field.SiteCollectionSource == item.SiteUrl && field.ListSourceField == item.List.Id).map(field => { return { originalField: field.SourceField, newField: field.TargetField, fieldType: field.SPFieldType }; }) }; @@ -540,21 +573,20 @@ export default class IListdSearchWebPart extends React.Component this._onItemInvoked(detailrow.item)}> - {defaultRender({ ...detailrow, styles: { root: { cursor: 'pointer' } } })} + {defaultRender({ ...detailrow, styles: { root: { cursor: 'pointer', backgroundColor: 'transparent' } } })} : <> - {defaultRender({ ...detailrow, styles: { root: { cursor: 'pointer' } } })} + {defaultRender({ ...detailrow, styles: { root: { cursor: 'pointer', backgroundColor: 'transparent' } } })} : <> - {defaultRender({ ...detailrow })} + {defaultRender({ ...detailrow, styles: { root: { backgroundColor: 'transparent' } } })} ; } private _renderItemColumn(item: any, index: number, column: IColumn): JSX.Element { - let result = this.GetJSXElementByType(item, column.fieldName, column.data); - return result; + return this.GetJSXElementByType(item, column.fieldName, column.data); } private GetModalBodyRenderByFieldType(item: any, propertyName: string, fieldType: SharePointType): JSX.Element { @@ -649,7 +681,8 @@ export default class IListdSearchWebPart extends React.Component; switch (fieldType) { case SharePointType.FileIcon: { @@ -659,7 +692,7 @@ export default class IListdSearchWebPart extends React.Component{value}; + result = {value}; } else { if (value && value.Name) { @@ -684,10 +717,10 @@ export default class IListdSearchWebPart extends React.Component 0) { result = {value.map((val, index) => { if (index + 1 == value.length) { - return {val}; + return {val}; } else { - return {val}

; + return {val}

; } })}
; @@ -703,6 +736,7 @@ export default class IListdSearchWebPart extends React.Component; } else { @@ -716,10 +750,10 @@ export default class IListdSearchWebPart extends React.Component{value.map((val, index) => { if (index + 1 == value.length) { - return {val}; + return {val}; } else { - return {val}

; + return {val}

; } })} ; @@ -731,7 +765,7 @@ export default class IListdSearchWebPart extends React.Component{value}; + result = {value}; } else { result = ; @@ -741,10 +775,10 @@ export default class IListdSearchWebPart extends React.Component{value.map((val, index) => { if (index + 1 == value.length) { - return {val}; + return {val}; } else { - return {val}

; + return {val}

; } })} ; @@ -757,10 +791,10 @@ export default class IListdSearchWebPart extends React.Component{value.map((val, index) => { if (index + 1 == value.length) { - return {val}; + return {val}; } else { - return {val}

; + return {val}

; } })} ; @@ -771,7 +805,7 @@ export default class IListdSearchWebPart extends React.Component{value.Description}; + result = {value.Description}; } else { result = ; @@ -809,7 +843,7 @@ export default class IListdSearchWebPart extends React.Component{value}; + result = {value}; break; } @@ -1025,75 +1059,82 @@ export default class IListdSearchWebPart extends React.Component this._clearAllFilters()} /> : this._clearAllFilters()} />; return ( -
+
- {this.state.isLoading ? - : - this.state.errorMsg ? - - {this.state.errorHeader}{this.state.errorMsg} - : - - {this.props.clickEnabled && !this.state.isModalHidden && this.state.selectedItem && this.GetOnClickAction()} -
- {this.props.GeneralFilter && -
+ this.props.updateTitle(value)} displayMode={this.props.displayMode} placeholder={strings.WebPartTitlePlaceHolder}> + {this.state.errorMsg ? + + {this.state.errorHeader}{this.state.errorMsg} + : + + {this.props.clickEnabled && !this.state.isModalHidden && this.state.selectedItem && this.GetOnClickAction()} +
+ {this.props.GeneralFilter && +
+ this.clearGeneralFilter()} onChange={(ev, newValue) => this.filterListItemsByGeneralFilter(newValue, false, true, this.state.items, this.state.filterItems)} /> -
} -
- {this.props.ShowClearAllFilters && clearAllButton} +
+ } +
+ + {this.props.ShowClearAllFilters && clearAllButton} +
-
-
- {this.props.ShowItemCount &&
{this.props.ItemCountText.replace("{itemCount}", `${this.state.filterItems.length}`)}
} - this._onRenderDetails(detailsFooterProps) : undefined} - onRenderDetailsHeader={this._checkIndividualFilter("header") ? (detailsHeaderProps) => this._onRenderDetails(detailsHeaderProps) : undefined} - selectionMode={SelectionMode.none} - onItemInvoked={this.props.clickEnabled && !this.props.oneClickOption ? this._onItemInvoked : null} - onRenderRow={(props, defaultRender) => this.getOnRowClickRender(props, defaultRender)} - onRenderItemColumn={this._renderItemColumn} - /> - {this.props.ShowPagination && -
-
-
-
- } - lastPageText={} - prevPageText={} - nextPageText={} - activeLinkClass={styles.active} - itemsCountPerPage={this.props.ItemsInPage} - totalItemsCount={this.state.filterItems ? this.state.filterItems.length : 0} - pageRangeDisplayed={5} - onChange={this.handlePageChange.bind(this)} - /> -
+
+
+
+ {this.props.ShowItemCount && +
{this.props.ItemCountText.replace("{itemCount}", `${this.state.filterItems ? this.state.filterItems.length : 0}`)}
+ } + this._onRenderDetails(detailsFooterProps, this._checkIndividualFilter("footer"), false)} + onRenderDetailsHeader={(detailsHeaderProps) => this._onRenderDetails(detailsHeaderProps, this._checkIndividualFilter("header"), true)} + selectionMode={SelectionMode.none} + onItemInvoked={this.props.clickEnabled && !this.props.oneClickOption ? this._onItemInvoked : null} + onRenderRow={(props, defaultRender) => this.getOnRowClickRender(props, defaultRender)} + onRenderItemColumn={this._renderItemColumn} + shimmerLines={this.props.ShowPagination ? this.props.ItemsInPage : 10} + /> + {this.props.ShowPagination && +
+
+
+
+ } + lastPageText={} + prevPageText={} + nextPageText={} + activeLinkClass={styles.active} + itemsCountPerPage={this.props.ItemsInPage} + totalItemsCount={this.state.filterItems ? this.state.filterItems.length : 0} + pageRangeDisplayed={5} + onChange={this.handlePageChange.bind(this)} + />
- } -
+
+ }
- } +
+ }
); } - } diff --git a/samples/react-list-search/src/webparts/listSearch/loc/en-us.js b/samples/react-list-search/src/webparts/listSearch/loc/en-us.js index ec23c9e11..8e1b98039 100644 --- a/samples/react-list-search/src/webparts/listSearch/loc/en-us.js +++ b/samples/react-list-search/src/webparts/listSearch/loc/en-us.js @@ -105,7 +105,9 @@ define([], function () { InitialSearchText: "Initial search query", GeneralFilterInitialQueryEnabled: "Initial search enabled", GeneralFilterInitialQueryOption: "Initial search type", - GeneralFilterInitialQueryTextValue: "Initial search value" - + GeneralFilterInitialQueryTextValue: "Initial search value", + WebPartTitlePlaceHolder: "Web part title", + ModerAudienceEnabledTitle: "Modern audience enabled", + ModernAudienceEnabledTitle: "Modern audience enabled", } }); diff --git a/samples/react-list-search/src/webparts/listSearch/loc/mystrings.d.ts b/samples/react-list-search/src/webparts/listSearch/loc/mystrings.d.ts index 00f5bc642..012257e44 100644 --- a/samples/react-list-search/src/webparts/listSearch/loc/mystrings.d.ts +++ b/samples/react-list-search/src/webparts/listSearch/loc/mystrings.d.ts @@ -105,6 +105,9 @@ declare interface IListSearchWebPartStrings { GeneralFilterInitialQueryEnabled: string; GeneralFilterInitialQueryOption: string; GeneralFilterInitialQueryTextValue: string; + WebPartTitlePlaceHolder: string; + ModerAudienceEnabledTitle: string; +ModernAudienceEnabledTitle: string; } declare module 'ListSearchWebPartStrings' { diff --git a/samples/react-list-search/src/webparts/listSearch/model/IListConfigProps.ts b/samples/react-list-search/src/webparts/listSearch/model/IListConfigProps.ts index cac418bbb..9ba3dc6b7 100644 --- a/samples/react-list-search/src/webparts/listSearch/model/IListConfigProps.ts +++ b/samples/react-list-search/src/webparts/listSearch/model/IListConfigProps.ts @@ -8,6 +8,7 @@ export interface IListData { Query: string; uniqueId: string; sortIdx: number; + AudienceEnabled: boolean; } export interface IBaseFieldData { diff --git a/samples/react-list-search/src/webparts/listSearch/model/IMapQuery.ts b/samples/react-list-search/src/webparts/listSearch/model/IMapQuery.ts index 65d591644..5f2fb948c 100644 --- a/samples/react-list-search/src/webparts/listSearch/model/IMapQuery.ts +++ b/samples/react-list-search/src/webparts/listSearch/model/IMapQuery.ts @@ -2,17 +2,18 @@ import { SiteList } from "./IListConfigProps"; import { SharePointType } from "./ISharePointFieldTypes"; export interface IMapQuery { - [site: string]: Array; + [site: string]: Array; } export interface IMapQueryList { - [list: string]: Array; + [list: string]: Array; } export interface IListSearchListQuery { - list: SiteList; - camlQuery?: string; - viewName?: string; - fields: Array<{ originalField: string, newField: string, fieldType: SharePointType }>; - } + list: SiteList; + audienceEnabled: boolean; + camlQuery?: string; + viewName?: string; + fields: Array<{ originalField: string, newField: string, fieldType: SharePointType }>; +} diff --git a/samples/react-list-search/src/webparts/listSearch/model/IResult.ts b/samples/react-list-search/src/webparts/listSearch/model/IResult.ts index 53bba1463..6b9779666 100644 --- a/samples/react-list-search/src/webparts/listSearch/model/IResult.ts +++ b/samples/react-list-search/src/webparts/listSearch/model/IResult.ts @@ -9,4 +9,9 @@ export default interface IResult { UniqueId: string; ServerUrl: string; FileLeafRef: string; -} \ No newline at end of file + OData__ModernAudienceTargetUserField:Audience[]; +} + +interface Audience{ + Name: string; +} diff --git a/samples/react-list-search/src/webparts/listSearch/services/GraphService.ts b/samples/react-list-search/src/webparts/listSearch/services/GraphService.ts new file mode 100644 index 000000000..a11d4735a --- /dev/null +++ b/samples/react-list-search/src/webparts/listSearch/services/GraphService.ts @@ -0,0 +1,37 @@ +import { graph } from "@pnp/graph"; +import "@pnp/graph/users"; +import "@pnp/graph/groups"; +import { WebPartContext } from "@microsoft/sp-webpart-base"; +import { PnPClientStorage } from "@pnp/common"; +import IGraphService from "./IGraphService"; + + + +export default class GraphService implements IGraphService { + + private _storage: PnPClientStorage; + private _localStorageKey: string = 'userGroups'; + // 1 day + private _expiredTimeMillisecons: number = 8.64e+7; + + public constructor(spfxContext: WebPartContext) { + graph.setup({ + spfxContext + }); + this._storage = new PnPClientStorage(); + } + + public async getTransitiveMemberOf(): Promise { + try { + this._storage.local.deleteExpired(); + let userGroups = this._storage.local.get(this._localStorageKey); + if (!userGroups) { + userGroups = await graph.me.getMemberGroups(); + this._storage.local.put(this._localStorageKey, userGroups, new Date(new Date().getTime() + this._expiredTimeMillisecons)); + } + return userGroups; + } catch (error) { + return Promise.reject(error); + } + } +} diff --git a/samples/react-list-search/src/webparts/listSearch/services/IGraphService.ts b/samples/react-list-search/src/webparts/listSearch/services/IGraphService.ts new file mode 100644 index 000000000..031ad945b --- /dev/null +++ b/samples/react-list-search/src/webparts/listSearch/services/IGraphService.ts @@ -0,0 +1,4 @@ + +export default interface IGraphService { + getTransitiveMemberOf(): Promise>; +} diff --git a/samples/react-list-search/src/webparts/listSearch/services/IListService.ts b/samples/react-list-search/src/webparts/listSearch/services/IListService.ts index 4d1a22ef6..854580540 100644 --- a/samples/react-list-search/src/webparts/listSearch/services/IListService.ts +++ b/samples/react-list-search/src/webparts/listSearch/services/IListService.ts @@ -1,8 +1,9 @@ import { ListField } from "../model/IListConfigProps"; import { IListSearchListQuery } from "../model/IMapQuery"; +import GraphService from "./GraphService"; export default interface IListService { - getListItems(listQueryOptions: IListSearchListQuery, listPropertyName: string, sitePropertyName: string, sitePropertyValue: string, rowLimit: number): Promise>; + getListItems(listQueryOptions: IListSearchListQuery, listPropertyName: string, sitePropertyName: string, sitePropertyValue: string, rowLimit: number, graphService?: GraphService): Promise>; getListItemById(listQueryOptions: IListSearchListQuery, itemId: number): Promise; getSiteListsTitle(): Promise>; getListFields(listTitle: string): Promise>; diff --git a/samples/react-list-search/src/webparts/listSearch/services/ListService.ts b/samples/react-list-search/src/webparts/listSearch/services/ListService.ts index 2f04f3638..4607f38b0 100644 --- a/samples/react-list-search/src/webparts/listSearch/services/ListService.ts +++ b/samples/react-list-search/src/webparts/listSearch/services/ListService.ts @@ -11,9 +11,10 @@ import XMLParser from 'react-xml-parser'; import { IWeb, Web } from '@pnp/sp/webs'; import { SharePointType } from '../model/ISharePointFieldTypes'; import IResult from '../model/IResult'; -import { isEmpty } from '@microsoft/sp-lodash-subset'; +import { intersection, isEmpty } from '@microsoft/sp-lodash-subset'; import { ListField, SiteList } from '../model/IListConfigProps'; import { IListSearchListQuery } from '../model/IMapQuery'; +import GraphService from './GraphService'; export interface QueryHelperEntity { @@ -21,9 +22,12 @@ export interface QueryHelperEntity { expandFields: string[]; } + export default class ListService implements IListService { private web: IWeb; private baseUrl: string; + private static SharePointOnlineAudienceOOTBFieldName = "OData__ModernAudienceTargetUserField"; + public static MAX_TOP: number = 5000; constructor(siteUrl: string, useCache: boolean, cacheTime?: number, cacheType?: "session" | "local") { sp.setup({ @@ -40,7 +44,102 @@ export default class ListService implements IListService { this.baseUrl = siteUrl; } - private GetViewFieldsWithId(listQueryOptions: IListSearchListQuery, isCamlQuery: boolean): QueryHelperEntity { + public async getListItems(listQueryOptions: IListSearchListQuery, listPropertyName: string, sitePropertyName: string, sitePropertyValue: string, rowLimit: number, graphService?: GraphService): Promise> { + try { + let camlQuery: boolean = false; + let items: any = undefined; + let queryConfig: QueryHelperEntity = this.GetViewFieldsWithId(listQueryOptions, !isEmpty(listQueryOptions.camlQuery) || !isEmpty(listQueryOptions.viewName), false); + if (listQueryOptions.camlQuery) { + let query = this.getCamlQueryWithViewFieldsAndRowLimit(listQueryOptions.camlQuery, queryConfig, rowLimit); + items = await this.getListItemsByCamlQuery(listQueryOptions.list.Id, query, queryConfig); + } + else { + if (listQueryOptions.viewName) { + let viewInfo: any = await this.web.lists.getById(listQueryOptions.list.Id).views.getByTitle(listQueryOptions.viewName).select("ViewQuery").get(); + let query = this.getCamlQueryWithViewFieldsAndRowLimit(`${viewInfo.ViewQuery}`, queryConfig, rowLimit); + items = await this.getListItemsByCamlQuery(listQueryOptions.list.Id, query, queryConfig); + } + else { + items = await sp.web.lists.getById(listQueryOptions.list.Id).items + .select(queryConfig.viewFields.join(',')) + .top(rowLimit || ListService.MAX_TOP) + .expand(queryConfig.expandFields.join(',')).usingCaching().get(); + } + } + + if (listQueryOptions.audienceEnabled && graphService) { + let userGroups: string[] = await graphService.getTransitiveMemberOf(); + items = this.getAudienceItems(items, userGroups); + } + + let mappedItems = items.map((i: IResult) => { + i.FileExtension = this.GetFileExtension(i.FileLeafRef); + i.SiteUrl = this.baseUrl; + i.ListName = listQueryOptions.list.Title; + i.List = listQueryOptions.list; + + listQueryOptions.fields.map(field => { + i = this.GetItemValue(i, field, camlQuery); + }); + + if (listPropertyName) { + i[listPropertyName] = listQueryOptions.list.Title; + } + if (sitePropertyName) { + i[sitePropertyName] = sitePropertyValue; + } + return i; + }); + return mappedItems; + } catch (error) { + return Promise.reject(error); + } + } + + public async getListItemById(listQueryOptions: IListSearchListQuery, itemId: number): Promise { + try { + let queryConfig: QueryHelperEntity = this.GetViewFieldsWithId(listQueryOptions, false, true); + return this.web.lists.getById(listQueryOptions.list.Id).items.getById(itemId).select(queryConfig.viewFields.join(',')).expand(queryConfig.expandFields.join(',')).usingCaching().get(); + } catch (error) { + return Promise.reject(error); + } + } + + public async getSiteListsTitle(): Promise> { + try { + return this.web.lists.filter('Hidden eq false').select('Title,Id').get(); + } catch (error) { + return Promise.reject(error); + } + } + + public async getListFields(listId: string): Promise> { + try { + return this.web.lists.getById(listId).fields.select('EntityPropertyName,Title,InternalName,TypeAsString').get(); + } catch (error) { + return Promise.reject(error); + } + } + + private getAudienceItems(itemsToFilter: IResult[], userGroups: string[]) { + let results: IResult[] = []; + userGroups && itemsToFilter.map(item => { + let itemAudiencesIds: string[] = item.OData__ModernAudienceTargetUserField && item.OData__ModernAudienceTargetUserField.map(audience => { return audience.Name.split("|")[2]; }); + if (itemAudiencesIds) { + let matches: string[] = intersection(itemAudiencesIds, userGroups); + if (matches && matches.length > 0) { + results.push(item); + } + } + else { + results.push(item); + } + }); + + return results; + } + + private GetViewFieldsWithId(listQueryOptions: IListSearchListQuery, isCamlQuery: boolean, isItemId: boolean): QueryHelperEntity { let result: QueryHelperEntity = { expandFields: [], viewFields: ['ServerUrl', 'FileLeafRef', 'Id', 'UniqueId'] }; let hasToAddFieldsAsText: boolean = false; listQueryOptions.fields.map(field => { @@ -100,6 +199,11 @@ export default class ListService implements IListService { result.expandFields.push('FieldValuesAsText'); } + if (listQueryOptions.audienceEnabled && !isItemId) { + result.expandFields.push(ListService.SharePointOnlineAudienceOOTBFieldName); + result.viewFields.push(`${ListService.SharePointOnlineAudienceOOTBFieldName}/Name`); + } + return result; } @@ -186,90 +290,6 @@ export default class ListService implements IListService { return item; } - public async getListItems(listQueryOptions: IListSearchListQuery, listPropertyName: string, sitePropertyName: string, sitePropertyValue: string, rowLimit: number): Promise> { - try { - let camlQuery: boolean = false; - let items: any = undefined; - let queryConfig: QueryHelperEntity = this.GetViewFieldsWithId(listQueryOptions, !isEmpty(listQueryOptions.camlQuery) || !isEmpty(listQueryOptions.viewName)); - if (listQueryOptions.camlQuery) { - let query = this.getCamlQueryWithViewFieldsAndRowLimit(listQueryOptions.camlQuery, queryConfig, rowLimit); - items = await this.getListItemsByCamlQuery(listQueryOptions.list.Id, query, queryConfig); - } - else { - if (listQueryOptions.viewName) { - let viewInfo: any = await this.web.lists.getById(listQueryOptions.list.Id).views.getByTitle(listQueryOptions.viewName).select("ViewQuery").get(); - let query = this.getCamlQueryWithViewFieldsAndRowLimit(`${viewInfo.ViewQuery}`, queryConfig, rowLimit); - items = await this.getListItemsByCamlQuery(listQueryOptions.list.Id, query, queryConfig); - } - else { - if (rowLimit) { - if (queryConfig.expandFields && queryConfig.expandFields.length > 0) { - items = await this.web.lists.getById(listQueryOptions.list.Id).items.select(queryConfig.viewFields.join(',')).expand(queryConfig.expandFields.join(',')).usingCaching().get(); - } - else { - items = await this.web.lists.getById(listQueryOptions.list.Id).items.top(rowLimit).select(queryConfig.viewFields.join(',')).usingCaching().get(); - } - } - else { - if (queryConfig.expandFields && queryConfig.expandFields.length > 0) { - items = await this.web.lists.getById(listQueryOptions.list.Id).items.select(queryConfig.viewFields.join(',')).expand(queryConfig.expandFields.join(',')).usingCaching().get(); - } - else { - items = await this.web.lists.getById(listQueryOptions.list.Id).items.select(queryConfig.viewFields.join(',')).usingCaching().get(); - } - } - } - - } - let mappedItems = items.map((i: IResult) => { - i.FileExtension = this.GetFileExtension(i.FileLeafRef); - i.SiteUrl = this.baseUrl; - i.ListName = listQueryOptions.list.Title; - i.List = listQueryOptions.list; - - listQueryOptions.fields.map(field => { - i = this.GetItemValue(i, field, camlQuery); - }); - - if (listPropertyName) { - i[listPropertyName] = listQueryOptions.list.Title; - } - if (sitePropertyName) { - i[sitePropertyName] = sitePropertyValue; - } - return i; - }); - return mappedItems; - } catch (error) { - return Promise.reject(error); - } - } - - public async getListItemById(listQueryOptions: IListSearchListQuery, itemId: number): Promise { - try { - let queryConfig: QueryHelperEntity = this.GetViewFieldsWithId(listQueryOptions, false); - return this.web.lists.getById(listQueryOptions.list.Id).items.getById(itemId).select(queryConfig.viewFields.join(',')).expand(queryConfig.expandFields.join(',')).usingCaching().get(); - } catch (error) { - return Promise.reject(error); - } - } - - public async getSiteListsTitle(): Promise> { - try { - return this.web.lists.filter('Hidden eq false').select('Title,Id').get(); - } catch (error) { - return Promise.reject(error); - } - } - - public async getListFields(listId: string): Promise> { - try { - return this.web.lists.getById(listId).fields.select('EntityPropertyName,Title,InternalName,TypeAsString').get(); - } catch (error) { - return Promise.reject(error); - } - } - private async getListItemsByCamlQuery(listId: string, camlQuery: string, queryConfig: QueryHelperEntity): Promise> { try { const caml: ICamlQuery = {