@gjermundgaraba-designs/pixel-paper 0.26.0 → 0.27.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 (940) hide show
  1. package/DESIGN.md +28 -3
  2. package/dist/src/adapters/diagram.d.ts +38 -0
  3. package/dist/src/adapters/diagram.d.ts.map +1 -0
  4. package/dist/src/adapters/diagram.js +206 -0
  5. package/dist/src/adapters/mermaid.d.ts +2 -20
  6. package/dist/src/adapters/mermaid.d.ts.map +1 -1
  7. package/dist/src/adapters/mermaid.js +9 -229
  8. package/dist/src/announcer/announcer.d.ts +0 -4
  9. package/dist/src/announcer/announcer.d.ts.map +1 -1
  10. package/dist/src/announcer/announcer.js +19 -18
  11. package/dist/src/attributes/attributes.d.ts.map +1 -1
  12. package/dist/src/{audioFrame/audioFrame.d.ts → audio-frame/audio-frame.d.ts} +1 -1
  13. package/dist/src/audio-frame/audio-frame.d.ts.map +1 -0
  14. package/dist/src/{audioFrame/audioFrame.js → audio-frame/audio-frame.js} +1 -1
  15. package/dist/src/audio-frame/index.d.ts +3 -0
  16. package/dist/src/audio-frame/index.d.ts.map +1 -0
  17. package/dist/src/audio-frame/index.js +1 -0
  18. package/dist/src/banner/banner.d.ts.map +1 -1
  19. package/dist/src/banner/index.d.ts.map +1 -1
  20. package/dist/src/{barChart/barChart.d.ts → bar-chart/bar-chart.d.ts} +2 -2
  21. package/dist/src/bar-chart/bar-chart.d.ts.map +1 -0
  22. package/dist/src/{barChart/barChart.js → bar-chart/bar-chart.js} +40 -35
  23. package/dist/src/bar-chart/index.d.ts +3 -0
  24. package/dist/src/bar-chart/index.d.ts.map +1 -0
  25. package/dist/src/bar-chart/index.js +1 -0
  26. package/dist/src/bench/bench.d.ts.map +1 -1
  27. package/dist/src/bench/index.d.ts.map +1 -1
  28. package/dist/src/board/board.d.ts +45 -46
  29. package/dist/src/board/board.d.ts.map +1 -1
  30. package/dist/src/board/board.js +76 -102
  31. package/dist/src/board/index.d.ts +1 -1
  32. package/dist/src/board/index.d.ts.map +1 -1
  33. package/dist/src/button/button.d.ts +1 -2
  34. package/dist/src/button/button.d.ts.map +1 -1
  35. package/dist/src/button/button.js +7 -5
  36. package/dist/src/button/index.d.ts +1 -1
  37. package/dist/src/button/index.d.ts.map +1 -1
  38. package/dist/src/card/card.d.ts.map +1 -1
  39. package/dist/src/card/card.js +4 -2
  40. package/dist/src/card/index.d.ts.map +1 -1
  41. package/dist/src/{chartTable/chartTable.d.ts → chart-table/chart-table.d.ts} +4 -14
  42. package/dist/src/chart-table/chart-table.d.ts.map +1 -0
  43. package/dist/src/{chartTable/chartTable.js → chart-table/chart-table.js} +9 -16
  44. package/dist/src/chip/chip.d.ts.map +1 -1
  45. package/dist/src/chip/chip.js +4 -2
  46. package/dist/src/chip/index.d.ts.map +1 -1
  47. package/dist/src/choice/choice.d.ts.map +1 -1
  48. package/dist/src/choice/choice.js +3 -1
  49. package/dist/src/choice/index.d.ts.map +1 -1
  50. package/dist/src/choices/choices.d.ts.map +1 -1
  51. package/dist/src/choices/index.d.ts.map +1 -1
  52. package/dist/src/{codeEditor/codeEditor.d.ts → code-editor/code-editor.d.ts} +1 -1
  53. package/dist/src/code-editor/code-editor.d.ts.map +1 -0
  54. package/dist/src/{codeEditor/codeEditor.js → code-editor/code-editor.js} +2 -2
  55. package/dist/src/code-editor/index.d.ts +3 -0
  56. package/dist/src/code-editor/index.d.ts.map +1 -0
  57. package/dist/src/code-editor/index.js +1 -0
  58. package/dist/src/{codeSurface/codeSurface.d.ts → code-surface/code-surface.d.ts} +1 -1
  59. package/dist/src/code-surface/code-surface.d.ts.map +1 -0
  60. package/dist/src/{codeSurface/codeSurface.js → code-surface/code-surface.js} +6 -1
  61. package/dist/src/code-surface/index.d.ts +3 -0
  62. package/dist/src/code-surface/index.d.ts.map +1 -0
  63. package/dist/src/code-surface/index.js +1 -0
  64. package/dist/src/{commandPalette/commandPalette.d.ts → command-palette/command-palette.d.ts} +85 -77
  65. package/dist/src/command-palette/command-palette.d.ts.map +1 -0
  66. package/dist/src/command-palette/command-palette.js +625 -0
  67. package/dist/src/{commandPalette → command-palette}/index.d.ts +2 -2
  68. package/dist/src/command-palette/index.d.ts.map +1 -0
  69. package/dist/src/{commandPalette → command-palette}/index.js +1 -1
  70. package/dist/src/{commandPalette → command-palette}/keys.d.ts +0 -21
  71. package/dist/src/command-palette/keys.d.ts.map +1 -0
  72. package/dist/src/command-palette/keys.js +85 -0
  73. package/dist/src/{commandPalette → command-palette}/match.d.ts +5 -11
  74. package/dist/src/command-palette/match.d.ts.map +1 -0
  75. package/dist/src/{commandPalette → command-palette}/match.js +20 -24
  76. package/dist/src/{commandPalette → command-palette}/message.d.ts +37 -26
  77. package/dist/src/command-palette/message.d.ts.map +1 -0
  78. package/dist/src/{commandPalette → command-palette}/message.js +8 -20
  79. package/dist/src/{confirmDialog/confirmDialog.d.ts → confirm-dialog/confirm-dialog.d.ts} +1 -1
  80. package/dist/src/confirm-dialog/confirm-dialog.d.ts.map +1 -0
  81. package/dist/src/{confirmDialog/confirmDialog.js → confirm-dialog/confirm-dialog.js} +18 -23
  82. package/dist/src/confirm-dialog/index.d.ts +3 -0
  83. package/dist/src/confirm-dialog/index.d.ts.map +1 -0
  84. package/dist/src/{confirmDialog → confirm-dialog}/index.js +1 -1
  85. package/dist/src/{contextMenu/contextMenu.d.ts → context-menu/context-menu.d.ts} +18 -21
  86. package/dist/src/context-menu/context-menu.d.ts.map +1 -0
  87. package/dist/src/{contextMenu/contextMenu.js → context-menu/context-menu.js} +45 -57
  88. package/dist/src/{contextMenu → context-menu}/index.d.ts +2 -2
  89. package/dist/src/context-menu/index.d.ts.map +1 -0
  90. package/dist/src/{contextMenu → context-menu}/index.js +1 -1
  91. package/dist/src/{copyButton/copyButton.d.ts → copy-button/copy-button.d.ts} +5 -7
  92. package/dist/src/copy-button/copy-button.d.ts.map +1 -0
  93. package/dist/src/{copyButton/copyButton.js → copy-button/copy-button.js} +18 -27
  94. package/dist/src/copy-button/index.d.ts +3 -0
  95. package/dist/src/copy-button/index.d.ts.map +1 -0
  96. package/dist/src/copy-button/index.js +1 -0
  97. package/dist/src/crumbs/crumbs.d.ts +1 -1
  98. package/dist/src/crumbs/crumbs.d.ts.map +1 -1
  99. package/dist/src/crumbs/index.d.ts.map +1 -1
  100. package/dist/src/deck/deck.d.ts.map +1 -1
  101. package/dist/src/deck/index.d.ts.map +1 -1
  102. package/dist/src/dialog/dialog.d.ts +6 -14
  103. package/dist/src/dialog/dialog.d.ts.map +1 -1
  104. package/dist/src/dialog/dialog.js +29 -36
  105. package/dist/src/dialog/fold.d.ts +3 -3
  106. package/dist/src/dialog/fold.d.ts.map +1 -1
  107. package/dist/src/dialog/fold.js +5 -4
  108. package/dist/src/dialog/index.d.ts +1 -1
  109. package/dist/src/dialog/index.d.ts.map +1 -1
  110. package/dist/src/disclosure/disclosure.d.ts.map +1 -1
  111. package/dist/src/disclosure/disclosure.js +3 -1
  112. package/dist/src/disclosure/index.d.ts.map +1 -1
  113. package/dist/src/dom/html-element.d.ts +3 -0
  114. package/dist/src/dom/html-element.d.ts.map +1 -0
  115. package/dist/src/dom/html-element.js +6 -0
  116. package/dist/src/drag/drag.d.ts +0 -34
  117. package/dist/src/drag/drag.d.ts.map +1 -1
  118. package/dist/src/drag/drag.js +27 -73
  119. package/dist/src/{dropZone/dropZone.d.ts → drop-zone/drop-zone.d.ts} +3 -3
  120. package/dist/src/drop-zone/drop-zone.d.ts.map +1 -0
  121. package/dist/src/{dropZone/dropZone.js → drop-zone/drop-zone.js} +13 -19
  122. package/dist/src/drop-zone/index.d.ts +3 -0
  123. package/dist/src/drop-zone/index.d.ts.map +1 -0
  124. package/dist/src/drop-zone/index.js +1 -0
  125. package/dist/src/{editableTitle/editableTitle.d.ts → editable-title/editable-title.d.ts} +14 -12
  126. package/dist/src/editable-title/editable-title.d.ts.map +1 -0
  127. package/dist/src/{editableTitle/editableTitle.js → editable-title/editable-title.js} +33 -39
  128. package/dist/src/editable-title/index.d.ts +4 -0
  129. package/dist/src/editable-title/index.d.ts.map +1 -0
  130. package/dist/src/{editableTitle → editable-title}/index.js +1 -1
  131. package/dist/src/{emptyState/emptyState.d.ts → empty-state/empty-state.d.ts} +1 -1
  132. package/dist/src/empty-state/empty-state.d.ts.map +1 -0
  133. package/dist/src/{emptyState/emptyState.js → empty-state/empty-state.js} +5 -2
  134. package/dist/src/empty-state/index.d.ts +3 -0
  135. package/dist/src/empty-state/index.d.ts.map +1 -0
  136. package/dist/src/empty-state/index.js +1 -0
  137. package/dist/src/{errorSummary/errorSummary.d.ts → error-summary/error-summary.d.ts} +2 -2
  138. package/dist/src/error-summary/error-summary.d.ts.map +1 -0
  139. package/dist/src/{errorSummary/errorSummary.js → error-summary/error-summary.js} +7 -5
  140. package/dist/src/error-summary/index.d.ts +3 -0
  141. package/dist/src/error-summary/index.d.ts.map +1 -0
  142. package/dist/src/error-summary/index.js +1 -0
  143. package/dist/src/field/field.d.ts +2 -7
  144. package/dist/src/field/field.d.ts.map +1 -1
  145. package/dist/src/field/field.js +12 -13
  146. package/dist/src/field/index.d.ts.map +1 -1
  147. package/dist/src/{fieldGrid/fieldGrid.d.ts → field-grid/field-grid.d.ts} +1 -1
  148. package/dist/src/field-grid/field-grid.d.ts.map +1 -0
  149. package/dist/src/{fieldGrid/fieldGrid.js → field-grid/field-grid.js} +1 -1
  150. package/dist/src/field-grid/index.d.ts +3 -0
  151. package/dist/src/field-grid/index.d.ts.map +1 -0
  152. package/dist/src/field-grid/index.js +1 -0
  153. package/dist/src/fields/fields.d.ts.map +1 -1
  154. package/dist/src/fields/fields.js +4 -1
  155. package/dist/src/fields/index.d.ts.map +1 -1
  156. package/dist/src/fieldset/fieldset.d.ts.map +1 -1
  157. package/dist/src/fieldset/index.d.ts.map +1 -1
  158. package/dist/src/{fileTree/fileTree.d.ts → file-tree/file-tree.d.ts} +5 -5
  159. package/dist/src/file-tree/file-tree.d.ts.map +1 -0
  160. package/dist/src/file-tree/file-tree.js +242 -0
  161. package/dist/src/file-tree/index.d.ts +3 -0
  162. package/dist/src/file-tree/index.d.ts.map +1 -0
  163. package/dist/src/{fileTree → file-tree}/index.js +1 -1
  164. package/dist/src/{filterChip/filterChip.d.ts → filter-chip/filter-chip.d.ts} +1 -1
  165. package/dist/src/filter-chip/filter-chip.d.ts.map +1 -0
  166. package/dist/src/{filterChip/filterChip.js → filter-chip/filter-chip.js} +11 -7
  167. package/dist/src/filter-chip/index.d.ts +3 -0
  168. package/dist/src/filter-chip/index.d.ts.map +1 -0
  169. package/dist/src/filter-chip/index.js +1 -0
  170. package/dist/src/{filterStrip/filterStrip.d.ts → filter-strip/filter-strip.d.ts} +1 -1
  171. package/dist/src/filter-strip/filter-strip.d.ts.map +1 -0
  172. package/dist/src/{filterStrip/filterStrip.js → filter-strip/filter-strip.js} +1 -1
  173. package/dist/src/filter-strip/index.d.ts +3 -0
  174. package/dist/src/filter-strip/index.d.ts.map +1 -0
  175. package/dist/src/filter-strip/index.js +1 -0
  176. package/dist/src/{flashWord/flashWord.d.ts → flash-word/flash-word.d.ts} +2 -2
  177. package/dist/src/flash-word/flash-word.d.ts.map +1 -0
  178. package/dist/src/{flashWord/flashWord.js → flash-word/flash-word.js} +2 -3
  179. package/dist/src/flash-word/index.d.ts +3 -0
  180. package/dist/src/flash-word/index.d.ts.map +1 -0
  181. package/dist/src/flash-word/index.js +1 -0
  182. package/dist/src/focus/focus.d.ts.map +1 -1
  183. package/dist/src/focus/focus.js +0 -2
  184. package/dist/src/format/format.d.ts +0 -7
  185. package/dist/src/format/format.d.ts.map +1 -1
  186. package/dist/src/format/format.js +7 -16
  187. package/dist/src/format/index.d.ts.map +1 -1
  188. package/dist/src/glyph/glyph.d.ts +1 -2
  189. package/dist/src/glyph/glyph.d.ts.map +1 -1
  190. package/dist/src/glyph/glyph.js +0 -2
  191. package/dist/src/glyph/glyphs.d.ts +19 -4
  192. package/dist/src/glyph/glyphs.d.ts.map +1 -1
  193. package/dist/src/glyph/glyphs.js +2577 -2594
  194. package/dist/src/glyph/index.d.ts.map +1 -1
  195. package/dist/src/group/group.d.ts.map +1 -1
  196. package/dist/src/group/index.d.ts.map +1 -1
  197. package/dist/src/history/history.d.ts +1 -1
  198. package/dist/src/history/history.d.ts.map +1 -1
  199. package/dist/src/history/history.js +6 -3
  200. package/dist/src/history/index.d.ts.map +1 -1
  201. package/dist/src/{iconButton/iconButton.d.ts → icon-button/icon-button.d.ts} +1 -1
  202. package/dist/src/icon-button/icon-button.d.ts.map +1 -0
  203. package/dist/src/{iconButton/iconButton.js → icon-button/icon-button.js} +6 -4
  204. package/dist/src/icon-button/index.d.ts +3 -0
  205. package/dist/src/icon-button/index.d.ts.map +1 -0
  206. package/dist/src/icon-button/index.js +1 -0
  207. package/dist/src/identity/identity.d.ts.map +1 -1
  208. package/dist/src/identity/index.d.ts.map +1 -1
  209. package/dist/src/{imageFrame/imageFrame.d.ts → image-frame/image-frame.d.ts} +1 -1
  210. package/dist/src/image-frame/image-frame.d.ts.map +1 -0
  211. package/dist/src/{imageFrame/imageFrame.js → image-frame/image-frame.js} +19 -12
  212. package/dist/src/image-frame/index.d.ts +3 -0
  213. package/dist/src/image-frame/index.d.ts.map +1 -0
  214. package/dist/src/image-frame/index.js +1 -0
  215. package/dist/src/index.d.ts +41 -41
  216. package/dist/src/index.d.ts.map +1 -1
  217. package/dist/src/index.js +41 -41
  218. package/dist/src/inline-input/index.d.ts +3 -0
  219. package/dist/src/inline-input/index.d.ts.map +1 -0
  220. package/dist/src/{inlineInput → inline-input}/index.js +1 -1
  221. package/dist/src/{inlineInput/inlineInput.d.ts → inline-input/inline-input.d.ts} +8 -12
  222. package/dist/src/inline-input/inline-input.d.ts.map +1 -0
  223. package/dist/src/{inlineInput/inlineInput.js → inline-input/inline-input.js} +60 -75
  224. package/dist/src/key-help/index.d.ts +3 -0
  225. package/dist/src/key-help/index.d.ts.map +1 -0
  226. package/dist/src/{keyHelp → key-help}/index.js +1 -1
  227. package/dist/src/{keyHelp/keyHelp.d.ts → key-help/key-help.d.ts} +7 -7
  228. package/dist/src/key-help/key-help.d.ts.map +1 -0
  229. package/dist/src/{keyHelp/keyHelp.js → key-help/key-help.js} +48 -47
  230. package/dist/src/key-hint/index.d.ts +4 -0
  231. package/dist/src/key-hint/index.d.ts.map +1 -0
  232. package/dist/src/key-hint/index.js +2 -0
  233. package/dist/src/{keyHint/keyHint.d.ts → key-hint/key-hint.d.ts} +2 -2
  234. package/dist/src/key-hint/key-hint.d.ts.map +1 -0
  235. package/dist/src/{keyHint/keyHint.js → key-hint/key-hint.js} +2 -2
  236. package/dist/src/{keyHint/keyLabel.d.ts → key-hint/key-label.d.ts} +2 -3
  237. package/dist/src/key-hint/key-label.d.ts.map +1 -0
  238. package/dist/src/{keyHint/keyLabel.js → key-hint/key-label.js} +29 -24
  239. package/dist/src/keymap/index.d.ts.map +1 -1
  240. package/dist/src/keymap/keymap.d.ts +2 -2
  241. package/dist/src/keymap/keymap.d.ts.map +1 -1
  242. package/dist/src/keymap/keymap.js +3 -1
  243. package/dist/src/keys/keys.d.ts +0 -2
  244. package/dist/src/keys/keys.d.ts.map +1 -1
  245. package/dist/src/keys/keys.js +0 -2
  246. package/dist/src/line-chart/index.d.ts +3 -0
  247. package/dist/src/line-chart/index.d.ts.map +1 -0
  248. package/dist/src/line-chart/index.js +1 -0
  249. package/dist/src/{lineChart/lineChart.d.ts → line-chart/line-chart.d.ts} +2 -2
  250. package/dist/src/line-chart/line-chart.d.ts.map +1 -0
  251. package/dist/src/{lineChart/lineChart.js → line-chart/line-chart.js} +52 -44
  252. package/dist/src/line-diff/diff.d.ts +29 -0
  253. package/dist/src/line-diff/diff.d.ts.map +1 -0
  254. package/dist/src/line-diff/diff.js +85 -0
  255. package/dist/src/line-diff/index.d.ts +5 -0
  256. package/dist/src/line-diff/index.d.ts.map +1 -0
  257. package/dist/src/line-diff/index.js +2 -0
  258. package/dist/src/{lineDiff/lineDiff.d.ts → line-diff/line-diff.d.ts} +1 -1
  259. package/dist/src/line-diff/line-diff.d.ts.map +1 -0
  260. package/dist/src/{lineDiff/lineDiff.js → line-diff/line-diff.js} +26 -19
  261. package/dist/src/{lineDiff → line-diff}/patch.d.ts +5 -9
  262. package/dist/src/line-diff/patch.d.ts.map +1 -0
  263. package/dist/src/{lineDiff → line-diff}/patch.js +54 -62
  264. package/dist/src/link-button/index.d.ts +3 -0
  265. package/dist/src/link-button/index.d.ts.map +1 -0
  266. package/dist/src/link-button/index.js +1 -0
  267. package/dist/src/{linkButton/linkButton.d.ts → link-button/link-button.d.ts} +2 -2
  268. package/dist/src/link-button/link-button.d.ts.map +1 -0
  269. package/dist/src/{linkButton/linkButton.js → link-button/link-button.js} +1 -1
  270. package/dist/src/link-state/index.d.ts +3 -0
  271. package/dist/src/link-state/index.d.ts.map +1 -0
  272. package/dist/src/link-state/index.js +1 -0
  273. package/dist/src/{linkState/linkState.d.ts → link-state/link-state.d.ts} +1 -1
  274. package/dist/src/link-state/link-state.d.ts.map +1 -0
  275. package/dist/src/link-state/link-state.js +24 -0
  276. package/dist/src/live-region/index.d.ts +3 -0
  277. package/dist/src/live-region/index.d.ts.map +1 -0
  278. package/dist/src/live-region/index.js +1 -0
  279. package/dist/src/{liveRegion/liveRegion.d.ts → live-region/live-region.d.ts} +6 -3
  280. package/dist/src/live-region/live-region.d.ts.map +1 -0
  281. package/dist/src/{liveRegion/liveRegion.js → live-region/live-region.js} +7 -5
  282. package/dist/src/loading/index.d.ts.map +1 -1
  283. package/dist/src/loading/loading.d.ts.map +1 -1
  284. package/dist/src/loading/loading.js +5 -1
  285. package/dist/src/mark/index.d.ts.map +1 -1
  286. package/dist/src/mark/mark.d.ts +0 -4
  287. package/dist/src/mark/mark.d.ts.map +1 -1
  288. package/dist/src/mark/mark.js +6 -3
  289. package/dist/src/media/index.d.ts.map +1 -1
  290. package/dist/src/media/media.d.ts +17 -42
  291. package/dist/src/media/media.d.ts.map +1 -1
  292. package/dist/src/media/media.js +106 -104
  293. package/dist/src/menu/index.d.ts.map +1 -1
  294. package/dist/src/menu/item.d.ts +8 -8
  295. package/dist/src/menu/item.d.ts.map +1 -1
  296. package/dist/src/menu/menu.d.ts +2 -5
  297. package/dist/src/menu/menu.d.ts.map +1 -1
  298. package/dist/src/menu/menu.js +19 -30
  299. package/dist/src/menu/slip.d.ts +4 -18
  300. package/dist/src/menu/slip.d.ts.map +1 -1
  301. package/dist/src/menu/slip.js +36 -36
  302. package/dist/src/meter/index.d.ts.map +1 -1
  303. package/dist/src/meter/meter.d.ts +1 -1
  304. package/dist/src/meter/meter.d.ts.map +1 -1
  305. package/dist/src/meter/meter.js +12 -15
  306. package/dist/src/monogram/index.d.ts.map +1 -1
  307. package/dist/src/monogram/monogram.d.ts.map +1 -1
  308. package/dist/src/monogram/monogram.js +9 -8
  309. package/dist/src/nav-strip/index.d.ts +3 -0
  310. package/dist/src/nav-strip/index.d.ts.map +1 -0
  311. package/dist/src/nav-strip/index.js +1 -0
  312. package/dist/src/{navStrip/navStrip.d.ts → nav-strip/nav-strip.d.ts} +3 -6
  313. package/dist/src/nav-strip/nav-strip.d.ts.map +1 -0
  314. package/dist/src/nav-strip/nav-strip.js +25 -0
  315. package/dist/src/notice/index.d.ts.map +1 -1
  316. package/dist/src/notice/notice.d.ts +0 -4
  317. package/dist/src/notice/notice.d.ts.map +1 -1
  318. package/dist/src/notice/notice.js +1 -4
  319. package/dist/src/outcome/index.d.ts.map +1 -1
  320. package/dist/src/outcome/outcome.d.ts.map +1 -1
  321. package/dist/src/outcome/outcome.js +1 -1
  322. package/dist/src/page-head/index.d.ts +3 -0
  323. package/dist/src/page-head/index.d.ts.map +1 -0
  324. package/dist/src/page-head/index.js +1 -0
  325. package/dist/src/{pageHead/pageHead.d.ts → page-head/page-head.d.ts} +1 -1
  326. package/dist/src/page-head/page-head.d.ts.map +1 -0
  327. package/dist/src/{pageHead/pageHead.js → page-head/page-head.js} +1 -1
  328. package/dist/src/panel/index.d.ts.map +1 -1
  329. package/dist/src/panel/panel.d.ts +0 -1
  330. package/dist/src/panel/panel.d.ts.map +1 -1
  331. package/dist/src/panel/panel.js +0 -1
  332. package/dist/src/password-field/index.d.ts +3 -0
  333. package/dist/src/password-field/index.d.ts.map +1 -0
  334. package/dist/src/password-field/index.js +1 -0
  335. package/dist/src/{passwordField/passwordField.d.ts → password-field/password-field.d.ts} +1 -1
  336. package/dist/src/password-field/password-field.d.ts.map +1 -0
  337. package/dist/src/{passwordField/passwordField.js → password-field/password-field.js} +4 -5
  338. package/dist/src/places/index.d.ts.map +1 -1
  339. package/dist/src/places/places.d.ts +3 -4
  340. package/dist/src/places/places.d.ts.map +1 -1
  341. package/dist/src/places/places.js +8 -2
  342. package/dist/src/props-list/index.d.ts +3 -0
  343. package/dist/src/props-list/index.d.ts.map +1 -0
  344. package/dist/src/props-list/index.js +1 -0
  345. package/dist/src/{propsList/propsList.d.ts → props-list/props-list.d.ts} +2 -2
  346. package/dist/src/props-list/props-list.d.ts.map +1 -0
  347. package/dist/src/{propsList/propsList.js → props-list/props-list.js} +2 -2
  348. package/dist/src/prose/index.d.ts.map +1 -1
  349. package/dist/src/prose/prose.d.ts.map +1 -1
  350. package/dist/src/query-chip/index.d.ts +3 -0
  351. package/dist/src/query-chip/index.d.ts.map +1 -0
  352. package/dist/src/query-chip/index.js +1 -0
  353. package/dist/src/{queryChip/queryChip.d.ts → query-chip/query-chip.d.ts} +1 -1
  354. package/dist/src/query-chip/query-chip.d.ts.map +1 -0
  355. package/dist/src/{queryChip/queryChip.js → query-chip/query-chip.js} +7 -4
  356. package/dist/src/{radioChoices → radio-choices}/index.d.ts +2 -2
  357. package/dist/src/radio-choices/index.d.ts.map +1 -0
  358. package/dist/src/{radioChoices → radio-choices}/index.js +1 -1
  359. package/dist/src/{radioChoices/radioChoices.d.ts → radio-choices/radio-choices.d.ts} +3 -3
  360. package/dist/src/radio-choices/radio-choices.d.ts.map +1 -0
  361. package/dist/src/{radioChoices/radioChoices.js → radio-choices/radio-choices.js} +25 -24
  362. package/dist/src/rail/index.d.ts.map +1 -1
  363. package/dist/src/rail/rail.d.ts +16 -32
  364. package/dist/src/rail/rail.d.ts.map +1 -1
  365. package/dist/src/rail/rail.js +97 -65
  366. package/dist/src/reel/index.d.ts +1 -1
  367. package/dist/src/reel/index.d.ts.map +1 -1
  368. package/dist/src/reel/layout.d.ts +12 -54
  369. package/dist/src/reel/layout.d.ts.map +1 -1
  370. package/dist/src/reel/layout.js +120 -145
  371. package/dist/src/reel/reel.d.ts +35 -34
  372. package/dist/src/reel/reel.d.ts.map +1 -1
  373. package/dist/src/reel/reel.js +253 -233
  374. package/dist/src/remote/index.d.ts.map +1 -1
  375. package/dist/src/remote/remote.d.ts +2 -2
  376. package/dist/src/remote/remote.d.ts.map +1 -1
  377. package/dist/src/remote/remote.js +6 -2
  378. package/dist/src/rows/index.d.ts.map +1 -1
  379. package/dist/src/rows/rows.d.ts +2 -2
  380. package/dist/src/rows/rows.d.ts.map +1 -1
  381. package/dist/src/rows/rows.js +16 -7
  382. package/dist/src/scheme/index.d.ts +1 -1
  383. package/dist/src/scheme/index.d.ts.map +1 -1
  384. package/dist/src/scheme/index.js +1 -1
  385. package/dist/src/scheme/{schemeSwitch.d.ts → scheme-switch.d.ts} +2 -2
  386. package/dist/src/scheme/scheme-switch.d.ts.map +1 -0
  387. package/dist/src/scheme/{schemeSwitch.js → scheme-switch.js} +33 -38
  388. package/dist/src/scheme/scheme.d.ts +0 -2
  389. package/dist/src/scheme/scheme.d.ts.map +1 -1
  390. package/dist/src/scheme/scheme.js +0 -2
  391. package/dist/src/secret/index.d.ts.map +1 -1
  392. package/dist/src/secret/secret.d.ts.map +1 -1
  393. package/dist/src/segmented/index.d.ts.map +1 -1
  394. package/dist/src/segmented/segmented.d.ts.map +1 -1
  395. package/dist/src/segmented/segmented.js +14 -3
  396. package/dist/src/select-all/index.d.ts +3 -0
  397. package/dist/src/select-all/index.d.ts.map +1 -0
  398. package/dist/src/select-all/index.js +1 -0
  399. package/dist/src/{selectAll/selectAll.d.ts → select-all/select-all.d.ts} +1 -1
  400. package/dist/src/select-all/select-all.d.ts.map +1 -0
  401. package/dist/src/{selectAll/selectAll.js → select-all/select-all.js} +2 -2
  402. package/dist/src/select-field/index.d.ts +3 -0
  403. package/dist/src/select-field/index.d.ts.map +1 -0
  404. package/dist/src/select-field/index.js +1 -0
  405. package/dist/src/{selectField/selectField.d.ts → select-field/select-field.d.ts} +2 -2
  406. package/dist/src/select-field/select-field.d.ts.map +1 -0
  407. package/dist/src/{selectField/selectField.js → select-field/select-field.js} +10 -7
  408. package/dist/src/sheet/index.d.ts.map +1 -1
  409. package/dist/src/sheet/sheet.d.ts.map +1 -1
  410. package/dist/src/sheet/sheet.js +4 -1
  411. package/dist/src/skip-link/index.d.ts +2 -0
  412. package/dist/src/skip-link/index.d.ts.map +1 -0
  413. package/dist/src/skip-link/index.js +1 -0
  414. package/dist/src/{skipLink/skipLink.d.ts → skip-link/skip-link.d.ts} +1 -3
  415. package/dist/src/skip-link/skip-link.d.ts.map +1 -0
  416. package/dist/src/{skipLink/skipLink.js → skip-link/skip-link.js} +7 -11
  417. package/dist/src/slot/slot.d.ts +1 -4
  418. package/dist/src/slot/slot.d.ts.map +1 -1
  419. package/dist/src/slot/slot.js +3 -3
  420. package/dist/src/sortable/index.d.ts.map +1 -1
  421. package/dist/src/sortable/sortable.d.ts +44 -44
  422. package/dist/src/sortable/sortable.d.ts.map +1 -1
  423. package/dist/src/sortable/sortable.js +60 -93
  424. package/dist/src/stack/index.d.ts.map +1 -1
  425. package/dist/src/stack/stack.d.ts.map +1 -1
  426. package/dist/src/stack/stack.js +0 -2
  427. package/dist/src/stage/index.d.ts.map +1 -1
  428. package/dist/src/stage/stage.d.ts +1 -1
  429. package/dist/src/stage/stage.d.ts.map +1 -1
  430. package/dist/src/stage/stage.js +4 -1
  431. package/dist/src/stat/index.d.ts.map +1 -1
  432. package/dist/src/stat/stat.d.ts +1 -1
  433. package/dist/src/stat/stat.d.ts.map +1 -1
  434. package/dist/src/stat/stat.js +17 -8
  435. package/dist/src/status-bar/index.d.ts +4 -0
  436. package/dist/src/status-bar/index.d.ts.map +1 -0
  437. package/dist/src/status-bar/index.js +2 -0
  438. package/dist/src/{statusBar/statusBar.d.ts → status-bar/status-bar.d.ts} +4 -4
  439. package/dist/src/status-bar/status-bar.d.ts.map +1 -0
  440. package/dist/src/{statusBar/statusBar.js → status-bar/status-bar.js} +5 -6
  441. package/dist/src/subscription/{prefixKeys.d.ts → prefix-keys.d.ts} +1 -2
  442. package/dist/src/subscription/prefix-keys.d.ts.map +1 -0
  443. package/dist/src/subscription/{prefixKeys.js → prefix-keys.js} +2 -5
  444. package/dist/src/table/index.d.ts.map +1 -1
  445. package/dist/src/table/table.d.ts +1 -1
  446. package/dist/src/table/table.d.ts.map +1 -1
  447. package/dist/src/table/table.js +19 -7
  448. package/dist/src/tabs/index.d.ts.map +1 -1
  449. package/dist/src/tabs/tabs.d.ts +4 -4
  450. package/dist/src/tabs/tabs.d.ts.map +1 -1
  451. package/dist/src/tabs/tabs.js +1 -6
  452. package/dist/src/tag/index.d.ts.map +1 -1
  453. package/dist/src/tag/tag.d.ts.map +1 -1
  454. package/dist/src/tag/tag.js +4 -1
  455. package/dist/src/text-button/index.d.ts +3 -0
  456. package/dist/src/text-button/index.d.ts.map +1 -0
  457. package/dist/src/text-button/index.js +1 -0
  458. package/dist/src/{textButton/textButton.d.ts → text-button/text-button.d.ts} +1 -1
  459. package/dist/src/text-button/text-button.d.ts.map +1 -0
  460. package/dist/src/{textButton/textButton.js → text-button/text-button.js} +2 -2
  461. package/dist/src/textarea-field/index.d.ts +3 -0
  462. package/dist/src/textarea-field/index.d.ts.map +1 -0
  463. package/dist/src/textarea-field/index.js +1 -0
  464. package/dist/src/{textareaField/textareaField.d.ts → textarea-field/textarea-field.d.ts} +1 -1
  465. package/dist/src/textarea-field/textarea-field.d.ts.map +1 -0
  466. package/dist/src/{textareaField/textareaField.js → textarea-field/textarea-field.js} +2 -2
  467. package/dist/src/time/index.d.ts.map +1 -1
  468. package/dist/src/time/time.d.ts.map +1 -1
  469. package/dist/src/time/time.js +16 -9
  470. package/dist/src/tips/index.d.ts.map +1 -1
  471. package/dist/src/tips/tips.d.ts +7 -18
  472. package/dist/src/tips/tips.d.ts.map +1 -1
  473. package/dist/src/tips/tips.js +67 -65
  474. package/dist/src/toast/index.d.ts.map +1 -1
  475. package/dist/src/toast/stack.d.ts +1 -8
  476. package/dist/src/toast/stack.d.ts.map +1 -1
  477. package/dist/src/toast/stack.js +5 -18
  478. package/dist/src/toast/toast.d.ts +3 -5
  479. package/dist/src/toast/toast.d.ts.map +1 -1
  480. package/dist/src/toast/toast.js +42 -39
  481. package/dist/src/toc/index.d.ts.map +1 -1
  482. package/dist/src/toc/toc.d.ts +3 -3
  483. package/dist/src/toc/toc.d.ts.map +1 -1
  484. package/dist/src/toc/toc.js +10 -7
  485. package/dist/src/toolbar/index.d.ts.map +1 -1
  486. package/dist/src/toolbar/toolbar.d.ts +1 -1
  487. package/dist/src/toolbar/toolbar.d.ts.map +1 -1
  488. package/dist/src/toolbar/toolbar.js +27 -24
  489. package/dist/src/{topBar/barHeight.d.ts → top-bar/bar-height.d.ts} +1 -2
  490. package/dist/src/top-bar/bar-height.d.ts.map +1 -0
  491. package/dist/src/{topBar/barHeight.js → top-bar/bar-height.js} +20 -13
  492. package/dist/src/top-bar/index.d.ts +4 -0
  493. package/dist/src/top-bar/index.d.ts.map +1 -0
  494. package/dist/src/top-bar/index.js +2 -0
  495. package/dist/src/{topBar/topBar.d.ts → top-bar/top-bar.d.ts} +3 -3
  496. package/dist/src/top-bar/top-bar.d.ts.map +1 -0
  497. package/dist/src/{topBar/topBar.js → top-bar/top-bar.js} +2 -2
  498. package/dist/src/video-frame/index.d.ts +3 -0
  499. package/dist/src/video-frame/index.d.ts.map +1 -0
  500. package/dist/src/video-frame/index.js +1 -0
  501. package/dist/src/{videoFrame/videoFrame.d.ts → video-frame/video-frame.d.ts} +1 -1
  502. package/dist/src/video-frame/video-frame.d.ts.map +1 -0
  503. package/dist/src/{videoFrame/videoFrame.js → video-frame/video-frame.js} +11 -7
  504. package/dist/src/wall/index.d.ts.map +1 -1
  505. package/dist/src/wall/wall.d.ts.map +1 -1
  506. package/dist/src/window/index.d.ts.map +1 -1
  507. package/dist/src/window/window.d.ts +2 -2
  508. package/dist/src/window/window.d.ts.map +1 -1
  509. package/dist/src/window/window.js +4 -2
  510. package/dist/src/wordmark/index.d.ts.map +1 -1
  511. package/dist/src/wordmark/wordmark.d.ts.map +1 -1
  512. package/dist/src/wrap/index.d.ts.map +1 -1
  513. package/dist/src/wrap/wrap.d.ts.map +1 -1
  514. package/package.json +6 -6
  515. package/src/adapters/diagram.ts +278 -0
  516. package/src/adapters/mermaid.ts +13 -273
  517. package/src/announcer/announcer.ts +54 -35
  518. package/src/attributes/attributes.ts +3 -1
  519. package/src/{audioFrame/audioFrame.ts → audio-frame/audio-frame.ts} +4 -6
  520. package/src/audio-frame/index.ts +3 -0
  521. package/src/banner/banner.ts +5 -4
  522. package/src/banner/index.ts +1 -0
  523. package/src/{barChart/barChart.ts → bar-chart/bar-chart.ts} +81 -43
  524. package/src/bar-chart/index.ts +3 -0
  525. package/src/bench/bench.ts +5 -4
  526. package/src/bench/index.ts +1 -0
  527. package/src/board/board.ts +338 -243
  528. package/src/board/index.ts +8 -1
  529. package/src/button/button.ts +24 -16
  530. package/src/button/index.ts +8 -1
  531. package/src/card/card.ts +23 -21
  532. package/src/card/index.ts +1 -0
  533. package/src/chart-table/chart-table.ts +87 -0
  534. package/src/chip/chip.ts +13 -9
  535. package/src/chip/index.ts +1 -0
  536. package/src/choice/choice.ts +13 -7
  537. package/src/choice/index.ts +1 -0
  538. package/src/choices/choices.ts +4 -3
  539. package/src/choices/index.ts +1 -0
  540. package/src/{codeEditor/codeEditor.ts → code-editor/code-editor.ts} +5 -4
  541. package/src/code-editor/index.ts +3 -0
  542. package/src/{codeSurface/codeSurface.ts → code-surface/code-surface.ts} +11 -5
  543. package/src/code-surface/index.ts +3 -0
  544. package/src/{commandPalette/commandPalette.ts → command-palette/command-palette.ts} +470 -295
  545. package/src/{commandPalette → command-palette}/index.ts +12 -2
  546. package/src/{commandPalette → command-palette}/keys.ts +44 -43
  547. package/src/{commandPalette → command-palette}/match.ts +42 -30
  548. package/src/{commandPalette → command-palette}/message.ts +13 -20
  549. package/src/{confirmDialog/confirmDialog.ts → confirm-dialog/confirm-dialog.ts} +51 -46
  550. package/src/{confirmDialog → confirm-dialog}/index.ts +3 -2
  551. package/src/{contextMenu/contextMenu.ts → context-menu/context-menu.ts} +71 -70
  552. package/src/{contextMenu → context-menu}/index.ts +4 -2
  553. package/src/{copyButton/copyButton.ts → copy-button/copy-button.ts} +51 -54
  554. package/src/{copyButton → copy-button}/index.ts +3 -2
  555. package/src/crumbs/crumbs.ts +7 -6
  556. package/src/crumbs/index.ts +1 -0
  557. package/src/deck/deck.ts +4 -3
  558. package/src/deck/index.ts +1 -0
  559. package/src/dialog/dialog.ts +135 -113
  560. package/src/dialog/fold.ts +44 -25
  561. package/src/dialog/index.ts +9 -1
  562. package/src/disclosure/disclosure.ts +14 -8
  563. package/src/disclosure/index.ts +1 -0
  564. package/src/dom/html-element.ts +10 -0
  565. package/src/drag/drag.ts +102 -119
  566. package/src/{dropZone/dropZone.ts → drop-zone/drop-zone.ts} +43 -43
  567. package/src/drop-zone/index.ts +11 -0
  568. package/src/{editableTitle/editableTitle.ts → editable-title/editable-title.ts} +29 -32
  569. package/src/{editableTitle → editable-title}/index.ts +4 -2
  570. package/src/{emptyState/emptyState.ts → empty-state/empty-state.ts} +9 -5
  571. package/src/empty-state/index.ts +3 -0
  572. package/src/{errorSummary/errorSummary.ts → error-summary/error-summary.ts} +16 -7
  573. package/src/error-summary/index.ts +3 -0
  574. package/src/field/field.ts +38 -28
  575. package/src/field/index.ts +1 -0
  576. package/src/{fieldGrid/fieldGrid.ts → field-grid/field-grid.ts} +4 -3
  577. package/src/field-grid/index.ts +3 -0
  578. package/src/fields/fields.ts +9 -5
  579. package/src/fields/index.ts +1 -0
  580. package/src/fieldset/fieldset.ts +6 -5
  581. package/src/fieldset/index.ts +1 -0
  582. package/src/{fileTree/fileTree.ts → file-tree/file-tree.ts} +241 -166
  583. package/src/file-tree/index.ts +12 -0
  584. package/src/{filterChip/filterChip.ts → filter-chip/filter-chip.ts} +32 -13
  585. package/src/filter-chip/index.ts +3 -0
  586. package/src/{filterStrip/filterStrip.ts → filter-strip/filter-strip.ts} +4 -3
  587. package/src/filter-strip/index.ts +3 -0
  588. package/src/{flashWord/flashWord.ts → flash-word/flash-word.ts} +9 -7
  589. package/src/flash-word/index.ts +3 -0
  590. package/src/focus/focus.ts +5 -5
  591. package/src/format/format.ts +37 -31
  592. package/src/format/index.ts +1 -0
  593. package/src/glyph/glyph.ts +7 -6
  594. package/src/glyph/glyphs.ts +2601 -2611
  595. package/src/glyph/index.ts +3 -0
  596. package/src/group/group.ts +4 -3
  597. package/src/group/index.ts +1 -0
  598. package/src/history/history.ts +18 -10
  599. package/src/history/index.ts +1 -0
  600. package/src/{iconButton/iconButton.ts → icon-button/icon-button.ts} +13 -7
  601. package/src/icon-button/index.ts +3 -0
  602. package/src/identity/identity.ts +7 -6
  603. package/src/identity/index.ts +1 -0
  604. package/src/{imageFrame/imageFrame.ts → image-frame/image-frame.ts} +43 -25
  605. package/src/image-frame/index.ts +3 -0
  606. package/src/index.ts +139 -41
  607. package/src/{inlineInput → inline-input}/index.ts +3 -2
  608. package/src/{inlineInput/inlineInput.ts → inline-input/inline-input.ts} +97 -88
  609. package/src/{keyHelp → key-help}/index.ts +3 -2
  610. package/src/{keyHelp/keyHelp.ts → key-help/key-help.ts} +74 -62
  611. package/src/key-hint/index.ts +5 -0
  612. package/src/{keyHint/keyHint.ts → key-hint/key-hint.ts} +10 -5
  613. package/src/{keyHint/keyLabel.ts → key-hint/key-label.ts} +43 -22
  614. package/src/keymap/index.ts +1 -0
  615. package/src/keymap/keymap.ts +23 -9
  616. package/src/keys/keys.ts +0 -2
  617. package/src/line-chart/index.ts +3 -0
  618. package/src/{lineChart/lineChart.ts → line-chart/line-chart.ts} +71 -49
  619. package/src/line-diff/diff.ts +196 -0
  620. package/src/line-diff/index.ts +7 -0
  621. package/src/{lineDiff/lineDiff.ts → line-diff/line-diff.ts} +45 -23
  622. package/src/{lineDiff → line-diff}/patch.ts +104 -76
  623. package/src/link-button/index.ts +3 -0
  624. package/src/{linkButton/linkButton.ts → link-button/link-button.ts} +7 -5
  625. package/src/link-state/index.ts +3 -0
  626. package/src/{linkState/linkState.ts → link-state/link-state.ts} +20 -9
  627. package/src/live-region/index.ts +3 -0
  628. package/src/{liveRegion/liveRegion.ts → live-region/live-region.ts} +15 -11
  629. package/src/loading/index.ts +1 -0
  630. package/src/loading/loading.ts +10 -5
  631. package/src/mark/index.ts +1 -0
  632. package/src/mark/mark.ts +17 -15
  633. package/src/media/index.ts +1 -0
  634. package/src/media/media.ts +255 -157
  635. package/src/menu/index.ts +4 -0
  636. package/src/menu/item.ts +10 -11
  637. package/src/menu/menu.ts +110 -97
  638. package/src/menu/slip.ts +129 -92
  639. package/src/meter/index.ts +1 -0
  640. package/src/meter/meter.ts +52 -33
  641. package/src/monogram/index.ts +1 -0
  642. package/src/monogram/monogram.ts +27 -19
  643. package/src/nav-strip/index.ts +3 -0
  644. package/src/{navStrip/navStrip.ts → nav-strip/nav-strip.ts} +21 -13
  645. package/src/notice/index.ts +1 -0
  646. package/src/notice/notice.ts +24 -16
  647. package/src/outcome/index.ts +1 -0
  648. package/src/outcome/outcome.ts +14 -6
  649. package/src/page-head/index.ts +3 -0
  650. package/src/{pageHead/pageHead.ts → page-head/page-head.ts} +6 -5
  651. package/src/panel/index.ts +1 -0
  652. package/src/panel/panel.ts +6 -6
  653. package/src/password-field/index.ts +3 -0
  654. package/src/{passwordField/passwordField.ts → password-field/password-field.ts} +13 -13
  655. package/src/pixel-paper.css +26 -508
  656. package/src/places/index.ts +1 -0
  657. package/src/places/places.ts +22 -11
  658. package/src/props-list/index.ts +3 -0
  659. package/src/{propsList/propsList.ts → props-list/props-list.ts} +6 -6
  660. package/src/prose/index.ts +1 -0
  661. package/src/prose/prose.ts +4 -4
  662. package/src/query-chip/index.ts +3 -0
  663. package/src/{queryChip/queryChip.ts → query-chip/query-chip.ts} +18 -7
  664. package/src/{radioChoices → radio-choices}/index.ts +3 -2
  665. package/src/{radioChoices/radioChoices.ts → radio-choices/radio-choices.ts} +79 -65
  666. package/src/rail/index.ts +1 -0
  667. package/src/rail/rail.ts +291 -225
  668. package/src/reel/index.ts +8 -1
  669. package/src/reel/layout.ts +393 -238
  670. package/src/reel/reel.ts +750 -452
  671. package/src/remote/index.ts +1 -0
  672. package/src/remote/remote.ts +18 -11
  673. package/src/rows/index.ts +1 -0
  674. package/src/rows/rows.ts +83 -47
  675. package/src/scheme/index.ts +3 -1
  676. package/src/scheme/{schemeSwitch.ts → scheme-switch.ts} +24 -35
  677. package/src/scheme/scheme.ts +4 -4
  678. package/src/secret/index.ts +1 -0
  679. package/src/secret/secret.ts +5 -4
  680. package/src/segmented/index.ts +1 -0
  681. package/src/segmented/segmented.ts +22 -10
  682. package/src/select-all/index.ts +3 -0
  683. package/src/{selectAll/selectAll.ts → select-all/select-all.ts} +9 -8
  684. package/src/{selectField → select-field}/index.ts +3 -2
  685. package/src/{selectField/selectField.ts → select-field/select-field.ts} +25 -11
  686. package/src/sheet/index.ts +1 -0
  687. package/src/sheet/sheet.ts +9 -5
  688. package/src/skip-link/index.ts +1 -0
  689. package/src/{skipLink/skipLink.ts → skip-link/skip-link.ts} +9 -15
  690. package/src/slot/slot.ts +5 -6
  691. package/src/sortable/index.ts +1 -0
  692. package/src/sortable/sortable.ts +287 -206
  693. package/src/stack/index.ts +1 -0
  694. package/src/stack/stack.ts +6 -7
  695. package/src/stage/index.ts +1 -0
  696. package/src/stage/stage.ts +12 -8
  697. package/src/stat/index.ts +1 -0
  698. package/src/stat/stat.ts +39 -20
  699. package/src/status-bar/index.ts +5 -0
  700. package/src/{statusBar/statusBar.ts → status-bar/status-bar.ts} +18 -11
  701. package/src/subscription/{prefixKeys.ts → prefix-keys.ts} +5 -6
  702. package/src/table/index.ts +1 -0
  703. package/src/table/table.ts +49 -24
  704. package/src/tabs/index.ts +1 -0
  705. package/src/tabs/tabs.ts +58 -60
  706. package/src/tag/index.ts +1 -0
  707. package/src/tag/tag.ts +14 -7
  708. package/src/text-button/index.ts +3 -0
  709. package/src/{textButton/textButton.ts → text-button/text-button.ts} +7 -5
  710. package/src/textarea-field/index.ts +3 -0
  711. package/src/{textareaField/textareaField.ts → textarea-field/textarea-field.ts} +15 -7
  712. package/src/time/index.ts +1 -0
  713. package/src/time/time.ts +58 -25
  714. package/src/tips/index.ts +1 -0
  715. package/src/tips/tips.ts +183 -127
  716. package/src/toast/index.ts +3 -0
  717. package/src/toast/stack.ts +22 -23
  718. package/src/toast/toast.ts +168 -100
  719. package/src/toc/index.ts +1 -0
  720. package/src/toc/toc.ts +42 -27
  721. package/src/tokens.css +7 -24
  722. package/src/toolbar/index.ts +1 -0
  723. package/src/toolbar/toolbar.ts +78 -40
  724. package/src/{topBar/barHeight.ts → top-bar/bar-height.ts} +26 -12
  725. package/src/top-bar/index.ts +5 -0
  726. package/src/{topBar/topBar.ts → top-bar/top-bar.ts} +13 -7
  727. package/src/video-frame/index.ts +3 -0
  728. package/src/{videoFrame/videoFrame.ts → video-frame/video-frame.ts} +31 -18
  729. package/src/wall/index.ts +1 -0
  730. package/src/wall/wall.ts +13 -10
  731. package/src/window/index.ts +1 -0
  732. package/src/window/window.ts +15 -9
  733. package/src/wordmark/index.ts +1 -0
  734. package/src/wordmark/wordmark.ts +4 -3
  735. package/src/wrap/index.ts +1 -0
  736. package/src/wrap/wrap.ts +4 -3
  737. package/dist/src/audioFrame/audioFrame.d.ts.map +0 -1
  738. package/dist/src/audioFrame/index.d.ts +0 -3
  739. package/dist/src/audioFrame/index.d.ts.map +0 -1
  740. package/dist/src/audioFrame/index.js +0 -1
  741. package/dist/src/barChart/barChart.d.ts.map +0 -1
  742. package/dist/src/barChart/index.d.ts +0 -3
  743. package/dist/src/barChart/index.d.ts.map +0 -1
  744. package/dist/src/barChart/index.js +0 -1
  745. package/dist/src/chartTable/chartTable.d.ts.map +0 -1
  746. package/dist/src/codeEditor/codeEditor.d.ts.map +0 -1
  747. package/dist/src/codeEditor/index.d.ts +0 -3
  748. package/dist/src/codeEditor/index.d.ts.map +0 -1
  749. package/dist/src/codeEditor/index.js +0 -1
  750. package/dist/src/codeSurface/codeSurface.d.ts.map +0 -1
  751. package/dist/src/codeSurface/index.d.ts +0 -3
  752. package/dist/src/codeSurface/index.d.ts.map +0 -1
  753. package/dist/src/codeSurface/index.js +0 -1
  754. package/dist/src/commandPalette/commandPalette.d.ts.map +0 -1
  755. package/dist/src/commandPalette/commandPalette.js +0 -611
  756. package/dist/src/commandPalette/index.d.ts.map +0 -1
  757. package/dist/src/commandPalette/keys.d.ts.map +0 -1
  758. package/dist/src/commandPalette/keys.js +0 -102
  759. package/dist/src/commandPalette/match.d.ts.map +0 -1
  760. package/dist/src/commandPalette/message.d.ts.map +0 -1
  761. package/dist/src/confirmDialog/confirmDialog.d.ts.map +0 -1
  762. package/dist/src/confirmDialog/index.d.ts +0 -3
  763. package/dist/src/confirmDialog/index.d.ts.map +0 -1
  764. package/dist/src/contextMenu/contextMenu.d.ts.map +0 -1
  765. package/dist/src/contextMenu/index.d.ts.map +0 -1
  766. package/dist/src/copyButton/copyButton.d.ts.map +0 -1
  767. package/dist/src/copyButton/index.d.ts +0 -3
  768. package/dist/src/copyButton/index.d.ts.map +0 -1
  769. package/dist/src/copyButton/index.js +0 -1
  770. package/dist/src/dropZone/dropZone.d.ts.map +0 -1
  771. package/dist/src/dropZone/index.d.ts +0 -3
  772. package/dist/src/dropZone/index.d.ts.map +0 -1
  773. package/dist/src/dropZone/index.js +0 -1
  774. package/dist/src/editableTitle/editableTitle.d.ts.map +0 -1
  775. package/dist/src/editableTitle/index.d.ts +0 -4
  776. package/dist/src/editableTitle/index.d.ts.map +0 -1
  777. package/dist/src/emptyState/emptyState.d.ts.map +0 -1
  778. package/dist/src/emptyState/index.d.ts +0 -3
  779. package/dist/src/emptyState/index.d.ts.map +0 -1
  780. package/dist/src/emptyState/index.js +0 -1
  781. package/dist/src/errorSummary/errorSummary.d.ts.map +0 -1
  782. package/dist/src/errorSummary/index.d.ts +0 -3
  783. package/dist/src/errorSummary/index.d.ts.map +0 -1
  784. package/dist/src/errorSummary/index.js +0 -1
  785. package/dist/src/fieldGrid/fieldGrid.d.ts.map +0 -1
  786. package/dist/src/fieldGrid/index.d.ts +0 -3
  787. package/dist/src/fieldGrid/index.d.ts.map +0 -1
  788. package/dist/src/fieldGrid/index.js +0 -1
  789. package/dist/src/fileTree/fileTree.d.ts.map +0 -1
  790. package/dist/src/fileTree/fileTree.js +0 -230
  791. package/dist/src/fileTree/index.d.ts +0 -3
  792. package/dist/src/fileTree/index.d.ts.map +0 -1
  793. package/dist/src/filterChip/filterChip.d.ts.map +0 -1
  794. package/dist/src/filterChip/index.d.ts +0 -3
  795. package/dist/src/filterChip/index.d.ts.map +0 -1
  796. package/dist/src/filterChip/index.js +0 -1
  797. package/dist/src/filterStrip/filterStrip.d.ts.map +0 -1
  798. package/dist/src/filterStrip/index.d.ts +0 -3
  799. package/dist/src/filterStrip/index.d.ts.map +0 -1
  800. package/dist/src/filterStrip/index.js +0 -1
  801. package/dist/src/flashWord/flashWord.d.ts.map +0 -1
  802. package/dist/src/flashWord/index.d.ts +0 -3
  803. package/dist/src/flashWord/index.d.ts.map +0 -1
  804. package/dist/src/flashWord/index.js +0 -1
  805. package/dist/src/iconButton/iconButton.d.ts.map +0 -1
  806. package/dist/src/iconButton/index.d.ts +0 -3
  807. package/dist/src/iconButton/index.d.ts.map +0 -1
  808. package/dist/src/iconButton/index.js +0 -1
  809. package/dist/src/imageFrame/imageFrame.d.ts.map +0 -1
  810. package/dist/src/imageFrame/index.d.ts +0 -3
  811. package/dist/src/imageFrame/index.d.ts.map +0 -1
  812. package/dist/src/imageFrame/index.js +0 -1
  813. package/dist/src/inlineInput/index.d.ts +0 -3
  814. package/dist/src/inlineInput/index.d.ts.map +0 -1
  815. package/dist/src/inlineInput/inlineInput.d.ts.map +0 -1
  816. package/dist/src/keyHelp/index.d.ts +0 -3
  817. package/dist/src/keyHelp/index.d.ts.map +0 -1
  818. package/dist/src/keyHelp/keyHelp.d.ts.map +0 -1
  819. package/dist/src/keyHint/index.d.ts +0 -4
  820. package/dist/src/keyHint/index.d.ts.map +0 -1
  821. package/dist/src/keyHint/index.js +0 -2
  822. package/dist/src/keyHint/keyHint.d.ts.map +0 -1
  823. package/dist/src/keyHint/keyLabel.d.ts.map +0 -1
  824. package/dist/src/lineChart/index.d.ts +0 -3
  825. package/dist/src/lineChart/index.d.ts.map +0 -1
  826. package/dist/src/lineChart/index.js +0 -1
  827. package/dist/src/lineChart/lineChart.d.ts.map +0 -1
  828. package/dist/src/lineDiff/diff.d.ts +0 -41
  829. package/dist/src/lineDiff/diff.d.ts.map +0 -1
  830. package/dist/src/lineDiff/diff.js +0 -92
  831. package/dist/src/lineDiff/index.d.ts +0 -5
  832. package/dist/src/lineDiff/index.d.ts.map +0 -1
  833. package/dist/src/lineDiff/index.js +0 -2
  834. package/dist/src/lineDiff/lineDiff.d.ts.map +0 -1
  835. package/dist/src/lineDiff/patch.d.ts.map +0 -1
  836. package/dist/src/linkButton/index.d.ts +0 -3
  837. package/dist/src/linkButton/index.d.ts.map +0 -1
  838. package/dist/src/linkButton/index.js +0 -1
  839. package/dist/src/linkButton/linkButton.d.ts.map +0 -1
  840. package/dist/src/linkState/index.d.ts +0 -3
  841. package/dist/src/linkState/index.d.ts.map +0 -1
  842. package/dist/src/linkState/index.js +0 -1
  843. package/dist/src/linkState/linkState.d.ts.map +0 -1
  844. package/dist/src/linkState/linkState.js +0 -14
  845. package/dist/src/liveRegion/index.d.ts +0 -3
  846. package/dist/src/liveRegion/index.d.ts.map +0 -1
  847. package/dist/src/liveRegion/index.js +0 -1
  848. package/dist/src/liveRegion/liveRegion.d.ts.map +0 -1
  849. package/dist/src/navStrip/index.d.ts +0 -3
  850. package/dist/src/navStrip/index.d.ts.map +0 -1
  851. package/dist/src/navStrip/index.js +0 -1
  852. package/dist/src/navStrip/navStrip.d.ts.map +0 -1
  853. package/dist/src/navStrip/navStrip.js +0 -27
  854. package/dist/src/pageHead/index.d.ts +0 -3
  855. package/dist/src/pageHead/index.d.ts.map +0 -1
  856. package/dist/src/pageHead/index.js +0 -1
  857. package/dist/src/pageHead/pageHead.d.ts.map +0 -1
  858. package/dist/src/passwordField/index.d.ts +0 -3
  859. package/dist/src/passwordField/index.d.ts.map +0 -1
  860. package/dist/src/passwordField/index.js +0 -1
  861. package/dist/src/passwordField/passwordField.d.ts.map +0 -1
  862. package/dist/src/propsList/index.d.ts +0 -3
  863. package/dist/src/propsList/index.d.ts.map +0 -1
  864. package/dist/src/propsList/index.js +0 -1
  865. package/dist/src/propsList/propsList.d.ts.map +0 -1
  866. package/dist/src/queryChip/index.d.ts +0 -3
  867. package/dist/src/queryChip/index.d.ts.map +0 -1
  868. package/dist/src/queryChip/index.js +0 -1
  869. package/dist/src/queryChip/queryChip.d.ts.map +0 -1
  870. package/dist/src/radioChoices/index.d.ts.map +0 -1
  871. package/dist/src/radioChoices/radioChoices.d.ts.map +0 -1
  872. package/dist/src/scheme/schemeSwitch.d.ts.map +0 -1
  873. package/dist/src/selectAll/index.d.ts +0 -3
  874. package/dist/src/selectAll/index.d.ts.map +0 -1
  875. package/dist/src/selectAll/index.js +0 -1
  876. package/dist/src/selectAll/selectAll.d.ts.map +0 -1
  877. package/dist/src/selectField/index.d.ts +0 -3
  878. package/dist/src/selectField/index.d.ts.map +0 -1
  879. package/dist/src/selectField/index.js +0 -1
  880. package/dist/src/selectField/selectField.d.ts.map +0 -1
  881. package/dist/src/skipLink/index.d.ts +0 -2
  882. package/dist/src/skipLink/index.d.ts.map +0 -1
  883. package/dist/src/skipLink/index.js +0 -1
  884. package/dist/src/skipLink/skipLink.d.ts.map +0 -1
  885. package/dist/src/statusBar/index.d.ts +0 -4
  886. package/dist/src/statusBar/index.d.ts.map +0 -1
  887. package/dist/src/statusBar/index.js +0 -2
  888. package/dist/src/statusBar/statusBar.d.ts.map +0 -1
  889. package/dist/src/subscription/prefixKeys.d.ts.map +0 -1
  890. package/dist/src/textButton/index.d.ts +0 -3
  891. package/dist/src/textButton/index.d.ts.map +0 -1
  892. package/dist/src/textButton/index.js +0 -1
  893. package/dist/src/textButton/textButton.d.ts.map +0 -1
  894. package/dist/src/textareaField/index.d.ts +0 -3
  895. package/dist/src/textareaField/index.d.ts.map +0 -1
  896. package/dist/src/textareaField/index.js +0 -1
  897. package/dist/src/textareaField/textareaField.d.ts.map +0 -1
  898. package/dist/src/topBar/barHeight.d.ts.map +0 -1
  899. package/dist/src/topBar/index.d.ts +0 -4
  900. package/dist/src/topBar/index.d.ts.map +0 -1
  901. package/dist/src/topBar/index.js +0 -2
  902. package/dist/src/topBar/topBar.d.ts.map +0 -1
  903. package/dist/src/videoFrame/index.d.ts +0 -3
  904. package/dist/src/videoFrame/index.d.ts.map +0 -1
  905. package/dist/src/videoFrame/index.js +0 -1
  906. package/dist/src/videoFrame/videoFrame.d.ts.map +0 -1
  907. package/src/audioFrame/index.ts +0 -2
  908. package/src/barChart/index.ts +0 -2
  909. package/src/chartTable/chartTable.ts +0 -88
  910. package/src/codeEditor/index.ts +0 -2
  911. package/src/codeSurface/index.ts +0 -2
  912. package/src/dropZone/index.ts +0 -2
  913. package/src/emptyState/index.ts +0 -2
  914. package/src/errorSummary/index.ts +0 -2
  915. package/src/fieldGrid/index.ts +0 -2
  916. package/src/fileTree/index.ts +0 -2
  917. package/src/filterChip/index.ts +0 -2
  918. package/src/filterStrip/index.ts +0 -2
  919. package/src/flashWord/index.ts +0 -2
  920. package/src/iconButton/index.ts +0 -2
  921. package/src/imageFrame/index.ts +0 -2
  922. package/src/keyHint/index.ts +0 -3
  923. package/src/lineChart/index.ts +0 -2
  924. package/src/lineDiff/diff.ts +0 -182
  925. package/src/lineDiff/index.ts +0 -4
  926. package/src/linkButton/index.ts +0 -2
  927. package/src/linkState/index.ts +0 -2
  928. package/src/liveRegion/index.ts +0 -2
  929. package/src/navStrip/index.ts +0 -2
  930. package/src/pageHead/index.ts +0 -2
  931. package/src/passwordField/index.ts +0 -2
  932. package/src/propsList/index.ts +0 -2
  933. package/src/queryChip/index.ts +0 -2
  934. package/src/selectAll/index.ts +0 -2
  935. package/src/skipLink/index.ts +0 -1
  936. package/src/statusBar/index.ts +0 -3
  937. package/src/textButton/index.ts +0 -2
  938. package/src/textareaField/index.ts +0 -2
  939. package/src/topBar/index.ts +0 -3
  940. package/src/videoFrame/index.ts +0 -2
package/src/tips/tips.ts CHANGED
@@ -21,28 +21,32 @@ import { defineView } from "foldkit/submodel";
21
21
  import * as Subscription from "foldkit/subscription";
22
22
  import type * as Update from "foldkit/update";
23
23
 
24
- import { prefixKeys } from "../subscription/prefixKeys.ts";
24
+ import { htmlElement } from "../dom/html-element.ts";
25
+ import { prefixKeys } from "../subscription/prefix-keys.ts";
25
26
 
26
- // MODEL
27
-
28
- /** Which side of its control the tip opens on: above, or to the right inside a vertical strip
29
- * of tools. */
30
27
  const Side = Schema.Literals(["Top", "Right"]);
28
+
31
29
  type Side = typeof Side.Type;
32
30
 
33
31
  /** What brought the tip: a resting pointer or keyboard focus. */
34
32
  export const Trigger = Schema.Literals(["Pointer", "Focus"]);
33
+
35
34
  export type Trigger = typeof Trigger.Type;
36
35
 
37
- /** What a tip says: its control's name, and the key that does the same where the control
38
- * names one (`data-tip-key`). */
39
- const Words = { text: Schema.String, maybeKey: Schema.Option(Schema.String), side: Side };
40
- type Words = Readonly<{ text: string; maybeKey: Option.Option<string>; side: Side }>;
36
+ const Words = {
37
+ text: Schema.String,
38
+ maybeKey: Schema.Option(Schema.String),
39
+ side: Side,
40
+ };
41
+
42
+ type Words = Readonly<{
43
+ text: string;
44
+ maybeKey: Option.Option<string>;
45
+ side: Side;
46
+ }>;
47
+
41
48
  const ShownWords = { ...Words, trigger: Trigger };
42
49
 
43
- /** Where the page's tip is. `Cold`: none lately. `Waiting`: a pointer rests on a control, for
44
- * a moment first. `Shown`. `Leaving`: the pointer left, with a moment to cross onto the tip.
45
- * `Warm`: one just closed, so the next opens at once (sweeping a toolbar reads each name). */
46
50
  export const TipState = defineTaggedUnion({
47
51
  Cold: {},
48
52
  Waiting: Words,
@@ -50,18 +54,18 @@ export const TipState = defineTaggedUnion({
50
54
  Leaving: ShownWords,
51
55
  Warm: {},
52
56
  });
57
+
53
58
  export type TipState = typeof TipState.Type;
54
59
 
55
60
  /** Schema for the page's one tip layer. `version` counts its waits, and tells the current one
56
61
  * from an earlier one whose Command is still out. */
57
62
  export const Model = Schema.Struct({
58
63
  id: Schema.String,
59
- version: Schema.Number,
64
+ version: Schema.Finite,
60
65
  state: TipState,
61
66
  });
62
- export type Model = typeof Model.Type;
63
67
 
64
- // MESSAGE
68
+ export type Model = typeof Model.Type;
65
69
 
66
70
  /** Union of all Messages the tip layer can produce. */
67
71
  export const Message = defineMessageUnion({
@@ -72,15 +76,14 @@ export const Message = defineMessageUnion({
72
76
  BlurredTipTarget: {},
73
77
  PressedPointer: {},
74
78
  PressedKey: {},
75
- CompletedWaitBeforeShowing: { version: Schema.Number },
76
- CompletedWaitBeforeHiding: { version: Schema.Number },
77
- CompletedWaitBeforeCooling: { version: Schema.Number },
79
+ CompletedWaitBeforeShowing: { version: Schema.Finite },
80
+ CompletedWaitBeforeHiding: { version: Schema.Finite },
81
+ CompletedWaitBeforeCooling: { version: Schema.Finite },
78
82
  CompletedShowTip: {},
79
83
  CompletedHideTip: {},
80
84
  });
81
- export type Message = typeof Message.Type;
82
85
 
83
- // INIT
86
+ export type Message = typeof Message.Type;
84
87
 
85
88
  /** Configuration for creating the tip layer with `init`. The `id` is the tip element's. */
86
89
  export type InitConfig = Readonly<{ id: string }>;
@@ -92,32 +95,24 @@ export const init = (config: InitConfig): Model => ({
92
95
  state: TipState.Cold(),
93
96
  });
94
97
 
95
- // ACCESSORS
96
-
97
98
  /** The tip element's id, unique in the document. */
98
99
  export const id = (model: Model): string => model.id;
99
100
 
100
- /** What brought the tip up, while it shows: a resting pointer or keyboard focus. */
101
101
  const maybeShownTrigger = (model: Model): Option.Option<Trigger> =>
102
102
  Match.value(model.state).pipe(
103
103
  Match.withReturnType<Option.Option<Trigger>>(),
104
104
  Match.tag("Shown", "Leaving", ({ trigger }) => Option.some(trigger)),
105
- Match.orElse(() => Option.none()),
105
+ Match.orElse(() => Option.none())
106
106
  );
107
107
 
108
- // COMMAND
109
-
110
- /** A pointer rests this long on a control before its tip opens. */
111
108
  const REST = Duration.millis(400);
112
- /** The time a pointer has to cross from a control onto its tip. */
109
+
113
110
  const GRACE = Duration.millis(120);
114
- /** After one tip closes, the next opens at once for this long. */
111
+
115
112
  const WARMTH = Duration.millis(400);
116
113
 
117
- /** The attribute that holds a control's tip: its accessible name. */
118
114
  const TIP_ATTRIBUTE = "data-tip";
119
115
 
120
- /** The attribute that holds the key a control's tip prints after its name. */
121
116
  const TIP_KEY_ATTRIBUTE = "data-tip-key";
122
117
 
123
118
  const TIP_SELECTOR = `[${TIP_ATTRIBUTE}]`;
@@ -125,31 +120,37 @@ const TIP_SELECTOR = `[${TIP_ATTRIBUTE}]`;
125
120
  const hasText = (element: HTMLElement, text: string): boolean =>
126
121
  element.isConnected && element.getAttribute(TIP_ATTRIBUTE) === text;
127
122
 
128
- /** The control a tip belongs to, found when it opens: the innermost hovered element with
129
- * these words, or the focused one, still the keyboard's. */
130
- const findTipTarget = (trigger: Trigger, text: string): Option.Option<HTMLElement> =>
123
+ const findTipTarget = (
124
+ trigger: Trigger,
125
+ text: string
126
+ ): Option.Option<HTMLElement> =>
131
127
  Match.value(trigger).pipe(
132
128
  Match.withReturnType<Option.Option<HTMLElement>>(),
133
129
  Match.when("Pointer", () =>
134
130
  Array.findLast(
135
- Array.fromIterable(document.querySelectorAll<HTMLElement>(`${TIP_SELECTOR}:hover`)),
136
- (element) => hasText(element, text),
137
- ),
131
+ Array.fromIterable(
132
+ document.querySelectorAll<HTMLElement>(`${TIP_SELECTOR}:hover`)
133
+ ),
134
+ (element) => hasText(element, text)
135
+ )
138
136
  ),
139
137
  Match.when("Focus", () =>
140
138
  pipe(
141
139
  Option.fromNullishOr(document.activeElement),
142
140
  Option.flatMap((element) =>
143
- Option.fromNullishOr(element.closest<HTMLElement>(TIP_SELECTOR)),
141
+ Option.fromNullishOr(element.closest<HTMLElement>(TIP_SELECTOR))
144
142
  ),
145
- Option.filter((element) => element.matches(":focus-visible") && hasText(element, text)),
146
- ),
143
+ Option.filter(
144
+ (element) =>
145
+ element.matches(":focus-visible") && hasText(element, text)
146
+ )
147
+ )
147
148
  ),
148
- Match.exhaustive,
149
+ Match.exhaustive
149
150
  );
150
151
 
151
152
  const tipElement = (tipId: string): Option.Option<HTMLElement> =>
152
- Option.fromNullishOr(document.getElementById(tipId));
153
+ htmlElement(`#${CSS.escape(tipId)}`);
153
154
 
154
155
  const hidePopover = (tip: HTMLElement): void => {
155
156
  if (tip.matches(":popover-open")) {
@@ -169,16 +170,19 @@ export const ShowTip = Command.define("ShowTip", {
169
170
  Effect.andThen(
170
171
  Effect.try(() =>
171
172
  Option.map(
172
- Option.all({ tip: tipElement(tipId), source: findTipTarget(trigger, text) }),
173
+ Option.all({
174
+ tip: tipElement(tipId),
175
+ source: findTipTarget(trigger, text),
176
+ }),
173
177
  ({ tip, source }) => {
174
178
  hidePopover(tip);
175
179
  tip.showPopover({ source });
176
- },
177
- ),
178
- ),
180
+ }
181
+ )
182
+ )
179
183
  ),
180
184
  Effect.ignore,
181
- Effect.as(Message.CompletedShowTip()),
185
+ Effect.as(Message.CompletedShowTip())
182
186
  ),
183
187
  });
184
188
 
@@ -189,55 +193,73 @@ export const HideTip = Command.define("HideTip", {
189
193
  execute: ({ tipId }) =>
190
194
  Effect.try(() => Option.map(tipElement(tipId), hidePopover)).pipe(
191
195
  Effect.ignore,
192
- Effect.as(Message.CompletedHideTip()),
196
+ Effect.as(Message.CompletedHideTip())
193
197
  ),
194
198
  });
195
199
 
196
200
  /** Waits for a resting pointer. */
197
201
  export const WaitBeforeShowing = Command.define("WaitBeforeShowing", {
198
- args: { version: Schema.Number },
202
+ args: { version: Schema.Finite },
199
203
  messages: [Message.CompletedWaitBeforeShowing],
200
204
  execute: ({ version }) =>
201
- Effect.sleep(REST).pipe(Effect.as(Message.CompletedWaitBeforeShowing({ version }))),
205
+ Effect.sleep(REST).pipe(
206
+ Effect.as(Message.CompletedWaitBeforeShowing({ version }))
207
+ ),
202
208
  });
203
209
 
204
210
  /** Waits for a pointer crossing onto the tip. */
205
211
  export const WaitBeforeHiding = Command.define("WaitBeforeHiding", {
206
- args: { version: Schema.Number },
212
+ args: { version: Schema.Finite },
207
213
  messages: [Message.CompletedWaitBeforeHiding],
208
214
  execute: ({ version }) =>
209
- Effect.sleep(GRACE).pipe(Effect.as(Message.CompletedWaitBeforeHiding({ version }))),
215
+ Effect.sleep(GRACE).pipe(
216
+ Effect.as(Message.CompletedWaitBeforeHiding({ version }))
217
+ ),
210
218
  });
211
219
 
212
220
  /** Waits out the moment after a tip closes in which the next opens at once. */
213
221
  export const WaitBeforeCooling = Command.define("WaitBeforeCooling", {
214
- args: { version: Schema.Number },
222
+ args: { version: Schema.Finite },
215
223
  messages: [Message.CompletedWaitBeforeCooling],
216
224
  execute: ({ version }) =>
217
- Effect.sleep(WARMTH).pipe(Effect.as(Message.CompletedWaitBeforeCooling({ version }))),
225
+ Effect.sleep(WARMTH).pipe(
226
+ Effect.as(Message.CompletedWaitBeforeCooling({ version }))
227
+ ),
218
228
  });
219
229
 
220
- // UPDATE
221
-
222
230
  type UpdateReturn = Update.Return<Model, Message>;
223
231
 
224
- const wordsOf = ({ text, maybeKey, side }: Words): Words => ({ text, maybeKey, side });
232
+ const wordsOf = ({ text, maybeKey, side }: Words): Words => ({
233
+ text,
234
+ maybeKey,
235
+ side,
236
+ });
225
237
 
226
238
  const show = (model: Model, words: Words, trigger: Trigger): UpdateReturn => ({
227
- model: modifyFields(model, { state: () => TipState.Shown({ ...wordsOf(words), trigger }) }),
239
+ model: modifyFields(model, {
240
+ state: () => TipState.Shown({ ...wordsOf(words), trigger }),
241
+ }),
228
242
  commands: [ShowTip({ tipId: model.id, text: words.text, trigger })],
229
243
  });
230
244
 
231
245
  const hide = (model: Model): UpdateReturn => {
232
246
  const nextVersion = Number.increment(model.version);
247
+
233
248
  return {
234
- model: modifyFields(model, { version: () => nextVersion, state: () => TipState.Warm() }),
235
- commands: [HideTip({ tipId: model.id }), WaitBeforeCooling({ version: nextVersion })],
249
+ model: modifyFields(model, {
250
+ version: () => nextVersion,
251
+ state: () => TipState.Warm(),
252
+ }),
253
+ commands: [
254
+ HideTip({ tipId: model.id }),
255
+ WaitBeforeCooling({ version: nextVersion }),
256
+ ],
236
257
  };
237
258
  };
238
259
 
239
260
  const wait = (model: Model, words: Words): UpdateReturn => {
240
261
  const nextVersion = Number.increment(model.version);
262
+
241
263
  return {
242
264
  model: modifyFields(model, {
243
265
  version: () => nextVersion,
@@ -247,12 +269,17 @@ const wait = (model: Model, words: Words): UpdateReturn => {
247
269
  };
248
270
  };
249
271
 
250
- const leave = (model: Model, shown: typeof TipState.Shown.Type): UpdateReturn => {
272
+ const leave = (
273
+ model: Model,
274
+ shown: typeof TipState.Shown.Type
275
+ ): UpdateReturn => {
251
276
  const nextVersion = Number.increment(model.version);
277
+
252
278
  return {
253
279
  model: modifyFields(model, {
254
280
  version: () => nextVersion,
255
- state: () => TipState.Leaving({ ...wordsOf(shown), trigger: shown.trigger }),
281
+ state: () =>
282
+ TipState.Leaving({ ...wordsOf(shown), trigger: shown.trigger }),
256
283
  }),
257
284
  commands: [WaitBeforeHiding({ version: nextVersion })],
258
285
  };
@@ -262,7 +289,6 @@ const cool = (model: Model): UpdateReturn => ({
262
289
  model: modifyFields(model, { state: () => TipState.Cold() }),
263
290
  });
264
291
 
265
- /** Closes what shows, forgets what waits. */
266
292
  const dismiss = (model: Model): UpdateReturn =>
267
293
  TipState.match<UpdateReturn>(model.state, {
268
294
  Cold: () => ({ model }),
@@ -275,13 +301,16 @@ const dismiss = (model: Model): UpdateReturn =>
275
301
  const entered = (model: Model, words: Words): UpdateReturn =>
276
302
  TipState.match<UpdateReturn>(model.state, {
277
303
  Cold: () => wait(model, words),
278
- Waiting: (waiting) => (waiting.text === words.text ? { model } : wait(model, words)),
279
- Shown: (shown) => (shown.text === words.text ? { model } : show(model, words, "Pointer")),
304
+ Waiting: (waiting) =>
305
+ waiting.text === words.text ? { model } : wait(model, words),
306
+ Shown: (shown) =>
307
+ shown.text === words.text ? { model } : show(model, words, "Pointer"),
280
308
  Leaving: (leaving) =>
281
309
  leaving.text === words.text
282
310
  ? {
283
311
  model: modifyFields(model, {
284
- state: () => TipState.Shown({ ...wordsOf(words), trigger: leaving.trigger }),
312
+ state: () =>
313
+ TipState.Shown({ ...wordsOf(words), trigger: leaving.trigger }),
285
314
  }),
286
315
  }
287
316
  : show(model, words, "Pointer"),
@@ -297,9 +326,10 @@ export const update = (model: Model, message: Message) =>
297
326
  model.state,
298
327
  {
299
328
  Waiting: () => cool(model),
300
- Shown: (shown) => (shown.trigger === "Pointer" ? leave(model, shown) : { model }),
329
+ Shown: (shown) =>
330
+ shown.trigger === "Pointer" ? leave(model, shown) : { model },
301
331
  },
302
- () => ({ model }),
332
+ () => ({ model })
303
333
  ),
304
334
  EnteredTip: () =>
305
335
  TipState.matchOrElse<UpdateReturn>(
@@ -307,11 +337,15 @@ export const update = (model: Model, message: Message) =>
307
337
  {
308
338
  Leaving: (leaving) => ({
309
339
  model: modifyFields(model, {
310
- state: () => TipState.Shown({ ...wordsOf(leaving), trigger: leaving.trigger }),
340
+ state: () =>
341
+ TipState.Shown({
342
+ ...wordsOf(leaving),
343
+ trigger: leaving.trigger,
344
+ }),
311
345
  }),
312
346
  }),
313
347
  },
314
- () => ({ model }),
348
+ () => ({ model })
315
349
  ),
316
350
  FocusedTipTarget: (words) => show(model, wordsOf(words), "Focus"),
317
351
  BlurredTipTarget: () => dismiss(model),
@@ -322,28 +356,30 @@ export const update = (model: Model, message: Message) =>
322
356
  model.state,
323
357
  {
324
358
  Waiting: (waiting) =>
325
- model.version === version ? show(model, wordsOf(waiting), "Pointer") : { model },
359
+ model.version === version
360
+ ? show(model, wordsOf(waiting), "Pointer")
361
+ : { model },
326
362
  },
327
- () => ({ model }),
363
+ () => ({ model })
328
364
  ),
329
365
  CompletedWaitBeforeHiding: ({ version }) =>
330
366
  TipState.matchOrElse<UpdateReturn>(
331
367
  model.state,
332
- { Leaving: () => (model.version === version ? hide(model) : { model }) },
333
- () => ({ model }),
368
+ {
369
+ Leaving: () => (model.version === version ? hide(model) : { model }),
370
+ },
371
+ () => ({ model })
334
372
  ),
335
373
  CompletedWaitBeforeCooling: ({ version }) =>
336
374
  TipState.matchOrElse<UpdateReturn>(
337
375
  model.state,
338
376
  { Warm: () => (model.version === version ? cool(model) : { model }) },
339
- () => ({ model }),
377
+ () => ({ model })
340
378
  ),
341
379
  CompletedShowTip: () => ({ model }),
342
380
  CompletedHideTip: () => ({ model }),
343
381
  });
344
382
 
345
- // SUBSCRIPTION
346
-
347
383
  type TargetMessage =
348
384
  | typeof Message.EnteredTipTarget.Type
349
385
  | typeof Message.LeftTipTarget.Type
@@ -351,8 +387,6 @@ type TargetMessage =
351
387
 
352
388
  type TipTarget = Words & Readonly<{ element: HTMLElement }>;
353
389
 
354
- /** A control in a vertical strip of tools, or set in vertical writing (a folded rail's title
355
- * bar), takes its tip at its side, where the tip would cover the next tool or the top bar. */
356
390
  const sideOf = (element: Element): Side =>
357
391
  element.closest('[aria-orientation="vertical"]') === null &&
358
392
  !getComputedStyle(element).writingMode.startsWith("vertical")
@@ -361,30 +395,39 @@ const sideOf = (element: Element): Side =>
361
395
 
362
396
  const tipTargetOf = (target: EventTarget | null): Option.Option<TipTarget> =>
363
397
  pipe(
364
- Option.liftPredicate(target, (node): node is Element => node instanceof Element),
365
- Option.flatMap((element) => Option.fromNullishOr(element.closest<HTMLElement>(TIP_SELECTOR))),
398
+ Option.liftPredicate(
399
+ target,
400
+ (node): node is Element => node instanceof Element
401
+ ),
366
402
  Option.flatMap((element) =>
367
- Option.map(Option.fromNullishOr(element.getAttribute(TIP_ATTRIBUTE)), (text) => ({
368
- element,
369
- text,
370
- maybeKey: Option.fromNullishOr(element.getAttribute(TIP_KEY_ATTRIBUTE)),
371
- side: sideOf(element),
372
- })),
403
+ Option.fromNullishOr(element.closest<HTMLElement>(TIP_SELECTOR))
373
404
  ),
405
+ Option.flatMap((element) =>
406
+ Option.map(
407
+ Option.fromNullishOr(element.getAttribute(TIP_ATTRIBUTE)),
408
+ (text) => ({
409
+ element,
410
+ text,
411
+ maybeKey: Option.fromNullishOr(
412
+ element.getAttribute(TIP_KEY_ATTRIBUTE)
413
+ ),
414
+ side: sideOf(element),
415
+ })
416
+ )
417
+ )
374
418
  );
375
419
 
376
- /** What a pointer arriving over `target` means for the tip: over a control with a tip, over
377
- * the tip itself, or over neither. Touch never opens a tip. */
378
420
  export const pointerOverMessage = (
379
421
  tipId: string,
380
- event: PointerEvent,
422
+ event: PointerEvent
381
423
  ): Option.Option<TargetMessage> => {
382
424
  if (event.pointerType === "touch") {
383
425
  return Option.none();
384
426
  }
385
427
 
386
428
  const isOverTip =
387
- event.target instanceof Element && event.target.closest(`#${CSS.escape(tipId)}`) !== null;
429
+ event.target instanceof Element &&
430
+ event.target.closest(`#${CSS.escape(tipId)}`) !== null;
388
431
 
389
432
  if (isOverTip) {
390
433
  return Option.some(Message.EnteredTip());
@@ -394,46 +437,61 @@ export const pointerOverMessage = (
394
437
  Option.match(tipTargetOf(event.target), {
395
438
  onNone: () => Message.LeftTipTarget(),
396
439
  onSome: (target) => Message.EnteredTipTarget(wordsOf(target)),
397
- }),
440
+ })
398
441
  );
399
442
  };
400
443
 
401
- /** What focus arriving on `target` means for the tip: keyboard focus (`:focus-visible`) on a
402
- * control with a tip shows it; any other focus says nothing. */
403
444
  const focusInMessage = (event: FocusEvent): Option.Option<Message> =>
404
445
  Option.map(
405
- Option.filter(tipTargetOf(event.target), ({ element }) => element.matches(":focus-visible")),
406
- (target) => Message.FocusedTipTarget(wordsOf(target)),
446
+ Option.filter(tipTargetOf(event.target), ({ element }) =>
447
+ element.matches(":focus-visible")
448
+ ),
449
+ (target) => Message.FocusedTipTarget(wordsOf(target))
407
450
  );
408
451
 
409
- /** Focus leaving a control with a tip, not into a part of itself, closes the tip (and
410
- * cancels one still waiting). */
411
452
  export const focusOutMessage = (event: FocusEvent): Option.Option<Message> =>
412
453
  Option.map(
413
454
  Option.filter(
414
455
  tipTargetOf(event.target),
415
456
  ({ element }) =>
416
- !(event.relatedTarget instanceof Node && element.contains(event.relatedTarget)),
457
+ !(
458
+ event.relatedTarget instanceof Node &&
459
+ element.contains(event.relatedTarget)
460
+ )
417
461
  ),
418
- () => Message.BlurredTipTarget(),
462
+ () => Message.BlurredTipTarget()
419
463
  );
420
464
 
421
- /** A key pressed while a tip shows closes it and goes on its way. Escape on a tip that
422
- * keyboard focus brought up closes the tip and nothing else: it is stopped before a menu or
423
- * a dialog sees it. A pointer's tip lets Escape through, and a key that composes text (an
424
- * input method) leaves the tip alone. */
425
- export const keyMessage = (event: KeyboardEvent, trigger: Trigger): Option.Option<Message> => {
465
+ const isEscapeOnFocusTip = (event: KeyboardEvent, trigger: Trigger): boolean =>
466
+ event.key === "Escape" && trigger === "Focus";
467
+
468
+ const keepFromMenusAndDialogs = (event: KeyboardEvent): void => {
469
+ event.preventDefault();
470
+ event.stopPropagation();
471
+ };
472
+
473
+ export const keyMessage = (
474
+ event: KeyboardEvent,
475
+ trigger: Trigger
476
+ ): Option.Option<Message> => {
426
477
  if (event.isComposing) {
427
478
  return Option.none();
428
479
  }
429
480
 
430
- if (event.key === "Escape" && trigger === "Focus") {
431
- event.preventDefault();
432
- event.stopPropagation();
481
+ if (isEscapeOnFocusTip(event, trigger)) {
482
+ keepFromMenusAndDialogs(event);
433
483
  }
484
+
434
485
  return Option.some(Message.PressedKey());
435
486
  };
436
487
 
488
+ const sameWords = (previous: Message, next: Message): boolean =>
489
+ previous._tag !== "EnteredTipTarget" ||
490
+ next._tag !== "EnteredTipTarget" ||
491
+ (previous.text === next.text &&
492
+ previous.side === next.side &&
493
+ Equal.equals(previous.maybeKey, next.maybeKey));
494
+
437
495
  const pointerOverChanges = (tipId: string): Stream.Stream<Message> =>
438
496
  Dom.streamFromEventFilterMap({
439
497
  target: document,
@@ -441,17 +499,11 @@ const pointerOverChanges = (tipId: string): Stream.Stream<Message> =>
441
499
  filterMapEvent: (event) => pointerOverMessage(tipId, event),
442
500
  }).pipe(
443
501
  Stream.changesWith(
444
- (previous, next) => previous._tag === next._tag && sameWords(previous, next),
445
- ),
502
+ (previous, next) =>
503
+ previous._tag === next._tag && sameWords(previous, next)
504
+ )
446
505
  );
447
506
 
448
- const sameWords = (previous: Message, next: Message): boolean =>
449
- previous._tag !== "EnteredTipTarget" ||
450
- next._tag !== "EnteredTipTarget" ||
451
- (previous.text === next.text &&
452
- previous.side === next.side &&
453
- Equal.equals(previous.maybeKey, next.maybeKey));
454
-
455
507
  const tipSubscriptions = Subscription.make<Model, Message>()((entry) => ({
456
508
  pointerAndFocus: entry(
457
509
  { tipId: Schema.String },
@@ -477,14 +529,16 @@ const tipSubscriptions = Subscription.make<Model, Message>()((entry) => ({
477
529
  filterMapEvent: focusOutMessage,
478
530
  }),
479
531
  ],
480
- { concurrency: "unbounded" },
532
+ { concurrency: "unbounded" }
481
533
  ),
482
- },
534
+ }
483
535
  ),
484
536
  keys: entry(
485
537
  { maybeTrigger: Schema.Option(Trigger) },
486
538
  {
487
- modelToDependencies: (model) => ({ maybeTrigger: maybeShownTrigger(model) }),
539
+ modelToDependencies: (model) => ({
540
+ maybeTrigger: maybeShownTrigger(model),
541
+ }),
488
542
  dependenciesToStream: ({ maybeTrigger }) =>
489
543
  Option.match(maybeTrigger, {
490
544
  onNone: () => Stream.empty,
@@ -496,7 +550,7 @@ const tipSubscriptions = Subscription.make<Model, Message>()((entry) => ({
496
550
  options: { capture: true },
497
551
  }),
498
552
  }),
499
- },
553
+ }
500
554
  ),
501
555
  }));
502
556
 
@@ -507,13 +561,13 @@ const tipSubscriptions = Subscription.make<Model, Message>()((entry) => ({
507
561
  export const subscriptions = <Prefix extends string>(keyPrefix: Prefix) =>
508
562
  prefixKeys(keyPrefix, tipSubscriptions);
509
563
 
510
- // VIEW
511
-
512
564
  const maybeWordsOf = (model: Model): Option.Option<Words> =>
513
565
  Match.value(model.state).pipe(
514
566
  Match.withReturnType<Option.Option<Words>>(),
515
- Match.tag("Waiting", "Shown", "Leaving", (words) => Option.some(wordsOf(words))),
516
- Match.orElse(() => Option.none()),
567
+ Match.tag("Waiting", "Shown", "Leaving", (words) =>
568
+ Option.some(wordsOf(words))
569
+ ),
570
+ Match.orElse(() => Option.none())
517
571
  );
518
572
 
519
573
  /**
@@ -547,8 +601,10 @@ export const view = defineView<Model, Message>((model, h): Html => {
547
601
  onNone: () => [],
548
602
  onSome: ({ text, maybeKey }) => [
549
603
  text,
550
- ...Array.fromOption(Option.map(maybeKey, (key) => h.kbd([h.Class("key-hint")], [key]))),
604
+ ...Array.fromOption(
605
+ Option.map(maybeKey, (key) => h.kbd([h.Class("key-hint")], [key]))
606
+ ),
551
607
  ],
552
- }),
608
+ })
553
609
  );
554
610
  });
@@ -13,6 +13,9 @@ export {
13
13
  update,
14
14
  view,
15
15
  } from "./toast.ts";
16
+
16
17
  export type { InitConfig, ShowConfig } from "./toast.ts";
18
+
17
19
  export type { Action, Tone } from "./stack.ts";
20
+
18
21
  export { Focus } from "../focus/focus.ts";