@fusion.dev/helix 0.103.0 → 0.103.2

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.
@@ -69424,7 +69424,7 @@
69424
69424
  "text": "string"
69425
69425
  },
69426
69426
  "default": "''",
69427
- "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.",
69427
+ "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.\n\n**The region is a tab stop**, so the keys are reachable however the controls\nare configured: the listener is on the region, and without a stop of its own\na frame at `controls=\"none\"` around a map with nothing focusable in it had\narrow keys no reader could ever press. `aria-keyshortcuts` says which keys\nrather than spelling them into the name, which would otherwise be read out\nat every encounter.",
69428
69428
  "attribute": "label",
69429
69429
  "inheritedFrom": {
69430
69430
  "name": "HelixHeadlessMap",
@@ -69632,7 +69632,7 @@
69632
69632
  "name": "handleKeydown",
69633
69633
  "privacy": "private",
69634
69634
  "readonly": true,
69635
- "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.",
69635
+ "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.\n\n**Only from this frame's own chrome, and that is the difference between one\nmove and two.** MapLibre and Leaflet both answer the arrow keys themselves,\nso a press inside a slotted map moves it once on its own and once more on\nthe event this would have sent: every press moving twice, and the consumer\nwith no way to tell which half to turn off. A press that started in the\nshadow root is this frame's to relay; anything from the map belongs to the\nmap.",
69636
69636
  "inheritedFrom": {
69637
69637
  "name": "HelixHeadlessMap",
69638
69638
  "module": "src/map/root/map-root.ts"
@@ -70021,8 +70021,20 @@
70021
70021
  "part": "Root",
70022
70022
  "examples": [
70023
70023
  {
70024
- "description": "A map the consumer brings, keeping the pan pad their own library does not draw and dropping the zoom it does.",
70024
+ "description": "The frame at rest: a named region, the controls it draws, and the credit the tiles require.",
70025
70025
  "slug": "framed"
70026
+ },
70027
+ {
70028
+ "description": "No controls at all, for a map whose own are already findable: what is left is the name, the chrome and the credit.",
70029
+ "slug": "quiet"
70030
+ },
70031
+ {
70032
+ "description": "Keeping the pan pad a map library does not draw and dropping the zoom it does, in the corner theirs is not in.",
70033
+ "slug": "tailored"
70034
+ },
70035
+ {
70036
+ "description": "Answering the frame: it asks with `helix-map-pan` and `helix-map-zoom`, and your map does the moving.",
70037
+ "slug": "wired"
70026
70038
  }
70027
70039
  ],
70028
70040
  "source": "helix/styled/src/map"
@@ -70064,6 +70076,14 @@
70064
70076
  }
70065
70077
  ],
70066
70078
  "cssParts": [
70079
+ {
70080
+ "description": "The strip the credit sits in, under the map.",
70081
+ "name": "attribution",
70082
+ "inheritedFrom": {
70083
+ "name": "HelixHeadlessMap",
70084
+ "module": "src/map/root/map-root.ts"
70085
+ }
70086
+ },
70067
70087
  {
70068
70088
  "description": "The group the pan and zoom buttons sit in.",
70069
70089
  "name": "controls",
@@ -70072,6 +70092,14 @@
70072
70092
  "module": "src/map/root/map-root.ts"
70073
70093
  }
70074
70094
  },
70095
+ {
70096
+ "description": "The strip below the map, for what a consumer slots there.",
70097
+ "name": "footer",
70098
+ "inheritedFrom": {
70099
+ "name": "HelixHeadlessMap",
70100
+ "module": "src/map/root/map-root.ts"
70101
+ }
70102
+ },
70075
70103
  {
70076
70104
  "description": "The button that fills the screen.",
70077
70105
  "name": "fullscreen",
@@ -70080,6 +70108,14 @@
70080
70108
  "module": "src/map/root/map-root.ts"
70081
70109
  }
70082
70110
  },
70111
+ {
70112
+ "description": "The strip above the map, for what a consumer slots there.",
70113
+ "name": "header",
70114
+ "inheritedFrom": {
70115
+ "name": "HelixHeadlessMap",
70116
+ "module": "src/map/root/map-root.ts"
70117
+ }
70118
+ },
70083
70119
  {
70084
70120
  "description": "The button that moves the map down.",
70085
70121
  "name": "pan-down",
@@ -70202,7 +70238,7 @@
70202
70238
  "text": "string"
70203
70239
  },
70204
70240
  "default": "''",
70205
- "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.",
70241
+ "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.\n\n**The region is a tab stop**, so the keys are reachable however the controls\nare configured: the listener is on the region, and without a stop of its own\na frame at `controls=\"none\"` around a map with nothing focusable in it had\narrow keys no reader could ever press. `aria-keyshortcuts` says which keys\nrather than spelling them into the name, which would otherwise be read out\nat every encounter.",
70206
70242
  "fieldName": "label",
70207
70243
  "inheritedFrom": {
70208
70244
  "name": "HelixHeadlessMap",
@@ -15,11 +15,6 @@ overflow: hidden;
15
15
  position: relative;
16
16
  }
17
17
 
18
- [part="region"]:focus-within {
19
- outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
20
- outline-offset: calc(var(--helix-size-focus-offset) * -1);
21
- }
22
-
23
18
  [part="viewport"] {
24
19
  min-block-size: 0;
25
20
  overflow: hidden;
@@ -118,6 +113,11 @@ justify-content: center;
118
113
  padding: 0;
119
114
  }
120
115
 
116
+ [part="controls"] button:focus-visible {
117
+ outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
118
+ outline-offset: var(--helix-size-focus-offset);
119
+ }
120
+
121
121
  [part="controls"] button:hover {
122
122
  background-color: var(--helix-color-surface-raised);
123
123
  }
@@ -129,6 +129,8 @@ transition: opacity var(--helix-duration-fast) var(--helix-easing-standard);
129
129
  }
130
130
 
131
131
  ::slotted([slot="attribution"]) {
132
+
133
+ border-block-start: var(--helix-border-thin) solid var(--helix-color-border);
132
134
  color: var(--helix-color-foreground-subtle);
133
135
  font-size: var(--helix-text-xs);
134
136
  padding: var(--helix-space-2xs) var(--helix-space-xs);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fusion.dev/helix",
3
3
  "description": "Styled component tier. Extends the headless tier with token-driven presentation.",
4
- "version": "0.103.0",
4
+ "version": "0.103.2",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -47,13 +47,13 @@
47
47
  },
48
48
  "bugs": "https://github.com/project-fusion/fusion/issues",
49
49
  "dependencies": {
50
- "@fusion.dev/helix-core": "0.103.0",
51
- "@fusion.dev/helix-headless": "0.103.0",
52
- "@fusion.dev/helix-styles": "0.103.0"
50
+ "@fusion.dev/helix-core": "0.103.2",
51
+ "@fusion.dev/helix-headless": "0.103.2",
52
+ "@fusion.dev/helix-styles": "0.103.2"
53
53
  },
54
54
  "devDependencies": {
55
- "@fusion.dev/helix-cem": "0.103.0",
56
- "@fusion.dev/helix-testing": "0.103.0",
55
+ "@fusion.dev/helix-cem": "0.103.2",
56
+ "@fusion.dev/helix-testing": "0.103.2",
57
57
  "@fusion.dev/scripts": "0.0.0-dev",
58
58
  "@happy-dom/global-registrator": "^20.0.0",
59
59
  "@lit-labs/ssr": "^4.1.0",
package/types/jsx.d.ts CHANGED
@@ -11581,7 +11581,14 @@ component undoing its own argument. Set it for a display map nobody drives. */
11581
11581
 
11582
11582
  There is no sensible default. "Map" names the widget rather than the place,
11583
11583
  and a reader meeting three of them on a page learns nothing from hearing the
11584
- same word three times. */
11584
+ same word three times.
11585
+
11586
+ **The region is a tab stop**, so the keys are reachable however the controls
11587
+ are configured: the listener is on the region, and without a stop of its own
11588
+ a frame at `controls="none"` around a map with nothing focusable in it had
11589
+ arrow keys no reader could ever press. `aria-keyshortcuts` says which keys
11590
+ rather than spelling them into the name, which would otherwise be read out
11591
+ at every encounter. */
11585
11592
  label?: (HelixMap["label"]) | undefined;
11586
11593
  /** What the controls are called, for a page not in English. */
11587
11594
  "pan-label"?: (HelixMap["panLabel"]) | undefined;
@@ -11688,7 +11695,14 @@ component undoing its own argument. Set it for a display map nobody drives. */
11688
11695
 
11689
11696
  There is no sensible default. "Map" names the widget rather than the place,
11690
11697
  and a reader meeting three of them on a page learns nothing from hearing the
11691
- same word three times. */
11698
+ same word three times.
11699
+
11700
+ **The region is a tab stop**, so the keys are reachable however the controls
11701
+ are configured: the listener is on the region, and without a stop of its own
11702
+ a frame at `controls="none"` around a map with nothing focusable in it had
11703
+ arrow keys no reader could ever press. `aria-keyshortcuts` says which keys
11704
+ rather than spelling them into the name, which would otherwise be read out
11705
+ at every encounter. */
11692
11706
  "prop:label"?: (HelixMap["label"]) | undefined;
11693
11707
  /** What the controls are called, for a page not in English. */
11694
11708
  "attr:pan-label"?: (HelixMap["panLabel"]) | undefined;
@@ -31918,6 +31932,13 @@ export type CustomElements = {
31918
31932
  * There is no sensible default. "Map" names the widget rather than the place,
31919
31933
  * and a reader meeting three of them on a page learns nothing from hearing the
31920
31934
  * same word three times.
31935
+ *
31936
+ * **The region is a tab stop**, so the keys are reachable however the controls
31937
+ * are configured: the listener is on the region, and without a stop of its own
31938
+ * a frame at `controls="none"` around a map with nothing focusable in it had
31939
+ * arrow keys no reader could ever press. `aria-keyshortcuts` says which keys
31940
+ * rather than spelling them into the name, which would otherwise be read out
31941
+ * at every encounter.
31921
31942
  * - `pan-label`/`panLabel`: What the controls are called, for a page not in English.
31922
31943
  * - `pan-step`/`panStep`: How far one press moves the map, as a fraction of what is on screen.
31923
31944
  *
@@ -31985,8 +32006,11 @@ export type CustomElements = {
31985
32006
  *
31986
32007
  * Custom selectors for styling elements within the component.
31987
32008
  *
32009
+ * - `attribution`: The strip the credit sits in, under the map.
31988
32010
  * - `controls`: The group the pan and zoom buttons sit in.
32011
+ * - `footer`: The strip below the map, for what a consumer slots there.
31989
32012
  * - `fullscreen`: The button that fills the screen.
32013
+ * - `header`: The strip above the map, for what a consumer slots there.
31990
32014
  * - `pan-down`: The button that moves the map down.
31991
32015
  * - `pan-end`: The button that moves the map the way the text ends, which is right on an English page.
31992
32016
  * - `pan-start`: The button that moves the map the way the text starts, which is left on an English page.
@@ -52151,6 +52175,13 @@ export type CustomElementsSolidJs = {
52151
52175
  * There is no sensible default. "Map" names the widget rather than the place,
52152
52176
  * and a reader meeting three of them on a page learns nothing from hearing the
52153
52177
  * same word three times.
52178
+ *
52179
+ * **The region is a tab stop**, so the keys are reachable however the controls
52180
+ * are configured: the listener is on the region, and without a stop of its own
52181
+ * a frame at `controls="none"` around a map with nothing focusable in it had
52182
+ * arrow keys no reader could ever press. `aria-keyshortcuts` says which keys
52183
+ * rather than spelling them into the name, which would otherwise be read out
52184
+ * at every encounter.
52154
52185
  * - `pan-label`/`panLabel`: What the controls are called, for a page not in English.
52155
52186
  * - `pan-step`/`panStep`: How far one press moves the map, as a fraction of what is on screen.
52156
52187
  *
@@ -52218,8 +52249,11 @@ export type CustomElementsSolidJs = {
52218
52249
  *
52219
52250
  * Custom selectors for styling elements within the component.
52220
52251
  *
52252
+ * - `attribution`: The strip the credit sits in, under the map.
52221
52253
  * - `controls`: The group the pan and zoom buttons sit in.
52254
+ * - `footer`: The strip below the map, for what a consumer slots there.
52222
52255
  * - `fullscreen`: The button that fills the screen.
52256
+ * - `header`: The strip above the map, for what a consumer slots there.
52223
52257
  * - `pan-down`: The button that moves the map down.
52224
52258
  * - `pan-end`: The button that moves the map the way the text ends, which is right on an English page.
52225
52259
  * - `pan-start`: The button that moves the map the way the text starts, which is left on an English page.
package/types/vue.d.ts CHANGED
@@ -5951,7 +5951,14 @@ component undoing its own argument. Set it for a display map nobody drives. */
5951
5951
 
5952
5952
  There is no sensible default. "Map" names the widget rather than the place,
5953
5953
  and a reader meeting three of them on a page learns nothing from hearing the
5954
- same word three times. */
5954
+ same word three times.
5955
+
5956
+ **The region is a tab stop**, so the keys are reachable however the controls
5957
+ are configured: the listener is on the region, and without a stop of its own
5958
+ a frame at `controls="none"` around a map with nothing focusable in it had
5959
+ arrow keys no reader could ever press. `aria-keyshortcuts` says which keys
5960
+ rather than spelling them into the name, which would otherwise be read out
5961
+ at every encounter. */
5955
5962
  label?: (HelixMap["label"]) | undefined;
5956
5963
  /** What the controls are called, for a page not in English. */
5957
5964
  "pan-label"?: (HelixMap["panLabel"]) | undefined;