@uxf/cms 10.0.0-beta.9 → 10.0.1
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/config/container.d.ts +3 -3
- package/deprecated/api/api-client.js +1 -1
- package/deprecated/hoc/with-authenticate.js +3 -3
- package/deprecated/redux/configure-store.js +2 -2
- package/deprecated/redux/entities/actions.d.ts +1 -1
- package/deprecated/redux/entities/index.d.ts +1 -1
- package/deprecated/redux/entities/index.js +1 -1
- package/deprecated/redux/entities/selectors.d.ts +1 -1
- package/deprecated/redux/index.d.ts +2 -2
- package/deprecated/redux/index.js +4 -4
- package/deprecated/redux/types.d.ts +1 -1
- package/deprecated/redux/user/index.d.ts +1 -1
- package/deprecated/redux/user/index.js +1 -1
- package/forms/change-password-form/change-password-form.js +2 -2
- package/forms/components/wysiwyg-input/wysiwyg-input.d.ts +2 -2
- package/forms/components/wysiwyg-input/wysiwyg-input.js +2 -2
- package/forms/forgotten-password-form/forgotten-password-form.js +1 -1
- package/forms/invite-user-form/invite-user-form.js +2 -1
- package/forms/login-form/login-form.js +1 -1
- package/lib/api/create-use-axios-request.js +1 -1
- package/lib/layout/breadcrumbs.js +5 -5
- package/lib/layout/index.d.ts +1 -1
- package/lib/layout/index.js +1 -1
- package/lib/layout/layout-container.js +3 -3
- package/lib/layout/layout.js +26 -24
- package/lib/layout/sidebar.js +35 -21
- package/lib/layout/types.d.ts +1 -0
- package/lib/login-layout/login-layout.js +7 -9
- package/lib/menu/factory.d.ts +5 -5
- package/lib/menu/factory.js +6 -4
- package/lib/menu/index.d.ts +3 -3
- package/lib/menu/index.js +3 -3
- package/lib/menu/mobile-bar.d.ts +4 -2
- package/lib/menu/mobile-bar.js +12 -14
- package/lib/menu/model.d.ts +8 -4
- package/lib/menu/model.js +7 -0
- package/lib/menu/types.d.ts +1 -1
- package/lib/menu/ui/list-item/list-item.js +18 -17
- package/lib/menu/ui/list-item/types.d.ts +6 -5
- package/lib/menu/ui/menu-custom-item.js +2 -4
- package/lib/menu/ui/menu-item.js +11 -12
- package/lib/menu/ui/menu-super-section-item.js +4 -6
- package/lib/menu/ui/menu.js +2 -2
- package/lib/menu/ui/sub-menu/{sub-menuItem.js → sub-menu-item.js} +5 -7
- package/lib/menu/ui/sub-menu/sub-menu-mobile.js +7 -7
- package/lib/menu/ui/sub-menu/sub-menu.js +7 -7
- package/lib/menu/ui/sub-menu/use-sub-menu.d.ts +20 -12
- package/lib/menu/ui/sub-menu/use-sub-menu.js +16 -16
- package/lib/menu/ui/user-menu.js +13 -13
- package/package.json +34 -55
- package/pages/change-password-page/change-password-page.js +1 -1
- package/pages/change-password-page/types.d.ts +1 -1
- package/pages/content-builder/components/form-content.d.ts +1 -1
- package/pages/content-builder/components/form-content.js +5 -5
- package/pages/content-builder/components/form-root-fields.d.ts +1 -1
- package/pages/content-builder/components/form-root-fields.js +2 -2
- package/pages/content-builder/components/form.d.ts +2 -2
- package/pages/content-builder/components/form.js +4 -4
- package/pages/content-builder/components/header.js +2 -2
- package/pages/content-builder/content/feature-section.d.ts +1 -1
- package/pages/content-builder/content/feature-section.js +6 -6
- package/pages/content-builder/content/gallery.d.ts +1 -1
- package/pages/content-builder/content/gallery.js +3 -3
- package/pages/content-builder/content/hero-section.js +2 -2
- package/pages/content-builder/content/people.d.ts +1 -1
- package/pages/content-builder/content/people.js +7 -7
- package/pages/content-builder/content/wysiwyg.d.ts +2 -2
- package/pages/content-builder/content/wysiwyg.js +2 -2
- package/pages/content-builder/content-builder-page.js +4 -4
- package/pages/content-builder/content-field.d.ts +1 -1
- package/pages/content-builder/content-field.js +6 -6
- package/pages/content-builder/content-header.d.ts +1 -1
- package/pages/content-builder/content-header.js +5 -5
- package/pages/content-builder/hooks/use-sortable.js +1 -1
- package/pages/content-builder/index.d.ts +2 -2
- package/pages/content-builder/index.js +2 -2
- package/pages/content-builder/mapper.d.ts +1 -1
- package/pages/content-builder/types.d.ts +4 -6
- package/pages/form-page/base-field.js +14 -14
- package/pages/form-page/field-array.js +2 -2
- package/pages/form-page/form-page.d.ts +2 -1
- package/pages/form-page/form-page.js +7 -7
- package/pages/form-page/form.d.ts +2 -2
- package/pages/form-page/form.js +2 -2
- package/pages/form-page/index.d.ts +3 -3
- package/pages/form-page/index.js +3 -3
- package/pages/form-page/types.d.ts +1 -1
- package/pages/grid-page/grid-page.js +6 -6
- package/pages/grid-page/types.d.ts +2 -2
- package/pages/invite-user-page/invite-user-page.js +1 -0
- package/pages/invite-user-page/types.d.ts +1 -1
- package/pages/login-page/login-page.js +1 -1
- package/pages/renew-password-page/types.d.ts +1 -1
- package/ui/avatar/avatar.d.ts +11 -0
- package/ui/avatar/avatar.js +47 -0
- package/ui/avatar/get-avatar-user-letters.d.ts +1 -0
- package/ui/avatar/get-avatar-user-letters.js +17 -0
- package/ui/avatar/index.d.ts +3 -0
- package/ui/avatar/index.js +5 -0
- package/ui/avatar/theme.d.ts +11 -0
- package/ui/avatar/theme.js +2 -0
- package/ui/copy-to-clipboard-button/copy-to-clipboard-button.js +2 -2
- package/ui/styles/avatar.css +50 -0
- package/ui/styles/breadcrumbs.css +30 -0
- package/ui/styles/layout.css +132 -0
- package/ui/styles/login-layout.css +52 -0
- package/ui/styles/menu.css +217 -0
- package/ui/styles/mobile-bar.css +34 -0
- package/ui/styles/sidebar.css +108 -0
- package/ui/tw-tokens/tw-colors.d.ts +283 -282
- package/ui/tw-tokens/tw-colors.js +283 -282
- package/ui/tw-tokens/tw-line-height.d.ts +8 -8
- package/ui/tw-tokens/tw-line-height.js +8 -8
- package/ui/tw-tokens/tw-spacing.d.ts +34 -34
- package/ui/tw-tokens/tw-spacing.js +34 -34
- package/ui/tw-tokens/tw-z-index.d.ts +8 -7
- package/ui/tw-tokens/tw-z-index.js +8 -7
- package/ui/widget/index.d.ts +1 -1
- package/ui/widget/index.js +1 -1
- package/ui/widget/types.d.ts +1 -1
- package/ui/widget/widget.js +1 -1
- package/utils/styles.css +7 -43
- package/utils/tailwind.config.js +5 -0
- /package/lib/menu/ui/sub-menu/{sub-menuItem.d.ts → sub-menu-item.d.ts} +0 -0
package/config/container.d.ts
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
import {
|
1
|
+
import { FunctionParametersGenerator } from "@uxf/router";
|
2
2
|
import { NextPageContext } from "next";
|
3
|
-
import UserResponse, { FileResponse } from "../api";
|
4
3
|
import { LinkProps } from "next/link";
|
5
|
-
import {
|
4
|
+
import { ReactNode } from "react";
|
5
|
+
import UserResponse, { FileResponse } from "../api";
|
6
6
|
export interface NotificationServiceInterface {
|
7
7
|
info: (message: ReactNode) => void;
|
8
8
|
success: (message: ReactNode) => void;
|
@@ -3,10 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const axios_1 = __importDefault(require("axios"));
|
6
7
|
const ForbiddenError_1 = require("../../errors/ForbiddenError");
|
7
8
|
const NetworkError_1 = require("../../errors/NetworkError");
|
8
9
|
const UnauthorizedError_1 = require("../../errors/UnauthorizedError");
|
9
|
-
const axios_1 = __importDefault(require("axios"));
|
10
10
|
const getClient = (options = {}) => {
|
11
11
|
const client = axios_1.default.create(options);
|
12
12
|
// Add a request interceptor
|
@@ -27,12 +27,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
27
|
};
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
29
29
|
exports.withAuthenticate = void 0;
|
30
|
-
const
|
30
|
+
const react_1 = __importStar(require("react"));
|
31
31
|
const api_1 = require("../../api");
|
32
|
+
const config_1 = require("../../config");
|
33
|
+
const UnauthorizedError_1 = require("../../errors/UnauthorizedError");
|
32
34
|
const user_1 = require("../redux/user");
|
33
|
-
const react_1 = __importStar(require("react"));
|
34
35
|
const cms_authorizator_1 = __importDefault(require("../security/cms-authorizator"));
|
35
|
-
const config_1 = require("../../config");
|
36
36
|
// TODO component any
|
37
37
|
const withAuthenticate = (config) => (Component) => {
|
38
38
|
var _a;
|
@@ -4,13 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.initializeStore = void 0;
|
7
|
+
const extension_1 = require("@redux-devtools/extension");
|
7
8
|
const redux_1 = require("redux");
|
8
|
-
const redux_devtools_extension_1 = require("redux-devtools-extension");
|
9
9
|
const reducer_1 = __importDefault(require("../redux/entities/reducer"));
|
10
10
|
const reducer_2 = __importDefault(require("../redux/user/reducer"));
|
11
11
|
// TODO: create root reducer to have possibility reset store on logout...
|
12
12
|
const initializeStore = (initialState = {}) => (0, redux_1.createStore)((0, redux_1.combineReducers)({
|
13
13
|
entities: reducer_1.default,
|
14
14
|
user: reducer_2.default,
|
15
|
-
}), initialState, (0,
|
15
|
+
}), initialState, (0, extension_1.composeWithDevTools)((0, redux_1.applyMiddleware)()));
|
16
16
|
exports.initializeStore = initializeStore;
|
@@ -1,7 +1,7 @@
|
|
1
|
+
import { Schema } from "@uxf/data-grid";
|
1
2
|
import { EntityMetaSchema } from "../../../api";
|
2
3
|
import { EntityFormSchema } from "../../types/form";
|
3
4
|
import { ActionsUnion } from "../redux-helper";
|
4
|
-
import { Schema } from "@uxf/data-grid";
|
5
5
|
export interface IState {
|
6
6
|
meta: Record<string, EntityMetaSchema>;
|
7
7
|
form: Record<string, EntityFormSchema>;
|
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
__exportStar(require("./selectors"), exports);
|
18
17
|
__exportStar(require("./actions"), exports);
|
18
|
+
__exportStar(require("./selectors"), exports);
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { Schema } from "@uxf/data-grid";
|
2
2
|
import { EntityMetaSchema } from "../../../api";
|
3
|
-
import { IReduxState } from "../types";
|
4
3
|
import { EntityFormSchema } from "../../types/form";
|
4
|
+
import { IReduxState } from "../types";
|
5
5
|
export declare const metaSchemaExistsSelector: (state: IReduxState) => boolean;
|
6
6
|
export declare const metaSchemaSelector: (entityAlias: string) => (state: IReduxState) => EntityMetaSchema;
|
7
7
|
export declare const gridSchemaExistsSelector: (entityAlias: string) => (state: IReduxState) => boolean;
|
@@ -14,9 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
exports.
|
18
|
-
var with_redux_store_1 = require("./with-redux-store");
|
19
|
-
Object.defineProperty(exports, "withReduxStore", { enumerable: true, get: function () { return with_redux_store_1.withReduxStore; } });
|
20
|
-
__exportStar(require("./types"), exports);
|
17
|
+
exports.withReduxStore = exports.useSelector = void 0;
|
21
18
|
var react_redux_1 = require("react-redux");
|
22
19
|
Object.defineProperty(exports, "useSelector", { enumerable: true, get: function () { return react_redux_1.useSelector; } });
|
20
|
+
__exportStar(require("./types"), exports);
|
21
|
+
var with_redux_store_1 = require("./with-redux-store");
|
22
|
+
Object.defineProperty(exports, "withReduxStore", { enumerable: true, get: function () { return with_redux_store_1.withReduxStore; } });
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { ActionTypes as EntitiesActionTypes, IState as IEntitiesState } from "../redux/entities/actions";
|
2
|
-
import {
|
2
|
+
import { IState as IUserState, ActionTypes as UserActionTypes } from "../redux/user/actions";
|
3
3
|
export interface IReduxState {
|
4
4
|
entities: IEntitiesState;
|
5
5
|
user: IUserState;
|
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
__exportStar(require("./selectors"), exports);
|
18
17
|
__exportStar(require("./actions"), exports);
|
18
|
+
__exportStar(require("./selectors"), exports);
|
@@ -4,12 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.ChangePasswordForm = void 0;
|
7
|
-
const react_1 = __importDefault(require("react"));
|
8
7
|
const form_1 = require("@uxf/form/form");
|
9
8
|
const text_input_1 = require("@uxf/form/text-input");
|
10
9
|
const button_1 = require("@uxf/ui/button");
|
11
|
-
const
|
10
|
+
const react_1 = __importDefault(require("react"));
|
12
11
|
const react_hook_form_1 = require("react-hook-form");
|
12
|
+
const widget_1 = require("../../ui/widget");
|
13
13
|
const ChangePasswordForm = (props) => {
|
14
14
|
// eslint-disable-next-line react/destructuring-assignment
|
15
15
|
const { defaultValues, ...formProps } = props;
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { FormControlProps } from "@uxf/ui/types";
|
2
2
|
import { WysiwygContent, WysiwygPlugin } from "@uxf/wysiwyg";
|
3
3
|
import { CreateAllPluginsOptions } from "@uxf/wysiwyg/create-all-plugins-with-ui";
|
4
|
+
import { WysiwygRecursivePlugin } from "@uxf/wysiwyg/types";
|
5
|
+
import { WysiwygEditorProps } from "@uxf/wysiwyg/wysiwyg-editor";
|
4
6
|
import React, { KeyboardEventHandler, ReactNode } from "react";
|
5
7
|
import { FieldValues, UseControllerProps } from "react-hook-form";
|
6
|
-
import { WysiwygEditorProps } from "@uxf/wysiwyg/wysiwyg-editor";
|
7
|
-
import { WysiwygRecursivePlugin } from "@uxf/wysiwyg/types";
|
8
8
|
export type UIWysiwygInputProps = FormControlProps<WysiwygContent, HTMLDivElement> & {
|
9
9
|
allPluginsOptions?: CreateAllPluginsOptions;
|
10
10
|
autoComplete?: string;
|
@@ -27,13 +27,13 @@ exports.WysiwygInput = void 0;
|
|
27
27
|
const classes_1 = require("@uxf/core/constants/classes");
|
28
28
|
const useInputFocus_1 = require("@uxf/core/hooks/useInputFocus");
|
29
29
|
const cx_1 = require("@uxf/core/utils/cx");
|
30
|
+
const file_1 = require("@uxf/core/utils/file");
|
31
|
+
const form_component_1 = require("@uxf/ui/form-component");
|
30
32
|
const wysiwyg_1 = require("@uxf/wysiwyg");
|
31
33
|
const create_all_plugins_with_ui_1 = require("@uxf/wysiwyg/create-all-plugins-with-ui");
|
32
34
|
const react_1 = __importStar(require("react"));
|
33
35
|
const react_hook_form_1 = require("react-hook-form");
|
34
|
-
const file_1 = require("@uxf/core/utils/file");
|
35
36
|
const api_1 = require("../../../api");
|
36
|
-
const form_component_1 = require("@uxf/ui/form-component");
|
37
37
|
function WysiwygInput(props) {
|
38
38
|
var _a, _b, _c, _d, _e;
|
39
39
|
const { field, fieldState } = (0, react_hook_form_1.useController)({
|
@@ -27,8 +27,8 @@ exports.ForgottenPasswordForm = void 0;
|
|
27
27
|
const form_1 = require("@uxf/form/form");
|
28
28
|
const text_input_1 = require("@uxf/form/text-input");
|
29
29
|
const button_1 = require("@uxf/ui/button");
|
30
|
-
const react_1 = __importStar(require("react"));
|
31
30
|
const text_link_1 = require("@uxf/ui/text-link");
|
31
|
+
const react_1 = __importStar(require("react"));
|
32
32
|
const react_hook_form_1 = require("react-hook-form");
|
33
33
|
const ForgottenPasswordForm = (props) => {
|
34
34
|
// eslint-disable-next-line react/destructuring-assignment
|
@@ -1,4 +1,5 @@
|
|
1
1
|
"use strict";
|
2
|
+
"use client";
|
2
3
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
5
|
};
|
@@ -10,8 +11,8 @@ const multi_combobox_1 = require("@uxf/form/multi-combobox");
|
|
10
11
|
const text_input_1 = require("@uxf/form/text-input");
|
11
12
|
const button_1 = require("@uxf/ui/button");
|
12
13
|
const react_1 = __importDefault(require("react"));
|
13
|
-
const widget_1 = require("../../ui/widget");
|
14
14
|
const react_hook_form_1 = require("react-hook-form");
|
15
|
+
const widget_1 = require("../../ui/widget");
|
15
16
|
const InviteUserForm = (props) => {
|
16
17
|
// eslint-disable-next-line react/destructuring-assignment
|
17
18
|
const { defaultValues, ...formProps } = props;
|
@@ -24,11 +24,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
24
24
|
};
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
26
26
|
exports.LoginForm = void 0;
|
27
|
-
const react_1 = __importStar(require("react"));
|
28
27
|
const form_1 = require("@uxf/form/form");
|
29
28
|
const text_input_1 = require("@uxf/form/text-input");
|
30
29
|
const button_1 = require("@uxf/ui/button");
|
31
30
|
const text_link_1 = require("@uxf/ui/text-link");
|
31
|
+
const react_1 = __importStar(require("react"));
|
32
32
|
const react_hook_form_1 = require("react-hook-form");
|
33
33
|
const LoginForm = (props) => {
|
34
34
|
// eslint-disable-next-line react/destructuring-assignment
|
@@ -2,9 +2,9 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.createUseAxiosRequest = void 0;
|
4
4
|
const axios_hooks_1 = require("axios-hooks");
|
5
|
+
const react_1 = require("react");
|
5
6
|
// eslint-disable-next-line import/no-cycle
|
6
7
|
const config_1 = require("../../config");
|
7
|
-
const react_1 = require("react");
|
8
8
|
const createUseAxiosRequest = (axiosInstance, requestConfig) => {
|
9
9
|
const useAxios = (0, axios_hooks_1.makeUseAxios)({
|
10
10
|
axios: axiosInstance,
|
@@ -4,16 +4,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.Breadcrumbs = void 0;
|
7
|
-
const react_1 = __importDefault(require("react"));
|
8
|
-
const link_1 = __importDefault(require("next/link"));
|
9
7
|
const icon_1 = require("@uxf/ui/icon");
|
8
|
+
const link_1 = __importDefault(require("next/link"));
|
9
|
+
const react_1 = __importDefault(require("react"));
|
10
10
|
const Breadcrumbs = (props) => {
|
11
11
|
if (props.items.length === 0) {
|
12
12
|
return null;
|
13
13
|
}
|
14
|
-
return (react_1.default.createElement("div", { className: "uxf-
|
15
|
-
!!index && react_1.default.createElement(icon_1.Icon, { className: "
|
16
|
-
item.href ? (react_1.default.createElement(link_1.default, { href: item.href, className: "
|
14
|
+
return (react_1.default.createElement("div", { className: "uxf-cms-breadcrumbs" }, props.items.map((item, index) => (react_1.default.createElement("span", { className: "uxf-cms-breadcrumbs__item", key: index },
|
15
|
+
!!index && react_1.default.createElement(icon_1.Icon, { className: "uxf-cms-breadcrumbs__divide-icon", name: "angleRight", size: 16 }),
|
16
|
+
item.href ? (react_1.default.createElement(link_1.default, { href: item.href, className: "uxf-cms-breadcrumbs__link" },
|
17
17
|
react_1.default.createElement("span", null, item.title))) : (react_1.default.createElement("span", null, item.title)))))));
|
18
18
|
};
|
19
19
|
exports.Breadcrumbs = Breadcrumbs;
|
package/lib/layout/index.d.ts
CHANGED
package/lib/layout/index.js
CHANGED
@@ -14,6 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
__exportStar(require("./layout"), exports);
|
18
17
|
__exportStar(require("./breadcrumbs"), exports);
|
18
|
+
__exportStar(require("./layout"), exports);
|
19
19
|
__exportStar(require("./types"), exports);
|
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.LayoutContainer = void 0;
|
7
7
|
const react_1 = __importDefault(require("react"));
|
8
8
|
const maxWidthClassName = {
|
9
|
-
narrow: "
|
10
|
-
wide: "
|
9
|
+
narrow: "uxf-cms-layout__container--narrow",
|
10
|
+
wide: "uxf-cms-layout__container--wide",
|
11
11
|
fullWidth: "",
|
12
12
|
none: "",
|
13
13
|
};
|
@@ -17,6 +17,6 @@ const LayoutContainer = (props) => {
|
|
17
17
|
if (type === "none") {
|
18
18
|
return react_1.default.createElement(react_1.default.Fragment, null, props.children);
|
19
19
|
}
|
20
|
-
return (react_1.default.createElement("div", { className: `${maxWidthClassName[type]}
|
20
|
+
return (react_1.default.createElement("div", { className: `${maxWidthClassName[type]} uxf-cms-layout__container ${(_b = props.className) !== null && _b !== void 0 ? _b : ""}` }, props.children));
|
21
21
|
};
|
22
22
|
exports.LayoutContainer = LayoutContainer;
|
package/lib/layout/layout.js
CHANGED
@@ -1,43 +1,45 @@
|
|
1
1
|
"use strict";
|
2
|
+
"use client";
|
2
3
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
5
|
};
|
5
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
7
|
exports.Layout = void 0;
|
8
|
+
const loader_1 = require("@uxf/ui/loader/loader");
|
7
9
|
const head_1 = __importDefault(require("next/head"));
|
8
10
|
const react_1 = __importDefault(require("react"));
|
9
11
|
const config_1 = require("../../config");
|
10
|
-
const sidebar_1 = require("./sidebar");
|
11
|
-
const styles_1 = require("./styles");
|
12
12
|
const breadcrumbs_1 = require("./breadcrumbs");
|
13
|
-
const loader_1 = require("@uxf/ui/loader/loader");
|
14
13
|
const layout_container_1 = require("./layout-container");
|
14
|
+
const sidebar_1 = require("./sidebar");
|
15
|
+
const styles_1 = require("./styles");
|
15
16
|
const Layout = (props) => {
|
16
|
-
var _a;
|
17
|
-
// eslint-disable-next-line react/destructuring-assignment
|
18
|
-
const { Header, Logo, MessageBar, TitleRightContainer, ToolbarRight, breadcrumbs, children, containerType, headerContainerType, loading, mainClassName, menuConfiguration, subtitle, title, stickyHeader, CustomHeader, } = props;
|
17
|
+
var _a, _b;
|
19
18
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
20
19
|
react_1.default.createElement(head_1.default, null,
|
21
20
|
react_1.default.createElement("meta", { name: "viewport", content: "width=device-width, initial-scale=1" }),
|
22
21
|
react_1.default.createElement("meta", { charSet: "utf-8" }),
|
23
|
-
react_1.default.createElement("title", null, `${title} | ${
|
24
|
-
react_1.default.createElement("div", { className: "
|
25
|
-
react_1.default.createElement("div", { className: "
|
26
|
-
react_1.default.createElement(sidebar_1.Sidebar, { menuConfiguration: menuConfiguration, Logo: Logo }),
|
27
|
-
react_1.default.createElement("main", { className: `
|
28
|
-
react_1.default.createElement("div", { className: "
|
22
|
+
react_1.default.createElement("title", null, `${props.title} | ${config_1.config.get("app-name") || ""}`)),
|
23
|
+
react_1.default.createElement("div", { className: "uxf-cms-layout" },
|
24
|
+
react_1.default.createElement("div", { className: "uxf-cms-layout__wrapper" },
|
25
|
+
react_1.default.createElement(sidebar_1.Sidebar, { menuConfiguration: props.menuConfiguration, Logo: props.Logo }),
|
26
|
+
react_1.default.createElement("main", { className: `uxf-cms-layout__main ${(_a = props.mainClassName) !== null && _a !== void 0 ? _a : ""}`, style: { "--drawer-width": `${styles_1.drawerWidth}px` } }, props.loading ? (react_1.default.createElement("div", { className: "uxf-cms-layout__loading" },
|
27
|
+
react_1.default.createElement("div", { className: "uxf-cms-layout__loading-inner" },
|
29
28
|
react_1.default.createElement(loader_1.Loader, null),
|
30
|
-
react_1.default.createElement("p", { className: "
|
31
|
-
CustomHeader ? (CustomHeader) : (react_1.default.createElement("div", { className: `${Header ? "
|
32
|
-
ToolbarRight && (react_1.default.createElement("div", { className: "
|
33
|
-
MessageBar,
|
34
|
-
react_1.default.createElement(layout_container_1.LayoutContainer, { type: headerContainerType !== null &&
|
35
|
-
|
36
|
-
|
37
|
-
react_1.default.createElement("
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
29
|
+
react_1.default.createElement("p", { className: "uxf-cms-layout__loading-text" }, "Na\u010D\u00EDt\u00E1m\u2026")))) : (react_1.default.createElement(react_1.default.Fragment, null,
|
30
|
+
props.CustomHeader ? (props.CustomHeader) : (react_1.default.createElement("div", { className: `${props.Header ? "uxf-cms-layout__header" : ""} ${props.stickyHeader ? "uxf-cms-layout__header--sticky" : ""}` },
|
31
|
+
props.ToolbarRight && (react_1.default.createElement("div", { className: "uxf-cms-layout__toolbar" }, props.ToolbarRight)),
|
32
|
+
props.MessageBar,
|
33
|
+
react_1.default.createElement(layout_container_1.LayoutContainer, { type: (_b = props.headerContainerType) !== null && _b !== void 0 ? _b : props.containerType, className: "uxf-cms-layout__container--basic" },
|
34
|
+
react_1.default.createElement("div", { className: "uxf-cms-layout__avatar-title-wrapper" },
|
35
|
+
props.Avatar,
|
36
|
+
react_1.default.createElement("div", { className: "uxf-cms-layout__breadcrumbs-title-wrapper" },
|
37
|
+
props.breadcrumbs && react_1.default.createElement(breadcrumbs_1.Breadcrumbs, { items: props.breadcrumbs }),
|
38
|
+
react_1.default.createElement("div", { className: "uxf-cms-layout__title-wrapper" },
|
39
|
+
react_1.default.createElement("h1", { className: "uxf-cms-layout__title" }, props.title),
|
40
|
+
props.TitleRightContainer),
|
41
|
+
props.subtitle,
|
42
|
+
props.Header))))),
|
43
|
+
react_1.default.createElement(layout_container_1.LayoutContainer, { type: props.containerType }, props.children))))))));
|
42
44
|
};
|
43
45
|
exports.Layout = Layout;
|
package/lib/layout/sidebar.js
CHANGED
@@ -25,38 +25,52 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
26
26
|
exports.Sidebar = void 0;
|
27
27
|
const react_1 = __importStar(require("react"));
|
28
|
+
const tw_screens_1 = require("../../ui/tw-tokens/tw-screens");
|
28
29
|
const menu_1 = require("../menu");
|
29
|
-
const styles_1 = require("./styles");
|
30
|
-
const user_menu_1 = require("../menu/ui/user-menu");
|
31
30
|
const mobile_bar_1 = require("../menu/mobile-bar");
|
32
|
-
const
|
31
|
+
const user_menu_1 = require("../menu/ui/user-menu");
|
32
|
+
const styles_1 = require("./styles");
|
33
33
|
const uxfLogo = (react_1.default.createElement("svg", { width: "134", height: "30", viewBox: "0 0 179 40" },
|
34
34
|
react_1.default.createElement("path", { fill: "#FFF", fillRule: "evenodd", d: "M33.563 12.874a9.103 9.103 0 0 0 0-12.874L20.69 12.874l.107.105a9.103 9.103 0 0 0 12.766-.105Zm-20.69-6.437a9.103 9.103 0 0 1 .106 12.766l-.105.107L0 6.437a9.103 9.103 0 0 1 12.874 0ZM40 33.563 27.127 20.69l-.106.107a9.103 9.103 0 0 0 12.98 12.766Zm-20.69-6.437-.107-.105A9.103 9.103 0 0 0 6.437 40l12.874-12.874Z", clipRule: "evenodd" }),
|
35
35
|
react_1.default.createElement("path", { fill: "#FFF", fillRule: "evenodd", d: "m84.325 7.295 5.133 8.675h.199l5.158-8.675h6.078l-7.768 12.727 7.942 12.727h-6.19l-5.22-8.687h-.199l-5.22 8.687h-6.165l7.967-12.727-7.818-12.727h6.103Zm-24.194 0v16.07c0 .97.214 1.832.64 2.586a4.58 4.58 0 0 0 1.809 1.777c.779.431 1.686.647 2.722.647 1.044 0 1.953-.216 2.728-.647a4.591 4.591 0 0 0 1.802-1.777c.427-.754.64-1.616.64-2.585V7.296h5.382v16.53c0 1.856-.441 3.48-1.324 4.872-.882 1.392-2.115 2.475-3.697 3.25-1.583.775-3.426 1.162-5.531 1.162-2.113 0-3.96-.387-5.543-1.162-1.583-.775-2.813-1.858-3.692-3.25-.878-1.392-1.317-3.016-1.317-4.872V7.296h5.381ZM170.25 13.41c2.411 0 4.311.51 5.698 1.529 1.388 1.019 2.198 2.407 2.43 4.164l-4.847.298a2.555 2.555 0 0 0-.534-1.125 2.942 2.942 0 0 0-1.075-.808c-.444-.203-.972-.304-1.585-.304-.821 0-1.512.172-2.076.515-.563.344-.845.802-.845 1.374 0 .456.182.84.547 1.156.364.315.99.567 1.877.758l3.455.696c1.856.381 3.24.994 4.151 1.84.912.845 1.367 1.955 1.367 3.33 0 1.252-.366 2.35-1.1 3.294-.733.945-1.736 1.68-3.007 2.206-1.272.526-2.737.79-4.394.79-2.527 0-4.539-.529-6.034-1.585-1.496-1.057-2.372-2.496-2.629-4.32l5.208-.273c.157.77.538 1.357 1.143 1.759.605.402 1.38.603 2.324.603.928 0 1.676-.18 2.244-.54.567-.361.855-.827.864-1.4-.009-.48-.212-.875-.609-1.186-.398-.31-1.011-.55-1.84-.715l-3.306-.659c-1.864-.372-3.25-1.019-4.157-1.938-.908-.92-1.361-2.093-1.361-3.518 0-1.226.333-2.283 1-3.17.667-.886 1.608-1.57 2.821-2.05 1.214-.48 2.637-.72 4.27-.72Zm-36.686.373a12.285 12.285 0 0 0-3.051-.373c-1.525 0-2.865.23-4.021.69-1.156.46-2.098 1.114-2.827 1.964-.73.849-1.219 1.854-1.467 3.014l4.897.397c.182-.63.555-1.153 1.119-1.572.563-.418 1.321-.627 2.274-.627.903 0 1.601.215 2.094.646.493.43.74 1.04.74 1.827v.075c0 .405-.153.712-.46.92-.307.206-.8.362-1.479.465-.68.104-1.574.214-2.685.33-.944.09-1.845.248-2.703.472a7.698 7.698 0 0 0-2.293.994 4.727 4.727 0 0 0-1.591 1.74c-.39.721-.584 1.612-.584 2.673 0 1.259.275 2.31.826 3.15a5.147 5.147 0 0 0 2.256 1.902c.953.427 2.038.64 3.257.64.944 0 1.777-.126 2.498-.38a5.55 5.55 0 0 0 1.852-1.055 5.31 5.31 0 0 0 1.23-1.573h.149v2.648h5.022V19.873c0-1.135-.22-2.11-.659-2.927a5.655 5.655 0 0 0-1.796-2.007 8.039 8.039 0 0 0-2.598-1.156Zm-13.424-2.05V7.294h-16.853v25.454h5.381V22.235h10.354v-4.438h-10.354v-6.065h11.472Zm32.603 1.677c1.326 0 2.482.29 3.468.87.986.58 1.753 1.407 2.3 2.48.546 1.073.82 2.35.82 3.834V32.75h-5.295V21.539c.008-1.169-.29-2.082-.895-2.74-.605-.66-1.437-.989-2.498-.989-.713 0-1.34.153-1.883.46a3.166 3.166 0 0 0-1.268 1.336c-.302.584-.458 1.286-.466 2.107V32.75h-5.295V13.659h5.047v3.368H147a5.358 5.358 0 0 1 2.126-2.641c.994-.65 2.2-.976 3.616-.976Zm-20.061 10.782c.286-.087.512-.184.678-.292v2.026c0 .671-.17 1.272-.51 1.802-.34.53-.808.951-1.404 1.262-.597.31-1.285.466-2.064.466-.812 0-1.481-.189-2.007-.566-.526-.377-.789-.925-.789-1.646 0-.497.128-.914.385-1.25.257-.335.617-.602 1.082-.801a6.547 6.547 0 0 1 1.628-.435l.969-.143a24.15 24.15 0 0 0 1.069-.186c.356-.071.677-.15.963-.237Z", clipRule: "evenodd" })));
|
36
36
|
const Sidebar = (props) => {
|
37
|
-
|
38
|
-
const { menuConfiguration, Logo, CustomSidebar } = props;
|
37
|
+
var _a, _b;
|
39
38
|
const [deviceHeight, setDeviceHeight] = (0, react_1.useState)(0);
|
40
39
|
const [isMenuOpen, setIsMenuOpen] = (0, react_1.useState)(false);
|
41
40
|
const toggleMenu = () => setIsMenuOpen((prev) => !prev);
|
42
|
-
(0,
|
43
|
-
const
|
44
|
-
|
45
|
-
|
41
|
+
(0, react_1.useEffect)(() => {
|
42
|
+
const handler = () => { var _a, _b; return setDeviceHeight((_b = (_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.height) !== null && _b !== void 0 ? _b : window.innerHeight); };
|
43
|
+
handler();
|
44
|
+
window.addEventListener("resize", handler);
|
45
|
+
return () => {
|
46
|
+
window.removeEventListener("resize", handler);
|
47
|
+
};
|
48
|
+
}, []);
|
49
|
+
(0, react_1.useEffect)(() => {
|
50
|
+
const handler = () => {
|
51
|
+
if (!window.matchMedia(`(min-width: ${tw_screens_1.twScreens.md})`).matches && isMenuOpen) {
|
52
|
+
document.body.style.overflow = "hidden";
|
53
|
+
}
|
54
|
+
else {
|
55
|
+
document.body.style.overflow = "";
|
56
|
+
}
|
46
57
|
};
|
47
|
-
|
48
|
-
window.addEventListener("resize",
|
58
|
+
handler();
|
59
|
+
window.addEventListener("resize", handler);
|
49
60
|
return () => {
|
50
|
-
|
61
|
+
document.body.style.overflow = "";
|
62
|
+
window.removeEventListener("resize", handler);
|
51
63
|
};
|
52
|
-
});
|
53
|
-
return (CustomSidebar !== null &&
|
54
|
-
react_1.default.createElement("div", { className: `
|
55
|
-
react_1.default.createElement("div", { className: "sidebar__logo
|
56
|
-
menuConfiguration && menuConfiguration.length > 0 && (react_1.default.createElement(react_1.default.Fragment, null,
|
57
|
-
react_1.default.createElement("div", { className: `
|
58
|
-
|
59
|
-
|
60
|
-
|
64
|
+
}, [isMenuOpen]);
|
65
|
+
return ((_a = props.CustomSidebar) !== null && _a !== void 0 ? _a : (react_1.default.createElement("div", { className: "uxf-cms-sidebar", style: { "--drawer-width": `${styles_1.drawerWidth}px` } },
|
66
|
+
react_1.default.createElement("div", { className: `uxf-cms-sidebar__content ${isMenuOpen ? "uxf-cms-sidebar__content--open" : "uxf-cms-sidebar__content--closed"}`, style: { "--device-height": `${deviceHeight}px` } },
|
67
|
+
react_1.default.createElement("div", { className: "uxf-cms-sidebar__logo" }, (_b = props.Logo) !== null && _b !== void 0 ? _b : uxfLogo),
|
68
|
+
props.menuConfiguration && props.menuConfiguration.length > 0 && (react_1.default.createElement(react_1.default.Fragment, null,
|
69
|
+
react_1.default.createElement("div", { className: `uxf-cms-sidebar__nav ${props.menuConfiguration[0].type === "super-section"
|
70
|
+
? "uxf-cms-sidebar__nav--super-section"
|
71
|
+
: ""}` },
|
72
|
+
react_1.default.createElement(menu_1.Menu, { menu: props.menuConfiguration })),
|
73
|
+
react_1.default.createElement(user_menu_1.UserMenu, { menu: props.menuConfiguration })))),
|
74
|
+
props.menuConfiguration && (react_1.default.createElement(mobile_bar_1.MobileBar, { menuConfiguration: props.menuConfiguration, toggleMenu: toggleMenu })))));
|
61
75
|
};
|
62
76
|
exports.Sidebar = Sidebar;
|
package/lib/layout/types.d.ts
CHANGED
@@ -6,6 +6,7 @@ export interface LayoutContainerProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
6
|
type?: LayoutContainerType;
|
7
7
|
}
|
8
8
|
export type LayoutProps = SidebarProps & {
|
9
|
+
Avatar?: ReactNode;
|
9
10
|
children?: ReactNode;
|
10
11
|
containerType?: LayoutContainerType;
|
11
12
|
headerContainerType?: LayoutContainerType;
|
@@ -4,18 +4,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.LoginLayout = void 0;
|
7
|
+
const paper_1 = require("@uxf/ui/paper/paper");
|
7
8
|
const head_1 = __importDefault(require("next/head"));
|
8
9
|
const react_1 = __importDefault(require("react"));
|
9
|
-
const paper_1 = require("@uxf/ui/paper/paper");
|
10
10
|
const LoginLayout = (props) => {
|
11
|
-
|
12
|
-
const { hideTitle, title, subTitle, pageTitle, children, Logo } = props;
|
13
|
-
return (react_1.default.createElement("div", { className: "flex min-h-screen flex-col items-center justify-center bg-gray-100 p-4 dark:bg-gray-900 dark:text-darkHigh" },
|
11
|
+
return (react_1.default.createElement("div", { className: "uxf-cms-login-layout" },
|
14
12
|
react_1.default.createElement(head_1.default, null,
|
15
|
-
react_1.default.createElement("title", null, pageTitle || "")),
|
16
|
-
Logo && react_1.default.createElement("div", { className: "
|
17
|
-
title && react_1.default.createElement("h1", { className: hideTitle ? "
|
18
|
-
subTitle && react_1.default.createElement("p", { className: "uxf-
|
19
|
-
react_1.default.createElement(paper_1.Paper, { className: "
|
13
|
+
react_1.default.createElement("title", null, props.pageTitle || "")),
|
14
|
+
props.Logo && react_1.default.createElement("div", { className: "uxf-cms-login-layout__logo-wrapper" }, props.Logo),
|
15
|
+
props.title && (react_1.default.createElement("h1", { className: `uxf-cms-login-layout__title ${props.hideTitle ? "uxf-cms-login-layout__title--hidden" : ""}` }, props.title)),
|
16
|
+
props.subTitle && react_1.default.createElement("p", { className: "uxf-cms-login-layout__subtitle" }, props.subTitle),
|
17
|
+
react_1.default.createElement(paper_1.Paper, { className: "uxf-cms-login-layout__body" }, props.children)));
|
20
18
|
};
|
21
19
|
exports.LoginLayout = LoginLayout;
|
package/lib/menu/factory.d.ts
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
import { MenuItem, UserMenuData } from "./model";
|
2
1
|
import { IconName } from "@uxf/ui/icon/types";
|
3
|
-
import { ReactNode } from "react";
|
2
|
+
import { ReactElement, ReactNode } from "react";
|
3
|
+
import { MenuItem, UserMenuData } from "./model";
|
4
4
|
export declare function createCustomContent(title: string, content: ReactNode): MenuItem;
|
5
5
|
export declare function createSuperSection(title: string, children?: MenuItem[]): MenuItem;
|
6
6
|
export declare function createSection(title: string, icon?: IconName, children?: MenuItem[]): MenuItem;
|
7
|
-
export declare function createLink(title: string, routeName: string, routeParams?: any, icon?: IconName): MenuItem;
|
8
|
-
export declare function createExternalLink(title: string, href: string, icon?: IconName): MenuItem;
|
7
|
+
export declare function createLink(title: string, routeName: string, routeParams?: any, icon?: IconName, endElement?: ReactElement): MenuItem;
|
8
|
+
export declare function createExternalLink(title: string, href: string, icon?: IconName, endElement?: ReactElement): MenuItem;
|
9
9
|
export declare function createUserMenu(userMenuData: UserMenuData, children?: MenuItem[]): MenuItem;
|
10
|
-
export declare function createTableLink(title: string, entityAlias: string, icon?: IconName): MenuItem;
|
10
|
+
export declare function createTableLink(title: string, entityAlias: string, icon?: IconName, endElement?: ReactElement): MenuItem;
|
package/lib/menu/factory.js
CHANGED
@@ -15,25 +15,27 @@ function createSection(title, icon, children) {
|
|
15
15
|
return model_1.MenuItem.create(title, "section").setIcon(icon).setChildren(children);
|
16
16
|
}
|
17
17
|
exports.createSection = createSection;
|
18
|
-
function createLink(title, routeName, routeParams, icon) {
|
18
|
+
function createLink(title, routeName, routeParams, icon, endElement) {
|
19
19
|
return model_1.MenuItem.create(title, "link")
|
20
20
|
.setRoute(routeName, routeParams)
|
21
21
|
.setIcon(icon)
|
22
|
+
.setEndElement(endElement)
|
22
23
|
.setActiveResolver(active_item_resolver_1.ActiveItemResolver.anyOf([routeName]));
|
23
24
|
}
|
24
25
|
exports.createLink = createLink;
|
25
|
-
function createExternalLink(title, href, icon) {
|
26
|
-
return model_1.MenuItem.create(title, "link").setIsExternal(true).setIcon(icon).setUrl(href);
|
26
|
+
function createExternalLink(title, href, icon, endElement) {
|
27
|
+
return model_1.MenuItem.create(title, "link").setIsExternal(true).setIcon(icon).setEndElement(endElement).setUrl(href);
|
27
28
|
}
|
28
29
|
exports.createExternalLink = createExternalLink;
|
29
30
|
function createUserMenu(userMenuData, children) {
|
30
31
|
return model_1.MenuItem.create("Můj profil", "super-section").setUserMenuData(userMenuData).setChildren(children);
|
31
32
|
}
|
32
33
|
exports.createUserMenu = createUserMenu;
|
33
|
-
function createTableLink(title, entityAlias, icon) {
|
34
|
+
function createTableLink(title, entityAlias, icon, endElement) {
|
34
35
|
return model_1.MenuItem.create(title, "link")
|
35
36
|
.setRoute("cms/table", { entityAlias })
|
36
37
|
.setIcon(icon)
|
38
|
+
.setEndElement(endElement)
|
37
39
|
.setActiveResolver(active_item_resolver_1.ActiveItemResolver.tableLink());
|
38
40
|
}
|
39
41
|
exports.createTableLink = createTableLink;
|
package/lib/menu/index.d.ts
CHANGED
package/lib/menu/index.js
CHANGED
@@ -14,8 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
__exportStar(require("./
|
18
|
-
__exportStar(require("./ui/menu-item"), exports);
|
17
|
+
__exportStar(require("./active-item-resolver"), exports);
|
19
18
|
__exportStar(require("./factory"), exports);
|
20
19
|
__exportStar(require("./types"), exports);
|
21
|
-
__exportStar(require("./
|
20
|
+
__exportStar(require("./ui/menu"), exports);
|
21
|
+
__exportStar(require("./ui/menu-item"), exports);
|
package/lib/menu/mobile-bar.d.ts
CHANGED