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