@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.
- package/DESIGN.md +28 -3
- package/dist/src/adapters/diagram.d.ts +38 -0
- package/dist/src/adapters/diagram.d.ts.map +1 -0
- package/dist/src/adapters/diagram.js +206 -0
- package/dist/src/adapters/mermaid.d.ts +2 -20
- package/dist/src/adapters/mermaid.d.ts.map +1 -1
- package/dist/src/adapters/mermaid.js +9 -229
- package/dist/src/announcer/announcer.d.ts +0 -4
- package/dist/src/announcer/announcer.d.ts.map +1 -1
- package/dist/src/announcer/announcer.js +19 -18
- package/dist/src/attributes/attributes.d.ts.map +1 -1
- package/dist/src/{audioFrame/audioFrame.d.ts → audio-frame/audio-frame.d.ts} +1 -1
- package/dist/src/audio-frame/audio-frame.d.ts.map +1 -0
- package/dist/src/{audioFrame/audioFrame.js → audio-frame/audio-frame.js} +1 -1
- package/dist/src/audio-frame/index.d.ts +3 -0
- package/dist/src/audio-frame/index.d.ts.map +1 -0
- package/dist/src/audio-frame/index.js +1 -0
- package/dist/src/banner/banner.d.ts.map +1 -1
- package/dist/src/banner/index.d.ts.map +1 -1
- package/dist/src/{barChart/barChart.d.ts → bar-chart/bar-chart.d.ts} +2 -2
- package/dist/src/bar-chart/bar-chart.d.ts.map +1 -0
- package/dist/src/{barChart/barChart.js → bar-chart/bar-chart.js} +40 -35
- package/dist/src/bar-chart/index.d.ts +3 -0
- package/dist/src/bar-chart/index.d.ts.map +1 -0
- package/dist/src/bar-chart/index.js +1 -0
- package/dist/src/bench/bench.d.ts.map +1 -1
- package/dist/src/bench/index.d.ts.map +1 -1
- package/dist/src/board/board.d.ts +45 -46
- package/dist/src/board/board.d.ts.map +1 -1
- package/dist/src/board/board.js +76 -102
- package/dist/src/board/index.d.ts +1 -1
- package/dist/src/board/index.d.ts.map +1 -1
- package/dist/src/button/button.d.ts +1 -2
- package/dist/src/button/button.d.ts.map +1 -1
- package/dist/src/button/button.js +7 -5
- package/dist/src/button/index.d.ts +1 -1
- package/dist/src/button/index.d.ts.map +1 -1
- package/dist/src/card/card.d.ts.map +1 -1
- package/dist/src/card/card.js +4 -2
- package/dist/src/card/index.d.ts.map +1 -1
- package/dist/src/{chartTable/chartTable.d.ts → chart-table/chart-table.d.ts} +4 -14
- package/dist/src/chart-table/chart-table.d.ts.map +1 -0
- package/dist/src/{chartTable/chartTable.js → chart-table/chart-table.js} +9 -16
- package/dist/src/chip/chip.d.ts.map +1 -1
- package/dist/src/chip/chip.js +4 -2
- package/dist/src/chip/index.d.ts.map +1 -1
- package/dist/src/choice/choice.d.ts.map +1 -1
- package/dist/src/choice/choice.js +3 -1
- package/dist/src/choice/index.d.ts.map +1 -1
- package/dist/src/choices/choices.d.ts.map +1 -1
- package/dist/src/choices/index.d.ts.map +1 -1
- package/dist/src/{codeEditor/codeEditor.d.ts → code-editor/code-editor.d.ts} +1 -1
- package/dist/src/code-editor/code-editor.d.ts.map +1 -0
- package/dist/src/{codeEditor/codeEditor.js → code-editor/code-editor.js} +2 -2
- package/dist/src/code-editor/index.d.ts +3 -0
- package/dist/src/code-editor/index.d.ts.map +1 -0
- package/dist/src/code-editor/index.js +1 -0
- package/dist/src/{codeSurface/codeSurface.d.ts → code-surface/code-surface.d.ts} +1 -1
- package/dist/src/code-surface/code-surface.d.ts.map +1 -0
- package/dist/src/{codeSurface/codeSurface.js → code-surface/code-surface.js} +6 -1
- package/dist/src/code-surface/index.d.ts +3 -0
- package/dist/src/code-surface/index.d.ts.map +1 -0
- package/dist/src/code-surface/index.js +1 -0
- package/dist/src/{commandPalette/commandPalette.d.ts → command-palette/command-palette.d.ts} +85 -77
- package/dist/src/command-palette/command-palette.d.ts.map +1 -0
- package/dist/src/command-palette/command-palette.js +625 -0
- package/dist/src/{commandPalette → command-palette}/index.d.ts +2 -2
- package/dist/src/command-palette/index.d.ts.map +1 -0
- package/dist/src/{commandPalette → command-palette}/index.js +1 -1
- package/dist/src/{commandPalette → command-palette}/keys.d.ts +0 -21
- package/dist/src/command-palette/keys.d.ts.map +1 -0
- package/dist/src/command-palette/keys.js +85 -0
- package/dist/src/{commandPalette → command-palette}/match.d.ts +5 -11
- package/dist/src/command-palette/match.d.ts.map +1 -0
- package/dist/src/{commandPalette → command-palette}/match.js +20 -24
- package/dist/src/{commandPalette → command-palette}/message.d.ts +37 -26
- package/dist/src/command-palette/message.d.ts.map +1 -0
- package/dist/src/{commandPalette → command-palette}/message.js +8 -20
- package/dist/src/{confirmDialog/confirmDialog.d.ts → confirm-dialog/confirm-dialog.d.ts} +1 -1
- package/dist/src/confirm-dialog/confirm-dialog.d.ts.map +1 -0
- package/dist/src/{confirmDialog/confirmDialog.js → confirm-dialog/confirm-dialog.js} +18 -23
- package/dist/src/confirm-dialog/index.d.ts +3 -0
- package/dist/src/confirm-dialog/index.d.ts.map +1 -0
- package/dist/src/{confirmDialog → confirm-dialog}/index.js +1 -1
- package/dist/src/{contextMenu/contextMenu.d.ts → context-menu/context-menu.d.ts} +18 -21
- package/dist/src/context-menu/context-menu.d.ts.map +1 -0
- package/dist/src/{contextMenu/contextMenu.js → context-menu/context-menu.js} +45 -57
- package/dist/src/{contextMenu → context-menu}/index.d.ts +2 -2
- package/dist/src/context-menu/index.d.ts.map +1 -0
- package/dist/src/{contextMenu → context-menu}/index.js +1 -1
- package/dist/src/{copyButton/copyButton.d.ts → copy-button/copy-button.d.ts} +5 -7
- package/dist/src/copy-button/copy-button.d.ts.map +1 -0
- package/dist/src/{copyButton/copyButton.js → copy-button/copy-button.js} +18 -27
- package/dist/src/copy-button/index.d.ts +3 -0
- package/dist/src/copy-button/index.d.ts.map +1 -0
- package/dist/src/copy-button/index.js +1 -0
- package/dist/src/crumbs/crumbs.d.ts +1 -1
- package/dist/src/crumbs/crumbs.d.ts.map +1 -1
- package/dist/src/crumbs/index.d.ts.map +1 -1
- package/dist/src/deck/deck.d.ts.map +1 -1
- package/dist/src/deck/index.d.ts.map +1 -1
- package/dist/src/dialog/dialog.d.ts +6 -14
- package/dist/src/dialog/dialog.d.ts.map +1 -1
- package/dist/src/dialog/dialog.js +29 -36
- package/dist/src/dialog/fold.d.ts +3 -3
- package/dist/src/dialog/fold.d.ts.map +1 -1
- package/dist/src/dialog/fold.js +5 -4
- package/dist/src/dialog/index.d.ts +1 -1
- package/dist/src/dialog/index.d.ts.map +1 -1
- package/dist/src/disclosure/disclosure.d.ts.map +1 -1
- package/dist/src/disclosure/disclosure.js +3 -1
- package/dist/src/disclosure/index.d.ts.map +1 -1
- package/dist/src/dom/html-element.d.ts +3 -0
- package/dist/src/dom/html-element.d.ts.map +1 -0
- package/dist/src/dom/html-element.js +6 -0
- package/dist/src/drag/drag.d.ts +0 -34
- package/dist/src/drag/drag.d.ts.map +1 -1
- package/dist/src/drag/drag.js +27 -73
- package/dist/src/{dropZone/dropZone.d.ts → drop-zone/drop-zone.d.ts} +3 -3
- package/dist/src/drop-zone/drop-zone.d.ts.map +1 -0
- package/dist/src/{dropZone/dropZone.js → drop-zone/drop-zone.js} +13 -19
- package/dist/src/drop-zone/index.d.ts +3 -0
- package/dist/src/drop-zone/index.d.ts.map +1 -0
- package/dist/src/drop-zone/index.js +1 -0
- package/dist/src/{editableTitle/editableTitle.d.ts → editable-title/editable-title.d.ts} +14 -12
- package/dist/src/editable-title/editable-title.d.ts.map +1 -0
- package/dist/src/{editableTitle/editableTitle.js → editable-title/editable-title.js} +33 -39
- package/dist/src/editable-title/index.d.ts +4 -0
- package/dist/src/editable-title/index.d.ts.map +1 -0
- package/dist/src/{editableTitle → editable-title}/index.js +1 -1
- package/dist/src/{emptyState/emptyState.d.ts → empty-state/empty-state.d.ts} +1 -1
- package/dist/src/empty-state/empty-state.d.ts.map +1 -0
- package/dist/src/{emptyState/emptyState.js → empty-state/empty-state.js} +5 -2
- package/dist/src/empty-state/index.d.ts +3 -0
- package/dist/src/empty-state/index.d.ts.map +1 -0
- package/dist/src/empty-state/index.js +1 -0
- package/dist/src/{errorSummary/errorSummary.d.ts → error-summary/error-summary.d.ts} +2 -2
- package/dist/src/error-summary/error-summary.d.ts.map +1 -0
- package/dist/src/{errorSummary/errorSummary.js → error-summary/error-summary.js} +7 -5
- package/dist/src/error-summary/index.d.ts +3 -0
- package/dist/src/error-summary/index.d.ts.map +1 -0
- package/dist/src/error-summary/index.js +1 -0
- package/dist/src/field/field.d.ts +2 -7
- package/dist/src/field/field.d.ts.map +1 -1
- package/dist/src/field/field.js +12 -13
- package/dist/src/field/index.d.ts.map +1 -1
- package/dist/src/{fieldGrid/fieldGrid.d.ts → field-grid/field-grid.d.ts} +1 -1
- package/dist/src/field-grid/field-grid.d.ts.map +1 -0
- package/dist/src/{fieldGrid/fieldGrid.js → field-grid/field-grid.js} +1 -1
- package/dist/src/field-grid/index.d.ts +3 -0
- package/dist/src/field-grid/index.d.ts.map +1 -0
- package/dist/src/field-grid/index.js +1 -0
- package/dist/src/fields/fields.d.ts.map +1 -1
- package/dist/src/fields/fields.js +4 -1
- package/dist/src/fields/index.d.ts.map +1 -1
- package/dist/src/fieldset/fieldset.d.ts.map +1 -1
- package/dist/src/fieldset/index.d.ts.map +1 -1
- package/dist/src/{fileTree/fileTree.d.ts → file-tree/file-tree.d.ts} +5 -5
- package/dist/src/file-tree/file-tree.d.ts.map +1 -0
- package/dist/src/file-tree/file-tree.js +242 -0
- package/dist/src/file-tree/index.d.ts +3 -0
- package/dist/src/file-tree/index.d.ts.map +1 -0
- package/dist/src/{fileTree → file-tree}/index.js +1 -1
- package/dist/src/{filterChip/filterChip.d.ts → filter-chip/filter-chip.d.ts} +1 -1
- package/dist/src/filter-chip/filter-chip.d.ts.map +1 -0
- package/dist/src/{filterChip/filterChip.js → filter-chip/filter-chip.js} +11 -7
- package/dist/src/filter-chip/index.d.ts +3 -0
- package/dist/src/filter-chip/index.d.ts.map +1 -0
- package/dist/src/filter-chip/index.js +1 -0
- package/dist/src/{filterStrip/filterStrip.d.ts → filter-strip/filter-strip.d.ts} +1 -1
- package/dist/src/filter-strip/filter-strip.d.ts.map +1 -0
- package/dist/src/{filterStrip/filterStrip.js → filter-strip/filter-strip.js} +1 -1
- package/dist/src/filter-strip/index.d.ts +3 -0
- package/dist/src/filter-strip/index.d.ts.map +1 -0
- package/dist/src/filter-strip/index.js +1 -0
- package/dist/src/{flashWord/flashWord.d.ts → flash-word/flash-word.d.ts} +2 -2
- package/dist/src/flash-word/flash-word.d.ts.map +1 -0
- package/dist/src/{flashWord/flashWord.js → flash-word/flash-word.js} +2 -3
- package/dist/src/flash-word/index.d.ts +3 -0
- package/dist/src/flash-word/index.d.ts.map +1 -0
- package/dist/src/flash-word/index.js +1 -0
- package/dist/src/focus/focus.d.ts.map +1 -1
- package/dist/src/focus/focus.js +0 -2
- package/dist/src/format/format.d.ts +0 -7
- package/dist/src/format/format.d.ts.map +1 -1
- package/dist/src/format/format.js +7 -16
- package/dist/src/format/index.d.ts.map +1 -1
- package/dist/src/glyph/glyph.d.ts +1 -2
- package/dist/src/glyph/glyph.d.ts.map +1 -1
- package/dist/src/glyph/glyph.js +0 -2
- package/dist/src/glyph/glyphs.d.ts +19 -4
- package/dist/src/glyph/glyphs.d.ts.map +1 -1
- package/dist/src/glyph/glyphs.js +2577 -2594
- package/dist/src/glyph/index.d.ts.map +1 -1
- package/dist/src/group/group.d.ts.map +1 -1
- package/dist/src/group/index.d.ts.map +1 -1
- package/dist/src/history/history.d.ts +1 -1
- package/dist/src/history/history.d.ts.map +1 -1
- package/dist/src/history/history.js +6 -3
- package/dist/src/history/index.d.ts.map +1 -1
- package/dist/src/{iconButton/iconButton.d.ts → icon-button/icon-button.d.ts} +1 -1
- package/dist/src/icon-button/icon-button.d.ts.map +1 -0
- package/dist/src/{iconButton/iconButton.js → icon-button/icon-button.js} +6 -4
- package/dist/src/icon-button/index.d.ts +3 -0
- package/dist/src/icon-button/index.d.ts.map +1 -0
- package/dist/src/icon-button/index.js +1 -0
- package/dist/src/identity/identity.d.ts.map +1 -1
- package/dist/src/identity/index.d.ts.map +1 -1
- package/dist/src/{imageFrame/imageFrame.d.ts → image-frame/image-frame.d.ts} +1 -1
- package/dist/src/image-frame/image-frame.d.ts.map +1 -0
- package/dist/src/{imageFrame/imageFrame.js → image-frame/image-frame.js} +19 -12
- package/dist/src/image-frame/index.d.ts +3 -0
- package/dist/src/image-frame/index.d.ts.map +1 -0
- package/dist/src/image-frame/index.js +1 -0
- package/dist/src/index.d.ts +41 -41
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +41 -41
- package/dist/src/inline-input/index.d.ts +3 -0
- package/dist/src/inline-input/index.d.ts.map +1 -0
- package/dist/src/{inlineInput → inline-input}/index.js +1 -1
- package/dist/src/{inlineInput/inlineInput.d.ts → inline-input/inline-input.d.ts} +8 -12
- package/dist/src/inline-input/inline-input.d.ts.map +1 -0
- package/dist/src/{inlineInput/inlineInput.js → inline-input/inline-input.js} +60 -75
- package/dist/src/key-help/index.d.ts +3 -0
- package/dist/src/key-help/index.d.ts.map +1 -0
- package/dist/src/{keyHelp → key-help}/index.js +1 -1
- package/dist/src/{keyHelp/keyHelp.d.ts → key-help/key-help.d.ts} +7 -7
- package/dist/src/key-help/key-help.d.ts.map +1 -0
- package/dist/src/{keyHelp/keyHelp.js → key-help/key-help.js} +48 -47
- package/dist/src/key-hint/index.d.ts +4 -0
- package/dist/src/key-hint/index.d.ts.map +1 -0
- package/dist/src/key-hint/index.js +2 -0
- package/dist/src/{keyHint/keyHint.d.ts → key-hint/key-hint.d.ts} +2 -2
- package/dist/src/key-hint/key-hint.d.ts.map +1 -0
- package/dist/src/{keyHint/keyHint.js → key-hint/key-hint.js} +2 -2
- package/dist/src/{keyHint/keyLabel.d.ts → key-hint/key-label.d.ts} +2 -3
- package/dist/src/key-hint/key-label.d.ts.map +1 -0
- package/dist/src/{keyHint/keyLabel.js → key-hint/key-label.js} +29 -24
- package/dist/src/keymap/index.d.ts.map +1 -1
- package/dist/src/keymap/keymap.d.ts +2 -2
- package/dist/src/keymap/keymap.d.ts.map +1 -1
- package/dist/src/keymap/keymap.js +3 -1
- package/dist/src/keys/keys.d.ts +0 -2
- package/dist/src/keys/keys.d.ts.map +1 -1
- package/dist/src/keys/keys.js +0 -2
- package/dist/src/line-chart/index.d.ts +3 -0
- package/dist/src/line-chart/index.d.ts.map +1 -0
- package/dist/src/line-chart/index.js +1 -0
- package/dist/src/{lineChart/lineChart.d.ts → line-chart/line-chart.d.ts} +2 -2
- package/dist/src/line-chart/line-chart.d.ts.map +1 -0
- package/dist/src/{lineChart/lineChart.js → line-chart/line-chart.js} +52 -44
- package/dist/src/line-diff/diff.d.ts +29 -0
- package/dist/src/line-diff/diff.d.ts.map +1 -0
- package/dist/src/line-diff/diff.js +85 -0
- package/dist/src/line-diff/index.d.ts +5 -0
- package/dist/src/line-diff/index.d.ts.map +1 -0
- package/dist/src/line-diff/index.js +2 -0
- package/dist/src/{lineDiff/lineDiff.d.ts → line-diff/line-diff.d.ts} +1 -1
- package/dist/src/line-diff/line-diff.d.ts.map +1 -0
- package/dist/src/{lineDiff/lineDiff.js → line-diff/line-diff.js} +26 -19
- package/dist/src/{lineDiff → line-diff}/patch.d.ts +5 -9
- package/dist/src/line-diff/patch.d.ts.map +1 -0
- package/dist/src/{lineDiff → line-diff}/patch.js +54 -62
- package/dist/src/link-button/index.d.ts +3 -0
- package/dist/src/link-button/index.d.ts.map +1 -0
- package/dist/src/link-button/index.js +1 -0
- package/dist/src/{linkButton/linkButton.d.ts → link-button/link-button.d.ts} +2 -2
- package/dist/src/link-button/link-button.d.ts.map +1 -0
- package/dist/src/{linkButton/linkButton.js → link-button/link-button.js} +1 -1
- package/dist/src/link-state/index.d.ts +3 -0
- package/dist/src/link-state/index.d.ts.map +1 -0
- package/dist/src/link-state/index.js +1 -0
- package/dist/src/{linkState/linkState.d.ts → link-state/link-state.d.ts} +1 -1
- package/dist/src/link-state/link-state.d.ts.map +1 -0
- package/dist/src/link-state/link-state.js +24 -0
- package/dist/src/live-region/index.d.ts +3 -0
- package/dist/src/live-region/index.d.ts.map +1 -0
- package/dist/src/live-region/index.js +1 -0
- package/dist/src/{liveRegion/liveRegion.d.ts → live-region/live-region.d.ts} +6 -3
- package/dist/src/live-region/live-region.d.ts.map +1 -0
- package/dist/src/{liveRegion/liveRegion.js → live-region/live-region.js} +7 -5
- package/dist/src/loading/index.d.ts.map +1 -1
- package/dist/src/loading/loading.d.ts.map +1 -1
- package/dist/src/loading/loading.js +5 -1
- package/dist/src/mark/index.d.ts.map +1 -1
- package/dist/src/mark/mark.d.ts +0 -4
- package/dist/src/mark/mark.d.ts.map +1 -1
- package/dist/src/mark/mark.js +6 -3
- package/dist/src/media/index.d.ts.map +1 -1
- package/dist/src/media/media.d.ts +17 -42
- package/dist/src/media/media.d.ts.map +1 -1
- package/dist/src/media/media.js +106 -104
- package/dist/src/menu/index.d.ts.map +1 -1
- package/dist/src/menu/item.d.ts +8 -8
- package/dist/src/menu/item.d.ts.map +1 -1
- package/dist/src/menu/menu.d.ts +2 -5
- package/dist/src/menu/menu.d.ts.map +1 -1
- package/dist/src/menu/menu.js +19 -30
- package/dist/src/menu/slip.d.ts +4 -18
- package/dist/src/menu/slip.d.ts.map +1 -1
- package/dist/src/menu/slip.js +36 -36
- package/dist/src/meter/index.d.ts.map +1 -1
- package/dist/src/meter/meter.d.ts +1 -1
- package/dist/src/meter/meter.d.ts.map +1 -1
- package/dist/src/meter/meter.js +12 -15
- package/dist/src/monogram/index.d.ts.map +1 -1
- package/dist/src/monogram/monogram.d.ts.map +1 -1
- package/dist/src/monogram/monogram.js +9 -8
- package/dist/src/nav-strip/index.d.ts +3 -0
- package/dist/src/nav-strip/index.d.ts.map +1 -0
- package/dist/src/nav-strip/index.js +1 -0
- package/dist/src/{navStrip/navStrip.d.ts → nav-strip/nav-strip.d.ts} +3 -6
- package/dist/src/nav-strip/nav-strip.d.ts.map +1 -0
- package/dist/src/nav-strip/nav-strip.js +25 -0
- package/dist/src/notice/index.d.ts.map +1 -1
- package/dist/src/notice/notice.d.ts +0 -4
- package/dist/src/notice/notice.d.ts.map +1 -1
- package/dist/src/notice/notice.js +1 -4
- package/dist/src/outcome/index.d.ts.map +1 -1
- package/dist/src/outcome/outcome.d.ts.map +1 -1
- package/dist/src/outcome/outcome.js +1 -1
- package/dist/src/page-head/index.d.ts +3 -0
- package/dist/src/page-head/index.d.ts.map +1 -0
- package/dist/src/page-head/index.js +1 -0
- package/dist/src/{pageHead/pageHead.d.ts → page-head/page-head.d.ts} +1 -1
- package/dist/src/page-head/page-head.d.ts.map +1 -0
- package/dist/src/{pageHead/pageHead.js → page-head/page-head.js} +1 -1
- package/dist/src/panel/index.d.ts.map +1 -1
- package/dist/src/panel/panel.d.ts +0 -1
- package/dist/src/panel/panel.d.ts.map +1 -1
- package/dist/src/panel/panel.js +0 -1
- package/dist/src/password-field/index.d.ts +3 -0
- package/dist/src/password-field/index.d.ts.map +1 -0
- package/dist/src/password-field/index.js +1 -0
- package/dist/src/{passwordField/passwordField.d.ts → password-field/password-field.d.ts} +1 -1
- package/dist/src/password-field/password-field.d.ts.map +1 -0
- package/dist/src/{passwordField/passwordField.js → password-field/password-field.js} +4 -5
- package/dist/src/places/index.d.ts.map +1 -1
- package/dist/src/places/places.d.ts +3 -4
- package/dist/src/places/places.d.ts.map +1 -1
- package/dist/src/places/places.js +8 -2
- package/dist/src/props-list/index.d.ts +3 -0
- package/dist/src/props-list/index.d.ts.map +1 -0
- package/dist/src/props-list/index.js +1 -0
- package/dist/src/{propsList/propsList.d.ts → props-list/props-list.d.ts} +2 -2
- package/dist/src/props-list/props-list.d.ts.map +1 -0
- package/dist/src/{propsList/propsList.js → props-list/props-list.js} +2 -2
- package/dist/src/prose/index.d.ts.map +1 -1
- package/dist/src/prose/prose.d.ts.map +1 -1
- package/dist/src/query-chip/index.d.ts +3 -0
- package/dist/src/query-chip/index.d.ts.map +1 -0
- package/dist/src/query-chip/index.js +1 -0
- package/dist/src/{queryChip/queryChip.d.ts → query-chip/query-chip.d.ts} +1 -1
- package/dist/src/query-chip/query-chip.d.ts.map +1 -0
- package/dist/src/{queryChip/queryChip.js → query-chip/query-chip.js} +7 -4
- package/dist/src/{radioChoices → radio-choices}/index.d.ts +2 -2
- package/dist/src/radio-choices/index.d.ts.map +1 -0
- package/dist/src/{radioChoices → radio-choices}/index.js +1 -1
- package/dist/src/{radioChoices/radioChoices.d.ts → radio-choices/radio-choices.d.ts} +3 -3
- package/dist/src/radio-choices/radio-choices.d.ts.map +1 -0
- package/dist/src/{radioChoices/radioChoices.js → radio-choices/radio-choices.js} +25 -24
- package/dist/src/rail/index.d.ts.map +1 -1
- package/dist/src/rail/rail.d.ts +16 -32
- package/dist/src/rail/rail.d.ts.map +1 -1
- package/dist/src/rail/rail.js +97 -65
- package/dist/src/reel/index.d.ts +1 -1
- package/dist/src/reel/index.d.ts.map +1 -1
- package/dist/src/reel/layout.d.ts +12 -54
- package/dist/src/reel/layout.d.ts.map +1 -1
- package/dist/src/reel/layout.js +120 -145
- package/dist/src/reel/reel.d.ts +35 -34
- package/dist/src/reel/reel.d.ts.map +1 -1
- package/dist/src/reel/reel.js +253 -233
- package/dist/src/remote/index.d.ts.map +1 -1
- package/dist/src/remote/remote.d.ts +2 -2
- package/dist/src/remote/remote.d.ts.map +1 -1
- package/dist/src/remote/remote.js +6 -2
- package/dist/src/rows/index.d.ts.map +1 -1
- package/dist/src/rows/rows.d.ts +2 -2
- package/dist/src/rows/rows.d.ts.map +1 -1
- package/dist/src/rows/rows.js +16 -7
- package/dist/src/scheme/index.d.ts +1 -1
- package/dist/src/scheme/index.d.ts.map +1 -1
- package/dist/src/scheme/index.js +1 -1
- package/dist/src/scheme/{schemeSwitch.d.ts → scheme-switch.d.ts} +2 -2
- package/dist/src/scheme/scheme-switch.d.ts.map +1 -0
- package/dist/src/scheme/{schemeSwitch.js → scheme-switch.js} +33 -38
- package/dist/src/scheme/scheme.d.ts +0 -2
- package/dist/src/scheme/scheme.d.ts.map +1 -1
- package/dist/src/scheme/scheme.js +0 -2
- package/dist/src/secret/index.d.ts.map +1 -1
- package/dist/src/secret/secret.d.ts.map +1 -1
- package/dist/src/segmented/index.d.ts.map +1 -1
- package/dist/src/segmented/segmented.d.ts.map +1 -1
- package/dist/src/segmented/segmented.js +14 -3
- package/dist/src/select-all/index.d.ts +3 -0
- package/dist/src/select-all/index.d.ts.map +1 -0
- package/dist/src/select-all/index.js +1 -0
- package/dist/src/{selectAll/selectAll.d.ts → select-all/select-all.d.ts} +1 -1
- package/dist/src/select-all/select-all.d.ts.map +1 -0
- package/dist/src/{selectAll/selectAll.js → select-all/select-all.js} +2 -2
- package/dist/src/select-field/index.d.ts +3 -0
- package/dist/src/select-field/index.d.ts.map +1 -0
- package/dist/src/select-field/index.js +1 -0
- package/dist/src/{selectField/selectField.d.ts → select-field/select-field.d.ts} +2 -2
- package/dist/src/select-field/select-field.d.ts.map +1 -0
- package/dist/src/{selectField/selectField.js → select-field/select-field.js} +10 -7
- package/dist/src/sheet/index.d.ts.map +1 -1
- package/dist/src/sheet/sheet.d.ts.map +1 -1
- package/dist/src/sheet/sheet.js +4 -1
- package/dist/src/skip-link/index.d.ts +2 -0
- package/dist/src/skip-link/index.d.ts.map +1 -0
- package/dist/src/skip-link/index.js +1 -0
- package/dist/src/{skipLink/skipLink.d.ts → skip-link/skip-link.d.ts} +1 -3
- package/dist/src/skip-link/skip-link.d.ts.map +1 -0
- package/dist/src/{skipLink/skipLink.js → skip-link/skip-link.js} +7 -11
- package/dist/src/slot/slot.d.ts +1 -4
- package/dist/src/slot/slot.d.ts.map +1 -1
- package/dist/src/slot/slot.js +3 -3
- package/dist/src/sortable/index.d.ts.map +1 -1
- package/dist/src/sortable/sortable.d.ts +44 -44
- package/dist/src/sortable/sortable.d.ts.map +1 -1
- package/dist/src/sortable/sortable.js +60 -93
- package/dist/src/stack/index.d.ts.map +1 -1
- package/dist/src/stack/stack.d.ts.map +1 -1
- package/dist/src/stack/stack.js +0 -2
- package/dist/src/stage/index.d.ts.map +1 -1
- package/dist/src/stage/stage.d.ts +1 -1
- package/dist/src/stage/stage.d.ts.map +1 -1
- package/dist/src/stage/stage.js +4 -1
- package/dist/src/stat/index.d.ts.map +1 -1
- package/dist/src/stat/stat.d.ts +1 -1
- package/dist/src/stat/stat.d.ts.map +1 -1
- package/dist/src/stat/stat.js +17 -8
- package/dist/src/status-bar/index.d.ts +4 -0
- package/dist/src/status-bar/index.d.ts.map +1 -0
- package/dist/src/status-bar/index.js +2 -0
- package/dist/src/{statusBar/statusBar.d.ts → status-bar/status-bar.d.ts} +4 -4
- package/dist/src/status-bar/status-bar.d.ts.map +1 -0
- package/dist/src/{statusBar/statusBar.js → status-bar/status-bar.js} +5 -6
- package/dist/src/subscription/{prefixKeys.d.ts → prefix-keys.d.ts} +1 -2
- package/dist/src/subscription/prefix-keys.d.ts.map +1 -0
- package/dist/src/subscription/{prefixKeys.js → prefix-keys.js} +2 -5
- package/dist/src/table/index.d.ts.map +1 -1
- package/dist/src/table/table.d.ts +1 -1
- package/dist/src/table/table.d.ts.map +1 -1
- package/dist/src/table/table.js +19 -7
- package/dist/src/tabs/index.d.ts.map +1 -1
- package/dist/src/tabs/tabs.d.ts +4 -4
- package/dist/src/tabs/tabs.d.ts.map +1 -1
- package/dist/src/tabs/tabs.js +1 -6
- package/dist/src/tag/index.d.ts.map +1 -1
- package/dist/src/tag/tag.d.ts.map +1 -1
- package/dist/src/tag/tag.js +4 -1
- package/dist/src/text-button/index.d.ts +3 -0
- package/dist/src/text-button/index.d.ts.map +1 -0
- package/dist/src/text-button/index.js +1 -0
- package/dist/src/{textButton/textButton.d.ts → text-button/text-button.d.ts} +1 -1
- package/dist/src/text-button/text-button.d.ts.map +1 -0
- package/dist/src/{textButton/textButton.js → text-button/text-button.js} +2 -2
- package/dist/src/textarea-field/index.d.ts +3 -0
- package/dist/src/textarea-field/index.d.ts.map +1 -0
- package/dist/src/textarea-field/index.js +1 -0
- package/dist/src/{textareaField/textareaField.d.ts → textarea-field/textarea-field.d.ts} +1 -1
- package/dist/src/textarea-field/textarea-field.d.ts.map +1 -0
- package/dist/src/{textareaField/textareaField.js → textarea-field/textarea-field.js} +2 -2
- package/dist/src/time/index.d.ts.map +1 -1
- package/dist/src/time/time.d.ts.map +1 -1
- package/dist/src/time/time.js +16 -9
- package/dist/src/tips/index.d.ts.map +1 -1
- package/dist/src/tips/tips.d.ts +7 -18
- package/dist/src/tips/tips.d.ts.map +1 -1
- package/dist/src/tips/tips.js +67 -65
- package/dist/src/toast/index.d.ts.map +1 -1
- package/dist/src/toast/stack.d.ts +1 -8
- package/dist/src/toast/stack.d.ts.map +1 -1
- package/dist/src/toast/stack.js +5 -18
- package/dist/src/toast/toast.d.ts +3 -5
- package/dist/src/toast/toast.d.ts.map +1 -1
- package/dist/src/toast/toast.js +42 -39
- package/dist/src/toc/index.d.ts.map +1 -1
- package/dist/src/toc/toc.d.ts +3 -3
- package/dist/src/toc/toc.d.ts.map +1 -1
- package/dist/src/toc/toc.js +10 -7
- package/dist/src/toolbar/index.d.ts.map +1 -1
- package/dist/src/toolbar/toolbar.d.ts +1 -1
- package/dist/src/toolbar/toolbar.d.ts.map +1 -1
- package/dist/src/toolbar/toolbar.js +27 -24
- package/dist/src/{topBar/barHeight.d.ts → top-bar/bar-height.d.ts} +1 -2
- package/dist/src/top-bar/bar-height.d.ts.map +1 -0
- package/dist/src/{topBar/barHeight.js → top-bar/bar-height.js} +20 -13
- package/dist/src/top-bar/index.d.ts +4 -0
- package/dist/src/top-bar/index.d.ts.map +1 -0
- package/dist/src/top-bar/index.js +2 -0
- package/dist/src/{topBar/topBar.d.ts → top-bar/top-bar.d.ts} +3 -3
- package/dist/src/top-bar/top-bar.d.ts.map +1 -0
- package/dist/src/{topBar/topBar.js → top-bar/top-bar.js} +2 -2
- package/dist/src/video-frame/index.d.ts +3 -0
- package/dist/src/video-frame/index.d.ts.map +1 -0
- package/dist/src/video-frame/index.js +1 -0
- package/dist/src/{videoFrame/videoFrame.d.ts → video-frame/video-frame.d.ts} +1 -1
- package/dist/src/video-frame/video-frame.d.ts.map +1 -0
- package/dist/src/{videoFrame/videoFrame.js → video-frame/video-frame.js} +11 -7
- package/dist/src/wall/index.d.ts.map +1 -1
- package/dist/src/wall/wall.d.ts.map +1 -1
- package/dist/src/window/index.d.ts.map +1 -1
- package/dist/src/window/window.d.ts +2 -2
- package/dist/src/window/window.d.ts.map +1 -1
- package/dist/src/window/window.js +4 -2
- package/dist/src/wordmark/index.d.ts.map +1 -1
- package/dist/src/wordmark/wordmark.d.ts.map +1 -1
- package/dist/src/wrap/index.d.ts.map +1 -1
- package/dist/src/wrap/wrap.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/adapters/diagram.ts +278 -0
- package/src/adapters/mermaid.ts +13 -273
- package/src/announcer/announcer.ts +54 -35
- package/src/attributes/attributes.ts +3 -1
- package/src/{audioFrame/audioFrame.ts → audio-frame/audio-frame.ts} +4 -6
- package/src/audio-frame/index.ts +3 -0
- package/src/banner/banner.ts +5 -4
- package/src/banner/index.ts +1 -0
- package/src/{barChart/barChart.ts → bar-chart/bar-chart.ts} +81 -43
- package/src/bar-chart/index.ts +3 -0
- package/src/bench/bench.ts +5 -4
- package/src/bench/index.ts +1 -0
- package/src/board/board.ts +338 -243
- package/src/board/index.ts +8 -1
- package/src/button/button.ts +24 -16
- package/src/button/index.ts +8 -1
- package/src/card/card.ts +23 -21
- package/src/card/index.ts +1 -0
- package/src/chart-table/chart-table.ts +87 -0
- package/src/chip/chip.ts +13 -9
- package/src/chip/index.ts +1 -0
- package/src/choice/choice.ts +13 -7
- package/src/choice/index.ts +1 -0
- package/src/choices/choices.ts +4 -3
- package/src/choices/index.ts +1 -0
- package/src/{codeEditor/codeEditor.ts → code-editor/code-editor.ts} +5 -4
- package/src/code-editor/index.ts +3 -0
- package/src/{codeSurface/codeSurface.ts → code-surface/code-surface.ts} +11 -5
- package/src/code-surface/index.ts +3 -0
- package/src/{commandPalette/commandPalette.ts → command-palette/command-palette.ts} +470 -295
- package/src/{commandPalette → command-palette}/index.ts +12 -2
- package/src/{commandPalette → command-palette}/keys.ts +44 -43
- package/src/{commandPalette → command-palette}/match.ts +42 -30
- package/src/{commandPalette → command-palette}/message.ts +13 -20
- package/src/{confirmDialog/confirmDialog.ts → confirm-dialog/confirm-dialog.ts} +51 -46
- package/src/{confirmDialog → confirm-dialog}/index.ts +3 -2
- package/src/{contextMenu/contextMenu.ts → context-menu/context-menu.ts} +71 -70
- package/src/{contextMenu → context-menu}/index.ts +4 -2
- package/src/{copyButton/copyButton.ts → copy-button/copy-button.ts} +51 -54
- package/src/{copyButton → copy-button}/index.ts +3 -2
- package/src/crumbs/crumbs.ts +7 -6
- package/src/crumbs/index.ts +1 -0
- package/src/deck/deck.ts +4 -3
- package/src/deck/index.ts +1 -0
- package/src/dialog/dialog.ts +135 -113
- package/src/dialog/fold.ts +44 -25
- package/src/dialog/index.ts +9 -1
- package/src/disclosure/disclosure.ts +14 -8
- package/src/disclosure/index.ts +1 -0
- package/src/dom/html-element.ts +10 -0
- package/src/drag/drag.ts +102 -119
- package/src/{dropZone/dropZone.ts → drop-zone/drop-zone.ts} +43 -43
- package/src/drop-zone/index.ts +11 -0
- package/src/{editableTitle/editableTitle.ts → editable-title/editable-title.ts} +29 -32
- package/src/{editableTitle → editable-title}/index.ts +4 -2
- package/src/{emptyState/emptyState.ts → empty-state/empty-state.ts} +9 -5
- package/src/empty-state/index.ts +3 -0
- package/src/{errorSummary/errorSummary.ts → error-summary/error-summary.ts} +16 -7
- package/src/error-summary/index.ts +3 -0
- package/src/field/field.ts +38 -28
- package/src/field/index.ts +1 -0
- package/src/{fieldGrid/fieldGrid.ts → field-grid/field-grid.ts} +4 -3
- package/src/field-grid/index.ts +3 -0
- package/src/fields/fields.ts +9 -5
- package/src/fields/index.ts +1 -0
- package/src/fieldset/fieldset.ts +6 -5
- package/src/fieldset/index.ts +1 -0
- package/src/{fileTree/fileTree.ts → file-tree/file-tree.ts} +241 -166
- package/src/file-tree/index.ts +12 -0
- package/src/{filterChip/filterChip.ts → filter-chip/filter-chip.ts} +32 -13
- package/src/filter-chip/index.ts +3 -0
- package/src/{filterStrip/filterStrip.ts → filter-strip/filter-strip.ts} +4 -3
- package/src/filter-strip/index.ts +3 -0
- package/src/{flashWord/flashWord.ts → flash-word/flash-word.ts} +9 -7
- package/src/flash-word/index.ts +3 -0
- package/src/focus/focus.ts +5 -5
- package/src/format/format.ts +37 -31
- package/src/format/index.ts +1 -0
- package/src/glyph/glyph.ts +7 -6
- package/src/glyph/glyphs.ts +2601 -2611
- package/src/glyph/index.ts +3 -0
- package/src/group/group.ts +4 -3
- package/src/group/index.ts +1 -0
- package/src/history/history.ts +18 -10
- package/src/history/index.ts +1 -0
- package/src/{iconButton/iconButton.ts → icon-button/icon-button.ts} +13 -7
- package/src/icon-button/index.ts +3 -0
- package/src/identity/identity.ts +7 -6
- package/src/identity/index.ts +1 -0
- package/src/{imageFrame/imageFrame.ts → image-frame/image-frame.ts} +43 -25
- package/src/image-frame/index.ts +3 -0
- package/src/index.ts +139 -41
- package/src/{inlineInput → inline-input}/index.ts +3 -2
- package/src/{inlineInput/inlineInput.ts → inline-input/inline-input.ts} +97 -88
- package/src/{keyHelp → key-help}/index.ts +3 -2
- package/src/{keyHelp/keyHelp.ts → key-help/key-help.ts} +74 -62
- package/src/key-hint/index.ts +5 -0
- package/src/{keyHint/keyHint.ts → key-hint/key-hint.ts} +10 -5
- package/src/{keyHint/keyLabel.ts → key-hint/key-label.ts} +43 -22
- package/src/keymap/index.ts +1 -0
- package/src/keymap/keymap.ts +23 -9
- package/src/keys/keys.ts +0 -2
- package/src/line-chart/index.ts +3 -0
- package/src/{lineChart/lineChart.ts → line-chart/line-chart.ts} +71 -49
- package/src/line-diff/diff.ts +196 -0
- package/src/line-diff/index.ts +7 -0
- package/src/{lineDiff/lineDiff.ts → line-diff/line-diff.ts} +45 -23
- package/src/{lineDiff → line-diff}/patch.ts +104 -76
- package/src/link-button/index.ts +3 -0
- package/src/{linkButton/linkButton.ts → link-button/link-button.ts} +7 -5
- package/src/link-state/index.ts +3 -0
- package/src/{linkState/linkState.ts → link-state/link-state.ts} +20 -9
- package/src/live-region/index.ts +3 -0
- package/src/{liveRegion/liveRegion.ts → live-region/live-region.ts} +15 -11
- package/src/loading/index.ts +1 -0
- package/src/loading/loading.ts +10 -5
- package/src/mark/index.ts +1 -0
- package/src/mark/mark.ts +17 -15
- package/src/media/index.ts +1 -0
- package/src/media/media.ts +255 -157
- package/src/menu/index.ts +4 -0
- package/src/menu/item.ts +10 -11
- package/src/menu/menu.ts +110 -97
- package/src/menu/slip.ts +129 -92
- package/src/meter/index.ts +1 -0
- package/src/meter/meter.ts +52 -33
- package/src/monogram/index.ts +1 -0
- package/src/monogram/monogram.ts +27 -19
- package/src/nav-strip/index.ts +3 -0
- package/src/{navStrip/navStrip.ts → nav-strip/nav-strip.ts} +21 -13
- package/src/notice/index.ts +1 -0
- package/src/notice/notice.ts +24 -16
- package/src/outcome/index.ts +1 -0
- package/src/outcome/outcome.ts +14 -6
- package/src/page-head/index.ts +3 -0
- package/src/{pageHead/pageHead.ts → page-head/page-head.ts} +6 -5
- package/src/panel/index.ts +1 -0
- package/src/panel/panel.ts +6 -6
- package/src/password-field/index.ts +3 -0
- package/src/{passwordField/passwordField.ts → password-field/password-field.ts} +13 -13
- package/src/pixel-paper.css +26 -508
- package/src/places/index.ts +1 -0
- package/src/places/places.ts +22 -11
- package/src/props-list/index.ts +3 -0
- package/src/{propsList/propsList.ts → props-list/props-list.ts} +6 -6
- package/src/prose/index.ts +1 -0
- package/src/prose/prose.ts +4 -4
- package/src/query-chip/index.ts +3 -0
- package/src/{queryChip/queryChip.ts → query-chip/query-chip.ts} +18 -7
- package/src/{radioChoices → radio-choices}/index.ts +3 -2
- package/src/{radioChoices/radioChoices.ts → radio-choices/radio-choices.ts} +79 -65
- package/src/rail/index.ts +1 -0
- package/src/rail/rail.ts +291 -225
- package/src/reel/index.ts +8 -1
- package/src/reel/layout.ts +393 -238
- package/src/reel/reel.ts +750 -452
- package/src/remote/index.ts +1 -0
- package/src/remote/remote.ts +18 -11
- package/src/rows/index.ts +1 -0
- package/src/rows/rows.ts +83 -47
- package/src/scheme/index.ts +3 -1
- package/src/scheme/{schemeSwitch.ts → scheme-switch.ts} +24 -35
- package/src/scheme/scheme.ts +4 -4
- package/src/secret/index.ts +1 -0
- package/src/secret/secret.ts +5 -4
- package/src/segmented/index.ts +1 -0
- package/src/segmented/segmented.ts +22 -10
- package/src/select-all/index.ts +3 -0
- package/src/{selectAll/selectAll.ts → select-all/select-all.ts} +9 -8
- package/src/{selectField → select-field}/index.ts +3 -2
- package/src/{selectField/selectField.ts → select-field/select-field.ts} +25 -11
- package/src/sheet/index.ts +1 -0
- package/src/sheet/sheet.ts +9 -5
- package/src/skip-link/index.ts +1 -0
- package/src/{skipLink/skipLink.ts → skip-link/skip-link.ts} +9 -15
- package/src/slot/slot.ts +5 -6
- package/src/sortable/index.ts +1 -0
- package/src/sortable/sortable.ts +287 -206
- package/src/stack/index.ts +1 -0
- package/src/stack/stack.ts +6 -7
- package/src/stage/index.ts +1 -0
- package/src/stage/stage.ts +12 -8
- package/src/stat/index.ts +1 -0
- package/src/stat/stat.ts +39 -20
- package/src/status-bar/index.ts +5 -0
- package/src/{statusBar/statusBar.ts → status-bar/status-bar.ts} +18 -11
- package/src/subscription/{prefixKeys.ts → prefix-keys.ts} +5 -6
- package/src/table/index.ts +1 -0
- package/src/table/table.ts +49 -24
- package/src/tabs/index.ts +1 -0
- package/src/tabs/tabs.ts +58 -60
- package/src/tag/index.ts +1 -0
- package/src/tag/tag.ts +14 -7
- package/src/text-button/index.ts +3 -0
- package/src/{textButton/textButton.ts → text-button/text-button.ts} +7 -5
- package/src/textarea-field/index.ts +3 -0
- package/src/{textareaField/textareaField.ts → textarea-field/textarea-field.ts} +15 -7
- package/src/time/index.ts +1 -0
- package/src/time/time.ts +58 -25
- package/src/tips/index.ts +1 -0
- package/src/tips/tips.ts +183 -127
- package/src/toast/index.ts +3 -0
- package/src/toast/stack.ts +22 -23
- package/src/toast/toast.ts +168 -100
- package/src/toc/index.ts +1 -0
- package/src/toc/toc.ts +42 -27
- package/src/tokens.css +7 -24
- package/src/toolbar/index.ts +1 -0
- package/src/toolbar/toolbar.ts +78 -40
- package/src/{topBar/barHeight.ts → top-bar/bar-height.ts} +26 -12
- package/src/top-bar/index.ts +5 -0
- package/src/{topBar/topBar.ts → top-bar/top-bar.ts} +13 -7
- package/src/video-frame/index.ts +3 -0
- package/src/{videoFrame/videoFrame.ts → video-frame/video-frame.ts} +31 -18
- package/src/wall/index.ts +1 -0
- package/src/wall/wall.ts +13 -10
- package/src/window/index.ts +1 -0
- package/src/window/window.ts +15 -9
- package/src/wordmark/index.ts +1 -0
- package/src/wordmark/wordmark.ts +4 -3
- package/src/wrap/index.ts +1 -0
- package/src/wrap/wrap.ts +4 -3
- package/dist/src/audioFrame/audioFrame.d.ts.map +0 -1
- package/dist/src/audioFrame/index.d.ts +0 -3
- package/dist/src/audioFrame/index.d.ts.map +0 -1
- package/dist/src/audioFrame/index.js +0 -1
- package/dist/src/barChart/barChart.d.ts.map +0 -1
- package/dist/src/barChart/index.d.ts +0 -3
- package/dist/src/barChart/index.d.ts.map +0 -1
- package/dist/src/barChart/index.js +0 -1
- package/dist/src/chartTable/chartTable.d.ts.map +0 -1
- package/dist/src/codeEditor/codeEditor.d.ts.map +0 -1
- package/dist/src/codeEditor/index.d.ts +0 -3
- package/dist/src/codeEditor/index.d.ts.map +0 -1
- package/dist/src/codeEditor/index.js +0 -1
- package/dist/src/codeSurface/codeSurface.d.ts.map +0 -1
- package/dist/src/codeSurface/index.d.ts +0 -3
- package/dist/src/codeSurface/index.d.ts.map +0 -1
- package/dist/src/codeSurface/index.js +0 -1
- package/dist/src/commandPalette/commandPalette.d.ts.map +0 -1
- package/dist/src/commandPalette/commandPalette.js +0 -611
- package/dist/src/commandPalette/index.d.ts.map +0 -1
- package/dist/src/commandPalette/keys.d.ts.map +0 -1
- package/dist/src/commandPalette/keys.js +0 -102
- package/dist/src/commandPalette/match.d.ts.map +0 -1
- package/dist/src/commandPalette/message.d.ts.map +0 -1
- package/dist/src/confirmDialog/confirmDialog.d.ts.map +0 -1
- package/dist/src/confirmDialog/index.d.ts +0 -3
- package/dist/src/confirmDialog/index.d.ts.map +0 -1
- package/dist/src/contextMenu/contextMenu.d.ts.map +0 -1
- package/dist/src/contextMenu/index.d.ts.map +0 -1
- package/dist/src/copyButton/copyButton.d.ts.map +0 -1
- package/dist/src/copyButton/index.d.ts +0 -3
- package/dist/src/copyButton/index.d.ts.map +0 -1
- package/dist/src/copyButton/index.js +0 -1
- package/dist/src/dropZone/dropZone.d.ts.map +0 -1
- package/dist/src/dropZone/index.d.ts +0 -3
- package/dist/src/dropZone/index.d.ts.map +0 -1
- package/dist/src/dropZone/index.js +0 -1
- package/dist/src/editableTitle/editableTitle.d.ts.map +0 -1
- package/dist/src/editableTitle/index.d.ts +0 -4
- package/dist/src/editableTitle/index.d.ts.map +0 -1
- package/dist/src/emptyState/emptyState.d.ts.map +0 -1
- package/dist/src/emptyState/index.d.ts +0 -3
- package/dist/src/emptyState/index.d.ts.map +0 -1
- package/dist/src/emptyState/index.js +0 -1
- package/dist/src/errorSummary/errorSummary.d.ts.map +0 -1
- package/dist/src/errorSummary/index.d.ts +0 -3
- package/dist/src/errorSummary/index.d.ts.map +0 -1
- package/dist/src/errorSummary/index.js +0 -1
- package/dist/src/fieldGrid/fieldGrid.d.ts.map +0 -1
- package/dist/src/fieldGrid/index.d.ts +0 -3
- package/dist/src/fieldGrid/index.d.ts.map +0 -1
- package/dist/src/fieldGrid/index.js +0 -1
- package/dist/src/fileTree/fileTree.d.ts.map +0 -1
- package/dist/src/fileTree/fileTree.js +0 -230
- package/dist/src/fileTree/index.d.ts +0 -3
- package/dist/src/fileTree/index.d.ts.map +0 -1
- package/dist/src/filterChip/filterChip.d.ts.map +0 -1
- package/dist/src/filterChip/index.d.ts +0 -3
- package/dist/src/filterChip/index.d.ts.map +0 -1
- package/dist/src/filterChip/index.js +0 -1
- package/dist/src/filterStrip/filterStrip.d.ts.map +0 -1
- package/dist/src/filterStrip/index.d.ts +0 -3
- package/dist/src/filterStrip/index.d.ts.map +0 -1
- package/dist/src/filterStrip/index.js +0 -1
- package/dist/src/flashWord/flashWord.d.ts.map +0 -1
- package/dist/src/flashWord/index.d.ts +0 -3
- package/dist/src/flashWord/index.d.ts.map +0 -1
- package/dist/src/flashWord/index.js +0 -1
- package/dist/src/iconButton/iconButton.d.ts.map +0 -1
- package/dist/src/iconButton/index.d.ts +0 -3
- package/dist/src/iconButton/index.d.ts.map +0 -1
- package/dist/src/iconButton/index.js +0 -1
- package/dist/src/imageFrame/imageFrame.d.ts.map +0 -1
- package/dist/src/imageFrame/index.d.ts +0 -3
- package/dist/src/imageFrame/index.d.ts.map +0 -1
- package/dist/src/imageFrame/index.js +0 -1
- package/dist/src/inlineInput/index.d.ts +0 -3
- package/dist/src/inlineInput/index.d.ts.map +0 -1
- package/dist/src/inlineInput/inlineInput.d.ts.map +0 -1
- package/dist/src/keyHelp/index.d.ts +0 -3
- package/dist/src/keyHelp/index.d.ts.map +0 -1
- package/dist/src/keyHelp/keyHelp.d.ts.map +0 -1
- package/dist/src/keyHint/index.d.ts +0 -4
- package/dist/src/keyHint/index.d.ts.map +0 -1
- package/dist/src/keyHint/index.js +0 -2
- package/dist/src/keyHint/keyHint.d.ts.map +0 -1
- package/dist/src/keyHint/keyLabel.d.ts.map +0 -1
- package/dist/src/lineChart/index.d.ts +0 -3
- package/dist/src/lineChart/index.d.ts.map +0 -1
- package/dist/src/lineChart/index.js +0 -1
- package/dist/src/lineChart/lineChart.d.ts.map +0 -1
- package/dist/src/lineDiff/diff.d.ts +0 -41
- package/dist/src/lineDiff/diff.d.ts.map +0 -1
- package/dist/src/lineDiff/diff.js +0 -92
- package/dist/src/lineDiff/index.d.ts +0 -5
- package/dist/src/lineDiff/index.d.ts.map +0 -1
- package/dist/src/lineDiff/index.js +0 -2
- package/dist/src/lineDiff/lineDiff.d.ts.map +0 -1
- package/dist/src/lineDiff/patch.d.ts.map +0 -1
- package/dist/src/linkButton/index.d.ts +0 -3
- package/dist/src/linkButton/index.d.ts.map +0 -1
- package/dist/src/linkButton/index.js +0 -1
- package/dist/src/linkButton/linkButton.d.ts.map +0 -1
- package/dist/src/linkState/index.d.ts +0 -3
- package/dist/src/linkState/index.d.ts.map +0 -1
- package/dist/src/linkState/index.js +0 -1
- package/dist/src/linkState/linkState.d.ts.map +0 -1
- package/dist/src/linkState/linkState.js +0 -14
- package/dist/src/liveRegion/index.d.ts +0 -3
- package/dist/src/liveRegion/index.d.ts.map +0 -1
- package/dist/src/liveRegion/index.js +0 -1
- package/dist/src/liveRegion/liveRegion.d.ts.map +0 -1
- package/dist/src/navStrip/index.d.ts +0 -3
- package/dist/src/navStrip/index.d.ts.map +0 -1
- package/dist/src/navStrip/index.js +0 -1
- package/dist/src/navStrip/navStrip.d.ts.map +0 -1
- package/dist/src/navStrip/navStrip.js +0 -27
- package/dist/src/pageHead/index.d.ts +0 -3
- package/dist/src/pageHead/index.d.ts.map +0 -1
- package/dist/src/pageHead/index.js +0 -1
- package/dist/src/pageHead/pageHead.d.ts.map +0 -1
- package/dist/src/passwordField/index.d.ts +0 -3
- package/dist/src/passwordField/index.d.ts.map +0 -1
- package/dist/src/passwordField/index.js +0 -1
- package/dist/src/passwordField/passwordField.d.ts.map +0 -1
- package/dist/src/propsList/index.d.ts +0 -3
- package/dist/src/propsList/index.d.ts.map +0 -1
- package/dist/src/propsList/index.js +0 -1
- package/dist/src/propsList/propsList.d.ts.map +0 -1
- package/dist/src/queryChip/index.d.ts +0 -3
- package/dist/src/queryChip/index.d.ts.map +0 -1
- package/dist/src/queryChip/index.js +0 -1
- package/dist/src/queryChip/queryChip.d.ts.map +0 -1
- package/dist/src/radioChoices/index.d.ts.map +0 -1
- package/dist/src/radioChoices/radioChoices.d.ts.map +0 -1
- package/dist/src/scheme/schemeSwitch.d.ts.map +0 -1
- package/dist/src/selectAll/index.d.ts +0 -3
- package/dist/src/selectAll/index.d.ts.map +0 -1
- package/dist/src/selectAll/index.js +0 -1
- package/dist/src/selectAll/selectAll.d.ts.map +0 -1
- package/dist/src/selectField/index.d.ts +0 -3
- package/dist/src/selectField/index.d.ts.map +0 -1
- package/dist/src/selectField/index.js +0 -1
- package/dist/src/selectField/selectField.d.ts.map +0 -1
- package/dist/src/skipLink/index.d.ts +0 -2
- package/dist/src/skipLink/index.d.ts.map +0 -1
- package/dist/src/skipLink/index.js +0 -1
- package/dist/src/skipLink/skipLink.d.ts.map +0 -1
- package/dist/src/statusBar/index.d.ts +0 -4
- package/dist/src/statusBar/index.d.ts.map +0 -1
- package/dist/src/statusBar/index.js +0 -2
- package/dist/src/statusBar/statusBar.d.ts.map +0 -1
- package/dist/src/subscription/prefixKeys.d.ts.map +0 -1
- package/dist/src/textButton/index.d.ts +0 -3
- package/dist/src/textButton/index.d.ts.map +0 -1
- package/dist/src/textButton/index.js +0 -1
- package/dist/src/textButton/textButton.d.ts.map +0 -1
- package/dist/src/textareaField/index.d.ts +0 -3
- package/dist/src/textareaField/index.d.ts.map +0 -1
- package/dist/src/textareaField/index.js +0 -1
- package/dist/src/textareaField/textareaField.d.ts.map +0 -1
- package/dist/src/topBar/barHeight.d.ts.map +0 -1
- package/dist/src/topBar/index.d.ts +0 -4
- package/dist/src/topBar/index.d.ts.map +0 -1
- package/dist/src/topBar/index.js +0 -2
- package/dist/src/topBar/topBar.d.ts.map +0 -1
- package/dist/src/videoFrame/index.d.ts +0 -3
- package/dist/src/videoFrame/index.d.ts.map +0 -1
- package/dist/src/videoFrame/index.js +0 -1
- package/dist/src/videoFrame/videoFrame.d.ts.map +0 -1
- package/src/audioFrame/index.ts +0 -2
- package/src/barChart/index.ts +0 -2
- package/src/chartTable/chartTable.ts +0 -88
- package/src/codeEditor/index.ts +0 -2
- package/src/codeSurface/index.ts +0 -2
- package/src/dropZone/index.ts +0 -2
- package/src/emptyState/index.ts +0 -2
- package/src/errorSummary/index.ts +0 -2
- package/src/fieldGrid/index.ts +0 -2
- package/src/fileTree/index.ts +0 -2
- package/src/filterChip/index.ts +0 -2
- package/src/filterStrip/index.ts +0 -2
- package/src/flashWord/index.ts +0 -2
- package/src/iconButton/index.ts +0 -2
- package/src/imageFrame/index.ts +0 -2
- package/src/keyHint/index.ts +0 -3
- package/src/lineChart/index.ts +0 -2
- package/src/lineDiff/diff.ts +0 -182
- package/src/lineDiff/index.ts +0 -4
- package/src/linkButton/index.ts +0 -2
- package/src/linkState/index.ts +0 -2
- package/src/liveRegion/index.ts +0 -2
- package/src/navStrip/index.ts +0 -2
- package/src/pageHead/index.ts +0 -2
- package/src/passwordField/index.ts +0 -2
- package/src/propsList/index.ts +0 -2
- package/src/queryChip/index.ts +0 -2
- package/src/selectAll/index.ts +0 -2
- package/src/skipLink/index.ts +0 -1
- package/src/statusBar/index.ts +0 -3
- package/src/textButton/index.ts +0 -2
- package/src/textareaField/index.ts +0 -2
- package/src/topBar/index.ts +0 -3
- package/src/videoFrame/index.ts +0 -2
package/src/menu/slip.ts
CHANGED
|
@@ -1,24 +1,29 @@
|
|
|
1
1
|
import { Anchor, Button as UiButton } from "@foldkit/ui";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
Array,
|
|
4
|
+
Effect,
|
|
5
|
+
Match,
|
|
6
|
+
Option,
|
|
7
|
+
Queue,
|
|
8
|
+
Schema,
|
|
9
|
+
Stream,
|
|
10
|
+
String,
|
|
11
|
+
pipe,
|
|
12
|
+
} from "effect";
|
|
3
13
|
import type { Html, HtmlBuilder } from "foldkit/html";
|
|
4
14
|
|
|
5
15
|
import type { Attributes } from "../attributes/attributes.ts";
|
|
6
16
|
import type { KeyHintConfig } from "../button/button.ts";
|
|
17
|
+
import { htmlElement } from "../dom/html-element.ts";
|
|
7
18
|
import * as Glyph from "../glyph/glyph.ts";
|
|
8
19
|
import type { GlyphName } from "../glyph/glyphs.ts";
|
|
9
|
-
import * as KeyHint from "../
|
|
20
|
+
import * as KeyHint from "../key-hint/key-hint.ts";
|
|
10
21
|
import { isPlain } from "../keys/keys.ts";
|
|
11
22
|
import { Item } from "./item.ts";
|
|
12
23
|
import type { Entry } from "./item.ts";
|
|
13
24
|
|
|
14
|
-
// NOTE: the slip shared by Menu and ContextMenu: its rows, and the keys and focus rules of
|
|
15
|
-
// the ARIA menu pattern. Each owner defines its own Mount over these helpers, so the
|
|
16
|
-
// Messages are its own.
|
|
17
|
-
|
|
18
|
-
// CHOICE
|
|
19
|
-
|
|
20
|
-
/** What kind of row was chosen: a check keeps the slip open, the others close it. */
|
|
21
25
|
export const ChoiceKind = Schema.Literals(["Action", "Radio", "Check", "Link"]);
|
|
26
|
+
|
|
22
27
|
export type ChoiceKind = typeof ChoiceKind.Type;
|
|
23
28
|
|
|
24
29
|
const ITEM_SELECTOR = '[role^="menuitem"]';
|
|
@@ -27,24 +32,22 @@ const LAST_ATTRIBUTE = "data-pixel-paper-slip-last";
|
|
|
27
32
|
|
|
28
33
|
/** Where focus lands as the slip opens: its first row, or (↑ on the toggle) its last. */
|
|
29
34
|
export const Edge = Schema.Literals(["First", "Last"]);
|
|
35
|
+
|
|
30
36
|
export type Edge = typeof Edge.Type;
|
|
31
37
|
|
|
32
|
-
/** The selector of the row focus lands on as the slip opens. */
|
|
33
38
|
export const edgeSelector = (edge: Edge): string =>
|
|
34
39
|
edge === "First" ? `[${FIRST_ATTRIBUTE}]` : `[${LAST_ATTRIBUTE}]`;
|
|
35
40
|
|
|
36
|
-
// ROWS
|
|
37
|
-
|
|
38
41
|
type Choosable = Exclude<Entry, Readonly<{ _tag: "Note" }>>;
|
|
39
42
|
|
|
40
43
|
const isGroup = Item.$is("Group");
|
|
41
44
|
|
|
42
45
|
const isNote = Item.$is("Note");
|
|
43
46
|
|
|
44
|
-
const entriesOf = (items:
|
|
47
|
+
const entriesOf = (items: readonly Item[]): readonly Entry[] =>
|
|
45
48
|
Array.flatMap(items, (item) => (isGroup(item) ? item.items : [item]));
|
|
46
49
|
|
|
47
|
-
const choosableIds = (items:
|
|
50
|
+
const choosableIds = (items: readonly Item[]): readonly string[] =>
|
|
48
51
|
Array.flatMap(entriesOf(items), (entry) => (isNote(entry) ? [] : [entry.id]));
|
|
49
52
|
|
|
50
53
|
type RowContext<Message> = Readonly<{
|
|
@@ -56,10 +59,14 @@ type RowContext<Message> = Readonly<{
|
|
|
56
59
|
const edgeAttributes = <Message>(
|
|
57
60
|
context: RowContext<Message>,
|
|
58
61
|
id: string,
|
|
59
|
-
h: HtmlBuilder<Message
|
|
62
|
+
h: HtmlBuilder<Message>
|
|
60
63
|
) => [
|
|
61
|
-
...(Option.contains(context.firstId, id)
|
|
62
|
-
|
|
64
|
+
...(Option.contains(context.firstId, id)
|
|
65
|
+
? [h.Attribute(FIRST_ATTRIBUTE, "")]
|
|
66
|
+
: []),
|
|
67
|
+
...(Option.contains(context.lastId, id)
|
|
68
|
+
? [h.Attribute(LAST_ATTRIBUTE, "")]
|
|
69
|
+
: []),
|
|
63
70
|
];
|
|
64
71
|
|
|
65
72
|
const wordsView = <Message>(
|
|
@@ -68,25 +75,25 @@ const wordsView = <Message>(
|
|
|
68
75
|
glyph?: GlyphName;
|
|
69
76
|
keyHint?: KeyHintConfig;
|
|
70
77
|
}>,
|
|
71
|
-
h: HtmlBuilder<Message
|
|
72
|
-
):
|
|
78
|
+
h: HtmlBuilder<Message>
|
|
79
|
+
): readonly Html[] => [
|
|
73
80
|
...(entry.glyph === undefined ? [] : [Glyph.view({ name: entry.glyph }, h)]),
|
|
74
81
|
h.span([h.Class("menu-label")], [entry.label]),
|
|
75
82
|
...(entry.keyHint === undefined ? [] : [KeyHint.view(entry.keyHint, h)]),
|
|
76
83
|
];
|
|
77
84
|
|
|
78
|
-
// a row that is a button: an action, a radio item or a check item
|
|
79
85
|
const buttonRowView = <Message>(
|
|
80
86
|
config: Readonly<{
|
|
81
87
|
entry: Exclude<Choosable, Readonly<{ _tag: "Link" }>>;
|
|
82
88
|
isDisabled: boolean;
|
|
83
89
|
attributes: Attributes<Message>;
|
|
84
|
-
children:
|
|
90
|
+
children: readonly Html[];
|
|
85
91
|
}>,
|
|
86
92
|
context: RowContext<Message>,
|
|
87
|
-
h: HtmlBuilder<Message
|
|
93
|
+
h: HtmlBuilder<Message>
|
|
88
94
|
): Html => {
|
|
89
95
|
const { entry, isDisabled, attributes, children } = config;
|
|
96
|
+
|
|
90
97
|
return UiButton.view(
|
|
91
98
|
{
|
|
92
99
|
onClick: context.toChoose(entry.id, entry._tag),
|
|
@@ -100,17 +107,17 @@ const buttonRowView = <Message>(
|
|
|
100
107
|
h.Tabindex(-1),
|
|
101
108
|
...edgeAttributes(context, entry.id, h),
|
|
102
109
|
],
|
|
103
|
-
children
|
|
110
|
+
children
|
|
104
111
|
),
|
|
105
112
|
},
|
|
106
|
-
h
|
|
113
|
+
h
|
|
107
114
|
);
|
|
108
115
|
};
|
|
109
116
|
|
|
110
117
|
const choosableView = <Message>(
|
|
111
118
|
entry: Choosable,
|
|
112
119
|
context: RowContext<Message>,
|
|
113
|
-
h: HtmlBuilder<Message
|
|
120
|
+
h: HtmlBuilder<Message>
|
|
114
121
|
): Html =>
|
|
115
122
|
Match.value(entry).pipe(
|
|
116
123
|
Match.withReturnType<Html>(),
|
|
@@ -123,8 +130,8 @@ const choosableView = <Message>(
|
|
|
123
130
|
children: wordsView(action, h),
|
|
124
131
|
},
|
|
125
132
|
context,
|
|
126
|
-
h
|
|
127
|
-
)
|
|
133
|
+
h
|
|
134
|
+
)
|
|
128
135
|
),
|
|
129
136
|
Match.tag("Radio", (radio) =>
|
|
130
137
|
buttonRowView(
|
|
@@ -135,23 +142,26 @@ const choosableView = <Message>(
|
|
|
135
142
|
children: wordsView(radio, h),
|
|
136
143
|
},
|
|
137
144
|
context,
|
|
138
|
-
h
|
|
139
|
-
)
|
|
145
|
+
h
|
|
146
|
+
)
|
|
140
147
|
),
|
|
141
148
|
Match.tag("Check", (check) =>
|
|
142
149
|
buttonRowView(
|
|
143
150
|
{
|
|
144
151
|
entry: check,
|
|
145
152
|
isDisabled: false,
|
|
146
|
-
attributes: [
|
|
153
|
+
attributes: [
|
|
154
|
+
h.Role("menuitemcheckbox"),
|
|
155
|
+
h.AriaChecked(check.isChecked),
|
|
156
|
+
],
|
|
147
157
|
children: [
|
|
148
158
|
h.span([h.Class("menu-check"), h.AriaHidden(true)]),
|
|
149
159
|
h.span([h.Class("menu-label")], [check.label]),
|
|
150
160
|
],
|
|
151
161
|
},
|
|
152
162
|
context,
|
|
153
|
-
h
|
|
154
|
-
)
|
|
163
|
+
h
|
|
164
|
+
)
|
|
155
165
|
),
|
|
156
166
|
Match.tag("Link", (link) =>
|
|
157
167
|
h.keyed("a")(
|
|
@@ -164,32 +174,31 @@ const choosableView = <Message>(
|
|
|
164
174
|
h.OnClick(context.toChoose(link.id, link._tag)),
|
|
165
175
|
...edgeAttributes(context, link.id, h),
|
|
166
176
|
],
|
|
167
|
-
wordsView(link, h)
|
|
168
|
-
)
|
|
177
|
+
wordsView(link, h)
|
|
178
|
+
)
|
|
169
179
|
),
|
|
170
|
-
Match.exhaustive
|
|
180
|
+
Match.exhaustive
|
|
171
181
|
);
|
|
172
182
|
|
|
173
183
|
const entryView = <Message>(
|
|
174
184
|
entry: Entry,
|
|
175
185
|
context: RowContext<Message>,
|
|
176
|
-
h: HtmlBuilder<Message
|
|
186
|
+
h: HtmlBuilder<Message>
|
|
177
187
|
): Html =>
|
|
178
188
|
isNote(entry)
|
|
179
189
|
? h.span([h.Class("menu-note"), h.Role("none")], [entry.text])
|
|
180
190
|
: choosableView(entry, context, h);
|
|
181
191
|
|
|
182
|
-
/** The slip's rows: items, groups under their headings, and notes. `slipId` names the group
|
|
183
|
-
* headings' ids; `toChoose` is the Message a row's click sends. */
|
|
184
192
|
export const rowsView = <Message>(
|
|
185
193
|
config: Readonly<{
|
|
186
194
|
slipId: string;
|
|
187
|
-
items:
|
|
195
|
+
items: readonly Item[];
|
|
188
196
|
toChoose: (id: string, kind: ChoiceKind) => Message;
|
|
189
197
|
}>,
|
|
190
|
-
h: HtmlBuilder<Message
|
|
191
|
-
):
|
|
198
|
+
h: HtmlBuilder<Message>
|
|
199
|
+
): readonly Html[] => {
|
|
192
200
|
const ids = choosableIds(config.items);
|
|
201
|
+
|
|
193
202
|
const context: RowContext<Message> = {
|
|
194
203
|
firstId: Array.head(ids),
|
|
195
204
|
lastId: Array.last(ids),
|
|
@@ -200,106 +209,124 @@ export const rowsView = <Message>(
|
|
|
200
209
|
if (!isGroup(item)) {
|
|
201
210
|
return entryView(item, context, h);
|
|
202
211
|
}
|
|
212
|
+
|
|
203
213
|
const headingId = `${config.slipId}-group-${index}`;
|
|
214
|
+
|
|
204
215
|
return h.keyed("div")(
|
|
205
216
|
`group:${item.label}`,
|
|
206
217
|
[h.Role("group"), h.AriaLabelledBy(headingId)],
|
|
207
218
|
[
|
|
208
|
-
h.span(
|
|
219
|
+
h.span(
|
|
220
|
+
[h.Id(headingId), h.Class("menu-note"), h.Role("none")],
|
|
221
|
+
[item.label]
|
|
222
|
+
),
|
|
209
223
|
...Array.map(item.items, (entry) => entryView(entry, context, h)),
|
|
210
|
-
]
|
|
224
|
+
]
|
|
211
225
|
);
|
|
212
226
|
});
|
|
213
227
|
};
|
|
214
228
|
|
|
215
|
-
// KEYS
|
|
216
|
-
|
|
217
|
-
/** The Messages a slip's keys and focus report to its owner. */
|
|
218
229
|
type SlipEvents<Message> = Readonly<{
|
|
219
|
-
/** Escape: close and put focus back. Its default is prevented, so a Dialog the slip sits
|
|
220
|
-
* in stays open. */
|
|
221
230
|
escape: Message;
|
|
222
|
-
/** Tab: close and put focus back where the slip came from. */
|
|
223
231
|
tab: Message;
|
|
224
|
-
/** Focus went somewhere outside the slip (a click elsewhere): close and leave it there. */
|
|
225
232
|
left: Message;
|
|
226
233
|
}>;
|
|
227
234
|
|
|
228
|
-
const itemsOf = (slip: Element):
|
|
235
|
+
const itemsOf = (slip: Element): readonly HTMLElement[] =>
|
|
229
236
|
Array.fromIterable(slip.querySelectorAll<HTMLElement>(ITEM_SELECTOR));
|
|
230
237
|
|
|
231
|
-
const focusedIndex = (items:
|
|
238
|
+
const focusedIndex = (items: readonly HTMLElement[]): Option.Option<number> =>
|
|
232
239
|
Array.findFirstIndex(items, (item) => item === document.activeElement);
|
|
233
240
|
|
|
234
|
-
const focusAt = (items:
|
|
241
|
+
const focusAt = (items: readonly HTMLElement[], index: number): boolean =>
|
|
235
242
|
Option.match(Array.get(items, index), {
|
|
236
243
|
onNone: () => false,
|
|
237
244
|
onSome: (item) => {
|
|
238
245
|
item.focus();
|
|
246
|
+
|
|
239
247
|
return true;
|
|
240
248
|
},
|
|
241
249
|
});
|
|
242
250
|
|
|
243
|
-
const wrap = (index: number, length: number): number =>
|
|
251
|
+
const wrap = (index: number, length: number): number =>
|
|
252
|
+
(index + length) % length;
|
|
244
253
|
|
|
245
254
|
const startsWith = (item: HTMLElement, key: string): boolean =>
|
|
246
255
|
pipe(
|
|
247
256
|
item.textContent ?? "",
|
|
248
257
|
String.trim,
|
|
249
258
|
String.toLowerCase,
|
|
250
|
-
String.startsWith(String.toLowerCase(key))
|
|
259
|
+
String.startsWith(String.toLowerCase(key))
|
|
251
260
|
);
|
|
252
261
|
|
|
253
|
-
const typeahead = (items:
|
|
262
|
+
const typeahead = (items: readonly HTMLElement[], key: string): boolean => {
|
|
254
263
|
const from = Option.getOrElse(focusedIndex(items), () => -1);
|
|
255
|
-
|
|
264
|
+
|
|
265
|
+
const ordered = [
|
|
266
|
+
...Array.drop(items, from + 1),
|
|
267
|
+
...Array.take(items, from + 1),
|
|
268
|
+
];
|
|
269
|
+
|
|
256
270
|
return Option.match(
|
|
257
271
|
Array.findFirst(ordered, (item) => startsWith(item, key)),
|
|
258
272
|
{
|
|
259
273
|
onNone: () => false,
|
|
260
274
|
onSome: (item) => {
|
|
261
275
|
item.focus();
|
|
276
|
+
|
|
262
277
|
return true;
|
|
263
278
|
},
|
|
264
|
-
}
|
|
279
|
+
}
|
|
265
280
|
);
|
|
266
281
|
};
|
|
267
282
|
|
|
268
|
-
// Shift+Tab leaves the slip backwards as Tab leaves it forwards, so Tab alone takes Shift.
|
|
269
283
|
const isShiftTab = (event: KeyboardEvent): boolean =>
|
|
270
|
-
event.key === "Tab" &&
|
|
284
|
+
event.key === "Tab" &&
|
|
285
|
+
event.shiftKey &&
|
|
286
|
+
!event.altKey &&
|
|
287
|
+
!event.ctrlKey &&
|
|
288
|
+
!event.metaKey;
|
|
271
289
|
|
|
272
|
-
/** What one keydown in the slip does: ↑ and ↓ move focus among its rows and wrap, Home and End
|
|
273
|
-
* go to the ends, a letter goes to the next row it starts, Escape and Tab (or Shift+Tab)
|
|
274
|
-
* report. Unavailable rows are stopped on too. Returns whether it acted, and prevents the
|
|
275
|
-
* default when it did. */
|
|
276
290
|
const handleSlipKey = <Message>(
|
|
277
291
|
slip: Element,
|
|
278
292
|
event: KeyboardEvent,
|
|
279
|
-
events: SlipEvents<Message
|
|
293
|
+
events: SlipEvents<Message>
|
|
280
294
|
): Option.Option<Message> => {
|
|
281
|
-
if (
|
|
295
|
+
if (
|
|
296
|
+
event.isComposing ||
|
|
297
|
+
event.defaultPrevented ||
|
|
298
|
+
!(isPlain(event) || isShiftTab(event))
|
|
299
|
+
) {
|
|
282
300
|
return Option.none();
|
|
283
301
|
}
|
|
302
|
+
|
|
284
303
|
const items = itemsOf(slip);
|
|
285
|
-
const length = items
|
|
304
|
+
const { length } = items;
|
|
286
305
|
const current = Option.getOrElse(focusedIndex(items), () => -1);
|
|
306
|
+
|
|
287
307
|
const moved = (didMove: boolean): Option.Option<Message> => {
|
|
288
308
|
if (didMove) {
|
|
289
309
|
event.preventDefault();
|
|
290
310
|
}
|
|
311
|
+
|
|
291
312
|
return Option.none();
|
|
292
313
|
};
|
|
314
|
+
|
|
293
315
|
const reported = (message: Message): Option.Option<Message> => {
|
|
294
316
|
event.preventDefault();
|
|
317
|
+
|
|
295
318
|
return Option.some(message);
|
|
296
319
|
};
|
|
297
320
|
|
|
298
321
|
return Match.value(event.key).pipe(
|
|
299
322
|
Match.withReturnType<Option.Option<Message>>(),
|
|
300
|
-
Match.when("ArrowDown", () =>
|
|
323
|
+
Match.when("ArrowDown", () =>
|
|
324
|
+
moved(length > 0 && focusAt(items, wrap(current + 1, length)))
|
|
325
|
+
),
|
|
301
326
|
Match.when("ArrowUp", () =>
|
|
302
|
-
moved(
|
|
327
|
+
moved(
|
|
328
|
+
length > 0 && focusAt(items, wrap(Math.max(current, 0) - 1, length))
|
|
329
|
+
)
|
|
303
330
|
),
|
|
304
331
|
Match.when("Home", () => moved(focusAt(items, 0))),
|
|
305
332
|
Match.when("End", () => moved(focusAt(items, length - 1))),
|
|
@@ -307,45 +334,54 @@ const handleSlipKey = <Message>(
|
|
|
307
334
|
Match.when("Tab", () => reported(events.tab)),
|
|
308
335
|
Match.when(
|
|
309
336
|
(key) => key.length === 1 && key !== " ",
|
|
310
|
-
(key) => moved(typeahead(items, key))
|
|
337
|
+
(key) => moved(typeahead(items, key))
|
|
311
338
|
),
|
|
312
|
-
Match.orElse(() => Option.none())
|
|
339
|
+
Match.orElse(() => Option.none())
|
|
313
340
|
);
|
|
314
341
|
};
|
|
315
342
|
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
343
|
+
const isLeaving = (
|
|
344
|
+
slip: Element,
|
|
345
|
+
next: EventTarget | null,
|
|
346
|
+
keepId: Option.Option<string>
|
|
347
|
+
) =>
|
|
319
348
|
!(next instanceof Node && slip.contains(next)) &&
|
|
320
349
|
!(next instanceof Element && Option.contains(keepId, next.id));
|
|
321
350
|
|
|
351
|
+
const preventMouseDown = (event: Event): void => {
|
|
352
|
+
event.preventDefault();
|
|
353
|
+
};
|
|
354
|
+
|
|
322
355
|
/** The slip's keys and focus as a stream of its owner's Messages, set up by `setup` (anchoring,
|
|
323
356
|
* portaling) and torn down with the element. A press inside the slip keeps focus where it
|
|
324
357
|
* is, so a click on a row reaches it in every browser. */
|
|
325
358
|
export const slipStream = <Message>(
|
|
326
359
|
element: Element,
|
|
327
360
|
config: Readonly<{
|
|
328
|
-
/** Reported once the slip is placed and its keys are bound. */
|
|
329
361
|
placed: Message;
|
|
330
362
|
events: SlipEvents<Message>;
|
|
331
363
|
keepId: Option.Option<string>;
|
|
332
364
|
setup: (element: Element) => () => void;
|
|
333
|
-
}
|
|
365
|
+
}>
|
|
334
366
|
): Stream.Stream<Message> =>
|
|
335
367
|
Stream.callback<Message>((queue) =>
|
|
336
368
|
Effect.gen(function* () {
|
|
337
369
|
yield* Effect.acquireRelease(
|
|
338
370
|
Effect.sync(() => {
|
|
339
371
|
const cleanup = config.setup(element);
|
|
372
|
+
|
|
340
373
|
const onKeyDown = (event: Event): void => {
|
|
341
374
|
if (!(event instanceof KeyboardEvent)) {
|
|
342
375
|
return;
|
|
343
376
|
}
|
|
377
|
+
|
|
344
378
|
const maybeMessage = handleSlipKey(element, event, config.events);
|
|
379
|
+
|
|
345
380
|
if (Option.isSome(maybeMessage)) {
|
|
346
381
|
Queue.offerUnsafe(queue, maybeMessage.value);
|
|
347
382
|
}
|
|
348
383
|
};
|
|
384
|
+
|
|
349
385
|
const onFocusOut = (event: Event): void => {
|
|
350
386
|
if (
|
|
351
387
|
event instanceof FocusEvent &&
|
|
@@ -354,31 +390,29 @@ export const slipStream = <Message>(
|
|
|
354
390
|
Queue.offerUnsafe(queue, config.events.left);
|
|
355
391
|
}
|
|
356
392
|
};
|
|
357
|
-
|
|
393
|
+
|
|
358
394
|
element.addEventListener("keydown", onKeyDown);
|
|
359
395
|
element.addEventListener("focusout", onFocusOut);
|
|
360
|
-
element.addEventListener("mousedown",
|
|
396
|
+
element.addEventListener("mousedown", preventMouseDown);
|
|
397
|
+
|
|
361
398
|
return () => {
|
|
362
399
|
element.removeEventListener("keydown", onKeyDown);
|
|
363
400
|
element.removeEventListener("focusout", onFocusOut);
|
|
364
|
-
element.removeEventListener("mousedown",
|
|
401
|
+
element.removeEventListener("mousedown", preventMouseDown);
|
|
365
402
|
cleanup();
|
|
366
403
|
};
|
|
367
404
|
}),
|
|
368
|
-
(teardown) => Effect.sync(teardown)
|
|
405
|
+
(teardown) => Effect.sync(teardown)
|
|
369
406
|
);
|
|
370
407
|
Queue.offerUnsafe(queue, config.placed);
|
|
408
|
+
|
|
371
409
|
return yield* Effect.never;
|
|
372
|
-
})
|
|
410
|
+
})
|
|
373
411
|
);
|
|
374
412
|
|
|
375
|
-
// PLACEMENT
|
|
376
|
-
|
|
377
413
|
const GAP = 6;
|
|
378
414
|
const WINDOW_PADDING = 12;
|
|
379
415
|
|
|
380
|
-
/** Hangs the slip under its toggle with `@foldkit/ui`'s Anchor (portaled out of clipping
|
|
381
|
-
* ancestors, into the dialog when inside one), then focuses the row at `edge`. */
|
|
382
416
|
export const anchorUnder =
|
|
383
417
|
(config: Readonly<{ toggleId: string; isEnd: boolean; edge: Edge }>) =>
|
|
384
418
|
(element: Element): (() => void) =>
|
|
@@ -395,30 +429,33 @@ export const anchorUnder =
|
|
|
395
429
|
});
|
|
396
430
|
|
|
397
431
|
/** Where a context slip opens, in viewport pixels. */
|
|
398
|
-
export const Point = Schema.Struct({ x: Schema.
|
|
432
|
+
export const Point = Schema.Struct({ x: Schema.Finite, y: Schema.Finite });
|
|
433
|
+
|
|
399
434
|
export type Point = typeof Point.Type;
|
|
400
435
|
|
|
401
436
|
const clampInto = (start: number, size: number, limit: number): number =>
|
|
402
|
-
start + size > limit - WINDOW_PADDING
|
|
437
|
+
start + size > limit - WINDOW_PADDING
|
|
438
|
+
? Math.max(WINDOW_PADDING, start - size)
|
|
439
|
+
: start;
|
|
403
440
|
|
|
404
|
-
/** Opens the slip at a point, portaled, kept 12px inside the window (flipping to the other
|
|
405
|
-
* side of the point when it would cross the edge), then focuses its first row. */
|
|
406
441
|
export const placeAt =
|
|
407
442
|
(point: Point) =>
|
|
408
443
|
(element: Element): (() => void) => {
|
|
409
444
|
const cleanup = Anchor.portalToContainingRoot(element);
|
|
445
|
+
|
|
410
446
|
if (element instanceof HTMLElement) {
|
|
411
447
|
element.style.left = `${point.x}px`;
|
|
412
448
|
element.style.top = `${point.y}px`;
|
|
413
449
|
const rect = element.getBoundingClientRect();
|
|
414
450
|
element.style.left = `${clampInto(point.x, rect.width, window.innerWidth)}px`;
|
|
415
451
|
element.style.top = `${clampInto(point.y, rect.height, window.innerHeight)}px`;
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
452
|
+
|
|
453
|
+
const maybeFirst = htmlElement(edgeSelector("First"), element);
|
|
454
|
+
|
|
419
455
|
if (Option.isSome(maybeFirst)) {
|
|
420
456
|
maybeFirst.value.focus({ preventScroll: true });
|
|
421
457
|
}
|
|
422
458
|
}
|
|
459
|
+
|
|
423
460
|
return cleanup;
|
|
424
461
|
};
|
package/src/meter/index.ts
CHANGED