@uxf/cms 14.0.0 → 14.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/api/index.d.ts +2 -0
  2. package/api/index.js +2 -2
  3. package/api/swr.js +71 -6
  4. package/content-builder/content-builder-header.js +42 -3
  5. package/content-builder/content-builder.js +140 -18
  6. package/content-builder/content-builder.stories.js +24 -5
  7. package/content-builder/forms/content-builder-basic-form.js +212 -25
  8. package/content-builder/forms/content-builder-seo-form.js +92 -8
  9. package/forms/change-password-form/change-password-form.js +152 -15
  10. package/forms/components/wysiwyg-input/wysiwyg-input.js +188 -50
  11. package/forms/components/wysiwyg-input/wysiwyg-input.stories.js +127 -22
  12. package/forms/forgotten-password-form/forgotten-password-form.js +119 -15
  13. package/forms/invite-user-form/invite-user-form.js +171 -13
  14. package/forms/login-form/login-form.js +122 -13
  15. package/forms/renew-password-form/renew-password-form.js +148 -16
  16. package/lib/api/create-axios-instance.d.ts +3 -1
  17. package/lib/api/create-axios-request.d.ts +3 -1
  18. package/lib/api/create-axios-request.js +9 -2
  19. package/lib/api/create-axios-request.test.d.ts +1 -0
  20. package/lib/api/create-axios-request.test.js +32 -0
  21. package/lib/layout/layout.js +126 -28
  22. package/lib/layout/sidebar.js +65 -26
  23. package/lib/menu/ui/sub-menu/sub-menu-mobile.js +62 -14
  24. package/lib/menu/ui/sub-menu/sub-menu.js +66 -14
  25. package/lib/menu/ui/sub-menu/use-sub-menu.js +137 -34
  26. package/lib/menu/ui/user-menu.js +178 -14
  27. package/package.json +20 -20
  28. package/pages/content-builder/components/form-content.js +189 -38
  29. package/pages/content-builder/components/form-root-fields.js +3 -3
  30. package/pages/content-builder/components/form.js +142 -27
  31. package/pages/content-builder/components/header.js +44 -5
  32. package/pages/content-builder/content/feature-section.js +67 -15
  33. package/pages/content-builder/content/gallery.js +38 -6
  34. package/pages/content-builder/content/hero-section.js +39 -6
  35. package/pages/content-builder/content/people.js +64 -13
  36. package/pages/content-builder/content/wysiwyg.js +60 -6
  37. package/pages/content-builder/content-builder-page.js +120 -48
  38. package/pages/content-builder/content-field.js +216 -35
  39. package/pages/content-builder/content-header.js +100 -53
  40. package/pages/content-builder/context/details-visibility-context.js +95 -17
  41. package/pages/forgotten-password-page/forgotten-password-page.js +29 -46
  42. package/pages/grid-page/grid-page.js +291 -75
  43. package/pages/grid-page/use-hidden-columns.js +29 -8
  44. package/pages/invite-user-page/invite-user-page.js +39 -16
  45. package/pages/login-page/login-page.js +44 -50
  46. package/pages/renew-password-page/renew-password-page.js +35 -43
  47. package/security/restricted-page.js +88 -10
  48. package/security/use-logged-user.js +33 -8
  49. package/ui/avatar/avatar.js +3 -2
  50. package/ui/copy-to-clipboard/copy-to-clipboard.js +57 -44
  51. package/ui/copy-to-clipboard-button/copy-to-clipboard-button.js +47 -46
  52. package/utils/remove-confirm-handler.js +80 -11
  53. package/utils/use-viewport-height.js +25 -7
  54. package/utils/use-visual-viewport-height.js +5 -2
@@ -34,29 +34,77 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.SubMenuMobile = SubMenuMobile;
37
+ const compiler_runtime_1 = require("react/compiler-runtime");
37
38
  const use_composed_refs_1 = require("@uxf/core-react/hooks/use-composed-refs");
38
39
  const react_1 = __importStar(require("react"));
39
40
  const sub_menu_item_1 = require("./sub-menu-item");
40
41
  const use_sub_menu_1 = require("./use-sub-menu");
41
42
  function SubMenuMobile(props) {
42
- const subMenu = (0, use_sub_menu_1.useSubMenu)({ isMobile: true });
43
- // Any element can be the trigger; its props are only passed through.
43
+ const $ = (0, compiler_runtime_1.c)(13);
44
+ const { ref } = props;
45
+ let t0;
46
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
47
+ t0 = {
48
+ isMobile: true
49
+ };
50
+ $[0] = t0;
51
+ }
52
+ else {
53
+ t0 = $[0];
54
+ }
55
+ const subMenu = (0, use_sub_menu_1.useSubMenu)(t0);
44
56
  const trigger = props.children;
45
- const stableRef = (0, use_composed_refs_1.useComposedRefs)(props.ref, subMenu.refs.setReference, trigger.props.ref);
46
- // `ref` goes after the spread: since React 19 the trigger's props carry its own ref.
47
- const referenceProps = {
48
- ...trigger.props,
49
- ref: stableRef,
50
- "data-state": subMenu.open ? "open" : "closed",
51
- };
52
- return (react_1.default.createElement(react_1.default.Fragment, null,
53
- (0, react_1.cloneElement)(trigger, subMenu.getReferenceProps(referenceProps)),
54
- subMenu.open && (react_1.default.createElement("div", { ...subMenu.getFloatingProps({
57
+ const stableRef = (0, use_composed_refs_1.useComposedRefs)(ref, subMenu.refs.setReference, trigger.props.ref);
58
+ const t1 = subMenu.open ? "open" : "closed";
59
+ let t2;
60
+ if ($[1] !== stableRef || $[2] !== subMenu || $[3] !== t1 || $[4] !== trigger) {
61
+ const referenceProps = {
62
+ ...trigger.props,
63
+ ref: stableRef,
64
+ "data-state": t1
65
+ };
66
+ t2 = (0, react_1.cloneElement)(trigger, subMenu.getReferenceProps(referenceProps));
67
+ $[1] = stableRef;
68
+ $[2] = subMenu;
69
+ $[3] = t1;
70
+ $[4] = trigger;
71
+ $[5] = t2;
72
+ }
73
+ else {
74
+ t2 = $[5];
75
+ }
76
+ let t3;
77
+ if ($[6] !== props.content || $[7] !== props.title || $[8] !== subMenu) {
78
+ t3 = subMenu.open && react_1.default.createElement("div", { ...subMenu.getFloatingProps({
55
79
  className: "uxf-cms-sidebar__scrollbar uxf-cms-sub-menu__wrapper-mobile",
56
80
  ref: subMenu.refs.setFloating,
57
- style: subMenu.floatingStyles,
81
+ style: subMenu.floatingStyles
58
82
  }) },
59
83
  react_1.default.createElement("div", { className: "uxf-cms-sub-menu__title" }, props.title),
60
- props.content.map((item, index) => (react_1.default.createElement(sub_menu_item_1.SubMenuItem, { item: item, key: index })))))));
84
+ props.content.map(_temp));
85
+ $[6] = props.content;
86
+ $[7] = props.title;
87
+ $[8] = subMenu;
88
+ $[9] = t3;
89
+ }
90
+ else {
91
+ t3 = $[9];
92
+ }
93
+ let t4;
94
+ if ($[10] !== t2 || $[11] !== t3) {
95
+ t4 = react_1.default.createElement(react_1.default.Fragment, null,
96
+ t2,
97
+ t3);
98
+ $[10] = t2;
99
+ $[11] = t3;
100
+ $[12] = t4;
101
+ }
102
+ else {
103
+ t4 = $[12];
104
+ }
105
+ return t4;
106
+ }
107
+ function _temp(item, index) {
108
+ return react_1.default.createElement(sub_menu_item_1.SubMenuItem, { item: item, key: index });
61
109
  }
62
110
  SubMenuMobile.displayName = "SubMenuMobile";
@@ -34,27 +34,79 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.SubMenu = SubMenu;
37
+ const compiler_runtime_1 = require("react/compiler-runtime");
37
38
  const use_composed_refs_1 = require("@uxf/core-react/hooks/use-composed-refs");
38
39
  const react_1 = __importStar(require("react"));
39
40
  const sub_menu_item_1 = require("./sub-menu-item");
40
41
  const use_sub_menu_1 = require("./use-sub-menu");
41
42
  function SubMenu(props) {
42
- const subMenu = (0, use_sub_menu_1.useSubMenu)({ isMobile: false });
43
- // Any element can be the trigger; its props are only passed through.
43
+ const $ = (0, compiler_runtime_1.c)(14);
44
+ const { ref } = props;
45
+ let t0;
46
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
47
+ t0 = {
48
+ isMobile: false
49
+ };
50
+ $[0] = t0;
51
+ }
52
+ else {
53
+ t0 = $[0];
54
+ }
55
+ const subMenu = (0, use_sub_menu_1.useSubMenu)(t0);
44
56
  const trigger = props.children;
45
- const stableRef = (0, use_composed_refs_1.useComposedRefs)(props.ref, subMenu.refs.setReference, trigger.props.ref);
46
- // `ref` goes after the spread: since React 19 the trigger's props carry its own ref.
47
- const referenceProps = {
48
- ...trigger.props,
49
- ref: stableRef,
50
- "data-state": subMenu.open ? "open" : "closed",
51
- };
52
- return (react_1.default.createElement("div", { className: "uxf-cms-sub-menu" },
53
- (0, react_1.cloneElement)(trigger, subMenu.getReferenceProps(referenceProps)),
54
- subMenu.open && (react_1.default.createElement("div", { ...subMenu.getFloatingProps({
57
+ const stableRef = (0, use_composed_refs_1.useComposedRefs)(ref, subMenu.refs.setReference, trigger.props.ref);
58
+ const t1 = subMenu.open ? "open" : "closed";
59
+ let t2;
60
+ let t3;
61
+ if ($[1] !== stableRef || $[2] !== subMenu || $[3] !== t1 || $[4] !== trigger) {
62
+ const referenceProps = {
63
+ ...trigger.props,
64
+ ref: stableRef,
65
+ "data-state": t1
66
+ };
67
+ t2 = "uxf-cms-sub-menu";
68
+ t3 = (0, react_1.cloneElement)(trigger, subMenu.getReferenceProps(referenceProps));
69
+ $[1] = stableRef;
70
+ $[2] = subMenu;
71
+ $[3] = t1;
72
+ $[4] = trigger;
73
+ $[5] = t2;
74
+ $[6] = t3;
75
+ }
76
+ else {
77
+ t2 = $[5];
78
+ t3 = $[6];
79
+ }
80
+ let t4;
81
+ if ($[7] !== props.content || $[8] !== subMenu) {
82
+ t4 = subMenu.open && react_1.default.createElement("div", { ...subMenu.getFloatingProps({
55
83
  ref: subMenu.refs.setFloating,
56
84
  style: subMenu.floatingStyles,
57
- className: "uxf-cms-sidebar__scrollbar uxf-cms-sub-menu__wrapper",
58
- }) }, props.content.map((item, index) => (react_1.default.createElement(sub_menu_item_1.SubMenuItem, { item: item, key: index })))))));
85
+ className: "uxf-cms-sidebar__scrollbar uxf-cms-sub-menu__wrapper"
86
+ }) }, props.content.map(_temp));
87
+ $[7] = props.content;
88
+ $[8] = subMenu;
89
+ $[9] = t4;
90
+ }
91
+ else {
92
+ t4 = $[9];
93
+ }
94
+ let t5;
95
+ if ($[10] !== t2 || $[11] !== t3 || $[12] !== t4) {
96
+ t5 = react_1.default.createElement("div", { className: t2 },
97
+ t3,
98
+ t4);
99
+ $[10] = t2;
100
+ $[11] = t3;
101
+ $[12] = t4;
102
+ $[13] = t5;
103
+ }
104
+ else {
105
+ t5 = $[13];
106
+ }
107
+ return t5;
108
+ }
109
+ function _temp(item, index) {
110
+ return react_1.default.createElement(sub_menu_item_1.SubMenuItem, { item: item, key: index });
59
111
  }
60
112
  SubMenu.displayName = "SubMenu";
@@ -1,45 +1,148 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useSubMenu = useSubMenu;
4
+ const compiler_runtime_1 = require("react/compiler-runtime");
4
5
  const react_1 = require("@floating-ui/react");
5
6
  const react_2 = require("react");
6
7
  function useSubMenu(options) {
8
+ const $ = (0, compiler_runtime_1.c)(25);
7
9
  const [open, setOpen] = (0, react_2.useState)(false);
8
- const data = (0, react_1.useFloating)({
9
- middleware: [
10
- (0, react_1.offset)(options.isMobile ? 12 : 16),
11
- (0, react_1.flip)(),
12
- (0, react_1.shift)({ padding: 8 }),
13
- (0, react_1.size)({
14
- apply({ availableHeight, elements }) {
15
- Object.assign(elements.floating.style, {
16
- maxHeight: Math.max(240, availableHeight) + "px",
17
- });
18
- },
19
- }),
20
- ],
21
- onOpenChange: setOpen,
22
- open,
23
- placement: options.isMobile ? "top" : "right-start",
24
- whileElementsMounted: (reference, floating, update) => (0, react_1.autoUpdate)(reference, floating, update, {
25
- elementResize: typeof ResizeObserver !== "undefined",
26
- }),
27
- });
10
+ const t0 = options.isMobile ? 12 : 16;
11
+ let t1;
12
+ if ($[0] !== t0) {
13
+ t1 = (0, react_1.offset)(t0);
14
+ $[0] = t0;
15
+ $[1] = t1;
16
+ }
17
+ else {
18
+ t1 = $[1];
19
+ }
20
+ let t2;
21
+ let t3;
22
+ let t4;
23
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
24
+ t2 = (0, react_1.flip)();
25
+ t3 = (0, react_1.shift)({
26
+ padding: 8
27
+ });
28
+ t4 = (0, react_1.size)({
29
+ apply(t5) {
30
+ const { availableHeight, elements } = t5;
31
+ Object.assign(elements.floating.style, {
32
+ maxHeight: Math.max(240, availableHeight) + "px"
33
+ });
34
+ }
35
+ });
36
+ $[2] = t2;
37
+ $[3] = t3;
38
+ $[4] = t4;
39
+ }
40
+ else {
41
+ t2 = $[2];
42
+ t3 = $[3];
43
+ t4 = $[4];
44
+ }
45
+ let t5;
46
+ if ($[5] !== t1) {
47
+ t5 = [t1, t2, t3, t4];
48
+ $[5] = t1;
49
+ $[6] = t5;
50
+ }
51
+ else {
52
+ t5 = $[6];
53
+ }
54
+ const t6 = options.isMobile ? "top" : "right-start";
55
+ let t7;
56
+ if ($[7] !== open || $[8] !== t5 || $[9] !== t6) {
57
+ t7 = {
58
+ middleware: t5,
59
+ onOpenChange: setOpen,
60
+ open,
61
+ placement: t6,
62
+ whileElementsMounted: _temp
63
+ };
64
+ $[7] = open;
65
+ $[8] = t5;
66
+ $[9] = t6;
67
+ $[10] = t7;
68
+ }
69
+ else {
70
+ t7 = $[10];
71
+ }
72
+ const data = (0, react_1.useFloating)(t7);
28
73
  const context = data.context;
29
- const hover = (0, react_1.useHover)(context, {
30
- move: false,
31
- delay: 200,
32
- handleClose: (0, react_1.safePolygon)(),
33
- enabled: !options.isMobile,
34
- });
35
- const click = (0, react_1.useClick)(context, { enabled: Boolean(options.isMobile) });
74
+ let t8;
75
+ if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
76
+ t8 = (0, react_1.safePolygon)();
77
+ $[11] = t8;
78
+ }
79
+ else {
80
+ t8 = $[11];
81
+ }
82
+ const t9 = !options.isMobile;
83
+ let t10;
84
+ if ($[12] !== t9) {
85
+ t10 = {
86
+ move: false,
87
+ delay: 200,
88
+ handleClose: t8,
89
+ enabled: t9
90
+ };
91
+ $[12] = t9;
92
+ $[13] = t10;
93
+ }
94
+ else {
95
+ t10 = $[13];
96
+ }
97
+ const hover = (0, react_1.useHover)(context, t10);
98
+ const t11 = Boolean(options.isMobile);
99
+ let t12;
100
+ if ($[14] !== t11) {
101
+ t12 = {
102
+ enabled: t11
103
+ };
104
+ $[14] = t11;
105
+ $[15] = t12;
106
+ }
107
+ else {
108
+ t12 = $[15];
109
+ }
110
+ const click = (0, react_1.useClick)(context, t12);
36
111
  const focus = (0, react_1.useFocus)(context);
37
112
  const dismiss = (0, react_1.useDismiss)(context);
38
- const interactions = (0, react_1.useInteractions)([hover, click, focus, dismiss]);
39
- return (0, react_2.useMemo)(() => ({
40
- open,
41
- setOpen,
42
- ...interactions,
43
- ...data,
44
- }), [open, setOpen, interactions, data]);
113
+ let t13;
114
+ if ($[16] !== click || $[17] !== dismiss || $[18] !== focus || $[19] !== hover) {
115
+ t13 = [hover, click, focus, dismiss];
116
+ $[16] = click;
117
+ $[17] = dismiss;
118
+ $[18] = focus;
119
+ $[19] = hover;
120
+ $[20] = t13;
121
+ }
122
+ else {
123
+ t13 = $[20];
124
+ }
125
+ const interactions = (0, react_1.useInteractions)(t13);
126
+ let t14;
127
+ if ($[21] !== data || $[22] !== interactions || $[23] !== open) {
128
+ t14 = {
129
+ open,
130
+ setOpen,
131
+ ...interactions,
132
+ ...data
133
+ };
134
+ $[21] = data;
135
+ $[22] = interactions;
136
+ $[23] = open;
137
+ $[24] = t14;
138
+ }
139
+ else {
140
+ t14 = $[24];
141
+ }
142
+ return t14;
143
+ }
144
+ function _temp(reference, floating, update) {
145
+ return (0, react_1.autoUpdate)(reference, floating, update, {
146
+ elementResize: typeof ResizeObserver !== "undefined"
147
+ });
45
148
  }
@@ -34,6 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.UserMenu = void 0;
37
+ const compiler_runtime_1 = require("react/compiler-runtime");
37
38
  const classes_1 = require("@uxf/core/constants/classes");
38
39
  const empty_array_1 = require("@uxf/core/constants/empty-array");
39
40
  const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
@@ -43,23 +44,186 @@ const react_1 = __importStar(require("react"));
43
44
  const avatar_1 = require("../../../ui/avatar");
44
45
  const get_avatar_user_letters_1 = require("../../../ui/avatar/get-avatar-user-letters");
45
46
  const list_item_1 = require("./list-item");
46
- const Component = (props) => {
47
+ const Component = props => {
48
+ const $ = (0, compiler_runtime_1.c)(31);
47
49
  const [isSubmenuOpen, setIsSubmenuOpen] = (0, react_1.useState)(false);
48
50
  const hasSubmenu = props.submenu.length > 0;
49
- const toggle = hasSubmenu ? () => setIsSubmenuOpen((prev) => !prev) : undefined;
50
- return (react_1.default.createElement("div", { className: `uxf-cms-user-menu ${isSubmenuOpen ? classes_1.CLASSES.IS_OPEN : ""}` },
51
- react_1.default.createElement("button", { className: "uxf-cms-user-menu__button", onClick: toggle },
52
- react_1.default.createElement(avatar_1.Avatar, { className: "uxf-cms-user-menu__avatar", letters: (0, get_avatar_user_letters_1.getAvatarUserLetters)(props.name), size: "sm", src: props.avatar, variant: "rounded" }),
53
- react_1.default.createElement("div", { className: "uxf-cms-user-menu__label-wrapper" },
54
- react_1.default.createElement("div", { className: "uxf-cms-user-menu__name", "data-testid": "cms-user-menu-name" }, props.name),
55
- react_1.default.createElement("div", { className: "uxf-cms-user-menu__roles" }, props.roles)),
56
- react_1.default.createElement("div", { className: "uxf-cms-user-menu__caret-wrapper" }, hasSubmenu && (react_1.default.createElement(icon_1.Icon, { className: `uxf-cms-user-menu__caret ${!isSubmenuOpen ? classes_1.CLASSES.IS_OPEN : ""}`, name: "caretDown", size: 16 })))),
57
- isSubmenuOpen && (react_1.default.createElement("div", { className: "uxf-cms-user-menu__sub-menu" }, props.submenu.map((item, index) => (react_1.default.createElement(list_item_1.ListItem, { endElement: item.endElement, href: item.url, icon: item.icon, key: index, label: item.title, params: item.routeParams, route: item.route })))))));
51
+ let t0;
52
+ if ($[0] !== hasSubmenu) {
53
+ t0 = hasSubmenu ? () => setIsSubmenuOpen(_temp) : undefined;
54
+ $[0] = hasSubmenu;
55
+ $[1] = t0;
56
+ }
57
+ else {
58
+ t0 = $[1];
59
+ }
60
+ const toggle = t0;
61
+ const t1 = `uxf-cms-user-menu ${isSubmenuOpen ? classes_1.CLASSES.IS_OPEN : ""}`;
62
+ let t2;
63
+ if ($[2] !== props.name) {
64
+ t2 = (0, get_avatar_user_letters_1.getAvatarUserLetters)(props.name);
65
+ $[2] = props.name;
66
+ $[3] = t2;
67
+ }
68
+ else {
69
+ t2 = $[3];
70
+ }
71
+ let t3;
72
+ if ($[4] !== props.avatar || $[5] !== t2) {
73
+ t3 = react_1.default.createElement(avatar_1.Avatar, { className: "uxf-cms-user-menu__avatar", letters: t2, size: "sm", src: props.avatar, variant: "rounded" });
74
+ $[4] = props.avatar;
75
+ $[5] = t2;
76
+ $[6] = t3;
77
+ }
78
+ else {
79
+ t3 = $[6];
80
+ }
81
+ let t4;
82
+ if ($[7] !== props.name) {
83
+ t4 = react_1.default.createElement("div", { className: "uxf-cms-user-menu__name", "data-testid": "cms-user-menu-name" }, props.name);
84
+ $[7] = props.name;
85
+ $[8] = t4;
86
+ }
87
+ else {
88
+ t4 = $[8];
89
+ }
90
+ let t5;
91
+ if ($[9] !== props.roles) {
92
+ t5 = react_1.default.createElement("div", { className: "uxf-cms-user-menu__roles" }, props.roles);
93
+ $[9] = props.roles;
94
+ $[10] = t5;
95
+ }
96
+ else {
97
+ t5 = $[10];
98
+ }
99
+ let t6;
100
+ if ($[11] !== t4 || $[12] !== t5) {
101
+ t6 = react_1.default.createElement("div", { className: "uxf-cms-user-menu__label-wrapper" },
102
+ t4,
103
+ t5);
104
+ $[11] = t4;
105
+ $[12] = t5;
106
+ $[13] = t6;
107
+ }
108
+ else {
109
+ t6 = $[13];
110
+ }
111
+ let t7;
112
+ if ($[14] !== hasSubmenu || $[15] !== isSubmenuOpen) {
113
+ t7 = hasSubmenu && react_1.default.createElement(icon_1.Icon, { className: `uxf-cms-user-menu__caret ${!isSubmenuOpen ? classes_1.CLASSES.IS_OPEN : ""}`, name: "caretDown", size: 16 });
114
+ $[14] = hasSubmenu;
115
+ $[15] = isSubmenuOpen;
116
+ $[16] = t7;
117
+ }
118
+ else {
119
+ t7 = $[16];
120
+ }
121
+ let t8;
122
+ if ($[17] !== t7) {
123
+ t8 = react_1.default.createElement("div", { className: "uxf-cms-user-menu__caret-wrapper" }, t7);
124
+ $[17] = t7;
125
+ $[18] = t8;
126
+ }
127
+ else {
128
+ t8 = $[18];
129
+ }
130
+ let t9;
131
+ if ($[19] !== t3 || $[20] !== t6 || $[21] !== t8 || $[22] !== toggle) {
132
+ t9 = react_1.default.createElement("button", { className: "uxf-cms-user-menu__button", onClick: toggle },
133
+ t3,
134
+ t6,
135
+ t8);
136
+ $[19] = t3;
137
+ $[20] = t6;
138
+ $[21] = t8;
139
+ $[22] = toggle;
140
+ $[23] = t9;
141
+ }
142
+ else {
143
+ t9 = $[23];
144
+ }
145
+ let t10;
146
+ if ($[24] !== isSubmenuOpen || $[25] !== props.submenu) {
147
+ t10 = isSubmenuOpen && react_1.default.createElement("div", { className: "uxf-cms-user-menu__sub-menu" }, props.submenu.map(_temp2));
148
+ $[24] = isSubmenuOpen;
149
+ $[25] = props.submenu;
150
+ $[26] = t10;
151
+ }
152
+ else {
153
+ t10 = $[26];
154
+ }
155
+ let t11;
156
+ if ($[27] !== t1 || $[28] !== t10 || $[29] !== t9) {
157
+ t11 = react_1.default.createElement("div", { className: t1 },
158
+ t9,
159
+ t10);
160
+ $[27] = t1;
161
+ $[28] = t10;
162
+ $[29] = t9;
163
+ $[30] = t11;
164
+ }
165
+ else {
166
+ t11 = $[30];
167
+ }
168
+ return t11;
58
169
  };
59
- const UserMenu = (props) => {
60
- var _a, _b, _c, _d, _e, _f;
61
- const userMenu = props.menu.find((item) => (0, is_not_nil_1.isNotNil)(item.userMenuData));
170
+ const UserMenu = props => {
171
+ var _a, _b, _d, _e, _f, _g, _h, _j, _k, _l;
172
+ const $ = (0, compiler_runtime_1.c)(13);
173
+ let t0;
174
+ if ($[0] !== props.menu) {
175
+ t0 = props.menu.find(_temp3);
176
+ $[0] = props.menu;
177
+ $[1] = t0;
178
+ }
179
+ else {
180
+ t0 = $[1];
181
+ }
182
+ const userMenu = t0;
62
183
  const t = (0, translations_1.useUxfTranslation)();
63
- 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 }));
184
+ const t1 = (_a = userMenu === null || userMenu === void 0 ? void 0 : userMenu.userMenuData) === null || _a === void 0 ? void 0 : _a.avatar;
185
+ let t2;
186
+ if ($[2] !== t || $[3] !== ((_b = userMenu === null || userMenu === void 0 ? void 0 : userMenu.userMenuData) === null || _b === void 0 ? void 0 : _b.name)) {
187
+ t2 = (_e = (_d = userMenu === null || userMenu === void 0 ? void 0 : userMenu.userMenuData) === null || _d === void 0 ? void 0 : _d.name) !== null && _e !== void 0 ? _e : t("uxf-cms-user-menu:default-user");
188
+ $[2] = t;
189
+ $[3] = (_f = userMenu === null || userMenu === void 0 ? void 0 : userMenu.userMenuData) === null || _f === void 0 ? void 0 : _f.name;
190
+ $[4] = t2;
191
+ }
192
+ else {
193
+ t2 = $[4];
194
+ }
195
+ let t3;
196
+ if ($[5] !== t || $[6] !== ((_g = userMenu === null || userMenu === void 0 ? void 0 : userMenu.userMenuData) === null || _g === void 0 ? void 0 : _g.roles)) {
197
+ t3 = (_j = (_h = userMenu === null || userMenu === void 0 ? void 0 : userMenu.userMenuData) === null || _h === void 0 ? void 0 : _h.roles) !== null && _j !== void 0 ? _j : t("uxf-cms-user-menu:not-logged-in");
198
+ $[5] = t;
199
+ $[6] = (_k = userMenu === null || userMenu === void 0 ? void 0 : userMenu.userMenuData) === null || _k === void 0 ? void 0 : _k.roles;
200
+ $[7] = t3;
201
+ }
202
+ else {
203
+ t3 = $[7];
204
+ }
205
+ const t4 = (_l = userMenu === null || userMenu === void 0 ? void 0 : userMenu.children) !== null && _l !== void 0 ? _l : empty_array_1.EMPTY_ARRAY;
206
+ let t5;
207
+ if ($[8] !== t1 || $[9] !== t2 || $[10] !== t3 || $[11] !== t4) {
208
+ t5 = react_1.default.createElement(Component, { avatar: t1, name: t2, roles: t3, submenu: t4 });
209
+ $[8] = t1;
210
+ $[9] = t2;
211
+ $[10] = t3;
212
+ $[11] = t4;
213
+ $[12] = t5;
214
+ }
215
+ else {
216
+ t5 = $[12];
217
+ }
218
+ return t5;
64
219
  };
65
220
  exports.UserMenu = UserMenu;
221
+ function _temp(prev) {
222
+ return !prev;
223
+ }
224
+ function _temp2(item, index) {
225
+ return react_1.default.createElement(list_item_1.ListItem, { endElement: item.endElement, href: item.url, icon: item.icon, key: index, label: item.title, params: item.routeParams, route: item.route });
226
+ }
227
+ function _temp3(item) {
228
+ return (0, is_not_nil_1.isNotNil)(item.userMenuData);
229
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxf/cms",
3
- "version": "14.0.0",
3
+ "version": "14.1.0",
4
4
  "description": "UXF Cms",
5
5
  "author": "UXFans <dev@uxf.cz>",
6
6
  "homepage": "https://gitlab.com/uxf-npm/cms#readme",
@@ -19,7 +19,7 @@
19
19
  "url": "https://gitlab.com/uxf-npm/cms/issues"
20
20
  },
21
21
  "scripts": {
22
- "build": "tsc -P tsconfig.json",
22
+ "build": "tsc -P tsconfig.json && node ../../scripts/build-react-package.mjs",
23
23
  "tw-tokens:check": "tsx ../ui/scripts/generate-tw-tokens.js --mode=\"check\" --twConfig=\"./utils/tailwind.config.js\" --outputPath=\"./ui/tw-tokens/\"",
24
24
  "tw-tokens:gen": "tsx ../ui/scripts/generate-tw-tokens.js --twConfig=\"./utils/tailwind.config.js\" --outputPath=\"./ui/tw-tokens/\"",
25
25
  "typecheck": "tsc --noEmit"
@@ -29,15 +29,15 @@
29
29
  },
30
30
  "peerDependencies": {
31
31
  "@floating-ui/react": "^0.27.20",
32
- "@uxf/core": "14.0.0",
33
- "@uxf/core-react": "14.0.0",
34
- "@uxf/data-grid": "14.0.0",
35
- "@uxf/dnd": "14.0.0",
36
- "@uxf/form": "14.0.0",
37
- "@uxf/router": "14.0.0",
38
- "@uxf/styles": "14.0.0",
39
- "@uxf/ui": "14.0.0",
40
- "@uxf/wysiwyg": "14.0.0",
32
+ "@uxf/core": "14.1.0",
33
+ "@uxf/core-react": "14.1.0",
34
+ "@uxf/data-grid": "14.1.0",
35
+ "@uxf/dnd": "14.1.0",
36
+ "@uxf/form": "14.1.0",
37
+ "@uxf/router": "14.1.0",
38
+ "@uxf/styles": "14.1.0",
39
+ "@uxf/ui": "14.1.0",
40
+ "@uxf/wysiwyg": "14.1.0",
41
41
  "axios": "^1.20.0",
42
42
  "axios-hooks": "^5.1.1",
43
43
  "next": ">=16.0.0",
@@ -51,15 +51,15 @@
51
51
  "@types/node": "24",
52
52
  "@types/react": "19.3.0",
53
53
  "@types/react-dom": "19.3.0",
54
- "@uxf/core": "14.0.0",
55
- "@uxf/core-react": "14.0.0",
56
- "@uxf/data-grid": "14.0.0",
57
- "@uxf/dnd": "14.0.0",
58
- "@uxf/form": "14.0.0",
59
- "@uxf/router": "14.0.0",
60
- "@uxf/styles": "14.0.0",
61
- "@uxf/ui": "14.0.0",
62
- "@uxf/wysiwyg": "14.0.0",
54
+ "@uxf/core": "14.1.0",
55
+ "@uxf/core-react": "14.1.0",
56
+ "@uxf/data-grid": "14.1.0",
57
+ "@uxf/dnd": "14.1.0",
58
+ "@uxf/form": "14.1.0",
59
+ "@uxf/router": "14.1.0",
60
+ "@uxf/styles": "14.1.0",
61
+ "@uxf/ui": "14.1.0",
62
+ "@uxf/wysiwyg": "14.1.0",
63
63
  "axios": "^1.20.0",
64
64
  "axios-hooks": "^5.1.1",
65
65
  "next": "16.3.8",