@gjermundgaraba-designs/pixel-paper 0.26.0 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DESIGN.md +28 -3
- package/dist/src/adapters/diagram.d.ts +38 -0
- package/dist/src/adapters/diagram.d.ts.map +1 -0
- package/dist/src/adapters/diagram.js +206 -0
- package/dist/src/adapters/mermaid.d.ts +2 -20
- package/dist/src/adapters/mermaid.d.ts.map +1 -1
- package/dist/src/adapters/mermaid.js +9 -229
- package/dist/src/announcer/announcer.d.ts +0 -4
- package/dist/src/announcer/announcer.d.ts.map +1 -1
- package/dist/src/announcer/announcer.js +19 -18
- package/dist/src/attributes/attributes.d.ts.map +1 -1
- package/dist/src/{audioFrame/audioFrame.d.ts → audio-frame/audio-frame.d.ts} +1 -1
- package/dist/src/audio-frame/audio-frame.d.ts.map +1 -0
- package/dist/src/{audioFrame/audioFrame.js → audio-frame/audio-frame.js} +1 -1
- package/dist/src/audio-frame/index.d.ts +3 -0
- package/dist/src/audio-frame/index.d.ts.map +1 -0
- package/dist/src/audio-frame/index.js +1 -0
- package/dist/src/banner/banner.d.ts.map +1 -1
- package/dist/src/banner/index.d.ts.map +1 -1
- package/dist/src/{barChart/barChart.d.ts → bar-chart/bar-chart.d.ts} +2 -2
- package/dist/src/bar-chart/bar-chart.d.ts.map +1 -0
- package/dist/src/{barChart/barChart.js → bar-chart/bar-chart.js} +40 -35
- package/dist/src/bar-chart/index.d.ts +3 -0
- package/dist/src/bar-chart/index.d.ts.map +1 -0
- package/dist/src/bar-chart/index.js +1 -0
- package/dist/src/bench/bench.d.ts.map +1 -1
- package/dist/src/bench/index.d.ts.map +1 -1
- package/dist/src/board/board.d.ts +45 -46
- package/dist/src/board/board.d.ts.map +1 -1
- package/dist/src/board/board.js +76 -102
- package/dist/src/board/index.d.ts +1 -1
- package/dist/src/board/index.d.ts.map +1 -1
- package/dist/src/button/button.d.ts +1 -2
- package/dist/src/button/button.d.ts.map +1 -1
- package/dist/src/button/button.js +7 -5
- package/dist/src/button/index.d.ts +1 -1
- package/dist/src/button/index.d.ts.map +1 -1
- package/dist/src/card/card.d.ts.map +1 -1
- package/dist/src/card/card.js +4 -2
- package/dist/src/card/index.d.ts.map +1 -1
- package/dist/src/{chartTable/chartTable.d.ts → chart-table/chart-table.d.ts} +4 -14
- package/dist/src/chart-table/chart-table.d.ts.map +1 -0
- package/dist/src/{chartTable/chartTable.js → chart-table/chart-table.js} +9 -16
- package/dist/src/chip/chip.d.ts.map +1 -1
- package/dist/src/chip/chip.js +4 -2
- package/dist/src/chip/index.d.ts.map +1 -1
- package/dist/src/choice/choice.d.ts.map +1 -1
- package/dist/src/choice/choice.js +3 -1
- package/dist/src/choice/index.d.ts.map +1 -1
- package/dist/src/choices/choices.d.ts.map +1 -1
- package/dist/src/choices/index.d.ts.map +1 -1
- package/dist/src/{codeEditor/codeEditor.d.ts → code-editor/code-editor.d.ts} +1 -1
- package/dist/src/code-editor/code-editor.d.ts.map +1 -0
- package/dist/src/{codeEditor/codeEditor.js → code-editor/code-editor.js} +2 -2
- package/dist/src/code-editor/index.d.ts +3 -0
- package/dist/src/code-editor/index.d.ts.map +1 -0
- package/dist/src/code-editor/index.js +1 -0
- package/dist/src/{codeSurface/codeSurface.d.ts → code-surface/code-surface.d.ts} +1 -1
- package/dist/src/code-surface/code-surface.d.ts.map +1 -0
- package/dist/src/{codeSurface/codeSurface.js → code-surface/code-surface.js} +6 -1
- package/dist/src/code-surface/index.d.ts +3 -0
- package/dist/src/code-surface/index.d.ts.map +1 -0
- package/dist/src/code-surface/index.js +1 -0
- package/dist/src/{commandPalette/commandPalette.d.ts → command-palette/command-palette.d.ts} +85 -77
- package/dist/src/command-palette/command-palette.d.ts.map +1 -0
- package/dist/src/command-palette/command-palette.js +625 -0
- package/dist/src/{commandPalette → command-palette}/index.d.ts +2 -2
- package/dist/src/command-palette/index.d.ts.map +1 -0
- package/dist/src/{commandPalette → command-palette}/index.js +1 -1
- package/dist/src/{commandPalette → command-palette}/keys.d.ts +0 -21
- package/dist/src/command-palette/keys.d.ts.map +1 -0
- package/dist/src/command-palette/keys.js +85 -0
- package/dist/src/{commandPalette → command-palette}/match.d.ts +5 -11
- package/dist/src/command-palette/match.d.ts.map +1 -0
- package/dist/src/{commandPalette → command-palette}/match.js +20 -24
- package/dist/src/{commandPalette → command-palette}/message.d.ts +37 -26
- package/dist/src/command-palette/message.d.ts.map +1 -0
- package/dist/src/{commandPalette → command-palette}/message.js +8 -20
- package/dist/src/{confirmDialog/confirmDialog.d.ts → confirm-dialog/confirm-dialog.d.ts} +1 -1
- package/dist/src/confirm-dialog/confirm-dialog.d.ts.map +1 -0
- package/dist/src/{confirmDialog/confirmDialog.js → confirm-dialog/confirm-dialog.js} +18 -23
- package/dist/src/confirm-dialog/index.d.ts +3 -0
- package/dist/src/confirm-dialog/index.d.ts.map +1 -0
- package/dist/src/{confirmDialog → confirm-dialog}/index.js +1 -1
- package/dist/src/{contextMenu/contextMenu.d.ts → context-menu/context-menu.d.ts} +18 -21
- package/dist/src/context-menu/context-menu.d.ts.map +1 -0
- package/dist/src/{contextMenu/contextMenu.js → context-menu/context-menu.js} +45 -57
- package/dist/src/{contextMenu → context-menu}/index.d.ts +2 -2
- package/dist/src/context-menu/index.d.ts.map +1 -0
- package/dist/src/{contextMenu → context-menu}/index.js +1 -1
- package/dist/src/{copyButton/copyButton.d.ts → copy-button/copy-button.d.ts} +5 -7
- package/dist/src/copy-button/copy-button.d.ts.map +1 -0
- package/dist/src/{copyButton/copyButton.js → copy-button/copy-button.js} +18 -27
- package/dist/src/copy-button/index.d.ts +3 -0
- package/dist/src/copy-button/index.d.ts.map +1 -0
- package/dist/src/copy-button/index.js +1 -0
- package/dist/src/crumbs/crumbs.d.ts +1 -1
- package/dist/src/crumbs/crumbs.d.ts.map +1 -1
- package/dist/src/crumbs/index.d.ts.map +1 -1
- package/dist/src/deck/deck.d.ts.map +1 -1
- package/dist/src/deck/index.d.ts.map +1 -1
- package/dist/src/dialog/dialog.d.ts +6 -14
- package/dist/src/dialog/dialog.d.ts.map +1 -1
- package/dist/src/dialog/dialog.js +29 -36
- package/dist/src/dialog/fold.d.ts +3 -3
- package/dist/src/dialog/fold.d.ts.map +1 -1
- package/dist/src/dialog/fold.js +5 -4
- package/dist/src/dialog/index.d.ts +1 -1
- package/dist/src/dialog/index.d.ts.map +1 -1
- package/dist/src/disclosure/disclosure.d.ts.map +1 -1
- package/dist/src/disclosure/disclosure.js +3 -1
- package/dist/src/disclosure/index.d.ts.map +1 -1
- package/dist/src/dom/html-element.d.ts +3 -0
- package/dist/src/dom/html-element.d.ts.map +1 -0
- package/dist/src/dom/html-element.js +6 -0
- package/dist/src/drag/drag.d.ts +0 -34
- package/dist/src/drag/drag.d.ts.map +1 -1
- package/dist/src/drag/drag.js +27 -73
- package/dist/src/{dropZone/dropZone.d.ts → drop-zone/drop-zone.d.ts} +3 -3
- package/dist/src/drop-zone/drop-zone.d.ts.map +1 -0
- package/dist/src/{dropZone/dropZone.js → drop-zone/drop-zone.js} +13 -19
- package/dist/src/drop-zone/index.d.ts +3 -0
- package/dist/src/drop-zone/index.d.ts.map +1 -0
- package/dist/src/drop-zone/index.js +1 -0
- package/dist/src/{editableTitle/editableTitle.d.ts → editable-title/editable-title.d.ts} +14 -12
- package/dist/src/editable-title/editable-title.d.ts.map +1 -0
- package/dist/src/{editableTitle/editableTitle.js → editable-title/editable-title.js} +33 -39
- package/dist/src/editable-title/index.d.ts +4 -0
- package/dist/src/editable-title/index.d.ts.map +1 -0
- package/dist/src/{editableTitle → editable-title}/index.js +1 -1
- package/dist/src/{emptyState/emptyState.d.ts → empty-state/empty-state.d.ts} +1 -1
- package/dist/src/empty-state/empty-state.d.ts.map +1 -0
- package/dist/src/{emptyState/emptyState.js → empty-state/empty-state.js} +5 -2
- package/dist/src/empty-state/index.d.ts +3 -0
- package/dist/src/empty-state/index.d.ts.map +1 -0
- package/dist/src/empty-state/index.js +1 -0
- package/dist/src/{errorSummary/errorSummary.d.ts → error-summary/error-summary.d.ts} +2 -2
- package/dist/src/error-summary/error-summary.d.ts.map +1 -0
- package/dist/src/{errorSummary/errorSummary.js → error-summary/error-summary.js} +7 -5
- package/dist/src/error-summary/index.d.ts +3 -0
- package/dist/src/error-summary/index.d.ts.map +1 -0
- package/dist/src/error-summary/index.js +1 -0
- package/dist/src/field/field.d.ts +2 -7
- package/dist/src/field/field.d.ts.map +1 -1
- package/dist/src/field/field.js +12 -13
- package/dist/src/field/index.d.ts.map +1 -1
- package/dist/src/{fieldGrid/fieldGrid.d.ts → field-grid/field-grid.d.ts} +1 -1
- package/dist/src/field-grid/field-grid.d.ts.map +1 -0
- package/dist/src/{fieldGrid/fieldGrid.js → field-grid/field-grid.js} +1 -1
- package/dist/src/field-grid/index.d.ts +3 -0
- package/dist/src/field-grid/index.d.ts.map +1 -0
- package/dist/src/field-grid/index.js +1 -0
- package/dist/src/fields/fields.d.ts.map +1 -1
- package/dist/src/fields/fields.js +4 -1
- package/dist/src/fields/index.d.ts.map +1 -1
- package/dist/src/fieldset/fieldset.d.ts.map +1 -1
- package/dist/src/fieldset/index.d.ts.map +1 -1
- package/dist/src/{fileTree/fileTree.d.ts → file-tree/file-tree.d.ts} +5 -5
- package/dist/src/file-tree/file-tree.d.ts.map +1 -0
- package/dist/src/file-tree/file-tree.js +242 -0
- package/dist/src/file-tree/index.d.ts +3 -0
- package/dist/src/file-tree/index.d.ts.map +1 -0
- package/dist/src/{fileTree → file-tree}/index.js +1 -1
- package/dist/src/{filterChip/filterChip.d.ts → filter-chip/filter-chip.d.ts} +1 -1
- package/dist/src/filter-chip/filter-chip.d.ts.map +1 -0
- package/dist/src/{filterChip/filterChip.js → filter-chip/filter-chip.js} +11 -7
- package/dist/src/filter-chip/index.d.ts +3 -0
- package/dist/src/filter-chip/index.d.ts.map +1 -0
- package/dist/src/filter-chip/index.js +1 -0
- package/dist/src/{filterStrip/filterStrip.d.ts → filter-strip/filter-strip.d.ts} +1 -1
- package/dist/src/filter-strip/filter-strip.d.ts.map +1 -0
- package/dist/src/{filterStrip/filterStrip.js → filter-strip/filter-strip.js} +1 -1
- package/dist/src/filter-strip/index.d.ts +3 -0
- package/dist/src/filter-strip/index.d.ts.map +1 -0
- package/dist/src/filter-strip/index.js +1 -0
- package/dist/src/{flashWord/flashWord.d.ts → flash-word/flash-word.d.ts} +2 -2
- package/dist/src/flash-word/flash-word.d.ts.map +1 -0
- package/dist/src/{flashWord/flashWord.js → flash-word/flash-word.js} +2 -3
- package/dist/src/flash-word/index.d.ts +3 -0
- package/dist/src/flash-word/index.d.ts.map +1 -0
- package/dist/src/flash-word/index.js +1 -0
- package/dist/src/focus/focus.d.ts.map +1 -1
- package/dist/src/focus/focus.js +0 -2
- package/dist/src/format/format.d.ts +0 -7
- package/dist/src/format/format.d.ts.map +1 -1
- package/dist/src/format/format.js +7 -16
- package/dist/src/format/index.d.ts.map +1 -1
- package/dist/src/glyph/glyph.d.ts +1 -2
- package/dist/src/glyph/glyph.d.ts.map +1 -1
- package/dist/src/glyph/glyph.js +0 -2
- package/dist/src/glyph/glyphs.d.ts +19 -4
- package/dist/src/glyph/glyphs.d.ts.map +1 -1
- package/dist/src/glyph/glyphs.js +2577 -2594
- package/dist/src/glyph/index.d.ts.map +1 -1
- package/dist/src/group/group.d.ts.map +1 -1
- package/dist/src/group/index.d.ts.map +1 -1
- package/dist/src/history/history.d.ts +1 -1
- package/dist/src/history/history.d.ts.map +1 -1
- package/dist/src/history/history.js +6 -3
- package/dist/src/history/index.d.ts.map +1 -1
- package/dist/src/{iconButton/iconButton.d.ts → icon-button/icon-button.d.ts} +1 -1
- package/dist/src/icon-button/icon-button.d.ts.map +1 -0
- package/dist/src/{iconButton/iconButton.js → icon-button/icon-button.js} +6 -4
- package/dist/src/icon-button/index.d.ts +3 -0
- package/dist/src/icon-button/index.d.ts.map +1 -0
- package/dist/src/icon-button/index.js +1 -0
- package/dist/src/identity/identity.d.ts.map +1 -1
- package/dist/src/identity/index.d.ts.map +1 -1
- package/dist/src/{imageFrame/imageFrame.d.ts → image-frame/image-frame.d.ts} +1 -1
- package/dist/src/image-frame/image-frame.d.ts.map +1 -0
- package/dist/src/{imageFrame/imageFrame.js → image-frame/image-frame.js} +19 -12
- package/dist/src/image-frame/index.d.ts +3 -0
- package/dist/src/image-frame/index.d.ts.map +1 -0
- package/dist/src/image-frame/index.js +1 -0
- package/dist/src/index.d.ts +41 -41
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +41 -41
- package/dist/src/inline-input/index.d.ts +3 -0
- package/dist/src/inline-input/index.d.ts.map +1 -0
- package/dist/src/{inlineInput → inline-input}/index.js +1 -1
- package/dist/src/{inlineInput/inlineInput.d.ts → inline-input/inline-input.d.ts} +8 -12
- package/dist/src/inline-input/inline-input.d.ts.map +1 -0
- package/dist/src/{inlineInput/inlineInput.js → inline-input/inline-input.js} +60 -75
- package/dist/src/key-help/index.d.ts +3 -0
- package/dist/src/key-help/index.d.ts.map +1 -0
- package/dist/src/{keyHelp → key-help}/index.js +1 -1
- package/dist/src/{keyHelp/keyHelp.d.ts → key-help/key-help.d.ts} +7 -7
- package/dist/src/key-help/key-help.d.ts.map +1 -0
- package/dist/src/{keyHelp/keyHelp.js → key-help/key-help.js} +48 -47
- package/dist/src/key-hint/index.d.ts +4 -0
- package/dist/src/key-hint/index.d.ts.map +1 -0
- package/dist/src/key-hint/index.js +2 -0
- package/dist/src/{keyHint/keyHint.d.ts → key-hint/key-hint.d.ts} +2 -2
- package/dist/src/key-hint/key-hint.d.ts.map +1 -0
- package/dist/src/{keyHint/keyHint.js → key-hint/key-hint.js} +2 -2
- package/dist/src/{keyHint/keyLabel.d.ts → key-hint/key-label.d.ts} +2 -3
- package/dist/src/key-hint/key-label.d.ts.map +1 -0
- package/dist/src/{keyHint/keyLabel.js → key-hint/key-label.js} +29 -24
- package/dist/src/keymap/index.d.ts.map +1 -1
- package/dist/src/keymap/keymap.d.ts +2 -2
- package/dist/src/keymap/keymap.d.ts.map +1 -1
- package/dist/src/keymap/keymap.js +3 -1
- package/dist/src/keys/keys.d.ts +0 -2
- package/dist/src/keys/keys.d.ts.map +1 -1
- package/dist/src/keys/keys.js +0 -2
- package/dist/src/line-chart/index.d.ts +3 -0
- package/dist/src/line-chart/index.d.ts.map +1 -0
- package/dist/src/line-chart/index.js +1 -0
- package/dist/src/{lineChart/lineChart.d.ts → line-chart/line-chart.d.ts} +2 -2
- package/dist/src/line-chart/line-chart.d.ts.map +1 -0
- package/dist/src/{lineChart/lineChart.js → line-chart/line-chart.js} +52 -44
- package/dist/src/line-diff/diff.d.ts +29 -0
- package/dist/src/line-diff/diff.d.ts.map +1 -0
- package/dist/src/line-diff/diff.js +85 -0
- package/dist/src/line-diff/index.d.ts +5 -0
- package/dist/src/line-diff/index.d.ts.map +1 -0
- package/dist/src/line-diff/index.js +2 -0
- package/dist/src/{lineDiff/lineDiff.d.ts → line-diff/line-diff.d.ts} +1 -1
- package/dist/src/line-diff/line-diff.d.ts.map +1 -0
- package/dist/src/{lineDiff/lineDiff.js → line-diff/line-diff.js} +26 -19
- package/dist/src/{lineDiff → line-diff}/patch.d.ts +5 -9
- package/dist/src/line-diff/patch.d.ts.map +1 -0
- package/dist/src/{lineDiff → line-diff}/patch.js +54 -62
- package/dist/src/link-button/index.d.ts +3 -0
- package/dist/src/link-button/index.d.ts.map +1 -0
- package/dist/src/link-button/index.js +1 -0
- package/dist/src/{linkButton/linkButton.d.ts → link-button/link-button.d.ts} +2 -2
- package/dist/src/link-button/link-button.d.ts.map +1 -0
- package/dist/src/{linkButton/linkButton.js → link-button/link-button.js} +1 -1
- package/dist/src/link-state/index.d.ts +3 -0
- package/dist/src/link-state/index.d.ts.map +1 -0
- package/dist/src/link-state/index.js +1 -0
- package/dist/src/{linkState/linkState.d.ts → link-state/link-state.d.ts} +1 -1
- package/dist/src/link-state/link-state.d.ts.map +1 -0
- package/dist/src/link-state/link-state.js +24 -0
- package/dist/src/live-region/index.d.ts +3 -0
- package/dist/src/live-region/index.d.ts.map +1 -0
- package/dist/src/live-region/index.js +1 -0
- package/dist/src/{liveRegion/liveRegion.d.ts → live-region/live-region.d.ts} +6 -3
- package/dist/src/live-region/live-region.d.ts.map +1 -0
- package/dist/src/{liveRegion/liveRegion.js → live-region/live-region.js} +7 -5
- package/dist/src/loading/index.d.ts.map +1 -1
- package/dist/src/loading/loading.d.ts.map +1 -1
- package/dist/src/loading/loading.js +5 -1
- package/dist/src/mark/index.d.ts.map +1 -1
- package/dist/src/mark/mark.d.ts +0 -4
- package/dist/src/mark/mark.d.ts.map +1 -1
- package/dist/src/mark/mark.js +6 -3
- package/dist/src/media/index.d.ts.map +1 -1
- package/dist/src/media/media.d.ts +17 -42
- package/dist/src/media/media.d.ts.map +1 -1
- package/dist/src/media/media.js +106 -104
- package/dist/src/menu/index.d.ts.map +1 -1
- package/dist/src/menu/item.d.ts +8 -8
- package/dist/src/menu/item.d.ts.map +1 -1
- package/dist/src/menu/menu.d.ts +2 -5
- package/dist/src/menu/menu.d.ts.map +1 -1
- package/dist/src/menu/menu.js +19 -30
- package/dist/src/menu/slip.d.ts +4 -18
- package/dist/src/menu/slip.d.ts.map +1 -1
- package/dist/src/menu/slip.js +36 -36
- package/dist/src/meter/index.d.ts.map +1 -1
- package/dist/src/meter/meter.d.ts +1 -1
- package/dist/src/meter/meter.d.ts.map +1 -1
- package/dist/src/meter/meter.js +12 -15
- package/dist/src/monogram/index.d.ts.map +1 -1
- package/dist/src/monogram/monogram.d.ts.map +1 -1
- package/dist/src/monogram/monogram.js +9 -8
- package/dist/src/nav-strip/index.d.ts +3 -0
- package/dist/src/nav-strip/index.d.ts.map +1 -0
- package/dist/src/nav-strip/index.js +1 -0
- package/dist/src/{navStrip/navStrip.d.ts → nav-strip/nav-strip.d.ts} +3 -6
- package/dist/src/nav-strip/nav-strip.d.ts.map +1 -0
- package/dist/src/nav-strip/nav-strip.js +25 -0
- package/dist/src/notice/index.d.ts.map +1 -1
- package/dist/src/notice/notice.d.ts +0 -4
- package/dist/src/notice/notice.d.ts.map +1 -1
- package/dist/src/notice/notice.js +1 -4
- package/dist/src/outcome/index.d.ts.map +1 -1
- package/dist/src/outcome/outcome.d.ts.map +1 -1
- package/dist/src/outcome/outcome.js +1 -1
- package/dist/src/page-head/index.d.ts +3 -0
- package/dist/src/page-head/index.d.ts.map +1 -0
- package/dist/src/page-head/index.js +1 -0
- package/dist/src/{pageHead/pageHead.d.ts → page-head/page-head.d.ts} +1 -1
- package/dist/src/page-head/page-head.d.ts.map +1 -0
- package/dist/src/{pageHead/pageHead.js → page-head/page-head.js} +1 -1
- package/dist/src/panel/index.d.ts.map +1 -1
- package/dist/src/panel/panel.d.ts +0 -1
- package/dist/src/panel/panel.d.ts.map +1 -1
- package/dist/src/panel/panel.js +0 -1
- package/dist/src/password-field/index.d.ts +3 -0
- package/dist/src/password-field/index.d.ts.map +1 -0
- package/dist/src/password-field/index.js +1 -0
- package/dist/src/{passwordField/passwordField.d.ts → password-field/password-field.d.ts} +1 -1
- package/dist/src/password-field/password-field.d.ts.map +1 -0
- package/dist/src/{passwordField/passwordField.js → password-field/password-field.js} +4 -5
- package/dist/src/places/index.d.ts.map +1 -1
- package/dist/src/places/places.d.ts +3 -4
- package/dist/src/places/places.d.ts.map +1 -1
- package/dist/src/places/places.js +8 -2
- package/dist/src/props-list/index.d.ts +3 -0
- package/dist/src/props-list/index.d.ts.map +1 -0
- package/dist/src/props-list/index.js +1 -0
- package/dist/src/{propsList/propsList.d.ts → props-list/props-list.d.ts} +2 -2
- package/dist/src/props-list/props-list.d.ts.map +1 -0
- package/dist/src/{propsList/propsList.js → props-list/props-list.js} +2 -2
- package/dist/src/prose/index.d.ts.map +1 -1
- package/dist/src/prose/prose.d.ts.map +1 -1
- package/dist/src/query-chip/index.d.ts +3 -0
- package/dist/src/query-chip/index.d.ts.map +1 -0
- package/dist/src/query-chip/index.js +1 -0
- package/dist/src/{queryChip/queryChip.d.ts → query-chip/query-chip.d.ts} +1 -1
- package/dist/src/query-chip/query-chip.d.ts.map +1 -0
- package/dist/src/{queryChip/queryChip.js → query-chip/query-chip.js} +7 -4
- package/dist/src/{radioChoices → radio-choices}/index.d.ts +2 -2
- package/dist/src/radio-choices/index.d.ts.map +1 -0
- package/dist/src/{radioChoices → radio-choices}/index.js +1 -1
- package/dist/src/{radioChoices/radioChoices.d.ts → radio-choices/radio-choices.d.ts} +3 -3
- package/dist/src/radio-choices/radio-choices.d.ts.map +1 -0
- package/dist/src/{radioChoices/radioChoices.js → radio-choices/radio-choices.js} +25 -24
- package/dist/src/rail/index.d.ts.map +1 -1
- package/dist/src/rail/rail.d.ts +16 -32
- package/dist/src/rail/rail.d.ts.map +1 -1
- package/dist/src/rail/rail.js +97 -65
- package/dist/src/reel/index.d.ts +1 -1
- package/dist/src/reel/index.d.ts.map +1 -1
- package/dist/src/reel/layout.d.ts +12 -54
- package/dist/src/reel/layout.d.ts.map +1 -1
- package/dist/src/reel/layout.js +120 -145
- package/dist/src/reel/reel.d.ts +35 -34
- package/dist/src/reel/reel.d.ts.map +1 -1
- package/dist/src/reel/reel.js +253 -233
- package/dist/src/remote/index.d.ts.map +1 -1
- package/dist/src/remote/remote.d.ts +2 -2
- package/dist/src/remote/remote.d.ts.map +1 -1
- package/dist/src/remote/remote.js +6 -2
- package/dist/src/rows/index.d.ts.map +1 -1
- package/dist/src/rows/rows.d.ts +2 -2
- package/dist/src/rows/rows.d.ts.map +1 -1
- package/dist/src/rows/rows.js +16 -7
- package/dist/src/scheme/index.d.ts +1 -1
- package/dist/src/scheme/index.d.ts.map +1 -1
- package/dist/src/scheme/index.js +1 -1
- package/dist/src/scheme/{schemeSwitch.d.ts → scheme-switch.d.ts} +2 -2
- package/dist/src/scheme/scheme-switch.d.ts.map +1 -0
- package/dist/src/scheme/{schemeSwitch.js → scheme-switch.js} +33 -38
- package/dist/src/scheme/scheme.d.ts +0 -2
- package/dist/src/scheme/scheme.d.ts.map +1 -1
- package/dist/src/scheme/scheme.js +0 -2
- package/dist/src/secret/index.d.ts.map +1 -1
- package/dist/src/secret/secret.d.ts.map +1 -1
- package/dist/src/segmented/index.d.ts.map +1 -1
- package/dist/src/segmented/segmented.d.ts.map +1 -1
- package/dist/src/segmented/segmented.js +14 -3
- package/dist/src/select-all/index.d.ts +3 -0
- package/dist/src/select-all/index.d.ts.map +1 -0
- package/dist/src/select-all/index.js +1 -0
- package/dist/src/{selectAll/selectAll.d.ts → select-all/select-all.d.ts} +1 -1
- package/dist/src/select-all/select-all.d.ts.map +1 -0
- package/dist/src/{selectAll/selectAll.js → select-all/select-all.js} +2 -2
- package/dist/src/select-field/index.d.ts +3 -0
- package/dist/src/select-field/index.d.ts.map +1 -0
- package/dist/src/select-field/index.js +1 -0
- package/dist/src/{selectField/selectField.d.ts → select-field/select-field.d.ts} +2 -2
- package/dist/src/select-field/select-field.d.ts.map +1 -0
- package/dist/src/{selectField/selectField.js → select-field/select-field.js} +10 -7
- package/dist/src/sheet/index.d.ts.map +1 -1
- package/dist/src/sheet/sheet.d.ts.map +1 -1
- package/dist/src/sheet/sheet.js +4 -1
- package/dist/src/skip-link/index.d.ts +2 -0
- package/dist/src/skip-link/index.d.ts.map +1 -0
- package/dist/src/skip-link/index.js +1 -0
- package/dist/src/{skipLink/skipLink.d.ts → skip-link/skip-link.d.ts} +1 -3
- package/dist/src/skip-link/skip-link.d.ts.map +1 -0
- package/dist/src/{skipLink/skipLink.js → skip-link/skip-link.js} +7 -11
- package/dist/src/slot/slot.d.ts +1 -4
- package/dist/src/slot/slot.d.ts.map +1 -1
- package/dist/src/slot/slot.js +3 -3
- package/dist/src/sortable/index.d.ts.map +1 -1
- package/dist/src/sortable/sortable.d.ts +44 -44
- package/dist/src/sortable/sortable.d.ts.map +1 -1
- package/dist/src/sortable/sortable.js +60 -93
- package/dist/src/stack/index.d.ts.map +1 -1
- package/dist/src/stack/stack.d.ts.map +1 -1
- package/dist/src/stack/stack.js +0 -2
- package/dist/src/stage/index.d.ts.map +1 -1
- package/dist/src/stage/stage.d.ts +1 -1
- package/dist/src/stage/stage.d.ts.map +1 -1
- package/dist/src/stage/stage.js +4 -1
- package/dist/src/stat/index.d.ts.map +1 -1
- package/dist/src/stat/stat.d.ts +1 -1
- package/dist/src/stat/stat.d.ts.map +1 -1
- package/dist/src/stat/stat.js +17 -8
- package/dist/src/status-bar/index.d.ts +4 -0
- package/dist/src/status-bar/index.d.ts.map +1 -0
- package/dist/src/status-bar/index.js +2 -0
- package/dist/src/{statusBar/statusBar.d.ts → status-bar/status-bar.d.ts} +4 -4
- package/dist/src/status-bar/status-bar.d.ts.map +1 -0
- package/dist/src/{statusBar/statusBar.js → status-bar/status-bar.js} +5 -6
- package/dist/src/subscription/{prefixKeys.d.ts → prefix-keys.d.ts} +1 -2
- package/dist/src/subscription/prefix-keys.d.ts.map +1 -0
- package/dist/src/subscription/{prefixKeys.js → prefix-keys.js} +2 -5
- package/dist/src/table/index.d.ts.map +1 -1
- package/dist/src/table/table.d.ts +1 -1
- package/dist/src/table/table.d.ts.map +1 -1
- package/dist/src/table/table.js +19 -7
- package/dist/src/tabs/index.d.ts.map +1 -1
- package/dist/src/tabs/tabs.d.ts +4 -4
- package/dist/src/tabs/tabs.d.ts.map +1 -1
- package/dist/src/tabs/tabs.js +1 -6
- package/dist/src/tag/index.d.ts.map +1 -1
- package/dist/src/tag/tag.d.ts.map +1 -1
- package/dist/src/tag/tag.js +4 -1
- package/dist/src/text-button/index.d.ts +3 -0
- package/dist/src/text-button/index.d.ts.map +1 -0
- package/dist/src/text-button/index.js +1 -0
- package/dist/src/{textButton/textButton.d.ts → text-button/text-button.d.ts} +1 -1
- package/dist/src/text-button/text-button.d.ts.map +1 -0
- package/dist/src/{textButton/textButton.js → text-button/text-button.js} +2 -2
- package/dist/src/textarea-field/index.d.ts +3 -0
- package/dist/src/textarea-field/index.d.ts.map +1 -0
- package/dist/src/textarea-field/index.js +1 -0
- package/dist/src/{textareaField/textareaField.d.ts → textarea-field/textarea-field.d.ts} +1 -1
- package/dist/src/textarea-field/textarea-field.d.ts.map +1 -0
- package/dist/src/{textareaField/textareaField.js → textarea-field/textarea-field.js} +2 -2
- package/dist/src/time/index.d.ts.map +1 -1
- package/dist/src/time/time.d.ts.map +1 -1
- package/dist/src/time/time.js +16 -9
- package/dist/src/tips/index.d.ts.map +1 -1
- package/dist/src/tips/tips.d.ts +7 -18
- package/dist/src/tips/tips.d.ts.map +1 -1
- package/dist/src/tips/tips.js +67 -65
- package/dist/src/toast/index.d.ts.map +1 -1
- package/dist/src/toast/stack.d.ts +1 -8
- package/dist/src/toast/stack.d.ts.map +1 -1
- package/dist/src/toast/stack.js +5 -18
- package/dist/src/toast/toast.d.ts +3 -5
- package/dist/src/toast/toast.d.ts.map +1 -1
- package/dist/src/toast/toast.js +42 -39
- package/dist/src/toc/index.d.ts.map +1 -1
- package/dist/src/toc/toc.d.ts +3 -3
- package/dist/src/toc/toc.d.ts.map +1 -1
- package/dist/src/toc/toc.js +10 -7
- package/dist/src/toolbar/index.d.ts.map +1 -1
- package/dist/src/toolbar/toolbar.d.ts +1 -1
- package/dist/src/toolbar/toolbar.d.ts.map +1 -1
- package/dist/src/toolbar/toolbar.js +27 -24
- package/dist/src/{topBar/barHeight.d.ts → top-bar/bar-height.d.ts} +1 -2
- package/dist/src/top-bar/bar-height.d.ts.map +1 -0
- package/dist/src/{topBar/barHeight.js → top-bar/bar-height.js} +20 -13
- package/dist/src/top-bar/index.d.ts +4 -0
- package/dist/src/top-bar/index.d.ts.map +1 -0
- package/dist/src/top-bar/index.js +2 -0
- package/dist/src/{topBar/topBar.d.ts → top-bar/top-bar.d.ts} +3 -3
- package/dist/src/top-bar/top-bar.d.ts.map +1 -0
- package/dist/src/{topBar/topBar.js → top-bar/top-bar.js} +2 -2
- package/dist/src/video-frame/index.d.ts +3 -0
- package/dist/src/video-frame/index.d.ts.map +1 -0
- package/dist/src/video-frame/index.js +1 -0
- package/dist/src/{videoFrame/videoFrame.d.ts → video-frame/video-frame.d.ts} +1 -1
- package/dist/src/video-frame/video-frame.d.ts.map +1 -0
- package/dist/src/{videoFrame/videoFrame.js → video-frame/video-frame.js} +11 -7
- package/dist/src/wall/index.d.ts.map +1 -1
- package/dist/src/wall/wall.d.ts.map +1 -1
- package/dist/src/window/index.d.ts.map +1 -1
- package/dist/src/window/window.d.ts +2 -2
- package/dist/src/window/window.d.ts.map +1 -1
- package/dist/src/window/window.js +4 -2
- package/dist/src/wordmark/index.d.ts.map +1 -1
- package/dist/src/wordmark/wordmark.d.ts.map +1 -1
- package/dist/src/wrap/index.d.ts.map +1 -1
- package/dist/src/wrap/wrap.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/adapters/diagram.ts +278 -0
- package/src/adapters/mermaid.ts +13 -273
- package/src/announcer/announcer.ts +54 -35
- package/src/attributes/attributes.ts +3 -1
- package/src/{audioFrame/audioFrame.ts → audio-frame/audio-frame.ts} +4 -6
- package/src/audio-frame/index.ts +3 -0
- package/src/banner/banner.ts +5 -4
- package/src/banner/index.ts +1 -0
- package/src/{barChart/barChart.ts → bar-chart/bar-chart.ts} +81 -43
- package/src/bar-chart/index.ts +3 -0
- package/src/bench/bench.ts +5 -4
- package/src/bench/index.ts +1 -0
- package/src/board/board.ts +338 -243
- package/src/board/index.ts +8 -1
- package/src/button/button.ts +24 -16
- package/src/button/index.ts +8 -1
- package/src/card/card.ts +23 -21
- package/src/card/index.ts +1 -0
- package/src/chart-table/chart-table.ts +87 -0
- package/src/chip/chip.ts +13 -9
- package/src/chip/index.ts +1 -0
- package/src/choice/choice.ts +13 -7
- package/src/choice/index.ts +1 -0
- package/src/choices/choices.ts +4 -3
- package/src/choices/index.ts +1 -0
- package/src/{codeEditor/codeEditor.ts → code-editor/code-editor.ts} +5 -4
- package/src/code-editor/index.ts +3 -0
- package/src/{codeSurface/codeSurface.ts → code-surface/code-surface.ts} +11 -5
- package/src/code-surface/index.ts +3 -0
- package/src/{commandPalette/commandPalette.ts → command-palette/command-palette.ts} +470 -295
- package/src/{commandPalette → command-palette}/index.ts +12 -2
- package/src/{commandPalette → command-palette}/keys.ts +44 -43
- package/src/{commandPalette → command-palette}/match.ts +42 -30
- package/src/{commandPalette → command-palette}/message.ts +13 -20
- package/src/{confirmDialog/confirmDialog.ts → confirm-dialog/confirm-dialog.ts} +51 -46
- package/src/{confirmDialog → confirm-dialog}/index.ts +3 -2
- package/src/{contextMenu/contextMenu.ts → context-menu/context-menu.ts} +71 -70
- package/src/{contextMenu → context-menu}/index.ts +4 -2
- package/src/{copyButton/copyButton.ts → copy-button/copy-button.ts} +51 -54
- package/src/{copyButton → copy-button}/index.ts +3 -2
- package/src/crumbs/crumbs.ts +7 -6
- package/src/crumbs/index.ts +1 -0
- package/src/deck/deck.ts +4 -3
- package/src/deck/index.ts +1 -0
- package/src/dialog/dialog.ts +135 -113
- package/src/dialog/fold.ts +44 -25
- package/src/dialog/index.ts +9 -1
- package/src/disclosure/disclosure.ts +14 -8
- package/src/disclosure/index.ts +1 -0
- package/src/dom/html-element.ts +10 -0
- package/src/drag/drag.ts +102 -119
- package/src/{dropZone/dropZone.ts → drop-zone/drop-zone.ts} +43 -43
- package/src/drop-zone/index.ts +11 -0
- package/src/{editableTitle/editableTitle.ts → editable-title/editable-title.ts} +29 -32
- package/src/{editableTitle → editable-title}/index.ts +4 -2
- package/src/{emptyState/emptyState.ts → empty-state/empty-state.ts} +9 -5
- package/src/empty-state/index.ts +3 -0
- package/src/{errorSummary/errorSummary.ts → error-summary/error-summary.ts} +16 -7
- package/src/error-summary/index.ts +3 -0
- package/src/field/field.ts +38 -28
- package/src/field/index.ts +1 -0
- package/src/{fieldGrid/fieldGrid.ts → field-grid/field-grid.ts} +4 -3
- package/src/field-grid/index.ts +3 -0
- package/src/fields/fields.ts +9 -5
- package/src/fields/index.ts +1 -0
- package/src/fieldset/fieldset.ts +6 -5
- package/src/fieldset/index.ts +1 -0
- package/src/{fileTree/fileTree.ts → file-tree/file-tree.ts} +241 -166
- package/src/file-tree/index.ts +12 -0
- package/src/{filterChip/filterChip.ts → filter-chip/filter-chip.ts} +32 -13
- package/src/filter-chip/index.ts +3 -0
- package/src/{filterStrip/filterStrip.ts → filter-strip/filter-strip.ts} +4 -3
- package/src/filter-strip/index.ts +3 -0
- package/src/{flashWord/flashWord.ts → flash-word/flash-word.ts} +9 -7
- package/src/flash-word/index.ts +3 -0
- package/src/focus/focus.ts +5 -5
- package/src/format/format.ts +37 -31
- package/src/format/index.ts +1 -0
- package/src/glyph/glyph.ts +7 -6
- package/src/glyph/glyphs.ts +2601 -2611
- package/src/glyph/index.ts +3 -0
- package/src/group/group.ts +4 -3
- package/src/group/index.ts +1 -0
- package/src/history/history.ts +18 -10
- package/src/history/index.ts +1 -0
- package/src/{iconButton/iconButton.ts → icon-button/icon-button.ts} +13 -7
- package/src/icon-button/index.ts +3 -0
- package/src/identity/identity.ts +7 -6
- package/src/identity/index.ts +1 -0
- package/src/{imageFrame/imageFrame.ts → image-frame/image-frame.ts} +43 -25
- package/src/image-frame/index.ts +3 -0
- package/src/index.ts +139 -41
- package/src/{inlineInput → inline-input}/index.ts +3 -2
- package/src/{inlineInput/inlineInput.ts → inline-input/inline-input.ts} +97 -88
- package/src/{keyHelp → key-help}/index.ts +3 -2
- package/src/{keyHelp/keyHelp.ts → key-help/key-help.ts} +74 -62
- package/src/key-hint/index.ts +5 -0
- package/src/{keyHint/keyHint.ts → key-hint/key-hint.ts} +10 -5
- package/src/{keyHint/keyLabel.ts → key-hint/key-label.ts} +43 -22
- package/src/keymap/index.ts +1 -0
- package/src/keymap/keymap.ts +23 -9
- package/src/keys/keys.ts +0 -2
- package/src/line-chart/index.ts +3 -0
- package/src/{lineChart/lineChart.ts → line-chart/line-chart.ts} +71 -49
- package/src/line-diff/diff.ts +196 -0
- package/src/line-diff/index.ts +7 -0
- package/src/{lineDiff/lineDiff.ts → line-diff/line-diff.ts} +45 -23
- package/src/{lineDiff → line-diff}/patch.ts +104 -76
- package/src/link-button/index.ts +3 -0
- package/src/{linkButton/linkButton.ts → link-button/link-button.ts} +7 -5
- package/src/link-state/index.ts +3 -0
- package/src/{linkState/linkState.ts → link-state/link-state.ts} +20 -9
- package/src/live-region/index.ts +3 -0
- package/src/{liveRegion/liveRegion.ts → live-region/live-region.ts} +15 -11
- package/src/loading/index.ts +1 -0
- package/src/loading/loading.ts +10 -5
- package/src/mark/index.ts +1 -0
- package/src/mark/mark.ts +17 -15
- package/src/media/index.ts +1 -0
- package/src/media/media.ts +255 -157
- package/src/menu/index.ts +4 -0
- package/src/menu/item.ts +10 -11
- package/src/menu/menu.ts +110 -97
- package/src/menu/slip.ts +129 -92
- package/src/meter/index.ts +1 -0
- package/src/meter/meter.ts +52 -33
- package/src/monogram/index.ts +1 -0
- package/src/monogram/monogram.ts +27 -19
- package/src/nav-strip/index.ts +3 -0
- package/src/{navStrip/navStrip.ts → nav-strip/nav-strip.ts} +21 -13
- package/src/notice/index.ts +1 -0
- package/src/notice/notice.ts +24 -16
- package/src/outcome/index.ts +1 -0
- package/src/outcome/outcome.ts +14 -6
- package/src/page-head/index.ts +3 -0
- package/src/{pageHead/pageHead.ts → page-head/page-head.ts} +6 -5
- package/src/panel/index.ts +1 -0
- package/src/panel/panel.ts +6 -6
- package/src/password-field/index.ts +3 -0
- package/src/{passwordField/passwordField.ts → password-field/password-field.ts} +13 -13
- package/src/pixel-paper.css +26 -508
- package/src/places/index.ts +1 -0
- package/src/places/places.ts +22 -11
- package/src/props-list/index.ts +3 -0
- package/src/{propsList/propsList.ts → props-list/props-list.ts} +6 -6
- package/src/prose/index.ts +1 -0
- package/src/prose/prose.ts +4 -4
- package/src/query-chip/index.ts +3 -0
- package/src/{queryChip/queryChip.ts → query-chip/query-chip.ts} +18 -7
- package/src/{radioChoices → radio-choices}/index.ts +3 -2
- package/src/{radioChoices/radioChoices.ts → radio-choices/radio-choices.ts} +79 -65
- package/src/rail/index.ts +1 -0
- package/src/rail/rail.ts +291 -225
- package/src/reel/index.ts +8 -1
- package/src/reel/layout.ts +393 -238
- package/src/reel/reel.ts +750 -452
- package/src/remote/index.ts +1 -0
- package/src/remote/remote.ts +18 -11
- package/src/rows/index.ts +1 -0
- package/src/rows/rows.ts +83 -47
- package/src/scheme/index.ts +3 -1
- package/src/scheme/{schemeSwitch.ts → scheme-switch.ts} +24 -35
- package/src/scheme/scheme.ts +4 -4
- package/src/secret/index.ts +1 -0
- package/src/secret/secret.ts +5 -4
- package/src/segmented/index.ts +1 -0
- package/src/segmented/segmented.ts +22 -10
- package/src/select-all/index.ts +3 -0
- package/src/{selectAll/selectAll.ts → select-all/select-all.ts} +9 -8
- package/src/{selectField → select-field}/index.ts +3 -2
- package/src/{selectField/selectField.ts → select-field/select-field.ts} +25 -11
- package/src/sheet/index.ts +1 -0
- package/src/sheet/sheet.ts +9 -5
- package/src/skip-link/index.ts +1 -0
- package/src/{skipLink/skipLink.ts → skip-link/skip-link.ts} +9 -15
- package/src/slot/slot.ts +5 -6
- package/src/sortable/index.ts +1 -0
- package/src/sortable/sortable.ts +287 -206
- package/src/stack/index.ts +1 -0
- package/src/stack/stack.ts +6 -7
- package/src/stage/index.ts +1 -0
- package/src/stage/stage.ts +12 -8
- package/src/stat/index.ts +1 -0
- package/src/stat/stat.ts +39 -20
- package/src/status-bar/index.ts +5 -0
- package/src/{statusBar/statusBar.ts → status-bar/status-bar.ts} +18 -11
- package/src/subscription/{prefixKeys.ts → prefix-keys.ts} +5 -6
- package/src/table/index.ts +1 -0
- package/src/table/table.ts +49 -24
- package/src/tabs/index.ts +1 -0
- package/src/tabs/tabs.ts +58 -60
- package/src/tag/index.ts +1 -0
- package/src/tag/tag.ts +14 -7
- package/src/text-button/index.ts +3 -0
- package/src/{textButton/textButton.ts → text-button/text-button.ts} +7 -5
- package/src/textarea-field/index.ts +3 -0
- package/src/{textareaField/textareaField.ts → textarea-field/textarea-field.ts} +15 -7
- package/src/time/index.ts +1 -0
- package/src/time/time.ts +58 -25
- package/src/tips/index.ts +1 -0
- package/src/tips/tips.ts +183 -127
- package/src/toast/index.ts +3 -0
- package/src/toast/stack.ts +22 -23
- package/src/toast/toast.ts +168 -100
- package/src/toc/index.ts +1 -0
- package/src/toc/toc.ts +42 -27
- package/src/tokens.css +7 -24
- package/src/toolbar/index.ts +1 -0
- package/src/toolbar/toolbar.ts +78 -40
- package/src/{topBar/barHeight.ts → top-bar/bar-height.ts} +26 -12
- package/src/top-bar/index.ts +5 -0
- package/src/{topBar/topBar.ts → top-bar/top-bar.ts} +13 -7
- package/src/video-frame/index.ts +3 -0
- package/src/{videoFrame/videoFrame.ts → video-frame/video-frame.ts} +31 -18
- package/src/wall/index.ts +1 -0
- package/src/wall/wall.ts +13 -10
- package/src/window/index.ts +1 -0
- package/src/window/window.ts +15 -9
- package/src/wordmark/index.ts +1 -0
- package/src/wordmark/wordmark.ts +4 -3
- package/src/wrap/index.ts +1 -0
- package/src/wrap/wrap.ts +4 -3
- package/dist/src/audioFrame/audioFrame.d.ts.map +0 -1
- package/dist/src/audioFrame/index.d.ts +0 -3
- package/dist/src/audioFrame/index.d.ts.map +0 -1
- package/dist/src/audioFrame/index.js +0 -1
- package/dist/src/barChart/barChart.d.ts.map +0 -1
- package/dist/src/barChart/index.d.ts +0 -3
- package/dist/src/barChart/index.d.ts.map +0 -1
- package/dist/src/barChart/index.js +0 -1
- package/dist/src/chartTable/chartTable.d.ts.map +0 -1
- package/dist/src/codeEditor/codeEditor.d.ts.map +0 -1
- package/dist/src/codeEditor/index.d.ts +0 -3
- package/dist/src/codeEditor/index.d.ts.map +0 -1
- package/dist/src/codeEditor/index.js +0 -1
- package/dist/src/codeSurface/codeSurface.d.ts.map +0 -1
- package/dist/src/codeSurface/index.d.ts +0 -3
- package/dist/src/codeSurface/index.d.ts.map +0 -1
- package/dist/src/codeSurface/index.js +0 -1
- package/dist/src/commandPalette/commandPalette.d.ts.map +0 -1
- package/dist/src/commandPalette/commandPalette.js +0 -611
- package/dist/src/commandPalette/index.d.ts.map +0 -1
- package/dist/src/commandPalette/keys.d.ts.map +0 -1
- package/dist/src/commandPalette/keys.js +0 -102
- package/dist/src/commandPalette/match.d.ts.map +0 -1
- package/dist/src/commandPalette/message.d.ts.map +0 -1
- package/dist/src/confirmDialog/confirmDialog.d.ts.map +0 -1
- package/dist/src/confirmDialog/index.d.ts +0 -3
- package/dist/src/confirmDialog/index.d.ts.map +0 -1
- package/dist/src/contextMenu/contextMenu.d.ts.map +0 -1
- package/dist/src/contextMenu/index.d.ts.map +0 -1
- package/dist/src/copyButton/copyButton.d.ts.map +0 -1
- package/dist/src/copyButton/index.d.ts +0 -3
- package/dist/src/copyButton/index.d.ts.map +0 -1
- package/dist/src/copyButton/index.js +0 -1
- package/dist/src/dropZone/dropZone.d.ts.map +0 -1
- package/dist/src/dropZone/index.d.ts +0 -3
- package/dist/src/dropZone/index.d.ts.map +0 -1
- package/dist/src/dropZone/index.js +0 -1
- package/dist/src/editableTitle/editableTitle.d.ts.map +0 -1
- package/dist/src/editableTitle/index.d.ts +0 -4
- package/dist/src/editableTitle/index.d.ts.map +0 -1
- package/dist/src/emptyState/emptyState.d.ts.map +0 -1
- package/dist/src/emptyState/index.d.ts +0 -3
- package/dist/src/emptyState/index.d.ts.map +0 -1
- package/dist/src/emptyState/index.js +0 -1
- package/dist/src/errorSummary/errorSummary.d.ts.map +0 -1
- package/dist/src/errorSummary/index.d.ts +0 -3
- package/dist/src/errorSummary/index.d.ts.map +0 -1
- package/dist/src/errorSummary/index.js +0 -1
- package/dist/src/fieldGrid/fieldGrid.d.ts.map +0 -1
- package/dist/src/fieldGrid/index.d.ts +0 -3
- package/dist/src/fieldGrid/index.d.ts.map +0 -1
- package/dist/src/fieldGrid/index.js +0 -1
- package/dist/src/fileTree/fileTree.d.ts.map +0 -1
- package/dist/src/fileTree/fileTree.js +0 -230
- package/dist/src/fileTree/index.d.ts +0 -3
- package/dist/src/fileTree/index.d.ts.map +0 -1
- package/dist/src/filterChip/filterChip.d.ts.map +0 -1
- package/dist/src/filterChip/index.d.ts +0 -3
- package/dist/src/filterChip/index.d.ts.map +0 -1
- package/dist/src/filterChip/index.js +0 -1
- package/dist/src/filterStrip/filterStrip.d.ts.map +0 -1
- package/dist/src/filterStrip/index.d.ts +0 -3
- package/dist/src/filterStrip/index.d.ts.map +0 -1
- package/dist/src/filterStrip/index.js +0 -1
- package/dist/src/flashWord/flashWord.d.ts.map +0 -1
- package/dist/src/flashWord/index.d.ts +0 -3
- package/dist/src/flashWord/index.d.ts.map +0 -1
- package/dist/src/flashWord/index.js +0 -1
- package/dist/src/iconButton/iconButton.d.ts.map +0 -1
- package/dist/src/iconButton/index.d.ts +0 -3
- package/dist/src/iconButton/index.d.ts.map +0 -1
- package/dist/src/iconButton/index.js +0 -1
- package/dist/src/imageFrame/imageFrame.d.ts.map +0 -1
- package/dist/src/imageFrame/index.d.ts +0 -3
- package/dist/src/imageFrame/index.d.ts.map +0 -1
- package/dist/src/imageFrame/index.js +0 -1
- package/dist/src/inlineInput/index.d.ts +0 -3
- package/dist/src/inlineInput/index.d.ts.map +0 -1
- package/dist/src/inlineInput/inlineInput.d.ts.map +0 -1
- package/dist/src/keyHelp/index.d.ts +0 -3
- package/dist/src/keyHelp/index.d.ts.map +0 -1
- package/dist/src/keyHelp/keyHelp.d.ts.map +0 -1
- package/dist/src/keyHint/index.d.ts +0 -4
- package/dist/src/keyHint/index.d.ts.map +0 -1
- package/dist/src/keyHint/index.js +0 -2
- package/dist/src/keyHint/keyHint.d.ts.map +0 -1
- package/dist/src/keyHint/keyLabel.d.ts.map +0 -1
- package/dist/src/lineChart/index.d.ts +0 -3
- package/dist/src/lineChart/index.d.ts.map +0 -1
- package/dist/src/lineChart/index.js +0 -1
- package/dist/src/lineChart/lineChart.d.ts.map +0 -1
- package/dist/src/lineDiff/diff.d.ts +0 -41
- package/dist/src/lineDiff/diff.d.ts.map +0 -1
- package/dist/src/lineDiff/diff.js +0 -92
- package/dist/src/lineDiff/index.d.ts +0 -5
- package/dist/src/lineDiff/index.d.ts.map +0 -1
- package/dist/src/lineDiff/index.js +0 -2
- package/dist/src/lineDiff/lineDiff.d.ts.map +0 -1
- package/dist/src/lineDiff/patch.d.ts.map +0 -1
- package/dist/src/linkButton/index.d.ts +0 -3
- package/dist/src/linkButton/index.d.ts.map +0 -1
- package/dist/src/linkButton/index.js +0 -1
- package/dist/src/linkButton/linkButton.d.ts.map +0 -1
- package/dist/src/linkState/index.d.ts +0 -3
- package/dist/src/linkState/index.d.ts.map +0 -1
- package/dist/src/linkState/index.js +0 -1
- package/dist/src/linkState/linkState.d.ts.map +0 -1
- package/dist/src/linkState/linkState.js +0 -14
- package/dist/src/liveRegion/index.d.ts +0 -3
- package/dist/src/liveRegion/index.d.ts.map +0 -1
- package/dist/src/liveRegion/index.js +0 -1
- package/dist/src/liveRegion/liveRegion.d.ts.map +0 -1
- package/dist/src/navStrip/index.d.ts +0 -3
- package/dist/src/navStrip/index.d.ts.map +0 -1
- package/dist/src/navStrip/index.js +0 -1
- package/dist/src/navStrip/navStrip.d.ts.map +0 -1
- package/dist/src/navStrip/navStrip.js +0 -27
- package/dist/src/pageHead/index.d.ts +0 -3
- package/dist/src/pageHead/index.d.ts.map +0 -1
- package/dist/src/pageHead/index.js +0 -1
- package/dist/src/pageHead/pageHead.d.ts.map +0 -1
- package/dist/src/passwordField/index.d.ts +0 -3
- package/dist/src/passwordField/index.d.ts.map +0 -1
- package/dist/src/passwordField/index.js +0 -1
- package/dist/src/passwordField/passwordField.d.ts.map +0 -1
- package/dist/src/propsList/index.d.ts +0 -3
- package/dist/src/propsList/index.d.ts.map +0 -1
- package/dist/src/propsList/index.js +0 -1
- package/dist/src/propsList/propsList.d.ts.map +0 -1
- package/dist/src/queryChip/index.d.ts +0 -3
- package/dist/src/queryChip/index.d.ts.map +0 -1
- package/dist/src/queryChip/index.js +0 -1
- package/dist/src/queryChip/queryChip.d.ts.map +0 -1
- package/dist/src/radioChoices/index.d.ts.map +0 -1
- package/dist/src/radioChoices/radioChoices.d.ts.map +0 -1
- package/dist/src/scheme/schemeSwitch.d.ts.map +0 -1
- package/dist/src/selectAll/index.d.ts +0 -3
- package/dist/src/selectAll/index.d.ts.map +0 -1
- package/dist/src/selectAll/index.js +0 -1
- package/dist/src/selectAll/selectAll.d.ts.map +0 -1
- package/dist/src/selectField/index.d.ts +0 -3
- package/dist/src/selectField/index.d.ts.map +0 -1
- package/dist/src/selectField/index.js +0 -1
- package/dist/src/selectField/selectField.d.ts.map +0 -1
- package/dist/src/skipLink/index.d.ts +0 -2
- package/dist/src/skipLink/index.d.ts.map +0 -1
- package/dist/src/skipLink/index.js +0 -1
- package/dist/src/skipLink/skipLink.d.ts.map +0 -1
- package/dist/src/statusBar/index.d.ts +0 -4
- package/dist/src/statusBar/index.d.ts.map +0 -1
- package/dist/src/statusBar/index.js +0 -2
- package/dist/src/statusBar/statusBar.d.ts.map +0 -1
- package/dist/src/subscription/prefixKeys.d.ts.map +0 -1
- package/dist/src/textButton/index.d.ts +0 -3
- package/dist/src/textButton/index.d.ts.map +0 -1
- package/dist/src/textButton/index.js +0 -1
- package/dist/src/textButton/textButton.d.ts.map +0 -1
- package/dist/src/textareaField/index.d.ts +0 -3
- package/dist/src/textareaField/index.d.ts.map +0 -1
- package/dist/src/textareaField/index.js +0 -1
- package/dist/src/textareaField/textareaField.d.ts.map +0 -1
- package/dist/src/topBar/barHeight.d.ts.map +0 -1
- package/dist/src/topBar/index.d.ts +0 -4
- package/dist/src/topBar/index.d.ts.map +0 -1
- package/dist/src/topBar/index.js +0 -2
- package/dist/src/topBar/topBar.d.ts.map +0 -1
- package/dist/src/videoFrame/index.d.ts +0 -3
- package/dist/src/videoFrame/index.d.ts.map +0 -1
- package/dist/src/videoFrame/index.js +0 -1
- package/dist/src/videoFrame/videoFrame.d.ts.map +0 -1
- package/src/audioFrame/index.ts +0 -2
- package/src/barChart/index.ts +0 -2
- package/src/chartTable/chartTable.ts +0 -88
- package/src/codeEditor/index.ts +0 -2
- package/src/codeSurface/index.ts +0 -2
- package/src/dropZone/index.ts +0 -2
- package/src/emptyState/index.ts +0 -2
- package/src/errorSummary/index.ts +0 -2
- package/src/fieldGrid/index.ts +0 -2
- package/src/fileTree/index.ts +0 -2
- package/src/filterChip/index.ts +0 -2
- package/src/filterStrip/index.ts +0 -2
- package/src/flashWord/index.ts +0 -2
- package/src/iconButton/index.ts +0 -2
- package/src/imageFrame/index.ts +0 -2
- package/src/keyHint/index.ts +0 -3
- package/src/lineChart/index.ts +0 -2
- package/src/lineDiff/diff.ts +0 -182
- package/src/lineDiff/index.ts +0 -4
- package/src/linkButton/index.ts +0 -2
- package/src/linkState/index.ts +0 -2
- package/src/liveRegion/index.ts +0 -2
- package/src/navStrip/index.ts +0 -2
- package/src/pageHead/index.ts +0 -2
- package/src/passwordField/index.ts +0 -2
- package/src/propsList/index.ts +0 -2
- package/src/queryChip/index.ts +0 -2
- package/src/selectAll/index.ts +0 -2
- package/src/skipLink/index.ts +0 -1
- package/src/statusBar/index.ts +0 -3
- package/src/textButton/index.ts +0 -2
- package/src/textareaField/index.ts +0 -2
- package/src/topBar/index.ts +0 -3
- package/src/videoFrame/index.ts +0 -2
package/src/rail/rail.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Cause } from "effect";
|
|
2
|
+
import { Array, Effect, Number, Option, Schema, Stream } from "effect";
|
|
2
3
|
import * as Command from "foldkit/command";
|
|
3
4
|
import * as Dom from "foldkit/dom";
|
|
4
5
|
import type { Html } from "foldkit/html";
|
|
@@ -11,19 +12,21 @@ import * as Subscription from "foldkit/subscription";
|
|
|
11
12
|
import type * as Update from "foldkit/update";
|
|
12
13
|
|
|
13
14
|
import * as Button from "../button/button.ts";
|
|
14
|
-
import {
|
|
15
|
-
import
|
|
16
|
-
|
|
15
|
+
import { htmlElement } from "../dom/html-element.ts";
|
|
16
|
+
import {
|
|
17
|
+
escapeKeys,
|
|
18
|
+
markDragging,
|
|
19
|
+
pointerMessages,
|
|
20
|
+
splitterAttributes,
|
|
21
|
+
} from "../drag/drag.ts";
|
|
22
|
+
import * as IconButton from "../icon-button/icon-button.ts";
|
|
23
|
+
import { prefixKeys } from "../subscription/prefix-keys.ts";
|
|
17
24
|
|
|
18
|
-
// MODEL
|
|
19
|
-
|
|
20
|
-
/** A splitter a pointer drags: pressed at `pressX` on a rail `fromWidth` wide, and the width
|
|
21
|
-
* it previews. */
|
|
22
25
|
const Resizing = Schema.Struct({
|
|
23
|
-
pointerId: Schema.
|
|
24
|
-
pressX: Schema.
|
|
25
|
-
fromWidth: Schema.
|
|
26
|
-
width: Schema.
|
|
26
|
+
pointerId: Schema.Finite,
|
|
27
|
+
pressX: Schema.Finite,
|
|
28
|
+
fromWidth: Schema.Finite,
|
|
29
|
+
width: Schema.Finite,
|
|
27
30
|
});
|
|
28
31
|
|
|
29
32
|
/** Schema for a rail: whether it is open as a drawer (at 900px and under; wider, it is always
|
|
@@ -34,9 +37,8 @@ export const Model = Schema.Struct({
|
|
|
34
37
|
isOpen: Schema.Boolean,
|
|
35
38
|
maybeResizing: Schema.Option(Resizing),
|
|
36
39
|
});
|
|
37
|
-
export type Model = typeof Model.Type;
|
|
38
40
|
|
|
39
|
-
|
|
41
|
+
export type Model = typeof Model.Type;
|
|
40
42
|
|
|
41
43
|
/** Union of all Messages a rail can produce. `ClosedDrawer` is the browser closing it on
|
|
42
44
|
* Escape or a press on the veil; `BlurredDrawer` is focus leaving it; `WidenedPastDrawer` is
|
|
@@ -44,12 +46,16 @@ export type Model = typeof Model.Type;
|
|
|
44
46
|
export const Message = defineMessageUnion({
|
|
45
47
|
ClickedOpen: {},
|
|
46
48
|
ClickedToggle: {},
|
|
47
|
-
PressedSplitter: {
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
PressedSplitter: {
|
|
50
|
+
pointerId: Schema.Finite,
|
|
51
|
+
clientX: Schema.Finite,
|
|
52
|
+
width: Schema.Finite,
|
|
53
|
+
},
|
|
54
|
+
MovedSplitter: { clientX: Schema.Finite },
|
|
55
|
+
ReleasedSplitter: { clientX: Schema.Finite },
|
|
50
56
|
CancelledSplitter: {},
|
|
51
57
|
PressedEscape: {},
|
|
52
|
-
PressedSplitterKey: { width: Schema.
|
|
58
|
+
PressedSplitterKey: { width: Schema.Finite },
|
|
53
59
|
ClickedClose: {},
|
|
54
60
|
ClosedDrawer: {},
|
|
55
61
|
BlurredDrawer: {},
|
|
@@ -58,6 +64,7 @@ export const Message = defineMessageUnion({
|
|
|
58
64
|
CompletedHideRailDrawer: {},
|
|
59
65
|
CompletedFocusRailToggle: {},
|
|
60
66
|
});
|
|
67
|
+
|
|
61
68
|
export type Message = typeof Message.Type;
|
|
62
69
|
|
|
63
70
|
/** What a rail asks of its parent. `ResizedRail`: its splitter was let go, or stepped by a
|
|
@@ -66,12 +73,11 @@ export type Message = typeof Message.Type;
|
|
|
66
73
|
* parent flips whether it keeps the rail hidden (per client) and passes it back as the view's
|
|
67
74
|
* `isHidden`. */
|
|
68
75
|
export const OutMessage = defineMessageUnion({
|
|
69
|
-
ResizedRail: { width: Schema.
|
|
76
|
+
ResizedRail: { width: Schema.Finite },
|
|
70
77
|
ToggledRail: {},
|
|
71
78
|
});
|
|
72
|
-
export type OutMessage = typeof OutMessage.Type;
|
|
73
79
|
|
|
74
|
-
|
|
80
|
+
export type OutMessage = typeof OutMessage.Type;
|
|
75
81
|
|
|
76
82
|
/** Configuration for creating a rail with `init`. The `id` is the rail's, unique in the
|
|
77
83
|
* document. */
|
|
@@ -84,20 +90,24 @@ export const init = (config: InitConfig): Model => ({
|
|
|
84
90
|
maybeResizing: Option.none(),
|
|
85
91
|
});
|
|
86
92
|
|
|
87
|
-
|
|
93
|
+
const WIDEST_DRAWER_WINDOW = 900;
|
|
94
|
+
const NARROWEST_RAILED_WINDOW = WIDEST_DRAWER_WINDOW + 1;
|
|
95
|
+
const LEAST_DECK_WIDTH = 421;
|
|
88
96
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
export const WIDTH = { start: 272, least: 220, most: 480, step: 16 };
|
|
97
|
+
export const WIDTH = {
|
|
98
|
+
start: 272,
|
|
99
|
+
leastFittingPanels: 220,
|
|
100
|
+
mostLeavingLeastDeck: NARROWEST_RAILED_WINDOW - LEAST_DECK_WIDTH,
|
|
101
|
+
arrowStep: 16,
|
|
102
|
+
};
|
|
96
103
|
|
|
97
104
|
const bounded = (width: number): number =>
|
|
98
|
-
Math.round(
|
|
99
|
-
|
|
100
|
-
|
|
105
|
+
Math.round(
|
|
106
|
+
Number.clamp(width, {
|
|
107
|
+
minimum: WIDTH.leastFittingPanels,
|
|
108
|
+
maximum: WIDTH.mostLeavingLeastDeck,
|
|
109
|
+
})
|
|
110
|
+
);
|
|
101
111
|
|
|
102
112
|
/** The rail's id, unique in the document. */
|
|
103
113
|
export const id = (model: Model): string => model.id;
|
|
@@ -109,24 +119,24 @@ const openButtonId = (model: Model): string => `${model.id}-open`;
|
|
|
109
119
|
|
|
110
120
|
const toggleId = (model: Model): string => `${model.id}-toggle`;
|
|
111
121
|
|
|
112
|
-
// COMMAND
|
|
113
|
-
|
|
114
122
|
const FOCUSABLE =
|
|
115
123
|
"a[href], button:not(:disabled), input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]";
|
|
116
124
|
|
|
117
|
-
const findRail = (
|
|
125
|
+
const findRail = (
|
|
126
|
+
railId: string
|
|
127
|
+
): Effect.Effect<HTMLElement, Cause.NoSuchElementError> =>
|
|
118
128
|
Effect.suspend(() =>
|
|
119
|
-
Effect.
|
|
129
|
+
Effect.fromOption(htmlElement(`#${CSS.escape(railId)}`))
|
|
120
130
|
);
|
|
121
131
|
|
|
122
|
-
/** The drawer's first Tab stop past its head: a control the keyboard reaches, so a tree's
|
|
123
|
-
* items other than its one stop (`tabindex="-1"`) are passed over, and so is the toggle,
|
|
124
|
-
* which the drawer does not print. */
|
|
125
132
|
export const firstTabStop = (rail: Element): Option.Option<HTMLElement> =>
|
|
126
133
|
Array.findFirst(
|
|
127
|
-
Array.fromIterable(
|
|
134
|
+
Array.fromIterable(
|
|
135
|
+
rail.querySelectorAll<HTMLElement>(`.rail-head ~ * :is(${FOCUSABLE})`)
|
|
136
|
+
),
|
|
128
137
|
(control) =>
|
|
129
|
-
control.tabIndex >= 0 &&
|
|
138
|
+
control.tabIndex >= 0 &&
|
|
139
|
+
control.closest("[inert], [hidden], .rail-toggle") === null
|
|
130
140
|
);
|
|
131
141
|
|
|
132
142
|
/** Opens the rail as a drawer over the page and puts focus on its first control past its
|
|
@@ -138,9 +148,13 @@ export const ShowRailDrawer = Command.define("ShowRailDrawer", {
|
|
|
138
148
|
Effect.gen(function* () {
|
|
139
149
|
yield* Render.afterCommit;
|
|
140
150
|
const rail = yield* findRail(railId);
|
|
151
|
+
|
|
141
152
|
if (!rail.matches(":popover-open")) {
|
|
142
|
-
yield* Effect.try(() =>
|
|
153
|
+
yield* Effect.try(() => {
|
|
154
|
+
rail.showPopover();
|
|
155
|
+
});
|
|
143
156
|
}
|
|
157
|
+
|
|
144
158
|
const control = yield* Effect.fromOption(firstTabStop(rail));
|
|
145
159
|
control.focus();
|
|
146
160
|
}).pipe(Effect.ignore, Effect.as(Message.CompletedShowRailDrawer())),
|
|
@@ -148,21 +162,30 @@ export const ShowRailDrawer = Command.define("ShowRailDrawer", {
|
|
|
148
162
|
|
|
149
163
|
/** Closes the drawer, and puts focus back on the button that opened it when asked. */
|
|
150
164
|
export const HideRailDrawer = Command.define("HideRailDrawer", {
|
|
151
|
-
args: {
|
|
165
|
+
args: {
|
|
166
|
+
railId: Schema.String,
|
|
167
|
+
buttonId: Schema.String,
|
|
168
|
+
isReturningFocus: Schema.Boolean,
|
|
169
|
+
},
|
|
152
170
|
messages: [Message.CompletedHideRailDrawer],
|
|
153
171
|
execute: ({ railId, buttonId, isReturningFocus }) =>
|
|
154
172
|
Effect.gen(function* () {
|
|
155
173
|
yield* Render.afterCommit;
|
|
156
174
|
const rail = yield* findRail(railId);
|
|
175
|
+
|
|
157
176
|
if (rail.matches(":popover-open")) {
|
|
158
|
-
yield* Effect.try(() =>
|
|
177
|
+
yield* Effect.try(() => {
|
|
178
|
+
rail.hidePopover();
|
|
179
|
+
});
|
|
159
180
|
}
|
|
160
181
|
}).pipe(
|
|
161
182
|
Effect.ignore,
|
|
162
183
|
Effect.andThen(
|
|
163
|
-
isReturningFocus
|
|
184
|
+
isReturningFocus
|
|
185
|
+
? Dom.focus(`#${CSS.escape(buttonId)}`).pipe(Effect.ignore)
|
|
186
|
+
: Effect.void
|
|
164
187
|
),
|
|
165
|
-
Effect.as(Message.CompletedHideRailDrawer())
|
|
188
|
+
Effect.as(Message.CompletedHideRailDrawer())
|
|
166
189
|
),
|
|
167
190
|
});
|
|
168
191
|
|
|
@@ -174,19 +197,20 @@ export const FocusRailToggle = Command.define("FocusRailToggle", {
|
|
|
174
197
|
messages: [Message.CompletedFocusRailToggle],
|
|
175
198
|
execute: ({ railId, toggleId: buttonId }) =>
|
|
176
199
|
Effect.gen(function* () {
|
|
177
|
-
// NOTE: read before the fold renders, which takes away the control focus is on
|
|
178
200
|
const rail = yield* findRail(railId);
|
|
179
201
|
const active = document.activeElement;
|
|
202
|
+
|
|
180
203
|
const isOnSplitter =
|
|
181
|
-
active?.matches(
|
|
204
|
+
active?.matches(
|
|
205
|
+
`.rail-resize[aria-controls="${CSS.escape(railId)}"]`
|
|
206
|
+
) ?? false;
|
|
207
|
+
|
|
182
208
|
if (rail.contains(active) || isOnSplitter) {
|
|
183
209
|
yield* Dom.focus(`#${CSS.escape(buttonId)}`);
|
|
184
210
|
}
|
|
185
211
|
}).pipe(Effect.ignore, Effect.as(Message.CompletedFocusRailToggle())),
|
|
186
212
|
});
|
|
187
213
|
|
|
188
|
-
// UPDATE
|
|
189
|
-
|
|
190
214
|
type UpdateReturn = Update.Return<Model, Message>;
|
|
191
215
|
|
|
192
216
|
const closeDrawer = (model: Model, isReturningFocus: boolean): UpdateReturn =>
|
|
@@ -194,12 +218,15 @@ const closeDrawer = (model: Model, isReturningFocus: boolean): UpdateReturn =>
|
|
|
194
218
|
? {
|
|
195
219
|
model: modifyFields(model, { isOpen: () => false }),
|
|
196
220
|
commands: [
|
|
197
|
-
HideRailDrawer({
|
|
221
|
+
HideRailDrawer({
|
|
222
|
+
railId: model.id,
|
|
223
|
+
buttonId: openButtonId(model),
|
|
224
|
+
isReturningFocus,
|
|
225
|
+
}),
|
|
198
226
|
],
|
|
199
227
|
}
|
|
200
228
|
: { model };
|
|
201
229
|
|
|
202
|
-
/** Opens the rail's drawer and moves focus to its first Tab stop. */
|
|
203
230
|
const open = (model: Model): UpdateReturn => ({
|
|
204
231
|
model: modifyFields(model, { isOpen: () => true }),
|
|
205
232
|
commands: [ShowRailDrawer({ railId: model.id })],
|
|
@@ -216,120 +243,141 @@ export const toggle = (model: Model): UpdateReturn => ({
|
|
|
216
243
|
commands: [FocusRailToggle({ railId: model.id, toggleId: toggleId(model) })],
|
|
217
244
|
});
|
|
218
245
|
|
|
219
|
-
const withResizing = (
|
|
220
|
-
|
|
246
|
+
const withResizing = (
|
|
247
|
+
model: Model,
|
|
248
|
+
maybeResizing: Option.Option<typeof Resizing.Type>
|
|
249
|
+
): Model => modifyFields(model, { maybeResizing: () => maybeResizing });
|
|
221
250
|
|
|
222
|
-
/** The width a dragged splitter previews with the pointer at `clientX`. */
|
|
223
251
|
const dragTo = (model: Model, clientX: number): Model =>
|
|
224
252
|
withResizing(
|
|
225
253
|
model,
|
|
226
254
|
Option.map(model.maybeResizing, (resizing) => ({
|
|
227
255
|
...resizing,
|
|
228
256
|
width: bounded(resizing.fromWidth + clientX - resizing.pressX),
|
|
229
|
-
}))
|
|
257
|
+
}))
|
|
230
258
|
);
|
|
231
259
|
|
|
232
260
|
/** Processes a rail Message and returns the next Model, Commands and OutMessage: a splitter let
|
|
233
261
|
* go where it changes the width, or stepped by a key, asks for the width, and the toggle asks
|
|
234
262
|
* to fold or unfold the rail. */
|
|
235
263
|
export const update = (model: Model, message: Message) =>
|
|
236
|
-
Message.match<Update.ReturnWithOutMessage<Model, Message, OutMessage>>(
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
:
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
264
|
+
Message.match<Update.ReturnWithOutMessage<Model, Message, OutMessage>>(
|
|
265
|
+
message,
|
|
266
|
+
{
|
|
267
|
+
ClickedOpen: () => open(model),
|
|
268
|
+
ClickedToggle: () => ({
|
|
269
|
+
...toggle(model),
|
|
270
|
+
outMessage: OutMessage.ToggledRail(),
|
|
271
|
+
}),
|
|
272
|
+
PressedSplitter: ({ pointerId, clientX, width }) =>
|
|
273
|
+
Option.isSome(model.maybeResizing)
|
|
274
|
+
? { model }
|
|
275
|
+
: {
|
|
276
|
+
model: withResizing(
|
|
277
|
+
model,
|
|
278
|
+
Option.some({
|
|
279
|
+
pointerId,
|
|
280
|
+
pressX: clientX,
|
|
281
|
+
fromWidth: width,
|
|
282
|
+
width,
|
|
283
|
+
})
|
|
284
|
+
),
|
|
285
|
+
},
|
|
286
|
+
MovedSplitter: ({ clientX }) => ({ model: dragTo(model, clientX) }),
|
|
287
|
+
ReleasedSplitter: ({ clientX }) =>
|
|
288
|
+
Option.match(dragTo(model, clientX).maybeResizing, {
|
|
289
|
+
onNone: () => ({ model }),
|
|
290
|
+
onSome: ({ fromWidth, width }) => ({
|
|
291
|
+
model: withResizing(model, Option.none()),
|
|
292
|
+
...(width === fromWidth
|
|
293
|
+
? {}
|
|
294
|
+
: { outMessage: OutMessage.ResizedRail({ width }) }),
|
|
295
|
+
}),
|
|
255
296
|
}),
|
|
297
|
+
CancelledSplitter: () => ({ model: withResizing(model, Option.none()) }),
|
|
298
|
+
PressedEscape: () => ({ model: withResizing(model, Option.none()) }),
|
|
299
|
+
PressedSplitterKey: ({ width }) => ({
|
|
300
|
+
model,
|
|
301
|
+
outMessage: OutMessage.ResizedRail({ width: bounded(width) }),
|
|
256
302
|
}),
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
model,
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
WidenedPastDrawer: () => closeDrawer(model, false),
|
|
267
|
-
CompletedShowRailDrawer: () => ({ model }),
|
|
268
|
-
CompletedHideRailDrawer: () => ({ model }),
|
|
269
|
-
CompletedFocusRailToggle: () => ({ model }),
|
|
270
|
-
});
|
|
271
|
-
|
|
272
|
-
// DRAWER EVENTS
|
|
303
|
+
ClickedClose: () => close(model),
|
|
304
|
+
ClosedDrawer: () => close(model),
|
|
305
|
+
BlurredDrawer: () => closeDrawer(model, false),
|
|
306
|
+
WidenedPastDrawer: () => closeDrawer(model, false),
|
|
307
|
+
CompletedShowRailDrawer: () => ({ model }),
|
|
308
|
+
CompletedHideRailDrawer: () => ({ model }),
|
|
309
|
+
CompletedFocusRailToggle: () => ({ model }),
|
|
310
|
+
}
|
|
311
|
+
);
|
|
273
312
|
|
|
274
313
|
type DrawerMessage =
|
|
275
314
|
| typeof Message.ClosedDrawer.Type
|
|
276
315
|
| typeof Message.BlurredDrawer.Type
|
|
277
316
|
| typeof Message.WidenedPastDrawer.Type;
|
|
278
317
|
|
|
279
|
-
|
|
280
|
-
export const DRAWER_QUERY = "(max-width: 900px)";
|
|
318
|
+
export const DRAWER_QUERY = `(max-width: ${WIDEST_DRAWER_WINDOW}px)`;
|
|
281
319
|
|
|
282
|
-
/** The window crossing the drawer's width: growing past it while the drawer is open closes
|
|
283
|
-
* the drawer, since the rail is back in the page there. */
|
|
284
320
|
export const widthChangeMessage = (
|
|
285
321
|
isDrawerWidth: boolean,
|
|
286
|
-
isDrawerOpen: boolean
|
|
322
|
+
isDrawerOpen: boolean
|
|
287
323
|
): Option.Option<DrawerMessage> =>
|
|
288
|
-
!isDrawerWidth && isDrawerOpen
|
|
324
|
+
!isDrawerWidth && isDrawerOpen
|
|
325
|
+
? Option.some(Message.WidenedPastDrawer())
|
|
326
|
+
: Option.none();
|
|
289
327
|
|
|
290
|
-
/** The browser closing the drawer (Escape, a press on the veil); a toggle that opened it says
|
|
291
|
-
* nothing. */
|
|
292
328
|
export const drawerToggleMessage = (
|
|
293
|
-
event: Pick<ToggleEvent, "newState"
|
|
329
|
+
event: Pick<ToggleEvent, "newState">
|
|
294
330
|
): Option.Option<DrawerMessage> =>
|
|
295
|
-
Option.liftPredicate(
|
|
331
|
+
Option.liftPredicate(
|
|
332
|
+
Message.ClosedDrawer(),
|
|
333
|
+
() => event.newState === "closed"
|
|
334
|
+
);
|
|
296
335
|
|
|
297
|
-
/** Focus leaving the drawer while it is open (`isDrawerOpen`, the rail matching
|
|
298
|
-
* `:popover-open`); focus moving inside it says nothing. */
|
|
299
336
|
export const drawerFocusOutMessage = (
|
|
300
337
|
rail: Element,
|
|
301
338
|
event: FocusEvent,
|
|
302
|
-
isDrawerOpen: boolean
|
|
339
|
+
isDrawerOpen: boolean
|
|
303
340
|
): Option.Option<DrawerMessage> =>
|
|
304
341
|
Option.liftPredicate(
|
|
305
342
|
Message.BlurredDrawer(),
|
|
306
343
|
() =>
|
|
307
|
-
isDrawerOpen &&
|
|
344
|
+
isDrawerOpen &&
|
|
345
|
+
event.relatedTarget instanceof Node &&
|
|
346
|
+
!rail.contains(event.relatedTarget)
|
|
308
347
|
);
|
|
309
348
|
|
|
310
349
|
/** Follows the drawer the browser shows: the browser closing it (Escape, a press on the
|
|
311
350
|
* veil), focus leaving it while it is open, and the window growing past its width while it
|
|
312
351
|
* is open, each of which closes the rail. */
|
|
313
352
|
export const FollowRailDrawer = Mount.defineStream("FollowRailDrawer", {
|
|
314
|
-
messages: [
|
|
353
|
+
messages: [
|
|
354
|
+
Message.ClosedDrawer,
|
|
355
|
+
Message.BlurredDrawer,
|
|
356
|
+
Message.WidenedPastDrawer,
|
|
357
|
+
],
|
|
315
358
|
execute: ({ element }) => {
|
|
316
359
|
const isDrawerOpen = (): boolean => element.matches(":popover-open");
|
|
360
|
+
|
|
317
361
|
const fromToggle = Dom.streamFromEventFilterMap({
|
|
318
362
|
target: element,
|
|
319
363
|
type: "toggle",
|
|
320
364
|
filterMapEvent: drawerToggleMessage,
|
|
321
365
|
});
|
|
366
|
+
|
|
322
367
|
const fromFocusOut = Dom.streamFromEventFilterMap({
|
|
323
368
|
target: element,
|
|
324
369
|
type: "focusout",
|
|
325
|
-
filterMapEvent: (event) =>
|
|
370
|
+
filterMapEvent: (event) =>
|
|
371
|
+
drawerFocusOutMessage(element, event, isDrawerOpen()),
|
|
326
372
|
});
|
|
373
|
+
|
|
327
374
|
const fromWidth = Dom.streamFromMediaQuery({
|
|
328
375
|
query: DRAWER_QUERY,
|
|
329
|
-
mapMatches: (isDrawerWidth) =>
|
|
376
|
+
mapMatches: (isDrawerWidth) =>
|
|
377
|
+
widthChangeMessage(isDrawerWidth, isDrawerOpen()),
|
|
330
378
|
}).pipe(
|
|
331
379
|
Stream.filter(Option.isSome),
|
|
332
|
-
Stream.map(({ value }) => value)
|
|
380
|
+
Stream.map(({ value }) => value)
|
|
333
381
|
);
|
|
334
382
|
|
|
335
383
|
return Stream.mergeAll([fromToggle, fromFocusOut, fromWidth], {
|
|
@@ -338,14 +386,15 @@ export const FollowRailDrawer = Mount.defineStream("FollowRailDrawer", {
|
|
|
338
386
|
},
|
|
339
387
|
});
|
|
340
388
|
|
|
341
|
-
// SUBSCRIPTION
|
|
342
|
-
|
|
343
389
|
const railSubscriptions = Subscription.make<Model, Message>()((entry) => ({
|
|
344
390
|
resize: entry(
|
|
345
|
-
{ maybePointerId: Schema.Option(Schema.
|
|
391
|
+
{ maybePointerId: Schema.Option(Schema.Finite) },
|
|
346
392
|
{
|
|
347
393
|
modelToDependencies: (model) => ({
|
|
348
|
-
maybePointerId: Option.map(
|
|
394
|
+
maybePointerId: Option.map(
|
|
395
|
+
model.maybeResizing,
|
|
396
|
+
({ pointerId }) => pointerId
|
|
397
|
+
),
|
|
349
398
|
}),
|
|
350
399
|
dependenciesToStream: ({ maybePointerId }) =>
|
|
351
400
|
Option.match(maybePointerId, {
|
|
@@ -354,21 +403,24 @@ const railSubscriptions = Subscription.make<Model, Message>()((entry) => ({
|
|
|
354
403
|
Stream.merge(
|
|
355
404
|
pointerMessages<Message>(pointerId, {
|
|
356
405
|
moved: ({ clientX }) => Message.MovedSplitter({ clientX }),
|
|
357
|
-
released: ({ clientX }) =>
|
|
406
|
+
released: ({ clientX }) =>
|
|
407
|
+
Message.ReleasedSplitter({ clientX }),
|
|
358
408
|
cancelled: () => Message.CancelledSplitter(),
|
|
359
409
|
}),
|
|
360
|
-
markDragging
|
|
410
|
+
markDragging
|
|
361
411
|
),
|
|
362
412
|
}),
|
|
363
|
-
}
|
|
413
|
+
}
|
|
364
414
|
),
|
|
365
415
|
escape: entry(
|
|
366
416
|
{ isResizing: Schema.Boolean },
|
|
367
417
|
{
|
|
368
|
-
modelToDependencies: (model) => ({
|
|
418
|
+
modelToDependencies: (model) => ({
|
|
419
|
+
isResizing: Option.isSome(model.maybeResizing),
|
|
420
|
+
}),
|
|
369
421
|
dependenciesToStream: ({ isResizing }) =>
|
|
370
422
|
isResizing ? escapeKeys(Message.PressedEscape()) : Stream.empty,
|
|
371
|
-
}
|
|
423
|
+
}
|
|
372
424
|
),
|
|
373
425
|
}));
|
|
374
426
|
|
|
@@ -379,8 +431,6 @@ const railSubscriptions = Subscription.make<Model, Message>()((entry) => ({
|
|
|
379
431
|
export const subscriptions = <Prefix extends string>(keyPrefix: Prefix) =>
|
|
380
432
|
prefixKeys(keyPrefix, railSubscriptions);
|
|
381
433
|
|
|
382
|
-
// VIEW
|
|
383
|
-
|
|
384
434
|
/** Per-render inputs passed to `view` through `h.submodel`'s `viewInputs`. */
|
|
385
435
|
export type ViewInputs = Readonly<{
|
|
386
436
|
/** Names the rail for screen readers, and its button, drawer head and splitter
|
|
@@ -400,7 +450,7 @@ export type ViewInputs = Readonly<{
|
|
|
400
450
|
* its first panel's `lead`. A function because a Submodel's viewInputs may hold functions
|
|
401
451
|
* only at the top level, and Foldkit runs this one in the parent's boundary, so the
|
|
402
452
|
* handlers in what it returns dispatch the parent's Messages. */
|
|
403
|
-
toAsideView: (toggle: Html) =>
|
|
453
|
+
toAsideView: (toggle: Html) => readonly Html[];
|
|
404
454
|
/** The page beside the rail, `main.deck#main` or `main.bench#main`, given the button that
|
|
405
455
|
* opens the drawer to print first in it. A function because it receives that button, and
|
|
406
456
|
* runs in the parent's boundary like `toAsideView`. */
|
|
@@ -435,112 +485,128 @@ export type ViewInputs = Readonly<{
|
|
|
435
485
|
* rendered only while open, and this one is always in the page, placed by the stylesheet, and
|
|
436
486
|
* opened as a native popover so the browser keeps it in the top layer.
|
|
437
487
|
*/
|
|
438
|
-
export const view = defineView<Model, Message, ViewInputs>(
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
488
|
+
export const view = defineView<Model, Message, ViewInputs>(
|
|
489
|
+
(model, viewInputs, h): Html => {
|
|
490
|
+
const { label, isHidden, maybeToggleKeyHint, toAsideView, toDeckView } =
|
|
491
|
+
viewInputs;
|
|
492
|
+
|
|
493
|
+
const maybeWidth = Option.orElse(
|
|
494
|
+
Option.map(model.maybeResizing, ({ width }) => width),
|
|
495
|
+
() => Option.map(viewInputs.maybeWidth, bounded)
|
|
496
|
+
);
|
|
445
497
|
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
498
|
+
const width = Option.getOrElse(maybeWidth, () => WIDTH.start);
|
|
499
|
+
|
|
500
|
+
const openButton = h.span(
|
|
501
|
+
[h.Class("rail-open")],
|
|
502
|
+
[
|
|
503
|
+
Button.view(
|
|
504
|
+
{
|
|
505
|
+
label,
|
|
506
|
+
glyph: "sidebar",
|
|
507
|
+
isSmall: true,
|
|
508
|
+
onClick: Message.ClickedOpen(),
|
|
509
|
+
attributes: [
|
|
510
|
+
h.Id(openButtonId(model)),
|
|
511
|
+
h.AriaExpanded(model.isOpen),
|
|
512
|
+
h.AriaControls(model.id),
|
|
513
|
+
],
|
|
514
|
+
},
|
|
515
|
+
h
|
|
516
|
+
),
|
|
517
|
+
]
|
|
518
|
+
);
|
|
465
519
|
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
520
|
+
const toggleButton = h.span(
|
|
521
|
+
[h.Class("rail-toggle")],
|
|
522
|
+
[
|
|
523
|
+
IconButton.view(
|
|
524
|
+
{
|
|
525
|
+
glyph: "sidebar",
|
|
526
|
+
label: `${isHidden ? "Show" : "Hide"} ${label}`,
|
|
527
|
+
isQuiet: true,
|
|
528
|
+
onClick: Message.ClickedToggle(),
|
|
529
|
+
...Option.match(maybeToggleKeyHint, {
|
|
530
|
+
onNone: () => ({}),
|
|
531
|
+
onSome: (keyHint) => ({ keyHint }),
|
|
532
|
+
}),
|
|
533
|
+
attributes: [
|
|
534
|
+
h.Id(toggleId(model)),
|
|
535
|
+
h.AriaExpanded(!isHidden),
|
|
536
|
+
h.AriaControls(model.id),
|
|
537
|
+
],
|
|
538
|
+
},
|
|
539
|
+
h
|
|
540
|
+
),
|
|
541
|
+
]
|
|
542
|
+
);
|
|
543
|
+
|
|
544
|
+
const splitter = h.div([
|
|
545
|
+
h.Class("rail-resize"),
|
|
546
|
+
h.Role("separator"),
|
|
547
|
+
h.AriaLabel(`Width of ${label}`),
|
|
548
|
+
h.AriaControls(model.id),
|
|
549
|
+
h.AriaValuemin(WIDTH.leastFittingPanels),
|
|
550
|
+
h.AriaValuemax(WIDTH.mostLeavingLeastDeck),
|
|
551
|
+
h.AriaValuenow(width),
|
|
552
|
+
h.AriaValuetext(`${width} pixels`),
|
|
553
|
+
h.Tabindex(0),
|
|
554
|
+
...splitterAttributes(
|
|
470
555
|
{
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
attributes: [h.Id(toggleId(model)), h.AriaExpanded(!isHidden), h.AriaControls(model.id)],
|
|
556
|
+
orientation: "vertical",
|
|
557
|
+
isIdle: Option.isNone(model.maybeResizing),
|
|
558
|
+
onPress: (pointerId, clientX) =>
|
|
559
|
+
Message.PressedSplitter({ pointerId, clientX, width }),
|
|
560
|
+
onStep: (direction) =>
|
|
561
|
+
Message.PressedSplitterKey({
|
|
562
|
+
width: width + direction * WIDTH.arrowStep,
|
|
563
|
+
}),
|
|
480
564
|
},
|
|
481
|
-
h
|
|
565
|
+
h
|
|
482
566
|
),
|
|
483
|
-
]
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
[
|
|
530
|
-
h.div(
|
|
531
|
-
[h.Class("rail-head")],
|
|
532
|
-
[
|
|
533
|
-
h.span([h.Class("label")], [label]),
|
|
534
|
-
IconButton.view(
|
|
535
|
-
{ glyph: "cross", label: "Close", onClick: Message.ClickedClose() },
|
|
536
|
-
h,
|
|
537
|
-
),
|
|
538
|
-
],
|
|
539
|
-
),
|
|
540
|
-
...toAsideView(toggleButton),
|
|
541
|
-
],
|
|
542
|
-
),
|
|
543
|
-
...(isHidden ? [] : [splitter]),
|
|
544
|
-
],
|
|
545
|
-
);
|
|
546
|
-
});
|
|
567
|
+
]);
|
|
568
|
+
|
|
569
|
+
return h.div(
|
|
570
|
+
[
|
|
571
|
+
h.Class(isHidden ? "railed folded" : "railed"),
|
|
572
|
+
...(isHidden
|
|
573
|
+
? []
|
|
574
|
+
: Array.fromOption(
|
|
575
|
+
Option.map(maybeWidth, (shown) =>
|
|
576
|
+
h.Style({ "--railed-width": `${shown}px` })
|
|
577
|
+
)
|
|
578
|
+
)),
|
|
579
|
+
],
|
|
580
|
+
[
|
|
581
|
+
toDeckView(openButton),
|
|
582
|
+
h.aside(
|
|
583
|
+
[
|
|
584
|
+
h.Id(model.id),
|
|
585
|
+
h.Popover("auto"),
|
|
586
|
+
h.AriaLabel(label),
|
|
587
|
+
h.Class("rail"),
|
|
588
|
+
h.OnMount(FollowRailDrawer()),
|
|
589
|
+
],
|
|
590
|
+
[
|
|
591
|
+
h.div(
|
|
592
|
+
[h.Class("rail-head")],
|
|
593
|
+
[
|
|
594
|
+
h.span([h.Class("label")], [label]),
|
|
595
|
+
IconButton.view(
|
|
596
|
+
{
|
|
597
|
+
glyph: "cross",
|
|
598
|
+
label: "Close",
|
|
599
|
+
onClick: Message.ClickedClose(),
|
|
600
|
+
},
|
|
601
|
+
h
|
|
602
|
+
),
|
|
603
|
+
]
|
|
604
|
+
),
|
|
605
|
+
...toAsideView(toggleButton),
|
|
606
|
+
]
|
|
607
|
+
),
|
|
608
|
+
...(isHidden ? [] : [splitter]),
|
|
609
|
+
]
|
|
610
|
+
);
|
|
611
|
+
}
|
|
612
|
+
);
|