@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/toc/toc.ts CHANGED
@@ -2,10 +2,9 @@ import { Array, Option, Schema, Stream, pipe } from "effect";
2
2
  import type { Html, HtmlBuilder } from "foldkit/html";
3
3
  import type { EntryWithoutKeepAlive } from "foldkit/subscription";
4
4
 
5
- // VIEW
6
-
7
5
  /** A heading's level: `2` at the margin, `3` indented under it. */
8
6
  export const Level = Schema.Literals([2, 3]);
7
+
9
8
  export type Level = typeof Level.Type;
10
9
 
11
10
  /** One heading in the contents. */
@@ -21,7 +20,7 @@ export type Entry = Readonly<{
21
20
 
22
21
  /** Configuration for rendering a table of contents with `view`. */
23
22
  export type ViewConfig = Readonly<{
24
- entries: ReadonlyArray<Entry>;
23
+ entries: readonly Entry[];
25
24
  /** The heading being read, from the caller's Model, kept by `readingPositionEntry`. `None`
26
25
  * until it first reports, as during a server render: the first heading is marked. */
27
26
  maybeCurrentId: Option.Option<string>;
@@ -30,14 +29,19 @@ export type ViewConfig = Readonly<{
30
29
  }>;
31
30
 
32
31
  const currentId = (
33
- entries: ReadonlyArray<Entry>,
34
- maybeCurrentId: Option.Option<string>,
32
+ entries: readonly Entry[],
33
+ maybeCurrentId: Option.Option<string>
35
34
  ): Option.Option<string> =>
36
- Option.orElse(maybeCurrentId, () => Option.map(Array.head(entries), ({ id }) => id));
35
+ Option.orElse(maybeCurrentId, () =>
36
+ Option.map(Array.head(entries), ({ id }) => id)
37
+ );
37
38
 
38
39
  /** The page's headings as plain links in a `<nav>`. One ink cell marks the heading being read,
39
40
  * which is also `aria-current`. An entry's `detail` sits under its words, in the link. */
40
- export const view = <Message>(config: ViewConfig, h: HtmlBuilder<Message>): Html => {
41
+ export const view = <Message>(
42
+ config: ViewConfig,
43
+ h: HtmlBuilder<Message>
44
+ ): Html => {
41
45
  const { entries, label = "On this page" } = config;
42
46
  const maybeCurrent = currentId(entries, config.maybeCurrentId);
43
47
 
@@ -51,42 +55,51 @@ export const view = <Message>(config: ViewConfig, h: HtmlBuilder<Message>): Html
51
55
  h.a(
52
56
  [
53
57
  h.Href(`#${id}`),
54
- ...(Option.contains(maybeCurrent, id) ? [h.AriaCurrent("true")] : []),
58
+ ...(Option.contains(maybeCurrent, id)
59
+ ? [h.AriaCurrent("true")]
60
+ : []),
55
61
  ],
56
62
  Array.match(detail, {
57
63
  onEmpty: () => [words],
58
- onNonEmpty: (aside) => [h.span([h.Class("toc-entry")], [words, ...aside])],
59
- }),
64
+ onNonEmpty: (aside) => [
65
+ h.span([h.Class("toc-entry")], [words, ...aside]),
66
+ ],
67
+ })
60
68
  ),
61
- ]),
62
- ),
69
+ ])
70
+ )
63
71
  ),
64
- ],
72
+ ]
65
73
  );
66
74
  };
67
75
 
68
- // SUBSCRIPTION
69
-
70
- /** The reading line: a heading counts as read once it passes the upper fifth of the view. */
71
76
  const READING_LINE = 0.2;
72
77
 
73
- const readingPosition = (headingIds: ReadonlyArray<string>): Option.Option<string> => {
78
+ const readingPosition = (
79
+ headingIds: readonly string[]
80
+ ): Option.Option<string> => {
74
81
  const headings = Array.getSomes(
75
- Array.map(headingIds, (id) => Option.fromNullishOr(document.getElementById(id))),
82
+ Array.map(headingIds, (id) =>
83
+ Option.fromNullishOr(document.querySelector(`#${CSS.escape(id)}`))
84
+ )
76
85
  );
86
+
77
87
  const line = window.innerHeight * READING_LINE;
78
88
 
79
89
  return pipe(
80
- Array.findLast(headings, (heading) => heading.getBoundingClientRect().top <= line),
90
+ Array.findLast(
91
+ headings,
92
+ (heading) => heading.getBoundingClientRect().top <= line
93
+ ),
81
94
  Option.orElse(() => Array.head(headings)),
82
- Option.map(({ id }) => id),
95
+ Option.map(({ id }) => id)
83
96
  );
84
97
  };
85
98
 
86
99
  /** Configuration for the `readingPositionEntry` Subscription helper. */
87
100
  export type ReadingPositionConfig<Model, Message> = Readonly<{
88
101
  /** The ids of the headings the contents list, in page order; nothing is read while empty. */
89
- headingIds: (model: Model) => ReadonlyArray<string>;
102
+ headingIds: (model: Model) => readonly string[];
90
103
  toMessage: (id: string) => Message;
91
104
  }>;
92
105
 
@@ -100,14 +113,16 @@ export type ReadingPositionConfig<Model, Message> = Readonly<{
100
113
  * the page, not the contents element, and its answer is Model state the view renders.
101
114
  */
102
115
  export const readingPositionEntry = <Model, Message>(
103
- config: ReadingPositionConfig<Model, Message>,
116
+ config: ReadingPositionConfig<Model, Message>
104
117
  ): EntryWithoutKeepAlive<
105
118
  Model,
106
119
  Message,
107
- Readonly<{ headingIds: ReadonlyArray<string> }>,
120
+ Readonly<{ headingIds: readonly string[] }>,
108
121
  never
109
122
  > => ({
110
- dependenciesSchema: Schema.Struct({ headingIds: Schema.Array(Schema.String) }),
123
+ dependenciesSchema: Schema.Struct({
124
+ headingIds: Schema.Array(Schema.String),
125
+ }),
111
126
  modelToDependencies: (model) => ({ headingIds: config.headingIds(model) }),
112
127
  dependenciesToStream: ({ headingIds }) =>
113
128
  Array.match(headingIds, {
@@ -116,14 +131,14 @@ export const readingPositionEntry = <Model, Message>(
116
131
  Stream.suspend(() =>
117
132
  Stream.concat(
118
133
  Stream.make(undefined),
119
- Stream.fromEventListener(window, "scroll", { passive: true }),
120
- ),
134
+ Stream.fromEventListener(window, "scroll", { passive: true })
135
+ )
121
136
  ).pipe(
122
137
  Stream.map(() => readingPosition(ids)),
123
138
  Stream.filter(Option.isSome),
124
139
  Stream.map(({ value }) => value),
125
140
  Stream.changes,
126
- Stream.map(config.toMessage),
141
+ Stream.map(config.toMessage)
127
142
  ),
128
143
  }),
129
144
  });
package/src/tokens.css CHANGED
@@ -14,7 +14,6 @@
14
14
  :root {
15
15
  color-scheme: light dark;
16
16
 
17
- /* ---------- colour: neutrals ---------- */
18
17
  --ink: light-dark(#16150f, #efecf3);
19
18
  --paper: light-dark(#fdfdfa, #3b3640);
20
19
  --ground: light-dark(#dcdcd4, #2d2931);
@@ -22,19 +21,15 @@
22
21
  --head: light-dark(#efefe8, #453f4b);
23
22
  --muted: light-dark(#5d5c52, #aea7b8);
24
23
 
25
- /* ---------- colour: the three meanings ---------- */
26
24
  --amber: #f5a623;
27
25
  --green: #2fbf71;
28
- /* plum lightens red for text and border contrast, so its red fills carry black */
29
26
  --red: light-dark(#b3251e, #ff8074);
30
27
 
31
- /* ---------- colour: text on fills ---------- */
32
28
  --on-status: #16150f;
33
29
  --on-red: light-dark(#fdfdfa, #16150f);
34
30
  /* muted misses AA on plum's head tint; text on a head fill uses this */
35
31
  --on-head: light-dark(#5d5c52, #b6afc1);
36
32
 
37
- /* ---------- colour: content, inside code and terminals only ---------- */
38
33
  /* Sixteen printer's inks for what a program prints: terminal colours, syntax. Never on
39
34
  chrome. Each reads at AA on the head tint, the ground code sits on, except black on
40
35
  plum, which is the ground's own tone. On paper the whites print as greys and ink,
@@ -55,7 +50,6 @@
55
50
  --term-bright-magenta: light-dark(#8f3570, #f7c1e2);
56
51
  --term-bright-cyan: light-dark(#2a6f6a, #aee3dc);
57
52
  --term-bright-white: light-dark(#16150f, #efecf3);
58
- /* syntax roles, drawn from the same inks */
59
53
  --code-keyword: var(--term-magenta);
60
54
  --code-string: var(--term-cyan);
61
55
  --code-number: var(--term-yellow);
@@ -63,7 +57,6 @@
63
57
  --code-type: var(--term-green);
64
58
  --code-comment: var(--on-head);
65
59
 
66
- /* ---------- colour: print and veil ---------- */
67
60
  --shadow-color: light-dark(rgba(22, 21, 15, 0.85), rgba(0, 0, 0, 0.8));
68
61
  --shadow-danger-color: light-dark(rgba(179, 37, 30, 0.6), rgba(0, 0, 0, 0.8));
69
62
  --veil: rgba(22, 21, 15, 0.4);
@@ -74,24 +67,23 @@
74
67
  background: var(--veil-grain), var(--veil) for a veil. */
75
68
  --veil-grain:
76
69
  conic-gradient(at 1px 1px, #0000 75%, rgb(22 21 15 / 0.5) 0) 0 0 / 4px 4px,
77
- conic-gradient(at 1px 1px, #0000 75%, rgb(22 21 15 / 0.5) 0) 2px 2px / 4px 4px;
70
+ conic-gradient(at 1px 1px, #0000 75%, rgb(22 21 15 / 0.5) 0) 2px 2px / 4px
71
+ 4px;
78
72
  --dither-base: light-dark(#e0e0d8, #2f2b33);
79
73
  --dither-dot: light-dark(#bcbcb2, #423d4a);
80
74
  --dither:
81
75
  conic-gradient(at 1px 1px, #0000 75%, var(--dither-dot) 0) 0 0 / 4px 4px,
82
- conic-gradient(at 1px 1px, #0000 75%, var(--dither-dot) 0) 2px 2px / 4px 4px, var(--dither-base);
76
+ conic-gradient(at 1px 1px, #0000 75%, var(--dither-dot) 0) 2px 2px / 4px 4px,
77
+ var(--dither-base);
83
78
 
84
- /* ---------- colour: fades ---------- */
85
79
  --fade-on-ink: 0.75; /* what prints muted on paper, printed in paper on an inverted fill */
86
80
  --fade-held: 0.6; /* a held control on an ink title bar */
87
81
  --fade-dragged: 0.4; /* a held item, dimmed in place while its copy follows the pointer */
88
82
 
89
- /* ---------- type: three families ---------- */
90
83
  --font-px: "Departure Mono", ui-monospace, Menlo, Monaco, monospace;
91
84
  --font-body: system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
92
85
  --font-code: ui-monospace, Menlo, Monaco, monospace;
93
86
 
94
- /* ---------- type: the working scale ---------- */
95
87
  --type-label: 10px; /* labels, field labels, table heads, meta */
96
88
  --type-state: 11px; /* chips, tabs, ages, counts, state words */
97
89
  --type-control: 12px; /* buttons, nav, menus, code, notices */
@@ -108,7 +100,6 @@
108
100
  --tracking-title: 0.08em; /* a panel's title bar, an empty state's headline, the flash word */
109
101
  --tracking-label: 0.1em; /* uppercase pixel labels */
110
102
 
111
- /* ---------- type: the reading scale (authored pages only) ---------- */
112
103
  --read-body: 15px;
113
104
  --read-h3: 15px;
114
105
  --read-h2: 20px;
@@ -116,11 +107,9 @@
116
107
  --read-weight: 650;
117
108
  --read-measure: 68ch;
118
109
 
119
- /* ---------- lines ---------- */
120
110
  --line: 2px; /* anything that contains: ink */
121
111
  --hair: 1px; /* anything that divides: rule */
122
112
 
123
- /* ---------- space ---------- */
124
113
  --row: 34px; /* the height of a row */
125
114
  --pad: 16px; /* inside a panel or card */
126
115
  --gap: 24px; /* between panels */
@@ -129,16 +118,15 @@
129
118
  --rail-drawer: 320px; /* the rail as a drawer, whatever width the reader gave it */
130
119
  --rail-folded: 64px; /* the rail folded to its first panel's bar, stood on end */
131
120
 
132
- /* ---------- space: between components (Stack, Group, Wrap) ---------- */
133
121
  --space-s: 8px; /* things in one line: buttons, chips, a glyph and its word */
134
122
  --space-m: 14px; /* the parts of one body: a panel's, a card's, a window's */
135
- --space-l: var(--gap); /* whole surfaces: panels, a card and what stands beside it */
123
+ --space-l: var(
124
+ --gap
125
+ ); /* whole surfaces: panels, a card and what stands beside it */
136
126
 
137
- /* ---------- type: figures ---------- */
138
127
  --type-figure: 30px; /* a stat's value */
139
128
  --type-figure-narrow: 22px; /* the same value at 900px and under, a step down the ramp */
140
129
 
141
- /* ---------- print shadows: zero blur, offset down and right ---------- */
142
130
  --shadow-card: 8px 8px 0 var(--shadow-color);
143
131
  --shadow-panel: 5px 5px 0 var(--shadow-color);
144
132
  --shadow-button: 3px 3px 0 var(--shadow-color);
@@ -146,25 +134,20 @@
146
134
  --shadow-pressed: 1px 1px 0 var(--shadow-color);
147
135
  --shadow-danger: 3px 3px 0 var(--shadow-danger-color);
148
136
 
149
- /* ---------- the reel: a scrolling row of columns of panes ---------- */
150
137
  --reel-gutter: 16px; /* between columns, and between the panes of a column */
151
138
  --reel-column-min: 280px; /* the narrowest a column prints, whatever its width */
152
139
  --reel-pane-min: 120px; /* the shortest a pane prints */
153
140
 
154
- /* ---------- the bench: a page whose work is the window ---------- */
155
141
  --bench-work-min: 152px; /* the least of its height the work keeps: a 120px pane, 16px gutters */
156
142
  --bench-head-min: 64px; /* the least of its head a short window keeps: its padding and a small button */
157
143
 
158
- /* ---------- charts ---------- */
159
144
  --chart-plot: 160px; /* a line chart's plot, between its top line and its axis */
160
145
 
161
- /* ---------- motion: stepped or instant ---------- */
162
146
  --motion-flash: 0.7s;
163
147
  --motion-blink: 1.2s;
164
148
  --motion-card: 0.14s;
165
149
  --motion-veil: 0.12s;
166
150
 
167
- /* ---------- motion: how long a toast stays ---------- */
168
151
  --toast-hold: 5s; /* how long a toast that is not an error stays while nothing holds it */
169
152
  }
170
153
 
@@ -1,2 +1,3 @@
1
1
  export { BindToolKeys, Message, view } from "./toolbar.ts";
2
+
2
3
  export type { Orientation, ViewConfig } from "./toolbar.ts";
@@ -1,4 +1,13 @@
1
- import { Array, Effect, Match, Number, Option, Schema, Stream, pipe } from "effect";
1
+ import {
2
+ Array,
3
+ Effect,
4
+ Match,
5
+ Number,
6
+ Option,
7
+ Schema,
8
+ Stream,
9
+ pipe,
10
+ } from "effect";
2
11
  import * as Dom from "foldkit/dom";
3
12
  import type { Html, HtmlBuilder } from "foldkit/html";
4
13
  import { defineMessageUnion } from "foldkit/message";
@@ -6,24 +15,22 @@ import * as Mount from "foldkit/mount";
6
15
 
7
16
  import { isPlain } from "../keys/keys.ts";
8
17
 
9
- // MODEL
10
-
11
18
  /** Which way the strip lies. A `Vertical` strip stands on end: a canvas's tools down its left
12
19
  * edge. The arrows of both axes move in either. */
13
20
  export const Orientation = Schema.Literals(["Horizontal", "Vertical"]);
21
+
14
22
  export type Orientation = typeof Orientation.Type;
15
23
 
16
- /** Where a key moved focus: one tool either way, or to an end. */
17
24
  const ToolMove = Schema.Literals(["Previous", "Next", "First", "Last"]);
18
- type ToolMove = typeof ToolMove.Type;
19
25
 
20
- // MESSAGE
26
+ type ToolMove = typeof ToolMove.Type;
21
27
 
22
28
  /** What a toolbar's keys report: a move they already made. Nothing in a Model follows it. */
23
- export const Message = defineMessageUnion({ MovedToolFocus: { move: ToolMove } });
24
- export type Message = typeof Message.Type;
29
+ export const Message = defineMessageUnion({
30
+ MovedToolFocus: { move: ToolMove },
31
+ });
25
32
 
26
- // TOOL KEYS
33
+ export type Message = typeof Message.Type;
27
34
 
28
35
  const TOOL_SELECTOR = "button:not(:disabled), a[href]";
29
36
 
@@ -31,28 +38,33 @@ const isOwnTool =
31
38
  (bar: Element) =>
32
39
  (tool: HTMLElement): boolean => {
33
40
  const popover = tool.closest("[popover]");
34
- return tool.closest('[role="toolbar"]') === bar && (popover === null || !bar.contains(popover));
41
+
42
+ return (
43
+ tool.closest('[role="toolbar"]') === bar &&
44
+ (popover === null || !bar.contains(popover))
45
+ );
35
46
  };
36
47
 
37
- // NOTE: the bar's own tools, in order: not the items of a menu one of them opens. A disabled
38
- // tool is passed over; an `aria-disabled` one stays, as it does for Tab.
39
- const tools = (bar: Element): ReadonlyArray<HTMLElement> =>
48
+ const tools = (bar: Element): readonly HTMLElement[] =>
40
49
  Array.filter(
41
50
  Array.fromIterable(bar.querySelectorAll<HTMLElement>(TOOL_SELECTOR)),
42
- isOwnTool(bar),
51
+ isOwnTool(bar)
43
52
  );
44
53
 
45
- const rove = (bar: Element, to: HTMLElement): void =>
46
- Array.forEach(tools(bar), (tool) => {
54
+ const rove = (bar: Element, to: HTMLElement): void => {
55
+ for (const tool of tools(bar)) {
47
56
  tool.tabIndex = tool === to ? 0 : -1;
48
- });
57
+ }
58
+ };
49
59
 
50
60
  const roveToCurrent = (bar: Element): void => {
51
61
  const all = tools(bar);
62
+
52
63
  const maybeCurrent = Option.orElse(
53
64
  Array.findFirst(all, (tool) => tool.getAttribute("tabindex") === "0"),
54
- () => Array.head(all),
65
+ () => Array.head(all)
55
66
  );
67
+
56
68
  if (Option.isSome(maybeCurrent)) {
57
69
  rove(bar, maybeCurrent.value);
58
70
  }
@@ -65,62 +77,86 @@ const toToolMove = (key: string): Option.Option<ToolMove> =>
65
77
  Match.whenOr("ArrowDown", "ArrowRight", () => Option.some("Next")),
66
78
  Match.when("Home", () => Option.some("First")),
67
79
  Match.when("End", () => Option.some("Last")),
68
- Match.orElse(() => Option.none()),
80
+ Match.orElse(() => Option.none())
69
81
  );
70
82
 
71
- const targetIndex = (move: ToolMove, index: number, lastIndex: number): number =>
83
+ const targetIndex = (
84
+ move: ToolMove,
85
+ index: number,
86
+ lastIndex: number
87
+ ): number =>
72
88
  Match.value(move).pipe(
73
89
  Match.withReturnType<number>(),
74
- Match.when("Previous", () => Number.clamp(index - 1, { minimum: 0, maximum: lastIndex })),
75
- Match.when("Next", () => Number.clamp(index + 1, { minimum: 0, maximum: lastIndex })),
90
+ Match.when("Previous", () =>
91
+ Number.clamp(index - 1, { minimum: 0, maximum: lastIndex })
92
+ ),
93
+ Match.when("Next", () =>
94
+ Number.clamp(index + 1, { minimum: 0, maximum: lastIndex })
95
+ ),
76
96
  Match.when("First", () => 0),
77
97
  Match.when("Last", () => lastIndex),
78
- Match.exhaustive,
98
+ Match.exhaustive
79
99
  );
80
100
 
81
101
  type ToolStep = Readonly<{ move: ToolMove; tool: HTMLElement }>;
82
102
 
83
- const toolStep = (bar: Element, event: KeyboardEvent): Option.Option<ToolStep> => {
103
+ const toolStep = (
104
+ bar: Element,
105
+ event: KeyboardEvent
106
+ ): Option.Option<ToolStep> => {
84
107
  if (event.isComposing || event.defaultPrevented || !isPlain(event)) {
85
108
  return Option.none();
86
109
  }
87
110
 
88
111
  return Option.flatMap(toToolMove(event.key), (move) => {
89
112
  const all = tools(bar);
113
+
90
114
  return pipe(
91
115
  Array.findFirstIndex(all, (tool) => tool === event.target),
92
- Option.flatMap((index) => Array.get(all, targetIndex(move, index, all.length - 1))),
93
- Option.map((tool) => ({ move, tool })),
116
+ Option.flatMap((index) =>
117
+ Array.get(all, targetIndex(move, index, all.length - 1))
118
+ ),
119
+ Option.map((tool) => ({ move, tool }))
94
120
  );
95
121
  });
96
122
  };
97
123
 
98
- const moveToolFocus = (bar: Element, event: KeyboardEvent): Option.Option<Message> => {
124
+ const moveToolFocus = (
125
+ bar: Element,
126
+ event: KeyboardEvent
127
+ ): Option.Option<Message> => {
99
128
  const maybeStep = toolStep(bar, event);
129
+
100
130
  if (Option.isSome(maybeStep)) {
101
131
  rove(bar, maybeStep.value.tool);
102
132
  maybeStep.value.tool.focus();
103
133
  }
134
+
104
135
  return Option.map(maybeStep, ({ move }) => Message.MovedToolFocus({ move }));
105
136
  };
106
137
 
107
- // NOTE: the stop for Tab stays on a tool as tools come and go (one disabled, one added). The
108
- // stream emits nothing; it holds the observer while the bar is mounted.
109
138
  const keepStop = (bar: Element): Stream.Stream<never> =>
110
139
  Stream.callback<never>(() =>
111
140
  Effect.acquireRelease(
112
141
  Effect.sync(() => {
113
- const observer = new MutationObserver(() => roveToCurrent(bar));
142
+ const observer = new MutationObserver(() => {
143
+ roveToCurrent(bar);
144
+ });
145
+
114
146
  roveToCurrent(bar);
115
147
  observer.observe(bar, {
116
148
  childList: true,
117
149
  subtree: true,
118
150
  attributeFilter: ["disabled", "href"],
119
151
  });
152
+
120
153
  return observer;
121
154
  }),
122
- (observer) => Effect.sync(() => observer.disconnect()),
123
- ),
155
+ (observer) =>
156
+ Effect.sync(() => {
157
+ observer.disconnect();
158
+ })
159
+ )
124
160
  );
125
161
 
126
162
  /** The toolbar's keys and its roving stop for Tab. Either axis's arrows move focus one tool
@@ -146,23 +182,25 @@ export const BindToolKeys = Mount.defineStream("BindToolKeys", {
146
182
  filterMapEvent: (event) =>
147
183
  Array.findFirst(tools(element), (tool) => tool === event.target),
148
184
  }).pipe(
149
- Stream.tap((tool) => Effect.sync(() => rove(element, tool))),
150
- Stream.drain,
185
+ Stream.tap((tool) =>
186
+ Effect.sync(() => {
187
+ rove(element, tool);
188
+ })
189
+ ),
190
+ Stream.drain
151
191
  ),
152
192
  keepStop(element),
153
193
  ],
154
- { concurrency: "unbounded" },
194
+ { concurrency: "unbounded" }
155
195
  ),
156
196
  });
157
197
 
158
- // VIEW
159
-
160
198
  /** Configuration for rendering a toolbar with `view`. */
161
199
  export type ViewConfig<ParentMessage> = Readonly<{
162
200
  /** Names the toolbar for screen readers. */
163
201
  label: string;
164
202
  /** IconButtons and small Buttons; a tool in force is `aria-pressed`. */
165
- tools: ReadonlyArray<Html>;
203
+ tools: readonly Html[];
166
204
  orientation?: Orientation;
167
205
  /** Floats above what is under it, on the button print shadow. */
168
206
  isFloating?: boolean;
@@ -178,7 +216,7 @@ export type ViewConfig<ParentMessage> = Readonly<{
178
216
  * go to the ends, and Tab comes back to the tool used last. */
179
217
  export const view = <ParentMessage>(
180
218
  config: ViewConfig<ParentMessage>,
181
- h: HtmlBuilder<ParentMessage>,
219
+ h: HtmlBuilder<ParentMessage>
182
220
  ): Html => {
183
221
  const {
184
222
  label,
@@ -196,6 +234,6 @@ export const view = <ParentMessage>(
196
234
  h.OnMount(Mount.mapMessage(BindToolKeys(), toParentMessage)),
197
235
  h.Class(isFloating ? "toolbar floating" : "toolbar"),
198
236
  ],
199
- toolViews,
237
+ toolViews
200
238
  );
201
239
  };
@@ -5,14 +5,11 @@ import * as Mount from "foldkit/mount";
5
5
 
6
6
  import type { Attributes } from "../attributes/attributes.ts";
7
7
 
8
- // MESSAGE
9
-
10
8
  /** What a bar's height Mount reports: it started keeping the page's custom property at the
11
9
  * bar's height. Nothing in a Model follows it. */
12
10
  export const Message = defineMessageUnion({ CompletedMeasureHeight: {} });
13
- export type Message = typeof Message.Type;
14
11
 
15
- // MOUNT
12
+ export type Message = typeof Message.Type;
16
13
 
17
14
  const isFirstOfKind = (element: Element, selector: string): boolean =>
18
15
  document.querySelector(selector) === element;
@@ -26,24 +23,33 @@ export const MeasureHeight = Mount.define("MeasureHeight", {
26
23
  messages: [Message.CompletedMeasureHeight],
27
24
  execute: ({ element, selector, property }) =>
28
25
  Effect.gen(function* () {
29
- if (!(element instanceof HTMLElement) || !isFirstOfKind(element, selector)) {
26
+ if (
27
+ !(element instanceof HTMLElement) ||
28
+ !isFirstOfKind(element, selector)
29
+ ) {
30
30
  return Message.CompletedMeasureHeight();
31
31
  }
32
+
32
33
  const root = document.documentElement.style;
33
34
  yield* Effect.acquireRelease(
34
35
  Effect.sync(() => {
35
- const measure = (): void => root.setProperty(property, `${element.offsetHeight}px`);
36
+ const measure = (): void => {
37
+ root.setProperty(property, `${element.offsetHeight}px`);
38
+ };
39
+
36
40
  const observer = new ResizeObserver(measure);
37
41
  observer.observe(element);
38
42
  measure();
43
+
39
44
  return observer;
40
45
  }),
41
46
  (observer) =>
42
47
  Effect.sync(() => {
43
48
  observer.disconnect();
44
49
  root.removeProperty(property);
45
- }),
50
+ })
46
51
  );
52
+
47
53
  return Message.CompletedMeasureHeight();
48
54
  }),
49
55
  });
@@ -51,12 +57,20 @@ export const MeasureHeight = Mount.define("MeasureHeight", {
51
57
  /** What a parent's Scene resolves the bar's Mount with, the Message lifted as the bar's
52
58
  * `toParentMessage` lifts it: `Scene.Mount.resolveAll(...TopBar.sceneMounts(toParentMessage))`.
53
59
  * It matches by name, since the Mount the parent holds reports the parent's Message. */
54
- export const sceneMounts = <ParentMessage>(toParentMessage: (message: Message) => ParentMessage) =>
55
- [[{ name: MeasureHeight.name }, toParentMessage(Message.CompletedMeasureHeight())]] as const;
60
+ export const sceneMounts = <ParentMessage>(
61
+ toParentMessage: (message: Message) => ParentMessage
62
+ ) =>
63
+ [
64
+ [
65
+ { name: MeasureHeight.name },
66
+ toParentMessage(Message.CompletedMeasureHeight()),
67
+ ],
68
+ ] as const;
56
69
 
57
- /** The bar's measuring attributes, its Mount lifted into the parent's Message. */
58
70
  export const measureAttributes = <ParentMessage>(
59
71
  toParentMessage: (message: Message) => ParentMessage,
60
72
  args: Readonly<{ selector: string; property: string }>,
61
- h: HtmlBuilder<ParentMessage>,
62
- ): Attributes<ParentMessage> => [h.OnMount(Mount.mapMessage(MeasureHeight(args), toParentMessage))];
73
+ h: HtmlBuilder<ParentMessage>
74
+ ): Attributes<ParentMessage> => [
75
+ h.OnMount(Mount.mapMessage(MeasureHeight(args), toParentMessage)),
76
+ ];
@@ -0,0 +1,5 @@
1
+ export { MeasureHeight, Message, sceneMounts } from "./bar-height.ts";
2
+
3
+ export { view } from "./top-bar.ts";
4
+
5
+ export type { ViewConfig } from "./top-bar.ts";
@@ -1,16 +1,15 @@
1
1
  import type { Html, HtmlBuilder } from "foldkit/html";
2
2
 
3
3
  import { slotView } from "../slot/slot.ts";
4
- import { type Message as BarHeightMessage, measureAttributes } from "./barHeight.ts";
5
-
6
- // VIEW
4
+ import { measureAttributes } from "./bar-height.ts";
5
+ import type { Message as BarHeightMessage } from "./bar-height.ts";
7
6
 
8
7
  /** Configuration for rendering a top bar with `view`. */
9
8
  export type ViewConfig<Message> = Readonly<{
10
9
  /** The wordmark, at the left. */
11
10
  brand: ReadonlyArray<Html | string>;
12
11
  /** A NavStrip; on a phone it drops to a full-width strip under the brand. */
13
- nav?: ReadonlyArray<Html>;
12
+ nav?: readonly Html[];
14
13
  /** The right-hand tools; they wrap as one group. */
15
14
  tools?: ReadonlyArray<Html | string>;
16
15
  /** Lifts the bar's lifecycle Message (`MeasureHeight` started: the page's first top bar
@@ -22,14 +21,21 @@ export type ViewConfig<Message> = Readonly<{
22
21
 
23
22
  /** The sticky paper bar across the top of an interface, closed by a 2px ink rule: the page's
24
23
  * banner landmark (`<header>`), with the brand, the navigation and the tools. */
25
- export const view = <Message>(config: ViewConfig<Message>, h: HtmlBuilder<Message>): Html => {
24
+ export const view = <Message>(
25
+ config: ViewConfig<Message>,
26
+ h: HtmlBuilder<Message>
27
+ ): Html => {
26
28
  const { brand, nav = [], tools = [], toParentMessage } = config;
27
29
 
28
30
  return h.header(
29
31
  [
30
- ...measureAttributes(toParentMessage, { selector: ".topbar", property: "--topbar-h" }, h),
32
+ ...measureAttributes(
33
+ toParentMessage,
34
+ { selector: ".topbar", property: "--topbar-h" },
35
+ h
36
+ ),
31
37
  h.Class("topbar"),
32
38
  ],
33
- [...brand, ...nav, ...slotView("div", "topbar-tools", tools, h)],
39
+ [...brand, ...nav, ...slotView("div", "topbar-tools", tools, h)]
34
40
  );
35
41
  };
@@ -0,0 +1,3 @@
1
+ export { view } from "./video-frame.ts";
2
+
3
+ export type { Captions, ViewInputs } from "./video-frame.ts";