@setsquare/ui 0.5.0 → 0.7.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 (172) hide show
  1. package/CHANGELOG.md +116 -0
  2. package/README.md +42 -4
  3. package/dist/index.d.ts +15 -9
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +2 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/lib/cn.d.ts.map +1 -1
  8. package/dist/lib/cn.js +1 -0
  9. package/dist/lib/cn.js.map +1 -1
  10. package/dist/lib/english.d.ts +11 -0
  11. package/dist/lib/english.d.ts.map +1 -0
  12. package/dist/lib/english.js +67 -0
  13. package/dist/lib/english.js.map +1 -0
  14. package/dist/lib/labels.d.ts +38 -8
  15. package/dist/lib/labels.d.ts.map +1 -1
  16. package/dist/lib/labels.js +97 -9
  17. package/dist/lib/labels.js.map +1 -1
  18. package/dist/lib/locale.d.ts +108 -0
  19. package/dist/lib/locale.d.ts.map +1 -0
  20. package/dist/lib/locale.js +42 -0
  21. package/dist/lib/locale.js.map +1 -0
  22. package/dist/shell/app-header.d.ts +4 -1
  23. package/dist/shell/app-header.d.ts.map +1 -1
  24. package/dist/shell/app-header.js +6 -3
  25. package/dist/shell/app-header.js.map +1 -1
  26. package/dist/shell/dashboard-shell.d.ts +16 -2
  27. package/dist/shell/dashboard-shell.d.ts.map +1 -1
  28. package/dist/shell/dashboard-shell.js +7 -3
  29. package/dist/shell/dashboard-shell.js.map +1 -1
  30. package/dist/shell/landmarks.d.ts +33 -0
  31. package/dist/shell/landmarks.d.ts.map +1 -0
  32. package/dist/shell/landmarks.js +20 -0
  33. package/dist/shell/landmarks.js.map +1 -0
  34. package/dist/shell/nav-status.d.ts +46 -0
  35. package/dist/shell/nav-status.d.ts.map +1 -0
  36. package/dist/shell/nav-status.js +26 -0
  37. package/dist/shell/nav-status.js.map +1 -0
  38. package/dist/shell/rail.d.ts +73 -0
  39. package/dist/shell/rail.d.ts.map +1 -0
  40. package/dist/shell/rail.js +87 -0
  41. package/dist/shell/rail.js.map +1 -0
  42. package/dist/shell/right-panel.d.ts +7 -2
  43. package/dist/shell/right-panel.d.ts.map +1 -1
  44. package/dist/shell/right-panel.js +13 -7
  45. package/dist/shell/right-panel.js.map +1 -1
  46. package/dist/shell/sidebar.d.ts +41 -8
  47. package/dist/shell/sidebar.d.ts.map +1 -1
  48. package/dist/shell/sidebar.js +73 -19
  49. package/dist/shell/sidebar.js.map +1 -1
  50. package/dist/shell/site-menu.d.ts +11 -3
  51. package/dist/shell/site-menu.d.ts.map +1 -1
  52. package/dist/shell/site-menu.js +7 -1
  53. package/dist/shell/site-menu.js.map +1 -1
  54. package/dist/shell/site-nav.d.ts +4 -1
  55. package/dist/shell/site-nav.d.ts.map +1 -1
  56. package/dist/shell/site-nav.js +3 -3
  57. package/dist/shell/site-nav.js.map +1 -1
  58. package/dist/shell/site-shell.d.ts +4 -2
  59. package/dist/shell/site-shell.d.ts.map +1 -1
  60. package/dist/shell/site-shell.js +3 -2
  61. package/dist/shell/site-shell.js.map +1 -1
  62. package/dist/styles/theme.css +78 -0
  63. package/dist/styles/tokens.css +4 -4
  64. package/dist/tokens.json +4 -4
  65. package/dist/ui/alert.d.ts +2 -0
  66. package/dist/ui/alert.d.ts.map +1 -1
  67. package/dist/ui/alert.js +11 -9
  68. package/dist/ui/alert.js.map +1 -1
  69. package/dist/ui/breadcrumbs.d.ts +9 -1
  70. package/dist/ui/breadcrumbs.d.ts.map +1 -1
  71. package/dist/ui/breadcrumbs.js +5 -2
  72. package/dist/ui/breadcrumbs.js.map +1 -1
  73. package/dist/ui/calendar.d.ts +1 -0
  74. package/dist/ui/calendar.d.ts.map +1 -1
  75. package/dist/ui/calendar.js +7 -1
  76. package/dist/ui/calendar.js.map +1 -1
  77. package/dist/ui/checkbox.d.ts.map +1 -1
  78. package/dist/ui/checkbox.js +7 -7
  79. package/dist/ui/checkbox.js.map +1 -1
  80. package/dist/ui/code-block-parts.d.ts +30 -0
  81. package/dist/ui/code-block-parts.d.ts.map +1 -0
  82. package/dist/ui/code-block-parts.js +27 -0
  83. package/dist/ui/code-block-parts.js.map +1 -0
  84. package/dist/ui/code-block.d.ts +4 -10
  85. package/dist/ui/code-block.d.ts.map +1 -1
  86. package/dist/ui/code-block.js +4 -9
  87. package/dist/ui/code-block.js.map +1 -1
  88. package/dist/ui/combo-box.d.ts +7 -1
  89. package/dist/ui/combo-box.d.ts.map +1 -1
  90. package/dist/ui/combo-box.js +9 -2
  91. package/dist/ui/combo-box.js.map +1 -1
  92. package/dist/ui/copy-button.d.ts +7 -1
  93. package/dist/ui/copy-button.d.ts.map +1 -1
  94. package/dist/ui/copy-button.js +11 -10
  95. package/dist/ui/copy-button.js.map +1 -1
  96. package/dist/ui/date-field.d.ts +1 -0
  97. package/dist/ui/date-field.d.ts.map +1 -1
  98. package/dist/ui/date-field.js +20 -16
  99. package/dist/ui/date-field.js.map +1 -1
  100. package/dist/ui/dialog.d.ts +6 -1
  101. package/dist/ui/dialog.d.ts.map +1 -1
  102. package/dist/ui/dialog.js +11 -8
  103. package/dist/ui/dialog.js.map +1 -1
  104. package/dist/ui/error-state.d.ts +17 -2
  105. package/dist/ui/error-state.d.ts.map +1 -1
  106. package/dist/ui/error-state.js +32 -34
  107. package/dist/ui/error-state.js.map +1 -1
  108. package/dist/ui/feature-card.d.ts +18 -3
  109. package/dist/ui/feature-card.d.ts.map +1 -1
  110. package/dist/ui/feature-card.js +18 -3
  111. package/dist/ui/feature-card.js.map +1 -1
  112. package/dist/ui/field.d.ts +28 -9
  113. package/dist/ui/field.d.ts.map +1 -1
  114. package/dist/ui/field.js +22 -10
  115. package/dist/ui/field.js.map +1 -1
  116. package/dist/ui/file-upload.d.ts +23 -5
  117. package/dist/ui/file-upload.d.ts.map +1 -1
  118. package/dist/ui/file-upload.js +54 -36
  119. package/dist/ui/file-upload.js.map +1 -1
  120. package/dist/ui/form.d.ts +11 -1
  121. package/dist/ui/form.d.ts.map +1 -1
  122. package/dist/ui/form.js +7 -4
  123. package/dist/ui/form.js.map +1 -1
  124. package/dist/ui/number-field.d.ts.map +1 -1
  125. package/dist/ui/number-field.js +5 -3
  126. package/dist/ui/number-field.js.map +1 -1
  127. package/dist/ui/pagination.d.ts +11 -3
  128. package/dist/ui/pagination.d.ts.map +1 -1
  129. package/dist/ui/pagination.js +30 -23
  130. package/dist/ui/pagination.js.map +1 -1
  131. package/dist/ui/radio-group.d.ts.map +1 -1
  132. package/dist/ui/radio-group.js +4 -4
  133. package/dist/ui/radio-group.js.map +1 -1
  134. package/dist/ui/search.d.ts +3 -0
  135. package/dist/ui/search.d.ts.map +1 -1
  136. package/dist/ui/search.js +11 -10
  137. package/dist/ui/search.js.map +1 -1
  138. package/dist/ui/select.d.ts +7 -1
  139. package/dist/ui/select.d.ts.map +1 -1
  140. package/dist/ui/select.js +7 -3
  141. package/dist/ui/select.js.map +1 -1
  142. package/dist/ui/selection-bar.d.ts +17 -4
  143. package/dist/ui/selection-bar.d.ts.map +1 -1
  144. package/dist/ui/selection-bar.js +15 -11
  145. package/dist/ui/selection-bar.js.map +1 -1
  146. package/dist/ui/sheet.d.ts +1 -0
  147. package/dist/ui/sheet.d.ts.map +1 -1
  148. package/dist/ui/sheet.js +4 -1
  149. package/dist/ui/sheet.js.map +1 -1
  150. package/dist/ui/slider.d.ts +9 -2
  151. package/dist/ui/slider.d.ts.map +1 -1
  152. package/dist/ui/slider.js +13 -5
  153. package/dist/ui/slider.js.map +1 -1
  154. package/dist/ui/tabs.d.ts +1 -0
  155. package/dist/ui/tabs.d.ts.map +1 -1
  156. package/dist/ui/tabs.js +13 -12
  157. package/dist/ui/tabs.js.map +1 -1
  158. package/dist/ui/text-field.d.ts.map +1 -1
  159. package/dist/ui/text-field.js +7 -3
  160. package/dist/ui/text-field.js.map +1 -1
  161. package/dist/ui/theme-switcher.d.ts +1 -0
  162. package/dist/ui/theme-switcher.d.ts.map +1 -1
  163. package/dist/ui/theme-switcher.js +7 -7
  164. package/dist/ui/theme-switcher.js.map +1 -1
  165. package/dist/ui/toast.d.ts +1 -0
  166. package/dist/ui/toast.d.ts.map +1 -1
  167. package/dist/ui/toast.js +4 -1
  168. package/dist/ui/toast.js.map +1 -1
  169. package/dist/ui/tree.d.ts.map +1 -1
  170. package/dist/ui/tree.js +5 -5
  171. package/dist/ui/tree.js.map +1 -1
  172. package/package.json +2 -1
@@ -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"}
package/dist/ui/sheet.js CHANGED
@@ -3,14 +3,17 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Dialog, Heading, Modal, ModalOverlay } from 'react-aria-components';
4
4
  import { X } from 'lucide-react';
5
5
  import { cn } from '../lib/cn.js';
6
+ import { useLabels } from '../lib/locale.js';
6
7
  import { IconButton } from './icon-button.js';
8
+ export const sheetLabels = { close: 'Close' };
7
9
  /**
8
10
  * A modal panel from the edge: focus is trapped inside, Escape and the backdrop close it,
9
11
  * focus returns to what opened it. Slides by --motion-distance, so AAA themes fade only.
10
12
  */
11
13
  export function Sheet({ isOpen, onOpenChange, side = 'right', title, headerActions, children, footer, labels, className, ...rest }) {
14
+ const t = useLabels('sheet', sheetLabels, labels);
12
15
  return (_jsx(ModalOverlay, { isOpen: isOpen, onOpenChange: onOpenChange, isDismissable: true, "data-overlay": true, className: "fixed inset-0 z-(--z-sheet) bg-overlay", children: _jsx(Modal, { "data-sheet": side, className: cn('fixed inset-y-0 flex max-w-[calc(100%-3rem)] flex-col bg-background text-foreground shadow-(--shadow-lg) outline-none', side === 'right'
13
16
  ? 'right-0 w-panel border-l border-border'
14
- : 'left-0 w-sidebar border-r border-sidebar-border bg-sidebar', className), children: _jsxs(Dialog, { "aria-label": title ? undefined : rest['aria-label'], className: "flex h-full min-h-0 flex-col outline-none", children: [title ? (_jsxs("div", { className: "flex min-h-[calc(var(--control-height)+1rem)] items-center justify-between gap-2 border-b border-border py-2 pr-2 pl-4", children: [_jsx(Heading, { slot: "title", className: "text-subheading", children: title }), _jsxs("div", { className: "flex items-center gap-1", children: [headerActions, _jsx(IconButton, { label: labels?.close ?? 'Close', icon: X, visualSize: "icon-sm", slot: "close", tooltip: false, className: "justify-end" })] })] })) : null, children, footer] }) }) }));
17
+ : 'left-0 w-sidebar border-r border-sidebar-border bg-sidebar', className), children: _jsxs(Dialog, { "aria-label": title ? undefined : rest['aria-label'], className: "flex h-full min-h-0 flex-col outline-none", children: [title ? (_jsxs("div", { className: "flex min-h-[calc(var(--control-height)+1rem)] items-center justify-between gap-2 border-b border-border py-2 pr-2 pl-4", children: [_jsx(Heading, { slot: "title", className: "text-subheading", children: title }), _jsxs("div", { className: "flex items-center gap-1", children: [headerActions, _jsx(IconButton, { label: t('close'), icon: X, visualSize: "icon-sm", slot: "close", tooltip: false, className: "justify-end" })] })] })) : null, children, footer] }) }) }));
15
18
  }
16
19
  //# sourceMappingURL=sheet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sheet.js","sourceRoot":"","sources":["../../src/ui/sheet.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAuB9C;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,EACpB,MAAM,EACN,YAAY,EACZ,IAAI,GAAG,OAAO,EACd,KAAK,EACL,aAAa,EACb,QAAQ,EACR,MAAM,EACN,MAAM,EACN,SAAS,EACT,GAAG,IAAI,EACI;IACX,OAAO,CACL,KAAC,YAAY,IACX,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,aAAa,8BAEb,SAAS,EAAC,wCAAwC,YAElD,KAAC,KAAK,kBACQ,IAAI,EAChB,SAAS,EAAE,EAAE,CACX,uHAAuH,EACvH,IAAI,KAAK,OAAO;gBACd,CAAC,CAAC,wCAAwC;gBAC1C,CAAC,CAAC,4DAA4D,EAChE,SAAS,CACV,YAED,MAAC,MAAM,kBACO,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAClD,SAAS,EAAC,2CAA2C,aAEpD,KAAK,CAAC,CAAC,CAAC,CACP,eAAK,SAAS,EAAC,wHAAwH,aACrI,KAAC,OAAO,IAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,iBAAiB,YAC9C,KAAK,GACE,EACV,eAAK,SAAS,EAAC,yBAAyB,aACrC,aAAa,EACd,KAAC,UAAU,IACT,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,OAAO,EAC/B,IAAI,EAAE,CAAC,EACP,UAAU,EAAC,SAAS,EACpB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,KAAK,EACd,SAAS,EAAC,aAAa,GACvB,IACE,IACF,CACP,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,EACR,MAAM,IACA,GACH,GACK,CAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sheet.js","sourceRoot":"","sources":["../../src/ui/sheet.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAO9C,MAAM,CAAC,MAAM,WAAW,GAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAkB3D;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,EACpB,MAAM,EACN,YAAY,EACZ,IAAI,GAAG,OAAO,EACd,KAAK,EACL,aAAa,EACb,QAAQ,EACR,MAAM,EACN,MAAM,EACN,SAAS,EACT,GAAG,IAAI,EACI;IACX,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAClD,OAAO,CACL,KAAC,YAAY,IACX,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,aAAa,8BAEb,SAAS,EAAC,wCAAwC,YAElD,KAAC,KAAK,kBACQ,IAAI,EAChB,SAAS,EAAE,EAAE,CACX,uHAAuH,EACvH,IAAI,KAAK,OAAO;gBACd,CAAC,CAAC,wCAAwC;gBAC1C,CAAC,CAAC,4DAA4D,EAChE,SAAS,CACV,YAED,MAAC,MAAM,kBACO,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAClD,SAAS,EAAC,2CAA2C,aAEpD,KAAK,CAAC,CAAC,CAAC,CACP,eAAK,SAAS,EAAC,wHAAwH,aACrI,KAAC,OAAO,IAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,iBAAiB,YAC9C,KAAK,GACE,EACV,eAAK,SAAS,EAAC,yBAAyB,aACrC,aAAa,EACd,KAAC,UAAU,IACT,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,EACjB,IAAI,EAAE,CAAC,EACP,UAAU,EAAC,SAAS,EACpB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,KAAK,EACd,SAAS,EAAC,aAAa,GACvB,IACE,IACF,CACP,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,EACR,MAAM,IACA,GACH,GACK,CAChB,CAAC;AACJ,CAAC"}
@@ -12,9 +12,16 @@ interface SliderBaseProps {
12
12
  }
13
13
  export interface SliderProps extends SliderBaseProps, Omit<RACSliderProps<number>, 'className' | 'children'> {
14
14
  }
15
+ /** A range slider's words, for the `labels` prop: the two thumbs' names, read before their values. */
16
+ export interface RangeSliderLabels {
17
+ minimum: string;
18
+ maximum: string;
19
+ }
20
+ export declare const rangeSliderLabels: RangeSliderLabels;
15
21
  export interface RangeSliderProps extends SliderBaseProps, Omit<RACSliderProps<number[]>, 'className' | 'children'> {
16
- /** Names for the two thumbs, read before their values. Default ["Minimum", "Maximum"]. */
22
+ /** @deprecated Use `labels.minimum` and `labels.maximum`. Kept for one release. */
17
23
  thumbLabels?: [string, string];
24
+ labels?: Partial<RangeSliderLabels>;
18
25
  }
19
26
  /**
20
27
  * Choose a value from a continuous range where the exact number matters less than its position — volume,
@@ -26,6 +33,6 @@ export interface RangeSliderProps extends SliderBaseProps, Omit<RACSliderProps<n
26
33
  */
27
34
  export declare function Slider(props: SliderProps): import("react").JSX.Element;
28
35
  /** Choose a minimum and a maximum on one track. Each thumb has its own name ("Minimum", "Maximum"). */
29
- export declare function RangeSlider({ thumbLabels, ...props }: RangeSliderProps): import("react").JSX.Element;
36
+ export declare function RangeSlider({ thumbLabels, labels, ...props }: RangeSliderProps): import("react").JSX.Element;
30
37
  export {};
31
38
  //# sourceMappingURL=slider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../src/ui/slider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAML,KAAK,WAAW,IAAI,cAAc,EACnC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAElF,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,kEAAkE;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WACf,SAAQ,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC;CAAG;AAEpF,MAAM,WAAW,gBACf,SAAQ,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC;IACjF,0FAA0F;IAC1F,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,+BAExC;AAED,uGAAuG;AACvG,wBAAgB,WAAW,CAAC,EAAE,WAAoC,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,+BAE/F"}
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../src/ui/slider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAOL,KAAK,WAAW,IAAI,cAAc,EACnC,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAElF,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,kEAAkE;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WACf,SAAQ,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC;CAAG;AAEpF,sGAAsG;AACtG,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,iBAAiB,EAAE,iBAA8D,CAAC;AAE/F,MAAM,WAAW,gBACf,SAAQ,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC;IACjF,mFAAmF;IACnF,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACrC;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,+BAExC;AAED,uGAAuG;AACvG,wBAAgB,WAAW,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,+BAQ9E"}
package/dist/ui/slider.js CHANGED
@@ -1,9 +1,11 @@
1
1
  'use client';
2
2
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useId } from 'react';
4
- import { Slider as RACSlider, SliderFill, SliderOutput, SliderThumb, SliderTrack, } from 'react-aria-components';
4
+ import { Slider as RACSlider, SliderFill, SliderOutput, SliderThumb, SliderTrack, useLocale, } from 'react-aria-components';
5
5
  import { cn } from '../lib/cn.js';
6
+ import { useLabels } from '../lib/locale.js';
6
7
  import { FieldLabel, fieldStack, fieldWidths } from './field.js';
8
+ export const rangeSliderLabels = { minimum: 'Minimum', maximum: 'Maximum' };
7
9
  /**
8
10
  * Choose a value from a continuous range where the exact number matters less than its position — volume,
9
11
  * a threshold, a budget. For an exact number people will type, use a NumberField.
@@ -16,15 +18,21 @@ export function Slider(props) {
16
18
  return _jsx(SliderRoot, { ...props });
17
19
  }
18
20
  /** Choose a minimum and a maximum on one track. Each thumb has its own name ("Minimum", "Maximum"). */
19
- export function RangeSlider({ thumbLabels = ['Minimum', 'Maximum'], ...props }) {
20
- return _jsx(SliderRoot, { ...props, thumbLabels: thumbLabels });
21
+ export function RangeSlider({ thumbLabels, labels, ...props }) {
22
+ const t = useLabels('rangeSlider', rangeSliderLabels, labels);
23
+ return (_jsx(SliderRoot, { ...props, thumbLabels: thumbLabels ?? [t('minimum'), t('maximum')] }));
21
24
  }
22
25
  function SliderRoot({ label, description, showRange = true, width = 'md', className, thumbLabels, ...props }) {
23
26
  const descriptionId = useId();
27
+ const { locale } = useLocale();
24
28
  const minValue = props.minValue ?? 0;
25
29
  const maxValue = props.maxValue ?? 100;
26
- const format = new Intl.NumberFormat(undefined, props.formatOptions);
27
- return (_jsxs(RACSlider, { ...props, className: cn(fieldStack, fieldWidths[width], className), children: [_jsxs("div", { className: "flex items-baseline justify-between gap-4", children: [_jsx(FieldLabel, { children: label }), _jsx(SliderOutput, { className: "text-sm leading-5 font-semibold text-foreground tabular-nums", children: ({ state }) => state.values.map((_, i) => state.getThumbValueLabel(i)).join(' – ') })] }), description && (_jsx("p", { id: descriptionId, className: "max-w-(--measure) text-[13px] leading-5 text-muted-foreground", children: description })), _jsx(SliderTrack, { className: "group/track relative h-(--target-min) w-full cursor-pointer data-disabled:cursor-not-allowed data-disabled:opacity-60", children: ({ state }) => (_jsxs(_Fragment, { children: [_jsx("div", { "aria-hidden": "true", className: "absolute inset-x-0 top-1/2 h-1.5 -translate-y-1/2 rounded-full bg-input aaa:h-2", children: _jsx(SliderFill, { className: "rounded-full bg-primary" }) }), state.values.map((_, i) => (_jsx(SliderThumb, { index: i, "aria-label": thumbLabels?.[i], "aria-describedby": description ? descriptionId : undefined, className: cn(
30
+ const format = new Intl.NumberFormat(locale, props.formatOptions);
31
+ return (_jsxs(RACSlider, { ...props, className: cn(fieldStack, fieldWidths[width], className), children: [_jsxs("div", { className: "flex items-baseline justify-between gap-4", children: [_jsx(FieldLabel, { children: label }), _jsx(SliderOutput, { className: "text-sm leading-5 font-semibold text-foreground tabular-nums", children: ({ state }) =>
32
+ // Two values are a range, in the locale's own form ("20–80", "20~80"), not joined here.
33
+ state.values.length === 2
34
+ ? format.formatRange(state.values[0], state.values[1])
35
+ : state.getThumbValueLabel(0) })] }), description && (_jsx("p", { id: descriptionId, className: "max-w-(--measure) text-[13px] leading-5 text-muted-foreground", children: description })), _jsx(SliderTrack, { className: "group/track relative h-(--target-min) w-full cursor-pointer data-disabled:cursor-not-allowed data-disabled:opacity-60", children: ({ state }) => (_jsxs(_Fragment, { children: [_jsx("div", { "aria-hidden": "true", className: "absolute inset-x-0 top-1/2 h-1.5 -translate-y-1/2 rounded-full bg-input aaa:h-2", children: _jsx(SliderFill, { className: "rounded-full bg-primary" }) }), state.values.map((_, i) => (_jsx(SliderThumb, { index: i, "aria-label": thumbLabels?.[i], "aria-describedby": description ? descriptionId : undefined, className: cn(
28
36
  // Layer 1: the thumb element is the target, at least --target-min square, centred on the
29
37
  // value. Transparent; React Aria positions it and puts the real input inside it.
30
38
  // The thumb is dragged, not pressed: grab, and grabbing while it moves.
@@ -1 +1 @@
1
- {"version":3,"file":"slider.js","sourceRoot":"","sources":["../../src/ui/slider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,KAAK,EAAkB,MAAM,OAAO,CAAC;AAC9C,OAAO,EACL,MAAM,IAAI,SAAS,EACnB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,GAEZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAmB,MAAM,YAAY,CAAC;AAqBlF;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CAAC,KAAkB;IACvC,OAAO,KAAC,UAAU,OAAM,KAAyB,GAAI,CAAC;AACxD,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,WAAW,CAAC,EAAE,WAAW,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,GAAG,KAAK,EAAoB;IAC9F,OAAO,KAAC,UAAU,OAAM,KAAyB,EAAE,WAAW,EAAE,WAAW,GAAI,CAAC;AAClF,CAAC;AAOD,SAAS,UAAU,CAAC,EAClB,KAAK,EACL,WAAW,EACX,SAAS,GAAG,IAAI,EAChB,KAAK,GAAG,IAAI,EACZ,SAAS,EACT,WAAW,EACX,GAAG,KAAK,EACQ;IAChB,MAAM,aAAa,GAAG,KAAK,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,GAAG,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACrE,OAAO,CAGL,MAAC,SAAS,OAAK,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,aAC5E,eAAK,SAAS,EAAC,2CAA2C,aACxD,KAAC,UAAU,cAAE,KAAK,GAAc,EAChC,KAAC,YAAY,IAAC,SAAS,EAAC,8DAA8D,YACnF,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GACtE,IACX,EACL,WAAW,IAAI,CACd,YACE,EAAE,EAAE,aAAa,EACjB,SAAS,EAAC,+DAA+D,YAExE,WAAW,GACV,CACL,EACD,KAAC,WAAW,IAAC,SAAS,EAAC,uHAAuH,YAC3I,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACd,8BAEE,6BACc,MAAM,EAClB,SAAS,EAAC,iFAAiF,YAE3F,KAAC,UAAU,IAAC,SAAS,EAAC,yBAAyB,GAAG,GAC9C,EACL,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC1B,KAAC,WAAW,IAEV,KAAK,EAAE,CAAC,gBACI,WAAW,EAAE,CAAC,CAAC,CAAC,sBACV,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EACzD,SAAS,EAAE,EAAE;4BACX,yFAAyF;4BACzF,iFAAiF;4BACjF,wEAAwE;4BACxE,iJAAiJ,CAClJ,YAGD,8BACc,MAAM,EAClB,SAAS,EAAE,EAAE,CACX,qFAAqF,EACrF,oKAAoK,CACrK,GACD,IAlBG,CAAC,CAmBM,CACf,CAAC,IACD,CACJ,GACW,EACb,SAAS,IAAI,CACZ,8BACc,MAAM,EAClB,SAAS,EAAC,qFAAqF,aAE/F,yBAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAQ,EACtC,yBAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAQ,IAClC,CACP,IACS,CACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"slider.js","sourceRoot":"","sources":["../../src/ui/slider.tsx"],"names":[],"mappings":"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"}
package/dist/ui/tabs.d.ts CHANGED
@@ -15,6 +15,7 @@ export interface TabsLabels {
15
15
  /** Said politely when an important badge rises, with `announceBadges`: "Settings: 2 settings need attention". */
16
16
  badgeRise: string;
17
17
  }
18
+ export declare const tabsLabels: TabsLabels;
18
19
  /**
19
20
  * What a closed tab shows. `expanding`: icons, and the selected tab opens to show its name. `text`: every name,
20
21
  * no icons. `icon`: icons only; names are in tooltips. A tab without an icon always shows its name.
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/ui/tabs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/ui/tabs.tsx"],"names":[],"mappings":"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"}
package/dist/ui/tabs.js CHANGED
@@ -4,12 +4,12 @@ import * as React from 'react';
4
4
  import { createContext, useCallback, useContext, useEffect, useRef, useState, } from 'react';
5
5
  import { Tab as RACTab, TabList as RACTabList, TabListStateContext, TabPanel as RACTabPanel, Tabs as RACTabs, } from 'react-aria-components';
6
6
  import { cn } from '../lib/cn.js';
7
- import { fill, withLabels } from '../lib/labels.js';
7
+ import { useLabels } from '../lib/locale.js';
8
8
  import { renderIcon } from './icon.js';
9
- const tabsLabels = {
10
- count: ', {count}',
9
+ export const tabsLabels = {
10
+ count: ', {count, number}',
11
11
  badge: ', {badge}',
12
- tipCount: '{name} ({count})',
12
+ tipCount: '{name} ({count, number})',
13
13
  tipBadge: '{name} · {badge}',
14
14
  badgeRise: '{name}: {badge}',
15
15
  };
@@ -66,12 +66,13 @@ export function Tabs({ display = 'expanding', hiddenPanels = 'visited', orientat
66
66
  document.addEventListener('keydown', onKey);
67
67
  return () => document.removeEventListener('keydown', onKey);
68
68
  }, [tip, setTip]);
69
+ const t = useLabels('tabs', tabsLabels, given);
69
70
  const [message, setMessage] = useState('');
70
71
  const shared = {
71
72
  display,
72
73
  hiddenPanels,
73
74
  orientation: effective,
74
- labels: withLabels(tabsLabels, given),
75
+ t,
75
76
  onBadgeClear,
76
77
  announce: (text) => announceBadges && setMessage(text),
77
78
  tip,
@@ -124,13 +125,13 @@ export function Tab({ id, icon, count, badge, className, visualClassName, childr
124
125
  const name = textValue ?? (typeof children === 'string' ? children : '');
125
126
  const display = icon ? shared.display : 'text';
126
127
  const rail = shared.orientation === 'vertical';
127
- const { labels } = shared;
128
+ const { t } = shared;
128
129
  // A tooltip only where the name isn't showing: every tab in icon only, the closed ones when expanding.
129
130
  const selected = state?.selectedKey === id;
130
131
  const tip = useTip(id, display === 'icon' || (display === 'expanding' && !selected));
131
- return (_jsx(RACTab, { ...props, ...tip.handlers, id: id, className: cn('group/tab relative inline-flex min-h-target min-w-target cursor-pointer items-center outline-none data-disabled:cursor-not-allowed', rail && 'flex w-full', className), children: ({ isSelected }) => (_jsx(TabInner, { id: id, name: name, display: display, rail: rail, icon: icon, count: count, badge: badge, isSelected: isSelected, tipOpen: tip.open, visualClassName: visualClassName, labels: labels, children: children })) }));
132
+ return (_jsx(RACTab, { ...props, ...tip.handlers, id: id, className: cn('group/tab relative inline-flex min-h-target min-w-target cursor-pointer items-center outline-none data-disabled:cursor-not-allowed', rail && 'flex w-full', className), children: ({ isSelected }) => (_jsx(TabInner, { id: id, name: name, display: display, rail: rail, icon: icon, count: count, badge: badge, isSelected: isSelected, tipOpen: tip.open, visualClassName: visualClassName, t: t, children: children })) }));
132
133
  }
133
- function TabInner({ id, name, display, rail, icon, count, badge, isSelected, tipOpen, visualClassName, labels, children, }) {
134
+ function TabInner({ id, name, display, rail, icon, count, badge, isSelected, tipOpen, visualClassName, t, children, }) {
134
135
  const mark = useBadge(id, name, badge, isSelected);
135
136
  const shown = mark.shown;
136
137
  // Never over text: open in a row, the name sits beside the icon, so the badge follows the name. In a rail the name
@@ -145,11 +146,11 @@ function TabInner({ id, name, display, rail, icon, count, badge, isSelected, tip
145
146
  }
146
147
  const badgeText = badge?.short ?? badge?.label ?? '';
147
148
  const tip = shown && badge
148
- ? fill(labels.tipBadge, { name, badge: badgeText })
149
+ ? t('tipBadge', { name, badge: badgeText })
149
150
  : count != null
150
- ? fill(labels.tipCount, { name, count })
151
+ ? t('tipCount', { name, count })
151
152
  : name;
152
- return (_jsxs(_Fragment, { children: [_jsxs("span", { "data-display": display, className: cn('tabs-paint group-data-focus-visible/tab:focus-ring group-data-disabled/tab:opacity-50', visualClassName), children: [display !== 'text' && icon && (_jsxs("span", { className: "tabs-icon", children: [renderIcon(icon, 'size-5'), shown && badge && !inline && (_jsx(BadgeMark, { badge: badge, ...mark, returning: returning }))] })), _jsx("span", { className: "tabs-name", children: _jsxs("span", { className: "tabs-name-row", children: [_jsxs("span", { className: "tabs-name-text", children: [_jsx("span", { children: children }), _jsx("span", { "aria-hidden": "true", children: children })] }), count != null && (_jsxs(_Fragment, { children: [_jsx("span", { "aria-hidden": "true", className: "tabs-count", children: count }), _jsx("span", { className: "sr-only", children: fill(labels.count, { count }) })] })), shown && badge && inline && _jsx(BadgeMark, { badge: badge, ...mark, inline: true }), shown && badge && (_jsx("span", { className: "sr-only", children: fill(labels.badge, { badge: badge.label }) }))] }) })] }), tipOpen && (_jsx("span", { "aria-hidden": "true", "data-side": rail ? 'right' : 'bottom', className: "tabs-tip", children: tip }))] }));
153
+ return (_jsxs(_Fragment, { children: [_jsxs("span", { "data-display": display, className: cn('tabs-paint group-data-focus-visible/tab:focus-ring group-data-disabled/tab:opacity-50', visualClassName), children: [display !== 'text' && icon && (_jsxs("span", { className: "tabs-icon", children: [renderIcon(icon, 'size-5'), shown && badge && !inline && (_jsx(BadgeMark, { badge: badge, ...mark, returning: returning }))] })), _jsx("span", { className: "tabs-name", children: _jsxs("span", { className: "tabs-name-row", children: [_jsxs("span", { className: "tabs-name-text", children: [_jsx("span", { children: children }), _jsx("span", { "aria-hidden": "true", children: children })] }), count != null && (_jsxs(_Fragment, { children: [_jsx("span", { "aria-hidden": "true", className: "tabs-count", children: count }), _jsx("span", { className: "sr-only", children: t('count', { count }) })] })), shown && badge && inline && _jsx(BadgeMark, { badge: badge, ...mark, inline: true }), shown && badge && (_jsx("span", { className: "sr-only", children: t('badge', { badge: badge.label }) }))] }) })] }), tipOpen && (_jsx("span", { "aria-hidden": "true", "data-side": rail ? 'right' : 'bottom', className: "tabs-tip", children: tip }))] }));
153
154
  }
154
155
  /** Whether the badge shows, and the pulse and clearing bookkeeping behind it. */
155
156
  function useBadge(id, name, badge, isSelected) {
@@ -185,7 +186,7 @@ function useBadge(id, name, badge, isSelected) {
185
186
  count != null &&
186
187
  lastCount.current != null &&
187
188
  count > lastCount.current)
188
- shared.announce(fill(shared.labels.badgeRise, { name, badge: badge?.label ?? '' }));
189
+ shared.announce(shared.t('badgeRise', { name, badge: badge?.label ?? '' }));
189
190
  lastCount.current = count;
190
191
  });
191
192
  // Clear on open: it fades after a moment, is gone at 1s, and the app is told. Leaving the tab doesn't stop it.
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/ui/tabs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/ui/tabs.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"text-field.d.ts","sourceRoot":"","sources":["../../src/ui/text-field.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAIL,KAAK,cAAc,IAAI,iBAAiB,EACzC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAWL,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,iBAAiB,EACjB,WAAW,GAAG,UAAU,GAAG,UAAU,CACtC;IACC,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,4FAA4F;IAC5F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,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,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,WAAW,EACX,KAAc,EACd,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,+BAyBhB;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,mFAAmF;AACnF,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,WAAW,EACX,KAAY,EACZ,IAAQ,EACR,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACT,EAAE,aAAa,+BAuBf"}
1
+ {"version":3,"file":"text-field.d.ts","sourceRoot":"","sources":["../../src/ui/text-field.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAIL,KAAK,cAAc,IAAI,iBAAiB,EACzC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAUL,KAAK,UAAU,EAEf,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,iBAAiB,EACjB,WAAW,GAAG,UAAU,GAAG,UAAU,CACtC;IACC,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,4FAA4F;IAC5F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,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,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,WAAW,EACX,KAAc,EACd,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,+BAqBhB;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,mFAAmF;AACnF,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,WAAW,EACX,KAAY,EACZ,IAAQ,EACR,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACT,EAAE,aAAa,+BAmBf"}
@@ -2,16 +2,20 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Input, TextArea as RACTextArea, TextField as RACTextField, } from 'react-aria-components';
4
4
  import { cn } from '../lib/cn.js';
5
- import { FieldDescription, FieldError, FieldLabel, fieldStack, fieldBox, fieldInput, fieldWidths, lcFirst, textAreaStyles, withRequired, } from './field.js';
5
+ import { FieldDescription, FieldError, FieldLabel, fieldStack, fieldBox, fieldInput, fieldWidths, textAreaStyles, withRequired, useFieldLabels, } from './field.js';
6
6
  /**
7
7
  * Single-line text input. Pass `autoComplete` for anything about the user (email, name, organization,
8
8
  * tel, postal-code…) so browsers can fill it and assistive tech can identify it (WCAG 1.3.5).
9
9
  */
10
10
  export function TextField({ label, description, errorMessage, requiredMessage, validate, placeholder, width = 'full', labels, className, ...props }) {
11
- return (_jsxs(RACTextField, { ...props, validate: withRequired(props.isRequired, requiredMessage ?? `Enter ${lcFirst(label)}`, (v) => !v?.trim(), 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 ?? `Enter ${lcFirst(label)}`, children: errorMessage }), _jsx("div", { className: fieldBox, children: _jsx(Input, { placeholder: placeholder, className: fieldInput }) })] }));
11
+ const t = useFieldLabels(labels);
12
+ const required = requiredMessage ?? t('enterValue', { label });
13
+ return (_jsxs(RACTextField, { ...props, validate: withRequired(props.isRequired, required, (v) => !v?.trim(), 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 }), _jsx("div", { className: fieldBox, children: _jsx(Input, { placeholder: placeholder, className: fieldInput }) })] }));
12
14
  }
13
15
  /** Multi-line text. Grows with its rows; never resizes narrower than its field. */
14
16
  export function TextArea({ label, description, errorMessage, requiredMessage, validate, placeholder, width = 'lg', rows = 4, labels, className, ...props }) {
15
- return (_jsxs(RACTextField, { ...props, validate: withRequired(props.isRequired, requiredMessage ?? `Enter ${lcFirst(label)}`, (v) => !v?.trim(), 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 ?? `Enter ${lcFirst(label)}`, children: errorMessage }), _jsx(RACTextArea, { rows: rows, placeholder: placeholder, className: textAreaStyles })] }));
17
+ const t = useFieldLabels(labels);
18
+ const required = requiredMessage ?? t('enterValue', { label });
19
+ return (_jsxs(RACTextField, { ...props, validate: withRequired(props.isRequired, required, (v) => !v?.trim(), 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 }), _jsx(RACTextArea, { rows: rows, placeholder: placeholder, className: textAreaStyles })] }));
16
20
  }
17
21
  //# sourceMappingURL=text-field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-field.js","sourceRoot":"","sources":["../../src/ui/text-field.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EACL,KAAK,EACL,QAAQ,IAAI,WAAW,EACvB,SAAS,IAAI,YAAY,GAE1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,UAAU,EACV,QAAQ,EACR,UAAU,EACV,WAAW,EACX,OAAO,EACP,cAAc,EACd,YAAY,GAGb,MAAM,YAAY,CAAC;AAoBpB;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,EACxB,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,WAAW,EACX,KAAK,GAAG,MAAM,EACd,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACO;IACf,OAAO,CACL,MAAC,YAAY,OACP,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,CAAC,EAAE,IAAI,EAAE,EACjB,QAAQ,CACT,EACD,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,SAAS,OAAO,CAAC,KAAK,CAAC,EAAE,YAE5D,YAAY,GACF,EACb,cAAK,SAAS,EAAE,QAAQ,YACtB,KAAC,KAAK,IAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,GAAI,GACtD,IACO,CAChB,CAAC;AACJ,CAAC;AAMD,mFAAmF;AACnF,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,WAAW,EACX,KAAK,GAAG,IAAI,EACZ,IAAI,GAAG,CAAC,EACR,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACM;IACd,OAAO,CACL,MAAC,YAAY,OACP,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,CAAC,EAAE,IAAI,EAAE,EACjB,QAAQ,CACT,EACD,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,SAAS,OAAO,CAAC,KAAK,CAAC,EAAE,YAE5D,YAAY,GACF,EACb,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,GAAI,IACnE,CAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"text-field.js","sourceRoot":"","sources":["../../src/ui/text-field.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EACL,KAAK,EACL,QAAQ,IAAI,WAAW,EACvB,SAAS,IAAI,YAAY,GAE1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,UAAU,EACV,QAAQ,EACR,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,EAEZ,cAAc,GAEf,MAAM,YAAY,CAAC;AAoBpB;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,EACxB,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,WAAW,EACX,KAAK,GAAG,MAAM,EACd,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACO;IACf,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,YAAY,OACP,KAAK,EACT,QAAQ,EAAE,YAAY,CAAS,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,EACvF,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,EACb,cAAK,SAAS,EAAE,QAAQ,YACtB,KAAC,KAAK,IAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,GAAI,GACtD,IACO,CAChB,CAAC;AACJ,CAAC;AAMD,mFAAmF;AACnF,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,WAAW,EACX,KAAK,GAAG,IAAI,EACZ,IAAI,GAAG,CAAC,EACR,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACM;IACd,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,YAAY,OACP,KAAK,EACT,QAAQ,EAAE,YAAY,CAAS,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,EACvF,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,EACb,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,GAAI,IACnE,CAChB,CAAC;AACJ,CAAC"}
@@ -11,6 +11,7 @@ export interface ThemeSwitcherLabels {
11
11
  aa: string;
12
12
  aaa: string;
13
13
  }
14
+ export declare const themeSwitcherLabels: ThemeSwitcherLabels;
14
15
  export interface ThemeSwitcherProps extends ThemeOptions {
15
16
  /** Also offer AA and AAA, as the docs site does. */
16
17
  level?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"theme-switcher.d.ts","sourceRoot":"","sources":["../../src/ui/theme-switcher.tsx"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AAEpB,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAClC,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb;AAYD,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,mEAAmE;IACnE,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,oFAAoF;IACpF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QACjB,KAAK,EAAE,eAAe,CAAC;QACvB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;QAC3B,KAAK,EAAE,gBAAgB,CAAC;KACzB,KAAK,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EAAE,UAAkB,EACzB,YAAY,EACZ,YAAmB,EACnB,QAAQ,EACR,MAAM,EAAE,KAAK,EACb,SAAS,EACT,GAAG,OAAO,EACX,EAAE,kBAAkB,+BAgDpB"}
1
+ {"version":3,"file":"theme-switcher.d.ts","sourceRoot":"","sources":["../../src/ui/theme-switcher.tsx"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AAEpB,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAClC,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb;AAED,eAAO,MAAM,mBAAmB,EAAE,mBAQjC,CAAC;AAEF,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,mEAAmE;IACnE,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,oFAAoF;IACpF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QACjB,KAAK,EAAE,eAAe,CAAC;QACvB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;QAC3B,KAAK,EAAE,gBAAgB,CAAC;KACzB,KAAK,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EAAE,UAAkB,EACzB,YAAY,EACZ,YAAmB,EACnB,QAAQ,EACR,MAAM,EAAE,KAAK,EACb,SAAS,EACT,GAAG,OAAO,EACX,EAAE,kBAAkB,+BAgDpB"}
@@ -2,10 +2,10 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useCallback, useSyncExternalStore } from 'react';
4
4
  import { cn } from '../lib/cn.js';
5
- import { withLabels } from '../lib/labels.js';
5
+ import { useLabels } from '../lib/locale.js';
6
6
  import { Segment, SegmentedControl } from './segmented-control.js';
7
7
  import { applyLevel, applyTheme, readLevel, readTheme, resolveTheme, subscribeTheme, } from './theme.js';
8
- const themeSwitcherLabels = {
8
+ export const themeSwitcherLabels = {
9
9
  theme: 'Theme',
10
10
  light: 'Light',
11
11
  dark: 'Dark',
@@ -20,24 +20,24 @@ const themeSwitcherLabels = {
20
20
  * Use the same options as the page's ThemeScript.
21
21
  */
22
22
  export function ThemeSwitcher({ level: offerLevel = false, initialTheme, initialLevel = 'aa', onChange, labels: given, className, ...options }) {
23
- const labels = withLabels(themeSwitcherLabels, given);
23
+ const t = useLabels('themeSwitcher', themeSwitcherLabels, given);
24
24
  const { storage, key, levelKey, defaultTheme } = options;
25
25
  const subscribe = useCallback((cb) => subscribeTheme(cb, { storage, key, levelKey, defaultTheme }), [storage, key, levelKey, defaultTheme]);
26
26
  const theme = useSyncExternalStore(subscribe, () => readTheme(options), () => initialTheme ?? defaultTheme ?? 'system');
27
27
  const level = useSyncExternalStore(subscribe, readLevel, () => initialLevel);
28
- const report = (t, l) => onChange?.({ theme: t, resolved: resolveTheme(t), level: l });
29
- return (_jsxs("div", { className: cn('flex flex-wrap items-center gap-2', className), children: [_jsxs(SegmentedControl, { "aria-label": labels.theme, selectedKeys: [theme], onSelectionChange: (keys) => {
28
+ const report = (preference, l) => onChange?.({ theme: preference, resolved: resolveTheme(preference), level: l });
29
+ return (_jsxs("div", { className: cn('flex flex-wrap items-center gap-2', className), children: [_jsxs(SegmentedControl, { "aria-label": t('theme'), selectedKeys: [theme], onSelectionChange: (keys) => {
30
30
  const next = [...keys][0];
31
31
  if (next !== 'light' && next !== 'dark' && next !== 'system')
32
32
  return;
33
33
  applyTheme(next, options);
34
34
  report(next, level);
35
- }, children: [_jsx(Segment, { id: "light", children: labels.light }), _jsx(Segment, { id: "dark", children: labels.dark }), _jsx(Segment, { id: "system", children: labels.system })] }), offerLevel && (_jsxs(SegmentedControl, { "aria-label": labels.level, selectedKeys: [level], onSelectionChange: (keys) => {
35
+ }, children: [_jsx(Segment, { id: "light", children: t('light') }), _jsx(Segment, { id: "dark", children: t('dark') }), _jsx(Segment, { id: "system", children: t('system') })] }), offerLevel && (_jsxs(SegmentedControl, { "aria-label": t('level'), selectedKeys: [level], onSelectionChange: (keys) => {
36
36
  const next = [...keys][0];
37
37
  if (next !== 'aa' && next !== 'aaa')
38
38
  return;
39
39
  applyLevel(next, options);
40
40
  report(theme, next);
41
- }, children: [_jsx(Segment, { id: "aa", children: labels.aa }), _jsx(Segment, { id: "aaa", children: labels.aaa })] }))] }));
41
+ }, children: [_jsx(Segment, { id: "aa", children: t('aa') }), _jsx(Segment, { id: "aaa", children: t('aaa') })] }))] }));
42
42
  }
43
43
  //# sourceMappingURL=theme-switcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-switcher.js","sourceRoot":"","sources":["../../src/ui/theme-switcher.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme-switcher.js","sourceRoot":"","sources":["../../src/ui/theme-switcher.tsx"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ export interface ToasterLabels {
33
33
  /** Each toast's close button. */
34
34
  dismiss: string;
35
35
  }
36
+ export declare const toasterLabels: ToasterLabels;
36
37
  export declare function Toaster({ labels, className, }: {
37
38
  labels?: Partial<ToasterLabels>;
38
39
  className?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../src/ui/toast.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,mBAAmB,IAAI,UAAU,EAElC,MAAM,uBAAuB,CAAC;AAS/B,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gFAAgF;IAChF,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;CAClD;AAED,eAAO,MAAM,UAAU,0BAAwD,CAAC;AAEhF;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;CAAO,UAQ7F;AA8BD;;;;;;;;GAQG;AACH,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,OAAO,CAAC,EACtB,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BA8DA"}
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../src/ui/toast.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,mBAAmB,IAAI,UAAU,EAElC,MAAM,uBAAuB,CAAC;AAU/B,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gFAAgF;IAChF,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;CAClD;AAED,eAAO,MAAM,UAAU,0BAAwD,CAAC;AAEhF;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;CAAO,UAQ7F;AA8BD;;;;;;;;GAQG;AACH,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,aAAa,EAAE,aAAsC,CAAC;AAEnE,wBAAgB,OAAO,CAAC,EACtB,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BA+DA"}
package/dist/ui/toast.js CHANGED
@@ -5,6 +5,7 @@ import { Text, UNSTABLE_Toast as RACToast, UNSTABLE_ToastContent as RACToastCont
5
5
  import { useCallback, useRef } from 'react';
6
6
  import { CircleAlert, CircleCheck, Info, TriangleAlert, X } from 'lucide-react';
7
7
  import { cn } from '../lib/cn.js';
8
+ import { useLabels } from '../lib/locale.js';
8
9
  import { readMs } from '../lib/tokens.js';
9
10
  import { useOptionalShell } from '../shell/dashboard-shell.js';
10
11
  import { Button } from './button.js';
@@ -43,7 +44,9 @@ function useRegionHeight() {
43
44
  observer.current.observe(el);
44
45
  }, []);
45
46
  }
47
+ export const toasterLabels = { dismiss: 'Dismiss' };
46
48
  export function Toaster({ labels, className, }) {
49
+ const words = useLabels('toaster', toasterLabels, labels);
47
50
  const regionRef = useRegionHeight();
48
51
  // With the right panel open beside the page, the stack sits left of it: the panel's footer doesn't scroll,
49
52
  // so nothing could move its buttons clear of a toast.
@@ -54,7 +57,7 @@ export function Toaster({ labels, className, }) {
54
57
  return (_jsxs(RACToast, { toast: t, className: "flex items-start gap-3 rounded-lg border border-border bg-popover py-3 pr-2 pl-3 text-sm text-popover-foreground shadow-(--shadow-lg) outline-none data-focus-visible:focus-ring motion-safe:animate-[setsquare-toast_var(--duration-enter)_var(--ease-standard)]", children: [_jsx(tone.Icon, { "aria-hidden": "true", className: cn('mt-px size-5 shrink-0', tone.icon) }), _jsxs(RACToastContent, { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [_jsx(Text, { slot: "title", className: "font-semibold", children: t.content.title }), t.content.description && (_jsx(Text, { slot: "description", className: "text-[13px] leading-5 text-muted-foreground", children: t.content.description })), t.content.action && (_jsx("div", { className: "mt-2", children: _jsx(Button, { variant: "outline", visualSize: "sm", onPress: () => {
55
58
  t.content.action.onAction();
56
59
  toastQueue.close(t.key);
57
- }, children: t.content.action.label }) }))] }), _jsx(Button, { slot: "close", "aria-label": labels?.dismiss ?? 'Dismiss', variant: "ghost", visualSize: "icon-sm", className: "-my-0.5 shrink-0", children: _jsx(X, { "aria-hidden": "true" }) })] }));
60
+ }, children: t.content.action.label }) }))] }), _jsx(Button, { slot: "close", "aria-label": words('dismiss'), variant: "ghost", visualSize: "icon-sm", className: "-my-0.5 shrink-0", children: _jsx(X, { "aria-hidden": "true" }) })] }));
58
61
  } }));
59
62
  }
60
63
  //# sourceMappingURL=toast.js.map