@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.
Files changed (50) hide show
  1. package/content-builder/content-builder-header.js +3 -1
  2. package/content-builder/content-builder.js +5 -3
  3. package/content-builder/forms/content-builder-basic-form.js +10 -8
  4. package/content-builder/forms/content-builder-seo-form.js +8 -6
  5. package/content-builder/translations.d.ts +127 -0
  6. package/content-builder/translations.js +128 -0
  7. package/forms/change-password-form/change-password-form.js +9 -4
  8. package/forms/change-password-form/translations.d.ts +35 -0
  9. package/forms/change-password-form/translations.js +36 -0
  10. package/forms/forgotten-password-form/forgotten-password-form.js +4 -2
  11. package/forms/forgotten-password-form/translations.d.ts +17 -0
  12. package/forms/forgotten-password-form/translations.js +18 -0
  13. package/forms/invite-user-form/invite-user-form.js +7 -5
  14. package/forms/invite-user-form/translations.d.ts +35 -0
  15. package/forms/invite-user-form/translations.js +36 -0
  16. package/forms/login-form/login-form.js +5 -3
  17. package/forms/login-form/translations.d.ts +23 -0
  18. package/forms/login-form/translations.js +24 -0
  19. package/forms/renew-password-form/renew-password-form.js +8 -3
  20. package/forms/renew-password-form/translations.d.ts +29 -0
  21. package/forms/renew-password-form/translations.js +30 -0
  22. package/lib/menu/ui/translations.d.ts +17 -0
  23. package/lib/menu/ui/translations.js +18 -0
  24. package/lib/menu/ui/user-menu.js +3 -1
  25. package/package.json +6 -6
  26. package/pages/content-builder/components/header.js +3 -1
  27. package/pages/content-builder/content/feature-section.js +17 -14
  28. package/pages/content-builder/content/gallery.js +6 -4
  29. package/pages/content-builder/content/hero-section.js +10 -6
  30. package/pages/content-builder/content/people.js +19 -15
  31. package/pages/content-builder/content/wysiwyg.js +9 -5
  32. package/pages/content-builder/content-header.js +4 -2
  33. package/pages/grid-page/grid-page.js +3 -1
  34. package/pages/translations.d.ts +93 -0
  35. package/pages/translations.js +94 -0
  36. package/security/restricted-page.d.ts +2 -1
  37. package/security/restricted-page.js +7 -5
  38. package/security/translations.d.ts +29 -0
  39. package/security/translations.js +30 -0
  40. package/translations/translations.d.ts +429 -0
  41. package/translations/translations.js +31 -0
  42. package/ui/copy-to-clipboard/copy-to-clipboard.js +4 -2
  43. package/ui/copy-to-clipboard/translations.d.ts +17 -0
  44. package/ui/copy-to-clipboard/translations.js +18 -0
  45. package/ui/copy-to-clipboard-button/copy-to-clipboard-button.js +6 -2
  46. package/ui/copy-to-clipboard-button/translations.d.ts +17 -0
  47. package/ui/copy-to-clipboard-button/translations.js +18 -0
  48. package/utils/remove-confirm-handler.js +10 -5
  49. package/utils/translations.d.ts +23 -0
  50. 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: "Heslo", name: "password", type: "password" }),
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 }, "Nepamatujete si sv\u00E9 heslo?"))),
47
- react_1.default.createElement(button_1.Button, { isFullWidth: true, type: "submit" }, "P\u0159ihl\u00E1sit se"))));
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: "Nov\u00E9 heslo", name: "password", rules: props.passwordRules, type: "password" }),
45
- react_1.default.createElement(text_input_1.TextInput, { control: formApi.control, isDisabled: formDisabled, isRequired: true, label: "Znovu nov\u00E9 heslo", name: "passwordAgain", rules: { validate: (v) => v === formApi.getValues("password") || "Hesla musí být stejná" }, type: "password" }),
46
- react_1.default.createElement(button_1.Button, { isDisabled: formDisabled || formApi.formState.isSubmitting, isFullWidth: true, isLoading: formApi.formState.isSubmitting, type: "submit" }, "Zm\u011Bnit heslo"))));
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
+ };
@@ -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
- 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 : "Uživatel", 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 : "nepřihlášený", submenu: (_f = userMenu === null || userMenu === void 0 ? void 0 : userMenu.children) !== null && _f !== void 0 ? _f : empty_array_1.EMPTY_ARRAY }));
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.73.0",
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.72.3",
35
- "@uxf/data-grid": "11.72.3",
36
- "@uxf/form": "11.72.3",
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.72.3",
39
- "@uxf/wysiwyg": "11.73.0",
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" }, "Ulo\u017Eit"))));
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: "Nadpis", name: `${props.name}.title` })),
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: "Podnadpis", name: `${props.name}.subtitle` })),
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
- if (confirm("Opravdu chcete smazat feature?")) {
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" }, "Smazat feature"))) : (react_1.default.createElement("div", null))),
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: "Nadpis", name: `${props.name}.features[${index}].title` })),
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: "Obr\u00E1zek", name: `${props.name}.features[${index}].image`, onUploadFile: fileUploadHandler })),
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" }, "P\u0159idat feature")))))));
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
- type: "featureSection",
58
- label: "Feature sekce",
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
- type: "gallery",
26
- label: "Galerie",
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: "Nadpis", name: `${props.name}.title` })),
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: "Podnadpis", name: `${props.name}.subtitle` })),
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
- type: "heroSection",
30
- label: "Hero sekce",
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("Opravdu chcete smazat osobu?")) {
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
- "Osoba #",
34
- index + 1),
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" }, "Smazat osobu"))) : (react_1.default.createElement("div", null))),
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: "Jm\u00E9no", name: `${props.name}.people.${index}.name` })),
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: "Obr\u00E1zek", name: `${props.name}.people.${index}.image`, onUploadFile: fileUploadHandler })),
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: "Popisek", name: `${props.name}.people.${index}.subtitle` })),
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: "Text", name: `${props.name}.people.${index}.text`, rows: 2 })),
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: "Telefon", name: `${props.name}.people.${index}.phone`, type: "tel" })),
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" }, "P\u0159idat osobu")))));
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
- type: "people",
56
- label: "Lidé",
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: "Text", name: `${props.name}.content`, placeholder: "Zadejte text", plugins: props.plugins }))));
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
- type: "wysiwyg",
20
- label: "Strukturovaný text",
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("Opravdu chcete smazat sekci?")) {
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;