@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
@@ -4,15 +4,16 @@ import { useEffect, useId, useLayoutEffect, useRef, useState, } from 'react';
4
4
  import { Link, useLocale } from 'react-aria-components';
5
5
  import { ChevronLeft, ChevronRight, CircleAlert } from 'lucide-react';
6
6
  import { cn } from '../lib/cn.js';
7
- import { fill, withLabels } from '../lib/labels.js';
7
+ import { marker, splitMarkers, substitute } from '../lib/labels.js';
8
+ import { useLabels } from '../lib/locale.js';
8
9
  import { pageItems } from '../lib/page-items.js';
9
10
  import { Button } from './button.js';
10
11
  import { Option } from './list-box.js';
11
12
  import { Select } from './select.js';
12
- const paginationLabels = {
13
+ export const paginationLabels = {
13
14
  pagination: 'Pagination',
14
15
  noun: 'results',
15
- range: '{from}–{to} of {total}',
16
+ range: '{from}–{to} of {total, number} {noun}',
16
17
  rangeTo: ' to ',
17
18
  empty: 'No {noun}',
18
19
  rowsPerPage: 'Rows per page',
@@ -41,11 +42,11 @@ export function Pagination(props) {
41
42
  const meta = props.meta;
42
43
  const current = meta ? meta.current_page : props.page;
43
44
  const last = Math.max(1, meta ? meta.last_page : props.pageCount);
44
- const labels = withLabels(paginationLabels, given);
45
- const noun = labels.noun;
45
+ const t = useLabels('pagination', paginationLabels, given);
46
+ const noun = t('noun');
46
47
  const { locale } = useLocale();
47
48
  const format = (n) => new Intl.NumberFormat(locale).format(n);
48
- const to = (n) => (typeof href === 'function' ? href(n) : fill(href, { page: n }));
49
+ const to = (n) => (typeof href === 'function' ? href(n) : substitute(href, { page: n }));
49
50
  // Which way the last change went, for the range's figures and the current page.
50
51
  const [seen, setSeen] = useState({
51
52
  page: current,
@@ -109,33 +110,39 @@ export function Pagination(props) {
109
110
  const options = (meta && props.perPageOptions) || [10, 25, 50];
110
111
  if (!meta && last <= 1)
111
112
  return null;
112
- const range = meta && (_jsx(Range, { meta: meta, labels: labels, format: format, moved: seen.moved, forward: seen.forward }));
113
- return (_jsxs("div", { className: cn('@container/pagination relative w-full', className), children: [_jsxs("div", { className: "flex flex-wrap items-end justify-between gap-x-6 gap-y-3 @max-[560px]/pagination:flex-col @max-[560px]/pagination:items-stretch", children: [showSelect && (meta.total > Math.min(...options) || meta.last_page > 1) && (_jsx(Select, { label: labels.rowsPerPage, width: "xs", selectedKey: String(meta.per_page), onSelectionChange: (key) => {
113
+ const range = meta && (_jsx(Range, { meta: meta, t: t, noun: noun, format: format, moved: seen.moved, forward: seen.forward }));
114
+ return (_jsxs("div", { className: cn('@container/pagination relative w-full', className), children: [_jsxs("div", { className: "flex flex-wrap items-end justify-between gap-x-6 gap-y-3 @max-[560px]/pagination:flex-col @max-[560px]/pagination:items-stretch", children: [showSelect && (meta.total > Math.min(...options) || meta.last_page > 1) && (_jsx(Select, { label: t('rowsPerPage'), width: "xs", selectedKey: String(meta.per_page), onSelectionChange: (key) => {
114
115
  const per = Number(key);
115
116
  if (!per || per === meta.per_page)
116
117
  return;
117
118
  props.onPerPageChange?.(per, meta.from ? Math.floor((meta.from - 1) / per) + 1 : 1);
118
- }, children: options.map((n) => (_jsx(Option, { id: String(n), children: format(n) }, n))) })), range && _jsx("div", { className: "flex min-h-control-target items-center", children: range }), last > 1 && (_jsxs("nav", { "aria-label": labels.pagination, "aria-busy": pending ? true : undefined, "data-moved": seen.moved ? '' : undefined, className: "relative min-w-0 @max-[560px]/pagination:self-start", style: { '--pagination-slot': `calc(${String(last).length}ch + 16px)` }, children: [_jsx("span", { role: "status", className: "sr-only", children: pending && saying ? fill(labels.loading, { page: format(pending.page) }) : '' }), _jsxs("div", { className: "flex items-center gap-1", children: [current > 1 ? (_jsx(Arrow, { href: to(current - 1), rel: "prev", label: fill(labels.previous, { noun }), pending: pending?.kind === 'prev', onPress: press('prev', current - 1) })) : (_jsx("span", { "aria-hidden": "true", className: arrowSlot })), last <= fieldAbove ? (_jsx(Numbers, { current: current, last: last, to: to, labels: labels, format: format, pending: pending, press: press, currentRef: currentRef })) : (_jsx(PageField, { id: fieldId, error: error, setError: setError, current: current, last: last, to: to, pageParam: pageParam, labels: labels, format: format, fieldRef: fieldRef, pending: pending?.kind === 'field', onGo: (n) => {
119
+ }, children: options.map((n) => (_jsx(Option, { id: String(n), children: format(n) }, n))) })), range && _jsx("div", { className: "flex min-h-control-target items-center", children: range }), last > 1 && (_jsxs("nav", { "aria-label": t('pagination'), "aria-busy": pending ? true : undefined, "data-moved": seen.moved ? '' : undefined, className: "relative min-w-0 @max-[560px]/pagination:self-start", style: { '--pagination-slot': `calc(${String(last).length}ch + 16px)` }, children: [_jsx("span", { role: "status", className: "sr-only", children: pending && saying ? t('loading', { page: format(pending.page) }) : '' }), _jsxs("div", { className: "flex items-center gap-1", children: [current > 1 ? (_jsx(Arrow, { href: to(current - 1), rel: "prev", label: t('previous', { noun }), pending: pending?.kind === 'prev', onPress: press('prev', current - 1) })) : (_jsx("span", { "aria-hidden": "true", className: arrowSlot })), last <= fieldAbove ? (_jsx(Numbers, { current: current, last: last, to: to, t: t, noun: noun, format: format, pending: pending, press: press, currentRef: currentRef })) : (_jsx(PageField, { id: fieldId, error: error, setError: setError, current: current, last: last, to: to, pageParam: pageParam, t: t, format: format, fieldRef: fieldRef, pending: pending?.kind === 'field', onGo: (n) => {
119
120
  intent.current = 'field';
120
121
  setPending({ kind: 'field', page: n, from: current });
121
- } })), current < last ? (_jsx(Arrow, { href: to(current + 1), rel: "next", label: fill(labels.next, { noun }), pending: pending?.kind === 'next', onPress: press('next', current + 1) })) : (_jsx("span", { "aria-hidden": "true", className: arrowSlot }))] })] }))] }), last > fieldAbove && (_jsx("div", { role: "alert", id: `${fieldId}-error`, children: error && (_jsxs("p", { className: "mt-2 flex items-center gap-1.5 text-[13px] leading-5 font-semibold text-destructive", children: [_jsx(CircleAlert, { "aria-hidden": "true", className: "size-4 shrink-0" }), _jsxs("span", { children: [_jsx("span", { className: "sr-only", children: labels.errorPrefix }), error] })] })) }))] }));
122
+ } })), current < last ? (_jsx(Arrow, { href: to(current + 1), rel: "next", label: t('next', { noun }), pending: pending?.kind === 'next', onPress: press('next', current + 1) })) : (_jsx("span", { "aria-hidden": "true", className: arrowSlot }))] })] }))] }), last > fieldAbove && (_jsx("div", { role: "alert", id: `${fieldId}-error`, children: error && (_jsxs("p", { className: "mt-2 flex items-center gap-1.5 text-[13px] leading-5 font-semibold text-destructive", children: [_jsx(CircleAlert, { "aria-hidden": "true", className: "size-4 shrink-0" }), _jsxs("span", { children: [_jsx("span", { className: "sr-only", children: t('errorPrefix') }), error] })] })) }))] }));
122
123
  }
123
124
  /** "21–30 of 212 projects": the figures bold, the noun muted, and the dash read as "to". */
124
- function Range({ meta, labels, format, moved, forward, }) {
125
+ function Range({ meta, t, noun, format, moved, forward, }) {
125
126
  if (!meta.total || meta.from == null || meta.to == null)
126
- return (_jsx("p", { role: "status", className: "text-sm text-muted-foreground", children: fill(labels.empty, { noun: labels.noun }) }));
127
- const match = /^(.*?)\{from\}(.*?)\{to\}(.*)$/.exec(labels.range);
128
- const [, before = '', between = '', after = ''] = match ?? ['', '', '', labels.range];
129
- const values = { total: format(meta.total), from: format(meta.from), to: format(meta.to) };
130
- return (_jsxs("p", { role: "status", className: "text-sm text-muted-foreground tabular-nums", children: [_jsxs("span", { "data-direction": moved ? (forward ? 'forward' : 'back') : undefined, className: "pagination-roll font-semibold text-foreground", children: [fill(before, values), values.from, _jsx("span", { "aria-hidden": "true", children: between }), _jsx("span", { className: "sr-only", children: labels.rangeTo }), values.to, fill(after, values)] }, `${meta.from}-${meta.to}-${meta.total}`), ' ', labels.noun] }));
127
+ return (_jsx("p", { role: "status", className: "text-sm text-muted-foreground", children: t('empty', { noun }) }));
128
+ const pieces = splitMarkers(t('range', {
129
+ from: marker('from'),
130
+ to: marker('to'),
131
+ total: meta.total,
132
+ noun: marker('noun'),
133
+ }));
134
+ const fromAt = pieces.findIndex((p) => typeof p !== 'string' && p.marker === 'from');
135
+ const toAt = pieces.findIndex((p) => typeof p !== 'string' && p.marker === 'to');
136
+ return (_jsx("p", { role: "status", className: "text-sm text-muted-foreground tabular-nums", children: _jsx("span", { "data-direction": moved ? (forward ? 'forward' : 'back') : undefined, className: "pagination-roll font-semibold text-foreground", children: pieces.map((piece, i) => typeof piece !== 'string' ? (piece.marker === 'noun' ? (_jsx("span", { className: "font-normal text-muted-foreground", children: noun }, i)) : (format(piece.marker === 'from' ? meta.from : meta.to))) : fromAt >= 0 && i === fromAt + 1 && toAt === fromAt + 2 ? (_jsxs("span", { children: [_jsx("span", { "aria-hidden": "true", children: piece }), _jsx("span", { className: "sr-only", children: t('rangeTo') })] }, i)) : (piece)) }, `${meta.from}-${meta.to}-${meta.total}`) }));
131
137
  }
132
- function Numbers({ current, last, to, labels, format, pending, press, currentRef, }) {
138
+ function Numbers({ current, last, to, t, noun, format, pending, press, currentRef, }) {
133
139
  // A page link shows its number; the words around it are for its name, which keeps the number (2.5.3).
134
- const [before, after = ''] = labels.page.split('{page}');
135
- return (_jsx("ul", { role: "list", className: "flex min-w-0 flex-wrap gap-1", children: pageItems(current, last).map((item) => (_jsx("li", { className: "flex w-[max(var(--target-min),var(--control-height),var(--pagination-slot))] justify-center", children: typeof item === 'number' ? (_jsxs(PageLink, { href: to(item), isCurrent: item === current, pending: pending?.kind === 'num' && pending.page === item, onPress: press('num', item), ref: item === current ? currentRef : undefined, children: [before && _jsx("span", { className: "sr-only", children: fill(before, { noun: labels.noun }) }), format(item), after && _jsx("span", { className: "sr-only", children: fill(after, { noun: labels.noun }) })] })) : (_jsx("span", { "aria-hidden": "true", className: "inline-flex h-control w-full items-center justify-center text-sm tracking-[1px] text-muted-foreground", children: "\u2026" })) }, typeof item === 'number' ? `page-${item}` : item))) }));
140
+ const name = splitMarkers(t('page', { page: marker('page'), noun }));
141
+ const shown = name.some((p) => typeof p !== 'string');
142
+ return (_jsx("ul", { role: "list", className: "flex min-w-0 flex-wrap gap-1", children: pageItems(current, last).map((item) => (_jsx("li", { className: "flex w-[max(var(--target-min),var(--control-height),var(--pagination-slot))] justify-center", children: typeof item === 'number' ? (_jsxs(PageLink, { href: to(item), isCurrent: item === current, pending: pending?.kind === 'num' && pending.page === item, onPress: press('num', item), ref: item === current ? currentRef : undefined, children: [name.map((piece, i) => typeof piece === 'string' ? (_jsx("span", { className: "sr-only", children: piece }, i)) : (format(item))), !shown && format(item)] })) : (_jsx("span", { "aria-hidden": "true", className: "inline-flex h-control w-full items-center justify-center text-sm tracking-[1px] text-muted-foreground", children: "\u2026" })) }, typeof item === 'number' ? `page-${item}` : item))) }));
136
143
  }
137
144
  /** "Page [n] of N", a GET form that keeps the rest of the query. With JavaScript it goes through the router. */
138
- function PageField({ id, error, setError, current, last, to, pageParam, labels, format, fieldRef, pending, onGo, }) {
145
+ function PageField({ id, error, setError, current, last, to, pageParam, t, format, fieldRef, pending, onGo, }) {
139
146
  const [value, setValue] = useState(String(current));
140
147
  // A new page shows its own number; the field itself stays, so focus stays in it.
141
148
  const [shown, setShown] = useState(current);
@@ -161,7 +168,7 @@ function PageField({ id, error, setError, current, last, to, pageParam, labels,
161
168
  const raw = value.trim();
162
169
  const n = /^\d+$/.test(raw) ? Number(raw) : NaN;
163
170
  if (!(n >= 1 && n <= last)) {
164
- setError(fill(labels.outOfRange, { last: format(last) }));
171
+ setError(t('outOfRange', { last: format(last) }));
165
172
  return;
166
173
  }
167
174
  if (n === current)
@@ -169,7 +176,7 @@ function PageField({ id, error, setError, current, last, to, pageParam, labels,
169
176
  onGo(n);
170
177
  setTarget(n);
171
178
  };
172
- return (_jsxs("form", { action: action, method: "get", noValidate: true, onSubmit: submit, className: "mx-1 inline-flex min-w-0 flex-wrap items-center gap-2", children: [hidden.map(([name, v]) => (_jsx("input", { type: "hidden", name: name, value: v }, name))), _jsx("label", { htmlFor: id, className: "text-sm font-semibold text-foreground", children: labels.field }), _jsx("div", { "data-invalid": error ? '' : undefined, className: cn('field-paint flex has-[input:focus]:before:focus-ring data-invalid:before:border-destructive data-invalid:before:shadow-[inset_0_0_0_1px_var(--destructive)]', pending && 'pagination-field-pending'), children: _jsx("input", { ref: fieldRef, id: id, name: pageParam, inputMode: "numeric", autoComplete: "off", value: value, "aria-invalid": error ? true : undefined, "aria-describedby": `${id}-of ${id}-error`, onChange: (e) => {
179
+ return (_jsxs("form", { action: action, method: "get", noValidate: true, onSubmit: submit, className: "mx-1 inline-flex min-w-0 flex-wrap items-center gap-2", children: [hidden.map(([name, v]) => (_jsx("input", { type: "hidden", name: name, value: v }, name))), _jsx("label", { htmlFor: id, className: "text-sm font-semibold text-foreground", children: t('field') }), _jsx("div", { "data-invalid": error ? '' : undefined, className: cn('field-paint flex has-[input:focus]:before:focus-ring data-invalid:before:border-destructive data-invalid:before:shadow-[inset_0_0_0_1px_var(--destructive)]', pending && 'pagination-field-pending'), children: _jsx("input", { ref: fieldRef, id: id, name: pageParam, inputMode: "numeric", autoComplete: "off", value: value, "aria-invalid": error ? true : undefined, "aria-describedby": `${id}-of ${id}-error`, onChange: (e) => {
173
180
  setValue(e.target.value);
174
181
  setError('');
175
182
  }, onKeyDown: (e) => {
@@ -178,7 +185,7 @@ function PageField({ id, error, setError, current, last, to, pageParam, labels,
178
185
  e.preventDefault();
179
186
  setValue(String(current));
180
187
  setError('');
181
- }, style: { width: `calc(${digits + 1}ch + 2 * var(--control-pad-x) + 2px)` }, className: "field-input cursor-text px-(--control-pad-x) text-center text-sm font-bold text-foreground tabular-nums" }) }), _jsx("span", { id: `${id}-of`, className: "text-sm whitespace-nowrap text-muted-foreground tabular-nums", children: fill(labels.of, { last: format(last) }) }), changed && (_jsx("span", { className: "pagination-go inline-flex", children: _jsx(Button, { type: "submit", isPending: pending, children: labels.go }) })), target != null && (_jsx("span", { hidden: true, children: _jsx(Link, { ref: link, href: to(target), children: format(target) }) }))] }));
188
+ }, style: { width: `calc(${digits + 1}ch + 2 * var(--control-pad-x) + 2px)` }, className: "field-input cursor-text px-(--control-pad-x) text-center text-sm font-bold text-foreground tabular-nums" }) }), _jsx("span", { id: `${id}-of`, className: "text-sm whitespace-nowrap text-muted-foreground tabular-nums", children: t('of', { last: format(last) }) }), changed && (_jsx("span", { className: "pagination-go inline-flex", children: _jsx(Button, { type: "submit", isPending: pending, children: t('go') }) })), target != null && (_jsx("span", { hidden: true, children: _jsx(Link, { ref: link, href: to(target), children: format(target) }) }))] }));
182
189
  }
183
190
  /** Three layers: the link is the target, at least --target-min both ways; the painted box carries hover, focus and current. */
184
191
  function PageLink({ href, rel, isCurrent, pending, onPress, ref, label, className, children, }) {
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/ui/pagination.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/ui/pagination.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["../../src/ui/radio-group.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAGL,KAAK,eAAe,IAAI,kBAAkB,EAC1C,KAAK,UAAU,IAAI,aAAa,EACjC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAOL,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,kBAAkB,EAClB,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,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,+GAA+G;AAC/G,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,MAAM,EACN,SAAS,EACT,WAAwB,EACxB,GAAG,KAAK,EACT,EAAE,eAAe,+BAoCjB;AAED,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,UAAU,CAAC;IAC/E,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gFAAgF;AAChF,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,+BAyB/E"}
1
+ {"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["../../src/ui/radio-group.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAGL,KAAK,eAAe,IAAI,kBAAkB,EAC1C,KAAK,UAAU,IAAI,aAAa,EACjC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAOL,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,kBAAkB,EAClB,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,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,+GAA+G;AAC/G,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,MAAM,EACN,SAAS,EACT,WAAwB,EACxB,GAAG,KAAK,EACT,EAAE,eAAe,+BA6BjB;AAED,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,UAAU,CAAC;IAC/E,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gFAAgF;AAChF,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,+BAyB/E"}
@@ -2,12 +2,12 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Radio as RACRadio, RadioGroup as RACRadioGroup, } from 'react-aria-components';
4
4
  import { cn } from '../lib/cn.js';
5
- import { FieldDescription, FieldError, FieldLabel, fieldStack, lcFirst, withRequired, } from './field.js';
5
+ import { FieldDescription, FieldError, FieldLabel, fieldStack, withRequired, useFieldLabels, } from './field.js';
6
6
  /** Choose exactly one of a few options that people should compare side by side. Arrow keys move and select. */
7
7
  export function RadioGroup({ label, description, errorMessage, requiredMessage, children, labels, className, orientation = 'vertical', ...props }) {
8
- return (_jsxs(RACRadioGroup, { ...props, orientation: orientation, validate: props.isRequired
9
- ? withRequired(true, requiredMessage ?? `Choose ${lcFirst(label)}`, (v) => !v)
10
- : undefined, className: cn(fieldStack, className), children: [_jsx(FieldLabel, { elementType: "span", isRequired: props.isRequired, children: label }), description && _jsx(FieldDescription, { children: description }), _jsx(FieldError, { errorPrefix: labels?.errorPrefix, requiredMessage: requiredMessage ?? `Choose ${lcFirst(label)}`, children: errorMessage }), _jsx("div", { className: cn('flex', orientation === 'horizontal' ? 'flex-row flex-wrap gap-x-6' : 'flex-col'), children: children })] }));
8
+ const t = useFieldLabels(labels);
9
+ const required = requiredMessage ?? t('chooseValue', { label });
10
+ return (_jsxs(RACRadioGroup, { ...props, orientation: orientation, validate: props.isRequired ? withRequired(true, required, (v) => !v) : undefined, className: cn(fieldStack, className), children: [_jsx(FieldLabel, { elementType: "span", isRequired: props.isRequired, labels: labels, children: label }), description && _jsx(FieldDescription, { children: description }), _jsx(FieldError, { errorPrefix: t('errorPrefix'), requiredMessage: required, children: errorMessage }), _jsx("div", { className: cn('flex', orientation === 'horizontal' ? 'flex-row flex-wrap gap-x-6' : 'flex-col'), children: children })] }));
11
11
  }
12
12
  /** Selected: a thick ring in `primary` — a change of shape, not only colour. */
13
13
  export function Radio({ children, description, className, ...props }) {
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../src/ui/radio-group.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EACL,KAAK,IAAI,QAAQ,EACjB,UAAU,IAAI,aAAa,GAG5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,UAAU,EACV,OAAO,EACP,YAAY,GAEb,MAAM,YAAY,CAAC;AAepB,+GAA+G;AAC/G,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,MAAM,EACN,SAAS,EACT,WAAW,GAAG,UAAU,EACxB,GAAG,KAAK,EACQ;IAChB,OAAO,CACL,MAAC,aAAa,OACR,KAAK,EACT,WAAW,EAAE,WAAW,EACxB,QAAQ,EACN,KAAK,CAAC,UAAU;YACd,CAAC,CAAC,YAAY,CACV,IAAI,EACJ,eAAe,IAAI,UAAU,OAAO,CAAC,KAAK,CAAC,EAAE,EAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CACV;YACH,CAAC,CAAC,SAAS,EAEf,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,aAEpC,KAAC,UAAU,IAAC,WAAW,EAAC,MAAM,EAAC,UAAU,EAAE,KAAK,CAAC,UAAU,YACxD,KAAK,GACK,EACZ,WAAW,IAAI,KAAC,gBAAgB,cAAE,WAAW,GAAoB,EAClE,KAAC,UAAU,IACT,WAAW,EAAE,MAAM,EAAE,WAAW,EAChC,eAAe,EAAE,eAAe,IAAI,UAAU,OAAO,CAAC,KAAK,CAAC,EAAE,YAE7D,YAAY,GACF,EACb,cACE,SAAS,EAAE,EAAE,CACX,MAAM,EACN,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,UAAU,CACzE,YAEA,QAAQ,GACL,IACQ,CACjB,CAAC;AACJ,CAAC;AAQD,gFAAgF;AAChF,MAAM,UAAU,KAAK,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,KAAK,EAAc;IAC9E,OAAO,CAEL,MAAC,QAAQ,OACH,KAAK,EACT,SAAS,EAAE,EAAE,CACX,oQAAoQ,EACpQ,SAAS,CACV,aAED,8BACc,MAAM,EAClB,SAAS,EAAE,EAAE,CACX,4GAA4G,EAC5G,wFAAwF,EACxF,4GAA4G,EAC5G,8CAA8C,CAC/C,GACD,EACF,gBAAM,SAAS,EAAC,uBAAuB,aACrC,yBAAO,QAAQ,GAAQ,EACtB,WAAW,IAAI,eAAM,SAAS,EAAC,mCAAmC,YAAE,WAAW,GAAQ,IACnF,IACE,CACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../src/ui/radio-group.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EACL,KAAK,IAAI,QAAQ,EACjB,UAAU,IAAI,aAAa,GAG5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,cAAc,GAEf,MAAM,YAAY,CAAC;AAepB,+GAA+G;AAC/G,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,MAAM,EACN,SAAS,EACT,WAAW,GAAG,UAAU,EACxB,GAAG,KAAK,EACQ;IAChB,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,eAAe,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAChE,OAAO,CACL,MAAC,aAAa,OACR,KAAK,EACT,WAAW,EAAE,WAAW,EACxB,QAAQ,EACN,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAgB,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAEvF,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,aAEpC,KAAC,UAAU,IAAC,WAAW,EAAC,MAAM,EAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,YACxE,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,cACE,SAAS,EAAE,EAAE,CACX,MAAM,EACN,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,UAAU,CACzE,YAEA,QAAQ,GACL,IACQ,CACjB,CAAC;AACJ,CAAC;AAQD,gFAAgF;AAChF,MAAM,UAAU,KAAK,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,KAAK,EAAc;IAC9E,OAAO,CAEL,MAAC,QAAQ,OACH,KAAK,EACT,SAAS,EAAE,EAAE,CACX,oQAAoQ,EACpQ,SAAS,CACV,aAED,8BACc,MAAM,EAClB,SAAS,EAAE,EAAE,CACX,4GAA4G,EAC5G,wFAAwF,EACxF,4GAA4G,EAC5G,8CAA8C,CAC/C,GACD,EACF,gBAAM,SAAS,EAAC,uBAAuB,aACrC,yBAAO,QAAQ,GAAQ,EACtB,WAAW,IAAI,eAAM,SAAS,EAAC,mCAAmC,YAAE,WAAW,GAAQ,IACnF,IACE,CACZ,CAAC;AACJ,CAAC"}
@@ -11,10 +11,13 @@ export interface SearchItem {
11
11
  export interface SearchLabels {
12
12
  /** The trigger's name when compact, and the dialog's and its field's. */
13
13
  search: string;
14
+ /** The dialog's field before anything is typed, when there is no `placeholder`. */
15
+ placeholder: string;
14
16
  noResults: string;
15
17
  /** The key shown in the field that closes the dialog. */
16
18
  escapeKey: string;
17
19
  }
20
+ export declare const searchLabels: SearchLabels;
18
21
  export interface SearchSection {
19
22
  id: string;
20
23
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/ui/search.tsx"],"names":[],"mappings":"AAGA,OAAO,EAcL,KAAK,GAAG,EACT,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAKtD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AACD,qDAAqD;AACrD,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;CACnB;AAQD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAChC;AAED,2FAA2F;AAC3F,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,WAAoD,EACpD,MAAM,EAAE,KAAK,GACd,EAAE,kBAAkB,+BAwFpB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,WAAW,EACX,OAAO,EACP,MAAM,EAAE,KAAK,EACb,SAAS,GACV,EAAE,kBAAkB,+BA6BpB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,mEAAmE;AACnE,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,WAAmB,EACnB,WAAW,EACX,MAAM,EACN,SAAS,GACV,EAAE,cAAc,+BA8BhB"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/ui/search.tsx"],"names":[],"mappings":"AAGA,OAAO,EAcL,KAAK,GAAG,EACT,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAKtD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AACD,qDAAqD;AACrD,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,EAAE,YAK1B,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAChC;AAED,2FAA2F;AAC3F,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,MAAM,EAAE,KAAK,GACd,EAAE,kBAAkB,+BAwFpB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,WAAW,EACX,OAAO,EACP,MAAM,EAAE,KAAK,EACb,SAAS,GACV,EAAE,kBAAkB,+BA6BpB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,mEAAmE;AACnE,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,WAAmB,EACnB,WAAW,EACX,MAAM,EACN,SAAS,GACV,EAAE,cAAc,+BA8BhB"}
package/dist/ui/search.js CHANGED
@@ -8,23 +8,24 @@ import { fieldBox, fieldInput } from './field.js';
8
8
  import { IconButton } from './icon-button.js';
9
9
  import { renderIcon } from './icon.js';
10
10
  import { Kbd } from './kbd.js';
11
- import { withLabels } from '../lib/labels.js';
11
+ import { useLabels } from '../lib/locale.js';
12
12
  import { itemVisual, rowTarget } from './menu.js';
13
- const searchLabels = {
13
+ export const searchLabels = {
14
14
  search: 'Search',
15
+ placeholder: 'Search projects, people and settings',
15
16
  noResults: 'No results. Try a project name, a person or a setting.',
16
17
  escapeKey: 'Esc',
17
18
  };
18
19
  /** The search dialog: type to filter, arrow keys to move, Enter to go, Escape to close. */
19
- export function CommandSearch({ isOpen, onOpenChange, sections, onAction, placeholder = 'Search projects, people and settings', labels: given, }) {
20
- const labels = withLabels(searchLabels, given);
20
+ export function CommandSearch({ isOpen, onOpenChange, sections, onAction, placeholder, labels: given, }) {
21
+ const t = useLabels('search', searchLabels, given);
21
22
  const { contains } = useFilter({ sensitivity: 'base' });
22
- return (_jsx(ModalOverlay, { isOpen: isOpen, onOpenChange: onOpenChange, isDismissable: true, "data-overlay": true, className: "fixed inset-0 z-(--z-popover) flex items-start justify-center bg-overlay px-4 pt-[12vh]", children: _jsx(Modal, { "data-sheet": "top", className: "w-full max-w-[40rem] overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground shadow-(--shadow-lg) outline-none", children: _jsx(Dialog, { "aria-label": labels.search, className: "flex max-h-[70vh] flex-col outline-none", children: _jsxs(Autocomplete, { filter: contains, children: [_jsx(SearchField, { "aria-label": labels.search,
23
+ return (_jsx(ModalOverlay, { isOpen: isOpen, onOpenChange: onOpenChange, isDismissable: true, "data-overlay": true, className: "fixed inset-0 z-(--z-popover) flex items-start justify-center bg-overlay px-4 pt-[12vh]", children: _jsx(Modal, { "data-sheet": "top", className: "w-full max-w-[40rem] overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground shadow-(--shadow-lg) outline-none", children: _jsx(Dialog, { "aria-label": t('search'), className: "flex max-h-[70vh] flex-col outline-none", children: _jsxs(Autocomplete, { filter: contains, children: [_jsx(SearchField, { "aria-label": t('search'),
23
24
  // oxlint-disable-next-line jsx-a11y/no-autofocus
24
- autoFocus: true, className: "border-b border-border p-3", children: _jsxs("div", { className: fieldBox, children: [_jsx(Search, { "aria-hidden": "true", className: "pointer-events-none absolute top-1/2 left-2.5 size-5 -translate-y-1/2 text-muted-foreground" }), _jsx(Input, { placeholder: placeholder, className: cn(fieldInput, 'pr-14 pl-10 [&::-webkit-search-cancel-button]:hidden') }), _jsx(Kbd, { className: "pointer-events-none absolute top-1/2 right-2 -translate-y-1/2", children: labels.escapeKey })] }) }), _jsx(Menu, { items: sections, onAction: (id) => {
25
+ autoFocus: true, className: "border-b border-border p-3", children: _jsxs("div", { className: fieldBox, children: [_jsx(Search, { "aria-hidden": "true", className: "pointer-events-none absolute top-1/2 left-2.5 size-5 -translate-y-1/2 text-muted-foreground" }), _jsx(Input, { placeholder: placeholder ?? t('placeholder'), className: cn(fieldInput, 'pr-14 pl-10 [&::-webkit-search-cancel-button]:hidden') }), _jsx(Kbd, { className: "pointer-events-none absolute top-1/2 right-2 -translate-y-1/2", children: t('escapeKey') })] }) }), _jsx(Menu, { items: sections, onAction: (id) => {
25
26
  onAction?.(id);
26
27
  onOpenChange(false);
27
- }, renderEmptyState: () => (_jsxs("div", { className: "flex flex-col items-center gap-2 px-4 py-10 text-center text-sm text-muted-foreground", children: [_jsx(SearchX, { "aria-hidden": "true", className: "size-6" }), labels.noResults] })), className: "relative min-h-0 flex-1 overflow-auto p-2 outline-none", children: (section) => (_jsxs(MenuSection, { id: section.id, className: "not-first:mt-2", children: [_jsx(Header, { className: "px-3 pt-1 pb-1 text-[13px] leading-5 font-semibold text-muted-foreground", children: section.title }), _jsx(Collection, { items: section.items, children: (item) => (_jsx(MenuItem, { id: item.id, href: item.href, textValue: item.label, className: cn('group/item', rowTarget), children: _jsxs("span", { className: itemVisual, children: [item.icon &&
28
+ }, renderEmptyState: () => (_jsxs("div", { className: "flex flex-col items-center gap-2 px-4 py-10 text-center text-sm text-muted-foreground", children: [_jsx(SearchX, { "aria-hidden": "true", className: "size-6" }), t('noResults')] })), className: "relative min-h-0 flex-1 overflow-auto p-2 outline-none", children: (section) => (_jsxs(MenuSection, { id: section.id, className: "not-first:mt-2", children: [_jsx(Header, { className: "px-3 pt-1 pb-1 text-[13px] leading-5 font-semibold text-muted-foreground", children: section.title }), _jsx(Collection, { items: section.items, children: (item) => (_jsx(MenuItem, { id: item.id, href: item.href, textValue: item.label, className: cn('group/item', rowTarget), children: _jsxs("span", { className: itemVisual, children: [item.icon &&
28
29
  renderIcon(item.icon, 'size-5 shrink-0 text-muted-foreground'), _jsxs("span", { className: "flex min-w-0 flex-col", children: [_jsx("span", { className: "truncate font-medium", children: item.label }), item.description && (_jsx("span", { className: "truncate text-[13px] text-muted-foreground", children: item.description }))] })] }) })) })] })) })] }) }) }) }));
29
30
  }
30
31
  /**
@@ -33,13 +34,13 @@ export function CommandSearch({ isOpen, onOpenChange, sections, onAction, placeh
33
34
  * the visible text (2.5.3 Label in Name, as axe and the Setsquare SDK measure it).
34
35
  */
35
36
  export function SearchTrigger({ onPress, placeholder, compact, labels: given, className, }) {
36
- const labels = withLabels(searchLabels, given);
37
+ const t = useLabels('search', searchLabels, given);
37
38
  if (compact) {
38
- return (_jsx(IconButton, { label: labels.search, icon: Search, onPress: onPress, "aria-haspopup": "dialog", "aria-keyshortcuts": "Meta+K Control+K" }));
39
+ return (_jsx(IconButton, { label: t('search'), icon: Search, onPress: onPress, "aria-haspopup": "dialog", "aria-keyshortcuts": "Meta+K Control+K" }));
39
40
  }
40
41
  return (_jsxs(RACButton, { onPress: onPress, "aria-haspopup": "dialog", "aria-keyshortcuts": "Meta+K Control+K", className: cn(
41
42
  // Looks like a field, so it is built like one: the button is the target, the box is painted behind it.
42
- 'field-paint flex h-control-target w-64 min-w-0 cursor-pointer items-center gap-2 pr-2 pl-2.5 text-left text-sm text-muted-foreground outline-none', 'data-hovered:before:bg-accent data-focus-visible:before:focus-ring', className), children: [_jsx(Search, { "aria-hidden": "true", className: "size-5 shrink-0" }), _jsx("span", { className: "min-w-0 flex-1 truncate", children: placeholder ?? labels.search }), " ", _jsx(Kbd, { children: "\u2318K" })] }));
43
+ 'field-paint flex h-control-target w-64 min-w-0 cursor-pointer items-center gap-2 pr-2 pl-2.5 text-left text-sm text-muted-foreground outline-none', 'data-hovered:before:bg-accent data-focus-visible:before:focus-ring', className), children: [_jsx(Search, { "aria-hidden": "true", className: "size-5 shrink-0" }), _jsx("span", { className: "min-w-0 flex-1 truncate", children: placeholder ?? t('search') }), " ", _jsx(Kbd, { children: "\u2318K" })] }));
43
44
  }
44
45
  /** Trigger + dialog + the ⌘K / Ctrl+K shortcut, wired together. */
45
46
  export function AppSearch({ sections, onAction, compact, defaultOpen = false, placeholder, labels, className, }) {
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/ui/search.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/ui/search.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,12 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import { type Key, type SelectProps as RACSelectProps } from 'react-aria-components';
3
3
  import { type FieldWidth, type FieldLabels } from './field.js';
4
+ /** A select's words, for the `labels` prop: every field's, and what it shows before a choice. */
5
+ export interface SelectLabels extends FieldLabels {
6
+ /** Shown in the button before anything is chosen, when there is no `placeholder`. */
7
+ placeholder: string;
8
+ }
9
+ export declare const selectLabels: SelectLabels;
4
10
  export interface SelectProps<T extends object> extends Omit<RACSelectProps<T>, 'className' | 'children' | 'validate'> {
5
11
  label: string;
6
12
  description?: ReactNode;
@@ -11,7 +17,7 @@ export interface SelectProps<T extends object> extends Omit<RACSelectProps<T>, '
11
17
  items?: Iterable<T>;
12
18
  children: ReactNode | ((item: T) => ReactNode);
13
19
  width?: FieldWidth;
14
- labels?: Partial<FieldLabels>;
20
+ labels?: Partial<SelectLabels>;
15
21
  className?: string;
16
22
  }
17
23
  /** Choose one of a known, short list (about 5–15). Longer or searchable lists are a ComboBox. */
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/ui/select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAIL,KAAK,GAAG,EACR,KAAK,WAAW,IAAI,cAAc,EACnC,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAQL,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,IAAI,CACzD,cAAc,CAAC,CAAC,CAAC,EACjB,WAAW,GAAG,UAAU,GAAG,UAAU,CACtC;IACC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9E,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpB,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC;IAC/C,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iGAAiG;AACjG,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,EACvC,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,KAAY,EACZ,WAAuB,EACvB,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACT,EAAE,WAAW,CAAC,CAAC,CAAC,+BAsChB"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/ui/select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAIL,KAAK,GAAG,EACR,KAAK,WAAW,IAAI,cAAc,EACnC,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAQL,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAIpB,iGAAiG;AACjG,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,qFAAqF;IACrF,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,EAAE,YAAyD,CAAC;AAErF,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,IAAI,CACzD,cAAc,CAAC,CAAC,CAAC,EACjB,WAAW,GAAG,UAAU,GAAG,UAAU,CACtC;IACC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9E,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpB,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC;IAC/C,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iGAAiG;AACjG,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,EACvC,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,KAAY,EACZ,WAAW,EACX,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACT,EAAE,WAAW,CAAC,CAAC,CAAC,+BAkChB"}
package/dist/ui/select.js CHANGED
@@ -3,11 +3,15 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Button, Select as RACSelect, SelectValue, } from 'react-aria-components';
4
4
  import { ChevronDown } from 'lucide-react';
5
5
  import { cn } from '../lib/cn.js';
6
- import { FieldDescription, FieldError, FieldLabel, fieldStack, fieldWidths, lcFirst, withRequired, } from './field.js';
6
+ import { useLabels } from '../lib/locale.js';
7
+ import { FieldDescription, FieldError, FieldLabel, fieldStack, fieldWidths, withRequired, fieldLabels, } from './field.js';
7
8
  import { ListBox } from './list-box.js';
8
9
  import { Popover } from './menu.js';
10
+ export const selectLabels = { ...fieldLabels, placeholder: 'Choose…' };
9
11
  /** Choose one of a known, short list (about 5–15). Longer or searchable lists are a ComboBox. */
10
- export function Select({ label, description, errorMessage, requiredMessage, validate, items, children, width = 'md', placeholder = 'Choose…', labels, className, ...props }) {
11
- return (_jsxs(RACSelect, { ...props, placeholder: placeholder, validate: withRequired(props.isRequired, requiredMessage ?? `Choose ${lcFirst(label)}`, (v) => v == null, validate), className: cn(fieldStack, fieldWidths[width], className), children: [_jsx(FieldLabel, { isRequired: props.isRequired, children: label }), description && _jsx(FieldDescription, { children: description }), _jsx(FieldError, { errorPrefix: labels?.errorPrefix, requiredMessage: requiredMessage ?? `Choose ${lcFirst(label)}`, children: errorMessage }), _jsxs(Button, { className: cn('field-paint flex h-control-target w-full min-w-0 cursor-pointer items-center gap-2 px-(--control-pad-x) text-left text-sm text-foreground outline-none data-disabled:cursor-not-allowed', 'data-focus-visible:before:focus-ring data-pressed:before:bg-accent group-data-invalid/field:before:border-destructive group-data-invalid/field:before:shadow-[inset_0_0_0_1px_var(--destructive)] data-disabled:opacity-60'), children: [_jsx(SelectValue, { className: "min-w-0 flex-1 truncate data-placeholder:text-muted-foreground" }), _jsx(ChevronDown, { "aria-hidden": "true", className: "size-4 shrink-0 text-muted-foreground" })] }), _jsx(Popover, { placement: "bottom start", className: "max-h-80", children: _jsx(ListBox, { items: items, children: children }) })] }));
12
+ export function Select({ label, description, errorMessage, requiredMessage, validate, items, children, width = 'md', placeholder, labels, className, ...props }) {
13
+ const t = useLabels(['field', 'select'], selectLabels, labels);
14
+ const required = requiredMessage ?? t('chooseValue', { label });
15
+ return (_jsxs(RACSelect, { ...props, placeholder: placeholder ?? t('placeholder'), validate: withRequired(props.isRequired, required, (v) => v == null, validate), className: cn(fieldStack, fieldWidths[width], 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(Button, { className: cn('field-paint flex h-control-target w-full min-w-0 cursor-pointer items-center gap-2 px-(--control-pad-x) text-left text-sm text-foreground outline-none data-disabled:cursor-not-allowed', 'data-focus-visible:before:focus-ring data-pressed:before:bg-accent group-data-invalid/field:before:border-destructive group-data-invalid/field:before:shadow-[inset_0_0_0_1px_var(--destructive)] data-disabled:opacity-60'), children: [_jsx(SelectValue, { className: "min-w-0 flex-1 truncate data-placeholder:text-muted-foreground" }), _jsx(ChevronDown, { "aria-hidden": "true", className: "size-4 shrink-0 text-muted-foreground" })] }), _jsx(Popover, { placement: "bottom start", className: "max-h-80", children: _jsx(ListBox, { items: items, children: children }) })] }));
12
16
  }
13
17
  //# sourceMappingURL=select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/ui/select.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EACL,MAAM,EACN,MAAM,IAAI,SAAS,EACnB,WAAW,GAGZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,OAAO,EACP,YAAY,GAGb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,iGAAiG;AACjG,MAAM,UAAU,MAAM,CAAmB,EACvC,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,KAAK,GAAG,IAAI,EACZ,WAAW,GAAG,SAAS,EACvB,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACO;IACf,OAAO,CACL,MAAC,SAAS,OACH,KAA2B,EAChC,WAAW,EAAE,WAAW,EACxB,QAAQ,EACN,YAAY,CACV,KAAK,CAAC,UAAU,EAChB,eAAe,IAAI,UAAU,OAAO,CAAC,KAAK,CAAC,EAAE,EAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,EAChB,QAAQ,CACA,EAEZ,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,aAExD,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,UAAU,OAAO,CAAC,KAAK,CAAC,EAAE,YAE7D,YAAY,GACF,EAEb,MAAC,MAAM,IACL,SAAS,EAAE,EAAE,CACX,yLAAyL,EACzL,4NAA4N,CAC7N,aAED,KAAC,WAAW,IAAC,SAAS,EAAC,gEAAgE,GAAG,EAC1F,KAAC,WAAW,mBAAa,MAAM,EAAC,SAAS,EAAC,uCAAuC,GAAG,IAC7E,EACT,KAAC,OAAO,IAAC,SAAS,EAAC,cAAc,EAAC,SAAS,EAAC,UAAU,YACpD,KAAC,OAAO,IAAC,KAAK,EAAE,KAAK,YAAG,QAAiB,GAAW,GAC5C,IACA,CACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/ui/select.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EACL,MAAM,EACN,MAAM,IAAI,SAAS,EACnB,WAAW,GAGZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,GAGZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,MAAM,CAAC,MAAM,YAAY,GAAiB,EAAE,GAAG,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AAmBrF,iGAAiG;AACjG,MAAM,UAAU,MAAM,CAAmB,EACvC,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,KAAK,GAAG,IAAI,EACZ,WAAW,EACX,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACO;IACf,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,eAAe,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAChE,OAAO,CACL,MAAC,SAAS,OACH,KAA2B,EAChC,WAAW,EAAE,WAAW,IAAI,CAAC,CAAC,aAAa,CAAC,EAC5C,QAAQ,EACN,YAAY,CAAa,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,QAAQ,CAAU,EAE3F,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,aAExD,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,EAEb,MAAC,MAAM,IACL,SAAS,EAAE,EAAE,CACX,yLAAyL,EACzL,4NAA4N,CAC7N,aAED,KAAC,WAAW,IAAC,SAAS,EAAC,gEAAgE,GAAG,EAC1F,KAAC,WAAW,mBAAa,MAAM,EAAC,SAAS,EAAC,uCAAuC,GAAG,IAC7E,EACT,KAAC,OAAO,IAAC,SAAS,EAAC,cAAc,EAAC,SAAS,EAAC,UAAU,YACpD,KAAC,OAAO,IAAC,KAAK,EAAE,KAAK,YAAG,QAAiB,GAAW,GAC5C,IACA,CACb,CAAC;AACJ,CAAC"}
@@ -1,23 +1,36 @@
1
1
  import { type ReactNode } from 'react';
2
2
  /**
3
- * A selection bar's words, for the `labels` prop. `{count}` is a number and `{noun}` the singular or plural from
4
- * `noun`, whichever the count takes.
3
+ * A selection bar's words, for the `labels` prop. `{count}` is a number, for an ICU `plural`; `{singular}` and
4
+ * `{plural}` are the two words of `noun`, for English. A product writes its own forms in each label:
5
+ * `'{count, plural, one {# projet sélectionné} other {# projets sélectionnés}}'`. (`{noun}`, the plural word, is
6
+ * kept for templates written for 0.5 and goes in the next minor.)
5
7
  */
6
8
  export interface SelectionBarLabels {
9
+ /** Some selected: "3 projects selected". */
7
10
  selected: string;
11
+ /** Everything selected: "All 12 projects selected". */
8
12
  allSelected: string;
13
+ /** The button that selects the rest: "Select all 12 projects". */
9
14
  selectAll: string;
10
15
  clear: string;
11
16
  /** Names the group of actions. */
12
17
  actions: string;
18
+ /** `{singular}` and `{plural}` without `noun`. */
19
+ item: string;
20
+ items: string;
13
21
  }
22
+ export declare const selectionBarLabels: SelectionBarLabels;
14
23
  export interface SelectionBarProps {
15
24
  /** How many are selected. "all" when the whole collection is selected (React Aria's `'all'`). */
16
25
  count: number | 'all';
17
26
  /** Items in the collection, for "All 12 projects selected" and "Select all 12 projects". */
18
27
  total?: number;
19
- /** Singular and plural nouns: ['project', 'projects']. */
20
- noun: [string, string];
28
+ /**
29
+ * What is selected, singular and plural, for the English labels: ['project', 'projects']. Default
30
+ * `labels.item` and `labels.items`. A product with its own labels writes its nouns into them and can leave this
31
+ * out.
32
+ */
33
+ noun?: [string, string];
21
34
  onClear: () => void;
22
35
  /**
23
36
  * Shows "Select all <total> <nouns>" while not everything is selected. A GridList has no header checkbox,
@@ -1 +1 @@
1
- {"version":3,"file":"selection-bar.d.ts","sourceRoot":"","sources":["../../src/ui/selection-bar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAM/C;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAUD,MAAM,WAAW,iBAAiB;IAChC,iGAAiG;IACjG,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;IACtB,4FAA4F;IAC5F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,KAAK,EACL,IAAI,EACJ,OAAO,EACP,WAAW,EACX,QAAQ,EACR,MAAM,EAAE,KAAK,EACb,SAAS,GACV,EAAE,iBAAiB,+BAgEnB"}
1
+ {"version":3,"file":"selection-bar.d.ts","sourceRoot":"","sources":["../../src/ui/selection-bar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAM/C;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,kBAAkB,EAAE,kBAQhC,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,iGAAiG;IACjG,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;IACtB,4FAA4F;IAC5F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,KAAK,EACL,IAAI,EACJ,OAAO,EACP,WAAW,EACX,QAAQ,EACR,MAAM,EAAE,KAAK,EACb,SAAS,GACV,EAAE,iBAAiB,+BAkEnB"}
@@ -3,14 +3,16 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useRef } from 'react';
4
4
  import { cn } from '../lib/cn.js';
5
5
  import { focusAfter } from '../lib/tokens.js';
6
- import { fill, withLabels } from '../lib/labels.js';
6
+ import { useLabels } from '../lib/locale.js';
7
7
  import { Button } from './button.js';
8
- const selectionBarLabels = {
9
- selected: '{count} {noun} selected',
10
- allSelected: 'All {count} {noun} selected',
11
- selectAll: 'Select all {count} {noun}',
8
+ export const selectionBarLabels = {
9
+ selected: '{count, plural, one {# {singular} selected} other {# {plural} selected}}',
10
+ allSelected: '{count, plural, one {# {singular} selected} other {All # {plural} selected}}',
11
+ selectAll: '{count, plural, one {Select # {singular}} other {Select all # {plural}}}',
12
12
  clear: 'Clear selection',
13
13
  actions: 'Selection',
14
+ item: 'item',
15
+ items: 'items',
14
16
  };
15
17
  /**
16
18
  * The count and bulk actions for a multi-select Table or GridList. The count is a live region that is always
@@ -21,7 +23,9 @@ const selectionBarLabels = {
21
23
  * bar directly above its table or list.
22
24
  */
23
25
  export function SelectionBar({ count, total, noun, onClear, onSelectAll, children, labels: given, className, }) {
24
- const labels = withLabels(selectionBarLabels, given);
26
+ const t = useLabels('selectionBar', selectionBarLabels, given);
27
+ const plural = noun?.[1] ?? t('items');
28
+ const nouns = { singular: noun?.[0] ?? t('item'), plural, noun: plural };
25
29
  const ref = useRef(null);
26
30
  const clearRef = useRef(null);
27
31
  const selectAllRef = useRef(null);
@@ -30,15 +34,15 @@ export function SelectionBar({ count, total, noun, onClear, onSelectAll, childre
30
34
  const text = n === 0
31
35
  ? ''
32
36
  : all
33
- ? fill(labels.allSelected, { count: total ?? n, noun: noun[1] })
34
- : fill(labels.selected, { count: n, noun: n === 1 ? noun[0] : noun[1] });
37
+ ? t('allSelected', { count: total ?? n, ...nouns })
38
+ : t('selected', { count: n, ...nouns });
35
39
  const showSelectAll = !!onSelectAll && !all && (total ?? 0) > 0;
36
- return (_jsxs("div", { ref: ref, className: cn('flex flex-wrap items-center gap-x-4 gap-y-2', (n > 0 || showSelectAll) && 'min-h-control-target', className), children: [_jsx("p", { role: "status", className: cn('text-sm leading-5 font-semibold text-foreground', n === 0 && 'sr-only'), children: text }), (n > 0 || showSelectAll) && (_jsxs("div", { role: "group", "aria-label": labels.actions, className: "flex flex-wrap items-center gap-2", children: [n > 0 && children, showSelectAll && (_jsx(Button, { ref: selectAllRef, variant: "ghost", visualSize: "sm", onPress: () => {
40
+ return (_jsxs("div", { ref: ref, className: cn('flex flex-wrap items-center gap-x-4 gap-y-2', (n > 0 || showSelectAll) && 'min-h-control-target', className), children: [_jsx("p", { role: "status", className: cn('text-sm leading-5 font-semibold text-foreground', n === 0 && 'sr-only'), children: text }), (n > 0 || showSelectAll) && (_jsxs("div", { role: "group", "aria-label": t('actions'), className: "flex flex-wrap items-center gap-2", children: [n > 0 && children, showSelectAll && (_jsx(Button, { ref: selectAllRef, variant: "ghost", visualSize: "sm", onPress: () => {
37
41
  onSelectAll();
38
42
  requestAnimationFrame(() => clearRef.current?.focus());
39
- }, children: fill(labels.selectAll, { count: total ?? 0, noun: noun[1] }) })), n > 0 && (_jsx(Button, { ref: clearRef, variant: "ghost", visualSize: "sm", onPress: () => {
43
+ }, children: t('selectAll', { count: total ?? 0, ...nouns }) })), n > 0 && (_jsx(Button, { ref: clearRef, variant: "ghost", visualSize: "sm", onPress: () => {
40
44
  onClear();
41
45
  requestAnimationFrame(() => selectAllRef.current ? selectAllRef.current.focus() : focusAfter(ref.current));
42
- }, children: labels.clear }))] }))] }));
46
+ }, children: t('clear') }))] }))] }));
43
47
  }
44
48
  //# sourceMappingURL=selection-bar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"selection-bar.js","sourceRoot":"","sources":["../../src/ui/selection-bar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,MAAM,EAAkB,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAerC,MAAM,kBAAkB,GAAuB;IAC7C,QAAQ,EAAE,yBAAyB;IACnC,WAAW,EAAE,6BAA6B;IAC1C,SAAS,EAAE,2BAA2B;IACtC,KAAK,EAAE,iBAAiB;IACxB,OAAO,EAAE,WAAW;CACrB,CAAC;AAqBF;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EACL,KAAK,EACL,IAAI,EACJ,OAAO,EACP,WAAW,EACX,QAAQ,EACR,MAAM,EAAE,KAAK,EACb,SAAS,GACS;IAClB,MAAM,MAAM,GAAG,UAAU,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACjD,MAAM,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,MAAM,IAAI,GACR,CAAC,KAAK,CAAC;QACL,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,GAAG;YACH,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/E,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAChE,OAAO,CACL,eACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,6CAA6C,EAC7C,CAAC,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,IAAI,sBAAsB,EAClD,SAAS,CACV,aAED,YACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,EAAE,CAAC,iDAAiD,EAAE,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,YAErF,IAAI,GACH,EACH,CAAC,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,IAAI,CAC3B,eAAK,IAAI,EAAC,OAAO,gBAAa,MAAM,CAAC,OAAO,EAAE,SAAS,EAAC,mCAAmC,aACxF,CAAC,GAAG,CAAC,IAAI,QAAQ,EACjB,aAAa,IAAI,CAChB,KAAC,MAAM,IACL,GAAG,EAAE,YAAY,EACjB,OAAO,EAAC,OAAO,EACf,UAAU,EAAC,IAAI,EACf,OAAO,EAAE,GAAG,EAAE;4BACZ,WAAY,EAAE,CAAC;4BACf,qBAAqB,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;wBACzD,CAAC,YAEA,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GACtD,CACV,EACA,CAAC,GAAG,CAAC,IAAI,CACR,KAAC,MAAM,IACL,GAAG,EAAE,QAAQ,EACb,OAAO,EAAC,OAAO,EACf,UAAU,EAAC,IAAI,EACf,OAAO,EAAE,GAAG,EAAE;4BACZ,OAAO,EAAE,CAAC;4BACV,qBAAqB,CAAC,GAAG,EAAE,CACzB,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAC9E,CAAC;wBACJ,CAAC,YAEA,MAAM,CAAC,KAAK,GACN,CACV,IACG,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"selection-bar.js","sourceRoot":"","sources":["../../src/ui/selection-bar.tsx"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { ReactNode } from 'react';
3
3
  export interface SheetLabels {
4
4
  close: string;
5
5
  }
6
+ export declare const sheetLabels: SheetLabels;
6
7
  export interface SheetProps {
7
8
  isOpen: boolean;
8
9
  onOpenChange: (open: boolean) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../src/ui/sheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,8CAA8C;AAC9C,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EACpB,MAAM,EACN,YAAY,EACZ,IAAc,EACd,KAAK,EACL,aAAa,EACb,QAAQ,EACR,MAAM,EACN,MAAM,EACN,SAAS,EACT,GAAG,IAAI,EACR,EAAE,UAAU,+BA+CZ"}
1
+ {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../src/ui/sheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvC,8CAA8C;AAC9C,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,WAAW,EAAE,WAAgC,CAAC;AAE3D,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EACpB,MAAM,EACN,YAAY,EACZ,IAAc,EACd,KAAK,EACL,aAAa,EACb,QAAQ,EACR,MAAM,EACN,MAAM,EACN,SAAS,EACT,GAAG,IAAI,EACR,EAAE,UAAU,+BAgDZ"}