@vonage/vivid 3.0.0-next.7 → 3.0.0-next.70

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 (478) hide show
  1. package/README.md +137 -4
  2. package/accordion/index.js +59 -0
  3. package/accordion-item/index.js +131 -0
  4. package/action-group/index.js +47 -0
  5. package/avatar/index.js +51 -0
  6. package/badge/index.js +58 -0
  7. package/banner/index.js +149 -0
  8. package/breadcrumb/index.js +103 -0
  9. package/breadcrumb-item/index.js +62 -0
  10. package/button/index.js +130 -0
  11. package/calendar/index.js +1563 -0
  12. package/calendar-event/index.js +115 -0
  13. package/card/index.js +132 -0
  14. package/checkbox/index.js +184 -0
  15. package/dialog/index.js +281 -0
  16. package/divider/index.js +86 -0
  17. package/elevation/index.js +3 -0
  18. package/fab/index.js +105 -0
  19. package/focus/index.js +18 -0
  20. package/header/index.js +66 -0
  21. package/icon/index.js +38 -0
  22. package/{src/index.ts → index.d.ts} +2 -2
  23. package/index.js +63 -0
  24. package/layout/index.js +51 -0
  25. package/lib/accordion/accordion.d.ts +9 -0
  26. package/lib/accordion/accordion.template.d.ts +4 -0
  27. package/lib/accordion/index.d.ts +2 -0
  28. package/lib/accordion-item/accordion-item.d.ts +13 -0
  29. package/lib/accordion-item/accordion-item.template.d.ts +4 -0
  30. package/lib/accordion-item/index.d.ts +4 -0
  31. package/lib/action-group/action-group.d.ts +10 -0
  32. package/lib/action-group/action-group.template.d.ts +4 -0
  33. package/lib/action-group/index.d.ts +2 -0
  34. package/lib/avatar/avatar.d.ts +14 -0
  35. package/lib/avatar/avatar.template.d.ts +4 -0
  36. package/lib/avatar/index.d.ts +3 -0
  37. package/lib/badge/badge.d.ts +17 -0
  38. package/lib/badge/badge.template.d.ts +4 -0
  39. package/lib/badge/index.d.ts +3 -0
  40. package/lib/banner/banner.d.ts +20 -0
  41. package/lib/banner/banner.template.d.ts +4 -0
  42. package/lib/banner/index.d.ts +3 -0
  43. package/lib/breadcrumb/breadcrumb.d.ts +3 -0
  44. package/lib/breadcrumb/breadcrumb.template.d.ts +4 -0
  45. package/lib/breadcrumb/index.d.ts +2 -0
  46. package/lib/breadcrumb-item/breadcrumb-item.d.ts +5 -0
  47. package/lib/breadcrumb-item/breadcrumb-item.template.d.ts +4 -0
  48. package/lib/breadcrumb-item/index.d.ts +4 -0
  49. package/lib/button/button.d.ts +18 -0
  50. package/lib/button/button.template.d.ts +4 -0
  51. package/lib/button/index.d.ts +4 -0
  52. package/lib/calendar/calendar.d.ts +13 -0
  53. package/lib/calendar/calendar.template.d.ts +4 -0
  54. package/lib/calendar/helpers/calendar.date-functions.d.ts +2 -0
  55. package/lib/calendar/helpers/calendar.event-context.d.ts +6 -0
  56. package/lib/calendar/helpers/calendar.keyboard-interactions.d.ts +9 -0
  57. package/lib/calendar/index.d.ts +2 -0
  58. package/lib/calendar-event/calendar-event.d.ts +14 -0
  59. package/lib/calendar-event/calendar-event.template.d.ts +4 -0
  60. package/lib/calendar-event/index.d.ts +2 -0
  61. package/lib/card/card.d.ts +10 -0
  62. package/lib/card/card.template.d.ts +4 -0
  63. package/lib/card/index.d.ts +4 -0
  64. package/lib/checkbox/checkbox.d.ts +5 -0
  65. package/lib/checkbox/checkbox.template.d.ts +4 -0
  66. package/lib/checkbox/index.d.ts +4 -0
  67. package/lib/components.d.ts +32 -0
  68. package/lib/dialog/dialog.d.ts +20 -0
  69. package/lib/dialog/dialog.template.d.ts +4 -0
  70. package/lib/dialog/index.d.ts +5 -0
  71. package/lib/divider/divider.d.ts +3 -0
  72. package/lib/divider/divider.template.d.ts +4 -0
  73. package/lib/divider/index.d.ts +2 -0
  74. package/lib/elevation/elevation.d.ts +5 -0
  75. package/lib/elevation/elevation.template.d.ts +4 -0
  76. package/lib/elevation/index.d.ts +2 -0
  77. package/lib/enums.d.ts +51 -0
  78. package/lib/fab/fab.d.ts +13 -0
  79. package/lib/fab/fab.template.d.ts +4 -0
  80. package/lib/fab/index.d.ts +4 -0
  81. package/lib/focus/focus.d.ts +3 -0
  82. package/lib/focus/focus.template.d.ts +4 -0
  83. package/lib/focus/index.d.ts +2 -0
  84. package/lib/header/header.d.ts +5 -0
  85. package/lib/header/header.template.d.ts +4 -0
  86. package/lib/header/index.d.ts +3 -0
  87. package/lib/icon/icon.d.ts +12 -0
  88. package/lib/icon/icon.placeholder.d.ts +1 -0
  89. package/lib/icon/icon.template.d.ts +4 -0
  90. package/lib/icon/index.d.ts +2 -0
  91. package/lib/layout/index.d.ts +2 -0
  92. package/lib/layout/layout.d.ts +16 -0
  93. package/lib/layout/layout.template.d.ts +4 -0
  94. package/lib/menu/index.d.ts +12 -0
  95. package/lib/menu/menu.d.ts +10 -0
  96. package/lib/menu/menu.template.d.ts +3 -0
  97. package/lib/menu-item/index.d.ts +3 -0
  98. package/lib/menu-item/menu-item.d.ts +7 -0
  99. package/lib/menu-item/menu-item.template.d.ts +5 -0
  100. package/lib/nav/index.d.ts +2 -0
  101. package/lib/nav/nav.d.ts +3 -0
  102. package/lib/nav/nav.template.d.ts +4 -0
  103. package/lib/nav-disclosure/index.d.ts +4 -0
  104. package/lib/nav-disclosure/nav-disclosure.d.ts +10 -0
  105. package/lib/nav-disclosure/nav-disclosure.template.d.ts +4 -0
  106. package/lib/nav-item/index.d.ts +4 -0
  107. package/lib/nav-item/nav-item.d.ts +6 -0
  108. package/lib/nav-item/nav-item.template.d.ts +4 -0
  109. package/lib/note/index.d.ts +2 -0
  110. package/lib/note/note.d.ts +10 -0
  111. package/lib/note/note.template.d.ts +5 -0
  112. package/lib/popup/index.d.ts +4 -0
  113. package/lib/popup/popup.d.ts +18 -0
  114. package/lib/popup/popup.template.d.ts +4 -0
  115. package/lib/progress/index.d.ts +2 -0
  116. package/lib/progress/progress.d.ts +9 -0
  117. package/lib/progress/progress.template.d.ts +5 -0
  118. package/lib/progress-ring/index.d.ts +2 -0
  119. package/lib/progress-ring/progress-ring.d.ts +7 -0
  120. package/lib/progress-ring/progress-ring.template.d.ts +4 -0
  121. package/lib/side-drawer/index.d.ts +2 -0
  122. package/lib/side-drawer/side-drawer.d.ts +9 -0
  123. package/lib/side-drawer/side-drawer.template.d.ts +4 -0
  124. package/lib/text-anchor/index.d.ts +2 -0
  125. package/lib/text-anchor/text-anchor.d.ts +7 -0
  126. package/lib/text-anchor/text-anchor.template.d.ts +4 -0
  127. package/lib/text-area/index.d.ts +3 -0
  128. package/lib/text-area/text-area.d.ts +9 -0
  129. package/lib/text-area/text-area.template.d.ts +4 -0
  130. package/lib/text-field/index.d.ts +4 -0
  131. package/lib/text-field/text-field.d.ts +16 -0
  132. package/lib/text-field/text-field.template.d.ts +5 -0
  133. package/lib/tooltip/index.d.ts +3 -0
  134. package/lib/tooltip/tooltip.d.ts +8 -0
  135. package/lib/tooltip/tooltip.template.d.ts +4 -0
  136. package/menu/index.js +380 -0
  137. package/menu-item/index.js +19 -0
  138. package/nav/index.js +17 -0
  139. package/nav-disclosure/index.js +88 -0
  140. package/nav-item/index.js +45 -0
  141. package/note/index.js +66 -0
  142. package/package.json +56 -5
  143. package/popup/index.js +26 -0
  144. package/progress/index.js +105 -0
  145. package/progress-ring/index.js +80 -0
  146. package/shared/_has.js +58 -0
  147. package/shared/affix.js +29 -0
  148. package/shared/anchor.js +86 -0
  149. package/shared/apply-mixins.js +22 -0
  150. package/shared/aria-global.js +72 -0
  151. package/shared/base-progress.js +70 -0
  152. package/shared/breadcrumb-item.js +25 -0
  153. package/shared/button.js +200 -0
  154. package/shared/calendar-event.js +26 -0
  155. package/shared/class-names.js +15 -0
  156. package/shared/design-system/index.d.ts +3 -0
  157. package/shared/dialog-polyfill.esm.js +858 -0
  158. package/shared/enums.js +79 -0
  159. package/shared/es.object.assign.js +69 -0
  160. package/shared/export.js +995 -0
  161. package/shared/focus.js +5 -0
  162. package/shared/focus2.js +11 -0
  163. package/shared/form-associated.js +466 -0
  164. package/shared/form-elements.js +299 -0
  165. package/shared/icon.js +1406 -0
  166. package/shared/index.js +5014 -0
  167. package/shared/index2.js +35 -0
  168. package/shared/index3.js +2117 -0
  169. package/shared/index4.js +371 -0
  170. package/shared/iterators.js +61 -0
  171. package/shared/key-codes.js +90 -0
  172. package/shared/object-keys.js +13 -0
  173. package/shared/patterns/affix.d.ts +9 -0
  174. package/shared/patterns/focus.d.ts +3 -0
  175. package/shared/patterns/form-elements.d.ts +22 -0
  176. package/shared/patterns/index.d.ts +2 -0
  177. package/shared/ref.js +41 -0
  178. package/shared/slotted.js +119 -0
  179. package/shared/start-end.js +50 -0
  180. package/shared/text-anchor.js +12 -0
  181. package/shared/text-anchor.template.js +57 -0
  182. package/shared/to-string.js +51 -0
  183. package/shared/web.dom-collections.iterator.js +474 -0
  184. package/shared/when.js +15 -0
  185. package/side-drawer/index.js +102 -0
  186. package/styles/core/all.css +75 -0
  187. package/styles/core/theme.css +11 -0
  188. package/styles/core/typography.css +69 -0
  189. package/styles/fonts/SpeziaCompleteVariableItalicWeb.woff2 +0 -0
  190. package/styles/fonts/SpeziaCompleteVariableUprightWeb.woff2 +0 -0
  191. package/styles/fonts/SpeziaMonoCompleteVariableWeb.woff2 +0 -0
  192. package/styles/fonts/spezia.css +20 -0
  193. package/styles/tokens/theme-dark.css +210 -0
  194. package/styles/tokens/theme-light.css +210 -0
  195. package/text-anchor/index.js +27 -0
  196. package/text-area/index.js +304 -0
  197. package/text-field/index.js +152 -0
  198. package/tooltip/index.js +71 -0
  199. package/.babelrc +0 -3
  200. package/.eslintrc.json +0 -70
  201. package/.stylelintrc.json +0 -8
  202. package/CHANGELOG.json +0 -343
  203. package/CHANGELOG.md +0 -45
  204. package/jest.config.cjs +0 -20
  205. package/playwright.config.dev.ts +0 -21
  206. package/playwright.config.ts +0 -34
  207. package/project.json +0 -122
  208. package/rollup.config.prod.ts +0 -50
  209. package/setupJestTests.js +0 -17
  210. package/src/lib/accordion/README.md +0 -55
  211. package/src/lib/accordion/accordion.scss +0 -10
  212. package/src/lib/accordion/accordion.spec.ts +0 -91
  213. package/src/lib/accordion/accordion.template.ts +0 -23
  214. package/src/lib/accordion/accordion.ts +0 -49
  215. package/src/lib/accordion/index.ts +0 -14
  216. package/src/lib/accordion/ui.test.ts +0 -37
  217. package/src/lib/accordion/ui.test.ts-snapshots/snapshots-accordion-Chrome-Stable-darwin.png +0 -0
  218. package/src/lib/accordion/ui.test.ts-snapshots/snapshots-accordion-Chrome-Stable-linux.png +0 -0
  219. package/src/lib/accordion/ui.test.ts-snapshots/snapshots-accordion-Desktop-Firefox-darwin.png +0 -0
  220. package/src/lib/accordion/ui.test.ts-snapshots/snapshots-accordion-Desktop-Firefox-linux.png +0 -0
  221. package/src/lib/accordion/ui.test.ts-snapshots/snapshots-accordion-Desktop-Safari-darwin.png +0 -0
  222. package/src/lib/accordion/ui.test.ts-snapshots/snapshots-accordion-Desktop-Safari-linux.png +0 -0
  223. package/src/lib/accordion-item/README.md +0 -113
  224. package/src/lib/accordion-item/accordion-item.scss +0 -91
  225. package/src/lib/accordion-item/accordion-item.spec.ts +0 -103
  226. package/src/lib/accordion-item/accordion-item.template.ts +0 -62
  227. package/src/lib/accordion-item/accordion-item.ts +0 -67
  228. package/src/lib/accordion-item/index.ts +0 -14
  229. package/src/lib/accordion-item/partials/variables.scss +0 -1
  230. package/src/lib/accordion-item/ui.test.ts +0 -37
  231. package/src/lib/accordion-item/ui.test.ts-snapshots/snapshots-accordion-item-Chrome-Stable-darwin.png +0 -0
  232. package/src/lib/accordion-item/ui.test.ts-snapshots/snapshots-accordion-item-Chrome-Stable-linux.png +0 -0
  233. package/src/lib/accordion-item/ui.test.ts-snapshots/snapshots-accordion-item-Desktop-Firefox-darwin.png +0 -0
  234. package/src/lib/accordion-item/ui.test.ts-snapshots/snapshots-accordion-item-Desktop-Firefox-linux.png +0 -0
  235. package/src/lib/accordion-item/ui.test.ts-snapshots/snapshots-accordion-item-Desktop-Safari-darwin.png +0 -0
  236. package/src/lib/accordion-item/ui.test.ts-snapshots/snapshots-accordion-item-Desktop-Safari-linux.png +0 -0
  237. package/src/lib/badge/README.md +0 -112
  238. package/src/lib/badge/badge.scss +0 -64
  239. package/src/lib/badge/badge.spec.ts +0 -114
  240. package/src/lib/badge/badge.template.ts +0 -36
  241. package/src/lib/badge/badge.ts +0 -97
  242. package/src/lib/badge/index.ts +0 -23
  243. package/src/lib/badge/ui.test.ts +0 -28
  244. package/src/lib/badge/ui.test.ts-snapshots/snapshots-badge-Chrome-Stable-darwin.png +0 -0
  245. package/src/lib/badge/ui.test.ts-snapshots/snapshots-badge-Chrome-Stable-linux.png +0 -0
  246. package/src/lib/badge/ui.test.ts-snapshots/snapshots-badge-Desktop-Firefox-darwin.png +0 -0
  247. package/src/lib/badge/ui.test.ts-snapshots/snapshots-badge-Desktop-Firefox-linux.png +0 -0
  248. package/src/lib/badge/ui.test.ts-snapshots/snapshots-badge-Desktop-Safari-darwin.png +0 -0
  249. package/src/lib/badge/ui.test.ts-snapshots/snapshots-badge-Desktop-Safari-linux.png +0 -0
  250. package/src/lib/banner/README.md +0 -117
  251. package/src/lib/banner/banner.scss +0 -71
  252. package/src/lib/banner/banner.spec.ts +0 -355
  253. package/src/lib/banner/banner.template.ts +0 -61
  254. package/src/lib/banner/banner.ts +0 -77
  255. package/src/lib/banner/index.ts +0 -14
  256. package/src/lib/banner/ui.test.ts +0 -64
  257. package/src/lib/banner/ui.test.ts-snapshots/snapshots-banner-Chrome-Stable-darwin.png +0 -0
  258. package/src/lib/banner/ui.test.ts-snapshots/snapshots-banner-Chrome-Stable-linux.png +0 -0
  259. package/src/lib/banner/ui.test.ts-snapshots/snapshots-banner-Desktop-Firefox-darwin.png +0 -0
  260. package/src/lib/banner/ui.test.ts-snapshots/snapshots-banner-Desktop-Firefox-linux.png +0 -0
  261. package/src/lib/banner/ui.test.ts-snapshots/snapshots-banner-Desktop-Safari-darwin.png +0 -0
  262. package/src/lib/banner/ui.test.ts-snapshots/snapshots-banner-Desktop-Safari-linux.png +0 -0
  263. package/src/lib/breadcrumb/README.md +0 -25
  264. package/src/lib/breadcrumb/breadcrumb.scss +0 -3
  265. package/src/lib/breadcrumb/breadcrumb.spec.ts +0 -78
  266. package/src/lib/breadcrumb/breadcrumb.ts +0 -10
  267. package/src/lib/breadcrumb/index.ts +0 -13
  268. package/src/lib/breadcrumb/ui.test.ts +0 -36
  269. package/src/lib/breadcrumb/ui.test.ts-snapshots/snapshots-breadcrumb-Chrome-Stable-darwin.png +0 -0
  270. package/src/lib/breadcrumb/ui.test.ts-snapshots/snapshots-breadcrumb-Chrome-Stable-linux.png +0 -0
  271. package/src/lib/breadcrumb/ui.test.ts-snapshots/snapshots-breadcrumb-Desktop-Firefox-darwin.png +0 -0
  272. package/src/lib/breadcrumb/ui.test.ts-snapshots/snapshots-breadcrumb-Desktop-Firefox-linux.png +0 -0
  273. package/src/lib/breadcrumb/ui.test.ts-snapshots/snapshots-breadcrumb-Desktop-Safari-darwin.png +0 -0
  274. package/src/lib/breadcrumb/ui.test.ts-snapshots/snapshots-breadcrumb-Desktop-Safari-linux.png +0 -0
  275. package/src/lib/breadcrumb-item/README.md +0 -40
  276. package/src/lib/breadcrumb-item/breadcrumb-item.scss +0 -28
  277. package/src/lib/breadcrumb-item/breadcrumb-item.spec.ts +0 -192
  278. package/src/lib/breadcrumb-item/breadcrumb-item.template.ts +0 -37
  279. package/src/lib/breadcrumb-item/breadcrumb-item.ts +0 -15
  280. package/src/lib/breadcrumb-item/index.ts +0 -16
  281. package/src/lib/breadcrumb-item/ui.test.ts +0 -38
  282. package/src/lib/breadcrumb-item/ui.test.ts-snapshots/snapshots-breadcrumb-item-Chrome-Stable-darwin.png +0 -0
  283. package/src/lib/breadcrumb-item/ui.test.ts-snapshots/snapshots-breadcrumb-item-Chrome-Stable-linux.png +0 -0
  284. package/src/lib/breadcrumb-item/ui.test.ts-snapshots/snapshots-breadcrumb-item-Desktop-Firefox-darwin.png +0 -0
  285. package/src/lib/breadcrumb-item/ui.test.ts-snapshots/snapshots-breadcrumb-item-Desktop-Firefox-linux.png +0 -0
  286. package/src/lib/breadcrumb-item/ui.test.ts-snapshots/snapshots-breadcrumb-item-Desktop-Safari-darwin.png +0 -0
  287. package/src/lib/breadcrumb-item/ui.test.ts-snapshots/snapshots-breadcrumb-item-Desktop-Safari-linux.png +0 -0
  288. package/src/lib/button/README.md +0 -120
  289. package/src/lib/button/button.scss +0 -142
  290. package/src/lib/button/button.spec.ts +0 -131
  291. package/src/lib/button/button.template.ts +0 -89
  292. package/src/lib/button/button.ts +0 -95
  293. package/src/lib/button/index.ts +0 -25
  294. package/src/lib/button/partials/variables.scss +0 -2
  295. package/src/lib/button/ui.test.ts +0 -32
  296. package/src/lib/button/ui.test.ts-snapshots/snapshots-button-Chrome-Stable-darwin.png +0 -0
  297. package/src/lib/button/ui.test.ts-snapshots/snapshots-button-Chrome-Stable-linux.png +0 -0
  298. package/src/lib/button/ui.test.ts-snapshots/snapshots-button-Desktop-Firefox-darwin.png +0 -0
  299. package/src/lib/button/ui.test.ts-snapshots/snapshots-button-Desktop-Firefox-linux.png +0 -0
  300. package/src/lib/button/ui.test.ts-snapshots/snapshots-button-Desktop-Safari-darwin.png +0 -0
  301. package/src/lib/button/ui.test.ts-snapshots/snapshots-button-Desktop-Safari-linux.png +0 -0
  302. package/src/lib/calendar/README.md +0 -70
  303. package/src/lib/calendar/calendar.scss +0 -176
  304. package/src/lib/calendar/calendar.spec.ts +0 -341
  305. package/src/lib/calendar/calendar.template.ts +0 -93
  306. package/src/lib/calendar/calendar.ts +0 -139
  307. package/src/lib/calendar/helpers/calendar.date-functions.ts +0 -31
  308. package/src/lib/calendar/helpers/calendar.event-context.ts +0 -72
  309. package/src/lib/calendar/helpers/calendar.keyboard-interactions.ts +0 -65
  310. package/src/lib/calendar/index.ts +0 -16
  311. package/src/lib/calendar/partials/_variables.scss +0 -15
  312. package/src/lib/calendar/ui.test.ts +0 -32
  313. package/src/lib/calendar/ui.test.ts-snapshots/snapshots-calendar-Chrome-Stable-darwin.png +0 -0
  314. package/src/lib/calendar/ui.test.ts-snapshots/snapshots-calendar-Chrome-Stable-linux.png +0 -0
  315. package/src/lib/calendar/ui.test.ts-snapshots/snapshots-calendar-Desktop-Firefox-darwin.png +0 -0
  316. package/src/lib/calendar/ui.test.ts-snapshots/snapshots-calendar-Desktop-Firefox-linux.png +0 -0
  317. package/src/lib/calendar/ui.test.ts-snapshots/snapshots-calendar-Desktop-Safari-darwin.png +0 -0
  318. package/src/lib/calendar/ui.test.ts-snapshots/snapshots-calendar-Desktop-Safari-linux.png +0 -0
  319. package/src/lib/components.spec.ts +0 -7
  320. package/src/lib/components.ts +0 -16
  321. package/src/lib/elevation/README.md +0 -99
  322. package/src/lib/elevation/elevation.scss +0 -15
  323. package/src/lib/elevation/elevation.spec.ts +0 -55
  324. package/src/lib/elevation/elevation.template.ts +0 -26
  325. package/src/lib/elevation/elevation.ts +0 -17
  326. package/src/lib/elevation/index.ts +0 -17
  327. package/src/lib/elevation/partials/_elevation.mixin.scss +0 -4
  328. package/src/lib/elevation/ui.test.ts +0 -32
  329. package/src/lib/elevation/ui.test.ts-snapshots/snapshots-elevation-Chrome-Stable-darwin.png +0 -0
  330. package/src/lib/elevation/ui.test.ts-snapshots/snapshots-elevation-Chrome-Stable-linux.png +0 -0
  331. package/src/lib/elevation/ui.test.ts-snapshots/snapshots-elevation-Desktop-Firefox-darwin.png +0 -0
  332. package/src/lib/elevation/ui.test.ts-snapshots/snapshots-elevation-Desktop-Firefox-linux.png +0 -0
  333. package/src/lib/elevation/ui.test.ts-snapshots/snapshots-elevation-Desktop-Safari-darwin.png +0 -0
  334. package/src/lib/elevation/ui.test.ts-snapshots/snapshots-elevation-Desktop-Safari-linux.png +0 -0
  335. package/src/lib/enums.ts +0 -55
  336. package/src/lib/focus/README.md +0 -1
  337. package/src/lib/focus/focus.scss +0 -17
  338. package/src/lib/focus/focus.template.ts +0 -16
  339. package/src/lib/focus/focus.ts +0 -10
  340. package/src/lib/focus/index.ts +0 -21
  341. package/src/lib/focus/partials/variables.scss +0 -2
  342. package/src/lib/icon/README.md +0 -70
  343. package/src/lib/icon/__snapshots__/icon.spec.ts.snap +0 -16
  344. package/src/lib/icon/icon.placeholder.ts +0 -12
  345. package/src/lib/icon/icon.scss +0 -52
  346. package/src/lib/icon/icon.spec.ts +0 -106
  347. package/src/lib/icon/icon.template.ts +0 -23
  348. package/src/lib/icon/icon.ts +0 -93
  349. package/src/lib/icon/index.ts +0 -14
  350. package/src/lib/layout/README.md +0 -154
  351. package/src/lib/layout/index.ts +0 -18
  352. package/src/lib/layout/layout.scss +0 -40
  353. package/src/lib/layout/layout.spec.ts +0 -73
  354. package/src/lib/layout/layout.template.ts +0 -29
  355. package/src/lib/layout/layout.ts +0 -46
  356. package/src/lib/layout/partials/_functions.scss +0 -15
  357. package/src/lib/layout/partials/_mixins.scss +0 -5
  358. package/src/lib/layout/partials/_variables.scss +0 -23
  359. package/src/lib/layout/ui.test.ts +0 -32
  360. package/src/lib/layout/ui.test.ts-snapshots/snapshots-layout-Chrome-Stable-darwin.png +0 -0
  361. package/src/lib/layout/ui.test.ts-snapshots/snapshots-layout-Chrome-Stable-linux.png +0 -0
  362. package/src/lib/layout/ui.test.ts-snapshots/snapshots-layout-Desktop-Firefox-darwin.png +0 -0
  363. package/src/lib/layout/ui.test.ts-snapshots/snapshots-layout-Desktop-Firefox-linux.png +0 -0
  364. package/src/lib/layout/ui.test.ts-snapshots/snapshots-layout-Desktop-Safari-darwin.png +0 -0
  365. package/src/lib/layout/ui.test.ts-snapshots/snapshots-layout-Desktop-Safari-linux.png +0 -0
  366. package/src/lib/popup/README.md +0 -261
  367. package/src/lib/popup/index.ts +0 -21
  368. package/src/lib/popup/popup.scss +0 -43
  369. package/src/lib/popup/popup.spec.ts +0 -265
  370. package/src/lib/popup/popup.template.ts +0 -41
  371. package/src/lib/popup/popup.ts +0 -158
  372. package/src/lib/popup/ui.test.ts +0 -111
  373. package/src/lib/popup/ui.test.ts-snapshots/snapshots-popup-Chrome-Stable-darwin.png +0 -0
  374. package/src/lib/popup/ui.test.ts-snapshots/snapshots-popup-Chrome-Stable-linux.png +0 -0
  375. package/src/lib/popup/ui.test.ts-snapshots/snapshots-popup-Desktop-Firefox-darwin.png +0 -0
  376. package/src/lib/popup/ui.test.ts-snapshots/snapshots-popup-Desktop-Firefox-linux.png +0 -0
  377. package/src/lib/popup/ui.test.ts-snapshots/snapshots-popup-Desktop-Safari-darwin.png +0 -0
  378. package/src/lib/popup/ui.test.ts-snapshots/snapshots-popup-Desktop-Safari-linux.png +0 -0
  379. package/src/lib/progress/README.md +0 -107
  380. package/src/lib/progress/index.ts +0 -14
  381. package/src/lib/progress/progress.scss +0 -133
  382. package/src/lib/progress/progress.spec.ts +0 -173
  383. package/src/lib/progress/progress.template.ts +0 -62
  384. package/src/lib/progress/progress.ts +0 -25
  385. package/src/lib/progress/ui.test.ts +0 -70
  386. package/src/lib/progress/ui.test.ts-snapshots/snapshots-progress-Chrome-Stable-darwin.png +0 -0
  387. package/src/lib/progress/ui.test.ts-snapshots/snapshots-progress-Chrome-Stable-linux.png +0 -0
  388. package/src/lib/progress/ui.test.ts-snapshots/snapshots-progress-Desktop-Firefox-darwin.png +0 -0
  389. package/src/lib/progress/ui.test.ts-snapshots/snapshots-progress-Desktop-Firefox-linux.png +0 -0
  390. package/src/lib/progress/ui.test.ts-snapshots/snapshots-progress-Desktop-Safari-darwin.png +0 -0
  391. package/src/lib/progress/ui.test.ts-snapshots/snapshots-progress-Desktop-Safari-linux.png +0 -0
  392. package/src/lib/progress-ring/README.md +0 -90
  393. package/src/lib/progress-ring/index.ts +0 -15
  394. package/src/lib/progress-ring/progress-ring.scss +0 -75
  395. package/src/lib/progress-ring/progress-ring.spec.ts +0 -139
  396. package/src/lib/progress-ring/progress-ring.template.ts +0 -82
  397. package/src/lib/progress-ring/progress-ring.ts +0 -18
  398. package/src/lib/progress-ring/ui.test.ts +0 -35
  399. package/src/lib/progress-ring/ui.test.ts-snapshots/snapshots-progress-ring-Chrome-Stable-darwin.png +0 -0
  400. package/src/lib/progress-ring/ui.test.ts-snapshots/snapshots-progress-ring-Chrome-Stable-linux.png +0 -0
  401. package/src/lib/progress-ring/ui.test.ts-snapshots/snapshots-progress-ring-Desktop-Firefox-darwin.png +0 -0
  402. package/src/lib/progress-ring/ui.test.ts-snapshots/snapshots-progress-ring-Desktop-Firefox-linux.png +0 -0
  403. package/src/lib/progress-ring/ui.test.ts-snapshots/snapshots-progress-ring-Desktop-Safari-darwin.png +0 -0
  404. package/src/lib/progress-ring/ui.test.ts-snapshots/snapshots-progress-ring-Desktop-Safari-linux.png +0 -0
  405. package/src/lib/side-drawer/README.md +0 -304
  406. package/src/lib/side-drawer/index.ts +0 -16
  407. package/src/lib/side-drawer/partials/variables.scss +0 -6
  408. package/src/lib/side-drawer/side-drawer.scss +0 -109
  409. package/src/lib/side-drawer/side-drawer.spec.ts +0 -118
  410. package/src/lib/side-drawer/side-drawer.template.ts +0 -51
  411. package/src/lib/side-drawer/side-drawer.ts +0 -58
  412. package/src/lib/side-drawer/ui.test.ts +0 -102
  413. package/src/lib/side-drawer/ui.test.ts-snapshots/snapshots-side-drawer-Chrome-Stable-darwin.png +0 -0
  414. package/src/lib/side-drawer/ui.test.ts-snapshots/snapshots-side-drawer-Chrome-Stable-linux.png +0 -0
  415. package/src/lib/side-drawer/ui.test.ts-snapshots/snapshots-side-drawer-Desktop-Firefox-darwin.png +0 -0
  416. package/src/lib/side-drawer/ui.test.ts-snapshots/snapshots-side-drawer-Desktop-Firefox-linux.png +0 -0
  417. package/src/lib/side-drawer/ui.test.ts-snapshots/snapshots-side-drawer-Desktop-Safari-darwin.png +0 -0
  418. package/src/lib/side-drawer/ui.test.ts-snapshots/snapshots-side-drawer-Desktop-Safari-linux.png +0 -0
  419. package/src/lib/side-drawer/ui.test.ts-snapshots/snapshots-side-drawer-modal-Chrome-Stable-darwin.png +0 -0
  420. package/src/lib/side-drawer/ui.test.ts-snapshots/snapshots-side-drawer-modal-Chrome-Stable-linux.png +0 -0
  421. package/src/lib/side-drawer/ui.test.ts-snapshots/snapshots-side-drawer-modal-Desktop-Firefox-darwin.png +0 -0
  422. package/src/lib/side-drawer/ui.test.ts-snapshots/snapshots-side-drawer-modal-Desktop-Firefox-linux.png +0 -0
  423. package/src/lib/side-drawer/ui.test.ts-snapshots/snapshots-side-drawer-modal-Desktop-Safari-darwin.png +0 -0
  424. package/src/lib/side-drawer/ui.test.ts-snapshots/snapshots-side-drawer-modal-Desktop-Safari-linux.png +0 -0
  425. package/src/lib/sidenav-item/README.md +0 -41
  426. package/src/lib/sidenav-item/index.ts +0 -20
  427. package/src/lib/sidenav-item/sidenav-item.scss +0 -51
  428. package/src/lib/sidenav-item/sidenav-item.spec.ts +0 -64
  429. package/src/lib/sidenav-item/sidenav-item.template.ts +0 -25
  430. package/src/lib/sidenav-item/sidenav-item.ts +0 -15
  431. package/src/lib/sidenav-item/ui.test.ts +0 -32
  432. package/src/lib/sidenav-item/ui.test.ts-snapshots/snapshots-sidenav-item-Chrome-Stable-darwin.png +0 -0
  433. package/src/lib/sidenav-item/ui.test.ts-snapshots/snapshots-sidenav-item-Chrome-Stable-linux.png +0 -0
  434. package/src/lib/sidenav-item/ui.test.ts-snapshots/snapshots-sidenav-item-Desktop-Firefox-darwin.png +0 -0
  435. package/src/lib/sidenav-item/ui.test.ts-snapshots/snapshots-sidenav-item-Desktop-Firefox-linux.png +0 -0
  436. package/src/lib/sidenav-item/ui.test.ts-snapshots/snapshots-sidenav-item-Desktop-Safari-darwin.png +0 -0
  437. package/src/lib/sidenav-item/ui.test.ts-snapshots/snapshots-sidenav-item-Desktop-Safari-linux.png +0 -0
  438. package/src/lib/text/README.md +0 -119
  439. package/src/lib/text/index.ts +0 -14
  440. package/src/lib/text/text.scss +0 -92
  441. package/src/lib/text/text.spec.ts +0 -54
  442. package/src/lib/text/text.template.ts +0 -28
  443. package/src/lib/text/text.ts +0 -55
  444. package/src/lib/text/ui.test.ts +0 -39
  445. package/src/lib/text/ui.test.ts-snapshots/snapshots-text-Chrome-Stable-darwin.png +0 -0
  446. package/src/lib/text/ui.test.ts-snapshots/snapshots-text-Chrome-Stable-linux.png +0 -0
  447. package/src/lib/text/ui.test.ts-snapshots/snapshots-text-Desktop-Firefox-darwin.png +0 -0
  448. package/src/lib/text/ui.test.ts-snapshots/snapshots-text-Desktop-Firefox-linux.png +0 -0
  449. package/src/lib/text/ui.test.ts-snapshots/snapshots-text-Desktop-Safari-darwin.png +0 -0
  450. package/src/lib/text/ui.test.ts-snapshots/snapshots-text-Desktop-Safari-linux.png +0 -0
  451. package/src/lib/text-anchor/README.md +0 -5
  452. package/src/lib/text-anchor/index.ts +0 -12
  453. package/src/lib/text-anchor/text-anchor.spec.ts +0 -153
  454. package/src/lib/text-anchor/text-anchor.template.ts +0 -66
  455. package/src/lib/text-anchor/text-anchor.ts +0 -22
  456. package/src/lib/tooltip/README.md +0 -132
  457. package/src/lib/tooltip/index.ts +0 -16
  458. package/src/lib/tooltip/partials/variables.scss +0 -1
  459. package/src/lib/tooltip/tooltip.scss +0 -18
  460. package/src/lib/tooltip/tooltip.spec.ts +0 -70
  461. package/src/lib/tooltip/tooltip.template.ts +0 -30
  462. package/src/lib/tooltip/tooltip.ts +0 -44
  463. package/src/lib/tooltip/ui.test.ts +0 -53
  464. package/src/lib/tooltip/ui.test.ts-snapshots/snapshots-tooltip-Chrome-Stable-darwin.png +0 -0
  465. package/src/lib/tooltip/ui.test.ts-snapshots/snapshots-tooltip-Chrome-Stable-linux.png +0 -0
  466. package/src/lib/tooltip/ui.test.ts-snapshots/snapshots-tooltip-Desktop-Firefox-darwin.png +0 -0
  467. package/src/lib/tooltip/ui.test.ts-snapshots/snapshots-tooltip-Desktop-Firefox-linux.png +0 -0
  468. package/src/lib/tooltip/ui.test.ts-snapshots/snapshots-tooltip-Desktop-Safari-darwin.png +0 -0
  469. package/src/lib/tooltip/ui.test.ts-snapshots/snapshots-tooltip-Desktop-Safari-linux.png +0 -0
  470. package/src/shared/design-system/index.ts +0 -12
  471. package/src/shared/patterns/affix.ts +0 -56
  472. package/src/shared/patterns/index.ts +0 -1
  473. package/src/types/extract-gfm.d.ts +0 -5
  474. package/src/types/style.d.ts +0 -4
  475. package/src/visual-tests/visual-tests-utils.ts +0 -76
  476. package/tsconfig.json +0 -36
  477. package/tsconfig.lib.json +0 -11
  478. package/tsconfig.spec.json +0 -16
@@ -1,120 +0,0 @@
1
- # button
2
-
3
- A button represents an action that the user can take. Use buttons to enable important actions.
4
-
5
- ```js
6
- <script type='module'>
7
- import '@vonage/vivid/button';
8
- </script>
9
- ```
10
-
11
- ## Label
12
-
13
- - Type: `String`
14
- - Default: `''`
15
-
16
- Add a `label` attribute to add text to the button.
17
-
18
- ```html preview
19
- <vwc-button appearance='filled' label='A default button'></vwc-button>
20
- ```
21
-
22
- ## Size
23
-
24
- Use the `size` attribute to change the button's size.
25
-
26
- - Type: `'base-small'` | `'base'` | `'base-large'`
27
- - Default: `'base'`
28
-
29
- ```html preview
30
- <vwc-button appearance='filled' label='base-small' size='base-small'></vwc-button>
31
- <vwc-button appearance='filled' label='base' size='base'></vwc-button>
32
- <vwc-button appearance='filled' label='base-large' size='base-large'></vwc-button>
33
- ```
34
-
35
- ## Shape
36
-
37
- Use the `shape` attribute to change the button's edges.
38
-
39
- - Type: `'rounded'` | `'pill'`
40
- - Default: `'rounded'`
41
-
42
- ```html preview
43
- <vwc-button appearance='filled' label='rounded' shape='rounded'></vwc-button>
44
- <vwc-button appearance='filled' label='pill' shape='pill'></vwc-button>
45
- ```
46
-
47
- ## Icon
48
-
49
- Button text can be affixed by a decorative icon, either by its start or end.
50
- Use the `icon` attribute to add an icon. Use the `icon-trailing` to place the icon to the right.
51
-
52
- ```html preview
53
- <vwc-button appearance="filled" label='icon' icon='check-line'></vwc-button>
54
- <vwc-button appearance="filled" label='icon-trailing' icon='check-line' icon-trailing></vwc-button>
55
- ```
56
-
57
- ## Icon Only
58
-
59
- If label not applied...
60
-
61
- ```html preview
62
- <vwc-button appearance="filled" icon='message-sent-line'></vwc-button>
63
- <vwc-button appearance="filled" shape="pill" icon='message-sent-line'></vwc-button>
64
- ```
65
-
66
- ## Appearance
67
-
68
- Set the `appearance` attribute to change the button's appearance.
69
-
70
- - Type: `'ghost'` | `'filled'` | `'outlined'`
71
- - Default: `'ghost'`
72
-
73
- ```html preview
74
- <vwc-button label='ghost' appearance='ghost'></vwc-button>
75
- <vwc-button label='filled' appearance='filled'></vwc-button>
76
- <vwc-button label='outlined' appearance='outlined'></vwc-button>
77
- ```
78
-
79
- ## Connotation
80
-
81
- Set the `connotation` attribute to change the button's connotation.
82
- It accepts a subset of predefined values.
83
-
84
- - Type: `'primary'` | `'cta'` | `'success'` | `'alert'` | `'announcement'` | `'info'`
85
- - Default: `'primary'`
86
-
87
- ### Ghost button with connotation
88
-
89
- ```html preview
90
- <vwc-button appearance="ghost" label='primary' connotation='primary'></vwc-button>
91
- <vwc-button appearance="ghost" label='cta' connotation='cta'></vwc-button>
92
- <vwc-button appearance="ghost" label='success' connotation='success'></vwc-button>
93
- <vwc-button appearance="ghost" label='alert' connotation='alert'></vwc-button>
94
- ```
95
-
96
- ### Filled button with connotation
97
-
98
- ```html preview
99
- <vwc-button appearance="filled" label='primary' connotation='primary'></vwc-button>
100
- <vwc-button appearance="filled" label='cta' connotation='cta'></vwc-button>
101
- <vwc-button appearance="filled" label='success' connotation='success'></vwc-button>
102
- <vwc-button appearance="filled" label='alert' connotation='alert'></vwc-button>
103
- ```
104
-
105
- ### Outlined button with connotation
106
-
107
- ```html preview
108
- <vwc-button appearance="outlined" label='primary' connotation='primary'></vwc-button>
109
- <vwc-button appearance="outlined" label='cta' connotation='cta'></vwc-button>
110
- <vwc-button appearance="outlined" label='success' connotation='success'></vwc-button>
111
- <vwc-button appearance="outlined" label='alert' connotation='alert'></vwc-button>
112
- ```
113
-
114
- ## States
115
- ### Disabled
116
- ```html preview
117
- <vwc-button disabled appearance='ghost' label='ghost'></vwc-button>
118
- <vwc-button disabled appearance='filled' label='filled'></vwc-button>
119
- <vwc-button disabled appearance='outlined' label='outlined'></vwc-button>
120
- ```
@@ -1,142 +0,0 @@
1
- @use '../../../../shared/src/lib/sass/mixins/typography' as typography;
2
- @use 'partials/variables' as variables;
3
- @use '../focus/partials/variables' as focus-variables;
4
-
5
- @use '../../../../shared/src/lib/sass/mixins/connotation/config' with (
6
- $subset: primary cta success alert,
7
- $shades: contrast fierce strong soft pale,
8
- $default: primary,
9
- );
10
- @use '../../../../shared/src/lib/sass/mixins/connotation' as connotation;
11
-
12
- @use '../../../../shared/src/lib/sass/mixins/appearance/config' as appearance-config with (
13
- $appearances: filled outlined ghost,
14
- $states: idle hover disabled active,
15
- $default: ghost,
16
- );
17
- @use '../../../../shared/src/lib/sass/mixins/appearance' as appearance;
18
-
19
- :host {
20
- outline: 0 none;
21
- }
22
-
23
- .control {
24
- @include connotation.connotation;
25
- @include appearance.appearance;
26
-
27
- position: relative;
28
- display: inline-flex;
29
- box-sizing: border-box;
30
- align-items: center;
31
- border: 0 none;
32
- background-color: var(#{appearance.get-variable(fill)});
33
- block-size: var(#{variables.$block-size});
34
- box-shadow: inset 0 0 0 1px var(#{appearance.get-variable(outline)});
35
- color: var(#{appearance.get-variable(text)});
36
- cursor: pointer;
37
- outline: 0 none;
38
- vertical-align: middle;
39
-
40
- &.icon-only {
41
- padding-inline: 0;
42
- place-content: center;
43
- @supports (aspect-ratio: 1) {
44
- aspect-ratio: 1;
45
- }
46
- @supports not (aspect-ratio: 1) {
47
- inline-size: var(#{variables.$block-size});
48
- }
49
- }
50
-
51
- }
52
-
53
- /* Size */
54
-
55
- .control.size-base-small {
56
- #{variables.$block-size}: 32px;
57
- @include typography.typography-cat-shorthand('caption-bold');
58
-
59
- &:not(.icon-only) {
60
- #{variables.$icon-gap}: 8px;
61
-
62
- padding-inline: 12px;
63
- }
64
-
65
- .icon {
66
- font-size: 16px;
67
- }
68
- }
69
-
70
- .control.size-base-large {
71
- #{variables.$block-size}: 48px;
72
- @include typography.typography-cat-shorthand('body-1-bold');
73
-
74
- &:not(.icon-only) {
75
- #{variables.$icon-gap}: 10px;
76
-
77
- padding-inline: 20px;
78
- }
79
-
80
- .icon {
81
- font-size: 24px;
82
- }
83
- }
84
-
85
- .control:not(.size-base-small):not(.size-base-large) {
86
- #{variables.$block-size}: 40px;
87
- @include typography.typography-cat-shorthand('button');
88
-
89
- &:not(.icon-only) {
90
- #{variables.$icon-gap}: 8px;
91
-
92
- padding-inline: 16px;
93
- }
94
-
95
- .icon {
96
- font-size: 20px;
97
- }
98
- }
99
-
100
- /* Shape */
101
-
102
- // stylelint-disable-next-line no-descending-specificity
103
- .control:not(.shape-pill) {
104
- border-radius: 6px;
105
- }
106
-
107
- .control.shape-pill {
108
- &:not(.icon-only) {
109
- border-radius: 24px;
110
- }
111
-
112
- &.icon-only {
113
- border-radius: 50%;
114
- }
115
- }
116
-
117
- /* Icon */
118
-
119
- // stylelint-disable-next-line no-descending-specificity
120
- .icon {
121
- // stylelint-disable-next-line no-descending-specificity
122
- :not(.icon-trailing) & {
123
- margin-inline-end: var(#{variables.$icon-gap});
124
- }
125
-
126
- // stylelint-disable-next-line no-descending-specificity
127
- .icon-trailing & {
128
- order: 1;
129
- margin-inline-start: var(#{variables.$icon-gap});
130
- }
131
- }
132
-
133
- .focus-indicator {
134
- :not(:focus) & {
135
- display: none;
136
- }
137
-
138
- .appearance-outlined &,
139
- .appearance-ghost & {
140
- #{focus-variables.$focus-stroke-gap-color}: transparent;
141
- }
142
- }
@@ -1,131 +0,0 @@
1
- import { elementUpdated, fixture } from '@vivid-nx/shared';
2
- import type { Icon } from '../icon/icon';
3
- import { Button } from './button';
4
- import '.';
5
-
6
- const COMPONENT_TAG = 'vwc-button';
7
- const ICON_SELECTOR = 'vwc-icon';
8
-
9
- describe('vwc-button', () => {
10
- let element: Button;
11
-
12
- beforeEach(async () => {
13
- element = await fixture(`<${COMPONENT_TAG}></${COMPONENT_TAG}>`) as Button;
14
- });
15
-
16
- describe('basic', () => {
17
- it('initializes as a vwc-button', async () => {
18
- expect(element).toBeInstanceOf(Button);
19
- expect(element.label).toEqual('');
20
- expect(element.icon).toBeUndefined();
21
- expect(element.iconTrailing).toBeFalsy();
22
- expect(element.connotation).toBeUndefined();
23
- expect(element.shape).toBeUndefined();
24
- expect(element.appearance).toBeUndefined();
25
- expect(element.size).toBeUndefined();
26
- });
27
- });
28
-
29
- describe('icon', () => {
30
- it('adds an icon to the button', async () => {
31
- element.icon = 'home';
32
- await elementUpdated(element);
33
-
34
- const icon = element.shadowRoot?.querySelector(ICON_SELECTOR) as Icon;
35
- expect(icon).toBeInstanceOf(HTMLElement);
36
- expect(icon.type).toEqual('home');
37
- });
38
-
39
- it('setting `iconTrailing` set the order of element', async () => {
40
- element.icon = 'home';
41
- element.iconTrailing = true;
42
- await elementUpdated(element);
43
-
44
- const trailingIcon = element.shadowRoot?.querySelector(
45
- `.icon-trailing ${ICON_SELECTOR}`,
46
- );
47
- expect(trailingIcon).toBeInstanceOf(HTMLElement);
48
- });
49
- });
50
-
51
- describe('label', () => {
52
- it('set label property to node', async () => {
53
- const label = 'lorem';
54
- element.label = label;
55
- await elementUpdated(element);
56
-
57
- const control = element.shadowRoot?.querySelector('.control');
58
- expect(control?.textContent?.trim()).toEqual(label);
59
- });
60
- });
61
-
62
- describe('connotation', () => {
63
- it('sets correct internal connotation style', async () => {
64
- const connotation = 'cta';
65
- (element as any).connotation = connotation;
66
- await elementUpdated(element);
67
-
68
- const control = element.shadowRoot?.querySelector(`.control.connotation-${connotation}`);
69
- expect(control).toBeInstanceOf(Element);
70
- });
71
- });
72
-
73
- describe('shape', () => {
74
- it('sets correct internal shape style', async () => {
75
- const shape = 'pill';
76
- (element as any).shape = shape;
77
- await elementUpdated(element);
78
-
79
- const control = element.shadowRoot?.querySelector(`.control.shape-${shape}`);
80
- expect(control).toBeInstanceOf(Element);
81
- });
82
- });
83
-
84
- describe('appearance', () => {
85
- it('sets correct internal appearance style', async () => {
86
- const appearance = 'filled';
87
- (element as any).appearance = appearance;
88
- await elementUpdated(element);
89
-
90
- const control = element.shadowRoot?.querySelector(`.control.appearance-${appearance}`);
91
- expect(control).toBeInstanceOf(Element);
92
- });
93
- });
94
-
95
- describe('size', () => {
96
- it('sets correct internal size style', async () => {
97
- const size = 'small';
98
- (element as any).size = size;
99
- await elementUpdated(element);
100
-
101
- const control = element.shadowRoot?.querySelector(`.control.size-${size}`);
102
- expect(control).toBeInstanceOf(Element);
103
- });
104
- });
105
-
106
- describe('icon-only', () => {
107
- it('sets correct internal icon-only style', async () => {
108
- const getControlIconOnly = () => element.shadowRoot?.querySelector('.control.icon-only');
109
- const controlIconOnlyBefore = getControlIconOnly();
110
-
111
- element.icon = 'home';
112
- await elementUpdated(element);
113
-
114
- const controlIconOnlyAfter = getControlIconOnly();
115
- expect(controlIconOnlyBefore).toBeNull();
116
- expect(controlIconOnlyAfter).toBeInstanceOf(Element);
117
- });
118
- });
119
-
120
- describe('disabled', function () {
121
- it('should set disabled class when disabled is true', async () => {
122
- const appearance = 'filled';
123
- (element as any).appearance = appearance;
124
- element.toggleAttribute('disabled', true);
125
- await elementUpdated(element);
126
-
127
- const control = element.shadowRoot?.querySelector(`.control.appearance-${appearance}.disabled`);
128
- expect(control).toBeInstanceOf(Element);
129
- });
130
- });
131
- });
@@ -1,89 +0,0 @@
1
- import type { ViewTemplate } from '@microsoft/fast-element';
2
- import { html, ref } from '@microsoft/fast-element';
3
- import type { ElementDefinitionContext, FoundationElementDefinition } from '@microsoft/fast-foundation';
4
- import { classNames } from '@microsoft/fast-web-utilities';
5
- import { Focus } from '../focus/focus';
6
- import { affixIconTemplateFactory } from '../../shared/patterns/affix';
7
- import type { Button, ButtonAppearance } from './button';
8
-
9
-
10
- const getAppearanceClassName = (appearance: ButtonAppearance, disabled: boolean) => {
11
- let className = `appearance-${appearance}`;
12
- disabled && (className += ' disabled');
13
- return className;
14
- };
15
-
16
- const getClasses = ({
17
- connotation, appearance, shape, size, icon, label, disabled, iconTrailing
18
- }: Button) => classNames(
19
- 'control',
20
- [`connotation-${connotation}`, Boolean(connotation)],
21
- [getAppearanceClassName(appearance as ButtonAppearance, disabled), Boolean(appearance)],
22
- [`shape-${shape}`, Boolean(shape)],
23
- [`size-${size}`, Boolean(size)],
24
- ['icon-only', !label && !!icon],
25
- ['icon-trailing', iconTrailing],
26
- );
27
-
28
- const focusTemplate = (context: ElementDefinitionContext) => {
29
- const focusTag = context.tagFor(Focus);
30
-
31
- return html`<${focusTag} class="focus-indicator"></${focusTag}>`;
32
- };
33
-
34
- /**
35
- * The template for the {@link @microsoft/fast-foundation#(Button:class)} component.
36
- *
37
- * @param context
38
- * @param definition
39
- * @public
40
- */
41
- export const buttonTemplate: (
42
- context: ElementDefinitionContext,
43
- definition: FoundationElementDefinition
44
- ) => ViewTemplate<Button> = (context: ElementDefinitionContext) => {
45
- const affixIconTemplate = affixIconTemplateFactory(context);
46
-
47
- return html`
48
- <button
49
- class="${getClasses}"
50
- ?autofocus="${(x) => x.autofocus}"
51
- ?disabled="${(x) => x.disabled}"
52
- form="${(x) => x.formId}"
53
- formaction="${(x) => x.formaction}"
54
- formenctype="${(x) => x.formenctype}"
55
- formmethod="${(x) => x.formmethod}"
56
- formnovalidate="${(x) => x.formnovalidate}"
57
- formtarget="${(x) => x.formtarget}"
58
- name="${(x) => x.name}"
59
- type="${(x) => x.type}"
60
- value="${(x) => x.value}"
61
- aria-atomic="${(x) => x.ariaAtomic}"
62
- aria-busy="${(x) => x.ariaBusy}"
63
- aria-controls="${(x) => x.ariaControls}"
64
- aria-current="${(x) => x.ariaCurrent}"
65
- aria-describedby="${(x) => x.ariaDescribedby}"
66
- aria-details="${(x) => x.ariaDetails}"
67
- aria-disabled="${(x) => x.ariaDisabled}"
68
- aria-errormessage="${(x) => x.ariaErrormessage}"
69
- aria-expanded="${(x) => x.ariaExpanded}"
70
- aria-flowto="${(x) => x.ariaFlowto}"
71
- aria-haspopup="${(x) => x.ariaHaspopup}"
72
- aria-hidden="${(x) => x.ariaHidden}"
73
- aria-invalid="${(x) => x.ariaInvalid}"
74
- aria-keyshortcuts="${(x) => x.ariaKeyshortcuts}"
75
- aria-label="${(x) => x.ariaLabel}"
76
- aria-labelledby="${(x) => x.ariaLabelledby}"
77
- aria-live="${(x) => x.ariaLive}"
78
- aria-owns="${(x) => x.ariaOwns}"
79
- aria-pressed="${(x) => x.ariaPressed}"
80
- aria-relevant="${(x) => x.ariaRelevant}"
81
- aria-roledescription="${(x) => x.ariaRoledescription}"
82
- ${ref('control')}
83
- >
84
- ${() => focusTemplate(context)}
85
- ${x => affixIconTemplate(x.icon)}
86
- ${(x) => x.label}
87
- </button>
88
- `;
89
- };
@@ -1,95 +0,0 @@
1
- import { applyMixins, Button as FoundationButton } from '@microsoft/fast-foundation';
2
- import { attr } from '@microsoft/fast-element';
3
-
4
- import type {
5
- Appearance, Connotation, Shape, Size,
6
- } from '../enums.js';
7
- import { AffixIconWithTrailing } from '../../shared/patterns/affix';
8
-
9
- /**
10
- * Types of button connotation.
11
- *
12
- * @public
13
- */
14
- type ButtonConnotation = Extract<Connotation,
15
- | Connotation.Primary
16
- | Connotation.CTA
17
- | Connotation.Success
18
- | Connotation.Alert>;
19
-
20
- /**
21
- * Types of button appearance.
22
- *
23
- * @public
24
- */
25
- export type ButtonAppearance = Extract<Appearance,
26
- Appearance.Filled | Appearance.Outlined | Appearance.Ghost>;
27
-
28
- /**
29
- * Types of button shape.
30
- *
31
- * @public
32
- */
33
- type ButtonShape = Extract<Shape, Shape.Rounded | Shape.Pill>;
34
-
35
- /**
36
- * Types of button size.
37
- *
38
- * @public
39
- */
40
- type ButtonSize = Extract<Size, Size.BaseSmall | Size.Base | Size.BaseLarge>;
41
-
42
- /**
43
- * Base class for button
44
- *
45
- * @public
46
- */
47
- export class Button extends FoundationButton {
48
- /**
49
- * The connotation the button should have.
50
- *
51
- * @public
52
- * @remarks
53
- * HTML Attribute: connotation
54
- */
55
- @attr connotation?: ButtonConnotation;
56
-
57
- /**
58
- * The shape the button should have.
59
- *
60
- * @public
61
- * @remarks
62
- * HTML Attribute: shape
63
- */
64
- @attr shape?: ButtonShape;
65
-
66
- /**
67
- * The appearance the button should have.
68
- *
69
- * @public
70
- * @remarks
71
- * HTML Attribute: appearance
72
- */
73
- @attr appearance?: ButtonAppearance;
74
-
75
- /**
76
- * The size the button should have.
77
- *
78
- * @public
79
- * @remarks
80
- * HTML Attribute: size
81
- */
82
- @attr size?: ButtonSize;
83
-
84
- /**
85
- * Indicates the button's label.
86
- *
87
- * @public
88
- * @remarks
89
- * HTML Attribute: label
90
- */
91
- @attr({ mode: 'fromView' }) label = '';
92
- }
93
-
94
- export interface Button extends AffixIconWithTrailing {}
95
- applyMixins(Button, AffixIconWithTrailing);
@@ -1,25 +0,0 @@
1
- import '../icon';
2
- import '../focus';
3
-
4
-
5
- import { Button as FastButton } from '@microsoft/fast-foundation';
6
- import { designSystem } from '../../shared/design-system';
7
- import { Button } from './button';
8
- import styles from './button.scss';
9
- import { buttonTemplate as template } from './button.template';
10
-
11
- /**
12
- * Represents a button custom element.
13
- */
14
-
15
- export const vividButton = Button.compose({
16
- baseName: 'button',
17
- baseClass: FastButton,
18
- template: template as any,
19
- styles,
20
- shadowOptions: {
21
- delegatesFocus: true,
22
- },
23
- });
24
-
25
- designSystem.register(vividButton());
@@ -1,2 +0,0 @@
1
- $icon-gap: --button-icon-gap;
2
- $block-size: --button-block-size;
@@ -1,32 +0,0 @@
1
- import * as path from 'path';
2
- import { expect, test } from '@playwright/test';
3
- import type { Page } from '@playwright/test';
4
- import {
5
- extractHTMLBlocksFromReadme,
6
- loadComponents,
7
- loadTemplate
8
- } from '../../visual-tests/visual-tests-utils.ts';
9
-
10
- const components = ['button'];
11
- test('should show the component', async ({ page }: { page: Page }) => {
12
- const template = extractHTMLBlocksFromReadme(path.join(new URL('.', import.meta.url).pathname, 'README.md'))
13
- .reduce((htmlString: string, block: string) => `${htmlString} <div style="margin: 5px;">${block}</div>`, '');
14
-
15
- await loadComponents({
16
- page,
17
- components,
18
- });
19
- await loadTemplate({
20
- page,
21
- template,
22
- });
23
-
24
- const testWrapper = await page.$('#wrapper');
25
-
26
- await page.waitForLoadState('networkidle');
27
-
28
- expect(await testWrapper?.screenshot())
29
- .toMatchSnapshot(
30
- './snapshots/button.png',
31
- );
32
- });