@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
|
@@ -2,36 +2,32 @@ import { Input as UiInput } from "@foldkit/ui";
|
|
|
2
2
|
import { Effect, Match, Option, Schema, String, pipe } from "effect";
|
|
3
3
|
import * as Command from "foldkit/command";
|
|
4
4
|
import * as Dom from "foldkit/dom";
|
|
5
|
-
import {
|
|
5
|
+
import type { Html, HtmlBuilder } from "foldkit/html";
|
|
6
6
|
import { defineMessageUnion } from "foldkit/message";
|
|
7
7
|
import * as Mount from "foldkit/mount";
|
|
8
8
|
import { defineTaggedUnion } from "foldkit/schema";
|
|
9
9
|
import { modifyFields } from "foldkit/struct";
|
|
10
10
|
import { defineView } from "foldkit/submodel";
|
|
11
|
-
import * as Update from "foldkit/update";
|
|
11
|
+
import type * as Update from "foldkit/update";
|
|
12
12
|
|
|
13
13
|
import { isPlain } from "../keys/keys.ts";
|
|
14
14
|
import * as Notice from "../notice/notice.ts";
|
|
15
15
|
|
|
16
|
-
// MODEL
|
|
17
|
-
|
|
18
|
-
/** What started a save: Enter, or leaving the field. */
|
|
19
16
|
const SaveTrigger = Schema.Literals(["Enter", "Blur"]);
|
|
17
|
+
|
|
20
18
|
type SaveTrigger = typeof SaveTrigger.Type;
|
|
21
19
|
|
|
22
|
-
/** How an inline edit ended: Enter, leaving the field, or Escape. */
|
|
23
20
|
const InlineEnd = Schema.Literals(["Enter", "Blur", "Escape"]);
|
|
21
|
+
|
|
24
22
|
type InlineEnd = typeof InlineEnd.Type;
|
|
25
23
|
|
|
26
|
-
/** Where an inline edit is. `Saving`: the caller's save is out; the field holds, read-only and
|
|
27
|
-
* focused. `hasLeft` records that focus left it meanwhile, so the edit ends when the save
|
|
28
|
-
* lands instead of taking the next item. `Ended`: the edit is over; a blur from the field
|
|
29
|
-
* being removed writes nothing. */
|
|
30
24
|
const Phase = defineTaggedUnion({
|
|
31
25
|
Editing: {},
|
|
32
|
-
Saving: { trigger: SaveTrigger
|
|
26
|
+
Saving: { trigger: SaveTrigger },
|
|
27
|
+
LeftWhileSaving: {},
|
|
33
28
|
Ended: {},
|
|
34
29
|
});
|
|
30
|
+
|
|
35
31
|
type Phase = typeof Phase.Type;
|
|
36
32
|
|
|
37
33
|
/** Schema for an inline field. `maybeDraft` is none while the field is untouched: it then
|
|
@@ -48,9 +44,8 @@ export const Model = Schema.Struct({
|
|
|
48
44
|
maybeLastSavedId: Schema.Option(Schema.String),
|
|
49
45
|
isRepeating: Schema.Boolean,
|
|
50
46
|
});
|
|
51
|
-
export type Model = typeof Model.Type;
|
|
52
47
|
|
|
53
|
-
|
|
48
|
+
export type Model = typeof Model.Type;
|
|
54
49
|
|
|
55
50
|
/** Union of all Messages an inline field can produce. `UpdatedDraft` carries the draft and the
|
|
56
51
|
* value it replaces, as the view had it. */
|
|
@@ -61,9 +56,8 @@ export const Message = defineMessageUnion({
|
|
|
61
56
|
BlurredField: {},
|
|
62
57
|
CompletedFocusField: {},
|
|
63
58
|
});
|
|
64
|
-
export type Message = typeof Message.Type;
|
|
65
59
|
|
|
66
|
-
|
|
60
|
+
export type Message = typeof Message.Type;
|
|
67
61
|
|
|
68
62
|
/** Union of OutMessages an inline field reports. `Committed`: save this text (new, non-empty,
|
|
69
63
|
* trimmed); the field holds until the caller reports back with `succeeded` or `failed`.
|
|
@@ -74,9 +68,8 @@ export const OutMessage = defineMessageUnion({
|
|
|
74
68
|
Committed: { text: Schema.String },
|
|
75
69
|
Ended: { how: InlineEnd, maybeLastSavedId: Schema.Option(Schema.String) },
|
|
76
70
|
});
|
|
77
|
-
export type OutMessage = typeof OutMessage.Type;
|
|
78
71
|
|
|
79
|
-
|
|
72
|
+
export type OutMessage = typeof OutMessage.Type;
|
|
80
73
|
|
|
81
74
|
/** Focuses the field once it renders, selecting its text as an edit begins. */
|
|
82
75
|
export const FocusField = Command.define("FocusField", {
|
|
@@ -86,19 +79,18 @@ export const FocusField = Command.define("FocusField", {
|
|
|
86
79
|
Dom.focus(`#${CSS.escape(id)}`).pipe(
|
|
87
80
|
Effect.andThen(
|
|
88
81
|
Effect.sync(() => {
|
|
89
|
-
const field = document.
|
|
82
|
+
const field = document.querySelector(`#${CSS.escape(id)}`);
|
|
83
|
+
|
|
90
84
|
if (field instanceof HTMLInputElement) {
|
|
91
85
|
field.select();
|
|
92
86
|
}
|
|
93
|
-
})
|
|
87
|
+
})
|
|
94
88
|
),
|
|
95
89
|
Effect.ignore,
|
|
96
|
-
Effect.as(Message.CompletedFocusField())
|
|
90
|
+
Effect.as(Message.CompletedFocusField())
|
|
97
91
|
),
|
|
98
92
|
});
|
|
99
93
|
|
|
100
|
-
// INIT
|
|
101
|
-
|
|
102
94
|
/** Configuration for starting an inline edit with `init`. The `id` (the input's) must be
|
|
103
95
|
* unique in the document. `isRepeating`: adding several, so a save from Enter empties the
|
|
104
96
|
* field and keeps it open for the next instead of ending. */
|
|
@@ -119,35 +111,35 @@ export const init = (config: InitConfig): Update.Return<Model, Message> => ({
|
|
|
119
111
|
commands: [FocusField({ id: config.id })],
|
|
120
112
|
});
|
|
121
113
|
|
|
122
|
-
// ACCESSORS
|
|
123
|
-
|
|
124
114
|
/** Whether the caller's save is out: the field holds until `succeeded` or `failed`. */
|
|
125
|
-
export const isSaving = (model: Model): boolean =>
|
|
115
|
+
export const isSaving = (model: Model): boolean =>
|
|
116
|
+
Phase.guards.Saving(model.phase) || Phase.guards.LeftWhileSaving(model.phase);
|
|
126
117
|
|
|
127
118
|
/** Why the last save was refused, while the field still holds that text: none before a save
|
|
128
119
|
* fails, and again once the draft changes or the next save goes out. */
|
|
129
|
-
export const maybeError = (model: Model): Option.Option<string> =>
|
|
120
|
+
export const maybeError = (model: Model): Option.Option<string> =>
|
|
121
|
+
model.maybeError;
|
|
130
122
|
|
|
131
|
-
// the element `errorView` renders, which the field points at while a save was refused
|
|
132
123
|
const errorId = (model: Model): string => UiInput.descriptionId(model.id);
|
|
133
124
|
|
|
134
|
-
// UPDATE
|
|
135
|
-
|
|
136
125
|
type UpdateReturn = Update.ReturnWithOutMessage<Model, Message, OutMessage>;
|
|
137
126
|
|
|
138
127
|
const end = (model: Model, how: InlineEnd): UpdateReturn => ({
|
|
139
128
|
model: modifyFields(model, { phase: () => Phase.Ended() }),
|
|
140
|
-
outMessage: OutMessage.Ended({
|
|
129
|
+
outMessage: OutMessage.Ended({
|
|
130
|
+
how,
|
|
131
|
+
maybeLastSavedId: model.maybeLastSavedId,
|
|
132
|
+
}),
|
|
141
133
|
});
|
|
142
134
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
135
|
+
export const toWrite = (
|
|
136
|
+
maybeDraft: Option.Option<string>,
|
|
137
|
+
value: string
|
|
138
|
+
): Option.Option<string> =>
|
|
147
139
|
pipe(
|
|
148
140
|
maybeDraft,
|
|
149
141
|
Option.map(String.trim),
|
|
150
|
-
Option.filter((text) => String.isNonEmpty(text) && text !== value)
|
|
142
|
+
Option.filter((text) => String.isNonEmpty(text) && text !== value)
|
|
151
143
|
);
|
|
152
144
|
|
|
153
145
|
const commit = (model: Model, trigger: SaveTrigger): UpdateReturn =>
|
|
@@ -155,7 +147,7 @@ const commit = (model: Model, trigger: SaveTrigger): UpdateReturn =>
|
|
|
155
147
|
onNone: () => end(model, trigger),
|
|
156
148
|
onSome: (text) => ({
|
|
157
149
|
model: modifyFields(model, {
|
|
158
|
-
phase: () => Phase.Saving({ trigger
|
|
150
|
+
phase: () => Phase.Saving({ trigger }),
|
|
159
151
|
maybeError: () => Option.none(),
|
|
160
152
|
}),
|
|
161
153
|
outMessage: OutMessage.Committed({ text }),
|
|
@@ -175,39 +167,46 @@ export const update = (model: Model, message: Message) =>
|
|
|
175
167
|
}),
|
|
176
168
|
}
|
|
177
169
|
: { model },
|
|
178
|
-
PressedEnter: () =>
|
|
179
|
-
|
|
170
|
+
PressedEnter: () =>
|
|
171
|
+
Phase.guards.Editing(model.phase) ? commit(model, "Enter") : { model },
|
|
172
|
+
PressedEscape: () =>
|
|
173
|
+
Phase.guards.Editing(model.phase) ? end(model, "Escape") : { model },
|
|
180
174
|
BlurredField: () =>
|
|
181
175
|
Phase.match<UpdateReturn>(model.phase, {
|
|
182
176
|
Editing: () => commit(model, "Blur"),
|
|
183
|
-
Saving: (
|
|
177
|
+
Saving: () => ({
|
|
184
178
|
model: modifyFields(model, {
|
|
185
|
-
phase: () => Phase.
|
|
179
|
+
phase: () => Phase.LeftWhileSaving(),
|
|
186
180
|
}),
|
|
187
181
|
}),
|
|
182
|
+
LeftWhileSaving: () => ({ model }),
|
|
188
183
|
Ended: () => ({ model }),
|
|
189
184
|
}),
|
|
190
185
|
CompletedFocusField: () => ({ model }),
|
|
191
186
|
});
|
|
192
187
|
|
|
188
|
+
const savedAs = (model: Model, savedId: string): Model =>
|
|
189
|
+
modifyFields(model, { maybeLastSavedId: () => Option.some(savedId) });
|
|
190
|
+
|
|
193
191
|
/** The caller's save went through, giving the saved item's id. A save from Enter in a
|
|
194
192
|
* repeating field empties the field and keeps it open, focused, for the next; any other
|
|
195
193
|
* save ends the edit (as `Blur` if focus left meanwhile). A result for an edit that is no
|
|
196
194
|
* longer saving changes nothing. */
|
|
197
195
|
export const succeeded = (model: Model, savedId: string): UpdateReturn =>
|
|
198
196
|
Phase.match<UpdateReturn>(model.phase, {
|
|
199
|
-
Saving: ({ trigger
|
|
200
|
-
const saved =
|
|
201
|
-
|
|
202
|
-
return
|
|
197
|
+
Saving: ({ trigger }) => {
|
|
198
|
+
const saved = savedAs(model, savedId);
|
|
199
|
+
|
|
200
|
+
return model.isRepeating && trigger === "Enter"
|
|
203
201
|
? {
|
|
204
202
|
model: modifyFields(saved, {
|
|
205
203
|
phase: () => Phase.Editing(),
|
|
206
204
|
maybeDraft: () => Option.some(""),
|
|
207
205
|
}),
|
|
208
206
|
}
|
|
209
|
-
: end(saved,
|
|
207
|
+
: end(saved, trigger);
|
|
210
208
|
},
|
|
209
|
+
LeftWhileSaving: () => end(savedAs(model, savedId), "Blur"),
|
|
211
210
|
Editing: () => ({ model }),
|
|
212
211
|
Ended: () => ({ model }),
|
|
213
212
|
});
|
|
@@ -217,8 +216,11 @@ export const succeeded = (model: Model, savedId: string): UpdateReturn =>
|
|
|
217
216
|
* outcome is told elsewhere, such as a lost connection's notice) it only lets go of the
|
|
218
217
|
* text. It reports nothing, so it folds as a plain return. A result for an edit that is no
|
|
219
218
|
* longer saving changes nothing. */
|
|
220
|
-
export const failed = (
|
|
221
|
-
|
|
219
|
+
export const failed = (
|
|
220
|
+
model: Model,
|
|
221
|
+
error?: string
|
|
222
|
+
): Update.Return<Model, Message> =>
|
|
223
|
+
isSaving(model)
|
|
222
224
|
? {
|
|
223
225
|
model: modifyFields(model, {
|
|
224
226
|
phase: () => Phase.Editing(),
|
|
@@ -227,13 +229,10 @@ export const failed = (model: Model, error?: string): Update.Return<Model, Messa
|
|
|
227
229
|
}
|
|
228
230
|
: { model };
|
|
229
231
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
232
|
+
type KeyMessage =
|
|
233
|
+
| typeof Message.PressedEnter.Type
|
|
234
|
+
| typeof Message.PressedEscape.Type;
|
|
233
235
|
|
|
234
|
-
/** What one keydown in the field does: Enter saves, Escape discards. A key an IME is
|
|
235
|
-
* composing, a modified key, a key someone already handled and any other key are left
|
|
236
|
-
* alone. */
|
|
237
236
|
export const fieldKey = (event: KeyboardEvent): Option.Option<KeyMessage> =>
|
|
238
237
|
event.isComposing || event.defaultPrevented || !isPlain(event)
|
|
239
238
|
? Option.none()
|
|
@@ -241,7 +240,7 @@ export const fieldKey = (event: KeyboardEvent): Option.Option<KeyMessage> =>
|
|
|
241
240
|
Match.withReturnType<Option.Option<KeyMessage>>(),
|
|
242
241
|
Match.when("Enter", () => Option.some(Message.PressedEnter())),
|
|
243
242
|
Match.when("Escape", () => Option.some(Message.PressedEscape())),
|
|
244
|
-
Match.orElse(() => Option.none())
|
|
243
|
+
Match.orElse(() => Option.none())
|
|
245
244
|
);
|
|
246
245
|
|
|
247
246
|
/** The field's keys: Enter saves (or ends, with nothing new to save) and Escape discards and
|
|
@@ -259,10 +258,9 @@ export const BindFieldKeys = Mount.defineStream("BindFieldKeys", {
|
|
|
259
258
|
}),
|
|
260
259
|
});
|
|
261
260
|
|
|
262
|
-
// VIEW
|
|
263
|
-
|
|
264
261
|
/** How tall the field is: a row's words, or a card's 16px title. */
|
|
265
262
|
export const Size = Schema.Literals(["Row", "Title"]);
|
|
263
|
+
|
|
266
264
|
export type Size = typeof Size.Type;
|
|
267
265
|
|
|
268
266
|
/** Per-render inputs passed to `view` through `h.submodel`'s `viewInputs`. */
|
|
@@ -279,7 +277,10 @@ export type ViewInputs = Readonly<{
|
|
|
279
277
|
error?: string | undefined;
|
|
280
278
|
}>;
|
|
281
279
|
|
|
282
|
-
const shownError = (
|
|
280
|
+
const shownError = (
|
|
281
|
+
model: Model,
|
|
282
|
+
error: string | undefined
|
|
283
|
+
): Option.Option<string> =>
|
|
283
284
|
Option.orElse(Option.fromNullishOr(error), () => model.maybeError);
|
|
284
285
|
|
|
285
286
|
/**
|
|
@@ -290,34 +291,39 @@ const shownError = (model: Model, error: string | undefined): Option.Option<stri
|
|
|
290
291
|
* the field `aria-invalid` and points it at `errorView`. Escape discards the draft and ends. The field moves no focus
|
|
291
292
|
* itself: the caller does on `Ended`.
|
|
292
293
|
*/
|
|
293
|
-
export const view = defineView<Model, Message, ViewInputs>(
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
h.
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
294
|
+
export const view = defineView<Model, Message, ViewInputs>(
|
|
295
|
+
(model, viewInputs, h): Html => {
|
|
296
|
+
const { value, label, placeholder, size = "Row", error } = viewInputs;
|
|
297
|
+
const isHeld = isSaving(model);
|
|
298
|
+
const hasError = Option.isSome(shownError(model, error));
|
|
299
|
+
|
|
300
|
+
return UiInput.view(
|
|
301
|
+
{
|
|
302
|
+
id: model.id,
|
|
303
|
+
value: Option.getOrElse(model.maybeDraft, () => value),
|
|
304
|
+
onInput: (draft) =>
|
|
305
|
+
Message.UpdatedDraft({ value: draft, replaced: value }),
|
|
306
|
+
isReadOnly: isHeld,
|
|
307
|
+
isInvalid: hasError,
|
|
308
|
+
hasDescription: hasError,
|
|
309
|
+
...(placeholder !== undefined && { placeholder }),
|
|
310
|
+
toView: (groups) =>
|
|
311
|
+
h.input([
|
|
312
|
+
...groups.input,
|
|
313
|
+
h.AriaLabel(label),
|
|
314
|
+
...(isHeld ? [h.AriaBusy(true)] : []),
|
|
315
|
+
h.Autocomplete("off"),
|
|
316
|
+
h.OnBlur(Message.BlurredField()),
|
|
317
|
+
h.OnMount(BindFieldKeys()),
|
|
318
|
+
h.Class(
|
|
319
|
+
size === "Title" ? "inline-input title-edit" : "inline-input"
|
|
320
|
+
),
|
|
321
|
+
]),
|
|
322
|
+
},
|
|
323
|
+
h
|
|
324
|
+
);
|
|
325
|
+
}
|
|
326
|
+
);
|
|
321
327
|
|
|
322
328
|
/** Why the field is marked: the caller's `error`, else why the last save was refused, as an
|
|
323
329
|
* error Notice with the id the field points at, or nothing. Place it under the field and
|
|
@@ -325,10 +331,13 @@ export const view = defineView<Model, Message, ViewInputs>((model, viewInputs, h
|
|
|
325
331
|
export const errorView = <ParentMessage>(
|
|
326
332
|
model: Model,
|
|
327
333
|
h: HtmlBuilder<ParentMessage>,
|
|
328
|
-
error?: string
|
|
334
|
+
error?: string
|
|
329
335
|
): Html =>
|
|
330
336
|
Option.match(shownError(model, error), {
|
|
331
337
|
onNone: () => h.empty,
|
|
332
|
-
onSome: (
|
|
333
|
-
Notice.view(
|
|
338
|
+
onSome: (shown) =>
|
|
339
|
+
Notice.view(
|
|
340
|
+
{ tone: "Error", body: [shown], attributes: [h.Id(errorId(model))] },
|
|
341
|
+
h
|
|
342
|
+
),
|
|
334
343
|
});
|
|
@@ -6,23 +6,23 @@ import { defineMessageUnion } from "foldkit/message";
|
|
|
6
6
|
import { modifyFields } from "foldkit/struct";
|
|
7
7
|
import { defineView } from "foldkit/submodel";
|
|
8
8
|
import * as Subscription from "foldkit/subscription";
|
|
9
|
-
import * as Update from "foldkit/update";
|
|
9
|
+
import type * as Update from "foldkit/update";
|
|
10
10
|
|
|
11
11
|
import * as Button from "../button/button.ts";
|
|
12
12
|
import * as Card from "../card/card.ts";
|
|
13
13
|
import * as Dialog from "../dialog/dialog.ts";
|
|
14
14
|
import { foldDialog } from "../dialog/fold.ts";
|
|
15
15
|
import * as Field from "../field/field.ts";
|
|
16
|
-
import {
|
|
16
|
+
import { keyLabel, pressesOf } from "../key-hint/key-label.ts";
|
|
17
|
+
import type { KeyPlatform } from "../key-hint/key-label.ts";
|
|
17
18
|
import * as Keymap from "../keymap/keymap.ts";
|
|
18
19
|
|
|
19
|
-
// MODEL
|
|
20
|
-
|
|
21
20
|
/** Schema for the key help: its Dialog and the words in its find field. */
|
|
22
21
|
export const Model = Schema.Struct({
|
|
23
22
|
dialog: Dialog.Model,
|
|
24
23
|
query: Schema.String,
|
|
25
24
|
});
|
|
25
|
+
|
|
26
26
|
export type Model = typeof Model.Type;
|
|
27
27
|
|
|
28
28
|
/** One command the keyboard gives, as the help lists it: the keys that give it (any of
|
|
@@ -30,7 +30,7 @@ export type Model = typeof Model.Type;
|
|
|
30
30
|
* Describe the same bindings the application hands `Dom.streamFromKeyBindings`, so a key
|
|
31
31
|
* never says one thing and does another. */
|
|
32
32
|
export type Binding = Readonly<{
|
|
33
|
-
keys:
|
|
33
|
+
keys: readonly KeySequence[];
|
|
34
34
|
group: string;
|
|
35
35
|
does: string;
|
|
36
36
|
}>;
|
|
@@ -39,9 +39,11 @@ export type Binding = Readonly<{
|
|
|
39
39
|
export const HELP_KEYS: KeySequence = "Shift+?";
|
|
40
40
|
|
|
41
41
|
/** The help's own line in its listing. */
|
|
42
|
-
export const helpBinding: Binding = {
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
export const helpBinding: Binding = {
|
|
43
|
+
keys: [HELP_KEYS],
|
|
44
|
+
group: "Help",
|
|
45
|
+
does: "These keys",
|
|
46
|
+
};
|
|
45
47
|
|
|
46
48
|
/** Union of all Messages the key help can produce. */
|
|
47
49
|
export const Message = defineMessageUnion({
|
|
@@ -49,18 +51,16 @@ export const Message = defineMessageUnion({
|
|
|
49
51
|
UpdatedQuery: { value: Schema.String },
|
|
50
52
|
PressedHelpKey: {},
|
|
51
53
|
});
|
|
52
|
-
export type Message = typeof Message.Type;
|
|
53
54
|
|
|
54
|
-
|
|
55
|
+
export type Message = typeof Message.Type;
|
|
55
56
|
|
|
56
57
|
/** Union of OutMessages the key help reports: the reader closed it (Escape, a click on the
|
|
57
58
|
* veil, a close button). Opening it, by `?` or `open`, reports nothing. */
|
|
58
59
|
export const OutMessage = defineMessageUnion({
|
|
59
60
|
Closed: {},
|
|
60
61
|
});
|
|
61
|
-
export type OutMessage = typeof OutMessage.Type;
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
export type OutMessage = typeof OutMessage.Type;
|
|
64
64
|
|
|
65
65
|
/** Configuration for creating the key help with `init`. */
|
|
66
66
|
export type InitConfig = Readonly<{ id: string }>;
|
|
@@ -71,8 +71,6 @@ export const init = (config: InitConfig): Model => ({
|
|
|
71
71
|
query: "",
|
|
72
72
|
});
|
|
73
73
|
|
|
74
|
-
// UPDATE
|
|
75
|
-
|
|
76
74
|
const toOutMessage = Dialog.OutMessage.match<OutMessage>({
|
|
77
75
|
Closed: () => OutMessage.Closed(),
|
|
78
76
|
});
|
|
@@ -81,34 +79,38 @@ const dialogFold = foldDialog(Dialog, {
|
|
|
81
79
|
read: (model: Model) => model.dialog,
|
|
82
80
|
write: (model: Model, nextDialog: Dialog.Model): Model =>
|
|
83
81
|
modifyFields(model, { dialog: () => nextDialog }),
|
|
84
|
-
toParentMessage: (message: Dialog.Message) =>
|
|
82
|
+
toParentMessage: (message: Dialog.Message) =>
|
|
83
|
+
Message.GotDialogMessage({ message }),
|
|
85
84
|
toParentOutMessage: toOutMessage,
|
|
86
85
|
});
|
|
87
86
|
|
|
88
|
-
const clearQuery = (model: Model): Model =>
|
|
87
|
+
const clearQuery = (model: Model): Model =>
|
|
88
|
+
modifyFields(model, { query: () => "" });
|
|
89
89
|
|
|
90
90
|
/** Processes a key help Message and returns the next Model, Commands and OutMessage. */
|
|
91
91
|
export const update = (model: Model, message: Message) =>
|
|
92
|
-
Message.match<Update.ReturnWithOutMessage<Model, Message, OutMessage>>(
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
92
|
+
Message.match<Update.ReturnWithOutMessage<Model, Message, OutMessage>>(
|
|
93
|
+
message,
|
|
94
|
+
{
|
|
95
|
+
GotDialogMessage: ({ message: dialogMessage }) =>
|
|
96
|
+
dialogFold.update(model, dialogMessage),
|
|
97
|
+
UpdatedQuery: ({ value }) => ({
|
|
98
|
+
model: modifyFields(model, { query: () => value }),
|
|
99
|
+
}),
|
|
100
|
+
PressedHelpKey: () => dialogFold.open(clearQuery(model)),
|
|
101
|
+
}
|
|
102
|
+
);
|
|
97
103
|
|
|
98
104
|
/** Opens the key help, as `?` does: for a button or a command palette entry. */
|
|
99
105
|
export const open = (model: Model): Update.Return<Model, Message> =>
|
|
100
106
|
dialogFold.open(clearQuery(model));
|
|
101
107
|
|
|
102
|
-
// ACCESSORS
|
|
103
|
-
|
|
104
108
|
/** The key help's id, unique in the document. */
|
|
105
109
|
export const id = (model: Model): string => Dialog.id(model.dialog);
|
|
106
110
|
|
|
107
111
|
/** Whether the key help is open. */
|
|
108
112
|
export const isOpen = (model: Model): boolean => Dialog.isOpen(model.dialog);
|
|
109
113
|
|
|
110
|
-
// SUBSCRIPTION
|
|
111
|
-
|
|
112
114
|
/** Opens the help on `?` while it is closed. Lift it into the application's Subscriptions. */
|
|
113
115
|
export const subscriptions = Subscription.make<Model, Message>()((entry) => ({
|
|
114
116
|
helpKey: entry(
|
|
@@ -125,43 +127,50 @@ export const subscriptions = Subscription.make<Model, Message>()((entry) => ({
|
|
|
125
127
|
},
|
|
126
128
|
],
|
|
127
129
|
}),
|
|
128
|
-
}
|
|
130
|
+
}
|
|
129
131
|
),
|
|
130
132
|
}));
|
|
131
133
|
|
|
132
|
-
// LISTING
|
|
133
|
-
|
|
134
134
|
const isFound = (binding: Binding, labels: string, query: string): boolean =>
|
|
135
135
|
pipe(
|
|
136
|
-
[
|
|
136
|
+
[
|
|
137
|
+
labels,
|
|
138
|
+
...Array.flatMap(binding.keys, pressesOf),
|
|
139
|
+
binding.does,
|
|
140
|
+
binding.group,
|
|
141
|
+
],
|
|
137
142
|
Array.join(" "),
|
|
138
143
|
String.toLowerCase,
|
|
139
|
-
String.includes(query)
|
|
144
|
+
String.includes(query)
|
|
140
145
|
);
|
|
141
146
|
|
|
142
147
|
/** The bindings as a keymap: under their groups in the order the groups first appear, each
|
|
143
148
|
* binding's keys printed for the platform, filtered by the query (its keys or its words). */
|
|
144
149
|
export const toKeymapGroups = (
|
|
145
|
-
bindings:
|
|
150
|
+
bindings: readonly Binding[],
|
|
146
151
|
platform: KeyPlatform,
|
|
147
|
-
query: string
|
|
148
|
-
):
|
|
152
|
+
query: string
|
|
153
|
+
): readonly Keymap.KeymapGroup[] => {
|
|
149
154
|
const normalizedQuery = pipe(query, String.trim, String.toLowerCase);
|
|
155
|
+
|
|
150
156
|
const rows = pipe(
|
|
151
157
|
bindings,
|
|
152
158
|
Array.map((binding) => ({
|
|
153
159
|
binding,
|
|
154
160
|
labels: Array.join(
|
|
155
161
|
Array.map(binding.keys, (keys) => keyLabel(keys, platform)),
|
|
156
|
-
" / "
|
|
162
|
+
" / "
|
|
157
163
|
),
|
|
158
164
|
})),
|
|
159
|
-
Array.filter(({ binding, labels }) =>
|
|
165
|
+
Array.filter(({ binding, labels }) =>
|
|
166
|
+
isFound(binding, labels, normalizedQuery)
|
|
167
|
+
),
|
|
160
168
|
Array.map(({ binding, labels }) => ({
|
|
161
169
|
group: binding.group,
|
|
162
170
|
row: { keys: labels, does: binding.does },
|
|
163
|
-
}))
|
|
171
|
+
}))
|
|
164
172
|
);
|
|
173
|
+
|
|
165
174
|
const groups = Array.dedupe(Array.map(rows, ({ group }) => group));
|
|
166
175
|
|
|
167
176
|
return Array.map(groups, (group) => ({
|
|
@@ -169,17 +178,15 @@ export const toKeymapGroups = (
|
|
|
169
178
|
rows: pipe(
|
|
170
179
|
rows,
|
|
171
180
|
Array.filter((row) => row.group === group),
|
|
172
|
-
Array.map(({ row }) => row)
|
|
181
|
+
Array.map(({ row }) => row)
|
|
173
182
|
),
|
|
174
183
|
}));
|
|
175
184
|
};
|
|
176
185
|
|
|
177
|
-
// VIEW
|
|
178
|
-
|
|
179
186
|
/** Per-render inputs passed to `view` through `h.submodel`'s `viewInputs`. */
|
|
180
187
|
export type ViewInputs = Readonly<{
|
|
181
188
|
/** Every key in force now. The help adds its own `?` line. */
|
|
182
|
-
bindings:
|
|
189
|
+
bindings: readonly Binding[];
|
|
183
190
|
platform: KeyPlatform;
|
|
184
191
|
/** The application's own words above the find field: what the page would say that the
|
|
185
192
|
* reader still needs while the help covers it (a sync notice and its retry). A slot that
|
|
@@ -190,29 +197,31 @@ export type ViewInputs = Readonly<{
|
|
|
190
197
|
toLiveRegionView?: (() => Html) | undefined;
|
|
191
198
|
}>;
|
|
192
199
|
|
|
193
|
-
// NOTE: the note claims only what Foldkit's key bindings do: a key waits while focus is in a
|
|
194
|
-
// field (unless its binding acts while typing), and a pending sequence lets go on any key that
|
|
195
|
-
// does not continue it. Any other pause (while a card is held) is the application's, so the
|
|
196
|
-
// note does not claim it.
|
|
197
200
|
const NOTE = "Keys wait while you type in a field.";
|
|
201
|
+
|
|
198
202
|
const SEQUENCE_NOTE =
|
|
199
203
|
" Type the keys of a sequence one straight after the other; any other key lets go of the first.";
|
|
204
|
+
|
|
200
205
|
const NOTHING_FOUND = "No key does that.";
|
|
201
206
|
|
|
202
|
-
const hasSequence = (bindings:
|
|
203
|
-
Array.some(bindings, (binding) =>
|
|
207
|
+
const hasSequence = (bindings: readonly Binding[]): boolean =>
|
|
208
|
+
Array.some(bindings, (binding) =>
|
|
209
|
+
Array.some(binding.keys, (keys) => !Predicate.isString(keys))
|
|
210
|
+
);
|
|
204
211
|
|
|
205
212
|
const cardView = (
|
|
206
213
|
model: Model,
|
|
207
214
|
viewInputs: ViewInputs,
|
|
208
215
|
render: Dialog.RenderInfo,
|
|
209
|
-
h: HtmlBuilder<Message
|
|
216
|
+
h: HtmlBuilder<Message>
|
|
210
217
|
): Html => {
|
|
211
218
|
const bindings = [...viewInputs.bindings, helpBinding];
|
|
212
219
|
const groups = toKeymapGroups(bindings, viewInputs.platform, model.query);
|
|
220
|
+
|
|
213
221
|
const note = Array.match(groups, {
|
|
214
222
|
onEmpty: () => NOTHING_FOUND,
|
|
215
|
-
onNonEmpty: () =>
|
|
223
|
+
onNonEmpty: () =>
|
|
224
|
+
hasSequence(bindings) ? `${NOTE}${SEQUENCE_NOTE}` : NOTE,
|
|
216
225
|
});
|
|
217
226
|
|
|
218
227
|
return Card.view(
|
|
@@ -222,7 +231,9 @@ const cardView = (
|
|
|
222
231
|
isNarrow: true,
|
|
223
232
|
closeAttributes: render.closeButton,
|
|
224
233
|
actionBarAttributes: render.actionBar,
|
|
225
|
-
actions: [
|
|
234
|
+
actions: [
|
|
235
|
+
Button.view({ label: "close", attributes: render.closeButton }, h),
|
|
236
|
+
],
|
|
226
237
|
body: [
|
|
227
238
|
...(viewInputs.toIntroView?.() ?? []),
|
|
228
239
|
Field.view(
|
|
@@ -233,27 +244,28 @@ const cardView = (
|
|
|
233
244
|
onInput: (value) => Message.UpdatedQuery({ value }),
|
|
234
245
|
inputAttributes: render.initialFocus,
|
|
235
246
|
},
|
|
236
|
-
h
|
|
247
|
+
h
|
|
237
248
|
),
|
|
238
249
|
Keymap.view({ groups, note }, h),
|
|
239
250
|
],
|
|
240
251
|
},
|
|
241
|
-
h
|
|
252
|
+
h
|
|
242
253
|
);
|
|
243
254
|
};
|
|
244
255
|
|
|
245
256
|
/** The keyboard's help: every key in force, under its group, with a field that finds one by
|
|
246
257
|
* its keys or its words. `?` opens it (see `subscriptions`), and so does `open`. Render it
|
|
247
258
|
* once per page. */
|
|
248
|
-
export const view = defineView<Model, Message, ViewInputs>(
|
|
249
|
-
h
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
+
export const view = defineView<Model, Message, ViewInputs>(
|
|
260
|
+
(model, viewInputs, h): Html =>
|
|
261
|
+
h.submodel({
|
|
262
|
+
slotId: id(model),
|
|
263
|
+
model: model.dialog,
|
|
264
|
+
view: Dialog.view,
|
|
265
|
+
viewInputs: {
|
|
266
|
+
toLiveRegionView: viewInputs.toLiveRegionView,
|
|
267
|
+
toView: (render) => cardView(model, viewInputs, render, h),
|
|
268
|
+
},
|
|
269
|
+
toParentMessage: (message) => Message.GotDialogMessage({ message }),
|
|
270
|
+
})
|
|
259
271
|
);
|