@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
|
@@ -4,17 +4,11 @@ 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, HelixBeforeChangeEvent, HelixElement, requestChange, wordsConverter, } from '@fusion.dev/helix-core';
|
|
7
|
+
import { customElement, formatWords, HelixBeforeChangeEvent, HelixElement, requestChange, words, wordsConverter, } from '@fusion.dev/helix-core';
|
|
8
8
|
import { html, nothing } from 'lit';
|
|
9
9
|
import { property, state } from 'lit/decorators.js';
|
|
10
10
|
import { LEVELS, shows } from '../levels.js';
|
|
11
11
|
import { styles } from './sandbox-terminal.css.js';
|
|
12
|
-
const LEVEL_WORDS = {
|
|
13
|
-
error: 'Errors',
|
|
14
|
-
info: 'Info and above',
|
|
15
|
-
log: 'All levels',
|
|
16
|
-
warn: 'Warnings and errors',
|
|
17
|
-
};
|
|
18
12
|
const LIMIT = 200;
|
|
19
13
|
const stop = (event) => event.stopPropagation();
|
|
20
14
|
let HelixSandboxTerminal = class HelixSandboxTerminal extends HelixElement {
|
|
@@ -25,7 +19,13 @@ let HelixSandboxTerminal = class HelixSandboxTerminal extends HelixElement {
|
|
|
25
19
|
this.emptyLabel = 'Nothing written to the console yet.';
|
|
26
20
|
this.label = 'Console output';
|
|
27
21
|
this.levelLabel = 'Levels shown';
|
|
28
|
-
this.levelWords = {
|
|
22
|
+
this.levelWords = {
|
|
23
|
+
error: 'Errors',
|
|
24
|
+
info: 'Info and above',
|
|
25
|
+
log: 'All levels',
|
|
26
|
+
warn: 'Warnings and errors',
|
|
27
|
+
};
|
|
28
|
+
this.timesLabel = '{count} times';
|
|
29
29
|
this.entries = [];
|
|
30
30
|
this.following = true;
|
|
31
31
|
this.handleLevel = (event) => {
|
|
@@ -46,6 +46,7 @@ let HelixSandboxTerminal = class HelixSandboxTerminal extends HelixElement {
|
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
|
+
static { this.words = 'helix-sandbox-terminal'; }
|
|
49
50
|
get log() {
|
|
50
51
|
return this.renderRoot.querySelector('[part="log"]');
|
|
51
52
|
}
|
|
@@ -77,13 +78,14 @@ let HelixSandboxTerminal = class HelixSandboxTerminal extends HelixElement {
|
|
|
77
78
|
if (!this.controls) {
|
|
78
79
|
return nothing;
|
|
79
80
|
}
|
|
81
|
+
const clear = this.clearLabel;
|
|
80
82
|
return html `<div part="controls">
|
|
81
83
|
<select part="filter" aria-label=${this.levelLabel} @change=${this.handleLevel} @input=${stop}>
|
|
82
84
|
${LEVELS.map((one) => html `<option value=${one} ?selected=${(this.level ?? 'log') === one}>
|
|
83
|
-
${this.levelWords
|
|
85
|
+
${this.levelWords[one]}
|
|
84
86
|
</option>`)}
|
|
85
87
|
</select>
|
|
86
|
-
<button part="clear" type="button" @click=${() => this.clear()}>${
|
|
88
|
+
<button part="clear" type="button" @click=${() => this.clear()}>${clear}</button>
|
|
87
89
|
</div>`;
|
|
88
90
|
}
|
|
89
91
|
render() {
|
|
@@ -97,7 +99,7 @@ let HelixSandboxTerminal = class HelixSandboxTerminal extends HelixElement {
|
|
|
97
99
|
>
|
|
98
100
|
<span part="message">${entry.text}</span>
|
|
99
101
|
${entry.count > 1
|
|
100
|
-
? html `<span part="count" aria-label
|
|
102
|
+
? html `<span part="count" aria-label=${formatWords(this, 'timesLabel', { count: entry.count })}
|
|
101
103
|
>${entry.count}</span
|
|
102
104
|
>`
|
|
103
105
|
: nothing}
|
|
@@ -107,26 +109,35 @@ let HelixSandboxTerminal = class HelixSandboxTerminal extends HelixElement {
|
|
|
107
109
|
static { this.styles = styles; }
|
|
108
110
|
};
|
|
109
111
|
__decorate([
|
|
112
|
+
words,
|
|
110
113
|
property({ attribute: 'clear-label' })
|
|
111
114
|
], HelixSandboxTerminal.prototype, "clearLabel", void 0);
|
|
112
115
|
__decorate([
|
|
113
116
|
property({ reflect: true, type: Boolean })
|
|
114
117
|
], HelixSandboxTerminal.prototype, "controls", void 0);
|
|
115
118
|
__decorate([
|
|
119
|
+
words,
|
|
116
120
|
property({ attribute: 'empty-label' })
|
|
117
121
|
], HelixSandboxTerminal.prototype, "emptyLabel", void 0);
|
|
118
122
|
__decorate([
|
|
123
|
+
words,
|
|
119
124
|
property()
|
|
120
125
|
], HelixSandboxTerminal.prototype, "label", void 0);
|
|
121
126
|
__decorate([
|
|
122
127
|
property()
|
|
123
128
|
], HelixSandboxTerminal.prototype, "level", void 0);
|
|
124
129
|
__decorate([
|
|
130
|
+
words,
|
|
125
131
|
property({ attribute: 'level-label' })
|
|
126
132
|
], HelixSandboxTerminal.prototype, "levelLabel", void 0);
|
|
127
133
|
__decorate([
|
|
134
|
+
words,
|
|
128
135
|
property({ attribute: 'level-words', converter: wordsConverter })
|
|
129
136
|
], HelixSandboxTerminal.prototype, "levelWords", void 0);
|
|
137
|
+
__decorate([
|
|
138
|
+
words,
|
|
139
|
+
property({ attribute: 'times-label' })
|
|
140
|
+
], HelixSandboxTerminal.prototype, "timesLabel", void 0);
|
|
130
141
|
__decorate([
|
|
131
142
|
state()
|
|
132
143
|
], HelixSandboxTerminal.prototype, "entries", void 0);
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
-
export const styles = createSheet(`:host {display: block;position: relative;}[part="viewport"] {block-size: 100%;overflow: auto;overscroll-behavior: contain;}[part="viewport"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: calc(var(--helix-size-focus-offset) * -1);}[part="viewport"] {scrollbar-color: var(--scroll-area-thumb-color, var(--helix-color
|
|
3
|
-
var(--scroll-area-track-color,
|
|
2
|
+
export const styles = createSheet(`:host {display: block;position: relative;}[part="viewport"] {block-size: 100%;overflow: auto;overscroll-behavior: contain;}[part="viewport"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: calc(var(--helix-size-focus-offset) * -1);}[part="viewport"] {scrollbar-color: var(--scroll-area-thumb-color, var(--helix-scrollbar-thumb-color))
|
|
3
|
+
var(--scroll-area-track-color, var(--helix-scrollbar-track-color));scrollbar-width: var(--scroll-area-scrollbar, thin);}[part="viewport"]:hover {scrollbar-color: var(--scroll-area-thumb-hover-color, var(--helix-scrollbar-thumb-hover-color))
|
|
4
|
+
var(--scroll-area-track-color, var(--helix-scrollbar-track-color));}:host([scrollbars]) [part="viewport"] {scrollbar-width: none;}[part~="scrollbar"] {--_scroll-area-thumb: max(
|
|
4
5
|
var(--scroll-area-thumb-min-size, var(--helix-space-lg)),
|
|
5
6
|
var(--scroll-area-thumb-fraction, 1) *
|
|
6
7
|
100%
|
|
7
|
-
);background-color: var(--scroll-area-track-color,
|
|
8
|
+
);background-color: var(--scroll-area-track-color, var(--helix-scrollbar-track-color));opacity: 0;position: absolute;touch-action: none;transition: opacity var(--helix-duration-fast) var(--helix-easing-standard);user-select: none;z-index: calc(var(--helix-layer-raised) + 1);}[part~="scrollbar-visible"] {opacity: 1;}[part~="scrollbar-vertical"] {inline-size: var(--scroll-area-scrollbar-size, var(--helix-space-sm));inset-block: 0;inset-inline-end: 0;}[part~="scrollbar-horizontal"] {block-size: var(--scroll-area-scrollbar-size, var(--helix-space-sm));inset-block-end: 0;inset-inline: 0;}:host(:state(scrollbar-horizontal)) [part~="scrollbar-vertical"] {inset-block-end: var(--scroll-area-scrollbar-size, var(--helix-space-sm));}:host(:state(scrollbar-vertical)) [part~="scrollbar-horizontal"] {inset-inline-end: var(--scroll-area-scrollbar-size, var(--helix-space-sm));}[part~="thumb"] {background-color: var(--scroll-area-thumb-color, var(--helix-scrollbar-thumb-color));border-radius: var(--helix-radii-full);position: absolute;}[part~="thumb"]:hover {background-color: var(--scroll-area-thumb-hover-color, var(--helix-scrollbar-thumb-hover-color));}[part~="thumb-vertical"] {block-size: var(--_scroll-area-thumb);inset-block-start: calc(
|
|
8
9
|
var(--scroll-area-scroll-fraction, 0) *
|
|
9
10
|
(100% - var(--_scroll-area-thumb))
|
|
10
11
|
);inset-inline: var(--helix-border-thick);}[part~="thumb-horizontal"] {inline-size: var(--_scroll-area-thumb);inset-block: var(--helix-border-thick);inset-inline-start: calc(
|
|
11
12
|
var(--scroll-area-scroll-fraction, 0) *
|
|
12
13
|
(100% - var(--_scroll-area-thumb))
|
|
13
|
-
);}[part="corner"] {background-color: var(--scroll-area-track-color,
|
|
14
|
+
);}[part="corner"] {background-color: var(--scroll-area-track-color, var(--helix-scrollbar-track-color));block-size: var(--scroll-area-scrollbar-size, var(--helix-space-sm));inline-size: var(--scroll-area-scrollbar-size, var(--helix-space-sm));inset-block-end: 0;inset-inline-end: 0;position: absolute;}:host::before,
|
|
14
15
|
:host::after {content: "";opacity: 0;pointer-events: none;position: absolute;transition: opacity var(--helix-duration-fast) var(--helix-easing-standard);z-index: var(--helix-layer-raised);}:host::before {background: linear-gradient(
|
|
15
16
|
to bottom,
|
|
16
17
|
var(--scroll-area-fade-color, var(--helix-color-background)),
|
|
@@ -25,10 +25,10 @@ import type { CSSResultGroup } from 'lit';
|
|
|
25
25
|
* @cssproperty --scroll-area-fade-inline-start - The depth of the fade at the inline start, or `0` to remove it.
|
|
26
26
|
* @cssproperty --scroll-area-scrollbar - The scrollbar width, as a `scrollbar-width` keyword.
|
|
27
27
|
* @cssproperty --scroll-area-scrollbar-size - The thickness of each scrollbar drawn under `scrollbars`, and the size of the corner.
|
|
28
|
-
* @cssproperty --scroll-area-thumb-color - The color of the scrollbar's thumb.
|
|
29
|
-
* @cssproperty --scroll-area-thumb-hover-color - The color of a thumb drawn under `scrollbars` while the pointer is over it.
|
|
28
|
+
* @cssproperty --scroll-area-thumb-color - The color of the scrollbar's thumb. Defaults to `--helix-scrollbar-thumb-color`.
|
|
29
|
+
* @cssproperty --scroll-area-thumb-hover-color - The color of the browser's thumb while the pointer is over the scroll area, and of a thumb drawn under `scrollbars` while the pointer is over it. Defaults to `--helix-scrollbar-thumb-hover-color`.
|
|
30
30
|
* @cssproperty --scroll-area-thumb-min-size - The shortest a thumb drawn under `scrollbars` gets, however long the content.
|
|
31
|
-
* @cssproperty --scroll-area-track-color - The color of the scrollbar's track.
|
|
31
|
+
* @cssproperty --scroll-area-track-color - The color of the scrollbar's track. Defaults to `--helix-scrollbar-track-color`.
|
|
32
32
|
*/
|
|
33
33
|
export declare class HelixScrollArea extends HelixHeadlessScrollArea {
|
|
34
34
|
static styles: CSSResultGroup;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
2
|
export const styles = createSheet(`:host {display: flex;flex-direction: column;gap: var(--helix-space-2xs);position: relative;}[part="trigger"] {all: unset;align-items: center;background-color: var(--helix-color-well);block-size: var(--helix-size-control);border: var(--helix-border-thin) solid var(--helix-color-border);border-radius: var(--helix-radii-sm);box-sizing: border-box;color: var(--helix-color-foreground);cursor: pointer;display: flex;font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);gap: var(--helix-space-xs);justify-content: space-between;padding-inline: var(--helix-space-xs);transition: border-color var(--helix-duration-fast) var(--helix-easing-standard);}:host(:not(:disabled)) [part="trigger"]:hover {border-color: var(--helix-color-primary);}[part="trigger"]:focus-visible {border-color: var(--helix-color-primary);outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: 0;}:host(:state(invalid)) [part="trigger"],
|
|
3
3
|
:host(:state(invalid)) [part="trigger"]:hover,
|
|
4
|
-
:host(:state(invalid)) [part="trigger"]:focus-visible {border-color: var(--helix-color-danger);outline-color: var(--helix-color-danger);}:host(:disabled) [part="trigger"] {cursor: not-allowed;opacity: 0.5;}:host([emphasis="ghost"]) {inline-size: fit-content;}:host([emphasis="ghost"]) [part="trigger"] {background-color: transparent;block-size: var(--helix-size-control-tight);border-color: transparent;justify-content: start;padding-inline: var(--helix-space-2xs);}:host([emphasis="ghost"]:not(:disabled)) [part="trigger"]:hover {background-color: color-mix(in oklab, var(--helix-color-foreground) 8%, transparent);border-color: transparent;}:host([emphasis="ghost"]) [part="trigger"]:focus-visible {border-color: var(--helix-color-primary);}[part="value"] {flex: 1;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}[part="surface"] {--_floating-border-color: var(--select-border-color, var(--helix-color-border));--_floating-border-width: var(--select-border-width, var(--helix-border-floating));--_floating-shadow: var(--select-shadow, var(--helix-shadow-floating));--option-radius: var(--helix-radii-none);inline-size:
|
|
4
|
+
:host(:state(invalid)) [part="trigger"]:focus-visible {border-color: var(--helix-color-danger);outline-color: var(--helix-color-danger);}:host(:disabled) [part="trigger"] {cursor: not-allowed;opacity: 0.5;}:host([emphasis="ghost"]) {inline-size: fit-content;}:host([emphasis="ghost"]) [part="trigger"] {background-color: transparent;block-size: var(--helix-size-control-tight);border-color: transparent;justify-content: start;padding-inline: var(--helix-space-2xs);}:host([emphasis="ghost"]:not(:disabled)) [part="trigger"]:hover {background-color: color-mix(in oklab, var(--helix-color-foreground) 8%, transparent);border-color: transparent;}:host([emphasis="ghost"]) [part="trigger"]:focus-visible {border-color: var(--helix-color-primary);}[part="value"] {flex: 1;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}[part="surface"] {--_floating-border-color: var(--select-border-color, var(--helix-color-border));--_floating-border-width: var(--select-border-width, var(--helix-border-floating));--_floating-shadow: var(--select-shadow, var(--helix-shadow-floating));--option-radius: var(--helix-radii-none);inline-size: max-content;max-inline-size: calc(100vw - var(--helix-space-xs) * 2);min-inline-size: min(
|
|
5
|
+
var(--floating-anchor-inline-size, 100%),
|
|
6
|
+
calc(100vw - var(--helix-space-xs) * 2)
|
|
7
|
+
);max-block-size: var(--floating-available-block-size, none);padding-block: var(--helix-space-xs);padding-inline: var(--helix-space-none);}[part="indicator"],
|
|
5
8
|
::slotted([slot="indicator"]) {transition: scale var(--helix-duration-fast) var(--helix-easing-standard);}:host(:state(open)) [part="indicator"],
|
|
6
9
|
:host(:state(open)) ::slotted([slot="indicator"]) {scale: 1 -1;}[part="listbox"]::part(items) {background-color: transparent;border: none;border-radius: var(--helix-radii-none);max-block-size: var(--select-surface-max-block-size, 14rem);padding: var(--helix-space-none);}[part="listbox"]::part(items):focus-visible {outline: none;}[part="indicator"] {block-size: var(--helix-size-icon-tight);color: var(--helix-color-foreground-muted);flex: 0 0 auto;inline-size: var(--helix-size-icon-tight);}@media print {:host {print-color-adjust: exact;}}`);
|
|
@@ -11,12 +11,14 @@ import { styles as fieldStyles } from '../../shared/field/field.css.js';
|
|
|
11
11
|
import { styles as fieldStackedStyles } from '../../shared/field/field-stacked.css.js';
|
|
12
12
|
import { styles as floatingEntranceStyles } from '../../shared/floating/entrance.css.js';
|
|
13
13
|
import { styles as floatingPanelStyles } from '../../shared/floating/panel.css.js';
|
|
14
|
+
import { styles as liveStyles } from '../../shared/live/live.css.js';
|
|
14
15
|
import { styles } from './select-root.css.js';
|
|
15
16
|
import '../../listbox/index.js';
|
|
16
17
|
import '../../option/index.js';
|
|
17
18
|
let HelixSelect = class HelixSelect extends HelixHeadlessSelect {
|
|
18
19
|
static { this.tier = 'helix-'; }
|
|
19
20
|
static { this.styles = [
|
|
21
|
+
liveStyles,
|
|
20
22
|
fieldStyles,
|
|
21
23
|
fieldStackedStyles,
|
|
22
24
|
floatingPanelStyles,
|
|
@@ -8,7 +8,7 @@ export const styles = createSheet(`[part="controls"] {display: grid;gap: var(--h
|
|
|
8
8
|
". down full";}[part="controls"]:not(:has([part="pan-up"])) {grid-template-areas:
|
|
9
9
|
"zoomin"
|
|
10
10
|
"zoomout"
|
|
11
|
-
"full";}:host(:fullscreen) {display: block;}:host(:state(fullscreen)) [part="region"] {block-size: 100dvh;border: none;border-radius: 0;}:host([controls-placement="top-end"]) [part="controls"] {inset-block: var(--helix-space-sm) auto;inset-inline: auto var(--helix-space-sm);}:host([controls-placement="top-start"]) [part="controls"] {inset-block: var(--helix-space-sm) auto;inset-inline: var(--helix-space-sm) auto;}:host([controls-placement="bottom-end"]) [part="controls"] {inset-block: auto var(--helix-space-sm);inset-inline: auto var(--helix-space-sm);}:host([controls-placement="bottom-start"]) [part="controls"] {inset-block: auto var(--helix-space-sm);inset-inline: var(--helix-space-sm) auto;}[part="pan-up"] {grid-area: up;}[part="pan-down"] {grid-area: down;}[part="pan-start"] {grid-area: start;}[part="pan-end"] {grid-area: end;}[part="zoom-in"] {grid-area: zoomin;}[part="zoom-out"] {grid-area: zoomout;}[part="fullscreen"] {grid-area: full;}[part="controls"] button {align-items: center;background-color: var(--viewport-control-background-color, var(--helix-color-surface-overlay));border: var(--helix-border-floating) solid var(--helix-color-border);border-radius: var(--helix-radii-sm);box-shadow: var(--helix-shadow-floating);block-size: var(--helix-size-control-sm);color: var(--helix-color-foreground);cursor: pointer;display: inline-flex;font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);inline-size: var(--helix-size-control-sm);justify-content: center;padding: 0;}[part="controls"] button:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="controls"] button:hover {background-color: color-mix(
|
|
11
|
+
"full";}:host(:fullscreen) {display: block;}:host(:state(fullscreen)) [part="region"] {block-size: 100dvh;border: none;border-radius: 0;}:host([controls-placement="top-end"]) [part="controls"] {inset-block: var(--helix-space-sm) auto;inset-inline: auto var(--helix-space-sm);}:host([controls-placement="top-start"]) [part="controls"] {inset-block: var(--helix-space-sm) auto;inset-inline: var(--helix-space-sm) auto;}:host([controls-placement="bottom-end"]) [part="controls"] {inset-block: auto var(--helix-space-sm);inset-inline: auto var(--helix-space-sm);}:host([controls-placement="bottom-start"]) [part="controls"] {inset-block: auto var(--helix-space-sm);inset-inline: var(--helix-space-sm) auto;}[part="pan-up"] {grid-area: up;}[part="pan-down"] {grid-area: down;}[part="pan-start"] {grid-area: start;}[part="pan-end"] {grid-area: end;}[part="zoom-in"] {grid-area: zoomin;}[part="zoom-out"] {grid-area: zoomout;}[part="fullscreen"] {grid-area: full;}[part="controls"] button {align-items: center;background-color: var(--viewport-control-background-color, var(--helix-color-surface-overlay));border: var(--helix-border-floating) solid var(--helix-color-border);border-radius: var(--helix-radii-sm);box-shadow: var(--helix-shadow-floating);block-size: var(--helix-size-control-sm);color: var(--helix-color-foreground);cursor: pointer;display: inline-flex;font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);inline-size: var(--helix-size-control-sm);justify-content: center;padding: 0;}[part="controls"] button ::slotted(*) {--icon-size: var(--helix-size-icon-sm);block-size: var(--helix-size-icon-sm);inline-size: var(--helix-size-icon-sm);}[part="controls"] button:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="controls"] button:hover {background-color: color-mix(
|
|
12
12
|
in oklab,
|
|
13
13
|
var(--helix-color-foreground) 10%,
|
|
14
14
|
var(--viewport-control-background-color, var(--helix-color-surface-overlay))
|
|
@@ -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(`:host {display: block;}[part="group"] {align-items: var(--_speed-dial-align, flex-end);display: flex;flex-direction: column;gap: var(--speed-dial-gap, var(--helix-space-sm));}[part="label"] {background-color: var(--speed-dial-label-background-color, var(--helix-color-surface-overlay));border-radius: var(--helix-radii-sm);color: var(--speed-dial-group-label-color, var(--helix-color-foreground-muted));font-family: var(--helix-font-sans);font-size: var(--speed-dial-group-label-font-size, var(--helix-text-xs));font-weight: var(--helix-weight-medium);padding: var(--helix-space-2xs) var(--helix-space-xs);white-space: nowrap;}[part="label"][hidden] {display: none;}`);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { HelixHeadlessSpeedDialGroup } from '@fusion.dev/helix-headless/speed-dial';
|
|
2
|
+
import type { CSSResultGroup } from 'lit';
|
|
3
|
+
/**
|
|
4
|
+
* @summary A named set of actions inside a speed dial, set apart from the rest.
|
|
5
|
+
*
|
|
6
|
+
* @description
|
|
7
|
+
* A column of actions with its name above them, in the small muted words a
|
|
8
|
+
* menu heads its sections with, lined up on the side the trigger is on. The
|
|
9
|
+
* space between two groups is the space between two actions.
|
|
10
|
+
*
|
|
11
|
+
* @since 0.141.0
|
|
12
|
+
* @status stable
|
|
13
|
+
* @category actions
|
|
14
|
+
* @aliases Speed dial section, Action group
|
|
15
|
+
* @documentation https://fusion.dev/helix/components/speed-dial
|
|
16
|
+
*
|
|
17
|
+
* @cssproperty --speed-dial-group-label-color - Color of the group's name.
|
|
18
|
+
* @cssproperty --speed-dial-group-label-font-size - Size of the group's name.
|
|
19
|
+
*/
|
|
20
|
+
export declare class HelixSpeedDialGroup extends HelixHeadlessSpeedDialGroup {
|
|
21
|
+
static styles: CSSResultGroup;
|
|
22
|
+
}
|
|
23
|
+
declare global {
|
|
24
|
+
interface HTMLElementTagNameMap {
|
|
25
|
+
'helix-speed-dial-group': HelixSpeedDialGroup;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { customElement } from '@fusion.dev/helix-core';
|
|
8
|
+
import { HelixHeadlessSpeedDialGroup } from '@fusion.dev/helix-headless/speed-dial';
|
|
9
|
+
import { styles } from './speed-dial-group.css.js';
|
|
10
|
+
let HelixSpeedDialGroup = class HelixSpeedDialGroup extends HelixHeadlessSpeedDialGroup {
|
|
11
|
+
static { this.styles = styles; }
|
|
12
|
+
};
|
|
13
|
+
HelixSpeedDialGroup = __decorate([
|
|
14
|
+
customElement('helix-speed-dial-group')
|
|
15
|
+
], HelixSpeedDialGroup);
|
|
16
|
+
export { HelixSpeedDialGroup };
|
package/dist/speed-dial/index.js
CHANGED
|
@@ -5,4 +5,4 @@ box-shadow var(--helix-duration-fast) var(--helix-easing-standard);}[part="item"
|
|
|
5
5
|
--speed-dial-item-hover-background-color,
|
|
6
6
|
color-mix(in oklab, var(--helix-color-foreground) 6%, var(--helix-color-surface-overlay))
|
|
7
7
|
);box-shadow: var(--helix-shadow-lg);}[part="item"]:focus-visible {outline: none;}[part="item"]:focus-visible [part="icon"] {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="label"] {background-color: var(--speed-dial-label-background-color, var(--helix-color-surface-overlay));border-radius: var(--helix-radii-sm);box-shadow: var(--helix-shadow-sm);color: var(--speed-dial-label-color, var(--helix-color-foreground));font-family: var(--helix-font-sans);font-size: var(--speed-dial-label-font-size, var(--helix-text-sm));font-weight: var(--helix-weight-medium);opacity: var(--_speed-dial-label-opacity, 1);padding: var(--helix-space-2xs) var(--helix-space-xs);transition: opacity var(--helix-duration-fast) var(--helix-easing-standard);white-space: nowrap;}[part="item"]:hover [part="label"],
|
|
8
|
-
[part="item"]:focus-visible [part="label"] {opacity: 1;}`);
|
|
8
|
+
[part="item"]:focus-visible [part="label"] {opacity: 1;}[part="shortcut"] {color: var(--speed-dial-shortcut-color, var(--helix-color-foreground-muted));margin-inline-start: var(--helix-space-sm);}[part="shortcut"][hidden] {display: none;}`);
|
|
@@ -22,6 +22,7 @@ import type { CSSResultGroup } from 'lit';
|
|
|
22
22
|
* @cssproperty --speed-dial-label-background-color - Fill of the chip holding the action's name.
|
|
23
23
|
* @cssproperty --speed-dial-label-color - Color of the action's name.
|
|
24
24
|
* @cssproperty --speed-dial-label-font-size - Size of the action's name.
|
|
25
|
+
* @cssproperty --speed-dial-shortcut-color - Color of the shortcut drawn after the action's name.
|
|
25
26
|
*/
|
|
26
27
|
export declare class HelixSpeedDialItem extends HelixHeadlessSpeedDialItem {
|
|
27
28
|
static styles: CSSResultGroup;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
-
export const styles = createSheet(`:host {display: inline-flex;}[part="actions"] {background-color: transparent;border: none;display: flex;flex-direction: column;gap: var(--speed-dial-gap, var(--helix-space-sm));margin: var(--helix-space-none);overflow: visible;padding: var(--helix-space-none);}[part="actions"] {--_speed-dial-row: row-reverse;align-items: flex-end;}[part="actions"][data-placement$="-start"] {--_speed-dial-row: row;align-items: flex-start;}[part="actions"][hidden] {display: none;}[part="actions"] {--_dial-from: var(--speed-dial-travel, var(--helix-space-md));}[part="actions"][data-placement^="bottom"] {--_dial-from: calc(var(--speed-dial-travel, var(--helix-space-md)) * -1);}[part="actions"] ::slotted(*) {opacity: 0;scale: 0.8;transition:
|
|
2
|
+
export const styles = createSheet(`:host {display: inline-flex;}[part="actions"] {background-color: transparent;border: none;display: flex;flex-direction: column;gap: var(--speed-dial-gap, var(--helix-space-sm));margin: var(--helix-space-none);overflow: visible;padding: var(--helix-space-none);}[part="actions"] {--_speed-dial-row: row-reverse;align-items: flex-end;}[part="actions"][data-placement$="-start"] {--_speed-dial-align: flex-start;--_speed-dial-row: row;align-items: flex-start;}[part="actions"][hidden] {display: none;}[part="actions"] {--_dial-from: var(--speed-dial-travel, var(--helix-space-md));}[part="actions"][data-placement^="bottom"] {--_dial-from: calc(var(--speed-dial-travel, var(--helix-space-md)) * -1);}[part="actions"] ::slotted(*) {opacity: 0;scale: 0.8;transition:
|
|
3
3
|
opacity var(--helix-duration-fast) var(--helix-easing-standard),
|
|
4
4
|
scale var(--helix-duration-fast) var(--helix-easing-emphasized),
|
|
5
5
|
translate var(--helix-duration-fast) var(--helix-easing-emphasized);translate: 0 var(--_dial-from);}[part="actions"][data-placed] ::slotted(*) {opacity: 1;scale: 1;translate: 0 0;}[part="actions"] {--_speed-dial-stagger: var(--speed-dial-stagger, calc(var(--helix-duration-fast) / 3));}[part="actions"][data-placed] ::slotted(:nth-last-child(2)) {transition-delay: var(--_speed-dial-stagger);}[part="actions"][data-placed] ::slotted(:nth-last-child(3)) {transition-delay: calc(var(--_speed-dial-stagger) * 2);}[part="actions"][data-placed] ::slotted(:nth-last-child(4)) {transition-delay: calc(var(--_speed-dial-stagger) * 3);}[part="actions"][data-placed] ::slotted(:nth-last-child(n + 5)) {transition-delay: calc(var(--_speed-dial-stagger) * 4);}[part="actions"][data-placement^="bottom"][data-placed] ::slotted(:nth-child(2)) {transition-delay: var(--_speed-dial-stagger);}[part="actions"][data-placement^="bottom"][data-placed] ::slotted(:nth-child(3)) {transition-delay: calc(var(--_speed-dial-stagger) * 2);}[part="actions"][data-placement^="bottom"][data-placed] ::slotted(:nth-child(4)) {transition-delay: calc(var(--_speed-dial-stagger) * 3);}[part="actions"][data-placement^="bottom"][data-placed] ::slotted(:nth-child(n + 5)) {transition-delay: calc(var(--_speed-dial-stagger) * 4);}@media (prefers-reduced-motion: reduce) {[part="actions"] ::slotted(*) {opacity: 1;scale: 1;transition: none;transition-delay: 0s;translate: 0 0;}[part="trigger"] {transition: none;}}[part="trigger"] {--icon-size: var(--helix-size-icon);all: unset;align-items: center;background-color: var(--speed-dial-background-color, var(--helix-color-primary-surface));block-size: var(--speed-dial-size, var(--helix-size-control));border-radius: var(--helix-radii-full);box-shadow: var(--speed-dial-shadow, var(--helix-shadow-md));box-sizing: border-box;color: var(--speed-dial-color, var(--helix-color-foreground-on-primary));cursor: pointer;display: inline-flex;inline-size: var(--speed-dial-size, var(--helix-size-control));justify-content: center;transition: box-shadow var(--helix-duration-fast) var(--helix-easing-standard);}[part="trigger"]:hover {box-shadow: var(--helix-shadow-lg);}[part="trigger"]:active {box-shadow: var(--helix-shadow-sm);}[part="trigger"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}@media print {:host {display: none;}}:host([labels="hover"]) {--_speed-dial-label-opacity: 0;}:host([labels="hover"]) [part="actions"],
|
|
@@ -1,22 +1,30 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
-
export const styles = createSheet(`:host {display: flex;min-block-size: 0;min-inline-size: 0;position: relative;}:host(:is([orientation="vertical"], [data-axis="vertical"])) {flex-direction: column;}[part="start"] {flex: 0 0 var(--splitter-position, 50%);min-block-size: 0;min-inline-size: 0;overflow: auto;}[part="end"] {flex: 1 1 0;min-block-size: 0;min-inline-size: 0;overflow: auto;}[part="separator"] {background-color: transparent;box-sizing: border-box;cursor: col-resize;flex: none;inline-size: var(--splitter-target, var(--helix-space-xs));margin-inline: calc(var(--splitter-target, var(--helix-space-xs)) / -2);position: relative;touch-action: none;user-select: none;z-index: var(--helix-layer-raised);}[part="separator"]::before {background-color: var(--splitter-color, var(--helix-color-border));content: "";inline-size: var(--helix-border-thin);inset-block: 0;inset-inline-start: 50%;margin-inline-start: calc(var(--helix-border-thin) / -2);position: absolute;transition:
|
|
2
|
+
export const styles = createSheet(`:host {display: flex;min-block-size: 0;min-inline-size: 0;position: relative;}:host(:is([orientation="vertical"], [data-axis="vertical"])) {flex-direction: column;}[part="start"] {flex: 0 0 var(--splitter-position, 50%);min-block-size: 0;min-inline-size: 0;overflow: auto;}[part="end"] {flex: 1 1 0;min-block-size: 0;min-inline-size: 0;overflow: auto;}[part="separator"] {background-color: transparent;box-sizing: border-box;cursor: col-resize;display: grid;flex: none;place-content: center;place-items: center;inline-size: var(--splitter-target, var(--helix-space-xs));margin-inline: calc(var(--splitter-target, var(--helix-space-xs)) / -2);position: relative;touch-action: none;user-select: none;z-index: var(--helix-layer-raised);}[part="separator"]::before {background-color: var(--splitter-color, var(--helix-color-border));content: "";inline-size: var(--splitter-thickness, var(--helix-border-thin));inset-block: 0;inset-inline-start: 50%;margin-inline-start: calc(var(--splitter-thickness, var(--helix-border-thin)) / -2);position: absolute;transition:
|
|
3
3
|
background-color var(--helix-duration-fast) var(--helix-easing-standard),
|
|
4
|
-
inline-size var(--helix-duration-fast) var(--helix-easing-standard);}:host(:is([orientation="vertical"], [data-axis="vertical"])) [part="separator"] {block-size: var(--splitter-target, var(--helix-space-xs));cursor: row-resize;inline-size: auto;margin-block: calc(var(--splitter-target, var(--helix-space-xs)) / -2);margin-inline: 0;}:host(:is([orientation="vertical"], [data-axis="vertical"])) [part="separator"]::before {block-size: var(--helix-border-thin);inline-size: auto;inset-block-start: 50%;inset-inline: 0;margin-block-start: calc(var(--helix-border-thin) / -2);transition:
|
|
4
|
+
inline-size var(--helix-duration-fast) var(--helix-easing-standard);}:host(:is([orientation="vertical"], [data-axis="vertical"])) [part="separator"] {block-size: var(--splitter-target, var(--helix-space-xs));cursor: row-resize;inline-size: auto;margin-block: calc(var(--splitter-target, var(--helix-space-xs)) / -2);margin-inline: 0;}:host(:is([orientation="vertical"], [data-axis="vertical"])) [part="separator"]::before {block-size: var(--splitter-thickness, var(--helix-border-thin));inline-size: auto;inset-block-start: 50%;inset-inline: 0;margin-block-start: calc(var(--splitter-thickness, var(--helix-border-thin)) / -2);transition:
|
|
5
5
|
background-color var(--helix-duration-fast) var(--helix-easing-standard),
|
|
6
6
|
block-size var(--helix-duration-fast) var(--helix-easing-standard);}[part="separator"]:hover,
|
|
7
7
|
[part="separator"]:focus-visible,
|
|
8
8
|
[part="separator"][data-dragging] {z-index: calc(var(--helix-layer-raised) + 1);}[part="separator"][data-flush]::before {background-color: transparent;}:host(:not([variant="grip"])) [part="separator"]:hover::before,
|
|
9
9
|
:host(:not([variant="grip"])) [part="separator"]:focus-visible::before,
|
|
10
|
-
:host(:not([variant="grip"])) [part="separator"][data-dragging]::before {background-color: var(--splitter-hover-color, var(--helix-color-foreground-muted));inline-size: var(--helix-border-thick);}:host(:not([variant="grip"])) [part="separator"][data-dragging]::before {background-color: var(--splitter-drag-color, var(--helix-color-primary));}:host(:is([orientation="vertical"], [data-axis="vertical"]):not([variant="grip"]))
|
|
10
|
+
:host(:not([variant="grip"])) [part="separator"][data-dragging]::before {background-color: var(--splitter-hover-color, var(--helix-color-foreground-muted));inline-size: var(--splitter-hover-thickness, var(--helix-border-thick));}:host(:not([variant="grip"])) [part="separator"][data-dragging]::before {background-color: var(--splitter-drag-color, var(--helix-color-primary));}:host(:is([orientation="vertical"], [data-axis="vertical"]):not([variant="grip"]))
|
|
11
11
|
[part="separator"]:hover::before,
|
|
12
12
|
:host(:is([orientation="vertical"], [data-axis="vertical"]):not([variant="grip"]))
|
|
13
13
|
[part="separator"]:focus-visible::before,
|
|
14
14
|
:host(:is([orientation="vertical"], [data-axis="vertical"]):not([variant="grip"]))
|
|
15
|
-
[part="separator"][data-dragging]::before {block-size: var(--helix-border-thick);inline-size: auto;}[part="separator"]:focus-visible {outline: none;}[part="separator"]:focus-visible::before {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="corner"] {block-size: var(--splitter-corner, var(--helix-space-md));cursor: move;inline-size: var(--splitter-corner, var(--helix-space-md));inset-block-start: var(--splitter-corner-at);inset-inline-start: var(--splitter-position);margin-block-start: calc(var(--splitter-corner, var(--helix-space-md)) / -2);margin-inline-start: calc(var(--splitter-corner, var(--helix-space-md)) / -2);position: absolute;touch-action: none;user-select: none;z-index: calc(var(--helix-layer-raised) + 2);}:host(:is([orientation="vertical"], [data-axis="vertical"])) [part="corner"] {inset-block-start: var(--splitter-position);inset-inline-start: var(--splitter-corner-at);}[part="corner"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}:host([variant="grip"]) [part="separator"]::after {background-color: var(--splitter-grip-color, var(--helix-color-foreground-muted));border-radius: var(--helix-radii-full);content: "";opacity: 0;position: absolute;transition:
|
|
15
|
+
[part="separator"][data-dragging]::before {block-size: var(--splitter-hover-thickness, var(--helix-border-thick));inline-size: auto;}[part="separator"]:focus-visible {outline: none;}[part="separator"]:focus-visible::before {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="corner"] {block-size: var(--splitter-corner, var(--helix-space-md));cursor: move;inline-size: var(--splitter-corner, var(--helix-space-md));inset-block-start: var(--splitter-corner-at);inset-inline-start: var(--splitter-position);margin-block-start: calc(var(--splitter-corner, var(--helix-space-md)) / -2);margin-inline-start: calc(var(--splitter-corner, var(--helix-space-md)) / -2);position: absolute;touch-action: none;user-select: none;z-index: calc(var(--helix-layer-raised) + 2);}:host(:is([orientation="vertical"], [data-axis="vertical"])) [part="corner"] {inset-block-start: var(--splitter-position);inset-inline-start: var(--splitter-corner-at);}[part="corner"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}:host([variant="grip"]) [part="separator"]::after {background-color: var(--splitter-grip-color, var(--helix-color-foreground-muted));border-radius: var(--helix-radii-full);content: "";opacity: 0;position: absolute;transition:
|
|
16
16
|
background-color var(--helix-duration-fast) var(--helix-easing-standard),
|
|
17
17
|
opacity var(--helix-duration-fast) var(--helix-easing-standard);}:host([variant="grip"]:not(:is([orientation="vertical"], [data-axis="vertical"])))
|
|
18
|
-
[part="separator"]::after {block-size: var(--splitter-grip-length, 2rem);inline-size: var(--helix-border-thick);inset-block-start: calc(50% - var(--splitter-grip-length, 2rem) / 2);inset-inline-start: calc(
|
|
19
|
-
|
|
18
|
+
[part="separator"]::after {block-size: var(--splitter-grip-length, 2rem);inline-size: var(--splitter-grip-thickness, var(--helix-border-thick));inset-block-start: calc(50% - var(--splitter-grip-length, 2rem) / 2);inset-inline-start: calc(
|
|
19
|
+
50% -
|
|
20
|
+
var(--splitter-grip-thickness, var(--helix-border-thick)) -
|
|
21
|
+
var(--helix-space-2xs)
|
|
22
|
+
);}:host([variant="grip"]:is([orientation="vertical"], [data-axis="vertical"]))
|
|
23
|
+
[part="separator"]::after {block-size: var(--splitter-grip-thickness, var(--helix-border-thick));inline-size: var(--splitter-grip-length, 2rem);inset-block-start: calc(
|
|
24
|
+
50% -
|
|
25
|
+
var(--splitter-grip-thickness, var(--helix-border-thick)) -
|
|
26
|
+
var(--helix-space-2xs)
|
|
27
|
+
);inset-inline-start: calc(50% - var(--splitter-grip-length, 2rem) / 2);}:host([variant="grip"]) [part="separator"]:hover::after,
|
|
20
28
|
:host([variant="grip"]) [part="separator"]:focus-visible::after,
|
|
21
|
-
:host([variant="grip"]) [part="separator"][data-dragging]::after {opacity: 1;}:host([variant="grip"]) [part="separator"][data-dragging]::after {background-color: var(--splitter-drag-color, var(--helix-color-primary));}[part="start"][data-dragging],
|
|
29
|
+
:host([variant="grip"]) [part="separator"][data-dragging]::after {opacity: 1;}:host([variant="grip"]) [part="separator"][data-dragging]::after {background-color: var(--splitter-drag-color, var(--helix-color-primary));}::slotted([slot="handle"]) {color: var(--splitter-handle-color, var(--helix-color-foreground-muted));pointer-events: none;position: relative;}[part="start"][data-dragging],
|
|
22
30
|
[part="end"][data-dragging] {pointer-events: none;}@media print {:host {overflow: visible;}}`);
|
|
@@ -38,8 +38,12 @@ import type { CSSResultGroup } from 'lit';
|
|
|
38
38
|
* @cssproperty --splitter-drag-color - Color of the line while it is being moved.
|
|
39
39
|
* @cssproperty --splitter-grip-color - Color of the grip beside the line, when the grip is shown.
|
|
40
40
|
* @cssproperty --splitter-grip-length - How far the grip runs along the divider.
|
|
41
|
+
* @cssproperty --splitter-grip-thickness - How thick the grip is, across the divider.
|
|
42
|
+
* @cssproperty --splitter-handle-color - Color of a mark slotted into `handle`.
|
|
41
43
|
* @cssproperty --splitter-hover-color - Color of the divider's target under the pointer.
|
|
44
|
+
* @cssproperty --splitter-hover-thickness - How thick the line is under the pointer, with focus and while it moves.
|
|
42
45
|
* @cssproperty --splitter-target - Width of the area you can drag.
|
|
46
|
+
* @cssproperty --splitter-thickness - How thick the line is at rest.
|
|
43
47
|
*/
|
|
44
48
|
export declare class HelixSplitter extends HelixHeadlessSplitter {
|
|
45
49
|
/**
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
-
export const styles = createSheet(`:host {align-items: center;border-block-end: var(--helix-border-thin) solid var(--helix-color-border);box-sizing: border-box;color: var(--helix-color-foreground);display: flex;font-size: var(--helix-text-sm);justify-content: var(--table-cell-align);min-block-size: var(--helix-size-control);min-inline-size: 0;overflow-wrap: anywhere;padding-block: var(--helix-space-xs);padding-inline: var(--helix-space-none) var(--helix-space-md);text-align: var(--table-cell-align);}:host(:state(text)) slot {display: block;min-inline-size: 0;}::slotted(*) {min-inline-size: 0;}:host([header]) {font-weight: var(--helix-weight-medium);}`);
|
|
2
|
+
export const styles = createSheet(`:host {align-items: center;border-block-end: var(--helix-border-thin) solid var(--helix-color-border);box-sizing: border-box;color: var(--helix-color-foreground);display: flex;font-size: var(--helix-text-sm);justify-content: var(--table-cell-align);min-block-size: var(--helix-size-control);min-inline-size: 0;overflow-wrap: anywhere;padding-block: var(--helix-space-xs);padding-inline: var(--helix-space-none) var(--helix-space-md);text-align: var(--table-cell-align);}:host(:state(text)) slot {display: block;min-inline-size: 0;}::slotted(*) {min-inline-size: 0;}:host([header]) {font-weight: var(--helix-weight-medium);}:host(:focus-visible) {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: calc(var(--helix-size-focus-offset) * -1);}`);
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
-
export const styles = createSheet(`:host {display: block;overflow-x: auto;}[part="table"] {display: grid;grid-template-columns: var(--table-columns, var(--table-template, minmax(0, 1fr)));inline-size: 100%;}[part="head"] {display: contents;}::slotted([slot="heading"]) {color: var(--table-title-color, var(--helix-color-foreground));display: block;font-family: var(--helix-font-sans);font-size: var(--table-title-text, var(--helix-text-md));font-weight: var(--helix-weight-semibold);margin-block: var(--helix-space-none) var(--table-title-gap, var(--helix-space-sm));}[part="select-all"] {align-items: center;border-block-end: var(--helix-border-thin) solid var(--helix-color-border);box-sizing: border-box;display: flex;min-block-size: var(--helix-size-control-loose);padding-inline: var(--helix-space-none) var(--helix-space-md);}
|
|
2
|
+
export const styles = createSheet(`:host {display: block;overflow-x: auto;}[part="table"] {display: grid;grid-template-columns: var(--table-columns, var(--table-template, minmax(0, 1fr)));inline-size: 100%;}[part="head"] {display: contents;}::slotted([slot="heading"]) {color: var(--table-title-color, var(--helix-color-foreground));display: block;font-family: var(--helix-font-sans);font-size: var(--table-title-text, var(--helix-text-md));font-weight: var(--helix-weight-semibold);margin-block: var(--helix-space-none) var(--table-title-gap, var(--helix-space-sm));}[part="select-all"] {align-items: center;border-block-end: var(--helix-border-thin) solid var(--helix-color-border);box-sizing: border-box;display: flex;min-block-size: var(--helix-size-control-loose);padding-inline: var(--helix-space-none) var(--helix-space-md);}[part="grip-head"] {border-block-end: var(--helix-border-thin) solid var(--helix-color-border);box-sizing: border-box;min-block-size: var(--helix-size-control-loose);}[part="grip-head"]:focus-visible,
|
|
3
|
+
[part="select-all"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: calc(var(--helix-size-focus-offset) * -1);}:host([loading]) [part="table"] {opacity: 0.5;}[part="drag-preview"] {background-color: var(--table-drag-preview-background-color, var(--helix-color-surface-raised));border: var(--table-drag-preview-border-width, var(--helix-border-floating)) solid
|
|
4
|
+
var(--table-drag-preview-border-color, var(--helix-color-border));border-radius: var(--table-drag-preview-radius, var(--helix-radii-sm));box-shadow: var(--table-drag-preview-shadow, var(--helix-shadow-floating));opacity: var(--table-drag-preview-opacity, 0.9);}@media print {:host {print-color-adjust: economy;}}`);
|
|
@@ -16,10 +16,17 @@ import '../../checkbox/index.js';
|
|
|
16
16
|
* @slot - The table's rows.
|
|
17
17
|
* @slot heading - Words that name the table, shown above it in the weight of a heading.
|
|
18
18
|
*
|
|
19
|
-
* @csspart
|
|
19
|
+
* @csspart drag-preview - A copy of the row a pointer drags by its grip, which follows the pointer in the top layer until the row is let go, in a `reorderable` table. Hidden from assistive technology.
|
|
20
|
+
* @csspart live - A live region that repeats the empty and loading text, and says each step of a move, so screen readers announce it when it changes. Visually hidden in the styled tier.
|
|
20
21
|
* @csspart table - The grid.
|
|
21
22
|
*
|
|
22
23
|
* @cssproperty --table-columns - Track list for the columns. It overrides the track list worked out from the columns.
|
|
24
|
+
* @cssproperty --table-drag-preview-background-color - The fill behind the copy of a row a pointer drags.
|
|
25
|
+
* @cssproperty --table-drag-preview-border-color - The color of the edge around the copy of a row a pointer drags.
|
|
26
|
+
* @cssproperty --table-drag-preview-border-width - The width of the edge around the copy of a row a pointer drags. None by default, where the shadow lifts it.
|
|
27
|
+
* @cssproperty --table-drag-preview-opacity - The opacity of the copy of a row a pointer drags.
|
|
28
|
+
* @cssproperty --table-drag-preview-radius - The corner radius of the copy of a row a pointer drags.
|
|
29
|
+
* @cssproperty --table-drag-preview-shadow - The shadow that raises the copy of a row a pointer drags over the page.
|
|
23
30
|
* @cssproperty --table-title-color - The color of the words in the `heading` slot.
|
|
24
31
|
* @cssproperty --table-title-gap - The space between the `heading` slot and the grid.
|
|
25
32
|
* @cssproperty --table-title-text - The font size of the words in the `heading` slot.
|
|
@@ -7,4 +7,12 @@ var(--helix-color-background)
|
|
|
7
7
|
);}:host(:state(link)) ::slotted(*) {cursor: pointer;}:host(:state(link):hover) ::slotted(*) {background-color: var(
|
|
8
8
|
--table-row-hover-background-color,
|
|
9
9
|
color-mix(in oklab, var(--helix-color-foreground) 5%, transparent)
|
|
10
|
-
);}
|
|
10
|
+
);}[part~="select"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: calc(var(--helix-size-focus-offset) * -1);}[part~="grip"] {align-items: center;border-block-end: var(--helix-border-thin) solid var(--helix-color-border);box-sizing: border-box;display: flex;min-block-size: var(--helix-size-control);padding-inline: var(--helix-space-2xs) var(--helix-space-sm);}[part~="grip"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: calc(var(--helix-size-focus-offset) * -1);}[part="grip-button"] {all: unset;align-items: center;border-radius: var(--helix-radii-sm);box-sizing: border-box;color: var(--table-grip-color, var(--helix-color-foreground-muted));cursor: grab;display: inline-flex;touch-action: none;}[part="grip-button"]:active {cursor: grabbing;}[part="grip-button"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="grip-button"][aria-disabled="true"] {cursor: default;opacity: var(--table-grip-disabled-opacity, 0.4);}[part="grip-mark"] {block-size: 1em;inline-size: 1em;}:host(:state(dragging)) [part~="grip"],
|
|
11
|
+
:host(:state(dragging)) [part~="select"],
|
|
12
|
+
:host(:state(dragging)) ::slotted(*) {opacity: var(--table-dragging-opacity, 0.5);}:host(:state(drop-before)) [part~="grip"],
|
|
13
|
+
:host(:state(drop-before)) [part~="select"],
|
|
14
|
+
:host(:state(drop-before)) ::slotted(*) {box-shadow: inset 0 var(--table-drop-indicator-size, var(--helix-border-thick)) 0 0
|
|
15
|
+
var(--table-drop-indicator-color, var(--helix-color-primary));}:host(:state(drop-after)) [part~="grip"],
|
|
16
|
+
:host(:state(drop-after)) [part~="select"],
|
|
17
|
+
:host(:state(drop-after)) ::slotted(*) {box-shadow: inset 0 calc(var(--table-drop-indicator-size, var(--helix-border-thick)) * -1) 0 0
|
|
18
|
+
var(--table-drop-indicator-color, var(--helix-color-primary));}`);
|
|
@@ -16,6 +16,11 @@ import '../../checkbox/index.js';
|
|
|
16
16
|
*
|
|
17
17
|
* @slot - The row's cells.
|
|
18
18
|
*
|
|
19
|
+
* @cssproperty --table-dragging-opacity - The opacity of a row being moved, in a `reorderable` table.
|
|
20
|
+
* @cssproperty --table-drop-indicator-color - The color of the line where a moved row would land.
|
|
21
|
+
* @cssproperty --table-drop-indicator-size - The thickness of the line where a moved row would land.
|
|
22
|
+
* @cssproperty --table-grip-color - The color of a row's grip, in a `reorderable` table.
|
|
23
|
+
* @cssproperty --table-grip-disabled-opacity - The opacity of a row's grip while a sort decides the order.
|
|
19
24
|
* @cssproperty --table-row-hover-background-color - The wash across the cells of a row with `href` under the pointer.
|
|
20
25
|
*/
|
|
21
26
|
export declare class HelixTableRow extends HelixHeadlessTableRow {
|
|
@@ -8,11 +8,16 @@ light-dark(
|
|
|
8
8
|
color-mix(in oklab, var(--helix-color-foreground) 10%, transparent),
|
|
9
9
|
color-mix(in oklab, var(--helix-color-foreground) 14%, transparent)
|
|
10
10
|
)
|
|
11
|
-
);}[part~="option"][data-between]::part(item)::after {content: "";background-color: currentColor;block-size: var(--helix-size-icon-tight);border-radius: var(--helix-radii-full);flex: 0 0 auto;inline-size: var(--helix-size-icon-tight);margin-inline-start: auto;opacity: 0.4;scale: 0.3;}[part="columns"] {display: flex;}[part="column"] {--_time-row: var(--time-picker-row-size, var(--helix-size-control));--listbox-max-block-size: var(--time-picker-wheel-block-size, calc(var(--_time-row) * 5));flex: 1 1 auto;min-inline-size: max-content;}[part="column"]::part(items) {background-color: transparent;border: none;border-radius: var(--helix-radii-none);mask-image:
|
|
12
|
-
|
|
11
|
+
);}[part~="option"][data-between]::part(item)::after {content: "";background-color: currentColor;block-size: var(--helix-size-icon-tight);border-radius: var(--helix-radii-full);flex: 0 0 auto;inline-size: var(--helix-size-icon-tight);margin-inline-start: auto;opacity: 0.4;scale: 0.3;}[part="columns"] {display: flex;gap: var(--time-picker-columns-gap, var(--helix-space-none));}[part="column"] {--_time-row: var(--time-picker-row-size, var(--helix-size-control));--listbox-max-block-size: var(--time-picker-wheel-block-size, calc(var(--_time-row) * 5));flex: 1 1 auto;min-inline-size: max-content;}[part="column"]::part(items) {background-color: transparent;border: none;border-radius: var(--helix-radii-none);mask-image: var(
|
|
12
|
+
--time-picker-wheel-mask,
|
|
13
|
+
linear-gradient(to bottom, transparent, black 25%, black 75%, transparent)
|
|
14
|
+
);padding-block: calc((var(--listbox-max-block-size) - var(--_time-row)) / 2);scroll-snap-type: y mandatory;scrollbar-width: none;}[part="column"] [part~="option"] {scroll-snap-align: center;}[part="column"] [part~="option"]::part(item) {justify-content: center;}[part="column"] [part~="option"]::part(label) {text-align: center;}[part="column"] [part~="option"]::part(item) {min-block-size: var(--_time-row);min-inline-size: var(--_time-row);padding-block: var(--helix-space-none);padding-inline: var(--helix-space-sm);}[part="column"] [part~="option"]::part(item) {background-color: transparent;}[part="column"] [part~="option"]::part(label) {align-items: center;block-size: var(--_time-row);border-radius: var(--time-picker-mark-radius, var(--helix-radii-sm));display: inline-flex;justify-content: center;min-inline-size: var(--_time-row);padding-inline: var(--helix-space-2xs);transition: background-color var(--helix-duration-fast) var(--helix-easing-standard);}[part="column"] [part~="option"]:not([disabled]):hover::part(label),
|
|
15
|
+
[part="column"] [part~="option"]:state(active)::part(label) {background-color: var(--time-picker-hover-background-color, var(--helix-color-surface-sunken));}[part="column"] [part~="option"]:state(selected)::part(label) {background-color: var(--time-picker-selected-color, var(--helix-color-surface-inverse));color: var(--time-picker-selected-foreground-color, var(--helix-color-foreground-inverse));}[part="column"] [part~="option"]::part(item)::after {content: none;}:host([invalid]) [part~="option"]:state(selected)::part(item),
|
|
13
16
|
:host([invalid]) [part="column"] [part~="option"]:state(selected)::part(label),
|
|
14
17
|
:host(:state(invalid)) [part~="option"]:state(selected)::part(item),
|
|
15
|
-
:host(:state(invalid)) [part="column"] [part~="option"]:state(selected)::part(label) {outline: var(--helix-size-focus-ring) solid
|
|
18
|
+
:host(:state(invalid)) [part="column"] [part~="option"]:state(selected)::part(label) {outline: var(--helix-size-focus-ring) solid
|
|
19
|
+
var(--time-picker-invalid-color, var(--helix-color-danger));outline-offset: var(--helix-size-focus-offset);}:host([invalid]) [part="list"][data-unset],
|
|
16
20
|
:host([invalid]) [part="columns"][data-unset],
|
|
17
21
|
:host(:state(invalid)) [part="list"][data-unset],
|
|
18
|
-
:host(:state(invalid)) [part="columns"][data-unset] {border-radius: var(--helix-radii-sm);outline: var(--helix-size-focus-ring) solid
|
|
22
|
+
:host(:state(invalid)) [part="columns"][data-unset] {border-radius: var(--helix-radii-sm);outline: var(--helix-size-focus-ring) solid
|
|
23
|
+
var(--time-picker-invalid-color, var(--helix-color-danger));outline-offset: var(--helix-size-focus-offset);}[part="feedback"] {color: var(--time-picker-feedback-color, var(--helix-color-danger));font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);margin: var(--helix-space-sm) var(--helix-space-none) var(--helix-space-none);}@media print {:host {print-color-adjust: exact;}}`);
|
|
@@ -19,12 +19,18 @@ import '../../option/index.js';
|
|
|
19
19
|
* @aliases Time, TimeList
|
|
20
20
|
* @documentation https://fusion.dev/helix/components/time-picker
|
|
21
21
|
*
|
|
22
|
+
* @cssproperty --time-picker-columns-gap - The space between the wheels. None by default.
|
|
22
23
|
* @cssproperty --time-picker-feedback-color - The color of the message under the times, while `feedback` is set.
|
|
24
|
+
* @cssproperty --time-picker-hover-background-color - Fill on a wheel's row under the pointer or the keyboard.
|
|
25
|
+
* @cssproperty --time-picker-invalid-color - The ring around the chosen time, or around the times while nothing is chosen, while the picker is invalid.
|
|
23
26
|
* @cssproperty --time-picker-list-block-size - How tall the list is before it scrolls.
|
|
27
|
+
* @cssproperty --time-picker-mark-radius - The corners of the mark on a wheel's row.
|
|
24
28
|
* @cssproperty --time-picker-range-color - Fill behind the times inside a range.
|
|
25
29
|
* @cssproperty --time-picker-row-size - Height and minimum width of one row in a wheel.
|
|
26
30
|
* @cssproperty --time-picker-selected-color - Fill on the chosen row of a wheel.
|
|
31
|
+
* @cssproperty --time-picker-selected-foreground-color - Ink on the chosen row of a wheel.
|
|
27
32
|
* @cssproperty --time-picker-wheel-block-size - How tall a wheel is. Five rows by default.
|
|
33
|
+
* @cssproperty --time-picker-wheel-mask - The mask that fades a wheel toward its ends, as a `mask-image`. Set `none` for no fade.
|
|
28
34
|
*/
|
|
29
35
|
export declare class HelixTimePicker extends HelixHeadlessTimePicker {
|
|
30
36
|
static tier: string;
|
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
-
export const styles = createSheet(`:host {--helix-size-icon: var(--helix-size-icon-sm);--helix-size-icon-loose: calc(var(--helix-size-icon) * 1.2);--helix-size-icon-tight: calc(var(--helix-size-icon) * 0.8);--helix-size-control: var(--helix-size-control-sm);--helix-size-control-loose: calc(var(--helix-size-control) * 1.2);--helix-size-control-tight: calc(var(--helix-size-control) * 0.8);--_toast-line: calc(var(--helix-text-sm) * var(--helix-leading-normal));display: grid;grid-template-rows: minmax(0, 1fr);margin-block-start: var(--_toast-gap, var(--helix-space-xs));transition:
|
|
2
|
+
export const styles = createSheet(`:host {--helix-size-icon: var(--helix-size-icon-sm);--helix-size-icon-loose: calc(var(--helix-size-icon) * 1.2);--helix-size-icon-tight: calc(var(--helix-size-icon) * 0.8);--helix-size-control: var(--helix-size-control-sm);--helix-size-control-loose: calc(var(--helix-size-control) * 1.2);--helix-size-control-tight: calc(var(--helix-size-control) * 0.8);--_toast-line: calc(var(--toast-font-size, var(--helix-text-sm)) * var(--helix-leading-normal));display: grid;grid-template-rows: minmax(0, 1fr);margin-block-start: var(--_toast-gap, var(--helix-space-xs));transition:
|
|
3
3
|
grid-template-rows var(--helix-duration-normal) var(--helix-easing-decelerate),
|
|
4
4
|
margin-block-start var(--helix-duration-normal) var(--helix-easing-decelerate),
|
|
5
5
|
opacity var(--helix-duration-normal) var(--helix-easing-decelerate),
|
|
6
|
-
translate var(--helix-duration-normal) var(--helix-easing-decelerate);inline-size: var(--toast-inline-size, 22rem);max-inline-size: calc(100vw - var(--helix-space-xl));}[part="item"] {align-items: start;display: grid;grid-template-columns: auto 1fr;background-color: var(--helix-color-surface-overlay);border-radius: var(--helix-radii-sm);border: var(--toast-border-width, var(--helix-border-floating)) solid
|
|
7
|
-
var(--toast-border-color, var(--helix-color-border));box-shadow: var(--toast-shadow, var(--helix-shadow-floating));box-sizing: border-box;color: var(--helix-color-foreground);font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);line-height: var(--helix-leading-normal);padding: var(--toast-item-padding, var(--helix-space-sm));padding-inline-end: calc(
|
|
6
|
+
translate var(--helix-duration-normal) var(--helix-easing-decelerate);inline-size: var(--toast-inline-size, 22rem);max-inline-size: calc(100vw - var(--helix-space-xl));}[part="item"] {align-items: start;display: grid;grid-template-columns: auto 1fr;background-color: var(--toast-background-color, var(--helix-color-surface-overlay));border-radius: var(--toast-radius, var(--helix-radii-sm));border: var(--toast-border-width, var(--helix-border-floating)) solid
|
|
7
|
+
var(--toast-border-color, var(--helix-color-border));box-shadow: var(--toast-shadow, var(--helix-shadow-floating));box-sizing: border-box;color: var(--toast-color, var(--helix-color-foreground));font-family: var(--helix-font-sans);font-size: var(--toast-font-size, var(--helix-text-sm));line-height: var(--helix-leading-normal);padding: var(--toast-item-padding, var(--helix-space-sm));padding-inline-end: calc(
|
|
8
8
|
var(--helix-space-sm) +
|
|
9
9
|
var(--helix-size-control) +
|
|
10
10
|
var(--helix-space-2xs)
|
|
11
|
-
);min-block-size: 0;position: relative;overflow: hidden;}[part="icon"] {color: var(--_toast-severity, var(--helix-color-foreground-muted));display: inline-flex;grid-area: 1 / 1;margin-inline-end: var(--helix-space-sm);margin-block-start: calc((var(--_toast-line) - var(--helix-size-icon)) / 2);}[part="icon"] svg {block-size: var(--helix-size-icon);inline-size: var(--helix-size-icon);}slot[name="icon"]::slotted(*) {--icon-size: var(--helix-size-icon);block-size: var(--helix-size-icon);inline-size: var(--helix-size-icon);}[part="content"] {grid-area: 1 / 2;min-inline-size: 0;}::slotted([slot="heading"]) {display: block;font-weight: var(--helix-weight-semibold);}::slotted([slot="description"]) {color: var(--helix-color-foreground-muted);display: block;}[part="actions"] {display: flex;gap: var(--helix-space-2xs);grid-area: 2 / 2;}[part="actions"] slot::slotted(*) {margin-block-start: var(--helix-space-xs);}:host([tone="info"]) {--_toast-severity: var(--helix-color-primary);}:host([tone="success"]) {--_toast-severity: var(--helix-color-success);}:host([tone="warning"]) {--_toast-severity: var(--helix-color-warning);}:host([tone="danger"]) {--_toast-severity: var(--helix-color-danger);}[part="dismiss"] {all: unset;box-sizing: border-box;position: absolute;inset-block-start: calc(
|
|
11
|
+
);min-block-size: 0;position: relative;overflow: hidden;}[part="icon"] {color: var(--toast-tone-color, var(--_toast-severity, var(--helix-color-foreground-muted)));display: inline-flex;grid-area: 1 / 1;margin-inline-end: var(--helix-space-sm);margin-block-start: calc((var(--_toast-line) - var(--helix-size-icon)) / 2);}[part="icon"] svg {block-size: var(--helix-size-icon);inline-size: var(--helix-size-icon);}slot[name="icon"]::slotted(*) {--icon-size: var(--helix-size-icon);block-size: var(--helix-size-icon);inline-size: var(--helix-size-icon);}[part="content"] {grid-area: 1 / 2;min-inline-size: 0;}::slotted([slot="heading"]) {display: block;font-weight: var(--toast-heading-weight, var(--helix-weight-semibold));}::slotted([slot="description"]) {color: var(--toast-description-color, var(--helix-color-foreground-muted));display: block;}[part="actions"] {display: flex;gap: var(--helix-space-2xs);grid-area: 2 / 2;}[part="actions"] slot::slotted(*) {margin-block-start: var(--helix-space-xs);}:host([tone="info"]) {--_toast-severity: var(--helix-color-primary);}:host([tone="success"]) {--_toast-severity: var(--helix-color-success);}:host([tone="warning"]) {--_toast-severity: var(--helix-color-warning);}:host([tone="danger"]) {--_toast-severity: var(--helix-color-danger);}[part="dismiss"] {all: unset;box-sizing: border-box;position: absolute;inset-block-start: calc(
|
|
12
12
|
var(--toast-item-padding, var(--helix-space-sm)) +
|
|
13
13
|
(var(--_toast-line) - var(--helix-size-control)) /
|
|
14
14
|
2
|
|
15
|
-
);inset-inline-end: var(--helix-space-sm);block-size: var(--helix-size-control);border-radius: var(--helix-radii-sm);color: var(--helix-color-foreground-muted);cursor: pointer;display: inline-flex;flex: 0 0 auto;inline-size: var(--helix-size-control);place-content: center;place-items: center;transition: color var(--helix-duration-fast) var(--helix-easing-standard);}[part="dismiss"] svg {block-size: var(--helix-size-icon);inline-size: var(--helix-size-icon);}[part="dismiss"]:hover {background-color: color-mix(in oklab, var(--helix-color-foreground) 8%, transparent);color: var(--helix-color-foreground);}[part="dismiss"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="item"],
|
|
16
|
-
[part="item"] > * {touch-action: pan-y;}[part="content"] > slot {display: block;touch-action: pan-y;}[part="item"][data-swiping] {transition: none;translate: var(--toast-swipe-x, 0) 0;user-select: none;}[part="timer"] {animation: helix-toast-drain var(--toast-duration, 0ms) linear forwards;background-color: var(
|
|
15
|
+
);inset-inline-end: var(--helix-space-sm);block-size: var(--helix-size-control);border-radius: var(--helix-radii-sm);color: var(--toast-dismiss-color, var(--helix-color-foreground-muted));cursor: pointer;display: inline-flex;flex: 0 0 auto;inline-size: var(--helix-size-control);place-content: center;place-items: center;transition: color var(--helix-duration-fast) var(--helix-easing-standard);}[part="dismiss"] svg {block-size: var(--helix-size-icon);inline-size: var(--helix-size-icon);}[part="dismiss"]:hover {background-color: color-mix(in oklab, var(--helix-color-foreground) 8%, transparent);color: var(--helix-color-foreground);}[part="dismiss"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="item"],
|
|
16
|
+
[part="item"] > * {touch-action: pan-y;}[part="content"] > slot {display: block;touch-action: pan-y;}[part="item"][data-swiping] {transition: none;translate: var(--toast-swipe-x, 0) 0;user-select: none;}[part="timer"] {animation: helix-toast-drain var(--toast-duration, 0ms) linear forwards;background-color: var(
|
|
17
|
+
--toast-tone-color,
|
|
18
|
+
var(--_toast-severity, var(--helix-color-foreground-muted))
|
|
19
|
+
);block-size: var(--toast-timer-size, var(--helix-space-2xs));inset-block-start: 0;inset-inline: 0;position: absolute;transform-origin: 0 50%;}[part="timer"]:dir(rtl) {transform-origin: 100% 50%;}:host([data-paused]) [part="timer"] {animation-play-state: paused;}@keyframes helix-toast-drain {to {scale: 0 1;}}@media (prefers-reduced-motion: no-preference) {[part="item"] {animation: helix-toast-in var(--helix-duration-normal) var(--helix-easing-decelerate) backwards;}}@keyframes helix-toast-in {from {opacity: 0;translate: 0 var(--_toast-enter, var(--helix-space-lg));}}:host([data-closed]) [part="item"] {padding-block: 0;transition: padding-block var(--helix-duration-normal) var(--helix-easing-accelerate);}:host([hidden]:not([hidden="until-found"])) {display: grid;}:host([data-closed]) {grid-template-rows: minmax(0, 0fr);margin-block-start: 0;opacity: 0;translate: 0 var(--_toast-enter, var(--helix-space-lg));visibility: hidden;transition:
|
|
17
20
|
grid-template-rows var(--helix-duration-normal) var(--helix-easing-accelerate),
|
|
18
21
|
margin-block-start var(--helix-duration-normal) var(--helix-easing-accelerate),
|
|
19
22
|
opacity var(--helix-duration-normal) var(--helix-easing-accelerate),
|
|
@@ -12,13 +12,23 @@ import type { CSSResultGroup } from 'lit';
|
|
|
12
12
|
* @status stable
|
|
13
13
|
* @documentation https://fusion.dev/helix/components/toast
|
|
14
14
|
*
|
|
15
|
+
* @cssproperty --toast-background-color - The panel's color. Follows `--helix-color-surface-overlay`.
|
|
15
16
|
* @cssproperty --toast-border-color - Color of the panel's edge.
|
|
16
17
|
* @cssproperty --toast-border-width - Width of the panel's edge. Follows
|
|
17
18
|
* `--helix-border-floating`, which is `0`, so the panel stands out by its shadow unless your
|
|
18
19
|
* theme sets a border.
|
|
20
|
+
* @cssproperty --toast-color - Color of the message's text.
|
|
21
|
+
* @cssproperty --toast-description-color - Color of the line in the `description` slot, under the heading.
|
|
22
|
+
* @cssproperty --toast-dismiss-color - Color of the dismiss control's mark at rest.
|
|
23
|
+
* @cssproperty --toast-font-size - Size of the message's text. The first line's controls and mark stay centered on it.
|
|
24
|
+
* @cssproperty --toast-heading-weight - Weight of the heading in the `heading` slot.
|
|
19
25
|
* @cssproperty --toast-item-padding - Space between the message's edge and its contents.
|
|
26
|
+
* @cssproperty --toast-radius - Rounding of the panel's corners.
|
|
20
27
|
* @cssproperty --toast-shadow - Shadow under the panel. Follows `--helix-shadow-floating`. A
|
|
21
28
|
* floating surface can sit over any content, so it has a shadow by default.
|
|
29
|
+
* @cssproperty --toast-timer-size - Thickness of the bar that counts down a timed message.
|
|
30
|
+
* @cssproperty --toast-tone-color - Color of the mark and the countdown bar. Unset, each `tone`
|
|
31
|
+
* takes its own color, so set it per tone, as in `helix-toast-item[tone="danger"]`.
|
|
22
32
|
*/
|
|
23
33
|
export declare class HelixToastItem extends HelixHeadlessToastItem {
|
|
24
34
|
static styles: CSSResultGroup;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
-
export const styles = createSheet(`:host {--helix-size-checkbox: var(--helix-size-checkbox-sm);--helix-size-checkbox-loose: calc(var(--helix-size-checkbox) * 1.2);--helix-size-checkbox-tight: calc(var(--helix-size-checkbox) * 0.8);--helix-size-icon: var(--helix-size-icon-sm);--helix-size-icon-loose: calc(var(--helix-size-icon) * 1.2);--helix-size-icon-tight: calc(var(--helix-size-icon) * 0.8);--helix-size-control: var(--helix-size-control-sm);--helix-size-control-loose: calc(var(--helix-size-control) * 1.2);--helix-size-control-tight: calc(var(--helix-size-control) * 0.8);--helix-size-tag: var(--helix-size-tag-sm);display: inline-flex;}[part="toolbar"] {align-items: var(--toolbar-align, center);background-color: var(--toolbar-background-color, transparent);border: var(--toolbar-border-width, 0) solid var(--toolbar-border-color, transparent);border-radius: var(--toolbar-radius, var(--helix-radii-none));display: flex;gap: var(--toolbar-gap, var(--helix-space-2xs));padding: var(--toolbar-padding, var(--helix-space-none));}:host([orientation="vertical"]) [part="toolbar"] {flex-direction: column;}::slotted(helix-divider) {margin-inline: var(--toolbar-separator-gap, 0);}:host([orientation="vertical"]) ::slotted(helix-divider) {margin-block: var(--toolbar-separator-gap, 0);margin-inline: 0;}@media print {:host {display: none;}}`);
|
|
2
|
+
export const styles = createSheet(`:host {--helix-size-checkbox: var(--helix-size-checkbox-sm);--helix-size-checkbox-loose: calc(var(--helix-size-checkbox) * 1.2);--helix-size-checkbox-tight: calc(var(--helix-size-checkbox) * 0.8);--helix-size-icon: var(--helix-size-icon-sm);--helix-size-icon-loose: calc(var(--helix-size-icon) * 1.2);--helix-size-icon-tight: calc(var(--helix-size-icon) * 0.8);--helix-size-control: var(--helix-size-control-sm);--helix-size-control-loose: calc(var(--helix-size-control) * 1.2);--helix-size-control-tight: calc(var(--helix-size-control) * 0.8);--helix-size-tag: var(--helix-size-tag-sm);display: inline-flex;}:host([size="md"]) {--helix-size-checkbox: var(--helix-size-checkbox-md);--helix-size-checkbox-loose: calc(var(--helix-size-checkbox) * 1.2);--helix-size-checkbox-tight: calc(var(--helix-size-checkbox) * 0.8);--helix-size-icon: var(--helix-size-icon-md);--helix-size-icon-loose: calc(var(--helix-size-icon) * 1.2);--helix-size-icon-tight: calc(var(--helix-size-icon) * 0.8);--helix-size-control: var(--helix-size-control-md);--helix-size-control-loose: calc(var(--helix-size-control) * 1.2);--helix-size-control-tight: calc(var(--helix-size-control) * 0.8);--helix-size-tag: var(--helix-size-tag-md);}:host([size="lg"]) {--helix-size-checkbox: var(--helix-size-checkbox-lg);--helix-size-checkbox-loose: calc(var(--helix-size-checkbox) * 1.2);--helix-size-checkbox-tight: calc(var(--helix-size-checkbox) * 0.8);--helix-size-icon: var(--helix-size-icon-lg);--helix-size-icon-loose: calc(var(--helix-size-icon) * 1.2);--helix-size-icon-tight: calc(var(--helix-size-icon) * 0.8);--helix-size-control: var(--helix-size-control-lg);--helix-size-control-loose: calc(var(--helix-size-control) * 1.2);--helix-size-control-tight: calc(var(--helix-size-control) * 0.8);--helix-size-tag: var(--helix-size-tag-lg);}[part="toolbar"] {align-items: var(--toolbar-align, center);background-color: var(--toolbar-background-color, transparent);border: var(--toolbar-border-width, 0) solid var(--toolbar-border-color, transparent);border-radius: var(--toolbar-radius, var(--helix-radii-none));display: flex;gap: var(--toolbar-gap, var(--helix-space-2xs));padding: var(--toolbar-padding, var(--helix-space-none));}:host([orientation="vertical"]) [part="toolbar"] {flex-direction: column;}::slotted(helix-divider) {margin-inline: var(--toolbar-separator-gap, 0);}:host([orientation="vertical"]) ::slotted(helix-divider) {align-self: stretch;margin-block: var(--toolbar-separator-gap, 0);margin-inline: 0;}@media print {:host {display: none;}}`);
|