vintage-frames 0.7.2 → 0.8.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.
@@ -30,6 +30,11 @@
30
30
  "name": "fixed",
31
31
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
32
32
  "values": []
33
+ },
34
+ {
35
+ "name": "origin",
36
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
37
+ "values": [{ "name": "PlacementOrigin" }]
33
38
  }
34
39
  ],
35
40
  "references": []
@@ -102,6 +107,11 @@
102
107
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
103
108
  "values": []
104
109
  },
110
+ {
111
+ "name": "origin",
112
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
113
+ "values": [{ "name": "PlacementOrigin" }]
114
+ },
105
115
  {
106
116
  "name": "description",
107
117
  "description": "Description for the control — hint text, a format, a unit. A host-level\n`aria-describedby` cannot reach a focusable element inside a shadow root,\nso there was structurally no way to describe a field; this property is\nthat channel. It renders as a hidden span in the control's own shadow root\nwith the inner control's `aria-describedby` pointing at it — the\nshadow-internal IDREF idiom `vf-dialog`'s title patch already uses. A\nhost-level `aria-describedby` is bridged into the same span when this\nproperty is empty, and a failing constraint's validationMessage\njoins it too, so AT hears the error where it hears the hint.\n\nHost-role controls get neither half: their `aria-describedby` already\nworks, and their validation message reaches AT the way a native control's\ndoes — `aria-invalid` plus the browser's own validation UI, not AccName.",
@@ -154,6 +164,11 @@
154
164
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
155
165
  "values": []
156
166
  },
167
+ {
168
+ "name": "origin",
169
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
170
+ "values": [{ "name": "PlacementOrigin" }]
171
+ },
157
172
  {
158
173
  "name": "disabled",
159
174
  "description": "Disables the control: it stops responding and submits no value. Each\ncontrol dims per SPEC §1 (typically the label greys while the 1-bit chrome\nstays black).",
@@ -205,6 +220,11 @@
205
220
  "name": "fixed",
206
221
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
207
222
  "values": []
223
+ },
224
+ {
225
+ "name": "origin",
226
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
227
+ "values": [{ "name": "PlacementOrigin" }]
208
228
  }
209
229
  ],
210
230
  "references": []
@@ -247,22 +267,27 @@
247
267
  "name": "fixed",
248
268
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
249
269
  "values": []
270
+ },
271
+ {
272
+ "name": "origin",
273
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
274
+ "values": [{ "name": "PlacementOrigin" }]
250
275
  }
251
276
  ],
252
277
  "references": []
253
278
  },
254
279
  {
255
280
  "name": "vf-dialog",
256
- "description": "`<vf-dialog>` — the System 7 modal dialog shell.\n\nTwo chromes, one modal lifecycle (native `<dialog>` for top-layer rendering\nand focus trapping, with a fully transparent backdrop — no dimming). Both\nare the same dBoxProc double frame — 1px outer rule, 2px gap, 2px inner\nband, no shadow (vfModalFrame):\n\n- **Default:** the movable modal (movableDBoxProc) — the striped title bar\n set into the top of that frame, with a centered title over a white body.\n Drag the title bar to move it. `closable` adds the standard close box\n (left of the bar) — the HIG's own figures disagree on whether a movable\n modal carries one (Figure 5-1 says yes, Figure 6-1 and the Chapter 6 text\n say no), so the component enables either reading rather than enforcing\n one.\n- **`frame=\"plain\"`:** the modal dialog box — the bare frame, no title bar —\n and immovable, like the original. A `heading` renders as a centered\n display-face heading at the top of the body (the reference art's \"Dialog\n title\"); `closable` is ignored, there being no bar to carry the widget.\n\nOpen it with `show()` (or set the `open` attribute/property); close with\n`close()`. Escape closes it and fires `vf-close` with\n`{ reason: 'escape' }`; the close box and programmatic closing fire\n`{ reason: 'close' }`. With `light-dismiss`, a click outside the frame\ncloses it too, with `{ reason: 'outside' }` — for the About box; off by\ndefault, since the classic modal ignored an outside click.\n\nKeyboard, the classic Dialog Manager's two rules (VfModalDialog):\non open, focus goes to the first text-entry control — a slotted control\nwith `autofocus` first — or, with none, to the default button\n(`vf-button variant=\"default\"`). Return or Enter activates the default\nbutton from anywhere in the dialog, a focused Cancel included; Space\npresses the focused control. A link keeps its own Enter, and in a\nmulti-line editor Return inserts the newline while the keypad's Enter\nactivates the button.\n---\n\n\n### **Events:**\n - **vf-close** - Dialog closed. Detail `{ reason: 'escape' | 'close' | 'outside' }` — `'outside'` only under `light-dismiss`.\n\n### **Slots:**\n - _default_ - Default slot: dialog body content.\n- **buttons** - Optional action buttons. Rendered as a bottom-right `vf-button-group` (equal-width, faces aligned); the footer only takes space when the slot is populated.\n\n### **CSS Properties:**\n - **--vf-dots-pattern** - the windoid bar's dot-grid dither — a 2×2 tile, one black pixel at the origin (`vfDots`; override the whole pattern like `--vf-desktop-pattern`) _(default: undefined)_\n- **--vf-titlebar-height** - window/dialog title bars _(default: undefined)_\n- **--vf-scrollbar-thumb** - scrollbar thumb/elevator (white) _(default: undefined)_\n- **--vf-scrollbar-track** - the scroll trough's base color under the dot-dither (white) _(default: undefined)_\n\n### **CSS Parts:**\n - **frame** - The outer frame (the double frame's 1px rule; the bar and the inner band sit inside it).\n- **title-bar** - The striped title bar (default chrome only).\n- **title** - The centered title patch (or the plain-frame heading).\n- **close-box** - The close widget (`closable`, default chrome only).\n- **body** - The white content area.\n- **content** - The scrolling region inside the body (heading + slotted content, not the footer). Inert while the content fits; over-stuffed, it scrolls under a System 7 rail and becomes a keyboard stop.\n- **footer** - The action row wrapping the buttons.\n- **buttons** - The button group inside the footer.",
281
+ "description": "`<vf-dialog>` — the System 7 modal dialog shell.\n\nTwo chromes, one modal lifecycle (native `<dialog>` for top-layer rendering\nand focus trapping, with a fully transparent backdrop — no dimming). Both\nare the same dBoxProc double frame — 1px outer rule, 2px gap, 2px inner\nband, no shadow (vfModalFrame):\n\n- **Default:** the movable modal (movableDBoxProc) — the striped title bar\n set into the top of that frame, with a centered title over a white body.\n Drag the title bar to move it. `closable` adds the standard close box\n (left of the bar) — the HIG's own figures disagree on whether a movable\n modal carries one (Figure 5-1 says yes, Figure 6-1 and the Chapter 6 text\n say no), so the component enables either reading rather than enforcing\n one.\n- **`frame=\"plain\"`:** the modal dialog box — the bare frame, no title bar —\n and immovable, like the original. With no bar, `heading` only names the\n dialog and `closable` is ignored.\n\nOpen it with `show()` (or set the `open` attribute/property); close with\n`close()`. Escape closes it and fires `vf-close` with\n`{ reason: 'escape' }`; the close box and programmatic closing fire\n`{ reason: 'close' }`. With `light-dismiss`, a click outside the frame\ncloses it too, with `{ reason: 'outside' }` — for the About box; off by\ndefault, since the classic modal ignored an outside click.\n\nKeyboard, the classic Dialog Manager's two rules (VfModalDialog):\non open, focus goes to the first text-entry control — a slotted control\nwith `autofocus` first — or, with none, to the default button\n(`vf-button variant=\"default\"`). Return or Enter activates the default\nbutton from anywhere in the dialog, a focused Cancel included; Space\npresses the focused control. A link keeps its own Enter, and in a\nmulti-line editor Return inserts the newline while the keypad's Enter\nactivates the button.\n\nSlotted children placed with `top`/`left` measure from the content region's\ncorner — the frame's inner edge, below the title bar — and flow content\nstarts at the same corner.\n---\n\n\n### **Events:**\n - **vf-close** - Dialog closed. Detail `{ reason: 'escape' | 'close' | 'outside' }` — `'outside'` only under `light-dismiss`.\n\n### **Slots:**\n - _default_ - Default slot: the dialog's content.\n\n### **CSS Properties:**\n - **--vf-dots-pattern** - the windoid bar's dot-grid dither — a 2×2 tile, one black pixel at the origin (`vfDots`; override the whole pattern like `--vf-desktop-pattern`) _(default: undefined)_\n- **--vf-titlebar-height** - window/dialog title bars _(default: undefined)_\n- **--vf-scrollbar-thumb** - scrollbar thumb/elevator (white) _(default: undefined)_\n- **--vf-scrollbar-track** - the scroll trough's base color under the dot-dither (white) _(default: undefined)_\n\n### **CSS Parts:**\n - **frame** - The outer frame (the double frame's 1px rule; the bar and the inner band sit inside it).\n- **title-bar** - The striped title bar (default chrome only).\n- **title** - The centered title patch (default chrome only).\n- **close-box** - The close widget (`closable`, default chrome only).\n- **body** - The white content region.\n- **content** - The scrolling region inside the body (the slotted content). Inert while the content fits; over-stuffed, it scrolls under a System 7 rail and becomes a keyboard stop.",
257
282
  "attributes": [
258
283
  {
259
284
  "name": "heading",
260
- "description": "Title text: the bar's centered patch, or the plain frame's heading.",
285
+ "description": "Title text: the bar's centered patch, and the dialog's accessible name.\nWith `frame=\"plain\"`, which has no bar, it only names the dialog.",
261
286
  "values": []
262
287
  },
263
288
  {
264
289
  "name": "label",
265
- "description": "Accessible name for the dialog (`aria-label`), for a dialog with no\n`heading` — an untitled title bar has no text to be named by. Ignored when\nempty and a `heading` is set (the title patch names the dialog then);\ndefaults to `'Dialog'` when neither is given.",
290
+ "description": "Accessible name for the dialog (`aria-label`), for a dialog with no\n`heading` — an untitled title bar has no text to be named by. Ignored when\nempty and a `heading` is set (the heading names the dialog then);\ndefaults to `'Dialog'` when neither is given.",
266
291
  "values": []
267
292
  },
268
293
  {
@@ -331,6 +356,11 @@
331
356
  "name": "fixed",
332
357
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
333
358
  "values": []
359
+ },
360
+ {
361
+ "name": "origin",
362
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
363
+ "values": [{ "name": "PlacementOrigin" }]
334
364
  }
335
365
  ],
336
366
  "references": []
@@ -388,6 +418,11 @@
388
418
  "name": "fixed",
389
419
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
390
420
  "values": []
421
+ },
422
+ {
423
+ "name": "origin",
424
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
425
+ "values": [{ "name": "PlacementOrigin" }]
391
426
  }
392
427
  ],
393
428
  "references": []
@@ -430,6 +465,11 @@
430
465
  "name": "fixed",
431
466
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
432
467
  "values": []
468
+ },
469
+ {
470
+ "name": "origin",
471
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
472
+ "values": [{ "name": "PlacementOrigin" }]
433
473
  }
434
474
  ],
435
475
  "references": []
@@ -507,6 +547,11 @@
507
547
  "name": "fixed",
508
548
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
509
549
  "values": []
550
+ },
551
+ {
552
+ "name": "origin",
553
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
554
+ "values": [{ "name": "PlacementOrigin" }]
510
555
  }
511
556
  ],
512
557
  "references": []
@@ -539,6 +584,11 @@
539
584
  "name": "fixed",
540
585
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
541
586
  "values": []
587
+ },
588
+ {
589
+ "name": "origin",
590
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
591
+ "values": [{ "name": "PlacementOrigin" }]
542
592
  }
543
593
  ],
544
594
  "references": []
@@ -586,6 +636,11 @@
586
636
  "name": "fixed",
587
637
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
588
638
  "values": []
639
+ },
640
+ {
641
+ "name": "origin",
642
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
643
+ "values": [{ "name": "PlacementOrigin" }]
589
644
  }
590
645
  ],
591
646
  "references": []
@@ -623,6 +678,11 @@
623
678
  "name": "fixed",
624
679
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
625
680
  "values": []
681
+ },
682
+ {
683
+ "name": "origin",
684
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
685
+ "values": [{ "name": "PlacementOrigin" }]
626
686
  }
627
687
  ],
628
688
  "references": []
@@ -665,6 +725,11 @@
665
725
  "name": "fixed",
666
726
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
667
727
  "values": []
728
+ },
729
+ {
730
+ "name": "origin",
731
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
732
+ "values": [{ "name": "PlacementOrigin" }]
668
733
  }
669
734
  ],
670
735
  "references": []
@@ -702,6 +767,11 @@
702
767
  "name": "fixed",
703
768
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
704
769
  "values": []
770
+ },
771
+ {
772
+ "name": "origin",
773
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
774
+ "values": [{ "name": "PlacementOrigin" }]
705
775
  }
706
776
  ],
707
777
  "references": []
@@ -754,6 +824,11 @@
754
824
  "name": "fixed",
755
825
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
756
826
  "values": []
827
+ },
828
+ {
829
+ "name": "origin",
830
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
831
+ "values": [{ "name": "PlacementOrigin" }]
757
832
  }
758
833
  ],
759
834
  "references": []
@@ -791,6 +866,11 @@
791
866
  "name": "fixed",
792
867
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
793
868
  "values": []
869
+ },
870
+ {
871
+ "name": "origin",
872
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
873
+ "values": [{ "name": "PlacementOrigin" }]
794
874
  }
795
875
  ],
796
876
  "references": []
@@ -829,6 +909,11 @@
829
909
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
830
910
  "values": []
831
911
  },
912
+ {
913
+ "name": "origin",
914
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
915
+ "values": [{ "name": "PlacementOrigin" }]
916
+ },
832
917
  {
833
918
  "name": "value",
834
919
  "description": "Current value. Synced on every keystroke and submitted with forms.",
@@ -910,6 +995,11 @@
910
995
  "name": "fixed",
911
996
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
912
997
  "values": []
998
+ },
999
+ {
1000
+ "name": "origin",
1001
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
1002
+ "values": [{ "name": "PlacementOrigin" }]
913
1003
  }
914
1004
  ],
915
1005
  "references": []
@@ -952,6 +1042,11 @@
952
1042
  "name": "fixed",
953
1043
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
954
1044
  "values": []
1045
+ },
1046
+ {
1047
+ "name": "origin",
1048
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
1049
+ "values": [{ "name": "PlacementOrigin" }]
955
1050
  }
956
1051
  ],
957
1052
  "references": []
@@ -994,6 +1089,11 @@
994
1089
  "name": "fixed",
995
1090
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
996
1091
  "values": []
1092
+ },
1093
+ {
1094
+ "name": "origin",
1095
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
1096
+ "values": [{ "name": "PlacementOrigin" }]
997
1097
  }
998
1098
  ],
999
1099
  "references": []
@@ -1032,6 +1132,11 @@
1032
1132
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
1033
1133
  "values": []
1034
1134
  },
1135
+ {
1136
+ "name": "origin",
1137
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
1138
+ "values": [{ "name": "PlacementOrigin" }]
1139
+ },
1035
1140
  {
1036
1141
  "name": "disabled",
1037
1142
  "description": "Disables the control: it stops responding and submits no value. Each\ncontrol dims per SPEC §1 (typically the label greys while the 1-bit chrome\nstays black).",
@@ -1078,6 +1183,11 @@
1078
1183
  "name": "fixed",
1079
1184
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
1080
1185
  "values": []
1186
+ },
1187
+ {
1188
+ "name": "origin",
1189
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
1190
+ "values": [{ "name": "PlacementOrigin" }]
1081
1191
  }
1082
1192
  ],
1083
1193
  "references": []
@@ -1119,6 +1229,11 @@
1119
1229
  "name": "fixed",
1120
1230
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
1121
1231
  "values": []
1232
+ },
1233
+ {
1234
+ "name": "origin",
1235
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
1236
+ "values": [{ "name": "PlacementOrigin" }]
1122
1237
  }
1123
1238
  ],
1124
1239
  "references": []
@@ -1157,6 +1272,11 @@
1157
1272
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
1158
1273
  "values": []
1159
1274
  },
1275
+ {
1276
+ "name": "origin",
1277
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
1278
+ "values": [{ "name": "PlacementOrigin" }]
1279
+ },
1160
1280
  {
1161
1281
  "name": "description",
1162
1282
  "description": "Description for the control — hint text, a format, a unit. A host-level\n`aria-describedby` cannot reach a focusable element inside a shadow root,\nso there was structurally no way to describe a field; this property is\nthat channel. It renders as a hidden span in the control's own shadow root\nwith the inner control's `aria-describedby` pointing at it — the\nshadow-internal IDREF idiom `vf-dialog`'s title patch already uses. A\nhost-level `aria-describedby` is bridged into the same span when this\nproperty is empty, and a failing constraint's validationMessage\njoins it too, so AT hears the error where it hears the hint.\n\nHost-role controls get neither half: their `aria-describedby` already\nworks, and their validation message reaches AT the way a native control's\ndoes — `aria-invalid` plus the browser's own validation UI, not AccName.",
@@ -1198,6 +1318,11 @@
1198
1318
  "name": "fixed",
1199
1319
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
1200
1320
  "values": []
1321
+ },
1322
+ {
1323
+ "name": "origin",
1324
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
1325
+ "values": [{ "name": "PlacementOrigin" }]
1201
1326
  }
1202
1327
  ],
1203
1328
  "references": []
@@ -1251,6 +1376,11 @@
1251
1376
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
1252
1377
  "values": []
1253
1378
  },
1379
+ {
1380
+ "name": "origin",
1381
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
1382
+ "values": [{ "name": "PlacementOrigin" }]
1383
+ },
1254
1384
  {
1255
1385
  "name": "disabled",
1256
1386
  "description": "Disables the control: it stops responding and submits no value. Each\ncontrol dims per SPEC §1 (typically the label greys while the 1-bit chrome\nstays black).",
@@ -1312,6 +1442,11 @@
1312
1442
  "name": "fixed",
1313
1443
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
1314
1444
  "values": []
1445
+ },
1446
+ {
1447
+ "name": "origin",
1448
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
1449
+ "values": [{ "name": "PlacementOrigin" }]
1315
1450
  }
1316
1451
  ],
1317
1452
  "references": []
@@ -1365,6 +1500,11 @@
1365
1500
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
1366
1501
  "values": []
1367
1502
  },
1503
+ {
1504
+ "name": "origin",
1505
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
1506
+ "values": [{ "name": "PlacementOrigin" }]
1507
+ },
1368
1508
  {
1369
1509
  "name": "description",
1370
1510
  "description": "Description for the control — hint text, a format, a unit. A host-level\n`aria-describedby` cannot reach a focusable element inside a shadow root,\nso there was structurally no way to describe a field; this property is\nthat channel. It renders as a hidden span in the control's own shadow root\nwith the inner control's `aria-describedby` pointing at it — the\nshadow-internal IDREF idiom `vf-dialog`'s title patch already uses. A\nhost-level `aria-describedby` is bridged into the same span when this\nproperty is empty, and a failing constraint's validationMessage\njoins it too, so AT hears the error where it hears the hint.\n\nHost-role controls get neither half: their `aria-describedby` already\nworks, and their validation message reaches AT the way a native control's\ndoes — `aria-invalid` plus the browser's own validation UI, not AccName.",
@@ -1402,6 +1542,11 @@
1402
1542
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
1403
1543
  "values": []
1404
1544
  },
1545
+ {
1546
+ "name": "origin",
1547
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
1548
+ "values": [{ "name": "PlacementOrigin" }]
1549
+ },
1405
1550
  {
1406
1551
  "name": "value",
1407
1552
  "description": "Current value. Synced on every keystroke and submitted with forms.",
@@ -1469,6 +1614,11 @@
1469
1614
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
1470
1615
  "values": []
1471
1616
  },
1617
+ {
1618
+ "name": "origin",
1619
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
1620
+ "values": [{ "name": "PlacementOrigin" }]
1621
+ },
1472
1622
  {
1473
1623
  "name": "value",
1474
1624
  "description": "Current value. Synced on every keystroke and submitted with forms.",
@@ -1609,6 +1759,11 @@
1609
1759
  "name": "fixed",
1610
1760
  "description": "Hold the placement against the visible region of the nearest scrolling\nancestor: the element keeps its stated `top`/`left` while the content\nscrolls under it, and the flag alone places it at (0,0). It comes\nbefore the flow content in its parent. Where nothing scrolls it renders\nexactly as placed.",
1611
1761
  "values": []
1762
+ },
1763
+ {
1764
+ "name": "origin",
1765
+ "description": "Which point of the element's own box `top`/`left` place: one of nine\nkeywords, vertical then horizontal — `top left` (the default), `top\ncenter`, `top right`, `center left`, `center`, `center right`, `bottom\nleft`, `bottom center`, `bottom right`. The point is measured in whole\nsystem px and kept current as the box changes; an odd size's leftover\nhalf goes toward the start. An unknown value places as `top left` and\nwarns once. On its own it places nothing.",
1766
+ "values": [{ "name": "PlacementOrigin" }]
1612
1767
  }
1613
1768
  ],
1614
1769
  "references": []