@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
@@ -12,13 +12,7 @@ import { lookClassName } from "../button/button.js";
12
12
  import { Focus } from "../focus/focus.js";
13
13
  import * as Glyph from "../glyph/glyph.js";
14
14
  import { isPlain } from "../keys/keys.js";
15
- import { ChoiceKind, Edge, anchorUnder, edgeSelector, rowsView, slipStream } from "./slip.js";
16
- // NOTE: @foldkit/ui gap: Menu's rows are always `role="menuitem"` with no hook for a row's
17
- // role or attributes (no `menuitemradio`, `menuitemcheckbox` or `aria-checked`), its arrows
18
- // pass unavailable rows (the ARIA menu pattern stops on them), and its row ids are private.
19
- // So this menu is not built on it: it follows the ARIA menu pattern with real focus on its
20
- // rows, positioned by `@foldkit/ui`'s public Anchor.
21
- // MODEL
15
+ import { ChoiceKind, Edge, anchorUnder, edgeSelector, rowsView, slipStream, } from "./slip.js";
22
16
  /** Schema for a menu: its id, whether its slip is open, and which end of the slip takes
23
17
  * focus as it opens. One Model serves one toggle: a menu on every row of a list is a Model
24
18
  * per row, each with its own id, never one Model handed from row to row. */
@@ -27,7 +21,6 @@ export const Model = Schema.Struct({
27
21
  isOpen: Schema.Boolean,
28
22
  edge: Edge,
29
23
  });
30
- // MESSAGE
31
24
  /** Union of all Messages a menu can produce. `LeftSlip` (focus went outside the slip),
32
25
  * `UnmountedSlip` (the slip left the page) and `CompletedFocus` (focus is back on the
33
26
  * toggle) can arrive after the menu has closed. Each must reach the Model of the menu that
@@ -45,7 +38,6 @@ export const Message = defineMessageUnion({
45
38
  CompletedFocus: {},
46
39
  CompletedFocusEdge: {},
47
40
  });
48
- // OUT MESSAGE
49
41
  /** Union of OutMessages a menu reports. `Selected`: an action, a radio item or a link was
50
42
  * chosen and the slip has closed (the browser follows a link itself). `Toggled`: a check item
51
43
  * was chosen; the slip stays open and the parent flips the value it keeps. */
@@ -59,30 +51,29 @@ export const init = (config) => (__foldkitBrandViewResult(({
59
51
  isOpen: false,
60
52
  edge: "First",
61
53
  }), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#init"));
62
- // ACCESSORS
63
54
  /** The menu's id, unique in the document. */
64
55
  export const id = (model) => __foldkitBrandViewResult((model.id), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#id");
65
56
  /** Whether the slip is open: a parent pauses its own page keys while it is. */
66
57
  export const isOpen = (model) => __foldkitBrandViewResult((model.isOpen), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#isOpen");
67
58
  const toggleId = (model) => __foldkitBrandViewResult((`${model.id}-toggle`), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#toggleId");
68
59
  const slipId = (model) => __foldkitBrandViewResult((`${model.id}-slip`), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#slipId");
69
- // UPDATE
70
60
  /** Moves focus to an end of the open slip (↓ or ↑ on the toggle while it is open). */
71
61
  export const FocusEdge = Command.define("FocusEdge", {
72
62
  args: { slipId: Schema.String, edge: Edge },
73
63
  messages: [Message.CompletedFocusEdge],
74
- execute: ({ slipId: id, edge }) => __foldkitBrandViewResult((Dom.focus(`#${CSS.escape(id)} ${edgeSelector(edge)}`).pipe(Effect.ignore, Effect.as(Message.CompletedFocusEdge()))), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#execute"),
64
+ execute: ({ slipId: openSlipId, edge }) => __foldkitBrandViewResult((Dom.focus(`#${CSS.escape(openSlipId)} ${edgeSelector(edge)}`).pipe(Effect.ignore, Effect.as(Message.CompletedFocusEdge()))), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#execute"),
75
65
  });
76
66
  const opened = (model, edge) => __foldkitBrandViewResult((modifyFields(model, { isOpen: () => __foldkitBrandViewResult((true), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#isOpen~2"), edge: () => __foldkitBrandViewResult((edge), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#edge") })), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#opened");
77
67
  const closed = (model) => __foldkitBrandViewResult((modifyFields(model, { isOpen: () => __foldkitBrandViewResult((false), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#isOpen~3") })), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#closed");
78
- // focus goes back on the toggle as the slip closes by Escape, Tab or a choice
79
68
  const closedWithFocus = (model) => (__foldkitBrandViewResult(({
80
69
  model: closed(model),
81
70
  commands: [Focus({ id: toggleId(model) })],
82
71
  }), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#closedWithFocus"));
83
72
  /** Processes a menu Message and returns the next Model, Commands and OutMessage. */
84
73
  export const update = (model, message) => __foldkitBrandViewResult((Message.match(message, {
85
- ClickedToggle: () => (__foldkitBrandViewResult(({ model: model.isOpen ? closed(model) : opened(model, "First") }), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#ClickedToggle")),
74
+ ClickedToggle: () => (__foldkitBrandViewResult(({
75
+ model: model.isOpen ? closed(model) : opened(model, "First"),
76
+ }), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#ClickedToggle")),
86
77
  PressedToggleArrow: ({ edge }) => __foldkitBrandViewResult((model.isOpen
87
78
  ? { model, commands: [FocusEdge({ slipId: slipId(model), edge })] }
88
79
  : { model: opened(model, edge) }), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#PressedToggleArrow"),
@@ -97,11 +88,7 @@ export const update = (model, message) => __foldkitBrandViewResult((Message.matc
97
88
  CompletedFocus: () => (__foldkitBrandViewResult(({ model }), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#CompletedFocus")),
98
89
  CompletedFocusEdge: () => (__foldkitBrandViewResult(({ model }), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#CompletedFocusEdge")),
99
90
  })), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#update");
100
- // KEYS
101
91
  const toggleEdge = (key) => __foldkitBrandViewResult((Match.value(key).pipe(Match.withReturnType(), Match.when("ArrowDown", () => __foldkitBrandViewResult((Option.some("First")), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#anonymous")), Match.when("ArrowUp", () => __foldkitBrandViewResult((Option.some("Last")), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#anonymous~2")), Match.orElse(() => __foldkitBrandViewResult((Option.none()), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#anonymous~3")))), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#toggleEdge");
102
- /** What one keydown on the toggle does: ↓ and ↑ open the slip on its first or last row. A
103
- * key an IME is composing, a modified key, a key someone already handled and any other key
104
- * are left alone. */
105
92
  export const toggleKey = (event) => __foldkitBrandViewResult((event.isComposing || event.defaultPrevented || !isPlain(event)
106
93
  ? Option.none()
107
94
  : Option.map(toggleEdge(event.key), (edge) => __foldkitBrandViewResult((Message.PressedToggleArrow({ edge })), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#anonymous~4"))), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#toggleKey");
@@ -127,24 +114,22 @@ export const BindSlip = Mount.defineStream("BindSlip", {
127
114
  Message.PressedTab,
128
115
  Message.LeftSlip,
129
116
  ],
130
- execute: ({ element, toggleId: id, isEnd, edge }) => __foldkitBrandViewResult((slipStream(element, {
117
+ execute: ({ element, toggleId: slipToggleId, isEnd, edge }) => __foldkitBrandViewResult((slipStream(element, {
131
118
  placed: Message.CompletedPlaceSlip(),
132
119
  events: {
133
120
  escape: Message.PressedEscape(),
134
121
  tab: Message.PressedTab(),
135
122
  left: Message.LeftSlip(),
136
123
  },
137
- keepId: Option.some(id),
138
- setup: anchorUnder({ toggleId: id, isEnd, edge }),
124
+ keepId: Option.some(slipToggleId),
125
+ setup: anchorUnder({ toggleId: slipToggleId, isEnd, edge }),
139
126
  })), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#execute~3"),
140
127
  });
141
- // VIEW
142
128
  /** Which edge of the toggle the slip hangs from. */
143
129
  export const Align = Schema.Literals(["Start", "End"]);
144
- // a toggle that shows a glyph or its own content says its label as its name and tip
145
130
  const isNamedByLabel = (viewInputs) => __foldkitBrandViewResult((viewInputs.glyph !== undefined || viewInputs.toggleContent !== undefined), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#isNamedByLabel");
146
131
  const toggleClass = (viewInputs) => {
147
- const { glyph, isQuiet = false, toggleContent, variant = "Default" } = viewInputs;
132
+ const { glyph, isQuiet = false, toggleContent, variant = "Default", } = viewInputs;
148
133
  if (glyph === undefined || toggleContent !== undefined) {
149
134
  return __foldkitBrandViewResult((lookClassName({ variant, isSmall: true })), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#toggleClass");
150
135
  }
@@ -165,7 +150,8 @@ const toggleView = (model, viewInputs, h) => {
165
150
  : []),
166
151
  h.OnMount(BindToggleKeys()),
167
152
  h.Class(toggleClass(viewInputs)),
168
- ], toggleContent ?? (glyph === undefined ? [label] : [Glyph.view({ name: glyph }, h)]))), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#toView"),
153
+ ], toggleContent ??
154
+ (glyph === undefined ? [label] : [Glyph.view({ name: glyph }, h)]))), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#toView"),
169
155
  }, h)), "@gjermundgaraba-designs/pixel-paper/src/menu/menu.js#toggleView");
170
156
  };
171
157
  /**
@@ -190,11 +176,14 @@ export const view = defineView((model, viewInputs, h) => {
190
176
  h.div([
191
177
  h.Id(slipId(model)),
192
178
  h.Role("menu"),
193
- isNamedByLabel(viewInputs) ? h.AriaLabel(label) : h.AriaLabelledBy(toggleId(model)),
194
- h.OnMount(BindSlip({ toggleId: toggleId(model), isEnd: align === "End", edge: model.edge })),
195
- // NOTE: the slip's Mount ends after the patch that removes it, too late to
196
- // report, so a slip that leaves the page with its toggle (the row it sits on
197
- // is gone) says so here, and the menu closes.
179
+ isNamedByLabel(viewInputs)
180
+ ? h.AriaLabel(label)
181
+ : h.AriaLabelledBy(toggleId(model)),
182
+ h.OnMount(BindSlip({
183
+ toggleId: toggleId(model),
184
+ isEnd: align === "End",
185
+ edge: model.edge,
186
+ })),
198
187
  h.OnUnmount(Message.UnmountedSlip()),
199
188
  h.Class("menu"),
200
189
  ], rowsView({
@@ -1,43 +1,31 @@
1
1
  import { Option, Schema, Stream } from "effect";
2
2
  import type { Html, HtmlBuilder } from "foldkit/html";
3
3
  import { Item } from "./item.ts";
4
- /** What kind of row was chosen: a check keeps the slip open, the others close it. */
5
4
  export declare const ChoiceKind: Schema.Literals<readonly ["Action", "Radio", "Check", "Link"]>;
6
5
  export type ChoiceKind = typeof ChoiceKind.Type;
7
6
  /** Where focus lands as the slip opens: its first row, or (↑ on the toggle) its last. */
8
7
  export declare const Edge: Schema.Literals<readonly ["First", "Last"]>;
9
8
  export type Edge = typeof Edge.Type;
10
- /** The selector of the row focus lands on as the slip opens. */
11
9
  export declare const edgeSelector: (edge: Edge) => string;
12
- /** The slip's rows: items, groups under their headings, and notes. `slipId` names the group
13
- * headings' ids; `toChoose` is the Message a row's click sends. */
14
10
  export declare const rowsView: <Message>(config: Readonly<{
15
11
  slipId: string;
16
- items: ReadonlyArray<Item>;
12
+ items: readonly Item[];
17
13
  toChoose: (id: string, kind: ChoiceKind) => Message;
18
- }>, h: HtmlBuilder<Message>) => ReadonlyArray<Html>;
19
- /** The Messages a slip's keys and focus report to its owner. */
14
+ }>, h: HtmlBuilder<Message>) => readonly Html[];
20
15
  type SlipEvents<Message> = Readonly<{
21
- /** Escape: close and put focus back. Its default is prevented, so a Dialog the slip sits
22
- * in stays open. */
23
16
  escape: Message;
24
- /** Tab: close and put focus back where the slip came from. */
25
17
  tab: Message;
26
- /** Focus went somewhere outside the slip (a click elsewhere): close and leave it there. */
27
18
  left: Message;
28
19
  }>;
29
20
  /** The slip's keys and focus as a stream of its owner's Messages, set up by `setup` (anchoring,
30
21
  * portaling) and torn down with the element. A press inside the slip keeps focus where it
31
22
  * is, so a click on a row reaches it in every browser. */
32
23
  export declare const slipStream: <Message>(element: Element, config: Readonly<{
33
- /** Reported once the slip is placed and its keys are bound. */
34
24
  placed: Message;
35
25
  events: SlipEvents<Message>;
36
26
  keepId: Option.Option<string>;
37
27
  setup: (element: Element) => () => void;
38
28
  }>) => Stream.Stream<Message>;
39
- /** Hangs the slip under its toggle with `@foldkit/ui`'s Anchor (portaled out of clipping
40
- * ancestors, into the dialog when inside one), then focuses the row at `edge`. */
41
29
  export declare const anchorUnder: (config: Readonly<{
42
30
  toggleId: string;
43
31
  isEnd: boolean;
@@ -45,12 +33,10 @@ export declare const anchorUnder: (config: Readonly<{
45
33
  }>) => (element: Element) => (() => void);
46
34
  /** Where a context slip opens, in viewport pixels. */
47
35
  export declare const Point: Schema.Struct<{
48
- readonly x: Schema.Number;
49
- readonly y: Schema.Number;
36
+ readonly x: Schema.Finite;
37
+ readonly y: Schema.Finite;
50
38
  }>;
51
39
  export type Point = typeof Point.Type;
52
- /** Opens the slip at a point, portaled, kept 12px inside the window (flipping to the other
53
- * side of the point when it would cross the edge), then focuses its first row. */
54
40
  export declare const placeAt: (point: Point) => (element: Element) => (() => void);
55
41
  export {};
56
42
  //# sourceMappingURL=slip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slip.d.ts","sourceRoot":"","sources":["../../../src/menu/slip.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,MAAM,EAAS,MAAM,EAAE,MAAM,EAAgB,MAAM,QAAQ,CAAC;AAC3F,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQtD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AASjC,qFAAqF;AACrF,eAAO,MAAM,UAAU,gEAAwD,CAAC;AAChF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAC;AAMhD,yFAAyF;AACzF,eAAO,MAAM,IAAI,6CAAqC,CAAC;AACvD,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC;AAEpC,gEAAgE;AAChE,eAAO,MAAM,YAAY,SAAU,IAAI,KAAG,MACyB,CAAC;AAoJpE;oEACoE;AACpE,eAAO,MAAM,QAAQ,GAAI,OAAO,UACtB,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;CACrD,CAAC,KACC,WAAW,CAAC,OAAO,CAAC,KACtB,aAAa,CAAC,IAAI,CAsBpB,CAAC;AAIF,gEAAgE;AAChE,KAAK,UAAU,CAAC,OAAO,IAAI,QAAQ,CAAC;IAClC;yBACqB;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,8DAA8D;IAC9D,GAAG,EAAE,OAAO,CAAC;IACb,2FAA2F;IAC3F,IAAI,EAAE,OAAO,CAAC;CACf,CAAC,CAAC;AAgGH;;2DAE2D;AAC3D,eAAO,MAAM,UAAU,GAAI,OAAO,WACvB,OAAO,UACR,QAAQ,CAAC;IACf,+DAA+D;IAC/D,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,IAAI,CAAC;CACzC,CAAC,KACD,MAAM,CAAC,MAAM,CAAC,OAAO,CAuCrB,CAAC;AAOJ;mFACmF;AACnF,eAAO,MAAM,WAAW,WACb,QAAQ,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC,eACzD,OAAO,KAAG,CAAC,MAAM,IAAI,CAW3B,CAAC;AAEP,sDAAsD;AACtD,eAAO,MAAM,KAAK;;;EAAwD,CAAC;AAC3E,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAC;AAKtC;mFACmF;AACnF,eAAO,MAAM,OAAO,UACV,KAAK,eACH,OAAO,KAAG,CAAC,MAAM,IAAI,CAgB9B,CAAC"}
1
+ {"version":3,"file":"slip.d.ts","sourceRoot":"","sources":["../../../src/menu/slip.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,MAAM,EAEN,MAAM,EACN,MAAM,EAGP,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAStD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,eAAO,MAAM,UAAU,gEAAwD,CAAC;AAEhF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAC;AAMhD,yFAAyF;AACzF,eAAO,MAAM,IAAI,6CAAqC,CAAC;AAEvD,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC;AAEpC,eAAO,MAAM,YAAY,SAAU,IAAI,KAAG,MACyB,CAAC;AAyJpE,eAAO,MAAM,QAAQ,GAAI,OAAO,UACtB,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IACvB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;CACrD,CAAC,KACC,WAAW,CAAC,OAAO,CAAC,KACtB,SAAS,IAAI,EA4Bf,CAAC;AAEF,KAAK,UAAU,CAAC,OAAO,IAAI,QAAQ,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf,CAAC,CAAC;AA0HH;;2DAE2D;AAC3D,eAAO,MAAM,UAAU,GAAI,OAAO,WACvB,OAAO,UACR,QAAQ,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,IAAI,CAAC;CACzC,CAAC,KACD,MAAM,CAAC,MAAM,CAAC,OAAO,CA6CrB,CAAC;AAKJ,eAAO,MAAM,WAAW,WACb,QAAQ,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC,eACzD,OAAO,KAAG,CAAC,MAAM,IAAI,CAW3B,CAAC;AAEP,sDAAsD;AACtD,eAAO,MAAM,KAAK;;;EAAwD,CAAC;AAE3E,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAC;AAOtC,eAAO,MAAM,OAAO,UACV,KAAK,eACH,OAAO,KAAG,CAAC,MAAM,IAAI,CAkB9B,CAAC"}
@@ -1,37 +1,35 @@
1
1
  import { brandViewResult as __foldkitBrandViewResult } from 'foldkit/brand'
2
2
  import { Anchor, Button as UiButton } from "@foldkit/ui";
3
- import { Array, Effect, Match, Option, Queue, Schema, Stream, String, pipe } from "effect";
3
+ import { Array, Effect, Match, Option, Queue, Schema, Stream, String, pipe, } from "effect";
4
+ import { htmlElement } from "../dom/html-element.js";
4
5
  import * as Glyph from "../glyph/glyph.js";
5
- import * as KeyHint from "../keyHint/keyHint.js";
6
+ import * as KeyHint from "../key-hint/key-hint.js";
6
7
  import { isPlain } from "../keys/keys.js";
7
8
  import { Item } from "./item.js";
8
- // NOTE: the slip shared by Menu and ContextMenu: its rows, and the keys and focus rules of
9
- // the ARIA menu pattern. Each owner defines its own Mount over these helpers, so the
10
- // Messages are its own.
11
- // CHOICE
12
- /** What kind of row was chosen: a check keeps the slip open, the others close it. */
13
9
  export const ChoiceKind = Schema.Literals(["Action", "Radio", "Check", "Link"]);
14
10
  const ITEM_SELECTOR = '[role^="menuitem"]';
15
11
  const FIRST_ATTRIBUTE = "data-pixel-paper-slip-first";
16
12
  const LAST_ATTRIBUTE = "data-pixel-paper-slip-last";
17
13
  /** Where focus lands as the slip opens: its first row, or (↑ on the toggle) its last. */
18
14
  export const Edge = Schema.Literals(["First", "Last"]);
19
- /** The selector of the row focus lands on as the slip opens. */
20
15
  export const edgeSelector = (edge) => __foldkitBrandViewResult((edge === "First" ? `[${FIRST_ATTRIBUTE}]` : `[${LAST_ATTRIBUTE}]`), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#edgeSelector");
21
16
  const isGroup = Item.$is("Group");
22
17
  const isNote = Item.$is("Note");
23
18
  const entriesOf = (items) => __foldkitBrandViewResult((Array.flatMap(items, (item) => (__foldkitBrandViewResult((isGroup(item) ? item.items : [item]), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous")))), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#entriesOf");
24
19
  const choosableIds = (items) => __foldkitBrandViewResult((Array.flatMap(entriesOf(items), (entry) => (__foldkitBrandViewResult((isNote(entry) ? [] : [entry.id]), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous~2")))), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#choosableIds");
25
20
  const edgeAttributes = (context, id, h) => __foldkitBrandViewResult(([
26
- ...(Option.contains(context.firstId, id) ? [h.Attribute(FIRST_ATTRIBUTE, "")] : []),
27
- ...(Option.contains(context.lastId, id) ? [h.Attribute(LAST_ATTRIBUTE, "")] : []),
21
+ ...(Option.contains(context.firstId, id)
22
+ ? [h.Attribute(FIRST_ATTRIBUTE, "")]
23
+ : []),
24
+ ...(Option.contains(context.lastId, id)
25
+ ? [h.Attribute(LAST_ATTRIBUTE, "")]
26
+ : []),
28
27
  ]), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#edgeAttributes");
29
28
  const wordsView = (entry, h) => __foldkitBrandViewResult(([
30
29
  ...(entry.glyph === undefined ? [] : [Glyph.view({ name: entry.glyph }, h)]),
31
30
  h.span([h.Class("menu-label")], [entry.label]),
32
31
  ...(entry.keyHint === undefined ? [] : [KeyHint.view(entry.keyHint, h)]),
33
32
  ]), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#wordsView");
34
- // a row that is a button: an action, a radio item or a check item
35
33
  const buttonRowView = (config, context, h) => {
36
34
  const { entry, isDisabled, attributes, children } = config;
37
35
  return __foldkitBrandViewResult((UiButton.view({
@@ -58,7 +56,10 @@ const choosableView = (entry, context, h) => __foldkitBrandViewResult((Match.val
58
56
  }, context, h)), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous~4")), Match.tag("Check", (check) => __foldkitBrandViewResult((buttonRowView({
59
57
  entry: check,
60
58
  isDisabled: false,
61
- attributes: [h.Role("menuitemcheckbox"), h.AriaChecked(check.isChecked)],
59
+ attributes: [
60
+ h.Role("menuitemcheckbox"),
61
+ h.AriaChecked(check.isChecked),
62
+ ],
62
63
  children: [
63
64
  h.span([h.Class("menu-check"), h.AriaHidden(true)]),
64
65
  h.span([h.Class("menu-label")], [check.label]),
@@ -74,8 +75,6 @@ const choosableView = (entry, context, h) => __foldkitBrandViewResult((Match.val
74
75
  const entryView = (entry, context, h) => __foldkitBrandViewResult((isNote(entry)
75
76
  ? h.span([h.Class("menu-note"), h.Role("none")], [entry.text])
76
77
  : choosableView(entry, context, h)), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#entryView");
77
- /** The slip's rows: items, groups under their headings, and notes. `slipId` names the group
78
- * headings' ids; `toChoose` is the Message a row's click sends. */
79
78
  export const rowsView = (config, h) => {
80
79
  const ids = choosableIds(config.items);
81
80
  const context = {
@@ -107,7 +106,10 @@ const wrap = (index, length) => __foldkitBrandViewResult(((index + length) % len
107
106
  const startsWith = (item, key) => __foldkitBrandViewResult((pipe(item.textContent ?? "", String.trim, String.toLowerCase, String.startsWith(String.toLowerCase(key)))), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#startsWith");
108
107
  const typeahead = (items, key) => {
109
108
  const from = Option.getOrElse(focusedIndex(items), () => __foldkitBrandViewResult((-1), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous~10"));
110
- const ordered = [...Array.drop(items, from + 1), ...Array.take(items, from + 1)];
109
+ const ordered = [
110
+ ...Array.drop(items, from + 1),
111
+ ...Array.take(items, from + 1),
112
+ ];
111
113
  return __foldkitBrandViewResult((Option.match(Array.findFirst(ordered, (item) => __foldkitBrandViewResult((startsWith(item, key)), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous~11")), {
112
114
  onNone: () => __foldkitBrandViewResult((false), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#onNone~2"),
113
115
  onSome: (item) => {
@@ -116,18 +118,19 @@ const typeahead = (items, key) => {
116
118
  },
117
119
  })), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#typeahead");
118
120
  };
119
- // Shift+Tab leaves the slip backwards as Tab leaves it forwards, so Tab alone takes Shift.
120
- const isShiftTab = (event) => __foldkitBrandViewResult((event.key === "Tab" && event.shiftKey && !event.altKey && !event.ctrlKey && !event.metaKey), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#isShiftTab");
121
- /** What one keydown in the slip does: ↑ and ↓ move focus among its rows and wrap, Home and End
122
- * go to the ends, a letter goes to the next row it starts, Escape and Tab (or Shift+Tab)
123
- * report. Unavailable rows are stopped on too. Returns whether it acted, and prevents the
124
- * default when it did. */
121
+ const isShiftTab = (event) => __foldkitBrandViewResult((event.key === "Tab" &&
122
+ event.shiftKey &&
123
+ !event.altKey &&
124
+ !event.ctrlKey &&
125
+ !event.metaKey), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#isShiftTab");
125
126
  const handleSlipKey = (slip, event, events) => {
126
- if (event.isComposing || event.defaultPrevented || !(isPlain(event) || isShiftTab(event))) {
127
+ if (event.isComposing ||
128
+ event.defaultPrevented ||
129
+ !(isPlain(event) || isShiftTab(event))) {
127
130
  return __foldkitBrandViewResult((Option.none()), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#handleSlipKey");
128
131
  }
129
132
  const items = itemsOf(slip);
130
- const length = items.length;
133
+ const { length } = items;
131
134
  const current = Option.getOrElse(focusedIndex(items), () => __foldkitBrandViewResult((-1), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous~12"));
132
135
  const moved = (didMove) => {
133
136
  if (didMove) {
@@ -141,10 +144,11 @@ const handleSlipKey = (slip, event, events) => {
141
144
  };
142
145
  return __foldkitBrandViewResult((Match.value(event.key).pipe(Match.withReturnType(), Match.when("ArrowDown", () => __foldkitBrandViewResult((moved(length > 0 && focusAt(items, wrap(current + 1, length)))), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous~13")), Match.when("ArrowUp", () => __foldkitBrandViewResult((moved(length > 0 && focusAt(items, wrap(Math.max(current, 0) - 1, length)))), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous~14")), Match.when("Home", () => __foldkitBrandViewResult((moved(focusAt(items, 0))), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous~15")), Match.when("End", () => __foldkitBrandViewResult((moved(focusAt(items, length - 1))), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous~16")), Match.when("Escape", () => __foldkitBrandViewResult((reported(events.escape)), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous~17")), Match.when("Tab", () => __foldkitBrandViewResult((reported(events.tab)), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous~18")), Match.when((key) => __foldkitBrandViewResult((key.length === 1 && key !== " "), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous~19"), (key) => __foldkitBrandViewResult((moved(typeahead(items, key))), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous~20")), Match.orElse(() => __foldkitBrandViewResult((Option.none()), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous~21")))), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#handleSlipKey");
143
146
  };
144
- /** Whether focus leaving the slip for `next` closes it: anything but the slip itself and the
145
- * element whose id is `keepId` (the toggle, which closes it on its own click). */
146
147
  const isLeaving = (slip, next, keepId) => __foldkitBrandViewResult((!(next instanceof Node && slip.contains(next)) &&
147
148
  !(next instanceof Element && Option.contains(keepId, next.id))), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#isLeaving");
149
+ const preventMouseDown = (event) => {
150
+ event.preventDefault();
151
+ };
148
152
  /** The slip's keys and focus as a stream of its owner's Messages, set up by `setup` (anchoring,
149
153
  * portaling) and torn down with the element. A press inside the slip keeps focus where it
150
154
  * is, so a click on a row reaches it in every browser. */
@@ -166,25 +170,21 @@ export const slipStream = (element, config) => __foldkitBrandViewResult((Stream.
166
170
  Queue.offerUnsafe(queue, config.events.left);
167
171
  }
168
172
  };
169
- const onMouseDown = (event) => __foldkitBrandViewResult((event.preventDefault()), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#onMouseDown");
170
173
  element.addEventListener("keydown", onKeyDown);
171
174
  element.addEventListener("focusout", onFocusOut);
172
- element.addEventListener("mousedown", onMouseDown);
175
+ element.addEventListener("mousedown", preventMouseDown);
173
176
  return __foldkitBrandViewResult((() => {
174
177
  element.removeEventListener("keydown", onKeyDown);
175
178
  element.removeEventListener("focusout", onFocusOut);
176
- element.removeEventListener("mousedown", onMouseDown);
179
+ element.removeEventListener("mousedown", preventMouseDown);
177
180
  cleanup();
178
181
  }), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous~24");
179
182
  }), (teardown) => __foldkitBrandViewResult((Effect.sync(teardown)), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous~26"));
180
183
  Queue.offerUnsafe(queue, config.placed);
181
184
  return __foldkitBrandViewResult((yield* Effect.never), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous~23");
182
185
  })), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous~22"))), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#slipStream");
183
- // PLACEMENT
184
186
  const GAP = 6;
185
187
  const WINDOW_PADDING = 12;
186
- /** Hangs the slip under its toggle with `@foldkit/ui`'s Anchor (portaled out of clipping
187
- * ancestors, into the dialog when inside one), then focuses the row at `edge`. */
188
188
  export const anchorUnder = (config) => __foldkitBrandViewResult(((element) => __foldkitBrandViewResult((Anchor.anchorSetup(element, {
189
189
  buttonId: config.toggleId,
190
190
  anchor: {
@@ -197,10 +197,10 @@ export const anchorUnder = (config) => __foldkitBrandViewResult(((element) => __
197
197
  focusSelector: edgeSelector(config.edge),
198
198
  })), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anonymous~27")), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#anchorUnder");
199
199
  /** Where a context slip opens, in viewport pixels. */
200
- export const Point = Schema.Struct({ x: Schema.Number, y: Schema.Number });
201
- const clampInto = (start, size, limit) => __foldkitBrandViewResult((start + size > limit - WINDOW_PADDING ? Math.max(WINDOW_PADDING, start - size) : start), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#clampInto");
202
- /** Opens the slip at a point, portaled, kept 12px inside the window (flipping to the other
203
- * side of the point when it would cross the edge), then focuses its first row. */
200
+ export const Point = Schema.Struct({ x: Schema.Finite, y: Schema.Finite });
201
+ const clampInto = (start, size, limit) => __foldkitBrandViewResult((start + size > limit - WINDOW_PADDING
202
+ ? Math.max(WINDOW_PADDING, start - size)
203
+ : start), "@gjermundgaraba-designs/pixel-paper/src/menu/slip.js#clampInto");
204
204
  export const placeAt = (point) => __foldkitBrandViewResult(((element) => {
205
205
  const cleanup = Anchor.portalToContainingRoot(element);
206
206
  if (element instanceof HTMLElement) {
@@ -209,7 +209,7 @@ export const placeAt = (point) => __foldkitBrandViewResult(((element) => {
209
209
  const rect = element.getBoundingClientRect();
210
210
  element.style.left = `${clampInto(point.x, rect.width, window.innerWidth)}px`;
211
211
  element.style.top = `${clampInto(point.y, rect.height, window.innerHeight)}px`;
212
- const maybeFirst = Option.fromNullishOr(element.querySelector(edgeSelector("First")));
212
+ const maybeFirst = htmlElement(edgeSelector("First"), element);
213
213
  if (Option.isSome(maybeFirst)) {
214
214
  maybeFirst.value.focus({ preventScroll: true });
215
215
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/meter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/meter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEjD,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
@@ -50,7 +50,7 @@ export type MeterConfig = Readonly<{
50
50
  }>;
51
51
  /** Configuration for rendering a list of meters with `listView`. */
52
52
  export type ListViewConfig = Readonly<{
53
- meters: ReadonlyArray<MeterConfig>;
53
+ meters: readonly MeterConfig[];
54
54
  }>;
55
55
  /**
56
56
  * A ruled list of meters, edge to edge in a flush panel. Each is a named reading against a
@@ -1 +1 @@
1
- {"version":3,"file":"meter.d.ts","sourceRoot":"","sources":["../../../src/meter/meter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAatD,0DAA0D;AAC1D,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC,CAAC;AASH;0EAC0E;AAC1E,eAAO,MAAM,SAAS,GAAI,OAAO,UAAU,WAAW,KAAK,WAAW,CAAC,OAAO,CAAC,KAAG,IAmBjF,CAAC;AAIF,iCAAiC;AACjC,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,MAAM,CAAC,EAAE,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;yCACqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;uFACmF;IACnF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;mDAE+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;kBAEc;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,IAAI,CAAC,EAAE,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;CACrC,CAAC,CAAC;AA8GH,oEAAoE;AACpE,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;CACpC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,UAAU,cAAc,KAAK,WAAW,CAAC,OAAO,CAAC,KAAG,IAMjF,CAAC"}
1
+ {"version":3,"file":"meter.d.ts","sourceRoot":"","sources":["../../../src/meter/meter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAWtD,0DAA0D;AAC1D,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC,CAAC;AAWH;0EAC0E;AAC1E,eAAO,MAAM,SAAS,GAAI,OAAO,UACvB,WAAW,KAChB,WAAW,CAAC,OAAO,CAAC,KACtB,IAmBF,CAAC;AAEF,iCAAiC;AACjC,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,MAAM,CAAC,EAAE,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;yCACqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;uFACmF;IACnF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;mDAE+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;kBAEc;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,IAAI,CAAC,EAAE,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;CACrC,CAAC,CAAC;AA+HH,oEAAoE;AACpE,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;CAChC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,UACtB,cAAc,KACnB,WAAW,CAAC,OAAO,CAAC,KACtB,IAIA,CAAC"}
@@ -5,7 +5,6 @@ import * as Chip from "../chip/chip.js";
5
5
  import { LOCALE } from "../locale/locale.js";
6
6
  import * as Mark from "../mark/mark.js";
7
7
  import { slotView } from "../slot/slot.js";
8
- // CELLS
9
8
  const METER_CELLS = 20;
10
9
  const HIGH_SHARE = 0.8;
11
10
  const PERCENT = 100;
@@ -24,8 +23,6 @@ export const cellsView = (config, h) => {
24
23
  toView: (groups) => __foldkitBrandViewResult((h.span([...groups.meter, h.Class(isShort ? "cells short" : "cells")], cellRowView(count, on, h))), "@gjermundgaraba-designs/pixel-paper/src/meter/meter.js#toView"),
25
24
  }, h)), "@gjermundgaraba-designs/pixel-paper/src/meter/meter.js#cellsView");
26
25
  };
27
- /** A reading scaled to `whole` (cells, percent), short of `whole` until the value reaches
28
- * `max`: 49,999 of 50,000 rounds to 99%, never to a full meter without its red chip. */
29
26
  const scaled = (share, whole, isFull) => {
30
27
  const rounded = Math.round(share * whole);
31
28
  return __foldkitBrandViewResult((isFull ? rounded : Math.min(whole - 1, rounded)), "@gjermundgaraba-designs/pixel-paper/src/meter/meter.js#scaled");
@@ -41,9 +38,7 @@ const levelOf = (value, max) => {
41
38
  else if (value >= max * HIGH_SHARE) {
42
39
  return __foldkitBrandViewResult(("High"), "@gjermundgaraba-designs/pixel-paper/src/meter/meter.js#levelOf");
43
40
  }
44
- else {
45
- return __foldkitBrandViewResult(("Calm"), "@gjermundgaraba-designs/pixel-paper/src/meter/meter.js#levelOf");
46
- }
41
+ return __foldkitBrandViewResult(("Calm"), "@gjermundgaraba-designs/pixel-paper/src/meter/meter.js#levelOf");
47
42
  };
48
43
  const percentView = (config, percent, level, h) => {
49
44
  const percentText = `${percent}%`;
@@ -53,9 +48,7 @@ const percentView = (config, percent, level, h) => {
53
48
  else if (level === "High") {
54
49
  return __foldkitBrandViewResult((Mark.readingView({ label: percentText }, h)), "@gjermundgaraba-designs/pixel-paper/src/meter/meter.js#percentView");
55
50
  }
56
- else {
57
- return __foldkitBrandViewResult((h.span([h.Class("pct")], [percentText])), "@gjermundgaraba-designs/pixel-paper/src/meter/meter.js#percentView");
58
- }
51
+ return __foldkitBrandViewResult((h.span([h.Class("pct")], [percentText])), "@gjermundgaraba-designs/pixel-paper/src/meter/meter.js#percentView");
59
52
  };
60
53
  const TONE_CLASS = {
61
54
  Full: " toned full",
@@ -77,13 +70,20 @@ const meterView = (config, h) => {
77
70
  valueText: numbers,
78
71
  toView: (groups) => __foldkitBrandViewResult((h.keyed("li")(id, [h.Class(rowClass)], [
79
72
  h.div([h.Class("meter-head")], [
80
- h.span([...groups.label, h.Class("meter-name")], [label, ...(isStale ? [h.span([h.Class("sr-only")], [" (stale)"])] : [])]),
73
+ h.span([...groups.label, h.Class("meter-name")], [
74
+ label,
75
+ ...(isStale
76
+ ? [h.span([h.Class("sr-only")], [" (stale)"])]
77
+ : []),
78
+ ]),
81
79
  ...slotView("span", "meter-detail", detail, h),
82
80
  ]),
83
81
  h.div([h.Class("meter-line")], [
84
82
  h.span([...groups.meter, h.Class("cells")], cellRowView(METER_CELLS, scaled(share, METER_CELLS, isFull), h)),
85
83
  percentView(config, scaled(share, PERCENT, isFull), level, h),
86
- ...(hasNumbers ? [h.span([h.Class("meter-num tnum")], [numbers])] : []),
84
+ ...(hasNumbers
85
+ ? [h.span([h.Class("meter-num tnum")], [numbers])]
86
+ : []),
87
87
  ]),
88
88
  ...slotView("div", "meter-foot", foot, h),
89
89
  ])), "@gjermundgaraba-designs/pixel-paper/src/meter/meter.js#toView~2"),
@@ -96,7 +96,4 @@ const meterView = (config, h) => {
96
96
  * the numbers in English, a foot line. The cells print ink unless the meter `isToned`. The cells are the `meter`, named by the printed label,
97
97
  * with the value, the maximum and the numbers in words for screen readers.
98
98
  */
99
- export const listView = (config, h) => __foldkitBrandViewResult((h.ul(
100
- // NOTE: Safari takes list semantics from a list printed without markers, so the list
101
- // says it is one
102
- [h.Role("list"), h.Class("meters")], Array.map(config.meters, (meter) => __foldkitBrandViewResult((meterView(meter, h)), "@gjermundgaraba-designs/pixel-paper/src/meter/meter.js#anonymous~2")))), "@gjermundgaraba-designs/pixel-paper/src/meter/meter.js#listView");
99
+ export const listView = (config, h) => __foldkitBrandViewResult((h.ul([h.Role("list"), h.Class("meters")], Array.map(config.meters, (meter) => __foldkitBrandViewResult((meterView(meter, h)), "@gjermundgaraba-designs/pixel-paper/src/meter/meter.js#anonymous~2")))), "@gjermundgaraba-designs/pixel-paper/src/meter/meter.js#listView");
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/monogram/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/monogram/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"monogram.d.ts","sourceRoot":"","sources":["../../../src/monogram/monogram.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAsDtD,0DAA0D;AAC1D,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;oDAGgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;yCACqC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC,CAAC;AAEH;wFACwF;AACxF,eAAO,MAAM,IAAI,GAAI,OAAO,UAAU,UAAU,KAAK,WAAW,CAAC,OAAO,CAAC,KAAG,IAmB3E,CAAC"}
1
+ {"version":3,"file":"monogram.d.ts","sourceRoot":"","sources":["../../../src/monogram/monogram.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAqDtD,0DAA0D;AAC1D,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;oDAGgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;yCACqC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC,CAAC;AAEH;wFACwF;AACxF,eAAO,MAAM,IAAI,GAAI,OAAO,UAClB,UAAU,KACf,WAAW,CAAC,OAAO,CAAC,KACtB,IAyBF,CAAC"}
@@ -2,19 +2,14 @@ import { brandViewResult as __foldkitBrandViewResult } from 'foldkit/brand'
2
2
  import { Array, Number, String, pipe } from "effect";
3
3
  import { cellView } from "../glyph/glyph.js";
4
4
  import { artRows, toCells } from "../glyph/glyphs.js";
5
- // LETTERS
6
- const WORD_BREAK = /[\s._-]+/;
5
+ const WORD_BREAK = /[\s._-]+/u;
7
6
  const LETTER_COUNT = 2;
8
- /** The letters a name prints as: the first letter of its first two words, or the first two
9
- * letters of a one-word name. */
10
7
  const initials = (name) => __foldkitBrandViewResult((pipe(name.split(WORD_BREAK), Array.filter(String.isNonEmpty), Array.match({
11
8
  onEmpty: () => __foldkitBrandViewResult((""), "@gjermundgaraba-designs/pixel-paper/src/monogram/monogram.js#onEmpty"),
12
9
  onNonEmpty: (words) => __foldkitBrandViewResult((words.length > 1
13
10
  ? pipe(Array.take(words, LETTER_COUNT), Array.map((word) => __foldkitBrandViewResult((word.slice(0, 1)), "@gjermundgaraba-designs/pixel-paper/src/monogram/monogram.js#anonymous")), Array.join(""))
14
11
  : Array.headNonEmpty(words).slice(0, LETTER_COUNT)), "@gjermundgaraba-designs/pixel-paper/src/monogram/monogram.js#onNonEmpty"),
15
12
  }))), "@gjermundgaraba-designs/pixel-paper/src/monogram/monogram.js#initials");
16
- // DRAWING
17
- /** A drawing prints a pixel per cell, two in a large monogram, so its cells stay whole. */
18
13
  const DRAWN_CELL = 1;
19
14
  const LARGE_DRAWN_CELL = 2;
20
15
  const drawingView = (art, isLarge, h) => {
@@ -34,7 +29,13 @@ const drawingView = (art, isLarge, h) => {
34
29
  export const view = (config, h) => {
35
30
  const { label, letters, drawing, isLarge = false, isCurrent = false, isDecorative = false, } = config;
36
31
  return __foldkitBrandViewResult((h.span([
37
- ...(isDecorative ? [h.AriaHidden(true)] : [h.Role("img"), h.AriaLabel(label)]),
32
+ ...(isDecorative
33
+ ? [h.AriaHidden(true)]
34
+ : [h.Role("img"), h.AriaLabel(label)]),
38
35
  h.Class(`monogram${drawing === undefined ? "" : " drawn"}${isLarge ? " large" : ""}${isCurrent ? " current" : ""}`),
39
- ], [drawing === undefined ? (letters ?? initials(label)) : drawingView(drawing, isLarge, h)])), "@gjermundgaraba-designs/pixel-paper/src/monogram/monogram.js#view");
36
+ ], [
37
+ drawing === undefined
38
+ ? (letters ?? initials(label))
39
+ : drawingView(drawing, isLarge, h),
40
+ ])), "@gjermundgaraba-designs/pixel-paper/src/monogram/monogram.js#view");
40
41
  };
@@ -0,0 +1,3 @@
1
+ export { view } from "./nav-strip.ts";
2
+ export type { NavItem, ViewConfig } from "./nav-strip.ts";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/nav-strip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ export { view } from "./nav-strip.js";
@@ -11,14 +11,11 @@ export type NavItem = Readonly<{
11
11
  export type ViewConfig = Readonly<{
12
12
  /** Names the navigation for screen readers. */
13
13
  label: string;
14
- items: ReadonlyArray<NavItem>;
14
+ items: readonly NavItem[];
15
15
  }>;
16
- /** A segment's count after its label, which NavStrip and Tabs print alike. The space keeps the
17
- * label and the count two words in the segment's name, and is not drawn: the gap is the
18
- * badge's own margin. */
19
- export declare const countView: <Message>(count: number, h: HtmlBuilder<Message>) => ReadonlyArray<Html>;
16
+ export declare const countView: <Message>(count: number, h: HtmlBuilder<Message>) => readonly Html[];
20
17
  /** One ink-bordered strip of link segments, built on `@foldkit/ui`'s Nav: a navigation
21
18
  * landmark named by its label, the current page `aria-current="page"` and printed inverted.
22
19
  * Its links route through the application as every link does. */
23
20
  export declare const view: <Message>(config: ViewConfig, h: HtmlBuilder<Message>) => Html;
24
- //# sourceMappingURL=navStrip.d.ts.map
21
+ //# sourceMappingURL=nav-strip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav-strip.d.ts","sourceRoot":"","sources":["../../../src/nav-strip/nav-strip.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAItD,wCAAwC;AACxC,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC,CAAC;AAEH,2DAA2D;AAC3D,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;CAC3B,CAAC,CAAC;AAEH,eAAO,MAAM,SAAS,GAAI,OAAO,SACxB,MAAM,KACV,WAAW,CAAC,OAAO,CAAC,KACtB,SAAS,IAAI,EAGf,CAAC;AAYF;;kEAEkE;AAClE,eAAO,MAAM,IAAI,GAAI,OAAO,UAClB,UAAU,KACf,WAAW,CAAC,OAAO,CAAC,KACtB,IAoBF,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { brandViewResult as __foldkitBrandViewResult } from 'foldkit/brand'
2
+ import { Nav as UiNav } from "@foldkit/ui";
3
+ import { Array, Option } from "effect";
4
+ import { LOCALE } from "../locale/locale.js";
5
+ export const countView = (count, h) => __foldkitBrandViewResult(([
6
+ h.span([h.Class("sr-only")], [" "]),
7
+ h.span([h.Class("navnum")], [count.toLocaleString(LOCALE)]),
8
+ ]), "@gjermundgaraba-designs/pixel-paper/src/nav-strip/nav-strip.js#countView");
9
+ const linkView = (info, { label, count }, h) => __foldkitBrandViewResult((h.keyed("a")(info.value, info.link, [
10
+ label,
11
+ ...(count === undefined ? [] : countView(count, h)),
12
+ ])), "@gjermundgaraba-designs/pixel-paper/src/nav-strip/nav-strip.js#linkView");
13
+ /** One ink-bordered strip of link segments, built on `@foldkit/ui`'s Nav: a navigation
14
+ * landmark named by its label, the current page `aria-current="page"` and printed inverted.
15
+ * Its links route through the application as every link does. */
16
+ export const view = (config, h) => {
17
+ const { label, items } = config;
18
+ return __foldkitBrandViewResult((UiNav.view({
19
+ items: Array.map(items, ({ href }) => __foldkitBrandViewResult((href), "@gjermundgaraba-designs/pixel-paper/src/nav-strip/nav-strip.js#anonymous")),
20
+ ariaLabel: label,
21
+ toHref: (href) => __foldkitBrandViewResult((href), "@gjermundgaraba-designs/pixel-paper/src/nav-strip/nav-strip.js#toHref"),
22
+ isItemCurrent: (_href, index) => __foldkitBrandViewResult((Option.exists(Array.get(items, index), ({ isCurrent = false }) => __foldkitBrandViewResult((isCurrent), "@gjermundgaraba-designs/pixel-paper/src/nav-strip/nav-strip.js#anonymous~2"))), "@gjermundgaraba-designs/pixel-paper/src/nav-strip/nav-strip.js#isItemCurrent"),
23
+ toView: (render) => __foldkitBrandViewResult((h.nav([...render.nav, h.Class("nav")], Array.zipWith(render.items, items, (info, item) => __foldkitBrandViewResult((linkView(info, item, h)), "@gjermundgaraba-designs/pixel-paper/src/nav-strip/nav-strip.js#anonymous~3")))), "@gjermundgaraba-designs/pixel-paper/src/nav-strip/nav-strip.js#toView"),
24
+ })), "@gjermundgaraba-designs/pixel-paper/src/nav-strip/nav-strip.js#view");
25
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/notice/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/notice/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}