@kgdiff/viewer 0.4.0 → 0.6.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 (257) hide show
  1. package/README.md +43 -16
  2. package/custom-elements.json +2347 -0
  3. package/dist/bind.d.ts +41 -0
  4. package/dist/bind.d.ts.map +1 -0
  5. package/dist/bind.js +47 -0
  6. package/dist/bind.js.map +1 -0
  7. package/dist/context.d.ts +42 -0
  8. package/dist/context.d.ts.map +1 -0
  9. package/dist/context.js +87 -0
  10. package/dist/context.js.map +1 -0
  11. package/dist/controller.d.ts +26 -237
  12. package/dist/controller.d.ts.map +1 -1
  13. package/dist/controller.js +33 -1484
  14. package/dist/controller.js.map +1 -1
  15. package/dist/dom.d.ts +10 -0
  16. package/dist/dom.d.ts.map +1 -1
  17. package/dist/dom.js +29 -0
  18. package/dist/dom.js.map +1 -1
  19. package/dist/element.d.ts +51 -42
  20. package/dist/element.d.ts.map +1 -1
  21. package/dist/element.js +381 -602
  22. package/dist/element.js.map +1 -1
  23. package/dist/elements/actions.d.ts +27 -0
  24. package/dist/elements/actions.d.ts.map +1 -0
  25. package/dist/elements/actions.js +81 -0
  26. package/dist/elements/actions.js.map +1 -0
  27. package/dist/elements/bound.d.ts +63 -0
  28. package/dist/elements/bound.d.ts.map +1 -0
  29. package/dist/elements/bound.js +213 -0
  30. package/dist/elements/bound.js.map +1 -0
  31. package/dist/elements/change-detail.d.ts +25 -0
  32. package/dist/elements/change-detail.d.ts.map +1 -0
  33. package/dist/elements/change-detail.js +19 -0
  34. package/dist/elements/change-detail.js.map +1 -0
  35. package/dist/elements/change-list.d.ts +27 -0
  36. package/dist/elements/change-list.d.ts.map +1 -0
  37. package/dist/elements/change-list.js +29 -0
  38. package/dist/elements/change-list.js.map +1 -0
  39. package/dist/elements/filters.d.ts +25 -0
  40. package/dist/elements/filters.d.ts.map +1 -0
  41. package/dist/elements/filters.js +19 -0
  42. package/dist/elements/filters.js.map +1 -0
  43. package/dist/elements/legend.d.ts +40 -0
  44. package/dist/elements/legend.d.ts.map +1 -0
  45. package/dist/elements/legend.js +87 -0
  46. package/dist/elements/legend.js.map +1 -0
  47. package/dist/elements/minimap.d.ts +38 -0
  48. package/dist/elements/minimap.d.ts.map +1 -0
  49. package/dist/elements/minimap.js +59 -0
  50. package/dist/elements/minimap.js.map +1 -0
  51. package/dist/elements/root.d.ts +40 -0
  52. package/dist/elements/root.d.ts.map +1 -0
  53. package/dist/elements/root.js +67 -0
  54. package/dist/elements/root.js.map +1 -0
  55. package/dist/elements/search.d.ts +29 -0
  56. package/dist/elements/search.d.ts.map +1 -0
  57. package/dist/elements/search.js +23 -0
  58. package/dist/elements/search.js.map +1 -0
  59. package/dist/elements/stage-context.d.ts +31 -0
  60. package/dist/elements/stage-context.d.ts.map +1 -0
  61. package/dist/elements/stage-context.js +4 -0
  62. package/dist/elements/stage-context.js.map +1 -0
  63. package/dist/elements/stage.d.ts +65 -0
  64. package/dist/elements/stage.d.ts.map +1 -0
  65. package/dist/elements/stage.js +259 -0
  66. package/dist/elements/stage.js.map +1 -0
  67. package/dist/elements/title.d.ts +25 -0
  68. package/dist/elements/title.d.ts.map +1 -0
  69. package/dist/elements/title.js +19 -0
  70. package/dist/elements/title.js.map +1 -0
  71. package/dist/elements/transport.d.ts +29 -0
  72. package/dist/elements/transport.d.ts.map +1 -0
  73. package/dist/elements/transport.js +24 -0
  74. package/dist/elements/transport.js.map +1 -0
  75. package/dist/elements/view-bound.d.ts +39 -0
  76. package/dist/elements/view-bound.d.ts.map +1 -0
  77. package/dist/elements/view-bound.js +88 -0
  78. package/dist/elements/view-bound.js.map +1 -0
  79. package/dist/elements/view-dock.d.ts +28 -0
  80. package/dist/elements/view-dock.d.ts.map +1 -0
  81. package/dist/elements/view-dock.js +28 -0
  82. package/dist/elements/view-dock.js.map +1 -0
  83. package/dist/elements/zoom.d.ts +28 -0
  84. package/dist/elements/zoom.d.ts.map +1 -0
  85. package/dist/elements/zoom.js +22 -0
  86. package/dist/elements/zoom.js.map +1 -0
  87. package/dist/i18n.d.ts +10 -0
  88. package/dist/i18n.d.ts.map +1 -1
  89. package/dist/i18n.js +20 -0
  90. package/dist/i18n.js.map +1 -1
  91. package/dist/icons.d.ts +1 -0
  92. package/dist/icons.d.ts.map +1 -1
  93. package/dist/icons.js +1 -0
  94. package/dist/icons.js.map +1 -1
  95. package/dist/index.d.ts +331 -36
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +13 -0
  98. package/dist/index.js.map +1 -1
  99. package/dist/keyboard.d.ts +39 -2
  100. package/dist/keyboard.d.ts.map +1 -1
  101. package/dist/keyboard.js +145 -62
  102. package/dist/keyboard.js.map +1 -1
  103. package/dist/layout-store.d.ts +26 -0
  104. package/dist/layout-store.d.ts.map +1 -0
  105. package/dist/layout-store.js +46 -0
  106. package/dist/layout-store.js.map +1 -0
  107. package/dist/panel-levels.d.ts +18 -0
  108. package/dist/panel-levels.d.ts.map +1 -0
  109. package/dist/panel-levels.js +41 -0
  110. package/dist/panel-levels.js.map +1 -0
  111. package/dist/panels.d.ts +28 -0
  112. package/dist/panels.d.ts.map +1 -0
  113. package/dist/panels.js +73 -0
  114. package/dist/panels.js.map +1 -0
  115. package/dist/pipeline.d.ts.map +1 -1
  116. package/dist/pipeline.js +3 -2
  117. package/dist/pipeline.js.map +1 -1
  118. package/dist/prefs.d.ts +5 -2
  119. package/dist/prefs.d.ts.map +1 -1
  120. package/dist/prefs.js +12 -3
  121. package/dist/prefs.js.map +1 -1
  122. package/dist/react.d.ts +460 -0
  123. package/dist/react.d.ts.map +1 -0
  124. package/dist/react.js +2 -0
  125. package/dist/react.js.map +1 -0
  126. package/dist/root-element.d.ts +122 -0
  127. package/dist/root-element.d.ts.map +1 -0
  128. package/dist/root-element.js +541 -0
  129. package/dist/root-element.js.map +1 -0
  130. package/dist/root.d.ts +54 -0
  131. package/dist/root.d.ts.map +1 -0
  132. package/dist/root.js +288 -0
  133. package/dist/root.js.map +1 -0
  134. package/dist/schedule.d.ts +22 -0
  135. package/dist/schedule.d.ts.map +1 -0
  136. package/dist/schedule.js +41 -0
  137. package/dist/schedule.js.map +1 -0
  138. package/dist/session.d.ts +269 -0
  139. package/dist/session.d.ts.map +1 -0
  140. package/dist/session.js +1237 -0
  141. package/dist/session.js.map +1 -0
  142. package/dist/standalone/kgdiff-viewer-compute.js +1 -1
  143. package/dist/standalone/kgdiff-viewer.js +4 -4
  144. package/dist/styles.d.ts +17 -6
  145. package/dist/styles.d.ts.map +1 -1
  146. package/dist/styles.js +367 -258
  147. package/dist/styles.js.map +1 -1
  148. package/dist/theme.d.ts +32 -0
  149. package/dist/theme.d.ts.map +1 -0
  150. package/dist/theme.js +152 -0
  151. package/dist/theme.js.map +1 -0
  152. package/dist/topics.d.ts +8 -0
  153. package/dist/topics.d.ts.map +1 -0
  154. package/dist/topics.js +18 -0
  155. package/dist/topics.js.map +1 -0
  156. package/dist/ui/change-list.d.ts +18 -0
  157. package/dist/ui/change-list.d.ts.map +1 -0
  158. package/dist/ui/change-list.js +331 -0
  159. package/dist/ui/change-list.js.map +1 -0
  160. package/dist/ui/context.d.ts +34 -7
  161. package/dist/ui/context.d.ts.map +1 -1
  162. package/dist/ui/context.js.map +1 -1
  163. package/dist/ui/filters.d.ts +9 -0
  164. package/dist/ui/filters.d.ts.map +1 -0
  165. package/dist/ui/filters.js +68 -0
  166. package/dist/ui/filters.js.map +1 -0
  167. package/dist/ui/header.d.ts +41 -3
  168. package/dist/ui/header.d.ts.map +1 -1
  169. package/dist/ui/header.js +101 -36
  170. package/dist/ui/header.js.map +1 -1
  171. package/dist/ui/legend.d.ts +15 -0
  172. package/dist/ui/legend.d.ts.map +1 -0
  173. package/dist/ui/legend.js +68 -0
  174. package/dist/ui/legend.js.map +1 -0
  175. package/dist/ui/popovers.d.ts +3 -1
  176. package/dist/ui/popovers.d.ts.map +1 -1
  177. package/dist/ui/popovers.js +62 -23
  178. package/dist/ui/popovers.js.map +1 -1
  179. package/dist/ui/search.d.ts +13 -0
  180. package/dist/ui/search.d.ts.map +1 -0
  181. package/dist/ui/search.js +192 -0
  182. package/dist/ui/search.js.map +1 -0
  183. package/dist/ui/sidebar.d.ts +32 -17
  184. package/dist/ui/sidebar.d.ts.map +1 -1
  185. package/dist/ui/sidebar.js +327 -519
  186. package/dist/ui/sidebar.js.map +1 -1
  187. package/dist/ui/stage.d.ts +56 -1
  188. package/dist/ui/stage.d.ts.map +1 -1
  189. package/dist/ui/stage.js +244 -256
  190. package/dist/ui/stage.js.map +1 -1
  191. package/dist/ui/swatch.js +1 -1
  192. package/dist/ui/swatch.js.map +1 -1
  193. package/dist/ui/transport.d.ts +12 -0
  194. package/dist/ui/transport.d.ts.map +1 -0
  195. package/dist/ui/transport.js +198 -0
  196. package/dist/ui/transport.js.map +1 -0
  197. package/dist/ui/zoom.d.ts +15 -0
  198. package/dist/ui/zoom.d.ts.map +1 -0
  199. package/dist/ui/zoom.js +30 -0
  200. package/dist/ui/zoom.js.map +1 -0
  201. package/dist/view.d.ts +94 -0
  202. package/dist/view.d.ts.map +1 -0
  203. package/dist/view.js +441 -0
  204. package/dist/view.js.map +1 -0
  205. package/package.json +95 -12
  206. package/src/bind.ts +80 -0
  207. package/src/context.ts +106 -0
  208. package/src/controller.ts +52 -1630
  209. package/src/dom.ts +30 -0
  210. package/src/element.ts +386 -619
  211. package/src/elements/actions.ts +94 -0
  212. package/src/elements/bound.ts +247 -0
  213. package/src/elements/change-detail.ts +34 -0
  214. package/src/elements/change-list.ts +51 -0
  215. package/src/elements/filters.ts +34 -0
  216. package/src/elements/legend.ts +103 -0
  217. package/src/elements/minimap.ts +75 -0
  218. package/src/elements/root.ts +86 -0
  219. package/src/elements/search.ts +38 -0
  220. package/src/elements/stage-context.ts +34 -0
  221. package/src/elements/stage.ts +285 -0
  222. package/src/elements/title.ts +34 -0
  223. package/src/elements/transport.ts +39 -0
  224. package/src/elements/view-bound.ts +118 -0
  225. package/src/elements/view-dock.ts +43 -0
  226. package/src/elements/zoom.ts +38 -0
  227. package/src/i18n.ts +20 -0
  228. package/src/icons.ts +1 -0
  229. package/src/index.ts +350 -35
  230. package/src/keyboard.ts +188 -61
  231. package/src/layout-store.ts +71 -0
  232. package/src/panel-levels.ts +53 -0
  233. package/src/panels.ts +81 -0
  234. package/src/pipeline.ts +4 -1
  235. package/src/prefs.ts +12 -4
  236. package/src/react.ts +459 -0
  237. package/src/root-element.ts +624 -0
  238. package/src/root.ts +335 -0
  239. package/src/schedule.ts +43 -0
  240. package/src/session.ts +1375 -0
  241. package/src/styles.ts +396 -263
  242. package/src/theme.ts +170 -0
  243. package/src/topics.ts +37 -0
  244. package/src/ui/change-list.ts +405 -0
  245. package/src/ui/context.ts +36 -7
  246. package/src/ui/filters.ts +79 -0
  247. package/src/ui/header.ts +129 -58
  248. package/src/ui/legend.ts +112 -0
  249. package/src/ui/popovers.ts +68 -25
  250. package/src/ui/search.ts +225 -0
  251. package/src/ui/sidebar.ts +362 -639
  252. package/src/ui/stage.ts +267 -331
  253. package/src/ui/swatch.ts +1 -1
  254. package/src/ui/transport.ts +240 -0
  255. package/src/ui/zoom.ts +45 -0
  256. package/src/view.ts +516 -0
  257. package/vscode.html-custom-data.json +726 -0
@@ -1,5 +1,6 @@
1
1
  import { getTheme } from '@kgdiff/scene';
2
2
  import { attr, h, icon, iconButton, replaceKeepingFocus } from '../dom.js';
3
+ import { shortcutKeys } from '../keyboard.js';
3
4
  import { FAMILIES } from '../styles.js';
4
5
  export class Menu {
5
6
  el;
@@ -29,6 +30,7 @@ export class Menu {
29
30
  render() {
30
31
  const tr = this.#ctx.tr();
31
32
  const c = this.#ctx.controller;
33
+ attr(this.el, 'aria-label', tr.t('action.settings'));
32
34
  const t = (key) => () => tr.t(key);
33
35
  const swatches = (p) => {
34
36
  const family = getTheme(c.themeName, p).family;
@@ -93,38 +95,74 @@ export class Menu {
93
95
  items[next]?.focus();
94
96
  }
95
97
  }
96
- /** Shortcut rows; labels reuse the controls' own names where they exist. */
98
+ /**
99
+ * Shortcut rows, by the shortcuts they list; labels reuse the controls' own names where they
100
+ * exist. A row of several labels names one shortcut each.
101
+ */
97
102
  const SHORTCUTS = [
98
103
  [
99
- [['1'], ['2'], ['3']],
104
+ ['overlay', 'swipe', 'replay'],
100
105
  ['mode.overlay', 'mode.swipe', 'mode.replay'],
101
106
  ],
102
- [[['4']], 'mode.changes'],
103
- [[['j'], ['↓']], 'detail.next'],
104
- [[['k'], ['↑']], 'detail.prev'],
105
- [[['Home'], ['End']], 'help.homeEnd'],
106
- [[['Enter']], 'help.enter'],
107
- [[['Esc']], 'help.esc'],
108
- [[['Space']], 'help.space'],
109
- [[['←'], ['→']], 'help.arrows'],
110
- [[['f']], 'action.fit'],
107
+ [['scope'], 'mode.changes'],
108
+ [['next'], 'detail.next'],
109
+ [['prev'], 'detail.prev'],
110
+ [['first', 'last'], 'help.homeEnd'],
111
+ [['fly'], 'help.enter'],
112
+ [['escape'], 'help.esc'],
113
+ [['play-pause'], 'help.space'],
114
+ [['left', 'right'], 'help.arrows'],
115
+ [['fit'], 'action.fit'],
111
116
  [
112
- [['+'], ['−']],
117
+ ['zoom-in', 'zoom-out'],
113
118
  ['action.zoomIn', 'action.zoomOut'],
114
119
  ],
115
- [[['/']], 'sidebar.search'],
116
- [[['x']], 'review.mark'],
117
- [[['\\']], 'action.sidebar'],
118
- [[['t']], 'help.theme'],
119
- [[['e']], 'help.expand'],
120
- [[['?']], 'action.help'],
120
+ [['search'], 'sidebar.search'],
121
+ [['review'], 'review.mark'],
122
+ [['sidebar'], 'action.sidebar'],
123
+ [['theme'], 'help.theme'],
124
+ [['expand'], 'help.expand'],
125
+ [['help'], 'action.help'],
121
126
  ];
127
+ /** How a key shows in the dialog. */
128
+ const KEY_LABELS = {
129
+ ArrowDown: '↓',
130
+ ArrowUp: '↑',
131
+ ArrowLeft: '←',
132
+ ArrowRight: '→',
133
+ ' ': 'Space',
134
+ Escape: 'Esc',
135
+ '-': '−',
136
+ };
137
+ /** The dialog's rows for the keys bound now: a shortcut with no key is left out. */
138
+ function shortcutRows(keymap, omit) {
139
+ const bound = shortcutKeys(keymap);
140
+ const keysOf = (name) => omit.has(name) ? [] : (bound.get(name) ?? []).map((k) => KEY_LABELS[k] ?? k);
141
+ const rows = [];
142
+ for (const [names, label] of SHORTCUTS) {
143
+ const keys = names.map(keysOf);
144
+ if (typeof label !== 'string' && keys.some((k) => k.length !== 1)) {
145
+ // Not one key each: a row per shortcut.
146
+ names.forEach((_, i) => {
147
+ const k = keys[i] ?? [];
148
+ if (k.length > 0)
149
+ rows.push({ keys: k, label: label[i] });
150
+ });
151
+ }
152
+ else if (keys.flat().length > 0)
153
+ rows.push({ keys: keys.flat(), label });
154
+ }
155
+ return rows;
156
+ }
122
157
  export class HelpDialog {
123
158
  el;
124
159
  #returnFocus = null;
125
160
  #ctx;
126
- constructor(ctx) {
161
+ #omit;
162
+ /** `omit`: shortcuts that do nothing in this layout (`sidebar` without a sidebar). */
163
+ constructor(ctx, omit = []) {
127
164
  this.#ctx = ctx;
165
+ this.#omit = new Set(omit);
128
166
  this.el = h('div', { class: 'overlay-scrim', hidden: true });
129
167
  this.el.addEventListener('click', (e) => {
130
168
  if (e.target === this.el)
@@ -160,13 +198,14 @@ export class HelpDialog {
160
198
  }
161
199
  render() {
162
200
  const tr = this.#ctx.tr();
163
- const keys = (combos) => h('span', { class: 'ks' }, combos.map((combo, i) => [
201
+ const keys = (list) => h('span', { class: 'ks' }, list.map((k, i) => [
164
202
  i > 0 ? h('span', { 'aria-hidden': 'true', text: '/' }) : null,
165
- combo.map((k) => h('kbd', { text: k })),
203
+ h('kbd', { text: k }),
166
204
  ]));
167
- const rows = SHORTCUTS.map(([combos, label]) => {
205
+ // The keys bound now, after the root's `keymap`.
206
+ const rows = shortcutRows(this.#ctx.keymap(), this.#omit).map(({ keys: list, label }) => {
168
207
  const text = typeof label === 'string' ? tr.t(label) : label.map((k) => tr.t(k)).join(' / ');
169
- return h('div', { class: 'key-row' }, h('span', { text }), keys(combos));
208
+ return h('div', { class: 'key-row' }, h('span', { text }), keys(list));
170
209
  });
171
210
  replaceKeepingFocus(this.#ctx.root, this.el, null, h('div', {
172
211
  class: 'dialog card',
@@ -1 +1 @@
1
- {"version":3,"file":"popovers.js","sourceRoot":"","sources":["../../src/ui/popovers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"popovers.js","sourceRoot":"","sources":["../../src/ui/popovers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { Topic } from '../session.js';
2
+ import type { UiContext } from './context.js';
3
+ export declare class Search {
4
+ #private;
5
+ /** The search box. */
6
+ readonly box: HTMLElement;
7
+ /** The results listbox. */
8
+ readonly results: HTMLElement;
9
+ readonly input: HTMLInputElement;
10
+ constructor(ctx: UiContext);
11
+ update(topics: ReadonlySet<Topic>): void;
12
+ }
13
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/ui/search.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,qBAAa,MAAM;;IACjB,sBAAsB;IACtB,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAC1B,2BAA2B;IAC3B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IASjC,YAAY,GAAG,EAAE,SAAS,EAqCzB;IAED,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI,CAWvC;CAwIF"}
@@ -0,0 +1,192 @@
1
+ /**
2
+ * Node search (RFC 0001 §3, `<kgdiff-search>` from phase 2): a combobox and the results list it
3
+ * owns. ID references (`aria-controls`, `aria-activedescendant`) do not cross shadow roots, so
4
+ * input and results stay in one component; the layout decides where the results show (the
5
+ * default layout puts them in the change list's place). The query and its hits live in the
6
+ * session, so the change list steps aside without either knowing the other. Registers itself
7
+ * as the root's `search` focus target (`/`).
8
+ */
9
+ import { attr, h, icon, isOpen, replace } from '../dom.js';
10
+ export class Search {
11
+ /** The search box. */
12
+ box;
13
+ /** The results listbox. */
14
+ results;
15
+ input;
16
+ #kbd;
17
+ #clear;
18
+ #activeHit = 0;
19
+ /** The query the results were rendered for (a new one starts at its first hit). */
20
+ #rendered = '';
21
+ #ctx;
22
+ constructor(ctx) {
23
+ this.#ctx = ctx;
24
+ this.input = h('input', {
25
+ type: 'search',
26
+ autocomplete: 'off',
27
+ spellcheck: 'false',
28
+ role: 'combobox',
29
+ 'aria-autocomplete': 'list',
30
+ 'aria-expanded': 'false',
31
+ 'aria-controls': 'kg-results',
32
+ enterkeyhint: 'go',
33
+ });
34
+ this.#kbd = h('kbd', { 'aria-hidden': 'true', text: '/' });
35
+ this.#clear = h('button', { type: 'button', class: 'clear', hidden: true, onclick: () => this.#setQuery('', true) }, icon('close'));
36
+ this.input.addEventListener('input', () => this.#setQuery(this.input.value));
37
+ this.input.addEventListener('keydown', (e) => this.#onKey(e));
38
+ this.input.addEventListener('focus', () => this.#renderChrome());
39
+ this.input.addEventListener('blur', () => this.#renderChrome());
40
+ this.results = h('div', {
41
+ class: 'results list scroll',
42
+ id: 'kg-results',
43
+ role: 'listbox',
44
+ hidden: true,
45
+ });
46
+ this.box = h('div', { class: 'search' }, icon('search'), this.input, this.#kbd, this.#clear);
47
+ ctx.target('search', () => {
48
+ this.input.focus();
49
+ this.input.select();
50
+ }, () => isOpen(this.input));
51
+ }
52
+ update(topics) {
53
+ const all = topics.has('status') || topics.has('data') || topics.has('locale');
54
+ if (all) {
55
+ const tr = this.#ctx.tr();
56
+ this.input.placeholder = tr.t('sidebar.searchPlaceholder');
57
+ attr(this.input, 'aria-label', tr.t('sidebar.search'));
58
+ attr(this.#clear, 'aria-label', tr.t('sidebar.searchClear'));
59
+ attr(this.results, 'aria-label', tr.t('sidebar.searchResults'));
60
+ this.input.disabled = this.#ctx.controller.status !== 'ready';
61
+ }
62
+ if (all || topics.has('search'))
63
+ this.#render();
64
+ }
65
+ #setQuery(query, focus = false) {
66
+ this.#ctx.controller.setQuery(query);
67
+ if (focus)
68
+ this.input.focus();
69
+ }
70
+ #render() {
71
+ const query = this.#ctx.controller.query;
72
+ if (this.input.value !== query)
73
+ this.input.value = query;
74
+ if (query !== this.#rendered)
75
+ this.#activeHit = 0;
76
+ this.#rendered = query;
77
+ const searching = query.trim() !== '';
78
+ this.results.hidden = !searching;
79
+ attr(this.input, 'aria-expanded', String(searching));
80
+ this.#renderChrome();
81
+ if (searching)
82
+ this.#renderResults();
83
+ else
84
+ replace(this.results);
85
+ }
86
+ #renderChrome() {
87
+ const query = this.#ctx.controller.query;
88
+ const focused = this.#ctx.root.activeElement === this.input;
89
+ this.#kbd.hidden = query !== '' || focused;
90
+ this.#clear.hidden = query === '';
91
+ }
92
+ #renderResults() {
93
+ const tr = this.#ctx.tr();
94
+ const c = this.#ctx.controller;
95
+ const q = c.query.trim();
96
+ const hits = c.hits;
97
+ if (hits.length === 0) {
98
+ replace(this.results, h('div', { class: 'list-empty' }, icon('search'), h('span', { text: tr.t('sidebar.noResults', { q }) })));
99
+ attr(this.input, 'aria-activedescendant', null);
100
+ return;
101
+ }
102
+ const scene = c.scene;
103
+ const rows = hits.map((hit, i) => {
104
+ const sceneIndex = scene?.nodeIndex.get(hit.node.id);
105
+ const sn = sceneIndex !== undefined ? scene?.nodes[sceneIndex] : undefined;
106
+ const family = sn?.family ??
107
+ (hit.node.status === 'added'
108
+ ? 'added'
109
+ : hit.node.status === 'removed'
110
+ ? 'removed'
111
+ : hit.node.status === 'modified'
112
+ ? 'content'
113
+ : 'neutral');
114
+ const sub = hit.field === 'label' ? hit.node.id : hit.matched;
115
+ return h('button', {
116
+ type: 'button',
117
+ class: 'result',
118
+ role: 'option',
119
+ id: `kg-hit-${i}`,
120
+ tabindex: '-1',
121
+ 'data-family': family,
122
+ 'aria-selected': String(i === this.#activeHit),
123
+ onclick: () => this.#choose(i),
124
+ onpointermove: () => this.#setActiveHit(i),
125
+ }, h('span', { class: 'sdot', 'aria-hidden': 'true' }), h('span', { class: 'txt' }, h('span', { class: 'title' }, highlight(hit.node.label, hit.field === 'label' ? q : '')), h('span', { class: 'sub' }, highlight(sub, hit.field === 'label' ? '' : q))), h('span', { class: 'status', text: tr.t(`status.${hit.node.status}`) }));
126
+ });
127
+ replace(this.results, h('div', {
128
+ class: 'results-head',
129
+ text: tr.plural('sidebar.results', hits.length),
130
+ }), rows);
131
+ attr(this.input, 'aria-activedescendant', `kg-hit-${this.#activeHit}`);
132
+ }
133
+ #setActiveHit(i) {
134
+ if (i === this.#activeHit || i < 0 || i >= this.#ctx.controller.hits.length)
135
+ return;
136
+ this.#activeHit = i;
137
+ for (const el of this.results.querySelectorAll('.result')) {
138
+ attr(el, 'aria-selected', String(el.id === `kg-hit-${i}`));
139
+ }
140
+ attr(this.input, 'aria-activedescendant', `kg-hit-${i}`);
141
+ this.results.querySelector(`#kg-hit-${i}`)?.scrollIntoView?.({ block: 'nearest' });
142
+ }
143
+ /** Choose a hit: its node is revealed and selected, and focus moves to the change list. */
144
+ #choose(i) {
145
+ const hit = this.#ctx.controller.hits[i];
146
+ if (!hit)
147
+ return;
148
+ this.#setQuery('');
149
+ this.#ctx.controller.revealNode(hit.node.id);
150
+ this.#ctx.focus('list');
151
+ }
152
+ #onKey(e) {
153
+ switch (e.key) {
154
+ case 'ArrowDown':
155
+ e.preventDefault();
156
+ this.#setActiveHit(Math.min(this.#ctx.controller.hits.length - 1, this.#activeHit + 1));
157
+ break;
158
+ case 'ArrowUp':
159
+ e.preventDefault();
160
+ this.#setActiveHit(Math.max(0, this.#activeHit - 1));
161
+ break;
162
+ case 'Enter':
163
+ e.preventDefault();
164
+ this.#choose(this.#activeHit);
165
+ break;
166
+ case 'Escape':
167
+ e.preventDefault();
168
+ e.stopPropagation();
169
+ if (this.#ctx.controller.query)
170
+ this.#setQuery('');
171
+ else
172
+ this.#ctx.focus('list');
173
+ break;
174
+ default:
175
+ return;
176
+ }
177
+ }
178
+ }
179
+ /** The label with the first occurrence of `q` (case-insensitive) marked. */
180
+ function highlight(text, q) {
181
+ if (!q)
182
+ return [text];
183
+ const at = text.toLowerCase().indexOf(q.toLowerCase());
184
+ if (at < 0)
185
+ return [text];
186
+ return [
187
+ text.slice(0, at),
188
+ h('mark', { text: text.slice(at, at + q.length) }),
189
+ text.slice(at + q.length),
190
+ ];
191
+ }
192
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/ui/search.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,40 @@
1
- import type { Topic } from '../controller.js';
2
- import { type UiContext } from './context.js';
3
- import { Detail } from './detail.js';
4
- /** Row slot and group-header heights (px); rows are 52 px tall inside a 56 px slot. */
5
- export declare const ROW_SLOT = 56;
6
- export declare const HEADER_SLOT = 32;
1
+ import type { PanelRegion, PanelState, PanelStates } from '../index.js';
2
+ import type { Topic } from '../session.js';
3
+ import type { ChangeList } from './change-list.js';
4
+ import type { UiContext } from './context.js';
5
+ import type { Detail } from './detail.js';
6
+ import type { Filters } from './filters.js';
7
+ import type { Search } from './search.js';
8
+ export { HEADER_SLOT, ROW_SLOT } from './change-list.js';
9
+ /** The sidebar's default width and the range it can be dragged in, px. */
10
+ export declare const SIDEBAR_WIDTH = 360;
11
+ export declare const SIDEBAR_MIN = 280;
12
+ /** What the sidebar asks of the layout that owns it. */
13
+ export interface SidebarHost {
14
+ /** The user opened or folded one of the sidebar's regions. */
15
+ setPanel(region: PanelRegion, state: PanelState): void;
16
+ /** The user resized the sidebar or moved the split (reported once the drag or key press ended). */
17
+ resized(width: number, detailShare: number | null): void;
18
+ /** Where focus goes when the whole sidebar folds while it has focus. */
19
+ focusOutside(): HTMLElement | null;
20
+ }
7
21
  export declare class Sidebar {
8
22
  #private;
9
23
  readonly el: HTMLElement;
10
- readonly detail: Detail;
11
- readonly searchInput: HTMLInputElement;
12
- readonly list: HTMLElement;
13
- constructor(ctx: UiContext);
14
- setOpen(open: boolean): void;
24
+ constructor(ctx: UiContext, host: SidebarHost, list: ChangeList, search: Search, filters: Filters, detail: Detail);
25
+ get width(): number;
26
+ get detailShare(): number | null;
27
+ /** Follow the panel states of the four regions (the sidebar folds when none is open). */
28
+ setPanels(states: PanelStates): void;
29
+ /**
30
+ * Apply sizes (after a drag, or `instant`: remembered ones, which must not animate in on
31
+ * load); the width is clamped when the layout is known.
32
+ */
33
+ setSizes(width: number, detailShare: number | null, instant?: boolean): void;
15
34
  update(topics: ReadonlySet<Topic>): void;
16
- /** Move keyboard focus into the list (after choosing a search result). */
17
- focusList(): void;
18
- focusSearch(): void;
19
- /** Esc inside the sidebar: clear the search first. Returns whether it handled the key. */
20
- escape(): boolean;
21
- renderWindow(): void;
22
35
  /** Refresh the separator values (layout changes). */
23
36
  syncSheet(): void;
37
+ /** The layout changed size: keep the width within what fits, refresh the separators. */
38
+ layout(compact: boolean): void;
24
39
  }
25
40
  //# sourceMappingURL=sidebar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/ui/sidebar.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAK9C,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,uFAAuF;AACvF,eAAO,MAAM,QAAQ,KAAK,CAAC;AAC3B,eAAO,MAAM,WAAW,KAAK,CAAC;AAQ9B,qBAAa,OAAO;;IAClB,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAMxB,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IAMvC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAgB3B,YAAY,GAAG,EAAE,SAAS,EAsHzB;IAED,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAG3B;IAED,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI,CA6BvC;IAED,0EAA0E;IAC1E,SAAS,IAAI,IAAI,CAEhB;IAED,WAAW,IAAI,IAAI,CAGlB;IAED,0FAA0F;IAC1F,MAAM,IAAI,OAAO,CAMhB;IAwID,YAAY,IAAI,IAAI,CAqBnB;IA6TD,qDAAqD;IACrD,SAAS,IAAI,IAAI,CAGhB;CAkCF"}
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/ui/sidebar.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGxE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEzD,0EAA0E;AAC1E,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,WAAW,MAAM,CAAC;AAY/B,wDAAwD;AACxD,MAAM,WAAW,WAAW;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACvD,mGAAmG;IACnG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACzD,wEAAwE;IACxE,YAAY,IAAI,WAAW,GAAG,IAAI,CAAC;CACpC;AAED,qBAAa,OAAO;;IAClB,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IAwBzB,YACE,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EAyFf;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,IAAI,CAE/B;IAED,yFAAyF;IACzF,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CA4BnC;IAED;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,UAAQ,GAAG,IAAI,CAiBzE;IAED,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI,CAQvC;IAgMD,qDAAqD;IACrD,SAAS,IAAI,IAAI,CAGhB;IAED,wFAAwF;IACxF,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAG7B;CAkCF"}