@fusion.dev/helix-core 0.178.0 → 0.179.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.
@@ -15876,6 +15876,14 @@
15876
15876
  "module": "./utils/draw-tooltip/draw-tooltip.js"
15877
15877
  }
15878
15878
  },
15879
+ {
15880
+ "kind": "js",
15881
+ "name": "spokenReading",
15882
+ "declaration": {
15883
+ "name": "spokenReading",
15884
+ "module": "./utils/draw-tooltip/spoken-reading.js"
15885
+ }
15886
+ },
15879
15887
  {
15880
15888
  "kind": "js",
15881
15889
  "name": "drawValueAxis",
@@ -30384,7 +30392,7 @@
30384
30392
  }
30385
30393
  }
30386
30394
  ],
30387
- "description": "Adds `by` to the elements that describe `target`, where that is safe, and\nsays whether `target` is now described by it.\n\nThrough element reflection, and only where no framework is watching:\n\n- **Inside a shadow root**, such as the `<button>` a Helix button draws, it\n is always safe. That markup is the component's own, and no server sent it.\n- **In the light DOM**, the element is the consumer's, and reflection writes\n an empty `aria-describedby` onto it. So it is written only when `light` is\n set, which a caller does once a reader has acted on the page, after any\n hydration, and never where the consumer wrote `aria-describedby` or\n `aria-labelledby` themselves, which are theirs to keep.\n\nExisting references are kept, so a field's hint still describes it. Tooltip\ndescribes its trigger this way."
30395
+ "description": "Adds `by` to the elements that describe `target`, where that is safe, and\nsays whether it wrote the link, which is then the caller's to take back with\n`unlinkDescription`. A `target` described by `by` already is left alone and\nanswers false.\n\nThrough element reflection, and only where no framework is watching:\n\n- **Inside a shadow root**, such as the `<button>` a Helix button draws, it\n is always safe. That markup is the component's own, and no server sent it.\n- **In the light DOM**, the element is the consumer's, and reflection writes\n an empty `aria-describedby` onto it. So it is written only when `light` is\n set, which a caller does once a reader has acted on the page, after any\n hydration, and never where the consumer wrote `aria-describedby` or\n `aria-labelledby` themselves, which are theirs to keep.\n\nExisting references are kept, so a field's hint still describes it. Tooltip\ndescribes its trigger this way."
30388
30396
  },
30389
30397
  {
30390
30398
  "kind": "function",
@@ -33979,7 +33987,7 @@
33979
33987
  "type": {
33980
33988
  "text": "string"
33981
33989
  },
33982
- "default": "'0.178.0'",
33990
+ "default": "'0.179.0'",
33983
33991
  "description": "The version of the package this file ships in.\n\n**Written by `fusion/scripts/version.mjs`** wherever it writes the package's\n`package.json`, and stamped back into the repository beside it after a\nrelease, so the two never disagree; a spec beside this holds them to it.\nNothing else in the running code knows which release it is."
33984
33992
  }
33985
33993
  ],
@@ -34615,6 +34623,6 @@
34615
34623
  ],
34616
34624
  "helix": {
34617
34625
  "package": "@fusion.dev/helix-core",
34618
- "version": "0.178.0"
34626
+ "version": "0.179.0"
34619
34627
  }
34620
34628
  }
package/dist/index.d.ts CHANGED
@@ -79,6 +79,7 @@ export { readWrittenDate, readWrittenTime, segmentName, } from './utils/date-seg
79
79
  export { type DrawDismissOptions, drawDismiss, drawDismissGlyph, } from './utils/draw-dismiss/draw-dismiss.js';
80
80
  export { type DrawIconOptions, drawIcon } from './utils/draw-icon/draw-icon.js';
81
81
  export { CHART_PLOT, drawTooltip, type ReadingCursor } from './utils/draw-tooltip/draw-tooltip.js';
82
+ export { spokenReading } from './utils/draw-tooltip/spoken-reading.js';
82
83
  export { drawValueAxis } from './utils/draw-value-axis/draw-value-axis.js';
83
84
  export { drawsInSoftware } from './utils/draws-in-software/draws-in-software.js';
84
85
  export { elapsedTime } from './utils/elapsed-time/elapsed-time.js';
package/dist/index.js CHANGED
@@ -79,6 +79,7 @@ export { readWrittenDate, readWrittenTime, segmentName, } from './utils/date-seg
79
79
  export { drawDismiss, drawDismissGlyph, } from './utils/draw-dismiss/draw-dismiss.js';
80
80
  export { drawIcon } from './utils/draw-icon/draw-icon.js';
81
81
  export { CHART_PLOT, drawTooltip } from './utils/draw-tooltip/draw-tooltip.js';
82
+ export { spokenReading } from './utils/draw-tooltip/spoken-reading.js';
82
83
  export { drawValueAxis } from './utils/draw-value-axis/draw-value-axis.js';
83
84
  export { drawsInSoftware } from './utils/draws-in-software/draws-in-software.js';
84
85
  export { elapsedTime } from './utils/elapsed-time/elapsed-time.js';
@@ -17,7 +17,9 @@ export type ElementsProperty = 'ariaControlsElements' | 'ariaDescribedByElements
17
17
  export declare const reflectElements: (target: Element | null | undefined, property: ElementsProperty, elements: readonly Element[], owned: boolean) => boolean;
18
18
  /**
19
19
  * Adds `by` to the elements that describe `target`, where that is safe, and
20
- * says whether `target` is now described by it.
20
+ * says whether it wrote the link, which is then the caller's to take back with
21
+ * `unlinkDescription`. A `target` described by `by` already is left alone and
22
+ * answers false.
21
23
  *
22
24
  * Through element reflection, and only where no framework is watching:
23
25
  *
@@ -19,7 +19,7 @@ export const linkDescription = (target, by, light) => {
19
19
  }
20
20
  const current = element.ariaDescribedByElements ?? [];
21
21
  if (current.includes(by)) {
22
- return true;
22
+ return false;
23
23
  }
24
24
  const shadowed = typeof ShadowRoot !== 'undefined' && target.getRootNode() instanceof ShadowRoot;
25
25
  if (!shadowed &&
package/dist/version.d.ts CHANGED
@@ -6,4 +6,4 @@
6
6
  * release, so the two never disagree; a spec beside this holds them to it.
7
7
  * Nothing else in the running code knows which release it is.
8
8
  */
9
- export declare const VERSION = "0.178.0";
9
+ export declare const VERSION = "0.179.0";
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export const VERSION = '0.178.0';
1
+ export const VERSION = '0.179.0';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fusion.dev/helix-core",
3
3
  "description": "Helix element primitives: base classes, mixins, decorators, utilities.",
4
- "version": "0.178.0",
4
+ "version": "0.179.0",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -68,11 +68,11 @@
68
68
  "bugs": "https://github.com/project-fusion/fusion/issues",
69
69
  "dependencies": {
70
70
  "@floating-ui/dom": "^1.8.0",
71
- "@fusion.dev/helix-icons": "0.178.0"
71
+ "@fusion.dev/helix-icons": "0.179.0"
72
72
  },
73
73
  "devDependencies": {
74
- "@fusion.dev/helix-cem": "0.178.0",
75
- "@fusion.dev/helix-testing": "0.178.0",
74
+ "@fusion.dev/helix-cem": "0.179.0",
75
+ "@fusion.dev/helix-testing": "0.179.0",
76
76
  "@lit-labs/ssr": "^4.1.0",
77
77
  "lit": "^3.2.1"
78
78
  },