@fusion.dev/helix 0.147.0 → 0.149.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 +11575 -1278
- package/dist/announcement/root/announcement-root.css.js +1 -1
- package/dist/blockquote/root/blockquote-root.css.js +1 -1
- package/dist/blockquote/root/blockquote-root.d.ts +8 -2
- package/dist/button-group/root/button-group-root.css.js +10 -1
- package/dist/button-group/root/button-group-root.d.ts +29 -7
- package/dist/button-group/root/button-group-root.js +19 -0
- package/dist/canvas/node/canvas-node.css.js +6 -6
- package/dist/canvas/node/canvas-node.d.ts +5 -0
- package/dist/canvas/root/canvas-root.css.js +6 -2
- package/dist/canvas/root/canvas-root.d.ts +6 -0
- package/dist/card/root/card-root.css.js +3 -3
- package/dist/card/root/card-root.d.ts +4 -0
- package/dist/chat/root/chat-root.css.js +3 -1
- package/dist/chat/root/chat-root.d.ts +3 -0
- package/dist/code-block/root/code-block-root.css.js +17 -9
- package/dist/code-block/root/code-block-root.d.ts +7 -0
- package/dist/combobox/root/combobox-root.js +2 -0
- package/dist/data-table/root/data-table-root.css.js +20 -8
- package/dist/data-table/root/data-table-root.d.ts +12 -0
- package/dist/description-list/item/description-list-item.css.js +1 -1
- package/dist/description-list/item/description-list-item.d.ts +1 -0
- package/dist/description-list/root/description-list-root.css.js +2 -1
- package/dist/description-list/root/description-list-root.d.ts +12 -0
- package/dist/description-list/root/description-list-root.js +7 -0
- package/dist/divider/root/divider-root.css.js +3 -4
- package/dist/divider/root/divider-root.d.ts +3 -0
- package/dist/element-events.generated.js +33 -4
- package/dist/format-date/root/format-date-root.css.js +1 -1
- package/dist/format-date/root/format-date-root.d.ts +0 -1
- package/dist/format-date/root/format-date-root.js +0 -1
- package/dist/list/item/list-item.css.js +4 -2
- package/dist/list/item/list-item.d.ts +4 -0
- package/dist/list/root/list-root.css.js +2 -1
- package/dist/list/root/list-root.d.ts +6 -0
- package/dist/list/root/list-root.js +2 -1
- package/dist/listbox/reorder/index.d.ts +1 -0
- package/dist/listbox/reorder/index.js +6 -0
- package/dist/listbox/reorder/listbox-drag-preview.css.d.ts +1 -0
- package/dist/listbox/reorder/listbox-drag-preview.css.js +3 -0
- package/dist/listbox/reorder/listbox-reorder.css.d.ts +1 -0
- package/dist/listbox/reorder/listbox-reorder.css.js +4 -0
- package/dist/listbox/root/listbox-root.css.js +4 -1
- package/dist/listbox/root/listbox-root.d.ts +11 -0
- package/dist/listbox/root/listbox-root.js +1 -0
- package/dist/map/root/map-root.css.js +10 -6
- package/dist/map/root/map-root.d.ts +10 -0
- package/dist/notifications/notification/notification.css.js +8 -2
- package/dist/notifications/notification/notification.d.ts +13 -5
- package/dist/notifications/notification/notification.js +13 -0
- package/dist/notifications/root/notifications-root.css.js +4 -2
- package/dist/notifications/root/notifications-root.d.ts +21 -3
- package/dist/notifications/root/notifications-root.js +13 -1
- package/dist/orb/root/orb-root.d.ts +5 -0
- package/dist/orb/root/orb-root.js +13 -12
- package/dist/pagination/root/pagination-root.css.js +7 -7
- package/dist/pagination/root/pagination-root.d.ts +14 -0
- package/dist/pagination/size/pagination-size.css.js +1 -1
- package/dist/pagination/size/pagination-size.d.ts +3 -0
- package/dist/pagination/summary/pagination-summary.css.js +1 -1
- package/dist/pagination/summary/pagination-summary.d.ts +3 -0
- package/dist/qr-code/root/qr-code-root.css.js +1 -1
- package/dist/qr-code/root/qr-code-root.d.ts +3 -0
- package/dist/sandbox/preview/sandbox-preview.d.ts +14 -1
- package/dist/sandbox/preview/sandbox-preview.js +12 -9
- package/dist/sandbox/root/sandbox-root.d.ts +8 -3
- package/dist/sandbox/root/sandbox-root.js +7 -3
- package/dist/sandbox/source/sandbox-source.d.ts +5 -0
- package/dist/sandbox/source/sandbox-source.js +4 -1
- package/dist/sandbox/status-bar/sandbox-status-bar.d.ts +10 -0
- package/dist/sandbox/status-bar/sandbox-status-bar.js +14 -2
- package/dist/sandbox/terminal/sandbox-terminal.d.ts +11 -0
- package/dist/sandbox/terminal/sandbox-terminal.js +22 -11
- package/dist/scroll-area/root/scroll-area-root.css.js +5 -4
- package/dist/scroll-area/root/scroll-area-root.d.ts +3 -3
- package/dist/select/root/select-root.css.js +4 -1
- package/dist/select/root/select-root.js +2 -0
- package/dist/shared/viewport/viewport.css.js +1 -1
- package/dist/speed-dial/group/speed-dial-group.css.d.ts +1 -0
- package/dist/speed-dial/group/speed-dial-group.css.js +2 -0
- package/dist/speed-dial/group/speed-dial-group.d.ts +27 -0
- package/dist/speed-dial/group/speed-dial-group.js +16 -0
- package/dist/speed-dial/index.d.ts +1 -0
- package/dist/speed-dial/index.js +1 -0
- package/dist/speed-dial/item/speed-dial-item.css.js +1 -1
- package/dist/speed-dial/item/speed-dial-item.d.ts +1 -0
- package/dist/speed-dial/root/speed-dial-root.css.js +1 -1
- package/dist/splitter/root/splitter-root.css.js +15 -7
- package/dist/splitter/root/splitter-root.d.ts +4 -0
- package/dist/table/cell/table-cell.css.js +1 -1
- package/dist/table/root/table-root.css.js +3 -1
- package/dist/table/root/table-root.d.ts +8 -1
- package/dist/table/row/table-row.css.js +9 -1
- package/dist/table/row/table-row.d.ts +5 -0
- package/dist/time-picker/root/time-picker-root.css.js +9 -4
- package/dist/time-picker/root/time-picker-root.d.ts +6 -0
- package/dist/toast/item/toast-item.css.js +9 -6
- package/dist/toast/item/toast-item.d.ts +10 -0
- package/dist/toolbar/root/toolbar-root.css.js +1 -1
- package/dist/toolbar/root/toolbar-root.d.ts +9 -0
- package/dist/toolbar/root/toolbar-root.js +4 -0
- package/dist/tooltip/root/tooltip-root.d.ts +9 -0
- package/dist/tree/item/tree-item.css.js +3 -1
- package/dist/tree/item/tree-item.d.ts +6 -0
- package/dist/tree/root/tree-root.css.js +2 -1
- package/dist/tree/root/tree-root.d.ts +8 -1
- package/dist/virtual-list/root/virtual-list-root.css.js +6 -1
- package/dist/virtual-list/root/virtual-list-root.d.ts +3 -0
- package/lint.json +1 -1
- package/package.json +8 -7
- package/types/jsx.d.ts +5934 -1679
- package/types/svelte.d.ts +1 -0
- package/types/vue.d.ts +1910 -541
- package/types/words.d.ts +2555 -0
|
@@ -6,14 +6,26 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { customElement } from '@fusion.dev/helix-core';
|
|
8
8
|
import { HelixHeadlessNotifications } from '@fusion.dev/helix-headless/notifications';
|
|
9
|
+
import { property } from 'lit/decorators.js';
|
|
9
10
|
import { styles as collectionStateStyles } from '../../shared/collection/state.css.js';
|
|
10
11
|
import { styles as liveStyles } from '../../shared/live/live.css.js';
|
|
12
|
+
import { HelixNotification } from '../notification/notification.js';
|
|
11
13
|
import { styles } from './notifications-root.css.js';
|
|
12
|
-
import '../notification/notification.js';
|
|
13
14
|
let HelixNotifications = class HelixNotifications extends HelixHeadlessNotifications {
|
|
14
15
|
static { this.tier = 'helix-'; }
|
|
15
16
|
static { this.styles = [liveStyles, collectionStateStyles, styles]; }
|
|
17
|
+
updated(changed) {
|
|
18
|
+
super.updated(changed);
|
|
19
|
+
for (const item of this.items) {
|
|
20
|
+
if (item instanceof HelixNotification) {
|
|
21
|
+
item.feedSeparation = this.separation;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
16
25
|
};
|
|
26
|
+
__decorate([
|
|
27
|
+
property({ reflect: true })
|
|
28
|
+
], HelixNotifications.prototype, "separation", void 0);
|
|
17
29
|
HelixNotifications = __decorate([
|
|
18
30
|
customElement('helix-notifications')
|
|
19
31
|
], HelixNotifications);
|
|
@@ -63,6 +63,11 @@ import { type OrbState } from '../shapes.js';
|
|
|
63
63
|
* @cssstate working - The orb shows `working`.
|
|
64
64
|
*/
|
|
65
65
|
export declare class HelixOrb extends HelixElement {
|
|
66
|
+
/**
|
|
67
|
+
* The key this family's words are registered under, its tag:
|
|
68
|
+
* `registerWords('de', { 'helix-orb': { stateLabels: { thinking: 'Denkt nach' } } })`.
|
|
69
|
+
*/
|
|
70
|
+
static words: string;
|
|
66
71
|
static styles: CSSResultGroup;
|
|
67
72
|
/**
|
|
68
73
|
* Says each new state politely, such as "Working" and then "Done".
|
|
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { customElement, HelixElement, hostAria, PaintGateController, readColor, wordsConverter, } from '@fusion.dev/helix-core';
|
|
7
|
+
import { customElement, HelixElement, hostAria, PaintGateController, readColor, words, wordsConverter, } from '@fusion.dev/helix-core';
|
|
8
8
|
import { html, nothing } from 'lit';
|
|
9
9
|
import { property } from 'lit/decorators.js';
|
|
10
10
|
import { styles as liveStyles } from '../../shared/live/live.css.js';
|
|
@@ -14,15 +14,6 @@ const MORPH_NEAR = 380;
|
|
|
14
14
|
const MORPH_REACH = 580;
|
|
15
15
|
const LIGHT_Y = 0.36;
|
|
16
16
|
const STILL_PHASE = 1.4;
|
|
17
|
-
const LABELS = {
|
|
18
|
-
connecting: 'Connecting',
|
|
19
|
-
done: 'Done',
|
|
20
|
-
fetching: 'Fetching',
|
|
21
|
-
listening: 'Listening',
|
|
22
|
-
thinking: 'Thinking',
|
|
23
|
-
waiting: 'Waiting',
|
|
24
|
-
working: 'Working',
|
|
25
|
-
};
|
|
26
17
|
const GRAY = [128, 128, 128];
|
|
27
18
|
let HelixOrb = class HelixOrb extends HelixElement {
|
|
28
19
|
constructor() {
|
|
@@ -30,7 +21,15 @@ let HelixOrb = class HelixOrb extends HelixElement {
|
|
|
30
21
|
this.announce = false;
|
|
31
22
|
this.label = '';
|
|
32
23
|
this.state = 'thinking';
|
|
33
|
-
this.stateLabels = {
|
|
24
|
+
this.stateLabels = {
|
|
25
|
+
connecting: 'Connecting',
|
|
26
|
+
done: 'Done',
|
|
27
|
+
fetching: 'Fetching',
|
|
28
|
+
listening: 'Listening',
|
|
29
|
+
thinking: 'Thinking',
|
|
30
|
+
waiting: 'Waiting',
|
|
31
|
+
working: 'Working',
|
|
32
|
+
};
|
|
34
33
|
this.context = null;
|
|
35
34
|
this.gate = new PaintGateController(this, {
|
|
36
35
|
canRun: () => !!this.context && !this.lost,
|
|
@@ -69,6 +68,7 @@ let HelixOrb = class HelixOrb extends HelixElement {
|
|
|
69
68
|
this.gate.play();
|
|
70
69
|
};
|
|
71
70
|
}
|
|
71
|
+
static { this.words = 'helix-orb'; }
|
|
72
72
|
static { this.styles = [liveStyles, styles]; }
|
|
73
73
|
willUpdate(changed) {
|
|
74
74
|
super.willUpdate(changed);
|
|
@@ -95,7 +95,7 @@ let HelixOrb = class HelixOrb extends HelixElement {
|
|
|
95
95
|
: 'thinking';
|
|
96
96
|
}
|
|
97
97
|
get word() {
|
|
98
|
-
return this.stateLabels?.[this.shown]
|
|
98
|
+
return this.stateLabels?.[this.shown] ?? '';
|
|
99
99
|
}
|
|
100
100
|
render() {
|
|
101
101
|
return html `<canvas part="canvas" aria-hidden="true"></canvas>${this.announce ? html `<span part="live">${this.word}</span>` : nothing}`;
|
|
@@ -264,6 +264,7 @@ __decorate([
|
|
|
264
264
|
property()
|
|
265
265
|
], HelixOrb.prototype, "state", void 0);
|
|
266
266
|
__decorate([
|
|
267
|
+
words,
|
|
267
268
|
property({ attribute: 'state-labels', converter: wordsConverter })
|
|
268
269
|
], HelixOrb.prototype, "stateLabels", void 0);
|
|
269
270
|
HelixOrb = __decorate([
|
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
-
export const styles = createSheet(`:host {align-items: center;display: flex;flex-wrap: wrap;font-size: var(--helix-text-sm);gap: var(--pagination-gap, var(--helix-space-2xs));}[part="list"] {align-items: center;display: flex;flex-wrap: wrap;gap: var(--pagination-gap, var(--helix-space-2xs));list-style: none;margin: var(--helix-space-none);padding: var(--helix-space-none);}[part="item"] {display: inline-flex;}[part="first"],
|
|
2
|
+
export const styles = createSheet(`:host {align-items: center;display: flex;flex-wrap: wrap;font-size: var(--pagination-font-size, var(--helix-text-sm));gap: var(--pagination-gap, var(--helix-space-2xs));}[part="list"] {align-items: center;display: flex;flex-wrap: wrap;gap: var(--pagination-gap, var(--helix-space-2xs));list-style: none;margin: var(--helix-space-none);padding: var(--helix-space-none);}[part="item"] {display: inline-flex;}[part="first"],
|
|
3
3
|
[part="gap"],
|
|
4
4
|
[part="last"],
|
|
5
5
|
[part~="page"],
|
|
6
6
|
[part="previous"],
|
|
7
|
-
[part="next"] {align-items: center;appearance: none;background-color: transparent;block-size: var(--pagination-size, var(--helix-size-control-tight));border: var(--helix-border-thin) solid transparent;border-radius: var(--helix-radii-sm);color: var(--helix-color-foreground-muted);cursor: pointer;display: inline-flex;font: inherit;font-variant-numeric: tabular-nums;font-weight: var(--helix-weight-medium);justify-content: center;min-inline-size: var(--pagination-size, var(--helix-size-control-tight));padding-inline: var(--helix-space-2xs);text-decoration: none;transition:
|
|
7
|
+
[part="next"] {align-items: center;appearance: none;background-color: transparent;block-size: var(--pagination-size, var(--helix-size-control-tight));border: var(--helix-border-thin) solid transparent;border-radius: var(--pagination-radius, var(--helix-radii-sm));color: var(--pagination-foreground-color, var(--helix-color-foreground-muted));cursor: pointer;display: inline-flex;font: inherit;font-variant-numeric: tabular-nums;font-weight: var(--pagination-font-weight, var(--helix-weight-medium));justify-content: center;min-inline-size: var(--pagination-size, var(--helix-size-control-tight));padding-inline: var(--pagination-padding, var(--helix-space-2xs));text-decoration: none;transition:
|
|
8
8
|
background-color var(--helix-duration-fast) var(--helix-easing-standard),
|
|
9
9
|
color var(--helix-duration-fast) var(--helix-easing-standard);}[part="first"]:hover,
|
|
10
10
|
[part="gap"]:hover,
|
|
11
11
|
[part="last"]:hover,
|
|
12
12
|
[part~="page"]:hover,
|
|
13
13
|
[part="previous"]:hover,
|
|
14
|
-
[part="next"]:hover {background-color: var(--pagination-hover-color, var(--helix-color-surface-sunken));color: var(--helix-color-foreground);}[part="first"]:focus-visible,
|
|
14
|
+
[part="next"]:hover {background-color: var(--pagination-hover-color, var(--helix-color-surface-sunken));color: var(--pagination-hover-foreground-color, var(--helix-color-foreground));}[part="first"]:focus-visible,
|
|
15
15
|
[part="gap"]:focus-visible,
|
|
16
16
|
[part="last"]:focus-visible,
|
|
17
17
|
[part~="page"]:focus-visible,
|
|
18
18
|
[part="previous"]:focus-visible,
|
|
19
19
|
[part="next"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part~="page"][aria-current="page"],
|
|
20
|
-
[part~="page"][aria-current="page"]:hover {background-color: var(--pagination-current-color, var(--helix-color-surface-raised));border-color: var(--helix-color-border);color: var(--helix-color-foreground);font-weight: var(--helix-weight-semibold);}[part="first"]:disabled,
|
|
20
|
+
[part~="page"][aria-current="page"]:hover {background-color: var(--pagination-current-color, var(--helix-color-surface-raised));border-color: var(--pagination-current-border-color, var(--helix-color-border));color: var(--pagination-current-foreground-color, var(--helix-color-foreground));font-weight: var(--pagination-current-font-weight, var(--helix-weight-semibold));}[part="first"]:disabled,
|
|
21
21
|
[part="last"]:disabled,
|
|
22
22
|
[part="previous"]:disabled,
|
|
23
23
|
[part="next"]:disabled,
|
|
24
24
|
[part="first"][aria-disabled="true"],
|
|
25
25
|
[part="last"][aria-disabled="true"],
|
|
26
26
|
[part="previous"][aria-disabled="true"],
|
|
27
|
-
[part="next"][aria-disabled="true"] {color: var(--helix-color-foreground-subtle);cursor: default;opacity: 0.5;pointer-events: none;}[part="first"] svg,
|
|
27
|
+
[part="next"][aria-disabled="true"] {color: var(--pagination-disabled-foreground-color, var(--helix-color-foreground-subtle));cursor: default;opacity: var(--pagination-disabled-opacity, 0.5);pointer-events: none;}[part="first"] svg,
|
|
28
28
|
[part="last"] svg,
|
|
29
29
|
[part="previous"] svg,
|
|
30
30
|
[part="next"] svg,
|
|
31
31
|
::slotted([slot="first-icon"]),
|
|
32
32
|
::slotted([slot="last-icon"]),
|
|
33
33
|
::slotted([slot="previous-icon"]),
|
|
34
|
-
::slotted([slot="next-icon"]) {block-size: var(--helix-size-icon-tight);inline-size: var(--helix-size-icon-tight);}:host(:dir(rtl)) ::slotted([slot="first-icon"]),
|
|
34
|
+
::slotted([slot="next-icon"]) {block-size: var(--pagination-icon-size, var(--helix-size-icon-tight));inline-size: var(--pagination-icon-size, var(--helix-size-icon-tight));}:host(:dir(rtl)) ::slotted([slot="first-icon"]),
|
|
35
35
|
:host(:dir(rtl)) ::slotted([slot="last-icon"]),
|
|
36
36
|
:host(:dir(rtl)) ::slotted([slot="previous-icon"]),
|
|
37
|
-
:host(:dir(rtl)) ::slotted([slot="next-icon"]) {scale: -1 1;}[part="gap"] {color: var(--helix-color-foreground-subtle);user-select: none;}:host(:state(empty)) {display: none;}[part="status"] {color: var(--helix-color-foreground-muted);font-variant-numeric: tabular-nums;font-weight: var(--helix-weight-medium);padding-inline: var(--helix-space-xs);}@media print {:host {display: none;}}`);
|
|
37
|
+
:host(:dir(rtl)) ::slotted([slot="next-icon"]) {scale: -1 1;}[part="gap"] {color: var(--pagination-ellipsis-foreground-color, var(--helix-color-foreground-subtle));user-select: none;}:host(:state(empty)) {display: none;}[part="status"] {color: var(--pagination-status-foreground-color, var(--helix-color-foreground-muted));font-variant-numeric: tabular-nums;font-weight: var(--pagination-font-weight, var(--helix-weight-medium));padding-inline: var(--helix-space-xs);}@media print {:host {display: none;}}`);
|
|
@@ -35,10 +35,24 @@ import type { CSSResultGroup } from 'lit';
|
|
|
35
35
|
* @csspart previous - The control that moves back one page.
|
|
36
36
|
* @csspart status - The text that says which page you are on, in `compact`.
|
|
37
37
|
*
|
|
38
|
+
* @cssproperty --pagination-current-border-color - Edge of the page you are on.
|
|
38
39
|
* @cssproperty --pagination-current-color - Fill behind the page you are on.
|
|
40
|
+
* @cssproperty --pagination-current-font-weight - Weight of the number of the page you are on.
|
|
41
|
+
* @cssproperty --pagination-current-foreground-color - Color of the number of the page you are on.
|
|
42
|
+
* @cssproperty --pagination-disabled-foreground-color - Color of a first, previous, next or last control with nowhere to go.
|
|
43
|
+
* @cssproperty --pagination-disabled-opacity - How faint a control with nowhere to go is drawn.
|
|
44
|
+
* @cssproperty --pagination-ellipsis-foreground-color - Color of the control that stands in for hidden pages.
|
|
45
|
+
* @cssproperty --pagination-font-size - Size of the numbers and the status text.
|
|
46
|
+
* @cssproperty --pagination-font-weight - Weight of the numbers and the status text.
|
|
47
|
+
* @cssproperty --pagination-foreground-color - Color of the numbers and the marks on every control.
|
|
39
48
|
* @cssproperty --pagination-gap - Space between one control and the next.
|
|
40
49
|
* @cssproperty --pagination-hover-color - Fill behind a control under the pointer.
|
|
50
|
+
* @cssproperty --pagination-hover-foreground-color - Color of a control's number or mark under the pointer.
|
|
51
|
+
* @cssproperty --pagination-icon-size - Size of the mark on a first, previous, next or last control, drawn or slotted.
|
|
52
|
+
* @cssproperty --pagination-padding - Space either side of a control's number or mark.
|
|
53
|
+
* @cssproperty --pagination-radius - Corner radius of every control in the row.
|
|
41
54
|
* @cssproperty --pagination-size - The box every control in the row takes.
|
|
55
|
+
* @cssproperty --pagination-status-foreground-color - Color of the text that says which page you are on, in `compact`.
|
|
42
56
|
*/
|
|
43
57
|
export declare class HelixPagination extends HelixHeadlessPagination {
|
|
44
58
|
static styles: CSSResultGroup;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
-
export const styles = createSheet(`:host {display: inline-flex;}:host(:state(empty)) {display: none;}[part="control"] {align-items: center;flex-direction: row;gap: var(--helix-space-xs);}[part="control"]::part(label) {padding-block-end: var(--helix-space-none);white-space: nowrap;}[part="control"]::part(trigger) {block-size: var(--helix-size-control-tight);}`);
|
|
2
|
+
export const styles = createSheet(`:host {display: inline-flex;}:host(:state(empty)) {display: none;}[part="control"] {align-items: center;flex-direction: row;gap: var(--pagination-size-gap, var(--helix-space-xs));}[part="control"]::part(label) {padding-block-end: var(--helix-space-none);white-space: nowrap;}[part="control"]::part(trigger) {block-size: var(--pagination-size, var(--helix-size-control-tight));}`);
|
|
@@ -20,6 +20,9 @@ import '../../select/index.js';
|
|
|
20
20
|
* @documentation https://fusion.dev/helix/components/pagination
|
|
21
21
|
*
|
|
22
22
|
* @csspart control - The select.
|
|
23
|
+
*
|
|
24
|
+
* @cssproperty --pagination-size - Height of the select's trigger, the same hook that sizes every control in the page row.
|
|
25
|
+
* @cssproperty --pagination-size-gap - Space between the label and the select.
|
|
23
26
|
*/
|
|
24
27
|
export declare class HelixPaginationSize extends HelixHeadlessPaginationSize {
|
|
25
28
|
static tier: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
-
export const styles = createSheet(`:host {color: var(--helix-color-foreground-subtle);display: inline-block;font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);font-variant-numeric: tabular-nums;}`);
|
|
2
|
+
export const styles = createSheet(`:host {color: var(--pagination-summary-foreground-color, var(--helix-color-foreground-subtle));display: inline-block;font-family: var(--helix-font-sans);font-size: var(--pagination-font-size, var(--helix-text-sm));font-variant-numeric: tabular-nums;}`);
|
|
@@ -11,6 +11,9 @@ import type { CSSResultGroup } from 'lit';
|
|
|
11
11
|
* @status stable
|
|
12
12
|
* @aliases Result count, Range
|
|
13
13
|
* @documentation https://fusion.dev/helix/components/pagination
|
|
14
|
+
*
|
|
15
|
+
* @cssproperty --pagination-font-size - Size of the text, the same hook that sizes the page numbers.
|
|
16
|
+
* @cssproperty --pagination-summary-foreground-color - Color of the text.
|
|
14
17
|
*/
|
|
15
18
|
export declare class HelixPaginationSummary extends HelixHeadlessPaginationSummary {
|
|
16
19
|
static styles: CSSResultGroup;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
-
export const styles = createSheet(`:host {--_qr-size: var(--qr-code-size, 12rem);background-color: var(--qr-code-background-color, var(--helix-color-foreground-media));block-size: var(--_qr-size);border-radius: var(--helix-radii-sm);color: var(--qr-code-color, var(--helix-color-surface-media));display: block;inline-size: var(--_qr-size);position: relative;}[part="code"] {block-size: 100%;display: block;inline-size: 100%;}[part="fallback"] {align-items: center;block-size: 100%;box-sizing: border-box;display: flex;justify-content: center;overflow-wrap: anywhere;padding: var(--helix-space-md);text-align: center;}[part="finders"] {fill: var(--qr-code-finder-color, currentColor);}[part="logo"] {align-items: center;background-color: var(--qr-code-background-color, var(--helix-color-foreground-media));border-radius: var(--helix-radii-sm);box-sizing: border-box;display: flex;inset-block-start: 50%;inset-inline-start: 50%;justify-content: center;max-block-size: var(--qr-code-logo-size, 27%);max-inline-size: var(--qr-code-logo-size, 27%);min-block-size: var(--qr-code-logo-size, 27%);min-inline-size: var(--qr-code-logo-size, 27%);padding: var(--qr-code-logo-padding, 6%);position: absolute;translate: -50% -50%;}[part="logo"] slot::slotted(*) {block-size: 100%;inline-size: 100%;object-fit: contain;}[part="logo"][hidden] {display: none;}@media print {:host {print-color-adjust: economy;}}`);
|
|
2
|
+
export const styles = createSheet(`:host {--_qr-size: var(--qr-code-size, 12rem);background-color: var(--qr-code-background-color, var(--helix-color-foreground-media));block-size: var(--_qr-size);border-radius: var(--qr-code-radius, var(--helix-radii-sm));color: var(--qr-code-color, var(--helix-color-surface-media));display: block;inline-size: var(--_qr-size);position: relative;}[part="code"] {block-size: 100%;display: block;inline-size: 100%;}[part="fallback"] {align-items: center;block-size: 100%;box-sizing: border-box;display: flex;justify-content: center;overflow-wrap: anywhere;padding: var(--qr-code-fallback-padding, var(--helix-space-md));text-align: center;}[part="finders"] {fill: var(--qr-code-finder-color, currentColor);}[part="logo"] {align-items: center;background-color: var(--qr-code-background-color, var(--helix-color-foreground-media));border-radius: var(--qr-code-logo-radius, var(--helix-radii-sm));box-sizing: border-box;display: flex;inset-block-start: 50%;inset-inline-start: 50%;justify-content: center;max-block-size: var(--qr-code-logo-size, 27%);max-inline-size: var(--qr-code-logo-size, 27%);min-block-size: var(--qr-code-logo-size, 27%);min-inline-size: var(--qr-code-logo-size, 27%);padding: var(--qr-code-logo-padding, 6%);position: absolute;translate: -50% -50%;}:host(:dir(rtl)) [part="logo"] {translate: 50% -50%;}[part="logo"] slot::slotted(*) {block-size: 100%;inline-size: 100%;object-fit: contain;}[part="logo"][hidden] {display: none;}@media print {:host {print-color-adjust: economy;}}`);
|
|
@@ -19,11 +19,14 @@ import type { CSSResultGroup } from 'lit';
|
|
|
19
19
|
*
|
|
20
20
|
* @cssproperty --qr-code-background-color - The fill behind the modules, including the quiet zone and the logo's box.
|
|
21
21
|
* @cssproperty --qr-code-color - Color of the dark modules. Defaults to the dark media ink, which is the same in both color schemes so the code scans.
|
|
22
|
+
* @cssproperty --qr-code-fallback-padding - The space around the fallback inside the square.
|
|
22
23
|
* @cssproperty --qr-code-finder-color - Color of the three corner squares. Defaults
|
|
23
24
|
* to the color of the modules.
|
|
24
25
|
* @cssproperty --qr-code-logo-padding - The clear space around the center logo.
|
|
26
|
+
* @cssproperty --qr-code-logo-radius - The corner radius of the logo's box.
|
|
25
27
|
* @cssproperty --qr-code-logo-size - How much of the center a logo can cover.
|
|
26
28
|
* Defaults to `27%`, which `H` correction allows, because it can lose thirty percent.
|
|
29
|
+
* @cssproperty --qr-code-radius - The corner radius of the square.
|
|
27
30
|
* @cssproperty --qr-code-size - How wide the square is. Defaults to `12rem`.
|
|
28
31
|
*/
|
|
29
32
|
export declare class HelixQrCode extends HelixHeadlessQrCode {
|
|
@@ -80,6 +80,11 @@ export type PreviewMessage = PreviewConsole | PreviewPress | PreviewReady | Prev
|
|
|
80
80
|
* @cssstate loading - While the frame's document loads, until it can take the example.
|
|
81
81
|
*/
|
|
82
82
|
export declare class HelixSandboxPreview extends HelixElement {
|
|
83
|
+
/**
|
|
84
|
+
* The key this part's words are registered under, its tag:
|
|
85
|
+
* `registerWords('de', { 'helix-sandbox-preview': { label: 'Vorschau' } })`.
|
|
86
|
+
*/
|
|
87
|
+
static words: string;
|
|
83
88
|
/**
|
|
84
89
|
* The color mode the frame renders in.
|
|
85
90
|
*
|
|
@@ -194,7 +199,15 @@ export declare class HelixSandboxPreview extends HelixElement {
|
|
|
194
199
|
* thing on the page already entitled to both.
|
|
195
200
|
*/
|
|
196
201
|
private static readonly target;
|
|
197
|
-
/**
|
|
202
|
+
/**
|
|
203
|
+
* Holds a coalesced send, so only one is ever queued, and drops it on
|
|
204
|
+
* disconnect.
|
|
205
|
+
*
|
|
206
|
+
* **It renders nothing**, so it asks for no update when its wait starts or
|
|
207
|
+
* ends. One that did sent the source at once from that update, ahead of the
|
|
208
|
+
* wait, and the send at the end of the wait then cleared `failed` after the
|
|
209
|
+
* error it should have reported.
|
|
210
|
+
*/
|
|
198
211
|
private readonly settle;
|
|
199
212
|
/**
|
|
200
213
|
* Sends once the typing stops, replacing anything already waiting.
|
|
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
var HelixSandboxPreview_1;
|
|
8
|
-
import { customElement, DelayController, HelixConsoleEvent, HelixElement, HelixResizeEvent, } from '@fusion.dev/helix-core';
|
|
8
|
+
import { customElement, DelayController, HelixConsoleEvent, HelixElement, HelixResizeEvent, words, } from '@fusion.dev/helix-core';
|
|
9
9
|
const SETTLE = 120;
|
|
10
10
|
import { html } from 'lit';
|
|
11
11
|
import { property } from 'lit/decorators.js';
|
|
@@ -27,26 +27,28 @@ let HelixSandboxPreview = class HelixSandboxPreview extends HelixElement {
|
|
|
27
27
|
if (event.source !== this.frame?.contentWindow || event.origin !== 'null') {
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
|
-
|
|
30
|
+
const data = event.data;
|
|
31
|
+
if (data?.type === 'helix-preview-ready') {
|
|
31
32
|
this.handleFrameLoad();
|
|
32
33
|
return;
|
|
33
34
|
}
|
|
34
|
-
if (
|
|
35
|
-
this.dispatchEvent(new HelixConsoleEvent({ level:
|
|
36
|
-
if (
|
|
35
|
+
if (data?.type === 'helix-preview-console') {
|
|
36
|
+
this.dispatchEvent(new HelixConsoleEvent({ level: data.level, text: data.text }));
|
|
37
|
+
if (data.uncaught) {
|
|
37
38
|
this.toggleState('failed', true);
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
|
-
if (
|
|
41
|
+
if (data?.type === 'helix-preview-press') {
|
|
41
42
|
this.dispatchEvent(new PointerEvent('pointerdown', { bubbles: true, composed: true }));
|
|
42
43
|
}
|
|
43
|
-
if (
|
|
44
|
-
this.dispatchEvent(new HelixResizeEvent({ size:
|
|
44
|
+
if (data?.type === 'helix-preview-size') {
|
|
45
|
+
this.dispatchEvent(new HelixResizeEvent({ size: data.size }));
|
|
45
46
|
}
|
|
46
47
|
};
|
|
47
|
-
this.settle = new DelayController(this);
|
|
48
|
+
this.settle = new DelayController(this, { renders: false });
|
|
48
49
|
}
|
|
49
50
|
static { HelixSandboxPreview_1 = this; }
|
|
51
|
+
static { this.words = 'helix-sandbox-preview'; }
|
|
50
52
|
get frame() {
|
|
51
53
|
return this.renderRoot.querySelector('iframe');
|
|
52
54
|
}
|
|
@@ -123,6 +125,7 @@ __decorate([
|
|
|
123
125
|
property()
|
|
124
126
|
], HelixSandboxPreview.prototype, "direction", void 0);
|
|
125
127
|
__decorate([
|
|
128
|
+
words,
|
|
126
129
|
property()
|
|
127
130
|
], HelixSandboxPreview.prototype, "label", void 0);
|
|
128
131
|
__decorate([
|
|
@@ -55,6 +55,11 @@ import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
|
|
|
55
55
|
* @cssstate panel-collapsed - While there is a panel and it is no taller than `panel-collapsed-size`.
|
|
56
56
|
*/
|
|
57
57
|
export declare class HelixSandbox extends HelixElement {
|
|
58
|
+
/**
|
|
59
|
+
* The key this family's words are registered under, its tag:
|
|
60
|
+
* `registerWords('de', { 'helix-sandbox': { panelLabel: 'Bereich anpassen' } })`.
|
|
61
|
+
*/
|
|
62
|
+
static words: string;
|
|
58
63
|
/**
|
|
59
64
|
* The name of the corner handle that moves both dividers at once, read by
|
|
60
65
|
* screen readers.
|
|
@@ -132,9 +137,9 @@ export declare class HelixSandbox extends HelixElement {
|
|
|
132
137
|
panelSize: number;
|
|
133
138
|
/**
|
|
134
139
|
* The name of the divider between the panes, read by screen readers.
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
140
|
+
* `{pane}` is the lead pane, `source` or `preview`, whose share the
|
|
141
|
+
* divider's value is, so each is a whole sentence: "Resize source pane" or
|
|
142
|
+
* "Resize preview pane".
|
|
138
143
|
*/
|
|
139
144
|
separatorLabel: string;
|
|
140
145
|
/**
|
|
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { customElement, HelixBeforePanelResizeEvent, HelixBeforeSplitEvent, HelixElement, HelixPanelResizeEvent, HelixSplitEvent, requestChange, } from '@fusion.dev/helix-core';
|
|
7
|
+
import { customElement, formatWords, HelixBeforePanelResizeEvent, HelixBeforeSplitEvent, HelixElement, HelixPanelResizeEvent, HelixSplitEvent, requestChange, words, } from '@fusion.dev/helix-core';
|
|
8
8
|
import '../../splitter/index.js';
|
|
9
9
|
import { html } from 'lit';
|
|
10
10
|
import { property, state } from 'lit/decorators.js';
|
|
@@ -22,7 +22,7 @@ let HelixSandbox = class HelixSandbox extends HelixElement {
|
|
|
22
22
|
this.panelCollapsedSize = 0;
|
|
23
23
|
this.panelLabel = 'Resize panel';
|
|
24
24
|
this.panelSize = DEFAULT_PANEL;
|
|
25
|
-
this.separatorLabel = '';
|
|
25
|
+
this.separatorLabel = '{pane, select, preview {Resize preview pane} other {Resize source pane}}';
|
|
26
26
|
this.split = DEFAULT_SPLIT;
|
|
27
27
|
this.hasPanel = false;
|
|
28
28
|
this.bodyHeight = 0;
|
|
@@ -98,6 +98,7 @@ let HelixSandbox = class HelixSandbox extends HelixElement {
|
|
|
98
98
|
this.hasPanel = this.querySelector(':scope > [slot="panel"]') !== null;
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
|
+
static { this.words = 'helix-sandbox'; }
|
|
101
102
|
shareOf(size) {
|
|
102
103
|
if (this.bodyHeight <= 0) {
|
|
103
104
|
return 0;
|
|
@@ -249,7 +250,7 @@ let HelixSandbox = class HelixSandbox extends HelixElement {
|
|
|
249
250
|
const second = first === 'preview' ? 'source' : 'preview';
|
|
250
251
|
const split = Number.isFinite(this.split) ? this.split : DEFAULT_SPLIT;
|
|
251
252
|
const home = Number.isFinite(this.defaultSplit) ? this.defaultSplit : DEFAULT_SPLIT;
|
|
252
|
-
const label = this
|
|
253
|
+
const label = formatWords(this, 'separatorLabel', { pane: first });
|
|
253
254
|
return html `<slot name="toolbar"></slot>
|
|
254
255
|
<helix-splitter part="body" ?data-panel=${this.hasPanel} exportparts="separator, corner"
|
|
255
256
|
orientation="vertical" collapsed-size=${this.panelSliver} corner-label=${this.cornerLabel}
|
|
@@ -269,6 +270,7 @@ let HelixSandbox = class HelixSandbox extends HelixElement {
|
|
|
269
270
|
static { this.styles = styles; }
|
|
270
271
|
};
|
|
271
272
|
__decorate([
|
|
273
|
+
words,
|
|
272
274
|
property({ attribute: 'corner-label' })
|
|
273
275
|
], HelixSandbox.prototype, "cornerLabel", void 0);
|
|
274
276
|
__decorate([
|
|
@@ -287,12 +289,14 @@ __decorate([
|
|
|
287
289
|
property({ attribute: 'panel-collapsed-size', type: Number })
|
|
288
290
|
], HelixSandbox.prototype, "panelCollapsedSize", void 0);
|
|
289
291
|
__decorate([
|
|
292
|
+
words,
|
|
290
293
|
property({ attribute: 'panel-label' })
|
|
291
294
|
], HelixSandbox.prototype, "panelLabel", void 0);
|
|
292
295
|
__decorate([
|
|
293
296
|
property({ attribute: 'panel-size', type: Number })
|
|
294
297
|
], HelixSandbox.prototype, "panelSize", void 0);
|
|
295
298
|
__decorate([
|
|
299
|
+
words,
|
|
296
300
|
property({ attribute: 'separator-label' })
|
|
297
301
|
], HelixSandbox.prototype, "separatorLabel", void 0);
|
|
298
302
|
__decorate([
|
|
@@ -50,6 +50,11 @@ import { type SandboxTokenizer } from '../tokens.js';
|
|
|
50
50
|
* @cssproperty --sandbox-source-tag-color - Color of a `tag` run, under `tokenize`. Defaults to `--helix-color-syntax-tag`.
|
|
51
51
|
*/
|
|
52
52
|
export declare class HelixSandboxSource extends HelixElement {
|
|
53
|
+
/**
|
|
54
|
+
* The key this part's words are registered under, its tag:
|
|
55
|
+
* `registerWords('de', { 'helix-sandbox-source': { fieldLabel: 'Quelltext' } })`.
|
|
56
|
+
*/
|
|
57
|
+
static words: string;
|
|
53
58
|
/**
|
|
54
59
|
* The editable region's name, read by screen readers.
|
|
55
60
|
*/
|
|
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { customElement, HelixBeforeEditEvent, HelixCaretEvent, HelixEditEvent, HelixElement, onUnlessFalse, restoreValue, } from '@fusion.dev/helix-core';
|
|
7
|
+
import { customElement, HelixBeforeEditEvent, HelixCaretEvent, HelixEditEvent, HelixElement, onUnlessFalse, restoreValue, words, } from '@fusion.dev/helix-core';
|
|
8
8
|
import { html, nothing } from 'lit';
|
|
9
9
|
import { property } from 'lit/decorators.js';
|
|
10
10
|
import { drawnRuns } from '../tokens.js';
|
|
@@ -54,6 +54,7 @@ let HelixSandboxSource = class HelixSandboxSource extends HelixElement {
|
|
|
54
54
|
this.edit(field, field.value);
|
|
55
55
|
};
|
|
56
56
|
}
|
|
57
|
+
static { this.words = 'helix-sandbox-source'; }
|
|
57
58
|
edit(field, next) {
|
|
58
59
|
const request = new HelixBeforeEditEvent({ value: next });
|
|
59
60
|
const accepted = this.dispatchEvent(request);
|
|
@@ -101,9 +102,11 @@ let HelixSandboxSource = class HelixSandboxSource extends HelixElement {
|
|
|
101
102
|
static { this.styles = styles; }
|
|
102
103
|
};
|
|
103
104
|
__decorate([
|
|
105
|
+
words,
|
|
104
106
|
property({ attribute: 'field-label' })
|
|
105
107
|
], HelixSandboxSource.prototype, "fieldLabel", void 0);
|
|
106
108
|
__decorate([
|
|
109
|
+
words,
|
|
107
110
|
property({ attribute: 'keys-description' })
|
|
108
111
|
], HelixSandboxSource.prototype, "keysDescription", void 0);
|
|
109
112
|
__decorate([
|
|
@@ -29,6 +29,11 @@ import type { CSSResultGroup, TemplateResult } from 'lit';
|
|
|
29
29
|
* @cssproperty --sandbox-status-bar-color - Color of the bar's text.
|
|
30
30
|
*/
|
|
31
31
|
export declare class HelixSandboxStatusBar extends HelixElement {
|
|
32
|
+
/**
|
|
33
|
+
* The key this part's words are registered under, its tag:
|
|
34
|
+
* `registerWords('de', { 'helix-sandbox-status-bar': { positionLabel: 'Z. {line}, Sp. {column}' } })`.
|
|
35
|
+
*/
|
|
36
|
+
static words: string;
|
|
32
37
|
/**
|
|
33
38
|
* One-based column of the cursor.
|
|
34
39
|
*
|
|
@@ -45,6 +50,11 @@ export declare class HelixSandboxStatusBar extends HelixElement {
|
|
|
45
50
|
* Absent shows no readout.
|
|
46
51
|
*/
|
|
47
52
|
line?: number;
|
|
53
|
+
/**
|
|
54
|
+
* How the cursor's place reads. `{line}` and `{column}` are the line and
|
|
55
|
+
* the column, written as an editor writes them, without grouping.
|
|
56
|
+
*/
|
|
57
|
+
positionLabel: string;
|
|
48
58
|
/** How the position reads, or nothing when there is no cursor to report. */
|
|
49
59
|
private get position();
|
|
50
60
|
protected render(): TemplateResult;
|
|
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { customElement, HelixElement } from '@fusion.dev/helix-core';
|
|
7
|
+
import { customElement, formatWords, HelixElement, words } from '@fusion.dev/helix-core';
|
|
8
8
|
import { html, nothing } from 'lit';
|
|
9
9
|
import { property } from 'lit/decorators.js';
|
|
10
10
|
import { styles } from './sandbox-status-bar.css.js';
|
|
@@ -15,11 +15,19 @@ const LABELS = {
|
|
|
15
15
|
tsx: 'TSX',
|
|
16
16
|
};
|
|
17
17
|
let HelixSandboxStatusBar = class HelixSandboxStatusBar extends HelixElement {
|
|
18
|
+
constructor() {
|
|
19
|
+
super(...arguments);
|
|
20
|
+
this.positionLabel = 'Ln {line}, Col {column}';
|
|
21
|
+
}
|
|
22
|
+
static { this.words = 'helix-sandbox-status-bar'; }
|
|
18
23
|
get position() {
|
|
19
24
|
if (this.line === undefined || this.column === undefined) {
|
|
20
25
|
return undefined;
|
|
21
26
|
}
|
|
22
|
-
return
|
|
27
|
+
return formatWords(this, 'positionLabel', {
|
|
28
|
+
column: String(this.column),
|
|
29
|
+
line: String(this.line),
|
|
30
|
+
});
|
|
23
31
|
}
|
|
24
32
|
render() {
|
|
25
33
|
const language = this.language;
|
|
@@ -42,6 +50,10 @@ __decorate([
|
|
|
42
50
|
__decorate([
|
|
43
51
|
property({ type: Number })
|
|
44
52
|
], HelixSandboxStatusBar.prototype, "line", void 0);
|
|
53
|
+
__decorate([
|
|
54
|
+
words,
|
|
55
|
+
property({ attribute: 'position-label' })
|
|
56
|
+
], HelixSandboxStatusBar.prototype, "positionLabel", void 0);
|
|
45
57
|
HelixSandboxStatusBar = __decorate([
|
|
46
58
|
customElement('helix-sandbox-status-bar')
|
|
47
59
|
], HelixSandboxStatusBar);
|
|
@@ -43,6 +43,11 @@ import { type ConsoleLevel } from '../levels.js';
|
|
|
43
43
|
* @cssproperty --sandbox-terminal-size - Height of the scrolling region.
|
|
44
44
|
*/
|
|
45
45
|
export declare class HelixSandboxTerminal extends HelixElement {
|
|
46
|
+
/**
|
|
47
|
+
* The key this part's words are registered under, its tag:
|
|
48
|
+
* `registerWords('de', { 'helix-sandbox-terminal': { clearLabel: 'Leeren' } })`.
|
|
49
|
+
*/
|
|
50
|
+
static words: string;
|
|
46
51
|
/**
|
|
47
52
|
* The clear button's text, under `controls`.
|
|
48
53
|
*/
|
|
@@ -81,6 +86,12 @@ export declare class HelixSandboxTerminal extends HelixElement {
|
|
|
81
86
|
* that does not parse is no words.
|
|
82
87
|
*/
|
|
83
88
|
levelWords: Partial<Record<ConsoleLevel, string>>;
|
|
89
|
+
/**
|
|
90
|
+
* What a screen reader is told a repeated line's count is. `{count}` is how
|
|
91
|
+
* many times it was written, two or more, in the locale, and a language
|
|
92
|
+
* writes the forms it has: `{count, plural, few {# razy} other {# razy}}`.
|
|
93
|
+
*/
|
|
94
|
+
timesLabel: string;
|
|
84
95
|
private entries;
|
|
85
96
|
/**
|
|
86
97
|
* Whether the reader is at the bottom, and so wants to follow new output.
|