@momentum-ui/web-components 2.16.6 → 2.16.8

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 (1384) hide show
  1. package/.eslintignore +6 -0
  2. package/.eslintrc.js +22 -0
  3. package/.github/CODEOWNERS +5 -0
  4. package/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
  5. package/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  6. package/.github/pull_request_template.md +191 -0
  7. package/.prettierignore +6 -0
  8. package/.prettierrc +6 -0
  9. package/.storybook/main.ts +67 -0
  10. package/.storybook/manager.ts +16 -0
  11. package/.storybook/preview-body.html +43 -0
  12. package/.storybook/preview-head.html +3 -0
  13. package/.storybook/preview.ts +70 -0
  14. package/.storybook/themeDecorator.js +9 -0
  15. package/.stylelintignore +6 -0
  16. package/.stylelintrc.js +14 -0
  17. package/.vscode/extensions.json +13 -0
  18. package/.vscode/launch.json +13 -0
  19. package/.vscode/settings.json +33 -0
  20. package/ANGULAR_USAGE.md +102 -0
  21. package/APPLYING_STYLES.md +44 -0
  22. package/CHANGELOG.md +23 -0
  23. package/CONTRIBUTING.md +56 -0
  24. package/REACT_USAGE.md +145 -0
  25. package/VERSIONING.md +28 -0
  26. package/WEB_COMPONENTS_CRASH_COURSE.md +255 -0
  27. package/babel.config.js +4 -0
  28. package/codecov.yml +10 -0
  29. package/jest/cssTransform.js +9 -0
  30. package/jest/imgTransform.js +9 -0
  31. package/jest/svgTransform.js +9 -0
  32. package/jest.config.js +37 -0
  33. package/package.json +132 -10
  34. package/publish-conf.js +66 -0
  35. package/sonar-project.properties +22 -0
  36. package/sonar.config.js +22 -0
  37. package/src/[sandbox]/examples/AdvanceList/components/ErrorLoader/ErrorLoader.scss +22 -0
  38. package/src/[sandbox]/examples/AdvanceList/components/ErrorLoader/ErrorLoader.ts +72 -0
  39. package/src/[sandbox]/examples/AdvanceList/components/ParentComponentError.ts +123 -0
  40. package/src/[sandbox]/examples/AdvanceList/components/ParentComponentGeneric.ts +101 -0
  41. package/src/[sandbox]/examples/AdvanceList/components/ParentComponentPreSelect.ts +98 -0
  42. package/src/[sandbox]/examples/accordion.ts +67 -0
  43. package/src/[sandbox]/examples/advance-list.ts +14 -0
  44. package/src/[sandbox]/examples/alert-banner.ts +100 -0
  45. package/src/[sandbox]/examples/alert.ts +130 -0
  46. package/src/[sandbox]/examples/audio-player.ts +9 -0
  47. package/src/[sandbox]/examples/avatar.ts +146 -0
  48. package/src/[sandbox]/examples/badge.ts +175 -0
  49. package/src/[sandbox]/examples/breadcrumb.ts +5 -0
  50. package/src/[sandbox]/examples/button-group.ts +66 -0
  51. package/src/[sandbox]/examples/button.ts +455 -0
  52. package/src/[sandbox]/examples/card-ai.ts +105 -0
  53. package/src/[sandbox]/examples/card.ts +76 -0
  54. package/src/[sandbox]/examples/chat-message.ts +33 -0
  55. package/src/[sandbox]/examples/checkbox.ts +64 -0
  56. package/src/[sandbox]/examples/chip.ts +121 -0
  57. package/src/[sandbox]/examples/coachmark.ts +90 -0
  58. package/src/[sandbox]/examples/code-editor.ts +13 -0
  59. package/src/[sandbox]/examples/colorTable.ts +12 -0
  60. package/src/[sandbox]/examples/combobox.ts +441 -0
  61. package/src/[sandbox]/examples/date-range-picker.ts +26 -0
  62. package/src/[sandbox]/examples/date-time-picker.ts +25 -0
  63. package/src/[sandbox]/examples/datepicker.ts +41 -0
  64. package/src/[sandbox]/examples/draggable.ts +70 -0
  65. package/src/[sandbox]/examples/dropdown.ts +263 -0
  66. package/src/[sandbox]/examples/editable-field.ts +115 -0
  67. package/src/[sandbox]/examples/favorite.ts +49 -0
  68. package/src/[sandbox]/examples/floating-modal.ts +101 -0
  69. package/src/[sandbox]/examples/form.ts +101 -0
  70. package/src/[sandbox]/examples/grabber.ts +199 -0
  71. package/src/[sandbox]/examples/icon.ts +73 -0
  72. package/src/[sandbox]/examples/index.ts +55 -0
  73. package/src/[sandbox]/examples/input-file.ts +7 -0
  74. package/src/[sandbox]/examples/input.ts +444 -0
  75. package/src/[sandbox]/examples/label.ts +13 -0
  76. package/src/[sandbox]/examples/link.ts +46 -0
  77. package/src/[sandbox]/examples/list.ts +55 -0
  78. package/src/[sandbox]/examples/loading.ts +8 -0
  79. package/src/[sandbox]/examples/meeting-alert.ts +108 -0
  80. package/src/[sandbox]/examples/menu-item.ts +33 -0
  81. package/src/[sandbox]/examples/menu-overlay.ts +579 -0
  82. package/src/[sandbox]/examples/modal.ts +451 -0
  83. package/src/[sandbox]/examples/pagination.ts +13 -0
  84. package/src/[sandbox]/examples/phone-input.ts +112 -0
  85. package/src/[sandbox]/examples/popover.ts +164 -0
  86. package/src/[sandbox]/examples/progress-bar.ts +6 -0
  87. package/src/[sandbox]/examples/radio-group.ts +52 -0
  88. package/src/[sandbox]/examples/slider.ts +17 -0
  89. package/src/[sandbox]/examples/spinner.ts +4 -0
  90. package/src/[sandbox]/examples/table-advanced.ts +120 -0
  91. package/src/[sandbox]/examples/table.ts +106 -0
  92. package/src/[sandbox]/examples/tabs.ts +887 -0
  93. package/src/[sandbox]/examples/task-item.ts +142 -0
  94. package/src/[sandbox]/examples/timepicker.ts +26 -0
  95. package/src/[sandbox]/examples/toggle-switch.ts +20 -0
  96. package/src/[sandbox]/examples/tooltip.ts +138 -0
  97. package/src/[sandbox]/favicon.ico +0 -0
  98. package/src/[sandbox]/index.html +15 -0
  99. package/src/[sandbox]/sandbox.mock.ts +636 -0
  100. package/src/[sandbox]/sandbox.scss +66 -0
  101. package/src/[sandbox]/sandbox.ts +318 -0
  102. package/src/assets/images/profile.svg +47 -0
  103. package/src/assets/images/whatsapp.svg +1104 -0
  104. package/src/assets/images/wxm.svg +8 -0
  105. package/src/components/accordion/Accordion.mdx +74 -0
  106. package/src/components/accordion/Accordion.stories.ts +40 -0
  107. package/src/components/accordion/Accordion.test.ts +151 -0
  108. package/src/components/accordion/Accordion.ts +188 -0
  109. package/src/components/accordion/AccordionItem.test.ts +124 -0
  110. package/src/components/accordion/AccordionItem.ts +180 -0
  111. package/src/components/accordion/scss/accordion-item.scss +92 -0
  112. package/src/components/accordion/scss/accordion.scss +32 -0
  113. package/src/components/accordion/scss/mixins.scss +16 -0
  114. package/src/components/accordion/scss/module.scss +2 -0
  115. package/src/components/accordion/scss/settings.scss +14 -0
  116. package/src/components/accordion/tokens/lm-accordion-tokens.js +26 -0
  117. package/src/components/accordion/tokens/md-accordion-tokens.js +26 -0
  118. package/src/components/accordion/tokens/mdv2-accordion-tokens.js +21 -0
  119. package/src/components/activity-button/ActivityButton.test.ts +52 -0
  120. package/src/components/activity-button/ActivityButton.ts +92 -0
  121. package/src/components/activity-button/scss/activity-button.scss +160 -0
  122. package/src/components/activity-button/scss/module.scss +63 -0
  123. package/src/components/advance-list/AdvanceList.test.ts +357 -0
  124. package/src/components/advance-list/AdvanceList.ts +293 -0
  125. package/src/components/advance-list/scss/AdvanceList.scss +82 -0
  126. package/src/components/advance-list/scss/module.scss +8 -0
  127. package/src/components/advance-list/tokens/lm-advance-list-tokens.js +46 -0
  128. package/src/components/advance-list/tokens/md-advance-list-tokens.js +46 -0
  129. package/src/components/advance-list/tokens/mdv2-adavance-list-tokens.js +49 -0
  130. package/src/components/alert/Alert.mdx +72 -0
  131. package/src/components/alert/Alert.stories.ts +94 -0
  132. package/src/components/alert/Alert.test.ts +276 -0
  133. package/src/components/alert/Alert.ts +282 -0
  134. package/src/components/alert/scss/alert.scss +221 -0
  135. package/src/components/alert/scss/mixins.scss +27 -0
  136. package/src/components/alert/scss/module.scss +6 -0
  137. package/src/components/alert/scss/settings.scss +27 -0
  138. package/src/components/alert/tokens/lm-alert-tokens.js +63 -0
  139. package/src/components/alert/tokens/md-alert-tokens.js +63 -0
  140. package/src/components/alert/tokens/mdv2-alert-tokens.js +51 -0
  141. package/src/components/alert-banner/AlertBanner.mdx +38 -0
  142. package/src/components/alert-banner/AlertBanner.stories.ts +49 -0
  143. package/src/components/alert-banner/AlertBanner.test.ts +79 -0
  144. package/src/components/alert-banner/AlertBanner.ts +89 -0
  145. package/src/components/alert-banner/scss/alert-banner.scss +71 -0
  146. package/src/components/alert-banner/scss/mixins.scss +8 -0
  147. package/src/components/alert-banner/scss/module.scss +7 -0
  148. package/src/components/alert-banner/scss/settings.scss +9 -0
  149. package/src/components/alert-banner/tokens/lm-alertbanner-tokens.js +50 -0
  150. package/src/components/alert-banner/tokens/md-alertbanner-tokens.js +50 -0
  151. package/src/components/alert-banner/tokens/mdv2-alertbanner-tokens.js +44 -0
  152. package/src/components/audio-player/AudioPlayer.stories.ts +33 -0
  153. package/src/components/audio-player/AudioPlayer.test.ts +208 -0
  154. package/src/components/audio-player/AudioPlayer.ts +539 -0
  155. package/src/components/audio-player/scss/audio-player.scss +236 -0
  156. package/src/components/audio-player/scss/mixins.scss +0 -0
  157. package/src/components/audio-player/scss/module.scss +16 -0
  158. package/src/components/audio-player/scss/settings.scss +15 -0
  159. package/src/components/audio-player/tokens/lm-audio-player-token.js +46 -0
  160. package/src/components/audio-player/tokens/md-audio-player-token.js +46 -0
  161. package/src/components/audio-player/tokens/mdv2-audio-player-token.js +37 -0
  162. package/src/components/avatar/Avatar.constants.ts +31 -0
  163. package/src/components/avatar/Avatar.mdx +153 -0
  164. package/src/components/avatar/Avatar.stories.ts +98 -0
  165. package/src/components/avatar/Avatar.test.ts +218 -0
  166. package/src/components/avatar/Avatar.ts +284 -0
  167. package/src/components/avatar/CompositeAvatar.ts +47 -0
  168. package/src/components/avatar/Presence.test.ts +225 -0
  169. package/src/components/avatar/Presence.ts +46 -0
  170. package/src/components/avatar/Presence.utils.ts +114 -0
  171. package/src/components/avatar/scss/avatar.scss +331 -0
  172. package/src/components/avatar/scss/composite-avatar.scss +89 -0
  173. package/src/components/avatar/scss/mixins.scss +33 -0
  174. package/src/components/avatar/scss/module.scss +18 -0
  175. package/src/components/avatar/scss/presence.scss +50 -0
  176. package/src/components/avatar/scss/settings.scss +103 -0
  177. package/src/components/avatar/tokens/lm-avatar-tokens.js +193 -0
  178. package/src/components/avatar/tokens/md-avatar-tokens.js +183 -0
  179. package/src/components/avatar/tokens/mdv2-avatar-tokens.js +182 -0
  180. package/src/components/badge/Badge.stories.ts +55 -0
  181. package/src/components/badge/Badge.test.ts +100 -0
  182. package/src/components/badge/Badge.ts +114 -0
  183. package/src/components/badge/scss/badge.scss +251 -0
  184. package/src/components/badge/scss/mixins.scss +82 -0
  185. package/src/components/badge/scss/module.scss +12 -0
  186. package/src/components/badge/scss/settings.scss +69 -0
  187. package/src/components/badge/tokens/lm-badge-tokens.js +369 -0
  188. package/src/components/badge/tokens/md-badge-tokens.js +359 -0
  189. package/src/components/badge/tokens/mdv2-badge-tokens.js +392 -0
  190. package/src/components/breadcrumb/Breadcrumb.stories.ts +50 -0
  191. package/src/components/breadcrumb/Breadcrumb.test.ts +38 -0
  192. package/src/components/breadcrumb/Breadcrumb.ts +79 -0
  193. package/src/components/breadcrumb/scss/breadcrumb.scss +39 -0
  194. package/src/components/breadcrumb/scss/mixins.scss +5 -0
  195. package/src/components/breadcrumb/scss/module.scss +15 -0
  196. package/src/components/breadcrumb/scss/settings.scss +6 -0
  197. package/src/components/breadcrumb/tokens/lm-breadcrumb-token.js +23 -0
  198. package/src/components/breadcrumb/tokens/md-breadcrumb-token.js +23 -0
  199. package/src/components/breadcrumb/tokens/mdv2-breadcrumb-token.js +18 -0
  200. package/src/components/button/Button.mdx +77 -0
  201. package/src/components/button/Button.stories.ts +90 -0
  202. package/src/components/button/Button.test.ts +278 -0
  203. package/src/components/button/Button.ts +384 -0
  204. package/src/components/button/README.md +72 -0
  205. package/src/components/button/scss/button.scss +1067 -0
  206. package/src/components/button/scss/mixins.scss +281 -0
  207. package/src/components/button/scss/module.scss +16 -0
  208. package/src/components/button/scss/settings.scss +241 -0
  209. package/src/components/button/tokens/lm-button-tokens.js +467 -0
  210. package/src/components/button/tokens/mdv2-button-tokens.js +544 -0
  211. package/src/components/button-group/ButtonGroup.stories.ts +45 -0
  212. package/src/components/button-group/ButtonGroup.test.ts +146 -0
  213. package/src/components/button-group/ButtonGroup.ts +219 -0
  214. package/src/components/button-group/scss/button-group.scss +95 -0
  215. package/src/components/button-group/scss/module.scss +14 -0
  216. package/src/components/button-group/scss/settings.scss +5 -0
  217. package/src/components/button-group/tokens/lm-button-group-tokens.js +38 -0
  218. package/src/components/button-group/tokens/md-button-group-tokens.js +38 -0
  219. package/src/components/button-group/tokens/mdv2-button-group-tokens.js +40 -0
  220. package/src/components/card/Card.stories.ts +83 -0
  221. package/src/components/card/Card.test.ts +83 -0
  222. package/src/components/card/Card.ts +179 -0
  223. package/src/components/card/scss/card.scss +131 -0
  224. package/src/components/card/scss/module.scss +13 -0
  225. package/src/components/card/scss/settings.scss +11 -0
  226. package/src/components/card-ai/CardAi.stories.ts +58 -0
  227. package/src/components/card-ai/CardAi.test.ts +203 -0
  228. package/src/components/card-ai/CardAi.ts +232 -0
  229. package/src/components/card-ai/scss/card-ai.scss +107 -0
  230. package/src/components/card-ai/scss/module.scss +13 -0
  231. package/src/components/card-ai/scss/settings.scss +17 -0
  232. package/src/components/card-ai/tokens/lm-card-ai-tokens.js +16 -0
  233. package/src/components/card-ai/tokens/md-card-ai-tokens.js +16 -0
  234. package/src/components/card-ai/tokens/mdv2-card-ai-tokens.js +16 -0
  235. package/src/components/chat-message/ChatMessage.stories.ts +41 -0
  236. package/src/components/chat-message/ChatMessage.test.ts +53 -0
  237. package/src/components/chat-message/ChatMessage.ts +52 -0
  238. package/src/components/chat-message/scss/chat-message.scss +49 -0
  239. package/src/components/chat-message/scss/mixins.scss +6 -0
  240. package/src/components/chat-message/scss/module.scss +16 -0
  241. package/src/components/chat-message/scss/settings.scss +7 -0
  242. package/src/components/chat-message/tokens/lm-chat-message-tokens.js +18 -0
  243. package/src/components/chat-message/tokens/md-chat-message-tokens.js +18 -0
  244. package/src/components/chat-message/tokens/mdv2-chat-message-tokens.js +15 -0
  245. package/src/components/checkbox/Checkbox.stories.ts +58 -0
  246. package/src/components/checkbox/Checkbox.test.ts +124 -0
  247. package/src/components/checkbox/Checkbox.ts +172 -0
  248. package/src/components/checkbox/CheckboxGroup.test.ts +43 -0
  249. package/src/components/checkbox/CheckboxGroup.ts +91 -0
  250. package/src/components/checkbox/scss/checkbox.scss +152 -0
  251. package/src/components/checkbox/scss/checkboxgroup.scss +17 -0
  252. package/src/components/checkbox/scss/mixins.scss +0 -0
  253. package/src/components/checkbox/scss/module.scss +9 -0
  254. package/src/components/checkbox/scss/settings.scss +15 -0
  255. package/src/components/checkbox/tokens/lm-checkbox-tokens.js +82 -0
  256. package/src/components/checkbox/tokens/md-checkbox-tokens.js +83 -0
  257. package/src/components/checkbox/tokens/mdv2-checkbox-tokens.js +65 -0
  258. package/src/components/chip/Chip.stories.ts +80 -0
  259. package/src/components/chip/Chip.test.ts +137 -0
  260. package/src/components/chip/Chip.ts +282 -0
  261. package/src/components/chip/scss/chip.scss +469 -0
  262. package/src/components/chip/scss/mixins.scss +54 -0
  263. package/src/components/chip/scss/module.scss +17 -0
  264. package/src/components/chip/scss/settings.scss +5 -0
  265. package/src/components/coachmark/Coachmark.stories.ts +49 -0
  266. package/src/components/coachmark/Coachmark.test.ts +143 -0
  267. package/src/components/coachmark/Coachmark.ts +155 -0
  268. package/src/components/coachmark/scss/coachmarks.scss +281 -0
  269. package/src/components/coachmark/scss/module.scss +10 -0
  270. package/src/components/coachmark/scss/settings.scss +7 -0
  271. package/src/components/coachmark/tokens/lm-coachmark-tokens.js +140 -0
  272. package/src/components/coachmark/tokens/md-coachmark-tokens.js +130 -0
  273. package/src/components/coachmark/tokens/mdv2-coachmark-tokens.js +117 -0
  274. package/src/components/coachmark-popover/CoachmarkPopover.ts +366 -0
  275. package/src/components/coachmark-popover/scss/coachmark-popover.scss +84 -0
  276. package/src/components/coachmark-popover/scss/module.scss +1 -0
  277. package/src/components/coachmark-popover/scss/settings.scss +14 -0
  278. package/src/components/code-editor/CodeEditor.stories.ts +37 -0
  279. package/src/components/code-editor/CodeEditor.test.ts +46 -0
  280. package/src/components/code-editor/CodeEditor.ts +183 -0
  281. package/src/components/code-editor/scss/code-editor.scss +157 -0
  282. package/src/components/code-editor/scss/module.scss +12 -0
  283. package/src/components/code-editor/scss/settings.scss +10 -0
  284. package/src/components/combobox/ComboBox.stories.ts +162 -0
  285. package/src/components/combobox/ComboBox.test.ts +1530 -0
  286. package/src/components/combobox/ComboBox.ts +1869 -0
  287. package/src/components/combobox/scss/combobox.scss +637 -0
  288. package/src/components/combobox/scss/mixins.scss +9 -0
  289. package/src/components/combobox/scss/module.scss +17 -0
  290. package/src/components/combobox/scss/settings.scss +39 -0
  291. package/src/components/combobox/tokens/lm-combobox-tokens.js +164 -0
  292. package/src/components/combobox/tokens/md-combobox-tokens.js +168 -0
  293. package/src/components/combobox/tokens/mdv2-combobox-tokens.js +146 -0
  294. package/src/components/date-range-picker/DateRangePicker.stories.ts +44 -0
  295. package/src/components/date-range-picker/DateRangePicker.test.ts +156 -0
  296. package/src/components/date-range-picker/DateRangePicker.ts +86 -0
  297. package/src/components/date-range-picker/scss/daterangepicker.scss +0 -0
  298. package/src/components/date-range-picker/tokens/lm-date-range-picker-tokens.js +26 -0
  299. package/src/components/date-range-picker/tokens/md-date-range-picker-tokens.js +26 -0
  300. package/src/components/date-range-picker/tokens/mdv2-date-range-picker-tokens.js +26 -0
  301. package/src/components/date-time-picker/DateTimePicker.stories.ts +54 -0
  302. package/src/components/date-time-picker/DateTimePicker.test.ts +37 -0
  303. package/src/components/date-time-picker/DateTimePicker.ts +187 -0
  304. package/src/components/date-time-picker/scss/date-time-picker.scss +7 -0
  305. package/src/components/date-time-picker/scss/module.scss +9 -0
  306. package/src/components/date-time-picker/scss/settings.scss +1 -0
  307. package/src/components/datepicker/DatePicker.stories.ts +45 -0
  308. package/src/components/datepicker/DatePicker.test.ts +97 -0
  309. package/src/components/datepicker/DatePicker.ts +290 -0
  310. package/src/components/datepicker/datepicker-calendar/DatePickerCalendar.test.ts +70 -0
  311. package/src/components/datepicker/datepicker-calendar/DatePickerCalendar.ts +179 -0
  312. package/src/components/datepicker/datepicker-day/DatePickerDay.test.ts +48 -0
  313. package/src/components/datepicker/datepicker-day/DatePickerDay.ts +173 -0
  314. package/src/components/datepicker/datepicker-month/DatePickerMonth.test.ts +13 -0
  315. package/src/components/datepicker/datepicker-month/DatePickerMonth.ts +60 -0
  316. package/src/components/datepicker/datepicker-week/DatePickerWeek.test.ts +13 -0
  317. package/src/components/datepicker/datepicker-week/DatePickerWeek.ts +56 -0
  318. package/src/components/datepicker/scss/datepicker.scss +263 -0
  319. package/src/components/datepicker/scss/module.scss +9 -0
  320. package/src/components/datepicker/scss/settings.scss +9 -0
  321. package/src/components/datepicker/tokens/lm-datepicker-tokens.js +68 -0
  322. package/src/components/datepicker/tokens/md-datepicker-tokens.js +68 -0
  323. package/src/components/datepicker/tokens/mdv2-datepicker-tokens.js +91 -0
  324. package/src/components/draggable/Draggable.mdx +258 -0
  325. package/src/components/draggable/Draggable.stories.ts +166 -0
  326. package/src/components/draggable/Draggable.test.ts +116 -0
  327. package/src/components/draggable/Draggable.ts +203 -0
  328. package/src/components/draggable/DraggableItem.test.ts +45 -0
  329. package/src/components/draggable/DraggableItem.ts +58 -0
  330. package/src/components/draggable/scss/draggable-item.scss +70 -0
  331. package/src/components/draggable/scss/module.scss +12 -0
  332. package/src/components/draggable/scss/settings.scss +6 -0
  333. package/src/components/dropdown/Dropdown.stories.ts +110 -0
  334. package/src/components/dropdown/Dropdown.test.ts +461 -0
  335. package/src/components/dropdown/Dropdown.ts +903 -0
  336. package/src/components/dropdown/scss/dropdown.scss +497 -0
  337. package/src/components/dropdown/scss/mixins.scss +23 -0
  338. package/src/components/dropdown/scss/module.scss +25 -0
  339. package/src/components/dropdown/scss/settings.scss +28 -0
  340. package/src/components/dropdown/tokens/lm-dropdown-tokens.js +68 -0
  341. package/src/components/dropdown/tokens/md-dropdown-tokens.js +68 -0
  342. package/src/components/dropdown/tokens/mdv2-dropdown-tokens.js +74 -0
  343. package/src/components/editable-textfield/EditableTextfield.stories.ts +93 -0
  344. package/src/components/editable-textfield/EditableTextfield.test.ts +219 -0
  345. package/src/components/editable-textfield/EditableTextfield.ts +262 -0
  346. package/src/components/editable-textfield/scss/editable-textfield.scss +128 -0
  347. package/src/components/editable-textfield/scss/module.scss +14 -0
  348. package/src/components/editable-textfield/scss/settings.scss +6 -0
  349. package/src/components/editable-textfield/tokens/lm-editabletextfield-tokens.js +130 -0
  350. package/src/components/editable-textfield/tokens/md-editabletextfield-tokens.js +118 -0
  351. package/src/components/editable-textfield/tokens/mdv2-editabletextfield-tokens.js +129 -0
  352. package/src/components/favorite/Favorite.mdx +27 -0
  353. package/src/components/favorite/Favorite.stories.ts +43 -0
  354. package/src/components/favorite/Favorite.test.ts +116 -0
  355. package/src/components/favorite/Favorite.ts +119 -0
  356. package/src/components/favorite/scss/favorite.scss +118 -0
  357. package/src/components/favorite/scss/module.scss +7 -0
  358. package/src/components/favorite/scss/settings.scss +3 -0
  359. package/src/components/floating-modal/Floating.mdx +42 -0
  360. package/src/components/floating-modal/FloatingMinimizedModal.test.ts +92 -0
  361. package/src/components/floating-modal/FloatingMinimizedModal.ts +278 -0
  362. package/src/components/floating-modal/FloatingModal.stories.ts +67 -0
  363. package/src/components/floating-modal/FloatingModal.test.ts +114 -0
  364. package/src/components/floating-modal/FloatingModal.ts +372 -0
  365. package/src/components/floating-modal/README.md +36 -0
  366. package/src/components/floating-modal/scss/floating.scss +85 -0
  367. package/src/components/floating-modal/scss/module.scss +19 -0
  368. package/src/components/floating-modal/scss/settings.scss +5 -0
  369. package/src/components/floating-modal/tokens/lm-floating-modal-tokens.js +46 -0
  370. package/src/components/floating-modal/tokens/md-floating-modal-tokens.js +46 -0
  371. package/src/components/floating-modal/tokens/mdv2-floating-modal-tokens.js +38 -0
  372. package/src/components/form/Form.stories.ts +54 -0
  373. package/src/components/form/Form.test.ts +57 -0
  374. package/src/components/form/Form.ts +239 -0
  375. package/src/components/grabber/Grabber.stories.ts +54 -0
  376. package/src/components/grabber/Grabber.test.ts +194 -0
  377. package/src/components/grabber/Grabber.ts +224 -0
  378. package/src/components/grabber/scss/grabber.scss +133 -0
  379. package/src/components/grabber/scss/module.scss +1 -0
  380. package/src/components/grabber/tokens/lm-grabber-tokens.js +39 -0
  381. package/src/components/grabber/tokens/md-grabber-tokens.js +39 -0
  382. package/src/components/grabber/tokens/mdv2-grabber-tokens.js +38 -0
  383. package/src/components/help-text/HelpText.test.ts +38 -0
  384. package/src/components/help-text/HelpText.ts +69 -0
  385. package/src/components/help-text/scss/help-text.scss +50 -0
  386. package/src/components/help-text/scss/mixins.scss +14 -0
  387. package/src/components/help-text/scss/module.scss +13 -0
  388. package/src/components/help-text/scss/settings.scss +5 -0
  389. package/src/components/help-text/tokens/lm-help-text-tokens.js +16 -0
  390. package/src/components/help-text/tokens/md-help-text-tokens.js +16 -0
  391. package/src/components/help-text/tokens/mdv2-help-text-tokens.js +14 -0
  392. package/src/components/icon/Icon.stories.ts +87 -0
  393. package/src/components/icon/Icon.test.ts +181 -0
  394. package/src/components/icon/Icon.ts +482 -0
  395. package/src/components/icon/momentum-ui-to-design-icons.json +815 -0
  396. package/src/components/icon/scss/icon.scss +38 -0
  397. package/src/components/icon/scss/module.scss +17 -0
  398. package/src/components/icon/scss/settings.scss +13 -0
  399. package/src/components/input/Input.stories.ts +148 -0
  400. package/src/components/input/Input.test.ts +347 -0
  401. package/src/components/input/Input.ts +560 -0
  402. package/src/components/input/scss/input.scss +564 -0
  403. package/src/components/input/scss/module.scss +22 -0
  404. package/src/components/input/tokens/lm-input-tokens.js +156 -0
  405. package/src/components/input/tokens/md-input-tokens.js +146 -0
  406. package/src/components/input/tokens/mdv2-input-tokens.js +171 -0
  407. package/src/components/input-file/InputFile.stories.ts +20 -0
  408. package/src/components/input-file/InputFile.test.ts +39 -0
  409. package/src/components/input-file/InputFile.ts +115 -0
  410. package/src/components/input-file/scss/input-file.scss +8 -0
  411. package/src/components/input-file/scss/module.scss +6 -0
  412. package/src/components/label/Label.stories.ts +55 -0
  413. package/src/components/label/Label.test.ts +26 -0
  414. package/src/components/label/Label.ts +81 -0
  415. package/src/components/label/scss/label.scss +44 -0
  416. package/src/components/label/scss/mixins.scss +25 -0
  417. package/src/components/label/scss/module.scss +17 -0
  418. package/src/components/label/scss/settings.scss +8 -0
  419. package/src/components/label/tokens/lm-label-tokens.js +18 -0
  420. package/src/components/label/tokens/md-label-tokens.js +18 -0
  421. package/src/components/label/tokens/mdv2-label-tokens.js +15 -0
  422. package/src/components/link/Link.stories.ts +59 -0
  423. package/src/components/link/Link.test.ts +98 -0
  424. package/src/components/link/Link.ts +123 -0
  425. package/src/components/link/scss/link.scss +43 -0
  426. package/src/components/link/scss/mixins.scss +124 -0
  427. package/src/components/link/scss/module.scss +11 -0
  428. package/src/components/link/scss/settings.scss +5 -0
  429. package/src/components/link/tokens/lm-link-tokens.js +131 -0
  430. package/src/components/link/tokens/md-link-tokens.js +127 -0
  431. package/src/components/link/tokens/mdv2-link-tokens.js +120 -0
  432. package/src/components/list/List.stories.ts +55 -0
  433. package/src/components/list/List.test.ts +214 -0
  434. package/src/components/list/List.ts +199 -0
  435. package/src/components/list/ListItem.test.ts +59 -0
  436. package/src/components/list/ListItem.ts +69 -0
  437. package/src/components/list/scss/list.scss +26 -0
  438. package/src/components/list/scss/listitem.scss +88 -0
  439. package/src/components/list/scss/mixins.scss +8 -0
  440. package/src/components/list/scss/module.scss +15 -0
  441. package/src/components/list/scss/settings.scss +7 -0
  442. package/src/components/list/tokens/lm-list-tokens.js +46 -0
  443. package/src/components/list/tokens/md-list-tokens.js +46 -0
  444. package/src/components/list/tokens/mdv2-list-tokens.js +46 -0
  445. package/src/components/loading/Loading.stories.ts +39 -0
  446. package/src/components/loading/Loading.test.ts +29 -0
  447. package/src/components/loading/Loading.ts +48 -0
  448. package/src/components/loading/scss/loading.scss +78 -0
  449. package/src/components/loading/scss/module.scss +1 -0
  450. package/src/components/meeting-alert/CompositeAvatar.ts +37 -0
  451. package/src/components/meeting-alert/MeetingAlert.mdx +187 -0
  452. package/src/components/meeting-alert/MeetingAlert.stories.ts +182 -0
  453. package/src/components/meeting-alert/MeetingAlert.test.ts +227 -0
  454. package/src/components/meeting-alert/MeetingAlert.ts +203 -0
  455. package/src/components/meeting-alert/scss/alert.scss +244 -0
  456. package/src/components/meeting-alert/scss/mixins.scss +13 -0
  457. package/src/components/meeting-alert/scss/module.scss +20 -0
  458. package/src/components/meeting-alert/scss/settings.scss +27 -0
  459. package/src/components/meeting-alert/tokens/lm-meeting-alert-tokens.js +15 -0
  460. package/src/components/meeting-alert/tokens/md-meeting-alert-tokens.js +15 -0
  461. package/src/components/meeting-alert/tokens/mdv2-meeting-alert-tokens.js +43 -0
  462. package/src/components/menu/Menu.stories.ts +66 -0
  463. package/src/components/menu/Menu.test.ts +109 -0
  464. package/src/components/menu/Menu.ts +218 -0
  465. package/src/components/menu/MenuItem.test.ts +49 -0
  466. package/src/components/menu/MenuItem.ts +159 -0
  467. package/src/components/menu/scss/menu-item.scss +61 -0
  468. package/src/components/menu/scss/menu.scss +31 -0
  469. package/src/components/menu/scss/module.scss +15 -0
  470. package/src/components/menu/scss/settings.scss +18 -0
  471. package/src/components/menu/tokens/lm-menu-tokens.js +27 -0
  472. package/src/components/menu/tokens/md-menu-tokens.js +27 -0
  473. package/src/components/menu/tokens/mdv2-menu-tokens.js +42 -0
  474. package/src/components/menu-overlay/MenuOverlay.stories.ts +104 -0
  475. package/src/components/menu-overlay/MenuOverlay.test.ts +634 -0
  476. package/src/components/menu-overlay/MenuOverlay.ts +476 -0
  477. package/src/components/menu-overlay/scss/menu-overlay.scss +109 -0
  478. package/src/components/menu-overlay/scss/module.scss +12 -0
  479. package/src/components/menu-overlay/scss/settings.scss +6 -0
  480. package/src/components/modal/Modal.stories.ts +74 -0
  481. package/src/components/modal/Modal.test.ts +217 -0
  482. package/src/components/modal/Modal.ts +292 -0
  483. package/src/components/modal/scss/mixins.scss +109 -0
  484. package/src/components/modal/scss/modal.scss +357 -0
  485. package/src/components/modal/scss/module.scss +18 -0
  486. package/src/components/modal/scss/settings.scss +59 -0
  487. package/src/components/modal/tokens/lm-modal-tokens.js +44 -0
  488. package/src/components/modal/tokens/md-modal-tokens.js +44 -0
  489. package/src/components/modal/tokens/mdv2-modal-tokens.js +36 -0
  490. package/src/components/pagination/Pagination.stories.ts +32 -0
  491. package/src/components/pagination/Pagination.test.ts +74 -0
  492. package/src/components/pagination/Pagination.ts +219 -0
  493. package/src/components/pagination/scss/mixins.scss +11 -0
  494. package/src/components/pagination/scss/module.scss +18 -0
  495. package/src/components/pagination/scss/pagination.scss +120 -0
  496. package/src/components/pagination/scss/settings.scss +11 -0
  497. package/src/components/pagination/tokens/lm-pagination-tokens.js +49 -0
  498. package/src/components/pagination/tokens/md-pagination-tokens.js +49 -0
  499. package/src/components/pagination/tokens/mdv2-pagination-tokens.js +39 -0
  500. package/src/components/phone-input/PhoneInput.stories.ts +39 -0
  501. package/src/components/phone-input/PhoneInput.test.ts +198 -0
  502. package/src/components/phone-input/PhoneInput.ts +288 -0
  503. package/src/components/phone-input/scss/module.scss +7 -0
  504. package/src/components/phone-input/scss/phoneInput.scss +103 -0
  505. package/src/components/phone-input/scss/settings.scss +3 -0
  506. package/src/components/phone-input/tokens/lm-phone-input-tokens.js +26 -0
  507. package/src/components/phone-input/tokens/md-phone-input-tokens.js +26 -0
  508. package/src/components/phone-input/tokens/mdv2-phone-input-tokens.js +22 -0
  509. package/src/components/popover/Popover.ts +580 -0
  510. package/src/components/popover/Popover.types.ts +26 -0
  511. package/src/components/popover/scss/module.scss +2 -0
  512. package/src/components/popover/scss/popover.scss +131 -0
  513. package/src/components/popover/scss/settings.scss +11 -0
  514. package/src/components/popover/tokens/lm-popover-tokens.js +18 -0
  515. package/src/components/popover/tokens/md-popover-tokens.js +18 -0
  516. package/src/components/popover/tokens/mdv2-popover-tokens.js +18 -0
  517. package/src/components/progress-bar/ProgressBar.stories.ts +43 -0
  518. package/src/components/progress-bar/ProgressBar.test.ts +120 -0
  519. package/src/components/progress-bar/ProgressBar.ts +112 -0
  520. package/src/components/progress-bar/scss/mixins.scss +49 -0
  521. package/src/components/progress-bar/scss/module.scss +10 -0
  522. package/src/components/progress-bar/scss/progress.scss +77 -0
  523. package/src/components/progress-bar/scss/settings.scss +29 -0
  524. package/src/components/progress-bar/tokens/lm-progress-bar-tokens.js +28 -0
  525. package/src/components/progress-bar/tokens/md-progress-bar-tokens.js +28 -0
  526. package/src/components/progress-bar/tokens/mdv2-progress-bar-tokens.js +36 -0
  527. package/src/components/radio/Radio.test.ts +66 -0
  528. package/src/components/radio/Radio.ts +94 -0
  529. package/src/components/radio/RadioGroup.stories.ts +49 -0
  530. package/src/components/radio/RadioGroup.test.ts +209 -0
  531. package/src/components/radio/RadioGroup.ts +195 -0
  532. package/src/components/radio/scss/mixins.scss +7 -0
  533. package/src/components/radio/scss/module.scss +14 -0
  534. package/src/components/radio/scss/radio.scss +150 -0
  535. package/src/components/radio/scss/radiogroup.scss +29 -0
  536. package/src/components/radio/scss/settings.scss +18 -0
  537. package/src/components/radio/tokens/lm-radio-tokens.js +84 -0
  538. package/src/components/radio/tokens/md-radio-tokens.js +84 -0
  539. package/src/components/radio/tokens/mdv2-radio-tokens.js +67 -0
  540. package/src/components/sass-stats/README.md +25 -0
  541. package/src/components/sass-stats/SassStats.test.ts +13 -0
  542. package/src/components/sass-stats/SassStats.ts +110 -0
  543. package/src/components/slider/Slider.stories.ts +62 -0
  544. package/src/components/slider/Slider.test.ts +128 -0
  545. package/src/components/slider/Slider.ts +283 -0
  546. package/src/components/slider/scss/mixins.scss +5 -0
  547. package/src/components/slider/scss/module.scss +17 -0
  548. package/src/components/slider/scss/settings.scss +10 -0
  549. package/src/components/slider/scss/slider.scss +188 -0
  550. package/src/components/slider/tokens/lm-slider-token.js +57 -0
  551. package/src/components/slider/tokens/md-slider-tokens.js +61 -0
  552. package/src/components/slider/tokens/mdv2-slider-token.js +50 -0
  553. package/src/components/spinner/Spinner.stories.ts +36 -0
  554. package/src/components/spinner/Spinner.test.ts +18 -0
  555. package/src/components/spinner/Spinner.ts +40 -0
  556. package/src/components/spinner/scss/mixins.scss +36 -0
  557. package/src/components/spinner/scss/module.scss +4 -0
  558. package/src/components/spinner/scss/settings.scss +3 -0
  559. package/src/components/spinner/scss/spinner.scss +50 -0
  560. package/src/components/spinner/tokens/lm-spinner-tokens.js +16 -0
  561. package/src/components/spinner/tokens/md-spinner-tokens.js +18 -0
  562. package/src/components/spinner/tokens/mdv2-spinner-tokens.js +15 -0
  563. package/src/components/table/Table.stories.ts +76 -0
  564. package/src/components/table/Table.test.ts +51 -0
  565. package/src/components/table/Table.ts +234 -0
  566. package/src/components/table/scss/mixins.scss +6 -0
  567. package/src/components/table/scss/module.scss +27 -0
  568. package/src/components/table/scss/settings.scss +11 -0
  569. package/src/components/table/scss/table.scss +148 -0
  570. package/src/components/table/tokens/lm-table-tokens.js +42 -0
  571. package/src/components/table/tokens/md-table-tokens.js +42 -0
  572. package/src/components/table/tokens/mdv2-table-tokens.js +35 -0
  573. package/src/components/table-advanced/TableAdvanced.md +233 -0
  574. package/src/components/table-advanced/TableAdvanced.mdx +240 -0
  575. package/src/components/table-advanced/TableAdvanced.stories.ts +161 -0
  576. package/src/components/table-advanced/TableAdvanced.test.ts +374 -0
  577. package/src/components/table-advanced/TableAdvanced.ts +1081 -0
  578. package/src/components/table-advanced/scss/module.scss +27 -0
  579. package/src/components/table-advanced/scss/settings.scss +16 -0
  580. package/src/components/table-advanced/scss/table-advanced.scss +399 -0
  581. package/src/components/table-advanced/src/decorators.ts +150 -0
  582. package/src/components/table-advanced/src/filter.ts +86 -0
  583. package/src/components/table-advanced/tokens/lm-table-advanced-tokens.js +64 -0
  584. package/src/components/table-advanced/tokens/md-table-advanced-tokens.js +64 -0
  585. package/src/components/table-advanced/tokens/mdv2-table-advanced-tokens.js +64 -0
  586. package/src/components/tabs/Tab.test.ts +103 -0
  587. package/src/components/tabs/Tab.ts +219 -0
  588. package/src/components/tabs/TabPanel.test.ts +31 -0
  589. package/src/components/tabs/TabPanel.ts +44 -0
  590. package/src/components/tabs/Tabs.stories.ts +171 -0
  591. package/src/components/tabs/Tabs.test.ts +676 -0
  592. package/src/components/tabs/Tabs.ts +1231 -0
  593. package/src/components/tabs/scss/mixins.scss +6 -0
  594. package/src/components/tabs/scss/module.scss +14 -0
  595. package/src/components/tabs/scss/settings.scss +25 -0
  596. package/src/components/tabs/scss/tab.scss +373 -0
  597. package/src/components/tabs/scss/tabs.scss +250 -0
  598. package/src/components/tabs/tokens/lm-tabs-tokens.js +92 -0
  599. package/src/components/tabs/tokens/md-tabs-tokens.js +86 -0
  600. package/src/components/tabs/tokens/mdv2-tabs-tokens.js +70 -0
  601. package/src/components/taskitem/TaskItem.stories.ts +70 -0
  602. package/src/components/taskitem/TaskItem.test.ts +496 -0
  603. package/src/components/taskitem/TaskItem.ts +293 -0
  604. package/src/components/taskitem/scss/mixins.scss +42 -0
  605. package/src/components/taskitem/scss/module.scss +15 -0
  606. package/src/components/taskitem/scss/settings.scss +45 -0
  607. package/src/components/taskitem/scss/task-item.scss +229 -0
  608. package/src/components/taskitem/tokens/lm-taskitem-tokens.js +72 -0
  609. package/src/components/taskitem/tokens/md-taskitem-tokens.js +72 -0
  610. package/src/components/taskitem/tokens/mdv2-taskitem-tokens.js +58 -0
  611. package/src/components/theme/README.md +13 -0
  612. package/src/components/theme/Theme.test.ts +157 -0
  613. package/src/components/theme/Theme.ts +392 -0
  614. package/src/components/theme/index.ts +8 -0
  615. package/src/components/timepicker/TimePicker.stories.ts +39 -0
  616. package/src/components/timepicker/TimePicker.test.ts +145 -0
  617. package/src/components/timepicker/TimePicker.ts +425 -0
  618. package/src/components/timepicker/scss/module.scss +9 -0
  619. package/src/components/timepicker/scss/settings.scss +8 -0
  620. package/src/components/timepicker/scss/timepicker.scss +71 -0
  621. package/src/components/toggle-switch/ToggleSwitch.stories.ts +48 -0
  622. package/src/components/toggle-switch/ToggleSwitch.test.ts +92 -0
  623. package/src/components/toggle-switch/ToggleSwitch.ts +102 -0
  624. package/src/components/toggle-switch/scss/mixins.scss +114 -0
  625. package/src/components/toggle-switch/scss/module.scss +7 -0
  626. package/src/components/toggle-switch/scss/settings.scss +16 -0
  627. package/src/components/toggle-switch/scss/toggle-switch.scss +197 -0
  628. package/src/components/toggle-switch/tokens/lm-toggle-tokens.js +54 -0
  629. package/src/components/toggle-switch/tokens/md-toggle-tokens.js +54 -0
  630. package/src/components/toggle-switch/tokens/mdv2-toggle-tokens.js +54 -0
  631. package/src/components/tooltip/Tooltip.stories.ts +55 -0
  632. package/src/components/tooltip/Tooltip.test.ts +108 -0
  633. package/src/components/tooltip/Tooltip.ts +239 -0
  634. package/src/components/tooltip/scss/module.scss +9 -0
  635. package/src/components/tooltip/scss/settings.scss +11 -0
  636. package/src/components/tooltip/scss/tooltip.scss +151 -0
  637. package/src/components/tooltip/tokens/lm-tooltip-tokens.js +18 -0
  638. package/src/components/tooltip/tokens/md-tooltip-tokens.js +18 -0
  639. package/src/components/tooltip/tokens/mdv2-tooltip-tokens.js +42 -0
  640. package/src/constants.ts +42 -0
  641. package/src/index.ts +82 -0
  642. package/src/internal-components/color-table/ColorTable.stories.ts +31 -0
  643. package/src/internal-components/color-table/ColorTable.ts +83 -0
  644. package/src/internal-components/color-table/data.ts +203 -0
  645. package/src/internal-components/color-table/scss/color-table.scss +739 -0
  646. package/src/internal-components/color-table/scss/module.scss +11 -0
  647. package/src/internal-components/color-table/utils.ts +552 -0
  648. package/src/managers/ThemeManager.ts +91 -0
  649. package/src/mixins/CustomElementCheck.ts +25 -0
  650. package/src/mixins/DedupeMixin.test.ts +81 -0
  651. package/src/mixins/DedupeMixin.ts +54 -0
  652. package/src/mixins/FocusMixin.test.ts +116 -0
  653. package/src/mixins/FocusMixin.ts +136 -0
  654. package/src/mixins/FocusTrapMixin.test.ts +560 -0
  655. package/src/mixins/FocusTrapMixin.ts +492 -0
  656. package/src/mixins/ResizeMixin.test.ts +84 -0
  657. package/src/mixins/ResizeMixin.ts +142 -0
  658. package/src/mixins/RovingTabIndexMixin.test.ts +60 -0
  659. package/src/mixins/RovingTabIndexMixin.ts +135 -0
  660. package/src/mixins/SlottedMixin.test.ts +68 -0
  661. package/src/mixins/SlottedMixin.ts +116 -0
  662. package/src/mixins/index.ts +17 -0
  663. package/src/templates/color-table-data-string.hbs +22 -0
  664. package/src/templates/colors-settings.hbs +21 -0
  665. package/src/templates/colors.hbs +35 -0
  666. package/src/templates/component-colors.hbs +40 -0
  667. package/src/templates/css-color-variables.hbs +22 -0
  668. package/src/templates/dark-colors.hbs +33 -0
  669. package/src/templates/light-colors.hbs +33 -0
  670. package/src/templates/semantic-color-dark.hbs +28 -0
  671. package/src/templates/semantic-color-light.hbs +28 -0
  672. package/src/templates/semantic-color-settings.hbs +38 -0
  673. package/src/tokens/Tokens.test.ts +12 -0
  674. package/src/tokens/tokenImports.js +7 -0
  675. package/src/tsconfig.json +23 -0
  676. package/src/types/declare.d.ts +31 -0
  677. package/src/types/globals.d.ts +5 -0
  678. package/src/utils/clearVars.js +47 -0
  679. package/src/utils/createTokenFilesModule.js +88 -0
  680. package/src/utils/dateUtils.test.ts +174 -0
  681. package/src/utils/dateUtils.ts +102 -0
  682. package/src/utils/enums.ts +721 -0
  683. package/src/utils/generateColorTableData.js +41 -0
  684. package/src/utils/generateScssFromTokens.js +245 -0
  685. package/src/utils/helpers.ts +150 -0
  686. package/src/utils/keyboard.ts +5 -0
  687. package/src/utils/validateIconMapping.js +55 -0
  688. package/src/utils/validations.ts +29 -0
  689. package/src/wc_scss/colors/settings-base.scss +208 -0
  690. package/src/wc_scss/colors/settings-transparencies.scss +54 -0
  691. package/src/wc_scss/colors/settings.scss +1 -0
  692. package/src/wc_scss/generic/global.scss +117 -0
  693. package/src/wc_scss/generic/normalize.scss +422 -0
  694. package/src/wc_scss/icon/settings.scss +16 -0
  695. package/src/wc_scss/path.scss +4 -0
  696. package/src/wc_scss/reset.scss +27 -0
  697. package/src/wc_scss/settings/button-settings.scss +194 -0
  698. package/src/wc_scss/settings/core.scss +133 -0
  699. package/src/wc_scss/settings/focus.scss +9 -0
  700. package/src/wc_scss/settings/form-controls.scss +23 -0
  701. package/src/wc_scss/settings/forms.scss +29 -0
  702. package/src/wc_scss/settings/input.scss +65 -0
  703. package/src/wc_scss/settings/list-item.scss +86 -0
  704. package/src/wc_scss/settings/list.scss +10 -0
  705. package/src/wc_scss/settings/media.scss +116 -0
  706. package/src/wc_scss/settings/overlay.scss +6 -0
  707. package/src/wc_scss/settings/rem.scss +1 -0
  708. package/src/wc_scss/settings/z-index.scss +9 -0
  709. package/src/wc_scss/themes/global--dark.scss +116 -0
  710. package/src/wc_scss/themes/global--light.scss +116 -0
  711. package/src/wc_scss/themes/global--lm.scss +5 -0
  712. package/src/wc_scss/themes/global--md.scss +5 -0
  713. package/src/wc_scss/themes/global--mdv2.scss +187 -0
  714. package/src/wc_scss/tools/functions/core.scss +185 -0
  715. package/src/wc_scss/tools/mixins/avatar.scss +32 -0
  716. package/src/wc_scss/tools/mixins/baseline.scss +71 -0
  717. package/src/wc_scss/tools/mixins/border-radius.scss +26 -0
  718. package/src/wc_scss/tools/mixins/button.scss +256 -0
  719. package/src/wc_scss/tools/mixins/core.scss +204 -0
  720. package/src/wc_scss/tools/mixins/easing.scss +63 -0
  721. package/src/wc_scss/tools/mixins/flex.scss +14 -0
  722. package/src/wc_scss/tools/mixins/focus.scss +35 -0
  723. package/src/wc_scss/tools/mixins/input.scss +155 -0
  724. package/src/wc_scss/tools/mixins/nav-divider.scss +10 -0
  725. package/src/wc_scss/tools/mixins/scrollbar.scss +40 -0
  726. package/src/wc_scss/tools/mixins/spacing.scss +211 -0
  727. package/src/wc_scss/tools/mixins/spinner.scss +38 -0
  728. package/src/wc_scss/typography/mixins.scss +208 -0
  729. package/src/wc_scss/typography/settings.scss +300 -0
  730. package/src/wc_scss/typography/typography.scss +322 -0
  731. package/stats/cssStats.js +17 -0
  732. package/stats/stats-loader.js +23 -0
  733. package/stats/utils.js +5 -0
  734. package/stats/writeFileSyncRecursive.js +20 -0
  735. package/tsconfig.json +13 -0
  736. package/webpack.config.dev.server.ts +27 -0
  737. package/webpack.config.ts +320 -0
  738. package/webpack.plugin.LoadChunks.ts +76 -0
  739. package/dist/assets/fonts/CiscoSansTT-Medium.woff +0 -0
  740. package/dist/assets/fonts/CiscoSansTT-Medium.woff2 +0 -0
  741. package/dist/assets/fonts/CiscoSansTT-MediumOblique.woff +0 -0
  742. package/dist/assets/fonts/CiscoSansTT-MediumOblique.woff2 +0 -0
  743. package/dist/assets/fonts/CiscoSansTTBold.woff +0 -0
  744. package/dist/assets/fonts/CiscoSansTTBold.woff2 +0 -0
  745. package/dist/assets/fonts/CiscoSansTTBoldOblique.woff +0 -0
  746. package/dist/assets/fonts/CiscoSansTTBoldOblique.woff2 +0 -0
  747. package/dist/assets/fonts/CiscoSansTTCondBold.woff +0 -0
  748. package/dist/assets/fonts/CiscoSansTTCondBold.woff2 +0 -0
  749. package/dist/assets/fonts/CiscoSansTTCondRegular.woff +0 -0
  750. package/dist/assets/fonts/CiscoSansTTCondRegular.woff2 +0 -0
  751. package/dist/assets/fonts/CiscoSansTTExtraLight.woff +0 -0
  752. package/dist/assets/fonts/CiscoSansTTExtraLight.woff2 +0 -0
  753. package/dist/assets/fonts/CiscoSansTTExtraLightOblique.woff +0 -0
  754. package/dist/assets/fonts/CiscoSansTTExtraLightOblique.woff2 +0 -0
  755. package/dist/assets/fonts/CiscoSansTTHeavy.woff +0 -0
  756. package/dist/assets/fonts/CiscoSansTTHeavy.woff2 +0 -0
  757. package/dist/assets/fonts/CiscoSansTTHeavyOblique.woff +0 -0
  758. package/dist/assets/fonts/CiscoSansTTHeavyOblique.woff2 +0 -0
  759. package/dist/assets/fonts/CiscoSansTTLight.woff +0 -0
  760. package/dist/assets/fonts/CiscoSansTTLight.woff2 +0 -0
  761. package/dist/assets/fonts/CiscoSansTTLightOblique.woff +0 -0
  762. package/dist/assets/fonts/CiscoSansTTLightOblique.woff2 +0 -0
  763. package/dist/assets/fonts/CiscoSansTTRegular.woff +0 -0
  764. package/dist/assets/fonts/CiscoSansTTRegular.woff2 +0 -0
  765. package/dist/assets/fonts/CiscoSansTTRegularOblique.woff +0 -0
  766. package/dist/assets/fonts/CiscoSansTTRegularOblique.woff2 +0 -0
  767. package/dist/assets/fonts/CiscoSansTTThin.woff +0 -0
  768. package/dist/assets/fonts/CiscoSansTTThin.woff2 +0 -0
  769. package/dist/assets/fonts/CiscoSansTTThinOblique.woff +0 -0
  770. package/dist/assets/fonts/CiscoSansTTThinOblique.woff2 +0 -0
  771. package/dist/assets/fonts/Inter.var.woff2 +0 -0
  772. package/dist/assets/fonts/index.html +0 -18578
  773. package/dist/assets/fonts/momentum-ui-icons.svg +0 -9270
  774. package/dist/assets/fonts/momentum-ui-icons.ttf +0 -0
  775. package/dist/assets/fonts/momentum-ui-icons.woff +0 -0
  776. package/dist/assets/fonts/momentum-ui-icons.woff2 +0 -0
  777. package/dist/assets/icons/fonts/index.html +0 -18578
  778. package/dist/assets/icons/fonts/momentum-ui-icons.svg +0 -9270
  779. package/dist/assets/icons/fonts/momentum-ui-icons.ttf +0 -0
  780. package/dist/assets/icons/fonts/momentum-ui-icons.woff +0 -0
  781. package/dist/assets/icons/fonts/momentum-ui-icons.woff2 +0 -0
  782. package/dist/assets/images/avatar-images/barbara.png +0 -0
  783. package/dist/assets/images/avatar-images/brandon.png +0 -0
  784. package/dist/assets/images/avatar-images/brenda.png +0 -0
  785. package/dist/assets/images/avatar-images/giacomo.png +0 -0
  786. package/dist/assets/images/avatar-images/maria.png +0 -0
  787. package/dist/assets/images/avatar-images/simon.png +0 -0
  788. package/dist/assets/images/cisco/cisco-logo-black.png +0 -0
  789. package/dist/assets/images/cisco/cisco-logo-black.svg +0 -21
  790. package/dist/assets/images/cisco/cisco-logo-blue.png +0 -0
  791. package/dist/assets/images/cisco/cisco-logo-blue.svg +0 -21
  792. package/dist/assets/images/cisco/cisco-logo-white.png +0 -0
  793. package/dist/assets/images/cisco/cisco-logo-white.svg +0 -21
  794. package/dist/assets/images/cisco-webex/lockup/cisco-webex-lockup-black.png +0 -0
  795. package/dist/assets/images/cisco-webex/lockup/cisco-webex-lockup-black.svg +0 -30
  796. package/dist/assets/images/cisco-webex/lockup/cisco-webex-lockup-blue.png +0 -0
  797. package/dist/assets/images/cisco-webex/lockup/cisco-webex-lockup-blue.svg +0 -30
  798. package/dist/assets/images/cisco-webex/lockup/cisco-webex-lockup-white.png +0 -0
  799. package/dist/assets/images/cisco-webex/lockup/cisco-webex-lockup-white.svg +0 -30
  800. package/dist/assets/images/cisco-webex/wordmark/cisco-webex-wordmark-black.png +0 -0
  801. package/dist/assets/images/cisco-webex/wordmark/cisco-webex-wordmark-black.svg +0 -13
  802. package/dist/assets/images/cisco-webex/wordmark/cisco-webex-wordmark-blue.png +0 -0
  803. package/dist/assets/images/cisco-webex/wordmark/cisco-webex-wordmark-blue.svg +0 -13
  804. package/dist/assets/images/cisco-webex/wordmark/cisco-webex-wordmark-white.png +0 -0
  805. package/dist/assets/images/cisco-webex/wordmark/cisco-webex-wordmark-white.svg +0 -13
  806. package/dist/assets/images/flags.png +0 -0
  807. package/dist/assets/images/flags@2x.png +0 -0
  808. package/dist/assets/images/momentum/momentum-color-icon.png +0 -0
  809. package/dist/assets/images/momentum/momentum-color-icon.svg +0 -1
  810. package/dist/assets/images/momentum/momentum-horiz-color-white.png +0 -0
  811. package/dist/assets/images/momentum/momentum-horiz-color.png +0 -0
  812. package/dist/assets/images/momentum/momentum-horiz-color.svg +0 -1
  813. package/dist/assets/images/momentum/momentum-horiz-outline.png +0 -0
  814. package/dist/assets/images/momentum/momentum-horiz-outline.svg +0 -1
  815. package/dist/assets/images/momentum/momentum-outline-icon.png +0 -0
  816. package/dist/assets/images/momentum/momentum-outline-icon.svg +0 -1
  817. package/dist/assets/images/momentum/momentum-vert-color.png +0 -0
  818. package/dist/assets/images/momentum/momentum-vert-color.svg +0 -1
  819. package/dist/assets/images/momentum/momentum-vert-outline.png +0 -0
  820. package/dist/assets/images/momentum/momentum-vert-outline.svg +0 -1
  821. package/dist/assets/images/momentum/momentum.jpg +0 -0
  822. package/dist/assets/images/opacity-bkgd.jpg +0 -0
  823. package/dist/assets/images/webex-calling/calling-icon-color.png +0 -0
  824. package/dist/assets/images/webex-calling/calling-icon-color.svg +0 -14
  825. package/dist/assets/images/webex-calling/calling-icon-white.png +0 -0
  826. package/dist/assets/images/webex-calling/calling-icon-white.svg +0 -13
  827. package/dist/assets/images/webex-calling/calling-with-container-and-label-color.png +0 -0
  828. package/dist/assets/images/webex-calling/calling-with-container-and-label-color.svg +0 -46
  829. package/dist/assets/images/webex-calling/calling-with-container-color.png +0 -0
  830. package/dist/assets/images/webex-calling/calling-with-container-color.svg +0 -19
  831. package/dist/assets/images/webex-calling/calling-with-label-color.png +0 -0
  832. package/dist/assets/images/webex-calling/calling-with-label-color.svg +0 -39
  833. package/dist/assets/images/webex-meetings/meetings-icon-color.png +0 -0
  834. package/dist/assets/images/webex-meetings/meetings-icon-color.svg +0 -15
  835. package/dist/assets/images/webex-meetings/meetings-icon-white.png +0 -0
  836. package/dist/assets/images/webex-meetings/meetings-icon-white.svg +0 -12
  837. package/dist/assets/images/webex-meetings/meetings-with-container-and-label-color.png +0 -0
  838. package/dist/assets/images/webex-meetings/meetings-with-container-and-label-color.svg +0 -29
  839. package/dist/assets/images/webex-meetings/meetings-with-container-color.png +0 -0
  840. package/dist/assets/images/webex-meetings/meetings-with-container-color.svg +0 -16
  841. package/dist/assets/images/webex-meetings/meetings-with-label-color.png +0 -0
  842. package/dist/assets/images/webex-meetings/meetings-with-label-color.svg +0 -28
  843. package/dist/assets/images/webex-teams/teams-icon-color.png +0 -0
  844. package/dist/assets/images/webex-teams/teams-icon-color.svg +0 -18
  845. package/dist/assets/images/webex-teams/teams-icon-white.png +0 -0
  846. package/dist/assets/images/webex-teams/teams-icon-white.svg +0 -12
  847. package/dist/assets/images/webex-teams/teams-with-container-and-label-color.png +0 -0
  848. package/dist/assets/images/webex-teams/teams-with-container-and-label-color.svg +0 -29
  849. package/dist/assets/images/webex-teams/teams-with-container-color.png +0 -0
  850. package/dist/assets/images/webex-teams/teams-with-container-color.svg +0 -19
  851. package/dist/assets/images/webex-teams/teams-with-label-color.png +0 -0
  852. package/dist/assets/images/webex-teams/teams-with-label-color.svg +0 -30
  853. package/dist/assets/styles/momentum-ui-icons.min.css +0 -1
  854. package/dist/assets/styles/momentum-ui.min.css +0 -7
  855. package/dist/assets/styles/momentum-ui.min.css.map +0 -1
  856. package/dist/chunks/md-0.js +0 -1
  857. package/dist/chunks/md-1.js +0 -1
  858. package/dist/chunks/md-10.js +0 -1
  859. package/dist/chunks/md-100.js +0 -1
  860. package/dist/chunks/md-101.js +0 -1
  861. package/dist/chunks/md-102.js +0 -1
  862. package/dist/chunks/md-103.js +0 -1
  863. package/dist/chunks/md-104.js +0 -1
  864. package/dist/chunks/md-105.js +0 -1
  865. package/dist/chunks/md-106.js +0 -1
  866. package/dist/chunks/md-107.js +0 -1
  867. package/dist/chunks/md-108.js +0 -1
  868. package/dist/chunks/md-109.js +0 -1
  869. package/dist/chunks/md-11.js +0 -1
  870. package/dist/chunks/md-110.js +0 -1
  871. package/dist/chunks/md-111.js +0 -1
  872. package/dist/chunks/md-112.js +0 -1
  873. package/dist/chunks/md-113.js +0 -1
  874. package/dist/chunks/md-114.js +0 -1
  875. package/dist/chunks/md-115.js +0 -1
  876. package/dist/chunks/md-116.js +0 -1
  877. package/dist/chunks/md-117.js +0 -1
  878. package/dist/chunks/md-118.js +0 -1
  879. package/dist/chunks/md-119.js +0 -1
  880. package/dist/chunks/md-12.js +0 -1
  881. package/dist/chunks/md-120.js +0 -1
  882. package/dist/chunks/md-121.js +0 -1
  883. package/dist/chunks/md-122.js +0 -1
  884. package/dist/chunks/md-123.js +0 -1
  885. package/dist/chunks/md-124.js +0 -1
  886. package/dist/chunks/md-125.js +0 -1
  887. package/dist/chunks/md-126.js +0 -1
  888. package/dist/chunks/md-127.js +0 -1
  889. package/dist/chunks/md-128.js +0 -1
  890. package/dist/chunks/md-129.js +0 -1
  891. package/dist/chunks/md-13.js +0 -1
  892. package/dist/chunks/md-130.js +0 -1
  893. package/dist/chunks/md-131.js +0 -1
  894. package/dist/chunks/md-132.js +0 -1
  895. package/dist/chunks/md-133.js +0 -1
  896. package/dist/chunks/md-134.js +0 -1
  897. package/dist/chunks/md-135.js +0 -1
  898. package/dist/chunks/md-136.js +0 -1
  899. package/dist/chunks/md-137.js +0 -1
  900. package/dist/chunks/md-138.js +0 -1
  901. package/dist/chunks/md-139.js +0 -1
  902. package/dist/chunks/md-14.js +0 -11
  903. package/dist/chunks/md-140.js +0 -1
  904. package/dist/chunks/md-141.js +0 -1
  905. package/dist/chunks/md-142.js +0 -1
  906. package/dist/chunks/md-143.js +0 -1
  907. package/dist/chunks/md-144.js +0 -1
  908. package/dist/chunks/md-145.js +0 -1
  909. package/dist/chunks/md-146.js +0 -1
  910. package/dist/chunks/md-147.js +0 -1
  911. package/dist/chunks/md-148.js +0 -1
  912. package/dist/chunks/md-149.js +0 -1
  913. package/dist/chunks/md-15.js +0 -9
  914. package/dist/chunks/md-150.js +0 -1
  915. package/dist/chunks/md-151.js +0 -1
  916. package/dist/chunks/md-152.js +0 -1
  917. package/dist/chunks/md-153.js +0 -1
  918. package/dist/chunks/md-154.js +0 -1
  919. package/dist/chunks/md-155.js +0 -1
  920. package/dist/chunks/md-156.js +0 -1
  921. package/dist/chunks/md-157.js +0 -1
  922. package/dist/chunks/md-158.js +0 -1
  923. package/dist/chunks/md-159.js +0 -1
  924. package/dist/chunks/md-16.js +0 -1
  925. package/dist/chunks/md-160.js +0 -1
  926. package/dist/chunks/md-161.js +0 -1
  927. package/dist/chunks/md-162.js +0 -1
  928. package/dist/chunks/md-163.js +0 -1
  929. package/dist/chunks/md-164.js +0 -1
  930. package/dist/chunks/md-165.js +0 -1
  931. package/dist/chunks/md-166.js +0 -1
  932. package/dist/chunks/md-167.js +0 -1
  933. package/dist/chunks/md-168.js +0 -1
  934. package/dist/chunks/md-169.js +0 -1
  935. package/dist/chunks/md-17.js +0 -26
  936. package/dist/chunks/md-170.js +0 -1
  937. package/dist/chunks/md-171.js +0 -1
  938. package/dist/chunks/md-172.js +0 -1
  939. package/dist/chunks/md-173.js +0 -1
  940. package/dist/chunks/md-174.js +0 -1
  941. package/dist/chunks/md-175.js +0 -1
  942. package/dist/chunks/md-176.js +0 -1
  943. package/dist/chunks/md-177.js +0 -1
  944. package/dist/chunks/md-178.js +0 -1
  945. package/dist/chunks/md-179.js +0 -1
  946. package/dist/chunks/md-18.js +0 -124
  947. package/dist/chunks/md-180.js +0 -1
  948. package/dist/chunks/md-181.js +0 -1
  949. package/dist/chunks/md-182.js +0 -1
  950. package/dist/chunks/md-183.js +0 -1
  951. package/dist/chunks/md-184.js +0 -1
  952. package/dist/chunks/md-185.js +0 -1
  953. package/dist/chunks/md-186.js +0 -1
  954. package/dist/chunks/md-187.js +0 -1
  955. package/dist/chunks/md-188.js +0 -1
  956. package/dist/chunks/md-189.js +0 -1
  957. package/dist/chunks/md-19.js +0 -17
  958. package/dist/chunks/md-190.js +0 -1
  959. package/dist/chunks/md-191.js +0 -1
  960. package/dist/chunks/md-192.js +0 -1
  961. package/dist/chunks/md-193.js +0 -1
  962. package/dist/chunks/md-194.js +0 -1
  963. package/dist/chunks/md-195.js +0 -1
  964. package/dist/chunks/md-196.js +0 -1
  965. package/dist/chunks/md-197.js +0 -1
  966. package/dist/chunks/md-198.js +0 -1
  967. package/dist/chunks/md-199.js +0 -1
  968. package/dist/chunks/md-2.js +0 -1
  969. package/dist/chunks/md-20.js +0 -1
  970. package/dist/chunks/md-200.js +0 -1
  971. package/dist/chunks/md-201.js +0 -1
  972. package/dist/chunks/md-202.js +0 -1
  973. package/dist/chunks/md-203.js +0 -1
  974. package/dist/chunks/md-204.js +0 -1
  975. package/dist/chunks/md-205.js +0 -1
  976. package/dist/chunks/md-206.js +0 -1
  977. package/dist/chunks/md-207.js +0 -1
  978. package/dist/chunks/md-208.js +0 -1
  979. package/dist/chunks/md-209.js +0 -1
  980. package/dist/chunks/md-21.js +0 -8
  981. package/dist/chunks/md-210.js +0 -1
  982. package/dist/chunks/md-211.js +0 -1
  983. package/dist/chunks/md-212.js +0 -1
  984. package/dist/chunks/md-213.js +0 -1
  985. package/dist/chunks/md-214.js +0 -1
  986. package/dist/chunks/md-215.js +0 -1
  987. package/dist/chunks/md-216.js +0 -1
  988. package/dist/chunks/md-217.js +0 -1
  989. package/dist/chunks/md-218.js +0 -1
  990. package/dist/chunks/md-219.js +0 -1
  991. package/dist/chunks/md-22.js +0 -23
  992. package/dist/chunks/md-220.js +0 -1
  993. package/dist/chunks/md-221.js +0 -1
  994. package/dist/chunks/md-222.js +0 -1
  995. package/dist/chunks/md-223.js +0 -1
  996. package/dist/chunks/md-224.js +0 -1
  997. package/dist/chunks/md-225.js +0 -1
  998. package/dist/chunks/md-226.js +0 -1
  999. package/dist/chunks/md-227.js +0 -1
  1000. package/dist/chunks/md-228.js +0 -1
  1001. package/dist/chunks/md-229.js +0 -1
  1002. package/dist/chunks/md-23.js +0 -1
  1003. package/dist/chunks/md-230.js +0 -1
  1004. package/dist/chunks/md-231.js +0 -1
  1005. package/dist/chunks/md-232.js +0 -1
  1006. package/dist/chunks/md-233.js +0 -1
  1007. package/dist/chunks/md-234.js +0 -1
  1008. package/dist/chunks/md-235.js +0 -1
  1009. package/dist/chunks/md-236.js +0 -1
  1010. package/dist/chunks/md-237.js +0 -1
  1011. package/dist/chunks/md-238.js +0 -1
  1012. package/dist/chunks/md-239.js +0 -1
  1013. package/dist/chunks/md-24.js +0 -7
  1014. package/dist/chunks/md-240.js +0 -1
  1015. package/dist/chunks/md-241.js +0 -1
  1016. package/dist/chunks/md-242.js +0 -1
  1017. package/dist/chunks/md-243.js +0 -1
  1018. package/dist/chunks/md-244.js +0 -1
  1019. package/dist/chunks/md-245.js +0 -1
  1020. package/dist/chunks/md-246.js +0 -1
  1021. package/dist/chunks/md-247.js +0 -1
  1022. package/dist/chunks/md-248.js +0 -1
  1023. package/dist/chunks/md-249.js +0 -1
  1024. package/dist/chunks/md-25.js +0 -8
  1025. package/dist/chunks/md-250.js +0 -1
  1026. package/dist/chunks/md-251.js +0 -1
  1027. package/dist/chunks/md-252.js +0 -1
  1028. package/dist/chunks/md-253.js +0 -1
  1029. package/dist/chunks/md-254.js +0 -1
  1030. package/dist/chunks/md-255.js +0 -1
  1031. package/dist/chunks/md-256.js +0 -1
  1032. package/dist/chunks/md-257.js +0 -1
  1033. package/dist/chunks/md-258.js +0 -1
  1034. package/dist/chunks/md-259.js +0 -1
  1035. package/dist/chunks/md-26.js +0 -1
  1036. package/dist/chunks/md-260.js +0 -1
  1037. package/dist/chunks/md-261.js +0 -1
  1038. package/dist/chunks/md-262.js +0 -1
  1039. package/dist/chunks/md-263.js +0 -1
  1040. package/dist/chunks/md-264.js +0 -1
  1041. package/dist/chunks/md-265.js +0 -1
  1042. package/dist/chunks/md-266.js +0 -1
  1043. package/dist/chunks/md-267.js +0 -1
  1044. package/dist/chunks/md-268.js +0 -1
  1045. package/dist/chunks/md-269.js +0 -1
  1046. package/dist/chunks/md-27.js +0 -1
  1047. package/dist/chunks/md-270.js +0 -1
  1048. package/dist/chunks/md-271.js +0 -1
  1049. package/dist/chunks/md-272.js +0 -1
  1050. package/dist/chunks/md-273.js +0 -1
  1051. package/dist/chunks/md-274.js +0 -1
  1052. package/dist/chunks/md-275.js +0 -1
  1053. package/dist/chunks/md-276.js +0 -1
  1054. package/dist/chunks/md-277.js +0 -1
  1055. package/dist/chunks/md-278.js +0 -1
  1056. package/dist/chunks/md-279.js +0 -1
  1057. package/dist/chunks/md-28.js +0 -55
  1058. package/dist/chunks/md-280.js +0 -1
  1059. package/dist/chunks/md-281.js +0 -1
  1060. package/dist/chunks/md-282.js +0 -1
  1061. package/dist/chunks/md-283.js +0 -1
  1062. package/dist/chunks/md-29.js +0 -1
  1063. package/dist/chunks/md-3.js +0 -1
  1064. package/dist/chunks/md-30.js +0 -216
  1065. package/dist/chunks/md-31.js +0 -49
  1066. package/dist/chunks/md-32.js +0 -1
  1067. package/dist/chunks/md-33.js +0 -1
  1068. package/dist/chunks/md-34.js +0 -36
  1069. package/dist/chunks/md-35.js +0 -33
  1070. package/dist/chunks/md-36.js +0 -23
  1071. package/dist/chunks/md-37.js +0 -5
  1072. package/dist/chunks/md-38.js +0 -5
  1073. package/dist/chunks/md-39.js +0 -1
  1074. package/dist/chunks/md-4.js +0 -1
  1075. package/dist/chunks/md-40.js +0 -21
  1076. package/dist/chunks/md-41.js +0 -26
  1077. package/dist/chunks/md-42.js +0 -42
  1078. package/dist/chunks/md-43.js +0 -1
  1079. package/dist/chunks/md-44.js +0 -30
  1080. package/dist/chunks/md-45.js +0 -16
  1081. package/dist/chunks/md-46.js +0 -1
  1082. package/dist/chunks/md-47.js +0 -27
  1083. package/dist/chunks/md-48.js +0 -5
  1084. package/dist/chunks/md-49.js +0 -38
  1085. package/dist/chunks/md-5.js +0 -1
  1086. package/dist/chunks/md-50.js +0 -13
  1087. package/dist/chunks/md-51.js +0 -34
  1088. package/dist/chunks/md-52.js +0 -20
  1089. package/dist/chunks/md-53.js +0 -121
  1090. package/dist/chunks/md-54.js +0 -98
  1091. package/dist/chunks/md-55.js +0 -11
  1092. package/dist/chunks/md-56.js +0 -5
  1093. package/dist/chunks/md-57.js +0 -77
  1094. package/dist/chunks/md-58.js +0 -68
  1095. package/dist/chunks/md-59.js +0 -22
  1096. package/dist/chunks/md-6.js +0 -77
  1097. package/dist/chunks/md-60.js +0 -14
  1098. package/dist/chunks/md-61.js +0 -5
  1099. package/dist/chunks/md-62.js +0 -51
  1100. package/dist/chunks/md-63.js +0 -22
  1101. package/dist/chunks/md-64.js +0 -47
  1102. package/dist/chunks/md-65.js +0 -5
  1103. package/dist/chunks/md-66.js +0 -1
  1104. package/dist/chunks/md-67.js +0 -23
  1105. package/dist/chunks/md-68.js +0 -5
  1106. package/dist/chunks/md-69.js +0 -11
  1107. package/dist/chunks/md-7.js +0 -1
  1108. package/dist/chunks/md-70.js +0 -138
  1109. package/dist/chunks/md-71.js +0 -30
  1110. package/dist/chunks/md-72.js +0 -70
  1111. package/dist/chunks/md-73.js +0 -19
  1112. package/dist/chunks/md-74.js +0 -22
  1113. package/dist/chunks/md-75.js +0 -17
  1114. package/dist/chunks/md-76.js +0 -76
  1115. package/dist/chunks/md-77.js +0 -7
  1116. package/dist/chunks/md-78.js +0 -72
  1117. package/dist/chunks/md-79.js +0 -78
  1118. package/dist/chunks/md-8.js +0 -26
  1119. package/dist/chunks/md-80.js +0 -71
  1120. package/dist/chunks/md-81.js +0 -17
  1121. package/dist/chunks/md-82.js +0 -5
  1122. package/dist/chunks/md-83.js +0 -19
  1123. package/dist/chunks/md-84.js +0 -1
  1124. package/dist/chunks/md-85.js +0 -168
  1125. package/dist/chunks/md-86.js +0 -43
  1126. package/dist/chunks/md-87.js +0 -101
  1127. package/dist/chunks/md-88.js +0 -82
  1128. package/dist/chunks/md-89.js +0 -12
  1129. package/dist/chunks/md-9.js +0 -1
  1130. package/dist/chunks/md-90.js +0 -43
  1131. package/dist/chunks/md-91.js +0 -34
  1132. package/dist/chunks/md-92.js +0 -1
  1133. package/dist/chunks/md-93.js +0 -1
  1134. package/dist/chunks/md-94.js +0 -1
  1135. package/dist/chunks/md-95.js +0 -1
  1136. package/dist/chunks/md-96.js +0 -1
  1137. package/dist/chunks/md-97.js +0 -1
  1138. package/dist/chunks/md-98.js +0 -1
  1139. package/dist/chunks/md-99.js +0 -1
  1140. package/dist/comp/md-accordion-entry.js +0 -1
  1141. package/dist/comp/md-accordion-item-entry.js +0 -1
  1142. package/dist/comp/md-accordion-item.js +0 -15
  1143. package/dist/comp/md-accordion.js +0 -11
  1144. package/dist/comp/md-activity-button-entry.js +0 -1
  1145. package/dist/comp/md-activity-button.js +0 -9
  1146. package/dist/comp/md-advance-list-entry.js +0 -1
  1147. package/dist/comp/md-advance-list.js +0 -7
  1148. package/dist/comp/md-alert-banner-entry.js +0 -1
  1149. package/dist/comp/md-alert-banner.js +0 -9
  1150. package/dist/comp/md-alert-entry.js +0 -1
  1151. package/dist/comp/md-alert.js +0 -10
  1152. package/dist/comp/md-audio-player-entry.js +0 -1
  1153. package/dist/comp/md-audio-player.js +0 -17
  1154. package/dist/comp/md-avatar-entry.js +0 -1
  1155. package/dist/comp/md-avatar.js +0 -11
  1156. package/dist/comp/md-badge-entry.js +0 -1
  1157. package/dist/comp/md-badge.js +0 -4
  1158. package/dist/comp/md-breadcrumb-entry.js +0 -1
  1159. package/dist/comp/md-breadcrumb.js +0 -4
  1160. package/dist/comp/md-button-entry.js +0 -1
  1161. package/dist/comp/md-button-group-entry.js +0 -1
  1162. package/dist/comp/md-button-group.js +0 -10
  1163. package/dist/comp/md-button.js +0 -6
  1164. package/dist/comp/md-card-ai-entry.js +0 -1
  1165. package/dist/comp/md-card-ai.js +0 -9
  1166. package/dist/comp/md-card-entry.js +0 -1
  1167. package/dist/comp/md-card.js +0 -23
  1168. package/dist/comp/md-chat-message-entry.js +0 -1
  1169. package/dist/comp/md-chat-message.js +0 -12
  1170. package/dist/comp/md-checkbox-entry.js +0 -1
  1171. package/dist/comp/md-checkbox.js +0 -11
  1172. package/dist/comp/md-checkboxgroup-entry.js +0 -1
  1173. package/dist/comp/md-checkboxgroup.js +0 -11
  1174. package/dist/comp/md-chip-entry.js +0 -1
  1175. package/dist/comp/md-chip.js +0 -18
  1176. package/dist/comp/md-coachmark-entry.js +0 -1
  1177. package/dist/comp/md-coachmark-popover-entry.js +0 -1
  1178. package/dist/comp/md-coachmark-popover.js +0 -15
  1179. package/dist/comp/md-coachmark.js +0 -13
  1180. package/dist/comp/md-combobox-entry.js +0 -1
  1181. package/dist/comp/md-combobox.js +0 -17
  1182. package/dist/comp/md-composite-avatar-entry.js +0 -1
  1183. package/dist/comp/md-composite-avatar.js +0 -5
  1184. package/dist/comp/md-date-range-picker-entry.js +0 -1
  1185. package/dist/comp/md-date-range-picker.js +0 -25
  1186. package/dist/comp/md-date-time-picker-entry.js +0 -1
  1187. package/dist/comp/md-date-time-picker.js +0 -19
  1188. package/dist/comp/md-datepicker-calendar-entry.js +0 -1
  1189. package/dist/comp/md-datepicker-calendar.js +0 -14
  1190. package/dist/comp/md-datepicker-day-entry.js +0 -1
  1191. package/dist/comp/md-datepicker-day.js +0 -9
  1192. package/dist/comp/md-datepicker-entry.js +0 -1
  1193. package/dist/comp/md-datepicker-month-entry.js +0 -1
  1194. package/dist/comp/md-datepicker-month.js +0 -11
  1195. package/dist/comp/md-datepicker-week-entry.js +0 -1
  1196. package/dist/comp/md-datepicker-week.js +0 -10
  1197. package/dist/comp/md-datepicker.js +0 -24
  1198. package/dist/comp/md-draggable-entry.js +0 -1
  1199. package/dist/comp/md-draggable-item-entry.js +0 -1
  1200. package/dist/comp/md-draggable-item.js +0 -11
  1201. package/dist/comp/md-draggable.js +0 -12
  1202. package/dist/comp/md-dropdown-entry.js +0 -1
  1203. package/dist/comp/md-dropdown.js +0 -15
  1204. package/dist/comp/md-editable-field-entry.js +0 -1
  1205. package/dist/comp/md-editable-field.js +0 -15
  1206. package/dist/comp/md-favorite-entry.js +0 -1
  1207. package/dist/comp/md-favorite.js +0 -14
  1208. package/dist/comp/md-floating-minimize-entry.js +0 -1
  1209. package/dist/comp/md-floating-minimize.js +0 -15
  1210. package/dist/comp/md-floating-modal-entry.js +0 -1
  1211. package/dist/comp/md-floating-modal.js +0 -16
  1212. package/dist/comp/md-form-entry.js +0 -1
  1213. package/dist/comp/md-form.js +0 -9
  1214. package/dist/comp/md-grabber-entry.js +0 -1
  1215. package/dist/comp/md-grabber.js +0 -14
  1216. package/dist/comp/md-help-text-entry.js +0 -1
  1217. package/dist/comp/md-help-text.js +0 -4
  1218. package/dist/comp/md-icon-entry.js +0 -1
  1219. package/dist/comp/md-icon.js +0 -8
  1220. package/dist/comp/md-inpu.js +0 -12
  1221. package/dist/comp/md-input-entry.js +0 -1
  1222. package/dist/comp/md-input-file.js +0 -1
  1223. package/dist/comp/md-input.js +0 -13
  1224. package/dist/comp/md-label-entry.js +0 -1
  1225. package/dist/comp/md-label.js +0 -4
  1226. package/dist/comp/md-link-entry.js +0 -1
  1227. package/dist/comp/md-link.js +0 -4
  1228. package/dist/comp/md-list-entry.js +0 -1
  1229. package/dist/comp/md-list-item-entry.js +0 -1
  1230. package/dist/comp/md-list-item.js +0 -11
  1231. package/dist/comp/md-list.js +0 -11
  1232. package/dist/comp/md-loading-entry.js +0 -1
  1233. package/dist/comp/md-loading.js +0 -4
  1234. package/dist/comp/md-meeting-alert-entry.js +0 -1
  1235. package/dist/comp/md-meeting-alert.js +0 -12
  1236. package/dist/comp/md-menu-entry.js +0 -1
  1237. package/dist/comp/md-menu-item-entry.js +0 -1
  1238. package/dist/comp/md-menu-item.js +0 -4
  1239. package/dist/comp/md-menu-overlay-entry.js +0 -1
  1240. package/dist/comp/md-menu-overlay.js +0 -9
  1241. package/dist/comp/md-menu.js +0 -8
  1242. package/dist/comp/md-modal-entry.js +0 -1
  1243. package/dist/comp/md-modal.js +0 -14
  1244. package/dist/comp/md-pagination-entry.js +0 -1
  1245. package/dist/comp/md-pagination.js +0 -9
  1246. package/dist/comp/md-phone-input-entry.js +0 -1
  1247. package/dist/comp/md-phone-input.js +0 -20
  1248. package/dist/comp/md-popover-entry.js +0 -1
  1249. package/dist/comp/md-popover.js +0 -14
  1250. package/dist/comp/md-progress-bar-entry.js +0 -1
  1251. package/dist/comp/md-progress-bar.js +0 -4
  1252. package/dist/comp/md-radio-entry.js +0 -1
  1253. package/dist/comp/md-radio.js +0 -11
  1254. package/dist/comp/md-radiogroup-entry.js +0 -1
  1255. package/dist/comp/md-radiogroup.js +0 -11
  1256. package/dist/comp/md-slider-entry.js +0 -1
  1257. package/dist/comp/md-slider.js +0 -10
  1258. package/dist/comp/md-spinner-entry.js +0 -1
  1259. package/dist/comp/md-spinner.js +0 -4
  1260. package/dist/comp/md-tab-entry.js +0 -1
  1261. package/dist/comp/md-tab-panel-entry.js +0 -1
  1262. package/dist/comp/md-tab-panel.js +0 -11
  1263. package/dist/comp/md-tab.js +0 -11
  1264. package/dist/comp/md-table-advanced-entry.js +0 -1
  1265. package/dist/comp/md-table-advanced.js +0 -15
  1266. package/dist/comp/md-table-entry.js +0 -1
  1267. package/dist/comp/md-table.js +0 -9
  1268. package/dist/comp/md-tabs-entry.js +0 -1
  1269. package/dist/comp/md-tabs.js +0 -20
  1270. package/dist/comp/md-task-item-entry.js +0 -1
  1271. package/dist/comp/md-task-item.js +0 -10
  1272. package/dist/comp/md-theme-entry.js +0 -1
  1273. package/dist/comp/md-theme.js +0 -4
  1274. package/dist/comp/md-timepicker-entry.js +0 -1
  1275. package/dist/comp/md-timepicker.js +0 -22
  1276. package/dist/comp/md-toggle-switch-entry.js +0 -1
  1277. package/dist/comp/md-toggle-switch.js +0 -11
  1278. package/dist/comp/md-tooltip-entry.js +0 -1
  1279. package/dist/comp/md-tooltip.js +0 -12
  1280. package/dist/index-entry.js +0 -34
  1281. package/dist/index.js +0 -94
  1282. package/dist/managers/thememanager-entry.js +0 -1
  1283. package/dist/managers/thememanager.js +0 -2
  1284. package/dist/types/components/accordion/Accordion.d.ts +0 -32
  1285. package/dist/types/components/accordion/AccordionItem.d.ts +0 -41
  1286. package/dist/types/components/activity-button/ActivityButton.d.ts +0 -41
  1287. package/dist/types/components/advance-list/AdvanceList.d.ts +0 -46
  1288. package/dist/types/components/alert/Alert.d.ts +0 -59
  1289. package/dist/types/components/alert-banner/AlertBanner.d.ts +0 -29
  1290. package/dist/types/components/audio-player/AudioPlayer.d.ts +0 -112
  1291. package/dist/types/components/avatar/Avatar.constants.d.ts +0 -4
  1292. package/dist/types/components/avatar/Avatar.d.ts +0 -69
  1293. package/dist/types/components/avatar/CompositeAvatar.d.ts +0 -25
  1294. package/dist/types/components/avatar/Presence.d.ts +0 -19
  1295. package/dist/types/components/avatar/Presence.utils.d.ts +0 -7
  1296. package/dist/types/components/badge/Badge.d.ts +0 -38
  1297. package/dist/types/components/breadcrumb/Breadcrumb.d.ts +0 -24
  1298. package/dist/types/components/button/Button.d.ts +0 -115
  1299. package/dist/types/components/button-group/ButtonGroup.d.ts +0 -45
  1300. package/dist/types/components/card/Card.d.ts +0 -37
  1301. package/dist/types/components/card-ai/CardAi.d.ts +0 -45
  1302. package/dist/types/components/chat-message/ChatMessage.d.ts +0 -18
  1303. package/dist/types/components/checkbox/Checkbox.d.ts +0 -44
  1304. package/dist/types/components/checkbox/CheckboxGroup.d.ts +0 -29
  1305. package/dist/types/components/chip/Chip.d.ts +0 -67
  1306. package/dist/types/components/coachmark/Coachmark.d.ts +0 -46
  1307. package/dist/types/components/coachmark-popover/CoachmarkPopover.d.ts +0 -211
  1308. package/dist/types/components/code-editor/CodeEditor.d.ts +0 -40
  1309. package/dist/types/components/combobox/ComboBox.d.ts +0 -227
  1310. package/dist/types/components/date-range-picker/DateRangePicker.d.ts +0 -28
  1311. package/dist/types/components/date-time-picker/DateTimePicker.d.ts +0 -45
  1312. package/dist/types/components/datepicker/DatePicker.d.ts +0 -58
  1313. package/dist/types/components/datepicker/datepicker-calendar/DatePickerCalendar.d.ts +0 -39
  1314. package/dist/types/components/datepicker/datepicker-day/DatePickerDay.d.ts +0 -56
  1315. package/dist/types/components/datepicker/datepicker-month/DatePickerMonth.d.ts +0 -26
  1316. package/dist/types/components/datepicker/datepicker-week/DatePickerWeek.d.ts +0 -27
  1317. package/dist/types/components/draggable/Draggable.d.ts +0 -62
  1318. package/dist/types/components/draggable/DraggableItem.d.ts +0 -29
  1319. package/dist/types/components/dropdown/Dropdown.d.ts +0 -154
  1320. package/dist/types/components/editable-textfield/EditableTextfield.d.ts +0 -53
  1321. package/dist/types/components/favorite/Favorite.d.ts +0 -36
  1322. package/dist/types/components/floating-modal/FloatingMinimizedModal.d.ts +0 -53
  1323. package/dist/types/components/floating-modal/FloatingModal.d.ts +0 -70
  1324. package/dist/types/components/form/Form.d.ts +0 -49
  1325. package/dist/types/components/grabber/Grabber.d.ts +0 -87
  1326. package/dist/types/components/help-text/HelpText.d.ts +0 -28
  1327. package/dist/types/components/icon/Icon.d.ts +0 -197
  1328. package/dist/types/components/input/Input.d.ts +0 -139
  1329. package/dist/types/components/input-file/InputFile.d.ts +0 -25
  1330. package/dist/types/components/label/Label.d.ts +0 -43
  1331. package/dist/types/components/link/Link.d.ts +0 -36
  1332. package/dist/types/components/list/List.d.ts +0 -47
  1333. package/dist/types/components/list/ListItem.d.ts +0 -26
  1334. package/dist/types/components/loading/Loading.d.ts +0 -24
  1335. package/dist/types/components/meeting-alert/CompositeAvatar.d.ts +0 -1
  1336. package/dist/types/components/meeting-alert/MeetingAlert.d.ts +0 -46
  1337. package/dist/types/components/menu/Menu.d.ts +0 -46
  1338. package/dist/types/components/menu/MenuItem.d.ts +0 -46
  1339. package/dist/types/components/menu-overlay/MenuOverlay.d.ts +0 -81
  1340. package/dist/types/components/modal/Modal.d.ts +0 -74
  1341. package/dist/types/components/pagination/Pagination.d.ts +0 -33
  1342. package/dist/types/components/phone-input/PhoneInput.d.ts +0 -72
  1343. package/dist/types/components/popover/Popover.d.ts +0 -184
  1344. package/dist/types/components/popover/Popover.types.d.ts +0 -8
  1345. package/dist/types/components/progress-bar/ProgressBar.d.ts +0 -35
  1346. package/dist/types/components/radio/Radio.d.ts +0 -33
  1347. package/dist/types/components/radio/RadioGroup.d.ts +0 -43
  1348. package/dist/types/components/sass-stats/SassStats.d.ts +0 -29
  1349. package/dist/types/components/slider/Slider.d.ts +0 -47
  1350. package/dist/types/components/spinner/Spinner.d.ts +0 -24
  1351. package/dist/types/components/table/Table.d.ts +0 -57
  1352. package/dist/types/components/table-advanced/TableAdvanced.d.ts +0 -169
  1353. package/dist/types/components/table-advanced/src/decorators.d.ts +0 -32
  1354. package/dist/types/components/table-advanced/src/filter.d.ts +0 -25
  1355. package/dist/types/components/tabs/Tab.d.ts +0 -65
  1356. package/dist/types/components/tabs/TabPanel.d.ts +0 -25
  1357. package/dist/types/components/tabs/Tabs.d.ts +0 -128
  1358. package/dist/types/components/taskitem/TaskItem.d.ts +0 -54
  1359. package/dist/types/components/theme/Theme.d.ts +0 -89
  1360. package/dist/types/components/theme/index.d.ts +0 -7
  1361. package/dist/types/components/timepicker/TimePicker.d.ts +0 -50
  1362. package/dist/types/components/toggle-switch/ToggleSwitch.d.ts +0 -39
  1363. package/dist/types/components/tooltip/Tooltip.d.ts +0 -56
  1364. package/dist/types/constants.d.ts +0 -39
  1365. package/dist/types/index.d.ts +0 -79
  1366. package/dist/types/internal-components/color-table/ColorTable.d.ts +0 -9
  1367. package/dist/types/internal-components/color-table/data.d.ts +0 -551
  1368. package/dist/types/internal-components/color-table/utils.d.ts +0 -1
  1369. package/dist/types/managers/ThemeManager.d.ts +0 -41
  1370. package/dist/types/mixins/CustomElementCheck.d.ts +0 -1
  1371. package/dist/types/mixins/DedupeMixin.d.ts +0 -28
  1372. package/dist/types/mixins/FocusMixin.d.ts +0 -44
  1373. package/dist/types/mixins/FocusTrapMixin.d.ts +0 -19
  1374. package/dist/types/mixins/ResizeMixin.d.ts +0 -52
  1375. package/dist/types/mixins/RovingTabIndexMixin.d.ts +0 -31
  1376. package/dist/types/mixins/SlottedMixin.d.ts +0 -43
  1377. package/dist/types/mixins/index.d.ts +0 -14
  1378. package/dist/types/utils/dateUtils.d.ts +0 -31
  1379. package/dist/types/utils/enums.d.ts +0 -18
  1380. package/dist/types/utils/helpers.d.ts +0 -17
  1381. package/dist/types/utils/keyboard.d.ts +0 -1
  1382. package/dist/types/utils/validations.d.ts +0 -25
  1383. package/dist/types/wc_scss/colors/vars/color-table-data-string.d.ts +0 -1
  1384. /package/{dist → src}/assets/styles/fonts.css +0 -0
@@ -0,0 +1,102 @@
1
+ # Usage With Angular (11)
2
+
3
+ The following walk-through uses angular-cli my-app to quick start a simple usage scenario. Please read through, and adapt for your project's specific needs.
4
+
5
+ ### Create-react-app
6
+ First and foremost, follow the instructions in order to get the angular my-app running locally.
7
+ <https://angular.io/guide/setup-local>
8
+ 1. `npm install -g @angular/cli`
9
+ 2. `ng new my-app`
10
+ 3. `cd my-app`
11
+ 4. `ng serve --open`
12
+
13
+ ### Include Required Dependencies in package.json
14
+ ##### In package.json (`create-react-app/my-app/package.json`)
15
+ Add peerDependencies & devDependencies to match the following: <br>
16
+ <sub>*Note: at this point, only version `2.1.5-dev` works for "@momentum-ui/web-components" within an angular application.*</sub>
17
+ ```json
18
+ "peerDependencies": {
19
+ "@momentum-ui/core": "^19.9.12",
20
+ "@momentum-ui/icons": "^7.54.0",
21
+ "@momentum-ui/tokens": "^1.5.0",
22
+ "@momentum-ui/utils": "^6.2.7",
23
+ "@momentum-ui/web-components": "2.1.5-dev",
24
+ "lit-element": "^2.3.1",
25
+ "lit-html": "^1.2.1"
26
+ },
27
+ ```
28
+
29
+ and add these to the `devDependencies`:
30
+
31
+ ```json
32
+ "@momentum-ui/core": "^19.9.12",
33
+ "@momentum-ui/icons": "^7.54.0",
34
+ "@momentum-ui/tokens": "^1.5.0",
35
+ "@momentum-ui/utils": "^6.2.7",
36
+ "@momentum-ui/web-components": "2.1.5-dev",
37
+ "lit-element": "2.3.1",
38
+ "lit-html": "1.2.1",
39
+ ```
40
+ <sub>*The changes to scripts commands enable the following Webpack modifications to be run within the Create React App environment. <br> The addition of `jest` as a resolution is important for tests to run*</sub>
41
+
42
+ ### Add CUSTOM_ELEMENTS_SCHEMA
43
+ ##### In app.module.ts (`my-app/src/app/app.module.ts`)
44
+ Update the file to match the following (line 1 and line 15 changed):
45
+ ```javascript=
46
+ import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
47
+ import { BrowserModule } from '@angular/platform-browser';
48
+
49
+ import { AppComponent } from './app.component';
50
+
51
+ @NgModule({
52
+ declarations: [
53
+ AppComponent
54
+ ],
55
+ imports: [
56
+ BrowserModule
57
+ ],
58
+ providers: [],
59
+ bootstrap: [AppComponent],
60
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
61
+ })
62
+ export class AppModule { }
63
+ ```
64
+
65
+ ### Modify tsconfig.json
66
+ ##### In tsconfig.json (`my-app/tsconfig.json`)
67
+ Set esModuleInterop to true under compilerOptions
68
+ ```json
69
+ "compilerOptions": {
70
+ "esModuleInterop": true,
71
+ ```
72
+
73
+ ### Add a Web Components to your Project
74
+ 1. Add the following import:
75
+ ##### In app.component.ts (`my-app/src/app/app.component.ts`)
76
+ ```js
77
+ import '@momentum-ui/web-components';
78
+ ```
79
+ OR import each individual web component
80
+ ```js
81
+ import '@momentum-ui/web-components/dist/comp/md-button';
82
+ import '@momentum-ui/web-components/dist/comp/md-icon';
83
+ ```
84
+ <sub>*NOTE: You only need to import the web-components module at the top level of your application in order to use web components anywhere throughout.*
85
+ </sub>
86
+
87
+ 2. Insert the following sample web component for testing purposes:
88
+ ##### In app.component.html (`my-app/src/app/app.component.html`)
89
+ ```html
90
+ <md-theme>
91
+ <md-button variant="green"><md-icon slot="icon" name="play_16"></md-icon><span slot="text">Code On!</span></md-button>
92
+ </md-theme>
93
+ ```
94
+ <sub>*NOTE: You must wrap your application with the `<md-theme>` element. It provides a set of core style resets and CSS custom variables that provide Theme color tokens, among other things. You can test these by toggling attributes `lumos` and/or `darkTheme` on the `<md-theme>` element.*
95
+ </sub>
96
+
97
+ ##### Now it is time to get your app running locally! <br>
98
+ (within `my-app` directory)
99
+
100
+ 1. `yarn` installs all dependencies.
101
+ 2. `yarn build` copies the required static assets for fonts and icons.
102
+ 3. `yarn start` launches project locally.
@@ -0,0 +1,44 @@
1
+ # Contributing to Momentum UI Web Components
2
+
3
+ Thank you for contributing to this library! This is a guide to properly connect your new component's modularized styles to utilize the efficiency and Shadow DOM support of Constructable Stylesheets.
4
+
5
+ ## IMPORTING EXISTING STYLES TO WEB COMPONENT
6
+
7
+ Most components have existing style modules that were carried over from the Momentum Core SMACSS library. While they can be used directly with minimal setup, as we work on setting up Lumos and Web Component specific style changes, these steps will lead to a successful migration and refactor of styles in to our own SCSS library.
8
+
9
+ 1. Create a `scss` folder in the component's directory.
10
+ 2. If available, copy over the `module.scss`, `component-name.scss`, `mixins.scss` and `settings.scss` found in `src/momentum_scss/components/component-name/`, and paste them to `src/components/component-name/scss`.
11
+ 3. Inside your `ComponentName.ts` file, import the scss file: `import styles from "./scss/module.scss";`
12
+ 4. Check the `@import` paths in `module.scss` to ensure successful compilation of styles.
13
+ 5. Webpack will compile the CSS for you, but in order to adopt the styles into your component, place this LitElement function before `render()` :
14
+
15
+ ```javascript
16
+ static get styles():
17
+ return [styles]
18
+ }
19
+ ```
20
+
21
+ ### USING COMMON RESETS TO SOLVE SHADOW DOM ISSUES
22
+
23
+ In many cases, particularly within components whose child elements need box-position and typography styles, it is necessary to also adopt the basic normalize and reset styles provided by Momentum. Because styles cannot cross into new Shadow Roots, this needs to be done on most components.
24
+
25
+ 1. Import the reset styles from `src/assets/styles/reset.scss`
26
+ 2. Add it to the start of the `CSSResultArray` in `getStyles()`, adopting them before others.
27
+
28
+ ```javascript
29
+ static get styles():
30
+ return [reset, styles]
31
+ }
32
+ ```
33
+
34
+ ### EDITING AND ADDING NEW STYLES TO COMPONENTS
35
+
36
+ By linking to the `momentum_scss` library we are referring to the legacy rulesets that render the older Momentum design look and is optomized for React applications.
37
+
38
+ New Lumos style updates will take place in the styles made local to the component files themselves, moving away from the convention of keeping component style markup inside the SMACSS library, and only keeping global settings and shared styles there.
39
+
40
+ 1. Begin edits within `component-name.scss`, and do not write any styles to `module.scss`. Find and replace selectors that rely upon old Momentum scss variables, for example `%#{button-class}` should become `.md-button`, making the code easier to read. Check existing style definitions and styles that do not exist in Lumos. For any new style you write, find existing selectors and style decorations to edit, and avoid writing overrides.
41
+ 2. If any mixins associated with the component are never used, delete them from the local `mixins.scss` file. If a `settings.scss` file is present, remove unused and legacy variables that are not applicable to Lumos.
42
+ 3. Once component-specific modules are edited, remove the `@import`s of global scss modules from `momentum_scss` and replace with imports from `wc_scss`. Best practice is to have `yarn start` running and following the compile errors that appear in the console to identify the modules that have the right dependencies.
43
+ 4. If a scss module is not yet present in the `wc_scss` directory, copy it over from the `momentum_scss` following the familiar file structure, taking a moment to inspect it for irellevant legacy code, repition, or other bloat you can confidently delete.
44
+ 5. Once the `module.scss` file compiles successfully with the minimal imports needed, your component should render correctly with you new styles, and no longer depend on legacy style from the momentum_scss library!
package/CHANGELOG.md ADDED
@@ -0,0 +1,23 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [2.9.0] - 2024-03-08
6
+
7
+ ### Commits
8
+
9
+ - 973880b7f 2024-03-05 niti-owner: feat: Renamed role to ariaRole property (#1557)
10
+ - 857a8615a 2024-03-04 Ruchi Priya: CX-10203 : fix(accessibility): correct dialog label for station credential (#1555)
11
+ - a5ad95c2b 2024-03-01 Mithun.S: fix(accesibility): sortable table acessibility fix (#1554)
12
+ - 51d251c13 2024-02-29 Ruchi Priya: fix(accessibilty): visual headings not announced as heading (#1550)
13
+ - 4436c7072 2024-02-27 niti-owner: #feat: added arai label and role property for link component (#1551)
14
+ - c2a4657a0 2024-02-27 Vinit Kumar: Added Error message in aria label based on props (#1548)
15
+
16
+ ### Updates
17
+
18
+ - Renamed property role to ariaRole in md-link. (#1557)
19
+ - Made ariaDescription Optional in md-modal. (#1555)
20
+ - Accessibility fix in md-table-advanced on Sortable button (#1554)
21
+ - Convert md-modal header from span to H2 (#1550)
22
+ - Added role and ariaLabel in md-link (#1551)
23
+ - Added id property in md-phone-input (#1548)
@@ -0,0 +1,56 @@
1
+
2
+ # Contributing
3
+
4
+ We'd love for you to contribute to our source code and to make Momentum UI Web Component library even better than it is today! Below are the guidelines to follow.
5
+
6
+ ## Keep in touch with the team
7
+
8
+ Either you are internal to Cisco or not, feel free to reach out to the repository admins to be added to the `Momentum UI Web Components Q&A` Webex Teams space. You will be able to ask questions, follow discussions and make sure more folks get to take a look at your PR by posting a link.
9
+
10
+ ## Adding new components
11
+
12
+ If you wand to add new component to `src/components`:
13
+
14
+ 1. Use unique html tag with `md-` prefix
15
+ 2. To register custom element, use `@customElementWithCheck("md-my-comp")` decorator instead of `@customElement("md-my-comp")` from "lit-element" framework
16
+
17
+ **Note**: `customElementWithCheck` will not throw error if "custom element" name is already registered by another component, so please make sure your new component name, e.g. `"md-my-comp"`, is not already being used by another component in this library.
18
+
19
+ 3. Wrap your component in a unique namespace, e.g.:
20
+ ```ts
21
+ export namespace Avatar {
22
+ export type Type = typeof AvatarType[number];
23
+
24
+ export type Size = typeof AvatarSize[number];
25
+
26
+ @customElementWithCheck("md-avatar")
27
+ export class ELEMENT extends LitElement {
28
+ ...
29
+ }
30
+
31
+ declare global {
32
+ interface HTMLElementTagNameMap {
33
+ "md-avatar": Avatar.ELEMENT;
34
+ }
35
+ }
36
+ ```
37
+ Make sure all component related types are defined withing the namespace scope. This way, they will be accessible to the library consumer when used in TypeScript environment.
38
+
39
+ 4. Keep in mind that we are supporting multiple themes that build on top of default Momentum CSS. This is manifested through the use of **Style Tokens** - you can find reference material in [Applying Styles](./APPLYING_STYLES.md).
40
+ 5. Last, but not least, make sure to:
41
+ * Add Unit Test coverage to new and existing components to maintain at least 80% coverage (We strive for at least 90%);
42
+ * Add Storybook component representation for each new component, as well as make sure to add any new feature to the existing component's Storybook `*.stories.ts` file.
43
+ ---
44
+ ### New component only
45
+ We are using webpack chunk split functionality to minimize footprint of our library importing.
46
+ So you must register your component as a new chunk.
47
+ <br/>
48
+ Please add entry and path to component source in `webpack.config.ts`:
49
+ ```js
50
+ "comp/md-my-comp-entry": "./src/components/my-comp/MyComp",
51
+ ```
52
+ to `commonDist.entry` section.
53
+
54
+
55
+
56
+
package/REACT_USAGE.md ADDED
@@ -0,0 +1,145 @@
1
+ # Usage With React
2
+
3
+ The following walk-through uses create-react-app to quick start a simple usage scenario. Please read through, and adapt for your project's specific needs.
4
+
5
+ ### Create-react-app
6
+ First and foremost, follow the instructions in order to get the create-react-app running locally.
7
+ <https://github.com/facebook/create-react-app>
8
+ 1. `git clone https://github.com/facebook/create-react-app.git`
9
+ 2. `cd create-react-app`
10
+ 3. `yarn create react-app my-app`
11
+ 4. `cd my-app`
12
+ 5. `yarn start`
13
+
14
+ ### Include Required Dependencies in package.json
15
+ ##### In package.json (`create-react-app/my-app/package.json`)
16
+ Add resolutions & devDependencies, then modify the scripts section to match the following: <br>
17
+ ```json
18
+ "resolutions": {
19
+ "lit-element": "2.3.1",
20
+ "lit-html": "1.2.1",
21
+ "jest": "26.6.0"
22
+ },
23
+ "devDependencies": {
24
+ "@momentum-ui/core": "^19.9.12",
25
+ "@momentum-ui/icons": "^7.54.0",
26
+ "@momentum-ui/tokens": "^1.5.0",
27
+ "@momentum-ui/utils": "^6.2.7",
28
+ "@momentum-ui/web-components": "2.1.2",
29
+ "copy-webpack-plugin": "^6.3.2",
30
+ "lit-element": "2.3.1",
31
+ "lit-html": "1.2.1",
32
+ "react-app-rewired": "^2.1.8"
33
+ },
34
+ "scripts": {
35
+ "start": "react-app-rewired start",
36
+ "build": "react-app-rewired build",
37
+ "test": "react-app-rewired test",
38
+ "eject": "react-scripts eject"
39
+ },
40
+ ```
41
+ <sub>*The changes to scripts commands enable the following Webpack modifications to be run within the Create React App environment. <br> The addition of `jest` as a resolution is important for tests to run*</sub>
42
+
43
+ ### Copy Static Assets & Configure Jest for Testing
44
+ Momentum Web Components use Cisco fonts and Icon fonts that must be served within the project. This Webpack ammendment copies those resources from the installed dependencies (`node_modules`) to the `public` directory. In addition, the jest config override ensures tests run successfully with the addition of web components.
45
+ ##### Create config-overrides.js (`create-react-app/my-app/config-overrides.js`)
46
+ Copy the following code below:
47
+ ```js
48
+ const CopyWebpackPlugin = require('copy-webpack-plugin');
49
+ const path = require('path');
50
+
51
+ const hoistedModules = path.resolve("node_modules");
52
+ const pPublic = path.resolve('public');
53
+
54
+ module.exports = {
55
+ webpack: (config, env) => {
56
+ if (!config.plugins) {
57
+ config.plugins = [];
58
+ }
59
+
60
+ const copyWebpackPlugin = new CopyWebpackPlugin({
61
+ patterns: [
62
+ {
63
+ from: `${hoistedModules}/@momentum-ui/core/fonts`,
64
+ to: `${pPublic}/fonts`,
65
+ },
66
+
67
+ {
68
+ from: `${hoistedModules}/@momentum-ui/icons/fonts`,
69
+ to: `${pPublic}/fonts`,
70
+ },
71
+
72
+ {
73
+ from: `${hoistedModules}/@momentum-ui/web-components/dist/assets/styles`,
74
+ to: `${pPublic}/css`,
75
+ },
76
+
77
+ {
78
+ from: `${hoistedModules}/@momentum-ui/icons/css/momentum-ui-icons.min.css`,
79
+ to: `${pPublic}/css`,
80
+ },
81
+ ],
82
+ });
83
+
84
+ config.plugins.push(copyWebpackPlugin);
85
+ return config;
86
+ },
87
+
88
+ jest: (config) => {
89
+ config.transformIgnorePatterns = [
90
+ "[/\\\\]node_modules/\\\\.+\\.(js|jsx|ts|tsx)$",
91
+ "^.+\\.module\\.(css|sass|scss)$"
92
+ ];
93
+ return config;
94
+ }
95
+ }
96
+ ```
97
+ <sub>*After you run `yarn build`, this webpack modification will have generated two directories within the `Public` directory: `css` & `fonts`*
98
+ </sub>
99
+
100
+ ### Link Bundled CSS Files in index.html
101
+ ##### In index.html (`create-react-app/my-app/public/index.html`)
102
+ Add the following lines:
103
+ ```html
104
+ <link rel="stylesheet" type="text/css" href="%PUBLIC_URL%/css/momentum-ui.min.css">
105
+ <link rel="stylesheet" type="text/css" href="%PUBLIC_URL%/css/momentum-ui-icons.min.css">
106
+ ```
107
+ <sub>*This `%PUBLIC_URL%` references the public directory that now contains all required static assets (fonts, icons).*</sub> <br>
108
+ <sub><https://create-react-app.dev/docs/using-the-public-folder/></sub>
109
+
110
+ ### Add a Web Components to your Project
111
+ ##### In App.js (`create-react-app/my-app/src/App.js`)
112
+ 1. Add the following import:
113
+ ```js
114
+ import '@momentum-ui/web-components';
115
+ ```
116
+ OR import each individual web component
117
+ ```js
118
+ import '@momentum-ui/web-components/dist/comp/md-button';
119
+ import '@momentum-ui/web-components/dist/comp/md-icon';
120
+ ```
121
+ <sub>*NOTE: You only need to import the web-components module at the top level of your application in order to use web components anywhere throughout.*
122
+ </sub>
123
+
124
+ 2. Insert the following sample web component for testing purposes:
125
+ ```html
126
+ <md-theme>
127
+ <md-button variant="green"><md-icon slot="icon" name="play_16"></md-icon><span slot="text">Code On!</span></md-button>
128
+ </md-theme>
129
+ ```
130
+ <sub>*NOTE: You must wrap your application with the `<md-theme>` element. It provides a set of core style resets and CSS custom variables that provide Theme color tokens, among other things. You can test these by toggling attributes `lumos` and/or `darkTheme` on the `<md-theme>` element.*
131
+ </sub>
132
+
133
+ ##### Now it is time to get your app running locally! <br>
134
+ (within `create-react-app/my-app` directory)
135
+
136
+ 1. `yarn` installs all dependencies.
137
+ 2. `yarn build` copies the required static assets for fonts and icons.
138
+ 3. `yarn start` launches project locally.
139
+
140
+ ps: `yarn test` runs all tests files that have this file name structure: `<file>.test.ts` <br>
141
+ <sub>*Feel free to run that and ensure that runs successfully with the existing sample test.*<sub>
142
+
143
+ And you should see:
144
+
145
+ ![Screen Shot 2021-02-19 at 10 55 55 AM](https://user-images.githubusercontent.com/17099707/108549087-8c0e9880-72a1-11eb-9c71-7d6c6162f9cb.png)
package/VERSIONING.md ADDED
@@ -0,0 +1,28 @@
1
+ # Momentum Web Components Maintenance Manual
2
+
3
+ Please follow these guidelines to help decide appropriate scenarios for publishing a new verison.
4
+
5
+ ### xx.xx.Patch Release when
6
+ * 1 or more bug fixes are merged
7
+
8
+ ### xx.Minor.xx Release when
9
+ * A new Component is added
10
+ * A feature is added to existing components
11
+ * Documentation is added
12
+ * Optimization is added
13
+
14
+ ### Major.xx.xx Release when
15
+ * Breaking, non-backwards compatible changes made
16
+
17
+ ### xx.xx.xx-dev.x Release when
18
+ * Needing sustained testing of new features without `yarn link`
19
+ * When dependant projects need bug or feature updates ahead of normal release timeline
20
+
21
+ ## To publish a new release
22
+ 1. Merge changes that share the same version semantic (i.e. two bug fix PRs)
23
+ 2. Increment the related version numeral from within the momentum-ui/web-components dir (best practice use `npm version [patch|minor|major]` unless making a `dev` release, then you can directly edit the package.json `version` property.)
24
+ 3. Run `npm login` to ensure you are connected to NPMjs. NOTE: you must be logged in to your NPMjs account that has the rights of a maintainer on @momentum-ui packages in order for it to publish. Do not use you Cisco credentials.
25
+ 4. If not already authorized, run `yarn npm:auth` (This will allow publish internally on Artifactory as well as on npmjs)
26
+ 5. `yarn npm:publish` (This command will publish on Artifactory as well as on npmjs)
27
+
28
+ If a combination of semantic scenarios are ready for merge at the same time, merge and release all Patch change PRs first, then Minor change PRs.
@@ -0,0 +1,255 @@
1
+ # Web Components University
2
+
3
+ So you want to contribute to Momentum-UI Web Components? Join the club! Web Components are quickly becoming one of the strongest standards of the modern web, and with the help of savvy developers such as yourself Momentum-UI has the potential to be a first class UI kit that makes the most of this next-generation technology.
4
+
5
+ Web Components is a somewhat broad topic and I encourage first-timers to read [this great primer](https://css-tricks.com/an-introduction-to-web-components/) on the basics of web components from CSS Tricks. This introduction to the basic concepts and vanilla JavaScript application lays a good foundation to better uderstand and appreciate the Momentum approach that leverages LitElement, TypeScript, and some of our home-grown standards to make for a better Dev Experience and create complex functionality.
6
+
7
+ #### [READ: CSS Tricks Intro to Web Components](https://css-tricks.com/an-introduction-to-web-components/)
8
+
9
+ _**Note:** don't fret a deep understanding of the `<template>` and `document.importNode` usage. Many of these basics are abstracted away by LitElement, and a high-level understanding of vanilla Web Components is good enough to appreciate how LitElement improves developer experience._
10
+
11
+ <hr>
12
+
13
+ ## Main Concepts (the short version)
14
+ #### 1. Extending the `HTMLElement` base class
15
+ Yep, you are basically just building on top of the native `HTMLElement` class and adding your own additions, like attributes and properties, methods, lifecycle control, HTML templates and CSS styles. In our library, we extend the `LitElement` class that provides more abstraction layers, but climb just a few steps up the prototype inheritance chain and you'll find `HTMLElement` right there providing the backbone.
16
+ #### 2. Registering a Custom Element
17
+ Once you have set up your new class with customizations, you must tell the browser to register your new component as a new HTML custom element. As a rule of the road, this must have at least one hyphen in it so `<my-custom-element>` is **good** but `<myelement>` is **bad**.
18
+
19
+ *To quote CSS Tricks:*
20
+
21
+ >Essentially, a custom element consists of two pieces: a tag name and a class that extends the built-in HTMLElement class. The most basic version of our custom element would look like this:
22
+
23
+ ```javascript=
24
+ class MyCustomElement extends HTMLElement {
25
+ connectedCallback() { // lifecycle that follows the class constructor()
26
+ this.innerHTML = `<h1>Hello, World!</h1>`;
27
+ }
28
+ }
29
+
30
+ customElements.define('my-custom-element', MyCustomElement);
31
+ ```
32
+ #### 3. Shadow DOM
33
+ Your new custom element can be configured with its own `shadowRoot`, establishing a protected bubble of DOM called the ShadowDOM. This means that there is a impermeable boundary protecting private methods and properties from the outer DOM scope, and likewise protects the main DOM from ShadowDOM contents, like CSS styles that might otherwise invade the global namespace and unintentionally break styles.
34
+
35
+ ---
36
+
37
+ Those are the "Big Three" ideas, each with their own tooling and best practices, but LitElement helps limit boilerplate and best practices used in the Momentum-UI library.
38
+
39
+ We will now go into more depth, using some examples to show handy aspects of LitElement, TypeScript, CSS Constructable Stylesheets, `part()` selectors, CSS Variables for theming, home-grown helper mixins, and more.
40
+ <br>
41
+ <br>
42
+
43
+ ## Momentum-UI Web Components in Depth
44
+
45
+ 1. TypeScript Decorators
46
+ 2. Lifecycle Methods
47
+ 3. ShadowDOM: Slotted Content
48
+ 4. ShadowDOM: `::part()` Selector
49
+ 5. ShadowDOM: CSS Variables / CSS Custom Properties
50
+ 6. Constructable Stylesheets
51
+ 7. Momentum-UI Mixins / Abstract Classes
52
+ 8. CustomEvents
53
+ 9. LitHTML, LitCSS
54
+
55
+ ### TypeScript Decorators
56
+ LitELement with Typescript enables the use of decorators that abstract away much of the boilerplate operations that are necessary in vanilla web component development. Here are some common cases.
57
+
58
+
59
+ #### `@property()`
60
+ The`@property()` decorator helps you establish a new property on your new component class. The properties you set here will be accessible as attributes on the new custom element (for primitive values) , or via `.property` notation if rich data is expected.
61
+ This decorator effectively takes care of all the getter and setter methods, and eliminates the need of a constructor (in most cases).
62
+ Explore the TS intellisense to see more control `@property()` offers, like setting an attribute name, or ensuring values are reflected.
63
+
64
+ ##### Example
65
+ `@property({ type: String, attribute: "alt-text" }) altText : string = "default"`
66
+
67
+ #### `@internalProperty()`
68
+ The `@internalProperty()` decorator serves a similar function, but does not expose an attribute interface for users. It could be accessed as an element property unless marked as `private`. Properties initialized with this decorator are good for a component's internal logic
69
+
70
+ ##### Example
71
+ `@internalProperty() loadingState : boolean = false`
72
+
73
+ **NOTE:** you _can_ declare ordinary properties right within the class without a decorator, however `@property()` and `@internalProperty()` are wired to LitElement's lifecycle functions, and make it easier to trigger re-renders when those properties are updated.
74
+
75
+ #### `@query()`
76
+ The `@query()` decorator is a convenient way to grab a reference to an element that is within your web component's shadow root.
77
+
78
+ ##### Example
79
+ `@query('div.special-class') divRef : HTMLElement | undefined = undefined`
80
+
81
+ <hr>
82
+
83
+ ### Lifecycle Methods
84
+ Vanilla JavaScript provides some elemental lifecycle methods, and LitElement provides even further assistance to ensure fine control over a web component's update and render cycle. We will give brief explanations of the most common ones here, but [read the docs for more details about their calling order and sample cases.](https://lit-element.polymer-project.org/guide/lifecycle)
85
+
86
+ **NOTE:** All lifecycle methods must call `super()` to function.
87
+ ```javascript=
88
+ connectedCallback() {
89
+ super.connectedCallback()
90
+
91
+ console.log('connected')
92
+ }
93
+ ```
94
+
95
+ #### `constructor()`
96
+ Although many of the constructor's main duties are taken care of by property setting decorators discussed above, there may sometimes be special cases when you need to execute logic before the component has parsed any attributes or properties passed into it.
97
+ #### `connectedCallback()`
98
+ This is invoked when a component is added to the document’s DOM. A n example use case is when you need to add event listeners when LitElement binding patterns won't do.
99
+ #### `disconnectedCallback()`
100
+ Invoked when a component is removed from the document’s DOM. A good time to remove event listeners, for example
101
+ #### `render()`
102
+ Renders the HTML template within the web component's shadow DOM. *This method is an exception to the 'must call `super()`' rule*
103
+ #### `firstUpdated()`
104
+ This is called after the element’s DOM has been updated the first time, immediately before `updated` is called.
105
+ #### `updated()`
106
+ Called when the element’s DOM has been updated and rendered. Implement to perform some task after an update.
107
+
108
+ [Read this to see the exact execution order LitElement enforces for the lifecycle methods.](https://lit-element.polymer-project.org/guide/lifecycle#reference)
109
+
110
+ <hr>
111
+
112
+ ### ShadowDOM: Slotted Content
113
+ The ShadowDOM is by its basic nature closed off from the surrounding DOM, protecting its elements and namespaces and concealing the functionality, structure and styles within the custom element. But we need an easy way to handle child elements with sufficient control.
114
+
115
+ Using `<slot></slot>` elements within a web component's template provides a placeholder for any elements that appear in the Light DOM as children of our custom element.
116
+
117
+ #### Unnamed Slot Example
118
+ Say I have a card type element that has a specific structure, adds an image, etc . . . but I want it to be composable, allowing a developer to just pass their text in as a child (as opposed to say a `text` attribute that passes a string into a pre-defined element).
119
+
120
+ So let us assume the web component's HTML template is like this:
121
+ ```htmlembedded=
122
+ <div class="wrapper">
123
+ <div class="upper-section">
124
+ <img src=${this.imgSrc}>
125
+ </div>
126
+ <div class="text-section">
127
+ <slot></slot>
128
+ </div>
129
+ </div>
130
+ ```
131
+ And then when we use it, we know that the `<p>` content will render in the `<slot>` left for it.
132
+ ```htmlembedded=
133
+ <custom-card-element img-src="https://www.some-site.com/sample.jpg">
134
+ <p>A bit of important text</p>
135
+ </custom-card-element>
136
+ ```
137
+
138
+ #### Named Slot Example
139
+ But what if we have many places where we expect content insertion via child element? Consider this version:
140
+ ```htmlembedded=
141
+ <div class="wrapper">
142
+ <div class="upper-section">
143
+ <img src=${this.imgSrc}>
144
+ </div>
145
+ <div class="text-section">
146
+ <slot name="text"></slot>
147
+ </div>
148
+ <div class="card-footer">
149
+ <slot name="footer"></slot>
150
+ </div>
151
+ </div>
152
+ ```
153
+ With named slots, we add additional control as to where we can expect our children to render. Notice the connection of the slot's `name` attribute to the child element's `slot` attribute:
154
+ ```htmlembedded=
155
+ <custom-card-element img-src="https://www.some-site.com/sample.jpg">
156
+ <p slot="text">A bit of important text</p>
157
+ <p slot="footer">
158
+ Copyright 2021 <a href="#">Learn More</a>
159
+ </p>
160
+ </custom-card-element>
161
+ ```
162
+
163
+ **NOTE:** The key aspect of this discussion is about *composability* for the developers using your web components. Child/parent relationships are an intuitive and efficient way to write HTML, and many web components should feel like native HTML elements, rather than complex or cryptic APIs. Child content is not required for a web component to work, and there may be use cases where passing an attribute value is a better approach. Choose whatever creates the most natural developer experience.
164
+
165
+ See this in action in `md-floating-modal`
166
+
167
+ ### ShadowDOM: `::part()` Selector
168
+ As mentioned before, the CSS within a web component's shadow DOM is protected from the outer namespace, and likewise will not pollute the surrounding DOM with its style declarations. This is very helpful for fine control of your component's display, but it also makes it hard to do style changes or overrides when the component is used in an application.
169
+
170
+ Let's take our card component again:
171
+ ```htmlembedded=
172
+ <div class="wrapper">
173
+ <div class="upper-section">
174
+ <img src=${this.imgSrc}>
175
+ </div>
176
+ <div class="text-section">
177
+ <slot></slot>
178
+ </div>
179
+ </div>
180
+ ```
181
+ . . . and in usage:
182
+ ```htmlembedded=
183
+ <custom-card-element img-src="https://www.some-site.com/sample.jpg">
184
+ <p>A bit of important text</p>
185
+ </custom-card-element>
186
+ ```
187
+ When I use this component, I will get whatever styles come with it. But say I need to override the height of the text section to better fit my particular use. There are a handful of tricky ways to get try to access the component's shadowRoot and query `div.text-section`, but many are too verbose, or brittle, or un-reachable via the CSS we have on our application. `::part()` allows the most direct way to style elements that are in the shadow DOM.
188
+
189
+ You have to first declare the part name within the web component's template, like this: (the part name can be anything, just be sure it makes sense ;)
190
+ ```htmlembedded=
191
+ <div class="wrapper">
192
+ <div class="upper-section">
193
+ <img src=${this.imgSrc}>
194
+ </div>
195
+ <div class="text-section" part="text-section">
196
+ <slot></slot>
197
+ </div>
198
+ </div>
199
+ ```
200
+ Which allows my consuming application to style like so:
201
+ ```css=
202
+ custom-card-element::part(text-section) {
203
+ height: 4rem;
204
+ }
205
+ ```
206
+
207
+ See examples of this in action in `md-avatar`, `md-combobox`, `md-accoridan`, `md-tabs`, or just do a find-all in your IDE for `part="` and see more.
208
+
209
+ ### ShadowDOM: CSS Variables / CSS Custom Properties
210
+ `::part()` is excellent for targeted overrides, but what if I want to make broad style changes, like a change-able theme? There is one other way to communicate some CSS through the shadowDOM boundary: CSS Custom Properties, AKA CSS Variables.
211
+
212
+ These are not styles per se, but with coordinating the variables used by our styles within the shadow DOM with the parent elements that set those variable values, we can successfully modify designs on the go.
213
+
214
+ This is the principle that powers the `<md-theme>` component and allows easy switching of light and dark modes in a shadow DOM world.
215
+
216
+ In a nutshell, the Momentum WC library executes token-generating scripting at build time that compiles down to a collection of different CSS Variable schemas, like `lmDark.scss` and `lmLight.scss`, for example. Each schema ultimately sets a style like this:
217
+
218
+ ```css=
219
+ // LIGHT MODE SCHEMA from lmLight.scss
220
+ :root,
221
+ :host {
222
+ --md-primary-text-color: #121212;
223
+ --md-secondary-text-color: #545454;
224
+ }
225
+ ```
226
+
227
+ ```css=
228
+ // DARK MODE SCHEMA from lmDark.scss
229
+ :root,
230
+ :host {
231
+ --md-primary-text-color: #f7f7f7;
232
+ --md-secondary-text-color: #b2b2b2;
233
+ }
234
+ ```
235
+ NOTICE: The `--` is syntax that means "here is a custom CSS property I am declaring, this is available in any location within the `:root/:host` where declared". Notice that they are the same. This means that down in the shadow DOM of my web component I can say:
236
+ ```css=
237
+ .main-div {
238
+ color: var(--md-primary-text-color);
239
+ }
240
+ ```
241
+ And I will receiver the hue that is currently set to that property in the higher scope!
242
+
243
+ `<md-theme>` works by swapping out the CSS file that is loaded, changing the CSS custom property values that are declared, but keeping the property values unchanged.
244
+
245
+ ### Constructable Stylesheets
246
+ **Brief:** By using Webpack to load the SMACSS based style system and LitElement's `static get styles()` method, Styles are added to the CSS Object Module only once and adopted for each component instance, saving the browser from repeating and styles in the resulting DOM and improving performance. Chrome and Edge fully supported, Firefox and Safari polyfilled.
247
+ ### Momentum-UI Mixins / Abstract Classes
248
+ **Brief:** Utility components like `FocusTrap` are abstract classes that can be used as the extension basis of a new component. They can provide a set of methods and properties for common component scenarios, like Focus Trapping, De Duping, Roving Tab Index, and more.
249
+ ### CustomEvents
250
+ **Brief:** Creating Custom Events in a LitElement component is easy, and can be a helpful tool for making complex components or micro front ends that need to have finer control of binding data up the DOM tree through ShadowDOM. Be aware of caveats in React when a custom event is expected to be publicly visible.
251
+ ### LitHTML, LitCSS
252
+ **Brief:** LitElement makes full leverage of template strings to make writing HTML templates for shadow DOM rendering super simple and native. LitHTML is ideal for writing true native HTML with interpolation using `${someVariable}`. Likewise, litCSS provides the same specifically for native composed CSS.
253
+
254
+
255
+ THIS IS A LIVING DOCUMENT . . . if you have any feedback, requests for further information, or corrections please feel free to create an Issue ticket, or send an email to kehyde@cisco.com
@@ -0,0 +1,4 @@
1
+ /* eslint-disable */
2
+ module.exports = {
3
+ presets: [["@babel/preset-env", { targets: { node: "current" } }]]
4
+ };