@polyxd/core 0.3.0 → 0.4.1
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/NOTICE +34 -0
- package/README.md +3 -2
- package/dist/actions.d.ts +3 -0
- package/dist/actions.js +1 -0
- package/dist/actions.js.map +1 -1
- package/dist/chart.d.ts +6 -0
- package/dist/chart.js +11 -0
- package/dist/chart.js.map +1 -1
- package/dist/events.d.ts +136 -0
- package/dist/events.js +245 -0
- package/dist/events.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/surface.d.ts +3 -0
- package/dist/surface.js +1 -0
- package/dist/surface.js.map +1 -1
- package/package.json +4 -1
package/NOTICE
CHANGED
|
@@ -135,6 +135,38 @@ Upstream: https://github.com/adobe/spectrum-tokens
|
|
|
135
135
|
|
|
136
136
|
Vendored under `packages/ds-spectrum/scripts/sources/`, with the upstream licence file beside it.
|
|
137
137
|
|
|
138
|
+
## Logos
|
|
139
|
+
|
|
140
|
+
Twelve packs ship their design system's official logo, unaltered, as `logo.svg`
|
|
141
|
+
(Bootstrap and Radix also ship the owner's white version as `logo-white.svg`),
|
|
142
|
+
downloaded from the owner's own site, repository or brand page. Where a design
|
|
143
|
+
system has no mark of its own (Polaris, Spectrum, Primer), the pack ships its
|
|
144
|
+
company's logo. Each is used only to identify the design system a pack is
|
|
145
|
+
modelled on, beside its name. The logos are trademarks of their owners, not
|
|
146
|
+
Polyxd's, and are not covered by Polyxd's licence:
|
|
147
|
+
|
|
148
|
+
- Material 3 (`@polyxd/ds-material3`) — Google LLC
|
|
149
|
+
- Carbon (`@polyxd/ds-carbon`) — IBM Corp.
|
|
150
|
+
- Fluent 2 (`@polyxd/ds-fluent`) — Microsoft Corporation
|
|
151
|
+
- Polaris (`@polyxd/ds-polaris`) — the Shopify logo, Shopify Inc.
|
|
152
|
+
- Spectrum 2 (`@polyxd/ds-spectrum`) — the Adobe logo, Adobe Inc.
|
|
153
|
+
- Primer (`@polyxd/ds-primer`) — the GitHub logo, GitHub, Inc.
|
|
154
|
+
- shadcn/ui (`@polyxd/ds-shadcn`) — shadcn
|
|
155
|
+
- Ant Design (`@polyxd/ds-antd`) — Ant Group
|
|
156
|
+
- Bootstrap (`@polyxd/ds-bootstrap`) — the Bootstrap team
|
|
157
|
+
- Chakra UI (`@polyxd/ds-chakra`) — Chakra Systems Inc.
|
|
158
|
+
- Mantine (`@polyxd/ds-mantine`) — Vitaly Rtishchev
|
|
159
|
+
- Radix UI (`@polyxd/ds-radix`) — WorkOS
|
|
160
|
+
|
|
161
|
+
Google, IBM, Microsoft, Shopify, Adobe and GitHub restrict the use of their
|
|
162
|
+
logos without permission; each pack's manifest (`logo`) and README record the
|
|
163
|
+
source and the owner's guidelines. GOV.UK's crown and logotype are protected and
|
|
164
|
+
may not be used by a service that is not on GOV.UK, so `@polyxd/ds-govuk` ships
|
|
165
|
+
no logo and is named in words only.
|
|
166
|
+
|
|
167
|
+
The twelve template packs' `logo.svg` files are Polyxd's own marks, drawn from
|
|
168
|
+
each template's tokens.
|
|
169
|
+
|
|
138
170
|
## Template packs
|
|
139
171
|
|
|
140
172
|
Twelve packs are original Polyxd templates, not readings of any design system:
|
|
@@ -167,6 +199,8 @@ Apache-2.0: playwright
|
|
|
167
199
|
MIT: react, react-dom, radix-ui, ajv, ajv-formats, vite, @vitejs/plugin-react,
|
|
168
200
|
marked, lenis, @types/react, @types/react-dom
|
|
169
201
|
MIT OR Apache-2.0: wrangler, @cloudflare/workers-types
|
|
202
|
+
Apache-2.0 AND MIT: posthog-js (the analytics on polyxd.com and in Studio, only
|
|
203
|
+
when a PostHog key is set; the site's build copies it out of node_modules)
|
|
170
204
|
|
|
171
205
|
Two need a word.
|
|
172
206
|
|
package/README.md
CHANGED
|
@@ -28,16 +28,17 @@ surface.subscribe((data) => render());
|
|
|
28
28
|
| Bindings | `get`, `set`, `resolve`, `resolveContext`, `resolveDeep`, `absolute`, `childPointer`, `asList`, `isBinding`, `itemScopes`, `ROOT_SCOPE` |
|
|
29
29
|
| Formatting | `formatValue`, `resolveFormat`, `safeColor`, `currencySymbol`, `formatCount`, `formatPercent` |
|
|
30
30
|
| Surface | `createSurface`, `a11yAttributes`, `dispatchAction`, `contextWithValue`, `copyText`, `rowChangeAction`, `isRendererAction` |
|
|
31
|
+
| Semantic events | `createSurfaceEvents` (the emitter a renderer tells what happened; it decides which events that makes), `validityReason`, `fileRefusalReason`, `SEMANTIC_EVENT_TYPES`, `EVENT_PROPERTIES`, `EVENT_SURFACE_PROPERTIES`, `EVENT_ACTOR_PROPERTIES`, `EVENT_COMPONENT_PROPERTIES`, and the `SemanticEvent` type, all checked against `schema/event.schema.json` |
|
|
31
32
|
| Choice | `optionsOf`, `planChoice` (chips, people or list; searchable past 10), `optionKey`, `matchesQuery`, `partitionRecent`, `toggleSelection`, `isSelected`, `searchPlaceholder`, `idOf` |
|
|
32
33
|
| State machines | `stepsReducer`, `initialStep`, `isLastStep`, `stepsProgress`, `taskStatus`, `tasklistReducer`, `tasklistProgress`; `selectedView`, `viewsReducer`; `splitReducer`, `initialSplit`, `splitPanes`, `splitSelection`, `splitItemValue`, `clampShare` |
|
|
33
34
|
| Layout rules | `frameWidth`, `placementFor`, `appBarTitle`, `documentTitle` (the Frame); `TABLE_COMPACT_PX`, `stackedColumns`, `isNumericColumn`, `paging`, `rowValue`, `nextSort`, `columnCount` (Table); `fitActions`, `minShown`, `menuOrder` (ActionBar); `collectionLayout`, `orderedIndices`, `moveItem`, `calendarMonth` (Collection); `treeRows`, `treeKey`, `typeAheadTarget`, `visibleWindow` (Tree); `activeFilters` (FilterPanel) |
|
|
34
35
|
| Loading | `skeletonShape`, `SKELETON_SHAPES`, `PATTERN_SHAPE`, `skeletonStatus` |
|
|
35
36
|
| Shortcuts | `parseShortcut`, `shortcutMatches`, `unmodified`, `isApplePlatform` |
|
|
36
37
|
| Small marks | `metricChange`, `gaugeState`, `meterHint`, `starsLabel`, `ratingSaid`, `maskSecret`, `groupSummary`, `avatarTone`, `initialsOf`, `iconPath` |
|
|
37
|
-
| Content | `richText` (tokens for `**bold**`, `*italic*`, `` `code` ``, `[text](href)`), `qrEncode`, chart geometry (`niceMax`, `axisLabel`, `treemap`, `verticalScale`, `flowLayout`, `markerShape`), `applyMask`, colour parsing (`parseColor`, `formatColor`), file limits (`formatBytes`, `refuseFile`, `fileLimits`) |
|
|
38
|
+
| Content | `richText` (tokens for `**bold**`, `*italic*`, `` `code` ``, `[text](href)`), `qrEncode`, chart geometry (`niceMax`, `axisLabel`, `axisLabelStep`, `treemap`, `verticalScale`, `flowLayout`, `markerShape`), `applyMask`, colour parsing (`parseColor`, `formatColor`), file limits (`formatBytes`, `refuseFile`, `fileLimits`) |
|
|
38
39
|
|
|
39
40
|
Every renderer that uses these makes the same decisions from the same document: a `Choice` with three short options is chips everywhere, a Table stacks below 720px everywhere, `ui.dismiss` closes everywhere. The conformance suite in `@polyxd/verifier` checks that it does.
|
|
40
41
|
|
|
41
42
|
## Tests
|
|
42
43
|
|
|
43
|
-
`npm test -w @polyxd/core` runs the unit tests: pointer resolution, formatting per locale, the reducers, control selection, the layout rules, shortcuts, and the
|
|
44
|
+
`npm test -w @polyxd/core` runs the unit tests: pointer resolution, formatting per locale, the reducers, control selection, the layout rules, shortcuts, the headless surface, and the semantic events (each one validated against the spec's schema).
|
package/dist/actions.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/** What an action does when it fires: the renderer's own names, and everything else to the host. */
|
|
2
2
|
import { type Scope } from "./data.ts";
|
|
3
3
|
import type { Action, ActionEvent, Node } from "./document.ts";
|
|
4
|
+
import type { SurfaceEvents } from "./events.ts";
|
|
4
5
|
export interface DispatchHandlers {
|
|
5
6
|
onAction?: (event: ActionEvent) => void;
|
|
6
7
|
onDismiss?: () => void;
|
|
8
|
+
/** The surface's semantic events, when the host asked for them: told about every action first. */
|
|
9
|
+
events?: SurfaceEvents;
|
|
7
10
|
}
|
|
8
11
|
export declare const isRendererAction: (name: string) => boolean;
|
|
9
12
|
/**
|
package/dist/actions.js
CHANGED
|
@@ -11,6 +11,7 @@ export function dispatchAction(action, scope, source, data, handlers) {
|
|
|
11
11
|
if (!action)
|
|
12
12
|
return;
|
|
13
13
|
const { name, context } = action.event;
|
|
14
|
+
handlers.events?.action(action, source);
|
|
14
15
|
if (name === "ui.dismiss")
|
|
15
16
|
return handlers.onDismiss?.();
|
|
16
17
|
handlers.onAction?.({ name, context: resolveContext(context, data, scope), source });
|
package/dist/actions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAc,MAAM,WAAW,CAAC;AAErF,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAc,MAAM,WAAW,CAAC;AAErF,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAUjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAW,EAAE,CAAE,gBAAsC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAElH;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAA0B,EAAE,KAAY,EAAE,MAAc,EAAE,IAAa,EAAE,QAA0B;IAChI,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;IACzD,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;AACvF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAU,EAAE,IAAa,EAAE,KAAY,EAAE,IAAa;IACrF,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CACxK,CAAC;AACJ,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,QAAQ,CAAC,IAAU,EAAE,IAAa,EAAE,KAAY,EAAE,IAA4B;IAC5F,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AACjI,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAU,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC"}
|
package/dist/chart.d.ts
CHANGED
|
@@ -12,6 +12,12 @@ export declare const seriesColor: (i: number) => string;
|
|
|
12
12
|
export declare function niceMax(v: number): number;
|
|
13
13
|
/** Short axis labels: dates as "Apr" (or "3 Apr"), everything else as text. */
|
|
14
14
|
export declare function axisLabel(v: unknown, type: string | undefined, locale: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* How many points apart the x-axis labels go so they don't overlap: 1 when every label fits under
|
|
17
|
+
* its band, otherwise the smallest step that leaves room for the widest label. Widths are estimated
|
|
18
|
+
* at 7 units a character (the axis text is 12px), with 8 units between labels.
|
|
19
|
+
*/
|
|
20
|
+
export declare function axisLabelStep(labels: string[], plotW: number): number;
|
|
15
21
|
export interface Rect {
|
|
16
22
|
x: number;
|
|
17
23
|
y: number;
|
package/dist/chart.js
CHANGED
|
@@ -21,6 +21,17 @@ export function axisLabel(v, type, locale) {
|
|
|
21
21
|
}
|
|
22
22
|
return String(v ?? "").slice(0, 12);
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* How many points apart the x-axis labels go so they don't overlap: 1 when every label fits under
|
|
26
|
+
* its band, otherwise the smallest step that leaves room for the widest label. Widths are estimated
|
|
27
|
+
* at 7 units a character (the axis text is 12px), with 8 units between labels.
|
|
28
|
+
*/
|
|
29
|
+
export function axisLabelStep(labels, plotW) {
|
|
30
|
+
if (labels.length < 2)
|
|
31
|
+
return 1;
|
|
32
|
+
const widest = Math.max(...labels.map((l) => l.length)) * 7 + 8;
|
|
33
|
+
return Math.max(1, Math.ceil(widest / (plotW / labels.length)));
|
|
34
|
+
}
|
|
24
35
|
/** Squarified treemap: tiles laid in rows along the shorter side, keeping them near square. */
|
|
25
36
|
export function treemap(values, w, h) {
|
|
26
37
|
const total = values.reduce((a, v) => a + v, 0);
|
package/dist/chart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart.js","sourceRoot":"","sources":["../src/chart.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chart.js","sourceRoot":"","sources":["../src/chart.ts"],"names":[],"mappings":"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"}
|
package/dist/events.d.ts
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semantic analytics events: what people do with a rendered surface, said in the document's own
|
|
3
|
+
* terms (its intent, pattern, component ids and capability names), never in the values they typed.
|
|
4
|
+
* The shape is the spec's schema/event.schema.json; core's tests hold these types to it.
|
|
5
|
+
*
|
|
6
|
+
* A renderer creates one emitter per surface it shows and tells it what happened: shown, an action
|
|
7
|
+
* dispatched, an input edited, an input refused, a Status drawn, the surface taken down. The
|
|
8
|
+
* emitter decides which events that makes and hands each one to the host's handler. Polyxd itself
|
|
9
|
+
* receives none of them.
|
|
10
|
+
*/
|
|
11
|
+
import type { Action, Node, UIDocument } from "./document.ts";
|
|
12
|
+
/** Every event type the schema defines, in its order. */
|
|
13
|
+
export declare const SEMANTIC_EVENT_TYPES: readonly ["surface.shown", "surface.dismissed", "surface.regenerated", "action.taken", "checkpoint.reached", "task.completed", "task.abandoned", "input.error", "status.shown", "undo", "feedback"];
|
|
14
|
+
export type SemanticEventType = (typeof SEMANTIC_EVENT_TYPES)[number];
|
|
15
|
+
/** Which surface an event is about. `intent` is the surface id when the document gives no intent. */
|
|
16
|
+
export interface EventSurface {
|
|
17
|
+
id: string;
|
|
18
|
+
intent: string;
|
|
19
|
+
pattern?: string;
|
|
20
|
+
journey?: string;
|
|
21
|
+
specVersion?: string;
|
|
22
|
+
/** Model or generator id and version, when the host knows it */
|
|
23
|
+
generator?: string;
|
|
24
|
+
/** Design Direction name@version */
|
|
25
|
+
direction?: string;
|
|
26
|
+
/** Experiment key to variant */
|
|
27
|
+
experiment?: Record<string, string>;
|
|
28
|
+
}
|
|
29
|
+
export interface EventActor {
|
|
30
|
+
kind: "human" | "agent";
|
|
31
|
+
assistiveTech?: boolean;
|
|
32
|
+
}
|
|
33
|
+
/** The component an event came from: its id, its stable semantic `key` when the document gives one, and its type. */
|
|
34
|
+
export interface EventComponent {
|
|
35
|
+
id?: string;
|
|
36
|
+
key?: string;
|
|
37
|
+
type?: string;
|
|
38
|
+
}
|
|
39
|
+
export type EventRating = -1 | 0 | 1;
|
|
40
|
+
export interface SemanticEvent {
|
|
41
|
+
type: SemanticEventType;
|
|
42
|
+
/** ISO 8601 */
|
|
43
|
+
timestamp: string;
|
|
44
|
+
sessionId: string;
|
|
45
|
+
surface: EventSurface;
|
|
46
|
+
actor: EventActor;
|
|
47
|
+
component?: EventComponent;
|
|
48
|
+
capability?: string;
|
|
49
|
+
checkpoint?: string;
|
|
50
|
+
/** Time since surface.shown */
|
|
51
|
+
durationMs?: number;
|
|
52
|
+
/** Interactions since surface.shown */
|
|
53
|
+
steps?: number;
|
|
54
|
+
/** A short code, never free text */
|
|
55
|
+
reason?: string;
|
|
56
|
+
rating?: EventRating;
|
|
57
|
+
}
|
|
58
|
+
/** The property names the schema allows, at the top level and in each nested object. */
|
|
59
|
+
export declare const EVENT_PROPERTIES: readonly ["type", "timestamp", "sessionId", "surface", "actor", "component", "capability", "checkpoint", "durationMs", "steps", "reason", "rating"];
|
|
60
|
+
export declare const EVENT_SURFACE_PROPERTIES: readonly ["id", "intent", "pattern", "journey", "specVersion", "generator", "direction", "experiment"];
|
|
61
|
+
export declare const EVENT_ACTOR_PROPERTIES: readonly ["kind", "assistiveTech"];
|
|
62
|
+
export declare const EVENT_COMPONENT_PROPERTIES: readonly ["id", "key", "type"];
|
|
63
|
+
/** The parts of a journey (schema/journey.schema.json) the emitter reads. */
|
|
64
|
+
export interface EventJourney {
|
|
65
|
+
id?: string;
|
|
66
|
+
checkpoints?: {
|
|
67
|
+
key: string;
|
|
68
|
+
event?: string;
|
|
69
|
+
}[];
|
|
70
|
+
done?: {
|
|
71
|
+
event: string;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
export interface SurfaceEventOptions {
|
|
75
|
+
/** Ties events together. Defaults to a random id made when the surface is shown. */
|
|
76
|
+
sessionId?: string;
|
|
77
|
+
/** Who is using the surface. Defaults to an agent when the browser says it is automated (navigator.webdriver), else a human. */
|
|
78
|
+
actor?: EventActor;
|
|
79
|
+
/** The journey this surface is a step of: its checkpoint events and its done event. */
|
|
80
|
+
journey?: EventJourney;
|
|
81
|
+
generator?: string;
|
|
82
|
+
direction?: string;
|
|
83
|
+
experiment?: Record<string, string>;
|
|
84
|
+
/** The clock, for tests. Defaults to Date.now. */
|
|
85
|
+
now?: () => number;
|
|
86
|
+
}
|
|
87
|
+
/** What a renderer tells the emitter. Every method is safe to call more than once. */
|
|
88
|
+
export interface SurfaceEvents {
|
|
89
|
+
readonly sessionId: string;
|
|
90
|
+
/** The surface is on screen: surface.shown, once. Also cancels an unmount that was only a remount. */
|
|
91
|
+
shown(): void;
|
|
92
|
+
/** Any action the surface dispatched, before the host hears it. */
|
|
93
|
+
action(action: Action, source: string): void;
|
|
94
|
+
/** An input wrote a value. Only the pointer is read, never the value. */
|
|
95
|
+
edited(pointer: string): void;
|
|
96
|
+
/** An input was refused: its node (or id) and a reason code. */
|
|
97
|
+
inputError(node: Node | string, reason: string): void;
|
|
98
|
+
/** A Status was drawn. */
|
|
99
|
+
statusShown(node: Node): void;
|
|
100
|
+
/** The person rated the surface. */
|
|
101
|
+
feedback(rating: EventRating, reason?: string): void;
|
|
102
|
+
/** The person asked for this surface again: it is being replaced. */
|
|
103
|
+
regenerated(reason?: string): void;
|
|
104
|
+
/**
|
|
105
|
+
* The renderer took the surface down. Deferred (the default), it ends on the next microtask unless
|
|
106
|
+
* shown() is called first, so a remount in the same tick (React StrictMode) is not an ending.
|
|
107
|
+
* `unmounted(false)` ends it now, or settles a deferred ending before the next surface is shown.
|
|
108
|
+
*/
|
|
109
|
+
unmounted(defer?: boolean): void;
|
|
110
|
+
}
|
|
111
|
+
/** A browser's ValidityState, or anything shaped like it. */
|
|
112
|
+
export type ValidityLike = Partial<Record<"valueMissing" | "typeMismatch" | "patternMismatch" | "tooShort" | "tooLong" | "rangeUnderflow" | "rangeOverflow" | "stepMismatch" | "badInput" | "customError", boolean>>;
|
|
113
|
+
/** The reason code for a failed control: "required", "pattern", "too-short", … ; "invalid" when nothing says. */
|
|
114
|
+
export declare function validityReason(validity: ValidityLike | undefined): string;
|
|
115
|
+
/** Why a file was refused, as a code: the same order of checks as refuseFile. */
|
|
116
|
+
export declare function fileRefusalReason(file: {
|
|
117
|
+
size: number;
|
|
118
|
+
}, maxSize: number | undefined): string;
|
|
119
|
+
/**
|
|
120
|
+
* The emitter for one surface. `emit` receives each event; an exception in it is caught, so a
|
|
121
|
+
* failing analytics call never breaks the surface.
|
|
122
|
+
*
|
|
123
|
+
* - surface.shown: the first time the surface is on screen.
|
|
124
|
+
* - action.taken: every action that reaches the host (not ui.dismiss).
|
|
125
|
+
* - checkpoint.reached: an action whose name is one of the journey's checkpoint events, once each.
|
|
126
|
+
* - task.completed: with a journey, its done event; without one, the primary action of a Form,
|
|
127
|
+
* Confirm or Steps. Once. Shells have no task.
|
|
128
|
+
* - undo: the action of an 'undo' Status (after action.taken).
|
|
129
|
+
* - surface.dismissed: ui.dismiss (reason "dismiss"), except from a Panel or Confirm that is not
|
|
130
|
+
* the root, which closes only itself; or the surface taken down (reason "unmount") before it
|
|
131
|
+
* completed or handed on.
|
|
132
|
+
* - task.abandoned: dismissed or taken down after at least one interaction, without completing or
|
|
133
|
+
* handing on (reaching a checkpoint or firing a primary action hands on).
|
|
134
|
+
* - input.error, status.shown, feedback, surface.regenerated: when the renderer or host says so.
|
|
135
|
+
*/
|
|
136
|
+
export declare function createSurfaceEvents(doc: UIDocument, emit: (event: SemanticEvent) => void, options?: SurfaceEventOptions): SurfaceEvents;
|
package/dist/events.js
ADDED
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { indexById } from "./document.js";
|
|
2
|
+
/** Every event type the schema defines, in its order. */
|
|
3
|
+
export const SEMANTIC_EVENT_TYPES = [
|
|
4
|
+
"surface.shown", "surface.dismissed", "surface.regenerated",
|
|
5
|
+
"action.taken", "checkpoint.reached", "task.completed", "task.abandoned",
|
|
6
|
+
"input.error", "status.shown", "undo", "feedback",
|
|
7
|
+
];
|
|
8
|
+
/** The property names the schema allows, at the top level and in each nested object. */
|
|
9
|
+
export const EVENT_PROPERTIES = ["type", "timestamp", "sessionId", "surface", "actor", "component", "capability", "checkpoint", "durationMs", "steps", "reason", "rating"];
|
|
10
|
+
export const EVENT_SURFACE_PROPERTIES = ["id", "intent", "pattern", "journey", "specVersion", "generator", "direction", "experiment"];
|
|
11
|
+
export const EVENT_ACTOR_PROPERTIES = ["kind", "assistiveTech"];
|
|
12
|
+
export const EVENT_COMPONENT_PROPERTIES = ["id", "key", "type"];
|
|
13
|
+
/** A reason is a short code: letters, digits, dots, dashes and underscores. Anything else is dropped. */
|
|
14
|
+
const REASON = /^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/;
|
|
15
|
+
const code = (reason) => (typeof reason === "string" && REASON.test(reason) ? reason : undefined);
|
|
16
|
+
const VALIDITY = [
|
|
17
|
+
["valueMissing", "required"],
|
|
18
|
+
["typeMismatch", "type"],
|
|
19
|
+
["patternMismatch", "pattern"],
|
|
20
|
+
["tooShort", "too-short"],
|
|
21
|
+
["tooLong", "too-long"],
|
|
22
|
+
["rangeUnderflow", "too-low"],
|
|
23
|
+
["rangeOverflow", "too-high"],
|
|
24
|
+
["stepMismatch", "step"],
|
|
25
|
+
["badInput", "bad-input"],
|
|
26
|
+
["customError", "custom"],
|
|
27
|
+
];
|
|
28
|
+
/** The reason code for a failed control: "required", "pattern", "too-short", … ; "invalid" when nothing says. */
|
|
29
|
+
export function validityReason(validity) {
|
|
30
|
+
for (const [flag, reason] of VALIDITY)
|
|
31
|
+
if (validity?.[flag])
|
|
32
|
+
return reason;
|
|
33
|
+
return "invalid";
|
|
34
|
+
}
|
|
35
|
+
/** Why a file was refused, as a code: the same order of checks as refuseFile. */
|
|
36
|
+
export function fileRefusalReason(file, maxSize) {
|
|
37
|
+
return maxSize && file.size > maxSize ? "file-too-large" : "file-type";
|
|
38
|
+
}
|
|
39
|
+
function randomId() {
|
|
40
|
+
const c = globalThis.crypto;
|
|
41
|
+
if (c?.randomUUID)
|
|
42
|
+
return c.randomUUID();
|
|
43
|
+
return `s_${Date.now().toString(36)}${Math.random().toString(36).slice(2, 10)}`;
|
|
44
|
+
}
|
|
45
|
+
function defaultActor() {
|
|
46
|
+
const nav = globalThis.navigator;
|
|
47
|
+
return { kind: nav?.webdriver === true ? "agent" : "human" };
|
|
48
|
+
}
|
|
49
|
+
/** A component as an event names it: its id, its stable semantic key when it has one, and its type. */
|
|
50
|
+
function describe(node, id) {
|
|
51
|
+
if (!node)
|
|
52
|
+
return { id };
|
|
53
|
+
return { id: node.id, ...(typeof node.key === "string" ? { key: node.key } : {}), type: node.component };
|
|
54
|
+
}
|
|
55
|
+
/** The ids of every Action a node reaches through `action` (an Action, or an ActionBar's children). */
|
|
56
|
+
function actionIds(id, byId) {
|
|
57
|
+
const node = id ? byId.get(id) : undefined;
|
|
58
|
+
if (!node)
|
|
59
|
+
return [];
|
|
60
|
+
if (node.component === "ActionBar")
|
|
61
|
+
return (node.children ?? []).flatMap((c) => actionIds(c, byId));
|
|
62
|
+
return [node.id];
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Whether an action is the source's primary one: a Form's submit, a Confirm's confirm, a Steps'
|
|
66
|
+
* finish. These are where a surface hands its task on.
|
|
67
|
+
*/
|
|
68
|
+
function isPrimary(source, action) {
|
|
69
|
+
if (!source)
|
|
70
|
+
return false;
|
|
71
|
+
const primary = source.component === "Form" ? source.submit : source.component === "Confirm" ? source.confirm : source.component === "Steps" ? source.finish : undefined;
|
|
72
|
+
const p = primary?.action;
|
|
73
|
+
if (!p)
|
|
74
|
+
return false;
|
|
75
|
+
if (p === action)
|
|
76
|
+
return true;
|
|
77
|
+
const other = source.cancel?.action;
|
|
78
|
+
return p.event.name === action.event.name && other?.event?.name !== action.event.name;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* The emitter for one surface. `emit` receives each event; an exception in it is caught, so a
|
|
82
|
+
* failing analytics call never breaks the surface.
|
|
83
|
+
*
|
|
84
|
+
* - surface.shown: the first time the surface is on screen.
|
|
85
|
+
* - action.taken: every action that reaches the host (not ui.dismiss).
|
|
86
|
+
* - checkpoint.reached: an action whose name is one of the journey's checkpoint events, once each.
|
|
87
|
+
* - task.completed: with a journey, its done event; without one, the primary action of a Form,
|
|
88
|
+
* Confirm or Steps. Once. Shells have no task.
|
|
89
|
+
* - undo: the action of an 'undo' Status (after action.taken).
|
|
90
|
+
* - surface.dismissed: ui.dismiss (reason "dismiss"), except from a Panel or Confirm that is not
|
|
91
|
+
* the root, which closes only itself; or the surface taken down (reason "unmount") before it
|
|
92
|
+
* completed or handed on.
|
|
93
|
+
* - task.abandoned: dismissed or taken down after at least one interaction, without completing or
|
|
94
|
+
* handing on (reaching a checkpoint or firing a primary action hands on).
|
|
95
|
+
* - input.error, status.shown, feedback, surface.regenerated: when the renderer or host says so.
|
|
96
|
+
*/
|
|
97
|
+
export function createSurfaceEvents(doc, emit, options = {}) {
|
|
98
|
+
const now = options.now ?? Date.now;
|
|
99
|
+
const sessionId = options.sessionId ?? randomId();
|
|
100
|
+
const actor = options.actor ? { kind: options.actor.kind === "agent" ? "agent" : "human", ...(typeof options.actor.assistiveTech === "boolean" ? { assistiveTech: options.actor.assistiveTech } : {}) } : defaultActor();
|
|
101
|
+
const byId = indexById(doc);
|
|
102
|
+
const s = doc.surface;
|
|
103
|
+
const journeyId = options.journey?.id ?? s.journey;
|
|
104
|
+
const surface = {
|
|
105
|
+
id: s.id,
|
|
106
|
+
intent: s.intent ?? s.id,
|
|
107
|
+
...(s.pattern ? { pattern: s.pattern } : {}),
|
|
108
|
+
...(journeyId ? { journey: journeyId } : {}),
|
|
109
|
+
...(doc.specVersion ? { specVersion: doc.specVersion } : {}),
|
|
110
|
+
...(options.generator ? { generator: options.generator } : {}),
|
|
111
|
+
...(options.direction ? { direction: options.direction } : {}),
|
|
112
|
+
...(options.experiment ? { experiment: Object.fromEntries(Object.entries(options.experiment).filter(([, v]) => typeof v === "string")) } : {}),
|
|
113
|
+
};
|
|
114
|
+
const shell = s.kind === "shell";
|
|
115
|
+
const undoSources = new Set(doc.components.filter((c) => c.component === "Status" && c.kind === "undo").flatMap((c) => actionIds(c.action, byId)));
|
|
116
|
+
const checkpoints = new Map((options.journey?.checkpoints ?? []).filter((c) => c.event).map((c) => [c.event, c.key]));
|
|
117
|
+
const doneEvent = options.journey?.done?.event;
|
|
118
|
+
let started;
|
|
119
|
+
let steps = 0;
|
|
120
|
+
let lastEdited;
|
|
121
|
+
let completed = false;
|
|
122
|
+
let handedOn = false;
|
|
123
|
+
let ended = false;
|
|
124
|
+
let pendingEnd = false;
|
|
125
|
+
const reached = new Set();
|
|
126
|
+
const send = (type, extra = {}) => {
|
|
127
|
+
// Every other event is about a surface that was shown, so shown comes first whatever the order of calls.
|
|
128
|
+
if (type !== "surface.shown" && started === undefined)
|
|
129
|
+
ensureShown();
|
|
130
|
+
const t = now();
|
|
131
|
+
const event = { type, timestamp: new Date(t).toISOString(), sessionId, surface, actor, ...extra };
|
|
132
|
+
if (type === "surface.shown")
|
|
133
|
+
started = t;
|
|
134
|
+
else {
|
|
135
|
+
event.durationMs = Math.max(0, Math.round(t - (started ?? t)));
|
|
136
|
+
event.steps = steps;
|
|
137
|
+
}
|
|
138
|
+
try {
|
|
139
|
+
emit(event);
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
// The host's analytics failing is not the surface's problem.
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
const componentOf = (id) => describe(byId.get(id), id);
|
|
146
|
+
const end = (reason) => {
|
|
147
|
+
if (ended)
|
|
148
|
+
return;
|
|
149
|
+
ended = true;
|
|
150
|
+
if (reason === "unmount" && (completed || handedOn))
|
|
151
|
+
return;
|
|
152
|
+
send("surface.dismissed", { reason });
|
|
153
|
+
if (!shell && steps > 0 && !completed && !handedOn)
|
|
154
|
+
send("task.abandoned", { reason });
|
|
155
|
+
};
|
|
156
|
+
function ensureShown() {
|
|
157
|
+
if (started === undefined)
|
|
158
|
+
send("surface.shown");
|
|
159
|
+
}
|
|
160
|
+
return {
|
|
161
|
+
sessionId,
|
|
162
|
+
shown() {
|
|
163
|
+
pendingEnd = false;
|
|
164
|
+
ensureShown();
|
|
165
|
+
},
|
|
166
|
+
action(action, source) {
|
|
167
|
+
if (!action?.event?.name)
|
|
168
|
+
return;
|
|
169
|
+
ensureShown();
|
|
170
|
+
const name = action.event.name;
|
|
171
|
+
const node = byId.get(source);
|
|
172
|
+
if (name === "ui.dismiss") {
|
|
173
|
+
const overlay = node && (node.component === "Panel" || node.component === "Confirm") && doc.root !== node.id;
|
|
174
|
+
if (!overlay)
|
|
175
|
+
end("dismiss");
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
steps++;
|
|
179
|
+
lastEdited = undefined;
|
|
180
|
+
const component = componentOf(source);
|
|
181
|
+
send("action.taken", { component, capability: name });
|
|
182
|
+
const checkpoint = checkpoints.get(name);
|
|
183
|
+
if (checkpoint !== undefined && !reached.has(checkpoint)) {
|
|
184
|
+
reached.add(checkpoint);
|
|
185
|
+
handedOn = true;
|
|
186
|
+
send("checkpoint.reached", { component, capability: name, checkpoint });
|
|
187
|
+
}
|
|
188
|
+
const primary = isPrimary(node, action);
|
|
189
|
+
const completes = shell ? false : doneEvent !== undefined ? name === doneEvent : primary;
|
|
190
|
+
if (completes && !completed) {
|
|
191
|
+
completed = true;
|
|
192
|
+
send("task.completed", { component, capability: name });
|
|
193
|
+
}
|
|
194
|
+
else if (primary && !shell)
|
|
195
|
+
handedOn = true;
|
|
196
|
+
if (undoSources.has(source))
|
|
197
|
+
send("undo", { component, capability: name });
|
|
198
|
+
},
|
|
199
|
+
edited(pointer) {
|
|
200
|
+
if (pointer === lastEdited)
|
|
201
|
+
return;
|
|
202
|
+
lastEdited = pointer;
|
|
203
|
+
steps++;
|
|
204
|
+
},
|
|
205
|
+
inputError(target, reason) {
|
|
206
|
+
const node = typeof target === "string" ? byId.get(target) : target;
|
|
207
|
+
const id = typeof target === "string" ? target : target.id;
|
|
208
|
+
send("input.error", { component: describe(node, id), reason: code(reason) ?? "invalid" });
|
|
209
|
+
},
|
|
210
|
+
statusShown(node) {
|
|
211
|
+
const kind = code(node.kind);
|
|
212
|
+
send("status.shown", { component: describe(node, node.id), ...(kind ? { reason: kind } : {}) });
|
|
213
|
+
},
|
|
214
|
+
feedback(rating, reason) {
|
|
215
|
+
if (rating !== -1 && rating !== 0 && rating !== 1)
|
|
216
|
+
return;
|
|
217
|
+
const r = code(reason);
|
|
218
|
+
send("feedback", { rating, ...(r ? { reason: r } : {}) });
|
|
219
|
+
},
|
|
220
|
+
regenerated(reason) {
|
|
221
|
+
if (ended)
|
|
222
|
+
return;
|
|
223
|
+
ended = true;
|
|
224
|
+
const r = code(reason);
|
|
225
|
+
send("surface.regenerated", r ? { reason: r } : {});
|
|
226
|
+
},
|
|
227
|
+
unmounted(defer = true) {
|
|
228
|
+
if (ended)
|
|
229
|
+
return;
|
|
230
|
+
if (!defer) {
|
|
231
|
+
pendingEnd = false;
|
|
232
|
+
return end("unmount");
|
|
233
|
+
}
|
|
234
|
+
if (pendingEnd)
|
|
235
|
+
return;
|
|
236
|
+
pendingEnd = true;
|
|
237
|
+
queueMicrotask(() => {
|
|
238
|
+
if (pendingEnd)
|
|
239
|
+
end("unmount");
|
|
240
|
+
pendingEnd = false;
|
|
241
|
+
});
|
|
242
|
+
},
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -20,9 +20,10 @@ export { type MetricChange, type GaugeState, metricChange, meterHint, gaugeState
|
|
|
20
20
|
export { avatarTone, initialsOf, isMediaRef, ICON_PATHS, iconPath, STATUS_ICON, STAR_PATH } from "./avatar.ts";
|
|
21
21
|
export { type CalendarMonth, collectionItemValue, collectionLayout, orderedIndices, moveItem, dateParts, monthToShow, shiftMonth, calendarMonth, nearestSlide } from "./collection.ts";
|
|
22
22
|
export { bestPerAttribute, groupAttributes, recommendedFirst, groupItems, navigationLabel } from "./comparison.ts";
|
|
23
|
-
export { type Rect, CHART_W, CHART_H, CHART_PAD, MARKERS, seriesColor, niceMax, axisLabel, treemap, verticalScale, markerShape, flowLayout } from "./chart.ts";
|
|
23
|
+
export { type Rect, CHART_W, CHART_H, CHART_PAD, MARKERS, seriesColor, niceMax, axisLabel, axisLabelStep, treemap, verticalScale, markerShape, flowLayout } from "./chart.ts";
|
|
24
24
|
export { type TreeRow, type TreeMove, VIRTUAL_LIMIT, OVERSCAN, TYPEAHEAD_MS, treeRows, typeAheadTarget, treeKey, visibleWindow } from "./tree.ts";
|
|
25
25
|
export { type ActiveFilter, FILTER_COMPACT_PX, activeFilters, resultCountText } from "./filter.ts";
|
|
26
26
|
export { qrEncode } from "./qr.ts";
|
|
27
27
|
export { MORE_ACTIONS, TRIGGER_FALLBACK, minShown, fitActions, menuOrder } from "./actionbar.ts";
|
|
28
28
|
export { type Surface, type SurfaceOptions, createSurface, a11yAttributes } from "./surface.ts";
|
|
29
|
+
export { type SemanticEvent, type SemanticEventType, type EventSurface, type EventActor, type EventComponent, type EventRating, type EventJourney, type SurfaceEventOptions, type SurfaceEvents, type ValidityLike, SEMANTIC_EVENT_TYPES, EVENT_PROPERTIES, EVENT_SURFACE_PROPERTIES, EVENT_ACTOR_PROPERTIES, EVENT_COMPONENT_PROPERTIES, createSurfaceEvents, validityReason, fileRefusalReason, } from "./events.ts";
|
package/dist/index.js
CHANGED
|
@@ -20,10 +20,11 @@ export { metricChange, meterHint, gaugeState, starsLabel, ratingSaid, maskSecret
|
|
|
20
20
|
export { avatarTone, initialsOf, isMediaRef, ICON_PATHS, iconPath, STATUS_ICON, STAR_PATH } from "./avatar.js";
|
|
21
21
|
export { collectionItemValue, collectionLayout, orderedIndices, moveItem, dateParts, monthToShow, shiftMonth, calendarMonth, nearestSlide } from "./collection.js";
|
|
22
22
|
export { bestPerAttribute, groupAttributes, recommendedFirst, groupItems, navigationLabel } from "./comparison.js";
|
|
23
|
-
export { CHART_W, CHART_H, CHART_PAD, MARKERS, seriesColor, niceMax, axisLabel, treemap, verticalScale, markerShape, flowLayout } from "./chart.js";
|
|
23
|
+
export { CHART_W, CHART_H, CHART_PAD, MARKERS, seriesColor, niceMax, axisLabel, axisLabelStep, treemap, verticalScale, markerShape, flowLayout } from "./chart.js";
|
|
24
24
|
export { VIRTUAL_LIMIT, OVERSCAN, TYPEAHEAD_MS, treeRows, typeAheadTarget, treeKey, visibleWindow } from "./tree.js";
|
|
25
25
|
export { FILTER_COMPACT_PX, activeFilters, resultCountText } from "./filter.js";
|
|
26
26
|
export { qrEncode } from "./qr.js";
|
|
27
27
|
export { MORE_ACTIONS, TRIGGER_FALLBACK, minShown, fitActions, menuOrder } from "./actionbar.js";
|
|
28
28
|
export { createSurface, a11yAttributes } from "./surface.js";
|
|
29
|
+
export { SEMANTIC_EVENT_TYPES, EVENT_PROPERTIES, EVENT_SURFACE_PROPERTIES, EVENT_ACTOR_PROPERTIES, EVENT_COMPONENT_PROPERTIES, createSurfaceEvents, validityReason, fileRefusalReason, } from "./events.js";
|
|
29
30
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/surface.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type Data, type Scope } from "./data.ts";
|
|
2
2
|
import type { Action, ActionEvent, Node, UIDocument } from "./document.ts";
|
|
3
3
|
import { type Format } from "./format.ts";
|
|
4
|
+
import type { SurfaceEvents } from "./events.ts";
|
|
4
5
|
export interface SurfaceOptions {
|
|
5
6
|
/** Host data. Defaults to document.data. */
|
|
6
7
|
data?: Data;
|
|
@@ -16,6 +17,8 @@ export interface SurfaceOptions {
|
|
|
16
17
|
onDataChange?: (data: Data) => void;
|
|
17
18
|
/** Called for ui.dismiss (Cancel on a dialog, closing the surface). */
|
|
18
19
|
onDismiss?: () => void;
|
|
20
|
+
/** Semantic events (createSurfaceEvents): told about every action and every input write. Off when absent. */
|
|
21
|
+
events?: SurfaceEvents;
|
|
19
22
|
}
|
|
20
23
|
export interface Surface {
|
|
21
24
|
document: UIDocument;
|
package/dist/surface.js
CHANGED
|
@@ -22,6 +22,7 @@ export function createSurface(document, options = {}) {
|
|
|
22
22
|
locale,
|
|
23
23
|
setValue(pointer, value) {
|
|
24
24
|
const written = set(data, pointer, value);
|
|
25
|
+
options.events?.edited(pointer);
|
|
25
26
|
data = options.derive?.(written) ?? written;
|
|
26
27
|
options.onDataChange?.(data);
|
|
27
28
|
notify();
|
package/dist/surface.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface.js","sourceRoot":"","sources":["../src/surface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,EAAyB,MAAM,WAAW,CAAC;AAEtG,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"surface.js","sourceRoot":"","sources":["../src/surface.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polyxd/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "The framework-free heart of Polyxd rendering: document types, JSON Pointer bindings, localised formatting, the renderer's decisions, and a headless surface model every renderer walks the same way",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -32,5 +32,8 @@
|
|
|
32
32
|
"bugs": "https://github.com/visualfart/polyxd/issues",
|
|
33
33
|
"publishConfig": {
|
|
34
34
|
"access": "public"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"ajv": "^8.20.0"
|
|
35
38
|
}
|
|
36
39
|
}
|