@zeyos/zx 4.4.0 → 5.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 (252) hide show
  1. package/CHANGELOG.md +447 -0
  2. package/README.md +44 -11
  3. package/dist/types/components/account-menu/account-menu.d.ts +8 -0
  4. package/dist/types/components/activity-list/activity-list.d.ts +31 -1
  5. package/dist/types/components/app-icon/app-icon.d.ts +14 -2
  6. package/dist/types/components/app-sidebar/app-sidebar.d.ts +293 -17
  7. package/dist/types/components/avatar/avatar.d.ts +46 -7
  8. package/dist/types/components/badge/badge.d.ts +21 -1
  9. package/dist/types/components/button/button.d.ts +15 -0
  10. package/dist/types/components/calendar/calendar.d.ts +67 -5
  11. package/dist/types/components/card-view/card-view.d.ts +7 -4
  12. package/dist/types/components/card-view/record-card.d.ts +11 -0
  13. package/dist/types/components/chart/chart.d.ts +10 -0
  14. package/dist/types/components/checklist/checklist.d.ts +9 -0
  15. package/dist/types/components/code-editor/code-editor.d.ts +6 -17
  16. package/dist/types/components/context-menu/context-menu.d.ts +6 -2
  17. package/dist/types/components/data-filter/data-filter.d.ts +4 -4
  18. package/dist/types/components/datebox/date-range-box.d.ts +5 -1
  19. package/dist/types/components/datebox/datebox.d.ts +7 -2
  20. package/dist/types/components/dialog/dialog.d.ts +46 -6
  21. package/dist/types/components/dropdown/dropdown.d.ts +24 -9
  22. package/dist/types/components/entity-ref/entity-ref.d.ts +2 -2
  23. package/dist/types/components/field/field.d.ts +54 -2
  24. package/dist/types/components/fieldset/external-adapter.d.ts +83 -0
  25. package/dist/types/components/fieldset/fieldset.d.ts +26 -1
  26. package/dist/types/components/file-item/file-item.d.ts +34 -6
  27. package/dist/types/components/file-list/file-list.d.ts +35 -3
  28. package/dist/types/components/filter/filter.d.ts +127 -3
  29. package/dist/types/components/filter-panel/filter-panel.d.ts +36 -7
  30. package/dist/types/components/form/form.d.ts +12 -1
  31. package/dist/types/components/kanban-view/kanban-card.d.ts +8 -0
  32. package/dist/types/components/launcher/launcher.d.ts +268 -15
  33. package/dist/types/components/list-toolbar/list-toolbar.d.ts +16 -7
  34. package/dist/types/components/menu-button/menu-button.d.ts +39 -5
  35. package/dist/types/components/message/message.d.ts +132 -17
  36. package/dist/types/components/modal/modal.d.ts +43 -2
  37. package/dist/types/components/module-bar/module-bar.d.ts +395 -0
  38. package/dist/types/components/pagination/pagination.d.ts +17 -3
  39. package/dist/types/components/select/color.d.ts +12 -0
  40. package/dist/types/components/select/glyphs.d.ts +124 -0
  41. package/dist/types/components/select/select.d.ts +17 -3
  42. package/dist/types/components/sheet/sheet.d.ts +15 -0
  43. package/dist/types/components/stat-tile/stat-tile.d.ts +16 -5
  44. package/dist/types/components/tabbox/tabbox.d.ts +9 -0
  45. package/dist/types/components/table/table.d.ts +311 -18
  46. package/dist/types/components/tag-picker/tag-picker.d.ts +21 -4
  47. package/dist/types/components/tree/tree.d.ts +13 -0
  48. package/dist/types/components/view/record-view.d.ts +59 -2
  49. package/dist/types/components/view-settings/view-settings.d.ts +879 -0
  50. package/dist/types/components/workspace-switcher/workspace-switcher.d.ts +327 -0
  51. package/dist/types/core/breakpoint.d.ts +1 -1
  52. package/dist/types/core/component.d.ts +12 -2
  53. package/dist/types/core/i18n.d.ts +27 -3
  54. package/dist/types/core/icons.d.ts +23 -25
  55. package/dist/types/core/keyboard.d.ts +98 -1
  56. package/dist/types/core/messages.d.ts +382 -0
  57. package/dist/types/core/motion.d.ts +59 -0
  58. package/dist/types/core/overlay-host.d.ts +42 -1
  59. package/dist/types/core/overlay-stack.d.ts +260 -0
  60. package/dist/types/index.d.ts +10 -5
  61. package/dist/types/internal/app-rail.d.ts +38 -0
  62. package/dist/types/internal/menu-items.d.ts +71 -3
  63. package/dist/types/zeyos/connect.d.ts +6 -0
  64. package/dist/types/zeyos/form.d.ts +50 -9
  65. package/dist/types/zeyos/index.d.ts +2 -1
  66. package/dist/types/zeyos/launcher.d.ts +9 -0
  67. package/dist/types/zeyos/module-bar.d.ts +176 -0
  68. package/dist/types/zeyos/query.d.ts +110 -5
  69. package/dist/types/zeyos/schema.d.ts +24 -1
  70. package/dist/types/zeyos/table.d.ts +345 -22
  71. package/dist/types/zeyos/view.d.ts +26 -2
  72. package/dist/zx-zeyos.esm.js +6178 -1008
  73. package/dist/zx-zeyos.esm.min.js +53 -5
  74. package/dist/zx.css +2861 -827
  75. package/dist/zx.esm.js +8909 -1480
  76. package/dist/zx.esm.min.js +55 -7
  77. package/dist/zx.global.js +8911 -1482
  78. package/dist/zx.global.min.js +55 -7
  79. package/dist/zx.min.css +1 -1
  80. package/docs/api.json +1079 -117
  81. package/docs/llms.md +956 -154
  82. package/docs/llms.txt +9 -5
  83. package/package.json +1 -1
  84. package/src/components/account-menu/account-menu.css +35 -10
  85. package/src/components/account-menu/account-menu.js +12 -0
  86. package/src/components/activity-item/activity-item.css +1 -1
  87. package/src/components/activity-item/activity-item.js +3 -0
  88. package/src/components/activity-list/activity-list.css +38 -3
  89. package/src/components/activity-list/activity-list.js +61 -1
  90. package/src/components/app-icon/app-icon.css +14 -3
  91. package/src/components/app-icon/app-icon.js +11 -1
  92. package/src/components/app-rail/app-rail.css +59 -79
  93. package/src/components/app-sidebar/app-sidebar.css +304 -168
  94. package/src/components/app-sidebar/app-sidebar.js +667 -46
  95. package/src/components/aurora/aurora.css +5 -3
  96. package/src/components/avatar/avatar.css +32 -7
  97. package/src/components/avatar/avatar.js +72 -8
  98. package/src/components/badge/badge.css +54 -2
  99. package/src/components/badge/badge.js +29 -2
  100. package/src/components/breadcrumb/breadcrumb.css +1 -1
  101. package/src/components/button/button.css +67 -9
  102. package/src/components/button/button.js +38 -0
  103. package/src/components/calendar/calendar.css +47 -47
  104. package/src/components/calendar/calendar.js +26 -52
  105. package/src/components/card/card.css +4 -4
  106. package/src/components/card-view/card-view.css +14 -12
  107. package/src/components/card-view/card-view.js +13 -9
  108. package/src/components/card-view/record-card.js +14 -3
  109. package/src/components/chart/chart.css +4 -1
  110. package/src/components/chart/chart.js +12 -0
  111. package/src/components/check-button/check-button.css +10 -2
  112. package/src/components/checklist/checklist.css +9 -2
  113. package/src/components/checklist/checklist.js +11 -5
  114. package/src/components/checklist/field-adapter.js +3 -1
  115. package/src/components/code-editor/code-editor.css +7 -6
  116. package/src/components/code-editor/code-editor.js +19 -1
  117. package/src/components/code-editor/field-adapter.js +9 -2
  118. package/src/components/context-menu/context-menu.css +9 -4
  119. package/src/components/context-menu/context-menu.js +8 -2
  120. package/src/components/copy/copy-button.css +6 -0
  121. package/src/components/copy/copy-input.css +9 -4
  122. package/src/components/data-filter/data-filter.css +5 -4
  123. package/src/components/data-filter/data-filter.js +2 -2
  124. package/src/components/date-picker/date-picker.css +6 -6
  125. package/src/components/date-picker/date-range-picker.css +3 -3
  126. package/src/components/date-picker/time-picker.css +3 -3
  127. package/src/components/datebox/date-range-box.css +79 -2
  128. package/src/components/datebox/date-range-box.js +13 -2
  129. package/src/components/datebox/datebox.css +79 -2
  130. package/src/components/datebox/datebox.js +13 -2
  131. package/src/components/dialog/dialog.css +26 -0
  132. package/src/components/dialog/dialog.js +99 -17
  133. package/src/components/dock/dock.css +5 -4
  134. package/src/components/dropdown/dropdown.css +1 -1
  135. package/src/components/dropdown/dropdown.js +159 -72
  136. package/src/components/empty-state/empty-state.css +2 -2
  137. package/src/components/entity-ref/entity-ref.css +1 -1
  138. package/src/components/entity-ref/entity-ref.js +1 -1
  139. package/src/components/field/field.css +28 -9
  140. package/src/components/field/field.js +101 -29
  141. package/src/components/field-upload/field-upload.css +1 -1
  142. package/src/components/fieldset/external-adapter.js +363 -0
  143. package/src/components/fieldset/fieldset.css +5 -3
  144. package/src/components/fieldset/fieldset.js +38 -64
  145. package/src/components/file-item/file-item.js +144 -10
  146. package/src/components/file-list/file-list.js +144 -21
  147. package/src/components/filter/filter.css +86 -2
  148. package/src/components/filter/filter.js +307 -11
  149. package/src/components/filter-panel/filter-panel.css +1 -1
  150. package/src/components/filter-panel/filter-panel.js +149 -32
  151. package/src/components/finder/finder.css +16 -14
  152. package/src/components/form/form.css +5 -4
  153. package/src/components/form/form.js +11 -2
  154. package/src/components/grid/grid.css +1 -1
  155. package/src/components/groupbox/groupbox.css +1 -1
  156. package/src/components/kanban-view/kanban-card.js +11 -3
  157. package/src/components/kanban-view/kanban-view.css +42 -18
  158. package/src/components/kanban-view/kanban-view.js +9 -6
  159. package/src/components/launcher/launcher.css +108 -26
  160. package/src/components/launcher/launcher.js +530 -42
  161. package/src/components/list-toolbar/list-toolbar.css +13 -8
  162. package/src/components/list-toolbar/list-toolbar.js +40 -14
  163. package/src/components/master-panel/master-panel.css +2 -0
  164. package/src/components/master-panel/master-panel.js +0 -1
  165. package/src/components/menu-button/menu-button.css +72 -4
  166. package/src/components/menu-button/menu-button.js +160 -18
  167. package/src/components/message/message.css +33 -3
  168. package/src/components/message/message.js +264 -22
  169. package/src/components/modal/modal.css +1 -1
  170. package/src/components/modal/modal.js +83 -15
  171. package/src/components/module-bar/module-bar.css +486 -0
  172. package/src/components/module-bar/module-bar.js +1074 -0
  173. package/src/components/multi-value-editor/multi-value-editor.css +1 -1
  174. package/src/components/navigation-bar/navigation-bar.css +18 -9
  175. package/src/components/number-field/field-adapter.js +3 -1
  176. package/src/components/number-field/number-field.css +70 -0
  177. package/src/components/number-field/number-field.js +2 -0
  178. package/src/components/pagination/pagination.css +13 -11
  179. package/src/components/pagination/pagination.js +20 -4
  180. package/src/components/panel/panel.css +4 -3
  181. package/src/components/questionnaire/questionnaire.css +4 -4
  182. package/src/components/rating/field-adapter.js +2 -1
  183. package/src/components/rating/rating.css +8 -1
  184. package/src/components/search/search.css +4 -1
  185. package/src/components/select/color.js +22 -0
  186. package/src/components/select/field-adapter.js +2 -0
  187. package/src/components/select/glyphs.js +165 -0
  188. package/src/components/select/select.css +138 -45
  189. package/src/components/select/select.js +92 -47
  190. package/src/components/sheet/sheet.css +12 -9
  191. package/src/components/sheet/sheet.js +74 -32
  192. package/src/components/slider/field-adapter.js +6 -1
  193. package/src/components/slider/slider.css +18 -4
  194. package/src/components/slider/slider.js +1 -1
  195. package/src/components/sort-control/sort-control.css +4 -1
  196. package/src/components/split-view/split-view.css +1 -1
  197. package/src/components/stat-tile/stat-tile.css +42 -47
  198. package/src/components/stat-tile/stat-tile.js +17 -6
  199. package/src/components/stepper/stepper.css +1 -1
  200. package/src/components/tabbox/tabbox.css +41 -32
  201. package/src/components/tabbox/tabbox.js +5 -1
  202. package/src/components/table/table.css +187 -37
  203. package/src/components/table/table.js +718 -73
  204. package/src/components/tag-picker/field-adapter.js +2 -1
  205. package/src/components/tag-picker/tag-picker.css +83 -5
  206. package/src/components/tag-picker/tag-picker.js +25 -8
  207. package/src/components/timebox/timebox.css +22 -2
  208. package/src/components/toggle/toggle.css +12 -1
  209. package/src/components/toolbar/toolbar.js +2 -2
  210. package/src/components/tooltip/tooltip.css +4 -0
  211. package/src/components/tooltip/tooltip.js +44 -19
  212. package/src/components/tree/tree.css +26 -17
  213. package/src/components/tree/tree.js +31 -0
  214. package/src/components/value-list/value-list.css +3 -3
  215. package/src/components/view/record-view.css +1 -1
  216. package/src/components/view/record-view.js +178 -18
  217. package/src/components/view-settings/view-settings.css +285 -0
  218. package/src/components/view-settings/view-settings.js +1830 -0
  219. package/src/components/workspace-switcher/workspace-switcher.css +188 -0
  220. package/src/components/workspace-switcher/workspace-switcher.js +463 -0
  221. package/src/core/breakpoint.js +1 -1
  222. package/src/core/component.js +88 -17
  223. package/src/core/fontawesome.js +5 -1
  224. package/src/core/i18n.js +47 -4
  225. package/src/core/icons.js +204 -61
  226. package/src/core/keyboard.js +206 -11
  227. package/src/core/messages.js +427 -0
  228. package/src/core/motion.js +147 -0
  229. package/src/core/overlay-host.js +77 -3
  230. package/src/core/overlay-stack.js +487 -0
  231. package/src/core/position.js +22 -3
  232. package/src/index.js +10 -5
  233. package/src/internal/app-rail.js +135 -55
  234. package/src/internal/menu-items.js +61 -3
  235. package/src/zeyos/connect.js +6 -2
  236. package/src/zeyos/form.js +69 -27
  237. package/src/zeyos/index.js +4 -1
  238. package/src/zeyos/launcher.js +8 -3
  239. package/src/zeyos/module-bar.js +181 -0
  240. package/src/zeyos/query.js +197 -13
  241. package/src/zeyos/schema.js +144 -27
  242. package/src/zeyos/table.js +287 -84
  243. package/src/zeyos/view.js +49 -93
  244. package/styles/base.css +72 -1
  245. package/styles/icons.css +11 -1
  246. package/styles/print.css +1 -1
  247. package/styles/tokens/dark.css +117 -37
  248. package/styles/tokens/global.css +121 -27
  249. package/styles/tokens/semantic.css +140 -43
  250. package/styles/tokens/themes.css +7 -6
  251. package/styles/zx.css +3 -1
  252. package/styles/tokens/density.css +0 -9
@@ -0,0 +1,382 @@
1
+ /**
2
+ * The library's default English catalogue: every message key a component resolves through
3
+ * `msg()`, mapped to the English text it shows when nothing else answers.
4
+ *
5
+ * `Component#msg()` asks, in order, the instance's own `msg` option, the host translator installed
6
+ * with `setTranslator()`, the component class's built-in `msg` defaults, this catalogue, and only
7
+ * then gives the key back. `translate()` asks the translator and then this catalogue. A host
8
+ * starting a locale copies this object and translates the values; keys are `component.key`,
9
+ * placeholders are `%1`, `%2`, … in the order the component passes its arguments.
10
+ *
11
+ * `tests/unit/messages.test.js` scans `src/` for every key a component asks for and fails when one
12
+ * has no entry here, or when an entry disagrees with the English fallback written beside the call.
13
+ * Three keys are deliberately absent, because something other than English must win when the
14
+ * translator has no answer: `tree.empty` and `finder.empty` fall back to the component's
15
+ * `emptyText` option, and `priority.medium` is probed before the older `priority.normal`.
16
+ */
17
+ export declare const defaultMessages: Readonly<{
18
+ 'activityItem.actions': "Actions for %1";
19
+ 'activityItem.attachments': "Attachments";
20
+ 'activityItem.failed': "Failed";
21
+ 'activityItem.label': "Activity";
22
+ 'activityItem.metadata': "Activity metadata";
23
+ 'activityItem.pending': "Sending…";
24
+ 'activityItem.untitled': "activity";
25
+ 'appRail.subNavigation': "%1 sub-navigation";
26
+ 'appSidebar.expand': "Expand application sidebar";
27
+ 'appSidebar.itemBadge': "%1 (%2)";
28
+ 'appSidebar.minimize': "Minimize application sidebar";
29
+ 'appSidebar.presentation': "Navigation layout";
30
+ 'appSidebar.presentationCollapsed': "Both menus collapsed";
31
+ 'appSidebar.presentationCompact': "Module menu collapsed";
32
+ 'appSidebar.presentationExpanded': "Both menus expanded";
33
+ 'breadcrumb.label': "Breadcrumb";
34
+ 'breadcrumb.more': "Show hidden levels";
35
+ 'calendar.agenda': "Agenda";
36
+ 'calendar.allDay': "All day";
37
+ 'calendar.day': "Day";
38
+ 'calendar.dayEvent': "%1, %2 event";
39
+ 'calendar.dayEvents': "%1, %2 events";
40
+ 'calendar.editCancelled': "Calendar edit cancelled.";
41
+ 'calendar.editCommitted': "%1 updated.";
42
+ 'calendar.editPreview': "%1, %2 to %3";
43
+ 'calendar.label': "Calendar";
44
+ 'calendar.loading': "Loading calendar…";
45
+ 'calendar.month': "Month";
46
+ 'calendar.more': "+%1 more";
47
+ 'calendar.moveStarted': "Moving %1. Use arrow keys, Space to drop, or Escape to cancel.";
48
+ 'calendar.new': "New";
49
+ 'calendar.next': "Next period";
50
+ 'calendar.noEvents': "No events";
51
+ 'calendar.previous': "Previous period";
52
+ 'calendar.resize': "Resize %1";
53
+ 'calendar.resizeStarted': "Resizing %1. Use arrow keys, Space to drop, or Escape to cancel.";
54
+ 'calendar.today': "Today";
55
+ 'calendar.viewSwitch': "Calendar view";
56
+ 'calendar.week': "Week";
57
+ 'calendar.weekNumber': "Week %1";
58
+ 'calendar.year': "Year";
59
+ 'card.actions': "Card actions";
60
+ 'cardView.groupEmpty': "No records in this group.";
61
+ 'cardView.label': "Card view";
62
+ 'cardView.sort': "Sort";
63
+ 'cardView.sortAscending': "%1 (ascending)";
64
+ 'cardView.sortCards': "Sort cards";
65
+ 'cardView.sortDescending': "%1 (descending)";
66
+ 'cardView.ungrouped': "Ungrouped";
67
+ 'cardView.unsorted': "Unsorted";
68
+ 'checklist.empty': "No matches";
69
+ 'checklist.label': "Checklist";
70
+ 'checklist.search': "Search";
71
+ 'dataFilter.all': "All";
72
+ 'dataFilter.clear': "Clear";
73
+ 'datePicker.calendar': "Calendar";
74
+ 'datePicker.chooseMonthYear': "Choose month and year, %1";
75
+ 'datePicker.nextMonth': "Next month";
76
+ 'datePicker.nextYear': "Next year";
77
+ 'datePicker.previousMonth': "Previous month";
78
+ 'datePicker.previousYear': "Previous year";
79
+ 'datePicker.week': "Week %1";
80
+ 'datePicker.weekNumber': "Week number";
81
+ 'daterange.choose': "Choose date range";
82
+ 'daterange.clear': "Clear date range";
83
+ 'daterange.day.end': "range end";
84
+ 'daterange.day.middle': "in selected range";
85
+ 'daterange.day.start': "range start";
86
+ 'daterange.label': "Date range";
87
+ 'daterange.nextMonth': "Next month";
88
+ 'daterange.night': "1 night";
89
+ 'daterange.nights': "%1 nights";
90
+ 'daterange.preset.last30': "Last 30 days";
91
+ 'daterange.preset.last7': "Last 7 days";
92
+ 'daterange.preset.lastMonth': "Last month";
93
+ 'daterange.preset.thisMonth': "This month";
94
+ 'daterange.preset.thisQuarter': "This quarter";
95
+ 'daterange.preset.thisYear': "This year";
96
+ 'daterange.preset.today': "Today";
97
+ 'daterange.preset.yesterday': "Yesterday";
98
+ 'daterange.presets': "Date range presets";
99
+ 'daterange.previousMonth': "Previous month";
100
+ 'daterange.status.empty': "No date range selected";
101
+ 'daterange.status.start': "%1 selected, choose an end date";
102
+ 'daterange.week': "Week %1";
103
+ 'daterange.weekNumber': "Week number";
104
+ 'dialog.cancel': "Cancel";
105
+ 'dialog.close': "Close";
106
+ 'dialog.ok': "OK";
107
+ 'dialog.promptValue': "Prompt value";
108
+ 'dialog.typeToConfirm': "Type %1 to confirm";
109
+ 'field.float': "Enter a valid number.";
110
+ 'field.int': "Enter a whole number.";
111
+ 'field.unknown': "Unknown field type: %1";
112
+ 'filter.addFilter': "Add filter";
113
+ 'filter.addGroup': "Add group";
114
+ 'filter.addSubgroup': "Add subgroup";
115
+ 'filter.and': "and";
116
+ 'filter.apply': "Apply filters";
117
+ 'filter.booleanFalse': "False";
118
+ 'filter.booleanTrue': "True";
119
+ 'filter.choose': "Choose…";
120
+ 'filter.chooseField': "Choose a field…";
121
+ 'filter.chooseOperator': "Choose an operator…";
122
+ 'filter.choosePart': "Choose %1…";
123
+ 'filter.clear': "Clear";
124
+ 'filter.commaSeparated': "Comma-separated values";
125
+ 'filter.conditionNoun': "Filter";
126
+ 'filter.conditions': "conditions";
127
+ 'filter.field': "Filter field";
128
+ 'filter.fieldValue': "%1 value";
129
+ 'filter.fieldValueAt': "%1 value %2";
130
+ 'filter.filterNoun': "filter";
131
+ 'filter.groupLogic': "Group filter logic";
132
+ 'filter.groupNoun': "Filter group";
133
+ 'filter.inThisGroup': "in this group";
134
+ 'filter.matchAll': "Match all";
135
+ 'filter.matchAllConditions': "Match all conditions";
136
+ 'filter.matchAny': "Match any";
137
+ 'filter.matchAnyConditions': "Match any conditions";
138
+ 'filter.noValue': "No value";
139
+ 'filter.operator': "Filter operator";
140
+ 'filter.or': "or";
141
+ 'filter.relativeAmount': "%1: number of units";
142
+ 'filter.relativeInvalid': "Enter a whole number of days, weeks or months";
143
+ 'filter.relativeUnit': "%1: unit";
144
+ 'filter.remove': "Remove %1";
145
+ 'filter.removed': "%1 removed";
146
+ 'filter.removeGroup': "Remove group";
147
+ 'filter.rootLogic': "Root filter logic";
148
+ 'filter.switchToAll': "%1 — switch to all";
149
+ 'filter.switchToAny': "%1 — switch to any";
150
+ 'filter.unavailable': "Unavailable: %1";
151
+ 'filter.unit.days': "days";
152
+ 'filter.unit.months': "months";
153
+ 'filter.unit.weeks': "weeks";
154
+ 'filterPanel.apply': "Apply";
155
+ 'filterPanel.clear': "Clear all";
156
+ 'filterPanel.empty': "No filters are available here.";
157
+ 'filterPanel.from': "From";
158
+ 'filterPanel.label': "Filters";
159
+ 'filterPanel.rangeFrom': "%1 from";
160
+ 'filterPanel.rangeTo': "%1 to";
161
+ 'filterPanel.to': "To";
162
+ 'filterPanel.unsupported': "Unsupported filter type: %1";
163
+ 'finder.loading': "Loading…";
164
+ 'finder.root': "Root";
165
+ 'form.float': "Enter a valid number.";
166
+ 'form.int': "Enter a whole number.";
167
+ 'form.required': "This field is required.";
168
+ 'launcher.back': "Back to %1";
169
+ 'launcher.close': "Close launcher";
170
+ 'launcher.empty': "No results";
171
+ 'launcher.hintBack': "Back";
172
+ 'launcher.hintClose': "Close";
173
+ 'launcher.hintMove': "Move";
174
+ 'launcher.hintOpen': "Open";
175
+ 'launcher.label': "Launcher";
176
+ 'launcher.loading': "Searching…";
177
+ 'launcher.pageEmpty': "%1, no results";
178
+ 'launcher.pageLabel': "Search %1";
179
+ 'launcher.pagePlaceholder': "Search";
180
+ 'launcher.pageResult': "%1, 1 result";
181
+ 'launcher.pageResults': "%1, %2 results";
182
+ 'launcher.placeholder': "Search applications and records";
183
+ 'launcher.results': "Launcher results";
184
+ 'listToolbar.label': "List controls";
185
+ 'listToolbar.results': "%1 results";
186
+ 'listToolbar.search': "Search";
187
+ 'listToolbar.toolBadge': "%1 (%2)";
188
+ 'listToolbar.viewAuto': "Auto";
189
+ 'listToolbar.viewBoard': "Board";
190
+ 'listToolbar.viewCards': "Cards";
191
+ 'listToolbar.viewGallery': "Gallery";
192
+ 'listToolbar.viewList': "List";
193
+ 'listToolbar.views': "View";
194
+ 'listToolbar.viewTable': "Table";
195
+ 'message.close': "Close message";
196
+ 'message.closeTitle': "Close";
197
+ 'moduleBar.empty': "No modules";
198
+ 'moduleBar.filter': "Filter modules";
199
+ 'moduleBar.itemBadge': "%1 (%2)";
200
+ 'moduleBar.label': "Modules";
201
+ 'moduleBar.more': "All modules";
202
+ 'monthPicker.chooseMonth': "Choose month";
203
+ 'monthPicker.nextYear': "Next year";
204
+ 'monthPicker.previousYear': "Previous year";
205
+ 'numberField.empty': "Empty";
206
+ 'pagination.empty': "0 of 0";
207
+ 'pagination.label': "Pagination";
208
+ 'pagination.loaded': "%1 of %2";
209
+ 'pagination.loadMore': "Load more";
210
+ 'pagination.next': "Next page";
211
+ 'pagination.page': "Page %1";
212
+ 'pagination.pageSize': "Rows per page";
213
+ 'pagination.previous': "Previous page";
214
+ 'pagination.summary': "%1–%2 of %3";
215
+ 'panel.actions': "Panel actions";
216
+ 'panel.footerActions': "Panel footer actions";
217
+ 'permission.private': "Private";
218
+ 'permission.public': "Public";
219
+ 'priority.high': "High";
220
+ 'priority.highest': "Highest";
221
+ 'priority.low': "Low";
222
+ 'priority.lowest': "Lowest";
223
+ 'priority.none': "No priority";
224
+ 'priority.normal': "Medium";
225
+ 'questionnaire.counter': "Question %1 of %2";
226
+ 'questionnaire.edit': "Edit";
227
+ 'questionnaire.empty': "There is nothing to answer.";
228
+ 'questionnaire.next': "Continue";
229
+ 'questionnaire.noAnswer': "Skipped";
230
+ 'questionnaire.previous': "Back";
231
+ 'questionnaire.required': "Choose an answer to continue.";
232
+ 'questionnaire.requiredInput': "Enter an answer to continue.";
233
+ 'questionnaire.review': "Review answers";
234
+ 'questionnaire.reviewTitle': "Check your answers";
235
+ 'questionnaire.skip': "Skip";
236
+ 'questionnaire.submit': "Submit";
237
+ 'rating.count': "%1 ratings";
238
+ 'rating.value': "%1 of %2";
239
+ 'recordCard.actions': "Actions for %1";
240
+ 'recordCard.notSelected': "Not selected";
241
+ 'recordCard.select': "Select %1";
242
+ 'recordCard.selected': "Selected";
243
+ 'recordCard.untitled': "record";
244
+ 'recordView.fieldMoved': "%1 moved to position %2 of %3";
245
+ 'recordView.fields': "Fields";
246
+ 'recordView.moveFieldDown': "Move %1 down";
247
+ 'recordView.moveFieldUp': "Move %1 up";
248
+ 'search.clear': "Clear search";
249
+ 'search.label': "Search";
250
+ 'search.submit': "Submit search";
251
+ 'search.submitTitle': "Search";
252
+ 'select.clear': "Clear selection";
253
+ 'select.empty': "No matches";
254
+ 'select.loading': "Loading";
255
+ 'select.none': "No selection";
256
+ 'select.toggle': "Toggle options";
257
+ 'sheet.resize': "Resize sheet";
258
+ 'statTile.down': "down %1";
259
+ 'statTile.loading': "Loading";
260
+ 'statTile.unchanged': "no change";
261
+ 'statTile.up': "up %1";
262
+ 'stepper.completed': "Completed";
263
+ 'stepper.counter': "Step %1 of %2";
264
+ 'stepper.current': "Current step";
265
+ 'stepper.error': "Error";
266
+ 'stepper.optional': "Optional";
267
+ 'tabbox.close': "Close";
268
+ 'table.collapseRow': "Collapse %1";
269
+ 'table.columns': "Columns";
270
+ 'table.empty': "No records";
271
+ 'table.label': "Table";
272
+ 'table.expandRow': "Expand %1";
273
+ 'table.invalid': "Invalid value";
274
+ 'table.more': "Show %1 more";
275
+ 'table.moveColumn': "Move %1";
276
+ 'table.moveRow': "Move %1";
277
+ 'table.row': "row %1";
278
+ 'table.selectAll': "Select all rows";
279
+ 'table.selectRow': "Select %1";
280
+ 'tagPicker.create': "Create “%1”";
281
+ 'tagPicker.empty': "No matches";
282
+ 'tagPicker.input': "Add a value";
283
+ 'tagPicker.loading': "Loading…";
284
+ 'tagPicker.remove': "Remove %1";
285
+ 'tagPicker.toggle': "Toggle options";
286
+ 'timebox.duration': "Duration in hours and minutes";
287
+ 'timebox.durationWithSeconds': "Duration in hours, minutes, and seconds";
288
+ 'timebox.hours': "Hours";
289
+ 'timebox.minutes': "Minutes";
290
+ 'timebox.seconds': "Seconds";
291
+ 'timebox.toggleSign': "Toggle duration sign";
292
+ 'timePicker.clock': "Pick the time on a clock";
293
+ 'timePicker.hour': "Hour";
294
+ 'timePicker.label': "Time";
295
+ 'timePicker.minute': "Minute";
296
+ 'timePicker.minutes': "Minutes";
297
+ 'timePicker.second': "Second";
298
+ 'timePicker.selectHour': "Select the hour";
299
+ 'timePicker.selectMinutes': "Select the minutes";
300
+ 'valueList.add': "Add value";
301
+ 'valueList.duplicate': "This value already exists.";
302
+ 'valueList.instructions': "Press Enter to add. Focus a value and press Ctrl plus Left or Right to reorder.";
303
+ 'valueList.invalid': "This value is not valid.";
304
+ 'valueList.removable': "%1. Press Delete to remove.";
305
+ 'valueList.values': "Values";
306
+ 'viewSettings.add': "Add";
307
+ 'viewSettings.added': "%1 added at position %2 of %3";
308
+ 'viewSettings.addField': "Add %1";
309
+ 'viewSettings.allShown': "Every field is shown.";
310
+ 'viewSettings.board': "Board";
311
+ 'viewSettings.canceled': "Move canceled. %1 is back at position %2 of %3";
312
+ 'viewSettings.chooseField': "Choose a field";
313
+ 'viewSettings.columns': "Columns";
314
+ 'viewSettings.dragging': "%1 picked up, position %2 of %3";
315
+ 'viewSettings.dropped': "%1 dropped at position %2 of %3";
316
+ 'viewSettings.emptyColumns': "Show empty columns";
317
+ 'viewSettings.fields': "Fields";
318
+ 'viewSettings.grabbed': "%1 picked up, position %2 of %3. Use the arrow keys to move it, Space to drop it, Escape to cancel.";
319
+ 'viewSettings.group': "Group by";
320
+ 'viewSettings.hidden': "Hidden (%1)";
321
+ 'viewSettings.hiddenField': "%1 hidden";
322
+ 'viewSettings.hide': "Hide %1";
323
+ 'viewSettings.instructions': "Press Space to pick the field up, the arrow keys to move it, Space again to drop it, or Escape to cancel.";
324
+ 'viewSettings.label': "View settings";
325
+ 'viewSettings.lastField': "At least one field stays shown";
326
+ 'viewSettings.locked': "Always shown";
327
+ 'viewSettings.moved': "%1 moved to position %2 of %3";
328
+ 'viewSettings.noMatch': "No hidden field matches “%1”.";
329
+ 'viewSettings.none': "None";
330
+ 'viewSettings.reorder': "Reorder %1";
331
+ 'viewSettings.search': "Find a field";
332
+ 'viewSettings.shown': "Shown (%1)";
333
+ 'viewSettings.swimlanes': "Swim lanes";
334
+ 'viewSettings.typeBoolean': "Checkbox";
335
+ 'viewSettings.typeDate': "Date";
336
+ 'viewSettings.typeDatetime': "Date and time";
337
+ 'viewSettings.typeEmail': "Email";
338
+ 'viewSettings.typeEntity': "Linked record";
339
+ 'viewSettings.typeFile': "File";
340
+ 'viewSettings.typeImage': "Image";
341
+ 'viewSettings.typeMoney': "Money";
342
+ 'viewSettings.typeNumber': "Number";
343
+ 'viewSettings.typePriority': "Priority";
344
+ 'viewSettings.typeRating': "Rating";
345
+ 'viewSettings.typeSelect': "Select";
346
+ 'viewSettings.typeStatus': "Status";
347
+ 'viewSettings.typeTags': "Tags";
348
+ 'viewSettings.typeText': "Text";
349
+ 'viewSettings.typeTime': "Time";
350
+ 'viewSettings.typeUrl': "URL";
351
+ 'workspaceSwitcher.heading': "Workspaces";
352
+ 'workspaceSwitcher.label': "Switch workspace: %1";
353
+ 'workspaceSwitcher.labelEmpty': "Switch workspace";
354
+ }>;
355
+ /**
356
+ * Keys renamed in 5.x, each mapped to the key it replaced. `Component#msg()` reads the old key
357
+ * second — after the new one, in the instance `msg` option and in the host translator alike — so a
358
+ * translation written against the old name keeps working for one more major version.
359
+ */
360
+ export declare const legacyMessageKeys: Readonly<{
361
+ 'calendar.agenda': "agenda";
362
+ 'calendar.allDay': "allDay";
363
+ 'calendar.day': "day";
364
+ 'calendar.editCancelled': "editCancelled";
365
+ 'calendar.editCommitted': "editCommitted";
366
+ 'calendar.editPreview': "editPreview";
367
+ 'calendar.label': "calendar";
368
+ 'calendar.loading': "loading";
369
+ 'calendar.month': "month";
370
+ 'calendar.more': "more";
371
+ 'calendar.moveStarted': "moveStarted";
372
+ 'calendar.new': "new";
373
+ 'calendar.next': "next";
374
+ 'calendar.noEvents': "noEvents";
375
+ 'calendar.previous': "previous";
376
+ 'calendar.resize': "resize";
377
+ 'calendar.resizeStarted': "resizeStarted";
378
+ 'calendar.today': "today";
379
+ 'calendar.week': "week";
380
+ 'calendar.weekNumber': "weekNumber";
381
+ 'calendar.year': "year";
382
+ }>;
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Motion as a setting, for the code that animates in script.
3
+ *
4
+ * CSS motion needs nothing from here: `tokens/global.css` sets every `--zx-dur-*` to 0ms and
5
+ * `base.css` stops animations and transitions both under the operating system's reduced-motion
6
+ * preference and inside any `data-zx-motion="reduced"` region. A chart engine's own tweening, a
7
+ * `requestAnimationFrame` loop, or `element.animate()` never sees those rules, so a component that
8
+ * moves things itself asks `prefersReducedMotion()` before it starts and `watchMotion()` for the
9
+ * moment the answer changes.
10
+ *
11
+ * There is no "full motion" value: a region can only ask for less. Someone who asked their system
12
+ * for reduced motion gets it whatever an application or a region says.
13
+ * @module zx/core/motion
14
+ */
15
+ /** The attribute that marks a reduced-motion region. Its one meaningful value is `reduced`. */
16
+ export declare const MOTION_ATTRIBUTE = "data-zx-motion";
17
+ /**
18
+ * Whether motion should stop where `element` is: true under the operating system's reduced-motion
19
+ * preference, or when the element sits inside a `data-zx-motion="reduced"` region (the element
20
+ * itself included). The region check crosses shadow-root boundaries.
21
+ * @param {Element|null} [element] Where the motion would happen. Omitted, the document root is
22
+ * asked — which answers for an application that sets the attribute on `<html>`.
23
+ * @returns {boolean}
24
+ */
25
+ export declare function prefersReducedMotion(element?: Element | null): boolean;
26
+ export type WatchMotionOptions = {
27
+ /**
28
+ * Stops watching when aborted, exactly as calling the returned
29
+ * disposer does. A signal that is already aborted watches nothing.
30
+ */
31
+ signal?: AbortSignal;
32
+ /**
33
+ * Also calls back once, synchronously, with the current
34
+ * answer — convenient for a loop that starts or stays stopped in the same callback.
35
+ */
36
+ immediate?: boolean;
37
+ };
38
+ /**
39
+ * @typedef {Object} WatchMotionOptions
40
+ * @property {AbortSignal} [signal] Stops watching when aborted, exactly as calling the returned
41
+ * disposer does. A signal that is already aborted watches nothing.
42
+ * @property {boolean} [immediate=false] Also calls back once, synchronously, with the current
43
+ * answer — convenient for a loop that starts or stays stopped in the same callback.
44
+ */
45
+ /**
46
+ * Calls back whenever `prefersReducedMotion(element)` changes: when the operating-system preference
47
+ * flips, or when a `data-zx-motion` attribute is set, changed, or removed on the element or any
48
+ * ancestor (in the document, or in the shadow root the element lives in). The callback receives
49
+ * the new answer and runs only on a real change.
50
+ *
51
+ * Moving the element into or out of a reduced region is not observed — ask
52
+ * `prefersReducedMotion()` again after re-parenting.
53
+ * @param {Element|null} element Where the motion happens. Null watches the document root.
54
+ * @param {(reduced: boolean) => void} fn Receives `true` when motion must stop, `false` when it may
55
+ * run again.
56
+ * @param {WatchMotionOptions} [options={}]
57
+ * @returns {() => void} Disposer: stops watching. Safe to call more than once.
58
+ */
59
+ export declare function watchMotion(element: Element | null, fn: (reduced: boolean) => void, options?: WatchMotionOptions): () => void;
@@ -2,11 +2,52 @@
2
2
  * Finds the closest styling scope for a top-layer element.
3
3
  *
4
4
  * Popovers and dialogs escape clipping even when their DOM parent is inside an application shell,
5
- * so keeping them below that parent preserves inherited theme, density, material, and product
5
+ * so keeping them below that parent preserves inherited theme, preset, material, and product
6
6
  * token overrides without sacrificing top-layer behaviour. The document body remains the safe
7
7
  * fallback for unscoped applications.
8
8
  *
9
+ * Never answers a dialog: this is where a dialog itself, or anything at rest, belongs.
10
+ *
9
11
  * @param {Element|string|null} [source=null] Element or selector whose styling scope should own the overlay.
10
12
  * @returns {Element}
11
13
  */
14
+ export declare function overlayScope(source?: Element | string | null): Element;
15
+ /**
16
+ * Finds the element an anchored overlay should live in while it is open.
17
+ *
18
+ * A source inside an open `<dialog>` — modal, focus-trapping, or a floating non-modal Sheet — is
19
+ * hosted by that dialog: the panel still rises into the top layer above it, and being in its
20
+ * subtree is what keeps the panel out of `showModal()`'s inertness and inside a focus trap's
21
+ * reach. Anywhere else the answer is the nearest styling scope, as `overlayScope()` gives it.
22
+ *
23
+ * Without a source the focused element supplies the scope, and no dialog is chosen: what is
24
+ * being hosted then is not anchored to the focused element, only themed by it.
25
+ *
26
+ * @param {Element|string|null} [source=null] Element or selector the overlay is anchored to.
27
+ * @returns {Element}
28
+ */
12
29
  export declare function overlayHost(source?: Element | string | null): Element;
30
+ /**
31
+ * Like `overlayHost()`, but declines to guess for a source that is not in the document yet.
32
+ *
33
+ * A component created before its anchor is connected cannot know which themed region the anchor
34
+ * will end up in: the anchor's ancestors are not there yet, so `overlayHost()` would answer
35
+ * `<body>`, outside every `[data-zx-theme]` and `.zx-scope`. This returns null instead, so the
36
+ * overlay can stay detached until it first opens and resolve its host with `overlayHost()` then,
37
+ * when the anchor is in place. The focused-element default (`source` null) is always connected and
38
+ * resolves exactly as `overlayHost()` does.
39
+ *
40
+ * @param {Element|string|null} [source=null] Element or selector whose styling scope should own the overlay.
41
+ * @param {{dialog?: boolean}} [options={}] `dialog: false` answers the styling scope only, as
42
+ * `overlayScope()` does — where a closed panel rests until it opens.
43
+ * @returns {Element|null} The host, or null while the source is not connected to the document.
44
+ */
45
+ export declare function connectedOverlayHost(source?: Element | string | null, options?: {
46
+ dialog?: boolean;
47
+ }): Element | null;
48
+ /**
49
+ * The open dialog an element sits in, or null.
50
+ * @param {Element|null|undefined} element
51
+ * @returns {Element|null}
52
+ */
53
+ export declare function openDialogOf(element: Element | null | undefined): Element | null;