@byline/admin 4.10.2 → 4.11.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/dist/fields/array/array-field.js +10 -10
- package/dist/fields/blocks/blocks-field.js +15 -15
- package/dist/fields/code/code-field.js +3 -3
- package/dist/fields/datetime/datetime-field.js +2 -2
- package/dist/fields/draggable-context-menu.js +9 -9
- package/dist/fields/field-renderer.js +3 -3
- package/dist/fields/file/file-field.js +21 -21
- package/dist/fields/file/file-upload-field.js +8 -8
- package/dist/fields/group/group-field.js +6 -6
- package/dist/fields/image/image-field.js +23 -23
- package/dist/fields/image/image-upload-field.js +11 -11
- package/dist/fields/locale-badge.js +2 -2
- package/dist/fields/relation/relation-display.js +2 -2
- package/dist/fields/relation/relation-field.js +7 -7
- package/dist/fields/relation/relation-many-field.js +12 -12
- package/dist/fields/relation/relation-picker.js +19 -19
- package/dist/fields/relation/relation-summary.js +9 -9
- package/dist/fields/select/select-field.js +3 -3
- package/dist/fields/sortable-item.js +9 -9
- package/dist/fields/text/text-field.js +2 -2
- package/dist/fields/text-area/text-area-field.js +2 -2
- package/dist/forms/available-locales-widget.js +4 -4
- package/dist/forms/document-actions.js +40 -40
- package/dist/forms/form-modals.js +12 -12
- package/dist/forms/form-renderer.js +17 -17
- package/dist/forms/form-status-display.js +15 -15
- package/dist/forms/path-widget.js +4 -4
- package/dist/forms/tree-placement-widget.js +10 -10
- package/dist/modules/admin-account/components/change-password.js +6 -6
- package/dist/modules/admin-account/components/container.js +28 -28
- package/dist/modules/admin-account/components/preferences.js +9 -9
- package/dist/modules/admin-account/components/theme-switch.js +4 -4
- package/dist/modules/admin-account/components/update.js +6 -6
- package/dist/modules/admin-permissions/components/inspector.js +31 -31
- package/dist/modules/admin-roles/components/create.js +6 -6
- package/dist/modules/admin-roles/components/permissions.js +25 -25
- package/dist/modules/admin-roles/components/update.js +6 -6
- package/dist/modules/admin-users/components/create.js +8 -8
- package/dist/modules/admin-users/components/roles.js +15 -15
- package/dist/modules/admin-users/components/set-password.js +6 -6
- package/dist/modules/admin-users/components/update.js +7 -7
- package/dist/modules/auth/components/sign-in-form.js +8 -8
- package/dist/presentation/group.js +3 -3
- package/dist/presentation/row.js +2 -2
- package/dist/presentation/tabs.js +5 -5
- package/dist/widgets/diff-viewer/diff-modal.js +10 -10
- package/dist/widgets/source-locale-badge/source-locale-badge.js +2 -2
- package/dist/widgets/status-badge/status-badge.js +4 -4
- package/package.json +6 -6
- package/src/fields/array/array-field.tsx +1 -1
- package/src/fields/blocks/blocks-field.tsx +1 -1
- package/src/fields/code/code-field.tsx +1 -1
- package/src/fields/datetime/datetime-field.tsx +1 -1
- package/src/fields/draggable-context-menu.tsx +1 -1
- package/src/fields/field-renderer.tsx +1 -1
- package/src/fields/file/file-field.tsx +1 -1
- package/src/fields/file/file-upload-field.tsx +1 -1
- package/src/fields/group/group-field.tsx +1 -1
- package/src/fields/image/image-field.tsx +1 -1
- package/src/fields/image/image-upload-field.tsx +1 -1
- package/src/fields/locale-badge.tsx +1 -1
- package/src/fields/relation/relation-display.tsx +1 -1
- package/src/fields/relation/relation-field.tsx +1 -1
- package/src/fields/relation/relation-many-field.tsx +1 -1
- package/src/fields/relation/relation-picker.tsx +1 -1
- package/src/fields/relation/relation-summary.tsx +1 -1
- package/src/fields/select/select-field.tsx +1 -1
- package/src/fields/sortable-item.tsx +1 -1
- package/src/fields/text/text-field.tsx +1 -1
- package/src/fields/text-area/text-area-field.tsx +1 -1
- package/src/forms/available-locales-widget.tsx +1 -1
- package/src/forms/document-actions.tsx +1 -1
- package/src/forms/form-modals.tsx +1 -1
- package/src/forms/form-renderer.tsx +1 -1
- package/src/forms/form-status-display.tsx +1 -1
- package/src/forms/path-widget.tsx +1 -1
- package/src/forms/tree-placement-widget.tsx +1 -1
- package/src/modules/admin-account/components/change-password.tsx +1 -1
- package/src/modules/admin-account/components/container.tsx +1 -1
- package/src/modules/admin-account/components/preferences.tsx +1 -1
- package/src/modules/admin-account/components/theme-switch.tsx +1 -1
- package/src/modules/admin-account/components/update.tsx +1 -1
- package/src/modules/admin-permissions/components/inspector.tsx +1 -1
- package/src/modules/admin-roles/components/create.tsx +1 -1
- package/src/modules/admin-roles/components/permissions.tsx +1 -1
- package/src/modules/admin-roles/components/update.tsx +1 -1
- package/src/modules/admin-users/components/create.tsx +1 -1
- package/src/modules/admin-users/components/roles.tsx +1 -1
- package/src/modules/admin-users/components/set-password.tsx +1 -1
- package/src/modules/admin-users/components/update.tsx +1 -1
- package/src/modules/auth/components/sign-in-form.tsx +1 -1
- package/src/presentation/group.tsx +1 -1
- package/src/presentation/row.tsx +1 -1
- package/src/presentation/tabs.tsx +1 -1
- package/src/widgets/diff-viewer/diff-modal.tsx +1 -1
- package/src/widgets/source-locale-badge/source-locale-badge.tsx +1 -1
- package/src/widgets/status-badge/status-badge.tsx +1 -1
|
@@ -5,7 +5,7 @@ import { revalidateLogic, useForm } from "@tanstack/react-form-start";
|
|
|
5
5
|
import { passwordSchema } from "@byline/core/validation";
|
|
6
6
|
import { useTranslation } from "@byline/i18n/react";
|
|
7
7
|
import { Alert, Button, Checkbox, Input, LoaderEllipsis } from "@byline/ui/react";
|
|
8
|
-
import
|
|
8
|
+
import clsx from "clsx";
|
|
9
9
|
import { z } from "zod";
|
|
10
10
|
import { translateValidationError } from "../../../lib/translate-validation-error.js";
|
|
11
11
|
import { useBylineAdminServices } from "../../../services/admin-services-context.js";
|
|
@@ -99,7 +99,7 @@ function CreateAdminUser({ onClose, onSuccess }) {
|
|
|
99
99
|
}
|
|
100
100
|
});
|
|
101
101
|
return /*#__PURE__*/ jsx("div", {
|
|
102
|
-
className:
|
|
102
|
+
className: clsx('byline-user-create-wrap', create_module.wrap),
|
|
103
103
|
children: /*#__PURE__*/ jsxs("form", {
|
|
104
104
|
method: "post",
|
|
105
105
|
noValidate: true,
|
|
@@ -108,14 +108,14 @@ function CreateAdminUser({ onClose, onSuccess }) {
|
|
|
108
108
|
event.stopPropagation();
|
|
109
109
|
form.handleSubmit();
|
|
110
110
|
},
|
|
111
|
-
className:
|
|
111
|
+
className: clsx('byline-user-create-form', create_module.form),
|
|
112
112
|
children: [
|
|
113
113
|
formError ? /*#__PURE__*/ jsx(Alert, {
|
|
114
114
|
intent: "danger",
|
|
115
115
|
children: formError
|
|
116
116
|
}) : null,
|
|
117
117
|
/*#__PURE__*/ jsxs("div", {
|
|
118
|
-
className:
|
|
118
|
+
className: clsx('byline-user-create-grid', create_module.grid),
|
|
119
119
|
children: [
|
|
120
120
|
/*#__PURE__*/ jsx(form.Field, {
|
|
121
121
|
name: "given_name",
|
|
@@ -196,7 +196,7 @@ function CreateAdminUser({ onClose, onSuccess }) {
|
|
|
196
196
|
})
|
|
197
197
|
}),
|
|
198
198
|
/*#__PURE__*/ jsxs("div", {
|
|
199
|
-
className:
|
|
199
|
+
className: clsx('byline-user-create-flags', create_module.flags),
|
|
200
200
|
children: [
|
|
201
201
|
/*#__PURE__*/ jsx(form.Field, {
|
|
202
202
|
name: "is_enabled",
|
|
@@ -234,14 +234,14 @@ function CreateAdminUser({ onClose, onSuccess }) {
|
|
|
234
234
|
]
|
|
235
235
|
}),
|
|
236
236
|
/*#__PURE__*/ jsxs("div", {
|
|
237
|
-
className:
|
|
237
|
+
className: clsx('byline-user-create-actions', create_module.actions),
|
|
238
238
|
children: [
|
|
239
239
|
/*#__PURE__*/ jsx(Button, {
|
|
240
240
|
type: "button",
|
|
241
241
|
intent: "secondary",
|
|
242
242
|
size: "sm",
|
|
243
243
|
onClick: onClose,
|
|
244
|
-
className:
|
|
244
|
+
className: clsx('byline-user-create-action', create_module.action),
|
|
245
245
|
children: t('common.actions.cancel')
|
|
246
246
|
}),
|
|
247
247
|
/*#__PURE__*/ jsx(form.Subscribe, {
|
|
@@ -254,7 +254,7 @@ function CreateAdminUser({ onClose, onSuccess }) {
|
|
|
254
254
|
intent: "primary",
|
|
255
255
|
type: "submit",
|
|
256
256
|
disabled: !canSubmit || isSubmitting,
|
|
257
|
-
className:
|
|
257
|
+
className: clsx('byline-user-create-action', create_module.action),
|
|
258
258
|
children: true === isSubmitting ? /*#__PURE__*/ jsx(LoaderEllipsis, {
|
|
259
259
|
size: 42
|
|
260
260
|
}) : t('common.actions.save')
|
|
@@ -3,7 +3,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { useState } from "react";
|
|
4
4
|
import { useTranslation } from "@byline/i18n/react";
|
|
5
5
|
import { Alert, Button, Checkbox, LoaderEllipsis } from "@byline/ui/react";
|
|
6
|
-
import
|
|
6
|
+
import clsx from "clsx";
|
|
7
7
|
import { useBylineAdminServices } from "../../../services/admin-services-context.js";
|
|
8
8
|
import roles_module from "./roles.module.js";
|
|
9
9
|
function setsEqual(a, b) {
|
|
@@ -55,7 +55,7 @@ function UserRoles({ user, allRoles, initialRoleIds, onClose, onSaved }) {
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
return /*#__PURE__*/ jsxs("div", {
|
|
58
|
-
className:
|
|
58
|
+
className: clsx('byline-user-roles-wrap', roles_module.wrap),
|
|
59
59
|
children: [
|
|
60
60
|
error ? /*#__PURE__*/ jsx(Alert, {
|
|
61
61
|
intent: "danger",
|
|
@@ -66,12 +66,12 @@ function UserRoles({ user, allRoles, initialRoleIds, onClose, onSaved }) {
|
|
|
66
66
|
children: successMessage
|
|
67
67
|
}) : null,
|
|
68
68
|
0 === allRoles.length ? /*#__PURE__*/ jsx("p", {
|
|
69
|
-
className:
|
|
69
|
+
className: clsx('muted', 'byline-user-roles-empty', roles_module.empty),
|
|
70
70
|
children: t('adminUsers.roles.emptyCatalog')
|
|
71
71
|
}) : /*#__PURE__*/ jsx("div", {
|
|
72
|
-
className:
|
|
72
|
+
className: clsx('byline-user-roles-list', roles_module.list),
|
|
73
73
|
children: allRoles.map((role)=>/*#__PURE__*/ jsxs("div", {
|
|
74
|
-
className:
|
|
74
|
+
className: clsx('byline-user-roles-row', roles_module.row),
|
|
75
75
|
children: [
|
|
76
76
|
/*#__PURE__*/ jsx(Checkbox, {
|
|
77
77
|
id: `role-${role.id}`,
|
|
@@ -79,28 +79,28 @@ function UserRoles({ user, allRoles, initialRoleIds, onClose, onSaved }) {
|
|
|
79
79
|
checked: selected.has(role.id),
|
|
80
80
|
disabled: saving,
|
|
81
81
|
onCheckedChange: (checked)=>handleToggle(role.id, true === checked),
|
|
82
|
-
containerClasses:
|
|
83
|
-
componentClasses:
|
|
82
|
+
containerClasses: clsx('byline-user-roles-checkbox-auto', roles_module["checkbox-auto"]),
|
|
83
|
+
componentClasses: clsx('byline-user-roles-checkbox-auto', roles_module["checkbox-auto"])
|
|
84
84
|
}),
|
|
85
85
|
/*#__PURE__*/ jsxs("label", {
|
|
86
86
|
htmlFor: `role-${role.id}`,
|
|
87
|
-
className:
|
|
87
|
+
className: clsx('byline-user-roles-label', roles_module.label),
|
|
88
88
|
children: [
|
|
89
89
|
/*#__PURE__*/ jsxs("div", {
|
|
90
|
-
className:
|
|
90
|
+
className: clsx('byline-user-roles-label-head', roles_module["label-head"]),
|
|
91
91
|
children: [
|
|
92
92
|
/*#__PURE__*/ jsx("span", {
|
|
93
|
-
className:
|
|
93
|
+
className: clsx('byline-user-roles-name', roles_module.name),
|
|
94
94
|
children: role.name
|
|
95
95
|
}),
|
|
96
96
|
/*#__PURE__*/ jsx("code", {
|
|
97
|
-
className:
|
|
97
|
+
className: clsx('byline-user-roles-machine', roles_module.machine),
|
|
98
98
|
children: role.machine_name
|
|
99
99
|
})
|
|
100
100
|
]
|
|
101
101
|
}),
|
|
102
102
|
role.description ? /*#__PURE__*/ jsx("p", {
|
|
103
|
-
className:
|
|
103
|
+
className: clsx('muted', "byline-user-roles-description", roles_module.description),
|
|
104
104
|
children: role.description
|
|
105
105
|
}) : null
|
|
106
106
|
]
|
|
@@ -109,7 +109,7 @@ function UserRoles({ user, allRoles, initialRoleIds, onClose, onSaved }) {
|
|
|
109
109
|
}, role.id))
|
|
110
110
|
}),
|
|
111
111
|
/*#__PURE__*/ jsxs("div", {
|
|
112
|
-
className:
|
|
112
|
+
className: clsx('byline-user-roles-actions', roles_module.actions),
|
|
113
113
|
children: [
|
|
114
114
|
/*#__PURE__*/ jsx(Button, {
|
|
115
115
|
type: "button",
|
|
@@ -117,7 +117,7 @@ function UserRoles({ user, allRoles, initialRoleIds, onClose, onSaved }) {
|
|
|
117
117
|
size: "xs",
|
|
118
118
|
onClick: onClose,
|
|
119
119
|
disabled: saving,
|
|
120
|
-
className:
|
|
120
|
+
className: clsx('byline-user-roles-action', roles_module.action),
|
|
121
121
|
children: successMessage ? t('common.actions.close') : t('common.actions.cancel')
|
|
122
122
|
}),
|
|
123
123
|
/*#__PURE__*/ jsx(Button, {
|
|
@@ -126,7 +126,7 @@ function UserRoles({ user, allRoles, initialRoleIds, onClose, onSaved }) {
|
|
|
126
126
|
size: "xs",
|
|
127
127
|
onClick: ()=>void handleSave(),
|
|
128
128
|
disabled: saving || !isDirty,
|
|
129
|
-
className:
|
|
129
|
+
className: clsx('byline-user-roles-action', roles_module.action),
|
|
130
130
|
children: saving ? /*#__PURE__*/ jsx(LoaderEllipsis, {
|
|
131
131
|
size: 30
|
|
132
132
|
}) : t('common.actions.save')
|
|
@@ -5,7 +5,7 @@ import { revalidateLogic, useForm } from "@tanstack/react-form-start";
|
|
|
5
5
|
import { passwordSchema } from "@byline/core/validation";
|
|
6
6
|
import { useTranslation } from "@byline/i18n/react";
|
|
7
7
|
import { Alert, Button, InputPassword, LoaderEllipsis } from "@byline/ui/react";
|
|
8
|
-
import
|
|
8
|
+
import clsx from "clsx";
|
|
9
9
|
import { z } from "zod";
|
|
10
10
|
import { translateValidationError } from "../../../lib/translate-validation-error.js";
|
|
11
11
|
import { useBylineAdminServices } from "../../../services/admin-services-context.js";
|
|
@@ -66,7 +66,7 @@ function SetPassword({ user, onClose, onSuccess }) {
|
|
|
66
66
|
}
|
|
67
67
|
});
|
|
68
68
|
return /*#__PURE__*/ jsx("div", {
|
|
69
|
-
className:
|
|
69
|
+
className: clsx('byline-user-set-password-wrap', set_password_module.wrap),
|
|
70
70
|
children: /*#__PURE__*/ jsxs("form", {
|
|
71
71
|
method: "post",
|
|
72
72
|
noValidate: true,
|
|
@@ -75,7 +75,7 @@ function SetPassword({ user, onClose, onSuccess }) {
|
|
|
75
75
|
event.stopPropagation();
|
|
76
76
|
form.handleSubmit();
|
|
77
77
|
},
|
|
78
|
-
className:
|
|
78
|
+
className: clsx('byline-user-set-password-form', set_password_module.form),
|
|
79
79
|
children: [
|
|
80
80
|
formError ? /*#__PURE__*/ jsx(Alert, {
|
|
81
81
|
intent: "danger",
|
|
@@ -122,14 +122,14 @@ function SetPassword({ user, onClose, onSuccess }) {
|
|
|
122
122
|
})
|
|
123
123
|
}),
|
|
124
124
|
/*#__PURE__*/ jsxs("div", {
|
|
125
|
-
className:
|
|
125
|
+
className: clsx('byline-user-set-password-actions', set_password_module.actions),
|
|
126
126
|
children: [
|
|
127
127
|
/*#__PURE__*/ jsx(Button, {
|
|
128
128
|
type: "button",
|
|
129
129
|
intent: "secondary",
|
|
130
130
|
size: "sm",
|
|
131
131
|
onClick: onClose,
|
|
132
|
-
className:
|
|
132
|
+
className: clsx('byline-user-set-password-action', set_password_module.action),
|
|
133
133
|
children: successMessage ? t('common.actions.close') : t('common.actions.cancel')
|
|
134
134
|
}),
|
|
135
135
|
/*#__PURE__*/ jsx(form.Subscribe, {
|
|
@@ -143,7 +143,7 @@ function SetPassword({ user, onClose, onSuccess }) {
|
|
|
143
143
|
intent: "primary",
|
|
144
144
|
type: "submit",
|
|
145
145
|
disabled: !canSubmit || isSubmitting,
|
|
146
|
-
className:
|
|
146
|
+
className: clsx('byline-user-set-password-action', set_password_module.action),
|
|
147
147
|
children: true === isSubmitting ? /*#__PURE__*/ jsx(LoaderEllipsis, {
|
|
148
148
|
size: 42
|
|
149
149
|
}) : t('common.actions.save')
|
|
@@ -4,7 +4,7 @@ import { useMemo, useState } from "react";
|
|
|
4
4
|
import { revalidateLogic, useForm } from "@tanstack/react-form-start";
|
|
5
5
|
import { useTranslation } from "@byline/i18n/react";
|
|
6
6
|
import { Alert, Button, Checkbox, Input, LoaderEllipsis } from "@byline/ui/react";
|
|
7
|
-
import
|
|
7
|
+
import clsx from "clsx";
|
|
8
8
|
import { z } from "zod";
|
|
9
9
|
import { useBylineAdminServices } from "../../../services/admin-services-context.js";
|
|
10
10
|
import update_module from "./update.module.js";
|
|
@@ -110,7 +110,7 @@ function UpdateUser({ user, onClose, onSuccess }) {
|
|
|
110
110
|
}
|
|
111
111
|
});
|
|
112
112
|
return /*#__PURE__*/ jsx("div", {
|
|
113
|
-
className:
|
|
113
|
+
className: clsx('byline-user-update-wrap', update_module.wrap),
|
|
114
114
|
children: /*#__PURE__*/ jsxs("form", {
|
|
115
115
|
method: "post",
|
|
116
116
|
noValidate: true,
|
|
@@ -119,7 +119,7 @@ function UpdateUser({ user, onClose, onSuccess }) {
|
|
|
119
119
|
event.stopPropagation();
|
|
120
120
|
form.handleSubmit();
|
|
121
121
|
},
|
|
122
|
-
className:
|
|
122
|
+
className: clsx('byline-user-update-form', update_module.form),
|
|
123
123
|
children: [
|
|
124
124
|
formError ? /*#__PURE__*/ jsx(Alert, {
|
|
125
125
|
intent: "danger",
|
|
@@ -189,7 +189,7 @@ function UpdateUser({ user, onClose, onSuccess }) {
|
|
|
189
189
|
})
|
|
190
190
|
}),
|
|
191
191
|
/*#__PURE__*/ jsxs("div", {
|
|
192
|
-
className:
|
|
192
|
+
className: clsx('byline-user-update-flags', update_module.flags),
|
|
193
193
|
children: [
|
|
194
194
|
/*#__PURE__*/ jsx(form.Field, {
|
|
195
195
|
name: "is_enabled",
|
|
@@ -226,14 +226,14 @@ function UpdateUser({ user, onClose, onSuccess }) {
|
|
|
226
226
|
]
|
|
227
227
|
}),
|
|
228
228
|
/*#__PURE__*/ jsxs("div", {
|
|
229
|
-
className:
|
|
229
|
+
className: clsx('byline-user-update-actions', update_module.actions),
|
|
230
230
|
children: [
|
|
231
231
|
/*#__PURE__*/ jsx(Button, {
|
|
232
232
|
type: "button",
|
|
233
233
|
intent: "secondary",
|
|
234
234
|
size: "sm",
|
|
235
235
|
onClick: onClose,
|
|
236
|
-
className:
|
|
236
|
+
className: clsx('byline-user-update-action', update_module.action),
|
|
237
237
|
children: successMessage ? t('common.actions.close') : t('common.actions.cancel')
|
|
238
238
|
}),
|
|
239
239
|
/*#__PURE__*/ jsx(form.Subscribe, {
|
|
@@ -247,7 +247,7 @@ function UpdateUser({ user, onClose, onSuccess }) {
|
|
|
247
247
|
intent: "primary",
|
|
248
248
|
type: "submit",
|
|
249
249
|
disabled: !canSubmit || isSubmitting,
|
|
250
|
-
className:
|
|
250
|
+
className: clsx('byline-user-update-action', update_module.action),
|
|
251
251
|
children: true === isSubmitting ? /*#__PURE__*/ jsx(LoaderEllipsis, {
|
|
252
252
|
size: 42
|
|
253
253
|
}) : t('common.actions.save')
|
|
@@ -4,7 +4,7 @@ import { useState } from "react";
|
|
|
4
4
|
import { getClientConfig } from "@byline/core";
|
|
5
5
|
import { useTranslation } from "@byline/i18n/react";
|
|
6
6
|
import { Alert, Button, Card, Input, LoaderEllipsis } from "@byline/ui/react";
|
|
7
|
-
import
|
|
7
|
+
import clsx from "clsx";
|
|
8
8
|
import { useBylineAdminServices } from "../../../services/admin-services-context.js";
|
|
9
9
|
import { normalizeRootRelativeRedirect, resolveSignInFormRedirect } from "../safe-redirect.js";
|
|
10
10
|
import sign_in_form_module from "./sign-in-form.module.js";
|
|
@@ -38,7 +38,7 @@ function SignInForm({ redirectTo, callbackUrl, homeUrl }) {
|
|
|
38
38
|
window.location.assign(normalizeRootRelativeRedirect(destination) ?? '/');
|
|
39
39
|
}
|
|
40
40
|
return /*#__PURE__*/ jsxs(Card, {
|
|
41
|
-
className:
|
|
41
|
+
className: clsx('byline-sign-in-card', sign_in_form_module.card),
|
|
42
42
|
children: [
|
|
43
43
|
/*#__PURE__*/ jsxs(Card.Header, {
|
|
44
44
|
children: [
|
|
@@ -52,7 +52,7 @@ function SignInForm({ redirectTo, callbackUrl, homeUrl }) {
|
|
|
52
52
|
}),
|
|
53
53
|
error && /*#__PURE__*/ jsx(Alert, {
|
|
54
54
|
intent: "danger",
|
|
55
|
-
className:
|
|
55
|
+
className: clsx('byline-sign-in-alert', sign_in_form_module.alert),
|
|
56
56
|
children: error
|
|
57
57
|
})
|
|
58
58
|
]
|
|
@@ -62,10 +62,10 @@ function SignInForm({ redirectTo, callbackUrl, homeUrl }) {
|
|
|
62
62
|
method: "post",
|
|
63
63
|
onSubmit: handleSubmit,
|
|
64
64
|
noValidate: true,
|
|
65
|
-
className:
|
|
65
|
+
className: clsx('byline-sign-in-form', sign_in_form_module.form),
|
|
66
66
|
children: [
|
|
67
67
|
/*#__PURE__*/ jsxs("div", {
|
|
68
|
-
className:
|
|
68
|
+
className: clsx('byline-sign-in-fields', sign_in_form_module.fields),
|
|
69
69
|
children: [
|
|
70
70
|
/*#__PURE__*/ jsx(Input, {
|
|
71
71
|
label: t('common.fields.email'),
|
|
@@ -92,17 +92,17 @@ function SignInForm({ redirectTo, callbackUrl, homeUrl }) {
|
|
|
92
92
|
]
|
|
93
93
|
}),
|
|
94
94
|
/*#__PURE__*/ jsxs("div", {
|
|
95
|
-
className:
|
|
95
|
+
className: clsx('byline-sign-in-actions', sign_in_form_module.actions),
|
|
96
96
|
children: [
|
|
97
97
|
homeUrl && /*#__PURE__*/ jsx("a", {
|
|
98
98
|
href: homeUrl,
|
|
99
|
-
className:
|
|
99
|
+
className: clsx('byline-sign-in-home-link', sign_in_form_module["home-link"]),
|
|
100
100
|
children: t('common.actions.home')
|
|
101
101
|
}),
|
|
102
102
|
/*#__PURE__*/ jsx(Button, {
|
|
103
103
|
type: "submit",
|
|
104
104
|
disabled: pending,
|
|
105
|
-
className:
|
|
105
|
+
className: clsx('byline-sign-in-button', sign_in_form_module.button),
|
|
106
106
|
children: pending ? /*#__PURE__*/ jsx(LoaderEllipsis, {
|
|
107
107
|
size: 30,
|
|
108
108
|
color: "#aaaaaa"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
2
|
+
import clsx from "clsx";
|
|
3
3
|
import group_module from "./group.module.js";
|
|
4
4
|
const AdminGroup = ({ label, children, className })=>/*#__PURE__*/ jsxs("fieldset", {
|
|
5
|
-
className:
|
|
5
|
+
className: clsx('byline-admin-group', group_module.group, className),
|
|
6
6
|
children: [
|
|
7
7
|
label && /*#__PURE__*/ jsx("legend", {
|
|
8
|
-
className:
|
|
8
|
+
className: clsx('byline-admin-group-legend', group_module.legend),
|
|
9
9
|
children: label
|
|
10
10
|
}),
|
|
11
11
|
children
|
package/dist/presentation/row.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
2
|
+
import clsx from "clsx";
|
|
3
3
|
import row_module from "./row.module.js";
|
|
4
4
|
const AdminRow = ({ children, className })=>/*#__PURE__*/ jsx("div", {
|
|
5
|
-
className:
|
|
5
|
+
className: clsx('byline-admin-row', row_module.row, className),
|
|
6
6
|
children: children
|
|
7
7
|
});
|
|
8
8
|
export { AdminRow };
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useTranslation } from "@byline/i18n/react";
|
|
4
4
|
import { Badge } from "@byline/ui/react";
|
|
5
|
-
import
|
|
5
|
+
import clsx from "clsx";
|
|
6
6
|
import tabs_module from "./tabs.module.js";
|
|
7
7
|
const AdminTabs = ({ tabs, activeTab, onChange, errorCounts, className })=>{
|
|
8
8
|
const { t } = useTranslation('byline-admin');
|
|
9
9
|
return /*#__PURE__*/ jsx("div", {
|
|
10
10
|
role: "tablist",
|
|
11
11
|
"aria-label": t('presentation.formTabsAriaLabel'),
|
|
12
|
-
className:
|
|
12
|
+
className: clsx('byline-admin-tabs', tabs_module.tabs, className),
|
|
13
13
|
children: tabs.map((tab)=>{
|
|
14
14
|
const isActive = tab.name === activeTab;
|
|
15
15
|
return /*#__PURE__*/ jsx("button", {
|
|
@@ -17,17 +17,17 @@ const AdminTabs = ({ tabs, activeTab, onChange, errorCounts, className })=>{
|
|
|
17
17
|
role: "tab",
|
|
18
18
|
"aria-selected": isActive,
|
|
19
19
|
onClick: ()=>onChange(tab.name),
|
|
20
|
-
className:
|
|
20
|
+
className: clsx('byline-admin-tab', tabs_module.tab, isActive && [
|
|
21
21
|
'byline-admin-tab-active',
|
|
22
22
|
tabs_module["tab-active"]
|
|
23
23
|
]),
|
|
24
24
|
children: /*#__PURE__*/ jsxs("span", {
|
|
25
|
-
className:
|
|
25
|
+
className: clsx('byline-admin-tab-label', tabs_module.label),
|
|
26
26
|
children: [
|
|
27
27
|
tab.label,
|
|
28
28
|
(errorCounts?.[tab.name] ?? 0) > 0 && /*#__PURE__*/ jsx(Badge, {
|
|
29
29
|
intent: "danger",
|
|
30
|
-
className:
|
|
30
|
+
className: clsx('byline-admin-tab-badge', tabs_module.badge),
|
|
31
31
|
children: errorCounts?.[tab.name]
|
|
32
32
|
})
|
|
33
33
|
]
|
|
@@ -3,7 +3,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { useEffect, useState } from "react";
|
|
4
4
|
import { useTranslation } from "@byline/i18n/react";
|
|
5
5
|
import { CloseIcon, IconButton, LoaderRing, Modal } from "@byline/ui/react";
|
|
6
|
-
import
|
|
6
|
+
import clsx from "clsx";
|
|
7
7
|
import react_diff_viewer_continued, { DiffMethod } from "react-diff-viewer-continued";
|
|
8
8
|
import diff_modal_module from "./diff-modal.module.js";
|
|
9
9
|
const STRIP_KEYS = new Set([
|
|
@@ -70,22 +70,22 @@ function DiffModal({ isOpen, onDismiss, collection, documentId, versionId, versi
|
|
|
70
70
|
},
|
|
71
71
|
children: [
|
|
72
72
|
/*#__PURE__*/ jsxs(Modal.Header, {
|
|
73
|
-
className:
|
|
73
|
+
className: clsx('byline-diff-modal-header', diff_modal_module.header),
|
|
74
74
|
children: [
|
|
75
75
|
/*#__PURE__*/ jsxs("div", {
|
|
76
|
-
className:
|
|
76
|
+
className: clsx('byline-diff-modal-title-stack', diff_modal_module["title-stack"]),
|
|
77
77
|
children: [
|
|
78
78
|
/*#__PURE__*/ jsx("h3", {
|
|
79
|
-
className:
|
|
79
|
+
className: clsx('byline-diff-modal-title', diff_modal_module.title),
|
|
80
80
|
children: t('diffModal.title')
|
|
81
81
|
}),
|
|
82
82
|
/*#__PURE__*/ jsxs("p", {
|
|
83
|
-
className:
|
|
83
|
+
className: clsx('byline-diff-modal-subtitle', diff_modal_module.subtitle),
|
|
84
84
|
children: [
|
|
85
85
|
t('diffModal.subtitleBefore'),
|
|
86
86
|
' ',
|
|
87
87
|
/*#__PURE__*/ jsx("span", {
|
|
88
|
-
className:
|
|
88
|
+
className: clsx('byline-diff-modal-version', diff_modal_module.version),
|
|
89
89
|
children: versionLabel
|
|
90
90
|
}),
|
|
91
91
|
' ',
|
|
@@ -106,13 +106,13 @@ function DiffModal({ isOpen, onDismiss, collection, documentId, versionId, versi
|
|
|
106
106
|
]
|
|
107
107
|
}),
|
|
108
108
|
/*#__PURE__*/ jsxs(Modal.Content, {
|
|
109
|
-
className:
|
|
109
|
+
className: clsx('byline-diff-modal-content', diff_modal_module.content),
|
|
110
110
|
style: {
|
|
111
111
|
minHeight: 0
|
|
112
112
|
},
|
|
113
113
|
children: [
|
|
114
114
|
loading && /*#__PURE__*/ jsxs("div", {
|
|
115
|
-
className:
|
|
115
|
+
className: clsx('byline-diff-modal-state', diff_modal_module.state),
|
|
116
116
|
children: [
|
|
117
117
|
/*#__PURE__*/ jsx(LoaderRing, {
|
|
118
118
|
size: 28,
|
|
@@ -124,11 +124,11 @@ function DiffModal({ isOpen, onDismiss, collection, documentId, versionId, versi
|
|
|
124
124
|
]
|
|
125
125
|
}),
|
|
126
126
|
error && /*#__PURE__*/ jsx("div", {
|
|
127
|
-
className:
|
|
127
|
+
className: clsx('byline-diff-modal-state', 'byline-diff-modal-error', diff_modal_module.state, diff_modal_module.error),
|
|
128
128
|
children: error
|
|
129
129
|
}),
|
|
130
130
|
!loading && !error && historicalDoc && /*#__PURE__*/ jsx("div", {
|
|
131
|
-
className:
|
|
131
|
+
className: clsx('byline-diff-modal-viewer', diff_modal_module.viewer),
|
|
132
132
|
children: /*#__PURE__*/ jsx(react_diff_viewer_continued, {
|
|
133
133
|
oldValue: historicalStr,
|
|
134
134
|
newValue: currentStr,
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Badge } from "@byline/ui/react";
|
|
3
|
-
import
|
|
3
|
+
import clsx from "clsx";
|
|
4
4
|
import source_locale_badge_module from "./source-locale-badge.module.js";
|
|
5
5
|
const SourceLocaleBadge = ({ locale, className })=>/*#__PURE__*/ jsx(Badge, {
|
|
6
6
|
intent: "noeffect",
|
|
7
7
|
render: /*#__PURE__*/ jsx("span", {}),
|
|
8
8
|
title: `Primary content language: ${locale.toUpperCase()}`,
|
|
9
|
-
className:
|
|
9
|
+
className: clsx('byline-source-locale-badge', source_locale_badge_module.badge, className),
|
|
10
10
|
children: locale.toUpperCase()
|
|
11
11
|
});
|
|
12
12
|
SourceLocaleBadge.displayName = 'SourceLocaleBadge';
|
|
@@ -2,7 +2,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { WORKFLOW_STATUS_ARCHIVED, WORKFLOW_STATUS_DRAFT, WORKFLOW_STATUS_PUBLISHED } from "@byline/core";
|
|
3
3
|
import { useTranslation } from "@byline/i18n/react";
|
|
4
4
|
import { Badge } from "@byline/ui/react";
|
|
5
|
-
import
|
|
5
|
+
import clsx from "clsx";
|
|
6
6
|
import status_badge_module from "./status-badge.module.js";
|
|
7
7
|
function statusIntent(status) {
|
|
8
8
|
switch(status){
|
|
@@ -20,15 +20,15 @@ const StatusBadge = ({ status, workflowStatuses, hasPublishedVersion })=>{
|
|
|
20
20
|
const { t } = useTranslation('byline-admin');
|
|
21
21
|
const label = workflowStatuses.find((s)=>s.name === status)?.label ?? String(status ?? '');
|
|
22
22
|
return /*#__PURE__*/ jsxs("span", {
|
|
23
|
-
className:
|
|
23
|
+
className: clsx('byline-status-badge-wrap', status_badge_module.wrap),
|
|
24
24
|
children: [
|
|
25
25
|
true === hasPublishedVersion && 'published' !== status && /*#__PURE__*/ jsx("span", {
|
|
26
26
|
title: t('statusBadge.publishedVersionLive'),
|
|
27
|
-
className:
|
|
27
|
+
className: clsx('byline-status-badge-dot', status_badge_module.dot)
|
|
28
28
|
}),
|
|
29
29
|
/*#__PURE__*/ jsx(Badge, {
|
|
30
30
|
intent: statusIntent(status),
|
|
31
|
-
className:
|
|
31
|
+
className: clsx('byline-status-badge', status_badge_module.badge),
|
|
32
32
|
children: label
|
|
33
33
|
})
|
|
34
34
|
]
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@byline/admin",
|
|
3
3
|
"private": false,
|
|
4
4
|
"license": "MPL-2.0",
|
|
5
|
-
"version": "4.
|
|
5
|
+
"version": "4.11.1",
|
|
6
6
|
"engines": {
|
|
7
7
|
"node": ">=20.9.0"
|
|
8
8
|
},
|
|
@@ -168,15 +168,15 @@
|
|
|
168
168
|
"@codemirror/view": "^6.43.6",
|
|
169
169
|
"@lezer/highlight": "^1.2.3",
|
|
170
170
|
"@tanstack/react-form-start": "^1.33.2",
|
|
171
|
-
"
|
|
171
|
+
"clsx": "^2.1.1",
|
|
172
172
|
"jose": "^6.2.3",
|
|
173
173
|
"react-diff-viewer-continued": "^4.4.0",
|
|
174
174
|
"uuid": "^14.0.1",
|
|
175
175
|
"zod": "^4.4.3",
|
|
176
|
-
"@byline/auth": "4.
|
|
177
|
-
"@byline/i18n": "4.
|
|
178
|
-
"@byline/ui": "4.
|
|
179
|
-
"@byline/core": "4.
|
|
176
|
+
"@byline/auth": "4.11.1",
|
|
177
|
+
"@byline/i18n": "4.11.1",
|
|
178
|
+
"@byline/ui": "4.11.1",
|
|
179
|
+
"@byline/core": "4.11.1"
|
|
180
180
|
},
|
|
181
181
|
"peerDependencies": {
|
|
182
182
|
"react": "^19.0.0",
|
|
@@ -11,7 +11,7 @@ import { useEffect, useState } from 'react'
|
|
|
11
11
|
import type { ArrayField as ArrayFieldType, Field, FieldAdminConfig } from '@byline/core'
|
|
12
12
|
import { useTranslation } from '@byline/i18n/react'
|
|
13
13
|
import { DraggableSortable, IconButton, moveItem, PlusIcon } from '@byline/ui/react'
|
|
14
|
-
import cx from '
|
|
14
|
+
import cx from 'clsx'
|
|
15
15
|
|
|
16
16
|
import { sliceFieldAdmin } from '../../fields/field-admin'
|
|
17
17
|
import { defaultScalarForField } from '../../fields/field-helpers'
|
|
@@ -10,7 +10,7 @@ import React, { Suspense, useCallback } from 'react'
|
|
|
10
10
|
|
|
11
11
|
import type { Field, FieldComponentSlots, CodeField as FieldType } from '@byline/core'
|
|
12
12
|
import { ErrorText, HelpText, Label } from '@byline/ui/react'
|
|
13
|
-
import cx from '
|
|
13
|
+
import cx from 'clsx'
|
|
14
14
|
|
|
15
15
|
import { useFieldError, useFieldValue } from '../../forms/form-context'
|
|
16
16
|
import { LocaleBadge } from '../locale-badge'
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
import type { DateTimeField as FieldType } from '@byline/core'
|
|
10
10
|
import { DatePicker, ErrorText } from '@byline/ui/react'
|
|
11
|
-
import cx from '
|
|
11
|
+
import cx from 'clsx'
|
|
12
12
|
|
|
13
13
|
import { useFieldError, useFieldValue, useIsDirty } from '../../forms/form-context'
|
|
14
14
|
import styles from './datetime-field.module.css'
|
|
@@ -16,7 +16,7 @@ import type {
|
|
|
16
16
|
RichTextEditorComponent,
|
|
17
17
|
} from '@byline/core'
|
|
18
18
|
import { getClientConfig } from '@byline/core'
|
|
19
|
-
import cx from '
|
|
19
|
+
import cx from 'clsx'
|
|
20
20
|
|
|
21
21
|
import { useFormContext } from '../forms/form-context'
|
|
22
22
|
import { ArrayField } from './array/array-field'
|