@vonage/vivid 4.10.0 → 4.12.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 +8630 -6433
- package/lib/badge/badge.d.ts +1 -1
- package/lib/breadcrumb-item/breadcrumb-item.d.ts +1 -1
- package/lib/button/button.d.ts +1 -1
- package/lib/checkbox/checkbox.d.ts +5 -3
- package/lib/checkbox/checkbox.form-associated.d.ts +10 -0
- package/lib/enums.d.ts +1 -0
- package/lib/fab/fab.d.ts +2 -2
- package/lib/file-picker/file-picker.d.ts +3 -0
- package/lib/slider/slider.d.ts +30 -6
- package/lib/slider/slider.form-associated.d.ts +10 -0
- package/lib/split-button/split-button.d.ts +1 -1
- package/lib/tabs/tabs.d.ts +1 -0
- package/package.json +1 -1
- package/shared/aria-global2.cjs +93 -0
- package/shared/aria-global2.js +91 -0
- package/shared/breadcrumb-item.cjs +2 -89
- package/shared/breadcrumb-item.js +1 -88
- package/shared/definition11.cjs +200 -4
- package/shared/definition11.js +198 -3
- package/shared/definition15.cjs +34 -91
- package/shared/definition15.js +35 -92
- package/shared/definition16.cjs +9 -7
- package/shared/definition16.js +9 -7
- package/shared/definition20.cjs +1 -1
- package/shared/definition20.js +1 -1
- package/shared/definition21.cjs +1 -1
- package/shared/definition21.js +1 -1
- package/shared/definition24.cjs +156 -2
- package/shared/definition24.js +157 -3
- package/shared/definition25.cjs +106 -56
- package/shared/definition25.js +106 -56
- package/shared/definition35.cjs +2 -2
- package/shared/definition35.js +2 -2
- package/shared/definition37.cjs +1 -1
- package/shared/definition37.js +1 -1
- package/shared/definition4.cjs +5 -6
- package/shared/definition4.js +1 -2
- package/shared/definition40.cjs +11 -4
- package/shared/definition40.js +8 -1
- package/shared/definition42.cjs +3 -22
- package/shared/definition42.js +2 -21
- package/shared/definition43.cjs +1 -2
- package/shared/definition43.js +1 -2
- package/shared/definition44.js +1 -1
- package/shared/definition47.cjs +369 -502
- package/shared/definition47.js +370 -503
- package/shared/definition5.cjs +4 -4
- package/shared/definition5.js +1 -1
- package/shared/definition51.cjs +1 -1
- package/shared/definition51.js +1 -1
- package/shared/definition52.cjs +63 -26
- package/shared/definition52.js +63 -26
- package/shared/definition56.cjs +41 -43
- package/shared/definition56.js +41 -43
- package/shared/definition57.cjs +1 -1
- package/shared/definition57.js +1 -1
- package/shared/definition58.cjs +1 -1
- package/shared/definition58.js +1 -1
- package/shared/definition59.cjs +1 -1
- package/shared/definition59.js +1 -1
- package/shared/definition64.cjs +278 -90
- package/shared/definition64.js +278 -90
- package/shared/definition7.cjs +1 -1
- package/shared/definition7.js +1 -1
- package/shared/definition8.cjs +1 -1
- package/shared/definition8.js +1 -1
- package/shared/enums.cjs +1 -0
- package/shared/enums.js +1 -0
- package/shared/form-associated.js +1 -1
- package/shared/{patterns → foundation/anchor}/anchor.d.ts +1 -1
- package/shared/foundation/button/button.d.ts +27 -0
- package/shared/foundation/button/button.template.d.ts +4 -0
- package/shared/foundation/button/index.d.ts +2 -0
- package/shared/foundation/patterns/index.d.ts +1 -0
- package/shared/index.cjs +22 -2
- package/shared/index.js +22 -2
- package/shared/key-codes2.js +1 -1
- package/shared/presentationDate.cjs +4328 -4042
- package/shared/presentationDate.js +4327 -4041
- package/shared/slider.template.cjs +23 -1
- package/shared/slider.template.js +21 -2
- package/styles/core/all.css +1 -1
- package/styles/core/theme.css +1 -1
- package/styles/core/typography.css +1 -1
- package/styles/tokens/theme-dark.css +4 -4
- package/styles/tokens/theme-light.css +4 -4
- package/styles/tokens/vivid-2-compat.css +1 -1
- package/vivid.api.json +52 -4
- package/shared/aria2.cjs +0 -11
- package/shared/aria2.js +0 -9
- package/shared/button.cjs +0 -202
- package/shared/button.js +0 -200
- /package/shared/{patterns → foundation/patterns}/aria-global.d.ts +0 -0
package/shared/definition15.js
CHANGED
|
@@ -1,102 +1,24 @@
|
|
|
1
|
-
import { F as FoundationElement,
|
|
1
|
+
import { F as FoundationElement, a as attr, o as observable, h as html, r as registerFactory } from './index.js';
|
|
2
2
|
import { a as iconRegistries } from './definition27.js';
|
|
3
3
|
import { a as applyMixinsWithObservables } from './applyMixinsWithObservables.js';
|
|
4
4
|
import { C as CheckableFormAssociated } from './form-associated.js';
|
|
5
|
-
import { a as keySpace$1 } from './key-codes.js';
|
|
6
5
|
import { e as errorText, f as formElements, F as FormElementSuccessText, a as FormElementHelperText, g as getFeedbackTemplate } from './form-elements.js';
|
|
7
6
|
import { I as Icon } from './icon.js';
|
|
8
7
|
import { w as when } from './when.js';
|
|
9
8
|
import { s as slotted } from './slotted.js';
|
|
10
9
|
import { c as classNames } from './class-names.js';
|
|
11
10
|
|
|
11
|
+
const styles = ":host{display:inline-flex;flex-direction:column;vertical-align:middle}:host([disabled]){cursor:not-allowed}.base.connotation-cta{--_connotation-color-primary: var(--vvd-checkbox-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-checkbox-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-checkbox-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-fierce: var(--vvd-checkbox-cta-fierce, var(--vvd-color-cta-700));--_connotation-color-intermediate: var(--vvd-checkbox-cta-intermediate, var(--vvd-color-cta-500));--_connotation-color-firm: var(--vvd-checkbox-cta-firm, var(--vvd-color-cta-600))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-checkbox-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-checkbox-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-checkbox-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-fierce: var(--vvd-checkbox-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-intermediate: var(--vvd-checkbox-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-firm: var(--vvd-checkbox-accent-firm, var(--vvd-color-canvas-text))}.base{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-intermediate)}.base:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-fierce)}.base:where(.checked,:checked):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: var(--_connotation-color-primary)}.base:where(.checked,:checked):where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: var(--_connotation-color-primary-increment)}.base:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.base:where(.readonly):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: var(--vvd-color-neutral-400)}.base{display:inline-flex;align-items:center;gap:8px;vertical-align:middle}.base:focus-visible{outline:none}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}.base.disabled{pointer-events:none}.control{position:relative;display:flex;flex-shrink:0;align-items:center;justify-content:center;border-radius:4px;background-color:var(--_appearance-color-fill);block-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2)));box-shadow:inset 0 0 0 2px var(--_appearance-color-outline);color:var(--_appearance-color-text);inline-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}.base:focus-visible .control{--focus-inset: -3px;--focus-stroke-gap-color: transparent}.base:focus-visible .control:before{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px));position:absolute;display:block;border-radius:2px;block-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2)));content:\"\";inline-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}.base.error:not(.checked) .control{background-color:var(--vvd-color-alert-50);box-shadow:inset 0 0 0 2px var(--vvd-color-alert-500)}.indicator{font-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2)) - 4px)}.base:not(.checked) .indicator.checkmark{display:none}.base.checked .indicator.minus,.base:not(.indeterminate) .indicator.minus{display:none}label{display:flex;flex-wrap:wrap;align-items:center;color:var(--vvd-color-canvas-text);column-gap:4px;cursor:pointer;font:var(--vvd-typography-base)}.hide-label label{display:none}.icon{font-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2))*.6);line-height:1}.message{margin-block-start:4px;--_low-ink-color: var(--vvd-color-neutral-600)}";
|
|
12
|
+
|
|
12
13
|
class _Checkbox extends FoundationElement {
|
|
13
14
|
}
|
|
14
|
-
/**
|
|
15
|
-
* A form-associated base class for the {@link @microsoft/fast-foundation#(Checkbox:class)} component.
|
|
16
|
-
*
|
|
17
|
-
* @internal
|
|
18
|
-
*/
|
|
19
15
|
class FormAssociatedCheckbox extends CheckableFormAssociated(_Checkbox) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.proxy = document.createElement("input");
|
|
19
|
+
}
|
|
24
20
|
}
|
|
25
21
|
|
|
26
|
-
/**
|
|
27
|
-
* A Checkbox Custom HTML Element.
|
|
28
|
-
* Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#checkbox | ARIA checkbox }.
|
|
29
|
-
*
|
|
30
|
-
* @slot checked-indicator - The checked indicator
|
|
31
|
-
* @slot indeterminate-indicator - The indeterminate indicator
|
|
32
|
-
* @slot - The default slot for the label
|
|
33
|
-
* @csspart control - The element representing the visual checkbox control
|
|
34
|
-
* @csspart label - The label
|
|
35
|
-
* @fires change - Emits a custom change event when the checked state changes
|
|
36
|
-
*
|
|
37
|
-
* @public
|
|
38
|
-
*/
|
|
39
|
-
let Checkbox$1 = class Checkbox extends FormAssociatedCheckbox {
|
|
40
|
-
constructor() {
|
|
41
|
-
super();
|
|
42
|
-
/**
|
|
43
|
-
* The element's value to be included in form submission when checked.
|
|
44
|
-
* Default to "on" to reach parity with input[type="checkbox"]
|
|
45
|
-
*
|
|
46
|
-
* @internal
|
|
47
|
-
*/
|
|
48
|
-
this.initialValue = "on";
|
|
49
|
-
/**
|
|
50
|
-
* The indeterminate state of the control
|
|
51
|
-
*/
|
|
52
|
-
this.indeterminate = false;
|
|
53
|
-
/**
|
|
54
|
-
* @internal
|
|
55
|
-
*/
|
|
56
|
-
this.keypressHandler = (e) => {
|
|
57
|
-
if (this.readOnly) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
switch (e.key) {
|
|
61
|
-
case keySpace$1:
|
|
62
|
-
if (this.indeterminate) {
|
|
63
|
-
this.indeterminate = false;
|
|
64
|
-
}
|
|
65
|
-
this.checked = !this.checked;
|
|
66
|
-
break;
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
/**
|
|
70
|
-
* @internal
|
|
71
|
-
*/
|
|
72
|
-
this.clickHandler = (e) => {
|
|
73
|
-
if (!this.disabled && !this.readOnly) {
|
|
74
|
-
if (this.indeterminate) {
|
|
75
|
-
this.indeterminate = false;
|
|
76
|
-
}
|
|
77
|
-
this.checked = !this.checked;
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
this.proxy.setAttribute("type", "checkbox");
|
|
81
|
-
}
|
|
82
|
-
readOnlyChanged() {
|
|
83
|
-
if (this.proxy instanceof HTMLInputElement) {
|
|
84
|
-
this.proxy.readOnly = this.readOnly;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
__decorate([
|
|
89
|
-
attr({ attribute: "readonly", mode: "boolean" })
|
|
90
|
-
], Checkbox$1.prototype, "readOnly", void 0);
|
|
91
|
-
__decorate([
|
|
92
|
-
observable
|
|
93
|
-
], Checkbox$1.prototype, "defaultSlottedNodes", void 0);
|
|
94
|
-
__decorate([
|
|
95
|
-
observable
|
|
96
|
-
], Checkbox$1.prototype, "indeterminate", void 0);
|
|
97
|
-
|
|
98
|
-
const styles = ":host{display:inline-flex;flex-direction:column;vertical-align:middle}:host([disabled]){cursor:not-allowed}.base.connotation-cta{--_connotation-color-primary: var(--vvd-checkbox-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-checkbox-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-checkbox-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-fierce: var(--vvd-checkbox-cta-fierce, var(--vvd-color-cta-700));--_connotation-color-intermediate: var(--vvd-checkbox-cta-intermediate, var(--vvd-color-cta-500));--_connotation-color-firm: var(--vvd-checkbox-cta-firm, var(--vvd-color-cta-600))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-checkbox-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-checkbox-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-checkbox-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-fierce: var(--vvd-checkbox-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-intermediate: var(--vvd-checkbox-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-firm: var(--vvd-checkbox-accent-firm, var(--vvd-color-canvas-text))}.base{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-intermediate)}.base:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-fierce)}.base:where(.checked,:checked):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: var(--_connotation-color-primary)}.base:where(.checked,:checked):where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: var(--_connotation-color-primary-increment)}.base:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.base:where(.readonly):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: var(--vvd-color-neutral-400)}.base{display:inline-flex;align-items:center;gap:8px;vertical-align:middle}.base:focus-visible{outline:none}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}.base.disabled{pointer-events:none}.control{position:relative;display:flex;flex-shrink:0;align-items:center;justify-content:center;border-radius:4px;background-color:var(--_appearance-color-fill);block-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2)));box-shadow:inset 0 0 0 2px var(--_appearance-color-outline);color:var(--_appearance-color-text);inline-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}.base:focus-visible .control{--focus-inset: -3px;--focus-stroke-gap-color: transparent}.base:focus-visible .control:before{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px));position:absolute;display:block;border-radius:2px;block-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2)));content:\"\";inline-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}.base.error:not(.checked) .control{background-color:var(--vvd-color-alert-50);box-shadow:inset 0 0 0 2px var(--vvd-color-alert-500)}.indicator{font-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2)) - 4px)}.base:not(.checked) .indicator.checkmark{display:none}.base.checked .indicator.minus,.base:not(.indeterminate) .indicator.minus{display:none}label{display:flex;flex-wrap:wrap;align-items:center;color:var(--vvd-color-canvas-text);column-gap:4px;cursor:pointer;font:var(--vvd-typography-base)}.hide-label label{display:none}.icon{font-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2))*.6);line-height:1}.message{margin-block-start:4px;--_low-ink-color: var(--vvd-color-neutral-600)}";
|
|
99
|
-
|
|
100
22
|
var __defProp = Object.defineProperty;
|
|
101
23
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
102
24
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
@@ -108,17 +30,24 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
108
30
|
return result;
|
|
109
31
|
};
|
|
110
32
|
const keySpace = " ";
|
|
111
|
-
let Checkbox = class extends
|
|
33
|
+
let Checkbox = class extends FormAssociatedCheckbox {
|
|
112
34
|
constructor() {
|
|
113
|
-
super(
|
|
35
|
+
super();
|
|
114
36
|
this.ariaLabel = null;
|
|
115
37
|
this.tabindex = null;
|
|
116
38
|
this.ariaChecked = null;
|
|
117
39
|
/**
|
|
118
|
-
*
|
|
40
|
+
* The element's value to be included in form submission when checked.
|
|
41
|
+
* Default to "on" to reach parity with input[type="checkbox"]
|
|
119
42
|
*
|
|
120
43
|
* @internal
|
|
121
44
|
*/
|
|
45
|
+
this.initialValue = "on";
|
|
46
|
+
this.defaultSlottedNodes = [];
|
|
47
|
+
this.indeterminate = false;
|
|
48
|
+
/**
|
|
49
|
+
* @internal
|
|
50
|
+
*/
|
|
122
51
|
this.keypressHandler = (event) => {
|
|
123
52
|
if (event.target instanceof HTMLAnchorElement) {
|
|
124
53
|
return true;
|
|
@@ -136,8 +65,6 @@ let Checkbox = class extends Checkbox$1 {
|
|
|
136
65
|
return false;
|
|
137
66
|
};
|
|
138
67
|
/**
|
|
139
|
-
* !remove method as will be implemented by fast-foundation in version after 2.46.9
|
|
140
|
-
*
|
|
141
68
|
* @internal
|
|
142
69
|
*/
|
|
143
70
|
this.clickHandler = (event) => {
|
|
@@ -152,9 +79,16 @@ let Checkbox = class extends Checkbox$1 {
|
|
|
152
79
|
}
|
|
153
80
|
return false;
|
|
154
81
|
};
|
|
82
|
+
this.proxy.setAttribute("type", "checkbox");
|
|
155
83
|
}
|
|
156
|
-
|
|
157
|
-
|
|
84
|
+
// Map to proxy element
|
|
85
|
+
/**
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
readOnlyChanged() {
|
|
89
|
+
if (this.proxy instanceof HTMLInputElement) {
|
|
90
|
+
this.proxy.readOnly = this.readOnly;
|
|
91
|
+
}
|
|
158
92
|
}
|
|
159
93
|
ariaCheckedChanged() {
|
|
160
94
|
if (this.ariaChecked === "mixed") {
|
|
@@ -187,6 +121,15 @@ __decorateClass([
|
|
|
187
121
|
__decorateClass([
|
|
188
122
|
attr({ attribute: "aria-checked" })
|
|
189
123
|
], Checkbox.prototype, "ariaChecked", 2);
|
|
124
|
+
__decorateClass([
|
|
125
|
+
attr({ attribute: "readonly", mode: "boolean" })
|
|
126
|
+
], Checkbox.prototype, "readOnly", 2);
|
|
127
|
+
__decorateClass([
|
|
128
|
+
observable
|
|
129
|
+
], Checkbox.prototype, "defaultSlottedNodes", 2);
|
|
130
|
+
__decorateClass([
|
|
131
|
+
observable
|
|
132
|
+
], Checkbox.prototype, "indeterminate", 2);
|
|
190
133
|
__decorateClass([
|
|
191
134
|
observable
|
|
192
135
|
], Checkbox.prototype, "slottedContent", 2);
|
package/shared/definition16.cjs
CHANGED
|
@@ -217,18 +217,20 @@ let Combobox$1 = class Combobox extends FormAssociatedCombobox {
|
|
|
217
217
|
* @internal
|
|
218
218
|
*/
|
|
219
219
|
clickHandler(e) {
|
|
220
|
-
|
|
220
|
+
const captured = e.target.closest(`option,[role=option]`);
|
|
221
|
+
if (this.disabled || (captured === null || captured === void 0 ? void 0 : captured.disabled)) {
|
|
221
222
|
return;
|
|
222
223
|
}
|
|
223
224
|
if (this.open) {
|
|
224
|
-
|
|
225
|
-
if (!captured || captured.disabled) {
|
|
225
|
+
if (e.composedPath()[0] === this.control) {
|
|
226
226
|
return;
|
|
227
227
|
}
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
228
|
+
if (captured) {
|
|
229
|
+
this.selectedOptions = [captured];
|
|
230
|
+
this.control.value = captured.text;
|
|
231
|
+
this.clearSelectionRange();
|
|
232
|
+
this.updateValue(true);
|
|
233
|
+
}
|
|
232
234
|
}
|
|
233
235
|
this.open = !this.open;
|
|
234
236
|
if (this.open) {
|
package/shared/definition16.js
CHANGED
|
@@ -215,18 +215,20 @@ let Combobox$1 = class Combobox extends FormAssociatedCombobox {
|
|
|
215
215
|
* @internal
|
|
216
216
|
*/
|
|
217
217
|
clickHandler(e) {
|
|
218
|
-
|
|
218
|
+
const captured = e.target.closest(`option,[role=option]`);
|
|
219
|
+
if (this.disabled || (captured === null || captured === void 0 ? void 0 : captured.disabled)) {
|
|
219
220
|
return;
|
|
220
221
|
}
|
|
221
222
|
if (this.open) {
|
|
222
|
-
|
|
223
|
-
if (!captured || captured.disabled) {
|
|
223
|
+
if (e.composedPath()[0] === this.control) {
|
|
224
224
|
return;
|
|
225
225
|
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
226
|
+
if (captured) {
|
|
227
|
+
this.selectedOptions = [captured];
|
|
228
|
+
this.control.value = captured.text;
|
|
229
|
+
this.clearSelectionRange();
|
|
230
|
+
this.updateValue(true);
|
|
231
|
+
}
|
|
230
232
|
}
|
|
231
233
|
this.open = !this.open;
|
|
232
234
|
if (this.open) {
|
package/shared/definition20.cjs
CHANGED
|
@@ -225,7 +225,7 @@ function renderDialButton(buttonTag) {
|
|
|
225
225
|
</${buttonTag}>`;
|
|
226
226
|
}
|
|
227
227
|
const DialPadTemplate = (context) => {
|
|
228
|
-
const buttonTag = context.tagFor(definition.Button);
|
|
228
|
+
const buttonTag = context.tagFor(definition.Button$1);
|
|
229
229
|
const iconTag = context.tagFor(icon.Icon);
|
|
230
230
|
const textFieldTag = context.tagFor(definition$1.TextField);
|
|
231
231
|
return index.html` <div class="${getClasses}">
|
package/shared/definition20.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { F as FoundationElement, a as attr, h as html, r as registerFactory } from './index.js';
|
|
2
|
-
import {
|
|
2
|
+
import { c as Button, a as buttonRegistries } from './definition11.js';
|
|
3
3
|
import { T as TextField, a as textFieldRegistries } from './definition56.js';
|
|
4
4
|
import { a as applyMixins } from './apply-mixins.js';
|
|
5
5
|
import { L as Localized } from './localized.js';
|
package/shared/definition21.cjs
CHANGED
|
@@ -286,7 +286,7 @@ function renderDismissButton(buttonTag) {
|
|
|
286
286
|
const DialogTemplate = (context) => {
|
|
287
287
|
const elevationTag = context.tagFor(definition.Elevation);
|
|
288
288
|
const iconTag = context.tagFor(icon$1.Icon);
|
|
289
|
-
const buttonTag = context.tagFor(definition$1.Button);
|
|
289
|
+
const buttonTag = context.tagFor(definition$1.Button$1);
|
|
290
290
|
return index.html`
|
|
291
291
|
<${elevationTag} dp="8">
|
|
292
292
|
<dialog class="${getClasses}"
|
package/shared/definition21.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { F as FoundationElement, a as attr, o as observable, h as html, r as registerFactory } from './index.js';
|
|
2
2
|
import { a as iconRegistries } from './definition27.js';
|
|
3
|
-
import {
|
|
3
|
+
import { c as Button, a as buttonRegistries } from './definition11.js';
|
|
4
4
|
import { E as Elevation, e as elevationRegistries } from './definition63.js';
|
|
5
5
|
import { h as handleEscapeKeyAndStopPropogation } from './index2.js';
|
|
6
6
|
import { a as applyMixins } from './apply-mixins.js';
|
package/shared/definition24.cjs
CHANGED
|
@@ -3,13 +3,167 @@
|
|
|
3
3
|
const index = require('./index.cjs');
|
|
4
4
|
const definition = require('./definition27.cjs');
|
|
5
5
|
const affix = require('./affix.cjs');
|
|
6
|
-
const
|
|
6
|
+
const formAssociated = require('./form-associated.cjs');
|
|
7
|
+
const ariaGlobal = require('./aria-global2.cjs');
|
|
7
8
|
const applyMixins = require('./apply-mixins.cjs');
|
|
8
9
|
const ref = require('./ref.cjs');
|
|
9
10
|
const classNames = require('./class-names.cjs');
|
|
10
11
|
|
|
11
12
|
const styles = ".control.connotation-accent{--_connotation-color-primary: var(--vvd-fab-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-fab-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-fab-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-contrast: var(--vvd-fab-accent-contrast, var(--vvd-color-neutral-800));--_connotation-color-fierce: var(--vvd-fab-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-firm: var(--vvd-fab-accent-firm, var(--vvd-color-canvas-text))}.control.connotation-cta{--_connotation-color-primary: var(--vvd-fab-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-fab-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-fab-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-contrast: var(--vvd-fab-cta-contrast, var(--vvd-color-cta-800));--_connotation-color-fierce: var(--vvd-fab-cta-fierce, var(--vvd-color-cta-700));--_connotation-color-firm: var(--vvd-fab-cta-firm, var(--vvd-color-cta-600))}.control.connotation-announcement{--_connotation-color-primary: var(--vvd-fab-announcement-primary, var(--vvd-color-announcement-500));--_connotation-color-primary-text: var(--vvd-fab-announcement-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-fab-announcement-primary-increment, var(--vvd-color-announcement-600));--_connotation-color-contrast: var(--vvd-fab-announcement-contrast, var(--vvd-color-announcement-800));--_connotation-color-fierce: var(--vvd-fab-announcement-fierce, var(--vvd-color-announcement-700));--_connotation-color-firm: var(--vvd-fab-announcement-firm, var(--vvd-color-announcement-600))}.control{--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: transparent}.control:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: transparent}.control:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: transparent}.control:where(.active,:active):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-fierce);--_appearance-color-outline: transparent}.control{--_fab-inline-padding: 12px;display:inline-flex;box-sizing:border-box;align-items:center;border:0 none;border-radius:var(--_fab-border-radius);background:var(--_appearance-color-fill, var(--_elevation-fill));block-size:var(--_fab-block-size);color:var(--_appearance-color-text, var(--vvd-color-canvas-text));column-gap:var(--fab-icon-gap);filter:var(--_elevation-shadow);font:var(--vvd-typography-base-bold);padding-inline:var(--_fab-inline-padding);transition:background-color .15s linear,filter .15s linear;vertical-align:middle}.control:not(.connotation-accent,.connotation-cta){--focus-stroke-gap-color: transparent}.control:focus-visible{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px))}@supports (user-select: none){.control{user-select:none}}.control.size-expanded{--_fab-border-radius: 40px;--_fab-block-size: calc(1px*(56 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_fab-inline-padding: 20px}.control.size-condensed{--_fab-border-radius: 20px;--_fab-block-size: calc(1px*(32 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;font:var(--vvd-typography-base-condensed-bold)}.control.size-condensed vwc-icon{font-size:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2)}.control:not(.size-expanded,.size-condensed){--_fab-border-radius: 24px;--_fab-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control:not(.size-condensed){font:var(--vvd-typography-base-bold)}.control.icon-only{--_fab-inline-padding: 0;border-radius:50%;place-content:center}@supports (aspect-ratio: 1){.control.icon-only{aspect-ratio:1}}@supports not (aspect-ratio: 1){.control.icon-only{inline-size:var(--_fab-block-size)}}.control:not(.icon-only){--fab-icon-gap: 10px}.control:disabled{--_elevation-fill: var(--vvd-color-surface-nonedp);--_elevation-shadow: var(--vvd-shadow-surface-nonedp);cursor:not-allowed}.control:not(:disabled){--_elevation-fill: var(--vvd-color-surface-4dp);--_elevation-shadow: var(--vvd-shadow-surface-4dp);cursor:pointer}.control:not(:disabled):hover{--_elevation-fill: var(--vvd-color-surface-12dp);--_elevation-shadow: var(--vvd-shadow-surface-12dp)}.control:not(:disabled):active{--_elevation-fill: var(--vvd-color-surface-24dp);--_elevation-shadow: var(--vvd-shadow-surface-24dp)}slot[name=icon]{line-height:1}.icon-trailing slot[name=icon]{display:inline-block;order:1}.control.size-extended slot[name=icon]{font-size:calc(calc(1px*(56 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 2.3333)}.control:not(.size-extended) slot[name=icon]{font-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2)}";
|
|
12
13
|
|
|
14
|
+
class _FoundationButton extends index.FoundationElement {
|
|
15
|
+
}
|
|
16
|
+
class FormAssociatedButton extends formAssociated.FormAssociated(_FoundationButton) {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.proxy = document.createElement("input");
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
var __defProp$1 = Object.defineProperty;
|
|
24
|
+
var __decorateClass$1 = (decorators, target, key, kind) => {
|
|
25
|
+
var result = void 0 ;
|
|
26
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
27
|
+
if (decorator = decorators[i])
|
|
28
|
+
result = (decorator(target, key, result) ) || result;
|
|
29
|
+
if (result) __defProp$1(target, key, result);
|
|
30
|
+
return result;
|
|
31
|
+
};
|
|
32
|
+
class VividFoundationButton extends FormAssociatedButton {
|
|
33
|
+
constructor() {
|
|
34
|
+
super(...arguments);
|
|
35
|
+
/**
|
|
36
|
+
* Prevent events to propagate if disabled
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
39
|
+
this.handleClick = (e) => {
|
|
40
|
+
if (this.disabled) {
|
|
41
|
+
e.stopPropagation();
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Submits the parent form
|
|
46
|
+
*/
|
|
47
|
+
this.handleSubmission = () => {
|
|
48
|
+
if (!this.form) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
this.attachProxy();
|
|
52
|
+
this.form.requestSubmit(this.proxy);
|
|
53
|
+
this.detachProxy();
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Resets the parent form
|
|
57
|
+
*/
|
|
58
|
+
this.handleFormReset = () => {
|
|
59
|
+
this.form?.reset();
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
// @ts-expect-error Function is delcared but not used
|
|
63
|
+
formactionChanged() {
|
|
64
|
+
if (this.proxy instanceof HTMLInputElement) {
|
|
65
|
+
this.proxy.formAction = this.formaction;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// @ts-expect-error Function is delcared but not used
|
|
69
|
+
formenctypeChanged() {
|
|
70
|
+
if (this.proxy instanceof HTMLInputElement) {
|
|
71
|
+
this.proxy.formEnctype = this.formenctype;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// @ts-expect-error Function is delcared but not used
|
|
75
|
+
formmethodChanged() {
|
|
76
|
+
if (this.proxy instanceof HTMLInputElement) {
|
|
77
|
+
this.proxy.formMethod = this.formmethod;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// @ts-expect-error Function is delcared but not used
|
|
81
|
+
formnovalidateChanged() {
|
|
82
|
+
if (this.proxy instanceof HTMLInputElement) {
|
|
83
|
+
this.proxy.formNoValidate = this.formnovalidate;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// @ts-expect-error Function is delcared but not used
|
|
87
|
+
formtargetChanged() {
|
|
88
|
+
if (this.proxy instanceof HTMLInputElement) {
|
|
89
|
+
this.proxy.formTarget = this.formtarget;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// @ts-expect-error Function is delcared but not used
|
|
93
|
+
typeChanged(previous, next) {
|
|
94
|
+
if (this.proxy instanceof HTMLInputElement) {
|
|
95
|
+
this.proxy.type = this.type;
|
|
96
|
+
}
|
|
97
|
+
next === "submit" && this.addEventListener("click", this.handleSubmission);
|
|
98
|
+
previous === "submit" && this.removeEventListener("click", this.handleSubmission);
|
|
99
|
+
next === "reset" && this.addEventListener("click", this.handleFormReset);
|
|
100
|
+
previous === "reset" && this.removeEventListener("click", this.handleFormReset);
|
|
101
|
+
}
|
|
102
|
+
/** {@inheritDoc (FormAssociated:interface).validate} */
|
|
103
|
+
validate() {
|
|
104
|
+
super.validate(this.control);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* @internal
|
|
108
|
+
*/
|
|
109
|
+
connectedCallback() {
|
|
110
|
+
super.connectedCallback();
|
|
111
|
+
this.proxy.setAttribute("type", this.type);
|
|
112
|
+
const elements = Array.from(this.control.children);
|
|
113
|
+
if (elements) {
|
|
114
|
+
elements.forEach((span) => {
|
|
115
|
+
span.addEventListener("click", this.handleClick);
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* @internal
|
|
121
|
+
*/
|
|
122
|
+
disconnectedCallback() {
|
|
123
|
+
super.disconnectedCallback();
|
|
124
|
+
const elements = Array.from(this.control.children);
|
|
125
|
+
if (elements) {
|
|
126
|
+
elements.forEach((span) => {
|
|
127
|
+
span.removeEventListener("click", this.handleClick);
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
__decorateClass$1([
|
|
133
|
+
index.attr({ mode: "boolean" })
|
|
134
|
+
], VividFoundationButton.prototype, "autofocus");
|
|
135
|
+
__decorateClass$1([
|
|
136
|
+
index.attr({ attribute: "form" })
|
|
137
|
+
], VividFoundationButton.prototype, "formId");
|
|
138
|
+
__decorateClass$1([
|
|
139
|
+
index.attr
|
|
140
|
+
], VividFoundationButton.prototype, "formaction");
|
|
141
|
+
__decorateClass$1([
|
|
142
|
+
index.attr
|
|
143
|
+
], VividFoundationButton.prototype, "formenctype");
|
|
144
|
+
__decorateClass$1([
|
|
145
|
+
index.attr
|
|
146
|
+
], VividFoundationButton.prototype, "formmethod");
|
|
147
|
+
__decorateClass$1([
|
|
148
|
+
index.attr({ mode: "boolean" })
|
|
149
|
+
], VividFoundationButton.prototype, "formnovalidate");
|
|
150
|
+
__decorateClass$1([
|
|
151
|
+
index.attr
|
|
152
|
+
], VividFoundationButton.prototype, "formtarget");
|
|
153
|
+
__decorateClass$1([
|
|
154
|
+
index.attr
|
|
155
|
+
], VividFoundationButton.prototype, "type");
|
|
156
|
+
class DelegatesARIAButton {
|
|
157
|
+
}
|
|
158
|
+
__decorateClass$1([
|
|
159
|
+
index.attr({ attribute: "aria-expanded" })
|
|
160
|
+
], DelegatesARIAButton.prototype, "ariaExpanded");
|
|
161
|
+
__decorateClass$1([
|
|
162
|
+
index.attr({ attribute: "aria-pressed" })
|
|
163
|
+
], DelegatesARIAButton.prototype, "ariaPressed");
|
|
164
|
+
applyMixins.applyMixins(DelegatesARIAButton, ariaGlobal.ARIAGlobalStatesAndProperties);
|
|
165
|
+
applyMixins.applyMixins(VividFoundationButton, DelegatesARIAButton);
|
|
166
|
+
|
|
13
167
|
var __defProp = Object.defineProperty;
|
|
14
168
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
15
169
|
var result = void 0 ;
|
|
@@ -19,7 +173,7 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
19
173
|
if (result) __defProp(target, key, result);
|
|
20
174
|
return result;
|
|
21
175
|
};
|
|
22
|
-
class Fab extends
|
|
176
|
+
class Fab extends VividFoundationButton {
|
|
23
177
|
}
|
|
24
178
|
__decorateClass([
|
|
25
179
|
index.attr
|
package/shared/definition24.js
CHANGED
|
@@ -1,13 +1,167 @@
|
|
|
1
|
-
import { a as attr, h as html, r as registerFactory } from './index.js';
|
|
1
|
+
import { F as FoundationElement, a as attr, h as html, r as registerFactory } from './index.js';
|
|
2
2
|
import { a as iconRegistries } from './definition27.js';
|
|
3
3
|
import { b as AffixIconWithTrailing, a as affixIconTemplateFactory, I as IconWrapper } from './affix.js';
|
|
4
|
-
import {
|
|
4
|
+
import { F as FormAssociated } from './form-associated.js';
|
|
5
|
+
import { A as ARIAGlobalStatesAndProperties } from './aria-global2.js';
|
|
5
6
|
import { a as applyMixins } from './apply-mixins.js';
|
|
6
7
|
import { r as ref } from './ref.js';
|
|
7
8
|
import { c as classNames } from './class-names.js';
|
|
8
9
|
|
|
9
10
|
const styles = ".control.connotation-accent{--_connotation-color-primary: var(--vvd-fab-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-fab-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-fab-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-contrast: var(--vvd-fab-accent-contrast, var(--vvd-color-neutral-800));--_connotation-color-fierce: var(--vvd-fab-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-firm: var(--vvd-fab-accent-firm, var(--vvd-color-canvas-text))}.control.connotation-cta{--_connotation-color-primary: var(--vvd-fab-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-fab-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-fab-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-contrast: var(--vvd-fab-cta-contrast, var(--vvd-color-cta-800));--_connotation-color-fierce: var(--vvd-fab-cta-fierce, var(--vvd-color-cta-700));--_connotation-color-firm: var(--vvd-fab-cta-firm, var(--vvd-color-cta-600))}.control.connotation-announcement{--_connotation-color-primary: var(--vvd-fab-announcement-primary, var(--vvd-color-announcement-500));--_connotation-color-primary-text: var(--vvd-fab-announcement-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-fab-announcement-primary-increment, var(--vvd-color-announcement-600));--_connotation-color-contrast: var(--vvd-fab-announcement-contrast, var(--vvd-color-announcement-800));--_connotation-color-fierce: var(--vvd-fab-announcement-fierce, var(--vvd-color-announcement-700));--_connotation-color-firm: var(--vvd-fab-announcement-firm, var(--vvd-color-announcement-600))}.control{--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: transparent}.control:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: transparent}.control:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: transparent}.control:where(.active,:active):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-fierce);--_appearance-color-outline: transparent}.control{--_fab-inline-padding: 12px;display:inline-flex;box-sizing:border-box;align-items:center;border:0 none;border-radius:var(--_fab-border-radius);background:var(--_appearance-color-fill, var(--_elevation-fill));block-size:var(--_fab-block-size);color:var(--_appearance-color-text, var(--vvd-color-canvas-text));column-gap:var(--fab-icon-gap);filter:var(--_elevation-shadow);font:var(--vvd-typography-base-bold);padding-inline:var(--_fab-inline-padding);transition:background-color .15s linear,filter .15s linear;vertical-align:middle}.control:not(.connotation-accent,.connotation-cta){--focus-stroke-gap-color: transparent}.control:focus-visible{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px))}@supports (user-select: none){.control{user-select:none}}.control.size-expanded{--_fab-border-radius: 40px;--_fab-block-size: calc(1px*(56 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_fab-inline-padding: 20px}.control.size-condensed{--_fab-border-radius: 20px;--_fab-block-size: calc(1px*(32 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;font:var(--vvd-typography-base-condensed-bold)}.control.size-condensed vwc-icon{font-size:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2)}.control:not(.size-expanded,.size-condensed){--_fab-border-radius: 24px;--_fab-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control:not(.size-condensed){font:var(--vvd-typography-base-bold)}.control.icon-only{--_fab-inline-padding: 0;border-radius:50%;place-content:center}@supports (aspect-ratio: 1){.control.icon-only{aspect-ratio:1}}@supports not (aspect-ratio: 1){.control.icon-only{inline-size:var(--_fab-block-size)}}.control:not(.icon-only){--fab-icon-gap: 10px}.control:disabled{--_elevation-fill: var(--vvd-color-surface-nonedp);--_elevation-shadow: var(--vvd-shadow-surface-nonedp);cursor:not-allowed}.control:not(:disabled){--_elevation-fill: var(--vvd-color-surface-4dp);--_elevation-shadow: var(--vvd-shadow-surface-4dp);cursor:pointer}.control:not(:disabled):hover{--_elevation-fill: var(--vvd-color-surface-12dp);--_elevation-shadow: var(--vvd-shadow-surface-12dp)}.control:not(:disabled):active{--_elevation-fill: var(--vvd-color-surface-24dp);--_elevation-shadow: var(--vvd-shadow-surface-24dp)}slot[name=icon]{line-height:1}.icon-trailing slot[name=icon]{display:inline-block;order:1}.control.size-extended slot[name=icon]{font-size:calc(calc(1px*(56 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 2.3333)}.control:not(.size-extended) slot[name=icon]{font-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2)}";
|
|
10
11
|
|
|
12
|
+
class _FoundationButton extends FoundationElement {
|
|
13
|
+
}
|
|
14
|
+
class FormAssociatedButton extends FormAssociated(_FoundationButton) {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.proxy = document.createElement("input");
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
var __defProp$1 = Object.defineProperty;
|
|
22
|
+
var __decorateClass$1 = (decorators, target, key, kind) => {
|
|
23
|
+
var result = void 0 ;
|
|
24
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
25
|
+
if (decorator = decorators[i])
|
|
26
|
+
result = (decorator(target, key, result) ) || result;
|
|
27
|
+
if (result) __defProp$1(target, key, result);
|
|
28
|
+
return result;
|
|
29
|
+
};
|
|
30
|
+
class VividFoundationButton extends FormAssociatedButton {
|
|
31
|
+
constructor() {
|
|
32
|
+
super(...arguments);
|
|
33
|
+
/**
|
|
34
|
+
* Prevent events to propagate if disabled
|
|
35
|
+
* @internal
|
|
36
|
+
*/
|
|
37
|
+
this.handleClick = (e) => {
|
|
38
|
+
if (this.disabled) {
|
|
39
|
+
e.stopPropagation();
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Submits the parent form
|
|
44
|
+
*/
|
|
45
|
+
this.handleSubmission = () => {
|
|
46
|
+
if (!this.form) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
this.attachProxy();
|
|
50
|
+
this.form.requestSubmit(this.proxy);
|
|
51
|
+
this.detachProxy();
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Resets the parent form
|
|
55
|
+
*/
|
|
56
|
+
this.handleFormReset = () => {
|
|
57
|
+
this.form?.reset();
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
// @ts-expect-error Function is delcared but not used
|
|
61
|
+
formactionChanged() {
|
|
62
|
+
if (this.proxy instanceof HTMLInputElement) {
|
|
63
|
+
this.proxy.formAction = this.formaction;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// @ts-expect-error Function is delcared but not used
|
|
67
|
+
formenctypeChanged() {
|
|
68
|
+
if (this.proxy instanceof HTMLInputElement) {
|
|
69
|
+
this.proxy.formEnctype = this.formenctype;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// @ts-expect-error Function is delcared but not used
|
|
73
|
+
formmethodChanged() {
|
|
74
|
+
if (this.proxy instanceof HTMLInputElement) {
|
|
75
|
+
this.proxy.formMethod = this.formmethod;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// @ts-expect-error Function is delcared but not used
|
|
79
|
+
formnovalidateChanged() {
|
|
80
|
+
if (this.proxy instanceof HTMLInputElement) {
|
|
81
|
+
this.proxy.formNoValidate = this.formnovalidate;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// @ts-expect-error Function is delcared but not used
|
|
85
|
+
formtargetChanged() {
|
|
86
|
+
if (this.proxy instanceof HTMLInputElement) {
|
|
87
|
+
this.proxy.formTarget = this.formtarget;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// @ts-expect-error Function is delcared but not used
|
|
91
|
+
typeChanged(previous, next) {
|
|
92
|
+
if (this.proxy instanceof HTMLInputElement) {
|
|
93
|
+
this.proxy.type = this.type;
|
|
94
|
+
}
|
|
95
|
+
next === "submit" && this.addEventListener("click", this.handleSubmission);
|
|
96
|
+
previous === "submit" && this.removeEventListener("click", this.handleSubmission);
|
|
97
|
+
next === "reset" && this.addEventListener("click", this.handleFormReset);
|
|
98
|
+
previous === "reset" && this.removeEventListener("click", this.handleFormReset);
|
|
99
|
+
}
|
|
100
|
+
/** {@inheritDoc (FormAssociated:interface).validate} */
|
|
101
|
+
validate() {
|
|
102
|
+
super.validate(this.control);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* @internal
|
|
106
|
+
*/
|
|
107
|
+
connectedCallback() {
|
|
108
|
+
super.connectedCallback();
|
|
109
|
+
this.proxy.setAttribute("type", this.type);
|
|
110
|
+
const elements = Array.from(this.control.children);
|
|
111
|
+
if (elements) {
|
|
112
|
+
elements.forEach((span) => {
|
|
113
|
+
span.addEventListener("click", this.handleClick);
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* @internal
|
|
119
|
+
*/
|
|
120
|
+
disconnectedCallback() {
|
|
121
|
+
super.disconnectedCallback();
|
|
122
|
+
const elements = Array.from(this.control.children);
|
|
123
|
+
if (elements) {
|
|
124
|
+
elements.forEach((span) => {
|
|
125
|
+
span.removeEventListener("click", this.handleClick);
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
__decorateClass$1([
|
|
131
|
+
attr({ mode: "boolean" })
|
|
132
|
+
], VividFoundationButton.prototype, "autofocus");
|
|
133
|
+
__decorateClass$1([
|
|
134
|
+
attr({ attribute: "form" })
|
|
135
|
+
], VividFoundationButton.prototype, "formId");
|
|
136
|
+
__decorateClass$1([
|
|
137
|
+
attr
|
|
138
|
+
], VividFoundationButton.prototype, "formaction");
|
|
139
|
+
__decorateClass$1([
|
|
140
|
+
attr
|
|
141
|
+
], VividFoundationButton.prototype, "formenctype");
|
|
142
|
+
__decorateClass$1([
|
|
143
|
+
attr
|
|
144
|
+
], VividFoundationButton.prototype, "formmethod");
|
|
145
|
+
__decorateClass$1([
|
|
146
|
+
attr({ mode: "boolean" })
|
|
147
|
+
], VividFoundationButton.prototype, "formnovalidate");
|
|
148
|
+
__decorateClass$1([
|
|
149
|
+
attr
|
|
150
|
+
], VividFoundationButton.prototype, "formtarget");
|
|
151
|
+
__decorateClass$1([
|
|
152
|
+
attr
|
|
153
|
+
], VividFoundationButton.prototype, "type");
|
|
154
|
+
class DelegatesARIAButton {
|
|
155
|
+
}
|
|
156
|
+
__decorateClass$1([
|
|
157
|
+
attr({ attribute: "aria-expanded" })
|
|
158
|
+
], DelegatesARIAButton.prototype, "ariaExpanded");
|
|
159
|
+
__decorateClass$1([
|
|
160
|
+
attr({ attribute: "aria-pressed" })
|
|
161
|
+
], DelegatesARIAButton.prototype, "ariaPressed");
|
|
162
|
+
applyMixins(DelegatesARIAButton, ARIAGlobalStatesAndProperties);
|
|
163
|
+
applyMixins(VividFoundationButton, DelegatesARIAButton);
|
|
164
|
+
|
|
11
165
|
var __defProp = Object.defineProperty;
|
|
12
166
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
13
167
|
var result = void 0 ;
|
|
@@ -17,7 +171,7 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
17
171
|
if (result) __defProp(target, key, result);
|
|
18
172
|
return result;
|
|
19
173
|
};
|
|
20
|
-
class Fab extends
|
|
174
|
+
class Fab extends VividFoundationButton {
|
|
21
175
|
}
|
|
22
176
|
__decorateClass([
|
|
23
177
|
attr
|