@webiny/app-aco 5.36.0-beta.1 → 5.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +9 -9
- package/components/Tree/ButtonCreate/index.d.ts +0 -6
- package/components/Tree/ButtonCreate/index.js +0 -23
- package/components/Tree/ButtonCreate/index.js.map +0 -1
- package/components/Tree/ButtonCreate/styled.d.ts +0 -18
- package/components/Tree/ButtonCreate/styled.js +0 -24
- package/components/Tree/ButtonCreate/styled.js.map +0 -1
- package/components/Tree/Empty/index.d.ts +0 -2
- package/components/Tree/Empty/index.js +0 -20
- package/components/Tree/Empty/index.js.map +0 -1
- package/components/Tree/Empty/styled.d.ts +0 -7
- package/components/Tree/Empty/styled.js +0 -13
- package/components/Tree/Empty/styled.js.map +0 -1
- package/components/Tree/List/constants.d.ts +0 -1
- package/components/Tree/List/constants.js +0 -8
- package/components/Tree/List/constants.js.map +0 -1
- package/components/Tree/List/index.d.ts +0 -15
- package/components/Tree/List/index.js +0 -194
- package/components/Tree/List/index.js.map +0 -1
- package/components/Tree/List/utils.d.ts +0 -21
- package/components/Tree/List/utils.js +0 -88
- package/components/Tree/List/utils.js.map +0 -1
- package/components/Tree/Loader/index.d.ts +0 -2
- package/components/Tree/Loader/index.js +0 -20
- package/components/Tree/Loader/index.js.map +0 -1
- package/components/Tree/Loader/styled.d.ts +0 -11
- package/components/Tree/Loader/styled.js +0 -18
- package/components/Tree/Loader/styled.js.map +0 -1
- package/components/Tree/MenuActions/index.d.ts +0 -9
- package/components/Tree/MenuActions/index.js +0 -45
- package/components/Tree/MenuActions/index.js.map +0 -1
- package/components/Tree/MenuActions/styled.d.ts +0 -10
- package/components/Tree/MenuActions/styled.js +0 -19
- package/components/Tree/MenuActions/styled.js.map +0 -1
- package/components/Tree/Node/index.d.ts +0 -21
- package/components/Tree/Node/index.js +0 -68
- package/components/Tree/Node/index.js.map +0 -1
- package/components/Tree/Node/styled.d.ts +0 -43
- package/components/Tree/Node/styled.js +0 -43
- package/components/Tree/Node/styled.js.map +0 -1
- package/components/Tree/NodePreview/index.d.ts +0 -8
- package/components/Tree/NodePreview/index.js +0 -18
- package/components/Tree/NodePreview/index.js.map +0 -1
- package/components/Tree/NodePreview/styled.d.ts +0 -7
- package/components/Tree/NodePreview/styled.js +0 -13
- package/components/Tree/NodePreview/styled.js.map +0 -1
- package/components/Tree/Placeholder/index.d.ts +0 -9
- package/components/Tree/Placeholder/index.js +0 -21
- package/components/Tree/Placeholder/index.js.map +0 -1
- package/components/Tree/Placeholder/styled.d.ts +0 -7
- package/components/Tree/Placeholder/styled.js +0 -13
- package/components/Tree/Placeholder/styled.js.map +0 -1
- package/components/Tree/Title/index.d.ts +0 -9
- package/components/Tree/Title/index.js +0 -24
- package/components/Tree/Title/index.js.map +0 -1
- package/components/Tree/Title/styled.d.ts +0 -16
- package/components/Tree/Title/styled.js +0 -24
- package/components/Tree/Title/styled.js.map +0 -1
- package/components/Tree/index.d.ts +0 -16
- package/components/Tree/index.js +0 -84
- package/components/Tree/index.js.map +0 -1
- package/components/Tree/styled.d.ts +0 -7
- package/components/Tree/styled.js +0 -13
- package/components/Tree/styled.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/app-aco",
|
|
3
|
-
"version": "5.36.0
|
|
3
|
+
"version": "5.36.0",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
"@material-design-icons/svg": "0.12.1",
|
|
18
18
|
"@material-symbols/svg-400": "0.4.3",
|
|
19
19
|
"@minoru/react-dnd-treeview": "3.2.1",
|
|
20
|
-
"@webiny/app": "5.36.0
|
|
21
|
-
"@webiny/app-admin": "5.36.0
|
|
22
|
-
"@webiny/form": "5.36.0
|
|
23
|
-
"@webiny/ui": "5.36.0
|
|
24
|
-
"@webiny/validation": "5.36.0
|
|
20
|
+
"@webiny/app": "5.36.0",
|
|
21
|
+
"@webiny/app-admin": "5.36.0",
|
|
22
|
+
"@webiny/form": "5.36.0",
|
|
23
|
+
"@webiny/ui": "5.36.0",
|
|
24
|
+
"@webiny/validation": "5.36.0",
|
|
25
25
|
"graphql": "15.8.0",
|
|
26
26
|
"graphql-tag": "2.12.6",
|
|
27
27
|
"lodash": "4.17.21",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"@babel/preset-typescript": "7.18.6",
|
|
40
40
|
"@babel/runtime": "7.20.13",
|
|
41
41
|
"@types/react": "17.0.39",
|
|
42
|
-
"@webiny/cli": "5.36.0
|
|
43
|
-
"@webiny/project-utils": "5.36.0
|
|
42
|
+
"@webiny/cli": "5.36.0",
|
|
43
|
+
"@webiny/project-utils": "5.36.0",
|
|
44
44
|
"apollo-client": "2.6.10",
|
|
45
45
|
"apollo-link": "1.2.14",
|
|
46
46
|
"rimraf": "3.0.2",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"build": "yarn webiny run build",
|
|
56
56
|
"watch": "yarn webiny run watch"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "5c435f437b9f0fe8b4dbf65528aed985ee8d0ff1"
|
|
59
59
|
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.CreateButton = void 0;
|
|
8
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var _i18n = require("@webiny/app/i18n");
|
|
11
|
-
var _Typography = require("@webiny/ui/Typography");
|
|
12
|
-
var _styled = require("./styled");
|
|
13
|
-
var _templateObject;
|
|
14
|
-
var t = _i18n.i18n.ns("app-aco/components/tree/button-create");
|
|
15
|
-
var CreateButton = function CreateButton(_ref) {
|
|
16
|
-
var onClick = _ref.onClick;
|
|
17
|
-
return /*#__PURE__*/_react.default.createElement(_styled.Button, {
|
|
18
|
-
onClick: onClick
|
|
19
|
-
}, /*#__PURE__*/_react.default.createElement(_styled.IconContainer, null, /*#__PURE__*/_react.default.createElement(_styled.Icon, null)), /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
20
|
-
use: "subtitle2"
|
|
21
|
-
}, t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Create new folder"])))));
|
|
22
|
-
};
|
|
23
|
-
exports.CreateButton = CreateButton;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","ns","CreateButton","onClick"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nimport { Button, Icon, IconContainer } from \"./styled\";\n\ntype Props = {\n onClick: () => void;\n};\n\nconst t = i18n.ns(\"app-aco/components/tree/button-create\");\n\nexport const CreateButton: React.FC<Props> = ({ onClick }) => {\n return (\n <Button onClick={onClick}>\n <IconContainer>\n <Icon />\n </IconContainer>\n <Typography use={\"subtitle2\"}>{t`Create new folder`}</Typography>\n </Button>\n );\n};\n"],"mappings":";;;;;;;;AAAA;AAEA;AACA;AAEA;AAAuD;AAMvD,IAAMA,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,uCAAuC,CAAC;AAEnD,IAAMC,YAA6B,GAAG,SAAhCA,YAA6B,OAAoB;EAAA,IAAdC,OAAO,QAAPA,OAAO;EACnD,oBACI,6BAAC,cAAM;IAAC,OAAO,EAAEA;EAAQ,gBACrB,6BAAC,qBAAa,qBACV,6BAAC,YAAI,OAAG,CACI,eAChB,6BAAC,sBAAU;IAAC,GAAG,EAAE;EAAY,GAAEJ,CAAC,qGAAiC,CAC5D;AAEjB,CAAC;AAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
/// <reference types="react" />
|
|
3
|
-
/// <reference types="web" />
|
|
4
|
-
export declare const Button: import("@emotion/styled").StyledComponent<{
|
|
5
|
-
theme?: import("@emotion/react").Theme | undefined;
|
|
6
|
-
as?: import("react").ElementType<any> | undefined;
|
|
7
|
-
}, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
|
|
8
|
-
export declare const IconContainer: import("@emotion/styled").StyledComponent<{
|
|
9
|
-
theme?: import("@emotion/react").Theme | undefined;
|
|
10
|
-
as?: import("react").ElementType<any> | undefined;
|
|
11
|
-
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
12
|
-
export declare const Icon: import("@emotion/styled").StyledComponent<import("react").SVGProps<SVGSVGElement> & {
|
|
13
|
-
alt?: string | undefined;
|
|
14
|
-
} & {
|
|
15
|
-
children?: import("react").ReactNode;
|
|
16
|
-
} & {
|
|
17
|
-
theme?: import("@emotion/react").Theme | undefined;
|
|
18
|
-
}, {}, {}>;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.IconContainer = exports.Icon = exports.Button = void 0;
|
|
8
|
-
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
9
|
-
var _add_circle_outline = require("@material-design-icons/svg/outlined/add_circle_outline.svg");
|
|
10
|
-
var Button = /*#__PURE__*/(0, _styled.default)("button", {
|
|
11
|
-
label: "Button",
|
|
12
|
-
target: "e14jl0o30"
|
|
13
|
-
})("background:none;border:none;cursor:pointer;outline:none;font-family:var(--mdc-typography-font-family);color:var(--webiny-theme-color-text-secondary);fill:currentColor;display:flex;align-items:center;font-size:1em;padding:8px;");
|
|
14
|
-
exports.Button = Button;
|
|
15
|
-
var IconContainer = /*#__PURE__*/(0, _styled.default)("div", {
|
|
16
|
-
label: "IconContainer",
|
|
17
|
-
target: "e14jl0o31"
|
|
18
|
-
})("display:flex;align-items:center;justify-content:center;");
|
|
19
|
-
exports.IconContainer = IconContainer;
|
|
20
|
-
var Icon = /*#__PURE__*/(0, _styled.default)(_add_circle_outline.ReactComponent, {
|
|
21
|
-
label: "Icon",
|
|
22
|
-
target: "e14jl0o32"
|
|
23
|
-
})("padding:0 4px;height:16px;width:16px;");
|
|
24
|
-
exports.Icon = Icon;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Button","styled","IconContainer","Icon","Plus"],"sources":["styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { ReactComponent as Plus } from \"@material-design-icons/svg/outlined/add_circle_outline.svg\";\n\nexport const Button = styled(\"button\")`\n background: none;\n border: none;\n cursor: pointer;\n outline: none;\n font-family: var(--mdc-typography-font-family);\n color: var(--webiny-theme-color-text-secondary);\n fill: currentColor;\n display: flex;\n align-items: center;\n font-size: 1em;\n padding: 8px;\n`;\n\nexport const IconContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const Icon = styled(Plus)`\n padding: 0 4px;\n height: 16px;\n width: 16px;\n`;\n"],"mappings":";;;;;;;AAAA;AACA;AAEO,IAAMA,MAAM,oBAAGC,eAAM,EAAC,QAAQ;EAAA;EAAA;AAAA,uOAYpC;AAAC;AAEK,IAAMC,aAAa,oBAAGD,eAAM;EAAA;EAAA;AAAA,6DAIlC;AAAC;AAEK,IAAME,IAAI,oBAAGF,eAAM,EAACG,kCAAI;EAAA;EAAA;AAAA,2CAI9B;AAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.Empty = void 0;
|
|
8
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var _i18n = require("@webiny/app/i18n");
|
|
11
|
-
var _styled = require("./styled");
|
|
12
|
-
var _Typography = require("@webiny/ui/Typography");
|
|
13
|
-
var _templateObject;
|
|
14
|
-
var t = _i18n.i18n.ns("app-aco/components/tree/empty");
|
|
15
|
-
var Empty = function Empty() {
|
|
16
|
-
return /*#__PURE__*/_react.default.createElement(_styled.Container, null, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
17
|
-
use: "body2"
|
|
18
|
-
}, t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["No folders found..."])))));
|
|
19
|
-
};
|
|
20
|
-
exports.Empty = Empty;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","ns","Empty"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { i18n } from \"@webiny/app/i18n\";\n\nimport { Container } from \"./styled\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nconst t = i18n.ns(\"app-aco/components/tree/empty\");\n\nexport const Empty = () => {\n return (\n <Container>\n <Typography use={\"body2\"}>{t`No folders found...`}</Typography>\n </Container>\n );\n};\n"],"mappings":";;;;;;;;AAAA;AAEA;AAEA;AACA;AAAmD;AAEnD,IAAMA,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,+BAA+B,CAAC;AAE3C,IAAMC,KAAK,GAAG,SAARA,KAAK,GAAS;EACvB,oBACI,6BAAC,iBAAS,qBACN,6BAAC,sBAAU;IAAC,GAAG,EAAE;EAAQ,GAAEH,CAAC,uGAAmC,CACvD;AAEpB,CAAC;AAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
/// <reference types="react" />
|
|
3
|
-
/// <reference types="web" />
|
|
4
|
-
export declare const Container: import("@emotion/styled").StyledComponent<{
|
|
5
|
-
theme?: import("@emotion/react").Theme | undefined;
|
|
6
|
-
as?: import("react").ElementType<any> | undefined;
|
|
7
|
-
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.Container = void 0;
|
|
8
|
-
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
9
|
-
var Container = /*#__PURE__*/(0, _styled.default)("div", {
|
|
10
|
-
label: "Container",
|
|
11
|
-
target: "eb2d1ox0"
|
|
12
|
-
})("padding:48px 12px 8px;color:var(--webiny-theme-color-text-secondary);fill:currentColor;");
|
|
13
|
-
exports.Container = Container;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Container","styled"],"sources":["styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\n\nexport const Container = styled(\"div\")`\n padding: 48px 12px 8px;\n color: var(--webiny-theme-color-text-secondary);\n fill: currentColor;\n`;\n"],"mappings":";;;;;;;AAAA;AAEO,IAAMA,SAAS,oBAAGC,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,6FAIpC;AAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const ROOT_ID = "root";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["ROOT_ID"],"sources":["constants.ts"],"sourcesContent":["export const ROOT_ID = \"root\";\n"],"mappings":";;;;;;AAAO,IAAMA,OAAO,GAAG,MAAM;AAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { NodeModel } from "@minoru/react-dnd-treeview";
|
|
3
|
-
import { DndItemData, FolderItem } from "../../../types";
|
|
4
|
-
declare type Props = {
|
|
5
|
-
type: string;
|
|
6
|
-
folders: FolderItem[];
|
|
7
|
-
focusedFolderId?: string;
|
|
8
|
-
hiddenFolderIds?: string[];
|
|
9
|
-
enableActions?: boolean;
|
|
10
|
-
onFolderClick: (data: NodeModel<DndItemData>["data"]) => void;
|
|
11
|
-
onDragStart: () => void;
|
|
12
|
-
onDragEnd: () => void;
|
|
13
|
-
};
|
|
14
|
-
export declare const List: ({ type, folders, onFolderClick, focusedFolderId, hiddenFolderIds, enableActions, onDragStart, onDragEnd }: Props) => JSX.Element;
|
|
15
|
-
export {};
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.List = void 0;
|
|
9
|
-
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
10
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
12
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
14
|
-
var _reactDndTreeview = require("@minoru/react-dnd-treeview");
|
|
15
|
-
var _appAdmin = require("@webiny/app-admin");
|
|
16
|
-
var _reactDnd = require("react-dnd");
|
|
17
|
-
var _useDeepCompareEffect = _interopRequireDefault(require("use-deep-compare-effect"));
|
|
18
|
-
var _ = require("../..");
|
|
19
|
-
var _Node = require("../Node");
|
|
20
|
-
var _NodePreview = require("../NodePreview");
|
|
21
|
-
var _Placeholder = require("../Placeholder");
|
|
22
|
-
var _utils = require("./utils");
|
|
23
|
-
var _hooks = require("../../../hooks");
|
|
24
|
-
var _constants = require("./constants");
|
|
25
|
-
var List = function List(_ref) {
|
|
26
|
-
var type = _ref.type,
|
|
27
|
-
folders = _ref.folders,
|
|
28
|
-
onFolderClick = _ref.onFolderClick,
|
|
29
|
-
focusedFolderId = _ref.focusedFolderId,
|
|
30
|
-
hiddenFolderIds = _ref.hiddenFolderIds,
|
|
31
|
-
enableActions = _ref.enableActions,
|
|
32
|
-
onDragStart = _ref.onDragStart,
|
|
33
|
-
onDragEnd = _ref.onDragEnd;
|
|
34
|
-
var _useFolders = (0, _hooks.useFolders)(type),
|
|
35
|
-
updateFolder = _useFolders.updateFolder;
|
|
36
|
-
var _useSnackbar = (0, _appAdmin.useSnackbar)(),
|
|
37
|
-
showSnackbar = _useSnackbar.showSnackbar;
|
|
38
|
-
var _useState = (0, _react.useState)([]),
|
|
39
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
40
|
-
treeData = _useState2[0],
|
|
41
|
-
setTreeData = _useState2[1];
|
|
42
|
-
var _useState3 = (0, _react.useState)(undefined),
|
|
43
|
-
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
44
|
-
initialOpenList = _useState4[0],
|
|
45
|
-
setInitialOpenList = _useState4[1];
|
|
46
|
-
var _useState5 = (0, _react.useState)([]),
|
|
47
|
-
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
48
|
-
openFolderIds = _useState6[0],
|
|
49
|
-
setOpenFolderIds = _useState6[1];
|
|
50
|
-
var _useState7 = (0, _react.useState)(false),
|
|
51
|
-
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
52
|
-
updateDialogOpen = _useState8[0],
|
|
53
|
-
setUpdateDialogOpen = _useState8[1];
|
|
54
|
-
var _useState9 = (0, _react.useState)(false),
|
|
55
|
-
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
56
|
-
deleteDialogOpen = _useState10[0],
|
|
57
|
-
setDeleteDialogOpen = _useState10[1];
|
|
58
|
-
var _useState11 = (0, _react.useState)(),
|
|
59
|
-
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
60
|
-
selectedFolder = _useState12[0],
|
|
61
|
-
setSelectedFolder = _useState12[1];
|
|
62
|
-
(0, _useDeepCompareEffect.default)(function () {
|
|
63
|
-
if (folders) {
|
|
64
|
-
setTreeData((0, _utils.createTreeData)(folders, focusedFolderId, hiddenFolderIds));
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* We are spreading the `folders`:
|
|
69
|
-
* in case of folder value update (e.g. name) from any component within the UI does not trigger the tree data update.
|
|
70
|
-
* TODO: need investigation.
|
|
71
|
-
*/
|
|
72
|
-
}, [(0, _objectSpread2.default)({}, folders), focusedFolderId]);
|
|
73
|
-
(0, _react.useEffect)(function () {
|
|
74
|
-
if (folders) {
|
|
75
|
-
setInitialOpenList((0, _utils.createInitialOpenList)(folders, openFolderIds, focusedFolderId));
|
|
76
|
-
}
|
|
77
|
-
}, []);
|
|
78
|
-
var handleDrop = /*#__PURE__*/function () {
|
|
79
|
-
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(newTree, _ref2) {
|
|
80
|
-
var dragSourceId, dropTargetId, item;
|
|
81
|
-
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
82
|
-
while (1) switch (_context.prev = _context.next) {
|
|
83
|
-
case 0:
|
|
84
|
-
dragSourceId = _ref2.dragSourceId, dropTargetId = _ref2.dropTargetId;
|
|
85
|
-
_context.prev = 1;
|
|
86
|
-
item = folders.find(function (folder) {
|
|
87
|
-
return folder.id === dragSourceId;
|
|
88
|
-
});
|
|
89
|
-
if (item) {
|
|
90
|
-
_context.next = 5;
|
|
91
|
-
break;
|
|
92
|
-
}
|
|
93
|
-
throw new Error("Folder not found");
|
|
94
|
-
case 5:
|
|
95
|
-
setTreeData(newTree);
|
|
96
|
-
_context.next = 8;
|
|
97
|
-
return updateFolder((0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
|
|
98
|
-
parentId: dropTargetId !== _constants.ROOT_ID ? dropTargetId : null
|
|
99
|
-
}));
|
|
100
|
-
case 8:
|
|
101
|
-
_context.next = 13;
|
|
102
|
-
break;
|
|
103
|
-
case 10:
|
|
104
|
-
_context.prev = 10;
|
|
105
|
-
_context.t0 = _context["catch"](1);
|
|
106
|
-
return _context.abrupt("return", showSnackbar(_context.t0.message));
|
|
107
|
-
case 13:
|
|
108
|
-
case "end":
|
|
109
|
-
return _context.stop();
|
|
110
|
-
}
|
|
111
|
-
}, _callee, null, [[1, 10]]);
|
|
112
|
-
}));
|
|
113
|
-
return function handleDrop(_x, _x2) {
|
|
114
|
-
return _ref3.apply(this, arguments);
|
|
115
|
-
};
|
|
116
|
-
}();
|
|
117
|
-
var sort = function sort(a, b) {
|
|
118
|
-
return a.data.title.localeCompare(b.data.title, undefined, {
|
|
119
|
-
numeric: true
|
|
120
|
-
});
|
|
121
|
-
};
|
|
122
|
-
var handleChangeOpen = function handleChangeOpen(folderIds) {
|
|
123
|
-
setOpenFolderIds(folderIds);
|
|
124
|
-
};
|
|
125
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactDnd.DndProvider, {
|
|
126
|
-
backend: _reactDndTreeview.MultiBackend,
|
|
127
|
-
options: (0, _reactDndTreeview.getBackendOptions)()
|
|
128
|
-
}, /*#__PURE__*/_react.default.createElement(_reactDndTreeview.Tree, {
|
|
129
|
-
tree: treeData,
|
|
130
|
-
rootId: _constants.ROOT_ID,
|
|
131
|
-
onDrop: handleDrop,
|
|
132
|
-
onChangeOpen: handleChangeOpen,
|
|
133
|
-
onDragStart: onDragStart,
|
|
134
|
-
onDragEnd: onDragEnd,
|
|
135
|
-
sort: sort,
|
|
136
|
-
render: function render(node, _ref4) {
|
|
137
|
-
var depth = _ref4.depth,
|
|
138
|
-
isOpen = _ref4.isOpen,
|
|
139
|
-
onToggle = _ref4.onToggle;
|
|
140
|
-
return /*#__PURE__*/_react.default.createElement(_Node.Node, {
|
|
141
|
-
node: node,
|
|
142
|
-
depth: depth,
|
|
143
|
-
isOpen: isOpen,
|
|
144
|
-
enableActions: enableActions,
|
|
145
|
-
onToggle: onToggle,
|
|
146
|
-
onClick: function onClick(data) {
|
|
147
|
-
return onFolderClick(data);
|
|
148
|
-
},
|
|
149
|
-
onUpdateFolder: function onUpdateFolder(data) {
|
|
150
|
-
setSelectedFolder(data);
|
|
151
|
-
setUpdateDialogOpen(true);
|
|
152
|
-
},
|
|
153
|
-
onDeleteFolder: function onDeleteFolder(data) {
|
|
154
|
-
setSelectedFolder(data);
|
|
155
|
-
setDeleteDialogOpen(true);
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
},
|
|
159
|
-
dragPreviewRender: function dragPreviewRender(monitorProps) {
|
|
160
|
-
return /*#__PURE__*/_react.default.createElement(_NodePreview.NodePreview, {
|
|
161
|
-
monitorProps: monitorProps
|
|
162
|
-
});
|
|
163
|
-
},
|
|
164
|
-
classes: {
|
|
165
|
-
root: "treeRoot",
|
|
166
|
-
dropTarget: "dropTarget",
|
|
167
|
-
draggingSource: "draggingSource",
|
|
168
|
-
placeholder: "placeholderContainer"
|
|
169
|
-
},
|
|
170
|
-
initialOpen: initialOpenList,
|
|
171
|
-
placeholderRender: function placeholderRender(node, _ref5) {
|
|
172
|
-
var depth = _ref5.depth;
|
|
173
|
-
return /*#__PURE__*/_react.default.createElement(_Placeholder.Placeholder, {
|
|
174
|
-
node: node,
|
|
175
|
-
depth: depth
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
})), selectedFolder && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_.FolderDialogUpdate, {
|
|
179
|
-
folder: selectedFolder,
|
|
180
|
-
open: updateDialogOpen,
|
|
181
|
-
onClose: function onClose() {
|
|
182
|
-
setUpdateDialogOpen(false);
|
|
183
|
-
setSelectedFolder(undefined);
|
|
184
|
-
}
|
|
185
|
-
}), /*#__PURE__*/_react.default.createElement(_.FolderDialogDelete, {
|
|
186
|
-
folder: selectedFolder,
|
|
187
|
-
open: deleteDialogOpen,
|
|
188
|
-
onClose: function onClose() {
|
|
189
|
-
setDeleteDialogOpen(false);
|
|
190
|
-
setSelectedFolder(undefined);
|
|
191
|
-
}
|
|
192
|
-
})));
|
|
193
|
-
};
|
|
194
|
-
exports.List = List;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["List","type","folders","onFolderClick","focusedFolderId","hiddenFolderIds","enableActions","onDragStart","onDragEnd","useFolders","updateFolder","useSnackbar","showSnackbar","useState","treeData","setTreeData","undefined","initialOpenList","setInitialOpenList","openFolderIds","setOpenFolderIds","updateDialogOpen","setUpdateDialogOpen","deleteDialogOpen","setDeleteDialogOpen","selectedFolder","setSelectedFolder","useDeepCompareEffect","createTreeData","useEffect","createInitialOpenList","handleDrop","newTree","dragSourceId","dropTargetId","item","find","folder","id","Error","parentId","ROOT_ID","message","sort","a","b","data","title","localeCompare","numeric","handleChangeOpen","folderIds","MultiBackend","getBackendOptions","node","depth","isOpen","onToggle","monitorProps","root","dropTarget","draggingSource","placeholder"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nimport {\n DropOptions,\n getBackendOptions,\n InitialOpen,\n MultiBackend,\n NodeModel,\n Tree\n} from \"@minoru/react-dnd-treeview\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { DndProvider } from \"react-dnd\";\nimport useDeepCompareEffect from \"use-deep-compare-effect\";\n\nimport { FolderDialogDelete, FolderDialogUpdate } from \"~/components\";\nimport { Node } from \"~/components/Tree/Node\";\nimport { NodePreview } from \"~/components/Tree/NodePreview\";\nimport { Placeholder } from \"~/components/Tree/Placeholder\";\n\nimport { createTreeData, createInitialOpenList } from \"./utils\";\n\nimport { useFolders } from \"~/hooks\";\n\nimport { ROOT_ID } from \"./constants\";\n\nimport { DndItemData, FolderItem } from \"~/types\";\n\ntype Props = {\n type: string;\n folders: FolderItem[];\n focusedFolderId?: string;\n hiddenFolderIds?: string[];\n enableActions?: boolean;\n onFolderClick: (data: NodeModel<DndItemData>[\"data\"]) => void;\n onDragStart: () => void;\n onDragEnd: () => void;\n};\n\nexport const List = ({\n type,\n folders,\n onFolderClick,\n focusedFolderId,\n hiddenFolderIds,\n enableActions,\n onDragStart,\n onDragEnd\n}: Props) => {\n const { updateFolder } = useFolders(type);\n const { showSnackbar } = useSnackbar();\n const [treeData, setTreeData] = useState<NodeModel<DndItemData>[]>([]);\n const [initialOpenList, setInitialOpenList] = useState<undefined | InitialOpen>(undefined);\n const [openFolderIds, setOpenFolderIds] = useState<NodeModel<DndItemData>[\"id\"][]>([]);\n const [updateDialogOpen, setUpdateDialogOpen] = useState<boolean>(false);\n const [deleteDialogOpen, setDeleteDialogOpen] = useState<boolean>(false);\n const [selectedFolder, setSelectedFolder] = useState<FolderItem>();\n\n useDeepCompareEffect(() => {\n if (folders) {\n setTreeData(createTreeData(folders, focusedFolderId, hiddenFolderIds));\n }\n\n /**\n * We are spreading the `folders`:\n * in case of folder value update (e.g. name) from any component within the UI does not trigger the tree data update.\n * TODO: need investigation.\n */\n }, [{ ...folders }, focusedFolderId]);\n\n useEffect(() => {\n if (folders) {\n setInitialOpenList(createInitialOpenList(folders, openFolderIds, focusedFolderId));\n }\n }, []);\n\n const handleDrop = async (\n newTree: NodeModel<DndItemData>[],\n { dragSourceId, dropTargetId }: DropOptions\n ) => {\n try {\n const item = folders.find(folder => folder.id === dragSourceId);\n\n if (!item) {\n throw new Error(\"Folder not found\");\n }\n\n setTreeData(newTree);\n await updateFolder({\n ...item,\n parentId: dropTargetId !== ROOT_ID ? (dropTargetId as string) : null\n });\n } catch (error) {\n return showSnackbar(error.message);\n }\n };\n\n const sort = (a: NodeModel<DndItemData>, b: NodeModel<DndItemData>) => {\n return a.data!.title.localeCompare(b.data!.title, undefined, { numeric: true });\n };\n\n const handleChangeOpen = (folderIds: NodeModel[\"id\"][]) => {\n setOpenFolderIds(folderIds);\n };\n\n return (\n <>\n <DndProvider backend={MultiBackend} options={getBackendOptions()}>\n <Tree\n tree={treeData}\n rootId={ROOT_ID}\n onDrop={handleDrop}\n onChangeOpen={handleChangeOpen}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n sort={sort}\n render={(node, { depth, isOpen, onToggle }) => (\n <Node\n node={node}\n depth={depth}\n isOpen={isOpen}\n enableActions={enableActions}\n onToggle={onToggle}\n onClick={data => onFolderClick(data)}\n onUpdateFolder={data => {\n setSelectedFolder(data);\n setUpdateDialogOpen(true);\n }}\n onDeleteFolder={data => {\n setSelectedFolder(data);\n setDeleteDialogOpen(true);\n }}\n />\n )}\n dragPreviewRender={monitorProps => <NodePreview monitorProps={monitorProps} />}\n classes={{\n root: \"treeRoot\",\n dropTarget: \"dropTarget\",\n draggingSource: \"draggingSource\",\n placeholder: \"placeholderContainer\"\n }}\n initialOpen={initialOpenList}\n placeholderRender={(node, { depth }) => (\n <Placeholder node={node} depth={depth} />\n )}\n />\n </DndProvider>\n {selectedFolder && (\n <>\n <FolderDialogUpdate\n folder={selectedFolder}\n open={updateDialogOpen}\n onClose={() => {\n setUpdateDialogOpen(false);\n setSelectedFolder(undefined);\n }}\n />\n <FolderDialogDelete\n folder={selectedFolder}\n open={deleteDialogOpen}\n onClose={() => {\n setDeleteDialogOpen(false);\n setSelectedFolder(undefined);\n }}\n />\n </>\n )}\n </>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { InitialOpen, NodeModel } from "@minoru/react-dnd-treeview";
|
|
2
|
-
import { DndItemData, FolderItem } from "../../../types";
|
|
3
|
-
/**
|
|
4
|
-
* Transform an array of folders returned by useFolders hook into an array of elements for the tree component.
|
|
5
|
-
*
|
|
6
|
-
* @param folders list of folders returned by useFolders hook.
|
|
7
|
-
* @param focusedNodeId id of the current folder selected/focused.
|
|
8
|
-
* @param hiddenFolderIds list ids of the folder you don't want to show within the list.
|
|
9
|
-
* @return array of elements to render the tree component.
|
|
10
|
-
*/
|
|
11
|
-
export declare const createTreeData: (folders?: FolderItem[], focusedNodeId?: string, hiddenFolderIds?: string[]) => NodeModel<DndItemData>[];
|
|
12
|
-
/**
|
|
13
|
-
* Return an array of ids of open folders, based on the current focused folder id, its parent folders and the folders
|
|
14
|
-
* opened by user interaction.
|
|
15
|
-
*
|
|
16
|
-
* @param folders list of folders returned by useFolders hook.
|
|
17
|
-
* @param openIds list of open folders ids.
|
|
18
|
-
* @param focusedId id of the current folder selected/focused.
|
|
19
|
-
* @return array of ids of open folders.
|
|
20
|
-
*/
|
|
21
|
-
export declare const createInitialOpenList: (folders?: FolderItem[], openIds?: NodeModel<DndItemData>["id"][], focusedId?: string) => InitialOpen | undefined;
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.createTreeData = exports.createInitialOpenList = void 0;
|
|
8
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
-
var _constants = require("./constants");
|
|
10
|
-
/**
|
|
11
|
-
* Transform an array of folders returned by useFolders hook into an array of elements for the tree component.
|
|
12
|
-
*
|
|
13
|
-
* @param folders list of folders returned by useFolders hook.
|
|
14
|
-
* @param focusedNodeId id of the current folder selected/focused.
|
|
15
|
-
* @param hiddenFolderIds list ids of the folder you don't want to show within the list.
|
|
16
|
-
* @return array of elements to render the tree component.
|
|
17
|
-
*/
|
|
18
|
-
var createTreeData = function createTreeData() {
|
|
19
|
-
var folders = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
20
|
-
var focusedNodeId = arguments.length > 1 ? arguments[1] : undefined;
|
|
21
|
-
var hiddenFolderIds = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
22
|
-
return folders.map(function (item) {
|
|
23
|
-
var id = item.id,
|
|
24
|
-
parentId = item.parentId,
|
|
25
|
-
title = item.title,
|
|
26
|
-
slug = item.slug,
|
|
27
|
-
type = item.type,
|
|
28
|
-
createdOn = item.createdOn,
|
|
29
|
-
createdBy = item.createdBy,
|
|
30
|
-
savedOn = item.savedOn;
|
|
31
|
-
return {
|
|
32
|
-
id: id,
|
|
33
|
-
parent: parentId || _constants.ROOT_ID,
|
|
34
|
-
text: title,
|
|
35
|
-
droppable: true,
|
|
36
|
-
data: {
|
|
37
|
-
id: id,
|
|
38
|
-
title: title,
|
|
39
|
-
slug: slug,
|
|
40
|
-
parentId: parentId,
|
|
41
|
-
type: type,
|
|
42
|
-
createdOn: createdOn,
|
|
43
|
-
createdBy: createdBy,
|
|
44
|
-
savedOn: savedOn,
|
|
45
|
-
isFocused: focusedNodeId === id
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
}).filter(function (item) {
|
|
49
|
-
return !hiddenFolderIds.includes(item.id);
|
|
50
|
-
});
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Return an array of ids of open folders, based on the current focused folder id, its parent folders and the folders
|
|
55
|
-
* opened by user interaction.
|
|
56
|
-
*
|
|
57
|
-
* @param folders list of folders returned by useFolders hook.
|
|
58
|
-
* @param openIds list of open folders ids.
|
|
59
|
-
* @param focusedId id of the current folder selected/focused.
|
|
60
|
-
* @return array of ids of open folders.
|
|
61
|
-
*/
|
|
62
|
-
exports.createTreeData = createTreeData;
|
|
63
|
-
var createInitialOpenList = function createInitialOpenList() {
|
|
64
|
-
var folders = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
65
|
-
var openIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
66
|
-
var focusedId = arguments.length > 2 ? arguments[2] : undefined;
|
|
67
|
-
var focusedFolder = folders.find(function (folder) {
|
|
68
|
-
return folder.id === focusedId;
|
|
69
|
-
});
|
|
70
|
-
if (!focusedId || !(focusedFolder !== null && focusedFolder !== void 0 && focusedFolder.parentId)) {
|
|
71
|
-
return openIds;
|
|
72
|
-
}
|
|
73
|
-
var findParents = function findParents(acc, folder, index, folders) {
|
|
74
|
-
if (folder.parentId && acc.some(function (el) {
|
|
75
|
-
return el === folder.id;
|
|
76
|
-
})) {
|
|
77
|
-
acc.push(folder.parentId);
|
|
78
|
-
var newArr = folders.filter(function (_, i) {
|
|
79
|
-
return i !== index;
|
|
80
|
-
});
|
|
81
|
-
return newArr.reduce(findParents, acc);
|
|
82
|
-
}
|
|
83
|
-
return acc;
|
|
84
|
-
};
|
|
85
|
-
var result = folders.reduce(findParents, [focusedId]);
|
|
86
|
-
return (0, _toConsumableArray2.default)(new Set([].concat((0, _toConsumableArray2.default)(result), (0, _toConsumableArray2.default)(openIds))));
|
|
87
|
-
};
|
|
88
|
-
exports.createInitialOpenList = createInitialOpenList;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["createTreeData","folders","focusedNodeId","hiddenFolderIds","map","item","id","parentId","title","slug","type","createdOn","createdBy","savedOn","parent","ROOT_ID","text","droppable","data","isFocused","filter","includes","createInitialOpenList","openIds","focusedId","focusedFolder","find","folder","findParents","acc","index","some","el","push","newArr","_","i","reduce","result","Set"],"sources":["utils.ts"],"sourcesContent":["import { InitialOpen, NodeModel } from \"@minoru/react-dnd-treeview\";\nimport { DndItemData, FolderItem } from \"~/types\";\nimport { ROOT_ID } from \"./constants\";\n\n/**\n * Transform an array of folders returned by useFolders hook into an array of elements for the tree component.\n *\n * @param folders list of folders returned by useFolders hook.\n * @param focusedNodeId id of the current folder selected/focused.\n * @param hiddenFolderIds list ids of the folder you don't want to show within the list.\n * @return array of elements to render the tree component.\n */\nexport const createTreeData = (\n folders: FolderItem[] = [],\n focusedNodeId?: string,\n hiddenFolderIds: string[] = []\n): NodeModel<DndItemData>[] => {\n return folders\n .map(item => {\n const { id, parentId, title, slug, type, createdOn, createdBy, savedOn } = item;\n\n return {\n id,\n parent: parentId || ROOT_ID,\n text: title,\n droppable: true,\n data: {\n id,\n title,\n slug,\n parentId,\n type,\n createdOn,\n createdBy,\n savedOn,\n isFocused: focusedNodeId === id\n }\n };\n })\n .filter(item => !hiddenFolderIds.includes(item.id));\n};\n\n/**\n * Return an array of ids of open folders, based on the current focused folder id, its parent folders and the folders\n * opened by user interaction.\n *\n * @param folders list of folders returned by useFolders hook.\n * @param openIds list of open folders ids.\n * @param focusedId id of the current folder selected/focused.\n * @return array of ids of open folders.\n */\nexport const createInitialOpenList = (\n folders: FolderItem[] = [],\n openIds: NodeModel<DndItemData>[\"id\"][] = [],\n focusedId?: string\n): InitialOpen | undefined => {\n const focusedFolder = folders.find(folder => {\n return folder.id === focusedId;\n });\n\n if (!focusedId || !focusedFolder?.parentId) {\n return openIds;\n }\n\n const findParents = (\n acc: string[],\n folder: FolderItem,\n index: number,\n folders: FolderItem[]\n ): string[] => {\n if (folder.parentId && acc.some(el => el === folder.id)) {\n acc.push(folder.parentId);\n\n const newArr = folders.filter((_, i) => {\n return i !== index;\n });\n\n return newArr.reduce(findParents, acc);\n }\n\n return acc;\n };\n\n const result = folders.reduce(findParents, [focusedId]);\n\n return [...new Set([...result, ...openIds])];\n};\n"],"mappings":";;;;;;;;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,cAAc,GAAG,SAAjBA,cAAc,GAII;EAAA,IAH3BC,OAAqB,uEAAG,EAAE;EAAA,IAC1BC,aAAsB;EAAA,IACtBC,eAAyB,uEAAG,EAAE;EAE9B,OAAOF,OAAO,CACTG,GAAG,CAAC,UAAAC,IAAI,EAAI;IACT,IAAQC,EAAE,GAAiED,IAAI,CAAvEC,EAAE;MAAEC,QAAQ,GAAuDF,IAAI,CAAnEE,QAAQ;MAAEC,KAAK,GAAgDH,IAAI,CAAzDG,KAAK;MAAEC,IAAI,GAA0CJ,IAAI,CAAlDI,IAAI;MAAEC,IAAI,GAAoCL,IAAI,CAA5CK,IAAI;MAAEC,SAAS,GAAyBN,IAAI,CAAtCM,SAAS;MAAEC,SAAS,GAAcP,IAAI,CAA3BO,SAAS;MAAEC,OAAO,GAAKR,IAAI,CAAhBQ,OAAO;IAEtE,OAAO;MACHP,EAAE,EAAFA,EAAE;MACFQ,MAAM,EAAEP,QAAQ,IAAIQ,kBAAO;MAC3BC,IAAI,EAAER,KAAK;MACXS,SAAS,EAAE,IAAI;MACfC,IAAI,EAAE;QACFZ,EAAE,EAAFA,EAAE;QACFE,KAAK,EAALA,KAAK;QACLC,IAAI,EAAJA,IAAI;QACJF,QAAQ,EAARA,QAAQ;QACRG,IAAI,EAAJA,IAAI;QACJC,SAAS,EAATA,SAAS;QACTC,SAAS,EAATA,SAAS;QACTC,OAAO,EAAPA,OAAO;QACPM,SAAS,EAAEjB,aAAa,KAAKI;MACjC;IACJ,CAAC;EACL,CAAC,CAAC,CACDc,MAAM,CAAC,UAAAf,IAAI;IAAA,OAAI,CAACF,eAAe,CAACkB,QAAQ,CAAChB,IAAI,CAACC,EAAE,CAAC;EAAA,EAAC;AAC3D,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AASO,IAAMgB,qBAAqB,GAAG,SAAxBA,qBAAqB,GAIJ;EAAA,IAH1BrB,OAAqB,uEAAG,EAAE;EAAA,IAC1BsB,OAAuC,uEAAG,EAAE;EAAA,IAC5CC,SAAkB;EAElB,IAAMC,aAAa,GAAGxB,OAAO,CAACyB,IAAI,CAAC,UAAAC,MAAM,EAAI;IACzC,OAAOA,MAAM,CAACrB,EAAE,KAAKkB,SAAS;EAClC,CAAC,CAAC;EAEF,IAAI,CAACA,SAAS,IAAI,EAACC,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAElB,QAAQ,GAAE;IACxC,OAAOgB,OAAO;EAClB;EAEA,IAAMK,WAAW,GAAG,SAAdA,WAAW,CACbC,GAAa,EACbF,MAAkB,EAClBG,KAAa,EACb7B,OAAqB,EACV;IACX,IAAI0B,MAAM,CAACpB,QAAQ,IAAIsB,GAAG,CAACE,IAAI,CAAC,UAAAC,EAAE;MAAA,OAAIA,EAAE,KAAKL,MAAM,CAACrB,EAAE;IAAA,EAAC,EAAE;MACrDuB,GAAG,CAACI,IAAI,CAACN,MAAM,CAACpB,QAAQ,CAAC;MAEzB,IAAM2B,MAAM,GAAGjC,OAAO,CAACmB,MAAM,CAAC,UAACe,CAAC,EAAEC,CAAC,EAAK;QACpC,OAAOA,CAAC,KAAKN,KAAK;MACtB,CAAC,CAAC;MAEF,OAAOI,MAAM,CAACG,MAAM,CAACT,WAAW,EAAEC,GAAG,CAAC;IAC1C;IAEA,OAAOA,GAAG;EACd,CAAC;EAED,IAAMS,MAAM,GAAGrC,OAAO,CAACoC,MAAM,CAACT,WAAW,EAAE,CAACJ,SAAS,CAAC,CAAC;EAEvD,wCAAW,IAAIe,GAAG,4CAAKD,MAAM,oCAAKf,OAAO,GAAE;AAC/C,CAAC;AAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.Loader = void 0;
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var _Skeleton = require("@webiny/ui/Skeleton");
|
|
10
|
-
var _styled = require("./styled");
|
|
11
|
-
var Loader = function Loader() {
|
|
12
|
-
return /*#__PURE__*/_react.default.createElement(_styled.Container, null, /*#__PURE__*/_react.default.createElement(_Skeleton.Skeleton, {
|
|
13
|
-
count: 4,
|
|
14
|
-
inline: true,
|
|
15
|
-
height: "100%",
|
|
16
|
-
wrapper: _styled.SkeletonWrapper,
|
|
17
|
-
theme: "dark"
|
|
18
|
-
}));
|
|
19
|
-
};
|
|
20
|
-
exports.Loader = Loader;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Loader","SkeletonWrapper"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Skeleton } from \"@webiny/ui/Skeleton\";\n\nimport { Container, SkeletonWrapper } from \"./styled\";\n\nexport const Loader = () => {\n return (\n <Container>\n <Skeleton\n count={4}\n inline={true}\n height={\"100%\"}\n wrapper={SkeletonWrapper}\n theme={\"dark\"}\n />\n </Container>\n );\n};\n"],"mappings":";;;;;;;AAAA;AAEA;AAEA;AAEO,IAAMA,MAAM,GAAG,SAATA,MAAM,GAAS;EACxB,oBACI,6BAAC,iBAAS,qBACN,6BAAC,kBAAQ;IACL,KAAK,EAAE,CAAE;IACT,MAAM,EAAE,IAAK;IACb,MAAM,EAAE,MAAO;IACf,OAAO,EAAEC,uBAAgB;IACzB,KAAK,EAAE;EAAO,EAChB,CACM;AAEpB,CAAC;AAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
/// <reference types="react" />
|
|
3
|
-
/// <reference types="web" />
|
|
4
|
-
export declare const Container: import("@emotion/styled").StyledComponent<{
|
|
5
|
-
theme?: import("@emotion/react").Theme | undefined;
|
|
6
|
-
as?: import("react").ElementType<any> | undefined;
|
|
7
|
-
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
8
|
-
export declare const SkeletonWrapper: import("@emotion/styled").StyledComponent<{
|
|
9
|
-
theme?: import("@emotion/react").Theme | undefined;
|
|
10
|
-
as?: import("react").ElementType<any> | undefined;
|
|
11
|
-
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.SkeletonWrapper = exports.Container = void 0;
|
|
8
|
-
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
9
|
-
var Container = /*#__PURE__*/(0, _styled.default)("div", {
|
|
10
|
-
label: "Container",
|
|
11
|
-
target: "evvx1n40"
|
|
12
|
-
})("padding:42px 4px 0;");
|
|
13
|
-
exports.Container = Container;
|
|
14
|
-
var SkeletonWrapper = /*#__PURE__*/(0, _styled.default)("div", {
|
|
15
|
-
label: "SkeletonWrapper",
|
|
16
|
-
target: "evvx1n41"
|
|
17
|
-
})("width:85%;margin:0 8px 8px;height:24px;&:last-of-type{margin-bottom:0;}");
|
|
18
|
-
exports.SkeletonWrapper = SkeletonWrapper;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Container","styled","SkeletonWrapper"],"sources":["styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\n\nexport const Container = styled(\"div\")`\n padding: 42px 4px 0;\n`;\n\nexport const SkeletonWrapper = styled(\"div\")`\n width: 85%;\n margin: 0 8px 8px;\n height: 24px;\n\n &:last-of-type {\n margin-bottom: 0;\n }\n`;\n"],"mappings":";;;;;;;AAAA;AAEO,IAAMA,SAAS,oBAAGC,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,yBAEpC;AAAC;AAEK,IAAMC,eAAe,oBAAGD,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,6EAQ1C;AAAC"}
|