@vonage/vivid 3.0.0-next.9 → 3.0.0-next.90

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.
Files changed (190) hide show
  1. package/README.md +141 -4
  2. package/accordion/index.js +3 -12
  3. package/accordion-item/index.js +30 -38
  4. package/action-group/index.js +41 -0
  5. package/avatar/index.js +60 -0
  6. package/badge/index.js +16 -30
  7. package/banner/index.js +25 -111
  8. package/breadcrumb/index.js +21 -18
  9. package/breadcrumb-item/index.js +23 -20
  10. package/button/index.js +19 -757
  11. package/calendar/index.js +72 -67
  12. package/calendar-event/index.js +112 -0
  13. package/card/index.js +113 -0
  14. package/checkbox/index.js +176 -0
  15. package/dialog/index.js +229 -0
  16. package/divider/index.js +4 -0
  17. package/elevation/index.js +3 -31
  18. package/fab/index.js +99 -0
  19. package/focus/index.js +18 -3
  20. package/header/index.js +61 -0
  21. package/icon/index.js +10 -9
  22. package/index.js +57 -20
  23. package/layout/index.js +5 -15
  24. package/lib/accordion-item/accordion-item.d.ts +2 -2
  25. package/lib/accordion-item/index.d.ts +2 -1
  26. package/lib/action-group/action-group.d.ts +10 -0
  27. package/lib/{sidenav-item/sidenav-item.template.d.ts → action-group/action-group.template.d.ts} +2 -2
  28. package/lib/{sidenav-item → action-group}/index.d.ts +1 -2
  29. package/lib/avatar/avatar.d.ts +15 -0
  30. package/lib/avatar/avatar.template.d.ts +4 -0
  31. package/lib/avatar/index.d.ts +3 -0
  32. package/lib/badge/badge.d.ts +3 -5
  33. package/lib/badge/index.d.ts +1 -1
  34. package/lib/banner/banner.d.ts +1 -1
  35. package/lib/banner/banner.template.d.ts +0 -2
  36. package/lib/banner/index.d.ts +1 -0
  37. package/lib/breadcrumb/breadcrumb.template.d.ts +4 -0
  38. package/lib/breadcrumb-item/breadcrumb-item.d.ts +1 -1
  39. package/lib/breadcrumb-item/index.d.ts +1 -0
  40. package/lib/button/button.d.ts +6 -5
  41. package/lib/button/index.d.ts +2 -19
  42. package/lib/calendar/calendar.d.ts +3 -1
  43. package/lib/calendar/index.d.ts +0 -1
  44. package/lib/calendar-event/calendar-event.d.ts +14 -0
  45. package/lib/calendar-event/calendar-event.template.d.ts +4 -0
  46. package/lib/calendar-event/index.d.ts +2 -0
  47. package/lib/card/card.d.ts +10 -0
  48. package/lib/{text/text.template.d.ts → card/card.template.d.ts} +2 -2
  49. package/lib/card/index.d.ts +4 -0
  50. package/lib/checkbox/checkbox.d.ts +5 -0
  51. package/lib/checkbox/checkbox.template.d.ts +4 -0
  52. package/lib/checkbox/index.d.ts +4 -0
  53. package/lib/components.d.ts +29 -10
  54. package/lib/dialog/dialog.d.ts +20 -0
  55. package/lib/dialog/dialog.template.d.ts +4 -0
  56. package/lib/dialog/index.d.ts +5 -0
  57. package/lib/divider/divider.d.ts +3 -0
  58. package/lib/divider/divider.template.d.ts +4 -0
  59. package/lib/divider/index.d.ts +2 -0
  60. package/lib/elevation/elevation.d.ts +1 -0
  61. package/lib/elevation/index.d.ts +1 -1
  62. package/lib/enums.d.ts +11 -6
  63. package/lib/fab/fab.d.ts +13 -0
  64. package/lib/fab/fab.template.d.ts +4 -0
  65. package/lib/fab/index.d.ts +4 -0
  66. package/lib/focus/index.d.ts +1 -1
  67. package/lib/header/header.d.ts +5 -0
  68. package/lib/header/header.template.d.ts +4 -0
  69. package/lib/header/index.d.ts +3 -0
  70. package/lib/icon/icon.d.ts +4 -3
  71. package/lib/layout/index.d.ts +1 -1
  72. package/lib/layout/layout.d.ts +3 -3
  73. package/lib/listbox-option/index.d.ts +4 -0
  74. package/lib/listbox-option/listbox-option.d.ts +7 -0
  75. package/lib/listbox-option/listbox-option.template.d.ts +4 -0
  76. package/lib/menu/index.d.ts +12 -0
  77. package/lib/menu/menu.d.ts +10 -0
  78. package/lib/menu/menu.template.d.ts +3 -0
  79. package/lib/menu-item/index.d.ts +3 -0
  80. package/lib/menu-item/menu-item.d.ts +7 -0
  81. package/lib/menu-item/menu-item.template.d.ts +5 -0
  82. package/lib/nav/index.d.ts +2 -0
  83. package/lib/nav/nav.d.ts +3 -0
  84. package/lib/nav/nav.template.d.ts +4 -0
  85. package/lib/nav-disclosure/index.d.ts +4 -0
  86. package/lib/nav-disclosure/nav-disclosure.d.ts +10 -0
  87. package/lib/nav-disclosure/nav-disclosure.template.d.ts +4 -0
  88. package/lib/nav-item/index.d.ts +4 -0
  89. package/lib/{sidenav-item/sidenav-item.d.ts → nav-item/nav-item.d.ts} +2 -2
  90. package/lib/nav-item/nav-item.template.d.ts +4 -0
  91. package/lib/{text → note}/index.d.ts +1 -1
  92. package/lib/note/note.d.ts +10 -0
  93. package/lib/note/note.template.d.ts +5 -0
  94. package/lib/number-field/index.d.ts +4 -0
  95. package/lib/number-field/number-field.d.ts +14 -0
  96. package/lib/number-field/number-field.template.d.ts +4 -0
  97. package/lib/popup/index.d.ts +1 -1
  98. package/lib/popup/popup.d.ts +2 -1
  99. package/lib/progress/progress.d.ts +1 -1
  100. package/lib/progress-ring/progress-ring.d.ts +2 -1
  101. package/lib/radio/index.d.ts +3 -0
  102. package/lib/radio/radio.d.ts +4 -0
  103. package/lib/radio/radio.template.d.ts +4 -0
  104. package/lib/radio-group/index.d.ts +10 -0
  105. package/lib/radio-group/radio-group.d.ts +4 -0
  106. package/lib/radio-group/radio-group.template.d.ts +4 -0
  107. package/lib/side-drawer/index.d.ts +1 -1
  108. package/lib/side-drawer/side-drawer.d.ts +3 -2
  109. package/lib/text-anchor/text-anchor.d.ts +1 -1
  110. package/lib/text-area/index.d.ts +4 -0
  111. package/lib/text-area/text-area.d.ts +9 -0
  112. package/lib/text-area/text-area.template.d.ts +4 -0
  113. package/lib/text-field/index.d.ts +4 -0
  114. package/lib/text-field/text-field.d.ts +14 -0
  115. package/lib/text-field/text-field.template.d.ts +5 -0
  116. package/lib/tooltip/tooltip.d.ts +2 -2
  117. package/listbox-option/index.js +248 -0
  118. package/menu/index.js +376 -0
  119. package/menu-item/index.js +20 -0
  120. package/nav/index.js +17 -0
  121. package/nav-disclosure/index.js +81 -0
  122. package/nav-item/index.js +45 -0
  123. package/note/index.js +58 -0
  124. package/number-field/index.js +516 -0
  125. package/package.json +58 -10
  126. package/popup/index.js +22 -2061
  127. package/progress/index.js +35 -36
  128. package/progress-ring/index.js +11 -11
  129. package/radio/index.js +50 -0
  130. package/radio-group/index.js +435 -0
  131. package/shared/affix.js +1 -6
  132. package/shared/anchor.js +10 -2
  133. package/shared/apply-mixins.js +5 -4
  134. package/shared/aria-global.js +2 -86
  135. package/shared/aria.js +9 -0
  136. package/shared/base-progress.js +5 -0
  137. package/shared/breadcrumb-item.js +1 -1
  138. package/shared/button.js +200 -0
  139. package/shared/calendar-event.js +19 -0
  140. package/shared/dialog-polyfill.esm.js +858 -0
  141. package/shared/direction.js +20 -0
  142. package/shared/enums.js +62 -0
  143. package/shared/es.object.assign.js +3 -2
  144. package/shared/export.js +1017 -0
  145. package/shared/focus.js +5 -0
  146. package/shared/focus2.js +11 -0
  147. package/shared/form-associated.js +466 -0
  148. package/shared/form-elements.js +331 -0
  149. package/shared/icon.js +534 -531
  150. package/shared/index.js +108 -79
  151. package/shared/index2.js +100 -14
  152. package/shared/index3.js +31 -0
  153. package/shared/index4.js +77 -0
  154. package/shared/index5.js +1525 -0
  155. package/shared/index6.js +349 -0
  156. package/shared/iterators.js +61 -0
  157. package/shared/key-codes.js +96 -0
  158. package/shared/object-keys.js +13 -0
  159. package/shared/patterns/focus.d.ts +3 -0
  160. package/shared/patterns/form-elements/form-elements.d.ts +28 -0
  161. package/shared/patterns/form-elements/index.d.ts +1 -0
  162. package/shared/patterns/index.d.ts +2 -0
  163. package/shared/radio.js +127 -0
  164. package/shared/ref.js +41 -0
  165. package/shared/slotted.js +1 -1
  166. package/shared/start-end.js +50 -0
  167. package/shared/text-anchor.js +2 -13
  168. package/shared/text-anchor.template.js +6 -5
  169. package/shared/to-string.js +51 -0
  170. package/shared/web.dom-collections.iterator.js +74 -1081
  171. package/side-drawer/index.js +41 -33
  172. package/styles/core/all.css +75 -0
  173. package/styles/core/theme.css +11 -0
  174. package/styles/core/typography.css +69 -0
  175. package/styles/fonts/SpeziaCompleteVariableItalicWeb.woff2 +0 -0
  176. package/styles/fonts/SpeziaCompleteVariableUprightWeb.woff2 +0 -0
  177. package/styles/fonts/SpeziaMonoCompleteVariableWeb.woff2 +0 -0
  178. package/styles/fonts/spezia.css +9 -12
  179. package/styles/tokens/theme-dark.css +230 -0
  180. package/styles/tokens/theme-light.css +230 -0
  181. package/text-anchor/index.js +9 -1
  182. package/text-area/index.js +288 -0
  183. package/text-field/index.js +129 -0
  184. package/tooltip/index.js +23 -24
  185. package/lib/text/text.d.ts +0 -10
  186. package/shared/style-inject.es.js +0 -28
  187. package/sidenav-item/index.js +0 -38
  188. package/styles/themes/dark.css +0 -205
  189. package/styles/themes/light.css +0 -205
  190. package/text/index.js +0 -45
package/shared/affix.js CHANGED
@@ -3,24 +3,19 @@ import { _ as __decorate, a as attr, b as __metadata, h as html } from './index.
3
3
  import { I as Icon } from './icon.js';
4
4
 
5
5
  let _ = t => t,
6
- _t;
6
+ _t;
7
7
  class AffixIcon {}
8
-
9
8
  __decorate([attr, __metadata("design:type", String)], AffixIcon.prototype, "icon", void 0);
10
-
11
9
  class AffixIconWithTrailing extends AffixIcon {
12
10
  constructor() {
13
11
  super(...arguments);
14
12
  this.iconTrailing = false;
15
13
  }
16
-
17
14
  }
18
-
19
15
  __decorate([attr({
20
16
  mode: 'boolean',
21
17
  attribute: 'icon-trailing'
22
18
  }), __metadata("design:type", Object)], AffixIconWithTrailing.prototype, "iconTrailing", void 0);
23
-
24
19
  const affixIconTemplateFactory = context => {
25
20
  const iconTag = context.tagFor(Icon);
26
21
  return icon => icon ? html(_t || (_t = _`<span class="icon"><${0} :type="${0}"></${0}></span>`), iconTag, () => icon, iconTag) : null;
package/shared/anchor.js CHANGED
@@ -1,11 +1,18 @@
1
1
  import { F as FoundationElement, _ as __decorate, a as attr, o as observable } from './index.js';
2
2
  import { a as applyMixins } from './apply-mixins.js';
3
- import { A as ARIAGlobalStatesAndProperties, S as StartEnd } from './aria-global.js';
3
+ import { A as ARIAGlobalStatesAndProperties } from './aria-global.js';
4
+ import { S as StartEnd } from './start-end.js';
4
5
 
5
6
  /**
6
7
  * An Anchor Custom HTML Element.
7
8
  * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | <a> element }.
8
9
  *
10
+ * @slot start - Content which can be provided before the anchor content
11
+ * @slot end - Content which can be provided after the anchor content
12
+ * @slot - The default slot for anchor content
13
+ * @csspart control - The anchor element
14
+ * @csspart content - The element wrapping anchor content
15
+ *
9
16
  * @public
10
17
  */
11
18
  class Anchor extends FoundationElement {
@@ -20,7 +27,8 @@ class Anchor extends FoundationElement {
20
27
  var _a;
21
28
  // Check to see if delegatesFocus is supported
22
29
  if (window.ShadowRoot &&
23
- !window.ShadowRoot.prototype.hasOwnProperty("delegatesFocus") && ((_a = this.$fastController.definition.shadowOptions) === null || _a === void 0 ? void 0 : _a.delegatesFocus)) {
30
+ !window.ShadowRoot.prototype.hasOwnProperty("delegatesFocus") &&
31
+ ((_a = this.$fastController.definition.shadowOptions) === null || _a === void 0 ? void 0 : _a.delegatesFocus)) {
24
32
  this.focus = () => {
25
33
  this.control.focus();
26
34
  };
@@ -1,9 +1,12 @@
1
+ import { A as AttributeConfiguration } from './index.js';
2
+
1
3
  /**
2
4
  * Apply mixins to a constructor.
3
5
  * Sourced from {@link https://www.typescriptlang.org/docs/handbook/mixins.html | TypeScript Documentation }.
4
6
  * @public
5
7
  */
6
8
  function applyMixins(derivedCtor, ...baseCtors) {
9
+ const derivedAttributes = AttributeConfiguration.locate(derivedCtor);
7
10
  baseCtors.forEach(baseCtor => {
8
11
  Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {
9
12
  if (name !== "constructor") {
@@ -12,10 +15,8 @@ function applyMixins(derivedCtor, ...baseCtors) {
12
15
  Object.getOwnPropertyDescriptor(baseCtor.prototype, name));
13
16
  }
14
17
  });
15
- if (baseCtor.attributes) {
16
- const existing = derivedCtor.attributes || [];
17
- derivedCtor.attributes = existing.concat(baseCtor.attributes);
18
- }
18
+ const baseAttributes = AttributeConfiguration.locate(baseCtor);
19
+ baseAttributes.forEach(x => derivedAttributes.push(x));
19
20
  });
20
21
  }
21
22
 
@@ -1,88 +1,4 @@
1
- import { A as AttachedBehaviorHTMLDirective, h as html, _ as __decorate, a as attr } 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
- /**
42
- * A mixin class implementing start and end elements.
43
- * These are generally used to decorate text elements with icons or other visual indicators.
44
- * @public
45
- */
46
- class StartEnd {
47
- handleStartContentChange() {
48
- this.startContainer.classList.toggle("start", this.start.assignedNodes().length > 0);
49
- }
50
- handleEndContentChange() {
51
- this.endContainer.classList.toggle("end", this.end.assignedNodes().length > 0);
52
- }
53
- }
54
- /**
55
- * The template for the end element.
56
- * For use with {@link StartEnd}
57
- *
58
- * @public
59
- * @deprecated - use endSlotTemplate
60
- */
61
- html `
62
- <span part="end" ${ref("endContainer")}>
63
- <slot
64
- name="end"
65
- ${ref("end")}
66
- @slotchange="${x => x.handleEndContentChange()}"
67
- ></slot>
68
- </span>
69
- `;
70
- /**
71
- * The template for the start element.
72
- * For use with {@link StartEnd}
73
- *
74
- * @public
75
- * @deprecated - use startSlotTemplate
76
- */
77
- html `
78
- <span part="start" ${ref("startContainer")}>
79
- <slot
80
- name="start"
81
- ${ref("start")}
82
- @slotchange="${x => x.handleStartContentChange()}"
83
- ></slot>
84
- </span>
85
- `;
1
+ import { _ as __decorate, a as attr } from './index.js';
86
2
 
87
3
  /**
88
4
  * Some states and properties are applicable to all host language elements regardless of whether a role is applied.
@@ -153,4 +69,4 @@ __decorate([
153
69
  attr({ attribute: "aria-roledescription" })
154
70
  ], ARIAGlobalStatesAndProperties.prototype, "ariaRoledescription", void 0);
155
71
 
156
- export { ARIAGlobalStatesAndProperties as A, StartEnd as S, ref as r };
72
+ export { ARIAGlobalStatesAndProperties as A };
package/shared/aria.js ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Standard orientation values
3
+ */
4
+ const Orientation = {
5
+ horizontal: "horizontal",
6
+ vertical: "vertical",
7
+ };
8
+
9
+ export { Orientation as O };
@@ -4,6 +4,11 @@ import { F as FoundationElement, _ as __decorate, a as attr, n as nullableNumber
4
4
  * An Progress HTML Element.
5
5
  * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#progressbar | ARIA progressbar }.
6
6
  *
7
+ * @slot indeterminate - The slot for a custom indeterminate indicator
8
+ * @csspart progress - Represents the progress element
9
+ * @csspart determinate - The determinate indicator
10
+ * @csspart indeterminate - The indeterminate indicator
11
+ *
7
12
  * @public
8
13
  */
9
14
  class BaseProgress extends FoundationElement {
@@ -1,7 +1,7 @@
1
1
  import { _ as __decorate, o as observable } from './index.js';
2
2
  import { A as Anchor, D as DelegatesARIALink } from './anchor.js';
3
3
  import { a as applyMixins } from './apply-mixins.js';
4
- import { S as StartEnd } from './aria-global.js';
4
+ import { S as StartEnd } from './start-end.js';
5
5
 
6
6
  /**
7
7
  * A Breadcrumb Item Custom HTML Element.
@@ -0,0 +1,200 @@
1
+ import { F as FoundationElement, _ as __decorate, a as attr, o as observable } from './index.js';
2
+ import { a as applyMixins } from './apply-mixins.js';
3
+ import { F as FormAssociated } from './form-associated.js';
4
+ import { A as ARIAGlobalStatesAndProperties } from './aria-global.js';
5
+ import { S as StartEnd } from './start-end.js';
6
+
7
+ class _Button extends FoundationElement {
8
+ }
9
+ /**
10
+ * A form-associated base class for the {@link @microsoft/fast-foundation#(Button:class)} component.
11
+ *
12
+ * @internal
13
+ */
14
+ class FormAssociatedButton extends FormAssociated(_Button) {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.proxy = document.createElement("input");
18
+ }
19
+ }
20
+
21
+ /**
22
+ * A Button Custom HTML Element.
23
+ * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button | <button> element }.
24
+ *
25
+ * @slot start - Content which can be provided before the button content
26
+ * @slot end - Content which can be provided after the button content
27
+ * @slot - The default slot for button content
28
+ * @csspart control - The button element
29
+ * @csspart content - The element wrapping button content
30
+ *
31
+ * @public
32
+ */
33
+ class Button extends FormAssociatedButton {
34
+ constructor() {
35
+ super(...arguments);
36
+ /**
37
+ * Prevent events to propagate if disabled and has no slotted content wrapped in HTML elements
38
+ * @internal
39
+ */
40
+ this.handleClick = (e) => {
41
+ var _a;
42
+ if (this.disabled && ((_a = this.defaultSlottedContent) === null || _a === void 0 ? void 0 : _a.length) <= 1) {
43
+ e.stopPropagation();
44
+ }
45
+ };
46
+ /**
47
+ * Submits the parent form
48
+ */
49
+ this.handleSubmission = () => {
50
+ if (!this.form) {
51
+ return;
52
+ }
53
+ const attached = this.proxy.isConnected;
54
+ if (!attached) {
55
+ this.attachProxy();
56
+ }
57
+ // Browser support for requestSubmit is not comprehensive
58
+ // so click the proxy if it isn't supported
59
+ typeof this.form.requestSubmit === "function"
60
+ ? this.form.requestSubmit(this.proxy)
61
+ : this.proxy.click();
62
+ if (!attached) {
63
+ this.detachProxy();
64
+ }
65
+ };
66
+ /**
67
+ * Resets the parent form
68
+ */
69
+ this.handleFormReset = () => {
70
+ var _a;
71
+ (_a = this.form) === null || _a === void 0 ? void 0 : _a.reset();
72
+ };
73
+ /**
74
+ * Overrides the focus call for where delegatesFocus is unsupported.
75
+ * This check works for Chrome, Edge Chromium, FireFox, and Safari
76
+ * Relevant PR on the Firefox browser: https://phabricator.services.mozilla.com/D123858
77
+ */
78
+ this.handleUnsupportedDelegatesFocus = () => {
79
+ var _a;
80
+ // Check to see if delegatesFocus is supported
81
+ if (window.ShadowRoot &&
82
+ !window.ShadowRoot.prototype.hasOwnProperty("delegatesFocus") &&
83
+ ((_a = this.$fastController.definition.shadowOptions) === null || _a === void 0 ? void 0 : _a.delegatesFocus)) {
84
+ this.focus = () => {
85
+ this.control.focus();
86
+ };
87
+ }
88
+ };
89
+ }
90
+ formactionChanged() {
91
+ if (this.proxy instanceof HTMLInputElement) {
92
+ this.proxy.formAction = this.formaction;
93
+ }
94
+ }
95
+ formenctypeChanged() {
96
+ if (this.proxy instanceof HTMLInputElement) {
97
+ this.proxy.formEnctype = this.formenctype;
98
+ }
99
+ }
100
+ formmethodChanged() {
101
+ if (this.proxy instanceof HTMLInputElement) {
102
+ this.proxy.formMethod = this.formmethod;
103
+ }
104
+ }
105
+ formnovalidateChanged() {
106
+ if (this.proxy instanceof HTMLInputElement) {
107
+ this.proxy.formNoValidate = this.formnovalidate;
108
+ }
109
+ }
110
+ formtargetChanged() {
111
+ if (this.proxy instanceof HTMLInputElement) {
112
+ this.proxy.formTarget = this.formtarget;
113
+ }
114
+ }
115
+ typeChanged(previous, next) {
116
+ if (this.proxy instanceof HTMLInputElement) {
117
+ this.proxy.type = this.type;
118
+ }
119
+ next === "submit" && this.addEventListener("click", this.handleSubmission);
120
+ previous === "submit" && this.removeEventListener("click", this.handleSubmission);
121
+ next === "reset" && this.addEventListener("click", this.handleFormReset);
122
+ previous === "reset" && this.removeEventListener("click", this.handleFormReset);
123
+ }
124
+ /** {@inheritDoc (FormAssociated:interface).validate} */
125
+ validate() {
126
+ super.validate(this.control);
127
+ }
128
+ /**
129
+ * @internal
130
+ */
131
+ connectedCallback() {
132
+ var _a;
133
+ super.connectedCallback();
134
+ this.proxy.setAttribute("type", this.type);
135
+ this.handleUnsupportedDelegatesFocus();
136
+ const elements = Array.from((_a = this.control) === null || _a === void 0 ? void 0 : _a.children);
137
+ if (elements) {
138
+ elements.forEach((span) => {
139
+ span.addEventListener("click", this.handleClick);
140
+ });
141
+ }
142
+ }
143
+ /**
144
+ * @internal
145
+ */
146
+ disconnectedCallback() {
147
+ var _a;
148
+ super.disconnectedCallback();
149
+ const elements = Array.from((_a = this.control) === null || _a === void 0 ? void 0 : _a.children);
150
+ if (elements) {
151
+ elements.forEach((span) => {
152
+ span.removeEventListener("click", this.handleClick);
153
+ });
154
+ }
155
+ }
156
+ }
157
+ __decorate([
158
+ attr({ mode: "boolean" })
159
+ ], Button.prototype, "autofocus", void 0);
160
+ __decorate([
161
+ attr({ attribute: "form" })
162
+ ], Button.prototype, "formId", void 0);
163
+ __decorate([
164
+ attr
165
+ ], Button.prototype, "formaction", void 0);
166
+ __decorate([
167
+ attr
168
+ ], Button.prototype, "formenctype", void 0);
169
+ __decorate([
170
+ attr
171
+ ], Button.prototype, "formmethod", void 0);
172
+ __decorate([
173
+ attr({ mode: "boolean" })
174
+ ], Button.prototype, "formnovalidate", void 0);
175
+ __decorate([
176
+ attr
177
+ ], Button.prototype, "formtarget", void 0);
178
+ __decorate([
179
+ attr
180
+ ], Button.prototype, "type", void 0);
181
+ __decorate([
182
+ observable
183
+ ], Button.prototype, "defaultSlottedContent", void 0);
184
+ /**
185
+ * Includes ARIA states and properties relating to the ARIA button role
186
+ *
187
+ * @public
188
+ */
189
+ class DelegatesARIAButton {
190
+ }
191
+ __decorate([
192
+ attr({ attribute: "aria-expanded" })
193
+ ], DelegatesARIAButton.prototype, "ariaExpanded", void 0);
194
+ __decorate([
195
+ attr({ attribute: "aria-pressed" })
196
+ ], DelegatesARIAButton.prototype, "ariaPressed", void 0);
197
+ applyMixins(DelegatesARIAButton, ARIAGlobalStatesAndProperties);
198
+ applyMixins(Button, StartEnd, DelegatesARIAButton);
199
+
200
+ export { Button as B };
@@ -0,0 +1,19 @@
1
+ import { F as FoundationElement, _ as __decorate, a as attr, b as __metadata, n as nullableNumberConverter } from './index.js';
2
+
3
+ class CalendarEvent extends FoundationElement {}
4
+ __decorate([attr, __metadata("design:type", String)], CalendarEvent.prototype, "heading", void 0);
5
+ __decorate([attr, __metadata("design:type", String)], CalendarEvent.prototype, "description", void 0);
6
+ __decorate([attr, __metadata("design:type", String)], CalendarEvent.prototype, "connotation", void 0);
7
+ __decorate([attr, __metadata("design:type", String)], CalendarEvent.prototype, "appearance", void 0);
8
+ __decorate([attr({
9
+ converter: nullableNumberConverter,
10
+ attribute: 'overlap-count'
11
+ }), __metadata("design:type", Number)], CalendarEvent.prototype, "overlapCount", void 0);
12
+ __decorate([attr({
13
+ converter: nullableNumberConverter
14
+ }), __metadata("design:type", Number)], CalendarEvent.prototype, "start", void 0);
15
+ __decorate([attr({
16
+ converter: nullableNumberConverter
17
+ }), __metadata("design:type", Number)], CalendarEvent.prototype, "duration", void 0);
18
+
19
+ export { CalendarEvent as C };