@fusion.dev/helix 0.215.3 → 0.217.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/area-chart/root/area-chart-root.js +8 -1
- package/dist/bar-chart/root/bar-chart-root.js +8 -1
- package/dist/chat/composer/chat-composer.css.js +1 -1
- package/dist/chat/composer/chat-composer.d.ts +1 -0
- package/dist/chat/composer/chat-composer.js +2 -1
- package/dist/code-editor/index.d.ts +1 -0
- package/dist/code-editor/index.js +1 -0
- package/dist/code-editor/root/code-editor-root.css.d.ts +1 -0
- package/dist/code-editor/root/code-editor-root.css.js +2 -0
- package/dist/code-editor/root/code-editor-root.d.ts +52 -0
- package/dist/code-editor/root/code-editor-root.js +28 -0
- package/dist/code-input/index.d.ts +1 -0
- package/dist/code-input/index.js +1 -0
- package/dist/code-input/root/code-input-root.css.d.ts +1 -0
- package/dist/code-input/root/code-input-root.css.js +2 -0
- package/dist/code-input/root/code-input-root.d.ts +33 -0
- package/dist/code-input/root/code-input-root.js +21 -0
- package/dist/command/root/command-root.d.ts +1 -0
- package/dist/command/root/command-root.js +1 -0
- package/dist/donut-chart/root/donut-chart-root.js +8 -1
- package/dist/element-events.generated.js +36 -3
- package/dist/filter-input/root/filter-input-root.css.js +1 -1
- package/dist/filter-input/root/filter-input-root.d.ts +1 -0
- package/dist/filter-input/root/filter-input-root.js +2 -0
- package/dist/heatmap/root/heatmap-root.js +2 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/input/root/input-root.css.js +1 -1
- package/dist/input/root/input-root.d.ts +1 -0
- package/dist/input/root/input-root.js +2 -0
- package/dist/line-chart/root/line-chart-root.js +2 -0
- package/dist/listbox/root/listbox-root.css.js +1 -1
- package/dist/listbox/root/listbox-root.d.ts +1 -0
- package/dist/listbox/root/listbox-root.js +2 -0
- package/dist/markdown/index.d.ts +2 -0
- package/dist/markdown/index.js +2 -0
- package/dist/markdown/root/markdown-root.css.d.ts +1 -0
- package/dist/markdown/root/markdown-root.css.js +2 -0
- package/dist/markdown/root/markdown-root.d.ts +32 -0
- package/dist/markdown/root/markdown-root.js +14 -0
- package/dist/sandbox/compile-worker.d.ts +8 -0
- package/dist/sandbox/compile-worker.generated.d.ts +4 -0
- package/dist/sandbox/compile-worker.generated.js +2 -0
- package/dist/sandbox/compile-worker.js +26 -0
- package/dist/sandbox/compile.d.ts +23 -1
- package/dist/sandbox/compile.js +16 -4
- package/dist/sandbox/index.d.ts +1 -0
- package/dist/sandbox/index.js +1 -0
- package/dist/scatter-chart/root/scatter-chart-root.js +8 -1
- package/dist/shared/chart/sonify.css.d.ts +1 -0
- package/dist/shared/chart/sonify.css.js +2 -0
- package/dist/shared/dictation/dictation.css.d.ts +1 -0
- package/dist/shared/dictation/dictation.css.js +2 -0
- package/dist/shortcut-overlay/index.d.ts +1 -0
- package/dist/shortcut-overlay/index.js +1 -0
- package/dist/shortcut-overlay/root/shortcut-overlay-root.css.d.ts +1 -0
- package/dist/shortcut-overlay/root/shortcut-overlay-root.css.js +2 -0
- package/dist/shortcut-overlay/root/shortcut-overlay-root.d.ts +33 -0
- package/dist/shortcut-overlay/root/shortcut-overlay-root.js +13 -0
- package/dist/spatial-bar-chart/root/spatial-bar-chart-root.js +2 -1
- package/dist/spatial-heatmap/root/spatial-heatmap-root.js +2 -1
- package/dist/spatial-ribbon-chart/root/spatial-ribbon-chart-root.js +2 -1
- package/dist/spatial-scatter-chart/root/spatial-scatter-chart-root.js +2 -1
- package/dist/spatial-surface-chart/root/spatial-surface-chart-root.js +2 -1
- package/dist/spatial-treemap/root/spatial-treemap-root.js +2 -1
- package/dist/textarea/root/textarea-root.css.js +1 -1
- package/dist/textarea/root/textarea-root.d.ts +1 -0
- package/dist/textarea/root/textarea-root.js +2 -0
- package/dist/toast/root/toast-root.d.ts +1 -0
- package/dist/toast/root/toast-root.js +1 -0
- package/examples.json +1 -1
- package/lint.json +1 -1
- package/package.json +11 -9
- package/skills/helix/SKILL.md +2 -2
- package/types/jsx.d.ts +4784 -165
- package/types/svelte.d.ts +4 -0
- package/types/vue.d.ts +1122 -0
- package/types/words.d.ts +491 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { HelixHeadlessMarkdown } from '@fusion.dev/helix-headless/markdown';
|
|
2
|
+
import type { CSSResultGroup } from 'lit';
|
|
3
|
+
import '../../callout/index.js';
|
|
4
|
+
import '../../code-block/index.js';
|
|
5
|
+
/**
|
|
6
|
+
* @summary Markdown drawn as a document, which streams in place as a reply arrives.
|
|
7
|
+
*
|
|
8
|
+
* @description
|
|
9
|
+
* The document is drawn by the page's prose recipe: put `data-prose` on the
|
|
10
|
+
* element or on a container, and `@fusion.dev/helix-styles` sets its type,
|
|
11
|
+
* spacing, lists, and tables. A fence is drawn by `Code Block` and an alert by
|
|
12
|
+
* `Callout`, in this tier.
|
|
13
|
+
*
|
|
14
|
+
* While `streaming`, the block still arriving wraps its lines in the plain
|
|
15
|
+
* way, never `pretty` or `balance`, since those move earlier line breaks as
|
|
16
|
+
* each word arrives.
|
|
17
|
+
*
|
|
18
|
+
* @since 0.216.0
|
|
19
|
+
* @status experimental
|
|
20
|
+
* @category typography
|
|
21
|
+
* @aliases Markdown renderer, Streaming text, Rich text
|
|
22
|
+
* @documentation https://fusion.dev/helix/components/markdown
|
|
23
|
+
*/
|
|
24
|
+
export declare class HelixMarkdown extends HelixHeadlessMarkdown {
|
|
25
|
+
static styles: CSSResultGroup;
|
|
26
|
+
static tier: string;
|
|
27
|
+
}
|
|
28
|
+
declare global {
|
|
29
|
+
interface HTMLElementTagNameMap {
|
|
30
|
+
'helix-markdown': HelixMarkdown;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { customElement } from '@fusion.dev/helix-core';
|
|
3
|
+
import { HelixHeadlessMarkdown } from '@fusion.dev/helix-headless/markdown';
|
|
4
|
+
import '../../callout/index.js';
|
|
5
|
+
import '../../code-block/index.js';
|
|
6
|
+
import { styles } from './markdown-root.css.js';
|
|
7
|
+
let HelixMarkdown = class HelixMarkdown extends HelixHeadlessMarkdown {
|
|
8
|
+
static { this.styles = styles; }
|
|
9
|
+
static { this.tier = 'helix-'; }
|
|
10
|
+
};
|
|
11
|
+
HelixMarkdown = __decorate([
|
|
12
|
+
customElement('helix-markdown')
|
|
13
|
+
], HelixMarkdown);
|
|
14
|
+
export { HelixMarkdown };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The version of the messages the worker and the page exchange, which every
|
|
3
|
+
* answer ends with. A page that copied this file from an older release answers
|
|
4
|
+
* with another, or none, and is told to copy it again. Raise it whenever the
|
|
5
|
+
* messages change, and only then, so an upgrade that leaves them alone asks
|
|
6
|
+
* nobody to copy anything.
|
|
7
|
+
*/
|
|
8
|
+
export declare const PROTOCOL = 1;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** The version of the messages `compile-worker.ts` answers with. */
|
|
2
|
+
export declare const PROTOCOL = 1;
|
|
3
|
+
/** `compile-worker.ts`, minified, for the preview to start from a `blob:` address. */
|
|
4
|
+
export declare const WORKER = "var i=1,e=globalThis,t={};e.onmessage=async({data:[s,n,g,r]})=>{let a;try{t[n]??=import(n),a=await t[n]}catch(o){delete t[n],e.postMessage([s,void 0,`${r.filePath} needs ${n}, which did not load: ${o}`,1]);return}try{e.postMessage([s,a.transform(g,r),void 0,1])}catch(o){e.postMessage([s,void 0,String(o?.message),1])}};export{i as PROTOCOL};";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const PROTOCOL = 1;
|
|
2
|
+
export const WORKER = "var i=1,e=globalThis,t={};e.onmessage=async({data:[s,n,g,r]})=>{let a;try{t[n]??=import(n),a=await t[n]}catch(o){delete t[n],e.postMessage([s,void 0,`${r.filePath} needs ${n}, which did not load: ${o}`,1]);return}try{e.postMessage([s,a.transform(g,r),void 0,1])}catch(o){e.postMessage([s,void 0,String(o?.message),1])}};export{i as PROTOCOL};";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export const PROTOCOL = 1;
|
|
2
|
+
const scope = globalThis;
|
|
3
|
+
const loaded = {};
|
|
4
|
+
scope.onmessage = async ({ data: [id, address, source, options] }) => {
|
|
5
|
+
let compiler;
|
|
6
|
+
try {
|
|
7
|
+
loaded[address] ??= import(address);
|
|
8
|
+
compiler = await loaded[address];
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
delete loaded[address];
|
|
12
|
+
scope.postMessage([
|
|
13
|
+
id,
|
|
14
|
+
undefined,
|
|
15
|
+
`${options.filePath} needs ${address}, which did not load: ${error}`,
|
|
16
|
+
PROTOCOL,
|
|
17
|
+
]);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
scope.postMessage([id, compiler.transform(source, options), undefined, PROTOCOL]);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
scope.postMessage([id, undefined, String(error?.message), PROTOCOL]);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PROTOCOL, WORKER } from './compile-worker.generated.js';
|
|
1
2
|
/**
|
|
2
3
|
* The compiler a module file in TypeScript or JSX runs through before the
|
|
3
4
|
* frame loads it, by its npm name and its pinned version.
|
|
@@ -39,6 +40,28 @@ type Transform = (source: string, options: Record<string, unknown>) => Promise<{
|
|
|
39
40
|
code: string;
|
|
40
41
|
sourceMap?: Record<string, unknown>;
|
|
41
42
|
}>;
|
|
43
|
+
export { PROTOCOL, WORKER };
|
|
44
|
+
/**
|
|
45
|
+
* Starts the compiler's worker from a file the page serves, rather than from
|
|
46
|
+
* a `blob:` address.
|
|
47
|
+
*
|
|
48
|
+
* **For a page whose Content Security Policy refuses `blob:` workers**, which
|
|
49
|
+
* `worker-src 'self'` does, and which leaves TypeScript and JSX panes
|
|
50
|
+
* uncompiled. Copy `@fusion.dev/helix/sandbox/compile-worker.js` to where the
|
|
51
|
+
* page serves its own scripts, and call this before the first preview
|
|
52
|
+
* compiles:
|
|
53
|
+
*
|
|
54
|
+
* ```js
|
|
55
|
+
* import { registerCompilerWorker } from '@fusion.dev/helix/sandbox'
|
|
56
|
+
*
|
|
57
|
+
* registerCompilerWorker('/sandbox/compile-worker.js')
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* The compiler itself still loads from the preview's `cdn`, so the policy's
|
|
61
|
+
* `script-src` names that host either way. A worker already started keeps
|
|
62
|
+
* running, and the address applies to the next page that starts one.
|
|
63
|
+
*/
|
|
64
|
+
export declare const registerCompilerWorker: (address: string | URL) => void;
|
|
42
65
|
/**
|
|
43
66
|
* The compiler for each `cdn`, so each is set up once a page. A spec puts a
|
|
44
67
|
* stand-in here, for an address of its own.
|
|
@@ -60,4 +83,3 @@ export declare const compilers: Map<string, Transform>;
|
|
|
60
83
|
* console, and only where the example imports the file.
|
|
61
84
|
*/
|
|
62
85
|
export declare const compile: (cdn: string, path: string, source: string) => Promise<string>;
|
|
63
|
-
export {};
|
package/dist/sandbox/compile.js
CHANGED
|
@@ -1,15 +1,27 @@
|
|
|
1
|
+
import { reportRuntime } from '@fusion.dev/helix-core';
|
|
2
|
+
import { PROTOCOL, WORKER } from './compile-worker.generated.js';
|
|
1
3
|
export const COMPILER = 'sucrase@3.35.1';
|
|
2
4
|
export const COMPILED = /\.(?:[cm]?ts|[jt]sx)$/;
|
|
3
|
-
|
|
5
|
+
export { PROTOCOL, WORKER };
|
|
6
|
+
let warned = false;
|
|
4
7
|
let worker;
|
|
8
|
+
let workerAddress;
|
|
9
|
+
export const registerCompilerWorker = (address) => {
|
|
10
|
+
workerAddress = address;
|
|
11
|
+
};
|
|
5
12
|
let sent = 0;
|
|
6
13
|
const owed = new Map();
|
|
7
14
|
const inWorker = (address) => (source, options) => {
|
|
8
15
|
if (!worker) {
|
|
9
|
-
worker = new Worker(URL.createObjectURL(new Blob([WORKER], { type: 'text/javascript' })), {
|
|
10
|
-
type: 'module',
|
|
11
|
-
});
|
|
16
|
+
worker = new Worker(workerAddress ?? URL.createObjectURL(new Blob([WORKER], { type: 'text/javascript' })), { type: 'module' });
|
|
12
17
|
worker.onmessage = ({ data }) => {
|
|
18
|
+
if (data[3] !== PROTOCOL && !warned) {
|
|
19
|
+
warned = true;
|
|
20
|
+
reportRuntime({
|
|
21
|
+
kind: 'stale-worker',
|
|
22
|
+
message: `The compiler worker at ${String(workerAddress)} is from another release of @fusion.dev/helix. Copy @fusion.dev/helix/sandbox/compile-worker.js to that address again.`,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
13
25
|
owed.get(data[0])?.(data);
|
|
14
26
|
owed.delete(data[0]);
|
|
15
27
|
};
|
package/dist/sandbox/index.d.ts
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* hardcodes `sandbox="allow-scripts allow-forms"` on its frame and never
|
|
13
13
|
* `allow-same-origin`, which is the pairing that would undo it.
|
|
14
14
|
*/
|
|
15
|
+
export { registerCompilerWorker } from './compile.js';
|
|
15
16
|
export * from './console/sandbox-console.js';
|
|
16
17
|
export { isRender, LAYOUT_RULES, loggedText, type ServePreviewOptions, servePreview, withoutStylesheets, } from './frame.js';
|
|
17
18
|
export * from './preview/sandbox-preview.js';
|
package/dist/sandbox/index.js
CHANGED
|
@@ -2,13 +2,20 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
import { customElement } from '@fusion.dev/helix-core';
|
|
3
3
|
import { HelixHeadlessScatterChart } from '@fusion.dev/helix-headless/scatter-chart';
|
|
4
4
|
import { styles as seriesStyles } from '../../shared/chart/series.css.js';
|
|
5
|
+
import { styles as sonifyStyles } from '../../shared/chart/sonify.css.js';
|
|
5
6
|
import { styles as statusStyles } from '../../shared/chart/status.css.js';
|
|
6
7
|
import { styles as tooltipStyles } from '../../shared/chart/tooltip.css.js';
|
|
7
8
|
import { styles } from './scatter-chart-root.css.js';
|
|
8
9
|
import '../../tooltip/index.js';
|
|
9
10
|
let HelixScatterChart = class HelixScatterChart extends HelixHeadlessScatterChart {
|
|
10
11
|
static { this.tier = 'helix-'; }
|
|
11
|
-
static { this.styles = [
|
|
12
|
+
static { this.styles = [
|
|
13
|
+
seriesStyles,
|
|
14
|
+
statusStyles,
|
|
15
|
+
tooltipStyles,
|
|
16
|
+
styles,
|
|
17
|
+
sonifyStyles,
|
|
18
|
+
]; }
|
|
12
19
|
};
|
|
13
20
|
HelixScatterChart = __decorate([
|
|
14
21
|
customElement('helix-scatter-chart')
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
+
export const styles = createSheet(`[part="sonify"] {all: unset;align-items: center;border-radius: var(--helix-radii-sm);box-sizing: border-box;color: var(--helix-color-foreground-muted);cursor: pointer;display: inline-flex;font-family: var(--helix-font-sans);font-size: var(--helix-text-xs);font-weight: var(--helix-weight-medium);gap: var(--helix-space-2xs);grid-column: 1 / -1;justify-self: start;min-block-size: var(--helix-size-icon-loose);padding-inline: var(--helix-space-2xs)}[part="sonify"] svg {block-size: var(--helix-size-icon-tight);inline-size: var(--helix-size-icon-tight)}[part="sonify"]:hover {background-color: color-mix(in oklab, var(--helix-color-foreground) 8%, transparent);color: var(--helix-color-foreground)}[part="sonify"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset)}[part="sonify"][aria-pressed="true"] {color: var(--helix-color-accent)}:host([summary="visible"]) [part="summary"] {block-size: auto;clip-path: none;color: var(--helix-color-foreground-muted);font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);grid-column: 1 / -1;inline-size: auto;line-height: var(--helix-leading-normal);overflow: visible;position: static;white-space: normal}@media print {[part="sonify"] {display: none}}`);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
+
export const styles = createSheet(`[part~="voice-listening"] {box-shadow: 0 0 0 calc(var(--dictation-level, 0.4) * var(--helix-space-2xs) * 1.5) color-mix(in oklab, var(--helix-color-accent) 35%, transparent);color: var(--helix-color-accent);transition: box-shadow var(--helix-duration-fast) linear}@media (prefers-reduced-motion: reduce) {[part~="voice-listening"] {box-shadow: 0 0 0 calc(var(--helix-space-2xs) * 0.6) color-mix(in oklab, var(--helix-color-accent) 35%, transparent);transition: none}}@media print {[part~="voice"] {display: none}}`);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root/shortcut-overlay-root.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root/shortcut-overlay-root.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
+
export const styles = createSheet(`[part="badge"] {align-items: center;background-color: var(--shortcut-overlay-badge-background-color, var(--helix-color-surface-inverse));border: var(--shortcut-overlay-badge-border-width, var(--helix-border-floating)) solid var(--helix-color-border);border-radius: var(--helix-radii-sm);box-shadow: var(--shortcut-overlay-badge-shadow, var(--helix-shadow-floating));color: var(--shortcut-overlay-badge-color, var(--helix-color-foreground-inverse));display: inline-flex;font-family: var(--helix-font-sans);font-size: var(--helix-text-xs);font-weight: var(--helix-weight-regular);gap: var(--helix-space-2xs);line-height: var(--helix-leading-tight);max-inline-size: var(--shortcut-overlay-badge-max-inline-size, 16rem);padding: var(--helix-space-2xs) var(--helix-space-xs)}[part="badge"] {animation: shortcut-overlay-in var(--helix-duration-fast) var(--helix-easing-standard)}@media (prefers-reduced-motion: reduce) {[part="badge"] {animation: none}}@keyframes shortcut-overlay-in {from {opacity: 0}}[part="badge-keys"], [part="keys"] kbd {font-family: var(--helix-font-sans);font-weight: var(--helix-weight-semibold)}[part="badge-name"] {overflow: hidden;text-overflow: ellipsis}[part="list"] {display: grid;gap: var(--helix-space-2xs);grid-template-columns: minmax(0, 1fr) auto;margin: var(--helix-space-none)}[part="row"] {border-block-end: var(--helix-border-thin) solid var(--helix-color-border);display: grid;grid-column: 1 / -1;grid-template-columns: subgrid;padding-block: var(--helix-space-xs)}[part="row"]:last-child {border-block-end-color: transparent}[part="name"], [part="keys"] {font-size: var(--helix-text-sm);margin: var(--helix-space-none)}[part="keys"] {color: var(--helix-color-foreground-muted);text-align: end}[part="empty"] {color: var(--helix-color-foreground-muted);font-size: var(--helix-text-sm);margin: var(--helix-space-none)}@media print {[part="badge"] {display: none}}`);
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { HelixHeadlessShortcutOverlay } from '@fusion.dev/helix-headless/shortcut-overlay';
|
|
2
|
+
import type { CSSResultGroup } from 'lit';
|
|
3
|
+
import '../../dialog/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* @summary Shows every control's shortcut and what it does while a key is held.
|
|
6
|
+
*
|
|
7
|
+
* @description
|
|
8
|
+
* Each badge is a small inverse plate, as a tooltip is, with the keys first
|
|
9
|
+
* and the control's name after them, centered under the control.
|
|
10
|
+
* The sheet is a `Dialog` listing each shortcut's name with its keys at the
|
|
11
|
+
* end of the row.
|
|
12
|
+
*
|
|
13
|
+
* @since 0.216.0
|
|
14
|
+
* @status experimental
|
|
15
|
+
* @category navigation
|
|
16
|
+
* @aliases Keyboard shortcuts, Shortcut hints, Key tips, Cheat sheet
|
|
17
|
+
* @documentation https://fusion.dev/helix/components/shortcut-overlay
|
|
18
|
+
*
|
|
19
|
+
* @cssproperty --shortcut-overlay-badge-background-color - The badge's fill. Defaults to `surface-inverse`.
|
|
20
|
+
* @cssproperty --shortcut-overlay-badge-border-width - The badge's edge. Defaults to `border-floating`, which a theme sets to zero where a shadow alone lifts a surface.
|
|
21
|
+
* @cssproperty --shortcut-overlay-badge-color - The badge's text. Defaults to `foreground-inverse`.
|
|
22
|
+
* @cssproperty --shortcut-overlay-badge-max-inline-size - The widest a badge grows before its name ends in an ellipsis. Defaults to 16rem.
|
|
23
|
+
* @cssproperty --shortcut-overlay-badge-shadow - The badge's lift. Defaults to `shadow-floating`.
|
|
24
|
+
*/
|
|
25
|
+
export declare class HelixShortcutOverlay extends HelixHeadlessShortcutOverlay {
|
|
26
|
+
static styles: CSSResultGroup;
|
|
27
|
+
static tier: string;
|
|
28
|
+
}
|
|
29
|
+
declare global {
|
|
30
|
+
interface HTMLElementTagNameMap {
|
|
31
|
+
'helix-shortcut-overlay': HelixShortcutOverlay;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { customElement } from '@fusion.dev/helix-core';
|
|
3
|
+
import { HelixHeadlessShortcutOverlay } from '@fusion.dev/helix-headless/shortcut-overlay';
|
|
4
|
+
import '../../dialog/index.js';
|
|
5
|
+
import { styles } from './shortcut-overlay-root.css.js';
|
|
6
|
+
let HelixShortcutOverlay = class HelixShortcutOverlay extends HelixHeadlessShortcutOverlay {
|
|
7
|
+
static { this.styles = [HelixHeadlessShortcutOverlay.styles, styles]; }
|
|
8
|
+
static { this.tier = 'helix-'; }
|
|
9
|
+
};
|
|
10
|
+
HelixShortcutOverlay = __decorate([
|
|
11
|
+
customElement('helix-shortcut-overlay')
|
|
12
|
+
], HelixShortcutOverlay);
|
|
13
|
+
export { HelixShortcutOverlay };
|
|
@@ -3,12 +3,13 @@ import { customElement } from '@fusion.dev/helix-core';
|
|
|
3
3
|
import { HelixHeadlessSpatialBarChart } from '@fusion.dev/helix-headless/spatial-bar-chart';
|
|
4
4
|
import { property } from 'lit/decorators.js';
|
|
5
5
|
import { styles as seriesStyles } from '../../shared/chart/series.css.js';
|
|
6
|
+
import { styles as sonifyStyles } from '../../shared/chart/sonify.css.js';
|
|
6
7
|
import { styles as tooltipStyles } from '../../shared/chart/tooltip.css.js';
|
|
7
8
|
import { styles } from './spatial-bar-chart-root.css.js';
|
|
8
9
|
import '../../tooltip/index.js';
|
|
9
10
|
let HelixSpatialBarChart = class HelixSpatialBarChart extends HelixHeadlessSpatialBarChart {
|
|
10
11
|
static { this.tier = 'helix-'; }
|
|
11
|
-
static { this.styles = [seriesStyles, tooltipStyles, styles]; }
|
|
12
|
+
static { this.styles = [seriesStyles, tooltipStyles, styles, sonifyStyles]; }
|
|
12
13
|
};
|
|
13
14
|
__decorate([
|
|
14
15
|
property({ reflect: true })
|
|
@@ -2,6 +2,7 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
import { customElement } from '@fusion.dev/helix-core';
|
|
3
3
|
import { HelixHeadlessSpatialHeatmap } from '@fusion.dev/helix-headless/spatial-heatmap';
|
|
4
4
|
import { property } from 'lit/decorators.js';
|
|
5
|
+
import { styles as sonifyStyles } from '../../shared/chart/sonify.css.js';
|
|
5
6
|
import { styles as tooltipStyles } from '../../shared/chart/tooltip.css.js';
|
|
6
7
|
import { styles } from './spatial-heatmap-root.css.js';
|
|
7
8
|
import '../../tooltip/index.js';
|
|
@@ -11,7 +12,7 @@ let HelixSpatialHeatmap = class HelixSpatialHeatmap extends HelixHeadlessSpatial
|
|
|
11
12
|
this.minCell = 10;
|
|
12
13
|
}
|
|
13
14
|
static { this.tier = 'helix-'; }
|
|
14
|
-
static { this.styles = [tooltipStyles, styles]; }
|
|
15
|
+
static { this.styles = [tooltipStyles, styles, sonifyStyles]; }
|
|
15
16
|
};
|
|
16
17
|
__decorate([
|
|
17
18
|
property({ reflect: true })
|
|
@@ -3,12 +3,13 @@ import { customElement } from '@fusion.dev/helix-core';
|
|
|
3
3
|
import { HelixHeadlessSpatialRibbonChart } from '@fusion.dev/helix-headless/spatial-ribbon-chart';
|
|
4
4
|
import { property } from 'lit/decorators.js';
|
|
5
5
|
import { styles as seriesStyles } from '../../shared/chart/series.css.js';
|
|
6
|
+
import { styles as sonifyStyles } from '../../shared/chart/sonify.css.js';
|
|
6
7
|
import { styles as tooltipStyles } from '../../shared/chart/tooltip.css.js';
|
|
7
8
|
import { styles } from './spatial-ribbon-chart-root.css.js';
|
|
8
9
|
import '../../tooltip/index.js';
|
|
9
10
|
let HelixSpatialRibbonChart = class HelixSpatialRibbonChart extends HelixHeadlessSpatialRibbonChart {
|
|
10
11
|
static { this.tier = 'helix-'; }
|
|
11
|
-
static { this.styles = [seriesStyles, tooltipStyles, styles]; }
|
|
12
|
+
static { this.styles = [seriesStyles, tooltipStyles, styles, sonifyStyles]; }
|
|
12
13
|
};
|
|
13
14
|
__decorate([
|
|
14
15
|
property({ reflect: true })
|
|
@@ -3,12 +3,13 @@ import { customElement } from '@fusion.dev/helix-core';
|
|
|
3
3
|
import { HelixHeadlessSpatialScatterChart } from '@fusion.dev/helix-headless/spatial-scatter-chart';
|
|
4
4
|
import { property } from 'lit/decorators.js';
|
|
5
5
|
import { styles as seriesStyles } from '../../shared/chart/series.css.js';
|
|
6
|
+
import { styles as sonifyStyles } from '../../shared/chart/sonify.css.js';
|
|
6
7
|
import { styles as tooltipStyles } from '../../shared/chart/tooltip.css.js';
|
|
7
8
|
import { styles } from './spatial-scatter-chart-root.css.js';
|
|
8
9
|
import '../../tooltip/index.js';
|
|
9
10
|
let HelixSpatialScatterChart = class HelixSpatialScatterChart extends HelixHeadlessSpatialScatterChart {
|
|
10
11
|
static { this.tier = 'helix-'; }
|
|
11
|
-
static { this.styles = [seriesStyles, tooltipStyles, styles]; }
|
|
12
|
+
static { this.styles = [seriesStyles, tooltipStyles, styles, sonifyStyles]; }
|
|
12
13
|
};
|
|
13
14
|
__decorate([
|
|
14
15
|
property({ reflect: true })
|
|
@@ -2,12 +2,13 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
import { customElement } from '@fusion.dev/helix-core';
|
|
3
3
|
import { HelixHeadlessSpatialSurfaceChart } from '@fusion.dev/helix-headless/spatial-surface-chart';
|
|
4
4
|
import { property } from 'lit/decorators.js';
|
|
5
|
+
import { styles as sonifyStyles } from '../../shared/chart/sonify.css.js';
|
|
5
6
|
import { styles as tooltipStyles } from '../../shared/chart/tooltip.css.js';
|
|
6
7
|
import { styles } from './spatial-surface-chart-root.css.js';
|
|
7
8
|
import '../../tooltip/index.js';
|
|
8
9
|
let HelixSpatialSurfaceChart = class HelixSpatialSurfaceChart extends HelixHeadlessSpatialSurfaceChart {
|
|
9
10
|
static { this.tier = 'helix-'; }
|
|
10
|
-
static { this.styles = [tooltipStyles, styles]; }
|
|
11
|
+
static { this.styles = [tooltipStyles, styles, sonifyStyles]; }
|
|
11
12
|
};
|
|
12
13
|
__decorate([
|
|
13
14
|
property({ reflect: true })
|
|
@@ -3,12 +3,13 @@ import { customElement } from '@fusion.dev/helix-core';
|
|
|
3
3
|
import { HelixHeadlessSpatialTreemap } from '@fusion.dev/helix-headless/spatial-treemap';
|
|
4
4
|
import { property } from 'lit/decorators.js';
|
|
5
5
|
import { styles as seriesStyles } from '../../shared/chart/series.css.js';
|
|
6
|
+
import { styles as sonifyStyles } from '../../shared/chart/sonify.css.js';
|
|
6
7
|
import { styles as tooltipStyles } from '../../shared/chart/tooltip.css.js';
|
|
7
8
|
import { styles } from './spatial-treemap-root.css.js';
|
|
8
9
|
import '../../tooltip/index.js';
|
|
9
10
|
let HelixSpatialTreemap = class HelixSpatialTreemap extends HelixHeadlessSpatialTreemap {
|
|
10
11
|
static { this.tier = 'helix-'; }
|
|
11
|
-
static { this.styles = [seriesStyles, tooltipStyles, styles]; }
|
|
12
|
+
static { this.styles = [seriesStyles, tooltipStyles, styles, sonifyStyles]; }
|
|
12
13
|
};
|
|
13
14
|
__decorate([
|
|
14
15
|
property({ reflect: true })
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
-
export const styles = createSheet(`[part="field"] {background-color: var(--textarea-background-color, var(--helix-color-well));border: var(--helix-border-thin) solid var(--textarea-border-color, var(--helix-color-border));border-radius: var(--textarea-radius, var(--helix-radii-sm));display: flex;gap: var(--helix-space-2xs);padding: var(--textarea-padding, var(--helix-space-xs));transition: border-color var(--helix-duration-fast) var(--helix-easing-standard), background-color var(--helix-duration-fast) var(--helix-easing-standard)}[part="control"] {line-height: var(--helix-leading-normal);overflow-wrap: break-word;resize: var(--textarea-resize, vertical)}slot[name="start"]::slotted(*), slot[name="end"]::slotted(*) {align-self: flex-start;color: var(--helix-color-foreground-muted);flex: 0 0 auto}[part="clear"] {--icon-size: var(--helix-size-icon-tight);all: unset;align-items: center;align-self: flex-start;border-radius: var(--helix-radii-sm);box-sizing: border-box;color: var(--helix-color-foreground-muted);cursor: pointer;display: flex;flex: 0 0 auto;justify-content: center;min-block-size: var(--helix-size-icon-loose);min-inline-size: var(--helix-size-icon-loose);transition: color var(--helix-duration-fast) var(--helix-easing-standard)}[part="clear"]:hover {color: var(--helix-color-foreground)}[part="clear"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset)}:host([auto-grow]) [part="control"] {overflow: hidden;resize: none}:host(:disabled) [part="field"] {cursor: not-allowed;opacity: 0.5}:host([readonly]) [part="field"] {background-color: transparent}@media print {:host {print-color-adjust: exact}}`);
|
|
2
|
+
export const styles = createSheet(`[part="field"] {background-color: var(--textarea-background-color, var(--helix-color-well));border: var(--helix-border-thin) solid var(--textarea-border-color, var(--helix-color-border));border-radius: var(--textarea-radius, var(--helix-radii-sm));display: flex;gap: var(--helix-space-2xs);padding: var(--textarea-padding, var(--helix-space-xs));transition: border-color var(--helix-duration-fast) var(--helix-easing-standard), background-color var(--helix-duration-fast) var(--helix-easing-standard)}[part="control"] {line-height: var(--helix-leading-normal);overflow-wrap: break-word;resize: var(--textarea-resize, vertical)}slot[name="start"]::slotted(*), slot[name="end"]::slotted(*) {align-self: flex-start;color: var(--helix-color-foreground-muted);flex: 0 0 auto}[part="clear"], [part~="voice"] {--icon-size: var(--helix-size-icon-tight);all: unset;align-items: center;align-self: flex-start;border-radius: var(--helix-radii-sm);box-sizing: border-box;color: var(--helix-color-foreground-muted);cursor: pointer;display: flex;flex: 0 0 auto;justify-content: center;min-block-size: var(--helix-size-icon-loose);min-inline-size: var(--helix-size-icon-loose);transition: color var(--helix-duration-fast) var(--helix-easing-standard)}[part="clear"]:hover, [part~="voice"]:hover {color: var(--helix-color-foreground)}[part="clear"]:focus-visible, [part~="voice"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset)}:host([auto-grow]) [part="control"] {overflow: hidden;resize: none}:host(:disabled) [part="field"] {cursor: not-allowed;opacity: 0.5}:host([readonly]) [part="field"] {background-color: transparent}@media print {:host {print-color-adjust: exact}}`);
|
|
@@ -14,6 +14,7 @@ import type { CSSResultGroup } from 'lit';
|
|
|
14
14
|
* @aliases Multiline, TextArea
|
|
15
15
|
* @documentation https://fusion.dev/helix/components/textarea
|
|
16
16
|
*
|
|
17
|
+
* @cssproperty --dictation-level - How loud the microphone is while the field listens for dictation, from 0 to 1, which the element sets; the ring around the dictation button grows with it.
|
|
17
18
|
* @cssproperty --textarea-background-color - Fill behind the text.
|
|
18
19
|
* @cssproperty --textarea-border-color - Edge of the field at rest. Hover, focus and an error still draw their own.
|
|
19
20
|
* @cssproperty --textarea-padding - Space between the edge of the field and the text.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { customElement } from '@fusion.dev/helix-core';
|
|
3
3
|
import { HelixHeadlessTextarea } from '@fusion.dev/helix-headless/textarea';
|
|
4
|
+
import { styles as dictationStyles } from '../../shared/dictation/dictation.css.js';
|
|
4
5
|
import { styles as fieldStyles } from '../../shared/field/field.css.js';
|
|
5
6
|
import { styles as fieldFrameStyles } from '../../shared/field/field-frame.css.js';
|
|
6
7
|
import { styles as fieldStackedStyles } from '../../shared/field/field-stacked.css.js';
|
|
@@ -11,6 +12,7 @@ let HelixTextarea = class HelixTextarea extends HelixHeadlessTextarea {
|
|
|
11
12
|
fieldFrameStyles,
|
|
12
13
|
fieldStackedStyles,
|
|
13
14
|
styles,
|
|
15
|
+
dictationStyles,
|
|
14
16
|
]; }
|
|
15
17
|
};
|
|
16
18
|
HelixTextarea = __decorate([
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { customElement } from '@fusion.dev/helix-core';
|
|
3
3
|
import { HelixHeadlessToast } from '@fusion.dev/helix-headless/toast';
|
|
4
|
+
import '../../button/index.js';
|
|
4
5
|
import { styles as liveStyles } from '../../shared/live/live.css.js';
|
|
5
6
|
import { styles } from './toast-root.css.js';
|
|
6
7
|
let HelixToast = class HelixToast extends HelixHeadlessToast {
|