@setsquare/ui 0.5.0 → 0.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 (154) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/README.md +37 -2
  3. package/dist/index.d.ts +10 -7
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +1 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/lib/english.d.ts +11 -0
  8. package/dist/lib/english.d.ts.map +1 -0
  9. package/dist/lib/english.js +65 -0
  10. package/dist/lib/english.js.map +1 -0
  11. package/dist/lib/labels.d.ts +38 -8
  12. package/dist/lib/labels.d.ts.map +1 -1
  13. package/dist/lib/labels.js +97 -9
  14. package/dist/lib/labels.js.map +1 -1
  15. package/dist/lib/locale.d.ts +105 -0
  16. package/dist/lib/locale.d.ts.map +1 -0
  17. package/dist/lib/locale.js +42 -0
  18. package/dist/lib/locale.js.map +1 -0
  19. package/dist/shell/dashboard-shell.d.ts +4 -1
  20. package/dist/shell/dashboard-shell.d.ts.map +1 -1
  21. package/dist/shell/dashboard-shell.js +3 -2
  22. package/dist/shell/dashboard-shell.js.map +1 -1
  23. package/dist/shell/landmarks.d.ts +33 -0
  24. package/dist/shell/landmarks.d.ts.map +1 -0
  25. package/dist/shell/landmarks.js +20 -0
  26. package/dist/shell/landmarks.js.map +1 -0
  27. package/dist/shell/right-panel.d.ts +7 -2
  28. package/dist/shell/right-panel.d.ts.map +1 -1
  29. package/dist/shell/right-panel.js +13 -7
  30. package/dist/shell/right-panel.js.map +1 -1
  31. package/dist/shell/sidebar.d.ts +10 -2
  32. package/dist/shell/sidebar.d.ts.map +1 -1
  33. package/dist/shell/sidebar.js +31 -14
  34. package/dist/shell/sidebar.js.map +1 -1
  35. package/dist/shell/site-menu.d.ts +11 -3
  36. package/dist/shell/site-menu.d.ts.map +1 -1
  37. package/dist/shell/site-menu.js +7 -1
  38. package/dist/shell/site-menu.js.map +1 -1
  39. package/dist/shell/site-nav.d.ts +4 -1
  40. package/dist/shell/site-nav.d.ts.map +1 -1
  41. package/dist/shell/site-nav.js +3 -3
  42. package/dist/shell/site-nav.js.map +1 -1
  43. package/dist/shell/site-shell.d.ts +4 -2
  44. package/dist/shell/site-shell.d.ts.map +1 -1
  45. package/dist/shell/site-shell.js +3 -2
  46. package/dist/shell/site-shell.js.map +1 -1
  47. package/dist/ui/alert.d.ts +2 -0
  48. package/dist/ui/alert.d.ts.map +1 -1
  49. package/dist/ui/alert.js +11 -9
  50. package/dist/ui/alert.js.map +1 -1
  51. package/dist/ui/breadcrumbs.d.ts +9 -1
  52. package/dist/ui/breadcrumbs.d.ts.map +1 -1
  53. package/dist/ui/breadcrumbs.js +5 -2
  54. package/dist/ui/breadcrumbs.js.map +1 -1
  55. package/dist/ui/calendar.d.ts +1 -0
  56. package/dist/ui/calendar.d.ts.map +1 -1
  57. package/dist/ui/calendar.js +7 -1
  58. package/dist/ui/calendar.js.map +1 -1
  59. package/dist/ui/checkbox.d.ts.map +1 -1
  60. package/dist/ui/checkbox.js +7 -7
  61. package/dist/ui/checkbox.js.map +1 -1
  62. package/dist/ui/code-block-parts.d.ts +30 -0
  63. package/dist/ui/code-block-parts.d.ts.map +1 -0
  64. package/dist/ui/code-block-parts.js +27 -0
  65. package/dist/ui/code-block-parts.js.map +1 -0
  66. package/dist/ui/code-block.d.ts +4 -10
  67. package/dist/ui/code-block.d.ts.map +1 -1
  68. package/dist/ui/code-block.js +4 -9
  69. package/dist/ui/code-block.js.map +1 -1
  70. package/dist/ui/combo-box.d.ts +7 -1
  71. package/dist/ui/combo-box.d.ts.map +1 -1
  72. package/dist/ui/combo-box.js +9 -2
  73. package/dist/ui/combo-box.js.map +1 -1
  74. package/dist/ui/copy-button.d.ts +7 -1
  75. package/dist/ui/copy-button.d.ts.map +1 -1
  76. package/dist/ui/copy-button.js +11 -10
  77. package/dist/ui/copy-button.js.map +1 -1
  78. package/dist/ui/date-field.d.ts +1 -0
  79. package/dist/ui/date-field.d.ts.map +1 -1
  80. package/dist/ui/date-field.js +20 -16
  81. package/dist/ui/date-field.js.map +1 -1
  82. package/dist/ui/dialog.d.ts +6 -1
  83. package/dist/ui/dialog.d.ts.map +1 -1
  84. package/dist/ui/dialog.js +11 -8
  85. package/dist/ui/dialog.js.map +1 -1
  86. package/dist/ui/error-state.d.ts +17 -2
  87. package/dist/ui/error-state.d.ts.map +1 -1
  88. package/dist/ui/error-state.js +32 -34
  89. package/dist/ui/error-state.js.map +1 -1
  90. package/dist/ui/feature-card.d.ts +18 -3
  91. package/dist/ui/feature-card.d.ts.map +1 -1
  92. package/dist/ui/feature-card.js +18 -3
  93. package/dist/ui/feature-card.js.map +1 -1
  94. package/dist/ui/field.d.ts +28 -9
  95. package/dist/ui/field.d.ts.map +1 -1
  96. package/dist/ui/field.js +22 -10
  97. package/dist/ui/field.js.map +1 -1
  98. package/dist/ui/file-upload.d.ts +23 -5
  99. package/dist/ui/file-upload.d.ts.map +1 -1
  100. package/dist/ui/file-upload.js +54 -36
  101. package/dist/ui/file-upload.js.map +1 -1
  102. package/dist/ui/form.d.ts +11 -1
  103. package/dist/ui/form.d.ts.map +1 -1
  104. package/dist/ui/form.js +7 -4
  105. package/dist/ui/form.js.map +1 -1
  106. package/dist/ui/number-field.d.ts.map +1 -1
  107. package/dist/ui/number-field.js +5 -3
  108. package/dist/ui/number-field.js.map +1 -1
  109. package/dist/ui/pagination.d.ts +11 -3
  110. package/dist/ui/pagination.d.ts.map +1 -1
  111. package/dist/ui/pagination.js +30 -23
  112. package/dist/ui/pagination.js.map +1 -1
  113. package/dist/ui/radio-group.d.ts.map +1 -1
  114. package/dist/ui/radio-group.js +4 -4
  115. package/dist/ui/radio-group.js.map +1 -1
  116. package/dist/ui/search.d.ts +3 -0
  117. package/dist/ui/search.d.ts.map +1 -1
  118. package/dist/ui/search.js +11 -10
  119. package/dist/ui/search.js.map +1 -1
  120. package/dist/ui/select.d.ts +7 -1
  121. package/dist/ui/select.d.ts.map +1 -1
  122. package/dist/ui/select.js +7 -3
  123. package/dist/ui/select.js.map +1 -1
  124. package/dist/ui/selection-bar.d.ts +17 -4
  125. package/dist/ui/selection-bar.d.ts.map +1 -1
  126. package/dist/ui/selection-bar.js +15 -11
  127. package/dist/ui/selection-bar.js.map +1 -1
  128. package/dist/ui/sheet.d.ts +1 -0
  129. package/dist/ui/sheet.d.ts.map +1 -1
  130. package/dist/ui/sheet.js +4 -1
  131. package/dist/ui/sheet.js.map +1 -1
  132. package/dist/ui/slider.d.ts +9 -2
  133. package/dist/ui/slider.d.ts.map +1 -1
  134. package/dist/ui/slider.js +13 -5
  135. package/dist/ui/slider.js.map +1 -1
  136. package/dist/ui/tabs.d.ts +1 -0
  137. package/dist/ui/tabs.d.ts.map +1 -1
  138. package/dist/ui/tabs.js +13 -12
  139. package/dist/ui/tabs.js.map +1 -1
  140. package/dist/ui/text-field.d.ts.map +1 -1
  141. package/dist/ui/text-field.js +7 -3
  142. package/dist/ui/text-field.js.map +1 -1
  143. package/dist/ui/theme-switcher.d.ts +1 -0
  144. package/dist/ui/theme-switcher.d.ts.map +1 -1
  145. package/dist/ui/theme-switcher.js +7 -7
  146. package/dist/ui/theme-switcher.js.map +1 -1
  147. package/dist/ui/toast.d.ts +1 -0
  148. package/dist/ui/toast.d.ts.map +1 -1
  149. package/dist/ui/toast.js +4 -1
  150. package/dist/ui/toast.js.map +1 -1
  151. package/dist/ui/tree.d.ts.map +1 -1
  152. package/dist/ui/tree.js +5 -5
  153. package/dist/ui/tree.js.map +1 -1
  154. package/package.json +2 -1
@@ -1,44 +1,53 @@
1
1
  'use client';
2
2
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useId, useRef, useState } from 'react';
4
- import { DropZone as RACDropZone, FileTrigger, ProgressBar as RACProgressBar, Text, isFileDropItem, } from 'react-aria-components';
4
+ import { DropZone as RACDropZone, FileTrigger, ProgressBar as RACProgressBar, Text, isFileDropItem, useLocale, } from 'react-aria-components';
5
5
  import { CircleAlert, CircleCheck, FileText, RotateCcw, Upload, X } from 'lucide-react';
6
6
  import { cn } from '../lib/cn.js';
7
- import { fill, withLabels } from '../lib/labels.js';
7
+ import { formatList } from '../lib/labels.js';
8
+ import { useLabels } from '../lib/locale.js';
8
9
  import { Button } from './button.js';
9
10
  import { fieldStack } from './field.js';
10
11
  import { IconButton } from './icon-button.js';
11
- const fileUploadLabels = {
12
+ export const fileUploadLabels = {
12
13
  dropToAdd: 'Drop to add',
13
14
  dropFiles: 'Drop files here',
14
15
  dropFile: 'Drop a file here',
16
+ or: 'or',
15
17
  chooseFiles: 'Choose files',
16
18
  chooseFile: 'Choose a file',
19
+ fileList: '{label}: files',
20
+ sizeAndStatus: '{size} · {status}',
17
21
  uploadingFile: 'Uploading {name}',
18
22
  uploading: 'Uploading',
19
23
  uploaded: 'Uploaded',
24
+ notAdded: 'Not added',
25
+ notUploaded: 'Not uploaded',
20
26
  errorPrefix: 'Error: ',
21
27
  failed: 'It didn’t upload. Try again.',
22
28
  retry: 'Try uploading {name} again',
23
29
  dismiss: 'Dismiss {name}',
24
30
  cancel: 'Cancel {name}',
25
31
  remove: 'Remove {name}',
32
+ announceAdded: '{count, plural, one {{name} added} other {# files added}}',
33
+ announceRejected: "{count, plural, one {# file wasn't added} other {# files weren't added}}",
26
34
  announceUploaded: '{name} uploaded',
27
35
  announceFailed: "{name} didn't upload. {error}",
28
36
  wrongType: "{name} isn't {types}. Choose {types}.",
37
+ typesList: 'a {list} file',
29
38
  tooBig: '{name} is {size}. Choose a file under {max}.',
30
- tooMany: "{name} wasn't added: you can add up to {max} files. Remove one to add another.",
39
+ tooMany: "{name} wasn't added: you can add up to {max, number} files. Remove one to add another.",
31
40
  };
32
41
  const units = ['byte', 'kilobyte', 'megabyte', 'gigabyte'];
33
- /** "2.4 MB", in the page's locale. */
34
- export function formatBytes(bytes) {
42
+ /** "2.4 MB" in `locale` (FileUpload passes the one from `SetsquareLocale`). Without one, the runtime's default. */
43
+ export function formatBytes(bytes, locale) {
35
44
  let i = 0;
36
45
  let n = bytes;
37
46
  while (n >= 1000 && i < units.length - 1) {
38
47
  n /= 1000;
39
48
  i++;
40
49
  }
41
- return new Intl.NumberFormat(undefined, {
50
+ return new Intl.NumberFormat(locale, {
42
51
  style: 'unit',
43
52
  unit: units[i],
44
53
  unitDisplay: i === 0 ? 'long' : 'short',
@@ -57,15 +66,13 @@ function matchesType(file, accepted) {
57
66
  return type === t;
58
67
  });
59
68
  }
60
- function typesLabel(accepted) {
61
- const names = accepted.map((a) => a.startsWith('.')
69
+ /** The accepted types by name: ".csv" is CSV, "application/pdf" is PDF, "image/*" is image. */
70
+ function typeNames(accepted) {
71
+ return accepted.map((a) => a.startsWith('.')
62
72
  ? a.slice(1).toUpperCase()
63
73
  : a.endsWith('/*')
64
74
  ? a.slice(0, -2)
65
75
  : (a.split('/')[1] ?? a).toUpperCase());
66
- return names.length <= 1
67
- ? `a ${names[0] ?? 'supported'} file`
68
- : `a ${names.slice(0, -1).join(', ')} or ${names[names.length - 1]} file`;
69
76
  }
70
77
  /**
71
78
  * Upload files by choosing them or dropping them. "Choose files" is always there, so dragging is never the
@@ -76,13 +83,15 @@ function typesLabel(accepted) {
76
83
  * each through a polite live region. Removing a file moves focus to the next file, or back to "Choose files".
77
84
  */
78
85
  export function FileUpload({ label, description, acceptedFileTypes, acceptedTypesLabel, maxFileSize, maxFiles, allowsMultiple = true, items, onSelect, onRemove, onRetry, onReject, isDisabled, labels: given, className, }) {
79
- const labels = withLabels(fileUploadLabels, given);
86
+ const t = useLabels('fileUpload', fileUploadLabels, given);
87
+ const { locale } = useLocale();
80
88
  const labelId = useId();
81
89
  const descriptionId = useId();
82
90
  const listRef = useRef(null);
83
91
  const triggerRef = useRef(null);
84
92
  const [rejected, setRejected] = useState([]);
85
- const [announcement, setAnnouncement] = useState('');
93
+ // Whole sentences, each its own paragraph in the live region, never joined into one in code.
94
+ const [announcement, setAnnouncement] = useState([]);
86
95
  const nextId = useRef(0);
87
96
  // Announce status changes the app makes (uploading → done / error), once each — worked out during render by
88
97
  // comparing with the previous list, rather than in an effect.
@@ -94,14 +103,14 @@ export function FileUpload({ label, description, acceptedFileTypes, acceptedType
94
103
  const was = before.get(item.id);
95
104
  if (was && was !== item.status) {
96
105
  if (item.status === 'done')
97
- messages.push(fill(labels.announceUploaded, { name: item.name }));
106
+ messages.push(t('announceUploaded', { name: item.name }));
98
107
  if (item.status === 'error')
99
- messages.push(fill(labels.announceFailed, { name: item.name, error: item.error ?? '' }).trim());
108
+ messages.push(t('announceFailed', { name: item.name, error: item.error ?? '' }).trim());
100
109
  }
101
110
  }
102
111
  setPrevItems(items);
103
112
  if (messages.length)
104
- setAnnouncement(messages.join('. '));
113
+ setAnnouncement(messages);
105
114
  }
106
115
  const accept = (files) => {
107
116
  const ok = [];
@@ -111,26 +120,29 @@ export function FileUpload({ label, description, acceptedFileTypes, acceptedType
111
120
  if (acceptedFileTypes?.length && !matchesType(file, acceptedFileTypes)) {
112
121
  no.push({
113
122
  file,
114
- reason: fill(labels.wrongType, {
123
+ reason: t('wrongType', {
115
124
  name: file.name,
116
- types: acceptedTypesLabel ?? typesLabel(acceptedFileTypes),
125
+ types: acceptedTypesLabel ??
126
+ t('typesList', {
127
+ list: formatList(typeNames(acceptedFileTypes), locale, { type: 'disjunction' }),
128
+ }),
117
129
  }),
118
130
  });
119
131
  }
120
132
  else if (maxFileSize != null && file.size > maxFileSize) {
121
133
  no.push({
122
134
  file,
123
- reason: fill(labels.tooBig, {
135
+ reason: t('tooBig', {
124
136
  name: file.name,
125
- size: formatBytes(file.size),
126
- max: formatBytes(maxFileSize),
137
+ size: formatBytes(file.size, locale),
138
+ max: formatBytes(maxFileSize, locale),
127
139
  }),
128
140
  });
129
141
  }
130
142
  else if (room <= 0) {
131
143
  no.push({
132
144
  file,
133
- reason: fill(labels.tooMany, { name: file.name, max: maxFiles ?? 0 }),
145
+ reason: t('tooMany', { name: file.name, max: maxFiles ?? 0 }),
134
146
  });
135
147
  }
136
148
  else {
@@ -154,10 +166,11 @@ export function FileUpload({ label, description, acceptedFileTypes, acceptedType
154
166
  }
155
167
  const parts = [];
156
168
  if (ok.length)
157
- parts.push(ok.length === 1 ? `${ok[0].name} added` : `${ok.length} files added`);
169
+ parts.push(t('announceAdded', { count: ok.length, name: ok[0].name }));
170
+ // One file turned away is announced with its reason, which says what to do; more, with how many.
158
171
  if (no.length)
159
- parts.push(no.length === 1 ? no[0].reason : `${no.length} files weren't added`);
160
- setAnnouncement(parts.join('. '));
172
+ parts.push(no.length === 1 ? no[0].reason : t('announceRejected', { count: no.length }));
173
+ setAnnouncement(parts);
161
174
  };
162
175
  const onDrop = async (e) => {
163
176
  const files = await Promise.all(e.items.filter(isFileDropItem).map((item) => item.getFile()));
@@ -181,18 +194,23 @@ export function FileUpload({ label, description, acceptedFileTypes, acceptedType
181
194
  ...items.map((item) => ({ kind: 'item', ...item })),
182
195
  ...rejected.map((r) => ({ kind: 'rejected', ...r })),
183
196
  ];
184
- return (_jsxs("div", { role: "group", "aria-labelledby": labelId, "aria-describedby": description ? descriptionId : undefined, className: cn(fieldStack, 'max-w-[36rem]', className), children: [_jsx("span", { id: labelId, className: "block text-sm leading-5 font-semibold text-foreground", children: label }), description && (_jsx("p", { id: descriptionId, className: "max-w-(--measure) text-[13px] leading-5 text-muted-foreground", children: description })), _jsx(RACDropZone, { isDisabled: isDisabled, getDropOperation: () => 'copy', onDrop: onDrop, className: cn('relative flex flex-col items-center gap-3 rounded-lg border-2 border-dashed border-input bg-card px-4 py-6 text-center outline-none', 'data-drop-target:border-solid data-drop-target:border-primary data-drop-target:bg-brand-subtle data-focus-visible:focus-ring data-disabled:opacity-60'), children: ({ isDropTarget }) => (_jsxs(_Fragment, { children: [_jsx(Upload, { "aria-hidden": "true", className: "size-6 text-muted-foreground" }), _jsx(Text, { slot: "label", className: "text-sm leading-5 text-foreground", children: isDropTarget
185
- ? labels.dropToAdd
186
- : allowsMultiple
187
- ? labels.dropFiles
188
- : labels.dropFile }), _jsx("span", { "aria-hidden": "true", className: "-my-1 text-[13px] leading-5 text-muted-foreground", children: "or" }), _jsx(FileTrigger, { acceptedFileTypes: acceptedFileTypes, allowsMultiple: allowsMultiple, onSelect: (list) => list && accept(Array.from(list)), children: _jsx(Button, { ref: triggerRef, isDisabled: isDisabled, children: allowsMultiple ? labels.chooseFiles : labels.chooseFile }) })] })) }), rows.length > 0 && (_jsx("ul", { ref: listRef, "aria-label": `${label}: files`, className: "mt-1 flex flex-col gap-2", children: rows.map((row) => (_jsxs("li", { "data-file-row": row.id, className: cn('flex items-start gap-3 rounded-md border px-3 py-2', row.kind === 'rejected' || row.status === 'error'
197
+ return (_jsxs("div", { role: "group", "aria-labelledby": labelId, "aria-describedby": description ? descriptionId : undefined, className: cn(fieldStack, 'max-w-[36rem]', className), children: [_jsx("span", { id: labelId, className: "block text-sm leading-5 font-semibold text-foreground", children: label }), description && (_jsx("p", { id: descriptionId, className: "max-w-(--measure) text-[13px] leading-5 text-muted-foreground", children: description })), _jsx(RACDropZone, { isDisabled: isDisabled, getDropOperation: () => 'copy', onDrop: onDrop, className: cn('relative flex flex-col items-center gap-3 rounded-lg border-2 border-dashed border-input bg-card px-4 py-6 text-center outline-none', 'data-drop-target:border-solid data-drop-target:border-primary data-drop-target:bg-brand-subtle data-focus-visible:focus-ring data-disabled:opacity-60'), children: ({ isDropTarget }) => (_jsxs(_Fragment, { children: [_jsx(Upload, { "aria-hidden": "true", className: "size-6 text-muted-foreground" }), _jsx(Text, { slot: "label", className: "text-sm leading-5 text-foreground", children: isDropTarget ? t('dropToAdd') : allowsMultiple ? t('dropFiles') : t('dropFile') }), _jsx("span", { "aria-hidden": "true", className: "-my-1 text-[13px] leading-5 text-muted-foreground", children: t('or') }), _jsx(FileTrigger, { acceptedFileTypes: acceptedFileTypes, allowsMultiple: allowsMultiple, onSelect: (list) => list && accept(Array.from(list)), children: _jsx(Button, { ref: triggerRef, isDisabled: isDisabled, children: allowsMultiple ? t('chooseFiles') : t('chooseFile') }) })] })) }), rows.length > 0 && (_jsx("ul", { ref: listRef, "aria-label": t('fileList', { label }), className: "mt-1 flex flex-col gap-2", children: rows.map((row) => (_jsxs("li", { "data-file-row": row.id, className: cn('flex items-start gap-3 rounded-md border px-3 py-2', row.kind === 'rejected' || row.status === 'error'
189
198
  ? 'border-destructive'
190
- : 'border-border'), children: [row.kind === 'rejected' || row.status === 'error' ? (_jsx(CircleAlert, { "aria-hidden": "true", className: "mt-0.5 size-5 shrink-0 text-destructive" })) : row.status === 'done' ? (_jsx(CircleCheck, { "aria-hidden": "true", className: "mt-0.5 size-5 shrink-0 text-success" })) : (_jsx(FileText, { "aria-hidden": "true", className: "mt-0.5 size-5 shrink-0 text-muted-foreground" })), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [_jsx("span", { className: "text-sm leading-5 font-semibold [overflow-wrap:anywhere]", children: row.name }), _jsxs("span", { className: "text-[13px] leading-5 text-muted-foreground", children: [formatBytes(row.size), row.kind === 'item' && row.status === 'done' && ` · ${labels.uploaded}`, row.kind === 'item' && row.status === 'uploading' && ` · ${labels.uploading}`, row.kind === 'rejected' && ' · Not added', row.kind === 'item' && row.status === 'error' && ' · Not uploaded'] }), row.kind === 'item' && row.status === 'uploading' && (_jsx(RACProgressBar, { "aria-label": fill(labels.uploadingFile, { name: row.name }), value: row.progress, isIndeterminate: row.progress == null, className: "flex items-center gap-3", children: ({ percentage, valueText }) => (_jsxs(_Fragment, { children: [_jsx("div", { className: "h-2 flex-1 overflow-hidden rounded-full border border-input bg-muted aaa:h-3", children: _jsx("div", { className: cn('h-full rounded-full bg-primary transition-[width] duration-(--duration-fast) motion-reduce:transition-none', row.progress == null && 'w-1/3 animate-pulse'), style: row.progress == null ? undefined : { width: `${percentage ?? 0}%` } }) }), row.progress != null && (_jsx("span", { className: "text-[13px] text-muted-foreground tabular-nums", children: valueText }))] })) })), (row.kind === 'rejected' || row.status === 'error') && (_jsxs("span", { className: "text-[13px] leading-5 font-semibold text-destructive", children: [_jsx("span", { className: "sr-only", children: labels.errorPrefix }), row.kind === 'rejected' ? row.reason : (row.error ?? labels.failed)] }))] }), _jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [row.kind === 'item' && row.status === 'error' && onRetry && (_jsx(IconButton, { label: fill(labels.retry, { name: row.name }), icon: RotateCcw, visualSize: "icon-sm", onPress: () => onRetry(row.id) })), _jsx(IconButton, { label: row.kind === 'rejected'
191
- ? fill(labels.dismiss, { name: row.name })
199
+ : 'border-border'), children: [row.kind === 'rejected' || row.status === 'error' ? (_jsx(CircleAlert, { "aria-hidden": "true", className: "mt-0.5 size-5 shrink-0 text-destructive" })) : row.status === 'done' ? (_jsx(CircleCheck, { "aria-hidden": "true", className: "mt-0.5 size-5 shrink-0 text-success" })) : (_jsx(FileText, { "aria-hidden": "true", className: "mt-0.5 size-5 shrink-0 text-muted-foreground" })), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [_jsx("span", { className: "text-sm leading-5 font-semibold [overflow-wrap:anywhere]", children: row.name }), _jsx("span", { className: "text-[13px] leading-5 text-muted-foreground", children: t('sizeAndStatus', {
200
+ size: formatBytes(row.size, locale),
201
+ status: row.kind === 'rejected'
202
+ ? t('notAdded')
203
+ : row.status === 'done'
204
+ ? t('uploaded')
205
+ : row.status === 'uploading'
206
+ ? t('uploading')
207
+ : t('notUploaded'),
208
+ }) }), row.kind === 'item' && row.status === 'uploading' && (_jsx(RACProgressBar, { "aria-label": t('uploadingFile', { name: row.name }), value: row.progress, isIndeterminate: row.progress == null, className: "flex items-center gap-3", children: ({ percentage, valueText }) => (_jsxs(_Fragment, { children: [_jsx("div", { className: "h-2 flex-1 overflow-hidden rounded-full border border-input bg-muted aaa:h-3", children: _jsx("div", { className: cn('h-full rounded-full bg-primary transition-[width] duration-(--duration-fast) motion-reduce:transition-none', row.progress == null && 'w-1/3 animate-pulse'), style: row.progress == null ? undefined : { width: `${percentage ?? 0}%` } }) }), row.progress != null && (_jsx("span", { className: "text-[13px] text-muted-foreground tabular-nums", children: valueText }))] })) })), (row.kind === 'rejected' || row.status === 'error') && (_jsxs("span", { className: "text-[13px] leading-5 font-semibold text-destructive", children: [_jsx("span", { className: "sr-only", children: t('errorPrefix') }), row.kind === 'rejected' ? row.reason : (row.error ?? t('failed'))] }))] }), _jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [row.kind === 'item' && row.status === 'error' && onRetry && (_jsx(IconButton, { label: t('retry', { name: row.name }), icon: RotateCcw, visualSize: "icon-sm", onPress: () => onRetry(row.id) })), _jsx(IconButton, { label: row.kind === 'rejected'
209
+ ? t('dismiss', { name: row.name })
192
210
  : row.status === 'uploading'
193
- ? fill(labels.cancel, { name: row.name })
194
- : fill(labels.remove, { name: row.name }), icon: X, visualSize: "icon-sm", onPress: () => removeAndRefocus(row.id, () => row.kind === 'rejected'
211
+ ? t('cancel', { name: row.name })
212
+ : t('remove', { name: row.name }), icon: X, visualSize: "icon-sm", onPress: () => removeAndRefocus(row.id, () => row.kind === 'rejected'
195
213
  ? setRejected((r) => r.filter((x) => x.id !== row.id))
196
- : onRemove(row.id)) })] })] }, row.id))) })), _jsx("p", { role: "status", className: "sr-only", children: announcement })] }));
214
+ : onRemove(row.id)) })] })] }, row.id))) })), _jsx("div", { role: "status", className: "sr-only", children: announcement.map((sentence, i) => (_jsx("p", { children: sentence }, i))) })] }));
197
215
  }
198
216
  //# sourceMappingURL=file-upload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-upload.js","sourceRoot":"","sources":["../../src/ui/file-upload.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-upload.js","sourceRoot":"","sources":["../../src/ui/file-upload.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAChE,OAAO,EACL,QAAQ,IAAI,WAAW,EACvB,WAAW,EACX,WAAW,IAAI,cAAc,EAC7B,IAAI,EACJ,cAAc,EACd,SAAS,GAEV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAuE9C,MAAM,CAAC,MAAM,gBAAgB,GAAqB;IAChD,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,iBAAiB;IAC5B,QAAQ,EAAE,kBAAkB;IAC5B,EAAE,EAAE,IAAI;IACR,WAAW,EAAE,cAAc;IAC3B,UAAU,EAAE,eAAe;IAC3B,QAAQ,EAAE,gBAAgB;IAC1B,aAAa,EAAE,mBAAmB;IAClC,aAAa,EAAE,kBAAkB;IACjC,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,SAAS;IACtB,MAAM,EAAE,8BAA8B;IACtC,KAAK,EAAE,4BAA4B;IACnC,OAAO,EAAE,gBAAgB;IACzB,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,eAAe;IACvB,aAAa,EAAE,2DAA2D;IAC1E,gBAAgB,EAAE,0EAA0E;IAC5F,gBAAgB,EAAE,iBAAiB;IACnC,cAAc,EAAE,+BAA+B;IAC/C,SAAS,EAAE,uCAAuC;IAClD,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAE,8CAA8C;IACtD,OAAO,EAAE,wFAAwF;CAClG,CAAC;AA4BF,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAU,CAAC;AACpE,mHAAmH;AACnH,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,MAAe;IACxD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,CAAC,GAAG,KAAK,CAAC;IACd,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,CAAC,IAAI,IAAI,CAAC;QACV,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;QACnC,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACd,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;QACvC,qBAAqB,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/C,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,IAAU,EAAE,QAAkB;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACzB,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,IAAI,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,+FAA+F;AAC/F,SAAS,SAAS,CAAC,QAAkB;IACnC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxB,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;QACf,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;QAC1B,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAChB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAC3C,CAAC;AACJ,CAAC;AASD;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,QAAQ,EACR,cAAc,GAAG,IAAI,EACrB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,UAAU,EACV,MAAM,EAAE,KAAK,EACb,SAAS,GACO;IAChB,MAAM,CAAC,GAAG,SAAS,CAAC,YAAY,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAC3D,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,aAAa,GAAG,KAAK,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAa,EAAE,CAAC,CAAC;IACzD,6FAA6F;IAC7F,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEzB,4GAA4G;IAC5G,8DAA8D;IAC9D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;oBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACtF,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO;oBACzB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QACD,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,QAAQ,CAAC,MAAM;YAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE;QAC/B,MAAM,EAAE,GAAW,EAAE,CAAC;QACtB,MAAM,EAAE,GAAoB,EAAE,CAAC;QAC/B,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9E,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC9D,IAAI,iBAAiB,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC;gBACvE,EAAE,CAAC,IAAI,CAAC;oBACN,IAAI;oBACJ,MAAM,EAAE,CAAC,CAAC,WAAW,EAAE;wBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,KAAK,EACH,kBAAkB;4BAClB,CAAC,CAAC,WAAW,EAAE;gCACb,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;6BAChF,CAAC;qBACL,CAAC;iBACH,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,WAAW,EAAE,CAAC;gBAC1D,EAAE,CAAC,IAAI,CAAC;oBACN,IAAI;oBACJ,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;wBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;wBACpC,GAAG,EAAE,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC;qBACtC,CAAC;iBACH,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;gBACrB,EAAE,CAAC,IAAI,CAAC;oBACN,IAAI;oBACJ,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,IAAI,EAAE,CAAC;YACT,CAAC;QACH,CAAC;QACD,IAAI,EAAE,CAAC,MAAM;YAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YACf,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACjB,GAAG,CAAC;gBACJ,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAChB,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE;oBAClC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;oBACjB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;oBACjB,MAAM,EAAE,CAAC,CAAC,MAAM;iBACjB,CAAC,CAAC;aACJ,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,EAAE,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACvF,iGAAiG;QACjG,IAAI,EAAE,CAAC,MAAM;YACX,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5F,eAAe,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAyC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9F,MAAM,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,2FAA2F;IAC3F,MAAM,gBAAgB,GAAG,CAAC,EAAU,EAAE,MAAkB,EAAE,EAAE;QAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CACrB,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAc,iBAAiB,CAAC,IAAI,EAAE,CACxE,CAAC;QACF,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC;QAC/C,MAAM,EAAE,CAAC;QACT,qBAAqB,CAAC,GAAG,EAAE;YACzB,MAAM,MAAM,GAAG,WAAW;gBACxB,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAC5B,mBAAmB,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CACtD;gBACH,CAAC,CAAC,IAAI,CAAC;YACT,CAAC,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG;QACX,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QAC5D,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAmB,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;KAC9D,CAAC;IAEF,OAAO,CACL,eACE,IAAI,EAAC,OAAO,qBACK,OAAO,sBACN,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EACzD,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC,aAErD,eAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAC,uDAAuD,YACjF,KAAK,GACD,EACN,WAAW,IAAI,CACd,YACE,EAAE,EAAE,aAAa,EACjB,SAAS,EAAC,+DAA+D,YAExE,WAAW,GACV,CACL,EAED,KAAC,WAAW,IACV,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,EAC9B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,EAAE,CACX,qIAAqI,EACrI,uJAAuJ,CACxJ,YAEA,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CACrB,8BACE,KAAC,MAAM,mBAAa,MAAM,EAAC,SAAS,EAAC,8BAA8B,GAAG,EAEtE,KAAC,IAAI,IAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,mCAAmC,YAC7D,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAC3E,EACP,8BAAkB,MAAM,EAAC,SAAS,EAAC,mDAAmD,YACnF,CAAC,CAAC,IAAI,CAAC,GACH,EACP,KAAC,WAAW,IACV,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAEpD,KAAC,MAAM,IAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,YAC5C,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAC7C,GACG,IACb,CACJ,GACW,EAEb,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAClB,aACE,GAAG,EAAE,OAAO,gBACA,CAAC,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EACpC,SAAS,EAAC,0BAA0B,YAEnC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,+BAEiB,GAAG,CAAC,EAAE,EACrB,SAAS,EAAE,EAAE,CACX,oDAAoD,EACpD,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO;wBAC/C,CAAC,CAAC,oBAAoB;wBACtB,CAAC,CAAC,eAAe,CACpB,aAEA,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CACnD,KAAC,WAAW,mBACE,MAAM,EAClB,SAAS,EAAC,yCAAyC,GACnD,CACH,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAC1B,KAAC,WAAW,mBAAa,MAAM,EAAC,SAAS,EAAC,qCAAqC,GAAG,CACnF,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,mBACK,MAAM,EAClB,SAAS,EAAC,8CAA8C,GACxD,CACH,EACD,eAAK,SAAS,EAAC,oCAAoC,aAEjD,eAAM,SAAS,EAAC,0DAA0D,YACvE,GAAG,CAAC,IAAI,GACJ,EACP,eAAM,SAAS,EAAC,6CAA6C,YAC1D,CAAC,CAAC,eAAe,EAAE;wCAClB,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC;wCACnC,MAAM,EACJ,GAAG,CAAC,IAAI,KAAK,UAAU;4CACrB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;4CACf,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM;gDACrB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gDACf,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,WAAW;oDAC1B,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oDAChB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;qCAC3B,CAAC,GACG,EACN,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,IAAI,CACpD,KAAC,cAAc,kBACD,CAAC,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAClD,KAAK,EAAE,GAAG,CAAC,QAAQ,EACnB,eAAe,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI,EACrC,SAAS,EAAC,yBAAyB,YAElC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAC9B,8BACE,cAAK,SAAS,EAAC,8EAA8E,YAC3F,cACE,SAAS,EAAE,EAAE,CACX,4GAA4G,EAC5G,GAAG,CAAC,QAAQ,IAAI,IAAI,IAAI,qBAAqB,CAC9C,EACD,KAAK,EACH,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,UAAU,IAAI,CAAC,GAAG,EAAE,GAErE,GACE,EACL,GAAG,CAAC,QAAQ,IAAI,IAAI,IAAI,CACvB,eAAM,SAAS,EAAC,gDAAgD,YAC7D,SAAS,GACL,CACR,IACA,CACJ,GACc,CAClB,EACA,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,CACtD,gBAAM,SAAS,EAAC,sDAAsD,aACpE,eAAM,SAAS,EAAC,SAAS,YAAE,CAAC,CAAC,aAAa,CAAC,GAAQ,EAClD,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,IAC7D,CACR,IACG,EACN,eAAK,SAAS,EAAC,kCAAkC,aAC9C,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,OAAO,IAAI,CAC3D,KAAC,UAAU,IACT,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EACrC,IAAI,EAAE,SAAS,EACf,UAAU,EAAC,SAAS,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAC9B,CACH,EACD,KAAC,UAAU,IACT,KAAK,EACH,GAAG,CAAC,IAAI,KAAK,UAAU;wCACrB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;wCAClC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,WAAW;4CAC1B,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;4CACjC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAEvC,IAAI,EAAE,CAAC,EACP,UAAU,EAAC,SAAS,EACpB,OAAO,EAAE,GAAG,EAAE,CACZ,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAC5B,GAAG,CAAC,IAAI,KAAK,UAAU;wCACrB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;wCACtD,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CACrB,GAEH,IACE,KAvGD,GAAG,CAAC,EAAE,CAwGR,CACN,CAAC,GACC,CACN,EACD,cAAK,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,YACnC,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAEjC,sBAAY,QAAQ,IAAZ,CAAC,CAAgB,CAC1B,CAAC,GACE,IACF,CACP,CAAC;AACJ,CAAC"}
package/dist/ui/form.d.ts CHANGED
@@ -6,9 +6,17 @@ export interface ErrorItem {
6
6
  id: string;
7
7
  message: string;
8
8
  }
9
+ /** The error summary's words, for the `labels` prop on `ErrorSummary` and `Form`. */
10
+ export interface ErrorSummaryLabels {
11
+ /** Its heading, when there is no `title`. */
12
+ title: string;
13
+ }
14
+ export declare const errorSummaryLabels: ErrorSummaryLabels;
9
15
  export interface ErrorSummaryProps {
10
16
  errors: ErrorItem[];
17
+ /** Its heading for this form. Default `labels.title`, "There is a problem". */
11
18
  title?: string;
19
+ labels?: Partial<ErrorSummaryLabels>;
12
20
  /** Move focus here when it appears (server errors, where no field has focus). */
13
21
  autoFocus?: boolean;
14
22
  className?: string;
@@ -17,12 +25,14 @@ export interface ErrorSummaryProps {
17
25
  * Every problem in one place at the top of the form, each a link that moves focus to its field
18
26
  * (WCAG 3.3.1, 3.3.3). The messages match the ones beside the fields, word for word.
19
27
  */
20
- export declare function ErrorSummary({ errors, title, autoFocus, className, }: ErrorSummaryProps): import("react").JSX.Element | null;
28
+ export declare function ErrorSummary({ errors, title, labels, autoFocus, className }: ErrorSummaryProps): import("react").JSX.Element | null;
21
29
  export interface FormProps extends Omit<RACFormProps, 'className'> {
22
30
  /** Which fields carry a visible "(required)" or "(optional)". Default 'required'. */
23
31
  necessityIndicator?: NecessityIndicator;
24
32
  /** Show the ErrorSummary above the fields when submitting fails. Default true. */
25
33
  errorSummary?: boolean;
34
+ /** The ErrorSummary's words. */
35
+ labels?: Partial<ErrorSummaryLabels>;
26
36
  className?: string;
27
37
  }
28
38
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/ui/form.tsx"],"names":[],"mappings":"AAEA,OAAO,EASL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAmB,KAAK,SAAS,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGxF,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEvE,MAAM,WAAW,SAAS;IACxB,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,KAA4B,EAC5B,SAAS,EACT,SAAS,GACV,EAAE,iBAAiB,sCA+CnB;AAED,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;IAChE,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,kFAAkF;IAClF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwCD;;;;;GAKG;AACH,eAAO,MAAM,IAAI,uGAgFf,CAAC;AAEH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,yGAAyG;AACzG,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,gBAAgB,+BAwBxF;AAED,6GAA6G;AAC7G,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,+BAW/F;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,IAAgB,EAChB,SAAS,GACV,EAAE;IACD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BAkBA"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/ui/form.tsx"],"names":[],"mappings":"AAEA,OAAO,EASL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAmB,KAAK,SAAS,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIxF,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEvE,MAAM,WAAW,SAAS;IACxB,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qFAAqF;AACrF,MAAM,WAAW,kBAAkB;IACjC,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,kBAAkB,EAAE,kBAAoD,CAAC;AAEtF,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,iBAAiB,sCAgD9F;AAED,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;IAChE,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,kFAAkF;IAClF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gCAAgC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwCD;;;;;GAKG;AACH,eAAO,MAAM,IAAI,uGAiFf,CAAC;AAEH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,yGAAyG;AACzG,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,gBAAgB,+BAwBxF;AAED,6GAA6G;AAC7G,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,+BAW/F;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,IAAgB,EAChB,SAAS,GACV,EAAE;IACD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BAkBA"}
package/dist/ui/form.js CHANGED
@@ -4,12 +4,15 @@ import { forwardRef, useCallback, useEffect, useId, useLayoutEffect, useRef, use
4
4
  import { Form as RACForm } from 'react-aria-components';
5
5
  import { CircleAlert, CircleCheck } from 'lucide-react';
6
6
  import { cn } from '../lib/cn.js';
7
+ import { useLabels } from '../lib/locale.js';
7
8
  import { NecessityContext } from './field.js';
9
+ export const errorSummaryLabels = { title: 'There is a problem' };
8
10
  /**
9
11
  * Every problem in one place at the top of the form, each a link that moves focus to its field
10
12
  * (WCAG 3.3.1, 3.3.3). The messages match the ones beside the fields, word for word.
11
13
  */
12
- export function ErrorSummary({ errors, title = 'There is a problem', autoFocus, className, }) {
14
+ export function ErrorSummary({ errors, title, labels, autoFocus, className }) {
15
+ const t = useLabels('errorSummary', errorSummaryLabels, labels);
13
16
  const ref = useRef(null);
14
17
  const headingId = useId();
15
18
  const key = errors.map((e) => e.id + e.message).join('|');
@@ -22,7 +25,7 @@ export function ErrorSummary({ errors, title = 'There is a problem', autoFocus,
22
25
  /* oxlint-enable react/exhaustive-effect-dependencies */
23
26
  if (!errors.length)
24
27
  return null;
25
- return (_jsxs("div", { ref: ref, tabIndex: -1, role: "group", "aria-labelledby": headingId, className: cn('rounded-lg border-2 border-destructive bg-destructive-subtle p-4 text-foreground outline-none focus-visible:focus-ring', className), children: [_jsxs("h2", { id: headingId, className: "flex items-center gap-2 text-subheading", children: [_jsx(CircleAlert, { "aria-hidden": "true", className: "size-5 shrink-0 text-destructive" }), title] }), _jsx("ul", { className: "mt-2 flex flex-col gap-1 pl-7 text-sm", children: errors.map((e) => (_jsx("li", { children: _jsx("a", { href: `#${e.id}`, onClick: (ev) => {
28
+ return (_jsxs("div", { ref: ref, tabIndex: -1, role: "group", "aria-labelledby": headingId, className: cn('rounded-lg border-2 border-destructive bg-destructive-subtle p-4 text-foreground outline-none focus-visible:focus-ring', className), children: [_jsxs("h2", { id: headingId, className: "flex items-center gap-2 text-subheading", children: [_jsx(CircleAlert, { "aria-hidden": "true", className: "size-5 shrink-0 text-destructive" }), title ?? t('title')] }), _jsx("ul", { className: "mt-2 flex flex-col gap-1 pl-7 text-sm", children: errors.map((e) => (_jsx("li", { children: _jsx("a", { href: `#${e.id}`, onClick: (ev) => {
26
29
  const el = document.getElementById(e.id);
27
30
  if (!el)
28
31
  return;
@@ -72,7 +75,7 @@ function collectErrors(form) {
72
75
  * and the summary takes focus because no field has it. A `ref` reaches the `<form>`, as well as the one Form
73
76
  * keeps for itself.
74
77
  */
75
- export const Form = forwardRef(function Form({ necessityIndicator = 'required', errorSummary = true, validationErrors, onSubmit, className, children, ...props }, forwardedRef) {
78
+ export const Form = forwardRef(function Form({ necessityIndicator = 'required', errorSummary = true, labels, validationErrors, onSubmit, className, children, ...props }, forwardedRef) {
76
79
  const ref = useRef(null);
77
80
  const setRef = useCallback((node) => {
78
81
  ref.current = node;
@@ -124,7 +127,7 @@ export const Form = forwardRef(function Form({ necessityIndicator = 'required',
124
127
  return (_jsx(NecessityContext.Provider, { value: necessityIndicator, children: _jsxs(RACForm, { ref: setRef, ...props, validationErrors: validationErrors, onSubmit: (e) => {
125
128
  setErrors([]);
126
129
  onSubmit?.(e);
127
- }, className: cn('flex flex-col gap-(--field-gap)', className), children: [errorSummary && _jsx(ErrorSummary, { errors: errors, autoFocus: fromServer }), children] }) }));
130
+ }, className: cn('flex flex-col gap-(--field-gap)', className), children: [errorSummary && _jsx(ErrorSummary, { errors: errors, autoFocus: fromServer, labels: labels }), children] }) }));
128
131
  });
129
132
  /** A titled group of related fields: heading and hint on the left at wide sizes, fields on the right. */
130
133
  export function FormSection({ title, description, children, className }) {
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/ui/form.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/ui/form.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"number-field.d.ts","sourceRoot":"","sources":["../../src/ui/number-field.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAIL,KAAK,gBAAgB,IAAI,mBAAmB,EAC7C,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAUL,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAC5C,mBAAmB,EACnB,WAAW,GAAG,UAAU,GAAG,UAAU,CACtC;IACC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1E,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,KAAY,EACZ,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACT,EAAE,gBAAgB,+BAkDlB"}
1
+ {"version":3,"file":"number-field.d.ts","sourceRoot":"","sources":["../../src/ui/number-field.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAIL,KAAK,gBAAgB,IAAI,mBAAmB,EAC7C,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EASL,KAAK,UAAU,EAEf,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAC5C,mBAAmB,EACnB,WAAW,GAAG,UAAU,GAAG,UAAU,CACtC;IACC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1E,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,KAAY,EACZ,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACT,EAAE,gBAAgB,+BAmDlB"}
@@ -4,16 +4,18 @@ import { Group, Input, NumberField as RACNumberField, } from 'react-aria-compone
4
4
  import { Minus, Plus } from 'lucide-react';
5
5
  import { cn } from '../lib/cn.js';
6
6
  import { Button } from './button.js';
7
- import { FieldDescription, FieldError, FieldLabel, fieldBox, fieldInput, fieldStack, fieldWidths, lcFirst, withRequired, } from './field.js';
7
+ import { FieldDescription, FieldError, FieldLabel, fieldBox, fieldInput, fieldStack, fieldWidths, withRequired, useFieldLabels, } from './field.js';
8
8
  /**
9
9
  * A number with − and + steppers. Each stepper is its own target (Layer 1, at least --target-min) around a
10
10
  * 28px painted button that stays 4px from the box's edge at every level. Arrow keys and typing work too;
11
11
  * min and max clamp on blur.
12
12
  */
13
13
  export function NumberField({ label, description, errorMessage, requiredMessage, validate, width = 'sm', labels, className, ...props }) {
14
- return (_jsxs(RACNumberField, { ...props, validate: withRequired(props.isRequired, requiredMessage ?? `Enter ${lcFirst(label)}`, (v) => v == null || Number.isNaN(v), validate), className: cn(fieldStack, fieldWidths[width],
14
+ const t = useFieldLabels(labels);
15
+ const required = requiredMessage ?? t('enterValue', { label });
16
+ return (_jsxs(RACNumberField, { ...props, validate: withRequired(props.isRequired, required, (v) => v == null || Number.isNaN(v), validate), className: cn(fieldStack, fieldWidths[width],
15
17
  // Two stepper targets plus room for five digits. At AAA the targets are 44px, so a narrow field
16
18
  // grows past its width rather than squeezing the number (min-width wins over max-width).
17
- 'min-w-[calc(2*max(var(--target-min),var(--control-height-sm))+5ch+1.5rem)]', className), children: [_jsx(FieldLabel, { isRequired: props.isRequired, children: label }), description && _jsx(FieldDescription, { children: description }), _jsx(FieldError, { errorPrefix: labels?.errorPrefix, requiredMessage: requiredMessage ?? `Enter ${lcFirst(label)}`, children: errorMessage }), _jsxs(Group, { className: fieldBox, children: [_jsx(Button, { slot: "decrement", variant: "ghost", visualSize: "icon-sm", className: "ms-1 justify-start", visualClassName: "[&_svg]:size-4", children: _jsx(Minus, { "aria-hidden": "true" }) }), _jsx(Input, { className: cn(fieldInput, 'px-2 text-center tabular-nums') }), _jsx(Button, { slot: "increment", variant: "ghost", visualSize: "icon-sm", className: "me-1 justify-end", visualClassName: "[&_svg]:size-4", children: _jsx(Plus, { "aria-hidden": "true" }) })] })] }));
19
+ 'min-w-[calc(2*max(var(--target-min),var(--control-height-sm))+5ch+1.5rem)]', className), children: [_jsx(FieldLabel, { isRequired: props.isRequired, labels: labels, children: label }), description && _jsx(FieldDescription, { children: description }), _jsx(FieldError, { errorPrefix: t('errorPrefix'), requiredMessage: required, children: errorMessage }), _jsxs(Group, { className: fieldBox, children: [_jsx(Button, { slot: "decrement", variant: "ghost", visualSize: "icon-sm", className: "ms-1 justify-start", visualClassName: "[&_svg]:size-4", children: _jsx(Minus, { "aria-hidden": "true" }) }), _jsx(Input, { className: cn(fieldInput, 'px-2 text-center tabular-nums') }), _jsx(Button, { slot: "increment", variant: "ghost", visualSize: "icon-sm", className: "me-1 justify-end", visualClassName: "[&_svg]:size-4", children: _jsx(Plus, { "aria-hidden": "true" }) })] })] }));
18
20
  }
19
21
  //# sourceMappingURL=number-field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"number-field.js","sourceRoot":"","sources":["../../src/ui/number-field.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EACL,KAAK,EACL,KAAK,EACL,WAAW,IAAI,cAAc,GAE9B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,UAAU,EACV,UAAU,EACV,WAAW,EACX,OAAO,EACP,YAAY,GAGb,MAAM,YAAY,CAAC;AAgBpB;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,KAAK,GAAG,IAAI,EACZ,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACS;IACjB,OAAO,CACL,MAAC,cAAc,OACT,KAAK,EACT,QAAQ,EAAE,YAAY,CACpB,KAAK,CAAC,UAAU,EAChB,eAAe,IAAI,SAAS,OAAO,CAAC,KAAK,CAAC,EAAE,EAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EACnC,QAAQ,CACT,EACD,SAAS,EAAE,EAAE,CACX,UAAU,EACV,WAAW,CAAC,KAAK,CAAC;QAClB,gGAAgG;QAChG,yFAAyF;QACzF,4EAA4E,EAC5E,SAAS,CACV,aAED,KAAC,UAAU,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU,YAAG,KAAK,GAAc,EAC7D,WAAW,IAAI,KAAC,gBAAgB,cAAE,WAAW,GAAoB,EAClE,KAAC,UAAU,IACT,WAAW,EAAE,MAAM,EAAE,WAAW,EAChC,eAAe,EAAE,eAAe,IAAI,SAAS,OAAO,CAAC,KAAK,CAAC,EAAE,YAE5D,YAAY,GACF,EACb,MAAC,KAAK,IAAC,SAAS,EAAE,QAAQ,aACxB,KAAC,MAAM,IACL,IAAI,EAAC,WAAW,EAChB,OAAO,EAAC,OAAO,EACf,UAAU,EAAC,SAAS,EACpB,SAAS,EAAC,oBAAoB,EAC9B,eAAe,EAAC,gBAAgB,YAEhC,KAAC,KAAK,mBAAa,MAAM,GAAG,GACrB,EACT,KAAC,KAAK,IAAC,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,+BAA+B,CAAC,GAAI,EACrE,KAAC,MAAM,IACL,IAAI,EAAC,WAAW,EAChB,OAAO,EAAC,OAAO,EACf,UAAU,EAAC,SAAS,EACpB,SAAS,EAAC,kBAAkB,EAC5B,eAAe,EAAC,gBAAgB,YAEhC,KAAC,IAAI,mBAAa,MAAM,GAAG,GACpB,IACH,IACO,CAClB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"number-field.js","sourceRoot":"","sources":["../../src/ui/number-field.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EACL,KAAK,EACL,KAAK,EACL,WAAW,IAAI,cAAc,GAE9B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EAEZ,cAAc,GAEf,MAAM,YAAY,CAAC;AAgBpB;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,KAAK,GAAG,IAAI,EACZ,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACS;IACjB,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,eAAe,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,OAAO,CACL,MAAC,cAAc,OACT,KAAK,EACT,QAAQ,EAAE,YAAY,CACpB,KAAK,CAAC,UAAU,EAChB,QAAQ,EACR,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EACnC,QAAQ,CACT,EACD,SAAS,EAAE,EAAE,CACX,UAAU,EACV,WAAW,CAAC,KAAK,CAAC;QAClB,gGAAgG;QAChG,yFAAyF;QACzF,4EAA4E,EAC5E,SAAS,CACV,aAED,KAAC,UAAU,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,YACrD,KAAK,GACK,EACZ,WAAW,IAAI,KAAC,gBAAgB,cAAE,WAAW,GAAoB,EAClE,KAAC,UAAU,IAAC,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,QAAQ,YACjE,YAAY,GACF,EACb,MAAC,KAAK,IAAC,SAAS,EAAE,QAAQ,aACxB,KAAC,MAAM,IACL,IAAI,EAAC,WAAW,EAChB,OAAO,EAAC,OAAO,EACf,UAAU,EAAC,SAAS,EACpB,SAAS,EAAC,oBAAoB,EAC9B,eAAe,EAAC,gBAAgB,YAEhC,KAAC,KAAK,mBAAa,MAAM,GAAG,GACrB,EACT,KAAC,KAAK,IAAC,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,+BAA+B,CAAC,GAAI,EACrE,KAAC,MAAM,IACL,IAAI,EAAC,WAAW,EAChB,OAAO,EAAC,OAAO,EACf,UAAU,EAAC,SAAS,EACpB,SAAS,EAAC,kBAAkB,EAC5B,eAAe,EAAC,gBAAgB,YAEhC,KAAC,IAAI,mBAAa,MAAM,GAAG,GACpB,IACH,IACO,CAClB,CAAC;AACJ,CAAC"}
@@ -1,17 +1,24 @@
1
- /** Pagination's words, for the `labels` prop. `{noun}` is what the list holds, from `labels.noun`. */
1
+ /**
2
+ * Pagination's words, for the `labels` prop. `{noun}` is `labels.noun`, what the list holds, for English; in a
3
+ * language whose nouns change with the sentence, leave it out and write the noun into each label.
4
+ */
2
5
  export interface PaginationLabels {
3
6
  /** Names the navigation landmark. */
4
7
  pagination: string;
5
8
  /** What the list holds: "projects". */
6
9
  noun: string;
7
- /** The range, in bold: "21–30 of 212". What sits between `{from}` and `{to}` is shown, and read as `rangeTo`. */
10
+ /**
11
+ * The range: "21–30 of 212 projects". The figures are bold, `{noun}` isn't, and what sits between `{from}` and
12
+ * `{to}` is shown and read as `rangeTo`. `{from}` and `{to}` are drawn in place; `{total}` is a number, so
13
+ * `{total, number}` formats it and it can choose a plural.
14
+ */
8
15
  range: string;
9
16
  /** Read in place of the dash between the two figures: " to ". */
10
17
  rangeTo: string;
11
18
  /** The range of an empty list. */
12
19
  empty: string;
13
20
  rowsPerPage: string;
14
- /** A page link's name around its number, which is all it shows: "Page {page} of {noun}". */
21
+ /** A page link's name around its number, which is all it shows: "Page {page} of {noun}". `{page}` is drawn in place. */
15
22
  page: string;
16
23
  previous: string;
17
24
  next: string;
@@ -25,6 +32,7 @@ export interface PaginationLabels {
25
32
  loading: string;
26
33
  errorPrefix: string;
27
34
  }
35
+ export declare const paginationLabels: PaginationLabels;
28
36
  /**
29
37
  * A Laravel API Resource collection's `meta`. Only these fields are read; `links` and `path` point at the API,
30
38
  * not at the page people are on, so they are never used.
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/ui/pagination.tsx"],"names":[],"mappings":"AAsBA,sGAAsG;AACtG,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,iHAAiH;IACjH,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAoBD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,cAAc;IACtB;;;;OAIG;IACH,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAC1C,8FAA8F;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,eAAe,GAAG,cAAc,GAC1C,CACI;IACE,gFAAgF;IAChF,IAAI,EAAE,cAAc,CAAC;IACrB;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,0BAA0B;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,KAAK,CAAC;CACnB,GACD;IACE,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,cAAc,CAAC,EAAE,KAAK,CAAC;CACxB,CACJ,CAAC;AAOJ;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,sCA+LhD"}
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/ui/pagination.tsx"],"names":[],"mappings":"AAuBA;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,wHAAwH;IACxH,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,gBAAgB,EAAE,gBAgB9B,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,cAAc;IACtB;;;;OAIG;IACH,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAC1C,8FAA8F;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,eAAe,GAAG,cAAc,GAC1C,CACI;IACE,gFAAgF;IAChF,IAAI,EAAE,cAAc,CAAC;IACrB;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,0BAA0B;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,KAAK,CAAC;CACnB,GACD;IACE,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,cAAc,CAAC,EAAE,KAAK,CAAC;CACxB,CACJ,CAAC;AAOJ;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,sCAuMhD"}