@vonage/vivid 4.9.0 → 4.11.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 +2792 -83
- 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 +8 -2
- package/lib/checkbox/checkbox.form-associated.d.ts +10 -0
- package/lib/dialog/dialog.d.ts +4 -0
- package/lib/divider/divider.d.ts +11 -2
- package/lib/enums.d.ts +1 -0
- package/lib/fab/fab.d.ts +1 -1
- package/lib/file-picker/file-picker.d.ts +3 -0
- package/lib/icon/icon.d.ts +2 -1
- 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/lib/text-field/text-field.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 +201 -5
- package/shared/definition11.js +199 -4
- package/shared/definition15.cjs +49 -90
- package/shared/definition15.js +50 -91
- package/shared/definition16.cjs +9 -7
- package/shared/definition16.js +9 -7
- package/shared/definition20.cjs +16 -11
- package/shared/definition20.js +16 -11
- package/shared/definition21.cjs +34 -4
- package/shared/definition21.js +34 -4
- package/shared/definition22.cjs +32 -51
- package/shared/definition22.js +33 -52
- 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/definition29.cjs +1 -1
- package/shared/definition29.js +1 -1
- package/shared/definition30.cjs +1 -1
- package/shared/definition30.js +1 -1
- 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 +5 -5
- package/shared/definition5.js +2 -2
- 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 +45 -43
- package/shared/definition56.js +45 -43
- package/shared/definition57.cjs +1 -1
- package/shared/definition57.js +1 -1
- package/shared/definition64.cjs +242 -79
- package/shared/definition64.js +242 -79
- 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/icon.cjs +11 -5
- package/shared/icon.js +11 -5
- package/shared/index.cjs +22 -2
- package/shared/index.js +22 -2
- package/shared/key-codes2.js +1 -1
- package/shared/patterns/form-elements/form-elements.d.ts +6 -6
- 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 +35 -14
- package/styles/tokens/theme-light.css +35 -14
- package/styles/tokens/vivid-2-compat.css +1 -1
- package/vivid.api.json +62 -5
- 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.cjs
CHANGED
|
@@ -4,101 +4,23 @@ const index = require('./index.cjs');
|
|
|
4
4
|
const definition = require('./definition27.cjs');
|
|
5
5
|
const applyMixinsWithObservables = require('./applyMixinsWithObservables.cjs');
|
|
6
6
|
const formAssociated = require('./form-associated.cjs');
|
|
7
|
-
const keyCodes = require('./key-codes.cjs');
|
|
8
7
|
const formElements = require('./form-elements.cjs');
|
|
9
8
|
const icon = require('./icon.cjs');
|
|
10
9
|
const when = require('./when.cjs');
|
|
11
10
|
const slotted = require('./slotted.cjs');
|
|
12
11
|
const classNames = require('./class-names.cjs');
|
|
13
12
|
|
|
13
|
+
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)}";
|
|
14
|
+
|
|
14
15
|
class _Checkbox extends index.FoundationElement {
|
|
15
16
|
}
|
|
16
|
-
/**
|
|
17
|
-
* A form-associated base class for the {@link @microsoft/fast-foundation#(Checkbox:class)} component.
|
|
18
|
-
*
|
|
19
|
-
* @internal
|
|
20
|
-
*/
|
|
21
17
|
class FormAssociatedCheckbox extends formAssociated.CheckableFormAssociated(_Checkbox) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
constructor() {
|
|
19
|
+
super(...arguments);
|
|
20
|
+
this.proxy = document.createElement("input");
|
|
21
|
+
}
|
|
26
22
|
}
|
|
27
23
|
|
|
28
|
-
/**
|
|
29
|
-
* A Checkbox Custom HTML Element.
|
|
30
|
-
* Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#checkbox | ARIA checkbox }.
|
|
31
|
-
*
|
|
32
|
-
* @slot checked-indicator - The checked indicator
|
|
33
|
-
* @slot indeterminate-indicator - The indeterminate indicator
|
|
34
|
-
* @slot - The default slot for the label
|
|
35
|
-
* @csspart control - The element representing the visual checkbox control
|
|
36
|
-
* @csspart label - The label
|
|
37
|
-
* @fires change - Emits a custom change event when the checked state changes
|
|
38
|
-
*
|
|
39
|
-
* @public
|
|
40
|
-
*/
|
|
41
|
-
let Checkbox$1 = class Checkbox extends FormAssociatedCheckbox {
|
|
42
|
-
constructor() {
|
|
43
|
-
super();
|
|
44
|
-
/**
|
|
45
|
-
* The element's value to be included in form submission when checked.
|
|
46
|
-
* Default to "on" to reach parity with input[type="checkbox"]
|
|
47
|
-
*
|
|
48
|
-
* @internal
|
|
49
|
-
*/
|
|
50
|
-
this.initialValue = "on";
|
|
51
|
-
/**
|
|
52
|
-
* The indeterminate state of the control
|
|
53
|
-
*/
|
|
54
|
-
this.indeterminate = false;
|
|
55
|
-
/**
|
|
56
|
-
* @internal
|
|
57
|
-
*/
|
|
58
|
-
this.keypressHandler = (e) => {
|
|
59
|
-
if (this.readOnly) {
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
switch (e.key) {
|
|
63
|
-
case keyCodes.keySpace:
|
|
64
|
-
if (this.indeterminate) {
|
|
65
|
-
this.indeterminate = false;
|
|
66
|
-
}
|
|
67
|
-
this.checked = !this.checked;
|
|
68
|
-
break;
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* @internal
|
|
73
|
-
*/
|
|
74
|
-
this.clickHandler = (e) => {
|
|
75
|
-
if (!this.disabled && !this.readOnly) {
|
|
76
|
-
if (this.indeterminate) {
|
|
77
|
-
this.indeterminate = false;
|
|
78
|
-
}
|
|
79
|
-
this.checked = !this.checked;
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
this.proxy.setAttribute("type", "checkbox");
|
|
83
|
-
}
|
|
84
|
-
readOnlyChanged() {
|
|
85
|
-
if (this.proxy instanceof HTMLInputElement) {
|
|
86
|
-
this.proxy.readOnly = this.readOnly;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
index.__decorate([
|
|
91
|
-
index.attr({ attribute: "readonly", mode: "boolean" })
|
|
92
|
-
], Checkbox$1.prototype, "readOnly", void 0);
|
|
93
|
-
index.__decorate([
|
|
94
|
-
index.observable
|
|
95
|
-
], Checkbox$1.prototype, "defaultSlottedNodes", void 0);
|
|
96
|
-
index.__decorate([
|
|
97
|
-
index.observable
|
|
98
|
-
], Checkbox$1.prototype, "indeterminate", void 0);
|
|
99
|
-
|
|
100
|
-
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)}";
|
|
101
|
-
|
|
102
24
|
var __defProp = Object.defineProperty;
|
|
103
25
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
104
26
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
@@ -110,16 +32,24 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
110
32
|
return result;
|
|
111
33
|
};
|
|
112
34
|
const keySpace = " ";
|
|
113
|
-
exports.Checkbox = class Checkbox extends
|
|
35
|
+
exports.Checkbox = class Checkbox extends FormAssociatedCheckbox {
|
|
114
36
|
constructor() {
|
|
115
|
-
super(
|
|
37
|
+
super();
|
|
116
38
|
this.ariaLabel = null;
|
|
117
39
|
this.tabindex = null;
|
|
40
|
+
this.ariaChecked = null;
|
|
118
41
|
/**
|
|
119
|
-
*
|
|
42
|
+
* The element's value to be included in form submission when checked.
|
|
43
|
+
* Default to "on" to reach parity with input[type="checkbox"]
|
|
120
44
|
*
|
|
121
45
|
* @internal
|
|
122
46
|
*/
|
|
47
|
+
this.initialValue = "on";
|
|
48
|
+
this.defaultSlottedNodes = [];
|
|
49
|
+
this.indeterminate = false;
|
|
50
|
+
/**
|
|
51
|
+
* @internal
|
|
52
|
+
*/
|
|
123
53
|
this.keypressHandler = (event) => {
|
|
124
54
|
if (event.target instanceof HTMLAnchorElement) {
|
|
125
55
|
return true;
|
|
@@ -137,8 +67,6 @@ exports.Checkbox = class Checkbox extends Checkbox$1 {
|
|
|
137
67
|
return false;
|
|
138
68
|
};
|
|
139
69
|
/**
|
|
140
|
-
* !remove method as will be implemented by fast-foundation in version after 2.46.9
|
|
141
|
-
*
|
|
142
70
|
* @internal
|
|
143
71
|
*/
|
|
144
72
|
this.clickHandler = (event) => {
|
|
@@ -153,12 +81,31 @@ exports.Checkbox = class Checkbox extends Checkbox$1 {
|
|
|
153
81
|
}
|
|
154
82
|
return false;
|
|
155
83
|
};
|
|
84
|
+
this.proxy.setAttribute("type", "checkbox");
|
|
85
|
+
}
|
|
86
|
+
// Map to proxy element
|
|
87
|
+
/**
|
|
88
|
+
* @internal
|
|
89
|
+
*/
|
|
90
|
+
readOnlyChanged() {
|
|
91
|
+
if (this.proxy instanceof HTMLInputElement) {
|
|
92
|
+
this.proxy.readOnly = this.readOnly;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
ariaCheckedChanged() {
|
|
96
|
+
if (this.ariaChecked === "mixed") {
|
|
97
|
+
this.indeterminate = true;
|
|
98
|
+
} else {
|
|
99
|
+
this.indeterminate = false;
|
|
100
|
+
this.checked = this.ariaChecked === "true" ? true : false;
|
|
101
|
+
}
|
|
156
102
|
}
|
|
157
103
|
/**
|
|
158
104
|
* @internal
|
|
159
105
|
*/
|
|
160
106
|
checkedChanged(prev, next) {
|
|
161
107
|
super.checkedChanged(prev, next);
|
|
108
|
+
this.ariaChecked = next == true ? "true" : "false";
|
|
162
109
|
if (prev !== void 0) {
|
|
163
110
|
this.$emit("input");
|
|
164
111
|
}
|
|
@@ -173,6 +120,18 @@ __decorateClass([
|
|
|
173
120
|
__decorateClass([
|
|
174
121
|
index.attr
|
|
175
122
|
], exports.Checkbox.prototype, "connotation", 2);
|
|
123
|
+
__decorateClass([
|
|
124
|
+
index.attr({ attribute: "aria-checked" })
|
|
125
|
+
], exports.Checkbox.prototype, "ariaChecked", 2);
|
|
126
|
+
__decorateClass([
|
|
127
|
+
index.attr({ attribute: "readonly", mode: "boolean" })
|
|
128
|
+
], exports.Checkbox.prototype, "readOnly", 2);
|
|
129
|
+
__decorateClass([
|
|
130
|
+
index.observable
|
|
131
|
+
], exports.Checkbox.prototype, "defaultSlottedNodes", 2);
|
|
132
|
+
__decorateClass([
|
|
133
|
+
index.observable
|
|
134
|
+
], exports.Checkbox.prototype, "indeterminate", 2);
|
|
176
135
|
__decorateClass([
|
|
177
136
|
index.observable
|
|
178
137
|
], exports.Checkbox.prototype, "slottedContent", 2);
|
|
@@ -213,7 +172,7 @@ const CheckboxTemplate = (context) => {
|
|
|
213
172
|
class="${getClasses}"
|
|
214
173
|
role="checkbox"
|
|
215
174
|
aria-label="${(x) => x.ariaLabel}"
|
|
216
|
-
aria-checked="${(x) => x.checked}"
|
|
175
|
+
aria-checked="${(x) => x.indeterminate ? "mixed" : x.checked}"
|
|
217
176
|
aria-required="${(x) => x.required}"
|
|
218
177
|
aria-disabled="${(x) => x.disabled}"
|
|
219
178
|
aria-readonly="${(x) => x.readOnly}"
|
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,16 +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;
|
|
38
|
+
this.ariaChecked = null;
|
|
116
39
|
/**
|
|
117
|
-
*
|
|
40
|
+
* The element's value to be included in form submission when checked.
|
|
41
|
+
* Default to "on" to reach parity with input[type="checkbox"]
|
|
118
42
|
*
|
|
119
43
|
* @internal
|
|
120
44
|
*/
|
|
45
|
+
this.initialValue = "on";
|
|
46
|
+
this.defaultSlottedNodes = [];
|
|
47
|
+
this.indeterminate = false;
|
|
48
|
+
/**
|
|
49
|
+
* @internal
|
|
50
|
+
*/
|
|
121
51
|
this.keypressHandler = (event) => {
|
|
122
52
|
if (event.target instanceof HTMLAnchorElement) {
|
|
123
53
|
return true;
|
|
@@ -135,8 +65,6 @@ let Checkbox = class extends Checkbox$1 {
|
|
|
135
65
|
return false;
|
|
136
66
|
};
|
|
137
67
|
/**
|
|
138
|
-
* !remove method as will be implemented by fast-foundation in version after 2.46.9
|
|
139
|
-
*
|
|
140
68
|
* @internal
|
|
141
69
|
*/
|
|
142
70
|
this.clickHandler = (event) => {
|
|
@@ -151,12 +79,31 @@ let Checkbox = class extends Checkbox$1 {
|
|
|
151
79
|
}
|
|
152
80
|
return false;
|
|
153
81
|
};
|
|
82
|
+
this.proxy.setAttribute("type", "checkbox");
|
|
83
|
+
}
|
|
84
|
+
// Map to proxy element
|
|
85
|
+
/**
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
readOnlyChanged() {
|
|
89
|
+
if (this.proxy instanceof HTMLInputElement) {
|
|
90
|
+
this.proxy.readOnly = this.readOnly;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
ariaCheckedChanged() {
|
|
94
|
+
if (this.ariaChecked === "mixed") {
|
|
95
|
+
this.indeterminate = true;
|
|
96
|
+
} else {
|
|
97
|
+
this.indeterminate = false;
|
|
98
|
+
this.checked = this.ariaChecked === "true" ? true : false;
|
|
99
|
+
}
|
|
154
100
|
}
|
|
155
101
|
/**
|
|
156
102
|
* @internal
|
|
157
103
|
*/
|
|
158
104
|
checkedChanged(prev, next) {
|
|
159
105
|
super.checkedChanged(prev, next);
|
|
106
|
+
this.ariaChecked = next == true ? "true" : "false";
|
|
160
107
|
if (prev !== void 0) {
|
|
161
108
|
this.$emit("input");
|
|
162
109
|
}
|
|
@@ -171,6 +118,18 @@ __decorateClass([
|
|
|
171
118
|
__decorateClass([
|
|
172
119
|
attr
|
|
173
120
|
], Checkbox.prototype, "connotation", 2);
|
|
121
|
+
__decorateClass([
|
|
122
|
+
attr({ attribute: "aria-checked" })
|
|
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);
|
|
174
133
|
__decorateClass([
|
|
175
134
|
observable
|
|
176
135
|
], Checkbox.prototype, "slottedContent", 2);
|
|
@@ -211,7 +170,7 @@ const CheckboxTemplate = (context) => {
|
|
|
211
170
|
class="${getClasses}"
|
|
212
171
|
role="checkbox"
|
|
213
172
|
aria-label="${(x) => x.ariaLabel}"
|
|
214
|
-
aria-checked="${(x) => x.checked}"
|
|
173
|
+
aria-checked="${(x) => x.indeterminate ? "mixed" : x.checked}"
|
|
215
174
|
aria-required="${(x) => x.required}"
|
|
216
175
|
aria-disabled="${(x) => x.disabled}"
|
|
217
176
|
aria-readonly="${(x) => x.readOnly}"
|
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
|
@@ -44,14 +44,6 @@ class DialPad extends index.FoundationElement {
|
|
|
44
44
|
this._onDial = () => {
|
|
45
45
|
this.callActive ? this.$emit("end-call") : this.$emit("dial");
|
|
46
46
|
};
|
|
47
|
-
/**
|
|
48
|
-
*
|
|
49
|
-
* @internal
|
|
50
|
-
*/
|
|
51
|
-
this._deleteLastCharacter = () => {
|
|
52
|
-
this.value = this.value.slice(0, -1);
|
|
53
|
-
this.$emit("change");
|
|
54
|
-
};
|
|
55
47
|
}
|
|
56
48
|
valueChanged(_oldValue, newValue) {
|
|
57
49
|
if (newValue !== void 0 && newValue !== null && this._textFieldEl && newValue !== this._textFieldEl.value) {
|
|
@@ -154,6 +146,14 @@ function syncFieldAndPadValues(x) {
|
|
|
154
146
|
function stopPropagation(_, { event: e }) {
|
|
155
147
|
e.stopImmediatePropagation();
|
|
156
148
|
}
|
|
149
|
+
function deleteLastCharacter(dialPad) {
|
|
150
|
+
dialPad.value = dialPad.value.slice(0, -1);
|
|
151
|
+
dialPad.$emit("input");
|
|
152
|
+
dialPad.$emit("change");
|
|
153
|
+
if (dialPad.value === "") {
|
|
154
|
+
dialPad._textFieldEl.focus();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
157
|
function renderTextField(textFieldTag, buttonTag) {
|
|
158
158
|
return index.html`<${textFieldTag} ${ref.ref(
|
|
159
159
|
"_textFieldEl"
|
|
@@ -170,8 +170,13 @@ function renderTextField(textFieldTag, buttonTag) {
|
|
|
170
170
|
${when.when(
|
|
171
171
|
(x) => x.value && x.value.length && x.value.length > 0,
|
|
172
172
|
index.html`<${buttonTag}
|
|
173
|
-
|
|
174
|
-
|
|
173
|
+
slot="action-items"
|
|
174
|
+
size='super-condensed'
|
|
175
|
+
icon="backspace-line"
|
|
176
|
+
aria-label="${(x) => x.deleteAriaLabel || x.locale.dialPad.deleteLabel}"
|
|
177
|
+
appearance='ghost'
|
|
178
|
+
?disabled="${(x) => x.disabled || x.callActive}"
|
|
179
|
+
@click="${(x) => deleteLastCharacter(x)}">
|
|
175
180
|
</${buttonTag}>`
|
|
176
181
|
)}
|
|
177
182
|
</${textFieldTag}>`;
|
|
@@ -220,7 +225,7 @@ function renderDialButton(buttonTag) {
|
|
|
220
225
|
</${buttonTag}>`;
|
|
221
226
|
}
|
|
222
227
|
const DialPadTemplate = (context) => {
|
|
223
|
-
const buttonTag = context.tagFor(definition.Button);
|
|
228
|
+
const buttonTag = context.tagFor(definition.Button$1);
|
|
224
229
|
const iconTag = context.tagFor(icon.Icon);
|
|
225
230
|
const textFieldTag = context.tagFor(definition$1.TextField);
|
|
226
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';
|
|
@@ -42,14 +42,6 @@ class DialPad extends FoundationElement {
|
|
|
42
42
|
this._onDial = () => {
|
|
43
43
|
this.callActive ? this.$emit("end-call") : this.$emit("dial");
|
|
44
44
|
};
|
|
45
|
-
/**
|
|
46
|
-
*
|
|
47
|
-
* @internal
|
|
48
|
-
*/
|
|
49
|
-
this._deleteLastCharacter = () => {
|
|
50
|
-
this.value = this.value.slice(0, -1);
|
|
51
|
-
this.$emit("change");
|
|
52
|
-
};
|
|
53
45
|
}
|
|
54
46
|
valueChanged(_oldValue, newValue) {
|
|
55
47
|
if (newValue !== void 0 && newValue !== null && this._textFieldEl && newValue !== this._textFieldEl.value) {
|
|
@@ -152,6 +144,14 @@ function syncFieldAndPadValues(x) {
|
|
|
152
144
|
function stopPropagation(_, { event: e }) {
|
|
153
145
|
e.stopImmediatePropagation();
|
|
154
146
|
}
|
|
147
|
+
function deleteLastCharacter(dialPad) {
|
|
148
|
+
dialPad.value = dialPad.value.slice(0, -1);
|
|
149
|
+
dialPad.$emit("input");
|
|
150
|
+
dialPad.$emit("change");
|
|
151
|
+
if (dialPad.value === "") {
|
|
152
|
+
dialPad._textFieldEl.focus();
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
155
|
function renderTextField(textFieldTag, buttonTag) {
|
|
156
156
|
return html`<${textFieldTag} ${ref(
|
|
157
157
|
"_textFieldEl"
|
|
@@ -168,8 +168,13 @@ function renderTextField(textFieldTag, buttonTag) {
|
|
|
168
168
|
${when(
|
|
169
169
|
(x) => x.value && x.value.length && x.value.length > 0,
|
|
170
170
|
html`<${buttonTag}
|
|
171
|
-
|
|
172
|
-
|
|
171
|
+
slot="action-items"
|
|
172
|
+
size='super-condensed'
|
|
173
|
+
icon="backspace-line"
|
|
174
|
+
aria-label="${(x) => x.deleteAriaLabel || x.locale.dialPad.deleteLabel}"
|
|
175
|
+
appearance='ghost'
|
|
176
|
+
?disabled="${(x) => x.disabled || x.callActive}"
|
|
177
|
+
@click="${(x) => deleteLastCharacter(x)}">
|
|
173
178
|
</${buttonTag}>`
|
|
174
179
|
)}
|
|
175
180
|
</${textFieldTag}>`;
|