godown 3.0.0-canary.8 → 3.0.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 (510) hide show
  1. package/README.md +38 -9
  2. package/alert.d.ts +1 -0
  3. package/alert.d.ts.map +1 -1
  4. package/alert.js +1 -5
  5. package/alert.js.map +1 -1
  6. package/avatar.d.ts +1 -0
  7. package/avatar.d.ts.map +1 -1
  8. package/avatar.js +1 -5
  9. package/avatar.js.map +1 -1
  10. package/badge.d.ts +9 -0
  11. package/badge.d.ts.map +1 -0
  12. package/badge.js +2 -0
  13. package/badge.js.map +1 -0
  14. package/breath.js +1 -5
  15. package/breath.js.map +1 -1
  16. package/build/godown+lit.iife.js +59 -0
  17. package/build/godown+lit.iife.js.map +1 -0
  18. package/build/godown+lit.js +59 -0
  19. package/build/godown+lit.js.map +1 -0
  20. package/build/godown+lit.umd.js +59 -0
  21. package/build/godown+lit.umd.js.map +1 -0
  22. package/build/godown.iife.js +47 -0
  23. package/build/godown.js +48 -0
  24. package/build/godown.js.map +1 -0
  25. package/build/godown.umd.js +48 -0
  26. package/build/godown.umd.js.map +1 -0
  27. package/button.d.ts +1 -0
  28. package/button.d.ts.map +1 -1
  29. package/button.js +1 -5
  30. package/button.js.map +1 -1
  31. package/card.d.ts +1 -0
  32. package/card.d.ts.map +1 -1
  33. package/card.js +1 -5
  34. package/card.js.map +1 -1
  35. package/carousel.d.ts +1 -0
  36. package/carousel.d.ts.map +1 -1
  37. package/carousel.js +1 -5
  38. package/carousel.js.map +1 -1
  39. package/components/alert.d.ts +4 -1
  40. package/components/alert.d.ts.map +1 -1
  41. package/components/alert.js +1 -176
  42. package/components/alert.js.map +1 -1
  43. package/components/avatar.d.ts +8 -2
  44. package/components/avatar.d.ts.map +1 -1
  45. package/components/avatar.js +1 -61
  46. package/components/avatar.js.map +1 -1
  47. package/components/badge.d.ts +23 -0
  48. package/components/badge.d.ts.map +1 -0
  49. package/components/badge.js +2 -0
  50. package/components/badge.js.map +1 -0
  51. package/components/breath.d.ts +7 -4
  52. package/components/breath.d.ts.map +1 -1
  53. package/components/breath.js +1 -79
  54. package/components/breath.js.map +1 -1
  55. package/components/button.d.ts +19 -10
  56. package/components/button.d.ts.map +1 -1
  57. package/components/button.js +1 -165
  58. package/components/button.js.map +1 -1
  59. package/components/card.d.ts +3 -2
  60. package/components/card.d.ts.map +1 -1
  61. package/components/card.js +1 -53
  62. package/components/card.js.map +1 -1
  63. package/components/carousel.d.ts +10 -5
  64. package/components/carousel.d.ts.map +1 -1
  65. package/components/carousel.js +1 -112
  66. package/components/carousel.js.map +1 -1
  67. package/components/details.d.ts +6 -2
  68. package/components/details.d.ts.map +1 -1
  69. package/components/details.js +1 -49
  70. package/components/details.js.map +1 -1
  71. package/components/dialog.d.ts +8 -3
  72. package/components/dialog.d.ts.map +1 -1
  73. package/components/dialog.js +1 -93
  74. package/components/dialog.js.map +1 -1
  75. package/components/divider.d.ts +3 -3
  76. package/components/divider.d.ts.map +1 -1
  77. package/components/divider.js +1 -36
  78. package/components/divider.js.map +1 -1
  79. package/components/dragbox.d.ts +11 -9
  80. package/components/dragbox.d.ts.map +1 -1
  81. package/components/dragbox.js +1 -109
  82. package/components/dragbox.js.map +1 -1
  83. package/components/flex.d.ts +4 -1
  84. package/components/flex.d.ts.map +1 -1
  85. package/components/flex.js +1 -54
  86. package/components/flex.js.map +1 -1
  87. package/components/form.d.ts +3 -3
  88. package/components/form.d.ts.map +1 -1
  89. package/components/form.js +1 -77
  90. package/components/form.js.map +1 -1
  91. package/components/grid.d.ts +10 -3
  92. package/components/grid.d.ts.map +1 -1
  93. package/components/grid.js +1 -55
  94. package/components/grid.js.map +1 -1
  95. package/components/heading.d.ts +29 -0
  96. package/components/heading.d.ts.map +1 -0
  97. package/components/heading.js +2 -0
  98. package/components/heading.js.map +1 -0
  99. package/components/input.d.ts +7 -3
  100. package/components/input.d.ts.map +1 -1
  101. package/components/input.js +1 -50
  102. package/components/input.js.map +1 -1
  103. package/components/layout.d.ts +8 -9
  104. package/components/layout.d.ts.map +1 -1
  105. package/components/layout.js +1 -46
  106. package/components/layout.js.map +1 -1
  107. package/components/link.d.ts +8 -1
  108. package/components/link.d.ts.map +1 -1
  109. package/components/link.js +1 -42
  110. package/components/link.js.map +1 -1
  111. package/components/progress.d.ts +4 -11
  112. package/components/progress.d.ts.map +1 -1
  113. package/components/progress.js +1 -67
  114. package/components/progress.js.map +1 -1
  115. package/components/range.d.ts +22 -15
  116. package/components/range.d.ts.map +1 -1
  117. package/components/range.js +1 -273
  118. package/components/range.js.map +1 -1
  119. package/components/rotate.d.ts +4 -2
  120. package/components/rotate.d.ts.map +1 -1
  121. package/components/rotate.js +1 -56
  122. package/components/rotate.js.map +1 -1
  123. package/components/router.d.ts +20 -24
  124. package/components/router.d.ts.map +1 -1
  125. package/components/router.js +1 -250
  126. package/components/router.js.map +1 -1
  127. package/components/select.d.ts +8 -4
  128. package/components/select.d.ts.map +1 -1
  129. package/components/select.js +1 -212
  130. package/components/select.js.map +1 -1
  131. package/components/skeleton.d.ts +3 -1
  132. package/components/skeleton.d.ts.map +1 -1
  133. package/components/skeleton.js +1 -54
  134. package/components/skeleton.js.map +1 -1
  135. package/components/split.d.ts +25 -2
  136. package/components/split.d.ts.map +1 -1
  137. package/components/split.js +1 -128
  138. package/components/split.js.map +1 -1
  139. package/components/switch.d.ts +8 -5
  140. package/components/switch.d.ts.map +1 -1
  141. package/components/switch.js +1 -92
  142. package/components/switch.js.map +1 -1
  143. package/components/text.d.ts +3 -1
  144. package/components/text.d.ts.map +1 -1
  145. package/components/text.js +1 -43
  146. package/components/text.js.map +1 -1
  147. package/components/time.d.ts +8 -6
  148. package/components/time.d.ts.map +1 -1
  149. package/components/time.js +1 -85
  150. package/components/time.js.map +1 -1
  151. package/components/tooltip.d.ts +14 -2
  152. package/components/tooltip.d.ts.map +1 -1
  153. package/components/tooltip.js +1 -66
  154. package/components/tooltip.js.map +1 -1
  155. package/components/typewriter.d.ts +8 -14
  156. package/components/typewriter.d.ts.map +1 -1
  157. package/components/typewriter.js +1 -129
  158. package/components/typewriter.js.map +1 -1
  159. package/core/global-style.d.ts +2 -2
  160. package/core/global-style.d.ts.map +1 -1
  161. package/core/global-style.js +1 -45
  162. package/core/global-style.js.map +1 -1
  163. package/core/super-anchor.d.ts +2 -1
  164. package/core/super-anchor.d.ts.map +1 -1
  165. package/core/super-anchor.js +1 -38
  166. package/core/super-anchor.js.map +1 -1
  167. package/core/super-input.d.ts +6 -5
  168. package/core/super-input.d.ts.map +1 -1
  169. package/core/super-input.js +1 -111
  170. package/core/super-input.js.map +1 -1
  171. package/core/super-openable.d.ts +1 -1
  172. package/core/super-openable.d.ts.map +1 -1
  173. package/core/super-openable.js +1 -37
  174. package/core/super-openable.js.map +1 -1
  175. package/custom-elements.json +1 -1
  176. package/details.d.ts +1 -0
  177. package/details.d.ts.map +1 -1
  178. package/details.js +1 -5
  179. package/details.js.map +1 -1
  180. package/dev/alert.d.ts +1 -0
  181. package/dev/alert.d.ts.map +1 -1
  182. package/dev/alert.js +1 -0
  183. package/dev/alert.js.map +1 -1
  184. package/dev/avatar.d.ts +1 -0
  185. package/dev/avatar.d.ts.map +1 -1
  186. package/dev/avatar.js +1 -0
  187. package/dev/avatar.js.map +1 -1
  188. package/dev/badge.d.ts +9 -0
  189. package/dev/badge.d.ts.map +1 -0
  190. package/dev/badge.js +5 -0
  191. package/dev/badge.js.map +1 -0
  192. package/dev/button.d.ts +1 -0
  193. package/dev/button.d.ts.map +1 -1
  194. package/dev/button.js +1 -0
  195. package/dev/button.js.map +1 -1
  196. package/dev/card.d.ts +1 -0
  197. package/dev/card.d.ts.map +1 -1
  198. package/dev/card.js +1 -0
  199. package/dev/card.js.map +1 -1
  200. package/dev/carousel.d.ts +1 -0
  201. package/dev/carousel.d.ts.map +1 -1
  202. package/dev/carousel.js +1 -0
  203. package/dev/carousel.js.map +1 -1
  204. package/dev/components/alert.d.ts +4 -1
  205. package/dev/components/alert.d.ts.map +1 -1
  206. package/dev/components/alert.js +20 -23
  207. package/dev/components/alert.js.map +1 -1
  208. package/dev/components/avatar.d.ts +8 -2
  209. package/dev/components/avatar.d.ts.map +1 -1
  210. package/dev/components/avatar.js +23 -13
  211. package/dev/components/avatar.js.map +1 -1
  212. package/dev/components/badge.d.ts +23 -0
  213. package/dev/components/badge.d.ts.map +1 -0
  214. package/dev/components/badge.js +107 -0
  215. package/dev/components/badge.js.map +1 -0
  216. package/dev/components/breath.d.ts +7 -4
  217. package/dev/components/breath.d.ts.map +1 -1
  218. package/dev/components/breath.js +30 -26
  219. package/dev/components/breath.js.map +1 -1
  220. package/dev/components/button.d.ts +19 -10
  221. package/dev/components/button.d.ts.map +1 -1
  222. package/dev/components/button.js +47 -28
  223. package/dev/components/button.js.map +1 -1
  224. package/dev/components/card.d.ts +3 -2
  225. package/dev/components/card.d.ts.map +1 -1
  226. package/dev/components/card.js +23 -33
  227. package/dev/components/card.js.map +1 -1
  228. package/dev/components/carousel.d.ts +10 -5
  229. package/dev/components/carousel.d.ts.map +1 -1
  230. package/dev/components/carousel.js +33 -26
  231. package/dev/components/carousel.js.map +1 -1
  232. package/dev/components/details.d.ts +6 -2
  233. package/dev/components/details.d.ts.map +1 -1
  234. package/dev/components/details.js +24 -26
  235. package/dev/components/details.js.map +1 -1
  236. package/dev/components/dialog.d.ts +8 -3
  237. package/dev/components/dialog.d.ts.map +1 -1
  238. package/dev/components/dialog.js +21 -17
  239. package/dev/components/dialog.js.map +1 -1
  240. package/dev/components/divider.d.ts +3 -3
  241. package/dev/components/divider.d.ts.map +1 -1
  242. package/dev/components/divider.js +29 -17
  243. package/dev/components/divider.js.map +1 -1
  244. package/dev/components/dragbox.d.ts +11 -9
  245. package/dev/components/dragbox.d.ts.map +1 -1
  246. package/dev/components/dragbox.js +11 -4
  247. package/dev/components/dragbox.js.map +1 -1
  248. package/dev/components/flex.d.ts +4 -1
  249. package/dev/components/flex.d.ts.map +1 -1
  250. package/dev/components/flex.js +25 -9
  251. package/dev/components/flex.js.map +1 -1
  252. package/dev/components/form.d.ts +3 -3
  253. package/dev/components/form.d.ts.map +1 -1
  254. package/dev/components/form.js +2 -5
  255. package/dev/components/form.js.map +1 -1
  256. package/dev/components/grid.d.ts +10 -3
  257. package/dev/components/grid.d.ts.map +1 -1
  258. package/dev/components/grid.js +18 -10
  259. package/dev/components/grid.js.map +1 -1
  260. package/dev/components/heading.d.ts +29 -0
  261. package/dev/components/heading.d.ts.map +1 -0
  262. package/dev/components/heading.js +103 -0
  263. package/dev/components/heading.js.map +1 -0
  264. package/dev/components/input.d.ts +7 -3
  265. package/dev/components/input.d.ts.map +1 -1
  266. package/dev/components/input.js +18 -18
  267. package/dev/components/input.js.map +1 -1
  268. package/dev/components/layout.d.ts +8 -9
  269. package/dev/components/layout.d.ts.map +1 -1
  270. package/dev/components/layout.js +38 -25
  271. package/dev/components/layout.js.map +1 -1
  272. package/dev/components/link.d.ts +8 -1
  273. package/dev/components/link.d.ts.map +1 -1
  274. package/dev/components/link.js +15 -3
  275. package/dev/components/link.js.map +1 -1
  276. package/dev/components/progress.d.ts +4 -11
  277. package/dev/components/progress.d.ts.map +1 -1
  278. package/dev/components/progress.js +43 -49
  279. package/dev/components/progress.js.map +1 -1
  280. package/dev/components/range.d.ts +22 -15
  281. package/dev/components/range.d.ts.map +1 -1
  282. package/dev/components/range.js +56 -61
  283. package/dev/components/range.js.map +1 -1
  284. package/dev/components/rotate.d.ts +4 -2
  285. package/dev/components/rotate.d.ts.map +1 -1
  286. package/dev/components/rotate.js +3 -5
  287. package/dev/components/rotate.js.map +1 -1
  288. package/dev/components/router.d.ts +20 -24
  289. package/dev/components/router.d.ts.map +1 -1
  290. package/dev/components/router.js +23 -36
  291. package/dev/components/router.js.map +1 -1
  292. package/dev/components/select.d.ts +8 -4
  293. package/dev/components/select.d.ts.map +1 -1
  294. package/dev/components/select.js +44 -32
  295. package/dev/components/select.js.map +1 -1
  296. package/dev/components/skeleton.d.ts +3 -1
  297. package/dev/components/skeleton.d.ts.map +1 -1
  298. package/dev/components/skeleton.js +9 -9
  299. package/dev/components/skeleton.js.map +1 -1
  300. package/dev/components/split.d.ts +25 -2
  301. package/dev/components/split.d.ts.map +1 -1
  302. package/dev/components/split.js +71 -38
  303. package/dev/components/split.js.map +1 -1
  304. package/dev/components/switch.d.ts +8 -5
  305. package/dev/components/switch.d.ts.map +1 -1
  306. package/dev/components/switch.js +28 -31
  307. package/dev/components/switch.js.map +1 -1
  308. package/dev/components/text.d.ts +3 -1
  309. package/dev/components/text.d.ts.map +1 -1
  310. package/dev/components/text.js +12 -15
  311. package/dev/components/text.js.map +1 -1
  312. package/dev/components/time.d.ts +8 -6
  313. package/dev/components/time.d.ts.map +1 -1
  314. package/dev/components/time.js +8 -14
  315. package/dev/components/time.js.map +1 -1
  316. package/dev/components/tooltip.d.ts +14 -2
  317. package/dev/components/tooltip.d.ts.map +1 -1
  318. package/dev/components/tooltip.js +54 -24
  319. package/dev/components/tooltip.js.map +1 -1
  320. package/dev/components/typewriter.d.ts +8 -14
  321. package/dev/components/typewriter.d.ts.map +1 -1
  322. package/dev/components/typewriter.js +22 -37
  323. package/dev/components/typewriter.js.map +1 -1
  324. package/dev/core/global-style.d.ts +2 -2
  325. package/dev/core/global-style.d.ts.map +1 -1
  326. package/dev/core/global-style.js +18 -14
  327. package/dev/core/global-style.js.map +1 -1
  328. package/dev/core/super-anchor.d.ts +2 -1
  329. package/dev/core/super-anchor.d.ts.map +1 -1
  330. package/dev/core/super-anchor.js +25 -23
  331. package/dev/core/super-anchor.js.map +1 -1
  332. package/dev/core/super-input.d.ts +6 -5
  333. package/dev/core/super-input.d.ts.map +1 -1
  334. package/dev/core/super-input.js +43 -36
  335. package/dev/core/super-input.js.map +1 -1
  336. package/dev/core/super-openable.d.ts +1 -1
  337. package/dev/core/super-openable.d.ts.map +1 -1
  338. package/dev/core/super-openable.js +2 -2
  339. package/dev/core/super-openable.js.map +1 -1
  340. package/dev/details.d.ts +1 -0
  341. package/dev/details.d.ts.map +1 -1
  342. package/dev/details.js +1 -0
  343. package/dev/details.js.map +1 -1
  344. package/dev/dialog.d.ts +1 -0
  345. package/dev/dialog.d.ts.map +1 -1
  346. package/dev/dialog.js +1 -0
  347. package/dev/dialog.js.map +1 -1
  348. package/dev/divider.d.ts +1 -0
  349. package/dev/divider.d.ts.map +1 -1
  350. package/dev/divider.js +1 -0
  351. package/dev/divider.js.map +1 -1
  352. package/dev/dragbox.d.ts +1 -0
  353. package/dev/dragbox.d.ts.map +1 -1
  354. package/dev/dragbox.js +1 -0
  355. package/dev/dragbox.js.map +1 -1
  356. package/dev/flex.d.ts +1 -0
  357. package/dev/flex.d.ts.map +1 -1
  358. package/dev/flex.js +1 -0
  359. package/dev/flex.js.map +1 -1
  360. package/dev/form.d.ts +1 -0
  361. package/dev/form.d.ts.map +1 -1
  362. package/dev/form.js +1 -0
  363. package/dev/form.js.map +1 -1
  364. package/dev/grid.d.ts +1 -0
  365. package/dev/grid.d.ts.map +1 -1
  366. package/dev/grid.js +1 -0
  367. package/dev/grid.js.map +1 -1
  368. package/dev/heading.d.ts +9 -0
  369. package/dev/heading.d.ts.map +1 -0
  370. package/dev/heading.js +5 -0
  371. package/dev/heading.js.map +1 -0
  372. package/dev/index.d.ts +2 -0
  373. package/dev/index.d.ts.map +1 -1
  374. package/dev/index.js +2 -0
  375. package/dev/index.js.map +1 -1
  376. package/dev/layout.d.ts.map +1 -1
  377. package/dev/progress.d.ts.map +1 -1
  378. package/dev/router.d.ts.map +1 -1
  379. package/dev/split.d.ts +1 -1
  380. package/dev/split.d.ts.map +1 -1
  381. package/dev/typewriter.d.ts +1 -0
  382. package/dev/typewriter.d.ts.map +1 -1
  383. package/dev/typewriter.js +1 -0
  384. package/dev/typewriter.js.map +1 -1
  385. package/dialog.d.ts +1 -0
  386. package/dialog.d.ts.map +1 -1
  387. package/dialog.js +1 -5
  388. package/dialog.js.map +1 -1
  389. package/divider.d.ts +1 -0
  390. package/divider.d.ts.map +1 -1
  391. package/divider.js +1 -5
  392. package/divider.js.map +1 -1
  393. package/dragbox.d.ts +1 -0
  394. package/dragbox.d.ts.map +1 -1
  395. package/dragbox.js +1 -5
  396. package/dragbox.js.map +1 -1
  397. package/flex.d.ts +1 -0
  398. package/flex.d.ts.map +1 -1
  399. package/flex.js +1 -5
  400. package/flex.js.map +1 -1
  401. package/form.d.ts +1 -0
  402. package/form.d.ts.map +1 -1
  403. package/form.js +1 -5
  404. package/form.js.map +1 -1
  405. package/grid.d.ts +1 -0
  406. package/grid.d.ts.map +1 -1
  407. package/grid.js +1 -5
  408. package/grid.js.map +1 -1
  409. package/heading.d.ts +9 -0
  410. package/heading.d.ts.map +1 -0
  411. package/heading.js +2 -0
  412. package/heading.js.map +1 -0
  413. package/index.d.ts +2 -0
  414. package/index.d.ts.map +1 -1
  415. package/index.js +1 -56
  416. package/index.js.map +1 -1
  417. package/input.js +1 -5
  418. package/input.js.map +1 -1
  419. package/layout.d.ts.map +1 -1
  420. package/layout.js +1 -5
  421. package/layout.js.map +1 -1
  422. package/link.js +1 -5
  423. package/link.js.map +1 -1
  424. package/package.json +11 -6
  425. package/progress.d.ts.map +1 -1
  426. package/progress.js +1 -5
  427. package/progress.js.map +1 -1
  428. package/range.js +1 -5
  429. package/range.js.map +1 -1
  430. package/rotate.js +1 -5
  431. package/rotate.js.map +1 -1
  432. package/router.d.ts.map +1 -1
  433. package/router.js +1 -5
  434. package/router.js.map +1 -1
  435. package/select.js +1 -5
  436. package/select.js.map +1 -1
  437. package/skeleton.js +1 -5
  438. package/skeleton.js.map +1 -1
  439. package/split.d.ts +1 -1
  440. package/split.d.ts.map +1 -1
  441. package/split.js +1 -5
  442. package/split.js.map +1 -1
  443. package/src/alert.ts +2 -0
  444. package/src/avatar.ts +2 -0
  445. package/src/badge.ts +13 -0
  446. package/src/button.ts +2 -0
  447. package/src/card.ts +2 -0
  448. package/src/carousel.ts +2 -0
  449. package/src/components/alert.ts +26 -29
  450. package/src/components/avatar.ts +28 -17
  451. package/src/components/badge.ts +107 -0
  452. package/src/components/breath.ts +38 -31
  453. package/src/components/button.ts +55 -46
  454. package/src/components/card.ts +26 -34
  455. package/src/components/carousel.ts +48 -38
  456. package/src/components/details.ts +27 -28
  457. package/src/components/dialog.ts +30 -26
  458. package/src/components/divider.ts +29 -17
  459. package/src/components/dragbox.ts +25 -19
  460. package/src/components/flex.ts +26 -11
  461. package/src/components/form.ts +7 -9
  462. package/src/components/grid.ts +31 -13
  463. package/src/components/heading.ts +105 -0
  464. package/src/components/input.ts +23 -22
  465. package/src/components/layout.ts +26 -31
  466. package/src/components/link.ts +15 -4
  467. package/src/components/progress.ts +51 -52
  468. package/src/components/range.ts +82 -94
  469. package/src/components/rotate.ts +12 -11
  470. package/src/components/router.ts +59 -48
  471. package/src/components/select.ts +59 -47
  472. package/src/components/skeleton.ts +13 -11
  473. package/src/components/split.ts +90 -49
  474. package/src/components/switch.ts +38 -37
  475. package/src/components/text.ts +14 -21
  476. package/src/components/time.ts +20 -14
  477. package/src/components/tooltip.ts +54 -29
  478. package/src/components/typewriter.ts +41 -47
  479. package/src/core/global-style.ts +33 -19
  480. package/src/core/super-anchor.ts +30 -26
  481. package/src/core/super-input.ts +54 -54
  482. package/src/core/super-openable.ts +7 -7
  483. package/src/details.ts +2 -0
  484. package/src/dialog.ts +2 -0
  485. package/src/divider.ts +2 -0
  486. package/src/dragbox.ts +2 -0
  487. package/src/flex.ts +2 -0
  488. package/src/form.ts +2 -0
  489. package/src/grid.ts +2 -0
  490. package/src/heading.ts +13 -0
  491. package/src/index.ts +2 -0
  492. package/src/layout.ts +1 -0
  493. package/src/progress.ts +1 -0
  494. package/src/router.ts +1 -0
  495. package/src/split.ts +1 -1
  496. package/src/typewriter.ts +2 -0
  497. package/switch.js +1 -5
  498. package/switch.js.map +1 -1
  499. package/text.js +1 -5
  500. package/text.js.map +1 -1
  501. package/time.js +1 -5
  502. package/time.js.map +1 -1
  503. package/tooltip.js +1 -5
  504. package/tooltip.js.map +1 -1
  505. package/typewriter.d.ts +1 -0
  506. package/typewriter.d.ts.map +1 -1
  507. package/typewriter.js +1 -5
  508. package/typewriter.js.map +1 -1
  509. package/vscode.html-custom-data.json +1 -1
  510. package/web-types.json +1 -1
@@ -1,7 +1,4 @@
1
- import { godown } from "@godown/element/decorators/godown.js";
2
- import { styles } from "@godown/element/decorators/styles.js";
3
- import { htmlSlot } from "@godown/element/directives/html-slot.js";
4
- import { RouteTree } from "@godown/element/tools/route-tree.js";
1
+ import { godown, htmlSlot, RouteTree, styles } from "@godown/element";
5
2
  import { css, type PropertyValueMap, type TemplateResult } from "lit";
6
3
  import { property, state } from "lit/decorators.js";
7
4
 
@@ -27,12 +24,14 @@ const protoName = "router";
27
24
  *
28
25
  * If no routes are matched, the default value (no named slot) will be rendered.
29
26
  *
27
+ * @slot - Display slot when there is no match.
28
+ * @slot * - Matching slot will be displayed.
30
29
  * @category navigation
31
30
  */
32
31
  @godown(protoName)
33
32
  @styles(css`:host{display:contents;}`)
34
- class Router<C = unknown> extends GlobalStyle {
35
- static routerInstances = new Set<Router>();
33
+ class Router extends GlobalStyle {
34
+ static routerInstances: Set<Router> = new Set<Router>();
36
35
 
37
36
  private __fieldRouteTree: RouteTree = new RouteTree();
38
37
  private __slottedRouteTree: RouteTree = new RouteTree();
@@ -41,7 +40,7 @@ class Router<C = unknown> extends GlobalStyle {
41
40
  & Record<string, any>
42
41
  & {
43
42
  path: string;
44
- component?: C;
43
+ component?: unknown;
45
44
  }
46
45
  )[];
47
46
 
@@ -49,32 +48,32 @@ class Router<C = unknown> extends GlobalStyle {
49
48
  * Render result.
50
49
  */
51
50
  @state()
52
- component: C | TemplateResult = null;
51
+ component: unknown | TemplateResult = null;
52
+
53
53
  /**
54
54
  * Dynamic parameters record.
55
55
  */
56
56
  @state()
57
57
  params: Record<string, string> = {};
58
+
58
59
  /**
59
60
  * Value of matched path in routes.
60
61
  */
61
62
  @state()
62
63
  path: string;
64
+
63
65
  /**
64
66
  * Current pathname (equals to location.pathname).
65
67
  */
66
68
  @property()
67
- pathname = "";
68
- /**
69
- * Path prefix.
70
- */
71
- @property()
72
- baseURL = "";
69
+ pathname: string;
70
+
73
71
  /**
74
72
  * Rendered content when there is no match.
75
73
  */
76
74
  @state()
77
75
  default: TemplateResult = htmlSlot();
76
+
78
77
  /**
79
78
  * The type of routing sources.
80
79
  *
@@ -84,6 +83,7 @@ class Router<C = unknown> extends GlobalStyle {
84
83
  */
85
84
  @property()
86
85
  type: "united" | "slotted" | "field" = "united";
86
+
87
87
  /**
88
88
  * Cache accessed records.
89
89
  *
@@ -97,15 +97,20 @@ class Router<C = unknown> extends GlobalStyle {
97
97
  this.__routes = value;
98
98
  this.collectFieldRoutes(value);
99
99
  }
100
- get routes() {
100
+
101
+ get routes(): (Record<string, any> & {
102
+ path: string;
103
+ render?: (ur: ReturnType<Router["useRouter"]>) => unknown;
104
+ component?: unknown;
105
+ })[] {
101
106
  return this.__routes;
102
107
  }
103
108
 
104
- clear() {
109
+ clear(): void {
105
110
  this.__cacheRecord.clear();
106
111
  }
107
112
 
108
- protected render() {
113
+ protected render(): unknown {
109
114
  this.params = {};
110
115
  if (this.cache) {
111
116
  const cached = this.__cacheRecord.get(this.pathname);
@@ -127,7 +132,7 @@ class Router<C = unknown> extends GlobalStyle {
127
132
  return this.component ?? this.default ?? null;
128
133
  }
129
134
 
130
- connectedCallback() {
135
+ connectedCallback(): void {
131
136
  super.connectedCallback();
132
137
  Router.routerInstances.add(this);
133
138
  this.pathname ??= location.pathname;
@@ -143,12 +148,17 @@ class Router<C = unknown> extends GlobalStyle {
143
148
  }
144
149
  }
145
150
 
146
- disconnectedCallback() {
151
+ disconnectedCallback(): void {
147
152
  super.disconnectedCallback();
148
153
  Router.routerInstances.delete(this);
149
154
  }
150
155
 
151
- useRouter() {
156
+ useRouter(): {
157
+ pathname: string;
158
+ params: Record<string, string>;
159
+ path: string;
160
+ component: unknown;
161
+ } {
152
162
  return {
153
163
  pathname: this.pathname,
154
164
  params: this.params,
@@ -158,17 +168,16 @@ class Router<C = unknown> extends GlobalStyle {
158
168
  }
159
169
 
160
170
  /**
161
- * @param params value of useRouter()
162
- * @param first whether this path is loaded for the first time.
171
+ * Callback function when the route changes.
163
172
  */
164
173
  routeChangeCallback: (params: {
165
174
  pathname: string;
166
175
  params: Record<string, string>;
167
176
  path: string;
168
- component: C | TemplateResult;
177
+ component: unknown | TemplateResult;
169
178
  }, first: boolean) => void = null;
170
179
 
171
- protected updated(changedProperties: PropertyValueMap<this>) {
180
+ protected updated(changedProperties: PropertyValueMap<this>): void {
172
181
  const shouldDispatch = changedProperties.has("pathname") || changedProperties.has("path");
173
182
  if (shouldDispatch) {
174
183
  const ur = this.useRouter();
@@ -182,12 +191,10 @@ class Router<C = unknown> extends GlobalStyle {
182
191
  }
183
192
 
184
193
  /**
185
- * Find components from {@linkcode __fieldRouteTree} matching query.
186
- * @param query Query string.
187
- * @returns Components or null.
194
+ * Get component from {@linkcode routes} by query.
188
195
  */
189
- fieldComponent(query?: string) {
190
- query ||= this.useWhich(this.pathname);
196
+ fieldComponent(query?: string): unknown {
197
+ query ||= this.__fieldRouteTree.search(this.pathname)?.pattern;
191
198
  this.path = query;
192
199
 
193
200
  if (!query) {
@@ -199,35 +206,38 @@ class Router<C = unknown> extends GlobalStyle {
199
206
  if (!route) {
200
207
  return null;
201
208
  }
209
+
210
+ if ("render" in route) {
211
+ return route.render?.(this.useRouter()) || null;
212
+ }
213
+
202
214
  return route.component;
203
215
  }
204
216
 
205
217
  /**
206
- * Find components from {@linkcode __slottedRouteTree} matching query.
207
- * @param query Query string.
208
- * @returns Named slot element template result or null.
218
+ * Get component from slotted elements by query.
209
219
  */
210
- slottedComponent(usedRouteTemplate?: string) {
220
+ slottedComponent(query?: string): TemplateResult<1> {
211
221
  const slottedPaths = this._slottedNames;
212
- usedRouteTemplate ||= this.__slottedRouteTree.useWhich(this.pathname);
213
- this.path = usedRouteTemplate;
222
+ query ||= this.__slottedRouteTree.search(this.pathname)?.pattern;
223
+ this.path = query;
214
224
 
215
- if (!usedRouteTemplate) {
225
+ if (!query) {
216
226
  return null;
217
227
  }
218
228
 
219
- this.path = slottedPaths.find((s) => s === usedRouteTemplate);
229
+ this.path = slottedPaths.find((s) => s === query);
220
230
  if (!this.path) {
221
231
  return null;
222
232
  }
223
- this.params = this.parseParams(usedRouteTemplate, this.pathname);
233
+ this.params = this.parseParams(query, this.pathname);
224
234
  return htmlSlot(this.path);
225
235
  }
226
236
 
227
237
  /**
228
238
  * Reset the route tree, clear cache, collect routes from child elements.
229
239
  */
230
- collectSlottedRoutes() {
240
+ collectSlottedRoutes(): void {
231
241
  this.__slottedRouteTree = new RouteTree();
232
242
  this.clear();
233
243
  this._slottedNames.forEach(slotName => {
@@ -238,7 +248,7 @@ class Router<C = unknown> extends GlobalStyle {
238
248
  /**
239
249
  * Reset the route tree, clear cache, collect routes from value.
240
250
  */
241
- collectFieldRoutes(value: typeof this.routes) {
251
+ collectFieldRoutes(value: typeof this.routes): void {
242
252
  this.__fieldRouteTree = new RouteTree();
243
253
  this.clear();
244
254
  value.forEach(({ path }) => {
@@ -246,19 +256,20 @@ class Router<C = unknown> extends GlobalStyle {
246
256
  });
247
257
  }
248
258
 
249
- useWhich(path: string) {
250
- return this.__fieldRouteTree.useWhich(this.baseURL + path);
259
+ parseParams(routeTemplate: string, path: string = this.pathname): Record<string, string> {
260
+ return RouteTree.parseParams(path, routeTemplate);
251
261
  }
252
262
 
253
- parseParams(routeTemplate: string, path: string) {
254
- return this.__fieldRouteTree.parseParams(path, routeTemplate);
255
- }
256
-
257
- static updateAll() {
263
+ static updateAll(): void {
258
264
  this.routerInstances.forEach((i) => {
259
- i.pathname = window.location.pathname;
265
+ i.handlePopstate();
260
266
  });
261
267
  }
268
+
269
+ handlePopstate = this.events.add(window, "popstate", () => {
270
+ this.pathname = location.pathname;
271
+ }) as () => void;
262
272
  }
263
273
 
264
274
  export default Router;
275
+ export { Router };
@@ -1,12 +1,7 @@
1
- import { HandlerEvent } from "@godown/element";
2
- import { godown } from "@godown/element/decorators/godown.js";
3
- import { part } from "@godown/element/decorators/part.js";
4
- import { styles } from "@godown/element/decorators/styles.js";
5
- import { htmlSlot } from "@godown/element/directives/html-slot.js";
1
+ import { attr, godown, type HandlerEvent, htmlSlot, part, styles } from "@godown/element";
6
2
  import svgCaretDown from "@godown/f7-icon/icons/chevron-down.js";
7
- import { css, html, nothing } from "lit";
3
+ import { css, html, nothing, type TemplateResult } from "lit";
8
4
  import { property, state } from "lit/decorators.js";
9
- import { ifDefined } from "lit/directives/if-defined.js";
10
5
 
11
6
  import Input from "./input.js";
12
7
 
@@ -44,32 +39,39 @@ const protoName = "select";
44
39
  *
45
40
  * Input will filter the element.
46
41
  *
42
+ * @fires input - Fires when the input value changes.
43
+ * @fires change - Fires when the input value changes.
44
+ * @fires select - Fires when select an option.
47
45
  * @slot - Options.
48
46
  * @category input
49
47
  */
50
48
  @godown(protoName)
51
49
  @styles(
52
50
  css`
53
- [part="input"] {
51
+ [part=input] {
54
52
  text-overflow: ellipsis;
55
53
  }
56
54
 
57
- [part="content"] {
55
+ [part=content] {
58
56
  position: absolute;
59
57
  width: 100%;
58
+ visibility: hidden;
60
59
  }
61
60
 
62
- [direction="bottom"] {
61
+ [direction=bottom] [part=content] {
63
62
  top: 100%;
64
63
  }
65
64
 
66
- [direction="top"] {
65
+ [direction=top] [part=content] {
67
66
  bottom: 100%;
68
67
  }
68
+
69
+ [visible] [part=content] {
70
+ visibility: visible
71
+ }
69
72
  `,
70
73
  )
71
74
  class Select extends Input {
72
- _cache = new WeakMap<HTMLElement, boolean>();
73
75
  // @ts-ignore
74
76
  value: string | string[];
75
77
 
@@ -80,53 +82,61 @@ class Select extends Input {
80
82
  text: string;
81
83
 
82
84
  @part("content")
83
- _content: HTMLElement;
85
+ protected _content: HTMLElement;
84
86
 
85
87
  @property()
86
88
  direction: "top" | "bottom" | undefined;
87
89
 
88
90
  @property({ type: Boolean })
89
- multiple: boolean;
91
+ multiple = false;
90
92
 
91
93
  @property({ type: Boolean })
92
- visible: boolean;
94
+ visible = false;
93
95
 
94
96
  @state()
95
97
  protected autoDirection: "top" | "bottom" = "bottom";
98
+
96
99
  protected lastChecked: HTMLElement;
97
100
  protected defaultText: string;
98
101
  protected defaultChecked: HTMLElement[];
99
102
  private _store: { value: string; text: string; }[] = [];
100
103
 
101
- protected render() {
102
- return html`<div part="root" class="input-field">
103
- ${[
104
+ protected render(): TemplateResult<1> {
105
+ return html`<div
106
+ part="root"
107
+ ${
108
+ attr({
109
+ ...this.observedRecord,
110
+ direction: this.direction || this.autoDirection,
111
+ })
112
+ }
113
+ class="input-field"
114
+ >
115
+ ${[
104
116
  this._renderPrefix(),
105
117
  html`<input
106
- part="input"
107
- dir="${ifDefined(this.dir)}"
108
- id="${this.makeId}"
109
- .value="${this.text}"
110
- type="${this.type}"
111
- placeholder="${this.placeholder || nothing}"
112
- ?autofocus="${this.autofocus}"
113
- autocapitalize="${this.autocapitalize || nothing}"
114
- autocomplete="${this.autocomplete || nothing}"
115
- ?disabled="${this.disabled}"
116
- @focus="${this._handleFocus}"
117
- @input="${this._handleInput}"
118
- >`,
118
+ part="input"
119
+ dir="${this.dir || nothing}"
120
+ id="${this.makeId}"
121
+ .value="${this.text}"
122
+ type="${this.type}"
123
+ placeholder="${this.placeholder || nothing}"
124
+ ?autofocus="${this.autofocus}"
125
+ autocapitalize="${this.autocapitalize || nothing}"
126
+ autocomplete="${this.autocomplete || nothing}"
127
+ ?disabled="${this.disabled}"
128
+ @focus="${this._handleFocus}"
129
+ @input="${this._handleInput}"
130
+ >`,
119
131
  html`<label for="${this.makeId}" part="suffix">
120
- <i part="space"></i><i part="icon">${svgCaretDown()}</i><i part="space"></i>
121
- </label>`,
122
- html`<label for="${this.makeId}" part="content"
123
- style="visibility:${this.visible ? "visible" : "hidden"}"
124
- direction="${this.direction || this.autoDirection}">${htmlSlot()}</label>`,
132
+ <i part="icon">${svgCaretDown()}</i>
133
+ </label>`,
134
+ html`<label for="${this.makeId}" part="content"> ${htmlSlot()} </label>`,
125
135
  ]}
126
136
  </div>`;
127
137
  }
128
138
 
129
- protected _handleFocus() {
139
+ protected _handleFocus(): void {
130
140
  if (!this.direction) {
131
141
  const { top, bottom } = this.getBoundingClientRect();
132
142
  if (window.innerHeight - bottom < this._content.clientHeight && top > this._content.clientHeight) {
@@ -138,7 +148,7 @@ class Select extends Input {
138
148
  this.visible = true;
139
149
  }
140
150
 
141
- protected firstUpdated() {
151
+ protected firstUpdated(): void {
142
152
  this.events.add(this._content, "click", (e: HandlerEvent) => {
143
153
  e.preventDefault();
144
154
  e.stopPropagation();
@@ -164,7 +174,7 @@ class Select extends Input {
164
174
  });
165
175
  }
166
176
 
167
- protected _connectedInit() {
177
+ protected _connectedInit(): void {
168
178
  if (!this.value) {
169
179
  const checked = [...this.querySelectorAll<HTMLElement>("[checked]")];
170
180
  const list = this.multiple
@@ -193,7 +203,7 @@ class Select extends Input {
193
203
  this.defaultChecked.forEach(element => updateChecked(element, 1));
194
204
  }
195
205
 
196
- select(value: string, text?: string) {
206
+ select(value: string, text?: string): 0 | 1 {
197
207
  text ||= value;
198
208
  let operation: 0 | 1 = 0;
199
209
  if (this.multiple) {
@@ -216,12 +226,12 @@ class Select extends Input {
216
226
  operation = 1;
217
227
  }
218
228
  }
219
- this.dispatchEvent(new CustomEvent("change", { detail: this.namevalue() }));
229
+ this.dispatchEvent(new CustomEvent("select", { detail: this.value, composed: true }));
220
230
  this.filter();
221
231
  return operation;
222
232
  }
223
233
 
224
- filter(query?: string) {
234
+ filter(query?: string): void {
225
235
  query = query?.trim();
226
236
  [...this.children].forEach((element: HTMLElement) => {
227
237
  this.filterCallback(
@@ -235,26 +245,27 @@ class Select extends Input {
235
245
  }
236
246
 
237
247
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
238
- filterCallback(element: HTMLElement, match: boolean, query: string) {
248
+ filterCallback(element: HTMLElement, match: boolean, query: string): void {
239
249
  element.style.display = match ? "" : "none";
240
250
  }
241
251
 
242
- protected _handleInput(e: HandlerEvent<HTMLInputElement>) {
252
+ protected _handleInput(e: HandlerEvent<HTMLInputElement>): void {
243
253
  e.stopPropagation();
244
254
  if (this.compositing) {
245
255
  return;
246
256
  }
247
257
  const s = this._input.value;
248
258
  this.filter(this.multiple ? betweenAt(this._input.selectionStart, s, ",") : s);
249
- this.dispatchEvent(new CustomEvent("input", { detail: this.namevalue() }));
259
+ this.dispatchEvent(new CustomEvent("input", { detail: this.value, composed: true, bubbles: true }));
260
+ this.dispatchEvent(new CustomEvent("change", { detail: this.value, composed: true }));
250
261
  }
251
262
 
252
- focus(options?: FocusOptions) {
263
+ focus(options?: FocusOptions): void {
253
264
  this._input.focus(options);
254
265
  this.visible = true;
255
266
  }
256
267
 
257
- blur() {
268
+ blur(): void {
258
269
  this._input.blur();
259
270
  this.visible = false;
260
271
  super.blur();
@@ -266,3 +277,4 @@ class Select extends Input {
266
277
  }
267
278
 
268
279
  export default Select;
280
+ export { Select };
@@ -1,8 +1,6 @@
1
- import { godown } from "@godown/element/decorators/godown.js";
2
- import { styles } from "@godown/element/decorators/styles.js";
3
- import { htmlSlot } from "@godown/element/directives/html-slot.js";
1
+ import { attr, godown, htmlSlot, styles } from "@godown/element";
4
2
  import iconPhoto from "@godown/f7-icon/icons/photo.js";
5
- import { css, html } from "lit";
3
+ import { css, html, type TemplateResult } from "lit";
6
4
  import { property, state } from "lit/decorators.js";
7
5
 
8
6
  import { cssGlobalVars, GlobalStyle, scopePrefix } from "../core/global-style.js";
@@ -36,7 +34,7 @@ const cssScope = scopePrefix(protoName);
36
34
  overflow: hidden;
37
35
  }
38
36
 
39
- [part="root"] {
37
+ [part=root] {
40
38
  height: 100%;
41
39
  min-height: inherit;
42
40
  text-align: center;
@@ -49,7 +47,7 @@ const cssScope = scopePrefix(protoName);
49
47
  margin: calc(var(--size) * 0.05);
50
48
  }
51
49
 
52
- .position {
50
+ [animation=position] {
53
51
  background-image: linear-gradient(
54
52
  var(${cssScope}--deg),
55
53
  var(${cssScope}--from) 36%,
@@ -70,7 +68,7 @@ const cssScope = scopePrefix(protoName);
70
68
  }
71
69
  }
72
70
 
73
- .opacity {
71
+ [animation=opacity] {
74
72
  animation-name: op;
75
73
  animation-direction: alternate;
76
74
  }
@@ -91,26 +89,30 @@ class Skeleton extends GlobalStyle {
91
89
  */
92
90
  @property()
93
91
  type: "text" | "image";
92
+
94
93
  /**
95
94
  * Animation type.
96
95
  * opacity animation only effect on slotted element and image icon.
97
96
  */
98
97
  @property()
99
98
  animation: "position" | "opacity" = "position";
99
+
100
100
  /**
101
101
  * If false, render slot only.
102
102
  */
103
103
  @state()
104
104
  loading = true;
105
105
 
106
- protected render() {
106
+ protected render(): TemplateResult<1> {
107
107
  if (!this.loading) {
108
108
  return htmlSlot();
109
109
  }
110
- return html`<div part="root" class="${this.animation}">
111
- ${this.type === "image" ? iconPhoto() : ""}
112
- ${htmlSlot("loading")}</div>`;
110
+ return html`<div part="root" ${attr(this.observedRecord)}>
111
+ ${this.type === "image" ? iconPhoto() : ""}
112
+ ${htmlSlot("loading")}
113
+ </div>`;
113
114
  }
114
115
  }
115
116
 
116
117
  export default Skeleton;
118
+ export { Skeleton };