@fusion.dev/helix 0.177.1 → 0.177.2
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 +100 -38
- package/dist/button/root/button-root.css.js +2 -2
- package/dist/progress/root/progress-root.css.js +2 -2
- package/lint.json +1 -1
- package/package.json +6 -6
- package/types/jsx.d.ts +126 -36
- package/types/vue.d.ts +42 -12
- package/types/words.d.ts +6 -4
package/custom-elements.json
CHANGED
|
@@ -42364,6 +42364,21 @@
|
|
|
42364
42364
|
"module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
|
|
42365
42365
|
}
|
|
42366
42366
|
},
|
|
42367
|
+
{
|
|
42368
|
+
"kind": "method",
|
|
42369
|
+
"name": "dismiss",
|
|
42370
|
+
"privacy": "private",
|
|
42371
|
+
"return": {
|
|
42372
|
+
"type": {
|
|
42373
|
+
"text": "void"
|
|
42374
|
+
}
|
|
42375
|
+
},
|
|
42376
|
+
"description": "Escape's close, which hands focus back to the control that opened the\npanel: the trigger after its press, which is the APG date picker\ndialog's rule, and the field otherwise.\n\n**Here rather than in each family.** Color Input had the rule alone, and\nDate Input and Time Input, on the same code, put focus in the text after\nthe trigger's press: one control before where the reader had been.",
|
|
42377
|
+
"inheritedFrom": {
|
|
42378
|
+
"name": "MixinPickerField",
|
|
42379
|
+
"module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
|
|
42380
|
+
}
|
|
42381
|
+
},
|
|
42367
42382
|
{
|
|
42368
42383
|
"kind": "field",
|
|
42369
42384
|
"name": "handleFocusOut",
|
|
@@ -42400,6 +42415,20 @@
|
|
|
42400
42415
|
"module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
|
|
42401
42416
|
}
|
|
42402
42417
|
},
|
|
42418
|
+
{
|
|
42419
|
+
"kind": "field",
|
|
42420
|
+
"name": "pressedOpen",
|
|
42421
|
+
"type": {
|
|
42422
|
+
"text": "boolean"
|
|
42423
|
+
},
|
|
42424
|
+
"privacy": "private",
|
|
42425
|
+
"default": "false",
|
|
42426
|
+
"description": "Whether the trigger's press opened the panel that is open now, so Escape returns there.",
|
|
42427
|
+
"inheritedFrom": {
|
|
42428
|
+
"name": "MixinPickerField",
|
|
42429
|
+
"module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
|
|
42430
|
+
}
|
|
42431
|
+
},
|
|
42403
42432
|
{
|
|
42404
42433
|
"kind": "field",
|
|
42405
42434
|
"name": "handleKeypress",
|
|
@@ -43475,31 +43504,6 @@
|
|
|
43475
43504
|
"module": "src/color-input/root/color-input-root.ts"
|
|
43476
43505
|
}
|
|
43477
43506
|
},
|
|
43478
|
-
{
|
|
43479
|
-
"kind": "field",
|
|
43480
|
-
"name": "pressedOpen",
|
|
43481
|
-
"type": {
|
|
43482
|
-
"text": "boolean"
|
|
43483
|
-
},
|
|
43484
|
-
"privacy": "private",
|
|
43485
|
-
"default": "false",
|
|
43486
|
-
"description": "Whether the trigger's press opened the panel that is open now.",
|
|
43487
|
-
"inheritedFrom": {
|
|
43488
|
-
"name": "HelixHeadlessColorInput",
|
|
43489
|
-
"module": "src/color-input/root/color-input-root.ts"
|
|
43490
|
-
}
|
|
43491
|
-
},
|
|
43492
|
-
{
|
|
43493
|
-
"kind": "field",
|
|
43494
|
-
"name": "handlePress",
|
|
43495
|
-
"privacy": "private",
|
|
43496
|
-
"readonly": true,
|
|
43497
|
-
"description": "The trigger's press, which notes that it opened the panel, so Escape hands\nfocus back to the trigger.",
|
|
43498
|
-
"inheritedFrom": {
|
|
43499
|
-
"name": "HelixHeadlessColorInput",
|
|
43500
|
-
"module": "src/color-input/root/color-input-root.ts"
|
|
43501
|
-
}
|
|
43502
|
-
},
|
|
43503
43507
|
{
|
|
43504
43508
|
"kind": "method",
|
|
43505
43509
|
"name": "renderPicker",
|
|
@@ -63472,6 +63476,21 @@
|
|
|
63472
63476
|
"module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
|
|
63473
63477
|
}
|
|
63474
63478
|
},
|
|
63479
|
+
{
|
|
63480
|
+
"kind": "method",
|
|
63481
|
+
"name": "dismiss",
|
|
63482
|
+
"privacy": "private",
|
|
63483
|
+
"return": {
|
|
63484
|
+
"type": {
|
|
63485
|
+
"text": "void"
|
|
63486
|
+
}
|
|
63487
|
+
},
|
|
63488
|
+
"description": "Escape's close, which hands focus back to the control that opened the\npanel: the trigger after its press, which is the APG date picker\ndialog's rule, and the field otherwise.\n\n**Here rather than in each family.** Color Input had the rule alone, and\nDate Input and Time Input, on the same code, put focus in the text after\nthe trigger's press: one control before where the reader had been.",
|
|
63489
|
+
"inheritedFrom": {
|
|
63490
|
+
"name": "MixinPickerField",
|
|
63491
|
+
"module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
|
|
63492
|
+
}
|
|
63493
|
+
},
|
|
63475
63494
|
{
|
|
63476
63495
|
"kind": "field",
|
|
63477
63496
|
"name": "handleFocusOut",
|
|
@@ -63508,6 +63527,20 @@
|
|
|
63508
63527
|
"module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
|
|
63509
63528
|
}
|
|
63510
63529
|
},
|
|
63530
|
+
{
|
|
63531
|
+
"kind": "field",
|
|
63532
|
+
"name": "pressedOpen",
|
|
63533
|
+
"type": {
|
|
63534
|
+
"text": "boolean"
|
|
63535
|
+
},
|
|
63536
|
+
"privacy": "private",
|
|
63537
|
+
"default": "false",
|
|
63538
|
+
"description": "Whether the trigger's press opened the panel that is open now, so Escape returns there.",
|
|
63539
|
+
"inheritedFrom": {
|
|
63540
|
+
"name": "MixinPickerField",
|
|
63541
|
+
"module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
|
|
63542
|
+
}
|
|
63543
|
+
},
|
|
63511
63544
|
{
|
|
63512
63545
|
"kind": "field",
|
|
63513
63546
|
"name": "handleKeypress",
|
|
@@ -65198,8 +65231,8 @@
|
|
|
65198
65231
|
"type": {
|
|
65199
65232
|
"text": "string"
|
|
65200
65233
|
},
|
|
65201
|
-
"default": "'{mode, select, single {Enter a date as
|
|
65202
|
-
"description": "The message for text that is no date, where `bad-input-message` is not\nset. `{mode}` is `single`, `range`, or `multiple
|
|
65234
|
+
"default": "'{mode, select, single {Enter a date such as {example}.} other {Enter dates such as {example}, separated by commas.}}'",
|
|
65235
|
+
"description": "The message for text that is no date, where `bad-input-message` is not\nset. `{mode}` is `single`, `range`, or `multiple`, and `{example}` is a\ndate written as the field writes one, `August 24, 2026` in `en-US` and\n`24. August 2026` in `de-DE` at the default `date-style`.\n\n**The default names a date the field reads back.** It said \"Enter a date\nas YYYY-MM-DD.\" to a reader whose field showed `August 4, 2026`, and a\npattern token is words for a developer. Time Input says the same.",
|
|
65203
65236
|
"attribute": "unreadable-message",
|
|
65204
65237
|
"helix": {
|
|
65205
65238
|
"words": true
|
|
@@ -67025,8 +67058,8 @@
|
|
|
67025
67058
|
"type": {
|
|
67026
67059
|
"text": "string"
|
|
67027
67060
|
},
|
|
67028
|
-
"default": "'{mode, select, single {Enter a date as
|
|
67029
|
-
"description": "The message for text that is no date, where `bad-input-message` is not\nset. `{mode}` is `single`, `range`, or `multiple
|
|
67061
|
+
"default": "'{mode, select, single {Enter a date such as {example}.} other {Enter dates such as {example}, separated by commas.}}'",
|
|
67062
|
+
"description": "The message for text that is no date, where `bad-input-message` is not\nset. `{mode}` is `single`, `range`, or `multiple`, and `{example}` is a\ndate written as the field writes one, `August 24, 2026` in `en-US` and\n`24. August 2026` in `de-DE` at the default `date-style`.\n\n**The default names a date the field reads back.** It said \"Enter a date\nas YYYY-MM-DD.\" to a reader whose field showed `August 4, 2026`, and a\npattern token is words for a developer. Time Input says the same.",
|
|
67030
67063
|
"fieldName": "unreadableMessage",
|
|
67031
67064
|
"inheritedFrom": {
|
|
67032
67065
|
"name": "HelixHeadlessDateInput",
|
|
@@ -68088,8 +68121,8 @@
|
|
|
68088
68121
|
"type": {
|
|
68089
68122
|
"text": "string"
|
|
68090
68123
|
},
|
|
68091
|
-
"default": "'{mode, select, single {Enter a date as
|
|
68092
|
-
"description": "The validation message for a value that is not a date.\n\n**Every sentence a control raises in the browser's bubble is a property**,\nnamed for the validity flag it reports, so a form in another language\nspeaks it. Unset is the sentence registered for the page's language, then\nthe English. `{
|
|
68124
|
+
"default": "'{mode, select, single {Enter a date such as {example}.} other {Enter dates such as {example}, separated by commas.}}'",
|
|
68125
|
+
"description": "The validation message for a value that is not a date.\n\n**Every sentence a control raises in the browser's bubble is a property**,\nnamed for the validity flag it reports, so a form in another language\nspeaks it. Unset is the sentence registered for the page's language, then\nthe English. `{example}` is a date written as the calendar names one,\n`August 24, 2026` in `en-US` and `24. August 2026` in `de-DE`, and `{mode}`\nis `single`, `range` or `multiple`, so each can have its own sentence.\n\n**The default names a date in words.** It said \"Enter a date as\nYYYY-MM-DD.\", and a pattern token is words for a developer.",
|
|
68093
68126
|
"attribute": "bad-input-message",
|
|
68094
68127
|
"helix": {
|
|
68095
68128
|
"words": true
|
|
@@ -70568,8 +70601,8 @@
|
|
|
70568
70601
|
"type": {
|
|
70569
70602
|
"text": "string"
|
|
70570
70603
|
},
|
|
70571
|
-
"default": "'{mode, select, single {Enter a date as
|
|
70572
|
-
"description": "The validation message for a value that is not a date.\n\n**Every sentence a control raises in the browser's bubble is a property**,\nnamed for the validity flag it reports, so a form in another language\nspeaks it. Unset is the sentence registered for the page's language, then\nthe English. `{
|
|
70604
|
+
"default": "'{mode, select, single {Enter a date such as {example}.} other {Enter dates such as {example}, separated by commas.}}'",
|
|
70605
|
+
"description": "The validation message for a value that is not a date.\n\n**Every sentence a control raises in the browser's bubble is a property**,\nnamed for the validity flag it reports, so a form in another language\nspeaks it. Unset is the sentence registered for the page's language, then\nthe English. `{example}` is a date written as the calendar names one,\n`August 24, 2026` in `en-US` and `24. August 2026` in `de-DE`, and `{mode}`\nis `single`, `range` or `multiple`, so each can have its own sentence.\n\n**The default names a date in words.** It said \"Enter a date as\nYYYY-MM-DD.\", and a pattern token is words for a developer.",
|
|
70573
70606
|
"fieldName": "badInputMessage",
|
|
70574
70607
|
"inheritedFrom": {
|
|
70575
70608
|
"name": "HelixHeadlessDatePicker",
|
|
@@ -216114,6 +216147,21 @@
|
|
|
216114
216147
|
"module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
|
|
216115
216148
|
}
|
|
216116
216149
|
},
|
|
216150
|
+
{
|
|
216151
|
+
"kind": "method",
|
|
216152
|
+
"name": "dismiss",
|
|
216153
|
+
"privacy": "private",
|
|
216154
|
+
"return": {
|
|
216155
|
+
"type": {
|
|
216156
|
+
"text": "void"
|
|
216157
|
+
}
|
|
216158
|
+
},
|
|
216159
|
+
"description": "Escape's close, which hands focus back to the control that opened the\npanel: the trigger after its press, which is the APG date picker\ndialog's rule, and the field otherwise.\n\n**Here rather than in each family.** Color Input had the rule alone, and\nDate Input and Time Input, on the same code, put focus in the text after\nthe trigger's press: one control before where the reader had been.",
|
|
216160
|
+
"inheritedFrom": {
|
|
216161
|
+
"name": "MixinPickerField",
|
|
216162
|
+
"module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
|
|
216163
|
+
}
|
|
216164
|
+
},
|
|
216117
216165
|
{
|
|
216118
216166
|
"kind": "field",
|
|
216119
216167
|
"name": "handleFocusOut",
|
|
@@ -216150,6 +216198,20 @@
|
|
|
216150
216198
|
"module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
|
|
216151
216199
|
}
|
|
216152
216200
|
},
|
|
216201
|
+
{
|
|
216202
|
+
"kind": "field",
|
|
216203
|
+
"name": "pressedOpen",
|
|
216204
|
+
"type": {
|
|
216205
|
+
"text": "boolean"
|
|
216206
|
+
},
|
|
216207
|
+
"privacy": "private",
|
|
216208
|
+
"default": "false",
|
|
216209
|
+
"description": "Whether the trigger's press opened the panel that is open now, so Escape returns there.",
|
|
216210
|
+
"inheritedFrom": {
|
|
216211
|
+
"name": "MixinPickerField",
|
|
216212
|
+
"module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
|
|
216213
|
+
}
|
|
216214
|
+
},
|
|
216153
216215
|
{
|
|
216154
216216
|
"kind": "field",
|
|
216155
216217
|
"name": "handleKeypress",
|
|
@@ -220332,8 +220394,8 @@
|
|
|
220332
220394
|
"type": {
|
|
220333
220395
|
"text": "string"
|
|
220334
220396
|
},
|
|
220335
|
-
"default": "'{mode, select, single {Enter a time as {
|
|
220336
|
-
"description": "The validation message for a value that is not a time.\n\n**Every sentence a control raises in the browser's bubble is a property**,\nnamed for the validity flag it reports, so a form in another language\nspeaks it. Unset is the sentence registered for the page's language, then\nthe English. `{
|
|
220397
|
+
"default": "'{mode, select, single {Enter a time such as {example}.} other {Enter times such as {example}, separated by commas.}}'",
|
|
220398
|
+
"description": "The validation message for a value that is not a time.\n\n**Every sentence a control raises in the browser's bubble is a property**,\nnamed for the validity flag it reports, so a form in another language\nspeaks it. Unset is the sentence registered for the page's language, then\nthe English. `{example}` is a time written as the picker writes one,\n`2:30 PM` in `en-US` and `14:30` in `de-DE`, `{shape}` is `HH:mm` or\n`HH:mm:ss`, and `{mode}` is `single`, `range` or `multiple`, so each can\nhave its own sentence.\n\n**The default names a time as the picker shows one.** It said \"Enter a\ntime as HH:mm.\" to a reader whose list showed `2:30 PM`, and a pattern\ntoken is words for a developer. Time Input says the same.",
|
|
220337
220399
|
"attribute": "bad-input-message",
|
|
220338
220400
|
"helix": {
|
|
220339
220401
|
"words": true
|
|
@@ -222492,8 +222554,8 @@
|
|
|
222492
222554
|
"type": {
|
|
222493
222555
|
"text": "string"
|
|
222494
222556
|
},
|
|
222495
|
-
"default": "'{mode, select, single {Enter a time as {
|
|
222496
|
-
"description": "The validation message for a value that is not a time.\n\n**Every sentence a control raises in the browser's bubble is a property**,\nnamed for the validity flag it reports, so a form in another language\nspeaks it. Unset is the sentence registered for the page's language, then\nthe English. `{
|
|
222557
|
+
"default": "'{mode, select, single {Enter a time such as {example}.} other {Enter times such as {example}, separated by commas.}}'",
|
|
222558
|
+
"description": "The validation message for a value that is not a time.\n\n**Every sentence a control raises in the browser's bubble is a property**,\nnamed for the validity flag it reports, so a form in another language\nspeaks it. Unset is the sentence registered for the page's language, then\nthe English. `{example}` is a time written as the picker writes one,\n`2:30 PM` in `en-US` and `14:30` in `de-DE`, `{shape}` is `HH:mm` or\n`HH:mm:ss`, and `{mode}` is `single`, `range` or `multiple`, so each can\nhave its own sentence.\n\n**The default names a time as the picker shows one.** It said \"Enter a\ntime as HH:mm.\" to a reader whose list showed `2:30 PM`, and a pattern\ntoken is words for a developer. Time Input says the same.",
|
|
222497
222559
|
"fieldName": "badInputMessage",
|
|
222498
222560
|
"inheritedFrom": {
|
|
222499
222561
|
"name": "HelixHeadlessTimePicker",
|
|
@@ -250187,6 +250249,6 @@
|
|
|
250187
250249
|
],
|
|
250188
250250
|
"helix": {
|
|
250189
250251
|
"package": "@fusion.dev/helix",
|
|
250190
|
-
"version": "0.177.
|
|
250252
|
+
"version": "0.177.2"
|
|
250191
250253
|
}
|
|
250192
250254
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
-
export const styles = createSheet(`:host {display: inline-flex;min-inline-size: var(--button-inline-size, auto);max-inline-size: 100%;}:host {--_button-edge: var(--helix-color-border);--_button-fill: var(--_button-tone);--_button-fill-hover: var(--_button-tone-hover);--_button-on-tone: var(--helix-color-background);--_button-tone: var(--helix-color-foreground);--_button-turn: 0.8s;--_button-tone-hover: color-mix(
|
|
2
|
+
export const styles = createSheet(`:host {display: inline-flex;min-inline-size: var(--button-inline-size, auto);max-inline-size: 100%;}:host {--_button-edge: var(--helix-color-border);--_button-fill: var(--_button-tone);--_button-fill-hover: var(--_button-tone-hover);--_button-on-tone: var(--helix-color-background);--_button-tone: var(--helix-color-foreground);--_button-crawl: 4s;--_button-turn: 0.8s;--_button-tone-hover: color-mix(
|
|
3
3
|
in oklab,
|
|
4
4
|
var(--helix-color-foreground) 86%,
|
|
5
5
|
var(--helix-color-background)
|
|
@@ -44,4 +44,4 @@ var(--button-background-color, color-mix(in oklab, var(--_button-tone) 22%, tran
|
|
|
44
44
|
--button-background-color-hover,
|
|
45
45
|
var(--button-background-color, color-mix(in oklab, var(--_button-tone) 8%, transparent))
|
|
46
46
|
);border-color: transparent;}:host([width="full"]) {display: flex;inline-size: 100%;}:host(:disabled) [part="button"] {cursor: not-allowed;opacity: 0.5;}@supports (text-box: trim-both cap alphabetic) {slot:not([name]) {display: block;padding-block: var(--helix-space-2xs);text-box: trim-both cap alphabetic;}}[part="button"] ::slotted(helix-icon) {--icon-size: 1.15em;}:host(:state(pending)) [part="button"] {cursor: progress;position: relative;}:host(:state(pending)) [part="button"] > slot {visibility: hidden;}[part="spinner"] {animation: helix-button-turn var(--button-spinner-duration, var(--_button-turn)) linear infinite;block-size: var(--button-spinner-size, 1.15em);border: var(--helix-border-thick) solid
|
|
47
|
-
color-mix(in oklab, var(--button-spinner-color, currentColor) 30%, transparent);border-block-start-color: var(--button-spinner-color, currentColor);border-radius: var(--helix-radii-full);box-sizing: border-box;inline-size: var(--button-spinner-size, 1.15em);inset: 0;margin: auto;position: absolute;}@keyframes helix-button-turn {to {rotate: 1turn;}}@media (prefers-reduced-motion: reduce) {[part="spinner"] {animation-duration:
|
|
47
|
+
color-mix(in oklab, var(--button-spinner-color, currentColor) 30%, transparent);border-block-start-color: var(--button-spinner-color, currentColor);border-radius: var(--helix-radii-full);box-sizing: border-box;inline-size: var(--button-spinner-size, 1.15em);inset: 0;margin: auto;position: absolute;}@keyframes helix-button-turn {to {rotate: 1turn;}}@media (prefers-reduced-motion: reduce) {[part="spinner"] {animation-duration: var(--_button-crawl);}}@media print {:host {display: none;}}`);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
2
|
export const styles = createSheet(`:host {display: block;}:host([show-value]) {align-items: center;column-gap: var(--progress-value-gap, var(--helix-space-sm));display: grid;grid-template-columns: 1fr auto;row-gap: var(--progress-label-gap, var(--helix-space-2xs));}slot[name="label"]::slotted(*) {color: var(--progress-label-color, var(--helix-color-foreground));display: block;font-size: var(--progress-label-size, var(--helix-text-sm));grid-column: 1 / -1;margin-block-end: var(--progress-label-gap, var(--helix-space-2xs));}:host([show-value]) slot[name="label"]::slotted(*) {margin-block-end: 0;}:host([shape="ring"]) slot[name="label"]::slotted(*) {grid-column: 1;margin-block: 0;}[part="value"] {color: var(--progress-value-color, var(--helix-color-foreground-muted));font-family: var(--helix-font-sans);font-size: var(--progress-value-size, var(--helix-text-xs));font-variant-numeric: tabular-nums;min-inline-size: 3ch;text-align: end;}[part="live"] {block-size: 1px;clip-path: inset(50%);inline-size: 1px;margin: var(--helix-space-none);overflow: hidden;position: absolute;white-space: nowrap;}[part="track"] {background-color: var(--progress-track-color, var(--helix-color-surface-sunken));min-block-size: var(--progress-size, var(--helix-size-progress));border-radius: var(--progress-radius, var(--helix-radii-full));inline-size: 100%;overflow: hidden;}[part="indicator"] {background-color: var(--progress-color, var(--helix-color-primary));block-size: 100%;border-radius: inherit;inline-size: 100%;scale: var(--progress-fraction, 0) 1;transform-origin: left center;transition: scale var(--progress-transition-duration, var(--helix-duration-normal))
|
|
3
|
-
var(--helix-easing-decelerate);}:host(:dir(rtl)) [part="indicator"] {transform-origin: right center;}:host([indeterminate]) {--_progress-cycle: calc(var(--helix-duration-slow) * 5);}:host([indeterminate]) [part="indicator"] {animation: helix-progress-indeterminate var(--_progress-cycle) linear infinite;transition: none;}:host([indeterminate]) [part="indicator"] {--_progress-way: 1;}:host([indeterminate]:dir(rtl)) [part="indicator"] {--_progress-way: -1;}@keyframes helix-progress-indeterminate {0% {scale: 0.18 1;translate: calc(-18% * var(--_progress-way, 1));}35% {scale: 0.5 1;translate: calc(12% * var(--_progress-way, 1));}65% {scale: 0.5 1;translate: calc(52% * var(--_progress-way, 1));}100% {scale: 0.18 1;translate: calc(100% * var(--_progress-way, 1));}}@media (prefers-reduced-motion: reduce) {:host([indeterminate]) [part="indicator"] {animation: none;background-image: repeating-linear-gradient(
|
|
3
|
+
var(--helix-easing-decelerate);}:host(:dir(rtl)) [part="indicator"] {transform-origin: right center;}:host([indeterminate]) {--_progress-crawl: 19.2s;--_progress-cycle: calc(var(--helix-duration-slow) * 5);}:host([indeterminate]) [part="indicator"] {animation: helix-progress-indeterminate var(--_progress-cycle) linear infinite;transition: none;}:host([indeterminate]) [part="indicator"] {--_progress-way: 1;}:host([indeterminate]:dir(rtl)) [part="indicator"] {--_progress-way: -1;}@keyframes helix-progress-indeterminate {0% {scale: 0.18 1;translate: calc(-18% * var(--_progress-way, 1));}35% {scale: 0.5 1;translate: calc(12% * var(--_progress-way, 1));}65% {scale: 0.5 1;translate: calc(52% * var(--_progress-way, 1));}100% {scale: 0.18 1;translate: calc(100% * var(--_progress-way, 1));}}@media (prefers-reduced-motion: reduce) {:host([indeterminate]) [part="indicator"] {animation: none;background-image: repeating-linear-gradient(
|
|
4
4
|
-45deg,
|
|
5
5
|
var(--helix-color-background) 0 var(--helix-space-xs),
|
|
6
6
|
transparent var(--helix-space-xs) calc(var(--helix-space-xs) * 2)
|
|
@@ -15,7 +15,7 @@ var(--_progress-under) var(--_progress-split)
|
|
|
15
15
|
);}:host([indeterminate]) [part="content"],
|
|
16
16
|
:host([emphasis="subtle"]) [part="content"] {--_progress-over: var(--_progress-under);}:host([shape="ring"]) {display: inline-grid;place-items: center;row-gap: var(--progress-label-gap, var(--helix-space-2xs));}:host([shape="ring"]) [part="track"] {--_ring-stroke: var(--progress-ring-width, var(--helix-size-progress));background-color: transparent;block-size: var(--progress-ring-size, 4rem);grid-area: 1 / 1;inline-size: var(--progress-ring-size, 4rem);rotate: -90deg;}:host([shape="ring"]) [part="groove"],
|
|
17
17
|
:host([shape="ring"]) [part="indicator"] {cx: 50%;cy: 50%;fill: none;r: calc(50% - var(--_ring-stroke) / 2);stroke-width: var(--_ring-stroke);}:host([shape="ring"]) [part="groove"] {stroke: var(--progress-track-color, var(--helix-color-surface-sunken));}:host([shape="ring"]) [part="indicator"] {scale: none;stroke: var(--progress-color, var(--helix-color-primary));stroke-dasharray: calc(var(--progress-fraction) * 100) 100;stroke-linecap: round;transition: stroke-dasharray var(--progress-transition-duration, var(--helix-duration-normal))
|
|
18
|
-
var(--helix-easing-decelerate);}:host([shape="ring"][show-value]) {gap: var(--helix-space-none);grid-template-columns: auto;}:host([shape="ring"]) [part="value"] {grid-area: 1 / 1;min-inline-size: 0;text-align: center;}:host([shape="ring"]) [part="content"] {background-image: none;color: var(--progress-content-color, var(--helix-color-foreground));grid-area: 1 / 1;padding-inline: var(--helix-space-none);text-align: center;}:host([shape="ring"][indeterminate]) [part="track"] {animation: helix-progress-ring var(--_progress-cycle) linear infinite;}:host([shape="ring"][indeterminate]) [part="indicator"] {animation: helix-progress-ring-sweep calc(var(--_progress-cycle) * 0.7) ease-in-out infinite;transition: none;}@keyframes helix-progress-ring {from {rotate: -90deg;}to {rotate: 270deg;}}@keyframes helix-progress-ring-sweep {0% {stroke-dasharray: 10 100;stroke-dashoffset: 0;}50% {stroke-dasharray: 70 100;stroke-dashoffset: -25;}100% {stroke-dasharray: 10 100;stroke-dashoffset: -100;}}@media (prefers-reduced-motion: reduce) {:host([shape="ring"]) [part="indicator"] {transition: none;}:host([shape="ring"][indeterminate]) [part="track"] {animation-duration:
|
|
18
|
+
var(--helix-easing-decelerate);}:host([shape="ring"][show-value]) {gap: var(--helix-space-none);grid-template-columns: auto;}:host([shape="ring"]) [part="value"] {grid-area: 1 / 1;min-inline-size: 0;text-align: center;}:host([shape="ring"]) [part="content"] {background-image: none;color: var(--progress-content-color, var(--helix-color-foreground));grid-area: 1 / 1;padding-inline: var(--helix-space-none);text-align: center;}:host([shape="ring"][indeterminate]) [part="track"] {animation: helix-progress-ring var(--_progress-cycle) linear infinite;}:host([shape="ring"][indeterminate]) [part="indicator"] {animation: helix-progress-ring-sweep calc(var(--_progress-cycle) * 0.7) ease-in-out infinite;transition: none;}@keyframes helix-progress-ring {from {rotate: -90deg;}to {rotate: 270deg;}}@keyframes helix-progress-ring-sweep {0% {stroke-dasharray: 10 100;stroke-dashoffset: 0;}50% {stroke-dasharray: 70 100;stroke-dashoffset: -25;}100% {stroke-dasharray: 10 100;stroke-dashoffset: -100;}}@media (prefers-reduced-motion: reduce) {:host([shape="ring"]) [part="indicator"] {transition: none;}:host([shape="ring"][indeterminate]) [part="track"] {animation-duration: var(--_progress-crawl);}:host([shape="ring"][indeterminate]) [part="indicator"] {animation: none;stroke-dasharray: 25 100;}}@media (forced-colors: active) {[part="track"] {outline: var(--helix-border-thin) solid CanvasText;}[part="indicator"] {background-color: Highlight;forced-color-adjust: none;}:host([shape="ring"]) [part="track"] {outline: none;}:host([shape="ring"]) [part="indicator"] {stroke: Highlight;}:host([shape="ring"]) [part="groove"] {stroke: CanvasText;}[part="content"] {--_progress-over: HighlightText;--_progress-under: CanvasText;forced-color-adjust: none;}:host([shape="ring"]) [part="content"] {color: CanvasText;}}@media print {:host {print-color-adjust: exact;}}:host([emphasis="subtle"]) [part="indicator"] {background-color: color-mix(
|
|
19
19
|
in oklab,
|
|
20
20
|
var(--progress-color, var(--helix-color-primary)) 30%,
|
|
21
21
|
var(--progress-track-color, var(--helix-color-surface-sunken))
|