@universal-material/web 3.0.8 → 3.0.10

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 (364) hide show
  1. package/.editorconfig +8 -0
  2. package/.eleventy.cjs +21 -0
  3. package/.eslintignore +6 -0
  4. package/.eslintrc.json +98 -0
  5. package/.prettierrc.json +7 -0
  6. package/.vscode/extensions.json +9 -0
  7. package/CHANGELOG.md +98 -0
  8. package/LICENSE +28 -0
  9. package/docs/.nojekyll +0 -0
  10. package/docs/api/index.html +149 -0
  11. package/docs/docs.css +185 -0
  12. package/docs/examples/index.html +75 -0
  13. package/docs/examples/name-property/index.html +65 -0
  14. package/docs/index.html +75 -0
  15. package/docs/install/index.html +53 -0
  16. package/docs/prism-okaidia.css +123 -0
  17. package/docs/src/_api-section.pug +27 -0
  18. package/docs/src/_layout.pug +182 -0
  19. package/docs/src/components/button-set/alignment.html +29 -0
  20. package/docs/src/components/button-set/stack.html +5 -0
  21. package/docs/src/components/button-set/usage.html +35 -0
  22. package/docs/src/components/button-set.pug +16 -0
  23. package/docs/src/components/cards/card-media.html +39 -0
  24. package/docs/src/components/cards/card-with-actions.html +38 -0
  25. package/docs/src/components/cards/simple-card.html +3 -0
  26. package/docs/src/components/cards.pug +15 -0
  27. package/docs/src/components/checkbox/usage.html +33 -0
  28. package/docs/src/components/checkbox.pug +7 -0
  29. package/docs/src/components/chips/chip-input.html +73 -0
  30. package/docs/src/components/chips/default-chips.html +25 -0
  31. package/docs/src/components/chips/elevated-chips.html +25 -0
  32. package/docs/src/components/chips/selected-chips.html +50 -0
  33. package/docs/src/components/chips.pug +16 -0
  34. package/docs/src/components/common-buttons/anchor-buttons.html +6 -0
  35. package/docs/src/components/common-buttons/buttons-icons.html +24 -0
  36. package/docs/src/components/common-buttons/buttons-trailing-icons.html +25 -0
  37. package/docs/src/components/common-buttons/buttons-variants.html +6 -0
  38. package/docs/src/components/common-buttons/filled-colors.html +4 -0
  39. package/docs/src/components/common-buttons.pug +22 -0
  40. package/docs/src/components/data-tables/simple-table.html +47 -0
  41. package/docs/src/components/data-tables/table-footer.html +59 -0
  42. package/docs/src/components/data-tables/table-header.html +43 -0
  43. package/docs/src/components/data-tables.pug +15 -0
  44. package/docs/src/components/datepicker.pug +133 -0
  45. package/docs/src/components/dialogs/example.html +44 -0
  46. package/docs/src/components/dialogs.pug +19 -0
  47. package/docs/src/components/dividers/no-margin.html +7 -0
  48. package/docs/src/components/dividers/usage.html +7 -0
  49. package/docs/src/components/dividers.pug +13 -0
  50. package/docs/src/components/dropdown-menus/down-end.html +10 -0
  51. package/docs/src/components/dropdown-menus/down-left.html +10 -0
  52. package/docs/src/components/dropdown-menus/down-right.html +10 -0
  53. package/docs/src/components/dropdown-menus/down-start.html +10 -0
  54. package/docs/src/components/dropdown-menus/down.html +10 -0
  55. package/docs/src/components/dropdown-menus/up-end.html +10 -0
  56. package/docs/src/components/dropdown-menus/up-left.html +10 -0
  57. package/docs/src/components/dropdown-menus/up-right.html +10 -0
  58. package/docs/src/components/dropdown-menus/up-start.html +10 -0
  59. package/docs/src/components/dropdown-menus/up.html +10 -0
  60. package/docs/src/components/expansion-panel.pug +33 -0
  61. package/docs/src/components/fab/button-colors.html +18 -0
  62. package/docs/src/components/fab/button-sizes.html +11 -0
  63. package/docs/src/components/fab/extended-buttons.html +18 -0
  64. package/docs/src/components/fab/floating-action-area.html +5 -0
  65. package/docs/src/components/fab/floating-menu.html +10 -0
  66. package/docs/src/components/fab/lowered-buttons.html +6 -0
  67. package/docs/src/components/fab.pug +25 -0
  68. package/docs/src/components/icon-buttons/anchor-buttons.html +15 -0
  69. package/docs/src/components/icon-buttons/buttons-variants.html +15 -0
  70. package/docs/src/components/icon-buttons/toggle-buttons-manual.html +44 -0
  71. package/docs/src/components/icon-buttons/toggle-buttons.html +48 -0
  72. package/docs/src/components/icon-buttons.pug +18 -0
  73. package/docs/src/components/lists/list-avatars.html +14 -0
  74. package/docs/src/components/lists/list-custom-dividers.html +23 -0
  75. package/docs/src/components/lists/list-dividers.html +17 -0
  76. package/docs/src/components/lists/list-dynamic.html +26 -0
  77. package/docs/src/components/lists/list-hover.html +17 -0
  78. package/docs/src/components/lists/list-icons.html +17 -0
  79. package/docs/src/components/lists/list-indexed.html +123 -0
  80. package/docs/src/components/lists/list-sections.html +16 -0
  81. package/docs/src/components/lists/list-three-lines.html +20 -0
  82. package/docs/src/components/lists/list-two-lines.html +20 -0
  83. package/docs/src/components/lists/list-with-action.html +26 -0
  84. package/docs/src/components/lists/list-with-activated-item.html +17 -0
  85. package/docs/src/components/lists/simple-list.html +17 -0
  86. package/docs/src/components/lists.pug +94 -0
  87. package/docs/src/components/menus.pug +55 -0
  88. package/docs/src/components/progress/circular-progress.html +13 -0
  89. package/docs/src/components/progress/determinate-progress.html +3 -0
  90. package/docs/src/components/progress/indeterminate-progress.html +3 -0
  91. package/docs/src/components/progress/progress-color.html +3 -0
  92. package/docs/src/components/progress.pug +18 -0
  93. package/docs/src/components/ripple/usage.html +9 -0
  94. package/docs/src/components/ripple.pug +10 -0
  95. package/docs/src/components/selection-controls/checkbox.html +22 -0
  96. package/docs/src/components/selection-controls/radio-button.html +36 -0
  97. package/docs/src/components/selection-controls/switch.html +12 -0
  98. package/docs/src/components/selection-controls.pug +13 -0
  99. package/docs/src/components/sliders/example.html +42 -0
  100. package/docs/src/components/sliders.pug +7 -0
  101. package/docs/src/components/snackbar/example.html +35 -0
  102. package/docs/src/components/snackbars.pug +21 -0
  103. package/docs/src/components/steppers.pug +57 -0
  104. package/docs/src/components/tabs/example.html +45 -0
  105. package/docs/src/components/tabs.pug +8 -0
  106. package/docs/src/components/text-fields.pug +88 -0
  107. package/docs/src/components/toolbars/simple-toolbar.html +33 -0
  108. package/docs/src/components/toolbars.pug +7 -0
  109. package/docs/src/content/typography/example.html +15 -0
  110. package/docs/src/content/typography.pug +8 -0
  111. package/docs/src/css/docs.scss +189 -0
  112. package/docs/src/index.pug +10 -0
  113. package/docs/src/js/docs.js +161 -0
  114. package/docs/src/js/universal-material.js +757 -0
  115. package/docs/src/js/universal-material.js.map +1 -0
  116. package/docs/src/js/universal-material.min.js +17 -0
  117. package/docs/src/js/universal-material.min.js.map +1 -0
  118. package/docs/src/layout/grid.pug +15 -0
  119. package/docs/src/utilities/background-colors/common-colors.html +7 -0
  120. package/docs/src/utilities/background-colors/theme-colors.html +16 -0
  121. package/docs/src/utilities/background-colors.pug +10 -0
  122. package/docs/src/utilities/text-and-background-colors/common-colors.html +80 -0
  123. package/docs/src/utilities/text-and-background-colors/theme-colors.html +208 -0
  124. package/docs/src/utilities/text-and-background-colors.pug +10 -0
  125. package/docs/src/utilities/text-colors/common-colors.html +12 -0
  126. package/docs/src/utilities/text-colors/emphasis-colors.html +26 -0
  127. package/docs/src/utilities/text-colors/theme-colors.html +37 -0
  128. package/docs/src/utilities/text-colors.pug +13 -0
  129. package/gulpfile.js +225 -0
  130. package/index.html +11 -0
  131. package/package.json +1 -1
  132. package/rollup.config.js +42 -0
  133. package/src/_utils.scss +20 -0
  134. package/src/_variables.scss +68 -0
  135. package/src/button/button-base.styles.scss +75 -0
  136. package/src/button/button-base.ts +147 -0
  137. package/src/button/button-set.styles.scss +35 -0
  138. package/src/button/button-set.ts +33 -0
  139. package/src/button/button.styles.scss +97 -0
  140. package/src/button/button.ts +64 -0
  141. package/src/button/fab.styles.scss +90 -0
  142. package/src/button/fab.ts +55 -0
  143. package/src/button/icon-button.styles.scss +74 -0
  144. package/src/button/icon-button.ts +72 -0
  145. package/src/card/card-content.styles.scss +11 -0
  146. package/src/card/card-content.ts +45 -0
  147. package/src/card/card-media.styles.scss +9 -0
  148. package/src/card/card-media.ts +24 -0
  149. package/src/card/card.styles.scss +27 -0
  150. package/src/card/card.ts +37 -0
  151. package/src/checkbox/checkbox.ts +77 -0
  152. package/src/container/container.styles.scss +39 -0
  153. package/src/container/container.ts +24 -0
  154. package/src/divider/divider.styles.scss +13 -0
  155. package/src/divider/divider.ts +21 -0
  156. package/src/elevation/elevation.styles.scss +31 -0
  157. package/src/elevation/elevation.ts +17 -0
  158. package/{index.js → src/index.ts} +1 -1
  159. package/src/ripple/ripple.styles.scss +80 -0
  160. package/src/ripple/ripple.ts +150 -0
  161. package/src/shared/base.styles.scss +5 -0
  162. package/src/table/table-body.styles.scss +9 -0
  163. package/src/table/table-body.ts +21 -0
  164. package/src/table/table-cell.styles.scss +9 -0
  165. package/src/table/table-cell.ts +21 -0
  166. package/src/table/table-head.styles.scss +9 -0
  167. package/src/table/table-head.ts +21 -0
  168. package/src/table/table-header-cell.styles.scss +10 -0
  169. package/src/table/table-header-cell.ts +21 -0
  170. package/src/table/table-row.styles.scss +3 -0
  171. package/src/table/table-row.ts +21 -0
  172. package/src/table/table.styles.scss +12 -0
  173. package/{table/table.js → src/table/table.ts} +15 -6
  174. package/src/theme/color.ts +6 -0
  175. package/src/theme/css-var-builder.ts +36 -0
  176. package/{theme/index.js → src/theme/index.ts} +0 -1
  177. package/src/theme/neutral-colors.ts +21 -0
  178. package/src/theme/rgb-color.ts +19 -0
  179. package/src/theme/theme-builder.ts +201 -0
  180. package/{theme/theme-color.d.ts → src/theme/theme-color.ts} +3 -2
  181. package/tsconfig.json +36 -0
  182. package/web-dev-server.config.js +25 -0
  183. package/web-test-runner.config.js +120 -0
  184. package/button/button-base.d.ts +0 -43
  185. package/button/button-base.d.ts.map +0 -1
  186. package/button/button-base.js +0 -152
  187. package/button/button-base.js.map +0 -1
  188. package/button/button-base.styles.d.ts +0 -2
  189. package/button/button-base.styles.d.ts.map +0 -1
  190. package/button/button-base.styles.js +0 -75
  191. package/button/button-base.styles.js.map +0 -1
  192. package/button/button-set.d.ts +0 -20
  193. package/button/button-set.d.ts.map +0 -1
  194. package/button/button-set.js +0 -38
  195. package/button/button-set.js.map +0 -1
  196. package/button/button-set.styles.d.ts +0 -2
  197. package/button/button-set.styles.d.ts.map +0 -1
  198. package/button/button-set.styles.js +0 -39
  199. package/button/button-set.styles.js.map +0 -1
  200. package/button/button.d.ts +0 -34
  201. package/button/button.d.ts.map +0 -1
  202. package/button/button.js +0 -64
  203. package/button/button.js.map +0 -1
  204. package/button/button.styles.d.ts +0 -2
  205. package/button/button.styles.d.ts.map +0 -1
  206. package/button/button.styles.js +0 -96
  207. package/button/button.styles.js.map +0 -1
  208. package/button/fab.d.ts +0 -31
  209. package/button/fab.d.ts.map +0 -1
  210. package/button/fab.js +0 -63
  211. package/button/fab.js.map +0 -1
  212. package/button/fab.styles.d.ts +0 -2
  213. package/button/fab.styles.d.ts.map +0 -1
  214. package/button/fab.styles.js +0 -89
  215. package/button/fab.styles.js.map +0 -1
  216. package/button/icon-button.d.ts +0 -35
  217. package/button/icon-button.d.ts.map +0 -1
  218. package/button/icon-button.js +0 -79
  219. package/button/icon-button.js.map +0 -1
  220. package/button/icon-button.styles.d.ts +0 -2
  221. package/button/icon-button.styles.d.ts.map +0 -1
  222. package/button/icon-button.styles.js +0 -70
  223. package/button/icon-button.styles.js.map +0 -1
  224. package/card/card-content.d.ts +0 -13
  225. package/card/card-content.d.ts.map +0 -1
  226. package/card/card-content.js +0 -44
  227. package/card/card-content.js.map +0 -1
  228. package/card/card-content.styles.d.ts +0 -2
  229. package/card/card-content.styles.d.ts.map +0 -1
  230. package/card/card-content.styles.js +0 -15
  231. package/card/card-content.styles.js.map +0 -1
  232. package/card/card-media.d.ts +0 -12
  233. package/card/card-media.d.ts.map +0 -1
  234. package/card/card-media.js +0 -29
  235. package/card/card-media.js.map +0 -1
  236. package/card/card-media.styles.d.ts +0 -2
  237. package/card/card-media.styles.d.ts.map +0 -1
  238. package/card/card-media.styles.js +0 -13
  239. package/card/card-media.styles.js.map +0 -1
  240. package/card/card.d.ts +0 -19
  241. package/card/card.d.ts.map +0 -1
  242. package/card/card.js +0 -40
  243. package/card/card.js.map +0 -1
  244. package/card/card.styles.d.ts +0 -2
  245. package/card/card.styles.d.ts.map +0 -1
  246. package/card/card.styles.js +0 -28
  247. package/card/card.styles.js.map +0 -1
  248. package/checkbox/checkbox.d.ts +0 -16
  249. package/checkbox/checkbox.d.ts.map +0 -1
  250. package/checkbox/checkbox.js +0 -75
  251. package/checkbox/checkbox.js.map +0 -1
  252. package/container/container.d.ts +0 -13
  253. package/container/container.d.ts.map +0 -1
  254. package/container/container.js +0 -23
  255. package/container/container.js.map +0 -1
  256. package/container/container.styles.d.ts +0 -2
  257. package/container/container.styles.d.ts.map +0 -1
  258. package/container/container.styles.js +0 -43
  259. package/container/container.styles.js.map +0 -1
  260. package/custom-elements.json +0 -3706
  261. package/divider/divider.d.ts +0 -14
  262. package/divider/divider.d.ts.map +0 -1
  263. package/divider/divider.js +0 -27
  264. package/divider/divider.js.map +0 -1
  265. package/divider/divider.styles.d.ts +0 -2
  266. package/divider/divider.styles.d.ts.map +0 -1
  267. package/divider/divider.styles.js +0 -15
  268. package/divider/divider.styles.js.map +0 -1
  269. package/elevation/elevation.d.ts +0 -11
  270. package/elevation/elevation.d.ts.map +0 -1
  271. package/elevation/elevation.js +0 -21
  272. package/elevation/elevation.js.map +0 -1
  273. package/elevation/elevation.styles.d.ts +0 -2
  274. package/elevation/elevation.styles.d.ts.map +0 -1
  275. package/elevation/elevation.styles.js +0 -28
  276. package/elevation/elevation.styles.js.map +0 -1
  277. package/index.d.ts +0 -27
  278. package/index.d.ts.map +0 -1
  279. package/index.js.map +0 -1
  280. package/ripple/ripple.d.ts +0 -25
  281. package/ripple/ripple.d.ts.map +0 -1
  282. package/ripple/ripple.js +0 -119
  283. package/ripple/ripple.js.map +0 -1
  284. package/ripple/ripple.styles.d.ts +0 -2
  285. package/ripple/ripple.styles.d.ts.map +0 -1
  286. package/ripple/ripple.styles.js +0 -74
  287. package/ripple/ripple.styles.js.map +0 -1
  288. package/shared/base.styles.d.ts +0 -2
  289. package/shared/base.styles.d.ts.map +0 -1
  290. package/shared/base.styles.js +0 -9
  291. package/shared/base.styles.js.map +0 -1
  292. package/table/table-body.d.ts +0 -11
  293. package/table/table-body.d.ts.map +0 -1
  294. package/table/table-body.js +0 -21
  295. package/table/table-body.js.map +0 -1
  296. package/table/table-body.styles.d.ts +0 -2
  297. package/table/table-body.styles.d.ts.map +0 -1
  298. package/table/table-body.styles.js +0 -11
  299. package/table/table-body.styles.js.map +0 -1
  300. package/table/table-cell.d.ts +0 -11
  301. package/table/table-cell.d.ts.map +0 -1
  302. package/table/table-cell.js +0 -21
  303. package/table/table-cell.js.map +0 -1
  304. package/table/table-cell.styles.d.ts +0 -2
  305. package/table/table-cell.styles.d.ts.map +0 -1
  306. package/table/table-cell.styles.js +0 -11
  307. package/table/table-cell.styles.js.map +0 -1
  308. package/table/table-head.d.ts +0 -11
  309. package/table/table-head.d.ts.map +0 -1
  310. package/table/table-head.js +0 -21
  311. package/table/table-head.js.map +0 -1
  312. package/table/table-head.styles.d.ts +0 -2
  313. package/table/table-head.styles.d.ts.map +0 -1
  314. package/table/table-head.styles.js +0 -11
  315. package/table/table-head.styles.js.map +0 -1
  316. package/table/table-header-cell.d.ts +0 -11
  317. package/table/table-header-cell.d.ts.map +0 -1
  318. package/table/table-header-cell.js +0 -21
  319. package/table/table-header-cell.js.map +0 -1
  320. package/table/table-header-cell.styles.d.ts +0 -2
  321. package/table/table-header-cell.styles.d.ts.map +0 -1
  322. package/table/table-header-cell.styles.js +0 -12
  323. package/table/table-header-cell.styles.js.map +0 -1
  324. package/table/table-row.d.ts +0 -11
  325. package/table/table-row.d.ts.map +0 -1
  326. package/table/table-row.js +0 -21
  327. package/table/table-row.js.map +0 -1
  328. package/table/table-row.styles.d.ts +0 -2
  329. package/table/table-row.styles.d.ts.map +0 -1
  330. package/table/table-row.styles.js +0 -7
  331. package/table/table-row.styles.js.map +0 -1
  332. package/table/table.d.ts +0 -16
  333. package/table/table.d.ts.map +0 -1
  334. package/table/table.js.map +0 -1
  335. package/table/table.styles.d.ts +0 -2
  336. package/table/table.styles.d.ts.map +0 -1
  337. package/table/table.styles.js +0 -16
  338. package/table/table.styles.js.map +0 -1
  339. package/theme/color.d.ts +0 -7
  340. package/theme/color.d.ts.map +0 -1
  341. package/theme/color.js +0 -2
  342. package/theme/color.js.map +0 -1
  343. package/theme/css-var-builder.d.ts +0 -9
  344. package/theme/css-var-builder.d.ts.map +0 -1
  345. package/theme/css-var-builder.js +0 -25
  346. package/theme/css-var-builder.js.map +0 -1
  347. package/theme/index.d.ts +0 -2
  348. package/theme/index.d.ts.map +0 -1
  349. package/theme/index.js.map +0 -1
  350. package/theme/neutral-colors.d.ts +0 -4
  351. package/theme/neutral-colors.d.ts.map +0 -1
  352. package/theme/neutral-colors.js +0 -19
  353. package/theme/neutral-colors.js.map +0 -1
  354. package/theme/rgb-color.d.ts +0 -9
  355. package/theme/rgb-color.d.ts.map +0 -1
  356. package/theme/rgb-color.js +0 -13
  357. package/theme/rgb-color.js.map +0 -1
  358. package/theme/theme-builder.d.ts +0 -27
  359. package/theme/theme-builder.d.ts.map +0 -1
  360. package/theme/theme-builder.js +0 -146
  361. package/theme/theme-builder.js.map +0 -1
  362. package/theme/theme-color.d.ts.map +0 -1
  363. package/theme/theme-color.js +0 -2
  364. package/theme/theme-color.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["quick-dialog.ts","text-field.ts","confirm-dialog.ts","custom-event.polyfill.ts","dialog.ts","dropdown.ts","progress-dialog.ts","ripple.ts","slider.ts","snackbar.ts","tab-bar.ts"],"names":[],"mappings":"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","file":"universal-material.js","sourcesContent":["\r\n\r\nconst EscapeKeyCode = 27;\r\n\r\nexport class QuickDialogConfig {\r\n static default: QuickDialogConfig = {\r\n closeOnBackdropClick: true,\r\n closeOnEsc: true\r\n };\r\n\r\n closeOnBackdropClick?: boolean;\r\n closeOnEsc?: boolean;\r\n}\r\n\r\nexport abstract class QuickDialog<T extends QuickDialogConfig> {\r\n private readonly _template: string;\r\n protected _config: T;\r\n protected _innerDialog: Dialog;\r\n\r\n protected constructor(template: string, config?: any, beforeCreateDialog?: Function) {\r\n this._template = template;\r\n this._config = {...QuickDialogConfig.default, ...config};\r\n if (beforeCreateDialog) beforeCreateDialog();\r\n this._createDialog();\r\n }\r\n\r\n private _keyDownEvent = (event: KeyboardEvent) => {\r\n if (event.which === EscapeKeyCode) {\r\n this._innerDialog.close();\r\n event.preventDefault();\r\n }\r\n };\r\n\r\n private _createDialog() {\r\n const dialogContainer = document.createElement('div');\r\n dialogContainer.innerHTML = this._template;\r\n\r\n const dialogElement = dialogContainer.querySelector<HTMLElement>('.u-dialog');\r\n this._configureDialog(dialogElement);\r\n\r\n document.body.appendChild(dialogContainer);\r\n\r\n dialogElement.addEventListener('closed', () => {\r\n document.body.removeChild(dialogContainer);\r\n document.body.removeEventListener('keydown', this._keyDownEvent, true);\r\n this._onClosed();\r\n });\r\n\r\n this._innerDialog = Dialog.attach(dialogElement, {\r\n destroyWhenClose: true\r\n });\r\n\r\n if (this._config.closeOnEsc) {\r\n this._setEscapeEvent();\r\n }\r\n\r\n if (this._config.closeOnBackdropClick) {\r\n dialogElement\r\n .querySelector('.u-dialog-backdrop')\r\n .addEventListener('click', () => this._innerDialog.close(), true);\r\n }\r\n }\r\n\r\n protected abstract _configureDialog(dialogElement: HTMLElement): void;\r\n\r\n close(): void {\r\n this._innerDialog.close();\r\n }\r\n\r\n protected _onClosed() {\r\n\r\n }\r\n\r\n private _setEscapeEvent() {\r\n document.body.addEventListener('keydown', this._keyDownEvent, true);\r\n }\r\n}\r\n","export class TextField {\r\n\r\n element: Element;\r\n input: HTMLInputElement | HTMLTextAreaElement;\r\n\r\n constructor(element: Element) {\r\n const input = element.querySelector('input, textarea, .u-text-input') as HTMLInputElement | HTMLTextAreaElement;\r\n\r\n if (input) {\r\n input.addEventListener('focus', () => {\r\n element.classList.add('focus');\r\n });\r\n\r\n input.addEventListener('blur', () => {\r\n element.classList.remove('focus');\r\n });\r\n\r\n\r\n this.element = element;\r\n\r\n let prototype;\r\n\r\n if (input.nodeName.toLowerCase() === 'input') {\r\n prototype = HTMLInputElement.prototype;\r\n } else if (input.nodeName.toLowerCase() === 'textarea') {\r\n prototype = HTMLTextAreaElement.prototype;\r\n }\r\n\r\n if (!prototype) return;\r\n\r\n input.addEventListener('input', () => {\r\n this.setEmpty();\r\n });\r\n\r\n const descriptor = Object.getOwnPropertyDescriptor(prototype, 'value');\r\n const inputSetter = descriptor.set;\r\n descriptor.set = (val) => {\r\n\r\n //changing to native setter to prevent the loop while setting the value\r\n Object.defineProperty(input, \"value\", {set:inputSetter});\r\n input.value = val;\r\n\r\n this.setEmpty();\r\n\r\n //changing back to custom setter\r\n Object.defineProperty(input, \"value\", descriptor);\r\n };\r\n\r\n Object.defineProperty(input, \"value\", descriptor);\r\n\r\n this.input = input;\r\n\r\n this.setEmpty();\r\n }\r\n }\r\n\r\n setEmpty() {\r\n if (this.input.value) {\r\n this.element.classList.remove('empty')\r\n } else {\r\n this.element.classList.add('empty')\r\n }\r\n }\r\n\r\n static initializeTextFields(): void {\r\n const textFields = document.querySelectorAll('.u-text-field');\r\n for (let i = 0; i < textFields.length; i++) {\r\n const textField = textFields[i];\r\n new TextField(textField);\r\n }\r\n }\r\n}\r\n","\n\n\nexport class ConfirmDialogConfig extends QuickDialogConfig {\n static readonly default: ConfirmDialogConfig = {\n confirmLabel: \"Ok\",\n cancelLabel: \"Cancel\",\n ...QuickDialogConfig.default\n };\n\n onConfirm?: Function;\n onCancel?: Function;\n title?: string;\n confirmLabel?: string;\n cancelLabel?: string;\n}\n\nconst confirmDialogTemplate = `\n<div class=\"u-dialog show\">\n <div class=\"u-dialog-backdrop\"></div>\n <div class=\"u-dialog-content\">\n <div class=\"u-dialog-header\">\n <div class=\"u-dialog-title\"></div>\n </div> \n <div class=\"u-dialog-body\"></div>\n <div class=\"u-dialog-actions\">\n <button type=\"button\" class=\"u-btn-flat u-btn-primary\" cancelButton></button>\n <button type=\"button\" class=\"u-btn-flat u-btn-primary\" confirmButton></button>\n </div>\n </div>\n</div>`;\n\nexport class ConfirmDialog extends QuickDialog<ConfirmDialogConfig> {\n\n private readonly _message: string;\n\n static open(message: string, config?: ConfirmDialogConfig): ConfirmDialog {\n return new ConfirmDialog(message, config);\n }\n\n constructor(message: string, config?: ConfirmDialogConfig) {\n super(confirmDialogTemplate, {...ConfirmDialogConfig.default, _message: message, ...config});\n\n this._message = message;\n }\n\n protected _configureDialog(dialogElement: HTMLElement): void {\n const titleElement = dialogElement.querySelector<HTMLElement>('.u-dialog-title');\n\n if (this._config.title) {\n titleElement.innerText = this._config.title;\n } else {\n titleElement.parentNode.removeChild(titleElement);\n }\n dialogElement.querySelector<HTMLElement>('.u-dialog-body').innerText = this._config['_message'];\n\n const confirmButton = dialogElement.querySelector<HTMLElement>('[confirmButton]');\n const cancelButton = dialogElement.querySelector<HTMLElement>('[cancelButton]');\n\n confirmButton.innerText = this._config.confirmLabel;\n cancelButton.innerText = this._config.cancelLabel;\n\n Ripple.attach(confirmButton);\n Ripple.attach(cancelButton);\n\n confirmButton.addEventListener('click', () => {\n this._innerDialog.close();\n if (this._config.onConfirm) this._config.onConfirm();\n });\n\n cancelButton.addEventListener('click', () => {\n this._innerDialog.close();\n if (this._config.onCancel) this._config.onCancel();\n });\n }\n}\n","(function () {\r\n if (typeof window['CustomEvent'] === \"function\") return;\r\n\r\n function CustomEvent(event: string, params: any) {\r\n params = params || {bubbles: false, cancelable: false, detail: undefined};\r\n let evt = document.createEvent('CustomEvent');\r\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\r\n return evt;\r\n }\r\n\r\n CustomEvent.prototype = window['Event'].prototype;\r\n\r\n window['CustomEvent'] = CustomEvent;\r\n})();\r\n","export class DialogConfig {\n static readonly default: DialogConfig = {\n destroyWhenClose: false\n };\n\n destroyWhenClose?: boolean\n}\n\nconst closedEvent = new CustomEvent('closed');\nconst dialogBodyTopDividerClassName = 'u-dialog-scroll-top-divider';\nconst dialogBodyBottomDividerClassName = 'u-dialog-scroll-bottom-divider';\n\nexport class Dialog {\n private static readonly _animationEvents = [\"webkitAnimationEnd\", \"oanimationend\", \"msAnimationEnd\", \"animationend\"];\n private readonly _dialogConfig: DialogConfig;\n private readonly _dialogBodyElement: HTMLElement;\n private _showing: boolean;\n\n constructor(private readonly _dialogElement: HTMLElement,\n dialogConfig: DialogConfig) {\n this._dialogConfig = {...DialogConfig.default, ...dialogConfig};\n this._dialogBodyElement = this._dialogElement.querySelector<HTMLElement>('.u-dialog-body');\n\n if (this._dialogBodyElement) {\n this._setBodyDividers();\n this._setDialogBodyScrollHandler();\n }\n }\n\n private addAnimationEndEvents() {\n Dialog._animationEvents.forEach(eventName => {\n this._dialogElement.addEventListener(eventName, this.onAnimationEnd.bind(this));\n });\n }\n\n private onAnimationEnd = (event: Event) => {\n this._dialogElement.removeEventListener(event.type, this.onAnimationEnd);\n this._dialogElement.dispatchEvent(closedEvent);\n\n if (this._dialogConfig.destroyWhenClose) {\n this._dialogElement.parentNode.removeChild(this._dialogElement);\n } else {\n this._dialogElement.classList.remove('hide');\n }\n };\n\n static attach(element: HTMLElement, dialogConfig?: DialogConfig): Dialog {\n return new Dialog(element, dialogConfig);\n }\n\n toggle =() => {\n const action = this._showing ? this.close : this.open;\n action();\n };\n\n open =() => {\n this._dialogElement.classList.add('show');\n this._showing = true;\n };\n\n close =() => {\n this._dialogElement.classList.add('hide');\n this._dialogElement.classList.remove('show');\n this._showing = false;\n this.addAnimationEndEvents();\n };\n\n private _setBodyDividers() {\n if(this._dialogBodyElement.scrollTop) {\n this._dialogElement.classList.add(dialogBodyTopDividerClassName);\n } else {\n this._dialogElement.classList.remove(dialogBodyTopDividerClassName);\n }\n\n const scrollBottom = this._dialogBodyElement.scrollTop + this._dialogBodyElement.offsetHeight;\n\n if (scrollBottom !== this._dialogBodyElement.scrollHeight) {\n this._dialogElement.classList.add(dialogBodyBottomDividerClassName);\n } else {\n this._dialogElement.classList.remove(dialogBodyBottomDividerClassName);\n }\n }\n\n private _setDialogBodyScrollHandler() {\n this._dialogBodyElement.addEventListener('scroll', this._setBodyDividers.bind(this), true);\n }\n}\n","export class DropdownConfig {\r\n static readonly default: DropdownConfig = {\r\n\r\n };\r\n}\r\n\r\nconst closeEvent = new CustomEvent('close');\r\nconst openEvent = new CustomEvent('open');\r\nconst EnterKey = 13;\r\nconst EscapeKey = 27;\r\nconst SpaceKey = 32;\r\n\r\nexport class Dropdown {\r\n private readonly _dropdownConfig: DropdownConfig;\r\n private readonly _dropdownToggle: HTMLElement;\r\n private readonly _dropdownMenu: HTMLElement;\r\n private _showing: boolean;\r\n\r\n constructor(private readonly _dropdownElement: HTMLElement,\r\n dropdownConfig: DropdownConfig) {\r\n this._dropdownToggle = _dropdownElement.querySelector('.u-dropdown-toggle');\r\n this._dropdownMenu = _dropdownElement.querySelector('.u-dropdown-menu');\r\n if (!this._dropdownToggle || !this._dropdownToggle) return;\r\n\r\n this._dropdownConfig = {...DropdownConfig.default, ...dropdownConfig};\r\n this._attachEvents();\r\n }\r\n static attach(element: HTMLElement, dropdownConfig?: DropdownConfig): Dropdown {\r\n return new Dropdown(element, dropdownConfig);\r\n }\r\n\r\n _attachEvents() {\r\n this._dropdownToggle.addEventListener('click', e => {\r\n e.stopPropagation();\r\n });\r\n\r\n document.addEventListener('click', () => {\r\n this.close();\r\n });\r\n\r\n this._dropdownToggle.addEventListener('mouseup', e => {\r\n this.toggle();\r\n });\r\n\r\n this._dropdownToggle.addEventListener('keyup', e => {\r\n switch (e.which) {\r\n case EscapeKey:\r\n this.close();\r\n break;\r\n case SpaceKey:\r\n this.open();\r\n break;\r\n case EnterKey:\r\n this.toggle();\r\n break;\r\n }\r\n });\r\n }\r\n\r\n toggle = () => {\r\n const action = this._showing ? this.close : this.open;\r\n action();\r\n };\r\n\r\n open = () => {\r\n this._dropdownMenu.classList.add('show');\r\n this._showing = true;\r\n this._dropdownElement.dispatchEvent(openEvent);\r\n };\r\n\r\n close = () => {\r\n this._dropdownMenu.classList.remove('show');\r\n this._showing = false;\r\n this._dropdownElement.dispatchEvent(closeEvent);\r\n };\r\n\r\n static initializeDropdowns(): void {\r\n const dropdowns = document.querySelectorAll('.u-dropdown');\r\n for (let i = 0; i < dropdowns.length; i++) {\r\n const dropdown = dropdowns[i] as HTMLElement;\r\n Dropdown.attach(dropdown);\r\n }\r\n }\r\n}\r\n","\r\n\r\nexport class ProgressDialogConfig extends QuickDialogConfig {\r\n static readonly default: ProgressDialogConfig = {\r\n ...QuickDialogConfig.default,\r\n closeOnBackdropClick: false,\r\n closeOnEsc: false\r\n };\r\n}\r\n\r\nconst progressDialogTemplate = `\r\n<div class=\"u-dialog u-dialog-progress show\">\r\n <div class=\"u-dialog-backdrop\"></div>\r\n <div class=\"u-dialog-content\">\r\n <div class=\"u-dialog-body\">\r\n <div class=\"preloader-wrapper\">\r\n <div class=\"spinner-layer\">\r\n <div class=\"circle-clipper left\">\r\n <div class=\"circle\"></div>\r\n </div>\r\n <div class=\"gap-patch\">\r\n <div class=\"circle\"></div>\r\n </div>\r\n <div class=\"circle-clipper right\">\r\n <div class=\"circle\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"u-dialog-progress-message u-headline6 text-low-contrast text-nowrap\"></div>\r\n </div>\r\n </div>\r\n</div>`;\r\n\r\nexport class ProgressDialog extends QuickDialog<ProgressDialogConfig> {\r\n\r\n private readonly _message: string;\r\n\r\n static open(message: string, config?: ProgressDialogConfig): ProgressDialog {\r\n return new ProgressDialog(message, config);\r\n }\r\n\r\n constructor(message: string, config?: ProgressDialogConfig) {\r\n super(progressDialogTemplate, {...ProgressDialogConfig.default, _message: message, ...config});\r\n\r\n this._message = message;\r\n }\r\n\r\n protected _configureDialog(dialogElement: HTMLElement): void {\r\n const message = this._config['_message'];\r\n\r\n if (message) {\r\n dialogElement.querySelector<HTMLElement>('.u-dialog-progress-message').innerText = message;\r\n } else {\r\n dialogElement.querySelector<HTMLElement>('.u-dialog-progress-message').style.display = 'none';\r\n }\r\n }\r\n}\r\n","export const RippleContainersSelector =\n [\n '.u-btn',\n '.u-btn-flat',\n '.u-btn-solid',\n '.u-btn-raised',\n '.u-btn-outline',\n '.u-floating-btn',\n '.u-icon-btn',\n '.u-tab',\n '.u-dropdown-item',\n '.u-chip-remove',\n '.u-chip-hover',\n '.u-text-input.u-dropdown-toggle'\n ].join(',');\n\nexport class RippleConfig {\n size?: number;\n borderRadius?: string;\n}\n\nexport const RippleConfigMap = [\n {\n selector: '.u-list-selectable',\n subSelector: '.u-list-item',\n config: null\n },\n {\n selector: '.u-list-item',\n subSelector: '.u-list-item-hover',\n config: null\n },\n {\n selector: '.u-radio',\n subSelector: '.u-selection-control',\n config: null\n },\n {\n selector: '.u-switch',\n subSelector: '.u-check-indicator',\n config: null\n },\n {\n selector: '.u-checkbox',\n subSelector: '.u-selection-control',\n config: null\n }\n];\n\nexport class Ripple {\n private readonly _config: RippleConfig;\n disabled = false;\n\n static attach(element: HTMLElement, config?: RippleConfig): Ripple {\n return new Ripple(element, config);\n }\n\n constructor(element: HTMLElement, config?: RippleConfig) {\n this._config = {...config};\n\n if (window.getComputedStyle(element).position !== \"absolute\" && window.getComputedStyle(element).position !== \"fixed\") {\n element.style.position = \"relative\";\n }\n\n let isTouching = false;\n\n element.addEventListener('mousedown', (e: MouseEvent) => {\n if (!isTouching) {\n this.createRipple(element, 'mouseup', null, e.clientX, e.clientY);\n }\n });\n\n element.addEventListener('touchstart', (e: TouchEvent) => {\n isTouching = true;\n this.createRipple(element, 'touchend', () => {\n setTimeout(() => {\n isTouching = false;\n }, 100);\n }, e.touches[0].clientX, e.touches[0].clientY);\n });\n }\n\n createRipple(rippleContainer: Element, releaseEventName: string, releaseCallback: Function, pageX: number, pageY: number) {\n if (this.disabled) return;\n\n const rippleWrapper = document.createElement('DIV');\n rippleWrapper.classList.add('u-ripple-wrapper');\n\n const ripple = document.createElement('DIV');\n ripple.classList.add('u-ripple');\n rippleWrapper.appendChild(ripple);\n rippleContainer.insertAdjacentElement('afterbegin', rippleWrapper);\n\n if (this._config.size) {\n Ripple._setElementSquareSizeAndCenter(rippleWrapper, this._config.size);\n }\n\n if (this._config.borderRadius) {\n rippleWrapper.style.borderRadius = this._config.borderRadius;\n }\n\n const release = function () {\n ripple.classList.add('dismiss');\n\n if (releaseCallback) {\n releaseCallback();\n }\n };\n\n window.addEventListener(releaseEventName, release);\n rippleContainer.addEventListener(\"dragover\", release);\n\n ripple.addEventListener('transitionend', () => {\n if (ripple.classList.contains('dismiss')) {\n rippleContainer.removeChild(rippleWrapper);\n rippleContainer.removeEventListener(\"dragover\", release);\n window.removeEventListener(releaseEventName, release)\n }\n });\n\n requestAnimationFrame(() => {\n const clientRect = rippleContainer.getBoundingClientRect();\n const largestDimensionSize = Math.max(rippleWrapper.clientWidth, rippleWrapper.clientHeight);\n let rippleSize = this._config.size || largestDimensionSize * 2;\n Ripple._setElementSquareSizeAndCenter(ripple, rippleSize);\n ripple.style.transitionDuration = (1080 * Math.pow(rippleSize, 0.3)) + 'ms, 750ms';\n\n const x = (pageX - clientRect.left) + ((rippleSize - rippleContainer.clientWidth) / 2);\n const y = (pageY - clientRect.top) + ((rippleSize - rippleContainer.clientHeight) / 2);\n\n ripple.style.transformOrigin = x + \"px \" + y + \"px\";\n ripple.classList.add('show');\n });\n }\n\n private static _setElementSquareSizeAndCenter(element: HTMLElement, size: number) {\n element.style.top = \"50%\";\n element.style.left = \"50%\";\n element.style.width = size + 'px';\n element.style.height = size + 'px';\n element.style.marginLeft = -size / 2 + 'px';\n element.style.marginTop = -size / 2 + 'px';\n }\n\n private static _initilizeRipples(selector: string, config?: RippleConfig) {\n const rippleContainers = document.querySelectorAll(selector);\n\n for (let i = 0; i < rippleContainers.length; i++) {\n new Ripple(rippleContainers[i] as HTMLElement, config);\n }\n }\n\n static initializeRipples(): void {\n Ripple._initilizeRipples(RippleContainersSelector);\n\n for (let i = 0; i < RippleConfigMap.length; i++) {\n let rippleConfig = RippleConfigMap[i];\n\n let selector = rippleConfig.selector;\n\n if (rippleConfig.subSelector) {\n selector = [selector, rippleConfig.subSelector].join(' ');\n }\n\n Ripple._initilizeRipples(selector, rippleConfig.config);\n }\n }\n}\n","export class Slider {\r\n private readonly _sliderThumb: HTMLElement;\r\n\r\n constructor(private readonly _sliderElement: HTMLElement) {\r\n const sliderInputElement = _sliderElement.querySelector('input[type=range]') as HTMLInputElement;\r\n sliderInputElement.addEventListener('input', () => {\r\n const value = sliderInputElement.valueAsNumber;\r\n const min = parseInt(sliderInputElement.min, 10);\r\n const max = parseInt(sliderInputElement.max, 10);\r\n this._setThumbAndTrack(min, max, value);\r\n });\r\n }\r\n\r\n private _setThumbAndTrack(min: number, max: number, value: number) {\r\n\r\n const offset = max - min;\r\n value -= offset;\r\n\r\n this._sliderThumb.style.left = Math.round(value * 100 / offset) + '%';\r\n }\r\n\r\n static initializeSliders(): void {\r\n const sliders = document.querySelectorAll('.u-slider');\r\n\r\n sliders.forEach(slider => {\r\n new Slider(slider as HTMLElement);\r\n });\r\n }\r\n}\r\n","\r\n\r\nexport class Snackbar {\r\n private static readonly _animationEvents = [\"webkitAnimationEnd\", \"oanimationend\", \"msAnimationEnd\", \"animationend\"];\r\n private static _snackbarQueue: SnackbarDefinition[] = [];\r\n private static _consuming: boolean;\r\n\r\n static show(text: string, duration: SnackbarDuration = SnackbarDuration.long, buttonDefinition?: SnackbarButtonDefinition) {\r\n Snackbar._snackbarQueue.push({\r\n text: text,\r\n duration: duration,\r\n buttonDefinition: buttonDefinition\r\n });\r\n\r\n if (!Snackbar._consuming) {\r\n Snackbar.consumeQueue();\r\n }\r\n }\r\n\r\n private static consumeQueue() {\r\n\r\n if (Snackbar._snackbarQueue.length) {\r\n Snackbar._consuming = true;\r\n Snackbar.showNext();\r\n }\r\n }\r\n\r\n private static showNext() {\r\n if (Snackbar._snackbarQueue.length) {\r\n const snackbarDefinition = Snackbar._snackbarQueue[0];\r\n\r\n Snackbar._snackbarQueue = Snackbar._snackbarQueue.slice(1);\r\n\r\n const snackbar = Snackbar.createSnackbar();\r\n\r\n snackbar.appendChild(Snackbar.createSnackbarText(snackbarDefinition.text));\r\n\r\n if (snackbarDefinition.buttonDefinition) {\r\n const snackbarButton = Snackbar.createButton(snackbarDefinition.buttonDefinition);\r\n snackbar.appendChild(snackbarButton);\r\n }\r\n\r\n document.body.appendChild(snackbar);\r\n\r\n setTimeout(() => {\r\n snackbar.classList.add(\"dismiss\");\r\n Snackbar.addAnimationEndEvents(snackbar);\r\n\r\n }, snackbarDefinition.duration);\r\n } else {\r\n Snackbar._consuming = false;\r\n }\r\n }\r\n\r\n private static createSnackbar(): HTMLElement {\r\n const snackbar = document.createElement(\"div\");\r\n snackbar.className = \"u-snackbar\";\r\n\r\n return snackbar;\r\n }\r\n\r\n private static createSnackbarText(text: string): HTMLElement {\r\n const snackbarText = document.createElement(\"div\");\r\n snackbarText.innerText = text;\r\n snackbarText.className = \"u-snackbar-text\";\r\n\r\n return snackbarText;\r\n }\r\n\r\n private static createButton(buttonDefinition: SnackbarButtonDefinition): HTMLElement {\r\n\r\n const snackbarButton = document.createElement(\"button\") as HTMLButtonElement;\r\n snackbarButton.type = \"button\";\r\n snackbarButton.className = \"u-btn-flat u-btn-secondary\";\r\n snackbarButton.innerText = buttonDefinition.text;\r\n\r\n new Ripple(snackbarButton);\r\n\r\n if (buttonDefinition.action) {\r\n snackbarButton.addEventListener(\"click\", buttonDefinition.action);\r\n }\r\n\r\n return snackbarButton;\r\n }\r\n\r\n private static addAnimationEndEvents(snackbar: HTMLElement) {\r\n Snackbar._animationEvents.forEach(eventName => {\r\n snackbar.addEventListener(eventName, Snackbar.onAnimationEnd.bind(this));\r\n });\r\n }\r\n\r\n private static onAnimationEnd(event: Event) {\r\n event.currentTarget.removeEventListener(event.type, Snackbar.onAnimationEnd);\r\n const element = event.currentTarget as HTMLElement;\r\n\r\n element.parentNode.removeChild(element);\r\n Snackbar.showNext();\r\n }\r\n}\r\n\r\nexport enum SnackbarDuration {\r\n short = 2500,\r\n long = 5000\r\n}\r\n\r\nexport class SnackbarDefinition {\r\n text: string;\r\n duration: SnackbarDuration;\r\n buttonDefinition: SnackbarButtonDefinition;\r\n}\r\n\r\nexport class SnackbarButtonDefinition {\r\n text: string;\r\n action: EventListener;\r\n}\r\n","interface TabElement extends HTMLElement {\n index: number;\n}\n\nexport class TabBar {\n\n private readonly _tabIndicatorElement: HTMLElement;\n private readonly _tabMap: TabElement[] = [];\n currentTabIndex: number;\n\n constructor(private readonly _tabBarElement: HTMLElement) {\n this._tabIndicatorElement = _tabBarElement.querySelector('.u-tab-indicator');\n this._setTabInfoMap();\n this.setActiveTab(0);\n\n if (window) {\n window.addEventListener('resize', () => {\n this._updateTabIndicator();\n })\n }\n }\n\n setActiveTab(tabIndex: number) {\n if (!isNaN(this.currentTabIndex)) {\n this._tabMap[this.currentTabIndex].classList.remove('active');\n }\n\n this.currentTabIndex = tabIndex;\n this._tabBarElement.dispatchEvent(new CustomEvent('tabchange', {\n detail: {\n tabIndex: tabIndex\n }\n }));\n\n this._tabMap[this.currentTabIndex].classList.add('active');\n\n setTimeout(() => this._updateTabIndicator(), 100);\n }\n\n recalculateBounds() {\n this._tabMap.length = 0;\n this._setTabInfoMap();\n this._updateTabIndicator();\n }\n\n private _updateTabIndicator() {\n const tab = this._tabMap[this.currentTabIndex];\n const tabBounds = tab.getBoundingClientRect();\n const offset = tabBounds.left - this._tabBarElement.getBoundingClientRect().left;\n\n this._tabIndicatorElement.style.left = offset + 'px';\n this._tabIndicatorElement.style.width = tabBounds.width + 'px';\n }\n\n private _tabClick = (event: Event) => {\n const tab = event.currentTarget as TabElement;\n this.setActiveTab(tab.index);\n }\n\n private _setTabInfoMap() {\n\n const tabs = this._tabBarElement.querySelectorAll('.u-tab');\n\n for (let i = 0; i < tabs.length; i++) {\n const tab = tabs[i] as TabElement;\n tab.removeEventListener('click', this._tabClick);\n tab.addEventListener('click', this._tabClick);\n\n tab.index = i;\n this._tabMap.push(tab);\n }\n }\n\n static attach(tabBarElement: HTMLElement): TabBar {\n return new TabBar(tabBarElement);\n }\n\n static initializeTabBars(): void {\n const tabBars = document.querySelectorAll('.u-tab-bar');\n for (let i = 0; i < tabBars.length; i++) {\n const tabBar = tabBars[i] as HTMLElement;\n TabBar.attach(tabBar);\n }\n }\n}\n"]}
@@ -0,0 +1,17 @@
1
+ var TextField = /** @class */ (function () {
2
+ function TextField(element) {
3
+ var input = document.querySelector('.u-text-input')
4
+ || document.querySelector('.u-text-input input');
5
+ if (input) {
6
+ input.addEventListener('focus', function () {
7
+ element.classList.add('focus');
8
+ });
9
+ input.addEventListener('blur', function () {
10
+ element.classList.remove('focus');
11
+ });
12
+ }
13
+ }
14
+ return TextField;
15
+ }());
16
+
17
+ //# sourceMappingURL=universal-material.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["text-field.ts"],"names":[],"mappings":"AAAA;IACI,mBAAY,OAAO;QACf,IAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC;eAC5C,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QACnD,IAAI,KAAK,EAAE;YACP,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE;gBAC5B,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE;gBAC3B,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IACL,gBAAC;AAAD,CAdA,AAcC,IAAA","file":"universal-material.min.js","sourcesContent":["class TextField {\r\n constructor(element) {\r\n const input = document.querySelector('.u-text-input')\r\n || document.querySelector('.u-text-input input');\r\n if (input) {\r\n input.addEventListener('focus', function () {\r\n element.classList.add('focus');\r\n });\r\n\r\n input.addEventListener('blur', function () {\r\n element.classList.remove('focus');\r\n });\r\n }\r\n }\r\n}"]}
@@ -0,0 +1,15 @@
1
+ extends ../_layout
2
+
3
+ block content
4
+ +renderTitle('Grid system')
5
+
6
+ .u-row
7
+ .u-col-sm
8
+ .u-card
9
+ .u-card-body One of three columns
10
+ .u-col-sm
11
+ .u-card
12
+ .u-card-body One of three columns
13
+ .u-col-sm
14
+ .u-card
15
+ .u-card-body One of three columns
@@ -0,0 +1,7 @@
1
+ <div class="p-4 u-bg-success u-text-light-mode">.u-bg-success</div>
2
+ <div class="p-4 u-bg-info u-text-light-mode">.u-bg-info</div>
3
+ <div class="p-4 u-bg-warning u-text-light-mode">.u-bg-warning</div>
4
+ <div class="p-4 u-bg-success-container u-text-light-mode">.u-bg-success-container</div>
5
+ <div class="p-4 u-bg-info-container u-text-light-mode">.u-bg-info-container</div>
6
+ <div class="p-4 u-bg-warning-container u-text-light-mode">.u-bg-warning-container</div>
7
+
@@ -0,0 +1,16 @@
1
+ <div class="p-4 u-bg-primary">.u-bg-primary</div>
2
+ <div class="p-4 u-bg-primary-container">.u-bg-primary-container</div>
3
+ <div class="p-4 u-bg-secondary">.u-bg-secondary</div>
4
+ <div class="p-4 u-bg-secondary-container">.u-bg-secondary-container</div>
5
+ <div class="p-4 u-bg-tertiary">.u-bg-tertiary</div>
6
+ <div class="p-4 u-bg-tertiary-container">.u-bg-tertiary-container</div>
7
+ <div class="p-4 u-bg-error">.u-bg-error</div>
8
+ <div class="p-4 u-bg-error-container">.u-bg-error-container</div>
9
+ <div class="p-4 u-bg-surface">.u-bg-surface</div>
10
+ <div class="p-4 u-bg-inverse-surface u-text-inverse-mode">.u-bg-inverse-surface</div>
11
+ <div class="p-4 u-bg-surface-variant">.u-bg-surface-variant</div>
12
+ <div class="p-4 u-bg-inverse-surface-variant u-text-inverse-mode">.u-bg-inverse-surface-variant</div>
13
+ <div class="p-4 u-bg-body">.u-bg-body</div>
14
+ <div class="p-4 u-bg-inverse-mode u-text-inverse-mode">.u-bg-inverse-mode</div>
15
+ <div class="p-4 u-bg-light-mode u-text-light-mode">.u-bg-light-mode</div>
16
+ <div class="p-4 u-bg-dark-mode u-text-dark-mode">.u-bg-dark-mode</div>
@@ -0,0 +1,10 @@
1
+ extends ../_layout
2
+
3
+ block content
4
+ +renderTitle('Colors')
5
+
6
+ +renderSection('Theme colors')
7
+ include:exampleCode background-colors/theme-colors.html
8
+
9
+ +renderSection('Common colors')
10
+ include:exampleCode background-colors/common-colors.html
@@ -0,0 +1,80 @@
1
+ <div class="p-4 u-text-bg-success">
2
+ <div>.u-text-bg-success</div>
3
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
4
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
5
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
6
+ <div class="u-divider"></div>
7
+ <div class="u-btn-set">
8
+ <button class="u-icon-btn u-text-high-emphasis">
9
+ <i class="u-btn-icon mdi mdi-heart"></i>
10
+ </button>
11
+ <button class="u-text-btn u-text-high-emphasis">Text button</button>
12
+ </div>
13
+ </div>
14
+ <div class="p-4 u-text-bg-success-container">
15
+ <div>.u-text-bg-success-container</div>
16
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
17
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
18
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
19
+ <div class="u-divider"></div>
20
+ <div class="u-btn-set">
21
+ <button class="u-icon-btn u-text-high-emphasis">
22
+ <i class="u-btn-icon mdi mdi-heart"></i>
23
+ </button>
24
+ <button class="u-text-btn u-text-high-emphasis">Text button</button>
25
+ </div>
26
+ </div>
27
+ <div class="p-4 u-text-bg-info">
28
+ <div>.u-text-bg-info</div>
29
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
30
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
31
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
32
+ <div class="u-divider"></div>
33
+ <div class="u-btn-set">
34
+ <button class="u-icon-btn u-text-high-emphasis">
35
+ <i class="u-btn-icon mdi mdi-heart"></i>
36
+ </button>
37
+ <button class="u-text-btn u-text-high-emphasis">Text button</button>
38
+ </div>
39
+ </div>
40
+ <div class="p-4 u-text-bg-info-container">
41
+ <div>.u-text-bg-info-container</div>
42
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
43
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
44
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
45
+ <div class="u-divider"></div>
46
+ <div class="u-btn-set">
47
+ <button class="u-icon-btn u-text-high-emphasis">
48
+ <i class="u-btn-icon mdi mdi-heart"></i>
49
+ </button>
50
+ <button class="u-text-btn u-text-high-emphasis">Text button</button>
51
+ </div>
52
+ </div>
53
+
54
+ <div class="p-4 u-text-bg-warning">
55
+ <div>.u-text-bg-warning</div>
56
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
57
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
58
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
59
+ <div class="u-divider"></div>
60
+ <div class="u-btn-set">
61
+ <button class="u-icon-btn u-text-high-emphasis">
62
+ <i class="u-btn-icon mdi mdi-heart"></i>
63
+ </button>
64
+ <button class="u-text-btn u-text-high-emphasis">Text button</button>
65
+ </div>
66
+ </div>
67
+ <div class="p-4 u-text-bg-warning-container">
68
+ <div>.u-text-bg-warning-container</div>
69
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
70
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
71
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
72
+ <div class="u-divider"></div>
73
+ <div class="u-btn-set">
74
+ <button class="u-icon-btn u-text-high-emphasis">
75
+ <i class="u-btn-icon mdi mdi-heart"></i>
76
+ </button>
77
+ <button class="u-text-btn u-text-high-emphasis">Text button</button>
78
+ </div>
79
+ </div>
80
+
@@ -0,0 +1,208 @@
1
+ <div class="p-4 u-text-bg-primary">
2
+ <div>.u-text-bg-primary</div>
3
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
4
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
5
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
6
+ <div class="u-divider"></div>
7
+ <div class="u-btn-set">
8
+ <button class="u-icon-btn u-text-high-emphasis">
9
+ <i class="u-btn-icon mdi mdi-heart"></i>
10
+ </button>
11
+ <button class="u-text-btn u-text-high-emphasis">Text button</button>
12
+ </div>
13
+ </div>
14
+ <div class="p-4 u-text-bg-primary-container">
15
+ <div>.u-text-bg-primary-container</div>
16
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
17
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
18
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
19
+ <div class="u-divider"></div>
20
+ <div class="u-btn-set">
21
+ <button class="u-icon-btn u-text-high-emphasis">
22
+ <i class="u-btn-icon mdi mdi-heart"></i>
23
+ </button>
24
+ <button class="u-text-btn u-text-high-emphasis">Text button</button>
25
+ </div>
26
+ </div>
27
+ <div class="p-4 u-text-bg-secondary">
28
+ <div>.u-text-bg-secondary</div>
29
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
30
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
31
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
32
+ <div class="u-divider"></div>
33
+ <div class="u-btn-set">
34
+ <button class="u-icon-btn u-text-high-emphasis">
35
+ <i class="u-btn-icon mdi mdi-heart"></i>
36
+ </button>
37
+ <button class="u-text-btn u-text-high-emphasis">Text button</button>
38
+ </div>
39
+ </div>
40
+ <div class="p-4 u-text-bg-secondary-container">
41
+ <div>.u-text-bg-secondary-container</div>
42
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
43
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
44
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
45
+ <div class="u-divider"></div>
46
+ <div class="u-btn-set">
47
+ <button class="u-icon-btn u-text-high-emphasis">
48
+ <i class="u-btn-icon mdi mdi-heart"></i>
49
+ </button>
50
+ <button class="u-text-btn u-text-high-emphasis">Text button</button>
51
+ </div>
52
+ </div>
53
+ <div class="p-4 u-text-bg-tertiary">
54
+ <div>.u-text-bg-tertiary</div>
55
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
56
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
57
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
58
+ <div class="u-divider"></div>
59
+ <div class="u-btn-set">
60
+ <button class="u-icon-btn u-text-high-emphasis">
61
+ <i class="u-btn-icon mdi mdi-heart"></i>
62
+ </button>
63
+ <button class="u-text-btn u-text-high-emphasis">Text button</button>
64
+ </div>
65
+ </div>
66
+ <div class="p-4 u-text-bg-tertiary-container">
67
+ <div>.u-text-bg-tertiary-container</div>
68
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
69
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
70
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
71
+ <div class="u-divider"></div>
72
+ <div class="u-btn-set">
73
+ <button class="u-icon-btn u-text-high-emphasis">
74
+ <i class="u-btn-icon mdi mdi-heart"></i>
75
+ </button>
76
+ <button class="u-text-btn u-text-high-emphasis">Text button</button>
77
+ </div>
78
+ </div>
79
+ <div class="p-4 u-text-bg-error">
80
+ <div>.u-text-bg-error</div>
81
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
82
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
83
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
84
+ <div class="u-divider"></div>
85
+ <div class="u-btn-set">
86
+ <button class="u-icon-btn u-text-high-emphasis">
87
+ <i class="u-btn-icon mdi mdi-heart"></i>
88
+ </button>
89
+ <button class="u-text-btn u-text-high-emphasis">Text button</button>
90
+ </div>
91
+ </div>
92
+ <div class="p-4 u-text-bg-error-container">
93
+ <div>.u-text-bg-error-container</div>
94
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
95
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
96
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
97
+ <div class="u-divider"></div>
98
+ <div class="u-btn-set">
99
+ <button class="u-icon-btn u-text-high-emphasis">
100
+ <i class="u-btn-icon mdi mdi-heart"></i>
101
+ </button>
102
+ <button class="u-text-btn u-text-high-emphasis">Text button</button>
103
+ </div>
104
+ </div>
105
+ <div class="p-4 u-text-bg-surface">
106
+ <div>.u-text-bg-surface</div>
107
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
108
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
109
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
110
+ <div class="u-divider"></div>
111
+ <div class="u-btn-set">
112
+ <button class="u-icon-btn u-text-high-emphasis">
113
+ <i class="u-btn-icon mdi mdi-heart"></i>
114
+ </button>
115
+ <button class="u-text-btn">Text button</button>
116
+ </div>
117
+ </div>
118
+ <div class="p-4 u-text-bg-inverse-surface">
119
+ <div>.u-text-bg-inverse-surface</div>
120
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
121
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
122
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
123
+ <div class="u-divider"></div>
124
+ <div class="u-btn-set">
125
+ <button class="u-icon-btn u-text-high-emphasis">
126
+ <i class="u-btn-icon mdi mdi-heart"></i>
127
+ </button>
128
+ <button class="u-text-btn">Text button</button>
129
+ </div>
130
+ </div>
131
+ <div class="p-4 u-text-bg-surface-variant">
132
+ <div>.u-text-bg-surface-variant</div>
133
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
134
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
135
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
136
+ <div class="u-divider"></div>
137
+ <div class="u-btn-set">
138
+ <button class="u-icon-btn u-text-high-emphasis">
139
+ <i class="u-btn-icon mdi mdi-heart"></i>
140
+ </button>
141
+ <button class="u-text-btn">Text button</button>
142
+ </div>
143
+ </div>
144
+ <div class="p-4 u-text-bg-inverse-surface-variant">
145
+ <div>.u-text-bg-inverse-surface-variant</div>
146
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
147
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
148
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
149
+ <div class="u-divider"></div>
150
+ <div class="u-btn-set">
151
+ <button class="u-icon-btn u-text-high-emphasis">
152
+ <i class="u-btn-icon mdi mdi-heart"></i>
153
+ </button>
154
+ <button class="u-text-btn">Text button</button>
155
+ </div>
156
+ </div>
157
+ <div class="p-4 u-text-bg-body">
158
+ <div>.u-text-bg-body</div>
159
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
160
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
161
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
162
+ <div class="u-divider"></div>
163
+ <div class="u-btn-set">
164
+ <button class="u-icon-btn u-text-high-emphasis">
165
+ <i class="u-btn-icon mdi mdi-heart"></i>
166
+ </button>
167
+ <button class="u-text-btn">Text button</button>
168
+ </div>
169
+ </div>
170
+ <div class="p-4 u-text-bg-inverse-mode">
171
+ <div>.u-text-bg-inverse-mode</div>
172
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
173
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
174
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
175
+ <div class="u-divider"></div>
176
+ <div class="u-btn-set">
177
+ <button class="u-icon-btn u-text-high-emphasis">
178
+ <i class="u-btn-icon mdi mdi-heart"></i>
179
+ </button>
180
+ <button class="u-text-btn">Text button</button>
181
+ </div>
182
+ </div>
183
+ <div class="p-4 u-text-bg-light-mode">
184
+ <div>.u-text-bg-light-mode</div>
185
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
186
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
187
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
188
+ <div class="u-divider"></div>
189
+ <div class="u-btn-set">
190
+ <button class="u-icon-btn u-text-high-emphasis">
191
+ <i class="u-btn-icon mdi mdi-heart"></i>
192
+ </button>
193
+ <button class="u-text-btn">Text button</button>
194
+ </div>
195
+ </div>
196
+ <div class="p-4 u-text-bg-dark-mode">
197
+ <div>.u-text-bg-dark-mode</div>
198
+ <div class="u-text-high-emphasis">.u-text-high-emphasis</div>
199
+ <div class="u-text-low-emphasis">.u-text-low-emphasis</div>
200
+ <div class="u-text-lower-emphasis">.u-text-lower-emphasis</div>
201
+ <div class="u-divider"></div>
202
+ <div class="u-btn-set">
203
+ <button class="u-icon-btn u-text-high-emphasis">
204
+ <i class="u-btn-icon mdi mdi-heart"></i>
205
+ </button>
206
+ <button class="u-text-btn">Text button</button>
207
+ </div>
208
+ </div>
@@ -0,0 +1,10 @@
1
+ extends ../_layout
2
+
3
+ block content
4
+ +renderTitle('Colors')
5
+
6
+ +renderSection('Theme colors')
7
+ include:exampleCode text-and-background-colors/theme-colors.html
8
+
9
+ +renderSection('Common colors')
10
+ include:exampleCode text-and-background-colors/common-colors.html
@@ -0,0 +1,12 @@
1
+ <div class="u-title-l u-text-info">.u-text-info
2
+ <span class="u-text-low-emphasis">.u-text-info</span>
3
+ <span class="u-text-lower-emphasis">.u-text-info</span>
4
+ </div>
5
+ <div class="u-title-l u-text-success">.u-text-success
6
+ <span class="u-text-low-emphasis">.u-text-success</span>
7
+ <span class="u-text-lower-emphasis">.u-text-success</span>
8
+ </div>
9
+ <div class="u-title-l u-text-warning">.u-text-warning
10
+ <span class="u-text-low-emphasis">.u-text-warning</span>
11
+ <span class="u-text-lower-emphasis">.u-text-warning</span>
12
+ </div>
@@ -0,0 +1,26 @@
1
+ <div class="p-2">
2
+ <div class="u-title-l u-text-high-emphasis">.u-text-high-emphasis</div>
3
+ <div class="u-title-l u-text-low-emphasis">.u-text-low-emphasis</div>
4
+ <div class="u-title-l u-text-lower-emphasis">.u-text-lower-emphasis</div>
5
+ </div>
6
+
7
+ <div class="u-bg-light-mode u-text-light-mode p-2">
8
+ <div class="u-title-l">.u-text-light-mode</div>
9
+ <div class="u-title-l u-text-high-emphasis">.u-text-high-emphasis</div>
10
+ <div class="u-title-l u-text-low-emphasis">.u-text-low-emphasis</div>
11
+ <div class="u-title-l u-text-lower-emphasis">.u-text-lower-emphasis</div>
12
+ </div>
13
+
14
+ <div class="u-bg-dark-mode u-text-dark-mode p-2">
15
+ <div class="u-title-l">.u-text-dark-mode</div>
16
+ <div class="u-title-l u-text-high-emphasis">.u-text-high-emphasis</div>
17
+ <div class="u-title-l u-text-low-emphasis">.u-text-low-emphasis</div>
18
+ <div class="u-title-l u-text-lower-emphasis">.u-text-lower-emphasis</div>
19
+ </div>
20
+
21
+ <div class="u-bg-inverse-mode u-text-inverse-mode p-2">
22
+ <div class="u-title-l">.u-text-inverse-mode</div>
23
+ <div class="u-title-l u-text-high-emphasis">.u-text-high-emphasis</div>
24
+ <div class="u-title-l u-text-low-emphasis">.u-text-low-emphasis</div>
25
+ <div class="u-title-l u-text-lower-emphasis">.u-text-lower-emphasis</div>
26
+ </div>
@@ -0,0 +1,37 @@
1
+ <div class="u-title-l u-text-primary">.u-text-primary
2
+ <span class="u-text-low-emphasis">.u-text-primary</span>
3
+ <span class="u-text-lower-emphasis">.u-text-primary</span>
4
+ </div>
5
+ <div class="u-title-l u-text-secondary">.u-text-secondary
6
+ <span class="u-text-low-emphasis">.u-text-secondary</span>
7
+ <span class="u-text-lower-emphasis">.u-text-secondary</span>
8
+ </div>
9
+ <div class="u-title-l u-text-tertiary">.u-text-tertiary
10
+ <span class="u-text-low-emphasis">.u-text-tertiary</span>
11
+ <span class="u-text-lower-emphasis">.u-text-tertiary</span>
12
+ </div>
13
+ <div class="u-title-l u-text-on-primary u-bg-inverse-surface">.u-text-on-primary
14
+ <span class="u-text-low-emphasis">.u-text-on-primary</span>
15
+ <span class="u-text-lower-emphasis">.u-text-on-primary</span>
16
+ </div>
17
+ <div class="u-title-l u-text-on-secondary u-bg-inverse-surface">.u-text-on-secondary
18
+ <span class="u-text-low-emphasis">.u-text-on-secondary</span>
19
+ <span class="u-text-lower-emphasis">.u-text-on-secondary</span>
20
+ </div>
21
+ <div class="u-title-l u-text-on-tertiary u-bg-inverse-surface">.u-text-on-tertiary
22
+ <span class="u-text-low-emphasis">.u-text-on-tertiary</span>
23
+ <span class="u-text-lower-emphasis">.u-text-on-tertiary</span>
24
+ </div>
25
+ <div class="u-title-l u-text-on-primary-container">.u-text-on-primary-container
26
+ <span class="u-text-low-emphasis">.u-text-on-primary-container</span>
27
+ <span class="u-text-lower-emphasis">.u-text-on-primary-container</span>
28
+ </div>
29
+ <div class="u-title-l u-text-on-secondary-container">.u-text-on-secondary-container
30
+ <span class="u-text-low-emphasis">.u-text-on-secondary-container</span>
31
+ <span class="u-text-lower-emphasis">.u-text-on-secondary-container</span>
32
+ </div>
33
+ <div class="u-title-l u-text-on-tertiary-container">.u-text-on-tertiary-container
34
+ <span class="u-text-low-emphasis">.u-text-on-tertiary-container</span>
35
+ <span class="u-text-lower-emphasis">.u-text-on-tertiary-container</span>
36
+ </div>
37
+
@@ -0,0 +1,13 @@
1
+ extends ../_layout
2
+
3
+ block content
4
+ +renderTitle('Colors')
5
+
6
+ +renderSection('Theme colors')
7
+ include:exampleCode text-colors/theme-colors.html
8
+
9
+ +renderSection('Common colors')
10
+ include:exampleCode text-colors/common-colors.html
11
+
12
+ +renderSection('Emphasis colors')
13
+ include:exampleCode text-colors/emphasis-colors.html