@takazudo/zfb 4.4.0 → 4.5.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.
Files changed (38) hide show
  1. package/README.md +14 -0
  2. package/dist/css.d.ts +45 -0
  3. package/dist/css.js +137 -0
  4. package/dist/css.js.map +1 -0
  5. package/dist/zudo-react/dom-bindings.js +11 -5
  6. package/dist/zudo-react/dom-bindings.js.map +1 -1
  7. package/dist/zudo-react/error-boundary-client.d.ts +3 -0
  8. package/dist/zudo-react/error-boundary-client.js +232 -0
  9. package/dist/zudo-react/error-boundary-client.js.map +1 -0
  10. package/dist/zudo-react/error-boundary-type.d.ts +8 -0
  11. package/dist/zudo-react/error-boundary-type.js +25 -0
  12. package/dist/zudo-react/error-boundary-type.js.map +1 -0
  13. package/dist/zudo-react/error-boundary.d.ts +8 -0
  14. package/dist/zudo-react/error-boundary.js +13 -0
  15. package/dist/zudo-react/error-boundary.js.map +1 -0
  16. package/dist/zudo-react/form-recovery.d.ts +2 -0
  17. package/dist/zudo-react/form-recovery.js +116 -0
  18. package/dist/zudo-react/form-recovery.js.map +1 -0
  19. package/dist/zudo-react/forms.d.ts +38 -4
  20. package/dist/zudo-react/forms.js +143 -172
  21. package/dist/zudo-react/forms.js.map +1 -1
  22. package/dist/zudo-react/hydrate.d.ts +68 -0
  23. package/dist/zudo-react/hydrate.js +177 -89
  24. package/dist/zudo-react/hydrate.js.map +1 -1
  25. package/dist/zudo-react/index.d.ts +1 -0
  26. package/dist/zudo-react/index.js +1 -0
  27. package/dist/zudo-react/index.js.map +1 -1
  28. package/dist/zudo-react/render-html.js +55 -10
  29. package/dist/zudo-react/render-html.js.map +1 -1
  30. package/dist/zudo-react/scope.d.ts +21 -13
  31. package/dist/zudo-react/scope.js +141 -113
  32. package/dist/zudo-react/scope.js.map +1 -1
  33. package/dist/zudo-react/style.d.ts +0 -1
  34. package/dist/zudo-react/style.js +11 -503
  35. package/dist/zudo-react/style.js.map +1 -1
  36. package/dist/zudo-react/vocabulary.js +12 -49
  37. package/dist/zudo-react/vocabulary.js.map +1 -1
  38. package/package.json +11 -7
@@ -1,499 +1,9 @@
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
- ];
1
+ function words(value) {
2
+ return value.split(" ");
3
+ }
4
+ export const cssProperties = words("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");
5
+ export const vendorProperties = words("-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");
6
+ export const unitlessProperties = words("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");
497
7
  const known = new Set([...cssProperties, ...vendorProperties]);
498
8
  const unitless = new Set(unitlessProperties);
499
9
  const customName = /^--[a-zA-Z0-9_-]+$/;
@@ -510,14 +20,12 @@ export function serializeStyle(value) {
510
20
  throw new TypeError(`ZR_STYLE: unsupported property ${name}; use a supported CSS-spelled name`);
511
21
  if (entry == null)
512
22
  continue;
513
- if (typeof entry === "string") {
514
- result += `${name}:${entry};`;
515
- continue;
23
+ if (typeof entry !== "string") {
24
+ if (typeof entry !== "number" || !Number.isFinite(entry))
25
+ throw new TypeError(`ZR_STYLE: invalid value for ${name}; use a string or finite number`);
26
+ if (entry !== 0 && !unitless.has(name) && !name.startsWith("--"))
27
+ throw new TypeError(`ZR_STYLE: nonzero numeric ${name} requires explicit units in a string`);
516
28
  }
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
29
  result += `${name}:${entry};`;
522
30
  }
523
31
  return result;
@@ -1 +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"]}
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/zudo-react/style.ts"],"names":[],"mappings":"AAMA,SAAS,KAAK,CAAmB,KAAQ;IACvC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAC;AACjD,CAAC;AACD,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAChC,2nNAA2nN,CAC5nN,CAAC;AACF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CACnC,mUAAmU,CACpU,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CACrC,wUAAwU,CACrR,CAAC;AAatD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,aAAa,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;AACvE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,kBAAkB,CAAC,CAAC;AACrD,MAAM,UAAU,GAAG,oBAAoB,CAAC;AAExC,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IACE,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS;QAEjD,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;IAC1E,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,MAAM,IAAI,SAAS,CACjB,kCAAkC,IAAI,oCAAoC,CAC3E,CAAC;QACJ,IAAI,KAAK,IAAI,IAAI;YAAE,SAAS;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACtD,MAAM,IAAI,SAAS,CAAC,+BAA+B,IAAI,iCAAiC,CAAC,CAAC;YAC5F,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC9D,MAAM,IAAI,SAAS,CACjB,6BAA6B,IAAI,sCAAsC,CACxE,CAAC;QACN,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC","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.\ntype Words<S extends string, R extends string[] = []> = S extends `${infer Head} ${infer Tail}`\n ? Words<Tail, [...R, Head]>\n : readonly [...R, S];\nfunction words<S extends string>(value: S): Words<S> {\n return value.split(\" \") as unknown as Words<S>;\n}\nexport const cssProperties = words(\n \"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\",\n);\nexport const vendorProperties = words(\n \"-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\",\n);\nexport const unitlessProperties = words(\n \"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\",\n) 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 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(\n `ZR_STYLE: nonzero numeric ${name} requires explicit units in a string`,\n );\n }\n result += `${name}:${entry};`;\n }\n return result;\n}\n"]}