@byline/host-tanstack-start 2.5.1 → 2.6.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 (123) hide show
  1. package/dist/admin-shell/admin-roles/container.js +38 -24
  2. package/dist/admin-shell/admin-roles/delete.js +9 -7
  3. package/dist/admin-shell/admin-roles/list.js +20 -16
  4. package/dist/admin-shell/admin-users/container.js +79 -56
  5. package/dist/admin-shell/admin-users/delete.js +10 -8
  6. package/dist/admin-shell/admin-users/list.js +27 -18
  7. package/dist/admin-shell/chrome/admin-app-bar.js +5 -2
  8. package/dist/admin-shell/chrome/breadcrumbs/breadcrumbs.js +3 -1
  9. package/dist/admin-shell/chrome/dashboard.js +13 -11
  10. package/dist/admin-shell/chrome/hamburger.js +3 -1
  11. package/dist/admin-shell/chrome/menu-drawer.js +7 -5
  12. package/dist/admin-shell/chrome/preview-toggle.js +5 -3
  13. package/dist/admin-shell/chrome/route-error.d.ts +3 -2
  14. package/dist/admin-shell/chrome/route-error.js +29 -22
  15. package/dist/admin-shell/chrome/sign-in-page.d.ts +16 -4
  16. package/dist/admin-shell/chrome/sign-in-page.js +38 -13
  17. package/dist/admin-shell/chrome/sign-in-page.module.js +1 -0
  18. package/dist/admin-shell/chrome/sign-in-page_module.css +8 -1
  19. package/dist/admin-shell/collections/api.js +6 -5
  20. package/dist/admin-shell/collections/create.js +12 -4
  21. package/dist/admin-shell/collections/edit.js +112 -37
  22. package/dist/admin-shell/collections/history.js +17 -12
  23. package/dist/admin-shell/collections/list.js +18 -13
  24. package/dist/admin-shell/collections/preview-link.d.ts +1 -10
  25. package/dist/admin-shell/collections/preview-link.js +9 -11
  26. package/dist/admin-shell/collections/resolve-preview-url.d.ts +34 -0
  27. package/dist/admin-shell/collections/resolve-preview-url.js +17 -0
  28. package/dist/admin-shell/collections/restore-version-modal.js +13 -14
  29. package/dist/admin-shell/collections/tanstack-navigation-guard.d.ts +1 -1
  30. package/dist/admin-shell/collections/view-menu.js +7 -5
  31. package/dist/i18n/index.d.ts +19 -0
  32. package/dist/i18n/index.js +4 -0
  33. package/dist/i18n/locale-cookie.d.ts +17 -0
  34. package/dist/i18n/locale-cookie.js +26 -0
  35. package/dist/i18n/locale-definitions.d.ts +29 -0
  36. package/dist/i18n/locale-definitions.js +27 -0
  37. package/dist/i18n/resolve-locale.d.ts +20 -0
  38. package/dist/i18n/resolve-locale.js +43 -0
  39. package/dist/i18n/server-translator.d.ts +33 -0
  40. package/dist/i18n/server-translator.js +19 -0
  41. package/dist/integrations/byline-admin-services.js +2 -0
  42. package/dist/integrations/byline-field-services.d.ts +3 -3
  43. package/dist/routes/create-admin-account-route.js +6 -3
  44. package/dist/routes/create-admin-dashboard-route.js +3 -1
  45. package/dist/routes/create-admin-layout-route.js +48 -25
  46. package/dist/routes/create-admin-permissions-route.js +4 -2
  47. package/dist/routes/create-admin-role-edit-route.js +5 -3
  48. package/dist/routes/create-admin-roles-list-route.js +4 -2
  49. package/dist/routes/create-admin-user-edit-route.js +5 -3
  50. package/dist/routes/create-admin-users-list-route.js +4 -2
  51. package/dist/routes/create-collection-api-route.js +5 -3
  52. package/dist/routes/create-collection-create-route.js +4 -2
  53. package/dist/routes/create-collection-edit-route.js +4 -2
  54. package/dist/routes/create-collection-history-route.js +5 -3
  55. package/dist/routes/create-collection-list-route.js +11 -5
  56. package/dist/routes/create-sign-in-route.js +10 -1
  57. package/dist/server-fns/admin-account/change-password.d.ts +1 -0
  58. package/dist/server-fns/admin-account/get.d.ts +1 -0
  59. package/dist/server-fns/admin-account/update.d.ts +1 -0
  60. package/dist/server-fns/admin-users/create.d.ts +1 -0
  61. package/dist/server-fns/admin-users/get.d.ts +1 -0
  62. package/dist/server-fns/admin-users/list.d.ts +1 -0
  63. package/dist/server-fns/admin-users/set-password.d.ts +1 -0
  64. package/dist/server-fns/admin-users/update.d.ts +1 -0
  65. package/dist/server-fns/auth/sign-in.js +18 -0
  66. package/dist/server-fns/i18n/get-active-locale.d.ts +8 -0
  67. package/dist/server-fns/i18n/get-active-locale.js +6 -0
  68. package/dist/server-fns/i18n/index.d.ts +10 -0
  69. package/dist/server-fns/i18n/index.js +2 -0
  70. package/dist/server-fns/i18n/set-locale.d.ts +25 -0
  71. package/dist/server-fns/i18n/set-locale.js +42 -0
  72. package/package.json +16 -7
  73. package/src/admin-shell/admin-roles/container.tsx +41 -31
  74. package/src/admin-shell/admin-roles/delete.tsx +10 -11
  75. package/src/admin-shell/admin-roles/list.tsx +29 -16
  76. package/src/admin-shell/admin-users/container.tsx +77 -50
  77. package/src/admin-shell/admin-users/delete.tsx +11 -12
  78. package/src/admin-shell/admin-users/list.tsx +39 -18
  79. package/src/admin-shell/chrome/admin-app-bar.tsx +5 -2
  80. package/src/admin-shell/chrome/breadcrumbs/breadcrumbs.tsx +3 -1
  81. package/src/admin-shell/chrome/dashboard.tsx +9 -3
  82. package/src/admin-shell/chrome/hamburger.tsx +3 -1
  83. package/src/admin-shell/chrome/menu-drawer.tsx +7 -5
  84. package/src/admin-shell/chrome/preview-toggle.tsx +6 -4
  85. package/src/admin-shell/chrome/route-error.tsx +39 -26
  86. package/src/admin-shell/chrome/sign-in-page.module.css +10 -1
  87. package/src/admin-shell/chrome/sign-in-page.tsx +46 -12
  88. package/src/admin-shell/collections/api.tsx +5 -1
  89. package/src/admin-shell/collections/create.tsx +10 -4
  90. package/src/admin-shell/collections/edit.tsx +79 -72
  91. package/src/admin-shell/collections/history.tsx +18 -12
  92. package/src/admin-shell/collections/list.tsx +25 -14
  93. package/src/admin-shell/collections/preview-link.tsx +20 -33
  94. package/src/admin-shell/collections/resolve-preview-url.test.node.ts +167 -0
  95. package/src/admin-shell/collections/resolve-preview-url.ts +67 -0
  96. package/src/admin-shell/collections/restore-version-modal.tsx +11 -12
  97. package/src/admin-shell/collections/tanstack-navigation-guard.ts +1 -1
  98. package/src/admin-shell/collections/view-menu.tsx +9 -5
  99. package/src/i18n/index.ts +26 -0
  100. package/src/i18n/locale-cookie.ts +68 -0
  101. package/src/i18n/locale-definitions.ts +48 -0
  102. package/src/i18n/resolve-locale.ts +96 -0
  103. package/src/i18n/server-translator.ts +60 -0
  104. package/src/integrations/byline-admin-services.ts +2 -0
  105. package/src/integrations/byline-field-services.ts +7 -3
  106. package/src/routes/create-admin-account-route.tsx +6 -4
  107. package/src/routes/create-admin-dashboard-route.tsx +5 -1
  108. package/src/routes/create-admin-layout-route.tsx +53 -20
  109. package/src/routes/create-admin-permissions-route.tsx +4 -2
  110. package/src/routes/create-admin-role-edit-route.tsx +5 -3
  111. package/src/routes/create-admin-roles-list-route.tsx +5 -2
  112. package/src/routes/create-admin-user-edit-route.tsx +5 -3
  113. package/src/routes/create-admin-users-list-route.tsx +4 -2
  114. package/src/routes/create-collection-api-route.tsx +5 -3
  115. package/src/routes/create-collection-create-route.tsx +7 -2
  116. package/src/routes/create-collection-edit-route.tsx +4 -2
  117. package/src/routes/create-collection-history-route.tsx +5 -3
  118. package/src/routes/create-collection-list-route.tsx +8 -10
  119. package/src/routes/create-sign-in-route.tsx +14 -1
  120. package/src/server-fns/auth/sign-in.ts +45 -0
  121. package/src/server-fns/i18n/get-active-locale.ts +26 -0
  122. package/src/server-fns/i18n/index.ts +11 -0
  123. package/src/server-fns/i18n/set-locale.ts +103 -0
@@ -4,27 +4,30 @@ import { useState } from "react";
4
4
  import { useRouter } from "@tanstack/react-router";
5
5
  import { RolePermissions } from "@byline/admin/admin-roles/components/permissions";
6
6
  import { UpdateRole } from "@byline/admin/admin-roles/components/update";
7
- import { Button, CloseIcon, Drawer, IconButton, LocalDateTime, Modal, useToastManager } from "@byline/ui/react";
7
+ import { LocalDateTime } from "@byline/admin/react";
8
+ import { useTranslation } from "@byline/i18n/react";
9
+ import { Button, CloseIcon, Drawer, IconButton, Modal, useToastManager } from "@byline/ui/react";
8
10
  import classnames from "classnames";
9
11
  import container_module from "./container.module.js";
10
12
  import { DeleteRole } from "./delete.js";
11
- const panels = {
13
+ const panelMeta = {
12
14
  update: {
13
- title: 'Role Details',
15
+ titleKey: 'adminRoles.detail.panels.update',
14
16
  component: UpdateRole
15
17
  },
16
18
  delete_role: {
17
- title: 'Delete Admin Role',
19
+ titleKey: 'adminRoles.detail.panels.delete',
18
20
  component: DeleteRole
19
21
  },
20
22
  empty: {
21
- title: '',
23
+ titleKey: null,
22
24
  component: ()=>null
23
25
  }
24
26
  };
25
27
  function RoleContainer({ role, registered, initialAbilities }) {
26
28
  const router = useRouter();
27
29
  const toastManager = useToastManager();
30
+ const { t } = useTranslation('byline-admin');
28
31
  const [currentRole, setCurrentRole] = useState(role);
29
32
  const [currentAbilities, setCurrentAbilities] = useState(initialAbilities);
30
33
  const [current, setCurrent] = useState('empty');
@@ -53,14 +56,19 @@ function RoleContainer({ role, registered, initialAbilities }) {
53
56
  setCurrentAbilities(response.abilities);
54
57
  router.invalidate();
55
58
  toastManager.add({
56
- title: 'Permissions saved',
57
- description: `${response.abilities.length} abilities granted to ${currentRole.name}.`,
59
+ title: t('adminRoles.detail.permissionsSavedToast'),
60
+ description: t("adminRoles.detail.permissionsSavedDescription", {
61
+ count: response.abilities.length,
62
+ role: currentRole.name
63
+ }),
58
64
  data: {
59
65
  intent: 'success'
60
66
  }
61
67
  });
62
68
  };
63
- const Panel = panels[current].component;
69
+ const Panel = panelMeta[current].component;
70
+ const panelTitleKey = panelMeta[current].titleKey;
71
+ const panelTitle = panelTitleKey ? t(panelTitleKey) : '';
64
72
  return /*#__PURE__*/ jsxs(Fragment, {
65
73
  children: [
66
74
  /*#__PURE__*/ jsxs("div", {
@@ -71,7 +79,7 @@ function RoleContainer({ role, registered, initialAbilities }) {
71
79
  children: [
72
80
  /*#__PURE__*/ jsx("h2", {
73
81
  className: classnames('byline-role-detail-title', container_module.title),
74
- children: "Role Details"
82
+ children: t('adminRoles.detail.title')
75
83
  }),
76
84
  /*#__PURE__*/ jsxs("div", {
77
85
  className: classnames('byline-role-detail-actions', container_module.actions),
@@ -80,13 +88,13 @@ function RoleContainer({ role, registered, initialAbilities }) {
80
88
  size: "xs",
81
89
  intent: "secondary",
82
90
  onClick: openDrawer('update'),
83
- children: "Edit Details"
91
+ children: t('adminRoles.detail.editDetailsButton')
84
92
  }),
85
93
  /*#__PURE__*/ jsx(Button, {
86
94
  size: "xs",
87
95
  intent: "danger",
88
96
  onClick: openModal('delete_role'),
89
- children: "Delete Role"
97
+ children: t('adminRoles.detail.deleteButton')
90
98
  })
91
99
  ]
92
100
  })
@@ -100,7 +108,7 @@ function RoleContainer({ role, registered, initialAbilities }) {
100
108
  children: [
101
109
  /*#__PURE__*/ jsx("span", {
102
110
  className: "muted",
103
- children: "Name:"
111
+ children: t('adminRoles.detail.fields.name')
104
112
  }),
105
113
  " ",
106
114
  currentRole.name
@@ -111,9 +119,9 @@ function RoleContainer({ role, registered, initialAbilities }) {
111
119
  children: [
112
120
  /*#__PURE__*/ jsx("span", {
113
121
  className: "muted",
114
- children: "Machine name:"
122
+ children: t('adminRoles.detail.fields.machineName')
115
123
  }),
116
- " ",
124
+ ' ',
117
125
  currentRole.machine_name
118
126
  ]
119
127
  }),
@@ -122,12 +130,12 @@ function RoleContainer({ role, registered, initialAbilities }) {
122
130
  children: [
123
131
  /*#__PURE__*/ jsx("span", {
124
132
  className: "muted",
125
- children: "Description:"
133
+ children: t("adminRoles.detail.fields.description")
126
134
  }),
127
135
  ' ',
128
136
  currentRole.description ?? /*#__PURE__*/ jsx("span", {
129
137
  className: classnames('muted byline-role-detail-not-set', container_module.notSet),
130
- children: "Not set"
138
+ children: t('common.notSet')
131
139
  })
132
140
  ]
133
141
  })
@@ -139,9 +147,12 @@ function RoleContainer({ role, registered, initialAbilities }) {
139
147
  /*#__PURE__*/ jsxs("p", {
140
148
  className: classnames('byline-role-detail-row', container_module.row),
141
149
  children: [
142
- /*#__PURE__*/ jsx("span", {
150
+ /*#__PURE__*/ jsxs("span", {
143
151
  className: "font-bold",
144
- children: "Created:\xa0"
152
+ children: [
153
+ t('adminRoles.detail.fields.created'),
154
+ "\xa0"
155
+ ]
145
156
  }),
146
157
  /*#__PURE__*/ jsx(LocalDateTime, {
147
158
  value: currentRole.created_at
@@ -151,9 +162,12 @@ function RoleContainer({ role, registered, initialAbilities }) {
151
162
  /*#__PURE__*/ jsxs("p", {
152
163
  className: classnames('byline-role-detail-row', container_module.row),
153
164
  children: [
154
- /*#__PURE__*/ jsx("span", {
165
+ /*#__PURE__*/ jsxs("span", {
155
166
  className: "font-bold",
156
- children: "Updated:\xa0"
167
+ children: [
168
+ t('adminRoles.detail.fields.updated'),
169
+ "\xa0"
170
+ ]
157
171
  }),
158
172
  /*#__PURE__*/ jsx(LocalDateTime, {
159
173
  value: currentRole.updated_at
@@ -191,7 +205,7 @@ function RoleContainer({ role, registered, initialAbilities }) {
191
205
  children: "no action"
192
206
  }),
193
207
  /*#__PURE__*/ jsx(IconButton, {
194
- "aria-label": "Close",
208
+ "aria-label": t('common.actions.close'),
195
209
  size: "sm",
196
210
  onClick: closeDrawer,
197
211
  children: /*#__PURE__*/ jsx(CloseIcon, {
@@ -204,7 +218,7 @@ function RoleContainer({ role, registered, initialAbilities }) {
204
218
  }),
205
219
  /*#__PURE__*/ jsx(Drawer.Header, {
206
220
  children: /*#__PURE__*/ jsx("h2", {
207
- children: panels[current].title
221
+ children: panelTitle
208
222
  })
209
223
  }),
210
224
  /*#__PURE__*/ jsx(Drawer.Content, {
@@ -232,10 +246,10 @@ function RoleContainer({ role, registered, initialAbilities }) {
232
246
  children: [
233
247
  /*#__PURE__*/ jsx("h3", {
234
248
  className: "m-0",
235
- children: panels[current].title
249
+ children: panelTitle
236
250
  }),
237
251
  /*#__PURE__*/ jsx(IconButton, {
238
- "aria-label": "Close",
252
+ "aria-label": t('common.actions.close'),
239
253
  size: "sm",
240
254
  onClick: closeModal,
241
255
  children: /*#__PURE__*/ jsx(CloseIcon, {
@@ -2,6 +2,7 @@
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { useState } from "react";
4
4
  import { useRouter } from "@tanstack/react-router";
5
+ import { useTranslation } from "@byline/i18n/react";
5
6
  import { Alert, Button, LoaderEllipsis, Modal } from "@byline/ui/react";
6
7
  import classnames from "classnames";
7
8
  import { deleteAdminRole } from "../../server-fns/admin-roles/index.js";
@@ -10,6 +11,7 @@ import delete_module from "./delete.module.js";
10
11
  function DeleteRole({ role, onClose }) {
11
12
  const navigate = useNavigate();
12
13
  const router = useRouter();
14
+ const { t } = useTranslation('byline-admin');
13
15
  const [error, setError] = useState(null);
14
16
  const [pending, setPending] = useState(false);
15
17
  async function handleDelete() {
@@ -30,8 +32,8 @@ function DeleteRole({ role, onClose }) {
30
32
  });
31
33
  } catch (err) {
32
34
  const code = getErrorCode(err);
33
- if ('admin.roles.versionConflict' === code) setError('This role has been modified elsewhere since you opened this dialog. Close and reload before trying again.');
34
- else 'admin.roles.notFound' === code ? setError('This role has already been deleted.') : setError('Could not delete this role. Please try again.');
35
+ if ('admin.roles.versionConflict' === code) setError(t('adminRoles.delete.errors.versionConflict'));
36
+ else 'admin.roles.notFound' === code ? setError(t('adminRoles.delete.errors.notFound')) : setError(t('adminRoles.delete.errors.fallback'));
35
37
  setPending(false);
36
38
  }
37
39
  }
@@ -51,7 +53,7 @@ function DeleteRole({ role, onClose }) {
51
53
  children: [
52
54
  /*#__PURE__*/ jsx("span", {
53
55
  className: "muted",
54
- children: "Role:"
56
+ children: t('adminRoles.delete.roleLabel')
55
57
  }),
56
58
  " ",
57
59
  role.name
@@ -62,7 +64,7 @@ function DeleteRole({ role, onClose }) {
62
64
  children: [
63
65
  /*#__PURE__*/ jsx("span", {
64
66
  className: "muted",
65
- children: "Machine name:"
67
+ children: t('adminRoles.delete.machineLabel')
66
68
  }),
67
69
  " ",
68
70
  role.machine_name
@@ -70,7 +72,7 @@ function DeleteRole({ role, onClose }) {
70
72
  }),
71
73
  /*#__PURE__*/ jsx("p", {
72
74
  className: classnames('byline-role-delete-warning', delete_module.warning),
73
- children: "This will permanently delete the role. Any users assigned to it lose the role; any per-role ability grants are removed. The action cannot be undone."
75
+ children: t('adminRoles.delete.warning')
74
76
  })
75
77
  ]
76
78
  }),
@@ -84,7 +86,7 @@ function DeleteRole({ role, onClose }) {
84
86
  onClick: onClose,
85
87
  disabled: pending,
86
88
  className: classnames('byline-role-delete-button', delete_module.button),
87
- children: "Cancel"
89
+ children: t('common.actions.cancel')
88
90
  }),
89
91
  /*#__PURE__*/ jsx(Button, {
90
92
  size: "sm",
@@ -94,7 +96,7 @@ function DeleteRole({ role, onClose }) {
94
96
  className: classnames('byline-role-delete-button', delete_module.button),
95
97
  children: true === pending ? /*#__PURE__*/ jsx(LoaderEllipsis, {
96
98
  size: 42
97
- }) : 'Delete Role'
99
+ }) : t('adminRoles.delete.confirmButton')
98
100
  })
99
101
  ]
100
102
  })
@@ -3,7 +3,9 @@ import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { useEffect, useState } from "react";
4
4
  import { useRouter } from "@tanstack/react-router";
5
5
  import { CreateAdminRole } from "@byline/admin/admin-roles/components/create";
6
- import { Button, CloseIcon, Container, DraggableSortable, Drawer, GripperVerticalIcon, IconButton, LoaderEllipsis, LocalDateTime, PlusIcon, Section, Table, moveItem, useSortable, useToastManager } from "@byline/ui/react";
6
+ import { LocalDateTime } from "@byline/admin/react";
7
+ import { useTranslation } from "@byline/i18n/react";
8
+ import { Button, CloseIcon, Container, DraggableSortable, Drawer, GripperVerticalIcon, IconButton, LoaderEllipsis, PlusIcon, Section, Table, moveItem, useSortable, useToastManager } from "@byline/ui/react";
7
9
  import classnames from "classnames";
8
10
  import { reorderAdminRoles } from "../../server-fns/admin-roles/reorder.js";
9
11
  import { Link } from "../chrome/loose-router.js";
@@ -16,6 +18,7 @@ function Stats({ total }) {
16
18
  });
17
19
  }
18
20
  const DraggableRow = ({ item, disabled })=>{
21
+ const { t } = useTranslation('byline-admin');
19
22
  const { attributes, isDragging, listeners, setNodeRef, transform, transition } = useSortable({
20
23
  id: item.id,
21
24
  disabled,
@@ -56,7 +59,7 @@ const DraggableRow = ({ item, disabled })=>{
56
59
  /*#__PURE__*/ jsx(Table.Cell, {
57
60
  children: item.description ?? /*#__PURE__*/ jsx("span", {
58
61
  className: classnames('muted byline-roles-list-not-set', list_module.notSet),
59
- children: "Not set"
62
+ children: t('common.notSet')
60
63
  })
61
64
  }),
62
65
  /*#__PURE__*/ jsx(Table.Cell, {
@@ -79,6 +82,7 @@ function padRows(value) {
79
82
  function AdminRolesListView({ data }) {
80
83
  const router = useRouter();
81
84
  const toastManager = useToastManager();
85
+ const { t } = useTranslation('byline-admin');
82
86
  const [items, setItems] = useState(data.roles);
83
87
  const [orderChanged, setOrderChanged] = useState(false);
84
88
  const [isSaving, setIsSaving] = useState(false);
@@ -95,7 +99,7 @@ function AdminRolesListView({ data }) {
95
99
  setIsCreateDrawerOpen(false);
96
100
  router.invalidate();
97
101
  toastManager.add({
98
- title: 'Admin role created',
102
+ title: t('adminRoles.list.createdToastTitle'),
99
103
  description: created.name,
100
104
  data: {
101
105
  intent: 'success'
@@ -121,7 +125,7 @@ function AdminRolesListView({ data }) {
121
125
  setOrderChanged(false);
122
126
  router.invalidate();
123
127
  toastManager.add({
124
- title: 'Order saved',
128
+ title: t('adminRoles.list.orderSavedToast'),
125
129
  data: {
126
130
  intent: 'success'
127
131
  }
@@ -130,8 +134,8 @@ function AdminRolesListView({ data }) {
130
134
  setItems(previousItems);
131
135
  setOrderChanged(false);
132
136
  toastManager.add({
133
- title: 'Could not save the new order',
134
- description: 'Please try again.',
137
+ title: t('adminRoles.list.orderFailedToast'),
138
+ description: t("adminRoles.list.orderFailedDescription"),
135
139
  data: {
136
140
  intent: 'danger'
137
141
  }
@@ -149,13 +153,13 @@ function AdminRolesListView({ data }) {
149
153
  children: [
150
154
  /*#__PURE__*/ jsx("h1", {
151
155
  className: classnames('byline-roles-list-title', list_module.title),
152
- children: "Admin Roles"
156
+ children: t('adminRoles.list.title')
153
157
  }),
154
158
  /*#__PURE__*/ jsx(Stats, {
155
159
  total: data.roles.length
156
160
  }),
157
161
  /*#__PURE__*/ jsx(IconButton, {
158
- "aria-label": "Create New Admin Role",
162
+ "aria-label": t('adminRoles.list.createAriaLabel'),
159
163
  onClick: openCreateDrawer,
160
164
  children: /*#__PURE__*/ jsx(PlusIcon, {
161
165
  height: "18px",
@@ -167,7 +171,7 @@ function AdminRolesListView({ data }) {
167
171
  }),
168
172
  0 === items.length ? /*#__PURE__*/ jsx("div", {
169
173
  className: classnames('byline-roles-list-empty', list_module.empty),
170
- children: "No admin roles found"
174
+ children: t('adminRoles.list.empty')
171
175
  }) : /*#__PURE__*/ jsx(DraggableSortable, {
172
176
  ids: items.map((item)=>item.id),
173
177
  onDragEnd: handleOnDragEnd,
@@ -184,19 +188,19 @@ function AdminRolesListView({ data }) {
184
188
  }),
185
189
  /*#__PURE__*/ jsx(Table.HeadingCell, {
186
190
  className: classnames('byline-roles-list-col-name', list_module.colName),
187
- children: "Name"
191
+ children: t('adminRoles.list.columns.name')
188
192
  }),
189
193
  /*#__PURE__*/ jsx(Table.HeadingCell, {
190
194
  className: classnames('byline-roles-list-col-machine', list_module.colMachine),
191
- children: "Machine Name"
195
+ children: t('adminRoles.list.columns.machineName')
192
196
  }),
193
197
  /*#__PURE__*/ jsx(Table.HeadingCell, {
194
198
  className: classnames("byline-roles-list-col-description", list_module.colDescription),
195
- children: "Description"
199
+ children: t("adminRoles.list.columns.description")
196
200
  }),
197
201
  /*#__PURE__*/ jsx(Table.HeadingCell, {
198
202
  className: classnames('byline-roles-list-col-created', list_module.colCreated),
199
- children: "Created"
203
+ children: t('adminRoles.list.columns.created')
200
204
  })
201
205
  ]
202
206
  })
@@ -229,7 +233,7 @@ function AdminRolesListView({ data }) {
229
233
  size: 30,
230
234
  color: "#aaaaaa"
231
235
  }) : /*#__PURE__*/ jsx("span", {
232
- children: "Save Order"
236
+ children: t('adminRoles.list.saveOrder')
233
237
  })
234
238
  })
235
239
  })
@@ -258,7 +262,7 @@ function AdminRolesListView({ data }) {
258
262
  children: "no action"
259
263
  }),
260
264
  /*#__PURE__*/ jsx(IconButton, {
261
- "aria-label": "Close",
265
+ "aria-label": t('common.actions.close'),
262
266
  size: "sm",
263
267
  onClick: closeCreateDrawer,
264
268
  children: /*#__PURE__*/ jsx(CloseIcon, {
@@ -271,7 +275,7 @@ function AdminRolesListView({ data }) {
271
275
  }),
272
276
  /*#__PURE__*/ jsx(Drawer.Header, {
273
277
  children: /*#__PURE__*/ jsx("h2", {
274
- children: "New Admin Role"
278
+ children: t('adminRoles.list.newDrawerTitle')
275
279
  })
276
280
  }),
277
281
  /*#__PURE__*/ jsx(Drawer.Content, {