@takazudo/zfb 3.1.0 → 3.2.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 (58) hide show
  1. package/dist/config.d.ts +28 -3
  2. package/dist/config.js +23 -12
  3. package/dist/config.js.map +1 -1
  4. package/dist/content.js.map +1 -1
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/island-boundary.d.ts +2 -2
  8. package/dist/island-boundary.js +4 -2
  9. package/dist/island-boundary.js.map +1 -1
  10. package/dist/island.d.ts +8 -4
  11. package/dist/island.js +1 -1
  12. package/dist/island.js.map +1 -1
  13. package/dist/jsx-types.d.ts +1 -1
  14. package/dist/jsx-types.js.map +1 -1
  15. package/dist/runtime.js.map +1 -1
  16. package/dist/slugify.js.map +1 -1
  17. package/dist/zudo-react/description.d.ts +18 -0
  18. package/dist/zudo-react/description.js +41 -0
  19. package/dist/zudo-react/description.js.map +1 -1
  20. package/dist/zudo-react/dom-bindings.d.ts +2 -1
  21. package/dist/zudo-react/dom-bindings.js +16 -22
  22. package/dist/zudo-react/dom-bindings.js.map +1 -1
  23. package/dist/zudo-react/forms.js.map +1 -1
  24. package/dist/zudo-react/hydrate.js +20 -30
  25. package/dist/zudo-react/hydrate.js.map +1 -1
  26. package/dist/zudo-react/index.d.ts +2 -1
  27. package/dist/zudo-react/index.js.map +1 -1
  28. package/dist/zudo-react/jsx-dev-runtime.d.ts +2 -6
  29. package/dist/zudo-react/jsx-dev-runtime.js +3 -3
  30. package/dist/zudo-react/jsx-dev-runtime.js.map +1 -1
  31. package/dist/zudo-react/jsx-runtime.js +2 -2
  32. package/dist/zudo-react/jsx-runtime.js.map +1 -1
  33. package/dist/zudo-react/jsx-types.d.ts +59 -23
  34. package/dist/zudo-react/jsx-types.js.map +1 -1
  35. package/dist/zudo-react/props-transport.d.ts +2 -0
  36. package/dist/zudo-react/props-transport.js +42 -14
  37. package/dist/zudo-react/props-transport.js.map +1 -1
  38. package/dist/zudo-react/raw-html.d.ts +1 -0
  39. package/dist/zudo-react/raw-html.js +120 -0
  40. package/dist/zudo-react/raw-html.js.map +1 -0
  41. package/dist/zudo-react/reactive.js.map +1 -1
  42. package/dist/zudo-react/render-html.d.ts +11 -1
  43. package/dist/zudo-react/render-html.js +83 -56
  44. package/dist/zudo-react/render-html.js.map +1 -1
  45. package/dist/zudo-react/root.js +24 -1
  46. package/dist/zudo-react/root.js.map +1 -1
  47. package/dist/zudo-react/server.d.ts +2 -0
  48. package/dist/zudo-react/server.js.map +1 -1
  49. package/dist/zudo-react/style.d.ts +10 -0
  50. package/dist/zudo-react/style.js +525 -0
  51. package/dist/zudo-react/style.js.map +1 -0
  52. package/dist/zudo-react/testing.d.ts +27 -0
  53. package/dist/zudo-react/testing.js +117 -0
  54. package/dist/zudo-react/testing.js.map +1 -0
  55. package/dist/zudo-react/vocabulary.d.ts +7 -0
  56. package/dist/zudo-react/vocabulary.js +64 -5
  57. package/dist/zudo-react/vocabulary.js.map +1 -1
  58. package/package.json +16 -10
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/zudo-react/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAYtD,MAAM,UAAU,UAAU,CAAC,KAAkB,EAAE,OAAsB;IACnE,OAAO,iBAAiB,CAAC,cAAuB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AACxE,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,IAAW,EAAE,UAAyB,EAAE;IACrE,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC","sourcesContent":["import type { Child, Description } from \"./description.js\";\nimport type { IslandIdentity } from \"./index.js\";\nimport { createDescription } from \"./description.js\";\nimport { islandRootType } from \"./island-root-type.js\";\nimport { renderHtml } from \"./render-html.js\";\n\nexport { serializeProps } from \"./props-transport.js\";\n\nexport interface RenderOptions {\n island?: IslandIdentity | undefined;\n}\nexport interface IslandOptions {\n identity: IslandIdentity;\n when?: \"load\" | \"idle\" | \"visible\" | \"media\" | undefined;\n media?: string | undefined;\n skipSsr?: boolean | undefined;\n fallback?: Child;\n}\nexport function islandRoot(child: Description, options: IslandOptions): Description {\n return createDescription(islandRootType as never, { child, options });\n}\nexport function renderToString(node: Child, options: RenderOptions = {}): string {\n return renderHtml(node, options);\n}\n"]}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/zudo-react/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AActD,MAAM,UAAU,UAAU,CAAC,KAAkB,EAAE,OAAsB;IACnE,OAAO,iBAAiB,CAAC,cAAuB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AACxE,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,IAAW,EAAE,OAAO,GAAkB,EAAE;IACrE,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC","sourcesContent":["import type { Child, Description } from \"./description.js\";\nimport type { IslandIdentity } from \"./index.js\";\nimport { createDescription } from \"./description.js\";\nimport { islandRootType } from \"./island-root-type.js\";\nimport { renderHtml } from \"./render-html.js\";\n\nexport { serializeProps } from \"./props-transport.js\";\n\nexport interface RenderOptions {\n island?: IslandIdentity | undefined;\n}\nexport interface IslandOptions {\n identity: IslandIdentity;\n when?: \"load\" | \"idle\" | \"visible\" | \"media\" | undefined;\n media?: string | undefined;\n skipSsr?: boolean | undefined;\n fallback?: Child;\n persist?: string | undefined;\n persistProps?: boolean | undefined;\n}\nexport function islandRoot(child: Description, options: IslandOptions): Description {\n return createDescription(islandRootType as never, { child, options });\n}\nexport function renderToString(node: Child, options: RenderOptions = {}): string {\n return renderHtml(node, options);\n}\n"]}
@@ -0,0 +1,10 @@
1
+ /** The literal style surface shared by JSX typing and both renderers. */
2
+ export declare const cssProperties: readonly ["accent-color", "align-content", "align-items", "align-self", "alignment-baseline", "all", "animation", "animation-composition", "animation-delay", "animation-direction", "animation-duration", "animation-fill-mode", "animation-iteration-count", "animation-name", "animation-play-state", "animation-timing-function", "appearance", "aspect-ratio", "backdrop-filter", "backface-visibility", "background", "background-attachment", "background-blend-mode", "background-clip", "background-color", "background-image", "background-origin", "background-position", "background-position-x", "background-position-y", "background-repeat", "background-size", "block-size", "border", "border-block", "border-block-color", "border-block-end", "border-block-end-color", "border-block-end-style", "border-block-end-width", "border-block-start", "border-block-start-color", "border-block-start-style", "border-block-start-width", "border-block-style", "border-block-width", "border-bottom", "border-bottom-color", "border-bottom-left-radius", "border-bottom-right-radius", "border-bottom-style", "border-bottom-width", "border-collapse", "border-color", "border-end-end-radius", "border-end-start-radius", "border-image", "border-image-outset", "border-image-repeat", "border-image-slice", "border-image-source", "border-image-width", "border-inline", "border-inline-color", "border-inline-end", "border-inline-end-color", "border-inline-end-style", "border-inline-end-width", "border-inline-start", "border-inline-start-color", "border-inline-start-style", "border-inline-start-width", "border-inline-style", "border-inline-width", "border-left", "border-left-color", "border-left-style", "border-left-width", "border-radius", "border-right", "border-right-color", "border-right-style", "border-right-width", "border-spacing", "border-start-end-radius", "border-start-start-radius", "border-style", "border-top", "border-top-color", "border-top-left-radius", "border-top-right-radius", "border-top-style", "border-top-width", "border-width", "bottom", "box-align", "box-decoration-break", "box-flex", "box-ordinal-group", "box-orient", "box-pack", "box-shadow", "box-sizing", "break-after", "break-before", "break-inside", "caption-side", "caret-color", "clear", "clip", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-scheme", "column-count", "column-fill", "column-gap", "column-rule", "column-rule-color", "column-rule-style", "column-rule-width", "column-span", "column-width", "columns", "contain", "contain-intrinsic-block-size", "contain-intrinsic-height", "contain-intrinsic-inline-size", "contain-intrinsic-size", "contain-intrinsic-width", "container", "container-name", "container-type", "content", "content-visibility", "counter-increment", "counter-reset", "counter-set", "cursor", "cx", "cy", "d", "direction", "display", "dominant-baseline", "empty-cells", "fill", "fill-opacity", "fill-rule", "filter", "flex", "flex-basis", "flex-direction", "flex-flow", "flex-grow", "flex-shrink", "flex-wrap", "float", "flood-color", "flood-opacity", "font", "font-family", "font-feature-settings", "font-kerning", "font-optical-sizing", "font-palette", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-synthesis", "font-synthesis-small-caps", "font-synthesis-style", "font-synthesis-weight", "font-variant", "font-variant-alternates", "font-variant-caps", "font-variant-east-asian", "font-variant-ligatures", "font-variant-numeric", "font-variant-position", "font-variation-settings", "font-weight", "forced-color-adjust", "gap", "grid", "grid-area", "grid-auto-columns", "grid-auto-flow", "grid-auto-rows", "grid-column", "grid-column-end", "grid-column-start", "grid-row", "grid-row-end", "grid-row-start", "grid-template", "grid-template-areas", "grid-template-columns", "grid-template-rows", "height", "hyphenate-character", "hyphenate-limit-chars", "hyphens", "image-orientation", "image-rendering", "inline-size", "inset", "inset-block", "inset-block-end", "inset-block-start", "inset-inline", "inset-inline-end", "inset-inline-start", "isolation", "justify-content", "justify-items", "justify-self", "left", "letter-spacing", "lighting-color", "line-break", "line-clamp", "line-height", "list-style", "list-style-image", "list-style-position", "list-style-type", "margin", "margin-block", "margin-block-end", "margin-block-start", "margin-bottom", "margin-inline", "margin-inline-end", "margin-inline-start", "margin-left", "margin-right", "margin-top", "marker", "marker-end", "marker-mid", "marker-start", "mask", "mask-border", "mask-border-outset", "mask-border-repeat", "mask-border-slice", "mask-border-source", "mask-border-width", "mask-clip", "mask-composite", "mask-image", "mask-mode", "mask-origin", "mask-position", "mask-repeat", "mask-size", "mask-type", "math-depth", "math-style", "max-block-size", "max-height", "max-inline-size", "max-width", "min-block-size", "min-height", "min-inline-size", "min-width", "mix-blend-mode", "object-fit", "object-position", "offset", "offset-anchor", "offset-distance", "offset-path", "offset-position", "offset-rotate", "opacity", "order", "orphans", "outline", "outline-color", "outline-offset", "outline-style", "outline-width", "overflow", "overflow-anchor", "overflow-block", "overflow-clip-margin", "overflow-inline", "overflow-wrap", "overflow-x", "overflow-y", "overscroll-behavior", "overscroll-behavior-block", "overscroll-behavior-inline", "overscroll-behavior-x", "overscroll-behavior-y", "padding", "padding-block", "padding-block-end", "padding-block-start", "padding-bottom", "padding-inline", "padding-inline-end", "padding-inline-start", "padding-left", "padding-right", "padding-top", "page", "page-break-after", "page-break-before", "page-break-inside", "paint-order", "perspective", "perspective-origin", "place-content", "place-items", "place-self", "pointer-events", "position", "print-color-adjust", "quotes", "r", "resize", "right", "rotate", "row-gap", "ruby-align", "ruby-position", "rx", "ry", "scale", "scroll-behavior", "scroll-margin", "scroll-margin-block", "scroll-margin-block-end", "scroll-margin-block-start", "scroll-margin-bottom", "scroll-margin-inline", "scroll-margin-inline-end", "scroll-margin-inline-start", "scroll-margin-left", "scroll-margin-right", "scroll-margin-top", "scroll-padding", "scroll-padding-block", "scroll-padding-block-end", "scroll-padding-block-start", "scroll-padding-bottom", "scroll-padding-inline", "scroll-padding-inline-end", "scroll-padding-inline-start", "scroll-padding-left", "scroll-padding-right", "scroll-padding-top", "scroll-snap-align", "scroll-snap-stop", "scroll-snap-type", "scrollbar-color", "scrollbar-gutter", "scrollbar-width", "shape-image-threshold", "shape-margin", "shape-outside", "shape-rendering", "stop-color", "stop-opacity", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "tab-size", "table-layout", "text-align", "text-align-last", "text-anchor", "text-box", "text-box-edge", "text-box-trim", "text-combine-upright", "text-decoration", "text-decoration-color", "text-decoration-line", "text-decoration-skip-ink", "text-decoration-style", "text-decoration-thickness", "text-emphasis", "text-emphasis-color", "text-emphasis-position", "text-emphasis-style", "text-indent", "text-orientation", "text-overflow", "text-rendering", "text-shadow", "text-size-adjust", "text-transform", "text-underline-offset", "text-underline-position", "text-wrap", "text-wrap-mode", "text-wrap-style", "top", "touch-action", "transform", "transform-box", "transform-origin", "transform-style", "transition", "transition-behavior", "transition-delay", "transition-duration", "transition-property", "transition-timing-function", "translate", "unicode-bidi", "user-select", "vector-effect", "vertical-align", "view-transition-class", "view-transition-name", "visibility", "white-space", "white-space-collapse", "widows", "width", "will-change", "word-break", "word-spacing", "writing-mode", "x", "y", "z-index", "zoom"];
3
+ export declare const vendorProperties: readonly ["-webkit-appearance", "-webkit-backdrop-filter", "-webkit-line-clamp", "-webkit-mask", "-webkit-mask-image", "-webkit-mask-position", "-webkit-mask-size", "-webkit-text-fill-color", "-webkit-text-stroke", "-webkit-transform", "-webkit-user-select", "-moz-appearance", "-moz-osx-font-smoothing", "-moz-user-select", "-ms-overflow-style", "-ms-transform", "-ms-user-select"];
4
+ export declare const unitlessProperties: readonly ["animation-iteration-count", "aspect-ratio", "column-count", "fill-opacity", "flex", "flex-grow", "flex-shrink", "flood-opacity", "font-weight", "grid-column", "grid-column-end", "grid-column-start", "grid-row", "grid-row-end", "grid-row-start", "line-clamp", "line-height", "opacity", "order", "orphans", "scale", "stop-opacity", "stroke-miterlimit", "stroke-opacity", "tab-size", "widows", "z-index", "zoom"];
5
+ export type CssProperty = (typeof cssProperties)[number] | (typeof vendorProperties)[number] | `--${string}`;
6
+ type UnitlessProperty = (typeof unitlessProperties)[number];
7
+ type ZeroOnlyProperty = Exclude<CssProperty, UnitlessProperty | `--${string}`>;
8
+ export type CSSProperties = Readonly<Partial<Record<ZeroOnlyProperty, string | 0 | null | undefined>> & Partial<Record<UnitlessProperty | `--${string}`, string | number | null | undefined>>>;
9
+ export declare function serializeStyle(value: unknown): string;
10
+ export {};
@@ -0,0 +1,525 @@
1
+ /** The literal style surface shared by JSX typing and both renderers. */
2
+ // CSSStyleDeclaration's MDN property references in TypeScript 5.9, with supported
3
+ // existing names retained. This checked-in list is the runtime and type authority.
4
+ export const cssProperties = [
5
+ "accent-color",
6
+ "align-content",
7
+ "align-items",
8
+ "align-self",
9
+ "alignment-baseline",
10
+ "all",
11
+ "animation",
12
+ "animation-composition",
13
+ "animation-delay",
14
+ "animation-direction",
15
+ "animation-duration",
16
+ "animation-fill-mode",
17
+ "animation-iteration-count",
18
+ "animation-name",
19
+ "animation-play-state",
20
+ "animation-timing-function",
21
+ "appearance",
22
+ "aspect-ratio",
23
+ "backdrop-filter",
24
+ "backface-visibility",
25
+ "background",
26
+ "background-attachment",
27
+ "background-blend-mode",
28
+ "background-clip",
29
+ "background-color",
30
+ "background-image",
31
+ "background-origin",
32
+ "background-position",
33
+ "background-position-x",
34
+ "background-position-y",
35
+ "background-repeat",
36
+ "background-size",
37
+ "block-size",
38
+ "border",
39
+ "border-block",
40
+ "border-block-color",
41
+ "border-block-end",
42
+ "border-block-end-color",
43
+ "border-block-end-style",
44
+ "border-block-end-width",
45
+ "border-block-start",
46
+ "border-block-start-color",
47
+ "border-block-start-style",
48
+ "border-block-start-width",
49
+ "border-block-style",
50
+ "border-block-width",
51
+ "border-bottom",
52
+ "border-bottom-color",
53
+ "border-bottom-left-radius",
54
+ "border-bottom-right-radius",
55
+ "border-bottom-style",
56
+ "border-bottom-width",
57
+ "border-collapse",
58
+ "border-color",
59
+ "border-end-end-radius",
60
+ "border-end-start-radius",
61
+ "border-image",
62
+ "border-image-outset",
63
+ "border-image-repeat",
64
+ "border-image-slice",
65
+ "border-image-source",
66
+ "border-image-width",
67
+ "border-inline",
68
+ "border-inline-color",
69
+ "border-inline-end",
70
+ "border-inline-end-color",
71
+ "border-inline-end-style",
72
+ "border-inline-end-width",
73
+ "border-inline-start",
74
+ "border-inline-start-color",
75
+ "border-inline-start-style",
76
+ "border-inline-start-width",
77
+ "border-inline-style",
78
+ "border-inline-width",
79
+ "border-left",
80
+ "border-left-color",
81
+ "border-left-style",
82
+ "border-left-width",
83
+ "border-radius",
84
+ "border-right",
85
+ "border-right-color",
86
+ "border-right-style",
87
+ "border-right-width",
88
+ "border-spacing",
89
+ "border-start-end-radius",
90
+ "border-start-start-radius",
91
+ "border-style",
92
+ "border-top",
93
+ "border-top-color",
94
+ "border-top-left-radius",
95
+ "border-top-right-radius",
96
+ "border-top-style",
97
+ "border-top-width",
98
+ "border-width",
99
+ "bottom",
100
+ "box-align",
101
+ "box-decoration-break",
102
+ "box-flex",
103
+ "box-ordinal-group",
104
+ "box-orient",
105
+ "box-pack",
106
+ "box-shadow",
107
+ "box-sizing",
108
+ "break-after",
109
+ "break-before",
110
+ "break-inside",
111
+ "caption-side",
112
+ "caret-color",
113
+ "clear",
114
+ "clip",
115
+ "clip-path",
116
+ "clip-rule",
117
+ "color",
118
+ "color-interpolation",
119
+ "color-interpolation-filters",
120
+ "color-scheme",
121
+ "column-count",
122
+ "column-fill",
123
+ "column-gap",
124
+ "column-rule",
125
+ "column-rule-color",
126
+ "column-rule-style",
127
+ "column-rule-width",
128
+ "column-span",
129
+ "column-width",
130
+ "columns",
131
+ "contain",
132
+ "contain-intrinsic-block-size",
133
+ "contain-intrinsic-height",
134
+ "contain-intrinsic-inline-size",
135
+ "contain-intrinsic-size",
136
+ "contain-intrinsic-width",
137
+ "container",
138
+ "container-name",
139
+ "container-type",
140
+ "content",
141
+ "content-visibility",
142
+ "counter-increment",
143
+ "counter-reset",
144
+ "counter-set",
145
+ "cursor",
146
+ "cx",
147
+ "cy",
148
+ "d",
149
+ "direction",
150
+ "display",
151
+ "dominant-baseline",
152
+ "empty-cells",
153
+ "fill",
154
+ "fill-opacity",
155
+ "fill-rule",
156
+ "filter",
157
+ "flex",
158
+ "flex-basis",
159
+ "flex-direction",
160
+ "flex-flow",
161
+ "flex-grow",
162
+ "flex-shrink",
163
+ "flex-wrap",
164
+ "float",
165
+ "flood-color",
166
+ "flood-opacity",
167
+ "font",
168
+ "font-family",
169
+ "font-feature-settings",
170
+ "font-kerning",
171
+ "font-optical-sizing",
172
+ "font-palette",
173
+ "font-size",
174
+ "font-size-adjust",
175
+ "font-stretch",
176
+ "font-style",
177
+ "font-synthesis",
178
+ "font-synthesis-small-caps",
179
+ "font-synthesis-style",
180
+ "font-synthesis-weight",
181
+ "font-variant",
182
+ "font-variant-alternates",
183
+ "font-variant-caps",
184
+ "font-variant-east-asian",
185
+ "font-variant-ligatures",
186
+ "font-variant-numeric",
187
+ "font-variant-position",
188
+ "font-variation-settings",
189
+ "font-weight",
190
+ "forced-color-adjust",
191
+ "gap",
192
+ "grid",
193
+ "grid-area",
194
+ "grid-auto-columns",
195
+ "grid-auto-flow",
196
+ "grid-auto-rows",
197
+ "grid-column",
198
+ "grid-column-end",
199
+ "grid-column-start",
200
+ "grid-row",
201
+ "grid-row-end",
202
+ "grid-row-start",
203
+ "grid-template",
204
+ "grid-template-areas",
205
+ "grid-template-columns",
206
+ "grid-template-rows",
207
+ "height",
208
+ "hyphenate-character",
209
+ "hyphenate-limit-chars",
210
+ "hyphens",
211
+ "image-orientation",
212
+ "image-rendering",
213
+ "inline-size",
214
+ "inset",
215
+ "inset-block",
216
+ "inset-block-end",
217
+ "inset-block-start",
218
+ "inset-inline",
219
+ "inset-inline-end",
220
+ "inset-inline-start",
221
+ "isolation",
222
+ "justify-content",
223
+ "justify-items",
224
+ "justify-self",
225
+ "left",
226
+ "letter-spacing",
227
+ "lighting-color",
228
+ "line-break",
229
+ "line-clamp",
230
+ "line-height",
231
+ "list-style",
232
+ "list-style-image",
233
+ "list-style-position",
234
+ "list-style-type",
235
+ "margin",
236
+ "margin-block",
237
+ "margin-block-end",
238
+ "margin-block-start",
239
+ "margin-bottom",
240
+ "margin-inline",
241
+ "margin-inline-end",
242
+ "margin-inline-start",
243
+ "margin-left",
244
+ "margin-right",
245
+ "margin-top",
246
+ "marker",
247
+ "marker-end",
248
+ "marker-mid",
249
+ "marker-start",
250
+ "mask",
251
+ "mask-border",
252
+ "mask-border-outset",
253
+ "mask-border-repeat",
254
+ "mask-border-slice",
255
+ "mask-border-source",
256
+ "mask-border-width",
257
+ "mask-clip",
258
+ "mask-composite",
259
+ "mask-image",
260
+ "mask-mode",
261
+ "mask-origin",
262
+ "mask-position",
263
+ "mask-repeat",
264
+ "mask-size",
265
+ "mask-type",
266
+ "math-depth",
267
+ "math-style",
268
+ "max-block-size",
269
+ "max-height",
270
+ "max-inline-size",
271
+ "max-width",
272
+ "min-block-size",
273
+ "min-height",
274
+ "min-inline-size",
275
+ "min-width",
276
+ "mix-blend-mode",
277
+ "object-fit",
278
+ "object-position",
279
+ "offset",
280
+ "offset-anchor",
281
+ "offset-distance",
282
+ "offset-path",
283
+ "offset-position",
284
+ "offset-rotate",
285
+ "opacity",
286
+ "order",
287
+ "orphans",
288
+ "outline",
289
+ "outline-color",
290
+ "outline-offset",
291
+ "outline-style",
292
+ "outline-width",
293
+ "overflow",
294
+ "overflow-anchor",
295
+ "overflow-block",
296
+ "overflow-clip-margin",
297
+ "overflow-inline",
298
+ "overflow-wrap",
299
+ "overflow-x",
300
+ "overflow-y",
301
+ "overscroll-behavior",
302
+ "overscroll-behavior-block",
303
+ "overscroll-behavior-inline",
304
+ "overscroll-behavior-x",
305
+ "overscroll-behavior-y",
306
+ "padding",
307
+ "padding-block",
308
+ "padding-block-end",
309
+ "padding-block-start",
310
+ "padding-bottom",
311
+ "padding-inline",
312
+ "padding-inline-end",
313
+ "padding-inline-start",
314
+ "padding-left",
315
+ "padding-right",
316
+ "padding-top",
317
+ "page",
318
+ "page-break-after",
319
+ "page-break-before",
320
+ "page-break-inside",
321
+ "paint-order",
322
+ "perspective",
323
+ "perspective-origin",
324
+ "place-content",
325
+ "place-items",
326
+ "place-self",
327
+ "pointer-events",
328
+ "position",
329
+ "print-color-adjust",
330
+ "quotes",
331
+ "r",
332
+ "resize",
333
+ "right",
334
+ "rotate",
335
+ "row-gap",
336
+ "ruby-align",
337
+ "ruby-position",
338
+ "rx",
339
+ "ry",
340
+ "scale",
341
+ "scroll-behavior",
342
+ "scroll-margin",
343
+ "scroll-margin-block",
344
+ "scroll-margin-block-end",
345
+ "scroll-margin-block-start",
346
+ "scroll-margin-bottom",
347
+ "scroll-margin-inline",
348
+ "scroll-margin-inline-end",
349
+ "scroll-margin-inline-start",
350
+ "scroll-margin-left",
351
+ "scroll-margin-right",
352
+ "scroll-margin-top",
353
+ "scroll-padding",
354
+ "scroll-padding-block",
355
+ "scroll-padding-block-end",
356
+ "scroll-padding-block-start",
357
+ "scroll-padding-bottom",
358
+ "scroll-padding-inline",
359
+ "scroll-padding-inline-end",
360
+ "scroll-padding-inline-start",
361
+ "scroll-padding-left",
362
+ "scroll-padding-right",
363
+ "scroll-padding-top",
364
+ "scroll-snap-align",
365
+ "scroll-snap-stop",
366
+ "scroll-snap-type",
367
+ "scrollbar-color",
368
+ "scrollbar-gutter",
369
+ "scrollbar-width",
370
+ "shape-image-threshold",
371
+ "shape-margin",
372
+ "shape-outside",
373
+ "shape-rendering",
374
+ "stop-color",
375
+ "stop-opacity",
376
+ "stroke",
377
+ "stroke-dasharray",
378
+ "stroke-dashoffset",
379
+ "stroke-linecap",
380
+ "stroke-linejoin",
381
+ "stroke-miterlimit",
382
+ "stroke-opacity",
383
+ "stroke-width",
384
+ "tab-size",
385
+ "table-layout",
386
+ "text-align",
387
+ "text-align-last",
388
+ "text-anchor",
389
+ "text-box",
390
+ "text-box-edge",
391
+ "text-box-trim",
392
+ "text-combine-upright",
393
+ "text-decoration",
394
+ "text-decoration-color",
395
+ "text-decoration-line",
396
+ "text-decoration-skip-ink",
397
+ "text-decoration-style",
398
+ "text-decoration-thickness",
399
+ "text-emphasis",
400
+ "text-emphasis-color",
401
+ "text-emphasis-position",
402
+ "text-emphasis-style",
403
+ "text-indent",
404
+ "text-orientation",
405
+ "text-overflow",
406
+ "text-rendering",
407
+ "text-shadow",
408
+ "text-size-adjust",
409
+ "text-transform",
410
+ "text-underline-offset",
411
+ "text-underline-position",
412
+ "text-wrap",
413
+ "text-wrap-mode",
414
+ "text-wrap-style",
415
+ "top",
416
+ "touch-action",
417
+ "transform",
418
+ "transform-box",
419
+ "transform-origin",
420
+ "transform-style",
421
+ "transition",
422
+ "transition-behavior",
423
+ "transition-delay",
424
+ "transition-duration",
425
+ "transition-property",
426
+ "transition-timing-function",
427
+ "translate",
428
+ "unicode-bidi",
429
+ "user-select",
430
+ "vector-effect",
431
+ "vertical-align",
432
+ "view-transition-class",
433
+ "view-transition-name",
434
+ "visibility",
435
+ "white-space",
436
+ "white-space-collapse",
437
+ "widows",
438
+ "width",
439
+ "will-change",
440
+ "word-break",
441
+ "word-spacing",
442
+ "writing-mode",
443
+ "x",
444
+ "y",
445
+ "z-index",
446
+ "zoom",
447
+ ];
448
+ export const vendorProperties = [
449
+ "-webkit-appearance",
450
+ "-webkit-backdrop-filter",
451
+ "-webkit-line-clamp",
452
+ "-webkit-mask",
453
+ "-webkit-mask-image",
454
+ "-webkit-mask-position",
455
+ "-webkit-mask-size",
456
+ "-webkit-text-fill-color",
457
+ "-webkit-text-stroke",
458
+ "-webkit-transform",
459
+ "-webkit-user-select",
460
+ "-moz-appearance",
461
+ "-moz-osx-font-smoothing",
462
+ "-moz-user-select",
463
+ "-ms-overflow-style",
464
+ "-ms-transform",
465
+ "-ms-user-select",
466
+ ];
467
+ export const unitlessProperties = [
468
+ "animation-iteration-count",
469
+ "aspect-ratio",
470
+ "column-count",
471
+ "fill-opacity",
472
+ "flex",
473
+ "flex-grow",
474
+ "flex-shrink",
475
+ "flood-opacity",
476
+ "font-weight",
477
+ "grid-column",
478
+ "grid-column-end",
479
+ "grid-column-start",
480
+ "grid-row",
481
+ "grid-row-end",
482
+ "grid-row-start",
483
+ "line-clamp",
484
+ "line-height",
485
+ "opacity",
486
+ "order",
487
+ "orphans",
488
+ "scale",
489
+ "stop-opacity",
490
+ "stroke-miterlimit",
491
+ "stroke-opacity",
492
+ "tab-size",
493
+ "widows",
494
+ "z-index",
495
+ "zoom",
496
+ ];
497
+ const known = new Set([...cssProperties, ...vendorProperties]);
498
+ const unitless = new Set(unitlessProperties);
499
+ const customName = /^--[a-zA-Z0-9_-]+$/;
500
+ export function serializeStyle(value) {
501
+ if (typeof value === "string")
502
+ return value;
503
+ if (value === null ||
504
+ typeof value !== "object" ||
505
+ Object.getPrototypeOf(value) !== Object.prototype)
506
+ throw new TypeError("ZR_STYLE: style must be a string or plain object");
507
+ let result = "";
508
+ for (const [name, entry] of Object.entries(value)) {
509
+ if (!known.has(name) && !customName.test(name))
510
+ throw new TypeError(`ZR_STYLE: unsupported property ${name}; use a supported CSS-spelled name`);
511
+ if (entry == null)
512
+ continue;
513
+ if (typeof entry === "string") {
514
+ result += `${name}:${entry};`;
515
+ continue;
516
+ }
517
+ if (typeof entry !== "number" || !Number.isFinite(entry))
518
+ throw new TypeError(`ZR_STYLE: invalid value for ${name}; use a string or finite number`);
519
+ if (entry !== 0 && !unitless.has(name) && !name.startsWith("--"))
520
+ throw new TypeError(`ZR_STYLE: nonzero numeric ${name} requires explicit units in a string`);
521
+ result += `${name}:${entry};`;
522
+ }
523
+ return result;
524
+ }
525
+ //# sourceMappingURL=style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/zudo-react/style.ts"],"names":[],"mappings":"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","sourcesContent":["/** The literal style surface shared by JSX typing and both renderers. */\n// CSSStyleDeclaration's MDN property references in TypeScript 5.9, with supported\n// existing names retained. This checked-in list is the runtime and type authority.\nexport const cssProperties = [\n \"accent-color\",\n \"align-content\",\n \"align-items\",\n \"align-self\",\n \"alignment-baseline\",\n \"all\",\n \"animation\",\n \"animation-composition\",\n \"animation-delay\",\n \"animation-direction\",\n \"animation-duration\",\n \"animation-fill-mode\",\n \"animation-iteration-count\",\n \"animation-name\",\n \"animation-play-state\",\n \"animation-timing-function\",\n \"appearance\",\n \"aspect-ratio\",\n \"backdrop-filter\",\n \"backface-visibility\",\n \"background\",\n \"background-attachment\",\n \"background-blend-mode\",\n \"background-clip\",\n \"background-color\",\n \"background-image\",\n \"background-origin\",\n \"background-position\",\n \"background-position-x\",\n \"background-position-y\",\n \"background-repeat\",\n \"background-size\",\n \"block-size\",\n \"border\",\n \"border-block\",\n \"border-block-color\",\n \"border-block-end\",\n \"border-block-end-color\",\n \"border-block-end-style\",\n \"border-block-end-width\",\n \"border-block-start\",\n \"border-block-start-color\",\n \"border-block-start-style\",\n \"border-block-start-width\",\n \"border-block-style\",\n \"border-block-width\",\n \"border-bottom\",\n \"border-bottom-color\",\n \"border-bottom-left-radius\",\n \"border-bottom-right-radius\",\n \"border-bottom-style\",\n \"border-bottom-width\",\n \"border-collapse\",\n \"border-color\",\n \"border-end-end-radius\",\n \"border-end-start-radius\",\n \"border-image\",\n \"border-image-outset\",\n \"border-image-repeat\",\n \"border-image-slice\",\n \"border-image-source\",\n \"border-image-width\",\n \"border-inline\",\n \"border-inline-color\",\n \"border-inline-end\",\n \"border-inline-end-color\",\n \"border-inline-end-style\",\n \"border-inline-end-width\",\n \"border-inline-start\",\n \"border-inline-start-color\",\n \"border-inline-start-style\",\n \"border-inline-start-width\",\n \"border-inline-style\",\n \"border-inline-width\",\n \"border-left\",\n \"border-left-color\",\n \"border-left-style\",\n \"border-left-width\",\n \"border-radius\",\n \"border-right\",\n \"border-right-color\",\n \"border-right-style\",\n \"border-right-width\",\n \"border-spacing\",\n \"border-start-end-radius\",\n \"border-start-start-radius\",\n \"border-style\",\n \"border-top\",\n \"border-top-color\",\n \"border-top-left-radius\",\n \"border-top-right-radius\",\n \"border-top-style\",\n \"border-top-width\",\n \"border-width\",\n \"bottom\",\n \"box-align\",\n \"box-decoration-break\",\n \"box-flex\",\n \"box-ordinal-group\",\n \"box-orient\",\n \"box-pack\",\n \"box-shadow\",\n \"box-sizing\",\n \"break-after\",\n \"break-before\",\n \"break-inside\",\n \"caption-side\",\n \"caret-color\",\n \"clear\",\n \"clip\",\n \"clip-path\",\n \"clip-rule\",\n \"color\",\n \"color-interpolation\",\n \"color-interpolation-filters\",\n \"color-scheme\",\n \"column-count\",\n \"column-fill\",\n \"column-gap\",\n \"column-rule\",\n \"column-rule-color\",\n \"column-rule-style\",\n \"column-rule-width\",\n \"column-span\",\n \"column-width\",\n \"columns\",\n \"contain\",\n \"contain-intrinsic-block-size\",\n \"contain-intrinsic-height\",\n \"contain-intrinsic-inline-size\",\n \"contain-intrinsic-size\",\n \"contain-intrinsic-width\",\n \"container\",\n \"container-name\",\n \"container-type\",\n \"content\",\n \"content-visibility\",\n \"counter-increment\",\n \"counter-reset\",\n \"counter-set\",\n \"cursor\",\n \"cx\",\n \"cy\",\n \"d\",\n \"direction\",\n \"display\",\n \"dominant-baseline\",\n \"empty-cells\",\n \"fill\",\n \"fill-opacity\",\n \"fill-rule\",\n \"filter\",\n \"flex\",\n \"flex-basis\",\n \"flex-direction\",\n \"flex-flow\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"float\",\n \"flood-color\",\n \"flood-opacity\",\n \"font\",\n \"font-family\",\n \"font-feature-settings\",\n \"font-kerning\",\n \"font-optical-sizing\",\n \"font-palette\",\n \"font-size\",\n \"font-size-adjust\",\n \"font-stretch\",\n \"font-style\",\n \"font-synthesis\",\n \"font-synthesis-small-caps\",\n \"font-synthesis-style\",\n \"font-synthesis-weight\",\n \"font-variant\",\n \"font-variant-alternates\",\n \"font-variant-caps\",\n \"font-variant-east-asian\",\n \"font-variant-ligatures\",\n \"font-variant-numeric\",\n \"font-variant-position\",\n \"font-variation-settings\",\n \"font-weight\",\n \"forced-color-adjust\",\n \"gap\",\n \"grid\",\n \"grid-area\",\n \"grid-auto-columns\",\n \"grid-auto-flow\",\n \"grid-auto-rows\",\n \"grid-column\",\n \"grid-column-end\",\n \"grid-column-start\",\n \"grid-row\",\n \"grid-row-end\",\n \"grid-row-start\",\n \"grid-template\",\n \"grid-template-areas\",\n \"grid-template-columns\",\n \"grid-template-rows\",\n \"height\",\n \"hyphenate-character\",\n \"hyphenate-limit-chars\",\n \"hyphens\",\n \"image-orientation\",\n \"image-rendering\",\n \"inline-size\",\n \"inset\",\n \"inset-block\",\n \"inset-block-end\",\n \"inset-block-start\",\n \"inset-inline\",\n \"inset-inline-end\",\n \"inset-inline-start\",\n \"isolation\",\n \"justify-content\",\n \"justify-items\",\n \"justify-self\",\n \"left\",\n \"letter-spacing\",\n \"lighting-color\",\n \"line-break\",\n \"line-clamp\",\n \"line-height\",\n \"list-style\",\n \"list-style-image\",\n \"list-style-position\",\n \"list-style-type\",\n \"margin\",\n \"margin-block\",\n \"margin-block-end\",\n \"margin-block-start\",\n \"margin-bottom\",\n \"margin-inline\",\n \"margin-inline-end\",\n \"margin-inline-start\",\n \"margin-left\",\n \"margin-right\",\n \"margin-top\",\n \"marker\",\n \"marker-end\",\n \"marker-mid\",\n \"marker-start\",\n \"mask\",\n \"mask-border\",\n \"mask-border-outset\",\n \"mask-border-repeat\",\n \"mask-border-slice\",\n \"mask-border-source\",\n \"mask-border-width\",\n \"mask-clip\",\n \"mask-composite\",\n \"mask-image\",\n \"mask-mode\",\n \"mask-origin\",\n \"mask-position\",\n \"mask-repeat\",\n \"mask-size\",\n \"mask-type\",\n \"math-depth\",\n \"math-style\",\n \"max-block-size\",\n \"max-height\",\n \"max-inline-size\",\n \"max-width\",\n \"min-block-size\",\n \"min-height\",\n \"min-inline-size\",\n \"min-width\",\n \"mix-blend-mode\",\n \"object-fit\",\n \"object-position\",\n \"offset\",\n \"offset-anchor\",\n \"offset-distance\",\n \"offset-path\",\n \"offset-position\",\n \"offset-rotate\",\n \"opacity\",\n \"order\",\n \"orphans\",\n \"outline\",\n \"outline-color\",\n \"outline-offset\",\n \"outline-style\",\n \"outline-width\",\n \"overflow\",\n \"overflow-anchor\",\n \"overflow-block\",\n \"overflow-clip-margin\",\n \"overflow-inline\",\n \"overflow-wrap\",\n \"overflow-x\",\n \"overflow-y\",\n \"overscroll-behavior\",\n \"overscroll-behavior-block\",\n \"overscroll-behavior-inline\",\n \"overscroll-behavior-x\",\n \"overscroll-behavior-y\",\n \"padding\",\n \"padding-block\",\n \"padding-block-end\",\n \"padding-block-start\",\n \"padding-bottom\",\n \"padding-inline\",\n \"padding-inline-end\",\n \"padding-inline-start\",\n \"padding-left\",\n \"padding-right\",\n \"padding-top\",\n \"page\",\n \"page-break-after\",\n \"page-break-before\",\n \"page-break-inside\",\n \"paint-order\",\n \"perspective\",\n \"perspective-origin\",\n \"place-content\",\n \"place-items\",\n \"place-self\",\n \"pointer-events\",\n \"position\",\n \"print-color-adjust\",\n \"quotes\",\n \"r\",\n \"resize\",\n \"right\",\n \"rotate\",\n \"row-gap\",\n \"ruby-align\",\n \"ruby-position\",\n \"rx\",\n \"ry\",\n \"scale\",\n \"scroll-behavior\",\n \"scroll-margin\",\n \"scroll-margin-block\",\n \"scroll-margin-block-end\",\n \"scroll-margin-block-start\",\n \"scroll-margin-bottom\",\n \"scroll-margin-inline\",\n \"scroll-margin-inline-end\",\n \"scroll-margin-inline-start\",\n \"scroll-margin-left\",\n \"scroll-margin-right\",\n \"scroll-margin-top\",\n \"scroll-padding\",\n \"scroll-padding-block\",\n \"scroll-padding-block-end\",\n \"scroll-padding-block-start\",\n \"scroll-padding-bottom\",\n \"scroll-padding-inline\",\n \"scroll-padding-inline-end\",\n \"scroll-padding-inline-start\",\n \"scroll-padding-left\",\n \"scroll-padding-right\",\n \"scroll-padding-top\",\n \"scroll-snap-align\",\n \"scroll-snap-stop\",\n \"scroll-snap-type\",\n \"scrollbar-color\",\n \"scrollbar-gutter\",\n \"scrollbar-width\",\n \"shape-image-threshold\",\n \"shape-margin\",\n \"shape-outside\",\n \"shape-rendering\",\n \"stop-color\",\n \"stop-opacity\",\n \"stroke\",\n \"stroke-dasharray\",\n \"stroke-dashoffset\",\n \"stroke-linecap\",\n \"stroke-linejoin\",\n \"stroke-miterlimit\",\n \"stroke-opacity\",\n \"stroke-width\",\n \"tab-size\",\n \"table-layout\",\n \"text-align\",\n \"text-align-last\",\n \"text-anchor\",\n \"text-box\",\n \"text-box-edge\",\n \"text-box-trim\",\n \"text-combine-upright\",\n \"text-decoration\",\n \"text-decoration-color\",\n \"text-decoration-line\",\n \"text-decoration-skip-ink\",\n \"text-decoration-style\",\n \"text-decoration-thickness\",\n \"text-emphasis\",\n \"text-emphasis-color\",\n \"text-emphasis-position\",\n \"text-emphasis-style\",\n \"text-indent\",\n \"text-orientation\",\n \"text-overflow\",\n \"text-rendering\",\n \"text-shadow\",\n \"text-size-adjust\",\n \"text-transform\",\n \"text-underline-offset\",\n \"text-underline-position\",\n \"text-wrap\",\n \"text-wrap-mode\",\n \"text-wrap-style\",\n \"top\",\n \"touch-action\",\n \"transform\",\n \"transform-box\",\n \"transform-origin\",\n \"transform-style\",\n \"transition\",\n \"transition-behavior\",\n \"transition-delay\",\n \"transition-duration\",\n \"transition-property\",\n \"transition-timing-function\",\n \"translate\",\n \"unicode-bidi\",\n \"user-select\",\n \"vector-effect\",\n \"vertical-align\",\n \"view-transition-class\",\n \"view-transition-name\",\n \"visibility\",\n \"white-space\",\n \"white-space-collapse\",\n \"widows\",\n \"width\",\n \"will-change\",\n \"word-break\",\n \"word-spacing\",\n \"writing-mode\",\n \"x\",\n \"y\",\n \"z-index\",\n \"zoom\",\n] as const;\nexport const vendorProperties = [\n \"-webkit-appearance\",\n \"-webkit-backdrop-filter\",\n \"-webkit-line-clamp\",\n \"-webkit-mask\",\n \"-webkit-mask-image\",\n \"-webkit-mask-position\",\n \"-webkit-mask-size\",\n \"-webkit-text-fill-color\",\n \"-webkit-text-stroke\",\n \"-webkit-transform\",\n \"-webkit-user-select\",\n \"-moz-appearance\",\n \"-moz-osx-font-smoothing\",\n \"-moz-user-select\",\n \"-ms-overflow-style\",\n \"-ms-transform\",\n \"-ms-user-select\",\n] as const;\nexport const unitlessProperties = [\n \"animation-iteration-count\",\n \"aspect-ratio\",\n \"column-count\",\n \"fill-opacity\",\n \"flex\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flood-opacity\",\n \"font-weight\",\n \"grid-column\",\n \"grid-column-end\",\n \"grid-column-start\",\n \"grid-row\",\n \"grid-row-end\",\n \"grid-row-start\",\n \"line-clamp\",\n \"line-height\",\n \"opacity\",\n \"order\",\n \"orphans\",\n \"scale\",\n \"stop-opacity\",\n \"stroke-miterlimit\",\n \"stroke-opacity\",\n \"tab-size\",\n \"widows\",\n \"z-index\",\n \"zoom\",\n] as const satisfies readonly (typeof cssProperties)[number][];\n\nexport type CssProperty =\n | (typeof cssProperties)[number]\n | (typeof vendorProperties)[number]\n | `--${string}`;\ntype UnitlessProperty = (typeof unitlessProperties)[number];\ntype ZeroOnlyProperty = Exclude<CssProperty, UnitlessProperty | `--${string}`>;\nexport type CSSProperties = Readonly<\n Partial<Record<ZeroOnlyProperty, string | 0 | null | undefined>> &\n Partial<Record<UnitlessProperty | `--${string}`, string | number | null | undefined>>\n>;\n\nconst known = new Set<string>([...cssProperties, ...vendorProperties]);\nconst unitless = new Set<string>(unitlessProperties);\nconst customName = /^--[a-zA-Z0-9_-]+$/;\n\nexport function serializeStyle(value: unknown): string {\n if (typeof value === \"string\") return value;\n if (\n value === null ||\n typeof value !== \"object\" ||\n Object.getPrototypeOf(value) !== Object.prototype\n )\n throw new TypeError(\"ZR_STYLE: style must be a string or plain object\");\n let result = \"\";\n for (const [name, entry] of Object.entries(value)) {\n if (!known.has(name) && !customName.test(name))\n throw new TypeError(\n `ZR_STYLE: unsupported property ${name}; use a supported CSS-spelled name`,\n );\n if (entry == null) continue;\n if (typeof entry === \"string\") {\n result += `${name}:${entry};`;\n continue;\n }\n if (typeof entry !== \"number\" || !Number.isFinite(entry))\n throw new TypeError(`ZR_STYLE: invalid value for ${name}; use a string or finite number`);\n if (entry !== 0 && !unitless.has(name) && !name.startsWith(\"--\"))\n throw new TypeError(`ZR_STYLE: nonzero numeric ${name} requires explicit units in a string`);\n result += `${name}:${entry};`;\n }\n return result;\n}\n"]}
@@ -0,0 +1,27 @@
1
+ import { type Component, type Diagnostic, type IslandIdentity } from "./index.js";
2
+ import type { RootHandle } from "./root.js";
3
+ export interface IslandTestOptions {
4
+ /** The DOM document used to parse SSR markup and attach the host. */
5
+ document: Document;
6
+ /** Override the client identity to exercise identity failure cases explicitly. */
7
+ identity?: IslandIdentity;
8
+ }
9
+ export interface IslandTest {
10
+ readonly html: string;
11
+ readonly host: Element;
12
+ /** Change this before activation to test a mismatched client identity. */
13
+ identity: IslandIdentity;
14
+ readonly diagnostics: Diagnostic[];
15
+ hydrate(): RootHandle | null;
16
+ mount(): RootHandle | null;
17
+ flush(): Promise<void>;
18
+ dispose(): void;
19
+ }
20
+ /** Render one real island, parse it into a connected host, then activate it on demand. */
21
+ export declare function createIslandTest<P extends Record<string, unknown>>(component: Component<P>, props: P, options: IslandTestOptions): IslandTest;
22
+ export interface IslandTestContextOptions {
23
+ components: Readonly<Record<string, Component<any>>> | readonly Component<any>[];
24
+ build?: string;
25
+ }
26
+ /** Supply scanner metadata to synchronous full-page SDK Island rendering. */
27
+ export declare function withIslandTestContext<T>(options: IslandTestContextOptions, callback: () => T): T;