@vonage/vivid 3.0.0-next.11 → 3.0.0-next.110
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/README.md +165 -4
- package/accordion/index.js +5 -14
- package/accordion-item/index.js +34 -41
- package/action-group/index.js +37 -0
- package/avatar/index.js +61 -0
- package/badge/index.js +23 -35
- package/banner/index.js +20 -115
- package/breadcrumb/index.js +22 -19
- package/breadcrumb-item/index.js +28 -25
- package/button/index.js +29 -690
- package/calendar/index.js +70 -69
- package/calendar-event/index.js +109 -0
- package/card/index.js +112 -0
- package/checkbox/index.js +178 -0
- package/custom-elements.json +3941 -0
- package/dialog/index.js +214 -0
- package/divider/index.js +27 -0
- package/elevation/index.js +10 -16
- package/fab/index.js +98 -0
- package/focus/index.js +18 -3
- package/header/index.js +63 -0
- package/icon/index.js +9 -12
- package/index.js +68 -22
- package/layout/index.js +6 -16
- package/lib/accordion-item/accordion-item.d.ts +2 -2
- package/lib/accordion-item/index.d.ts +0 -1
- package/lib/action-group/action-group.d.ts +10 -0
- package/lib/{sidenav-item/sidenav-item.template.d.ts → action-group/action-group.template.d.ts} +2 -2
- package/lib/{sidenav-item → action-group}/index.d.ts +1 -2
- package/lib/avatar/avatar.d.ts +15 -0
- package/lib/avatar/avatar.template.d.ts +4 -0
- package/lib/avatar/index.d.ts +2 -0
- package/lib/badge/badge.d.ts +3 -5
- package/lib/badge/index.d.ts +1 -2
- package/lib/banner/banner.d.ts +1 -1
- package/lib/banner/banner.template.d.ts +0 -2
- package/lib/breadcrumb/breadcrumb.template.d.ts +4 -0
- package/lib/breadcrumb-item/breadcrumb-item.d.ts +1 -1
- package/lib/breadcrumb-item/index.d.ts +0 -1
- package/lib/button/button.d.ts +4 -3
- package/lib/button/index.d.ts +1 -21
- package/lib/calendar/calendar.d.ts +3 -1
- package/lib/calendar/index.d.ts +0 -1
- package/lib/calendar-event/calendar-event.d.ts +14 -0
- package/lib/calendar-event/calendar-event.template.d.ts +4 -0
- package/lib/calendar-event/index.d.ts +2 -0
- package/lib/card/card.d.ts +10 -0
- package/lib/{text/text.template.d.ts → card/card.template.d.ts} +2 -2
- package/lib/{text → card}/index.d.ts +1 -1
- package/lib/checkbox/checkbox.d.ts +5 -0
- package/lib/checkbox/checkbox.template.d.ts +4 -0
- package/lib/checkbox/index.d.ts +2 -0
- package/lib/components.d.ts +32 -10
- package/lib/dialog/dialog.d.ts +20 -0
- package/lib/dialog/dialog.template.d.ts +4 -0
- package/lib/dialog/index.d.ts +2 -0
- package/lib/divider/divider.d.ts +3 -0
- package/lib/divider/divider.template.d.ts +4 -0
- package/lib/divider/index.d.ts +2 -0
- package/lib/elevation/elevation.d.ts +1 -0
- package/lib/elevation/index.d.ts +1 -1
- package/lib/enums.d.ts +19 -6
- package/lib/fab/fab.d.ts +13 -0
- package/lib/fab/fab.template.d.ts +4 -0
- package/lib/fab/index.d.ts +2 -0
- package/lib/focus/index.d.ts +1 -1
- package/lib/header/header.d.ts +5 -0
- package/lib/header/header.template.d.ts +4 -0
- package/lib/header/index.d.ts +2 -0
- package/lib/icon/icon.d.ts +5 -6
- package/lib/layout/index.d.ts +1 -1
- package/lib/layout/layout.d.ts +4 -4
- package/lib/listbox/index.d.ts +1 -0
- package/lib/listbox/listbox.d.ts +9 -0
- package/lib/listbox/listbox.template.d.ts +4 -0
- package/lib/menu/index.d.ts +10 -0
- package/lib/menu/menu.d.ts +10 -0
- package/lib/menu/menu.template.d.ts +3 -0
- package/lib/menu-item/index.d.ts +2 -0
- package/lib/menu-item/menu-item.d.ts +7 -0
- package/lib/menu-item/menu-item.template.d.ts +5 -0
- package/lib/nav/index.d.ts +2 -0
- package/lib/nav/nav.d.ts +3 -0
- package/lib/nav/nav.template.d.ts +4 -0
- package/lib/nav-disclosure/index.d.ts +2 -0
- package/lib/nav-disclosure/nav-disclosure.d.ts +10 -0
- package/lib/nav-disclosure/nav-disclosure.template.d.ts +4 -0
- package/lib/nav-item/index.d.ts +2 -0
- package/lib/{sidenav-item/sidenav-item.d.ts → nav-item/nav-item.d.ts} +2 -2
- package/lib/nav-item/nav-item.template.d.ts +4 -0
- package/lib/note/index.d.ts +2 -0
- package/lib/note/note.d.ts +10 -0
- package/lib/note/note.template.d.ts +4 -0
- package/lib/number-field/index.d.ts +2 -0
- package/lib/number-field/number-field.d.ts +14 -0
- package/lib/number-field/number-field.template.d.ts +4 -0
- package/lib/option/index.d.ts +2 -0
- package/lib/option/option.d.ts +9 -0
- package/lib/option/option.template.d.ts +4 -0
- package/lib/popup/index.d.ts +1 -3
- package/lib/popup/popup.d.ts +3 -2
- package/lib/progress/progress.d.ts +1 -1
- package/lib/progress-ring/progress-ring.d.ts +2 -1
- package/lib/radio/index.d.ts +2 -0
- package/lib/radio/radio.d.ts +4 -0
- package/lib/radio/radio.template.d.ts +4 -0
- package/lib/radio-group/index.d.ts +10 -0
- package/lib/radio-group/radio-group.d.ts +4 -0
- package/lib/radio-group/radio-group.template.d.ts +4 -0
- package/lib/side-drawer/index.d.ts +1 -1
- package/lib/side-drawer/side-drawer.d.ts +3 -2
- package/lib/slider/index.d.ts +2 -0
- package/lib/slider/slider.d.ts +4 -0
- package/lib/slider/slider.template.d.ts +4 -0
- package/lib/switch/index.d.ts +2 -0
- package/lib/switch/switch.d.ts +7 -0
- package/lib/switch/switch.template.d.ts +4 -0
- package/lib/text-anchor/text-anchor.d.ts +1 -1
- package/lib/text-area/index.d.ts +2 -0
- package/lib/text-area/text-area.d.ts +9 -0
- package/lib/text-area/text-area.template.d.ts +4 -0
- package/lib/text-field/index.d.ts +2 -0
- package/lib/text-field/text-field.d.ts +14 -0
- package/lib/text-field/text-field.template.d.ts +4 -0
- package/lib/tooltip/index.d.ts +0 -1
- package/lib/tooltip/tooltip.d.ts +7 -7
- package/listbox/index.js +1086 -0
- package/menu/index.js +357 -0
- package/menu-item/index.js +90 -0
- package/nav/index.js +17 -0
- package/nav-disclosure/index.js +80 -0
- package/nav-item/index.js +44 -0
- package/note/index.js +59 -0
- package/number-field/index.js +460 -0
- package/option/index.js +75 -0
- package/package.json +62 -10
- package/popup/index.js +35 -2036
- package/progress/index.js +33 -38
- package/progress-ring/index.js +13 -13
- package/radio/index.js +52 -0
- package/radio-group/index.js +435 -0
- package/shared/affix.js +2 -8
- package/shared/anchor.js +11 -3
- package/shared/apply-mixins.js +5 -4
- package/shared/aria-global.js +2 -86
- package/shared/aria.js +9 -0
- package/shared/base-progress.js +6 -1
- package/shared/breadcrumb-item.js +2 -2
- package/shared/button.js +23 -0
- package/shared/button2.js +200 -0
- package/shared/calendar-event.js +19 -0
- package/shared/design-system/index.d.ts +1 -1
- package/shared/dialog-polyfill.esm.js +858 -0
- package/shared/direction.js +20 -0
- package/shared/divider.js +55 -0
- package/shared/dom.js +8 -0
- package/shared/elevation.js +10 -0
- package/shared/enums.js +70 -0
- package/shared/es.object.assign.js +2 -59
- package/shared/es.promise.resolve.js +944 -0
- package/shared/es.regexp.to-string.js +58 -0
- package/shared/focus.js +11 -0
- package/shared/focus2.js +5 -0
- package/shared/form-associated.js +466 -0
- package/shared/form-elements.js +343 -0
- package/shared/icon.js +32 -1153
- package/shared/index.js +3780 -83
- package/shared/index2.js +7 -19
- package/shared/key-codes.js +97 -0
- package/shared/listbox-option.js +201 -0
- package/shared/menu-item.js +277 -0
- package/shared/numbers.js +25 -0
- package/shared/patterns/focus.d.ts +3 -0
- package/shared/patterns/form-elements/form-elements.d.ts +31 -0
- package/shared/patterns/form-elements/index.d.ts +1 -0
- package/shared/patterns/index.d.ts +2 -0
- package/shared/popup.js +1484 -0
- package/shared/radio.js +127 -0
- package/shared/ref.js +41 -0
- package/shared/slotted.js +1 -1
- package/shared/start-end.js +50 -0
- package/shared/string-trim.js +39 -0
- package/shared/text-anchor.js +2 -13
- package/shared/text-anchor.template.js +6 -5
- package/shared/utils/index.d.ts +1 -0
- package/side-drawer/index.js +38 -34
- package/slider/index.js +596 -0
- package/styles/core/all.css +86 -0
- package/styles/core/theme.css +11 -0
- package/styles/core/typography.css +80 -0
- package/styles/fonts/SpeziaCompleteVariableItalicWeb.woff2 +0 -0
- package/styles/fonts/SpeziaCompleteVariableUprightWeb.woff2 +0 -0
- package/styles/fonts/SpeziaMonoCompleteVariableWeb.woff2 +0 -0
- package/styles/fonts/spezia.css +9 -12
- package/styles/tokens/theme-dark.css +230 -0
- package/styles/tokens/theme-light.css +230 -0
- package/switch/index.js +153 -0
- package/text-anchor/index.js +8 -3
- package/text-area/index.js +288 -0
- package/text-field/index.js +129 -0
- package/tooltip/index.js +59 -43
- package/vivid.api.json +2979 -0
- package/lib/text/text.d.ts +0 -10
- package/shared/style-inject.es.js +0 -28
- package/shared/web.dom-collections.iterator.js +0 -1479
- package/sidenav-item/index.js +0 -38
- package/styles/themes/dark.css +0 -205
- package/styles/themes/light.css +0 -205
- package/text/index.js +0 -45
package/shared/radio.js
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { F as FoundationElement, _ as __decorate, a as attr, V as observable, b as __metadata } from './index.js';
|
|
2
|
+
import { C as CheckableFormAssociated } from './form-associated.js';
|
|
3
|
+
import { a as keySpace } from './key-codes.js';
|
|
4
|
+
|
|
5
|
+
class _Radio extends FoundationElement {
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* A form-associated base class for the {@link @microsoft/fast-foundation#(Radio:class)} component.
|
|
9
|
+
*
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
class FormAssociatedRadio extends CheckableFormAssociated(_Radio) {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.proxy = document.createElement("input");
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* A Radio Custom HTML Element.
|
|
21
|
+
* Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#radio | ARIA radio }.
|
|
22
|
+
*
|
|
23
|
+
* @slot checked-indicator - The checked indicator
|
|
24
|
+
* @slot - The default slot for the label
|
|
25
|
+
* @csspart control - The element representing the visual radio control
|
|
26
|
+
* @csspart label - The label
|
|
27
|
+
* @fires change - Emits a custom change event when the checked state changes
|
|
28
|
+
*
|
|
29
|
+
* @public
|
|
30
|
+
*/
|
|
31
|
+
class Radio$1 extends FormAssociatedRadio {
|
|
32
|
+
constructor() {
|
|
33
|
+
super();
|
|
34
|
+
/**
|
|
35
|
+
* The element's value to be included in form submission when checked.
|
|
36
|
+
* Default to "on" to reach parity with input[type="radio"]
|
|
37
|
+
*
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
this.initialValue = "on";
|
|
41
|
+
/**
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
this.keypressHandler = (e) => {
|
|
45
|
+
switch (e.key) {
|
|
46
|
+
case keySpace:
|
|
47
|
+
if (!this.checked && !this.readOnly) {
|
|
48
|
+
this.checked = true;
|
|
49
|
+
}
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
return true;
|
|
53
|
+
};
|
|
54
|
+
this.proxy.setAttribute("type", "radio");
|
|
55
|
+
}
|
|
56
|
+
readOnlyChanged() {
|
|
57
|
+
if (this.proxy instanceof HTMLInputElement) {
|
|
58
|
+
this.proxy.readOnly = this.readOnly;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* @internal
|
|
63
|
+
*/
|
|
64
|
+
defaultCheckedChanged() {
|
|
65
|
+
var _a;
|
|
66
|
+
if (this.$fastController.isConnected && !this.dirtyChecked) {
|
|
67
|
+
// Setting this.checked will cause us to enter a dirty state,
|
|
68
|
+
// but if we are clean when defaultChecked is changed, we want to stay
|
|
69
|
+
// in a clean state, so reset this.dirtyChecked
|
|
70
|
+
if (!this.isInsideRadioGroup()) {
|
|
71
|
+
this.checked = (_a = this.defaultChecked) !== null && _a !== void 0 ? _a : false;
|
|
72
|
+
this.dirtyChecked = false;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* @internal
|
|
78
|
+
*/
|
|
79
|
+
connectedCallback() {
|
|
80
|
+
var _a, _b;
|
|
81
|
+
super.connectedCallback();
|
|
82
|
+
this.validate();
|
|
83
|
+
if (((_a = this.parentElement) === null || _a === void 0 ? void 0 : _a.getAttribute("role")) !== "radiogroup" &&
|
|
84
|
+
this.getAttribute("tabindex") === null) {
|
|
85
|
+
if (!this.disabled) {
|
|
86
|
+
this.setAttribute("tabindex", "0");
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (this.checkedAttribute) {
|
|
90
|
+
if (!this.dirtyChecked) {
|
|
91
|
+
// Setting this.checked will cause us to enter a dirty state,
|
|
92
|
+
// but if we are clean when defaultChecked is changed, we want to stay
|
|
93
|
+
// in a clean state, so reset this.dirtyChecked
|
|
94
|
+
if (!this.isInsideRadioGroup()) {
|
|
95
|
+
this.checked = (_b = this.defaultChecked) !== null && _b !== void 0 ? _b : false;
|
|
96
|
+
this.dirtyChecked = false;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
isInsideRadioGroup() {
|
|
102
|
+
const parent = this.closest("[role=radiogroup]");
|
|
103
|
+
return parent !== null;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* @internal
|
|
107
|
+
*/
|
|
108
|
+
clickHandler(e) {
|
|
109
|
+
if (!this.disabled && !this.readOnly && !this.checked) {
|
|
110
|
+
this.checked = true;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
__decorate([
|
|
115
|
+
attr({ attribute: "readonly", mode: "boolean" })
|
|
116
|
+
], Radio$1.prototype, "readOnly", void 0);
|
|
117
|
+
__decorate([
|
|
118
|
+
observable
|
|
119
|
+
], Radio$1.prototype, "name", void 0);
|
|
120
|
+
__decorate([
|
|
121
|
+
observable
|
|
122
|
+
], Radio$1.prototype, "defaultSlottedNodes", void 0);
|
|
123
|
+
|
|
124
|
+
class Radio extends Radio$1 {}
|
|
125
|
+
__decorate([attr, __metadata("design:type", String)], Radio.prototype, "label", void 0);
|
|
126
|
+
|
|
127
|
+
export { Radio as R };
|
package/shared/ref.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { a0 as AttachedBehaviorHTMLDirective } from './index.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The runtime behavior for template references.
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
class RefBehavior {
|
|
8
|
+
/**
|
|
9
|
+
* Creates an instance of RefBehavior.
|
|
10
|
+
* @param target - The element to reference.
|
|
11
|
+
* @param propertyName - The name of the property to assign the reference to.
|
|
12
|
+
*/
|
|
13
|
+
constructor(target, propertyName) {
|
|
14
|
+
this.target = target;
|
|
15
|
+
this.propertyName = propertyName;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Bind this behavior to the source.
|
|
19
|
+
* @param source - The source to bind to.
|
|
20
|
+
* @param context - The execution context that the binding is operating within.
|
|
21
|
+
*/
|
|
22
|
+
bind(source) {
|
|
23
|
+
source[this.propertyName] = this.target;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Unbinds this behavior from the source.
|
|
27
|
+
* @param source - The source to unbind from.
|
|
28
|
+
*/
|
|
29
|
+
/* eslint-disable-next-line @typescript-eslint/no-empty-function */
|
|
30
|
+
unbind() { }
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* A directive that observes the updates a property with a reference to the element.
|
|
34
|
+
* @param propertyName - The name of the property to assign the reference to.
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
function ref(propertyName) {
|
|
38
|
+
return new AttachedBehaviorHTMLDirective("fast-ref", RefBehavior, propertyName);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export { ref as r };
|
package/shared/slotted.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Z as Observable, $ as emptyArray, a0 as AttachedBehaviorHTMLDirective } from './index.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Creates a function that can be used to filter a Node array, selecting only elements.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { h as html } from './index.js';
|
|
2
|
+
import { r as ref } from './ref.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* A mixin class implementing start and end elements.
|
|
6
|
+
* These are generally used to decorate text elements with icons or other visual indicators.
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
class StartEnd {
|
|
10
|
+
handleStartContentChange() {
|
|
11
|
+
this.startContainer.classList.toggle("start", this.start.assignedNodes().length > 0);
|
|
12
|
+
}
|
|
13
|
+
handleEndContentChange() {
|
|
14
|
+
this.endContainer.classList.toggle("end", this.end.assignedNodes().length > 0);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The template for the end element.
|
|
19
|
+
* For use with {@link StartEnd}
|
|
20
|
+
*
|
|
21
|
+
* @public
|
|
22
|
+
* @deprecated - use endSlotTemplate
|
|
23
|
+
*/
|
|
24
|
+
html `
|
|
25
|
+
<span part="end" ${ref("endContainer")}>
|
|
26
|
+
<slot
|
|
27
|
+
name="end"
|
|
28
|
+
${ref("end")}
|
|
29
|
+
@slotchange="${x => x.handleEndContentChange()}"
|
|
30
|
+
></slot>
|
|
31
|
+
</span>
|
|
32
|
+
`;
|
|
33
|
+
/**
|
|
34
|
+
* The template for the start element.
|
|
35
|
+
* For use with {@link StartEnd}
|
|
36
|
+
*
|
|
37
|
+
* @public
|
|
38
|
+
* @deprecated - use startSlotTemplate
|
|
39
|
+
*/
|
|
40
|
+
html `
|
|
41
|
+
<span part="start" ${ref("startContainer")}>
|
|
42
|
+
<slot
|
|
43
|
+
name="start"
|
|
44
|
+
${ref("start")}
|
|
45
|
+
@slotchange="${x => x.handleStartContentChange()}"
|
|
46
|
+
></slot>
|
|
47
|
+
</span>
|
|
48
|
+
`;
|
|
49
|
+
|
|
50
|
+
export { StartEnd as S };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { n as functionUncurryThis, W as requireObjectCoercible$1, X as toString$1 } from './index.js';
|
|
2
|
+
|
|
3
|
+
// a string of all valid unicode whitespaces
|
|
4
|
+
var whitespaces$1 = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
|
|
5
|
+
'\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
|
|
6
|
+
|
|
7
|
+
var uncurryThis = functionUncurryThis;
|
|
8
|
+
var requireObjectCoercible = requireObjectCoercible$1;
|
|
9
|
+
var toString = toString$1;
|
|
10
|
+
var whitespaces = whitespaces$1;
|
|
11
|
+
|
|
12
|
+
var replace = uncurryThis(''.replace);
|
|
13
|
+
var whitespace = '[' + whitespaces + ']';
|
|
14
|
+
var ltrim = RegExp('^' + whitespace + whitespace + '*');
|
|
15
|
+
var rtrim = RegExp(whitespace + whitespace + '*$');
|
|
16
|
+
|
|
17
|
+
// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
|
|
18
|
+
var createMethod = function (TYPE) {
|
|
19
|
+
return function ($this) {
|
|
20
|
+
var string = toString(requireObjectCoercible($this));
|
|
21
|
+
if (TYPE & 1) string = replace(string, ltrim, '');
|
|
22
|
+
if (TYPE & 2) string = replace(string, rtrim, '');
|
|
23
|
+
return string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
var stringTrim = {
|
|
28
|
+
// `String.prototype.{ trimLeft, trimStart }` methods
|
|
29
|
+
// https://tc39.es/ecma262/#sec-string.prototype.trimstart
|
|
30
|
+
start: createMethod(1),
|
|
31
|
+
// `String.prototype.{ trimRight, trimEnd }` methods
|
|
32
|
+
// https://tc39.es/ecma262/#sec-string.prototype.trimend
|
|
33
|
+
end: createMethod(2),
|
|
34
|
+
// `String.prototype.trim` method
|
|
35
|
+
// https://tc39.es/ecma262/#sec-string.prototype.trim
|
|
36
|
+
trim: createMethod(3)
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export { stringTrim as s, whitespaces$1 as w };
|
package/shared/text-anchor.js
CHANGED
|
@@ -1,21 +1,10 @@
|
|
|
1
|
-
import './web.dom-collections.iterator.js';
|
|
2
1
|
import { _ as __decorate, a as attr, b as __metadata } from './index.js';
|
|
3
2
|
import { b as AffixIcon } from './affix.js';
|
|
4
3
|
import { A as Anchor } from './anchor.js';
|
|
5
4
|
import { a as applyMixins } from './apply-mixins.js';
|
|
6
5
|
|
|
7
|
-
class TextAnchor extends Anchor {
|
|
8
|
-
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.text = '';
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
__decorate([attr({
|
|
16
|
-
mode: 'fromView'
|
|
17
|
-
}), __metadata("design:type", Object)], TextAnchor.prototype, "text", void 0);
|
|
18
|
-
|
|
6
|
+
class TextAnchor extends Anchor {}
|
|
7
|
+
__decorate([attr, __metadata("design:type", String)], TextAnchor.prototype, "text", void 0);
|
|
19
8
|
applyMixins(TextAnchor, AffixIcon);
|
|
20
9
|
|
|
21
10
|
export { TextAnchor as T };
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { a as affixIconTemplateFactory } from './affix.js';
|
|
2
|
+
import { f as focusTemplateFactory } from './focus.js';
|
|
2
3
|
import { h as html } from './index.js';
|
|
3
|
-
import { r as ref } from './
|
|
4
|
+
import { r as ref } from './ref.js';
|
|
4
5
|
import { c as classNames } from './class-names.js';
|
|
5
6
|
|
|
6
7
|
let _ = t => t,
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
_t;
|
|
9
9
|
const getClasses = ({
|
|
10
10
|
text,
|
|
11
11
|
icon
|
|
12
12
|
}) => classNames('control', ['icon-only', !text && !!icon]);
|
|
13
|
-
|
|
14
13
|
const textAnchorTemplate = context => {
|
|
15
14
|
const affixIconTemplate = affixIconTemplateFactory(context);
|
|
15
|
+
const focusTemplate = focusTemplateFactory(context);
|
|
16
16
|
return html(_t || (_t = _`<a
|
|
17
17
|
class="${0}"
|
|
18
18
|
download="${0}"
|
|
@@ -47,8 +47,9 @@ const textAnchorTemplate = context => {
|
|
|
47
47
|
>
|
|
48
48
|
${0}
|
|
49
49
|
${0}
|
|
50
|
+
${0}
|
|
50
51
|
</a>
|
|
51
|
-
`), getClasses, x => x.download, x => x.href, x => x.hreflang, x => x.ping, x => x.referrerpolicy, x => x.rel, x => x.target, x => x.type, x => x.ariaAtomic, x => x.ariaBusy, x => x.ariaControls, x => x.ariaCurrent, x => x.ariaDescribedby, x => x.ariaDetails, x => x.ariaDisabled, x => x.ariaErrormessage, x => x.ariaExpanded, x => x.ariaFlowto, x => x.ariaHaspopup, x => x.ariaHidden, x => x.ariaInvalid, x => x.ariaKeyshortcuts, x => x.ariaLabel, x => x.ariaLabelledby, x => x.ariaLive, x => x.ariaOwns, x => x.ariaRelevant, x => x.ariaRoledescription, ref('control'), x => affixIconTemplate(x.icon), x => x.text);
|
|
52
|
+
`), getClasses, x => x.download, x => x.href, x => x.hreflang, x => x.ping, x => x.referrerpolicy, x => x.rel, x => x.target, x => x.type, x => x.ariaAtomic, x => x.ariaBusy, x => x.ariaControls, x => x.ariaCurrent, x => x.ariaDescribedby, x => x.ariaDetails, x => x.ariaDisabled, x => x.ariaErrormessage, x => x.ariaExpanded, x => x.ariaFlowto, x => x.ariaHaspopup, x => x.ariaHidden, x => x.ariaInvalid, x => x.ariaKeyshortcuts, x => x.ariaLabel, x => x.ariaLabelledby, x => x.ariaLive, x => x.ariaOwns, x => x.ariaRelevant, x => x.ariaRoledescription, ref('control'), () => focusTemplate, x => affixIconTemplate(x.icon), x => x.text);
|
|
52
53
|
};
|
|
53
54
|
|
|
54
55
|
export { textAnchorTemplate as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const loadComponentsModules: (components: string[], prefix: string) => Promise<CustomElementConstructor[]>;
|
package/side-drawer/index.js
CHANGED
|
@@ -1,81 +1,85 @@
|
|
|
1
|
-
import { F as FoundationElement, _ as __decorate, a as attr, b as __metadata, h as html, d as designSystem } from '../shared/index.js';
|
|
2
|
-
import '../shared/web.dom-collections.iterator.js';
|
|
3
|
-
import { s as styleInject } from '../shared/style-inject.es.js';
|
|
1
|
+
import { F as FoundationElement, Y as __classPrivateFieldGet, _ as __decorate, a as attr, b as __metadata, h as html, d as designSystem, g as getPrefix } from '../shared/index.js';
|
|
4
2
|
import { w as when } from '../shared/when.js';
|
|
5
|
-
import { s as slotted } from '../shared/slotted.js';
|
|
6
3
|
import { c as classNames } from '../shared/class-names.js';
|
|
7
4
|
|
|
5
|
+
var _SideDrawer_instances, _SideDrawer_close, _SideDrawer_open;
|
|
8
6
|
class SideDrawer extends FoundationElement {
|
|
9
7
|
constructor() {
|
|
10
8
|
super(...arguments);
|
|
9
|
+
_SideDrawer_instances.add(this);
|
|
11
10
|
this.alternate = false;
|
|
12
11
|
this.modal = false;
|
|
13
12
|
this.open = false;
|
|
13
|
+
this.trailing = false;
|
|
14
|
+
}
|
|
15
|
+
attributeChangedCallback(name, oldValue, newValue) {
|
|
16
|
+
super.attributeChangedCallback(name, oldValue, newValue);
|
|
17
|
+
switch (name) {
|
|
18
|
+
case 'open':
|
|
19
|
+
{
|
|
20
|
+
this.open ? __classPrivateFieldGet(this, _SideDrawer_instances, "m", _SideDrawer_open).call(this) : __classPrivateFieldGet(this, _SideDrawer_instances, "m", _SideDrawer_close).call(this);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
14
23
|
}
|
|
15
|
-
|
|
16
24
|
}
|
|
17
|
-
|
|
25
|
+
_SideDrawer_instances = new WeakSet(), _SideDrawer_close = function _SideDrawer_close() {
|
|
26
|
+
this.$emit('close');
|
|
27
|
+
}, _SideDrawer_open = function _SideDrawer_open() {
|
|
28
|
+
this.$emit('open');
|
|
29
|
+
};
|
|
18
30
|
__decorate([attr({
|
|
19
31
|
mode: 'boolean'
|
|
20
32
|
}), __metadata("design:type", Object)], SideDrawer.prototype, "alternate", void 0);
|
|
21
|
-
|
|
22
33
|
__decorate([attr({
|
|
23
34
|
mode: 'boolean'
|
|
24
35
|
}), __metadata("design:type", Object)], SideDrawer.prototype, "modal", void 0);
|
|
25
|
-
|
|
26
36
|
__decorate([attr({
|
|
27
37
|
mode: 'boolean'
|
|
28
38
|
}), __metadata("design:type", Object)], SideDrawer.prototype, "open", void 0);
|
|
39
|
+
__decorate([attr({
|
|
40
|
+
mode: 'boolean'
|
|
41
|
+
}), __metadata("design:type", Object)], SideDrawer.prototype, "trailing", void 0);
|
|
29
42
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
var css_248z = "/*\n Do not edit directly\n Generated on Wed, 27 Apr 2022 11:58:36 GMT\n*/\n:host {\n display: flex;\n block-size: 100vh;\n}\n\n:host([position=end]) {\n flex-direction: row-reverse;\n}\n\n.control {\n position: fixed;\n z-index: var(--side-drawer-z-index, 6);\n top: auto;\n bottom: 0;\n display: flex;\n overflow: auto;\n flex-direction: column;\n flex-shrink: 0;\n background-color: var(--side-drawer-background-color, var(--vvd-color-canvas));\n block-size: inherit;\n color: var(--side-drawer-color, var(--vvd-color-on-canvas));\n inline-size: var(--side-drawer-inline-size, 280px);\n}\n.control.alternate {\n background-color: var(--vvd-color-canvas);\n}\n.control:not(.open).end {\n transform: translateX(100%);\n}\n.control:not(.open):not(.end) {\n transform: translateX(-100%);\n}\n.control.control.open:not(.modal) + .side-drawer-app-content {\n font: 400 ultra-condensed 16px / 24px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n margin-inline-start: var(--side-drawer-inline-size, 280px);\n}\n.control.control.open:not(.modal) + .side-drawer-app-content ::slotted(vwc-top-app-bar),\n.control.control.open:not(.modal) + .side-drawer-app-content ::slotted(vwc-top-app-bar-fixed) {\n --mdc-top-app-bar-width: calc(100% - var(--side-drawer-inline-size, 280px));\n}\n.control.control.open:not(.modal).end + .side-drawer-app-content {\n margin-inline-end: var(--side-drawer-inline-size, 280px);\n margin-inline-start: 0;\n}\n@media (prefers-reduced-motion: no-preference) {\n .control {\n transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n }\n}\n\n.side-drawer-top-bar {\n font: 500 condensed 26px / 36px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n padding-inline-end: var(--side-drawer-padding-top-bar, 16px);\n padding-inline-start: var(--side-drawer-padding-top-bar, 16px);\n}\n\n.side-drawer-content {\n background-color: inherit;\n overflow-y: auto;\n padding-inline-end: var(--side-drawer-padding-body, 16px);\n padding-inline-start: var(--side-drawer-padding-body, 16px);\n}\n\n.modal:not(.end) {\n inset-inline-start: 0;\n}\n.modal.end {\n inset-inline-end: 0;\n}\n\n.scrim {\n background-color: var(--vvd-color-on-canvas);\n opacity: 0.5;\n position: fixed;\n z-index: calc(6 - 1);\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}";
|
|
33
|
-
styleInject(css_248z);
|
|
43
|
+
var css_248z = "/**\n * Do not edit directly\n * Generated on Sun, 04 Dec 2022 15:37:45 GMT\n */\n.control {\n position: fixed;\n z-index: 1;\n background-color: var(--vvd-color-canvas);\n color: var(--vvd-color-canvas-text);\n inline-size: 280px;\n inset-block: 0;\n overflow-y: auto;\n}\n.control[part~=vvd-theme-alternate] {\n background-color: var(--vvd-color-canvas);\n color: var(--vvd-color-canvas-text);\n color-scheme: var(--vvd-color-scheme);\n}\n.control.trailing {\n inset-inline-end: 0;\n}\n.control:not(.open).trailing {\n transform: translateX(100%);\n}\n.control:not(.open):not(.trailing) {\n transform: translateX(-100%);\n}\n.control.open:not(.modal).trailing + .side-drawer-app-content {\n margin-inline-end: var(--side-drawer-app-content-offset, 280px);\n}\n.control.open:not(.modal):not(.trailing) + .side-drawer-app-content {\n margin-inline-start: var(--side-drawer-app-content-offset, 280px);\n}\n@media (prefers-reduced-motion: no-preference) {\n .control {\n transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n }\n}\n\n.scrim {\n background-color: var(--vvd-color-canvas-text);\n opacity: 0.5;\n position: fixed;\n inset: 0;\n}\n.scrim:not(.open) {\n display: none;\n}";
|
|
34
44
|
|
|
35
45
|
let _ = t => t,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
46
|
+
_t,
|
|
47
|
+
_t2;
|
|
39
48
|
const getClasses = ({
|
|
40
|
-
alternate,
|
|
41
49
|
modal,
|
|
42
50
|
open,
|
|
43
|
-
|
|
44
|
-
}) => classNames('control', ['
|
|
45
|
-
|
|
51
|
+
trailing
|
|
52
|
+
}) => classNames('control', ['modal', modal], ['open', open], ['trailing', trailing]);
|
|
53
|
+
const getScrimClasses = ({
|
|
54
|
+
open
|
|
55
|
+
}) => classNames('scrim', ['open', open]);
|
|
46
56
|
const sideDrawerTemplate = () => html(_t || (_t = _`
|
|
47
|
-
<aside class="${0}" part="${0}"
|
|
57
|
+
<aside class="${0}" part="base ${0}"
|
|
48
58
|
@keydown="${0}">
|
|
49
|
-
|
|
50
|
-
<header class="side-drawer-top-bar" part="side-drawer-top-bar">
|
|
51
|
-
<slot name="top-bar" ${0}></slot>
|
|
52
|
-
</header>
|
|
53
|
-
|
|
54
|
-
<div class="side-drawer-content">
|
|
55
|
-
<slot></slot>
|
|
56
|
-
</div>
|
|
59
|
+
<slot></slot>
|
|
57
60
|
</aside>
|
|
58
61
|
|
|
59
|
-
<div class="side-drawer-app-content">
|
|
62
|
+
<div class="side-drawer-app-content" ?inert="${0}">
|
|
60
63
|
<slot name="app-content"></slot>
|
|
61
64
|
</div>
|
|
62
65
|
|
|
63
66
|
${0}
|
|
64
|
-
`), getClasses, x => x.alternate ? 'vvd-theme-alternate' : '', (x, c) => handleKeydown(x, c.event),
|
|
65
|
-
|
|
67
|
+
`), getClasses, x => x.alternate ? 'vvd-theme-alternate' : '', (x, c) => handleKeydown(x, c.event), x => x.open && x.modal, when(x => x.modal, html(_t2 || (_t2 = _`<div class="${0}" @click="${0}"></div>`), getScrimClasses, x => x.open = false)));
|
|
66
68
|
const handleKeydown = (x, {
|
|
67
69
|
key
|
|
68
70
|
}) => {
|
|
69
71
|
if (key === 'Escape') {
|
|
70
72
|
x.open = false;
|
|
73
|
+
} else {
|
|
74
|
+
return true;
|
|
71
75
|
}
|
|
72
76
|
};
|
|
73
77
|
|
|
74
|
-
const
|
|
78
|
+
const vividSideDrawer = SideDrawer.compose({
|
|
75
79
|
baseName: 'side-drawer',
|
|
76
80
|
template: sideDrawerTemplate,
|
|
77
81
|
styles: css_248z
|
|
78
82
|
});
|
|
79
|
-
designSystem.register(
|
|
83
|
+
designSystem.withPrefix(getPrefix(import.meta.url)).register(vividSideDrawer());
|
|
80
84
|
|
|
81
|
-
export {
|
|
85
|
+
export { vividSideDrawer };
|