@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,103 +1,11 @@
1
- import { F as FoundationElement, _ as __decorate, V as observable, h as html, d as designSystem, g as getPrefix } from '../shared/index.js';
2
- import { s as slotted, e as elements } from '../shared/slotted.js';
3
- import { B as BreadcrumbItem } from '../shared/breadcrumb-item.js';
1
+ import { r as registerBreadcrumb } from '../shared/definition10.js';
2
+ import '../shared/index.js';
3
+ import '../shared/slotted.js';
4
+ import '../shared/breadcrumb-item.js';
4
5
  import '../shared/anchor.js';
5
6
  import '../shared/apply-mixins.js';
6
7
  import '../shared/aria-global.js';
7
8
  import '../shared/start-end.js';
8
9
  import '../shared/ref.js';
9
10
 
10
- /**
11
- * A Breadcrumb Custom HTML Element.
12
- * @slot - The default slot for the breadcrumb items
13
- * @csspart list - The element wrapping the slotted items
14
- *
15
- * @public
16
- */
17
- class Breadcrumb$1 extends FoundationElement {
18
- slottedBreadcrumbItemsChanged() {
19
- if (this.$fastController.isConnected) {
20
- if (this.slottedBreadcrumbItems === undefined ||
21
- this.slottedBreadcrumbItems.length === 0) {
22
- return;
23
- }
24
- const lastNode = this.slottedBreadcrumbItems[this.slottedBreadcrumbItems.length - 1];
25
- this.slottedBreadcrumbItems.forEach((item) => {
26
- const itemIsLastNode = item === lastNode;
27
- this.setItemSeparator(item, itemIsLastNode);
28
- this.setAriaCurrent(item, itemIsLastNode);
29
- });
30
- }
31
- }
32
- setItemSeparator(item, isLastNode) {
33
- if (item instanceof BreadcrumbItem) {
34
- item.separator = !isLastNode;
35
- }
36
- }
37
- /**
38
- * Finds href on childnodes in the light DOM or shadow DOM.
39
- * We look in the shadow DOM because we insert an anchor when breadcrumb-item has an href.
40
- */
41
- findChildWithHref(node) {
42
- var _a, _b;
43
- if (node.childElementCount > 0) {
44
- return node.querySelector("a[href]");
45
- }
46
- else if ((_a = node.shadowRoot) === null || _a === void 0 ? void 0 : _a.childElementCount) {
47
- return (_b = node.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector("a[href]");
48
- }
49
- else
50
- return null;
51
- }
52
- /**
53
- * Sets ARIA Current for the current node
54
- * If child node with an anchor tag and with href is found then set aria-current to correct value for the child node,
55
- * otherwise apply aria-current to the host element, with an href
56
- */
57
- setAriaCurrent(item, isLastNode) {
58
- const childNodeWithHref = this.findChildWithHref(item);
59
- if (childNodeWithHref === null &&
60
- item.hasAttribute("href") &&
61
- item instanceof BreadcrumbItem) {
62
- isLastNode
63
- ? item.setAttribute("aria-current", "page")
64
- : item.removeAttribute("aria-current");
65
- }
66
- else if (childNodeWithHref !== null) {
67
- isLastNode
68
- ? childNodeWithHref.setAttribute("aria-current", "page")
69
- : childNodeWithHref.removeAttribute("aria-current");
70
- }
71
- }
72
- }
73
- __decorate([
74
- observable
75
- ], Breadcrumb$1.prototype, "slottedBreadcrumbItems", void 0);
76
-
77
- let _ = t => t,
78
- _t;
79
- const breadcrumbTemplate = () => html(_t || (_t = _`
80
- <nav aria-label="breadcrumbs" class="base">
81
- <div role="list" class="list">
82
- <slot
83
- ${0}
84
- ></slot>
85
- </div>
86
- </nav>
87
- `), slotted({
88
- property: 'slottedBreadcrumbItems',
89
- filter: elements()
90
- }));
91
-
92
- var css_248z = ".list {\n display: flex;\n}";
93
-
94
- class Breadcrumb extends Breadcrumb$1 {}
95
-
96
- const vividBreadcrumb = Breadcrumb.compose({
97
- baseName: 'breadcrumb',
98
- template: breadcrumbTemplate,
99
- styles: css_248z
100
- });
101
- designSystem.withPrefix(getPrefix(import.meta.url)).register(vividBreadcrumb());
102
-
103
- export { vividBreadcrumb };
11
+ registerBreadcrumb();
@@ -1,61 +1,22 @@
1
- import '../shared/es.promise.resolve.js';
2
- import { _ as __decorate, a as attr, b as __metadata, h as html, g as getPrefix, d as designSystem } from '../shared/index.js';
3
- import { l as loadComponentsModules } from '../shared/index2.js';
4
- import { B as BreadcrumbItem$1 } from '../shared/breadcrumb-item.js';
5
- import { t as textAnchorTemplate } from '../shared/text-anchor.template.js';
6
- import { I as Icon } from '../shared/icon.js';
7
- import { w as when } from '../shared/when.js';
8
- import { c as classNames } from '../shared/class-names.js';
1
+ import { r as registerBreadcrumbItem } from '../shared/definition11.js';
2
+ import '../shared/index.js';
3
+ import '../shared/definition3.js';
4
+ import '../shared/icon.js';
5
+ import '../shared/to-string.js';
6
+ import '../shared/string-trim.js';
7
+ import '../shared/_has.js';
8
+ import '../shared/when.js';
9
+ import '../shared/class-names.js';
10
+ import '../shared/definition4.js';
11
+ import '../shared/focus.js';
12
+ import '../shared/breadcrumb-item.js';
9
13
  import '../shared/anchor.js';
10
14
  import '../shared/apply-mixins.js';
11
15
  import '../shared/aria-global.js';
12
16
  import '../shared/start-end.js';
13
17
  import '../shared/ref.js';
18
+ import '../shared/text-anchor.template.js';
14
19
  import '../shared/affix.js';
15
- import '../shared/focus.js';
16
20
  import '../shared/focus2.js';
17
- import '../shared/string-trim.js';
18
- import '../shared/_has.js';
19
-
20
- var css_248z = "/**\n * Do not edit directly\n * Generated on Wed, 14 Dec 2022 14:20: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}";
21
-
22
- class BreadcrumbItem extends BreadcrumbItem$1 {
23
- constructor() {
24
- super();
25
- }
26
- }
27
- __decorate([attr, __metadata("design:type", String)], BreadcrumbItem.prototype, "text", void 0);
28
-
29
- let _2 = t => t,
30
- _t,
31
- _t2,
32
- _t3,
33
- _t4;
34
- const getClasses = _ => classNames('base');
35
- const BreadcrumbItemTemplate = (context, definition) => {
36
- const iconTag = context.tagFor(Icon);
37
- return html(_t || (_t = _2`
38
- <div role="listitem" class="${0}">
39
- ${0}
40
-
41
- ${0}
42
-
43
- ${0}
44
- </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)));
45
- };
46
-
47
- const prefix = getPrefix(import.meta.url);
48
- const vividBreadcrumbItem = BreadcrumbItem.compose({
49
- baseName: 'breadcrumb-item',
50
- template: BreadcrumbItemTemplate,
51
- styles: css_248z,
52
- shadowOptions: {
53
- delegatesFocus: true
54
- }
55
- });
56
- (async () => {
57
- await loadComponentsModules(['icon', 'focus'], prefix);
58
- designSystem.withPrefix(prefix).register(vividBreadcrumbItem());
59
- })();
60
21
 
61
- export { vividBreadcrumbItem };
22
+ registerBreadcrumbItem();
package/button/index.js CHANGED
@@ -1,100 +1,22 @@
1
- import '../shared/es.promise.resolve.js';
2
- import { h as html, g as getPrefix, d as designSystem } from '../shared/index.js';
3
- import { l as loadComponentsModules } from '../shared/index2.js';
4
- import { B as Button } from '../shared/button.js';
5
- import { a as affixIconTemplateFactory } from '../shared/affix.js';
6
- import { f as focusTemplateFactory } from '../shared/focus.js';
7
- import { r as ref } from '../shared/ref.js';
8
- import { c as classNames } from '../shared/class-names.js';
9
- import { B as Button$1 } from '../shared/button2.js';
10
- import '../shared/apply-mixins.js';
1
+ import { r as registerButton } from '../shared/definition9.js';
2
+ import '../shared/index.js';
3
+ import '../shared/definition3.js';
11
4
  import '../shared/icon.js';
5
+ import '../shared/to-string.js';
12
6
  import '../shared/string-trim.js';
13
7
  import '../shared/_has.js';
14
- import '../shared/focus2.js';
8
+ import '../shared/when.js';
9
+ import '../shared/class-names.js';
10
+ import '../shared/definition4.js';
11
+ import '../shared/focus.js';
12
+ import '../shared/affix.js';
13
+ import '../shared/button.js';
14
+ import '../shared/apply-mixins.js';
15
15
  import '../shared/form-associated.js';
16
16
  import '../shared/key-codes.js';
17
17
  import '../shared/aria-global.js';
18
18
  import '../shared/start-end.js';
19
+ import '../shared/ref.js';
20
+ import '../shared/focus2.js';
19
21
 
20
- var css_248z = "/**\n * Do not edit directly\n * Generated on Wed, 14 Dec 2022 14:20:57 GMT\n */\n:host {\n display: inline-block;\n}\n\n.control {\n position: relative;\n display: inline-flex;\n box-sizing: border-box;\n align-items: center;\n justify-content: center;\n border: 0 none;\n margin: 0;\n background-color: var(--_appearance-color-fill);\n block-size: var(--_button-block-size);\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n gap: var(--_button-icon-gap);\n vertical-align: middle;\n white-space: nowrap;\n /* Size */\n}\n.control.connotation-cta {\n --_connotation-color-primary: var(--vvd-color-cta-500);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-primary-increment: var(--vvd-color-cta-600);\n --_connotation-color-contrast: var(--vvd-color-cta-800);\n --_connotation-color-fierce: var(--vvd-color-cta-700);\n --_connotation-color-firm: var(--vvd-color-cta-600);\n --_connotation-color-soft: var(--vvd-color-cta-100);\n --_connotation-color-faint: var(--vvd-color-cta-50);\n}\n.control.connotation-success {\n --_connotation-color-primary: var(--vvd-color-success-500);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-primary-increment: var(--vvd-color-success-600);\n --_connotation-color-contrast: var(--vvd-color-success-800);\n --_connotation-color-fierce: var(--vvd-color-success-700);\n --_connotation-color-firm: var(--vvd-color-success-600);\n --_connotation-color-soft: var(--vvd-color-success-100);\n --_connotation-color-faint: var(--vvd-color-success-50);\n}\n.control.connotation-alert {\n --_connotation-color-primary: var(--vvd-color-alert-500);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-primary-increment: var(--vvd-color-alert-600);\n --_connotation-color-contrast: var(--vvd-color-alert-800);\n --_connotation-color-fierce: var(--vvd-color-alert-700);\n --_connotation-color-firm: var(--vvd-color-alert-600);\n --_connotation-color-soft: var(--vvd-color-alert-100);\n --_connotation-color-faint: var(--vvd-color-alert-50);\n}\n.control:not(.connotation-cta, .connotation-success, .connotation-alert) {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-primary-increment: var(--vvd-color-neutral-800);\n --_connotation-color-contrast: var(--vvd-color-neutral-800);\n --_connotation-color-fierce: var(--vvd-color-neutral-700);\n --_connotation-color-firm: var(--vvd-color-canvas-text);\n --_connotation-color-soft: var(--vvd-color-neutral-100);\n --_connotation-color-faint: var(--vvd-color-neutral-50);\n}\n.control.appearance-filled {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: transparent;\n}\n.control.appearance-outlined {\n --_appearance-color-text: var(--_connotation-color-firm);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: var(--_connotation-color-firm);\n}\n.control {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.control:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)).appearance-filled {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary-increment);\n --_appearance-color-outline: transparent;\n}\n.control:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)).appearance-outlined {\n --_appearance-color-text: var(--_connotation-color-firm);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: var(--_connotation-color-firm);\n}\n.control:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.control:where(:disabled, .disabled).appearance-filled {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: var(--vvd-color-neutral-200);\n --_appearance-color-outline: transparent;\n}\n.control:where(:disabled, .disabled).appearance-outlined {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: var(--vvd-color-neutral-400);\n}\n.control:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.control:where(:active, .active):where(:not(:disabled, .disabled)).appearance-filled {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-fierce);\n --_appearance-color-outline: transparent;\n}\n.control:where(:active, .active):where(:not(:disabled, .disabled)).appearance-outlined {\n --_appearance-color-text: var(--_connotation-color-firm);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: var(--_connotation-color-firm);\n}\n.control:where(:active, .active):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: transparent;\n}\n.control:not(.icon-only) {\n inline-size: 100%;\n}\n@supports selector(:focus-visible) {\n .control:focus {\n outline: none;\n }\n}\n@supports (user-select: none) {\n .control {\n user-select: none;\n }\n}\n.control:not(:disabled) {\n cursor: pointer;\n}\n.control:disabled {\n cursor: not-allowed;\n}\n.control.icon-only {\n contain: size;\n padding-inline: 0;\n place-content: center;\n}\n@supports (aspect-ratio: 1) {\n .control.icon-only {\n aspect-ratio: 1;\n }\n}\n@supports not (aspect-ratio: 1) {\n .control.icon-only {\n inline-size: var(--_button-block-size);\n }\n}\n.control:not(.stacked).size-condensed {\n --_button-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 8));\n font: var(--vvd-typography-base-condensed-bold);\n}\n.control:not(.stacked).size-condensed:not(.icon-only) {\n --_button-icon-gap: 8px;\n padding-inline: 12px;\n}\n.control:not(.stacked).size-condensed .icon {\n font-size: 16px;\n}\n.control:not(.stacked).size-expanded {\n --_button-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 8));\n font: var(--vvd-typography-base-extended-bold);\n}\n.control:not(.stacked).size-expanded:not(.icon-only) {\n --_button-icon-gap: 10px;\n padding-inline: 20px;\n}\n.control:not(.stacked).size-expanded .icon {\n font-size: 24px;\n}\n.control:not(.stacked):not(.size-condensed, .size-expanded) {\n --_button-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2)));\n font: var(--vvd-typography-base-bold);\n}\n.control:not(.stacked):not(.size-condensed, .size-expanded):not(.icon-only) {\n --_button-icon-gap: 8px;\n padding-inline: 16px;\n}\n.control:not(.stacked):not(.size-condensed, .size-expanded) .icon {\n font-size: 20px;\n}\n.control.stacked {\n flex-direction: column;\n justify-content: center;\n --_button-block-size: calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 8)) + calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 20)));\n font: var(--vvd-typography-base-bold);\n}\n.control.stacked:not(.icon-only) {\n --_button-icon-gap: 10px;\n padding-inline: 16px;\n}\n.control.stacked .icon {\n font-size: 20px;\n}\n\n/* Shape */\n.control:not(.shape-pill:not(.stacked)) {\n border-radius: 6px;\n}\n\n.control.shape-pill:not(.stacked):not(.icon-only) {\n border-radius: 24px;\n}\n.control.shape-pill:not(.stacked).icon-only {\n border-radius: 50%;\n}\n\n/* Icon */\n.icon-trailing .icon {\n order: 1;\n}\n\n:not(:focus-visible) > .focus-indicator {\n display: none;\n}\n.appearance-outlined .focus-indicator, .appearance-ghost .focus-indicator {\n --focus-stroke-gap-color: transparent;\n}";
21
-
22
- let _ = t => t,
23
- _t;
24
- const getAppearanceClassName = (appearance, disabled) => {
25
- let className = `appearance-${appearance}`;
26
- disabled && (className += ' disabled');
27
- return className;
28
- };
29
- const getClasses = ({
30
- connotation,
31
- appearance,
32
- shape,
33
- iconTrailing,
34
- icon,
35
- label,
36
- disabled,
37
- stacked,
38
- size
39
- }) => classNames('control', [`connotation-${connotation}`, Boolean(connotation)], [getAppearanceClassName(appearance, disabled), Boolean(appearance)], [`shape-${shape}`, Boolean(shape)], [`size-${size}`, Boolean(size)], ['icon-only', !label && !!icon], ['icon-trailing', iconTrailing], ['stacked', Boolean(stacked)]);
40
- const buttonTemplate = context => {
41
- const affixIconTemplate = affixIconTemplateFactory(context);
42
- const focusTemplate = focusTemplateFactory(context);
43
- return html(_t || (_t = _`
44
- <button
45
- class="${0}"
46
- ?autofocus="${0}"
47
- ?disabled="${0}"
48
- form="${0}"
49
- formaction="${0}"
50
- formenctype="${0}"
51
- formmethod="${0}"
52
- formnovalidate="${0}"
53
- formtarget="${0}"
54
- name="${0}"
55
- type="${0}"
56
- value="${0}"
57
- aria-atomic="${0}"
58
- aria-busy="${0}"
59
- aria-controls="${0}"
60
- aria-current="${0}"
61
- aria-describedby="${0}"
62
- aria-details="${0}"
63
- aria-disabled="${0}"
64
- aria-errormessage="${0}"
65
- aria-expanded="${0}"
66
- aria-flowto="${0}"
67
- aria-haspopup="${0}"
68
- aria-hidden="${0}"
69
- aria-invalid="${0}"
70
- aria-keyshortcuts="${0}"
71
- aria-label="${0}"
72
- aria-labelledby="${0}"
73
- aria-live="${0}"
74
- aria-owns="${0}"
75
- aria-pressed="${0}"
76
- aria-relevant="${0}"
77
- aria-roledescription="${0}"
78
- ${0}
79
- >
80
- ${0}
81
- ${0}
82
- ${0}
83
- </button>
84
- `), getClasses, x => x.autofocus, x => x.disabled, x => x.formId, x => x.formaction, x => x.formenctype, x => x.formmethod, x => x.formnovalidate, x => x.formtarget, x => x.name, x => x.type, x => x.value, 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.ariaPressed, x => x.ariaRelevant, x => x.ariaRoledescription, ref('control'), () => focusTemplate, x => affixIconTemplate(x.icon), x => x.label);
85
- };
86
-
87
- const vividButton = Button.compose({
88
- baseName: 'button',
89
- baseClass: Button$1,
90
- template: buttonTemplate,
91
- styles: css_248z,
92
- shadowOptions: {
93
- delegatesFocus: true
94
- }
95
- });
96
- const prefix = getPrefix(import.meta.url);
97
- (async () => {
98
- await loadComponentsModules(['icon', 'focus'], prefix);
99
- designSystem.withPrefix(prefix).register(vividButton());
100
- })();
22
+ registerButton();