@cssints/apg-specs 0.0.0-stage → 0.5.1

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 (260) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -2
  3. package/dist/apg/accordion.bridge.d.mts +35 -0
  4. package/dist/apg/accordion.bridge.mjs +326 -0
  5. package/dist/apg/accordion.model.json +8397 -0
  6. package/dist/apg/alert.bridge.d.mts +22 -0
  7. package/dist/apg/alert.bridge.mjs +86 -0
  8. package/dist/apg/alert.model.json +871 -0
  9. package/dist/apg/alertdialog.bridge.d.mts +21 -0
  10. package/dist/apg/alertdialog.bridge.mjs +221 -0
  11. package/dist/apg/alertdialog.model.json +5232 -0
  12. package/dist/apg/breadcrumb.bridge.d.mts +26 -0
  13. package/dist/apg/breadcrumb.bridge.mjs +120 -0
  14. package/dist/apg/breadcrumb.model.json +574 -0
  15. package/dist/apg/button.bridge.d.mts +35 -0
  16. package/dist/apg/button.bridge.mjs +208 -0
  17. package/dist/apg/button.model.json +5814 -0
  18. package/dist/apg/carousel.bridge.d.mts +44 -0
  19. package/dist/apg/carousel.bridge.mjs +262 -0
  20. package/dist/apg/carousel.model.json +8963 -0
  21. package/dist/apg/checkbox-group.bridge.d.mts +25 -0
  22. package/dist/apg/checkbox-group.bridge.mjs +276 -0
  23. package/dist/apg/checkbox-group.model.json +3863 -0
  24. package/dist/apg/checkbox.bridge.d.mts +34 -0
  25. package/dist/apg/checkbox.bridge.mjs +253 -0
  26. package/dist/apg/checkbox.model.json +3158 -0
  27. package/dist/apg/combobox-autocomplete.bridge.d.mts +14 -0
  28. package/dist/apg/combobox-autocomplete.bridge.mjs +326 -0
  29. package/dist/apg/combobox-autocomplete.model.json +11586 -0
  30. package/dist/apg/combobox-dialog.bridge.d.mts +17 -0
  31. package/dist/apg/combobox-dialog.bridge.mjs +250 -0
  32. package/dist/apg/combobox-dialog.model.json +8981 -0
  33. package/dist/apg/combobox-grid.bridge.d.mts +17 -0
  34. package/dist/apg/combobox-grid.bridge.mjs +227 -0
  35. package/dist/apg/combobox-grid.model.json +8554 -0
  36. package/dist/apg/combobox-select-only.bridge.d.mts +24 -0
  37. package/dist/apg/combobox-select-only.bridge.mjs +304 -0
  38. package/dist/apg/combobox-select-only.model.json +7846 -0
  39. package/dist/apg/combobox-tree.bridge.d.mts +17 -0
  40. package/dist/apg/combobox-tree.bridge.mjs +211 -0
  41. package/dist/apg/combobox-tree.model.json +9345 -0
  42. package/dist/apg/dialog-modal.bridge.d.mts +35 -0
  43. package/dist/apg/dialog-modal.bridge.mjs +186 -0
  44. package/dist/apg/dialog-modal.model.json +7580 -0
  45. package/dist/apg/disclosure.bridge.d.mts +25 -0
  46. package/dist/apg/disclosure.bridge.mjs +202 -0
  47. package/dist/apg/disclosure.model.json +4703 -0
  48. package/dist/apg/feed.bridge.d.mts +31 -0
  49. package/dist/apg/feed.bridge.mjs +246 -0
  50. package/dist/apg/feed.model.json +4523 -0
  51. package/dist/apg/grid-selection.bridge.d.mts +13 -0
  52. package/dist/apg/grid-selection.bridge.mjs +160 -0
  53. package/dist/apg/grid-selection.model.json +6974 -0
  54. package/dist/apg/grid-sort.bridge.d.mts +12 -0
  55. package/dist/apg/grid-sort.bridge.mjs +138 -0
  56. package/dist/apg/grid-sort.model.json +3799 -0
  57. package/dist/apg/grid.bridge.d.mts +54 -0
  58. package/dist/apg/grid.bridge.mjs +441 -0
  59. package/dist/apg/grid.model.json +3802 -0
  60. package/dist/apg/link.bridge.d.mts +24 -0
  61. package/dist/apg/link.bridge.mjs +126 -0
  62. package/dist/apg/link.model.json +694 -0
  63. package/dist/apg/listbox-multi.bridge.d.mts +10 -0
  64. package/dist/apg/listbox-multi.bridge.mjs +261 -0
  65. package/dist/apg/listbox-multi.model.json +10893 -0
  66. package/dist/apg/listbox-rearrangeable.bridge.d.mts +20 -0
  67. package/dist/apg/listbox-rearrangeable.bridge.mjs +237 -0
  68. package/dist/apg/listbox-rearrangeable.model.json +17592 -0
  69. package/dist/apg/listbox-shared.d.mts +58 -0
  70. package/dist/apg/listbox-shared.mjs +171 -0
  71. package/dist/apg/listbox-single.bridge.d.mts +10 -0
  72. package/dist/apg/listbox-single.bridge.mjs +196 -0
  73. package/dist/apg/listbox-single.model.json +8024 -0
  74. package/dist/apg/listbox-typeahead.bridge.d.mts +10 -0
  75. package/dist/apg/listbox-typeahead.bridge.mjs +153 -0
  76. package/dist/apg/listbox-typeahead.model.json +5615 -0
  77. package/dist/apg/menu-button.bridge.d.mts +29 -0
  78. package/dist/apg/menu-button.bridge.mjs +259 -0
  79. package/dist/apg/menu-button.model.json +5706 -0
  80. package/dist/apg/menu-checkable.bridge.d.mts +25 -0
  81. package/dist/apg/menu-checkable.bridge.mjs +226 -0
  82. package/dist/apg/menu-checkable.model.json +4277 -0
  83. package/dist/apg/menu-menubar.bridge.d.mts +27 -0
  84. package/dist/apg/menu-menubar.bridge.mjs +273 -0
  85. package/dist/apg/menu-menubar.model.json +9540 -0
  86. package/dist/apg/meter.bridge.d.mts +28 -0
  87. package/dist/apg/meter.bridge.mjs +159 -0
  88. package/dist/apg/meter.model.json +1185 -0
  89. package/dist/apg/player.bridge.d.mts +24 -0
  90. package/dist/apg/player.bridge.mjs +342 -0
  91. package/dist/apg/player.model.json +11013 -0
  92. package/dist/apg/radio.bridge.d.mts +35 -0
  93. package/dist/apg/radio.bridge.mjs +371 -0
  94. package/dist/apg/radio.model.json +5011 -0
  95. package/dist/apg/slider-multithumb.bridge.d.mts +34 -0
  96. package/dist/apg/slider-multithumb.bridge.mjs +365 -0
  97. package/dist/apg/slider-multithumb.model.json +5774 -0
  98. package/dist/apg/slider.bridge.d.mts +54 -0
  99. package/dist/apg/slider.bridge.mjs +359 -0
  100. package/dist/apg/slider.model.json +4881 -0
  101. package/dist/apg/spinbutton.bridge.d.mts +41 -0
  102. package/dist/apg/spinbutton.bridge.mjs +327 -0
  103. package/dist/apg/spinbutton.model.json +7571 -0
  104. package/dist/apg/switch.bridge.d.mts +30 -0
  105. package/dist/apg/switch.bridge.mjs +243 -0
  106. package/dist/apg/switch.model.json +3159 -0
  107. package/dist/apg/tabs.bridge.d.mts +41 -0
  108. package/dist/apg/tabs.bridge.mjs +294 -0
  109. package/dist/apg/tabs.model.json +7659 -0
  110. package/dist/apg/timeline.bridge.d.mts +36 -0
  111. package/dist/apg/timeline.bridge.mjs +265 -0
  112. package/dist/apg/timeline.model.json +6189 -0
  113. package/dist/apg/toolbar.bridge.d.mts +25 -0
  114. package/dist/apg/toolbar.bridge.mjs +307 -0
  115. package/dist/apg/toolbar.model.json +6616 -0
  116. package/dist/apg/tooltip.bridge.d.mts +36 -0
  117. package/dist/apg/tooltip.bridge.mjs +208 -0
  118. package/dist/apg/tooltip.model.json +8295 -0
  119. package/dist/apg/treegrid.bridge.d.mts +28 -0
  120. package/dist/apg/treegrid.bridge.mjs +311 -0
  121. package/dist/apg/treegrid.model.json +17358 -0
  122. package/dist/apg/treeview.bridge.d.mts +26 -0
  123. package/dist/apg/treeview.bridge.mjs +396 -0
  124. package/dist/apg/treeview.model.json +13745 -0
  125. package/dist/apg/windowsplitter.bridge.d.mts +36 -0
  126. package/dist/apg/windowsplitter.bridge.mjs +242 -0
  127. package/dist/apg/windowsplitter.model.json +6253 -0
  128. package/dist/canvas/camera.model.json +6568 -0
  129. package/dist/canvas/canvas.bridge.d.mts +190 -0
  130. package/dist/canvas/canvas.bridge.mjs +729 -0
  131. package/dist/canvas/pointer.model.json +17095 -0
  132. package/dist/scenario.d.mts +233 -0
  133. package/dist/scenario.mjs +313 -0
  134. package/package.json +57 -4
  135. package/scenarios/apg/README.md +221 -0
  136. package/scenarios/apg/accordion.base-ui.json +1005 -0
  137. package/scenarios/apg/accordion.react-aria.json +929 -0
  138. package/scenarios/apg/alert.base-ui.json +81 -0
  139. package/scenarios/apg/alert.react-aria.json +98 -0
  140. package/scenarios/apg/alertdialog.base-ui.json +331 -0
  141. package/scenarios/apg/alertdialog.react-aria.json +225 -0
  142. package/scenarios/apg/breadcrumb.react-aria.json +312 -0
  143. package/scenarios/apg/button.ariakit.json +136 -0
  144. package/scenarios/apg/button.base-ui.json +747 -0
  145. package/scenarios/apg/button.react-aria.json +443 -0
  146. package/scenarios/apg/carousel.apg.json +909 -0
  147. package/scenarios/apg/checkbox.ariakit.json +299 -0
  148. package/scenarios/apg/checkbox.base-ui.json +1126 -0
  149. package/scenarios/apg/checkbox.react-aria.json +518 -0
  150. package/scenarios/apg/combobox.ariakit.json +945 -0
  151. package/scenarios/apg/combobox.base-ui.json +2444 -0
  152. package/scenarios/apg/combobox.react-aria.json +845 -0
  153. package/scenarios/apg/dialog-modal.ariakit.json +1102 -0
  154. package/scenarios/apg/dialog-modal.base-ui.json +775 -0
  155. package/scenarios/apg/dialog-modal.react-aria.json +638 -0
  156. package/scenarios/apg/disclosure.apg.json +349 -0
  157. package/scenarios/apg/disclosure.ariakit.json +163 -0
  158. package/scenarios/apg/disclosure.base-ui.json +451 -0
  159. package/scenarios/apg/disclosure.react-aria.json +643 -0
  160. package/scenarios/apg/feed.apg.json +442 -0
  161. package/scenarios/apg/grid.ariakit.json +197 -0
  162. package/scenarios/apg/grid.base-ui.json +720 -0
  163. package/scenarios/apg/grid.react-aria.json +969 -0
  164. package/scenarios/apg/landmarks.ariakit.json +93 -0
  165. package/scenarios/apg/landmarks.react-aria.json +330 -0
  166. package/scenarios/apg/link.ariakit.json +83 -0
  167. package/scenarios/apg/link.base-ui.json +88 -0
  168. package/scenarios/apg/link.react-aria.json +186 -0
  169. package/scenarios/apg/listbox.ariakit.json +78 -0
  170. package/scenarios/apg/listbox.base-ui.json +163 -0
  171. package/scenarios/apg/listbox.react-aria.json +1118 -0
  172. package/scenarios/apg/menu-button.ariakit.json +924 -0
  173. package/scenarios/apg/menu-button.base-ui.json +1155 -0
  174. package/scenarios/apg/menu-button.react-aria.json +1080 -0
  175. package/scenarios/apg/menubar.ariakit.json +758 -0
  176. package/scenarios/apg/menubar.base-ui.json +673 -0
  177. package/scenarios/apg/meter.base-ui.json +243 -0
  178. package/scenarios/apg/meter.react-aria.json +201 -0
  179. package/scenarios/apg/radio.ariakit.json +459 -0
  180. package/scenarios/apg/radio.base-ui.json +581 -0
  181. package/scenarios/apg/radio.react-aria.json +576 -0
  182. package/scenarios/apg/slider-multithumb.base-ui.json +316 -0
  183. package/scenarios/apg/slider-multithumb.react-aria.json +363 -0
  184. package/scenarios/apg/slider.base-ui.json +544 -0
  185. package/scenarios/apg/slider.react-aria.json +456 -0
  186. package/scenarios/apg/spinbutton.base-ui.json +1688 -0
  187. package/scenarios/apg/spinbutton.react-aria.json +426 -0
  188. package/scenarios/apg/switch.base-ui.json +456 -0
  189. package/scenarios/apg/switch.react-aria.json +303 -0
  190. package/scenarios/apg/table.ariakit.json +65 -0
  191. package/scenarios/apg/table.react-aria.json +221 -0
  192. package/scenarios/apg/tabs.ariakit.json +329 -0
  193. package/scenarios/apg/tabs.base-ui.json +875 -0
  194. package/scenarios/apg/tabs.react-aria.json +644 -0
  195. package/scenarios/apg/toolbar.ariakit.json +595 -0
  196. package/scenarios/apg/toolbar.base-ui.json +1189 -0
  197. package/scenarios/apg/toolbar.react-aria.json +383 -0
  198. package/scenarios/apg/tooltip.ariakit.json +441 -0
  199. package/scenarios/apg/tooltip.base-ui.json +411 -0
  200. package/scenarios/apg/tooltip.react-aria.json +454 -0
  201. package/scenarios/apg/treegrid.apg.json +2558 -0
  202. package/scenarios/apg/treegrid.react-aria.json +5094 -0
  203. package/scenarios/apg/treeview.apg.json +928 -0
  204. package/scenarios/apg/windowsplitter.apg.json +557 -0
  205. package/scenarios/canvas/README.md +69 -0
  206. package/scenarios/canvas/camera.contract.json +237 -0
  207. package/scenarios/canvas/camera.excalidraw.json +57 -0
  208. package/scenarios/canvas/marquee.excalidraw.json +122 -0
  209. package/scenarios/canvas/pan.excalidraw.json +46 -0
  210. package/scenarios/canvas/pointer.contract.json +528 -0
  211. package/scenarios/parts.json +291 -0
  212. package/shared/aria.qnt +186 -0
  213. package/shared/details-group.qnt +50 -0
  214. package/shared/focusgroup.qnt +152 -0
  215. package/shared/invokers.qnt +81 -0
  216. package/shared/popover.qnt +71 -0
  217. package/specs/apg/STATIC.md +103 -0
  218. package/specs/apg/accordion.qnt +578 -0
  219. package/specs/apg/alert.qnt +131 -0
  220. package/specs/apg/alertdialog.qnt +455 -0
  221. package/specs/apg/breadcrumb.qnt +88 -0
  222. package/specs/apg/button.qnt +445 -0
  223. package/specs/apg/carousel.qnt +732 -0
  224. package/specs/apg/checkbox-group.qnt +388 -0
  225. package/specs/apg/checkbox.qnt +394 -0
  226. package/specs/apg/combobox-autocomplete.qnt +764 -0
  227. package/specs/apg/combobox-dialog.qnt +627 -0
  228. package/specs/apg/combobox-grid.qnt +632 -0
  229. package/specs/apg/combobox-select-only.qnt +626 -0
  230. package/specs/apg/combobox-tree.qnt +633 -0
  231. package/specs/apg/dialog-modal.qnt +499 -0
  232. package/specs/apg/disclosure.qnt +309 -0
  233. package/specs/apg/feed.qnt +485 -0
  234. package/specs/apg/grid-selection.qnt +512 -0
  235. package/specs/apg/grid-sort.qnt +330 -0
  236. package/specs/apg/grid.qnt +360 -0
  237. package/specs/apg/link.qnt +119 -0
  238. package/specs/apg/listbox-multi.qnt +799 -0
  239. package/specs/apg/listbox-rearrangeable.qnt +801 -0
  240. package/specs/apg/listbox-single.qnt +511 -0
  241. package/specs/apg/listbox-typeahead.qnt +396 -0
  242. package/specs/apg/menu-button.qnt +363 -0
  243. package/specs/apg/menu-checkable.qnt +304 -0
  244. package/specs/apg/menu-menubar.qnt +531 -0
  245. package/specs/apg/meter.qnt +129 -0
  246. package/specs/apg/player.qnt +1081 -0
  247. package/specs/apg/radio.qnt +394 -0
  248. package/specs/apg/slider-multithumb.qnt +441 -0
  249. package/specs/apg/slider.qnt +396 -0
  250. package/specs/apg/spinbutton.qnt +494 -0
  251. package/specs/apg/switch.qnt +389 -0
  252. package/specs/apg/tabs.qnt +412 -0
  253. package/specs/apg/timeline.qnt +612 -0
  254. package/specs/apg/toolbar.qnt +364 -0
  255. package/specs/apg/tooltip.qnt +553 -0
  256. package/specs/apg/treegrid.qnt +983 -0
  257. package/specs/apg/treeview.qnt +1004 -0
  258. package/specs/apg/windowsplitter.qnt +487 -0
  259. package/specs/canvas/camera.qnt +407 -0
  260. package/specs/canvas/pointer.qnt +841 -0
@@ -0,0 +1,694 @@
1
+ {
2
+ "generatedFrom": "../../specs/apg/link.qnt",
3
+ "specHash": "1970a5bd0408fe3d0bd8f88846fef0fb4c74f32bed4071c3b0f36454281e5e30",
4
+ "module": "apg_link",
5
+ "vars": [
6
+ {
7
+ "name": "native",
8
+ "type": "bool"
9
+ },
10
+ {
11
+ "name": "tabindex",
12
+ "type": "bool"
13
+ },
14
+ {
15
+ "name": "focus",
16
+ "type": "str"
17
+ },
18
+ {
19
+ "name": "location",
20
+ "type": "int"
21
+ },
22
+ {
23
+ "name": "activations",
24
+ "type": "int"
25
+ }
26
+ ],
27
+ "defs": {
28
+ "focusable": {
29
+ "kind": "function",
30
+ "params": [],
31
+ "body": {
32
+ "kind": "app",
33
+ "opcode": "or",
34
+ "args": [
35
+ {
36
+ "kind": "name",
37
+ "name": "native"
38
+ },
39
+ {
40
+ "kind": "name",
41
+ "name": "tabindex"
42
+ }
43
+ ]
44
+ }
45
+ },
46
+ "KeyboardReachable": {
47
+ "kind": "invariant",
48
+ "params": [],
49
+ "body": {
50
+ "kind": "name",
51
+ "name": "focusable"
52
+ }
53
+ },
54
+ "FocusOnLinkImpliesFocusable": {
55
+ "kind": "invariant",
56
+ "params": [],
57
+ "body": {
58
+ "kind": "app",
59
+ "opcode": "or",
60
+ "args": [
61
+ {
62
+ "kind": "app",
63
+ "opcode": "neq",
64
+ "args": [
65
+ {
66
+ "kind": "name",
67
+ "name": "focus"
68
+ },
69
+ {
70
+ "kind": "str",
71
+ "value": "link"
72
+ }
73
+ ]
74
+ },
75
+ {
76
+ "kind": "name",
77
+ "name": "focusable"
78
+ }
79
+ ]
80
+ }
81
+ },
82
+ "TargetFocusImpliesArrived": {
83
+ "kind": "invariant",
84
+ "params": [],
85
+ "body": {
86
+ "kind": "app",
87
+ "opcode": "or",
88
+ "args": [
89
+ {
90
+ "kind": "app",
91
+ "opcode": "neq",
92
+ "args": [
93
+ {
94
+ "kind": "name",
95
+ "name": "focus"
96
+ },
97
+ {
98
+ "kind": "str",
99
+ "value": "target"
100
+ }
101
+ ]
102
+ },
103
+ {
104
+ "kind": "app",
105
+ "opcode": "eq",
106
+ "args": [
107
+ {
108
+ "kind": "name",
109
+ "name": "location"
110
+ },
111
+ {
112
+ "kind": "int",
113
+ "value": "1"
114
+ }
115
+ ]
116
+ }
117
+ ]
118
+ }
119
+ },
120
+ "ArrivedImpliesActivated": {
121
+ "kind": "invariant",
122
+ "params": [],
123
+ "body": {
124
+ "kind": "app",
125
+ "opcode": "or",
126
+ "args": [
127
+ {
128
+ "kind": "app",
129
+ "opcode": "eq",
130
+ "args": [
131
+ {
132
+ "kind": "name",
133
+ "name": "location"
134
+ },
135
+ {
136
+ "kind": "int",
137
+ "value": "0"
138
+ }
139
+ ]
140
+ },
141
+ {
142
+ "kind": "app",
143
+ "opcode": "igte",
144
+ "args": [
145
+ {
146
+ "kind": "name",
147
+ "name": "activations"
148
+ },
149
+ {
150
+ "kind": "int",
151
+ "value": "1"
152
+ }
153
+ ]
154
+ }
155
+ ]
156
+ }
157
+ },
158
+ "LocationKnown": {
159
+ "kind": "invariant",
160
+ "params": [],
161
+ "body": {
162
+ "kind": "app",
163
+ "opcode": "or",
164
+ "args": [
165
+ {
166
+ "kind": "app",
167
+ "opcode": "eq",
168
+ "args": [
169
+ {
170
+ "kind": "name",
171
+ "name": "location"
172
+ },
173
+ {
174
+ "kind": "int",
175
+ "value": "0"
176
+ }
177
+ ]
178
+ },
179
+ {
180
+ "kind": "app",
181
+ "opcode": "eq",
182
+ "args": [
183
+ {
184
+ "kind": "name",
185
+ "name": "location"
186
+ },
187
+ {
188
+ "kind": "int",
189
+ "value": "1"
190
+ }
191
+ ]
192
+ }
193
+ ]
194
+ }
195
+ },
196
+ "ActivationsNonNegative": {
197
+ "kind": "invariant",
198
+ "params": [],
199
+ "body": {
200
+ "kind": "app",
201
+ "opcode": "igte",
202
+ "args": [
203
+ {
204
+ "kind": "name",
205
+ "name": "activations"
206
+ },
207
+ {
208
+ "kind": "int",
209
+ "value": "0"
210
+ }
211
+ ]
212
+ }
213
+ }
214
+ },
215
+ "actions": [
216
+ {
217
+ "name": "init",
218
+ "assignments": [
219
+ {
220
+ "field": "native",
221
+ "rhs": {
222
+ "kind": "bool",
223
+ "value": true
224
+ }
225
+ },
226
+ {
227
+ "field": "tabindex",
228
+ "rhs": {
229
+ "kind": "bool",
230
+ "value": false
231
+ }
232
+ },
233
+ {
234
+ "field": "focus",
235
+ "rhs": {
236
+ "kind": "str",
237
+ "value": "none"
238
+ }
239
+ },
240
+ {
241
+ "field": "location",
242
+ "rhs": {
243
+ "kind": "int",
244
+ "value": "0"
245
+ }
246
+ },
247
+ {
248
+ "field": "activations",
249
+ "rhs": {
250
+ "kind": "int",
251
+ "value": "0"
252
+ }
253
+ }
254
+ ]
255
+ },
256
+ {
257
+ "name": "focusLink",
258
+ "assignments": [
259
+ {
260
+ "field": "native",
261
+ "rhs": {
262
+ "kind": "name",
263
+ "name": "native"
264
+ }
265
+ },
266
+ {
267
+ "field": "tabindex",
268
+ "rhs": {
269
+ "kind": "name",
270
+ "name": "tabindex"
271
+ }
272
+ },
273
+ {
274
+ "field": "focus",
275
+ "rhs": {
276
+ "kind": "app",
277
+ "opcode": "ite",
278
+ "args": [
279
+ {
280
+ "kind": "name",
281
+ "name": "focusable"
282
+ },
283
+ {
284
+ "kind": "str",
285
+ "value": "link"
286
+ },
287
+ {
288
+ "kind": "name",
289
+ "name": "focus"
290
+ }
291
+ ]
292
+ }
293
+ },
294
+ {
295
+ "field": "location",
296
+ "rhs": {
297
+ "kind": "name",
298
+ "name": "location"
299
+ }
300
+ },
301
+ {
302
+ "field": "activations",
303
+ "rhs": {
304
+ "kind": "name",
305
+ "name": "activations"
306
+ }
307
+ }
308
+ ]
309
+ },
310
+ {
311
+ "name": "blur",
312
+ "assignments": [
313
+ {
314
+ "field": "native",
315
+ "rhs": {
316
+ "kind": "name",
317
+ "name": "native"
318
+ }
319
+ },
320
+ {
321
+ "field": "tabindex",
322
+ "rhs": {
323
+ "kind": "name",
324
+ "name": "tabindex"
325
+ }
326
+ },
327
+ {
328
+ "field": "focus",
329
+ "rhs": {
330
+ "kind": "str",
331
+ "value": "none"
332
+ }
333
+ },
334
+ {
335
+ "field": "location",
336
+ "rhs": {
337
+ "kind": "name",
338
+ "name": "location"
339
+ }
340
+ },
341
+ {
342
+ "field": "activations",
343
+ "rhs": {
344
+ "kind": "name",
345
+ "name": "activations"
346
+ }
347
+ }
348
+ ]
349
+ },
350
+ {
351
+ "name": "press",
352
+ "assignments": [
353
+ {
354
+ "field": "native",
355
+ "rhs": {
356
+ "kind": "name",
357
+ "name": "native"
358
+ }
359
+ },
360
+ {
361
+ "field": "tabindex",
362
+ "rhs": {
363
+ "kind": "name",
364
+ "name": "tabindex"
365
+ }
366
+ },
367
+ {
368
+ "field": "focus",
369
+ "rhs": {
370
+ "kind": "app",
371
+ "opcode": "ite",
372
+ "args": [
373
+ {
374
+ "kind": "app",
375
+ "opcode": "eq",
376
+ "args": [
377
+ {
378
+ "kind": "name",
379
+ "name": "focus"
380
+ },
381
+ {
382
+ "kind": "str",
383
+ "value": "link"
384
+ }
385
+ ]
386
+ },
387
+ {
388
+ "kind": "str",
389
+ "value": "target"
390
+ },
391
+ {
392
+ "kind": "name",
393
+ "name": "focus"
394
+ }
395
+ ]
396
+ }
397
+ },
398
+ {
399
+ "field": "location",
400
+ "rhs": {
401
+ "kind": "app",
402
+ "opcode": "ite",
403
+ "args": [
404
+ {
405
+ "kind": "app",
406
+ "opcode": "eq",
407
+ "args": [
408
+ {
409
+ "kind": "name",
410
+ "name": "focus"
411
+ },
412
+ {
413
+ "kind": "str",
414
+ "value": "link"
415
+ }
416
+ ]
417
+ },
418
+ {
419
+ "kind": "int",
420
+ "value": "1"
421
+ },
422
+ {
423
+ "kind": "name",
424
+ "name": "location"
425
+ }
426
+ ]
427
+ }
428
+ },
429
+ {
430
+ "field": "activations",
431
+ "rhs": {
432
+ "kind": "app",
433
+ "opcode": "ite",
434
+ "args": [
435
+ {
436
+ "kind": "app",
437
+ "opcode": "eq",
438
+ "args": [
439
+ {
440
+ "kind": "name",
441
+ "name": "focus"
442
+ },
443
+ {
444
+ "kind": "str",
445
+ "value": "link"
446
+ }
447
+ ]
448
+ },
449
+ {
450
+ "kind": "app",
451
+ "opcode": "iadd",
452
+ "args": [
453
+ {
454
+ "kind": "name",
455
+ "name": "activations"
456
+ },
457
+ {
458
+ "kind": "int",
459
+ "value": "1"
460
+ }
461
+ ]
462
+ },
463
+ {
464
+ "kind": "name",
465
+ "name": "activations"
466
+ }
467
+ ]
468
+ }
469
+ }
470
+ ]
471
+ },
472
+ {
473
+ "name": "pressSpace",
474
+ "assignments": [
475
+ {
476
+ "field": "native",
477
+ "rhs": {
478
+ "kind": "name",
479
+ "name": "native"
480
+ }
481
+ },
482
+ {
483
+ "field": "tabindex",
484
+ "rhs": {
485
+ "kind": "name",
486
+ "name": "tabindex"
487
+ }
488
+ },
489
+ {
490
+ "field": "focus",
491
+ "rhs": {
492
+ "kind": "name",
493
+ "name": "focus"
494
+ }
495
+ },
496
+ {
497
+ "field": "location",
498
+ "rhs": {
499
+ "kind": "name",
500
+ "name": "location"
501
+ }
502
+ },
503
+ {
504
+ "field": "activations",
505
+ "rhs": {
506
+ "kind": "name",
507
+ "name": "activations"
508
+ }
509
+ }
510
+ ]
511
+ },
512
+ {
513
+ "name": "click",
514
+ "assignments": [
515
+ {
516
+ "field": "native",
517
+ "rhs": {
518
+ "kind": "name",
519
+ "name": "native"
520
+ }
521
+ },
522
+ {
523
+ "field": "tabindex",
524
+ "rhs": {
525
+ "kind": "name",
526
+ "name": "tabindex"
527
+ }
528
+ },
529
+ {
530
+ "field": "focus",
531
+ "rhs": {
532
+ "kind": "str",
533
+ "value": "target"
534
+ }
535
+ },
536
+ {
537
+ "field": "location",
538
+ "rhs": {
539
+ "kind": "int",
540
+ "value": "1"
541
+ }
542
+ },
543
+ {
544
+ "field": "activations",
545
+ "rhs": {
546
+ "kind": "app",
547
+ "opcode": "iadd",
548
+ "args": [
549
+ {
550
+ "kind": "name",
551
+ "name": "activations"
552
+ },
553
+ {
554
+ "kind": "int",
555
+ "value": "1"
556
+ }
557
+ ]
558
+ }
559
+ }
560
+ ]
561
+ },
562
+ {
563
+ "name": "back",
564
+ "assignments": [
565
+ {
566
+ "field": "native",
567
+ "rhs": {
568
+ "kind": "name",
569
+ "name": "native"
570
+ }
571
+ },
572
+ {
573
+ "field": "tabindex",
574
+ "rhs": {
575
+ "kind": "name",
576
+ "name": "tabindex"
577
+ }
578
+ },
579
+ {
580
+ "field": "focus",
581
+ "rhs": {
582
+ "kind": "str",
583
+ "value": "none"
584
+ }
585
+ },
586
+ {
587
+ "field": "location",
588
+ "rhs": {
589
+ "kind": "int",
590
+ "value": "0"
591
+ }
592
+ },
593
+ {
594
+ "field": "activations",
595
+ "rhs": {
596
+ "kind": "name",
597
+ "name": "activations"
598
+ }
599
+ }
600
+ ]
601
+ },
602
+ {
603
+ "name": "setNative",
604
+ "assignments": [
605
+ {
606
+ "field": "native",
607
+ "rhs": {
608
+ "kind": "bool",
609
+ "value": true
610
+ }
611
+ },
612
+ {
613
+ "field": "tabindex",
614
+ "rhs": {
615
+ "kind": "bool",
616
+ "value": false
617
+ }
618
+ },
619
+ {
620
+ "field": "focus",
621
+ "rhs": {
622
+ "kind": "name",
623
+ "name": "focus"
624
+ }
625
+ },
626
+ {
627
+ "field": "location",
628
+ "rhs": {
629
+ "kind": "name",
630
+ "name": "location"
631
+ }
632
+ },
633
+ {
634
+ "field": "activations",
635
+ "rhs": {
636
+ "kind": "name",
637
+ "name": "activations"
638
+ }
639
+ }
640
+ ]
641
+ },
642
+ {
643
+ "name": "setCustom",
644
+ "assignments": [
645
+ {
646
+ "field": "native",
647
+ "rhs": {
648
+ "kind": "bool",
649
+ "value": false
650
+ }
651
+ },
652
+ {
653
+ "field": "tabindex",
654
+ "rhs": {
655
+ "kind": "bool",
656
+ "value": true
657
+ }
658
+ },
659
+ {
660
+ "field": "focus",
661
+ "rhs": {
662
+ "kind": "name",
663
+ "name": "focus"
664
+ }
665
+ },
666
+ {
667
+ "field": "location",
668
+ "rhs": {
669
+ "kind": "name",
670
+ "name": "location"
671
+ }
672
+ },
673
+ {
674
+ "field": "activations",
675
+ "rhs": {
676
+ "kind": "name",
677
+ "name": "activations"
678
+ }
679
+ }
680
+ ]
681
+ }
682
+ ],
683
+ "step": [
684
+ "init",
685
+ "focusLink",
686
+ "blur",
687
+ "press",
688
+ "pressSpace",
689
+ "click",
690
+ "back",
691
+ "setNative",
692
+ "setCustom"
693
+ ]
694
+ }
@@ -0,0 +1,10 @@
1
+ import { ActionStep, Probe, ScenarioConfig, SpecBridge } from "../scenario.mjs";
2
+ import { ListboxMountConfig } from "./listbox-shared.mjs";
3
+ //#region src/apg/listbox-multi.bridge.d.ts
4
+ /** Scenario `config` -> mount config; only the multi-select model is modelled. */
5
+ export declare const listboxMultiConfig: (config: ScenarioConfig) => ListboxMountConfig;
6
+ export declare const listboxMultiBridge: SpecBridge;
7
+ /** The user-level steps a differential walk draws from (recommended model). */
8
+ export declare const listboxMultiSteps: ReadonlyArray<ActionStep>;
9
+ export declare const listboxMultiProbe: Probe;
10
+ //#endregion