@vonage/vivid 3.0.0 → 3.0.1

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 (323) hide show
  1. package/README.md +176 -4
  2. package/accordion/index.js +22 -61
  3. package/accordion-item/index.js +16 -118
  4. package/action-group/index.js +5 -0
  5. package/avatar/index.js +11 -0
  6. package/badge/index.js +9 -53
  7. package/banner/index.js +20 -210
  8. package/breadcrumb/index.js +7 -96
  9. package/breadcrumb-item/index.js +15 -46
  10. package/button/index.js +19 -751
  11. package/calendar/index.js +5 -1520
  12. package/calendar-event/index.js +9 -0
  13. package/card/index.js +10 -133
  14. package/checkbox/index.js +16 -0
  15. package/combobox/index.js +35 -0
  16. package/dialog/index.js +24 -0
  17. package/divider/index.js +6 -0
  18. package/elevation/index.js +4 -30
  19. package/fab/index.js +22 -0
  20. package/focus/index.js +4 -2
  21. package/header/index.js +6 -0
  22. package/icon/index.js +8 -36
  23. package/index.js +76 -26
  24. package/layout/index.js +4 -52
  25. package/lib/accordion/accordion.d.ts +3 -7
  26. package/lib/accordion/accordion.template.d.ts +1 -2
  27. package/lib/accordion/definition.d.ts +1 -0
  28. package/lib/accordion/index.d.ts +1 -2
  29. package/lib/accordion-item/accordion-item.d.ts +2 -6
  30. package/lib/accordion-item/accordion-item.template.d.ts +4 -4
  31. package/lib/accordion-item/definition.d.ts +1 -0
  32. package/lib/accordion-item/index.d.ts +1 -3
  33. package/lib/action-group/action-group.d.ts +10 -0
  34. package/lib/{sidenav-item/sidenav-item.template.d.ts → action-group/action-group.template.d.ts} +2 -2
  35. package/lib/action-group/definition.d.ts +1 -0
  36. package/lib/action-group/index.d.ts +1 -0
  37. package/lib/avatar/avatar.d.ts +15 -0
  38. package/lib/avatar/avatar.template.d.ts +4 -0
  39. package/lib/avatar/definition.d.ts +1 -0
  40. package/lib/avatar/index.d.ts +1 -0
  41. package/lib/badge/badge.d.ts +2 -4
  42. package/lib/badge/definition.d.ts +3 -0
  43. package/lib/badge/index.d.ts +1 -3
  44. package/lib/banner/banner.d.ts +1 -1
  45. package/lib/banner/banner.template.d.ts +0 -2
  46. package/lib/banner/definition.d.ts +1 -0
  47. package/lib/banner/index.d.ts +1 -2
  48. package/lib/breadcrumb/breadcrumb.template.d.ts +4 -0
  49. package/lib/breadcrumb/definition.d.ts +1 -0
  50. package/lib/breadcrumb/index.d.ts +1 -2
  51. package/lib/breadcrumb-item/definition.d.ts +1 -0
  52. package/lib/breadcrumb-item/index.d.ts +1 -3
  53. package/lib/button/button.d.ts +3 -2
  54. package/lib/button/definition.d.ts +1 -0
  55. package/lib/button/index.d.ts +1 -21
  56. package/lib/calendar/calendar.d.ts +3 -1
  57. package/lib/calendar/definition.d.ts +1 -0
  58. package/lib/calendar/index.d.ts +1 -3
  59. package/lib/calendar-event/calendar-event.d.ts +14 -0
  60. package/lib/calendar-event/calendar-event.template.d.ts +4 -0
  61. package/lib/calendar-event/definition.d.ts +1 -0
  62. package/lib/calendar-event/index.d.ts +1 -0
  63. package/lib/card/card.d.ts +2 -2
  64. package/lib/card/definition.d.ts +1 -0
  65. package/lib/card/index.d.ts +1 -5
  66. package/lib/checkbox/checkbox.d.ts +5 -0
  67. package/lib/checkbox/checkbox.template.d.ts +4 -0
  68. package/lib/checkbox/definition.d.ts +1 -0
  69. package/lib/checkbox/index.d.ts +1 -0
  70. package/lib/combobox/combobox.d.ts +14 -0
  71. package/lib/combobox/combobox.template.d.ts +4 -0
  72. package/lib/combobox/definition.d.ts +3 -0
  73. package/lib/combobox/index.d.ts +1 -0
  74. package/lib/components.d.ts +44 -16
  75. package/lib/dialog/definition.d.ts +1 -0
  76. package/lib/dialog/dialog.d.ts +23 -0
  77. package/lib/dialog/dialog.template.d.ts +4 -0
  78. package/lib/dialog/index.d.ts +1 -0
  79. package/lib/divider/definition.d.ts +1 -0
  80. package/lib/divider/divider.d.ts +3 -0
  81. package/lib/divider/divider.template.d.ts +4 -0
  82. package/lib/divider/index.d.ts +1 -0
  83. package/lib/elevation/definition.d.ts +1 -0
  84. package/lib/elevation/elevation.d.ts +1 -0
  85. package/lib/elevation/index.d.ts +1 -2
  86. package/lib/enums.d.ts +19 -6
  87. package/lib/fab/definition.d.ts +3 -0
  88. package/lib/fab/fab.d.ts +13 -0
  89. package/lib/fab/fab.template.d.ts +4 -0
  90. package/lib/fab/index.d.ts +1 -0
  91. package/lib/focus/definition.d.ts +3 -0
  92. package/lib/focus/index.d.ts +1 -2
  93. package/lib/{sidenav-item/index.d.ts → header/definition.d.ts} +2 -2
  94. package/lib/header/header.d.ts +5 -0
  95. package/lib/header/header.template.d.ts +4 -0
  96. package/lib/header/index.d.ts +1 -0
  97. package/lib/icon/definition.d.ts +3 -0
  98. package/lib/icon/icon.d.ts +5 -6
  99. package/lib/icon/index.d.ts +1 -2
  100. package/lib/layout/definition.d.ts +3 -0
  101. package/lib/layout/index.d.ts +1 -2
  102. package/lib/layout/layout.d.ts +4 -4
  103. package/lib/listbox/definition.d.ts +3 -0
  104. package/lib/listbox/index.d.ts +1 -0
  105. package/lib/listbox/listbox.d.ts +6 -0
  106. package/lib/listbox/listbox.template.d.ts +4 -0
  107. package/lib/menu/definition.d.ts +11 -0
  108. package/lib/menu/index.d.ts +1 -0
  109. package/lib/menu/menu.d.ts +10 -0
  110. package/lib/menu/menu.template.d.ts +3 -0
  111. package/lib/menu-item/definition.d.ts +3 -0
  112. package/lib/menu-item/index.d.ts +1 -0
  113. package/lib/menu-item/menu-item.d.ts +8 -0
  114. package/lib/menu-item/menu-item.template.d.ts +5 -0
  115. package/lib/nav/definition.d.ts +3 -0
  116. package/lib/nav/index.d.ts +1 -0
  117. package/lib/nav/nav.d.ts +3 -0
  118. package/lib/nav/nav.template.d.ts +4 -0
  119. package/lib/nav-disclosure/definition.d.ts +3 -0
  120. package/lib/nav-disclosure/index.d.ts +1 -0
  121. package/lib/nav-disclosure/nav-disclosure.d.ts +10 -0
  122. package/lib/nav-disclosure/nav-disclosure.template.d.ts +4 -0
  123. package/lib/nav-item/definition.d.ts +3 -0
  124. package/lib/nav-item/index.d.ts +1 -0
  125. package/lib/{sidenav-item/sidenav-item.d.ts → nav-item/nav-item.d.ts} +2 -2
  126. package/lib/nav-item/nav-item.template.d.ts +4 -0
  127. package/lib/note/definition.d.ts +3 -0
  128. package/lib/note/index.d.ts +1 -0
  129. package/lib/note/note.d.ts +10 -0
  130. package/lib/{text/text.template.d.ts → note/note.template.d.ts} +2 -2
  131. package/lib/number-field/definition.d.ts +4 -0
  132. package/lib/number-field/index.d.ts +1 -0
  133. package/lib/number-field/number-field.d.ts +14 -0
  134. package/lib/number-field/number-field.template.d.ts +4 -0
  135. package/lib/option/definition.d.ts +3 -0
  136. package/lib/option/index.d.ts +1 -0
  137. package/lib/option/option.d.ts +9 -0
  138. package/lib/option/option.template.d.ts +4 -0
  139. package/lib/popup/definition.d.ts +4 -0
  140. package/lib/popup/index.d.ts +1 -4
  141. package/lib/popup/popup.d.ts +8 -4
  142. package/lib/progress/definition.d.ts +3 -0
  143. package/lib/progress/index.d.ts +1 -2
  144. package/lib/progress/progress.d.ts +1 -1
  145. package/lib/progress-ring/definition.d.ts +3 -0
  146. package/lib/progress-ring/index.d.ts +1 -2
  147. package/lib/progress-ring/progress-ring.d.ts +2 -1
  148. package/lib/radio/definition.d.ts +3 -0
  149. package/lib/radio/index.d.ts +1 -0
  150. package/lib/radio/radio.d.ts +4 -0
  151. package/lib/radio/radio.template.d.ts +4 -0
  152. package/lib/radio-group/definition.d.ts +11 -0
  153. package/lib/radio-group/index.d.ts +1 -0
  154. package/lib/radio-group/radio-group.d.ts +4 -0
  155. package/lib/radio-group/radio-group.template.d.ts +4 -0
  156. package/lib/select/definition.d.ts +3 -0
  157. package/lib/select/index.d.ts +1 -0
  158. package/lib/select/select.d.ts +17 -0
  159. package/lib/select/select.template.d.ts +4 -0
  160. package/lib/side-drawer/definition.d.ts +3 -0
  161. package/lib/side-drawer/index.d.ts +1 -2
  162. package/lib/side-drawer/side-drawer.d.ts +3 -2
  163. package/lib/slider/definition.d.ts +3 -0
  164. package/lib/slider/index.d.ts +1 -0
  165. package/lib/slider/slider.d.ts +4 -0
  166. package/lib/slider/slider.template.d.ts +4 -0
  167. package/lib/switch/definition.d.ts +3 -0
  168. package/lib/switch/index.d.ts +1 -0
  169. package/lib/switch/switch.d.ts +7 -0
  170. package/lib/switch/switch.template.d.ts +4 -0
  171. package/lib/tab/definition.d.ts +3 -0
  172. package/lib/tab/index.d.ts +1 -0
  173. package/lib/tab/tab.d.ts +9 -0
  174. package/lib/tab/tab.template.d.ts +3 -0
  175. package/lib/tab-panel/definition.d.ts +3 -0
  176. package/lib/tab-panel/index.d.ts +1 -0
  177. package/lib/tab-panel/tab-panel.d.ts +3 -0
  178. package/lib/tab-panel/tab-panel.template.d.ts +2 -0
  179. package/lib/tabs/definition.d.ts +3 -0
  180. package/lib/tabs/index.d.ts +1 -0
  181. package/lib/tabs/tabs.d.ts +10 -0
  182. package/lib/tabs/tabs.template.d.ts +2 -0
  183. package/lib/text-anchor/definition.d.ts +3 -0
  184. package/lib/text-anchor/index.d.ts +1 -2
  185. package/lib/text-area/definition.d.ts +3 -0
  186. package/lib/text-area/index.d.ts +1 -0
  187. package/lib/text-area/text-area.d.ts +9 -0
  188. package/lib/text-area/text-area.template.d.ts +4 -0
  189. package/lib/text-field/definition.d.ts +3 -0
  190. package/lib/text-field/index.d.ts +1 -0
  191. package/lib/text-field/text-field.d.ts +14 -0
  192. package/lib/text-field/text-field.template.d.ts +4 -0
  193. package/lib/tooltip/definition.d.ts +3 -0
  194. package/lib/tooltip/index.d.ts +1 -3
  195. package/lib/tooltip/tooltip.d.ts +6 -6
  196. package/listbox/index.js +27 -0
  197. package/menu/index.js +30 -0
  198. package/menu-item/index.js +20 -0
  199. package/nav/index.js +4 -0
  200. package/nav-disclosure/index.js +17 -0
  201. package/nav-item/index.js +22 -0
  202. package/note/index.js +15 -0
  203. package/number-field/index.js +459 -0
  204. package/option/index.js +21 -0
  205. package/package.json +29 -18
  206. package/popup/index.js +21 -2062
  207. package/progress/index.js +6 -98
  208. package/progress-ring/index.js +6 -75
  209. package/radio/index.js +12 -0
  210. package/radio-group/index.js +11 -0
  211. package/select/index.js +34 -0
  212. package/shared/affix.js +2 -8
  213. package/shared/anchor.js +10 -2
  214. package/shared/apply-mixins.js +5 -4
  215. package/shared/aria-global.js +2 -86
  216. package/shared/aria.js +9 -0
  217. package/shared/base-progress.js +5 -0
  218. package/shared/breadcrumb-item.js +1 -1
  219. package/shared/button.js +200 -0
  220. package/shared/calendar-event.js +19 -0
  221. package/shared/definition.js +225 -0
  222. package/shared/definition10.js +99 -0
  223. package/shared/definition11.js +48 -0
  224. package/shared/definition12.js +1523 -0
  225. package/shared/definition13.js +111 -0
  226. package/shared/definition14.js +114 -0
  227. package/shared/definition15.js +32 -0
  228. package/shared/definition16.js +172 -0
  229. package/shared/definition17.js +727 -0
  230. package/shared/definition18.js +1842 -0
  231. package/shared/definition19.js +261 -0
  232. package/shared/definition2.js +150 -0
  233. package/shared/definition20.js +221 -0
  234. package/shared/definition21.js +78 -0
  235. package/shared/definition22.js +87 -0
  236. package/shared/definition23.js +58 -0
  237. package/shared/definition24.js +44 -0
  238. package/shared/definition25.js +58 -0
  239. package/shared/definition26.js +348 -0
  240. package/shared/definition27.js +363 -0
  241. package/shared/definition28.js +21 -0
  242. package/shared/definition29.js +75 -0
  243. package/shared/definition3.js +29 -0
  244. package/shared/definition30.js +31 -0
  245. package/shared/definition31.js +49 -0
  246. package/shared/definition32.js +94 -0
  247. package/shared/definition33.js +77 -0
  248. package/shared/definition34.js +45 -0
  249. package/shared/definition35.js +435 -0
  250. package/shared/definition36.js +634 -0
  251. package/shared/definition37.js +86 -0
  252. package/shared/definition38.js +592 -0
  253. package/shared/definition39.js +147 -0
  254. package/shared/definition4.js +19 -0
  255. package/shared/definition40.js +67 -0
  256. package/shared/definition41.js +32 -0
  257. package/shared/definition42.js +440 -0
  258. package/shared/definition43.js +282 -0
  259. package/shared/definition44.js +119 -0
  260. package/shared/definition45.js +77 -0
  261. package/shared/definition5.js +38 -0
  262. package/shared/definition6.js +60 -0
  263. package/shared/definition7.js +45 -0
  264. package/shared/definition8.js +113 -0
  265. package/shared/definition9.js +107 -0
  266. package/shared/design-system/index.d.ts +1 -1
  267. package/shared/dialog-polyfill.esm.js +858 -0
  268. package/shared/direction.js +20 -0
  269. package/shared/dom.js +8 -0
  270. package/shared/enums.js +70 -0
  271. package/shared/es.object.assign.js +2 -3
  272. package/shared/es.regexp.to-string.js +59 -0
  273. package/shared/focus.js +5 -0
  274. package/shared/focus2.js +11 -0
  275. package/shared/form-associated.js +466 -0
  276. package/shared/form-elements.js +127 -0
  277. package/shared/icon.js +538 -567
  278. package/shared/index.js +1664 -83
  279. package/shared/key-codes.js +97 -0
  280. package/shared/listbox.js +995 -0
  281. package/shared/numbers.js +34 -0
  282. package/shared/patterns/affix.d.ts +1 -1
  283. package/shared/patterns/focus.d.ts +3 -0
  284. package/shared/patterns/form-elements/form-elements.d.ts +43 -0
  285. package/shared/patterns/form-elements/index.d.ts +1 -0
  286. package/shared/patterns/index.d.ts +2 -0
  287. package/shared/radio.js +127 -0
  288. package/shared/ref.js +41 -0
  289. package/shared/select.options.js +10 -0
  290. package/shared/start-end.js +50 -0
  291. package/shared/string-trim.js +40 -0
  292. package/shared/strings.js +9 -0
  293. package/shared/text-anchor.js +0 -2
  294. package/shared/text-anchor.template.js +6 -5
  295. package/shared/text-field.js +3 -0
  296. package/shared/text-field2.js +225 -0
  297. package/shared/to-string.js +51 -0
  298. package/side-drawer/index.js +5 -81
  299. package/slider/index.js +17 -0
  300. package/styles/core/all.css +83 -0
  301. package/styles/core/theme.css +11 -0
  302. package/styles/core/typography.css +77 -0
  303. package/styles/tokens/theme-dark.css +228 -0
  304. package/styles/tokens/theme-light.css +228 -0
  305. package/switch/index.js +18 -0
  306. package/tab/index.js +16 -0
  307. package/tab-panel/index.js +4 -0
  308. package/tabs/index.js +24 -0
  309. package/text-anchor/index.js +11 -6
  310. package/text-area/index.js +23 -0
  311. package/text-field/index.js +24 -0
  312. package/tooltip/index.js +18 -55
  313. package/lib/text/index.d.ts +0 -2
  314. package/lib/text/text.d.ts +0 -10
  315. package/shared/index2.js +0 -21
  316. package/shared/object-set-prototype-of.js +0 -1009
  317. package/shared/style-inject.es.js +0 -28
  318. package/shared/web.dom-collections.iterator.js +0 -473
  319. package/sidenav-item/index.js +0 -39
  320. package/styles/fonts/spezia.css +0 -23
  321. package/styles/themes/dark.css +0 -205
  322. package/styles/themes/light.css +0 -205
  323. package/text/index.js +0 -46
@@ -0,0 +1,113 @@
1
+ import { F as FoundationElement, U as __classPrivateFieldGet, _ as __decorate, a as attr, b as __metadata, h as html, r as registerFactory } from './index.js';
2
+ import { B as Button, b as buttonRegistries } from './definition9.js';
3
+ import { i as iconRegistries } from './definition3.js';
4
+ import { C as Connotation } from './enums.js';
5
+ import { b as AffixIcon, a as affixIconTemplateFactory } from './affix.js';
6
+ import { a as applyMixins } from './apply-mixins.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 Mon, 30 Jan 2023 11:28:31 GMT\n */\n.control {\n overflow: hidden;\n max-height: 160px;\n background-color: var(--_appearance-color-fill);\n color: var(--_appearance-color-text);\n transition: max-height var(--transition-delay, 200ms);\n}\n.control.connotation-success {\n --_connotation-color-primary: var(--vvd-color-success-500);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n}\n.control.connotation-alert {\n --_connotation-color-primary: var(--vvd-color-alert-500);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n}\n.control.connotation-announcement {\n --_connotation-color-primary: var(--vvd-color-announcement-500);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n}\n.control.connotation-warning {\n --_connotation-color-primary: var(--vvd-color-warning-300);\n --_connotation-color-primary-text: var(--vvd-color-canvas-text);\n}\n.control:not(.connotation-success, .connotation-alert, .connotation-announcement, .connotation-warning) {\n --_connotation-color-primary: var(--vvd-color-information-500);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n}\n.control {\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.removing {\n max-height: 0;\n}\n.control > .header {\n display: flex;\n min-height: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 20));\n align-items: center;\n justify-content: flex-start;\n font: var(--vvd-typography-base-bold);\n}\n.control > .header > .user-content {\n display: flex;\n flex: 1 0;\n align-items: center;\n justify-content: center;\n padding-inline: 16px;\n}\n.control > .header > .user-content > .icon {\n flex: 0 0 auto;\n font-size: 20px;\n line-height: 1;\n margin-inline-end: 15px;\n}\n.control > .header > .user-content > .action-items {\n display: inline-block;\n flex: 0 0 auto;\n padding-inline-start: 15px;\n}\n.control > .header > .user-content > .message {\n padding: 20px 0;\n}\n.control > .header > .dismiss-button {\n --vvd-icon-button-color: inherit;\n flex: 0 0 auto;\n margin-inline-end: 8px;\n}";
11
+
12
+ var _Banner_handleRemoveEnd, _Banner_closeOnKeyDown;
13
+ const connotationIconMap = new Map([[Connotation.Information, 'info-solid'], [Connotation.Announcement, 'megaphone-solid'], [Connotation.Success, 'check-circle-solid'], [Connotation.Warning, 'warning-solid'], [Connotation.Alert, 'error-solid']]);
14
+ const defaultConnotation = (connotation = Connotation.Information) => connotationIconMap.get(connotation);
15
+ class Banner extends FoundationElement {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.removable = false;
19
+ _Banner_handleRemoveEnd.set(this, () => {
20
+ this.$emit('removed');
21
+ this.parentElement && this.parentElement.removeChild(this);
22
+ });
23
+ _Banner_closeOnKeyDown.set(this, e => {
24
+ if (e.key !== 'Escape' || !this.removable) {
25
+ return;
26
+ }
27
+ this.remove();
28
+ });
29
+ }
30
+ get conditionedIcon() {
31
+ var _a;
32
+ return (_a = this.icon) !== null && _a !== void 0 ? _a : defaultConnotation(this.connotation);
33
+ }
34
+ connectedCallback() {
35
+ super.connectedCallback();
36
+ this.addEventListener('keydown', __classPrivateFieldGet(this, _Banner_closeOnKeyDown, "f"));
37
+ }
38
+ disconnectedCallback() {
39
+ super.disconnectedCallback();
40
+ this.removeEventListener('keydown', __classPrivateFieldGet(this, _Banner_closeOnKeyDown, "f"));
41
+ }
42
+ remove() {
43
+ this.$emit('removing');
44
+ const banner = this.shadowRoot && this.shadowRoot.querySelector('.banner');
45
+ if (banner) {
46
+ banner.classList.add('removing');
47
+ banner.addEventListener('transitionend', __classPrivateFieldGet(this, _Banner_handleRemoveEnd, "f"));
48
+ }
49
+ }
50
+ }
51
+ _Banner_handleRemoveEnd = new WeakMap(), _Banner_closeOnKeyDown = new WeakMap();
52
+ __decorate([attr({
53
+ attribute: 'action-href'
54
+ }), __metadata("design:type", Object)], Banner.prototype, "actionHref", void 0);
55
+ __decorate([attr({
56
+ attribute: 'action-text'
57
+ }), __metadata("design:type", Object)], Banner.prototype, "actionText", void 0);
58
+ __decorate([attr({
59
+ mode: 'boolean'
60
+ }), __metadata("design:type", Object)], Banner.prototype, "removable", void 0);
61
+ __decorate([attr({
62
+ attribute: 'aria-live'
63
+ }), __metadata("design:type", Object)], Banner.prototype, "ariaLive", void 0);
64
+ __decorate([attr(), __metadata("design:type", Object)], Banner.prototype, "role", void 0);
65
+ __decorate([attr(), __metadata("design:type", Object)], Banner.prototype, "text", void 0);
66
+ __decorate([attr(), __metadata("design:type", Object)], Banner.prototype, "connotation", void 0);
67
+ applyMixins(Banner, AffixIcon);
68
+
69
+ let _2 = t => t,
70
+ _t,
71
+ _t2;
72
+ const getClasses = _ => classNames('control', [`connotation-${_.connotation}`, !!_.connotation]);
73
+ function renderDismissButton(buttonTag) {
74
+ return html(_t || (_t = _2`
75
+ <${0}
76
+ part="vvd-theme-alternate"
77
+ size="condensed"
78
+ class="dismiss-button"
79
+ icon="close-line"
80
+ @click="${0}">
81
+ </${0}>`), buttonTag, x => x.remove(), buttonTag);
82
+ }
83
+ const BannerTemplate = context => {
84
+ const affixIconTemplate = affixIconTemplateFactory(context);
85
+ const buttonTag = context.tagFor(Button);
86
+ return html(_t2 || (_t2 = _2`
87
+ <div class="banner ${0}" tabindex="0">
88
+ <header class="header">
89
+ <div class="user-content">
90
+ ${0}
91
+ <div class="banner--message"
92
+ role="${0}"
93
+ aria-live="${0}">
94
+ ${0}
95
+ </div>
96
+ <slot class="action-items" name="action-items"></slot>
97
+ </div>
98
+
99
+ ${0}
100
+ </header>
101
+ </div>
102
+ `), getClasses, x => affixIconTemplate(x.conditionedIcon), x => x.role ? x.role : 'status', x => x.ariaLive ? x.ariaLive : 'polite', x => x.text, when(x => x.removable, renderDismissButton(buttonTag)));
103
+ };
104
+
105
+ const bannerDefinition = Banner.compose({
106
+ baseName: 'banner',
107
+ template: BannerTemplate,
108
+ styles: css_248z
109
+ });
110
+ const bannerRegistries = [bannerDefinition(), ...iconRegistries, ...buttonRegistries];
111
+ const registerBanner = registerFactory(bannerRegistries);
112
+
113
+ export { bannerRegistries as a, bannerDefinition as b, registerBanner as r };
@@ -0,0 +1,107 @@
1
+ import { _ as __decorate, a as attr, b as __metadata, h as html, r as registerFactory } from './index.js';
2
+ import { i as iconRegistries } from './definition3.js';
3
+ import { f as focusRegistries } from './definition4.js';
4
+ import { A as AffixIconWithTrailing, a as affixIconTemplateFactory } from './affix.js';
5
+ import { B as Button$1 } from './button.js';
6
+ import { a as applyMixins } from './apply-mixins.js';
7
+ import { f as focusTemplateFactory } from './focus2.js';
8
+ import { r as ref } from './ref.js';
9
+ import { c as classNames } from './class-names.js';
10
+
11
+ class Button extends Button$1 {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.stacked = false;
15
+ }
16
+ }
17
+ __decorate([attr, __metadata("design:type", String)], Button.prototype, "connotation", void 0);
18
+ __decorate([attr, __metadata("design:type", String)], Button.prototype, "shape", void 0);
19
+ __decorate([attr, __metadata("design:type", String)], Button.prototype, "appearance", void 0);
20
+ __decorate([attr, __metadata("design:type", String)], Button.prototype, "size", void 0);
21
+ __decorate([attr({
22
+ mode: 'boolean',
23
+ attribute: 'stacked'
24
+ }), __metadata("design:type", Object)], Button.prototype, "stacked", void 0);
25
+ __decorate([attr, __metadata("design:type", String)], Button.prototype, "label", void 0);
26
+ applyMixins(Button, AffixIconWithTrailing);
27
+
28
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Mon, 30 Jan 2023 11:28:31 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-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):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.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\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 {\n line-height: 1;\n}\n.icon-trailing .icon {\n order: 1;\n}\n.control.stacked > .icon {\n font-size: calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2))) / 2);\n}\n.control:not(.stacked) > .icon {\n font-size: calc(var(--_button-block-size) / 2);\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}";
29
+
30
+ let _ = t => t,
31
+ _t;
32
+ const getAppearanceClassName = (appearance, disabled) => {
33
+ let className = `appearance-${appearance}`;
34
+ disabled && (className += ' disabled');
35
+ return className;
36
+ };
37
+ const getClasses = ({
38
+ connotation,
39
+ appearance,
40
+ shape,
41
+ iconTrailing,
42
+ icon,
43
+ label,
44
+ disabled,
45
+ stacked,
46
+ size
47
+ }) => 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)]);
48
+ const buttonTemplate = context => {
49
+ const affixIconTemplate = affixIconTemplateFactory(context);
50
+ const focusTemplate = focusTemplateFactory(context);
51
+ return html(_t || (_t = _`
52
+ <button
53
+ class="${0}"
54
+ ?autofocus="${0}"
55
+ ?disabled="${0}"
56
+ form="${0}"
57
+ formaction="${0}"
58
+ formenctype="${0}"
59
+ formmethod="${0}"
60
+ formnovalidate="${0}"
61
+ formtarget="${0}"
62
+ name="${0}"
63
+ type="${0}"
64
+ value="${0}"
65
+ aria-atomic="${0}"
66
+ aria-busy="${0}"
67
+ aria-controls="${0}"
68
+ aria-current="${0}"
69
+ aria-describedby="${0}"
70
+ aria-details="${0}"
71
+ aria-disabled="${0}"
72
+ aria-errormessage="${0}"
73
+ aria-expanded="${0}"
74
+ aria-flowto="${0}"
75
+ aria-haspopup="${0}"
76
+ aria-hidden="${0}"
77
+ aria-invalid="${0}"
78
+ aria-keyshortcuts="${0}"
79
+ aria-label="${0}"
80
+ aria-labelledby="${0}"
81
+ aria-live="${0}"
82
+ aria-owns="${0}"
83
+ aria-pressed="${0}"
84
+ aria-relevant="${0}"
85
+ aria-roledescription="${0}"
86
+ ${0}
87
+ >
88
+ ${0}
89
+ ${0}
90
+ ${0}
91
+ </button>
92
+ `), 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);
93
+ };
94
+
95
+ const buttonDefinition = Button.compose({
96
+ baseName: 'button',
97
+ baseClass: Button$1,
98
+ template: buttonTemplate,
99
+ styles: css_248z,
100
+ shadowOptions: {
101
+ delegatesFocus: true
102
+ }
103
+ });
104
+ const buttonRegistries = [buttonDefinition(), ...iconRegistries, ...focusRegistries];
105
+ const registerButton = registerFactory(buttonRegistries);
106
+
107
+ export { Button as B, buttonDefinition as a, buttonRegistries as b, registerButton as r };
@@ -1,3 +1,3 @@
1
1
  import { DesignSystem } from '@microsoft/fast-foundation';
2
- export declare function provideVividDesignSystem(element?: HTMLElement): DesignSystem;
3
2
  export declare const designSystem: DesignSystem;
3
+ export declare const registerFactory: (registries: any[]) => (prefix?: string) => DesignSystem;