@gjermundgaraba-designs/pixel-paper 0.22.2 → 0.24.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 +18 -17
- package/dist/src/adapters/mermaid.d.ts.map +1 -1
- package/dist/src/adapters/mermaid.js +0 -24
- package/dist/src/announcer/announcer.d.ts.map +1 -1
- package/dist/src/announcer/announcer.js +12 -12
- package/dist/src/board/board.d.ts +0 -10
- package/dist/src/board/board.d.ts.map +1 -1
- package/dist/src/board/board.js +36 -64
- package/dist/src/board/index.d.ts +2 -1
- package/dist/src/board/index.d.ts.map +1 -1
- package/dist/src/board/index.js +2 -1
- package/dist/src/button/button.d.ts +1 -1
- package/dist/src/button/button.d.ts.map +1 -1
- package/dist/src/commandPalette/commandPalette.d.ts.map +1 -1
- package/dist/src/commandPalette/commandPalette.js +78 -83
- package/dist/src/commandPalette/keys.d.ts +2 -2
- package/dist/src/commandPalette/keys.d.ts.map +1 -1
- package/dist/src/commandPalette/keys.js +2 -4
- package/dist/src/commandPalette/match.d.ts.map +1 -1
- package/dist/src/commandPalette/match.js +2 -2
- package/dist/src/confirmDialog/confirmDialog.d.ts.map +1 -1
- package/dist/src/confirmDialog/confirmDialog.js +1 -2
- package/dist/src/copyButton/copyButton.d.ts +0 -5
- package/dist/src/copyButton/copyButton.d.ts.map +1 -1
- package/dist/src/copyButton/copyButton.js +2 -2
- package/dist/src/crumbs/crumbs.d.ts +0 -2
- package/dist/src/crumbs/crumbs.d.ts.map +1 -1
- package/dist/src/crumbs/crumbs.js +2 -2
- package/dist/src/dialog/dialog.d.ts +2 -0
- package/dist/src/dialog/dialog.d.ts.map +1 -1
- package/dist/src/dialog/dialog.js +3 -2
- package/dist/src/drag/drag.d.ts +28 -0
- package/dist/src/drag/drag.d.ts.map +1 -1
- package/dist/src/drag/drag.js +39 -17
- package/dist/src/editableTitle/editableTitle.d.ts +4 -4
- package/dist/src/field/field.d.ts +7 -1
- package/dist/src/field/field.d.ts.map +1 -1
- package/dist/src/field/field.js +14 -6
- package/dist/src/fieldset/fieldset.d.ts.map +1 -1
- package/dist/src/fieldset/fieldset.js +2 -4
- package/dist/src/fileTree/fileTree.d.ts.map +1 -1
- package/dist/src/fileTree/fileTree.js +16 -16
- package/dist/src/iconButton/iconButton.d.ts +6 -1
- package/dist/src/iconButton/iconButton.d.ts.map +1 -1
- package/dist/src/iconButton/iconButton.js +7 -2
- package/dist/src/inlineInput/inlineInput.d.ts +4 -0
- package/dist/src/inlineInput/inlineInput.d.ts.map +1 -1
- package/dist/src/inlineInput/inlineInput.js +9 -6
- package/dist/src/keyHelp/index.d.ts +1 -1
- package/dist/src/keyHelp/index.d.ts.map +1 -1
- package/dist/src/keyHelp/index.js +1 -1
- package/dist/src/keyHelp/keyHelp.d.ts +1 -3
- package/dist/src/keyHelp/keyHelp.d.ts.map +1 -1
- package/dist/src/keyHelp/keyHelp.js +3 -6
- package/dist/src/keyHint/keyLabel.d.ts +2 -0
- package/dist/src/keyHint/keyLabel.d.ts.map +1 -1
- package/dist/src/keyHint/keyLabel.js +3 -2
- package/dist/src/lineDiff/diff.d.ts +6 -3
- package/dist/src/lineDiff/diff.d.ts.map +1 -1
- package/dist/src/lineDiff/diff.js +40 -28
- package/dist/src/lineDiff/patch.d.ts.map +1 -1
- package/dist/src/lineDiff/patch.js +18 -13
- package/dist/src/linkState/linkState.d.ts.map +1 -1
- package/dist/src/linkState/linkState.js +1 -7
- package/dist/src/menu/slip.js +2 -2
- package/dist/src/meter/meter.d.ts.map +1 -1
- package/dist/src/meter/meter.js +22 -17
- package/dist/src/notice/notice.d.ts +2 -0
- package/dist/src/notice/notice.d.ts.map +1 -1
- package/dist/src/notice/notice.js +2 -1
- package/dist/src/panel/panel.d.ts +3 -0
- package/dist/src/panel/panel.d.ts.map +1 -1
- package/dist/src/panel/panel.js +2 -1
- package/dist/src/passwordField/passwordField.d.ts.map +1 -1
- package/dist/src/passwordField/passwordField.js +3 -7
- package/dist/src/rail/index.d.ts +1 -1
- package/dist/src/rail/index.d.ts.map +1 -1
- package/dist/src/rail/index.js +1 -1
- package/dist/src/rail/rail.d.ts +95 -20
- package/dist/src/rail/rail.d.ts.map +1 -1
- package/dist/src/rail/rail.js +103 -46
- package/dist/src/reel/layout.d.ts +9 -5
- package/dist/src/reel/layout.d.ts.map +1 -1
- package/dist/src/reel/layout.js +11 -5
- package/dist/src/reel/reel.d.ts.map +1 -1
- package/dist/src/reel/reel.js +122 -68
- package/dist/src/scheme/scheme.d.ts +1 -1
- package/dist/src/scheme/scheme.d.ts.map +1 -1
- package/dist/src/segmented/segmented.d.ts +0 -3
- package/dist/src/segmented/segmented.d.ts.map +1 -1
- package/dist/src/segmented/segmented.js +1 -6
- package/dist/src/selectField/selectField.d.ts.map +1 -1
- package/dist/src/selectField/selectField.js +3 -10
- package/dist/src/sortable/index.d.ts +1 -1
- package/dist/src/sortable/index.d.ts.map +1 -1
- package/dist/src/sortable/index.js +1 -1
- package/dist/src/sortable/sortable.d.ts +39 -40
- package/dist/src/sortable/sortable.d.ts.map +1 -1
- package/dist/src/sortable/sortable.js +14 -31
- package/dist/src/stack/stack.d.ts +1 -1
- package/dist/src/stack/stack.d.ts.map +1 -1
- package/dist/src/stack/stack.js +1 -1
- package/dist/src/tabs/tabs.d.ts +1 -1
- package/dist/src/tabs/tabs.d.ts.map +1 -1
- package/dist/src/tabs/tabs.js +1 -1
- package/dist/src/textareaField/textareaField.d.ts.map +1 -1
- package/dist/src/textareaField/textareaField.js +3 -7
- package/dist/src/time/time.d.ts.map +1 -1
- package/dist/src/time/time.js +4 -2
- package/dist/src/tips/index.d.ts +1 -1
- package/dist/src/tips/index.d.ts.map +1 -1
- package/dist/src/tips/tips.d.ts +30 -1
- package/dist/src/tips/tips.d.ts.map +1 -1
- package/dist/src/tips/tips.js +53 -31
- package/dist/src/toast/index.d.ts +1 -1
- package/dist/src/toast/index.d.ts.map +1 -1
- package/dist/src/toast/toast.d.ts +5 -5
- package/dist/src/toast/toast.d.ts.map +1 -1
- package/dist/src/toast/toast.js +1 -6
- package/dist/src/toolbar/toolbar.d.ts +0 -3
- package/dist/src/toolbar/toolbar.d.ts.map +1 -1
- package/dist/src/toolbar/toolbar.js +1 -2
- package/package.json +1 -1
- package/src/adapters/mermaid.ts +0 -24
- package/src/announcer/announcer.ts +13 -17
- package/src/board/board.ts +32 -80
- package/src/board/index.ts +1 -1
- package/src/button/button.ts +1 -1
- package/src/commandPalette/commandPalette.ts +21 -38
- package/src/commandPalette/keys.ts +2 -4
- package/src/commandPalette/match.ts +3 -3
- package/src/confirmDialog/confirmDialog.ts +5 -3
- package/src/copyButton/copyButton.ts +2 -5
- package/src/crumbs/crumbs.ts +2 -4
- package/src/dialog/dialog.ts +3 -2
- package/src/drag/drag.ts +54 -5
- package/src/field/field.ts +29 -7
- package/src/fieldset/fieldset.ts +2 -4
- package/src/fileTree/fileTree.ts +10 -12
- package/src/iconButton/iconButton.ts +19 -2
- package/src/inlineInput/inlineInput.ts +11 -2
- package/src/keyHelp/index.ts +0 -1
- package/src/keyHelp/keyHelp.ts +3 -9
- package/src/keyHint/keyLabel.ts +5 -2
- package/src/lineDiff/diff.ts +70 -54
- package/src/lineDiff/patch.ts +27 -14
- package/src/linkState/linkState.ts +1 -8
- package/src/menu/slip.ts +2 -2
- package/src/meter/meter.ts +25 -15
- package/src/notice/notice.ts +2 -1
- package/src/panel/panel.ts +5 -0
- package/src/passwordField/passwordField.ts +3 -7
- package/src/pixel-paper.css +200 -134
- package/src/rail/index.ts +2 -0
- package/src/rail/rail.ts +124 -44
- package/src/reel/layout.ts +14 -7
- package/src/reel/reel.ts +132 -63
- package/src/scheme/scheme.ts +1 -1
- package/src/segmented/segmented.ts +1 -9
- package/src/selectField/selectField.ts +3 -10
- package/src/sortable/index.ts +0 -1
- package/src/sortable/sortable.ts +35 -54
- package/src/stack/stack.ts +1 -1
- package/src/tabs/tabs.ts +1 -1
- package/src/textareaField/textareaField.ts +3 -7
- package/src/time/time.ts +6 -7
- package/src/tips/index.ts +1 -1
- package/src/tips/tips.ts +71 -35
- package/src/toast/index.ts +1 -1
- package/src/toast/toast.ts +2 -8
- package/src/tokens.css +7 -0
- package/src/toolbar/toolbar.ts +0 -5
- package/dist/src/inlineInput/inline.d.ts +0 -6
- package/dist/src/inlineInput/inline.d.ts.map +0 -1
- package/dist/src/inlineInput/inline.js +0 -7
- package/src/inlineInput/inline.ts +0 -13
|
@@ -6,7 +6,8 @@ import * as Glyph from "../glyph/glyph.js";
|
|
|
6
6
|
* change, in ink. `Quiet`: tinted, nothing wrong. */
|
|
7
7
|
export const Tone = Schema.Literals(["Warn", "Error", "Ok", "Quiet"]);
|
|
8
8
|
const toneGlyph = (tone) => __foldkitBrandViewResult((Match.value(tone).pipe(Match.withReturnType(), Match.whenOr("Warn", "Error", () => __foldkitBrandViewResult(("bang"), "@gjermundgaraba-designs/pixel-paper/src/notice/notice.js#anonymous")), Match.when("Ok", () => __foldkitBrandViewResult(("check"), "@gjermundgaraba-designs/pixel-paper/src/notice/notice.js#anonymous~2")), Match.when("Quiet", () => __foldkitBrandViewResult(("info"), "@gjermundgaraba-designs/pixel-paper/src/notice/notice.js#anonymous~3")), Match.exhaustive)), "@gjermundgaraba-designs/pixel-paper/src/notice/notice.js#toneGlyph");
|
|
9
|
-
|
|
9
|
+
/** The class a tone adds to a notice's, a toast's or a glyph box's own. */
|
|
10
|
+
export const TONE_CLASS = {
|
|
10
11
|
Warn: "",
|
|
11
12
|
Error: " error",
|
|
12
13
|
Ok: " ok",
|
|
@@ -21,6 +21,9 @@ export type ViewConfig = Readonly<{
|
|
|
21
21
|
/** Small Buttons and IconButtons at the title bar's right end, after the meta. On the ink
|
|
22
22
|
* bar they print in paper, flat, and ring in their own colour inside their edge. */
|
|
23
23
|
actions?: ReadonlyArray<Html | string>;
|
|
24
|
+
/** A strip on the head tint between the title bar and the body, for a field that picks what
|
|
25
|
+
* the body shows (an area over its tasks). Its labels print in on-head. */
|
|
26
|
+
shelf?: ReadonlyArray<Html | string>;
|
|
24
27
|
body: ReadonlyArray<Html | string>;
|
|
25
28
|
/** A ruled foot under the body: a note line, then actions pushed right. */
|
|
26
29
|
foot?: ReadonlyArray<Html | string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../../src/panel/panel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAMtD,uDAAuD;AACvD,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC;;;;kCAI8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd;;oCAEgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;2DACuD;IACvD,IAAI,CAAC,EAAE,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;IACpC,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;yFACqF;IACrF,OAAO,CAAC,EAAE,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;IACvC,IAAI,EAAE,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;IACnC,2EAA2E;IAC3E,IAAI,CAAC,EAAE,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;IACpC,uFAAuF;IACvF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC,CAAC;AAEH,iDAAiD;AACjD,eAAO,MAAM,OAAO,OAAQ,MAAM,KAAG,MAAuB,CAAC;AAE7D;8FAC8F;AAC9F,eAAO,MAAM,IAAI,GAAI,OAAO,UAAU,UAAU,KAAK,WAAW,CAAC,OAAO,CAAC,KAAG,
|
|
1
|
+
{"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../../src/panel/panel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAMtD,uDAAuD;AACvD,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC;;;;kCAI8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd;;oCAEgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;2DACuD;IACvD,IAAI,CAAC,EAAE,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;IACpC,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;yFACqF;IACrF,OAAO,CAAC,EAAE,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;IACvC;gFAC4E;IAC5E,KAAK,CAAC,EAAE,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;IACrC,IAAI,EAAE,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;IACnC,2EAA2E;IAC3E,IAAI,CAAC,EAAE,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;IACpC,uFAAuF;IACvF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC,CAAC;AAEH,iDAAiD;AACjD,eAAO,MAAM,OAAO,OAAQ,MAAM,KAAG,MAAuB,CAAC;AAE7D;8FAC8F;AAC9F,eAAO,MAAM,IAAI,GAAI,OAAO,UAAU,UAAU,KAAK,WAAW,CAAC,OAAO,CAAC,KAAG,IAoC3E,CAAC"}
|
package/dist/src/panel/panel.js
CHANGED
|
@@ -5,7 +5,7 @@ export const titleId = (id) => __foldkitBrandViewResult((`${id}-title`), "@gjerm
|
|
|
5
5
|
/** The unit of the system: paper in a 2px ink box on a 5px print shadow, under a title bar. A
|
|
6
6
|
* region landmark (`<section>`) named by its `h2` title, or by `name`, keyed by its `id`. */
|
|
7
7
|
export const view = (config, h) => {
|
|
8
|
-
const { id, title, name, lead = [], meta, actions = [], body, foot = [], isFlush = false, } = config;
|
|
8
|
+
const { id, title, name, lead = [], meta, actions = [], shelf = [], body, foot = [], isFlush = false, } = config;
|
|
9
9
|
return __foldkitBrandViewResult((h.keyed("section")(id, [
|
|
10
10
|
h.Id(id),
|
|
11
11
|
name === undefined ? h.AriaLabelledBy(titleId(id)) : h.AriaLabel(name),
|
|
@@ -17,6 +17,7 @@ export const view = (config, h) => {
|
|
|
17
17
|
...(meta === undefined ? [] : [h.span([h.Class("meta")], [meta])]),
|
|
18
18
|
...slotView("span", "panel-acts", actions, h),
|
|
19
19
|
]),
|
|
20
|
+
...slotView("div", "panel-shelf", shelf, h),
|
|
20
21
|
...(isFlush ? body : [h.div([h.Class("panel-body")], body)]),
|
|
21
22
|
...slotView("div", "panel-foot", foot, h),
|
|
22
23
|
])), "@gjermundgaraba-designs/pixel-paper/src/panel/panel.js#view");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"passwordField.d.ts","sourceRoot":"","sources":["../../../src/passwordField/passwordField.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,MAAM,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAStD,wEAAwE;AACxE,eAAO,MAAM,QAAQ,2CAAmC,CAAC;AACzD,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAC;AAiB5C,gEAAgE;AAChE,MAAM,MAAM,UAAU,CAAC,OAAO,IAAI,QAAQ,CAAC;IACzC,8CAA8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACpC;gDAC4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,aAAa,EAAE,OAAO,CAAC;IACvB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;uCAEmC;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,yFAAyF;IACzF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;iDAC6C;IAC7C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,gEAAgE;IAChE,YAAY,CAAC,EAAE,kBAAkB,GAAG,cAAc,CAAC;IACnD;uDACmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC,CAAC;AAEH;;;;mEAImE;AACnE,eAAO,MAAM,IAAI,GAAI,OAAO,UAAU,UAAU,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,KAAG,
|
|
1
|
+
{"version":3,"file":"passwordField.d.ts","sourceRoot":"","sources":["../../../src/passwordField/passwordField.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,MAAM,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAStD,wEAAwE;AACxE,eAAO,MAAM,QAAQ,2CAAmC,CAAC;AACzD,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAC;AAiB5C,gEAAgE;AAChE,MAAM,MAAM,UAAU,CAAC,OAAO,IAAI,QAAQ,CAAC;IACzC,8CAA8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACpC;gDAC4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,aAAa,EAAE,OAAO,CAAC;IACvB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;uCAEmC;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,yFAAyF;IACzF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;iDAC6C;IAC7C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,gEAAgE;IAChE,YAAY,CAAC,EAAE,kBAAkB,GAAG,cAAc,CAAC;IACnD;uDACmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC,CAAC;AAEH;;;;mEAImE;AACnE,eAAO,MAAM,IAAI,GAAI,OAAO,UAAU,UAAU,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,KAAG,IA6EpF,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { brandViewResult as __foldkitBrandViewResult } from 'foldkit/brand'
|
|
|
2
2
|
import { Input as UiInput } from "@foldkit/ui";
|
|
3
3
|
import { Match, Schema } from "effect";
|
|
4
4
|
import { pressedAttribute } from "../button/button.js";
|
|
5
|
-
import {
|
|
5
|
+
import { controlAttributes, errorView, helpView } from "../field/field.js";
|
|
6
6
|
import * as IconButton from "../iconButton/iconButton.js";
|
|
7
7
|
import * as Meter from "../meter/meter.js";
|
|
8
8
|
// STRENGTH
|
|
@@ -27,12 +27,10 @@ export const view = (config, h) => {
|
|
|
27
27
|
toView: (groups) => __foldkitBrandViewResult((h.div([h.Class("field boxed")], [
|
|
28
28
|
h.label(groups.label, [label]),
|
|
29
29
|
h.span([h.Class("password")], [
|
|
30
|
-
// NOTE: @foldkit/ui gap: Input has no required option, so the wrapper says it.
|
|
31
30
|
h.input([
|
|
32
31
|
...groups.input,
|
|
33
32
|
h.Autocomplete(autocomplete),
|
|
34
|
-
...
|
|
35
|
-
...(isRequired ? [h.AriaRequired(true)] : []),
|
|
33
|
+
...controlAttributes(id, error, help, isRequired, h),
|
|
36
34
|
]),
|
|
37
35
|
IconButton.view({
|
|
38
36
|
glyph: isShown ? "eye-off" : "eye",
|
|
@@ -58,9 +56,7 @@ export const view = (config, h) => {
|
|
|
58
56
|
h.span([h.Class("age")], [strengthWord(strength)]),
|
|
59
57
|
]),
|
|
60
58
|
]),
|
|
61
|
-
...(help
|
|
62
|
-
? []
|
|
63
|
-
: [h.p([...groups.description, h.Class("field-help")], [help])]),
|
|
59
|
+
...helpView(help, groups.description, h),
|
|
64
60
|
])), "@gjermundgaraba-designs/pixel-paper/src/passwordField/passwordField.js#toView"),
|
|
65
61
|
}, h)), "@gjermundgaraba-designs/pixel-paper/src/passwordField/passwordField.js#view");
|
|
66
62
|
};
|
package/dist/src/rail/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { FollowRailDrawer, HideRailDrawer, Message, Model, OutMessage, ShowRailDrawer, close, id, init, isOpen, subscriptions, update, view, } from "./rail.ts";
|
|
1
|
+
export { FocusRailToggle, FollowRailDrawer, HideRailDrawer, Message, Model, OutMessage, ShowRailDrawer, close, id, init, isOpen, subscriptions, toggle, update, view, } from "./rail.ts";
|
|
2
2
|
export type { InitConfig, ViewInputs } from "./rail.ts";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rail/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP,KAAK,EACL,UAAU,EACV,cAAc,EACd,KAAK,EACL,EAAE,EACF,IAAI,EACJ,MAAM,EACN,aAAa,EACb,MAAM,EACN,IAAI,GACL,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rail/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP,KAAK,EACL,UAAU,EACV,cAAc,EACd,KAAK,EACL,EAAE,EACF,IAAI,EACJ,MAAM,EACN,aAAa,EACb,MAAM,EACN,MAAM,EACN,IAAI,GACL,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/src/rail/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { FollowRailDrawer, HideRailDrawer, Message, Model, OutMessage, ShowRailDrawer, close, id, init, isOpen, subscriptions, update, view, } from "./rail.js";
|
|
1
|
+
export { FocusRailToggle, FollowRailDrawer, HideRailDrawer, Message, Model, OutMessage, ShowRailDrawer, close, id, init, isOpen, subscriptions, toggle, update, view, } from "./rail.js";
|
package/dist/src/rail/rail.d.ts
CHANGED
|
@@ -4,9 +4,10 @@ import type { Html } from "foldkit/html";
|
|
|
4
4
|
import * as Mount from "foldkit/mount";
|
|
5
5
|
import * as Subscription from "foldkit/subscription";
|
|
6
6
|
import type * as Update from "foldkit/update";
|
|
7
|
+
import * as Button from "../button/button.ts";
|
|
7
8
|
/** Schema for a rail: whether it is open as a drawer (at 900px and under; wider, it is always
|
|
8
|
-
* in the page and this stays false), and its splitter while a pointer drags it. Its width
|
|
9
|
-
* the parent's. */
|
|
9
|
+
* in the page and this stays false), and its splitter while a pointer drags it. Its width,
|
|
10
|
+
* and whether the reader hid it, are the parent's. */
|
|
10
11
|
export declare const Model: Schema.Struct<{
|
|
11
12
|
readonly id: Schema.String;
|
|
12
13
|
readonly isOpen: Schema.Boolean;
|
|
@@ -23,6 +24,7 @@ export type Model = typeof Model.Type;
|
|
|
23
24
|
* the window growing past 900px while it is open, where the rail is back in the page. */
|
|
24
25
|
export declare const Message: import("foldkit/message").MessageUnion<{
|
|
25
26
|
readonly ClickedOpen: {};
|
|
27
|
+
readonly ClickedToggle: {};
|
|
26
28
|
readonly PressedSplitter: {
|
|
27
29
|
pointerId: Schema.Number;
|
|
28
30
|
clientX: Schema.Number;
|
|
@@ -45,15 +47,19 @@ export declare const Message: import("foldkit/message").MessageUnion<{
|
|
|
45
47
|
readonly WidenedPastDrawer: {};
|
|
46
48
|
readonly CompletedShowRailDrawer: {};
|
|
47
49
|
readonly CompletedHideRailDrawer: {};
|
|
50
|
+
readonly CompletedFocusRailToggle: {};
|
|
48
51
|
}>;
|
|
49
52
|
export type Message = typeof Message.Type;
|
|
50
53
|
/** What a rail asks of its parent. `ResizedRail`: its splitter was let go, or stepped by a
|
|
51
54
|
* key, at `width` pixels, within the rail's bounds; the parent keeps it (per client) and
|
|
52
|
-
* passes it back as the view's `maybeWidth`.
|
|
55
|
+
* passes it back as the view's `maybeWidth`. `ToggledRail`: its toggle was pressed; the
|
|
56
|
+
* parent flips whether it keeps the rail hidden (per client) and passes it back as the view's
|
|
57
|
+
* `isHidden`. */
|
|
53
58
|
export declare const OutMessage: import("foldkit/message").MessageUnion<{
|
|
54
59
|
readonly ResizedRail: {
|
|
55
60
|
width: Schema.Number;
|
|
56
61
|
};
|
|
62
|
+
readonly ToggledRail: {};
|
|
57
63
|
}>;
|
|
58
64
|
export type OutMessage = typeof OutMessage.Type;
|
|
59
65
|
/** Configuration for creating a rail with `init`. The `id` is the rail's, unique in the
|
|
@@ -63,12 +69,25 @@ export type InitConfig = Readonly<{
|
|
|
63
69
|
}>;
|
|
64
70
|
/** Creates a rail, closed, its splitter at rest. */
|
|
65
71
|
export declare const init: (config: InitConfig) => Model;
|
|
72
|
+
/** The rail's widths, in pixels: before the reader sizes it (as the stylesheet's `--rail` has
|
|
73
|
+
* it, which the splitter says as its value until a width is given), the least its panels
|
|
74
|
+
* still fit in (a tree's row keeps a glyph, a dot and a few words of its title), the most
|
|
75
|
+
* (which leaves the deck at least 421px of a 901px window, the narrowest one the rail stands
|
|
76
|
+
* in, more than a phone has), and what an arrow on its splitter moves it. The bounds and the
|
|
77
|
+
* step are the component's, not tokens: the splitter says them as its values. */
|
|
78
|
+
export declare const WIDTH: {
|
|
79
|
+
start: number;
|
|
80
|
+
least: number;
|
|
81
|
+
most: number;
|
|
82
|
+
step: number;
|
|
83
|
+
};
|
|
66
84
|
/** The rail's id, unique in the document. */
|
|
67
85
|
export declare const id: (model: Model) => string;
|
|
68
86
|
/** Whether the rail is open as a drawer: a parent pauses its own page keys while it is. */
|
|
69
87
|
export declare const isOpen: (model: Model) => boolean;
|
|
70
88
|
/** The drawer's first Tab stop past its head: a control the keyboard reaches, so a tree's
|
|
71
|
-
* items other than its one stop (`tabindex="-1"`) are passed over
|
|
89
|
+
* items other than its one stop (`tabindex="-1"`) are passed over, and so is the toggle,
|
|
90
|
+
* which the drawer does not print. */
|
|
72
91
|
export declare const firstTabStop: (rail: Element) => Option.Option<HTMLElement>;
|
|
73
92
|
/** Opens the rail as a drawer over the page and puts focus on its first control past its
|
|
74
93
|
* head. */
|
|
@@ -85,11 +104,25 @@ export declare const HideRailDrawer: Command.CommandDefinitionWithArgs<"HideRail
|
|
|
85
104
|
}, Effect.Effect<{
|
|
86
105
|
readonly _tag: "CompletedHideRailDrawer";
|
|
87
106
|
}, never, never>>;
|
|
107
|
+
/** Puts focus on the rail's toggle once the rail has folded or unfolded, if focus was in the
|
|
108
|
+
* rail or on its splitter: folding takes away every control in it but the toggle, which
|
|
109
|
+
* brings it back, and the splitter with them. Focus anywhere else stays where it is. */
|
|
110
|
+
export declare const FocusRailToggle: Command.CommandDefinitionWithArgs<"FocusRailToggle", {
|
|
111
|
+
railId: Schema.String;
|
|
112
|
+
toggleId: Schema.String;
|
|
113
|
+
}, Effect.Effect<{
|
|
114
|
+
readonly _tag: "CompletedFocusRailToggle";
|
|
115
|
+
}, never, never>>;
|
|
88
116
|
type UpdateReturn = Update.Return<Model, Message>;
|
|
89
117
|
/** Closes the rail's drawer, focus back on its button. */
|
|
90
118
|
export declare const close: (model: Model) => UpdateReturn;
|
|
119
|
+
/** Folds or unfolds the rail from a key of the parent's: the parent flips whether it keeps the
|
|
120
|
+
* rail hidden, as it does for `ToggledRail`, and folds this in, which moves focus in the rail
|
|
121
|
+
* onto the toggle. */
|
|
122
|
+
export declare const toggle: (model: Model) => UpdateReturn;
|
|
91
123
|
/** Processes a rail Message and returns the next Model, Commands and OutMessage: a splitter let
|
|
92
|
-
* go where it changes the width, or stepped by a key, asks for the width
|
|
124
|
+
* go where it changes the width, or stepped by a key, asks for the width, and the toggle asks
|
|
125
|
+
* to fold or unfold the rail. */
|
|
93
126
|
export declare const update: (model: Model, message: Message) => Readonly<{
|
|
94
127
|
model: {
|
|
95
128
|
readonly id: string;
|
|
@@ -111,8 +144,12 @@ export declare const update: (model: Model, message: Message) => Readonly<{
|
|
|
111
144
|
readonly _tag: "ClickedClose";
|
|
112
145
|
} | {
|
|
113
146
|
readonly _tag: "ClickedOpen";
|
|
147
|
+
} | {
|
|
148
|
+
readonly _tag: "ClickedToggle";
|
|
114
149
|
} | {
|
|
115
150
|
readonly _tag: "ClosedDrawer";
|
|
151
|
+
} | {
|
|
152
|
+
readonly _tag: "CompletedFocusRailToggle";
|
|
116
153
|
} | {
|
|
117
154
|
readonly _tag: "CompletedHideRailDrawer";
|
|
118
155
|
} | {
|
|
@@ -137,9 +174,13 @@ export declare const update: (model: Model, message: Message) => Readonly<{
|
|
|
137
174
|
outMessage?: {
|
|
138
175
|
readonly _tag: "ResizedRail";
|
|
139
176
|
readonly width: number;
|
|
177
|
+
} | {
|
|
178
|
+
readonly _tag: "ToggledRail";
|
|
140
179
|
};
|
|
141
180
|
}>;
|
|
142
181
|
type DrawerMessage = typeof Message.ClosedDrawer.Type | typeof Message.BlurredDrawer.Type | typeof Message.WidenedPastDrawer.Type;
|
|
182
|
+
/** The width at and under which the rail is a drawer, as the stylesheet has it. */
|
|
183
|
+
export declare const DRAWER_QUERY = "(max-width: 900px)";
|
|
143
184
|
/** The window crossing the drawer's width: growing past it while the drawer is open closes
|
|
144
185
|
* the drawer, since the rail is back in the page there. */
|
|
145
186
|
export declare const widthChangeMessage: (isDrawerWidth: boolean, isDrawerOpen: boolean) => Option.Option<DrawerMessage>;
|
|
@@ -183,8 +224,12 @@ export declare const subscriptions: <Prefix extends string>(keyPrefix: Prefix) =
|
|
|
183
224
|
readonly _tag: "ClickedClose";
|
|
184
225
|
} | {
|
|
185
226
|
readonly _tag: "ClickedOpen";
|
|
227
|
+
} | {
|
|
228
|
+
readonly _tag: "ClickedToggle";
|
|
186
229
|
} | {
|
|
187
230
|
readonly _tag: "ClosedDrawer";
|
|
231
|
+
} | {
|
|
232
|
+
readonly _tag: "CompletedFocusRailToggle";
|
|
188
233
|
} | {
|
|
189
234
|
readonly _tag: "CompletedHideRailDrawer";
|
|
190
235
|
} | {
|
|
@@ -229,8 +274,12 @@ export declare const subscriptions: <Prefix extends string>(keyPrefix: Prefix) =
|
|
|
229
274
|
readonly _tag: "ClickedClose";
|
|
230
275
|
} | {
|
|
231
276
|
readonly _tag: "ClickedOpen";
|
|
277
|
+
} | {
|
|
278
|
+
readonly _tag: "ClickedToggle";
|
|
232
279
|
} | {
|
|
233
280
|
readonly _tag: "ClosedDrawer";
|
|
281
|
+
} | {
|
|
282
|
+
readonly _tag: "CompletedFocusRailToggle";
|
|
234
283
|
} | {
|
|
235
284
|
readonly _tag: "CompletedHideRailDrawer";
|
|
236
285
|
} | {
|
|
@@ -266,20 +315,28 @@ export type ViewInputs = Readonly<{
|
|
|
266
315
|
* (for this client: another reader's window is not this one's); none for the stylesheet's.
|
|
267
316
|
* A width out of the rail's bounds prints at the nearer bound. */
|
|
268
317
|
maybeWidth: Option.Option<number>;
|
|
269
|
-
/**
|
|
270
|
-
*
|
|
271
|
-
|
|
272
|
-
|
|
318
|
+
/** Whether the reader folded the rail to its first panel's title bar, as the parent keeps it
|
|
319
|
+
* from `ToggledRail` (for this client, as it keeps the width). The drawer ignores it. */
|
|
320
|
+
isHidden: boolean;
|
|
321
|
+
/** The parent's key for the toggle, which its tip prints after its label; the parent binds
|
|
322
|
+
* it to `toggle`. */
|
|
323
|
+
maybeToggleKeyHint: Option.Option<Button.KeyHintConfig>;
|
|
324
|
+
/** The rail's panels: a tree, places, filters, given the toggle that folds the rail to put in
|
|
325
|
+
* its first panel's `lead`. A function because a Submodel's viewInputs may hold functions
|
|
326
|
+
* only at the top level, and Foldkit runs this one in the parent's boundary, so the
|
|
327
|
+
* handlers in what it returns dispatch the parent's Messages. */
|
|
328
|
+
toAsideView: (toggle: Html) => ReadonlyArray<Html>;
|
|
273
329
|
/** The page beside the rail, `main.deck#main` or `main.bench#main`, given the button that
|
|
274
330
|
* opens the drawer to print first in it. A function because it receives that button, and
|
|
275
331
|
* runs in the parent's boundary like `toAsideView`. */
|
|
276
332
|
toDeckView: (openButton: Html) => Html;
|
|
277
333
|
}>;
|
|
278
334
|
/**
|
|
279
|
-
* A column of panels beside the deck, fixed under the top bar
|
|
280
|
-
* `
|
|
281
|
-
*
|
|
282
|
-
*
|
|
335
|
+
* A column of panels beside the deck, fixed under the top bar: `div.railed >` the deck, then
|
|
336
|
+
* `aside.rail[popover="auto"][aria-label]`, then its splitter, `div.rail-resize[role="separator"]`,
|
|
337
|
+
* on its right edge. What comes before its last panel keeps its height, and the last panel
|
|
338
|
+
* shrinks to the room left, its bar and foot staying while its body scrolls. One element
|
|
339
|
+
* serves both layouts, so nothing in it renders twice or loses its state. At 900px and under it leaves the page, and
|
|
283
340
|
* `span.rail-open > button.btn.small` at the top of the deck opens the same element as a drawer
|
|
284
341
|
* over a veil, its head (the name and a close glyph) showing. Opening focuses its first
|
|
285
342
|
* control; Escape, a press on the veil, the close glyph, focus leaving or the window growing
|
|
@@ -287,9 +344,16 @@ export type ViewInputs = Readonly<{
|
|
|
287
344
|
*
|
|
288
345
|
* Its splitter sizes it, by a pointer (previewed as it moves) or the side arrows, within its
|
|
289
346
|
* bounds, and reports the width as `ResizedRail` for the parent to keep and pass back as
|
|
290
|
-
* `maybeWidth`, which the view sets as `--
|
|
291
|
-
* rail's width follow it. The drawer keeps its own width. Lift
|
|
292
|
-
* the application's, or a dragged splitter follows nothing.
|
|
347
|
+
* `maybeWidth`, which the view sets as `--railed-width` on `div.railed`, so the page's padding
|
|
348
|
+
* and the rail's width follow it (without one, `--rail`). The drawer keeps its own width. Lift
|
|
349
|
+
* `subscriptions(keyPrefix)` into the application's, or a dragged splitter follows nothing.
|
|
350
|
+
*
|
|
351
|
+
* Its toggle, `span.rail-toggle > button.iconbtn.quiet[aria-expanded]` ("Hide <label>"), comes
|
|
352
|
+
* to `toAsideView` to print as the first panel's `lead`. Pressed, it reports `ToggledRail` for
|
|
353
|
+
* the parent to keep and pass back as `isHidden`: `div.railed.folded` then stands the first
|
|
354
|
+
* panel's title bar on end on the ground (the toggle at its top, "Show <label>"), the rest of
|
|
355
|
+
* the rail and its splitter gone, and the deck takes the width. Focus in the rail lands on the
|
|
356
|
+
* toggle. The drawer, at 900px and under, prints neither the toggle nor the fold.
|
|
293
357
|
*
|
|
294
358
|
* Its state is its own, not `@foldkit/ui`'s Popover: that panel is placed by Floating UI and
|
|
295
359
|
* rendered only while open, and this one is always in the page, placed by the stylesheet, and
|
|
@@ -314,8 +378,12 @@ export declare const view: import("foldkit/submodel").View<{
|
|
|
314
378
|
readonly _tag: "ClickedClose";
|
|
315
379
|
} | {
|
|
316
380
|
readonly _tag: "ClickedOpen";
|
|
381
|
+
} | {
|
|
382
|
+
readonly _tag: "ClickedToggle";
|
|
317
383
|
} | {
|
|
318
384
|
readonly _tag: "ClosedDrawer";
|
|
385
|
+
} | {
|
|
386
|
+
readonly _tag: "CompletedFocusRailToggle";
|
|
319
387
|
} | {
|
|
320
388
|
readonly _tag: "CompletedHideRailDrawer";
|
|
321
389
|
} | {
|
|
@@ -344,10 +412,17 @@ export declare const view: import("foldkit/submodel").View<{
|
|
|
344
412
|
* (for this client: another reader's window is not this one's); none for the stylesheet's.
|
|
345
413
|
* A width out of the rail's bounds prints at the nearer bound. */
|
|
346
414
|
maybeWidth: Option.Option<number>;
|
|
347
|
-
/**
|
|
348
|
-
*
|
|
349
|
-
|
|
350
|
-
|
|
415
|
+
/** Whether the reader folded the rail to its first panel's title bar, as the parent keeps it
|
|
416
|
+
* from `ToggledRail` (for this client, as it keeps the width). The drawer ignores it. */
|
|
417
|
+
isHidden: boolean;
|
|
418
|
+
/** The parent's key for the toggle, which its tip prints after its label; the parent binds
|
|
419
|
+
* it to `toggle`. */
|
|
420
|
+
maybeToggleKeyHint: Option.Option<Button.KeyHintConfig>;
|
|
421
|
+
/** The rail's panels: a tree, places, filters, given the toggle that folds the rail to put in
|
|
422
|
+
* its first panel's `lead`. A function because a Submodel's viewInputs may hold functions
|
|
423
|
+
* only at the top level, and Foldkit runs this one in the parent's boundary, so the
|
|
424
|
+
* handlers in what it returns dispatch the parent's Messages. */
|
|
425
|
+
toAsideView: (toggle: Html) => ReadonlyArray<Html>;
|
|
351
426
|
/** The page beside the rail, `main.deck#main` or `main.bench#main`, given the button that
|
|
352
427
|
* opens the drawer to print first in it. A function because it receives that button, and
|
|
353
428
|
* runs in the parent's boundary like `toAsideView`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rail.d.ts","sourceRoot":"","sources":["../../../src/rail/rail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAU,MAAM,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAC9E,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAE3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AAIvC,OAAO,KAAK,YAAY,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"rail.d.ts","sourceRoot":"","sources":["../../../src/rail/rail.ts"],"names":[],"mappings":"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"}
|