@fusion.dev/helix 0.101.0 → 0.102.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.
- package/custom-elements.json +956 -0
- package/dist/element-events.generated.js +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/map/index.d.ts +1 -0
- package/dist/map/index.js +1 -0
- package/dist/map/root/map-root.css.d.ts +1 -0
- package/dist/map/root/map-root.css.js +112 -0
- package/dist/map/root/map-root.d.ts +33 -0
- package/dist/map/root/map-root.js +16 -0
- package/package.json +6 -6
- package/types/jsx.d.ts +362 -0
- package/types/svelte.d.ts +1 -0
- package/types/vue.d.ts +84 -0
package/custom-elements.json
CHANGED
|
@@ -58752,6 +58752,14 @@
|
|
|
58752
58752
|
"module": "src/loader/index.js"
|
|
58753
58753
|
}
|
|
58754
58754
|
},
|
|
58755
|
+
{
|
|
58756
|
+
"kind": "js",
|
|
58757
|
+
"name": "*",
|
|
58758
|
+
"declaration": {
|
|
58759
|
+
"name": "*",
|
|
58760
|
+
"module": "src/map/index.js"
|
|
58761
|
+
}
|
|
58762
|
+
},
|
|
58755
58763
|
{
|
|
58756
58764
|
"kind": "js",
|
|
58757
58765
|
"name": "*",
|
|
@@ -69291,6 +69299,954 @@
|
|
|
69291
69299
|
}
|
|
69292
69300
|
]
|
|
69293
69301
|
},
|
|
69302
|
+
{
|
|
69303
|
+
"kind": "javascript-module",
|
|
69304
|
+
"path": "src/map/index.ts",
|
|
69305
|
+
"declarations": [],
|
|
69306
|
+
"exports": [
|
|
69307
|
+
{
|
|
69308
|
+
"kind": "js",
|
|
69309
|
+
"name": "HelixMap",
|
|
69310
|
+
"declaration": {
|
|
69311
|
+
"name": "HelixMap",
|
|
69312
|
+
"module": "./root/map-root.js"
|
|
69313
|
+
}
|
|
69314
|
+
}
|
|
69315
|
+
]
|
|
69316
|
+
},
|
|
69317
|
+
{
|
|
69318
|
+
"kind": "javascript-module",
|
|
69319
|
+
"path": "src/map/root/map-root.css.ts",
|
|
69320
|
+
"declarations": [
|
|
69321
|
+
{
|
|
69322
|
+
"kind": "variable",
|
|
69323
|
+
"name": "styles"
|
|
69324
|
+
}
|
|
69325
|
+
],
|
|
69326
|
+
"exports": [
|
|
69327
|
+
{
|
|
69328
|
+
"kind": "js",
|
|
69329
|
+
"name": "styles",
|
|
69330
|
+
"declaration": {
|
|
69331
|
+
"name": "styles",
|
|
69332
|
+
"module": "src/map/root/map-root.css.ts"
|
|
69333
|
+
}
|
|
69334
|
+
}
|
|
69335
|
+
]
|
|
69336
|
+
},
|
|
69337
|
+
{
|
|
69338
|
+
"kind": "javascript-module",
|
|
69339
|
+
"path": "src/map/root/map-root.ts",
|
|
69340
|
+
"declarations": [
|
|
69341
|
+
{
|
|
69342
|
+
"kind": "class",
|
|
69343
|
+
"description": "Presentation only: a bordered well with the controls over it, at the corner\nevery map puts them. What the frame is for, and why the controls are buttons\nrather than arrow keys, is the base class.\n\n**The controls do not fade with the chrome.** A reader who has gone still has\nnot stopped needing the only controls this frame offers, so the idle state\ntakes the header and footer a consumer slotted and leaves the buttons alone.",
|
|
69344
|
+
"name": "HelixMap",
|
|
69345
|
+
"cssProperties": [
|
|
69346
|
+
{
|
|
69347
|
+
"description": "The well behind the map, seen while tiles are on their way.",
|
|
69348
|
+
"name": "--map-background-color"
|
|
69349
|
+
},
|
|
69350
|
+
{
|
|
69351
|
+
"description": "How tall the frame is. A length, since the map fills it.",
|
|
69352
|
+
"name": "--map-block-size"
|
|
69353
|
+
},
|
|
69354
|
+
{
|
|
69355
|
+
"description": "Color of the frame's edge.",
|
|
69356
|
+
"name": "--map-border-color"
|
|
69357
|
+
},
|
|
69358
|
+
{
|
|
69359
|
+
"description": "The ground under the pan and zoom buttons.",
|
|
69360
|
+
"name": "--map-control-background-color"
|
|
69361
|
+
}
|
|
69362
|
+
],
|
|
69363
|
+
"members": [
|
|
69364
|
+
{
|
|
69365
|
+
"kind": "field",
|
|
69366
|
+
"name": "fullscreenLabel",
|
|
69367
|
+
"type": {
|
|
69368
|
+
"text": "string"
|
|
69369
|
+
},
|
|
69370
|
+
"default": "'Fill the screen'",
|
|
69371
|
+
"description": "What the control that fills the screen is called.",
|
|
69372
|
+
"attribute": "fullscreen-label",
|
|
69373
|
+
"inheritedFrom": {
|
|
69374
|
+
"name": "HelixHeadlessMap",
|
|
69375
|
+
"module": "src/map/root/map-root.ts"
|
|
69376
|
+
}
|
|
69377
|
+
},
|
|
69378
|
+
{
|
|
69379
|
+
"kind": "field",
|
|
69380
|
+
"name": "idleDelay",
|
|
69381
|
+
"type": {
|
|
69382
|
+
"text": "number"
|
|
69383
|
+
},
|
|
69384
|
+
"default": "0",
|
|
69385
|
+
"description": "How long the reader may be still before the chrome hides, in milliseconds.\n\nZero keeps it up, which is the default: a map's controls are how a keyboard\nreader operates it, and chrome that hides itself by default would be this\ncomponent undoing its own argument. Set it for a display map nobody drives.",
|
|
69386
|
+
"attribute": "idle-delay",
|
|
69387
|
+
"inheritedFrom": {
|
|
69388
|
+
"name": "HelixHeadlessMap",
|
|
69389
|
+
"module": "src/map/root/map-root.ts"
|
|
69390
|
+
}
|
|
69391
|
+
},
|
|
69392
|
+
{
|
|
69393
|
+
"kind": "field",
|
|
69394
|
+
"name": "label",
|
|
69395
|
+
"type": {
|
|
69396
|
+
"text": "string"
|
|
69397
|
+
},
|
|
69398
|
+
"default": "''",
|
|
69399
|
+
"description": "Accessible name for the map, which is the one thing a consumer must write.\n\nThere is no sensible default. \"Map\" names the widget rather than the place,\nand a reader meeting three of them on a page learns nothing from hearing the\nsame word three times.",
|
|
69400
|
+
"attribute": "label",
|
|
69401
|
+
"inheritedFrom": {
|
|
69402
|
+
"name": "HelixHeadlessMap",
|
|
69403
|
+
"module": "src/map/root/map-root.ts"
|
|
69404
|
+
}
|
|
69405
|
+
},
|
|
69406
|
+
{
|
|
69407
|
+
"kind": "field",
|
|
69408
|
+
"name": "panLabel",
|
|
69409
|
+
"type": {
|
|
69410
|
+
"text": "string"
|
|
69411
|
+
},
|
|
69412
|
+
"default": "'Pan {way}'",
|
|
69413
|
+
"description": "What the controls are called, for a page not in English.",
|
|
69414
|
+
"attribute": "pan-label",
|
|
69415
|
+
"inheritedFrom": {
|
|
69416
|
+
"name": "HelixHeadlessMap",
|
|
69417
|
+
"module": "src/map/root/map-root.ts"
|
|
69418
|
+
}
|
|
69419
|
+
},
|
|
69420
|
+
{
|
|
69421
|
+
"kind": "field",
|
|
69422
|
+
"name": "panStep",
|
|
69423
|
+
"type": {
|
|
69424
|
+
"text": "number"
|
|
69425
|
+
},
|
|
69426
|
+
"default": "0.25",
|
|
69427
|
+
"description": "How far one press moves the map, as a fraction of what is on screen.\n\nA fraction rather than a distance, because this frame does not know the\nscale of what is inside it: a quarter of the viewport is the same gesture at\nstreet level and at country level, and a consumer who wants metres can\nmultiply by their own.",
|
|
69428
|
+
"attribute": "pan-step",
|
|
69429
|
+
"inheritedFrom": {
|
|
69430
|
+
"name": "HelixHeadlessMap",
|
|
69431
|
+
"module": "src/map/root/map-root.ts"
|
|
69432
|
+
}
|
|
69433
|
+
},
|
|
69434
|
+
{
|
|
69435
|
+
"kind": "field",
|
|
69436
|
+
"name": "zoomInLabel",
|
|
69437
|
+
"type": {
|
|
69438
|
+
"text": "string"
|
|
69439
|
+
},
|
|
69440
|
+
"default": "'Zoom in'",
|
|
69441
|
+
"description": "What the zoom controls are called.",
|
|
69442
|
+
"attribute": "zoom-in-label",
|
|
69443
|
+
"inheritedFrom": {
|
|
69444
|
+
"name": "HelixHeadlessMap",
|
|
69445
|
+
"module": "src/map/root/map-root.ts"
|
|
69446
|
+
}
|
|
69447
|
+
},
|
|
69448
|
+
{
|
|
69449
|
+
"kind": "field",
|
|
69450
|
+
"name": "zoomOutLabel",
|
|
69451
|
+
"type": {
|
|
69452
|
+
"text": "string"
|
|
69453
|
+
},
|
|
69454
|
+
"default": "'Zoom out'",
|
|
69455
|
+
"description": "What the zoom control that goes the other way is called.",
|
|
69456
|
+
"attribute": "zoom-out-label",
|
|
69457
|
+
"inheritedFrom": {
|
|
69458
|
+
"name": "HelixHeadlessMap",
|
|
69459
|
+
"module": "src/map/root/map-root.ts"
|
|
69460
|
+
}
|
|
69461
|
+
},
|
|
69462
|
+
{
|
|
69463
|
+
"kind": "field",
|
|
69464
|
+
"name": "resting",
|
|
69465
|
+
"type": {
|
|
69466
|
+
"text": "boolean"
|
|
69467
|
+
},
|
|
69468
|
+
"privacy": "private",
|
|
69469
|
+
"default": "false",
|
|
69470
|
+
"description": "Whether the reader has been still long enough to hide the chrome.",
|
|
69471
|
+
"inheritedFrom": {
|
|
69472
|
+
"name": "HelixHeadlessMap",
|
|
69473
|
+
"module": "src/map/root/map-root.ts"
|
|
69474
|
+
}
|
|
69475
|
+
},
|
|
69476
|
+
{
|
|
69477
|
+
"kind": "field",
|
|
69478
|
+
"name": "filled",
|
|
69479
|
+
"type": {
|
|
69480
|
+
"text": "boolean"
|
|
69481
|
+
},
|
|
69482
|
+
"privacy": "private",
|
|
69483
|
+
"default": "false",
|
|
69484
|
+
"description": "Whether the frame is filling the screen.",
|
|
69485
|
+
"inheritedFrom": {
|
|
69486
|
+
"name": "HelixHeadlessMap",
|
|
69487
|
+
"module": "src/map/root/map-root.ts"
|
|
69488
|
+
}
|
|
69489
|
+
},
|
|
69490
|
+
{
|
|
69491
|
+
"kind": "field",
|
|
69492
|
+
"name": "fullscreen",
|
|
69493
|
+
"privacy": "private",
|
|
69494
|
+
"readonly": true,
|
|
69495
|
+
"default": "new FullscreenController(this, (full) => { this.filled = full })",
|
|
69496
|
+
"inheritedFrom": {
|
|
69497
|
+
"name": "HelixHeadlessMap",
|
|
69498
|
+
"module": "src/map/root/map-root.ts"
|
|
69499
|
+
}
|
|
69500
|
+
},
|
|
69501
|
+
{
|
|
69502
|
+
"kind": "field",
|
|
69503
|
+
"name": "idle",
|
|
69504
|
+
"privacy": "private",
|
|
69505
|
+
"readonly": true,
|
|
69506
|
+
"default": "new IdleController( this, () => this.idleDelay, (resting) => { this.resting = resting }, )",
|
|
69507
|
+
"inheritedFrom": {
|
|
69508
|
+
"name": "HelixHeadlessMap",
|
|
69509
|
+
"module": "src/map/root/map-root.ts"
|
|
69510
|
+
}
|
|
69511
|
+
},
|
|
69512
|
+
{
|
|
69513
|
+
"kind": "method",
|
|
69514
|
+
"name": "toggleFullscreen",
|
|
69515
|
+
"return": {
|
|
69516
|
+
"type": {
|
|
69517
|
+
"text": "void"
|
|
69518
|
+
}
|
|
69519
|
+
},
|
|
69520
|
+
"description": "Fills the screen with the frame, or comes back.",
|
|
69521
|
+
"type": {
|
|
69522
|
+
"text": "toggleFullscreen() => void"
|
|
69523
|
+
},
|
|
69524
|
+
"inheritedFrom": {
|
|
69525
|
+
"name": "HelixHeadlessMap",
|
|
69526
|
+
"module": "src/map/root/map-root.ts"
|
|
69527
|
+
}
|
|
69528
|
+
},
|
|
69529
|
+
{
|
|
69530
|
+
"kind": "method",
|
|
69531
|
+
"name": "pan",
|
|
69532
|
+
"return": {
|
|
69533
|
+
"type": {
|
|
69534
|
+
"text": "void"
|
|
69535
|
+
}
|
|
69536
|
+
},
|
|
69537
|
+
"parameters": [
|
|
69538
|
+
{
|
|
69539
|
+
"name": "to",
|
|
69540
|
+
"type": {
|
|
69541
|
+
"text": "Way"
|
|
69542
|
+
}
|
|
69543
|
+
}
|
|
69544
|
+
],
|
|
69545
|
+
"description": "Asks for the map to move, which the consumer answers.",
|
|
69546
|
+
"type": {
|
|
69547
|
+
"text": "pan(to: Way) => void"
|
|
69548
|
+
},
|
|
69549
|
+
"inheritedFrom": {
|
|
69550
|
+
"name": "HelixHeadlessMap",
|
|
69551
|
+
"module": "src/map/root/map-root.ts"
|
|
69552
|
+
}
|
|
69553
|
+
},
|
|
69554
|
+
{
|
|
69555
|
+
"kind": "method",
|
|
69556
|
+
"name": "zoom",
|
|
69557
|
+
"return": {
|
|
69558
|
+
"type": {
|
|
69559
|
+
"text": "void"
|
|
69560
|
+
}
|
|
69561
|
+
},
|
|
69562
|
+
"parameters": [
|
|
69563
|
+
{
|
|
69564
|
+
"name": "by",
|
|
69565
|
+
"type": {
|
|
69566
|
+
"text": "number"
|
|
69567
|
+
}
|
|
69568
|
+
}
|
|
69569
|
+
],
|
|
69570
|
+
"description": "Asks for the map to zoom, `1` in and `-1` out.",
|
|
69571
|
+
"type": {
|
|
69572
|
+
"text": "zoom(by: number) => void"
|
|
69573
|
+
},
|
|
69574
|
+
"inheritedFrom": {
|
|
69575
|
+
"name": "HelixHeadlessMap",
|
|
69576
|
+
"module": "src/map/root/map-root.ts"
|
|
69577
|
+
}
|
|
69578
|
+
},
|
|
69579
|
+
{
|
|
69580
|
+
"kind": "field",
|
|
69581
|
+
"name": "handleKeydown",
|
|
69582
|
+
"privacy": "private",
|
|
69583
|
+
"readonly": true,
|
|
69584
|
+
"description": "The arrow keys, which are the second way rather than the only one.\n\n`inlineStep` rather than a test against `ArrowLeft`, so the reader on a\nright-to-left page gets `end` from the key that points the way their text\nruns, which is what the pan buttons say too.",
|
|
69585
|
+
"inheritedFrom": {
|
|
69586
|
+
"name": "HelixHeadlessMap",
|
|
69587
|
+
"module": "src/map/root/map-root.ts"
|
|
69588
|
+
}
|
|
69589
|
+
},
|
|
69590
|
+
{
|
|
69591
|
+
"kind": "method",
|
|
69592
|
+
"name": "named",
|
|
69593
|
+
"privacy": "private",
|
|
69594
|
+
"return": {
|
|
69595
|
+
"type": {
|
|
69596
|
+
"text": "string"
|
|
69597
|
+
}
|
|
69598
|
+
},
|
|
69599
|
+
"parameters": [
|
|
69600
|
+
{
|
|
69601
|
+
"name": "way",
|
|
69602
|
+
"type": {
|
|
69603
|
+
"text": "Way"
|
|
69604
|
+
}
|
|
69605
|
+
}
|
|
69606
|
+
],
|
|
69607
|
+
"description": "What one pan button is called, with the way it goes filled in.\n\nLeft and right rather than start and end, because the label is read aloud\nand a reader knows which way left is. The event keeps the reading-order\nname, which is the one a right-to-left page needs.",
|
|
69608
|
+
"inheritedFrom": {
|
|
69609
|
+
"name": "HelixHeadlessMap",
|
|
69610
|
+
"module": "src/map/root/map-root.ts"
|
|
69611
|
+
}
|
|
69612
|
+
},
|
|
69613
|
+
{
|
|
69614
|
+
"kind": "field",
|
|
69615
|
+
"name": "tier",
|
|
69616
|
+
"type": {
|
|
69617
|
+
"text": "string"
|
|
69618
|
+
},
|
|
69619
|
+
"static": true,
|
|
69620
|
+
"default": "'helix-headless-'",
|
|
69621
|
+
"description": "The prefix this tier registers its elements under.\n\n**A component that renders another renders its own tier's version of it**,\nso `helix-headless-pagination-size` composes `helix-headless-select` and\n`helix-pagination-size` composes `helix-select`. One template says\n`${this.tag('select')}` and each tier answers with its own name.\n\n**The public tag may not be the composed one, in either tier.** Using it\ncosts three things: the name means two different things depending on what a\nconsumer imported, the headless tier composes an element it does not ship,\nand the composition cannot be tested there at all, because there is no\n`helix-select` on that tier to test it against.\n\n**A prefix rather than an override per composition**, which was the first\nplan and does not compile. An override re-renders the fragment from the\nsubclass, and the fragment reads members the base keeps private:\n`PaginationSize` alone would have had to widen `options`, `current` and\n`handleChange` to `protected` so a subclass could say the same thing again.\nSixteen families of that is a lot of encapsulation spent on saying one\nword differently.",
|
|
69622
|
+
"inheritedFrom": {
|
|
69623
|
+
"name": "HelixElement",
|
|
69624
|
+
"module": "src/helix-element/helix-element.ts"
|
|
69625
|
+
}
|
|
69626
|
+
},
|
|
69627
|
+
{
|
|
69628
|
+
"kind": "method",
|
|
69629
|
+
"name": "tag",
|
|
69630
|
+
"privacy": "protected",
|
|
69631
|
+
"return": {
|
|
69632
|
+
"type": {
|
|
69633
|
+
"text": "StaticValue"
|
|
69634
|
+
}
|
|
69635
|
+
},
|
|
69636
|
+
"parameters": [
|
|
69637
|
+
{
|
|
69638
|
+
"name": "name",
|
|
69639
|
+
"type": {
|
|
69640
|
+
"text": "string"
|
|
69641
|
+
}
|
|
69642
|
+
}
|
|
69643
|
+
],
|
|
69644
|
+
"description": "One composed tag, as a static value a template can interpolate.\n\n`unsafeStatic` is safe by construction: the name is a literal in our own\nsource and the prefix is one of two strings this class defines. Called per\nrender and not cached, which costs nothing, because `static-html` keys its\ntemplate cache on the joined string rather than on the object.",
|
|
69645
|
+
"inheritedFrom": {
|
|
69646
|
+
"name": "HelixElement",
|
|
69647
|
+
"module": "src/helix-element/helix-element.ts"
|
|
69648
|
+
}
|
|
69649
|
+
},
|
|
69650
|
+
{
|
|
69651
|
+
"kind": "method",
|
|
69652
|
+
"name": "partNamed",
|
|
69653
|
+
"privacy": "protected",
|
|
69654
|
+
"return": {
|
|
69655
|
+
"type": {
|
|
69656
|
+
"text": "T | null"
|
|
69657
|
+
}
|
|
69658
|
+
},
|
|
69659
|
+
"parameters": [
|
|
69660
|
+
{
|
|
69661
|
+
"name": "name",
|
|
69662
|
+
"type": {
|
|
69663
|
+
"text": "string"
|
|
69664
|
+
}
|
|
69665
|
+
}
|
|
69666
|
+
],
|
|
69667
|
+
"description": "One of this element's own parts, by name, or null where it is not rendered.\n\nNot `part`, which every element already has: `Element.part` is the\n`DOMTokenList` of the names the element itself carries, and a method under\nthat name is a type error on every subclass.\n\n**One guard for every lookup.** Lit's server shim has no `querySelector`\non the render root, so a lookup reached during a server render, from a\ngetter a template reads or from `willUpdate`, throws there and nowhere\nelse. Four spellings of the same guard had grown across the library, and\na fifth site with none. Null on the server, which is what the rest of the\ncode already treats a part that has not rendered as.\n\n**`~=` and not `=`.** A part drawn in a state carries a second name while\nthe state holds, `part=\"page page-current\"`, and an exact match stops\nfinding it for exactly as long as it is the one that matters.\n\n`helix component`'s `selectors` reads these calls the way it reads a\n`querySelector('[part=\"x\"]')`, so a name nothing renders is a finding\nrather than a null an optional chain swallows.",
|
|
69668
|
+
"inheritedFrom": {
|
|
69669
|
+
"name": "HelixElement",
|
|
69670
|
+
"module": "src/helix-element/helix-element.ts"
|
|
69671
|
+
}
|
|
69672
|
+
},
|
|
69673
|
+
{
|
|
69674
|
+
"kind": "field",
|
|
69675
|
+
"name": "internals",
|
|
69676
|
+
"type": {
|
|
69677
|
+
"text": "ElementInternals"
|
|
69678
|
+
},
|
|
69679
|
+
"privacy": "protected",
|
|
69680
|
+
"readonly": true,
|
|
69681
|
+
"description": "The element's semantics, set without touching the DOM.\n\n`ElementInternals` sets the implicit role, which an author's own `role`\nattribute still overrides, and it writes no attribute. Setting `role` on the\nhost directly would: that is an attribute the element gives itself after it\nupgrades, which a React consumer's server markup never had, and hydration\nreports it as a mismatch.\n\nAvailable during server rendering. Lit's shim implements `attachInternals`,\nso nothing here needs a guard.",
|
|
69682
|
+
"inheritedFrom": {
|
|
69683
|
+
"name": "HelixElement",
|
|
69684
|
+
"module": "src/helix-element/helix-element.ts"
|
|
69685
|
+
}
|
|
69686
|
+
},
|
|
69687
|
+
{
|
|
69688
|
+
"kind": "method",
|
|
69689
|
+
"name": "toggleState",
|
|
69690
|
+
"privacy": "protected",
|
|
69691
|
+
"return": {
|
|
69692
|
+
"type": {
|
|
69693
|
+
"text": "void"
|
|
69694
|
+
}
|
|
69695
|
+
},
|
|
69696
|
+
"parameters": [
|
|
69697
|
+
{
|
|
69698
|
+
"name": "name",
|
|
69699
|
+
"type": {
|
|
69700
|
+
"text": "string"
|
|
69701
|
+
}
|
|
69702
|
+
},
|
|
69703
|
+
{
|
|
69704
|
+
"name": "on",
|
|
69705
|
+
"type": {
|
|
69706
|
+
"text": "boolean"
|
|
69707
|
+
}
|
|
69708
|
+
}
|
|
69709
|
+
],
|
|
69710
|
+
"description": "Records a boolean fact about this element as a custom state.\n\n**The host belongs to whoever rendered it, and a component's own\nbookkeeping may not be kept there.** An attribute written on the first\nupdate is markup a consumer's server never sent, so a React consumer\nhydrates a DOM that has gained attributes since and reports a mismatch it\nwill not patch up. A custom state is not in the DOM at all: it carries the\nfact to a stylesheet through `:state()` and leaves the markup alone, so the\nserver's output and the client's agree by construction.\n\n`SETTLED` carries the long version of that argument; `checked`, `open`,\n`invalid` and `has-label` are recorded the same way, each of them a state a\n`default-*` attribute resolves before React reaches the node.\n\n**Deferring the definitions is not a fix and could not be.** Importing them\nfrom an effect so the upgrades fall the other side of hydration works only\nwhile hydration is one pass: anything that splits it, a streamed segment or\na suspended boundary, puts an upgrade back inside the window. Timing cannot\nbe the guarantee when the fact is kept somewhere React reconciles.\n\nFeature-tested rather than assumed, the way `hostAria` tests element\nreferences. An engine without `CustomStateSet` records nothing and keeps\nwhatever the resting rule draws, which is the safe direction to fail.\n\n**The engines the test is for are browsers**: Safari below 17.4 and Firefox\nbelow 126, where the write is a `TypeError`, so a component bypassing this\nfails to render rather than rendering without whatever the state draws.\nLit's server shim sets `states`, so the guard passes there and records a\nstate nothing reads, which is harmless.",
|
|
69711
|
+
"inheritedFrom": {
|
|
69712
|
+
"name": "HelixElement",
|
|
69713
|
+
"module": "src/helix-element/helix-element.ts"
|
|
69714
|
+
}
|
|
69715
|
+
},
|
|
69716
|
+
{
|
|
69717
|
+
"kind": "field",
|
|
69718
|
+
"name": "whenSettled",
|
|
69719
|
+
"type": {
|
|
69720
|
+
"text": "Promise<void>"
|
|
69721
|
+
},
|
|
69722
|
+
"readonly": true,
|
|
69723
|
+
"description": "Resolves a frame after the first update, when transitions are switched on.\n\n**Named `whenSettled` because `settled` is taken four times over**, by\nImage, Splitter and both color controls, none of them about transitions. A\nbase class takes the name every subclass then cannot use.\n\n**The state it reports cannot be watched, which is why this exists.** A\ncustom state is deliberately not in the DOM, so there is no\n`MutationObserver` equivalent for `ElementInternals.states`. Await this\ninstead.\n\nSeparate from `updateComplete`, which resolves in the microtask checkpoint\nthe suppression is still active in. That is the distinction `readyToMove`\nin `@fusion.dev/helix-testing` is written around.\n\nIt never resolves where `requestAnimationFrame` never fires, which is a\nserver, a hidden tab, and happy-dom. Callers that must not hang there race\nit against a timeout, as the happy-dom harness's `readyToMove` does. The\nbrowser harness's awaits it alone: a browser always runs the frame, and a\ntimer beside it was a bet on how long one takes, which a busy run lost.",
|
|
69724
|
+
"default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
|
|
69725
|
+
"inheritedFrom": {
|
|
69726
|
+
"name": "HelixElement",
|
|
69727
|
+
"module": "src/helix-element/helix-element.ts"
|
|
69728
|
+
}
|
|
69729
|
+
},
|
|
69730
|
+
{
|
|
69731
|
+
"kind": "field",
|
|
69732
|
+
"name": "resolveSettled",
|
|
69733
|
+
"type": {
|
|
69734
|
+
"text": "() => void"
|
|
69735
|
+
},
|
|
69736
|
+
"privacy": "private",
|
|
69737
|
+
"description": "Resolves `whenSettled`, once, from the frame that records the state.",
|
|
69738
|
+
"inheritedFrom": {
|
|
69739
|
+
"name": "HelixElement",
|
|
69740
|
+
"module": "src/helix-element/helix-element.ts"
|
|
69741
|
+
}
|
|
69742
|
+
},
|
|
69743
|
+
{
|
|
69744
|
+
"kind": "field",
|
|
69745
|
+
"name": "fromServer",
|
|
69746
|
+
"type": {
|
|
69747
|
+
"text": "boolean"
|
|
69748
|
+
},
|
|
69749
|
+
"privacy": "private",
|
|
69750
|
+
"default": "false",
|
|
69751
|
+
"description": "Whether the shadow root was a server's, parsed from declarative shadow DOM.",
|
|
69752
|
+
"inheritedFrom": {
|
|
69753
|
+
"name": "HelixElement",
|
|
69754
|
+
"module": "src/helix-element/helix-element.ts"
|
|
69755
|
+
}
|
|
69756
|
+
},
|
|
69757
|
+
{
|
|
69758
|
+
"kind": "field",
|
|
69759
|
+
"name": "hydrating",
|
|
69760
|
+
"type": {
|
|
69761
|
+
"text": "boolean"
|
|
69762
|
+
},
|
|
69763
|
+
"privacy": "protected",
|
|
69764
|
+
"description": "Whether this update is hydrating a server's markup, and so has to render\nexactly what the server rendered.\n\n**Lit hydrates by assuming the markup already shows the first render.** A\nvalue that differs is recorded and never written, so the page keeps the\nserver's, and a template that differs throws. The server has no children,\nso anything a component reads from its children waits for the update after\nhydration, which `finishHydration` asks for. Without a server's markup the\nfirst render reads them and there is one render.",
|
|
69765
|
+
"readonly": true,
|
|
69766
|
+
"inheritedFrom": {
|
|
69767
|
+
"name": "HelixElement",
|
|
69768
|
+
"module": "src/helix-element/helix-element.ts"
|
|
69769
|
+
}
|
|
69770
|
+
},
|
|
69771
|
+
{
|
|
69772
|
+
"kind": "field",
|
|
69773
|
+
"name": "serverRendered",
|
|
69774
|
+
"type": {
|
|
69775
|
+
"text": "boolean"
|
|
69776
|
+
},
|
|
69777
|
+
"privacy": "protected",
|
|
69778
|
+
"description": "Whether this element hydrated a server's markup rather than rendering its own.\n\nFor what happened before hydration and cannot be heard after it: an image\nthe parser fetched fires `load` or `error` before any listener exists, so a\ncomponent asks the image instead, once, when this is true.",
|
|
69779
|
+
"readonly": true,
|
|
69780
|
+
"inheritedFrom": {
|
|
69781
|
+
"name": "HelixElement",
|
|
69782
|
+
"module": "src/helix-element/helix-element.ts"
|
|
69783
|
+
}
|
|
69784
|
+
},
|
|
69785
|
+
{
|
|
69786
|
+
"kind": "method",
|
|
69787
|
+
"name": "finishHydration",
|
|
69788
|
+
"privacy": "protected",
|
|
69789
|
+
"return": {
|
|
69790
|
+
"type": {
|
|
69791
|
+
"text": "void"
|
|
69792
|
+
}
|
|
69793
|
+
},
|
|
69794
|
+
"description": "Asks for the update a hydration put off, so the reads it skipped happen.\n\nCalled from `firstUpdated`, the end of the hydrating update. The render it\nschedules can only follow that one, which is the exception Lit's\nchange-in-update warning names, and it happens only on a page a server\nrendered.",
|
|
69795
|
+
"inheritedFrom": {
|
|
69796
|
+
"name": "HelixElement",
|
|
69797
|
+
"module": "src/helix-element/helix-element.ts"
|
|
69798
|
+
}
|
|
69799
|
+
},
|
|
69800
|
+
{
|
|
69801
|
+
"kind": "field",
|
|
69802
|
+
"name": "childrenKnown",
|
|
69803
|
+
"type": {
|
|
69804
|
+
"text": "boolean"
|
|
69805
|
+
},
|
|
69806
|
+
"privacy": "protected",
|
|
69807
|
+
"description": "Whether this render can know the children.\n\nA server cannot: its element shim carries attributes and no tree, so\n`children` is undefined there. A render hydrating what a server sent must\nnot, because it has to be the server's render. Anywhere else it can. A\ncomponent whose render depends on its children reads them through\n`knownChildren`, and treats \"not known\" as its own answer rather than as\n\"none\": a list that renders its empty state because nobody has looked yet is\nthe one thing an empty state must never do.",
|
|
69808
|
+
"readonly": true,
|
|
69809
|
+
"inheritedFrom": {
|
|
69810
|
+
"name": "HelixElement",
|
|
69811
|
+
"module": "src/helix-element/helix-element.ts"
|
|
69812
|
+
}
|
|
69813
|
+
},
|
|
69814
|
+
{
|
|
69815
|
+
"kind": "field",
|
|
69816
|
+
"name": "knownChildren",
|
|
69817
|
+
"type": {
|
|
69818
|
+
"text": "Element[]"
|
|
69819
|
+
},
|
|
69820
|
+
"privacy": "protected",
|
|
69821
|
+
"description": "The children a render may read: all of them where they are known, and none otherwise.",
|
|
69822
|
+
"readonly": true,
|
|
69823
|
+
"inheritedFrom": {
|
|
69824
|
+
"name": "HelixElement",
|
|
69825
|
+
"module": "src/helix-element/helix-element.ts"
|
|
69826
|
+
}
|
|
69827
|
+
},
|
|
69828
|
+
{
|
|
69829
|
+
"kind": "field",
|
|
69830
|
+
"name": "assignsByName",
|
|
69831
|
+
"type": {
|
|
69832
|
+
"text": "boolean"
|
|
69833
|
+
},
|
|
69834
|
+
"privacy": "protected",
|
|
69835
|
+
"description": "Whether this element's slots route by name although it asked to assign them\nby hand.\n\n**A declarative shadow root is always the by-name kind.** HTML has no way to\nask for manual assignment, so a component that assigns by hand and hydrates\na server's root gets one where `slot.assign()` does nothing, and its\nchildren land wherever their `slot` attribute sends them. The way through is\nto write that attribute, which is what `route` does. Only there: on a root\nthis element made, assignment stays manual and the consumer's markup is\nnever touched, which is what a React consumer's hydration requires.",
|
|
69836
|
+
"readonly": true,
|
|
69837
|
+
"inheritedFrom": {
|
|
69838
|
+
"name": "HelixElement",
|
|
69839
|
+
"module": "src/helix-element/helix-element.ts"
|
|
69840
|
+
}
|
|
69841
|
+
},
|
|
69842
|
+
{
|
|
69843
|
+
"kind": "method",
|
|
69844
|
+
"name": "route",
|
|
69845
|
+
"privacy": "protected",
|
|
69846
|
+
"return": {
|
|
69847
|
+
"type": {
|
|
69848
|
+
"text": "void"
|
|
69849
|
+
}
|
|
69850
|
+
},
|
|
69851
|
+
"parameters": [
|
|
69852
|
+
{
|
|
69853
|
+
"name": "child",
|
|
69854
|
+
"type": {
|
|
69855
|
+
"text": "Element"
|
|
69856
|
+
}
|
|
69857
|
+
},
|
|
69858
|
+
{
|
|
69859
|
+
"name": "name",
|
|
69860
|
+
"type": {
|
|
69861
|
+
"text": "string | undefined"
|
|
69862
|
+
}
|
|
69863
|
+
}
|
|
69864
|
+
],
|
|
69865
|
+
"description": "Sends a child to a slot by name, on a root that routes by name.\n\n`undefined` is the default slot. Written only when it differs, so routing\nthe same child again on every update writes nothing.",
|
|
69866
|
+
"inheritedFrom": {
|
|
69867
|
+
"name": "HelixElement",
|
|
69868
|
+
"module": "src/helix-element/helix-element.ts"
|
|
69869
|
+
}
|
|
69870
|
+
},
|
|
69871
|
+
{
|
|
69872
|
+
"kind": "field",
|
|
69873
|
+
"name": "stopInner",
|
|
69874
|
+
"privacy": "protected",
|
|
69875
|
+
"readonly": true,
|
|
69876
|
+
"description": "Stops an inner control's own announcement at this element's boundary.\n\n**A composed control is one control to a consumer, and the natives had no\nequivalent of the stop the prefixed events already get.** `<helix-select>`\nrenders a `<helix-listbox>`, and both announce: the listbox dispatches\n`input` and `change` from its own host, `input` is composed by\nspecification, and a consumer listening on the select therefore heard one\nchoice twice. Measured before this existed, on the styled tier, one choice\non the inner listbox: select `input` twice and `change` three times,\ncombobox, date input, time input and color input twice each. `Command` was\nthe only one that was right, because it happened to reach for\n`stopImmediatePropagation` for a different reason.\n\nBound on the child in the parent's template, so it runs while the event is\nstill at the child and before it can cross. The guard is for the case where\na component binds this on itself: an element must never stop its own\nannouncement, which is the one it exists to make.\n\nThis is the same job the `helix-before-*` handlers do with their own\n`stopPropagation`, and it is separate rather than folded into them because\na consumer may legitimately refuse a request without the notification ever\nhappening: the two travel at different times and one can be absent.",
|
|
69877
|
+
"inheritedFrom": {
|
|
69878
|
+
"name": "HelixElement",
|
|
69879
|
+
"module": "src/helix-element/helix-element.ts"
|
|
69880
|
+
}
|
|
69881
|
+
},
|
|
69882
|
+
{
|
|
69883
|
+
"kind": "method",
|
|
69884
|
+
"name": "relayNativeEvent",
|
|
69885
|
+
"privacy": "protected",
|
|
69886
|
+
"return": {
|
|
69887
|
+
"type": {
|
|
69888
|
+
"text": "void"
|
|
69889
|
+
}
|
|
69890
|
+
},
|
|
69891
|
+
"parameters": [
|
|
69892
|
+
{
|
|
69893
|
+
"name": "event",
|
|
69894
|
+
"type": {
|
|
69895
|
+
"text": "Event"
|
|
69896
|
+
}
|
|
69897
|
+
},
|
|
69898
|
+
{
|
|
69899
|
+
"name": "init",
|
|
69900
|
+
"optional": true,
|
|
69901
|
+
"type": {
|
|
69902
|
+
"text": "EventInit"
|
|
69903
|
+
}
|
|
69904
|
+
}
|
|
69905
|
+
],
|
|
69906
|
+
"description": "Re-emits a native event from the host, under its own name.\n\nA native event fired by an inner `<input>` or `<textarea>` is not composed,\nso it stops at the shadow boundary and a consumer listening on\n`<helix-input>` hears nothing. Re-dispatching it from the host is what\nmakes the component behave like the control it wraps.\n\nThe relayed event keeps the native name deliberately. `change` is `change`,\nwhich is what a consumer already knows to listen for, and it is what\nreaches React: its synthetic system claims `onChange` and wires it to that\nname, so a prefixed one would never arrive.\n\n`composed` is not forced. It defaults to the original event's own value, so\na relayed `change` stops at the next shadow boundary exactly as a native\none would. Pass it explicitly only where escaping is the intent, and say so\nwhere you do.",
|
|
69907
|
+
"inheritedFrom": {
|
|
69908
|
+
"name": "HelixElement",
|
|
69909
|
+
"module": "src/helix-element/helix-element.ts"
|
|
69910
|
+
}
|
|
69911
|
+
},
|
|
69912
|
+
{
|
|
69913
|
+
"kind": "method",
|
|
69914
|
+
"name": "finalizeStyles",
|
|
69915
|
+
"privacy": "protected",
|
|
69916
|
+
"static": true,
|
|
69917
|
+
"return": {
|
|
69918
|
+
"type": {
|
|
69919
|
+
"text": "CSSResultOrNative[]"
|
|
69920
|
+
}
|
|
69921
|
+
},
|
|
69922
|
+
"parameters": [
|
|
69923
|
+
{
|
|
69924
|
+
"name": "styles",
|
|
69925
|
+
"optional": true,
|
|
69926
|
+
"type": {
|
|
69927
|
+
"text": "CSSResultOrNative | CSSResultOrNative[]"
|
|
69928
|
+
}
|
|
69929
|
+
}
|
|
69930
|
+
],
|
|
69931
|
+
"description": "Prepends the shadow-root reset to every subclass's styles, so no component\nhas to remember to include it.",
|
|
69932
|
+
"inheritedFrom": {
|
|
69933
|
+
"name": "HelixElement",
|
|
69934
|
+
"module": "src/helix-element/helix-element.ts"
|
|
69935
|
+
}
|
|
69936
|
+
}
|
|
69937
|
+
],
|
|
69938
|
+
"superclass": {
|
|
69939
|
+
"name": "HelixHeadlessMap",
|
|
69940
|
+
"package": "@fusion.dev/helix-headless/map"
|
|
69941
|
+
},
|
|
69942
|
+
"summary": "A frame around somebody else's map.",
|
|
69943
|
+
"helix": {
|
|
69944
|
+
"category": "media",
|
|
69945
|
+
"since": "0.100.0",
|
|
69946
|
+
"status": "stable",
|
|
69947
|
+
"documentation": "https://fusion.dev/helix/components/map",
|
|
69948
|
+
"aliases": [
|
|
69949
|
+
"Map frame",
|
|
69950
|
+
"Map container",
|
|
69951
|
+
"Geo"
|
|
69952
|
+
],
|
|
69953
|
+
"tier": "styled",
|
|
69954
|
+
"group": "Map",
|
|
69955
|
+
"part": "Root",
|
|
69956
|
+
"examples": [
|
|
69957
|
+
{
|
|
69958
|
+
"description": "A map the consumer brings, in a frame that names it and can be driven from the keyboard.",
|
|
69959
|
+
"slug": "framed"
|
|
69960
|
+
}
|
|
69961
|
+
],
|
|
69962
|
+
"source": "helix/styled/src/map"
|
|
69963
|
+
},
|
|
69964
|
+
"tagName": "helix-map",
|
|
69965
|
+
"customElement": true,
|
|
69966
|
+
"slots": [
|
|
69967
|
+
{
|
|
69968
|
+
"description": "The map, which is the consumer's own.",
|
|
69969
|
+
"name": "",
|
|
69970
|
+
"inheritedFrom": {
|
|
69971
|
+
"name": "HelixHeadlessMap",
|
|
69972
|
+
"module": "src/map/root/map-root.ts"
|
|
69973
|
+
}
|
|
69974
|
+
},
|
|
69975
|
+
{
|
|
69976
|
+
"description": "Whoever the tiles belong to, which most licenses require you to say.",
|
|
69977
|
+
"name": "attribution",
|
|
69978
|
+
"inheritedFrom": {
|
|
69979
|
+
"name": "HelixHeadlessMap",
|
|
69980
|
+
"module": "src/map/root/map-root.ts"
|
|
69981
|
+
}
|
|
69982
|
+
},
|
|
69983
|
+
{
|
|
69984
|
+
"description": "Chrome below the map, such as a legend or a scale.",
|
|
69985
|
+
"name": "footer",
|
|
69986
|
+
"inheritedFrom": {
|
|
69987
|
+
"name": "HelixHeadlessMap",
|
|
69988
|
+
"module": "src/map/root/map-root.ts"
|
|
69989
|
+
}
|
|
69990
|
+
},
|
|
69991
|
+
{
|
|
69992
|
+
"description": "Chrome above the map, such as a title or a search field.",
|
|
69993
|
+
"name": "header",
|
|
69994
|
+
"inheritedFrom": {
|
|
69995
|
+
"name": "HelixHeadlessMap",
|
|
69996
|
+
"module": "src/map/root/map-root.ts"
|
|
69997
|
+
}
|
|
69998
|
+
}
|
|
69999
|
+
],
|
|
70000
|
+
"cssParts": [
|
|
70001
|
+
{
|
|
70002
|
+
"description": "The group the pan and zoom buttons sit in.",
|
|
70003
|
+
"name": "controls",
|
|
70004
|
+
"inheritedFrom": {
|
|
70005
|
+
"name": "HelixHeadlessMap",
|
|
70006
|
+
"module": "src/map/root/map-root.ts"
|
|
70007
|
+
}
|
|
70008
|
+
},
|
|
70009
|
+
{
|
|
70010
|
+
"description": "The button that fills the screen.",
|
|
70011
|
+
"name": "fullscreen",
|
|
70012
|
+
"inheritedFrom": {
|
|
70013
|
+
"name": "HelixHeadlessMap",
|
|
70014
|
+
"module": "src/map/root/map-root.ts"
|
|
70015
|
+
}
|
|
70016
|
+
},
|
|
70017
|
+
{
|
|
70018
|
+
"description": "The button that moves the map down.",
|
|
70019
|
+
"name": "pan-down",
|
|
70020
|
+
"inheritedFrom": {
|
|
70021
|
+
"name": "HelixHeadlessMap",
|
|
70022
|
+
"module": "src/map/root/map-root.ts"
|
|
70023
|
+
}
|
|
70024
|
+
},
|
|
70025
|
+
{
|
|
70026
|
+
"description": "The button that moves the map the way the text ends, which is right on an English page.",
|
|
70027
|
+
"name": "pan-end",
|
|
70028
|
+
"inheritedFrom": {
|
|
70029
|
+
"name": "HelixHeadlessMap",
|
|
70030
|
+
"module": "src/map/root/map-root.ts"
|
|
70031
|
+
}
|
|
70032
|
+
},
|
|
70033
|
+
{
|
|
70034
|
+
"description": "The button that moves the map the way the text starts, which is left on an English page.",
|
|
70035
|
+
"name": "pan-start",
|
|
70036
|
+
"inheritedFrom": {
|
|
70037
|
+
"name": "HelixHeadlessMap",
|
|
70038
|
+
"module": "src/map/root/map-root.ts"
|
|
70039
|
+
}
|
|
70040
|
+
},
|
|
70041
|
+
{
|
|
70042
|
+
"description": "The button that moves the map up.",
|
|
70043
|
+
"name": "pan-up",
|
|
70044
|
+
"inheritedFrom": {
|
|
70045
|
+
"name": "HelixHeadlessMap",
|
|
70046
|
+
"module": "src/map/root/map-root.ts"
|
|
70047
|
+
}
|
|
70048
|
+
},
|
|
70049
|
+
{
|
|
70050
|
+
"description": "The named region the map is slotted into.",
|
|
70051
|
+
"name": "region",
|
|
70052
|
+
"inheritedFrom": {
|
|
70053
|
+
"name": "HelixHeadlessMap",
|
|
70054
|
+
"module": "src/map/root/map-root.ts"
|
|
70055
|
+
}
|
|
70056
|
+
},
|
|
70057
|
+
{
|
|
70058
|
+
"description": "The box the map is drawn in.",
|
|
70059
|
+
"name": "viewport",
|
|
70060
|
+
"inheritedFrom": {
|
|
70061
|
+
"name": "HelixHeadlessMap",
|
|
70062
|
+
"module": "src/map/root/map-root.ts"
|
|
70063
|
+
}
|
|
70064
|
+
},
|
|
70065
|
+
{
|
|
70066
|
+
"description": "The button that zooms in.",
|
|
70067
|
+
"name": "zoom-in",
|
|
70068
|
+
"inheritedFrom": {
|
|
70069
|
+
"name": "HelixHeadlessMap",
|
|
70070
|
+
"module": "src/map/root/map-root.ts"
|
|
70071
|
+
}
|
|
70072
|
+
},
|
|
70073
|
+
{
|
|
70074
|
+
"description": "The button that zooms out.",
|
|
70075
|
+
"name": "zoom-out",
|
|
70076
|
+
"inheritedFrom": {
|
|
70077
|
+
"name": "HelixHeadlessMap",
|
|
70078
|
+
"module": "src/map/root/map-root.ts"
|
|
70079
|
+
}
|
|
70080
|
+
}
|
|
70081
|
+
],
|
|
70082
|
+
"attributes": [
|
|
70083
|
+
{
|
|
70084
|
+
"name": "fullscreen-label",
|
|
70085
|
+
"type": {
|
|
70086
|
+
"text": "string"
|
|
70087
|
+
},
|
|
70088
|
+
"default": "'Fill the screen'",
|
|
70089
|
+
"description": "What the control that fills the screen is called.",
|
|
70090
|
+
"fieldName": "fullscreenLabel",
|
|
70091
|
+
"inheritedFrom": {
|
|
70092
|
+
"name": "HelixHeadlessMap",
|
|
70093
|
+
"module": "src/map/root/map-root.ts"
|
|
70094
|
+
}
|
|
70095
|
+
},
|
|
70096
|
+
{
|
|
70097
|
+
"name": "idle-delay",
|
|
70098
|
+
"type": {
|
|
70099
|
+
"text": "number"
|
|
70100
|
+
},
|
|
70101
|
+
"default": "0",
|
|
70102
|
+
"description": "How long the reader may be still before the chrome hides, in milliseconds.\n\nZero keeps it up, which is the default: a map's controls are how a keyboard\nreader operates it, and chrome that hides itself by default would be this\ncomponent undoing its own argument. Set it for a display map nobody drives.",
|
|
70103
|
+
"fieldName": "idleDelay",
|
|
70104
|
+
"inheritedFrom": {
|
|
70105
|
+
"name": "HelixHeadlessMap",
|
|
70106
|
+
"module": "src/map/root/map-root.ts"
|
|
70107
|
+
}
|
|
70108
|
+
},
|
|
70109
|
+
{
|
|
70110
|
+
"name": "label",
|
|
70111
|
+
"type": {
|
|
70112
|
+
"text": "string"
|
|
70113
|
+
},
|
|
70114
|
+
"default": "''",
|
|
70115
|
+
"description": "Accessible name for the map, which is the one thing a consumer must write.\n\nThere is no sensible default. \"Map\" names the widget rather than the place,\nand a reader meeting three of them on a page learns nothing from hearing the\nsame word three times.",
|
|
70116
|
+
"fieldName": "label",
|
|
70117
|
+
"inheritedFrom": {
|
|
70118
|
+
"name": "HelixHeadlessMap",
|
|
70119
|
+
"module": "src/map/root/map-root.ts"
|
|
70120
|
+
}
|
|
70121
|
+
},
|
|
70122
|
+
{
|
|
70123
|
+
"name": "pan-label",
|
|
70124
|
+
"type": {
|
|
70125
|
+
"text": "string"
|
|
70126
|
+
},
|
|
70127
|
+
"default": "'Pan {way}'",
|
|
70128
|
+
"description": "What the controls are called, for a page not in English.",
|
|
70129
|
+
"fieldName": "panLabel",
|
|
70130
|
+
"inheritedFrom": {
|
|
70131
|
+
"name": "HelixHeadlessMap",
|
|
70132
|
+
"module": "src/map/root/map-root.ts"
|
|
70133
|
+
}
|
|
70134
|
+
},
|
|
70135
|
+
{
|
|
70136
|
+
"name": "pan-step",
|
|
70137
|
+
"type": {
|
|
70138
|
+
"text": "number"
|
|
70139
|
+
},
|
|
70140
|
+
"default": "0.25",
|
|
70141
|
+
"description": "How far one press moves the map, as a fraction of what is on screen.\n\nA fraction rather than a distance, because this frame does not know the\nscale of what is inside it: a quarter of the viewport is the same gesture at\nstreet level and at country level, and a consumer who wants metres can\nmultiply by their own.",
|
|
70142
|
+
"fieldName": "panStep",
|
|
70143
|
+
"inheritedFrom": {
|
|
70144
|
+
"name": "HelixHeadlessMap",
|
|
70145
|
+
"module": "src/map/root/map-root.ts"
|
|
70146
|
+
}
|
|
70147
|
+
},
|
|
70148
|
+
{
|
|
70149
|
+
"name": "zoom-in-label",
|
|
70150
|
+
"type": {
|
|
70151
|
+
"text": "string"
|
|
70152
|
+
},
|
|
70153
|
+
"default": "'Zoom in'",
|
|
70154
|
+
"description": "What the zoom controls are called.",
|
|
70155
|
+
"fieldName": "zoomInLabel",
|
|
70156
|
+
"inheritedFrom": {
|
|
70157
|
+
"name": "HelixHeadlessMap",
|
|
70158
|
+
"module": "src/map/root/map-root.ts"
|
|
70159
|
+
}
|
|
70160
|
+
},
|
|
70161
|
+
{
|
|
70162
|
+
"name": "zoom-out-label",
|
|
70163
|
+
"type": {
|
|
70164
|
+
"text": "string"
|
|
70165
|
+
},
|
|
70166
|
+
"default": "'Zoom out'",
|
|
70167
|
+
"description": "What the zoom control that goes the other way is called.",
|
|
70168
|
+
"fieldName": "zoomOutLabel",
|
|
70169
|
+
"inheritedFrom": {
|
|
70170
|
+
"name": "HelixHeadlessMap",
|
|
70171
|
+
"module": "src/map/root/map-root.ts"
|
|
70172
|
+
}
|
|
70173
|
+
}
|
|
70174
|
+
],
|
|
70175
|
+
"events": [
|
|
70176
|
+
{
|
|
70177
|
+
"type": {
|
|
70178
|
+
"text": "HelixMapPanEvent"
|
|
70179
|
+
},
|
|
70180
|
+
"description": "The reader asked the map to move. Answer it against your own map.",
|
|
70181
|
+
"name": "helix-map-pan",
|
|
70182
|
+
"reactProp": "onhelix-map-pan",
|
|
70183
|
+
"inheritedFrom": {
|
|
70184
|
+
"name": "HelixHeadlessMap",
|
|
70185
|
+
"module": "src/map/root/map-root.ts"
|
|
70186
|
+
}
|
|
70187
|
+
},
|
|
70188
|
+
{
|
|
70189
|
+
"type": {
|
|
70190
|
+
"text": "HelixMapZoomEvent"
|
|
70191
|
+
},
|
|
70192
|
+
"description": "The reader asked the map to zoom, by a direction rather than to a level.",
|
|
70193
|
+
"name": "helix-map-zoom",
|
|
70194
|
+
"reactProp": "onhelix-map-zoom",
|
|
70195
|
+
"inheritedFrom": {
|
|
70196
|
+
"name": "HelixHeadlessMap",
|
|
70197
|
+
"module": "src/map/root/map-root.ts"
|
|
70198
|
+
}
|
|
70199
|
+
}
|
|
70200
|
+
],
|
|
70201
|
+
"cssStates": [
|
|
70202
|
+
{
|
|
70203
|
+
"description": "While the frame fills the screen.",
|
|
70204
|
+
"name": "fullscreen",
|
|
70205
|
+
"inheritedFrom": {
|
|
70206
|
+
"name": "HelixHeadlessMap",
|
|
70207
|
+
"module": "src/map/root/map-root.ts"
|
|
70208
|
+
}
|
|
70209
|
+
},
|
|
70210
|
+
{
|
|
70211
|
+
"description": "While the reader has been still long enough to hide the chrome.",
|
|
70212
|
+
"name": "idle",
|
|
70213
|
+
"inheritedFrom": {
|
|
70214
|
+
"name": "HelixHeadlessMap",
|
|
70215
|
+
"module": "src/map/root/map-root.ts"
|
|
70216
|
+
}
|
|
70217
|
+
},
|
|
70218
|
+
{
|
|
70219
|
+
"description": "Set a frame after the first render. Transitions are held off until it is, so an element never animates its own arrival.",
|
|
70220
|
+
"name": "settled",
|
|
70221
|
+
"inheritedFrom": {
|
|
70222
|
+
"name": "HelixElement",
|
|
70223
|
+
"module": "src/helix-element/helix-element.ts"
|
|
70224
|
+
}
|
|
70225
|
+
}
|
|
70226
|
+
],
|
|
70227
|
+
"modulePath": "src/map/root/map-root.ts",
|
|
70228
|
+
"definitionPath": "src/map/root/map-root.ts"
|
|
70229
|
+
}
|
|
70230
|
+
],
|
|
70231
|
+
"exports": [
|
|
70232
|
+
{
|
|
70233
|
+
"kind": "js",
|
|
70234
|
+
"name": "HelixMap",
|
|
70235
|
+
"declaration": {
|
|
70236
|
+
"name": "HelixMap",
|
|
70237
|
+
"module": "src/map/root/map-root.ts"
|
|
70238
|
+
}
|
|
70239
|
+
},
|
|
70240
|
+
{
|
|
70241
|
+
"kind": "custom-element-definition",
|
|
70242
|
+
"name": "helix-map",
|
|
70243
|
+
"declaration": {
|
|
70244
|
+
"name": "HelixMap",
|
|
70245
|
+
"module": "src/map/root/map-root.ts"
|
|
70246
|
+
}
|
|
70247
|
+
}
|
|
70248
|
+
]
|
|
70249
|
+
},
|
|
69294
70250
|
{
|
|
69295
70251
|
"kind": "javascript-module",
|
|
69296
70252
|
"path": "src/megamenu/index.ts",
|