diff --git a/.ash_history b/.ash_history index d7c1fc5f6..c0660692b 100644 --- a/.ash_history +++ b/.ash_history @@ -11,3 +11,6 @@ npm run serve npm install -D @types/leaflet babel-loader @babel/core @babel/preset-env @babel/plugin-proposal-nullish-coalescing-operator npm run serve exit +npm run serve +npm install @pnp/spfx-controls-react --save --save-exact +npm run serve diff --git a/config/config.json b/config/config.json index 3184c197f..568fb1fff 100644 --- a/config/config.json +++ b/config/config.json @@ -13,6 +13,7 @@ }, "externals": {}, "localizedResources": { - "MapWebPartStrings": "lib/webparts/map/loc/{locale}.js" + "MapWebPartStrings": "lib/webparts/map/loc/{locale}.js", + "ControlStrings": "node_modules/@pnp/spfx-controls-react/lib/loc/{locale}.js" } -} +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index b4f6cad3f..a34a43f7c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1430,7 +1430,6 @@ "version": "7.17.2", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.2.tgz", "integrity": "sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw==", - "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } @@ -1504,6 +1503,45 @@ "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", "dev": true }, + "@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" + }, + "dependencies": { + "csstype": { + "version": "2.6.19", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.19.tgz", + "integrity": "sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==" + } + } + }, + "@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==" + }, "@eslint/eslintrc": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz", @@ -1536,6 +1574,16 @@ } } }, + "@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" + } + }, "@fluentui/date-time-utilities": { "version": "7.9.1", "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.1.tgz", @@ -1562,6 +1610,94 @@ "tslib": "^1.10.0" } }, + "@fluentui/merge-styles": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.3.0.tgz", + "integrity": "sha512-qI61vWnmSuZYopMfWbEkTuDmnedmOYmsphTwflG6zif1EPV6h5u3dDUfHnmHMahywNOLOv5MOa+zVU0SCEHSAg==", + "requires": { + "@fluentui/set-version": "^8.1.5", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + } + } + }, + "@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" + } + }, + "@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.18.2", "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.18.2.tgz", @@ -1575,6 +1711,155 @@ "tslib": "^1.10.0" } }, + "@fluentui/react-hooks": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-hooks/-/react-hooks-8.4.0.tgz", + "integrity": "sha512-BI0lp+5rlabvXpV6uCEP+cCvCJy5srlrPZ2J63Jr1T+nWnn7CKJ5mgE2Uc+VYW9EoHRLJAFbrD0a9WYkXKZ3xA==", + "requires": { + "@fluentui/react-window-provider": "^2.1.6", + "@fluentui/set-version": "^8.1.5", + "@fluentui/utilities": "^8.5.0", + "tslib": "^2.1.0" + }, + "dependencies": { + "@fluentui/react-window-provider": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.1.6.tgz", + "integrity": "sha512-Fr1THmtn/Kx95/WVXI1qIELX2VHpuGYVKWSpdgbpcmKukvk30h4JG6kKMGYPz3r7UeaTzpaeIw537A9CJ2hVMg==", + "requires": { + "@fluentui/set-version": "^8.1.5", + "tslib": "^2.1.0" + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + } + } + }, + "@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.3", + "resolved": "https://registry.npmjs.org/@fluentui/react-northstar/-/react-northstar-0.51.3.tgz", + "integrity": "sha512-bKomvwj0BjhzMefm0//nJCBpq+4KRqdhA8S/UISZd+CO7u5gV0PDD7bcIvO0Bou6z/IXMf7J1MJ4hQJaZ96GZw==", + "requires": { + "@babel/runtime": "^7.10.4", + "@fluentui/accessibility": "^0.51.3", + "@fluentui/date-time-utilities": "^7.3.0", + "@fluentui/keyboard-key": "^0.2.7", + "@fluentui/react-bindings": "^0.51.3", + "@fluentui/react-component-event-listener": "^0.51.3", + "@fluentui/react-component-nesting-registry": "^0.51.3", + "@fluentui/react-component-ref": "^0.51.3", + "@fluentui/react-compose": "^0.12.5", + "@fluentui/react-context-selector": "^0.51.3", + "@fluentui/react-icons-northstar": "^0.51.3", + "@fluentui/react-northstar-styles-renderer": "^0.51.3", + "@fluentui/react-proptypes": "^0.51.3", + "@fluentui/state": "^0.51.3", + "@fluentui/styles": "^0.51.3", + "@popperjs/core": "^2.4.2", + "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" + } + }, + "@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" + } + }, + "@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" + } + }, + "@fluentui/react-stylesheets": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-stylesheets/-/react-stylesheets-0.2.5.tgz", + "integrity": "sha512-8yVEgZH+sLhIMuQI6lEtlRjvyMuPDjfEMgXfcU6n6mgp4AOdXMDKf8wbvNO8aOnDeT92EydvmZzvXVHDr5uGkg==", + "requires": { + "@uifabric/set-version": "^7.0.24", + "tslib": "^1.10.0" + } + }, + "@fluentui/react-theme-provider": { + "version": "0.18.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-theme-provider/-/react-theme-provider-0.18.5.tgz", + "integrity": "sha512-eAbha0U4Fly9EoHVOVMMc+2AA1PlQDu76qGVNAdj0IpJyJEkyerCDY/qYVjV21L9ju5uO8Yw1QYdHUsNaY9xvQ==", + "requires": { + "@fluentui/react-compose": "^0.19.15", + "@fluentui/react-stylesheets": "^0.2.5", + "@fluentui/react-window-provider": "^1.0.2", + "@fluentui/theme": "^1.7.4", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/react-hooks": "^7.13.12", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "classnames": "^2.2.6", + "tslib": "^1.10.0" + }, + "dependencies": { + "@fluentui/react-compose": { + "version": "0.19.15", + "resolved": "https://registry.npmjs.org/@fluentui/react-compose/-/react-compose-0.19.15.tgz", + "integrity": "sha512-54a28yt9EDf/ZzKKzLIUziwIK0eucoTqkWmZZh6T559rf85XcpH9Wvu7240C7nhUUZ0Fr+flt2QBl5RAyFKFdg==", + "requires": { + "@types/classnames": "^2.2.9", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "classnames": "^2.2.6", + "tslib": "^1.10.0" + } + } + } + }, "@fluentui/react-window-provider": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.2.tgz", @@ -1584,6 +1869,46 @@ "tslib": "^1.10.0" } }, + "@fluentui/set-version": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/@fluentui/set-version/-/set-version-8.1.5.tgz", + "integrity": "sha512-AfaycaduWd/aErqEmrAUWpr2gpZrkaSe6D9noXhtVH3JlreRuFM78Ji1oE4f8cpWxSA/K5qb7BT6x4z4I2Bs+A==", + "requires": { + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + } + } + }, + "@fluentui/state": { + "version": "0.51.7", + "resolved": "https://registry.npmjs.org/@fluentui/state/-/state-0.51.7.tgz", + "integrity": "sha512-sTCv3hnEpmWW/hjw+vmloaslNnYmFYeN8J9uJzYBGVi9NKKLvXtMKeoaikAXBVpnmMknl67VCapjauF0NxXDjQ==", + "requires": { + "@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": { + "csstype": { + "version": "2.6.19", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.19.tgz", + "integrity": "sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==" + } + } + }, "@fluentui/theme": { "version": "1.7.4", "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz", @@ -1595,6 +1920,52 @@ "tslib": "^1.10.0" } }, + "@fluentui/utilities": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.5.0.tgz", + "integrity": "sha512-npuYmwQfCx2WggW0MHwKgpaSPdk62FtQLmw0zoCNdSNDDQ5u3lWKScwy7FR3Nn1jjL0CDaC9PnD8ults2iIeSg==", + "requires": { + "@fluentui/dom-utilities": "^2.1.5", + "@fluentui/merge-styles": "^8.3.0", + "@fluentui/set-version": "^8.1.5", + "tslib": "^2.1.0" + }, + "dependencies": { + "@fluentui/dom-utilities": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.1.5.tgz", + "integrity": "sha512-OLDYV5ZGIiK/JXx/DFFib4vSa7PELvznbdAujDcX2wjt3V3Lt2N5ucv59JsVxk5LlwXjasUHJI2NZadagmnM6A==", + "requires": { + "@fluentui/set-version": "^8.1.5", + "tslib": "^2.1.0" + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + } + } + }, + "@fluentui/web-components": { + "version": "0.22.1", + "resolved": "https://registry.npmjs.org/@fluentui/web-components/-/web-components-0.22.1.tgz", + "integrity": "sha512-dnMgBRC2vXPa8Br2DpoJG9Fj+WNDlOEtJPzXDiDZss3ddnhsd1djzOEaHoYWayqYumA6ZU2tet5qaqF2i2lqOQ==", + "requires": { + "@microsoft/fast-colors": "^5.1.0", + "@microsoft/fast-element": "^1.0.0", + "@microsoft/fast-foundation": "^1.16.0", + "lodash-es": "^4.17.20", + "tslib": "^1.13.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, "@gar/promisify": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", @@ -2181,6 +2552,79 @@ "@rushstack/node-core-library": "3.38.0" } }, + "@microsoft/fast-colors": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@microsoft/fast-colors/-/fast-colors-5.1.5.tgz", + "integrity": "sha512-g8FByhbmRxibSpHkDE90CLCsh61HzH4ujPBG5N1zWXgM8LtzaF6OYBzfd8uGJ/md+SGeHf3aH9fcT8HTCbarXw==" + }, + "@microsoft/fast-element": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@microsoft/fast-element/-/fast-element-1.7.2.tgz", + "integrity": "sha512-bV+wFQUoMtyd1ccwE6k8CVjWSWQv9wgMj6nA2j2l5EtcN8+/XT23Ljce98GaMdIBARYpb35RQwCQq7stVWZUTg==" + }, + "@microsoft/fast-foundation": { + "version": "1.24.8", + "resolved": "https://registry.npmjs.org/@microsoft/fast-foundation/-/fast-foundation-1.24.8.tgz", + "integrity": "sha512-n4O9jPh8BBliF/Yl9FAVhrSoopsRCnva2L432s/fHwLelY9WUeswjO3DidVBFbzXD5u/gzC4LGWJScNe/ZGU4Q==", + "requires": { + "@microsoft/fast-element": "^1.4.0", + "@microsoft/fast-web-utilities": "^4.8.0", + "@microsoft/tsdoc-config": "^0.13.4", + "tabbable": "^5.2.0", + "tslib": "^1.13.0" + }, + "dependencies": { + "@microsoft/tsdoc": { + "version": "0.12.24", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.12.24.tgz", + "integrity": "sha512-Mfmij13RUTmHEMi9vRUhMXD7rnGR2VvxeNYtaGtaJ4redwwjT4UXYJ+nzmVJF7hhd4pn/Fx5sncDKxMVFJSWPg==" + }, + "@microsoft/tsdoc-config": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.13.9.tgz", + "integrity": "sha512-VqqZn+rT9f6XujFPFR2aN9XKF/fuir/IzKVzoxI0vXIzxysp4ee6S2jCakmlGFHEasibifFTsJr7IYmRPxfzYw==", + "requires": { + "@microsoft/tsdoc": "0.12.24", + "ajv": "~6.12.6", + "jju": "~1.4.0", + "resolve": "~1.19.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@microsoft/fast-web-utilities": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/@microsoft/fast-web-utilities/-/fast-web-utilities-4.8.1.tgz", + "integrity": "sha512-P3xeyUwQ9nPkFrgAdmkOzaXxIq8YqMU5K+LXcoHgJddJCBCKfGWW9OZQOTigLddItTyVyfO8qsJpDQb1TskKHA==", + "requires": { + "exenv-es6": "^1.0.0" + } + }, "@microsoft/gulp-core-build": { "version": "3.17.17", "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build/-/gulp-core-build-3.17.17.tgz", @@ -2552,6 +2996,128 @@ } } }, + "@microsoft/mgt-components": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@microsoft/mgt-components/-/mgt-components-2.3.0.tgz", + "integrity": "sha512-quyCfVO2A2oSqHOMLkCvhXuwOUYQfOlMDklxV3KVu6nVaAQtCPyciGH6kDMnIAEg2WgxMrurF1KvrsGWAZ8NUw==", + "requires": { + "@fluentui/web-components": "0.22.1", + "@microsoft/mgt-element": "2.3.0", + "@microsoft/microsoft-graph-client": "^2.2.1", + "@microsoft/microsoft-graph-types": "^2.0.0", + "@microsoft/microsoft-graph-types-beta": "^0.15.0-preview", + "office-ui-fabric-core": "11.0.0" + }, + "dependencies": { + "@microsoft/microsoft-graph-client": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@microsoft/microsoft-graph-client/-/microsoft-graph-client-2.2.1.tgz", + "integrity": "sha512-fbDN3UJ+jtSP9llAejqmslMcv498YuIrS3OS/Luivb8OSjdUESZKdP0gcUunnuNIayePVT0/bGYSJTzAIptJQQ==", + "requires": { + "@babel/runtime": "^7.4.4", + "msal": "^1.4.4", + "tslib": "^1.9.3" + } + }, + "office-ui-fabric-core": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/office-ui-fabric-core/-/office-ui-fabric-core-11.0.0.tgz", + "integrity": "sha512-K6+KGnBXXjfSxxZpp+4oDXVLgUc//7OnXrn8F08VoJnGhEz27WUf4ZuMa32SjGoqirWlb4JlKkXbOpC9cis6dQ==" + } + } + }, + "@microsoft/mgt-element": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@microsoft/mgt-element/-/mgt-element-2.3.0.tgz", + "integrity": "sha512-5nF+aNS6EcUBk2ANlJHJIpuotUcUZDuqlhXzxyGP3mWO2CVUIEAfu9Oksld9pn4+z48m22MyXyom5IXB+dZCYQ==", + "requires": { + "@microsoft/microsoft-graph-client": "^2.2.1", + "idb": "6.0.0", + "lit-element": "^2.4.0" + }, + "dependencies": { + "@microsoft/microsoft-graph-client": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@microsoft/microsoft-graph-client/-/microsoft-graph-client-2.2.1.tgz", + "integrity": "sha512-fbDN3UJ+jtSP9llAejqmslMcv498YuIrS3OS/Luivb8OSjdUESZKdP0gcUunnuNIayePVT0/bGYSJTzAIptJQQ==", + "requires": { + "@babel/runtime": "^7.4.4", + "msal": "^1.4.4", + "tslib": "^1.9.3" + } + } + } + }, + "@microsoft/mgt-react": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@microsoft/mgt-react/-/mgt-react-2.3.0.tgz", + "integrity": "sha512-V2cWoB1QrhlEvGciJV+CaIWxgpgSRS/aZIC4nM+8fsE/tNJTzj39vMlAjYrdmgPb/7qctfWt6sb3t2Pj95S5/g==", + "requires": { + "@microsoft/mgt-components": "2.3.0", + "@microsoft/mgt-element": "2.3.0", + "@microsoft/microsoft-graph-types": "^2.0.0", + "@microsoft/microsoft-graph-types-beta": "^0.15.0-preview", + "wc-react": "^0.5.0" + } + }, + "@microsoft/mgt-sharepoint-provider": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@microsoft/mgt-sharepoint-provider/-/mgt-sharepoint-provider-2.3.0.tgz", + "integrity": "sha512-bhnQWKW/vZB2ZTtYaVDWOb5mL9PZo974/ylaYmEYEqe9KVtnzI//UoBtkmu3X20o67h9JqttB/2fmdhrR1sTWw==", + "requires": { + "@microsoft/mgt-element": "2.3.0" + } + }, + "@microsoft/mgt-spfx": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@microsoft/mgt-spfx/-/mgt-spfx-2.3.0.tgz", + "integrity": "sha512-SEevFxKnzn7rXKlXblXDDgswa5BQHKKAfNLya5Ui6mwCEWK+R8NEx93RfBEhdaLxDQWZACRGyff2ZZChBwceEw==", + "requires": { + "@microsoft/mgt-components": "2.3.0", + "@microsoft/mgt-element": "2.3.0", + "@microsoft/mgt-sharepoint-provider": "2.3.0", + "@microsoft/sp-core-library": "1.12.1" + }, + "dependencies": { + "@microsoft/sp-core-library": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-core-library/-/sp-core-library-1.12.1.tgz", + "integrity": "sha512-LyycIx5ivku9i315mm6LJVTl/zfTaCLHTmJTftCZkLSxVIKhK1D3/4QGa/cdsZRPVYho/ZZBK5HnPYhIjN08/g==", + "requires": { + "@microsoft/sp-lodash-subset": "1.12.1", + "@microsoft/sp-module-interfaces": "1.12.1", + "@microsoft/sp-odata-types": "1.12.1", + "tslib": "~1.10.0" + } + }, + "@microsoft/sp-lodash-subset": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-lodash-subset/-/sp-lodash-subset-1.12.1.tgz", + "integrity": "sha512-gLKdYjL3jtb1hegxnU3gvCzu4ygWTg4Gjl5jcH85zphuDEUfGrWVaAVJ6DbzhLQ+l34Tl9eUyW/ZBW2hh6hZMA==", + "requires": { + "@types/lodash": "4.14.117", + "tslib": "~1.10.0" + } + }, + "@microsoft/sp-module-interfaces": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-module-interfaces/-/sp-module-interfaces-1.12.1.tgz", + "integrity": "sha512-yTiVlig0+VhEE7TypcOn66sP/Tbl0SzBSOSVMugA9kD31U8Cj134yqHzYneSQ1kBRRUmE8aHLYuSEdojv2hZbg==", + "requires": { + "@types/z-schema": "3.16.31", + "z-schema": "~3.18.3" + } + }, + "@microsoft/sp-odata-types": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-odata-types/-/sp-odata-types-1.12.1.tgz", + "integrity": "sha512-BOQDAEz1Bfs/o9oOBhyBQrKhhnkA7g3uby9So3UEIlpx/0AOfKRmF+6kao9DJyg/KDUfxGbBCLs+Y/IAG2OhJw==", + "requires": { + "tslib": "~1.10.0" + } + } + } + }, "@microsoft/microsoft-graph-client": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@microsoft/microsoft-graph-client/-/microsoft-graph-client-1.1.0.tgz", @@ -2561,6 +3127,16 @@ "isomorphic-fetch": "^2.2.1" } }, + "@microsoft/microsoft-graph-types": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/@microsoft/microsoft-graph-types/-/microsoft-graph-types-2.16.0.tgz", + "integrity": "sha512-Qvxv9mpXb/F4xlESEkSLjREHj3dAixTkH3LVO6Ct6sllc5RWrQxPxaSGqW9IpcLU6jI49f2XNSGLotVef3Irdg==" + }, + "@microsoft/microsoft-graph-types-beta": { + "version": "0.15.0-preview", + "resolved": "https://registry.npmjs.org/@microsoft/microsoft-graph-types-beta/-/microsoft-graph-types-beta-0.15.0-preview.tgz", + "integrity": "sha512-M0zC4t3pmkDz7Qsjx/iZcS+zRuckzsbHESvT9qjLFv64RUgkRmDdmhcvPMiUqUzw/h3YxfYAq9MU+XWjROk/dg==" + }, "@microsoft/office-ui-fabric-react-bundle": { "version": "1.14.0", "resolved": "https://registry.npmjs.org/@microsoft/office-ui-fabric-react-bundle/-/office-ui-fabric-react-bundle-1.14.0.tgz", @@ -2596,6 +3172,11 @@ } } }, + "@microsoft/recognizers-text-data-types-timex-expression": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@microsoft/recognizers-text-data-types-timex-expression/-/recognizers-text-data-types-timex-expression-1.3.0.tgz", + "integrity": "sha512-REHUXmMUI1jL3b9v+aSdzKxLxRdejsfg9McYRxY3LW0Gu4UbwD7Q+K6mtSo40cwg8uh6fiV9GY8hDuKXHH6dVA==" + }, "@microsoft/rush-lib": { "version": "5.59.2", "resolved": "https://registry.npmjs.org/@microsoft/rush-lib/-/rush-lib-5.59.2.tgz", @@ -3276,6 +3857,217 @@ "tslib": "~1.10.0" } }, + "@microsoft/sp-extension-base": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-extension-base/-/sp-extension-base-1.13.1.tgz", + "integrity": "sha512-vb+ay0ZZU2nN1TD+vu1hADxaBFHUOEzml/gRaoTvdnUnULZtdbkMj6lI7nOLYHinmIT2EjHkk6Sbok2Uc92MNg==", + "requires": { + "@microsoft/sp-component-base": "1.13.1", + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-diagnostics": "1.13.1", + "@microsoft/sp-loader": "1.13.1", + "@microsoft/sp-module-interfaces": "1.13.1", + "tslib": "~1.10.0" + }, + "dependencies": { + "@microsoft/office-ui-fabric-react-bundle": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/office-ui-fabric-react-bundle/-/office-ui-fabric-react-bundle-1.13.1.tgz", + "integrity": "sha512-Tt99MShwPSqULImwsXT0umaG7mPTEwqbKq4ZvVJPjkydkpDZBTeDV6C+oGpqSa+wrbOi3Sk94Vyb71tY92W0VA==", + "requires": { + "@microsoft/sp-core-library": "1.13.1", + "@uifabric/icons": "7.6.0", + "office-ui-fabric-react": "7.176.2", + "react": "16.13.1", + "react-dom": "16.13.1", + "tslib": "~1.10.0" + } + }, + "@microsoft/sp-component-base": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-component-base/-/sp-component-base-1.13.1.tgz", + "integrity": "sha512-8jcxFs7GRPO4xyqs0U9bhxG0iS+5a2yCF0XanauzK5yweIVCjGUGatM581ynCP0hD+HshtdEYV0Y2zMZ9OGZxQ==", + "requires": { + "@microsoft/office-ui-fabric-react-bundle": "1.13.1", + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-diagnostics": "1.13.1", + "@microsoft/sp-dynamic-data": "1.13.1", + "@microsoft/sp-http": "1.13.1", + "@microsoft/sp-lodash-subset": "1.13.1", + "@microsoft/sp-module-interfaces": "1.13.1", + "@microsoft/sp-page-context": "1.13.1", + "tslib": "~1.10.0" + } + }, + "@microsoft/sp-core-library": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-core-library/-/sp-core-library-1.13.1.tgz", + "integrity": "sha512-qTBMa3whxhMXn79YS2S+jq+a+iAId9v+WvZOvcgre4dI/7LL7zPhbsHQTfWhzzuB4f2tPxkldHO8eOv63Ud68Q==", + "requires": { + "@microsoft/sp-lodash-subset": "1.13.1", + "@microsoft/sp-module-interfaces": "1.13.1", + "@microsoft/sp-odata-types": "1.13.1", + "tslib": "~1.10.0" + } + }, + "@microsoft/sp-diagnostics": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-diagnostics/-/sp-diagnostics-1.13.1.tgz", + "integrity": "sha512-KhzJo8kGL1M92WSDPhLlWyEnyAnkiRNMyQBb4eB9EYB8yZMhM2iBPpflIzatuJSOyNmq3jfmBS4G/ASg1tzyiQ==", + "requires": { + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-lodash-subset": "1.13.1" + } + }, + "@microsoft/sp-dynamic-data": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-dynamic-data/-/sp-dynamic-data-1.13.1.tgz", + "integrity": "sha512-x3Fk6dC5JgUOKhiFQ5JphMf9k+IhpLEWWk1bsmsLak3pCWeY9Xp3kR3SlrdPGaFtoa3wbFlEsYZ8Log+ut0b1w==", + "requires": { + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-diagnostics": "1.13.1", + "@microsoft/sp-lodash-subset": "1.13.1", + "@microsoft/sp-module-interfaces": "1.13.1", + "tslib": "~1.10.0" + } + }, + "@microsoft/sp-http": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-http/-/sp-http-1.13.1.tgz", + "integrity": "sha512-MhlFCOhFUUt7HpG3oa9LSu7O1dqmyJfU2Zmk+uPrUnudy5JIL2K83g5rv2TK8YeGXDXxKEmqZsOsWP4ZHbo9YQ==", + "requires": { + "@microsoft/microsoft-graph-client": "~1.1.0", + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-diagnostics": "1.13.1", + "@types/adal-angular": "1.0.1", + "adal-angular": "1.0.16", + "msal": "1.4.13", + "msalLegacy": "npm:msal@1.4.12", + "tslib": "~1.10.0" + } + }, + "@microsoft/sp-loader": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-loader/-/sp-loader-1.13.1.tgz", + "integrity": "sha512-Srry9SqR2JQA4l8+I1LTdO0lIkrekxWOxo9/2RgCbQtMyG6sSSCvw3VxUqRZ6VEFQbJzmmGFCWZRLGOho0GMlw==", + "requires": { + "@microsoft/office-ui-fabric-react-bundle": "1.13.1", + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-diagnostics": "1.13.1", + "@microsoft/sp-dynamic-data": "1.13.1", + "@microsoft/sp-http": "1.13.1", + "@microsoft/sp-lodash-subset": "1.13.1", + "@microsoft/sp-module-interfaces": "1.13.1", + "@microsoft/sp-odata-types": "1.13.1", + "@microsoft/sp-page-context": "1.13.1", + "@microsoft/sp-polyfills": "1.13.1", + "@rushstack/loader-raw-script": "1.3.175", + "@types/requirejs": "2.1.29", + "office-ui-fabric-react": "7.176.2", + "raw-loader": "~0.5.1", + "react": "16.13.1", + "react-dom": "16.13.1", + "requirejs": "2.3.6", + "tslib": "~1.10.0" + } + }, + "@microsoft/sp-lodash-subset": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-lodash-subset/-/sp-lodash-subset-1.13.1.tgz", + "integrity": "sha512-SXRG4KO0k/VVqWwkFFpC0177GxOOZ8jvsJHkg+i42+FyHGs5Uu4itffLarraGnPMokZLxHpkig9xRc8ZDytN7A==", + "requires": { + "@types/lodash": "4.14.117", + "tslib": "~1.10.0" + } + }, + "@microsoft/sp-module-interfaces": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-module-interfaces/-/sp-module-interfaces-1.13.1.tgz", + "integrity": "sha512-qrzmQW+T/2+s9/Lu1I0G1chF5DPN4xcR7znn3N3IjuM67o6E4cdvKel+m66mrqqzSGfo4qmCb6lGYTTYZsS3vw==" + }, + "@microsoft/sp-odata-types": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-odata-types/-/sp-odata-types-1.13.1.tgz", + "integrity": "sha512-+dHWQY4E44OT/2E8c+lsSAxQJiRiRgk4jLLpNeOj/NzlydS8D85iUyOGlKfbmRu/6ujrc31/L77juKKzPQh7kw==", + "requires": { + "tslib": "~1.10.0" + } + }, + "@microsoft/sp-page-context": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-page-context/-/sp-page-context-1.13.1.tgz", + "integrity": "sha512-BO8I0TWCaubYpMKZ3/eTeGC/tx1nRirk2ulkQ/ggk2PhuKJo6NGcXKo/JHe48Mje4Yh4d1r5FkjUGHoqKK3ruA==", + "requires": { + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-diagnostics": "1.13.1", + "@microsoft/sp-dynamic-data": "1.13.1", + "@microsoft/sp-lodash-subset": "1.13.1", + "@microsoft/sp-odata-types": "1.13.1", + "tslib": "~1.10.0" + } + }, + "@microsoft/sp-polyfills": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-polyfills/-/sp-polyfills-1.13.1.tgz", + "integrity": "sha512-sSN0su+v3tAzNTFt2QYJ/vzAIAZXZX6ox/1IFGFzNH0U30jdtfGG3vs5d45NkFkVLjDw9DL8Sc8uSi1lpEPNpA==", + "requires": { + "es6-promise": "4.2.4", + "es6-symbol": "3.1.3", + "tslib": "~1.10.0", + "whatwg-fetch": "2.0.3", + "whatwg-url": "4.7.1" + } + }, + "@rushstack/loader-raw-script": { + "version": "1.3.175", + "resolved": "https://registry.npmjs.org/@rushstack/loader-raw-script/-/loader-raw-script-1.3.175.tgz", + "integrity": "sha512-Rf+DewV7fMB5OX3yvhPNT5QRQgvI+2MWGbBmI0aYC5Aiax+RT5d+TN7CXket5CLFvT9/un3wN41vMtlnUbszKQ==", + "requires": { + "loader-utils": "~1.1.0" + } + }, + "@uifabric/icons": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.6.0.tgz", + "integrity": "sha512-Xx+CVMYOafJDijllYYkgE22lvKpKaodrB9XUgVSI77QveGcOV+x9z5FVa5CzwERb6Zjoafyj7q7SmH/EOi+AZw==", + "requires": { + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.1", + "tslib": "^1.10.0" + } + }, + "es6-promise": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", + "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==" + }, + "office-ui-fabric-react": { + "version": "7.176.2", + "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.176.2.tgz", + "integrity": "sha512-ACOgx0ccx93NtRLWJBunJLwVdgIbsnzR/lbn6J+XYTINUrSR4DBZCuNoAzZVi8t1RYd6MnouLyyyEUWneNC9QQ==", + "requires": { + "@fluentui/date-time-utilities": "^7.9.1", + "@fluentui/react-focus": "^7.18.0", + "@fluentui/react-window-provider": "^1.0.2", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/foundation": "^7.10.0", + "@uifabric/icons": "^7.6.0", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/react-hooks": "^7.14.0", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.1", + "@uifabric/utilities": "^7.33.5", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + } + }, + "whatwg-fetch": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + } + } + }, "@microsoft/sp-http": { "version": "1.14.0", "resolved": "https://registry.npmjs.org/@microsoft/sp-http/-/sp-http-1.14.0.tgz", @@ -3291,6 +4083,87 @@ "tslib": "~1.10.0" } }, + "@microsoft/sp-listview-extensibility": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-listview-extensibility/-/sp-listview-extensibility-1.13.1.tgz", + "integrity": "sha512-9/PGgzwBrCL4A4r/mNMcuvz+bIV/kiJO3UvCNPsDj2blmfAXaDqPjgAtbQDih5tUVlP1rD2zWkD1KXW3xVjUUg==", + "requires": { + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-extension-base": "1.13.1", + "@microsoft/sp-module-interfaces": "1.13.1", + "@microsoft/sp-page-context": "1.13.1", + "tslib": "~1.10.0" + }, + "dependencies": { + "@microsoft/sp-core-library": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-core-library/-/sp-core-library-1.13.1.tgz", + "integrity": "sha512-qTBMa3whxhMXn79YS2S+jq+a+iAId9v+WvZOvcgre4dI/7LL7zPhbsHQTfWhzzuB4f2tPxkldHO8eOv63Ud68Q==", + "requires": { + "@microsoft/sp-lodash-subset": "1.13.1", + "@microsoft/sp-module-interfaces": "1.13.1", + "@microsoft/sp-odata-types": "1.13.1", + "tslib": "~1.10.0" + } + }, + "@microsoft/sp-diagnostics": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-diagnostics/-/sp-diagnostics-1.13.1.tgz", + "integrity": "sha512-KhzJo8kGL1M92WSDPhLlWyEnyAnkiRNMyQBb4eB9EYB8yZMhM2iBPpflIzatuJSOyNmq3jfmBS4G/ASg1tzyiQ==", + "requires": { + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-lodash-subset": "1.13.1" + } + }, + "@microsoft/sp-dynamic-data": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-dynamic-data/-/sp-dynamic-data-1.13.1.tgz", + "integrity": "sha512-x3Fk6dC5JgUOKhiFQ5JphMf9k+IhpLEWWk1bsmsLak3pCWeY9Xp3kR3SlrdPGaFtoa3wbFlEsYZ8Log+ut0b1w==", + "requires": { + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-diagnostics": "1.13.1", + "@microsoft/sp-lodash-subset": "1.13.1", + "@microsoft/sp-module-interfaces": "1.13.1", + "tslib": "~1.10.0" + } + }, + "@microsoft/sp-lodash-subset": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-lodash-subset/-/sp-lodash-subset-1.13.1.tgz", + "integrity": "sha512-SXRG4KO0k/VVqWwkFFpC0177GxOOZ8jvsJHkg+i42+FyHGs5Uu4itffLarraGnPMokZLxHpkig9xRc8ZDytN7A==", + "requires": { + "@types/lodash": "4.14.117", + "tslib": "~1.10.0" + } + }, + "@microsoft/sp-module-interfaces": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-module-interfaces/-/sp-module-interfaces-1.13.1.tgz", + "integrity": "sha512-qrzmQW+T/2+s9/Lu1I0G1chF5DPN4xcR7znn3N3IjuM67o6E4cdvKel+m66mrqqzSGfo4qmCb6lGYTTYZsS3vw==" + }, + "@microsoft/sp-odata-types": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-odata-types/-/sp-odata-types-1.13.1.tgz", + "integrity": "sha512-+dHWQY4E44OT/2E8c+lsSAxQJiRiRgk4jLLpNeOj/NzlydS8D85iUyOGlKfbmRu/6ujrc31/L77juKKzPQh7kw==", + "requires": { + "tslib": "~1.10.0" + } + }, + "@microsoft/sp-page-context": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-page-context/-/sp-page-context-1.13.1.tgz", + "integrity": "sha512-BO8I0TWCaubYpMKZ3/eTeGC/tx1nRirk2ulkQ/ggk2PhuKJo6NGcXKo/JHe48Mje4Yh4d1r5FkjUGHoqKK3ruA==", + "requires": { + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-diagnostics": "1.13.1", + "@microsoft/sp-dynamic-data": "1.13.1", + "@microsoft/sp-lodash-subset": "1.13.1", + "@microsoft/sp-odata-types": "1.13.1", + "tslib": "~1.10.0" + } + } + } + }, "@microsoft/sp-loader": { "version": "1.14.0", "resolved": "https://registry.npmjs.org/@microsoft/sp-loader/-/sp-loader-1.14.0.tgz", @@ -4231,6 +5104,599 @@ } } }, + "@pnp/common": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pnp/common/-/common-2.5.0.tgz", + "integrity": "sha512-ea4zTNC3sjLolrHZXP+/2SrJM+yC8PygmPW/yRfgbErdvdwYMUSogT69dW+NUaqhkfYZfkkAoWn42irlLMSpdw==", + "requires": { + "tslib": "2.2.0" + }, + "dependencies": { + "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.5.0", + "resolved": "https://registry.npmjs.org/@pnp/logging/-/logging-2.5.0.tgz", + "integrity": "sha512-SnmMCN6oADjiHKAIR23FfTqXeQZeXPBnWeVfyZAgzJfRn9uEQoUlkyET3jHjl9kkrFOVkiOD1CRI7TWMIxURbA==", + "requires": { + "tslib": "2.2.0" + }, + "dependencies": { + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + } + } + }, + "@pnp/odata": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pnp/odata/-/odata-2.5.0.tgz", + "integrity": "sha512-AeP01jDvnkiUVn7V+4FT07chz+G/yzrJDH0Gk+qzujJ393ZO6FwJpJEiOCRh9cxF48gqSj/f7r/IIyDHe0+IpQ==", + "requires": { + "@pnp/common": "2.5.0", + "@pnp/logging": "2.5.0", + "tslib": "2.2.0" + }, + "dependencies": { + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + } + } + }, + "@pnp/sp": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pnp/sp/-/sp-2.5.0.tgz", + "integrity": "sha512-4s2p+X5qvkXR72NViKb8DIfC+pvj/a3psZ3Im5PRIan2ErMtu9ch3Lb9nkSaMCF3NTJxWOhkUQ/R6tx8ApaUkg==", + "requires": { + "@pnp/common": "2.5.0", + "@pnp/logging": "2.5.0", + "@pnp/odata": "2.5.0", + "tslib": "2.2.0" + }, + "dependencies": { + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + } + } + }, + "@pnp/spfx-controls-react": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@pnp/spfx-controls-react/-/spfx-controls-react-3.6.0.tgz", + "integrity": "sha512-tyYpJqhsqF4SMo/22WrX9t+zE/HwvxTuHG645/xjVng1fxQOiWpHH0o0AFGCh18Y7KRiIS5UyNlFTYY2nkpHHg==", + "requires": { + "@fluentui/react-hooks": "^8.2.6", + "@fluentui/react-northstar": "0.51.3", + "@fluentui/react-theme-provider": "^0.18.5", + "@fluentui/theme": "^2.4.7", + "@microsoft/mgt-react": "2.3.0", + "@microsoft/mgt-spfx": "2.3.0", + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-listview-extensibility": "1.13.1", + "@microsoft/sp-loader": "1.13.1", + "@microsoft/sp-lodash-subset": "1.13.1", + "@microsoft/sp-office-ui-fabric-core": "1.13.1", + "@microsoft/sp-property-pane": "1.13.1", + "@microsoft/sp-webpart-base": "1.13.1", + "@pnp/sp": "2.5.0", + "@pnp/telemetry-js": "2.0.0", + "@popperjs/core": "2.5.4", + "@types/react-mentions": "^4.1.3", + "@uifabric/icons": "7.3.0", + "adaptive-expressions": "^4.15.0", + "adaptivecards": "^2.10.0", + "adaptivecards-templating": "^2.2.0", + "animate.css": "^4.1.1", + "chart.js": "2.9.4", + "color": "3.1.2", + "date-fns": "^2.22.1", + "he": "^1.2.0", + "lodash": "4.17.21", + "markdown-it": "^12.3.2", + "office-ui-fabric-react": "7.174.1", + "react": "16.13.1", + "react-accessible-accordion": "^3.3.3", + "react-dom": "16.13.1", + "react-mentions": "^4.3.0", + "react-quill": "1.3.5", + "regexify-string": "^1.0.16", + "spfx-uifabric-themes": "^0.8.5" + }, + "dependencies": { + "@fluentui/theme": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-2.4.12.tgz", + "integrity": "sha512-dlBmGOp3Ib08iP1F2rU8gb/DX/tsbdzNNFT0WqlO+1bjAVwnmn46xuDpsvGgMz0ZRYN4ZXfpvWkWqXpDnsHS9g==", + "requires": { + "@fluentui/merge-styles": "^8.3.0", + "@fluentui/set-version": "^8.1.5", + "@fluentui/utilities": "^8.5.0", + "tslib": "^2.1.0" + } + }, + "@microsoft/office-ui-fabric-react-bundle": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/office-ui-fabric-react-bundle/-/office-ui-fabric-react-bundle-1.13.1.tgz", + "integrity": "sha512-Tt99MShwPSqULImwsXT0umaG7mPTEwqbKq4ZvVJPjkydkpDZBTeDV6C+oGpqSa+wrbOi3Sk94Vyb71tY92W0VA==", + "requires": { + "@microsoft/sp-core-library": "1.13.1", + "@uifabric/icons": "7.6.0", + "office-ui-fabric-react": "7.176.2", + "react": "16.13.1", + "react-dom": "16.13.1", + "tslib": "~1.10.0" + }, + "dependencies": { + "@uifabric/icons": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.6.0.tgz", + "integrity": "sha512-Xx+CVMYOafJDijllYYkgE22lvKpKaodrB9XUgVSI77QveGcOV+x9z5FVa5CzwERb6Zjoafyj7q7SmH/EOi+AZw==", + "requires": { + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.1", + "tslib": "^1.10.0" + } + }, + "office-ui-fabric-react": { + "version": "7.176.2", + "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.176.2.tgz", + "integrity": "sha512-ACOgx0ccx93NtRLWJBunJLwVdgIbsnzR/lbn6J+XYTINUrSR4DBZCuNoAzZVi8t1RYd6MnouLyyyEUWneNC9QQ==", + "requires": { + "@fluentui/date-time-utilities": "^7.9.1", + "@fluentui/react-focus": "^7.18.0", + "@fluentui/react-window-provider": "^1.0.2", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/foundation": "^7.10.0", + "@uifabric/icons": "^7.6.0", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/react-hooks": "^7.14.0", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.1", + "@uifabric/utilities": "^7.33.5", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + } + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + } + } + }, + "@microsoft/sp-component-base": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-component-base/-/sp-component-base-1.13.1.tgz", + "integrity": "sha512-8jcxFs7GRPO4xyqs0U9bhxG0iS+5a2yCF0XanauzK5yweIVCjGUGatM581ynCP0hD+HshtdEYV0Y2zMZ9OGZxQ==", + "requires": { + "@microsoft/office-ui-fabric-react-bundle": "1.13.1", + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-diagnostics": "1.13.1", + "@microsoft/sp-dynamic-data": "1.13.1", + "@microsoft/sp-http": "1.13.1", + "@microsoft/sp-lodash-subset": "1.13.1", + "@microsoft/sp-module-interfaces": "1.13.1", + "@microsoft/sp-page-context": "1.13.1", + "tslib": "~1.10.0" + }, + "dependencies": { + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + } + } + }, + "@microsoft/sp-core-library": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-core-library/-/sp-core-library-1.13.1.tgz", + "integrity": "sha512-qTBMa3whxhMXn79YS2S+jq+a+iAId9v+WvZOvcgre4dI/7LL7zPhbsHQTfWhzzuB4f2tPxkldHO8eOv63Ud68Q==", + "requires": { + "@microsoft/sp-lodash-subset": "1.13.1", + "@microsoft/sp-module-interfaces": "1.13.1", + "@microsoft/sp-odata-types": "1.13.1", + "tslib": "~1.10.0" + }, + "dependencies": { + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + } + } + }, + "@microsoft/sp-diagnostics": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-diagnostics/-/sp-diagnostics-1.13.1.tgz", + "integrity": "sha512-KhzJo8kGL1M92WSDPhLlWyEnyAnkiRNMyQBb4eB9EYB8yZMhM2iBPpflIzatuJSOyNmq3jfmBS4G/ASg1tzyiQ==", + "requires": { + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-lodash-subset": "1.13.1" + } + }, + "@microsoft/sp-dynamic-data": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-dynamic-data/-/sp-dynamic-data-1.13.1.tgz", + "integrity": "sha512-x3Fk6dC5JgUOKhiFQ5JphMf9k+IhpLEWWk1bsmsLak3pCWeY9Xp3kR3SlrdPGaFtoa3wbFlEsYZ8Log+ut0b1w==", + "requires": { + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-diagnostics": "1.13.1", + "@microsoft/sp-lodash-subset": "1.13.1", + "@microsoft/sp-module-interfaces": "1.13.1", + "tslib": "~1.10.0" + }, + "dependencies": { + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + } + } + }, + "@microsoft/sp-http": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-http/-/sp-http-1.13.1.tgz", + "integrity": "sha512-MhlFCOhFUUt7HpG3oa9LSu7O1dqmyJfU2Zmk+uPrUnudy5JIL2K83g5rv2TK8YeGXDXxKEmqZsOsWP4ZHbo9YQ==", + "requires": { + "@microsoft/microsoft-graph-client": "~1.1.0", + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-diagnostics": "1.13.1", + "@types/adal-angular": "1.0.1", + "adal-angular": "1.0.16", + "msal": "1.4.13", + "msalLegacy": "npm:msal@1.4.12", + "tslib": "~1.10.0" + }, + "dependencies": { + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + } + } + }, + "@microsoft/sp-loader": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-loader/-/sp-loader-1.13.1.tgz", + "integrity": "sha512-Srry9SqR2JQA4l8+I1LTdO0lIkrekxWOxo9/2RgCbQtMyG6sSSCvw3VxUqRZ6VEFQbJzmmGFCWZRLGOho0GMlw==", + "requires": { + "@microsoft/office-ui-fabric-react-bundle": "1.13.1", + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-diagnostics": "1.13.1", + "@microsoft/sp-dynamic-data": "1.13.1", + "@microsoft/sp-http": "1.13.1", + "@microsoft/sp-lodash-subset": "1.13.1", + "@microsoft/sp-module-interfaces": "1.13.1", + "@microsoft/sp-odata-types": "1.13.1", + "@microsoft/sp-page-context": "1.13.1", + "@microsoft/sp-polyfills": "1.13.1", + "@rushstack/loader-raw-script": "1.3.175", + "@types/requirejs": "2.1.29", + "office-ui-fabric-react": "7.176.2", + "raw-loader": "~0.5.1", + "react": "16.13.1", + "react-dom": "16.13.1", + "requirejs": "2.3.6", + "tslib": "~1.10.0" + }, + "dependencies": { + "@uifabric/icons": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.6.2.tgz", + "integrity": "sha512-q7jEIwB5Tt2Egw9fqdgNPlBqBQ6hNNMQ3qs5y4S4YETRluB+AQTdKbrbYMsXo3Pm0FsJnRfiDojMzxusGX+MWA==", + "requires": { + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.20.0", + "tslib": "^1.10.0" + } + }, + "office-ui-fabric-react": { + "version": "7.176.2", + "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.176.2.tgz", + "integrity": "sha512-ACOgx0ccx93NtRLWJBunJLwVdgIbsnzR/lbn6J+XYTINUrSR4DBZCuNoAzZVi8t1RYd6MnouLyyyEUWneNC9QQ==", + "requires": { + "@fluentui/date-time-utilities": "^7.9.1", + "@fluentui/react-focus": "^7.18.0", + "@fluentui/react-window-provider": "^1.0.2", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/foundation": "^7.10.0", + "@uifabric/icons": "^7.6.0", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/react-hooks": "^7.14.0", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.1", + "@uifabric/utilities": "^7.33.5", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + } + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + } + } + }, + "@microsoft/sp-lodash-subset": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-lodash-subset/-/sp-lodash-subset-1.13.1.tgz", + "integrity": "sha512-SXRG4KO0k/VVqWwkFFpC0177GxOOZ8jvsJHkg+i42+FyHGs5Uu4itffLarraGnPMokZLxHpkig9xRc8ZDytN7A==", + "requires": { + "@types/lodash": "4.14.117", + "tslib": "~1.10.0" + }, + "dependencies": { + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + } + } + }, + "@microsoft/sp-module-interfaces": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-module-interfaces/-/sp-module-interfaces-1.13.1.tgz", + "integrity": "sha512-qrzmQW+T/2+s9/Lu1I0G1chF5DPN4xcR7znn3N3IjuM67o6E4cdvKel+m66mrqqzSGfo4qmCb6lGYTTYZsS3vw==" + }, + "@microsoft/sp-odata-types": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-odata-types/-/sp-odata-types-1.13.1.tgz", + "integrity": "sha512-+dHWQY4E44OT/2E8c+lsSAxQJiRiRgk4jLLpNeOj/NzlydS8D85iUyOGlKfbmRu/6ujrc31/L77juKKzPQh7kw==", + "requires": { + "tslib": "~1.10.0" + }, + "dependencies": { + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + } + } + }, + "@microsoft/sp-office-ui-fabric-core": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-office-ui-fabric-core/-/sp-office-ui-fabric-core-1.13.1.tgz", + "integrity": "sha512-vsOv5QLaII35Nznw/pOyFIFBtxXkzA1bSif4MaRJpnENSAR49+050ot/MWYRMBKoGiXq/5cZD8zOAiNMwASoxQ==", + "requires": { + "office-ui-fabric-core": "9.6.1-fluent2", + "tslib": "~1.10.0" + }, + "dependencies": { + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + } + } + }, + "@microsoft/sp-page-context": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-page-context/-/sp-page-context-1.13.1.tgz", + "integrity": "sha512-BO8I0TWCaubYpMKZ3/eTeGC/tx1nRirk2ulkQ/ggk2PhuKJo6NGcXKo/JHe48Mje4Yh4d1r5FkjUGHoqKK3ruA==", + "requires": { + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-diagnostics": "1.13.1", + "@microsoft/sp-dynamic-data": "1.13.1", + "@microsoft/sp-lodash-subset": "1.13.1", + "@microsoft/sp-odata-types": "1.13.1", + "tslib": "~1.10.0" + }, + "dependencies": { + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + } + } + }, + "@microsoft/sp-polyfills": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-polyfills/-/sp-polyfills-1.13.1.tgz", + "integrity": "sha512-sSN0su+v3tAzNTFt2QYJ/vzAIAZXZX6ox/1IFGFzNH0U30jdtfGG3vs5d45NkFkVLjDw9DL8Sc8uSi1lpEPNpA==", + "requires": { + "es6-promise": "4.2.4", + "es6-symbol": "3.1.3", + "tslib": "~1.10.0", + "whatwg-fetch": "2.0.3", + "whatwg-url": "4.7.1" + }, + "dependencies": { + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + } + } + }, + "@microsoft/sp-property-pane": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-property-pane/-/sp-property-pane-1.13.1.tgz", + "integrity": "sha512-eRqnrZGGv0nhDw4JdIi6wxCInFP2zlEZXMDFNaCTFJwM/ritRqGrHyVTxviENg7PXC5TTkVvIM9Hk/cNISRftg==", + "requires": { + "@microsoft/office-ui-fabric-react-bundle": "1.13.1", + "@microsoft/sp-component-base": "1.13.1", + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-diagnostics": "1.13.1", + "@microsoft/sp-dynamic-data": "1.13.1", + "@microsoft/sp-lodash-subset": "1.13.1", + "office-ui-fabric-react": "7.176.2", + "react": "16.13.1", + "react-dom": "16.13.1", + "tslib": "~1.10.0" + }, + "dependencies": { + "@uifabric/icons": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.6.2.tgz", + "integrity": "sha512-q7jEIwB5Tt2Egw9fqdgNPlBqBQ6hNNMQ3qs5y4S4YETRluB+AQTdKbrbYMsXo3Pm0FsJnRfiDojMzxusGX+MWA==", + "requires": { + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.20.0", + "tslib": "^1.10.0" + } + }, + "office-ui-fabric-react": { + "version": "7.176.2", + "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.176.2.tgz", + "integrity": "sha512-ACOgx0ccx93NtRLWJBunJLwVdgIbsnzR/lbn6J+XYTINUrSR4DBZCuNoAzZVi8t1RYd6MnouLyyyEUWneNC9QQ==", + "requires": { + "@fluentui/date-time-utilities": "^7.9.1", + "@fluentui/react-focus": "^7.18.0", + "@fluentui/react-window-provider": "^1.0.2", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/foundation": "^7.10.0", + "@uifabric/icons": "^7.6.0", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/react-hooks": "^7.14.0", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.1", + "@uifabric/utilities": "^7.33.5", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + } + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + } + } + }, + "@microsoft/sp-webpart-base": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-webpart-base/-/sp-webpart-base-1.13.1.tgz", + "integrity": "sha512-qBBtUaLGzP2rBuCrbwZQuEZqQtMmhF4MZQWGNvlDpJNOQEXJ6hj2vAnKxJjlTXdttWbfUdMWsyOx1Nb0bxOACg==", + "requires": { + "@microsoft/sp-component-base": "1.13.1", + "@microsoft/sp-core-library": "1.13.1", + "@microsoft/sp-diagnostics": "1.13.1", + "@microsoft/sp-dynamic-data": "1.13.1", + "@microsoft/sp-http": "1.13.1", + "@microsoft/sp-loader": "1.13.1", + "@microsoft/sp-lodash-subset": "1.13.1", + "@microsoft/sp-module-interfaces": "1.13.1", + "@microsoft/sp-page-context": "1.13.1", + "@microsoft/sp-property-pane": "1.13.1", + "@microsoft/teams-js": "1.10.0", + "@types/office-js": "1.0.36", + "office-ui-fabric-react": "7.176.2", + "react": "16.13.1", + "react-dom": "16.13.1", + "tslib": "~1.10.0" + }, + "dependencies": { + "@uifabric/icons": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.6.2.tgz", + "integrity": "sha512-q7jEIwB5Tt2Egw9fqdgNPlBqBQ6hNNMQ3qs5y4S4YETRluB+AQTdKbrbYMsXo3Pm0FsJnRfiDojMzxusGX+MWA==", + "requires": { + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.20.0", + "tslib": "^1.10.0" + } + }, + "office-ui-fabric-react": { + "version": "7.176.2", + "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.176.2.tgz", + "integrity": "sha512-ACOgx0ccx93NtRLWJBunJLwVdgIbsnzR/lbn6J+XYTINUrSR4DBZCuNoAzZVi8t1RYd6MnouLyyyEUWneNC9QQ==", + "requires": { + "@fluentui/date-time-utilities": "^7.9.1", + "@fluentui/react-focus": "^7.18.0", + "@fluentui/react-window-provider": "^1.0.2", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/foundation": "^7.10.0", + "@uifabric/icons": "^7.6.0", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/react-hooks": "^7.14.0", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.1", + "@uifabric/utilities": "^7.33.5", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + } + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + } + } + }, + "@rushstack/loader-raw-script": { + "version": "1.3.175", + "resolved": "https://registry.npmjs.org/@rushstack/loader-raw-script/-/loader-raw-script-1.3.175.tgz", + "integrity": "sha512-Rf+DewV7fMB5OX3yvhPNT5QRQgvI+2MWGbBmI0aYC5Aiax+RT5d+TN7CXket5CLFvT9/un3wN41vMtlnUbszKQ==", + "requires": { + "loader-utils": "~1.1.0" + } + }, + "@uifabric/icons": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.3.0.tgz", + "integrity": "sha512-wbcR8fJce20sPjsK2bbTC/cAZfAOFuE4dd4LHw194+8H+/dqotsowrQVp5Lu8aaHGQk+fXoiZmUy30WA9cAG4Q==", + "requires": { + "@uifabric/set-version": "^7.0.2", + "@uifabric/styling": "^7.7.1", + "tslib": "^1.7.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "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" + } + }, + "es6-promise": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", + "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==" + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + }, + "whatwg-fetch": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + } + } + }, + "@pnp/telemetry-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@pnp/telemetry-js/-/telemetry-js-2.0.0.tgz", + "integrity": "sha512-qFNm3mTerTnxgTR6c/4iMMt8EUKrQn5z0XG/IQtpNlp6m7KXRDFR87mQKeBVtSv2LhxGO0VNFndKJIibBw52zQ==", + "requires": { + "whatwg-fetch": "2.0.4" + }, + "dependencies": { + "whatwg-fetch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + } + } + }, "@pnpm/error": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/@pnpm/error/-/error-1.4.0.tgz", @@ -4398,6 +5864,16 @@ } } }, + "@popperjs/core": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.5.4.tgz", + "integrity": "sha512-ZpKr+WTb8zsajqgDkvCEWgp6d5eJT6Q63Ng2neTbzBO76Lbe91vX/iVIW9dikq+Fs3yEo+ls4cxeXABD2LtcbQ==" + }, + "@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==" + }, "@react-leaflet/core": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@react-leaflet/core/-/core-1.1.1.tgz", @@ -5186,6 +6662,11 @@ "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", "dev": true }, + "@types/atob-lite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/atob-lite/-/atob-lite-2.0.0.tgz", + "integrity": "sha512-7bjymPR7Ffa1/L3HskkaxMgTQDtwFObbISzHm9g3T12VyD89IiHS3BBVojlQHyZRiIilzdh0WT1gwwgyyBtLGQ==" + }, "@types/babel__core": { "version": "7.1.18", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.18.tgz", @@ -5237,12 +6718,25 @@ "@types/node": "*" } }, + "@types/btoa-lite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/btoa-lite/-/btoa-lite-1.0.0.tgz", + "integrity": "sha512-wJsiX1tosQ+J5+bY5LrSahHxr2wT+uME5UDwdN1kg4frt40euqA+wzECkmq4t5QbveHiJepfdThgQrPw6KiSlg==" + }, "@types/chalk": { "version": "0.4.31", "resolved": "https://registry.npmjs.org/@types/chalk/-/chalk-0.4.31.tgz", "integrity": "sha1-ox10JBprHtu5c8822XooloNKUfk=", "dev": true }, + "@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/connect": { "version": "3.4.35", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", @@ -5436,6 +6930,19 @@ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.117.tgz", "integrity": "sha512-xyf2m6tRbz8qQKcxYZa7PA4SllYcay+eh25DN3jmNYY6gSTL7Htc/bttVdkqj2wfJGbeWlQiX8pIyJpKU+tubw==" }, + "@types/lodash.isequal": { + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/@types/lodash.isequal/-/lodash.isequal-4.5.5.tgz", + "integrity": "sha512-4IKbinG7MGP131wRfceK6W4E/Qt3qssEFLF30LnJbjYiSfHGGRU/Io8YxXrZX109ir+iDETC8hw8QsDijukUVg==", + "requires": { + "@types/lodash": "*" + } + }, + "@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" + }, "@types/mime": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", @@ -5507,8 +7014,7 @@ "@types/prop-types": { "version": "15.7.4", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", - "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==", - "dev": true + "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==" }, "@types/q": { "version": "1.5.5", @@ -5522,6 +7028,14 @@ "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", "dev": true }, + "@types/quill": { + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/@types/quill/-/quill-1.3.10.tgz", + "integrity": "sha512-IhW3fPW+bkt9MLNlycw8u8fWb7oO7W5URC9MfZYHBlA24rex9rs23D5DETChu1zvgVdc5ka64ICjJOgQMr6Shw==", + "requires": { + "parchment": "^1.1.2" + } + }, "@types/range-parser": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", @@ -5532,7 +7046,6 @@ "version": "16.9.51", "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.51.tgz", "integrity": "sha512-lQa12IyO+DMlnSZ3+AGHRUiUcpK47aakMMoBG8f7HGxJT8Yfe+WE128HIXaHOHVPReAW0oDS3KAI0JI2DDe1PQ==", - "dev": true, "requires": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -5547,6 +7060,14 @@ "@types/react": "*" } }, + "@types/react-mentions": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/react-mentions/-/react-mentions-4.1.5.tgz", + "integrity": "sha512-sLBHfrudYUdaqgcixPHgghlOBcVR/vwzzZtBcI/8i6fyPKF+axVMu2bgSP5es45UzrTVBlEzfIYC/adrlVrs8w==", + "requires": { + "@types/react": "*" + } + }, "@types/requirejs": { "version": "2.1.29", "resolved": "https://registry.npmjs.org/@types/requirejs/-/requirejs-2.1.29.tgz", @@ -5723,6 +7244,11 @@ } } }, + "@types/xmldom": { + "version": "0.1.31", + "resolved": "https://registry.npmjs.org/@types/xmldom/-/xmldom-0.1.31.tgz", + "integrity": "sha512-bVy7s0nvaR5D1mT1a8ZkByHWNOGb6Vn4yi5TWhEdmyKlAG+08SA7Md6+jH+tYmMLueAwNeWvHHpeKrr6S4c4BA==" + }, "@types/yargs": { "version": "0.0.34", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-0.0.34.tgz", @@ -5735,6 +7261,11 @@ "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", "dev": true }, + "@types/z-schema": { + "version": "3.16.31", + "resolved": "https://registry.npmjs.org/@types/z-schema/-/z-schema-3.16.31.tgz", + "integrity": "sha1-LrHQCl5Ow/pYx2r94S4YK2bcXBw=" + }, "@typescript-eslint/eslint-plugin": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.4.0.tgz", @@ -6121,6 +7652,11 @@ "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==", "dev": true }, + "@xmldom/xmldom": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz", + "integrity": "sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==" + }, "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", @@ -6158,8 +7694,7 @@ "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "accepts": { "version": "1.3.8", @@ -6212,6 +7747,62 @@ "resolved": "https://registry.npmjs.org/adal-angular/-/adal-angular-1.0.16.tgz", "integrity": "sha1-4rwxvHEqr/ugU6pN1GvITrXSCQ8=" }, + "adaptive-expressions": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/adaptive-expressions/-/adaptive-expressions-4.15.0.tgz", + "integrity": "sha512-J2SiExW0quYT0CZtqV4xRmJAOprM5o0HWA9FtGk3YZ6ZTo4d/2byIskRluhPf31Uh025nZ5ojxGkuVSjdtAY1w==", + "requires": { + "@microsoft/recognizers-text-data-types-timex-expression": "1.3.0", + "@types/atob-lite": "^2.0.0", + "@types/btoa-lite": "^1.0.0", + "@types/lodash.isequal": "^4.5.5", + "@types/lru-cache": "^5.1.0", + "@types/xmldom": "^0.1.30", + "@xmldom/xmldom": "^0.7.4", + "antlr4ts": "0.5.0-alpha.3", + "atob-lite": "^2.0.0", + "big-integer": "^1.6.48", + "btoa-lite": "^1.0.0", + "d3-format": "^1.4.4", + "dayjs": "^1.10.3", + "fast-xml-parser": "^3.19.0", + "jspath": "^0.4.0", + "lodash.isequal": "^4.5.0", + "lru-cache": "^5.1.1", + "uuid": "^8.3.2", + "xpath": "^0.0.32" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } + }, + "adaptivecards": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/adaptivecards/-/adaptivecards-2.10.0.tgz", + "integrity": "sha512-QcgXGFlX3rgIfZkxvQY896zEVBh30mE37z3XKhcQW2OqSUrVH6dNT78MkM//W4wRdrZizSHqXKLaKyVVxAgVFg==" + }, + "adaptivecards-templating": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/adaptivecards-templating/-/adaptivecards-templating-2.2.0.tgz", + "integrity": "sha512-xZy+g2DdI2xFvqGjGYqqcLYJ+373o1JlTX2g6Zclav3r+3ri40qsrKKwM3oNS61MbgicXsuvli2RbTOGsts1sw==" + }, "agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", @@ -6286,8 +7877,12 @@ "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + }, + "animate.css": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/animate.css/-/animate.css-4.1.1.tgz", + "integrity": "sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ==" }, "ansi-colors": { "version": "4.1.1", @@ -6295,6 +7890,14 @@ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, + "ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, "ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -6316,7 +7919,6 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", - "dev": true, "requires": { "ansi-wrap": "0.1.0" } @@ -6327,6 +7929,14 @@ "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", "dev": true }, + "ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -6337,7 +7947,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -6345,8 +7954,12 @@ "ansi-wrap": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", - "dev": true + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" + }, + "antlr4ts": { + "version": "0.5.0-alpha.3", + "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.3.tgz", + "integrity": "sha512-La89tKkGcHFIVuruv4Bm1esc3zLmES2NOTEwwNS1pudz+zx/0FNqQeUu9p48i9/QHKPVqjN87LB+q3buTg7oDQ==" }, "any-promise": { "version": "1.3.0", @@ -6376,8 +7989,7 @@ "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "archy": { "version": "1.0.0", @@ -6389,7 +8001,6 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "dev": true, "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" @@ -6422,8 +8033,7 @@ "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" }, "arr-map": { "version": "2.0.2", @@ -6461,8 +8071,7 @@ "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" }, "array-flatten": { "version": "1.1.1", @@ -6591,7 +8200,6 @@ "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, "requires": { "safer-buffer": "~2.1.0" } @@ -6646,8 +8254,7 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, "assign-symbols": { "version": "1.0.0", @@ -6697,8 +8304,7 @@ "async-foreach": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "dev": true + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=" }, "async-limiter": { "version": "1.0.1", @@ -6718,8 +8324,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "at-least-node": { "version": "1.0.0", @@ -6733,6 +8338,11 @@ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, + "atob-lite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", + "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=" + }, "autoprefixer": { "version": "9.8.8", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", @@ -6759,14 +8369,12 @@ "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "babel-jest": { "version": "25.5.1", @@ -7056,8 +8664,7 @@ "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "base": { "version": "0.11.2", @@ -7130,7 +8737,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, "requires": { "tweetnacl": "^0.14.3" } @@ -7150,6 +8756,11 @@ "is-windows": "^1.0.0" } }, + "big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==" + }, "big.js": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", @@ -7165,7 +8776,6 @@ "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, "requires": { "inherits": "~2.0.0" } @@ -7264,7 +8874,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -7422,6 +9031,11 @@ "node-int64": "^0.4.0" } }, + "btoa-lite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", + "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=" + }, "buffer": { "version": "4.9.2", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", @@ -7548,7 +9162,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, "requires": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -7605,14 +9218,12 @@ "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, "camelcase-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, "requires": { "camelcase": "^2.0.0", "map-obj": "^1.0.0" @@ -7621,8 +9232,7 @@ "camelcase": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" } } }, @@ -7656,8 +9266,7 @@ "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "chalk": { "version": "4.1.2", @@ -7716,6 +9325,32 @@ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, + "chart.js": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.4.tgz", + "integrity": "sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A==", + "requires": { + "chartjs-color": "^2.1.0", + "moment": "^2.10.2" + } + }, + "chartjs-color": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz", + "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==", + "requires": { + "chartjs-color-string": "^0.6.0", + "color-convert": "^1.9.3" + } + }, + "chartjs-color-string": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", + "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", + "requires": { + "color-name": "^1.0.0" + } + }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -7944,6 +9579,11 @@ } } }, + "classnames": { + "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", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", @@ -8083,8 +9723,7 @@ "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" }, "clone-buffer": { "version": "1.0.0", @@ -8159,8 +9798,7 @@ "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "collect-v8-coverage": { "version": "1.0.1", @@ -8203,7 +9841,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -8211,14 +9848,12 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "color-string": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", - "dev": true, "requires": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" @@ -8227,8 +9862,7 @@ "color-support": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" }, "colorette": { "version": "1.4.0", @@ -8246,7 +9880,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -8254,8 +9887,7 @@ "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "common-path-prefix": { "version": "3.0.0", @@ -8316,11 +9948,15 @@ } } }, + "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", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { "version": "1.6.2", @@ -8405,8 +10041,7 @@ "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "constants-browserify": { "version": "1.0.0", @@ -8710,8 +10345,7 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cosmiconfig": { "version": "5.2.1", @@ -8798,6 +10432,15 @@ "sha.js": "^2.4.8" } }, + "create-react-class": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.7.0.tgz", + "integrity": "sha512-QZv4sFWG9S5RUvkTYWbflxeZX+JG7Cz0Tn33rQBJ+WFQTqTfUTjMjiv9tnfXazjsO5r0KhPs+AqCjyrQX6h2ng==", + "requires": { + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" + } + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -8844,6 +10487,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.2.1", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.2.1.tgz", @@ -9102,6 +10753,11 @@ "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.11", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", @@ -9232,14 +10888,12 @@ "csstype": { "version": "3.0.10", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz", - "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==", - "dev": true + "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==" }, "currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, "requires": { "array-find-index": "^1.0.1" } @@ -9259,11 +10913,15 @@ "type": "^1.0.1" } }, + "d3-format": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz", + "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==" + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -9307,12 +10965,22 @@ } } }, + "date-fns": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz", + "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==" + }, "dateformat": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=", "dev": true }, + "dayjs": { + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.8.tgz", + "integrity": "sha512-wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow==" + }, "debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", @@ -9340,8 +11008,7 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, "decode-uri-component": { "version": "0.2.0", @@ -9362,7 +11029,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, "requires": { "is-arguments": "^1.0.4", "is-date-object": "^1.0.1", @@ -9421,7 +11087,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, "requires": { "object-keys": "^1.0.12" } @@ -9485,14 +11150,12 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, "depd": { "version": "1.1.2", @@ -9632,6 +11295,15 @@ "esutils": "^2.0.2" } }, + "dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "requires": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, "dom-serializer": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", @@ -9698,6 +11370,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", @@ -9765,7 +11448,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -9818,8 +11500,7 @@ "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 + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" }, "emojis-list": { "version": "2.1.0", @@ -9917,7 +11598,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "requires": { "is-arrayish": "^0.2.1" } @@ -10041,8 +11721,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escodegen": { "version": "1.14.3", @@ -10490,6 +12169,11 @@ } } }, + "exenv-es6": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/exenv-es6/-/exenv-es6-1.0.0.tgz", + "integrity": "sha512-fcG/TX8Ruv9Ma6PBaiNsUrHRJzVzuFMP6LtPn/9iqR+nr9mcLeEOGzXQGLC5CVQSXGE98HtzW2mTZkrCA3XrDg==" + }, "exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", @@ -10674,8 +12358,7 @@ "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "extend-shallow": { "version": "3.0.2", @@ -10788,14 +12471,12 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "fancy-log": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", - "dev": true, "requires": { "ansi-gray": "^0.1.1", "color-support": "^1.1.3", @@ -10806,8 +12487,12 @@ "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-diff": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", + "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==" }, "fast-glob": { "version": "3.2.11", @@ -10833,8 +12518,7 @@ "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "fast-levenshtein": { "version": "2.0.6", @@ -10842,6 +12526,19 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "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-xml-parser": { + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz", + "integrity": "sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==", + "requires": { + "strnum": "^1.0.4" + } + }, "fastest-levenshtein": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", @@ -10881,6 +12578,111 @@ "bser": "2.1.1" } }, + "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" + }, + "dependencies": { + "csstype": { + "version": "2.6.19", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.19.tgz", + "integrity": "sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==" + } + } + }, + "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", @@ -11255,8 +13057,7 @@ "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "fork-stream": { "version": "0.0.4", @@ -11401,7 +13202,6 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -11496,8 +13296,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { "version": "2.3.2", @@ -11510,7 +13309,6 @@ "version": "1.0.12", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "inherits": "~2.0.0", @@ -11521,8 +13319,7 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "functional-red-black-tree": { "version": "1.0.1", @@ -11534,7 +13331,6 @@ "version": "2.7.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, "requires": { "aproba": "^1.0.3", "console-control-strings": "^1.0.0", @@ -11549,14 +13345,12 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, "requires": { "number-is-nan": "^1.0.0" } @@ -11565,7 +13359,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -11576,7 +13369,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -11587,7 +13379,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "dev": true, "requires": { "globule": "^1.0.0" } @@ -11610,14 +13401,12 @@ "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-intrinsic": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -11639,8 +13428,7 @@ "get-stdin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" }, "get-stream": { "version": "4.1.0", @@ -11677,7 +13465,6 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -11692,7 +13479,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -11959,7 +13745,6 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.3.tgz", "integrity": "sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg==", - "dev": true, "requires": { "glob": "~7.1.1", "lodash": "~4.17.10", @@ -11970,7 +13755,6 @@ "version": "7.1.7", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -11984,7 +13768,6 @@ "version": "3.0.8", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -12003,8 +13786,7 @@ "graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", - "dev": true + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" }, "growly": { "version": "1.3.0", @@ -12363,6 +14145,54 @@ "through2": "^2.0.1" } }, + "gulp-plumber": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/gulp-plumber/-/gulp-plumber-1.2.1.tgz", + "integrity": "sha512-mctAi9msEAG7XzW5ytDVZ9PxWMzzi1pS2rBH7lA095DhMa6KEXjm+St0GOCc567pJKJ/oCvosVAZEpAey0q2eQ==", + "requires": { + "chalk": "^1.1.3", + "fancy-log": "^1.3.2", + "plugin-error": "^0.1.2", + "through2": "^2.0.3" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, "gulp-util": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", @@ -12484,14 +14314,12 @@ "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" }, "har-validator": { "version": "5.1.5", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, "requires": { "ajv": "^6.12.3", "har-schema": "^2.0.0" @@ -12501,7 +14329,6 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -12515,7 +14342,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -12524,7 +14350,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, "requires": { "ansi-regex": "^2.0.0" }, @@ -12532,8 +14357,7 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" } } }, @@ -12561,14 +14385,12 @@ "has-symbols": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" }, "has-tostringtag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, "requires": { "has-symbols": "^1.0.2" } @@ -12576,8 +14398,7 @@ "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, "has-value": { "version": "1.0.0", @@ -12674,8 +14495,7 @@ "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, "hex-color-regex": { "version": "1.1.0", @@ -12706,8 +14526,7 @@ "hosted-git-info": { "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 + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" }, "hpack.js": { "version": "2.1.6", @@ -12954,7 +14773,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -12983,6 +14801,11 @@ "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true }, + "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.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -13006,6 +14829,11 @@ "postcss": "^7.0.14" } }, + "idb": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/idb/-/idb-6.0.0.tgz", + "integrity": "sha512-+M367poGtpzAylX4pwcrZIa7cFQLfNkAOlMMLN2kw/2jGfJP6h+TB/unQNSVYwNtP8XqkLYrfuiVnxLQNP1tjA==" + }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -13100,14 +14928,12 @@ "in-publish": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", - "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", - "dev": true + "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==" }, "indent-string": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, "requires": { "repeating": "^2.0.0" } @@ -13128,7 +14954,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -13137,8 +14962,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { "version": "1.3.8", @@ -13146,6 +14970,11 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, + "inline-style-expand-shorthand": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/inline-style-expand-shorthand/-/inline-style-expand-shorthand-1.3.0.tgz", + "integrity": "sha512-cYW3cf2Tzi43jjHk8yyHAAnwgVXOC0jdmv7QkHMmha2zI2znhWh8LEC+Enb+PHcZi9afsbcP4JHyr5C08jDRHA==" + }, "inpath": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/inpath/-/inpath-1.0.2.tgz", @@ -13225,6 +15054,14 @@ "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", @@ -13289,7 +15126,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -13298,8 +15134,7 @@ "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "is-bigint": { "version": "1.0.4", @@ -13368,7 +15203,6 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, "requires": { "has": "^1.0.3" } @@ -13397,7 +15231,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, "requires": { "has-tostringtag": "^1.0.0" } @@ -13449,14 +15282,12 @@ "is-finite": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "dev": true + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, "is-generator-fn": { "version": "2.1.0", @@ -13549,7 +15380,6 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -13611,8 +15441,7 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "is-unc-path": { "version": "1.0.0", @@ -13626,8 +15455,7 @@ "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" }, "is-valid-glob": { "version": "1.0.0", @@ -13663,20 +15491,17 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "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", @@ -13690,8 +15515,7 @@ "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "istanbul-lib-coverage": { "version": "3.2.0", @@ -15389,14 +17213,12 @@ "jju": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", - "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=", - "dev": true + "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=" }, "js-base64": { "version": "2.6.4", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", - "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", - "dev": true + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" }, "js-tokens": { "version": "4.0.0", @@ -15416,8 +17238,7 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "jsdom": { "version": "11.11.0", @@ -15555,14 +17376,12 @@ "json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json-stable-stringify": { "version": "1.0.1", @@ -15582,8 +17401,7 @@ "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json5": { "version": "0.5.1", @@ -15611,11 +17429,15 @@ "integrity": "sha512-e0Jtg4KAzDJKKwzbLaUtinCn0RZseWBVRTRGihSpvFlM3wTR7ExSp+PTdeTsDrLNJUe7L7JYJe8mblHX5SCT6A==", "dev": true }, + "jspath": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/jspath/-/jspath-0.4.0.tgz", + "integrity": "sha512-2/R8wkot8NCXrppBT/onp+4mcAUAZqtPxsW6aSJU3hrFAVqKqtFYcat2XJZ7inN4RtATUxfv0UQSYOmvJKiIGA==" + }, "jsprim": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -15816,6 +17638,27 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, + "linkify-it": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "requires": { + "uc.micro": "^1.0.1" + } + }, + "lit-element": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-2.5.1.tgz", + "integrity": "sha512-ogu7PiJTA33bEK0xGu1dmaX5vhcRjBXCFexPja0e7P7jqLhTpNKYRPmE+GmiCaRVAbiQKGkUgkh/i6+bh++dPQ==", + "requires": { + "lit-html": "^1.1.1" + } + }, + "lit-html": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-1.4.1.tgz", + "integrity": "sha512-B9btcSgPYb1q4oSOb/PrOT6Z/H+r6xuNzfH4lFli/AWhYwdtrgQkQWBbIc6mdnf6E2IL3gDXdkkqNktpU0OZQA==" + }, "livereload-js": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz", @@ -15826,7 +17669,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", @@ -15839,7 +17681,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, "requires": { "error-ex": "^1.2.0" } @@ -15848,7 +17689,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, "requires": { "is-utf8": "^0.2.0" } @@ -15883,8 +17723,12 @@ "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, "lodash._basecopy": { "version": "3.0.1", @@ -15970,8 +17814,7 @@ "lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" }, "lodash.isarguments": { "version": "3.1.0", @@ -15988,8 +17831,7 @@ "lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", - "dev": true + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" }, "lodash.keys": { "version": "3.1.2", @@ -16086,7 +17928,6 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, "requires": { "currently-unhandled": "^0.4.1", "signal-exit": "^3.0.0" @@ -16151,8 +17992,7 @@ "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" }, "map-stream": { "version": "0.0.7", @@ -16169,6 +18009,30 @@ "object-visit": "^1.0.0" } }, + "markdown-it": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "requires": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" + } + } + }, "matchdep": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", @@ -16324,6 +18188,11 @@ "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", "dev": true }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -16353,7 +18222,6 @@ "version": "3.7.0", "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, "requires": { "camelcase-keys": "^2.0.0", "decamelize": "^1.1.2", @@ -16371,7 +18239,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, "requires": { "path-exists": "^2.0.0", "pinkie-promise": "^2.0.0" @@ -16381,7 +18248,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, "requires": { "pinkie-promise": "^2.0.0" } @@ -16390,7 +18256,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, "requires": { "load-json-file": "^1.0.0", "normalize-package-data": "^2.3.2", @@ -16401,7 +18266,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, "requires": { "find-up": "^1.0.0", "read-pkg": "^1.0.0" @@ -16470,14 +18334,12 @@ "mime-db": { "version": "1.51.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", - "dev": true + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==" }, "mime-types": { "version": "2.1.34", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "dev": true, "requires": { "mime-db": "1.51.0" } @@ -16504,7 +18366,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -16512,8 +18373,7 @@ "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "minipass": { "version": "3.1.6", @@ -16604,11 +18464,15 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, "requires": { "minimist": "^1.2.5" } }, + "moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" + }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -16696,8 +18560,7 @@ "nan": { "version": "2.15.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", - "dev": true + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" }, "nanoid": { "version": "3.3.1", @@ -16781,7 +18644,6 @@ "version": "3.8.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", - "dev": true, "requires": { "fstream": "^1.0.0", "glob": "^7.0.3", @@ -16800,14 +18662,12 @@ "semver": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" }, "tar": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", - "dev": true, "requires": { "block-stream": "*", "fstream": "^1.0.12", @@ -16818,7 +18678,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, "requires": { "isexe": "^2.0.0" } @@ -16909,7 +18768,6 @@ "version": "4.14.1", "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz", "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", - "dev": true, "requires": { "async-foreach": "^0.1.3", "chalk": "^1.1.1", @@ -16933,20 +18791,17 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", @@ -16959,7 +18814,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", - "dev": true, "requires": { "lru-cache": "^4.0.1", "which": "^1.2.9" @@ -16969,7 +18823,6 @@ "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, "requires": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" @@ -16979,7 +18832,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -16987,14 +18839,12 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, "true-case-path": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", - "dev": true, "requires": { "glob": "^7.1.2" } @@ -17003,7 +18853,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, "requires": { "isexe": "^2.0.0" } @@ -17011,8 +18860,7 @@ "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" } } }, @@ -17046,7 +18894,6 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, "requires": { "abbrev": "1" } @@ -17055,7 +18902,6 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, "requires": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -17066,8 +18912,7 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" } } }, @@ -17166,7 +19011,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, "requires": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", @@ -17192,8 +19036,7 @@ "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "nwsapi": { "version": "2.2.0", @@ -17204,8 +19047,7 @@ "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" }, "object-assign": { "version": "4.1.1", @@ -17253,7 +19095,6 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -17262,8 +19103,7 @@ "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "object-visit": { "version": "1.0.1", @@ -17421,7 +19261,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -17524,8 +19363,7 @@ "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-locale": { "version": "1.4.0", @@ -17539,14 +19377,12 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "osenv": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, "requires": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" @@ -17568,7 +19404,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, "requires": { "p-try": "^2.0.0" } @@ -17619,8 +19454,7 @@ "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, "pako": { "version": "1.0.11", @@ -17648,6 +19482,11 @@ "no-case": "^2.2.0" } }, + "parchment": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz", + "integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==" + }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -17696,8 +19535,7 @@ "parse-node-version": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==" }, "parse-passwd": { "version": "1.0.0", @@ -17744,8 +19582,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { "version": "1.0.2", @@ -17762,8 +19599,7 @@ "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-root": { "version": "0.1.1", @@ -17790,7 +19626,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "pify": "^2.0.0", @@ -17822,8 +19657,7 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "picocolors": { "version": "1.0.0", @@ -17846,20 +19680,17 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, "requires": { "pinkie": "^2.0.0" } @@ -17912,6 +19743,52 @@ "find-up": "^4.0.0" } }, + "plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "requires": { + "ansi-cyan": "^0.1.1", + "ansi-red": "^0.1.1", + "arr-diff": "^1.0.1", + "arr-union": "^2.0.1", + "extend-shallow": "^1.1.2" + }, + "dependencies": { + "arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "requires": { + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" + } + }, + "arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=" + }, + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=" + }, + "extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "requires": { + "kind-of": "^1.1.0" + } + }, + "kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=" + } + } + }, "plugin-log": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/plugin-log/-/plugin-log-0.1.0.tgz", @@ -18765,8 +20642,7 @@ "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "progress": { "version": "2.0.3", @@ -18828,14 +20704,12 @@ "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" }, "public-encrypt": { "version": "4.0.3", @@ -18895,8 +20769,7 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "q": { "version": "1.5.1", @@ -18907,8 +20780,7 @@ "qs": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" }, "querystring": { "version": "0.2.0", @@ -18934,6 +20806,36 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, + "quill": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz", + "integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==", + "requires": { + "clone": "^2.1.1", + "deep-equal": "^1.0.1", + "eventemitter3": "^2.0.3", + "extend": "^3.0.2", + "parchment": "^1.1.4", + "quill-delta": "^3.6.2" + }, + "dependencies": { + "eventemitter3": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", + "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + } + } + }, + "quill-delta": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz", + "integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==", + "requires": { + "deep-equal": "^1.0.1", + "extend": "^3.0.2", + "fast-diff": "1.1.2" + } + }, "ramda": { "version": "0.27.2", "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz", @@ -19003,6 +20905,19 @@ "prop-types": "^15.6.2" } }, + "react-accessible-accordion": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/react-accessible-accordion/-/react-accessible-accordion-3.3.5.tgz", + "integrity": "sha512-yCh3tx+jNuOPs+m58LOBFTGDEaGvM8UfuCNznr855FDAWzwV8V/ZH/TVBvgqH0npP58KrrVrHpj4jcy0EE5hEw==" + }, + "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.13.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz", @@ -19014,6 +20929,21 @@ "scheduler": "^0.19.1" } }, + "react-dom-factories": { + "version": "1.0.2", + "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", @@ -19027,6 +20957,40 @@ "@react-leaflet/core": "^1.1.1" } }, + "react-mentions": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/react-mentions/-/react-mentions-4.3.1.tgz", + "integrity": "sha512-yNq3qpjQ9/kaYIhCgx2D+9h228gMd6sxfbyKUY8TUWLxDr38q0FnNpCga/EhuuGqnVhOt8fb39p0c+xVRRgSpw==", + "requires": { + "@babel/runtime": "7.4.5", + "invariant": "^2.2.4", + "prop-types": "^15.5.8", + "substyle": "^9.1.0" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.5.tgz", + "integrity": "sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + } + } + }, + "react-quill": { + "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", + "create-react-class": "^15.6.0", + "lodash": "^4.17.4", + "prop-types": "^15.5.10", + "quill": "^1.3.7", + "react-dom-factories": "^1.0.0" + } + }, "react-refresh": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", @@ -19039,6 +21003,17 @@ "integrity": "sha512-CnR+UkpCFUIxW3u+KPxc6UhSO3M3aQxd9XCvgdry4a22LFwwITnjbANFUKtPGxA/Skw3PbZJrLiZ08UQnpXprQ==", "dev": true }, + "react-transition-group": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", + "integrity": "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==", + "requires": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + } + }, "read": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", @@ -19135,7 +21110,6 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -19319,7 +21293,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, "requires": { "indent-string": "^2.1.0", "strip-indent": "^1.0.1" @@ -19343,8 +21316,7 @@ "regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" }, "regenerator-transform": { "version": "0.14.5", @@ -19365,11 +21337,15 @@ "safe-regex": "^1.1.0" } }, + "regexify-string": { + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/regexify-string/-/regexify-string-1.0.17.tgz", + "integrity": "sha512-mmD0AUNaY/piGW2AyACWdQOjIAwNuWz+KIvxfBZPDdCBAexiROeQxdxTaYAWcIxwtUAOwojdTta6CMMil84jXw==" + }, "regexp.prototype.flags": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", - "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -19467,7 +21443,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, "requires": { "is-finite": "^1.0.0" } @@ -19493,7 +21468,6 @@ "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -19521,7 +21495,6 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, "requires": { "psl": "^1.1.28", "punycode": "^2.1.1" @@ -19564,14 +21537,12 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" }, "requirejs": { "version": "2.3.6", @@ -19588,7 +21559,6 @@ "version": "1.17.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dev": true, "requires": { "path-parse": "^1.0.6" } @@ -19685,7 +21655,6 @@ "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, "requires": { "glob": "^7.1.3" } @@ -19706,6 +21675,14 @@ "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", "dev": true }, + "rtl-css-js": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/rtl-css-js/-/rtl-css-js-1.15.0.tgz", + "integrity": "sha512-99Cu4wNNIhrI10xxUaABHsdDqzalrSRTie4GeCmbGVuehm4oj+fIy8fTzB+16pmKe8Bv9rl+hxIBez6KxExTew==", + "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", @@ -19742,8 +21719,7 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safe-regex": { "version": "1.1.0", @@ -19955,7 +21931,6 @@ "version": "2.2.5", "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", - "dev": true, "requires": { "glob": "^7.0.0", "lodash": "^4.0.0", @@ -19966,14 +21941,12 @@ "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" }, "cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, "requires": { "string-width": "^3.1.0", "strip-ansi": "^5.2.0", @@ -19984,7 +21957,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, "requires": { "locate-path": "^3.0.0" } @@ -19993,7 +21965,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -20003,7 +21974,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, "requires": { "p-limit": "^2.0.0" } @@ -20011,14 +21981,12 @@ "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, "requires": { "ansi-regex": "^4.1.0" } @@ -20027,7 +21995,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, "requires": { "ansi-styles": "^3.2.0", "string-width": "^3.0.0", @@ -20038,7 +22005,6 @@ "version": "13.3.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, "requires": { "cliui": "^5.0.0", "find-up": "^3.0.0", @@ -20056,7 +22022,6 @@ "version": "13.1.2", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, "requires": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" @@ -20140,6 +22105,11 @@ } } }, + "sass-test.sh": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sass-test.sh/-/sass-test.sh-1.4.0.tgz", + "integrity": "sha1-Jp1CXqVbQL6RaPTKpJLwK/c/6uY=" + }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", @@ -20193,7 +22163,6 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "dev": true, "requires": { "js-base64": "^2.1.8", "source-map": "^0.4.2" @@ -20203,7 +22172,6 @@ "version": "0.4.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, "requires": { "amdefine": ">=0.0.4" } @@ -20351,8 +22319,7 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "set-immediate-shim": { "version": "1.0.1", @@ -20414,6 +22381,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": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -20455,14 +22427,12 @@ "signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dev": true, "requires": { "is-arrayish": "^0.3.1" }, @@ -20470,8 +22440,7 @@ "is-arrayish": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" } } }, @@ -20763,7 +22732,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -20772,14 +22740,12 @@ "spdx-exceptions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" }, "spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -20788,8 +22754,7 @@ "spdx-license-ids": { "version": "3.0.11", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", - "dev": true + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" }, "spdy": { "version": "4.0.2", @@ -21912,6 +23877,16 @@ } } }, + "spfx-uifabric-themes": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/spfx-uifabric-themes/-/spfx-uifabric-themes-0.8.5.tgz", + "integrity": "sha512-v6nivEfTLudzn+NZoU2kWXA8wq9XE9D1En1vCEnCMQSG/sfFD7TcCy9RIIww1W+xNKyUwbe50JCeYuAnU0f8nQ==", + "requires": { + "gulp-plumber": "^1.2.1", + "node-sass": "^4.12.0", + "sass-test.sh": "^1.4.0" + } + }, "split": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", @@ -21940,7 +23915,6 @@ "version": "1.17.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -22028,7 +24002,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", - "dev": true, "requires": { "readable-stream": "^2.0.1" } @@ -22149,7 +24122,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, "requires": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", @@ -22159,14 +24131,12 @@ "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, "requires": { "ansi-regex": "^4.1.0" } @@ -22213,7 +24183,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -22249,7 +24218,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, "requires": { "get-stdin": "^4.0.1" } @@ -22260,6 +24228,11 @@ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, + "strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, "style-loader": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.1.3.tgz", @@ -22351,6 +24324,28 @@ } } }, + "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" + } + }, + "substyle": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/substyle/-/substyle-9.4.1.tgz", + "integrity": "sha512-VOngeq/W1/UkxiGzeqVvDbGDPM8XgUyJVWjrqeh+GgKqspEPiLYndK+XRcsKUHM5Muz/++1ctJ1QCF/OqRiKWA==", + "requires": { + "@babel/runtime": "^7.3.4", + "invariant": "^2.2.4" + } + }, "sudo": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sudo/-/sudo-1.0.3.tgz", @@ -22454,6 +24449,11 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, + "tabbable": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-5.2.1.tgz", + "integrity": "sha512-40pEZ2mhjaZzK0BnI+QGNjJO8UYx9pP5v7BGe17SORTO0OEuuaAwQTkAp8whcZvqon44wKFOikD+Al11K3JICQ==" + }, "table": { "version": "5.4.6", "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", @@ -22620,7 +24620,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -22645,8 +24644,7 @@ "time-stamp": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", - "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", - "dev": true + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=" }, "timers-browserify": { "version": "2.0.12", @@ -22879,8 +24877,7 @@ "trim-newlines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" }, "true-case-path": { "version": "2.2.1", @@ -23034,7 +25031,6 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, "requires": { "safe-buffer": "^5.0.1" } @@ -23042,8 +25038,7 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, "type": { "version": "1.2.0", @@ -23102,6 +25097,11 @@ "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", "dev": true }, + "uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + }, "uglify-js": { "version": "3.4.10", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", @@ -23324,7 +25324,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "requires": { "punycode": "^2.1.0" } @@ -23389,8 +25388,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "util.promisify": { "version": "1.0.1", @@ -23413,8 +25411,7 @@ "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" }, "v8-compile-cache": { "version": "2.3.0", @@ -23454,7 +25451,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, "requires": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -23472,8 +25468,7 @@ "validator": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/validator/-/validator-8.2.0.tgz", - "integrity": "sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA==", - "dev": true + "integrity": "sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA==" }, "value-or-function": { "version": "3.0.0", @@ -23497,7 +25492,6 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -23689,6 +25683,11 @@ "minimalistic-assert": "^1.0.0" } }, + "wc-react": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/wc-react/-/wc-react-0.5.0.tgz", + "integrity": "sha512-3c4KzBArlfCqCYqY8hoJAIvxmzpWvoQqsOmy9OiwbnopSTE270i3R+LVD7NjE00UJkjXq7kmhobnx0qhi/eOrA==" + }, "webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -24706,14 +26705,12 @@ "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, "wide-align": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dev": true, "requires": { "string-width": "^1.0.2 || 2 || 3 || 4" } @@ -24814,8 +26811,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write": { "version": "1.0.3", @@ -24914,17 +26910,20 @@ "sax": "^1.2.1" } }, + "xpath": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.32.tgz", + "integrity": "sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw==" + }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" }, "yallist": { "version": "4.0.0", @@ -25112,7 +27111,6 @@ "version": "3.18.4", "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-3.18.4.tgz", "integrity": "sha512-DUOKC/IhbkdLKKiV89gw9DUauTV8U/8yJl1sjf6MtDmzevLKOF2duNJ495S3MFVjqZarr+qNGCPbkg4mu4PpLw==", - "dev": true, "requires": { "commander": "^2.7.1", "lodash.get": "^4.0.0", diff --git a/package.json b/package.json index 659a25e82..108a3c81b 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "@microsoft/sp-office-ui-fabric-core": "1.14.0", "@microsoft/sp-property-pane": "1.14.0", "@microsoft/sp-webpart-base": "1.14.0", + "@pnp/spfx-controls-react": "3.6.0", "@spfxappdev/utility": "^1.1.0", "leaflet": "^1.7.1", "office-ui-fabric-react": "7.174.1", diff --git a/src/components/inlineColorPicker/InlineColorPicker.module.scss b/src/components/inlineColorPicker/InlineColorPicker.module.scss index b40edb091..042ba304b 100644 --- a/src/components/inlineColorPicker/InlineColorPicker.module.scss +++ b/src/components/inlineColorPicker/InlineColorPicker.module.scss @@ -13,4 +13,9 @@ height: 14px; border-radius: 2px; } + + &.disabled { + background: darkgrey; + cursor: not-allowed; + } } \ No newline at end of file diff --git a/src/components/inlineColorPicker/InlineColorPicker.tsx b/src/components/inlineColorPicker/InlineColorPicker.tsx index 9e908686e..aa9b46c93 100644 --- a/src/components/inlineColorPicker/InlineColorPicker.tsx +++ b/src/components/inlineColorPicker/InlineColorPicker.tsx @@ -5,6 +5,7 @@ import { isset, isNullOrEmpty } from '@spfxappdev/utility'; export interface IInlineColorPickerProps extends IColorPickerProps { label?: string; + isDisbaled?: boolean; } interface IInlineColorPickerState { @@ -17,6 +18,11 @@ export class InlineColorPicker extends React.Component { @@ -41,13 +47,18 @@ export class InlineColorPicker extends React.Component{this.props.label} }
{ if(isset(r)) { this.targetElement = r; } }} onClick={() => { + + if(this.props.isDisbaled) { + return; + } + this.setState({ isPickerVisible: true }); }}>
diff --git a/src/webparts/map/MapWebPart.manifest.json b/src/webparts/map/MapWebPart.manifest.json index cce843842..39f6526ed 100644 --- a/src/webparts/map/MapWebPart.manifest.json +++ b/src/webparts/map/MapWebPart.manifest.json @@ -12,17 +12,30 @@ // Components that allow authors to embed arbitrary script code should set this to true. // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f "requiresCustomScript": false, + "supportsFullBleed": true, "supportedHosts": ["SharePointWebPart", "TeamsPersonalApp", "TeamsTab", "SharePointFullPage"], "supportsThemeVariants": true, "preconfiguredEntries": [{ - "groupId": "5c03119e-3074-46fd-976b-c60198311f70", // Other + "groupId": "142aa22c-9004-41c2-9821-2d78eed048d1", // SPFx App Dev "group": { "default": "Other" }, "title": { "default": "Map" }, "description": { "default": "Map description" }, - "officeFabricIconFontName": "Page", + "officeFabricIconFontName": "MapPin", "properties": { - "description": "Map" + "title": "Map", + "markerItems": [], + "markerCategories": [], + "center": [51.505, -0.09], + "startZoom": 13, + "maxZoom": 50, + "plugins": { + "searchBox": false, + "markercluster": false, + "legend": false, + "zoomControl": true, + "scrollWheelZoom": false + } } }] } diff --git a/src/webparts/map/MapWebPart.ts b/src/webparts/map/MapWebPart.ts index 4a5b2661a..dc8f3683c 100644 --- a/src/webparts/map/MapWebPart.ts +++ b/src/webparts/map/MapWebPart.ts @@ -3,7 +3,12 @@ import * as ReactDom from 'react-dom'; import { DisplayMode, Version } from '@microsoft/sp-core-library'; import { IPropertyPaneConfiguration, - PropertyPaneTextField + PropertyPaneTextField, + PropertyPaneToggle, + PropertyPaneSlider, + PropertyPaneButton, + PropertyPaneLabel + } from '@microsoft/sp-property-pane'; import { BaseClientSideWebPart } from '@microsoft/sp-webpart-base'; import { IReadonlyTheme } from '@microsoft/sp-component-base'; @@ -12,10 +17,23 @@ import * as strings from 'MapWebPartStrings'; import Map from './components/Map'; import { IMapProps, IMarker, IMarkerCategory } from './components/IMapProps'; +export interface IMapPlugins { + searchBox: boolean; + markercluster: boolean; + legend: boolean; + zoomControl: boolean; + scrollWheelZoom: boolean; +} export interface IMapWebPartProps { markerItems: IMarker[]; markerCategories: IMarkerCategory[]; + title: string; + center: [number, number]; + startZoom: number; + maxZoom: number; + height: number; + plugins: IMapPlugins; } export default class MapWebPart extends BaseClientSideWebPart { @@ -27,58 +45,50 @@ export default class MapWebPart extends BaseClientSideWebPart this._environmentMessage = this._getEnvironmentMessage(); return super.onInit(); + + } public render(): void { - const dummyData: IMarker = { - id: "5828b794-0c76-4962-9faa-95e89aea6c37", - latitude: 49.318121, - longitude: 10.624094, - type: "Panel", - categoryId: "00000000-0000-0000-0000-000000000000", - markerClickProps: { - headerText: "", - content: "" - }, - iconProperties: { - markerColor: "red", - iconName: "PageLink", - iconColor: "#000" - }, - popuptext: "Hello" - } - - const dummyData2: IMarker = { - id: "5828b794-0c76-4962-9faa-95e89aea6c37", - latitude: 49.508121, - longitude: 10.824094, - type: "None", - categoryId: "5828b794-0c76-4962-9faa-95e89aea6123" - } - - const dummyCategory: IMarkerCategory = { - id: "5828b794-0c76-4962-9faa-95e89aea6123", - name: "teeeeest", - iconProperties: { - markerColor: "#000", - iconName: "Installation", - iconColor: "#fff" - }, - } - + console.log(this.properties); const element: React.ReactElement = React.createElement( Map, { - markerItems: this.properties.markerItems||[dummyData, dummyData2], - markerCategories: this.properties.markerCategories||[dummyCategory], - isEditMode: this.displayMode == DisplayMode.Edit + markerItems: this.properties.markerItems||[], + markerCategories: this.properties.markerCategories||[], + isEditMode: this.displayMode == DisplayMode.Edit, + zoom: this.properties.startZoom, + center: this.properties.center, + title: this.properties.title, + height: this.properties.height, + plugins: this.properties.plugins, + + onMarkerCollectionChanged: (markerItems: IMarker[]) => { + this.properties.markerItems = markerItems; + }, + onMarkerCategoriesChanged: (markerCategories: IMarkerCategory[]) => { + this.properties.markerCategories = markerCategories; + }, + onStartViewSet: (zoomLevel: number, lat: number, lng: number) => { + this.properties.startZoom = zoomLevel; + this.properties.center = [lat, lng]; + }, + + onTitleUpdate: (value: string) => { + this.properties.title = value; + } } ); ReactDom.render(element, this.domElement); } + // protected onPropertyPaneFieldChanged(propertyPath: string, oldValue: any, newValue: any): void { + // super.onPropertyPaneFieldChanged(propertyPath, oldValue, newValue) + // console.log() + // } + private _getEnvironmentMessage(): string { if (!!this.context.sdks.microsoftTeams) { // running in Teams return this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentTeams : strings.AppTeamsTabEnvironment; @@ -121,8 +131,26 @@ export default class MapWebPart extends BaseClientSideWebPart { groupName: strings.BasicGroupName, groupFields: [ - PropertyPaneTextField('description', { - label: strings.DescriptionFieldLabel + PropertyPaneToggle('plugins.searchBox', { + label: "searchBox" + }), + PropertyPaneToggle('plugins.markercluster', { + label: "markercluster" + }), + PropertyPaneToggle('plugins.legend', { + label: "legend" + }), + PropertyPaneToggle('plugins.zoomControl', { + label: "zoomControl" + }), + PropertyPaneToggle('plugins.scrollWheelZoom', { + label: "scrollWheelZoom", + }), + PropertyPaneButton('groups', { + text: "Manage Groups", + onClick: (val: any) => { + return null; + } }) ] } diff --git a/src/webparts/map/components/AddOrEditPanel.tsx b/src/webparts/map/components/AddOrEditPanel.tsx new file mode 100644 index 000000000..80c10b7e6 --- /dev/null +++ b/src/webparts/map/components/AddOrEditPanel.tsx @@ -0,0 +1,326 @@ + +import * as React from 'react'; +import { IMarker, IMarkerCategory, MarkerType } from './IMapProps'; +import styles from './Map.module.scss'; +import { clone } from '@microsoft/sp-lodash-subset'; +import { Icon, Panel, Dialog, TextField, IPanelProps, PrimaryButton, DefaultButton, IChoiceGroupOption, ChoiceGroup, IDropdownOption, Dropdown, getColorFromString, IColor, PanelType, Label } from 'office-ui-fabric-react'; +import { Guid } from '@microsoft/sp-core-library'; +import { isNullOrEmpty, isFunction } from '@spfxappdev/utility'; +import { InlineColorPicker, IInlineColorPickerProps } from '@src/components/inlineColorPicker/InlineColorPicker'; +import { RichText } from "@pnp/spfx-controls-react/lib/RichText"; +import '@spfxappdev/utility/lib/extensions/StringExtensions'; +import '@spfxappdev/utility/lib/extensions/ArrayExtensions'; +import ManageMarkerCategoriesDialog from './ManageMarkerCategoriesDialog'; +import { MarkerIcon } from './MarkerIcon'; + +export interface IAddOrEditPanelProps { + markerItem: IMarker; + markerCategories: IMarkerCategory[]; + onDismiss(); + onMarkerChanged(markerItem: IMarker, isNewMarker: boolean); + onMarkerCategoriesChanged(markerCategories: IMarkerCategory[]); +} + +interface IAddOrEditPanelState { + markerItem: IMarker; + markerCategories: IMarkerCategory[]; + isSaveButtonDisabled: boolean; + isManageCategoriesDialogVisible: boolean; +} + +export default class AddOrEditPanel extends React.Component { + + public state: IAddOrEditPanelState = { + markerItem: clone(this.props.markerItem), + markerCategories: clone(this.props.markerCategories), + isSaveButtonDisabled: true, + isManageCategoriesDialogVisible: false + }; + + private readonly isNewMarker: boolean; + + private readonly headerText: string; + + private markerTypeOptions: IChoiceGroupOption[] = [ + { key: 'Panel', text: 'Panel', iconProps: { iconName: 'SidePanel' } }, + { key: 'Dialog', text: 'Dialog', iconProps: { iconName: 'Favicon' } }, + { key: 'Url', text: 'Url', iconProps: { iconName: 'Link' } }, + { key: 'None', text: 'None (not clickable)', iconProps: { iconName: 'FieldEmpty' } }, + ]; + + private urlOptions: IChoiceGroupOption[] = [ + { key: '_self', text: 'Open in same window' }, + { key: '_blank', text: 'Open in new window' }, + { key: 'embedded', text: 'Embedded (Dialog/iFrame)' }, + ]; + + constructor(props: IAddOrEditPanelProps) { + super(props); + + this.isNewMarker = this.props.markerItem.id.Equals(Guid.empty.toString()); + this.headerText = !this.isNewMarker ? "Bearbeiten" : "Neu"; + + } + + public render(): React.ReactElement { + + const selectedCatId: string = this.state.markerCategories.Contains(cat => cat.id.Equals(this.state.markerItem.categoryId)) ? this.state.markerItem.categoryId : Guid.empty.toString(); + + return ( + { this.onConfigPanelDismiss() }} + headerText={this.headerText} + closeButtonAriaLabel="Close" + onRenderFooterContent={(props: IPanelProps) => { + return this.renderPanelFooter(); + }} + // Stretch panel content to fill the available height so the footer is positioned + // at the bottom of the page + isFooterAtBottom={true} + > + + { + this.state.markerItem.categoryId = option.key.toString(); + this.setState({ + markerItem: this.state.markerItem, + isSaveButtonDisabled: false + }); + + }} + options={this.categoryOptions} + /> + { + this.state.markerItem.type = option.key.toString() as MarkerType; + + // if( this.state.markerItem.type == "None") { + // this.state.markerItem.markerClickProps = undefined; + // } + + this.setState({ + markerItem: this.state.markerItem, + isSaveButtonDisabled: false + }); + }} + options={this.markerTypeOptions} /> + + {this.renderNonCategorySettings()} + {this.renderUrlSettings()} + {this.renderPanelOrDialogSettings()} + {this.renderManageCategoriesDialog()} + + ); + } + + private renderPanelFooter(): JSX.Element { + return (
+ { + + if(this.isNewMarker) { + this.state.markerItem.id = Guid.newGuid().toString(); + } + + this.onSaveMarkerClick(this.state.markerItem); + }}> + Save + + { this.onConfigPanelDismiss(); }}>Cancel +
); + } + + private renderNonCategorySettings(): JSX.Element { + + if(this.state.markerCategories.Contains(cat => cat.id.Equals(this.state.markerItem.categoryId))) { + return (<>); + } + + return ( + <> + { + this.state.markerItem.iconProperties.markerColor = "#" + color.hex; + this.setState({ + markerItem: this.state.markerItem, + isSaveButtonDisabled: false + }); + }} + /> + + { + this.state.markerItem.iconProperties.iconName = iconName; + this.setState({ + markerItem: this.state.markerItem, + isSaveButtonDisabled: false + }); + }} /> + + { + this.state.markerItem.iconProperties.iconColor = "#" + color.hex; + this.setState({ + markerItem: this.state.markerItem, + isSaveButtonDisabled: false + }); + }} + isDisbaled={isNullOrEmpty(this.state.markerItem.iconProperties.iconName)} + /> + + { + this.state.markerItem.popuptext = popuptext; + this.setState({ + markerItem: this.state.markerItem, + isSaveButtonDisabled: false + }); + }} /> + + +
+
+ +
+
+ + ); + } + + private renderPanelOrDialogSettings(): JSX.Element { + + if(!(this.state.markerItem.type == "Dialog" || this.state.markerItem.type == "Panel")) { + return (<>); + } + + return (<> + { + this.state.markerItem.markerClickProps.content.headerText = headerText; + this.setState({ + markerItem: this.state.markerItem, + isSaveButtonDisabled: false + }); + }} /> + + + { + this.state.markerItem.markerClickProps.content.html = content; + this.setState({ + markerItem: this.state.markerItem, + isSaveButtonDisabled: false + }); + + return content; + }} /> + + ) + } + + private renderUrlSettings(): JSX.Element { + + if(this.state.markerItem.type != "Url") { + return (<>); + } + + return ( + <> + { + this.state.markerItem.markerClickProps.url.href = url; + this.setState({ + markerItem: this.state.markerItem, + isSaveButtonDisabled: false + }); + }} /> + + { + (this.state.markerItem.markerClickProps.url.target as any) = option.key; + + this.setState({ + markerItem: this.state.markerItem, + isSaveButtonDisabled: false + }); + }} + /> + + ); + } + + private renderManageCategoriesDialog(): JSX.Element { + + if(!this.state.isManageCategoriesDialogVisible) { + return (<>); + } + + return ( + <> + { + this.setState({ + isManageCategoriesDialogVisible: false + }); + }} + onMarkerCategoriesChanged={(markerCategories: IMarkerCategory[]) => { + + this.setState({ + isManageCategoriesDialogVisible: false, + markerCategories: markerCategories + }); + + if(isFunction(this.props.onMarkerCategoriesChanged)) { + this.props.onMarkerCategoriesChanged(markerCategories); + } + }} + /> + + ); + } + + private onConfigPanelDismiss(): void { + if(isFunction(this.props.onDismiss)) { + this.props.onDismiss(); + } + } + + private onSaveMarkerClick(marker: IMarker): void { + + if(isFunction(this.props.onMarkerChanged)) { + this.props.onMarkerChanged(this.state.markerItem, this.isNewMarker); + } + } + + private get categoryOptions(): IDropdownOption[] { + const categories: IDropdownOption[] = [ + { key: Guid.empty.toString(), text: 'None' } + ]; + + this.state.markerCategories.forEach((category: IMarkerCategory) => { + categories.push({ key: category.id, text: category.name }); + }); + + return categories; + } +} \ No newline at end of file diff --git a/src/webparts/map/components/IMapProps.ts b/src/webparts/map/components/IMapProps.ts index 65ddc403f..04a53675f 100644 --- a/src/webparts/map/components/IMapProps.ts +++ b/src/webparts/map/components/IMapProps.ts @@ -1,21 +1,22 @@ +import { Guid } from '@microsoft/sp-core-library'; +import * as L from 'leaflet'; +import { IMapPlugins } from '../MapWebPart'; export type MarkerType = "Panel"|"Dialog"|"Url"|"None"; +export interface IMarkerClickProps { + url: IMarkerUrlProperties; + content: IMarkerContentProperties +} - -export type MarkerTypePanel = { - headerText: string; - content: string; +export interface IMarkerUrlProperties { + href: string; + target: '_self'|'_blank'|'embedded'; }; -export type MarkerTypeUrl = { - url: string; -}; - -export type MarkerTypeDialog = { +export interface IMarkerContentProperties { headerText: string; - content?: string; - url?: string; + html: string; }; export interface IMarkerIcon { @@ -39,15 +40,40 @@ export interface IMarker { categoryId: string; iconProperties?: IMarkerIcon; popuptext?: string; - markerClickProps?: MarkerTypePanel|MarkerTypeUrl|MarkerTypeDialog; + markerClickProps?: IMarkerClickProps; } export interface IMapProps { markerItems: IMarker[]; markerCategories: IMarkerCategory[]; - onMarkerCollectionChanged?(markerItems: IMarker[]); - onMarkerCategoriesChanged?(markerCategories: IMarkerCategory[]); isEditMode: boolean; + zoom?: number; + center?: [number, number]; + maxZoom?: number; + title?: string; + height: number; + plugins: IMapPlugins; + + onMarkerCollectionChanged(markerItems: IMarker[]); + onMarkerCategoriesChanged(markerCategories: IMarkerCategory[]); + onStartViewSet(zoomLevel: number, lat: number, lng: number); + onTitleUpdate?: (value: string) => void; } - +export const emptyMarkerItem: IMarker = { + id: Guid.empty.toString(), + latitude: 0, + longitude: 0, + type: "Panel", + markerClickProps: { + url: { href: "", target: '_blank' }, + content: { html: '', headerText: '' } + }, + categoryId: Guid.empty.toString(), + iconProperties: { + markerColor: "#000000", + iconName: "", + iconColor: "#000000" + }, + popuptext: null +}; diff --git a/src/webparts/map/components/ManageMarkerCategoriesDialog.tsx b/src/webparts/map/components/ManageMarkerCategoriesDialog.tsx new file mode 100644 index 000000000..8dd5a6b41 --- /dev/null +++ b/src/webparts/map/components/ManageMarkerCategoriesDialog.tsx @@ -0,0 +1,206 @@ +import * as React from 'react'; +import { IMarker, IMarkerCategory, MarkerType } from './IMapProps'; +import styles from './Map.module.scss'; +import { clone } from '@microsoft/sp-lodash-subset'; +import { Icon, Panel, Dialog, TextField, IPanelProps, PrimaryButton, DefaultButton, IChoiceGroupOption, ChoiceGroup, IDropdownOption, Dropdown, getColorFromString, IColor, PanelType, Label, DialogFooter, DialogContent, DialogType } from 'office-ui-fabric-react'; +import { Guid } from '@microsoft/sp-core-library'; +import { isNullOrEmpty, isFunction } from '@spfxappdev/utility'; +import { InlineColorPicker, IInlineColorPickerProps } from '@src/components/inlineColorPicker/InlineColorPicker'; +import { RichText } from "@pnp/spfx-controls-react/lib/RichText"; +import '@spfxappdev/utility/lib/extensions/StringExtensions'; +import '@spfxappdev/utility/lib/extensions/ArrayExtensions'; +import { IconButton } from '@microsoft/office-ui-fabric-react-bundle'; +import { MarkerIcon } from './MarkerIcon'; + +export interface IManageMarkerCategoriesDialogProps { + markerCategories: IMarkerCategory[]; + onDismiss(); + onMarkerCategoriesChanged(markerCategories: IMarkerCategory[]); +} + +interface IManageMarkerCategoriesDialogState { + markerCategories: IMarkerCategory[]; + isSaveButtonDisabled: boolean; + isNewFormVisible: boolean; + +} + +export default class ManageMarkerCategoriesDialog extends React.Component { + + public state: IManageMarkerCategoriesDialogState = { + markerCategories: clone(this.props.markerCategories), + isSaveButtonDisabled: false, + isNewFormVisible: false + }; + + constructor(props: IManageMarkerCategoriesDialogProps) { + super(props); + + } + + componentDidMount(): void { + this.validateForm(); + } + + public render(): React.ReactElement { + return ( + ); + } + + private renderForm(categoryItem: IMarkerCategory, index: number): JSX.Element { + + return ( + <> +
+ { + this.state.markerCategories.RemoveAt(index); + this.validateForm(); + }} /> +
+
+ { + this.state.markerCategories[index].name = name; + this.validateForm(); + }} + /> +
+
+ { + this.state.markerCategories[index].iconProperties.markerColor = "#" + color.hex; + this.validateForm(); + }} + /> +
+
+ { + this.state.markerCategories[index].iconProperties.iconName = name; + this.validateForm(); + }} + /> +
+
+ { + this.state.markerCategories[index].iconProperties.iconColor = "#" + color.hex; + this.validateForm(); + }} + isDisbaled={isNullOrEmpty(categoryItem.iconProperties.iconName)} + /> +
+
+ { + this.state.markerCategories[index].popuptext = popuptext; + this.validateForm(); + }} + /> +
+
+
+ +
+
+ + ); + } + + private validateForm(): void { + + const isSaveBtnDisabled = this.state.markerCategories.Contains(cat => isNullOrEmpty(cat.name) || isNullOrEmpty(cat.iconProperties.markerColor)); + + this.setState({ + markerCategories: this.state.markerCategories, + isSaveButtonDisabled: isSaveBtnDisabled + }); + } + + private onAddNewCatagoryButtonClick(): void { + this.state.markerCategories.push(this.createNewCatagoryItem()); + + this.validateForm(); + } + + private createNewCatagoryItem(): IMarkerCategory { + const category: IMarkerCategory = { + id: Guid.newGuid().toString(), + name: "", + iconProperties: { + markerColor: "#000", + iconName: "", + iconColor: "#fff" + } + }; + + return category; + } +} \ No newline at end of file diff --git a/src/webparts/map/components/Map.module.scss b/src/webparts/map/components/Map.module.scss index 6d982b212..20756ec4c 100644 --- a/src/webparts/map/components/Map.module.scss +++ b/src/webparts/map/components/Map.module.scss @@ -1,5 +1,5 @@ @import '~office-ui-fabric-react/dist/sass/References.scss'; - +@import '~@microsoft/sp-office-ui-fabric-core/dist/sass/SPFabricCore.scss'; .map { @@ -14,5 +14,156 @@ left: 8px; top: 5px; color: #fff; + + i { + font-size: 12px; + } + } + + .manage-categories-label { + font-size: 10px; + color: #1190F4; + padding-left: 5px; + cursor: pointer; + } + + .spfxappdev-grid { + box-sizing: border-box; + zoom: 1; + padding: 0 8px; + + &::before, + &::after { + display: table; + content: ''; + line-height: 0; + -webkit-box-sizing: inherit; + box-sizing: inherit; + } + + &::after { + clear: both; + } + + &-row { + margin: 0 -8px; + box-sizing: border-box; + zoom: 1; + + &::before, + &::after { + display: table; + content: ''; + line-height: 0; + -webkit-box-sizing: inherit; + box-sizing: inherit; + } + + &::after { + clear: both; + } + + } + + &-col { + position: relative; + min-height: 1px; + // padding-left: 8px; + // padding-right: 8px; + box-sizing: border-box; + float: left; + } + } + + .spfxappdev-sm1 { + width: 8.33% + } + + .spfxappdev-sm2 { + width: 16.66%; + } + + .spfxappdev-sm3 { + width: 25%; + } + + .spfxappdev-sm4 { + width: 33.33%; + } + + .spfxappdev-sm5 { + width: 41.66%; + } + + .spfxappdev-sm6 { + width: 50%; + } + + .spfxappdev-sm7 { + width: 58.33%; + } + + .spfxappdev-sm8 { + width: 66.66%; + } + + .spfxappdev-sm9 { + width:75%; + } + + .spfxappdev-sm10 { + width: 83.33%; + } + + .spfxappdev-sm11 { + width: 91.66%; + } + + .spfxappdev-sm12 { + width: 100%; + } + + .grid-header { + background: $ms-color-themePrimary; + color: #fff; + font-weight: 600; + text-align: center; + } + + .grid-footer { + margin-top: 10px + } + + .categories-grid { + .spfxappdev-grid-col { + padding: 10px 2px; + } + + &.spfxappdev-grid-row { + border-bottom: solid 1px #aeaeae; + + &:nth-child(odd) { + background: $ms-color-themeLight; + } + } + } + + .iframe-dialog, + .categories-dialog { + .ms-Dialog-content .ms-Dialog-header { + display: none; + } + } + + .iframe-dialog { + iframe { + border: 0; + width: 100%; + height: 100%; + } + } + + .ql-editor[contenteditable='true'] { + border: solid 1px $ms-color-themeDarker !important; } } diff --git a/src/webparts/map/components/Map.tsx b/src/webparts/map/components/Map.tsx index c94a2967b..06d285060 100644 --- a/src/webparts/map/components/Map.tsx +++ b/src/webparts/map/components/Map.tsx @@ -1,21 +1,27 @@ import * as React from 'react'; import * as ReactDom from 'react-dom'; import styles from './Map.module.scss'; -import { IMapProps, IMarker, IMarkerCategory, IMarkerIcon, MarkerType, MarkerTypeDialog, MarkerTypePanel, MarkerTypeUrl } from './IMapProps'; +import { IMapProps, IMarker, IMarkerCategory, IMarkerIcon, MarkerType, IMarkerClickProps, IMarkerUrlProperties, IMarkerContentProperties, emptyMarkerItem } from './IMapProps'; import { clone } from '@microsoft/sp-lodash-subset'; import { MapContainer, TileLayer, Marker, Popup, Tooltip } from 'react-leaflet'; import "leaflet/dist/leaflet.css"; import * as L from 'leaflet'; -import { Icon, ContextualMenu, ContextualMenuItemType, IContextualMenuItem, Panel, Dialog, IPanelProps, PrimaryButton, DefaultButton, IChoiceGroupOption, ChoiceGroup, IDropdownOption, Dropdown, getColorFromString, IColor, PanelType } from 'office-ui-fabric-react'; -import { randomString, isset, isNullOrEmpty, getDeepOrDefault } from '@spfxappdev/utility'; +import { Icon, ContextualMenu, ContextualMenuItemType, IContextualMenuItem, Panel, Dialog, IPanelProps, PrimaryButton, DefaultButton, IChoiceGroupOption, ChoiceGroup, IDropdownOption, Dropdown, getColorFromString, IColor, PanelType, DialogType, DialogContent } from 'office-ui-fabric-react'; +import { randomString, isset, isNullOrEmpty, getDeepOrDefault, cssClasses } from '@spfxappdev/utility'; import '@spfxappdev/utility/lib/extensions/StringExtensions'; import '@spfxappdev/utility/lib/extensions/ArrayExtensions'; -import { Guid } from '@microsoft/sp-core-library'; +import { DisplayMode, Guid } from '@microsoft/sp-core-library'; import { InlineColorPicker, IInlineColorPickerProps } from '@src/components/inlineColorPicker/InlineColorPicker' import { TextField } from '@microsoft/office-ui-fabric-react-bundle'; +import { RichText } from "@pnp/spfx-controls-react/lib/RichText"; +import { WebPartTitle } from "@pnp/spfx-controls-react/lib/WebPartTitle"; +import AddOrEditPanel from './AddOrEditPanel'; +import { isFunction } from 'lodash'; +import { MarkerIcon } from './MarkerIcon'; interface IMapState { markerItems: IMarker[]; + markerCategories: IMarkerCategory[]; rightMouseTarget?: any; showAddOrEditMarkerPanel: boolean; currentMarker?: IMarker; @@ -26,6 +32,7 @@ export default class Map extends React.Component { public state: IMapState = { markerItems: clone(this.props.markerItems), + markerCategories: clone(this.props.markerCategories), showAddOrEditMarkerPanel: false, showClickContent: false }; @@ -35,10 +42,17 @@ export default class Map extends React.Component { private menuItems: IContextualMenuItem[] = [ { key: 'newItem', - text: 'New', + text: 'Add a new marker', onClick: () => { this.onCreateNewMarkerContextMenuItemClick(); } + }, + { + key: 'setStartView', + text: 'Make this view as start position', + onClick: () => { + this.onSetStartView(); + } } ]; @@ -49,75 +63,48 @@ export default class Map extends React.Component { constructor(props: IMapProps) { super(props); - - props.markerCategories.forEach((category: IMarkerCategory) => { - this.allCatagories[category.id] = category; - }); + this.setAllCatagoriesDictionary(); } public render(): React.ReactElement { - + // return ( -
) => { +
+ - }}> - { - map.on("contextmenu", (ev: L.LeafletEvent) => { + (this.props, "plugins.zoomControl", true)} + center={this.props.center} + zoom={this.props.zoom} + maxZoom={this.props.maxZoom} + whenCreated={(map: L.Map) => { + map.on("contextmenu", (ev: L.LeafletEvent) => { - this.lastLatLngRightClickPosition = (ev as any).latlng; + this.lastLatLngRightClickPosition = (ev as any).latlng; - this.setState({ - rightMouseTarget: {x: ((ev as any).originalEvent as MouseEvent).clientX, y: ((ev as any).originalEvent as MouseEvent).clientY } - }); + this.setState({ + rightMouseTarget: {x: ((ev as any).originalEvent as MouseEvent).clientX, y: ((ev as any).originalEvent as MouseEvent).clientY } + }); - }); - this.map = map; - - }} style={{ -height: "400px" -}}> + }); + this.map = map; + } + } + style={{height: "400px"}} + > - {this.state.markerItems.map((marker: IMarker, index: number): JSX.Element => { - const useCategory: boolean = isset(this.allCatagories[marker.categoryId]); - const markerCategory: IMarkerCategory = useCategory ? this.allCatagories[marker.categoryId] : null; - const popupText: string = !useCategory ? marker.popuptext : isNullOrEmpty(markerCategory.popuptext) ? markerCategory.name : markerCategory.popuptext; - return ( - { - - let showEditPanel: boolean = this.props.isEditMode; - - this.setState({ - currentMarker: marker, - showClickContent: !showEditPanel, - showAddOrEditMarkerPanel: showEditPanel - }); - }, - mouseover: (ev: L.LeafletMouseEvent) => { - (ev.target as any).openPopup(); - }, - mouseout: (ev: L.LeafletMouseEvent) => { - (ev.target as any).closePopup(); - }, - } - } - > - {!isNullOrEmpty(popupText) && - - {popupText} - - } - - ); - })} + {this.renderMarker()} + + + {this.renderLegend()} {this.showAddOrEditMarkerPanel()} {this.showClickContent()} -
); } + private renderMarker(): JSX.Element { + return ( + <> + {this.state.markerItems.map((marker: IMarker, index: number): JSX.Element => { + const useCategory: boolean = isset(this.allCatagories[marker.categoryId]); + const markerCategory: IMarkerCategory = useCategory ? this.allCatagories[marker.categoryId] : null; + const popupText: string = !useCategory ? marker.popuptext : isNullOrEmpty(markerCategory.popuptext) ? markerCategory.name : markerCategory.popuptext; + + return ( + { + + let showEditPanel: boolean = this.props.isEditMode; + + this.setState({ + currentMarker: marker, + showClickContent: !showEditPanel, + showAddOrEditMarkerPanel: showEditPanel + }); + }, + mouseover: (ev: L.LeafletMouseEvent) => { + (ev.target as any).openPopup(); + }, + mouseout: (ev: L.LeafletMouseEvent) => { + (ev.target as any).closePopup(); + }, + } + } + > + {!isNullOrEmpty(popupText) && + + {popupText} + + } + + ); + })} + + ); + } + + private renderLegend(): JSX.Element { + if(!getDeepOrDefault(this.props, "plugins.legend", false) || isNullOrEmpty(this.state.markerCategories)) { + return (<>); + } + + return (<>TBD); + } + private showClickContent(): JSX.Element { if(!this.state.showClickContent || isNullOrEmpty(this.state.currentMarker)) { return (<>); } - if(this.state.currentMarker.type == "Panel") { + if(this.state.currentMarker.type == "None") { + return (<>); + } + + if(this.state.currentMarker.type == "Url" && this.state.currentMarker.markerClickProps.url.target != "embedded") { + window.open(this.state.currentMarker.markerClickProps.url.href, this.state.currentMarker.markerClickProps.url.target); + return (<>); + } + + if (this.state.currentMarker.type == "Panel") { return ( { this.onContentPanelDismiss() }} - headerText={(this.state.currentMarker.markerClickProps as MarkerTypePanel).headerText} + onDismiss={() => { this.onContentPanelOrDialogDismiss() }} + headerText={this.state.currentMarker.markerClickProps.content.headerText} closeButtonAriaLabel="Close" onRenderFooterContent={(props: IPanelProps) => { return (
- { this.onContentPanelDismiss(); }}>Close + { this.onContentPanelOrDialogDismiss(); }}>Close
); }} // Stretch panel content to fill the available height so the footer is positioned // at the bottom of the page isFooterAtBottom={true} > - {(this.state.currentMarker.markerClickProps as MarkerTypePanel).headerText} +
); } + + const width: number = window.innerWidth - 100; + const height: number = window.innerHeight - 300; + let dialogWidth = 900; + + if(width < dialogWidth || this.state.currentMarker.type == "Url") { + dialogWidth = width; + } + + return ( + + ); + } private showAddOrEditMarkerPanel(): JSX.Element { @@ -172,190 +252,46 @@ height: "400px" return (<>); } - const headerText: string = !this.state.currentMarker.id.Equals(Guid.empty.toString()) ? "Bearbeiten" : "Neu"; - - const markerTypeOptions: IChoiceGroupOption[] = [ - { key: 'Panel', text: 'Panel', iconProps: { iconName: 'SidePanel' } }, - { key: 'Dialog', text: 'Dialog', iconProps: { iconName: 'Favicon' } }, - { key: 'Url', text: 'Url', iconProps: { iconName: 'Link' } }, - { key: 'None', text: 'None (not clickable)', iconProps: { iconName: 'FieldEmpty' } }, - ]; - - const categoryOptions: IDropdownOption[] = [ - { key: Guid.empty.toString(), text: 'None' } - ]; - - this.props.markerCategories.forEach((category: IMarkerCategory) => { - categoryOptions.push({ key: category.id, text: category.name }); - }); - return ( - { this.onConfigPanelDismiss() }} - headerText={headerText} - closeButtonAriaLabel="Close" - onRenderFooterContent={(props: IPanelProps) => { - return (
- { - this.state.currentMarker.id = Guid.newGuid().toString(); - // this.onCreateNewMarkerClick(clone(this.state.currentMarker)); - this.onCreateNewMarkerClick(this.state.currentMarker); - // this.state.currentMarker = null; - this.onConfigPanelDismiss(); - }}> - Save - - { this.onConfigPanelDismiss(); }}>Cancel -
); + { this.onConfigPanelDismiss(); }} + onMarkerCategoriesChanged={(markerCategories: IMarkerCategory[]) => { + this.state.markerCategories = markerCategories; + + if(isFunction(this.props.onMarkerCategoriesChanged)) { + this.props.onMarkerCategoriesChanged(markerCategories); + } + + this.setAllCatagoriesDictionary(); + + this.setState({ + markerCategories: markerCategories + }); }} - // Stretch panel content to fill the available height so the footer is positioned - // at the bottom of the page - isFooterAtBottom={true} - > - { - this.state.currentMarker.categoryId = option.key.toString(); - this.setState({ - currentMarker: this.state.currentMarker - }); + onMarkerChanged={(markerItem: IMarker, isNewMarker: boolean) => { - }} - options={categoryOptions} - /> - { - this.state.currentMarker.type = option.key.toString() as MarkerType; + if(isNewMarker) { + this.state.markerItems.push(markerItem); + } + else { + const markerIndex: number = this.state.markerItems.IndexOf(m => m.id == markerItem.id); - if( this.state.currentMarker.type == "Dialog") { - this.state.currentMarker.markerClickProps = { - headerText: "", - content: "", - url: "" - }; + if(markerIndex>=0) { + this.state.markerItems[markerIndex] = markerItem; } - - if( this.state.currentMarker.type == "Panel") { - this.state.currentMarker.markerClickProps = { - headerText: "", - content: "" - }; - } - - if( this.state.currentMarker.type == "None") { - this.state.currentMarker.markerClickProps = undefined; - } - - if( this.state.currentMarker.type == "Url") { - this.state.currentMarker.markerClickProps = { url: ""}; - } - - - - this.setState({ - currentMarker: this.state.currentMarker - }); - }} - options={markerTypeOptions} /> - - {this.state.currentMarker.categoryId == Guid.empty.toString() && - <> - { - this.state.currentMarker.iconProperties.markerColor = "#" + color.hex; - this.setState({ - currentMarker: this.state.currentMarker - }); - }} - /> - - { - this.state.currentMarker.iconProperties.iconName = iconName; - this.setState({ - currentMarker: this.state.currentMarker - }); - }} /> - - {!isNullOrEmpty(this.state.currentMarker.iconProperties.iconName) && - { - this.state.currentMarker.iconProperties.iconColor = "#" + color.hex; - this.setState({ - currentMarker: this.state.currentMarker - }); - }} - /> } - - { - this.state.currentMarker.popuptext = popuptext; - this.setState({ - currentMarker: this.state.currentMarker - }); - }} /> - } - + this.state.rightMouseTarget = undefined; - {this.state.currentMarker.type == "Url" && - <> - { - this.state.currentMarker.markerClickProps = { url: url }; - this.setState({ - currentMarker: this.state.currentMarker - }); - }} /> - + if(isFunction(this.props.onMarkerCollectionChanged)) { + this.props.onMarkerCollectionChanged(this.state.markerItems); } - {this.state.currentMarker.type == "Panel" && - <> - { - (this.state.currentMarker.markerClickProps as MarkerTypePanel).headerText = headerText; - this.setState({ - currentMarker: this.state.currentMarker - }); - }} /> - - { - (this.state.currentMarker.markerClickProps as MarkerTypePanel).content = content; - this.setState({ - currentMarker: this.state.currentMarker - }); - }} /> - - } - - {this.state.currentMarker.type == "Dialog" && - <> - { - (this.state.currentMarker.markerClickProps as MarkerTypeDialog).headerText = headerText; - this.setState({ - currentMarker: this.state.currentMarker - }); - }} /> - - { - (this.state.currentMarker.markerClickProps as MarkerTypeDialog).content = content; - this.setState({ - currentMarker: this.state.currentMarker - }); - }} /> - - } -
+ this.onConfigPanelDismiss(); + }} + /> ); } @@ -366,7 +302,7 @@ height: "400px" }); } - private onContentPanelDismiss(): void { + private onContentPanelOrDialogDismiss(): void { this.setState({ showClickContent: false, currentMarker: null @@ -393,15 +329,17 @@ height: "400px" const iconProperties: IMarkerIcon = isNullOrEmpty(markerCategory) ? marker.iconProperties : markerCategory.iconProperties; - wrapper.innerHTML = ` - - - - - - `; + // wrapper.innerHTML = ` + // + // + // + // + // + // `; - ReactDom.render( , wrapper.querySelector(".map-icon")); + // ReactDom.render( , wrapper.querySelector(".map-icon")); + + ReactDom.render(, wrapper); return wrapper; }; @@ -410,34 +348,28 @@ height: "400px" } private onCreateNewMarkerContextMenuItemClick(): void { - - - this.state.currentMarker = { - id: Guid.empty.toString(), - latitude: this.lastLatLngRightClickPosition.lat, - longitude: this.lastLatLngRightClickPosition.lng, - type: "Panel", - markerClickProps: { - headerText: "", - content: "" - }, - categoryId: Guid.empty.toString(), - iconProperties: { - markerColor: "#" + randomString(6, 'abcdef0123456789'), - iconName: "", - iconColor: "#000" - }, - popuptext: null - }; - - console.log('New clicked', this.lastLatLngRightClickPosition); + this.state.currentMarker = clone(emptyMarkerItem); + this.state.currentMarker.latitude = this.lastLatLngRightClickPosition.lat; + this.state.currentMarker.longitude = this.lastLatLngRightClickPosition.lng; this.state.showAddOrEditMarkerPanel = true; this.setState({...this.state}) } - private onCreateNewMarkerClick(marker: IMarker): void { - this.state.markerItems.push(marker); - this.state.rightMouseTarget = undefined; + private onSetStartView(): void { + console.log("SSC", this.map.getZoom(), this.map.getCenter()) + + if(isFunction(this.props.onStartViewSet)) { + const zoom: number = this.map.getZoom(); + const latLng: L.LatLng = this.map.getCenter(); + this.props.onStartViewSet(zoom, latLng.lat, latLng.lng); + } + } + + private setAllCatagoriesDictionary(): void { + this.allCatagories = {}; + this.state.markerCategories.forEach((category: IMarkerCategory) => { + this.allCatagories[category.id] = category; + }); } } diff --git a/src/webparts/map/components/MarkerIcon.tsx b/src/webparts/map/components/MarkerIcon.tsx new file mode 100644 index 000000000..efdc40b06 --- /dev/null +++ b/src/webparts/map/components/MarkerIcon.tsx @@ -0,0 +1,21 @@ +import { Icon } from 'office-ui-fabric-react'; +import * as React from 'react'; +import { IMarkerIcon } from './IMapProps'; + + +export const MarkerIcon: React.FunctionComponent = (iconProperties): JSX.Element => { + + const iconColor: React.CSSProperties = { + color: iconProperties.iconColor.slice() + }; + + return ( + + + {/* Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */} + + + + + ); +} \ No newline at end of file