@sincpro/web-ui 0.0.0-stage → 0.2.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 (376) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +184 -2
  3. package/dist/components/activity/Activity.d.ts +69 -0
  4. package/dist/components/activity/Activity.js +279 -0
  5. package/dist/components/activity/Messages.d.ts +66 -0
  6. package/dist/components/activity/Messages.js +46 -0
  7. package/dist/components/activity/Timeline.d.ts +21 -0
  8. package/dist/components/activity/Timeline.js +30 -0
  9. package/dist/components/activity/index.d.ts +3 -0
  10. package/dist/components/activity/index.js +4 -0
  11. package/dist/components/assist/AssistMark.d.ts +64 -0
  12. package/dist/components/assist/AssistMark.js +108 -0
  13. package/dist/components/assist/AssistPending.d.ts +24 -0
  14. package/dist/components/assist/AssistPending.js +26 -0
  15. package/dist/components/assist/AssistSuggestion.d.ts +42 -0
  16. package/dist/components/assist/AssistSuggestion.js +55 -0
  17. package/dist/components/assist/ChangeReview.d.ts +56 -0
  18. package/dist/components/assist/ChangeReview.js +121 -0
  19. package/dist/components/assist/assist.d.ts +77 -0
  20. package/dist/components/assist/assist.js +87 -0
  21. package/dist/components/assist/index.d.ts +5 -0
  22. package/dist/components/assist/index.js +7 -0
  23. package/dist/components/form/Form.d.ts +52 -0
  24. package/dist/components/form/Form.js +49 -0
  25. package/dist/components/form/Sheet.d.ts +47 -0
  26. package/dist/components/form/Sheet.js +90 -0
  27. package/dist/components/form/index.d.ts +2 -0
  28. package/dist/components/form/index.js +4 -0
  29. package/dist/components/frame/Chart.d.ts +13 -0
  30. package/dist/components/frame/Chart.js +24 -0
  31. package/dist/components/frame/FrameView.d.ts +33 -0
  32. package/dist/components/frame/FrameView.js +125 -0
  33. package/dist/components/frame/index.d.ts +3 -0
  34. package/dist/components/frame/index.js +3 -0
  35. package/dist/components/frame/model.d.ts +43 -0
  36. package/dist/components/frame/model.js +101 -0
  37. package/dist/components/index.d.ts +10 -0
  38. package/dist/components/index.js +11 -0
  39. package/dist/components/lines/LineItems.d.ts +111 -0
  40. package/dist/components/lines/LineItems.js +317 -0
  41. package/dist/components/lines/index.d.ts +1 -0
  42. package/dist/components/lines/index.js +2 -0
  43. package/dist/components/lines/lines.d.ts +23 -0
  44. package/dist/components/lines/lines.js +26 -0
  45. package/dist/components/listing/ColumnsMenu.d.ts +20 -0
  46. package/dist/components/listing/ColumnsMenu.js +46 -0
  47. package/dist/components/listing/GroupingLevels.d.ts +35 -0
  48. package/dist/components/listing/GroupingLevels.js +45 -0
  49. package/dist/components/listing/Listing.d.ts +27 -0
  50. package/dist/components/listing/Listing.js +86 -0
  51. package/dist/components/listing/ListingBar.d.ts +112 -0
  52. package/dist/components/listing/ListingBar.js +144 -0
  53. package/dist/components/listing/Pagination.d.ts +36 -0
  54. package/dist/components/listing/Pagination.js +69 -0
  55. package/dist/components/listing/RecordCard.d.ts +33 -0
  56. package/dist/components/listing/RecordCard.js +22 -0
  57. package/dist/components/listing/RecordLink.d.ts +7 -0
  58. package/dist/components/listing/RecordLink.js +22 -0
  59. package/dist/components/listing/Row.d.ts +110 -0
  60. package/dist/components/listing/Row.js +123 -0
  61. package/dist/components/listing/SortMenu.d.ts +62 -0
  62. package/dist/components/listing/SortMenu.js +105 -0
  63. package/dist/components/listing/ViewSwitcher.d.ts +24 -0
  64. package/dist/components/listing/ViewSwitcher.js +16 -0
  65. package/dist/components/listing/columns.d.ts +47 -0
  66. package/dist/components/listing/columns.js +72 -0
  67. package/dist/components/listing/grouping.d.ts +35 -0
  68. package/dist/components/listing/grouping.js +47 -0
  69. package/dist/components/listing/index.d.ts +17 -0
  70. package/dist/components/listing/index.js +20 -0
  71. package/dist/components/listing/modelColumns.d.ts +50 -0
  72. package/dist/components/listing/modelColumns.js +103 -0
  73. package/dist/components/listing/pages.d.ts +78 -0
  74. package/dist/components/listing/pages.js +135 -0
  75. package/dist/components/listing/selection.d.ts +21 -0
  76. package/dist/components/listing/selection.js +43 -0
  77. package/dist/components/listing/set.d.ts +48 -0
  78. package/dist/components/listing/set.js +24 -0
  79. package/dist/components/listing/tree.d.ts +28 -0
  80. package/dist/components/listing/tree.js +23 -0
  81. package/dist/components/navigation/CommandPalette.d.ts +40 -0
  82. package/dist/components/navigation/CommandPalette.js +114 -0
  83. package/dist/components/navigation/NavigationTree.d.ts +31 -0
  84. package/dist/components/navigation/NavigationTree.js +79 -0
  85. package/dist/components/navigation/commands.d.ts +30 -0
  86. package/dist/components/navigation/commands.js +30 -0
  87. package/dist/components/navigation/index.d.ts +3 -0
  88. package/dist/components/navigation/index.js +4 -0
  89. package/dist/components/record/Breadcrumb.d.ts +42 -0
  90. package/dist/components/record/Breadcrumb.js +98 -0
  91. package/dist/components/record/DirtyActions.d.ts +26 -0
  92. package/dist/components/record/DirtyActions.js +22 -0
  93. package/dist/components/record/Pager.d.ts +18 -0
  94. package/dist/components/record/Pager.js +33 -0
  95. package/dist/components/record/RecordHeader.d.ts +75 -0
  96. package/dist/components/record/RecordHeader.js +104 -0
  97. package/dist/components/record/RecordNotices.d.ts +37 -0
  98. package/dist/components/record/RecordNotices.js +75 -0
  99. package/dist/components/record/RecordSkeleton.d.ts +3 -0
  100. package/dist/components/record/RecordSkeleton.js +21 -0
  101. package/dist/components/record/SmartButtons.d.ts +35 -0
  102. package/dist/components/record/SmartButtons.js +38 -0
  103. package/dist/components/record/StatusBar.d.ts +51 -0
  104. package/dist/components/record/StatusBar.js +168 -0
  105. package/dist/components/record/ThumbBar.d.ts +36 -0
  106. package/dist/components/record/ThumbBar.js +86 -0
  107. package/dist/components/record/index.d.ts +6 -0
  108. package/dist/components/record/index.js +8 -0
  109. package/dist/components/search/CriteriaBuilder.d.ts +58 -0
  110. package/dist/components/search/CriteriaBuilder.js +278 -0
  111. package/dist/components/search/CriteriaChips.d.ts +22 -0
  112. package/dist/components/search/CriteriaChips.js +64 -0
  113. package/dist/components/search/FilterBuilder.d.ts +142 -0
  114. package/dist/components/search/FilterBuilder.js +421 -0
  115. package/dist/components/search/JoinWord.d.ts +8 -0
  116. package/dist/components/search/JoinWord.js +47 -0
  117. package/dist/components/search/JsonEditor.d.ts +19 -0
  118. package/dist/components/search/JsonEditor.js +78 -0
  119. package/dist/components/search/SearchBar.d.ts +78 -0
  120. package/dist/components/search/SearchBar.js +387 -0
  121. package/dist/components/search/criteria.d.ts +116 -0
  122. package/dist/components/search/criteria.js +159 -0
  123. package/dist/components/search/datePeriods.d.ts +122 -0
  124. package/dist/components/search/datePeriods.js +134 -0
  125. package/dist/components/search/dateRanges.d.ts +54 -0
  126. package/dist/components/search/dateRanges.js +89 -0
  127. package/dist/components/search/index.d.ts +9 -0
  128. package/dist/components/search/index.js +20 -0
  129. package/dist/components/search/model.d.ts +54 -0
  130. package/dist/components/search/model.js +37 -0
  131. package/dist/components/search/query.d.ts +166 -0
  132. package/dist/components/search/query.js +436 -0
  133. package/dist/components/shell/AppFrame.d.ts +14 -0
  134. package/dist/components/shell/AppFrame.js +80 -0
  135. package/dist/components/shell/TopBar.d.ts +73 -0
  136. package/dist/components/shell/TopBar.js +54 -0
  137. package/dist/components/shell/headerSlot.d.ts +17 -0
  138. package/dist/components/shell/headerSlot.js +21 -0
  139. package/dist/components/shell/index.d.ts +2 -0
  140. package/dist/components/shell/index.js +3 -0
  141. package/dist/foundations/aria.d.ts +14 -0
  142. package/dist/foundations/aria.js +18 -0
  143. package/dist/foundations/calendar.d.ts +28 -0
  144. package/dist/foundations/calendar.js +183 -0
  145. package/dist/foundations/copy.d.ts +703 -0
  146. package/dist/foundations/copy.es.d.ts +2 -0
  147. package/dist/foundations/copy.es.js +430 -0
  148. package/dist/foundations/copy.js +520 -0
  149. package/dist/foundations/density.d.ts +16 -0
  150. package/dist/foundations/density.js +21 -0
  151. package/dist/foundations/grouping.d.ts +281 -0
  152. package/dist/foundations/grouping.js +0 -0
  153. package/dist/foundations/index.d.ts +14 -0
  154. package/dist/foundations/index.js +30 -0
  155. package/dist/foundations/layout.d.ts +9 -0
  156. package/dist/foundations/layout.js +9 -0
  157. package/dist/foundations/pivot.d.ts +222 -0
  158. package/dist/foundations/pivot.js +198 -0
  159. package/dist/foundations/pivotSheet.d.ts +61 -0
  160. package/dist/foundations/pivotSheet.js +0 -0
  161. package/dist/foundations/slots.d.ts +67 -0
  162. package/dist/foundations/slots.js +63 -0
  163. package/dist/foundations/sticky.d.ts +53 -0
  164. package/dist/foundations/sticky.js +150 -0
  165. package/dist/foundations/surface.d.ts +9 -0
  166. package/dist/foundations/surface.js +26 -0
  167. package/dist/foundations/theme.d.ts +42 -0
  168. package/dist/foundations/theme.js +88 -0
  169. package/dist/foundations/types.d.ts +23 -0
  170. package/dist/foundations/types.js +50 -0
  171. package/dist/foundations/variants.d.ts +19 -0
  172. package/dist/foundations/variants.js +48 -0
  173. package/dist/foundations/xlsx.d.ts +86 -0
  174. package/dist/foundations/xlsx.js +0 -0
  175. package/dist/index.d.ts +19 -0
  176. package/dist/index.js +19 -0
  177. package/dist/primitives/block/Block.d.ts +66 -0
  178. package/dist/primitives/block/Block.js +34 -0
  179. package/dist/primitives/block/Line.d.ts +18 -0
  180. package/dist/primitives/block/Line.js +45 -0
  181. package/dist/primitives/block/SectionGrid.d.ts +30 -0
  182. package/dist/primitives/block/SectionGrid.js +29 -0
  183. package/dist/primitives/block/Steps.d.ts +76 -0
  184. package/dist/primitives/block/Steps.js +43 -0
  185. package/dist/primitives/block/index.d.ts +4 -0
  186. package/dist/primitives/block/index.js +7 -0
  187. package/dist/primitives/button/Button.d.ts +137 -0
  188. package/dist/primitives/button/Button.js +234 -0
  189. package/dist/primitives/button/index.d.ts +1 -0
  190. package/dist/primitives/button/index.js +2 -0
  191. package/dist/primitives/cell/CellStack.d.ts +47 -0
  192. package/dist/primitives/cell/CellStack.js +33 -0
  193. package/dist/primitives/cell/index.d.ts +1 -0
  194. package/dist/primitives/cell/index.js +3 -0
  195. package/dist/primitives/choice/ComboBox.d.ts +19 -0
  196. package/dist/primitives/choice/ComboBox.js +52 -0
  197. package/dist/primitives/choice/RadioGroup.d.ts +18 -0
  198. package/dist/primitives/choice/RadioGroup.js +50 -0
  199. package/dist/primitives/choice/SearchField.d.ts +33 -0
  200. package/dist/primitives/choice/SearchField.js +46 -0
  201. package/dist/primitives/choice/SegmentedControl.d.ts +16 -0
  202. package/dist/primitives/choice/SegmentedControl.js +69 -0
  203. package/dist/primitives/choice/Slider.d.ts +16 -0
  204. package/dist/primitives/choice/Slider.js +46 -0
  205. package/dist/primitives/choice/Switch.d.ts +14 -0
  206. package/dist/primitives/choice/Switch.js +65 -0
  207. package/dist/primitives/choice/ThemeSwitcher.d.ts +10 -0
  208. package/dist/primitives/choice/ThemeSwitcher.js +25 -0
  209. package/dist/primitives/choice/index.d.ts +8 -0
  210. package/dist/primitives/choice/index.js +11 -0
  211. package/dist/primitives/choice/options.d.ts +28 -0
  212. package/dist/primitives/choice/options.js +6 -0
  213. package/dist/primitives/date/Calendar.d.ts +31 -0
  214. package/dist/primitives/date/Calendar.js +134 -0
  215. package/dist/primitives/date/DatePicker.d.ts +42 -0
  216. package/dist/primitives/date/DatePicker.js +103 -0
  217. package/dist/primitives/date/DateTime.d.ts +35 -0
  218. package/dist/primitives/date/DateTime.js +100 -0
  219. package/dist/primitives/date/index.d.ts +3 -0
  220. package/dist/primitives/date/index.js +6 -0
  221. package/dist/primitives/dialog/Dialog.d.ts +118 -0
  222. package/dist/primitives/dialog/Dialog.js +121 -0
  223. package/dist/primitives/dialog/Drill.d.ts +90 -0
  224. package/dist/primitives/dialog/Drill.js +172 -0
  225. package/dist/primitives/dialog/index.d.ts +2 -0
  226. package/dist/primitives/dialog/index.js +4 -0
  227. package/dist/primitives/disclosure/Disclosure.d.ts +36 -0
  228. package/dist/primitives/disclosure/Disclosure.js +52 -0
  229. package/dist/primitives/disclosure/index.d.ts +1 -0
  230. package/dist/primitives/disclosure/index.js +2 -0
  231. package/dist/primitives/field/Checks.d.ts +57 -0
  232. package/dist/primitives/field/Checks.js +72 -0
  233. package/dist/primitives/field/DropZone.d.ts +42 -0
  234. package/dist/primitives/field/DropZone.js +52 -0
  235. package/dist/primitives/field/Field.d.ts +178 -0
  236. package/dist/primitives/field/Field.js +251 -0
  237. package/dist/primitives/field/Suggest.d.ts +48 -0
  238. package/dist/primitives/field/Suggest.js +43 -0
  239. package/dist/primitives/field/aria.d.ts +61 -0
  240. package/dist/primitives/field/aria.js +70 -0
  241. package/dist/primitives/field/context.d.ts +30 -0
  242. package/dist/primitives/field/context.js +13 -0
  243. package/dist/primitives/field/copy.d.ts +16 -0
  244. package/dist/primitives/field/copy.js +69 -0
  245. package/dist/primitives/field/index.d.ts +9 -0
  246. package/dist/primitives/field/index.js +15 -0
  247. package/dist/primitives/field/layout.d.ts +24 -0
  248. package/dist/primitives/field/layout.js +10 -0
  249. package/dist/primitives/field/mode.d.ts +9 -0
  250. package/dist/primitives/field/mode.js +13 -0
  251. package/dist/primitives/field/note.d.ts +55 -0
  252. package/dist/primitives/field/note.js +117 -0
  253. package/dist/primitives/hint/Hint.d.ts +31 -0
  254. package/dist/primitives/hint/Hint.js +42 -0
  255. package/dist/primitives/hint/index.d.ts +1 -0
  256. package/dist/primitives/hint/index.js +1 -0
  257. package/dist/primitives/index.d.ts +20 -0
  258. package/dist/primitives/index.js +21 -0
  259. package/dist/primitives/menu/Menu.d.ts +128 -0
  260. package/dist/primitives/menu/Menu.js +89 -0
  261. package/dist/primitives/menu/index.d.ts +1 -0
  262. package/dist/primitives/menu/index.js +2 -0
  263. package/dist/primitives/notice/Callout.d.ts +49 -0
  264. package/dist/primitives/notice/Callout.js +28 -0
  265. package/dist/primitives/notice/Flag.d.ts +13 -0
  266. package/dist/primitives/notice/Flag.js +31 -0
  267. package/dist/primitives/notice/Notice.d.ts +45 -0
  268. package/dist/primitives/notice/Notice.js +61 -0
  269. package/dist/primitives/notice/Toast.d.ts +55 -0
  270. package/dist/primitives/notice/Toast.js +142 -0
  271. package/dist/primitives/notice/index.d.ts +4 -0
  272. package/dist/primitives/notice/index.js +6 -0
  273. package/dist/primitives/overlay/Popover.d.ts +6 -0
  274. package/dist/primitives/overlay/Popover.js +27 -0
  275. package/dist/primitives/overlay/PopoverTrigger.d.ts +55 -0
  276. package/dist/primitives/overlay/PopoverTrigger.js +38 -0
  277. package/dist/primitives/overlay/Preview.d.ts +19 -0
  278. package/dist/primitives/overlay/Preview.js +60 -0
  279. package/dist/primitives/overlay/Tooltip.d.ts +38 -0
  280. package/dist/primitives/overlay/Tooltip.js +74 -0
  281. package/dist/primitives/overlay/index.d.ts +4 -0
  282. package/dist/primitives/overlay/index.js +7 -0
  283. package/dist/primitives/picker/Picker.d.ts +89 -0
  284. package/dist/primitives/picker/Picker.js +204 -0
  285. package/dist/primitives/picker/index.d.ts +1 -0
  286. package/dist/primitives/picker/index.js +2 -0
  287. package/dist/primitives/surface/Peek.d.ts +60 -0
  288. package/dist/primitives/surface/Peek.js +71 -0
  289. package/dist/primitives/surface/index.d.ts +1 -0
  290. package/dist/primitives/surface/index.js +2 -0
  291. package/dist/primitives/table/CellCopy.d.ts +20 -0
  292. package/dist/primitives/table/CellCopy.js +23 -0
  293. package/dist/primitives/table/CellEditor.d.ts +14 -0
  294. package/dist/primitives/table/CellEditor.js +83 -0
  295. package/dist/primitives/table/DataTable.d.ts +189 -0
  296. package/dist/primitives/table/DataTable.js +330 -0
  297. package/dist/primitives/table/EditableTable.d.ts +191 -0
  298. package/dist/primitives/table/EditableTable.js +617 -0
  299. package/dist/primitives/table/PivotTable.d.ts +14 -0
  300. package/dist/primitives/table/PivotTable.js +0 -0
  301. package/dist/primitives/table/ReportTable.d.ts +38 -0
  302. package/dist/primitives/table/ReportTable.js +106 -0
  303. package/dist/primitives/table/RowActions.d.ts +16 -0
  304. package/dist/primitives/table/RowActions.js +28 -0
  305. package/dist/primitives/table/SheetTable.d.ts +73 -0
  306. package/dist/primitives/table/SheetTable.js +230 -0
  307. package/dist/primitives/table/Table.d.ts +106 -0
  308. package/dist/primitives/table/Table.js +116 -0
  309. package/dist/primitives/table/index.d.ts +7 -0
  310. package/dist/primitives/table/index.js +9 -0
  311. package/dist/primitives/tabs/Tabs.d.ts +91 -0
  312. package/dist/primitives/tabs/Tabs.js +56 -0
  313. package/dist/primitives/tabs/index.d.ts +1 -0
  314. package/dist/primitives/tabs/index.js +1 -0
  315. package/dist/primitives/tag/Tag.d.ts +36 -0
  316. package/dist/primitives/tag/Tag.js +68 -0
  317. package/dist/primitives/tag/Tags.d.ts +57 -0
  318. package/dist/primitives/tag/Tags.js +104 -0
  319. package/dist/primitives/tag/TagsField.d.ts +35 -0
  320. package/dist/primitives/tag/TagsField.js +186 -0
  321. package/dist/primitives/tag/choices.d.ts +38 -0
  322. package/dist/primitives/tag/choices.js +26 -0
  323. package/dist/primitives/tag/index.d.ts +4 -0
  324. package/dist/primitives/tag/index.js +8 -0
  325. package/dist/primitives/toolbar/Toolbar.d.ts +13 -0
  326. package/dist/primitives/toolbar/Toolbar.js +36 -0
  327. package/dist/primitives/toolbar/index.d.ts +1 -0
  328. package/dist/primitives/toolbar/index.js +2 -0
  329. package/dist/primitives/tree/Tree.d.ts +56 -0
  330. package/dist/primitives/tree/Tree.js +74 -0
  331. package/dist/primitives/tree/index.d.ts +1 -0
  332. package/dist/primitives/tree/index.js +3 -0
  333. package/dist/primitives/value/Copyable.d.ts +48 -0
  334. package/dist/primitives/value/Copyable.js +71 -0
  335. package/dist/primitives/value/Fecha.d.ts +12 -0
  336. package/dist/primitives/value/Fecha.js +89 -0
  337. package/dist/primitives/value/Meter.d.ts +29 -0
  338. package/dist/primitives/value/Meter.js +46 -0
  339. package/dist/primitives/value/Metric.d.ts +42 -0
  340. package/dist/primitives/value/Metric.js +38 -0
  341. package/dist/primitives/value/Person.d.ts +90 -0
  342. package/dist/primitives/value/Person.js +208 -0
  343. package/dist/primitives/value/ProgressBar.d.ts +31 -0
  344. package/dist/primitives/value/ProgressBar.js +53 -0
  345. package/dist/primitives/value/Relation.d.ts +74 -0
  346. package/dist/primitives/value/Relation.js +74 -0
  347. package/dist/primitives/value/Totals.d.ts +121 -0
  348. package/dist/primitives/value/Totals.js +54 -0
  349. package/dist/primitives/value/Value.d.ts +40 -0
  350. package/dist/primitives/value/Value.js +80 -0
  351. package/dist/primitives/value/index.d.ts +9 -0
  352. package/dist/primitives/value/index.js +10 -0
  353. package/dist/tokens.css +1062 -0
  354. package/dist/views/index.d.ts +2 -0
  355. package/dist/views/index.js +3 -0
  356. package/dist/views/list/List.d.ts +119 -0
  357. package/dist/views/list/List.js +101 -0
  358. package/dist/views/list/ListView.d.ts +6 -0
  359. package/dist/views/list/ListView.js +295 -0
  360. package/dist/views/list/columns.d.ts +18 -0
  361. package/dist/views/list/columns.js +27 -0
  362. package/dist/views/list/derive.d.ts +87 -0
  363. package/dist/views/list/derive.js +207 -0
  364. package/dist/views/list/index.d.ts +2 -0
  365. package/dist/views/list/index.js +4 -0
  366. package/dist/views/list/presentations.d.ts +39 -0
  367. package/dist/views/list/presentations.js +105 -0
  368. package/dist/views/list/types.d.ts +284 -0
  369. package/dist/views/list/types.js +1 -0
  370. package/dist/views/list/useNarrowList.d.ts +17 -0
  371. package/dist/views/list/useNarrowList.js +32 -0
  372. package/dist/views/record/Record.d.ts +145 -0
  373. package/dist/views/record/Record.js +211 -0
  374. package/dist/views/record/index.d.ts +1 -0
  375. package/dist/views/record/index.js +2 -0
  376. package/package.json +113 -4
@@ -0,0 +1,520 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext } from "react";
4
+ export const ENGLISH_COPY = {
5
+ locale: "en-US",
6
+ present: {
7
+ rows: "Rows",
8
+ table: "Table",
9
+ board: "Board",
10
+ sheet: "Sheet",
11
+ report: "Report",
12
+ pivot: "Pivot",
13
+ chart: "Chart",
14
+ group: "How to view",
15
+ },
16
+ frame: {
17
+ columns: "columns",
18
+ show: "show",
19
+ series: "series",
20
+ column: "column",
21
+ empty: "No cells to show.",
22
+ noSeries: "This column has no values to chart.",
23
+ required: "always shown",
24
+ optional: "optional",
25
+ },
26
+ selection: {
27
+ chosen: "chosen",
28
+ clear: "Clear selection",
29
+ all: "Select all",
30
+ row: "Select row",
31
+ named: "Select {name}",
32
+ more: "More actions",
33
+ moreOf: "More actions for {name}",
34
+ },
35
+ pager: {
36
+ size: "Rows per page",
37
+ sizeHint: "{size} per page — click to change",
38
+ prev: "Previous page",
39
+ next: "Next page",
40
+ },
41
+ record: {
42
+ prev: "Previous record",
43
+ next: "Next record",
44
+ location: "Location",
45
+ status: "Status",
46
+ faces: "Record faces",
47
+ unsaved: "unsaved",
48
+ save: "Save",
49
+ saving: "Saving…",
50
+ discard: "Discard",
51
+ failed: "failed",
52
+ notices: "Notices about this record",
53
+ noticeOne: "{count} notice",
54
+ noticeMany: "{count} notices",
55
+ blocking: "What is wrong with this record",
56
+ },
57
+ shell: {
58
+ modules: "All modules",
59
+ menus: "Module menus",
60
+ close: "Close",
61
+ notices: "Notices",
62
+ closeNotice: "Dismiss notice",
63
+ preview: "Preview",
64
+ previewTag: "preview",
65
+ closePreview: "Close preview",
66
+ account: "My account",
67
+ openAsPanel: "Open as panel",
68
+ commandPalette: "Command palette",
69
+ },
70
+ field: {
71
+ drop: "Drop a file here, or choose one.",
72
+ chooseFile: "Choose file",
73
+ cancel: "Cancel",
74
+ uploadProgress: "upload progress",
75
+ fileUnreadable: "We could not read the file",
76
+ tryAnother: "Try another one",
77
+ required: "required",
78
+ help: "Help",
79
+ unset: "not set",
80
+ none: "None",
81
+ },
82
+ choice: {
83
+ noResults: "No results",
84
+ search: "Search",
85
+ },
86
+ search: {
87
+ tools: "Filter, group and favorites",
88
+ editChip: "Click to edit",
89
+ editNamed: "Edit {label}",
90
+ removeChip: "Remove {label}: {value}",
91
+ removeFilter: "Remove filter {label}",
92
+ removeGroup: "Stop grouping by {label}",
93
+ and: "and",
94
+ or: "or",
95
+ groupedBy: "grouped by",
96
+ narrowedBy: "showing",
97
+ switchJoin: "All of them, or any of them",
98
+ joins: { all: "all", any: "any", none: "none" },
99
+ notWord: "not",
100
+ landsHere: "the next one lands here",
101
+ closeGroup: "Close this group",
102
+ typeValue: "value…",
103
+ dropField: "Ask about another field",
104
+ dropOp: "Compare another way",
105
+ openBuilder: "Open all of this in the builder",
106
+ openBuilderHere: "Open this condition in the builder",
107
+ askField: "ask about",
108
+ askAttribute: "pick an attribute",
109
+ askOp: "compared how",
110
+ askJoin: "these rules match",
111
+ unreadable: "We cannot read this filter as a tree — here it is as it stands. It can still be edited as JSON below.",
112
+ askValue: "to what",
113
+ condition: "{field} {op} {value}",
114
+ andMore: "and {count} more",
115
+ placeholder: "search…",
116
+ filters: "filters",
117
+ groupBy: "group by",
118
+ favorites: "favorites",
119
+ },
120
+ failed: {
121
+ operation: "We could not complete the operation",
122
+ list: "We could not read the list",
123
+ loading: "Loading…",
124
+ retry: "Try again",
125
+ },
126
+ table: {
127
+ add: "Add",
128
+ row: "row",
129
+ rows: "rows",
130
+ yes: "yes",
131
+ no: "no",
132
+ mean: "mean {value}",
133
+ min: "min {value}",
134
+ max: "max {value}",
135
+ distinct: "{value} distinct",
136
+ },
137
+ menu: {
138
+ empty: "Nothing matches.",
139
+ },
140
+ list: {
141
+ empty: "There is nothing here yet.",
142
+ emptyFiltered: "Nothing matches what is on.",
143
+ countOne: "1 record",
144
+ count: "{count} records",
145
+ },
146
+ activity: {
147
+ bySystem: "the system",
148
+ more: "show the whole error",
149
+ less: "show less",
150
+ internal: "internal",
151
+ internalNote: "Internal note: it stays in here",
152
+ writeNote: "Log a note",
153
+ notePlaceholder: "A note that stays in here…",
154
+ recipients: "Who receives it",
155
+ noRecipients: "nobody to send it to yet",
156
+ messagePlaceholder: "Write a message…",
157
+ emptyMessages: "Nobody has written here yet.",
158
+ emptyEvents: "Nothing has been logged yet.",
159
+ title: "Activity",
160
+ open: "Open the {label}",
161
+ fold: "Fold the {label}",
162
+ alerts: "Notices",
163
+ conversation: "Conversation",
164
+ history: "History",
165
+ viewTimeline: "Timeline",
166
+ moreAlerts: "Show {count} more",
167
+ fewerAlerts: "Show fewer",
168
+ filters: "Show",
169
+ filterAll: "All",
170
+ filterConversation: "Messages",
171
+ filterNotes: "Notes",
172
+ filterEvents: "Events",
173
+ today: "Today",
174
+ yesterday: "Yesterday",
175
+ emptyFilter: "Nothing of this kind yet.",
176
+ goTo: "Go to {owner}",
177
+ send: "Send",
178
+ sending: "Sending…",
179
+ cancel: "Cancel",
180
+ },
181
+ copyable: {
182
+ label: "Copy",
183
+ done: "Copied",
184
+ failed: "Could not copy",
185
+ field: "Copy «{label}»",
186
+ empty: "Nothing to copy",
187
+ },
188
+ sorting: {
189
+ label: "Sort",
190
+ by: "sort by",
191
+ asc: "ascending",
192
+ desc: "descending",
193
+ clear: "no order",
194
+ },
195
+ dates: {
196
+ last: "last {count} {unit}",
197
+ prior: "previous {unit}",
198
+ day: "day",
199
+ days: "days",
200
+ week: "week",
201
+ weeks: "weeks",
202
+ month: "month",
203
+ months: "months",
204
+ quarter: "quarter",
205
+ quarters: "quarters",
206
+ year: "year",
207
+ years: "years",
208
+ },
209
+ ops: {
210
+ "=": "is",
211
+ "!=": "is not",
212
+ like: "contains",
213
+ in: "is one of",
214
+ "not in": "is none of",
215
+ ">": "greater than",
216
+ ">=": "at least",
217
+ "<": "less than",
218
+ "<=": "at most",
219
+ "is null": "is empty",
220
+ "is not null": "is not empty",
221
+ contains: "includes",
222
+ "not contains": "does not include",
223
+ between: "is between",
224
+ },
225
+ calendar: {
226
+ week: "Week {n}",
227
+ weekOfYear: "Week {n}, {year}",
228
+ quarter: "Q{n}",
229
+ quarterOfYear: "Q{n} {year}",
230
+ },
231
+ grouping: {
232
+ label: "Group by",
233
+ none: "Not grouped.",
234
+ add: "add a level",
235
+ remove: "remove this level",
236
+ up: "one level out",
237
+ down: "one level in",
238
+ clear: "stop grouping",
239
+ grain: "how finely",
240
+ },
241
+ editable: {
242
+ add: "Add a line",
243
+ addRow: "Add a row",
244
+ empty: "No lines yet.",
245
+ remove: "Remove the line",
246
+ },
247
+ picker: {
248
+ placeholder: "pick one…",
249
+ empty: "Nothing matches.",
250
+ search: "filter…",
251
+ loading: "loading…",
252
+ more: "{count} more",
253
+ refine: "— narrow the filter",
254
+ open: "Open",
255
+ browseAll: "see all…",
256
+ loadingMore: "loading more…",
257
+ },
258
+ cell: {
259
+ missing: "missing",
260
+ empty: "(empty)",
261
+ emptyBin: "(empty)",
262
+ },
263
+ time: {
264
+ justNow: "just now",
265
+ invalid: "invalid date",
266
+ noDate: "no date",
267
+ },
268
+ drill: {
269
+ back: "Back to {name}",
270
+ trail: "Opened from",
271
+ },
272
+ dialog: {
273
+ expand: "Expand to a panel",
274
+ cancel: "Cancel",
275
+ back: "Back",
276
+ next: "Next",
277
+ finish: "Finish",
278
+ busy: "Working…",
279
+ },
280
+ report: {
281
+ open: "Open {name}",
282
+ close: "Close {name}",
283
+ concept: "Item",
284
+ },
285
+ builder: {
286
+ filter: "Filter",
287
+ order: "Order",
288
+ groupBy: "Group by",
289
+ totals: "Totals per pile",
290
+ filterPiles: "Filter the piles",
291
+ pileOrder: "Pile order",
292
+ pilePage: "Pile page",
293
+ fields: "Fields",
294
+ noOrder: "No order of its own: the model's.",
295
+ noGrouping: "Not grouped: the whole list.",
296
+ noTotals: "No totals: just how many rows there are.",
297
+ noPileOrder: "No order of its own: by each level's field, ascending.",
298
+ allFields: "All of the model's.",
299
+ someFields: "{shown} of {total} — the identity always travels.",
300
+ addOrder: "order by…",
301
+ addGroup: "group by…",
302
+ addPileOrder: "Order the piles by another field",
303
+ ascending: "ascending",
304
+ descending: "descending",
305
+ flip: "tap to flip",
306
+ changeGrain: "tap to change the cut",
307
+ dropOrder: "remove this sort",
308
+ dropTotal: "remove this total",
309
+ dropRule: "remove this rule",
310
+ dropGroup: "remove this group",
311
+ addRule: "add a rule after this one",
312
+ addNested: "add a nested group after this one",
313
+ pilesNote: "Over what they folded — the totals above, and «count» — not over the rows: that is the filter above.",
314
+ pilePageNote: "Only the first level: once a page is asked for, the deeper levels answer only for the piles that survived.",
315
+ limitPiles: "Limit how many piles come back",
316
+ noValue: "no value",
317
+ from: "from…",
318
+ to: "to…",
319
+ value: "value…",
320
+ json: "The criteria, as JSON",
321
+ jsonFilter: "The filter, as JSON",
322
+ invalidJson: "this is not valid JSON",
323
+ editor: "Code editor",
324
+ format: "Format",
325
+ notCriteria: "a criteria is an object with where, order, grouping or specification",
326
+ notFilter: "this is not a filter: it needs a condition or an all/any/negate",
327
+ apply: "Apply",
328
+ add: "Add",
329
+ cancel: "Cancel",
330
+ totalAs: "as «{name}»",
331
+ addTotal: "Add a total",
332
+ dropOrderBy: "remove the order by {field}",
333
+ dropLevel: "remove the level {field}",
334
+ },
335
+ pivot: {
336
+ total: "Total",
337
+ rows: "rows",
338
+ open: "Open {row} × {column}",
339
+ },
340
+ person: {
341
+ unassigned: "unassigned",
342
+ contact: "Contact",
343
+ email: "Write an email",
344
+ call: "Call",
345
+ whatsapp: "WhatsApp",
346
+ open: "Open profile",
347
+ },
348
+ lines: {
349
+ add: "Add a line",
350
+ search: "Search the lines…",
351
+ edit: "Edit line",
352
+ remove: "Remove line",
353
+ empty: "No lines yet.",
354
+ done: "Done",
355
+ addSection: "Add a section",
356
+ addNote: "Add a note",
357
+ section: "Section",
358
+ note: "Note",
359
+ },
360
+ lineItems: {
361
+ one: "{count} line",
362
+ many: "{count} lines",
363
+ shown: "{shown} of {count} lines",
364
+ newLine: "New line",
365
+ noMatch: "No line matches «{query}».",
366
+ removed: "Removed «{name}».",
367
+ undo: "Undo",
368
+ table: "Lines",
369
+ },
370
+ relation: {
371
+ open: "Open",
372
+ none: "Not set",
373
+ },
374
+ relationCard: {
375
+ summary: "Summary of {name}",
376
+ },
377
+ totals: {
378
+ less: "less",
379
+ details: "Details: {label}",
380
+ open: "Open",
381
+ unlink: "Unlink",
382
+ credits: "Outstanding credits",
383
+ apply: "Apply",
384
+ applyCredit: "Apply {label}",
385
+ },
386
+ inlineEdit: {
387
+ addTag: "Add…",
388
+ createTag: "Create «{name}»",
389
+ editCell: "Edit {column}",
390
+ },
391
+ theme: {
392
+ label: "Theme",
393
+ system: "System",
394
+ light: "Light",
395
+ dark: "Dark",
396
+ },
397
+ tree: {
398
+ empty: "Nothing here yet.",
399
+ },
400
+ assist: {
401
+ assistant: "Assistant",
402
+ suggests: "suggests",
403
+ suggestion: "Assistant's suggestion",
404
+ source: "Source",
405
+ accept: "Accept",
406
+ dismiss: "Dismiss the suggestion",
407
+ accepted: "Applied the assistant's suggestion.",
408
+ acceptedIn: "Applied the assistant's suggestion to «{field}».",
409
+ undo: "Undo",
410
+ working: "The assistant is working…",
411
+ cancel: "Cancel",
412
+ madeBy: "Set by the assistant",
413
+ acceptedBy: "Accepted by {name}",
414
+ review: "Proposed changes",
415
+ applyOne: "Apply 1 change",
416
+ applyMany: "Apply {count} changes",
417
+ discard: "Discard",
418
+ all: "All the changes",
419
+ chosen: "{count} of {total} chosen",
420
+ noneChosen: "Choose at least one change.",
421
+ appliedOne: "Applied 1 change from the assistant.",
422
+ appliedMany: "Applied {count} changes from the assistant.",
423
+ added: "new",
424
+ removed: "removed",
425
+ changed: "changes",
426
+ from: "from",
427
+ to: "to",
428
+ empty: "empty",
429
+ },
430
+ };
431
+ let activeCopy = ENGLISH_COPY;
432
+ /** The merged catalog the formatters read when they are not a component. */
433
+ export function currentCopy() {
434
+ return activeCopy;
435
+ }
436
+ /** BCP-47 the formatters read when they are not a component. */
437
+ export function currentCopyLocale() {
438
+ return activeCopy.locale;
439
+ }
440
+ function rememberCopy(copy) {
441
+ activeCopy = copy;
442
+ }
443
+ /**
444
+ * La copia del árbol, cuando alguien la puso.
445
+ *
446
+ * Arranca en `null` y NO en el inglés de fábrica: un contexto se queda con el
447
+ * valor que tenía cuando se creó, así que con el inglés adentro un componente
448
+ * sin provider ignoraba `installCopy` y seguía diciendo «grouped by» aunque la
449
+ * aplicación entera estuviera en castellano. Dos verdades sobre la misma cosa.
450
+ *
451
+ * Con `null`, sin provider se lee la instalada, que es la única.
452
+ */
453
+ const CopyContext = createContext(null);
454
+ export function mergeCopy(over) {
455
+ if (over === undefined)
456
+ return ENGLISH_COPY;
457
+ return {
458
+ locale: over.locale ?? ENGLISH_COPY.locale,
459
+ present: { ...ENGLISH_COPY.present, ...over.present },
460
+ frame: { ...ENGLISH_COPY.frame, ...over.frame },
461
+ selection: { ...ENGLISH_COPY.selection, ...over.selection },
462
+ pager: { ...ENGLISH_COPY.pager, ...over.pager },
463
+ record: { ...ENGLISH_COPY.record, ...over.record },
464
+ shell: { ...ENGLISH_COPY.shell, ...over.shell },
465
+ field: { ...ENGLISH_COPY.field, ...over.field },
466
+ choice: { ...ENGLISH_COPY.choice, ...over.choice },
467
+ search: { ...ENGLISH_COPY.search, ...over.search },
468
+ failed: { ...ENGLISH_COPY.failed, ...over.failed },
469
+ table: { ...ENGLISH_COPY.table, ...over.table },
470
+ menu: { ...ENGLISH_COPY.menu, ...over.menu },
471
+ list: { ...ENGLISH_COPY.list, ...over.list },
472
+ grouping: { ...ENGLISH_COPY.grouping, ...over.grouping },
473
+ dates: { ...ENGLISH_COPY.dates, ...over.dates },
474
+ calendar: { ...ENGLISH_COPY.calendar, ...over.calendar },
475
+ ops: { ...ENGLISH_COPY.ops, ...over.ops },
476
+ sorting: { ...ENGLISH_COPY.sorting, ...over.sorting },
477
+ copyable: { ...ENGLISH_COPY.copyable, ...over.copyable },
478
+ activity: { ...ENGLISH_COPY.activity, ...over.activity },
479
+ editable: { ...ENGLISH_COPY.editable, ...over.editable },
480
+ picker: { ...ENGLISH_COPY.picker, ...over.picker },
481
+ cell: { ...ENGLISH_COPY.cell, ...over.cell },
482
+ time: { ...ENGLISH_COPY.time, ...over.time },
483
+ drill: { ...ENGLISH_COPY.drill, ...over.drill },
484
+ dialog: { ...ENGLISH_COPY.dialog, ...over.dialog },
485
+ report: { ...ENGLISH_COPY.report, ...over.report },
486
+ builder: { ...ENGLISH_COPY.builder, ...over.builder },
487
+ pivot: { ...ENGLISH_COPY.pivot, ...over.pivot },
488
+ person: { ...ENGLISH_COPY.person, ...over.person },
489
+ lines: { ...ENGLISH_COPY.lines, ...over.lines },
490
+ lineItems: { ...ENGLISH_COPY.lineItems, ...over.lineItems },
491
+ relation: { ...ENGLISH_COPY.relation, ...over.relation },
492
+ relationCard: { ...ENGLISH_COPY.relationCard, ...over.relationCard },
493
+ totals: { ...ENGLISH_COPY.totals, ...over.totals },
494
+ inlineEdit: { ...ENGLISH_COPY.inlineEdit, ...over.inlineEdit },
495
+ theme: { ...ENGLISH_COPY.theme, ...over.theme },
496
+ tree: { ...ENGLISH_COPY.tree, ...over.tree },
497
+ assist: { ...ENGLISH_COPY.assist, ...over.assist },
498
+ };
499
+ }
500
+ /** For tests and non-React callers that need a locale before a provider mounts. */
501
+ export function installCopy(over) {
502
+ const merged = mergeCopy(over);
503
+ rememberCopy(merged);
504
+ return merged;
505
+ }
506
+ export function UiCopyProvider({ copy, children, }) {
507
+ const merged = mergeCopy(copy);
508
+ rememberCopy(merged);
509
+ return _jsx(CopyContext.Provider, { value: merged, children: children });
510
+ }
511
+ export function useUiCopy() {
512
+ return useContext(CopyContext) ?? currentCopy();
513
+ }
514
+ /** `{name}` → value. A missing key stays visible in the template. */
515
+ export function fillCopy(template, params) {
516
+ return template.replace(/\{(\w+)\}/g, (whole, name) => {
517
+ const value = params[name];
518
+ return value === undefined ? whole : String(value);
519
+ });
520
+ }
@@ -0,0 +1,16 @@
1
+ import { type ReactNode } from "react";
2
+ export type Density = "comfortable" | "compact";
3
+ /** The surface declares it: `Peek` and the narrow dialogs set it to `compact`;
4
+ * a panel leaves it at `comfortable`. */
5
+ export declare function DensityProvider({ value, children, }: {
6
+ value: Density;
7
+ children: ReactNode;
8
+ }): import("react").JSX.Element;
9
+ export declare function useDensity(): Density;
10
+ /** Pick between two values according to the density, without writing the
11
+ * ternary.
12
+ *
13
+ * It exists so the difference between the two stays on ONE readable line next
14
+ * to the class, and not scattered across conditionals — which is how one of
15
+ * the two densities ends up unmaintained. */
16
+ export declare function byDensity<T>(d: Density, comfortable: T, compact: T): T;
@@ -0,0 +1,21 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext } from "react";
4
+ const Ctx = createContext("comfortable");
5
+ /** The surface declares it: `Peek` and the narrow dialogs set it to `compact`;
6
+ * a panel leaves it at `comfortable`. */
7
+ export function DensityProvider({ value, children, }) {
8
+ return _jsx(Ctx.Provider, { value: value, children: children });
9
+ }
10
+ export function useDensity() {
11
+ return useContext(Ctx);
12
+ }
13
+ /** Pick between two values according to the density, without writing the
14
+ * ternary.
15
+ *
16
+ * It exists so the difference between the two stays on ONE readable line next
17
+ * to the class, and not scattered across conditionals — which is how one of
18
+ * the two densities ends up unmaintained. */
19
+ export function byDensity(d, comfortable, compact) {
20
+ return d === "compact" ? compact : comfortable;
21
+ }