@vonage/vivid 3.0.0-next.119 → 3.0.0-next.120

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 (201) hide show
  1. package/README.md +11 -6
  2. package/accordion/index.js +4 -51
  3. package/accordion-item/index.js +11 -109
  4. package/action-group/index.js +4 -36
  5. package/avatar/index.js +8 -64
  6. package/badge/index.js +9 -48
  7. package/banner/index.js +15 -117
  8. package/breadcrumb/index.js +5 -97
  9. package/breadcrumb-item/index.js +14 -53
  10. package/button/index.js +14 -92
  11. package/calendar/index.js +5 -1520
  12. package/calendar-event/index.js +7 -107
  13. package/card/index.js +10 -117
  14. package/checkbox/index.js +13 -175
  15. package/custom-elements.json +1827 -8
  16. package/dialog/index.js +14 -227
  17. package/divider/index.js +4 -25
  18. package/elevation/index.js +4 -24
  19. package/fab/index.js +13 -89
  20. package/focus/index.js +4 -17
  21. package/header/index.js +7 -12
  22. package/icon/index.js +7 -28
  23. package/index.js +49 -55
  24. package/layout/index.js +4 -42
  25. package/lib/accordion/definition.d.ts +3 -0
  26. package/lib/accordion/index.d.ts +1 -2
  27. package/lib/accordion-item/definition.d.ts +3 -0
  28. package/lib/accordion-item/index.d.ts +1 -2
  29. package/lib/action-group/definition.d.ts +3 -0
  30. package/lib/action-group/index.d.ts +1 -2
  31. package/lib/avatar/definition.d.ts +3 -0
  32. package/lib/avatar/index.d.ts +1 -2
  33. package/lib/badge/definition.d.ts +3 -0
  34. package/lib/badge/index.d.ts +1 -2
  35. package/lib/banner/definition.d.ts +3 -0
  36. package/lib/banner/index.d.ts +1 -2
  37. package/lib/breadcrumb/definition.d.ts +3 -0
  38. package/lib/breadcrumb/index.d.ts +1 -2
  39. package/lib/breadcrumb-item/definition.d.ts +3 -0
  40. package/lib/breadcrumb-item/index.d.ts +1 -2
  41. package/lib/button/definition.d.ts +3 -0
  42. package/lib/calendar/definition.d.ts +3 -0
  43. package/lib/calendar/index.d.ts +1 -2
  44. package/lib/calendar-event/definition.d.ts +3 -0
  45. package/lib/calendar-event/index.d.ts +1 -2
  46. package/lib/card/definition.d.ts +3 -0
  47. package/lib/card/index.d.ts +1 -2
  48. package/lib/checkbox/definition.d.ts +3 -0
  49. package/lib/checkbox/index.d.ts +1 -2
  50. package/lib/components.d.ts +38 -38
  51. package/lib/dialog/definition.d.ts +3 -0
  52. package/lib/dialog/index.d.ts +1 -2
  53. package/lib/divider/definition.d.ts +3 -0
  54. package/lib/divider/index.d.ts +1 -2
  55. package/lib/elevation/definition.d.ts +3 -0
  56. package/lib/elevation/index.d.ts +1 -2
  57. package/lib/fab/definition.d.ts +3 -0
  58. package/lib/fab/index.d.ts +1 -2
  59. package/lib/focus/definition.d.ts +3 -0
  60. package/lib/focus/index.d.ts +1 -2
  61. package/lib/header/definition.d.ts +3 -0
  62. package/lib/header/index.d.ts +1 -2
  63. package/lib/icon/definition.d.ts +3 -0
  64. package/lib/icon/index.d.ts +1 -2
  65. package/lib/layout/definition.d.ts +3 -0
  66. package/lib/layout/index.d.ts +1 -2
  67. package/lib/listbox/definition.d.ts +3 -0
  68. package/lib/menu/definition.d.ts +7 -0
  69. package/lib/menu/index.d.ts +1 -10
  70. package/lib/menu-item/definition.d.ts +3 -0
  71. package/lib/menu-item/index.d.ts +1 -2
  72. package/lib/nav/definition.d.ts +3 -0
  73. package/lib/nav/index.d.ts +1 -2
  74. package/lib/nav-disclosure/definition.d.ts +3 -0
  75. package/lib/nav-disclosure/index.d.ts +1 -2
  76. package/lib/nav-item/definition.d.ts +3 -0
  77. package/lib/nav-item/index.d.ts +1 -2
  78. package/lib/note/definition.d.ts +3 -0
  79. package/lib/note/index.d.ts +1 -2
  80. package/lib/number-field/definition.d.ts +3 -0
  81. package/lib/number-field/index.d.ts +1 -2
  82. package/lib/option/definition.d.ts +3 -0
  83. package/lib/option/index.d.ts +1 -2
  84. package/lib/popup/definition.d.ts +4 -0
  85. package/lib/popup/index.d.ts +1 -2
  86. package/lib/progress/definition.d.ts +3 -0
  87. package/lib/progress/index.d.ts +1 -2
  88. package/lib/progress-ring/definition.d.ts +3 -0
  89. package/lib/progress-ring/index.d.ts +1 -2
  90. package/lib/radio/definition.d.ts +3 -0
  91. package/lib/radio/index.d.ts +1 -2
  92. package/lib/radio-group/definition.d.ts +7 -0
  93. package/lib/radio-group/index.d.ts +1 -10
  94. package/lib/side-drawer/definition.d.ts +3 -0
  95. package/lib/side-drawer/index.d.ts +1 -2
  96. package/lib/slider/definition.d.ts +3 -0
  97. package/lib/slider/index.d.ts +1 -2
  98. package/lib/switch/definition.d.ts +3 -0
  99. package/lib/switch/index.d.ts +1 -2
  100. package/lib/text-anchor/definition.d.ts +3 -0
  101. package/lib/text-anchor/index.d.ts +1 -2
  102. package/lib/text-area/definition.d.ts +3 -0
  103. package/lib/text-area/index.d.ts +1 -2
  104. package/lib/text-field/definition.d.ts +3 -0
  105. package/lib/text-field/index.d.ts +1 -2
  106. package/lib/tooltip/definition.d.ts +3 -0
  107. package/lib/tooltip/index.d.ts +1 -2
  108. package/listbox/index.js +18 -1080
  109. package/menu/index.js +27 -354
  110. package/menu-item/index.js +11 -81
  111. package/nav/index.js +3 -16
  112. package/nav-disclosure/index.js +13 -77
  113. package/nav-item/index.js +13 -35
  114. package/note/index.js +13 -60
  115. package/number-field/index.js +14 -16
  116. package/option/index.js +13 -68
  117. package/package.json +2 -2
  118. package/popup/index.js +17 -55
  119. package/progress/index.js +6 -92
  120. package/progress-ring/index.js +6 -75
  121. package/radio/index.js +8 -48
  122. package/radio-group/index.js +9 -433
  123. package/shared/anchor.js +1 -1
  124. package/shared/apply-mixins.js +1 -1
  125. package/shared/base-progress.js +1 -1
  126. package/shared/breadcrumb-item.js +1 -1
  127. package/shared/button.js +195 -18
  128. package/shared/calendar-event.js +1 -1
  129. package/shared/definition.js +53 -0
  130. package/shared/definition10.js +99 -0
  131. package/shared/definition11.js +48 -0
  132. package/shared/definition12.js +1523 -0
  133. package/shared/definition13.js +111 -0
  134. package/shared/definition14.js +114 -0
  135. package/shared/definition15.js +32 -0
  136. package/shared/definition16.js +172 -0
  137. package/shared/definition17.js +223 -0
  138. package/shared/{divider.js → definition18.js} +25 -2
  139. package/shared/definition19.js +87 -0
  140. package/shared/definition2.js +106 -0
  141. package/shared/definition20.js +44 -0
  142. package/shared/definition21.js +1078 -0
  143. package/shared/{listbox-option.js → definition22.js} +71 -11
  144. package/shared/definition23.js +348 -0
  145. package/shared/{popup.js → definition24.js} +46 -3
  146. package/shared/{menu-item.js → definition25.js} +87 -13
  147. package/shared/definition26.js +18 -0
  148. package/shared/definition27.js +75 -0
  149. package/shared/definition28.js +31 -0
  150. package/shared/definition29.js +56 -0
  151. package/shared/definition3.js +29 -0
  152. package/shared/definition30.js +94 -0
  153. package/shared/definition31.js +77 -0
  154. package/shared/definition32.js +45 -0
  155. package/shared/definition33.js +435 -0
  156. package/shared/definition34.js +86 -0
  157. package/shared/definition35.js +592 -0
  158. package/shared/definition36.js +147 -0
  159. package/shared/definition37.js +279 -0
  160. package/shared/definition38.js +119 -0
  161. package/shared/definition39.js +77 -0
  162. package/shared/definition4.js +19 -0
  163. package/shared/definition5.js +38 -0
  164. package/shared/definition6.js +60 -0
  165. package/shared/definition7.js +45 -0
  166. package/shared/definition8.js +113 -0
  167. package/shared/definition9.js +107 -0
  168. package/shared/design-system/index.d.ts +1 -2
  169. package/shared/es.object.assign.js +58 -1
  170. package/shared/es.regexp.to-string.js +2 -1
  171. package/shared/focus.js +3 -9
  172. package/shared/focus2.js +9 -3
  173. package/shared/form-associated.js +1 -1
  174. package/shared/form-elements.js +2 -2
  175. package/shared/icon.js +1096 -9
  176. package/shared/index.js +385 -2501
  177. package/shared/patterns/form-elements/form-elements.d.ts +2 -2
  178. package/shared/radio.js +1 -1
  179. package/shared/ref.js +1 -1
  180. package/shared/slotted.js +1 -1
  181. package/shared/string-trim.js +2 -1
  182. package/shared/text-anchor.template.js +1 -1
  183. package/shared/to-string.js +51 -0
  184. package/side-drawer/index.js +5 -84
  185. package/slider/index.js +14 -593
  186. package/styles/core/all.css +1 -1
  187. package/styles/core/theme.css +1 -1
  188. package/styles/core/typography.css +1 -1
  189. package/styles/tokens/theme-dark.css +4 -4
  190. package/styles/tokens/theme-light.css +4 -4
  191. package/switch/index.js +13 -149
  192. package/text-anchor/index.js +8 -7
  193. package/text-area/index.js +16 -282
  194. package/text-field/index.js +14 -121
  195. package/tooltip/index.js +24 -82
  196. package/vivid.api.json +1640 -850
  197. package/shared/button2.js +0 -200
  198. package/shared/elevation.js +0 -10
  199. package/shared/es.promise.resolve.js +0 -944
  200. package/shared/index2.js +0 -9
  201. package/shared/utils/index.d.ts +0 -1
@@ -1,4 +1,4 @@
1
- import { F as FoundationElement, _ as __decorate, a as attr, b as __metadata, a6 as nullableNumberConverter } from './index.js';
1
+ import { F as FoundationElement, _ as __decorate, a as attr, b as __metadata, Z as nullableNumberConverter } from './index.js';
2
2
 
3
3
  class CalendarEvent extends FoundationElement {}
4
4
  __decorate([attr, __metadata("design:type", String)], CalendarEvent.prototype, "heading", void 0);
@@ -0,0 +1,53 @@
1
+ import { F as FoundationElement, _ as __decorate, a as attr, b as __metadata, h as html, r as registerFactorial } from './index.js';
2
+ import { c as classNames } from './class-names.js';
3
+
4
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Wed, 14 Dec 2022 16:38:57 GMT\n */\n.base {\n display: flex;\n flex-direction: column;\n}\n\n::slotted(:not(:only-of-type)) {\n border-bottom: 1px solid var(--vvd-color-neutral-200);\n}";
5
+
6
+ class Accordion extends FoundationElement {
7
+ constructor() {
8
+ super();
9
+ this.accordionItems = undefined;
10
+ this.multi = false;
11
+ this.addEventListener('opened', this.handleOpened);
12
+ }
13
+ connectedCallback() {
14
+ super.connectedCallback();
15
+ this.accordionItems = this.children;
16
+ }
17
+ handleOpened(e) {
18
+ if (!this.multi && this.accordionItems) {
19
+ for (let i = 0; i < this.accordionItems.length; i++) {
20
+ if (this.accordionItems[i] !== e.target) {
21
+ this.accordionItems[i].open = false;
22
+ }
23
+ }
24
+ }
25
+ }
26
+ closeAll() {
27
+ if (this.accordionItems) {
28
+ for (let i = 0; i < this.accordionItems.length; i++) {
29
+ this.accordionItems[i].open = false;
30
+ }
31
+ }
32
+ }
33
+ }
34
+ __decorate([attr({
35
+ mode: 'boolean'
36
+ }), __metadata("design:type", Object)], Accordion.prototype, "multi", void 0);
37
+
38
+ let _2 = t => t,
39
+ _t;
40
+ const getClasses = _ => classNames('base');
41
+ const AccordionTemplate = () => html(_t || (_t = _2`<div class="${0}">
42
+ <slot></slot>
43
+ </div>`), getClasses);
44
+
45
+ const accordion = Accordion.compose({
46
+ baseName: 'accordion',
47
+ template: AccordionTemplate,
48
+ styles: css_248z
49
+ })();
50
+ const accordionElements = [accordion];
51
+ const registerAccordion = registerFactorial(accordionElements);
52
+
53
+ export { accordion as a, accordionElements as b, registerAccordion as r };
@@ -0,0 +1,99 @@
1
+ import { F as FoundationElement, _ as __decorate, N as observable, h as html, r as registerFactorial } from './index.js';
2
+ import { s as slotted, e as elements } from './slotted.js';
3
+ import { B as BreadcrumbItem } from './breadcrumb-item.js';
4
+
5
+ /**
6
+ * A Breadcrumb Custom HTML Element.
7
+ * @slot - The default slot for the breadcrumb items
8
+ * @csspart list - The element wrapping the slotted items
9
+ *
10
+ * @public
11
+ */
12
+ class Breadcrumb$1 extends FoundationElement {
13
+ slottedBreadcrumbItemsChanged() {
14
+ if (this.$fastController.isConnected) {
15
+ if (this.slottedBreadcrumbItems === undefined ||
16
+ this.slottedBreadcrumbItems.length === 0) {
17
+ return;
18
+ }
19
+ const lastNode = this.slottedBreadcrumbItems[this.slottedBreadcrumbItems.length - 1];
20
+ this.slottedBreadcrumbItems.forEach((item) => {
21
+ const itemIsLastNode = item === lastNode;
22
+ this.setItemSeparator(item, itemIsLastNode);
23
+ this.setAriaCurrent(item, itemIsLastNode);
24
+ });
25
+ }
26
+ }
27
+ setItemSeparator(item, isLastNode) {
28
+ if (item instanceof BreadcrumbItem) {
29
+ item.separator = !isLastNode;
30
+ }
31
+ }
32
+ /**
33
+ * Finds href on childnodes in the light DOM or shadow DOM.
34
+ * We look in the shadow DOM because we insert an anchor when breadcrumb-item has an href.
35
+ */
36
+ findChildWithHref(node) {
37
+ var _a, _b;
38
+ if (node.childElementCount > 0) {
39
+ return node.querySelector("a[href]");
40
+ }
41
+ else if ((_a = node.shadowRoot) === null || _a === void 0 ? void 0 : _a.childElementCount) {
42
+ return (_b = node.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector("a[href]");
43
+ }
44
+ else
45
+ return null;
46
+ }
47
+ /**
48
+ * Sets ARIA Current for the current node
49
+ * If child node with an anchor tag and with href is found then set aria-current to correct value for the child node,
50
+ * otherwise apply aria-current to the host element, with an href
51
+ */
52
+ setAriaCurrent(item, isLastNode) {
53
+ const childNodeWithHref = this.findChildWithHref(item);
54
+ if (childNodeWithHref === null &&
55
+ item.hasAttribute("href") &&
56
+ item instanceof BreadcrumbItem) {
57
+ isLastNode
58
+ ? item.setAttribute("aria-current", "page")
59
+ : item.removeAttribute("aria-current");
60
+ }
61
+ else if (childNodeWithHref !== null) {
62
+ isLastNode
63
+ ? childNodeWithHref.setAttribute("aria-current", "page")
64
+ : childNodeWithHref.removeAttribute("aria-current");
65
+ }
66
+ }
67
+ }
68
+ __decorate([
69
+ observable
70
+ ], Breadcrumb$1.prototype, "slottedBreadcrumbItems", void 0);
71
+
72
+ let _ = t => t,
73
+ _t;
74
+ const breadcrumbTemplate = () => html(_t || (_t = _`
75
+ <nav aria-label="breadcrumbs" class="base">
76
+ <div role="list" class="list">
77
+ <slot
78
+ ${0}
79
+ ></slot>
80
+ </div>
81
+ </nav>
82
+ `), slotted({
83
+ property: 'slottedBreadcrumbItems',
84
+ filter: elements()
85
+ }));
86
+
87
+ var css_248z = ".list {\n display: flex;\n}";
88
+
89
+ class Breadcrumb extends Breadcrumb$1 {}
90
+
91
+ const breadcrumb = Breadcrumb.compose({
92
+ baseName: 'breadcrumb',
93
+ template: breadcrumbTemplate,
94
+ styles: css_248z
95
+ })();
96
+ const breadcrumbElements = [breadcrumb];
97
+ const registerBreadcrumb = registerFactorial(breadcrumbElements);
98
+
99
+ export { breadcrumbElements as a, breadcrumb as b, registerBreadcrumb as r };
@@ -0,0 +1,48 @@
1
+ import { _ as __decorate, a as attr, b as __metadata, h as html, r as registerFactorial } from './index.js';
2
+ import { i as iconElements } from './definition3.js';
3
+ import { f as focusElements } from './definition4.js';
4
+ import { B as BreadcrumbItem$1 } from './breadcrumb-item.js';
5
+ import { t as textAnchorTemplate } from './text-anchor.template.js';
6
+ import { I as Icon } from './icon.js';
7
+ import { w as when } from './when.js';
8
+ import { c as classNames } from './class-names.js';
9
+
10
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Wed, 14 Dec 2022 16:38:57 GMT\n */\n.base {\n display: flex;\n align-items: center;\n color: var(--vvd-color-canvas-text);\n font: var(--vvd-typography-base);\n}\n.base .separator {\n margin: 0 16px;\n color: var(--vvd-color-neutral-600);\n font-size: 12px;\n}\n\n.control {\n position: relative;\n font: inherit;\n}\n@supports selector(:focus-visible) {\n .control:focus {\n outline: none;\n }\n}\n.control:any-link {\n color: var(--vvd-color-cta-600);\n text-decoration: none;\n}\n.control:any-link:hover {\n text-decoration: underline;\n}\n\n.focus-indicator {\n --focus-inset: -4px -8px;\n --focus-stroke-gap-color: transparent;\n border-radius: 6px;\n}\n.control:not(:focus-visible) > .focus-indicator {\n display: none;\n}";
11
+
12
+ class BreadcrumbItem extends BreadcrumbItem$1 {
13
+ constructor() {
14
+ super();
15
+ }
16
+ }
17
+ __decorate([attr, __metadata("design:type", String)], BreadcrumbItem.prototype, "text", void 0);
18
+
19
+ let _2 = t => t,
20
+ _t,
21
+ _t2,
22
+ _t3,
23
+ _t4;
24
+ const getClasses = _ => classNames('base');
25
+ const BreadcrumbItemTemplate = (context, definition) => {
26
+ const iconTag = context.tagFor(Icon);
27
+ return html(_t || (_t = _2`
28
+ <div role="listitem" class="${0}">
29
+ ${0}
30
+
31
+ ${0}
32
+
33
+ ${0}
34
+ </div>`), getClasses, when(x => x.text && !x.href, html(_t2 || (_t2 = _2`${0}`), x => x.text)), when(x => x.text && x.href && x.href.length > 0, html(_t3 || (_t3 = _2`${0}`), textAnchorTemplate(context))), when(x => x.separator, html(_t4 || (_t4 = _2`<${0} class="separator" name="chevron-right-solid"></${0}>`), iconTag, iconTag)));
35
+ };
36
+
37
+ const breadcrumbItem = BreadcrumbItem.compose({
38
+ baseName: 'breadcrumb-item',
39
+ template: BreadcrumbItemTemplate,
40
+ styles: css_248z,
41
+ shadowOptions: {
42
+ delegatesFocus: true
43
+ }
44
+ })();
45
+ const breadcrumbItemElements = [breadcrumbItem, ...iconElements, ...focusElements];
46
+ const registerBreadcrumbItem = registerFactorial(breadcrumbItemElements);
47
+
48
+ export { breadcrumbItemElements as a, breadcrumbItem as b, registerBreadcrumbItem as r };