@fusion.dev/helix 0.217.0 → 0.218.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/api.json +1 -1
- package/custom-elements.json +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/voice-level/draw.d.ts +108 -0
- package/dist/voice-level/draw.js +53 -0
- package/dist/voice-level/index.d.ts +2 -0
- package/dist/voice-level/index.js +1 -0
- package/dist/voice-level/root/voice-level-root.css.d.ts +1 -0
- package/dist/voice-level/root/voice-level-root.css.js +2 -0
- package/dist/voice-level/root/voice-level-root.d.ts +186 -0
- package/dist/voice-level/root/voice-level-root.js +324 -0
- package/examples.json +1 -1
- package/lint.json +1 -1
- package/package.json +6 -6
- package/skills/helix/SKILL.md +2 -2
- package/types/jsx.d.ts +317 -0
- package/types/svelte.d.ts +1 -0
- package/types/vue.d.ts +61 -0
- package/types/words.d.ts +9 -0
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.
|
|
4
|
+
"version": "0.218.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Ross Sheppard <ross.sheppard@fusion.dev>",
|
|
7
7
|
"repository": {
|
|
@@ -69,14 +69,14 @@
|
|
|
69
69
|
},
|
|
70
70
|
"bugs": "https://github.com/project-fusion/fusion/issues",
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@fusion.dev/helix-core": "0.
|
|
73
|
-
"@fusion.dev/helix-headless": "0.
|
|
74
|
-
"@fusion.dev/helix-styles": "0.
|
|
72
|
+
"@fusion.dev/helix-core": "0.218.0",
|
|
73
|
+
"@fusion.dev/helix-headless": "0.218.0",
|
|
74
|
+
"@fusion.dev/helix-styles": "0.218.0",
|
|
75
75
|
"tslib": "^2.8.1"
|
|
76
76
|
},
|
|
77
77
|
"devDependencies": {
|
|
78
|
-
"@fusion.dev/helix-cem": "0.
|
|
79
|
-
"@fusion.dev/helix-testing": "0.
|
|
78
|
+
"@fusion.dev/helix-cem": "0.218.0",
|
|
79
|
+
"@fusion.dev/helix-testing": "0.218.0",
|
|
80
80
|
"@fusion.dev/scripts": "0.0.0-dev",
|
|
81
81
|
"@happy-dom/global-registrator": "^21.0.1",
|
|
82
82
|
"@lit-labs/ssr": "^4.1.0",
|
package/skills/helix/SKILL.md
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
name: helix
|
|
3
3
|
description: Writes and checks pages built with Helix, the web components in @fusion.dev/helix. Use when building or reviewing any user interface in a project that installs @fusion.dev/helix, and when code has helix- elements, Helix tokens, or the helix command line.
|
|
4
4
|
metadata:
|
|
5
|
-
version: "0.
|
|
5
|
+
version: "0.218.0"
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Helix
|
|
9
9
|
|
|
10
|
-
This guide is for @fusion.dev/helix 0.
|
|
10
|
+
This guide is for @fusion.dev/helix 0.218.0, the version installed beside it.
|
|
11
11
|
|
|
12
12
|
## Using Helix with an agent
|
|
13
13
|
|
package/types/jsx.d.ts
CHANGED
|
@@ -289,6 +289,7 @@ import type {
|
|
|
289
289
|
HelixVideoPlaylistItem,
|
|
290
290
|
HelixVideoPlaylistMenu,
|
|
291
291
|
HelixVirtualList,
|
|
292
|
+
HelixVoiceLevel,
|
|
292
293
|
} from '@fusion.dev/helix';
|
|
293
294
|
|
|
294
295
|
/**
|
|
@@ -48198,6 +48199,91 @@ it is unset, the header is the name as text. */
|
|
|
48198
48199
|
textContent?: (string | number) | undefined;
|
|
48199
48200
|
};
|
|
48200
48201
|
|
|
48202
|
+
export type HelixVoiceLevelProps = {
|
|
48203
|
+
/** How loud each frequency band is, from `0` to `1`, lowest band first.
|
|
48204
|
+
|
|
48205
|
+
Each bar of the spectrum follows one band. Where there are more or fewer
|
|
48206
|
+
bands than bars, each bar reads between the two nearest bands. Empty draws
|
|
48207
|
+
every bar from `level`. Written as an attribute, the numbers are separated
|
|
48208
|
+
by spaces or commas: `bands="0.1 0.4 0.6 0.3"`. Assign an array to the
|
|
48209
|
+
property for readings that change many times a second. */
|
|
48210
|
+
bands?: (HelixVoiceLevel["bands"]) | undefined;
|
|
48211
|
+
/** The name where `label` is empty. Translate it with the rest of your
|
|
48212
|
+
interface. */
|
|
48213
|
+
"fallback-label"?: (HelixVoiceLevel["fallbackLabel"]) | undefined;
|
|
48214
|
+
/** The name where `label` is empty. Translate it with the rest of your
|
|
48215
|
+
interface. */
|
|
48216
|
+
fallbackLabel?: (HelixVoiceLevel["fallbackLabel"]) | undefined;
|
|
48217
|
+
/** The name read by screen readers, such as "Your voice". Defaults to
|
|
48218
|
+
`fallbackLabel`. */
|
|
48219
|
+
label?: (HelixVoiceLevel["label"]) | undefined;
|
|
48220
|
+
/** How loud the voice is, from `0` for silence to `1`.
|
|
48221
|
+
|
|
48222
|
+
It sets how far the waves swing, the length of the still bar under
|
|
48223
|
+
`prefers-reduced-motion`, and every bar of a spectrum that has no
|
|
48224
|
+
`bands`. A value outside the range is drawn at the nearer end. */
|
|
48225
|
+
level?: (HelixVoiceLevel["level"]) | undefined;
|
|
48226
|
+
/** Draws the readings as a still picture: each bar at its band and the waves
|
|
48227
|
+
at one fixed moment, swung as far as `level`.
|
|
48228
|
+
|
|
48229
|
+
For a level that holds, such as the loudness of a recorded clip or a
|
|
48230
|
+
picture of the drawing. No frame loop runs, and each new reading is drawn
|
|
48231
|
+
at once with no easing. Because nothing moves, the drawing is the same
|
|
48232
|
+
under `prefers-reduced-motion`. Clearing it starts the motion from the
|
|
48233
|
+
readings as they are. */
|
|
48234
|
+
still?: (HelixVoiceLevel["still"]) | undefined;
|
|
48235
|
+
/** The drawing: a row of bars, one for each band, or three moving waves.
|
|
48236
|
+
|
|
48237
|
+
Reflected because the stylesheet sizes each drawing differently. Absent
|
|
48238
|
+
is `spectrum`, the resting value, which selects nothing. */
|
|
48239
|
+
variant?: (HelixVoiceLevel["variant"]) | undefined;
|
|
48240
|
+
};
|
|
48241
|
+
|
|
48242
|
+
export type HelixVoiceLevelSolidJsProps = {
|
|
48243
|
+
/** How loud each frequency band is, from `0` to `1`, lowest band first.
|
|
48244
|
+
|
|
48245
|
+
Each bar of the spectrum follows one band. Where there are more or fewer
|
|
48246
|
+
bands than bars, each bar reads between the two nearest bands. Empty draws
|
|
48247
|
+
every bar from `level`. Written as an attribute, the numbers are separated
|
|
48248
|
+
by spaces or commas: `bands="0.1 0.4 0.6 0.3"`. Assign an array to the
|
|
48249
|
+
property for readings that change many times a second. */
|
|
48250
|
+
"prop:bands"?: (HelixVoiceLevel["bands"]) | undefined;
|
|
48251
|
+
/** The name where `label` is empty. Translate it with the rest of your
|
|
48252
|
+
interface. */
|
|
48253
|
+
"attr:fallback-label"?: (HelixVoiceLevel["fallbackLabel"]) | undefined;
|
|
48254
|
+
/** The name where `label` is empty. Translate it with the rest of your
|
|
48255
|
+
interface. */
|
|
48256
|
+
"prop:fallbackLabel"?: (HelixVoiceLevel["fallbackLabel"]) | undefined;
|
|
48257
|
+
/** The name read by screen readers, such as "Your voice". Defaults to
|
|
48258
|
+
`fallbackLabel`. */
|
|
48259
|
+
"prop:label"?: (HelixVoiceLevel["label"]) | undefined;
|
|
48260
|
+
/** How loud the voice is, from `0` for silence to `1`.
|
|
48261
|
+
|
|
48262
|
+
It sets how far the waves swing, the length of the still bar under
|
|
48263
|
+
`prefers-reduced-motion`, and every bar of a spectrum that has no
|
|
48264
|
+
`bands`. A value outside the range is drawn at the nearer end. */
|
|
48265
|
+
"prop:level"?: (HelixVoiceLevel["level"]) | undefined;
|
|
48266
|
+
/** Draws the readings as a still picture: each bar at its band and the waves
|
|
48267
|
+
at one fixed moment, swung as far as `level`.
|
|
48268
|
+
|
|
48269
|
+
For a level that holds, such as the loudness of a recorded clip or a
|
|
48270
|
+
picture of the drawing. No frame loop runs, and each new reading is drawn
|
|
48271
|
+
at once with no easing. Because nothing moves, the drawing is the same
|
|
48272
|
+
under `prefers-reduced-motion`. Clearing it starts the motion from the
|
|
48273
|
+
readings as they are. */
|
|
48274
|
+
"prop:still"?: (HelixVoiceLevel["still"]) | undefined;
|
|
48275
|
+
/** The drawing: a row of bars, one for each band, or three moving waves.
|
|
48276
|
+
|
|
48277
|
+
Reflected because the stylesheet sizes each drawing differently. Absent
|
|
48278
|
+
is `spectrum`, the resting value, which selects nothing. */
|
|
48279
|
+
"prop:variant"?: (HelixVoiceLevel["variant"]) | undefined;
|
|
48280
|
+
|
|
48281
|
+
/** Set the innerHTML of the element */
|
|
48282
|
+
innerHTML?: (string) | undefined;
|
|
48283
|
+
/** Set the textContent of the element */
|
|
48284
|
+
textContent?: (string | number) | undefined;
|
|
48285
|
+
};
|
|
48286
|
+
|
|
48201
48287
|
export type CustomElements<F extends Framework = "other"> = {
|
|
48202
48288
|
/**
|
|
48203
48289
|
* The open and close transition animates `grid-template-rows` from `0fr` to
|
|
@@ -82344,6 +82430,114 @@ export type CustomElements<F extends Framework = "other"> = {
|
|
|
82344
82430
|
"helix-virtual-list": Partial<
|
|
82345
82431
|
HelixVirtualListProps & BaseProps<HelixVirtualList, F> & BaseEvents<HelixVirtualList>
|
|
82346
82432
|
>;
|
|
82433
|
+
|
|
82434
|
+
/**
|
|
82435
|
+
* Two drawings, chosen with `variant`:
|
|
82436
|
+
*
|
|
82437
|
+
* - `spectrum`: a row of thin rounded bars, one for each frequency band in
|
|
82438
|
+
* `bands`, tallest in the middle. The middle half of the row takes the
|
|
82439
|
+
* stronger color. A quiet bar rests as a dot.
|
|
82440
|
+
* - `waves`: three sine lines with different speeds, phases, and weights, held
|
|
82441
|
+
* to the center line at both ends. `level` sets how far they swing, and a
|
|
82442
|
+
* quiet level rests as a flat line.
|
|
82443
|
+
*
|
|
82444
|
+
* Set `level` and `bands` from your audio as often as you have readings, about
|
|
82445
|
+
* 30 times a second. Each bar and wave eases toward its reading: up fast and
|
|
82446
|
+
* down slower. A spectrum given no `bands` draws every bar from `level`.
|
|
82447
|
+
*
|
|
82448
|
+
* The drawing stops when it is off screen, in a background tab, or after the
|
|
82449
|
+
* level has been zero for under a second, and starts again with the next
|
|
82450
|
+
* reading. With `prefers-reduced-motion`, it draws one bar from the middle
|
|
82451
|
+
* over a faint track, whose length is the level, and redraws it on each
|
|
82452
|
+
* reading. With `still`, it draws either drawing as a still picture of its
|
|
82453
|
+
* readings, whatever the motion preference.
|
|
82454
|
+
*
|
|
82455
|
+
* The level is an image named by `label`. A meter's value would be announced
|
|
82456
|
+
* on every change, and a level changes many times a second.
|
|
82457
|
+
*
|
|
82458
|
+
* Voice Level is styled only and has behavior, which the tier split does not
|
|
82459
|
+
* otherwise allow. Its role and name are set on the host, and the rest is
|
|
82460
|
+
* drawing to a canvas.
|
|
82461
|
+
*
|
|
82462
|
+
* ## Attributes & Properties
|
|
82463
|
+
*
|
|
82464
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
82465
|
+
*
|
|
82466
|
+
* - `bands`: How loud each frequency band is, from `0` to `1`, lowest band first.
|
|
82467
|
+
*
|
|
82468
|
+
* Each bar of the spectrum follows one band. Where there are more or fewer
|
|
82469
|
+
* bands than bars, each bar reads between the two nearest bands. Empty draws
|
|
82470
|
+
* every bar from `level`. Written as an attribute, the numbers are separated
|
|
82471
|
+
* by spaces or commas: `bands="0.1 0.4 0.6 0.3"`. Assign an array to the
|
|
82472
|
+
* property for readings that change many times a second.
|
|
82473
|
+
* - `fallback-label`/`fallbackLabel`: The name where `label` is empty. Translate it with the rest of your
|
|
82474
|
+
* interface.
|
|
82475
|
+
* - `label`: The name read by screen readers, such as "Your voice". Defaults to
|
|
82476
|
+
* `fallbackLabel`.
|
|
82477
|
+
* - `level`: How loud the voice is, from `0` for silence to `1`.
|
|
82478
|
+
*
|
|
82479
|
+
* It sets how far the waves swing, the length of the still bar under
|
|
82480
|
+
* `prefers-reduced-motion`, and every bar of a spectrum that has no
|
|
82481
|
+
* `bands`. A value outside the range is drawn at the nearer end.
|
|
82482
|
+
* - `still`: Draws the readings as a still picture: each bar at its band and the waves
|
|
82483
|
+
* at one fixed moment, swung as far as `level`.
|
|
82484
|
+
*
|
|
82485
|
+
* For a level that holds, such as the loudness of a recorded clip or a
|
|
82486
|
+
* picture of the drawing. No frame loop runs, and each new reading is drawn
|
|
82487
|
+
* at once with no easing. Because nothing moves, the drawing is the same
|
|
82488
|
+
* under `prefers-reduced-motion`. Clearing it starts the motion from the
|
|
82489
|
+
* readings as they are.
|
|
82490
|
+
* - `variant`: The drawing: a row of bars, one for each band, or three moving waves.
|
|
82491
|
+
*
|
|
82492
|
+
* Reflected because the stylesheet sizes each drawing differently. Absent
|
|
82493
|
+
* is `spectrum`, the resting value, which selects nothing.
|
|
82494
|
+
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
82495
|
+
*
|
|
82496
|
+
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
82497
|
+
* Image, Splitter and both color controls, none of them about transitions. A
|
|
82498
|
+
* base class takes the name every subclass then cannot use.
|
|
82499
|
+
*
|
|
82500
|
+
* **The state it reports cannot be watched, which is why this exists.** A
|
|
82501
|
+
* custom state is deliberately not in the DOM, so there is no
|
|
82502
|
+
* `MutationObserver` equivalent for `ElementInternals.states`. Await this
|
|
82503
|
+
* instead.
|
|
82504
|
+
*
|
|
82505
|
+
* Separate from `updateComplete`, which resolves in the microtask checkpoint
|
|
82506
|
+
* the suppression is still active in. That is the distinction `readyToMove`
|
|
82507
|
+
* in `@fusion.dev/helix-testing` is written around.
|
|
82508
|
+
*
|
|
82509
|
+
* It never resolves where `requestAnimationFrame` never fires, which is a
|
|
82510
|
+
* server, a hidden tab, and happy-dom. Callers that must not hang there race
|
|
82511
|
+
* it against a timeout, as the happy-dom harness's `readyToMove` does. The
|
|
82512
|
+
* browser harness's awaits it alone: a browser always runs the frame, and a
|
|
82513
|
+
* timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
|
|
82514
|
+
*
|
|
82515
|
+
* ## CSS Custom Properties
|
|
82516
|
+
*
|
|
82517
|
+
* CSS variables available for styling the component.
|
|
82518
|
+
*
|
|
82519
|
+
* - `--voice-level-accent-color`: The color of the second wave. Defaults to the accent color.
|
|
82520
|
+
* - `--voice-level-bars`: How many bars the spectrum draws, from 3 to 96. Defaults to `24`.
|
|
82521
|
+
* - `--voice-level-block-size`: The height. Defaults to the icon size for `spectrum` and the control size for `waves`.
|
|
82522
|
+
* - `--voice-level-color`: The color of the center bars and the main wave. Defaults to the primary color.
|
|
82523
|
+
* - `--voice-level-edge-color`: The color of the bars at either end. Defaults to `--voice-level-color` at 55 percent.
|
|
82524
|
+
* - `--voice-level-inline-size`: The width. Defaults to four times the height for `spectrum` and three times for `waves`.
|
|
82525
|
+
*
|
|
82526
|
+
* ## CSS Parts
|
|
82527
|
+
*
|
|
82528
|
+
* Custom selectors for styling elements within the component.
|
|
82529
|
+
*
|
|
82530
|
+
* - `canvas`: The canvas the level is drawn on.
|
|
82531
|
+
*
|
|
82532
|
+
* ## CSS States
|
|
82533
|
+
*
|
|
82534
|
+
* These can be used to apply styling when a component is in a given state.
|
|
82535
|
+
*
|
|
82536
|
+
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
82537
|
+
*/
|
|
82538
|
+
"helix-voice-level": Partial<
|
|
82539
|
+
HelixVoiceLevelProps & BaseProps<HelixVoiceLevel, F> & BaseEvents<HelixVoiceLevel>
|
|
82540
|
+
>;
|
|
82347
82541
|
};
|
|
82348
82542
|
|
|
82349
82543
|
export type CustomElementsSolidJs = {
|
|
@@ -117026,6 +117220,117 @@ export type CustomElementsSolidJs = {
|
|
|
117026
117220
|
BaseProps<HelixVirtualList, "solid"> &
|
|
117027
117221
|
BaseEvents<HelixVirtualList>
|
|
117028
117222
|
>;
|
|
117223
|
+
|
|
117224
|
+
/**
|
|
117225
|
+
* Two drawings, chosen with `variant`:
|
|
117226
|
+
*
|
|
117227
|
+
* - `spectrum`: a row of thin rounded bars, one for each frequency band in
|
|
117228
|
+
* `bands`, tallest in the middle. The middle half of the row takes the
|
|
117229
|
+
* stronger color. A quiet bar rests as a dot.
|
|
117230
|
+
* - `waves`: three sine lines with different speeds, phases, and weights, held
|
|
117231
|
+
* to the center line at both ends. `level` sets how far they swing, and a
|
|
117232
|
+
* quiet level rests as a flat line.
|
|
117233
|
+
*
|
|
117234
|
+
* Set `level` and `bands` from your audio as often as you have readings, about
|
|
117235
|
+
* 30 times a second. Each bar and wave eases toward its reading: up fast and
|
|
117236
|
+
* down slower. A spectrum given no `bands` draws every bar from `level`.
|
|
117237
|
+
*
|
|
117238
|
+
* The drawing stops when it is off screen, in a background tab, or after the
|
|
117239
|
+
* level has been zero for under a second, and starts again with the next
|
|
117240
|
+
* reading. With `prefers-reduced-motion`, it draws one bar from the middle
|
|
117241
|
+
* over a faint track, whose length is the level, and redraws it on each
|
|
117242
|
+
* reading. With `still`, it draws either drawing as a still picture of its
|
|
117243
|
+
* readings, whatever the motion preference.
|
|
117244
|
+
*
|
|
117245
|
+
* The level is an image named by `label`. A meter's value would be announced
|
|
117246
|
+
* on every change, and a level changes many times a second.
|
|
117247
|
+
*
|
|
117248
|
+
* Voice Level is styled only and has behavior, which the tier split does not
|
|
117249
|
+
* otherwise allow. Its role and name are set on the host, and the rest is
|
|
117250
|
+
* drawing to a canvas.
|
|
117251
|
+
*
|
|
117252
|
+
* ## Attributes & Properties
|
|
117253
|
+
*
|
|
117254
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
117255
|
+
*
|
|
117256
|
+
* - `bands`: How loud each frequency band is, from `0` to `1`, lowest band first.
|
|
117257
|
+
*
|
|
117258
|
+
* Each bar of the spectrum follows one band. Where there are more or fewer
|
|
117259
|
+
* bands than bars, each bar reads between the two nearest bands. Empty draws
|
|
117260
|
+
* every bar from `level`. Written as an attribute, the numbers are separated
|
|
117261
|
+
* by spaces or commas: `bands="0.1 0.4 0.6 0.3"`. Assign an array to the
|
|
117262
|
+
* property for readings that change many times a second.
|
|
117263
|
+
* - `fallback-label`/`fallbackLabel`: The name where `label` is empty. Translate it with the rest of your
|
|
117264
|
+
* interface.
|
|
117265
|
+
* - `label`: The name read by screen readers, such as "Your voice". Defaults to
|
|
117266
|
+
* `fallbackLabel`.
|
|
117267
|
+
* - `level`: How loud the voice is, from `0` for silence to `1`.
|
|
117268
|
+
*
|
|
117269
|
+
* It sets how far the waves swing, the length of the still bar under
|
|
117270
|
+
* `prefers-reduced-motion`, and every bar of a spectrum that has no
|
|
117271
|
+
* `bands`. A value outside the range is drawn at the nearer end.
|
|
117272
|
+
* - `still`: Draws the readings as a still picture: each bar at its band and the waves
|
|
117273
|
+
* at one fixed moment, swung as far as `level`.
|
|
117274
|
+
*
|
|
117275
|
+
* For a level that holds, such as the loudness of a recorded clip or a
|
|
117276
|
+
* picture of the drawing. No frame loop runs, and each new reading is drawn
|
|
117277
|
+
* at once with no easing. Because nothing moves, the drawing is the same
|
|
117278
|
+
* under `prefers-reduced-motion`. Clearing it starts the motion from the
|
|
117279
|
+
* readings as they are.
|
|
117280
|
+
* - `variant`: The drawing: a row of bars, one for each band, or three moving waves.
|
|
117281
|
+
*
|
|
117282
|
+
* Reflected because the stylesheet sizes each drawing differently. Absent
|
|
117283
|
+
* is `spectrum`, the resting value, which selects nothing.
|
|
117284
|
+
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
117285
|
+
*
|
|
117286
|
+
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
117287
|
+
* Image, Splitter and both color controls, none of them about transitions. A
|
|
117288
|
+
* base class takes the name every subclass then cannot use.
|
|
117289
|
+
*
|
|
117290
|
+
* **The state it reports cannot be watched, which is why this exists.** A
|
|
117291
|
+
* custom state is deliberately not in the DOM, so there is no
|
|
117292
|
+
* `MutationObserver` equivalent for `ElementInternals.states`. Await this
|
|
117293
|
+
* instead.
|
|
117294
|
+
*
|
|
117295
|
+
* Separate from `updateComplete`, which resolves in the microtask checkpoint
|
|
117296
|
+
* the suppression is still active in. That is the distinction `readyToMove`
|
|
117297
|
+
* in `@fusion.dev/helix-testing` is written around.
|
|
117298
|
+
*
|
|
117299
|
+
* It never resolves where `requestAnimationFrame` never fires, which is a
|
|
117300
|
+
* server, a hidden tab, and happy-dom. Callers that must not hang there race
|
|
117301
|
+
* it against a timeout, as the happy-dom harness's `readyToMove` does. The
|
|
117302
|
+
* browser harness's awaits it alone: a browser always runs the frame, and a
|
|
117303
|
+
* timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
|
|
117304
|
+
*
|
|
117305
|
+
* ## CSS Custom Properties
|
|
117306
|
+
*
|
|
117307
|
+
* CSS variables available for styling the component.
|
|
117308
|
+
*
|
|
117309
|
+
* - `--voice-level-accent-color`: The color of the second wave. Defaults to the accent color.
|
|
117310
|
+
* - `--voice-level-bars`: How many bars the spectrum draws, from 3 to 96. Defaults to `24`.
|
|
117311
|
+
* - `--voice-level-block-size`: The height. Defaults to the icon size for `spectrum` and the control size for `waves`.
|
|
117312
|
+
* - `--voice-level-color`: The color of the center bars and the main wave. Defaults to the primary color.
|
|
117313
|
+
* - `--voice-level-edge-color`: The color of the bars at either end. Defaults to `--voice-level-color` at 55 percent.
|
|
117314
|
+
* - `--voice-level-inline-size`: The width. Defaults to four times the height for `spectrum` and three times for `waves`.
|
|
117315
|
+
*
|
|
117316
|
+
* ## CSS Parts
|
|
117317
|
+
*
|
|
117318
|
+
* Custom selectors for styling elements within the component.
|
|
117319
|
+
*
|
|
117320
|
+
* - `canvas`: The canvas the level is drawn on.
|
|
117321
|
+
*
|
|
117322
|
+
* ## CSS States
|
|
117323
|
+
*
|
|
117324
|
+
* These can be used to apply styling when a component is in a given state.
|
|
117325
|
+
*
|
|
117326
|
+
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
117327
|
+
*/
|
|
117328
|
+
"helix-voice-level": Partial<
|
|
117329
|
+
HelixVoiceLevelProps &
|
|
117330
|
+
HelixVoiceLevelSolidJsProps &
|
|
117331
|
+
BaseProps<HelixVoiceLevel, "solid"> &
|
|
117332
|
+
BaseEvents<HelixVoiceLevel>
|
|
117333
|
+
>;
|
|
117029
117334
|
};
|
|
117030
117335
|
|
|
117031
117336
|
export type CustomCssProperties = {
|
|
@@ -119819,6 +120124,18 @@ export type CustomCssProperties = {
|
|
|
119819
120124
|
"--virtual-list-selected-background-color"?: (string) | undefined;
|
|
119820
120125
|
/** The color of the text in a chosen row, in a list with `selection-mode`. Inherited by default. */
|
|
119821
120126
|
"--virtual-list-selected-color"?: (string) | undefined;
|
|
120127
|
+
/** The color of the second wave. Defaults to the accent color. */
|
|
120128
|
+
"--voice-level-accent-color"?: (string) | undefined;
|
|
120129
|
+
/** How many bars the spectrum draws, from 3 to 96. Defaults to `24`. */
|
|
120130
|
+
"--voice-level-bars"?: (string) | undefined;
|
|
120131
|
+
/** The height. Defaults to the icon size for `spectrum` and the control size for `waves`. */
|
|
120132
|
+
"--voice-level-block-size"?: (string) | undefined;
|
|
120133
|
+
/** The color of the center bars and the main wave. Defaults to the primary color. */
|
|
120134
|
+
"--voice-level-color"?: (string) | undefined;
|
|
120135
|
+
/** The color of the bars at either end. Defaults to `--voice-level-color` at 55 percent. */
|
|
120136
|
+
"--voice-level-edge-color"?: (string) | undefined;
|
|
120137
|
+
/** The width. Defaults to four times the height for `spectrum` and three times for `waves`. */
|
|
120138
|
+
"--voice-level-inline-size"?: (string) | undefined;
|
|
119822
120139
|
};
|
|
119823
120140
|
|
|
119824
120141
|
declare module "react" {
|
package/types/svelte.d.ts
CHANGED
|
@@ -208,6 +208,7 @@ declare module 'svelte/elements' {
|
|
|
208
208
|
'helix-video-playlist': Helix<'helix-video-playlist'>
|
|
209
209
|
'helix-video': Helix<'helix-video'>
|
|
210
210
|
'helix-virtual-list': Helix<'helix-virtual-list'>
|
|
211
|
+
'helix-voice-level': Helix<'helix-voice-level'>
|
|
211
212
|
}
|
|
212
213
|
}
|
|
213
214
|
|
package/types/vue.d.ts
CHANGED
|
@@ -289,6 +289,7 @@ import type {
|
|
|
289
289
|
HelixVideoPlaylistItem,
|
|
290
290
|
HelixVideoPlaylistMenu,
|
|
291
291
|
HelixVirtualList,
|
|
292
|
+
HelixVoiceLevel,
|
|
292
293
|
} from '@fusion.dev/helix';
|
|
293
294
|
import type { HTMLAttributes, PublicProps, EmitFn, EmitsToProps } from "vue";
|
|
294
295
|
|
|
@@ -24650,6 +24651,48 @@ export type HelixVirtualListVueEvents = {
|
|
|
24650
24651
|
"helix-reorder": HelixVirtualListHelixReorderElementEvent;
|
|
24651
24652
|
};
|
|
24652
24653
|
|
|
24654
|
+
export type HelixVoiceLevelVueProps = {
|
|
24655
|
+
/** How loud each frequency band is, from `0` to `1`, lowest band first.
|
|
24656
|
+
|
|
24657
|
+
Each bar of the spectrum follows one band. Where there are more or fewer
|
|
24658
|
+
bands than bars, each bar reads between the two nearest bands. Empty draws
|
|
24659
|
+
every bar from `level`. Written as an attribute, the numbers are separated
|
|
24660
|
+
by spaces or commas: `bands="0.1 0.4 0.6 0.3"`. Assign an array to the
|
|
24661
|
+
property for readings that change many times a second. */
|
|
24662
|
+
bands?: (HelixVoiceLevel["bands"]) | undefined;
|
|
24663
|
+
/** The name where `label` is empty. Translate it with the rest of your
|
|
24664
|
+
interface. */
|
|
24665
|
+
"fallback-label"?: (HelixVoiceLevel["fallbackLabel"]) | undefined;
|
|
24666
|
+
/** The name where `label` is empty. Translate it with the rest of your
|
|
24667
|
+
interface. */
|
|
24668
|
+
fallbackLabel?: (HelixVoiceLevel["fallbackLabel"]) | undefined;
|
|
24669
|
+
/** The name read by screen readers, such as "Your voice". Defaults to
|
|
24670
|
+
`fallbackLabel`. */
|
|
24671
|
+
label?: (HelixVoiceLevel["label"]) | undefined;
|
|
24672
|
+
/** How loud the voice is, from `0` for silence to `1`.
|
|
24673
|
+
|
|
24674
|
+
It sets how far the waves swing, the length of the still bar under
|
|
24675
|
+
`prefers-reduced-motion`, and every bar of a spectrum that has no
|
|
24676
|
+
`bands`. A value outside the range is drawn at the nearer end. */
|
|
24677
|
+
level?: (HelixVoiceLevel["level"]) | undefined;
|
|
24678
|
+
/** Draws the readings as a still picture: each bar at its band and the waves
|
|
24679
|
+
at one fixed moment, swung as far as `level`.
|
|
24680
|
+
|
|
24681
|
+
For a level that holds, such as the loudness of a recorded clip or a
|
|
24682
|
+
picture of the drawing. No frame loop runs, and each new reading is drawn
|
|
24683
|
+
at once with no easing. Because nothing moves, the drawing is the same
|
|
24684
|
+
under `prefers-reduced-motion`. Clearing it starts the motion from the
|
|
24685
|
+
readings as they are. */
|
|
24686
|
+
still?: (HelixVoiceLevel["still"]) | undefined;
|
|
24687
|
+
/** The drawing: a row of bars, one for each band, or three moving waves.
|
|
24688
|
+
|
|
24689
|
+
Reflected because the stylesheet sizes each drawing differently. Absent
|
|
24690
|
+
is `spectrum`, the resting value, which selects nothing. */
|
|
24691
|
+
variant?: (HelixVoiceLevel["variant"]) | undefined;
|
|
24692
|
+
};
|
|
24693
|
+
|
|
24694
|
+
export type HelixVoiceLevelVueEvents = {};
|
|
24695
|
+
|
|
24653
24696
|
export type CustomCssProperties = {
|
|
24654
24697
|
/** The color of the open and close indicator. */
|
|
24655
24698
|
"--accordion-item-chevron-color"?: (string) | undefined;
|
|
@@ -27441,6 +27484,18 @@ export type CustomCssProperties = {
|
|
|
27441
27484
|
"--virtual-list-selected-background-color"?: (string) | undefined;
|
|
27442
27485
|
/** The color of the text in a chosen row, in a list with `selection-mode`. Inherited by default. */
|
|
27443
27486
|
"--virtual-list-selected-color"?: (string) | undefined;
|
|
27487
|
+
/** The color of the second wave. Defaults to the accent color. */
|
|
27488
|
+
"--voice-level-accent-color"?: (string) | undefined;
|
|
27489
|
+
/** How many bars the spectrum draws, from 3 to 96. Defaults to `24`. */
|
|
27490
|
+
"--voice-level-bars"?: (string) | undefined;
|
|
27491
|
+
/** The height. Defaults to the icon size for `spectrum` and the control size for `waves`. */
|
|
27492
|
+
"--voice-level-block-size"?: (string) | undefined;
|
|
27493
|
+
/** The color of the center bars and the main wave. Defaults to the primary color. */
|
|
27494
|
+
"--voice-level-color"?: (string) | undefined;
|
|
27495
|
+
/** The color of the bars at either end. Defaults to `--voice-level-color` at 55 percent. */
|
|
27496
|
+
"--voice-level-edge-color"?: (string) | undefined;
|
|
27497
|
+
/** The width. Defaults to four times the height for `spectrum` and three times for `waves`. */
|
|
27498
|
+
"--voice-level-inline-size"?: (string) | undefined;
|
|
27444
27499
|
};
|
|
27445
27500
|
|
|
27446
27501
|
// Vue SFC template type-checking (GlobalComponents) for non-Vue custom elements.
|
|
@@ -28521,6 +28576,12 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
28521
28576
|
HelixVirtualListVueProps,
|
|
28522
28577
|
HelixVirtualListVueEvents
|
|
28523
28578
|
>;
|
|
28579
|
+
/** Two drawings, chosen with 'variant': - 'spectrum': a row of thin rounded bars, one for each frequency band in 'bands', tallest in the middle. The middle half of the row takes the stronger color. A quiet bar rests as a dot. - 'waves': three sine lines with different speeds, phases, and weights, held to the center line at both ends. 'level' sets how far they swing, and a quiet level rests as a flat line. Set 'level' and 'bands' from your audio as often as you have readings, about 30 times a second. Each bar and wave eases toward its reading: up fast and down slower. A spectrum given no 'bands' draws every bar from 'level'. The drawing stops when it is off screen, in a background tab, or after the level has been zero for under a second, and starts again with the next reading. With 'prefers-reduced-motion', it draws one bar from the middle over a faint track, whose length is the level, and redraws it on each reading. With 'still', it draws either drawing as a still picture of its readings, whatever the motion preference. The level is an image named by 'label'. A meter's value would be announced on every change, and a level changes many times a second. Voice Level is styled only and has behavior, which the tier split does not otherwise allow. Its role and name are set on the host, and the rest is drawing to a canvas. */
|
|
28580
|
+
"helix-voice-level": DefineCustomElement<
|
|
28581
|
+
HelixVoiceLevel,
|
|
28582
|
+
HelixVoiceLevelVueProps,
|
|
28583
|
+
HelixVoiceLevelVueEvents
|
|
28584
|
+
>;
|
|
28524
28585
|
}
|
|
28525
28586
|
|
|
28526
28587
|
declare module "@vue/runtime-core" {
|
package/types/words.d.ts
CHANGED
|
@@ -5416,5 +5416,14 @@ declare module '@fusion.dev/helix-core' {
|
|
|
5416
5416
|
*/
|
|
5417
5417
|
loadingLabel: Message
|
|
5418
5418
|
}
|
|
5419
|
+
'helix-voice-level': {
|
|
5420
|
+
/**
|
|
5421
|
+
* The name where `label` is empty. Translate it with the rest of your
|
|
5422
|
+
* interface.
|
|
5423
|
+
*
|
|
5424
|
+
* English: `Voice level`
|
|
5425
|
+
*/
|
|
5426
|
+
fallbackLabel: Message
|
|
5427
|
+
}
|
|
5419
5428
|
}
|
|
5420
5429
|
}
|