@protobase/ui 0.63.4 → 0.64.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 (300) hide show
  1. package/dist/account/change-email-dialog.js +1 -1
  2. package/dist/account/devices-section.js +12 -6
  3. package/dist/account/messages.js +2 -333
  4. package/dist/account/passkeys-section.js +3 -3
  5. package/dist/account/password-change-dialog.js +3 -3
  6. package/dist/account/sign-in-policy-form.js +6 -3
  7. package/dist/account/sign-in-providers-section.js +1 -1
  8. package/dist/account/staff-sign-in-log.js +5 -5
  9. package/dist/action-card/messages.js +2 -5
  10. package/dist/activity-chart/activity-chart.js +5 -7
  11. package/dist/activity-chart/activity-tooltip.js +1 -1
  12. package/dist/activity-chart/messages.js +2 -11
  13. package/dist/app/app.js +2 -3
  14. package/dist/app/batch-failure.js +5 -1
  15. package/dist/app/change-confirm/messages.js +2 -13
  16. package/dist/app/change-confirm/use-change-confirm.js +15 -18
  17. package/dist/app/charts/chart-groups.js +3 -1
  18. package/dist/app/charts/chart-view.js +1 -1
  19. package/dist/app/charts/group-bars.js +1 -1
  20. package/dist/app/charts/messages.js +2 -23
  21. package/dist/app/charts/period-chart.js +1 -1
  22. package/dist/app/comments/comment-composer.js +1 -1
  23. package/dist/app/comments/comments-section.js +2 -2
  24. package/dist/app/comments/messages.js +2 -19
  25. package/dist/app/confirm-sign-in-messages.js +2 -19
  26. package/dist/app/confirm-sign-in.js +1 -1
  27. package/dist/app/create/create-page.js +3 -3
  28. package/dist/app/create/create-record-form.js +3 -3
  29. package/dist/app/create/create-route.js +1 -1
  30. package/dist/app/create/messages.js +2 -29
  31. package/dist/app/custom-section.js +2 -3
  32. package/dist/app/delete/blocked-delete.js +5 -2
  33. package/dist/app/delete/dialogs.js +21 -8
  34. package/dist/app/delete/messages.js +2 -63
  35. package/dist/app/delete/use-delete-flow.js +6 -5
  36. package/dist/app/displays/board-column.js +2 -2
  37. package/dist/app/displays/board-columns.js +1 -1
  38. package/dist/app/displays/board-display.js +21 -9
  39. package/dist/app/displays/calendar-display.js +16 -7
  40. package/dist/app/displays/cards-display.js +2 -2
  41. package/dist/app/displays/custom-display.js +1 -2
  42. package/dist/app/displays/list-cards.js +2 -2
  43. package/dist/app/displays/map-display.js +19 -6
  44. package/dist/app/displays/messages.js +2 -147
  45. package/dist/app/displays/period-controls.js +2 -2
  46. package/dist/app/displays/timeline-display.js +16 -7
  47. package/dist/app/displays/timeline-range.js +1 -1
  48. package/dist/app/displays/use-board-move.js +4 -4
  49. package/dist/app/displays/use-calendar-move.js +2 -2
  50. package/dist/app/document-title.js +1 -1
  51. package/dist/app/embedded-list/cut-off-note.js +7 -1
  52. package/dist/app/embedded-list/embedded-list.js +1 -1
  53. package/dist/app/embedded-list/embedded-row-targets.js +3 -3
  54. package/dist/app/embedded-list/messages.js +2 -21
  55. package/dist/app/export/builder-port.js +1 -1
  56. package/dist/app/export/export-dialog.js +14 -8
  57. package/dist/app/export/messages.js +2 -75
  58. package/dist/app/export/use-export-flow.js +9 -3
  59. package/dist/app/field-editor.js +3 -3
  60. package/dist/app/field-errors.js +18 -7
  61. package/dist/app/field-messages.js +2 -45
  62. package/dist/app/field-types/members/messages.js +2 -15
  63. package/dist/app/field-types/messages.js +2 -5
  64. package/dist/app/field-types/widget-part.js +1 -1
  65. package/dist/app/file-field.js +3 -3
  66. package/dist/app/gallery/gallery-section.js +6 -3
  67. package/dist/app/gallery/messages.js +2 -27
  68. package/dist/app/gallery/photo-details.js +3 -3
  69. package/dist/app/hand-order/hand-sorted-list.js +2 -3
  70. package/dist/app/hand-order/messages.js +2 -29
  71. package/dist/app/hand-order/use-hand-order.js +2 -2
  72. package/dist/app/history/describe-change.js +1 -1
  73. package/dist/app/history/history-section.js +1 -1
  74. package/dist/app/history/messages.js +2 -29
  75. package/dist/app/import/convert.js +19 -10
  76. package/dist/app/import/import-check-step.js +5 -5
  77. package/dist/app/import/import-dialog.js +5 -2
  78. package/dist/app/import/import-file-step.js +1 -1
  79. package/dist/app/import/import-mapping-step.js +3 -3
  80. package/dist/app/import/messages.js +2 -197
  81. package/dist/app/import/prepare-rows.js +11 -4
  82. package/dist/app/import/sheet-cell.js +1 -1
  83. package/dist/app/import/xlsx-reader.js +2 -2
  84. package/dist/app/import/zip-reader.js +4 -1
  85. package/dist/app/incoming-card.js +1 -1
  86. package/dist/app/list-actions/use-list-actions.js +4 -1
  87. package/dist/app/list-edit/messages.js +2 -11
  88. package/dist/app/list-edit/use-list-edits.js +1 -1
  89. package/dist/app/list-empty-state.js +7 -4
  90. package/dist/app/list-group-chart.js +1 -1
  91. package/dist/app/list-messages.js +2 -53
  92. package/dist/app/list-page.js +9 -9
  93. package/dist/app/live-update/messages.js +2 -11
  94. package/dist/app/map/messages.js +2 -11
  95. package/dist/app/messages.js +2 -139
  96. package/dist/app/meta-gate-messages.js +2 -13
  97. package/dist/app/nav-from-meta.js +2 -2
  98. package/dist/app/new-version/messages.js +2 -21
  99. package/dist/app/new-version/new-version-banner.js +1 -2
  100. package/dist/app/new-version/new-version-toast.js +1 -1
  101. package/dist/app/pages/action-inputs/action-inputs-dialog.js +1 -1
  102. package/dist/app/pages/action-inputs/input-answers.js +1 -1
  103. package/dist/app/pages/blocks/field.js +1 -1
  104. package/dist/app/pages/blocks/modal-form.js +3 -3
  105. package/dist/app/pages/blocks/settings.js +3 -3
  106. package/dist/app/pages/blocks/tabs.js +1 -1
  107. package/dist/app/pages/composed-page.js +1 -2
  108. package/dist/app/pages/custom-boundary.js +1 -2
  109. package/dist/app/pages/messages.js +2 -79
  110. package/dist/app/pages/record-actions.js +1 -1
  111. package/dist/app/pages/render-node.js +2 -3
  112. package/dist/app/pages/use-run-action.js +15 -7
  113. package/dist/app/picker/picker-combobox.js +1 -1
  114. package/dist/app/rank-after/dependency-rule.js +8 -2
  115. package/dist/app/rank-after/messages.js +2 -5
  116. package/dist/app/rank-after/ranked-place.js +7 -1
  117. package/dist/app/record-chart/messages.js +2 -25
  118. package/dist/app/record-chart/record-chart-section.js +2 -2
  119. package/dist/app/record-lines-cell.js +4 -1
  120. package/dist/app/record-lines.js +5 -5
  121. package/dist/app/record-messages.js +2 -83
  122. package/dist/app/record-page.js +8 -8
  123. package/dist/app/record-row/messages.js +2 -23
  124. package/dist/app/record-row/record-row-body.js +2 -2
  125. package/dist/app/record-row/record-row.js +3 -3
  126. package/dist/app/record-row/saved-record-row.js +3 -3
  127. package/dist/app/related-cards/messages.js +2 -15
  128. package/dist/app/related-cards/related-card.js +1 -1
  129. package/dist/app/related-cards/related-cards.js +1 -1
  130. package/dist/app/related-dots/dots-summary.js +1 -1
  131. package/dist/app/related-dots/messages.js +2 -5
  132. package/dist/app/related-dots/related-dots.js +2 -3
  133. package/dist/app/related-section.js +1 -1
  134. package/dist/app/relation-picker.js +1 -1
  135. package/dist/app/runtime/messages.js +2 -55
  136. package/dist/app/runtime/runtime-status.js +12 -3
  137. package/dist/app/saved/messages.js +2 -19
  138. package/dist/app/saved/saved-list.js +3 -3
  139. package/dist/app/search/messages.js +2 -19
  140. package/dist/app/search/navigation-hits.js +1 -1
  141. package/dist/app/search/search-model.js +9 -3
  142. package/dist/app/searches/messages.js +2 -93
  143. package/dist/app/searches/save-search-button.js +3 -3
  144. package/dist/app/searches/saved-search-rows.js +3 -3
  145. package/dist/app/searches/saved-search-section.js +4 -4
  146. package/dist/app/searches/saved-searches.js +14 -12
  147. package/dist/app/searches/search-controls.js +2 -2
  148. package/dist/app/searches/search-diff.js +8 -2
  149. package/dist/app/searches/update-search-dialog.js +10 -4
  150. package/dist/app/searches/use-save-search.js +2 -2
  151. package/dist/app/searches/use-search-row.js +2 -2
  152. package/dist/app/sensitive-field.js +3 -3
  153. package/dist/app/source-notice.js +3 -3
  154. package/dist/app/staff-banner.js +12 -8
  155. package/dist/app/use-live-save.js +2 -2
  156. package/dist/app/value-badge.js +3 -4
  157. package/dist/app-shell/global-search.js +2 -2
  158. package/dist/app-shell/messages.js +2 -63
  159. package/dist/app-shell/profile-menu.js +2 -2
  160. package/dist/app-shell/sidebar-group.js +2 -2
  161. package/dist/app-shell/sidebar.js +1 -2
  162. package/dist/app-shell/top-bar.js +1 -1
  163. package/dist/assistant-dock/messages.js +2 -23
  164. package/dist/auth/auth-gate.js +1 -1
  165. package/dist/auth/auth-messages.js +9 -88
  166. package/dist/auth/email-code-form.js +2 -3
  167. package/dist/auth/forgot-password-form.js +3 -4
  168. package/dist/auth/messages.js +2 -203
  169. package/dist/auth/provider-sign-in-page.js +3 -3
  170. package/dist/auth/resend-code-button.js +1 -1
  171. package/dist/auth/reset-password-form.js +1 -1
  172. package/dist/auth/reset-password-page.js +1 -1
  173. package/dist/auth/sign-in-form.js +3 -3
  174. package/dist/auth/sign-up-code-form.js +2 -3
  175. package/dist/auth/sign-up-details-form.js +3 -4
  176. package/dist/auth/staff-sign-in-form.js +3 -3
  177. package/dist/calls/call-guests-panel.js +2 -2
  178. package/dist/calls/call-lobby-notice.js +1 -1
  179. package/dist/calls/call-mark.js +1 -1
  180. package/dist/calls/call-people.js +1 -1
  181. package/dist/calls/call-rings.js +1 -1
  182. package/dist/calls/call-tile.js +2 -2
  183. package/dist/calls/messages.js +2 -139
  184. package/dist/carousel/carousel-controls.js +4 -1
  185. package/dist/carousel/messages.js +2 -13
  186. package/dist/chat/chat-message.js +1 -1
  187. package/dist/chat/messages.js +2 -19
  188. package/dist/compact-table/compact-table.js +1 -1
  189. package/dist/compact-table/messages.js +2 -15
  190. package/dist/data-grid/cell-text.js +8 -7
  191. package/dist/data-grid/cells.js +9 -6
  192. package/dist/data-grid/grid-footer.js +1 -1
  193. package/dist/data-grid/grid-row.js +2 -2
  194. package/dist/data-grid/header-menu.js +1 -1
  195. package/dist/data-grid/messages.js +2 -49
  196. package/dist/data-grid/resize-handle.js +1 -1
  197. package/dist/data-grid/row-reorder.js +20 -5
  198. package/dist/filter-panel/active-filter-chips.js +1 -1
  199. package/dist/filter-panel/date-presets.js +2 -2
  200. package/dist/filter-panel/facet-combobox.js +1 -1
  201. package/dist/filter-panel/facet-group.js +1 -1
  202. package/dist/filter-panel/messages.js +2 -49
  203. package/dist/filter-panel/range-filter.js +1 -1
  204. package/dist/format/date.js +4 -4
  205. package/dist/format/messages.js +2 -21
  206. package/dist/format/money.js +1 -1
  207. package/dist/format/number.js +5 -2
  208. package/dist/forms/messages.js +2 -21
  209. package/dist/forms/public-form-page.js +1 -1
  210. package/dist/index.js +3 -3
  211. package/dist/inline-child-table/inline-child-table.js +19 -4
  212. package/dist/inline-child-table/line-row.js +2 -2
  213. package/dist/inline-child-table/messages.js +2 -51
  214. package/dist/invitations/link-notice.js +2 -3
  215. package/dist/invitations/messages.js +2 -21
  216. package/dist/invitations/pending-invitation-row.js +1 -1
  217. package/dist/lists/messages.js +2 -5
  218. package/dist/live/columns-from-model.js +14 -31
  219. package/dist/live/display-value.js +1 -1
  220. package/dist/live/messages.js +2 -15
  221. package/dist/live/value-color.js +13 -3
  222. package/dist/live/view-fields.js +4 -2
  223. package/dist/locale/en.js +1399 -0
  224. package/dist/locale/messages.js +38 -7
  225. package/dist/locale/nl.js +1399 -0
  226. package/dist/markdown/messages.js +2 -13
  227. package/dist/mentions/messages.js +2 -13
  228. package/dist/notifications/bell/messages.js +2 -35
  229. package/dist/notifications/bell/notification-item.js +1 -1
  230. package/dist/notifications/bell/unread-label.js +1 -1
  231. package/dist/organizations/invitation-page.js +32 -14
  232. package/dist/organizations/invitations-page.js +1 -1
  233. package/dist/organizations/members-page.js +2 -2
  234. package/dist/organizations/messages.js +2 -187
  235. package/dist/organizations/organization-page.js +4 -4
  236. package/dist/organizations/organizations-page.js +1 -1
  237. package/dist/package.js +1 -1
  238. package/dist/plugins/load-plugin.js +2 -2
  239. package/dist/plugins/messages.js +2 -33
  240. package/dist/plugins/plugin-notice.js +7 -5
  241. package/dist/primitives/badge.d.ts +2 -1
  242. package/dist/primitives/dialog.d.ts +7 -2
  243. package/dist/primitives/dialog.js +9 -4
  244. package/dist/primitives/messages.js +2 -13
  245. package/dist/primitives/token.js +1 -1
  246. package/dist/record-view/field.js +3 -3
  247. package/dist/record-view/messages.js +2 -37
  248. package/dist/record-view/record-header.js +4 -4
  249. package/dist/roles/messages.js +2 -11
  250. package/dist/shell/assets/app-CN_7en9q.js +8 -0
  251. package/dist/shell/assets/{calls-BIXaKTs0.js → calls-D5RK7EJu.js} +2 -2
  252. package/dist/shell/assets/export-worker-ClXdfeuq.js +15 -0
  253. package/dist/shell/assets/{index-BshKxX1Z.js → index-DMaCBpbN.js} +2 -2
  254. package/dist/shell/assets/index-Or2wt-ck.css +2 -0
  255. package/dist/shell/assets/{maplibre-CjNYwEqW.js → maplibre-CRmpQfDl.js} +3 -3
  256. package/dist/shell/assets/parse-worker-DxsmAjef.js +18 -0
  257. package/dist/shell/assets/preload-helper-BgLOXTzV.js +2 -0
  258. package/dist/shell/assets/{record-map-DjqQGqZ2.js → record-map-DsP4sXes.js} +2 -2
  259. package/dist/shell/assets/{records-map-D1SJKyvj.js → records-map-WFMHgKdf.js} +2 -2
  260. package/dist/shell/assets/shared-protobase-ui-CP2mMFbh.js +2 -0
  261. package/dist/shell/assets/vendor-Kvdo8Jrw.js +73 -0
  262. package/dist/shell/index.html +6 -6
  263. package/dist/shell/protobase.shell.json +2 -2
  264. package/dist/shell/protobase.sw.js +2 -2
  265. package/dist/shell-source-maps/assets/app-CN_7en9q.js.map +1 -0
  266. package/dist/shell-source-maps/assets/{calls-BIXaKTs0.js.map → calls-D5RK7EJu.js.map} +1 -1
  267. package/dist/shell-source-maps/assets/export-worker-ClXdfeuq.js.map +1 -0
  268. package/dist/shell-source-maps/assets/{index-BshKxX1Z.js.map → index-DMaCBpbN.js.map} +1 -1
  269. package/dist/shell-source-maps/assets/{maplibre-CjNYwEqW.js.map → maplibre-CRmpQfDl.js.map} +1 -1
  270. package/dist/shell-source-maps/assets/parse-worker-DxsmAjef.js.map +1 -0
  271. package/dist/shell-source-maps/assets/preload-helper-BgLOXTzV.js.map +1 -0
  272. package/dist/shell-source-maps/assets/{record-map-DjqQGqZ2.js.map → record-map-DsP4sXes.js.map} +1 -1
  273. package/dist/shell-source-maps/assets/{records-map-D1SJKyvj.js.map → records-map-WFMHgKdf.js.map} +1 -1
  274. package/dist/shell-source-maps/assets/shared-protobase-ui-CP2mMFbh.js.map +1 -0
  275. package/dist/shell-source-maps/assets/vendor-Kvdo8Jrw.js.map +1 -0
  276. package/dist/side-panel/messages.js +2 -5
  277. package/dist/status/messages.js +2 -59
  278. package/dist/status/status-dialog.js +1 -1
  279. package/dist/toasts/messages.js +2 -5
  280. package/dist/users/create-user-form.js +1 -1
  281. package/dist/users/messages.js +2 -49
  282. package/package.json +5 -4
  283. package/dist/app-shell/nav.js +0 -85
  284. package/dist/locale/slotted.js +0 -14
  285. package/dist/mocks/activity.js +0 -24
  286. package/dist/mocks/rng.js +0 -20
  287. package/dist/mocks/users.js +0 -63
  288. package/dist/shell/assets/app-CBYlZ19-.js +0 -9
  289. package/dist/shell/assets/export-worker-3e4Zsv0a.js +0 -3
  290. package/dist/shell/assets/index-BvT0X9o1.css +0 -2
  291. package/dist/shell/assets/parse-worker-UhbwEjS0.js +0 -6
  292. package/dist/shell/assets/preload-helper-SYSsmQ2O.js +0 -2
  293. package/dist/shell/assets/shared-protobase-ui-DibYt-TM.js +0 -2
  294. package/dist/shell/assets/vendor-xNCj9Gc_.js +0 -63
  295. package/dist/shell-source-maps/assets/app-CBYlZ19-.js.map +0 -1
  296. package/dist/shell-source-maps/assets/export-worker-3e4Zsv0a.js.map +0 -1
  297. package/dist/shell-source-maps/assets/parse-worker-UhbwEjS0.js.map +0 -1
  298. package/dist/shell-source-maps/assets/preload-helper-SYSsmQ2O.js.map +0 -1
  299. package/dist/shell-source-maps/assets/shared-protobase-ui-DibYt-TM.js.map +0 -1
  300. package/dist/shell-source-maps/assets/vendor-xNCj9Gc_.js.map +0 -1
@@ -1,8 +1,5 @@
1
- import { defineMessages } from "../locale/messages.js";
1
+ import { messages } from "../locale/messages.js";
2
2
  //#region src/side-panel/messages.ts
3
- const text = defineMessages({
4
- en: { close: "Close" },
5
- nl: { close: "Sluiten" }
6
- });
3
+ const text = messages("side-panel");
7
4
  //#endregion
8
5
  export { text };
@@ -1,62 +1,5 @@
1
- import { defineMessages } from "../locale/messages.js";
1
+ import { messages } from "../locale/messages.js";
2
2
  //#region src/status/messages.ts
3
- const text = defineMessages({
4
- en: {
5
- setStatus: "Set a status",
6
- editStatus: "Edit status",
7
- availability: "Availability",
8
- automatic: "Automatic",
9
- busy: "Busy",
10
- doNotDisturb: "Do not disturb",
11
- doNotDisturbHint: "You get no push notifications; they wait in the bell.",
12
- statusText: "Status",
13
- statusPlaceholder: "Having lunch",
14
- clearsAfter: "Clear after",
15
- never: "Never",
16
- thirtyMinutes: "30 minutes",
17
- oneHour: "1 hour",
18
- fourHours: "4 hours",
19
- today: "Today",
20
- thisWeek: "This week",
21
- custom: "Choose a date and time",
22
- clearsAt: "Clears at",
23
- pickTime: "Choose a date and time still to come",
24
- save: "Save",
25
- cancel: "Cancel",
26
- clear: "Clear status",
27
- couldNotSave: "Could not save your status",
28
- until: (time) => `Until ${time}`,
29
- online: "Online",
30
- away: "Away"
31
- },
32
- nl: {
33
- setStatus: "Status instellen",
34
- editStatus: "Status wijzigen",
35
- availability: "Beschikbaarheid",
36
- automatic: "Automatisch",
37
- busy: "Bezet",
38
- doNotDisturb: "Niet storen",
39
- doNotDisturbHint: "Je krijgt geen pushmeldingen; ze wachten bij de bel.",
40
- statusText: "Status",
41
- statusPlaceholder: "Aan het lunchen",
42
- clearsAfter: "Wissen na",
43
- never: "Nooit",
44
- thirtyMinutes: "30 minuten",
45
- oneHour: "1 uur",
46
- fourHours: "4 uur",
47
- today: "Vandaag",
48
- thisWeek: "Deze week",
49
- custom: "Kies een datum en tijd",
50
- clearsAt: "Wist om",
51
- pickTime: "Kies een datum en tijd die nog moet komen",
52
- save: "Opslaan",
53
- cancel: "Annuleren",
54
- clear: "Status wissen",
55
- couldNotSave: "Je status kon niet worden opgeslagen",
56
- until: (time) => `Tot ${time}`,
57
- online: "Online",
58
- away: "Afwezig"
59
- }
60
- });
3
+ const text = messages("status");
61
4
  //#endregion
62
5
  export { text };
@@ -1,7 +1,7 @@
1
1
  import { Button } from "../primitives/button.js";
2
2
  import { Dialog } from "../primitives/dialog.js";
3
- import { Input } from "../primitives/input.js";
4
3
  import { Segmented } from "../primitives/segmented.js";
4
+ import { Input } from "../primitives/input.js";
5
5
  import { text } from "./messages.js";
6
6
  import { clearChoices } from "./clear-time.js";
7
7
  import { draftOf, pickedStatus } from "./status-draft.js";
@@ -1,8 +1,5 @@
1
- import { defineMessages } from "../locale/messages.js";
1
+ import { messages } from "../locale/messages.js";
2
2
  //#region src/toasts/messages.ts
3
- const text = defineMessages({
4
- en: { dismiss: "Dismiss" },
5
- nl: { dismiss: "Sluiten" }
6
- });
3
+ const text = messages("toasts");
7
4
  //#endregion
8
5
  export { text };
@@ -62,7 +62,7 @@ const CreateUserForm = ({ roles, onCreated }) => {
62
62
  "aria-label": text("password"),
63
63
  type: "password",
64
64
  autoComplete: "new-password",
65
- placeholder: text("passwordOptional", 12),
65
+ placeholder: text("passwordOptional", { length: 12 }),
66
66
  value: password,
67
67
  onChange: (event) => setPassword(event.target.value)
68
68
  }),
@@ -1,52 +1,5 @@
1
- import { defineMessages } from "../locale/messages.js";
1
+ import { messages } from "../locale/messages.js";
2
2
  //#region src/users/messages.ts
3
- const text = defineMessages({
4
- en: {
5
- inviteSomeone: "Invite someone",
6
- inviteDescription: "They get an email with a link to make their account, with the roles you tick.",
7
- notAcceptedYet: "Not accepted yet",
8
- sendingAgain: "Sending again gives a new link, which replaces the earlier one.",
9
- nobodyWaiting: "Nobody is waiting.",
10
- addAnAccount: "Add an account",
11
- addDescription: "Makes the account at once, with the address counted as verified. Without a password, the person signs in another way this app allows, such as an emailed code.",
12
- email: "Email",
13
- name: "Name",
14
- password: "Password",
15
- passwordOptional: (length) => `Password (optional, ${length}+ characters)`,
16
- addAccount: "Add account",
17
- couldNotReadRoles: "Could not read the roles",
18
- people: "People",
19
- peopleDescription: "Everyone with an account. Roles decide what each sees and does; someone blocked cannot sign in, and is signed out at once.",
20
- findSomeone: "Find someone",
21
- emailAddress: "Email address",
22
- keepOneRole: "Keep at least one role.",
23
- blocked: "Blocked",
24
- unblock: "Unblock",
25
- block: "Block"
26
- },
27
- nl: {
28
- inviteSomeone: "Iemand uitnodigen",
29
- inviteDescription: "Die krijgt een e-mail met een link om een account te maken, met de rollen die je aanvinkt.",
30
- notAcceptedYet: "Nog niet geaccepteerd",
31
- sendingAgain: "Opnieuw sturen geeft een nieuwe link, die de vorige vervangt.",
32
- nobodyWaiting: "Er wacht niemand.",
33
- addAnAccount: "Een account toevoegen",
34
- addDescription: "Maakt het account meteen, met het adres als gecontroleerd. Zonder wachtwoord logt de persoon in op een andere manier die deze app toestaat, zoals een gemailde code.",
35
- email: "E-mailadres",
36
- name: "Naam",
37
- password: "Wachtwoord",
38
- passwordOptional: (length) => `Wachtwoord (optioneel, ${length}+ tekens)`,
39
- addAccount: "Account toevoegen",
40
- couldNotReadRoles: "Kon de rollen niet lezen",
41
- people: "Mensen",
42
- peopleDescription: "Iedereen met een account. Rollen bepalen wat ieder ziet en doet; wie geblokkeerd is, kan niet inloggen en wordt meteen uitgelogd.",
43
- findSomeone: "Iemand zoeken",
44
- emailAddress: "E-mailadres",
45
- keepOneRole: "Houd minstens één rol.",
46
- blocked: "Geblokkeerd",
47
- unblock: "Deblokkeren",
48
- block: "Blokkeren"
49
- }
50
- });
3
+ const text = messages("users");
51
4
  //#endregion
52
5
  export { text };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@protobase/ui",
3
- "version": "0.63.4",
3
+ "version": "0.64.0",
4
4
  "description": "The Protobase admin app and the React hooks and components for custom UI.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -39,15 +39,16 @@
39
39
  "dependencies": {
40
40
  "@dnd-kit/core": "^6.3.1",
41
41
  "@dnd-kit/sortable": "^10.0.0",
42
- "@protobase/client": "0.63.4",
43
- "@protobase/layout": "0.63.4",
44
- "@protobase/schema": "0.63.4",
42
+ "@protobase/client": "0.64.0",
43
+ "@protobase/layout": "0.64.0",
44
+ "@protobase/schema": "0.64.0",
45
45
  "@sentry/browser": "^11.7.0",
46
46
  "@tanstack/react-query": "^5.104.1",
47
47
  "@tanstack/react-table": "^9.2.6",
48
48
  "altcha-lib": "^2.6.0",
49
49
  "dompurify": "^3.4.17",
50
50
  "fflate": "^0.8.3",
51
+ "intl-messageformat": "^12.1.4",
51
52
  "lucide-react": "^1.52.0",
52
53
  "maplibre-gl": "^6.14.0",
53
54
  "marked": "^18.1.1",
@@ -1,85 +0,0 @@
1
- import { BarChart3, Boxes, Building2, CreditCard, FileText, Package, Receipt, Settings, ShoppingCart, Truck, Users, Warehouse } from "lucide-react";
2
- //#region src/app-shell/nav.ts
3
- const navGroups = [
4
- {
5
- label: "Sales",
6
- items: [
7
- {
8
- id: "orders",
9
- label: "Orders",
10
- icon: ShoppingCart,
11
- count: 12
12
- },
13
- {
14
- id: "customers",
15
- label: "Customers",
16
- icon: Building2
17
- },
18
- {
19
- id: "invoices",
20
- label: "Invoices",
21
- icon: FileText,
22
- count: 3
23
- }
24
- ]
25
- },
26
- {
27
- label: "Inventory",
28
- items: [
29
- {
30
- id: "products",
31
- label: "Products",
32
- icon: Package
33
- },
34
- {
35
- id: "stock-moves",
36
- label: "Stock moves",
37
- icon: Boxes
38
- },
39
- {
40
- id: "warehouses",
41
- label: "Warehouses",
42
- icon: Warehouse
43
- },
44
- {
45
- id: "shipments",
46
- label: "Shipments",
47
- icon: Truck
48
- }
49
- ]
50
- },
51
- {
52
- label: "Finance",
53
- items: [
54
- {
55
- id: "payments",
56
- label: "Payments",
57
- icon: CreditCard
58
- },
59
- {
60
- id: "credit-notes",
61
- label: "Credit notes",
62
- icon: Receipt
63
- },
64
- {
65
- id: "reports",
66
- label: "Reports",
67
- icon: BarChart3
68
- }
69
- ]
70
- },
71
- {
72
- label: "Admin",
73
- items: [{
74
- id: "users",
75
- label: "Users",
76
- icon: Users
77
- }, {
78
- id: "settings",
79
- label: "Settings",
80
- icon: Settings
81
- }]
82
- }
83
- ];
84
- //#endregion
85
- export { navGroups };
@@ -1,14 +0,0 @@
1
- import { Fragment } from "react";
2
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
3
- //#region src/locale/slotted.tsx
4
- /**
5
- * A built-in text with a `{}` for each element that goes in it, such as a highlighted address, rendered with the
6
- * elements in their places in order: each language puts them where its sentence needs them.
7
- */
8
- const slotted = (message, ...slots) => {
9
- const parts = message.split("{}");
10
- if (parts.length !== slots.length + 1) throw new Error(`The text "${message}" has ${parts.length - 1} places for ${slots.length} elements`);
11
- return /* @__PURE__ */ jsx(Fragment$1, { children: parts.map((part, index) => /* @__PURE__ */ jsxs(Fragment, { children: [part, index < slots.length && slots[index]] }, index)) });
12
- };
13
- //#endregion
14
- export { slotted };
@@ -1,24 +0,0 @@
1
- import { mockNow, rngAt } from "./rng.js";
2
- //#region src/mocks/activity.ts
3
- const dayMs = 864e5;
4
- const dailyCounts = (days) => Array.from({ length: days }, (_, offset) => {
5
- const at = mockNow - (days - 1 - offset) * dayMs;
6
- const weekday = new Date(at).getUTCDay();
7
- return {
8
- at,
9
- count: Math.round((weekday === 0 || weekday === 6 ? 120 : 410) * (.8 + rngAt(71, offset)() * .45) * (1 + offset / days / 3))
10
- };
11
- });
12
- const activitySeries = (granularity) => {
13
- if (granularity === "day") return dailyCounts(30);
14
- const daily = dailyCounts(84);
15
- return Array.from({ length: 12 }, (_, week) => {
16
- const chunk = daily.slice(week * 7, week * 7 + 7);
17
- return {
18
- at: chunk[0].at,
19
- count: chunk.reduce((sum, day) => sum + day.count, 0)
20
- };
21
- });
22
- };
23
- //#endregion
24
- export { activitySeries };
package/dist/mocks/rng.js DELETED
@@ -1,20 +0,0 @@
1
- //#region src/mocks/rng.ts
2
- const mockNow = Date.UTC(2026, 9, 6, 9, 41);
3
- const hash = (seed, index) => {
4
- let h = (seed ^ Math.imul(index + 2654435769, 2246822507)) >>> 0;
5
- h = Math.imul(h ^ h >>> 16, 2246822507);
6
- h = Math.imul(h ^ h >>> 13, 3266489909);
7
- return (h ^ h >>> 16) >>> 0;
8
- };
9
- const rngAt = (seed, index) => {
10
- let state = hash(seed, index);
11
- return () => {
12
- state = state + 1831565813 >>> 0;
13
- let t = state;
14
- t = Math.imul(t ^ t >>> 15, t | 1);
15
- t ^= t + Math.imul(t ^ t >>> 7, t | 61);
16
- return ((t ^ t >>> 14) >>> 0) / 4294967296;
17
- };
18
- };
19
- //#endregion
20
- export { hash, mockNow, rngAt };
@@ -1,63 +0,0 @@
1
- //#region src/mocks/users.ts
2
- const users = [
3
- {
4
- id: "u1",
5
- name: "Sanne M.",
6
- initials: "SM",
7
- hue: 250,
8
- role: "Admin"
9
- },
10
- {
11
- id: "u2",
12
- name: "Jonas K.",
13
- initials: "JK",
14
- hue: 160,
15
- role: "Sales"
16
- },
17
- {
18
- id: "u3",
19
- name: "Lieke D.",
20
- initials: "LD",
21
- hue: 20,
22
- role: "Finance"
23
- },
24
- {
25
- id: "u4",
26
- name: "Tobias R.",
27
- initials: "TR",
28
- hue: 310,
29
- role: "Warehouse"
30
- },
31
- {
32
- id: "u5",
33
- name: "Imke V.",
34
- initials: "IV",
35
- hue: 200,
36
- role: "Sales"
37
- },
38
- {
39
- id: "u6",
40
- name: "Marek W.",
41
- initials: "MW",
42
- hue: 80,
43
- role: "Warehouse"
44
- },
45
- {
46
- id: "u7",
47
- name: "Hanna B.",
48
- initials: "HB",
49
- hue: 350,
50
- role: "Finance"
51
- },
52
- {
53
- id: "u8",
54
- name: "Daan P.",
55
- initials: "DP",
56
- hue: 120,
57
- role: "Sales"
58
- }
59
- ];
60
- const userById = (id) => users.find((user) => user.id === id) ?? users[0];
61
- users.filter((user) => user.role === "Sales");
62
- //#endregion
63
- export { userById, users };