From c5d5a448c5d19c8154b5f106ff4535fc54512142 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 16 Feb 2022 21:10:33 -0500 Subject: [PATCH 01/85] initial swap of original frontent --- .../Dnn.Modules.ResourceManager.csproj | 13 +- .../Modules/ResourceManager/Module.build | 2 +- .../ResourceManager.Web/.babelrc | 18 - .../ResourceManager.Web/.editorconfig | 15 + .../ResourceManager.Web/.eslintignore | 2 - .../ResourceManager.Web/.eslintrc.js | 43 - .../ResourceManager.Web/.gitignore | 26 + .../ResourceManager.Web/.prettierrc.json | 13 + .../ResourceManager.Web/LICENSE | 21 + .../action types/addAssetPanelActionsTypes.js | 12 - .../addFolderPanelActionsTypes.js | 13 - .../action types/dialogModalActionsTypes.js | 6 - .../action types/folderPanelActionsTypes.js | 19 - .../app/action types/globalActionsTypes.js | 5 - .../infiniteScrollActionsTypes.js | 5 - .../action types/itemDetailsActionsTypes.js | 18 - .../manageFolderTypesPanelActionsTypes.js | 7 - .../action types/messageModalActionsTypes.js | 5 - .../app/action types/topBarActionsTypes.js | 5 - .../app/actions/addAssetPanelActions.js | 133 -- .../app/actions/addFolderPanelActions.js | 101 - .../app/actions/dialogModalActions.js | 19 - .../app/actions/folderPanelActions.js | 191 -- .../app/actions/globalActions.js | 13 - .../app/actions/infiniteScrollActions.js | 12 - .../app/actions/itemDetailsActions.js | 136 -- .../actions/manageFolderTypesPanelActions.js | 48 - .../app/actions/messageModalActions.js | 11 - .../app/actions/topBarActions.js | 12 - .../app/components/App.jsx | 10 - .../app/components/AssetsHeader.jsx | 12 - .../app/components/Breadcrumb.jsx | 15 - .../app/components/FileDetails.jsx | 63 - .../app/components/FileProgress.jsx | 34 - .../app/components/FileUpload.jsx | 17 - .../app/components/FolderDetails.jsx | 62 - .../FolderSelector/FolderPicker.jsx | 126 -- .../FolderSelector/FolderSelector.jsx | 127 -- .../app/components/FolderSelector/Folders.jsx | 103 - .../components/FolderSelector/img/folder.svg | 9 - .../components/FolderSelector/img/search.svg | 6 - .../app/components/FolderSelector/style.less | 296 --- .../app/components/Item.jsx | 46 - .../app/components/Permissions.jsx | 57 - .../app/containers/AddAssetPanelContainer.jsx | 49 - .../containers/AddFolderPanelContainer.jsx | 173 -- .../app/containers/AssetsPanelContainer.jsx | 224 -- .../app/containers/BreadcrumbsContainer.jsx | 65 - .../app/containers/ButtonsContainer.jsx | 55 - .../app/containers/DevTools.js | 11 - .../app/containers/DialogModalContainer.jsx | 76 - .../app/containers/DropZoneContainer.jsx | 126 -- .../app/containers/ItemContainer.jsx | 176 -- .../app/containers/ItemDetailsContainer.jsx | 95 - .../app/containers/ItemMoveContainer.jsx | 107 - .../ManageFolderTypesPanelContainer.jsx | 143 -- .../app/containers/MessageModalContainer.jsx | 78 - .../app/containers/ModuleLayout.jsx | 62 - .../ProgressBarOverwriteContainer.jsx | 71 - .../app/containers/ProgressContainer.jsx | 93 - .../app/containers/TopBarContainer.jsx | 166 -- .../ResourceManager.Web/app/globals/api.js | 263 --- .../ResourceManager.Web/app/globals/dnnSf.js | 101 - .../app/globals/resourceManager.js | 35 - .../ResourceManager.Web/app/less/Assets.less | 1099 --------- .../ResourceManager.Web/app/less/button.less | 52 - .../app/less/components.less | 183 -- .../ResourceManager.Web/app/less/mixins.less | 25 - .../ResourceManager.Web/app/less/modal.less | 29 - .../ResourceManager.Web/app/less/styles.less | 9 - .../ResourceManager.Web/app/main.jsx | 21 - .../app/reducers/AddFolderPanel.js | 44 - .../app/reducers/addAssetPanel.js | 47 - .../app/reducers/breadcrumbs.js | 50 - .../app/reducers/dialogModal.js | 23 - .../app/reducers/folderPanel.js | 58 - .../app/reducers/infiniteScroll.js | 22 - .../app/reducers/itemDetails.js | 51 - .../app/reducers/manageFolderTypesPanel.js | 20 - .../app/reducers/messageModal.js | 34 - .../app/reducers/module.js | 20 - .../app/reducers/rootReducer.js | 28 - .../app/reducers/topBar.js | 17 - .../app/services/internalService.js | 28 - .../app/services/itemsService.js | 159 -- .../app/services/localizeService.js | 19 - .../app/store/configureStore.js | 21 - .../ResourceManager.Web/package.json | 92 +- .../ResourceManager.Web/readme.md | 13 + .../ResourceManager.Web/src/components.d.ts | 37 + .../dnn-resource-manager.scss | 3 + .../dnn-resource-manager.tsx | 18 + .../components/dnn-resource-manager/readme.md | 10 + .../ResourceManager.Web/src/index.html | 14 + .../ResourceManager.Web/src/index.ts | 1 + .../ResourceManager.Web/stencil.config.ts | 25 + .../ResourceManager.Web/tsconfig.json | 25 + .../ResourceManager.Web/webpack.config.js | 130 -- .../ResourceManager/ResourceManager.dnn | 2 +- .../collection-manifest.json | 12 + .../dnn-resource-manager/components.d.ts | 37 + .../Scripts/dnn-resource-manager/core-js.js | 11 + .../Scripts/dnn-resource-manager/css-shim.js | 1 + .../dnn-resource-manager.cjs.entry.js | 19 + .../dnn-resource-manager.cjs.js | 19 + .../dnn-resource-manager.css | 3 + .../dnn-resource-manager.d.ts | 3 + .../dnn-resource-manager.entry.js | 15 + .../dnn-resource-manager.esm.js | 1 + .../dnn-resource-manager.js | 17 + .../Scripts/dnn-resource-manager/dom.js | 79 + .../dnn-resource-manager/es5-html-element.js | 1 + .../dnn-resource-manager/index-ca59ddc6.js | 673 ++++++ .../dnn-resource-manager/index-fc840d31.js | 647 ++++++ .../Scripts/dnn-resource-manager/index.cjs.js | 1 + .../Scripts/dnn-resource-manager/index.d.ts | 1 + .../Scripts/dnn-resource-manager/index.esm.js | 0 .../Scripts/dnn-resource-manager/index.js | 1 + .../dnn-resource-manager/loader.cjs.js | 21 + .../Scripts/dnn-resource-manager/loader.js | 17 + .../dnn-resource-manager/p-04619211.js | 1 + .../dnn-resource-manager/p-2d33d39e.entry.js | 1 + .../stencil-public-runtime.d.ts | 1565 +++++++++++++ .../Scripts/dnn-resource-manager/system.js | 6 + .../Scripts/dnn.Localization.js | 362 --- .../Modules/ResourceManager/View.ascx | 63 - .../Modules/ResourceManager/View.ascx.cs | 222 -- .../ResourceManager/View.ascx.designer.cs | 24 - .../Modules/ResourceManager/View.html | 3 + yarn.lock | 1989 +---------------- 130 files changed, 3520 insertions(+), 8800 deletions(-) delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/.babelrc create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/.editorconfig delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/.eslintignore delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/.eslintrc.js create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/.gitignore create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/.prettierrc.json create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/LICENSE delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/addAssetPanelActionsTypes.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/addFolderPanelActionsTypes.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/dialogModalActionsTypes.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/folderPanelActionsTypes.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/globalActionsTypes.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/infiniteScrollActionsTypes.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/itemDetailsActionsTypes.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/manageFolderTypesPanelActionsTypes.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/messageModalActionsTypes.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/topBarActionsTypes.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/addAssetPanelActions.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/addFolderPanelActions.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/dialogModalActions.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/folderPanelActions.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/globalActions.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/infiniteScrollActions.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/itemDetailsActions.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/manageFolderTypesPanelActions.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/messageModalActions.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/topBarActions.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/App.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/AssetsHeader.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Breadcrumb.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileDetails.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileProgress.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileUpload.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderDetails.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/FolderPicker.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/FolderSelector.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/Folders.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/img/folder.svg delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/img/search.svg delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/style.less delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Item.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Permissions.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AddAssetPanelContainer.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AddFolderPanelContainer.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AssetsPanelContainer.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/BreadcrumbsContainer.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ButtonsContainer.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DevTools.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DialogModalContainer.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DropZoneContainer.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemContainer.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemDetailsContainer.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemMoveContainer.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ManageFolderTypesPanelContainer.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/MessageModalContainer.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ModuleLayout.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ProgressBarOverwriteContainer.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ProgressContainer.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/TopBarContainer.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/api.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/dnnSf.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/resourceManager.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/Assets.less delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/button.less delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/components.less delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/mixins.less delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/modal.less delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/styles.less delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/main.jsx delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/AddFolderPanel.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/addAssetPanel.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/breadcrumbs.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/dialogModal.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/folderPanel.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/infiniteScroll.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/itemDetails.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/manageFolderTypesPanel.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/messageModal.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/module.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/rootReducer.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/topBar.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/internalService.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/itemsService.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/localizeService.js delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/store/configureStore.js create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/readme.md create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components.d.ts create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.scss create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.tsx create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/readme.md create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/index.html create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/index.ts create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/stencil.config.ts create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/tsconfig.json delete mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/webpack.config.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/collection-manifest.json create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/components.d.ts create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/core-js.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/css-shim.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.cjs.entry.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.cjs.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.css create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.d.ts create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.entry.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.esm.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dom.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/es5-html-element.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index-ca59ddc6.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index-fc840d31.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index.cjs.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index.d.ts create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index.esm.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/loader.cjs.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/loader.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-04619211.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-2d33d39e.entry.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/stencil-public-runtime.d.ts create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/system.js delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn.Localization.js delete mode 100644 DNN Platform/Modules/ResourceManager/View.ascx delete mode 100644 DNN Platform/Modules/ResourceManager/View.ascx.cs delete mode 100644 DNN Platform/Modules/ResourceManager/View.ascx.designer.cs create mode 100644 DNN Platform/Modules/ResourceManager/View.html diff --git a/DNN Platform/Modules/ResourceManager/Dnn.Modules.ResourceManager.csproj b/DNN Platform/Modules/ResourceManager/Dnn.Modules.ResourceManager.csproj index 02cafadd612..71f56e95d7a 100644 --- a/DNN Platform/Modules/ResourceManager/Dnn.Modules.ResourceManager.csproj +++ b/DNN Platform/Modules/ResourceManager/Dnn.Modules.ResourceManager.csproj @@ -146,13 +146,6 @@ Settings.ascx - - View.ascx - ASPXCodeBehind - - - View.ascx - stylecop.json @@ -195,9 +188,7 @@ - - @@ -256,6 +247,7 @@ + web.config @@ -268,6 +260,9 @@ + + + 10.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) diff --git a/DNN Platform/Modules/ResourceManager/Module.build b/DNN Platform/Modules/ResourceManager/Module.build index 63a3fa59ac6..6e87c318e0c 100644 --- a/DNN Platform/Modules/ResourceManager/Module.build +++ b/DNN Platform/Modules/ResourceManager/Module.build @@ -16,7 +16,7 @@ - + diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.babelrc b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.babelrc deleted file mode 100644 index 59a01ef24ee..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.babelrc +++ /dev/null @@ -1,18 +0,0 @@ -{ - "presets": [ - "@babel/preset-env", - "@babel/preset-react" - ], - "plugins": [ - "transform-object-assign", - "@babel/plugin-proposal-object-rest-spread", - "@babel/plugin-proposal-class-properties" - ], - "env": { - "production": { - "plugins": [ - "transform-react-remove-prop-types" - ] - } - } -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.editorconfig b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.editorconfig new file mode 100644 index 00000000000..f1cc3ad329c --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.editorconfig @@ -0,0 +1,15 @@ +# http://editorconfig.org + +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.eslintignore b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.eslintignore deleted file mode 100644 index ca83d8f7145..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -./node_modules/**/* -**/dnn-react-common.min.js \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.eslintrc.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.eslintrc.js deleted file mode 100644 index de205a18d94..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.eslintrc.js +++ /dev/null @@ -1,43 +0,0 @@ -module.exports = { - "plugins": [ - "react" - ], - "env": { - "browser": true, - "commonjs": true - }, - "extends": ["eslint:recommended", "plugin:react/recommended"], - "parser": "babel-eslint", - "parserOptions": { - "ecmaFeatures": { - "jsx": true - }, - "ecmaVersion": 2018, - "sourceType": "module" - }, - "settings": { - "react":{ - "version": "16" - } - }, - "globals": { - "__": false, - "Promise": false, - "VERSION": false - }, - "rules": { - "semi": "error", - "no-var": "error", - "quotes": ["warn", "double" ], - "indent": ["warn", 4, {"SwitchCase": 1}], - "no-unused-vars": "warn", - "no-console": "warn", - "keyword-spacing": "warn", - "eqeqeq": "warn", - "space-before-function-paren": ["warn", { "anonymous": "always", "named": "never" }], - "space-before-blocks": "warn", - "no-multiple-empty-lines": "warn", - "react/jsx-equals-spacing": ["warn", "never"], - "id-match": ["error", "^([A-Za-z0-9_])+$", {"properties": true}] - } -}; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.gitignore b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.gitignore new file mode 100644 index 00000000000..c3ea58a61b7 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.gitignore @@ -0,0 +1,26 @@ +dist/ +www/ +loader/ + +*~ +*.sw[mnpcod] +*.log +*.lock +*.tmp +*.tmp.* +log.txt +*.sublime-project +*.sublime-workspace + +.stencil/ +.idea/ +.vscode/ +.sass-cache/ +.versions/ +node_modules/ +$RECYCLE.BIN/ + +.DS_Store +Thumbs.db +UserInterfaceState.xcuserstate +.env diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.prettierrc.json b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.prettierrc.json new file mode 100644 index 00000000000..7ca3a28a9ce --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.prettierrc.json @@ -0,0 +1,13 @@ +{ + "arrowParens": "avoid", + "bracketSpacing": true, + "jsxBracketSameLine": false, + "jsxSingleQuote": false, + "quoteProps": "consistent", + "printWidth": 180, + "semi": true, + "singleQuote": true, + "tabWidth": 2, + "trailingComma": "all", + "useTabs": false +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/LICENSE b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/LICENSE new file mode 100644 index 00000000000..b442934b7df --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/addAssetPanelActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/addAssetPanelActionsTypes.js deleted file mode 100644 index 1a21d251e45..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/addAssetPanelActionsTypes.js +++ /dev/null @@ -1,12 +0,0 @@ -const addAssetPanelActionsTypes = { - SHOW_ADD_ASSET_PANEL: "SHOW_ADD_ASSET_PANEL", - HIDE_ADD_ASSET_PANEL: "HIDE_ADD_ASSET_PANEL", - UPDATE_PROGRESS: "UPDATE_PROGRESS", - RESET_PANEL: "RESET_PANEL", - ASSET_ADDED: "ASSET_ADDED", - ASSET_ADDED_ERROR: "ASSET_ADDED_ERROR", - FILE_ALREADY_EXIST: "FILE_ALREADY_EXIST", - STOP_UPLOAD: "STOP_UPLOAD" -}; - -export default addAssetPanelActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/addFolderPanelActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/addFolderPanelActionsTypes.js deleted file mode 100644 index d5b87983b90..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/addFolderPanelActionsTypes.js +++ /dev/null @@ -1,13 +0,0 @@ -const addFolderPanelActionsTypes = { - SHOW_ADD_FOLDER_PANEL: "SHOW_ADD_FOLDER_PANEL", - HIDE_ADD_FOLDER_PANEL: "HIDE_ADD_FOLDER_PANEL", - FOLDER_MAPPINGS_LOADED: "FOLDER_MAPPINGS_LOADED", - LOAD_FOLDER_MAPPINGS_ERROR: "LOAD_FOLDER_MAPPINGS_ERROR", - CHANGE_NAME: "CHANGE_NAME", - CHANGE_FOLDER_TYPE: "CHANGE_FOLDER_TYPE", - FOLDER_CREATED: "FOLDER_CREATED", - ADD_FOLDER_ERROR: "ADD_FOLDER_ERROR", - SET_VALIDATION_ERRORS: "SET_VALIDATION_ERRORS" -}; - -export default addFolderPanelActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/dialogModalActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/dialogModalActionsTypes.js deleted file mode 100644 index b509d6dfb98..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/dialogModalActionsTypes.js +++ /dev/null @@ -1,6 +0,0 @@ -const dialogModalActionsTypes = { - OPEN_DIALOG_MODAL: "OPEN_DIALOG_MODAL", - CLOSE_DIALOG_MODAL: "CLOSE_DIALOG_MODAL" -}; - -export default dialogModalActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/folderPanelActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/folderPanelActionsTypes.js deleted file mode 100644 index 8d932a7f6e8..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/folderPanelActionsTypes.js +++ /dev/null @@ -1,19 +0,0 @@ -const folderPanelActionsTypes = { - SET_LOADING: "SET_LOADING", - CONTENT_LOADED: "CONTENT_LOADED", - MORE_CONTENT_LOADED: "MORE_CONTENT_LOADED", - LOAD_CONTENT_ERROR: "LOAD_CONTENT_ERROR", - FILE_DOWNLOADED: "FILE_DOWNLOADED", - FOLDER_DELETED: "FOLDER_DELETED", - DELETE_FOLDER_ERROR: "DELETE_FOLDER_ERROR", - CLOSE_TOP_PANELS: "CLOSE_TOP_PANELS", - FILE_DELETED: "FILE_DELETED", - DELETE_FILE_ERROR: "DELETE_FILE_ERROR", - CHANGE_SEARCH: "CHANGE_SEARCH", - FILES_SEARCHED: "FILES_SEARCHED", - SEARCH_FILES_ERROR: "SEARCH_FILES_ERROR", - URL_COPIED_TO_CLIPBOARD: "URL_COPIED_TO_CLIPBOARD", - CHANGE_SORTING: "CHANGE_SORTING" -}; - -export default folderPanelActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/globalActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/globalActionsTypes.js deleted file mode 100644 index dd8f4eada35..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/globalActionsTypes.js +++ /dev/null @@ -1,5 +0,0 @@ -const globalActionsTypes = { - MODULE_PARAMETERS_LOADED: "MODULE_PARAMETERS_LOADED" -}; - -export default globalActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/infiniteScrollActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/infiniteScrollActionsTypes.js deleted file mode 100644 index 9de0b6c683b..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/infiniteScrollActionsTypes.js +++ /dev/null @@ -1,5 +0,0 @@ -const infiniteScrollActionsTypes = { - SET_MAX_SCROLL_TOP: "SET_MAX_SCROLL_TOP" -}; - -export default infiniteScrollActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/itemDetailsActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/itemDetailsActionsTypes.js deleted file mode 100644 index d1cd5d9e8f2..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/itemDetailsActionsTypes.js +++ /dev/null @@ -1,18 +0,0 @@ -const itemDetailsActionsTypes = { - EDIT_ITEM: "EDIT_ITEM", - EDIT_ITEM_ERROR: "EDIT_ITEM_ERROR", - CANCEL_EDIT_ITEM: "CANCEL_EDIT_ITEM", - CHANGE_NAME: "CHANGE_NAME", - CHANGE_TITLE: "CHANGE_TITLE", - CHANGE_DESCRIPTION: "CHANGE_DESCRIPTION", - CHANGE_PERMISSIONS: "CHANGE_PERMISSIONS", - SET_VALIDATION_ERRORS: "SET_VALIDATION_ERRORS", - ITEM_SAVED: "ITEM_SAVED", - SAVE_ITEM_ERROR: "SAVE_ITEM_ERROR", - MOVE_ITEM: "MOVE_ITEM", - MOVE_ITEM_ERROR: "MOVE_ITEM_ERROR", - CANCEL_MOVE_ITEM: "CANCEL_MOVE_ITEM", - ITEM_MOVED: "ITEM_MOVED", -}; - -export default itemDetailsActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/manageFolderTypesPanelActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/manageFolderTypesPanelActionsTypes.js deleted file mode 100644 index 4df0637de47..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/manageFolderTypesPanelActionsTypes.js +++ /dev/null @@ -1,7 +0,0 @@ -const manageFolderTypesPanelActionsTypes = { - SHOW_MANAGE_FOLDER_TYPES_PANEL: "SHOW_MANAGE_FOLDER_TYPES_PANEL", - HIDE_MANAGE_FOLDER_TYPES_PANEL: "HIDE_MANAGE_FOLDER_TYPES_PANEL", - ADD_FOLDER_TYPE_URL_LOADED: "ADD_FOLDER_TYPE_URL_LOADED", -} - -export default manageFolderTypesPanelActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/messageModalActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/messageModalActionsTypes.js deleted file mode 100644 index f2a9b23adae..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/messageModalActionsTypes.js +++ /dev/null @@ -1,5 +0,0 @@ -const messageModalActionsTypes = { - CLOSE_MESSAGE_MODAL: "CLOSE_MESSAGE_MODAL" -}; - -export default messageModalActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/topBarActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/topBarActionsTypes.js deleted file mode 100644 index e4e21064484..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/topBarActionsTypes.js +++ /dev/null @@ -1,5 +0,0 @@ -const topBarActionsTypes = { - CHANGE_SEARCH_FIELD: "CHANGE_SEARCH_FIELD" -}; - -export default topBarActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/addAssetPanelActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/addAssetPanelActions.js deleted file mode 100644 index 6d709ee13ac..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/addAssetPanelActions.js +++ /dev/null @@ -1,133 +0,0 @@ -import actionTypes from "../action types/addAssetPanelActionsTypes"; -import folderPanelActionTypes from "../action types/folderPanelActionsTypes"; -import ItemsService from "../services/itemsService"; -import LocalizeService from "../services/localizeService"; - -let files = {}; - -function fileUploadedHandler(dispatch, file, overwrite, response) { - const {alreadyExists, fileName, message} = response; - - if (alreadyExists) { - files[fileName] = file; - - return dispatch ({ - type: actionTypes.FILE_ALREADY_EXIST, - data: response - }); - } - - if (!fileName || message) { - return dispatch (fileUploadError(file.name, message)); - } - - files[fileName] = undefined; - - dispatch ({ - type: actionTypes.ASSET_ADDED, - data: response - }); -} - -function fileUploadError(fileName, message) { - return { - type: actionTypes.ASSET_ADDED_ERROR, - data: { - fileName, - message - } - }; -} - -const addAssetPanelActions = { - showPanel() { - return (dispatch) => { - dispatch ({ - type: folderPanelActionTypes.CLOSE_TOP_PANELS - }); - - dispatch ({ - type: actionTypes.SHOW_ADD_ASSET_PANEL - }); - }; - }, - hidePanel() { - return (dispatch) => { - dispatch ({ - type: actionTypes.HIDE_ADD_ASSET_PANEL - }); - - dispatch ({ - type: actionTypes.RESET_PANEL - }); - }; - }, - overwriteFile(fileName, folderPath, folderPanelState, trackProgress) { - let file = files[fileName]; - return this.uploadFiles([file], folderPath, folderPanelState, trackProgress, true); - }, - uploadFiles(files, folderPath, folderPanelState, trackProgress, overwrite=false) { - const { numItems, sorting } = folderPanelState; - const folderId = folderPanelState.folder ? folderPanelState.folder.folderId : folderPanelState.homeFolderId; - - return dispatch => { - const uploadFilePromises = []; - - files.forEach ( - file => uploadFilePromises.push(ItemsService.uploadFile(file, folderPath, overwrite, trackProgress.bind(null, file.name)) - .then( - response => fileUploadedHandler(dispatch, file, overwrite, response), - reason => dispatch (fileUploadError(file.name, reason.message)) - )) - ); - - Promise.all(uploadFilePromises).then( - () => ItemsService.getContent(folderId, 0, numItems, sorting) - ) - .then( - getContentResponse => dispatch ({ - type: folderPanelActionTypes.CONTENT_LOADED, - data: getContentResponse - }) - ); - }; - }, - trackProgress(fileName, progress) { - return dispatch => - dispatch ({ - type: actionTypes.UPDATE_PROGRESS, - data: { - fileName, - percent: progress.percent - } - }); - }, - stopUpload(fileName) { - files[fileName] = undefined; - - return dispatch => dispatch ({ - type: actionTypes.STOP_UPLOAD, - data: fileName - }); - }, - fileSizeError(fileName, maxSize) { - const fileTooBigMessage = LocalizeService.getString("FileSizeErrorMessage"); - return dispatch => - dispatch(fileUploadError(fileName, fileName + fileTooBigMessage + maxSize)); - }, - invalidExtensionError(fileName) { - const invalidExtensionMessage = LocalizeService.getString("InvalidExtensionMessage"); - return dispatch => - dispatch(fileUploadError(fileName, fileName + invalidExtensionMessage)); - } -/*, - startUpload() { - return dispatch => - dispatch ({ - type: actionTypes.RESET_PANEL - }); - }, - */ -}; - -export default addAssetPanelActions; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/addFolderPanelActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/addFolderPanelActions.js deleted file mode 100644 index 0d4a035b766..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/addFolderPanelActions.js +++ /dev/null @@ -1,101 +0,0 @@ -import actionTypes from "../action types/addFolderPanelActionsTypes"; -import folderPanelActionTypes from "../action types/folderPanelActionsTypes"; -import ItemsService from "../services/itemsService"; - -const addFolderPanelActions = { - showPanel() { - return (dispatch) => { - dispatch ({ - type: folderPanelActionTypes.CLOSE_TOP_PANELS - }); - - dispatch ({ - type: actionTypes.SHOW_ADD_FOLDER_PANEL - }); - }; - }, - hidePanel() { - return (dispatch) => { - dispatch ({ - type: actionTypes.HIDE_ADD_FOLDER_PANEL - }); - }; - }, - loadFolderMappings() { - return (dispatch) => { - ItemsService.loadFolderMappings().then((response) => { - dispatch({ - type: actionTypes.FOLDER_MAPPINGS_LOADED, - data: response - }); - }).catch(() => { - dispatch({ - type: actionTypes.LOAD_FOLDER_MAPPINGS_ERROR - }); - }); - }; - }, - changeName(event) - { - return { - type: actionTypes.CHANGE_NAME, - data: event.target.value - }; - }, - changeFolderType(folderType) - { - return { - type: actionTypes.CHANGE_FOLDER_TYPE, - data: folderType - }; - }, - addFolder(data) { - const {formData, folderPanelState} = data; - const { numItems, sorting } = folderPanelState; - const folderId = folderPanelState.folder ? folderPanelState.folder.folderId : folderPanelState.homeFolderId; - - let newFolderData = { - folderName: formData.name, - FolderMappingId: formData.folderType, - ParentFolderId: folderId - }; - - return (dispatch) => { - ItemsService.addFolder(newFolderData) - .then( - addFolderResponse => - ItemsService.getContent(folderId, 0, numItems, sorting) - .then( - getContentResponse => { - dispatch({ - type: folderPanelActionTypes.CONTENT_LOADED, - data: getContentResponse - }); - - dispatch({ - type: actionTypes.FOLDER_CREATED, - data: addFolderResponse - }); - } - ), - reason => dispatch({ - type: actionTypes.ADD_FOLDER_ERROR, - data: reason.data ? reason.data.message : null - }) - ) - .catch( - dispatch({ - type: actionTypes.ADD_FOLDER_ERROR - }) - ); - }; - }, - setValidationErrors(validationErrors) { - return { - type: actionTypes.SET_VALIDATION_ERRORS, - data: validationErrors - }; - } -}; - -export default addFolderPanelActions; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/dialogModalActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/dialogModalActions.js deleted file mode 100644 index ae3440334d4..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/dialogModalActions.js +++ /dev/null @@ -1,19 +0,0 @@ -import actionTypes from "../action types/dialogModalActionsTypes"; - -const dialogModalActions = { - open(dialogHeader, dialogMessage, yesFunction, noFunction) { - return { - type: actionTypes.OPEN_DIALOG_MODAL, - data: { - dialogHeader, dialogMessage, yesFunction, noFunction - } - }; - }, - close() { - return { - type: actionTypes.CLOSE_DIALOG_MODAL - }; - } -}; - -export default dialogModalActions; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/folderPanelActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/folderPanelActions.js deleted file mode 100644 index fac5345c72a..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/folderPanelActions.js +++ /dev/null @@ -1,191 +0,0 @@ -import ItemsService from "../services/itemsService"; -import actionTypes from "../action types/folderPanelActionsTypes"; -import copyToClipboard from "copy-to-clipboard"; - -function loadingWrap(actionFunction) { - return (dispatch) => { - dispatch({ - type: actionTypes.SET_LOADING, - data: true - }); - - actionFunction() - .then(() => - dispatch({ - type: actionTypes.SET_LOADING, - data: false - }) - ); - }; -} - -function getContent(folderPanelState, changeToFolderId=null) { - const { numItems, sorting, currentFolderId, loadedItems } = folderPanelState; - const folderId = changeToFolderId || currentFolderId; - const startIndex = changeToFolderId ? 0 : loadedItems; - - return dispatch => - ItemsService.getContent(folderId, startIndex, numItems, sorting) - .then( - response => dispatch({ - type: startIndex ? actionTypes.MORE_CONTENT_LOADED : actionTypes.CONTENT_LOADED, - data: response - }), - reason => dispatch({ - type: actionTypes.LOAD_CONTENT_ERROR, - data: reason.data ? reason.data.message : null - }) - ); -} - -function syncContent(folderPanelState, recursive) { - const { numItems, sorting, currentFolderId } = folderPanelState; - - return dispatch => - ItemsService.syncContent(currentFolderId, numItems, sorting, recursive) - .then( - response => dispatch({ - type: actionTypes.CONTENT_LOADED, - data: response - }), - reason => dispatch({ - type: actionTypes.LOAD_CONTENT_ERROR, - data: reason.data ? reason.data.message : null - }) - ); -} - -const folderPanelActions = { - syncContent(folderPanelState, changeToFolderId=null) { - return (dispatch) => { - let syncContentLogic = () => dispatch(syncContent(folderPanelState, changeToFolderId)); - dispatch(loadingWrap(syncContentLogic)); - - let currentHistoryFolderId = history.state ? history.state.folderId : null; - - if (changeToFolderId && currentHistoryFolderId !== changeToFolderId && changeToFolderId !== folderPanelState.homeFolderId) { - history.pushState({folderId: changeToFolderId}, null, "?folderId=" + changeToFolderId); - } - else if (changeToFolderId && currentHistoryFolderId !== changeToFolderId) { - let url = window.location.toString(); - if (url.indexOf("?") > 0) { - let clean_url = url.substring(0, url.indexOf("?")); - history.pushState({folderId: changeToFolderId}, null, clean_url); - } - } - }; - }, - loadContent(folderPanelState, changeToFolderId=null) { - return (dispatch) => { - let getContentLogic = () => dispatch(getContent(folderPanelState, changeToFolderId)); - dispatch(loadingWrap(getContentLogic)); - - let currentHistoryFolderId = history.state ? history.state.folderId : null; - - if (changeToFolderId && currentHistoryFolderId !== changeToFolderId && changeToFolderId !== folderPanelState.homeFolderId) { - history.pushState({folderId: changeToFolderId}, null, "?folderId=" + changeToFolderId); - } - else if (changeToFolderId && currentHistoryFolderId !== changeToFolderId) { - let url = window.location.toString(); - if (url.indexOf("?") > 0) { - let clean_url = url.substring(0, url.indexOf("?")); - history.pushState({folderId: changeToFolderId}, null, clean_url); - } - } - }; - }, - deleteFolder(folderToRemoveId, folderPanelState) { - const { currentFolderId } = folderPanelState; - - return (dispatch) => { - let deleteFolder = () => - ItemsService.deleteFolder(folderToRemoveId) - .then( - () => dispatch(getContent(folderPanelState, currentFolderId)), - - reason => dispatch({ - type: actionTypes.DELETE_FOLDER_ERROR, - data: reason.data ? reason.data.message : null - }) - ); - - dispatch(loadingWrap(deleteFolder)); - }; - }, - deleteFile(fileToRemoveId, folderPanelState) { - const { currentFolderId } = folderPanelState; - - return (dispatch) => { - let deleteFile = () => - ItemsService.deleteFile(fileToRemoveId) - .then( - () => dispatch(getContent(folderPanelState, currentFolderId)), - - reason => dispatch({ - type: actionTypes.DELETE_FILE_ERROR, - data: reason.data ? reason.data.message : null - }) - ); - - dispatch(loadingWrap(deleteFile)); - }; - }, - downloadFile(fileId) { - return (dispatch) => { - let downloadUrl = ItemsService.getDownloadUrl(fileId); - window.open(downloadUrl, "_blank"); - dispatch ({ - type: actionTypes.FILE_DOWNLOADED - }); - }; - }, - copyFileUrlToClipboard(item) { - if (!item.path) { - return; - } - - let fullUrl = ItemsService.getItemFullUrl(item.path); - copyToClipboard(fullUrl); - - return { - type: actionTypes.URL_COPIED_TO_CLIPBOARD, - data: fullUrl - }; - }, - changeSearchingValue(searchText) { - return { - type: actionTypes.CHANGE_SEARCH, - data: searchText - }; - }, - searchFiles(folderPanelState, search, searchMore=false) { - const { numItems, sorting, currentFolderId, loadedItems } = folderPanelState; - const folderId = currentFolderId; - const startIndex = searchMore ? Math.ceil(loadedItems/numItems) + 1 : 1; - - return (dispatch) => { - let getContent = () => - ItemsService.searchFiles(folderId, search, startIndex, numItems, sorting, "") - .then( - response => dispatch({ - type: searchMore ? actionTypes.MORE_CONTENT_LOADED : actionTypes.FILES_SEARCHED, - data: response - }), - reason => dispatch({ - type: actionTypes.SEARCH_FILES_ERROR, - data: reason - }) - ); - - dispatch(loadingWrap(getContent)); - }; - }, - changeSorting(sorting) { - return { - type: actionTypes.CHANGE_SORTING, - data: sorting - }; - } -}; - -export default folderPanelActions; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/globalActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/globalActions.js deleted file mode 100644 index d87e6afddbc..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/globalActions.js +++ /dev/null @@ -1,13 +0,0 @@ - -import actionTypes from "../action types/globalActionsTypes"; - -const globalActions = { - loadInitialParameters(initialConfig) { - return { - type: actionTypes.MODULE_PARAMETERS_LOADED, - data: initialConfig - }; - } -}; - -export default globalActions; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/infiniteScrollActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/infiniteScrollActions.js deleted file mode 100644 index 95aa4e97ede..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/infiniteScrollActions.js +++ /dev/null @@ -1,12 +0,0 @@ -import actionTypes from "../action types/infiniteScrollActionsTypes"; - -const infiniteScrollActions = { - setMaxScrollTop(maxScrollTop) { - return { - type: actionTypes.SET_MAX_SCROLL_TOP, - data: maxScrollTop - }; - } -}; - -export default infiniteScrollActions; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/itemDetailsActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/itemDetailsActions.js deleted file mode 100644 index 607d5976b1b..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/itemDetailsActions.js +++ /dev/null @@ -1,136 +0,0 @@ -import actionTypes from "../action types/itemDetailsActionsTypes"; -import itemsService from "../services/itemsService"; -import localizeService from "../services/localizeService"; - -const itemDetailsActions = { - editItem(item) { - const itemData = {isFolder: item.isFolder, iconUrl: item.iconUrl, thumbnailAvailable: item.thumbnailAvailable, thumbnailUrl: item.thumbnailUrl}; - let getItemDetails = () => item.isFolder - ? itemsService.getFolderDetails(item.itemId) - : itemsService.getFileDetails(item.itemId); - return dispatch => { - getItemDetails() - .then( - response => dispatch({ - type: actionTypes.EDIT_ITEM, - data: {...response, ...itemData} - }), - reason => dispatch({ - type: actionTypes.EDIT_ITEM_ERROR, - data: reason.data && reason.data.message ? reason.data.message : localizeService.getString("GenericErrorMessage") - }) - ); - }; - }, - cancelEditItem() { - return { - type: actionTypes.CANCEL_EDIT_ITEM - }; - }, - moveItem(item) { - const itemData = {isFolder: item.isFolder, iconUrl: item.iconUrl, thumbnailAvailable: item.thumbnailAvailable, thumbnailUrl: item.thumbnailUrl}; - let getItemDetails = () => item.isFolder - ? itemsService.getFolderDetails(item.itemId) - : itemsService.getFileDetails(item.itemId); - return dispatch => { - getItemDetails() - .then( - response => dispatch({ - type: actionTypes.MOVE_ITEM, - data: {...response, ...itemData} - }), - reason => dispatch({ - type: actionTypes.SAVE_ITEM_ERROR, - data: reason.data && reason.data.message ? reason.data.message : localizeService.getString("GenericErrorMessage") - }) - ); - }; - }, - moveFolder(sourceFolderId, destinationFolderId) { - return dispatch => { - itemsService.moveFolder(sourceFolderId, destinationFolderId) - .then( - () => { - dispatch({ - type: actionTypes.ITEM_MOVED, - }); - }, - reason => { - reason.data && reason.data.message ? reason.data.message : localizeService.getString("GenericErrorMessage") - } - ) - }; - }, - moveFile(sourceFileId, destinationFolderId) { - return dispatch => { - itemsService.moveFile(sourceFileId, destinationFolderId) - .then( - () => dispatch({ - type: actionTypes.ITEM_MOVED - }), - reason => { - reason.data && reason.data.message ? reason.data.message : localizeService.getString("GenericErrorMessage") - } - ) - } - }, - cancelMoveItem() { - return { - type: actionTypes.CANCEL_MOVE_ITEM - }; - }, - changeName(event) { - return { - type: actionTypes.CHANGE_NAME, - data: event.target.value - }; - }, - changeTitle(event) { - return { - type: actionTypes.CHANGE_TITLE, - data: event.target.value - }; - }, - changeDescription(event) { - return { - type: actionTypes.CHANGE_DESCRIPTION, - data: event.target.value - }; - }, - changePermissions(permissions) { - return { - type: actionTypes.CHANGE_PERMISSIONS, - data: permissions - }; - }, - setValidationErrors(validationErrors) { - return { - type: actionTypes.SET_VALIDATION_ERRORS, - data: validationErrors - }; - }, - saveItem(item) { - let saveFunction = () => item.isFolder - ? itemsService.saveFolderDetails(item) - : itemsService.saveFileDetails(item); - return dispatch => { - saveFunction() - .then( - () => dispatch({ - type: actionTypes.ITEM_SAVED, - data: { - isFolder: item.isFolder, - itemId: item.isFolder ? item.folderId : item.fileId, - itemName: item.isFolder ? item.folderName : item.fileName - } - }), - reason => dispatch({ - type: actionTypes.SAVE_ITEM_ERROR, - data: reason.data && reason.data.message ? reason.data.message : localizeService.getString("GenericErrorMessage") - }) - ); - }; - } -}; - -export default itemDetailsActions; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/manageFolderTypesPanelActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/manageFolderTypesPanelActions.js deleted file mode 100644 index 1d246da77eb..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/manageFolderTypesPanelActions.js +++ /dev/null @@ -1,48 +0,0 @@ -import actionTypes from "../action types/manageFolderTypesPanelActionsTypes"; -import folderPanelActionTypes from "../action types/folderPanelActionsTypes"; -import addFolderPanelActions from "../actions/addFolderPanelActions"; -import ItemsService from "../services/itemsService"; - -const manageFolderTypesPanelActions = { - showPanel() { - return dispatch => { - dispatch ({ - type: folderPanelActionTypes.CLOSE_TOP_PANELS - }); - - dispatch ({ - type: actionTypes.SHOW_MANAGE_FOLDER_TYPES_PANEL - }); - } - }, - hidePanel() { - return dispatch => { - dispatch ({ - type: actionTypes.HIDE_MANAGE_FOLDER_TYPES_PANEL - }); - }; - }, - removeFolderType(folderMappingId) { - return (dispatch) => { - ItemsService.removeFolderType(folderMappingId) - .then( - () => { - dispatch(addFolderPanelActions.loadFolderMappings()); - } - ); - } - }, - getAddFolderTypeUrl() { - return dispatch => { - ItemsService.getAddFolderTypeUrl() - .then(data => { - dispatch({ - type: actionTypes.ADD_FOLDER_TYPE_URL_LOADED, - data - }); - }); - } - } -}; - -export default manageFolderTypesPanelActions; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/messageModalActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/messageModalActions.js deleted file mode 100644 index 9bb61abe72c..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/messageModalActions.js +++ /dev/null @@ -1,11 +0,0 @@ -import actionTypes from "../action types/messageModalActionsTypes"; - -const messageModalActions = { - close() { - return { - type: actionTypes.CLOSE_MESSAGE_MODAL - }; - } -}; - -export default messageModalActions; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/topBarActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/topBarActions.js deleted file mode 100644 index f01d568652e..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/topBarActions.js +++ /dev/null @@ -1,12 +0,0 @@ -import actionTypes from "../action types/topBarActionsTypes"; - -const topBarActions = { - changeSearchField(text) { - return { - type: actionTypes.CHANGE_SEARCH_FIELD, - data: text - }; - } -}; - -export default topBarActions; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/App.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/App.jsx deleted file mode 100644 index 1805cfc13fe..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/App.jsx +++ /dev/null @@ -1,10 +0,0 @@ -import React from "react"; -import ModuleLayout from "../containers/ModuleLayout"; - -export default class App extends React.Component { - render() { - return ( - - ); - } -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/AssetsHeader.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/AssetsHeader.jsx deleted file mode 100644 index d42673b99b0..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/AssetsHeader.jsx +++ /dev/null @@ -1,12 +0,0 @@ -import React from "react"; -import ButtonsContainer from "../containers/ButtonsContainer"; -import BreadcrumbsContainer from "../containers/BreadcrumbsContainer"; - -const AssetsHeader = () => ( -
- - -
-); - -export default AssetsHeader; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Breadcrumb.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Breadcrumb.jsx deleted file mode 100644 index e24694b9d09..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Breadcrumb.jsx +++ /dev/null @@ -1,15 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; - -const Breadcrumb = ({name, onClick}) => ( -
- { name } -
-); - -Breadcrumb.propTypes = { - name: PropTypes.string.isRequired, - onClick: PropTypes.func -}; - -export default Breadcrumb; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileDetails.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileDetails.jsx deleted file mode 100644 index 70a4099f801..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileDetails.jsx +++ /dev/null @@ -1,63 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import itemService from "../services/itemsService"; -import localizeService from "../services/localizeService"; - -const FileDetails = ({file, handlers, validationErrors}) => ( -
-
-
-
- {localizeService.getString("Created")}: - {file.createdOnDate} -
-
-
- {localizeService.getString("Size")}: - {file.size} -
-
-
- {localizeService.getString("LastModified")}: - {file.lastModifiedOnDate} -
-
-
- {localizeService.getString("URL")}: - {itemService.getItemFullUrl(file.url)} -
-
-
-
-
- - - -
-
- - -
-
- - -
-
-
- - -
-
-); - -FileDetails.propTypes = { - file: PropTypes.object.isRequired, - handlers: PropTypes.object.isRequired, - validationErrors: PropTypes.object.isRequired -}; - -export default FileDetails; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileProgress.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileProgress.jsx deleted file mode 100644 index 2d048760d42..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileProgress.jsx +++ /dev/null @@ -1,34 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import OverwriteContainer from "../containers/ProgressBarOverwriteContainer"; - -const FileProgress = ({fileName, progress, imgSrc, fileUrl, uploading, error, stopped, message, alreadyExists}) => ( -
- - - - -
- {fileName} - {alreadyExists && } - {message && {message}} -
-
-
-
-
-); - -FileProgress.propTypes = { - fileName: PropTypes.string, - progress: PropTypes.number, - imgSrc: PropTypes.string, - fileUrl: PropTypes.string, - uploading: PropTypes.bool, - error: PropTypes.bool, - stopped: PropTypes.bool, - message: PropTypes.string, - alreadyExists: PropTypes.bool -}; - -export default FileProgress; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileUpload.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileUpload.jsx deleted file mode 100644 index 46567143ae1..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileUpload.jsx +++ /dev/null @@ -1,17 +0,0 @@ -import React from "react"; -import DropZone from "../containers/DropZoneContainer"; -import Progress from "../containers/ProgressContainer"; -import localizeService from "../services/localizeService.js"; - -const FileUpload = () => ( -
- - - {localizeService.getString("FileUploadPanelMessage")} - - - -
-); - -export default FileUpload; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderDetails.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderDetails.jsx deleted file mode 100644 index a0993db1157..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderDetails.jsx +++ /dev/null @@ -1,62 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import localizeService from "../services/localizeService"; -import itemsService from "../services/itemsService"; -import Permissions from "./Permissions"; - -const FolderDetails = ({folder, handlers, validationErrors}) => ( -
-
-
-
- {localizeService.getString("Created")}: - {folder.createdOnDate} -
-
-
- {localizeService.getString("LastModified")}: - {folder.lastModifiedOnDate} -
-
-
- {localizeService.getString("FolderType")}: - {folder.type} -
-
-
- {localizeService.getString("URL")}: - {itemsService.getFolderUrl(folder.folderId)} -
-
-
-
- handlers.changePermissions(permissions)} - > -
-
-
-
- - - -
-
- - -
-
-); - -FolderDetails.propTypes = { - folder: PropTypes.object.isRequired, - handlers: PropTypes.object.isRequired, - validationErrors: PropTypes.object.isRequired -}; - -export default FolderDetails; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/FolderPicker.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/FolderPicker.jsx deleted file mode 100644 index 8b20dace839..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/FolderPicker.jsx +++ /dev/null @@ -1,126 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import FolderSelector from "./FolderSelector"; -import internalService from "../../services/internalService"; - -function findKey(thisObject, id) { - /* eslint-disable spellcheck/spell-checker */ - let p, tRet; - for (p in thisObject) { - if (p === "data") { - if (thisObject[p].key === id) { - return thisObject; - } - } else if (thisObject[p] instanceof Object) { - if (thisObject.hasOwnProperty(p)) { - tRet = findKey(thisObject[p], id); - if (tRet) { return tRet; } - } - } - } - return false; - /* eslint-enable spellcheck/spell-checker */ -} - -export default class FolderPicker extends React.Component { - - constructor(props) { - super(props); - - this.state = { - folders: null - }; - } - - componentDidMount() { - this.getFolders(); - } - - componentWillUnmount() { - this.unmounted = true; - } - - getFolders(searchText) { - let folderPromise = searchText ? internalService.searchFolders(searchText) : internalService.getFolders(); - folderPromise.then( - this.setFolders.bind(this) - ); - } - - getChildrenFolders(parentId) { - internalService.getFolderDescendant(parentId) - .then( - this.addChildFolders.bind(this, parentId) - ); - } - - setFolders(result) { - if (this.unmounted) { - return; - } - - const { props } = this; - let homeFolderId = props.homeFolderId; - - let source = result.Tree; - let filtered = this.findNode(source, (n) => {return n !== null && n.data.key === homeFolderId.toString();}); - if (filtered !== null){ - source.children.splice(0, source.children.length, filtered); - } - this.setState({ folders: result.Tree }); - } - - findNode(node, condition) { - if (condition(node)) { - return node; - } - - for (let i = 0; i < node.children.length; i++) { - let found = this.findNode(node.children[i], condition); - if (found !== null) { - return found; - } - } - - return null; - } - - addChildFolders(parentId, result) { - const folders = this.state.folders; - const parent = findKey(folders, parentId); - const children = result.Items.map((item) => { - return { data: item, children: [] }; - }); - parent.children = children; - this.setState({ folders }); - } - - render() { - const {changeFolder} = this.props; - - return ( - - ); - } -} - -/** - * propTypes - * @property {object} selectedFolder selected folder. Should be null or have a key and value properties - * @property {object} onSelectFolder called when change folder. Pass as parameter a selectedFolder object - * @property {object} onRetrieveFolderError callback for error when retrieve data - */ - -FolderPicker.propTypes = { - selectedFolder: PropTypes.object, - changeFolder: PropTypes.func, - onRetrieveFolderError: PropTypes.func, - noFolderSelectedValue: PropTypes.string.isRequired, - searchFolderPlaceHolder: PropTypes.string.isRequired, - homeFolderId: PropTypes.number -}; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/FolderSelector.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/FolderSelector.jsx deleted file mode 100644 index 0832a9ac9df..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/FolderSelector.jsx +++ /dev/null @@ -1,127 +0,0 @@ -import React, { Component } from "react"; -import { PropTypes } from "prop-types"; -import Folders from "./Folders"; -import { Scrollbars } from "react-custom-scrollbars"; -import "./style.less"; - -const searchIconImage = require("!raw-loader!./img/search.svg").default; - -export default class FolderSelector extends Component { - - constructor() { - super(); - this.state = { - showFolderPicker: false, - searchFolderText: "" - }; - this.timeOut = null; - this.handleClick = this.handleClick.bind(this); - this.folderSelector = React.createRef(); - } - - componentDidMount() { - document.addEventListener("click", this.handleClick, false); - this._isMounted = true; - } - - componentWillUnmount() { - document.removeEventListener("click", this.handleClick, false); - this._isMounted = false; - } - - handleClick(e) { - if (!this._isMounted) { return; } - const node = this.folderSelector; - if (node && node.contains(e.target) || e.target.className === "clear-button") { - return; - } - this.hide(); - } - - hide() { - this.setState({ showFolderPicker: false}); - } - - onFolderChange(folder) { - this.hide(); - this.props.onFolderChange(folder); - } - - onChangeSearchFolderText(e) { - const searchFolderText = e.target.value ? e.target.value : ""; - this.setState({ searchFolderText }); - clearTimeout(this.timeOut); - this.timeOut = setTimeout(() => - this.props.searchFolder(searchFolderText.toLowerCase()), - 500); - } - - clearSearch(e) { - e.preventDefault(); - this.setState({ searchFolderText: "" }); - this.props.searchFolder(); - } - - onFoldersClick() { - const {showFolderPicker} = this.state; - this.setState({ showFolderPicker: !showFolderPicker }); - } - - getSearchIcon() { - /* eslint-disable react/no-danger */ - return (
); - /* eslint-enable react/no-danger */ - } - - render() { - const {selectedFolder, folders, onParentExpands, noFolderSelectedValue, searchFolderPlaceHolder} = this.props; - const selectedFolderText = selectedFolder ? selectedFolder.value : "<" + noFolderSelectedValue + ">"; - const searchIcon = this.getSearchIcon(); - - return ( -
this.folderSelector = fs} className="dnn-folder-selector"> -
- {selectedFolderText} -
-
-
-
- this.onChangeSearchFolderText(e) } - placeholder={searchFolderPlaceHolder} - aria-label="Search" /> - {this.state.searchFolderText && -
×
- } - {searchIcon} -
-
- - - -
-
-
-
- ); - } -} - - -FolderSelector.propTypes = { - folders: PropTypes.object, - onFolderChange: PropTypes.func.isRequired, - onParentExpands: PropTypes.func.isRequired, - selectedFolder: PropTypes.object, - searchFolder: PropTypes.func.isRequired, - noFolderSelectedValue: PropTypes.string.isRequired, - searchFolderPlaceHolder: PropTypes.string.isRequired -}; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/Folders.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/Folders.jsx deleted file mode 100644 index 4cc00d55afa..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/Folders.jsx +++ /dev/null @@ -1,103 +0,0 @@ -import React, { Component } from "react"; -import { PropTypes } from "prop-types"; -import "./style.less"; - -const folderIcon = require("!raw-loader!./img/folder.svg").default; - -export default class Folders extends Component { - - constructor() { - super(); - this.state = { - openFolders: [] - }; - } - - componentWillReceiveProps(props) { - if (!props.folders || !props.folders.children || !props.folders.children[0] || - !props.folders.children[0].data || !props.folders.children[0].data.key) { - return; - } - const rootKey = props.folders.children[0].data.key; - const {openFolders} = this.state; - openFolders.push(rootKey); - this.setState({ openFolders }); - } - - - toggleFolder(key) { - let {openFolders} = this.state; - if (openFolders.some(id => id === key)) { - openFolders = openFolders.filter(id => id !== key); - } else { - openFolders.push(key); - } - this.setState({ openFolders }); - } - - onParentClick(item) { - if (!item.data.hasChildren) { - return; - } - this.toggleFolder(item.data.key); - if (item.children && item.children.length) { - return; - } - this.props.onParentExpands(item.data.key); - } - - onFolderNameClick(folder) { - this.props.onFolderChange(folder.data); - } - - getFolderIcon() { - /* eslint-disable react/no-danger */ - return (
); - /* eslint-enable react/no-danger */ - } - - getFolders(folder) { - if (!folder) { - return false; - } - - const folderIcon = this.getFolderIcon(); - const children = folder.children.map((child) => { - const isOpen = this.state.openFolders.some(id => child !== null && id === child.data.key); - const className = isOpen ? "open" : ""; - return child !== null &&
  • - {child.data.hasChildren && -
    -
    - } -
    - {folderIcon} -
    {child.data.value}
    -
    - {child.data.hasChildren && - this.getFolders(child) - } -
  • ; - }); - - return
      {children}
    ; - } - - render() { - const folders = this.getFolders(this.props.folders); - - return ( -
    - {folders} -
    - ); - } -} - -Folders.propTypes = { - folders: PropTypes.object, - onFolderChange: PropTypes.func.isRequired, - onParentExpands: PropTypes.func.isRequired -}; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/img/folder.svg b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/img/folder.svg deleted file mode 100644 index cf83478037a..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/img/folder.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/img/search.svg b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/img/search.svg deleted file mode 100644 index 9622314b685..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/img/search.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/style.less b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/style.less deleted file mode 100644 index a2af1f28a27..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/style.less +++ /dev/null @@ -1,296 +0,0 @@ -.prefixes(@property, @value) { - -webkit-@{property}: @value; - -khtml-@{property}: @value; - -moz-@{property}: @value; - -ms-@{property}: @value; - @{property}: @value; -} - -@import "~@dnnsoftware/dnn-react-common/styles/index"; -@transition: .2s; - -.dnn-folder-selector { - width: 100%; - float: left; - height: 30px; - border: 1px solid @mountainMist; - position: relative; - border: none; - - &:after { - content: ""; - position: absolute; - right: 20px; - top: 12px; - width: 0; - height: 0; - pointer-events: none; - border-left: 5px solid transparent; - border-right: 5px solid transparent; - border-top: 4px solid @rollingStone; - } - - .selected-item { - float: left; - width: 100%; - height: 100%; - padding: 7px; - box-sizing: border-box; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - padding-right: 20px; - } - - span > strong { - cursor: pointer; - &:hover { - text-decoration: underline; - } - } - - .folder-selector-container { - position: absolute; - top: ~"calc(100% + 1px)"; - left: -1px; - width: 100%; - border: 1px solid @alto; - background: white; - z-index: 1; - transition: @transition; - overflow: hidden; - max-height: 0px; - box-shadow: none; - opacity: 0; - &.show { - max-height: 600px; - opacity: 1; - } - .inner-box { - box-sizing: border-box; - padding: 20px; - float: left; - width: 100%; - height: 100%; - .search { - float: left; - width: 100%; - border: 1px solid @alto; - position: relative; - .clear-button { - position: absolute; - right: 32px; - top: 50%; - height: 26px; - margin-top: -13px; - font-size: 26px; - line-height: 26px; - opacity: .5; - cursor: pointer; - &:hover { - opacity: 1; - } - } - .search-icon { - position: absolute; - right: 0px; - top: 50%; - transform: translate(0, -50%); - height: 24px; - color: @rollingStone; - } - input[type="text"] { - float: left; - border: none; - width: ~"calc(100% - 40px)"; - box-sizing: border-box; - outline: none !important; - padding: 0px !important; - box-shadow: none; - border: none !important; - margin-top: 3px; - margin-left: 5px; - } - } - .items { - float: left; - width: 100%; - border: 1px solid @alto; - height: 200px; - margin-top: 14px; - &, * { - .prefixes(user-select, none); - } - - .scrollArea { - height: 100% !important; - max-height: none !important; - - & > div:first-child{ - box-sizing: content-box; - padding-bottom: 17px; - height: 100%; - } - - .dnn-folders-component{ - div.has-children{ - top: 9px; - } - } - } - } - } - } -} - -.dnn-folders-component { - padding-top: 6px; - ul { - padding-left: 20px; - box-sizing: border-box; - li { - list-style: none; - position: relative; - float: left; - width: 100%; - margin-top: 0px; - & > div { - padding-top: 0px; - cursor: pointer; - float: left; - width: 100%; - padding-top: 4px; - &:hover { - color: @curiousBlue; - } - } - & > ul { - height: 0px; - overflow: hidden; - float: left; - width: 100%; - } - &.open { - & > ul { - height: auto; - } - & > .has-children { - transform: rotate(90Deg); - } - } - .icon { - width: 14px; - float: left; - margin-right: 5px; - height: 13px; - cursor: pointer; - } - .item-name { - cursor: pointer; - float: left; - width: ~"calc(100% - 30px)"; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - &.none-specified { - font-weight: bold; - } - } - .has-children { - position: absolute; - left: -15px; - top: 1px; - width: 10px; - height: 10px; - cursor: pointer; - transition: .18s; - &:after { - content: ""; - position: absolute; - left: 4px; - top: 1px; - width: 0; - height: 0; - border-top: 4px solid transparent; - border-bottom: 4px solid transparent; - border-left: 4px solid @rollingStone; - } - } - } - } - - padding-top: 6px; - ul { - padding-left: 20px; - box-sizing: border-box; - li { - list-style: none; - position: relative; - float: left; - width: 100%; - margin-top: 0px; - & > div { - padding-top: 0px; - cursor: pointer; - float: left; - width: 100%; - padding-top: 4px; - &:hover { - color: @curiousBlue; - } - } - & > ul { - height: 0px; - overflow: hidden; - float: left; - width: 100%; - } - &.open { - & > ul { - height: auto; - } - & > .has-children { - transform: rotate(90Deg); - } - } - .icon { - width: 14px; - float: left; - margin-right: 5px; - height: 13px; - cursor: pointer; - } - .item-name { - cursor: pointer; - float: left; - width: ~"calc(100% - 30px)"; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - &.none-specified { - font-weight: bold; - } - } - .has-children { - position: absolute; - left: -15px; - top: 1px; - width: 10px; - height: 10px; - cursor: pointer; - transition: .18s; - &:after { - content: ""; - position: absolute; - left: 4px; - top: 1px; - width: 0; - height: 0; - border-top: 4px solid transparent; - border-bottom: 4px solid transparent; - border-left: 4px solid @rollingStone; - } - } - } - } -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Item.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Item.jsx deleted file mode 100644 index 1bf4faab8b5..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Item.jsx +++ /dev/null @@ -1,46 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; - -function truncateString(content, length) { - if (typeof length === "undefined") { - length = 13; - } - - return content.length <= length ? content : content.substr(0, length) + "..."; -} - -const Item = ({item, iconUrl, handlers, isHighlighted, isDetailed}) => ( -
    -
    -
    -
    -

    { truncateString(item.itemName) }

    -
    -
    -
    -
    -
    -
    - -
    - { handlers.onEdit ?
    : "" } - { handlers.onCopyToClipboard ?
    : "" } - { handlers.onDownload ?
    : "" } - { handlers.onMove ?
    : ""} - { handlers.onDelete ?
    : "" } -
    -
    - {isDetailed &&
    } -
    -); - -Item.propTypes = { - item: PropTypes.object.isRequired, - iconUrl: PropTypes.string.isRequired, - handlers: PropTypes.object.isRequired, - isHighlighted: PropTypes.bool, - isDetailed: PropTypes.bool -}; - -export default Item; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Permissions.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Permissions.jsx deleted file mode 100644 index 1d34801acb9..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Permissions.jsx +++ /dev/null @@ -1,57 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import { PermissionGrid } from "@dnnsoftware/dnn-react-common"; -import DnnSf from "../globals/dnnSf"; - -class Permissions extends React.Component { - constructor(props) { - super(props); - - this.state = { - permissions: JSON.parse( - JSON.stringify(props.folderBeingEdited.permissions) - ), - }; - } - - onPermissionsChanged(permissions) { - const { state } = this; - - let newPermissions = Object.assign({}, state.permissions, permissions); - this.props.updateFolderBeingEdited(newPermissions); - this.setState({ permissions: newPermissions }); - } - - render() { - const { state } = this; - const dnnSf = new DnnSf(); - const grid = ( - {}} - permissions={state.permissions} - service={dnnSf} - onPermissionsChanged={this.onPermissionsChanged.bind(this)} - /> - ); - return
    {grid}
    ; - } -} - -Permissions.propTypes = { - updateFolderBeingEdited: PropTypes.func, - folderBeingEdited: PropTypes.object, -}; - -function mapStateToProps() { - return {}; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({}, dispatch), - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(Permissions); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AddAssetPanelContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AddAssetPanelContainer.jsx deleted file mode 100644 index 8de7b06f21e..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AddAssetPanelContainer.jsx +++ /dev/null @@ -1,49 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import FileUpload from "../components/FileUpload"; -import localizeService from "../services/localizeService"; -import addAssetPanelActions from "../actions/addAssetPanelActions"; - -class AddAssetPanelContainer extends React.Component { - render() { - const { expanded, hasPermission, hidePanel } = this.props; - - return hasPermission ? ( - - ) : null; - } -} - -AddAssetPanelContainer.propTypes = { - expanded: PropTypes.bool, - hasPermission: PropTypes.bool, - hidePanel: PropTypes.func -}; - -function mapStateToProps(state) { - const addAssetPanelState = state.addAssetPanel; - const folderPanelState = state.folderPanel; - - return { - expanded: addAssetPanelState.expanded, - hasPermission: folderPanelState.hasAddFilesPermission - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - hidePanel: addAssetPanelActions.hidePanel - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(AddAssetPanelContainer); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AddFolderPanelContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AddFolderPanelContainer.jsx deleted file mode 100644 index 83f1bcc04e3..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AddFolderPanelContainer.jsx +++ /dev/null @@ -1,173 +0,0 @@ -import React from "react"; -import { PropTypes } from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import localizeService from "../services/localizeService"; -import addFolderPanelActions from "../actions/addFolderPanelActions"; -import DropDown from "../../../../../../Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Dropdown"; - -class AddFolderPanelContainer extends React.Component { - constructor(props) { - super(props); - this.props.loadFolderMappings(); - this.nameInput = React.createRef(); - this.container = React.createRef(); - } - - componentDidUpdate(previousProps) { - if (!previousProps.expanded && this.props.expanded) { - this.nameInput.focus(); - - // Workaround so the dropdown shows properly with more than 3 folder providers - setTimeout(() => { - this.container.style = "overflow: visible;"; - }, 1000); - } - if (previousProps.expanded && !this.props.expanded) { - this.container.style = "overflow: hidden;"; - } - } - - getParentFolderName() { - const {currentFolderId, currentFolderName, homeFolderId} = this.props.folderPanelState; - - if (currentFolderId === homeFolderId) { - return "HOME"; - } - - return currentFolderName; - } - - render() { - const { expanded, hasPermission, hidePanel, folderTypes, formData, validationErrors, folderPanelState, - changeName, changeFolderType, addFolder, setValidationErrors } = this.props; - - let localizedFolderTypes = folderTypes ? folderTypes.map(obj => - { - let label = localizeService.getString(obj.MappingName); - return { label, value: obj.FolderMappingID }; - }) : undefined; - - let nameValidationError = validationErrors ? validationErrors.name : ""; - let typeValidationError = validationErrors ? validationErrors.type : ""; - - function onSelectChange(option) { - changeFolderType.call(this, option.value); - } - - function formSubmit() { - if (!validateForm()) { - return; - } - - let data = { - formData, - folderPanelState - }; - - addFolder(data); - } - - function validateForm() { - let result = true; - let validationErrors = {}; - - if (!formData.name) { - validationErrors.name = localizeService.getString("FolderNameRequiredMessage"); - result = false; - } - - if (!formData.folderType) { - validationErrors.type = localizeService.getString("FolderTypeRequiredMessage"); - result = false; - } - - setValidationErrors(validationErrors); - - return result; - } - - return hasPermission ? ( -
    this.container = e} className={"top-panel add-folder" + (expanded ? " rm-expanded" : "")} > -
    -
    - - { "/" + this.getParentFolderName() } -
    -
    - - { this.nameInput = input; }} /> - - -
    - { - folderPanelState.folder.folderPath === "" && -
    - - - -
    - } -
    - - - - - -
    -
    - ) : null; - } -} - -AddFolderPanelContainer.propTypes = { - expanded: PropTypes.bool, - hasPermission: PropTypes.bool, - hidePanel: PropTypes.func, - loadFolderMappings: PropTypes.func, - folderTypes: PropTypes.array, - validationErrors: PropTypes.object, - formData: PropTypes.object, - folderPanelState: PropTypes.object, - changeName: PropTypes.func, - changeFolderType: PropTypes.func, - addFolder: PropTypes.func, - setValidationErrors: PropTypes.func -}; - -function mapStateToProps(state) { - const folderPanelState = state.folderPanel; - const addFolderPanelState = state.addFolderPanel; - - return { - expanded: addFolderPanelState.expanded, - hasPermission: folderPanelState.hasAddFoldersPermission, - folderTypes: addFolderPanelState.folderMappings, - formData: addFolderPanelState.formData || {}, - validationErrors: addFolderPanelState.validationErrors, - folderPanelState - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - hidePanel: addFolderPanelActions.hidePanel, - loadFolderMappings: addFolderPanelActions.loadFolderMappings, - changeName: addFolderPanelActions.changeName, - changeFolderType: addFolderPanelActions.changeFolderType, - addFolder: addFolderPanelActions.addFolder, - setValidationErrors: addFolderPanelActions.setValidationErrors - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(AddFolderPanelContainer); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AssetsPanelContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AssetsPanelContainer.jsx deleted file mode 100644 index ee1ea7707ed..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AssetsPanelContainer.jsx +++ /dev/null @@ -1,224 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { connect } from "react-redux"; -import { bindActionCreators } from "redux"; -import AssetsHeader from "../components/AssetsHeader"; -import folderPanelActions from "../actions/folderPanelActions"; -import ManageFolderTypesContainer from "../containers/ManageFolderTypesPanelContainer"; -import AddFolderPanelContainer from "../containers/AddFolderPanelContainer"; -import AddAssetPanelContainer from "../containers/AddAssetPanelContainer"; -import TopBarContainer from "./TopBarContainer"; -import Item from "../containers/ItemContainer"; -import ItemDetailsContainer from "../containers/ItemDetailsContainer"; -import ItemMoveContainer from "../containers/ItemMoveContainer"; -import localizeService from "../services/localizeService.js"; -import ReactCSSTransitionGroup from "react-transition-group/CSSTransitionGroup"; - -class AssetsPanelContainer extends React.Component { - constructor(props) { - super(props); - this.mainContainer = React.createRef(); - } - componentWillMount() { - window.addEventListener("scroll", this.handleScroll.bind(this)); - } - - getDetailsPosition(i) { - const itemWidth = this.props.itemWidth; - const container = this.mainContainer; - const containerWidth = container.clientWidth; - const itemsPerRow = Math.floor(containerWidth / itemWidth); - let position = Math.floor(i / itemsPerRow) * itemsPerRow + itemsPerRow - 1; - - return position; - } - - getDetailsPanel(showPanel, i) { - return ( - - {showPanel && } - - ); - } - - getMovePanel(showPanel, i) { - return ( - - {showPanel && } - - ); - } - - handleScroll() { - const { folderPanelState, loadContent, searchFiles } = this.props; - const { totalCount, loadedItems, search, loading } = folderPanelState; - - const bodyHeight = document.body.offsetHeight; - const windowHeight = window.innerHeight; - const totalScrolled = window.pageYOffset; - const scrollMax = bodyHeight - windowHeight; - - if (loadedItems < totalCount && totalScrolled + 100 > scrollMax) { - if (!loading) { - this.setState({ - loadingFlag: true, - }); - - if (search) { - searchFiles(folderPanelState, search, true); - } else { - loadContent(folderPanelState); - } - } - } - } - - render() { - const { - items, - itemEditing, - itemMoving, - search, - itemContainerDisabled, - loading, - } = this.props; - let propsPosition = -1; - - let result = []; - for (let i = 0; i < items.length; i++) { - const item = items[i]; - const { itemId, itemName, isFolder } = item; - result.push(); - - if ( itemEditing && - ( - (isFolder && itemEditing.folderId === itemId) || - (!isFolder && itemEditing.fileId === itemId) - ) - ) { - propsPosition = this.getDetailsPosition(i); - } - - if ( itemMoving && - ( - (isFolder && itemMoving.folderId === itemId) || - (!isFolder && itemMoving.fileId === itemId) - ) - ) { - propsPosition = this.getDetailsPosition(i); - } - - let showPanel = - i === propsPosition || - (propsPosition >= items.length && i === items.length - 1); - if (itemEditing){ - result.push(this.getDetailsPanel(showPanel, i)); - } - - if (itemMoving) { - result.push(this.getMovePanel(showPanel, i)); - } - } - - return ( -
    e.stopPropagation()}> - -
    - -
    (this.mainContainer = c)} - className={"main-container" + (loading ? " loading" : "")} - > - - - -
    - {result} -
    - - {localizeService.getString("AssetsPanelNoSearchResults")} - -
    -
    - - {localizeService.getString("AssetsPanelEmpty_Title")} - - - {localizeService.getString("AssetsPanelEmpty_Subtitle")} - -
    -
    -
    -
    -
    - ); - } -} - -AssetsPanelContainer.propTypes = { - folderPanelState: PropTypes.object, - items: PropTypes.array, - search: PropTypes.string, - itemContainerDisabled: PropTypes.bool, - loading: PropTypes.bool, - itemEditing: PropTypes.object, - itemMoving: PropTypes.object, - itemWidth: PropTypes.number, - loadContent: PropTypes.func, - searchFiles: PropTypes.func, -}; - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators( - { - loadContent: folderPanelActions.loadContent, - searchFiles: folderPanelActions.searchFiles, - }, - dispatch - ), - }; -} - -function mapStateToProps(state) { - const folderPanelState = state.folderPanel; - const addFolderPanelState = state.addFolderPanel; - const addAssetPanelState = state.addAssetPanel; - const itemDetailsState = state.itemDetails; - - return { - folderPanelState, - items: folderPanelState.items || [], - search: folderPanelState.search, - itemContainerDisabled: - addFolderPanelState.expanded || addAssetPanelState.expanded, - loading: folderPanelState.loading, - itemEditing: itemDetailsState.itemEditing, - itemMoving: itemDetailsState.itemMoving, - itemWidth: folderPanelState.itemWidth, - }; -} - -export default connect( - mapStateToProps, - mapDispatchToProps -)(AssetsPanelContainer); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/BreadcrumbsContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/BreadcrumbsContainer.jsx deleted file mode 100644 index 8c6a6db0ec9..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/BreadcrumbsContainer.jsx +++ /dev/null @@ -1,65 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import Breadcrumb from "../components/Breadcrumb"; -import folderPanelActions from "../actions/folderPanelActions"; -import localizeService from "../services/localizeService"; - -class BreadcrumbsContainer extends React.Component { - render() { - const { breadcrumbs, loadContent, folderPanelState } = this.props; - const search = folderPanelState.search; - - let result = []; - let folderId; - - if (breadcrumbs[0]) { - folderId = breadcrumbs[0].folderId; - } - result.push(); - for (let i = 1; i"); - result.push(); - } - - if (search) { - result.push(">"); - result.push(); - } - - return ( -
    - { result } -
    - ); - } -} - -BreadcrumbsContainer.propTypes = { - breadcrumbs: PropTypes.array, - loadContent: PropTypes.func, - folderPanelState: PropTypes.object -}; - -function mapStateToProps(state) { - const breadcrumbsState = state.breadcrumbs; - const folderPanelState = state.folderPanel; - - return { - breadcrumbs: breadcrumbsState.breadcrumbs || [], - folderPanelState - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - loadContent: folderPanelActions.loadContent - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(BreadcrumbsContainer); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ButtonsContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ButtonsContainer.jsx deleted file mode 100644 index 80258fb3244..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ButtonsContainer.jsx +++ /dev/null @@ -1,55 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import localizeService from "../services/localizeService.js"; -import manageFolderTypesPanelActions from "../actions/manageFolderTypesPanelActions"; -import addFolderPanelActions from "../actions/addFolderPanelActions"; -import addAssetPanelActions from "../actions/addAssetPanelActions"; - -class ButtonsContainer extends React.Component { - render() { - const { hasManageFolderTypesPermission, hasAddFilesPermission, hasAddFoldersPermission, showAddFolderPanel, showAddAssetPanel, showManageFolderTypesPanel } = this.props; - - return ( -
    -
    - { hasManageFolderTypesPermission ? { localizeService.getString("ManageFolderTypes") } : null } - { hasAddFoldersPermission ? { localizeService.getString("AddFolder") } : null } - { hasAddFilesPermission ? { localizeService.getString("AddAsset") } : null } -
    -
    - ); - } -} - -ButtonsContainer.propTypes = { - showManageFolderTypesPanel: PropTypes.func, - showAddFolderPanel: PropTypes.func, - showAddAssetPanel: PropTypes.func, - hasManageFolderTypesPermission: PropTypes.bool, - hasAddFilesPermission: PropTypes.bool, - hasAddFoldersPermission: PropTypes.bool -}; - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - showManageFolderTypesPanel: manageFolderTypesPanelActions.showPanel, - showAddFolderPanel: addFolderPanelActions.showPanel, - showAddAssetPanel: addAssetPanelActions.showPanel - }, dispatch) - }; -} - -function mapStateToProps(state) { - const folderPanelState = state.folderPanel; - const moduleState = state.module; - return { - hasManageFolderTypesPermission: moduleState.isAdmin, - hasAddFilesPermission: folderPanelState.hasAddFilesPermission, - hasAddFoldersPermission: folderPanelState.hasAddFoldersPermission - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(ButtonsContainer); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DevTools.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DevTools.js deleted file mode 100644 index 89ffa86bf64..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DevTools.js +++ /dev/null @@ -1,11 +0,0 @@ -import React from "react"; -import { createDevTools } from "redux-devtools"; -import LogMonitor from "redux-devtools-log-monitor"; -import DockMonitor from "redux-devtools-dock-monitor"; - -export default createDevTools( - - - -); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DialogModalContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DialogModalContainer.jsx deleted file mode 100644 index 0dfb455f9b6..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DialogModalContainer.jsx +++ /dev/null @@ -1,76 +0,0 @@ -import React from "react"; -import { PropTypes } from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import dialogModalActions from "../actions/dialogModalActions"; -import Modal from "../../../../../../Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Modal"; -import Label from "../../../../../../Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Label"; - -class DialogModalContainer extends React.Component { - render() { - const modalStyles = { - overlay: { - zIndex: "99999", - backgroundColor: "rgba(0,0,0,0.6)" - }, - content: { - borderRadius: "7px", - "background": "white", - WebkitBoxShadow: "0 0 25px 0 rgba(0, 0, 0, 0.75)", - boxShadow: "0 0 25px 0 rgba(0, 0, 0, 0.75)", - textAlign: "center", - "width": "300px", - height: "178px", - margin: "auto", - padding: 0, - border: "none", - boxSizing: "border-box" - } - }; - - const { dialogHeader, dialogMessage, close, yesFunction, noFunction } = this.props; - - function yesHandler() { - close(); - yesFunction(); - } - - return ( - - - ); - } -} - -DialogModalContainer.propTypes = { - dialogHeader: PropTypes.string, - dialogMessage: PropTypes.string, - close: PropTypes.func.isRequired, - yesFunction: PropTypes.func, - noFunction: PropTypes.func -}; - -function mapStateToProps(state) { - const dialogModalState = state.dialogModal; - return { - dialogHeader: dialogModalState.dialogHeader, - dialogMessage: dialogModalState.dialogMessage, - yesFunction: dialogModalState.yesFunction, - noFunction: dialogModalState.noFunction - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - close: dialogModalActions.close - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(DialogModalContainer); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DropZoneContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DropZoneContainer.jsx deleted file mode 100644 index 043151329c6..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DropZoneContainer.jsx +++ /dev/null @@ -1,126 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import DropZone from "react-dropzone"; -import addAssetPanelActions from "../actions/addAssetPanelActions"; -import api from "../globals/api"; - -class DropZoneContainer extends React.Component { - validateFile(file) { - const { - maxUploadSize, - maxFileUploadSizeHumanReadable, - fileSizeError, - invalidExtensionError, - } = this.props; - - if (file.size > maxUploadSize) { - fileSizeError(file.name, maxFileUploadSizeHumanReadable); - return false; - } - - const validExtensions = api - .getWhitelistObject() - .extensionWhitelist.split(","); - const ext = file.name.substr(file.name.lastIndexOf(".") + 1); - let valid = false; - for (let i = 0; i < validExtensions.length; i++) { - const extension = validExtensions[i]; - if (extension !== ext) continue; - valid = true; - break; - } - - if (!valid) { - invalidExtensionError(file.name); - return false; - } - - return true; - } - - uploadFilesHandler(acceptedFiles) { - const { - showPanel, - folderPanelState, - trackProgress, - uploadFiles, - } = this.props; - showPanel(); - const validFiles = acceptedFiles.filter(this.validateFile.bind(this)); - uploadFiles( - validFiles, - this.getFolderPath(), - folderPanelState, - trackProgress - ); - } - - getFolderPath() { - const { folder } = this.props.folderPanelState; - return folder ? folder.folderPath : ""; - } - - render() { - const { hasPermission, style, activeStyle, className } = this.props; - return hasPermission ? ( - - {() => this.props.children} - - ) : ( -
    {this.props.children}
    - ); - } -} - -DropZoneContainer.propTypes = { - children: PropTypes.node, - disableClick: PropTypes.bool, - className: PropTypes.string, - style: PropTypes.any, - activeStyle: PropTypes.any, - folderPanelState: PropTypes.object, - hasPermission: PropTypes.bool, - showPanel: PropTypes.func, - uploadFiles: PropTypes.func, - trackProgress: PropTypes.func, - maxUploadSize: PropTypes.number, - maxFileUploadSizeHumanReadable: PropTypes.string, - fileSizeError: PropTypes.func, - invalidExtensionError: PropTypes.func, -}; - -function mapStateToProps(state) { - const folderPanelState = state.folderPanel; - const moduleState = state.module; - - return { - folderPanelState, - maxUploadSize: moduleState.maxUploadSize, - maxFileUploadSizeHumanReadable: moduleState.maxFileUploadSizeHumanReadable, - hasPermission: folderPanelState.hasAddFilesPermission, - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators( - { - showPanel: addAssetPanelActions.showPanel, - uploadFiles: addAssetPanelActions.uploadFiles, - trackProgress: addAssetPanelActions.trackProgress, - fileSizeError: addAssetPanelActions.fileSizeError, - invalidExtensionError: addAssetPanelActions.invalidExtensionError, - }, - dispatch - ), - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(DropZoneContainer); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemContainer.jsx deleted file mode 100644 index 23b4c8a97de..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemContainer.jsx +++ /dev/null @@ -1,176 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import folderPanelActions from "../actions/folderPanelActions"; -import itemDetailsActions from "../actions/itemDetailsActions"; -import dialogModalActions from "../actions/dialogModalActions"; -import Item from "../components/Item"; -import itemsService from "../services/itemsService"; -import localizeService from "../services/localizeService"; - -class ItemContainer extends React.Component { - render() { - const { item, itemEditing, loadContent, editItem, moveItem, downloadFile, deleteFolder, - deleteFile, copyFileUrlToClipboard, openDialog, closeDialog, - folderPanelState, uploadedFiles, newFolderId } = this.props; - const isFolder = item.isFolder; - const { hasDeletePermission, hasManagePermission } = folderPanelState; - - function isHighlighted() { - if (isFolder && newFolderId === item.itemId) { - return true; - } - - if (!isFolder) { - for (let i = 0; i < uploadedFiles.length; i++) { - if (uploadedFiles[i].fileId === item.itemId) { - return true; - } - } - } - - return false; - } - - function getIconUrl() { - return itemsService.getIconUrl(item); - } - - function onClickFolder() { - if (!isFolder) { - return; - } - - loadContent(folderPanelState, item.itemId); - } - - function onEditItem(item, event) { - event.stopPropagation(); - editItem(item); - } - - function onDeleteFolder(event) { - event.stopPropagation(); - if (!isFolder) { - return; - } - - const dialogHeader = localizeService.getString("DeleteFolderDialogHeader"); - const dialogMessage = localizeService.getString("DeleteFolderDialogMessage"); - const yesFunction = deleteFolder.bind(this, item.itemId, folderPanelState); - const noFunction = closeDialog; - - openDialog(dialogHeader, dialogMessage, yesFunction, noFunction); - } - - function onMoveFolder(item, event) { - event.stopPropagation(); - if (!isFolder) { - return; - } - - moveItem(item); - } - - function onMoveFile(item, event) { - event.stopPropagation(); - if(isFolder) { - return; - } - - moveItem(item); - } - - function onDeleteFile(event) { - event.stopPropagation(); - if (isFolder) { - return; - } - - const dialogHeader = localizeService.getString("DeleteFileDialogHeader"); - const dialogMessage = localizeService.getString("DeleteFileDialogMessage"); - const yesFunction = deleteFile.bind(this, item.itemId, folderPanelState); - const noFunction = closeDialog; - - openDialog(dialogHeader, dialogMessage, yesFunction, noFunction); - } - - function isDetailed() { - if (!itemEditing) { - return false; - } - - const {isFolder, fileId, folderId} = itemEditing; - - if ((isFolder && folderId === item.itemId) || - (!isFolder && fileId === item.itemId)) { - return true; - } - - return false; - } - - const handlers = { - onClick: isFolder ? onClickFolder : null, - onEdit: hasManagePermission ? onEditItem.bind(this, item) : null, - onCopyToClipboard: isFolder ? null : copyFileUrlToClipboard.bind(this, item), - onDownload: isFolder ? null : downloadFile.bind(this, item.itemId), - onMove: (hasManagePermission && hasDeletePermission) ? isFolder ? onMoveFolder.bind(this, item) : onMoveFile.bind(this, item) : null, - onDelete: hasDeletePermission ? isFolder ? onDeleteFolder : onDeleteFile : null - }; - - return ( - - ); - } -} - -ItemContainer.propTypes = { - item: PropTypes.object, - loadContent: PropTypes.func, - editItem: PropTypes.func, - moveItem: PropTypes.func, - downloadFile: PropTypes.func, - deleteFolder: PropTypes.func, - deleteFile: PropTypes.func, - copyFileUrlToClipboard: PropTypes.func, - openDialog: PropTypes.func, - closeDialog: PropTypes.func, - folderPanelState: PropTypes.object, - uploadedFiles: PropTypes.array, - newFolderId: PropTypes.number, - itemEditing: PropTypes.object -}; - -function mapStateToProps(state) { - const folderPanelState = state.folderPanel; - const addAssetPanelState = state.addAssetPanel; - const addFolderPanelState = state.addFolderPanel; - const itemDetailsState = state.itemDetails; - - return { - folderPanelState, - uploadedFiles: addAssetPanelState.uploadedFiles, - newFolderId: addFolderPanelState.newFolderId, - itemEditing: itemDetailsState.itemEditing - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - loadContent: folderPanelActions.loadContent, - editItem: itemDetailsActions.editItem, - moveItem: itemDetailsActions.moveItem, - downloadFile: folderPanelActions.downloadFile, - deleteFolder: folderPanelActions.deleteFolder, - deleteFile: folderPanelActions.deleteFile, - copyFileUrlToClipboard: folderPanelActions.copyFileUrlToClipboard, - openDialog: dialogModalActions.open, - closeDialog: dialogModalActions.close - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(ItemContainer); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemDetailsContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemDetailsContainer.jsx deleted file mode 100644 index 6afa215c5c0..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemDetailsContainer.jsx +++ /dev/null @@ -1,95 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import itemDetailsActions from "../actions/itemDetailsActions"; -import FolderDetails from "../components/FolderDetails"; -import FileDetails from "../components/FileDetails"; -import itemService from "../services/itemsService"; -import localizeService from "../services/localizeService"; - -class ItemDetailsContainer extends React.Component { - constructor(props) { - super(props); - } - - validateForm() { - const {itemEditing, setValidationErrors} = this.props; - let result = true; - let validationErrors = {}; - - if ((!itemEditing.isFolder && !itemEditing.fileName) || (itemEditing.isFolder && !itemEditing.folderName)) { - validationErrors.fileName = localizeService.getString("ItemNameRequiredMessage"); - result = false; - } - - setValidationErrors(validationErrors); - return result; - } - formSubmit() { - if (!this.validateForm()) { - return; - } - - const {itemEditing, saveItem} = this.props; - saveItem(itemEditing); - } - render() { - const {itemEditing, cancelEditItem, - changeName, changeTitle, changeDescription, changePermissions} = this.props; - const onSave = this.formSubmit.bind(this); - const handlers = {changeName, changeTitle, changeDescription, changePermissions, cancelEditItem, onSave}; - let fileName, folderName, title, description; - fileName = folderName = title = description = ""; - let item = {fileName, folderName, title, description}; - const isFolder = itemEditing ? itemEditing.isFolder : false; - const validationErrors = this.props.validationErrors || {}; - - if (itemEditing) { - let iconStyle = {backgroundImage: "url('" + itemService.getIconUrl(itemEditing) + "')"}; - item = {...itemEditing, iconStyle}; - } - - return ( - isFolder ? - : - - ); - } -} - -ItemDetailsContainer.propTypes = { - itemEditing: PropTypes.object, - cancelEditItem: PropTypes.func, - changeName: PropTypes.func, - changeTitle: PropTypes.func, - changeDescription: PropTypes.func, - changePermissions: PropTypes.func, - saveItem: PropTypes.func, - setValidationErrors: PropTypes.func, - validationErrors: PropTypes.object -}; - -function mapStateToProps(state) { - const itemDetailsState = state.itemDetails; - return { - itemEditing: itemDetailsState.itemEditing, - validationErrors: itemDetailsState.validationErrors - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - cancelEditItem: itemDetailsActions.cancelEditItem, - changeName: itemDetailsActions.changeName, - changeTitle: itemDetailsActions.changeTitle, - changeDescription: itemDetailsActions.changeDescription, - changePermissions: itemDetailsActions.changePermissions, - saveItem: itemDetailsActions.saveItem, - setValidationErrors: itemDetailsActions.setValidationErrors - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(ItemDetailsContainer); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemMoveContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemMoveContainer.jsx deleted file mode 100644 index fd452473a01..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemMoveContainer.jsx +++ /dev/null @@ -1,107 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import itemDetailsActions from "../actions/itemDetailsActions"; -import localizeService from "../services/localizeService"; -import FolderPicker from "../components/FolderSelector/FolderPicker" -import folderPanelActions from "../actions/folderPanelActions"; - -class ItemMoveContainer extends React.Component { - constructor(props) { - super(props); - this.state = { - selectedFolderId: this.props.folderPanelState.currentFolderId, - selectedFolderName: this.props.folderPanelState.currentFolderName, - }; - } - - handleFolderChange(e){ - this.setState({ - ...this.state, - selectedFolderId: e.key, - selectedFolderName: e.value, - }); - } - - handleItemMove(){ - if (this.state.selectedFolderId === this.props.folderPanelState.currentFolderId){ - this.props.cancelMoveItem(); - return; - } - - if (this.props.itemMoving.isFolder){ - this.props.moveFolder(this.props.itemMoving.folderId, this.state.selectedFolderId); - } - else { - this.props.moveFile(this.props.itemMoving.fileId, this.state.selectedFolderId); - } - } - - componentWillUnmount(){ - this.props.loadContent(this.props.folderPanelState, this.state.selectedFolderId); - } - - render() { - const { cancelMoveItem, homeFolderId } = this.props; - return ( -
    -

    {localizeService.getString("MoveItem")}

    - -
    - - this.handleFolderChange(e)} - homeFolderId={homeFolderId} - noFolderSelectedValue={localizeService.getString("NoFolderSelected")} - searchFolderPlaceHolder={localizeService.getString("SearchFolder")} - /> -
    - -
    - - -
    -
    - ); - } -} - -ItemMoveContainer.propTypes = { - itemMoving: PropTypes.object, - cancelMoveItem: PropTypes.func, - moveItem: PropTypes.func, - moveFolder: PropTypes.func, - moveFile: PropTypes.func, - loadContent: PropTypes.func, - folderPanelState: PropTypes.object, - homeFolderId: PropTypes.number, -}; - -function mapStateToProps(state) { - const itemDetailsState = state.itemDetails; - return { - folderPanelState: state.folderPanel, - itemMoving: itemDetailsState.itemMoving, - homeFolderId: state.module.homeFolderId, - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - cancelMoveItem: itemDetailsActions.cancelMoveItem, - moveItem: itemDetailsActions.moveItem, - moveFolder: itemDetailsActions.moveFolder, - moveFile: itemDetailsActions.moveFile, - loadContent: folderPanelActions.loadContent, - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(ItemMoveContainer); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ManageFolderTypesPanelContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ManageFolderTypesPanelContainer.jsx deleted file mode 100644 index 4c69a4f981a..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ManageFolderTypesPanelContainer.jsx +++ /dev/null @@ -1,143 +0,0 @@ -import React from "react"; -import { PropTypes } from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import localizeService from "../services/localizeService"; -import manageFolderTypesPanelActions from "../actions/manageFolderTypesPanelActions"; -import { SvgIcons } from "@dnnsoftware/dnn-react-common"; -import addFolderPanelActions from "../actions/addFolderPanelActions"; -import dialogModalActions from "../actions/dialogModalActions"; - -class ManageFolderTypesPanelContainer extends React.Component { - constructor(props) { - super(props); - this.props.loadFolderMappings(); - if (props.isAdmin){ - this.props.getAddFolderTypeUrl(); - } - } - - handleConfirmRemoveFolderType(e, folderTypeMappingId) { - e.preventDefault(); - let dialogHeader = localizeService.getString("RemoveFolderTypeDialogHeader"); - let dialogBody = localizeService.getString("RemoveFolderTypeDialogBody"); - this.props.openDialog(dialogHeader, dialogBody, () => this.handleRemoveFolderType(folderTypeMappingId), this.props.closeDialog); - } - - handleRemoveFolderType(folderTypeMappingId) { - this.props.removeFolderType(folderTypeMappingId); - this.props.loadFolderMappings(); - } - - render() { - const { - expanded, - hidePanel, - folderTypes, - isAdmin, - addFolderTypeUrl, - } = this.props; - - return isAdmin && expanded ? ( -
    -

    {localizeService.getString("FolderTypeDefinitions")}

    - - - - - - - - - - - {folderTypes && folderTypes.map(folderType => { - return ( - - - - - - - ); - })} - -
     {localizeService.getString("Name")}{localizeService.getString("FolderProvider")} 
    - {!folderType.IsDefault && - - } - {folderType.MappingName}{folderType.FolderProviderType} - {!folderType.IsDefault && -
    - - - - - -
    -
    - ) : null; - } -} - -ManageFolderTypesPanelContainer.propTypes = { - expanded: PropTypes.bool, - hidePanel: PropTypes.func, - folderTypes: PropTypes.array, - isAdmin: PropTypes.bool, - loadFolderMappings: PropTypes.func, - removeFolderType: PropTypes.func, - openDialog: PropTypes.func, - closeDialog: PropTypes.func, - getAddFolderTypeUrl: PropTypes.func, - addFolderTypeUrl: PropTypes.string, -}; - -function mapStateToProps(state) { - const folderPanelState = state.folderPanel; - const manageFolderTypesPanelState = state.manageFolderTypesPanel; - const addFolderPanelState = state.addFolderPanel; - const module = state.module; - - return { - expanded: manageFolderTypesPanelState.expanded, - isAdmin: module.isAdmin, - folderTypes: addFolderPanelState.folderMappings, - addFolderTypeUrl: manageFolderTypesPanelState.addFolderTypeUrl, - folderPanelState - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - hidePanel: manageFolderTypesPanelActions.hidePanel, - loadFolderMappings: addFolderPanelActions.loadFolderMappings, - removeFolderType: manageFolderTypesPanelActions.removeFolderType, - openDialog: dialogModalActions.open, - closeDialog: dialogModalActions.close, - getAddFolderTypeUrl: manageFolderTypesPanelActions.getAddFolderTypeUrl, - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(ManageFolderTypesPanelContainer); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/MessageModalContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/MessageModalContainer.jsx deleted file mode 100644 index 55c5052ba9e..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/MessageModalContainer.jsx +++ /dev/null @@ -1,78 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import messageModalActions from "../actions/messageModalActions"; -import Modal from "../../../../../../Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Modal"; - - -class MessageModalContainer extends React.Component { - render() { - const modalStyles = { - overlay: { - zIndex: "99999", - "background": "none" - }, - content: { - borderRadius: "3px", - color: "white", - textAlign: "center", - background: "#002e47", - opacity: ".9", - WebkitBoxShadow: "0 0 25px 0 rgba(0, 0, 0, 0.75)", - width: "10%", - minWidth: "250px", - minHeight: "80px", - maxHeight: "120px", - margin: "auto", - padding: 0, - border: "none", - boxSizing: "border-box" - } - }; - - const { infoMessage, errorMessage, close } = this.props; - const messageToShow = infoMessage || errorMessage; - - function setTimeOutToClose() { - setTimeout(function () { - close(); - }, 3000); - } - - if (messageToShow) - { - setTimeOutToClose(); - } - - return ( - -

    {messageToShow}

    -
    - ); - } -} - -MessageModalContainer.propTypes = { - infoMessage: PropTypes.string, - errorMessage: PropTypes.string, - close: PropTypes.func.isRequired -}; - -function mapStateToProps(state) { - const messageModalState = state.messageModal; - return { - infoMessage: messageModalState.infoMessage, - errorMessage: messageModalState.errorMessage - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - close: messageModalActions.close - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(MessageModalContainer); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ModuleLayout.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ModuleLayout.jsx deleted file mode 100644 index 6ee59723c19..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ModuleLayout.jsx +++ /dev/null @@ -1,62 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import folderPanelActions from "../actions/folderPanelActions"; -import AssetsPanelContainer from "./AssetsPanelContainer"; -import DialogModalContainer from "./DialogModalContainer"; -import MessageModalContainer from "./MessageModalContainer"; -import DropZone from "../containers/DropZoneContainer"; - -class ModuleLayout extends React.Component { - componentDidMount() { - const { folderPanelState, loadContent } = this.props; - this.props.loadContent(folderPanelState); - - window.addEventListener("popstate", - event => { - const state = event.state; - if (state && state.folderId) { - loadContent(folderPanelState, state.folderId); - } - else { - loadContent(folderPanelState, folderPanelState.homeFolderId); - } - } - ); - } - - render() { - return ( -
    - - - - - -
    - ); - } -} - -ModuleLayout.propTypes = { - loadContent: PropTypes.func, - folderPanelState: PropTypes.object -}; - -function mapStateToProps(state) { - const folderPanelState = state.folderPanel; - return { - folderPanelState - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - loadContent: folderPanelActions.loadContent - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(ModuleLayout); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ProgressBarOverwriteContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ProgressBarOverwriteContainer.jsx deleted file mode 100644 index c0f766954b7..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ProgressBarOverwriteContainer.jsx +++ /dev/null @@ -1,71 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import addAssetPanelActions from "../actions/addAssetPanelActions"; -import localizeService from "../services/localizeService.js"; - -class ProgressBarOverwriteContainer extends React.Component { - render() { - const {fileName, folderPanelState, overwriteFile, stopUpload, trackProgress, breadcrumbs} = this.props; - - function getFolderPath() { - let path = ""; - for (let i = 1; i < breadcrumbs.length; i++) { - path += breadcrumbs[i].folderName + "/"; - } - - return path; - } - - function overwriteClickHandler() { - overwriteFile(fileName, getFolderPath(), folderPanelState, trackProgress, true); - } - - function abortClickHandler() { - stopUpload(fileName); - } - - return ( - - - {localizeService.getString("Replace")} - {localizeService.getString("Keep")} - - ); - } -} - -ProgressBarOverwriteContainer.propTypes = { - fileName: PropTypes.string, - breadcrumbs: PropTypes.array, - file: PropTypes.object, - folderPanelState: PropTypes.object, - overwriteFile: PropTypes.func, - stopUpload: PropTypes.func, - trackProgress: PropTypes.func, - progress: PropTypes.object -}; - -function mapStateToProps(state) { - const folderPanelState = state.folderPanel; - const breadcrumbsState = state.breadcrumbs; - - return { - folderPanelState, - breadcrumbs: breadcrumbsState.breadcrumbs - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - overwriteFile: addAssetPanelActions.overwriteFile.bind(addAssetPanelActions), - stopUpload: addAssetPanelActions.stopUpload, - trackProgress: addAssetPanelActions.trackProgress - }, dispatch) - }; -} - - -export default connect(mapStateToProps, mapDispatchToProps)(ProgressBarOverwriteContainer); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ProgressContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ProgressContainer.jsx deleted file mode 100644 index 765ec90c4a1..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ProgressContainer.jsx +++ /dev/null @@ -1,93 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { connect } from "react-redux"; -import FileProgress from "../components/FileProgress"; -import localizeService from "../services/localizeService"; - -function isImage(url) { - if (!url) { - return false; - } - - const imageExtensions = ["JPG", "JPE", "BMP", "GIF", "PNG", "JPEG", "ICO"]; - let urlNoParameters = url.split("?")[0]; - let ext = urlNoParameters.split(".").reverse()[0].toUpperCase(); - for (let i = 0; i < imageExtensions.length; i++) { - if (imageExtensions[i] === ext) return true; - } - return false; -} - -class ProgressContainer extends React.Component { - isUploading(fileProgress) { - const {completed, alreadyExists, stopped, error} = fileProgress; - return !completed && !alreadyExists && !stopped && !error; - } - getImageUrl(fileProgress) { - const uploading = this.isUploading(fileProgress); - - if (uploading) { - return ""; - } - - if (isImage(fileProgress.path)) { - return fileProgress.path; - } - - return fileProgress.fileIconUrl; - } - - getMessage(fileProgress) { - const {error, stopped, completed} = fileProgress; - - if (error) { - return fileProgress.error; - } - - if (stopped) { - return localizeService.getString("FileUploadStoppedMessage"); - } - - if (completed) { - return localizeService.getString("FileUploadedMessage"); - } - - return null; - } - - render() { - const { progress } = this.props; - let output = []; - for (let fileName in progress) { - const fileProgress = progress[fileName]; - const {error, stopped, path, alreadyExists} = fileProgress; - const uploading = this.isUploading(fileProgress); - const imageUrl = this.getImageUrl(fileProgress); - const message = this.getMessage(fileProgress); - - output.push(); - } - - return ( -
    - { output } -
    - ); - } -} - -ProgressContainer.propTypes = { - progress: PropTypes.object, - uploaded: PropTypes.object -}; - -function mapStateToProps(state) { - const addAssetPanelState = state.addAssetPanel; - - return { - progress: addAssetPanelState.progress, - uploaded: addAssetPanelState.uploaded - }; -} - -export default connect(mapStateToProps)(ProgressContainer); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/TopBarContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/TopBarContainer.jsx deleted file mode 100644 index 5dd5dce8d68..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/TopBarContainer.jsx +++ /dev/null @@ -1,166 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import folderPanelActions from "../actions/folderPanelActions"; -import topBarActions from "../actions/topBarActions"; -import localizeService from "../services/localizeService"; -import DropDown from "../../../../../../Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Dropdown"; -import FolderPicker from "../components/FolderSelector/FolderPicker"; -import debounce from "lodash/debounce"; - -const refreshSyncIcon = require("!raw-loader!../../../Images/redeploy.svg").default; - -class TopBarContainer extends React.Component { - componentWillMount() { - this.debouncedSearch = debounce(this.searchHandler.bind(this, true), 500); - } - - onChangeFolder(folder) { - const {folderPanelState, loadContent} = this.props; - const folderId = parseInt(folder.key); - loadContent(folderPanelState, folderId); - } - - searchHandler(checkLength) { - const {folderPanelState, changeSearchingValue, searchFiles, loadContent} = this.props; - const {currentFolderId} = folderPanelState; - const oldSearch = folderPanelState.search; - let search = this.props.search; - - search = checkLength && search.length < 3 ? "" : search; - - if (!oldSearch && !search) { - return; - } - - changeSearchingValue(search); - if (!search) { - loadContent(folderPanelState, currentFolderId); - } - else { - searchFiles(folderPanelState, search); - } - } - - onSearchChanged(event) { - this.props.changeSearchField(event.target.value); - this.debouncedSearch(); - } - - onSortingChange(option) { - const {changeSorting, loadContent, folderPanelState} = this.props; - const {currentFolderId} = folderPanelState; - const newFolderPanelState = { ...folderPanelState, sorting: option.value }; - - changeSorting(option.value); - loadContent(newFolderPanelState, currentFolderId); - } - - onRefreshSyncChange(folderPanelState, currentFolderId, option) { - switch (option.value) { - case "Refresh": - this.props.loadContent(folderPanelState, currentFolderId); - break; - - case "SyncThisFolder": - this.props.syncContent(folderPanelState, false); - break; - - case "SyncThisFolderAndSubfolders": - this.props.syncContent(folderPanelState, true); - break; - - default: - break; - } - } - - render() { - const {folderPanelState, search, userLogged, homeFolderId} = this.props; - const {currentFolderId, currentFolderName, sortOptions, sorting} = folderPanelState; - - return ( -
    -
    - {userLogged ? -
    - this.onRefreshSyncChange(folderPanelState, currentFolderId, option)} - withBorder={false} - fixedHeight={200} - label="" - prependWith={} - withIcon={false} /> - -
    - : {localizeService.getString("DisabledForAnonymousUsersMessage")} - } -
    -
    - -
    -
    - - - -
    -
    - ); - } -} - -TopBarContainer.propTypes = { - folderPanelState: PropTypes.object, - loadContent: PropTypes.func, - syncContent: PropTypes.func, - changeSearchingValue: PropTypes.func, - searchFiles: PropTypes.func, - changeSorting: PropTypes.func, - changeSearchField: PropTypes.func, - search: PropTypes.string, - userLogged: PropTypes.bool, - homeFolderId: PropTypes.number -}; - -function mapStateToProps(state) { - const moduleState = state.module; - const folderPanelState = state.folderPanel; - const topBarState = state.topBar; - - return { - folderPanelState, - search: topBarState.search || "", - userLogged: moduleState.userLogged, - homeFolderId: moduleState.homeFolderId - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - loadContent: folderPanelActions.loadContent, - syncContent: folderPanelActions.syncContent, - searchFiles: folderPanelActions.searchFiles, - changeSearchingValue: folderPanelActions.changeSearchingValue, - changeSorting: folderPanelActions.changeSorting, - changeSearchField: topBarActions.changeSearchField - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(TopBarContainer); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/api.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/api.js deleted file mode 100644 index 29d53933aa6..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/api.js +++ /dev/null @@ -1,263 +0,0 @@ -let tabId = -1; -let moduleId = -1; -let groupId = -1; -let moduleName = ""; -let extensionWhitelist = ""; -let validationCode = ""; - -const ANTIFORGERY_TOKEN_KEY = "__RequestVerificationToken"; - -function getAntiForgeryToken() { - let inputNodes = document.getElementsByTagName("input"); - inputNodes = Array.prototype.slice.call(inputNodes); - const antiforgeryTokenNodes = inputNodes.filter(function (inputNode) { - return inputNode.getAttribute("name") === ANTIFORGERY_TOKEN_KEY; - }); - - if (antiforgeryTokenNodes.length > 0) { - return antiforgeryTokenNodes[0].value; - } - - return ""; -} - -/** function to perform raw http request */ -function httpRequest(url, options) { - const headersObject = { - "ModuleId": moduleId, - "TabId": tabId, - "GroupId": groupId - }; - - if (options.headers) { - Object.assign(headersObject, options.headers); - } - - const antiforgeryToken = getAntiForgeryToken(); - if (antiforgeryToken) { - headersObject.RequestVerificationToken = antiforgeryToken; - } - - const headers = new Headers(headersObject); - options = Object.assign(options, { - credentials: "same-origin", - headers: headers - }); - - - return fetch(url, options).then(handleHttpResponse); -} - -function SAHttpRequest(url, options) { - // eslint-disable-next-line - const request = require("superagent"); - const { method, body, progressTracker } = options; - - const headersObject = { - "ModuleId": moduleId, - "TabId": tabId, - "GroupId": groupId - }; - - if (options.headers) { - Object.assign(headersObject, options.headers); - } - - const antiforgeryToken = getAntiForgeryToken(); - if (antiforgeryToken) { - headersObject.RequestVerificationToken = antiforgeryToken; - } - - return request(method, url).set(headersObject).send(body).on("progress", progressTracker) - .then(response => JSON.parse(response.text), handleSAHttpRequestFailure); -} - -function handleSAHttpRequestFailure(response) { - const error = new Error(response.status + " - An expected error has been received from the server."); - error.code = response.status; - throw error; -} - -/** function to handle http response */ -function handleHttpResponse(response) { - if (response.status >= 200 && response.status < 300) { - return response.json(); - } - - return response.json() - .then(function processErrorJson(json) { - const error = new Error(); - error.code = response.status; - error.data = json; - throw error; - } - , () => { - const error = new Error(response.status + " - An expected error has been received from the server."); - error.code = response.status; - throw error; - }); -} - -/** function to serialize query string object */ -function serializeQueryStringParameters(obj) { - let s = []; - for (let p in obj) { - if (obj.hasOwnProperty(p)) { - s.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); - } - } - return s.join("&"); -} - -/** - * @module api - */ -const api = { - /** initialize the api module. This call must be done before use any other method of the module - * @param {object} options - moduleId, tabId and moduleName are required - * */ - init(options) { - if (!options) { - throw new Error("The init method requires an options parameter with tabId, moduleId and moduleName"); - } - - if (typeof(options.moduleId) !== "number" || options.moduleId <= 0 ) { - throw new Error("The moduleId must be a number greater than 0."); - } - - if (typeof(options.moduleName) !== "string" || !options.moduleName ) { - throw new Error("The moduleName must be a string and it can't be empty. "); - } - - if (typeof(options.tabId) !== "number" || options.tabId <= 0 ) { - throw new Error("The tabId must be a number greater than 0"); - } - - moduleId = options.moduleId; - moduleName = options.moduleName; - tabId = options.tabId; - groupId = options.groupId; - extensionWhitelist = options.extensionWhitelist; - validationCode = options.validationCode; - }, - - getAntiForgeryToken() { - return getAntiForgeryToken(); - }, - - getServiceRoot(ignoreCurrentModuleApi) { - // eslint-disable-next-line no-undef - let serviceRoot = dnn.getVar("sf_siteRoot", "/"); - serviceRoot += "DesktopModules/"; - if (!ignoreCurrentModuleApi) { - serviceRoot += moduleName + "/API/"; - } - return serviceRoot; - }, - - getModuleRoot() { - // eslint-disable-next-line no-undef - let moduleRoot = dnn.getVar("sf_siteRoot", "/"); - moduleRoot += "DesktopModules/" + moduleName; - - return moduleRoot; - }, - - /** this function performs a get http request - * @param {string} url - * @param {object} query string object - * */ - get(url, queryString = null) { - - if (queryString) { - url += (url.indexOf("?") > 0 ? "&" : "?") + serializeQueryStringParameters(queryString); - } - - return httpRequest(url, { - method: "GET" - }); - }, - /** this function performs a post http request - * @param {string} url - * @param {object} body - * */ - post(url, body, headers) { - let data = null; - if (headers && headers["Content-Type"] === "multipart/form-data") { - let formData = new FormData(); - for (const name in body) { - formData.append(name, body[name]); - } - data = formData; - - delete headers["Content-Type"]; - } - - return httpRequest(url, { - method: "POST", - body: data || JSON.stringify(body), - headers: headers - }); - }, - /** Posta a primitive value (integer, string, etc.) - * @param {string} url - * @param {any} value - */ - postPrimitive(url, value) { - var urlencoded = new URLSearchParams(); - urlencoded.append("", value.toString()); - return httpRequest(url, { - method: "POST", - body: urlencoded, - headers: [{"Content-Type": "application/x-www-form-urlencoded"}], - }); - }, - /** this function performs a post http request - * @param {string} url - * @param {object} body - * */ - postFile(url, formData, progressTracker) { - return SAHttpRequest(url, { - method: "POST", - body: formData, - progressTracker - }); - - }, - /** this function performs a put http request - * @param {string} url - * @param {object} body - * */ - put(url, body) { - return httpRequest(url, { - method: "PUT", - body: JSON.stringify(body) - }); - }, - /** this function performs a delete http request - * @param {string} url - * @param {object} body - * */ - delete(url, body) { - return httpRequest(url, { - method: "DELETE", - body: JSON.stringify(body) - }); - }, - getHeadersObject() { - const headersObject = { - moduleId, - tabId, - groupId - }; - return headersObject; - }, - getWhitelistObject() { - const whitelistObject = { - extensionWhitelist, - validationCode - }; - return whitelistObject; - } -}; -export default api; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/dnnSf.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/dnnSf.js deleted file mode 100644 index 5ef8f918664..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/dnnSf.js +++ /dev/null @@ -1,101 +0,0 @@ -export default class DnnSf { - moduleRoot = ""; - controller = ""; - siteRoot = ""; - tabId = -1; - antiForgeryToken = ""; - - constructor() { - this.siteRoot = window.top.dnn.getVar("sf_siteRoot", "/"); - this.tabId = parseInt(window.top.dnn.getVar("sf_tabId", "-1")); - this.antiForgeryToken = window.top.document.querySelector("input[name=__RequestVerificationToken]").value; - } - - get = (method, params, success, failure, loading, beforeSend) => { - return this.call("GET", method, params, success, failure, loading, beforeSend, false, false); - } - - call = (httpMethod, method, params, success, failure, loading, beforeSend, sync, silence, postFile) => { - let url = this.getServiceRoot() + this.controller + "/" + method; - this.moduleRoot = "personaBar"; - this.controller = ""; - - return this.rawCall(httpMethod, url, params, success, failure, loading, beforeSend, sync, silence, postFile); - } - - getServiceRoot = () => { - return this.siteRoot + "API/" + this.moduleRoot + "/"; - } - - rawCall = (httpMethod, url, params, success, failure, loading, beforeSend, sync, silence, postFile) => { - let beforeCallback; - if (typeof beforeSend === "function") { - beforeCallback = (xhr) => { - this.setHeaders(xhr); - return beforeSend(xhr); - }; - } - else { - beforeCallback = this.setHeaders; - } - - let options = { - url: url, - beforeSend: beforeCallback, - type: httpMethod, - async: sync === false, - success: function (d) { - if (typeof loading === "function") { - loading(false); - } - - if (typeof success === "function") { - success(d || {}); - } - }, - error: function (xhr, status, err) { - if (typeof loading === "function") { - loading(false); - } - - if (typeof failure === "function") { - if (xhr) { - failure(xhr, err); - } - else { - failure(null, "Unknown error"); - } - } - } - }; - - if (httpMethod === "GET") { - options.data = params; - } else if (postFile) { - options.processData = false; - options.contentType = false; - options.data = params; - } - else { - options.contentType = "application/json; charset=UTF-8"; - options.data = JSON.stringify(params); - options.dataType = "json"; - } - - if (typeof loading === "function") { - loading(true); - } - - return window.$.ajax(options); - } - - setHeaders = (xhr) => { - if (this.tabId) { - xhr.setRequestHeader("TabId", this.tabId); - } - - if (this.antiForgeryToken.length > 0) { - xhr.setRequestHeader("RequestVerificaitonToken", this.antiForgeryToken); - } - } -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/resourceManager.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/resourceManager.js deleted file mode 100644 index 97f7d10ca08..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/resourceManager.js +++ /dev/null @@ -1,35 +0,0 @@ -import api from "./api"; -import globalActions from "../actions/globalActions"; -import localizeService from "../services/localizeService.js"; - -const resourceManager = { - init(options) { - api.init(options); - localizeService.init(options.resx); - require("../less/styles.less"); - - resourceManager.dispatch(globalActions.loadInitialParameters(options)); - const container = document.getElementById(options.containerId); - - this.render(container); - }, - - dispatch() { - throw new Error("dispatch method needs to be overwritten from the Redux store"); - }, - - render() { - throw new Error("render method needs to be overwritten from the Redux store"); - } - -}; - -if (typeof window.dnn === "undefined" || window.dnn === null) { - window.dnn = {}; -} -if (typeof window.dnn.ResourceManager === "undefined") { - window.dnn.ResourceManager = {}; -} -window.dnn.ResourceManager.instance = resourceManager; - -export default resourceManager; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/Assets.less b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/Assets.less deleted file mode 100644 index 25d1e9df41a..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/Assets.less +++ /dev/null @@ -1,1099 +0,0 @@ -#Assets-panel { - @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) { - div#folder-picker div.selected-item { - margin-left: -20px; - } - } - #assets-header.socialpanelheader { - padding-bottom: 0; - padding: 0; - min-height: 103px; - max-height: 103px; - -webkit-box-sizing: border-box !important; - -moz-box-sizing: border-box !important; - box-sizing: border-box !important; - box-shadow: 0 1px 2px -1px rgba(0,0,0,.2); - position: relative; - } - #assets-header.socialpanelheader > h3 { - float: left; - margin: 14px 0 0 0; - } - #assets-header.socialpanelheader:after { - border: 0; - } - #assets-header.socialpanelheader > div.right-container > div { - float: right; - &:first-child { - margin-left: 12px; - } - } - #assets-header.socialpanelheader a.add-folder { - background-image: url('/DesktopModules/ResourceManager/Images/icon-add-folder.png'); - background-repeat: no-repeat; - background-position: center; - display: inline-block; - height: 32px; - padding: 0; - width: 32px; - } - #assets-header.socialpanelheader a.add-folder:hover { - background-color: #d9ecfa; - } - #assets-header.socialpanelheader .right-container { - position: absolute; - right: 0; - top: 50%; - transform: translate(0, -50%); - } - .rm-button.primary { - display: inline-block; - background-color: #1E88C3; - border: none; - border-radius: 3px; - padding: 0 16px; - height: 42px; - line-height: 42px; - text-align: center; - color: #FFFFFF; - box-sizing: border-box; - vertical-align: top; - min-width: 106px; - cursor: pointer; - } - .rm-button.secondary { - display: inline-block; - border: 1px solid #1E88C3; - border-radius: 3px; - padding: 0 16px; - height: 42px; - line-height: 42px; - text-align: center; - color: #1E88C3; - vertical-align: top; - box-sizing: border-box; - cursor: pointer; - min-width: 106px; - margin-right: 10px; - } - .rm-button.primary.normal, .rm-button.secondary.normal { - height: 35px; - line-height: 35px; - min-width: 92px; - } - #assets-header.socialpanelheader a { - cursor: pointer; - } - #assets-header.socialpanelheader div.folder-picker-container { - display: inline-block; - vertical-align: top; - } - .assets-body { - margin-top: 0; - position: relative; - } - .assets-body .header-container { - padding: 10px 0px; - height: 51px; - border-bottom: 1px solid #C8C8C8; - box-sizing: border-box; - } - .assets-body .header-container .assets-input { - margin-left: 5px; - box-shadow: none; - } - /*Reduce input placeholder font size*/ - .assets-body .header-container .assets-input::-webkit-input-placeholder { - font-size: 12px; - } - .assets-body .header-container .assets-input:-moz-placeholder { - font-size: 12px; - } - .assets-body .header-container .assets-input::-moz-placeholder { - font-size: 12px; - } - .assets-body .header-container input.assets-input:-ms-input-placeholder { - font-size: 12px; - min-width: 123px; - min-height: 16px; - } - .assets-body .header-container .assets-input, input, select, textarea { - border: 1px solid #ddd; - padding: 8px 16px; - border-radius: 3px; - background-color: #fff; - } - .assets-body .header-container input[type='search'].assets-input { - -webkit-appearance: none; - font-weight: bold; - padding-right: 29px; - margin: 0; - width: ~"calc(100% - 24px)"; - border: none; - background: none; - outline: none; - } - .assets-body .header-container .dnnDropDownList .selected-item { - border: 1px solid #ddd; - box-shadow: none; - background: #fff; - } - .assets-body .header-container .assets-input[type=search]::-webkit-search-cancel-button { - display: none; - } - .assets-body .header-container .assets-input[type=search]::-ms-clear { - display: none; - width: 0; - height: 0; - } - .assets-body .header-container a.search-button { - background-image: url('/DesktopModules/ResourceManager/Images/search.svg'); - background-repeat: no-repeat; - background-position: center; - display: inline-block; - width: 22px; - height: 20px; - right: 15px; - position: absolute; - top: 8px; - cursor: pointer; - } - - .assets-body .header-container a.sync-button { - background-image: url(/DesktopModules/ResourceManager/Images/redeploy.svg); - background-repeat: no-repeat; - background-position: center; - display: inline-block; - width: 22px; - height: 20px; - top: 7px; - position: absolute; - right: 0px; - cursor: pointer; - } - - .assets-body .header-container { - color: #46292b; - - .folder-picker-container, .sort-container { - height: 31px; - border-right: 1px solid #C8C8C8; - } - .folder-picker-container { - span { - display: block; - margin-top: 7px; - } - - .dnn-folder-selector { - border: none; - .selected-item { - padding: 7px 15px; - } - } - } - .sort-container { - .dnn-dropdown { - width: 100%; - background: none; - } - } - .refresh-sync-container { - display: flex; - justify-content: right; - .dnn-dropdown { - width: 33%; - background: none; - } - } - } - .assets-body .dnnDropDownList.rm-folder { - width: 100%; - vertical-align: top; - } - .assets-body .dnnDropDownList.rm-folder * { - box-sizing: border-box; - } - .assets-body .dnnDropDownList.rm-folder .selected-item { - border: none; - box-shadow: none; - background: none; - } - .assets-body .dnnDropDownList.rm-folder .selected-item a { - font-weight: bold; - padding: 7px 0; - border-left: none; - background: none; - position: relative; - color: #4B4E4F; - height: 32px; - } - .assets-body .dnnDropDownList.rm-folder .selected-item a:after { - content: ""; - display: block; - width: 0; - height: 0; - position: absolute; - right: 0; - top: 14px; - border-left: 5px solid transparent; - border-right: 5px solid transparent; - border-top: 4px solid #4B4E4F; - } - .assets-body .dnnDropDownList.rm-folder .selected-item a.opened { - color: #1E88C3; - background: none; - } - .assets-body .dnnDropDownList.rm-folder .selected-item a.opened:after { - border-top-color: #1E88C3; - } - .assets-body .dt-container { - width: 267px; - background: #fff; - border: 1px solid #C8C8C8; - border-radius: 3px; - box-shadow: 0 0 20px 0 gba(0, 0, 0, .2); - top: 42px; - height: 330px; - .dt-header { - margin: 20px 20px 13px 20px; - background: none; - border: none; - box-shadow: none; - padding: 0; - } - .dt-header .sort-button { - display: none; - } - .dt-header .search-container { - margin: 0; - position: relative; - .search-input-container { - border: 1px solid #C8C8C8; - border-radius: 0; - padding: 0 32px 0 0; - input { - background-color: transparent; - border-radius: 0; - border: none; - } - } - .clear-button { - right: 32px; - border: none; - } - .search-button { - position: absolute; - right: 1px; - top: 1px; - width: 32px; - height: 32px; - background-image: url(/DesktopModules/ResourceManager/Images/search.png); - background-repeat: no-repeat; - background-position: center; - } - } - .dt-content { - margin: 65px 20px 0 20px; - border: 1px solid #C8C8C8; - height: 224px; - width: auto; - position: relative; - overflow: hidden; - } - ul.tv-nodes { - &.tv-root { - margin: 4px 4px 0 -10px; - } - li.tv-node { - list-style: none; - padding: 0 0 0 16px; - } - a.text { - background: url(/DesktopModules/ResourceManager/Images/folder.png) no-repeat 2px 0px; - border: 1px solid transparent; - color: #6F7273; - padding: 0 8px 0 24px; - text-decoration: none; - &.selected { - font-weight: bold; - } - } - a.text:hover { - text-decoration: none; - background-image: url(/DesktopModules/ResourceManager/Images/folder-hover.png); - color: #1E88C3; - border: 1px solid transparent; - } - a.icon { - text-decoration: none; - display: inline-block; - padding: 0; - height: 16px; - width: 16px; - border: 1px solid transparent; - outline: none; - vertical-align: middle; - cursor: pointer; - &.rm-expanded { - background: url(/DesktopModules/ResourceManager/Images/tree-sprite.png) no-repeat 0 -18px; - } - &.collapsed { - background: url(/DesktopModules/ResourceManager/Images/tree-sprite.png) no-repeat 0 -2px; - } - } - } - .dt-footer { - background: none; - margin: 10px 20px 20px 20px; - border: none; - } - .dt-footer .result { - margin: 10px 0 0 0; - } - .dt-footer .resizer { - display: none; - } - } - .select-destination-folder { - width: 500px; - margin: 30px auto 30px auto; - .dt-container { - width: 100%; - box-shadow: none; - border: none; - .dt-content { - margin-top: 20px; - } - } - } - .assets-body .header-container { - .search-box-container, .sort-container { - position: relative; - display: block; - float: left; - } - .folder-picker-container { - width: 40%; - } - .sort-container { - width: 20%; - } - .search-box-container { - width: 40%; - } - .rm-folder-picker-refresh-sync-container { - display: flex; - .rm-refresh-sync-dropdown { - border-right: 1px solid #C8C8C8; - .collapsible-label { - height: 30px; - span { - margin: 0; - } - svg { - fill: #777; - width: 22px; - height: auto; - } - } - } - } - } - .breadcrumbs-container { - position: absolute; - width: 100%; - font-size: 0; - line-height: 0; - text-transform: uppercase; - font-weight: bold; - left: 0; - bottom: 0; - - > div { - height: 20px; - line-height: 20px; - background: 0; - color: #1e88c3; - font-weight: bold; - text-transform: uppercase; - cursor: pointer; - - &:first-child:not(:last-child) { - padding-right: 16px; - position: relative; - display: inline-block; - } - - &:first-child:last-child { - width: 150px; - margin-left: 0; - } - - &:not(:first-child):not(:last-child) { - padding-right: 10px; - position: relative; - margin-left: 25px; - box-sizing: border-box; - } - - &:not(:last-child)::after { - content: ''; - position: absolute; - right: -15px; - top: 0; - width: 20px; - height: 32px; - background-image: url(/DesktopModules/ResourceManager/Images/arrow_forward.svg); - background-repeat: no-repeat; - background-position: center; - } - - &:last-child { - color: #1e88c3; - font-family: proxima_nova,Arial; - text-decoration: none; - font-size: 14px; - padding-right: 10px; - position: relative; - margin-left: 25px; - cursor: default; - } - } - - div { - display: inline-block; - height: 32px; - line-height: 32px; - font-family: proxima_nova,Arial; - text-decoration: none; - font-size: 14px; - max-width: 20%; - color: #4b4e4f; - - > span { - display: block; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } - } - } - div.rm-field { - position: relative; - display: inline-block; - margin: 32px 0 0 0; - min-width: 325px; - vertical-align: top; - } - div.rm-field.long { - margin-right: 340px; - } - div.rm-field.right { - min-width: 325px; - } - div.rm-field.hide { - visibility: hidden; - margin: 32px 0 0 0; - } - div.versioning { - margin: 20px 20px 0 0; - } - div.versioning > input { - vertical-align: middle; - margin-right: 5px; - } - div.rm-field > label { - display: block; - margin-bottom: 5px; - } - div.rm-field > input[type="text"], div.rm-field > select, div.rm-field > textarea { - width: 100%; - box-sizing: border-box; - min-height: 34px; - border: 1px solid #7F7F7F; - border-radius: 0; - } - div.rm-field > textarea#description { - min-height: 135px; - } - div.file-upload-panel { - margin: 1px 1px 30px 1px; - - .dnn-file-upload { - width: 100%; - box-sizing: border-box; - float:none; - margin:auto; - - span { - float: none; - } - } - } - .container-main .toolbar-main { - height: 70px; - width: 860px; - background-color: #e6e6e6; - } - .container-main .filter-results { - height: 50px; - width: 860px; - padding-bottom: 0px; - } - .page-title { - font-family: Arial, Helvetica, sans-serif; - font-size: 24px; - } - div.main-container { - margin-top: 16px; - position: relative; - overflow: auto; - } - div.item-container { - width: 100%; - overflow-y: auto; - overflow-x: visible; - } - div.item-container.empty { - .rm_infinite-scroll-container { - display: none; - } - } - div.item-container.empty:not(.loading) { - background-image: url(/DesktopModules/ResourceManager/Images/folder-empty-state-asset-manager.png); - background-repeat: no-repeat; - background-position: center 120px; - min-height: 465px; - } - div.item-container.empty.rm_search:not(.loading) { - background-image: url(/DesktopModules/ResourceManager/Images/search-glass-no-results.png); - } - div.item-container > div.empty-label { - display: none; - color: #aaa; - max-width: 250px; - text-align: center; - top: 240px; - position: relative; - margin-left: auto; - margin-right: auto; - } - div.item-container.empty:not(.rm_search):not(.loading) > div.empty-label.rm-folder { - display: block; - } - div.item-container.empty.rm_search:not(.loading) > div.empty-label.rm_search { - display: block; - top: 180px; - } - div.item-container > div.empty-label > span.empty-title { - font-size: 22px; - font-weight: bold; - display: block; - margin: 10px 0; - } - div.item-container > div.empty-label > span.empty-subtitle { - font-size: 15px; - } - div.item-container.drop-target { - border: 10px #0087c6 dashed; - padding: 0 0 5px 5px; - overflow: hidden; - } - .item-container .rm-card { - position: relative; - height: 212px; - width: 100%; - padding: 20px; - bottom: 0px; - font-family: "Proxima Nova-light", HelveticaNeue-Light, Arial-light, Helvetica, sans-serif; - -webkit-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.30); - -moz-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.30); - box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.30); - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - background-color: #79bdd8; - color: #FFF; - font-size: 17px; - margin: 15px 0 5px 0; - float: left; - overflow: hidden; - transition: 0.2s; - box-sizing: border-box; - - &.rm-folder { - cursor: pointer; - } - } - div.item-container:not(.disabled) .rm-card:hover, div.item-container:not(.disabled) .rm-card.selected { - background-color: rgba(48, 137, 198, 1); - transition: 0.2s; - } - .item.highlight { - -webkit-animation: card-highlight 1.5s 1; - -moz-animation: card-highlight 1.5s 1; - animation: card-highlight 1.5s 1; - } - @-webkit-keyframes card-highlight { - 0% { - box-shadow: 0 0 0 0 rgba(0, 220, 0, 0); - } - 25% { - box-shadow: 0 0 5px 8px rgba(125, 226, 166, 1); - } - 50% { - box-shadow: 0 0 0 0 rgba(0, 220, 0, 0); - } - 75% { - box-shadow: 0 0 5px 8px rgba(125, 226, 166, 1); - } - 100% { - box-shadow: 0 0 0 0 rgba(0, 220, 0, 0); - } - } - @-moz-keyframes card-highlight { - 0% { - box-shadow: 0 0 0 0 rgba(0, 220, 0, 0); - } - 25% { - box-shadow: 0 0 5px 8px rgba(125, 226, 166, 1); - } - 50% { - box-shadow: 0 0 0 0 rgba(0, 220, 0, 0); - } - 75% { - box-shadow: 0 0 5px 8px rgba(125, 226, 166, 1); - } - 100% { - box-shadow: 0 0 0 0 rgba(0, 220, 0, 0); - } - } - @keyframes card-highlight { - 0% { - box-shadow: 0 0 0 0 rgba(0, 220, 0, 0); - } - 25% { - box-shadow: 0 0 5px 8px rgba(125, 226, 166, 1); - } - 50% { - box-shadow: 0 0 0 0 rgba(0, 220, 0, 0); - } - 75% { - box-shadow: 0 0 5px 8px rgba(125, 226, 166, 1); - } - 100% { - box-shadow: 0 0 0 0 rgba(0, 220, 0, 0); - } - } - .rm-card-container { - float: left; - width: 22%; - margin-right: 4%; - } - .rm-card-container:nth-of-type(4n){ - margin-right: 0; - } - .item.rm-card { - float: none; - } - .item.rm-card .card-icons { - height: 58px; - width: 53px; - position: absolute; - left: 0px; - top: 0px; - } - .item.rm-card .text-card { - position: absolute; - bottom: 22px; - width: 149px; - overflow: hidden; - word-wrap: break-word; - height: 30px; - line-height: 15px; - - p { - margin: 0; - } - } - .item.rm-card .text-card:before { - content: ""; - float: left; - width: 5px; - height: 30px; - } - .item.rm-card .text-card > *:first-child { - float: right; - width: 100%; - margin-left: -5px; - } - .item.rm-card .text-card:after { - content: "\02026"; - box-sizing: content-box; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - float: right; - position: relative; - top: -15px; - left: 100%; - width: 1em; - margin-left: -1em; - padding-right: 5px; - text-align: right; - background-color: rgba(121, 189, 216, 1); - transition: 0.2s; - } - div.item-container:not(.disabled) .rm-card:hover .text-card:after, div.item-container:not(.disabled) .rm-card.selected .text-card:after { - background-color: rgba(48, 137, 198, 1); - transition: 0.2s; - } - .item.rm-card .text-card font.highlight { - background-color: #CCCCCC; - } - .rm-circular { - width: 100%; - height: 100%; - border-radius: 50%; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; - border: 12px solid #79bdd8; - margin-right: auto; - margin-left: auto; - background-position: center center; - background-repeat: no-repeat; - background-color: #eeeeee; - box-sizing: border-box; - } - .rm-circular.rm-folder { - background-color: #9EDCEF; - } - .rm-card .image-center { - margin-right: auto; - margin-left: auto; - height: 110px; - width: 110px; - border: 2px white solid; - border-radius: 50%; - position: relative; - } - .rm-card .overlay-disabled { - height: 213px; - width: 190px; - position: absolute; - left: 0px; - top: 0px; - background-color: black; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - opacity: 0; - visibility: hidden; - -webkit-transition: visibility 0.2s linear, opacity 0.2s linear; - -moz-transition: visibility 0.2s linear, opacity 0.2s linear; - -o-transition: visibility 0.2s linear, opacity 0.2s linear; - } - div.item-container.disabled .rm-card { - cursor: auto; - } - div.item-container.disabled .rm-card .overlay-disabled { - opacity: 0.5; - visibility: visible; - } - .rm-card > div.rm-actions { - position: absolute; - right: -32px; - width: 32px; - background-color: #236F99; - top: 0; - bottom: 0; - transition: 0.2s; - - > div { - cursor: pointer; - } - } - .rm-card.selected > div.rm-actions, .rm-card:hover > div.rm-actions { - right: 0; - transition: 0.2s; - transition-delay: 0.4s; - } - .rm-card > div.unpublished { - position: absolute; - width: 32px; - height: 32px; - top: 6px; - left: 6px; - background-image: url(/DesktopModules/ResourceManager/Images/unpublished.svg); - } - .rm-card > div.rm-actions > div { - height: 32px; - background-position: center; - background-repeat: no-repeat; - position: absolute; - width: 100%; - background-size: 80%; - &.rm-edit { - top: 0; - background-image: url(/DesktopModules/ResourceManager/Images/edit.svg); - } - &.rm-link { - top: 32px; - background-image: url(/DesktopModules/ResourceManager/Images/clipboard.svg); - } - &.rm-download { - top: 96px; - background-image: url(/DesktopModules/ResourceManager/Images/download.svg); - } - &.rm-move { - top: 64px; - background-image: url(/DesktopModules/ResourceManager/Images/move.svg); - } - &.rm-delete { - background-image: url(/DesktopModules/ResourceManager/Images/delete.svg); - background-color: #195774; - bottom: 0; - } - } - .top-panel { - &.add-folder, &.manage-folder-types { - .animateHeight(970px, 0.5s); - .rm-button { - margin-bottom: 30px; - } - } - &.manage-folder-types { - h3{ - text-align: center; - } - table.folder-types{ - margin: 1em auto; - border: 1px solid gray; - th{ - text-transform: uppercase; - } - th, td { - padding: 1em 2em; - border-bottom: 1px solid gray; - button, a{ - border: none; - margin: 0; - padding: 0; - background-color: transparent; - svg{ - width: 1.5em; - height: auto; - } - } - } - } - } - } - - .folder-adding { - .folder-parent-label { - margin-right: 10px; - } - } - - .top-panel.add-folder > .folder-adding { - margin: 30px; - margin-bottom: 45px; - } - - .top-panel.add-asset { - .animateHeight(970px, 0.5s); - - .close { - float: none; - margin-bottom: 30px; - } - } - .details-panel { - border: none; - border-radius: 0; - padding: 30px; - } - div.item-details { - float: left; - margin: 0; - border-top: 2px solid #1E88C3; - border-bottom: 2px solid #1E88C3; - width: 100%; - padding: 25px 10px; - box-sizing: border-box; - overflow: hidden; - &.item-move{ - overflow: visible; - .dnn-folder-selector{ - border: 1px solid gray; - } - } - } - ul.tabControl { - background-color: #FFF; - border-radius: 0; - border: none; - border-bottom: 1px solid #ddd; - &> li { - text-transform: uppercase; - font-weight: bold; - padding: 10px 0; - margin: 0 20px; - &.selected { - border-bottom: 3px solid #1E88C3; - } - } - } - div.details-icon { - display: inline-block; - width: 50px; - height: 50px; - border-radius: 50%; - box-shadow: 0px 0px 0px 1px #79bdd8; - border: 5px solid #FFF; - background-position: center center; - background-repeat: no-repeat; - float: left; - margin: 0 15px 25px 0; - background-color: #eee; - } - div.details-icon.folder { - background-color: #9EDCEF; - background-size: 50%; - } - div.details-info { - padding-top: 12px; - position: relative; - } - div.details-field { - display: inline-block; - margin-bottom: 8px; - max-width: 200px; - overflow: hidden; - text-overflow: ellipsis; - vertical-align: top; - &:first-child { - margin-right: 16px; - padding-right: 16px; - border-right: 1px solid #c8c8c8; - } - &.rm-url { - max-width: none; - } - } - div.details-field a { - color: #0087c6; - text-decoration: none; - } - div.details-field a:hover { - color: #2fa6eb; - } - div.details-field + div.vertical-separator { - margin: 0 16px; - border-left: 1px solid #e2e2e2; - display: inline; - height: 16px; - } - div.details-field + div.line-break { - clear: right; - } - div.details-field.right { - position: absolute; - right: 0; - top: 12px; - } - span.details-label { - font-weight: bold; - margin-right: 10px; - } - span.details-label.checkbox { - vertical-align: top; - line-height: 22px; - margin-right: 27px; - color: #46292b; - } - div.file-panel { - padding: 25px; - background-color: #fff; - } - div.separator { - clear: both; - border-bottom: 1px solid #C8C8C8; - margin-bottom: 8px; - } - label { - font-weight: bold; - } - label.formRequired::after { - content: "*"; - display: inline-block; - margin: 0 0 0 5px; - color: Red; - font-size: 16px; - line-height: 1em; - font-family: proxima_nova_semibold; - } - div.cancel { - width: 50%; - float: left; - margin: 10px 0 0 0; - position: relative; - } - div.cancel > a { - display: block; - float: right; - margin-right: 5px; - } - div.close { - width: 100%; - float: left; - text-align: center; - } - div.close > a { - margin-right: auto; - margin-left: auto; - } - div.save { - width: 50%; - float: left; - margin: 10px 0 0 0; - position: relative; - } - div.details-selector { - position: relative; - &> div { - margin: auto; - content: ''; - width: 0; - height: 0; - border-style: solid; - border-width: 8px 8px 0 8px; - border-color: #3089C6 transparent transparent transparent; - position: relative; - - } - } - - .rm-clear { - clear: both - } -} - -.dnn-slide-in-out-enter { - max-height: 0; -} - -.dnn-slide-in-out-enter.dnn-slide-in-out-enter-active { - max-height: 970px; - transition: max-height 500ms ease-in; -} - -.dnn-slide-in-out-leave { - max-height: 970px; -} - -.dnn-slide-in-out-leave.dnn-slide-in-out-leave-active { - max-height: 0; - transition: max-height 300ms ease-in; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/button.less b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/button.less deleted file mode 100644 index 97193fe185a..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/button.less +++ /dev/null @@ -1,52 +0,0 @@ -@import "~@dnnsoftware/dnn-react-common/styles/index"; - -button.rm-common-button { - border: 1px solid @curiousBlue; - height: 34px; - min-width: 100px; - padding: 0 22px; - font-size: 10pt; - color: @curiousBlue; - background: @white; - border-radius: 3px; - cursor: pointer; - font-family: Helvetica, Arial, sans-serif; - &:hover { - color: @cerulean; - border-color: @cerulean; - } - &:focus{ - outline: none; - } - &:active { - color: @matisse; - border-color: @matisse; - } - &:disabled { - color: @alto; - border-color: @alto; - cursor: not-allowed; - } - - &.large{ - height: 44px; - } - - &[role=primary] { - background: @curiousBlue; - border: none; - color: @white; - - &:hover { - background: @cerulean; - } - &:active { - background: @matisse; - } - &:disabled { - color: @mountainMist; - background: @mercury; - cursor: not-allowed; - } - } -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/components.less b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/components.less deleted file mode 100644 index 522067ab022..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/components.less +++ /dev/null @@ -1,183 +0,0 @@ -.loading::after { - content: ""; - display: block; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(255,255,255,0.7) url(/DesktopModules/ResourceManager/Images/loading.gif) no-repeat center center; - z-index: 99999; -} - -.three-columns { - display: block; - width: 33%; - float: left; -} - -.dnn-dropdown { - height: 31px; - background-color: white; - - .collapsible-content { - margin: 0; - box-shadow: none; - width: 250px; - } - - ul, li { - margin: 0px; - list-style: none; - box-sizing: border-box; - } -} - -.rm-field .dnn-dropdown { - width: 100% -} - -label.rm-error { - color: red -} - -.file-upload-container { - .file-upload-panel { - position: relative; - border: 1px solid rgb(102, 102, 102); - padding: 10px; - margin-bottom: 30px; - min-height: 163px; - color: #959695; - transition: 200ms linear; - cursor: pointer; - - &:hover { - color: #FFF; - background-color: rgba(30,136,195,0.6); - } - - span { - overflow: hidden !important; - width: 140px !important; - display: block !important; - position: relative; - text-transform: none; - font-size: 14px; - padding-top: 95px; - text-align: center; - margin: 0 auto; - } - } - - .upload-file { - background-image: url(/DesktopModules/ResourceManager/Images/upload.svg); - height: 40px; - width: 40px; - display: block; - margin: 0 auto; - } - - span { - display: block; - text-align: center; - } -} - -.progresses-container { - margin: 20px 0; - max-height: 240px; - overflow-y: auto; -} - -.uploading-container { - overflow: hidden; - border-bottom: 1px solid #c8c8c8; - padding: 6px 0; - color: #0a85c3; - font-weight: bold; - font-family: proxima_nova,Arial; - font-size: 13px; - - .file-upload-thumbnail { - background: 0; - border-radius: 0; - border: 2px solid #0a85c3; - padding: 2px; - float: left; - position: relative; - height: 76px; - width: 76px; - line-height: 76px; - text-align: center; - - img { - max-height: 100%; - max-width: 100%; - } - } - .file-name-container, .progress-bar-container { - width: ~"calc(100% - 100px)"; - float: right; - } - .file-name-container { - span { - display: block; - width: 100%; - } - } - .progress-bar-container { - margin-top: 18px; - height: 5px; - background-color: #c7c7c7; - - .progress-bar { - background-color: #0a85c3; - height: 100%; - transition: 0.5s; - } - } - - &.rm-error { - color: red; - - .file-upload-thumbnail { - border: 2px solid #c8c8c8; - background-image: url(/DesktopModules/ResourceManager/Images/loader_failed.svg); - } - - .progress-bar { - background-color: red; - } - } - - &.rm-uploading { - .file-upload-thumbnail { - border: 2px solid #c8c8c8; - background: url(/DesktopModules/ResourceManager/Images/dnnanim.gif) no-repeat center; - } - } - - &.rm-stopped { - color: #777; - - .file-upload-thumbnail { - border: 2px solid #c8c8c8; - } - } -} - -.rm-error label { - color: red -} - -.dnn-switch-container { - display: inline-block; - float: none; - padding: 0; -} - -.dnn-dropdown .collapsible-label { - padding: 7px 15px; - box-sizing: border-box; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/mixins.less b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/mixins.less deleted file mode 100644 index 074cc2b804f..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/mixins.less +++ /dev/null @@ -1,25 +0,0 @@ -.border-box(){ - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -.transition(@transition){ - -moz-transition: @transition; - -webkit-transition: @transition; - transition: @transition; -} - -.animateHeight(@max-Height, @duration){ - & { - max-height: 0; - overflow: hidden; - height: 100%; - .transition(max-height @duration ease); - } - - &.rm-expanded{ - max-height: @max-Height; - } - -} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/modal.less b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/modal.less deleted file mode 100644 index e48020bd392..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/modal.less +++ /dev/null @@ -1,29 +0,0 @@ -.ReactModalPortal { - .modal-header { - background-color: #092836; - border: none; - - h3 { - color: white; - margin: 0; - } - } - - .rm-dialog-modal-label { - float: none; - width: 100%; - text-align: center; - label { - margin: 0; - } - } - - .rm-form-buttons-container { - text-align: center; - margin-top: 20px; - - .rm-common-button { - margin-left: 10px; - } - } -} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/styles.less b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/styles.less deleted file mode 100644 index b813c111dc5..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/styles.less +++ /dev/null @@ -1,9 +0,0 @@ -@import "mixins.less"; - -.rm-container { - @import "Assets.less"; - @import "components.less"; -} - -@import "modal.less"; -@import "button.less"; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/main.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/main.jsx deleted file mode 100644 index 24fd667c86c..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/main.jsx +++ /dev/null @@ -1,21 +0,0 @@ -import React from "react"; -import { render } from "react-dom"; -import { Provider } from "react-redux"; -import configureStore from "./store/configureStore"; -import resourceManager from "./globals/resourceManager"; -import App from "./components/App"; - -import "fetch-ie8"; -import "es6-shim"; - -const store = configureStore(); -resourceManager.dispatch = store.dispatch; -resourceManager.render = function (appContainer) { - render( - - - , - appContainer - ); -}; - diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/AddFolderPanel.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/AddFolderPanel.js deleted file mode 100644 index 26c199c1867..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/AddFolderPanel.js +++ /dev/null @@ -1,44 +0,0 @@ -import addFolderPanelActionsTypes from "../action types/addFolderPanelActionsTypes"; -import folderPanelActionsTypes from "../action types/folderPanelActionsTypes"; - -const initialState = { - expanded: false -}; - -export default function addFolderPanelReducer(state = initialState, action) { - const data = action.data; - switch (action.type) { - case addFolderPanelActionsTypes.SHOW_ADD_FOLDER_PANEL: - return { ...state, expanded: true }; - case addFolderPanelActionsTypes.FOLDER_CREATED: - return { ...state, newFolderId: data.FolderID, expanded: false }; - case folderPanelActionsTypes.CLOSE_TOP_PANELS: - case addFolderPanelActionsTypes.HIDE_ADD_FOLDER_PANEL: { - let formData = { - name: "", - folderType: state.defaultFolderType - }; - let res = { ...state, formData, expanded: false, newFolderId: null }; - delete res.validationErrors; - - return res; - } - case addFolderPanelActionsTypes.FOLDER_MAPPINGS_LOADED: { - let defaultFolderType = data && data[0] ? data[0].FolderMappingID : null; - let formData = { ...state.formData, folderType: defaultFolderType }; - return { ...state, formData, folderMappings: data, defaultFolderType }; - } - case addFolderPanelActionsTypes.CHANGE_NAME: { - let formData = { ...state.formData, name: data }; - return { ...state, formData }; - } - case addFolderPanelActionsTypes.CHANGE_FOLDER_TYPE: { - let formData = { ...state.formData, folderType: data }; - return { ...state, formData }; - } - case addFolderPanelActionsTypes.SET_VALIDATION_ERRORS: - return { ...state, validationErrors: data }; - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/addAssetPanel.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/addAssetPanel.js deleted file mode 100644 index a515cfcb4d2..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/addAssetPanel.js +++ /dev/null @@ -1,47 +0,0 @@ -import addAssetPanelActionsTypes from "../action types/addAssetPanelActionsTypes"; -import folderPanelActionsTypes from "../action types/folderPanelActionsTypes"; - -const initialState = { - expanded: false, - progress: {}, - uploadedFiles: [] -}; - -function mutateFileProgress(progress, fileProgress) { - return { ...progress, [fileProgress.fileName]: fileProgress }; -} - -export default function addFolderPanelReducer(state = initialState, action) { - const data = action.data; - switch (action.type) { - case addAssetPanelActionsTypes.SHOW_ADD_ASSET_PANEL: - return { ...state, expanded: true }; - case folderPanelActionsTypes.CLOSE_TOP_PANELS: - case addAssetPanelActionsTypes.HIDE_ADD_ASSET_PANEL: { - return { ...state, expanded: false }; - } - case addAssetPanelActionsTypes.RESET_PANEL: - return { ...state, error: null, progress: {}, uploadedFiles: [] }; - case addAssetPanelActionsTypes.ASSET_ADDED: { - let uploadedFiles = [ ...state.uploadedFiles, data ]; - let fileProgress = { ...state.progress[data.fileName], completed: true, path: data.path, fileIconUrl: data.fileIconUrl }; - return { ...state, uploadedFiles, progress: mutateFileProgress(state.progress, fileProgress) }; - } - case addAssetPanelActionsTypes.ASSET_ADDED_ERROR: { - const fileProgress = { ...state.progress[data.fileName], fileName: data.fileName, error: data.message}; - return { ...state, progress: mutateFileProgress(state.progress, fileProgress) }; - } - case addAssetPanelActionsTypes.UPDATE_PROGRESS: - return { ...state, progress: mutateFileProgress(state.progress, data) }; - case addAssetPanelActionsTypes.FILE_ALREADY_EXIST: { - const fileProgress = { ...state.progress[data.fileName], path: data.path, fileIconUrl: data.fileIconUrl, percent: 0, alreadyExists: true }; - return { ...state, progress: mutateFileProgress(state.progress, fileProgress) }; - } - case addAssetPanelActionsTypes.STOP_UPLOAD: { - const fileProgress = { ...state.progress[data], alreadyExists:false, stopped: true }; - return { ...state, progress: mutateFileProgress(state.progress, fileProgress) }; - } - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/breadcrumbs.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/breadcrumbs.js deleted file mode 100644 index a78ef40d5d7..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/breadcrumbs.js +++ /dev/null @@ -1,50 +0,0 @@ -import globalActionsTypes from "../action types/globalActionsTypes"; -import folderPanelActionsTypes from "../action types/folderPanelActionsTypes"; - -const initialState = { - breadcrumbs: [] -}; - -export default function breadcrumbsReducer(state = initialState, action) { - const data = action.data; - switch (action.type) { - case globalActionsTypes.MODULE_PARAMETERS_LOADED : { - const {openFolderId} = data; - let breadcrumbs = initialState.breadcrumbs; - if (openFolderId) { - breadcrumbs = [{folderId: data.homeFolderId}]; - } - - return { ...state, breadcrumbs }; - } - case folderPanelActionsTypes.CONTENT_LOADED : { - let found = false; - const { folderId, folderName, folderPath, folderParentId } = data.folder; - let folderLoaded = { folderId, folderName: !folderName && !folderPath ? "Site Root" : folderName }; - let breadcrumbs = state.breadcrumbs.slice(); - - for (let i = 0; i < breadcrumbs.length; i++) { - let breadcrumb = breadcrumbs[i]; - if (breadcrumb.folderId === folderId) { - breadcrumbs = breadcrumbs.slice(0, i); - found = true; - break; - } - else if (breadcrumb.folderId === folderParentId) { - breadcrumbs = breadcrumbs.slice(0, i+1); - found = true; - break; - } - } - - if (!found) { - breadcrumbs = breadcrumbs.slice(0, 1); - } - - breadcrumbs.push(folderLoaded); - return { ...state, breadcrumbs }; - } - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/dialogModal.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/dialogModal.js deleted file mode 100644 index 7b2b4a81c73..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/dialogModal.js +++ /dev/null @@ -1,23 +0,0 @@ -import dialogModalActionsTypes from "../action types/dialogModalActionsTypes"; -import folderPanelActionsTypes from "../action types/folderPanelActionsTypes"; - -export default function dialogModalReducer(state = {}, action) { - const data = action.data; - - switch (action.type) { - case dialogModalActionsTypes.OPEN_DIALOG_MODAL : { - return Object.assign({}, state, data); - } - case dialogModalActionsTypes.CLOSE_DIALOG_MODAL : - case folderPanelActionsTypes.FOLDER_DELETED : - case folderPanelActionsTypes.DELETE_FOLDER_ERROR : { - let res = { ...state }; - delete res.dialogMessage; - delete res.yesFunction; - delete res.noFunction; - return res; - } - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/folderPanel.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/folderPanel.js deleted file mode 100644 index e42b98f475a..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/folderPanel.js +++ /dev/null @@ -1,58 +0,0 @@ -import globalActionsTypes from "../action types/globalActionsTypes"; -import folderPanelActionsTypes from "../action types/folderPanelActionsTypes"; -import itemDetailsActionsTypes from "../action types/itemDetailsActionsTypes"; - -const initialState = { - loadedItems: 0, - numItems: 0, - sorting: "", - hasAddPermission: false -}; - -export default function folderPanelReducer(state = initialState, action) { - const data = action.data; - switch (action.type) { - case globalActionsTypes.MODULE_PARAMETERS_LOADED : { - return { ...state, homeFolderId: data.homeFolderId, currentFolderId: data.openFolderId || data.homeFolderId, - numItems: data.numItems, itemWidth: data.itemWidth, sortOptions: data.sortingOptions, sorting: data.sorting }; - } - case folderPanelActionsTypes.SET_LOADING : { - return { ...state, loading: data}; - } - case folderPanelActionsTypes.FILES_SEARCHED : { - let res = Object.assign({}, state, data); - delete res.newItem; - return { ...res, loadedItems: data.items.length }; - } - case folderPanelActionsTypes.CONTENT_LOADED : { - let res = Object.assign({}, state, data); - delete res.newItem; - delete res.search; - const {folder, items, hasAddPermission} = data; - const currentFolderName = !folder.folderName && !folder.folderPath ? "Root" : folder.folderName; - return { ...res, currentFolderId: folder.folderId, currentFolderName, loadedItems: items.length, hasAddPermission }; - } - case folderPanelActionsTypes.MORE_CONTENT_LOADED: { - let items = state.items.slice(); - items = items.concat(data.items); - return { ...state, items, loadedItems: items.length, hasAddPermission: data.hasAddPermission }; - } - case folderPanelActionsTypes.CHANGE_SEARCH: { - return { ...state, search: data }; - } - case itemDetailsActionsTypes.ITEM_SAVED : { - let itemUpdated = data; - let items = state.items.slice(); - let updatedItemIndex = items.findIndex(x => x.isFolder === itemUpdated.isFolder && x.itemId === itemUpdated.itemId); - - items[updatedItemIndex] = { ...items[updatedItemIndex], itemName: itemUpdated.itemName }; - - return { ...state, items }; - } - case folderPanelActionsTypes.CHANGE_SORTING : { - return { ...state, sorting: data }; - } - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/infiniteScroll.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/infiniteScroll.js deleted file mode 100644 index 0261e045f83..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/infiniteScroll.js +++ /dev/null @@ -1,22 +0,0 @@ -import infiniteScrollActionsTypes from "../action types/infiniteScrollActionsTypes"; -import folderPanelActionsTypes from "../action types/folderPanelActionsTypes"; - -const initialState = { - maxScrollTop: 0 -}; - -export default function dialogModalReducer(state = initialState, action) { - const data = action.data; - - switch (action.type) { - case infiniteScrollActionsTypes.SET_MAX_SCROLL_TOP : { - return { ...state, maxScrollTop: data}; - } - case folderPanelActionsTypes.CONTENT_LOADED : - case folderPanelActionsTypes.FILES_SEARCHED : { - return { ...state, maxScrollTop: 0 }; - } - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/itemDetails.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/itemDetails.js deleted file mode 100644 index f9be76284df..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/itemDetails.js +++ /dev/null @@ -1,51 +0,0 @@ -import itemDetailsActionsTypes from "../action types/itemDetailsActionsTypes"; - -const initialState = { - maxScrollTop: 0 -}; - -export default function itemDetailsReducer(state = initialState, action) { - const data = action.data; - - switch (action.type) { - case itemDetailsActionsTypes.EDIT_ITEM: { - return { ...state, itemEditing: data }; - } - case itemDetailsActionsTypes.MOVE_ITEM: { - return { ...state, itemMoving: data }; - } - case itemDetailsActionsTypes.CHANGE_NAME: { - let itemEditing = { ...state.itemEditing, fileName: data, folderName: data}; - return { ...state, itemEditing }; - } - case itemDetailsActionsTypes.CHANGE_TITLE: { - let itemEditing = { ...state.itemEditing, title: data }; - return { ...state, itemEditing }; - } - case itemDetailsActionsTypes.CHANGE_DESCRIPTION: { - let itemEditing = { ...state.itemEditing, description: data }; - return { ...state, itemEditing }; - } - case itemDetailsActionsTypes.CHANGE_PERMISSIONS: { - let itemEditing = { ...state.itemEditing, permissions: data }; - return { ...state, itemEditing }; - } - case itemDetailsActionsTypes.SET_VALIDATION_ERRORS: { - return { ...state, validationErrors: data }; - } - case itemDetailsActionsTypes.ITEM_SAVED : - case itemDetailsActionsTypes.CANCEL_EDIT_ITEM: { - let res = { ...state }; - delete res.itemEditing; - return res; - } - case itemDetailsActionsTypes.ITEM_MOVED : - case itemDetailsActionsTypes.CANCEL_MOVE_ITEM : { - let res = { ...state }; - delete res.itemMoving; - return res; - } - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/manageFolderTypesPanel.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/manageFolderTypesPanel.js deleted file mode 100644 index 3e90e5c347d..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/manageFolderTypesPanel.js +++ /dev/null @@ -1,20 +0,0 @@ -import manageFolderTypesPanelActionTypes from "../action types/manageFolderTypesPanelActionsTypes"; -import folderPanelActionTypes from "../action types/folderPanelActionsTypes"; - -const initialState = { - expanded: false -}; - -export default function manageFolderTypesPanelReducer(state = initialState, action) { - switch (action.type) { - case manageFolderTypesPanelActionTypes.SHOW_MANAGE_FOLDER_TYPES_PANEL: - return { ...state, expanded: true }; - case folderPanelActionTypes.CLOSE_TOP_PANELS: - case manageFolderTypesPanelActionTypes.HIDE_MANAGE_FOLDER_TYPES_PANEL: - return { ...state, expanded: false }; - case manageFolderTypesPanelActionTypes.ADD_FOLDER_TYPE_URL_LOADED: - return { ...state, addFolderTypeUrl: action.data }; - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/messageModal.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/messageModal.js deleted file mode 100644 index 6f0fb9296a4..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/messageModal.js +++ /dev/null @@ -1,34 +0,0 @@ -import messageModalActionsTypes from "../action types/messageModalActionsTypes"; -import folderPanelActionsTypes from "../action types/folderPanelActionsTypes"; -import itemDetailsActionsTypes from "../action types/itemDetailsActionsTypes"; -import addFolderPanelActionsTypes from "../action types/addFolderPanelActionsTypes"; -import localizeService from "../services/localizeService"; - -export default function messageModalReducer(state = {}, action) { - const data = action.data; - - switch (action.type) { - case messageModalActionsTypes.CLOSE_MESSAGE_MODAL : { - let res = { ...state }; - delete res.infoMessage; - delete res.errorMessage; - return res; - } - case itemDetailsActionsTypes.EDIT_ITEM_ERROR : - case itemDetailsActionsTypes.SAVE_ITEM_ERROR : - case folderPanelActionsTypes.DELETE_FILE_ERROR: - case folderPanelActionsTypes.DELETE_FOLDER_ERROR: - case folderPanelActionsTypes.LOAD_CONTENT_ERROR : - case addFolderPanelActionsTypes.ADD_FOLDER_ERROR: { - return { ...state, infoMessage: data}; - } - case itemDetailsActionsTypes.ITEM_SAVED : { - return { ...state, infoMessage: localizeService.getString("ItemSavedMessage") }; - } - case folderPanelActionsTypes.URL_COPIED_TO_CLIPBOARD : { - return { ...state, infoMessage: localizeService.getString("UrlCopiedMessage") }; - } - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/module.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/module.js deleted file mode 100644 index 078b81b3f8a..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/module.js +++ /dev/null @@ -1,20 +0,0 @@ -import globalActionsTypes from "../action types/globalActionsTypes"; - -const initialState = { - isEditMode: false, - moduleId: -1, - moduleName: "", - tabId: -1, - portalId: -1, - isAdmin: false -}; - -export default function moduleReducer(state = initialState, action) { - const data = action.data; - - switch (action.type) { - case globalActionsTypes.MODULE_PARAMETERS_LOADED: - return Object.assign({}, state, data); - } - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/rootReducer.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/rootReducer.js deleted file mode 100644 index 34e49f3c7b8..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/rootReducer.js +++ /dev/null @@ -1,28 +0,0 @@ -import { combineReducers } from "redux"; -import module from "./module"; -import folderPanel from "./folderPanel"; -import breadcrumbs from "./breadcrumbs"; -import addFolderPanel from "./addFolderPanel"; -import addAssetPanel from "./addAssetPanel"; -import dialogModal from "./dialogModal"; -import infiniteScroll from "./infiniteScroll"; -import messageModal from "./messageModal"; -import itemDetails from "./itemDetails"; -import topBar from "./topBar"; -import manageFolderTypesPanel from "./manageFolderTypesPanel"; - -const rootReducer = combineReducers({ - module, - folderPanel, - breadcrumbs, - addFolderPanel, - addAssetPanel, - dialogModal, - infiniteScroll, - messageModal, - itemDetails, - topBar, - manageFolderTypesPanel, -}); - -export default rootReducer; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/topBar.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/topBar.js deleted file mode 100644 index 8ba386dcec3..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/topBar.js +++ /dev/null @@ -1,17 +0,0 @@ -import topBarActionsTypes from "../action types/topBarActionsTypes"; -import folderPanelActionsTypes from "../action types/folderPanelActionsTypes"; - -export default function topBarReducer(state = {}, action) { - const data = action.data; - - switch (action.type) { - case topBarActionsTypes.CHANGE_SEARCH_FIELD: { - return { ...state, search: data }; - } - case folderPanelActionsTypes.CONTENT_LOADED: { - return { ...state, search: undefined }; - } - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/internalService.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/internalService.js deleted file mode 100644 index f08c1094e3b..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/internalService.js +++ /dev/null @@ -1,28 +0,0 @@ -import api from "../globals/api"; - -const API_PATH = "InternalServices/API/"; -const GET_FOLDERS_ENDPOINT = API_PATH + "ItemListService/GetFolders"; -const SEARCH_FOLDERS_ENDPOINT = API_PATH + "ItemListService/SearchFolders"; -const GET_FOLDER_DESCENDANT_ENDPOINT = API_PATH + "ItemListService/GetFolderDescendants"; - -function getUrl(endpoint) { - return api.getServiceRoot(true) + endpoint; -} - -function getFolders() { - return api.get(getUrl(GET_FOLDERS_ENDPOINT)); -} - -function searchFolders(searchText) { - return api.get(getUrl(SEARCH_FOLDERS_ENDPOINT), {searchText}); -} - -function getFolderDescendant(parentId) { - return api.get(getUrl(GET_FOLDER_DESCENDANT_ENDPOINT), {parentId}); -} - -export default { - getFolders, - searchFolders, - getFolderDescendant -}; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/itemsService.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/itemsService.js deleted file mode 100644 index 97389ae4268..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/itemsService.js +++ /dev/null @@ -1,159 +0,0 @@ -import api from "../globals/api"; - -const GET_CONTENT_ENDPOINT = "Items/GetFolderContent"; -const SYNC_CONTENT_ENDPOINT = "Items/SyncFolderContent"; -const DOWNLOAD_FILE_ENDPOINT = "Items/Download"; -const FILE_DETAILS_ENDPOINT = "Items/GetFileDetails"; -const FOLDER_DETAILS_ENDPOINT = "Items/GetFolderDetails"; -const LOAD_FOLDER_MAPPINGS_ENDPOINT = "Items/GetFolderMappings"; -const ADD_FOLDER_ENDPOINT = "Items/CreateNewFolder"; -const DELETE_FOLDER_ENDPOINT = "Items/DeleteFolder"; -const DELETE_FILE_ENDPOINT = "Items/DeleteFile"; -const API_PATH = "InternalServices/API/"; -const FILE_UPLOAD = API_PATH + "FileUpload/UploadFromLocal"; -const SEARCH_FILES_ENDPOINT = "Items/Search"; -const SAVE_FILE_DETAILS_ENDPOINT = "Items/SaveFileDetails"; -const SAVE_FOLDER_DETAILS_ENDPOINT = "Items/SaveFolderDetails"; -const REMOVE_FOLDER_TYPE_ENDPOINT = "Items/RemoveFolderType"; -const ADD_FOLDER_TYPE_URL_ENDPOINT = "Items/GetAddFolderTypeUrl"; -const MOVE_FOLDER_URL_ENDPOINT = "Items/MoveFolder"; -const MOVE_FILE_URL_ENDPOINT = "Items/MoveFile"; - -function getUrl(endpoint, ignoreCurrentModuleAPI=false) { - return api.getServiceRoot(ignoreCurrentModuleAPI) + endpoint; -} - -function getContent(folderId, startIndex, numItems, sorting) { - return api.get(getUrl(GET_CONTENT_ENDPOINT), {folderId, startIndex, numItems, sorting}) - .then(response => { - return response; - }); -} - -function syncContent(folderId, numItems, sorting, recursive) { - return api.get(getUrl(SYNC_CONTENT_ENDPOINT), {folderId, numItems, sorting, recursive}) - .then(response => { - return response; - }); -} - -function getDownloadUrl(fileId) { - let {moduleId, tabId} = api.getHeadersObject(); - return getUrl(DOWNLOAD_FILE_ENDPOINT) + "?forceDownload=true&fileId=" + fileId + "&moduleId=" + moduleId + "&tabId=" + tabId; -} - -function loadFolderMappings() { - return (api.get(getUrl(LOAD_FOLDER_MAPPINGS_ENDPOINT))) - .then(response => { - return response; - }); -} - -function addFolder(data) { - return api.post(getUrl(ADD_FOLDER_ENDPOINT), data, { "Content-Type":"application/json" }); -} - -function deleteFolder(folderId) { - return api.post(getUrl(DELETE_FOLDER_ENDPOINT), {folderId}, { "Content-Type":"application/json" }); -} - -function deleteFile(fileId) { - return api.post(getUrl(DELETE_FILE_ENDPOINT), {fileId}, { "Content-Type":"application/json" }); -} - -function moveFolder(sourceFolderId, destinationFolderId) { - const data = { sourceFolderId, destinationFolderId } - return api.post(getUrl(MOVE_FOLDER_URL_ENDPOINT), data, { "Content-Type": "application/json" }); -} - -function moveFile(sourceFileId, destinationFolderId) { - const data = {sourceFileId, destinationFolderId}; - return api.post(getUrl(MOVE_FILE_URL_ENDPOINT), data, {"Content-Type": "application/json"}); -} - -function getFileDetails(fileId) { - return api.get(getUrl(FILE_DETAILS_ENDPOINT), {fileId}); -} - -function getFolderDetails(folderId) { - return api.get(getUrl(FOLDER_DETAILS_ENDPOINT), {folderId}); -} - -function uploadFile(file, folderPath, overwrite, trackProgress) { - const formData = new FormData(); - formData.append("postfile", file); - if (folderPath && typeof folderPath === "string") { - formData.append("folder", folderPath); - } - if (overwrite && typeof overwrite === "boolean") { - formData.append("overwrite", overwrite); - } - let {extensionWhitelist, validationCode} = api.getWhitelistObject(); - formData.append("filter", extensionWhitelist); - formData.append("validationCode", validationCode); - const url = getUrl(FILE_UPLOAD, true); - - return api.postFile(url, formData, trackProgress); -} - -function searchFiles(folderId, search, pageIndex, pageSize, sorting, culture) { - return api.get(getUrl(SEARCH_FILES_ENDPOINT), {folderId, search, pageIndex, pageSize, sorting, culture}) - .then(response => { - return response; - }); -} - -function getItemFullUrl(relativeUrl) { - return location.protocol + "//" + location.hostname + (location.port ? ":" + location.port : "") + relativeUrl; -} - -function getFolderUrl(folderId) { - return location.protocol + "//" + location.host + location.pathname + "?folderId=" + folderId; -} - -function getIconUrl(item) { - if (item.isFolder) { - return item.iconUrl; - } else { - return !item.thumbnailAvailable ? item.iconUrl : item.thumbnailUrl; - } -} - -function saveFileDetails(item) { - return api.post(getUrl(SAVE_FILE_DETAILS_ENDPOINT), item, { "Content-Type":"application/json" }); -} - -function saveFolderDetails(item) { - return api.post(getUrl(SAVE_FOLDER_DETAILS_ENDPOINT), item, { "Content-Type":"application/json" }); -} - -function removeFolderType(folderMappingId) { - return api.postPrimitive(getUrl(REMOVE_FOLDER_TYPE_ENDPOINT), folderMappingId.toString()); -} - -function getAddFolderTypeUrl() { - return api.get(getUrl(ADD_FOLDER_TYPE_URL_ENDPOINT)) -} - -export default { - getContent, - syncContent, - getDownloadUrl, - loadFolderMappings, - addFolder, - deleteFolder, - deleteFile, - getFileDetails, - getFolderDetails, - uploadFile, - searchFiles, - getItemFullUrl, - getFolderUrl, - getIconUrl, - saveFileDetails, - saveFolderDetails, - removeFolderType, - getAddFolderTypeUrl, - moveFolder, - moveFile, -}; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/localizeService.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/localizeService.js deleted file mode 100644 index a2a3db54389..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/localizeService.js +++ /dev/null @@ -1,19 +0,0 @@ -let localization = {}; -let initialized = false; - -function init(localizedResources) { - localization = localizedResources; - initialized = true; -} - -function getString(key) { - if (!initialized) { - throw new Error("please call init method before use this method"); - } - return localization[key] || "[" + key + "]"; -} - -export default { - init, - getString -}; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/store/configureStore.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/store/configureStore.js deleted file mode 100644 index e4c7fbe3a20..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/store/configureStore.js +++ /dev/null @@ -1,21 +0,0 @@ -import { createStore, applyMiddleware, compose } from "redux"; -import thunkMiddleware from "redux-thunk"; -import reduxImmutableStateInvariant from "redux-immutable-state-invariant"; -import rootReducer from "../reducers/rootReducer"; -import DevTools from "../containers/DevTools"; - -/* eslint-disable no-undef */ -const IS_PRODUCTION = process.env.NODE_ENV === "production"; - -export default function configureStore(initialState) { - const store = createStore( - rootReducer, - initialState, - compose( - IS_PRODUCTION ? - applyMiddleware(thunkMiddleware) : - applyMiddleware(thunkMiddleware, reduxImmutableStateInvariant()), DevTools.instrument() - ) - ); - return store; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json index 7fc93ab5001..22ec98e6985 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json @@ -1,72 +1,34 @@ { - "name": "resource-library", - "version": "9.10.2", - "description": "Resource Library", - "private": true, + "name": "dnn-resource-manager", + "version": "0.0.1", + "description": "Stencil Component Starter", + "main": "dist/index.cjs.js", + "module": "dist/index.js", + "es2015": "dist/esm/index.mjs", + "es2017": "dist/esm/index.mjs", + "types": "dist/types/components.d.ts", + "collection": "dist/collection/collection-manifest.json", + "collection:main": "dist/collection/index.js", + "unpkg": "dist/dnn-resource-manager/dnn-resource-manager.esm.js", + "repository": { + "type": "git", + "url": "https://github.com/ionic-team/stencil-component-starter.git" + }, + "files": [ + "dist/", + "loader/" + ], "scripts": { - "build": "set NODE_ENV=production&&webpack -p", - "debug": "set NODE_ENV=debug&&webpack -p", - "webpack": "webpack-dev-server -d --port 8080 --hot --inline --content-base dist/ --history-api-fallback", - "watch": "set NODE_ENV=debug & webpack --mode=development --progress --colors --watch", - "analyze": "set NODE_ENV=production&&webpack -p --json | webpack-bundle-size-analyzer", - "lint": "eslint --fix" + "build": "stencil build --docs", + "watch": "stencil build --dev --watch", + "start": "stencil build --dev --watch --serve", + "generate": "stencil generate" + }, + "dependencies": { + "@stencil/core": "^2.13.0" }, - "author": "", "license": "MIT", "devDependencies": { - "@babel/core": "^7.2.0", - "@babel/plugin-proposal-class-properties": "^7.10.4", - "@babel/plugin-transform-arrow-functions": "^7.10.4", - "@babel/preset-env": "^7.2.0", - "@babel/preset-react": "^7.0.0", - "@dnnsoftware/dnn-react-common": "9.10.2", - "babel-eslint": "^10.1.0", - "babel-loader": "8.0.6", - "babel-plugin-transform-object-assign": "6.22.0", - "babel-plugin-transform-object-rest-spread": "6.26.0", - "babel-plugin-transform-react-remove-prop-types": "0.4.24", - "babel-polyfill": "6.26.0", - "css-loader": "2.1.1", - "eslint": "5.8.0", - "eslint-loader": "2.1.1", - "eslint-plugin-babel": "5.3.0", - "eslint-plugin-filenames": "1.3.2", - "eslint-plugin-import": "^2.24.0", - "eslint-plugin-react": "7.11.1", - "eslint-plugin-spellcheck": "0.0.11", - "prop-types": "^15.7.2", - "webpack": "4.43.0", - "webpack-bundle-size-analyzer": "3.1.0", - "webpack-cli": "3.3.11", - "webpack-dev-server": "3.11.0" - }, - "dependencies": { - "copy-to-clipboard": "^3.0.5", - "es6-shim": "0.35.6", - "fetch-ie8": "1.4.2", - "file-loader": "3.0.1", - "less": "3.9.0", - "less-loader": "5.0.0", - "lodash": "^4.17.4", - "raw-loader": "2.0.0", - "react": "^16.6.3", - "react-dom": "^16.6.3", - "react-dropzone": "6.2.4", - "react-height": "^3.0.1", - "react-hot-loader": "4.8.5", - "react-modal": "^3.5.1", - "react-motion": "^0.5.2", - "react-redux": "^5.1.1", - "react-tooltip": "^4.2.6", - "react-transition-group": "^1.2.0", - "redux": "^4.0.1", - "redux-devtools": "^3.5.0", - "redux-devtools-dock-monitor": "^1.1.3", - "redux-devtools-log-monitor": "^1.4.0", - "redux-immutable-state-invariant": "^2.1.0", - "redux-thunk": "^2.3.0", - "style-loader": "0.23.1", - "superagent": "^6.1.0", - "url-loader": "1.1.2" + "@stencil/sass": "^1.5.2" } } diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/readme.md new file mode 100644 index 00000000000..a9fe3b0039d --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/readme.md @@ -0,0 +1,13 @@ +![Built With Stencil](https://img.shields.io/badge/-Built%20With%20Stencil-16161d.svg?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjIuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI%2BCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI%2BCgkuc3Qwe2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU%2BCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MjQuNywzNzMuOWMwLDM3LjYtNTUuMSw2OC42LTkyLjcsNjguNkgxODAuNGMtMzcuOSwwLTkyLjctMzAuNy05Mi43LTY4LjZ2LTMuNmgzMzYuOVYzNzMuOXoiLz4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTQyNC43LDI5Mi4xSDE4MC40Yy0zNy42LDAtOTIuNy0zMS05Mi43LTY4LjZ2LTMuNkgzMzJjMzcuNiwwLDkyLjcsMzEsOTIuNyw2OC42VjI5Mi4xeiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNDI0LjcsMTQxLjdIODcuN3YtMy42YzAtMzcuNiw1NC44LTY4LjYsOTIuNy02OC42SDMzMmMzNy45LDAsOTIuNywzMC43LDkyLjcsNjguNlYxNDEuN3oiLz4KPC9zdmc%2BCg%3D%3D&colorA=16161d&style=flat-square) + +# dnn-resource-manager Web Component + +This component is made to interact with a DNN backend. + +# Stencil + +Stencil is a compiler for building fast web apps using Web Components. + +Stencil combines the best concepts of the most popular frontend frameworks into a compile-time rather than run-time tool. Stencil takes TypeScript, JSX, a tiny virtual DOM layer, efficient one-way data binding, an asynchronous rendering pipeline (similar to React Fiber), and lazy-loading out of the box, and generates 100% standards-based Web Components that run in any browser supporting the Custom Elements v1 spec. + +Stencil components are just Web Components, so they work in any major framework or with no framework at all. \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components.d.ts b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components.d.ts new file mode 100644 index 00000000000..ef53ef7c964 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components.d.ts @@ -0,0 +1,37 @@ +/* eslint-disable */ +/* tslint:disable */ +/** + * This is an autogenerated file created by the Stencil compiler. + * It contains typing information for all components that exist in this project. + */ +import { HTMLStencilElement, JSXBase } from "@stencil/core/internal"; +export namespace Components { + interface DnnResourceManager { + } +} +declare global { + interface HTMLDnnResourceManagerElement extends Components.DnnResourceManager, HTMLStencilElement { + } + var HTMLDnnResourceManagerElement: { + prototype: HTMLDnnResourceManagerElement; + new (): HTMLDnnResourceManagerElement; + }; + interface HTMLElementTagNameMap { + "dnn-resource-manager": HTMLDnnResourceManagerElement; + } +} +declare namespace LocalJSX { + interface DnnResourceManager { + } + interface IntrinsicElements { + "dnn-resource-manager": DnnResourceManager; + } +} +export { LocalJSX as JSX }; +declare module "@stencil/core" { + export namespace JSX { + interface IntrinsicElements { + "dnn-resource-manager": LocalJSX.DnnResourceManager & JSXBase.HTMLAttributes; + } + } +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.scss new file mode 100644 index 00000000000..5d4e87f30f6 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.scss @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.tsx new file mode 100644 index 00000000000..31d78f97bdb --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.tsx @@ -0,0 +1,18 @@ +import { Component, Host, h } from '@stencil/core'; + +@Component({ + tag: 'dnn-resource-manager', + styleUrl: 'dnn-resource-manager.scss', + shadow: true, +}) +export class DnnResourceManager { + + render() { + return ( + + + + ); + } + +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/readme.md new file mode 100644 index 00000000000..63d147faa93 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/readme.md @@ -0,0 +1,10 @@ +# dnn-resource-manager + + + + + + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/index.html b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/index.html new file mode 100644 index 00000000000..88a96fcf49a --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/index.html @@ -0,0 +1,14 @@ + + + + + + Stencil Component Starter + + + + + + Hello from the component. + + diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/index.ts b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/index.ts new file mode 100644 index 00000000000..7531c10b867 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/index.ts @@ -0,0 +1 @@ +export { Components, JSX } from './components'; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/stencil.config.ts b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/stencil.config.ts new file mode 100644 index 00000000000..16f50558404 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/stencil.config.ts @@ -0,0 +1,25 @@ +import { Config } from '@stencil/core'; +import { sass } from "@stencil/sass"; + +export const config: Config = { + namespace: 'dnn-resource-manager', + outputTargets: [ + { + type: 'dist', + esmLoaderPath: '../loader', + }, + { + type: 'dist-custom-elements', + }, + { + type: 'docs-readme', + }, + { + type: 'www', + serviceWorker: null, // disable service workers + }, + ], + plugins: [ + sass(), + ] +}; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/tsconfig.json b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/tsconfig.json new file mode 100644 index 00000000000..09367cee54a --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "allowSyntheticDefaultImports": true, + "allowUnreachableCode": false, + "declaration": false, + "experimentalDecorators": true, + "lib": [ + "dom", + "es2017" + ], + "moduleResolution": "node", + "module": "esnext", + "target": "es2017", + "noUnusedLocals": true, + "noUnusedParameters": true, + "jsx": "react", + "jsxFactory": "h" + }, + "include": [ + "src" + ], + "exclude": [ + "node_modules" + ] +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/webpack.config.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/webpack.config.js deleted file mode 100644 index 338d23503ea..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/webpack.config.js +++ /dev/null @@ -1,130 +0,0 @@ -const webpack = require("webpack"); -const packageJson = require("./package.json"); -const path = require("path"); -const isProduction = process.env.NODE_ENV === "production"; -const settings = require("../../../../settings.local.json"); - -module.exports = { - entry: "./app/main.jsx", - optimization: { - minimize: isProduction - }, - output: { - path: - isProduction || settings.WebsitePath == "" - ? path.resolve( - __dirname, - "../scripts/" - ) - : path.join(settings.WebsitePath, "\\DesktopModules\\ResourceManager\\scripts"), - publicPath: isProduction ? "" : "http://localhost:8080/dist/", - filename: "resourceManager-bundle.js" - }, - devServer: { - disableHostCheck: !isProduction - }, - resolve: { - extensions: ["*", ".js", ".json", ".jsx"], - modules: [ - path.resolve("./src"), // Look in src first - path.resolve("./node_modules"), // Try local node_modules - path.resolve("../../../../node_modules") // Last fallback to workspaces node_modules - ] - }, - module: { - rules: [ - { - test: /\.(js|jsx)$/, - exclude: /node_modules/, - enforce: "pre", - loader: "eslint-loader", - options: { - fix: true - } - }, - { - test: /\.less$/, - use: [ - { - loader: "style-loader" // creates style nodes from JS strings - }, - { - loader: "css-loader", // translates CSS into CommonJS - options: { modules: "global" } - }, - { - loader: "less-loader" // compiles Less to CSS - } - ] - }, - { - test: /\.css$/, - use: [ - { - loader: "style-loader" - }, - { - loader: "css-loader", - options: { modules: "global" } - } - ] - }, - { - test: /\.(js|jsx)$/, - exclude: /node_modules/, - use: { - loader: "babel-loader", - options: { - presets: ["@babel/preset-env", "@babel/preset-react"] - } - } - }, - { - test: /\.(ttf|woff)$/, - use: { - loader: "url-loader?limit=8192" - } - }, - { - test: /\.(gif|png)$/, - use: { - loader: "url-loader?mimetype=image/png" - } - }, - { - test: /\.woff(2)?(\?v=[0-9].[0-9].[0-9])?$/, - use: { - loader: "url-loader?mimetype=application/font-woff" - } - }, - { - test: /\.(ttf|eot)(\?v=[0-9].[0-9].[0-9])?$/, - use: { - loader: "file-loader?name=[name].[ext]" - } - }, - { - test: /\.(svg)/, - use: { - loader: "raw-loader" - } - } - ] - }, - - plugins: isProduction - ? [ - new webpack.DefinePlugin({ - VERSION: JSON.stringify(packageJson.version), - "process.env": { - NODE_ENV: JSON.stringify("production") - } - }) - ] - : [ - new webpack.DefinePlugin({ - VERSION: JSON.stringify(packageJson.version) - }) - ], - devtool: "source-map" -}; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.dnn b/DNN Platform/Modules/ResourceManager/ResourceManager.dnn index 07a7741d6df..38631460078 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.dnn +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.dnn @@ -52,7 +52,7 @@ - DesktopModules/ResourceManager/View.ascx + DesktopModules/ResourceManager/View.html False View diff --git a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/collection-manifest.json b/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/collection-manifest.json new file mode 100644 index 00000000000..04a4861d921 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/collection-manifest.json @@ -0,0 +1,12 @@ +{ + "entries": [ + "./components/dnn-resource-manager/dnn-resource-manager.js" + ], + "compiler": { + "name": "@stencil/core", + "version": "2.14.0", + "typescriptVersion": "4.5.4" + }, + "collections": [], + "bundles": [] +} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/components.d.ts b/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/components.d.ts new file mode 100644 index 00000000000..ca946528a60 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/components.d.ts @@ -0,0 +1,37 @@ +/* eslint-disable */ +/* tslint:disable */ +/** + * This is an autogenerated file created by the Stencil compiler. + * It contains typing information for all components that exist in this project. + */ +import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime"; +export namespace Components { + interface DnnResourceManager { + } +} +declare global { + interface HTMLDnnResourceManagerElement extends Components.DnnResourceManager, HTMLStencilElement { + } + var HTMLDnnResourceManagerElement: { + prototype: HTMLDnnResourceManagerElement; + new (): HTMLDnnResourceManagerElement; + }; + interface HTMLElementTagNameMap { + "dnn-resource-manager": HTMLDnnResourceManagerElement; + } +} +declare namespace LocalJSX { + interface DnnResourceManager { + } + interface IntrinsicElements { + "dnn-resource-manager": DnnResourceManager; + } +} +export { LocalJSX as JSX }; +declare module "@stencil/core" { + export namespace JSX { + interface IntrinsicElements { + "dnn-resource-manager": LocalJSX.DnnResourceManager & JSXBase.HTMLAttributes; + } + } +} diff --git a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/core-js.js b/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/core-js.js new file mode 100644 index 00000000000..7bbc909ed48 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/core-js.js @@ -0,0 +1,11 @@ +/** + * core-js 3.6.5 + * https://github.com/zloirock/core-js + * License: http://rock.mit-license.org + * © 2019 Denis Pushkarev (zloirock.ru) + */ +!function(t){"use strict";!function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=0)}([function(t,n,e){e(1),e(55),e(62),e(68),e(70),e(71),e(72),e(73),e(75),e(76),e(78),e(87),e(88),e(89),e(98),e(99),e(101),e(102),e(103),e(105),e(106),e(107),e(108),e(110),e(111),e(112),e(113),e(114),e(115),e(116),e(117),e(118),e(127),e(130),e(131),e(133),e(135),e(136),e(137),e(138),e(139),e(141),e(143),e(146),e(148),e(150),e(151),e(153),e(154),e(155),e(156),e(157),e(159),e(160),e(162),e(163),e(164),e(165),e(166),e(167),e(168),e(169),e(170),e(172),e(173),e(183),e(184),e(185),e(189),e(191),e(192),e(193),e(194),e(195),e(196),e(198),e(201),e(202),e(203),e(204),e(208),e(209),e(212),e(213),e(214),e(215),e(216),e(217),e(218),e(219),e(221),e(222),e(223),e(226),e(227),e(228),e(229),e(230),e(231),e(232),e(233),e(234),e(235),e(236),e(237),e(238),e(240),e(241),e(243),e(248),t.exports=e(246)},function(t,n,e){var r=e(2),o=e(6),i=e(45),a=e(14),u=e(46),c=e(39),f=e(47),s=e(48),l=e(52),p=e(49),h=e(53),v=p("isConcatSpreadable"),g=h>=51||!o((function(){var t=[];return t[v]=!1,t.concat()[0]!==t})),d=l("concat"),y=function(t){if(!a(t))return!1;var n=t[v];return void 0!==n?!!n:i(t)};r({target:"Array",proto:!0,forced:!g||!d},{concat:function(t){var n,e,r,o,i,a=u(this),l=s(a,0),p=0;for(n=-1,r=arguments.length;n9007199254740991)throw TypeError("Maximum allowed index exceeded");for(e=0;e=9007199254740991)throw TypeError("Maximum allowed index exceeded");f(l,p++,i)}return l.length=p,l}})},function(t,n,e){var r=e(3),o=e(4).f,i=e(18),a=e(21),u=e(22),c=e(32),f=e(44);t.exports=function(t,n){var e,s,l,p,h,v=t.target,g=t.global,d=t.stat;if(e=g?r:d?r[v]||u(v,{}):(r[v]||{}).prototype)for(s in n){if(p=n[s],l=t.noTargetGet?(h=o(e,s))&&h.value:e[s],!f(g?s:v+(d?".":"#")+s,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;c(p,l)}(t.sham||l&&l.sham)&&i(p,"sham",!0),a(e,s,p,t)}}},function(t,n){var e=function(t){return t&&t.Math==Math&&t};t.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof global&&global)||Function("return this")()},function(t,n,e){var r=e(5),o=e(7),i=e(8),a=e(9),u=e(13),c=e(15),f=e(16),s=Object.getOwnPropertyDescriptor;n.f=r?s:function(t,n){if(t=a(t),n=u(n,!0),f)try{return s(t,n)}catch(t){}if(c(t,n))return i(!o.f.call(t,n),t[n])}},function(t,n,e){var r=e(6);t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,e){var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);n.f=i?function(t){var n=o(this,t);return!!n&&n.enumerable}:r},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(10),o=e(12);t.exports=function(t){return r(o(t))}},function(t,n,e){var r=e(6),o=e(11),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(14);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(5),o=e(6),i=e(17);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(3),o=e(14),i=r.document,a=o(i)&&o(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},function(t,n,e){var r=e(5),o=e(19),i=e(8);t.exports=r?function(t,n,e){return o.f(t,n,i(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){var r=e(5),o=e(16),i=e(20),a=e(13),u=Object.defineProperty;n.f=r?u:function(t,n,e){if(i(t),n=a(n,!0),i(e),o)try{return u(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(14);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n,e){var r=e(3),o=e(18),i=e(15),a=e(22),u=e(23),c=e(25),f=c.get,s=c.enforce,l=String(String).split("String");(t.exports=function(t,n,e,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,p=!!u&&!!u.noTargetGet;"function"==typeof e&&("string"!=typeof n||i(e,"name")||o(e,"name",n),s(e).source=l.join("string"==typeof n?n:"")),t!==r?(c?!p&&t[n]&&(f=!0):delete t[n],f?t[n]=e:o(t,n,e)):f?t[n]=e:a(n,e)})(Function.prototype,"toString",(function(){return"function"==typeof this&&f(this).source||u(this)}))},function(t,n,e){var r=e(3),o=e(18);t.exports=function(t,n){try{o(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(24),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return o.call(t)}),t.exports=r.inspectSource},function(t,n,e){var r=e(3),o=e(22),i=r["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=i},function(t,n,e){var r,o,i,a=e(26),u=e(3),c=e(14),f=e(18),s=e(15),l=e(27),p=e(31),h=u.WeakMap;if(a){var v=new h,g=v.get,d=v.has,y=v.set;r=function(t,n){return y.call(v,t,n),n},o=function(t){return g.call(v,t)||{}},i=function(t){return d.call(v,t)}}else{var x=l("state");p[x]=!0,r=function(t,n){return f(t,x,n),n},o=function(t){return s(t,x)?t[x]:{}},i=function(t){return s(t,x)}}t.exports={set:r,get:o,has:i,enforce:function(t){return i(t)?o(t):r(t,{})},getterFor:function(t){return function(n){var e;if(!c(n)||(e=o(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}}},function(t,n,e){var r=e(3),o=e(23),i=r.WeakMap;t.exports="function"==typeof i&&/native code/.test(o(i))},function(t,n,e){var r=e(28),o=e(30),i=r("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(t,n,e){var r=e(29),o=e(24);(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,n){t.exports=!1},function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++e+r).toString(36)}},function(t,n){t.exports={}},function(t,n,e){var r=e(15),o=e(33),i=e(4),a=e(19);t.exports=function(t,n){for(var e=o(n),u=a.f,c=i.f,f=0;fc;)r(u,e=n[c++])&&(~i(f,e)||f.push(e));return f}},function(t,n,e){var r=e(9),o=e(39),i=e(41),a=function(t){return function(n,e,a){var u,c=r(n),f=o(c.length),s=i(a,f);if(t&&e!=e){for(;f>s;)if((u=c[s++])!=u)return!0}else for(;f>s;s++)if((t||s in c)&&c[s]===e)return t||s||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},function(t,n,e){var r=e(40),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){var r=e(40),o=Math.max,i=Math.min;t.exports=function(t,n){var e=r(t);return e<0?o(e+n,0):i(e,n)}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(6),o=/#|\.prototype\./,i=function(t,n){var e=u[a(t)];return e==f||e!=c&&("function"==typeof n?r(n):!!n)},a=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},u=i.data={},c=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,n,e){var r=e(11);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,n,e){var r=e(12);t.exports=function(t){return Object(r(t))}},function(t,n,e){var r=e(13),o=e(19),i=e(8);t.exports=function(t,n,e){var a=r(n);a in t?o.f(t,a,i(0,e)):t[a]=e}},function(t,n,e){var r=e(14),o=e(45),i=e(49)("species");t.exports=function(t,n){var e;return o(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!o(e.prototype)?r(e)&&null===(e=e[i])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)}},function(t,n,e){var r=e(3),o=e(28),i=e(15),a=e(30),u=e(50),c=e(51),f=o("wks"),s=r.Symbol,l=c?s:s&&s.withoutSetter||a;t.exports=function(t){return i(f,t)||(u&&i(s,t)?f[t]=s[t]:f[t]=l("Symbol."+t)),f[t]}},function(t,n,e){var r=e(6);t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(t,n,e){var r=e(50);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,n,e){var r=e(6),o=e(49),i=e(53),a=o("species");t.exports=function(t){return i>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[t](Boolean).foo}))}},function(t,n,e){var r,o,i=e(3),a=e(54),u=i.process,c=u&&u.versions,f=c&&c.v8;f?o=(r=f.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=r[1]),t.exports=o&&+o},function(t,n,e){var r=e(34);t.exports=r("navigator","userAgent")||""},function(t,n,e){var r=e(2),o=e(56),i=e(57);r({target:"Array",proto:!0},{copyWithin:o}),i("copyWithin")},function(t,n,e){var r=e(46),o=e(41),i=e(39),a=Math.min;t.exports=[].copyWithin||function(t,n){var e=r(this),u=i(e.length),c=o(t,u),f=o(n,u),s=arguments.length>2?arguments[2]:void 0,l=a((void 0===s?u:o(s,u))-f,u-c),p=1;for(f0;)f in e?e[c]=e[f]:delete e[c],c+=p,f+=p;return e}},function(t,n,e){var r=e(49),o=e(58),i=e(19),a=r("unscopables"),u=Array.prototype;null==u[a]&&i.f(u,a,{configurable:!0,value:o(null)}),t.exports=function(t){u[a][t]=!0}},function(t,n,e){var r,o=e(20),i=e(59),a=e(42),u=e(31),c=e(61),f=e(17),s=e(27),l=s("IE_PROTO"),p=function(){},h=function(t){return" diff --git a/DNN Platform/Modules/ResourceManager/View.ascx.cs b/DNN Platform/Modules/ResourceManager/View.ascx.cs deleted file mode 100644 index b643a9b61e9..00000000000 --- a/DNN Platform/Modules/ResourceManager/View.ascx.cs +++ /dev/null @@ -1,222 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace Dnn.Modules.ResourceManager -{ - using System; - using System.Collections.Generic; - using System.Linq; - - using Dnn.Modules.ResourceManager.Components; - using Dnn.Modules.ResourceManager.Exceptions; - using DotNetNuke.Common.Utilities; - using DotNetNuke.Entities.Modules; - using DotNetNuke.Framework.JavaScriptLibraries; - using DotNetNuke.Services.FileSystem; - using DotNetNuke.Web.Client.ClientResourceManagement; - - using DnnExceptions = DotNetNuke.Services.Exceptions.Exceptions; - - /// - /// Provides the module view capabilities. - /// - public partial class View : PortalModuleBase - { - private readonly string bundleJsPath; - private int? gid; - private int? folderId; - private string extensionWhitelist; - private string validationCode; - - /// - /// Initializes a new instance of the class. - /// - public View() - { - this.bundleJsPath = Constants.ModulePath + "Scripts/resourceManager-bundle.js"; - } - - /// - /// Gets the group id. - /// - public int GroupId - { - get - { - if (this.gid.HasValue) - { - return this.gid.Value; - } - - if (!int.TryParse(this.Request.QueryString["groupid"], out var id)) - { - id = Null.NullInteger; - } - - this.gid = id; - return this.gid.Value; - } - } - - /// - /// Gets the list of allowed file extensions. - /// - public string ExtensionWhitelist - { - get - { - if (string.IsNullOrEmpty(this.extensionWhitelist)) - { - this.extensionWhitelist = FileManager.Instance.WhiteList.ToStorageString(); - } - - return this.extensionWhitelist; - } - } - - /// - /// Gets the file upload validation code. - /// - public string ValidationCode - { - get - { - if (string.IsNullOrEmpty(this.validationCode)) - { - var parameters = new List() { this.ExtensionWhitelist.Split(',').Select(i => i.Trim()).ToList() }; - parameters.Add(this.PortalSettings.UserInfo.UserID); - if (!this.PortalSettings.UserInfo.IsSuperUser) - { - parameters.Add(this.PortalSettings.PortalId); - } - - this.validationCode = ValidationUtils.ComputeValidationCode(parameters); - } - - return this.validationCode; - } - } - - /// - /// Gets the culture code used for localization. - /// - protected string ResxCulture => LocalizationController.Instance.CultureName; - - /// - /// Gets the timestamp of the localization resource file. - /// - protected string ResxTimeStamp => - LocalizationController.Instance.GetResxTimeStamp(Constants.ViewResourceFileName, Constants.ResourceManagerLocalization).ToString(); - - /// - /// Gets the id of the home folder. - /// - protected int HomeFolderId => new SettingsManager(this.ModuleId, this.GroupId).HomeFolderId; - - /// - /// Gets a value indicating whether the user is logged in. - /// - protected bool UserLogged => this.UserId > 0; - - /// - /// Gets a value indicating whether the currently logged in user is an administrator. - /// - protected bool IsAdmin => this.UserInfo.IsAdmin; - - /// - /// Gets how many items to show per page. - /// - protected int FolderPanelNumItems => Constants.ItemsPerPage; - - /// - /// Gets the width of each item in the resource grid. - /// - protected int ItemWidth => Constants.ItemWidth; - - /// - /// Gets the maximum allowed upload size. - /// - protected long MaxUploadSize => Config.GetMaxUploadSize(); - - /// - /// Gets a json serialized object defining the possible sort fields. - /// - protected string SortingFields => Json.Serialize(Constants.SortingFields); - - /// - /// Gets the default sort field key. - /// - protected string DefaultSortingField => Constants.DefaultSortingField; - - /// - /// Gets a human readable representation of the maximum upload size. - /// - protected string MaxUploadSizeHumanReadable - => string.Format(new FileSizeFormatProvider(), "{0:fs}", this.MaxUploadSize); - - /// - /// Gets the id of the currently open folder. - /// - protected int OpenFolderId => this.FolderId.GetValueOrDefault(); - - /// - /// Gets the path of the currently open folder. - /// - protected string OpenFolderPath - { - get - { - if (!this.FolderId.HasValue) - { - return string.Empty; - } - - var folder = FolderManager.Instance.GetFolder(this.FolderId.Value); - var folderPathElements = folder.FolderPath.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries); - return Json.Serialize(folderPathElements); - } - } - - /// - /// Gets the id of the url path requested folder id. - /// - private int? FolderId - { - get - { - if (!this.folderId.HasValue) - { - if (int.TryParse(this.Request.QueryString["folderId"], out var id)) - { - this.folderId = id; - } - } - - return this.folderId; - } - } - - /// - /// Handles the page load event. - /// - /// The sender of the event. - /// The event arguments. - protected void Page_Load(object sender, EventArgs e) - { - try - { - JavaScript.RequestRegistration(CommonJs.DnnPlugins); - ClientResourceManager.RegisterScript(this.Page, Constants.ModulePath + "Scripts/dnn.Localization.js"); - ClientResourceManager.RegisterScript(this.Page, this.bundleJsPath); - } - catch (ModeValidationException exc) - { - DnnExceptions.ProcessModuleLoadException(this.LocalizeString(exc.Message), this, exc); - } - catch (Exception exc) - { - DnnExceptions.ProcessModuleLoadException(exc.Message, this, exc); - } - } - } -} diff --git a/DNN Platform/Modules/ResourceManager/View.ascx.designer.cs b/DNN Platform/Modules/ResourceManager/View.ascx.designer.cs deleted file mode 100644 index b40a177565f..00000000000 --- a/DNN Platform/Modules/ResourceManager/View.ascx.designer.cs +++ /dev/null @@ -1,24 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace Dnn.Modules.ResourceManager { - - - public partial class View { - - /// - /// ResourceManagerContainer control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel ResourceManagerContainer; - } -} diff --git a/DNN Platform/Modules/ResourceManager/View.html b/DNN Platform/Modules/ResourceManager/View.html new file mode 100644 index 00000000000..e8bc0bc7b44 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/View.html @@ -0,0 +1,3 @@ +[AntiForgeryToken:True] + + \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 353fc3c388a..d49559179a2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23,15 +23,6 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/code-frame@npm:7.14.5" - dependencies: - "@babel/highlight": ^7.14.5 - checksum: 0adbe4f8d91586f764f524e57631f582ab988b2ef504391a5d89db29bfaaf7c67c237798ed4a249b6a2d7135852cf94d3d07ce6b9739dd1df1f271d5ed069565 - languageName: node - linkType: hard - "@babel/compat-data@npm:^7.14.4": version: 7.14.4 resolution: "@babel/compat-data@npm:7.14.4" @@ -118,17 +109,6 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.14.9": - version: 7.14.9 - resolution: "@babel/generator@npm:7.14.9" - dependencies: - "@babel/types": ^7.14.9 - jsesc: ^2.5.1 - source-map: ^0.5.0 - checksum: 7dd6188f5e7bb1232cc92b527713820ce403e61f80408495eb91e61df38539462ec27df5231b4d07578dbddf3ff8f38437c548469c214820db8c2cfdf22af68f - languageName: node - linkType: hard - "@babel/helper-annotate-as-pure@npm:^7.0.0, @babel/helper-annotate-as-pure@npm:^7.12.13": version: 7.12.13 resolution: "@babel/helper-annotate-as-pure@npm:7.12.13" @@ -138,15 +118,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/helper-annotate-as-pure@npm:7.14.5" - dependencies: - "@babel/types": ^7.14.5 - checksum: 18cefedda60003c2551dabe0e4ad278ef0507682680892c60e9f7cb75ae1dc9a065cddb3ce9964da76f220bf972af5262619eeac4b84c2b8aba1b031961215cc - languageName: node - linkType: hard - "@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.1.0": version: 7.1.0 resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.1.0" @@ -171,22 +142,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.14.5": - version: 7.14.8 - resolution: "@babel/helper-create-class-features-plugin@npm:7.14.8" - dependencies: - "@babel/helper-annotate-as-pure": ^7.14.5 - "@babel/helper-function-name": ^7.14.5 - "@babel/helper-member-expression-to-functions": ^7.14.7 - "@babel/helper-optimise-call-expression": ^7.14.5 - "@babel/helper-replace-supers": ^7.14.5 - "@babel/helper-split-export-declaration": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 4c0293cb6ee74cdab5a260f758b9ae401a5c409119156262bdc62584d02265511da78d179765abce87e7c8ed917dd679f6deb81beb7a688402b6f9cc1be41215 - languageName: node - linkType: hard - "@babel/helper-create-class-features-plugin@npm:^7.3.0, @babel/helper-create-class-features-plugin@npm:^7.4.4": version: 7.4.4 resolution: "@babel/helper-create-class-features-plugin@npm:7.4.4" @@ -235,17 +190,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/helper-function-name@npm:7.14.5" - dependencies: - "@babel/helper-get-function-arity": ^7.14.5 - "@babel/template": ^7.14.5 - "@babel/types": ^7.14.5 - checksum: fd8ffa82f7622b6e9a6294fb3b98b42e743ab2a8e3c329367667a960b5b98b48bc5ebf8be7308981f1985b9f3c69e1a3b4a91c8944ae97c31803240da92fb3c8 - languageName: node - linkType: hard - "@babel/helper-get-function-arity@npm:^7.0.0": version: 7.0.0 resolution: "@babel/helper-get-function-arity@npm:7.0.0" @@ -255,24 +199,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-get-function-arity@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/helper-get-function-arity@npm:7.14.5" - dependencies: - "@babel/types": ^7.14.5 - checksum: a60779918b677a35e177bb4f46babfd54e9790587b6a4f076092a9eff2a940cbeacdeb10c94331b26abfe838769554d72293d16df897246cfccd1444e5e27cb7 - languageName: node - linkType: hard - -"@babel/helper-hoist-variables@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/helper-hoist-variables@npm:7.14.5" - dependencies: - "@babel/types": ^7.14.5 - checksum: 35af58eebffca10988de7003e044ce2d27212aea72ac6d2c4604137da7f1e193cc694d8d60805d0d0beaf3d990f6f2dcc2622c52e3d3148e37017a29cacf2e56 - languageName: node - linkType: hard - "@babel/helper-hoist-variables@npm:^7.4.4": version: 7.4.4 resolution: "@babel/helper-hoist-variables@npm:7.4.4" @@ -291,15 +217,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.14.5, @babel/helper-member-expression-to-functions@npm:^7.14.7": - version: 7.14.7 - resolution: "@babel/helper-member-expression-to-functions@npm:7.14.7" - dependencies: - "@babel/types": ^7.14.5 - checksum: 1768b849224002d7a8553226ad73e1e957fb6184b68234d5df7a45cf8e4453ed1208967c1cace1a4d973b223ddc881d105e372945ec688f09485dff0e8ed6180 - languageName: node - linkType: hard - "@babel/helper-module-imports@npm:^7.0.0, @babel/helper-module-imports@npm:^7.13.12": version: 7.13.12 resolution: "@babel/helper-module-imports@npm:7.13.12" @@ -332,15 +249,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/helper-optimise-call-expression@npm:7.14.5" - dependencies: - "@babel/types": ^7.14.5 - checksum: c7af558c63eb5449bf2249f1236d892ed54a400cb6c721756cde573b996c12c64dee6b57fa18ad1a0025d152e6f689444f7ea32997a1d56e1af66c3eda18843d - languageName: node - linkType: hard - "@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.13.0, @babel/helper-plugin-utils@npm:^7.8.0": version: 7.13.0 resolution: "@babel/helper-plugin-utils@npm:7.13.0" @@ -348,13 +256,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/helper-plugin-utils@npm:7.14.5" - checksum: fe20e90a24d02770a60ebe80ab9f0dfd7258503cea8006c71709ac9af1aa3e47b0de569499673f11ea6c99597f8c0e4880ae1d505986e61101b69716820972fe - languageName: node - linkType: hard - "@babel/helper-regex@npm:^7.0.0, @babel/helper-regex@npm:^7.4.4": version: 7.4.4 resolution: "@babel/helper-regex@npm:7.4.4" @@ -389,18 +290,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/helper-replace-supers@npm:7.14.5" - dependencies: - "@babel/helper-member-expression-to-functions": ^7.14.5 - "@babel/helper-optimise-call-expression": ^7.14.5 - "@babel/traverse": ^7.14.5 - "@babel/types": ^7.14.5 - checksum: 35d33cfe473f9fb5cc1110ee259686179ecd07e00e07d9eb03de998e47f49d59fc2e183cf6be0793fd6bec24510b893415e52ace93ae940f94663c4a02c6fbd0 - languageName: node - linkType: hard - "@babel/helper-simple-access@npm:^7.1.0": version: 7.1.0 resolution: "@babel/helper-simple-access@npm:7.1.0" @@ -420,15 +309,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/helper-split-export-declaration@npm:7.14.5" - dependencies: - "@babel/types": ^7.14.5 - checksum: 93437025a33747bfd37d6d5a9cdac8f4b6b3e5c0c53c0e24c5444575e731ea64fd5471a51a039fd74ff3378f916ea2d69d9f10274d253ed6f832952be2fd65f0 - languageName: node - linkType: hard - "@babel/helper-validator-identifier@npm:^7.14.0": version: 7.14.0 resolution: "@babel/helper-validator-identifier@npm:7.14.0" @@ -484,7 +364,7 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.14.5": +"@babel/highlight@npm:^7.10.4": version: 7.14.5 resolution: "@babel/highlight@npm:7.14.5" dependencies: @@ -504,15 +384,6 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.14.5, @babel/parser@npm:^7.14.9, @babel/parser@npm:^7.7.0": - version: 7.14.9 - resolution: "@babel/parser@npm:7.14.9" - bin: - parser: ./bin/babel-parser.js - checksum: df728e286fe465006fe86fcb8d3060d60e1acc3188ee663291d14015627647fb653981279d646bdb053f72c490d08231697254af16805f812bd22e15e2ec6f6e - languageName: node - linkType: hard - "@babel/plugin-proposal-async-generator-functions@npm:^7.1.0, @babel/plugin-proposal-async-generator-functions@npm:^7.2.0": version: 7.2.0 resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.2.0" @@ -538,18 +409,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-class-properties@npm:^7.10.4": - version: 7.14.5 - resolution: "@babel/plugin-proposal-class-properties@npm:7.14.5" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.14.5 - "@babel/helper-plugin-utils": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: fe2aa0a44f8ea121e10c856d6fb4fca418dc42451258ef6ed29321ca740080fba420ebd3d6700d0456c34c2ab2044f9ce4308498321f52a93184ff5adb015aae - languageName: node - linkType: hard - "@babel/plugin-proposal-class-properties@npm:^7.3.0": version: 7.4.4 resolution: "@babel/plugin-proposal-class-properties@npm:7.4.4" @@ -749,17 +608,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.10.4": - version: 7.14.5 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 126196ea0107e97f711c0d48d8d1e01a30f5a5e127628f7367658b4c5832182c4e28914294408374690c5bfbb4ad4fe6560068d8bf370cafe8d4fe23599aaa95 - languageName: node - linkType: hard - "@babel/plugin-transform-async-to-generator@npm:^7.1.0, @babel/plugin-transform-async-to-generator@npm:^7.2.0, @babel/plugin-transform-async-to-generator@npm:^7.4.4": version: 7.4.4 resolution: "@babel/plugin-transform-async-to-generator@npm:7.4.4" @@ -1496,17 +1344,6 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/template@npm:7.14.5" - dependencies: - "@babel/code-frame": ^7.14.5 - "@babel/parser": ^7.14.5 - "@babel/types": ^7.14.5 - checksum: 4939199c5b1ca8940e14c87f30f4fab5f35c909bef88447131075349027546927b4e3e08e50db5c2db2024f2c6585a4fe571c739c835ac980f7a4ada2dd8a623 - languageName: node - linkType: hard - "@babel/traverse@npm:^7.0.0, @babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.1.6, @babel/traverse@npm:^7.2.2, @babel/traverse@npm:^7.4.3, @babel/traverse@npm:^7.4.4": version: 7.4.4 resolution: "@babel/traverse@npm:7.4.4" @@ -1524,23 +1361,6 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.14.5, @babel/traverse@npm:^7.7.0": - version: 7.14.9 - resolution: "@babel/traverse@npm:7.14.9" - dependencies: - "@babel/code-frame": ^7.14.5 - "@babel/generator": ^7.14.9 - "@babel/helper-function-name": ^7.14.5 - "@babel/helper-hoist-variables": ^7.14.5 - "@babel/helper-split-export-declaration": ^7.14.5 - "@babel/parser": ^7.14.9 - "@babel/types": ^7.14.9 - debug: ^4.1.0 - globals: ^11.1.0 - checksum: e172fa40f8656e41417e731128865f077d2e1a57a6e4ff23ab292288348e0e20c54b70c14ef3b3c51d90e425c325a77c4742682db9bfa4ff8470a0c0ae18d943 - languageName: node - linkType: hard - "@babel/types@npm:^7.0.0, @babel/types@npm:^7.1.6, @babel/types@npm:^7.12.13, @babel/types@npm:^7.13.12, @babel/types@npm:^7.14.2, @babel/types@npm:^7.2.0, @babel/types@npm:^7.2.2, @babel/types@npm:^7.3.0, @babel/types@npm:^7.4.0, @babel/types@npm:^7.4.4": version: 7.14.4 resolution: "@babel/types@npm:7.14.4" @@ -1551,16 +1371,6 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.14.5, @babel/types@npm:^7.14.9, @babel/types@npm:^7.7.0": - version: 7.14.9 - resolution: "@babel/types@npm:7.14.9" - dependencies: - "@babel/helper-validator-identifier": ^7.14.9 - to-fast-properties: ^2.0.0 - checksum: 472d5b61de1c8cabce2318469738aa97aff2aa8a50a76ebdd467213c2efd3a2db664f3a42abcf52936eaebc1d47fc402f037b81830e51ad148035488463fe7d1 - languageName: node - linkType: hard - "@babel/types@npm:^7.8.3": version: 7.15.0 resolution: "@babel/types@npm:7.15.0" @@ -3145,6 +2955,24 @@ __metadata: languageName: node linkType: hard +"@stencil/core@npm:^2.13.0": + version: 2.14.0 + resolution: "@stencil/core@npm:2.14.0" + bin: + stencil: bin/stencil + checksum: e2c68913a1c6fd518611b2a15705fa1b30d8950413e62b8599223679d511f2085fc127af76d3fb216eca0e17c1d2994d134f24a1ea7652639c83913f6ba53602 + languageName: node + linkType: hard + +"@stencil/sass@npm:^1.5.2": + version: 1.5.2 + resolution: "@stencil/sass@npm:1.5.2" + peerDependencies: + "@stencil/core": ">=1.0.2" + checksum: fc4250eb31351f24c4f59829be2f8f57b81a4c6b5af395f8325e0eb13fe749334c6fbda7edfa250831d50419ba8c111b8fc31b81e2f176d251648dffbdf2cb49 + languageName: node + linkType: hard + "@storybook/addon-actions@npm:^6.3.9": version: 6.3.9 resolution: "@storybook/addon-actions@npm:6.3.9" @@ -4160,17 +3988,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/ast@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/ast@npm:1.9.0" - dependencies: - "@webassemblyjs/helper-module-context": 1.9.0 - "@webassemblyjs/helper-wasm-bytecode": 1.9.0 - "@webassemblyjs/wast-parser": 1.9.0 - checksum: 8a9838dc7fdac358aee8daa75eefa35934ab18dafb594092ff7be79c467ebe9dabb2543e58313c905fd802bdcc3cb8320e4e19af7444e49853a7a24e25138f75 - languageName: node - linkType: hard - "@webassemblyjs/floating-point-hex-parser@npm:1.8.5": version: 1.8.5 resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.8.5" @@ -4178,13 +3995,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/floating-point-hex-parser@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.9.0" - checksum: d3aeb19bc30da26f639698daa28e44e0c18d5aa135359ef3c54148e194eec46451a912d0506099d479a71a94bc3eef6ef52d6ec234799528a25a9744789852de - languageName: node - linkType: hard - "@webassemblyjs/helper-api-error@npm:1.8.5": version: 1.8.5 resolution: "@webassemblyjs/helper-api-error@npm:1.8.5" @@ -4192,13 +4002,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/helper-api-error@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/helper-api-error@npm:1.9.0" - checksum: 9179d3148639cc202e89a118145b485cf834613260679a99af6ec487bbc15f238566ca713207394b336160a41bf8c1b75cf2e853b3e96f0cc73c1e5c735b3f64 - languageName: node - linkType: hard - "@webassemblyjs/helper-buffer@npm:1.8.5": version: 1.8.5 resolution: "@webassemblyjs/helper-buffer@npm:1.8.5" @@ -4206,13 +4009,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/helper-buffer@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/helper-buffer@npm:1.9.0" - checksum: dcb85f630f8a2e22b7346ad4dd58c3237a2cad1457699423e8fd19592a0bd3eacbc2639178a1b9a873c3ac217bfc7a23a134ff440a099496b590e82c7a4968d5 - languageName: node - linkType: hard - "@webassemblyjs/helper-code-frame@npm:1.8.5": version: 1.8.5 resolution: "@webassemblyjs/helper-code-frame@npm:1.8.5" @@ -4222,15 +4018,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/helper-code-frame@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/helper-code-frame@npm:1.9.0" - dependencies: - "@webassemblyjs/wast-printer": 1.9.0 - checksum: a28fa057f7beff0fd14bff716561520f8edb8c9c56c7a5559451e6765acfb70aaeb8af718ea2bd2262e7baeba597545af407e28eb2eff8329235afe8605f20d1 - languageName: node - linkType: hard - "@webassemblyjs/helper-fsm@npm:1.8.5": version: 1.8.5 resolution: "@webassemblyjs/helper-fsm@npm:1.8.5" @@ -4238,13 +4025,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/helper-fsm@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/helper-fsm@npm:1.9.0" - checksum: 374cc510c8f5a7a07d4fe9eb7036cc475a96a670b5d25c31f16757ac8295be8d03a2f29657ff53eaefa9e8315670a48824d430ed910e7c1835788ac79f93124e - languageName: node - linkType: hard - "@webassemblyjs/helper-module-context@npm:1.8.5": version: 1.8.5 resolution: "@webassemblyjs/helper-module-context@npm:1.8.5" @@ -4255,15 +4035,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/helper-module-context@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/helper-module-context@npm:1.9.0" - dependencies: - "@webassemblyjs/ast": 1.9.0 - checksum: 55e8f89c7ea1beaa78fad88403f3753b8413b0f3b6bb32d898ce95078b3e1d1b48ade0919c00b82fc2e3813c0ab6901e415f7a4d4fa9be50944e2431adde75a5 - languageName: node - linkType: hard - "@webassemblyjs/helper-wasm-bytecode@npm:1.8.5": version: 1.8.5 resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.8.5" @@ -4271,13 +4042,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/helper-wasm-bytecode@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.9.0" - checksum: 280da4df3c556f73a1a02053277f8a4be481de32df4aa21050b015c8f4d27c46af89f0417eb88e486df117e5df4bccffae593f78cb1e79f212d3b3d4f3ed0f04 - languageName: node - linkType: hard - "@webassemblyjs/helper-wasm-section@npm:1.8.5": version: 1.8.5 resolution: "@webassemblyjs/helper-wasm-section@npm:1.8.5" @@ -4290,18 +4054,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/helper-wasm-section@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/helper-wasm-section@npm:1.9.0" - dependencies: - "@webassemblyjs/ast": 1.9.0 - "@webassemblyjs/helper-buffer": 1.9.0 - "@webassemblyjs/helper-wasm-bytecode": 1.9.0 - "@webassemblyjs/wasm-gen": 1.9.0 - checksum: b8f7bb45d4194074c82210211a5d3e402a5b5fa63ecae26d2c356ae3978af5a530e91192fb260f32f9d561b18e2828b3da2e2f41c59efadb5f3c6d72446807f0 - languageName: node - linkType: hard - "@webassemblyjs/ieee754@npm:1.8.5": version: 1.8.5 resolution: "@webassemblyjs/ieee754@npm:1.8.5" @@ -4311,15 +4063,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/ieee754@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/ieee754@npm:1.9.0" - dependencies: - "@xtuc/ieee754": ^1.2.0 - checksum: 7fe4a217ba0f7051e2cfef92919d4a64fac1a63c65411763779bd50907820f33f440255231a474fe3ba03bd1d9ee0328662d1eae3fce4c59b91549d6b62b839b - languageName: node - linkType: hard - "@webassemblyjs/leb128@npm:1.8.5": version: 1.8.5 resolution: "@webassemblyjs/leb128@npm:1.8.5" @@ -4329,15 +4072,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/leb128@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/leb128@npm:1.9.0" - dependencies: - "@xtuc/long": 4.2.2 - checksum: 4ca7cbb869530d78d42a414f34ae53249364cb1ecebbfb6ed5d562c2f209fce857502f088822ee82a23876f653a262ddc34ab64e45a7962510a263d39bb3f51a - languageName: node - linkType: hard - "@webassemblyjs/utf8@npm:1.8.5": version: 1.8.5 resolution: "@webassemblyjs/utf8@npm:1.8.5" @@ -4345,13 +4079,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/utf8@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/utf8@npm:1.9.0" - checksum: e328a30ac8a503bbd015d32e75176e0dedcb45a21d4be051c25dfe89a00035ca7a6dbd8937b442dd5b4b334de3959d4f5fe0b330037bd226a28b9814cd49e84f - languageName: node - linkType: hard - "@webassemblyjs/wasm-edit@npm:1.8.5": version: 1.8.5 resolution: "@webassemblyjs/wasm-edit@npm:1.8.5" @@ -4368,22 +4095,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/wasm-edit@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/wasm-edit@npm:1.9.0" - dependencies: - "@webassemblyjs/ast": 1.9.0 - "@webassemblyjs/helper-buffer": 1.9.0 - "@webassemblyjs/helper-wasm-bytecode": 1.9.0 - "@webassemblyjs/helper-wasm-section": 1.9.0 - "@webassemblyjs/wasm-gen": 1.9.0 - "@webassemblyjs/wasm-opt": 1.9.0 - "@webassemblyjs/wasm-parser": 1.9.0 - "@webassemblyjs/wast-printer": 1.9.0 - checksum: 1997e0c2f4051c33239587fb143242919320bc861a0af03a873c7150a27d6404bd2e063c658193288b0aa88c35aadbe0c4fde601fe642bae0743a8c8eda52717 - languageName: node - linkType: hard - "@webassemblyjs/wasm-gen@npm:1.8.5": version: 1.8.5 resolution: "@webassemblyjs/wasm-gen@npm:1.8.5" @@ -4397,19 +4108,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/wasm-gen@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/wasm-gen@npm:1.9.0" - dependencies: - "@webassemblyjs/ast": 1.9.0 - "@webassemblyjs/helper-wasm-bytecode": 1.9.0 - "@webassemblyjs/ieee754": 1.9.0 - "@webassemblyjs/leb128": 1.9.0 - "@webassemblyjs/utf8": 1.9.0 - checksum: 2456e84e8e6bedb7ab47f6333a0ee170f7ef62842c90862ca787c08528ca8041061f3f8bc257fc2a01bf6e8d1a76fddaddd43418c738f681066e5b50f88fe7df - languageName: node - linkType: hard - "@webassemblyjs/wasm-opt@npm:1.8.5": version: 1.8.5 resolution: "@webassemblyjs/wasm-opt@npm:1.8.5" @@ -4422,18 +4120,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/wasm-opt@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/wasm-opt@npm:1.9.0" - dependencies: - "@webassemblyjs/ast": 1.9.0 - "@webassemblyjs/helper-buffer": 1.9.0 - "@webassemblyjs/wasm-gen": 1.9.0 - "@webassemblyjs/wasm-parser": 1.9.0 - checksum: 91242205bdbd1aa8045364a5338bfb34880cb2c65f56db8dd19382894209673699fb31a0e5279f25c7e5bcd8f3097d6c9ca84d8969d9613ef2cf166450cc3515 - languageName: node - linkType: hard - "@webassemblyjs/wasm-parser@npm:1.8.5": version: 1.8.5 resolution: "@webassemblyjs/wasm-parser@npm:1.8.5" @@ -4448,20 +4134,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/wasm-parser@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/wasm-parser@npm:1.9.0" - dependencies: - "@webassemblyjs/ast": 1.9.0 - "@webassemblyjs/helper-api-error": 1.9.0 - "@webassemblyjs/helper-wasm-bytecode": 1.9.0 - "@webassemblyjs/ieee754": 1.9.0 - "@webassemblyjs/leb128": 1.9.0 - "@webassemblyjs/utf8": 1.9.0 - checksum: 493f6cfc63a5e16073056c81ff0526a9936f461327379ef3c83cc841000e03623b6352704f6bf9f7cb5b3610f0032020a61f9cca78c91b15b8e995854b29c098 - languageName: node - linkType: hard - "@webassemblyjs/wast-parser@npm:1.8.5": version: 1.8.5 resolution: "@webassemblyjs/wast-parser@npm:1.8.5" @@ -4476,20 +4148,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/wast-parser@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/wast-parser@npm:1.9.0" - dependencies: - "@webassemblyjs/ast": 1.9.0 - "@webassemblyjs/floating-point-hex-parser": 1.9.0 - "@webassemblyjs/helper-api-error": 1.9.0 - "@webassemblyjs/helper-code-frame": 1.9.0 - "@webassemblyjs/helper-fsm": 1.9.0 - "@xtuc/long": 4.2.2 - checksum: 705dd48fbbceec7f6bed299b8813631b242fd9312f9594dbb2985dda86c9688048692357d684f6080fc2c5666287cefaa26b263d01abadb6a9049d4c8978b9db - languageName: node - linkType: hard - "@webassemblyjs/wast-printer@npm:1.8.5": version: 1.8.5 resolution: "@webassemblyjs/wast-printer@npm:1.8.5" @@ -4501,17 +4159,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/wast-printer@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/wast-printer@npm:1.9.0" - dependencies: - "@webassemblyjs/ast": 1.9.0 - "@webassemblyjs/wast-parser": 1.9.0 - "@xtuc/long": 4.2.2 - checksum: 3d1e1b2e84745a963f69acd1c02425b321dd2e608e11dabc467cae0c9a808962bc769ec9afc46fbcea7188cc1e47d72370da762d258f716fb367cb1a7865c54b - languageName: node - linkType: hard - "@xtuc/ieee754@npm:^1.2.0": version: 1.2.0 resolution: "@xtuc/ieee754@npm:1.2.0" @@ -4563,7 +4210,7 @@ __metadata: languageName: node linkType: hard -"accepts@npm:~1.3.4, accepts@npm:~1.3.5, accepts@npm:~1.3.7": +"accepts@npm:~1.3.4, accepts@npm:~1.3.5": version: 1.3.7 resolution: "accepts@npm:1.3.7" dependencies: @@ -4592,7 +4239,7 @@ __metadata: languageName: node linkType: hard -"acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.1": +"acorn-jsx@npm:^5.3.1": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" peerDependencies: @@ -4633,15 +4280,6 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^6.0.2, acorn@npm:^6.4.1": - version: 6.4.2 - resolution: "acorn@npm:6.4.2" - bin: - acorn: bin/acorn - checksum: 44b07053729db7f44d28343eed32247ed56dc4a6ec6dff2b743141ecd6b861406bbc1c20bf9d4f143ea7dd08add5dc8c290582756539bc03a8db605050ce2fb4 - languageName: node - linkType: hard - "acorn@npm:^7.4.0": version: 7.4.1 resolution: "acorn@npm:7.4.1" @@ -4851,7 +4489,7 @@ __metadata: languageName: node linkType: hard -"ajv-keywords@npm:^3.4.1, ajv-keywords@npm:^3.5.2": +"ajv-keywords@npm:^3.5.2": version: 3.5.2 resolution: "ajv-keywords@npm:3.5.2" peerDependencies: @@ -4872,7 +4510,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.1.0, ajv@npm:^6.10.0, ajv@npm:^6.10.2, ajv@npm:^6.12.4, ajv@npm:^6.12.5, ajv@npm:^6.5.3, ajv@npm:^6.5.5": +"ajv@npm:^6.1.0, ajv@npm:^6.10.0, ajv@npm:^6.12.4, ajv@npm:^6.12.5, ajv@npm:^6.5.5": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -5033,16 +4671,6 @@ __metadata: languageName: node linkType: hard -"anymatch@npm:~3.1.2": - version: 3.1.2 - resolution: "anymatch@npm:3.1.2" - dependencies: - normalize-path: ^3.0.0 - picomatch: ^2.0.4 - checksum: 985163db2292fac9e5a1e072bf99f1b5baccf196e4de25a0b0b81865ebddeb3b3eb4480734ef0a2ac8c002845396b91aa89121f5b84f93981a4658164a9ec6e9 - languageName: node - linkType: hard - "app-root-dir@npm:^1.0.2": version: 1.0.2 resolution: "app-root-dir@npm:1.0.2" @@ -5435,15 +5063,6 @@ __metadata: languageName: node linkType: hard -"async@npm:^2.6.2": - version: 2.6.3 - resolution: "async@npm:2.6.3" - dependencies: - lodash: ^4.17.14 - checksum: 5e5561ff8fca807e88738533d620488ac03a5c43fce6c937451f7e35f943d33ad06c24af3f681a48cca3d2b0002b3118faff0a128dc89438a9bf0226f712c499 - languageName: node - linkType: hard - "asynckit@npm:^0.4.0": version: 0.4.0 resolution: "asynckit@npm:0.4.0" @@ -5467,15 +5086,6 @@ __metadata: languageName: node linkType: hard -"attr-accept@npm:^1.1.3": - version: 1.1.3 - resolution: "attr-accept@npm:1.1.3" - dependencies: - core-js: ^2.5.0 - checksum: 836c0e863719c0355e8ad4214e4c81f24dd9e724233153200189732da691f73e6f13316b8ac456d75749a89780f0da67e44387e46dfc3fd9a517a84a0e45acbc - languageName: node - linkType: hard - "autoprefixer@npm:^9.4.7": version: 9.5.1 resolution: "autoprefixer@npm:9.5.1" @@ -5533,22 +5143,6 @@ __metadata: languageName: node linkType: hard -"babel-eslint@npm:^10.1.0": - version: 10.1.0 - resolution: "babel-eslint@npm:10.1.0" - dependencies: - "@babel/code-frame": ^7.0.0 - "@babel/parser": ^7.7.0 - "@babel/traverse": ^7.7.0 - "@babel/types": ^7.7.0 - eslint-visitor-keys: ^1.0.0 - resolve: ^1.12.0 - peerDependencies: - eslint: ">= 4.12.1" - checksum: bdc1f62b6b0f9c4d5108c96d835dad0c0066bc45b7c020fcb2d6a08107cf69c9217a99d3438dbd701b2816896190c4283ba04270ed9a8349ee07bd8dafcdc050 - languageName: node - linkType: hard - "babel-helper-builder-react-jsx@npm:^6.24.1": version: 6.26.0 resolution: "babel-helper-builder-react-jsx@npm:6.26.0" @@ -6731,13 +6325,6 @@ __metadata: languageName: node linkType: hard -"binary-extensions@npm:^2.0.0": - version: 2.2.0 - resolution: "binary-extensions@npm:2.2.0" - checksum: ccd267956c58d2315f5d3ea6757cf09863c5fc703e50fbeb13a7dc849b812ef76e3cf9ca8f35a0c48498776a7478d7b4a0418e1e2b8cb9cb9731f2922aaad7f8 - languageName: node - linkType: hard - "bluebird@npm:^3.3.5, bluebird@npm:^3.5.1, bluebird@npm:^3.5.3": version: 3.5.4 resolution: "bluebird@npm:3.5.4" @@ -6777,24 +6364,6 @@ __metadata: languageName: node linkType: hard -"body-parser@npm:1.19.0": - version: 1.19.0 - resolution: "body-parser@npm:1.19.0" - dependencies: - bytes: 3.1.0 - content-type: ~1.0.4 - debug: 2.6.9 - depd: ~1.1.2 - http-errors: 1.7.2 - iconv-lite: 0.4.24 - on-finished: ~2.3.0 - qs: 6.7.0 - raw-body: 2.4.0 - type-is: ~1.6.17 - checksum: 490231b4c89bbd43112762f7ba8e5342c174a6c9f64284a3b0fcabf63277e332f8316765596f1e5b15e4f3a6cf0422e005f4bb3149ed3a224bb025b7a36b9ac1 - languageName: node - linkType: hard - "bonjour@npm:^3.5.0": version: 3.5.0 resolution: "bonjour@npm:3.5.0" @@ -6859,15 +6428,6 @@ __metadata: languageName: node linkType: hard -"braces@npm:~3.0.2": - version: 3.0.2 - resolution: "braces@npm:3.0.2" - dependencies: - fill-range: ^7.0.1 - checksum: e2a8e769a863f3d4ee887b5fe21f63193a891c68b612ddb4b68d82d1b5f3ff9073af066c343e9867a393fe4c2555dcb33e89b937195feb9c1613d259edfcd459 - languageName: node - linkType: hard - "brorand@npm:^1.0.1": version: 1.1.0 resolution: "brorand@npm:1.1.0" @@ -7086,13 +6646,6 @@ __metadata: languageName: node linkType: hard -"bytes@npm:3.1.0": - version: 3.1.0 - resolution: "bytes@npm:3.1.0" - checksum: 7c3b21c5d9d44ed455460d5d36a31abc6fa2ce3807964ba60a4b03fd44454c8cf07bb0585af83bfde1c5cc2ea4bbe5897bc3d18cd15e0acf25a3615a35aba2df - languageName: node - linkType: hard - "cacache@npm:^11.0.2, cacache@npm:^11.3.2": version: 11.3.2 resolution: "cacache@npm:11.3.2" @@ -7138,32 +6691,9 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^12.0.2": - version: 12.0.4 - resolution: "cacache@npm:12.0.4" - dependencies: - bluebird: ^3.5.5 - chownr: ^1.1.1 - figgy-pudding: ^3.5.1 - glob: ^7.1.4 - graceful-fs: ^4.1.15 - infer-owner: ^1.0.3 - lru-cache: ^5.1.1 - mississippi: ^3.0.0 - mkdirp: ^0.5.1 - move-concurrently: ^1.0.1 - promise-inflight: ^1.0.1 - rimraf: ^2.6.3 - ssri: ^6.0.1 - unique-filename: ^1.1.1 - y18n: ^4.0.0 - checksum: c88a72f36939b2523533946ffb27828443db5bf5995d761b35ae17af1eb6c8e20ac55b00b74c2ca900b2e1e917f0afba6847bf8cc16bee05ccca6aa150e0830c - languageName: node - linkType: hard - -"cacache@npm:^15.0.5": - version: 15.2.0 - resolution: "cacache@npm:15.2.0" +"cacache@npm:^15.0.5": + version: 15.2.0 + resolution: "cacache@npm:15.2.0" dependencies: "@npmcli/move-file": ^1.0.1 chownr: ^2.0.0 @@ -7229,15 +6759,6 @@ __metadata: languageName: node linkType: hard -"caller-path@npm:^0.1.0": - version: 0.1.0 - resolution: "caller-path@npm:0.1.0" - dependencies: - callsites: ^0.2.0 - checksum: f4f2216897d2c150e30d06c6a9243115e500184433b42d597f0b8816fda8f6b7f782dba39fc37310dcc67c90e1112729709d3bb9e10983552e76632250b075f3 - languageName: node - linkType: hard - "caller-path@npm:^2.0.0": version: 2.0.0 resolution: "caller-path@npm:2.0.0" @@ -7247,13 +6768,6 @@ __metadata: languageName: node linkType: hard -"callsites@npm:^0.2.0": - version: 0.2.0 - resolution: "callsites@npm:0.2.0" - checksum: 7ed36d5565ec37600fd9642b6e1e00915c078bf2d1c536115c45fe9c07969b50a7d7db61384e533625fa9fee3e6187740784722f0636d52a99419111284cc236 - languageName: node - linkType: hard - "callsites@npm:^2.0.0": version: 2.0.0 resolution: "callsites@npm:2.0.0" @@ -7379,14 +6893,7 @@ __metadata: languageName: node linkType: hard -"chain-function@npm:^1.0.0": - version: 1.0.1 - resolution: "chain-function@npm:1.0.1" - checksum: 4394113afe36bab29a28144da7af5657bc5c34722bb2fb65f80497cf2d96961094c087144e870b1ffadd5574356d95599265189179d43dadfd024099955b5b84 - languageName: node - linkType: hard - -"chalk@npm:2.4.2, chalk@npm:^2.0.0, chalk@npm:^2.0.1, chalk@npm:^2.1.0, chalk@npm:^2.3.1, chalk@npm:^2.4.1, chalk@npm:^2.4.2": +"chalk@npm:2.4.2, chalk@npm:^2.0.0, chalk@npm:^2.0.1, chalk@npm:^2.3.1, chalk@npm:^2.4.1, chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" dependencies: @@ -7503,48 +7010,6 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:^2.1.8": - version: 2.1.8 - resolution: "chokidar@npm:2.1.8" - dependencies: - anymatch: ^2.0.0 - async-each: ^1.0.1 - braces: ^2.3.2 - fsevents: ^1.2.7 - glob-parent: ^3.1.0 - inherits: ^2.0.3 - is-binary-path: ^1.0.0 - is-glob: ^4.0.0 - normalize-path: ^3.0.0 - path-is-absolute: ^1.0.0 - readdirp: ^2.2.1 - upath: ^1.1.1 - dependenciesMeta: - fsevents: - optional: true - checksum: 0c43e89cbf0268ef1e1f41ce8ec5233c7ba022c6f3282c2ef6530e351d42396d389a1148c5a040f291cf1f4083a4c6b2f51dad3f31c726442ea9a337de316bcf - languageName: node - linkType: hard - -"chokidar@npm:^3.4.1": - version: 3.5.2 - resolution: "chokidar@npm:3.5.2" - dependencies: - anymatch: ~3.1.2 - braces: ~3.0.2 - fsevents: ~2.3.2 - glob-parent: ~5.1.2 - is-binary-path: ~2.1.0 - is-glob: ~4.0.1 - normalize-path: ~3.0.0 - readdirp: ~3.6.0 - dependenciesMeta: - fsevents: - optional: true - checksum: d1fda32fcd67d9f6170a8468ad2630a3c6194949c9db3f6a91b16478c328b2800f433fb5d2592511b6cb145a47c013ea1cce60b432b1a001ae3ee978a8bffc2d - languageName: node - linkType: hard - "chownr@npm:^1.1.1": version: 1.1.1 resolution: "chownr@npm:1.1.1" @@ -7568,13 +7033,6 @@ __metadata: languageName: node linkType: hard -"chrome-trace-event@npm:^1.0.2": - version: 1.0.3 - resolution: "chrome-trace-event@npm:1.0.3" - checksum: cb8b1fc7e881aaef973bd0c4a43cd353c2ad8323fb471a041e64f7c2dd849cde4aad15f8b753331a32dda45c973f032c8a03b8177fc85d60eaa75e91e08bfb97 - languageName: node - linkType: hard - "ci-info@npm:^2.0.0": version: 2.0.0 resolution: "ci-info@npm:2.0.0" @@ -7592,13 +7050,6 @@ __metadata: languageName: node linkType: hard -"circular-json@npm:^0.3.1": - version: 0.3.3 - resolution: "circular-json@npm:0.3.3" - checksum: 61c5e5c244cc752f2d81fa337260327bf9dcb0332eb801039f21b69383050318fd4b30541ce4ebfe6fdd62993a38cb1be3a0d777abfeadf723479a4fc2da70ed - languageName: node - linkType: hard - "class-utils@npm:^0.3.5": version: 0.3.6 resolution: "class-utils@npm:0.3.6" @@ -7693,17 +7144,6 @@ __metadata: languageName: node linkType: hard -"cliui@npm:^5.0.0": - version: 5.0.0 - resolution: "cliui@npm:5.0.0" - dependencies: - string-width: ^3.1.0 - strip-ansi: ^5.2.0 - wrap-ansi: ^5.1.0 - checksum: 0bb8779efe299b8f3002a73619eaa8add4081eb8d1c17bc4fedc6240557fb4eacdc08fe87c39b002eacb6cfc117ce736b362dbfd8bf28d90da800e010ee97df4 - languageName: node - linkType: hard - "clone-deep@npm:^0.2.4": version: 0.2.4 resolution: "clone-deep@npm:0.2.4" @@ -7851,15 +7291,6 @@ __metadata: languageName: node linkType: hard -"combined-stream@npm:^1.0.8": - version: 1.0.8 - resolution: "combined-stream@npm:1.0.8" - dependencies: - delayed-stream: ~1.0.0 - checksum: 49fa4aeb4916567e33ea81d088f6584749fc90c7abec76fd516bf1c5aa5c79f3584b5ba3de6b86d26ddd64bae5329c4c7479343250cfe71c75bb366eae53bb7c - languageName: node - linkType: hard - "comma-separated-tokens@npm:^1.0.0": version: 1.0.6 resolution: "comma-separated-tokens@npm:1.0.6" @@ -7881,13 +7312,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^2.20.0": - version: 2.20.3 - resolution: "commander@npm:2.20.3" - checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e - languageName: node - linkType: hard - "commander@npm:^6.2.0": version: 6.2.1 resolution: "commander@npm:6.2.1" @@ -7926,7 +7350,7 @@ __metadata: languageName: node linkType: hard -"component-emitter@npm:^1.2.1, component-emitter@npm:^1.3.0": +"component-emitter@npm:^1.2.1": version: 1.3.0 resolution: "component-emitter@npm:1.3.0" checksum: b3c46de38ffd35c57d1c02488355be9f218e582aec72d72d1b8bbec95a3ac1b38c96cd6e03ff015577e68f550fbb361a3bfdbd9bb248be9390b7b3745691be6b @@ -8051,15 +7475,6 @@ __metadata: languageName: node linkType: hard -"content-disposition@npm:0.5.3": - version: 0.5.3 - resolution: "content-disposition@npm:0.5.3" - dependencies: - safe-buffer: 5.1.2 - checksum: 95bf164c0b0b8199d3f44b7631e51b37f683c6a90b9baa4315bd3d405a6d1bc81b7346f0981046aa004331fb3d7a28b629514d01fc209a5251573fc7e4d33380 - languageName: node - linkType: hard - "content-type@npm:~1.0.4": version: 1.0.4 resolution: "content-type@npm:1.0.4" @@ -8193,20 +7608,6 @@ __metadata: languageName: node linkType: hard -"cookie@npm:0.4.0": - version: 0.4.0 - resolution: "cookie@npm:0.4.0" - checksum: 760384ba0aef329c52523747e36a452b5e51bc49b34160363a6934e7b7df3f93fcc88b35e33450361535d40a92a96412da870e1816aba9aa6cc556a9fedd8492 - languageName: node - linkType: hard - -"cookiejar@npm:^2.1.2": - version: 2.1.3 - resolution: "cookiejar@npm:2.1.3" - checksum: 88259983ebc52ceb23cdacfa48762b6a518a57872eff1c7ed01d214fff5cf492e2660d7d5c04700a28f1787a76811df39e8639f8e17670b3cf94ecd86e161f07 - languageName: node - linkType: hard - "copy-concurrently@npm:^1.0.0": version: 1.0.5 resolution: "copy-concurrently@npm:1.0.5" @@ -8228,15 +7629,6 @@ __metadata: languageName: node linkType: hard -"copy-to-clipboard@npm:^3.0.5": - version: 3.3.1 - resolution: "copy-to-clipboard@npm:3.3.1" - dependencies: - toggle-selection: ^1.0.6 - checksum: 3c7b1c333dc6a4b2e9905f52e4df6bbd34ff9f9c97ecd3ca55378a6bc1c191bb12a3252e6289c7b436e9188cff0360d393c0161626851d2301607860bbbdcfd5 - languageName: node - linkType: hard - "core-js-compat@npm:^3.0.0": version: 3.0.1 resolution: "core-js-compat@npm:3.0.1" @@ -8935,7 +8327,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.1.1, debug@npm:^3.2.7": +"debug@npm:^3.2.7": version: 3.2.7 resolution: "debug@npm:3.2.7" dependencies: @@ -9115,7 +8507,7 @@ __metadata: languageName: node linkType: hard -"del@npm:^4.1.0, del@npm:^4.1.1": +"del@npm:^4.1.0": version: 4.1.1 resolution: "del@npm:4.1.1" dependencies: @@ -9307,6 +8699,15 @@ __metadata: languageName: unknown linkType: soft +"dnn-resource-manager@workspace:DNN Platform/Modules/ResourceManager/ResourceManager.Web": + version: 0.0.0-use.local + resolution: "dnn-resource-manager@workspace:DNN Platform/Modules/ResourceManager/ResourceManager.Web" + dependencies: + "@stencil/core": ^2.13.0 + "@stencil/sass": ^1.5.2 + languageName: unknown + linkType: soft + "dnn-sitegroups@workspace:Dnn.AdminExperience/ClientSide/SiteGroups.Web": version: 0.0.0-use.local resolution: "dnn-sitegroups@workspace:Dnn.AdminExperience/ClientSide/SiteGroups.Web" @@ -9483,7 +8884,7 @@ __metadata: languageName: node linkType: hard -"dom-helpers@npm:^3.2.0, dom-helpers@npm:^3.3.1, dom-helpers@npm:^3.4.0": +"dom-helpers@npm:^3.3.1, dom-helpers@npm:^3.4.0": version: 3.4.0 resolution: "dom-helpers@npm:3.4.0" dependencies: @@ -9804,7 +9205,7 @@ __metadata: languageName: node linkType: hard -"enhanced-resolve@npm:4.1.0, enhanced-resolve@npm:^4.1.0": +"enhanced-resolve@npm:^4.1.0": version: 4.1.0 resolution: "enhanced-resolve@npm:4.1.0" dependencies: @@ -10076,13 +9477,6 @@ __metadata: languageName: node linkType: hard -"es6-shim@npm:0.35.6": - version: 0.35.6 - resolution: "es6-shim@npm:0.35.6" - checksum: 31b27a7ce0432dd97c523da97e43dbcbf607093ac139697ac2e70d7ab67a90e9c362477a85f36961ebb0d09d0ffdaace45f5c9807f788849b28cc6a847e68c53 - languageName: node - linkType: hard - "es6-shim@npm:^0.35.5": version: 0.35.5 resolution: "es6-shim@npm:0.35.5" @@ -10199,22 +9593,6 @@ __metadata: languageName: node linkType: hard -"eslint-loader@npm:2.1.1": - version: 2.1.1 - resolution: "eslint-loader@npm:2.1.1" - dependencies: - loader-fs-cache: ^1.0.0 - loader-utils: ^1.0.2 - object-assign: ^4.0.1 - object-hash: ^1.1.4 - rimraf: ^2.6.1 - peerDependencies: - eslint: ">=1.6.0 <6.0.0" - webpack: ">=2.0.0 <5.0.0" - checksum: 43e0180c39bfc1a1e2da864edfb15a33f31f7cc915519a19ad65d85ff529746d89be7c195a61809e2503903f6358dca707bf33e84c6c50c784128a4658c7564e - languageName: node - linkType: hard - "eslint-loader@npm:4.0.2, eslint-loader@npm:^4.0.2": version: 4.0.2 resolution: "eslint-loader@npm:4.0.2" @@ -10241,17 +9619,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-babel@npm:5.3.0": - version: 5.3.0 - resolution: "eslint-plugin-babel@npm:5.3.0" - dependencies: - eslint-rule-composer: ^0.3.0 - peerDependencies: - eslint: ">=4.0.0" - checksum: 345c0e6645502b7e5596f101a0f1d887bbf0fcfd89e2aa1c16b6c2acacd0ac1a5f7aabeacbfcc025c0e06e1125fe753512d1b4e6068f535aa3fa4f9f5970c755 - languageName: node - linkType: hard - "eslint-plugin-babel@npm:^5.2.1": version: 5.3.1 resolution: "eslint-plugin-babel@npm:5.3.1" @@ -10263,7 +9630,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-filenames@npm:1.3.2, eslint-plugin-filenames@npm:^1.0.0, eslint-plugin-filenames@npm:^1.3.2": +"eslint-plugin-filenames@npm:^1.0.0, eslint-plugin-filenames@npm:^1.3.2": version: 1.3.2 resolution: "eslint-plugin-filenames@npm:1.3.2" dependencies: @@ -10373,7 +9740,7 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^4.0.0, eslint-scope@npm:^4.0.3": +"eslint-scope@npm:^4.0.0": version: 4.0.3 resolution: "eslint-scope@npm:4.0.3" dependencies: @@ -10393,15 +9760,6 @@ __metadata: languageName: node linkType: hard -"eslint-utils@npm:^1.3.1": - version: 1.4.3 - resolution: "eslint-utils@npm:1.4.3" - dependencies: - eslint-visitor-keys: ^1.1.0 - checksum: a20630e686034107138272f245c460f6d77705d1f4bb0628c1a1faf59fc800f441188916b3ec3b957394dc405aa200a3017dfa2b0fff0976e307a4e645a18d1e - languageName: node - linkType: hard - "eslint-utils@npm:^2.1.0": version: 2.1.0 resolution: "eslint-utils@npm:2.1.0" @@ -10425,54 +9783,6 @@ __metadata: languageName: node linkType: hard -"eslint@npm:5.8.0": - version: 5.8.0 - resolution: "eslint@npm:5.8.0" - dependencies: - "@babel/code-frame": ^7.0.0 - ajv: ^6.5.3 - chalk: ^2.1.0 - cross-spawn: ^6.0.5 - debug: ^4.0.1 - doctrine: ^2.1.0 - eslint-scope: ^4.0.0 - eslint-utils: ^1.3.1 - eslint-visitor-keys: ^1.0.0 - espree: ^4.0.0 - esquery: ^1.0.1 - esutils: ^2.0.2 - file-entry-cache: ^2.0.0 - functional-red-black-tree: ^1.0.1 - glob: ^7.1.2 - globals: ^11.7.0 - ignore: ^4.0.6 - imurmurhash: ^0.1.4 - inquirer: ^6.1.0 - is-resolvable: ^1.1.0 - js-yaml: ^3.12.0 - json-stable-stringify-without-jsonify: ^1.0.1 - levn: ^0.3.0 - lodash: ^4.17.5 - minimatch: ^3.0.4 - mkdirp: ^0.5.1 - natural-compare: ^1.4.0 - optionator: ^0.8.2 - path-is-inside: ^1.0.2 - pluralize: ^7.0.0 - progress: ^2.0.0 - regexpp: ^2.0.1 - require-uncached: ^1.0.3 - semver: ^5.5.1 - strip-ansi: ^4.0.0 - strip-json-comments: ^2.0.1 - table: ^5.0.2 - text-table: ^0.2.0 - bin: - eslint: ./bin/eslint.js - checksum: ea07d5fdbfc13e9d1385c940d67b8324eb5fd715f9f1e33f34dd1569b8b5a65a0238c659c35c367a3f9a6f923c2b9f8e7bf6e3e1bce4a5ff04d7df5ccd6fdda1 - languageName: node - linkType: hard - "eslint@npm:7.32.0, eslint@npm:^7.32.0": version: 7.32.0 resolution: "eslint@npm:7.32.0" @@ -10523,17 +9833,6 @@ __metadata: languageName: node linkType: hard -"espree@npm:^4.0.0": - version: 4.1.0 - resolution: "espree@npm:4.1.0" - dependencies: - acorn: ^6.0.2 - acorn-jsx: ^5.0.0 - eslint-visitor-keys: ^1.0.0 - checksum: 6f4da3a283c55811b3e84e63a883c0741e834f571da11bc0363b3df699836b105d9892a91b181bfd778aee97781eebf80be948fd61d4542b7c02d729cddc92bb - languageName: node - linkType: hard - "espree@npm:^7.3.0, espree@npm:^7.3.1": version: 7.3.1 resolution: "espree@npm:7.3.1" @@ -10575,7 +9874,7 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.0.1, esquery@npm:^1.4.0": +"esquery@npm:^1.4.0": version: 1.4.0 resolution: "esquery@npm:1.4.0" dependencies: @@ -10884,44 +10183,6 @@ __metadata: languageName: node linkType: hard -"express@npm:^4.17.1": - version: 4.17.1 - resolution: "express@npm:4.17.1" - dependencies: - accepts: ~1.3.7 - array-flatten: 1.1.1 - body-parser: 1.19.0 - content-disposition: 0.5.3 - content-type: ~1.0.4 - cookie: 0.4.0 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: ~1.1.2 - encodeurl: ~1.0.2 - escape-html: ~1.0.3 - etag: ~1.8.1 - finalhandler: ~1.1.2 - fresh: 0.5.2 - merge-descriptors: 1.0.1 - methods: ~1.1.2 - on-finished: ~2.3.0 - parseurl: ~1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: ~2.0.5 - qs: 6.7.0 - range-parser: ~1.2.1 - safe-buffer: 5.1.2 - send: 0.17.1 - serve-static: 1.14.1 - setprototypeof: 1.1.1 - statuses: ~1.5.0 - type-is: ~1.6.18 - utils-merge: 1.0.1 - vary: ~1.1.2 - checksum: d964e9e17af331ea6fa2f84999b063bc47189dd71b4a735df83f9126d3bb2b92e830f1cb1d7c2742530eb625e2689d7a9a9c71f0c3cc4dd6015c3cd32a01abd5 - languageName: node - linkType: hard - "extend-shallow@npm:^2.0.1": version: 2.0.1 resolution: "extend-shallow@npm:2.0.1" @@ -11090,20 +10351,13 @@ __metadata: languageName: node linkType: hard -"fast-levenshtein@npm:^2.0.6, fast-levenshtein@npm:~2.0.4, fast-levenshtein@npm:~2.0.6": +"fast-levenshtein@npm:^2.0.6, fast-levenshtein@npm:~2.0.4": version: 2.0.6 resolution: "fast-levenshtein@npm:2.0.6" checksum: 92cfec0a8dfafd9c7a15fba8f2cc29cd0b62b85f056d99ce448bbcd9f708e18ab2764bda4dd5158364f4145a7c72788538994f0d1787b956ef0d1062b0f7c24c languageName: node linkType: hard -"fast-safe-stringify@npm:^2.0.7": - version: 2.1.1 - resolution: "fast-safe-stringify@npm:2.1.1" - checksum: a851cbddc451745662f8f00ddb622d6766f9bd97642dabfd9a405fb0d646d69fc0b9a1243cbf67f5f18a39f40f6fa821737651ff1bceeba06c9992ca2dc5bd3d - languageName: node - linkType: hard - "fastparse@npm:^1.1.1": version: 1.1.2 resolution: "fastparse@npm:1.1.2" @@ -11194,13 +10448,6 @@ __metadata: languageName: node linkType: hard -"fetch-ie8@npm:1.4.2": - version: 1.4.2 - resolution: "fetch-ie8@npm:1.4.2" - checksum: 3e1026b63557ed02791d25bbd23739be3b8caaa87a1f4884dd68644e1f7273037960deee1b2a67d365dd69b9561f4594fe83351517f17108bdbbdc8163af4658 - languageName: node - linkType: hard - "fetch-mock@npm:^7.2.5": version: 7.3.3 resolution: "fetch-mock@npm:7.3.3" @@ -11229,16 +10476,6 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^2.0.0": - version: 2.0.0 - resolution: "file-entry-cache@npm:2.0.0" - dependencies: - flat-cache: ^1.2.1 - object-assign: ^4.0.1 - checksum: e22ca2b848709b76ab80d3d4fb5908669a63f35f54d4129e9952959ab58217dabd6d34e5f385c2360c6bd6f561bf52fe4ad80aa3d27160a6454296d6f1e327bf - languageName: node - linkType: hard - "file-entry-cache@npm:^6.0.1": version: 6.0.1 resolution: "file-entry-cache@npm:6.0.1" @@ -11314,15 +10551,6 @@ __metadata: languageName: node linkType: hard -"fill-range@npm:^7.0.1": - version: 7.0.1 - resolution: "fill-range@npm:7.0.1" - dependencies: - to-regex-range: ^5.0.1 - checksum: cc283f4e65b504259e64fd969bcf4def4eb08d85565e906b7d36516e87819db52029a76b6363d0f02d0d532f0033c9603b9e2d943d56ee3b0d4f7ad3328ff917 - languageName: node - linkType: hard - "finalhandler@npm:1.1.1": version: 1.1.1 resolution: "finalhandler@npm:1.1.1" @@ -11338,32 +10566,6 @@ __metadata: languageName: node linkType: hard -"finalhandler@npm:~1.1.2": - version: 1.1.2 - resolution: "finalhandler@npm:1.1.2" - dependencies: - debug: 2.6.9 - encodeurl: ~1.0.2 - escape-html: ~1.0.3 - on-finished: ~2.3.0 - parseurl: ~1.3.3 - statuses: ~1.5.0 - unpipe: ~1.0.0 - checksum: 617880460c5138dd7ccfd555cb5dde4d8f170f4b31b8bd51e4b646bb2946c30f7db716428a1f2882d730d2b72afb47d1f67cc487b874cb15426f95753a88965e - languageName: node - linkType: hard - -"find-cache-dir@npm:^0.1.1": - version: 0.1.1 - resolution: "find-cache-dir@npm:0.1.1" - dependencies: - commondir: ^1.0.1 - mkdirp: ^0.5.1 - pkg-dir: ^1.0.0 - checksum: b5d9d68c1ff8c222124bb19089a405be9a3d0333e713ae989d980342c35690dfddd05f0fb456ec11846579e30e0f0e18293d20632662506cd2fa2c7237783479 - languageName: node - linkType: hard - "find-cache-dir@npm:^1.0.0": version: 1.0.0 resolution: "find-cache-dir@npm:1.0.0" @@ -11442,18 +10644,6 @@ __metadata: languageName: node linkType: hard -"findup-sync@npm:3.0.0": - version: 3.0.0 - resolution: "findup-sync@npm:3.0.0" - dependencies: - detect-file: ^1.0.0 - is-glob: ^4.0.0 - micromatch: ^3.0.4 - resolve-dir: ^1.0.1 - checksum: cafd706255f3c0e3491e4ee2eb9e585e6e76999bdc50e1ecde6d4ef7316d8dbcae77eb49d27b1f61ff011971933de43e90cb7cb535620b2616eb2ff89baf9347 - languageName: node - linkType: hard - "findup-sync@npm:^2.0.0": version: 2.0.0 resolution: "findup-sync@npm:2.0.0" @@ -11466,18 +10656,6 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^1.2.1": - version: 1.3.4 - resolution: "flat-cache@npm:1.3.4" - dependencies: - circular-json: ^0.3.1 - graceful-fs: ^4.1.2 - rimraf: ~2.6.2 - write: ^0.2.1 - checksum: 95605618db585e09881579b28d7b7e53215654451103425d1eb3fde2427ede7d71abf791f624c8c24d9dc0f7a4a3a3fa4ce8d146c846a31aa3b089380a89b1f3 - languageName: node - linkType: hard - "flat-cache@npm:^3.0.4": version: 3.0.4 resolution: "flat-cache@npm:3.0.4" @@ -11551,17 +10729,6 @@ __metadata: languageName: node linkType: hard -"form-data@npm:^3.0.0": - version: 3.0.1 - resolution: "form-data@npm:3.0.1" - dependencies: - asynckit: ^0.4.0 - combined-stream: ^1.0.8 - mime-types: ^2.1.12 - checksum: b019e8d35c8afc14a2bd8a7a92fa4f525a4726b6d5a9740e8d2623c30e308fbb58dc8469f90415a856698933c8479b01646a9dff33c87cc4e76d72aedbbf860d - languageName: node - linkType: hard - "form-data@npm:~2.3.2": version: 2.3.3 resolution: "form-data@npm:2.3.3" @@ -11580,20 +10747,6 @@ __metadata: languageName: node linkType: hard -"formidable@npm:^1.2.2": - version: 1.2.2 - resolution: "formidable@npm:1.2.2" - checksum: 43b3ec9a8f8055112e1a9a40eb748cdcd86cb9076dc9a17b0caa2bc26908eeae865dbee62d7c4bc26681fb75c2f42d60323af9c9d06c843e94f51f9b46954a0a - languageName: node - linkType: hard - -"forwarded@npm:0.2.0": - version: 0.2.0 - resolution: "forwarded@npm:0.2.0" - checksum: fd27e2394d8887ebd16a66ffc889dc983fbbd797d5d3f01087c020283c0f019a7d05ee85669383d8e0d216b116d720fc0cef2f6e9b7eb9f4c90c6e0bc7fd28e6 - languageName: node - linkType: hard - "forwarded@npm:~0.1.2": version: 0.1.2 resolution: "forwarded@npm:0.1.2" @@ -11719,24 +10872,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"fsevents@patch:fsevents@~2.3.2#~builtin": - version: 2.3.2 - resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=1cc4b2" - dependencies: - node-gyp: latest - checksum: 78db9daf1f6526a49cefee3917cc988f62dc7f25b5dd80ad6de4ffc4af7f0cab7491ac737626ff53e482a111bc53aac9e411fe3602458eca36f6a003ecf69c16 - languageName: node - linkType: hard - -fsevents@~2.3.2: - version: 2.3.2 - resolution: "fsevents@npm:2.3.2" - dependencies: - node-gyp: latest - checksum: 97ade64e75091afee5265e6956cb72ba34db7819b4c3e94c431d4be2b19b8bb7a2d4116da417950c3425f17c8fe693d25e20212cac583ac1521ad066b77ae31f - languageName: node - linkType: hard - "function-bind@npm:^1.0.2, function-bind@npm:^1.1.1": version: 1.1.1 resolution: "function-bind@npm:1.1.1" @@ -11799,13 +10934,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"get-caller-file@npm:^2.0.1": - version: 2.0.5 - resolution: "get-caller-file@npm:2.0.5" - checksum: b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 - languageName: node - linkType: hard - "get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1": version: 1.1.1 resolution: "get-intrinsic@npm:1.1.1" @@ -11953,7 +11081,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"glob-parent@npm:^5.0.0, glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": +"glob-parent@npm:^5.0.0, glob-parent@npm:^5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" dependencies: @@ -12075,7 +11203,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"globals@npm:^11.1.0, globals@npm:^11.3.0, globals@npm:^11.7.0": +"globals@npm:^11.1.0, globals@npm:^11.3.0": version: 11.12.0 resolution: "globals@npm:11.12.0" checksum: 67051a45eca3db904aee189dfc7cd53c20c7d881679c93f6146ddd4c9f4ab2268e68a919df740d39c71f4445d2b38ee360fc234428baea1dbdfe68bbcb46979e @@ -12591,13 +11719,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"html-entities@npm:^1.3.1": - version: 1.4.0 - resolution: "html-entities@npm:1.4.0" - checksum: 4b73ffb9eead200f99146e4fbe70acb0af2fea136901a131fc3a782e9ef876a7cbb07dec303ca1f8804232b812249dbf3643a270c9c524852065d9224a8dcdd0 - languageName: node - linkType: hard - "html-minifier@npm:^3.5.20": version: 3.5.21 resolution: "html-minifier@npm:3.5.21" @@ -12706,32 +11827,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"http-errors@npm:1.7.2": - version: 1.7.2 - resolution: "http-errors@npm:1.7.2" - dependencies: - depd: ~1.1.2 - inherits: 2.0.3 - setprototypeof: 1.1.1 - statuses: ">= 1.5.0 < 2" - toidentifier: 1.0.0 - checksum: 5534b0ae08e77f5a45a2380f500e781f6580c4ff75b816cb1f09f99a290b57e78a518be6d866db1b48cca6b052c09da2c75fc91fb16a2fe3da3c44d9acbb9972 - languageName: node - linkType: hard - -"http-errors@npm:~1.7.2": - version: 1.7.3 - resolution: "http-errors@npm:1.7.3" - dependencies: - depd: ~1.1.2 - inherits: 2.0.4 - setprototypeof: 1.1.1 - statuses: ">= 1.5.0 < 2" - toidentifier: 1.0.0 - checksum: a59f359473f4b3ea78305beee90d186268d6075432622a46fb7483059068a2dd4c854a20ac8cd438883127e06afb78c1309168bde6cdfeed1e3700eb42487d99 - languageName: node - linkType: hard - "http-parser-js@npm:>=0.4.0": version: 0.5.0 resolution: "http-parser-js@npm:0.5.0" @@ -12760,7 +11855,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"http-proxy-middleware@npm:0.19.1, http-proxy-middleware@npm:^0.19.1": +"http-proxy-middleware@npm:^0.19.1": version: 0.19.1 resolution: "http-proxy-middleware@npm:0.19.1" dependencies: @@ -13017,7 +12112,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"import-local@npm:2.0.0, import-local@npm:^2.0.0": +"import-local@npm:^2.0.0": version: 2.0.0 resolution: "import-local@npm:2.0.0" dependencies: @@ -13104,13 +12199,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"inherits@npm:2.0.4": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 - languageName: node - linkType: hard - "ini@npm:^1.3.2, ini@npm:^1.3.4, ini@npm:^1.3.5, ini@npm:~1.3.0": version: 1.3.5 resolution: "ini@npm:1.3.5" @@ -13155,27 +12243,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"inquirer@npm:^6.1.0": - version: 6.5.2 - resolution: "inquirer@npm:6.5.2" - dependencies: - ansi-escapes: ^3.2.0 - chalk: ^2.4.2 - cli-cursor: ^2.1.0 - cli-width: ^2.0.0 - external-editor: ^3.0.3 - figures: ^2.0.0 - lodash: ^4.17.12 - mute-stream: 0.0.7 - run-async: ^2.2.0 - rxjs: ^6.4.0 - string-width: ^2.1.0 - strip-ansi: ^5.1.0 - through: ^2.3.6 - checksum: 175ad4cd1ebed493b231b240185f1da5afeace5f4e8811dfa83cf55dcae59c3255eaed990aa71871b0fd31aa9dc212f43c44c50ed04fb529364405e72f484d28 - languageName: node - linkType: hard - "inquirer@npm:^6.2.0": version: 6.3.1 resolution: "inquirer@npm:6.3.1" @@ -13214,7 +12281,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"internal-ip@npm:^4.2.0, internal-ip@npm:^4.3.0": +"internal-ip@npm:^4.2.0": version: 4.3.0 resolution: "internal-ip@npm:4.3.0" dependencies: @@ -13235,7 +12302,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"interpret@npm:1.2.0, interpret@npm:^1.0.0, interpret@npm:^1.1.0, interpret@npm:^1.2.0": +"interpret@npm:^1.0.0, interpret@npm:^1.1.0, interpret@npm:^1.2.0": version: 1.2.0 resolution: "interpret@npm:1.2.0" checksum: 85d5db9a4579f296ec9e63d38b38c768dc33db7ea0c63d5312131b23ffeee9fb8c6021db22dd0b2827030f6214a512e658a319a56ad446f487c6b1fce8b67edd @@ -13279,13 +12346,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"ipaddr.js@npm:1.9.1": - version: 1.9.1 - resolution: "ipaddr.js@npm:1.9.1" - checksum: f88d3825981486f5a1942414c8d77dd6674dd71c065adcfa46f578d677edcb99fda25af42675cb59db492fdf427b34a5abfcde3982da11a8fd83a500b41cfe77 - languageName: node - linkType: hard - "is-absolute-url@npm:^2.0.0": version: 2.1.0 resolution: "is-absolute-url@npm:2.1.0" @@ -13293,13 +12353,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"is-absolute-url@npm:^3.0.3": - version: 3.0.3 - resolution: "is-absolute-url@npm:3.0.3" - checksum: 5159b51d065d9ad29e16a2f78d6c0e41c43227caf90a45e659c54ea6fd50ef0595b1871ce392e84b1df7cfdcad9a8e66eec0813a029112188435abf115accb16 - languageName: node - linkType: hard - "is-accessor-descriptor@npm:^0.1.6": version: 0.1.6 resolution: "is-accessor-descriptor@npm:0.1.6" @@ -13365,15 +12418,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"is-binary-path@npm:~2.1.0": - version: 2.1.0 - resolution: "is-binary-path@npm:2.1.0" - dependencies: - binary-extensions: ^2.0.0 - checksum: 84192eb88cff70d320426f35ecd63c3d6d495da9d805b19bc65b518984b7c0760280e57dbf119b7e9be6b161784a5a673ab2c6abe83abb5198a432232ad5b35c - languageName: node - linkType: hard - "is-boolean-object@npm:^1.0.0": version: 1.0.0 resolution: "is-boolean-object@npm:1.0.0" @@ -13615,7 +12659,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1": version: 4.0.1 resolution: "is-glob@npm:4.0.1" dependencies: @@ -13677,13 +12721,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"is-number@npm:^7.0.0": - version: 7.0.0 - resolution: "is-number@npm:7.0.0" - checksum: 456ac6f8e0f3111ed34668a624e45315201dff921e5ac181f8ec24923b99e9f32ca1a194912dc79d539c97d33dba17dc635202ff0b2cf98326f608323276d27a - languageName: node - linkType: hard - "is-obj@npm:^1.0.0": version: 1.0.1 resolution: "is-obj@npm:1.0.1" @@ -13809,7 +12846,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"is-resolvable@npm:^1.0.0, is-resolvable@npm:^1.1.0": +"is-resolvable@npm:^1.0.0": version: 1.1.0 resolution: "is-resolvable@npm:1.1.0" checksum: 2ddff983be0cabc2c8d60246365755f8fb322f5fb9db834740d3e694c635c1b74c1bd674cf221e072fc4bd911ef3f08f2247d390e476f7e80af9092443193c68 @@ -14513,18 +13550,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"js-yaml@npm:^3.12.0": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" - dependencies: - argparse: ^1.0.7 - esprima: ^4.0.0 - bin: - js-yaml: bin/js-yaml.js - checksum: bef146085f472d44dee30ec34e5cf36bf89164f5d585435a3d3da89e52622dff0b188a580e4ad091c3341889e14cb88cac6e4deb16dc5b1e9623bb0601fc255c - languageName: node - linkType: hard - "js-yaml@npm:^3.13.0, js-yaml@npm:^3.13.1, js-yaml@npm:^3.9.0": version: 3.13.1 resolution: "js-yaml@npm:3.13.1" @@ -15028,16 +14053,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"levn@npm:^0.3.0, levn@npm:~0.3.0": - version: 0.3.0 - resolution: "levn@npm:0.3.0" - dependencies: - prelude-ls: ~1.1.2 - type-check: ~0.3.2 - checksum: 0d084a524231a8246bb10fec48cdbb35282099f6954838604f3c7fc66f2e16fa66fd9cc2f3f20a541a113c4dafdf181e822c887c8a319c9195444e6c64ac395e - languageName: node - linkType: hard - "levn@npm:^0.4.1": version: 0.4.1 resolution: "levn@npm:0.4.1" @@ -15048,6 +14063,16 @@ fsevents@~2.3.2: languageName: node linkType: hard +"levn@npm:~0.3.0": + version: 0.3.0 + resolution: "levn@npm:0.3.0" + dependencies: + prelude-ls: ~1.1.2 + type-check: ~0.3.2 + checksum: 0d084a524231a8246bb10fec48cdbb35282099f6954838604f3c7fc66f2e16fa66fd9cc2f3f20a541a113c4dafdf181e822c887c8a319c9195444e6c64ac395e + languageName: node + linkType: hard + "licensing@workspace:Dnn.AdminExperience/ClientSide/Licensing.Web": version: 0.0.0-use.local resolution: "licensing@workspace:Dnn.AdminExperience/ClientSide/Licensing.Web" @@ -15133,17 +14158,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"loader-fs-cache@npm:^1.0.0": - version: 1.0.3 - resolution: "loader-fs-cache@npm:1.0.3" - dependencies: - find-cache-dir: ^0.1.1 - mkdirp: ^0.5.1 - checksum: 39781412e10bb0d6b5ca1afa9a4bd65e1827c5c51ef9ff746ae3fe8ce0e2cfa3fb96492d6619d8ab305407d20be82a9b244c439df0207f6ced4b98f2861bd372 - languageName: node - linkType: hard - -"loader-runner@npm:^2.3.0, loader-runner@npm:^2.4.0": +"loader-runner@npm:^2.3.0": version: 2.4.0 resolution: "loader-runner@npm:2.4.0" checksum: e27eebbca5347a03f6b1d1bce5b2736a4984fb742f872c0a4d68e62de10f7637613e79a464d3bcd77c246d9c70fcac112bb4a3123010eb527e8b203a614647db @@ -15443,7 +14458,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"lodash@npm:^4.14.2, lodash@npm:^4.15.0, lodash@npm:^4.17.10, lodash@npm:^4.17.11, lodash@npm:^4.17.12, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.17.5, lodash@npm:^4.2.0, lodash@npm:^4.2.1": +"lodash@npm:^4.14.2, lodash@npm:^4.15.0, lodash@npm:^4.17.10, lodash@npm:^4.17.11, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.17.5, lodash@npm:^4.2.0, lodash@npm:^4.2.1": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -15457,13 +14472,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"loglevel@npm:^1.6.8": - version: 1.7.1 - resolution: "loglevel@npm:1.7.1" - checksum: 715a4ae69ad75d4d3bd04e4f6e9edbc4cae4db34d1e7f54f426d8cebe2dd9fef891ca3789e839d927cdbc5fad73d789e998db0af2f11f4c40219c272bc923823 - languageName: node - linkType: hard - "longest@npm:^1.0.1": version: 1.0.1 resolution: "longest@npm:1.0.1" @@ -15882,7 +14890,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"methods@npm:^1.1.2, methods@npm:~1.1.2": +"methods@npm:~1.1.2": version: 1.1.2 resolution: "methods@npm:1.1.2" checksum: 0917ff4041fa8e2f2fda5425a955fe16ca411591fbd123c0d722fcf02b73971ed6f764d85f0a6f547ce49ee0221ce2c19a5fa692157931cecb422984f1dcd13a @@ -15947,7 +14955,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"mime@npm:1.6.0, mime@npm:^1.4.1": +"mime@npm:^1.4.1": version: 1.6.0 resolution: "mime@npm:1.6.0" bin: @@ -15965,15 +14973,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"mime@npm:^2.4.4, mime@npm:^2.4.6": - version: 2.5.2 - resolution: "mime@npm:2.5.2" - bin: - mime: cli.js - checksum: dd3c93d433d41a09f6a1cfa969b653b769899f3bd573e7bfcea33bdc8b0cc4eba57daa2f95937369c2bd2b6d39d62389b11a4309fe40d1d3a1b736afdedad0ff - languageName: node - linkType: hard - "mimic-fn@npm:^1.0.0": version: 1.2.0 resolution: "mimic-fn@npm:1.2.0" @@ -16220,17 +15219,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"mkdirp@npm:^0.5.3, mkdirp@npm:^0.5.5": - version: 0.5.5 - resolution: "mkdirp@npm:0.5.5" - dependencies: - minimist: ^1.2.5 - bin: - mkdirp: bin/cmd.js - checksum: 3bce20ea525f9477befe458ab85284b0b66c8dc3812f94155af07c827175948cdd8114852ac6c6d82009b13c1048c37f6d98743eb019651ee25c39acc8aabe7d - languageName: node - linkType: hard - "mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" @@ -16439,13 +15427,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"neo-async@npm:^2.6.1": - version: 2.6.2 - resolution: "neo-async@npm:2.6.2" - checksum: deac9f8d00eda7b2e5cd1b2549e26e10a0faa70adaa6fdadca701cc55f49ee9018e427f424bac0c790b7c7e2d3068db97f3093f1093975f2acb8f8818b936ed9 - languageName: node - linkType: hard - "nested-error-stacks@npm:^2.0.0, nested-error-stacks@npm:^2.1.0": version: 2.1.0 resolution: "nested-error-stacks@npm:2.1.0" @@ -16520,13 +15501,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"node-forge@npm:^0.10.0": - version: 0.10.0 - resolution: "node-forge@npm:0.10.0" - checksum: 5aa6dc9922e424a20ef101d2f517418e2bc9cfc0255dd22e0701c0fad1568445f510ee67f6f3fcdf085812c4ca1b847b8ba45683b34776828e41f5c1794e42e1 - languageName: node - linkType: hard - "node-gyp@npm:^5.0.2": version: 5.0.3 resolution: "node-gyp@npm:5.0.3" @@ -16606,37 +15580,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"node-libs-browser@npm:^2.2.1": - version: 2.2.1 - resolution: "node-libs-browser@npm:2.2.1" - dependencies: - assert: ^1.1.1 - browserify-zlib: ^0.2.0 - buffer: ^4.3.0 - console-browserify: ^1.1.0 - constants-browserify: ^1.0.0 - crypto-browserify: ^3.11.0 - domain-browser: ^1.1.1 - events: ^3.0.0 - https-browserify: ^1.0.0 - os-browserify: ^0.3.0 - path-browserify: 0.0.1 - process: ^0.11.10 - punycode: ^1.2.4 - querystring-es3: ^0.2.0 - readable-stream: ^2.3.3 - stream-browserify: ^2.0.1 - stream-http: ^2.7.2 - string_decoder: ^1.0.0 - timers-browserify: ^2.0.4 - tty-browserify: 0.0.0 - url: ^0.11.0 - util: ^0.11.0 - vm-browserify: ^1.0.1 - checksum: 41fa7927378edc0cb98a8cc784d3f4a47e43378d3b42ec57a23f81125baa7287c4b54d6d26d062072226160a3ce4d8b7a62e873d2fb637aceaddf71f5a26eca0 - languageName: node - linkType: hard - "node-modules-regexp@npm:^1.0.0": version: 1.0.0 resolution: "node-modules-regexp@npm:1.0.0" @@ -16764,7 +15707,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": +"normalize-path@npm:^3.0.0": version: 3.0.0 resolution: "normalize-path@npm:3.0.0" checksum: 88eeb4da891e10b1318c4b2476b6e2ecbeb5ff97d946815ffea7794c31a89017c70d7f34b3c2ebf23ef4e9fc9fb99f7dffe36da22011b5b5c6ffa34f4873ec20 @@ -16927,13 +15870,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"object-hash@npm:^1.1.4": - version: 1.3.1 - resolution: "object-hash@npm:1.3.1" - checksum: fdcb957a2f15a9060e30655a9f683ba1fc25dfb8809a73d32e9634bec385a2f1d686c707ac1e5f69fb773bc12df03fb64c77ce3faeed83e35f4eb1946cb1989e - languageName: node - linkType: hard - "object-hash@npm:^2.0.3": version: 2.1.1 resolution: "object-hash@npm:2.1.1" @@ -17243,20 +16179,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"optionator@npm:^0.8.2": - version: 0.8.3 - resolution: "optionator@npm:0.8.3" - dependencies: - deep-is: ~0.1.3 - fast-levenshtein: ~2.0.6 - levn: ~0.3.0 - prelude-ls: ~1.1.2 - type-check: ~0.3.2 - word-wrap: ~1.2.3 - checksum: b8695ddf3d593203e25ab0900e265d860038486c943ff8b774f596a310f8ceebdb30c6832407a8198ba3ec9debe1abe1f51d4aad94843612db3b76d690c61d34 - languageName: node - linkType: hard - "optionator@npm:^0.9.1": version: 0.9.1 resolution: "optionator@npm:0.9.1" @@ -17294,7 +16216,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"os-locale@npm:^3.0.0, os-locale@npm:^3.1.0": +"os-locale@npm:^3.0.0": version: 3.1.0 resolution: "os-locale@npm:3.1.0" dependencies: @@ -17478,15 +16400,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"p-retry@npm:^3.0.1": - version: 3.0.1 - resolution: "p-retry@npm:3.0.1" - dependencies: - retry: ^0.12.0 - checksum: 702efc63fc13ef7fc0bab9a1b08432ab38a0236efcbce64af0cf692030ba6ed8009f29ba66e3301cb98dc69ef33e7ccab29ba1ac2bea897f802f81f4f7e468dd - languageName: node - linkType: hard - "p-try@npm:^1.0.0": version: 1.0.0 resolution: "p-try@npm:1.0.0" @@ -17733,7 +16646,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": +"parseurl@npm:~1.3.2": version: 1.3.3 resolution: "parseurl@npm:1.3.3" checksum: 407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 @@ -17754,13 +16667,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"path-browserify@npm:0.0.1": - version: 0.0.1 - resolution: "path-browserify@npm:0.0.1" - checksum: ae8dcd45d0d3cfbaf595af4f206bf3ed82d77f72b4877ae7e77328079e1468c84f9386754bb417d994d5a19bf47882fd253565c18441cd5c5c90ae5187599e35 - languageName: node - linkType: hard - "path-dirname@npm:^1.0.0": version: 1.0.2 resolution: "path-dirname@npm:1.0.2" @@ -17887,13 +16793,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1": - version: 2.3.0 - resolution: "picomatch@npm:2.3.0" - checksum: 16818720ea7c5872b6af110760dee856c8e4cd79aed1c7a006d076b1cc09eff3ae41ca5019966694c33fbd2e1cc6ea617ab10e4adac6df06556168f13be3fca2 - languageName: node - linkType: hard - "pify@npm:^2.0.0, pify@npm:^2.3.0": version: 2.3.0 resolution: "pify@npm:2.3.0" @@ -17947,15 +16846,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"pkg-dir@npm:^1.0.0": - version: 1.0.0 - resolution: "pkg-dir@npm:1.0.0" - dependencies: - find-up: ^1.0.0 - checksum: ce49878797dd81a5cee1cb7f05fdd431729309e4854c9f83d7748491b9d25c5f8ef04b3b7658134361fa036934c0aaa7fc7f984e46970dd227aa490f3869d36a - languageName: node - linkType: hard - "pkg-dir@npm:^2.0.0": version: 2.0.0 resolution: "pkg-dir@npm:2.0.0" @@ -17992,13 +16882,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"pluralize@npm:^7.0.0": - version: 7.0.0 - resolution: "pluralize@npm:7.0.0" - checksum: e3f694924b7c8c03dc9fa40b2312e17787998ac6e20fccace11efa1146046eb9931541bfd247b3ec5535e730d902a5aee7c32681d5bf9a00fc74a72039a3e609 - languageName: node - linkType: hard - "pn@npm:^1.1.0": version: 1.1.0 resolution: "pn@npm:1.1.0" @@ -18042,17 +16925,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"portfinder@npm:^1.0.26": - version: 1.0.28 - resolution: "portfinder@npm:1.0.28" - dependencies: - async: ^2.6.2 - debug: ^3.1.1 - mkdirp: ^0.5.5 - checksum: 91fef602f13f8f4c64385d0ad2a36cc9dc6be0b8d10a2628ee2c3c7b9917ab4fefb458815b82cea2abf4b785cd11c9b4e2d917ac6fa06f14b6fa880ca8f8928c - languageName: node - linkType: hard - "posix-character-classes@npm:^0.1.0": version: 0.1.1 resolution: "posix-character-classes@npm:0.1.1" @@ -18838,7 +17710,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"prop-types@npm:^15.0.0, prop-types@npm:^15.5.0, prop-types@npm:^15.5.10, prop-types@npm:^15.5.6, prop-types@npm:^15.5.7, prop-types@npm:^15.5.8, prop-types@npm:^15.6.0, prop-types@npm:^15.6.1, prop-types@npm:^15.6.2, prop-types@npm:^15.7.2": +"prop-types@npm:^15.0.0, prop-types@npm:^15.5.0, prop-types@npm:^15.5.10, prop-types@npm:^15.5.7, prop-types@npm:^15.5.8, prop-types@npm:^15.6.0, prop-types@npm:^15.6.1, prop-types@npm:^15.6.2, prop-types@npm:^15.7.2": version: 15.7.2 resolution: "prop-types@npm:15.7.2" dependencies: @@ -18891,16 +17763,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"proxy-addr@npm:~2.0.5": - version: 2.0.7 - resolution: "proxy-addr@npm:2.0.7" - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - checksum: 29c6990ce9364648255454842f06f8c46fcd124d3e6d7c5066df44662de63cdc0bad032e9bf5a3d653ff72141cc7b6019873d685708ac8210c30458ad99f2b74 - languageName: node - linkType: hard - "prr@npm:~1.0.1": version: 1.0.1 resolution: "prr@npm:1.0.1" @@ -19009,14 +17871,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"qs@npm:6.7.0, qs@npm:^6.5.2": - version: 6.7.0 - resolution: "qs@npm:6.7.0" - checksum: dfd5f6adef50e36e908cfa70a6233871b5afe66fbaca37ecc1da352ba29eb2151a3797991948f158bb37fccde51bd57845cb619a8035287bfc24e4591172c347 - languageName: node - linkType: hard - -"qs@npm:^6.10.0, qs@npm:^6.9.4": +"qs@npm:^6.10.0": version: 6.10.1 resolution: "qs@npm:6.10.1" dependencies: @@ -19025,6 +17880,13 @@ fsevents@~2.3.2: languageName: node linkType: hard +"qs@npm:^6.5.2": + version: 6.7.0 + resolution: "qs@npm:6.7.0" + checksum: dfd5f6adef50e36e908cfa70a6233871b5afe66fbaca37ecc1da352ba29eb2151a3797991948f158bb37fccde51bd57845cb619a8035287bfc24e4591172c347 + languageName: node + linkType: hard + "querystring-es3@npm:^0.2.0": version: 0.2.1 resolution: "querystring-es3@npm:0.2.1" @@ -19086,7 +17948,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"randombytes@npm:^2.0.0, randombytes@npm:^2.0.1, randombytes@npm:^2.0.5, randombytes@npm:^2.1.0": +"randombytes@npm:^2.0.0, randombytes@npm:^2.0.1, randombytes@npm:^2.0.5": version: 2.1.0 resolution: "randombytes@npm:2.1.0" dependencies: @@ -19112,13 +17974,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": - version: 1.2.1 - resolution: "range-parser@npm:1.2.1" - checksum: 0a268d4fea508661cf5743dfe3d5f47ce214fd6b7dec1de0da4d669dd4ef3d2144468ebe4179049eff253d9d27e719c88dae55be64f954e80135a0cada804ec9 - languageName: node - linkType: hard - "raw-body@npm:2.3.3": version: 2.3.3 resolution: "raw-body@npm:2.3.3" @@ -19131,18 +17986,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"raw-body@npm:2.4.0": - version: 2.4.0 - resolution: "raw-body@npm:2.4.0" - dependencies: - bytes: 3.1.0 - http-errors: 1.7.2 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - checksum: 6343906939e018c6e633a34a938a5d6d1e93ffcfa48646e00207d53b418e941953b521473950c079347220944dc75ba10e7b3c08bf97e3ac72c7624882db09bb - languageName: node - linkType: hard - "raw-loader@npm:2.0.0, raw-loader@npm:^2.0.0": version: 2.0.0 resolution: "raw-loader@npm:2.0.0" @@ -19412,18 +18255,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"react-dropzone@npm:6.2.4": - version: 6.2.4 - resolution: "react-dropzone@npm:6.2.4" - dependencies: - attr-accept: ^1.1.3 - prop-types: ^15.6.2 - peerDependencies: - react: ">=0.14.0" - checksum: b86dff439a22b9f8384a96ceeeb9d8b8e1fff645257477aabd63079fdc123200ddd4c42050feb621b2863c5d884525272e0f7ae0d9508cc8029085fb21da5380 - languageName: node - linkType: hard - "react-error-overlay@npm:^5.1.4": version: 5.1.5 resolution: "react-error-overlay@npm:5.1.5" @@ -19459,7 +18290,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"react-height@npm:3.0.1, react-height@npm:^3.0.0, react-height@npm:^3.0.1": +"react-height@npm:3.0.1, react-height@npm:^3.0.0": version: 3.0.1 resolution: "react-height@npm:3.0.1" dependencies: @@ -19908,7 +18739,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"react-tooltip@npm:4.2.21, react-tooltip@npm:^4.2.21, react-tooltip@npm:^4.2.6": +"react-tooltip@npm:4.2.21, react-tooltip@npm:^4.2.21": version: 4.2.21 resolution: "react-tooltip@npm:4.2.21" dependencies: @@ -19921,22 +18752,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"react-transition-group@npm:^1.2.0": - version: 1.2.1 - resolution: "react-transition-group@npm:1.2.1" - dependencies: - chain-function: ^1.0.0 - dom-helpers: ^3.2.0 - loose-envify: ^1.3.1 - prop-types: ^15.5.6 - warning: ^3.0.0 - peerDependencies: - react: ^15.0.0 || ^16.0.0 - react-dom: ^15.0.0 || ^16.0.0 - checksum: a0b98d07b7295f07464a75ee2ead944efdf37e1b74638528b2af26045f345a6c334afb93f42cb7aa262c0b36c7a74777632467e49eebc4fd771be7c2eec4a462 - languageName: node - linkType: hard - "react-transition-group@npm:^2.4.0": version: 2.9.0 resolution: "react-transition-group@npm:2.9.0" @@ -20193,17 +19008,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"readable-stream@npm:^3.6.0": - version: 3.6.0 - resolution: "readable-stream@npm:3.6.0" - dependencies: - inherits: ^2.0.3 - string_decoder: ^1.1.1 - util-deprecate: ^1.0.1 - checksum: d4ea81502d3799439bb955a3a5d1d808592cf3133350ed352aeaa499647858b27b1c4013984900238b0873ec8d0d8defce72469fb7a83e61d53f5ad61cb80dc8 - languageName: node - linkType: hard - "readdir-scoped-modules@npm:^1.0.0": version: 1.1.0 resolution: "readdir-scoped-modules@npm:1.1.0" @@ -20227,15 +19031,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"readdirp@npm:~3.6.0": - version: 3.6.0 - resolution: "readdirp@npm:3.6.0" - dependencies: - picomatch: ^2.2.1 - checksum: 1ced032e6e45670b6d7352d71d21ce7edf7b9b928494dcaba6f11fba63180d9da6cd7061ebc34175ffda6ff529f481818c962952004d273178acd70f7059b320 - languageName: node - linkType: hard - "realpath-native@npm:^1.1.0": version: 1.1.0 resolution: "realpath-native@npm:1.1.0" @@ -20579,13 +19374,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"regexpp@npm:^2.0.1": - version: 2.0.1 - resolution: "regexpp@npm:2.0.1" - checksum: 1f41cf80ac08514c6665812e3dcc0673569431d3285db27053f8b237a758992fb55d6ddfbc264db399ff4f7a7db432900ca3a029daa28a75e0436231872091b1 - languageName: node - linkType: hard - "regexpp@npm:^3.1.0": version: 3.2.0 resolution: "regexpp@npm:3.2.0" @@ -20823,16 +19611,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"require-uncached@npm:^1.0.3": - version: 1.0.3 - resolution: "require-uncached@npm:1.0.3" - dependencies: - caller-path: ^0.1.0 - resolve-from: ^1.0.0 - checksum: ace5261d38072130d1fefcfe9662b0d038fe1e38988a801be3e90fbfcab9f6786eeadcf53ac36d6d81b676b29649c7dc5719be0ee571f63058f842838d704bee - languageName: node - linkType: hard - "requires-port@npm:^1.0.0": version: 1.0.0 resolution: "requires-port@npm:1.0.0" @@ -20866,13 +19644,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"resolve-from@npm:^1.0.0": - version: 1.0.1 - resolution: "resolve-from@npm:1.0.1" - checksum: 10134654dd6e758d4a4ad60acf69a90731673058a1a96068afc5f2ee84ac373df4d0237e0f052b5c81cc076273213ed50d228fc09723e0840c5c61ea37eb8854 - languageName: node - linkType: hard - "resolve-from@npm:^3.0.0": version: 3.0.0 resolution: "resolve-from@npm:3.0.0" @@ -20924,7 +19695,7 @@ resolve@1.1.7: languageName: node linkType: hard -"resolve@^1.12.0, resolve@^1.20.0": +resolve@^1.20.0: version: 1.20.0 resolution: "resolve@npm:1.20.0" dependencies: @@ -20959,7 +19730,7 @@ resolve@^1.4.0: languageName: node linkType: hard -"resolve@patch:resolve@^1.12.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin": +"resolve@patch:resolve@^1.20.0#~builtin": version: 1.20.0 resolution: "resolve@patch:resolve@npm%3A1.20.0#~builtin::version=1.20.0&hash=00b1ff" dependencies: @@ -20978,68 +19749,9 @@ resolve@^1.4.0: languageName: node linkType: hard -"resource-library@workspace:DNN Platform/Modules/ResourceManager/ResourceManager.Web": - version: 0.0.0-use.local - resolution: "resource-library@workspace:DNN Platform/Modules/ResourceManager/ResourceManager.Web" - dependencies: - "@babel/core": ^7.2.0 - "@babel/plugin-proposal-class-properties": ^7.10.4 - "@babel/plugin-transform-arrow-functions": ^7.10.4 - "@babel/preset-env": ^7.2.0 - "@babel/preset-react": ^7.0.0 - "@dnnsoftware/dnn-react-common": 9.10.2 - babel-eslint: ^10.1.0 - babel-loader: 8.0.6 - babel-plugin-transform-object-assign: 6.22.0 - babel-plugin-transform-object-rest-spread: 6.26.0 - babel-plugin-transform-react-remove-prop-types: 0.4.24 - babel-polyfill: 6.26.0 - copy-to-clipboard: ^3.0.5 - css-loader: 2.1.1 - es6-shim: 0.35.6 - eslint: 5.8.0 - eslint-loader: 2.1.1 - eslint-plugin-babel: 5.3.0 - eslint-plugin-filenames: 1.3.2 - eslint-plugin-import: ^2.24.0 - eslint-plugin-react: 7.11.1 - eslint-plugin-spellcheck: 0.0.11 - fetch-ie8: 1.4.2 - file-loader: 3.0.1 - less: 3.9.0 - less-loader: 5.0.0 - lodash: ^4.17.4 - prop-types: ^15.7.2 - raw-loader: 2.0.0 - react: ^16.6.3 - react-dom: ^16.6.3 - react-dropzone: 6.2.4 - react-height: ^3.0.1 - react-hot-loader: 4.8.5 - react-modal: ^3.5.1 - react-motion: ^0.5.2 - react-redux: ^5.1.1 - react-tooltip: ^4.2.6 - react-transition-group: ^1.2.0 - redux: ^4.0.1 - redux-devtools: ^3.5.0 - redux-devtools-dock-monitor: ^1.1.3 - redux-devtools-log-monitor: ^1.4.0 - redux-immutable-state-invariant: ^2.1.0 - redux-thunk: ^2.3.0 - style-loader: 0.23.1 - superagent: ^6.1.0 - url-loader: 1.1.2 - webpack: 4.43.0 - webpack-bundle-size-analyzer: 3.1.0 - webpack-cli: 3.3.11 - webpack-dev-server: 3.11.0 - languageName: unknown - linkType: soft - -"restore-cursor@npm:^2.0.0": - version: 2.0.0 - resolution: "restore-cursor@npm:2.0.0" +"restore-cursor@npm:^2.0.0": + version: 2.0.0 + resolution: "restore-cursor@npm:2.0.0" dependencies: onetime: ^2.0.0 signal-exit: ^3.0.2 @@ -21102,7 +19814,7 @@ resolve@^1.4.0: languageName: node linkType: hard -"rimraf@npm:^2.2.8, rimraf@npm:^2.5.4, rimraf@npm:^2.6.1, rimraf@npm:^2.6.2, rimraf@npm:^2.6.3, rimraf@npm:~2.6.2": +"rimraf@npm:^2.2.8, rimraf@npm:^2.5.4, rimraf@npm:^2.6.1, rimraf@npm:^2.6.2, rimraf@npm:^2.6.3": version: 2.6.3 resolution: "rimraf@npm:2.6.3" dependencies: @@ -21445,15 +20157,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"selfsigned@npm:^1.10.7": - version: 1.10.11 - resolution: "selfsigned@npm:1.10.11" - dependencies: - node-forge: ^0.10.0 - checksum: 1fd8fd317dc0b7d713d12d828131ac03c53abf41c4538b263fecd37bbc15688526c631654049ff00806b757ccb85492de6a13d6fefcad5cb54926631e48a76e1 - languageName: node - linkType: hard - "semver@npm:2 || 3 || 4 || 5, semver@npm:2.x || 3.x || 4 || 5, semver@npm:^5.3.0, semver@npm:^5.4.1, semver@npm:^5.5.0, semver@npm:^5.5.1, semver@npm:^5.6.0, semver@npm:^5.7.0": version: 5.7.1 resolution: "semver@npm:5.7.1" @@ -21472,7 +20175,7 @@ resolve@^1.4.0: languageName: node linkType: hard -"semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.5": +"semver@npm:^7.2.1, semver@npm:^7.3.5": version: 7.3.5 resolution: "semver@npm:7.3.5" dependencies: @@ -21513,27 +20216,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"send@npm:0.17.1": - version: 0.17.1 - resolution: "send@npm:0.17.1" - dependencies: - debug: 2.6.9 - depd: ~1.1.2 - destroy: ~1.0.4 - encodeurl: ~1.0.2 - escape-html: ~1.0.3 - etag: ~1.8.1 - fresh: 0.5.2 - http-errors: ~1.7.2 - mime: 1.6.0 - ms: 2.1.1 - on-finished: ~2.3.0 - range-parser: ~1.2.1 - statuses: ~1.5.0 - checksum: d214c2fa42e7fae3f8fc1aa3931eeb3e6b78c2cf141574e09dbe159915c1e3a337269fc6b7512e7dfddcd7d6ff5974cb62f7c3637ba86a55bde20a92c18bdca0 - languageName: node - linkType: hard - "seo@workspace:Dnn.AdminExperience/ClientSide/Seo.Web": version: 0.0.0-use.local resolution: "seo@workspace:Dnn.AdminExperience/ClientSide/Seo.Web" @@ -21583,15 +20265,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"serialize-javascript@npm:^4.0.0": - version: 4.0.0 - resolution: "serialize-javascript@npm:4.0.0" - dependencies: - randombytes: ^2.1.0 - checksum: 3273b3394b951671fcf388726e9577021870dfbf85e742a1183fb2e91273e6101bdccea81ff230724f6659a7ee4cef924b0ff9baca32b79d9384ec37caf07302 - languageName: node - linkType: hard - "serve-favicon@npm:^2.5.0": version: 2.5.0 resolution: "serve-favicon@npm:2.5.0" @@ -21632,18 +20305,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"serve-static@npm:1.14.1": - version: 1.14.1 - resolution: "serve-static@npm:1.14.1" - dependencies: - encodeurl: ~1.0.2 - escape-html: ~1.0.3 - parseurl: ~1.3.3 - send: 0.17.1 - checksum: c6b268e8486d39ecd54b86c7f2d0ee4a38cd7514ddd9c92c8d5793bb005afde5e908b12395898ae206782306ccc848193d93daa15b86afb3cbe5a8414806abe8 - languageName: node - linkType: hard - "servers@workspace:Dnn.AdminExperience/ClientSide/Servers.Web": version: 0.0.0-use.local resolution: "servers@workspace:Dnn.AdminExperience/ClientSide/Servers.Web" @@ -21739,13 +20400,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"setprototypeof@npm:1.1.1": - version: 1.1.1 - resolution: "setprototypeof@npm:1.1.1" - checksum: a8bee29c1c64c245d460ce53f7460af8cbd0aceac68d66e5215153992cc8b3a7a123416353e0c642060e85cc5fd4241c92d1190eec97eda0dcb97436e8fcca3b - languageName: node - linkType: hard - "sha.js@npm:^2.4.0, sha.js@npm:^2.4.8": version: 2.4.11 resolution: "sha.js@npm:2.4.11" @@ -22055,17 +20709,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"slice-ansi@npm:^2.1.0": - version: 2.1.0 - resolution: "slice-ansi@npm:2.1.0" - dependencies: - ansi-styles: ^3.2.0 - astral-regex: ^1.0.0 - is-fullwidth-code-point: ^2.0.0 - checksum: 4e82995aa59cef7eb03ef232d73c2239a15efa0ace87a01f3012ebb942e963fbb05d448ce7391efcd52ab9c32724164aba2086f5143e0445c969221dde3b6b1e - languageName: node - linkType: hard - "slice-ansi@npm:^4.0.0": version: 4.0.0 resolution: "slice-ansi@npm:4.0.0" @@ -22148,20 +20791,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"sockjs-client@npm:1.4.0": - version: 1.4.0 - resolution: "sockjs-client@npm:1.4.0" - dependencies: - debug: ^3.2.5 - eventsource: ^1.0.7 - faye-websocket: ~0.11.1 - inherits: ^2.0.3 - json3: ^3.3.2 - url-parse: ^1.4.3 - checksum: 42fabe709b5478ca50f483add67e058ab01c5aaae926d73e483e53f26c14edc0820cdbd420e3bbc4e090c1007bf21c054b800a7a1e275b171352f246df1300a3 - languageName: node - linkType: hard - "sockjs@npm:0.3.19": version: 0.3.19 resolution: "sockjs@npm:0.3.19" @@ -22172,17 +20801,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"sockjs@npm:0.3.20": - version: 0.3.20 - resolution: "sockjs@npm:0.3.20" - dependencies: - faye-websocket: ^0.10.0 - uuid: ^3.4.0 - websocket-driver: 0.6.5 - checksum: dc0ac013ab57bae5b5b9e3ca809ce06b7f19ade8de47d48a5919e2b6889a864705bce300f9ad02a969d57fea0c911fdcbacdea5e66aec2bc2638b3c8b1c2ede8 - languageName: node - linkType: hard - "socks-proxy-agent@npm:^4.0.0": version: 4.0.2 resolution: "socks-proxy-agent@npm:4.0.2" @@ -22273,16 +20891,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"source-map-support@npm:~0.5.12": - version: 0.5.19 - resolution: "source-map-support@npm:0.5.19" - dependencies: - buffer-from: ^1.0.0 - source-map: ^0.6.0 - checksum: c72802fdba9cb62b92baef18cc14cc4047608b77f0353e6c36dd993444149a466a2845332c5540d4a6630957254f0f68f4ef5a0120c33d2e83974c51a05afbac - languageName: node - linkType: hard - "source-map-url@npm:^0.4.0": version: 0.4.0 resolution: "source-map-url@npm:0.4.0" @@ -22388,19 +20996,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"spdy@npm:^4.0.2": - version: 4.0.2 - resolution: "spdy@npm:4.0.2" - dependencies: - debug: ^4.1.0 - handle-thing: ^2.0.0 - http-deceiver: ^1.2.7 - select-hose: ^2.0.0 - spdy-transport: ^3.0.0 - checksum: 2c739d0ff6f56ad36d2d754d0261d5ec358457bea7cbf77b1b05b0c6464f2ce65b85f196305f50b7bd9120723eb94bae9933466f28e67e5cd8cde4e27f1d75f8 - languageName: node - linkType: hard - "split-string@npm:^3.0.1, split-string@npm:^3.0.2": version: 3.1.0 resolution: "split-string@npm:3.1.0" @@ -22512,7 +21107,7 @@ resolve@^1.4.0: languageName: node linkType: hard -"statuses@npm:>= 1.4.0 < 2, statuses@npm:>= 1.5.0 < 2, statuses@npm:~1.5.0": +"statuses@npm:>= 1.4.0 < 2": version: 1.5.0 resolution: "statuses@npm:1.5.0" checksum: c469b9519de16a4bb19600205cffb39ee471a5f17b82589757ca7bd40a8d92ebb6ed9f98b5a540c5d302ccbc78f15dc03cc0280dd6e00df1335568a5d5758a5c @@ -22611,7 +21206,7 @@ resolve@^1.4.0: languageName: node linkType: hard -"string-width@npm:^3.0.0, string-width@npm:^3.1.0": +"string-width@npm:^3.0.0": version: 3.1.0 resolution: "string-width@npm:3.1.0" dependencies: @@ -22754,7 +21349,7 @@ resolve@^1.4.0: languageName: node linkType: hard -"strip-ansi@npm:^5.0.0, strip-ansi@npm:^5.1.0, strip-ansi@npm:^5.2.0": +"strip-ansi@npm:^5.0.0, strip-ansi@npm:^5.1.0": version: 5.2.0 resolution: "strip-ansi@npm:5.2.0" dependencies: @@ -22813,13 +21408,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"strip-json-comments@npm:^2.0.1, strip-json-comments@npm:~2.0.1": - version: 2.0.1 - resolution: "strip-json-comments@npm:2.0.1" - checksum: 1074ccb63270d32ca28edfb0a281c96b94dc679077828135141f27d52a5a398ef5e78bcf22809d23cadc2b81dfbe345eb5fd8699b385c8b1128907dec4a7d1e1 - languageName: node - linkType: hard - "strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" @@ -22827,6 +21415,13 @@ resolve@^1.4.0: languageName: node linkType: hard +"strip-json-comments@npm:~2.0.1": + version: 2.0.1 + resolution: "strip-json-comments@npm:2.0.1" + checksum: 1074ccb63270d32ca28edfb0a281c96b94dc679077828135141f27d52a5a398ef5e78bcf22809d23cadc2b81dfbe345eb5fd8699b385c8b1128907dec4a7d1e1 + languageName: node + linkType: hard + "striptags@npm:^2.0.3": version: 2.2.1 resolution: "striptags@npm:2.2.1" @@ -22877,34 +21472,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"superagent@npm:^6.1.0": - version: 6.1.0 - resolution: "superagent@npm:6.1.0" - dependencies: - component-emitter: ^1.3.0 - cookiejar: ^2.1.2 - debug: ^4.1.1 - fast-safe-stringify: ^2.0.7 - form-data: ^3.0.0 - formidable: ^1.2.2 - methods: ^1.1.2 - mime: ^2.4.6 - qs: ^6.9.4 - readable-stream: ^3.6.0 - semver: ^7.3.2 - checksum: 32ca1bc9805679cddeffdf5cf369da47359a0d38ee45ea668bba4116e17c247739e4084db9cc88217dd594a816e766a3dbf2431de017fbac0bc80efd6af30c1d - languageName: node - linkType: hard - -"supports-color@npm:6.1.0, supports-color@npm:^6.1.0": - version: 6.1.0 - resolution: "supports-color@npm:6.1.0" - dependencies: - has-flag: ^3.0.0 - checksum: 74358f9535c83ee113fbaac354b11e808060f6e7d8722082ee43af3578469134e89d00026dce2a6b93ce4e5b89d0e9a10f638b2b9f64c7838c2fb2883a47b3d5 - languageName: node - linkType: hard - "supports-color@npm:^2.0.0": version: 2.0.0 resolution: "supports-color@npm:2.0.0" @@ -22921,6 +21488,15 @@ resolve@^1.4.0: languageName: node linkType: hard +"supports-color@npm:^6.1.0": + version: 6.1.0 + resolution: "supports-color@npm:6.1.0" + dependencies: + has-flag: ^3.0.0 + checksum: 74358f9535c83ee113fbaac354b11e808060f6e7d8722082ee43af3578469134e89d00026dce2a6b93ce4e5b89d0e9a10f638b2b9f64c7838c2fb2883a47b3d5 + languageName: node + linkType: hard + "supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" @@ -22999,18 +21575,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"table@npm:^5.0.2": - version: 5.4.6 - resolution: "table@npm:5.4.6" - dependencies: - ajv: ^6.10.2 - lodash: ^4.17.14 - slice-ansi: ^2.1.0 - string-width: ^3.0.0 - checksum: 9e35d3efa788edc17237eef8852f8e4b9178efd65a7d115141777b2ee77df4b7796c05f4ed3712d858f98894ac5935a481ceeb6dcb9895e2f67a61cce0e63b6c - languageName: node - linkType: hard - "table@npm:^6.0.9": version: 6.7.1 resolution: "table@npm:6.7.1" @@ -23032,7 +21596,7 @@ resolve@^1.4.0: languageName: node linkType: hard -"tapable@npm:^1.0.0, tapable@npm:^1.1.0, tapable@npm:^1.1.3": +"tapable@npm:^1.0.0, tapable@npm:^1.1.0": version: 1.1.3 resolution: "tapable@npm:1.1.3" checksum: 53ff4e7c3900051c38cc4faab428ebfd7e6ad0841af5a7ac6d5f3045c5b50e88497bfa8295b4b3fbcadd94993c9e358868b78b9fb249a76cb8b018ac8dccafd7 @@ -23247,25 +21811,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"terser-webpack-plugin@npm:^1.4.3": - version: 1.4.5 - resolution: "terser-webpack-plugin@npm:1.4.5" - dependencies: - cacache: ^12.0.2 - find-cache-dir: ^2.1.0 - is-wsl: ^1.1.0 - schema-utils: ^1.0.0 - serialize-javascript: ^4.0.0 - source-map: ^0.6.1 - terser: ^4.1.2 - webpack-sources: ^1.4.0 - worker-farm: ^1.7.0 - peerDependencies: - webpack: ^4.0.0 - checksum: 02aada80927d3c8105d69cb00384d307b73aed67d180db5d20023a8d649149f3803ad50f9cd2ef9eb2622005de87e677198ecc5088f51422bfac5d4d57472d0e - languageName: node - linkType: hard - "terser@npm:^3.16.1": version: 3.17.0 resolution: "terser@npm:3.17.0" @@ -23279,19 +21824,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"terser@npm:^4.1.2": - version: 4.8.0 - resolution: "terser@npm:4.8.0" - dependencies: - commander: ^2.20.0 - source-map: ~0.6.1 - source-map-support: ~0.5.12 - bin: - terser: bin/terser - checksum: f980789097d4f856c1ef4b9a7ada37beb0bb022fb8aa3057968862b5864ad7c244253b3e269c9eb0ab7d0caf97b9521273f2d1cf1e0e942ff0016e0583859c71 - languageName: node - linkType: hard - "test-exclude@npm:^5.2.3": version: 5.2.3 resolution: "test-exclude@npm:5.2.3" @@ -23529,15 +22061,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"to-regex-range@npm:^5.0.1": - version: 5.0.1 - resolution: "to-regex-range@npm:5.0.1" - dependencies: - is-number: ^7.0.0 - checksum: f76fa01b3d5be85db6a2a143e24df9f60dd047d151062d0ba3df62953f2f697b16fe5dad9b0ac6191c7efc7b1d9dcaa4b768174b7b29da89d4428e64bc0a20ed - languageName: node - linkType: hard - "to-regex@npm:^3.0.1, to-regex@npm:^3.0.2": version: 3.0.2 resolution: "to-regex@npm:3.0.2" @@ -23559,20 +22082,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"toggle-selection@npm:^1.0.6": - version: 1.0.6 - resolution: "toggle-selection@npm:1.0.6" - checksum: a90dc80ed1e7b18db8f4e16e86a5574f87632dc729cfc07d9ea3ced50021ad42bb4e08f22c0913e0b98e3837b0b717e0a51613c65f30418e21eb99da6556a74c - languageName: node - linkType: hard - -"toidentifier@npm:1.0.0": - version: 1.0.0 - resolution: "toidentifier@npm:1.0.0" - checksum: 199e6bfca1531d49b3506cff02353d53ec987c9ee10ee272ca6484ed97f1fc10fb77c6c009079ca16d5c5be4a10378178c3cacdb41ce9ec954c3297c74c6053e - languageName: node - linkType: hard - "totalist@npm:^1.0.0": version: 1.1.0 resolution: "totalist@npm:1.1.0" @@ -23731,7 +22240,7 @@ resolve@^1.4.0: languageName: node linkType: hard -"type-is@npm:~1.6.16, type-is@npm:~1.6.17, type-is@npm:~1.6.18": +"type-is@npm:~1.6.16": version: 1.6.18 resolution: "type-is@npm:1.6.18" dependencies: @@ -24277,15 +22786,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"uuid@npm:^3.4.0": - version: 3.4.0 - resolution: "uuid@npm:3.4.0" - bin: - uuid: ./bin/uuid - checksum: 58de2feed61c59060b40f8203c0e4ed7fd6f99d42534a499f1741218a1dd0c129f4aa1de797bcf822c8ea5da7e4137aa3673431a96dae729047f7aca7b27866f - languageName: node - linkType: hard - "uuid@npm:^7.0.3": version: 7.0.3 resolution: "uuid@npm:7.0.3" @@ -24295,13 +22795,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"v8-compile-cache@npm:2.0.3": - version: 2.0.3 - resolution: "v8-compile-cache@npm:2.0.3" - checksum: 0ce54cbb137b163654b598b952abf72649dfdd9fba48d6cb9b5795b904be6e7105369627d0b035898252514d63ed1af8176e8068d09528073d849872d43bec26 - languageName: node - linkType: hard - "v8-compile-cache@npm:^2.0.2, v8-compile-cache@npm:^2.0.3": version: 2.3.0 resolution: "v8-compile-cache@npm:2.3.0" @@ -24413,13 +22906,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"vm-browserify@npm:^1.0.1": - version: 1.1.2 - resolution: "vm-browserify@npm:1.1.2" - checksum: 10a1c50aab54ff8b4c9042c15fc64aefccce8d2fb90c0640403242db0ee7fb269f9b102bdb69cfb435d7ef3180d61fd4fb004a043a12709abaf9056cfd7e039d - languageName: node - linkType: hard - "w3c-hr-time@npm:^1.0.1": version: 1.0.1 resolution: "w3c-hr-time@npm:1.0.1" @@ -24456,15 +22942,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"watchpack-chokidar2@npm:^2.0.1": - version: 2.0.1 - resolution: "watchpack-chokidar2@npm:2.0.1" - dependencies: - chokidar: ^2.1.8 - checksum: acf0f9ebca0c0b2fd1fe87ba557670477a6c0410bf1a653a726e68eb0620aa94fd9a43027a160a76bc793a21ea12e215e1e87dafe762682c13ef92ad4daf7b58 - languageName: node - linkType: hard - "watchpack@npm:^1.5.0": version: 1.6.0 resolution: "watchpack@npm:1.6.0" @@ -24476,23 +22953,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"watchpack@npm:^1.6.1": - version: 1.7.5 - resolution: "watchpack@npm:1.7.5" - dependencies: - chokidar: ^3.4.1 - graceful-fs: ^4.1.2 - neo-async: ^2.5.0 - watchpack-chokidar2: ^2.0.1 - dependenciesMeta: - chokidar: - optional: true - watchpack-chokidar2: - optional: true - checksum: 8b7cb8c8df8f4dd0e8ac47693c0141c4f020a4b031411247d600eca31522fde6f1f9a3a6f6518b46e71f7971b0ed5734c08c60d7fdd2530e7262776286f69236 - languageName: node - linkType: hard - "wbuf@npm:^1.1.0, wbuf@npm:^1.7.3": version: 1.7.3 resolution: "wbuf@npm:1.7.3" @@ -24557,19 +23017,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"webpack-bundle-size-analyzer@npm:3.1.0": - version: 3.1.0 - resolution: "webpack-bundle-size-analyzer@npm:3.1.0" - dependencies: - commander: ^2.19.0 - filesize: ^3.6.1 - humanize: 0.0.9 - bin: - webpack-bundle-size-analyzer: ./webpack-bundle-size-analyzer - checksum: f72dd1835b834174a408fac89274f6a5b46854df1b4c2e63d64f2e9c5aa21e17dfd3822aa1dd1a8a1ca7ab427eeaddb2909bb97f2f7a7db872e0ccd83a642322 - languageName: node - linkType: hard - "webpack-cli@npm:3.1.2": version: 3.1.2 resolution: "webpack-cli@npm:3.1.2" @@ -24592,29 +23039,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"webpack-cli@npm:3.3.11": - version: 3.3.11 - resolution: "webpack-cli@npm:3.3.11" - dependencies: - chalk: 2.4.2 - cross-spawn: 6.0.5 - enhanced-resolve: 4.1.0 - findup-sync: 3.0.0 - global-modules: 2.0.0 - import-local: 2.0.0 - interpret: 1.2.0 - loader-utils: 1.2.3 - supports-color: 6.1.0 - v8-compile-cache: 2.0.3 - yargs: 13.2.4 - peerDependencies: - webpack: 4.x.x - bin: - webpack-cli: ./bin/cli.js - checksum: ae338ca9cf9cf890dedac0cd3fa5254e3b245fe69d3e69a18f8347f8ae7507e38070fd7d2d61e75adfaa7ff2401a8266adc132e91fae4c24986ae656d71f4ff3 - languageName: node - linkType: hard - "webpack-cli@npm:^3.1.2": version: 3.3.2 resolution: "webpack-cli@npm:3.3.2" @@ -24666,21 +23090,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"webpack-dev-middleware@npm:^3.7.2": - version: 3.7.3 - resolution: "webpack-dev-middleware@npm:3.7.3" - dependencies: - memory-fs: ^0.4.1 - mime: ^2.4.4 - mkdirp: ^0.5.1 - range-parser: ^1.2.1 - webpack-log: ^2.0.0 - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - checksum: faa3cdd7b82d23c35b8f45903556eadd92b0795c76f3e08e234d53f7bab3de13331096a71968e7e9905770ae5de7a4f75ddf09f66d1e0bbabfecbb30db0f71e3 - languageName: node - linkType: hard - "webpack-dev-server@npm:3.1.14": version: 3.1.14 resolution: "webpack-dev-server@npm:3.1.14" @@ -24723,54 +23132,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"webpack-dev-server@npm:3.11.0": - version: 3.11.0 - resolution: "webpack-dev-server@npm:3.11.0" - dependencies: - ansi-html: 0.0.7 - bonjour: ^3.5.0 - chokidar: ^2.1.8 - compression: ^1.7.4 - connect-history-api-fallback: ^1.6.0 - debug: ^4.1.1 - del: ^4.1.1 - express: ^4.17.1 - html-entities: ^1.3.1 - http-proxy-middleware: 0.19.1 - import-local: ^2.0.0 - internal-ip: ^4.3.0 - ip: ^1.1.5 - is-absolute-url: ^3.0.3 - killable: ^1.0.1 - loglevel: ^1.6.8 - opn: ^5.5.0 - p-retry: ^3.0.1 - portfinder: ^1.0.26 - schema-utils: ^1.0.0 - selfsigned: ^1.10.7 - semver: ^6.3.0 - serve-index: ^1.9.1 - sockjs: 0.3.20 - sockjs-client: 1.4.0 - spdy: ^4.0.2 - strip-ansi: ^3.0.1 - supports-color: ^6.1.0 - url: ^0.11.0 - webpack-dev-middleware: ^3.7.2 - webpack-log: ^2.0.0 - ws: ^6.2.1 - yargs: ^13.3.2 - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - peerDependenciesMeta: - webpack-cli: - optional: true - bin: - webpack-dev-server: bin/webpack-dev-server.js - checksum: d0f9519d53ef05c87030654b66455b984adc065ca29c1b7ca75d70dc6e7a818a643b2a8613ad014a916c9be52df54fe0dede4f0a7bc638b8c73088d7710e7e0a - languageName: node - linkType: hard - "webpack-dev-server@npm:^3.1.14": version: 3.3.1 resolution: "webpack-dev-server@npm:3.3.1" @@ -24852,16 +23213,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"webpack-sources@npm:^1.4.0, webpack-sources@npm:^1.4.1": - version: 1.4.3 - resolution: "webpack-sources@npm:1.4.3" - dependencies: - source-list-map: ^2.0.0 - source-map: ~0.6.1 - checksum: 37463dad8d08114930f4bc4882a9602941f07c9f0efa9b6bc78738cd936275b990a596d801ef450d022bb005b109b9f451dd087db2f3c9baf53e8e22cf388f79 - languageName: node - linkType: hard - "webpack@npm:4.31.0, webpack@npm:^4.29.0, webpack@npm:^4.31.0": version: 4.31.0 resolution: "webpack@npm:4.31.0" @@ -24896,48 +23247,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"webpack@npm:4.43.0": - version: 4.43.0 - resolution: "webpack@npm:4.43.0" - dependencies: - "@webassemblyjs/ast": 1.9.0 - "@webassemblyjs/helper-module-context": 1.9.0 - "@webassemblyjs/wasm-edit": 1.9.0 - "@webassemblyjs/wasm-parser": 1.9.0 - acorn: ^6.4.1 - ajv: ^6.10.2 - ajv-keywords: ^3.4.1 - chrome-trace-event: ^1.0.2 - enhanced-resolve: ^4.1.0 - eslint-scope: ^4.0.3 - json-parse-better-errors: ^1.0.2 - loader-runner: ^2.4.0 - loader-utils: ^1.2.3 - memory-fs: ^0.4.1 - micromatch: ^3.1.10 - mkdirp: ^0.5.3 - neo-async: ^2.6.1 - node-libs-browser: ^2.2.1 - schema-utils: ^1.0.0 - tapable: ^1.1.3 - terser-webpack-plugin: ^1.4.3 - watchpack: ^1.6.1 - webpack-sources: ^1.4.1 - bin: - webpack: bin/webpack.js - checksum: d665115be94b2e3372e6efb9c1df6a1c5711fc78fc23f98cb49fce78e032b752c0f844ce9f56466c9cc16ed88eadaba9ce50e6e1c70b17a9735977e1ea20ecbb - languageName: node - linkType: hard - -"websocket-driver@npm:0.6.5": - version: 0.6.5 - resolution: "websocket-driver@npm:0.6.5" - dependencies: - websocket-extensions: ">=0.1.1" - checksum: f9feb459d9abea0bffce618c1c29b73fcddfaefdd2fc0d7348218628dd78eaf57b5c616364e0ec53917f48e33976a8bb6b604fa649b9b63210f265613e090271 - languageName: node - linkType: hard - "websocket-driver@npm:>=0.5.1": version: 0.7.0 resolution: "websocket-driver@npm:0.7.0" @@ -25069,7 +23378,7 @@ resolve@^1.4.0: languageName: node linkType: hard -"word-wrap@npm:^1.1.0, word-wrap@npm:^1.2.3, word-wrap@npm:~1.2.3": +"word-wrap@npm:^1.1.0, word-wrap@npm:^1.2.3": version: 1.2.3 resolution: "word-wrap@npm:1.2.3" checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f @@ -25109,17 +23418,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"wrap-ansi@npm:^5.1.0": - version: 5.1.0 - resolution: "wrap-ansi@npm:5.1.0" - dependencies: - ansi-styles: ^3.2.0 - string-width: ^3.0.0 - strip-ansi: ^5.0.0 - checksum: 9b48c862220e541eb0daa22661b38b947973fc57054e91be5b0f2dcc77741a6875ccab4ebe970a394b4682c8dfc17e888266a105fb8b0a9b23c19245e781ceae - languageName: node - linkType: hard - "wrappy@npm:1": version: 1.0.2 resolution: "wrappy@npm:1.0.2" @@ -25187,15 +23485,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"write@npm:^0.2.1": - version: 0.2.1 - resolution: "write@npm:0.2.1" - dependencies: - mkdirp: ^0.5.1 - checksum: 91bf45a4cf5c2a23fb56ca6cd3b1583295dafe7633f5fdf247f45ca212364cb2bcfe0c3040775b9c1efea613a49104da73d4ae5c28accb9d822aeb176fc7731e - languageName: node - linkType: hard - "ws@npm:^5.2.0": version: 5.2.2 resolution: "ws@npm:5.2.2" @@ -25205,15 +23494,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"ws@npm:^6.2.1": - version: 6.2.2 - resolution: "ws@npm:6.2.2" - dependencies: - async-limiter: ~1.0.0 - checksum: aec3154ec51477c094ac2cb5946a156e17561a581fa27005cbf22c53ac57f8d4e5f791dd4bbba6a488602cb28778c8ab7df06251d590507c3c550fd8ebeee949 - languageName: node - linkType: hard - "ws@npm:^7.3.1": version: 7.4.5 resolution: "ws@npm:7.4.5" @@ -25304,16 +23584,6 @@ resolve@^1.4.0: languageName: node linkType: hard -"yargs-parser@npm:^13.1.0, yargs-parser@npm:^13.1.2": - version: 13.1.2 - resolution: "yargs-parser@npm:13.1.2" - dependencies: - camelcase: ^5.0.0 - decamelize: ^1.2.0 - checksum: c8bb6f44d39a4acd94462e96d4e85469df865de6f4326e0ab1ac23ae4a835e5dd2ddfe588317ebf80c3a7e37e741bd5cb0dc8d92bcc5812baefb7df7c885e86b - languageName: node - linkType: hard - "yargs@npm:12.0.2": version: 12.0.2 resolution: "yargs@npm:12.0.2" @@ -25353,40 +23623,3 @@ resolve@^1.4.0: checksum: 716f467be3f4dd5ed346f7e07eabfbf4b915e818bf2e6582b27c8d23f17c6ee59126b1c6896234d0ca1f615ee09d1901602677c5ee294540e87f914cd27a3c9b languageName: node linkType: hard - -"yargs@npm:13.2.4": - version: 13.2.4 - resolution: "yargs@npm:13.2.4" - dependencies: - cliui: ^5.0.0 - find-up: ^3.0.0 - get-caller-file: ^2.0.1 - os-locale: ^3.1.0 - require-directory: ^2.1.1 - require-main-filename: ^2.0.0 - set-blocking: ^2.0.0 - string-width: ^3.0.0 - which-module: ^2.0.0 - y18n: ^4.0.0 - yargs-parser: ^13.1.0 - checksum: c056449e069e0ba5dc1720a82134e9b0c8c5d8720f84d3b7be98c0fef747b8d15812de5c7fc7a2ee3be68fec69751cdf30389bd31e35f37cf4e1b912fbad8996 - languageName: node - linkType: hard - -"yargs@npm:^13.3.2": - version: 13.3.2 - resolution: "yargs@npm:13.3.2" - dependencies: - cliui: ^5.0.0 - find-up: ^3.0.0 - get-caller-file: ^2.0.1 - require-directory: ^2.1.1 - require-main-filename: ^2.0.0 - set-blocking: ^2.0.0 - string-width: ^3.0.0 - which-module: ^2.0.0 - y18n: ^4.0.0 - yargs-parser: ^13.1.2 - checksum: 75c13e837eb2bb25717957ba58d277e864efc0cca7f945c98bdf6477e6ec2f9be6afa9ed8a876b251a21423500c148d7b91e88dee7adea6029bdec97af1ef3e8 - languageName: node - linkType: hard From dced0e4d165e50fd6675894aa576e28dc2cb34a7 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 16 Feb 2022 23:43:08 -0500 Subject: [PATCH 02/85] Fixed msbuild issues --- .../Modules/ResourceManager/Module.build | 53 +- .../ResourceManager.Web/stencil.config.ts | 3 +- .../collection-manifest.json | 12 - .../dnn-resource-manager/components.d.ts | 37 - .../Scripts/dnn-resource-manager/core-js.js | 11 - .../Scripts/dnn-resource-manager/css-shim.js | 1 - .../dnn-resource-manager.cjs.entry.js | 19 - .../dnn-resource-manager.cjs.js | 19 - .../dnn-resource-manager.css | 3 - .../dnn-resource-manager.d.ts | 3 - .../dnn-resource-manager.entry.js | 15 - .../dnn-resource-manager.esm.js | 3 +- .../dnn-resource-manager.esm.js.map | 1 + .../dnn-resource-manager.js | 17 - .../Scripts/dnn-resource-manager/dom.js | 79 - .../dnn-resource-manager/es5-html-element.js | 1 - .../dnn-resource-manager/index-ca59ddc6.js | 673 ------- .../dnn-resource-manager/index-fc840d31.js | 647 ------- .../Scripts/dnn-resource-manager/index.cjs.js | 1 - .../Scripts/dnn-resource-manager/index.d.ts | 1 - .../Scripts/dnn-resource-manager/index.esm.js | 2 + .../dnn-resource-manager/index.esm.js.map | 1 + .../Scripts/dnn-resource-manager/index.js | 1 - .../dnn-resource-manager/loader.cjs.js | 21 - .../Scripts/dnn-resource-manager/loader.js | 17 - .../dnn-resource-manager/p-04619211.js | 1 - .../dnn-resource-manager/p-2d33d39e.entry.js | 1 - .../dnn-resource-manager/p-773b8db5.entry.js | 2 + .../p-773b8db5.entry.js.map | 1 + .../dnn-resource-manager/p-de30d5d0.js | 2 + .../dnn-resource-manager/p-de30d5d0.js.map | 1 + .../stencil-public-runtime.d.ts | 1565 ----------------- .../Scripts/dnn-resource-manager/system.js | 6 - .../Modules/ResourceManager/View.html | 3 +- 34 files changed, 50 insertions(+), 3173 deletions(-) delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/collection-manifest.json delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/components.d.ts delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/core-js.js delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/css-shim.js delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.cjs.entry.js delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.cjs.js delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.css delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.d.ts delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.entry.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.esm.js.map delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.js delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dom.js delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/es5-html-element.js delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index-ca59ddc6.js delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index-fc840d31.js delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index.cjs.js delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index.d.ts create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index.esm.js.map delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index.js delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/loader.cjs.js delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/loader.js delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-04619211.js delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-2d33d39e.entry.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-773b8db5.entry.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-773b8db5.entry.js.map create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-de30d5d0.js create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-de30d5d0.js.map delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/stencil-public-runtime.d.ts delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/system.js diff --git a/DNN Platform/Modules/ResourceManager/Module.build b/DNN Platform/Modules/ResourceManager/Module.build index 6e87c318e0c..72c97988ff5 100644 --- a/DNN Platform/Modules/ResourceManager/Module.build +++ b/DNN Platform/Modules/ResourceManager/Module.build @@ -1,23 +1,38 @@  - - $(MSBuildProjectDirectory)\..\..\.. - $(MSBuildProjectDirectory)\ResourceManager.Web - - - - resources - ResourceManager - DNNCE_ResourceManager - $(WebsitePath)\DesktopModules\ResourceManager - $(WebsiteInstallPath)\Module - - - - + xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + $(MSBuildProjectDirectory)\..\..\.. + $(MSBuildProjectDirectory)\ResourceManager.Web + + + + resources + ResourceManager + DNNCE_ResourceManager + $(WebsitePath)\DesktopModules\ResourceManager + $(WebsiteInstallPath)\Module + + + - - - + + + + + $(MSBuildProjectDirectory)\Scripts\dnn-resource-manager + + + + + + + + + + + + + + \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/stencil.config.ts b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/stencil.config.ts index 16f50558404..783c0390613 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/stencil.config.ts +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/stencil.config.ts @@ -21,5 +21,6 @@ export const config: Config = { ], plugins: [ sass(), - ] + ], + sourceMap: true, }; diff --git a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/collection-manifest.json b/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/collection-manifest.json deleted file mode 100644 index 04a4861d921..00000000000 --- a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/collection-manifest.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "entries": [ - "./components/dnn-resource-manager/dnn-resource-manager.js" - ], - "compiler": { - "name": "@stencil/core", - "version": "2.14.0", - "typescriptVersion": "4.5.4" - }, - "collections": [], - "bundles": [] -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/components.d.ts b/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/components.d.ts deleted file mode 100644 index ca946528a60..00000000000 --- a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/components.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -/* eslint-disable */ -/* tslint:disable */ -/** - * This is an autogenerated file created by the Stencil compiler. - * It contains typing information for all components that exist in this project. - */ -import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime"; -export namespace Components { - interface DnnResourceManager { - } -} -declare global { - interface HTMLDnnResourceManagerElement extends Components.DnnResourceManager, HTMLStencilElement { - } - var HTMLDnnResourceManagerElement: { - prototype: HTMLDnnResourceManagerElement; - new (): HTMLDnnResourceManagerElement; - }; - interface HTMLElementTagNameMap { - "dnn-resource-manager": HTMLDnnResourceManagerElement; - } -} -declare namespace LocalJSX { - interface DnnResourceManager { - } - interface IntrinsicElements { - "dnn-resource-manager": DnnResourceManager; - } -} -export { LocalJSX as JSX }; -declare module "@stencil/core" { - export namespace JSX { - interface IntrinsicElements { - "dnn-resource-manager": LocalJSX.DnnResourceManager & JSXBase.HTMLAttributes; - } - } -} diff --git a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/core-js.js b/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/core-js.js deleted file mode 100644 index 7bbc909ed48..00000000000 --- a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/core-js.js +++ /dev/null @@ -1,11 +0,0 @@ -/** - * core-js 3.6.5 - * https://github.com/zloirock/core-js - * License: http://rock.mit-license.org - * © 2019 Denis Pushkarev (zloirock.ru) - */ -!function(t){"use strict";!function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=0)}([function(t,n,e){e(1),e(55),e(62),e(68),e(70),e(71),e(72),e(73),e(75),e(76),e(78),e(87),e(88),e(89),e(98),e(99),e(101),e(102),e(103),e(105),e(106),e(107),e(108),e(110),e(111),e(112),e(113),e(114),e(115),e(116),e(117),e(118),e(127),e(130),e(131),e(133),e(135),e(136),e(137),e(138),e(139),e(141),e(143),e(146),e(148),e(150),e(151),e(153),e(154),e(155),e(156),e(157),e(159),e(160),e(162),e(163),e(164),e(165),e(166),e(167),e(168),e(169),e(170),e(172),e(173),e(183),e(184),e(185),e(189),e(191),e(192),e(193),e(194),e(195),e(196),e(198),e(201),e(202),e(203),e(204),e(208),e(209),e(212),e(213),e(214),e(215),e(216),e(217),e(218),e(219),e(221),e(222),e(223),e(226),e(227),e(228),e(229),e(230),e(231),e(232),e(233),e(234),e(235),e(236),e(237),e(238),e(240),e(241),e(243),e(248),t.exports=e(246)},function(t,n,e){var r=e(2),o=e(6),i=e(45),a=e(14),u=e(46),c=e(39),f=e(47),s=e(48),l=e(52),p=e(49),h=e(53),v=p("isConcatSpreadable"),g=h>=51||!o((function(){var t=[];return t[v]=!1,t.concat()[0]!==t})),d=l("concat"),y=function(t){if(!a(t))return!1;var n=t[v];return void 0!==n?!!n:i(t)};r({target:"Array",proto:!0,forced:!g||!d},{concat:function(t){var n,e,r,o,i,a=u(this),l=s(a,0),p=0;for(n=-1,r=arguments.length;n9007199254740991)throw TypeError("Maximum allowed index exceeded");for(e=0;e=9007199254740991)throw TypeError("Maximum allowed index exceeded");f(l,p++,i)}return l.length=p,l}})},function(t,n,e){var r=e(3),o=e(4).f,i=e(18),a=e(21),u=e(22),c=e(32),f=e(44);t.exports=function(t,n){var e,s,l,p,h,v=t.target,g=t.global,d=t.stat;if(e=g?r:d?r[v]||u(v,{}):(r[v]||{}).prototype)for(s in n){if(p=n[s],l=t.noTargetGet?(h=o(e,s))&&h.value:e[s],!f(g?s:v+(d?".":"#")+s,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;c(p,l)}(t.sham||l&&l.sham)&&i(p,"sham",!0),a(e,s,p,t)}}},function(t,n){var e=function(t){return t&&t.Math==Math&&t};t.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof global&&global)||Function("return this")()},function(t,n,e){var r=e(5),o=e(7),i=e(8),a=e(9),u=e(13),c=e(15),f=e(16),s=Object.getOwnPropertyDescriptor;n.f=r?s:function(t,n){if(t=a(t),n=u(n,!0),f)try{return s(t,n)}catch(t){}if(c(t,n))return i(!o.f.call(t,n),t[n])}},function(t,n,e){var r=e(6);t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,e){var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);n.f=i?function(t){var n=o(this,t);return!!n&&n.enumerable}:r},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(10),o=e(12);t.exports=function(t){return r(o(t))}},function(t,n,e){var r=e(6),o=e(11),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(14);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(5),o=e(6),i=e(17);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(3),o=e(14),i=r.document,a=o(i)&&o(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},function(t,n,e){var r=e(5),o=e(19),i=e(8);t.exports=r?function(t,n,e){return o.f(t,n,i(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){var r=e(5),o=e(16),i=e(20),a=e(13),u=Object.defineProperty;n.f=r?u:function(t,n,e){if(i(t),n=a(n,!0),i(e),o)try{return u(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(14);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n,e){var r=e(3),o=e(18),i=e(15),a=e(22),u=e(23),c=e(25),f=c.get,s=c.enforce,l=String(String).split("String");(t.exports=function(t,n,e,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,p=!!u&&!!u.noTargetGet;"function"==typeof e&&("string"!=typeof n||i(e,"name")||o(e,"name",n),s(e).source=l.join("string"==typeof n?n:"")),t!==r?(c?!p&&t[n]&&(f=!0):delete t[n],f?t[n]=e:o(t,n,e)):f?t[n]=e:a(n,e)})(Function.prototype,"toString",(function(){return"function"==typeof this&&f(this).source||u(this)}))},function(t,n,e){var r=e(3),o=e(18);t.exports=function(t,n){try{o(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(24),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return o.call(t)}),t.exports=r.inspectSource},function(t,n,e){var r=e(3),o=e(22),i=r["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=i},function(t,n,e){var r,o,i,a=e(26),u=e(3),c=e(14),f=e(18),s=e(15),l=e(27),p=e(31),h=u.WeakMap;if(a){var v=new h,g=v.get,d=v.has,y=v.set;r=function(t,n){return y.call(v,t,n),n},o=function(t){return g.call(v,t)||{}},i=function(t){return d.call(v,t)}}else{var x=l("state");p[x]=!0,r=function(t,n){return f(t,x,n),n},o=function(t){return s(t,x)?t[x]:{}},i=function(t){return s(t,x)}}t.exports={set:r,get:o,has:i,enforce:function(t){return i(t)?o(t):r(t,{})},getterFor:function(t){return function(n){var e;if(!c(n)||(e=o(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}}},function(t,n,e){var r=e(3),o=e(23),i=r.WeakMap;t.exports="function"==typeof i&&/native code/.test(o(i))},function(t,n,e){var r=e(28),o=e(30),i=r("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(t,n,e){var r=e(29),o=e(24);(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,n){t.exports=!1},function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++e+r).toString(36)}},function(t,n){t.exports={}},function(t,n,e){var r=e(15),o=e(33),i=e(4),a=e(19);t.exports=function(t,n){for(var e=o(n),u=a.f,c=i.f,f=0;fc;)r(u,e=n[c++])&&(~i(f,e)||f.push(e));return f}},function(t,n,e){var r=e(9),o=e(39),i=e(41),a=function(t){return function(n,e,a){var u,c=r(n),f=o(c.length),s=i(a,f);if(t&&e!=e){for(;f>s;)if((u=c[s++])!=u)return!0}else for(;f>s;s++)if((t||s in c)&&c[s]===e)return t||s||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},function(t,n,e){var r=e(40),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){var r=e(40),o=Math.max,i=Math.min;t.exports=function(t,n){var e=r(t);return e<0?o(e+n,0):i(e,n)}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(6),o=/#|\.prototype\./,i=function(t,n){var e=u[a(t)];return e==f||e!=c&&("function"==typeof n?r(n):!!n)},a=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},u=i.data={},c=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,n,e){var r=e(11);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,n,e){var r=e(12);t.exports=function(t){return Object(r(t))}},function(t,n,e){var r=e(13),o=e(19),i=e(8);t.exports=function(t,n,e){var a=r(n);a in t?o.f(t,a,i(0,e)):t[a]=e}},function(t,n,e){var r=e(14),o=e(45),i=e(49)("species");t.exports=function(t,n){var e;return o(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!o(e.prototype)?r(e)&&null===(e=e[i])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)}},function(t,n,e){var r=e(3),o=e(28),i=e(15),a=e(30),u=e(50),c=e(51),f=o("wks"),s=r.Symbol,l=c?s:s&&s.withoutSetter||a;t.exports=function(t){return i(f,t)||(u&&i(s,t)?f[t]=s[t]:f[t]=l("Symbol."+t)),f[t]}},function(t,n,e){var r=e(6);t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(t,n,e){var r=e(50);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,n,e){var r=e(6),o=e(49),i=e(53),a=o("species");t.exports=function(t){return i>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[t](Boolean).foo}))}},function(t,n,e){var r,o,i=e(3),a=e(54),u=i.process,c=u&&u.versions,f=c&&c.v8;f?o=(r=f.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=r[1]),t.exports=o&&+o},function(t,n,e){var r=e(34);t.exports=r("navigator","userAgent")||""},function(t,n,e){var r=e(2),o=e(56),i=e(57);r({target:"Array",proto:!0},{copyWithin:o}),i("copyWithin")},function(t,n,e){var r=e(46),o=e(41),i=e(39),a=Math.min;t.exports=[].copyWithin||function(t,n){var e=r(this),u=i(e.length),c=o(t,u),f=o(n,u),s=arguments.length>2?arguments[2]:void 0,l=a((void 0===s?u:o(s,u))-f,u-c),p=1;for(f0;)f in e?e[c]=e[f]:delete e[c],c+=p,f+=p;return e}},function(t,n,e){var r=e(49),o=e(58),i=e(19),a=r("unscopables"),u=Array.prototype;null==u[a]&&i.f(u,a,{configurable:!0,value:o(null)}),t.exports=function(t){u[a][t]=!0}},function(t,n,e){var r,o=e(20),i=e(59),a=e(42),u=e(31),c=e(61),f=e(17),s=e(27),l=s("IE_PROTO"),p=function(){},h=function(t){return"\n // ```\n // In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback\n // will be called with `newValue = \"some-value\"` and will set the shadowed property (this.someAttribute = \"another-value\")\n // to the value that was set inline i.e. \"some-value\" from above example. When\n // the connectedCallback attempts to unshadow it will use \"some-value\" as the initial value rather than \"another-value\"\n //\n // The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed\n // by connectedCallback as this attributeChangedCallback will not fire.\n //\n // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties\n //\n // TODO(STENCIL-16) we should think about whether or not we actually want to be reflecting the attributes to\n // properties here given that this goes against best practices outlined here\n // https://developers.google.com/web/fundamentals/web-components/best-practices#avoid-reentrancy\n if (this.hasOwnProperty(propName)) {\n newValue = this[propName];\n delete this[propName];\n }\n else if (prototype.hasOwnProperty(propName) &&\n typeof this[propName] === 'number' &&\n this[propName] == newValue) {\n // if the propName exists on the prototype of `Cstr`, this update may be a result of Stencil using native\n // APIs to reflect props as attributes. Calls to `setAttribute(someElement, propName)` will result in\n // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.\n return;\n }\n this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;\n });\n };\n // create an array of attributes to observe\n // and also create a map of html attribute name to js property name\n Cstr.observedAttributes = members\n .filter(([_, m]) => m[0] & 15 /* HasAttribute */) // filter to only keep props that should match attributes\n .map(([propName, m]) => {\n const attrName = m[1] || propName;\n attrNameToPropName.set(attrName, propName);\n if (BUILD.reflect && m[0] & 512 /* ReflectAttr */) {\n cmpMeta.$attrsToReflect$.push([propName, attrName]);\n }\n return attrName;\n });\n }\n }\n return Cstr;\n};\nconst initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {\n // initializeComponent\n if ((BUILD.lazyLoad || BUILD.hydrateServerSide || BUILD.style) &&\n (hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {\n if (BUILD.lazyLoad || BUILD.hydrateClientSide) {\n // we haven't initialized this element yet\n hostRef.$flags$ |= 32 /* hasInitializedComponent */;\n // lazy loaded components\n // request the component's implementation to be\n // wired up with the host element\n Cstr = loadModule(cmpMeta, hostRef, hmrVersionId);\n if (Cstr.then) {\n // Await creates a micro-task avoid if possible\n const endLoad = uniqueTime(`st:load:${cmpMeta.$tagName$}:${hostRef.$modeName$}`, `[Stencil] Load module for <${cmpMeta.$tagName$}>`);\n Cstr = await Cstr;\n endLoad();\n }\n if ((BUILD.isDev || BUILD.isDebug) && !Cstr) {\n throw new Error(`Constructor for \"${cmpMeta.$tagName$}#${hostRef.$modeName$}\" was not found`);\n }\n if (BUILD.member && !Cstr.isProxied) {\n // we've never proxied this Constructor before\n // let's add the getters/setters to its prototype before\n // the first time we create an instance of the implementation\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);\n Cstr.isProxied = true;\n }\n const endNewInstance = createTime('createInstance', cmpMeta.$tagName$);\n // ok, time to construct the instance\n // but let's keep track of when we start and stop\n // so that the getters/setters don't incorrectly step on data\n if (BUILD.member) {\n hostRef.$flags$ |= 8 /* isConstructingInstance */;\n }\n // construct the lazy-loaded component implementation\n // passing the hostRef is very important during\n // construction in order to directly wire together the\n // host element and the lazy-loaded instance\n try {\n new Cstr(hostRef);\n }\n catch (e) {\n consoleError(e);\n }\n if (BUILD.member) {\n hostRef.$flags$ &= ~8 /* isConstructingInstance */;\n }\n if (BUILD.watchCallback) {\n hostRef.$flags$ |= 128 /* isWatchReady */;\n }\n endNewInstance();\n fireConnectedCallback(hostRef.$lazyInstance$);\n }\n else {\n // sync constructor component\n Cstr = elm.constructor;\n hostRef.$flags$ |= 32 /* hasInitializedComponent */;\n // wait for the CustomElementRegistry to mark the component as ready before setting `isWatchReady`. Otherwise,\n // watchers may fire prematurely if `customElements.get()`/`customElements.whenDefined()` resolves _before_\n // Stencil has completed instantiating the component.\n customElements.whenDefined(cmpMeta.$tagName$).then(() => (hostRef.$flags$ |= 128 /* isWatchReady */));\n }\n if (BUILD.style && Cstr.style) {\n // this component has styles but we haven't registered them yet\n let style = Cstr.style;\n if (BUILD.mode && typeof style !== 'string') {\n style = style[(hostRef.$modeName$ = computeMode(elm))];\n if (BUILD.hydrateServerSide && hostRef.$modeName$) {\n elm.setAttribute('s-mode', hostRef.$modeName$);\n }\n }\n const scopeId = getScopeId(cmpMeta, hostRef.$modeName$);\n if (!styles.has(scopeId)) {\n const endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);\n if (!BUILD.hydrateServerSide &&\n BUILD.shadowDom &&\n BUILD.shadowDomShim &&\n cmpMeta.$flags$ & 8 /* needsShadowDomShim */) {\n style = await import('./shadow-css.js').then((m) => m.scopeCss(style, scopeId, false));\n }\n registerStyle(scopeId, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));\n endRegisterStyles();\n }\n }\n }\n // we've successfully created a lazy instance\n const ancestorComponent = hostRef.$ancestorComponent$;\n const schedule = () => scheduleUpdate(hostRef, true);\n if (BUILD.asyncLoading && ancestorComponent && ancestorComponent['s-rc']) {\n // this is the initial load and this component it has an ancestor component\n // but the ancestor component has NOT fired its will update lifecycle yet\n // so let's just cool our jets and wait for the ancestor to continue first\n // this will get fired off when the ancestor component\n // finally gets around to rendering its lazy self\n // fire off the initial update\n ancestorComponent['s-rc'].push(schedule);\n }\n else {\n schedule();\n }\n};\nconst fireConnectedCallback = (instance) => {\n if (BUILD.lazyLoad && BUILD.connectedCallback) {\n safeCall(instance, 'connectedCallback');\n }\n};\nconst connectedCallback = (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n const hostRef = getHostRef(elm);\n const cmpMeta = hostRef.$cmpMeta$;\n const endConnected = createTime('connectedCallback', cmpMeta.$tagName$);\n if (BUILD.hostListenerTargetParent) {\n // only run if we have listeners being attached to a parent\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, true);\n }\n if (!(hostRef.$flags$ & 1 /* hasConnected */)) {\n // first time this component has connected\n hostRef.$flags$ |= 1 /* hasConnected */;\n let hostId;\n if (BUILD.hydrateClientSide) {\n hostId = elm.getAttribute(HYDRATE_ID);\n if (hostId) {\n if (BUILD.shadowDom && supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n const scopeId = BUILD.mode\n ? addStyle(elm.shadowRoot, cmpMeta, elm.getAttribute('s-mode'))\n : addStyle(elm.shadowRoot, cmpMeta);\n elm.classList.remove(scopeId + '-h', scopeId + '-s');\n }\n initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef);\n }\n }\n if (BUILD.slotRelocation && !hostId) {\n // initUpdate\n // if the slot polyfill is required we'll need to put some nodes\n // in here to act as original content anchors as we move nodes around\n // host element has been connected to the DOM\n if (BUILD.hydrateServerSide ||\n ((BUILD.slot || BUILD.shadowDom) &&\n cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */))) {\n setContentReference(elm);\n }\n }\n if (BUILD.asyncLoading) {\n // find the first ancestor component (if there is one) and register\n // this component as one of the actively loading child components for its ancestor\n let ancestorComponent = elm;\n while ((ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host)) {\n // climb up the ancestors looking for the first\n // component that hasn't finished its lifecycle update yet\n if ((BUILD.hydrateClientSide &&\n ancestorComponent.nodeType === 1 /* ElementNode */ &&\n ancestorComponent.hasAttribute('s-id') &&\n ancestorComponent['s-p']) ||\n ancestorComponent['s-p']) {\n // we found this components first ancestor component\n // keep a reference to this component's ancestor component\n attachToAncestor(hostRef, (hostRef.$ancestorComponent$ = ancestorComponent));\n break;\n }\n }\n }\n // Lazy properties\n // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties\n if (BUILD.prop && !BUILD.hydrateServerSide && cmpMeta.$members$) {\n Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {\n if (memberFlags & 31 /* Prop */ && elm.hasOwnProperty(memberName)) {\n const value = elm[memberName];\n delete elm[memberName];\n elm[memberName] = value;\n }\n });\n }\n if (BUILD.initializeNextTick) {\n // connectedCallback, taskQueue, initialLoad\n // angular sets attribute AFTER connectCallback\n // https://github.com/angular/angular/issues/18909\n // https://github.com/angular/angular/issues/19940\n nextTick(() => initializeComponent(elm, hostRef, cmpMeta));\n }\n else {\n initializeComponent(elm, hostRef, cmpMeta);\n }\n }\n else {\n // not the first time this has connected\n // reattach any event listeners to the host\n // since they would have been removed when disconnected\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, false);\n // fire off connectedCallback() on component instance\n fireConnectedCallback(hostRef.$lazyInstance$);\n }\n endConnected();\n }\n};\nconst setContentReference = (elm) => {\n // only required when we're NOT using native shadow dom (slot)\n // or this browser doesn't support native shadow dom\n // and this host element was NOT created with SSR\n // let's pick out the inner content for slot projection\n // create a node to represent where the original\n // content was first placed, which is useful later on\n const contentRefElm = (elm['s-cr'] = doc.createComment(BUILD.isDebug ? `content-ref (host=${elm.localName})` : ''));\n contentRefElm['s-cn'] = true;\n elm.insertBefore(contentRefElm, elm.firstChild);\n};\nconst disconnectedCallback = (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n const hostRef = getHostRef(elm);\n const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm;\n if (BUILD.hostListener) {\n if (hostRef.$rmListeners$) {\n hostRef.$rmListeners$.map((rmListener) => rmListener());\n hostRef.$rmListeners$ = undefined;\n }\n }\n // clear CSS var-shim tracking\n if (BUILD.cssVarShim && plt.$cssShim$) {\n plt.$cssShim$.removeHost(elm);\n }\n if (BUILD.lazyLoad && BUILD.disconnectedCallback) {\n safeCall(instance, 'disconnectedCallback');\n }\n if (BUILD.cmpDidUnload) {\n safeCall(instance, 'componentDidUnload');\n }\n }\n};\nconst defineCustomElement = (Cstr, compactMeta) => {\n customElements.define(compactMeta[1], proxyCustomElement(Cstr, compactMeta));\n};\nconst proxyCustomElement = (Cstr, compactMeta) => {\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1],\n };\n if (BUILD.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = Cstr.$watchers$;\n }\n if (BUILD.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n cmpMeta.$flags$ |= 8 /* needsShadowDomShim */;\n }\n const originalConnectedCallback = Cstr.prototype.connectedCallback;\n const originalDisconnectedCallback = Cstr.prototype.disconnectedCallback;\n Object.assign(Cstr.prototype, {\n __registerHost() {\n registerHost(this, cmpMeta);\n },\n connectedCallback() {\n connectedCallback(this);\n if (BUILD.connectedCallback && originalConnectedCallback) {\n originalConnectedCallback.call(this);\n }\n },\n disconnectedCallback() {\n disconnectedCallback(this);\n if (BUILD.disconnectedCallback && originalDisconnectedCallback) {\n originalDisconnectedCallback.call(this);\n }\n },\n __attachShadow() {\n if (supportsShadow) {\n if (BUILD.shadowDelegatesFocus) {\n this.attachShadow({\n mode: 'open',\n delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */),\n });\n }\n else {\n this.attachShadow({ mode: 'open' });\n }\n }\n else {\n this.shadowRoot = this;\n }\n },\n });\n Cstr.is = cmpMeta.$tagName$;\n return proxyComponent(Cstr, cmpMeta, 1 /* isElementConstructor */ | 2 /* proxyState */);\n};\nconst forceModeUpdate = (elm) => {\n if (BUILD.style && BUILD.mode && !BUILD.lazyLoad) {\n const mode = computeMode(elm);\n const hostRef = getHostRef(elm);\n if (hostRef.$modeName$ !== mode) {\n const cmpMeta = hostRef.$cmpMeta$;\n const oldScopeId = elm['s-sc'];\n const scopeId = getScopeId(cmpMeta, mode);\n const style = elm.constructor.style[mode];\n const flags = cmpMeta.$flags$;\n if (style) {\n if (!styles.has(scopeId)) {\n registerStyle(scopeId, style, !!(flags & 1 /* shadowDomEncapsulation */));\n }\n hostRef.$modeName$ = mode;\n elm.classList.remove(oldScopeId + '-h', oldScopeId + '-s');\n attachStyles(hostRef);\n forceUpdate(elm);\n }\n }\n }\n};\nconst hmrStart = (elm, cmpMeta, hmrVersionId) => {\n // ¯\\_(ツ)_/¯\n const hostRef = getHostRef(elm);\n // reset state flags to only have been connected\n hostRef.$flags$ = 1 /* hasConnected */;\n // TODO\n // detatch any event listeners that may have been added\n // because we're not passing an exact event name it'll\n // remove all of this element's event, which is good\n // create a callback for when this component finishes hmr\n elm['s-hmr-load'] = () => {\n // finished hmr for this element\n delete elm['s-hmr-load'];\n };\n // re-initialize the component\n initializeComponent(elm, hostRef, cmpMeta, hmrVersionId);\n};\nconst patchCloneNode = (HostElementPrototype) => {\n const orgCloneNode = HostElementPrototype.cloneNode;\n HostElementPrototype.cloneNode = function (deep) {\n const srcNode = this;\n const isShadowDom = BUILD.shadowDom ? srcNode.shadowRoot && supportsShadow : false;\n const clonedNode = orgCloneNode.call(srcNode, isShadowDom ? deep : false);\n if (BUILD.slot && !isShadowDom && deep) {\n let i = 0;\n let slotted, nonStencilNode;\n let stencilPrivates = [\n 's-id',\n 's-cr',\n 's-lr',\n 's-rc',\n 's-sc',\n 's-p',\n 's-cn',\n 's-sr',\n 's-sn',\n 's-hn',\n 's-ol',\n 's-nr',\n 's-si',\n ];\n for (; i < srcNode.childNodes.length; i++) {\n slotted = srcNode.childNodes[i]['s-nr'];\n nonStencilNode = stencilPrivates.every((privateField) => !srcNode.childNodes[i][privateField]);\n if (slotted) {\n if (BUILD.appendChildSlotFix && clonedNode.__appendChild) {\n clonedNode.__appendChild(slotted.cloneNode(true));\n }\n else {\n clonedNode.appendChild(slotted.cloneNode(true));\n }\n }\n if (nonStencilNode) {\n clonedNode.appendChild(srcNode.childNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nconst patchSlotAppendChild = (HostElementPrototype) => {\n HostElementPrototype.__appendChild = HostElementPrototype.appendChild;\n HostElementPrototype.appendChild = function (newChild) {\n const slotName = (newChild['s-sn'] = getSlotName(newChild));\n const slotNode = getHostSlotNode(this.childNodes, slotName);\n if (slotNode) {\n const slotChildNodes = getHostSlotChildNodes(slotNode, slotName);\n const appendAfter = slotChildNodes[slotChildNodes.length - 1];\n return appendAfter.parentNode.insertBefore(newChild, appendAfter.nextSibling);\n }\n return this.__appendChild(newChild);\n };\n};\n/**\n * Patches the text content of an unnamed slotted node inside a scoped component\n * @param hostElementPrototype the `Element` to be patched\n * @param cmpMeta component runtime metadata used to determine if the component should be patched or not\n */\nconst patchTextContent = (hostElementPrototype, cmpMeta) => {\n if (BUILD.scoped && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n const descriptor = Object.getOwnPropertyDescriptor(Node.prototype, 'textContent');\n Object.defineProperty(hostElementPrototype, '__textContent', descriptor);\n Object.defineProperty(hostElementPrototype, 'textContent', {\n get() {\n var _a;\n // get the 'default slot', which would be the first slot in a shadow tree (if we were using one), whose name is\n // the empty string\n const slotNode = getHostSlotNode(this.childNodes, '');\n // when a slot node is found, the textContent _may_ be found in the next sibling (text) node, depending on how\n // nodes were reordered during the vdom render. first try to get the text content from the sibling.\n if (((_a = slotNode === null || slotNode === void 0 ? void 0 : slotNode.nextSibling) === null || _a === void 0 ? void 0 : _a.nodeType) === 3 /* TEXT_NODE */) {\n return slotNode.nextSibling.textContent;\n }\n else if (slotNode) {\n return slotNode.textContent;\n }\n else {\n // fallback to the original implementation\n return this.__textContent;\n }\n },\n set(value) {\n var _a;\n // get the 'default slot', which would be the first slot in a shadow tree (if we were using one), whose name is\n // the empty string\n const slotNode = getHostSlotNode(this.childNodes, '');\n // when a slot node is found, the textContent _may_ need to be placed in the next sibling (text) node,\n // depending on how nodes were reordered during the vdom render. first try to set the text content on the\n // sibling.\n if (((_a = slotNode === null || slotNode === void 0 ? void 0 : slotNode.nextSibling) === null || _a === void 0 ? void 0 : _a.nodeType) === 3 /* TEXT_NODE */) {\n slotNode.nextSibling.textContent = value;\n }\n else if (slotNode) {\n slotNode.textContent = value;\n }\n else {\n // we couldn't find a slot, but that doesn't mean that there isn't one. if this check ran before the DOM\n // loaded, we could have missed it. check for a content reference element on the scoped component and insert\n // it there\n this.__textContent = value;\n const contentRefElm = this['s-cr'];\n if (contentRefElm) {\n this.insertBefore(contentRefElm, this.firstChild);\n }\n }\n },\n });\n }\n};\nconst patchChildSlotNodes = (elm, cmpMeta) => {\n class FakeNodeList extends Array {\n item(n) {\n return this[n];\n }\n }\n if (cmpMeta.$flags$ & 8 /* needsShadowDomShim */) {\n const childNodesFn = elm.__lookupGetter__('childNodes');\n Object.defineProperty(elm, 'children', {\n get() {\n return this.childNodes.map((n) => n.nodeType === 1);\n },\n });\n Object.defineProperty(elm, 'childElementCount', {\n get() {\n return elm.children.length;\n },\n });\n Object.defineProperty(elm, 'childNodes', {\n get() {\n const childNodes = childNodesFn.call(this);\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0 &&\n getHostRef(this).$flags$ & 2 /* hasRendered */) {\n const result = new FakeNodeList();\n for (let i = 0; i < childNodes.length; i++) {\n const slot = childNodes[i]['s-nr'];\n if (slot) {\n result.push(slot);\n }\n }\n return result;\n }\n return FakeNodeList.from(childNodes);\n },\n });\n }\n};\nconst getSlotName = (node) => node['s-sn'] || (node.nodeType === 1 && node.getAttribute('slot')) || '';\n/**\n * Recursively searches a series of child nodes for a slot with the provided name.\n * @param childNodes the nodes to search for a slot with a specific name.\n * @param slotName the name of the slot to match on.\n * @returns a reference to the slot node that matches the provided name, `null` otherwise\n */\nconst getHostSlotNode = (childNodes, slotName) => {\n let i = 0;\n let childNode;\n for (; i < childNodes.length; i++) {\n childNode = childNodes[i];\n if (childNode['s-sr'] && childNode['s-sn'] === slotName) {\n return childNode;\n }\n childNode = getHostSlotNode(childNode.childNodes, slotName);\n if (childNode) {\n return childNode;\n }\n }\n return null;\n};\nconst getHostSlotChildNodes = (n, slotName) => {\n const childNodes = [n];\n while ((n = n.nextSibling) && n['s-sn'] === slotName) {\n childNodes.push(n);\n }\n return childNodes;\n};\nconst bootstrapLazy = (lazyBundles, options = {}) => {\n if (BUILD.profile && performance.mark) {\n performance.mark('st:app:start');\n }\n installDevTools();\n const endBootstrap = createTime('bootstrapLazy');\n const cmpTags = [];\n const exclude = options.exclude || [];\n const customElements = win.customElements;\n const head = doc.head;\n const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');\n const visibilityStyle = /*@__PURE__*/ doc.createElement('style');\n const deferredConnectedCallbacks = [];\n const styles = /*@__PURE__*/ doc.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);\n let appLoadFallback;\n let isBootstrapping = true;\n let i = 0;\n Object.assign(plt, options);\n plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;\n if (BUILD.asyncQueue) {\n if (options.syncQueue) {\n plt.$flags$ |= 4 /* queueSync */;\n }\n }\n if (BUILD.hydrateClientSide) {\n // If the app is already hydrated there is not point to disable the\n // async queue. This will improve the first input delay\n plt.$flags$ |= 2 /* appLoaded */;\n }\n if (BUILD.hydrateClientSide && BUILD.shadowDom) {\n for (; i < styles.length; i++) {\n registerStyle(styles[i].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles[i].innerHTML), true);\n }\n }\n lazyBundles.map((lazyBundle) => {\n lazyBundle[1].map((compactMeta) => {\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1],\n $members$: compactMeta[2],\n $listeners$: compactMeta[3],\n };\n if (BUILD.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = {};\n }\n if (BUILD.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n cmpMeta.$flags$ |= 8 /* needsShadowDomShim */;\n }\n const tagName = BUILD.transformTagName && options.transformTagName\n ? options.transformTagName(cmpMeta.$tagName$)\n : cmpMeta.$tagName$;\n const HostElement = class extends HTMLElement {\n // StencilLazyHost\n constructor(self) {\n // @ts-ignore\n super(self);\n self = this;\n registerHost(self, cmpMeta);\n if (BUILD.shadowDom && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n // this component is using shadow dom\n // and this browser supports shadow dom\n // add the read-only property \"shadowRoot\" to the host element\n // adding the shadow root build conditionals to minimize runtime\n if (supportsShadow) {\n if (BUILD.shadowDelegatesFocus) {\n self.attachShadow({\n mode: 'open',\n delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */),\n });\n }\n else {\n self.attachShadow({ mode: 'open' });\n }\n }\n else if (!BUILD.hydrateServerSide && !('shadowRoot' in self)) {\n self.shadowRoot = self;\n }\n }\n if (BUILD.slotChildNodesFix) {\n patchChildSlotNodes(self, cmpMeta);\n }\n }\n connectedCallback() {\n if (appLoadFallback) {\n clearTimeout(appLoadFallback);\n appLoadFallback = null;\n }\n if (isBootstrapping) {\n // connectedCallback will be processed once all components have been registered\n deferredConnectedCallbacks.push(this);\n }\n else {\n plt.jmp(() => connectedCallback(this));\n }\n }\n disconnectedCallback() {\n plt.jmp(() => disconnectedCallback(this));\n }\n componentOnReady() {\n return getHostRef(this).$onReadyPromise$;\n }\n };\n if (BUILD.cloneNodeFix) {\n patchCloneNode(HostElement.prototype);\n }\n if (BUILD.appendChildSlotFix) {\n patchSlotAppendChild(HostElement.prototype);\n }\n if (BUILD.hotModuleReplacement) {\n HostElement.prototype['s-hmr'] = function (hmrVersionId) {\n hmrStart(this, cmpMeta, hmrVersionId);\n };\n }\n if (BUILD.scopedSlotTextContentFix) {\n patchTextContent(HostElement.prototype, cmpMeta);\n }\n cmpMeta.$lazyBundleId$ = lazyBundle[0];\n if (!exclude.includes(tagName) && !customElements.get(tagName)) {\n cmpTags.push(tagName);\n customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 /* isElementConstructor */));\n }\n });\n });\n if (BUILD.invisiblePrehydration && (BUILD.hydratedClass || BUILD.hydratedAttribute)) {\n visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;\n visibilityStyle.setAttribute('data-styles', '');\n head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);\n }\n // Process deferred connectedCallbacks now all components have been registered\n isBootstrapping = false;\n if (deferredConnectedCallbacks.length) {\n deferredConnectedCallbacks.map((host) => host.connectedCallback());\n }\n else {\n if (BUILD.profile) {\n plt.jmp(() => (appLoadFallback = setTimeout(appDidLoad, 30, 'timeout')));\n }\n else {\n plt.jmp(() => (appLoadFallback = setTimeout(appDidLoad, 30)));\n }\n }\n // Fallback appLoad event\n endBootstrap();\n};\nconst getAssetPath = (path) => {\n const assetUrl = new URL(path, plt.$resourcesUrl$);\n return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;\n};\nconst setAssetPath = (path) => (plt.$resourcesUrl$ = path);\nconst getConnect = (_ref, tagName) => {\n const componentOnReady = () => {\n let elm = doc.querySelector(tagName);\n if (!elm) {\n elm = doc.createElement(tagName);\n doc.body.appendChild(elm);\n }\n return typeof elm.componentOnReady === 'function' ? elm.componentOnReady() : Promise.resolve(elm);\n };\n const create = (...args) => {\n return componentOnReady().then((el) => el.create(...args));\n };\n return {\n create,\n componentOnReady,\n };\n};\nconst getContext = (_elm, context) => {\n if (context in Context) {\n return Context[context];\n }\n else if (context === 'window') {\n return win;\n }\n else if (context === 'document') {\n return doc;\n }\n else if (context === 'isServer' || context === 'isPrerender') {\n return BUILD.hydrateServerSide ? true : false;\n }\n else if (context === 'isClient') {\n return BUILD.hydrateServerSide ? false : true;\n }\n else if (context === 'resourcesUrl' || context === 'publicPath') {\n return getAssetPath('.');\n }\n else if (context === 'queue') {\n return {\n write: writeTask,\n read: readTask,\n tick: {\n then(cb) {\n return nextTick(cb);\n },\n },\n };\n }\n return undefined;\n};\nconst insertVdomAnnotations = (doc, staticComponents) => {\n if (doc != null) {\n const docData = {\n hostIds: 0,\n rootLevelIds: 0,\n staticComponents: new Set(staticComponents),\n };\n const orgLocationNodes = [];\n parseVNodeAnnotations(doc, doc.body, docData, orgLocationNodes);\n orgLocationNodes.forEach((orgLocationNode) => {\n if (orgLocationNode != null) {\n const nodeRef = orgLocationNode['s-nr'];\n let hostId = nodeRef['s-host-id'];\n let nodeId = nodeRef['s-node-id'];\n let childId = `${hostId}.${nodeId}`;\n if (hostId == null) {\n hostId = 0;\n docData.rootLevelIds++;\n nodeId = docData.rootLevelIds;\n childId = `${hostId}.${nodeId}`;\n if (nodeRef.nodeType === 1 /* ElementNode */) {\n nodeRef.setAttribute(HYDRATE_CHILD_ID, childId);\n }\n else if (nodeRef.nodeType === 3 /* TextNode */) {\n if (hostId === 0) {\n const textContent = nodeRef.nodeValue.trim();\n if (textContent === '') {\n // useless whitespace node at the document root\n orgLocationNode.remove();\n return;\n }\n }\n const commentBeforeTextNode = doc.createComment(childId);\n commentBeforeTextNode.nodeValue = `${TEXT_NODE_ID}.${childId}`;\n nodeRef.parentNode.insertBefore(commentBeforeTextNode, nodeRef);\n }\n }\n let orgLocationNodeId = `${ORG_LOCATION_ID}.${childId}`;\n const orgLocationParentNode = orgLocationNode.parentElement;\n if (orgLocationParentNode) {\n if (orgLocationParentNode['s-en'] === '') {\n // ending with a \".\" means that the parent element\n // of this node's original location is a SHADOW dom element\n // and this node is apart of the root level light dom\n orgLocationNodeId += `.`;\n }\n else if (orgLocationParentNode['s-en'] === 'c') {\n // ending with a \".c\" means that the parent element\n // of this node's original location is a SCOPED element\n // and this node is apart of the root level light dom\n orgLocationNodeId += `.c`;\n }\n }\n orgLocationNode.nodeValue = orgLocationNodeId;\n }\n });\n }\n};\nconst parseVNodeAnnotations = (doc, node, docData, orgLocationNodes) => {\n if (node == null) {\n return;\n }\n if (node['s-nr'] != null) {\n orgLocationNodes.push(node);\n }\n if (node.nodeType === 1 /* ElementNode */) {\n node.childNodes.forEach((childNode) => {\n const hostRef = getHostRef(childNode);\n if (hostRef != null && !docData.staticComponents.has(childNode.nodeName.toLowerCase())) {\n const cmpData = {\n nodeIds: 0,\n };\n insertVNodeAnnotations(doc, childNode, hostRef.$vnode$, docData, cmpData);\n }\n parseVNodeAnnotations(doc, childNode, docData, orgLocationNodes);\n });\n }\n};\nconst insertVNodeAnnotations = (doc, hostElm, vnode, docData, cmpData) => {\n if (vnode != null) {\n const hostId = ++docData.hostIds;\n hostElm.setAttribute(HYDRATE_ID, hostId);\n if (hostElm['s-cr'] != null) {\n hostElm['s-cr'].nodeValue = `${CONTENT_REF_ID}.${hostId}`;\n }\n if (vnode.$children$ != null) {\n const depth = 0;\n vnode.$children$.forEach((vnodeChild, index) => {\n insertChildVNodeAnnotations(doc, vnodeChild, cmpData, hostId, depth, index);\n });\n }\n if (hostElm && vnode && vnode.$elm$ && !hostElm.hasAttribute('c-id')) {\n const parent = hostElm.parentElement;\n if (parent && parent.childNodes) {\n const parentChildNodes = Array.from(parent.childNodes);\n const comment = parentChildNodes.find((node) => node.nodeType === 8 /* CommentNode */ && node['s-sr']);\n if (comment) {\n const index = parentChildNodes.indexOf(hostElm) - 1;\n vnode.$elm$.setAttribute(HYDRATE_CHILD_ID, `${comment['s-host-id']}.${comment['s-node-id']}.0.${index}`);\n }\n }\n }\n }\n};\nconst insertChildVNodeAnnotations = (doc, vnodeChild, cmpData, hostId, depth, index) => {\n const childElm = vnodeChild.$elm$;\n if (childElm == null) {\n return;\n }\n const nodeId = cmpData.nodeIds++;\n const childId = `${hostId}.${nodeId}.${depth}.${index}`;\n childElm['s-host-id'] = hostId;\n childElm['s-node-id'] = nodeId;\n if (childElm.nodeType === 1 /* ElementNode */) {\n childElm.setAttribute(HYDRATE_CHILD_ID, childId);\n }\n else if (childElm.nodeType === 3 /* TextNode */) {\n const parentNode = childElm.parentNode;\n const nodeName = parentNode.nodeName;\n if (nodeName !== 'STYLE' && nodeName !== 'SCRIPT') {\n const textNodeId = `${TEXT_NODE_ID}.${childId}`;\n const commentBeforeTextNode = doc.createComment(textNodeId);\n parentNode.insertBefore(commentBeforeTextNode, childElm);\n }\n }\n else if (childElm.nodeType === 8 /* CommentNode */) {\n if (childElm['s-sr']) {\n const slotName = childElm['s-sn'] || '';\n const slotNodeId = `${SLOT_NODE_ID}.${childId}.${slotName}`;\n childElm.nodeValue = slotNodeId;\n }\n }\n if (vnodeChild.$children$ != null) {\n const childDepth = depth + 1;\n vnodeChild.$children$.forEach((vnode, index) => {\n insertChildVNodeAnnotations(doc, vnode, cmpData, hostId, childDepth, index);\n });\n }\n};\nconst setPlatformOptions = (opts) => Object.assign(plt, opts);\nconst Fragment = (_, children) => children;\nconst hostRefs = new WeakMap();\nconst getHostRef = (ref) => hostRefs.get(ref);\nconst registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);\nconst registerHost = (elm, cmpMeta) => {\n const hostRef = {\n $flags$: 0,\n $hostElement$: elm,\n $cmpMeta$: cmpMeta,\n $instanceValues$: new Map(),\n };\n if (BUILD.isDev) {\n hostRef.$renderCount$ = 0;\n }\n if (BUILD.method && BUILD.lazyLoad) {\n hostRef.$onInstancePromise$ = new Promise((r) => (hostRef.$onInstanceResolve$ = r));\n }\n if (BUILD.asyncLoading) {\n hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));\n elm['s-p'] = [];\n elm['s-rc'] = [];\n }\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, false);\n return hostRefs.set(elm, hostRef);\n};\nconst isMemberInElement = (elm, memberName) => memberName in elm;\nconst consoleError = (e, el) => (customError || console.error)(e, el);\nconst STENCIL_DEV_MODE = BUILD.isTesting\n ? ['STENCIL:'] // E2E testing\n : [\n '%cstencil',\n 'color: white;background:#4c47ff;font-weight: bold; font-size:10px; padding:2px 6px; border-radius: 5px',\n ];\nconst consoleDevError = (...m) => console.error(...STENCIL_DEV_MODE, ...m);\nconst consoleDevWarn = (...m) => console.warn(...STENCIL_DEV_MODE, ...m);\nconst consoleDevInfo = (...m) => console.info(...STENCIL_DEV_MODE, ...m);\nconst setErrorHandler = (handler) => (customError = handler);\nconst cmpModules = /*@__PURE__*/ new Map();\nconst loadModule = (cmpMeta, hostRef, hmrVersionId) => {\n // loadModuleImport\n const exportName = cmpMeta.$tagName$.replace(/-/g, '_');\n const bundleId = cmpMeta.$lazyBundleId$;\n if (BUILD.isDev && typeof bundleId !== 'string') {\n consoleDevError(`Trying to lazily load component <${cmpMeta.$tagName$}> with style mode \"${hostRef.$modeName$}\", but it does not exist.`);\n return undefined;\n }\n const module = !BUILD.hotModuleReplacement ? cmpModules.get(bundleId) : false;\n if (module) {\n return module[exportName];\n }\n return import(\n /* webpackInclude: /\\.entry\\.js$/ */\n /* webpackExclude: /\\.system\\.entry\\.js$/ */\n /* webpackMode: \"lazy\" */\n `./${bundleId}.entry.js${BUILD.hotModuleReplacement && hmrVersionId ? '?s-hmr=' + hmrVersionId : ''}`).then((importedModule) => {\n if (!BUILD.hotModuleReplacement) {\n cmpModules.set(bundleId, importedModule);\n }\n return importedModule[exportName];\n }, consoleError);\n};\nconst styles = new Map();\nconst modeResolutionChain = [];\nconst queueDomReads = [];\nconst queueDomWrites = [];\nconst queueDomWritesLow = [];\nconst queueTask = (queue, write) => (cb) => {\n queue.push(cb);\n if (!queuePending) {\n queuePending = true;\n if (write && plt.$flags$ & 4 /* queueSync */) {\n nextTick(flush);\n }\n else {\n plt.raf(flush);\n }\n }\n};\nconst consume = (queue) => {\n for (let i = 0; i < queue.length; i++) {\n try {\n queue[i](performance.now());\n }\n catch (e) {\n consoleError(e);\n }\n }\n queue.length = 0;\n};\nconst consumeTimeout = (queue, timeout) => {\n let i = 0;\n let ts = 0;\n while (i < queue.length && (ts = performance.now()) < timeout) {\n try {\n queue[i++](ts);\n }\n catch (e) {\n consoleError(e);\n }\n }\n if (i === queue.length) {\n queue.length = 0;\n }\n else if (i !== 0) {\n queue.splice(0, i);\n }\n};\nconst flush = () => {\n if (BUILD.asyncQueue) {\n queueCongestion++;\n }\n // always force a bunch of medium callbacks to run, but still have\n // a throttle on how many can run in a certain time\n // DOM READS!!!\n consume(queueDomReads);\n // DOM WRITES!!!\n if (BUILD.asyncQueue) {\n const timeout = (plt.$flags$ & 6 /* queueMask */) === 2 /* appLoaded */\n ? performance.now() + 14 * Math.ceil(queueCongestion * (1.0 / 10.0))\n : Infinity;\n consumeTimeout(queueDomWrites, timeout);\n consumeTimeout(queueDomWritesLow, timeout);\n if (queueDomWrites.length > 0) {\n queueDomWritesLow.push(...queueDomWrites);\n queueDomWrites.length = 0;\n }\n if ((queuePending = queueDomReads.length + queueDomWrites.length + queueDomWritesLow.length > 0)) {\n // still more to do yet, but we've run out of time\n // let's let this thing cool off and try again in the next tick\n plt.raf(flush);\n }\n else {\n queueCongestion = 0;\n }\n }\n else {\n consume(queueDomWrites);\n if ((queuePending = queueDomReads.length > 0)) {\n // still more to do yet, but we've run out of time\n // let's let this thing cool off and try again in the next tick\n plt.raf(flush);\n }\n }\n};\nconst nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);\nconst readTask = /*@__PURE__*/ queueTask(queueDomReads, false);\nconst writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);\nconst Build = {\n isDev: BUILD.isDev ? true : false,\n isBrowser: true,\n isServer: false,\n isTesting: BUILD.isTesting ? true : false,\n};\nexport { BUILD, Env, NAMESPACE } from '@stencil/core/internal/app-data';\nexport { Build, CSS, Context, Fragment, H, H as HTMLElement, Host, STENCIL_DEV_MODE, addHostEventListeners, bootstrapLazy, cmpModules, connectedCallback, consoleDevError, consoleDevInfo, consoleDevWarn, consoleError, createEvent, defineCustomElement, disconnectedCallback, doc, forceModeUpdate, forceUpdate, getAssetPath, getConnect, getContext, getElement, getHostRef, getMode, getRenderingRef, getValue, h, insertVdomAnnotations, isMemberInElement, loadModule, modeResolutionChain, nextTick, parsePropertyValue, plt, postUpdateComponent, promiseResolve, proxyComponent, proxyCustomElement, readTask, registerHost, registerInstance, renderVdom, setAssetPath, setErrorHandler, setMode, setPlatformHelpers, setPlatformOptions, setValue, styles, supportsConstructibleStylesheets, supportsListenerOptions, supportsShadow, win, writeTask };\n"]} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/stencil-public-runtime.d.ts b/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/stencil-public-runtime.d.ts deleted file mode 100644 index 93cdb1b5f03..00000000000 --- a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/stencil-public-runtime.d.ts +++ /dev/null @@ -1,1565 +0,0 @@ -declare type CustomMethodDecorator = (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void; -export interface ComponentDecorator { - (opts?: ComponentOptions): ClassDecorator; -} -export interface ComponentOptions { - /** - * Tag name of the web component. Ideally, the tag name must be globally unique, - * so it's recommended to choose an unique prefix for all your components within the same collection. - * - * In addition, tag name must contain a '-' - */ - tag: string; - /** - * If `true`, the component will use scoped stylesheets. Similar to shadow-dom, - * but without native isolation. Defaults to `false`. - */ - scoped?: boolean; - /** - * If `true`, the component will use native shadow-dom encapsulation, it will fallback to - * `scoped` if the browser does not support shadow-dom natively. Defaults to `false`. - * Additionally, `shadow` can also be given options when attaching the shadow root. - */ - shadow?: boolean | ShadowRootOptions; - /** - * Relative URL to some external stylesheet file. It should be a `.css` file unless some - * external plugin is installed like `@stencil/sass`. - */ - styleUrl?: string; - /** - * Similar as `styleUrl` but allows to specify different stylesheets for different modes. - */ - styleUrls?: string[] | ModeStyles; - /** - * String that contains inlined CSS instead of using an external stylesheet. - * The performance characteristics of this feature are the same as using an external stylesheet. - * - * Notice, you can't use sass, or less, only `css` is allowed using `styles`, use `styleUrl` is you need more advanced features. - */ - styles?: string | { - [modeName: string]: any; - }; - /** - * Array of relative links to folders of assets required by the component. - */ - assetsDirs?: string[]; -} -export interface ShadowRootOptions { - /** - * When set to `true`, specifies behavior that mitigates custom element issues - * around focusability. When a non-focusable part of the shadow DOM is clicked, the first - * focusable part is given focus, and the shadow host is given any available `:focus` styling. - */ - delegatesFocus?: boolean; -} -export interface ModeStyles { - [modeName: string]: string | string[]; -} -export interface PropDecorator { - (opts?: PropOptions): PropertyDecorator; -} -export interface PropOptions { - /** - * The name of the associated DOM attribute. - * Stencil uses different heuristics to determine the default name of the attribute, - * but using this property, you can override the default behaviour. - */ - attribute?: string | null; - /** - * A Prop is _by default_ immutable from inside the component logic. - * Once a value is set by a user, the component cannot update it internally. - * However, it's possible to explicitly allow a Prop to be mutated from inside the component, - * by setting this `mutable` option to `true`. - */ - mutable?: boolean; - /** - * In some cases it may be useful to keep a Prop in sync with an attribute. - * In this case you can set the `reflect` option to `true`, since it defaults to `false`: - */ - reflect?: boolean; -} -export interface MethodDecorator { - (opts?: MethodOptions): CustomMethodDecorator; -} -export interface MethodOptions { -} -export interface ElementDecorator { - (): PropertyDecorator; -} -export interface EventDecorator { - (opts?: EventOptions): PropertyDecorator; -} -export interface EventOptions { - /** - * A string custom event name to override the default. - */ - eventName?: string; - /** - * A Boolean indicating whether the event bubbles up through the DOM or not. - */ - bubbles?: boolean; - /** - * A Boolean indicating whether the event is cancelable. - */ - cancelable?: boolean; - /** - * A Boolean value indicating whether or not the event can bubble across the boundary between the shadow DOM and the regular DOM. - */ - composed?: boolean; -} -export interface ListenDecorator { - (eventName: string, opts?: ListenOptions): CustomMethodDecorator; -} -export interface ListenOptions { - /** - * Handlers can also be registered for an event other than the host itself. - * The `target` option can be used to change where the event listener is attached, - * this is useful for listening to application-wide events. - */ - target?: ListenTargetOptions; - /** - * Event listener attached with `@Listen` does not "capture" by default, - * When a event listener is set to "capture", means the event will be dispatched - * during the "capture phase". Please see - * https://www.quirksmode.org/js/events_order.html for further information. - */ - capture?: boolean; - /** - * By default, Stencil uses several heuristics to determine if - * it must attach a `passive` event listener or not. - * - * Using the `passive` option can be used to change the default behaviour. - * Please see https://developers.google.com/web/updates/2016/06/passive-event-listeners for further information. - */ - passive?: boolean; -} -export declare type ListenTargetOptions = 'body' | 'document' | 'window'; -export interface StateDecorator { - (): PropertyDecorator; -} -export interface WatchDecorator { - (propName: string): CustomMethodDecorator; -} -export interface UserBuildConditionals { - isDev: boolean; - isBrowser: boolean; - isServer: boolean; - isTesting: boolean; -} -/** - * The `Build` object provides many build conditionals that can be used to - * include or exclude code depending on the build. - */ -export declare const Build: UserBuildConditionals; -/** - * The `Env` object provides access to the "env" object declared in the project's `stencil.config.ts`. - */ -export declare const Env: { - [prop: string]: string | undefined; -}; -/** - * The `@Component()` decorator is used to provide metadata about the component class. - * https://stenciljs.com/docs/component - */ -export declare const Component: ComponentDecorator; -/** - * The `@Element()` decorator is a reference to the actual host element - * once it has rendered. - */ -export declare const Element: ElementDecorator; -/** - * Components can emit data and events using the Event Emitter decorator. - * To dispatch Custom DOM events for other components to handle, use the - * `@Event()` decorator. The Event decorator also makes it easier for Stencil - * to automatically build types and documentation for the event data. - * https://stenciljs.com/docs/events - */ -export declare const Event: EventDecorator; -/** - * The `Listen()` decorator is for listening DOM events, including the ones - * dispatched from `@Events()`. - * https://stenciljs.com/docs/events#listen-decorator - */ -export declare const Listen: ListenDecorator; -/** - * The `@Method()` decorator is used to expose methods on the public API. - * Class methods decorated with the @Method() decorator can be called directly - * from the element, meaning they are intended to be callable from the outside. - * https://stenciljs.com/docs/methods - */ -export declare const Method: MethodDecorator; -/** - * Props are custom attribute/properties exposed publicly on the element - * that developers can provide values for. Children components do not need to - * know about or reference parent components, so Props can be used to pass - * data down from the parent to the child. Components need to explicitly - * declare the Props they expect to receive using the `@Prop()` decorator. - * Any value changes to a Prop will cause a re-render. - * https://stenciljs.com/docs/properties - */ -export declare const Prop: PropDecorator; -/** - * The `@State()` decorator can be used to manage internal data for a component. - * This means that a user cannot modify this data from outside the component, - * but the component can modify it however it sees fit. Any value changes to a - * `@State()` property will cause the components render function to be called again. - * https://stenciljs.com/docs/state - */ -export declare const State: StateDecorator; -/** - * When a property's value has changed, a method decorated with `@Watch()` will be - * called and passed the new value of the prop along with the old value. Watch is - * useful for validating props or handling side effects. Watch decorator does not - * fire when a component initially loads. - * https://stenciljs.com/docs/reactive-data#watch-decorator - */ -export declare const Watch: WatchDecorator; -export declare type ResolutionHandler = (elm: HTMLElement) => string | undefined | null; -export declare type ErrorHandler = (err: any, element?: HTMLElement) => void; -/** - * `setMode()` is used for libraries which provide multiple "modes" for styles. - */ -export declare const setMode: (handler: ResolutionHandler) => void; -/** - * getMode - */ -export declare function getMode(ref: any): T; -export declare function setPlatformHelpers(helpers: { - jmp?: (c: any) => any; - raf?: (c: any) => number; - ael?: (el: any, eventName: string, listener: any, options: any) => void; - rel?: (el: any, eventName: string, listener: any, options: any) => void; - ce?: (eventName: string, opts?: any) => any; -}): void; -/** - * Get the base path to where the assets can be found. Use `setAssetPath(path)` - * if the path needs to be customized. - */ -export declare function getAssetPath(path: string): string; -/** - * Used to manually set the base path where assets can be found. For lazy-loaded - * builds the asset path is automatically set and assets copied to the correct - * build directory. However, for custom elements builds, the `setAssetPath(path)` could - * be used to customize the asset path depending on how the script file is consumed. - * If the script is used as "module", it's recommended to use "import.meta.url", such - * as `setAssetPath(import.meta.url)`. Other options include - * `setAssetPath(document.currentScript.src)`, or using a bundler's replace plugin to - * dynamically set the path at build time, such as `setAssetPath(process.env.ASSET_PATH)`. - * But do note that this configuration depends on how your script is bundled, or lack of - * bunding, and where your assets can be loaded from. Additionally custom bundling - * will have to ensure the static assets are copied to its build directory. - */ -export declare function setAssetPath(path: string): string; -/** - * getElement - */ -export declare function getElement(ref: any): HTMLStencilElement; -/** - * Schedules a new render of the given instance or element even if no state changed. - * - * Notice `forceUpdate()` is not syncronous and might perform the DOM render in the next frame. - */ -export declare function forceUpdate(ref: any): void; -/** - * getRenderingRef - */ -export declare function getRenderingRef(): any; -export interface HTMLStencilElement extends HTMLElement { - componentOnReady(): Promise; -} -/** - * Schedules a DOM-write task. The provided callback will be executed - * in the best moment to perform DOM mutation without causing layout thrashing. - * - * For further information: https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing - */ -export declare function writeTask(task: RafCallback): void; -/** - * Schedules a DOM-read task. The provided callback will be executed - * in the best moment to perform DOM reads without causing layout thrashing. - * - * For further information: https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing - */ -export declare function readTask(task: RafCallback): void; -/** - * `setErrorHandler()` can be used to inject a custom global error handler. - * Unhandled exception raised while rendering, during event handling, or lifecycles will trigger the custom event handler. - */ -export declare const setErrorHandler: (handler: ErrorHandler) => void; -/** - * This file gets copied to all distributions of stencil component collections. - * - no imports - */ -export interface ComponentWillLoad { - /** - * The component is about to load and it has not - * rendered yet. - * - * This is the best place to make any data updates - * before the first render. - * - * componentWillLoad will only be called once. - */ - componentWillLoad(): Promise | void; -} -export interface ComponentDidLoad { - /** - * The component has loaded and has already rendered. - * - * Updating data in this method will cause the - * component to re-render. - * - * componentDidLoad will only be called once. - */ - componentDidLoad(): void; -} -export interface ComponentWillUpdate { - /** - * The component is about to update and re-render. - * - * Called multiple times throughout the life of - * the component as it updates. - * - * componentWillUpdate is not called on the first render. - */ - componentWillUpdate(): Promise | void; -} -export interface ComponentDidUpdate { - /** - * The component has just re-rendered. - * - * Called multiple times throughout the life of - * the component as it updates. - * - * componentWillUpdate is not called on the - * first render. - */ - componentDidUpdate(): void; -} -export interface ComponentInterface { - connectedCallback?(): void; - disconnectedCallback?(): void; - componentWillRender?(): Promise | void; - componentDidRender?(): void; - /** - * The component is about to load and it has not - * rendered yet. - * - * This is the best place to make any data updates - * before the first render. - * - * componentWillLoad will only be called once. - */ - componentWillLoad?(): Promise | void; - /** - * The component has loaded and has already rendered. - * - * Updating data in this method will cause the - * component to re-render. - * - * componentDidLoad will only be called once. - */ - componentDidLoad?(): void; - /** - * A `@Prop` or `@State` property changed and a rerender is about to be requested. - * - * Called multiple times throughout the life of - * the component as its properties change. - * - * componentShouldUpdate is not called on the first render. - */ - componentShouldUpdate?(newVal: any, oldVal: any, propName: string): boolean | void; - /** - * The component is about to update and re-render. - * - * Called multiple times throughout the life of - * the component as it updates. - * - * componentWillUpdate is not called on the first render. - */ - componentWillUpdate?(): Promise | void; - /** - * The component has just re-rendered. - * - * Called multiple times throughout the life of - * the component as it updates. - * - * componentWillUpdate is not called on the - * first render. - */ - componentDidUpdate?(): void; - render?(): any; - [memberName: string]: any; -} -export interface EventEmitter { - emit: (data?: T) => CustomEvent; -} -export interface RafCallback { - (timeStamp: number): void; -} -export interface QueueApi { - tick: (cb: RafCallback) => void; - read: (cb: RafCallback) => void; - write: (cb: RafCallback) => void; - clear?: () => void; - flush?: (cb?: () => void) => void; -} -/** - * Host - */ -interface HostAttributes { - class?: string | { - [className: string]: boolean; - }; - style?: { - [key: string]: string | undefined; - }; - ref?: (el: HTMLElement | null) => void; - [prop: string]: any; -} -export interface FunctionalUtilities { - forEach: (children: VNode[], cb: (vnode: ChildNode, index: number, array: ChildNode[]) => void) => void; - map: (children: VNode[], cb: (vnode: ChildNode, index: number, array: ChildNode[]) => ChildNode) => VNode[]; -} -export interface FunctionalComponent { - (props: T, children: VNode[], utils: FunctionalUtilities): VNode | VNode[]; -} -export interface ChildNode { - vtag?: string | number | Function; - vkey?: string | number; - vtext?: string; - vchildren?: VNode[]; - vattrs?: any; - vname?: string; -} -/** - * Host is a functional component can be used at the root of the render function - * to set attributes and event listeners to the host element itself. - * - * For further information: https://stenciljs.com/docs/host-element - */ -export declare const Host: FunctionalComponent; -/** - * Fragment - */ -export declare const Fragment: FunctionalComponent<{}>; -/** - * The "h" namespace is used to import JSX types for elements and attributes. - * It is imported in order to avoid conflicting global JSX issues. - */ -export declare namespace h { - function h(sel: any): VNode; - function h(sel: Node, data: VNodeData | null): VNode; - function h(sel: any, data: VNodeData | null): VNode; - function h(sel: any, text: string): VNode; - function h(sel: any, children: Array): VNode; - function h(sel: any, data: VNodeData | null, text: string): VNode; - function h(sel: any, data: VNodeData | null, children: Array): VNode; - function h(sel: any, data: VNodeData | null, children: VNode): VNode; - namespace JSX { - interface IntrinsicElements extends LocalJSX.IntrinsicElements, JSXBase.IntrinsicElements { - [tagName: string]: any; - } - } -} -export declare function h(sel: any): VNode; -export declare function h(sel: Node, data: VNodeData | null): VNode; -export declare function h(sel: any, data: VNodeData | null): VNode; -export declare function h(sel: any, text: string): VNode; -export declare function h(sel: any, children: Array): VNode; -export declare function h(sel: any, data: VNodeData | null, text: string): VNode; -export declare function h(sel: any, data: VNodeData | null, children: Array): VNode; -export declare function h(sel: any, data: VNodeData | null, children: VNode): VNode; -export interface VNode { - $flags$: number; - $tag$: string | number | Function; - $elm$: any; - $text$: string; - $children$: VNode[]; - $attrs$?: any; - $name$?: string; - $key$?: string | number; -} -export interface VNodeData { - class?: { - [className: string]: boolean; - }; - style?: any; - [attrName: string]: any; -} -declare namespace LocalJSX { - interface Element { - } - interface IntrinsicElements { - } -} -export { LocalJSX as JSX }; -export declare namespace JSXBase { - interface IntrinsicElements { - slot: JSXBase.SlotAttributes; - a: JSXBase.AnchorHTMLAttributes; - abbr: JSXBase.HTMLAttributes; - address: JSXBase.HTMLAttributes; - area: JSXBase.AreaHTMLAttributes; - article: JSXBase.HTMLAttributes; - aside: JSXBase.HTMLAttributes; - audio: JSXBase.AudioHTMLAttributes; - b: JSXBase.HTMLAttributes; - base: JSXBase.BaseHTMLAttributes; - bdi: JSXBase.HTMLAttributes; - bdo: JSXBase.HTMLAttributes; - big: JSXBase.HTMLAttributes; - blockquote: JSXBase.BlockquoteHTMLAttributes; - body: JSXBase.HTMLAttributes; - br: JSXBase.HTMLAttributes; - button: JSXBase.ButtonHTMLAttributes; - canvas: JSXBase.CanvasHTMLAttributes; - caption: JSXBase.HTMLAttributes; - cite: JSXBase.HTMLAttributes; - code: JSXBase.HTMLAttributes; - col: JSXBase.ColHTMLAttributes; - colgroup: JSXBase.ColgroupHTMLAttributes; - data: JSXBase.HTMLAttributes; - datalist: JSXBase.HTMLAttributes; - dd: JSXBase.HTMLAttributes; - del: JSXBase.DelHTMLAttributes; - details: JSXBase.DetailsHTMLAttributes; - dfn: JSXBase.HTMLAttributes; - dialog: JSXBase.DialogHTMLAttributes; - div: JSXBase.HTMLAttributes; - dl: JSXBase.HTMLAttributes; - dt: JSXBase.HTMLAttributes; - em: JSXBase.HTMLAttributes; - embed: JSXBase.EmbedHTMLAttributes; - fieldset: JSXBase.FieldsetHTMLAttributes; - figcaption: JSXBase.HTMLAttributes; - figure: JSXBase.HTMLAttributes; - footer: JSXBase.HTMLAttributes; - form: JSXBase.FormHTMLAttributes; - h1: JSXBase.HTMLAttributes; - h2: JSXBase.HTMLAttributes; - h3: JSXBase.HTMLAttributes; - h4: JSXBase.HTMLAttributes; - h5: JSXBase.HTMLAttributes; - h6: JSXBase.HTMLAttributes; - head: JSXBase.HTMLAttributes; - header: JSXBase.HTMLAttributes; - hgroup: JSXBase.HTMLAttributes; - hr: JSXBase.HTMLAttributes; - html: JSXBase.HTMLAttributes; - i: JSXBase.HTMLAttributes; - iframe: JSXBase.IframeHTMLAttributes; - img: JSXBase.ImgHTMLAttributes; - input: JSXBase.InputHTMLAttributes; - ins: JSXBase.InsHTMLAttributes; - kbd: JSXBase.HTMLAttributes; - keygen: JSXBase.KeygenHTMLAttributes; - label: JSXBase.LabelHTMLAttributes; - legend: JSXBase.HTMLAttributes; - li: JSXBase.LiHTMLAttributes; - link: JSXBase.LinkHTMLAttributes; - main: JSXBase.HTMLAttributes; - map: JSXBase.MapHTMLAttributes; - mark: JSXBase.HTMLAttributes; - menu: JSXBase.MenuHTMLAttributes; - menuitem: JSXBase.HTMLAttributes; - meta: JSXBase.MetaHTMLAttributes; - meter: JSXBase.MeterHTMLAttributes; - nav: JSXBase.HTMLAttributes; - noscript: JSXBase.HTMLAttributes; - object: JSXBase.ObjectHTMLAttributes; - ol: JSXBase.OlHTMLAttributes; - optgroup: JSXBase.OptgroupHTMLAttributes; - option: JSXBase.OptionHTMLAttributes; - output: JSXBase.OutputHTMLAttributes; - p: JSXBase.HTMLAttributes; - param: JSXBase.ParamHTMLAttributes; - picture: JSXBase.HTMLAttributes; - pre: JSXBase.HTMLAttributes; - progress: JSXBase.ProgressHTMLAttributes; - q: JSXBase.QuoteHTMLAttributes; - rp: JSXBase.HTMLAttributes; - rt: JSXBase.HTMLAttributes; - ruby: JSXBase.HTMLAttributes; - s: JSXBase.HTMLAttributes; - samp: JSXBase.HTMLAttributes; - script: JSXBase.ScriptHTMLAttributes; - section: JSXBase.HTMLAttributes; - select: JSXBase.SelectHTMLAttributes; - small: JSXBase.HTMLAttributes; - source: JSXBase.SourceHTMLAttributes; - span: JSXBase.HTMLAttributes; - strong: JSXBase.HTMLAttributes; - style: JSXBase.StyleHTMLAttributes; - sub: JSXBase.HTMLAttributes; - summary: JSXBase.HTMLAttributes; - sup: JSXBase.HTMLAttributes; - table: JSXBase.TableHTMLAttributes; - tbody: JSXBase.HTMLAttributes; - td: JSXBase.TdHTMLAttributes; - textarea: JSXBase.TextareaHTMLAttributes; - tfoot: JSXBase.HTMLAttributes; - th: JSXBase.ThHTMLAttributes; - thead: JSXBase.HTMLAttributes; - time: JSXBase.TimeHTMLAttributes; - title: JSXBase.HTMLAttributes; - tr: JSXBase.HTMLAttributes; - track: JSXBase.TrackHTMLAttributes; - u: JSXBase.HTMLAttributes; - ul: JSXBase.HTMLAttributes; - var: JSXBase.HTMLAttributes; - video: JSXBase.VideoHTMLAttributes; - wbr: JSXBase.HTMLAttributes; - animate: JSXBase.SVGAttributes; - circle: JSXBase.SVGAttributes; - clipPath: JSXBase.SVGAttributes; - defs: JSXBase.SVGAttributes; - desc: JSXBase.SVGAttributes; - ellipse: JSXBase.SVGAttributes; - feBlend: JSXBase.SVGAttributes; - feColorMatrix: JSXBase.SVGAttributes; - feComponentTransfer: JSXBase.SVGAttributes; - feComposite: JSXBase.SVGAttributes; - feConvolveMatrix: JSXBase.SVGAttributes; - feDiffuseLighting: JSXBase.SVGAttributes; - feDisplacementMap: JSXBase.SVGAttributes; - feDistantLight: JSXBase.SVGAttributes; - feDropShadow: JSXBase.SVGAttributes; - feFlood: JSXBase.SVGAttributes; - feFuncA: JSXBase.SVGAttributes; - feFuncB: JSXBase.SVGAttributes; - feFuncG: JSXBase.SVGAttributes; - feFuncR: JSXBase.SVGAttributes; - feGaussianBlur: JSXBase.SVGAttributes; - feImage: JSXBase.SVGAttributes; - feMerge: JSXBase.SVGAttributes; - feMergeNode: JSXBase.SVGAttributes; - feMorphology: JSXBase.SVGAttributes; - feOffset: JSXBase.SVGAttributes; - fePointLight: JSXBase.SVGAttributes; - feSpecularLighting: JSXBase.SVGAttributes; - feSpotLight: JSXBase.SVGAttributes; - feTile: JSXBase.SVGAttributes; - feTurbulence: JSXBase.SVGAttributes; - filter: JSXBase.SVGAttributes; - foreignObject: JSXBase.SVGAttributes; - g: JSXBase.SVGAttributes; - image: JSXBase.SVGAttributes; - line: JSXBase.SVGAttributes; - linearGradient: JSXBase.SVGAttributes; - marker: JSXBase.SVGAttributes; - mask: JSXBase.SVGAttributes; - metadata: JSXBase.SVGAttributes; - path: JSXBase.SVGAttributes; - pattern: JSXBase.SVGAttributes; - polygon: JSXBase.SVGAttributes; - polyline: JSXBase.SVGAttributes; - radialGradient: JSXBase.SVGAttributes; - rect: JSXBase.SVGAttributes; - stop: JSXBase.SVGAttributes; - svg: JSXBase.SVGAttributes; - switch: JSXBase.SVGAttributes; - symbol: JSXBase.SVGAttributes; - text: JSXBase.SVGAttributes; - textPath: JSXBase.SVGAttributes; - tspan: JSXBase.SVGAttributes; - use: JSXBase.SVGAttributes; - view: JSXBase.SVGAttributes; - } - interface SlotAttributes extends JSXAttributes { - name?: string; - slot?: string; - onSlotchange?: (event: Event) => void; - } - interface AnchorHTMLAttributes extends HTMLAttributes { - download?: any; - href?: string; - hrefLang?: string; - hreflang?: string; - media?: string; - rel?: string; - target?: string; - referrerPolicy?: ReferrerPolicy; - } - interface AudioHTMLAttributes extends MediaHTMLAttributes { - } - interface AreaHTMLAttributes extends HTMLAttributes { - alt?: string; - coords?: string; - download?: any; - href?: string; - hrefLang?: string; - hreflang?: string; - media?: string; - rel?: string; - shape?: string; - target?: string; - } - interface BaseHTMLAttributes extends HTMLAttributes { - href?: string; - target?: string; - } - interface BlockquoteHTMLAttributes extends HTMLAttributes { - cite?: string; - } - interface ButtonHTMLAttributes extends HTMLAttributes { - autoFocus?: boolean; - disabled?: boolean; - form?: string; - formAction?: string; - formaction?: string; - formEncType?: string; - formenctype?: string; - formMethod?: string; - formmethod?: string; - formNoValidate?: boolean; - formnovalidate?: boolean; - formTarget?: string; - formtarget?: string; - name?: string; - type?: string; - value?: string | string[] | number; - } - interface CanvasHTMLAttributes extends HTMLAttributes { - height?: number | string; - width?: number | string; - } - interface ColHTMLAttributes extends HTMLAttributes { - span?: number; - } - interface ColgroupHTMLAttributes extends HTMLAttributes { - span?: number; - } - interface DetailsHTMLAttributes extends HTMLAttributes { - open?: boolean; - onToggle?: (event: Event) => void; - } - interface DelHTMLAttributes extends HTMLAttributes { - cite?: string; - dateTime?: string; - datetime?: string; - } - interface DialogHTMLAttributes extends HTMLAttributes { - onClose?: (event: Event) => void; - open?: boolean; - returnValue?: string; - } - interface EmbedHTMLAttributes extends HTMLAttributes { - height?: number | string; - src?: string; - type?: string; - width?: number | string; - } - interface FieldsetHTMLAttributes extends HTMLAttributes { - disabled?: boolean; - form?: string; - name?: string; - } - interface FormHTMLAttributes extends HTMLAttributes { - acceptCharset?: string; - acceptcharset?: string; - action?: string; - autoComplete?: string; - autocomplete?: string; - encType?: string; - enctype?: string; - method?: string; - name?: string; - noValidate?: boolean; - novalidate?: boolean | string; - target?: string; - } - interface HtmlHTMLAttributes extends HTMLAttributes { - manifest?: string; - } - interface IframeHTMLAttributes extends HTMLAttributes { - allow?: string; - allowFullScreen?: boolean; - allowfullScreen?: string | boolean; - allowTransparency?: boolean; - allowtransparency?: string | boolean; - frameBorder?: number | string; - frameborder?: number | string; - importance?: 'low' | 'auto' | 'high'; - height?: number | string; - loading?: 'lazy' | 'auto' | 'eager'; - marginHeight?: number; - marginheight?: string | number; - marginWidth?: number; - marginwidth?: string | number; - name?: string; - referrerPolicy?: ReferrerPolicy; - sandbox?: string; - scrolling?: string; - seamless?: boolean; - src?: string; - srcDoc?: string; - srcdoc?: string; - width?: number | string; - } - interface ImgHTMLAttributes extends HTMLAttributes { - alt?: string; - decoding?: 'async' | 'auto' | 'sync'; - importance?: 'low' | 'auto' | 'high'; - height?: number | string; - loading?: 'lazy' | 'auto' | 'eager'; - sizes?: string; - src?: string; - srcSet?: string; - srcset?: string; - useMap?: string; - usemap?: string; - width?: number | string; - } - interface InsHTMLAttributes extends HTMLAttributes { - cite?: string; - dateTime?: string; - datetime?: string; - } - interface InputHTMLAttributes extends HTMLAttributes { - accept?: string; - allowdirs?: boolean; - alt?: string; - autoCapitalize?: any; - autocapitalize?: any; - autoComplete?: string; - autocomplete?: string; - autoFocus?: boolean; - autofocus?: boolean | string; - capture?: string; - checked?: boolean; - crossOrigin?: string; - crossorigin?: string; - defaultChecked?: boolean; - defaultValue?: string; - dirName?: string; - disabled?: boolean; - files?: any; - form?: string; - formAction?: string; - formaction?: string; - formEncType?: string; - formenctype?: string; - formMethod?: string; - formmethod?: string; - formNoValidate?: boolean; - formnovalidate?: boolean; - formTarget?: string; - formtarget?: string; - height?: number | string; - indeterminate?: boolean; - list?: string; - max?: number | string; - maxLength?: number; - maxlength?: number | string; - min?: number | string; - minLength?: number; - minlength?: number | string; - multiple?: boolean; - name?: string; - pattern?: string; - placeholder?: string; - readOnly?: boolean; - readonly?: boolean | string; - required?: boolean; - selectionStart?: number | string; - selectionEnd?: number | string; - selectionDirection?: string; - size?: number; - src?: string; - step?: number | string; - type?: string; - value?: string | string[] | number; - valueAsDate?: any; - valueAsNumber?: any; - webkitdirectory?: boolean; - webkitEntries?: any; - width?: number | string; - } - interface KeygenHTMLAttributes extends HTMLAttributes { - autoFocus?: boolean; - autofocus?: boolean | string; - challenge?: string; - disabled?: boolean; - form?: string; - keyType?: string; - keytype?: string; - keyParams?: string; - keyparams?: string; - name?: string; - } - interface LabelHTMLAttributes extends HTMLAttributes { - form?: string; - htmlFor?: string; - htmlfor?: string; - } - interface LiHTMLAttributes extends HTMLAttributes { - value?: string | string[] | number; - } - interface LinkHTMLAttributes extends HTMLAttributes { - as?: string; - href?: string; - hrefLang?: string; - hreflang?: string; - importance?: 'low' | 'auto' | 'high'; - integrity?: string; - media?: string; - rel?: string; - sizes?: string; - type?: string; - } - interface MapHTMLAttributes extends HTMLAttributes { - name?: string; - } - interface MenuHTMLAttributes extends HTMLAttributes { - type?: string; - } - interface MediaHTMLAttributes extends HTMLAttributes { - autoPlay?: boolean; - autoplay?: boolean | string; - controls?: boolean; - crossOrigin?: string; - crossorigin?: string; - loop?: boolean; - mediaGroup?: string; - mediagroup?: string; - muted?: boolean; - preload?: string; - src?: string; - onAbort?: (event: Event) => void; - onCanPlay?: (event: Event) => void; - onCanPlayThrough?: (event: Event) => void; - onDurationChange?: (event: Event) => void; - onEmptied?: (event: Event) => void; - onEnded?: (event: Event) => void; - onError?: (event: Event) => void; - onInterruptBegin?: (event: Event) => void; - onInterruptEnd?: (event: Event) => void; - onLoadedData?: (event: Event) => void; - onLoadedMetaData?: (event: Event) => void; - onLoadStart?: (event: Event) => void; - onMozAudioAvailable?: (event: Event) => void; - onPause?: (event: Event) => void; - onPlay?: (event: Event) => void; - onPlaying?: (event: Event) => void; - onProgress?: (event: Event) => void; - onRateChange?: (event: Event) => void; - onSeeked?: (event: Event) => void; - onSeeking?: (event: Event) => void; - onStalled?: (event: Event) => void; - onSuspend?: (event: Event) => void; - onTimeUpdate?: (event: Event) => void; - onVolumeChange?: (event: Event) => void; - onWaiting?: (event: Event) => void; - } - interface MetaHTMLAttributes extends HTMLAttributes { - charSet?: string; - charset?: string; - content?: string; - httpEquiv?: string; - httpequiv?: string; - name?: string; - } - interface MeterHTMLAttributes extends HTMLAttributes { - form?: string; - high?: number; - low?: number; - max?: number | string; - min?: number | string; - optimum?: number; - value?: string | string[] | number; - } - interface QuoteHTMLAttributes extends HTMLAttributes { - cite?: string; - } - interface ObjectHTMLAttributes extends HTMLAttributes { - classID?: string; - classid?: string; - data?: string; - form?: string; - height?: number | string; - name?: string; - type?: string; - useMap?: string; - usemap?: string; - width?: number | string; - wmode?: string; - } - interface OlHTMLAttributes extends HTMLAttributes { - reversed?: boolean; - start?: number; - } - interface OptgroupHTMLAttributes extends HTMLAttributes { - disabled?: boolean; - label?: string; - } - interface OptionHTMLAttributes extends HTMLAttributes { - disabled?: boolean; - label?: string; - selected?: boolean; - value?: string | string[] | number; - } - interface OutputHTMLAttributes extends HTMLAttributes { - form?: string; - htmlFor?: string; - htmlfor?: string; - name?: string; - } - interface ParamHTMLAttributes extends HTMLAttributes { - name?: string; - value?: string | string[] | number; - } - interface ProgressHTMLAttributes extends HTMLAttributes { - max?: number | string; - value?: string | string[] | number; - } - interface ScriptHTMLAttributes extends HTMLAttributes { - async?: boolean; - charSet?: string; - charset?: string; - crossOrigin?: string; - crossorigin?: string; - defer?: boolean; - importance?: 'low' | 'auto' | 'high'; - integrity?: string; - nonce?: string; - src?: string; - type?: string; - } - interface SelectHTMLAttributes extends HTMLAttributes { - autoFocus?: boolean; - disabled?: boolean; - form?: string; - multiple?: boolean; - name?: string; - required?: boolean; - size?: number; - autoComplete?: string; - autocomplete?: string; - } - interface SourceHTMLAttributes extends HTMLAttributes { - media?: string; - sizes?: string; - src?: string; - srcSet?: string; - type?: string; - } - interface StyleHTMLAttributes extends HTMLAttributes { - media?: string; - nonce?: string; - scoped?: boolean; - type?: string; - } - interface TableHTMLAttributes extends HTMLAttributes { - cellPadding?: number | string; - cellpadding?: number | string; - cellSpacing?: number | string; - cellspacing?: number | string; - summary?: string; - } - interface TextareaHTMLAttributes extends HTMLAttributes { - autoFocus?: boolean; - autofocus?: boolean | string; - cols?: number; - disabled?: boolean; - form?: string; - maxLength?: number; - maxlength?: number | string; - minLength?: number; - minlength?: number | string; - name?: string; - placeholder?: string; - readOnly?: boolean; - readonly?: boolean | string; - required?: boolean; - rows?: number; - value?: string | string[] | number; - wrap?: string; - } - interface TdHTMLAttributes extends HTMLAttributes { - colSpan?: number; - headers?: string; - rowSpan?: number; - } - interface ThHTMLAttributes extends HTMLAttributes { - abbr?: string; - colSpan?: number; - headers?: string; - rowSpan?: number; - rowspan?: number | string; - scope?: string; - } - interface TimeHTMLAttributes extends HTMLAttributes { - dateTime?: string; - } - interface TrackHTMLAttributes extends HTMLAttributes { - default?: boolean; - kind?: string; - label?: string; - src?: string; - srcLang?: string; - srclang?: string; - } - interface VideoHTMLAttributes extends MediaHTMLAttributes { - height?: number | string; - playsInline?: boolean; - playsinline?: boolean | string; - poster?: string; - width?: number | string; - } - interface HTMLAttributes extends DOMAttributes { - innerHTML?: string; - accessKey?: string; - class?: string | { - [className: string]: boolean; - }; - contentEditable?: boolean | string; - contenteditable?: boolean | string; - contextMenu?: string; - contextmenu?: string; - dir?: string; - draggable?: boolean; - hidden?: boolean; - id?: string; - lang?: string; - spellcheck?: 'true' | 'false' | any; - style?: { - [key: string]: string | undefined; - }; - tabIndex?: number; - tabindex?: number | string; - title?: string; - inputMode?: string; - inputmode?: string; - enterKeyHint?: string; - enterkeyhint?: string; - is?: string; - radioGroup?: string; - radiogroup?: string; - role?: string; - about?: string; - datatype?: string; - inlist?: any; - prefix?: string; - property?: string; - resource?: string; - typeof?: string; - vocab?: string; - autoCapitalize?: any; - autocapitalize?: any; - autoCorrect?: string; - autocorrect?: string; - autoSave?: string; - autosave?: string; - color?: string; - itemProp?: string; - itemprop?: string; - itemScope?: boolean; - itemscope?: boolean; - itemType?: string; - itemtype?: string; - itemID?: string; - itemid?: string; - itemRef?: string; - itemref?: string; - results?: number; - security?: string; - unselectable?: boolean; - } - interface SVGAttributes extends DOMAttributes { - class?: string | { - [className: string]: boolean; - }; - color?: string; - height?: number | string; - id?: string; - lang?: string; - max?: number | string; - media?: string; - method?: string; - min?: number | string; - name?: string; - style?: { - [key: string]: string | undefined; - }; - target?: string; - type?: string; - width?: number | string; - role?: string; - tabindex?: number; - 'accent-height'?: number | string; - accumulate?: 'none' | 'sum'; - additive?: 'replace' | 'sum'; - 'alignment-baseline'?: 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit'; - allowReorder?: 'no' | 'yes'; - alphabetic?: number | string; - amplitude?: number | string; - 'arabic-form'?: 'initial' | 'medial' | 'terminal' | 'isolated'; - ascent?: number | string; - attributeName?: string; - attributeType?: string; - autoReverse?: number | string; - azimuth?: number | string; - baseFrequency?: number | string; - 'baseline-shift'?: number | string; - baseProfile?: number | string; - bbox?: number | string; - begin?: number | string; - bias?: number | string; - by?: number | string; - calcMode?: number | string; - 'cap-height'?: number | string; - clip?: number | string; - 'clip-path'?: string; - clipPathUnits?: number | string; - 'clip-rule'?: number | string; - 'color-interpolation'?: number | string; - 'color-interpolation-filters'?: 'auto' | 's-rGB' | 'linear-rGB' | 'inherit'; - 'color-profile'?: number | string; - 'color-rendering'?: number | string; - contentScriptType?: number | string; - contentStyleType?: number | string; - cursor?: number | string; - cx?: number | string; - cy?: number | string; - d?: string; - decelerate?: number | string; - descent?: number | string; - diffuseConstant?: number | string; - direction?: number | string; - display?: number | string; - divisor?: number | string; - 'dominant-baseline'?: number | string; - dur?: number | string; - dx?: number | string; - dy?: number | string; - 'edge-mode'?: number | string; - elevation?: number | string; - 'enable-background'?: number | string; - end?: number | string; - exponent?: number | string; - externalResourcesRequired?: number | string; - fill?: string; - 'fill-opacity'?: number | string; - 'fill-rule'?: 'nonzero' | 'evenodd' | 'inherit'; - filter?: string; - filterRes?: number | string; - filterUnits?: number | string; - 'flood-color'?: number | string; - 'flood-opacity'?: number | string; - focusable?: number | string; - 'font-family'?: string; - 'font-size'?: number | string; - 'font-size-adjust'?: number | string; - 'font-stretch'?: number | string; - 'font-style'?: number | string; - 'font-variant'?: number | string; - 'font-weight'?: number | string; - format?: number | string; - from?: number | string; - fx?: number | string; - fy?: number | string; - g1?: number | string; - g2?: number | string; - 'glyph-name'?: number | string; - 'glyph-orientation-horizontal'?: number | string; - 'glyph-orientation-vertical'?: number | string; - glyphRef?: number | string; - gradientTransform?: string; - gradientUnits?: string; - hanging?: number | string; - 'horiz-adv-x'?: number | string; - 'horiz-origin-x'?: number | string; - href?: string; - ideographic?: number | string; - 'image-rendering'?: number | string; - in2?: number | string; - in?: string; - intercept?: number | string; - k1?: number | string; - k2?: number | string; - k3?: number | string; - k4?: number | string; - k?: number | string; - kernelMatrix?: number | string; - kernelUnitLength?: number | string; - kerning?: number | string; - keyPoints?: number | string; - keySplines?: number | string; - keyTimes?: number | string; - lengthAdjust?: number | string; - 'letter-spacing'?: number | string; - 'lighting-color'?: number | string; - limitingConeAngle?: number | string; - local?: number | string; - 'marker-end'?: string; - markerHeight?: number | string; - 'marker-mid'?: string; - 'marker-start'?: string; - markerUnits?: number | string; - markerWidth?: number | string; - mask?: string; - maskContentUnits?: number | string; - maskUnits?: number | string; - mathematical?: number | string; - mode?: number | string; - numOctaves?: number | string; - offset?: number | string; - opacity?: number | string; - operator?: number | string; - order?: number | string; - orient?: number | string; - orientation?: number | string; - origin?: number | string; - overflow?: number | string; - 'overline-position'?: number | string; - 'overline-thickness'?: number | string; - 'paint-order'?: number | string; - panose1?: number | string; - pathLength?: number | string; - patternContentUnits?: string; - patternTransform?: number | string; - patternUnits?: string; - 'pointer-events'?: number | string; - points?: string; - pointsAtX?: number | string; - pointsAtY?: number | string; - pointsAtZ?: number | string; - preserveAlpha?: number | string; - preserveAspectRatio?: string; - primitiveUnits?: number | string; - r?: number | string; - radius?: number | string; - refX?: number | string; - refY?: number | string; - 'rendering-intent'?: number | string; - repeatCount?: number | string; - repeatDur?: number | string; - requiredextensions?: number | string; - requiredFeatures?: number | string; - restart?: number | string; - result?: string; - rotate?: number | string; - rx?: number | string; - ry?: number | string; - scale?: number | string; - seed?: number | string; - 'shape-rendering'?: number | string; - slope?: number | string; - spacing?: number | string; - specularConstant?: number | string; - specularExponent?: number | string; - speed?: number | string; - spreadMethod?: string; - startOffset?: number | string; - stdDeviation?: number | string; - stemh?: number | string; - stemv?: number | string; - stitchTiles?: number | string; - 'stop-color'?: string; - 'stop-opacity'?: number | string; - 'strikethrough-position'?: number | string; - 'strikethrough-thickness'?: number | string; - string?: number | string; - stroke?: string; - 'stroke-dasharray'?: string | number; - 'stroke-dashoffset'?: string | number; - 'stroke-linecap'?: 'butt' | 'round' | 'square' | 'inherit'; - 'stroke-linejoin'?: 'miter' | 'round' | 'bevel' | 'inherit'; - 'stroke-miterlimit'?: string; - 'stroke-opacity'?: number | string; - 'stroke-width'?: number | string; - surfaceScale?: number | string; - systemLanguage?: number | string; - tableValues?: number | string; - targetX?: number | string; - targetY?: number | string; - 'text-anchor'?: string; - 'text-decoration'?: number | string; - textLength?: number | string; - 'text-rendering'?: number | string; - to?: number | string; - transform?: string; - u1?: number | string; - u2?: number | string; - 'underline-position'?: number | string; - 'underline-thickness'?: number | string; - unicode?: number | string; - 'unicode-bidi'?: number | string; - 'unicode-range'?: number | string; - 'units-per-em'?: number | string; - 'v-alphabetic'?: number | string; - values?: string; - 'vector-effect'?: number | string; - version?: string; - 'vert-adv-y'?: number | string; - 'vert-origin-x'?: number | string; - 'vert-origin-y'?: number | string; - 'v-hanging'?: number | string; - 'v-ideographic'?: number | string; - viewBox?: string; - viewTarget?: number | string; - visibility?: number | string; - 'v-mathematical'?: number | string; - widths?: number | string; - 'word-spacing'?: number | string; - 'writing-mode'?: number | string; - x1?: number | string; - x2?: number | string; - x?: number | string; - 'x-channel-selector'?: string; - 'x-height'?: number | string; - xlinkActuate?: string; - xlinkArcrole?: string; - xlinkHref?: string; - xlinkRole?: string; - xlinkShow?: string; - xlinkTitle?: string; - xlinkType?: string; - xmlBase?: string; - xmlLang?: string; - xmlns?: string; - xmlSpace?: string; - y1?: number | string; - y2?: number | string; - y?: number | string; - yChannelSelector?: string; - z?: number | string; - zoomAndPan?: string; - } - interface DOMAttributes extends JSXAttributes { - slot?: string; - part?: string; - exportparts?: string; - onCopy?: (event: ClipboardEvent) => void; - onCopyCapture?: (event: ClipboardEvent) => void; - onCut?: (event: ClipboardEvent) => void; - onCutCapture?: (event: ClipboardEvent) => void; - onPaste?: (event: ClipboardEvent) => void; - onPasteCapture?: (event: ClipboardEvent) => void; - onCompositionEnd?: (event: CompositionEvent) => void; - onCompositionEndCapture?: (event: CompositionEvent) => void; - onCompositionStart?: (event: CompositionEvent) => void; - onCompositionStartCapture?: (event: CompositionEvent) => void; - onCompositionUpdate?: (event: CompositionEvent) => void; - onCompositionUpdateCapture?: (event: CompositionEvent) => void; - onFocus?: (event: FocusEvent) => void; - onFocusCapture?: (event: FocusEvent) => void; - onFocusin?: (event: FocusEvent) => void; - onFocusinCapture?: (event: FocusEvent) => void; - onFocusout?: (event: FocusEvent) => void; - onFocusoutCapture?: (event: FocusEvent) => void; - onBlur?: (event: FocusEvent) => void; - onBlurCapture?: (event: FocusEvent) => void; - onChange?: (event: Event) => void; - onChangeCapture?: (event: Event) => void; - onInput?: (event: Event) => void; - onInputCapture?: (event: Event) => void; - onReset?: (event: Event) => void; - onResetCapture?: (event: Event) => void; - onSubmit?: (event: Event) => void; - onSubmitCapture?: (event: Event) => void; - onInvalid?: (event: Event) => void; - onInvalidCapture?: (event: Event) => void; - onLoad?: (event: Event) => void; - onLoadCapture?: (event: Event) => void; - onError?: (event: Event) => void; - onErrorCapture?: (event: Event) => void; - onKeyDown?: (event: KeyboardEvent) => void; - onKeyDownCapture?: (event: KeyboardEvent) => void; - onKeyPress?: (event: KeyboardEvent) => void; - onKeyPressCapture?: (event: KeyboardEvent) => void; - onKeyUp?: (event: KeyboardEvent) => void; - onKeyUpCapture?: (event: KeyboardEvent) => void; - onAuxClick?: (event: MouseEvent) => void; - onClick?: (event: MouseEvent) => void; - onClickCapture?: (event: MouseEvent) => void; - onContextMenu?: (event: MouseEvent) => void; - onContextMenuCapture?: (event: MouseEvent) => void; - onDblClick?: (event: MouseEvent) => void; - onDblClickCapture?: (event: MouseEvent) => void; - onDrag?: (event: DragEvent) => void; - onDragCapture?: (event: DragEvent) => void; - onDragEnd?: (event: DragEvent) => void; - onDragEndCapture?: (event: DragEvent) => void; - onDragEnter?: (event: DragEvent) => void; - onDragEnterCapture?: (event: DragEvent) => void; - onDragExit?: (event: DragEvent) => void; - onDragExitCapture?: (event: DragEvent) => void; - onDragLeave?: (event: DragEvent) => void; - onDragLeaveCapture?: (event: DragEvent) => void; - onDragOver?: (event: DragEvent) => void; - onDragOverCapture?: (event: DragEvent) => void; - onDragStart?: (event: DragEvent) => void; - onDragStartCapture?: (event: DragEvent) => void; - onDrop?: (event: DragEvent) => void; - onDropCapture?: (event: DragEvent) => void; - onMouseDown?: (event: MouseEvent) => void; - onMouseDownCapture?: (event: MouseEvent) => void; - onMouseEnter?: (event: MouseEvent) => void; - onMouseLeave?: (event: MouseEvent) => void; - onMouseMove?: (event: MouseEvent) => void; - onMouseMoveCapture?: (event: MouseEvent) => void; - onMouseOut?: (event: MouseEvent) => void; - onMouseOutCapture?: (event: MouseEvent) => void; - onMouseOver?: (event: MouseEvent) => void; - onMouseOverCapture?: (event: MouseEvent) => void; - onMouseUp?: (event: MouseEvent) => void; - onMouseUpCapture?: (event: MouseEvent) => void; - onTouchCancel?: (event: TouchEvent) => void; - onTouchCancelCapture?: (event: TouchEvent) => void; - onTouchEnd?: (event: TouchEvent) => void; - onTouchEndCapture?: (event: TouchEvent) => void; - onTouchMove?: (event: TouchEvent) => void; - onTouchMoveCapture?: (event: TouchEvent) => void; - onTouchStart?: (event: TouchEvent) => void; - onTouchStartCapture?: (event: TouchEvent) => void; - onPointerDown?: (event: PointerEvent) => void; - onPointerDownCapture?: (event: PointerEvent) => void; - onPointerMove?: (event: PointerEvent) => void; - onPointerMoveCapture?: (event: PointerEvent) => void; - onPointerUp?: (event: PointerEvent) => void; - onPointerUpCapture?: (event: PointerEvent) => void; - onPointerCancel?: (event: PointerEvent) => void; - onPointerCancelCapture?: (event: PointerEvent) => void; - onPointerEnter?: (event: PointerEvent) => void; - onPointerEnterCapture?: (event: PointerEvent) => void; - onPointerLeave?: (event: PointerEvent) => void; - onPointerLeaveCapture?: (event: PointerEvent) => void; - onPointerOver?: (event: PointerEvent) => void; - onPointerOverCapture?: (event: PointerEvent) => void; - onPointerOut?: (event: PointerEvent) => void; - onPointerOutCapture?: (event: PointerEvent) => void; - onGotPointerCapture?: (event: PointerEvent) => void; - onGotPointerCaptureCapture?: (event: PointerEvent) => void; - onLostPointerCapture?: (event: PointerEvent) => void; - onLostPointerCaptureCapture?: (event: PointerEvent) => void; - onScroll?: (event: UIEvent) => void; - onScrollCapture?: (event: UIEvent) => void; - onWheel?: (event: WheelEvent) => void; - onWheelCapture?: (event: WheelEvent) => void; - onAnimationStart?: (event: AnimationEvent) => void; - onAnimationStartCapture?: (event: AnimationEvent) => void; - onAnimationEnd?: (event: AnimationEvent) => void; - onAnimationEndCapture?: (event: AnimationEvent) => void; - onAnimationIteration?: (event: AnimationEvent) => void; - onAnimationIterationCapture?: (event: AnimationEvent) => void; - onTransitionEnd?: (event: TransitionEvent) => void; - onTransitionEndCapture?: (event: TransitionEvent) => void; - } -} -export interface JSXAttributes { - key?: string | number; - ref?: (elm?: T) => void; -} -export interface CustomElementsDefineOptions { - exclude?: string[]; - resourcesUrl?: string; - syncQueue?: boolean; - transformTagName?: (tagName: string) => string; - jmp?: (c: Function) => any; - raf?: (c: FrameRequestCallback) => number; - ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void; - rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void; - ce?: (eventName: string, opts?: any) => CustomEvent; -} diff --git a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/system.js b/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/system.js deleted file mode 100644 index dc6f9afbe05..00000000000 --- a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/system.js +++ /dev/null @@ -1,6 +0,0 @@ -/** - * SystemJS 4.0.2 - * MANUAL PATCH: remove script.crossOrigin = "anonymous" - * MANUAL PATCH: add conditionally apply, n.System=n.System||new u - */ -!function(){var e="undefined"!=typeof self,n=e?self:global;var t;if("undefined"!=typeof document){var e=document.querySelector("base[href]");e&&(t=e.href)}if(!t&&"undefined"!=typeof location){var e=(t=location.href.split("#")[0].split("?")[0]).lastIndexOf("/");-1!==e&&(t=t.slice(0,e+1))}var r=/\\/g,o="undefined"!=typeof Symbol,i=o&&Symbol.toStringTag,c=o?Symbol():"@";function u(){this[c]={}}var s=u.prototype;var l;s.import=function(e,n){var t=this;return Promise.resolve(t.resolve(e,n)).then(function(e){var n=function e(n,t,r){var o=n[c][t];if(o)return o;var u=[],s=Object.create(null);i&&Object.defineProperty(s,i,{value:"Module"});var l=Promise.resolve().then(function(){return n.instantiate(t,r)}).then(function(e){if(!e)throw Error("Module "+t+" did not instantiate");var r=e[1](function(e,n){o.h=!0;var t=!1;if("object"!=typeof e)e in s&&s[e]===n||(s[e]=n,t=!0);else for(var n in e){var r=e[n];n in s&&s[n]===r||(s[n]=r,t=!0)}if(t)for(var e=0;e - \ No newline at end of file + + \ No newline at end of file From 1303232f9d7ab5db341637095c235e0ea3923d11 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 16 Feb 2022 23:44:09 -0500 Subject: [PATCH 03/85] deleted files that should not get commited (build result) --- .../Scripts/dnn-resource-manager/dnn-resource-manager.esm.js | 2 -- .../dnn-resource-manager/dnn-resource-manager.esm.js.map | 1 - .../ResourceManager/Scripts/dnn-resource-manager/index.esm.js | 2 -- .../Scripts/dnn-resource-manager/index.esm.js.map | 1 - .../Scripts/dnn-resource-manager/p-773b8db5.entry.js | 2 -- .../Scripts/dnn-resource-manager/p-773b8db5.entry.js.map | 1 - .../ResourceManager/Scripts/dnn-resource-manager/p-de30d5d0.js | 2 -- .../Scripts/dnn-resource-manager/p-de30d5d0.js.map | 1 - 8 files changed, 12 deletions(-) delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.esm.js delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.esm.js.map delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index.esm.js delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index.esm.js.map delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-773b8db5.entry.js delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-773b8db5.entry.js.map delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-de30d5d0.js delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-de30d5d0.js.map diff --git a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.esm.js b/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.esm.js deleted file mode 100644 index 85c811e3dab..00000000000 --- a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.esm.js +++ /dev/null @@ -1,2 +0,0 @@ -import{p as n,b as r}from"./p-de30d5d0.js";const o=()=>{const r=import.meta.url;const o={};if(r!==""){o.resourcesUrl=new URL(".",r).href}return n(o)};o().then((n=>r([["p-773b8db5",[[1,"dnn-resource-manager"]]]],n))); -//# sourceMappingURL=dnn-resource-manager.esm.js.map \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.esm.js.map b/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.esm.js.map deleted file mode 100644 index 9b3d293ca07..00000000000 --- a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/dnn-resource-manager.esm.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../../node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"names":["patchBrowser","importMeta","import","meta","url","opts","resourcesUrl","URL","href","promiseResolve","then","options","bootstrapLazy"],"mappings":"2CAMA,MAAMA,EAAe,KA6BjB,MAAMC,EAAaC,OAAOC,KAAKC,IAC/B,MAAMC,EAA6D,GAenE,GAAuBJ,IAAe,GAAI,CACtCI,EAAKC,aAAe,IAAIC,IAAI,IAAKN,GAAYO,KAajD,OAAOC,EAAeJ,IC9D1BL,IAAeU,MAAKC,GAEXC,EAAc,CAAA,CAAA,aAAA,CAAA,CAAA,EAAA,2BAAuCD","sourcesContent":["/*\n Stencil Client Patch Browser v2.14.0 | MIT Licensed | https://stenciljs.com\n */\nimport { BUILD, NAMESPACE } from '@stencil/core/internal/app-data';\nimport { consoleDevInfo, plt, win, doc, promiseResolve, H } from '@stencil/core';\nconst getDynamicImportFunction = (namespace) => `__sc_import_${namespace.replace(/\\s|-/g, '_')}`;\nconst patchBrowser = () => {\n // NOTE!! This fn cannot use async/await!\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo('Running in development mode.');\n }\n if (BUILD.cssVarShim) {\n // shim css vars\n plt.$cssShim$ = win.__cssshim;\n }\n if (BUILD.cloneNodeFix) {\n // opted-in to polyfill cloneNode() for slot polyfilled components\n patchCloneNodeFix(H.prototype);\n }\n if (BUILD.profile && !performance.mark) {\n // not all browsers support performance.mark/measure (Safari 10)\n // because the mark/measure APIs are designed to write entries to a buffer in the browser that does not exist,\n // simply stub the implementations out.\n // TODO(STENCIL-323): Remove this patch when support for older browsers is removed (breaking)\n // @ts-ignore\n performance.mark = performance.measure = () => {\n /*noop*/\n };\n performance.getEntriesByName = () => [];\n }\n // @ts-ignore\n const scriptElm = BUILD.scriptDataOpts || BUILD.safari10 || BUILD.dynamicImportShim\n ? Array.from(doc.querySelectorAll('script')).find((s) => new RegExp(`\\/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) ||\n s.getAttribute('data-stencil-namespace') === NAMESPACE)\n : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? scriptElm['data-opts'] || {} : {};\n if (BUILD.safari10 && 'onbeforeload' in scriptElm && !history.scrollRestoration /* IS_ESM_BUILD */) {\n // Safari < v11 support: This IF is true if it's Safari below v11.\n // This fn cannot use async/await since Safari didn't support it until v11,\n // however, Safari 10 did support modules. Safari 10 also didn't support \"nomodule\",\n // so both the ESM file and nomodule file would get downloaded. Only Safari\n // has 'onbeforeload' in the script, and \"history.scrollRestoration\" was added\n // to Safari in v11. Return a noop then() so the async/await ESM code doesn't continue.\n // IS_ESM_BUILD is replaced at build time so this check doesn't happen in systemjs builds.\n return {\n then() {\n /* promise noop */\n },\n };\n }\n if (!BUILD.safari10 && importMeta !== '') {\n opts.resourcesUrl = new URL('.', importMeta).href;\n }\n else if (BUILD.dynamicImportShim || BUILD.safari10) {\n opts.resourcesUrl = new URL('.', new URL(scriptElm.getAttribute('data-resources-url') || scriptElm.src, win.location.href)).href;\n if (BUILD.dynamicImportShim) {\n patchDynamicImport(opts.resourcesUrl, scriptElm);\n }\n if (BUILD.dynamicImportShim && !win.customElements) {\n // module support, but no custom elements support (Old Edge)\n // @ts-ignore\n return import(/* webpackChunkName: \"polyfills-dom\" */ './dom.js').then(() => opts);\n }\n }\n return promiseResolve(opts);\n};\nconst patchDynamicImport = (base, orgScriptElm) => {\n const importFunctionName = getDynamicImportFunction(NAMESPACE);\n try {\n // test if this browser supports dynamic imports\n // There is a caching issue in V8, that breaks using import() in Function\n // By generating a random string, we can workaround it\n // Check https://bugs.chromium.org/p/chromium/issues/detail?id=990810 for more info\n win[importFunctionName] = new Function('w', `return import(w);//${Math.random()}`);\n }\n catch (e) {\n // this shim is specifically for browsers that do support \"esm\" imports\n // however, they do NOT support \"dynamic\" imports\n // basically this code is for old Edge, v18 and below\n const moduleMap = new Map();\n win[importFunctionName] = (src) => {\n const url = new URL(src, base).href;\n let mod = moduleMap.get(url);\n if (!mod) {\n const script = doc.createElement('script');\n script.type = 'module';\n script.crossOrigin = orgScriptElm.crossOrigin;\n script.src = URL.createObjectURL(new Blob([`import * as m from '${url}'; window.${importFunctionName}.m = m;`], {\n type: 'application/javascript',\n }));\n mod = new Promise((resolve) => {\n script.onload = () => {\n resolve(win[importFunctionName].m);\n script.remove();\n };\n });\n moduleMap.set(url, mod);\n doc.head.appendChild(script);\n }\n return mod;\n };\n }\n};\nconst patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function (deep) {\n if (this.nodeName === 'TEMPLATE') {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n // Node.ATTRIBUTE_NODE === 2, and checking because IE11\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport { patchBrowser };\n","import { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(options => {\n globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"]} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index.esm.js b/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index.esm.js deleted file mode 100644 index 54c3b628173..00000000000 --- a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index.esm.js +++ /dev/null @@ -1,2 +0,0 @@ - -//# sourceMappingURL=index.esm.js.map \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index.esm.js.map b/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index.esm.js.map deleted file mode 100644 index a464c6732ec..00000000000 --- a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/index.esm.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-773b8db5.entry.js b/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-773b8db5.entry.js deleted file mode 100644 index f4af2bd5b0a..00000000000 --- a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-773b8db5.entry.js +++ /dev/null @@ -1,2 +0,0 @@ -import{r,h as s,H as o}from"./p-de30d5d0.js";const t=":host{display:block}";let e=class{constructor(s){r(this,s)}render(){return s(o,null,s("slot",null))}};e.style=t;export{e as dnn_resource_manager}; -//# sourceMappingURL=p-773b8db5.entry.js.map \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-773b8db5.entry.js.map b/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-773b8db5.entry.js.map deleted file mode 100644 index cae99dcddb4..00000000000 --- a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-773b8db5.entry.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["src/components/dnn-resource-manager/dnn-resource-manager.scss?tag=dnn-resource-manager&encapsulation=shadow","src/components/dnn-resource-manager/dnn-resource-manager.tsx"],"names":["dnnResourceManagerCss","DnnResourceManager","[object Object]","h","Host"],"mappings":"6CAAA,MAAMA,EAAwB,2BCOjBC,EAAkB,+BAE7BC,SACE,OACEC,EAACC,EAAI,KACHD,EAAA,OAAA","sourcesContent":[":host {\n display: block;\n}\n","import { Component, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'dnn-resource-manager',\n styleUrl: 'dnn-resource-manager.scss',\n shadow: true,\n})\nexport class DnnResourceManager {\n\n render() {\n return (\n \n \n \n );\n }\n\n}\n"]} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-de30d5d0.js b/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-de30d5d0.js deleted file mode 100644 index 10b90bb3344..00000000000 --- a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-de30d5d0.js +++ /dev/null @@ -1,2 +0,0 @@ -const t="dnn-resource-manager";let n;let e;let s=false;const o=typeof window!=="undefined"?window:{};const c=o.document||{head:{}};const l={t:0,o:"",jmp:t=>t(),raf:t=>requestAnimationFrame(t),ael:(t,n,e,s)=>t.addEventListener(n,e,s),rel:(t,n,e,s)=>t.removeEventListener(n,e,s),ce:(t,n)=>new CustomEvent(t,n)};const i=t=>Promise.resolve(t);const r=(()=>{try{new CSSStyleSheet;return typeof(new CSSStyleSheet).replace==="function"}catch(t){}return false})();const f="{visibility:hidden}.hydrated{visibility:inherit}";const a=(t,n="")=>{{return()=>{}}};const u=(t,n)=>{{return()=>{}}};const d=new WeakMap;const $=(t,n,e)=>{let s=K.get(t);if(r&&e){s=s||new CSSStyleSheet;s.replace(n)}else{s=n}K.set(t,s)};const p=(t,n,e,s)=>{let o=h(n);let l=K.get(o);t=t.nodeType===11?t:c;if(l){if(typeof l==="string"){t=t.head||t;let n=d.get(t);let e;if(!n){d.set(t,n=new Set)}if(!n.has(o)){{{e=c.createElement("style");e.innerHTML=l}t.insertBefore(e,t.querySelector("link"))}if(n){n.add(o)}}}else if(!t.adoptedStyleSheets.includes(l)){t.adoptedStyleSheets=[...t.adoptedStyleSheets,l]}}return o};const y=t=>{const n=t.l;const e=t.i;const s=n.t;const o=a("attachStyles",n.u);const c=p(e.shadowRoot?e.shadowRoot:e.getRootNode(),n);if(s&10){e["s-sc"]=c;e.classList.add(c+"-h")}o()};const h=(t,n)=>"sc-"+t.u;const m=t=>t!=null;const w=t=>{t=typeof t;return t==="object"||t==="function"};const S=(t,n,...e)=>{let s=null;let o=false;let c=false;let l=[];const i=n=>{for(let e=0;e0){r.h=l}return r};const b=(t,n)=>{const e={t:0,m:t,$:n,S:null,h:null};return e};const g={};const k=t=>t&&t.m===g;const C=(t,e,s,o)=>{let l=e.h[s];let i=0;let r;let f;{r=l.S=c.createElement(l.m);if(m(n)&&r["s-si"]!==n){r.classList.add(r["s-si"]=n)}if(l.h){for(i=0;i{let i=t;let r;if(i.shadowRoot&&i.tagName===e){i=i.shadowRoot}for(;c<=l;++c){if(o[c]){r=C(null,s,c);if(r){o[c].S=r;i.insertBefore(r,n)}}}};const j=(t,n)=>{const e=n.S=t.S;const s=n.h;{if(s!==null){M(e,null,n,s,0,s.length-1)}else;}};const P=(t,s)=>{const o=t.i;const c=t.g||b(null,null);const l=k(s)?s:S(null,null,s);e=o.tagName;l.m=null;l.t|=4;t.g=l;l.S=c.S=o.shadowRoot||o;{n=o["s-sc"]}j(c,l)};const U=(t,n,e)=>{const s=l.ce(n,e);t.dispatchEvent(s);return s};const v=(t,n)=>{if(n&&!t.k&&n["s-p"]){n["s-p"].push(new Promise((n=>t.k=n)))}};const x=(t,n)=>{if(t.t&4){t.t|=512;return}v(t,t.C);const e=()=>E(t,n);return et(e)};const E=(t,n)=>{const e=a("scheduleUpdate",t.l.u);const s=t.M;let o;e();return O(o,(()=>T(t,s,n)))};const T=async(t,n,e)=>{const s=t.i;const o=a("update",t.l.u);const c=s["s-rc"];if(e){y(t)}const l=a("render",t.l.u);{A(t,n)}if(c){c.map((t=>t()));s["s-rc"]=undefined}l();o();{const n=s["s-p"];const e=()=>H(t);if(n.length===0){e()}else{Promise.all(n).then(e);t.t|=4;n.length=0}}};const A=(t,n,e)=>{try{n=n.render();{t.t|=2}{{{P(t,n)}}}}catch(n){D(n,t.i)}return null};const H=t=>{const n=t.l.u;const e=t.i;const s=a("postUpdate",n);const o=t.C;if(!(t.t&64)){t.t|=64;{R(e)}s();{t.j(e);if(!o){L()}}}else{s()}{if(t.k){t.k();t.k=undefined}if(t.t&512){nt((()=>x(t,false)))}t.t&=~(4|512)}};const L=n=>{{R(c.documentElement)}nt((()=>U(o,"appload",{detail:{namespace:t}})))};const O=(t,n)=>t&&t.then?t.then(n):n();const R=t=>t.classList.add("hydrated");const W=(t,n,e)=>t;const q=async(t,n,e,s,o)=>{if((n.t&32)===0){{n.t|=32;o=J(e);if(o.then){const t=u();o=await o;t()}const t=a("createInstance",e.u);try{new o(n)}catch(t){D(t)}t()}if(o.style){let t=o.style;const n=h(e);if(!K.has(n)){const s=a("registerStyles",e.u);$(n,t,!!(e.t&1));s()}}}const c=n.C;const l=()=>x(n,true);if(c&&c["s-rc"]){c["s-rc"].push(l)}else{l()}};const F=t=>{if((l.t&1)===0){const n=_(t);const e=n.l;const s=a("connectedCallback",e.u);if(!(n.t&1)){n.t|=1;{let e=t;while(e=e.parentNode||e.host){if(e["s-p"]){v(n,n.C=e);break}}}{q(t,n,e)}}s()}};const I=t=>{if((l.t&1)===0){_(t)}};const N=(t,n={})=>{const e=a();const s=[];const i=n.exclude||[];const r=o.customElements;const u=c.head;const d=u.querySelector("meta[charset]");const $=c.createElement("style");const p=[];let y;let h=true;Object.assign(l,n);l.o=new URL(n.resourcesUrl||"./",c.baseURI).href;t.map((t=>{t[1].map((n=>{const e={t:n[0],u:n[1],P:n[2],U:n[3]};const o=e.u;const c=class extends HTMLElement{constructor(t){super(t);t=this;B(t,e);if(e.t&1){{{t.attachShadow({mode:"open"})}}}}connectedCallback(){if(y){clearTimeout(y);y=null}if(h){p.push(this)}else{l.jmp((()=>F(this)))}}disconnectedCallback(){l.jmp((()=>I(this)))}componentOnReady(){return _(this).v}};e.T=t[0];if(!i.includes(o)&&!r.get(o)){s.push(o);r.define(o,W(c))}}))}));{$.innerHTML=s+f;$.setAttribute("data-styles","");u.insertBefore($,d?d.nextSibling:u.firstChild)}h=false;if(p.length){p.map((t=>t.connectedCallback()))}else{{l.jmp((()=>y=setTimeout(L,30)))}}e()};const V=new WeakMap;const _=t=>V.get(t);const z=(t,n)=>V.set(n.M=t,n);const B=(t,n)=>{const e={t:0,i:t,l:n,A:new Map};{e.v=new Promise((t=>e.j=t));t["s-p"]=[];t["s-rc"]=[]}return V.set(t,e)};const D=(t,n)=>(0,console.error)(t,n);const G=new Map;const J=(t,n,e)=>{const s=t.u.replace(/-/g,"_");const o=t.T;const c=G.get(o);if(c){return c[s]}return import(`./${o}.entry.js${""}`).then((t=>{{G.set(o,t)}return t[s]}),D)};const K=new Map;const Q=[];const X=[];const Y=(t,n)=>e=>{t.push(e);if(!s){s=true;if(n&&l.t&4){nt(tt)}else{l.raf(tt)}}};const Z=t=>{for(let n=0;n{Z(Q);{Z(X);if(s=Q.length>0){l.raf(tt)}}};const nt=t=>i().then(t);const et=Y(X,true);export{g as H,N as b,S as h,i as p,z as r}; -//# sourceMappingURL=p-de30d5d0.js.map \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-de30d5d0.js.map b/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-de30d5d0.js.map deleted file mode 100644 index 4644fe386b5..00000000000 --- a/DNN Platform/Modules/ResourceManager/Scripts/dnn-resource-manager/p-de30d5d0.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@stencil/core/internal/app-data","../../../../node_modules/@stencil/core/internal/client/index.js?app-data=conditional"],"names":["NAMESPACE","scopeId","hostTagName","queuePending","win","window","doc","document","head","plt","t","o","jmp","h","raf","requestAnimationFrame","ael","el","eventName","listener","opts","addEventListener","rel","removeEventListener","ce","CustomEvent","promiseResolve","v","Promise","resolve","supportsConstructibleStylesheets","CSSStyleSheet","replace","e","HYDRATED_CSS","createTime","fnName","tagName","uniqueTime","key","measureText","rootAppliedStyles","WeakMap","registerStyle","cssText","allowCS","style","styles","get","set","addStyle","styleContainerNode","cmpMeta","mode","hostElm","getScopeId","nodeType","appliedStyles","styleElm","Set","has","createElement","innerHTML","insertBefore","querySelector","add","adoptedStyleSheets","includes","attachStyles","hostRef","$cmpMeta$","elm","$hostElement$","flags","$flags$","endAttachStyles","$tagName$","shadowRoot","getRootNode","classList","cmp","isDef","isComplexType","nodeName","vnodeData","children","child","simple","lastSimple","vNodeChildren","walk","c","i","length","Array","isArray","String","$text$","push","newVNode","vnode","$attrs$","$children$","tag","text","m","$","S","Host","isHost","node","$tag$","createElm","oldParentVNode","newParentVNode","childIndex","parentElm","childNode","$elm$","appendChild","addVnodes","before","parentVNode","vnodes","startIdx","endIdx","containerElm","patch","oldVNode","newChildren","renderVdom","renderFnResults","$vnode$","rootVnode","emitEvent","name","ev","dispatchEvent","attachToAncestor","ancestorComponent","$onRenderResolve$","r","scheduleUpdate","isInitialLoad","$ancestorComponent$","dispatch","dispatchHooks","writeTask","endSchedule","instance","$lazyInstance$","promise","then","updateComponent","async","endUpdate","rc","endRender","callRender","map","cb","undefined","childrenPromises","postUpdate","postUpdateComponent","all","render","consoleError","endPostUpdate","addHydratedFlag","$onReadyResolve$","appDidLoad","nextTick","who","documentElement","detail","namespace","thenFn","proxyComponent","Cstr","initializeComponent","hmrVersionId","loadModule","endLoad","endNewInstance","endRegisterStyles","schedule","connectedCallback","getHostRef","endConnected","parentNode","host","disconnectedCallback","bootstrapLazy","lazyBundles","options","endBootstrap","cmpTags","exclude","customElements","metaCharset","visibilityStyle","deferredConnectedCallbacks","appLoadFallback","isBootstrapping","Object","assign","$resourcesUrl$","URL","resourcesUrl","baseURI","href","lazyBundle","compactMeta","u","P","U","HostElement","HTMLElement","[object Object]","self","super","this","registerHost","attachShadow","clearTimeout","$onReadyPromise$","$lazyBundleId$","define","setAttribute","nextSibling","firstChild","setTimeout","hostRefs","ref","registerInstance","lazyInstance","l","A","Map","console","error","cmpModules","exportName","bundleId","module","import","importedModule","queueDomReads","queueDomWrites","queueTask","queue","write","flush","consume","performance","now"],"mappings":"AAAO,MAAMA,EAAY,uBCAzB,IAAIC,EAEJ,IAAIC,EASJ,IAAIC,EAAe,MAKnB,MAAMC,SAAaC,SAAW,YAAcA,OAAS,GAErD,MAAMC,EAAMF,EAAIG,UAAY,CAAEC,KAAM,IAGpC,MAAMC,EAAM,CACRC,EAAS,EACTC,EAAgB,GAChBC,IAAMC,GAAMA,IACZC,IAAMD,GAAME,sBAAsBF,GAClCG,IAAK,CAACC,EAAIC,EAAWC,EAAUC,IAASH,EAAGI,iBAAiBH,EAAWC,EAAUC,GACjFE,IAAK,CAACL,EAAIC,EAAWC,EAAUC,IAASH,EAAGM,oBAAoBL,EAAWC,EAAUC,GACpFI,GAAI,CAACN,EAAWE,IAAS,IAAIK,YAAYP,EAAWE,IAoBnD,MAACM,EAAkBC,GAAMC,QAAQC,QAAQF,GAC9C,MAAMG,EACc,MACZ,IACI,IAAIC,cACJ,cAAc,IAAIA,eAAgBC,UAAY,WAElD,MAAOC,IACP,OAAO,OANK,GAoFpB,MAAMC,EAAe,mDAErB,MAAMC,EAAa,CAACC,EAAQC,EAAU,MAQ7B,CACD,MAAO,SAKf,MAAMC,EAAa,CAACC,EAAKC,KAWhB,CACD,MAAO,SA4Df,MAAMC,EAAoB,IAAIC,QAC9B,MAAMC,EAAgB,CAAC1C,EAAS2C,EAASC,KACrC,IAAIC,EAAQC,EAAOC,IAAI/C,GACvB,GAAI6B,GAAoCe,EAAS,CAC7CC,EAASA,GAAS,IAAIf,cACtBe,EAAMd,QAAQY,OAEb,CACDE,EAAQF,EAEZG,EAAOE,IAAIhD,EAAS6C,IAExB,MAAMI,EAAW,CAACC,EAAoBC,EAASC,EAAMC,KACjD,IAAIrD,EAAUsD,EAAWH,GACzB,IAAIN,EAAQC,EAAOC,IAAI/C,GAMvBkD,EAAqBA,EAAmBK,WAAa,GAA4BL,EAAqB7C,EACtG,GAAIwC,EAAO,CACP,UAAWA,IAAU,SAAU,CAC3BK,EAAqBA,EAAmB3C,MAAQ2C,EAChD,IAAIM,EAAgBhB,EAAkBO,IAAIG,GAC1C,IAAIO,EACJ,IAAKD,EAAe,CAChBhB,EAAkBQ,IAAIE,EAAqBM,EAAgB,IAAIE,KAEnE,IAAKF,EAAcG,IAAI3D,GAAU,CAOxB,CAYI,CACDyD,EAAWpD,EAAIuD,cAAc,SAC7BH,EAASI,UAAYhB,EAKzBK,EAAmBY,aAAaL,EAAUP,EAAmBa,cAAc,SAE/E,GAAIP,EAAe,CACfA,EAAcQ,IAAIhE,UAIzB,IAA+BkD,EAAmBe,mBAAmBC,SAASrB,GAAQ,CACvFK,EAAmBe,mBAAqB,IAAIf,EAAmBe,mBAAoBpB,IAG3F,OAAO7C,GAEX,MAAMmE,EAAgBC,IAClB,MAAMjB,EAAUiB,EAAQC,EACxB,MAAMC,EAAMF,EAAQG,EACpB,MAAMC,EAAQrB,EAAQsB,EACtB,MAAMC,EAAkBxC,EAAW,eAAgBiB,EAAQwB,GAC3D,MAAM3E,EAAUiD,EAA8CqB,EAAIM,WAAaN,EAAIM,WAAaN,EAAIO,cAAe1B,GACnH,GAAiEqB,EAAQ,GAAmC,CAQxGF,EAAI,QAAUtE,EACdsE,EAAIQ,UAAUd,IAAIhE,EAAU,MAKhC0E,KAEJ,MAAMpB,EAAa,CAACyB,EAAK3B,IAAS,MAA6F2B,EAAa,EAoB5I,MAAMC,EAAStD,GAAMA,GAAK,KAC1B,MAAMuD,EAAiBvE,IAEnBA,SAAWA,EACX,OAAOA,IAAM,UAAYA,IAAM,YAa9B,MAACE,EAAI,CAACsE,EAAUC,KAAcC,KAC/B,IAAIC,EAAQ,KAGZ,IAAIC,EAAS,MACb,IAAIC,EAAa,MACjB,IAAIC,EAAgB,GACpB,MAAMC,EAAQC,IACV,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAEE,OAAQD,IAAK,CAC/BN,EAAQK,EAAEC,GACV,GAAIE,MAAMC,QAAQT,GAAQ,CACtBI,EAAKJ,QAEJ,GAAIA,GAAS,aAAeA,IAAU,UAAW,CAClD,GAAKC,SAAgBJ,IAAa,aAAeD,EAAcI,GAAS,CACpEA,EAAQU,OAAOV,GAOnB,GAAIC,GAAUC,EAAY,CAEtBC,EAAcA,EAAcI,OAAS,GAAGI,GAAUX,MAEjD,CAEDG,EAAcS,KAAKX,EAASY,EAAS,KAAMb,GAASA,GAExDE,EAAaD,KAIzBG,EAAKL,GAiCL,MAAMe,EAAQD,EAAShB,EAAU,MACjCiB,EAAMC,EAAUjB,EAChB,GAAIK,EAAcI,OAAS,EAAG,CAC1BO,EAAME,EAAab,EAQvB,OAAOW,GAEX,MAAMD,EAAW,CAACI,EAAKC,KACnB,MAAMJ,EAAQ,CACV1F,EAAS,EACT+F,EAAOF,EACPG,EAAQF,EACRG,EAAO,KACP9F,EAAY,MAWhB,OAAOuF,GAEN,MAACQ,EAAO,GACb,MAAMC,EAAUC,GAASA,GAAQA,EAAKC,IAAUH,EA8NhD,MAAMI,EAAY,CAACC,EAAgBC,EAAgBC,EAAYC,KAE3D,IAAIjB,EAAWe,EAAeZ,EAAWa,GACzC,IAAIvB,EAAI,EACR,IAAIrB,EACJ,IAAI8C,EA6BC,CAKD9C,EAAM4B,EAASmB,EAIThH,EAAIuD,cAEAsC,EAASY,GAQnB,GAAyC9B,EAAMhF,IAAYsE,EAAI,UAAYtE,EAAS,CAGhFsE,EAAIQ,UAAUd,IAAKM,EAAI,QAAUtE,GAErC,GAAIkG,EAASG,EAAY,CACrB,IAAKV,EAAI,EAAGA,EAAIO,EAASG,EAAWT,SAAUD,EAAG,CAE7CyB,EAAYL,EAAUC,EAAgBd,EAAUP,GAEhD,GAAIyB,EAAW,CAEX9C,EAAIgD,YAAYF,MAiChC,OAAO9C,GA0BX,MAAMiD,EAAY,CAACJ,EAAWK,EAAQC,EAAaC,EAAQC,EAAUC,KACjE,IAAIC,EAAY,EAChB,IAAIT,EACJ,GAAuBS,EAAajD,YAAciD,EAAazF,UAAYnC,EAAa,CACpF4H,EAAeA,EAAajD,WAEhC,KAAO+C,GAAYC,IAAUD,EAAU,CACnC,GAAID,EAAOC,GAAW,CAClBP,EAAYL,EAAU,KAAMU,EAAaE,GACzC,GAAIP,EAAW,CACXM,EAAOC,GAAUN,EAAQD,EACzBS,EAAa/D,aAAasD,EAA0DI,OAyJpG,MAAMM,EAAQ,CAACC,EAAU7B,KACrB,MAAM5B,EAAO4B,EAASmB,EAAQU,EAASV,EAEvC,MAAMW,EAAc9B,EAASG,EAIS,CAqB7B,GAAI2B,IAAgB,KAAM,CAO3BT,EAAUjD,EAAK,KAAM4B,EAAU8B,EAAa,EAAGA,EAAYpC,OAAS,WA6JhF,MAAMqC,EAAa,CAAC7D,EAAS8D,KACzB,MAAM7E,EAAUe,EAAQG,EAExB,MAAMwD,EAAW3D,EAAQ+D,GAAWjC,EAAS,KAAM,MACnD,MAAMkC,EAAYxB,EAAOsB,GAAmBA,EAAkBtH,EAAE,KAAM,KAAMsH,GAC5EjI,EAAcoD,EAAQjB,QAoBtBgG,EAAUtB,EAAQ,KAClBsB,EAAU3D,GAAW,EACrBL,EAAQ+D,EAAUC,EAClBA,EAAUf,EAAQU,EAASV,EAA2BhE,EAAQuB,YAAcvB,EACvC,CACjCrD,EAAUqD,EAAQ,QAStByE,EAAMC,EAAUK,IA+GpB,MAAMC,EAAY,CAAC/D,EAAKgE,EAAMnH,KAC1B,MAAMoH,EAAK/H,EAAIe,GAAG+G,EAAMnH,GACxBmD,EAAIkE,cAAcD,GAClB,OAAOA,GAEX,MAAME,EAAmB,CAACrE,EAASsE,KAC/B,GAA0BA,IAAsBtE,EAAQuE,GAAqBD,EAAkB,OAAQ,CACnGA,EAAkB,OAAOzC,KAAK,IAAItE,SAASiH,GAAOxE,EAAQuE,EAAoBC,OAGtF,MAAMC,EAAiB,CAACzE,EAAS0E,KAI7B,GAA0B1E,EAAQK,EAAU,EAA8B,CACtEL,EAAQK,GAAW,IACnB,OAEJgE,EAAiBrE,EAASA,EAAQ2E,GAIlC,MAAMC,EAAW,IAAMC,EAAc7E,EAAS0E,GAC9C,OAAyBI,GAAUF,IAEvC,MAAMC,EAAgB,CAAC7E,EAAS0E,KAE5B,MAAMK,EAAcjH,EAAW,iBAAkBkC,EAAQC,EAAUM,GACnE,MAAMyE,EAA4BhF,EAAQiF,EAC1C,IAAIC,EAwBJH,IACA,OAAOI,EAAKD,GAAS,IAAME,EAAgBpF,EAASgF,EAAUN,MAElE,MAAMU,EAAkBC,MAAOrF,EAASgF,EAAUN,KAE9C,MAAMxE,EAAMF,EAAQG,EACpB,MAAMmF,EAAYxH,EAAW,SAAUkC,EAAQC,EAAUM,GACzD,MAAMgF,EAAKrF,EAAI,QACf,GAAmBwE,EAAe,CAE9B3E,EAAaC,GAEjB,MAAMwF,EAAY1H,EAAW,SAAUkC,EAAQC,EAAUM,GAOpD,CACDkF,EAAWzF,EAASgF,GA2BxB,GAA0BO,EAAI,CAI1BA,EAAGG,KAAKC,GAAOA,MACfzF,EAAI,QAAU0F,UAElBJ,IACAF,IACwB,CACpB,MAAMO,EAAmB3F,EAAI,OAC7B,MAAM4F,EAAa,IAAMC,EAAoB/F,GAC7C,GAAI6F,EAAiBrE,SAAW,EAAG,CAC/BsE,QAEC,CACDvI,QAAQyI,IAAIH,GAAkBV,KAAKW,GACnC9F,EAAQK,GAAW,EACnBwF,EAAiBrE,OAAS,KAOtC,MAAMiE,EAAa,CAACzF,EAASgF,EAAU9E,KAQnC,IAEI8E,EAAyBA,EAASiB,SAIP,CACvBjG,EAAQK,GAAW,EAEiB,CACG,CAO9B,CACDwD,EAAW7D,EAASgF,MAQpC,MAAOpH,GACHsI,EAAatI,EAAGoC,EAAQG,GAG5B,OAAO,MAGX,MAAM4F,EAAuB/F,IACzB,MAAMhC,EAAUgC,EAAQC,EAAUM,EAClC,MAAML,EAAMF,EAAQG,EACpB,MAAMgG,EAAgBrI,EAAW,aAAcE,GAE/C,MAAMsG,EAAoBtE,EAAQ2E,EAWlC,KAAM3E,EAAQK,EAAU,IAA8B,CAClDL,EAAQK,GAAW,GAC6B,CAE5C+F,EAAgBlG,GAYpBiG,IACwB,CACpBnG,EAAQqG,EAAiBnG,GACzB,IAAKoE,EAAmB,CACpBgC,UAIP,CAeDH,IAUoB,CACpB,GAAInG,EAAQuE,EAAmB,CAC3BvE,EAAQuE,IACRvE,EAAQuE,EAAoBqB,UAEhC,GAAI5F,EAAQK,EAAU,IAAyB,CAC3CkG,IAAS,IAAM9B,EAAezE,EAAS,SAE3CA,EAAQK,KAAa,EAA+B,OAmB5D,MAAMiG,EAAcE,IAGU,CACtBJ,EAAgBnK,EAAIwK,iBAKxBF,IAAS,IAAMtC,EAAUlI,EAAK,UAAW,CAAE2K,OAAQ,CAAEC,UAAWhL,QAgBpE,MAAMwJ,EAAO,CAACD,EAAS0B,IACZ1B,GAAWA,EAAQC,KAAOD,EAAQC,KAAKyB,GAAUA,IAa5D,MAAMR,EAAmBlG,GACnBA,EAAIQ,UAAUd,IAAI,YAkUxB,MAAMiH,EAAiB,CAACC,EAAM/H,EAASqB,IAyH5B0G,EAEX,MAAMC,EAAsB1B,MAAOnF,EAAKF,EAASjB,EAASiI,EAAcF,KAEpE,IACK9G,EAAQK,EAAU,MAAsC,EAAG,CACb,CAE3CL,EAAQK,GAAW,GAInByG,EAAOG,EAAWlI,GAClB,GAAI+H,EAAK3B,KAAM,CAEX,MAAM+B,EAAUjJ,IAChB6I,QAAaA,EACbI,IAeJ,MAAMC,EAAiBrJ,EAAW,iBAAkBiB,EAAQwB,GAW5D,IACI,IAAIuG,EAAK9G,GAEb,MAAOpC,GACHsI,EAAatI,GAQjBuJ,IAYJ,GAAmBL,EAAKrI,MAAO,CAE3B,IAAIA,EAAQqI,EAAKrI,MAOjB,MAAM7C,EAAUsD,EAAWH,GAC3B,IAAKL,EAAOa,IAAI3D,GAAU,CACtB,MAAMwL,EAAoBtJ,EAAW,iBAAkBiB,EAAQwB,GAO/DjC,EAAc1C,EAAS6C,KAAUM,EAAQsB,EAAU,IACnD+G,MAKZ,MAAM9C,EAAoBtE,EAAQ2E,EAClC,MAAM0C,EAAW,IAAM5C,EAAezE,EAAS,MAC/C,GAA0BsE,GAAqBA,EAAkB,QAAS,CAOtEA,EAAkB,QAAQzC,KAAKwF,OAE9B,CACDA,MAQR,MAAMC,EAAqBpH,IACvB,IAAK9D,EAAIiE,EAAU,KAA+B,EAAG,CACjD,MAAML,EAAUuH,EAAWrH,GAC3B,MAAMnB,EAAUiB,EAAQC,EACxB,MAAMuH,EAAe1J,EAAW,oBAAqBiB,EAAQwB,GAK7D,KAAMP,EAAQK,EAAU,GAAuB,CAE3CL,EAAQK,GAAW,EAyBK,CAGpB,IAAIiE,EAAoBpE,EACxB,MAAQoE,EAAoBA,EAAkBmD,YAAcnD,EAAkBoD,KAAO,CAGjF,GAIIpD,EAAkB,OAAQ,CAG1BD,EAAiBrE,EAAUA,EAAQ2E,EAAsBL,GACzD,QAsBP,CACDyC,EAAoB7G,EAAKF,EAASjB,IAW1CyI,MAcR,MAAMG,EAAwBzH,IAC1B,IAAK9D,EAAIiE,EAAU,KAA+B,EAAG,CACjCkH,EAAWrH,KA0S9B,MAAC0H,EAAgB,CAACC,EAAaC,EAAU,MAK1C,MAAMC,EAAejK,IACrB,MAAMkK,EAAU,GAChB,MAAMC,EAAUH,EAAQG,SAAW,GACnC,MAAMC,EAAiBnM,EAAImM,eAC3B,MAAM/L,EAAOF,EAAIE,KACjB,MAAMgM,EAA4BhM,EAAKwD,cAAc,iBACrD,MAAMyI,EAAgCnM,EAAIuD,cAAc,SACxD,MAAM6I,EAA6B,GAEnC,IAAIC,EACJ,IAAIC,EAAkB,KAEtBC,OAAOC,OAAOrM,EAAK0L,GACnB1L,EAAIsM,EAAiB,IAAIC,IAAIb,EAAQc,cAAgB,KAAM3M,EAAI4M,SAASC,KAgBxEjB,EAAYnC,KAAKqD,IACbA,EAAW,GAAGrD,KAAKsD,IACf,MAAMjK,EAAU,CACZ1C,EAAS2M,EAAY,GACrBC,EAAWD,EAAY,GACvBE,EAAWF,EAAY,GACvBG,EAAaH,EAAY,IAiB7B,MAAMhL,EAEAe,EAAQwB,EACd,MAAM6I,EAAc,cAAcC,YAE9BC,YAAYC,GAERC,MAAMD,GACNA,EAAOE,KACPC,EAAaH,EAAMxK,GACnB,GAAuBA,EAAQsB,EAAU,EAAgC,CAKjD,CAOX,CACDkJ,EAAKI,aAAa,CAAE3K,KAAM,YAW1CsK,oBACI,GAAIhB,EAAiB,CACjBsB,aAAatB,GACbA,EAAkB,KAEtB,GAAIC,EAAiB,CAEjBF,EAA2BxG,KAAK4H,UAE/B,CACDrN,EAAIG,KAAI,IAAM+K,EAAkBmC,SAGxCH,uBACIlN,EAAIG,KAAI,IAAMoL,EAAqB8B,QAEvCH,mBACI,OAAO/B,EAAWkC,MAAMI,IAiBhC9K,EAAQ+K,EAAiBf,EAAW,GACpC,IAAKd,EAAQnI,SAAS9B,KAAakK,EAAevJ,IAAIX,GAAU,CAC5DgK,EAAQnG,KAAK7D,GACbkK,EAAe6B,OAAO/L,EAAS6I,EAAeuC,WAI2B,CACjFhB,EAAgB3I,UAAYuI,EAAUnK,EACtCuK,EAAgB4B,aAAa,cAAe,IAC5C7N,EAAKuD,aAAa0I,EAAiBD,EAAcA,EAAY8B,YAAc9N,EAAK+N,YAGpF3B,EAAkB,MAClB,GAAIF,EAA2B7G,OAAQ,CACnC6G,EAA2B3C,KAAKgC,GAASA,EAAKJ,0BAE7C,CAII,CACDlL,EAAIG,KAAI,IAAO+L,EAAkB6B,WAAW7D,EAAY,OAIhEyB,KAqMJ,MAAMqC,EAAW,IAAI/L,QACrB,MAAMkJ,EAAc8C,GAAQD,EAASzL,IAAI0L,GACpC,MAACC,EAAmB,CAACC,EAAcvK,IAAYoK,EAASxL,IAAKoB,EAAQiF,EAAiBsF,EAAevK,GAC1G,MAAM0J,EAAe,CAACxJ,EAAKnB,KACvB,MAAMiB,EAAU,CACZ3D,EAAS,EACTkF,EAAerB,EACfsK,EAAWzL,EACX0L,EAAkB,IAAIC,KAQF,CACpB1K,EAAQ6J,EAAmB,IAAItM,SAASiH,GAAOxE,EAAQqG,EAAmB7B,IAC1EtE,EAAI,OAAS,GACbA,EAAI,QAAU,GAGlB,OAAOkK,EAASxL,IAAIsB,EAAKF,IAG7B,MAAMkG,EAAe,CAACtI,EAAGhB,KAAO,EAAgB+N,QAAQC,OAAOhN,EAAGhB,GAWlE,MAAMiO,EAA2B,IAAIH,IACrC,MAAMzD,EAAa,CAAClI,EAASiB,EAASgH,KAElC,MAAM8D,EAAa/L,EAAQwB,EAAU5C,QAAQ,KAAM,KACnD,MAAMoN,EAAWhM,EAAQ+K,EAKzB,MAAMkB,EAAuCH,EAAWlM,IAAIoM,GAC5D,GAAIC,EAAQ,CACR,OAAOA,EAAOF,GAElB,OAAOG,OAIP,KAAKF,aAA4F,MAAM5F,MAAM+F,IACxE,CAC7BL,EAAWjM,IAAImM,EAAUG,GAE7B,OAAOA,EAAeJ,KACvB5E,IAEP,MAAMxH,EAAS,IAAIgM,IAEnB,MAAMS,EAAgB,GACtB,MAAMC,EAAiB,GAEvB,MAAMC,EAAY,CAACC,EAAOC,IAAW5F,IACjC2F,EAAMzJ,KAAK8D,GACX,IAAK7J,EAAc,CACfA,EAAe,KACf,GAAIyP,GAASnP,EAAIiE,EAAU,EAAmB,CAC1CkG,GAASiF,QAER,CACDpP,EAAIK,IAAI+O,OAIpB,MAAMC,EAAWH,IACb,IAAK,IAAI/J,EAAI,EAAGA,EAAI+J,EAAM9J,OAAQD,IAAK,CACnC,IACI+J,EAAM/J,GAAGmK,YAAYC,OAEzB,MAAO/N,GACHsI,EAAatI,IAGrB0N,EAAM9J,OAAS,GAoBnB,MAAMgK,GAAQ,KAOVC,EAAQN,GAqBH,CACDM,EAAQL,GACR,GAAKtP,EAAeqP,EAAc3J,OAAS,EAAI,CAG3CpF,EAAIK,IAAI+O,OAIpB,MAAMjF,GAA0BZ,GAAOtI,IAAiB8H,KAAKQ,GAE7D,MAAMb,GAA0BuG,EAAUD,EAAgB","sourcesContent":["export const NAMESPACE = 'dnn-resource-manager';\nexport const BUILD = /* dnn-resource-manager */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: false, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: false, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, cssVarShim: false, devTools: false, disconnectedCallback: false, dynamicImportShim: false, element: false, event: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: false, lifecycleDOMEvents: false, member: false, method: false, mode: false, observeAttribute: false, profile: false, prop: false, propBoolean: false, propMutable: false, propNumber: false, propString: false, reflect: false, safari10: false, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, shadowDomShim: false, slot: true, slotChildNodesFix: false, slotRelocation: false, state: false, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: false, vdomAttribute: false, vdomClass: false, vdomFunctional: false, vdomKey: false, vdomListener: false, vdomPropOrAttr: false, vdomRef: false, vdomRender: true, vdomStyle: false, vdomText: false, vdomXlink: false, watchCallback: false };\nexport const Env = /* dnn-resource-manager */ {};\n","let scopeId;\nlet contentRef;\nlet hostTagName;\nlet customError;\nlet i = 0;\nlet useNativeShadowDom = false;\nlet checkSlotFallbackVisibility = false;\nlet checkSlotRelocate = false;\nlet isSvgMode = false;\nlet renderingRef = null;\nlet queueCongestion = 0;\nlet queuePending = false;\n/*\n Stencil Client Platform v2.14.0 | MIT Licensed | https://stenciljs.com\n */\nimport { BUILD, NAMESPACE } from '@stencil/core/internal/app-data';\nconst win = typeof window !== 'undefined' ? window : {};\nconst CSS = BUILD.cssVarShim ? win.CSS : null;\nconst doc = win.document || { head: {} };\nconst H = (win.HTMLElement || class {\n});\nconst plt = {\n $flags$: 0,\n $resourcesUrl$: '',\n jmp: (h) => h(),\n raf: (h) => requestAnimationFrame(h),\n ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),\n rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),\n ce: (eventName, opts) => new CustomEvent(eventName, opts),\n};\nconst setPlatformHelpers = (helpers) => {\n Object.assign(plt, helpers);\n};\nconst supportsShadow = BUILD.shadowDomShim && BUILD.shadowDom\n ? /*@__PURE__*/ (() => (doc.head.attachShadow + '').indexOf('[native') > -1)()\n : true;\nconst supportsListenerOptions = /*@__PURE__*/ (() => {\n let supportsListenerOptions = false;\n try {\n doc.addEventListener('e', null, Object.defineProperty({}, 'passive', {\n get() {\n supportsListenerOptions = true;\n },\n }));\n }\n catch (e) { }\n return supportsListenerOptions;\n})();\nconst promiseResolve = (v) => Promise.resolve(v);\nconst supportsConstructibleStylesheets = BUILD.constructableCSS\n ? /*@__PURE__*/ (() => {\n try {\n new CSSStyleSheet();\n return typeof new CSSStyleSheet().replace === 'function';\n }\n catch (e) { }\n return false;\n })()\n : false;\nconst Context = {};\nconst addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {\n if (BUILD.hostListener && listeners) {\n // this is called immediately within the element's constructor\n // initialize our event listeners on the host element\n // we do this now so that we can listen to events that may\n // have fired even before the instance is ready\n if (BUILD.hostListenerTargetParent) {\n // this component may have event listeners that should be attached to the parent\n if (attachParentListeners) {\n // this is being ran from within the connectedCallback\n // which is important so that we know the host element actually has a parent element\n // filter out the listeners to only have the ones that ARE being attached to the parent\n listeners = listeners.filter(([flags]) => flags & 32 /* TargetParent */);\n }\n else {\n // this is being ran from within the component constructor\n // everything BUT the parent element listeners should be attached at this time\n // filter out the listeners that are NOT being attached to the parent\n listeners = listeners.filter(([flags]) => !(flags & 32 /* TargetParent */));\n }\n }\n listeners.map(([flags, name, method]) => {\n const target = BUILD.hostListenerTarget ? getHostListenerTarget(elm, flags) : elm;\n const handler = hostListenerProxy(hostRef, method);\n const opts = hostListenerOpts(flags);\n plt.ael(target, name, handler, opts);\n (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));\n });\n }\n};\nconst hostListenerProxy = (hostRef, methodName) => (ev) => {\n try {\n if (BUILD.lazyLoad) {\n if (hostRef.$flags$ & 256 /* isListenReady */) {\n // instance is ready, let's call it's member method for this event\n hostRef.$lazyInstance$[methodName](ev);\n }\n else {\n (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);\n }\n }\n else {\n hostRef.$hostElement$[methodName](ev);\n }\n }\n catch (e) {\n consoleError(e);\n }\n};\nconst getHostListenerTarget = (elm, flags) => {\n if (BUILD.hostListenerTargetDocument && flags & 4 /* TargetDocument */)\n return doc;\n if (BUILD.hostListenerTargetWindow && flags & 8 /* TargetWindow */)\n return win;\n if (BUILD.hostListenerTargetBody && flags & 16 /* TargetBody */)\n return doc.body;\n if (BUILD.hostListenerTargetParent && flags & 32 /* TargetParent */)\n return elm.parentElement;\n return elm;\n};\n// prettier-ignore\nconst hostListenerOpts = (flags) => supportsListenerOptions\n ? ({\n passive: (flags & 1 /* Passive */) !== 0,\n capture: (flags & 2 /* Capture */) !== 0,\n })\n : (flags & 2 /* Capture */) !== 0;\nconst CONTENT_REF_ID = 'r';\nconst ORG_LOCATION_ID = 'o';\nconst SLOT_NODE_ID = 's';\nconst TEXT_NODE_ID = 't';\nconst HYDRATE_ID = 's-id';\nconst HYDRATED_STYLE_ID = 'sty-id';\nconst HYDRATE_CHILD_ID = 'c-id';\nconst HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';\nconst XLINK_NS = 'http://www.w3.org/1999/xlink';\nconst createTime = (fnName, tagName = '') => {\n if (BUILD.profile && performance.mark) {\n const key = `st:${fnName}:${tagName}:${i++}`;\n // Start\n performance.mark(key);\n // End\n return () => performance.measure(`[Stencil] ${fnName}() <${tagName}>`, key);\n }\n else {\n return () => {\n return;\n };\n }\n};\nconst uniqueTime = (key, measureText) => {\n if (BUILD.profile && performance.mark) {\n if (performance.getEntriesByName(key).length === 0) {\n performance.mark(key);\n }\n return () => {\n if (performance.getEntriesByName(measureText).length === 0) {\n performance.measure(measureText, key);\n }\n };\n }\n else {\n return () => {\n return;\n };\n }\n};\nconst inspect = (ref) => {\n const hostRef = getHostRef(ref);\n if (!hostRef) {\n return undefined;\n }\n const flags = hostRef.$flags$;\n const hostElement = hostRef.$hostElement$;\n return {\n renderCount: hostRef.$renderCount$,\n flags: {\n hasRendered: !!(flags & 2 /* hasRendered */),\n hasConnected: !!(flags & 1 /* hasConnected */),\n isWaitingForChildren: !!(flags & 4 /* isWaitingForChildren */),\n isConstructingInstance: !!(flags & 8 /* isConstructingInstance */),\n isQueuedForUpdate: !!(flags & 16 /* isQueuedForUpdate */),\n hasInitializedComponent: !!(flags & 32 /* hasInitializedComponent */),\n hasLoadedComponent: !!(flags & 64 /* hasLoadedComponent */),\n isWatchReady: !!(flags & 128 /* isWatchReady */),\n isListenReady: !!(flags & 256 /* isListenReady */),\n needsRerender: !!(flags & 512 /* needsRerender */),\n },\n instanceValues: hostRef.$instanceValues$,\n ancestorComponent: hostRef.$ancestorComponent$,\n hostElement,\n lazyInstance: hostRef.$lazyInstance$,\n vnode: hostRef.$vnode$,\n modeName: hostRef.$modeName$,\n onReadyPromise: hostRef.$onReadyPromise$,\n onReadyResolve: hostRef.$onReadyResolve$,\n onInstancePromise: hostRef.$onInstancePromise$,\n onInstanceResolve: hostRef.$onInstanceResolve$,\n onRenderResolve: hostRef.$onRenderResolve$,\n queuedListeners: hostRef.$queuedListeners$,\n rmListeners: hostRef.$rmListeners$,\n ['s-id']: hostElement['s-id'],\n ['s-cr']: hostElement['s-cr'],\n ['s-lr']: hostElement['s-lr'],\n ['s-p']: hostElement['s-p'],\n ['s-rc']: hostElement['s-rc'],\n ['s-sc']: hostElement['s-sc'],\n };\n};\nconst installDevTools = () => {\n if (BUILD.devTools) {\n const stencil = (win.stencil = win.stencil || {});\n const originalInspect = stencil.inspect;\n stencil.inspect = (ref) => {\n let result = inspect(ref);\n if (!result && typeof originalInspect === 'function') {\n result = originalInspect(ref);\n }\n return result;\n };\n }\n};\nconst rootAppliedStyles = new WeakMap();\nconst registerStyle = (scopeId, cssText, allowCS) => {\n let style = styles.get(scopeId);\n if (supportsConstructibleStylesheets && allowCS) {\n style = (style || new CSSStyleSheet());\n style.replace(cssText);\n }\n else {\n style = cssText;\n }\n styles.set(scopeId, style);\n};\nconst addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {\n let scopeId = getScopeId(cmpMeta, mode);\n let style = styles.get(scopeId);\n if (!BUILD.attachStyles) {\n return scopeId;\n }\n // if an element is NOT connected then getRootNode() will return the wrong root node\n // so the fallback is to always use the document for the root node in those cases\n styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;\n if (style) {\n if (typeof style === 'string') {\n styleContainerNode = styleContainerNode.head || styleContainerNode;\n let appliedStyles = rootAppliedStyles.get(styleContainerNode);\n let styleElm;\n if (!appliedStyles) {\n rootAppliedStyles.set(styleContainerNode, (appliedStyles = new Set()));\n }\n if (!appliedStyles.has(scopeId)) {\n if (BUILD.hydrateClientSide &&\n styleContainerNode.host &&\n (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}=\"${scopeId}\"]`))) {\n // This is only happening on native shadow-dom, do not needs CSS var shim\n styleElm.innerHTML = style;\n }\n else {\n if (BUILD.cssVarShim && plt.$cssShim$) {\n styleElm = plt.$cssShim$.createHostStyle(hostElm, scopeId, style, !!(cmpMeta.$flags$ & 10 /* needsScopedEncapsulation */));\n const newScopeId = styleElm['s-sc'];\n if (newScopeId) {\n scopeId = newScopeId;\n // we don't want to add this styleID to the appliedStyles Set\n // since the cssVarShim might need to apply several different\n // stylesheets for the same component\n appliedStyles = null;\n }\n }\n else {\n styleElm = doc.createElement('style');\n styleElm.innerHTML = style;\n }\n if (BUILD.hydrateServerSide || BUILD.hotModuleReplacement) {\n styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId);\n }\n styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));\n }\n if (appliedStyles) {\n appliedStyles.add(scopeId);\n }\n }\n }\n else if (BUILD.constructableCSS && !styleContainerNode.adoptedStyleSheets.includes(style)) {\n styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];\n }\n }\n return scopeId;\n};\nconst attachStyles = (hostRef) => {\n const cmpMeta = hostRef.$cmpMeta$;\n const elm = hostRef.$hostElement$;\n const flags = cmpMeta.$flags$;\n const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);\n const scopeId = addStyle(BUILD.shadowDom && supportsShadow && elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta, hostRef.$modeName$, elm);\n if ((BUILD.shadowDom || BUILD.scoped) && BUILD.cssAnnotations && flags & 10 /* needsScopedEncapsulation */) {\n // only required when we're NOT using native shadow dom (slot)\n // or this browser doesn't support native shadow dom\n // and this host element was NOT created with SSR\n // let's pick out the inner content for slot projection\n // create a node to represent where the original\n // content was first placed, which is useful later on\n // DOM WRITE!!\n elm['s-sc'] = scopeId;\n elm.classList.add(scopeId + '-h');\n if (BUILD.scoped && flags & 2 /* scopedCssEncapsulation */) {\n elm.classList.add(scopeId + '-s');\n }\n }\n endAttachStyles();\n};\nconst getScopeId = (cmp, mode) => 'sc-' + (BUILD.mode && mode && cmp.$flags$ & 32 /* hasMode */ ? cmp.$tagName$ + '-' + mode : cmp.$tagName$);\nconst convertScopedToShadow = (css) => css.replace(/\\/\\*!@([^\\/]+)\\*\\/[^\\{]+\\{/g, '$1{');\n// Private\nconst computeMode = (elm) => modeResolutionChain.map((h) => h(elm)).find((m) => !!m);\n// Public\nconst setMode = (handler) => modeResolutionChain.push(handler);\nconst getMode = (ref) => getHostRef(ref).$modeName$;\n/**\n * Default style mode id\n */\n/**\n * Reusable empty obj/array\n * Don't add values to these!!\n */\nconst EMPTY_OBJ = {};\n/**\n * Namespaces\n */\nconst SVG_NS = 'http://www.w3.org/2000/svg';\nconst HTML_NS = 'http://www.w3.org/1999/xhtml';\nconst isDef = (v) => v != null;\nconst isComplexType = (o) => {\n // https://jsperf.com/typeof-fn-object/5\n o = typeof o;\n return o === 'object' || o === 'function';\n};\n/**\n * Production h() function based on Preact by\n * Jason Miller (@developit)\n * Licensed under the MIT License\n * https://github.com/developit/preact/blob/master/LICENSE\n *\n * Modified for Stencil's compiler and vdom\n */\n// const stack: any[] = [];\n// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, child?: d.ChildType): d.VNode;\n// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;\nconst h = (nodeName, vnodeData, ...children) => {\n let child = null;\n let key = null;\n let slotName = null;\n let simple = false;\n let lastSimple = false;\n let vNodeChildren = [];\n const walk = (c) => {\n for (let i = 0; i < c.length; i++) {\n child = c[i];\n if (Array.isArray(child)) {\n walk(child);\n }\n else if (child != null && typeof child !== 'boolean') {\n if ((simple = typeof nodeName !== 'function' && !isComplexType(child))) {\n child = String(child);\n }\n else if (BUILD.isDev && typeof nodeName !== 'function' && child.$flags$ === undefined) {\n consoleDevError(`vNode passed as children has unexpected type.\nMake sure it's using the correct h() function.\nEmpty objects can also be the cause, look for JSX comments that became objects.`);\n }\n if (simple && lastSimple) {\n // If the previous child was simple (string), we merge both\n vNodeChildren[vNodeChildren.length - 1].$text$ += child;\n }\n else {\n // Append a new vNode, if it's text, we create a text vNode\n vNodeChildren.push(simple ? newVNode(null, child) : child);\n }\n lastSimple = simple;\n }\n }\n };\n walk(children);\n if (vnodeData) {\n if (BUILD.isDev && nodeName === 'input') {\n validateInputProperties(vnodeData);\n }\n // normalize class / classname attributes\n if (BUILD.vdomKey && vnodeData.key) {\n key = vnodeData.key;\n }\n if (BUILD.slotRelocation && vnodeData.name) {\n slotName = vnodeData.name;\n }\n if (BUILD.vdomClass) {\n const classData = vnodeData.className || vnodeData.class;\n if (classData) {\n vnodeData.class =\n typeof classData !== 'object'\n ? classData\n : Object.keys(classData)\n .filter((k) => classData[k])\n .join(' ');\n }\n }\n }\n if (BUILD.isDev && vNodeChildren.some(isHost)) {\n consoleDevError(`The must be the single root component. Make sure:\n- You are NOT using hostData() and in the same component.\n- is used once, and it's the single root component of the render() function.`);\n }\n if (BUILD.vdomFunctional && typeof nodeName === 'function') {\n // nodeName is a functional component\n return nodeName(vnodeData === null ? {} : vnodeData, vNodeChildren, vdomFnUtils);\n }\n const vnode = newVNode(nodeName, null);\n vnode.$attrs$ = vnodeData;\n if (vNodeChildren.length > 0) {\n vnode.$children$ = vNodeChildren;\n }\n if (BUILD.vdomKey) {\n vnode.$key$ = key;\n }\n if (BUILD.slotRelocation) {\n vnode.$name$ = slotName;\n }\n return vnode;\n};\nconst newVNode = (tag, text) => {\n const vnode = {\n $flags$: 0,\n $tag$: tag,\n $text$: text,\n $elm$: null,\n $children$: null,\n };\n if (BUILD.vdomAttribute) {\n vnode.$attrs$ = null;\n }\n if (BUILD.vdomKey) {\n vnode.$key$ = null;\n }\n if (BUILD.slotRelocation) {\n vnode.$name$ = null;\n }\n return vnode;\n};\nconst Host = {};\nconst isHost = (node) => node && node.$tag$ === Host;\nconst vdomFnUtils = {\n forEach: (children, cb) => children.map(convertToPublic).forEach(cb),\n map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate),\n};\nconst convertToPublic = (node) => ({\n vattrs: node.$attrs$,\n vchildren: node.$children$,\n vkey: node.$key$,\n vname: node.$name$,\n vtag: node.$tag$,\n vtext: node.$text$,\n});\nconst convertToPrivate = (node) => {\n if (typeof node.vtag === 'function') {\n const vnodeData = Object.assign({}, node.vattrs);\n if (node.vkey) {\n vnodeData.key = node.vkey;\n }\n if (node.vname) {\n vnodeData.name = node.vname;\n }\n return h(node.vtag, vnodeData, ...(node.vchildren || []));\n }\n const vnode = newVNode(node.vtag, node.vtext);\n vnode.$attrs$ = node.vattrs;\n vnode.$children$ = node.vchildren;\n vnode.$key$ = node.vkey;\n vnode.$name$ = node.vname;\n return vnode;\n};\n/**\n * Validates the ordering of attributes on an input element\n * @param inputElm the element to validate\n */\nconst validateInputProperties = (inputElm) => {\n const props = Object.keys(inputElm);\n const value = props.indexOf('value');\n if (value === -1) {\n return;\n }\n const typeIndex = props.indexOf('type');\n const minIndex = props.indexOf('min');\n const maxIndex = props.indexOf('max');\n const stepIndex = props.indexOf('step');\n if (value < typeIndex || value < minIndex || value < maxIndex || value < stepIndex) {\n consoleDevWarn(`The \"value\" prop of should be set after \"min\", \"max\", \"type\" and \"step\"`);\n }\n};\n/**\n * Production setAccessor() function based on Preact by\n * Jason Miller (@developit)\n * Licensed under the MIT License\n * https://github.com/developit/preact/blob/master/LICENSE\n *\n * Modified for Stencil's compiler and vdom\n */\nconst setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {\n if (oldValue !== newValue) {\n let isProp = isMemberInElement(elm, memberName);\n let ln = memberName.toLowerCase();\n if (BUILD.vdomClass && memberName === 'class') {\n const classList = elm.classList;\n const oldClasses = parseClassList(oldValue);\n const newClasses = parseClassList(newValue);\n classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));\n classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));\n }\n else if (BUILD.vdomStyle && memberName === 'style') {\n // update style attribute, css properties and values\n if (BUILD.updatable) {\n for (const prop in oldValue) {\n if (!newValue || newValue[prop] == null) {\n if (!BUILD.hydrateServerSide && prop.includes('-')) {\n elm.style.removeProperty(prop);\n }\n else {\n elm.style[prop] = '';\n }\n }\n }\n }\n for (const prop in newValue) {\n if (!oldValue || newValue[prop] !== oldValue[prop]) {\n if (!BUILD.hydrateServerSide && prop.includes('-')) {\n elm.style.setProperty(prop, newValue[prop]);\n }\n else {\n elm.style[prop] = newValue[prop];\n }\n }\n }\n }\n else if (BUILD.vdomKey && memberName === 'key')\n ;\n else if (BUILD.vdomRef && memberName === 'ref') {\n // minifier will clean this up\n if (newValue) {\n newValue(elm);\n }\n }\n else if (BUILD.vdomListener &&\n (BUILD.lazyLoad ? !isProp : !elm.__lookupSetter__(memberName)) &&\n memberName[0] === 'o' &&\n memberName[1] === 'n') {\n // Event Handlers\n // so if the member name starts with \"on\" and the 3rd characters is\n // a capital letter, and it's not already a member on the element,\n // then we're assuming it's an event listener\n if (memberName[2] === '-') {\n // on- prefixed events\n // allows to be explicit about the dom event to listen without any magic\n // under the hood:\n // // listens for \"click\"\n // // listens for \"Click\"\n // // listens for \"ionChange\"\n // // listens for \"EVENTS\"\n memberName = memberName.slice(3);\n }\n else if (isMemberInElement(win, ln)) {\n // standard event\n // the JSX attribute could have been \"onMouseOver\" and the\n // member name \"onmouseover\" is on the window's prototype\n // so let's add the listener \"mouseover\", which is all lowercased\n memberName = ln.slice(2);\n }\n else {\n // custom event\n // the JSX attribute could have been \"onMyCustomEvent\"\n // so let's trim off the \"on\" prefix and lowercase the first character\n // and add the listener \"myCustomEvent\"\n // except for the first character, we keep the event name case\n memberName = ln[2] + memberName.slice(3);\n }\n if (oldValue) {\n plt.rel(elm, memberName, oldValue, false);\n }\n if (newValue) {\n plt.ael(elm, memberName, newValue, false);\n }\n }\n else if (BUILD.vdomPropOrAttr) {\n // Set property if it exists and it's not a SVG\n const isComplex = isComplexType(newValue);\n if ((isProp || (isComplex && newValue !== null)) && !isSvg) {\n try {\n if (!elm.tagName.includes('-')) {\n let n = newValue == null ? '' : newValue;\n // Workaround for Safari, moving the caret when re-assigning the same valued\n if (memberName === 'list') {\n isProp = false;\n }\n else if (oldValue == null || elm[memberName] != n) {\n elm[memberName] = n;\n }\n }\n else {\n elm[memberName] = newValue;\n }\n }\n catch (e) { }\n }\n /**\n * Need to manually update attribute if:\n * - memberName is not an attribute\n * - if we are rendering the host element in order to reflect attribute\n * - if it's a SVG, since properties might not work in \n * - if the newValue is null/undefined or 'false'.\n */\n let xlink = false;\n if (BUILD.vdomXlink) {\n if (ln !== (ln = ln.replace(/^xlink\\:?/, ''))) {\n memberName = ln;\n xlink = true;\n }\n }\n if (newValue == null || newValue === false) {\n if (newValue !== false || elm.getAttribute(memberName) === '') {\n if (BUILD.vdomXlink && xlink) {\n elm.removeAttributeNS(XLINK_NS, memberName);\n }\n else {\n elm.removeAttribute(memberName);\n }\n }\n }\n else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {\n newValue = newValue === true ? '' : newValue;\n if (BUILD.vdomXlink && xlink) {\n elm.setAttributeNS(XLINK_NS, memberName, newValue);\n }\n else {\n elm.setAttribute(memberName, newValue);\n }\n }\n }\n }\n};\nconst parseClassListRegex = /\\s/;\nconst parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));\nconst updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {\n // if the element passed in is a shadow root, which is a document fragment\n // then we want to be adding attrs/props to the shadow root's \"host\" element\n // if it's not a shadow root, then we add attrs/props to the same element\n const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host\n ? newVnode.$elm$.host\n : newVnode.$elm$;\n const oldVnodeAttrs = (oldVnode && oldVnode.$attrs$) || EMPTY_OBJ;\n const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;\n if (BUILD.updatable) {\n // remove attributes no longer present on the vnode by setting them to undefined\n for (memberName in oldVnodeAttrs) {\n if (!(memberName in newVnodeAttrs)) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);\n }\n }\n }\n // add new & update changed attributes\n for (memberName in newVnodeAttrs) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);\n }\n};\nconst createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {\n // tslint:disable-next-line: prefer-const\n let newVNode = newParentVNode.$children$[childIndex];\n let i = 0;\n let elm;\n let childNode;\n let oldVNode;\n if (BUILD.slotRelocation && !useNativeShadowDom) {\n // remember for later we need to check to relocate nodes\n checkSlotRelocate = true;\n if (newVNode.$tag$ === 'slot') {\n if (scopeId) {\n // scoped css needs to add its scoped id to the parent element\n parentElm.classList.add(scopeId + '-s');\n }\n newVNode.$flags$ |= newVNode.$children$\n ? // slot element has fallback content\n 2 /* isSlotFallback */\n : // slot element does not have fallback content\n 1 /* isSlotReference */;\n }\n }\n if (BUILD.isDev && newVNode.$elm$) {\n consoleDevError(`The JSX ${newVNode.$text$ !== null ? `\"${newVNode.$text$}\" text` : `\"${newVNode.$tag$}\" element`} node should not be shared within the same renderer. The renderer caches element lookups in order to improve performance. However, a side effect from this is that the exact same JSX node should not be reused. For more information please see https://stenciljs.com/docs/templating-jsx#avoid-shared-jsx-nodes`);\n }\n if (BUILD.vdomText && newVNode.$text$ !== null) {\n // create text node\n elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);\n }\n else if (BUILD.slotRelocation && newVNode.$flags$ & 1 /* isSlotReference */) {\n // create a slot reference node\n elm = newVNode.$elm$ =\n BUILD.isDebug || BUILD.hydrateServerSide ? slotReferenceDebugNode(newVNode) : doc.createTextNode('');\n }\n else {\n if (BUILD.svg && !isSvgMode) {\n isSvgMode = newVNode.$tag$ === 'svg';\n }\n // create element\n elm = newVNode.$elm$ = (BUILD.svg\n ? doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, BUILD.slotRelocation && newVNode.$flags$ & 2 /* isSlotFallback */\n ? 'slot-fb'\n : newVNode.$tag$)\n : doc.createElement(BUILD.slotRelocation && newVNode.$flags$ & 2 /* isSlotFallback */\n ? 'slot-fb'\n : newVNode.$tag$));\n if (BUILD.svg && isSvgMode && newVNode.$tag$ === 'foreignObject') {\n isSvgMode = false;\n }\n // add css classes, attrs, props, listeners, etc.\n if (BUILD.vdomAttribute) {\n updateElement(null, newVNode, isSvgMode);\n }\n if ((BUILD.shadowDom || BUILD.scoped) && isDef(scopeId) && elm['s-si'] !== scopeId) {\n // if there is a scopeId and this is the initial render\n // then let's add the scopeId as a css class\n elm.classList.add((elm['s-si'] = scopeId));\n }\n if (newVNode.$children$) {\n for (i = 0; i < newVNode.$children$.length; ++i) {\n // create the node\n childNode = createElm(oldParentVNode, newVNode, i, elm);\n // return node could have been null\n if (childNode) {\n // append our new node\n elm.appendChild(childNode);\n }\n }\n }\n if (BUILD.svg) {\n if (newVNode.$tag$ === 'svg') {\n // Only reset the SVG context when we're exiting element\n isSvgMode = false;\n }\n else if (elm.tagName === 'foreignObject') {\n // Reenter SVG context when we're exiting element\n isSvgMode = true;\n }\n }\n }\n if (BUILD.slotRelocation) {\n elm['s-hn'] = hostTagName;\n if (newVNode.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {\n // remember the content reference comment\n elm['s-sr'] = true;\n // remember the content reference comment\n elm['s-cr'] = contentRef;\n // remember the slot name, or empty string for default slot\n elm['s-sn'] = newVNode.$name$ || '';\n // check if we've got an old vnode for this slot\n oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];\n if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {\n // we've got an old slot vnode and the wrapper is being replaced\n // so let's move the old slot content back to it's original location\n putBackInOriginalLocation(oldParentVNode.$elm$, false);\n }\n }\n }\n return elm;\n};\nconst putBackInOriginalLocation = (parentElm, recursive) => {\n plt.$flags$ |= 1 /* isTmpDisconnected */;\n const oldSlotChildNodes = parentElm.childNodes;\n for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {\n const childNode = oldSlotChildNodes[i];\n if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {\n // // this child node in the old element is from another component\n // // remove this node from the old slot's parent\n // childNode.remove();\n // and relocate it back to it's original location\n parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));\n // remove the old original location comment entirely\n // later on the patch function will know what to do\n // and move this to the correct spot in need be\n childNode['s-ol'].remove();\n childNode['s-ol'] = undefined;\n checkSlotRelocate = true;\n }\n if (recursive) {\n putBackInOriginalLocation(childNode, recursive);\n }\n }\n plt.$flags$ &= ~1 /* isTmpDisconnected */;\n};\nconst addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {\n let containerElm = ((BUILD.slotRelocation && parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm);\n let childNode;\n if (BUILD.shadowDom && containerElm.shadowRoot && containerElm.tagName === hostTagName) {\n containerElm = containerElm.shadowRoot;\n }\n for (; startIdx <= endIdx; ++startIdx) {\n if (vnodes[startIdx]) {\n childNode = createElm(null, parentVNode, startIdx, parentElm);\n if (childNode) {\n vnodes[startIdx].$elm$ = childNode;\n containerElm.insertBefore(childNode, BUILD.slotRelocation ? referenceNode(before) : before);\n }\n }\n }\n};\nconst removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {\n for (; startIdx <= endIdx; ++startIdx) {\n if ((vnode = vnodes[startIdx])) {\n elm = vnode.$elm$;\n callNodeRefs(vnode);\n if (BUILD.slotRelocation) {\n // we're removing this element\n // so it's possible we need to show slot fallback content now\n checkSlotFallbackVisibility = true;\n if (elm['s-ol']) {\n // remove the original location comment\n elm['s-ol'].remove();\n }\n else {\n // it's possible that child nodes of the node\n // that's being removed are slot nodes\n putBackInOriginalLocation(elm, true);\n }\n }\n // remove the vnode's element from the dom\n elm.remove();\n }\n }\n};\nconst updateChildren = (parentElm, oldCh, newVNode, newCh) => {\n let oldStartIdx = 0;\n let newStartIdx = 0;\n let idxInOld = 0;\n let i = 0;\n let oldEndIdx = oldCh.length - 1;\n let oldStartVnode = oldCh[0];\n let oldEndVnode = oldCh[oldEndIdx];\n let newEndIdx = newCh.length - 1;\n let newStartVnode = newCh[0];\n let newEndVnode = newCh[newEndIdx];\n let node;\n let elmToMove;\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (oldStartVnode == null) {\n // Vnode might have been moved left\n oldStartVnode = oldCh[++oldStartIdx];\n }\n else if (oldEndVnode == null) {\n oldEndVnode = oldCh[--oldEndIdx];\n }\n else if (newStartVnode == null) {\n newStartVnode = newCh[++newStartIdx];\n }\n else if (newEndVnode == null) {\n newEndVnode = newCh[--newEndIdx];\n }\n else if (isSameVnode(oldStartVnode, newStartVnode)) {\n patch(oldStartVnode, newStartVnode);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else if (isSameVnode(oldEndVnode, newEndVnode)) {\n patch(oldEndVnode, newEndVnode);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (isSameVnode(oldStartVnode, newEndVnode)) {\n // Vnode moved right\n if (BUILD.slotRelocation && (oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {\n putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);\n }\n patch(oldStartVnode, newEndVnode);\n parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (isSameVnode(oldEndVnode, newStartVnode)) {\n // Vnode moved left\n if (BUILD.slotRelocation && (oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {\n putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);\n }\n patch(oldEndVnode, newStartVnode);\n parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else {\n // createKeyToOldIdx\n idxInOld = -1;\n if (BUILD.vdomKey) {\n for (i = oldStartIdx; i <= oldEndIdx; ++i) {\n if (oldCh[i] && oldCh[i].$key$ !== null && oldCh[i].$key$ === newStartVnode.$key$) {\n idxInOld = i;\n break;\n }\n }\n }\n if (BUILD.vdomKey && idxInOld >= 0) {\n elmToMove = oldCh[idxInOld];\n if (elmToMove.$tag$ !== newStartVnode.$tag$) {\n node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld, parentElm);\n }\n else {\n patch(elmToMove, newStartVnode);\n oldCh[idxInOld] = undefined;\n node = elmToMove.$elm$;\n }\n newStartVnode = newCh[++newStartIdx];\n }\n else {\n // new element\n node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx, parentElm);\n newStartVnode = newCh[++newStartIdx];\n }\n if (node) {\n if (BUILD.slotRelocation) {\n parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$));\n }\n else {\n oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$);\n }\n }\n }\n }\n if (oldStartIdx > oldEndIdx) {\n addVnodes(parentElm, newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$, newVNode, newCh, newStartIdx, newEndIdx);\n }\n else if (BUILD.updatable && newStartIdx > newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n};\nconst isSameVnode = (vnode1, vnode2) => {\n // compare if two vnode to see if they're \"technically\" the same\n // need to have the same element tag, and same key to be the same\n if (vnode1.$tag$ === vnode2.$tag$) {\n if (BUILD.slotRelocation && vnode1.$tag$ === 'slot') {\n return vnode1.$name$ === vnode2.$name$;\n }\n if (BUILD.vdomKey) {\n return vnode1.$key$ === vnode2.$key$;\n }\n return true;\n }\n return false;\n};\nconst referenceNode = (node) => {\n // this node was relocated to a new location in the dom\n // because of some other component's slot\n // but we still have an html comment in place of where\n // it's original location was according to it's original vdom\n return (node && node['s-ol']) || node;\n};\nconst parentReferenceNode = (node) => (node['s-ol'] ? node['s-ol'] : node).parentNode;\nconst patch = (oldVNode, newVNode) => {\n const elm = (newVNode.$elm$ = oldVNode.$elm$);\n const oldChildren = oldVNode.$children$;\n const newChildren = newVNode.$children$;\n const tag = newVNode.$tag$;\n const text = newVNode.$text$;\n let defaultHolder;\n if (!BUILD.vdomText || text === null) {\n if (BUILD.svg) {\n // test if we're rendering an svg element, or still rendering nodes inside of one\n // only add this to the when the compiler sees we're using an svg somewhere\n isSvgMode = tag === 'svg' ? true : tag === 'foreignObject' ? false : isSvgMode;\n }\n // element node\n if (BUILD.vdomAttribute || BUILD.reflect) {\n if (BUILD.slot && tag === 'slot')\n ;\n else {\n // either this is the first render of an element OR it's an update\n // AND we already know it's possible it could have changed\n // this updates the element's css classes, attrs, props, listeners, etc.\n updateElement(oldVNode, newVNode, isSvgMode);\n }\n }\n if (BUILD.updatable && oldChildren !== null && newChildren !== null) {\n // looks like there's child vnodes for both the old and new vnodes\n updateChildren(elm, oldChildren, newVNode, newChildren);\n }\n else if (newChildren !== null) {\n // no old child vnodes, but there are new child vnodes to add\n if (BUILD.updatable && BUILD.vdomText && oldVNode.$text$ !== null) {\n // the old vnode was text, so be sure to clear it out\n elm.textContent = '';\n }\n // add the new vnode children\n addVnodes(elm, null, newVNode, newChildren, 0, newChildren.length - 1);\n }\n else if (BUILD.updatable && oldChildren !== null) {\n // no new child vnodes, but there are old child vnodes to remove\n removeVnodes(oldChildren, 0, oldChildren.length - 1);\n }\n if (BUILD.svg && isSvgMode && tag === 'svg') {\n isSvgMode = false;\n }\n }\n else if (BUILD.vdomText && BUILD.slotRelocation && (defaultHolder = elm['s-cr'])) {\n // this element has slotted content\n defaultHolder.parentNode.textContent = text;\n }\n else if (BUILD.vdomText && oldVNode.$text$ !== text) {\n // update the text content for the text only vnode\n // and also only if the text is different than before\n elm.data = text;\n }\n};\nconst updateFallbackSlotVisibility = (elm) => {\n // tslint:disable-next-line: prefer-const\n let childNodes = elm.childNodes;\n let childNode;\n let i;\n let ilen;\n let j;\n let slotNameAttr;\n let nodeType;\n for (i = 0, ilen = childNodes.length; i < ilen; i++) {\n childNode = childNodes[i];\n if (childNode.nodeType === 1 /* ElementNode */) {\n if (childNode['s-sr']) {\n // this is a slot fallback node\n // get the slot name for this slot reference node\n slotNameAttr = childNode['s-sn'];\n // by default always show a fallback slot node\n // then hide it if there are other slots in the light dom\n childNode.hidden = false;\n for (j = 0; j < ilen; j++) {\n nodeType = childNodes[j].nodeType;\n if (childNodes[j]['s-hn'] !== childNode['s-hn'] || slotNameAttr !== '') {\n // this sibling node is from a different component OR is a named fallback slot node\n if (nodeType === 1 /* ElementNode */ && slotNameAttr === childNodes[j].getAttribute('slot')) {\n childNode.hidden = true;\n break;\n }\n }\n else {\n // this is a default fallback slot node\n // any element or text node (with content)\n // should hide the default fallback slot node\n if (nodeType === 1 /* ElementNode */ ||\n (nodeType === 3 /* TextNode */ && childNodes[j].textContent.trim() !== '')) {\n childNode.hidden = true;\n break;\n }\n }\n }\n }\n // keep drilling down\n updateFallbackSlotVisibility(childNode);\n }\n }\n};\nconst relocateNodes = [];\nconst relocateSlotContent = (elm) => {\n // tslint:disable-next-line: prefer-const\n let childNode;\n let node;\n let hostContentNodes;\n let slotNameAttr;\n let relocateNodeData;\n let j;\n let i = 0;\n let childNodes = elm.childNodes;\n let ilen = childNodes.length;\n for (; i < ilen; i++) {\n childNode = childNodes[i];\n if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {\n // first got the content reference comment node\n // then we got it's parent, which is where all the host content is in now\n hostContentNodes = node.parentNode.childNodes;\n slotNameAttr = childNode['s-sn'];\n for (j = hostContentNodes.length - 1; j >= 0; j--) {\n node = hostContentNodes[j];\n if (!node['s-cn'] && !node['s-nr'] && node['s-hn'] !== childNode['s-hn']) {\n // let's do some relocating to its new home\n // but never relocate a content reference node\n // that is suppose to always represent the original content location\n if (isNodeLocatedInSlot(node, slotNameAttr)) {\n // it's possible we've already decided to relocate this node\n relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);\n // made some changes to slots\n // let's make sure we also double check\n // fallbacks are correctly hidden or shown\n checkSlotFallbackVisibility = true;\n node['s-sn'] = node['s-sn'] || slotNameAttr;\n if (relocateNodeData) {\n // previously we never found a slot home for this node\n // but turns out we did, so let's remember it now\n relocateNodeData.$slotRefNode$ = childNode;\n }\n else {\n // add to our list of nodes to relocate\n relocateNodes.push({\n $slotRefNode$: childNode,\n $nodeToRelocate$: node,\n });\n }\n if (node['s-sr']) {\n relocateNodes.map((relocateNode) => {\n if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) {\n relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);\n if (relocateNodeData && !relocateNode.$slotRefNode$) {\n relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;\n }\n }\n });\n }\n }\n else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {\n // so far this element does not have a slot home, not setting slotRefNode on purpose\n // if we never find a home for this element then we'll need to hide it\n relocateNodes.push({\n $nodeToRelocate$: node,\n });\n }\n }\n }\n }\n if (childNode.nodeType === 1 /* ElementNode */) {\n relocateSlotContent(childNode);\n }\n }\n};\nconst isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) => {\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {\n return true;\n }\n if (nodeToRelocate.getAttribute('slot') === slotNameAttr) {\n return true;\n }\n return false;\n }\n if (nodeToRelocate['s-sn'] === slotNameAttr) {\n return true;\n }\n return slotNameAttr === '';\n};\nconst callNodeRefs = (vNode) => {\n if (BUILD.vdomRef) {\n vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);\n vNode.$children$ && vNode.$children$.map(callNodeRefs);\n }\n};\nconst renderVdom = (hostRef, renderFnResults) => {\n const hostElm = hostRef.$hostElement$;\n const cmpMeta = hostRef.$cmpMeta$;\n const oldVNode = hostRef.$vnode$ || newVNode(null, null);\n const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);\n hostTagName = hostElm.tagName;\n // runtime check\n if (BUILD.isDev && Array.isArray(renderFnResults) && renderFnResults.some(isHost)) {\n throw new Error(`The must be the single root component.\nLooks like the render() function of \"${hostTagName.toLowerCase()}\" is returning an array that contains the .\n\nThe render() function should look like this instead:\n\nrender() {\n // Do not return an array\n return (\n {content}\n );\n}\n `);\n }\n if (BUILD.reflect && cmpMeta.$attrsToReflect$) {\n rootVnode.$attrs$ = rootVnode.$attrs$ || {};\n cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));\n }\n rootVnode.$tag$ = null;\n rootVnode.$flags$ |= 4 /* isHost */;\n hostRef.$vnode$ = rootVnode;\n rootVnode.$elm$ = oldVNode.$elm$ = (BUILD.shadowDom ? hostElm.shadowRoot || hostElm : hostElm);\n if (BUILD.scoped || BUILD.shadowDom) {\n scopeId = hostElm['s-sc'];\n }\n if (BUILD.slotRelocation) {\n contentRef = hostElm['s-cr'];\n useNativeShadowDom = supportsShadow && (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;\n // always reset\n checkSlotFallbackVisibility = false;\n }\n // synchronous patch\n patch(oldVNode, rootVnode);\n if (BUILD.slotRelocation) {\n // while we're moving nodes around existing nodes, temporarily disable\n // the disconnectCallback from working\n plt.$flags$ |= 1 /* isTmpDisconnected */;\n if (checkSlotRelocate) {\n relocateSlotContent(rootVnode.$elm$);\n let relocateData;\n let nodeToRelocate;\n let orgLocationNode;\n let parentNodeRef;\n let insertBeforeNode;\n let refNode;\n let i = 0;\n for (; i < relocateNodes.length; i++) {\n relocateData = relocateNodes[i];\n nodeToRelocate = relocateData.$nodeToRelocate$;\n if (!nodeToRelocate['s-ol']) {\n // add a reference node marking this node's original location\n // keep a reference to this node for later lookups\n orgLocationNode =\n BUILD.isDebug || BUILD.hydrateServerSide\n ? originalLocationDebugNode(nodeToRelocate)\n : doc.createTextNode('');\n orgLocationNode['s-nr'] = nodeToRelocate;\n nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);\n }\n }\n for (i = 0; i < relocateNodes.length; i++) {\n relocateData = relocateNodes[i];\n nodeToRelocate = relocateData.$nodeToRelocate$;\n if (relocateData.$slotRefNode$) {\n // by default we're just going to insert it directly\n // after the slot reference node\n parentNodeRef = relocateData.$slotRefNode$.parentNode;\n insertBeforeNode = relocateData.$slotRefNode$.nextSibling;\n orgLocationNode = nodeToRelocate['s-ol'];\n while ((orgLocationNode = orgLocationNode.previousSibling)) {\n refNode = orgLocationNode['s-nr'];\n if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {\n refNode = refNode.nextSibling;\n if (!refNode || !refNode['s-nr']) {\n insertBeforeNode = refNode;\n break;\n }\n }\n }\n if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||\n nodeToRelocate.nextSibling !== insertBeforeNode) {\n // we've checked that it's worth while to relocate\n // since that the node to relocate\n // has a different next sibling or parent relocated\n if (nodeToRelocate !== insertBeforeNode) {\n if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {\n // probably a component in the index.html that doesn't have it's hostname set\n nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;\n }\n // add it back to the dom but in its new home\n parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);\n }\n }\n }\n else {\n // this node doesn't have a slot home to go to, so let's hide it\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n nodeToRelocate.hidden = true;\n }\n }\n }\n }\n if (checkSlotFallbackVisibility) {\n updateFallbackSlotVisibility(rootVnode.$elm$);\n }\n // done moving nodes around\n // allow the disconnect callback to work again\n plt.$flags$ &= ~1 /* isTmpDisconnected */;\n // always reset\n relocateNodes.length = 0;\n }\n};\n// slot comment debug nodes only created with the `--debug` flag\n// otherwise these nodes are text nodes w/out content\nconst slotReferenceDebugNode = (slotVNode) => doc.createComment(` (host=${hostTagName.toLowerCase()})`);\nconst originalLocationDebugNode = (nodeToRelocate) => doc.createComment(`org-location for ` +\n (nodeToRelocate.localName\n ? `<${nodeToRelocate.localName}> (host=${nodeToRelocate['s-hn']})`\n : `[${nodeToRelocate.textContent}]`));\nconst getElement = (ref) => (BUILD.lazyLoad ? getHostRef(ref).$hostElement$ : ref);\nconst createEvent = (ref, name, flags) => {\n const elm = getElement(ref);\n return {\n emit: (detail) => {\n if (BUILD.isDev && !elm.isConnected) {\n consoleDevWarn(`The \"${name}\" event was emitted, but the dispatcher node is no longer connected to the dom.`);\n }\n return emitEvent(elm, name, {\n bubbles: !!(flags & 4 /* Bubbles */),\n composed: !!(flags & 2 /* Composed */),\n cancelable: !!(flags & 1 /* Cancellable */),\n detail,\n });\n },\n };\n};\n/**\n * Helper function to create & dispatch a custom Event on a provided target\n * @param elm the target of the Event\n * @param name the name to give the custom Event\n * @param opts options for configuring a custom Event\n * @returns the custom Event\n */\nconst emitEvent = (elm, name, opts) => {\n const ev = plt.ce(name, opts);\n elm.dispatchEvent(ev);\n return ev;\n};\nconst attachToAncestor = (hostRef, ancestorComponent) => {\n if (BUILD.asyncLoading && ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {\n ancestorComponent['s-p'].push(new Promise((r) => (hostRef.$onRenderResolve$ = r)));\n }\n};\nconst scheduleUpdate = (hostRef, isInitialLoad) => {\n if (BUILD.taskQueue && BUILD.updatable) {\n hostRef.$flags$ |= 16 /* isQueuedForUpdate */;\n }\n if (BUILD.asyncLoading && hostRef.$flags$ & 4 /* isWaitingForChildren */) {\n hostRef.$flags$ |= 512 /* needsRerender */;\n return;\n }\n attachToAncestor(hostRef, hostRef.$ancestorComponent$);\n // there is no ancestor component or the ancestor component\n // has already fired off its lifecycle update then\n // fire off the initial update\n const dispatch = () => dispatchHooks(hostRef, isInitialLoad);\n return BUILD.taskQueue ? writeTask(dispatch) : dispatch();\n};\nconst dispatchHooks = (hostRef, isInitialLoad) => {\n const elm = hostRef.$hostElement$;\n const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);\n const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm;\n let promise;\n if (isInitialLoad) {\n if (BUILD.lazyLoad && BUILD.hostListener) {\n hostRef.$flags$ |= 256 /* isListenReady */;\n if (hostRef.$queuedListeners$) {\n hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));\n hostRef.$queuedListeners$ = null;\n }\n }\n emitLifecycleEvent(elm, 'componentWillLoad');\n if (BUILD.cmpWillLoad) {\n promise = safeCall(instance, 'componentWillLoad');\n }\n }\n else {\n emitLifecycleEvent(elm, 'componentWillUpdate');\n if (BUILD.cmpWillUpdate) {\n promise = safeCall(instance, 'componentWillUpdate');\n }\n }\n emitLifecycleEvent(elm, 'componentWillRender');\n if (BUILD.cmpWillRender) {\n promise = then(promise, () => safeCall(instance, 'componentWillRender'));\n }\n endSchedule();\n return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));\n};\nconst updateComponent = async (hostRef, instance, isInitialLoad) => {\n // updateComponent\n const elm = hostRef.$hostElement$;\n const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);\n const rc = elm['s-rc'];\n if (BUILD.style && isInitialLoad) {\n // DOM WRITE!\n attachStyles(hostRef);\n }\n const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);\n if (BUILD.isDev) {\n hostRef.$flags$ |= 1024 /* devOnRender */;\n }\n if (BUILD.hydrateServerSide) {\n await callRender(hostRef, instance, elm);\n }\n else {\n callRender(hostRef, instance, elm);\n }\n if (BUILD.cssVarShim && plt.$cssShim$) {\n plt.$cssShim$.updateHost(elm);\n }\n if (BUILD.isDev) {\n hostRef.$renderCount$++;\n hostRef.$flags$ &= ~1024 /* devOnRender */;\n }\n if (BUILD.hydrateServerSide) {\n try {\n // manually connected child components during server-side hydrate\n serverSideConnected(elm);\n if (isInitialLoad) {\n // using only during server-side hydrate\n if (hostRef.$cmpMeta$.$flags$ & 1 /* shadowDomEncapsulation */) {\n elm['s-en'] = '';\n }\n else if (hostRef.$cmpMeta$.$flags$ & 2 /* scopedCssEncapsulation */) {\n elm['s-en'] = 'c';\n }\n }\n }\n catch (e) {\n consoleError(e, elm);\n }\n }\n if (BUILD.asyncLoading && rc) {\n // ok, so turns out there are some child host elements\n // waiting on this parent element to load\n // let's fire off all update callbacks waiting\n rc.map((cb) => cb());\n elm['s-rc'] = undefined;\n }\n endRender();\n endUpdate();\n if (BUILD.asyncLoading) {\n const childrenPromises = elm['s-p'];\n const postUpdate = () => postUpdateComponent(hostRef);\n if (childrenPromises.length === 0) {\n postUpdate();\n }\n else {\n Promise.all(childrenPromises).then(postUpdate);\n hostRef.$flags$ |= 4 /* isWaitingForChildren */;\n childrenPromises.length = 0;\n }\n }\n else {\n postUpdateComponent(hostRef);\n }\n};\nconst callRender = (hostRef, instance, elm) => {\n // in order for bundlers to correctly treeshake the BUILD object\n // we need to ensure BUILD is not deoptimized within a try/catch\n // https://rollupjs.org/guide/en/#treeshake tryCatchDeoptimization\n const allRenderFn = BUILD.allRenderFn ? true : false;\n const lazyLoad = BUILD.lazyLoad ? true : false;\n const taskQueue = BUILD.taskQueue ? true : false;\n const updatable = BUILD.updatable ? true : false;\n try {\n renderingRef = instance;\n instance = allRenderFn ? instance.render() : instance.render && instance.render();\n if (updatable && taskQueue) {\n hostRef.$flags$ &= ~16 /* isQueuedForUpdate */;\n }\n if (updatable || lazyLoad) {\n hostRef.$flags$ |= 2 /* hasRendered */;\n }\n if (BUILD.hasRenderFn || BUILD.reflect) {\n if (BUILD.vdomRender || BUILD.reflect) {\n // looks like we've got child nodes to render into this host element\n // or we need to update the css class/attrs on the host element\n // DOM WRITE!\n if (BUILD.hydrateServerSide) {\n return Promise.resolve(instance).then((value) => renderVdom(hostRef, value));\n }\n else {\n renderVdom(hostRef, instance);\n }\n }\n else {\n elm.textContent = instance;\n }\n }\n }\n catch (e) {\n consoleError(e, hostRef.$hostElement$);\n }\n renderingRef = null;\n return null;\n};\nconst getRenderingRef = () => renderingRef;\nconst postUpdateComponent = (hostRef) => {\n const tagName = hostRef.$cmpMeta$.$tagName$;\n const elm = hostRef.$hostElement$;\n const endPostUpdate = createTime('postUpdate', tagName);\n const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm;\n const ancestorComponent = hostRef.$ancestorComponent$;\n if (BUILD.cmpDidRender) {\n if (BUILD.isDev) {\n hostRef.$flags$ |= 1024 /* devOnRender */;\n }\n safeCall(instance, 'componentDidRender');\n if (BUILD.isDev) {\n hostRef.$flags$ &= ~1024 /* devOnRender */;\n }\n }\n emitLifecycleEvent(elm, 'componentDidRender');\n if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {\n hostRef.$flags$ |= 64 /* hasLoadedComponent */;\n if (BUILD.asyncLoading && BUILD.cssAnnotations) {\n // DOM WRITE!\n addHydratedFlag(elm);\n }\n if (BUILD.cmpDidLoad) {\n if (BUILD.isDev) {\n hostRef.$flags$ |= 2048 /* devOnDidLoad */;\n }\n safeCall(instance, 'componentDidLoad');\n if (BUILD.isDev) {\n hostRef.$flags$ &= ~2048 /* devOnDidLoad */;\n }\n }\n emitLifecycleEvent(elm, 'componentDidLoad');\n endPostUpdate();\n if (BUILD.asyncLoading) {\n hostRef.$onReadyResolve$(elm);\n if (!ancestorComponent) {\n appDidLoad(tagName);\n }\n }\n }\n else {\n if (BUILD.cmpDidUpdate) {\n // we've already loaded this component\n // fire off the user's componentDidUpdate method (if one was provided)\n // componentDidUpdate runs AFTER render() has been called\n // and all child components have finished updating\n if (BUILD.isDev) {\n hostRef.$flags$ |= 1024 /* devOnRender */;\n }\n safeCall(instance, 'componentDidUpdate');\n if (BUILD.isDev) {\n hostRef.$flags$ &= ~1024 /* devOnRender */;\n }\n }\n emitLifecycleEvent(elm, 'componentDidUpdate');\n endPostUpdate();\n }\n if (BUILD.hotModuleReplacement) {\n elm['s-hmr-load'] && elm['s-hmr-load']();\n }\n if (BUILD.method && BUILD.lazyLoad) {\n hostRef.$onInstanceResolve$(elm);\n }\n // load events fire from bottom to top\n // the deepest elements load first then bubbles up\n if (BUILD.asyncLoading) {\n if (hostRef.$onRenderResolve$) {\n hostRef.$onRenderResolve$();\n hostRef.$onRenderResolve$ = undefined;\n }\n if (hostRef.$flags$ & 512 /* needsRerender */) {\n nextTick(() => scheduleUpdate(hostRef, false));\n }\n hostRef.$flags$ &= ~(4 /* isWaitingForChildren */ | 512 /* needsRerender */);\n }\n // ( •_•)\n // ( •_•)>⌐■-■\n // (⌐■_■)\n};\nconst forceUpdate = (ref) => {\n if (BUILD.updatable) {\n const hostRef = getHostRef(ref);\n const isConnected = hostRef.$hostElement$.isConnected;\n if (isConnected &&\n (hostRef.$flags$ & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {\n scheduleUpdate(hostRef, false);\n }\n // Returns \"true\" when the forced update was successfully scheduled\n return isConnected;\n }\n return false;\n};\nconst appDidLoad = (who) => {\n // on appload\n // we have finish the first big initial render\n if (BUILD.cssAnnotations) {\n addHydratedFlag(doc.documentElement);\n }\n if (BUILD.asyncQueue) {\n plt.$flags$ |= 2 /* appLoaded */;\n }\n nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));\n if (BUILD.profile && performance.measure) {\n performance.measure(`[Stencil] ${NAMESPACE} initial load (by ${who})`, 'st:app:start');\n }\n};\nconst safeCall = (instance, method, arg) => {\n if (instance && instance[method]) {\n try {\n return instance[method](arg);\n }\n catch (e) {\n consoleError(e);\n }\n }\n return undefined;\n};\nconst then = (promise, thenFn) => {\n return promise && promise.then ? promise.then(thenFn) : thenFn();\n};\nconst emitLifecycleEvent = (elm, lifecycleName) => {\n if (BUILD.lifecycleDOMEvents) {\n emitEvent(elm, 'stencil_' + lifecycleName, {\n bubbles: true,\n composed: true,\n detail: {\n namespace: NAMESPACE,\n },\n });\n }\n};\nconst addHydratedFlag = (elm) => BUILD.hydratedClass\n ? elm.classList.add('hydrated')\n : BUILD.hydratedAttribute\n ? elm.setAttribute('hydrated', '')\n : undefined;\nconst serverSideConnected = (elm) => {\n const children = elm.children;\n if (children != null) {\n for (let i = 0, ii = children.length; i < ii; i++) {\n const childElm = children[i];\n if (typeof childElm.connectedCallback === 'function') {\n childElm.connectedCallback();\n }\n serverSideConnected(childElm);\n }\n }\n};\nconst initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {\n const endHydrate = createTime('hydrateClient', tagName);\n const shadowRoot = hostElm.shadowRoot;\n const childRenderNodes = [];\n const slotNodes = [];\n const shadowRootNodes = BUILD.shadowDom && shadowRoot ? [] : null;\n const vnode = (hostRef.$vnode$ = newVNode(tagName, null));\n if (!plt.$orgLocNodes$) {\n initializeDocumentHydrate(doc.body, (plt.$orgLocNodes$ = new Map()));\n }\n hostElm[HYDRATE_ID] = hostId;\n hostElm.removeAttribute(HYDRATE_ID);\n clientHydrate(vnode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, hostElm, hostId);\n childRenderNodes.map((c) => {\n const orgLocationId = c.$hostId$ + '.' + c.$nodeId$;\n const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);\n const node = c.$elm$;\n if (orgLocationNode && supportsShadow && orgLocationNode['s-en'] === '') {\n orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);\n }\n if (!shadowRoot) {\n node['s-hn'] = tagName;\n if (orgLocationNode) {\n node['s-ol'] = orgLocationNode;\n node['s-ol']['s-nr'] = node;\n }\n }\n plt.$orgLocNodes$.delete(orgLocationId);\n });\n if (BUILD.shadowDom && shadowRoot) {\n shadowRootNodes.map((shadowRootNode) => {\n if (shadowRootNode) {\n shadowRoot.appendChild(shadowRootNode);\n }\n });\n }\n endHydrate();\n};\nconst clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId) => {\n let childNodeType;\n let childIdSplt;\n let childVNode;\n let i;\n if (node.nodeType === 1 /* ElementNode */) {\n childNodeType = node.getAttribute(HYDRATE_CHILD_ID);\n if (childNodeType) {\n // got the node data from the element's attribute\n // `${hostId}.${nodeId}.${depth}.${index}`\n childIdSplt = childNodeType.split('.');\n if (childIdSplt[0] === hostId || childIdSplt[0] === '0') {\n childVNode = {\n $flags$: 0,\n $hostId$: childIdSplt[0],\n $nodeId$: childIdSplt[1],\n $depth$: childIdSplt[2],\n $index$: childIdSplt[3],\n $tag$: node.tagName.toLowerCase(),\n $elm$: node,\n $attrs$: null,\n $children$: null,\n $key$: null,\n $name$: null,\n $text$: null,\n };\n childRenderNodes.push(childVNode);\n node.removeAttribute(HYDRATE_CHILD_ID);\n // this is a new child vnode\n // so ensure its parent vnode has the vchildren array\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n // add our child vnode to a specific index of the vnode's children\n parentVNode.$children$[childVNode.$index$] = childVNode;\n // this is now the new parent vnode for all the next child checks\n parentVNode = childVNode;\n if (shadowRootNodes && childVNode.$depth$ === '0') {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n }\n // recursively drill down, end to start so we can remove nodes\n for (i = node.childNodes.length - 1; i >= 0; i--) {\n clientHydrate(parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node.childNodes[i], hostId);\n }\n if (node.shadowRoot) {\n // keep drilling down through the shadow root nodes\n for (i = node.shadowRoot.childNodes.length - 1; i >= 0; i--) {\n clientHydrate(parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node.shadowRoot.childNodes[i], hostId);\n }\n }\n }\n else if (node.nodeType === 8 /* CommentNode */) {\n // `${COMMENT_TYPE}.${hostId}.${nodeId}.${depth}.${index}`\n childIdSplt = node.nodeValue.split('.');\n if (childIdSplt[1] === hostId || childIdSplt[1] === '0') {\n // comment node for either the host id or a 0 host id\n childNodeType = childIdSplt[0];\n childVNode = {\n $flags$: 0,\n $hostId$: childIdSplt[1],\n $nodeId$: childIdSplt[2],\n $depth$: childIdSplt[3],\n $index$: childIdSplt[4],\n $elm$: node,\n $attrs$: null,\n $children$: null,\n $key$: null,\n $name$: null,\n $tag$: null,\n $text$: null,\n };\n if (childNodeType === TEXT_NODE_ID) {\n childVNode.$elm$ = node.nextSibling;\n if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* TextNode */) {\n childVNode.$text$ = childVNode.$elm$.textContent;\n childRenderNodes.push(childVNode);\n // remove the text comment since it's no longer needed\n node.remove();\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n parentVNode.$children$[childVNode.$index$] = childVNode;\n if (shadowRootNodes && childVNode.$depth$ === '0') {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n }\n else if (childVNode.$hostId$ === hostId) {\n // this comment node is specifcally for this host id\n if (childNodeType === SLOT_NODE_ID) {\n // `${SLOT_NODE_ID}.${hostId}.${nodeId}.${depth}.${index}.${slotName}`;\n childVNode.$tag$ = 'slot';\n if (childIdSplt[5]) {\n node['s-sn'] = childVNode.$name$ = childIdSplt[5];\n }\n else {\n node['s-sn'] = '';\n }\n node['s-sr'] = true;\n if (BUILD.shadowDom && shadowRootNodes) {\n // browser support shadowRoot and this is a shadow dom component\n // create an actual slot element\n childVNode.$elm$ = doc.createElement(childVNode.$tag$);\n if (childVNode.$name$) {\n // add the slot name attribute\n childVNode.$elm$.setAttribute('name', childVNode.$name$);\n }\n // insert the new slot element before the slot comment\n node.parentNode.insertBefore(childVNode.$elm$, node);\n // remove the slot comment since it's not needed for shadow\n node.remove();\n if (childVNode.$depth$ === '0') {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n slotNodes.push(childVNode);\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n parentVNode.$children$[childVNode.$index$] = childVNode;\n }\n else if (childNodeType === CONTENT_REF_ID) {\n // `${CONTENT_REF_ID}.${hostId}`;\n if (BUILD.shadowDom && shadowRootNodes) {\n // remove the content ref comment since it's not needed for shadow\n node.remove();\n }\n else if (BUILD.slotRelocation) {\n hostElm['s-cr'] = node;\n node['s-cn'] = true;\n }\n }\n }\n }\n }\n else if (parentVNode && parentVNode.$tag$ === 'style') {\n const vnode = newVNode(null, node.textContent);\n vnode.$elm$ = node;\n vnode.$index$ = '0';\n parentVNode.$children$ = [vnode];\n }\n};\nconst initializeDocumentHydrate = (node, orgLocNodes) => {\n if (node.nodeType === 1 /* ElementNode */) {\n let i = 0;\n for (; i < node.childNodes.length; i++) {\n initializeDocumentHydrate(node.childNodes[i], orgLocNodes);\n }\n if (node.shadowRoot) {\n for (i = 0; i < node.shadowRoot.childNodes.length; i++) {\n initializeDocumentHydrate(node.shadowRoot.childNodes[i], orgLocNodes);\n }\n }\n }\n else if (node.nodeType === 8 /* CommentNode */) {\n const childIdSplt = node.nodeValue.split('.');\n if (childIdSplt[0] === ORG_LOCATION_ID) {\n orgLocNodes.set(childIdSplt[1] + '.' + childIdSplt[2], node);\n node.nodeValue = '';\n // useful to know if the original location is\n // the root light-dom of a shadow dom component\n node['s-en'] = childIdSplt[3];\n }\n }\n};\n/**\n * Parse a new property value for a given property type.\n *\n * While the prop value can reasonably be expected to be of `any` type as far as TypeScript's type checker is concerned,\n * it is not safe to assume that the string returned by evaluating `typeof propValue` matches:\n * 1. `any`, the type given to `propValue` in the function signature\n * 2. the type stored from `propType`.\n *\n * This function provides the capability to parse/coerce a property's value to potentially any other JavaScript type.\n *\n * Property values represented in TSX preserve their type information. In the example below, the number 0 is passed to\n * a component. This `propValue` will preserve its type information (`typeof propValue === 'number'`). Note that is\n * based on the type of the value being passed in, not the type declared of the class member decorated with `@Prop`.\n * ```tsx\n * \n * ```\n *\n * HTML prop values on the other hand, will always a string\n *\n * @param propValue the new value to coerce to some type\n * @param propType the type of the prop, expressed as a binary number\n * @returns the parsed/coerced value\n */\nconst parsePropertyValue = (propValue, propType) => {\n // ensure this value is of the correct prop type\n if (propValue != null && !isComplexType(propValue)) {\n if (BUILD.propBoolean && propType & 4 /* Boolean */) {\n // per the HTML spec, any string value means it is a boolean true value\n // but we'll cheat here and say that the string \"false\" is the boolean false\n return propValue === 'false' ? false : propValue === '' || !!propValue;\n }\n if (BUILD.propNumber && propType & 2 /* Number */) {\n // force it to be a number\n return parseFloat(propValue);\n }\n if (BUILD.propString && propType & 1 /* String */) {\n // could have been passed as a number or boolean\n // but we still want it as a string\n return String(propValue);\n }\n // redundant return here for better minification\n return propValue;\n }\n // not sure exactly what type we want\n // so no need to change to a different type\n return propValue;\n};\nconst getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);\nconst setValue = (ref, propName, newVal, cmpMeta) => {\n // check our new property value against our internal value\n const hostRef = getHostRef(ref);\n const elm = BUILD.lazyLoad ? hostRef.$hostElement$ : ref;\n const oldVal = hostRef.$instanceValues$.get(propName);\n const flags = hostRef.$flags$;\n const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm;\n newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);\n if ((!BUILD.lazyLoad || !(flags & 8 /* isConstructingInstance */) || oldVal === undefined) && newVal !== oldVal) {\n // gadzooks! the property's value has changed!!\n // set our new value!\n hostRef.$instanceValues$.set(propName, newVal);\n if (BUILD.isDev) {\n if (hostRef.$flags$ & 1024 /* devOnRender */) {\n consoleDevWarn(`The state/prop \"${propName}\" changed during rendering. This can potentially lead to infinite-loops and other bugs.`, '\\nElement', elm, '\\nNew value', newVal, '\\nOld value', oldVal);\n }\n else if (hostRef.$flags$ & 2048 /* devOnDidLoad */) {\n consoleDevWarn(`The state/prop \"${propName}\" changed during \"componentDidLoad()\", this triggers extra re-renders, try to setup on \"componentWillLoad()\"`, '\\nElement', elm, '\\nNew value', newVal, '\\nOld value', oldVal);\n }\n }\n if (!BUILD.lazyLoad || instance) {\n // get an array of method names of watch functions to call\n if (BUILD.watchCallback && cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) {\n const watchMethods = cmpMeta.$watchers$[propName];\n if (watchMethods) {\n // this instance is watching for when this property changed\n watchMethods.map((watchMethodName) => {\n try {\n // fire off each of the watch methods that are watching this property\n instance[watchMethodName](newVal, oldVal, propName);\n }\n catch (e) {\n consoleError(e, elm);\n }\n });\n }\n }\n if (BUILD.updatable &&\n (flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {\n if (BUILD.cmpShouldUpdate && instance.componentShouldUpdate) {\n if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {\n return;\n }\n }\n // looks like this value actually changed, so we've got work to do!\n // but only if we've already rendered, otherwise just chill out\n // queue that we need to do an update, but don't worry about queuing\n // up millions cuz this function ensures it only runs once\n scheduleUpdate(hostRef, false);\n }\n }\n }\n};\nconst proxyComponent = (Cstr, cmpMeta, flags) => {\n if (BUILD.member && cmpMeta.$members$) {\n if (BUILD.watchCallback && Cstr.watchers) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n // It's better to have a const than two Object.entries()\n const members = Object.entries(cmpMeta.$members$);\n const prototype = Cstr.prototype;\n members.map(([memberName, [memberFlags]]) => {\n if ((BUILD.prop || BUILD.state) &&\n (memberFlags & 31 /* Prop */ ||\n ((!BUILD.lazyLoad || flags & 2 /* proxyState */) && memberFlags & 32 /* State */))) {\n // proxyComponent - prop\n Object.defineProperty(prototype, memberName, {\n get() {\n // proxyComponent, get value\n return getValue(this, memberName);\n },\n set(newValue) {\n // only during dev time\n if (BUILD.isDev) {\n const ref = getHostRef(this);\n if (\n // we are proxying the instance (not element)\n (flags & 1 /* isElementConstructor */) === 0 &&\n // the element is not constructing\n (ref.$flags$ & 8 /* isConstructingInstance */) === 0 &&\n // the member is a prop\n (memberFlags & 31 /* Prop */) !== 0 &&\n // the member is not mutable\n (memberFlags & 1024 /* Mutable */) === 0) {\n consoleDevWarn(`@Prop() \"${memberName}\" on <${cmpMeta.$tagName$}> is immutable but was modified from within the component.\\nMore information: https://stenciljs.com/docs/properties#prop-mutability`);\n }\n }\n // proxyComponent, set value\n setValue(this, memberName, newValue, cmpMeta);\n },\n configurable: true,\n enumerable: true,\n });\n }\n else if (BUILD.lazyLoad &&\n BUILD.method &&\n flags & 1 /* isElementConstructor */ &&\n memberFlags & 64 /* Method */) {\n // proxyComponent - method\n Object.defineProperty(prototype, memberName, {\n value(...args) {\n const ref = getHostRef(this);\n return ref.$onInstancePromise$.then(() => ref.$lazyInstance$[memberName](...args));\n },\n });\n }\n });\n if (BUILD.observeAttribute && (!BUILD.lazyLoad || flags & 1 /* isElementConstructor */)) {\n const attrNameToPropName = new Map();\n prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {\n plt.jmp(() => {\n const propName = attrNameToPropName.get(attrName);\n // In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback\n // in the case where an attribute was set inline.\n // ```html\n // \n // ```\n //\n // There is an edge case where a developer sets the attribute inline on a custom element and then\n // programmatically changes it before it has been upgraded as shown below:\n //\n // ```html\n // \n // \n // \n // ```\n // In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback\n // will be called with `newValue = \"some-value\"` and will set the shadowed property (this.someAttribute = \"another-value\")\n // to the value that was set inline i.e. \"some-value\" from above example. When\n // the connectedCallback attempts to unshadow it will use \"some-value\" as the initial value rather than \"another-value\"\n //\n // The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed\n // by connectedCallback as this attributeChangedCallback will not fire.\n //\n // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties\n //\n // TODO(STENCIL-16) we should think about whether or not we actually want to be reflecting the attributes to\n // properties here given that this goes against best practices outlined here\n // https://developers.google.com/web/fundamentals/web-components/best-practices#avoid-reentrancy\n if (this.hasOwnProperty(propName)) {\n newValue = this[propName];\n delete this[propName];\n }\n else if (prototype.hasOwnProperty(propName) &&\n typeof this[propName] === 'number' &&\n this[propName] == newValue) {\n // if the propName exists on the prototype of `Cstr`, this update may be a result of Stencil using native\n // APIs to reflect props as attributes. Calls to `setAttribute(someElement, propName)` will result in\n // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.\n return;\n }\n this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;\n });\n };\n // create an array of attributes to observe\n // and also create a map of html attribute name to js property name\n Cstr.observedAttributes = members\n .filter(([_, m]) => m[0] & 15 /* HasAttribute */) // filter to only keep props that should match attributes\n .map(([propName, m]) => {\n const attrName = m[1] || propName;\n attrNameToPropName.set(attrName, propName);\n if (BUILD.reflect && m[0] & 512 /* ReflectAttr */) {\n cmpMeta.$attrsToReflect$.push([propName, attrName]);\n }\n return attrName;\n });\n }\n }\n return Cstr;\n};\nconst initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {\n // initializeComponent\n if ((BUILD.lazyLoad || BUILD.hydrateServerSide || BUILD.style) &&\n (hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {\n if (BUILD.lazyLoad || BUILD.hydrateClientSide) {\n // we haven't initialized this element yet\n hostRef.$flags$ |= 32 /* hasInitializedComponent */;\n // lazy loaded components\n // request the component's implementation to be\n // wired up with the host element\n Cstr = loadModule(cmpMeta, hostRef, hmrVersionId);\n if (Cstr.then) {\n // Await creates a micro-task avoid if possible\n const endLoad = uniqueTime(`st:load:${cmpMeta.$tagName$}:${hostRef.$modeName$}`, `[Stencil] Load module for <${cmpMeta.$tagName$}>`);\n Cstr = await Cstr;\n endLoad();\n }\n if ((BUILD.isDev || BUILD.isDebug) && !Cstr) {\n throw new Error(`Constructor for \"${cmpMeta.$tagName$}#${hostRef.$modeName$}\" was not found`);\n }\n if (BUILD.member && !Cstr.isProxied) {\n // we've never proxied this Constructor before\n // let's add the getters/setters to its prototype before\n // the first time we create an instance of the implementation\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);\n Cstr.isProxied = true;\n }\n const endNewInstance = createTime('createInstance', cmpMeta.$tagName$);\n // ok, time to construct the instance\n // but let's keep track of when we start and stop\n // so that the getters/setters don't incorrectly step on data\n if (BUILD.member) {\n hostRef.$flags$ |= 8 /* isConstructingInstance */;\n }\n // construct the lazy-loaded component implementation\n // passing the hostRef is very important during\n // construction in order to directly wire together the\n // host element and the lazy-loaded instance\n try {\n new Cstr(hostRef);\n }\n catch (e) {\n consoleError(e);\n }\n if (BUILD.member) {\n hostRef.$flags$ &= ~8 /* isConstructingInstance */;\n }\n if (BUILD.watchCallback) {\n hostRef.$flags$ |= 128 /* isWatchReady */;\n }\n endNewInstance();\n fireConnectedCallback(hostRef.$lazyInstance$);\n }\n else {\n // sync constructor component\n Cstr = elm.constructor;\n hostRef.$flags$ |= 32 /* hasInitializedComponent */;\n // wait for the CustomElementRegistry to mark the component as ready before setting `isWatchReady`. Otherwise,\n // watchers may fire prematurely if `customElements.get()`/`customElements.whenDefined()` resolves _before_\n // Stencil has completed instantiating the component.\n customElements.whenDefined(cmpMeta.$tagName$).then(() => (hostRef.$flags$ |= 128 /* isWatchReady */));\n }\n if (BUILD.style && Cstr.style) {\n // this component has styles but we haven't registered them yet\n let style = Cstr.style;\n if (BUILD.mode && typeof style !== 'string') {\n style = style[(hostRef.$modeName$ = computeMode(elm))];\n if (BUILD.hydrateServerSide && hostRef.$modeName$) {\n elm.setAttribute('s-mode', hostRef.$modeName$);\n }\n }\n const scopeId = getScopeId(cmpMeta, hostRef.$modeName$);\n if (!styles.has(scopeId)) {\n const endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);\n if (!BUILD.hydrateServerSide &&\n BUILD.shadowDom &&\n BUILD.shadowDomShim &&\n cmpMeta.$flags$ & 8 /* needsShadowDomShim */) {\n style = await import('./shadow-css.js').then((m) => m.scopeCss(style, scopeId, false));\n }\n registerStyle(scopeId, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));\n endRegisterStyles();\n }\n }\n }\n // we've successfully created a lazy instance\n const ancestorComponent = hostRef.$ancestorComponent$;\n const schedule = () => scheduleUpdate(hostRef, true);\n if (BUILD.asyncLoading && ancestorComponent && ancestorComponent['s-rc']) {\n // this is the initial load and this component it has an ancestor component\n // but the ancestor component has NOT fired its will update lifecycle yet\n // so let's just cool our jets and wait for the ancestor to continue first\n // this will get fired off when the ancestor component\n // finally gets around to rendering its lazy self\n // fire off the initial update\n ancestorComponent['s-rc'].push(schedule);\n }\n else {\n schedule();\n }\n};\nconst fireConnectedCallback = (instance) => {\n if (BUILD.lazyLoad && BUILD.connectedCallback) {\n safeCall(instance, 'connectedCallback');\n }\n};\nconst connectedCallback = (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n const hostRef = getHostRef(elm);\n const cmpMeta = hostRef.$cmpMeta$;\n const endConnected = createTime('connectedCallback', cmpMeta.$tagName$);\n if (BUILD.hostListenerTargetParent) {\n // only run if we have listeners being attached to a parent\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, true);\n }\n if (!(hostRef.$flags$ & 1 /* hasConnected */)) {\n // first time this component has connected\n hostRef.$flags$ |= 1 /* hasConnected */;\n let hostId;\n if (BUILD.hydrateClientSide) {\n hostId = elm.getAttribute(HYDRATE_ID);\n if (hostId) {\n if (BUILD.shadowDom && supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n const scopeId = BUILD.mode\n ? addStyle(elm.shadowRoot, cmpMeta, elm.getAttribute('s-mode'))\n : addStyle(elm.shadowRoot, cmpMeta);\n elm.classList.remove(scopeId + '-h', scopeId + '-s');\n }\n initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef);\n }\n }\n if (BUILD.slotRelocation && !hostId) {\n // initUpdate\n // if the slot polyfill is required we'll need to put some nodes\n // in here to act as original content anchors as we move nodes around\n // host element has been connected to the DOM\n if (BUILD.hydrateServerSide ||\n ((BUILD.slot || BUILD.shadowDom) &&\n cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */))) {\n setContentReference(elm);\n }\n }\n if (BUILD.asyncLoading) {\n // find the first ancestor component (if there is one) and register\n // this component as one of the actively loading child components for its ancestor\n let ancestorComponent = elm;\n while ((ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host)) {\n // climb up the ancestors looking for the first\n // component that hasn't finished its lifecycle update yet\n if ((BUILD.hydrateClientSide &&\n ancestorComponent.nodeType === 1 /* ElementNode */ &&\n ancestorComponent.hasAttribute('s-id') &&\n ancestorComponent['s-p']) ||\n ancestorComponent['s-p']) {\n // we found this components first ancestor component\n // keep a reference to this component's ancestor component\n attachToAncestor(hostRef, (hostRef.$ancestorComponent$ = ancestorComponent));\n break;\n }\n }\n }\n // Lazy properties\n // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties\n if (BUILD.prop && !BUILD.hydrateServerSide && cmpMeta.$members$) {\n Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {\n if (memberFlags & 31 /* Prop */ && elm.hasOwnProperty(memberName)) {\n const value = elm[memberName];\n delete elm[memberName];\n elm[memberName] = value;\n }\n });\n }\n if (BUILD.initializeNextTick) {\n // connectedCallback, taskQueue, initialLoad\n // angular sets attribute AFTER connectCallback\n // https://github.com/angular/angular/issues/18909\n // https://github.com/angular/angular/issues/19940\n nextTick(() => initializeComponent(elm, hostRef, cmpMeta));\n }\n else {\n initializeComponent(elm, hostRef, cmpMeta);\n }\n }\n else {\n // not the first time this has connected\n // reattach any event listeners to the host\n // since they would have been removed when disconnected\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, false);\n // fire off connectedCallback() on component instance\n fireConnectedCallback(hostRef.$lazyInstance$);\n }\n endConnected();\n }\n};\nconst setContentReference = (elm) => {\n // only required when we're NOT using native shadow dom (slot)\n // or this browser doesn't support native shadow dom\n // and this host element was NOT created with SSR\n // let's pick out the inner content for slot projection\n // create a node to represent where the original\n // content was first placed, which is useful later on\n const contentRefElm = (elm['s-cr'] = doc.createComment(BUILD.isDebug ? `content-ref (host=${elm.localName})` : ''));\n contentRefElm['s-cn'] = true;\n elm.insertBefore(contentRefElm, elm.firstChild);\n};\nconst disconnectedCallback = (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n const hostRef = getHostRef(elm);\n const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm;\n if (BUILD.hostListener) {\n if (hostRef.$rmListeners$) {\n hostRef.$rmListeners$.map((rmListener) => rmListener());\n hostRef.$rmListeners$ = undefined;\n }\n }\n // clear CSS var-shim tracking\n if (BUILD.cssVarShim && plt.$cssShim$) {\n plt.$cssShim$.removeHost(elm);\n }\n if (BUILD.lazyLoad && BUILD.disconnectedCallback) {\n safeCall(instance, 'disconnectedCallback');\n }\n if (BUILD.cmpDidUnload) {\n safeCall(instance, 'componentDidUnload');\n }\n }\n};\nconst defineCustomElement = (Cstr, compactMeta) => {\n customElements.define(compactMeta[1], proxyCustomElement(Cstr, compactMeta));\n};\nconst proxyCustomElement = (Cstr, compactMeta) => {\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1],\n };\n if (BUILD.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = Cstr.$watchers$;\n }\n if (BUILD.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n cmpMeta.$flags$ |= 8 /* needsShadowDomShim */;\n }\n const originalConnectedCallback = Cstr.prototype.connectedCallback;\n const originalDisconnectedCallback = Cstr.prototype.disconnectedCallback;\n Object.assign(Cstr.prototype, {\n __registerHost() {\n registerHost(this, cmpMeta);\n },\n connectedCallback() {\n connectedCallback(this);\n if (BUILD.connectedCallback && originalConnectedCallback) {\n originalConnectedCallback.call(this);\n }\n },\n disconnectedCallback() {\n disconnectedCallback(this);\n if (BUILD.disconnectedCallback && originalDisconnectedCallback) {\n originalDisconnectedCallback.call(this);\n }\n },\n __attachShadow() {\n if (supportsShadow) {\n if (BUILD.shadowDelegatesFocus) {\n this.attachShadow({\n mode: 'open',\n delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */),\n });\n }\n else {\n this.attachShadow({ mode: 'open' });\n }\n }\n else {\n this.shadowRoot = this;\n }\n },\n });\n Cstr.is = cmpMeta.$tagName$;\n return proxyComponent(Cstr, cmpMeta, 1 /* isElementConstructor */ | 2 /* proxyState */);\n};\nconst forceModeUpdate = (elm) => {\n if (BUILD.style && BUILD.mode && !BUILD.lazyLoad) {\n const mode = computeMode(elm);\n const hostRef = getHostRef(elm);\n if (hostRef.$modeName$ !== mode) {\n const cmpMeta = hostRef.$cmpMeta$;\n const oldScopeId = elm['s-sc'];\n const scopeId = getScopeId(cmpMeta, mode);\n const style = elm.constructor.style[mode];\n const flags = cmpMeta.$flags$;\n if (style) {\n if (!styles.has(scopeId)) {\n registerStyle(scopeId, style, !!(flags & 1 /* shadowDomEncapsulation */));\n }\n hostRef.$modeName$ = mode;\n elm.classList.remove(oldScopeId + '-h', oldScopeId + '-s');\n attachStyles(hostRef);\n forceUpdate(elm);\n }\n }\n }\n};\nconst hmrStart = (elm, cmpMeta, hmrVersionId) => {\n // ¯\\_(ツ)_/¯\n const hostRef = getHostRef(elm);\n // reset state flags to only have been connected\n hostRef.$flags$ = 1 /* hasConnected */;\n // TODO\n // detatch any event listeners that may have been added\n // because we're not passing an exact event name it'll\n // remove all of this element's event, which is good\n // create a callback for when this component finishes hmr\n elm['s-hmr-load'] = () => {\n // finished hmr for this element\n delete elm['s-hmr-load'];\n };\n // re-initialize the component\n initializeComponent(elm, hostRef, cmpMeta, hmrVersionId);\n};\nconst patchCloneNode = (HostElementPrototype) => {\n const orgCloneNode = HostElementPrototype.cloneNode;\n HostElementPrototype.cloneNode = function (deep) {\n const srcNode = this;\n const isShadowDom = BUILD.shadowDom ? srcNode.shadowRoot && supportsShadow : false;\n const clonedNode = orgCloneNode.call(srcNode, isShadowDom ? deep : false);\n if (BUILD.slot && !isShadowDom && deep) {\n let i = 0;\n let slotted, nonStencilNode;\n let stencilPrivates = [\n 's-id',\n 's-cr',\n 's-lr',\n 's-rc',\n 's-sc',\n 's-p',\n 's-cn',\n 's-sr',\n 's-sn',\n 's-hn',\n 's-ol',\n 's-nr',\n 's-si',\n ];\n for (; i < srcNode.childNodes.length; i++) {\n slotted = srcNode.childNodes[i]['s-nr'];\n nonStencilNode = stencilPrivates.every((privateField) => !srcNode.childNodes[i][privateField]);\n if (slotted) {\n if (BUILD.appendChildSlotFix && clonedNode.__appendChild) {\n clonedNode.__appendChild(slotted.cloneNode(true));\n }\n else {\n clonedNode.appendChild(slotted.cloneNode(true));\n }\n }\n if (nonStencilNode) {\n clonedNode.appendChild(srcNode.childNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nconst patchSlotAppendChild = (HostElementPrototype) => {\n HostElementPrototype.__appendChild = HostElementPrototype.appendChild;\n HostElementPrototype.appendChild = function (newChild) {\n const slotName = (newChild['s-sn'] = getSlotName(newChild));\n const slotNode = getHostSlotNode(this.childNodes, slotName);\n if (slotNode) {\n const slotChildNodes = getHostSlotChildNodes(slotNode, slotName);\n const appendAfter = slotChildNodes[slotChildNodes.length - 1];\n return appendAfter.parentNode.insertBefore(newChild, appendAfter.nextSibling);\n }\n return this.__appendChild(newChild);\n };\n};\n/**\n * Patches the text content of an unnamed slotted node inside a scoped component\n * @param hostElementPrototype the `Element` to be patched\n * @param cmpMeta component runtime metadata used to determine if the component should be patched or not\n */\nconst patchTextContent = (hostElementPrototype, cmpMeta) => {\n if (BUILD.scoped && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n const descriptor = Object.getOwnPropertyDescriptor(Node.prototype, 'textContent');\n Object.defineProperty(hostElementPrototype, '__textContent', descriptor);\n Object.defineProperty(hostElementPrototype, 'textContent', {\n get() {\n var _a;\n // get the 'default slot', which would be the first slot in a shadow tree (if we were using one), whose name is\n // the empty string\n const slotNode = getHostSlotNode(this.childNodes, '');\n // when a slot node is found, the textContent _may_ be found in the next sibling (text) node, depending on how\n // nodes were reordered during the vdom render. first try to get the text content from the sibling.\n if (((_a = slotNode === null || slotNode === void 0 ? void 0 : slotNode.nextSibling) === null || _a === void 0 ? void 0 : _a.nodeType) === 3 /* TEXT_NODE */) {\n return slotNode.nextSibling.textContent;\n }\n else if (slotNode) {\n return slotNode.textContent;\n }\n else {\n // fallback to the original implementation\n return this.__textContent;\n }\n },\n set(value) {\n var _a;\n // get the 'default slot', which would be the first slot in a shadow tree (if we were using one), whose name is\n // the empty string\n const slotNode = getHostSlotNode(this.childNodes, '');\n // when a slot node is found, the textContent _may_ need to be placed in the next sibling (text) node,\n // depending on how nodes were reordered during the vdom render. first try to set the text content on the\n // sibling.\n if (((_a = slotNode === null || slotNode === void 0 ? void 0 : slotNode.nextSibling) === null || _a === void 0 ? void 0 : _a.nodeType) === 3 /* TEXT_NODE */) {\n slotNode.nextSibling.textContent = value;\n }\n else if (slotNode) {\n slotNode.textContent = value;\n }\n else {\n // we couldn't find a slot, but that doesn't mean that there isn't one. if this check ran before the DOM\n // loaded, we could have missed it. check for a content reference element on the scoped component and insert\n // it there\n this.__textContent = value;\n const contentRefElm = this['s-cr'];\n if (contentRefElm) {\n this.insertBefore(contentRefElm, this.firstChild);\n }\n }\n },\n });\n }\n};\nconst patchChildSlotNodes = (elm, cmpMeta) => {\n class FakeNodeList extends Array {\n item(n) {\n return this[n];\n }\n }\n if (cmpMeta.$flags$ & 8 /* needsShadowDomShim */) {\n const childNodesFn = elm.__lookupGetter__('childNodes');\n Object.defineProperty(elm, 'children', {\n get() {\n return this.childNodes.map((n) => n.nodeType === 1);\n },\n });\n Object.defineProperty(elm, 'childElementCount', {\n get() {\n return elm.children.length;\n },\n });\n Object.defineProperty(elm, 'childNodes', {\n get() {\n const childNodes = childNodesFn.call(this);\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0 &&\n getHostRef(this).$flags$ & 2 /* hasRendered */) {\n const result = new FakeNodeList();\n for (let i = 0; i < childNodes.length; i++) {\n const slot = childNodes[i]['s-nr'];\n if (slot) {\n result.push(slot);\n }\n }\n return result;\n }\n return FakeNodeList.from(childNodes);\n },\n });\n }\n};\nconst getSlotName = (node) => node['s-sn'] || (node.nodeType === 1 && node.getAttribute('slot')) || '';\n/**\n * Recursively searches a series of child nodes for a slot with the provided name.\n * @param childNodes the nodes to search for a slot with a specific name.\n * @param slotName the name of the slot to match on.\n * @returns a reference to the slot node that matches the provided name, `null` otherwise\n */\nconst getHostSlotNode = (childNodes, slotName) => {\n let i = 0;\n let childNode;\n for (; i < childNodes.length; i++) {\n childNode = childNodes[i];\n if (childNode['s-sr'] && childNode['s-sn'] === slotName) {\n return childNode;\n }\n childNode = getHostSlotNode(childNode.childNodes, slotName);\n if (childNode) {\n return childNode;\n }\n }\n return null;\n};\nconst getHostSlotChildNodes = (n, slotName) => {\n const childNodes = [n];\n while ((n = n.nextSibling) && n['s-sn'] === slotName) {\n childNodes.push(n);\n }\n return childNodes;\n};\nconst bootstrapLazy = (lazyBundles, options = {}) => {\n if (BUILD.profile && performance.mark) {\n performance.mark('st:app:start');\n }\n installDevTools();\n const endBootstrap = createTime('bootstrapLazy');\n const cmpTags = [];\n const exclude = options.exclude || [];\n const customElements = win.customElements;\n const head = doc.head;\n const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');\n const visibilityStyle = /*@__PURE__*/ doc.createElement('style');\n const deferredConnectedCallbacks = [];\n const styles = /*@__PURE__*/ doc.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);\n let appLoadFallback;\n let isBootstrapping = true;\n let i = 0;\n Object.assign(plt, options);\n plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;\n if (BUILD.asyncQueue) {\n if (options.syncQueue) {\n plt.$flags$ |= 4 /* queueSync */;\n }\n }\n if (BUILD.hydrateClientSide) {\n // If the app is already hydrated there is not point to disable the\n // async queue. This will improve the first input delay\n plt.$flags$ |= 2 /* appLoaded */;\n }\n if (BUILD.hydrateClientSide && BUILD.shadowDom) {\n for (; i < styles.length; i++) {\n registerStyle(styles[i].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles[i].innerHTML), true);\n }\n }\n lazyBundles.map((lazyBundle) => {\n lazyBundle[1].map((compactMeta) => {\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1],\n $members$: compactMeta[2],\n $listeners$: compactMeta[3],\n };\n if (BUILD.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = {};\n }\n if (BUILD.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n cmpMeta.$flags$ |= 8 /* needsShadowDomShim */;\n }\n const tagName = BUILD.transformTagName && options.transformTagName\n ? options.transformTagName(cmpMeta.$tagName$)\n : cmpMeta.$tagName$;\n const HostElement = class extends HTMLElement {\n // StencilLazyHost\n constructor(self) {\n // @ts-ignore\n super(self);\n self = this;\n registerHost(self, cmpMeta);\n if (BUILD.shadowDom && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n // this component is using shadow dom\n // and this browser supports shadow dom\n // add the read-only property \"shadowRoot\" to the host element\n // adding the shadow root build conditionals to minimize runtime\n if (supportsShadow) {\n if (BUILD.shadowDelegatesFocus) {\n self.attachShadow({\n mode: 'open',\n delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */),\n });\n }\n else {\n self.attachShadow({ mode: 'open' });\n }\n }\n else if (!BUILD.hydrateServerSide && !('shadowRoot' in self)) {\n self.shadowRoot = self;\n }\n }\n if (BUILD.slotChildNodesFix) {\n patchChildSlotNodes(self, cmpMeta);\n }\n }\n connectedCallback() {\n if (appLoadFallback) {\n clearTimeout(appLoadFallback);\n appLoadFallback = null;\n }\n if (isBootstrapping) {\n // connectedCallback will be processed once all components have been registered\n deferredConnectedCallbacks.push(this);\n }\n else {\n plt.jmp(() => connectedCallback(this));\n }\n }\n disconnectedCallback() {\n plt.jmp(() => disconnectedCallback(this));\n }\n componentOnReady() {\n return getHostRef(this).$onReadyPromise$;\n }\n };\n if (BUILD.cloneNodeFix) {\n patchCloneNode(HostElement.prototype);\n }\n if (BUILD.appendChildSlotFix) {\n patchSlotAppendChild(HostElement.prototype);\n }\n if (BUILD.hotModuleReplacement) {\n HostElement.prototype['s-hmr'] = function (hmrVersionId) {\n hmrStart(this, cmpMeta, hmrVersionId);\n };\n }\n if (BUILD.scopedSlotTextContentFix) {\n patchTextContent(HostElement.prototype, cmpMeta);\n }\n cmpMeta.$lazyBundleId$ = lazyBundle[0];\n if (!exclude.includes(tagName) && !customElements.get(tagName)) {\n cmpTags.push(tagName);\n customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 /* isElementConstructor */));\n }\n });\n });\n if (BUILD.invisiblePrehydration && (BUILD.hydratedClass || BUILD.hydratedAttribute)) {\n visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;\n visibilityStyle.setAttribute('data-styles', '');\n head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);\n }\n // Process deferred connectedCallbacks now all components have been registered\n isBootstrapping = false;\n if (deferredConnectedCallbacks.length) {\n deferredConnectedCallbacks.map((host) => host.connectedCallback());\n }\n else {\n if (BUILD.profile) {\n plt.jmp(() => (appLoadFallback = setTimeout(appDidLoad, 30, 'timeout')));\n }\n else {\n plt.jmp(() => (appLoadFallback = setTimeout(appDidLoad, 30)));\n }\n }\n // Fallback appLoad event\n endBootstrap();\n};\nconst getAssetPath = (path) => {\n const assetUrl = new URL(path, plt.$resourcesUrl$);\n return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;\n};\nconst setAssetPath = (path) => (plt.$resourcesUrl$ = path);\nconst getConnect = (_ref, tagName) => {\n const componentOnReady = () => {\n let elm = doc.querySelector(tagName);\n if (!elm) {\n elm = doc.createElement(tagName);\n doc.body.appendChild(elm);\n }\n return typeof elm.componentOnReady === 'function' ? elm.componentOnReady() : Promise.resolve(elm);\n };\n const create = (...args) => {\n return componentOnReady().then((el) => el.create(...args));\n };\n return {\n create,\n componentOnReady,\n };\n};\nconst getContext = (_elm, context) => {\n if (context in Context) {\n return Context[context];\n }\n else if (context === 'window') {\n return win;\n }\n else if (context === 'document') {\n return doc;\n }\n else if (context === 'isServer' || context === 'isPrerender') {\n return BUILD.hydrateServerSide ? true : false;\n }\n else if (context === 'isClient') {\n return BUILD.hydrateServerSide ? false : true;\n }\n else if (context === 'resourcesUrl' || context === 'publicPath') {\n return getAssetPath('.');\n }\n else if (context === 'queue') {\n return {\n write: writeTask,\n read: readTask,\n tick: {\n then(cb) {\n return nextTick(cb);\n },\n },\n };\n }\n return undefined;\n};\nconst insertVdomAnnotations = (doc, staticComponents) => {\n if (doc != null) {\n const docData = {\n hostIds: 0,\n rootLevelIds: 0,\n staticComponents: new Set(staticComponents),\n };\n const orgLocationNodes = [];\n parseVNodeAnnotations(doc, doc.body, docData, orgLocationNodes);\n orgLocationNodes.forEach((orgLocationNode) => {\n if (orgLocationNode != null) {\n const nodeRef = orgLocationNode['s-nr'];\n let hostId = nodeRef['s-host-id'];\n let nodeId = nodeRef['s-node-id'];\n let childId = `${hostId}.${nodeId}`;\n if (hostId == null) {\n hostId = 0;\n docData.rootLevelIds++;\n nodeId = docData.rootLevelIds;\n childId = `${hostId}.${nodeId}`;\n if (nodeRef.nodeType === 1 /* ElementNode */) {\n nodeRef.setAttribute(HYDRATE_CHILD_ID, childId);\n }\n else if (nodeRef.nodeType === 3 /* TextNode */) {\n if (hostId === 0) {\n const textContent = nodeRef.nodeValue.trim();\n if (textContent === '') {\n // useless whitespace node at the document root\n orgLocationNode.remove();\n return;\n }\n }\n const commentBeforeTextNode = doc.createComment(childId);\n commentBeforeTextNode.nodeValue = `${TEXT_NODE_ID}.${childId}`;\n nodeRef.parentNode.insertBefore(commentBeforeTextNode, nodeRef);\n }\n }\n let orgLocationNodeId = `${ORG_LOCATION_ID}.${childId}`;\n const orgLocationParentNode = orgLocationNode.parentElement;\n if (orgLocationParentNode) {\n if (orgLocationParentNode['s-en'] === '') {\n // ending with a \".\" means that the parent element\n // of this node's original location is a SHADOW dom element\n // and this node is apart of the root level light dom\n orgLocationNodeId += `.`;\n }\n else if (orgLocationParentNode['s-en'] === 'c') {\n // ending with a \".c\" means that the parent element\n // of this node's original location is a SCOPED element\n // and this node is apart of the root level light dom\n orgLocationNodeId += `.c`;\n }\n }\n orgLocationNode.nodeValue = orgLocationNodeId;\n }\n });\n }\n};\nconst parseVNodeAnnotations = (doc, node, docData, orgLocationNodes) => {\n if (node == null) {\n return;\n }\n if (node['s-nr'] != null) {\n orgLocationNodes.push(node);\n }\n if (node.nodeType === 1 /* ElementNode */) {\n node.childNodes.forEach((childNode) => {\n const hostRef = getHostRef(childNode);\n if (hostRef != null && !docData.staticComponents.has(childNode.nodeName.toLowerCase())) {\n const cmpData = {\n nodeIds: 0,\n };\n insertVNodeAnnotations(doc, childNode, hostRef.$vnode$, docData, cmpData);\n }\n parseVNodeAnnotations(doc, childNode, docData, orgLocationNodes);\n });\n }\n};\nconst insertVNodeAnnotations = (doc, hostElm, vnode, docData, cmpData) => {\n if (vnode != null) {\n const hostId = ++docData.hostIds;\n hostElm.setAttribute(HYDRATE_ID, hostId);\n if (hostElm['s-cr'] != null) {\n hostElm['s-cr'].nodeValue = `${CONTENT_REF_ID}.${hostId}`;\n }\n if (vnode.$children$ != null) {\n const depth = 0;\n vnode.$children$.forEach((vnodeChild, index) => {\n insertChildVNodeAnnotations(doc, vnodeChild, cmpData, hostId, depth, index);\n });\n }\n if (hostElm && vnode && vnode.$elm$ && !hostElm.hasAttribute('c-id')) {\n const parent = hostElm.parentElement;\n if (parent && parent.childNodes) {\n const parentChildNodes = Array.from(parent.childNodes);\n const comment = parentChildNodes.find((node) => node.nodeType === 8 /* CommentNode */ && node['s-sr']);\n if (comment) {\n const index = parentChildNodes.indexOf(hostElm) - 1;\n vnode.$elm$.setAttribute(HYDRATE_CHILD_ID, `${comment['s-host-id']}.${comment['s-node-id']}.0.${index}`);\n }\n }\n }\n }\n};\nconst insertChildVNodeAnnotations = (doc, vnodeChild, cmpData, hostId, depth, index) => {\n const childElm = vnodeChild.$elm$;\n if (childElm == null) {\n return;\n }\n const nodeId = cmpData.nodeIds++;\n const childId = `${hostId}.${nodeId}.${depth}.${index}`;\n childElm['s-host-id'] = hostId;\n childElm['s-node-id'] = nodeId;\n if (childElm.nodeType === 1 /* ElementNode */) {\n childElm.setAttribute(HYDRATE_CHILD_ID, childId);\n }\n else if (childElm.nodeType === 3 /* TextNode */) {\n const parentNode = childElm.parentNode;\n const nodeName = parentNode.nodeName;\n if (nodeName !== 'STYLE' && nodeName !== 'SCRIPT') {\n const textNodeId = `${TEXT_NODE_ID}.${childId}`;\n const commentBeforeTextNode = doc.createComment(textNodeId);\n parentNode.insertBefore(commentBeforeTextNode, childElm);\n }\n }\n else if (childElm.nodeType === 8 /* CommentNode */) {\n if (childElm['s-sr']) {\n const slotName = childElm['s-sn'] || '';\n const slotNodeId = `${SLOT_NODE_ID}.${childId}.${slotName}`;\n childElm.nodeValue = slotNodeId;\n }\n }\n if (vnodeChild.$children$ != null) {\n const childDepth = depth + 1;\n vnodeChild.$children$.forEach((vnode, index) => {\n insertChildVNodeAnnotations(doc, vnode, cmpData, hostId, childDepth, index);\n });\n }\n};\nconst setPlatformOptions = (opts) => Object.assign(plt, opts);\nconst Fragment = (_, children) => children;\nconst hostRefs = new WeakMap();\nconst getHostRef = (ref) => hostRefs.get(ref);\nconst registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);\nconst registerHost = (elm, cmpMeta) => {\n const hostRef = {\n $flags$: 0,\n $hostElement$: elm,\n $cmpMeta$: cmpMeta,\n $instanceValues$: new Map(),\n };\n if (BUILD.isDev) {\n hostRef.$renderCount$ = 0;\n }\n if (BUILD.method && BUILD.lazyLoad) {\n hostRef.$onInstancePromise$ = new Promise((r) => (hostRef.$onInstanceResolve$ = r));\n }\n if (BUILD.asyncLoading) {\n hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));\n elm['s-p'] = [];\n elm['s-rc'] = [];\n }\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, false);\n return hostRefs.set(elm, hostRef);\n};\nconst isMemberInElement = (elm, memberName) => memberName in elm;\nconst consoleError = (e, el) => (customError || console.error)(e, el);\nconst STENCIL_DEV_MODE = BUILD.isTesting\n ? ['STENCIL:'] // E2E testing\n : [\n '%cstencil',\n 'color: white;background:#4c47ff;font-weight: bold; font-size:10px; padding:2px 6px; border-radius: 5px',\n ];\nconst consoleDevError = (...m) => console.error(...STENCIL_DEV_MODE, ...m);\nconst consoleDevWarn = (...m) => console.warn(...STENCIL_DEV_MODE, ...m);\nconst consoleDevInfo = (...m) => console.info(...STENCIL_DEV_MODE, ...m);\nconst setErrorHandler = (handler) => (customError = handler);\nconst cmpModules = /*@__PURE__*/ new Map();\nconst loadModule = (cmpMeta, hostRef, hmrVersionId) => {\n // loadModuleImport\n const exportName = cmpMeta.$tagName$.replace(/-/g, '_');\n const bundleId = cmpMeta.$lazyBundleId$;\n if (BUILD.isDev && typeof bundleId !== 'string') {\n consoleDevError(`Trying to lazily load component <${cmpMeta.$tagName$}> with style mode \"${hostRef.$modeName$}\", but it does not exist.`);\n return undefined;\n }\n const module = !BUILD.hotModuleReplacement ? cmpModules.get(bundleId) : false;\n if (module) {\n return module[exportName];\n }\n return import(\n /* webpackInclude: /\\.entry\\.js$/ */\n /* webpackExclude: /\\.system\\.entry\\.js$/ */\n /* webpackMode: \"lazy\" */\n `./${bundleId}.entry.js${BUILD.hotModuleReplacement && hmrVersionId ? '?s-hmr=' + hmrVersionId : ''}`).then((importedModule) => {\n if (!BUILD.hotModuleReplacement) {\n cmpModules.set(bundleId, importedModule);\n }\n return importedModule[exportName];\n }, consoleError);\n};\nconst styles = new Map();\nconst modeResolutionChain = [];\nconst queueDomReads = [];\nconst queueDomWrites = [];\nconst queueDomWritesLow = [];\nconst queueTask = (queue, write) => (cb) => {\n queue.push(cb);\n if (!queuePending) {\n queuePending = true;\n if (write && plt.$flags$ & 4 /* queueSync */) {\n nextTick(flush);\n }\n else {\n plt.raf(flush);\n }\n }\n};\nconst consume = (queue) => {\n for (let i = 0; i < queue.length; i++) {\n try {\n queue[i](performance.now());\n }\n catch (e) {\n consoleError(e);\n }\n }\n queue.length = 0;\n};\nconst consumeTimeout = (queue, timeout) => {\n let i = 0;\n let ts = 0;\n while (i < queue.length && (ts = performance.now()) < timeout) {\n try {\n queue[i++](ts);\n }\n catch (e) {\n consoleError(e);\n }\n }\n if (i === queue.length) {\n queue.length = 0;\n }\n else if (i !== 0) {\n queue.splice(0, i);\n }\n};\nconst flush = () => {\n if (BUILD.asyncQueue) {\n queueCongestion++;\n }\n // always force a bunch of medium callbacks to run, but still have\n // a throttle on how many can run in a certain time\n // DOM READS!!!\n consume(queueDomReads);\n // DOM WRITES!!!\n if (BUILD.asyncQueue) {\n const timeout = (plt.$flags$ & 6 /* queueMask */) === 2 /* appLoaded */\n ? performance.now() + 14 * Math.ceil(queueCongestion * (1.0 / 10.0))\n : Infinity;\n consumeTimeout(queueDomWrites, timeout);\n consumeTimeout(queueDomWritesLow, timeout);\n if (queueDomWrites.length > 0) {\n queueDomWritesLow.push(...queueDomWrites);\n queueDomWrites.length = 0;\n }\n if ((queuePending = queueDomReads.length + queueDomWrites.length + queueDomWritesLow.length > 0)) {\n // still more to do yet, but we've run out of time\n // let's let this thing cool off and try again in the next tick\n plt.raf(flush);\n }\n else {\n queueCongestion = 0;\n }\n }\n else {\n consume(queueDomWrites);\n if ((queuePending = queueDomReads.length > 0)) {\n // still more to do yet, but we've run out of time\n // let's let this thing cool off and try again in the next tick\n plt.raf(flush);\n }\n }\n};\nconst nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);\nconst readTask = /*@__PURE__*/ queueTask(queueDomReads, false);\nconst writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);\nconst Build = {\n isDev: BUILD.isDev ? true : false,\n isBrowser: true,\n isServer: false,\n isTesting: BUILD.isTesting ? true : false,\n};\nexport { BUILD, Env, NAMESPACE } from '@stencil/core/internal/app-data';\nexport { Build, CSS, Context, Fragment, H, H as HTMLElement, Host, STENCIL_DEV_MODE, addHostEventListeners, bootstrapLazy, cmpModules, connectedCallback, consoleDevError, consoleDevInfo, consoleDevWarn, consoleError, createEvent, defineCustomElement, disconnectedCallback, doc, forceModeUpdate, forceUpdate, getAssetPath, getConnect, getContext, getElement, getHostRef, getMode, getRenderingRef, getValue, h, insertVdomAnnotations, isMemberInElement, loadModule, modeResolutionChain, nextTick, parsePropertyValue, plt, postUpdateComponent, promiseResolve, proxyComponent, proxyCustomElement, readTask, registerHost, registerInstance, renderVdom, setAssetPath, setErrorHandler, setMode, setPlatformHelpers, setPlatformOptions, setValue, styles, supportsConstructibleStylesheets, supportsListenerOptions, supportsShadow, win, writeTask };\n"]} \ No newline at end of file From 021430b91dfac1d022154025246ec9c39b3c3662 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 16 Feb 2022 23:44:46 -0500 Subject: [PATCH 04/85] ignore build results --- DNN Platform/Modules/ResourceManager/.gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 DNN Platform/Modules/ResourceManager/.gitignore diff --git a/DNN Platform/Modules/ResourceManager/.gitignore b/DNN Platform/Modules/ResourceManager/.gitignore new file mode 100644 index 00000000000..cfa04eb4b50 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/.gitignore @@ -0,0 +1 @@ +Scripts/dnn-resource-manager \ No newline at end of file From 5e8dcf150a83e55b9afd547bfe140df46a4b8b95 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 17 Feb 2022 18:37:50 -0500 Subject: [PATCH 05/85] Moved pre-packaging into UpdateFiles step --- .../Modules/ResourceManager/Module.build | 40 +++++++++---------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/DNN Platform/Modules/ResourceManager/Module.build b/DNN Platform/Modules/ResourceManager/Module.build index 72c97988ff5..5b89b84c2a5 100644 --- a/DNN Platform/Modules/ResourceManager/Module.build +++ b/DNN Platform/Modules/ResourceManager/Module.build @@ -1,24 +1,24 @@ - - - - $(MSBuildProjectDirectory)\..\..\.. - $(MSBuildProjectDirectory)\ResourceManager.Web - - - - resources - ResourceManager - DNNCE_ResourceManager - $(WebsitePath)\DesktopModules\ResourceManager - $(WebsiteInstallPath)\Module - - + + + + $(MSBuildProjectDirectory)\..\..\.. + $(MSBuildProjectDirectory)\ResourceManager.Web + + + + resources + ResourceManager + DNNCE_ResourceManager + $(WebsitePath)\DesktopModules\ResourceManager + $(WebsiteInstallPath)\Module + + - + $(MSBuildProjectDirectory)\Scripts\dnn-resource-manager @@ -27,12 +27,10 @@ - - - - + + \ No newline at end of file From 32363f530fce422c6b76a72bf9fad4bdbac06348 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 17 Feb 2022 23:28:58 -0500 Subject: [PATCH 06/85] Implemented base layou --- .../ResourceManager.Web/package.json | 3 +- .../ResourceManager.Web/src/components.d.ts | 78 +++++++++++++++++++ .../dnn-resource-manager.scss | 44 +++++++++++ .../dnn-resource-manager.tsx | 42 +++++++++- .../components/dnn-resource-manager/readme.md | 19 +++++ .../dnn-rm-actions-bar/dnn-rm-actions-bar.css | 3 + .../dnn-rm-actions-bar/dnn-rm-actions-bar.tsx | 18 +++++ .../components/dnn-rm-actions-bar/readme.md | 10 +++ .../dnn-rm-files-pane/dnn-rm-files-pane.css | 3 + .../dnn-rm-files-pane/dnn-rm-files-pane.tsx | 18 +++++ .../components/dnn-rm-files-pane/readme.md | 10 +++ .../dnn-rm-left-pane/dnn-rm-left-pane.css | 3 + .../dnn-rm-left-pane/dnn-rm-left-pane.tsx | 18 +++++ .../src/components/dnn-rm-left-pane/readme.md | 23 ++++++ .../dnn-rm-right-pane/dnn-rm-right-pane.css | 3 + .../dnn-rm-right-pane/dnn-rm-right-pane.tsx | 18 +++++ .../components/dnn-rm-right-pane/readme.md | 23 ++++++ .../dnn-rm-status-bar/dnn-rm-status-bar.css | 3 + .../dnn-rm-status-bar/dnn-rm-status-bar.tsx | 18 +++++ .../components/dnn-rm-status-bar/readme.md | 10 +++ .../dnn-rm-top-bar/dnn-rm-top-bar.css | 3 + .../dnn-rm-top-bar/dnn-rm-top-bar.tsx | 18 +++++ .../src/components/dnn-rm-top-bar/readme.md | 23 ++++++ .../ResourceManager.Web/src/index.ts | 1 + yarn.lock | 8 ++ 25 files changed, 416 insertions(+), 4 deletions(-) create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.css create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.tsx create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/readme.md create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.css create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.tsx create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/readme.md create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/dnn-rm-left-pane.css create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/dnn-rm-left-pane.tsx create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/readme.md create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-right-pane/dnn-rm-right-pane.css create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-right-pane/dnn-rm-right-pane.tsx create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-right-pane/readme.md create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-status-bar/dnn-rm-status-bar.css create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-status-bar/dnn-rm-status-bar.tsx create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-status-bar/readme.md create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/dnn-rm-top-bar.css create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/dnn-rm-top-bar.tsx create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/readme.md diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json index 22ec98e6985..8e2c013a33b 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json @@ -1,6 +1,6 @@ { "name": "dnn-resource-manager", - "version": "0.0.1", + "version": "9.10.2", "description": "Stencil Component Starter", "main": "dist/index.cjs.js", "module": "dist/index.js", @@ -29,6 +29,7 @@ }, "license": "MIT", "devDependencies": { + "@dnncommunity/dnn-elements": "^0.14.0-beta.1", "@stencil/sass": "^1.5.2" } } diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components.d.ts b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components.d.ts index ef53ef7c964..f460cf15eac 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components.d.ts +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components.d.ts @@ -8,6 +8,18 @@ import { HTMLStencilElement, JSXBase } from "@stencil/core/internal"; export namespace Components { interface DnnResourceManager { } + interface DnnRmActionsBar { + } + interface DnnRmFilesPane { + } + interface DnnRmLeftPane { + } + interface DnnRmRightPane { + } + interface DnnRmStatusBar { + } + interface DnnRmTopBar { + } } declare global { interface HTMLDnnResourceManagerElement extends Components.DnnResourceManager, HTMLStencilElement { @@ -16,15 +28,75 @@ declare global { prototype: HTMLDnnResourceManagerElement; new (): HTMLDnnResourceManagerElement; }; + interface HTMLDnnRmActionsBarElement extends Components.DnnRmActionsBar, HTMLStencilElement { + } + var HTMLDnnRmActionsBarElement: { + prototype: HTMLDnnRmActionsBarElement; + new (): HTMLDnnRmActionsBarElement; + }; + interface HTMLDnnRmFilesPaneElement extends Components.DnnRmFilesPane, HTMLStencilElement { + } + var HTMLDnnRmFilesPaneElement: { + prototype: HTMLDnnRmFilesPaneElement; + new (): HTMLDnnRmFilesPaneElement; + }; + interface HTMLDnnRmLeftPaneElement extends Components.DnnRmLeftPane, HTMLStencilElement { + } + var HTMLDnnRmLeftPaneElement: { + prototype: HTMLDnnRmLeftPaneElement; + new (): HTMLDnnRmLeftPaneElement; + }; + interface HTMLDnnRmRightPaneElement extends Components.DnnRmRightPane, HTMLStencilElement { + } + var HTMLDnnRmRightPaneElement: { + prototype: HTMLDnnRmRightPaneElement; + new (): HTMLDnnRmRightPaneElement; + }; + interface HTMLDnnRmStatusBarElement extends Components.DnnRmStatusBar, HTMLStencilElement { + } + var HTMLDnnRmStatusBarElement: { + prototype: HTMLDnnRmStatusBarElement; + new (): HTMLDnnRmStatusBarElement; + }; + interface HTMLDnnRmTopBarElement extends Components.DnnRmTopBar, HTMLStencilElement { + } + var HTMLDnnRmTopBarElement: { + prototype: HTMLDnnRmTopBarElement; + new (): HTMLDnnRmTopBarElement; + }; interface HTMLElementTagNameMap { "dnn-resource-manager": HTMLDnnResourceManagerElement; + "dnn-rm-actions-bar": HTMLDnnRmActionsBarElement; + "dnn-rm-files-pane": HTMLDnnRmFilesPaneElement; + "dnn-rm-left-pane": HTMLDnnRmLeftPaneElement; + "dnn-rm-right-pane": HTMLDnnRmRightPaneElement; + "dnn-rm-status-bar": HTMLDnnRmStatusBarElement; + "dnn-rm-top-bar": HTMLDnnRmTopBarElement; } } declare namespace LocalJSX { interface DnnResourceManager { } + interface DnnRmActionsBar { + } + interface DnnRmFilesPane { + } + interface DnnRmLeftPane { + } + interface DnnRmRightPane { + } + interface DnnRmStatusBar { + } + interface DnnRmTopBar { + } interface IntrinsicElements { "dnn-resource-manager": DnnResourceManager; + "dnn-rm-actions-bar": DnnRmActionsBar; + "dnn-rm-files-pane": DnnRmFilesPane; + "dnn-rm-left-pane": DnnRmLeftPane; + "dnn-rm-right-pane": DnnRmRightPane; + "dnn-rm-status-bar": DnnRmStatusBar; + "dnn-rm-top-bar": DnnRmTopBar; } } export { LocalJSX as JSX }; @@ -32,6 +104,12 @@ declare module "@stencil/core" { export namespace JSX { interface IntrinsicElements { "dnn-resource-manager": LocalJSX.DnnResourceManager & JSXBase.HTMLAttributes; + "dnn-rm-actions-bar": LocalJSX.DnnRmActionsBar & JSXBase.HTMLAttributes; + "dnn-rm-files-pane": LocalJSX.DnnRmFilesPane & JSXBase.HTMLAttributes; + "dnn-rm-left-pane": LocalJSX.DnnRmLeftPane & JSXBase.HTMLAttributes; + "dnn-rm-right-pane": LocalJSX.DnnRmRightPane & JSXBase.HTMLAttributes; + "dnn-rm-status-bar": LocalJSX.DnnRmStatusBar & JSXBase.HTMLAttributes; + "dnn-rm-top-bar": LocalJSX.DnnRmTopBar & JSXBase.HTMLAttributes; } } } diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.scss index 5d4e87f30f6..3ff4d3e6b83 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.scss +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.scss @@ -1,3 +1,47 @@ :host { display: block; + + --top-bar-background-color: var(--dnn-color-) +} + +.container{ + border: 1px solid lightgray; + display:flex; + flex-direction: column; + dnn-vertical-splitview{ + width: 100%; + } + dnn-vertical-splitview{ + min-height: 400px; + .splitter{ + display: flex; + align-items: center; + box-shadow: inset 8px 0 8px -8px grey; + height: 100%; + button{ + margin: 0; + padding: 0; + width: 32px; + height: 32px; + border: 1px solid lightgray; + border-radius: 50%; + background-color: white; + box-shadow: 2px 2px 4px rgba(0,0,0,0.2); + position: relative; + left: -12px; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + svg{ + transition: all 300ms ease-in-out; + } + &.expanded{ + svg{ + transform: rotate(180deg); + } + } + } + } + } } diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.tsx index 31d78f97bdb..042ff43d9da 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.tsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.tsx @@ -1,5 +1,6 @@ -import { Component, Host, h } from '@stencil/core'; +import { Component, Host, h, State, Watch } from '@stencil/core'; +const localStorageSplitWidthKey = "dnn-resource-manager-last-folders-width"; @Component({ tag: 'dnn-resource-manager', styleUrl: 'dnn-resource-manager.scss', @@ -7,12 +8,47 @@ import { Component, Host, h } from '@stencil/core'; }) export class DnnResourceManager { + @State() foldersExpanded = true; + @Watch("foldersExpanded") async foldersExpandedChanged(expanded: boolean){ + const lastWidth = parseFloat(localStorage.getItem(localStorageSplitWidthKey)) || 30; + if (expanded){ + this.splitView.setSplitWidthPercentage(lastWidth); + return; + } + + this.splitView.setSplitWidthPercentage(0); + } + + private splitView: HTMLDnnVerticalSplitviewElement; + + private handleSplitWidthChanged(event: CustomEvent){ + if (event.detail != 0){ + localStorage.setItem(localStorageSplitWidthKey, event.detail.toString()); + } + } + render() { return ( - +
    + + this.splitView = el} + onWidthChanged={this.handleSplitWidthChanged} + > +
    + +
    + + +
    +
    ); } - } diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/readme.md index 63d147faa93..fc8871be6bb 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/readme.md +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/readme.md @@ -5,6 +5,25 @@ +## Dependencies + +### Depends on + +- [dnn-rm-top-bar](../dnn-rm-top-bar) +- dnn-vertical-splitview +- [dnn-rm-left-pane](../dnn-rm-left-pane) +- [dnn-rm-right-pane](../dnn-rm-right-pane) + +### Graph +```mermaid +graph TD; + dnn-resource-manager --> dnn-rm-top-bar + dnn-resource-manager --> dnn-vertical-splitview + dnn-resource-manager --> dnn-rm-left-pane + dnn-resource-manager --> dnn-rm-right-pane + style dnn-resource-manager fill:#f9f,stroke:#333,stroke-width:4px +``` + ---------------------------------------------- *Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.css b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.css new file mode 100644 index 00000000000..5d4e87f30f6 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.css @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.tsx new file mode 100644 index 00000000000..abffe72e766 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.tsx @@ -0,0 +1,18 @@ +import { Component, Host, h } from '@stencil/core'; + +@Component({ + tag: 'dnn-rm-actions-bar', + styleUrl: 'dnn-rm-actions-bar.css', + shadow: true, +}) +export class DnnRmActionsBar { + + render() { + return ( + + + + ); + } + +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/readme.md new file mode 100644 index 00000000000..d2f9869ecf4 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/readme.md @@ -0,0 +1,10 @@ +# dnn-rm-actions-bar + + + + + + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.css b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.css new file mode 100644 index 00000000000..5d4e87f30f6 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.css @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.tsx new file mode 100644 index 00000000000..62f27b49882 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.tsx @@ -0,0 +1,18 @@ +import { Component, Host, h } from '@stencil/core'; + +@Component({ + tag: 'dnn-rm-files-pane', + styleUrl: 'dnn-rm-files-pane.css', + shadow: true, +}) +export class DnnRmFilesPane { + + render() { + return ( + + + + ); + } + +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/readme.md new file mode 100644 index 00000000000..d85ce12935e --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/readme.md @@ -0,0 +1,10 @@ +# dnn-rm-files-pane + + + + + + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/dnn-rm-left-pane.css b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/dnn-rm-left-pane.css new file mode 100644 index 00000000000..5d4e87f30f6 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/dnn-rm-left-pane.css @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/dnn-rm-left-pane.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/dnn-rm-left-pane.tsx new file mode 100644 index 00000000000..61fde858845 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/dnn-rm-left-pane.tsx @@ -0,0 +1,18 @@ +import { Component, Host, h } from '@stencil/core'; + +@Component({ + tag: 'dnn-rm-left-pane', + styleUrl: 'dnn-rm-left-pane.css', + shadow: true, +}) +export class DnnRmLeftPane { + + render() { + return ( + +

    I am the left pane

    +
    + ); + } + +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/readme.md new file mode 100644 index 00000000000..431af9092a5 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/readme.md @@ -0,0 +1,23 @@ +# dnn-rm-left-pane + + + + + + +## Dependencies + +### Used by + + - [dnn-resource-manager](../dnn-resource-manager) + +### Graph +```mermaid +graph TD; + dnn-resource-manager --> dnn-rm-left-pane + style dnn-rm-left-pane fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-right-pane/dnn-rm-right-pane.css b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-right-pane/dnn-rm-right-pane.css new file mode 100644 index 00000000000..5d4e87f30f6 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-right-pane/dnn-rm-right-pane.css @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-right-pane/dnn-rm-right-pane.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-right-pane/dnn-rm-right-pane.tsx new file mode 100644 index 00000000000..c6a2dbff132 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-right-pane/dnn-rm-right-pane.tsx @@ -0,0 +1,18 @@ +import { Component, Host, h } from '@stencil/core'; + +@Component({ + tag: 'dnn-rm-right-pane', + styleUrl: 'dnn-rm-right-pane.css', + shadow: true, +}) +export class DnnRmRightPane { + + render() { + return ( + +

    I am the right pane

    +
    + ); + } + +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-right-pane/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-right-pane/readme.md new file mode 100644 index 00000000000..0595f160f7b --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-right-pane/readme.md @@ -0,0 +1,23 @@ +# dnn-rm-right-pane + + + + + + +## Dependencies + +### Used by + + - [dnn-resource-manager](../dnn-resource-manager) + +### Graph +```mermaid +graph TD; + dnn-resource-manager --> dnn-rm-right-pane + style dnn-rm-right-pane fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-status-bar/dnn-rm-status-bar.css b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-status-bar/dnn-rm-status-bar.css new file mode 100644 index 00000000000..5d4e87f30f6 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-status-bar/dnn-rm-status-bar.css @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-status-bar/dnn-rm-status-bar.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-status-bar/dnn-rm-status-bar.tsx new file mode 100644 index 00000000000..a1684af23ae --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-status-bar/dnn-rm-status-bar.tsx @@ -0,0 +1,18 @@ +import { Component, Host, h } from '@stencil/core'; + +@Component({ + tag: 'dnn-rm-status-bar', + styleUrl: 'dnn-rm-status-bar.css', + shadow: true, +}) +export class DnnRmStatusBar { + + render() { + return ( + + + + ); + } + +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-status-bar/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-status-bar/readme.md new file mode 100644 index 00000000000..b37b0e44e31 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-status-bar/readme.md @@ -0,0 +1,10 @@ +# dnn-rm-status-bar + + + + + + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/dnn-rm-top-bar.css b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/dnn-rm-top-bar.css new file mode 100644 index 00000000000..5d4e87f30f6 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/dnn-rm-top-bar.css @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/dnn-rm-top-bar.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/dnn-rm-top-bar.tsx new file mode 100644 index 00000000000..8548678a1e8 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/dnn-rm-top-bar.tsx @@ -0,0 +1,18 @@ +import { Component, Host, h } from '@stencil/core'; + +@Component({ + tag: 'dnn-rm-top-bar', + styleUrl: 'dnn-rm-top-bar.css', + shadow: true, +}) +export class DnnRmTopBar { + + render() { + return ( + +

    I am the top bar

    +
    + ); + } + +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/readme.md new file mode 100644 index 00000000000..3b05fcdbeb6 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/readme.md @@ -0,0 +1,23 @@ +# dnn-rm-top-bar + + + + + + +## Dependencies + +### Used by + + - [dnn-resource-manager](../dnn-resource-manager) + +### Graph +```mermaid +graph TD; + dnn-resource-manager --> dnn-rm-top-bar + style dnn-rm-top-bar fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/index.ts b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/index.ts index 7531c10b867..6da3f4324eb 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/index.ts +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/index.ts @@ -1 +1,2 @@ export { Components, JSX } from './components'; +import '@dnncommunity/dnn-elements'; \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index d49559179a2..4086264116a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1393,6 +1393,13 @@ __metadata: languageName: node linkType: hard +"@dnncommunity/dnn-elements@npm:next": + version: 0.14.0-beta.1 + resolution: "@dnncommunity/dnn-elements@npm:0.14.0-beta.1" + checksum: 8e371e7264815989f2170b6977d0de3c013106bdbbf5b25a80da4ebdb7a2714b6ccbc2b41b7b0c98d13585a005375a5b23d4ae84454a8ebcc625887e853d356a + languageName: node + linkType: hard + "@dnnsoftware/dnn-react-common@9.10.2, @dnnsoftware/dnn-react-common@workspace:Dnn.AdminExperience/ClientSide/Dnn.React.Common": version: 0.0.0-use.local resolution: "@dnnsoftware/dnn-react-common@workspace:Dnn.AdminExperience/ClientSide/Dnn.React.Common" @@ -8703,6 +8710,7 @@ __metadata: version: 0.0.0-use.local resolution: "dnn-resource-manager@workspace:DNN Platform/Modules/ResourceManager/ResourceManager.Web" dependencies: + "@dnncommunity/dnn-elements": next "@stencil/core": ^2.13.0 "@stencil/sass": ^1.5.2 languageName: unknown From 1bb46d6b4b35b3b87780390cf808f8c350cdc0cd Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 18 Feb 2022 00:51:15 -0500 Subject: [PATCH 07/85] Initial attempt at PersonaBar integration --- .../App_LocalResources/Files.resx | 123 ++++++++++++++++++ .../Components/PersonaBarMenuController.cs | 38 ++++++ .../ResourceManager/ResourceManager.dnn | 31 +++++ .../Modules/ResourceManager/Scripts/Files.js | 28 ++++ .../Modules/ResourceManager/View.html | 18 +++ 5 files changed, 238 insertions(+) create mode 100644 DNN Platform/Modules/ResourceManager/App_LocalResources/Files.resx create mode 100644 DNN Platform/Modules/ResourceManager/Components/PersonaBarMenuController.cs create mode 100644 DNN Platform/Modules/ResourceManager/Scripts/Files.js diff --git a/DNN Platform/Modules/ResourceManager/App_LocalResources/Files.resx b/DNN Platform/Modules/ResourceManager/App_LocalResources/Files.resx new file mode 100644 index 00000000000..c1ed638619b --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/App_LocalResources/Files.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Pages + + \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/Components/PersonaBarMenuController.cs b/DNN Platform/Modules/ResourceManager/Components/PersonaBarMenuController.cs new file mode 100644 index 00000000000..8113435ec08 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/Components/PersonaBarMenuController.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information + +namespace Dnn.Modules.ResourceManager.Components +{ + using System.Collections.Generic; + using System.Linq; + + using Dnn.PersonaBar.Library.Controllers; + using Dnn.PersonaBar.Library.Model; + using DotNetNuke.Entities.Portals; + using DotNetNuke.Entities.Users; + + /// + /// Manages the behaviour of the Resource Manager persona bar menu item. + /// + public class PersonaBarMenuController : IMenuItemController + { + /// + public IDictionary GetSettings(MenuItem menuItem) + { + return null; + } + + /// + public void UpdateParameters(MenuItem menuItem) + { + } + + /// + public bool Visible(MenuItem menuItem) + { + var user = UserController.Instance.GetCurrentUserInfo(); + return user.Roles.Contains(PortalSettings.Current.AdministratorRoleName) || user.IsSuperUser; + } + } +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.dnn b/DNN Platform/Modules/ResourceManager/ResourceManager.dnn index 38631460078..4d887e12048 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.dnn +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.dnn @@ -96,5 +96,36 @@ + + This module allows you to manage files on the server + ~/Images/icon_filemanager_32px.gif + + .NET Foundation and Contributors + DNN Community + https://dnncommunity.org + info@dnncommunity.org + + + + + 09.02.00 + Dnn.PersonaBar.UI + + + + + Dnn.Files + Files + Dnn.Modules.ResourceManager.Components.PersonaBarMenuController, Dnn.Modules.ResourceManager + nav_ResourceManager + ~/DesktopModules/ResourceManager/ResourceManager + true + Content + 2 + Administrators + + + + diff --git a/DNN Platform/Modules/ResourceManager/Scripts/Files.js b/DNN Platform/Modules/ResourceManager/Scripts/Files.js new file mode 100644 index 00000000000..61875b00dc4 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/Scripts/Files.js @@ -0,0 +1,28 @@ +'use strict'; +define(['jquery'], + function ($) { + function loadScript() { + var url = "Modules/ResourceManager/Scripts/dnn-resourcemanager/dnn-resource-manager.esm.js"; + //var url = "http://localhost:8099/ListingManager-bundle.js"; //Use this for dev + $.ajax({ + dataType: "script", + cache: true, + url: url + }); + } + return { + init: function (wrapper, util, params, callback) { + loadScript(); + }, + + initMobile: function (wrapper, util, params, callback) { + this.init(wrapper, util, params, callback); + }, + + load: function (params, callback) { + }, + + loadMobile: function (params, callback) { + } + }; + }); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/View.html b/DNN Platform/Modules/ResourceManager/View.html index 69fe9ad8a4d..206110ec38a 100644 --- a/DNN Platform/Modules/ResourceManager/View.html +++ b/DNN Platform/Modules/ResourceManager/View.html @@ -1,4 +1,22 @@ [AntiForgeryToken:True] + \ No newline at end of file From e21cefdbf67d69d1dbf066c97982598d475c7b3f Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 18 Feb 2022 00:52:53 -0500 Subject: [PATCH 08/85] commit project file --- .../ResourceManager/Dnn.Modules.ResourceManager.csproj | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/DNN Platform/Modules/ResourceManager/Dnn.Modules.ResourceManager.csproj b/DNN Platform/Modules/ResourceManager/Dnn.Modules.ResourceManager.csproj index 71f56e95d7a..fff7f81f8bb 100644 --- a/DNN Platform/Modules/ResourceManager/Dnn.Modules.ResourceManager.csproj +++ b/DNN Platform/Modules/ResourceManager/Dnn.Modules.ResourceManager.csproj @@ -107,6 +107,7 @@ + @@ -207,6 +208,10 @@ + + {8b50ba8b-0a08-41b8-81b8-ea70707c7379} + Dnn.PersonaBar.Library + {6928A9B1-F88A-4581-A132-D3EB38669BB0} DotNetNuke.Abstractions @@ -263,6 +268,9 @@ + + + 10.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) From f8c81ae31b56c8a73dfd99b2b9ab187f4f61ecb3 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 18 Feb 2022 02:20:26 -0500 Subject: [PATCH 09/85] integrated into persona bar --- .../ResourceManager.Web/stencil.config.ts | 1 + .../ResourceManager/ResourceManager.dnn | 7 ++-- .../Modules/ResourceManager/Scripts/Files.js | 28 -------------- .../Dnn.Files}/App_LocalResources/Files.resx | 6 +-- .../admin/personaBar/Dnn.Files/css/Files.css | 0 .../admin/personaBar/Dnn.Files/files.html | 1 + .../personaBar/Dnn.Files/scripts/Files.js | 37 +++++++++++++++++++ yarn.lock | 4 +- 8 files changed, 47 insertions(+), 37 deletions(-) delete mode 100644 DNN Platform/Modules/ResourceManager/Scripts/Files.js rename {DNN Platform/Modules/ResourceManager => Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Files}/App_LocalResources/Files.resx (95%) create mode 100644 Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Files/css/Files.css create mode 100644 Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Files/files.html create mode 100644 Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Files/scripts/Files.js diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/stencil.config.ts b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/stencil.config.ts index 783c0390613..6377ed2a153 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/stencil.config.ts +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/stencil.config.ts @@ -23,4 +23,5 @@ export const config: Config = { sass(), ], sourceMap: true, + buildEs5: 'prod', }; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.dnn b/DNN Platform/Modules/ResourceManager/ResourceManager.dnn index 4d887e12048..c5aae63fc03 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.dnn +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.dnn @@ -117,11 +117,10 @@ Dnn.Files Files Dnn.Modules.ResourceManager.Components.PersonaBarMenuController, Dnn.Modules.ResourceManager - nav_ResourceManager - ~/DesktopModules/ResourceManager/ResourceManager + nav_Files true - Content - 2 + Manage + 25 Administrators diff --git a/DNN Platform/Modules/ResourceManager/Scripts/Files.js b/DNN Platform/Modules/ResourceManager/Scripts/Files.js deleted file mode 100644 index 61875b00dc4..00000000000 --- a/DNN Platform/Modules/ResourceManager/Scripts/Files.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; -define(['jquery'], - function ($) { - function loadScript() { - var url = "Modules/ResourceManager/Scripts/dnn-resourcemanager/dnn-resource-manager.esm.js"; - //var url = "http://localhost:8099/ListingManager-bundle.js"; //Use this for dev - $.ajax({ - dataType: "script", - cache: true, - url: url - }); - } - return { - init: function (wrapper, util, params, callback) { - loadScript(); - }, - - initMobile: function (wrapper, util, params, callback) { - this.init(wrapper, util, params, callback); - }, - - load: function (params, callback) { - }, - - loadMobile: function (params, callback) { - } - }; - }); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/App_LocalResources/Files.resx b/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Files/App_LocalResources/Files.resx similarity index 95% rename from DNN Platform/Modules/ResourceManager/App_LocalResources/Files.resx rename to Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Files/App_LocalResources/Files.resx index c1ed638619b..81e684ba5ca 100644 --- a/DNN Platform/Modules/ResourceManager/App_LocalResources/Files.resx +++ b/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Files/App_LocalResources/Files.resx @@ -1,4 +1,4 @@ - + +## Properties + +| Property | Attribute | Description | Type | Default | +| ----------------------- | ----------- | ----------- | -------- | ----------- | +| `moduleId` _(required)_ | `module-id` | | `number` | `undefined` | + + ## Dependencies ### Depends on @@ -21,6 +28,16 @@ graph TD; dnn-resource-manager --> dnn-vertical-splitview dnn-resource-manager --> dnn-rm-left-pane dnn-resource-manager --> dnn-rm-right-pane + dnn-rm-top-bar --> dnn-searchbox + dnn-rm-left-pane --> dnn-rm-folder-list + dnn-rm-folder-list --> dnn-rm-folder-list-item + dnn-rm-folder-list-item --> dnn-treeview-item + dnn-rm-folder-list-item --> dnn-rm-folder-list-item + dnn-treeview-item --> dnn-collapsible + dnn-rm-right-pane --> dnn-rm-actions-bar + dnn-rm-right-pane --> dnn-rm-files-pane + dnn-rm-right-pane --> dnn-rm-status-bar + dnn-rm-actions-bar --> dnn-vertical-overflow-menu style dnn-resource-manager fill:#f9f,stroke:#333,stroke-width:4px ``` diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/readme.md index d2f9869ecf4..7aa8c821914 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/readme.md +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/readme.md @@ -5,6 +5,24 @@ +## Dependencies + +### Used by + + - [dnn-rm-right-pane](../dnn-rm-right-pane) + +### Depends on + +- dnn-vertical-overflow-menu + +### Graph +```mermaid +graph TD; + dnn-rm-actions-bar --> dnn-vertical-overflow-menu + dnn-rm-right-pane --> dnn-rm-actions-bar + style dnn-rm-actions-bar fill:#f9f,stroke:#333,stroke-width:4px +``` + ---------------------------------------------- *Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/readme.md index d85ce12935e..0b29ae3cefc 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/readme.md +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/readme.md @@ -5,6 +5,19 @@ +## Dependencies + +### Used by + + - [dnn-rm-right-pane](../dnn-rm-right-pane) + +### Graph +```mermaid +graph TD; + dnn-rm-right-pane --> dnn-rm-files-pane + style dnn-rm-files-pane fill:#f9f,stroke:#333,stroke-width:4px +``` + ---------------------------------------------- *Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/dnn-rm-folder-list-item.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/dnn-rm-folder-list-item.scss new file mode 100644 index 00000000000..3d26fc5c7b0 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/dnn-rm-folder-list-item.scss @@ -0,0 +1,13 @@ +:host { + display: block; +} +button{ + display: flex; + align-items: center; + border: none; + padding: 0; + margin: 0; + background-color: transparent; + gap: 0.5em; + cursor: pointer; +} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/dnn-rm-folder-list-item.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/dnn-rm-folder-list-item.tsx new file mode 100644 index 00000000000..1123c431ee5 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/dnn-rm-folder-list-item.tsx @@ -0,0 +1,63 @@ +import { Component, Host, h, Prop, State } from '@stencil/core'; +import { FolderTreeItem } from '../../services/InternalServicesClient'; +import { ItemsClient } from "../../services/ItemsClient"; +import state from "../../store/store"; + +@Component({ + tag: 'dnn-rm-folder-list-item', + styleUrl: 'dnn-rm-folder-list-item.scss', + shadow: true, +}) +export class DnnRmFolderListItem { + + /** The basic information about the folder */ + @Prop() folder!: FolderTreeItem; + + /** If true, this node will be expanded on load. */ + @Prop() expanded = false; + + @State() folderIconUrl: string; + + private itemsClient: ItemsClient; + + constructor(){ + this.itemsClient = new ItemsClient(state.moduleId) + } + + componentWillLoad() { + this.itemsClient.getFolderIconUrl(Number.parseInt(this.folder.data.key)) + .then(data => this.folderIconUrl = data) + .catch(error => console.error(error)); + } + + render() { + console.log(this.folder) + return ( + + {this.folder && + + + {this.folder.data.hasChildren && +
    + {this.folder.children && this.folder.children.length > 0 && this.folder.children.map(child => + + )} +
    + } +
    + } +
    + ); + } + +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/readme.md new file mode 100644 index 00000000000..f458cb9eba4 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/readme.md @@ -0,0 +1,39 @@ +# dnn-rm-folder-list-item + + + + + + +## Properties + +| Property | Attribute | Description | Type | Default | +| --------------------- | ---------- | -------------------------------------------- | ---------------- | ----------- | +| `expanded` | `expanded` | If true, this node will be expanded on load. | `boolean` | `false` | +| `folder` _(required)_ | -- | The basic information about the folder | `FolderTreeItem` | `undefined` | + + +## Dependencies + +### Used by + + - [dnn-rm-folder-list](../dnn-rm-folder-list) + - [dnn-rm-folder-list-item](.) + +### Depends on + +- dnn-treeview-item +- [dnn-rm-folder-list-item](.) + +### Graph +```mermaid +graph TD; + dnn-rm-folder-list-item --> dnn-rm-folder-list-item + dnn-treeview-item --> dnn-collapsible + dnn-rm-folder-list --> dnn-rm-folder-list-item + style dnn-rm-folder-list-item fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list/dnn-rm-folder-list.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list/dnn-rm-folder-list.scss new file mode 100644 index 00000000000..5d4e87f30f6 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list/dnn-rm-folder-list.scss @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list/dnn-rm-folder-list.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list/dnn-rm-folder-list.tsx new file mode 100644 index 00000000000..9926ba1b014 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list/dnn-rm-folder-list.tsx @@ -0,0 +1,45 @@ +import { Component, Host, h, State } from '@stencil/core'; +import { InternalServicesClient } from "../../services/InternalServicesClient"; +import { GetFolderContentResponse } from "../../services/ItemsClient"; +import state from "../../store/store"; + +@Component({ + tag: 'dnn-rm-folder-list', + styleUrl: 'dnn-rm-folder-list.scss', + shadow: true, +}) +export class DnnRmFolderList { + + @State() folderContents: GetFolderContentResponse; + + private internalServicesClient: InternalServicesClient; + + constructor(){ + this.internalServicesClient = new InternalServicesClient(state.moduleId); + } + + componentWillLoad() { + this.internalServicesClient.getFolders() + .then(data => + { + state.rootFolders = data; + }) + .catch(error => alert(error.Message)); + } + + + render() { + return ( + + {state.rootFolders && state.rootFolders.Tree.children.map(item => + + + )} + + ); + } + +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list/readme.md new file mode 100644 index 00000000000..6017a9a6ea8 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list/readme.md @@ -0,0 +1,31 @@ +# dnn-rm-folder-list + + + + + + +## Dependencies + +### Used by + + - [dnn-rm-left-pane](../dnn-rm-left-pane) + +### Depends on + +- [dnn-rm-folder-list-item](../dnn-rm-folder-list-item) + +### Graph +```mermaid +graph TD; + dnn-rm-folder-list --> dnn-rm-folder-list-item + dnn-rm-folder-list-item --> dnn-treeview-item + dnn-rm-folder-list-item --> dnn-rm-folder-list-item + dnn-treeview-item --> dnn-collapsible + dnn-rm-left-pane --> dnn-rm-folder-list + style dnn-rm-folder-list fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/dnn-rm-left-pane.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/dnn-rm-left-pane.scss index 08fae54fe63..d78a4fc4632 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/dnn-rm-left-pane.scss +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/dnn-rm-left-pane.scss @@ -1,4 +1,5 @@ :host { display: block; padding: 0.5em 1em; + padding-left: 0px; } \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/dnn-rm-left-pane.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/dnn-rm-left-pane.tsx index 2b5440b0274..8bd866c0c18 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/dnn-rm-left-pane.tsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/dnn-rm-left-pane.tsx @@ -10,13 +10,7 @@ export class DnnRmLeftPane { render() { return ( -
      -
    • Folders
    • -
    • will
    • -
    • go
    • -
    • over
    • -
    • here
    • -
    +
    ); } diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/readme.md index 431af9092a5..22b4c274d71 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/readme.md +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-left-pane/readme.md @@ -11,9 +11,18 @@ - [dnn-resource-manager](../dnn-resource-manager) +### Depends on + +- [dnn-rm-folder-list](../dnn-rm-folder-list) + ### Graph ```mermaid graph TD; + dnn-rm-left-pane --> dnn-rm-folder-list + dnn-rm-folder-list --> dnn-rm-folder-list-item + dnn-rm-folder-list-item --> dnn-treeview-item + dnn-rm-folder-list-item --> dnn-rm-folder-list-item + dnn-treeview-item --> dnn-collapsible dnn-resource-manager --> dnn-rm-left-pane style dnn-rm-left-pane fill:#f9f,stroke:#333,stroke-width:4px ``` diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-right-pane/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-right-pane/readme.md index 0595f160f7b..ae3b6d31f66 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-right-pane/readme.md +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-right-pane/readme.md @@ -11,9 +11,19 @@ - [dnn-resource-manager](../dnn-resource-manager) +### Depends on + +- [dnn-rm-actions-bar](../dnn-rm-actions-bar) +- [dnn-rm-files-pane](../dnn-rm-files-pane) +- [dnn-rm-status-bar](../dnn-rm-status-bar) + ### Graph ```mermaid graph TD; + dnn-rm-right-pane --> dnn-rm-actions-bar + dnn-rm-right-pane --> dnn-rm-files-pane + dnn-rm-right-pane --> dnn-rm-status-bar + dnn-rm-actions-bar --> dnn-vertical-overflow-menu dnn-resource-manager --> dnn-rm-right-pane style dnn-rm-right-pane fill:#f9f,stroke:#333,stroke-width:4px ``` diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-status-bar/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-status-bar/readme.md index b37b0e44e31..d78db718340 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-status-bar/readme.md +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-status-bar/readme.md @@ -5,6 +5,19 @@ +## Dependencies + +### Used by + + - [dnn-rm-right-pane](../dnn-rm-right-pane) + +### Graph +```mermaid +graph TD; + dnn-rm-right-pane --> dnn-rm-status-bar + style dnn-rm-status-bar fill:#f9f,stroke:#333,stroke-width:4px +``` + ---------------------------------------------- *Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/dnn-rm-top-bar.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/dnn-rm-top-bar.tsx index 27be5c445df..f3264a9e9e6 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/dnn-rm-top-bar.tsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/dnn-rm-top-bar.tsx @@ -1,5 +1,4 @@ -import { Component, Host, h } from '@stencil/core'; - +import { Component, Host, h, } from '@stencil/core'; @Component({ tag: 'dnn-rm-top-bar', styleUrl: 'dnn-rm-top-bar.scss', @@ -11,11 +10,7 @@ export class DnnRmTopBar { return ( - ); } - } diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/readme.md index 3b05fcdbeb6..0ce2cab1b49 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/readme.md +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-top-bar/readme.md @@ -11,9 +11,14 @@ - [dnn-resource-manager](../dnn-resource-manager) +### Depends on + +- dnn-searchbox + ### Graph ```mermaid graph TD; + dnn-rm-top-bar --> dnn-searchbox dnn-resource-manager --> dnn-rm-top-bar style dnn-rm-top-bar fill:#f9f,stroke:#333,stroke-width:4px ``` diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/services/InternalServicesClient.ts b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/services/InternalServicesClient.ts new file mode 100644 index 00000000000..579a8758c1d --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/services/InternalServicesClient.ts @@ -0,0 +1,51 @@ +import { DnnServicesFramework } from "@dnncommunity/dnn-elements"; + +export class InternalServicesClient{ + private sf: DnnServicesFramework; + private requestUrl: string; + + /** + * Initializes the api client. + * @param moduleId The ID of the current module. + */ + constructor(moduleId: number) { + this.sf = new DnnServicesFramework(moduleId); + this.requestUrl = `${this.sf.getServiceRoot("InternalServices")}ItemListService/` + } + + public getFolders(){ + return new Promise((resolve, reject) => { + const url = `${this.requestUrl}GetFolders` + fetch(url, { + headers: this.sf.getModuleHeaders(), + }) + .then(response => { + if (response.status == 200){ + response.json().then(data => resolve(data)); + } + else{ + response.json().then(error => reject(error)); + } + }) + .catch(error => reject(error)); + }); + } +} + +export interface GetFoldersResponse{ + IgnoreRoot: boolean; + Success: boolean; + Tree: FolderTreeItem; +} + +export interface FolderTreeItem{ + data: FolderTreeData; + children?: FolderTreeItem[]; +} + +export interface FolderTreeData{ + hasChildren: boolean; + key: string; + selectable: boolean; + value?: string; +} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/services/ItemsClient.ts b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/services/ItemsClient.ts new file mode 100644 index 00000000000..6bbd1f27aa3 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/services/ItemsClient.ts @@ -0,0 +1,91 @@ +import { DnnServicesFramework } from "@dnncommunity/dnn-elements"; + +export class ItemsClient{ + private sf: DnnServicesFramework; + private requestUrl: string; + + /** + * Initializes the api client. + * @param moduleId The ID of the current module. + */ + constructor(moduleId: number) { + this.sf = new DnnServicesFramework(moduleId); + this.requestUrl = `${this.sf.getServiceRoot("ResourceManager")}Items/` + } + + /** + * + * @param folderId Gets the content of a folder. + * @param startIndex Which item to start at in the paging mechanism. + * @param numItems How many items to return. + * @param sorting How to sort the items returned. + * @returns + */ + public getFolderContent( + folderId: number, + startIndex = 0, + numItems = 20, + sorting: "ItemName" | "LastModifiedOnDate" | "Size" | "ParentFolder" | "CreatedOnDate" = "ItemName", + groupId = -1){ + return new Promise((resolve, reject) => { + const url = `${this.requestUrl}GetFolderContent?folderId=${folderId}&startIndex=${startIndex}&numItems=${numItems}&sorting=${sorting}`; + const headers = this.sf.getModuleHeaders(); + headers.append("groupId", groupId.toString()); + fetch(url, { + headers + }) + .then(response => { + if (response.status == 200){ + response.json().then(data => resolve(data)); + } + else{ + response.json().then(error => reject(error.message)); + } + }) + .catch(error => reject(error)); + }); + } + + public getFolderIconUrl(folderId: number) { + return new Promise((resolve, reject) => { + const url = `${this.requestUrl}GetFolderIconUrl?folderId=${folderId}`; + fetch(url, { + headers: this.sf.getModuleHeaders(), + }) + .then(response => { + if (response.status == 200){ + response.json().then(data => resolve(data.url)) + } + else{ + response.json().then(error => reject(error)); + } + }) + .catch(error => reject(error)); + }); + } +} + +export interface GetFolderContentResponse{ + folder: FolderInfo; + hasAddFilesPermission: boolean; + hasAddFoldersPermission: boolean; + hasDeletePermission: boolean; + hasManagePermission: boolean; + items: Item[]; + totalCount: number; +} + +export interface FolderInfo{ + folderId: number; + folderMappingId: number; + folderName: string; + folderParentId: number; + folderPath: string; +} + +export interface Item{ + iconUrl: string; + isFolder: boolean; + itemId: number; + itemName: string; +} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/store/store.ts b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/store/store.ts new file mode 100644 index 00000000000..1074d59d749 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/store/store.ts @@ -0,0 +1,12 @@ +import { createStore } from "@stencil/store"; +import { GetFoldersResponse } from "../services/InternalServicesClient"; + +const { state } = createStore<{ + moduleId: number; + rootFolders: GetFoldersResponse; +}>({ + moduleId: -1, + rootFolders: undefined, +}); + +export default state; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/Services/ItemsController.cs b/DNN Platform/Modules/ResourceManager/Services/ItemsController.cs index 82577d392b0..5065dc51a1c 100644 --- a/DNN Platform/Modules/ResourceManager/Services/ItemsController.cs +++ b/DNN Platform/Modules/ResourceManager/Services/ItemsController.cs @@ -15,8 +15,8 @@ namespace Dnn.Modules.ResourceManager.Services using Dnn.Modules.ResourceManager.Components; using Dnn.Modules.ResourceManager.Helpers; using Dnn.Modules.ResourceManager.Services.Attributes; - using Dnn.Modules.ResourceManager.Services.Dto; - + using Dnn.Modules.ResourceManager.Services.Dto; + using DotNetNuke.Abstractions; using DotNetNuke.Common; using DotNetNuke.Common.Utilities; using DotNetNuke.Entities.Icons; @@ -39,7 +39,7 @@ namespace Dnn.Modules.ResourceManager.Services public class ItemsController : DnnApiController { private readonly IFolderMappingController folderMappingController = FolderMappingController.Instance; - private readonly IModuleControlPipeline modulePipeline; + private readonly IModuleControlPipeline modulePipeline; /// /// Initializes a new instance of the class. @@ -48,9 +48,10 @@ public class ItemsController : DnnApiController /// An instance of an used to hook into the /// EditUrl of the webforms folders provider settings UI. /// - public ItemsController(IModuleControlPipeline modulePipeline) + public ItemsController( + IModuleControlPipeline modulePipeline) { - this.modulePipeline = modulePipeline; + this.modulePipeline = modulePipeline; } /// @@ -503,6 +504,20 @@ public HttpResponseMessage MoveFolder(MoveFolderRequest moveFolderRequest) ItemsManager.Instance.MoveFolder(moveFolderRequest.SourceFolderId, moveFolderRequest.DestinationFolderId, moduleMode, groupId); return this.Request.CreateResponse(HttpStatusCode.OK, new { Status = 0 }); + } + + /// + /// Gets the relevant icon for this requested folder. + /// + /// The ID of the folder for which to get the image for. + /// A string representing the full url to the folder icon. + [HttpGet] + [ValidateAntiForgeryToken] + public IHttpActionResult GetFolderIconUrl(int folderId) + { + var folderMappingId = FolderManager.Instance.GetFolder(folderId).FolderMappingID; + var url = GetFolderIconUrl(this.PortalSettings.PortalId, folderMappingId); + return this.Ok(new { url }); } private static string GetFileIconUrl(string extension) @@ -517,7 +532,7 @@ private static string GetFileIconUrl(string extension) private static string GetFolderIconUrl(int portalId, int folderMappingId) { - var url = Globals.ApplicationPath + "/" + Constants.ModulePath + "images/icon-asset-manager-{0}-folder.png"; + var url = Globals.ApplicationPath + "/" + Constants.ModulePath + "images/icon-asset-manager-{0}-folder.svg"; var folderMapping = FolderMappingController.Instance.GetFolderMapping(portalId, folderMappingId); var name = folderMapping != null && File.Exists(HttpContext.Current.Server.MapPath(folderMapping.ImageUrl)) diff --git a/DNN Platform/Modules/ResourceManager/View.html b/DNN Platform/Modules/ResourceManager/View.html index 206110ec38a..8b84f903e02 100644 --- a/DNN Platform/Modules/ResourceManager/View.html +++ b/DNN Platform/Modules/ResourceManager/View.html @@ -19,4 +19,4 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index faab86a2930..64f84dce8fc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2980,6 +2980,15 @@ __metadata: languageName: node linkType: hard +"@stencil/store@npm:^1.5.0": + version: 1.5.0 + resolution: "@stencil/store@npm:1.5.0" + peerDependencies: + "@stencil/core": ">=1.9.0" + checksum: c529061b4582514160a7b38185381571399a9dd62b4a67ad3b78aafff3a1d318895aa89de277897bb3d418b865b82dce01499a46625ea2fad2db33a2995c8d2a + languageName: node + linkType: hard + "@storybook/addon-actions@npm:^6.3.9": version: 6.3.9 resolution: "@storybook/addon-actions@npm:6.3.9" @@ -8713,6 +8722,7 @@ __metadata: "@dnncommunity/dnn-elements": 0.14.0-beta.6 "@stencil/core": ^2.13.0 "@stencil/sass": ^1.5.2 + "@stencil/store": ^1.5.0 languageName: unknown linkType: soft From 50839e0d35f88163e878ce643a388dc67c62473f Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 20 Feb 2022 16:01:37 -0500 Subject: [PATCH 13/85] Implemented expanding folders nesting --- .../ResourceManager.Web/package.json | 2 +- .../dnn-resource-manager.scss | 2 +- .../dnn-rm-folder-list-item.tsx | 55 ++++++++++++++----- .../src/services/InternalServicesClient.ts | 34 ++++++++++++ yarn.lock | 10 ++-- 5 files changed, 81 insertions(+), 22 deletions(-) diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json index ae00dd9e7e2..460bf5bdfb8 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json @@ -29,7 +29,7 @@ }, "license": "MIT", "devDependencies": { - "@dnncommunity/dnn-elements": "0.14.0-beta.6", + "@dnncommunity/dnn-elements": "0.14.0-beta.8", "@stencil/sass": "^1.5.2", "@stencil/store": "^1.5.0" } diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.scss index 18929c2bcb8..cd63ea17a9d 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.scss +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.scss @@ -9,7 +9,7 @@ flex-direction: column; dnn-vertical-splitview{ width: 100%; - min-height: 400px; + height: 400px; --left-pane-background-color: lightgray; --right-pane-background-color: white; .splitter{ diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/dnn-rm-folder-list-item.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/dnn-rm-folder-list-item.tsx index 1123c431ee5..083f24b2793 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/dnn-rm-folder-list-item.tsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/dnn-rm-folder-list-item.tsx @@ -1,5 +1,5 @@ import { Component, Host, h, Prop, State } from '@stencil/core'; -import { FolderTreeItem } from '../../services/InternalServicesClient'; +import { InternalServicesClient, FolderTreeItem } from '../../services/InternalServicesClient'; import { ItemsClient } from "../../services/ItemsClient"; import state from "../../store/store"; @@ -11,32 +11,55 @@ import state from "../../store/store"; export class DnnRmFolderListItem { /** The basic information about the folder */ - @Prop() folder!: FolderTreeItem; + @Prop({mutable: true}) folder!: FolderTreeItem; /** If true, this node will be expanded on load. */ - @Prop() expanded = false; + @Prop({mutable: true}) expanded = false; @State() folderIconUrl: string; private itemsClient: ItemsClient; - + private internalServicesClient: InternalServicesClient; + constructor(){ - this.itemsClient = new ItemsClient(state.moduleId) + this.itemsClient = new ItemsClient(state.moduleId); + this.internalServicesClient = new InternalServicesClient(state.moduleId); } - + componentWillLoad() { this.itemsClient.getFolderIconUrl(Number.parseInt(this.folder.data.key)) .then(data => this.folderIconUrl = data) .catch(error => console.error(error)); } + + private handleUserExpanded() { + this.internalServicesClient.getFolderDescendants(this.folder.data.key) + .then(data => { + this.folder = { + ...this.folder, + children: data.Items.map(item => { + return { + data: { + hasChildren : item.hasChildren, + key: item.key, + selectable: item.selectable, + value: item.value + }, + }; + }), + }; + }) + .catch(error => console.error(error)); + }; render() { - console.log(this.folder) return ( {this.folder && - - {this.folder.data.hasChildren && -
    - {this.folder.children && this.folder.children.length > 0 && this.folder.children.map(child => - - )} -
    - } + [ +
    +
    + , + this.folder.children && this.folder.children.length > 0 && this.folder.children.map(child => + + ) + ]}
    }
    diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/services/InternalServicesClient.ts b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/services/InternalServicesClient.ts index 579a8758c1d..3b3b5be3a51 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/services/InternalServicesClient.ts +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/services/InternalServicesClient.ts @@ -30,8 +30,37 @@ export class InternalServicesClient{ .catch(error => reject(error)); }); } + + public getFolderDescendants( + parentId?: string, + sortOrder = 0, + searchText = "", + permission = "", + portalId = -1) + { + return new Promise((resolve, reject) => { + let url = `${this.requestUrl}GetFolderDescendants?parentId=${parentId}&sortOrder=${sortOrder}&searchText=${searchText}&permission=${permission}`; + if (portalId > -1){ + url += "&portalId=${portalId}"; + } + + fetch(url, { + headers: this.sf.getModuleHeaders(), + }) + .then(response => { + if (response.status == 200){ + response.json().then(data => resolve(data)); + } + else{ + response.json().then(error => reject(error.message)); + } + }) + .catch(error => reject(error)); + }); + } } + export interface GetFoldersResponse{ IgnoreRoot: boolean; Success: boolean; @@ -48,4 +77,9 @@ export interface FolderTreeData{ key: string; selectable: boolean; value?: string; +} + +export interface GetFolderDescendantsResponse{ + Items: FolderTreeData[]; + Success: boolean; } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 64f84dce8fc..4f2270d66d1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1393,10 +1393,10 @@ __metadata: languageName: node linkType: hard -"@dnncommunity/dnn-elements@npm:0.14.0-beta.6": - version: 0.14.0-beta.6 - resolution: "@dnncommunity/dnn-elements@npm:0.14.0-beta.6" - checksum: 8a1166aef3f73390ff2a662151cbe0e2c4d06b37d01c9bdae9416636911faa823ee7e4c30934b5997a2cd4a324153f1456952f4dea49f2ea577f1d7c3c8a0914 +"@dnncommunity/dnn-elements@npm:0.14.0-beta.8": + version: 0.14.0-beta.8 + resolution: "@dnncommunity/dnn-elements@npm:0.14.0-beta.8" + checksum: 96369f3e83bf8a368cc44a48e7b1b1362c3901aa53063ff3ac16779fc2058196d92ab0a70f1fe1dd45bcf10500fb3a4be0e048c991f84a3510d817ef128fc7c0 languageName: node linkType: hard @@ -8719,7 +8719,7 @@ __metadata: version: 0.0.0-use.local resolution: "dnn-resource-manager@workspace:DNN Platform/Modules/ResourceManager/ResourceManager.Web" dependencies: - "@dnncommunity/dnn-elements": 0.14.0-beta.6 + "@dnncommunity/dnn-elements": 0.14.0-beta.8 "@stencil/core": ^2.13.0 "@stencil/sass": ^1.5.2 "@stencil/store": ^1.5.0 From 063b3fce47b0c7343fb854d0e4bc763eded3dc5a Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 20 Feb 2022 18:50:18 -0500 Subject: [PATCH 14/85] Implemented base logic for items list view --- .../ResourceManager.Web/package.json | 2 +- .../ResourceManager.Web/src/components.d.ts | 13 +++++++ .../components/dnn-resource-manager/readme.md | 1 + .../dnn-rm-files-pane/dnn-rm-files-pane.scss | 2 ++ .../dnn-rm-files-pane/dnn-rm-files-pane.tsx | 3 +- .../components/dnn-rm-files-pane/readme.md | 5 +++ .../dnn-rm-folder-list-item.tsx | 12 +++++-- .../dnn-rm-folder-list.scss | 2 +- .../dnn-rm-folder-list/dnn-rm-folder-list.tsx | 6 ++++ .../dnn-rm-items-listview.scss | 20 +++++++++++ .../dnn-rm-items-listview.tsx | 36 +++++++++++++++++++ .../dnn-rm-items-listview/readme.md | 23 ++++++++++++ .../components/dnn-rm-right-pane/readme.md | 1 + .../src/services/ItemsClient.ts | 2 +- .../ResourceManager.Web/src/store/store.ts | 5 +-- yarn.lock | 10 +++--- 16 files changed, 129 insertions(+), 14 deletions(-) create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-listview/dnn-rm-items-listview.scss create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-listview/dnn-rm-items-listview.tsx create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-listview/readme.md diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json index 460bf5bdfb8..a1e1a3342a9 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json @@ -29,7 +29,7 @@ }, "license": "MIT", "devDependencies": { - "@dnncommunity/dnn-elements": "0.14.0-beta.8", + "@dnncommunity/dnn-elements": "0.14.0-beta.12", "@stencil/sass": "^1.5.2", "@stencil/store": "^1.5.0" } diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components.d.ts b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components.d.ts index 29849cfc797..a213584269f 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components.d.ts +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components.d.ts @@ -26,6 +26,8 @@ export namespace Components { */ "folder": FolderTreeItem; } + interface DnnRmItemsListview { + } interface DnnRmLeftPane { } interface DnnRmRightPane { @@ -66,6 +68,12 @@ declare global { prototype: HTMLDnnRmFolderListItemElement; new (): HTMLDnnRmFolderListItemElement; }; + interface HTMLDnnRmItemsListviewElement extends Components.DnnRmItemsListview, HTMLStencilElement { + } + var HTMLDnnRmItemsListviewElement: { + prototype: HTMLDnnRmItemsListviewElement; + new (): HTMLDnnRmItemsListviewElement; + }; interface HTMLDnnRmLeftPaneElement extends Components.DnnRmLeftPane, HTMLStencilElement { } var HTMLDnnRmLeftPaneElement: { @@ -96,6 +104,7 @@ declare global { "dnn-rm-files-pane": HTMLDnnRmFilesPaneElement; "dnn-rm-folder-list": HTMLDnnRmFolderListElement; "dnn-rm-folder-list-item": HTMLDnnRmFolderListItemElement; + "dnn-rm-items-listview": HTMLDnnRmItemsListviewElement; "dnn-rm-left-pane": HTMLDnnRmLeftPaneElement; "dnn-rm-right-pane": HTMLDnnRmRightPaneElement; "dnn-rm-status-bar": HTMLDnnRmStatusBarElement; @@ -122,6 +131,8 @@ declare namespace LocalJSX { */ "folder": FolderTreeItem; } + interface DnnRmItemsListview { + } interface DnnRmLeftPane { } interface DnnRmRightPane { @@ -136,6 +147,7 @@ declare namespace LocalJSX { "dnn-rm-files-pane": DnnRmFilesPane; "dnn-rm-folder-list": DnnRmFolderList; "dnn-rm-folder-list-item": DnnRmFolderListItem; + "dnn-rm-items-listview": DnnRmItemsListview; "dnn-rm-left-pane": DnnRmLeftPane; "dnn-rm-right-pane": DnnRmRightPane; "dnn-rm-status-bar": DnnRmStatusBar; @@ -151,6 +163,7 @@ declare module "@stencil/core" { "dnn-rm-files-pane": LocalJSX.DnnRmFilesPane & JSXBase.HTMLAttributes; "dnn-rm-folder-list": LocalJSX.DnnRmFolderList & JSXBase.HTMLAttributes; "dnn-rm-folder-list-item": LocalJSX.DnnRmFolderListItem & JSXBase.HTMLAttributes; + "dnn-rm-items-listview": LocalJSX.DnnRmItemsListview & JSXBase.HTMLAttributes; "dnn-rm-left-pane": LocalJSX.DnnRmLeftPane & JSXBase.HTMLAttributes; "dnn-rm-right-pane": LocalJSX.DnnRmRightPane & JSXBase.HTMLAttributes; "dnn-rm-status-bar": LocalJSX.DnnRmStatusBar & JSXBase.HTMLAttributes; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/readme.md index 00da909b7ab..5cc12c3780b 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/readme.md +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/readme.md @@ -38,6 +38,7 @@ graph TD; dnn-rm-right-pane --> dnn-rm-files-pane dnn-rm-right-pane --> dnn-rm-status-bar dnn-rm-actions-bar --> dnn-vertical-overflow-menu + dnn-rm-files-pane --> dnn-rm-items-listview style dnn-resource-manager fill:#f9f,stroke:#333,stroke-width:4px ``` diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.scss index 5d4e87f30f6..a2220346dc0 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.scss +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.scss @@ -1,3 +1,5 @@ :host { display: block; + margin-left: 24px; + overflow-y: auto; } diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.tsx index 4b584882c1c..d82177622ae 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.tsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.tsx @@ -1,5 +1,4 @@ import { Component, Host, h } from '@stencil/core'; - @Component({ tag: 'dnn-rm-files-pane', styleUrl: 'dnn-rm-files-pane.scss', @@ -10,7 +9,7 @@ export class DnnRmFilesPane { render() { return ( - I am the files pane + ); } diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/readme.md index 0b29ae3cefc..7d764f498c2 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/readme.md +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/readme.md @@ -11,9 +11,14 @@ - [dnn-rm-right-pane](../dnn-rm-right-pane) +### Depends on + +- [dnn-rm-items-listview](../dnn-rm-items-listview) + ### Graph ```mermaid graph TD; + dnn-rm-files-pane --> dnn-rm-items-listview dnn-rm-right-pane --> dnn-rm-files-pane style dnn-rm-files-pane fill:#f9f,stroke:#333,stroke-width:4px ``` diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/dnn-rm-folder-list-item.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/dnn-rm-folder-list-item.tsx index 083f24b2793..1efd3ca8633 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/dnn-rm-folder-list-item.tsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/dnn-rm-folder-list-item.tsx @@ -52,6 +52,12 @@ export class DnnRmFolderListItem { .catch(error => console.error(error)); }; + private handleFolderClicked(): void { + this.itemsClient.getFolderContent(Number.parseInt(this.folder.data.key)) + .then(data => state.currentItems = data) + .catch(error => console.error(error)); + } + render() { return ( @@ -59,7 +65,10 @@ export class DnnRmFolderListItem { this.handleUserExpanded()}> - +
    + +
    ); } - } diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.tsx index d82177622ae..2783ad9e91b 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.tsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.tsx @@ -1,4 +1,5 @@ import { Component, Host, h } from '@stencil/core'; +import state from '../../store/store'; @Component({ tag: 'dnn-rm-files-pane', styleUrl: 'dnn-rm-files-pane.scss', @@ -9,7 +10,12 @@ export class DnnRmFilesPane { render() { return ( - + {state.layout == "list" && + + } + {state.layout == "card" && + + } ); } diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/dnn-rm-items-cardview.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/dnn-rm-items-cardview.scss new file mode 100644 index 00000000000..9f84a6698de --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/dnn-rm-items-cardview.scss @@ -0,0 +1,27 @@ +:host { + display: block; +} +.container{ + display: flex; + gap: 1em; + margin-top: 1em; + flex-wrap: wrap; + .card{ + cursor: pointer; + display: flex; + flex-direction: column; + align-items: center; + gap: 0.25em; + border: none; + background-color: transparent; + transition: all 150ms ease-in-out; + max-width: 110px; + &:hover, &:focus{ + transform: scale(1.05); + } + img{ + width: 110px; + max-height: 110px; + } + } +} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/dnn-rm-items-cardview.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/dnn-rm-items-cardview.tsx new file mode 100644 index 00000000000..4aa3e5f70b3 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/dnn-rm-items-cardview.tsx @@ -0,0 +1,32 @@ +import { Component, Host, h } from '@stencil/core'; +import state from '../../store/store'; + +@Component({ + tag: 'dnn-rm-items-cardview', + styleUrl: 'dnn-rm-items-cardview.scss', + shadow: true, +}) +export class DnnRmItemsCardview { + + render() { + return ( + + {state.currentItems && +
    + {state.currentItems.items?.map(item => + + )} +
    + } +
    + ); + } +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/readme.md new file mode 100644 index 00000000000..ec5ecb050f1 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/readme.md @@ -0,0 +1,10 @@ +# dnn-rm-items-cardview + + + + + + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/services/ItemsClient.ts b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/services/ItemsClient.ts index 23f6b57ac66..96350875627 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/services/ItemsClient.ts +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/services/ItemsClient.ts @@ -84,8 +84,18 @@ export interface FolderInfo{ } export interface Item{ + /** The file icon (not the image thumbnail) */ iconUrl: string; + /** If true, the item is a folder and the itemId represents a folderId, if false then the item is a file and the id is the fileId. */ isFolder: boolean; + /** The folder or file id. */ itemId: number; + /** The folder or file name. */ itemName: string; + /** The relative url to the file (no present on folders) */ + path?: string; + /** If true, a thumbnail is available for this item. */ + thumbnailAvailable?: boolean | undefined; + /** The relative url to the item thumbnail. */ + thumbnailUrl?: string; } \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/store/store.ts b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/store/store.ts index 7d016d397ab..42bd0c401e1 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/store/store.ts +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/store/store.ts @@ -6,8 +6,10 @@ const { state } = createStore<{ moduleId: number; rootFolders?: GetFoldersResponse; currentItems?: GetFolderContentResponse; + layout: "list" | "card"; }>({ moduleId: -1, + layout: "list", }); export default state; \ No newline at end of file From 223f4e9d933c8b8910b5016c11d212291a678a94 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 20 Feb 2022 21:15:44 -0500 Subject: [PATCH 16/85] Replaced png folder icons for svg icons --- .../Images/icon-asset-manager-azure-folder.png | Bin 511 -> 0 bytes .../Images/icon-asset-manager-azure-folder.svg | 12 ++++++++++++ .../Images/icon-asset-manager-database-folder.png | Bin 468 -> 0 bytes .../Images/icon-asset-manager-database-folder.svg | 11 +++++++++++ .../Images/icon-asset-manager-secure-folder.png | Bin 292 -> 0 bytes .../Images/icon-asset-manager-secure-folder.svg | 8 ++++++++ .../Images/icon-asset-manager-standard-folder.png | Bin 176 -> 0 bytes .../Images/icon-asset-manager-standard-folder.svg | 3 +++ 8 files changed, 34 insertions(+) delete mode 100644 DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-azure-folder.png create mode 100644 DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-azure-folder.svg delete mode 100644 DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-database-folder.png create mode 100644 DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-database-folder.svg delete mode 100644 DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-secure-folder.png create mode 100644 DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-secure-folder.svg delete mode 100644 DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-standard-folder.png create mode 100644 DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-standard-folder.svg diff --git a/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-azure-folder.png b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-azure-folder.png deleted file mode 100644 index bb623f5b9798127467583bb88a524666185b83d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 511 zcmV+_P#6=e$!NsQ#^a&gU zHy=Pj1qWT6+NRY~2VJD%Cqn(g^hVo|ejd*aNl9*QQA&F-kU#v%&Amf@x%ZrNPXzi? z8@(8z6!b3xoeBad*9STg1W>L!^k@)3xr*qKAb>hy@Hi|F5_G5vK||0%seyOav(bVp z)`XKc6Sf`0fJ)mocWD-g?6Ac|J( zr`!84M4-zTI!xtQ7bfb0;)+V<-Qxo)(3t%}C8K$O#wDP#9VG*eXN4V0Yd%mJAU&um z2l;oPV?6+3Jz`W0g}t&F)=`fZ3Jj((>r;6hl6hvCzt0zRYn_jiIp$fj#`aVFY|tIO zlktj>-C~R?l6c)M6DE@wcZ#GuIn_WcRbZq)Y9a3h!c(lr2Ky8zO&Ym$} z+=(&jyE@Yv{S|7qJ8<*egyUBewy`tXDAiyUyQ8I|-o0YQBj?HIBp_K+@|*6fEy!yP z{E<3r-qx_i(_scrVFJrjoVv{mJNytd1eJpZ!aukY-tb-C&Wr#6002ovPDHLkV1n^L B-*x~1 diff --git a/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-azure-folder.svg b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-azure-folder.svg new file mode 100644 index 00000000000..192add01da5 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-azure-folder.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-database-folder.png b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-database-folder.png deleted file mode 100644 index cd409e1a308ef922f0af60b8a45bbafa0572218c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 468 zcmV;_0W1EAP)t%#DHKq&H2HhRjf$OpC5AJaJl!~;e*^8k{a%duUv1nA_MnF zmg`joP{wDj7ZpGmAGw}Y0A;-AdQt)Ov zsMqTvvu2+@=cIz_x-P)}66d6X&So=cnsybEKIf$GXqu*2uh;NA57X%swrz{dntl4x zcXTqDAPhqskH?EX`}8>{74-CYc|5&dPaMy9JQkVt>9{DVpq)2t0W z$8?LNf-aX!v|6pJfb=;h{e^!x9I)MP5d;BT*M;LaBC}?nzVsKqWm(v4HpsH<@~>*% zr_Z@k>?n`LFbwqjeGG>~ky*1}iXBzv>q(jK(dt*E0xbYk34H^hUfSvvYoS&E0000< KMNUMnLSTXvHrdwz diff --git a/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-database-folder.svg b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-database-folder.svg new file mode 100644 index 00000000000..8aebcab225e --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-database-folder.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-secure-folder.png b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-secure-folder.png deleted file mode 100644 index 1d0c0e7a85d5c3f631f45daeeee27887cb9a6c05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^T0pG8!3HE#B3{`7Db50q$YKTtZXpn6ymYtj4^Z%$ zr;B4q#NoHs47m;&h_F3)_wL>S;|fmxfJrOw-ZI_mP_;JZpk}bx!JU4wcb?4r@5uUc zfk?J+h5a9ad)0@{OEMf!f9kLm{m-L&-uBxJW|5so<%$}Vrr)UL3wR>4`!u6fE!*|2 zzr0_p5?tZHI!nr=#i928>_`!#f-Y!6$)~IK4kE8^>bP0l+XkK{0Vf) diff --git a/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-secure-folder.svg b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-secure-folder.svg new file mode 100644 index 00000000000..4adefda9037 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-secure-folder.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-standard-folder.png b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-standard-folder.png deleted file mode 100644 index 45a92f639d40459c4ee0a3048a8f22877dc27d61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^T0pG8!3HE#B3{`7Db50q$YKTtzQZ8Qcszea3Q#b~ z)5S3);_%x`8#x;cBwQYTd3pDM + + From b97a4f202945ef09bf2690813aef56618d39452e Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 20 Feb 2022 22:11:02 -0500 Subject: [PATCH 17/85] Implemented thumbnails in cardview --- .../components/dnn-rm-files-pane/dnn-rm-files-pane.scss | 2 +- .../dnn-rm-items-cardview/dnn-rm-items-cardview.scss | 7 +++++-- .../dnn-rm-items-cardview/dnn-rm-items-cardview.tsx | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.scss index a2220346dc0..6ef62fb2f88 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.scss +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.scss @@ -1,5 +1,5 @@ :host { display: block; - margin-left: 24px; + padding-left: 32px; overflow-y: auto; } diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/dnn-rm-items-cardview.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/dnn-rm-items-cardview.scss index 9f84a6698de..4be0c8146aa 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/dnn-rm-items-cardview.scss +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/dnn-rm-items-cardview.scss @@ -1,5 +1,6 @@ :host { display: block; + padding-right: 2em } .container{ display: flex; @@ -15,13 +16,15 @@ border: none; background-color: transparent; transition: all 150ms ease-in-out; - max-width: 110px; + width: calc(110px + 2em); + justify-content: flex-end; &:hover, &:focus{ - transform: scale(1.05); + transform: scale3d(1.1, 1.1, 1.1); } img{ width: 110px; max-height: 110px; + margin: auto; } } } \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/dnn-rm-items-cardview.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/dnn-rm-items-cardview.tsx index 4aa3e5f70b3..9757f982060 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/dnn-rm-items-cardview.tsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/dnn-rm-items-cardview.tsx @@ -16,7 +16,7 @@ export class DnnRmItemsCardview { {state.currentItems.items?.map(item =>