@fusion.dev/helix 0.144.0 → 0.145.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 +9978 -916
- package/dist/accordion/item/accordion-item.css.js +14 -3
- package/dist/accordion/item/accordion-item.d.ts +2 -0
- package/dist/aura/palette.d.ts +38 -0
- package/dist/aura/palette.js +22 -0
- package/dist/aura/root/aura-root.css.js +24 -3
- package/dist/aura/root/aura-root.d.ts +42 -7
- package/dist/aura/root/aura-root.js +31 -25
- package/dist/breadcrumbs/breadcrumb/breadcrumb.css.js +7 -7
- package/dist/breadcrumbs/breadcrumb/breadcrumb.d.ts +5 -0
- package/dist/breadcrumbs/root/breadcrumbs-root.css.js +1 -1
- package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +3 -0
- package/dist/breadcrumbs/root/breadcrumbs-root.js +2 -0
- package/dist/button-group/root/button-group-root.d.ts +3 -0
- package/dist/canvas/root/canvas-root.css.js +1 -0
- package/dist/carousel/root/carousel-root.css.js +17 -1
- package/dist/data-table/root/data-table-root.css.js +63 -0
- package/dist/data-table/root/data-table-root.d.ts +1 -0
- package/dist/description-list/item/description-list-item.css.js +11 -0
- package/dist/drilldown/item/drilldown-item.css.js +2 -1
- package/dist/drilldown/root/drilldown-root.css.js +2 -1
- package/dist/element-events.generated.js +58 -9
- package/dist/flex/root/flex-root.css.js +134 -9
- package/dist/flex/root/flex-root.d.ts +51 -5
- package/dist/flex/root/flex-root.js +17 -1
- package/dist/grid/root/grid-root.css.js +114 -11
- package/dist/grid/root/grid-root.d.ts +37 -0
- package/dist/grid/root/grid-root.js +13 -1
- package/dist/list/item/list-item.css.js +21 -1
- package/dist/list/item/list-item.d.ts +3 -0
- package/dist/list/root/list-root.css.js +13 -1
- package/dist/menu/index.d.ts +1 -0
- package/dist/menu/index.js +1 -0
- package/dist/menu/item/menu-item.css.js +15 -1
- package/dist/menu/item/menu-item.d.ts +3 -0
- package/dist/menu/item/menu-item.js +2 -0
- package/dist/menu/section/menu-section.css.d.ts +1 -0
- package/dist/menu/section/menu-section.css.js +14 -0
- package/dist/menu/section/menu-section.d.ts +24 -0
- package/dist/menu/section/menu-section.js +16 -0
- package/dist/navigation/root/navigation-root.css.js +3 -2
- package/dist/navigation/root/navigation-root.d.ts +6 -0
- package/dist/notifications/root/notifications-root.css.js +24 -1
- package/dist/notifications/root/notifications-root.d.ts +1 -0
- package/dist/object-inspector/root/object-inspector-root.css.js +36 -1
- package/dist/object-inspector/root/object-inspector-root.d.ts +4 -1
- package/dist/object-inspector/root/object-inspector-root.js +2 -1
- package/dist/orb/index.d.ts +1 -1
- package/dist/orb/index.js +1 -1
- package/dist/orb/root/orb-root.d.ts +31 -5
- package/dist/orb/root/orb-root.js +33 -4
- package/dist/outline/root/outline-root.css.js +10 -0
- package/dist/outline/root/outline-root.d.ts +7 -0
- package/dist/sandbox/frame.d.ts +63 -0
- package/dist/sandbox/frame.js +132 -0
- package/dist/sandbox/index.d.ts +1 -0
- package/dist/sandbox/index.js +1 -0
- package/dist/sandbox/levels.d.ts +10 -0
- package/dist/sandbox/levels.js +5 -0
- package/dist/sandbox/root/sandbox-root.d.ts +3 -0
- package/dist/sandbox/root/sandbox-root.js +13 -3
- package/dist/sandbox/source/sandbox-source.d.ts +1 -0
- package/dist/sandbox/source/sandbox-source.js +7 -3
- package/dist/sandbox/terminal/sandbox-terminal.css.js +39 -0
- package/dist/sandbox/terminal/sandbox-terminal.d.ts +42 -1
- package/dist/sandbox/terminal/sandbox-terminal.js +47 -3
- package/dist/scroll-area/root/scroll-area-root.css.js +83 -1
- package/dist/scroll-area/root/scroll-area-root.d.ts +6 -0
- package/dist/skip-link/root/skip-link-root.css.js +8 -8
- package/dist/skip-link/root/skip-link-root.d.ts +9 -0
- package/dist/speed-dial/item/speed-dial-item.css.js +11 -4
- package/dist/speed-dial/item/speed-dial-item.d.ts +4 -0
- package/dist/speed-dial/root/speed-dial-root.css.js +7 -3
- package/dist/speed-dial/root/speed-dial-root.d.ts +9 -0
- package/dist/speed-dial/root/speed-dial-root.js +4 -0
- package/dist/steps/step/step.js +2 -1
- package/dist/table/root/table-root.css.js +18 -0
- package/dist/table/root/table-root.d.ts +6 -0
- package/dist/table/root/table-root.js +2 -0
- package/dist/table/row/table-row.css.js +18 -0
- package/dist/table/row/table-row.d.ts +2 -0
- package/dist/table/row/table-row.js +2 -0
- package/dist/tabs/panel/tab-panel.css.js +5 -1
- package/dist/tabs/root/tabs-root.css.js +56 -1
- package/dist/tabs/tab/tab.css.js +5 -1
- package/dist/text/clamp.d.ts +8 -0
- package/dist/text/clamp.js +1 -0
- package/dist/text/root/text-root.css.js +85 -45
- package/dist/text/root/text-root.d.ts +48 -7
- package/dist/text/root/text-root.js +17 -11
- package/dist/timeline/group/timeline-group.css.d.ts +1 -0
- package/dist/timeline/group/timeline-group.css.js +32 -0
- package/dist/timeline/group/timeline-group.d.ts +25 -0
- package/dist/timeline/group/timeline-group.js +16 -0
- package/dist/timeline/index.d.ts +1 -0
- package/dist/timeline/index.js +1 -0
- package/dist/timeline/item/timeline-item.css.js +43 -16
- package/dist/timeline/root/timeline-root.css.js +56 -0
- package/dist/timeline/root/timeline-root.d.ts +26 -0
- package/dist/timeline/root/timeline-root.js +7 -0
- package/dist/toolbar/root/toolbar-root.css.js +3 -0
- package/dist/toolbar/root/toolbar-root.d.ts +3 -0
- package/dist/tree/item/tree-item.css.js +72 -0
- package/dist/tree/item/tree-item.d.ts +10 -0
- package/dist/video/root/video-root.css.js +6 -0
- package/dist/video/root/video-root.d.ts +3 -0
- package/dist/virtual-list/root/virtual-list-root.css.js +5 -0
- package/dist/virtual-list/root/virtual-list-root.d.ts +4 -3
- package/lint.json +1 -1
- package/package.json +6 -6
- package/types/jsx.d.ts +4033 -671
- package/types/svelte.d.ts +2 -0
- package/types/vue.d.ts +1078 -202
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
2
|
export const styles = createSheet(`:host {
|
|
3
3
|
display: block;
|
|
4
|
-
inset-block-start: var(--helix-space-sm);
|
|
5
|
-
inset-inline-start: var(--helix-space-sm);
|
|
4
|
+
inset-block-start: var(--skip-link-inset-block, var(--helix-space-sm));
|
|
5
|
+
inset-inline-start: var(--skip-link-inset-inline, var(--helix-space-sm));
|
|
6
6
|
position: fixed;
|
|
7
7
|
z-index: var(--helix-layer-overlay);
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
[part="link"] {
|
|
11
|
-
background-color: var(--helix-color-surface-inverse);
|
|
11
|
+
background-color: var(--skip-link-background-color, var(--helix-color-surface-inverse));
|
|
12
12
|
border: var(--skip-link-border-width, var(--helix-border-floating)) solid
|
|
13
13
|
var(--skip-link-border-color, var(--helix-color-border));
|
|
14
|
-
border-radius: var(--helix-radii-sm);
|
|
14
|
+
border-radius: var(--skip-link-radius, var(--helix-radii-sm));
|
|
15
15
|
box-shadow: var(--skip-link-shadow, var(--helix-shadow-floating));
|
|
16
|
-
color: var(--helix-color-foreground-inverse);
|
|
16
|
+
color: var(--skip-link-color, var(--helix-color-foreground-inverse));
|
|
17
17
|
display: inline-block;
|
|
18
18
|
font-family: var(--helix-font-sans);
|
|
19
|
-
font-size: var(--helix-text-sm);
|
|
19
|
+
font-size: var(--skip-link-font-size, var(--helix-text-sm));
|
|
20
20
|
font-weight: var(--helix-weight-medium);
|
|
21
21
|
line-height: var(--helix-leading-normal);
|
|
22
|
-
padding-block: var(--helix-space-sm);
|
|
23
|
-
padding-inline: var(--helix-space-md);
|
|
22
|
+
padding-block: var(--skip-link-padding-block, var(--helix-space-sm));
|
|
23
|
+
padding-inline: var(--skip-link-padding-inline, var(--helix-space-md));
|
|
24
24
|
text-decoration: none;
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -22,10 +22,19 @@ import type { CSSResultGroup } from 'lit';
|
|
|
22
22
|
* @aliases Skip navigation, Skip to content
|
|
23
23
|
* @documentation https://fusion.dev/helix/components/skip-link
|
|
24
24
|
*
|
|
25
|
+
* @cssproperty --skip-link-background-color - The background of the link while it is shown.
|
|
25
26
|
* @cssproperty --skip-link-border-color - The border color of the link while it is shown.
|
|
26
27
|
* @cssproperty --skip-link-border-width - The border width of the link while it is shown. Follows
|
|
27
28
|
* `--helix-border-floating`, which is `0`, so the link is set apart by its shadow unless a
|
|
28
29
|
* theme sets a border.
|
|
30
|
+
* @cssproperty --skip-link-color - The text color of the link while it is shown.
|
|
31
|
+
* @cssproperty --skip-link-font-size - The size of the link's text.
|
|
32
|
+
* @cssproperty --skip-link-inset-block - How far the shown link sits from the top of the viewport.
|
|
33
|
+
* @cssproperty --skip-link-inset-inline - How far the shown link sits from the start edge of the
|
|
34
|
+
* viewport.
|
|
35
|
+
* @cssproperty --skip-link-padding-block - The space above and below the link's text.
|
|
36
|
+
* @cssproperty --skip-link-padding-inline - The space either side of the link's text.
|
|
37
|
+
* @cssproperty --skip-link-radius - The corner radius of the link.
|
|
29
38
|
* @cssproperty --skip-link-shadow - The shadow under the link while it is shown. Follows
|
|
30
39
|
* `--helix-shadow-floating`, because the link sits over the corner of the page.
|
|
31
40
|
*/
|
|
@@ -26,10 +26,10 @@ opacity: 0.5;
|
|
|
26
26
|
|
|
27
27
|
align-items: center;
|
|
28
28
|
aspect-ratio: 1;
|
|
29
|
-
background-color: var(--helix-color-surface-overlay);
|
|
29
|
+
background-color: var(--speed-dial-item-background-color, var(--helix-color-surface-overlay));
|
|
30
30
|
border-radius: var(--helix-radii-full);
|
|
31
31
|
box-shadow: var(--helix-shadow-md);
|
|
32
|
-
color: var(--helix-color-foreground);
|
|
32
|
+
color: var(--speed-dial-item-color, var(--helix-color-foreground));
|
|
33
33
|
display: inline-flex;
|
|
34
34
|
inline-size: var(--speed-dial-item-size, var(--helix-size-control-tight));
|
|
35
35
|
justify-content: center;
|
|
@@ -57,13 +57,20 @@ outline-offset: var(--helix-size-focus-offset);
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
[part="label"] {
|
|
60
|
-
background-color: var(--helix-color-surface-overlay);
|
|
60
|
+
background-color: var(--speed-dial-label-background-color, var(--helix-color-surface-overlay));
|
|
61
61
|
border-radius: var(--helix-radii-sm);
|
|
62
62
|
box-shadow: var(--helix-shadow-sm);
|
|
63
|
-
color: var(--helix-color-foreground);
|
|
63
|
+
color: var(--speed-dial-label-color, var(--helix-color-foreground));
|
|
64
64
|
font-family: var(--helix-font-sans);
|
|
65
65
|
font-size: var(--helix-text-sm);
|
|
66
66
|
font-weight: var(--helix-weight-medium);
|
|
67
|
+
opacity: var(--_speed-dial-label-opacity, 1);
|
|
67
68
|
padding: var(--helix-space-2xs) var(--helix-space-xs);
|
|
69
|
+
transition: opacity var(--helix-duration-fast) var(--helix-easing-standard);
|
|
68
70
|
white-space: nowrap;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
[part="item"]:hover [part="label"],
|
|
74
|
+
[part="item"]:focus-visible [part="label"] {
|
|
75
|
+
opacity: 1;
|
|
69
76
|
}`);
|
|
@@ -14,7 +14,11 @@ import type { CSSResultGroup } from 'lit';
|
|
|
14
14
|
* @aliases Speed dial action, FAB action, Quick action
|
|
15
15
|
* @documentation https://fusion.dev/helix/components/speed-dial
|
|
16
16
|
*
|
|
17
|
+
* @cssproperty --speed-dial-item-background-color - Fill of the round icon.
|
|
18
|
+
* @cssproperty --speed-dial-item-color - Color of the icon.
|
|
17
19
|
* @cssproperty --speed-dial-item-size - Edge length of the icon.
|
|
20
|
+
* @cssproperty --speed-dial-label-background-color - Fill of the chip holding the action's name.
|
|
21
|
+
* @cssproperty --speed-dial-label-color - Color of the action's name.
|
|
18
22
|
*/
|
|
19
23
|
export declare class HelixSpeedDialItem extends HelixHeadlessSpeedDialItem {
|
|
20
24
|
static styles: CSSResultGroup;
|
|
@@ -31,11 +31,11 @@ display: none;
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
[part="actions"] {
|
|
34
|
-
--_dial-from: var(--helix-space-md);
|
|
34
|
+
--_dial-from: var(--speed-dial-travel, var(--helix-space-md));
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
[part="actions"][data-placement^="bottom"] {
|
|
38
|
-
--_dial-from: calc(var(--helix-space-md) * -1);
|
|
38
|
+
--_dial-from: calc(var(--speed-dial-travel, var(--helix-space-md)) * -1);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
[part="actions"] ::slotted(*) {
|
|
@@ -55,7 +55,7 @@ translate: 0 0;
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
[part="actions"] {
|
|
58
|
-
--_speed-dial-stagger: calc(var(--helix-duration-fast) / 3);
|
|
58
|
+
--_speed-dial-stagger: var(--speed-dial-stagger, calc(var(--helix-duration-fast) / 3));
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
[part="actions"][data-placed] ::slotted(:nth-last-child(2)) {
|
|
@@ -140,4 +140,8 @@ outline-offset: var(--helix-size-focus-offset);
|
|
|
140
140
|
:host {
|
|
141
141
|
display: none;
|
|
142
142
|
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
:host([labels="hover"]) {
|
|
146
|
+
--_speed-dial-label-opacity: 0;
|
|
143
147
|
}`);
|
|
@@ -15,9 +15,18 @@ import '../../icon/index.js';
|
|
|
15
15
|
* @documentation https://fusion.dev/helix/components/speed-dial
|
|
16
16
|
*
|
|
17
17
|
* @cssproperty --speed-dial-gap - Space between the actions.
|
|
18
|
+
* @cssproperty --speed-dial-stagger - The wait between one action arriving and the next.
|
|
19
|
+
* @cssproperty --speed-dial-travel - How far each action moves as it arrives.
|
|
18
20
|
*/
|
|
19
21
|
export declare class HelixSpeedDial extends HelixHeadlessSpeedDial {
|
|
20
22
|
static styles: CSSResultGroup;
|
|
23
|
+
/**
|
|
24
|
+
* When the actions' names show. Unset, always, beside each action. `hover`
|
|
25
|
+
* shows a name only while its action is under the pointer or has focus, as
|
|
26
|
+
* a tooltip does, for a dial whose icons speak for themselves. The names stay
|
|
27
|
+
* the actions' accessible names either way.
|
|
28
|
+
*/
|
|
29
|
+
labels?: 'hover';
|
|
21
30
|
}
|
|
22
31
|
declare global {
|
|
23
32
|
interface HTMLElementTagNameMap {
|
|
@@ -6,12 +6,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { customElement } from '@fusion.dev/helix-core';
|
|
8
8
|
import { HelixHeadlessSpeedDial } from '@fusion.dev/helix-headless/speed-dial';
|
|
9
|
+
import { property } from 'lit/decorators.js';
|
|
9
10
|
import { styles as glyphStyles } from '../../shared/glyph/glyph.css.js';
|
|
10
11
|
import { styles } from './speed-dial-root.css.js';
|
|
11
12
|
import '../../icon/index.js';
|
|
12
13
|
let HelixSpeedDial = class HelixSpeedDial extends HelixHeadlessSpeedDial {
|
|
13
14
|
static { this.styles = [glyphStyles, styles]; }
|
|
14
15
|
};
|
|
16
|
+
__decorate([
|
|
17
|
+
property({ reflect: true })
|
|
18
|
+
], HelixSpeedDial.prototype, "labels", void 0);
|
|
15
19
|
HelixSpeedDial = __decorate([
|
|
16
20
|
customElement('helix-speed-dial')
|
|
17
21
|
], HelixSpeedDial);
|
package/dist/steps/step/step.js
CHANGED
|
@@ -7,10 +7,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { customElement } from '@fusion.dev/helix-core';
|
|
8
8
|
import { HelixHeadlessStep } from '@fusion.dev/helix-headless/steps';
|
|
9
9
|
import '../../button/index.js';
|
|
10
|
+
import { styles as liveStyles } from '../../shared/live/live.css.js';
|
|
10
11
|
import { styles } from './step.css.js';
|
|
11
12
|
let HelixStep = class HelixStep extends HelixHeadlessStep {
|
|
12
13
|
static { this.tier = 'helix-'; }
|
|
13
|
-
static { this.styles = styles; }
|
|
14
|
+
static { this.styles = [liveStyles, styles]; }
|
|
14
15
|
};
|
|
15
16
|
HelixStep = __decorate([
|
|
16
17
|
customElement('helix-step')
|
|
@@ -15,6 +15,24 @@ inline-size: 100%;
|
|
|
15
15
|
display: contents;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
+
::slotted([slot="heading"]) {
|
|
19
|
+
color: var(--table-title-color, var(--helix-color-foreground));
|
|
20
|
+
display: block;
|
|
21
|
+
font-family: var(--helix-font-sans);
|
|
22
|
+
font-size: var(--table-title-text, var(--helix-text-md));
|
|
23
|
+
font-weight: var(--helix-weight-semibold);
|
|
24
|
+
margin-block: var(--helix-space-none) var(--table-title-gap, var(--helix-space-sm));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
[part="select-all"] {
|
|
28
|
+
align-items: center;
|
|
29
|
+
border-block-end: var(--helix-border-thin) solid var(--helix-color-border);
|
|
30
|
+
box-sizing: border-box;
|
|
31
|
+
display: flex;
|
|
32
|
+
min-block-size: var(--helix-size-control-loose);
|
|
33
|
+
padding-inline: var(--helix-space-none) var(--helix-space-md);
|
|
34
|
+
}
|
|
35
|
+
|
|
18
36
|
:host([loading]) [part="table"] {
|
|
19
37
|
opacity: 0.5;
|
|
20
38
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { HelixHeadlessTable } from '@fusion.dev/helix-headless/table';
|
|
2
2
|
import type { CSSResultGroup } from 'lit';
|
|
3
|
+
import '../../checkbox/index.js';
|
|
3
4
|
/**
|
|
4
5
|
* @summary A table of data, laid out on a grid.
|
|
5
6
|
*
|
|
@@ -13,13 +14,18 @@ import type { CSSResultGroup } from 'lit';
|
|
|
13
14
|
* @documentation https://fusion.dev/helix/components/table
|
|
14
15
|
*
|
|
15
16
|
* @slot - The table's rows.
|
|
17
|
+
* @slot heading - Words that name the table, shown above it in the weight of a heading.
|
|
16
18
|
*
|
|
17
19
|
* @csspart live - A live region that repeats the empty and loading text, so screen readers announce it when it changes. Visually hidden in the styled tier.
|
|
18
20
|
* @csspart table - The grid.
|
|
19
21
|
*
|
|
20
22
|
* @cssproperty --table-columns - Track list for the columns. It overrides the track list worked out from the columns.
|
|
23
|
+
* @cssproperty --table-title-color - The color of the words in the `heading` slot.
|
|
24
|
+
* @cssproperty --table-title-gap - The space between the `heading` slot and the grid.
|
|
25
|
+
* @cssproperty --table-title-text - The font size of the words in the `heading` slot.
|
|
21
26
|
*/
|
|
22
27
|
export declare class HelixTable extends HelixHeadlessTable {
|
|
28
|
+
static tier: string;
|
|
23
29
|
static styles: CSSResultGroup;
|
|
24
30
|
}
|
|
25
31
|
declare global {
|
|
@@ -9,7 +9,9 @@ import { HelixHeadlessTable } from '@fusion.dev/helix-headless/table';
|
|
|
9
9
|
import { styles as collectionStateStyles } from '../../shared/collection/state.css.js';
|
|
10
10
|
import { styles as liveStyles } from '../../shared/live/live.css.js';
|
|
11
11
|
import { styles } from './table-root.css.js';
|
|
12
|
+
import '../../checkbox/index.js';
|
|
12
13
|
let HelixTable = class HelixTable extends HelixHeadlessTable {
|
|
14
|
+
static { this.tier = 'helix-'; }
|
|
13
15
|
static { this.styles = [liveStyles, collectionStateStyles, styles]; }
|
|
14
16
|
};
|
|
15
17
|
HelixTable = __decorate([
|
|
@@ -1,4 +1,22 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
2
|
export const styles = createSheet(`:host {
|
|
3
3
|
display: contents;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
[part~="select"] {
|
|
7
|
+
align-items: center;
|
|
8
|
+
border-block-end: var(--helix-border-thin) solid var(--helix-color-border);
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
display: flex;
|
|
11
|
+
min-block-size: var(--helix-size-control);
|
|
12
|
+
padding-inline: var(--helix-space-none) var(--helix-space-md);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
:host(:state(selected)) [part~="select"],
|
|
16
|
+
:host(:state(selected)) ::slotted(*) {
|
|
17
|
+
background-color: color-mix(
|
|
18
|
+
in srgb,
|
|
19
|
+
var(--helix-color-primary) 10%,
|
|
20
|
+
var(--helix-color-background)
|
|
21
|
+
);
|
|
4
22
|
}`);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { HelixHeadlessTableRow } from '@fusion.dev/helix-headless/table';
|
|
2
2
|
import type { CSSResultGroup } from 'lit';
|
|
3
|
+
import '../../checkbox/index.js';
|
|
3
4
|
/**
|
|
4
5
|
* @summary One row of a table.
|
|
5
6
|
*
|
|
@@ -16,6 +17,7 @@ import type { CSSResultGroup } from 'lit';
|
|
|
16
17
|
* @slot - The row's cells.
|
|
17
18
|
*/
|
|
18
19
|
export declare class HelixTableRow extends HelixHeadlessTableRow {
|
|
20
|
+
static tier: string;
|
|
19
21
|
static styles: CSSResultGroup;
|
|
20
22
|
}
|
|
21
23
|
declare global {
|
|
@@ -7,7 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { customElement } from '@fusion.dev/helix-core';
|
|
8
8
|
import { HelixHeadlessTableRow } from '@fusion.dev/helix-headless/table';
|
|
9
9
|
import { styles } from './table-row.css.js';
|
|
10
|
+
import '../../checkbox/index.js';
|
|
10
11
|
let HelixTableRow = class HelixTableRow extends HelixHeadlessTableRow {
|
|
12
|
+
static { this.tier = 'helix-'; }
|
|
11
13
|
static { this.styles = styles; }
|
|
12
14
|
};
|
|
13
15
|
HelixTableRow = __decorate([
|
|
@@ -8,7 +8,11 @@ display: contents;
|
|
|
8
8
|
min-block-size: 0;
|
|
9
9
|
min-inline-size: 0;
|
|
10
10
|
outline: none;
|
|
11
|
-
padding-block-start: var(
|
|
11
|
+
padding-block-start: var(
|
|
12
|
+
--tabs-panel-padding-block-start,
|
|
13
|
+
var(--_tabs-panel-padding-block-start, var(--helix-space-md))
|
|
14
|
+
);
|
|
15
|
+
padding-inline-start: var(--_tabs-panel-padding-inline-start, var(--helix-space-none));
|
|
12
16
|
}
|
|
13
17
|
|
|
14
18
|
[part="panel"][hidden] {
|
|
@@ -67,7 +67,8 @@ inset-inline-start: 0;
|
|
|
67
67
|
opacity: 0;
|
|
68
68
|
position: absolute;
|
|
69
69
|
|
|
70
|
-
translate:
|
|
70
|
+
translate: calc(var(--indicator-x, 0px) + var(--_indicator-offset-x, 0px))
|
|
71
|
+
calc(var(--indicator-y, 0px) + var(--_indicator-offset, 0px));
|
|
71
72
|
|
|
72
73
|
transition:
|
|
73
74
|
translate var(--helix-duration-normal) var(--helix-easing-emphasized),
|
|
@@ -126,6 +127,60 @@ var(--tabs-indicator-thickness, var(--helix-border-thick))
|
|
|
126
127
|
--_tab-selected-shadow: none;
|
|
127
128
|
}
|
|
128
129
|
|
|
130
|
+
:host([orientation="vertical"]) {
|
|
131
|
+
|
|
132
|
+
--_tabs-inline-sign: 1;
|
|
133
|
+
--_tabs-panel-padding-block-start: var(--helix-space-none);
|
|
134
|
+
--_tabs-panel-padding-inline-start: var(--helix-space-md);
|
|
135
|
+
|
|
136
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
137
|
+
grid-template-rows: minmax(0, 1fr);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
:host([orientation="vertical"]:dir(rtl)) {
|
|
141
|
+
--_tabs-inline-sign: -1;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
:host([orientation="vertical"]) [part="tabs"] {
|
|
145
|
+
align-content: start;
|
|
146
|
+
background-position: right;
|
|
147
|
+
background-repeat: repeat-y;
|
|
148
|
+
background-size: var(--helix-border-thin) 100%;
|
|
149
|
+
flex-direction: column;
|
|
150
|
+
overflow-x: visible;
|
|
151
|
+
overflow-y: auto;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
:host([orientation="vertical"]:dir(rtl)) [part="tabs"] {
|
|
155
|
+
background-position: left;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
:host([orientation="vertical"]) ::slotted(helix-tab) {
|
|
159
|
+
--_tab-inline-size: 100%;
|
|
160
|
+
--_tab-justify: flex-start;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
:host([orientation="vertical"][variant="segmented"]) [part="tabs"] {
|
|
164
|
+
--_tab-height: initial;
|
|
165
|
+
|
|
166
|
+
block-size: auto;
|
|
167
|
+
justify-self: start;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
:host([orientation="vertical"][variant="underlined"]) [part="indicator"] {
|
|
171
|
+
--_indicator-block: var(--indicator-block-size, 0);
|
|
172
|
+
--_indicator-offset: 0px;
|
|
173
|
+
--_indicator-offset-x: calc(
|
|
174
|
+
(
|
|
175
|
+
var(--indicator-inline-size, 0px) -
|
|
176
|
+
var(--tabs-indicator-thickness, var(--helix-border-thick))
|
|
177
|
+
) *
|
|
178
|
+
var(--_tabs-inline-sign, 1)
|
|
179
|
+
);
|
|
180
|
+
|
|
181
|
+
inline-size: var(--tabs-indicator-thickness, var(--helix-border-thick));
|
|
182
|
+
}
|
|
183
|
+
|
|
129
184
|
@media print {
|
|
130
185
|
:host {
|
|
131
186
|
box-shadow: none;
|
package/dist/tabs/tab/tab.css.js
CHANGED
|
@@ -18,8 +18,12 @@ font: inherit;
|
|
|
18
18
|
font-size: var(--helix-text-sm);
|
|
19
19
|
font-weight: var(--helix-weight-medium);
|
|
20
20
|
display: inline-flex;
|
|
21
|
-
|
|
21
|
+
|
|
22
|
+
inline-size: var(--_tab-inline-size, auto);
|
|
23
|
+
justify-content: var(--_tab-justify, center);
|
|
22
24
|
padding-inline: var(--tabs-tab-padding-inline, var(--helix-space-sm));
|
|
25
|
+
|
|
26
|
+
text-decoration: none;
|
|
23
27
|
transition:
|
|
24
28
|
background-color var(--helix-duration-fast) var(--helix-easing-standard),
|
|
25
29
|
border-color var(--helix-duration-normal) var(--helix-easing-emphasized),
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The line count `lines` asks for, as the declaration that clamps it, or
|
|
3
|
+
* `undefined` where it is no whole number above zero.
|
|
4
|
+
*
|
|
5
|
+
* Written on the part inside the shadow root, so any count works with no rule
|
|
6
|
+
* per number, and the server renders it with the rest of the template.
|
|
7
|
+
*/
|
|
8
|
+
export declare const clampOf: (lines: number | undefined) => string | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const clampOf = (lines) => Number.isInteger(lines) && lines > 0 ? `-webkit-line-clamp: ${lines}` : undefined;
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
2
|
export const styles = createSheet(`:host {
|
|
3
3
|
display: inline;
|
|
4
|
+
|
|
5
|
+
font-family: var(--text-font-family);
|
|
6
|
+
font-size: var(--text-font-size);
|
|
7
|
+
font-weight: var(--text-font-weight);
|
|
8
|
+
letter-spacing: var(--text-letter-spacing);
|
|
9
|
+
line-height: var(--text-line-height);
|
|
4
10
|
}
|
|
5
11
|
|
|
6
12
|
:host([as="p"]),
|
|
@@ -15,84 +21,84 @@ display: block;
|
|
|
15
21
|
|
|
16
22
|
:host([variant="display"]),
|
|
17
23
|
:host(:not([variant])[as="h1"]) {
|
|
18
|
-
font-family: var(--helix-font-display);
|
|
19
|
-
font-size: var(--helix-text-3xl);
|
|
20
|
-
font-weight: var(--helix-weight-semibold);
|
|
21
|
-
letter-spacing: var(--helix-tracking-tight);
|
|
22
|
-
line-height: var(--helix-leading-heading);
|
|
24
|
+
font-family: var(--text-font-family, var(--helix-font-display));
|
|
25
|
+
font-size: var(--text-font-size, var(--helix-text-3xl));
|
|
26
|
+
font-weight: var(--text-font-weight, var(--helix-weight-semibold));
|
|
27
|
+
letter-spacing: var(--text-letter-spacing, var(--helix-tracking-tight));
|
|
28
|
+
line-height: var(--text-line-height, var(--helix-leading-heading));
|
|
23
29
|
}
|
|
24
30
|
|
|
25
31
|
:host([variant="heading"]),
|
|
26
32
|
:host(:not([variant])[as="h2"]) {
|
|
27
|
-
font-family: var(--helix-font-sans);
|
|
28
|
-
font-size: var(--helix-text-2xl);
|
|
29
|
-
font-weight: var(--helix-weight-semibold);
|
|
30
|
-
letter-spacing: var(--helix-tracking-tight);
|
|
31
|
-
line-height: var(--helix-leading-heading);
|
|
33
|
+
font-family: var(--text-font-family, var(--helix-font-sans));
|
|
34
|
+
font-size: var(--text-font-size, var(--helix-text-2xl));
|
|
35
|
+
font-weight: var(--text-font-weight, var(--helix-weight-semibold));
|
|
36
|
+
letter-spacing: var(--text-letter-spacing, var(--helix-tracking-tight));
|
|
37
|
+
line-height: var(--text-line-height, var(--helix-leading-heading));
|
|
32
38
|
}
|
|
33
39
|
|
|
34
40
|
:host([variant="subheading"]),
|
|
35
41
|
:host(:not([variant])[as="h3"]) {
|
|
36
|
-
font-family: var(--helix-font-sans);
|
|
37
|
-
font-size: var(--helix-text-xl);
|
|
38
|
-
font-weight: var(--helix-weight-semibold);
|
|
39
|
-
letter-spacing: var(--helix-tracking-tight);
|
|
40
|
-
line-height: var(--helix-leading-heading);
|
|
42
|
+
font-family: var(--text-font-family, var(--helix-font-sans));
|
|
43
|
+
font-size: var(--text-font-size, var(--helix-text-xl));
|
|
44
|
+
font-weight: var(--text-font-weight, var(--helix-weight-semibold));
|
|
45
|
+
letter-spacing: var(--text-letter-spacing, var(--helix-tracking-tight));
|
|
46
|
+
line-height: var(--text-line-height, var(--helix-leading-heading));
|
|
41
47
|
}
|
|
42
48
|
|
|
43
49
|
:host([variant="title"]),
|
|
44
50
|
:host(:not([variant])[as="h4"]) {
|
|
45
|
-
font-family: var(--helix-font-sans);
|
|
46
|
-
font-size: var(--helix-text-lg);
|
|
47
|
-
font-weight: var(--helix-weight-semibold);
|
|
48
|
-
letter-spacing: var(--helix-tracking-normal);
|
|
49
|
-
line-height: var(--helix-leading-heading);
|
|
51
|
+
font-family: var(--text-font-family, var(--helix-font-sans));
|
|
52
|
+
font-size: var(--text-font-size, var(--helix-text-lg));
|
|
53
|
+
font-weight: var(--text-font-weight, var(--helix-weight-semibold));
|
|
54
|
+
letter-spacing: var(--text-letter-spacing, var(--helix-tracking-normal));
|
|
55
|
+
line-height: var(--text-line-height, var(--helix-leading-heading));
|
|
50
56
|
}
|
|
51
57
|
|
|
52
58
|
:host([variant="body"]),
|
|
53
59
|
:host(:not([variant])[as="p"]) {
|
|
54
|
-
font-family: var(--helix-font-sans);
|
|
55
|
-
font-size: var(--helix-text-md);
|
|
56
|
-
font-weight: var(--helix-weight-regular);
|
|
57
|
-
letter-spacing: var(--helix-tracking-normal);
|
|
58
|
-
line-height: var(--helix-leading-normal);
|
|
60
|
+
font-family: var(--text-font-family, var(--helix-font-sans));
|
|
61
|
+
font-size: var(--text-font-size, var(--helix-text-md));
|
|
62
|
+
font-weight: var(--text-font-weight, var(--helix-weight-regular));
|
|
63
|
+
letter-spacing: var(--text-letter-spacing, var(--helix-tracking-normal));
|
|
64
|
+
line-height: var(--text-line-height, var(--helix-leading-normal));
|
|
59
65
|
}
|
|
60
66
|
|
|
61
67
|
:host([variant="body-strong"]),
|
|
62
68
|
:host(:not([variant])[as="h5"]),
|
|
63
69
|
:host(:not([variant])[as="h6"]),
|
|
64
70
|
:host(:not([variant])[as="strong"]) {
|
|
65
|
-
font-family: var(--helix-font-sans);
|
|
66
|
-
font-size: var(--helix-text-md);
|
|
67
|
-
font-weight: var(--helix-weight-medium);
|
|
68
|
-
letter-spacing: var(--helix-tracking-normal);
|
|
69
|
-
line-height: var(--helix-leading-normal);
|
|
71
|
+
font-family: var(--text-font-family, var(--helix-font-sans));
|
|
72
|
+
font-size: var(--text-font-size, var(--helix-text-md));
|
|
73
|
+
font-weight: var(--text-font-weight, var(--helix-weight-medium));
|
|
74
|
+
letter-spacing: var(--text-letter-spacing, var(--helix-tracking-normal));
|
|
75
|
+
line-height: var(--text-line-height, var(--helix-leading-normal));
|
|
70
76
|
}
|
|
71
77
|
|
|
72
78
|
:host([variant="caption"]) {
|
|
73
|
-
font-family: var(--helix-font-sans);
|
|
74
|
-
font-size: var(--helix-text-sm);
|
|
75
|
-
font-weight: var(--helix-weight-regular);
|
|
76
|
-
letter-spacing: var(--helix-tracking-normal);
|
|
77
|
-
line-height: var(--helix-leading-normal);
|
|
79
|
+
font-family: var(--text-font-family, var(--helix-font-sans));
|
|
80
|
+
font-size: var(--text-font-size, var(--helix-text-sm));
|
|
81
|
+
font-weight: var(--text-font-weight, var(--helix-weight-regular));
|
|
82
|
+
letter-spacing: var(--text-letter-spacing, var(--helix-tracking-normal));
|
|
83
|
+
line-height: var(--text-line-height, var(--helix-leading-normal));
|
|
78
84
|
}
|
|
79
85
|
|
|
80
86
|
:host([variant="label"]),
|
|
81
87
|
:host(:not([variant])[as="label"]) {
|
|
82
|
-
font-family: var(--helix-font-sans);
|
|
83
|
-
font-size: var(--helix-text-xs);
|
|
84
|
-
font-weight: var(--helix-weight-medium);
|
|
85
|
-
letter-spacing: var(--helix-tracking-wide);
|
|
86
|
-
line-height: var(--helix-leading-normal);
|
|
88
|
+
font-family: var(--text-font-family, var(--helix-font-sans));
|
|
89
|
+
font-size: var(--text-font-size, var(--helix-text-xs));
|
|
90
|
+
font-weight: var(--text-font-weight, var(--helix-weight-medium));
|
|
91
|
+
letter-spacing: var(--text-letter-spacing, var(--helix-tracking-wide));
|
|
92
|
+
line-height: var(--text-line-height, var(--helix-leading-normal));
|
|
87
93
|
}
|
|
88
94
|
|
|
89
95
|
:host([variant="code"]),
|
|
90
96
|
:host(:not([variant])[as="code"]) {
|
|
91
|
-
font-family: var(--helix-font-mono);
|
|
92
|
-
font-size: var(--helix-text-xs);
|
|
93
|
-
font-weight: var(--helix-weight-regular);
|
|
94
|
-
letter-spacing: var(--helix-tracking-normal);
|
|
95
|
-
line-height: var(--helix-leading-normal);
|
|
97
|
+
font-family: var(--text-font-family, var(--helix-font-mono));
|
|
98
|
+
font-size: var(--text-font-size, var(--helix-text-xs));
|
|
99
|
+
font-weight: var(--text-font-weight, var(--helix-weight-regular));
|
|
100
|
+
letter-spacing: var(--text-letter-spacing, var(--helix-tracking-normal));
|
|
101
|
+
line-height: var(--text-line-height, var(--helix-leading-normal));
|
|
96
102
|
}
|
|
97
103
|
|
|
98
104
|
:host(
|
|
@@ -175,6 +181,40 @@ letter-spacing: inherit;
|
|
|
175
181
|
margin: var(--helix-space-none);
|
|
176
182
|
}
|
|
177
183
|
|
|
184
|
+
:host([lines]) {
|
|
185
|
+
display: block;
|
|
186
|
+
min-inline-size: 0;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
:host([lines]) [part="text"] {
|
|
190
|
+
-webkit-box-orient: vertical;
|
|
191
|
+
display: -webkit-box;
|
|
192
|
+
overflow: hidden;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
:host([text-align="start"]) {
|
|
196
|
+
text-align: start;
|
|
197
|
+
}
|
|
198
|
+
:host([text-align="center"]) {
|
|
199
|
+
text-align: center;
|
|
200
|
+
}
|
|
201
|
+
:host([text-align="end"]) {
|
|
202
|
+
text-align: end;
|
|
203
|
+
}
|
|
204
|
+
:host([text-align="justify"]) {
|
|
205
|
+
text-align: justify;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
:host([text-wrap="balance"]) {
|
|
209
|
+
text-wrap: balance;
|
|
210
|
+
}
|
|
211
|
+
:host([text-wrap="pretty"]) {
|
|
212
|
+
text-wrap: pretty;
|
|
213
|
+
}
|
|
214
|
+
:host([text-wrap="nowrap"]) {
|
|
215
|
+
text-wrap: nowrap;
|
|
216
|
+
}
|
|
217
|
+
|
|
178
218
|
:host([as="em"]) [part="text"] {
|
|
179
219
|
font-style: italic;
|
|
180
220
|
}
|