@uxf/cms 12.7.2 → 13.0.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/README.md +1 -1
- package/deprecated/hoc/with-authenticate.js +2 -2
- package/forms/components/wysiwyg-input/wysiwyg-input.js +1 -1
- package/lib/api/create-axios-request.js +8 -8
- package/lib/menu/ui/sub-menu/sub-menu-behaviour.spec.d.ts +1 -0
- package/lib/menu/ui/sub-menu/sub-menu-behaviour.spec.js +56 -0
- package/lib/menu/ui/sub-menu/sub-menu-mobile.d.ts +5 -2
- package/lib/menu/ui/sub-menu/sub-menu-mobile.js +17 -13
- package/lib/menu/ui/sub-menu/sub-menu.d.ts +5 -2
- package/lib/menu/ui/sub-menu/sub-menu.js +16 -12
- package/package.json +26 -26
- package/ui/avatar/avatar.d.ts +5 -2
- package/ui/avatar/avatar.js +17 -47
- /package/errors/{BadRequestError.d.ts → bad-request-error.d.ts} +0 -0
- /package/errors/{BadRequestError.js → bad-request-error.js} +0 -0
- /package/errors/{ForbiddenError.d.ts → forbidden-error.d.ts} +0 -0
- /package/errors/{ForbiddenError.js → forbidden-error.js} +0 -0
- /package/errors/{NetworkError.d.ts → network-error.d.ts} +0 -0
- /package/errors/{NetworkError.js → network-error.js} +0 -0
- /package/errors/{UnauthorizedError.d.ts → unauthorized-error.d.ts} +0 -0
- /package/errors/{UnauthorizedError.js → unauthorized-error.js} +0 -0
- /package/errors/{ValidationError.d.ts → validation-error.d.ts} +0 -0
- /package/errors/{ValidationError.js → validation-error.js} +0 -0
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ It is not a general UI kit (`@uxf/ui`), a form library (`@uxf/form`), or a data
|
|
|
16
16
|
yarn add @uxf/cms
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
Peer dependencies: `@uxf/core`, `@uxf/core-react`, `@uxf/data-grid`, `@uxf/form`, `@uxf/router`, `@uxf/styles`, `@uxf/ui`, `@uxf/wysiwyg`, `@dnd-kit/core`, `@dnd-kit/sortable`, `@dnd-kit/utilities`, `@floating-ui/react`, `axios`, `axios-hooks`, `swr`, `react-hook-form`, `next` (>=
|
|
19
|
+
Peer dependencies: `@uxf/core`, `@uxf/core-react`, `@uxf/data-grid`, `@uxf/form`, `@uxf/router`, `@uxf/styles`, `@uxf/ui`, `@uxf/wysiwyg`, `@dnd-kit/core`, `@dnd-kit/sortable`, `@dnd-kit/utilities`, `@floating-ui/react`, `axios`, `axios-hooks`, `swr`, `react-hook-form`, `next` (>=15.0.4), `react` (^19.3.0), `react-dom` (^19.3.0).
|
|
20
20
|
|
|
21
21
|
Because it builds on `@uxf/ui`, `@uxf/form` and `@uxf/data-grid`, complete their setup as well (see [`@uxf/ui`](../ui/README.md) and [`@uxf/form`](../form/README.md)) — the `UiContextProvider`, the token layer, and the component CSS they require.
|
|
22
22
|
|
|
@@ -40,7 +40,7 @@ exports.withAuthenticate = void 0;
|
|
|
40
40
|
const react_1 = __importStar(require("react"));
|
|
41
41
|
const api_1 = require("../../api");
|
|
42
42
|
const config_1 = require("../../config");
|
|
43
|
-
const
|
|
43
|
+
const unauthorized_error_1 = require("../../errors/unauthorized-error");
|
|
44
44
|
const cms_authorizator_1 = __importDefault(require("../security/cms-authorizator"));
|
|
45
45
|
/**
|
|
46
46
|
* @deprecated use restrictedPage instead
|
|
@@ -53,7 +53,7 @@ const withAuthenticate = (config) => (Component) => {
|
|
|
53
53
|
? await config_1.container.get("api.getLoggedUser")(ctx)
|
|
54
54
|
: await (0, api_1.getLoggedUser)(ctx);
|
|
55
55
|
if (config.allowedRoles && !cms_authorizator_1.default.isGranted(config.allowedRoles, user.roles)) {
|
|
56
|
-
throw new
|
|
56
|
+
throw new unauthorized_error_1.UnauthorizedError();
|
|
57
57
|
}
|
|
58
58
|
return typeof Component.getInitialProps === "function" ? await Component.getInitialProps(ctx) : {};
|
|
59
59
|
}
|
|
@@ -101,5 +101,5 @@ function WysiwygInput(props) {
|
|
|
101
101
|
placeholder: props.placeholder,
|
|
102
102
|
readOnly: props.isReadOnly,
|
|
103
103
|
required: props.isRequired,
|
|
104
|
-
},
|
|
104
|
+
}, id: id, initialValue: field.value, onChange: field.onChange, plugins: plugins, ref: editorRef, ...props.editorProps })));
|
|
105
105
|
}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createAxiosRequest = void 0;
|
|
4
4
|
const qs_1 = require("@uxf/core/utils/qs");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
5
|
+
const bad_request_error_1 = require("../../errors/bad-request-error");
|
|
6
|
+
const forbidden_error_1 = require("../../errors/forbidden-error");
|
|
7
|
+
const network_error_1 = require("../../errors/network-error");
|
|
8
|
+
const unauthorized_error_1 = require("../../errors/unauthorized-error");
|
|
9
9
|
/** @deprecated use swr */
|
|
10
10
|
const createAxiosRequest = (baseURL, axiosInstance, requestConfig) => (ctx, url, method, body, query) => {
|
|
11
11
|
var _a;
|
|
@@ -21,17 +21,17 @@ const createAxiosRequest = (baseURL, axiosInstance, requestConfig) => (ctx, url,
|
|
|
21
21
|
.catch((error) => {
|
|
22
22
|
if (error.response) {
|
|
23
23
|
if (error.response.status === 400) {
|
|
24
|
-
throw new
|
|
24
|
+
throw new bad_request_error_1.BadRequestError(error.response.data);
|
|
25
25
|
}
|
|
26
26
|
else if (error.response.status === 401) {
|
|
27
|
-
throw new
|
|
27
|
+
throw new unauthorized_error_1.UnauthorizedError();
|
|
28
28
|
}
|
|
29
29
|
else if (error.response.status === 403) {
|
|
30
|
-
throw new
|
|
30
|
+
throw new forbidden_error_1.ForbiddenError();
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
else if (error.request) {
|
|
34
|
-
throw new
|
|
34
|
+
throw new network_error_1.NetworkError();
|
|
35
35
|
}
|
|
36
36
|
throw error;
|
|
37
37
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
const react_1 = require("@testing-library/react");
|
|
37
|
+
const react_2 = __importStar(require("react"));
|
|
38
|
+
const sub_menu_1 = require("./sub-menu");
|
|
39
|
+
const sub_menu_mobile_1 = require("./sub-menu-mobile");
|
|
40
|
+
const VARIANTS = [
|
|
41
|
+
["SubMenu", sub_menu_1.SubMenu],
|
|
42
|
+
["SubMenuMobile", sub_menu_mobile_1.SubMenuMobile],
|
|
43
|
+
];
|
|
44
|
+
VARIANTS.forEach(([name, Component]) => {
|
|
45
|
+
test(`${name} passes the node to both its own ref and the trigger's, without reading element.ref`, () => {
|
|
46
|
+
const consoleError = jest.spyOn(console, "error").mockImplementation(() => undefined);
|
|
47
|
+
const triggerRef = (0, react_2.createRef)();
|
|
48
|
+
const componentRef = (0, react_2.createRef)();
|
|
49
|
+
(0, react_1.render)(react_2.default.createElement(Component, { content: [], ref: componentRef, title: "Menu" },
|
|
50
|
+
react_2.default.createElement("button", { ref: triggerRef, type: "button" }, "Trigger")));
|
|
51
|
+
expect(triggerRef.current).toBeInstanceOf(HTMLButtonElement);
|
|
52
|
+
expect(componentRef.current).toBe(triggerRef.current);
|
|
53
|
+
expect(consoleError).not.toHaveBeenCalledWith(expect.stringContaining("element.ref"));
|
|
54
|
+
consoleError.mockRestore();
|
|
55
|
+
});
|
|
56
|
+
});
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import React, { ReactElement } from "react";
|
|
1
|
+
import React, { ReactElement, RefAttributes } from "react";
|
|
2
2
|
import { MenuItem as Model } from "../../model";
|
|
3
3
|
export interface SubMenuProps {
|
|
4
4
|
children: ReactElement;
|
|
5
5
|
content: Model[];
|
|
6
6
|
title: string;
|
|
7
7
|
}
|
|
8
|
-
export declare
|
|
8
|
+
export declare function SubMenuMobile(props: SubMenuProps & RefAttributes<HTMLElement>): React.JSX.Element;
|
|
9
|
+
export declare namespace SubMenuMobile {
|
|
10
|
+
var displayName: string;
|
|
11
|
+
}
|
|
@@ -33,26 +33,30 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.SubMenuMobile =
|
|
37
|
-
const
|
|
36
|
+
exports.SubMenuMobile = SubMenuMobile;
|
|
37
|
+
const use_composed_refs_1 = require("@uxf/core-react/hooks/use-composed-refs");
|
|
38
38
|
const react_1 = __importStar(require("react"));
|
|
39
39
|
const sub_menu_item_1 = require("./sub-menu-item");
|
|
40
40
|
const use_sub_menu_1 = require("./use-sub-menu");
|
|
41
|
-
|
|
41
|
+
function SubMenuMobile(props) {
|
|
42
42
|
const subMenu = (0, use_sub_menu_1.useSubMenu)({ isMobile: true });
|
|
43
|
-
|
|
43
|
+
// Any element can be the trigger; its props are only passed through.
|
|
44
|
+
const trigger = props.children;
|
|
45
|
+
const stableRef = (0, use_composed_refs_1.useComposedRefs)(props.ref, subMenu.refs.setReference, trigger.props.ref);
|
|
46
|
+
// `ref` goes after the spread: since React 19 the trigger's props carry its own ref.
|
|
47
|
+
const referenceProps = {
|
|
48
|
+
...trigger.props,
|
|
49
|
+
ref: stableRef,
|
|
50
|
+
"data-state": subMenu.open ? "open" : "closed",
|
|
51
|
+
};
|
|
44
52
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
45
|
-
(0, react_1.cloneElement)(
|
|
46
|
-
ref: stableRef,
|
|
47
|
-
...children.props,
|
|
48
|
-
"data-state": subMenu.open ? "open" : "closed",
|
|
49
|
-
})),
|
|
53
|
+
(0, react_1.cloneElement)(trigger, subMenu.getReferenceProps(referenceProps)),
|
|
50
54
|
subMenu.open && (react_1.default.createElement("div", { ...subMenu.getFloatingProps({
|
|
51
55
|
className: "uxf-cms-sidebar__scrollbar uxf-cms-sub-menu__wrapper-mobile",
|
|
52
56
|
ref: subMenu.refs.setFloating,
|
|
53
57
|
style: subMenu.floatingStyles,
|
|
54
58
|
}) },
|
|
55
|
-
react_1.default.createElement("div", { className: "uxf-cms-sub-menu__title" }, title),
|
|
56
|
-
content.map((item, index) => (react_1.default.createElement(sub_menu_item_1.SubMenuItem, { item: item, key: index })))))));
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
+
react_1.default.createElement("div", { className: "uxf-cms-sub-menu__title" }, props.title),
|
|
60
|
+
props.content.map((item, index) => (react_1.default.createElement(sub_menu_item_1.SubMenuItem, { item: item, key: index })))))));
|
|
61
|
+
}
|
|
62
|
+
SubMenuMobile.displayName = "SubMenuMobile";
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import React, { ReactElement } from "react";
|
|
1
|
+
import React, { ReactElement, RefAttributes } from "react";
|
|
2
2
|
import { MenuItem as Model } from "../../model";
|
|
3
3
|
export interface SubMenuProps {
|
|
4
4
|
children: ReactElement;
|
|
5
5
|
content: Model[];
|
|
6
6
|
}
|
|
7
|
-
export declare
|
|
7
|
+
export declare function SubMenu(props: SubMenuProps & RefAttributes<HTMLElement>): React.JSX.Element;
|
|
8
|
+
export declare namespace SubMenu {
|
|
9
|
+
var displayName: string;
|
|
10
|
+
}
|
|
@@ -33,24 +33,28 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.SubMenu =
|
|
37
|
-
const
|
|
36
|
+
exports.SubMenu = SubMenu;
|
|
37
|
+
const use_composed_refs_1 = require("@uxf/core-react/hooks/use-composed-refs");
|
|
38
38
|
const react_1 = __importStar(require("react"));
|
|
39
39
|
const sub_menu_item_1 = require("./sub-menu-item");
|
|
40
40
|
const use_sub_menu_1 = require("./use-sub-menu");
|
|
41
|
-
|
|
41
|
+
function SubMenu(props) {
|
|
42
42
|
const subMenu = (0, use_sub_menu_1.useSubMenu)({ isMobile: false });
|
|
43
|
-
|
|
43
|
+
// Any element can be the trigger; its props are only passed through.
|
|
44
|
+
const trigger = props.children;
|
|
45
|
+
const stableRef = (0, use_composed_refs_1.useComposedRefs)(props.ref, subMenu.refs.setReference, trigger.props.ref);
|
|
46
|
+
// `ref` goes after the spread: since React 19 the trigger's props carry its own ref.
|
|
47
|
+
const referenceProps = {
|
|
48
|
+
...trigger.props,
|
|
49
|
+
ref: stableRef,
|
|
50
|
+
"data-state": subMenu.open ? "open" : "closed",
|
|
51
|
+
};
|
|
44
52
|
return (react_1.default.createElement("div", { className: "uxf-cms-sub-menu" },
|
|
45
|
-
(0, react_1.cloneElement)(
|
|
46
|
-
ref: stableRef,
|
|
47
|
-
...children.props,
|
|
48
|
-
"data-state": subMenu.open ? "open" : "closed",
|
|
49
|
-
})),
|
|
53
|
+
(0, react_1.cloneElement)(trigger, subMenu.getReferenceProps(referenceProps)),
|
|
50
54
|
subMenu.open && (react_1.default.createElement("div", { ...subMenu.getFloatingProps({
|
|
51
55
|
ref: subMenu.refs.setFloating,
|
|
52
56
|
style: subMenu.floatingStyles,
|
|
53
57
|
className: "uxf-cms-sidebar__scrollbar uxf-cms-sub-menu__wrapper",
|
|
54
|
-
}) }, content.map((item, index) => (react_1.default.createElement(sub_menu_item_1.SubMenuItem, { item: item, key: index })))))));
|
|
55
|
-
}
|
|
56
|
-
|
|
58
|
+
}) }, props.content.map((item, index) => (react_1.default.createElement(sub_menu_item_1.SubMenuItem, { item: item, key: index })))))));
|
|
59
|
+
}
|
|
60
|
+
SubMenu.displayName = "SubMenu";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uxf/cms",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "13.0.0",
|
|
4
4
|
"description": "UXF Cms",
|
|
5
5
|
"author": "UXFans <dev@uxf.cz>",
|
|
6
6
|
"homepage": "https://gitlab.com/uxf-npm/cms#readme",
|
|
@@ -29,42 +29,42 @@
|
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
31
|
"@floating-ui/react": "^0.27.20",
|
|
32
|
-
"@uxf/core": "
|
|
33
|
-
"@uxf/core-react": "
|
|
34
|
-
"@uxf/data-grid": "
|
|
35
|
-
"@uxf/dnd": "
|
|
36
|
-
"@uxf/form": "
|
|
37
|
-
"@uxf/router": "
|
|
38
|
-
"@uxf/styles": "
|
|
39
|
-
"@uxf/ui": "
|
|
40
|
-
"@uxf/wysiwyg": "
|
|
32
|
+
"@uxf/core": "13.0.0",
|
|
33
|
+
"@uxf/core-react": "13.0.0",
|
|
34
|
+
"@uxf/data-grid": "13.0.0",
|
|
35
|
+
"@uxf/dnd": "13.0.0",
|
|
36
|
+
"@uxf/form": "13.0.0",
|
|
37
|
+
"@uxf/router": "13.0.0",
|
|
38
|
+
"@uxf/styles": "13.0.0",
|
|
39
|
+
"@uxf/ui": "13.0.0",
|
|
40
|
+
"@uxf/wysiwyg": "13.0.0",
|
|
41
41
|
"axios": "^1.20.0",
|
|
42
42
|
"axios-hooks": "^5.1.1",
|
|
43
|
-
"next": ">=
|
|
44
|
-
"react": "
|
|
45
|
-
"react-dom": "
|
|
43
|
+
"next": ">=15.0.4",
|
|
44
|
+
"react": "^19.3.0",
|
|
45
|
+
"react-dom": "^19.3.0",
|
|
46
46
|
"react-hook-form": "^7.89.0",
|
|
47
47
|
"swr": "^2.5.1"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@floating-ui/react": "^0.27.20",
|
|
51
51
|
"@types/node": "24",
|
|
52
|
-
"@types/react": "
|
|
53
|
-
"@types/react-dom": "
|
|
54
|
-
"@uxf/core": "
|
|
55
|
-
"@uxf/core-react": "
|
|
56
|
-
"@uxf/data-grid": "
|
|
57
|
-
"@uxf/dnd": "
|
|
58
|
-
"@uxf/form": "
|
|
59
|
-
"@uxf/router": "
|
|
60
|
-
"@uxf/styles": "
|
|
61
|
-
"@uxf/ui": "
|
|
62
|
-
"@uxf/wysiwyg": "
|
|
52
|
+
"@types/react": "19.3.0",
|
|
53
|
+
"@types/react-dom": "19.3.0",
|
|
54
|
+
"@uxf/core": "13.0.0",
|
|
55
|
+
"@uxf/core-react": "13.0.0",
|
|
56
|
+
"@uxf/data-grid": "13.0.0",
|
|
57
|
+
"@uxf/dnd": "13.0.0",
|
|
58
|
+
"@uxf/form": "13.0.0",
|
|
59
|
+
"@uxf/router": "13.0.0",
|
|
60
|
+
"@uxf/styles": "13.0.0",
|
|
61
|
+
"@uxf/ui": "13.0.0",
|
|
62
|
+
"@uxf/wysiwyg": "13.0.0",
|
|
63
63
|
"axios": "^1.20.0",
|
|
64
64
|
"axios-hooks": "^5.1.1",
|
|
65
65
|
"next": "16.3.8",
|
|
66
|
-
"react": "
|
|
67
|
-
"react-dom": "
|
|
66
|
+
"react": "19.3.0",
|
|
67
|
+
"react-dom": "19.3.0",
|
|
68
68
|
"react-hook-form": "^7.89.0",
|
|
69
69
|
"swr": "^2.5.1",
|
|
70
70
|
"tsx": "4.23.15"
|
package/ui/avatar/avatar.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ImageSource } from "@uxf/core/utils/resizer";
|
|
2
|
-
import React, { HTMLAttributes } from "react";
|
|
2
|
+
import React, { HTMLAttributes, RefAttributes } from "react";
|
|
3
3
|
import { AvatarSize, AvatarVariant } from "./theme";
|
|
4
4
|
export interface AvatarProps extends Omit<HTMLAttributes<HTMLDivElement>, "src"> {
|
|
5
5
|
alt?: string;
|
|
@@ -8,4 +8,7 @@ export interface AvatarProps extends Omit<HTMLAttributes<HTMLDivElement>, "src">
|
|
|
8
8
|
letters?: string;
|
|
9
9
|
variant?: AvatarVariant;
|
|
10
10
|
}
|
|
11
|
-
export declare
|
|
11
|
+
export declare function Avatar(props: AvatarProps & RefAttributes<HTMLDivElement>): React.JSX.Element;
|
|
12
|
+
export declare namespace Avatar {
|
|
13
|
+
var displayName: string;
|
|
14
|
+
}
|
package/ui/avatar/avatar.js
CHANGED
|
@@ -1,57 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
35
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.Avatar =
|
|
6
|
+
exports.Avatar = Avatar;
|
|
37
7
|
const cx_1 = require("@uxf/core/utils/cx");
|
|
8
|
+
const omit_1 = require("@uxf/core/utils/omit");
|
|
38
9
|
const raster_image_1 = require("@uxf/ui/raster-image");
|
|
39
|
-
const react_1 =
|
|
10
|
+
const react_1 = __importDefault(require("react"));
|
|
40
11
|
const AVATAR_SIZES = {
|
|
41
12
|
sm: 40,
|
|
42
13
|
default: 88,
|
|
43
14
|
lg: 120,
|
|
44
15
|
};
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
const
|
|
48
|
-
const avatarClassName = (0, cx_1.cx)("cms-avatar", `cms-avatar--size-${size}`, `cms-avatar--variant-${variant}`, className);
|
|
49
|
-
const
|
|
50
|
-
if (src) {
|
|
51
|
-
return (react_1.default.createElement("span", { className: avatarClassName, ref: ref, ...restProps },
|
|
52
|
-
react_1.default.createElement(raster_image_1.RasterImage, { alt:
|
|
16
|
+
function Avatar(props) {
|
|
17
|
+
var _a, _b, _c;
|
|
18
|
+
const size = (_a = props.size) !== null && _a !== void 0 ? _a : "default";
|
|
19
|
+
const avatarClassName = (0, cx_1.cx)("cms-avatar", `cms-avatar--size-${size}`, `cms-avatar--variant-${(_b = props.variant) !== null && _b !== void 0 ? _b : "default"}`, props.className);
|
|
20
|
+
const restProps = (0, omit_1.omit)(props, ["ref", "alt", "className", "size", "src", "letters", "variant"]);
|
|
21
|
+
if (props.src) {
|
|
22
|
+
return (react_1.default.createElement("span", { className: avatarClassName, ref: props.ref, ...restProps },
|
|
23
|
+
react_1.default.createElement(raster_image_1.RasterImage, { alt: (_c = props.alt) !== null && _c !== void 0 ? _c : "", className: "cms-avatar__image", height: AVATAR_SIZES[size], loading: "lazy", mode: "cover", src: props.src, width: AVATAR_SIZES[size] })));
|
|
53
24
|
}
|
|
54
|
-
return (react_1.default.createElement("div", { className: avatarClassName, ...restProps }, letters));
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
exports.Avatar.displayName = "CmsAvatar";
|
|
25
|
+
return (react_1.default.createElement("div", { className: avatarClassName, ref: props.ref, ...restProps }, props.letters));
|
|
26
|
+
}
|
|
27
|
+
Avatar.displayName = "CmsAvatar";
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|