@nibapp/ui 0.0.0-stage → 0.1.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 (292) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/LICENSE +21 -0
  3. package/README.md +124 -2
  4. package/TRADEMARKS.md +22 -0
  5. package/dist/_bundled/money/index.d.ts +98 -0
  6. package/dist/_bundled/money/index.js +152 -0
  7. package/dist/_bundled/tokens/index.d.ts +2 -0
  8. package/dist/_bundled/tokens/index.js +2 -0
  9. package/dist/_bundled/tokens/palette.gen.d.ts +51 -0
  10. package/dist/_bundled/tokens/palette.gen.js +206 -0
  11. package/dist/_bundled/tokens/spec.d.ts +291 -0
  12. package/dist/_bundled/tokens/spec.js +221 -0
  13. package/dist/components/accordion.d.ts +27 -0
  14. package/dist/components/accordion.js +66 -0
  15. package/dist/components/alert-dialog.d.ts +59 -0
  16. package/dist/components/alert-dialog.js +82 -0
  17. package/dist/components/alert.d.ts +141 -0
  18. package/dist/components/alert.js +55 -0
  19. package/dist/components/appear.d.ts +21 -0
  20. package/dist/components/appear.js +42 -0
  21. package/dist/components/avatar.d.ts +196 -0
  22. package/dist/components/avatar.js +135 -0
  23. package/dist/components/badge.d.ts +183 -0
  24. package/dist/components/badge.js +68 -0
  25. package/dist/components/block-stack.d.ts +33 -0
  26. package/dist/components/block-stack.js +197 -0
  27. package/dist/components/button.d.ts +327 -0
  28. package/dist/components/button.js +101 -0
  29. package/dist/components/card.d.ts +131 -0
  30. package/dist/components/card.js +100 -0
  31. package/dist/components/checkbox.d.ts +34 -0
  32. package/dist/components/checkbox.js +37 -0
  33. package/dist/components/choice-row.d.ts +104 -0
  34. package/dist/components/choice-row.js +56 -0
  35. package/dist/components/clamped-text.d.ts +17 -0
  36. package/dist/components/clamped-text.js +47 -0
  37. package/dist/components/code-block.d.ts +48 -0
  38. package/dist/components/code-block.js +124 -0
  39. package/dist/components/code-input.d.ts +49 -0
  40. package/dist/components/code-input.js +59 -0
  41. package/dist/components/combobox.d.ts +194 -0
  42. package/dist/components/combobox.js +176 -0
  43. package/dist/components/command-palette.d.ts +57 -0
  44. package/dist/components/command-palette.js +83 -0
  45. package/dist/components/context-menu.d.ts +24 -0
  46. package/dist/components/context-menu.js +30 -0
  47. package/dist/components/copy-button.d.ts +9 -0
  48. package/dist/components/copy-button.js +20 -0
  49. package/dist/components/copy-command.d.ts +18 -0
  50. package/dist/components/copy-command.js +19 -0
  51. package/dist/components/data-table.d.ts +240 -0
  52. package/dist/components/data-table.js +63 -0
  53. package/dist/components/dialog.d.ts +80 -0
  54. package/dist/components/dialog.js +85 -0
  55. package/dist/components/diff-lines.d.ts +20 -0
  56. package/dist/components/diff-lines.js +10 -0
  57. package/dist/components/diff-view.d.ts +128 -0
  58. package/dist/components/diff-view.js +675 -0
  59. package/dist/components/disclosure.d.ts +33 -0
  60. package/dist/components/disclosure.js +51 -0
  61. package/dist/components/drawn-check.d.ts +8 -0
  62. package/dist/components/drawn-check.js +16 -0
  63. package/dist/components/edge-resizer.d.ts +26 -0
  64. package/dist/components/edge-resizer.js +53 -0
  65. package/dist/components/empty-state.d.ts +112 -0
  66. package/dist/components/empty-state.js +56 -0
  67. package/dist/components/expand-toggle.d.ts +19 -0
  68. package/dist/components/expand-toggle.js +10 -0
  69. package/dist/components/field.d.ts +48 -0
  70. package/dist/components/field.js +60 -0
  71. package/dist/components/filter-chip.d.ts +47 -0
  72. package/dist/components/filter-chip.js +33 -0
  73. package/dist/components/group.d.ts +10 -0
  74. package/dist/components/group.js +9 -0
  75. package/dist/components/icon-text.d.ts +11 -0
  76. package/dist/components/icon-text.js +10 -0
  77. package/dist/components/image-sources.d.ts +57 -0
  78. package/dist/components/image-sources.js +58 -0
  79. package/dist/components/image-thumbnail.d.ts +34 -0
  80. package/dist/components/image-thumbnail.js +58 -0
  81. package/dist/components/image-viewer.d.ts +60 -0
  82. package/dist/components/image-viewer.js +411 -0
  83. package/dist/components/inline-edit.d.ts +22 -0
  84. package/dist/components/inline-edit.js +51 -0
  85. package/dist/components/input.d.ts +155 -0
  86. package/dist/components/input.js +109 -0
  87. package/dist/components/item-label.d.ts +11 -0
  88. package/dist/components/item-label.js +5 -0
  89. package/dist/components/item-row.d.ts +23 -0
  90. package/dist/components/item-row.js +19 -0
  91. package/dist/components/kbd.d.ts +55 -0
  92. package/dist/components/kbd.js +86 -0
  93. package/dist/components/link-policy.d.ts +24 -0
  94. package/dist/components/link-policy.js +32 -0
  95. package/dist/components/linked-text.d.ts +15 -0
  96. package/dist/components/linked-text.js +48 -0
  97. package/dist/components/loading-region.d.ts +18 -0
  98. package/dist/components/loading-region.js +17 -0
  99. package/dist/components/markdown.d.ts +34 -0
  100. package/dist/components/markdown.js +307 -0
  101. package/dist/components/menu.d.ts +132 -0
  102. package/dist/components/menu.js +102 -0
  103. package/dist/components/message-bubble.d.ts +57 -0
  104. package/dist/components/message-bubble.js +28 -0
  105. package/dist/components/meta-line.d.ts +28 -0
  106. package/dist/components/meta-line.js +36 -0
  107. package/dist/components/money-input.d.ts +23 -0
  108. package/dist/components/money-input.js +34 -0
  109. package/dist/components/native-select.d.ts +120 -0
  110. package/dist/components/native-select.js +85 -0
  111. package/dist/components/page-trail.d.ts +30 -0
  112. package/dist/components/page-trail.js +43 -0
  113. package/dist/components/page.d.ts +80 -0
  114. package/dist/components/page.js +60 -0
  115. package/dist/components/path-text.d.ts +8 -0
  116. package/dist/components/path-text.js +11 -0
  117. package/dist/components/percent-input.d.ts +20 -0
  118. package/dist/components/percent-input.js +32 -0
  119. package/dist/components/popover.d.ts +52 -0
  120. package/dist/components/popover.js +36 -0
  121. package/dist/components/progress.d.ts +389 -0
  122. package/dist/components/progress.js +142 -0
  123. package/dist/components/radio.d.ts +65 -0
  124. package/dist/components/radio.js +54 -0
  125. package/dist/components/remote-image-gate.d.ts +34 -0
  126. package/dist/components/remote-image-gate.js +60 -0
  127. package/dist/components/resizable.d.ts +23 -0
  128. package/dist/components/resizable.js +30 -0
  129. package/dist/components/rolling-number.d.ts +13 -0
  130. package/dist/components/rolling-number.js +69 -0
  131. package/dist/components/scroll-area.d.ts +17 -0
  132. package/dist/components/scroll-area.js +25 -0
  133. package/dist/components/section-label.d.ts +10 -0
  134. package/dist/components/section-label.js +21 -0
  135. package/dist/components/section-nav.d.ts +22 -0
  136. package/dist/components/section-nav.js +80 -0
  137. package/dist/components/segmented-control.d.ts +125 -0
  138. package/dist/components/segmented-control.js +101 -0
  139. package/dist/components/select.d.ts +120 -0
  140. package/dist/components/select.js +89 -0
  141. package/dist/components/separator.d.ts +10 -0
  142. package/dist/components/separator.js +12 -0
  143. package/dist/components/sheet.d.ts +101 -0
  144. package/dist/components/sheet.js +129 -0
  145. package/dist/components/shortcut-recorder.d.ts +31 -0
  146. package/dist/components/shortcut-recorder.js +67 -0
  147. package/dist/components/skeleton.d.ts +31 -0
  148. package/dist/components/skeleton.js +33 -0
  149. package/dist/components/slider.d.ts +138 -0
  150. package/dist/components/slider.js +98 -0
  151. package/dist/components/spinner.d.ts +37 -0
  152. package/dist/components/spinner.js +16 -0
  153. package/dist/components/switch.d.ts +59 -0
  154. package/dist/components/switch.js +56 -0
  155. package/dist/components/tab-strip.d.ts +29 -0
  156. package/dist/components/tab-strip.js +42 -0
  157. package/dist/components/tabs.d.ts +13 -0
  158. package/dist/components/tabs.js +68 -0
  159. package/dist/components/text-link.d.ts +54 -0
  160. package/dist/components/text-link.js +38 -0
  161. package/dist/components/textarea.d.ts +75 -0
  162. package/dist/components/textarea.js +90 -0
  163. package/dist/components/toast.d.ts +74 -0
  164. package/dist/components/toast.js +128 -0
  165. package/dist/components/tooltip.d.ts +50 -0
  166. package/dist/components/tooltip.js +46 -0
  167. package/dist/components/truncated-text.d.ts +15 -0
  168. package/dist/components/truncated-text.js +19 -0
  169. package/dist/i18n/defaults.d.ts +7 -0
  170. package/dist/i18n/defaults.js +7 -0
  171. package/dist/i18n/format.d.ts +84 -0
  172. package/dist/i18n/format.js +169 -0
  173. package/dist/i18n/index.d.ts +6 -0
  174. package/dist/i18n/index.js +8 -0
  175. package/dist/i18n/locales/ru-formatters.d.ts +3 -0
  176. package/dist/i18n/locales/ru-formatters.js +22 -0
  177. package/dist/i18n/locales/ru.d.ts +5 -0
  178. package/dist/i18n/locales/ru.js +185 -0
  179. package/dist/i18n/plural.d.ts +20 -0
  180. package/dist/i18n/plural.js +26 -0
  181. package/dist/i18n/provider.d.ts +36 -0
  182. package/dist/i18n/provider.js +39 -0
  183. package/dist/i18n/rich.d.ts +14 -0
  184. package/dist/i18n/rich.js +44 -0
  185. package/dist/i18n/ru-plural.d.ts +3 -0
  186. package/dist/i18n/ru-plural.js +4 -0
  187. package/dist/i18n/strings/alert-dialog.d.ts +5 -0
  188. package/dist/i18n/strings/alert-dialog.js +5 -0
  189. package/dist/i18n/strings/block-stack.d.ts +17 -0
  190. package/dist/i18n/strings/block-stack.js +11 -0
  191. package/dist/i18n/strings/code-block.d.ts +18 -0
  192. package/dist/i18n/strings/code-block.js +13 -0
  193. package/dist/i18n/strings/combobox.d.ts +12 -0
  194. package/dist/i18n/strings/combobox.js +10 -0
  195. package/dist/i18n/strings/command-palette.d.ts +17 -0
  196. package/dist/i18n/strings/command-palette.js +11 -0
  197. package/dist/i18n/strings/diff-view.d.ts +92 -0
  198. package/dist/i18n/strings/diff-view.js +68 -0
  199. package/dist/i18n/strings/image-viewer.d.ts +43 -0
  200. package/dist/i18n/strings/image-viewer.js +32 -0
  201. package/dist/i18n/strings/index.d.ts +314 -0
  202. package/dist/i18n/strings/index.js +43 -0
  203. package/dist/i18n/strings/kbd.d.ts +42 -0
  204. package/dist/i18n/strings/kbd.js +39 -0
  205. package/dist/i18n/strings/markdown.d.ts +23 -0
  206. package/dist/i18n/strings/markdown.js +18 -0
  207. package/dist/i18n/strings/money.d.ts +7 -0
  208. package/dist/i18n/strings/money.js +5 -0
  209. package/dist/i18n/strings/primitives.d.ts +25 -0
  210. package/dist/i18n/strings/primitives.js +18 -0
  211. package/dist/i18n/strings/progress.d.ts +4 -0
  212. package/dist/i18n/strings/progress.js +4 -0
  213. package/dist/i18n/strings/shortcut-recorder.d.ts +15 -0
  214. package/dist/i18n/strings/shortcut-recorder.js +11 -0
  215. package/dist/i18n/strings/time.d.ts +41 -0
  216. package/dist/i18n/strings/time.js +20 -0
  217. package/dist/i18n/strings/toast.d.ts +6 -0
  218. package/dist/i18n/strings/toast.js +6 -0
  219. package/dist/i18n/time-zones.d.ts +20 -0
  220. package/dist/i18n/time-zones.js +64 -0
  221. package/dist/index.d.ts +84 -0
  222. package/dist/index.js +88 -0
  223. package/dist/lib/ansi.d.ts +55 -0
  224. package/dist/lib/ansi.js +438 -0
  225. package/dist/lib/clock.d.ts +32 -0
  226. package/dist/lib/clock.js +106 -0
  227. package/dist/lib/cn.d.ts +12 -0
  228. package/dist/lib/cn.js +28 -0
  229. package/dist/lib/control-props.d.ts +21 -0
  230. package/dist/lib/control-props.js +14 -0
  231. package/dist/lib/direction.d.ts +13 -0
  232. package/dist/lib/direction.js +25 -0
  233. package/dist/lib/image-size.d.ts +12 -0
  234. package/dist/lib/image-size.js +66 -0
  235. package/dist/lib/keycaps.d.ts +21 -0
  236. package/dist/lib/keycaps.js +62 -0
  237. package/dist/lib/keyed.d.ts +9 -0
  238. package/dist/lib/keyed.js +14 -0
  239. package/dist/lib/keys.d.ts +49 -0
  240. package/dist/lib/keys.js +159 -0
  241. package/dist/lib/kit-motion.d.ts +9 -0
  242. package/dist/lib/kit-motion.js +12 -0
  243. package/dist/lib/link-check-dialog.d.ts +11 -0
  244. package/dist/lib/link-check-dialog.js +18 -0
  245. package/dist/lib/motion-features.d.ts +1 -0
  246. package/dist/lib/motion-features.js +4 -0
  247. package/dist/lib/motion-provider.d.ts +5 -0
  248. package/dist/lib/motion-provider.js +8 -0
  249. package/dist/lib/motion.d.ts +39 -0
  250. package/dist/lib/motion.js +49 -0
  251. package/dist/lib/number-format.d.ts +114 -0
  252. package/dist/lib/number-format.js +313 -0
  253. package/dist/lib/patch.d.ts +72 -0
  254. package/dist/lib/patch.js +344 -0
  255. package/dist/lib/path.d.ts +34 -0
  256. package/dist/lib/path.js +85 -0
  257. package/dist/lib/search.d.ts +10 -0
  258. package/dist/lib/search.js +20 -0
  259. package/dist/lib/shiki-themes.d.ts +7 -0
  260. package/dist/lib/shiki-themes.js +115 -0
  261. package/dist/lib/shiki.d.ts +101 -0
  262. package/dist/lib/shiki.js +353 -0
  263. package/dist/lib/shortcut-context.d.ts +23 -0
  264. package/dist/lib/shortcut-context.js +29 -0
  265. package/dist/lib/text.d.ts +56 -0
  266. package/dist/lib/text.js +149 -0
  267. package/dist/lib/theme-scope.d.ts +18 -0
  268. package/dist/lib/theme-scope.js +24 -0
  269. package/dist/lib/theme.d.ts +40 -0
  270. package/dist/lib/theme.js +96 -0
  271. package/dist/lib/tree-keys.d.ts +72 -0
  272. package/dist/lib/tree-keys.js +126 -0
  273. package/dist/lib/url.d.ts +17 -0
  274. package/dist/lib/url.js +38 -0
  275. package/dist/lib/use-copy-to-clipboard.d.ts +13 -0
  276. package/dist/lib/use-copy-to-clipboard.js +40 -0
  277. package/dist/lib/use-delayed-loading.d.ts +11 -0
  278. package/dist/lib/use-delayed-loading.js +31 -0
  279. package/dist/lib/use-file-picker.d.ts +26 -0
  280. package/dist/lib/use-file-picker.js +43 -0
  281. package/dist/lib/use-hydrated.d.ts +6 -0
  282. package/dist/lib/use-hydrated.js +11 -0
  283. package/dist/lib/use-latest.d.ts +12 -0
  284. package/dist/lib/use-latest.js +22 -0
  285. package/dist/lib/use-resolved-theme.d.ts +12 -0
  286. package/dist/lib/use-resolved-theme.js +25 -0
  287. package/dist/styles/base.css +393 -0
  288. package/dist/styles/code.css +35 -0
  289. package/dist/styles/fonts.css +12 -0
  290. package/dist/styles/index.css +13 -0
  291. package/dist/styles/tokens.gen.css +494 -0
  292. package/package.json +208 -4
@@ -0,0 +1,314 @@
1
+ declare const en: {
2
+ money: {
3
+ spokenDust: (p: {
4
+ amount: string;
5
+ }) => string;
6
+ };
7
+ imageViewer: {
8
+ open: (p: {
9
+ alt: string;
10
+ }) => string;
11
+ untitled: string;
12
+ position: (p: {
13
+ index: number;
14
+ total: number;
15
+ }) => string;
16
+ previous: string;
17
+ next: string;
18
+ zoomIn: string;
19
+ zoomOut: string;
20
+ fit: string;
21
+ actualSize: string;
22
+ copy: string;
23
+ copied: string;
24
+ copyFailed: string;
25
+ save: string;
26
+ loading: string;
27
+ failed: string;
28
+ tooLarge: (p: {
29
+ size?: string | undefined;
30
+ }) => string;
31
+ remote: (p: {
32
+ host: string;
33
+ }) => string;
34
+ remoteHost: (p: {
35
+ host: string;
36
+ }) => string;
37
+ openInBrowser: string;
38
+ };
39
+ time: {
40
+ now: string;
41
+ yesterday: string;
42
+ millisecondsShort: (p: {
43
+ value: string;
44
+ }) => string;
45
+ secondsShort: (p: {
46
+ value: string;
47
+ }) => string;
48
+ minutesSecondsShort: (p: {
49
+ minutes: string;
50
+ seconds: string;
51
+ }) => string;
52
+ hoursMinutesShort: (p: {
53
+ hours: string;
54
+ minutes: string;
55
+ }) => string;
56
+ minutesShort: (p: {
57
+ value: string;
58
+ }) => string;
59
+ hoursShort: (p: {
60
+ value: string;
61
+ }) => string;
62
+ daysShort: (p: {
63
+ value: string;
64
+ }) => string;
65
+ minutes: (p: {
66
+ count: number;
67
+ }) => string;
68
+ hours: (p: {
69
+ count: number;
70
+ }) => string;
71
+ days: (p: {
72
+ count: number;
73
+ }) => string;
74
+ };
75
+ alertDialog: {
76
+ confirm: string;
77
+ cancel: string;
78
+ };
79
+ combobox: {
80
+ clearSelection: string;
81
+ showOptions: string;
82
+ remove: string;
83
+ removeItem: (p: {
84
+ label: string;
85
+ }) => string;
86
+ noMatches: string;
87
+ };
88
+ commandPalette: {
89
+ placeholder: string;
90
+ label: string;
91
+ loadingResults: string;
92
+ searching: string;
93
+ noResults: string;
94
+ nothingMatches: (p: {
95
+ query: string;
96
+ }) => string;
97
+ hints: {
98
+ navigate: string;
99
+ select: string;
100
+ close: string;
101
+ };
102
+ };
103
+ kbd: {
104
+ keys: {
105
+ ctrl: string;
106
+ alt: string;
107
+ shift: string;
108
+ enter: string;
109
+ esc: string;
110
+ tab: string;
111
+ space: string;
112
+ };
113
+ spoken: {
114
+ command: string;
115
+ control: string;
116
+ option: string;
117
+ alt: string;
118
+ shift: string;
119
+ return: string;
120
+ enter: string;
121
+ escape: string;
122
+ tab: string;
123
+ space: string;
124
+ upArrow: string;
125
+ downArrow: string;
126
+ leftArrow: string;
127
+ rightArrow: string;
128
+ delete: string;
129
+ backspace: string;
130
+ forwardDelete: string;
131
+ repeated: (p: {
132
+ key: string;
133
+ count: number;
134
+ }) => string;
135
+ };
136
+ };
137
+ progress: {
138
+ indeterminate: string;
139
+ };
140
+ blockStack: {
141
+ reorder: (p: {
142
+ title: string;
143
+ }) => string;
144
+ grip: string;
145
+ reorderHint: string;
146
+ moved: (p: {
147
+ title: string;
148
+ position: number;
149
+ count: number;
150
+ }) => string;
151
+ };
152
+ toast: {
153
+ notifications: string;
154
+ close: string;
155
+ };
156
+ shortcutRecorder: {
157
+ change: string;
158
+ recording: string;
159
+ off: string;
160
+ needsModifier: (p: {
161
+ modifiers: string;
162
+ }) => string;
163
+ needsModifierOrFunctionKey: (p: {
164
+ modifiers: string;
165
+ }) => string;
166
+ };
167
+ codeBlock: {
168
+ copy: string;
169
+ copied: string;
170
+ copiedAnnouncement: string;
171
+ copyCommand: (p: {
172
+ command: string;
173
+ }) => string;
174
+ copyLabelledCommand: (p: {
175
+ label: string;
176
+ command: string;
177
+ }) => string;
178
+ copyCode: string;
179
+ };
180
+ diffView: {
181
+ changeKinds: {
182
+ new: string;
183
+ deleted: string;
184
+ renamed: string;
185
+ };
186
+ stats: (p: {
187
+ additions: number;
188
+ deletions: number;
189
+ }) => string;
190
+ expandFile: (p: {
191
+ path: string;
192
+ }) => string;
193
+ collapseFile: (p: {
194
+ path: string;
195
+ }) => string;
196
+ copyFile: string;
197
+ copyPatch: string;
198
+ showUnchangedLines: string;
199
+ showAllLines: string;
200
+ collapseUnchangedLines: string;
201
+ softWrap: string;
202
+ wrapLines: string;
203
+ unwrapLines: string;
204
+ splitView: string;
205
+ unifiedView: string;
206
+ switchToSplit: string;
207
+ switchToUnified: string;
208
+ expandLines: {
209
+ up: string;
210
+ down: string;
211
+ both: string;
212
+ };
213
+ noChanges: string;
214
+ nothingToCompare: string;
215
+ hunk: {
216
+ label: (p: {
217
+ index: number;
218
+ } & {
219
+ total: number;
220
+ }) => string;
221
+ position: (p: {
222
+ index: number;
223
+ } & {
224
+ total: number;
225
+ }) => string;
226
+ ask: string;
227
+ askLabel: (p: {
228
+ index: number;
229
+ }) => string;
230
+ comment: string;
231
+ commentLabel: (p: {
232
+ index: number;
233
+ }) => string;
234
+ revert: string;
235
+ revertLabel: (p: {
236
+ index: number;
237
+ }) => string;
238
+ accept: string;
239
+ acceptLabel: (p: {
240
+ index: number;
241
+ }) => string;
242
+ accepted: string;
243
+ reverted: string;
244
+ };
245
+ comment: {
246
+ you: string;
247
+ line: (p: {
248
+ line: number;
249
+ }) => string;
250
+ remove: (p: {
251
+ line: number;
252
+ }) => string;
253
+ onOldLine: (p: {
254
+ line: number;
255
+ }) => string;
256
+ onNewLine: (p: {
257
+ line: number;
258
+ }) => string;
259
+ placeholder: string;
260
+ toAdd: (p: {
261
+ keys: string;
262
+ }) => string;
263
+ cancel: string;
264
+ submit: string;
265
+ };
266
+ };
267
+ markdown: {
268
+ taskDone: string;
269
+ taskTodo: string;
270
+ remoteImage: (p: {
271
+ host: string;
272
+ }) => string;
273
+ remoteImageNamed: (p: {
274
+ alt: string;
275
+ host: string;
276
+ }) => string;
277
+ loadImage: string;
278
+ linkCheck: {
279
+ title: string;
280
+ description: string;
281
+ open: string;
282
+ copy: string;
283
+ copied: string;
284
+ cancel: string;
285
+ };
286
+ };
287
+ primitives: {
288
+ close: string;
289
+ dismiss: string;
290
+ clearSearch: string;
291
+ showMore: string;
292
+ showLess: string;
293
+ avatarStatus: {
294
+ online: string;
295
+ busy: string;
296
+ away: string;
297
+ offline: string;
298
+ };
299
+ moreAvatars: (p: {
300
+ count: number;
301
+ }) => string;
302
+ trail: string;
303
+ };
304
+ };
305
+ type AnyFunction = (...args: never[]) => unknown;
306
+ /** A table's type as its readers see it: every level read-only, functions as they are. */
307
+ export type DeepReadonly<T> = T extends AnyFunction ? T : T extends object ? {
308
+ readonly [K in keyof T]: DeepReadonly<T[K]>;
309
+ } : T;
310
+ /** Every user-facing string of the kit's components, by namespace. */
311
+ export type UiStrings = DeepReadonly<typeof en>;
312
+ /** The English strings: the shape every other language's table matches in full. */
313
+ export declare const EN_UI_STRINGS: UiStrings;
314
+ export {};
@@ -0,0 +1,43 @@
1
+ /**
2
+ * The kit's English strings, one file per namespace: every word its components show, aria-labels and
3
+ * tooltips included, plus the shared formatter words (`time`, `money`). Adding a namespace: create
4
+ * `strings/<kebab-name>.ts` exporting a camelCase const (`export const fooBar = { … }`, no `as const`,
5
+ * so values widen to `string` and functions keep their param types), import it below and add it to
6
+ * `en`. Strings are plain strings; anything parameterised is a function taking ONE params object
7
+ * (`(p: { count: number }) => string`). Another language is a complete `UiStrings` table
8
+ * (`@nibapp/ui/locales/ru`), handed to `UiI18nProvider`.
9
+ */
10
+ import { alertDialog } from "./alert-dialog.js";
11
+ import { blockStack } from "./block-stack.js";
12
+ import { codeBlock } from "./code-block.js";
13
+ import { combobox } from "./combobox.js";
14
+ import { commandPalette } from "./command-palette.js";
15
+ import { diffView } from "./diff-view.js";
16
+ import { imageViewer } from "./image-viewer.js";
17
+ import { kbd } from "./kbd.js";
18
+ import { markdown } from "./markdown.js";
19
+ import { money } from "./money.js";
20
+ import { primitives } from "./primitives.js";
21
+ import { progress } from "./progress.js";
22
+ import { shortcutRecorder } from "./shortcut-recorder.js";
23
+ import { time } from "./time.js";
24
+ import { toast } from "./toast.js";
25
+ const en = {
26
+ money,
27
+ imageViewer,
28
+ time,
29
+ alertDialog,
30
+ combobox,
31
+ commandPalette,
32
+ kbd,
33
+ progress,
34
+ blockStack,
35
+ toast,
36
+ shortcutRecorder,
37
+ codeBlock,
38
+ diffView,
39
+ markdown,
40
+ primitives,
41
+ };
42
+ /** The English strings: the shape every other language's table matches in full. */
43
+ export const EN_UI_STRINGS = en;
@@ -0,0 +1,42 @@
1
+ /**
2
+ * `kbd.*`: keycap words (non-Apple platforms; Apple uses ⌘ ⌥ ⇧ ↵ glyphs) and the spoken key names
3
+ * a screen reader hears for a shortcut ("Command K", "Control Shift F").
4
+ */
5
+ export declare const kbd: {
6
+ keys: {
7
+ ctrl: string;
8
+ alt: string;
9
+ shift: string;
10
+ enter: string;
11
+ esc: string;
12
+ tab: string;
13
+ space: string;
14
+ };
15
+ spoken: {
16
+ command: string;
17
+ control: string;
18
+ option: string;
19
+ alt: string;
20
+ shift: string;
21
+ /** Apple's name for Enter. */
22
+ return: string;
23
+ enter: string;
24
+ escape: string;
25
+ tab: string;
26
+ space: string;
27
+ upArrow: string;
28
+ downArrow: string;
29
+ leftArrow: string;
30
+ rightArrow: string;
31
+ /** Apple's ⌫. */
32
+ delete: string;
33
+ backspace: string;
34
+ /** Apple's ⌦. */
35
+ forwardDelete: string;
36
+ /** A key pressed several times in a row ("Escape twice"). */
37
+ repeated: (p: {
38
+ key: string;
39
+ count: number;
40
+ }) => string;
41
+ };
42
+ };
@@ -0,0 +1,39 @@
1
+ /**
2
+ * `kbd.*`: keycap words (non-Apple platforms; Apple uses ⌘ ⌥ ⇧ ↵ glyphs) and the spoken key names
3
+ * a screen reader hears for a shortcut ("Command K", "Control Shift F").
4
+ */
5
+ export const kbd = {
6
+ keys: {
7
+ ctrl: "Ctrl",
8
+ alt: "Alt",
9
+ shift: "Shift",
10
+ enter: "Enter",
11
+ esc: "Esc",
12
+ tab: "Tab",
13
+ space: "Space",
14
+ },
15
+ spoken: {
16
+ command: "Command",
17
+ control: "Control",
18
+ option: "Option",
19
+ alt: "Alt",
20
+ shift: "Shift",
21
+ /** Apple's name for Enter. */
22
+ return: "Return",
23
+ enter: "Enter",
24
+ escape: "Escape",
25
+ tab: "Tab",
26
+ space: "Space",
27
+ upArrow: "Up arrow",
28
+ downArrow: "Down arrow",
29
+ leftArrow: "Left arrow",
30
+ rightArrow: "Right arrow",
31
+ /** Apple's ⌫. */
32
+ delete: "Delete",
33
+ backspace: "Backspace",
34
+ /** Apple's ⌦. */
35
+ forwardDelete: "Forward delete",
36
+ /** A key pressed several times in a row ("Escape twice"). */
37
+ repeated: (p) => p.count === 2 ? `${p.key} twice` : `${p.key} ${p.count} times`,
38
+ },
39
+ };
@@ -0,0 +1,23 @@
1
+ /** `markdown.*`: <Markdown>'s task-list checkboxes (read-only, so only their state is named). */
2
+ export declare const markdown: {
3
+ taskDone: string;
4
+ taskTodo: string;
5
+ /** A remote image waiting for the reader (not fetched until "Load image"). */
6
+ remoteImage: (p: {
7
+ host: string;
8
+ }) => string;
9
+ remoteImageNamed: (p: {
10
+ alt: string;
11
+ host: string;
12
+ }) => string;
13
+ loadImage: string;
14
+ /** A link whose words aren't its address, before it opens (`LinkPolicy` `check`). */
15
+ linkCheck: {
16
+ title: string;
17
+ description: string;
18
+ open: string;
19
+ copy: string;
20
+ copied: string;
21
+ cancel: string;
22
+ };
23
+ };
@@ -0,0 +1,18 @@
1
+ /** `markdown.*`: <Markdown>'s task-list checkboxes (read-only, so only their state is named). */
2
+ export const markdown = {
3
+ taskDone: "Done",
4
+ taskTodo: "To do",
5
+ /** A remote image waiting for the reader (not fetched until "Load image"). */
6
+ remoteImage: (p) => `Image from ${p.host}`,
7
+ remoteImageNamed: (p) => `${p.alt} · ${p.host}`,
8
+ loadImage: "Load image",
9
+ /** A link whose words aren't its address, before it opens (`LinkPolicy` `check`). */
10
+ linkCheck: {
11
+ title: "Open this link?",
12
+ description: "It goes to this address:",
13
+ open: "Open",
14
+ copy: "Copy address",
15
+ copied: "Copied",
16
+ cancel: "Cancel",
17
+ },
18
+ };
@@ -0,0 +1,7 @@
1
+ /** `money.*`: the words of the shared money formatters (`useFormatters()`): a spoken amount too small to show. */
2
+ export declare const money: {
3
+ /** A spend too small to show, with the smallest amount in words ("0.01 US dollars"). */
4
+ spokenDust: (p: {
5
+ amount: string;
6
+ }) => string;
7
+ };
@@ -0,0 +1,5 @@
1
+ /** `money.*`: the words of the shared money formatters (`useFormatters()`): a spoken amount too small to show. */
2
+ export const money = {
3
+ /** A spend too small to show, with the smallest amount in words ("0.01 US dollars"). */
4
+ spokenDust: (p) => `less than ${p.amount}`,
5
+ };
@@ -0,0 +1,25 @@
1
+ /** `primitives.*`: the built-in labels of the generic components (a label prop always wins). */
2
+ export declare const primitives: {
3
+ /** Icon-only close of Dialog, Popover and Sheet. */
4
+ close: string;
5
+ /** Alert's dismiss button. */
6
+ dismiss: string;
7
+ /** SearchInput's clear button (with `onClear`). */
8
+ clearSearch: string;
9
+ /** ClampedText's toggle: the rest of the text, and back. */
10
+ showMore: string;
11
+ showLess: string;
12
+ /** An Avatar's presence, spoken after the name. */
13
+ avatarStatus: {
14
+ online: string;
15
+ busy: string;
16
+ away: string;
17
+ offline: string;
18
+ };
19
+ /** AvatarGroup's "+N" chip, spoken: the people not shown. */
20
+ moreAvatars: (p: {
21
+ count: number;
22
+ }) => string;
23
+ /** PageTrail's landmark: the places above a page, each a link back. */
24
+ trail: string;
25
+ };
@@ -0,0 +1,18 @@
1
+ /** `primitives.*`: the built-in labels of the generic components (a label prop always wins). */
2
+ export const primitives = {
3
+ /** Icon-only close of Dialog, Popover and Sheet. */
4
+ close: "Close",
5
+ /** Alert's dismiss button. */
6
+ dismiss: "Dismiss",
7
+ /** SearchInput's clear button (with `onClear`). */
8
+ clearSearch: "Clear search",
9
+ /** ClampedText's toggle: the rest of the text, and back. */
10
+ showMore: "Show more",
11
+ showLess: "Show less",
12
+ /** An Avatar's presence, spoken after the name. */
13
+ avatarStatus: { online: "online", busy: "busy", away: "away", offline: "offline" },
14
+ /** AvatarGroup's "+N" chip, spoken: the people not shown. */
15
+ moreAvatars: (p) => `${p.count} more`,
16
+ /** PageTrail's landmark: the places above a page, each a link back. */
17
+ trail: "Breadcrumb",
18
+ };
@@ -0,0 +1,4 @@
1
+ /** `progress.*`: what a screen reader hears for an indeterminate `Progress`. */
2
+ export declare const progress: {
3
+ indeterminate: string;
4
+ };
@@ -0,0 +1,4 @@
1
+ /** `progress.*`: what a screen reader hears for an indeterminate `Progress`. */
2
+ export const progress = {
3
+ indeterminate: "indeterminate progress",
4
+ };
@@ -0,0 +1,15 @@
1
+ /** `shortcutRecorder.*`: the control that records a keyboard shortcut (dictation, bringing the app forward). */
2
+ export declare const shortcutRecorder: {
3
+ change: string;
4
+ /** While recording: the next combination becomes the shortcut. */
5
+ recording: string;
6
+ /** No shortcut is set. */
7
+ off: string;
8
+ /** After a press that can't be a shortcut; `modifiers` is a list of keys ("⌘ or ⌥"). */
9
+ needsModifier: (p: {
10
+ modifiers: string;
11
+ }) => string;
12
+ needsModifierOrFunctionKey: (p: {
13
+ modifiers: string;
14
+ }) => string;
15
+ };
@@ -0,0 +1,11 @@
1
+ /** `shortcutRecorder.*`: the control that records a keyboard shortcut (dictation, bringing the app forward). */
2
+ export const shortcutRecorder = {
3
+ change: "Change",
4
+ /** While recording: the next combination becomes the shortcut. */
5
+ recording: "Press the keys…",
6
+ /** No shortcut is set. */
7
+ off: "Off",
8
+ /** After a press that can't be a shortcut; `modifiers` is a list of keys ("⌘ or ⌥"). */
9
+ needsModifier: (p) => `Use a combination with ${p.modifiers}.`,
10
+ needsModifierOrFunctionKey: (p) => `Use a combination with ${p.modifiers}, or a function key.`,
11
+ };
@@ -0,0 +1,41 @@
1
+ /**
2
+ * `time.*`: the words of the shared time formatters (`useFormatters()`): relative times ("now",
3
+ * "4m", "yesterday"), durations ("850ms", "4.2s", "3m 05s", "2h 05m") and spans ("12m", "3h", "2d", spoken
4
+ * "12 minutes"). Numbers arrive formatted for the locale.
5
+ */
6
+ export declare const time: {
7
+ now: string;
8
+ yesterday: string;
9
+ millisecondsShort: (p: {
10
+ value: string;
11
+ }) => string;
12
+ secondsShort: (p: {
13
+ value: string;
14
+ }) => string;
15
+ minutesSecondsShort: (p: {
16
+ minutes: string;
17
+ seconds: string;
18
+ }) => string;
19
+ hoursMinutesShort: (p: {
20
+ hours: string;
21
+ minutes: string;
22
+ }) => string;
23
+ minutesShort: (p: {
24
+ value: string;
25
+ }) => string;
26
+ hoursShort: (p: {
27
+ value: string;
28
+ }) => string;
29
+ daysShort: (p: {
30
+ value: string;
31
+ }) => string;
32
+ minutes: (p: {
33
+ count: number;
34
+ }) => string;
35
+ hours: (p: {
36
+ count: number;
37
+ }) => string;
38
+ days: (p: {
39
+ count: number;
40
+ }) => string;
41
+ };
@@ -0,0 +1,20 @@
1
+ import { plural } from "../plural.js";
2
+ /**
3
+ * `time.*`: the words of the shared time formatters (`useFormatters()`): relative times ("now",
4
+ * "4m", "yesterday"), durations ("850ms", "4.2s", "3m 05s", "2h 05m") and spans ("12m", "3h", "2d", spoken
5
+ * "12 minutes"). Numbers arrive formatted for the locale.
6
+ */
7
+ export const time = {
8
+ now: "now",
9
+ yesterday: "yesterday",
10
+ millisecondsShort: (p) => `${p.value}ms`,
11
+ secondsShort: (p) => `${p.value}s`,
12
+ minutesSecondsShort: (p) => `${p.minutes}m ${p.seconds}s`,
13
+ hoursMinutesShort: (p) => `${p.hours}h ${p.minutes}m`,
14
+ minutesShort: (p) => `${p.value}m`,
15
+ hoursShort: (p) => `${p.value}h`,
16
+ daysShort: (p) => `${p.value}d`,
17
+ minutes: (p) => plural("en", p.count, { one: "# minute", other: "# minutes" }),
18
+ hours: (p) => plural("en", p.count, { one: "# hour", other: "# hours" }),
19
+ days: (p) => plural("en", p.count, { one: "# day", other: "# days" }),
20
+ };
@@ -0,0 +1,6 @@
1
+ /** `toast.*`: the `Toaster` region's name and each toast's close button. */
2
+ export declare const toast: {
3
+ /** The toast stack's landmark region (F6 jumps to it). */
4
+ notifications: string;
5
+ close: string;
6
+ };
@@ -0,0 +1,6 @@
1
+ /** `toast.*`: the `Toaster` region's name and each toast's close button. */
2
+ export const toast = {
3
+ /** The toast stack's landmark region (F6 jumps to it). */
4
+ notifications: "Notifications",
5
+ close: "Close toast",
6
+ };
@@ -0,0 +1,20 @@
1
+ /** One choice in the time-zone picker. */
2
+ export interface TimeZoneOption {
3
+ /** The IANA name the account stores ("Europe/Moscow"). */
4
+ readonly value: string;
5
+ /** What the person reads and searches: the city, its zone in their language, the offset now. */
6
+ readonly label: string;
7
+ /** The region ("Europe", "America"), for grouping. */
8
+ readonly group: string;
9
+ }
10
+ /** A zone under its current IANA name ("Asia/Calcutta" → "Asia/Kolkata"). */
11
+ export declare function currentZoneName(zone: string): string;
12
+ /** "Europe/Moscow" → "Moscow"; "America/Argentina/Buenos_Aires" → "Buenos Aires". */
13
+ export declare function zoneCity(zone: string): string;
14
+ /** One zone as the picker labels it in `locale`: "Moscow · Moscow Standard Time (GMT+3)". */
15
+ export declare function zoneLabel(zone: string, locale: string, now?: Date): string;
16
+ /**
17
+ * Every zone the runtime knows (plus `include`, e.g. the account's when it isn't listed), labelled in
18
+ * `locale` ({@link zoneLabel}). Sorted by region, then city.
19
+ */
20
+ export declare function timeZoneOptions(locale: string, include?: string, now?: Date): TimeZoneOption[];