@zeyos/zx 4.3.4 → 5.0.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 (231) hide show
  1. package/CHANGELOG.md +438 -0
  2. package/README.md +49 -10
  3. package/dist/types/components/activity-item/activity-item.d.ts +351 -0
  4. package/dist/types/components/activity-list/activity-list.d.ts +217 -0
  5. package/dist/types/components/app-sidebar/app-sidebar.d.ts +33 -3
  6. package/dist/types/components/avatar/avatar.d.ts +46 -7
  7. package/dist/types/components/badge/badge.d.ts +21 -1
  8. package/dist/types/components/button/button.d.ts +23 -0
  9. package/dist/types/components/calendar/calendar.d.ts +19 -0
  10. package/dist/types/components/card/card.d.ts +7 -0
  11. package/dist/types/components/card-view/card-view.d.ts +11 -3
  12. package/dist/types/components/card-view/record-card.d.ts +7 -1
  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 +149 -0
  16. package/dist/types/components/code-editor/field-adapter.d.ts +5 -0
  17. package/dist/types/components/context-menu/context-menu.d.ts +18 -2
  18. package/dist/types/components/date-picker/date-picker.d.ts +8 -0
  19. package/dist/types/components/date-picker/time-picker.d.ts +7 -0
  20. package/dist/types/components/datebox/date-range-box.d.ts +5 -1
  21. package/dist/types/components/datebox/datebox.d.ts +7 -2
  22. package/dist/types/components/dialog/dialog.d.ts +75 -6
  23. package/dist/types/components/dropdown/dropdown.d.ts +2 -2
  24. package/dist/types/components/entity-ref/entity-ref.d.ts +331 -0
  25. package/dist/types/components/field/field.d.ts +24 -2
  26. package/dist/types/components/fieldset/fieldset.d.ts +19 -1
  27. package/dist/types/components/file-item/file-item.d.ts +262 -0
  28. package/dist/types/components/file-list/file-list.d.ts +171 -0
  29. package/dist/types/components/filter/filter.d.ts +91 -36
  30. package/dist/types/components/filter-panel/filter-panel.d.ts +449 -0
  31. package/dist/types/components/form/form.d.ts +12 -1
  32. package/dist/types/components/kanban-view/kanban-card.d.ts +146 -0
  33. package/dist/types/components/kanban-view/kanban-view.d.ts +170 -4
  34. package/dist/types/components/launcher/launcher.d.ts +278 -26
  35. package/dist/types/components/list-toolbar/list-toolbar.d.ts +599 -0
  36. package/dist/types/components/menu-button/menu-button.d.ts +37 -42
  37. package/dist/types/components/message/message.d.ts +126 -17
  38. package/dist/types/components/modal/modal.d.ts +61 -2
  39. package/dist/types/components/navigation-bar/navigation-bar.d.ts +105 -21
  40. package/dist/types/components/panel/panel.d.ts +7 -0
  41. package/dist/types/components/search/search.d.ts +7 -0
  42. package/dist/types/components/select/color.d.ts +12 -0
  43. package/dist/types/components/select/glyphs.d.ts +124 -0
  44. package/dist/types/components/select/select.d.ts +15 -3
  45. package/dist/types/components/sort-control/sort-control.d.ts +105 -0
  46. package/dist/types/components/stat-tile/stat-tile.d.ts +288 -0
  47. package/dist/types/components/tabbox/tabbox.d.ts +16 -0
  48. package/dist/types/components/table/table.d.ts +190 -1
  49. package/dist/types/components/table-view/table-view.d.ts +11 -5
  50. package/dist/types/components/tag-picker/tag-picker.d.ts +21 -4
  51. package/dist/types/components/timebox/timebox.d.ts +7 -0
  52. package/dist/types/components/tree/tree.d.ts +13 -0
  53. package/dist/types/components/value-list/value-list.d.ts +8 -0
  54. package/dist/types/components/view/record-view.d.ts +96 -5
  55. package/dist/types/core/breakpoint.d.ts +1 -1
  56. package/dist/types/core/icons.d.ts +37 -22
  57. package/dist/types/core/motion.d.ts +59 -0
  58. package/dist/types/core/overlay-host.d.ts +15 -1
  59. package/dist/types/index.d.ts +16 -3
  60. package/dist/types/internal/app-rail.d.ts +10 -0
  61. package/dist/types/internal/menu-items.d.ts +134 -0
  62. package/dist/types/zeyos/connect.d.ts +6 -0
  63. package/dist/types/zeyos/form.d.ts +50 -9
  64. package/dist/types/zeyos/index.d.ts +1 -1
  65. package/dist/types/zeyos/query.d.ts +79 -0
  66. package/dist/types/zeyos/schema.d.ts +24 -1
  67. package/dist/types/zeyos/table.d.ts +100 -14
  68. package/dist/types/zeyos/view.d.ts +10 -0
  69. package/dist/zx-zeyos.esm.js +2206 -489
  70. package/dist/zx-zeyos.esm.min.js +56 -1
  71. package/dist/zx.css +3322 -724
  72. package/dist/zx.esm.js +12244 -5809
  73. package/dist/zx.esm.min.js +58 -3
  74. package/dist/zx.global.js +12246 -5811
  75. package/dist/zx.global.min.js +58 -3
  76. package/dist/zx.min.css +1 -1
  77. package/docs/api.json +1683 -146
  78. package/docs/llms.md +777 -110
  79. package/docs/llms.txt +14 -8
  80. package/package.json +1 -1
  81. package/src/components/account-menu/account-menu.css +35 -10
  82. package/src/components/activity-item/activity-item.css +137 -0
  83. package/src/components/activity-item/activity-item.js +602 -0
  84. package/src/components/activity-list/activity-list.css +99 -0
  85. package/src/components/activity-list/activity-list.js +409 -0
  86. package/src/components/app-icon/app-icon.css +1 -1
  87. package/src/components/app-rail/app-rail.css +191 -22
  88. package/src/components/app-sidebar/app-sidebar.css +349 -24
  89. package/src/components/app-sidebar/app-sidebar.js +86 -11
  90. package/src/components/aurora/aurora.css +5 -3
  91. package/src/components/avatar/avatar.css +32 -7
  92. package/src/components/avatar/avatar.js +72 -8
  93. package/src/components/badge/badge.css +54 -2
  94. package/src/components/badge/badge.js +29 -2
  95. package/src/components/button/button.css +74 -8
  96. package/src/components/button/button.js +44 -1
  97. package/src/components/calendar/calendar.css +46 -46
  98. package/src/components/calendar/calendar.js +33 -3
  99. package/src/components/card/card.css +2 -2
  100. package/src/components/card/card.js +12 -1
  101. package/src/components/card-view/card-view.css +10 -7
  102. package/src/components/card-view/card-view.js +25 -9
  103. package/src/components/card-view/record-card.js +7 -3
  104. package/src/components/chart/chart.css +4 -1
  105. package/src/components/chart/chart.js +12 -0
  106. package/src/components/check-button/check-button.css +10 -2
  107. package/src/components/checklist/checklist.css +9 -2
  108. package/src/components/checklist/checklist.js +11 -5
  109. package/src/components/checklist/field-adapter.js +3 -1
  110. package/src/components/code-editor/code-editor.css +68 -0
  111. package/src/components/code-editor/code-editor.js +306 -0
  112. package/src/components/code-editor/field-adapter.js +34 -0
  113. package/src/components/context-menu/context-menu.css +87 -5
  114. package/src/components/context-menu/context-menu.js +22 -30
  115. package/src/components/copy/copy-button.css +6 -0
  116. package/src/components/copy/copy-input.css +8 -3
  117. package/src/components/data-filter/data-filter.css +5 -4
  118. package/src/components/date-picker/date-picker.css +6 -6
  119. package/src/components/date-picker/date-picker.js +22 -8
  120. package/src/components/date-picker/date-range-picker.css +3 -3
  121. package/src/components/date-picker/month-picker.js +3 -3
  122. package/src/components/date-picker/time-picker.css +1 -1
  123. package/src/components/date-picker/time-picker.js +20 -8
  124. package/src/components/datebox/date-range-box.css +79 -2
  125. package/src/components/datebox/date-range-box.js +13 -2
  126. package/src/components/datebox/datebox.css +79 -2
  127. package/src/components/datebox/datebox.js +13 -2
  128. package/src/components/dialog/dialog.css +26 -0
  129. package/src/components/dialog/dialog.js +174 -70
  130. package/src/components/dropdown/dropdown.css +1 -1
  131. package/src/components/dropdown/dropdown.js +7 -5
  132. package/src/components/empty-state/empty-state.css +2 -2
  133. package/src/components/entity-ref/entity-ref.css +182 -0
  134. package/src/components/entity-ref/entity-ref.js +496 -0
  135. package/src/components/field/field.css +28 -9
  136. package/src/components/field/field.js +68 -26
  137. package/src/components/field-upload/field-upload.css +1 -1
  138. package/src/components/fieldset/fieldset.css +5 -3
  139. package/src/components/fieldset/fieldset.js +28 -5
  140. package/src/components/file-item/file-item.css +88 -0
  141. package/src/components/file-item/file-item.js +505 -0
  142. package/src/components/file-list/file-list.css +51 -0
  143. package/src/components/file-list/file-list.js +320 -0
  144. package/src/components/filter/filter.css +27 -1
  145. package/src/components/filter/filter.js +205 -47
  146. package/src/components/filter-panel/filter-panel.css +104 -0
  147. package/src/components/filter-panel/filter-panel.js +964 -0
  148. package/src/components/finder/finder.css +15 -13
  149. package/src/components/form/form.css +5 -4
  150. package/src/components/form/form.js +11 -2
  151. package/src/components/grid/grid.css +1 -1
  152. package/src/components/groupbox/groupbox.css +1 -1
  153. package/src/components/kanban-view/kanban-card.js +247 -0
  154. package/src/components/kanban-view/kanban-view.css +226 -8
  155. package/src/components/kanban-view/kanban-view.js +255 -12
  156. package/src/components/launcher/launcher.css +107 -25
  157. package/src/components/launcher/launcher.js +557 -63
  158. package/src/components/list-toolbar/list-toolbar.css +194 -0
  159. package/src/components/list-toolbar/list-toolbar.js +851 -0
  160. package/src/components/master-panel/master-panel.css +2 -0
  161. package/src/components/menu-button/menu-button.css +87 -5
  162. package/src/components/menu-button/menu-button.js +86 -46
  163. package/src/components/message/message.css +38 -5
  164. package/src/components/message/message.js +230 -17
  165. package/src/components/modal/modal.css +15 -0
  166. package/src/components/modal/modal.js +159 -3
  167. package/src/components/navigation-bar/navigation-bar.css +95 -11
  168. package/src/components/navigation-bar/navigation-bar.js +171 -4
  169. package/src/components/number-field/field-adapter.js +1 -0
  170. package/src/components/number-field/number-field.css +70 -0
  171. package/src/components/number-field/number-field.js +2 -0
  172. package/src/components/pagination/pagination.css +8 -6
  173. package/src/components/panel/panel.css +1 -1
  174. package/src/components/panel/panel.js +13 -2
  175. package/src/components/rating/rating.css +7 -0
  176. package/src/components/search/search.js +17 -5
  177. package/src/components/select/color.js +22 -0
  178. package/src/components/select/field-adapter.js +6 -1
  179. package/src/components/select/glyphs.js +165 -0
  180. package/src/components/select/select.css +138 -45
  181. package/src/components/select/select.js +86 -47
  182. package/src/components/sheet/sheet.css +11 -8
  183. package/src/components/slider/slider.css +16 -2
  184. package/src/components/slider/slider.js +1 -1
  185. package/src/components/sort-control/sort-control.css +20 -0
  186. package/src/components/sort-control/sort-control.js +140 -0
  187. package/src/components/stat-tile/stat-tile.css +208 -0
  188. package/src/components/stat-tile/stat-tile.js +601 -0
  189. package/src/components/tabbox/tabbox.css +32 -27
  190. package/src/components/tabbox/tabbox.js +17 -2
  191. package/src/components/table/table.css +155 -31
  192. package/src/components/table/table.js +386 -33
  193. package/src/components/table-view/table-view.css +8 -2
  194. package/src/components/table-view/table-view.js +21 -6
  195. package/src/components/tag-picker/tag-picker.css +86 -6
  196. package/src/components/tag-picker/tag-picker.js +25 -8
  197. package/src/components/timebox/timebox.css +22 -2
  198. package/src/components/timebox/timebox.js +18 -5
  199. package/src/components/toggle/toggle.css +12 -1
  200. package/src/components/toolbar/toolbar.js +2 -2
  201. package/src/components/tooltip/tooltip.css +4 -0
  202. package/src/components/tooltip/tooltip.js +10 -3
  203. package/src/components/tree/tree.css +25 -16
  204. package/src/components/tree/tree.js +31 -0
  205. package/src/components/value-list/value-list.css +3 -3
  206. package/src/components/value-list/value-list.js +22 -6
  207. package/src/components/view/record-view.css +5 -0
  208. package/src/components/view/record-view.js +100 -7
  209. package/src/core/breakpoint.js +1 -1
  210. package/src/core/icons.js +259 -57
  211. package/src/core/motion.js +147 -0
  212. package/src/core/overlay-host.js +21 -2
  213. package/src/index.js +30 -3
  214. package/src/internal/app-rail.js +18 -1
  215. package/src/internal/menu-items.js +142 -0
  216. package/src/zeyos/connect.js +6 -2
  217. package/src/zeyos/form.js +67 -27
  218. package/src/zeyos/index.js +1 -1
  219. package/src/zeyos/query.js +153 -0
  220. package/src/zeyos/schema.js +144 -27
  221. package/src/zeyos/table.js +68 -5
  222. package/src/zeyos/view.js +6 -0
  223. package/styles/base.css +56 -0
  224. package/styles/icons.css +11 -1
  225. package/styles/print.css +192 -0
  226. package/styles/tokens/dark.css +113 -37
  227. package/styles/tokens/global.css +121 -27
  228. package/styles/tokens/semantic.css +100 -31
  229. package/styles/tokens/themes.css +7 -6
  230. package/styles/zx.css +11 -1
  231. package/styles/tokens/density.css +0 -9
@@ -0,0 +1,208 @@
1
+ /*
2
+ * The tile is a size ladder, not a colour: the value is the loudest thing on it, the label is a
3
+ * quiet sentence-case line above it, and the caption, delta and sparkline are quieter than both.
4
+ * The icon is a muted glyph, not a coloured chip. `kind` tints the sparkline only — never the
5
+ * value, which has to stay at full text contrast whatever intent a server assigns the metric.
6
+ *
7
+ * A column, with the sparkline pushed to the foot: tiles in one row are as tall as the tallest,
8
+ * so their labels, values and sparklines line up whether or not each tile has every part.
9
+ */
10
+ .zx-stat-tile {
11
+ --zx-stat-tile-value-size: var(--zx-text-2xl);
12
+ display: flex;
13
+ flex-direction: column;
14
+ gap: var(--zx-space-1);
15
+ min-inline-size: 0;
16
+ padding: var(--zx-space-4);
17
+ border: 1px solid var(--zx-color-border);
18
+ border-radius: var(--zx-radius-lg);
19
+ background: var(--zx-color-bg-surface);
20
+ color: var(--zx-color-text);
21
+ }
22
+
23
+ /* The link and button shapes are the same tile, so their native chrome is taken back off. */
24
+ a.zx-stat-tile,
25
+ button.zx-stat-tile {
26
+ appearance: none;
27
+ inline-size: 100%;
28
+ margin: 0;
29
+ font: inherit;
30
+ text-align: start;
31
+ text-decoration: none;
32
+ color: inherit;
33
+ cursor: pointer;
34
+ }
35
+
36
+ a.zx-stat-tile:hover,
37
+ button.zx-stat-tile:hover {
38
+ border-color: var(--zx-color-border-strong);
39
+ background: var(--zx-color-bg-hover);
40
+ }
41
+
42
+ a.zx-stat-tile:focus-visible,
43
+ button.zx-stat-tile:focus-visible {
44
+ outline: 0;
45
+ box-shadow: var(--zx-focus-ring);
46
+ }
47
+
48
+ @media (prefers-reduced-motion: no-preference) {
49
+ a.zx-stat-tile,
50
+ button.zx-stat-tile {
51
+ transition: background var(--zx-dur-fast) var(--zx-ease), border-color var(--zx-dur-fast) var(--zx-ease);
52
+ }
53
+ }
54
+
55
+ .zx-stat-tile__header {
56
+ display: flex;
57
+ gap: var(--zx-space-2);
58
+ align-items: center;
59
+ justify-content: space-between;
60
+ min-inline-size: 0;
61
+ }
62
+
63
+ .zx-stat-tile__label {
64
+ min-inline-size: 0;
65
+ overflow: hidden;
66
+ font-size: var(--zx-text-sm);
67
+ font-weight: var(--zx-weight-medium);
68
+ line-height: 1.4;
69
+ text-overflow: ellipsis;
70
+ white-space: nowrap;
71
+ color: var(--zx-color-text-muted);
72
+ }
73
+
74
+ .zx-stat-tile__icon {
75
+ display: inline-grid;
76
+ flex: none;
77
+ place-items: center;
78
+ color: var(--zx-color-text-subtle);
79
+ }
80
+
81
+ /*
82
+ * Wrapping rather than truncating: a clipped label is still a label, but a clipped number is a
83
+ * different number, and a server-supplied metric can be any length at all.
84
+ */
85
+ .zx-stat-tile__value {
86
+ min-inline-size: 0;
87
+ margin-block-start: var(--zx-space-1);
88
+ font-size: var(--zx-stat-tile-value-size);
89
+ font-weight: 650;
90
+ font-variant-numeric: tabular-nums;
91
+ letter-spacing: var(--zx-tracking-title);
92
+ line-height: 1.15;
93
+ overflow-wrap: break-word;
94
+ color: var(--zx-color-text);
95
+ }
96
+
97
+ /* What the value is out of, or measured in: one muted line, read with the value. */
98
+ .zx-stat-tile__caption {
99
+ min-inline-size: 0;
100
+ overflow: hidden;
101
+ color: var(--zx-color-text-muted);
102
+ font-size: var(--zx-text-sm);
103
+ font-variant-numeric: tabular-nums;
104
+ line-height: 1.4;
105
+ text-overflow: ellipsis;
106
+ white-space: nowrap;
107
+ }
108
+
109
+ .zx-stat-tile__delta {
110
+ display: flex;
111
+ gap: var(--zx-space-1);
112
+ align-items: baseline;
113
+ min-inline-size: 0;
114
+ font-size: var(--zx-text-xs);
115
+ font-weight: var(--zx-weight-medium);
116
+ font-variant-numeric: tabular-nums;
117
+ line-height: 1.4;
118
+ color: var(--zx-color-text-muted);
119
+ }
120
+
121
+ /*
122
+ * `deltaKind` decides this, not the direction: a metric that went up is not thereby good news.
123
+ * The colour is the last signal in the row, after the sign and the arrow, never the only one.
124
+ */
125
+ .zx-stat-tile__delta[data-kind="positive"] {
126
+ color: var(--zx-color-success);
127
+ }
128
+
129
+ .zx-stat-tile__delta[data-kind="negative"] {
130
+ color: var(--zx-color-danger);
131
+ }
132
+
133
+ .zx-stat-tile__delta .zx-icon {
134
+ flex: none;
135
+ align-self: center;
136
+ }
137
+
138
+ .zx-stat-tile__delta-value {
139
+ /* A figure never breaks ("+23" over "pcs"); the comparison beside it gives way first. */
140
+ flex: none;
141
+ white-space: nowrap;
142
+ }
143
+
144
+ .zx-stat-tile__delta-label {
145
+ min-inline-size: 0;
146
+ overflow: hidden;
147
+ font-weight: 400;
148
+ text-overflow: ellipsis;
149
+ white-space: nowrap;
150
+ /* Reset: the comparison is not part of the change and must not inherit its intent colour. */
151
+ color: var(--zx-color-text-muted);
152
+ }
153
+
154
+ .zx-stat-tile__trend {
155
+ display: block;
156
+ flex: none;
157
+ box-sizing: content-box;
158
+ inline-size: 100%;
159
+ block-size: 2rem;
160
+ margin-block-start: auto;
161
+ padding-block-start: var(--zx-space-2);
162
+ color: var(--zx-color-text-placeholder);
163
+ }
164
+
165
+ .zx-stat-tile__loading {
166
+ display: grid;
167
+ gap: var(--zx-space-2);
168
+ }
169
+
170
+ /* Intent. The sparkline carries it as its stroke; the icon stays a muted glyph. */
171
+ .zx-stat-tile[data-kind="accent"] .zx-stat-tile__trend {
172
+ color: var(--zx-color-accent);
173
+ }
174
+
175
+ .zx-stat-tile[data-kind="success"] .zx-stat-tile__trend {
176
+ color: var(--zx-color-success);
177
+ }
178
+
179
+ .zx-stat-tile[data-kind="warning"] .zx-stat-tile__trend {
180
+ color: var(--zx-color-warning);
181
+ }
182
+
183
+ .zx-stat-tile[data-kind="danger"] .zx-stat-tile__trend {
184
+ color: var(--zx-color-danger);
185
+ }
186
+
187
+ .zx-stat-tile[data-kind="info"] .zx-stat-tile__trend {
188
+ color: var(--zx-color-info);
189
+ }
190
+
191
+ @media (forced-colors: active) {
192
+ .zx-stat-tile {
193
+ border-color: CanvasText;
194
+ }
195
+
196
+ a.zx-stat-tile:hover,
197
+ button.zx-stat-tile:hover {
198
+ border-color: Highlight;
199
+ }
200
+
201
+ /* Every intent resolves to the same system colour here, so the arrow and sign carry the change. */
202
+ .zx-stat-tile__delta,
203
+ .zx-stat-tile__delta-label,
204
+ .zx-stat-tile__icon,
205
+ .zx-stat-tile__trend {
206
+ color: CanvasText;
207
+ }
208
+ }