@polyxd/web 0.3.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.
Files changed (103) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +190 -0
  3. package/README.md +79 -0
  4. package/adapters/PolyxdSurface.svelte +65 -0
  5. package/adapters/PolyxdSurface.vue +61 -0
  6. package/dist/components/action-bar.d.ts +14 -0
  7. package/dist/components/action-bar.js +69 -0
  8. package/dist/components/action-bar.js.map +1 -0
  9. package/dist/components/avatar.d.ts +9 -0
  10. package/dist/components/avatar.js +16 -0
  11. package/dist/components/avatar.js.map +1 -0
  12. package/dist/components/chart.d.ts +5 -0
  13. package/dist/components/chart.js +132 -0
  14. package/dist/components/chart.js.map +1 -0
  15. package/dist/components/content.d.ts +20 -0
  16. package/dist/components/content.js +286 -0
  17. package/dist/components/content.js.map +1 -0
  18. package/dist/components/filter.d.ts +9 -0
  19. package/dist/components/filter.js +43 -0
  20. package/dist/components/filter.js.map +1 -0
  21. package/dist/components/flow.d.ts +12 -0
  22. package/dist/components/flow.js +188 -0
  23. package/dist/components/flow.js.map +1 -0
  24. package/dist/components/index.d.ts +10 -0
  25. package/dist/components/index.js +30 -0
  26. package/dist/components/index.js.map +1 -0
  27. package/dist/components/inputs.d.ts +28 -0
  28. package/dist/components/inputs.js +530 -0
  29. package/dist/components/inputs.js.map +1 -0
  30. package/dist/components/marks.d.ts +32 -0
  31. package/dist/components/marks.js +164 -0
  32. package/dist/components/marks.js.map +1 -0
  33. package/dist/components/navigation.d.ts +11 -0
  34. package/dist/components/navigation.js +99 -0
  35. package/dist/components/navigation.js.map +1 -0
  36. package/dist/components/overlays.d.ts +16 -0
  37. package/dist/components/overlays.js +146 -0
  38. package/dist/components/overlays.js.map +1 -0
  39. package/dist/components/pickers.d.ts +6 -0
  40. package/dist/components/pickers.js +272 -0
  41. package/dist/components/pickers.js.map +1 -0
  42. package/dist/components/shell.d.ts +30 -0
  43. package/dist/components/shell.js +167 -0
  44. package/dist/components/shell.js.map +1 -0
  45. package/dist/components/split.d.ts +8 -0
  46. package/dist/components/split.js +76 -0
  47. package/dist/components/split.js.map +1 -0
  48. package/dist/components/structure.d.ts +12 -0
  49. package/dist/components/structure.js +69 -0
  50. package/dist/components/structure.js.map +1 -0
  51. package/dist/components/table.d.ts +11 -0
  52. package/dist/components/table.js +142 -0
  53. package/dist/components/table.js.map +1 -0
  54. package/dist/components/tree.d.ts +10 -0
  55. package/dist/components/tree.js +177 -0
  56. package/dist/components/tree.js.map +1 -0
  57. package/dist/dom.d.ts +25 -0
  58. package/dist/dom.js +211 -0
  59. package/dist/dom.js.map +1 -0
  60. package/dist/elements.d.ts +87 -0
  61. package/dist/elements.js +244 -0
  62. package/dist/elements.js.map +1 -0
  63. package/dist/index.d.ts +6 -0
  64. package/dist/index.js +7 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/primitives.d.ts +111 -0
  67. package/dist/primitives.js +361 -0
  68. package/dist/primitives.js.map +1 -0
  69. package/dist/renderer.d.ts +145 -0
  70. package/dist/renderer.js +244 -0
  71. package/dist/renderer.js.map +1 -0
  72. package/dist/skeleton.d.ts +14 -0
  73. package/dist/skeleton.js +13 -0
  74. package/dist/skeleton.js.map +1 -0
  75. package/package.json +52 -0
  76. package/preview/polyxd-web.css +2 -0
  77. package/preview/polyxd-web.js +15 -0
  78. package/styles.css +5012 -0
  79. package/themes/antd.css +300 -0
  80. package/themes/bootstrap.css +300 -0
  81. package/themes/brutalist.css +300 -0
  82. package/themes/carbon.css +310 -0
  83. package/themes/chakra.css +300 -0
  84. package/themes/civic.css +300 -0
  85. package/themes/editorial.css +300 -0
  86. package/themes/finance.css +300 -0
  87. package/themes/fluent.css +300 -0
  88. package/themes/glass.css +300 -0
  89. package/themes/govuk.css +150 -0
  90. package/themes/health.css +300 -0
  91. package/themes/mantine.css +300 -0
  92. package/themes/material3.css +300 -0
  93. package/themes/mono.css +300 -0
  94. package/themes/neon.css +300 -0
  95. package/themes/pastel.css +300 -0
  96. package/themes/polaris.css +300 -0
  97. package/themes/primer.css +300 -0
  98. package/themes/radix.css +300 -0
  99. package/themes/shadcn.css +300 -0
  100. package/themes/sketch.css +356 -0
  101. package/themes/spectrum.css +300 -0
  102. package/themes/terminal.css +300 -0
  103. package/themes/wireframe.css +328 -0
@@ -0,0 +1,188 @@
1
+ import { absolute, asList, bestPerAttribute, childPointer, copyText, formatValue, get, groupAttributes, initialStep, isApplePlatform, isLastStep, parseShortcut, recommendedFirst, resolveFormat, shortcutMatches, stepsProgress, stepsReducer, tasklistProgress, tasklistReducer, taskStatus, unmodified, } from "@polyxd/core";
2
+ import { h } from "../dom.js";
3
+ import { Dialog, isEditable } from "../primitives.js";
4
+ import { Avatar, Icon } from "./avatar.js";
5
+ import { Heading } from "./structure.js";
6
+ const isApple = () => isApplePlatform(navigator.userAgentData?.platform ?? navigator.platform ?? "");
7
+ export function Action(node, ctx) {
8
+ const b = ctx.b;
9
+ const r = ctx.r;
10
+ const descId = ctx.id(node, "desc");
11
+ const [copied, setCopied] = ctx.state(node, "copied", false);
12
+ const disabled = node.disabled !== undefined ? Boolean(b.value(node.disabled)) : false;
13
+ const tone = node.tone === "danger" ? " pxd-button-danger" : "";
14
+ const description = node.description !== undefined ? b.text(node.description) : undefined;
15
+ const shortcut = typeof node.shortcut === "string" && node.shortcut ? parseShortcut(node.shortcut, isApple()) : undefined;
16
+ const onClick = () => {
17
+ const name = node.action.event.name;
18
+ if (name === "ui.back" && ctx.steps)
19
+ return ctx.steps.back();
20
+ if (name === "ui.next" && ctx.steps)
21
+ return ctx.steps.next();
22
+ if (name === "ui.copy") {
23
+ // Copies 'copy', or the context's 'text', and says so; the host still hears the action.
24
+ const text = copyText(node, r.data, b.scope, b.text);
25
+ const done = () => {
26
+ setCopied(true);
27
+ setTimeout(() => setCopied(false), 2000);
28
+ };
29
+ if (typeof navigator !== "undefined" && navigator.clipboard?.writeText)
30
+ navigator.clipboard.writeText(text).then(done, () => undefined);
31
+ else
32
+ done();
33
+ }
34
+ r.dispatch(node.action, b.scope, node.id);
35
+ };
36
+ // A shell is the page: its shortcuts work wherever focus is, even nowhere yet.
37
+ const shell = r.doc.surface.kind === "shell";
38
+ const listen = (el) => {
39
+ const button = el;
40
+ if (!button)
41
+ return;
42
+ if (button.pxdKey)
43
+ document.removeEventListener("keydown", button.pxdKey);
44
+ if (!shortcut || disabled)
45
+ return;
46
+ button.pxdKey = (e) => {
47
+ const root = r.root;
48
+ if (e.defaultPrevented || e.repeat || !root || !button.isConnected)
49
+ return;
50
+ if (!shell && !root.contains(document.activeElement) && !(e.target instanceof HTMLElement && root.contains(e.target)))
51
+ return;
52
+ if (!shortcutMatches(shortcut, e))
53
+ return;
54
+ if (unmodified(shortcut) && isEditable(e.target))
55
+ return;
56
+ e.preventDefault();
57
+ button.click();
58
+ };
59
+ document.addEventListener("keydown", button.pxdKey);
60
+ r.onDispose(() => button.pxdKey && document.removeEventListener("keydown", button.pxdKey));
61
+ };
62
+ return h("button", { type: "button", class: `pxd-button pxd-button-${node.emphasis ?? "secondary"}${tone}${description ? " pxd-button-described" : ""}`, disabled, "aria-describedby": description ? descId : undefined, "aria-keyshortcuts": shortcut?.aria, onClick, ...ctx.a11y(node), ref: listen }, h("span", { class: "pxd-button-label" }, copied ? "Copied" : b.text(node.label)), shortcut && h("span", { class: "pxd-kbd-hint", "aria-hidden": "true" }, ...shortcut.hint.map((k, i) => h("kbd", { key: i, class: "pxd-kbd" }, k))), description && h("span", { class: "pxd-button-description", id: descId }, description), node.action.event.name === "ui.copy" && h("span", { class: "pxd-sr-only", "aria-live": "polite" }, copied ? "Copied" : ""));
63
+ }
64
+ export function Steps(node, ctx) {
65
+ const b = ctx.b;
66
+ const r = ctx.r;
67
+ const [openTask, setOpenTask] = ctx.state(node, "task", null);
68
+ const bound = node.current !== undefined ? b.value(node.current) : undefined;
69
+ const [local, setLocal] = ctx.state(node, "step", () => initialStep(bound, node.steps.length));
70
+ const kind = node.kind ?? "wizard";
71
+ const finish = h("div", { class: "pxd-action-bar" }, h("button", { type: "button", class: "pxd-button pxd-button-primary", onClick: () => r.dispatch(node.finish.action, b.scope, node.id) }, b.text(node.finish.label)));
72
+ if (kind === "guide") {
73
+ // Numbered instructions, all visible, no state to keep.
74
+ return h("div", { class: "pxd-steps pxd-guide", ...ctx.a11y(node) }, h("ol", { class: "pxd-guide-list" }, ...node.steps.map((st, i) => h("li", { key: st.key, class: "pxd-guide-step" }, h("span", { class: "pxd-guide-number", "aria-hidden": "true" }, i + 1), h("div", { class: "pxd-guide-body" }, Heading(ctx, "pxd-guide-title", b.text(st.title)), ctx.render(st.content))))), finish);
75
+ }
76
+ if (kind === "tasklist") {
77
+ // Tasks in any order, each with its status; a task opens its content in place.
78
+ const status = (st) => taskStatus(st.status !== undefined ? b.text(st.status) : "todo");
79
+ const done = node.steps.filter((st) => status(st).label === "Completed").length;
80
+ return h("div", { class: "pxd-steps pxd-tasklist", ...ctx.a11y(node) }, h("p", { class: "pxd-steps-progress" }, tasklistProgress(done, node.steps.length)), h("ul", { class: "pxd-tasklist-list" }, ...node.steps.map((st) => {
81
+ const open = openTask === st.key;
82
+ const { label, tone } = status(st);
83
+ const blocked = label === "Cannot start yet";
84
+ return h("li", { key: st.key, class: `pxd-task${open ? " pxd-task-open" : ""}` }, h("div", { class: "pxd-task-row" }, h("button", { type: "button", class: "pxd-task-title", "aria-expanded": open, disabled: blocked, onClick: () => setOpenTask(tasklistReducer(openTask, st.key)) }, b.text(st.title)), h("span", { class: `pxd-badge pxd-tone-${tone} pxd-task-status` }, label)), open && h("div", { class: "pxd-task-content" }, ctx.render(st.content)));
85
+ })), finish);
86
+ }
87
+ const total = node.steps.length;
88
+ const state = typeof bound === "number" && node.current?.path ? { index: Math.max(0, Math.min(total - 1, bound)), total } : { ...local, total };
89
+ const go = (i) => {
90
+ const next = stepsReducer(state, { type: "go", index: i });
91
+ if (node.current?.path)
92
+ b.write(node.current, next.index);
93
+ else
94
+ setLocal(next);
95
+ };
96
+ const index = state.index;
97
+ const step = node.steps[index];
98
+ const last = isLastStep(state);
99
+ const inner = ctx.with({ steps: { back: () => go(index - 1), next: () => go(index + 1) } });
100
+ return h("div", { class: "pxd-steps", ...ctx.a11y(node) }, h("p", { class: "pxd-steps-progress" }, stepsProgress(state)), h("ol", { class: "pxd-steps-list" }, ...node.steps.map((st, i) => h("li", { key: st.key, "aria-current": i === index ? "step" : undefined, class: i < index ? "pxd-step-done" : i === index ? "pxd-step-current" : undefined }, b.text(st.title)))), h("form", {
101
+ class: "pxd-steps-content",
102
+ onSubmit: (e) => {
103
+ e.preventDefault();
104
+ if (last)
105
+ r.dispatch(node.finish.action, b.scope, node.id);
106
+ else
107
+ go(index + 1);
108
+ },
109
+ }, Heading(inner, "pxd-steps-title", b.text(step.title)), inner.render(step.content), h("div", { class: "pxd-action-bar" }, h("button", { type: "submit", class: "pxd-button pxd-button-primary" }, last ? b.text(node.finish.label) : "Continue"), index > 0 && h("button", { type: "button", class: "pxd-button pxd-button-secondary", onClick: () => go(index - 1) }, "Back"))));
110
+ }
111
+ /**
112
+ * Confirmation. When it is the surface root, the surface *is* the dialog: it renders inline as an
113
+ * alertdialog scoped to the surface. When it opens on top of other surface content, it is a modal
114
+ * alert dialog inside the surface's portal.
115
+ */
116
+ export function Confirm(node, ctx) {
117
+ const b = ctx.b;
118
+ const r = ctx.r;
119
+ const isRoot = r.doc.root === node.id;
120
+ const [open, setOpen] = ctx.state(node, "open", true);
121
+ const [typed, setTyped] = ctx.state(node, "typed", "");
122
+ const titleId = ctx.id(node, "title");
123
+ const descId = ctx.id(node, "desc");
124
+ const mustType = node.typeToConfirm !== undefined ? b.text(node.typeToConfirm) : undefined;
125
+ const ready = !mustType || typed.trim() === mustType;
126
+ const destructive = node.severity === "destructive";
127
+ const a11y = ctx.a11y(node);
128
+ const cancel = () => {
129
+ if (!isRoot)
130
+ setOpen(false);
131
+ r.dispatch(node.cancel?.action ?? { event: { name: "ui.dismiss" } }, b.scope, node.id);
132
+ };
133
+ const confirm = () => ready && r.dispatch(node.confirm.action, b.scope, node.id);
134
+ const subject = node.subject && h("div", { class: "pxd-dialog-subject" }, Avatar(ctx, { value: node.subject.avatar !== undefined ? b.value(node.subject.avatar) : undefined, name: b.text(node.subject.title), size: 56 }), h("div", null, h("div", { class: "pxd-dialog-subject-title" }, b.text(node.subject.title)), node.subject.subtitle !== undefined && h("div", { class: "pxd-dialog-subject-sub" }, b.text(node.subject.subtitle))));
135
+ const amount = node.amount && h("div", { class: "pxd-dialog-amount" }, b.text(node.amount.value, node.amount.format));
136
+ const consequences = Array.isArray(node.consequences) && h("ul", { class: "pxd-consequences" }, ...node.consequences.map((c, i) => h("li", { key: i }, h("span", { class: "pxd-consequence-icon" }, Icon(c.icon ?? "info")), h("span", null, h("span", { class: "pxd-consequence-title" }, b.text(c.title)), c.detail !== undefined && h("span", { class: "pxd-consequence-detail" }, b.text(c.detail))))));
137
+ const description = h("div", { class: "pxd-dialog-description", id: descId }, node.message !== undefined && h("p", null, b.text(node.message)));
138
+ // The consequence sits directly above the confirm button (design review, 2026-09-20).
139
+ const consequence = node.consequence !== undefined && h("p", { class: "pxd-dialog-consequence", id: `${descId}-consequence` }, Icon("info", 18), h("span", null, b.text(node.consequence)));
140
+ const body = (confirmButton, cancelButton) => [
141
+ consequences,
142
+ node.summary && ctx.render(node.summary),
143
+ mustType && h("div", { class: "pxd-field" }, h("label", { class: "pxd-field-label", for: `${node.id}-type` }, "Type ", h("strong", null, mustType), " to confirm"), h("input", { id: `${node.id}-type`, class: "pxd-input", autocomplete: "off", value: typed, onInput: (e) => setTyped(e.target.value) })),
144
+ consequence,
145
+ h("div", { class: "pxd-action-bar" }, confirmButton, cancelButton),
146
+ ];
147
+ const confirmButton = h("button", { type: "button", class: `pxd-button pxd-button-primary${destructive ? " pxd-button-danger" : ""}`, disabled: !ready, onClick: confirm }, b.text(node.confirm.label));
148
+ const cancelLabel = node.cancel ? b.text(node.cancel.label) : "Cancel";
149
+ const describedBy = node.consequence !== undefined ? `${descId} ${descId}-consequence` : descId;
150
+ if (isRoot) {
151
+ // A root confirmation takes focus on its safest option (Cancel), like a dialog would.
152
+ const [focused, setFocused] = ctx.state(node, "focused", false);
153
+ if (!focused) {
154
+ setFocused(true);
155
+ ctx.after(() => r.root?.querySelector(`[data-pxd-id="${CSS.escape(node.id)}"] > .pxd-action-bar > .pxd-button-secondary`)?.focus({ preventScroll: true }));
156
+ }
157
+ return h("div", { role: "alertdialog", "aria-modal": "false", "aria-labelledby": titleId, "aria-describedby": describedBy, class: `pxd-dialog pxd-dialog-inline${destructive ? " pxd-dialog-destructive" : ""}`, onKeydown: (e) => e.key === "Escape" && cancel(), ...a11y }, h("h1", { class: "pxd-dialog-title", id: titleId }, b.text(node.title)), amount, subject, description, ...body(confirmButton, h("button", { type: "button", class: "pxd-button pxd-button-secondary", onClick: cancel }, cancelLabel)));
158
+ }
159
+ if (!open)
160
+ return null;
161
+ ctx.portal(Dialog({ ctx, id: ctx.id(node, "dialog"), role: "alertdialog", class: `pxd-dialog${destructive ? " pxd-dialog-destructive" : ""}`, onClose: cancel, props: { "aria-labelledby": titleId, "aria-describedby": describedBy, ...a11y } }, h("h2", { id: titleId, class: "pxd-dialog-title" }, b.text(node.title)), amount, subject, description, ...body(confirmButton, h("button", { type: "button", class: "pxd-button pxd-button-secondary", autofocus: true, onClick: cancel }, cancelLabel))));
162
+ return null;
163
+ }
164
+ export function Comparison(node, ctx) {
165
+ const b = ctx.b;
166
+ const r = ctx.r;
167
+ const pointer = absolute(node.items.path, b.scope);
168
+ const items = asList(get(r.data, pointer));
169
+ const scopes = items.map((_, i) => ({ pointer: childPointer(pointer, i) }));
170
+ const at = (path, i) => get(r.data, absolute(path, scopes[i]));
171
+ const recommended = node.recommended !== undefined ? b.text(node.recommended) : undefined;
172
+ const reason = node.recommendedReason !== undefined ? b.text(node.recommendedReason) : undefined;
173
+ const best = bestPerAttribute(node.attributes, items.length, at);
174
+ const groups = groupAttributes(node.attributes, b.text);
175
+ const order = recommendedFirst(items.map((_, i) => String(at(node.itemTitle, i) ?? "")), recommended);
176
+ const value = (a, i) => {
177
+ const v = at(a.path, i);
178
+ if (typeof v === "boolean")
179
+ return v ? h("span", { class: "pxd-yes" }, Icon("check", 18), h("span", { class: "pxd-sr-only" }, "Included")) : h("span", { class: "pxd-no" }, Icon("dash", 18), h("span", { class: "pxd-sr-only" }, "Not included"));
180
+ return formatValue(v, resolveFormat(a.format, r.data, b.scope), r.locale);
181
+ };
182
+ return h("div", { class: "pxd-comparison", ...ctx.a11y(node) }, node.summary !== undefined && h("p", { class: "pxd-comparison-summary" }, b.text(node.summary)), h("ul", { class: "pxd-comparison-items" }, ...order.map((i) => {
183
+ const title = String(at(node.itemTitle, i) ?? "");
184
+ const isRecommended = recommended === title;
185
+ return h("li", { key: i, class: `pxd-comparison-item${isRecommended ? " pxd-recommended" : ""}` }, isRecommended && h("p", { class: "pxd-recommendation" }, h("span", { class: "pxd-badge pxd-tone-info" }, "Recommended"), reason && h("span", { class: "pxd-recommendation-reason" }, reason)), Heading(ctx, "pxd-comparison-title", title), ...groups.map((g, gi) => h("div", { class: "pxd-comparison-group", key: gi }, g.label && h("p", { class: "pxd-comparison-group-label" }, g.label), h("dl", null, ...g.attributes.map((a) => h("div", { class: "pxd-detail-row", key: a.key }, h("dt", null, b.text(a.label)), h("dd", null, value(a, i), best.get(a.key) === i && h("span", { class: "pxd-best" }, " Best"))))))), node.choose && h("button", { type: "button", class: `pxd-button ${isRecommended ? "pxd-button-primary" : "pxd-button-secondary"}`, onClick: () => r.dispatch(node.choose.action, scopes[i], node.id) }, `${b.text(node.choose.label)} `, h("span", { class: "pxd-sr-only" }, title)));
186
+ })));
187
+ }
188
+ //# sourceMappingURL=flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/components/flow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,GAEjS,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,CAAC,EAA2B,MAAM,WAAW,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,eAAe,CAAE,SAAiB,CAAC,aAAa,EAAE,QAAQ,IAAI,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;AAE9G,MAAM,UAAU,MAAM,CAAC,IAAU,EAAE,GAAQ;IACzC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChB,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,KAAK,CAAU,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACvF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1F,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1H,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QACpC,IAAI,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK;YAAE,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7D,IAAI,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK;YAAE,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,wFAAwF;YACxF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,GAAG,EAAE;gBAChB,SAAS,CAAC,IAAI,CAAC,CAAC;gBAChB,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;YAC3C,CAAC,CAAC;YACF,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,SAAS,EAAE,SAAS;gBAAE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;;gBACnI,IAAI,EAAE,CAAC;QACd,CAAC;QACD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC;IACF,+EAA+E;IAC/E,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC;IAC7C,MAAM,MAAM,GAAG,CAAC,EAAkB,EAAE,EAAE;QACpC,MAAM,MAAM,GAAG,EAAoE,CAAC;QACpF,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,MAAM,CAAC,MAAM;YAAE,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ,IAAI,QAAQ;YAAE,OAAO;QAClC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAgB,EAAE,EAAE;YACnC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;YACpB,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW;gBAAE,OAAO;YAC3E,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAO;YAC9H,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAAE,OAAO;YAC1C,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAE,OAAO;YACzD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7F,CAAC,CAAC;IACF,OAAO,CAAC,CACN,QAAQ,EACR,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,yBAAyB,IAAI,CAAC,QAAQ,IAAI,WAAW,GAAG,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EACpR,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAChF,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAClJ,WAAW,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EACtF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAC3H,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAU,EAAE,GAAQ;IACxC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,GAAG,CAAC,KAAK,CAAgB,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAS,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,KAAK,CAAa,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3G,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;IACnC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,+BAA+B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1N,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,wDAAwD;QACxD,OAAO,CAAC,CACN,KAAK,EACL,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACnD,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5T,MAAM,CACP,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,+EAA+E;QAC/E,MAAM,MAAM,GAAG,CAAC,EAAO,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;QACrF,OAAO,CAAC,CACN,KAAK,EACL,EAAE,KAAK,EAAE,wBAAwB,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACtD,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAClF,CAAC,CACC,IAAI,EACJ,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAC9B,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE;YAC5B,MAAM,IAAI,GAAG,QAAQ,KAAK,EAAE,CAAC,GAAG,CAAC;YACjC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,OAAO,GAAG,KAAK,KAAK,kBAAkB,CAAC;YAC7C,OAAO,CAAC,CACN,IAAI,EACJ,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EACjE,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,sBAAsB,IAAI,kBAAkB,EAAE,EAAE,KAAK,CAAC,CAAC,EACnS,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CACxE,CAAC;QACJ,CAAC,CAAC,CACH,EACD,MAAM,CACP,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAChC,MAAM,KAAK,GAAe,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC;IAC5J,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI;YAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;;YACrD,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5F,OAAO,CAAC,CACN,KAAK,EACL,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACzC,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAC7D,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAChQ,CAAC,CACC,MAAM,EACN;QACE,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,CAAC,CAAQ,EAAE,EAAE;YACrB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,IAAI;gBAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;;gBACtD,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACrB,CAAC;KACF,EACD,OAAO,CAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EACrD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAC1B,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,+BAA+B,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iCAAiC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAC5R,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAU,EAAE,GAAQ;IAC1C,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChB,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;IACtC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,KAAK,CAAU,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,KAAK,CAAS,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,MAAM,KAAK,GAAG,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC;IACrD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,KAAK,aAAa,CAAC;IACpD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAEjF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9a,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACtH,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzZ,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChJ,sFAAsF;IACtF,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,EAAE,GAAG,MAAM,cAAc,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC5L,MAAM,IAAI,GAAG,CAAC,aAAqB,EAAE,YAAoB,EAAY,EAAE,CAAC;QACtE,YAAY;QACZ,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QACxC,QAAQ,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,QAAQ,CAAE,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxU,WAAW;QACX,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,aAAa,EAAE,YAAY,CAAC;KACnE,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gCAAgC,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACxM,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,MAAM,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;IAEhG,IAAI,MAAM,EAAE,CAAC;QACX,sFAAsF;QACtF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,KAAK,CAAU,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,aAAa,CAAc,iBAAiB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,8CAA8C,CAAC,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1K,CAAC;QACD,OAAO,CAAC,CACN,KAAK,EACL,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,KAAK,EAAE,+BAA+B,WAAW,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,EAC3Q,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EACvE,MAAM,EACN,OAAO,EACP,WAAW,EACX,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iCAAiC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,CAChI,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,GAAG,CAAC,MAAM,CACR,MAAM,CACJ,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,WAAW,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,EAAE,EAC9N,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EACvE,MAAM,EACN,OAAO,EACP,WAAW,EACX,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iCAAiC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,CACjJ,CACF,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAU,EAAE,GAAQ;IAC7C,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5E,MAAM,EAAE,GAAG,CAAC,IAAY,EAAE,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,eAAe,CAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACtG,MAAM,KAAK,GAAG,CAAC,CAAM,EAAE,CAAS,EAAU,EAAE;QAC1C,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACxB,IAAI,OAAO,CAAC,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;QACnP,OAAO,WAAW,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5E,CAAC,CAAC;IACF,OAAO,CAAC,CACN,KAAK,EACL,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC9C,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAC/F,CAAC,CACC,IAAI,EACJ,EAAE,KAAK,EAAE,sBAAsB,EAAE,EACjC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,WAAW,KAAK,KAAK,CAAC;QAC5C,OAAO,CAAC,CACN,IAAI,EACJ,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,sBAAsB,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAClF,aAAa,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,EAAE,MAAM,CAAC,CAAC,EAC7L,OAAO,CAAC,GAAG,EAAE,sBAAsB,EAAE,KAAK,CAAC,EAC3C,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtX,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,KAAK,CAAC,CAAC,CACrR,CAAC;IACJ,CAAC,CAAC,CACH,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Node } from "@polyxd/core";
2
+ import type { VChild } from "../dom.ts";
3
+ import type { Ctx } from "../renderer.ts";
4
+ /** A component renderer: the document node and the context it renders in, to a description of elements (or an element). */
5
+ export type ComponentRenderer = (node: Node, ctx: Ctx) => VChild | Element;
6
+ /**
7
+ * The default adapter: native DOM and ARIA, styled by design-system tokens, the same structure
8
+ * and classes as @polyxd/react's. Replace entries through the `components` property.
9
+ */
10
+ export declare const registry: Record<string, ComponentRenderer>;
@@ -0,0 +1,30 @@
1
+ import { Card, Columns, Disclosure, Group, Section, Views } from "./structure.js";
2
+ import { Split } from "./split.js";
3
+ import { AppBar, Custom, Footer, Frame, Outlet } from "./shell.js";
4
+ import { Collection, DetailList, Media, Metric, Status, Text } from "./content.js";
5
+ import { Table } from "./table.js";
6
+ import { Chart } from "./chart.js";
7
+ import { Choice, DateInput, Form, RangeInput, TextInput, Toggle } from "./inputs.js";
8
+ import { Action, Comparison, Confirm, Steps } from "./flow.js";
9
+ import { ActionBar } from "./action-bar.js";
10
+ import { FilterPanel } from "./filter.js";
11
+ import { Navigation } from "./navigation.js";
12
+ import { Code, Identity, Progress, Rating, Tag } from "./marks.js";
13
+ import { ActionMenu, Panel } from "./overlays.js";
14
+ import { CodeInput, ColorInput, FileInput } from "./pickers.js";
15
+ import { Tree } from "./tree.js";
16
+ /**
17
+ * The default adapter: native DOM and ARIA, styled by design-system tokens, the same structure
18
+ * and classes as @polyxd/react's. Replace entries through the `components` property.
19
+ */
20
+ export const registry = {
21
+ Section, Group, Card, Disclosure, Views, Navigation,
22
+ Text, Metric, DetailList, Collection, Table, Chart, Media, Status,
23
+ TextInput, Choice, Toggle, DateInput, RangeInput, Form,
24
+ Action, ActionBar, Steps, Confirm, Comparison, FilterPanel,
25
+ Tag, Identity, Progress, Rating, Code, Tree, ActionMenu, Panel, FileInput, ColorInput, CodeInput,
26
+ Columns, Split,
27
+ // The shell (spec 0.3): the product's frame around its screens.
28
+ Frame, AppBar, Footer, Outlet, Custom,
29
+ };
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKjC;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAsC;IACzD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU;IACnD,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;IACjE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI;IACtD,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW;IAC1D,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS;IAChG,OAAO,EAAE,KAAK;IACd,gEAAgE;IAChE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CACtC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { type Node } from "@polyxd/core";
2
+ import { type VNode } from "../dom.ts";
3
+ import type { Ctx } from "../renderer.ts";
4
+ /**
5
+ * The required mark. It is aria-hidden on purpose: every control it appears on also carries the
6
+ * native `required` / `aria-required`, which is what a screen reader announces. The asterisk is
7
+ * for the eye, and a form that has one explains it once (see the legend in Form).
8
+ */
9
+ export declare const RequiredMark: () => VNode;
10
+ export declare function TextInput(node: Node, ctx: Ctx): VNode;
11
+ /**
12
+ * Choice picks its control from the options' number and shape (core's rule): people or things
13
+ * with faces → a picker (recent row, then a list); a few short options → chips; otherwise radios
14
+ * or checkboxes, searchable past 10.
15
+ */
16
+ export declare function Choice(node: Node, ctx: Ctx): VNode;
17
+ /** With an action it's a switch that applies immediately; inside a form it's a checkbox. */
18
+ export declare function Toggle(node: Node, ctx: Ctx): VNode;
19
+ /** Native date/time inputs: typing is always possible, and pickers are platform-native. */
20
+ export declare function DateInput(node: Node, ctx: Ctx): VNode;
21
+ export declare function RangeInput(node: Node, ctx: Ctx): VNode;
22
+ /**
23
+ * Submits through checkValidity, so every control's own message is set (onInvalid) without the
24
+ * browser's bubbles. When something fails, a summary at the top of the fields says what, in plain
25
+ * words, and links to each control; each control is marked and, if its field says nothing yet, the
26
+ * message is said under it. The marks are undone on the next submit and redone from scratch.
27
+ */
28
+ export declare function Form(node: Node, ctx: Ctx): VNode;