@fusion.dev/helix 0.25.1 → 0.30.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 +6072 -2074
- package/dist/accordion/root/accordion-root.css.js +1 -2
- package/dist/announcement/root/announcement-root.css.js +0 -1
- package/dist/area-chart/root/area-chart-root.css.js +2 -1
- package/dist/area-chart/root/area-chart-root.d.ts +1 -1
- package/dist/aura/{root/aura-axis.d.ts → axis.d.ts} +2 -2
- package/dist/aura/root/aura-root.d.ts +5 -1
- package/dist/aura/root/aura-root.js +3 -3
- package/dist/avatar/root/avatar-root.css.js +1 -1
- package/dist/bar-chart/root/bar-chart-root.css.js +2 -2
- package/dist/bar-chart/root/bar-chart-root.d.ts +1 -1
- package/dist/blockquote/root/blockquote-root.css.js +1 -2
- package/dist/breadcrumbs/root/breadcrumbs-root.css.js +1 -1
- package/dist/callout/root/callout-root.css.js +0 -1
- package/dist/carousel/root/carousel-root.css.js +0 -1
- package/dist/chat/message/chat-message.css.js +4 -1
- package/dist/chat/root/chat-root.css.js +5 -1
- package/dist/chat/root/chat-root.js +2 -1
- package/dist/checkbox/root/checkbox-root.css.js +1 -1
- package/dist/checkbox/root/checkbox-root.d.ts +4 -3
- package/dist/checkbox-group/root/checkbox-group-root.css.js +0 -1
- package/dist/code/root/code-root.css.js +0 -1
- package/dist/code-block/root/code-block-root.css.js +0 -1
- package/dist/color-input/root/color-input-root.css.js +5 -82
- package/dist/color-input/root/color-input-root.js +11 -1
- package/dist/color-picker/root/color-picker-root.js +1 -1
- package/dist/combobox/root/combobox-root.css.js +4 -83
- package/dist/combobox/root/combobox-root.js +12 -1
- package/dist/data-table/root/data-table-root.css.js +0 -8
- package/dist/data-table/root/data-table-root.js +2 -1
- package/dist/date-input/root/date-input-root.css.js +4 -80
- package/dist/date-input/root/date-input-root.js +12 -1
- package/dist/divider/root/divider-root.css.js +1 -1
- package/dist/donut-chart/root/donut-chart-root.css.js +3 -2
- package/dist/drilldown/root/drilldown-root.css.js +0 -11
- package/dist/drilldown/root/drilldown-root.js +2 -1
- package/dist/empty/root/empty-root.css.js +1 -2
- package/dist/file-input/root/file-input-root.css.js +3 -21
- package/dist/file-input/root/file-input-root.js +9 -2
- package/dist/filter-input/root/filter-input-root.css.js +4 -82
- package/dist/filter-input/root/filter-input-root.js +7 -1
- package/dist/flex/root/flex-root.css.js +1 -1
- package/dist/grid/root/grid-root.css.js +1 -1
- package/dist/icon/root/icon-root.css.js +1 -1
- package/dist/image/root/image-root.css.js +1 -1
- package/dist/input/root/input-root.css.js +0 -32
- package/dist/input/root/input-root.js +9 -2
- package/dist/legend/root/legend-root.css.js +1 -2
- package/dist/line-chart/root/line-chart-root.css.js +2 -2
- package/dist/line-chart/root/line-chart-root.d.ts +3 -1
- package/dist/list/root/list-root.css.js +1 -1
- package/dist/listbox/root/listbox-root.css.js +2 -8
- package/dist/listbox/root/listbox-root.js +7 -1
- package/dist/loader/root/loader-root.css.js +9 -5
- package/dist/menu/root/menu-root.css.js +4 -64
- package/dist/menu/root/menu-root.js +9 -1
- package/dist/meter/root/meter-root.css.js +0 -1
- package/dist/notifications/group/notification-group.css.js +1 -0
- package/dist/notifications/notification/notification.js +1 -1
- package/dist/notifications/root/notifications-root.css.js +2 -7
- package/dist/notifications/root/notifications-root.js +2 -1
- package/dist/number-input/root/number-input-root.css.js +2 -40
- package/dist/number-input/root/number-input-root.d.ts +2 -0
- package/dist/number-input/root/number-input-root.js +7 -1
- package/dist/option/root/option-root.css.js +0 -1
- package/dist/orb/index.d.ts +1 -1
- package/dist/orb/index.js +1 -1
- package/dist/orb/root/orb-root.d.ts +5 -1
- package/dist/orb/root/orb-root.js +3 -3
- package/dist/outline/root/outline-root.css.js +1 -1
- package/dist/pin-input/root/pin-input-root.css.js +0 -1
- package/dist/progress/root/progress-root.css.js +0 -1
- package/dist/qr-code/root/qr-code-root.css.js +1 -1
- package/dist/quote/root/quote-root.css.js +1 -2
- package/dist/radio/root/radio-root.css.js +5 -2
- package/dist/rating/root/rating-root.css.js +0 -1
- package/dist/scroll-area/root/scroll-area-root.css.js +0 -2
- package/dist/select/root/select-root.css.js +3 -57
- package/dist/select/root/select-root.js +9 -1
- package/dist/shared/chart/series.css.js +4 -1
- package/dist/shared/chart/tooltip.css.js +1 -96
- package/dist/shared/collection/state.css.js +11 -0
- package/dist/shared/field/field-frame.css.d.ts +1 -0
- package/dist/shared/field/field-frame.css.js +36 -0
- package/dist/shared/field/field.css.js +0 -6
- package/dist/shared/floating/entrance.css.d.ts +1 -0
- package/dist/shared/floating/entrance.css.js +39 -0
- package/dist/shared/floating/panel.css.d.ts +1 -0
- package/dist/shared/floating/panel.css.js +18 -0
- package/dist/shared/glyph/glyph.css.d.ts +1 -0
- package/dist/sparkline/root/sparkline-root.css.js +0 -1
- package/dist/speed-dial/root/speed-dial-root.js +1 -1
- package/dist/splitter/root/splitter-root.css.js +0 -2
- package/dist/stat/root/stat-root.css.js +1 -1
- package/dist/steps/root/steps-root.css.js +1 -1
- package/dist/switch/root/switch-root.css.js +0 -1
- package/dist/table/cell/table-cell.d.ts +4 -3
- package/dist/table/root/table-root.css.js +1 -13
- package/dist/table/root/table-root.js +2 -1
- package/dist/table/row/table-row.d.ts +4 -3
- package/dist/tabs/panel/tab-panel.d.ts +3 -3
- package/dist/tabs/root/tabs-root.css.js +0 -1
- package/dist/tabs/tab/tab.d.ts +4 -3
- package/dist/tag/root/tag-root.css.js +1 -1
- package/dist/text/root/text-root.css.js +1 -1
- package/dist/textarea/root/textarea-root.css.js +2 -36
- package/dist/textarea/root/textarea-root.js +7 -1
- package/dist/time-input/root/time-input-root.css.js +7 -82
- package/dist/time-input/root/time-input-root.js +12 -1
- package/dist/time-picker/root/time-picker-root.css.js +0 -1
- package/dist/timeline/root/timeline-root.css.js +1 -1
- package/dist/tooltip/root/tooltip-root.css.js +1 -0
- package/dist/tour/stop/tour-stop.css.js +7 -6
- package/dist/tree/root/tree-root.css.js +1 -12
- package/dist/tree/root/tree-root.js +2 -1
- package/dist/trend/root/trend-root.css.js +1 -1
- package/dist/trend/root/trend-root.js +1 -1
- package/dist/video/root/video-root.css.js +11 -8
- package/dist/video/root/video-root.js +1 -1
- package/dist/video-playlist/menu/video-playlist-menu.js +1 -1
- package/dist/virtual-list/root/virtual-list-root.css.js +0 -2
- package/package.json +9 -8
- package/types/jsx.d.ts +493 -405
- package/types/vue.d.ts +142 -129
- /package/dist/aura/{root/aura-axis.js → axis.js} +0 -0
- /package/dist/aura/{root/aura-shader.d.ts → shader.d.ts} +0 -0
- /package/dist/aura/{root/aura-shader.js → shader.js} +0 -0
- /package/dist/orb/{root/orb-color.d.ts → color.d.ts} +0 -0
- /package/dist/orb/{root/orb-color.js → color.js} +0 -0
- /package/dist/orb/{root/orb-shapes.d.ts → shapes.d.ts} +0 -0
- /package/dist/orb/{root/orb-shapes.js → shapes.js} +0 -0
- /package/dist/{icon/glyph.css.d.ts → shared/collection/state.css.d.ts} +0 -0
- /package/dist/{icon → shared/glyph}/glyph.css.js +0 -0
|
@@ -24,7 +24,7 @@ import '../../tooltip/index.js';
|
|
|
24
24
|
* @cssproperty --area-chart-fill-strength - How much of its series' color a band takes, as a percentage mixed toward the page.
|
|
25
25
|
* @cssproperty --area-chart-gap - Space between the drawing and its labels.
|
|
26
26
|
* @cssproperty --area-chart-gridline-color - One rule across the plot, under `gridlines`.
|
|
27
|
-
* @cssproperty --area-chart-width - Thickness of a band's top edge
|
|
27
|
+
* @cssproperty --area-chart-width - Thickness of a band's top edge, over `--chart-stroke`.
|
|
28
28
|
*/
|
|
29
29
|
export declare class HelixAreaChart extends HelixHeadlessAreaChart {
|
|
30
30
|
/** The styled tier, so the tooltip this renders is the styled one. */
|
|
@@ -16,13 +16,13 @@
|
|
|
16
16
|
* form**, which is deliberate and is what makes the round trip worth running.
|
|
17
17
|
* A closed form checked against its own algebra proves only that the algebra
|
|
18
18
|
* was inverted correctly. Written as the same three operations `main()`
|
|
19
|
-
* performs, in the same order, it is a claim about `
|
|
19
|
+
* performs, in the same order, it is a claim about `shader.ts`, and the
|
|
20
20
|
* day someone changes how that file handles the aspect this stops agreeing.
|
|
21
21
|
*/
|
|
22
22
|
/**
|
|
23
23
|
* Where the shader's axis crosses the top edge, as a fraction of the width.
|
|
24
24
|
*
|
|
25
|
-
* Follows `main()` in `
|
|
25
|
+
* Follows `main()` in `shader.ts`:
|
|
26
26
|
*
|
|
27
27
|
* 1. `p.x *= aspect` stretches the frame before anything rotates, so the tilt
|
|
28
28
|
* the rotation takes is a slope in the stretched frame rather than on
|
|
@@ -22,6 +22,10 @@ import type { CSSResultGroup, TemplateResult } from 'lit';
|
|
|
22
22
|
* **It stops when nobody is looking**, off screen and in a background tab, and
|
|
23
23
|
* `prefers-reduced-motion` gets one still frame rather than an empty box.
|
|
24
24
|
*
|
|
25
|
+
* Styled only, and with behavior, which the tier split does not otherwise
|
|
26
|
+
* allow: the behavior is drawing to a canvas, so there is no structure a
|
|
27
|
+
* consumer could restyle and nothing for a headless twin to hold.
|
|
28
|
+
*
|
|
25
29
|
* @since 0.1.0
|
|
26
30
|
* @status experimental
|
|
27
31
|
* @category media
|
|
@@ -373,7 +377,7 @@ export declare class HelixAura extends HelixElement {
|
|
|
373
377
|
* business knowing when: it is read once per frame from numbers already
|
|
374
378
|
* there.
|
|
375
379
|
*
|
|
376
|
-
* The solve is `tiltFor` in `
|
|
380
|
+
* The solve is `tiltFor` in `axis.ts` rather than an expression here, so
|
|
377
381
|
* it is callable and `aura-root.dom.spec.ts` runs it against a model of the
|
|
378
382
|
* shader in both directions.
|
|
379
383
|
*/
|
|
@@ -8,9 +8,9 @@ var HelixAura_1;
|
|
|
8
8
|
import { customElement, HelixElement, TokenColorController, } from '@fusion.dev/helix-core';
|
|
9
9
|
import { html } from 'lit';
|
|
10
10
|
import { property } from 'lit/decorators.js';
|
|
11
|
-
import { tiltFor } from '
|
|
11
|
+
import { tiltFor } from '../axis.js';
|
|
12
|
+
import { FRAGMENT, INTERACTIONS, SHAPES, VERTEX } from '../shader.js';
|
|
12
13
|
import { styles } from './aura-root.css.js';
|
|
13
|
-
import { FRAGMENT, INTERACTIONS, SHAPES, VERTEX } from './aura-shader.js';
|
|
14
14
|
const MAX_CANVAS_EDGE = 4096;
|
|
15
15
|
const MAX_CANVAS_PIXELS = 4_194_304;
|
|
16
16
|
const OPENING_PATIENCE = 500;
|
|
@@ -118,7 +118,7 @@ let HelixAura = class HelixAura extends HelixElement {
|
|
|
118
118
|
};
|
|
119
119
|
}
|
|
120
120
|
static { HelixAura_1 = this; }
|
|
121
|
-
static { this.styles =
|
|
121
|
+
static { this.styles = styles; }
|
|
122
122
|
static { this.CONTEXT = {
|
|
123
123
|
alpha: true,
|
|
124
124
|
antialias: false,
|
|
@@ -127,7 +127,8 @@ fill: none;
|
|
|
127
127
|
stroke: var(--bar-chart-line-color, var(--_bar-chart-series, var(--helix-color-series-1)));
|
|
128
128
|
stroke-linecap: round;
|
|
129
129
|
stroke-linejoin: round;
|
|
130
|
-
|
|
130
|
+
|
|
131
|
+
stroke-width: var(--bar-chart-line-width, var(--_chart-stroke));
|
|
131
132
|
vector-effect: non-scaling-stroke;
|
|
132
133
|
}
|
|
133
134
|
|
|
@@ -283,7 +284,6 @@ stop-opacity: calc(0.35 * var(--helix-material-opacity));
|
|
|
283
284
|
|
|
284
285
|
@media print {
|
|
285
286
|
:host {
|
|
286
|
-
box-shadow: none;
|
|
287
287
|
print-color-adjust: exact;
|
|
288
288
|
}
|
|
289
289
|
}`);
|
|
@@ -25,7 +25,7 @@ import '../../tooltip/index.js';
|
|
|
25
25
|
* @cssproperty --bar-chart-gap - Space between the drawing and its labels.
|
|
26
26
|
* @cssproperty --bar-chart-gridline-color - One rule across the plot, under `gridlines`.
|
|
27
27
|
* @cssproperty --bar-chart-line-color - A `lines` series, overriding its series color.
|
|
28
|
-
* @cssproperty --bar-chart-line-width - Thickness of a `lines` series
|
|
28
|
+
* @cssproperty --bar-chart-line-width - Thickness of a `lines` series, over `--chart-stroke`.
|
|
29
29
|
*/
|
|
30
30
|
export declare class HelixBarChart extends HelixHeadlessBarChart {
|
|
31
31
|
/**
|
|
@@ -182,7 +182,10 @@ padding: var(--helix-space-none);
|
|
|
182
182
|
}
|
|
183
183
|
|
|
184
184
|
[part="indicator"] {
|
|
185
|
-
|
|
185
|
+
|
|
186
|
+
--_chat-typing-cycle: 1.2s;
|
|
187
|
+
|
|
188
|
+
animation: helix-chat-typing var(--_chat-typing-cycle) infinite ease-in-out;
|
|
186
189
|
background-image:
|
|
187
190
|
radial-gradient(circle closest-side, currentColor 90%, transparent),
|
|
188
191
|
radial-gradient(circle closest-side, currentColor 90%, transparent),
|
|
@@ -116,8 +116,12 @@ var(--helix-border-thin)
|
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
[part="empty"],
|
|
119
|
-
[part="history"],
|
|
120
119
|
[part="loading"] {
|
|
120
|
+
--_collection-inset-block: var(--helix-space-lg);
|
|
121
|
+
--_collection-inset-inline: var(--helix-space-none);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
[part="history"] {
|
|
121
125
|
color: var(--helix-color-foreground-subtle);
|
|
122
126
|
font-family: var(--helix-font-sans);
|
|
123
127
|
font-size: var(--helix-text-sm);
|
|
@@ -6,12 +6,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { customElement } from '@fusion.dev/helix-core';
|
|
8
8
|
import { HelixHeadlessChat } from '@fusion.dev/helix-headless/chat';
|
|
9
|
+
import { styles as collectionStateStyles } from '../../shared/collection/state.css.js';
|
|
9
10
|
import { styles } from './chat-root.css.js';
|
|
10
11
|
import '../composer/chat-composer.js';
|
|
11
12
|
import '../message/chat-message.js';
|
|
12
13
|
let HelixChat = class HelixChat extends HelixHeadlessChat {
|
|
13
14
|
static { this.tier = 'helix-'; }
|
|
14
|
-
static { this.styles = styles; }
|
|
15
|
+
static { this.styles = [collectionStateStyles, styles]; }
|
|
15
16
|
};
|
|
16
17
|
HelixChat = __decorate([
|
|
17
18
|
customElement('helix-chat')
|
|
@@ -124,7 +124,7 @@ background-color var(--helix-duration-fast) var(--helix-easing-standard),
|
|
|
124
124
|
border-color var(--helix-duration-fast) var(--helix-easing-standard);
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
:host(:not(
|
|
127
|
+
:host(:not(:disabled)[variant="card"]) [part="field"]:hover {
|
|
128
128
|
border-color: var(--helix-color-foreground-muted);
|
|
129
129
|
}
|
|
130
130
|
|
|
@@ -4,9 +4,10 @@ import type { CSSResultGroup } from 'lit';
|
|
|
4
4
|
* @summary A box that is ticked, or not, or neither.
|
|
5
5
|
*
|
|
6
6
|
* @description
|
|
7
|
-
* The box is the native input
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* The box is the native input with its own drawing switched off, so the control
|
|
8
|
+
* stays a control for anything reading the page while the tick and the
|
|
9
|
+
* indeterminate dash are drawn here, as masks over a mark beside it, and their
|
|
10
|
+
* weight, color and motion are the design system's rather than the browser's.
|
|
10
11
|
*
|
|
11
12
|
* The label sits beside it and the whole thing is the click target, which is
|
|
12
13
|
* what a native `<label>` wrapping a checkbox gives and what a reader expects.
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
-
export const styles = createSheet(
|
|
3
|
-
display: block;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
[part="field"] {
|
|
2
|
+
export const styles = createSheet(`[part="field"] {
|
|
7
3
|
align-items: center;
|
|
8
4
|
background-color: var(--color-input-background-color, var(--helix-color-well));
|
|
9
5
|
block-size: var(--helix-size-control);
|
|
@@ -18,28 +14,6 @@ background-color var(--helix-duration-fast) var(--helix-easing-standard),
|
|
|
18
14
|
border-color var(--helix-duration-fast) var(--helix-easing-standard);
|
|
19
15
|
}
|
|
20
16
|
|
|
21
|
-
[part="control"] {
|
|
22
|
-
all: unset;
|
|
23
|
-
box-sizing: border-box;
|
|
24
|
-
color: var(--helix-color-foreground);
|
|
25
|
-
flex: 1 1 auto;
|
|
26
|
-
font-family: var(--helix-font-sans);
|
|
27
|
-
font-size: var(--helix-text-md);
|
|
28
|
-
font-weight: var(--helix-weight-medium);
|
|
29
|
-
min-inline-size: 0;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
:host(:not(:disabled)) [part="field"]:hover {
|
|
33
|
-
border-color: var(--helix-color-primary);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
:host(:focus-within) [part="field"],
|
|
37
|
-
:host(:focus-within) [part="field"]:hover {
|
|
38
|
-
border-color: var(--helix-color-primary);
|
|
39
|
-
outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
|
|
40
|
-
outline-offset: 0;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
17
|
:host(:disabled) [part="field"] {
|
|
44
18
|
color: var(--helix-color-foreground-subtle);
|
|
45
19
|
}
|
|
@@ -82,14 +56,11 @@ inline-size: var(--helix-size-control);
|
|
|
82
56
|
}
|
|
83
57
|
|
|
84
58
|
[part="surface"] {
|
|
85
|
-
|
|
86
|
-
border: var(--color-input-border-width, var(--helix-border-floating))
|
|
87
|
-
var(--color-input-
|
|
88
|
-
|
|
89
|
-
box-shadow: var(--color-input-shadow, var(--helix-shadow-floating));
|
|
59
|
+
--_floating-border-color: var(--color-input-border-color, var(--helix-color-border));
|
|
60
|
+
--_floating-border-width: var(--color-input-border-width, var(--helix-border-floating));
|
|
61
|
+
--_floating-shadow: var(--color-input-shadow, var(--helix-shadow-floating));
|
|
62
|
+
|
|
90
63
|
inline-size: var(--color-input-panel-size, 264px);
|
|
91
|
-
inset: auto;
|
|
92
|
-
margin: var(--helix-space-none);
|
|
93
64
|
overflow: hidden;
|
|
94
65
|
padding: var(--helix-space-none);
|
|
95
66
|
position: absolute;
|
|
@@ -102,49 +73,10 @@ position: absolute;
|
|
|
102
73
|
display: block;
|
|
103
74
|
}
|
|
104
75
|
|
|
105
|
-
[part="surface"] {
|
|
106
|
-
--_travel: calc(var(--helix-space-2xs) * -1);
|
|
107
|
-
opacity: 0;
|
|
108
|
-
scale: 0.96;
|
|
109
|
-
transform: translateY(var(--_travel));
|
|
110
|
-
transition:
|
|
111
|
-
opacity var(--helix-duration-fast) var(--helix-easing-standard),
|
|
112
|
-
scale var(--helix-duration-fast) var(--helix-easing-emphasized),
|
|
113
|
-
transform var(--helix-duration-fast) var(--helix-easing-emphasized),
|
|
114
|
-
display var(--helix-duration-fast) allow-discrete,
|
|
115
|
-
overlay var(--helix-duration-fast) allow-discrete;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
[part="surface"][data-placement^="top"] {
|
|
119
|
-
--_travel: var(--helix-space-2xs);
|
|
120
|
-
transform-origin: var(--floating-arrow-x, 50%) 100%;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
[part="surface"][data-placement^="bottom"] {
|
|
124
|
-
transform-origin: var(--floating-arrow-x, 50%) 0;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
[part="surface"][data-placed] {
|
|
128
|
-
opacity: 1;
|
|
129
|
-
scale: 1;
|
|
130
|
-
transform: none;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
[part="surface"][hidden] {
|
|
134
|
-
display: none;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
76
|
@media (prefers-reduced-motion: reduce) {
|
|
138
77
|
[part="field"] {
|
|
139
78
|
transition: none;
|
|
140
79
|
}
|
|
141
|
-
|
|
142
|
-
[part="surface"],
|
|
143
|
-
[part="surface"][data-placed] {
|
|
144
|
-
scale: 1;
|
|
145
|
-
transform: none;
|
|
146
|
-
transition: none;
|
|
147
|
-
}
|
|
148
80
|
}
|
|
149
81
|
|
|
150
82
|
:host([variant="swatch"]) [part="field"] {
|
|
@@ -170,14 +102,6 @@ border-radius: var(--color-input-swatch-radius, var(--helix-radii-sm));
|
|
|
170
102
|
inline-size: 100%;
|
|
171
103
|
}
|
|
172
104
|
|
|
173
|
-
:host(:state(invalid)) [part="field"],
|
|
174
|
-
:host(:state(invalid)) [part="field"]:hover,
|
|
175
|
-
:host(:state(invalid):focus-within) [part="field"],
|
|
176
|
-
:host(:state(invalid):focus-within) [part="field"]:hover {
|
|
177
|
-
border-color: var(--helix-color-danger);
|
|
178
|
-
outline-color: var(--helix-color-danger);
|
|
179
|
-
}
|
|
180
|
-
|
|
181
105
|
slot[name="start"]::slotted(*),
|
|
182
106
|
slot[name="end"]::slotted(*) {
|
|
183
107
|
color: var(--helix-color-foreground-subtle);
|
|
@@ -186,7 +110,6 @@ flex: 0 0 auto;
|
|
|
186
110
|
|
|
187
111
|
@media print {
|
|
188
112
|
:host {
|
|
189
|
-
box-shadow: none;
|
|
190
113
|
print-color-adjust: exact;
|
|
191
114
|
}
|
|
192
115
|
}`);
|
|
@@ -8,11 +8,21 @@ import { customElement } from '@fusion.dev/helix-core';
|
|
|
8
8
|
import { HelixHeadlessColorInput } from '@fusion.dev/helix-headless/color-input';
|
|
9
9
|
import '../../color-picker/index.js';
|
|
10
10
|
import { styles as fieldStyles } from '../../shared/field/field.css.js';
|
|
11
|
+
import { styles as fieldFrameStyles } from '../../shared/field/field-frame.css.js';
|
|
11
12
|
import { styles as fieldStackedStyles } from '../../shared/field/field-stacked.css.js';
|
|
13
|
+
import { styles as floatingEntranceStyles } from '../../shared/floating/entrance.css.js';
|
|
14
|
+
import { styles as floatingPanelStyles } from '../../shared/floating/panel.css.js';
|
|
12
15
|
import { styles } from './color-input-root.css.js';
|
|
13
16
|
let HelixColorInput = class HelixColorInput extends HelixHeadlessColorInput {
|
|
14
17
|
static { this.tier = 'helix-'; }
|
|
15
|
-
static { this.styles = [
|
|
18
|
+
static { this.styles = [
|
|
19
|
+
fieldStyles,
|
|
20
|
+
fieldFrameStyles,
|
|
21
|
+
fieldStackedStyles,
|
|
22
|
+
floatingPanelStyles,
|
|
23
|
+
floatingEntranceStyles,
|
|
24
|
+
styles,
|
|
25
|
+
]; }
|
|
16
26
|
};
|
|
17
27
|
HelixColorInput = __decorate([
|
|
18
28
|
customElement('helix-color-input')
|
|
@@ -10,7 +10,7 @@ import '../../button/index.js';
|
|
|
10
10
|
import '../../button-group/index.js';
|
|
11
11
|
import '../../icon/index.js';
|
|
12
12
|
import '../../slider/index.js';
|
|
13
|
-
import { styles as glyphStyles } from '../../
|
|
13
|
+
import { styles as glyphStyles } from '../../shared/glyph/glyph.css.js';
|
|
14
14
|
import { styles } from './color-picker-root.css.js';
|
|
15
15
|
let HelixColorPicker = class HelixColorPicker extends HelixHeadlessColorPicker {
|
|
16
16
|
static { this.tier = 'helix-'; }
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
2
|
export const styles = createSheet(`:host {
|
|
3
|
-
display: flex;
|
|
4
|
-
flex-direction: column;
|
|
5
|
-
gap: var(--helix-space-2xs);
|
|
6
3
|
position: relative;
|
|
7
4
|
}
|
|
8
5
|
|
|
@@ -50,17 +47,6 @@ flex: 0 0 auto;
|
|
|
50
47
|
max-inline-size: 100%;
|
|
51
48
|
}
|
|
52
49
|
|
|
53
|
-
[part="control"] {
|
|
54
|
-
all: unset;
|
|
55
|
-
box-sizing: border-box;
|
|
56
|
-
color: var(--helix-color-foreground);
|
|
57
|
-
flex: 1 1 auto;
|
|
58
|
-
font-family: var(--helix-font-sans);
|
|
59
|
-
font-size: var(--helix-text-md);
|
|
60
|
-
font-weight: var(--helix-weight-medium);
|
|
61
|
-
min-inline-size: 0;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
50
|
[part="field"]:has([part="tags"]) [part="control"] {
|
|
65
51
|
flex: 1 1 var(--combobox-control-size, 4ch);
|
|
66
52
|
}
|
|
@@ -70,25 +56,6 @@ color: var(--helix-color-foreground-subtle);
|
|
|
70
56
|
font-weight: var(--helix-weight-medium);
|
|
71
57
|
}
|
|
72
58
|
|
|
73
|
-
:host(:not(:disabled)) [part="field"]:hover {
|
|
74
|
-
border-color: var(--helix-color-primary);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
:host(:focus-within) [part="field"],
|
|
78
|
-
:host(:focus-within) [part="field"]:hover {
|
|
79
|
-
border-color: var(--helix-color-primary);
|
|
80
|
-
outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
|
|
81
|
-
outline-offset: 0;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
:host(:state(invalid)) [part="field"],
|
|
85
|
-
:host(:state(invalid)) [part="field"]:hover,
|
|
86
|
-
:host(:state(invalid):focus-within) [part="field"],
|
|
87
|
-
:host(:state(invalid):focus-within) [part="field"]:hover {
|
|
88
|
-
border-color: var(--helix-color-danger);
|
|
89
|
-
outline-color: var(--helix-color-danger);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
59
|
:host(:disabled) [part="field"] {
|
|
93
60
|
color: var(--helix-color-foreground-subtle);
|
|
94
61
|
cursor: not-allowed;
|
|
@@ -116,15 +83,12 @@ flex: 0 0 auto;
|
|
|
116
83
|
}
|
|
117
84
|
|
|
118
85
|
[part="surface"] {
|
|
119
|
-
|
|
120
|
-
border: var(--combobox-border-width, var(--helix-border-floating))
|
|
121
|
-
var(--combobox-
|
|
122
|
-
|
|
123
|
-
box-shadow: var(--combobox-shadow, var(--helix-shadow-floating));
|
|
86
|
+
--_floating-border-color: var(--combobox-border-color, var(--helix-color-border));
|
|
87
|
+
--_floating-border-width: var(--combobox-border-width, var(--helix-border-floating));
|
|
88
|
+
--_floating-shadow: var(--combobox-shadow, var(--helix-shadow-floating));
|
|
89
|
+
|
|
124
90
|
box-sizing: border-box;
|
|
125
91
|
inline-size: var(--combobox-panel-size, var(--floating-anchor-inline-size, 100%));
|
|
126
|
-
inset: auto;
|
|
127
|
-
margin: var(--helix-space-none);
|
|
128
92
|
max-block-size: var(--floating-available-block-size, none);
|
|
129
93
|
min-inline-size: max-content;
|
|
130
94
|
overflow: hidden;
|
|
@@ -168,41 +132,6 @@ border: none;
|
|
|
168
132
|
display: block;
|
|
169
133
|
}
|
|
170
134
|
|
|
171
|
-
[part="surface"] {
|
|
172
|
-
--_travel: calc(var(--helix-space-2xs) * -1);
|
|
173
|
-
|
|
174
|
-
opacity: 0;
|
|
175
|
-
scale: 0.96;
|
|
176
|
-
transform: translateY(var(--_travel));
|
|
177
|
-
transition:
|
|
178
|
-
opacity var(--helix-duration-fast) var(--helix-easing-standard),
|
|
179
|
-
scale var(--helix-duration-fast) var(--helix-easing-emphasized),
|
|
180
|
-
transform var(--helix-duration-fast) var(--helix-easing-emphasized),
|
|
181
|
-
display var(--helix-duration-fast) allow-discrete,
|
|
182
|
-
overlay var(--helix-duration-fast) allow-discrete;
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
[part="surface"][data-placement^="top"] {
|
|
186
|
-
--_travel: var(--helix-space-2xs);
|
|
187
|
-
|
|
188
|
-
transform-origin: var(--floating-arrow-x, 50%) 100%;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
[part="surface"][data-placement^="bottom"] {
|
|
192
|
-
transform-origin: var(--floating-arrow-x, 50%) 0;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
[part="surface"][data-placed] {
|
|
196
|
-
opacity: 1;
|
|
197
|
-
scale: 1;
|
|
198
|
-
transform: none;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
[part="surface"][hidden],
|
|
202
|
-
[part="surface"]:not(:popover-open) {
|
|
203
|
-
display: none;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
135
|
@media (prefers-reduced-motion: reduce) {
|
|
207
136
|
[part="field"] {
|
|
208
137
|
transition: none;
|
|
@@ -211,18 +140,10 @@ transition: none;
|
|
|
211
140
|
[part="create"] {
|
|
212
141
|
transition: none;
|
|
213
142
|
}
|
|
214
|
-
|
|
215
|
-
[part="surface"],
|
|
216
|
-
[part="surface"][data-placed] {
|
|
217
|
-
scale: 1;
|
|
218
|
-
transform: none;
|
|
219
|
-
transition: none;
|
|
220
|
-
}
|
|
221
143
|
}
|
|
222
144
|
|
|
223
145
|
@media print {
|
|
224
146
|
:host {
|
|
225
|
-
box-shadow: none;
|
|
226
147
|
print-color-adjust: exact;
|
|
227
148
|
}
|
|
228
149
|
}`);
|
|
@@ -9,12 +9,23 @@ import { HelixHeadlessCombobox } from '@fusion.dev/helix-headless/combobox';
|
|
|
9
9
|
import '../../listbox/index.js';
|
|
10
10
|
import '../../tag/index.js';
|
|
11
11
|
import { styles as fieldStyles } from '../../shared/field/field.css.js';
|
|
12
|
+
import { styles as fieldFrameStyles } from '../../shared/field/field-frame.css.js';
|
|
12
13
|
import { styles as fieldStackedStyles } from '../../shared/field/field-stacked.css.js';
|
|
14
|
+
import { styles as floatingEntranceStyles } from '../../shared/floating/entrance.css.js';
|
|
15
|
+
import { styles as floatingPanelStyles } from '../../shared/floating/panel.css.js';
|
|
13
16
|
import { styles as tagRowStyles } from '../../shared/tags/tags.css.js';
|
|
14
17
|
import { styles } from './combobox-root.css.js';
|
|
15
18
|
let HelixCombobox = class HelixCombobox extends HelixHeadlessCombobox {
|
|
16
19
|
static { this.tier = 'helix-'; }
|
|
17
|
-
static { this.styles = [
|
|
20
|
+
static { this.styles = [
|
|
21
|
+
fieldStyles,
|
|
22
|
+
fieldFrameStyles,
|
|
23
|
+
fieldStackedStyles,
|
|
24
|
+
tagRowStyles,
|
|
25
|
+
floatingPanelStyles,
|
|
26
|
+
floatingEntranceStyles,
|
|
27
|
+
styles,
|
|
28
|
+
]; }
|
|
18
29
|
};
|
|
19
30
|
HelixCombobox = __decorate([
|
|
20
31
|
customElement('helix-combobox')
|
|
@@ -92,14 +92,7 @@ margin-inline-start: auto;
|
|
|
92
92
|
|
|
93
93
|
[part="empty"],
|
|
94
94
|
[part="loading"] {
|
|
95
|
-
color: var(--helix-color-foreground-subtle);
|
|
96
|
-
font-family: var(--helix-font-sans);
|
|
97
|
-
font-size: var(--helix-text-sm);
|
|
98
95
|
grid-column: 1 / -1;
|
|
99
|
-
margin: var(--helix-space-none);
|
|
100
|
-
padding-block: var(--helix-space-md);
|
|
101
|
-
padding-inline: var(--helix-space-sm);
|
|
102
|
-
text-align: center;
|
|
103
96
|
}
|
|
104
97
|
|
|
105
98
|
:host([windowed]) [part="table"] {
|
|
@@ -127,7 +120,6 @@ opacity: 0.5;
|
|
|
127
120
|
@media print {
|
|
128
121
|
:host {
|
|
129
122
|
background-color: transparent;
|
|
130
|
-
box-shadow: none;
|
|
131
123
|
}
|
|
132
124
|
|
|
133
125
|
[part="table"] {
|
|
@@ -6,13 +6,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { customElement } from '@fusion.dev/helix-core';
|
|
8
8
|
import { HelixHeadlessDataTable } from '@fusion.dev/helix-headless/data-table';
|
|
9
|
+
import { styles as collectionStateStyles } from '../../shared/collection/state.css.js';
|
|
9
10
|
import { styles } from './data-table-root.css.js';
|
|
10
11
|
import '../../checkbox/index.js';
|
|
11
12
|
import '../../pagination/index.js';
|
|
12
13
|
import '../../table/index.js';
|
|
13
14
|
let HelixDataTable = class HelixDataTable extends HelixHeadlessDataTable {
|
|
14
15
|
static { this.tier = 'helix-'; }
|
|
15
|
-
static { this.styles = styles; }
|
|
16
|
+
static { this.styles = [collectionStateStyles, styles]; }
|
|
16
17
|
};
|
|
17
18
|
HelixDataTable = __decorate([
|
|
18
19
|
customElement('helix-data-table')
|