@fusion.dev/helix-headless 0.103.2 → 0.103.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +254 -80
- package/dist/map/root/map-root.d.ts +15 -126
- package/dist/map/root/map-root.js +6 -140
- package/package.json +5 -5
- package/types/jsx.d.ts +226 -252
- package/types/vue.d.ts +67 -75
package/types/jsx.d.ts
CHANGED
|
@@ -9396,56 +9396,61 @@ export type HelixHeadlessMapHelixMapZoomElementEvent =
|
|
|
9396
9396
|
HelixHeadlessMapElementEvent<HelixMapZoomEvent>;
|
|
9397
9397
|
|
|
9398
9398
|
export type HelixHeadlessMapProps = {
|
|
9399
|
-
/**
|
|
9400
|
-
|
|
9401
|
-
|
|
9402
|
-
|
|
9403
|
-
|
|
9404
|
-
|
|
9405
|
-
|
|
9406
|
-
|
|
9407
|
-
|
|
9408
|
-
|
|
9409
|
-
|
|
9410
|
-
|
|
9411
|
-
|
|
9412
|
-
|
|
9413
|
-
|
|
9414
|
-
|
|
9415
|
-
|
|
9416
|
-
|
|
9417
|
-
|
|
9418
|
-
|
|
9399
|
+
/** Accessible name for the map, which is the one thing a consumer must write.
|
|
9400
|
+
|
|
9401
|
+
There is no sensible default. "Map" names the widget rather than the place,
|
|
9402
|
+
and a reader meeting three of them on a page learns nothing from hearing the
|
|
9403
|
+
same word three times.
|
|
9404
|
+
|
|
9405
|
+
**The region is a tab stop**, so the keys are reachable however the controls
|
|
9406
|
+
are configured: the listener is on the region, and without a stop of its own
|
|
9407
|
+
a frame at `controls="none"` around a map with nothing focusable in it had
|
|
9408
|
+
arrow keys no reader could ever press. `aria-keyshortcuts` says which keys
|
|
9409
|
+
rather than spelling them into the name, which would otherwise be read out
|
|
9410
|
+
at every encounter. */
|
|
9411
|
+
label?: (HelixHeadlessMap["label"]) | undefined;
|
|
9412
|
+
/** Which of the controls this surface draws, as a list of what to keep.
|
|
9413
|
+
|
|
9414
|
+
**A list rather than a switch, because the overlap is not symmetric.** A
|
|
9415
|
+
surface a consumer brings often has zoom controls of its own and almost
|
|
9416
|
+
never has pan buttons, so a single switch would make them choose between
|
|
9417
|
+
a duplicate and nothing.
|
|
9418
|
+
|
|
9419
|
+
`none` draws none of them, which is the right answer where what was
|
|
9420
|
+
slotted already has controls a reader can find: what this argues for is
|
|
9421
|
+
that *a* findable control exists, never that it is ours. The methods stay
|
|
9422
|
+
public either way, so a consumer drawing their own chrome can still drive
|
|
9423
|
+
the surface.
|
|
9424
|
+
|
|
9425
|
+
Absent is all three, which is this library's rule that a resting value is
|
|
9426
|
+
an attribute's absence, and it is what the stylesheet asks about: the
|
|
9427
|
+
layout rules are written against `[controls]:not([controls~="zoom"])`
|
|
9428
|
+
rather than the bare negation, or a surface that named no list at all
|
|
9429
|
+
would be laid out as though it had dropped everything. */
|
|
9419
9430
|
controls?: (HelixHeadlessMap["controls"]) | undefined;
|
|
9420
9431
|
/** Which corner the controls sit in.
|
|
9421
9432
|
|
|
9422
|
-
**Configurable because there is no safe default**,
|
|
9423
|
-
rather than a taste:
|
|
9424
|
-
|
|
9425
|
-
|
|
9426
|
-
libraries made it a setting too.
|
|
9433
|
+
**Configurable because there is no safe default**, which is a collision
|
|
9434
|
+
rather than a taste: whatever a consumer slots may put its own controls
|
|
9435
|
+
in any corner, and every library that draws some made this a setting for
|
|
9436
|
+
the same reason.
|
|
9427
9437
|
|
|
9428
9438
|
Logical corners rather than left and right, so a right-to-left page moves
|
|
9429
|
-
them without a consumer writing a second rule.
|
|
9430
|
-
|
|
9431
|
-
|
|
9432
|
-
an attribute's absence: a default that reflected would write an attribute
|
|
9433
|
-
onto every host that no server sent and nobody asked for. */
|
|
9439
|
+
them without a consumer writing a second rule. Absent is the top end, a
|
|
9440
|
+
resting value being an attribute's absence: a default that reflected
|
|
9441
|
+
would write an attribute onto every host that no server sent. */
|
|
9434
9442
|
"controls-placement"?: (HelixHeadlessMap["controlsPlacement"]) | undefined;
|
|
9435
9443
|
/** Which corner the controls sit in.
|
|
9436
9444
|
|
|
9437
|
-
**Configurable because there is no safe default**,
|
|
9438
|
-
rather than a taste:
|
|
9439
|
-
|
|
9440
|
-
|
|
9441
|
-
libraries made it a setting too.
|
|
9445
|
+
**Configurable because there is no safe default**, which is a collision
|
|
9446
|
+
rather than a taste: whatever a consumer slots may put its own controls
|
|
9447
|
+
in any corner, and every library that draws some made this a setting for
|
|
9448
|
+
the same reason.
|
|
9442
9449
|
|
|
9443
9450
|
Logical corners rather than left and right, so a right-to-left page moves
|
|
9444
|
-
them without a consumer writing a second rule.
|
|
9445
|
-
|
|
9446
|
-
|
|
9447
|
-
an attribute's absence: a default that reflected would write an attribute
|
|
9448
|
-
onto every host that no server sent and nobody asked for. */
|
|
9451
|
+
them without a consumer writing a second rule. Absent is the top end, a
|
|
9452
|
+
resting value being an attribute's absence: a default that reflected
|
|
9453
|
+
would write an attribute onto every host that no server sent. */
|
|
9449
9454
|
controlsPlacement?: (HelixHeadlessMap["controlsPlacement"]) | undefined;
|
|
9450
9455
|
/** What the control that fills the screen is called. */
|
|
9451
9456
|
"fullscreen-label"?: (HelixHeadlessMap["fullscreenLabel"]) | undefined;
|
|
@@ -9453,54 +9458,41 @@ onto every host that no server sent and nobody asked for. */
|
|
|
9453
9458
|
fullscreenLabel?: (HelixHeadlessMap["fullscreenLabel"]) | undefined;
|
|
9454
9459
|
/** How long the reader may be still before the chrome hides, in milliseconds.
|
|
9455
9460
|
|
|
9456
|
-
Zero keeps it up, which is the default:
|
|
9457
|
-
reader operates
|
|
9458
|
-
component undoing its own argument. Set it for a display
|
|
9461
|
+
Zero keeps it up, which is the default: these controls are how a keyboard
|
|
9462
|
+
reader operates the surface, and chrome that hid itself by default would
|
|
9463
|
+
be the component undoing its own argument. Set it for a display nobody
|
|
9464
|
+
drives. */
|
|
9459
9465
|
"idle-delay"?: (HelixHeadlessMap["idleDelay"] | `${number}`) | undefined;
|
|
9460
9466
|
/** How long the reader may be still before the chrome hides, in milliseconds.
|
|
9461
9467
|
|
|
9462
|
-
Zero keeps it up, which is the default:
|
|
9463
|
-
reader operates
|
|
9464
|
-
component undoing its own argument. Set it for a display
|
|
9468
|
+
Zero keeps it up, which is the default: these controls are how a keyboard
|
|
9469
|
+
reader operates the surface, and chrome that hid itself by default would
|
|
9470
|
+
be the component undoing its own argument. Set it for a display nobody
|
|
9471
|
+
drives. */
|
|
9465
9472
|
idleDelay?: (HelixHeadlessMap["idleDelay"]) | undefined;
|
|
9466
|
-
/**
|
|
9467
|
-
|
|
9468
|
-
There is no sensible default. "Map" names the widget rather than the place,
|
|
9469
|
-
and a reader meeting three of them on a page learns nothing from hearing the
|
|
9470
|
-
same word three times.
|
|
9471
|
-
|
|
9472
|
-
**The region is a tab stop**, so the keys are reachable however the controls
|
|
9473
|
-
are configured: the listener is on the region, and without a stop of its own
|
|
9474
|
-
a frame at `controls="none"` around a map with nothing focusable in it had
|
|
9475
|
-
arrow keys no reader could ever press. `aria-keyshortcuts` says which keys
|
|
9476
|
-
rather than spelling them into the name, which would otherwise be read out
|
|
9477
|
-
at every encounter. */
|
|
9478
|
-
label?: (HelixHeadlessMap["label"]) | undefined;
|
|
9479
|
-
/** What the controls are called, for a page not in English. */
|
|
9473
|
+
/** What one pan control is called, with `{way}` filled in. */
|
|
9480
9474
|
"pan-label"?: (HelixHeadlessMap["panLabel"]) | undefined;
|
|
9481
|
-
/** What
|
|
9475
|
+
/** What one pan control is called, with `{way}` filled in. */
|
|
9482
9476
|
panLabel?: (HelixHeadlessMap["panLabel"]) | undefined;
|
|
9483
|
-
/** How far one press moves the
|
|
9477
|
+
/** How far one press moves the view, as a fraction of what is on screen.
|
|
9484
9478
|
|
|
9485
|
-
A fraction rather than a distance, because this
|
|
9486
|
-
scale of what is inside it: a quarter of the viewport is the same gesture
|
|
9487
|
-
|
|
9488
|
-
multiply by their own. */
|
|
9479
|
+
A fraction rather than a distance, because this surface does not know the
|
|
9480
|
+
scale of what is inside it: a quarter of the viewport is the same gesture
|
|
9481
|
+
at any zoom, and a consumer who wants their own units multiplies by them. */
|
|
9489
9482
|
"pan-step"?: (HelixHeadlessMap["panStep"] | `${number}`) | undefined;
|
|
9490
|
-
/** How far one press moves the
|
|
9483
|
+
/** How far one press moves the view, as a fraction of what is on screen.
|
|
9491
9484
|
|
|
9492
|
-
A fraction rather than a distance, because this
|
|
9493
|
-
scale of what is inside it: a quarter of the viewport is the same gesture
|
|
9494
|
-
|
|
9495
|
-
multiply by their own. */
|
|
9485
|
+
A fraction rather than a distance, because this surface does not know the
|
|
9486
|
+
scale of what is inside it: a quarter of the viewport is the same gesture
|
|
9487
|
+
at any zoom, and a consumer who wants their own units multiplies by them. */
|
|
9496
9488
|
panStep?: (HelixHeadlessMap["panStep"]) | undefined;
|
|
9497
|
-
/** What the
|
|
9489
|
+
/** What the control that zooms in is called. */
|
|
9498
9490
|
"zoom-in-label"?: (HelixHeadlessMap["zoomInLabel"]) | undefined;
|
|
9499
|
-
/** What the
|
|
9491
|
+
/** What the control that zooms in is called. */
|
|
9500
9492
|
zoomInLabel?: (HelixHeadlessMap["zoomInLabel"]) | undefined;
|
|
9501
|
-
/** What the
|
|
9493
|
+
/** What the control that zooms out is called. */
|
|
9502
9494
|
"zoom-out-label"?: (HelixHeadlessMap["zoomOutLabel"]) | undefined;
|
|
9503
|
-
/** What the
|
|
9495
|
+
/** What the control that zooms out is called. */
|
|
9504
9496
|
zoomOutLabel?: (HelixHeadlessMap["zoomOutLabel"]) | undefined;
|
|
9505
9497
|
|
|
9506
9498
|
/** The reader asked the map to move. Answer it against your own map. */
|
|
@@ -9510,56 +9502,61 @@ multiply by their own. */
|
|
|
9510
9502
|
};
|
|
9511
9503
|
|
|
9512
9504
|
export type HelixHeadlessMapSolidJsProps = {
|
|
9513
|
-
/**
|
|
9514
|
-
|
|
9515
|
-
|
|
9516
|
-
|
|
9517
|
-
|
|
9518
|
-
|
|
9519
|
-
|
|
9520
|
-
|
|
9521
|
-
|
|
9522
|
-
|
|
9523
|
-
|
|
9524
|
-
|
|
9525
|
-
|
|
9526
|
-
|
|
9527
|
-
|
|
9528
|
-
|
|
9529
|
-
|
|
9530
|
-
|
|
9531
|
-
|
|
9532
|
-
|
|
9505
|
+
/** Accessible name for the map, which is the one thing a consumer must write.
|
|
9506
|
+
|
|
9507
|
+
There is no sensible default. "Map" names the widget rather than the place,
|
|
9508
|
+
and a reader meeting three of them on a page learns nothing from hearing the
|
|
9509
|
+
same word three times.
|
|
9510
|
+
|
|
9511
|
+
**The region is a tab stop**, so the keys are reachable however the controls
|
|
9512
|
+
are configured: the listener is on the region, and without a stop of its own
|
|
9513
|
+
a frame at `controls="none"` around a map with nothing focusable in it had
|
|
9514
|
+
arrow keys no reader could ever press. `aria-keyshortcuts` says which keys
|
|
9515
|
+
rather than spelling them into the name, which would otherwise be read out
|
|
9516
|
+
at every encounter. */
|
|
9517
|
+
"prop:label"?: (HelixHeadlessMap["label"]) | undefined;
|
|
9518
|
+
/** Which of the controls this surface draws, as a list of what to keep.
|
|
9519
|
+
|
|
9520
|
+
**A list rather than a switch, because the overlap is not symmetric.** A
|
|
9521
|
+
surface a consumer brings often has zoom controls of its own and almost
|
|
9522
|
+
never has pan buttons, so a single switch would make them choose between
|
|
9523
|
+
a duplicate and nothing.
|
|
9524
|
+
|
|
9525
|
+
`none` draws none of them, which is the right answer where what was
|
|
9526
|
+
slotted already has controls a reader can find: what this argues for is
|
|
9527
|
+
that *a* findable control exists, never that it is ours. The methods stay
|
|
9528
|
+
public either way, so a consumer drawing their own chrome can still drive
|
|
9529
|
+
the surface.
|
|
9530
|
+
|
|
9531
|
+
Absent is all three, which is this library's rule that a resting value is
|
|
9532
|
+
an attribute's absence, and it is what the stylesheet asks about: the
|
|
9533
|
+
layout rules are written against `[controls]:not([controls~="zoom"])`
|
|
9534
|
+
rather than the bare negation, or a surface that named no list at all
|
|
9535
|
+
would be laid out as though it had dropped everything. */
|
|
9533
9536
|
"prop:controls"?: (HelixHeadlessMap["controls"]) | undefined;
|
|
9534
9537
|
/** Which corner the controls sit in.
|
|
9535
9538
|
|
|
9536
|
-
**Configurable because there is no safe default**,
|
|
9537
|
-
rather than a taste:
|
|
9538
|
-
|
|
9539
|
-
|
|
9540
|
-
libraries made it a setting too.
|
|
9539
|
+
**Configurable because there is no safe default**, which is a collision
|
|
9540
|
+
rather than a taste: whatever a consumer slots may put its own controls
|
|
9541
|
+
in any corner, and every library that draws some made this a setting for
|
|
9542
|
+
the same reason.
|
|
9541
9543
|
|
|
9542
9544
|
Logical corners rather than left and right, so a right-to-left page moves
|
|
9543
|
-
them without a consumer writing a second rule.
|
|
9544
|
-
|
|
9545
|
-
|
|
9546
|
-
an attribute's absence: a default that reflected would write an attribute
|
|
9547
|
-
onto every host that no server sent and nobody asked for. */
|
|
9545
|
+
them without a consumer writing a second rule. Absent is the top end, a
|
|
9546
|
+
resting value being an attribute's absence: a default that reflected
|
|
9547
|
+
would write an attribute onto every host that no server sent. */
|
|
9548
9548
|
"attr:controls-placement"?: (HelixHeadlessMap["controlsPlacement"]) | undefined;
|
|
9549
9549
|
/** Which corner the controls sit in.
|
|
9550
9550
|
|
|
9551
|
-
**Configurable because there is no safe default**,
|
|
9552
|
-
rather than a taste:
|
|
9553
|
-
|
|
9554
|
-
|
|
9555
|
-
libraries made it a setting too.
|
|
9551
|
+
**Configurable because there is no safe default**, which is a collision
|
|
9552
|
+
rather than a taste: whatever a consumer slots may put its own controls
|
|
9553
|
+
in any corner, and every library that draws some made this a setting for
|
|
9554
|
+
the same reason.
|
|
9556
9555
|
|
|
9557
9556
|
Logical corners rather than left and right, so a right-to-left page moves
|
|
9558
|
-
them without a consumer writing a second rule.
|
|
9559
|
-
|
|
9560
|
-
|
|
9561
|
-
an attribute's absence: a default that reflected would write an attribute
|
|
9562
|
-
onto every host that no server sent and nobody asked for. */
|
|
9557
|
+
them without a consumer writing a second rule. Absent is the top end, a
|
|
9558
|
+
resting value being an attribute's absence: a default that reflected
|
|
9559
|
+
would write an attribute onto every host that no server sent. */
|
|
9563
9560
|
"prop:controlsPlacement"?: (HelixHeadlessMap["controlsPlacement"]) | undefined;
|
|
9564
9561
|
/** What the control that fills the screen is called. */
|
|
9565
9562
|
"attr:fullscreen-label"?: (HelixHeadlessMap["fullscreenLabel"]) | undefined;
|
|
@@ -9567,54 +9564,41 @@ onto every host that no server sent and nobody asked for. */
|
|
|
9567
9564
|
"prop:fullscreenLabel"?: (HelixHeadlessMap["fullscreenLabel"]) | undefined;
|
|
9568
9565
|
/** How long the reader may be still before the chrome hides, in milliseconds.
|
|
9569
9566
|
|
|
9570
|
-
Zero keeps it up, which is the default:
|
|
9571
|
-
reader operates
|
|
9572
|
-
component undoing its own argument. Set it for a display
|
|
9567
|
+
Zero keeps it up, which is the default: these controls are how a keyboard
|
|
9568
|
+
reader operates the surface, and chrome that hid itself by default would
|
|
9569
|
+
be the component undoing its own argument. Set it for a display nobody
|
|
9570
|
+
drives. */
|
|
9573
9571
|
"attr:idle-delay"?: (HelixHeadlessMap["idleDelay"] | `${number}`) | undefined;
|
|
9574
9572
|
/** How long the reader may be still before the chrome hides, in milliseconds.
|
|
9575
9573
|
|
|
9576
|
-
Zero keeps it up, which is the default:
|
|
9577
|
-
reader operates
|
|
9578
|
-
component undoing its own argument. Set it for a display
|
|
9574
|
+
Zero keeps it up, which is the default: these controls are how a keyboard
|
|
9575
|
+
reader operates the surface, and chrome that hid itself by default would
|
|
9576
|
+
be the component undoing its own argument. Set it for a display nobody
|
|
9577
|
+
drives. */
|
|
9579
9578
|
"prop:idleDelay"?: (HelixHeadlessMap["idleDelay"]) | undefined;
|
|
9580
|
-
/**
|
|
9581
|
-
|
|
9582
|
-
There is no sensible default. "Map" names the widget rather than the place,
|
|
9583
|
-
and a reader meeting three of them on a page learns nothing from hearing the
|
|
9584
|
-
same word three times.
|
|
9585
|
-
|
|
9586
|
-
**The region is a tab stop**, so the keys are reachable however the controls
|
|
9587
|
-
are configured: the listener is on the region, and without a stop of its own
|
|
9588
|
-
a frame at `controls="none"` around a map with nothing focusable in it had
|
|
9589
|
-
arrow keys no reader could ever press. `aria-keyshortcuts` says which keys
|
|
9590
|
-
rather than spelling them into the name, which would otherwise be read out
|
|
9591
|
-
at every encounter. */
|
|
9592
|
-
"prop:label"?: (HelixHeadlessMap["label"]) | undefined;
|
|
9593
|
-
/** What the controls are called, for a page not in English. */
|
|
9579
|
+
/** What one pan control is called, with `{way}` filled in. */
|
|
9594
9580
|
"attr:pan-label"?: (HelixHeadlessMap["panLabel"]) | undefined;
|
|
9595
|
-
/** What
|
|
9581
|
+
/** What one pan control is called, with `{way}` filled in. */
|
|
9596
9582
|
"prop:panLabel"?: (HelixHeadlessMap["panLabel"]) | undefined;
|
|
9597
|
-
/** How far one press moves the
|
|
9583
|
+
/** How far one press moves the view, as a fraction of what is on screen.
|
|
9598
9584
|
|
|
9599
|
-
A fraction rather than a distance, because this
|
|
9600
|
-
scale of what is inside it: a quarter of the viewport is the same gesture
|
|
9601
|
-
|
|
9602
|
-
multiply by their own. */
|
|
9585
|
+
A fraction rather than a distance, because this surface does not know the
|
|
9586
|
+
scale of what is inside it: a quarter of the viewport is the same gesture
|
|
9587
|
+
at any zoom, and a consumer who wants their own units multiplies by them. */
|
|
9603
9588
|
"attr:pan-step"?: (HelixHeadlessMap["panStep"] | `${number}`) | undefined;
|
|
9604
|
-
/** How far one press moves the
|
|
9589
|
+
/** How far one press moves the view, as a fraction of what is on screen.
|
|
9605
9590
|
|
|
9606
|
-
A fraction rather than a distance, because this
|
|
9607
|
-
scale of what is inside it: a quarter of the viewport is the same gesture
|
|
9608
|
-
|
|
9609
|
-
multiply by their own. */
|
|
9591
|
+
A fraction rather than a distance, because this surface does not know the
|
|
9592
|
+
scale of what is inside it: a quarter of the viewport is the same gesture
|
|
9593
|
+
at any zoom, and a consumer who wants their own units multiplies by them. */
|
|
9610
9594
|
"prop:panStep"?: (HelixHeadlessMap["panStep"]) | undefined;
|
|
9611
|
-
/** What the
|
|
9595
|
+
/** What the control that zooms in is called. */
|
|
9612
9596
|
"attr:zoom-in-label"?: (HelixHeadlessMap["zoomInLabel"]) | undefined;
|
|
9613
|
-
/** What the
|
|
9597
|
+
/** What the control that zooms in is called. */
|
|
9614
9598
|
"prop:zoomInLabel"?: (HelixHeadlessMap["zoomInLabel"]) | undefined;
|
|
9615
|
-
/** What the
|
|
9599
|
+
/** What the control that zooms out is called. */
|
|
9616
9600
|
"attr:zoom-out-label"?: (HelixHeadlessMap["zoomOutLabel"]) | undefined;
|
|
9617
|
-
/** What the
|
|
9601
|
+
/** What the control that zooms out is called. */
|
|
9618
9602
|
"prop:zoomOutLabel"?: (HelixHeadlessMap["zoomOutLabel"]) | undefined;
|
|
9619
9603
|
/** The reader asked the map to move. Answer it against your own map. */
|
|
9620
9604
|
"on:helix-map-pan"?: ((e: HelixHeadlessMapHelixMapPanElementEvent) => void) | undefined;
|
|
@@ -27630,46 +27614,6 @@ export type CustomElements = {
|
|
|
27630
27614
|
*
|
|
27631
27615
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
27632
27616
|
*
|
|
27633
|
-
* - `controls`: Which of the controls this frame draws, as a list of what to keep.
|
|
27634
|
-
*
|
|
27635
|
-
* **A list rather than a switch, because the overlap is not symmetric.**
|
|
27636
|
-
* Every map library draws zoom controls and none of them draws pan buttons:
|
|
27637
|
-
* MapLibre's navigation control is zoom and a compass, Leaflet's is zoom,
|
|
27638
|
-
* Google's is zoom. So a consumer slotting one of those has our zoom twice
|
|
27639
|
-
* over and our pan pad not at all, and a single switch would make them choose
|
|
27640
|
-
* between a duplicate and nothing.
|
|
27641
|
-
*
|
|
27642
|
-
* `none` draws none of them, which is the right answer where the slotted map
|
|
27643
|
-
* already has controls a reader can find: what this family argues for is that
|
|
27644
|
-
* *a* findable control exists, never that it is ours. The methods stay public
|
|
27645
|
-
* either way, so a consumer drawing their own chrome can still drive the
|
|
27646
|
-
* frame.
|
|
27647
|
-
*
|
|
27648
|
-
* Absent is all three, which is this library's rule that a resting value is an
|
|
27649
|
-
* attribute's absence, and it is what the stylesheet asks about: the layout
|
|
27650
|
-
* rules are written against `[controls]:not([controls~="zoom"])` rather than
|
|
27651
|
-
* the bare negation, or a frame that named no list at all would be laid out as
|
|
27652
|
-
* though it had dropped everything.
|
|
27653
|
-
* - `controls-placement`/`controlsPlacement`: Which corner the controls sit in.
|
|
27654
|
-
*
|
|
27655
|
-
* **Configurable because there is no safe default**, and this is a collision
|
|
27656
|
-
* rather than a taste: MapLibre puts its own controls at the top end, Leaflet
|
|
27657
|
-
* and OpenLayers at the top start, Google's zoom at the bottom end. Whichever
|
|
27658
|
-
* corner this took would land on somebody's, which is why every one of those
|
|
27659
|
-
* libraries made it a setting too.
|
|
27660
|
-
*
|
|
27661
|
-
* Logical corners rather than left and right, so a right-to-left page moves
|
|
27662
|
-
* them without a consumer writing a second rule.
|
|
27663
|
-
*
|
|
27664
|
-
* Absent is the top end, which is this library's rule that a resting value is
|
|
27665
|
-
* an attribute's absence: a default that reflected would write an attribute
|
|
27666
|
-
* onto every host that no server sent and nobody asked for.
|
|
27667
|
-
* - `fullscreen-label`/`fullscreenLabel`: What the control that fills the screen is called.
|
|
27668
|
-
* - `idle-delay`/`idleDelay`: How long the reader may be still before the chrome hides, in milliseconds.
|
|
27669
|
-
*
|
|
27670
|
-
* Zero keeps it up, which is the default: a map's controls are how a keyboard
|
|
27671
|
-
* reader operates it, and chrome that hides itself by default would be this
|
|
27672
|
-
* component undoing its own argument. Set it for a display map nobody drives.
|
|
27673
27617
|
* - `label`: Accessible name for the map, which is the one thing a consumer must write.
|
|
27674
27618
|
*
|
|
27675
27619
|
* There is no sensible default. "Map" names the widget rather than the place,
|
|
@@ -27682,15 +27626,50 @@ export type CustomElements = {
|
|
|
27682
27626
|
* arrow keys no reader could ever press. `aria-keyshortcuts` says which keys
|
|
27683
27627
|
* rather than spelling them into the name, which would otherwise be read out
|
|
27684
27628
|
* at every encounter.
|
|
27685
|
-
* - `
|
|
27686
|
-
*
|
|
27629
|
+
* - `controls`: Which of the controls this surface draws, as a list of what to keep.
|
|
27630
|
+
*
|
|
27631
|
+
* **A list rather than a switch, because the overlap is not symmetric.** A
|
|
27632
|
+
* surface a consumer brings often has zoom controls of its own and almost
|
|
27633
|
+
* never has pan buttons, so a single switch would make them choose between
|
|
27634
|
+
* a duplicate and nothing.
|
|
27635
|
+
*
|
|
27636
|
+
* `none` draws none of them, which is the right answer where what was
|
|
27637
|
+
* slotted already has controls a reader can find: what this argues for is
|
|
27638
|
+
* that *a* findable control exists, never that it is ours. The methods stay
|
|
27639
|
+
* public either way, so a consumer drawing their own chrome can still drive
|
|
27640
|
+
* the surface.
|
|
27641
|
+
*
|
|
27642
|
+
* Absent is all three, which is this library's rule that a resting value is
|
|
27643
|
+
* an attribute's absence, and it is what the stylesheet asks about: the
|
|
27644
|
+
* layout rules are written against `[controls]:not([controls~="zoom"])`
|
|
27645
|
+
* rather than the bare negation, or a surface that named no list at all
|
|
27646
|
+
* would be laid out as though it had dropped everything.
|
|
27647
|
+
* - `controls-placement`/`controlsPlacement`: Which corner the controls sit in.
|
|
27648
|
+
*
|
|
27649
|
+
* **Configurable because there is no safe default**, which is a collision
|
|
27650
|
+
* rather than a taste: whatever a consumer slots may put its own controls
|
|
27651
|
+
* in any corner, and every library that draws some made this a setting for
|
|
27652
|
+
* the same reason.
|
|
27687
27653
|
*
|
|
27688
|
-
*
|
|
27689
|
-
*
|
|
27690
|
-
*
|
|
27691
|
-
*
|
|
27692
|
-
* - `
|
|
27693
|
-
* - `
|
|
27654
|
+
* Logical corners rather than left and right, so a right-to-left page moves
|
|
27655
|
+
* them without a consumer writing a second rule. Absent is the top end, a
|
|
27656
|
+
* resting value being an attribute's absence: a default that reflected
|
|
27657
|
+
* would write an attribute onto every host that no server sent.
|
|
27658
|
+
* - `fullscreen-label`/`fullscreenLabel`: What the control that fills the screen is called.
|
|
27659
|
+
* - `idle-delay`/`idleDelay`: How long the reader may be still before the chrome hides, in milliseconds.
|
|
27660
|
+
*
|
|
27661
|
+
* Zero keeps it up, which is the default: these controls are how a keyboard
|
|
27662
|
+
* reader operates the surface, and chrome that hid itself by default would
|
|
27663
|
+
* be the component undoing its own argument. Set it for a display nobody
|
|
27664
|
+
* drives.
|
|
27665
|
+
* - `pan-label`/`panLabel`: What one pan control is called, with `{way}` filled in.
|
|
27666
|
+
* - `pan-step`/`panStep`: How far one press moves the view, as a fraction of what is on screen.
|
|
27667
|
+
*
|
|
27668
|
+
* A fraction rather than a distance, because this surface does not know the
|
|
27669
|
+
* scale of what is inside it: a quarter of the viewport is the same gesture
|
|
27670
|
+
* at any zoom, and a consumer who wants their own units multiplies by them.
|
|
27671
|
+
* - `zoom-in-label`/`zoomInLabel`: What the control that zooms in is called.
|
|
27672
|
+
* - `zoom-out-label`/`zoomOutLabel`: What the control that zooms out is called.
|
|
27694
27673
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
27695
27674
|
*
|
|
27696
27675
|
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
@@ -27732,9 +27711,9 @@ export type CustomElements = {
|
|
|
27732
27711
|
*
|
|
27733
27712
|
* Methods that can be called to access component functionality.
|
|
27734
27713
|
*
|
|
27735
|
-
* - `
|
|
27736
|
-
* - `
|
|
27737
|
-
* - `
|
|
27714
|
+
* - `pan(to: ViewportWay) => void`: Asks for the view to move, which the consumer answers.
|
|
27715
|
+
* - `zoom(by: number) => void`: Asks for the view to zoom, `1` in and `-1` out.
|
|
27716
|
+
* - `toggleFullscreen() => void`: Fills the screen with the surface, or comes back.
|
|
27738
27717
|
*
|
|
27739
27718
|
* ## CSS Parts
|
|
27740
27719
|
*
|
|
@@ -46142,46 +46121,6 @@ export type CustomElementsSolidJs = {
|
|
|
46142
46121
|
*
|
|
46143
46122
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
46144
46123
|
*
|
|
46145
|
-
* - `controls`: Which of the controls this frame draws, as a list of what to keep.
|
|
46146
|
-
*
|
|
46147
|
-
* **A list rather than a switch, because the overlap is not symmetric.**
|
|
46148
|
-
* Every map library draws zoom controls and none of them draws pan buttons:
|
|
46149
|
-
* MapLibre's navigation control is zoom and a compass, Leaflet's is zoom,
|
|
46150
|
-
* Google's is zoom. So a consumer slotting one of those has our zoom twice
|
|
46151
|
-
* over and our pan pad not at all, and a single switch would make them choose
|
|
46152
|
-
* between a duplicate and nothing.
|
|
46153
|
-
*
|
|
46154
|
-
* `none` draws none of them, which is the right answer where the slotted map
|
|
46155
|
-
* already has controls a reader can find: what this family argues for is that
|
|
46156
|
-
* *a* findable control exists, never that it is ours. The methods stay public
|
|
46157
|
-
* either way, so a consumer drawing their own chrome can still drive the
|
|
46158
|
-
* frame.
|
|
46159
|
-
*
|
|
46160
|
-
* Absent is all three, which is this library's rule that a resting value is an
|
|
46161
|
-
* attribute's absence, and it is what the stylesheet asks about: the layout
|
|
46162
|
-
* rules are written against `[controls]:not([controls~="zoom"])` rather than
|
|
46163
|
-
* the bare negation, or a frame that named no list at all would be laid out as
|
|
46164
|
-
* though it had dropped everything.
|
|
46165
|
-
* - `controls-placement`/`controlsPlacement`: Which corner the controls sit in.
|
|
46166
|
-
*
|
|
46167
|
-
* **Configurable because there is no safe default**, and this is a collision
|
|
46168
|
-
* rather than a taste: MapLibre puts its own controls at the top end, Leaflet
|
|
46169
|
-
* and OpenLayers at the top start, Google's zoom at the bottom end. Whichever
|
|
46170
|
-
* corner this took would land on somebody's, which is why every one of those
|
|
46171
|
-
* libraries made it a setting too.
|
|
46172
|
-
*
|
|
46173
|
-
* Logical corners rather than left and right, so a right-to-left page moves
|
|
46174
|
-
* them without a consumer writing a second rule.
|
|
46175
|
-
*
|
|
46176
|
-
* Absent is the top end, which is this library's rule that a resting value is
|
|
46177
|
-
* an attribute's absence: a default that reflected would write an attribute
|
|
46178
|
-
* onto every host that no server sent and nobody asked for.
|
|
46179
|
-
* - `fullscreen-label`/`fullscreenLabel`: What the control that fills the screen is called.
|
|
46180
|
-
* - `idle-delay`/`idleDelay`: How long the reader may be still before the chrome hides, in milliseconds.
|
|
46181
|
-
*
|
|
46182
|
-
* Zero keeps it up, which is the default: a map's controls are how a keyboard
|
|
46183
|
-
* reader operates it, and chrome that hides itself by default would be this
|
|
46184
|
-
* component undoing its own argument. Set it for a display map nobody drives.
|
|
46185
46124
|
* - `label`: Accessible name for the map, which is the one thing a consumer must write.
|
|
46186
46125
|
*
|
|
46187
46126
|
* There is no sensible default. "Map" names the widget rather than the place,
|
|
@@ -46194,15 +46133,50 @@ export type CustomElementsSolidJs = {
|
|
|
46194
46133
|
* arrow keys no reader could ever press. `aria-keyshortcuts` says which keys
|
|
46195
46134
|
* rather than spelling them into the name, which would otherwise be read out
|
|
46196
46135
|
* at every encounter.
|
|
46197
|
-
* - `
|
|
46198
|
-
*
|
|
46136
|
+
* - `controls`: Which of the controls this surface draws, as a list of what to keep.
|
|
46137
|
+
*
|
|
46138
|
+
* **A list rather than a switch, because the overlap is not symmetric.** A
|
|
46139
|
+
* surface a consumer brings often has zoom controls of its own and almost
|
|
46140
|
+
* never has pan buttons, so a single switch would make them choose between
|
|
46141
|
+
* a duplicate and nothing.
|
|
46142
|
+
*
|
|
46143
|
+
* `none` draws none of them, which is the right answer where what was
|
|
46144
|
+
* slotted already has controls a reader can find: what this argues for is
|
|
46145
|
+
* that *a* findable control exists, never that it is ours. The methods stay
|
|
46146
|
+
* public either way, so a consumer drawing their own chrome can still drive
|
|
46147
|
+
* the surface.
|
|
46148
|
+
*
|
|
46149
|
+
* Absent is all three, which is this library's rule that a resting value is
|
|
46150
|
+
* an attribute's absence, and it is what the stylesheet asks about: the
|
|
46151
|
+
* layout rules are written against `[controls]:not([controls~="zoom"])`
|
|
46152
|
+
* rather than the bare negation, or a surface that named no list at all
|
|
46153
|
+
* would be laid out as though it had dropped everything.
|
|
46154
|
+
* - `controls-placement`/`controlsPlacement`: Which corner the controls sit in.
|
|
46155
|
+
*
|
|
46156
|
+
* **Configurable because there is no safe default**, which is a collision
|
|
46157
|
+
* rather than a taste: whatever a consumer slots may put its own controls
|
|
46158
|
+
* in any corner, and every library that draws some made this a setting for
|
|
46159
|
+
* the same reason.
|
|
46160
|
+
*
|
|
46161
|
+
* Logical corners rather than left and right, so a right-to-left page moves
|
|
46162
|
+
* them without a consumer writing a second rule. Absent is the top end, a
|
|
46163
|
+
* resting value being an attribute's absence: a default that reflected
|
|
46164
|
+
* would write an attribute onto every host that no server sent.
|
|
46165
|
+
* - `fullscreen-label`/`fullscreenLabel`: What the control that fills the screen is called.
|
|
46166
|
+
* - `idle-delay`/`idleDelay`: How long the reader may be still before the chrome hides, in milliseconds.
|
|
46167
|
+
*
|
|
46168
|
+
* Zero keeps it up, which is the default: these controls are how a keyboard
|
|
46169
|
+
* reader operates the surface, and chrome that hid itself by default would
|
|
46170
|
+
* be the component undoing its own argument. Set it for a display nobody
|
|
46171
|
+
* drives.
|
|
46172
|
+
* - `pan-label`/`panLabel`: What one pan control is called, with `{way}` filled in.
|
|
46173
|
+
* - `pan-step`/`panStep`: How far one press moves the view, as a fraction of what is on screen.
|
|
46199
46174
|
*
|
|
46200
|
-
* A fraction rather than a distance, because this
|
|
46201
|
-
* scale of what is inside it: a quarter of the viewport is the same gesture
|
|
46202
|
-
*
|
|
46203
|
-
*
|
|
46204
|
-
* - `zoom-
|
|
46205
|
-
* - `zoom-out-label`/`zoomOutLabel`: What the zoom control that goes the other way is called.
|
|
46175
|
+
* A fraction rather than a distance, because this surface does not know the
|
|
46176
|
+
* scale of what is inside it: a quarter of the viewport is the same gesture
|
|
46177
|
+
* at any zoom, and a consumer who wants their own units multiplies by them.
|
|
46178
|
+
* - `zoom-in-label`/`zoomInLabel`: What the control that zooms in is called.
|
|
46179
|
+
* - `zoom-out-label`/`zoomOutLabel`: What the control that zooms out is called.
|
|
46206
46180
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
46207
46181
|
*
|
|
46208
46182
|
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
@@ -46244,9 +46218,9 @@ export type CustomElementsSolidJs = {
|
|
|
46244
46218
|
*
|
|
46245
46219
|
* Methods that can be called to access component functionality.
|
|
46246
46220
|
*
|
|
46247
|
-
* - `
|
|
46248
|
-
* - `
|
|
46249
|
-
* - `
|
|
46221
|
+
* - `pan(to: ViewportWay) => void`: Asks for the view to move, which the consumer answers.
|
|
46222
|
+
* - `zoom(by: number) => void`: Asks for the view to zoom, `1` in and `-1` out.
|
|
46223
|
+
* - `toggleFullscreen() => void`: Fills the screen with the surface, or comes back.
|
|
46250
46224
|
*
|
|
46251
46225
|
* ## CSS Parts
|
|
46252
46226
|
*
|