@shortfuse/materialdesignweb 0.2.0 → 0.5.0

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 (416) hide show
  1. package/.browserslistrc +2 -1
  2. package/.eslintrc.json +188 -30
  3. package/.stylelintrc.json +643 -2
  4. package/.vscode/launch.json +20 -5
  5. package/.vscode/settings.json +3 -0
  6. package/CHANGELOG.md +36 -0
  7. package/README.md +82 -2
  8. package/adapters/datatable/column.js +176 -0
  9. package/adapters/datatable/index.js +253 -437
  10. package/adapters/dom/index.js +586 -0
  11. package/adapters/list/index.js +36 -113
  12. package/adapters/search/index.js +153 -180
  13. package/components/appbar/_spec.scss +165 -0
  14. package/components/appbar/_theme.scss +0 -0
  15. package/components/appbar/index.scss +2 -0
  16. package/components/banner/_spec.scss +83 -0
  17. package/components/banner/_theme.scss +0 -0
  18. package/components/banner/index.scss +2 -0
  19. package/components/bottomnav/README.md +4 -4
  20. package/components/bottomnav/_spec.scss +149 -0
  21. package/components/bottomnav/_theme.scss +0 -0
  22. package/components/bottomnav/index.js +100 -120
  23. package/components/bottomnav/index.scss +2 -0
  24. package/components/bottomnav/item.js +88 -0
  25. package/components/button/README.md +16 -22
  26. package/components/button/_spec.scss +162 -0
  27. package/components/button/_theme.scss +42 -0
  28. package/components/button/index.eta +32 -0
  29. package/components/button/index.js +37 -48
  30. package/components/button/index.pug +18 -0
  31. package/components/button/index.scss +2 -0
  32. package/components/card/_spec.scss +241 -0
  33. package/components/card/_theme.scss +0 -0
  34. package/components/card/index.scss +2 -0
  35. package/components/chip/_spec.scss +111 -0
  36. package/components/chip/_theme.scss +105 -0
  37. package/components/chip/index.js +23 -0
  38. package/components/chip/index.scss +2 -0
  39. package/components/chip/item.js +20 -0
  40. package/components/datatable/_spec.scss +225 -0
  41. package/components/datatable/_theme.scss +128 -0
  42. package/components/datatable/cell.js +44 -0
  43. package/components/datatable/columnheader.js +46 -0
  44. package/components/datatable/index.js +339 -443
  45. package/components/datatable/index.scss +2 -0
  46. package/components/datatable/row.js +48 -0
  47. package/components/datatable/rowheader.js +18 -0
  48. package/components/dialog/_spec.scss +203 -0
  49. package/components/dialog/_theme.scss +7 -0
  50. package/components/dialog/index.js +512 -437
  51. package/components/dialog/index.scss +2 -0
  52. package/components/divider/_spec.scss +11 -0
  53. package/components/divider/_theme.scss +0 -0
  54. package/components/divider/index.scss +2 -0
  55. package/components/elevation/_spec.scss +9 -0
  56. package/components/elevation/_theme.scss +0 -0
  57. package/components/elevation/index.scss +2 -0
  58. package/components/fab/{style.scss → _spec.scss} +104 -79
  59. package/components/fab/_theme.scss +0 -0
  60. package/components/fab/index.js +85 -79
  61. package/components/fab/index.scss +2 -0
  62. package/components/grid/_spec.scss +169 -0
  63. package/components/grid/_theme.scss +0 -0
  64. package/components/grid/index.scss +2 -0
  65. package/components/layout/_mixins.scss +11 -0
  66. package/components/layout/_spec.scss +916 -0
  67. package/components/layout/_theme.scss +19 -0
  68. package/components/layout/index.js +454 -0
  69. package/components/layout/index.scss +2 -0
  70. package/components/list/_spec.scss +363 -0
  71. package/components/list/_theme.scss +102 -0
  72. package/components/list/content.js +106 -0
  73. package/components/list/index.js +234 -79
  74. package/components/list/index.scss +2 -0
  75. package/components/list/item.js +167 -0
  76. package/components/list/secondary.js +45 -0
  77. package/components/menu/_spec.scss +329 -0
  78. package/components/menu/_theme.scss +0 -0
  79. package/components/menu/index.js +636 -651
  80. package/components/menu/index.scss +2 -0
  81. package/components/menu/item.js +231 -0
  82. package/components/progress/_spec.scss +156 -0
  83. package/components/progress/_theme.scss +0 -0
  84. package/components/progress/index.js +29 -13
  85. package/components/progress/index.scss +2 -0
  86. package/components/selection/_spec.scss +376 -0
  87. package/components/selection/_theme.scss +134 -0
  88. package/components/selection/index.eta +60 -0
  89. package/components/selection/index.js +70 -0
  90. package/components/selection/index.pug +30 -0
  91. package/components/selection/index.scss +2 -0
  92. package/components/selection/input.js +54 -0
  93. package/components/selection/radiogroup.js +40 -0
  94. package/components/slider/{style.scss → _spec.scss} +31 -34
  95. package/components/slider/_theme.scss +0 -0
  96. package/components/slider/index.scss +2 -0
  97. package/components/snackbar/_spec.scss +150 -0
  98. package/components/snackbar/_theme.scss +0 -0
  99. package/components/snackbar/index.js +293 -206
  100. package/components/snackbar/index.scss +2 -0
  101. package/components/tab/_spec.scss +220 -0
  102. package/components/tab/_theme.scss +0 -0
  103. package/components/tab/content.js +210 -0
  104. package/components/tab/index.js +229 -213
  105. package/components/tab/index.scss +2 -0
  106. package/components/tab/item.js +88 -0
  107. package/components/tab/list.js +196 -0
  108. package/components/tab/panel.js +54 -0
  109. package/components/textfield/README.md +4 -4
  110. package/components/textfield/_spec.scss +763 -0
  111. package/components/textfield/_theme.scss +264 -0
  112. package/components/textfield/index.eta +74 -0
  113. package/components/textfield/index.js +132 -138
  114. package/components/textfield/index.pug +30 -0
  115. package/components/textfield/index.scss +2 -0
  116. package/components/tooltip/_spec.scss +185 -0
  117. package/components/tooltip/_theme.scss +0 -0
  118. package/components/tooltip/index.scss +2 -0
  119. package/components/type/_spec.scss +227 -0
  120. package/components/type/_theme.scss +0 -0
  121. package/components/type/index.scss +2 -0
  122. package/core/_breakpoint.scss +189 -0
  123. package/core/_elevation.scss +78 -0
  124. package/core/_length.scss +8 -0
  125. package/core/_motion.scss +31 -0
  126. package/core/_platform.scss +12 -0
  127. package/core/_type.scss +128 -0
  128. package/core/aria/attributes.js +141 -0
  129. package/core/aria/button.js +49 -0
  130. package/core/aria/keyboard.js +92 -0
  131. package/core/aria/rovingtabindex.js +175 -0
  132. package/core/aria/tab.js +59 -0
  133. package/core/document/index.js +39 -0
  134. package/core/dom.js +180 -0
  135. package/core/overlay/_spec.scss +28 -0
  136. package/core/overlay/_theme.scss +147 -0
  137. package/core/overlay/index.js +95 -0
  138. package/core/overlay/index.scss +2 -0
  139. package/core/ripple/_spec.scss +196 -0
  140. package/core/ripple/_theme.scss +20 -0
  141. package/core/ripple/index.js +286 -0
  142. package/core/ripple/index.scss +2 -0
  143. package/core/theme/_aliases.scss +15 -0
  144. package/core/theme/_config.scss +8 -0
  145. package/core/theme/_functions.scss +22 -0
  146. package/{components/theming/palettes.scss → core/theme/_palettes.scss} +173 -151
  147. package/core/theme/_spec.scss +0 -0
  148. package/core/theme/_theme.scss +268 -0
  149. package/core/theme/index.js +50 -0
  150. package/core/theme/index.scss +4 -0
  151. package/core/throttler.js +42 -0
  152. package/core/transition/index.js +465 -0
  153. package/docs/_flex.scss +28 -0
  154. package/docs/_menuoptions.js +183 -0
  155. package/docs/_partials/_androidnavbar.eta +5 -0
  156. package/docs/_partials/_androidstatusbar.eta +13 -0
  157. package/docs/_partials/_appbar.eta +27 -0
  158. package/docs/_partials/_buttontest.eta +31 -0
  159. package/docs/_partials/_header.eta +146 -0
  160. package/docs/_partials/_navlistitem.eta +16 -0
  161. package/docs/_partials/_target.eta +1 -0
  162. package/docs/_sample-utils.js +88 -0
  163. package/docs/{src/storage.js → _storage.js} +0 -0
  164. package/docs/docs.scss +331 -0
  165. package/docs/framework.scss +26 -0
  166. package/docs/index.eta +12 -0
  167. package/docs/index.js +7 -0
  168. package/docs/pages/appbar.eta +108 -0
  169. package/docs/pages/appbar.js +0 -0
  170. package/docs/pages/bottomnav.eta +188 -0
  171. package/docs/pages/bottomnav.js +118 -0
  172. package/docs/pages/button.eta +124 -0
  173. package/docs/pages/button.js +224 -0
  174. package/docs/pages/card.eta +90 -0
  175. package/docs/pages/card.js +175 -0
  176. package/docs/pages/chip.eta +122 -0
  177. package/docs/pages/chip.js +80 -0
  178. package/docs/pages/color.eta +143 -0
  179. package/docs/pages/color.js +261 -0
  180. package/docs/pages/datatable.eta +323 -0
  181. package/docs/pages/datatable.js +160 -0
  182. package/docs/pages/dialog.eta +184 -0
  183. package/docs/{src/components → pages}/dialog.js +35 -48
  184. package/docs/pages/dom.eta +26 -0
  185. package/docs/pages/dom.js +140 -0
  186. package/docs/pages/elevation.eta +35 -0
  187. package/docs/pages/elevation.js +0 -0
  188. package/docs/pages/fab.eta +99 -0
  189. package/docs/{src/components → pages}/fab.js +6 -13
  190. package/docs/pages/grid.eta +135 -0
  191. package/docs/pages/grid.js +128 -0
  192. package/docs/pages/layout.eta +8 -0
  193. package/docs/pages/layout.js +0 -0
  194. package/docs/pages/list.eta +465 -0
  195. package/docs/pages/list.js +8 -0
  196. package/docs/pages/menu.eta +274 -0
  197. package/docs/{src/components → pages}/menu.js +26 -42
  198. package/docs/pages/overlay.eta +69 -0
  199. package/docs/pages/overlay.js +3 -0
  200. package/docs/pages/progress.eta +23 -0
  201. package/docs/{src/components → pages}/progress.js +2 -4
  202. package/docs/pages/ripple.eta +27 -0
  203. package/docs/pages/ripple.js +3 -0
  204. package/docs/pages/search.eta +242 -0
  205. package/docs/pages/search.js +226 -0
  206. package/docs/pages/selection.eta +107 -0
  207. package/docs/pages/selection.js +12 -0
  208. package/docs/pages/slider.eta +23 -0
  209. package/docs/pages/slider.js +0 -0
  210. package/docs/pages/snackbar.eta +83 -0
  211. package/docs/{src/components → pages}/snackbar.js +31 -36
  212. package/docs/pages/tab.eta +407 -0
  213. package/docs/pages/tab.js +152 -0
  214. package/docs/pages/textfield.eta +487 -0
  215. package/docs/{src/components → pages}/textfield.js +41 -45
  216. package/docs/pages/tooltip.eta +92 -0
  217. package/docs/pages/tooltip.js +0 -0
  218. package/docs/pages/transition.eta +117 -0
  219. package/docs/pages/transition.js +52 -0
  220. package/docs/pages/type.eta +31 -0
  221. package/docs/pages/type.js +0 -0
  222. package/docs/postrender.js +41 -0
  223. package/docs/prerender.js +16 -0
  224. package/docs/pwa/_dialogs.eta +143 -0
  225. package/docs/pwa/_menus.eta +16 -0
  226. package/docs/pwa/pwa-prerender.js +3 -0
  227. package/docs/pwa/pwa.eta +478 -0
  228. package/docs/pwa/pwa.js +298 -0
  229. package/docs/pwa/pwa.scss +31 -0
  230. package/docs/themes/theme-colored.scss +15 -0
  231. package/docs/themes/theme-default.scss +3 -0
  232. package/index.scss +27 -0
  233. package/jsconfig.json +8 -2
  234. package/package.json +54 -27
  235. package/scripts/deploy-docs.sh +9 -0
  236. package/templates/index.eta +2 -0
  237. package/templates/index.pug +3 -0
  238. package/tsconfig.json +16 -0
  239. package/utils/function.js +3 -0
  240. package/webpack.config.js +224 -68
  241. package/_index.scss +0 -4
  242. package/components/all-components.scss +0 -21
  243. package/components/bottomnav/style.scss +0 -190
  244. package/components/bottomnav/theming.scss +0 -76
  245. package/components/button/style.scss +0 -315
  246. package/components/button/theming.scss +0 -134
  247. package/components/card/style.scss +0 -175
  248. package/components/card/theming.scss +0 -43
  249. package/components/common/dom.js +0 -51
  250. package/components/common/functions.scss +0 -174
  251. package/components/common/mixins.scss +0 -122
  252. package/components/common/motion.scss +0 -36
  253. package/components/common/type.scss +0 -104
  254. package/components/common/variables.scss +0 -46
  255. package/components/datatable/style.scss +0 -257
  256. package/components/datatable/theming.scss +0 -119
  257. package/components/dialog/style.scss +0 -159
  258. package/components/dialog/theming.scss +0 -29
  259. package/components/divider/style.scss +0 -7
  260. package/components/divider/theming.scss +0 -20
  261. package/components/elevation/style.scss +0 -32
  262. package/components/layout/style.scss +0 -223
  263. package/components/list/style.scss +0 -358
  264. package/components/list/theming.scss +0 -83
  265. package/components/menu/style.scss +0 -280
  266. package/components/menu/theming.scss +0 -80
  267. package/components/navdrawer/index.js +0 -200
  268. package/components/navdrawer/style.scss +0 -595
  269. package/components/navdrawer/theming.scss +0 -62
  270. package/components/progress/style.scss +0 -136
  271. package/components/ripple/index.js +0 -63
  272. package/components/ripple/ripple.scss +0 -122
  273. package/components/selection/style.scss +0 -320
  274. package/components/selection/theming.scss +0 -98
  275. package/components/snackbar/style.scss +0 -212
  276. package/components/switch/style.scss +0 -3
  277. package/components/tab/style.scss +0 -275
  278. package/components/tab/theming.scss +0 -34
  279. package/components/template/theming.scss +0 -31
  280. package/components/textfield/style.scss +0 -795
  281. package/components/textfield/theming.scss +0 -256
  282. package/components/theming/globals.scss +0 -25
  283. package/components/theming/theming.scss +0 -559
  284. package/components/toolbar/style.scss +0 -190
  285. package/components/toolbar/theming.scss +0 -32
  286. package/components/tooltip/style.scss +0 -135
  287. package/components/type/style.scss +0 -167
  288. package/components/type/theming.scss +0 -25
  289. package/docs/bottomnav.html +0 -1
  290. package/docs/bottomnav.min.js +0 -2
  291. package/docs/bottomnav.min.js.map +0 -1
  292. package/docs/button.html +0 -1
  293. package/docs/button.min.js +0 -2
  294. package/docs/button.min.js.map +0 -1
  295. package/docs/card.html +0 -1
  296. package/docs/card.min.js +0 -2
  297. package/docs/card.min.js.map +0 -1
  298. package/docs/components.min.css +0 -1
  299. package/docs/components.min.js +0 -2
  300. package/docs/components.min.js.map +0 -1
  301. package/docs/datatable.html +0 -1
  302. package/docs/datatable.min.js +0 -2
  303. package/docs/datatable.min.js.map +0 -1
  304. package/docs/dialog.html +0 -1
  305. package/docs/dialog.min.js +0 -2
  306. package/docs/dialog.min.js.map +0 -1
  307. package/docs/docs.min.css +0 -1
  308. package/docs/docs.min.js +0 -2
  309. package/docs/docs.min.js.map +0 -1
  310. package/docs/elevation.html +0 -1
  311. package/docs/elevation.min.js +0 -2
  312. package/docs/elevation.min.js.map +0 -1
  313. package/docs/fab.html +0 -1
  314. package/docs/fab.min.js +0 -2
  315. package/docs/fab.min.js.map +0 -1
  316. package/docs/index.html +0 -1
  317. package/docs/index.min.js +0 -2
  318. package/docs/index.min.js.map +0 -1
  319. package/docs/layout.html +0 -1
  320. package/docs/layout.min.js +0 -2
  321. package/docs/layout.min.js.map +0 -1
  322. package/docs/list.html +0 -1
  323. package/docs/list.min.js +0 -2
  324. package/docs/list.min.js.map +0 -1
  325. package/docs/menu.html +0 -1
  326. package/docs/menu.min.js +0 -2
  327. package/docs/menu.min.js.map +0 -1
  328. package/docs/navdrawer.html +0 -1
  329. package/docs/navdrawer.min.js +0 -2
  330. package/docs/navdrawer.min.js.map +0 -1
  331. package/docs/prerender.min.js +0 -2
  332. package/docs/prerender.min.js.map +0 -1
  333. package/docs/progress.html +0 -1
  334. package/docs/progress.min.js +0 -2
  335. package/docs/progress.min.js.map +0 -1
  336. package/docs/search.html +0 -1
  337. package/docs/search.min.js +0 -2
  338. package/docs/search.min.js.map +0 -1
  339. package/docs/selection.html +0 -1
  340. package/docs/selection.min.js +0 -2
  341. package/docs/selection.min.js.map +0 -1
  342. package/docs/slider.html +0 -1
  343. package/docs/slider.min.js +0 -2
  344. package/docs/slider.min.js.map +0 -1
  345. package/docs/snackbar.html +0 -1
  346. package/docs/snackbar.min.js +0 -2
  347. package/docs/snackbar.min.js.map +0 -1
  348. package/docs/src/components/bottomnav.js +0 -16
  349. package/docs/src/components/bottomnav.pug +0 -112
  350. package/docs/src/components/button.js +0 -156
  351. package/docs/src/components/button.pug +0 -194
  352. package/docs/src/components/card.js +0 -136
  353. package/docs/src/components/card.pug +0 -133
  354. package/docs/src/components/datatable.js +0 -183
  355. package/docs/src/components/datatable.pug +0 -324
  356. package/docs/src/components/dialog.pug +0 -138
  357. package/docs/src/components/elevation.js +0 -3
  358. package/docs/src/components/elevation.pug +0 -17
  359. package/docs/src/components/fab.pug +0 -84
  360. package/docs/src/components/layout.js +0 -116
  361. package/docs/src/components/layout.pug +0 -104
  362. package/docs/src/components/list.js +0 -15
  363. package/docs/src/components/list.pug +0 -293
  364. package/docs/src/components/menu.pug +0 -292
  365. package/docs/src/components/navdrawer.js +0 -112
  366. package/docs/src/components/navdrawer.pug +0 -113
  367. package/docs/src/components/progress.pug +0 -17
  368. package/docs/src/components/search.js +0 -206
  369. package/docs/src/components/search.pug +0 -149
  370. package/docs/src/components/selection.js +0 -6
  371. package/docs/src/components/selection.pug +0 -116
  372. package/docs/src/components/slider.js +0 -3
  373. package/docs/src/components/slider.pug +0 -19
  374. package/docs/src/components/snackbar.pug +0 -145
  375. package/docs/src/components/tab.js +0 -137
  376. package/docs/src/components/tab.pug +0 -329
  377. package/docs/src/components/textfield.pug +0 -416
  378. package/docs/src/components/toolbar.js +0 -6
  379. package/docs/src/components/toolbar.pug +0 -86
  380. package/docs/src/components/tooltip.js +0 -6
  381. package/docs/src/components/tooltip.pug +0 -76
  382. package/docs/src/components/type.js +0 -6
  383. package/docs/src/components/type.pug +0 -34
  384. package/docs/src/components.scss +0 -1
  385. package/docs/src/docs.scss +0 -284
  386. package/docs/src/index.js +0 -3
  387. package/docs/src/index.pug +0 -6
  388. package/docs/src/menuoptions.js +0 -136
  389. package/docs/src/mixins.pug +0 -139
  390. package/docs/src/prerender.js +0 -26
  391. package/docs/src/sample-utils.js +0 -108
  392. package/docs/src/targetHandler.js +0 -50
  393. package/docs/src/theming.ie11.scss +0 -18
  394. package/docs/src/theming.scss +0 -18
  395. package/docs/tab.html +0 -1
  396. package/docs/tab.min.js +0 -2
  397. package/docs/tab.min.js.map +0 -1
  398. package/docs/textfield.html +0 -2
  399. package/docs/textfield.min.js +0 -2
  400. package/docs/textfield.min.js.map +0 -1
  401. package/docs/theming.ie11.min.css +0 -1
  402. package/docs/theming.ie11.min.js +0 -2
  403. package/docs/theming.ie11.min.js.map +0 -1
  404. package/docs/theming.min.css +0 -1
  405. package/docs/theming.min.js +0 -2
  406. package/docs/theming.min.js.map +0 -1
  407. package/docs/toolbar.html +0 -1
  408. package/docs/toolbar.min.js +0 -2
  409. package/docs/toolbar.min.js.map +0 -1
  410. package/docs/tooltip.html +0 -1
  411. package/docs/tooltip.min.js +0 -2
  412. package/docs/tooltip.min.js.map +0 -1
  413. package/docs/type.html +0 -1
  414. package/docs/type.min.js +0 -2
  415. package/docs/type.min.js.map +0 -1
  416. package/index.js +0 -16
@@ -1,50 +0,0 @@
1
- const crosshairs = {
2
- };
3
- let vOffset = 0;
4
- let hOffset = 0;
5
-
6
- Object.defineProperty(crosshairs, 'vOffset', {
7
- enumerable: true,
8
- configurable: false,
9
- get() {
10
- return vOffset;
11
- },
12
- set(val) {
13
- vOffset = val;
14
- document.getElementById('verticalLineLeft').style.left = `${val}px`;
15
- document.getElementById('verticalLineRight').style.left = `${val}px`;
16
- },
17
- });
18
-
19
-
20
- Object.defineProperty(crosshairs, 'hOffset', {
21
- enumerable: true,
22
- configurable: false,
23
- get() {
24
- return hOffset;
25
- },
26
- set(val) {
27
- hOffset = val;
28
- document.getElementById('horizontalLine').style.top = `${val}px`;
29
- },
30
- });
31
-
32
- /**
33
- * @param {MouseEvent} event
34
- * @return {void}
35
- */
36
- function onTemplateImageClick(event) {
37
- document.getElementById('horizontalLine').style.top = `${event.clientY}px`;
38
- document.getElementById('verticalLineLeft').style.left = `${event.layerX}px`;
39
- document.getElementById('verticalLineRight').style.left = `${event.clientX}px`;
40
- }
41
-
42
- /** @return {void} */
43
- function setupImageTargets() {
44
- const targets = document.getElementsByClassName('target');
45
- for (let i = 0; i < targets.length; i += 1) {
46
- targets[i].addEventListener('click', onTemplateImageClick);
47
- }
48
- }
49
-
50
- export default setupImageTargets;
@@ -1,18 +0,0 @@
1
- @import "../../components/theming/theming.scss";
2
- $themes: (
3
- "default": ('indigo', 'pink', 'red'),
4
- "textfield": ('deeppurple', 'amber', 'red'),
5
- "toolbar": ('blue', 'pink', 'red'),
6
- "bottomnav": ('teal', 'brown', 'red'),
7
- "list": ('teal', 'cyan', 'pink'),
8
- "selection": ('blue', 'teal', 'red'),
9
- "tab": ('cyan', 'yellow', 'red')
10
- );
11
- $colors: ('cyan', 'red', 'green','lightblue', 'purple');
12
- $config: (
13
- themes: $themes,
14
- explicit-colors: $colors,
15
- ie11-support: 'only',
16
- ie11-media-wrap: 'no'
17
- );
18
- @include buildMDWThemes($config);
@@ -1,18 +0,0 @@
1
- @import "../../components/theming/theming.scss";
2
- $themes: (
3
- "default": ('indigo', 'pink', 'red'),
4
- "textfield": ('deeppurple', 'amber', 'red'),
5
- "toolbar": ('blue', 'pink', 'red'),
6
- "bottomnav": ('teal', 'brown', 'red'),
7
- "list": ('teal', 'cyan', 'pink'),
8
- "selection": ('blue', 'teal', 'red'),
9
- "tab": ('cyan', 'yellow', 'red')
10
- );
11
- $colors: ('cyan', 'red', 'green','lightblue', 'purple');
12
- $mdw-config: (
13
- themes: $themes,
14
- automatic-contrast: 'no',
15
- explicit-colors: $colors,
16
- ie11-support: 'no'
17
- );
18
- @include buildMDWThemes($mdw-config);
package/docs/tab.html DELETED
@@ -1 +0,0 @@
1
- <!DOCTYPE html><html lang="en"><head><title>Material Design Web</title><meta charset="utf-8"><meta content="IE=edge" http-equiv="X-UA-Compatible"><meta content="" name="description"><meta content="width=device-width, initial-scale=1, viewport-fit=cover" name="viewport"><meta name="theme-color" content="#E91E63"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><meta name="apple-mobile-web-app-capable" content="yes"><link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700"><link rel="stylesheet" href="docs.min.css"><link rel="stylesheet" href="components.min.css"><link rel="stylesheet" href="theming.min.css"><link rel="stylesheet" href="theming.ie11.min.css" media="screen and (-ms-high-contrast: active), (-ms-high-contrast: none)"><script src="prerender.min.js"></script></head><body class="mdw-type"><div class="mdw-navdrawer" id="docs-navdrawer"><a class="mdw-navdrawer__scrim" href="#"></a><div class="mdw-navdrawer__toolbar"><div class="mdw-toolbar" mdw-theme-fill="accent-500 dark" mdw-app-bar><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-tooltip__wrapper"><a class="mdw-tooltip__target mdw-button material-icons" mdw-icon href="#docs-navdrawer">menu</a><div class="mdw-tooltip">Menu</div></div></div><div class="mdw-toolbar__title">tab</div><div class="mdw-toolbar__end" id="docs-menu-buttons"><div class="mdw-tooltip__wrapper"><div class="mdw-tooltip__target mdw-button docs-rtl" mdw-inactive>RTL</div><div class="mdw-tooltip">Right-to-Left</div></div><div class="mdw-tooltip__wrapper"><div class="mdw-tooltip__target mdw-button material-icons" mdw-icon mdw-inactive>brightness_3</div><div class="mdw-tooltip">Dark Mode</div></div><div class="mdw-tooltip__wrapper"><div class="mdw-tooltip__target mdw-button material-icons" mdw-icon mdw-inactive>format_size</div><div class="mdw-tooltip">Large Font</div></div></div></div></div></div><div class="mdw-navdrawer__drawer"><div class="mdw-list"><a class="mdw-list__item" href="index.html" mdw-theme-color="primary"><div class="mdw-list__text">Home</div></a><div class="mdw-list__subheader">Components</div><a class="mdw-list__item" href="bottomnav.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">call_to_action</div><div class="mdw-list__text">Bottom Navigation</div></a><a class="mdw-list__item" href="button.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">crop_landscape</div><div class="mdw-list__text">Button</div></a><a class="mdw-list__item" href="card.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">crop_square</div><div class="mdw-list__text">Card</div></a><a class="mdw-list__item" href="dialog.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">select_all</div><div class="mdw-list__text">Dialog</div></a><a class="mdw-list__item" href="datatable.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">format_align_justify</div><div class="mdw-list__text">Data Table</div></a><a class="mdw-list__item" href="elevation.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">layers</div><div class="mdw-list__text">Elevation</div></a><a class="mdw-list__item" href="fab.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">add_circle</div><div class="mdw-list__text">Floating Action Button</div></a><a class="mdw-list__item" href="layout.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">view_compact</div><div class="mdw-list__text">Layout</div></a><a class="mdw-list__item" href="list.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">view_list</div><div class="mdw-list__text">List</div></a><a class="mdw-list__item" href="menu.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">picture_in_picture</div><div class="mdw-list__text">Menu</div></a><a class="mdw-list__item" href="navdrawer.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">menu</div><div class="mdw-list__text">Navigation Drawer</div></a><a class="mdw-list__item" href="progress.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">timelapse</div><div class="mdw-list__text">Progress</div></a><a class="mdw-list__item" href="search.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">search</div><div class="mdw-list__text">Search</div></a><a class="mdw-list__item" href="selection.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">toggle_on</div><div class="mdw-list__text">Selection</div></a><a class="mdw-list__item" href="slider.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">tune</div><div class="mdw-list__text">Slider</div></a><a class="mdw-list__item" href="snackbar.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">video_label</div><div class="mdw-list__text">Snackbar</div></a><a class="mdw-list__item" mdw-selected href="tab.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">tab</div><div class="mdw-list__text">Tab</div></a><a class="mdw-list__item" href="textfield.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">text_fields</div><div class="mdw-list__text">Text Field</div></a><a class="mdw-list__item" href="toolbar.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">web_asset</div><div class="mdw-list__text">Toolbar</div></a><a class="mdw-list__item" href="tooltip.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">info</div><div class="mdw-list__text">Tooltip</div></a><a class="mdw-list__item" href="type.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">font_download</div><div class="mdw-list__text">Typography</div></a></div></div><div class="mdw-navdrawer__content" style="padding-bottom:24px"><div class="mdw-layout docs-tab" mdw-margin-top mdw-margin-bottom><div class="mdw-layout__item" mdw-colspan="100%"><div><h5 class="mdw-type" mdw-baseline-next="36">Tabs make it easy to explore and switch between different views.</h5><p class="mdw-type">Tabs enable content organization at a high level, such as switching between views, data sets, or functional aspects of an app.</p></div></div><div class="mdw-layout__item" mdw-colspan="4"><div class="component-sample"><div class="component-sample__container"><form class="mdw-tab"><input class="mdw-tab__input" id="tab1" type="radio" name="tab" checked><input class="mdw-tab__input" id="tab2" type="radio" name="tab"><input class="mdw-tab__input" id="tab3" type="radio" name="tab"><div class="mdw-tab__items" mdw-theme-color="accent-A200"><label class="mdw-tab__item" for="tab1"><div class="mdw-tab__label">Item One</div></label><label class="mdw-tab__item" for="tab2"><div class="mdw-tab__label">Item Two</div></label><label class="mdw-tab__item" for="tab3"><div class="mdw-tab__label">Item Three</div></label><div class="mdw-tab__indicator"></div></div><div class="mdw-tab__content"><div class="mdw-tab__content-item">Sample Content One</div><div class="mdw-tab__content-item">Sample Content Two</div><div class="mdw-tab__content-item">Sample Content Three</div></div></form></div></div></div><div class="mdw-layout__item" mdw-colspan="8"><div><div class="mdw-type" mdw-style="subtitle">Javascript</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="javascript" value="required"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Required</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="javascript" value="optional" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Optional</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="javascript" value="none"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">None</div></label></div><div class="mdw-type" mdw-style="subtitle">Color</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="color" value="default"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Default</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="color" value="primary-400"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Primary 400</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="color" value="accent-A200" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Accent A200</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="color" value="warn"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Warn</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="color" value="purple-A400"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Purple-A400</div></label></div><div class="mdw-type" mdw-style="subtitle">Fill</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="fill" value="none" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">None</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="fill" value="primary dark"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Primary</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="fill" value="accent-A100 light"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Accent A100</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="fill" value="warn-200 light"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Warn 200</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="fill" value="green-700 dark"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Green 700</div></label></div></div></div><div class="mdw-layout__item" mdw-colspan="100%" style="max-height:0"></div><div class="mdw-layout__item" mdw-colspan="6"><div class="display-flex" flex-column><h6 class="mdw-type">HTML Code</h6><div class="mdw-card component-code component-html"></div></div></div><div class="mdw-layout__item" mdw-colspan="2"><div class="display-flex" flex-column><h6 class="mdw-type">Javascript Code</h6><div class="mdw-card component-code component-js"></div></div></div><div class="mdw-layout__item" mdw-colspan="100%"><h6 class="mdw-type">Samples</h6></div><div class="mdw-layout__item display-flex clipped" mdw-colspan="4" flex-justify-content="center"><div class="render mdw-theme-tab"><form class="mdw-tab"><input class="mdw-tab__input" id="no-toolbar-tab1" type="radio" name="tab" value="one" checked><input class="mdw-tab__input" id="no-toolbar-tab2" type="radio" name="tab" value="two"><input class="mdw-tab__input" id="no-toolbar-tab3" type="radio" name="tab" value="three"><div class="mdw-tab__items" mdw-theme-fill="primary-500 dark" mdw-theme-color="accent"><label class="mdw-tab__item" for="no-toolbar-tab1"><div class="mdw-tab__label">Item One</div></label><label class="mdw-tab__item" for="no-toolbar-tab2"><div class="mdw-tab__label">Item Two</div></label><label class="mdw-tab__item" for="no-toolbar-tab3"><div class="mdw-tab__label">Item Three</div></label><div class="mdw-tab__indicator"></div></div><div class="mdw-tab__content"><div class="mdw-tab__content-item">Item One</div><div class="mdw-tab__content-item">Item Two</div><div class="mdw-tab__content-item">Item Three</div></div></form></div></div><div class="mdw-layout__item display-flex clipped" mdw-colspan="4" flex-justify-content="center"><div class="render mdw-theme-tab"><div class="androidstatusbar" mdw-theme-fill="primary-700"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px">&#xE1BA;&#xE1C8;&#xE1A4;</i></div><div class="mdw-toolbar" mdw-theme-fill="primary-500 dark" mdw-prominent><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon>menu</div></div><div class="mdw-toolbar__title">Page title</div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon>search</div><div class="mdw-button material-icons" mdw-icon mdw-more-button>more_vert</div></div></div><form class="mdw-tab"><input class="mdw-tab__input" id="large-text-tab1" type="radio" name="tab" value="one" checked><input class="mdw-tab__input" id="large-text-tab2" type="radio" name="tab" value="two"><input class="mdw-tab__input" id="large-text-tab3" type="radio" name="tab" value="three"><div class="mdw-tab__items" mdw-theme-color="accent"><label class="mdw-tab__item" for="large-text-tab1"><div class="mdw-tab__label">Item One</div></label><label class="mdw-tab__item" for="large-text-tab2"><div class="mdw-tab__label">Item Two</div></label><label class="mdw-tab__item" for="large-text-tab3"><div class="mdw-tab__label">Item Three</div></label><div class="mdw-tab__indicator"></div></div></form></div><div class="content"></div></div></div><div class="mdw-layout__item display-flex clipped" mdw-colspan="4" flex-justify-content="center"><div class="render mdw-theme-tab"><div class="androidstatusbar" mdw-theme-fill="primary-700"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px">&#xE1BA;&#xE1C8;&#xE1A4;</i></div><form class="mdw-tab"><input class="mdw-tab__input" type="radio" name="tab" value="one" id="text-tab1" checked><input class="mdw-tab__input" type="radio" name="tab" value="two" id="text-tab2"><input class="mdw-tab__input" type="radio" name="tab" value="three" id="text-tab3"><div class="mdw-tab__items-wrapper mdw-toolbar" mdw-theme-fill="primary-500 dark"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon>menu</div></div><div class="mdw-toolbar__title">Page title</div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon>search</div><div class="mdw-button material-icons" mdw-icon mdw-more-button>more_vert</div></div></div><div class="mdw-tab__items" mdw-theme-color="accent"><label class="mdw-tab__item" for="text-tab1"><div class="mdw-tab__label">Item One</div></label><label class="mdw-tab__item" for="text-tab2"><div class="mdw-tab__label">Item Two</div></label><label class="mdw-tab__item" for="text-tab3"><div class="mdw-tab__label">Item Three</div></label><div class="mdw-tab__indicator"></div></div></div><div class="mdw-tab__content"><div class="mdw-tab__content-item">Item One</div><div class="mdw-tab__content-item">Item Two</div><div class="mdw-tab__content-item">Item Three</div></div></form></div></div><div class="mdw-layout__item display-flex clipped" mdw-colspan="4" flex-justify-content="center"><div class="render mdw-theme-tab"><div class="androidstatusbar" mdw-theme-fill="background-600 dark"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px">&#xE1BA;&#xE1C8;&#xE1A4;</i></div><form class="mdw-tab"><input class="mdw-tab__input" id="clear-toolbar-tab1" type="radio" name="tab" value="one" checked><input class="mdw-tab__input" id="clear-toolbar-tab2" type="radio" name="tab" value="two"><input class="mdw-tab__input" id="clear-toolbar-tab3" type="radio" name="tab" value="three"><div class="mdw-tab__items-wrapper mdw-toolbar"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon>menu</div></div><div class="mdw-toolbar__title">Page title</div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon>search</div><div class="mdw-button material-icons" mdw-icon mdw-more-button>more_vert</div></div></div><div class="mdw-tab__items" mdw-theme-color="primary"><label class="mdw-tab__item" for="clear-toolbar-tab1"><div class="mdw-tab__label">Item One</div></label><label class="mdw-tab__item" for="clear-toolbar-tab2"><div class="mdw-tab__label">Item Two</div></label><label class="mdw-tab__item" for="clear-toolbar-tab3"><div class="mdw-tab__label">Item Three</div></label><div class="mdw-tab__indicator"></div></div></div><div class="mdw-tab__content"><div class="mdw-tab__content-item">Item One</div><div class="mdw-tab__content-item">Item Two</div><div class="mdw-tab__content-item">Item Three</div></div></form></div></div><div class="mdw-layout__item display-flex clipped" mdw-colspan="4" flex-justify-content="center"><div class="render mdw-theme-tab"><div class="androidstatusbar" mdw-theme-fill="primary-700 dark"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px">&#xE1BA;&#xE1C8;&#xE1A4;</i></div><div class="mdw-toolbar" mdw-theme-fill="primary-500 dark" mdw-theme-color="accent"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon>menu</div></div><div class="mdw-toolbar__title">Page title</div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon>search</div><div class="mdw-button material-icons" mdw-icon mdw-more-button>more_vert</div></div></div><form class="mdw-tab"><input class="mdw-tab__input" type="radio" name="tab" value="recents" id="tab-text-icon1" checked><input class="mdw-tab__input" type="radio" name="tab" value="favorites" id="tab-text-icon2"><input class="mdw-tab__input" type="radio" name="tab" value="nearby" id="tab-text-icon3"><div class="mdw-tab__items" mdw-theme-color="accent"><label class="mdw-tab__item" for="tab-text-icon1"><div class="mdw-tab__icon material-icons">phone</div><div class="mdw-tab__label">Recents</div></label><label class="mdw-tab__item" for="tab-text-icon2"><div class="mdw-tab__icon material-icons">favorite</div><div class="mdw-tab__label">Favorites</div></label><label class="mdw-tab__item" for="tab-text-icon3"><div class="mdw-tab__icon material-icons">person_pin</div><div class="mdw-tab__label">Nearby</div></label><div class="mdw-tab__indicator"></div></div></form></div><div class="content"></div></div></div><div class="mdw-layout__item display-flex clipped" mdw-colspan="4" flex-justify-content="center"><div class="render mdw-theme-tab"><div class="androidstatusbar" mdw-theme-fill="background-600 dark"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px">&#xE1BA;&#xE1C8;&#xE1A4;</i></div><div class="mdw-toolbar"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon>menu</div></div><div class="mdw-toolbar__title">Page title</div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon>search</div><div class="mdw-button material-icons" mdw-icon mdw-more-button>more_vert</div></div></div><form class="mdw-tab"><input class="mdw-tab__input" type="radio" name="tab" value="recents" id="tabs-icon1" checked><input class="mdw-tab__input" type="radio" name="tab" value="favorites" id="tabs-icon2"><input class="mdw-tab__input" type="radio" name="tab" value="nearby" id="tabs-icon3"><div class="mdw-tab__items" mdw-theme-color="primary"><label class="mdw-tab__item" for="tabs-icon1"><div class="mdw-tab__icon material-icons">phone</div></label><label class="mdw-tab__item" for="tabs-icon2"><div class="mdw-tab__icon material-icons">favorite</div></label><label class="mdw-tab__item" for="tabs-icon3"><div class="mdw-tab__icon material-icons">person_pin</div></label><div class="mdw-tab__indicator"></div></div></form></div><div class="content"></div></div></div><div class="mdw-layout__item display-flex" mdw-colspan="100%" flex-justify-content="center"><div class="display-flex mdw-theme-tab" flex-column style="width:100%;padding:24px;box-sizing:border-box"><div class="androidstatusbar" mdw-theme-fill="primary-700 dark"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px">&#xE1BA;&#xE1C8;&#xE1A4;</i></div><div class="mdw-tab"><input class="mdw-tab__input" type="radio" name="tab" value="recents" id="dynamic-1" checked><input class="mdw-tab__input" type="radio" name="tab" value="favorites" id="dynamic-2"><input class="mdw-tab__input" type="radio" name="tab" value="nearby" id="dynamic-3"><div class="mdw-tab__items-wrapper mdw-toolbar" mdw-theme-fill="primary-500 dark"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon>menu</div></div><div class="mdw-toolbar__title">Clustered</div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon>search</div><div class="mdw-button material-icons" mdw-icon mdw-more-button>more_vert</div></div></div><div class="mdw-tab__items" mdw-theme-color="accent" style="align-self:center"><label class="mdw-tab__item" for="dynamic-1"><div class="mdw-tab__icon material-icons">phone</div><div class="mdw-tab__label">Recents</div></label><label class="mdw-tab__item" for="dynamic-2"><div class="mdw-tab__icon material-icons">favorite</div><div class="mdw-tab__label">Favorites</div></label><label class="mdw-tab__item" for="dynamic-3"><div class="mdw-tab__icon material-icons">person_pin</div><div class="mdw-tab__label">Nearby</div></label><div class="mdw-tab__indicator"></div></div></div><div class="mdw-tab__content"><div class="mdw-tab__content-item">Recents</div><div class="mdw-tab__content-item">Favorites</div><div class="mdw-tab__content-item">Nearby</div></div></div></div></div><div class="mdw-layout__item display-flex" mdw-colspan="100%" flex-justify-content="center"><div class="display-flex mdw-theme-tab js" flex-column style="width:0;padding:24px;box-sizing:border-box"><div class="androidstatusbar" mdw-theme-fill="primary-700 dark"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px">&#xE1BA;&#xE1C8;&#xE1A4;</i></div><div class="mdw-tab"><div class="mdw-toolbar" mdw-theme-fill="primary-500 dark"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon>menu</div></div><div class="mdw-toolbar__title">Scrollable (JS)</div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon>search</div><div class="mdw-button material-icons" mdw-icon mdw-more-button>more_vert</div></div></div><div class="mdw-tab__items" mdw-theme-color="accent" mdw-scrollable><div class="mdw-tab__item" mdw-selected><div class="mdw-tab__icon material-icons">phone</div><div class="mdw-tab__label">Recents</div></div><div class="mdw-tab__item"><div class="mdw-tab__icon material-icons">favorite</div><div class="mdw-tab__label">My Oversized Favorites Tab</div></div><div class="mdw-tab__item"><div class="mdw-tab__icon material-icons">person_pin</div><div class="mdw-tab__label">Nearby</div></div><div class="mdw-tab__item"><div class="mdw-tab__icon material-icons">edit</div><div class="mdw-tab__label">Edit</div></div><div class="mdw-tab__item"><div class="mdw-tab__icon material-icons">clear</div><div class="mdw-tab__label">Clear</div></div><div class="mdw-tab__item"><div class="mdw-tab__icon material-icons">search</div><div class="mdw-tab__label">Search</div></div><div class="mdw-tab__item"><div class="mdw-tab__icon material-icons">restore</div><div class="mdw-tab__label">Restore</div></div><div class="mdw-tab__item"><div class="mdw-tab__icon material-icons">stars</div><div class="mdw-tab__label">Stars</div></div></div></div><div class="mdw-tab__content"><div class="mdw-tab__content-item">1</div><div class="mdw-tab__content-item">2</div><div class="mdw-tab__content-item">3</div><div class="mdw-tab__content-item">4</div><div class="mdw-tab__content-item">5</div><div class="mdw-tab__content-item">6</div><div class="mdw-tab__content-item">7</div><div class="mdw-tab__content-item">8</div></div></div></div></div></div></div></div><script src="tab.min.js"></script></body></html>
package/docs/tab.min.js DELETED
@@ -1,2 +0,0 @@
1
- !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=64)}({0:function(e,t,n){"use strict";function r(e){return window.localStorage?localStorage.getItem(e):null}function o(e,t){window.localStorage&&localStorage.setItem(e,t)}function a(e){window.localStorage&&localStorage.removeItem(e)}n.d(t,"a",function(){return r}),n.d(t,"c",function(){return o}),n.d(t,"b",function(){return a})},1:function(e,t,n){"use strict";function r(e,t){var n=e.getElementsByClassName(t)[0];return n&&n.parentElement!==e?null:n}function o(e,t,n){var r;for(r=!1===n?e.parentElement:e;null!=r&&!r.classList.contains(t);)r=r.parentElement;return r}function a(){return document.documentElement.hasAttribute("dir")&&"rtl"===document.documentElement.getAttribute("dir").toLowerCase()}function c(e,t){var n=document.createEvent("Event");return n.initEvent(t,!0,!0),e.dispatchEvent(n)}n.d(t,"c",function(){return r}),n.d(t,"b",function(){return o}),n.d(t,"d",function(){return a}),n.d(t,"a",function(){return c}),n.d(t,"e",function(){return i});var i=window.requestAnimationFrame||function(e){return setTimeout(e,17)}},2:function(e,t,n){"use strict";n.d(t,"c",function(){return c}),n.d(t,"a",function(){return i}),n.d(t,"b",function(){return l}),n.d(t,"d",function(){return u});var r=n(0),o="black dark",a="white light";function c(e,t){e?(document.documentElement.setAttribute("dir","rtl"),t&&t.removeAttribute("mdw-inactive"),Object(r.c)("rtlmode","true")):(document.documentElement.removeAttribute("dir"),t&&t.setAttribute("mdw-inactive",""),Object(r.b)("rtlmode"))}function i(e,t){e?(document.documentElement.setAttribute("mdw-theme-fill",o),t&&t.removeAttribute("mdw-inactive")):(document.documentElement.setAttribute("mdw-theme-fill",a),t&&t.setAttribute("mdw-inactive","")),Object(r.c)("darkmode",e?"true":"false")}function l(e,t){e?(document.documentElement.style.setProperty("font-size",e),t&&t.removeAttribute("mdw-inactive"),Object(r.c)("fontsize",e)):(document.documentElement.style.removeProperty("font-size"),t&&t.setAttribute("mdw-inactive",""),Object(r.b)("fontsize"))}function u(){var e=document.getElementById("docs-menu-buttons").getElementsByClassName("mdw-button"),t=e[0],n=e[1],a=e[2];!function(e){"true"===Object(r.a)("rtlmode")&&c(!0,e),e.addEventListener("click",function(){"rtl"===document.documentElement.getAttribute("dir")?c(!1,e):c(!0,e)})}(t),function(e){"true"===Object(r.a)("darkmode")&&i(!0,e),e.addEventListener("click",function(){document.documentElement.getAttribute("mdw-theme-fill")===o?i(!1,e):i(!0,e)})}(n),function(e){l(Object(r.a)("fontsize"),e),e.addEventListener("click",function(){document.documentElement.style.getPropertyValue("font-size")?l(null,e):l("125%",e)})}(a)}},3:function(e,t,n){"use strict";n.d(t,"a",function(){return a});var r=n(1);function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var a=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return function(e,t,n){n&&o(e,n)}(e,0,[{key:"attach",value:function(t){var n=Object(r.c)(t,"mdw-ripple");n||((n=document.createElement("div")).classList.add("mdw-ripple"),t.firstChild?t.insertBefore(n,t.firstChild):t.appendChild(n));var o=Object(r.c)(n,"mdw-ripple__inner");o||((o=document.createElement("div")).classList.add("mdw-ripple__inner"),n.appendChild(o)),t.setAttribute("mdw-ripple",""),n.addEventListener("click",e.onClick)}},{key:"onClick",value:function(e){var t=e.currentTarget,n=Object(r.c)(t,"mdw-ripple__inner");if(n){if(!e.pointerType&&!e.detail)return n.style.removeProperty("left"),void n.style.removeProperty("top");n.style.setProperty("left","".concat(e.offsetX,"px")),n.style.setProperty("top","".concat(e.offsetY,"px"))}}},{key:"detach",value:function(t){var n=Object(r.c)(t,"mdw-ripple");n&&t.removeChild(n),t.removeAttribute("mdw-ripple"),t.removeEventListener("click",e.onClick)}}]),e}()},4:function(e,t,n){"use strict";function r(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=e.tagName.toLowerCase(),o=[],a=0;a<e.attributes.length;a+=1){var c=e.attributes.item(a);c.value.length?o.push("".concat(c.name,'="').concat(c.value,'"')):o.push(c.name)}o.sort();for(var i=[n,o.join(" ")],l="<".concat(i.filter(function(e){return e}).join(" ").trim(),">"),u="</".concat(n,">"),m=[l],d=[],s=!0,f=0;f<e.childNodes.length;f+=1){var b=e.childNodes.item(f),v=void 0;b instanceof HTMLElement?(v=r(b," ".concat(t))).trim()&&(s=!1):b.nodeValue&&(v=" ".concat(b.nodeValue)),v&&v.trim()&&d.push(v)}return s?t+m.join("")+d.join("").trim()+u:(d.filter(function(e){return e.trim()}).forEach(function(e){return m.push(e)}),m.push(t+u),t+m.join("\n"))}function o(e,t,n){var r;r=e instanceof Element?[r]:e;for(var o=0;o<r.length;o+=1)r[o].addEventListener(t,n)}function a(e){for(var t=0;t<e.childNodes.length;t+=1){var n=e.childNodes[t];if(n.nodeType===Node.TEXT_NODE)return n}var r=document.createTextNode("");return e.appendChild(r),r}function c(e,t){for(var n=document.createElement(t),r=e.attributes.length-1;r>=0;r-=1){var o=e.attributes.item(r);n.attributes.setNamedItem(o.cloneNode())}for(;e.firstChild;)n.appendChild(e.firstChild);return e.parentElement.replaceChild(n,e),n}n.d(t,"c",function(){return r}),n.d(t,"a",function(){return o}),n.d(t,"d",function(){return a}),n.d(t,"b",function(){return c})},64:function(e,t,n){n(80),e.exports=n(65)},65:function(e,t,n){e.exports=n.p+"tab.html"},80:function(e,t,n){"use strict";n.r(t);var r=n(3),o=n(1);function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(e,t,n){return t&&c(e.prototype,t),n&&c(e,n),e}var l,u=function(){function e(){a(this,e)}return i(e,null,[{key:"attach",value:function(e){r.a.attach(e)}},{key:"detach",value:function(e){r.a.detach(e)}}]),e}(),m=function(){function e(){a(this,e)}return i(e,null,[{key:"attach",value:function(t){var n=t.getElementsByClassName("mdw-tab__items")[0],r=n.getElementsByClassName("mdw-tab__indicator")[0];r||((r=document.createElement("div")).classList.add("mdw-tab__indicator"),n.appendChild(r));var o=t.getElementsByClassName("mdw-tab__content")[0];o&&o.addEventListener("scroll",e.onTabContentScroll);for(var a=t.getElementsByClassName("mdw-tab__input"),c=t.getElementsByClassName("mdw-tab__item"),i=!1,l=0;l<a.length;l+=1){var m=a[l];m.checked&&(i=!0,e.onInputChanged({currentTarget:m})),m.addEventListener("change",e.onInputChanged)}!i&&a.length&&(a[0].checked=!0,e.onInputChanged({currentTarget:a[0]}));for(var d=!1,s=0;s<c.length;s+=1){var f=c[s];u.attach(f),f.hasAttribute("mdw-selected")&&(d=!0,e.selectItem(f)),f.addEventListener("click",e.onItemClicked)}!d&&c.length&&e.selectItem(c[0])}},{key:"detach",value:function(t){for(var n=t.getElementsByClassName("mdw-tab__input"),r=t.getElementsByClassName("mdw-tab__item"),o=t.getElementsByClassName("mdw-tab__content")[0],a=t.getElementsByClassName("mdw-tab__content-item"),c=0;c<n.length;c+=1)n[c].removeEventListener("change",e.onInputChanged);for(var i=0;i<r.length;i+=1){var l=r[i];u.detach(l),l.removeEventListener("click",e.onItemClicked),l.removeAttribute("mdw-selected")}o&&(o.removeAttribute("mdw-selected-index"),o.removeEventListener("scroll",e.onTabContentScroll));for(var m=0;m<a.length;m+=1)a[m].removeAttribute("mdw-selected")}},{key:"onTabContentScroll",value:function(e){var t=e.currentTarget;e.preventDefault(),e.stopPropagation(),t.scrollLeft=0,Object(o.e)(function(){t.scrollLeft=0})}},{key:"onItemClicked",value:function(t){var n=t.currentTarget;if(n){if(n instanceof HTMLLabelElement){var r=document.getElementById(n.getAttribute("for"));r&&r instanceof HTMLInputElement&&(r.checked=!0)}e.selectItem(n);var a=Object(o.b)(n,"mdw-tab__items",!1);a&&a.hasAttribute("mdw-scrollable")&&n.scrollIntoView({behavior:"smooth",block:"center",inline:"center"})}}},{key:"onInputChanged",value:function(t){var n=t.currentTarget;if(n.id){var r=document.querySelector('label.mdw-tab__item[for="'.concat(n.id,'"]'));r&&e.selectItem(r)}}},{key:"selectItem",value:function(e){var t=Object(o.b)(e,"mdw-tab");if(t){var n=Object(o.b)(e,"mdw-tab__items");if(n){var r=n.getElementsByClassName("mdw-tab__item"),a=t.getElementsByClassName("mdw-tab__content")[0],c=!1,i=!1,l=0,u=null;a&&(u=a.getElementsByClassName("mdw-tab__content-item"));for(var m=Object(o.d)(),d=0;d<r.length;d+=1){var s=m?r.length-1-d:d,f=r.item(s),b=u&&u.item(s);if(f===e?(i=!0,e.setAttribute("mdw-selected",""),a&&a.setAttribute("mdw-selected-index",s.toString()),b&&b.setAttribute("mdw-selected","")):(f.hasAttribute("mdw-selected")&&(c=!0,f.removeAttribute("mdw-selected")),b&&b.hasAttribute("mdw-selected")&&b.removeAttribute("mdw-selected")),i||(l+=f.clientWidth),i&&c)break}a&&(a.scrollLeft=0,Object(o.e)(function(){a.scrollLeft=0}));var v=n.getElementsByClassName("mdw-tab__indicator")[0];if(!(window.MSInputMethodContext&&document.documentMode||n.hasAttribute("mdw-scrollable")&&n.clientWidth))return v.style.removeProperty("transform"),void v.removeAttribute("mdw-js-indicator");var p=e.clientWidth;v.hasAttribute("mdw-js-indicator")||v.setAttribute("mdw-js-indicator",""),v.style.setProperty("transform","translateX(".concat(l,"px) scaleX(").concat(p,")"))}}}}]),e}(),d=n(2),s=n(4);function f(){var e=document.querySelector('input[name="javascript"][value="required"]').checked,t=document.querySelector('input[name="javascript"][value="optional"]').checked,n=e||t;m.detach(l),e&&l instanceof HTMLDivElement==0?l=Object(s.b)(l,"div"):e||l instanceof HTMLFormElement!=0||(l=Object(s.b)(l,"form"));var r=l.getElementsByTagName("input"),o=l.getElementsByClassName("mdw-tab__item");if(e){for(var a=r.length-1;a>=0;a-=1){var c=r.item(a);c.parentElement.removeChild(c)}for(var i=0;i<o.length;i+=1){var u=o.item(i);u instanceof HTMLDivElement==0&&(u=Object(s.b)(u,"div")),u.removeAttribute("for")}}else for(var d=l.getElementsByClassName("mdw-tab__items")[0],f=0;f<3;f+=1){var b=r.item(f),v=o.item(f);b||((b=document.createElement("input")).checked=0===f,b.classList.add("mdw-tab__input"),b.setAttribute("id","tab".concat(f+1)),b.setAttribute("name","tab"),b.setAttribute("type","radio"),l.insertBefore(b,d)),v instanceof HTMLLabelElement==0&&(v=Object(s.b)(v,"label")),v.setAttribute("for","tab".concat(f+1))}var p=document.getElementsByClassName("component-html")[0],h=document.querySelector(".component-sample__container").firstElementChild;p.textContent=Object(s.c)(h),n&&m.attach(l),document.getElementsByClassName("component-js")[0].textContent="mdw.Tab.attach(tabElement);"}!function(){for(var e=document.querySelectorAll(".js .mdw-tab"),t=0;t<e.length;t+=1)m.attach(e.item(t))}(),l=document.querySelector(".component-sample .mdw-tab"),Object(s.a)(document.querySelectorAll("input[name]"),"change",function(e){var t=e.target,n=t.name,r=t.value,o=(t.checked,l.querySelector(".mdw-tab__items"));switch(n){case"framework":break;case"color":switch(r){case"default":o.removeAttribute("mdw-theme-color");break;default:o.setAttribute("mdw-theme-color",r)}break;case"fill":switch(r){case"none":o.removeAttribute("mdw-theme-fill");break;default:o.setAttribute("mdw-theme-fill",r)}}f()}),f(),Object(d.d)()}});
2
- //# sourceMappingURL=tab.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./docs/src/storage.js","webpack:///./components/common/dom.js","webpack:///./docs/src/menuoptions.js","webpack:///./components/ripple/index.js","webpack:///./docs/src/sample-utils.js","webpack:///./docs/src/components/tab.pug","webpack:///./docs/src/components/tab.js","webpack:///./components/tab/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","default","object","property","prototype","hasOwnProperty","p","s","0","e","getStorageItem","window","localStorage","getItem","setStorageItem","setItem","removeStorageItem","removeItem","__webpack_exports__","getChildElementByClass","element","className","child","getElementsByClassName","parentElement","findElementParentByClassName","includeSelf","el","classList","contains","isRtl","document","documentElement","hasAttribute","getAttribute","toLowerCase","dispatchDomEvent","type","event","createEvent","initEvent","dispatchEvent","nextTick","requestAnimationFrame","cb","setTimeout","2","setRTLMode","setDarkMode","setFontSize","setupMenuOptions","_storage__WEBPACK_IMPORTED_MODULE_0__","darkAttribute","lightAttribute","button","setAttribute","removeAttribute","style","setProperty","removeProperty","buttons","getElementById","buttonRTLMode","buttonDarkMode","largeFontMode","addEventListener","getPropertyValue","Ripple","ripple","createElement","add","firstChild","insertBefore","appendChild","rippleInner","onClick","currentTarget","pointerType","detail","concat","offsetX","offsetY","removeChild","removeEventListener","convertElementToCode","linePrefix","arguments","length","htmlType","tagName","attributes","attribute","item","push","sort","syntaxItems","join","openingHTMLLine","filter","trim","closingHTMLLine","lines","innerLines","onlyText","childNodes","lineText","HTMLElement","nodeValue","line","forEach","attachEventListener","elements","listener","elementList","Element","getChildTextNode","node","childNode","nodeType","Node","TEXT_NODE","textNode","createTextNode","changeElementTagName","tagname","newElement","attr","setNamedItem","cloneNode","replaceChild","80","a","TypeError","configurable","writable","sampleComponent","TabItem","tabItemElement","attach","detach","Tab","tabElement","tabItemsElement","indicatorElement","tabContentElement","onTabContentScroll","inputs","items","foundChecked","inputElement","checked","onInputChanged","foundSelected","itemElement","selectItem","onItemClicked","tabContentItems","preventDefault","stopPropagation","scrollLeft","HTMLLabelElement","HTMLInputElement","scrollIntoView","behavior","block","inline","id","querySelector","tabItems","foundPreviousSelection","foundTarget","left","contentItems","isRtlValue","index","tabItem","contentItem","toString","clientWidth","MSInputMethodContext","documentMode","width","updateSampleCode","jsRequired","jsOptional","useJS","HTMLDivElement","HTMLFormElement","getElementsByTagName","input","htmlCodeElement","sampleContainer","firstElementChild","textContent","tabs","querySelectorAll","_event$target","target"],"mappings":"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","file":"tab.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 64);\n","/**\n * @param {string} key\n * @return {string}\n */\nexport function getStorageItem(key) {\n if (!window.localStorage) {\n return null;\n }\n return localStorage.getItem(key);\n}\n\n/**\n * @param {string} key\n * @param {string} value\n * @return {void}\n */\nexport function setStorageItem(key, value) {\n if (!window.localStorage) {\n return;\n }\n localStorage.setItem(key, value);\n}\n\n/**\n * @param {string} key\n * @return {void}\n */\nexport function removeStorageItem(key) {\n if (!window.localStorage) {\n return;\n }\n localStorage.removeItem(key);\n}\n","/**\n * @param {Element} element\n * @param {string} className\n * @return {Element}\n */\nexport function getChildElementByClass(element, className) {\n const child = element.getElementsByClassName(className)[0];\n if (child && child.parentElement !== element) {\n return null;\n }\n return child;\n}\n\n/**\n * @param {Element} element\n * @param {string} className\n * @param {boolean=} [includeSelf=true]\n * @return {Element}\n */\nexport function findElementParentByClassName(element, className, includeSelf) {\n /** @type {Element} */\n let el;\n if (includeSelf === false) {\n el = element.parentElement;\n } else {\n el = element;\n }\n while (el != null && !el.classList.contains(className)) {\n el = el.parentElement;\n }\n return el;\n}\n\n/** @return {boolean} */\nexport function isRtl() {\n return document.documentElement.hasAttribute('dir')\n && document.documentElement.getAttribute('dir').toLowerCase() === 'rtl';\n}\n\n/**\n * @param {Element} element\n * @param {string} type\n * @return {boolean}\n */\nexport function dispatchDomEvent(element, type) {\n const event = document.createEvent('Event');\n event.initEvent(type, true, true);\n return element.dispatchEvent(event);\n}\n\nexport const nextTick = window.requestAnimationFrame || (cb => setTimeout(cb, 17));\n","import { setStorageItem, removeStorageItem, getStorageItem } from './storage';\n\nconst darkAttribute = 'black dark';\nconst lightAttribute = 'white light';\n\n/**\n * @param {boolean} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setRTLMode(value, button) {\n if (value) {\n document.documentElement.setAttribute('dir', 'rtl');\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n setStorageItem('rtlmode', 'true');\n } else {\n document.documentElement.removeAttribute('dir');\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n removeStorageItem('rtlmode');\n }\n}\n\n/**\n * @param {boolean} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setDarkMode(value, button) {\n if (value) {\n document.documentElement.setAttribute('mdw-theme-fill', darkAttribute);\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n } else {\n document.documentElement.setAttribute('mdw-theme-fill', lightAttribute);\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n }\n setStorageItem('darkmode', value ? 'true' : 'false');\n}\n\n/**\n * @param {string} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setFontSize(value, button) {\n if (value) {\n document.documentElement.style.setProperty('font-size', value);\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n setStorageItem('fontsize', value);\n } else {\n document.documentElement.style.removeProperty('font-size');\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n removeStorageItem('fontsize');\n }\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupRTLMode(element) {\n if (getStorageItem('rtlmode') === 'true') {\n setRTLMode(true, element);\n }\n element.addEventListener('click', () => {\n if (document.documentElement.getAttribute('dir') === 'rtl') {\n setRTLMode(false, element);\n } else {\n setRTLMode(true, element);\n }\n });\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupDarkMode(element) {\n if (getStorageItem('darkmode') === 'true') {\n setDarkMode(true, element);\n }\n element.addEventListener('click', () => {\n if (document.documentElement.getAttribute('mdw-theme-fill') === darkAttribute) {\n setDarkMode(false, element);\n } else {\n setDarkMode(true, element);\n }\n });\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupLargeFontMode(element) {\n const fontsize = getStorageItem('fontsize');\n setFontSize(fontsize, element);\n element.addEventListener('click', () => {\n if (document.documentElement.style.getPropertyValue('font-size')) {\n setFontSize(null, element);\n } else {\n setFontSize('125%', element);\n }\n });\n}\n\n/** @return {void} */\nexport function setupMenuOptions() {\n const buttons = document.getElementById('docs-menu-buttons').getElementsByClassName('mdw-button');\n const buttonRTLMode = buttons[0];\n const buttonDarkMode = buttons[1];\n const largeFontMode = buttons[2];\n setupRTLMode(buttonRTLMode);\n setupDarkMode(buttonDarkMode);\n setupLargeFontMode(largeFontMode);\n}\n","import { getChildElementByClass } from '../common/dom';\n\nclass Ripple {\n /**\n * @param {Element} element\n * @return {void}\n */\n static attach(element) {\n let ripple = getChildElementByClass(element, 'mdw-ripple');\n if (!ripple) {\n ripple = document.createElement('div');\n ripple.classList.add('mdw-ripple');\n if (element.firstChild) {\n element.insertBefore(ripple, element.firstChild);\n } else {\n element.appendChild(ripple);\n }\n }\n\n let rippleInner = getChildElementByClass(ripple, 'mdw-ripple__inner');\n if (!rippleInner) {\n rippleInner = document.createElement('div');\n rippleInner.classList.add('mdw-ripple__inner');\n ripple.appendChild(rippleInner);\n }\n element.setAttribute('mdw-ripple', '');\n ripple.addEventListener('click', Ripple.onClick);\n }\n\n /**\n * @param {PointerEvent|MouseEvent} event\n * @return {void}\n */\n static onClick(event) {\n /** @type {HTMLElement} */\n const el = event.currentTarget;\n const rippleInner = getChildElementByClass(el, 'mdw-ripple__inner');\n if (!rippleInner) {\n return;\n }\n if (!event.pointerType && !event.detail) {\n // Ripple from center\n rippleInner.style.removeProperty('left');\n rippleInner.style.removeProperty('top');\n return;\n }\n rippleInner.style.setProperty('left', `${event.offsetX}px`);\n rippleInner.style.setProperty('top', `${event.offsetY}px`);\n }\n\n static detach(element) {\n const ripple = getChildElementByClass(element, 'mdw-ripple');\n if (ripple) {\n element.removeChild(ripple);\n }\n element.removeAttribute('mdw-ripple');\n element.removeEventListener('click', Ripple.onClick);\n }\n}\n\nexport {\n Ripple,\n};\n","/**\n * @param {HTMLElement} element\n * @param {string=} linePrefix\n * @return {string}\n */\nfunction convertElementToCode(element, linePrefix = '') {\n const htmlType = element.tagName.toLowerCase();\n const attributes = [];\n for (let i = 0; i < element.attributes.length; i += 1) {\n const attribute = element.attributes.item(i);\n if (attribute.value.length) {\n attributes.push(`${attribute.name}=\"${attribute.value}\"`);\n } else {\n attributes.push(attribute.name);\n }\n }\n attributes.sort();\n const syntaxItems = [htmlType, attributes.join(' ')];\n const openingHTMLLine = `<${syntaxItems.filter(item => item).join(' ').trim()}>`;\n const closingHTMLLine = `</${htmlType}>`;\n const lines = [openingHTMLLine];\n const innerLines = [];\n let onlyText = true;\n for (let i = 0; i < element.childNodes.length; i += 1) {\n const child = element.childNodes.item(i);\n let lineText;\n if (child instanceof HTMLElement) {\n lineText = convertElementToCode(child, ` ${linePrefix}`);\n if (lineText.trim()) {\n onlyText = false;\n }\n } else if (child.nodeValue) {\n lineText = ` ${child.nodeValue}`;\n }\n if (lineText && lineText.trim()) {\n innerLines.push(lineText);\n }\n }\n if (onlyText) {\n return linePrefix + lines.join('') + innerLines.join('').trim() + closingHTMLLine;\n }\n innerLines\n .filter(line => line.trim())\n .forEach(line => lines.push(line));\n lines.push(linePrefix + closingHTMLLine);\n return linePrefix + lines.join('\\n');\n}\n\n/**\n * @param {Element|NodeListOf<Element>} elements\n * @param {string} event\n * @param {Function} listener\n * @return {void}\n */\nfunction attachEventListener(elements, event, listener) {\n let elementList;\n if (elements instanceof Element) {\n elementList = [elementList];\n } else {\n elementList = elements;\n }\n for (let i = 0; i < elementList.length; i += 1) {\n const el = elementList[i];\n el.addEventListener(event, listener);\n }\n}\n\n/**\n * @param {Element} node\n * @return {Node}\n */\nfunction getChildTextNode(node) {\n for (let i = 0; i < node.childNodes.length; i += 1) {\n const childNode = node.childNodes[i];\n if (childNode.nodeType === Node.TEXT_NODE) {\n return childNode;\n }\n }\n const textNode = document.createTextNode('');\n node.appendChild(textNode);\n return textNode;\n}\n\n/**\n * @param {Element} element\n * @param {string} tagname\n * @return {Element}\n */\nfunction changeElementTagName(element, tagname) {\n const newElement = document.createElement(tagname);\n for (let i = element.attributes.length - 1; i >= 0; i -= 1) {\n const attr = element.attributes.item(i);\n newElement.attributes.setNamedItem(attr.cloneNode());\n }\n while (element.firstChild) {\n newElement.appendChild(element.firstChild);\n }\n\n element.parentElement.replaceChild(newElement, element);\n return newElement;\n}\n\nexport {\n convertElementToCode,\n attachEventListener,\n getChildTextNode,\n changeElementTagName,\n};\n","module.exports = __webpack_public_path__ + \"tab.html\";","import { Tab } from '../../../components/tab/index';\nimport { setupMenuOptions } from '../menuoptions';\nimport { convertElementToCode, attachEventListener, changeElementTagName } from '../sample-utils';\n\n/** @type {HTMLElement} */\nlet sampleComponent;\n\n/** @return {void} */\nfunction updateSampleCode() {\n const jsRequired = document.querySelector('input[name=\"javascript\"][value=\"required\"]').checked;\n const jsOptional = document.querySelector('input[name=\"javascript\"][value=\"optional\"]').checked;\n const useJS = jsRequired || jsOptional;\n\n // Strip JS related elements and attributes\n Tab.detach(sampleComponent);\n\n if (jsRequired && sampleComponent instanceof HTMLDivElement === false) {\n sampleComponent = changeElementTagName(sampleComponent, 'div');\n } else if (!jsRequired && sampleComponent instanceof HTMLFormElement === false) {\n sampleComponent = changeElementTagName(sampleComponent, 'form');\n }\n\n const inputs = sampleComponent.getElementsByTagName('input');\n const tabItems = sampleComponent.getElementsByClassName('mdw-tab__item');\n\n if (jsRequired) {\n for (let i = inputs.length - 1; i >= 0; i -= 1) {\n const input = inputs.item(i);\n input.parentElement.removeChild(input);\n }\n for (let i = 0; i < tabItems.length; i += 1) {\n let item = tabItems.item(i);\n if (item instanceof HTMLDivElement === false) {\n item = changeElementTagName(item, 'div');\n }\n item.removeAttribute('for');\n }\n } else {\n const tabItemsElement = sampleComponent.getElementsByClassName('mdw-tab__items')[0];\n for (let i = 0; i < 3; i += 1) {\n let input = inputs.item(i);\n let tabItem = tabItems.item(i);\n if (!input) {\n input = document.createElement('input');\n input.checked = (i === 0);\n input.classList.add('mdw-tab__input');\n input.setAttribute('id', `tab${i + 1}`);\n input.setAttribute('name', 'tab');\n input.setAttribute('type', 'radio');\n sampleComponent.insertBefore(input, tabItemsElement);\n }\n if (tabItem instanceof HTMLLabelElement === false) {\n tabItem = changeElementTagName(tabItem, 'label');\n }\n tabItem.setAttribute('for', `tab${i + 1}`);\n }\n }\n\n const htmlCodeElement = document.getElementsByClassName('component-html')[0];\n const sampleContainer = document.querySelector('.component-sample__container').firstElementChild;\n htmlCodeElement.textContent = convertElementToCode(sampleContainer);\n\n // Reattach JS if requested\n if (useJS) {\n Tab.attach(sampleComponent);\n }\n\n const jsCodeElement = document.getElementsByClassName('component-js')[0];\n jsCodeElement.textContent = 'mdw.Tab.attach(tabElement);';\n}\n\n/** @return {void} */\nfunction initializeSampleComponents() {\n const tabs = document.querySelectorAll('.js .mdw-tab');\n for (let i = 0; i < tabs.length; i += 1) {\n Tab.attach(tabs.item(i));\n }\n}\n\n/**\n * @param {Event} event\n * @return {void}\n */\nfunction onOptionChange(event) {\n const { name, value, checked } = event.target;\n const tabItemsElement = sampleComponent.querySelector('.mdw-tab__items');\n\n switch (name) {\n case 'framework':\n switch (value) {\n case 'javascript':\n break;\n case 'css':\n break;\n default:\n }\n break;\n case 'color':\n switch (value) {\n case 'default':\n tabItemsElement.removeAttribute('mdw-theme-color');\n break;\n default:\n tabItemsElement.setAttribute('mdw-theme-color', value);\n break;\n }\n break;\n case 'fill':\n switch (value) {\n case 'none':\n tabItemsElement.removeAttribute('mdw-theme-fill');\n break;\n default:\n tabItemsElement.setAttribute('mdw-theme-fill', value);\n break;\n }\n break;\n default:\n }\n updateSampleCode();\n}\n\n/** @return {void} */\nfunction setupComponentOptions() {\n sampleComponent = document.querySelector('.component-sample .mdw-tab');\n attachEventListener(\n document.querySelectorAll('input[name]'),\n 'change',\n onOptionChange\n );\n}\n\ninitializeSampleComponents();\nsetupComponentOptions();\nupdateSampleCode();\n\nsetupMenuOptions();\n","import { Ripple } from '../ripple/index';\nimport { findElementParentByClassName, isRtl, nextTick } from '../common/dom';\n\nclass TabItem {\n /**\n * @param {Element} tabItemElement\n * @return {void}\n */\n static attach(tabItemElement) {\n Ripple.attach(tabItemElement);\n }\n\n /**\n * @param {Element} tabItemElement\n * @return {void}\n */\n static detach(tabItemElement) {\n Ripple.detach(tabItemElement);\n }\n}\n\nclass Tab {\n /**\n * @param {Element} tabElement\n * @return {void}\n */\n static attach(tabElement) {\n const tabItemsElement = tabElement.getElementsByClassName('mdw-tab__items')[0];\n let indicatorElement = tabItemsElement.getElementsByClassName('mdw-tab__indicator')[0];\n if (!indicatorElement) {\n indicatorElement = document.createElement('div');\n indicatorElement.classList.add('mdw-tab__indicator');\n tabItemsElement.appendChild(indicatorElement);\n }\n\n const tabContentElement = tabElement.getElementsByClassName('mdw-tab__content')[0];\n if (tabContentElement) {\n tabContentElement.addEventListener('scroll', Tab.onTabContentScroll);\n }\n\n const inputs = tabElement.getElementsByClassName('mdw-tab__input');\n const items = tabElement.getElementsByClassName('mdw-tab__item');\n\n let foundChecked = false;\n for (let i = 0; i < inputs.length; i += 1) {\n const inputElement = inputs[i];\n if (inputElement.checked) {\n foundChecked = true;\n Tab.onInputChanged({ currentTarget: inputElement });\n }\n inputElement.addEventListener('change', Tab.onInputChanged);\n }\n if (!foundChecked && inputs.length) {\n inputs[0].checked = true;\n Tab.onInputChanged({ currentTarget: inputs[0] });\n }\n\n let foundSelected = false;\n for (let i = 0; i < items.length; i += 1) {\n const itemElement = items[i];\n TabItem.attach(itemElement);\n if (itemElement.hasAttribute('mdw-selected')) {\n foundSelected = true;\n Tab.selectItem(itemElement);\n }\n itemElement.addEventListener('click', Tab.onItemClicked);\n }\n if (!foundSelected && items.length) {\n Tab.selectItem(items[0]);\n }\n }\n\n /**\n * @param {Element} tabElement\n * @return {void}\n */\n static detach(tabElement) {\n const inputs = tabElement.getElementsByClassName('mdw-tab__input');\n const items = tabElement.getElementsByClassName('mdw-tab__item');\n const tabContentElement = tabElement.getElementsByClassName('mdw-tab__content')[0];\n const tabContentItems = tabElement.getElementsByClassName('mdw-tab__content-item');\n\n for (let i = 0; i < inputs.length; i += 1) {\n const inputElement = inputs[i];\n inputElement.removeEventListener('change', Tab.onInputChanged);\n }\n\n for (let i = 0; i < items.length; i += 1) {\n const itemElement = items[i];\n TabItem.detach(itemElement);\n itemElement.removeEventListener('click', Tab.onItemClicked);\n itemElement.removeAttribute('mdw-selected');\n }\n\n if (tabContentElement) {\n tabContentElement.removeAttribute('mdw-selected-index');\n tabContentElement.removeEventListener('scroll', Tab.onTabContentScroll);\n }\n for (let i = 0; i < tabContentItems.length; i += 1) {\n const itemElement = tabContentItems[i];\n itemElement.removeAttribute('mdw-selected');\n }\n }\n\n /**\n * @param {Event} event\n * @return {void}\n */\n static onTabContentScroll(event) {\n /** @type {HTMLElement} */\n const tabContentElement = (event.currentTarget);\n event.preventDefault();\n event.stopPropagation();\n tabContentElement.scrollLeft = 0;\n nextTick(() => {\n tabContentElement.scrollLeft = 0;\n });\n }\n\n /**\n * @param {Event} event\n * @return {void}\n */\n static onItemClicked(event) {\n /** @type {HTMLElement} */\n const itemElement = (event.currentTarget);\n if (!itemElement) {\n return;\n }\n if (itemElement instanceof HTMLLabelElement) {\n // Fixes ripple animation\n const inputElement = document.getElementById(itemElement.getAttribute('for'));\n if (inputElement && inputElement instanceof HTMLInputElement) {\n inputElement.checked = true;\n }\n }\n\n Tab.selectItem(itemElement);\n const tabItemsElement = findElementParentByClassName(itemElement, 'mdw-tab__items', false);\n if (tabItemsElement && tabItemsElement.hasAttribute('mdw-scrollable')) {\n itemElement.scrollIntoView({ behavior: 'smooth', block: 'center', inline: 'center' });\n }\n }\n\n static onInputChanged(event) {\n const inputElement = event.currentTarget;\n if (!inputElement.id) {\n return;\n }\n const itemElement = document.querySelector(`label.mdw-tab__item[for=\"${inputElement.id}\"]`);\n if (itemElement) {\n Tab.selectItem(itemElement);\n }\n }\n\n /**\n * @param {Element} itemElement\n * @return {void}\n */\n static selectItem(itemElement) {\n const tabElement = findElementParentByClassName(itemElement, 'mdw-tab');\n if (!tabElement) {\n return;\n }\n const tabItemsElement = findElementParentByClassName(itemElement, 'mdw-tab__items');\n if (!tabItemsElement) {\n return;\n }\n const tabItems = tabItemsElement.getElementsByClassName('mdw-tab__item');\n const tabContentElement = tabElement.getElementsByClassName('mdw-tab__content')[0];\n let foundPreviousSelection = false;\n let foundTarget = false;\n let left = 0;\n let contentItems = null;\n if (tabContentElement) {\n contentItems = tabContentElement.getElementsByClassName('mdw-tab__content-item');\n }\n const isRtlValue = isRtl();\n for (let i = 0; i < tabItems.length; i += 1) {\n const index = isRtlValue ? tabItems.length - 1 - i : i;\n const tabItem = tabItems.item(index);\n const contentItem = contentItems && contentItems.item(index);\n if (tabItem === itemElement) {\n foundTarget = true;\n itemElement.setAttribute('mdw-selected', '');\n if (tabContentElement) {\n tabContentElement.setAttribute('mdw-selected-index', index.toString());\n }\n if (contentItem) {\n contentItem.setAttribute('mdw-selected', '');\n }\n } else {\n if (tabItem.hasAttribute('mdw-selected')) {\n foundPreviousSelection = true;\n tabItem.removeAttribute('mdw-selected');\n }\n if (contentItem && contentItem.hasAttribute('mdw-selected')) {\n contentItem.removeAttribute('mdw-selected');\n }\n }\n\n if (!foundTarget) {\n left += tabItem.clientWidth;\n }\n if (foundTarget && foundPreviousSelection) {\n break;\n }\n }\n\n if (tabContentElement) {\n tabContentElement.scrollLeft = 0;\n nextTick(() => {\n tabContentElement.scrollLeft = 0;\n });\n }\n\n /** @type {HTMLElement} */\n const indicatorElement = (tabItemsElement.getElementsByClassName('mdw-tab__indicator')[0]);\n // Animate selection\n // Only use explicity positioning on scrollable tabs\n const isIE11 = !!window.MSInputMethodContext && !!document.documentMode;\n if (!isIE11\n && (!tabItemsElement.hasAttribute('mdw-scrollable') || !tabItemsElement.clientWidth)) {\n // use CSS styling fallback\n indicatorElement.style.removeProperty('transform');\n indicatorElement.removeAttribute('mdw-js-indicator');\n // this.onItemSelected(itemElement);\n return;\n }\n const width = itemElement.clientWidth;\n if (!indicatorElement.hasAttribute('mdw-js-indicator')) {\n indicatorElement.setAttribute('mdw-js-indicator', '');\n }\n indicatorElement.style.setProperty('transform', `translateX(${left}px) scaleX(${width})`);\n }\n}\n\nexport {\n Tab,\n TabItem,\n};\n"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- <!DOCTYPE html><html lang="en"><head><title>Material Design Web</title><meta charset="utf-8"><meta content="IE=edge" http-equiv="X-UA-Compatible"><meta content="" name="description"><meta content="width=device-width, initial-scale=1, viewport-fit=cover" name="viewport"><meta name="theme-color" content="#E91E63"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><meta name="apple-mobile-web-app-capable" content="yes"><link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700"><link rel="stylesheet" href="docs.min.css"><link rel="stylesheet" href="components.min.css"><link rel="stylesheet" href="theming.min.css"><link rel="stylesheet" href="theming.ie11.min.css" media="screen and (-ms-high-contrast: active), (-ms-high-contrast: none)"><script src="prerender.min.js"></script></head><body class="mdw-type"><div class="mdw-navdrawer" id="docs-navdrawer"><a class="mdw-navdrawer__scrim" href="#"></a><div class="mdw-navdrawer__toolbar"><div class="mdw-toolbar" mdw-theme-fill="accent-500 dark" mdw-app-bar><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-tooltip__wrapper"><a class="mdw-tooltip__target mdw-button material-icons" mdw-icon href="#docs-navdrawer">menu</a><div class="mdw-tooltip">Menu</div></div></div><div class="mdw-toolbar__title">textfield</div><div class="mdw-toolbar__end" id="docs-menu-buttons"><div class="mdw-tooltip__wrapper"><div class="mdw-tooltip__target mdw-button docs-rtl" mdw-inactive>RTL</div><div class="mdw-tooltip">Right-to-Left</div></div><div class="mdw-tooltip__wrapper"><div class="mdw-tooltip__target mdw-button material-icons" mdw-icon mdw-inactive>brightness_3</div><div class="mdw-tooltip">Dark Mode</div></div><div class="mdw-tooltip__wrapper"><div class="mdw-tooltip__target mdw-button material-icons" mdw-icon mdw-inactive>format_size</div><div class="mdw-tooltip">Large Font</div></div></div></div></div></div><div class="mdw-navdrawer__drawer"><div class="mdw-list"><a class="mdw-list__item" href="index.html" mdw-theme-color="primary"><div class="mdw-list__text">Home</div></a><div class="mdw-list__subheader">Components</div><a class="mdw-list__item" href="bottomnav.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">call_to_action</div><div class="mdw-list__text">Bottom Navigation</div></a><a class="mdw-list__item" href="button.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">crop_landscape</div><div class="mdw-list__text">Button</div></a><a class="mdw-list__item" href="card.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">crop_square</div><div class="mdw-list__text">Card</div></a><a class="mdw-list__item" href="dialog.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">select_all</div><div class="mdw-list__text">Dialog</div></a><a class="mdw-list__item" href="datatable.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">format_align_justify</div><div class="mdw-list__text">Data Table</div></a><a class="mdw-list__item" href="elevation.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">layers</div><div class="mdw-list__text">Elevation</div></a><a class="mdw-list__item" href="fab.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">add_circle</div><div class="mdw-list__text">Floating Action Button</div></a><a class="mdw-list__item" href="layout.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">view_compact</div><div class="mdw-list__text">Layout</div></a><a class="mdw-list__item" href="list.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">view_list</div><div class="mdw-list__text">List</div></a><a class="mdw-list__item" href="menu.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">picture_in_picture</div><div class="mdw-list__text">Menu</div></a><a class="mdw-list__item" href="navdrawer.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">menu</div><div class="mdw-list__text">Navigation Drawer</div></a><a class="mdw-list__item" href="progress.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">timelapse</div><div class="mdw-list__text">Progress</div></a><a class="mdw-list__item" href="search.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">search</div><div class="mdw-list__text">Search</div></a><a class="mdw-list__item" href="selection.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">toggle_on</div><div class="mdw-list__text">Selection</div></a><a class="mdw-list__item" href="slider.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">tune</div><div class="mdw-list__text">Slider</div></a><a class="mdw-list__item" href="snackbar.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">video_label</div><div class="mdw-list__text">Snackbar</div></a><a class="mdw-list__item" href="tab.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">tab</div><div class="mdw-list__text">Tab</div></a><a class="mdw-list__item" mdw-selected href="textfield.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">text_fields</div><div class="mdw-list__text">Text Field</div></a><a class="mdw-list__item" href="toolbar.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">web_asset</div><div class="mdw-list__text">Toolbar</div></a><a class="mdw-list__item" href="tooltip.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">info</div><div class="mdw-list__text">Tooltip</div></a><a class="mdw-list__item" href="type.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">font_download</div><div class="mdw-list__text">Typography</div></a></div></div><div class="mdw-navdrawer__content" style="padding-bottom:24px"><div class="mdw-layout" mdw-margin-top mdw-margin-bottom><div class="mdw-layout__item" mdw-colspan="100%"><div><h5 class="mdw-type" mdw-baseline-next="36">Text fields allow users to input, edit, and select text.</h5><p class="mdw-type">Text fields typically reside in forms but can appear in other places, like dialog boxes and search.</p></div></div><div class="mdw-layout__item" mdw-colspan="4"><div class="component-sample"><div class="component-sample__container"><label class="mdw-textfield"><input class="mdw-textfield__input" placeholder="Placeholder"><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Label</div></div></div></label></div></div></div><div class="mdw-layout__item" mdw-colspan="8"><div><div class="mdw-type" mdw-style="subtitle">Javascript</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="javascript" value="required" disabled><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Required</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="javascript" value="optional" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Optional</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="javascript" value="none"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">None</div></label></div><div class="mdw-type" mdw-style="subtitle">Field type</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="field-type" value="single-line" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Single-line</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="field-type" value="text-area"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Text area</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="field-type" value="dropdown"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Dropdown</div></label></div><div class="mdw-type" mdw-style="subtitle">Style</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="style" value="filled" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Filled</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="style" value="outlined"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Outlined</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="style" value="solo"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Solo</div></label></div><div class="mdw-type" mdw-style="subtitle">Options</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="checkbox" name="signifier"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Signifier</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="checkbox" name="prefix"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Prefix</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="checkbox" name="suffix"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Suffix</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="checkbox" name="helper-text"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Helper Text</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="checkbox" name="error-text"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Error Text</div></label></div><div class="mdw-type" mdw-style="subtitle">Color</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="color" value="none" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Primary</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="color" value="accent"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Accent</div></label></div><div class="mdw-type" mdw-style="subtitle">Attributes</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="checkbox" name="autosize" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Autosize</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="checkbox" name="disabled"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Disabled</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="checkbox" name="required"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Required</div></label></div></div></div><div class="mdw-layout__item" mdw-colspan="100%" style="max-height:0"></div><div class="mdw-layout__item" mdw-colspan="6"><div class="display-flex" flex-column><h6 class="mdw-type">HTML Code</h6><div class="mdw-card component-code component-html"></div></div></div><div class="mdw-layout__item" mdw-colspan="2"><div class="display-flex" flex-column><h6 class="mdw-type">Javascript Code</h6><div class="mdw-card component-code component-js"></div></div></div><div class="mdw-layout__item" mdw-colspan="100%"><h6 class="mdw-type">Samples</h6></div><div class="mdw-layout__item display-flex" mdw-colspan="4" flex-justify-content="center"><div class="render"><div class="androidstatusbar" mdw-theme-fill="primary-700 dark"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px">&#xE1BA;&#xE1C8;&#xE1A4;</i></div><div class="mdw-toolbar" mdw-theme-fill="primary-500 dark"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon="mdw-icon">arrow_back</div></div><div class="mdw-toolbar__title">Application</div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon="mdw-icon" mdw-more-button="mdw-more-button">more_vert</div></div></div></div><div class="content" style="padding:0px 16px"><label class="mdw-textfield" style="font-size: 2.125rem"><input class="mdw-textfield__input" value="Vintage 50" placeholder=" "><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Title</div></div></div></label><div class="horizontal-controls"><label class="mdw-textfield" style="width:88px"><input class="mdw-textfield__input" type="text" placeholder=" "><div class="mdw-textfield__prefix">$</div><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Price</div></div></div></label><label class="mdw-textfield flex-1"><input class="mdw-textfield__input" type="text" placeholder=" "><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Location (optional)</div></div></div></label></div><label class="mdw-textfield"><input class="mdw-textfield__input" type="text" placeholder="text"><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Description</div></div></div></label><label class="mdw-textfield"><div class="mdw-textfield__signifier material-icons">security</div><input class="mdw-textfield__input" type="password" placeholder="••••••••" required minlength="8"><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Password text field with signifier and overflowing label *</div></div></div><div class="mdw-textfield__helper-text">At least 8 characters</div><div class="mdw-textfield__error-text">Error: Password of at least 8 characters required.</div></label><label class="mdw-textfield"><input class="mdw-textfield__input" type="text" placeholder=" " disabled value="filled"><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Disabled Filled with Suffix</div></div></div><div class="mdw-textfield__suffix">lbs</div><div class="mdw-textfield__helper-text">Disabled Helper Text</div></label></div><div class="androidnavbar"><i class="material-icons back-button">&#xE3C8;</i><i class="material-icons">&#xE836;</i><i class="material-icons">&#xE835;</i></div></div></div><div class="mdw-layout__item display-flex" mdw-colspan="4" flex-justify-content="center"><div class="render"><div class="androidstatusbar" mdw-theme-fill="accent-300"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px">&#xE1BA;&#xE1C8;&#xE1A4;</i></div><div class="mdw-toolbar" mdw-theme-fill="accent-A100 dark"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon="mdw-icon">arrow_back</div></div><div class="mdw-toolbar__title"></div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon="mdw-icon">search</div></div></div></div><form class="content" style="padding:0px 16px"><label class="mdw-textfield" mdw-theme-color="accent"><input class="mdw-textfield__input" type="text" placeholder=" " required><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Name *</div></div></div></label><label class="mdw-textfield" mdw-theme-color="accent"><input class="mdw-textfield__input" type="text" placeholder=" "><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Address</div></div></div></label><label class="mdw-textfield" mdw-theme-color="accent"><input class="mdw-textfield__input" type="text" placeholder=" "><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">City</div></div></div></label><div class="horizontal-controls"><label class="mdw-textfield" mdw-theme-color="accent" style="width:88px"><input class="mdw-textfield__input" type="text" placeholder=" "><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">State</div></div></div></label><label class="mdw-textfield flex-1"><input class="mdw-textfield__input" type="text" placeholder=" " required><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Zip code *</div></div></div></label></div><label class="mdw-textfield" mdw-theme-color="accent"><input class="mdw-textfield__input" type="text" placeholder=" "><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Phone number</div></div></div></label><p class="mdw-type">* Required fields</p></form><div class="androidnavbar"><i class="material-icons back-button">&#xE3C8;</i><i class="material-icons">&#xE836;</i><i class="material-icons">&#xE835;</i></div></div></div><div class="mdw-layout__item display-flex" mdw-colspan="4" flex-justify-content="center"><div class="render"><div class="androidstatusbar" mdw-theme-fill="accent-800"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px">&#xE1BA;&#xE1C8;&#xE1A4;</i></div><div class="mdw-toolbar" mdw-theme-fill="accent-A700 dark"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon="mdw-icon">arrow_back</div></div><div class="mdw-toolbar__title"></div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon="mdw-icon">search</div></div></div></div><form class="content" style="padding:8px 16px"><div class="display-flex" style="margin-bottom:-32px;margin-top:-24px;" flex-justify-content="center"><i class="material-icons" style="color:#ccc;font-size:256px">person</i></div><div class="horizontal-controls"><label class="mdw-textfield flex-1" mdw-theme-color="accent"><div class="mdw-textfield__signifier material-icons">person</div><input class="mdw-textfield__input" type="text" placeholder=" " value="Ali Connors"><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Name</div></div></div></label></div><div class="horizontal-controls"><label class="mdw-textfield" mdw-theme-color="accent"><div class="mdw-textfield__signifier material-icons">phone</div><input class="mdw-textfield__input" type="phone" placeholder=" " value="65"><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Phone number</div></div></div></label><label class="mdw-textfield" mdw-theme-color="accent" style="width:150px;"><select class="mdw-textfield__input" type="phone"><option value="">Unknown</option><option value="Mobile">Mobile</option><option value="Home">Home</option><option value="Work">Work</option></select><div class="mdw-textfield__icon" mdw-dropdown></div><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Phone Type</div></div></div></label></div><div class="horizontal-controls"><label class="mdw-textfield" mdw-theme-color="accent"><div class="mdw-textfield__signifier material-icons">email</div><input class="mdw-textfield__input" type="email" placeholder=" "><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Email</div></div></div></label><label class="mdw-textfield" mdw-theme-color="accent" style="width:150px;"><select class="mdw-textfield__input" type="phone"><option value="">Unknown</option><option value="">Unknown</option><option value="Personal">Personal</option><option value="Business">Business</option></select><div class="mdw-textfield__icon" mdw-dropdown></div><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Email type</div></div></div></label></div><div class="horizontal-controls"><label class="mdw-textfield" mdw-theme-color="accent"><div class="mdw-textfield__signifier material-icons">place</div><input class="mdw-textfield__input" type="address" placeholder=" "><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Address</div></div></div></label><label class="mdw-textfield" mdw-theme-color="accent" style="width:150px"><select class="mdw-textfield__input" type="phone"><option value="Home">Home</option><option value="Work">Work</option></select><div class="mdw-textfield__icon" mdw-dropdown></div><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Address type</div></div></div></label></div></form><div class="androidnavbar"><i class="material-icons back-button">&#xE3C8;</i><i class="material-icons">&#xE836;</i><i class="material-icons">&#xE835;</i></div></div></div><div class="mdw-layout__item display-flex" mdw-colspan="4" flex-justify-content="center"><div class="render mdw-theme-textfield"><div class="androidstatusbar" mdw-theme-fill="primary-A700"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px">&#xE1BA;&#xE1C8;&#xE1A4;</i></div><div class="mdw-toolbar" mdw-theme-fill="primary-A200 dark"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon="mdw-icon">arrow_back</div></div><div class="mdw-toolbar__title"></div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon="mdw-icon">done</div></div></div></div><div class="content" style="padding:8px 16px"><label class="mdw-textfield" mdw-outlined><input class="mdw-textfield__input" value="Vintage 50's Dress" placeholder=" "><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Title</div></div></div><div class="mdw-textfield__helper-text">Helper</div></label><div class="horizontal-controls"><label class="mdw-textfield" mdw-outlined style="width:88px"><input class="mdw-textfield__input" value="10.00" placeholder=" "><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Price</div></div></div><div class="mdw-textfield__prefix">$</div><div class="mdw-textfield__helper-text">Helper</div></label><label class="mdw-textfield flex-1" mdw-outlined><input class="mdw-textfield__input" value="Hanover" placeholder=" "><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Location (optional)</div></div></div><div class="mdw-textfield__helper-text">Helper</div></label></div><label class="mdw-textfield" mdw-outlined><textarea class="mdw-textfield__input" placeholder=" " rows="3">Unique and rare dress from 1952. Made out of washed cotton with front pockets. Sleeveless with button closures.</textarea><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Description</div></div></div></label><label class="mdw-textfield" mdw-outlined><div class="mdw-textfield__signifier material-icons">security</div><input class="mdw-textfield__input" type="password" placeholder="••••••••" required minlength="8"><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Password text field with signifier and overflowing label *</div></div></div><div class="mdw-textfield__helper-text">At least 8 characters</div><div class="mdw-textfield__error-text">Error: Password of at least 8 characters required.</div></label><label class="mdw-textfield" mdw-outlined style="max-width:150px"><input class="mdw-textfield__input" type="text" placeholder=" " disabled value="filled"><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Disabled Filled with Suffix</div></div></div><div class="mdw-textfield__suffix">lbs</div><div class="mdw-textfield__helper-text">Disabled Helper Text</div></label></div><div class="androidnavbar"><i class="material-icons back-button">&#xE3C8;</i><i class="material-icons">&#xE836;</i><i class="material-icons">&#xE835;</i></div></div></div><div class="mdw-layout__item display-flex" mdw-colspan="4" flex-justify-content="center"><div class="render mdw-theme-textfield"><div class="androidstatusbar" mdw-theme-fill="accent-600"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px">&#xE1BA;&#xE1C8;&#xE1A4;</i></div><div class="mdw-toolbar" mdw-theme-fill="accent-A400 dark"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon="mdw-icon">arrow_back</div></div><div class="mdw-toolbar__title"></div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon="mdw-icon">done</div></div></div></div><div class="content" style="padding:0 16px"><label class="mdw-textfield" mdw-theme-color="accent"><input class="mdw-textfield__input" placeholder=" "><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Name</div></div></div><div class="mdw-textfield__error-text">spacer</div></label><label class="mdw-textfield" mdw-theme-color="accent"><textarea class="mdw-textfield__input" placeholder=" " rows="5"></textarea><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Message</div></div></div></label><label class="mdw-textfield" mdw-outlined><textarea class="mdw-textfield__input" placeholder=" " rows="5"></textarea><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Message</div></div></div></label></div><div class="androidnavbar"><i class="material-icons back-button">&#xE3C8;</i><i class="material-icons">&#xE836;</i><i class="material-icons">&#xE835;</i></div></div></div><div class="mdw-layout__item display-flex" mdw-colspan="4" flex-justify-content="center"><div class="render mdw-theme-textfield"><div class="androidstatusbar" mdw-theme-fill="accent-A700"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px">&#xE1BA;&#xE1C8;&#xE1A4;</i></div><div class="mdw-toolbar" mdw-theme-fill="accent-A400 dark"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon="mdw-icon">arrow_back</div></div><div class="mdw-toolbar__title"></div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon="mdw-icon">done</div></div></div></div><div class="content" style="padding:0 16px"><label class="mdw-textfield" mdw-theme-color="accent"><input class="mdw-textfield__input" placeholder=" "><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Name</div></div></div><div class="mdw-textfield__error-text">spacer</div></label><label class="mdw-textfield" mdw-theme-color="accent"><textarea class="mdw-textfield__input" placeholder=" " rows="5" required>Just wanted to let you kn</textarea><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Message *</div></div></div><div class="mdw-textfield__helper-text">Helper text.</div><div class="mdw-textfield__error-text">Error: Required.</div></label><label class="mdw-textfield"><textarea class="mdw-textfield__input" placeholder=" " rows="5" disabled>This textarea is disabled.</textarea><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Message *</div></div></div><div class="mdw-textfield__helper-text">Helper text.</div><div class="mdw-textfield__error-text">Error: Required.</div></label></div><div class="androidnavbar"><i class="material-icons back-button">&#xE3C8;</i><i class="material-icons">&#xE836;</i><i class="material-icons">&#xE835;</i></div></div></div><div class="mdw-layout__item display-flex js" mdw-colspan="4" flex-justify-content="center"><div class="render mdw-theme-textfield"><div class="androidstatusbar" mdw-theme-fill="primary-A700"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px">&#xE1BA;&#xE1C8;&#xE1A4;</i></div><div class="mdw-toolbar" mdw-theme-fill="primary-A200 dark"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon="mdw-icon">arrow_back</div></div><div class="mdw-toolbar__title">With Javascript</div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon="mdw-icon">done</div></div></div></div><div class="content" style="padding:8px 16px"><label class="mdw-textfield" mdw-outlined><input class="mdw-textfield__input" placeholder=" "><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Title</div></div></div><div class="mdw-textfield__helper-text">Helper</div></label><div class="horizontal-controls"><label class="mdw-textfield" style="width:88px"><input class="mdw-textfield__input" value="10.00" placeholder=" "><div class="mdw-textfield__prefix">$</div><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Price</div></div></div><div class="mdw-textfield__helper-text">Helper</div></label><label class="mdw-textfield flex-1"><input class="mdw-textfield__input" placeholder=" "><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Location (optional)</div></div></div><div class="mdw-textfield__helper-text">Helper</div></label></div><label class="mdw-textfield" mdw-autosize><textarea class="mdw-textfield__input" placeholder=" " rows="4">Unique and rare dress from 1952. Made out of washed cotton with front pockets. Sleeveless with button closures.
2
- (Erase Me)</textarea><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Description</div></div></div></label><div class="horizontal-controls"><label class="mdw-textfield" mdw-theme-color="accent"><input class="mdw-textfield__input" type="phone" placeholder=" " value="65"><div class="mdw-textfield__signifier material-icons">phone</div><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Name</div></div></div></label><label class="mdw-textfield" mdw-theme-color="accent" style="width:150px"><select class="mdw-textfield__input" type="phone"><option value="">Unknown</option><option value="Mobile">Mobile</option><option value="Home">Home</option><option value="Work">Work</option></select><div class="mdw-textfield__icon" mdw-dropdown></div><div class="mdw-textfield__border"><div class="mdw-textfield__outline-gap"><div class="mdw-textfield__label">Phone Type</div></div></div></label></div></div><div class="androidnavbar"><i class="material-icons back-button">&#xE3C8;</i><i class="material-icons">&#xE836;</i><i class="material-icons">&#xE835;</i></div></div></div><div class="mdw-layout__item" mdw-colspan="4"></div><div class="mdw-layout__item" mdw-colspan="4"></div></div></div></div><script src="textfield.min.js"></script></body></html>
@@ -1,2 +0,0 @@
1
- !function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=66)}({0:function(e,t,n){"use strict";function r(e){return window.localStorage?localStorage.getItem(e):null}function a(e,t){window.localStorage&&localStorage.setItem(e,t)}function i(e){window.localStorage&&localStorage.removeItem(e)}n.d(t,"a",function(){return r}),n.d(t,"c",function(){return a}),n.d(t,"b",function(){return i})},1:function(e,t,n){"use strict";function r(e,t){var n=e.getElementsByClassName(t)[0];return n&&n.parentElement!==e?null:n}function a(e,t,n){var r;for(r=!1===n?e.parentElement:e;null!=r&&!r.classList.contains(t);)r=r.parentElement;return r}function i(){return document.documentElement.hasAttribute("dir")&&"rtl"===document.documentElement.getAttribute("dir").toLowerCase()}function u(e,t){var n=document.createEvent("Event");return n.initEvent(t,!0,!0),e.dispatchEvent(n)}n.d(t,"c",function(){return r}),n.d(t,"b",function(){return a}),n.d(t,"d",function(){return i}),n.d(t,"a",function(){return u}),n.d(t,"e",function(){return o});var o=window.requestAnimationFrame||function(e){return setTimeout(e,17)}},2:function(e,t,n){"use strict";n.d(t,"c",function(){return u}),n.d(t,"a",function(){return o}),n.d(t,"b",function(){return l}),n.d(t,"d",function(){return c});var r=n(0),a="black dark",i="white light";function u(e,t){e?(document.documentElement.setAttribute("dir","rtl"),t&&t.removeAttribute("mdw-inactive"),Object(r.c)("rtlmode","true")):(document.documentElement.removeAttribute("dir"),t&&t.setAttribute("mdw-inactive",""),Object(r.b)("rtlmode"))}function o(e,t){e?(document.documentElement.setAttribute("mdw-theme-fill",a),t&&t.removeAttribute("mdw-inactive")):(document.documentElement.setAttribute("mdw-theme-fill",i),t&&t.setAttribute("mdw-inactive","")),Object(r.c)("darkmode",e?"true":"false")}function l(e,t){e?(document.documentElement.style.setProperty("font-size",e),t&&t.removeAttribute("mdw-inactive"),Object(r.c)("fontsize",e)):(document.documentElement.style.removeProperty("font-size"),t&&t.setAttribute("mdw-inactive",""),Object(r.b)("fontsize"))}function c(){var e=document.getElementById("docs-menu-buttons").getElementsByClassName("mdw-button"),t=e[0],n=e[1],i=e[2];!function(e){"true"===Object(r.a)("rtlmode")&&u(!0,e),e.addEventListener("click",function(){"rtl"===document.documentElement.getAttribute("dir")?u(!1,e):u(!0,e)})}(t),function(e){"true"===Object(r.a)("darkmode")&&o(!0,e),e.addEventListener("click",function(){document.documentElement.getAttribute("mdw-theme-fill")===a?o(!1,e):o(!0,e)})}(n),function(e){l(Object(r.a)("fontsize"),e),e.addEventListener("click",function(){document.documentElement.style.getPropertyValue("font-size")?l(null,e):l("125%",e)})}(i)}},4:function(e,t,n){"use strict";function r(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=e.tagName.toLowerCase(),a=[],i=0;i<e.attributes.length;i+=1){var u=e.attributes.item(i);u.value.length?a.push("".concat(u.name,'="').concat(u.value,'"')):a.push(u.name)}a.sort();for(var o=[n,a.join(" ")],l="<".concat(o.filter(function(e){return e}).join(" ").trim(),">"),c="</".concat(n,">"),d=[l],s=[],m=!0,f=0;f<e.childNodes.length;f+=1){var b=e.childNodes.item(f),p=void 0;b instanceof HTMLElement?(p=r(b," ".concat(t))).trim()&&(m=!1):b.nodeValue&&(p=" ".concat(b.nodeValue)),p&&p.trim()&&s.push(p)}return m?t+d.join("")+s.join("").trim()+c:(s.filter(function(e){return e.trim()}).forEach(function(e){return d.push(e)}),d.push(t+c),t+d.join("\n"))}function a(e,t,n){var r;r=e instanceof Element?[r]:e;for(var a=0;a<r.length;a+=1)r[a].addEventListener(t,n)}function i(e){for(var t=0;t<e.childNodes.length;t+=1){var n=e.childNodes[t];if(n.nodeType===Node.TEXT_NODE)return n}var r=document.createTextNode("");return e.appendChild(r),r}function u(e,t){for(var n=document.createElement(t),r=e.attributes.length-1;r>=0;r-=1){var a=e.attributes.item(r);n.attributes.setNamedItem(a.cloneNode())}for(;e.firstChild;)n.appendChild(e.firstChild);return e.parentElement.replaceChild(n,e),n}n.d(t,"c",function(){return r}),n.d(t,"a",function(){return a}),n.d(t,"d",function(){return i}),n.d(t,"b",function(){return u})},66:function(e,t,n){n(67),e.exports=n(68)},67:function(e,t,n){"use strict";n.r(t);var r,a=n(9),i=n(4),u=n(2);function o(){var e=document.querySelector('input[name="javascript"][value="required"]').checked,t=document.querySelector('input[name="javascript"][value="optional"]').checked,n=document.querySelector('input[name="autosize"]').checked,u=document.querySelector('input[name="field-type"][value="text-area"]').checked,o=e||t;n&&o&&u?r.setAttribute("mdw-autosize",""):r.removeAttribute("mdw-autosize"),a.a.detach(r),document.getElementsByClassName("component-html")[0].textContent=Object(i.c)(r),o&&a.a.attach(r),document.getElementsByClassName("component-js")[0].textContent="mdw.TextField.attach(element);"}!function(){for(var e=document.querySelectorAll(".js .mdw-textfield"),t=0;t<e.length;t+=1)a.a.attach(e.item(t))}(),Object(u.d)(),r=document.querySelector(".component-sample .mdw-textfield"),Object(i.a)(document.querySelectorAll("input[name]"),"change",function(e){var t,n,a,i,u,l=e.target,c=l.name,d=l.value,s=l.checked,m=r.getElementsByClassName("mdw-textfield__input")[0],f=m.tagName.toLowerCase();switch(c){case"field-type":switch(d){default:case"single-type":r.removeAttribute("mdw-autosize"),f="input";break;case"text-area":f="textarea";break;case"dropdown":r.removeAttribute("mdw-autosize"),f="select"}break;case"style":switch(d){default:case"filled":r.removeAttribute("mdw-outlined"),r.removeAttribute("mdw-solo");break;case"outlined":r.setAttribute("mdw-outlined",""),r.removeAttribute("mdw-solo");break;case"solo":r.removeAttribute("mdw-outlined"),r.setAttribute("mdw-solo","")}break;case"box":s?r.setAttribute("mdw-box",""):r.removeAttribute("mdw-box");break;case"outlined":s?r.setAttribute("mdw-outlined",""):r.removeAttribute("mdw-outlined");break;case"disabled":s?r.getElementsByClassName("mdw-textfield__input")[0].setAttribute("disabled",""):r.getElementsByClassName("mdw-textfield__input")[0].removeAttribute("disabled");break;case"required":s?r.getElementsByClassName("mdw-textfield__input")[0].setAttribute("required",""):r.getElementsByClassName("mdw-textfield__input")[0].removeAttribute("required");break;case"prefix":a=r.getElementsByClassName("mdw-textfield__prefix")[0],s?a||((a=document.createElement("div")).classList.add("mdw-textfield__prefix"),a.textContent="$",r.appendChild(a)):a&&a.parentElement.removeChild(a);break;case"suffix":i=r.getElementsByClassName("mdw-textfield__suffix")[0],s?i||((i=document.createElement("div")).classList.add("mdw-textfield__suffix"),i.textContent="lbs",r.appendChild(i)):i&&i.parentElement.removeChild(i);break;case"signifier":u=r.getElementsByClassName("mdw-textfield__signifier")[0],s?u||((u=document.createElement("div")).classList.add("mdw-textfield__signifier"),u.classList.add("material-icons"),u.textContent="security",m.nextElementSibling?r.insertBefore(u,m.nextElementSibling):r.appendChild(u)):u&&u.parentElement.removeChild(u);break;case"helper-text":t=r.getElementsByClassName("mdw-textfield__helper-text")[0],s?t||((t=document.createElement("div")).classList.add("mdw-textfield__helper-text"),t.textContent="Helper text.",r.appendChild(t)):t&&t.parentElement.removeChild(t);break;case"error-text":n=r.getElementsByClassName("mdw-textfield__error-text")[0],s?n||((n=document.createElement("div")).classList.add("mdw-textfield__error-text"),n.textContent="Error text.",r.appendChild(n)):n&&n.parentElement.removeChild(n);break;case"color":switch(d){case"none":r.removeAttribute("mdw-theme-color");break;default:r.setAttribute("mdw-theme-color",d)}break;case"fill":switch(d){case"none":r.removeAttribute("mdw-theme-fill");break;default:r.setAttribute("mdw-theme-fill",d)}}if(m.tagName.toLowerCase()!==f){for(var b=document.createElement(f),p=m.attributes.length-1;p>=0;p-=1){var v=m.attributes.item(p);b.attributes.setNamedItem(v.cloneNode())}m.parentElement.replaceChild(b,m),m=b;var w=r.getElementsByClassName("mdw-textfield__icon")[0];if("select"===f){var h=document.createElement("option");h.setAttribute("value",""),h.textContent="Empty";var g=document.createElement("option");g.setAttribute("value","option1"),g.textContent="Option 1";var E=document.createElement("option");E.setAttribute("value","option2"),E.textContent="Option 2",m.appendChild(h),m.appendChild(g),m.appendChild(E),w||((w=document.createElement("div")).classList.add("mdw-textfield__icon"),w.setAttribute("mdw-dropdown",""),r.appendChild(w))}else w&&w.parentElement.removeChild(w)}m.removeAttribute("rows"),o()}),o()},68:function(e,t,n){e.exports=n.p+"textfield.html"},9:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var r=n(1);function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return function(e,t,n){n&&a(e,n)}(e,0,[{key:"attach",value:function(t){var n=Object(r.c)(t,"mdw-textfield__input");n&&(n.addEventListener("input",e.onInput),e.onInput({currentTarget:n}))}},{key:"detach",value:function(t){t.removeAttribute("mdw-value-empty");var n=Object(r.c)(t,"mdw-textfield__input");n&&n.removeEventListener("input",e.onInput)}},{key:"onInput",value:function(t){var n=t.currentTarget;n.parentElement.hasAttribute("mdw-autosize")&&e.updateTextAreaSize(n),e.updateInputEmptyState(n)}},{key:"updateInputEmptyState",value:function(e){var t=e.parentElement;e.value?t.hasAttribute("mdw-value-empty")&&t.removeAttribute("mdw-value-empty"):t.hasAttribute("mdw-value-empty")||t.setAttribute("mdw-value-empty","")}},{key:"updateTextAreaSize",value:function(e){var t=e.getAttribute("rows");e.setAttribute("rows","1");var n=window.getComputedStyle(e),r=n.height,a=n.paddingTop;if(!r||"auto"===r)return e.setAttribute("rows",t),-1;var i=parseInt(r.replace("px",""),10),u=parseInt(a.replace("px",""),10);return e.setAttribute("rows",Math.floor((e.scrollHeight-u)/i).toString()),i}},{key:"getValue",value:function(e){var t=Object(r.c)(e,"mdw-textfield__input");if(t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement)return t.value;switch(t.hasAttribute("type")&&t.getAttribute("type").toLowerCase()){case"number":case"range":return Number.isNaN(t.valueAsNumber)?null:t.valueAsNumber;case"date":case"datetime-local":case"time":return null==t.value?null:new Date(60*new Date(t.valueAsNumber).getTimezoneOffset()*1e3+t.valueAsNumber);default:return t.value}}},{key:"setValue",value:function(t,n){var a=Object(r.c)(t,"mdw-textfield__input");if(null==n)a.value=null;else if(a instanceof HTMLTextAreaElement||a instanceof HTMLSelectElement)n instanceof Date?a.value=n.toString():a.value="string"==typeof n?n:n.toString(10);else if(n instanceof Date){var i=a.hasAttribute("type")&&a.getAttribute("type").toLowerCase();if("time"===i){var u="".concat(n.getHours()<10?"0":"").concat(n.getHours()),o="".concat(n.getMinutes()<10?"0":"").concat(n.getMinutes()),l="".concat(n.getSeconds()<10?"0":"").concat(n.getSeconds());a.value="".concat(u,":").concat(o,":").concat(l,".").concat(n.getMilliseconds())}else switch(i){case"date":a.valueAsDate=n;break;case"datetime-local":a.valueAsNumber=n.getTime()-60*n.getTimezoneOffset()*1e3;break;case"number":case"range":a.valueAsNumber=n.getTime();break;default:a.value=n.toString()}}else if("string"==typeof n)a.value=n;else switch(a.hasAttribute("type")&&a.getAttribute("type").toLowerCase()){case"date":case"time":case"datetime-local":case"number":case"range":a.valueAsNumber=n;break;default:a.value=n.toString()}e.updateInputEmptyState(a),t.hasAttribute("mdw-multiline")&&e.updateTextAreaSize(a)}}]),e}()}});
2
- //# sourceMappingURL=textfield.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./docs/src/storage.js","webpack:///./components/common/dom.js","webpack:///./docs/src/menuoptions.js","webpack:///./docs/src/sample-utils.js","webpack:///./docs/src/components/textfield.js","webpack:///./docs/src/components/textfield.pug","webpack:///./components/textfield/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","default","object","property","prototype","hasOwnProperty","p","s","0","e","getStorageItem","window","localStorage","getItem","setStorageItem","setItem","removeStorageItem","removeItem","__webpack_exports__","getChildElementByClass","element","className","child","getElementsByClassName","parentElement","findElementParentByClassName","includeSelf","el","classList","contains","isRtl","document","documentElement","hasAttribute","getAttribute","toLowerCase","dispatchDomEvent","type","event","createEvent","initEvent","dispatchEvent","nextTick","requestAnimationFrame","cb","setTimeout","2","setRTLMode","setDarkMode","setFontSize","setupMenuOptions","_storage__WEBPACK_IMPORTED_MODULE_0__","darkAttribute","lightAttribute","button","setAttribute","removeAttribute","style","setProperty","removeProperty","buttons","getElementById","buttonRTLMode","buttonDarkMode","largeFontMode","addEventListener","getPropertyValue","convertElementToCode","linePrefix","arguments","length","htmlType","tagName","attributes","attribute","item","push","concat","sort","syntaxItems","join","openingHTMLLine","filter","trim","closingHTMLLine","lines","innerLines","onlyText","childNodes","lineText","HTMLElement","nodeValue","line","forEach","attachEventListener","elements","listener","elementList","Element","getChildTextNode","node","childNode","nodeType","Node","TEXT_NODE","textNode","createTextNode","appendChild","changeElementTagName","tagname","newElement","createElement","attr","setNamedItem","cloneNode","firstChild","replaceChild","sampleComponent","_components_textfield_index__WEBPACK_IMPORTED_MODULE_0__","_sample_utils__WEBPACK_IMPORTED_MODULE_1__","_menuoptions__WEBPACK_IMPORTED_MODULE_2__","updateSampleCode","jsRequired","querySelector","checked","jsOptional","useAutoSize","isTextArea","useJS","TextField","detach","textContent","attach","textfields","querySelectorAll","helperText","errorText","prefixText","suffixText","signifierElement","_event$target","target","inputElement","desiredTagName","add","removeChild","nextElementSibling","insertBefore","dropdown","option1","option2","option3","9","a","configurable","writable","textfieldElement","input","onInput","currentTarget","removeEventListener","updateTextAreaSize","updateInputEmptyState","previousRowsValue","_window$getComputedSt","getComputedStyle","height","paddingTop","heightPx","parseInt","replace","paddingTopPx","Math","floor","scrollHeight","toString","HTMLTextAreaElement","HTMLSelectElement","Number","isNaN","valueAsNumber","Date","getTimezoneOffset","hoursStr","getHours","minutesStr","getMinutes","secondsStr","getSeconds","getMilliseconds","valueAsDate","getTime"],"mappings":"aACA,IAAAA,KAGA,SAAAC,EAAAC,GAGA,GAAAF,EAAAE,GACA,OAAAF,EAAAE,GAAAC,QAGA,IAAAC,EAAAJ,EAAAE,IACAG,EAAAH,EACAI,KACAH,YAUA,OANAI,EAAAL,GAAAM,KAAAJ,EAAAD,QAAAC,IAAAD,QAAAF,GAGAG,EAAAE,KAGAF,EAAAD,QAKAF,EAAAQ,EAAAF,EAGAN,EAAAS,EAAAV,EAGAC,EAAAU,EAAA,SAAAR,EAAAS,EAAAC,GACAZ,EAAAa,EAAAX,EAAAS,IACAG,OAAAC,eAAAb,EAAAS,GAA0CK,cAAAC,IAAAL,KAK1CZ,EAAAkB,EAAA,SAAAhB,GACA,oBAAAiB,eAAAC,aACAN,OAAAC,eAAAb,EAAAiB,OAAAC,aAAwDC,MAAA,WAExDP,OAAAC,eAAAb,EAAA,cAAiDmB,YAQjDrB,EAAAsB,EAAA,SAAAD,EAAAE,GAEA,GADA,EAAAA,IAAAF,EAAArB,EAAAqB,IACA,EAAAE,EAAA,OAAAF,EACA,KAAAE,GAAA,iBAAAF,QAAAG,WAAA,OAAAH,EACA,IAAAI,EAAAX,OAAAY,OAAA,MAGA,GAFA1B,EAAAkB,EAAAO,GACAX,OAAAC,eAAAU,EAAA,WAAyCT,cAAAK,UACzC,EAAAE,GAAA,iBAAAF,EAAA,QAAAM,KAAAN,EAAArB,EAAAU,EAAAe,EAAAE,EAAA,SAAAA,GAAgH,OAAAN,EAAAM,IAAqBC,KAAA,KAAAD,IACrI,OAAAF,GAIAzB,EAAA6B,EAAA,SAAA1B,GACA,IAAAS,EAAAT,KAAAqB,WACA,WAA2B,OAAArB,EAAA2B,SAC3B,WAAiC,OAAA3B,GAEjC,OADAH,EAAAU,EAAAE,EAAA,IAAAA,GACAA,GAIAZ,EAAAa,EAAA,SAAAkB,EAAAC,GAAsD,OAAAlB,OAAAmB,UAAAC,eAAA3B,KAAAwB,EAAAC,IAGtDhC,EAAAmC,EAAA,GAIAnC,IAAAoC,EAAA,MAAAC,EAAA,SAAAC,EAAAhB,EAAAO,GAAA,aC9EO,SAASU,EAAeZ,GAC7B,OAAKa,OAAOC,aAGLA,aAAaC,QAAQf,GAFnB,KAUJ,SAASgB,EAAehB,EAAKN,GAC7BmB,OAAOC,cAGZA,aAAaG,QAAQjB,EAAKN,GAOrB,SAASwB,EAAkBlB,GAC3Ba,OAAOC,cAGZA,aAAaK,WAAWnB,GA/B1B3B,EAAAU,EAAAqC,EAAA,sBAAAR,IAAAvC,EAAAU,EAAAqC,EAAA,sBAAAJ,IAAA3C,EAAAU,EAAAqC,EAAA,sBAAAF,oCCKO,SAASG,EAAuBC,EAASC,GAC9C,IAAMC,EAAQF,EAAQG,uBAAuBF,GAAW,GACxD,OAAIC,GAASA,EAAME,gBAAkBJ,EAC5B,KAEFE,EASF,SAASG,EAA6BL,EAASC,EAAWK,GAE/D,IAAIC,EAMJ,IAJEA,OADED,EACGN,EAAQI,cAERJ,EAEM,MAANO,IAAeA,EAAGC,UAAUC,SAASR,IAC1CM,EAAKA,EAAGH,cAEV,OAAOG,EAIF,SAASG,IACd,OAAOC,SAASC,gBAAgBC,aAAa,QACuB,QAA/DF,SAASC,gBAAgBE,aAAa,OAAOC,cAQ7C,SAASC,EAAiBhB,EAASiB,GACxC,IAAMC,EAAQP,SAASQ,YAAY,SAEnC,OADAD,EAAME,UAAUH,MAAM,GACfjB,EAAQqB,cAAcH,GA/C/BnE,EAAAU,EAAAqC,EAAA,sBAAAC,IAAAhD,EAAAU,EAAAqC,EAAA,sBAAAO,IAAAtD,EAAAU,EAAAqC,EAAA,sBAAAY,IAAA3D,EAAAU,EAAAqC,EAAA,sBAAAkB,IAAAjE,EAAAU,EAAAqC,EAAA,sBAAAwB,IAkDO,IAAMA,EAAW/B,OAAOgC,uBAA0B,SAAAC,GAAE,OAAIC,WAAWD,EAAI,MAAAE,EAAA,SAAArC,EAAAhB,EAAAO,GAAA,aClD9E7B,EAAAU,EAAAqC,EAAA,sBAAA6B,IAAA5E,EAAAU,EAAAqC,EAAA,sBAAA8B,IAAA7E,EAAAU,EAAAqC,EAAA,sBAAA+B,IAAA9E,EAAAU,EAAAqC,EAAA,sBAAAgC,IAAA,IAAAC,EAAAhF,EAAA,GAEMiF,EAAgB,aAChBC,EAAiB,cAOhB,SAASN,EAAWvD,EAAO8D,GAC5B9D,GACFuC,SAASC,gBAAgBuB,aAAa,MAAO,OACzCD,GACFA,EAAOE,gBAAgB,gBAIzB1C,YAAe,UAAW,UAE1BiB,SAASC,gBAAgBwB,gBAAgB,OACrCF,GACFA,EAAOC,aAAa,eAAgB,IAGtCvC,YAAkB,YASf,SAASgC,EAAYxD,EAAO8D,GAC7B9D,GACFuC,SAASC,gBAAgBuB,aAAa,iBAAkBH,GACpDE,GACFA,EAAOE,gBAAgB,kBAKzBzB,SAASC,gBAAgBuB,aAAa,iBAAkBF,GACpDC,GACFA,EAAOC,aAAa,eAAgB,KAIxCzC,YAAe,WAAYtB,EAAQ,OAAS,SAQvC,SAASyD,EAAYzD,EAAO8D,GAC7B9D,GACFuC,SAASC,gBAAgByB,MAAMC,YAAY,YAAalE,GACpD8D,GACFA,EAAOE,gBAAgB,gBAIzB1C,YAAe,WAAYtB,KAE3BuC,SAASC,gBAAgByB,MAAME,eAAe,aAC1CL,GACFA,EAAOC,aAAa,eAAgB,IAGtCvC,YAAkB,aAuDf,SAASkC,IACd,IAAMU,EAAU7B,SAAS8B,eAAe,qBAAqBtC,uBAAuB,cAC9EuC,EAAgBF,EAAQ,GACxBG,EAAiBH,EAAQ,GACzBI,EAAgBJ,EAAQ,IAnDhC,SAAsBxC,GACc,SAA9BV,YAAe,YACjBqC,KAAiB3B,GAEnBA,EAAQ6C,iBAAiB,QAAS,WACqB,QAAjDlC,SAASC,gBAAgBE,aAAa,OACxCa,KAAkB3B,GAElB2B,KAAiB3B,KARvB,CAoDe0C,GAnCf,SAAuB1C,GACc,SAA/BV,YAAe,aACjBsC,KAAkB5B,GAEpBA,EAAQ6C,iBAAiB,QAAS,WAC5BlC,SAASC,gBAAgBE,aAAa,oBAAsBkB,EAC9DJ,KAAmB5B,GAEnB4B,KAAkB5B,KARxB,CAoCgB2C,GAnBhB,SAA4B3C,GAE1B6B,EADiBvC,YAAe,YACVU,GACtBA,EAAQ6C,iBAAiB,QAAS,WAC5BlC,SAASC,gBAAgByB,MAAMS,iBAAiB,aAClDjB,EAAY,KAAM7B,GAElB6B,EAAY,OAAQ7B,KAP1B,CAoBqB4C,oCCjIrB,SAASG,EAAqB/C,GAG5B,IAHsD,IAAjBgD,EAAiBC,UAAAC,OAAA,YAAAD,UAAA,GAAAA,UAAA,GAAJ,GAC5CE,EAAWnD,EAAQoD,QAAQrC,cAC3BsC,KACGlG,EAAI,EAAGA,EAAI6C,EAAQqD,WAAWH,OAAQ/F,GAAK,EAAG,CACrD,IAAMmG,EAAYtD,EAAQqD,WAAWE,KAAKpG,GACtCmG,EAAUlF,MAAM8E,OAClBG,EAAWG,KAAX,GAAAC,OAAmBH,EAAU5F,KAA7B,MAAA+F,OAAsCH,EAAUlF,MAAhD,MAEAiF,EAAWG,KAAKF,EAAU5F,MAG9B2F,EAAWK,OAOX,IANA,IAAMC,GAAeR,EAAUE,EAAWO,KAAK,MACzCC,EAAe,IAAAJ,OAAOE,EAAYG,OAAO,SAAAP,GAAI,OAAIA,IAAMK,KAAK,KAAKG,OAAlD,KACfC,EAAe,KAAAP,OAAQN,EAAR,KACfc,GAASJ,GACTK,KACFC,KACKhH,EAAI,EAAGA,EAAI6C,EAAQoE,WAAWlB,OAAQ/F,GAAK,EAAG,CACrD,IAAM+C,EAAQF,EAAQoE,WAAWb,KAAKpG,GAClCkH,SACAnE,aAAiBoE,aACnBD,EAAWtB,EAAqB7C,EAAD,KAAAuD,OAAaT,KAC/Be,SACXI,MAEOjE,EAAMqE,YACfF,EAAQ,KAAAZ,OAAQvD,EAAMqE,YAEpBF,GAAYA,EAASN,QACvBG,EAAWV,KAAKa,GAGpB,OAAIF,EACKnB,EAAaiB,EAAML,KAAK,IAAMM,EAAWN,KAAK,IAAIG,OAASC,GAEpEE,EACGJ,OAAO,SAAAU,GAAI,OAAIA,EAAKT,SACpBU,QAAQ,SAAAD,GAAI,OAAIP,EAAMT,KAAKgB,KAC9BP,EAAMT,KAAKR,EAAagB,GACjBhB,EAAaiB,EAAML,KAAK,OASjC,SAASc,EAAoBC,EAAUzD,EAAO0D,GAC5C,IAAIC,EAEFA,EADEF,aAAoBG,SACPD,GAEDF,EAEhB,IAAK,IAAIxH,EAAI,EAAGA,EAAI0H,EAAY3B,OAAQ/F,GAAK,EAChC0H,EAAY1H,GACpB0F,iBAAiB3B,EAAO0D,GAQ/B,SAASG,EAAiBC,GACxB,IAAK,IAAI7H,EAAI,EAAGA,EAAI6H,EAAKZ,WAAWlB,OAAQ/F,GAAK,EAAG,CAClD,IAAM8H,EAAYD,EAAKZ,WAAWjH,GAClC,GAAI8H,EAAUC,WAAaC,KAAKC,UAC9B,OAAOH,EAGX,IAAMI,EAAW1E,SAAS2E,eAAe,IAEzC,OADAN,EAAKO,YAAYF,GACVA,EAQT,SAASG,EAAqBxF,EAASyF,GAErC,IADA,IAAMC,EAAa/E,SAASgF,cAAcF,GACjCtI,EAAI6C,EAAQqD,WAAWH,OAAS,EAAG/F,GAAK,EAAGA,GAAK,EAAG,CAC1D,IAAMyI,EAAO5F,EAAQqD,WAAWE,KAAKpG,GACrCuI,EAAWrC,WAAWwC,aAAaD,EAAKE,aAE1C,KAAO9F,EAAQ+F,YACbL,EAAWH,YAAYvF,EAAQ+F,YAIjC,OADA/F,EAAQI,cAAc4F,aAAaN,EAAY1F,GACxC0F,EAnGT3I,EAAAU,EAAAqC,EAAA,sBAAAiD,IAAAhG,EAAAU,EAAAqC,EAAA,sBAAA4E,IAAA3H,EAAAU,EAAAqC,EAAA,sBAAAiF,IAAAhI,EAAAU,EAAAqC,EAAA,sBAAA0F,+ECAAzI,EAAAkB,EAAA6B,GAAA,IAaImG,EAbJC,EAAAnJ,EAAA,GAAAoJ,EAAApJ,EAAA,GAAAqJ,EAAArJ,EAAA,GAgBA,SAASsJ,IACP,IAAMC,EAAa3F,SAAS4F,cAAc,8CAA8CC,QAClFC,EAAa9F,SAAS4F,cAAc,8CAA8CC,QAClFE,EAAc/F,SAAS4F,cAAc,0BAA0BC,QAC/DG,EAAahG,SAAS4F,cAAc,+CAA+CC,QACnFI,EAAQN,GAAcG,EACxBC,GAAeE,GAASD,EAC1BV,EAAgB9D,aAAa,eAAgB,IAE7C8D,EAAgB7D,gBAAgB,gBAIlCyE,IAAUC,OAAOb,GAEOtF,SAASR,uBAAuB,kBAAkB,GAC1D4G,YAAchE,YAAqBkD,GAG/CW,GACFC,IAAUG,OAAOf,GAGGtF,SAASR,uBAAuB,gBAAgB,GACxD4G,YAAc,kCAnC9B,WAEE,IADA,IAAME,EAAatG,SAASuG,iBAAiB,sBACpC/J,EAAI,EAAGA,EAAI8J,EAAW/D,OAAQ/F,GAAK,EAC1C0J,IAAUG,OAAOC,EAAW1D,KAAKpG,IAHrC,GA6PA2E,cATEmE,EAAkBtF,SAAS4F,cAAc,oCACzC7B,YACE/D,SAASuG,iBAAiB,eAC1B,SA7MJ,SAAwBhG,GAAO,IAIzBiG,EACAC,EACAC,EACAC,EACAC,EARyBC,EACItG,EAAMuG,OAA/B/J,EADqB8J,EACrB9J,KAAMU,EADeoJ,EACfpJ,MAAOoI,EADQgB,EACRhB,QACjBkB,EAAezB,EAAgB9F,uBAAuB,wBAAwB,GAC9EwH,EAAiBD,EAAatE,QAAQrC,cAM1C,OAAQrD,GACN,IAAK,aACH,OAAQU,GACN,QACA,IAAK,cACH6H,EAAgB7D,gBAAgB,gBAChCuF,EAAiB,QACjB,MACF,IAAK,YACHA,EAAiB,WACjB,MACF,IAAK,WACH1B,EAAgB7D,gBAAgB,gBAChCuF,EAAiB,SAGrB,MACF,IAAK,QACH,OAAQvJ,GACN,QACA,IAAK,SACH6H,EAAgB7D,gBAAgB,gBAChC6D,EAAgB7D,gBAAgB,YAChC,MACF,IAAK,WACH6D,EAAgB9D,aAAa,eAAgB,IAC7C8D,EAAgB7D,gBAAgB,YAChC,MACF,IAAK,OACH6D,EAAgB7D,gBAAgB,gBAChC6D,EAAgB9D,aAAa,WAAY,IAG7C,MACF,IAAK,MACCqE,EACFP,EAAgB9D,aAAa,UAAW,IAExC8D,EAAgB7D,gBAAgB,WAElC,MACF,IAAK,WACCoE,EACFP,EAAgB9D,aAAa,eAAgB,IAE7C8D,EAAgB7D,gBAAgB,gBAElC,MACF,IAAK,WACCoE,EACFP,EAAgB9F,uBAAuB,wBAAwB,GAAGgC,aAAa,WAAY,IAE3F8D,EAAgB9F,uBAAuB,wBAAwB,GAAGiC,gBAAgB,YAEpF,MACF,IAAK,WACCoE,EACFP,EAAgB9F,uBAAuB,wBAAwB,GAAGgC,aAAa,WAAY,IAE3F8D,EAAgB9F,uBAAuB,wBAAwB,GAAGiC,gBAAgB,YAEpF,MACF,IAAK,SACHiF,EAAapB,EAAgB9F,uBAAuB,yBAAyB,GACzEqG,EACGa,KACHA,EAAa1G,SAASgF,cAAc,QACzBnF,UAAUoH,IAAI,yBACzBP,EAAWN,YAAc,IACzBd,EAAgBV,YAAY8B,IAErBA,GACTA,EAAWjH,cAAcyH,YAAYR,GAEvC,MACF,IAAK,SACHC,EAAarB,EAAgB9F,uBAAuB,yBAAyB,GACzEqG,EACGc,KACHA,EAAa3G,SAASgF,cAAc,QACzBnF,UAAUoH,IAAI,yBACzBN,EAAWP,YAAc,MACzBd,EAAgBV,YAAY+B,IAErBA,GACTA,EAAWlH,cAAcyH,YAAYP,GAEvC,MACF,IAAK,YACHC,EAAmBtB,EAAgB9F,uBAAuB,4BAA4B,GAClFqG,EACGe,KACHA,EAAmB5G,SAASgF,cAAc,QACzBnF,UAAUoH,IAAI,4BAC/BL,EAAiB/G,UAAUoH,IAAI,kBAC/BL,EAAiBR,YAAc,WAC3BW,EAAaI,mBACf7B,EAAgB8B,aAAaR,EAAkBG,EAAaI,oBAE5D7B,EAAgBV,YAAYgC,IAGvBA,GACTA,EAAiBnH,cAAcyH,YAAYN,GAE7C,MACF,IAAK,cACHJ,EAAalB,EAAgB9F,uBAAuB,8BAA8B,GAC9EqG,EACGW,KACHA,EAAaxG,SAASgF,cAAc,QACzBnF,UAAUoH,IAAI,8BACzBT,EAAWJ,YAAc,eACzBd,EAAgBV,YAAY4B,IAErBA,GACTA,EAAW/G,cAAcyH,YAAYV,GAEvC,MACF,IAAK,aACHC,EAAYnB,EAAgB9F,uBAAuB,6BAA6B,GAC5EqG,EACGY,KACHA,EAAYzG,SAASgF,cAAc,QACzBnF,UAAUoH,IAAI,6BACxBR,EAAUL,YAAc,cACxBd,EAAgBV,YAAY6B,IAErBA,GACTA,EAAUhH,cAAcyH,YAAYT,GAEtC,MACF,IAAK,QACH,OAAQhJ,GACN,IAAK,OACH6H,EAAgB7D,gBAAgB,mBAChC,MACF,QACE6D,EAAgB9D,aAAa,kBAAmB/D,GAGpD,MACF,IAAK,OACH,OAAQA,GACN,IAAK,OACH6H,EAAgB7D,gBAAgB,kBAChC,MACF,QACE6D,EAAgB9D,aAAa,iBAAkB/D,IAOvD,GAAIsJ,EAAatE,QAAQrC,gBAAkB4G,EAAgB,CAEzD,IADA,IAAMjC,EAAa/E,SAASgF,cAAcgC,GACjCxK,EAAIuK,EAAarE,WAAWH,OAAS,EAAG/F,GAAK,EAAGA,GAAK,EAAG,CAC/D,IAAMyI,EAAO8B,EAAarE,WAAWE,KAAKpG,GAC1CuI,EAAWrC,WAAWwC,aAAaD,EAAKE,aAE1C4B,EAAatH,cAAc4F,aAAaN,EAAYgC,GACpDA,EAAehC,EACf,IAAIsC,EAAW/B,EAAgB9F,uBAAuB,uBAAuB,GAC7E,GAAuB,WAAnBwH,EAA6B,CAC/B,IAAMM,EAAUtH,SAASgF,cAAc,UACvCsC,EAAQ9F,aAAa,QAAS,IAC9B8F,EAAQlB,YAAc,QACtB,IAAMmB,EAAUvH,SAASgF,cAAc,UACvCuC,EAAQ/F,aAAa,QAAS,WAC9B+F,EAAQnB,YAAc,WACtB,IAAMoB,EAAUxH,SAASgF,cAAc,UACvCwC,EAAQhG,aAAa,QAAS,WAC9BgG,EAAQpB,YAAc,WACtBW,EAAanC,YAAY0C,GACzBP,EAAanC,YAAY2C,GACzBR,EAAanC,YAAY4C,GACpBH,KACHA,EAAWrH,SAASgF,cAAc,QACzBnF,UAAUoH,IAAI,uBACvBI,EAAS7F,aAAa,eAAgB,IACtC8D,EAAgBV,YAAYyC,SAErBA,GACTA,EAAS5H,cAAcyH,YAAYG,GAGvCN,EAAatF,gBAAgB,QAC7BiE,MAgBFA,wBCpQAnJ,EAAAD,QAAiBF,EAAAmC,EAAuB,kBAAAkJ,EAAA,SAAA/I,EAAAhB,EAAAO,GAAA,aAAAA,EAAAnB,EAAAY,EAAA,sBAAAlB,IAAA,IAAAc,EAAAW,EAAA,YAAAyJ,EAAAhJ,EAAAhB,GAAA,QAAAO,EAAA,EAAAA,EAAAP,EAAA6E,OAAAtE,IAAA,KAAAX,EAAAI,EAAAO,GAAAX,EAAAF,WAAAE,EAAAF,aAAA,EAAAE,EAAAqK,cAAA,YAAArK,MAAAsK,UAAA,GAAA1K,OAAAC,eAAAuB,EAAApB,EAAAS,IAAAT,IAAA,ICElC4I,oMAKU2B,GAEZ,IAAMC,EAAS1I,YAAuByI,EAAkB,wBACpDC,IACFA,EAAM5F,iBAAiB,QAASgE,EAAU6B,SAC1C7B,EAAU6B,SAAUC,cAAeF,oCAQzBD,GACZA,EAAiBpG,gBAAgB,mBACjC,IAAMqG,EAAQ1I,YAAuByI,EAAkB,wBACnDC,GACFA,EAAMG,oBAAoB,QAAS/B,EAAU6B,yCAQlCxH,GACb,IAAMwG,EAAexG,EAAMyH,cACvBjB,EAAatH,cAAcS,aAAa,iBAC1CgG,EAAUgC,mBAAmBnB,GAE/Bb,EAAUiC,sBAAsBpB,iDAMLA,GAC3B,IACMc,EAAmBd,EAAatH,cAClCsH,EAAatJ,MACXoK,EAAiB3H,aAHD,oBAIlB2H,EAAiBpG,gBAJC,mBAMVoG,EAAiB3H,aANP,oBAOpB2H,EAAiBrG,aAAa,kBAAmB,OAAAzD,IAAA,qBAAAN,MAAA,SAO3BsJ,GACxB,IAAMqB,EAAoBrB,EAAa5G,aAAa,QACpD4G,EAAavF,aAAa,OAAQ,KAFI,IAAA6G,EAGPzJ,OAAO0J,iBAAiBvB,GAA/CwB,EAH8BF,EAG9BE,OAAQC,EAHsBH,EAGtBG,WAChB,IAAKD,GAAqB,SAAXA,EAEb,OADAxB,EAAavF,aAAa,OAAQ4G,IAC1B,EAEV,IAAMK,EAAWC,SAASH,EAAOI,QAAQ,KAAM,IAAK,IAC9CC,EAAeF,SAASF,EAAWG,QAAQ,KAAM,IAAK,IAE5D,OADA5B,EAAavF,aAAa,OAAQqH,KAAKC,OAAO/B,EAAagC,aAAeH,GAAgBH,GAAUO,YAC7FP,mCAOOZ,GAEd,IAAMC,EAAS1I,YAAuByI,EAAkB,wBACxD,GAAKC,aAAiBmB,qBAAyBnB,aAAiBoB,kBAC9D,OAAOpB,EAAMrK,MAGf,OADaqK,EAAM5H,aAAa,SAAW4H,EAAM3H,aAAa,QAAQC,eAEpE,IAAK,SACL,IAAK,QACH,OAAO+I,OAAOC,MAAMtB,EAAMuB,eAAiB,KAAOvB,EAAMuB,cAC1D,IAAK,OACL,IAAK,iBACL,IAAK,OACH,OAAmB,MAAfvB,EAAMrK,MACD,KAEF,IAAI6L,KAA0D,GAApD,IAAIA,KAAKxB,EAAMuB,eAAeE,oBAA2B,IAAQzB,EAAMuB,eAC1F,QACE,OAAOvB,EAAMrK,wCASHoK,EAAkBpK,GAEhC,IAAMqK,EAAS1I,YAAuByI,EAAkB,wBACxD,GAAa,MAATpK,EACFqK,EAAMrK,MAAQ,UACT,GAAIqK,aAAiBmB,qBAAuBnB,aAAiBoB,kBAC9DzL,aAAiB6L,KACnBxB,EAAMrK,MAAQA,EAAMuL,WAEpBlB,EAAMrK,MADoB,iBAAVA,EACFA,EAEAA,EAAMuL,SAAS,SAE1B,GAAIvL,aAAiB6L,KAAM,CAChC,IAAMhJ,EAAOwH,EAAM5H,aAAa,SAAW4H,EAAM3H,aAAa,QAAQC,cACtE,GAAa,SAATE,EAAiB,CACnB,IAAMkJ,EAAQ,GAAA1G,OAAMrF,EAAMgM,WAAa,GAAK,IAAM,IAApC3G,OAAyCrF,EAAMgM,YACvDC,EAAU,GAAA5G,OAAMrF,EAAMkM,aAAe,GAAK,IAAM,IAAtC7G,OAA2CrF,EAAMkM,cAC3DC,EAAU,GAAA9G,OAAMrF,EAAMoM,aAAe,GAAK,IAAM,IAAtC/G,OAA2CrF,EAAMoM,cACjE/B,EAAMrK,MAAN,GAAAqF,OAAiB0G,EAAjB,KAAA1G,OAA6B4G,EAA7B,KAAA5G,OAA2C8G,EAA3C,KAAA9G,OAAyDrF,EAAMqM,wBAE/D,OAAQxJ,GACN,IAAK,OACHwH,EAAMiC,YAActM,EACpB,MACF,IAAK,iBACHqK,EAAMuB,cAAgB5L,EAAMuM,UAAyC,GAA5BvM,EAAM8L,oBAA2B,IAC1E,MACF,IAAK,SACL,IAAK,QACHzB,EAAMuB,cAAgB5L,EAAMuM,UAC5B,MACF,QACElC,EAAMrK,MAAQA,EAAMuL,iBAGrB,GAAqB,iBAAVvL,EAChBqK,EAAMrK,MAAQA,OAGd,OADaqK,EAAM5H,aAAa,SAAW4H,EAAM3H,aAAa,QAAQC,eAEpE,IAAK,OACL,IAAK,OACL,IAAK,iBACL,IAAK,SACL,IAAK,QACH0H,EAAMuB,cAAgB5L,EACtB,MACF,QACEqK,EAAMrK,MAAQA,EAAMuL,WAG1B9C,EAAUiC,sBAAsBL,GAC5BD,EAAiB3H,aAAa,kBAChCgG,EAAUgC,mBAAmBJ,SA5J7B5B","file":"textfield.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 66);\n","/**\n * @param {string} key\n * @return {string}\n */\nexport function getStorageItem(key) {\n if (!window.localStorage) {\n return null;\n }\n return localStorage.getItem(key);\n}\n\n/**\n * @param {string} key\n * @param {string} value\n * @return {void}\n */\nexport function setStorageItem(key, value) {\n if (!window.localStorage) {\n return;\n }\n localStorage.setItem(key, value);\n}\n\n/**\n * @param {string} key\n * @return {void}\n */\nexport function removeStorageItem(key) {\n if (!window.localStorage) {\n return;\n }\n localStorage.removeItem(key);\n}\n","/**\n * @param {Element} element\n * @param {string} className\n * @return {Element}\n */\nexport function getChildElementByClass(element, className) {\n const child = element.getElementsByClassName(className)[0];\n if (child && child.parentElement !== element) {\n return null;\n }\n return child;\n}\n\n/**\n * @param {Element} element\n * @param {string} className\n * @param {boolean=} [includeSelf=true]\n * @return {Element}\n */\nexport function findElementParentByClassName(element, className, includeSelf) {\n /** @type {Element} */\n let el;\n if (includeSelf === false) {\n el = element.parentElement;\n } else {\n el = element;\n }\n while (el != null && !el.classList.contains(className)) {\n el = el.parentElement;\n }\n return el;\n}\n\n/** @return {boolean} */\nexport function isRtl() {\n return document.documentElement.hasAttribute('dir')\n && document.documentElement.getAttribute('dir').toLowerCase() === 'rtl';\n}\n\n/**\n * @param {Element} element\n * @param {string} type\n * @return {boolean}\n */\nexport function dispatchDomEvent(element, type) {\n const event = document.createEvent('Event');\n event.initEvent(type, true, true);\n return element.dispatchEvent(event);\n}\n\nexport const nextTick = window.requestAnimationFrame || (cb => setTimeout(cb, 17));\n","import { setStorageItem, removeStorageItem, getStorageItem } from './storage';\n\nconst darkAttribute = 'black dark';\nconst lightAttribute = 'white light';\n\n/**\n * @param {boolean} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setRTLMode(value, button) {\n if (value) {\n document.documentElement.setAttribute('dir', 'rtl');\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n setStorageItem('rtlmode', 'true');\n } else {\n document.documentElement.removeAttribute('dir');\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n removeStorageItem('rtlmode');\n }\n}\n\n/**\n * @param {boolean} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setDarkMode(value, button) {\n if (value) {\n document.documentElement.setAttribute('mdw-theme-fill', darkAttribute);\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n } else {\n document.documentElement.setAttribute('mdw-theme-fill', lightAttribute);\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n }\n setStorageItem('darkmode', value ? 'true' : 'false');\n}\n\n/**\n * @param {string} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setFontSize(value, button) {\n if (value) {\n document.documentElement.style.setProperty('font-size', value);\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n setStorageItem('fontsize', value);\n } else {\n document.documentElement.style.removeProperty('font-size');\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n removeStorageItem('fontsize');\n }\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupRTLMode(element) {\n if (getStorageItem('rtlmode') === 'true') {\n setRTLMode(true, element);\n }\n element.addEventListener('click', () => {\n if (document.documentElement.getAttribute('dir') === 'rtl') {\n setRTLMode(false, element);\n } else {\n setRTLMode(true, element);\n }\n });\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupDarkMode(element) {\n if (getStorageItem('darkmode') === 'true') {\n setDarkMode(true, element);\n }\n element.addEventListener('click', () => {\n if (document.documentElement.getAttribute('mdw-theme-fill') === darkAttribute) {\n setDarkMode(false, element);\n } else {\n setDarkMode(true, element);\n }\n });\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupLargeFontMode(element) {\n const fontsize = getStorageItem('fontsize');\n setFontSize(fontsize, element);\n element.addEventListener('click', () => {\n if (document.documentElement.style.getPropertyValue('font-size')) {\n setFontSize(null, element);\n } else {\n setFontSize('125%', element);\n }\n });\n}\n\n/** @return {void} */\nexport function setupMenuOptions() {\n const buttons = document.getElementById('docs-menu-buttons').getElementsByClassName('mdw-button');\n const buttonRTLMode = buttons[0];\n const buttonDarkMode = buttons[1];\n const largeFontMode = buttons[2];\n setupRTLMode(buttonRTLMode);\n setupDarkMode(buttonDarkMode);\n setupLargeFontMode(largeFontMode);\n}\n","/**\n * @param {HTMLElement} element\n * @param {string=} linePrefix\n * @return {string}\n */\nfunction convertElementToCode(element, linePrefix = '') {\n const htmlType = element.tagName.toLowerCase();\n const attributes = [];\n for (let i = 0; i < element.attributes.length; i += 1) {\n const attribute = element.attributes.item(i);\n if (attribute.value.length) {\n attributes.push(`${attribute.name}=\"${attribute.value}\"`);\n } else {\n attributes.push(attribute.name);\n }\n }\n attributes.sort();\n const syntaxItems = [htmlType, attributes.join(' ')];\n const openingHTMLLine = `<${syntaxItems.filter(item => item).join(' ').trim()}>`;\n const closingHTMLLine = `</${htmlType}>`;\n const lines = [openingHTMLLine];\n const innerLines = [];\n let onlyText = true;\n for (let i = 0; i < element.childNodes.length; i += 1) {\n const child = element.childNodes.item(i);\n let lineText;\n if (child instanceof HTMLElement) {\n lineText = convertElementToCode(child, ` ${linePrefix}`);\n if (lineText.trim()) {\n onlyText = false;\n }\n } else if (child.nodeValue) {\n lineText = ` ${child.nodeValue}`;\n }\n if (lineText && lineText.trim()) {\n innerLines.push(lineText);\n }\n }\n if (onlyText) {\n return linePrefix + lines.join('') + innerLines.join('').trim() + closingHTMLLine;\n }\n innerLines\n .filter(line => line.trim())\n .forEach(line => lines.push(line));\n lines.push(linePrefix + closingHTMLLine);\n return linePrefix + lines.join('\\n');\n}\n\n/**\n * @param {Element|NodeListOf<Element>} elements\n * @param {string} event\n * @param {Function} listener\n * @return {void}\n */\nfunction attachEventListener(elements, event, listener) {\n let elementList;\n if (elements instanceof Element) {\n elementList = [elementList];\n } else {\n elementList = elements;\n }\n for (let i = 0; i < elementList.length; i += 1) {\n const el = elementList[i];\n el.addEventListener(event, listener);\n }\n}\n\n/**\n * @param {Element} node\n * @return {Node}\n */\nfunction getChildTextNode(node) {\n for (let i = 0; i < node.childNodes.length; i += 1) {\n const childNode = node.childNodes[i];\n if (childNode.nodeType === Node.TEXT_NODE) {\n return childNode;\n }\n }\n const textNode = document.createTextNode('');\n node.appendChild(textNode);\n return textNode;\n}\n\n/**\n * @param {Element} element\n * @param {string} tagname\n * @return {Element}\n */\nfunction changeElementTagName(element, tagname) {\n const newElement = document.createElement(tagname);\n for (let i = element.attributes.length - 1; i >= 0; i -= 1) {\n const attr = element.attributes.item(i);\n newElement.attributes.setNamedItem(attr.cloneNode());\n }\n while (element.firstChild) {\n newElement.appendChild(element.firstChild);\n }\n\n element.parentElement.replaceChild(newElement, element);\n return newElement;\n}\n\nexport {\n convertElementToCode,\n attachEventListener,\n getChildTextNode,\n changeElementTagName,\n};\n","import { TextField } from '../../../components/textfield/index';\nimport { convertElementToCode, attachEventListener } from '../sample-utils';\nimport { setupMenuOptions } from '../menuoptions';\n\n/** @return {void} */\nfunction initializeSampleComponents() {\n const textfields = document.querySelectorAll('.js .mdw-textfield');\n for (let i = 0; i < textfields.length; i += 1) {\n TextField.attach(textfields.item(i));\n }\n}\n\n/** @type {HTMLElement} */\nlet sampleComponent;\n\n/** @return {void} */\nfunction updateSampleCode() {\n const jsRequired = document.querySelector('input[name=\"javascript\"][value=\"required\"]').checked;\n const jsOptional = document.querySelector('input[name=\"javascript\"][value=\"optional\"]').checked;\n const useAutoSize = document.querySelector('input[name=\"autosize\"]').checked;\n const isTextArea = document.querySelector('input[name=\"field-type\"][value=\"text-area\"]').checked;\n const useJS = jsRequired || jsOptional;\n if (useAutoSize && useJS && isTextArea) {\n sampleComponent.setAttribute('mdw-autosize', '');\n } else {\n sampleComponent.removeAttribute('mdw-autosize');\n }\n\n // Strip JS related elements and attributes\n TextField.detach(sampleComponent);\n\n const htmlCodeElement = document.getElementsByClassName('component-html')[0];\n htmlCodeElement.textContent = convertElementToCode(sampleComponent);\n\n // Reattach JS if requested\n if (useJS) {\n TextField.attach(sampleComponent);\n }\n\n const jsCodeElement = document.getElementsByClassName('component-js')[0];\n jsCodeElement.textContent = 'mdw.TextField.attach(element);';\n}\n\n/**\n * @param {Event} event\n * @return {void}\n */\nfunction onOptionChange(event) {\n const { name, value, checked } = event.target;\n let inputElement = sampleComponent.getElementsByClassName('mdw-textfield__input')[0];\n let desiredTagName = inputElement.tagName.toLowerCase();\n let helperText;\n let errorText;\n let prefixText;\n let suffixText;\n let signifierElement;\n switch (name) {\n case 'field-type':\n switch (value) {\n default:\n case 'single-type':\n sampleComponent.removeAttribute('mdw-autosize');\n desiredTagName = 'input';\n break;\n case 'text-area':\n desiredTagName = 'textarea';\n break;\n case 'dropdown':\n sampleComponent.removeAttribute('mdw-autosize');\n desiredTagName = 'select';\n break;\n }\n break;\n case 'style':\n switch (value) {\n default:\n case 'filled':\n sampleComponent.removeAttribute('mdw-outlined');\n sampleComponent.removeAttribute('mdw-solo');\n break;\n case 'outlined':\n sampleComponent.setAttribute('mdw-outlined', '');\n sampleComponent.removeAttribute('mdw-solo');\n break;\n case 'solo':\n sampleComponent.removeAttribute('mdw-outlined');\n sampleComponent.setAttribute('mdw-solo', '');\n break;\n }\n break;\n case 'box':\n if (checked) {\n sampleComponent.setAttribute('mdw-box', '');\n } else {\n sampleComponent.removeAttribute('mdw-box');\n }\n break;\n case 'outlined':\n if (checked) {\n sampleComponent.setAttribute('mdw-outlined', '');\n } else {\n sampleComponent.removeAttribute('mdw-outlined');\n }\n break;\n case 'disabled':\n if (checked) {\n sampleComponent.getElementsByClassName('mdw-textfield__input')[0].setAttribute('disabled', '');\n } else {\n sampleComponent.getElementsByClassName('mdw-textfield__input')[0].removeAttribute('disabled');\n }\n break;\n case 'required':\n if (checked) {\n sampleComponent.getElementsByClassName('mdw-textfield__input')[0].setAttribute('required', '');\n } else {\n sampleComponent.getElementsByClassName('mdw-textfield__input')[0].removeAttribute('required');\n }\n break;\n case 'prefix':\n prefixText = sampleComponent.getElementsByClassName('mdw-textfield__prefix')[0];\n if (checked) {\n if (!prefixText) {\n prefixText = document.createElement('div');\n prefixText.classList.add('mdw-textfield__prefix');\n prefixText.textContent = '$';\n sampleComponent.appendChild(prefixText);\n }\n } else if (prefixText) {\n prefixText.parentElement.removeChild(prefixText);\n }\n break;\n case 'suffix':\n suffixText = sampleComponent.getElementsByClassName('mdw-textfield__suffix')[0];\n if (checked) {\n if (!suffixText) {\n suffixText = document.createElement('div');\n suffixText.classList.add('mdw-textfield__suffix');\n suffixText.textContent = 'lbs';\n sampleComponent.appendChild(suffixText);\n }\n } else if (suffixText) {\n suffixText.parentElement.removeChild(suffixText);\n }\n break;\n case 'signifier':\n signifierElement = sampleComponent.getElementsByClassName('mdw-textfield__signifier')[0];\n if (checked) {\n if (!signifierElement) {\n signifierElement = document.createElement('div');\n signifierElement.classList.add('mdw-textfield__signifier');\n signifierElement.classList.add('material-icons');\n signifierElement.textContent = 'security';\n if (inputElement.nextElementSibling) {\n sampleComponent.insertBefore(signifierElement, inputElement.nextElementSibling);\n } else {\n sampleComponent.appendChild(signifierElement);\n }\n }\n } else if (signifierElement) {\n signifierElement.parentElement.removeChild(signifierElement);\n }\n break;\n case 'helper-text':\n helperText = sampleComponent.getElementsByClassName('mdw-textfield__helper-text')[0];\n if (checked) {\n if (!helperText) {\n helperText = document.createElement('div');\n helperText.classList.add('mdw-textfield__helper-text');\n helperText.textContent = 'Helper text.';\n sampleComponent.appendChild(helperText);\n }\n } else if (helperText) {\n helperText.parentElement.removeChild(helperText);\n }\n break;\n case 'error-text':\n errorText = sampleComponent.getElementsByClassName('mdw-textfield__error-text')[0];\n if (checked) {\n if (!errorText) {\n errorText = document.createElement('div');\n errorText.classList.add('mdw-textfield__error-text');\n errorText.textContent = 'Error text.';\n sampleComponent.appendChild(errorText);\n }\n } else if (errorText) {\n errorText.parentElement.removeChild(errorText);\n }\n break;\n case 'color':\n switch (value) {\n case 'none':\n sampleComponent.removeAttribute('mdw-theme-color');\n break;\n default:\n sampleComponent.setAttribute('mdw-theme-color', value);\n break;\n }\n break;\n case 'fill':\n switch (value) {\n case 'none':\n sampleComponent.removeAttribute('mdw-theme-fill');\n break;\n default:\n sampleComponent.setAttribute('mdw-theme-fill', value);\n break;\n }\n break;\n default:\n }\n\n if (inputElement.tagName.toLowerCase() !== desiredTagName) {\n const newElement = document.createElement(desiredTagName);\n for (let i = inputElement.attributes.length - 1; i >= 0; i -= 1) {\n const attr = inputElement.attributes.item(i);\n newElement.attributes.setNamedItem(attr.cloneNode());\n }\n inputElement.parentElement.replaceChild(newElement, inputElement);\n inputElement = newElement;\n let dropdown = sampleComponent.getElementsByClassName('mdw-textfield__icon')[0];\n if (desiredTagName === 'select') {\n const option1 = document.createElement('option');\n option1.setAttribute('value', '');\n option1.textContent = 'Empty';\n const option2 = document.createElement('option');\n option2.setAttribute('value', 'option1');\n option2.textContent = 'Option 1';\n const option3 = document.createElement('option');\n option3.setAttribute('value', 'option2');\n option3.textContent = 'Option 2';\n inputElement.appendChild(option1);\n inputElement.appendChild(option2);\n inputElement.appendChild(option3);\n if (!dropdown) {\n dropdown = document.createElement('div');\n dropdown.classList.add('mdw-textfield__icon');\n dropdown.setAttribute('mdw-dropdown', '');\n sampleComponent.appendChild(dropdown);\n }\n } else if (dropdown) {\n dropdown.parentElement.removeChild(dropdown);\n }\n }\n inputElement.removeAttribute('rows');\n updateSampleCode();\n}\n\n/** @return {void} */\nfunction setupComponentOptions() {\n sampleComponent = document.querySelector('.component-sample .mdw-textfield');\n attachEventListener(\n document.querySelectorAll('input[name]'),\n 'change',\n onOptionChange\n );\n}\n\ninitializeSampleComponents();\nsetupMenuOptions();\nsetupComponentOptions();\nupdateSampleCode();\n","module.exports = __webpack_public_path__ + \"textfield.html\";","import { getChildElementByClass } from '../common/dom';\n\nclass TextField {\n /**\n * @param {Element} textfieldElement\n * @return {void}\n */\n static attach(textfieldElement) {\n /** @type {HTMLInputElement|HTMLTextAreaElement|HTMLSelectElement} */\n const input = (getChildElementByClass(textfieldElement, 'mdw-textfield__input'));\n if (input) {\n input.addEventListener('input', TextField.onInput);\n TextField.onInput({ currentTarget: input });\n }\n }\n\n /**\n * @param {Element} textfieldElement\n * @return {void}\n */\n static detach(textfieldElement) {\n textfieldElement.removeAttribute('mdw-value-empty');\n const input = getChildElementByClass(textfieldElement, 'mdw-textfield__input');\n if (input) {\n input.removeEventListener('input', TextField.onInput);\n }\n }\n\n /**\n * @param {Event|{currentTarget}} event\n * @return {void}\n */\n static onInput(event) {\n const inputElement = event.currentTarget;\n if (inputElement.parentElement.hasAttribute('mdw-autosize')) {\n TextField.updateTextAreaSize(inputElement);\n }\n TextField.updateInputEmptyState(inputElement);\n }\n\n /**\n * @param {HTMLInputElement|HTMLTextAreaElement|HTMLSelectElement} inputElement\n * @return {void} */\n static updateInputEmptyState(inputElement) {\n const attributeName = 'mdw-value-empty';\n const textfieldElement = inputElement.parentElement;\n if (inputElement.value) {\n if (textfieldElement.hasAttribute(attributeName)) {\n textfieldElement.removeAttribute(attributeName);\n }\n } else if (!textfieldElement.hasAttribute(attributeName)) {\n textfieldElement.setAttribute('mdw-value-empty', '');\n }\n }\n\n /**\n * @param {HTMLInputElement} inputElement\n * @return {number} Single row height */\n static updateTextAreaSize(inputElement) {\n const previousRowsValue = inputElement.getAttribute('rows');\n inputElement.setAttribute('rows', '1');\n const { height, paddingTop } = window.getComputedStyle(inputElement);\n if (!height || height === 'auto') {\n inputElement.setAttribute('rows', previousRowsValue);\n return -1;\n }\n const heightPx = parseInt(height.replace('px', ''), 10);\n const paddingTopPx = parseInt(paddingTop.replace('px', ''), 10);\n inputElement.setAttribute('rows', Math.floor((inputElement.scrollHeight - paddingTopPx) / heightPx).toString());\n return heightPx;\n }\n\n /**\n * @param {Element} textfieldElement\n * @return {string|Date|number}\n */\n static getValue(textfieldElement) {\n /** @type {HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement} */\n const input = (getChildElementByClass(textfieldElement, 'mdw-textfield__input'));\n if ((input instanceof HTMLTextAreaElement) || (input instanceof HTMLSelectElement)) {\n return input.value;\n }\n const type = input.hasAttribute('type') && input.getAttribute('type').toLowerCase();\n switch (type) {\n case 'number':\n case 'range':\n return Number.isNaN(input.valueAsNumber) ? null : input.valueAsNumber;\n case 'date':\n case 'datetime-local':\n case 'time':\n if (input.value == null) {\n return null;\n }\n return new Date((new Date(input.valueAsNumber).getTimezoneOffset() * 60 * 1000) + input.valueAsNumber);\n default:\n return input.value;\n }\n }\n\n /**\n * @param {Element} textfieldElement\n * @param {(string|Date|number)=} value\n * @return {void}\n */\n static setValue(textfieldElement, value) {\n /** @type {HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement} */\n const input = (getChildElementByClass(textfieldElement, 'mdw-textfield__input'));\n if (value == null) {\n input.value = null;\n } else if (input instanceof HTMLTextAreaElement || input instanceof HTMLSelectElement) {\n if (value instanceof Date) {\n input.value = value.toString();\n } else if (typeof value === 'string') {\n input.value = value;\n } else {\n input.value = value.toString(10);\n }\n } else if (value instanceof Date) {\n const type = input.hasAttribute('type') && input.getAttribute('type').toLowerCase();\n if (type === 'time') {\n const hoursStr = `${value.getHours() < 10 ? '0' : ''}${value.getHours()}`;\n const minutesStr = `${value.getMinutes() < 10 ? '0' : ''}${value.getMinutes()}`;\n const secondsStr = `${value.getSeconds() < 10 ? '0' : ''}${value.getSeconds()}`;\n input.value = `${hoursStr}:${minutesStr}:${secondsStr}.${value.getMilliseconds()}`;\n } else {\n switch (type) {\n case 'date':\n input.valueAsDate = value;\n break;\n case 'datetime-local':\n input.valueAsNumber = value.getTime() - (value.getTimezoneOffset() * 60 * 1000);\n break;\n case 'number':\n case 'range':\n input.valueAsNumber = value.getTime();\n break;\n default:\n input.value = value.toString();\n }\n }\n } else if (typeof value === 'string') {\n input.value = value;\n } else {\n const type = input.hasAttribute('type') && input.getAttribute('type').toLowerCase();\n switch (type) {\n case 'date':\n case 'time':\n case 'datetime-local':\n case 'number':\n case 'range':\n input.valueAsNumber = value;\n break;\n default:\n input.value = value.toString();\n }\n }\n TextField.updateInputEmptyState(input);\n if (textfieldElement.hasAttribute('mdw-multiline')) {\n TextField.updateTextAreaSize(input);\n }\n }\n}\n\nexport {\n TextField,\n};\n"],"sourceRoot":""}