@fusion.dev/helix 0.22.0 → 0.24.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 +63613 -38645
- package/dist/accordion/item/accordion-item.css.js +4 -0
- package/dist/announcement/root/announcement-root.css.js +26 -12
- package/dist/announcement/root/announcement-root.d.ts +17 -0
- package/dist/announcement/root/announcement-root.js +4 -0
- package/dist/app-header/root/app-header-root.css.js +6 -0
- package/dist/area-chart/index.d.ts +1 -0
- package/dist/area-chart/index.js +1 -0
- package/dist/area-chart/root/area-chart-root.css.d.ts +1 -0
- package/dist/area-chart/root/area-chart-root.css.js +97 -0
- package/dist/area-chart/root/area-chart-root.d.ts +38 -0
- package/dist/area-chart/root/area-chart-root.js +20 -0
- package/dist/bar-chart/root/bar-chart-root.css.js +0 -141
- package/dist/bar-chart/root/bar-chart-root.js +2 -1
- package/dist/button/root/button-root.css.js +4 -1
- package/dist/chat/composer/chat-composer.css.js +4 -0
- package/dist/chat/message/chat-message.css.js +20 -0
- package/dist/chat/root/chat-root.css.js +26 -0
- package/dist/code-block/root/code-block-root.css.js +122 -0
- package/dist/code-block/root/code-block-root.d.ts +5 -0
- package/dist/data-table/root/data-table-root.css.js +21 -3
- package/dist/data-table/root/data-table-root.d.ts +1 -0
- package/dist/data-table/root/data-table-root.js +1 -0
- package/dist/description-list/index.d.ts +2 -0
- package/dist/description-list/index.js +2 -0
- package/dist/description-list/item/description-list-item.css.d.ts +1 -0
- package/dist/description-list/item/description-list-item.css.js +31 -0
- package/dist/description-list/item/description-list-item.d.ts +21 -0
- package/dist/description-list/item/description-list-item.js +16 -0
- package/dist/description-list/root/description-list-root.css.d.ts +1 -0
- package/dist/description-list/root/description-list-root.css.js +35 -0
- package/dist/description-list/root/description-list-root.d.ts +62 -0
- package/dist/description-list/root/description-list-root.js +23 -0
- package/dist/donut-chart/root/donut-chart-root.css.js +0 -138
- package/dist/donut-chart/root/donut-chart-root.js +2 -1
- package/dist/element-events.generated.js +36 -8
- package/dist/filter-input/chip/filter-chip.css.d.ts +1 -0
- package/dist/filter-input/chip/filter-chip.css.js +85 -0
- package/dist/filter-input/chip/filter-chip.d.ts +32 -0
- package/dist/filter-input/chip/filter-chip.js +16 -0
- package/dist/filter-input/field/filter-field.css.d.ts +1 -0
- package/dist/filter-input/field/filter-field.css.js +4 -0
- package/dist/filter-input/field/filter-field.d.ts +29 -0
- package/dist/filter-input/field/filter-field.js +16 -0
- package/dist/filter-input/index.d.ts +4 -0
- package/dist/filter-input/index.js +4 -0
- package/dist/filter-input/menu/filter-menu.css.d.ts +1 -0
- package/dist/filter-input/menu/filter-menu.css.js +4 -0
- package/dist/filter-input/menu/filter-menu.d.ts +33 -0
- package/dist/filter-input/menu/filter-menu.js +19 -0
- package/dist/filter-input/operator/filter-operator.css.d.ts +1 -0
- package/dist/filter-input/operator/filter-operator.css.js +4 -0
- package/dist/filter-input/operator/filter-operator.d.ts +27 -0
- package/dist/filter-input/operator/filter-operator.js +16 -0
- package/dist/filter-input/root/filter-input-root.css.js +25 -2
- package/dist/filter-input/root/filter-input-root.d.ts +3 -0
- package/dist/heatmap/root/heatmap-root.d.ts +1 -0
- package/dist/heatmap/root/heatmap-root.js +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +5 -0
- package/dist/line-chart/root/line-chart-root.css.js +0 -138
- package/dist/line-chart/root/line-chart-root.js +2 -1
- package/dist/menu/item/menu-item.css.js +33 -6
- package/dist/menu/item/menu-item.d.ts +2 -1
- package/dist/menu/root/menu-root.css.js +15 -0
- package/dist/navigation/root/navigation-root.css.js +2 -1
- package/dist/notifications/group/notification-group.css.d.ts +1 -0
- package/dist/notifications/group/notification-group.css.js +61 -0
- package/dist/notifications/group/notification-group.d.ts +37 -0
- package/dist/notifications/group/notification-group.js +16 -0
- package/dist/notifications/index.d.ts +1 -0
- package/dist/notifications/index.js +1 -0
- package/dist/notifications/notification/notification.css.js +74 -8
- package/dist/notifications/notification/notification.d.ts +25 -0
- package/dist/notifications/notification/notification.js +5 -0
- package/dist/notifications/root/notifications-root.css.js +8 -0
- package/dist/object-inspector/index.d.ts +1 -0
- package/dist/object-inspector/index.js +1 -0
- package/dist/object-inspector/root/object-inspector-root.css.d.ts +1 -0
- package/dist/object-inspector/root/object-inspector-root.css.js +148 -0
- package/dist/object-inspector/root/object-inspector-root.d.ts +35 -0
- package/dist/object-inspector/root/object-inspector-root.js +18 -0
- package/dist/sandbox/root/sandbox-root.d.ts +4 -0
- package/dist/sandbox/toolbar/sandbox-toolbar.css.js +7 -1
- package/dist/scatter-chart/index.d.ts +1 -0
- package/dist/scatter-chart/index.js +1 -0
- package/dist/scatter-chart/root/scatter-chart-root.css.d.ts +1 -0
- package/dist/scatter-chart/root/scatter-chart-root.css.js +138 -0
- package/dist/scatter-chart/root/scatter-chart-root.d.ts +38 -0
- package/dist/scatter-chart/root/scatter-chart-root.js +20 -0
- package/dist/shared/chart/tooltip.css.d.ts +1 -0
- package/dist/shared/chart/tooltip.css.js +141 -0
- package/dist/skip-link/index.d.ts +1 -0
- package/dist/skip-link/index.js +1 -0
- package/dist/skip-link/root/skip-link-root.css.d.ts +1 -0
- package/dist/skip-link/root/skip-link-root.css.js +36 -0
- package/dist/skip-link/root/skip-link-root.d.ts +42 -0
- package/dist/skip-link/root/skip-link-root.js +17 -0
- package/dist/steps/step/step.css.js +4 -0
- package/dist/table/column/table-column.css.js +66 -0
- package/dist/tag/root/tag-root.d.ts +10 -0
- package/dist/text/root/text-root.d.ts +26 -13
- package/dist/text/root/text-root.js +3 -0
- package/dist/time-picker/root/time-picker-root.css.js +2 -2
- package/dist/toast/item/toast-item.css.js +9 -4
- package/dist/toolbar/root/toolbar-root.css.js +6 -0
- package/package.json +6 -6
- package/types/jsx.d.ts +4797 -701
- package/types/svelte.d.ts +11 -0
- package/types/vue.d.ts +910 -52
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { HelixHeadlessObjectInspector } from '@fusion.dev/helix-headless/object-inspector';
|
|
2
|
+
import type { CSSResultGroup } from 'lit';
|
|
3
|
+
import '../../copy-button/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* @summary A value read as a tree: collapse what you do not need, count what
|
|
6
|
+
* you collapsed, copy the part you do.
|
|
7
|
+
*
|
|
8
|
+
* @description
|
|
9
|
+
* Code Block's frame around a tree of entries. Each type takes its ink from the
|
|
10
|
+
* syntax set the code blocks already use, a key in one, a string in another and
|
|
11
|
+
* a number, a boolean and a null in theirs, and each row is one line with a long
|
|
12
|
+
* string ending in an ellipsis, so every row is one height and a windowed tree
|
|
13
|
+
* never has to measure them one by one.
|
|
14
|
+
*
|
|
15
|
+
* @since 0.1.0
|
|
16
|
+
* @status experimental
|
|
17
|
+
* @category data
|
|
18
|
+
* @aliases JSON viewer, Object viewer, Inspector, Data explorer
|
|
19
|
+
* @documentation https://helix.fusion.dev/components/object-inspector
|
|
20
|
+
*
|
|
21
|
+
* @cssproperty --object-inspector-background-color - Ground under the tree.
|
|
22
|
+
* @cssproperty --object-inspector-block-size - Height of the scrolling box, when windowed.
|
|
23
|
+
* @cssproperty --object-inspector-border-color - The edge around the tree and its header.
|
|
24
|
+
* @cssproperty --object-inspector-header-background-color - The bar carrying the label.
|
|
25
|
+
* @cssproperty --object-inspector-radius - Corner radius of the tree.
|
|
26
|
+
*/
|
|
27
|
+
export declare class HelixObjectInspector extends HelixHeadlessObjectInspector {
|
|
28
|
+
static tier: string;
|
|
29
|
+
static styles: CSSResultGroup;
|
|
30
|
+
}
|
|
31
|
+
declare global {
|
|
32
|
+
interface HTMLElementTagNameMap {
|
|
33
|
+
'helix-object-inspector': HelixObjectInspector;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
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 { HelixHeadlessObjectInspector } from '@fusion.dev/helix-headless/object-inspector';
|
|
9
|
+
import { styles } from './object-inspector-root.css.js';
|
|
10
|
+
import '../../copy-button/index.js';
|
|
11
|
+
let HelixObjectInspector = class HelixObjectInspector extends HelixHeadlessObjectInspector {
|
|
12
|
+
static { this.tier = 'helix-'; }
|
|
13
|
+
static { this.styles = styles; }
|
|
14
|
+
};
|
|
15
|
+
HelixObjectInspector = __decorate([
|
|
16
|
+
customElement('helix-object-inspector')
|
|
17
|
+
], HelixObjectInspector);
|
|
18
|
+
export { HelixObjectInspector };
|
|
@@ -32,8 +32,12 @@ import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
|
|
|
32
32
|
* @slot status - A status bar, spanning both panes at the bottom.
|
|
33
33
|
* @slot toolbar - A bar across the top, spanning both panes.
|
|
34
34
|
*
|
|
35
|
+
* @event {HelixBeforeEditEvent} helix-before-edit - Fired before the source is edited, by the source pane and heard here. Cancelable: refusing it takes the decision and nothing moves.
|
|
35
36
|
* @event {HelixBeforePanelResizeEvent} helix-before-panel-resize - Fired before the panel's divider is let go, with its height in pixels. Cancelable: refusing it takes the decision and nothing moves.
|
|
36
37
|
* @event {HelixBeforeSplitEvent} helix-before-split - Fired before the panes' divider is let go, with the lead pane's share. Cancelable: refusing it takes the decision and nothing moves.
|
|
38
|
+
* @event {HelixCaretEvent} helix-caret - Fired when the cursor moves in the source, by the source pane and heard here.
|
|
39
|
+
* @event {HelixConsoleEvent} helix-console - Relayed from the frame by the preview pane, one per console call.
|
|
40
|
+
* @event {HelixResizeEvent} helix-resize - How tall the frame's content is, from the preview pane, whenever it changes.
|
|
37
41
|
*
|
|
38
42
|
* @csspart body - The splitter holding the panes above the panel.
|
|
39
43
|
* @csspart corner - The handle where the two dividers cross.
|
|
@@ -2,14 +2,20 @@ import { createSheet } from '@fusion.dev/helix-core';
|
|
|
2
2
|
export const styles = createSheet(`:host {
|
|
3
3
|
|
|
4
4
|
--helix-size-checkbox: var(--helix-size-checkbox-sm);
|
|
5
|
+
--helix-size-checkbox-loose: calc(var(--helix-size-checkbox) * 1.2);
|
|
6
|
+
--helix-size-checkbox-tight: calc(var(--helix-size-checkbox) * 0.8);
|
|
5
7
|
--helix-size-icon: var(--helix-size-icon-sm);
|
|
8
|
+
--helix-size-icon-loose: calc(var(--helix-size-icon) * 1.2);
|
|
9
|
+
--helix-size-icon-tight: calc(var(--helix-size-icon) * 0.8);
|
|
6
10
|
--helix-size-control: var(--helix-size-control-sm);
|
|
11
|
+
--helix-size-control-loose: calc(var(--helix-size-control) * 1.2);
|
|
12
|
+
--helix-size-control-tight: calc(var(--helix-size-control) * 0.8);
|
|
7
13
|
--helix-size-tag: var(--helix-size-tag-sm);
|
|
8
14
|
|
|
9
15
|
align-items: center;
|
|
10
16
|
background-color: var(--helix-color-background);
|
|
11
17
|
|
|
12
|
-
block-size: var(--sandbox-toolbar-size, var(--helix-size-control-
|
|
18
|
+
block-size: var(--sandbox-toolbar-size, var(--helix-size-control-lg));
|
|
13
19
|
|
|
14
20
|
border-block-end: var(--helix-border-thin) solid var(--helix-color-border);
|
|
15
21
|
display: flex;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root/scatter-chart-root.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './root/scatter-chart-root.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
+
export const styles = createSheet(`:host {
|
|
3
|
+
column-gap: var(--helix-space-xs);
|
|
4
|
+
container-type: inline-size;
|
|
5
|
+
display: grid;
|
|
6
|
+
grid-template-areas:
|
|
7
|
+
"y-name ."
|
|
8
|
+
"y-axis plot"
|
|
9
|
+
". x-axis"
|
|
10
|
+
". x-name";
|
|
11
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
12
|
+
position: relative;
|
|
13
|
+
row-gap: var(--scatter-chart-gap, var(--helix-space-2xs));
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
[part="plot"] {
|
|
17
|
+
block-size: var(--scatter-chart-block-size, 14em);
|
|
18
|
+
cursor: crosshair;
|
|
19
|
+
grid-area: plot;
|
|
20
|
+
position: relative;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
[part="plot"] svg {
|
|
24
|
+
block-size: 100%;
|
|
25
|
+
inline-size: 100%;
|
|
26
|
+
overflow: visible;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
[part="gridline"] {
|
|
30
|
+
stroke: var(--scatter-chart-gridline-color, var(--helix-color-border));
|
|
31
|
+
stroke-width: var(--helix-border-thin);
|
|
32
|
+
vector-effect: non-scaling-stroke;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
[part="point"] {
|
|
36
|
+
background-color: var(--chart-series);
|
|
37
|
+
block-size: var(--scatter-chart-point-size, 8px);
|
|
38
|
+
border-radius: var(--helix-radii-full);
|
|
39
|
+
box-shadow: 0 0 0 var(--helix-border-thin)
|
|
40
|
+
var(--scatter-chart-point-ring-color, var(--helix-color-background));
|
|
41
|
+
inline-size: var(--scatter-chart-point-size, 8px);
|
|
42
|
+
inset-block-start: var(--chart-point-y);
|
|
43
|
+
inset-inline-start: var(--chart-point-x);
|
|
44
|
+
opacity: var(--scatter-chart-point-opacity, 0.8);
|
|
45
|
+
pointer-events: none;
|
|
46
|
+
position: absolute;
|
|
47
|
+
transition:
|
|
48
|
+
inset-block-start var(--helix-duration-normal) var(--helix-easing-decelerate),
|
|
49
|
+
inset-inline-start var(--helix-duration-normal) var(--helix-easing-decelerate),
|
|
50
|
+
scale var(--helix-duration-fast) var(--helix-easing-decelerate);
|
|
51
|
+
translate: -50% -50%;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
[part="point"][data-active] {
|
|
55
|
+
opacity: 1;
|
|
56
|
+
scale: 1.5;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
[part="x-axis"],
|
|
60
|
+
[part="y-axis"] {
|
|
61
|
+
display: grid;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
[part="x-axis"] {
|
|
65
|
+
grid-area: x-axis;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
[part="y-axis"] {
|
|
69
|
+
grid-area: y-axis;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
[part="x-tick"],
|
|
73
|
+
[part="y-tick"] {
|
|
74
|
+
color: var(--helix-color-foreground-muted);
|
|
75
|
+
font-size: var(--helix-text-xs);
|
|
76
|
+
font-variant-numeric: tabular-nums;
|
|
77
|
+
grid-area: 1 / 1;
|
|
78
|
+
line-height: 1;
|
|
79
|
+
position: relative;
|
|
80
|
+
white-space: nowrap;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
[part="x-tick"] {
|
|
84
|
+
inset-inline-start: var(--chart-tick);
|
|
85
|
+
justify-self: start;
|
|
86
|
+
translate: -50% 0;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
[part="y-tick"] {
|
|
90
|
+
align-self: start;
|
|
91
|
+
inset-block-start: var(--chart-tick);
|
|
92
|
+
justify-self: end;
|
|
93
|
+
translate: 0 -50%;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
@container (inline-size < 30rem) {
|
|
97
|
+
[part="x-tick"]:nth-last-child(even) {
|
|
98
|
+
visibility: hidden;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
[part="x-name"],
|
|
103
|
+
[part="y-name"] {
|
|
104
|
+
color: var(--helix-color-foreground-muted);
|
|
105
|
+
font-size: var(--helix-text-xs);
|
|
106
|
+
font-weight: var(--helix-weight-medium);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
[part="x-name"] {
|
|
110
|
+
grid-area: x-name;
|
|
111
|
+
justify-self: end;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
[part="y-name"] {
|
|
115
|
+
grid-area: y-name;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
[part="summary"] {
|
|
119
|
+
block-size: 1px;
|
|
120
|
+
clip-path: inset(50%);
|
|
121
|
+
inline-size: 1px;
|
|
122
|
+
margin: var(--helix-space-none);
|
|
123
|
+
overflow: hidden;
|
|
124
|
+
position: absolute;
|
|
125
|
+
white-space: nowrap;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
@starting-style {
|
|
129
|
+
[part="point"] {
|
|
130
|
+
opacity: 0;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
@media print {
|
|
135
|
+
:host {
|
|
136
|
+
print-color-adjust: exact;
|
|
137
|
+
}
|
|
138
|
+
}`);
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { HelixHeadlessScatterChart } from '@fusion.dev/helix-headless/scatter-chart';
|
|
2
|
+
import type { CSSResultGroup } from 'lit';
|
|
3
|
+
import '../../tooltip/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* @summary Whether two measures move together, one point per row.
|
|
6
|
+
*
|
|
7
|
+
* @description
|
|
8
|
+
* The points take the series palette in order, so a table with one column
|
|
9
|
+
* measured up is series one and a table with three is the first three.
|
|
10
|
+
*
|
|
11
|
+
* Each point has a ring of the page around it and stops short of opaque, so a
|
|
12
|
+
* dense cluster reads as dense rather than as one blot, and two points that
|
|
13
|
+
* overlap each keep their edge.
|
|
14
|
+
*
|
|
15
|
+
* @since 0.1.0
|
|
16
|
+
* @status experimental
|
|
17
|
+
* @category charts
|
|
18
|
+
* @groups charts
|
|
19
|
+
* @aliases Scatter Plot, XY Chart, Correlation Chart, Dot Plot
|
|
20
|
+
* @documentation https://helix.fusion.dev/components/scatter-chart
|
|
21
|
+
*
|
|
22
|
+
* @cssproperty --scatter-chart-block-size - Height of the drawing.
|
|
23
|
+
* @cssproperty --scatter-chart-gap - Space between the drawing and its axes.
|
|
24
|
+
* @cssproperty --scatter-chart-gridline-color - One rule across the plot, under `gridlines`.
|
|
25
|
+
* @cssproperty --scatter-chart-point-opacity - How much of its color a point shows, so a cluster reads darker where it is denser.
|
|
26
|
+
* @cssproperty --scatter-chart-point-ring-color - The ring around each point, which is the page's color unless the chart sits on something else.
|
|
27
|
+
* @cssproperty --scatter-chart-point-size - Diameter of a point.
|
|
28
|
+
*/
|
|
29
|
+
export declare class HelixScatterChart extends HelixHeadlessScatterChart {
|
|
30
|
+
/** The styled tier, so the tooltip this renders is the styled one. */
|
|
31
|
+
static tier: string;
|
|
32
|
+
static styles: CSSResultGroup;
|
|
33
|
+
}
|
|
34
|
+
declare global {
|
|
35
|
+
interface HTMLElementTagNameMap {
|
|
36
|
+
'helix-scatter-chart': HelixScatterChart;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
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 { HelixHeadlessScatterChart } from '@fusion.dev/helix-headless/scatter-chart';
|
|
9
|
+
import { styles as seriesStyles } from '../../shared/chart/series.css.js';
|
|
10
|
+
import { styles as tooltipStyles } from '../../shared/chart/tooltip.css.js';
|
|
11
|
+
import { styles } from './scatter-chart-root.css.js';
|
|
12
|
+
import '../../tooltip/index.js';
|
|
13
|
+
let HelixScatterChart = class HelixScatterChart extends HelixHeadlessScatterChart {
|
|
14
|
+
static { this.tier = 'helix-'; }
|
|
15
|
+
static { this.styles = [seriesStyles, tooltipStyles, styles]; }
|
|
16
|
+
};
|
|
17
|
+
HelixScatterChart = __decorate([
|
|
18
|
+
customElement('helix-scatter-chart')
|
|
19
|
+
], HelixScatterChart);
|
|
20
|
+
export { HelixScatterChart };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
+
export const styles = createSheet(`[part="mark"] {
|
|
3
|
+
block-size: 1px;
|
|
4
|
+
inline-size: 1px;
|
|
5
|
+
pointer-events: none;
|
|
6
|
+
position: absolute;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
[part="tooltip-anchor"] {
|
|
10
|
+
inset: 0;
|
|
11
|
+
pointer-events: none;
|
|
12
|
+
position: absolute;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
[part="tooltip-label"] {
|
|
16
|
+
display: block;
|
|
17
|
+
font-weight: var(--helix-weight-medium);
|
|
18
|
+
margin-block-end: var(--helix-space-2xs);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
[part="tooltip-cell"] {
|
|
22
|
+
align-items: baseline;
|
|
23
|
+
column-gap: var(--helix-space-sm);
|
|
24
|
+
display: grid;
|
|
25
|
+
grid-template-columns: 0.5em minmax(0, 1fr) auto;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
[part="tooltip-name"] {
|
|
29
|
+
grid-column: 2;
|
|
30
|
+
|
|
31
|
+
opacity: 0.72;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
[part="tooltip-value"] {
|
|
35
|
+
font-variant-numeric: tabular-nums;
|
|
36
|
+
grid-column: 3;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
[part="tooltip-cell"][data-series]::before {
|
|
40
|
+
block-size: 0.5em;
|
|
41
|
+
border-radius: var(--helix-radii-full);
|
|
42
|
+
content: "";
|
|
43
|
+
grid-column: 1;
|
|
44
|
+
inline-size: 0.5em;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
[part="tooltip-cell"][data-series="1"]::before {
|
|
48
|
+
background-color: var(--chart-series-1);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
[part="tooltip-cell"][data-series="2"]::before {
|
|
52
|
+
background-color: var(--chart-series-2);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
[part="tooltip-cell"][data-series="3"]::before {
|
|
56
|
+
background-color: var(--chart-series-3);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
[part="tooltip-cell"][data-series="4"]::before {
|
|
60
|
+
background-color: var(--chart-series-4);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
[part="tooltip-cell"][data-series="5"]::before {
|
|
64
|
+
background-color: var(--chart-series-5);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
[part="tooltip-cell"][data-series="6"]::before {
|
|
68
|
+
background-color: var(--chart-series-6);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
[part="tooltip-cell"][data-series="7"]::before {
|
|
72
|
+
background-color: var(--chart-series-7);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
[part="tooltip-cell"][data-series="8"]::before {
|
|
76
|
+
background-color: var(--chart-series-8);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
[part="tooltip-cell"][data-series="9"]::before {
|
|
80
|
+
background-color: var(--chart-series-9);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
[part="tooltip-cell"][data-series="10"]::before {
|
|
84
|
+
background-color: var(--chart-series-10);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
[part="tooltip-cell"][data-series="11"]::before {
|
|
88
|
+
background-color: var(--chart-series-11);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
[part="tooltip-cell"][data-series="12"]::before {
|
|
92
|
+
background-color: var(--chart-series-12);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
[part="tooltip-cell"][data-series="13"]::before {
|
|
96
|
+
background-color: var(--chart-series-13);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
[part="tooltip-cell"][data-series="14"]::before {
|
|
100
|
+
background-color: var(--chart-series-14);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
[part="tooltip-cell"][data-series="15"]::before {
|
|
104
|
+
background-color: var(--chart-series-15);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
[part="tooltip-cell"][data-series="16"]::before {
|
|
108
|
+
background-color: var(--chart-series-16);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
[part="tooltip-cell"][data-series="17"]::before {
|
|
112
|
+
background-color: var(--chart-series-17);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
[part="tooltip-cell"][data-series="18"]::before {
|
|
116
|
+
background-color: var(--chart-series-18);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
[part="tooltip-cell"][data-series="19"]::before {
|
|
120
|
+
background-color: var(--chart-series-19);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
[part="tooltip-cell"][data-series="20"]::before {
|
|
124
|
+
background-color: var(--chart-series-20);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
[part="tooltip-cell"][data-series="21"]::before {
|
|
128
|
+
background-color: var(--chart-series-21);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
[part="tooltip-cell"][data-series="22"]::before {
|
|
132
|
+
background-color: var(--chart-series-22);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
[part="tooltip-cell"][data-series="23"]::before {
|
|
136
|
+
background-color: var(--chart-series-23);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
[part="tooltip-cell"][data-series="24"]::before {
|
|
140
|
+
background-color: var(--chart-series-24);
|
|
141
|
+
}`);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { HelixSkipLink } from './root/skip-link-root.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { HelixSkipLink } from './root/skip-link-root.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
+
export const styles = createSheet(`:host {
|
|
3
|
+
display: block;
|
|
4
|
+
inset-block-start: var(--helix-space-sm);
|
|
5
|
+
inset-inline-start: var(--helix-space-sm);
|
|
6
|
+
position: fixed;
|
|
7
|
+
z-index: var(--helix-layer-overlay);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
[part="link"] {
|
|
11
|
+
background-color: var(--helix-color-surface-inverse);
|
|
12
|
+
border: var(--skip-link-border-width, var(--helix-border-floating)) solid
|
|
13
|
+
var(--skip-link-border-color, var(--helix-color-border));
|
|
14
|
+
border-radius: var(--helix-radii-sm);
|
|
15
|
+
box-shadow: var(--skip-link-shadow, var(--helix-shadow-floating));
|
|
16
|
+
color: var(--helix-color-foreground-inverse);
|
|
17
|
+
display: inline-block;
|
|
18
|
+
font-family: var(--helix-font-sans);
|
|
19
|
+
font-size: var(--helix-text-sm);
|
|
20
|
+
font-weight: var(--helix-weight-medium);
|
|
21
|
+
line-height: var(--helix-leading-normal);
|
|
22
|
+
padding-block: var(--helix-space-sm);
|
|
23
|
+
padding-inline: var(--helix-space-md);
|
|
24
|
+
text-decoration: none;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
[part="link"]:focus-visible {
|
|
28
|
+
outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
|
|
29
|
+
outline-offset: var(--helix-size-focus-offset);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@media print {
|
|
33
|
+
:host {
|
|
34
|
+
display: none;
|
|
35
|
+
}
|
|
36
|
+
}`);
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { HelixHeadlessSkipLink } from '@fusion.dev/helix-headless/skip-link';
|
|
2
|
+
import type { CSSResultGroup } from 'lit';
|
|
3
|
+
/**
|
|
4
|
+
* @summary The first stop on a page, which moves the reader past everything
|
|
5
|
+
* repeated on every page.
|
|
6
|
+
*
|
|
7
|
+
* @description
|
|
8
|
+
* Out of sight until the keyboard reaches it, then in the corner of the
|
|
9
|
+
* viewport and impossible to miss. The hiding is the base layer's visually
|
|
10
|
+
* hidden helper, so the link stays in the tab order and in the accessibility
|
|
11
|
+
* tree while nobody can see it; `display: none` would have taken it out of
|
|
12
|
+
* both. The reveal is this sheet's.
|
|
13
|
+
*
|
|
14
|
+
* **Fixed to the viewport rather than placed where it sits in the document**,
|
|
15
|
+
* because it is first in the document and the page may already be scrolled
|
|
16
|
+
* when focus arrives, by a restored position or an anchor in the address. A
|
|
17
|
+
* link revealed above the top of the screen is revealed to nobody.
|
|
18
|
+
*
|
|
19
|
+
* Put it first inside `<body>`, before the header, and give the content
|
|
20
|
+
* region the id its `href` names.
|
|
21
|
+
*
|
|
22
|
+
* @since 0.1.0
|
|
23
|
+
* @status experimental
|
|
24
|
+
* @category navigation
|
|
25
|
+
* @documentation https://helix.fusion.dev/components/skip-link
|
|
26
|
+
*
|
|
27
|
+
* @cssproperty --skip-link-border-color - Color of the revealed link's edge.
|
|
28
|
+
* @cssproperty --skip-link-border-width - Width of the revealed link's edge. Follows
|
|
29
|
+
* `--helix-border-floating`, which is `0`, so the link is told apart by its lift unless a
|
|
30
|
+
* theme says otherwise.
|
|
31
|
+
* @cssproperty --skip-link-shadow - Lift under the revealed link. Follows
|
|
32
|
+
* `--helix-shadow-floating`, since it sits over whatever the page has at its corner.
|
|
33
|
+
*/
|
|
34
|
+
export declare class HelixSkipLink extends HelixHeadlessSkipLink {
|
|
35
|
+
static tier: string;
|
|
36
|
+
static styles: CSSResultGroup;
|
|
37
|
+
}
|
|
38
|
+
declare global {
|
|
39
|
+
interface HTMLElementTagNameMap {
|
|
40
|
+
'helix-skip-link': HelixSkipLink;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
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 { HelixHeadlessSkipLink } from '@fusion.dev/helix-headless/skip-link';
|
|
9
|
+
import { styles } from './skip-link-root.css.js';
|
|
10
|
+
let HelixSkipLink = class HelixSkipLink extends HelixHeadlessSkipLink {
|
|
11
|
+
static { this.tier = 'helix-'; }
|
|
12
|
+
static { this.styles = styles; }
|
|
13
|
+
};
|
|
14
|
+
HelixSkipLink = __decorate([
|
|
15
|
+
customElement('helix-skip-link')
|
|
16
|
+
], HelixSkipLink);
|
|
17
|
+
export { HelixSkipLink };
|
|
@@ -105,7 +105,11 @@ z-index: 1;
|
|
|
105
105
|
|
|
106
106
|
[part="label"] {
|
|
107
107
|
--helix-size-control: var(--helix-size-control-sm);
|
|
108
|
+
--helix-size-control-loose: calc(var(--helix-size-control) * 1.2);
|
|
109
|
+
--helix-size-control-tight: calc(var(--helix-size-control) * 0.8);
|
|
108
110
|
--helix-size-icon: var(--helix-size-icon-sm);
|
|
111
|
+
--helix-size-icon-loose: calc(var(--helix-size-icon) * 1.2);
|
|
112
|
+
--helix-size-icon-tight: calc(var(--helix-size-icon) * 0.8);
|
|
109
113
|
--helix-space-control: var(--_step-inset);
|
|
110
114
|
--helix-text-control: var(--helix-text-sm);
|
|
111
115
|
--button-foreground-color: var(--helix-color-foreground-muted);
|
|
@@ -17,4 +17,70 @@ font-weight: var(--helix-weight-semibold);
|
|
|
17
17
|
min-block-size: var(--helix-size-control-loose);
|
|
18
18
|
min-inline-size: 0;
|
|
19
19
|
padding-inline-end: var(--helix-space-md);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
[part="column"] {
|
|
23
|
+
position: relative;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
[part="sort"] {
|
|
27
|
+
all: unset;
|
|
28
|
+
align-items: center;
|
|
29
|
+
box-sizing: border-box;
|
|
30
|
+
cursor: pointer;
|
|
31
|
+
display: inline-flex;
|
|
32
|
+
flex: 1;
|
|
33
|
+
gap: var(--helix-space-2xs);
|
|
34
|
+
min-inline-size: 0;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
[part="sort"]:focus-visible,
|
|
38
|
+
[part="grip"]:focus-visible,
|
|
39
|
+
[part="resizer"]:focus-visible {
|
|
40
|
+
outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
|
|
41
|
+
outline-offset: var(--helix-size-focus-offset);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
[part="grip"] {
|
|
45
|
+
all: unset;
|
|
46
|
+
align-items: center;
|
|
47
|
+
border-radius: var(--helix-radii-sm);
|
|
48
|
+
box-sizing: border-box;
|
|
49
|
+
color: var(--helix-color-foreground-muted);
|
|
50
|
+
cursor: grab;
|
|
51
|
+
display: inline-flex;
|
|
52
|
+
flex: none;
|
|
53
|
+
margin-inline-end: var(--helix-space-2xs);
|
|
54
|
+
touch-action: none;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
[part="grip"]:active {
|
|
58
|
+
cursor: grabbing;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
[part="grip-mark"] {
|
|
62
|
+
block-size: 1em;
|
|
63
|
+
inline-size: 1em;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
[part="resizer"] {
|
|
67
|
+
cursor: col-resize;
|
|
68
|
+
inline-size: var(--helix-space-sm);
|
|
69
|
+
inset-block: 0;
|
|
70
|
+
inset-inline-end: 0;
|
|
71
|
+
position: absolute;
|
|
72
|
+
touch-action: none;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
[part="resizer"]::after {
|
|
76
|
+
border-inline-end: var(--helix-border-thin) solid transparent;
|
|
77
|
+
content: "";
|
|
78
|
+
inset-block: var(--helix-space-xs);
|
|
79
|
+
inset-inline-end: 0;
|
|
80
|
+
position: absolute;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
[part="resizer"]:hover::after,
|
|
84
|
+
[part="resizer"]:focus-visible::after {
|
|
85
|
+
border-inline-end-color: var(--helix-color-foreground-muted);
|
|
20
86
|
}`);
|
|
@@ -46,6 +46,16 @@ export declare class HelixTag extends HelixHeadlessTag {
|
|
|
46
46
|
*
|
|
47
47
|
* `tone` is semantic color, which is what these are and what `helix-text`
|
|
48
48
|
* already calls them. `helix component`'s `axes` holds the vocabulary.
|
|
49
|
+
*
|
|
50
|
+
* **Not all seven are statuses, and `accent` is the one worth saying out
|
|
51
|
+
* loud**: it is the second emphasis, a rotation off the brand seed rather than
|
|
52
|
+
* a color of its own, so it stays in relation when somebody rethemes.
|
|
53
|
+
* `primary` is the seed itself. The four that are statuses are the four
|
|
54
|
+
* `HelixStatusTone` names, and those are the ones that would carry a glyph
|
|
55
|
+
* somewhere that draws one.
|
|
56
|
+
*
|
|
57
|
+
* `Badge` and `Announcement` take the same seven, all three being a mark that
|
|
58
|
+
* carries a meaning beside something else.
|
|
49
59
|
*/
|
|
50
60
|
tone?: 'accent' | 'danger' | 'info' | 'neutral' | 'primary' | 'success' | 'warning';
|
|
51
61
|
static styles: CSSResultGroup;
|