@uxf/cms 11.73.0 → 11.74.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/content-builder/content-builder-header.js +3 -1
- package/content-builder/content-builder.js +5 -3
- package/content-builder/forms/content-builder-basic-form.js +10 -8
- package/content-builder/forms/content-builder-seo-form.js +8 -6
- package/content-builder/translations.d.ts +127 -0
- package/content-builder/translations.js +128 -0
- package/forms/change-password-form/change-password-form.js +9 -4
- package/forms/change-password-form/translations.d.ts +35 -0
- package/forms/change-password-form/translations.js +36 -0
- package/forms/forgotten-password-form/forgotten-password-form.js +4 -2
- package/forms/forgotten-password-form/translations.d.ts +17 -0
- package/forms/forgotten-password-form/translations.js +18 -0
- package/forms/invite-user-form/invite-user-form.js +7 -5
- package/forms/invite-user-form/translations.d.ts +35 -0
- package/forms/invite-user-form/translations.js +36 -0
- package/forms/login-form/login-form.js +5 -3
- package/forms/login-form/translations.d.ts +23 -0
- package/forms/login-form/translations.js +24 -0
- package/forms/renew-password-form/renew-password-form.js +8 -3
- package/forms/renew-password-form/translations.d.ts +29 -0
- package/forms/renew-password-form/translations.js +30 -0
- package/lib/menu/ui/translations.d.ts +17 -0
- package/lib/menu/ui/translations.js +18 -0
- package/lib/menu/ui/user-menu.js +3 -1
- package/package.json +6 -6
- package/pages/content-builder/components/header.js +3 -1
- package/pages/content-builder/content/feature-section.js +17 -14
- package/pages/content-builder/content/gallery.js +6 -4
- package/pages/content-builder/content/hero-section.js +10 -6
- package/pages/content-builder/content/people.js +19 -15
- package/pages/content-builder/content/wysiwyg.js +9 -5
- package/pages/content-builder/content-header.js +4 -2
- package/pages/grid-page/grid-page.js +3 -1
- package/pages/translations.d.ts +93 -0
- package/pages/translations.js +94 -0
- package/security/restricted-page.d.ts +2 -1
- package/security/restricted-page.js +7 -5
- package/security/translations.d.ts +29 -0
- package/security/translations.js +30 -0
- package/translations/translations.d.ts +429 -0
- package/translations/translations.js +31 -0
- package/ui/copy-to-clipboard/copy-to-clipboard.js +4 -2
- package/ui/copy-to-clipboard/translations.d.ts +17 -0
- package/ui/copy-to-clipboard/translations.js +18 -0
- package/ui/copy-to-clipboard-button/copy-to-clipboard-button.js +6 -2
- package/ui/copy-to-clipboard-button/translations.d.ts +17 -0
- package/ui/copy-to-clipboard-button/translations.js +18 -0
- package/utils/remove-confirm-handler.js +10 -5
- package/utils/translations.d.ts +23 -0
- package/utils/translations.js +24 -0
@@ -0,0 +1,36 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.default = {
|
4
|
+
"uxf-cms-invite-user-form": {
|
5
|
+
save: {
|
6
|
+
cs: "Uložit",
|
7
|
+
en: "Save",
|
8
|
+
sk: "Uložiť",
|
9
|
+
de: "Speichern",
|
10
|
+
},
|
11
|
+
name: {
|
12
|
+
cs: "Jméno",
|
13
|
+
en: "Name",
|
14
|
+
sk: "Meno",
|
15
|
+
de: "Name",
|
16
|
+
},
|
17
|
+
surname: {
|
18
|
+
cs: "Příjmení",
|
19
|
+
en: "Surname",
|
20
|
+
sk: "Priezvisko",
|
21
|
+
de: "Nachname",
|
22
|
+
},
|
23
|
+
roles: {
|
24
|
+
cs: "Role",
|
25
|
+
en: "Roles",
|
26
|
+
sk: "Roly",
|
27
|
+
de: "Rollen",
|
28
|
+
},
|
29
|
+
"send-invitation": {
|
30
|
+
cs: "Odeslat pozvánku",
|
31
|
+
en: "Send invitation",
|
32
|
+
sk: "Odoslať pozvánku",
|
33
|
+
de: "Einladung senden",
|
34
|
+
},
|
35
|
+
},
|
36
|
+
};
|
@@ -24,6 +24,7 @@ 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 translations_1 = require("@uxf/core-react/translations");
|
27
28
|
const form_1 = require("@uxf/form/form");
|
28
29
|
const text_input_1 = require("@uxf/form/text-input");
|
29
30
|
const button_1 = require("@uxf/ui/button");
|
@@ -33,6 +34,7 @@ const react_hook_form_1 = require("react-hook-form");
|
|
33
34
|
const LoginForm = (props) => {
|
34
35
|
// eslint-disable-next-line react/destructuring-assignment
|
35
36
|
const { onForgottenPassword, ...formProps } = props;
|
37
|
+
const t = (0, translations_1.useUxfTranslation)();
|
36
38
|
const formApi = (0, react_hook_form_1.useForm)();
|
37
39
|
const [formDisabled, setFormDisabled] = (0, react_1.useState)(true);
|
38
40
|
(0, react_1.useEffect)(() => {
|
@@ -41,9 +43,9 @@ const LoginForm = (props) => {
|
|
41
43
|
return (react_1.default.createElement(form_1.Form, { formApi: formApi, id: "login-form", ...formProps },
|
42
44
|
react_1.default.createElement("div", { className: "space-y-6" },
|
43
45
|
react_1.default.createElement(text_input_1.TextInput, { control: formApi.control, isDisabled: formDisabled, isRequired: true, label: "E-mail", name: "username", type: "email" }),
|
44
|
-
react_1.default.createElement(text_input_1.TextInput, { control: formApi.control, isDisabled: formDisabled, isRequired: true, label: "
|
46
|
+
react_1.default.createElement(text_input_1.TextInput, { control: formApi.control, isDisabled: formDisabled, isRequired: true, label: t("uxf-cms-login-form:password"), name: "password", type: "password" }),
|
45
47
|
onForgottenPassword && (react_1.default.createElement("div", { className: "text-right" },
|
46
|
-
react_1.default.createElement(text_link_1.TextLink, { className: "uxf-typo-medium2 text-primary", isDisabled: formApi.formState.isSubmitting, onClick: onForgottenPassword }, "
|
47
|
-
react_1.default.createElement(button_1.Button, { isFullWidth: true, type: "submit" }, "
|
48
|
+
react_1.default.createElement(text_link_1.TextLink, { className: "uxf-typo-medium2 text-primary", isDisabled: formApi.formState.isSubmitting, onClick: onForgottenPassword }, t("uxf-cms-login-form:forgot-password")))),
|
49
|
+
react_1.default.createElement(button_1.Button, { isFullWidth: true, type: "submit" }, t("uxf-cms-login-form:login")))));
|
48
50
|
};
|
49
51
|
exports.LoginForm = LoginForm;
|
@@ -0,0 +1,23 @@
|
|
1
|
+
declare const _default: {
|
2
|
+
"uxf-cms-login-form": {
|
3
|
+
password: {
|
4
|
+
cs: string;
|
5
|
+
en: string;
|
6
|
+
sk: string;
|
7
|
+
de: string;
|
8
|
+
};
|
9
|
+
"forgot-password": {
|
10
|
+
cs: string;
|
11
|
+
en: string;
|
12
|
+
sk: string;
|
13
|
+
de: string;
|
14
|
+
};
|
15
|
+
login: {
|
16
|
+
cs: string;
|
17
|
+
en: string;
|
18
|
+
sk: string;
|
19
|
+
de: string;
|
20
|
+
};
|
21
|
+
};
|
22
|
+
};
|
23
|
+
export default _default;
|
@@ -0,0 +1,24 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.default = {
|
4
|
+
"uxf-cms-login-form": {
|
5
|
+
password: {
|
6
|
+
cs: "Heslo",
|
7
|
+
en: "Password",
|
8
|
+
sk: "Heslo",
|
9
|
+
de: "Passwort",
|
10
|
+
},
|
11
|
+
"forgot-password": {
|
12
|
+
cs: "Nepamatujete si své heslo?",
|
13
|
+
en: "Don't remember your password?",
|
14
|
+
sk: "Nepamätáte si svoje heslo?",
|
15
|
+
de: "Passwort vergessen?",
|
16
|
+
},
|
17
|
+
login: {
|
18
|
+
cs: "Přihlásit se",
|
19
|
+
en: "Login",
|
20
|
+
sk: "Prihlásiť sa",
|
21
|
+
de: "Anmelden",
|
22
|
+
},
|
23
|
+
},
|
24
|
+
};
|
@@ -24,6 +24,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
24
24
|
};
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
26
26
|
exports.RenewPasswordForm = void 0;
|
27
|
+
const translations_1 = require("@uxf/core-react/translations");
|
27
28
|
const form_1 = require("@uxf/form/form");
|
28
29
|
const text_input_1 = require("@uxf/form/text-input");
|
29
30
|
const button_1 = require("@uxf/ui/button");
|
@@ -32,6 +33,7 @@ const react_hook_form_1 = require("react-hook-form");
|
|
32
33
|
const RenewPasswordForm = (props) => {
|
33
34
|
// eslint-disable-next-line react/destructuring-assignment
|
34
35
|
const { defaultValues, ...formProps } = props;
|
36
|
+
const t = (0, translations_1.useUxfTranslation)();
|
35
37
|
const [formDisabled, setFormDisabled] = (0, react_1.useState)(true);
|
36
38
|
const formApi = (0, react_hook_form_1.useForm)({
|
37
39
|
defaultValues,
|
@@ -41,8 +43,11 @@ const RenewPasswordForm = (props) => {
|
|
41
43
|
}, []);
|
42
44
|
return (react_1.default.createElement(form_1.Form, { formApi: formApi, id: "renew-password-form", ...formProps },
|
43
45
|
react_1.default.createElement("div", { className: "space-y-6" },
|
44
|
-
react_1.default.createElement(text_input_1.TextInput, { control: formApi.control, isDisabled: formDisabled, isRequired: true, label: "
|
45
|
-
react_1.default.createElement(text_input_1.TextInput, { control: formApi.control, isDisabled: formDisabled, isRequired: true, label: "
|
46
|
-
|
46
|
+
react_1.default.createElement(text_input_1.TextInput, { control: formApi.control, isDisabled: formDisabled, isRequired: true, label: t("uxf-cms-renew-password-form:new-password"), name: "password", rules: props.passwordRules, type: "password" }),
|
47
|
+
react_1.default.createElement(text_input_1.TextInput, { control: formApi.control, isDisabled: formDisabled, isRequired: true, label: t("uxf-cms-renew-password-form:new-password-again"), name: "passwordAgain", rules: {
|
48
|
+
validate: (v) => v === formApi.getValues("password") ||
|
49
|
+
t("uxf-cms-renew-password-form:passwords-must-match"),
|
50
|
+
}, type: "password" }),
|
51
|
+
react_1.default.createElement(button_1.Button, { isDisabled: formDisabled || formApi.formState.isSubmitting, isFullWidth: true, isLoading: formApi.formState.isSubmitting, type: "submit" }, t("uxf-cms-renew-password-form:change-password")))));
|
47
52
|
};
|
48
53
|
exports.RenewPasswordForm = RenewPasswordForm;
|
@@ -0,0 +1,29 @@
|
|
1
|
+
declare const _default: {
|
2
|
+
"uxf-cms-renew-password-form": {
|
3
|
+
"new-password": {
|
4
|
+
cs: string;
|
5
|
+
en: string;
|
6
|
+
sk: string;
|
7
|
+
de: string;
|
8
|
+
};
|
9
|
+
"new-password-again": {
|
10
|
+
cs: string;
|
11
|
+
en: string;
|
12
|
+
sk: string;
|
13
|
+
de: string;
|
14
|
+
};
|
15
|
+
"passwords-must-match": {
|
16
|
+
cs: string;
|
17
|
+
en: string;
|
18
|
+
sk: string;
|
19
|
+
de: string;
|
20
|
+
};
|
21
|
+
"change-password": {
|
22
|
+
cs: string;
|
23
|
+
en: string;
|
24
|
+
sk: string;
|
25
|
+
de: string;
|
26
|
+
};
|
27
|
+
};
|
28
|
+
};
|
29
|
+
export default _default;
|
@@ -0,0 +1,30 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.default = {
|
4
|
+
"uxf-cms-renew-password-form": {
|
5
|
+
"new-password": {
|
6
|
+
cs: "Nové heslo",
|
7
|
+
en: "New password",
|
8
|
+
sk: "Nové heslo",
|
9
|
+
de: "Neues Passwort",
|
10
|
+
},
|
11
|
+
"new-password-again": {
|
12
|
+
cs: "Znovu nové heslo",
|
13
|
+
en: "New password again",
|
14
|
+
sk: "Znovu nové heslo",
|
15
|
+
de: "Neues Passwort wiederholen",
|
16
|
+
},
|
17
|
+
"passwords-must-match": {
|
18
|
+
cs: "Hesla musí být stejná",
|
19
|
+
en: "Passwords must match",
|
20
|
+
sk: "Heslá musia byť rovnaké",
|
21
|
+
de: "Passwörter müssen übereinstimmen",
|
22
|
+
},
|
23
|
+
"change-password": {
|
24
|
+
cs: "Změnit heslo",
|
25
|
+
en: "Change password",
|
26
|
+
sk: "Zmeniť heslo",
|
27
|
+
de: "Passwort ändern",
|
28
|
+
},
|
29
|
+
},
|
30
|
+
};
|
@@ -0,0 +1,17 @@
|
|
1
|
+
declare const _default: {
|
2
|
+
"uxf-cms-user-menu": {
|
3
|
+
"default-user": {
|
4
|
+
cs: string;
|
5
|
+
en: string;
|
6
|
+
sk: string;
|
7
|
+
de: string;
|
8
|
+
};
|
9
|
+
"not-logged-in": {
|
10
|
+
cs: string;
|
11
|
+
en: string;
|
12
|
+
sk: string;
|
13
|
+
de: string;
|
14
|
+
};
|
15
|
+
};
|
16
|
+
};
|
17
|
+
export default _default;
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.default = {
|
4
|
+
"uxf-cms-user-menu": {
|
5
|
+
"default-user": {
|
6
|
+
cs: "Uživatel",
|
7
|
+
en: "User",
|
8
|
+
sk: "Používateľ",
|
9
|
+
de: "Benutzer",
|
10
|
+
},
|
11
|
+
"not-logged-in": {
|
12
|
+
cs: "nepřihlášený",
|
13
|
+
en: "not logged in",
|
14
|
+
sk: "neprihlásený",
|
15
|
+
de: "nicht angemeldet",
|
16
|
+
},
|
17
|
+
},
|
18
|
+
};
|
package/lib/menu/ui/user-menu.js
CHANGED
@@ -24,6 +24,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
24
24
|
};
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
26
26
|
exports.UserMenu = void 0;
|
27
|
+
const translations_1 = require("@uxf/core-react/translations");
|
27
28
|
const classes_1 = require("@uxf/core/constants/classes");
|
28
29
|
const empty_array_1 = require("@uxf/core/constants/empty-array");
|
29
30
|
const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
|
@@ -48,6 +49,7 @@ const Component = (props) => {
|
|
48
49
|
const UserMenu = (props) => {
|
49
50
|
var _a, _b, _c, _d, _e, _f;
|
50
51
|
const userMenu = props.menu.find((item) => (0, is_not_nil_1.isNotNil)(item.userMenuData));
|
51
|
-
|
52
|
+
const t = (0, translations_1.useUxfTranslation)();
|
53
|
+
return (react_1.default.createElement(Component, { avatar: (_a = userMenu === null || userMenu === void 0 ? void 0 : userMenu.userMenuData) === null || _a === void 0 ? void 0 : _a.avatar, name: (_c = (_b = userMenu === null || userMenu === void 0 ? void 0 : userMenu.userMenuData) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : t("uxf-cms-user-menu:default-user"), roles: (_e = (_d = userMenu === null || userMenu === void 0 ? void 0 : userMenu.userMenuData) === null || _d === void 0 ? void 0 : _d.roles) !== null && _e !== void 0 ? _e : t("uxf-cms-user-menu:not-logged-in"), submenu: (_f = userMenu === null || userMenu === void 0 ? void 0 : userMenu.children) !== null && _f !== void 0 ? _f : empty_array_1.EMPTY_ARRAY }));
|
52
54
|
};
|
53
55
|
exports.UserMenu = UserMenu;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@uxf/cms",
|
3
|
-
"version": "11.
|
3
|
+
"version": "11.74.1",
|
4
4
|
"description": "UXF Cms",
|
5
5
|
"author": "UXFans <dev@uxf.cz>",
|
6
6
|
"homepage": "https://gitlab.com/uxf-npm/cms#readme",
|
@@ -31,12 +31,12 @@
|
|
31
31
|
"@floating-ui/react": "0.26.28",
|
32
32
|
"@redux-devtools/extension": "3.3.0",
|
33
33
|
"@uxf/core": "11.72.3",
|
34
|
-
"@uxf/core-react": "11.
|
35
|
-
"@uxf/data-grid": "11.
|
36
|
-
"@uxf/form": "11.
|
34
|
+
"@uxf/core-react": "11.74.1",
|
35
|
+
"@uxf/data-grid": "11.74.1",
|
36
|
+
"@uxf/form": "11.74.1",
|
37
37
|
"@uxf/router": "11.72.5",
|
38
|
-
"@uxf/ui": "11.
|
39
|
-
"@uxf/wysiwyg": "11.
|
38
|
+
"@uxf/ui": "11.74.1",
|
39
|
+
"@uxf/wysiwyg": "11.74.1",
|
40
40
|
"axios": "1.7.5",
|
41
41
|
"axios-hooks": "5.0.2",
|
42
42
|
"es6-error": "4.1.1",
|
@@ -4,13 +4,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.Header = Header;
|
7
|
+
const translations_1 = require("@uxf/core-react/translations");
|
7
8
|
const react_1 = __importDefault(require("react"));
|
8
9
|
const layout_container_1 = require("../../../lib/layout/layout-container");
|
9
10
|
const constants_1 = require("../constants");
|
10
11
|
function Header(props) {
|
12
|
+
const t = (0, translations_1.useUxfTranslation)();
|
11
13
|
return (react_1.default.createElement("div", { className: "sticky top-0 z-10 bg-white shadow-md dark:bg-gray-950", id: constants_1.CONTENT_BUILDER_PAGE_HEADER_ID },
|
12
14
|
react_1.default.createElement(layout_container_1.LayoutContainer, { className: "flex items-center justify-between py-4" },
|
13
15
|
react_1.default.createElement("h1", { className: "uxf-typo-h5" }, props.title),
|
14
16
|
" ",
|
15
|
-
react_1.default.createElement("button", { className: "uxf-button uxf-button--color-default uxf-button--size-default uxf-button--variant-default is-hoverable", form: constants_1.CONTENT_BUILDER_FORM_ID, type: "submit" }, "
|
17
|
+
react_1.default.createElement("button", { className: "uxf-button uxf-button--color-default uxf-button--size-default uxf-button--variant-default is-hoverable", form: constants_1.CONTENT_BUILDER_FORM_ID, type: "submit" }, t("uxf-cms-pages-content-builder:components.header.save")))));
|
16
18
|
}
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.FeatureSection = void 0;
|
7
|
+
const translations_1 = require("@uxf/core-react/translations");
|
7
8
|
const upload_file_1 = require("@uxf/core/api/upload-file");
|
8
9
|
const file_input_1 = require("@uxf/form/file-input");
|
9
10
|
const text_input_1 = require("@uxf/form/text-input");
|
@@ -16,44 +17,46 @@ const details_visibility_context_1 = require("../context/details-visibility-cont
|
|
16
17
|
const fileUploadHandler = (0, upload_file_1.createUploadHandler)("default");
|
17
18
|
const FeatureSection = (props) => {
|
18
19
|
const [visibility] = (0, details_visibility_context_1.useDetailsVisibilityForSection)(props.id);
|
20
|
+
const t = (0, translations_1.useUxfTranslation)();
|
19
21
|
const { fields, remove, append } = (0, react_hook_form_1.useFieldArray)({ control: props.control, name: `${props.name}.features` });
|
20
22
|
return (react_1.default.createElement("div", { className: "divide-lightBorder dark:divide-darkBorder divide-y" },
|
21
23
|
react_1.default.createElement(content_header_1.ContentHeader, { ...props }),
|
22
24
|
visibility && (react_1.default.createElement("div", { className: "p-4" },
|
23
25
|
react_1.default.createElement("div", { className: "mt-2 grid grid-cols-12 gap-4" },
|
24
26
|
react_1.default.createElement("div", { className: "col-span-12 sm:col-span-6" },
|
25
|
-
react_1.default.createElement(text_input_1.TextInput, { control: props.control, isRequired: true, label: "
|
27
|
+
react_1.default.createElement(text_input_1.TextInput, { control: props.control, isRequired: true, label: t("uxf-cms-pages-content-builder:content.feature-section.title"), name: `${props.name}.title` })),
|
26
28
|
react_1.default.createElement("div", { className: "col-span-12 sm:col-span-6" },
|
27
|
-
react_1.default.createElement(text_input_1.TextInput, { control: props.control, label: "
|
29
|
+
react_1.default.createElement(text_input_1.TextInput, { control: props.control, label: t("uxf-cms-pages-content-builder:content.feature-section.subtitle"), name: `${props.name}.subtitle` })),
|
28
30
|
react_1.default.createElement("div", { className: "col-span-12" },
|
29
31
|
fields.map((field, index) => {
|
30
32
|
const handleRemove = () => {
|
33
|
+
if (
|
31
34
|
// eslint-disable-next-line no-alert
|
32
|
-
|
35
|
+
confirm(t("uxf-cms-pages-content-builder:content.feature-section.confirm-delete-feature"))) {
|
33
36
|
remove(index);
|
34
37
|
}
|
35
38
|
};
|
36
39
|
return (react_1.default.createElement("div", { className: "border-primary mb-8 border-l-2 pl-8", key: field.id },
|
37
40
|
react_1.default.createElement("div", { className: "flex justify-between" },
|
38
|
-
react_1.default.createElement("h4", { className: "uxf-typo-h6" },
|
39
|
-
"Feature #",
|
40
|
-
index + 1),
|
41
|
+
react_1.default.createElement("h4", { className: "uxf-typo-h6" }, t("uxf-cms-pages-content-builder:content.feature-section.feature-title", { index: index + 1 })),
|
41
42
|
index > 0 ? (react_1.default.createElement("div", null,
|
42
|
-
react_1.default.createElement(button_1.Button, { onClick: handleRemove, size: "sm", variant: "secondary" }, "
|
43
|
+
react_1.default.createElement(button_1.Button, { onClick: handleRemove, size: "sm", variant: "secondary" }, t("uxf-cms-pages-content-builder:content.feature-section.delete-feature")))) : (react_1.default.createElement("div", null))),
|
43
44
|
react_1.default.createElement("div", { className: "mt-2 grid grid-cols-12 gap-4" },
|
44
45
|
react_1.default.createElement("div", { className: "col-span-12 sm:col-span-6" },
|
45
|
-
react_1.default.createElement(text_input_1.TextInput, { control: props.control, isRequired: true, label: "
|
46
|
+
react_1.default.createElement(text_input_1.TextInput, { control: props.control, isRequired: true, label: t("uxf-cms-pages-content-builder:content.feature-section.feature-name"), name: `${props.name}.features[${index}].title` })),
|
46
47
|
react_1.default.createElement("div", { className: "col-span-12 sm:col-span-6" },
|
47
|
-
react_1.default.createElement(file_input_1.FileInput, { control: props.control, id: `${props.name}.features[${index}].image`, label: "
|
48
|
+
react_1.default.createElement(file_input_1.FileInput, { control: props.control, id: `${props.name}.features[${index}].image`, label: t("uxf-cms-pages-content-builder:content.feature-section.image"), name: `${props.name}.features[${index}].image`, onUploadFile: fileUploadHandler })),
|
48
49
|
react_1.default.createElement("div", { className: "col-span-12" },
|
49
50
|
react_1.default.createElement(wysiwyg_input_1.WysiwygInput, { control: props.control, name: `${props.name}.features[${index}].text` })),
|
50
51
|
react_1.default.createElement("div", { className: "col-span-12" },
|
51
52
|
react_1.default.createElement(text_input_1.TextInput, { control: props.control, label: "CTA url", name: `${props.name}.features[${index}].ctaUrl` })))));
|
52
53
|
}),
|
53
|
-
react_1.default.createElement(button_1.Button, { onClick: () => append({ title: "" }), size: "sm", variant: "secondary" }, "
|
54
|
+
react_1.default.createElement(button_1.Button, { onClick: () => append({ title: "" }), size: "sm", variant: "secondary" }, t("uxf-cms-pages-content-builder:content.feature-section.add-feature"))))))));
|
54
55
|
};
|
55
56
|
exports.FeatureSection = FeatureSection;
|
56
|
-
exports.FeatureSection.getConfig = () =>
|
57
|
-
|
58
|
-
|
59
|
-
|
57
|
+
exports.FeatureSection.getConfig = () => {
|
58
|
+
return {
|
59
|
+
type: "featureSection",
|
60
|
+
label: "Feature sekce",
|
61
|
+
};
|
62
|
+
};
|
@@ -21,7 +21,9 @@ const Gallery = (props) => {
|
|
21
21
|
react_1.default.createElement(dropzone_list_1.DropzoneList, { className: "mt-4", control: props.control, name: `${props.name}.images`, onRemoveConfirm: remove_confirm_handler_1.removeConfirmHandler })))));
|
22
22
|
};
|
23
23
|
exports.Gallery = Gallery;
|
24
|
-
exports.Gallery.getConfig = () =>
|
25
|
-
|
26
|
-
|
27
|
-
|
24
|
+
exports.Gallery.getConfig = () => {
|
25
|
+
return {
|
26
|
+
type: "gallery",
|
27
|
+
label: "Galerie",
|
28
|
+
};
|
29
|
+
};
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.HeroSection = void 0;
|
7
|
+
const translations_1 = require("@uxf/core-react/translations");
|
7
8
|
const text_input_1 = require("@uxf/form/text-input");
|
8
9
|
const react_1 = __importDefault(require("react"));
|
9
10
|
const wysiwyg_input_1 = require("../../../forms/components/wysiwyg-input");
|
@@ -11,21 +12,24 @@ const content_header_1 = require("../content-header");
|
|
11
12
|
const details_visibility_context_1 = require("../context/details-visibility-context");
|
12
13
|
const HeroSection = (props) => {
|
13
14
|
const [visibility] = (0, details_visibility_context_1.useDetailsVisibilityForSection)(props.id);
|
15
|
+
const t = (0, translations_1.useUxfTranslation)();
|
14
16
|
return (react_1.default.createElement("div", { className: "divide-lightBorder dark:divide-darkBorder divide-y" },
|
15
17
|
react_1.default.createElement(content_header_1.ContentHeader, { ...props }),
|
16
18
|
visibility && (react_1.default.createElement("div", { className: "p-4" },
|
17
19
|
react_1.default.createElement("div", { className: "mt-2 grid grid-cols-12 gap-4" },
|
18
20
|
react_1.default.createElement("div", { className: "col-span-12 sm:col-span-6" },
|
19
|
-
react_1.default.createElement(text_input_1.TextInput, { control: props.control, isRequired: true, label: "
|
21
|
+
react_1.default.createElement(text_input_1.TextInput, { control: props.control, isRequired: true, label: t("uxf-cms-pages-content-builder:content.hero-section.title"), name: `${props.name}.title` })),
|
20
22
|
react_1.default.createElement("div", { className: "col-span-12 sm:col-span-6" },
|
21
|
-
react_1.default.createElement(text_input_1.TextInput, { control: props.control, label: "
|
23
|
+
react_1.default.createElement(text_input_1.TextInput, { control: props.control, label: t("uxf-cms-pages-content-builder:content.hero-section.subtitle"), name: `${props.name}.subtitle` })),
|
22
24
|
react_1.default.createElement("div", { className: "col-span-12" },
|
23
25
|
react_1.default.createElement(wysiwyg_input_1.WysiwygInput, { control: props.control, name: `${props.name}.text` })),
|
24
26
|
react_1.default.createElement("div", { className: "col-span-12" },
|
25
27
|
react_1.default.createElement(text_input_1.TextInput, { control: props.control, label: "CTA url", name: `${props.name}.ctaUrl` })))))));
|
26
28
|
};
|
27
29
|
exports.HeroSection = HeroSection;
|
28
|
-
exports.HeroSection.getConfig = () =>
|
29
|
-
|
30
|
-
|
31
|
-
|
30
|
+
exports.HeroSection.getConfig = () => {
|
31
|
+
return {
|
32
|
+
type: "heroSection",
|
33
|
+
label: "Hero sekce",
|
34
|
+
};
|
35
|
+
};
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.People = void 0;
|
7
|
+
const translations_1 = require("@uxf/core-react/translations");
|
7
8
|
const upload_file_1 = require("@uxf/core/api/upload-file");
|
8
9
|
const file_input_1 = require("@uxf/form/file-input");
|
9
10
|
const text_input_1 = require("@uxf/form/text-input");
|
@@ -16,6 +17,7 @@ const details_visibility_context_1 = require("../context/details-visibility-cont
|
|
16
17
|
const fileUploadHandler = (0, upload_file_1.createUploadHandler)("default");
|
17
18
|
const People = (props) => {
|
18
19
|
const [visibility] = (0, details_visibility_context_1.useDetailsVisibilityForSection)(props.id);
|
20
|
+
const t = (0, translations_1.useUxfTranslation)();
|
19
21
|
const { fields, remove, append } = (0, react_hook_form_1.useFieldArray)({ control: props.control, name: `${props.name}.people` });
|
20
22
|
return (react_1.default.createElement("div", { className: "divide-lightBorder dark:divide-darkBorder divide-y" },
|
21
23
|
react_1.default.createElement(content_header_1.ContentHeader, { ...props }),
|
@@ -23,35 +25,37 @@ const People = (props) => {
|
|
23
25
|
fields.map((field, index) => {
|
24
26
|
const handleRemove = () => {
|
25
27
|
// eslint-disable-next-line no-alert
|
26
|
-
if (confirm("
|
28
|
+
if (confirm(t("uxf-cms-pages-content-builder:content.people.confirm-delete-person"))) {
|
27
29
|
remove(index);
|
28
30
|
}
|
29
31
|
};
|
30
32
|
return (react_1.default.createElement("div", { className: "border-primary mb-8 border-l-2 pl-8", key: field.id },
|
31
33
|
react_1.default.createElement("div", { className: "flex justify-between" },
|
32
|
-
react_1.default.createElement("h4", { className: "uxf-typo-h6 mb-3 pt-1" },
|
33
|
-
|
34
|
-
|
34
|
+
react_1.default.createElement("h4", { className: "uxf-typo-h6 mb-3 pt-1" }, t("uxf-cms-pages-content-builder:content.people.person-title", {
|
35
|
+
index: index + 1,
|
36
|
+
})),
|
35
37
|
index > 0 ? (react_1.default.createElement("div", null,
|
36
|
-
react_1.default.createElement(button_1.Button, { onClick: handleRemove, size: "sm", variant: "secondary" }, "
|
38
|
+
react_1.default.createElement(button_1.Button, { onClick: handleRemove, size: "sm", variant: "secondary" }, t("uxf-cms-pages-content-builder:content.people.delete-person")))) : (react_1.default.createElement("div", null))),
|
37
39
|
react_1.default.createElement("div", { className: "mt-2 grid grid-cols-12 gap-4" },
|
38
40
|
react_1.default.createElement("div", { className: "col-span-12 sm:col-span-6" },
|
39
|
-
react_1.default.createElement(text_input_1.TextInput, { control: props.control, isRequired: true, label: "
|
41
|
+
react_1.default.createElement(text_input_1.TextInput, { control: props.control, isRequired: true, label: t("uxf-cms-pages-content-builder:content.people.name"), name: `${props.name}.people.${index}.name` })),
|
40
42
|
react_1.default.createElement("div", { className: "col-span-12 sm:col-span-6" },
|
41
|
-
react_1.default.createElement(file_input_1.FileInput, { control: props.control, id: `${props.name}.people.${index}.image`, label: "
|
43
|
+
react_1.default.createElement(file_input_1.FileInput, { control: props.control, id: `${props.name}.people.${index}.image`, label: t("uxf-cms-pages-content-builder:content.people.image"), name: `${props.name}.people.${index}.image`, onUploadFile: fileUploadHandler })),
|
42
44
|
react_1.default.createElement("div", { className: "col-span-12" },
|
43
|
-
react_1.default.createElement(text_input_1.TextInput, { control: props.control, label: "
|
45
|
+
react_1.default.createElement(text_input_1.TextInput, { control: props.control, label: t("uxf-cms-pages-content-builder:content.people.description"), name: `${props.name}.people.${index}.subtitle` })),
|
44
46
|
react_1.default.createElement("div", { className: "col-span-12" },
|
45
|
-
react_1.default.createElement(textarea_1.Textarea, { control: props.control, label: "
|
47
|
+
react_1.default.createElement(textarea_1.Textarea, { control: props.control, label: t("uxf-cms-pages-content-builder:content.people.text"), name: `${props.name}.people.${index}.text`, rows: 2 })),
|
46
48
|
react_1.default.createElement("div", { className: "col-span-6" },
|
47
|
-
react_1.default.createElement(text_input_1.TextInput, { control: props.control, label: "
|
49
|
+
react_1.default.createElement(text_input_1.TextInput, { control: props.control, label: t("uxf-cms-pages-content-builder:content.people.phone"), name: `${props.name}.people.${index}.phone`, type: "tel" })),
|
48
50
|
react_1.default.createElement("div", { className: "col-span-6" },
|
49
51
|
react_1.default.createElement(text_input_1.TextInput, { control: props.control, label: "E-mail", name: `${props.name}.people.${index}.email`, type: "email" })))));
|
50
52
|
}),
|
51
|
-
react_1.default.createElement(button_1.Button, { onClick: () => append({ name: "" }), size: "sm", variant: "secondary" }, "
|
53
|
+
react_1.default.createElement(button_1.Button, { onClick: () => append({ name: "" }), size: "sm", variant: "secondary" }, t("uxf-cms-pages-content-builder:content.people.add-person"))))));
|
52
54
|
};
|
53
55
|
exports.People = People;
|
54
|
-
exports.People.getConfig = () =>
|
55
|
-
|
56
|
-
|
57
|
-
|
56
|
+
exports.People.getConfig = () => {
|
57
|
+
return {
|
58
|
+
type: "people",
|
59
|
+
label: "Lidé",
|
60
|
+
};
|
61
|
+
};
|
@@ -4,21 +4,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.Wysiwyg = void 0;
|
7
|
+
const translations_1 = require("@uxf/core-react/translations");
|
7
8
|
const react_1 = __importDefault(require("react"));
|
8
9
|
const wysiwyg_input_1 = require("../../../forms/components/wysiwyg-input");
|
9
10
|
const content_header_1 = require("../content-header");
|
10
11
|
const details_visibility_context_1 = require("../context/details-visibility-context");
|
11
12
|
const Wysiwyg = (props) => {
|
12
13
|
const [visibility] = (0, details_visibility_context_1.useDetailsVisibilityForSection)(props.id);
|
14
|
+
const t = (0, translations_1.useUxfTranslation)();
|
13
15
|
return (react_1.default.createElement("div", { className: "divide-lightBorder dark:divide-darkBorder divide-y" },
|
14
16
|
react_1.default.createElement(content_header_1.ContentHeader, { TypeInputProps: props.TypeInputProps, control: props.control, id: props.id, index: props.index, name: props.name, onRemove: props.onRemove, title: props.title }),
|
15
|
-
visibility && (react_1.default.createElement(wysiwyg_input_1.WysiwygInput, { allPluginsOptions: props.allPluginsOptions, className: "p-4", control: props.control, editorProps: props.editorProps, isRequired: true, label: "
|
17
|
+
visibility && (react_1.default.createElement(wysiwyg_input_1.WysiwygInput, { allPluginsOptions: props.allPluginsOptions, className: "p-4", control: props.control, editorProps: props.editorProps, isRequired: true, label: t("uxf-cms-pages-content-builder:content.wysiwyg.text"), name: `${props.name}.content`, placeholder: t("uxf-cms-pages-content-builder:content.wysiwyg.placeholder"), plugins: props.plugins }))));
|
16
18
|
};
|
17
19
|
exports.Wysiwyg = Wysiwyg;
|
18
|
-
const defaultGetConfig = () =>
|
19
|
-
|
20
|
-
|
21
|
-
|
20
|
+
const defaultGetConfig = () => {
|
21
|
+
return {
|
22
|
+
type: "wysiwyg",
|
23
|
+
label: "Strukturovaný text",
|
24
|
+
};
|
25
|
+
};
|
22
26
|
exports.Wysiwyg.create = (config = {}) => {
|
23
27
|
const { editorProps, allPluginsOptions, plugins } = config;
|
24
28
|
const Component = (props) => (react_1.default.createElement(exports.Wysiwyg, { allPluginsOptions: allPluginsOptions, plugins: plugins, ...props, editorProps: editorProps }));
|
@@ -25,21 +25,23 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
26
26
|
exports.ContentHeader = void 0;
|
27
27
|
const use_clickable_props_1 = require("@uxf/core-react/clickable/use-clickable-props");
|
28
|
+
const translations_1 = require("@uxf/core-react/translations");
|
28
29
|
const icon_1 = require("@uxf/ui/icon");
|
29
30
|
const icon_button_1 = require("@uxf/ui/icon-button");
|
30
31
|
const react_1 = __importStar(require("react"));
|
31
32
|
const details_visibility_context_1 = require("./context/details-visibility-context");
|
32
33
|
const ContentHeader = (props) => {
|
33
34
|
const [visibility, toggleVisibility] = (0, details_visibility_context_1.useDetailsVisibilityForSection)(props.id);
|
35
|
+
const t = (0, translations_1.useUxfTranslation)();
|
34
36
|
const removeHandler = (0, react_1.useCallback)((event) => {
|
35
37
|
event.stopPropagation();
|
36
38
|
// eslint-disable-next-line no-alert
|
37
|
-
if (confirm("
|
39
|
+
if (confirm(t("uxf-cms-pages-content-builder:confirm-delete-section"))) {
|
38
40
|
props.onRemove();
|
39
41
|
}
|
40
42
|
},
|
41
43
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
42
|
-
[props.onRemove]);
|
44
|
+
[props.onRemove, t]);
|
43
45
|
const clickableProps = (0, use_clickable_props_1.useClickableProps)({
|
44
46
|
className: "flex w-full cursor-pointer flex-row items-center justify-between p-4",
|
45
47
|
onClick: toggleVisibility,
|
@@ -27,6 +27,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
27
|
};
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
29
29
|
exports.GridPage = exports.dataGridLoader = void 0;
|
30
|
+
const translations_1 = require("@uxf/core-react/translations");
|
30
31
|
const empty_array_1 = require("@uxf/core/constants/empty-array");
|
31
32
|
const build_array_1 = require("@uxf/core/utils/build-array");
|
32
33
|
const is_nil_1 = require("@uxf/core/utils/is-nil");
|
@@ -137,6 +138,7 @@ GridPageComponent.displayName = "GridPageComponent";
|
|
137
138
|
/** @deprecated - use custom DataGrid on project */
|
138
139
|
const GridPage = (config) => {
|
139
140
|
var _a;
|
141
|
+
const t = (0, translations_1.useUxfTranslation)();
|
140
142
|
function Component() {
|
141
143
|
var _a, _b;
|
142
144
|
const router = (0, router_2.useRouter)();
|
@@ -154,6 +156,6 @@ const GridPage = (config) => {
|
|
154
156
|
}
|
155
157
|
return (react_1.default.createElement(GridPageComponent, { AddIcon: config.AddIcon, appName: config.appName, customActions: config.customActions, entityAlias: config.entityAlias, getEditUrl: config.getEditUrl, getOpenUrl: config.getOpenUrl, gridSchema: schema, initialHiddenColumns: (_b = userConfigQuery.data) !== null && _b !== void 0 ? _b : [], initialUserConfig: config.initialUserConfig, loader: config.loader, metaSchema: metadata, onAdd: config.onAdd, onAddTitle: config.onAddTitle, onEdit: config.onEdit, onOpen: config.onOpen, onRemove: config.onRemove, query: router.query, rowHeight: config.rowHeight, selectable: config.selectable, title: config.title, ui: config.ui }));
|
156
158
|
}
|
157
|
-
return (0, restricted_page_1.restrictedPage)(Component, { allowedRole: (_a = config.allowedRoles) !== null && _a !== void 0 ? _a : ["ROLE_ROOT"] });
|
159
|
+
return (0, restricted_page_1.restrictedPage)(Component, { allowedRole: (_a = config.allowedRoles) !== null && _a !== void 0 ? _a : ["ROLE_ROOT"] }, t);
|
158
160
|
};
|
159
161
|
exports.GridPage = GridPage;
|