element-book 26.10.1 → 26.11.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/dist/data/book-entry/book-page/book-page.d.ts +12 -10
- package/dist/data/book-entry/book-page/define-book-page.d.ts +1 -1
- package/dist/data/book-entry/book-page/define-book-page.js +2 -0
- package/dist/ui/elements/book-breadcrumbs.element.d.ts +1 -1
- package/dist/ui/elements/book-nav/book-nav.element.d.ts +1 -1
- package/dist/ui/elements/common/book-error.element.d.ts +1 -1
- package/dist/ui/elements/common/book-route-link.element.d.ts +1 -1
- package/dist/ui/elements/define-book-element.d.ts +1 -1
- package/dist/ui/elements/element-book-app/element-book-app.element.d.ts +1 -1
- package/dist/ui/elements/entry-display/book-breadcrumbs-bar.element.d.ts +1 -1
- package/dist/ui/elements/entry-display/book-entry-description.element.d.ts +1 -1
- package/dist/ui/elements/entry-display/book-page/book-page-controls.element.d.ts +1 -1
- package/dist/ui/elements/entry-display/book-page/book-page-wrapper.element.d.ts +1 -1
- package/dist/ui/elements/entry-display/element-example/book-element-example-controls.element.d.ts +1 -1
- package/dist/ui/elements/entry-display/element-example/book-element-example-viewer.element.d.ts +1 -1
- package/dist/ui/elements/entry-display/element-example/book-element-example-wrapper.element.d.ts +1 -1
- package/dist/ui/elements/entry-display/element-example/book-element-example-wrapper.element.js +2 -3
- package/dist/ui/elements/entry-display/entry-display/book-entry-display.element.d.ts +1 -1
- package/dist/ui/elements/entry-display/entry-display/book-entry-display.element.js +8 -4
- package/dist/ui/elements/entry-display/entry-display/create-node-templates.js +4 -2
- package/package.json +2 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Overwrite, type SetOptionalAndNullable } from '@augment-vir/common';
|
|
1
|
+
import { type Overwrite, type PartialWithUndefined, type SetOptionalAndNullable } from '@augment-vir/common';
|
|
2
2
|
import { type CSSResult, type HtmlInterpolation, type PropertyInitMapBase, type RenderParams, type TypedEvent } from 'element-vir';
|
|
3
3
|
import { type GlobalValues } from '../../../ui/elements/element-book-app/global-values.js';
|
|
4
4
|
import { type BaseBookEntry } from '../base-book-entry.js';
|
|
@@ -19,13 +19,14 @@ export type BookPage<GlobalValuesType extends GlobalValues = {}, ParentPage exte
|
|
|
19
19
|
}> & {
|
|
20
20
|
controls: ControlsInit;
|
|
21
21
|
elementExamples: Record<string, BookElementExample>;
|
|
22
|
+
useVerticalExamples: boolean;
|
|
22
23
|
};
|
|
23
24
|
/**
|
|
24
25
|
* All parameters required for rendering an element-book page.
|
|
25
26
|
*
|
|
26
27
|
* @category Internal
|
|
27
28
|
*/
|
|
28
|
-
export type BookPageExampleRenderParams<GlobalValuesType extends GlobalValues, ControlsInit extends BookPageControlsInitBase, State extends PropertyInitMapBase> = Pick<RenderParams<any, any, State, any, any, any, any>, 'state' | 'updateState'> & {
|
|
29
|
+
export type BookPageExampleRenderParams<GlobalValuesType extends GlobalValues, ControlsInit extends BookPageControlsInitBase, State extends PropertyInitMapBase> = Pick<RenderParams<any, any, State, any, any, any, any, any>, 'state' | 'updateState'> & {
|
|
29
30
|
controls: ControlsToValues<ControlsInit> & GlobalValuesType;
|
|
30
31
|
};
|
|
31
32
|
/**
|
|
@@ -36,26 +37,27 @@ export type BookPageExampleRenderParams<GlobalValuesType extends GlobalValues, C
|
|
|
36
37
|
export type BookElementExample<GlobalValuesType extends GlobalValues = {}, ControlsInit extends BookPageControlsInitBase = {}, State extends PropertyInitMapBase = {}> = Overwrite<BaseBookEntry, {
|
|
37
38
|
parent: BookPage | undefined;
|
|
38
39
|
entryType: BookEntryType.ElementExample;
|
|
39
|
-
|
|
40
|
+
isVertical: boolean;
|
|
41
|
+
/** Render the example. */
|
|
42
|
+
render: (renderParams: BookPageExampleRenderParams<GlobalValuesType, ControlsInit, State>) => HtmlInterpolation;
|
|
43
|
+
} & PartialWithUndefined<{
|
|
40
44
|
/**
|
|
41
45
|
* Initialize the state for this example. This is only called once, before the first render
|
|
42
46
|
* of the example.
|
|
43
47
|
*/
|
|
44
|
-
state
|
|
48
|
+
state: () => State;
|
|
45
49
|
/** Specify which events this example should intercept (so the user can see them). */
|
|
46
|
-
showEvents
|
|
50
|
+
showEvents: ReadonlyArray<string | TypedEvent>;
|
|
47
51
|
/**
|
|
48
52
|
* Style the element example. You can even use the :host selector to style this specific
|
|
49
53
|
* example's wrapper element!
|
|
50
54
|
*/
|
|
51
|
-
styles
|
|
52
|
-
|
|
53
|
-
render: (renderParams: BookPageExampleRenderParams<GlobalValuesType, ControlsInit, State>) => HtmlInterpolation;
|
|
54
|
-
}>;
|
|
55
|
+
styles: CSSResult;
|
|
56
|
+
}>>;
|
|
55
57
|
/**
|
|
56
58
|
* The properties that are necessary to initialize an element example. Missing properties will be
|
|
57
59
|
* filled in by the parent.
|
|
58
60
|
*
|
|
59
61
|
* @category Internal
|
|
60
62
|
*/
|
|
61
|
-
export type BookElementExampleInit<GlobalValuesType extends GlobalValues, Controls extends BookPageControlsInitBase, State extends PropertyInitMapBase> = SetOptionalAndNullable<Omit<BookElementExample<GlobalValuesType, Controls, State>, 'entryType' | 'parent' | 'errors'>, 'descriptionParagraphs'>;
|
|
63
|
+
export type BookElementExampleInit<GlobalValuesType extends GlobalValues, Controls extends BookPageControlsInitBase, State extends PropertyInitMapBase> = SetOptionalAndNullable<Omit<BookElementExample<GlobalValuesType, Controls, State>, 'entryType' | 'parent' | 'errors' | 'isVertical'>, 'descriptionParagraphs'>;
|
|
@@ -40,7 +40,7 @@ RecursionDepth = InfiniteRecursionLimiter> = GlobalValuesType & (RecursionDepth
|
|
|
40
40
|
*
|
|
41
41
|
* @category Type
|
|
42
42
|
*/
|
|
43
|
-
export type BookPageInit<GlobalValuesType extends GlobalValues, ParentPage extends BookPage | undefined, CurrentControlsInit extends BookPageControlsInitBase> = SetOptionalAndNullable<Omit<BookPage<any, ParentPage, CurrentControlsInit>, 'entryType' | 'elementExamples' | 'errors'>, 'controls' | 'descriptionParagraphs'> & {
|
|
43
|
+
export type BookPageInit<GlobalValuesType extends GlobalValues, ParentPage extends BookPage | undefined, CurrentControlsInit extends BookPageControlsInitBase> = SetOptionalAndNullable<Omit<BookPage<any, ParentPage, CurrentControlsInit>, 'entryType' | 'elementExamples' | 'errors'>, 'controls' | 'descriptionParagraphs' | 'useVerticalExamples'> & {
|
|
44
44
|
defineExamples?: ElementExamplesDefiner<CollapseGlobalValuesType<ParentPage, GlobalValuesType>, CollapseControlsInit<ParentPage, CurrentControlsInit>> | undefined;
|
|
45
45
|
};
|
|
46
46
|
/**
|
|
@@ -22,6 +22,7 @@ export function defineBookPage(pageInit) {
|
|
|
22
22
|
const page = {
|
|
23
23
|
...pageInit,
|
|
24
24
|
entryType: BookEntryType.Page,
|
|
25
|
+
useVerticalExamples: !!pageInit.useVerticalExamples,
|
|
25
26
|
elementExamples: {},
|
|
26
27
|
descriptionParagraphs: pageInit.descriptionParagraphs ?? [],
|
|
27
28
|
controls: pageInit.controls ?? {},
|
|
@@ -33,6 +34,7 @@ export function defineBookPage(pageInit) {
|
|
|
33
34
|
defineExample(elementExampleInit) {
|
|
34
35
|
const newExample = {
|
|
35
36
|
...elementExampleInit,
|
|
37
|
+
isVertical: page.useVerticalExamples,
|
|
36
38
|
entryType: BookEntryType.ElementExample,
|
|
37
39
|
parent: page,
|
|
38
40
|
descriptionParagraphs: elementExampleInit.descriptionParagraphs ?? [],
|
|
@@ -3,4 +3,4 @@ import { type BookFullRoute } from '../../routing/book-routing.js';
|
|
|
3
3
|
export declare const BookBreadcrumbs: import("element-vir").DeclarativeElementDefinition<"book-breadcrumbs", {
|
|
4
4
|
currentRoute: Readonly<BookFullRoute>;
|
|
5
5
|
router: Readonly<BookRouter> | undefined;
|
|
6
|
-
}, {}, {}, "book-breadcrumbs-", "book-breadcrumbs-", readonly []>;
|
|
6
|
+
}, {}, {}, "book-breadcrumbs-", "book-breadcrumbs-", readonly [], readonly []>;
|
|
@@ -4,5 +4,5 @@ export declare const BookNav: import("element-vir").DeclarativeElementDefinition
|
|
|
4
4
|
flattenedNodes: ReadonlyArray<Readonly<BookTreeNode>>;
|
|
5
5
|
selectedPath: ReadonlyArray<string> | undefined;
|
|
6
6
|
router: BookRouter | undefined;
|
|
7
|
-
}, {}, {}, "book-nav-", "book-nav-internal-indent", readonly []>;
|
|
7
|
+
}, {}, {}, "book-nav-", "book-nav-internal-indent", readonly [], readonly []>;
|
|
8
8
|
export declare function scrollSelectedNavElementIntoView(bookNavInstance: typeof BookNav.InstanceType): Promise<void>;
|
|
@@ -3,4 +3,4 @@ import { type BookFullRoute } from '../../../routing/book-routing.js';
|
|
|
3
3
|
export declare const BookRouteLink: import("element-vir").DeclarativeElementDefinition<"book-route-link", {
|
|
4
4
|
route: Partial<BookFullRoute>;
|
|
5
5
|
router: Readonly<BookRouter> | undefined;
|
|
6
|
-
}, {}, {}, "book-route-link-", "book-route-link-anchor-padding", readonly []>;
|
|
6
|
+
}, {}, {}, "book-route-link-", "book-route-link-anchor-padding", readonly [], readonly []>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export type BookTagName = `book-${string}`;
|
|
2
|
-
export declare const defineBookElement: <Inputs extends {}>(...errorParams: import("element-vir").DeclarativeElementInputErrorParams<Inputs>) => <const TagName extends `book-${string}`, State extends {}, EventsInit extends {}, const HostClassKeys extends `${TagName}-${string}` = `${TagName}-`, const CssVarKeys extends `${TagName}-${string}` = `${TagName}-`, const SlotNames extends ReadonlyArray<string> = readonly []>(inputs: import("element-vir").DeclarativeElementInit<TagName, Inputs, State, EventsInit, HostClassKeys, CssVarKeys, SlotNames>) => import("element-vir").DeclarativeElementDefinition<TagName, Inputs, State, EventsInit, HostClassKeys, CssVarKeys, SlotNames>;
|
|
2
|
+
export declare const defineBookElement: <Inputs extends {}>(...errorParams: import("element-vir").DeclarativeElementInputErrorParams<Inputs>) => <const TagName extends `book-${string}`, State extends {}, EventsInit extends {}, const HostClassKeys extends `${TagName}-${string}` = `${TagName}-`, const CssVarKeys extends `${TagName}-${string}` = `${TagName}-`, const SlotNames extends ReadonlyArray<string> = readonly [], const TestIds extends ReadonlyArray<string> = readonly []>(inputs: import("element-vir").DeclarativeElementInit<TagName, Inputs, State, EventsInit, HostClassKeys, CssVarKeys, SlotNames, TestIds>) => import("element-vir").DeclarativeElementDefinition<TagName, Inputs, State, EventsInit, HostClassKeys, CssVarKeys, SlotNames, TestIds>;
|
|
@@ -32,4 +32,4 @@ export declare const ElementBookApp: import("element-vir").DeclarativeElementDef
|
|
|
32
32
|
originalWindowTitle: string | undefined;
|
|
33
33
|
}, {
|
|
34
34
|
pathUpdate: import("element-vir").DefineEvent<readonly string[]>;
|
|
35
|
-
}, "element-book-app-", "element-book-app-", readonly []>;
|
|
35
|
+
}, "element-book-app-", "element-book-app-", readonly [], readonly []>;
|
|
@@ -4,4 +4,4 @@ export declare const BookBreadcrumbsBar: import("element-vir").DeclarativeElemen
|
|
|
4
4
|
currentSearch: string;
|
|
5
5
|
currentRoute: Readonly<BookFullRoute>;
|
|
6
6
|
router: Readonly<BookRouter> | undefined;
|
|
7
|
-
}, {}, {}, "book-breadcrumbs-bar-", "book-breadcrumbs-bar-", readonly []>;
|
|
7
|
+
}, {}, {}, "book-breadcrumbs-bar-", "book-breadcrumbs-bar-", readonly [], readonly []>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { type HTMLTemplateResult } from 'element-vir';
|
|
2
2
|
export declare const BookEntryDescription: import("element-vir").DeclarativeElementDefinition<"book-entry-description", {
|
|
3
3
|
descriptionParagraphs: ReadonlyArray<string | HTMLTemplateResult>;
|
|
4
|
-
}, {}, {}, "book-entry-description-", "book-entry-description-", readonly []>;
|
|
4
|
+
}, {}, {}, "book-entry-description-", "book-entry-description-", readonly [], readonly []>;
|
|
@@ -14,4 +14,4 @@ export declare const BookPageControls: import("element-vir").DeclarativeElementD
|
|
|
14
14
|
fullUrlBreadcrumbs: ReadonlyArray<string>;
|
|
15
15
|
newValues: BookPageControlsValues;
|
|
16
16
|
}>;
|
|
17
|
-
}, "book-page-controls-has-controls", "book-page-controls-", readonly []>;
|
|
17
|
+
}, "book-page-controls-has-controls", "book-page-controls-", readonly [], readonly []>;
|
|
@@ -7,4 +7,4 @@ export declare const BookPageWrapper: import("element-vir").DeclarativeElementDe
|
|
|
7
7
|
pageNode: BookTreeNode<BookEntryType.Page>;
|
|
8
8
|
router: BookRouter | undefined;
|
|
9
9
|
controls: ControlsWrapper;
|
|
10
|
-
}, {}, {}, "book-page-wrapper-", "book-page-wrapper-", readonly []>;
|
|
10
|
+
}, {}, {}, "book-page-wrapper-", "book-page-wrapper-", readonly [], readonly []>;
|
package/dist/ui/elements/entry-display/element-example/book-element-example-controls.element.d.ts
CHANGED
|
@@ -4,4 +4,4 @@ import { type BookRouter } from '../../../../routing/book-router.js';
|
|
|
4
4
|
export declare const BookElementExampleControls: import("element-vir").DeclarativeElementDefinition<"book-element-example-controls", {
|
|
5
5
|
elementExampleNode: BookTreeNode<BookEntryType.ElementExample>;
|
|
6
6
|
router: BookRouter | undefined;
|
|
7
|
-
}, {}, {}, "book-element-example-controls-", "book-element-example-controls-", readonly []>;
|
|
7
|
+
}, {}, {}, "book-element-example-controls-", "book-element-example-controls-", readonly [], readonly []>;
|
package/dist/ui/elements/entry-display/element-example/book-element-example-viewer.element.d.ts
CHANGED
|
@@ -4,4 +4,4 @@ import { type BookTreeNode } from '../../../../data/book-tree/book-tree-node.js'
|
|
|
4
4
|
export declare const BookElementExampleViewer: import("element-vir").DeclarativeElementDefinition<"book-element-example-viewer", {
|
|
5
5
|
elementExampleNode: BookTreeNode<BookEntryType.ElementExample>;
|
|
6
6
|
currentPageControls: BookPageControlsValues;
|
|
7
|
-
}, any, {}, "book-element-example-viewer-", "book-element-example-viewer-", readonly []>;
|
|
7
|
+
}, any, {}, "book-element-example-viewer-", "book-element-example-viewer-", readonly [], readonly []>;
|
package/dist/ui/elements/entry-display/element-example/book-element-example-wrapper.element.d.ts
CHANGED
|
@@ -6,4 +6,4 @@ export declare const BookElementExampleWrapper: import("element-vir").Declarativ
|
|
|
6
6
|
elementExampleNode: BookTreeNode<BookEntryType.ElementExample>;
|
|
7
7
|
currentPageControls: BookPageControlsValues;
|
|
8
8
|
router: BookRouter | undefined;
|
|
9
|
-
}, {}, {}, "book-element-example-wrapper-", "book-element-example-wrapper-", readonly []>;
|
|
9
|
+
}, {}, {}, "book-element-example-wrapper-", "book-element-example-wrapper-", readonly [], readonly []>;
|
package/dist/ui/elements/entry-display/element-example/book-element-example-wrapper.element.js
CHANGED
|
@@ -8,9 +8,7 @@ export const BookElementExampleWrapper = defineBookElement()({
|
|
|
8
8
|
tagName: 'book-element-example-wrapper',
|
|
9
9
|
styles: css `
|
|
10
10
|
:host {
|
|
11
|
-
display: inline-
|
|
12
|
-
flex-direction: column;
|
|
13
|
-
gap: 24px;
|
|
11
|
+
display: inline-block;
|
|
14
12
|
max-width: 100%;
|
|
15
13
|
}
|
|
16
14
|
|
|
@@ -30,6 +28,7 @@ export const BookElementExampleWrapper = defineBookElement()({
|
|
|
30
28
|
flex-direction: column;
|
|
31
29
|
gap: 24px;
|
|
32
30
|
max-width: 100%;
|
|
31
|
+
align-items: flex-start;
|
|
33
32
|
}
|
|
34
33
|
|
|
35
34
|
${BookElementExampleControls} {
|
|
@@ -15,4 +15,4 @@ export declare const BookEntryDisplay: import("element-vir").DeclarativeElementD
|
|
|
15
15
|
lastElement: undefined | Element;
|
|
16
16
|
}, {
|
|
17
17
|
loadingRender: import("element-vir").DefineEvent<boolean>;
|
|
18
|
-
}, "book-entry-display-", "book-entry-display-", readonly []>;
|
|
18
|
+
}, "book-entry-display-", "book-entry-display-", readonly [], readonly []>;
|
|
@@ -24,10 +24,6 @@ export const BookEntryDisplay = defineBookElement()({
|
|
|
24
24
|
padding: 32px;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
.inline-entry {
|
|
28
|
-
margin: 8px;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
27
|
* + .block-entry {
|
|
32
28
|
margin-top: 32px;
|
|
33
29
|
}
|
|
@@ -36,6 +32,14 @@ export const BookEntryDisplay = defineBookElement()({
|
|
|
36
32
|
margin-top: 32px;
|
|
37
33
|
}
|
|
38
34
|
|
|
35
|
+
.inline-entry {
|
|
36
|
+
margin: 8px;
|
|
37
|
+
|
|
38
|
+
&.block-entry {
|
|
39
|
+
display: block;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
39
43
|
h1 {
|
|
40
44
|
margin: 0;
|
|
41
45
|
padding: 0;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { check } from '@augment-vir/assert';
|
|
2
2
|
import { mapObjectValues } from '@augment-vir/common';
|
|
3
|
-
import { html, nothing, repeat } from 'element-vir';
|
|
3
|
+
import { classMap, html, nothing, repeat, } from 'element-vir';
|
|
4
4
|
import { BookEntryType } from '../../../../data/book-entry/book-entry-type.js';
|
|
5
5
|
import { traverseControls, } from '../../../../data/book-entry/book-page/controls-wrapper.js';
|
|
6
6
|
import { isBookTreeNode, traverseToImmediateParent } from '../../../../data/book-tree/book-tree.js';
|
|
@@ -87,7 +87,9 @@ export function createNodeTemplates({ currentNodes, isTopLevel, router, isSearch
|
|
|
87
87
|
currentPageControls: controlsForElementExample,
|
|
88
88
|
router,
|
|
89
89
|
})}
|
|
90
|
-
class="inline-entry
|
|
90
|
+
class="inline-entry ${classMap({
|
|
91
|
+
'block-entry': currentNode.entry.isVertical,
|
|
92
|
+
})}"
|
|
91
93
|
></${BookElementExampleWrapper}>
|
|
92
94
|
`;
|
|
93
95
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "element-book",
|
|
3
|
-
"version": "26.
|
|
3
|
+
"version": "26.11.0",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"book",
|
|
6
6
|
"design system",
|
|
@@ -36,7 +36,6 @@
|
|
|
36
36
|
"build": "npm run docs",
|
|
37
37
|
"compile": "virmator compile",
|
|
38
38
|
"docs": "virmator docs",
|
|
39
|
-
"start": "virmator frontend",
|
|
40
39
|
"test": "virmator test web",
|
|
41
40
|
"test:coverage": "npm run test coverage",
|
|
42
41
|
"test:docs": "virmator docs check"
|
|
@@ -58,7 +57,7 @@
|
|
|
58
57
|
"@web/test-runner-commands": "^0.9.0",
|
|
59
58
|
"@web/test-runner-playwright": "^0.11.1",
|
|
60
59
|
"@web/test-runner-visual-regression": "^0.10.0",
|
|
61
|
-
"element-vir": "^26.
|
|
60
|
+
"element-vir": "^26.11.0",
|
|
62
61
|
"istanbul-smart-text-reporter": "^1.1.5",
|
|
63
62
|
"markdown-code-example-inserter": "^3.0.3",
|
|
64
63
|
"type-fest": "^5.1.0",
|